Calcolatori Elettronici

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Calcolatori Elettronici"

Transcript

1 Calcolatori Elettronici CPU multiciclo Massimiliano Giacomin

2 SVANTAGGI DEL PROCESSORE A SINGOLO CICLO Tutte le istruzioni lunghe un ciclo di clock T clock determinato dall istruzione più lenta Istruzioni più lente limitano le istruzioni più veloci! lunga HW non può essere riutilizzato nell esecuzione di una istruzione aumento dei costi potenzialmente breve ESEMPIO MIPS: due memorie [dati e istruzioni] tre ALU: - istruzioni aritmetiche confronto operandi in beq indirizzo lw e sw - calcolo PC+ - calcolo indirizzo di salto beq 2

3 DAL PROCESSORE A SINGOLO CICLO lunga potenzialmente breve AL PROCESSORE MULTICICLO Suddividere le istruzioni in fasi : un ciclo di clock per una fase! T esecuzione T 2 esecuzione NB: T 2 esecuzione (il caso peggiore) può in generale essere maggiore del precedente! Tuttavia, le istruzioni più lunghe sono anche meno frequenti: principio rendere più veloce l evento più frequente comporta un guadagno! 3

4 PROCESSORE MULTICICLO: CONCETTI FONDAMENTALI P C DATAPATH (schema di base) Registri temporanei (non visibili al programmatore) - memorizzano dati prodotti in un ciclo di clock e utilizzati dalla stessa istruzione nel ciclo successivo Controllo sequenziale (una fase diversa per ogni ciclo) LINEE GUIDA PER L EFFICIENZA ) T clock : la serie più lenta utilizzata in una fase (caso peggiore) Bilanciare le fasi (no serie di unità funzionali lente ) 2) Operazioni ottimistiche: utilizzo di unità funzionali libere per elaborazioni possibilmente utili

5 VANTAGGI DEL PROCESSORE MULTICICLO ) EFFICIENZA (diminuisce T clock ) 2) RIUTILIZZO DELLA STESSA UNITA FUNZIONALE NEL CORSO DELLA STESSA ISTRUZIONE diminuzione dei costi 5

6 IL CASO MIPS ASSUNZIONE FONDAMENTALE: Operazioni lente da non mettere in serie: - o in memoria (istruzioni o dati) - o al register file (lettura o scrittura) - operazioni della ALU Accesso/scrittura in un registro singolo trascurabile (o non oneroso) CONSEGUENZA: P C MEM. REG. FILE MEM. REG. FILE FETCH PRELIEVO (DECODE) EXECUTE MEM WRITE BACK 6

7 Specifica progressiva del datapath Di seguito sono schematizzate le attività che una macchina multiciclo svolge per eseguire il set ridotto di istruzioni MIPS: le fasi rispettano i vincoli posti in precedenza sulle operazioni che si possono eseguire in serie. Nello specificare le diverse attività di calcolo si sono seguite le convenzioni adottate nel testo. In particolare, sono rese visibili le risorse impegnate nel ciclo in esame. La combinazione delle immagini risulta nello schema finale del testo. DALLA SPECIFICA DEL DATAPTH EMERGE ANCHE LA SPECIFICA DEL CONTROLLO SEQUENZIALE 7

8 I ciclo:prelievo dell istruzione I ciclo: IR memoria [PC] ottimistiche: PC PC + IorD = IRWrite AluSrcA = P C indirizzo Memoria Dato scritto MemData Istruzioni [3-26] [25-2] [2-6] [5-] letto Regist ro letto Registr o scritto Dato scritto Registri Dato letto Dato letto 2 A L U AluCom zero ris [indicati i valori affermati e controlli MUX rilevanti] AluSrcB = UC ALU AluOp= [addizione] 8

9 NB: Durante il primo ciclo di clock vengono creati i due percorsi paralleli: PC_out Memoria IR PC_out ALU PC_in + vengono attivati i segnali di scrittura in IR e PC Alla fine del periodo di clock (fronte del clock): PC e IR vengono scritti; i valori sono disponibili nel ciclo di clock successivo Durante il secondo ciclo di clock IR contiene l istruzione da eseguire, PC è già stato incrementato NB: si noti che ciascun percorso contiene soltanto un elemento critico (memoria e ALU); sorgente e destinazione infatti sono registri singoli (PC e IR) 9

