Architettura. Indice:
|
|
- Cosima Micheli
- 8 anni fa
- Visualizzazioni
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
4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
DettagliCALCOLATORI 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
DettagliCALCOLATORI 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
DettagliArchitettura (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
DettagliArchitettura 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
DettagliCALCOLATORI 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)
DettagliCALCOLATORI 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
DettagliCPU. 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
DettagliArchitettura 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
DettagliArchitettura 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
DettagliCALCOLATORI 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
DettagliIng. 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
DettagliL 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
DettagliInformatica 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
DettagliLa 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
DettagliDispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
DettagliC. 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
DettagliARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4
ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio
DettagliLezione 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
DettagliAlessandro Pellegrini
Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione
DettagliSiamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
DettagliInformatica. Rappresentazione dei numeri Numerazione binaria
Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione
DettagliStruttura 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
DettagliIl 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
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile
Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione
DettagliIntroduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliSISTEMI DI NUMERAZIONE E CODICI
SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema
DettagliL 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
DettagliArchitettura 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
DettagliLaboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:
DettagliA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
DettagliI componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica
I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica
DettagliCALCOLATORI 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
DettagliMemorie ROM (Read Only Memory)
Memorie ROM (Read Only Memory) Considerando la prima forma canonica, la realizzazione di qualsiasi funzione di m variabili richiede un numero di porte AND pari al numero dei suoi mintermini e di prolungare
DettagliArchitettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri
Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria codificata rispettivamente
DettagliEsercitazione Informatica I AA 2012-2013. Nicola Paoletti
Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.
DettagliLaurea Specialistica in Informatica
Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo
DettagliTesti di Esercizi e Quesiti 1
Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica
DettagliLaboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,
DettagliCodifica 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
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
DettagliInformazione analogica e digitale
L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica
DettagliCLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO
CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO 1 Domanda [1 punto] Dato il formato in virgola mobile su 32 bit così definito (precisione singola): o 1
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliLABORATORIO DI SISTEMI
ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in
DettagliConvertitori numerici in Excel
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel
DettagliIl 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
DettagliIl memory manager. Gestione della memoria centrale
Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda
DettagliEsame di INFORMATICA
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello
DettagliDispense di Informatica per l ITG Valadier
La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di
DettagliL 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
DettagliIntroduzione 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
DettagliArchitettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro
Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control
DettagliEsempio: aggiungere j
Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi
DettagliSistemi di Numerazione Binaria NB.1
Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato
DettagliLa 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.
DettagliESEMPIO 1: eseguire il complemento a 10 di 765
COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento
DettagliCalcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo
Calcolatori Elettronici La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo La pipeline CRITICITÀ SUI DATI Calcolatori Elettronici - Pipeline (2) - Slide 2 L. Tarantino
Dettagli(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896
2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo
DettagliCapitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.
Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2
DettagliUn circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati
Il Livello LogicoDigitale i Blocchi funzionali combinatori Circuiti integrati Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati
DettagliHazard sul controllo. Sommario
Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione
DettagliObiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico
M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p. 3/43 M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p.
DettagliEXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,
EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area
DettagliLogica e codifica binaria dell informazione
Politecnico di Milano Corsi di Laurea in Ingegneria Matematica e Ingegneria Fisica Dipartimento di Elettronica ed Informazione Logica e codifica binaria dell informazione Anno Accademico 2002 2003 L. Muttoni
DettagliEsercitazione 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é
DettagliLezione 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
DettagliLinguaggi di programmazione
Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore
DettagliRegistratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
DettagliPROVA INTRACORSO TRACCIA A Pagina 1 di 6
PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento
DettagliIl 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
DettagliFogli Elettronici: MS Excel
Fogli Elettronici: MS Excel Informatica - A.A. 2010/2011 - Excel 7.0 Foglio Elettronico Un foglio elettronico (o spreadsheet) è un software applicativo nato dall esigenza di: organizzare insiemi di dati
DettagliIl Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
DettagliUNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA
UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA Tutti gli anni, affrontando l argomento della divisibilità, trovavo utile far lavorare gli alunni sul Crivello di Eratostene. Presentavo ai ragazzi una
DettagliPROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo
DettagliLa 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
DettagliCalcolatori 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
DettagliUso di base delle funzioni in Microsoft Excel
Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce
DettagliCalcolatori 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
DettagliRappresentazione delle informazioni
Rappresentazione delle informazioni Abbiamo informazioni (numeri, caratteri, immagini, suoni, video... ) che vogliamo rappresentare (e poter elaborare) in un calcolatore. Per motivi tecnologici un calcolatore
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliInput/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche
Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli
DettagliIl sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione
Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia
DettagliLezione 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
DettagliSistemi di Numerazione
Fondamenti di Informatica per Meccanici Energetici - Biomedici 1 Sistemi di Numerazione Sistemi di Numerazione I sistemi di numerazione sono abitualmente posizionali. Gli elementi costitutivi di un sistema
DettagliArchitettura 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)
DettagliCalcolatori 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:
DettagliModulo 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
Dettagli4. Operazioni aritmetiche con i numeri binari
I Numeri Binari 4. Operazioni aritmetiche con i numeri binari Contare con i numeri binari Prima di vedere quali operazioni possiamo effettuare con i numeri binari, iniziamo ad imparare a contare in binario:
DettagliControllo 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
DettagliLogica binaria. Porte logiche.
Logica binaria Porte logiche. Le porte logiche sono gli elementi fondamentali su cui si basa tutta la logica binaria dei calcolatori. Ricevono in input uno, due (o anche più) segnali binari in input, e
DettagliALGEBRA DELLE PROPOSIZIONI
Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra
DettagliAritmetica dei Calcolatori 2
Laboratorio di Architettura 13 aprile 2012 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1
DettagliLezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.
Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE Comunicazione importante dalla prossima settimana, la lezione del venerdì si terrà: dalle 15:00 alle 17.15 in aula 311 l orario
DettagliOperazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013
Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013 In questo documento vengono illustrate brevemente le operazioni aritmetiche salienti e quelle logiche ad esse strettamente collegate.
DettagliAppunti sulla Macchina di Turing. Macchina di Turing
Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso
Dettagli