Il computer è un dispositivo di elaborazione dati (scomp) e programmabile
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
OR
OR : B2 -> B (⋁)
- Associativa
- Commutativa
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 E’ 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 (Λ)
AND01000101- Associativa ✓
- Commutativa ✓
- 1 el. neutro (Concatenazione)
- 0 el. assorbente
- Distributiva ✓
OR OR: B2 → B (V)
OR01001111- Associativa ✓
- Commutativa ✓ (Disgiunzione)
- 0 el. neutro
- 1 el. assorbente
NOT NOT: B → B (¬)
NOT0110- È 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
Hardware componenti fisiche
- CPU
- Memoria Centrale
- Memorie di Massa
- Dispositivi di I/O
Bus
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)
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