10 II ciclo:decodifica e caricamento registri ottimistiche: alimentazione registri: A registro[ir[25-2]]; B registro[ir[2-6]] calcolo indirizzo branch: AluOut PC + (sign_ext(ir[5-]) << 2) Al controllo per decodifica AluSrcA = P C Memoria Istruzioni [25-2] [2-6] [5-] Nota: non si conosce l istruzione in questo passo: tutte le operazioni ottimistiche! Nota: A,B Aluout non sono controllati (memorizzano il valore ad ogni fronte del CK) [3-26] letto A Dato A letto letto scritto Dato scritto Est. segno Registri Dato letto 2 B Shift << AluSrcB=3 L U UC ALU AluCom zero ris Alu Out AluOp= [addizione]

11 NB: si è detto che nel secondo ciclo è già disponibile l istruzione in IR. D altra parte si dice anche che non si conosce quale sia l istruzione e quindi si effettua la decodifica + le uniche operazioni svolte sono ottimistiche Ciò perché si usa il modello di Moore: uscite del sistema di controllo dipendono solo dallo stato corrente, non dagli ingressi [IR]. FETCH Uscita: - carica IR - PC + Unica transizione possibile! Questa è la decodifica DECODE Uscita: - ottimistiche Transizione dipende da IR! III ciclo caso III ciclo caso 2 Uscita:

12 III ciclo:se è branch (beq) IF ([A]= = [B]): PC [AluOut] Attenzione: si ritocca il data path e si introduce PCsource = AluSrcA = PCsource= Cond P C Memoria Istruzioni Registri A questo punto istruzione terminata! (si ricomincia dal primo ciclo prox istruzione) letto letto scritto Dato scritto Dato letto Dato letto 2 A B Shift << AluSrtcB= A L U UC ALU AluCom ris zero Alu Out AluOp= [sottrazione] 2

13 III ciclo: se è salto incondizionato (jump) PC PC[3-28]½½(IR[25-]<<) PCsource = 2 PC[3-28] 2 P C indirizzo Memoria Dato scritto MemData Istruzioni [3-26] [25-2] [2-6] [5-] IR[25-] 26 Shift << 2 28 Registri 32 A L U ris AluCom Alu Out A questo punto l istruzione è terminata! (si ricomincia dal primo ciclo prossima istruzione) UC ALU 3

14 III ciclo:per tipo R AluOut A op B AluSrcA= P C Memoria Istruzioni [3-26] [2-6] [5-] Registri A B A L U AluCom ris zero Alu Out IR[5-] Shift << 2 AluSrcB= UC ALU AluOp= [op in base a funct]

15 IV ciclo: completamento istruzioni R Reg [IR[5-]] Aluout RegDst= P C Memoria o MemData Dato scritto MDR Istruzioni [3-26] [25-2] [2-6] [5-] IR[5-] letto letto scritto Dato scritto Registri Dato letto Dato letto 2 A B A L U UC ALU zero ris Alu Out MemToReg = A questo punto l istruzione è terminata! 5

