Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 1
OPERAZIONI BINARIE Vedremo l addizione e la sottrazione (riflettete sul fatto che tutte le operazioni di base si riconducono alla somma algebrica) Basta ricordare che: 0 + 0 = 0 con riporto 0 0 + 1 = 1 con riporto 0 1 + 0 = 1 con riporto 0 1 + 1 = 0 con riporto 1 Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 2
LA SOMMA Secondo le regole di riporto Es. 00010101 + verifica: 00001101 = 00010101 = 21 ---------------- 00001101 = 13 00100010 00100010 = 34 0 + 0 = 0 con riporto 0 0 + 1 = 1 con riporto 0 1 + 0 = 1 con riporto 0 1 + 1 = 0 con riporto 1 infatti 21 + 13 = 34 Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 3
LA SOTTRAZIONE Secondo le regole di fianco Es. 00010101 - verifica: 00001101 = 00010101 = 21 ---------------- 00001101 = 13 00001000 00001000 = 8 0-0 = 0 0-1 = 1 con prestito 1-0 = 1 1-1 = 0 infatti 21-13 = 8 Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 4
MOLTIPLICAZIONE E DIVISIONE Valgono le regole seguenti MOLTIPLICAZIONE: 0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1 DIVISIONE: segue le stesse regole della divisione decimale Es. 1100 10 10 110 =10 10 == 0 Provate da soli ad eseguire: 000101000 * 00000010 000101000 / 00000010 e verificate il risultato, convertendo in sistema binario Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 5
RAPPRESENTAZIONE DEI TESTI Si utilizzano 52 lettere alfabetiche (maiuscole e minuscole) 10 cifre (0..9) Segni di interpunzione (,.;:!? ^\ / ) Operatori matematici + - + [ -+ / > < ecc Caratteri tipici (à è ì ò ù Altri simboli @ # $ % & In totale sono circa 220 caratteri. Abbiamo visto che per i numeri si utilizzano 8 bit. Lo stesso vale per gli altri simboli. Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 6
I SIMBOLI ALFABETICI Sono anch essi codificati da un codice binario (8 bit) Vi sono codifiche standard. Le più famose: ASCII (American Standard Code for Information Interchange) 8 bit per carattere. Codifica 256 caratteri ANSI (American National Standard Institute) UNICODE 16 bit per ogni carattere, rappresenta ASCII e caratteri di qualsiasi lingua (può rappresentare 34168 caratteri) Altre codifiche proprietarie: MSWindows 16 bit per carattere (simile a unicode) Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 7
TAVOLA ASCII Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 8
ESEMPIO DI CODIFICA ASCII 01110000 01101111 01101100 Dividendo la stringa in gruppi di byte si risale alla parola (con riferimento alla tavola): 01110000 01101111 01101100 P O I Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 9
ALGEBRA DI BOOLE Abbiamo detto che un elaboratore opera confronti semplici. Introduciamo l algebra booleana. Si deve a Boole (matematico inglese, XIX sec.) Si basa su 2 stati: ON acceso OFF spento Le variabili booleane possono assumere solo 2 valori: 0 e 1 Con le variabili booleane si costruiscono funzioni booleane che possono assumere solo 2 stati: TRUE e FALSE Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 10
TABELLE DI VERITA E OPERATORI Gli operatori logici che esprimono le relazioni tra le variabili sono: NOT, AND, OR, XOR Esistono poi NAND e NOR (operatori universali) che permettono di esprimere qualsiasi altra delle precedenti espressioni, utilizzando un solo tipo di operatori Ogni funzione booleana ha una sua tabella della verità Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 11
Tabelle di verità: NOT Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 12
Tabelle di verità: AND Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 13
Tabelle di verità: OR Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 14
Tabelle di verità: XOR Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 15
Tabelle di verità: NAND Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 16
Tabelle di verità: NOR Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 17
Algebra booleana ed elaboratore Abbiamo detto che l elaboratore rappresenta l informazione in modo digitale (intervalli finiti) e che traduce molte informazioni in binario (informazioni analogiche, numeri, lettere, comandi ) Inoltre svolge operazioni utilizzando l aritmetica binaria L elaboratore ragiona mediante confronti semplici, poiché quel che comprende con facilità è la differenza tra 0 e 1 (vero-falso, passa corrente non passa corrente nei circuiti) Dunque i confronti vengono effettuati grazie all algebra booleana Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 18
Archittettura di un elaboratore Il modello di Von Neumann - 1 1946 John Von Neumann Modello teorico ancora valido e molto utilizzato (eccezione macchine ad elaborazione parallela) Schematizza in modo omogeneo situazioni diverse Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 19
Il modello di Von Neumann - 2 Concettualmente si identificano i componenti: Memoria (per procedura, dati iniziali, risultati intermedi e finali) Funzione aritmetica (operazioni, non solo aritmetiche, sui dati) Ingresso/Uscita (dispositivi per ricevere/inviare dati) Controllo (per eseguire passi procedure coordinando flusso dati tra i preceenti componenti) È la filosofia alla base dei calcolatori digitali Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 20
Il modello di Von Neumann - 3 Si suole schematizzare così l architettura di Von Neumann: Quattro blocchi comunicanti tra loro mediante il bus Bus: canale di scambio informazioni (e segnali di controllo) CPU Memoria principale Memoria secondaria Dispositivi INPUT OUTPUT BUS Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 21
Il modello di Von Neumann - 4 Corrispondentemente ai concetti visti, si ha: CPU (Central Processing Unit) Memorie Dispositivi I/O Bus: nel modello di Von Neumann è costituito da 3 bus distinti: Bus dei dati: i dati viaggiano da e verso la CPU Bus degli indirizzi: dati solo da CPU Bus dei segnali di controllo: dati solo da CPU Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 22
Il bus Scambio informazioni Fisicamente: conduttori elettrici (linee) Tre gruppi: Linee dati Linee indirizzi (identificano unità da usare durante trasferimento) Linee di controllo (segnali temporizzazione, read/write, tipo dati) Si possono avere conflitti Dispositivi attivi: master (padroni) Dispositivi passivi: slave (schiavi) Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 23
ESERCITAZIONE Creazione di un VideoGiornale del CdS leggibile su cellulare o su WEB TV redatto da voi Chi voglia far parte del Comitato di Redazione metta una o accanto al suo nome sul foglio presenze Parlatene con la Dott.sa Folgieri Mercoledì prossimo Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore 24