Il computer e l'algebra di Boole
Il computer è un dispositivo di elaborazione dati (scomp) e programmabile.
Algebra di Boole
Algebra di Boole studia le operazioni algebriche sui insiemi {0, 1} * B. Ogni numero o determinato in una scrittura in cifre (Q) di un certo numero binario. Digita perché? Scheda perforata.
| 20 bit | = 1 byte |
| 10 bit | = 1 KB |
| 23 bit | = 1 MB |
| 24 bit | = 1 GB |
| 33 bit | = 1 TB |
| 43 bit | = 1 PB |
AND
AND: B2 -> B (⋀). Associativa. Commutativa. ⊕ el. neutro. 0 el. assorbente. Distributiva.
OR
OR: B2 -> B (⋁). Associativa. Commutativa. 0 el. neutro. 1 el. assorbente. Distributiva.
NOT
NOT: B -> B (¬) è involutiva (NOT(NOT)(x) = x) (negazione).
Leggi di De Morgan: NOT (x AND y) = (NOT x) OR (NOT y). NOT (x OR y) = (NOT x) AND (NOT y).
Teo di Shannon: "Qualsiasi funzione binaria, f : Bn -> B" si può esprimere tramite una composizione finita di AND, OR e NOT.
Il computer è un dispositivo di elaborazione dati
Il computer è un dispositivo di elaborazione dati (codice) e programmabile.
L’algebra di Boole studia le operazioni algebriche sui insieme {0,1} → B. Ogni numero o determinato in via derivativa (o un carattere qualsiasi bit.
N.B. 1° bit = Binary Digit. Perché? Scendi potenza.
| 2° bit | = 1 byte |
| 2° bit | = 1 MB |
| 3° bit | = 1 KB |
| 3° bit | = 1 GB |
| 4° bit | = 1 TB |
| 5° bit | = 1 PB |
AND
AND: B2 → B (Λ).
| AND | 0 | 1 |
| 0 | 0 | 0 |
| 1 | 0 | 1 |
Associativa ✓. Commutativa ✓. 1 el. neutro (Concatenazione). 0 el. assorbente. Distributiva ✓.
OR
OR: B2 → B (V).
| OR | 0 | 1 |
| 0 | 0 | 1 |
| 1 | 1 | 1 |
Associativa ✓. Commutativa ✓ (Disgiunzione). 0 el. neutro. 1 el. assorbente.
NOT
NOT: B → B (¬).
| NOT | 0 | 1 |
| 1 | 0 |
È involutiva (NOT(NOT(x))=x) (Negazione).
Leggi di De Morgan: NOT (x AND y) = (NOT x) OR (NOT y). NOT (x OR y) = (NOT x) AND (NOT y).
Teo di Shannon: "Qualsiasi funzione binaria f: Bn → B" si può esprimere tramite una composizione finita di AND, OR e NOT.
Architettura di Von Neumann
Architettura di Von Neumann.
Hardware componenti fisiche.
- CPU.
- Memoria Centrale.
- Memorie di Massa.
- Dispositivi di I/O.
- Bus.
CPU
1. CPU (Central Processing Unit). Esegue i programmi (tipo di istruzione e operandi).
Unità di controllo: gestisce l'esecuzione delle istruzioni. Identificare tramite un codice numerico che risiede nella RAM. Tramite 3 fasi cicliche.
- Fetch: origina dalla RAM i codici dell'istruzione da eseguire.
- Decode: decodifica il codice facendo operazione.
- Execute: esegue l'operazione.
Unità logico aritmetica: esegue operazioni aritmetiche su numeri reali, su interi, o logiche, su sequenze di bit (ALU).
Registri: piccole memorie usate per contenere i dati trattati in quel momento.
Clock: temporizza le operazioni inviando impulsi regolari con una frequenza che è indice della velocità di computer (oscillatore al quarzo).
L'insieme delle possibili istruzioni è chiamato linguaggio macchina. Ogni CPU ha il suo linguaggio (istruzioni logico-aritmetiche, controllo, dati audio video).
RAM
2. RAM (Random Access Memory). Memorizza dati e programmi in esecuzione.
Memoria temporanea. Volatile.
È divisa in N celle e ognuna contiene M bit. Ogni cella è contrassegnata da un numero intero progressivo (indirizzo).
Le operazioni sono.
- Lettura: dato l'indirizzo di una cella, restituisce una copia del suo contenuto.
- Scrittura: (irreversibile) dato l'indirizzo sostituisce il contenuto con un nuovo numero.
È una memoria veloce (μs), utilizza una tecnologia elettronica ma ha bisogno di un continuo flusso di corrente, perché è volatile. Quindi può essere usata solo come memoria temporanea non a lungo termine. La ROM è un altro tipo.