16 III ciclo:per tipo o a memoria AluOut [A]+ (signext([ir[5-]]) AluSrcA= P C Memoria Istruzioni [3-26] [2-6] [5-] Registri A B 2 3 A L U AluCom ris zero Alu Out SignExt Shift << 2 UC ALU AluOp= [addizione] AluSrcB= 6

17 IV ciclo: memorizza parola (sw) memoria [AluOut] B (NB: B è stato letto due volte ) IorD= MemWrite P C indirizzo Memoria Dato scritto MemData 32 Istruzioni [3-26] [25-2] [2-6] [5-] letto letto scritto Dato scritto Registri Dato letto Dato letto 2 A B A L U zero ris Alu Out MDR UC ALU A questo punto l istruzione è terminata! 7

18 IV ciclo: carica parola (lw) MDR memoria [AluOut] IorD= P C indirizzo Memoria Dato scritto MemData 32 Istruzioni [3-26] [25-2] [2-6] [5-] letto letto scritto Dato scritto Registri Dato letto Dato letto 2 A B A L U zero ris Alu Out MDR UC ALU 8

19 V ciclo: completamento lettura da memoria (lw) Reg [IR[2-6]] MDR RegDst= P C Memoria o MemData Dato scritto MDR Istruzioni [3-26] [25-2] [2-6] [5-] letto letto scritto Dato scritto Registri Dato letto Dato letto 2 A B A L U UC ALU zero ris Alu Out A questo punto istruzione terminata! MemToReg= 9

20 Da queste considerazioni risultano immediatamente: unità di elaborazione (datapath) specifica dell unità di controllo 2

21 (Op = 'LW') (Op = 'J') 2 3 address computation ALUSrcA = ALUSrcB = (Op = 'SW') 5 Start (Op = 'LW') or (Op = 'SW') Instruction fetch ALUSrcA = IorD = IRWrite ALUSrcB = PCSource = 6 7 Execution ALUSrcA = ALUSrcB = ALUOp= 8 R-type (Op = R-type) Branch ALUSrcA = ALUSrcB = ALUOp = Cond PCSource = (Op = 'BEQ') Instruction decode/ register fetch 9 ALUSrcA = ALUSrcB = Jump PCSource = NB: i segnali di controllo che in uno stato non sono nominati si intendono: - se del tipo read o write (es. IRWrite) - don t care altrimenti (es: ALUOp o ALUSrcA) IorD = MemWrite IorD = RegDst = MemtoReg = Write-back step RegDst = MemtoReg = 2

22 Realizzazione Unità di Controllo con macchina a stati finiti di Moore Funzione ω Funzione δ Unità di controllo di stato P C Memoria indirizzo Programma Istruzioni [3-26] Codice Operativo Unità di Os Servizi elaborazione 22

23 Automa con stati Þ bit per codificarli (S3-S) memorizzati con flip-flop di tipo D Codifica: assegnamento di un valore a ciascuno stato (useremo numero progressivo) Dobbiamo realizzare due funzioni logiche combinatorie: - funzione di uscita ω(s) restituisce 6 segnali di uscita - funzione di stato futuro δ(s, I) restituisce NS3 NS dove s = (S3, S2, S, S) I = (OP5,, OP) 23

24 CPU MULTICICLO: ILLUSTRAZIONI ESECUZIONE ISTRUZIONI 2

25 ESECUZIONE IN UNA CPU MULTICICLO DI UNA ISTRUZIONE DI TIPO-R 25

26 (Op = 'LW') (Op = 'J') ISTRUZIONE TIPO-R address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') FETCH IR=istruz PC=PC+ 26

27 (Op = 'LW') (Op = 'J') ISTRUZIONE TIPO-R address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') DECODE A=rs, B=rt ALUOut=Dest beq 27

28 (Op = 'LW') (Op = 'J') ISTRUZIONE TIPO-R address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') EXECUTE ALUOut=A+B 28

29 (Op = 'LW') (Op = 'J') ISTRUZIONE TIPO-R address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') WRITE-BACK rd=aluout 29

30 ESECUZIONE IN UNA CPU MULTICICLO DI UNA ISTRUZIONE LW 3

31 (Op = 'LW') (Op = 'J') ISTRUZIONE LW address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') FETCH IR=istruz PC=PC+ 3

32 (Op = 'LW') (Op = 'J') ISTRUZIONE LW address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') DECODE A=rs, B=rt ALUOut=Dest beq 32

33 (Op = 'LW') (Op = 'J') ISTRUZIONE LW address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') EXECUTE ALUOut=A+offset 33

34 (Op = 'LW') (Op = 'J') ISTRUZIONE LW address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') MEM MDR=M[ALUOut] 3

35 (Op = 'LW') (Op = 'J') ISTRUZIONE LW address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') WRITE-BACK rt=mdr 35

36 ESECUZIONE IN UNA CPU MULTICICLO DI UNA ISTRUZIONE BEQ 36

37 (Op = 'LW') (Op = 'J') ISTRUZIONE BEQ address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') FETCH IR=istruz PC=PC+ 37

38 (Op = 'LW') (Op = 'J') ISTRUZIONE BEQ address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') DECODE A=rs, B=rt ALUOut=Dest beq 38

39 (Op = 'LW') (Op = 'J') ISTRUZIONE BEQ address computation 2 6 ALUSrcA = ALUSrcB = (Op = 'SW') MemWrite IorD = IorD = Write-back step RegDst = MemtoReg = Instruction fetch ALUSrcA = IorD = Start IRWrite ALUSrcB = PCSource = (Op = 'LW') or (Op = 'SW') (Op = R-type) Instruction decode/ register fetch ALUSrcA = ALUSrcB = Branch Jump Execution 8 9 ALUSrcA = ALUSrcA = ALUSrcB = ALUSrcB = ALUOp = PCSource = ALUOp= Cond PCSource = R-type RegDst = MemtoReg = (Op = 'BEQ') WRITE BACK rs-rt=? Æ, PC=ALUOut 39

40 PRESTAZIONI DEL PROCESSORE MULTICICLO

41 PRESTAZIONI DEL PROCESSORE MULTICICLO T CPU = I *CPI *T clock + I 2 *CPI 2 *T clock + I 3 *CPI 3 *T clock + = (I *CPI + I 2 *CPI 2 + I 3 *CPI 3 + ) * T clock = #istruzioni * (f *CPI + f 2 *CPI 2 + f 3 *CPI 3 + ) * T clock CPI CPI: clock Cycles Per Instruction numero medio di cicli di clock per istruzione: media del numero di cicli di clock che le diverse istruzioni di un programma richiedono per essere completate T CPU = #istruzioni * CPI * T clock = #istruzioni * CPI f clock NB: T medio-istruzione = CPI*T clock

42 Espressione dei CPI CPI può rappresentare il numero medio di cicli di clock delle istruzioni riferito a un programma, ma più in generale al carico di lavoro previsto (instruction mix) CPI = = n å i= n å i= (CPI I ) ( f I i i i CPIi) (I i : numero di istruzioni i eseguite) dove f i è la frequenza delle istruzioni della classe i e CPI i è il numero di cicli per le istruzioni della classe i, mentre n è il numero delle classi 2

43 Periodo di clock nei processori multiciclo P C Per ogni istruzione Per ogni ciclo di clock Valutare il cammino critico CASO PEGGIORE! T clock = max{t,,t m } [operazioni atomiche eseguite in un ciclo di clock] 3

44 CONFRONTO TRA PRESTAZIONI DI PROCESSORI I processori possono avere linguaggi diversi: valutati sullo stesso task (ruolo del compilatore) Per un processore X (e un task T) vale la relazione prestazioni x = tempo di esecuzione X Se per due processori X e Y, le prestazioni di X sono migliori di Y (per lo stesso task) si ha che prestazioni X > prestazioni Y > tempo di esecuzione X tempo di esecuzione Y tempo di esecuzione Y > tempo di esecuzione X

45 Relazione fra le prestazioni di 2 processori Se il processore X è n volte più veloce del processore Y si scriverà: prestazioni X prestazioni Y = n E quindi prestazioni X prestazioni Y tempo di esecuzione Y = = n tempo di esecuzione X (diciamo anche che Y è n volte più lento) 5

46 NB: in generale tempo di esecuzione Y = #istr Y * CPI Y * T clocky tempo di esecuzione X #istr X * CPI X * T clockx Se le macchine implementano lo stesso ISA tempo di esecuzione Y = tempo di esecuzione X CPI Y * T clocky CPI X * T clockx [vedere gli esercizi per applicazioni di queste formule] 6

47 APPENDICE Dettagli sulla realizzazione unità di controllo 7

48 Automa con stati Þ bit per codificarli (S3-S) memorizzati con flip-flop di tipo D Codifica: assegnamento di un valore a ciascuno stato (useremo numero progressivo) Dobbiamo realizzare due funzioni logiche combinatorie: - funzione di uscita h(s) restituisce 6 segnali di uscita - funzione di stato futuro f(s, I) restituisce NS3 NS dove s = (S3, S2, S, S) I = (OP5,, OP) 8

49 (Op = 'LW') (Op = 'J') CODIFICA DEGLI STATI 2 address computation ALUSrcA = ALUSrcB = Start Instruction fetch ALUSrcA = IorD = IRWrite ALUSrcB = PCSource = 6 (Op = 'LW') or (Op = 'SW') Execution ALUSrcA = ALUSrcB = ALUOp= 8 (Op = R-type) Branch ALUSrcA = ALUSrcB = ALUOp = Cond PCSource = Instruction decode/ register fetch (Op = 'BEQ') 9 ALUSrcA = ALUSrcB = Jump PCSource = 3 5 (Op = 'SW') 7 R-type IorD = MemWrite IorD = RegDst = MemtoReg = Write-back step RegDst = MemtoReg = 9

50 SPECIFICA FUNZIONE DI USCITA Tabelle di verità (dipendono solo da stato): indicati solo stati in cui esistono uscite = PCSource (PCSource PCSource) Dal diagramma di stato, si vede che: - PCSource vale nello stato 9 - PCSource vale nello stato 8 S3 S2 S S PCSource S3 S2 S S PCSource Equazioni logiche: PCSource= S3 S2 S S PCSource= S3 S2 S S IorD Dal diagramma di stato, si vede che vale negli stati 3 e 5 IorD= S3 S2 S S + S3 S2 S S S3 S2 S S IorD Altre uscite ricavate con considerazioni analoghe NB: campi Op don t care ( riga sta per 2 6 = 6 righe!) 5

51 5

52 SPECIFICA FUNZIONE DI STATO FUTURO NS: pari a quando stato futuro =, 3, 5, 7, 9 Dall analisi del diagramma di stato, si vede che ad essi si può arrivare: stato : da stato a prescindere da Op stato 3 : da stato 2 con Op = lw [] stato 5: da stato 2 con Op = sw [] stato 7: da stato 6 a prescindere da Op stato 9: da stato con Op = j [] Ciò corrisponde alla tabella di verità: OP5 OP OP3 OP2 OP OP S3 S2 S S NS X X X X X X X X X X X X NS = S3 S2 S S + OP5 OP OP2 OP OP S3 S2 S S + S3 S2 S S + OP5 OP OP3 OP2 OP OP S3 S2 S S 52

53 Con considerazioni analoghe si ricavano le altre uscite di stato futuro Abbiamo la specifica di entrambe le funzioni combinatorie Realizzazione in 2 (*2) modi alternativi: ) Tramite ROM - unica ROM per entrambe le funzioni - due ROM separate 2) Tramite porte logiche 53

