Architettura. Indice:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architettura. Indice:"

Transcript

1

2 Architettura Indice: Architettura 1 Architettura degli elaboratori (3 / 10 / 2006)...4 Livelli di astrazione...4 Architettura di Von Neumann...4 La CPU...5 La memoria...5 Rappresentare gli interi...6 Rappresentazione numeri in virgola mobile...9 Circuiti logici...10 Circuito per la somma di 2 numeri...13 Circuiti sequenziali...14 Il 3-state...15 Ritornando ai registri...15 Architettura MIPS e Assembler...17 La memoria Assembler parte Ciclo fondamentale...21 Struttura dei registri del MIPS Esempio completo di una istruzione di somma...22 Assembler parte Flusso di istruzioni...23 Pseudoistruzioni...27 Convenzioni di uso della memoria...28 Implementazione hardware delle istruzioni macchina...29 Unità Operativa (DataPath) multiciclo...33 Simulatore SPIM per architettura MIPS Unità di controllo: macchina a stati finiti...38 Supporto alle eccezioni / interruzioni...42 Le periferiche e gli interrupt...44 Il gestore delle eccezioni...48 DMA (Direct Memory Access)...51 Modularizzazione del software...53 Esercitazioni...56 Architettura 2 Reti (8 / 1 / 2007)...60 Introduzione (8 / 1 / 2007)...60 Accesso alla rete...60 Dentro la rete...60 Circuit Switching...61 Packet Switching (9 / 1 / 2007)...61 Reti datagram e a circuito virtuale...62 Ritardi e sorgenti di ritardo...62 I Livelli...63 Esercitazione del 10 / 1 /

3 Quaderno virtuale di teoria Strato di applicazione (15 / 1 / 2006)...67 Protocollo http (15 / 1 / 2006)...68 Protocollo ftp (16 / 1 / 2006)...71 Posta elettronica (16 / 1 / 2006)...72 DNS (domain name system) (16 / 1 / 2006)...74 Web cache 2 (22 / 1 / 2007)...75 P2P (22 / 1 / 2007)...75 emule (22 / 1 / 2007)...76 Strato di trasporto (22 / 1 / 2007)...77 Principi di trasporto affidabile (22 / 1 / 2007)...78 Esercitazione del 24 / 1 / Principi di trasporto affidabile 2 (29 / 1 / 2007)...88 TCP (Generalità)(29 / 1 / 2007)...90 Esercitazione del 31 / 1 / Strato di rete (19 / 2 / 2007) Router (19 / 2 / 2007) Protocollo IP (20 / 2 / 2007) IPv6 (20 / 2 / 2007) Algoritmi di routing (26 27 / 2 / 2007) Strato di link e strato fisico (27 / 2 / / 3 / 2007) Multimedialità in rete (12 13 / 3 / 2006) Esercitazioni del 28 / 2 / / 3 / / 3 / Appendici collegate: Appendice 1 Datapath ultima modifica: 16/11/2006 (Contiene 0 errore/i) Appendice 2 FSM Diagram ultima modifica: 27/11/2006 (Contiene 1 errore/i) Appendice 3 Gestione delle eccezioni ultima modifica: 29/11/2006 (Contiene 0 errore/i) Appendice 4 P2P (peer to peer) ultima modifica: 23/01/2007 (Contiene 0 errore/i) Dati riguardanti il quaderno virtuale: Ultima sezione aggiunta: Esercitazioni varie in data 16 / 3 / 2007 Errori: Nessun errore rilevato 3