54 ES: due ROM separate S3-- 6 ROM Segnali di uscita opcode S3-- 6 ROM 2 NS3-- Dimensione: 2 * * =,3 Kbit Nelle ROM ci sono comunque molti elementi duplicati: - molte combinazioni dell ingresso non si verificano (ROM le codifica tutte) p.es. ho bit per stati: 6-=6 combinazioni non si verificano - a volte le uscite non dipendono da [tutti] i valori dell ingresso. p.es. da stato si passa sempre a stato per qualunque valore di opcode, mentre ROM 2 duplica la parola NS () per 2 6 volte 5

CALCOLATORI ELETTRONICI 9 settembre 2011

CALCOLATORI ELETTRONICI 9 settembre 2011 CALCOLATORI ELETTRONICI 9 settembre 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche AND, OR e NOT la funzione combinatoria (a

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 28/29 CPU multiciclo Massimiliano Giacomin Esempi di processori che usano controllo a singolo ciclo: NESSUNO! Perché? Periodo di clock: abbastanza lungo per garantire la

Dettagli

L unità di controllo di CPU multi-ciclo. Sommario

L unità di controllo di CPU multi-ciclo. Sommario 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 Riferimento sul Patterson: Sezione C3 1/24

Dettagli

CALCOLATORI ELETTRONICI 30 agosto 2010

CALCOLATORI ELETTRONICI 30 agosto 2010 CALCOLATORI ELETTRONICI 30 agosto 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2015

CALCOLATORI ELETTRONICI 29 giugno 2015 CALCOLATORI ELETTRONICI 29 giugno 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Relativamente al confronto tra le implementazioni del processore

Dettagli

CALCOLATORI ELETTRONICI 14 giugno 2010

CALCOLATORI ELETTRONICI 14 giugno 2010 CALCOLATORI ELETTRONICI 14 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

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 alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: Sezione D3

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Tecniche Pipeline: Elementi di base Massimiliano Giacomin 1 Esecuzione delle istruzioni MIPS con multiciclo: rivisitazione - esame dell istruzione lw (la più complessa) - in rosso

Dettagli

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2004/2005 Calcolatori Elettronici B a.a. 2004/2005 Tecniche di Controllo: Esercizi Massimiliano Giacomin Calcolo CPI e Prestazioni nei sistemi a singolo ciclo e multiciclo ) Calcolo prestazioni nei sistemi a singolo

Dettagli

CALCOLATORI ELETTRONICI A 25 gennaio 2011

CALCOLATORI ELETTRONICI A 25 gennaio 2011 CALCOLATORI ELETTRONICI A 25 gennaio 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Supponendo di avere a disposizione dei sommatori full adder (3 ingressi e due uscite)

Dettagli

CALCOLATORI ELETTRONICI 20 gennaio 2012

CALCOLATORI ELETTRONICI 20 gennaio 2012 CALCOLATORI ELETTRONICI 20 gennaio 2012 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

Dettagli

CALCOLATORI ELETTRONICI 27 marzo 2018

CALCOLATORI ELETTRONICI 27 marzo 2018 CALCOLATORI ELETTRONICI 27 marzo 2018 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

CALCOLATORI ELETTRONICI 27 giugno 2017

CALCOLATORI ELETTRONICI 27 giugno 2017 CALCOLATORI ELETTRONICI 27 giugno 2017 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 9 gennaio 2013

CALCOLATORI ELETTRONICI 9 gennaio 2013 CALCOLATORI ELETTRONICI 9 gennaio 2013 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici CPU multiciclo: esercizi Massimiliano Giacomin 1 Prima tipologia di esercizi: valutazione delle prestazioni 2 Specchio riassuntivo su prestazioni e CPI 0) In generale: T esecuzione

Dettagli

CPU a ciclo multiplo: l unità di controllo

CPU a ciclo multiplo: l unità di controllo Architettura degli Elaboratori e delle Reti Lezione 2 CPU a ciclo multiplo: l unità di controllo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

CALCOLATORI ELETTRONICI 15 giugno 2015

CALCOLATORI ELETTRONICI 15 giugno 2015 CALCOLATORI ELETTRONICI 15 giugno 2015 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

CPU a ciclo multiplo

CPU a ciclo multiplo Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L /9 Sommario! I problemi

Dettagli

CPU a ciclo multiplo

CPU a ciclo multiplo Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 1/8 Sommario! I problemi

Dettagli

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici B a.a. 2006/2007 Calcolatori Elettronici B a.a. 26/27 Tecniche di Controllo Massimiliano Giacomin Schema del processore (e memoria) Durante l esecuzione di un programma applicativo Pa, i circuiti interpretano le istruzioni

Dettagli

Calcolatori Elettronici B a.a. 2007/2008

Calcolatori Elettronici B a.a. 2007/2008 Calcolatori Elettronici B a.a. 27/28 Tecniche di Controllo Massimiliano Giacomin Schema del processore (e memoria) Durante l esecuzione di un programma applicativo Pa, i circuiti interpretano le istruzioni

Dettagli

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

Dettagli

Calcolatori Elettronici B a.a. 2005/2006

Calcolatori Elettronici B a.a. 2005/2006 Calcolatori Elettronici B a.a. 25/26 Tecniche di Controllo Massimiliano Giacomin Architetture descrivono il calcolatore a diversi livelli di astrazione Livello del linguaggio specializzato Ls Traduzione

Dettagli

Lezione 29 Il processore: unità di controllo (2)

Lezione 29 Il processore: unità di controllo (2) Lezione 29 Il processore: unità di lo (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione 2 Un riepilogo: ruolo della unità di

Dettagli

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici B a.a. 2006/2007 Calcolatori Elettronici B a.a. 26/27 Tecniche di Controllo: Esercizi Massimiliano Giacomin Due tipologie di esercizi Calcolo delle prestazioni nei sistemi a singolo ciclo e multiciclo (e confronto) Implementazione

Dettagli

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1,

Dettagli

Una CPU multi-ciclo. Sommario

Una CPU multi-ciclo. Sommario Una CPU multi-ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/3 http:\\homes.dsi.unimi.it\ borghese Sommario I problemi della

Dettagli

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D,

Dettagli

Architettura degli elaboratori - II Le architetture multi-ciclo

Architettura degli elaboratori - II Le architetture multi-ciclo Architettura degli elaboratori - II Le architetture multi-ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano 1/41 Sommario Principi ispiratori

Dettagli

Architettura della CPU multi-ciclo

Architettura della CPU multi-ciclo Architettura della CPU multi-ciclo Architettura degli Elaboratori e delle Reti, Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!

Dettagli

Calcolatori Elettronici B a.a. 2007/2008

Calcolatori Elettronici B a.a. 2007/2008 Calcolatori Elettronici B a.a. 27/28 Tecniche Pipeline: Elementi di base assimiliano Giacomin Reg[IR[2-6]] = DR Dal processore multiciclo DR= em[aluout] em[aluout] =B Reg[IR[5-]] =ALUout CASO IPS lw sw

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Data path multiciclo Anno Accademico 2007/2008 Francesco Tortorella Problemi dell implementazione singolo ciclo Arithmetic & Logical PC Inst Memory Reg File mux ALU mux setup Load PC Inst Memory

Dettagli

Calcolatori Elettronici B a.a. 2005/2006

Calcolatori Elettronici B a.a. 2005/2006 Calcolatori Elettronici B a.a. 25/26 Tecniche Pipeline: Elementi di base assimiliano Giacomin Reg[IR[2-6]] = DR Dal processore multiciclo DR= em[aluout] em[aluout] =B Reg[IR[5-]] =ALUout CASO IPS lw sw

Dettagli

Un quadro della situazione. Lezione 28 Il Processore: unità di controllo (2) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto

Un quadro della situazione. Lezione 28 Il Processore: unità di controllo (2) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto Un quadro della situazione Lezione 28 Il Processore: unità di lo (2) Vittorio Scarano rchitettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione

Dettagli

Progetto CPU a singolo ciclo

Progetto CPU a singolo ciclo Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/50 Sommario! La CPU! Sintesi di

Dettagli

Unità di controllo della pipeline

Unità di controllo della pipeline Unità di controllo della pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: 6.3 /5 Sommario La CPU

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

Calcolatori Elettronici B a.a. 2005/2006

Calcolatori Elettronici B a.a. 2005/2006 Calcolatori Elettronici B a.a. 25/26 Tecniche di Controllo: Esercizi assimiliano Giacomin Due tipologie di esercizi Calcolo delle prestazioni nei sistemi a singolo ciclo e multiciclo (e confronto) Implementazione

Dettagli

Il processore: unità di elaborazione

Il processore: unità di elaborazione Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Lezione 8 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 8 /33 Sommario! La

Dettagli

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE Seconda Prova Intercorso ed Esami di Febbraio Lezione 24 Valutazione delle Prestazioni Vittorio Scarano rchitettura Corso di Laurea in Informatica Università degli Studi di Salerno Seconda prova intercorso:

Dettagli

Realizzazione a cicli di clock multipli

Realizzazione a cicli di clock multipli Realizzazione a cicli di clock multipli Riprendiamo in esame la realizzazione dell'unità di calcolo per individuare, per ciascuna classe di istruzioni, le componenti utilizzate e suddividere le azioni

Dettagli

Esercitazione del 30/04/ Soluzioni

Esercitazione del 30/04/ Soluzioni Esercitazione del 30/04/2009 - Soluzioni 1. LA CPU multi-ciclo Una CPU a ciclo singolo richiede un ciclo di clock di durata sufficiente a permettere la stabilizzazione del circuito nel caso dell istruzione

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo

Dettagli

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Progetto CPU (multiciclo) slide a cura di Salvatore Orlando e Marta Simeoni Problemi con progetto a singolo ciclo Problemi del singolo ciclo! Ciclo di clock lungo! Istruzioni potenzialmente più veloci

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano iferimento sul Patterson: capitolo 4.2, 4.4,

Dettagli

Progetto CPU a singolo ciclo

Progetto CPU a singolo ciclo Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/60 Sommario v La CPU v Sintesi di

Dettagli

Calcolatori Elettronici

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

Dettagli

Architettura dei calcolatori e sistemi operativi. Il processore pipeline Capitolo 4 P&H

Architettura dei calcolatori e sistemi operativi. Il processore pipeline Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Il processore pipeline Capitolo 4 P&H 4. 11. 2015 Pipelining Tecnica per migliorare le prestazioni basata sulla sovrapposizione dell esecuzione di più istruzioni

Dettagli

CPU pipeline hazards

CPU pipeline hazards Architettura degli Elaboratori e delle Reti Lezione 23 CPU pipeline hazards Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 23 /24 Sommario!

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Dettagli

Un quadro della situazione. Cosa abbiamo fatto. Lezione 30 Valutazione delle Prestazioni. Dove stiamo andando.. Perché:

Un quadro della situazione. Cosa abbiamo fatto. Lezione 30 Valutazione delle Prestazioni. Dove stiamo andando.. Perché: Un quadro della situazione Lezione 3 Valutazione delle Prestazioni Vittorio Scarano rchitettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione

Dettagli

Progetto CPU (ciclo singolo)

Progetto CPU (ciclo singolo) Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo

Dettagli

Progetto CPU (ciclo singolo) Salvatore Orlando

Progetto CPU (ciclo singolo) Salvatore Orlando Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo

Dettagli

La pipeline. Sommario

La pipeline. Sommario La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson edizione 5: 4.5 e 4.6 1/31 http:\\borghese.di.unimi.it\

Dettagli

La pipeline. Sommario

La pipeline. Sommario La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson edizione 5: 4.5 e 4.6 1/28 http:\\borghese.di.unimi.it\

Dettagli

Il processore: unità di controllo

Il processore: unità di controllo 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

L unità di controllo di CPU a singolo ciclo. Sommario

L unità di controllo di CPU a singolo ciclo. Sommario L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2,

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 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

Il Processore: l Unità di Controllo Principale Barbara Masucci

Il Processore: l Unità di Controllo Principale Barbara Masucci Architettura degli Elaboratori Il Processore: l Unità di Controllo Principale Barbara Masucci Punto della situazione Ø Abbiamo visto come costruire l Unità di Controllo della ALU per il processore MIPS

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

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Dettagli

Esercitazione del 04/05/2006 Soluzioni

Esercitazione del 04/05/2006 Soluzioni Esercitazione del 04/05/2006 Soluzioni 1. CPU singolo ciclo vs CPU multi ciclo. Una CPU a ciclo singolo richiede un ciclo di clock di durata sufficiente a permettere la stabilizzazione del circuito nel

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore

Dettagli

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Progetto CPU (ciclo singolo) Semplificato in modo tale da eseguire solo: istruzioni di memory-reference:

Dettagli

Architettura degli Elaboratori B Introduzione al corso

Architettura degli Elaboratori B Introduzione al corso Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando Arch. Elab. - S. Orlando 1 Componenti di un calcolatore convenzionale Studieremo il progetto e le prestazioni delle varie componenti

Dettagli

Esercitazione del 05/05/ Soluzioni

Esercitazione del 05/05/ Soluzioni Esercitazione del 05/05/2005 - Soluzioni Una CPU a ciclo singolo richiede un ciclo di clock di durata sufficiente a permettere la stabilizzazione del circuito nel caso dell istruzione più complicata (con

Dettagli

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline Architettura degli Elaboratori e delle Reti Lezione 22 Gestione delle eccezioni (CPU multiciclo) La CPU pipeline A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici RETI LOGICHE: RETI SEQUENZIALI Massimiliano Giacomin 1 LIMITI DELLE RETI COMBINATORIE Nelle reti combinatorie le uscite dipendono solo dall ingresso Þ impossibile far dipendere

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

CPU multiciclo eccezioni CPU pipeline

CPU multiciclo eccezioni CPU pipeline Architettura degli Elaboratori e delle Reti Lezione 22 CPU multiciclo eccezioni CPU pipeline Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 LIVELLO ORGANIZZAZIONE: SCHEMI DI BASE Massimiliano Giacomin 1 DUE ASPETTI Progettare circuiti per permettano di: 1. Trasferire l informazione da un punto a un

Dettagli

Problemi del ciclo singolo

Problemi del ciclo singolo Problemi del ciclo singolo Ciclo di clock lungo Istruzioni potenzialmente veloci sono rallentate Impiegano sempre lo stesso tempo dell istruzione più lenta Unità funzionale e collegamenti della parte operativa

Dettagli

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2004/2005 Calcolatori Elettronici B a.a. 2004/2005 RETI LOGICHE: RICHIAMI Massimiliano Giacomin 1 Unità funzionali Unità funzionali: Elementi di tipo combinatorio: - valori di uscita dipendono solo da valori in

Dettagli

CALCOLATORI ELETTRONICI 25 giugno 2018

CALCOLATORI ELETTRONICI 25 giugno 2018 CALCOLATORI ELETTRONICI 25 giugno 2018 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche OR, AND, NOT la funzione combinatoria (a 3 ingressi

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del path path a ciclo singolo Anno Accademico 24/25 Francesco Tortorella Realizzazione del data path. Analizzare l instruction set => Specifiche sul datapath il significato di ciascuna

Dettagli

Pipeline criticità e forwarding

Pipeline criticità e forwarding 1 Pipeline criticità e forwarding Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.5, 4.6 1/42 Sommario La CPU con

Dettagli

Linguaggio macchina e register file

Linguaggio macchina e register file Linguaggio macchina e register file Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4,

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del Data path Data path a ciclo singolo Anno Accademico 27/28 Francesco Tortorella (si ringrazia il prof. M. De Santo per parte del materiale presente in queste slides) Realizzazione

Dettagli

L architettura del calcolatore (Seconda parte)

L architettura del calcolatore (Seconda parte) L architettura del calcolatore (Seconda parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE: RICHIAMI

Dettagli

Implementazione semplificata

Implementazione semplificata Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento

Dettagli

Una CPU multi-ciclo. Sommario

Una CPU multi-ciclo. Sommario Una CPU multi-ciclo Prof. lberto orghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano iferimento sul Patterson: Sezione D3 1/30 http:\\borghese.di.unimi.it\

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

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Una CPU multi-ciclo. Sommario

Una CPU multi-ciclo. Sommario Una CPU multi-ciclo Prof. lberto orghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano iferimento sul Patterson: Sezioni 5.5 e 5.6 1/30 http:\\homes.dsi.unimi.it\

Dettagli

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci Architettura degli Elaboratori Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci Punto della situazione Ø Abbiamo studiato Ø Una prima implementazione hardware (a ciclo singolo) di un sottoinsieme

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Tecniche Pipeline: Elementi di base (ESERCIZI) assimiliano Giacomin Esercizio confronto prestazioni pipeline vs. mlticiclo Si consideri la segente combinazione di istrzioni esegite

Dettagli