4 Architettura Architettura 1 Architettura degli elaboratori (3 / 10 / 2006) Livelli di astrazione Fisica dello stato solido (spiega il funzionamento dei semiconduttori) Elettronica digitale (permette di eseguire operazioni logiche) 0 0 (AND) 1 Architettura hardware (Alu, registri, ) (si tiene conto anche della fisica che si utilizza [i ritardi di propagazione del segnale,..] Esempio: se ho 1000 file l hardware necessario per eseguire l Or di questi fili sarà differente rispetto a quello per eseguire l Or di due fili Instruction Set Architecture (ISA [noi considereremo il MIPS]) (Quella usata normalmente oggi è l Intel Alchitecture a 32 bit) Programmazione Assembler utilizza il set di istruzioni predefinito del circuito Normalmente il programmi vengono scritti in codice ad alto livello (Java, C++, ), il che presuppone che la macchina sia in grado di eseguire questo codice; in realtà non esiste una macchina che può fare le operazioni scritte in codice ad alto livello in modo nativo. Per far si che un pc esegua le istruzioni che noi abbiamo programmato occorre un compilatore che trasformi il linguaggio ad alto livello in un linguaggio a basso livello (linguaggio macchina).c.exe Compilatore Tramite diversi compilatori lo stesso codice può essere adattato per ISA differenti Intel Architecture a 32 bit (Intel e AMD).C MIPS PowerPC Architettura di Von Neumann Un calcolatore è costituito da tre blocchi fondamentali: CPU MEMORIA Dispositivi I/O BUS Il Bus è un insieme di fili che trasporta le 4

5 Quaderno virtuale di teoria informazioni tra i vari blocchi Questa struttura è detta: Architettura di Von Neumann. Ho una memoria sola dove memorizzo sia dati che istruzioni quindi sarà il Sistema Operativo a dire cosa posso o non posso fare con i dati o con le istruzioni e come le devo elaborare. La CPU Registri: locazioni di memoria con un numero predefinito di bit rispetto all architettura Unità di controllo: prende una istruzione, capisce cosa c è dentro e dice alla ALU cosa fare (ha bisogno di 2 registri speciali) Instruction Register ALU, unità aritmetico logica. Si disegna così perché ci sono 2 operandi e un risultato Program Counter: memorizza l indirizzo di memoria dell istruzione da controllare e passa alla successiva quando quella precedente è stata eseguita Questa è una visione semplificata di un calcolatore moderno (può avere più ALU, ha unità specifiche per numeri non interi, può eseguire più istruzioni contemporaneamente) La memoria È un insieme di parole indicizzate di dove risiedono i dati CPU Una parte della memoria viene usata per ricopiare alcune informazioni che più probabilmente la CPU controlla e richiede. Questa parte di memoria si chiama CACHE. 5

6 Architettura I componenti della CPU (registri, ) sono visibili in programmazione Assembler, mentre la Cache non lo è. Alcuni programmi disabilitano la Cache perché se no il loro funzionamento sarebbe rallentato Il BUS si divide in: Address Bus, Data Bus e Control Bus. 6 Rappresentare gli interi Facciamo finta di avere 3 bit. Rappresentazione degli interi senza segno: Rappresentazione con modulo e segno Per convenzione i valori con segno positivo hanno bit più significativo 0 mentre quelli negativi hanno bit più significativo La rappresentazione in modulo e segno dei problemi: Ha due serie di bit per indicare lo zero (±0) Logica complicata per vedere se un numero è maggiore di un altro Alcune operazioni matematiche non riescono Esempio: 1 2 = Ottengo come risultato 3. Cosa che non è possibile Allora venne inventata la notazione in Complemento a 2: un numero a positivo si rappresenta come a, mentre il negativo a = 2 n a

7 Quaderno virtuale di teoria Ho un unica rappresentazione per lo zero I moduli mi dicono qual è il valore più grande tra i numeri dello stesso segno La somma funziona = = 3 Quindi la somma funziona a b = a +(-b) altro non è che la somma di a e del complemento a 2 di b. Quanti numeri diversi posso rappresentare con n bit: 2 (n 1) 1 (posso rappresentare +3 e non +4) Mentre il numero più negativo è dato da: 2 (n 1) = 4 Se faccio = Ottengo un OVERFLOW perché il 5 non lo posso rappresentare La macchina non sa se il risultato è giusto ma deve essere in grado di segnalare l errore. A b a+b Risultato + + Se > 2 (n 1) 1 Ottengo un risultato con 1 nel bit significativo, quindi il risultato avrà segno negativo Se > 2 (n 1) + Ottengo un risultato con 0 nel bit più significativo, quindi il risultato avrà segno positivo + / / Non può esserci condizione di Overflow Condizioni di Overflow: I due operandi hanno lo stesso segno; il risultato ha segno opposto Il Carry In (riporto sul) bit di segno è diverso dal carry out In uscita dal calcolo ho un carry out che vale 1 Il carry in (dell ultimo calcolo) è uguale al carry out (1 = 1) quindi non ho situazione di overflow. Carry In (1) Arrivo qui è ho un riporto (che sarebbe il carry out del calcolo precedente). Esempio: 1+1+1=1 riporto 1 (questo è il carry out, che sarà il carry in del calcolo successivo) 7

8 Architettura In uscita dal calcolo ho un carry out che vale 1 Carry In (0) Il carry out è diverso dal carry in (1 0) quindi mi trovo in una situazione di overflow. Come faccio a rappresentare il complemento a 2 del numero a = 2 n a Prendo un numero, partendo dal bit meno significativo; fino a che ci sono zeri li lascio, quando incontro il primo 1 lo lascio e dal successivo bit faccio il complemento, cioè se c è 0 scriverò 1 e viceversa Sul -4 non può funzionare perché il +4 non è nel range di valori rappresentabili Come metodo va bene per gli esseri umani ma non per i calcolatori. Un numero in complemento a 2 si può anche calcolare come: a = a +1 Dove a significa che cambio tutti i bit di a e poi aggiungo 1 a a = Questo metodo è più veloce per il calcolatore. Per quanto riguarda la sottrazione posso utilizzare il seguente metodo: a b = a + ( b)= a + b +1 Ci sono anche altre notazioni, tra cui la notazione polarizzata Nell esempio la polarizzazione o excess è 3 (perché inizio con -3) 8

9 Quaderno virtuale di teoria L ordinamento dei numeri è naturale e sono facilitato nella confronti. Definisco io l inizio della notazione Serve nella notazione in virgola mobile Rappresentazione numeri in virgola mobile L obiettivo della rappresentazione in virgola mobile (Floating Point) è quello di approssimare la rappresentazione dei numeri reali. I pc utilizzano la notazione scientifica: 1, , Le cifre significative si chiamano Mantissa. Rappresentazione di riferimento per i numeri reali: ± 1,xxxxxx 2 yyyyyy segno mantissa esponente Nella prima posizione della mantissa ho inserito 1 (questo 1 ci sarà sempre e sarà il sistema a ricordarsi di inserirlo) per far si che ho più bit significativi dopo la virgola; la maggior precisione è data dall esponente. Devo tener presente che ho un numero di bit limitati. N di bit S EXP MANTISSA Segno: rappresentato rappresentata in notazione senza segno 0 (+) in notazione 1 ( ) polarizzata Esempio 1: Dato 0,625 trasformarlo in binario (mettiamo che l esponente abbia notazione con polarizzazione 3) 0, ,25 2 (nel calcolo successivo non tengo conto dell 1 prima della virgola) 0,50 2 1,0 Il numero in binario è dato dalle cifre prima della virgola Quindi 0,625 in binario è 0,101 (posso rappresentare solo numeri che siano somme di potenze di 2) Rappresento nella notazione standard: 0,101 normalizzato è 1, S EXP MANTISSA Esempio 2: Dato 0,15 trasformarlo in binario 0,15 2 0,30 2 0,60 2 1,2 2 (considero 0,2) 0,4 2 0,8 2 9

10 Architettura 1,6 2 1,2 Il numero è periodico in base 2 Il codice binario è: 0, che normalizzato è: 1, (La parte periodica sarà quella scritta come mantissa) S EXP MANTISSA L esponente è 000 perché la notazione ha polarizzazione 3. C è comunque approssimazione perché in realtà la rappresentazione corrisponde a: 0, Anche nel Floating Point esiste l overflow Ci sono anche delle rappresentazioni standard: la IEEE754 A singola precisione (32 bit) N di bit S EXP MANTISSA L esponente ha polarizzazione 127 Doppia precisione (64 bit) N di bit S EXP MANTISSA L esponente ha polarizzazione 1023 Le unità logiche del pc non sanno cosa ci sia scritto nei registri, cioè se sono parole o numeri Oltre ai numeri dobbiamo anche rappresentare i caratteri e per questo si usa la codifica ASCII (a 8 bit). La tabella ascii ha i caratteri in ordine crescente; il numero che rappresenta la A è più piccolo di quello della B A < B < C < D Circuiti logici Portano dei segnali a 2 stati (0 e 1) Ingressi (I) I 0 U 0 I n-1 U m-1 Uscite (U) Il circuito può avere 2 n combinazioni di ingressi. Si distinguono in 2 categorie: Combinatori a un certo istante le uscite dipendono esclusivamente dagli ingressi; U = f (I) Sequenziali hanno una memoria riguardo allo stato (S) precedente; U = f (I, S) I n S 0 S k-1 S m U 10 Si dice che ha k bit di memoria CIRCUITI COMBINATORI La tabella di verità di un circuito ci da tutti i valori di uscita per ogni possibile ingresso. Esempio: Abbiamo 3 bit, quindi abbiamo 2 n righe per le possibili combinazioni di ingressi (2 3 = 8).

11 Quaderno virtuale di teoria U 1 vale 0 se c è almeno uno zero fra gli ingressi e vale 1 se tutti e tre gli ingressi sono a 1. U 0 vale 0 se tutti gli ingressi sono a zero, mentre vale 1 per tutti gli altri casi. I 2 I 1 I 0 U 1 U Nei circuiti combinatori ci sono combinazioni di funzioni logiche elementari che vengono realizzate da porte logiche; le porte logiche sono circuiti che eseguono funzioni logiche elementari AND logico Viene indicato con: F = A B A A B F F B vale zero se c è almeno uno zero OR logico Si indica con: F = A + B A B F A B F vale 1 se c è almeno un 1 NOT Si indica con: F = A (cioè negazione di A) A F Combinando opportunamente queste tre funzioni logiche posso realizzare qualsiasi espressione logica. Esistono anche altre porte particolari: NAND (nega un AND logico), viene indicato con: F = Il pallino dopo la porta And ha funzione di negazione A B A F F A B F A B 11

12 Architettura Da sola, la porta NAND, costituisce un insieme completo perché posso realizzare qualsiasi funzione in logica booleana utilizzando una serie di NAND. Esempio: Per simulare un AND metto in sequenza due porte NAND Per simulare un OR nego gli ingressi della porta NAND Per simulare il NOT è sufficiente sdoppiare il segnale in arrivo in modo che entri nei due ingressi della porta NAND. Costruttivamente una porta NAND è una porta AND tolto un transistor. I circuiti integrati utilizzano un insieme di porte NAND EXOR (OR esclusivo), si indica con: F = A B A A B F F B L EXOR 1. serve per un test di uguaglianza (se gli ingressi sono uguali l EXOR vale 0) 2. A meno del riporto l EXOR è la somma di 2 bit (quindi è un componente del circuito della somma) 3. Fa il complemento comandato Il complementatore comandato è un circuito che dato un ingresso, un uscita e un segnale di controllo esegue: se C (segnale di controllo) = 1 allora l uscita è la negazione dell ingresso, mentre se C = 0 l uscita è uguale all ingresso MULTIPLEXER Seleziona e mette nell uscita il valore dell ingresso indicato dal segnale di controllo. Se il numero di segnali di controllo è n, il numero massimo di ingressi sarà 2 n. Se ho 2 ingressi ho bisogno di 1 segnale di controllo Se ho 4 ingressi ho bisogno di 2 segnali di controllo Se ho 8 ingressi ho bisogno di 3 segnali di controllo Se ho 9 ingressi ho bisogno di 4 segnali di controllo (perché con 4 segnali di controllo posso rappresentare 2 4 = 16 combinazioni possibili) I 0 I! I 2 I 3 F F = I C1 C0 Se C 1 C 0 = 00 F = I 0 Se C 1 C 0 = 01 F = I 1 Se C 1 C 0 = 10 F = I 2 Se C 1 C 0 = 11 F = I 3 C 0 C 1 DECODER Prende un numero binario in ingresso e attiva la linea di uscita corrispondente (al numero binario in ingresso) 12

13 Quaderno virtuale di teoria I 0 I 1 F 0 F 1 F 2 F 3 Se I 1 I 0 = 00 F 0 = 1, F 1,2,3 = 0 Se C 1 C 0 = 01 F 0 = 0, F 1 = 0, F 2,3 = 0 Circuito per la somma di 2 numeri Il circuito necessario per eseguire la somma a 1 bit si chiama Full Adder. Se devo sommare 2 numeri a 4 bit avrò bisogno di 4 Full Adder (1 per ogni bit) riporti (0) (1) (1) A = (3) B = (3) S = (6) A B C IN (Carry In) Full Adder C OUT (Carry Out) S Esempio: somma a 4 bit (nella tabella indico la posizione dei vari bit) A = a 3 a 2 a 1 a 0 B = b 3 b 2 b 1 b 0 S = s 3 s 2 s 1 s 0 a 3 b 3 a 2 b 2 a 1 b 1 a 0 b 0 (non ho carry in iniziale) 0 Carry out s 3 s 2 s 1 s 0 Lo schema usato ha un difetto di prestazioni, è un metodo lento e il carry deve avere un segnale stabile. Ci sono dei circuiti, i Carry Look Ahead, che sono pensati per velocizzare la somma Il sommatore è costituito da due funzioni: ( A B) CIN = A B CIN S = COUT = A B + A CIN + B CIN Il C out viene fuori quando almeno 2 bit sono a 1 13

14 Architettura Tavola di verità di C OUT A B C IN C OUT qui si verificano tutte e 3 le condizioni SOMMA E SOTTRAZIONE (in un unico circuito) a 3 b 3 a 2 b 2 a 1 b 1 a 0 b 0 C in C out s 3 s 2 È un complementatore comandato cioè una porta EXOR. In uscita ottengo l ingresso negato a seconda del segnale sottrai Si ricorda che la sottrazione a b = a + ( b)= a + b +1 s 1 s 0 Il C in assume il valore 1 se il segnale sottrai è a 1, ciò vuol dire che devo eseguire la sottrazione Sottrai (segnale che indica se devo are la somma o la sottrazione) Circuiti sequenziali Hanno una memoria. Hanno un segnale di temporizzazione per la logica sequenziale. Il segnale di temporizzazione è dato dal clock. T 1 frequenza T = Se la frequenza è 1 GHz, il periodo è di 1 ns (nano secondo) In alcuni casi può essere necessario filtrare il segnale di clock in maniera che si fermi. Il FLIP FLOP D (la D sta per ritardo) contiene 1 bit di memoria D Q segnale di clock 14

15 Quaderno virtuale di teoria Il Flip Flop campiona il segnale di indresso D a instanti predefiniti, che sono dati dal segnale di clock, e ne memorizza lo stato fornendo, anche, un uscita Q. Il Flip Flop che stiamo studiando, in particolare, è il Flip Flop D Negative Edge Triggered. Clock D Q Circuiti sequenziali importanti: Registro (a n bit) elemento di memoria base Macchina a stati finiti Il 3-state Il 3-State non è una funzione logica in senso proprio. A F C A C F qualunque 1 A sia A 0 - Dove il trattino indica uno stato di alta impedenza che non fa passare il segnale elettrico Il 3-state varia stato a seconda del segnale di controllo C e non dipende dall ingresso A. Serve per il Bus. Il Bus non può ricevere più stati di segnale contemporaneamente altrimenti il circuito si brucerebbe. Il 3-state si trova tra la periferica (memoria, cpu, ) e il bus in modo da far passare un solo segnale elettrico alla volta. Ritornando ai registri La realizzazione di un registro (unità di memoria) a 4 bit utilizza 4 flip-flop. A ogni colpo di clock (CK) il flip-flop memorizza un nuovo valore ma dimentica il valore precedente. Write (WR) è un segnale che dice quando scrivere, però ho anche bisogno di un segnale di abilitazione (enable EN) perché non tutti i registri devono memorizzare quel determinato valore nello stesso tempo. Avrò anche un segnale di read (RD lettura) che mi dice quale registro è attivo per la lettura. Il disegno sulla pagina successiva rappresenta in modo completo quello che ho appena detto. 15

16 Architettura D 3 d 2 d 1 d 0 CK WR EN q 3 q 2 q 1 q 0 RD MACCHINE A STATI FINITI (FSM) È un circuito che serve per realizzare la logica di controllo. Lo schema qui sotto rappresenta la Macchina di Moore. I n Funzione di stato k Bit di stato k Funzione di futuro (insieme di uscite m flip-flop) k U k Dipende anche dallo stato presente che arriva dai bit di stato Non è l unico modello di macchina a stati finiti; c è anche la Macchina di Mealy che ha un collegamento in più che dagli ingressi I va direttamente alla funzione di uscita e di conseguenza l uscita dipende anche dall ingresso corrente e non solo dai bit di stato. Una macchina a stati finiti può essere anche costituita solamente da un flip-flop e come logica di stato futuro avere una porta NAND; questa macchina a stati finiti ha 1 bit di stato. In questo caso se l ingresso I vale 0 ha un uscita bloccata a 1, mentre se I vale 1 mi genera un segnale periodico che vale la metà rispetto a al clock, se il clock è di 1 GHz il segnale in uscita sarà di 500 MHz, quindi dimezza la velocità del clock. I PALLOGRAMMI mi aiutano a descrivere una macchina a stati finiti a seconda dello stato che assume. Se ho n bit ho 2 n stati possibili. 0 I = 1 I = 0 1 I = 1 0 I =

17 Quaderno virtuale di teoria Se sono nello stato 0 e I vale 1 al colpo di clock si dovrà passare allo stato 1 e lo stesso vale se sono nello stato 0 e I = 1. Mentre se sono nello stato 1 torno allo stato 0 solo se al colpo di clock I = 1. La macchina di Moore, ad esempio, ha 4 stati. Architettura MIPS e Assembler CPU Memoria Periferiche BUS k i fili Registro istruzione (non è possibile accedervi in fase di programmazione) Register file N di registri 0 Bit dentro al registro La MIPS progetta la CPU e vende la licenza di costruzione. La CPU MIPS di riferimento del corso è la R2000/3000 a 32 bit che è di tipo RISC cioè con un set di istruzioni ridotte. I 32 bit della CPU indicano la parola del calcolatore Istruzione ADD L istruzione ADD esegue la somma del contenuto di due registri e ne memorizza il risultato in un 3 registro Per convenzione i registri si indicano con $ seguito dal numero del registro tenendo presente che si inizia a contare da 0. Sintassi dell istruzione: add $13, $14, $15 1 operando Registro dove viene memorizzato il risultato 2 operando Formato dell istruzione in linguaggio macchina 17

18 Architettura L istruzione, in linguaggio macchina, viene rappresentata su 32 bit. I 6 bit più significativi (da 26 a 31) rappresentano il codice operativo (operative code) dell istruzione da eseguire (nel nostro caso sono ) Per specificare gli operandi servono 5 bit perché 2 5 =32. Il formato dell istruzione è di tipo R 15 bit operando 1 operando risultato SHAMT FUNCT In realtà il codice operativo della add è uguale anche a quello di altre operazioni 3 gruppi di bit per indicare gli operandi e dove salvare il risultato Shift Amount 5 bit Function Sono i 6 bit meno significativi Quando l operative code ha 6 zeri entrano in gioco i 6 bit meno significativi, cioè la function, che è l estensione del codice operativo. Per l add, la function è 0x20 (in esadecimale), in binario è: ; sono 8 bit ma ne abbiamo solo 6 a disposizione quindi eliminiamo i primi 2, quindi ottengo: L istruzione sub (sottrazione) ha codice operativo 0x22 cioè in binario. La memoria bit riga = parola di memoria, cella, locazione di memoria. Ci sono 2 32 locazioni di memoria possibili, il che vorrebbe dire che noi teoricamente possiamo avere 4GB di memoria RAM disponibile. Noi pensiamo che la nostra macchina virtuale abbia sempre 4GB di memoria Dentro al circuito di memoria c è un decodificatore che riceve 32 bit che specificano una delle 2 32 possibili locazioni di memoria ed ha anche 32 bit di uscita. Le informazioni arrivano dal BUS. Ricordo che il bus è diviso in 3 sezioni: il Bus dati, il Bus indirizzi (per il MIPS ha 32 bit) e il bus di controllo. Si utilizzano più parole di memoria per un dato che occupa più di 8 bit; posso spostare 4 parole di memoria in contemporanea purché siano adiacenti fra loro cioè con indirizzi vicini. Dalla CPU escono i 32 bit del bus indirizzi e arrivano al decodificatore. Dal decodificatore si attiva un solo filo riferito a una sola parola di memoria. Il contenuto di 8 bit della parola di memoria viene trasferito sul bus dati che li porta alla CPU. Questa è una lettura in memoria. 18

19 Quaderno virtuale di teoria Memoria Bus indirizzi Bus dati Bus controllo Il tratto rosso indica che la CPU fornisce un indirizzo di memoria, mentre il tratto blu indica che dalla memoria arrivano alla CPU i dati. Ogni trasferimento parte con un dato che è l indirizzo della memoria che proviene dalla CPU. Attraverso il bus indirizzi arriva al decodificatore, presente nella memoria, che riconosce l informazione e attiva un solo filo di uscita che va nella memoria vera e propria. Bistabile circuito con 2 stati stabili, sono sempre gli stessi (flip-flop). La memoria non è fatta con bistabili perché costerebbe troppo. Interruttore comandato Dal decoder C D Q Interruttore comandato D Q Read / write Nella scrittura in memoria solo una cella di memoria è coinvolta e devo fare in modo che i dati sul bus interno alla memoria arrivino all ingresso del flip-flop per scrivere i dati. Non posso chiudere contemporaneamente tutti gli interruttori; ci vuole un controllo C che tramite un segnale logico dice che sono in lettura o in scrittura per far si che venga aperto/chiuso l interruttore corretto. Questo segnale parte dalla CPU e arriva alla memoria tramite il bus di controllo. Ritornando al discorso della possibilità di spostare 4 parole di memoria in contemporanea. È possibile eseguire questa operazione solo quando è verificata una determinata condizione: I 2 bit meno significativi dell indirizzo devono essere 0. Quando questa condizione si verifica posso spostare le 4 parole di memoria successive a questo indirizzo. Questo gruppetto si dice che è allineato alla parola del calcolatore (o allineato a 4 byte). 19

20 Architettura Posso suddividere tutta la memoria in vari gruppetti purché la parola di memoria iniziale del gruppetto abbia l indirizzo che termina con due 0. Lo schema sottostante mostra come devono essere allineate le parole di memoria per poterle spostare tutte e 4 in contemporanea Assembler parte 2 Istruzione LW (load word) carica un valore dalla memoria con indirizzo specifico e lo scrive in un registro del register file. Con questa istruzione movimento 32 bit dalla memoria cioè 4 parole di memoria Sintassi dell istruzione lw $19, indirizzo Registro del register file Indirizzo della posizione di memoria L istruzione sw (store word) permette di memorizzare in memoria il contenuto di un registro del register file ed ha sintassi: sw $19, indirizzo Registro del register file Indirizzo della posizione di memoria Entrambi le istruzioni lw e sw hanno formato I cioè Immediate e l indirizzo è la somma di due entità: numero + contenuto registro La sintassi corretta e il formato sono: lw $19, numero($15) Registro base Registro di destinazione (nel register file) Spiazzamento, immediato o offset 20

21 Quaderno virtuale di teoria 10 bit Registro base Destinazione Immediato (ho 16 bit per memorizzarlo) Codice operativo della load word (in esadecimale è 0x23) 1 gruppi da 5 bit per indicare i registri Lo piazzamento mi fornisce una finestra di accesso a una serie di spazi di memoria quindi mi devo solo ricordare del registro base. Esempio: lw $19, 1024($15) $ Lo spiazzamento viene convertito in un numero binario in complemento a 2 su 16 bit quindi io ho un range di valori che è pari alla metà dello spiazzamento in su rispetto al registro base e in giù rispetto al registro base. Se ho offset 0 recupero il contenuto del registro base. L offset per gli spostamenti va incrementato ogni volta di 4 per andare alla parola di memoria successiva, ad esempio se ho offset 8 rispetto al registro base che ho indicato vuol dire che io recupero il contenuto che sta 2 registri sopra al registro base che ho indicato. Ricordo che l offset può essere negativo perché nella conversione in binario si utilizza la notazione in complemento a 2; con offset negativo recupero il contenuto di un registro sotto al registro base (devo comunque ricordare che ho una finestra di accesso che è 2 16 possibili combinazioni) Istruzioni lb e sb (load byte e store byte) Movimento dalla (o nella) memoria 1 byte cioè una sola parola di memoria. Le istruzioni load byte e store byte hanno un formato I come la load word e la store word lb $19, indirizzo sb $19, indirizzo Ciclo fondamentale Ma come fa il registro istruzioni a prendere il valore dell istruzione e non uno a caso? Esiste un registro che contiene l indirizzo dell istruzione o puntatore all istruzione (Instruction Pointer). L Instruction pointer nella realtà viene chiamato Program Counter. Quando ho un dato che funge da indirizzo si chiama puntatore Il pc è in grado di eseguire solamente il ciclo fondamentale che è composto da 4 passaggi: 21

22 Architettura 1. REPERIMENTO DELL ISTRUZIONE (fetch) Tramite il bus indirizzi viene comunicato alla memoria in quale registro leggere e tramite il bus dati arriva l istruzione. Questa operazione è fatta dall hardware 2. DECODIFICA (dell istruzione) Guardo il codice operativo e vedo cosa devo fare 3. ESECUZIONE (specifica di ciascuna istruzione) (4.) INCREMENTO DEL PROGRAM COUNTER (PC = PC + 4 tipico del MIPS perché passo alla parola di memoria successiva) Questo incremento può essere fatto dove si vuole purché sia prima del reperimento di una nuova istruzione. Normalmente questo incremento viene effettuato tra la fase 1 e la fase 2. Si chiama Ciclo Fondamentale perché il pc fa sempre queste cose da quando lo si accende. La macchina, in automatico, è in grado di eseguire una serie di istruzioni che partono da un punto preciso della memoria e continuano in sequenza. Struttura dei registri del MIPS 32 Il MIPS ha 32 registri suddivisi in maniera specifica. Al momento ci occupiamo dei registri da 8 a 15 e dei registri da 16 a 23 I registri da 8 a 15 sono registri temporanei e vengono indicati con la sigla $t seguita da un numero progressivo che va da 0 a 7 Numero registro Nome registro $t0 $t1 $t2 $t3 $t4 $t5 $t6 $t7 I registri da 16 a 23 vengono denominati saved temporary e si indicano con $s seguito da un numero progressivo da 0 a 7 Numero registro Nome registro $s0 $s1 $s2 $s3 $s4 $s5 $s6 $s7 Gli altri registri disponibili vengono utilizzati in fase di scrittura del codice assembly per permettere delle azioni da parte dell utente come ad esempio l input e l output di dati. Esempio completo di una istruzione di somma (sintassi, formato e conversione in hex) Scrivere l istruzione che fa la somma di 3 e 2. $t0 := 3 $t1 := 2 $t2 := risultato 22

23 Quaderno virtuale di teoria La sintassi dell istruzione è: add $t2, $t0, $t1 Il formato dell istruzione è: (si ricorda che la add ha formato R) Operative code $t0 (registro 8) $t1 (registro 9) $t2 (registro 10) Shift Amount Function code (in questo caso è 32 (10) ) Per ottenere la rappresentazione esadecimale raggruppo ogni 4 bit e eseguo la rispettiva conversione in decimale di ogni gruppetto: Il esadecimale è: (16) oppure è anche possibile scrivere 0x Assembler parte 3 Se devo sommare il valore di un registro con una costante che non è memorizzata in nessun registro uso l istruzione addi (add immediate) La sintassi è la seguente: addi $t0, $t1, 100 Il formato dell istruzione è I perché si utilizza l immediato su 16 bit per passare la costante Operative code (in questo caso è 8 in decimale) $t0 1 registro $t1 2 registro Costante (in binario su 16 bit) Devo trasformare 100 in binario: 100 = = Nelle posizioni indicate dall esponente delle potenze di 2 si trova il bit = 1. Flusso di istruzioni Devo inserire, io programmatore, le istruzioni in memoria in modo continuo cosicché la CPU possa eseguirne una dietro l altra per ottenere il cosiddetto flusso di istruzioni. Ma oggi come oggi non è possibile avere una sequenza di istruzioni perché, ad esempio, se devo eseguire una divisione devo eseguire azioni diverse (che non sono in sequenza) a seconda che il divisore sia 0 o no. Questa è chiamata alterazione del flusso. 23

Architettura di tipo registro-registro (load/store)

Architettura di tipo registro-registro (load/store) Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:

Dettagli

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori

Dettagli

L architettura del calcolatore (Prima parte)

L architettura del calcolatore (Prima parte) L architettura del calcolatore (Prima parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2011 CALCOLATORI ELETTRONICI 29 giugno 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di una PLA la funzione combinatoria (a 3 ingressi e due uscite)

Dettagli

L unità di controllo di CPU multi-ciclo

L unità di controllo di CPU multi-ciclo L unità di controllo di CPU multi-ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano A.A. 23-24 /2 Sommario I segnali di controllo

Dettagli

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi: Modulo 8 Elettronica Digitale Contenuti: Introduzione Sistemi di numerazione posizionali Sistema binario Porte logiche fondamentali Porte logiche universali Metodo della forma canonica della somma per

Dettagli

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Lezione 16: L architettura LC-3

Lezione 16: L architettura LC-3 Lezione 16: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 15 Maggio 2013 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 31 marzo 2015 CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di

Dettagli

Macchina di von Neumann

Macchina di von Neumann Il processore PD32 Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo Unità di Controllo Suddivisione SCA-SCO Unità di Ingresso Memoria di lavoro Unità di Uscita

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000 AXO Achitettura dei Calcolatori e Sistema Operativo Instruction Set Architecture (ISA) e 68000 introduzione a ISA ISA - Instruction Set Architecture insieme delle istruzioni (instruction set) che possono

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

Esercitazione sulle CPU pipeline

Esercitazione sulle CPU pipeline Esercitazione sulle CPU pipeline Una CPU a ciclo singolo come pure una CPU multi ciclo eseguono una sola istruzione alla volta. Durante l esecuzione parte dell hardware della CPU rimane inutilizzato perché

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

I sistemi di elaborazione

I sistemi di elaborazione 2 I sistemi di elaborazione 2.0 I sistemi di elaborazione c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 2.0 0 2 I sistemi di elaborazione Architettura

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Dettagli

Linguaggio Assembler MIPS

Linguaggio Assembler MIPS Linguaggio Assembler MIPS Corso di Calcolatori Elettronici Corso di Calcolatori Elettronici A A.A. 2000/2001 Dr. Daniela Fogli Notazione Operazioni aritmetiche: Somma add a, b, c fa la somma di b e c e

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

Anatomia e fisiologia del computer: l architettura del calcolatore

Anatomia e fisiologia del computer: l architettura del calcolatore Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l architettura del calcolatore Marzo 2009 L architettura del calcolatore 1 Nota bene Alcune parti

Dettagli

Architetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica

Architetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica SPIM Architetture dei Calcolatori (Lettere A-I) SPIM Ing.. Francesco Lo Presti Simulatore che esegue programmi assembler per architetture RISC MIPS R2000/R3000 Legge programmi in assembler MIPS e li traduce

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici CPU a singolo ciclo assimiliano Giacomin Schema del processore (e memoria) Unità di controllo Condizioni SEGNALI DI CONTROLLO PC emoria indirizzo IR dato letto UNITA DI ELABORAZIONE

Dettagli

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler Indice Linguaggio ad alto livello, linguagio assembler e linguaggio macchina Il linguaggio assembler MIPS: istruzioni aritmetiche, di trasferimento dati e di salto Conversione linguaggio assembler in linguaggio

Dettagli

Controllo con macchina a stati finiti

Controllo con macchina a stati finiti Controllo con macchina a stati finiti Durante l esecuzione di un programma applicativo i circuiti interpretano le istruzioni: del programma costituito dal< programma applicativo i servizi OS> Logica di

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Lezione n.9. Introduzione al linguaggio macchina

Lezione n.9. Introduzione al linguaggio macchina Lezione n.9 Autore:Luca Orrù 1 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo

Dettagli

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

Dettagli

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento o Programmi e dati risiedono in file memorizzati in memoria secondaria. o Per essere eseguiti (i programmi) e usati (i dati) vengono copiati

Dettagli

Le costanti Le modalità di indirizzamento L assembly del MIPS

Le costanti Le modalità di indirizzamento L assembly del MIPS Le costanti Le modalità di indirizzamento L assembly del MIPS Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/45 Sommario Le costanti

Dettagli

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof.

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof. Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa Sistemi Operativi e Reti A.A. 2014/2015 prof. Gianluca Amato Architettura degli elaboratori Architettura Hardware Architettura

Dettagli

Tutorato Architettura degli elaboratori

Tutorato Architettura degli elaboratori Tutorato Architettura degli elaboratori Dott. Damiano Braga Before we start.. Orario 12 Aprile h. 14.00-16.00 aula F6 20 Aprile h. 11.30-13.30 aula F6 10 Maggio h. 14.00-16.00 aula F4 18 Maggio h. 11.30-13.30

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Von Neumann. John Von Neumann (1903-1957)

Von Neumann. John Von Neumann (1903-1957) Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su

Dettagli

Richiami di informatica e programmazione

Richiami di informatica e programmazione Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre

Dettagli

Interpreti e compilatori La macchina di Von Neumann

Interpreti e compilatori La macchina di Von Neumann Interpreti e compilatori La macchina di Von Neumann Informatica@Matematica Simone Martini a.a. 2014-2015 1 / 38 Parte I Interpreti e compilatori 2 / 38 Macchine astratte Una macchina astratta è un esecutore

Dettagli

LIBRO DI TESTO: Il nuovo Dal bit al web AUTORI: Barbero-Vaschetto CASA EDITRICE: LINX

LIBRO DI TESTO: Il nuovo Dal bit al web AUTORI: Barbero-Vaschetto CASA EDITRICE: LINX PROGRAMMA EFFETTIVAMENTE SVOLTO Disciplina: INFORMATICA Docente: SALVATORE D URSO L. S. Scienze Applicate - Classe: PRIMA - Sezione: N - Anno Scolastico 2014/2015 LIBRO DI TESTO: Il nuovo Dal bit al web

Dettagli

Le componenti fisiche di un computer: l hardware

Le componenti fisiche di un computer: l hardware Le componenti fisiche di un computer: l hardware In questa sezione ci occuperemo di come è strutturato e come funziona l hardware di un computer. In particolare, nella Sezione ci occuperemo del punto di

Dettagli

1.4a: Hardware (Processore)

1.4a: Hardware (Processore) 1.4a: Hardware (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 23 nov 2011

Dettagli

E una notazione per descrivere gli algoritmi.

E una notazione per descrivere gli algoritmi. Linguaggio di Programmazione E una notazione per descrivere gli algoritmi. Programma:: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni linguaggio

Dettagli

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore - CPU (CENTRAL PROCESSING UNIT) Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento Programmi e dati risiedono in file memorizzati in memoria secondaria. Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

Architettura del calcolatore e rappresentazione dell informazione

Architettura del calcolatore e rappresentazione dell informazione Corso di Laurea in Ingegneria Elettronica Complementi al corso di Fondamenti di Informatica Architettura del calcolatore e rappresentazione dell informazione Daniela D Aloisi Anno Accademico 2001-2002

Dettagli

Architettura degli elaboratori (A)

Architettura degli elaboratori (A) Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma

Dettagli

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

Dettagli

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO PROGRAMMA Descrizione funzionale di un calcolatore elementare, COS'E' UN ELETTRONICO HARDWARE SOFTWARE HARDWARE

Dettagli

Architettura di un Elaboratore

Architettura di un Elaboratore Architettura di un Elaboratore Fabio Massimo Zanzotto Ricapitoliamo puntate precedenti Cosa abbiamo a disposizione: Concetto di algoritmo (con eventuale parametrizzazione) Rappresentazione dell informazione

Dettagli

PROGRAMMA DI SISTEMI TERZA AET 2014/2015

PROGRAMMA DI SISTEMI TERZA AET 2014/2015 PROGRAMMA DI SISTEMI TERZA AET 2014/2015 Docente: Gamerra Giuseppe, Porta Giovanni Testo : manuali originali dello Z80, appunti in classe, dispense sulla intranet, simulatore OSHONSOFT A) Non sono state

Dettagli

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1 La microarchitettura. anno accademico 2006 2007 pagina 1 Integer Java virtual machine Ogni microprocessore può avere una microarchitettura diversa, ma la modalità di funzionamento per certi aspetti è generale.

Dettagli

IL DSP - Digital Signal Processor

IL DSP - Digital Signal Processor IL DSP - Digital Signal Processor Processore dei segnali digitali 1. Generalità Il Digital Signal Processor (DSP, processore di segnali digitali) è un particolare tipo di microprocessore, ottimizzato per

Dettagli

Elaborazione dei dati

Elaborazione dei dati Elaborazione dei dati Architettura dei computer Esploreremo i fondamenti dell architettura dei computer. Vedremo come un computer elabora i dati e comunica con periferiche come stampanti e tastiere. Linguaggio

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

Introduzione ai microcontrollori

Introduzione ai microcontrollori Introduzione ai microcontrollori L elettronica digitale nasce nel 1946 con il primo calcolatore elettronico digitale denominato ENIAC e composto esclusivamente di circuiti a valvole, anche se negli anni

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Architettura dei calcolatori I parte Introduzione,

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Informatica. Esplicazione del manuale e delle slide. Informatica Appunti Luiss Marco D Epifanio. Marco

Informatica. Esplicazione del manuale e delle slide. Informatica Appunti Luiss Marco D Epifanio. Marco Informatica Appunti Luiss Marco D Epifanio Informatica Esplicazione del manuale e delle slide Marco Liberamente tratto da Introduzione alle tecnologie informatiche e ai sistemi informativi aziendali, McGraw.

Dettagli

Il corso di INFORMATICA

Il corso di INFORMATICA Docente: Maurizio QUARTA Il corso di INFORMATICA BIOTECNOLOGIE 25/6 6 CFU E-mail: maurizio.quarta@unisalento.it m.quarta@alice.it Tel: 832-297532 Ricevimento: martedi dalle 9.3 alle.3 altri giorni per

Dettagli

La Macchina Virtuale

La Macchina Virtuale Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Dettagli

7 : I DATI E LA LORO STRUTTURA NELLA PROGRAMMAZIONE

7 : I DATI E LA LORO STRUTTURA NELLA PROGRAMMAZIONE 7 : I DATI E LA LORO STRUTTURA NELLA PROGRAMMAZIONE TIPO DI DATO Un tipo di dato è una entità caratterizzata dai seguenti elementi: un insieme X di valori che raprresenta il dominio del tipo di dato; un

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

INFORMATICA E COMPUTER : INTRODUZIONE

INFORMATICA E COMPUTER : INTRODUZIONE INFORMATICA E COMPUTER : INTRODUZIONE! Informatica: dal francese, informatique informat(ion) (automat)ique [termine coniato dall'ingegnere francese Philippe Dreyfus nel 1962] è la scienza che studia i

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici B a.a. 2006/2007 Calcolatori Elettronici B a.a. 2006/2007 RETI LOGICHE: RICHIAMI Massimiliano Giacomin 1 Due tipi di unità funzionali Elementi di tipo combinatorio: - valori di uscita dipendono solo da valori in ingresso

Dettagli

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona Programmazione per Bioinformatica Il Calcolatore e la Programmazione Dr Damiano Macedonio Università di Verona Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti:

Dettagli

Calcolatori Elettronici L-A

Calcolatori Elettronici L-A 1 Calcolatori Elettronici L-A Obiettivo del modulo è lo studio dei seguenti aspetti dell hardware dei calcolatori: l architettura i principi di funzionamento le tecniche di progettazione l impatto dell'architettura

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

Calcolatori Elettronici L-A

Calcolatori Elettronici L-A Calcolatori Elettronici L-A Mapping di chip di memoria e interfacce negli spazi di indirizzamento di sistemi con bus dati da 8 bit Decodifica degli indirizzi Decodifica completa Decodifica semplificata

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Architettura del Calcolatore. Emilio Di Giacomo e Walter Didimo

Architettura del Calcolatore. Emilio Di Giacomo e Walter Didimo Architettura del Calcolatore Emilio Di Giacomo e Walter Didimo Computer e programmi Il computer è una macchina programmabile Grazie alla possibilità di eseguire programmi diversi, il computer può svolgere

Dettagli

Fondamenti di informatica: un po di storia

Fondamenti di informatica: un po di storia Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi

Dettagli

[http://www.di.univaq.it/muccini/labarch]

[http://www.di.univaq.it/muccini/labarch] [http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 3: Introduzione a SPIM

Dettagli

1 Organizzazione dell unità in virgola mobile (FPU)

1 Organizzazione dell unità in virgola mobile (FPU) 1 Organizzazione dell unità in virgola mobile (FPU) Il processore può maneggiare anche numeri reali, attraverso un modulo detto Floating-Point Unit (FPU). Storicamente, tale circuiteria è stata inizialmente

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

Dettagli

Il simulatore SPIM SPIM

Il simulatore SPIM SPIM Il simulatore SPIM Architetture dei Calcolatori (lettere A-I) SPIM SPIM: un simulatore per eseguire programmi assembler scritti per processori MIPS32 Download e materiale relativo alla pagina Web http://www.cs.wisc.edu/~larus/spim.html

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR Architettura di un computer La macchina di Von Neumann Architettura organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli