Università degli Studi di Cassino e del Lazio Meridionale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli Studi di Cassino e del Lazio Meridionale"

Transcript

1 Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici Realizzazione del Data path a ciclo singolo Anno Accademico 22/23 Alessandra Scotto di Freca Si ringrazia il prof.francesco Tortorella per il materiale didattico

2 Realizzazione del data path. Analizzare l instruction set => Specifiche sul datapath il significato di ciascuna istruzione è dato dai register transfers il datapath deve includere elementi di memoria per i registri necessari alla ISA il datapath deve supportare ciascun trasferimento tra registri 2. Selezionare l insieme di componenti del datapath e stabilire una metodologia di tempificazione 3. Costruire il datapath rispettando le specifiche 4. Analizzare l implementazione di ciascuna istruzione per determinare i punti di controllo che abiliteranno i trasferimenti 5. Costruire la control logic Calcolatori Elettronici 22/23

3 Formati Istruzioni del MIPS R-type I-type op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits op rs rt immediate 3 6 bits 5 bits 5 bits 6 bits 26 J-type op target address 6 bits 26 bits Calcolatori Elettronici 22/23

4 Passo : Il sottoinsieme MIPS-lite ADD e SUB addu rd, rs, rt subu rd, rs, rt op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits OR Immediato: ori rt, rs, imm op rs rt immediate 6 bits 5 bits 5 bits 6 bits 6 LOAD e STORE Word lw rt, rs, imm6 sw rt, rs, imm op rs rt immediate 6 bits 5 bits 5 bits 6 bits 6 BRANCH: beq rs, rt, imm op rs rt immediate 6 bits 5 bits 5 bits 6 bits 6 Calcolatori Elettronici 22/23

5 Trasferimenti tra Registri Forniscono il significato delle istruzioni Tutto comincia con il fetch op rs rt rd shamt funct = MEM[ PC ] op rs rt Imm6 = MEM[ PC ] inst Register Transfers ADDU R[rd] R[rs] + R[rt]; PC PC + 4 SUBU R[rd] R[rs] -- R[rt]; PC PC + 4 ORi R[rt] R[rs] + zero_ext(imm6); PC PC + 4 LOAD R[rt] MEM[ R[rs] + sign_ext(imm6)]; PC PC + 4 STORE MEM[ R[rs] + sign_ext(imm6) ] R[rt]; PC PC + 4 BEQ if ( R[rs] == R[rt] ) then PC PC sign_ext(imm6)] else PC PC + 4 Calcolatori Elettronici 22/23

6 Passo 2: Componenti del Datapath Memoria instruzioni & dati Registri ( x ) read RS read RT Write RT o RD PC Extender (estensione del segno) Addiz e Sottraz di registri o di immediati (estesi) Somma 4 o immediati estesi al PC Calcolatori Elettronici 22/23

7 Passo 2: Componenti del Datapath Elementi Combinatori Elementi di Memoria tempificazione (Clocking methodology) Calcolatori Elettronici 22/23

8 Adder MUX ALU Elementi Combinatori Adder A B CarryIn Sum Carry MUX Selec t A Y B OP ALU A B Calcolatori Elettronici 22/23 Risultato

9 Elementi di Memoria: Registro Registro Ingressi N-bit Write Enable Write Enable Data In Write Enable: negato (): Data Out non cambia asserito (): Data Out diventa Data In N Data Out N Calcolatori Elettronici 22/23

10 Elementi di Memoria: Banco di Registri Il Banco di Registri consiste di registri: Write Enable Due bus a -bit di output: busa e busb Un bus di input a -bit : busw busw Un Registro viene selezionato da: RA seleziona il registro da mettere sul busa RB seleziona il registro da mettere sul busb RWRARB Registr i a -bit RW seleziona il registro da scrivere mediante il busw quando Write Enable è Il Clock (CLK) Il CLK è significativo SOLO durante le operazioni di write Durante le operazioni di read, il Banco si comporta come se fosse combinatorio: RA o RB validi => busa o busb validi dopo un tempo di accesso (access time) busa busb Calcolatori Elettronici 22/23

11 Elementi di Memoria: Banco di Registri Banco di registri: schema di accesso in lettura Calcolatori Elettronici 22/23

12 Elementi di Memoria: Banco di Registri Banco di registri: schema di accesso in scrittura Calcolatori Elettronici 22/23

13 Un modello ideale di Memoria Memoria (ideale) Un bus di input: Data In Un bus di output: Data Out Accesso a una parola di Memoria : Write Enable Indirizzo seleziona la parola da inviare su Data Out Data In DataOut Se Write Enable = : indirizzo seleziona la parola di memoria da scrivere mediante il bus Data In Clock input (CLK) Il CLK è significativo SOLO durante le operazioni di write Indirizzo Durante le operazioni di read, la Memoria si comporta come se fosse combinatoria: Indirizzo valido => Data Out valido dopo un tempo di accesso Calcolatori Elettronici 22/23

14 Passo 3 Specifiche dei Trasferimenti tra Registri Assemblaggio del Datapath Instruction Fetch Leggi gli Operandi ed Esegui l Operazione Calcolatori Elettronici 22/23

15 3a: Unità di Fetch Operazioni previste Fetch dell Istruzione: mem[pc] Aggiornamento del program counter: Codice Sequenziale: PC PC + 4 Branch e Jump: PC qualcos altro PC Next Address Logic Address Instruction Memory Instruction Word Calcolatori Elettronici 22/23

16 ALU 3b: Add & Subtract R[rd] R[rs] op R[rt] Esempio: addu rd, rs, rt Ra, Rb e Rw dai campi rs, rt e rd dell istruzione ALUctr e RegWr: dalla control logic dopo la decodifica dell istruzione op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits 6 RegWr busw Rd Rs Rw Ra Rb -bit Registers Rt busa busb ALUctr Result Calcolatori Elettronici 22/23

17 Register-Register Timing ALU PC Rs, Rt, Rd, Op, Func ALUctr Val. Prec. -to-q Val. Succ. Val. Prec. Val. Prec. Tempo di Accesso alla Instruction Memory Val. Succ. Ritardo introdotto dalla Control Logic Val. Succ. RegWr Val. Prec. Val. Succ. busa, B Val. Prec. Tempo di accesso Banco di Registri Val. Succ. busw Val. Prec. Ritardo ALU Val. Succ. busw RegWr Rd Rs Rt Rw Ra Rb Registri a -bit busa busb ALUctr Result Qui avviene il Register Write Calcolatori Elettronici 22/23

18 ALU Mux ZeroExt 3c: Operazioni Logiche con Immediati R[rt] R[rs] op ZeroExt[imm6] ] op rs rt immediate 6 bits 5 bits 5 bits rd? 6 bits immediate Rd Rt 6 bits 6 bits RegDst Mux Rs RegWr ALUctr busa Rw Ra Rb busw Registri Risultato a -bit busb imm6 6 ALUSrc Calcolatori Elettronici 22/23

19 ALU Mux Mux Extender 3d: Operazioni di Load R[rt] Mem[R[rs] + SignExt[imm6]] Esempio: lw rt, imm6(rs) RegDst busw Rd RegWr Mux imm6 Rt Rw Ra Rb Registri a -bit 6 Rs 3 busb op rs rt immediate 6 bits 5 bits 5 bits rd 6 bits busa ALUSrc ALUctr Data In MemWr WrEn Adr Data Memory W_Src ExtOp Calcolatori Elettronici 22/23

20 ALU Mu x Mux Mux Extender 3e: Operazioni di Store Mem[ R[rs] + SignExt[imm6] R[rt] ] Esempio: sw rt, imm6(rs) op rs rt immediato 6 bits 5 bits 5 bits 6 bits RegDst Rd Rt ALUctr MemWr Mux Rs Rt RegWr busw busa Rw Ra Rb Registri a -bit busb WrEn Adr imm6 Data In Data 6 Memory W_Src ExtOp ALUSrc Calcolatori Elettronici 22/23

21 3f: L Istruzione di Branch op rs rt immediate 6 bits 5 bits 5 bits 6 bits 6 beq rs, rt, imm6 mem[pc] Fetch dell istruzione dalla memoria EQUAL R[rs] == R[rt] Calcolo della condizione di branch if (EQUAL) Calcolo indirizzo prossima istruzione PC PC ( SignExt(imm6) x 4 ) else PC PC + 4 Calcolatori Elettronici 22/23

22 Adder PC Mux Adder PC Ext Datapath per Operazioni di Branch beq rs, rt, imm op rs rt immediate 6 bits 5 bits 5 bits 6 bits Indirizzo Istruzione EQUAL 4 npc_sel busw RegWr Rs Rw Ra Rb Registri a -bit Rt busa busb Equal? imm6 Calcolatori Elettronici 22/23

23 <:5> <:5> <6:2> <2:25> ALU PC Mux Mux Mux Extender PC Ext Single Cycle Datapath Inst Memory Adr Rs Rt Rd Imm6 Instruction<3:> npc_sel RegDst Rd Rt Equal ALUctr MemWr MemtoReg imm6 4 Adder Adder RegWr busw imm6 5 5 Rs 5 Rw Ra Rb Registri a -bit 6 Rt busa busb = WrEn Adr Data In Data Memory ExtOp ALUSrc Calcolatori Elettronici 22/23

24 <:5> <:5> <6:2> <2:25> <:5> <26:3> Passo 4: Realizzazione del Controllo Instruction<3:> Inst Memory Adr Op Fun Rs Rt Rd Imm6 Logica di Controllo npc_selregwr RegDst ExtOp ALUSrc ALUctr MemWr MemtoReg Equal DATA PATH Calcolatori Elettronici 22/23

25 PC Mux PC Ext Significato dei Segnali di Controllo Rs, Rt, Rd e Imm6 sono cablati nel datapath npc_sel: => PC PC + 4; => PC PC SignExt(Im6) n= next npc_sel Inst Memory Adr 4 Adder Adder imm6 Calcolatori Elettronici 22/23

26 ALU Mux Mux Extender Significato dei Segnali di Controllo ExtOp: zero, sign ALUsrc: => regb; => immed ALUctr: add, sub, or RegDst RegWr busw imm6 Rd Rt 5 5 Rs 5 Rw Ra Rb Registri da - bit 6 Rt busa busb Equal MemWr: write memory MemtoReg: =>ALU; => Mem RegDst: => rt ; => rd RegWr: write dest register ALUctr MemWr MemtoReg = WrEn Adr Data In Data Memory ExtOp Anno ALUSrc accademico Calcolatori Elettronici 22/23

27 Control Signals inst Register Transfer ADD R[rd] <-- R[rs] + R[rt]; PC <-- PC + 4 ALUsrc = RegB, ALUctr = add, RegDst = rd, RegWr, npc_sel = +4 SUB R[rd] <-- R[rs] -- R[rt]; PC <-- PC + 4 ALUsrc = RegB, ALUctr = sub, RegDst = rd, RegWr, npc_sel = +4 ORi R[rt] <-- R[rs] + zero_ext(imm6); PC <-- PC + 4 ALUsrc = Im, Extop = Z, ALUctr = or, RegDst = rt, RegWr, npc_sel = +4 LOAD R[rt] <-- MEM[ R[rs] + sign_ext(imm6)]; PC <-- PC + 4 ALUsrc = Im, Extop = Sn, ALUctr = add, MemtoReg, RegDst = rt, RegWr, npc_sel = +4 STORE MEM[ R[rs] + sign_ext(imm6)] <-- R[rs]; PC <-- PC + 4 ALUsrc = Im, Extop = Sn, ALUctr = add, MemWr, npc_sel = +4 BEQ if ( R[rs] == R[rt] ) then PC <-- PC sign_ext(imm6)] else PC <-- PC + 4 npc_sel = EQUAL, ALUctr = sub Calcolatori Elettronici 22/23

28 Passo 5: Logica per ciascun segnale di controllo npc_sel <= if (OP == BEQ) then EQUAL else ALUsrc <=if (OP == ) then regb else immed ALUctr <= if (OP == ) then funct elseif (OP == ORi) then OR elseif (OP == BEQ) then sub else add ExtOp <= if (OP == ORi) then zero else sign MemWr <= (OP == Store) MemtoReg<= (OP == Load) RegWr: <= if ((OP == Store) (OP == BEQ)) then else RegDst: <= if ((OP == Load) (OP == ORi)) then else Calcolatori Elettronici 22/23

29 La tabella di verità per il controllo op 6 RegDst ALUSrc MemtoReg RegWrite MemWrite PCSrc Jump ExtOp RegDst func ALUSrc ALU ALUctr Main 6 : Control 3 Control ALUop (Local) 3 op R-type ori lw sw beq jump x ALUop (Symbolic) R-type Or Add Add Subtract xxx ALUop <2> x ALUop <> x ALUop <> x x x x x x x x x x Calcolatori Elettronici 22/23

30 La tabella di verità per RegWrite R-type ori lw sw beq jump RegWrite RegWrite = R-type + ori + lw op =!op<5> &!op<4> &!op<3> &!op<2> &!op<> &!op<> (R-type) +!op<5> &!op<4> & op<3> & op<2> &!op<> & op<> (ori) + op<5> &!op<4> &!op<3> &!op<2> & op<> & op<> (lw) op<5>. op<5> op<5>.. op<5>.. op<5>.. op<5>..... <> <> <> <> <> op<> R-type ori lw sw beq jump RegWrite Calcolatori Elettronici 22/23

31 Implementazione PLA del controllo op<5>.. op<5>.. op<5>.. op<5>.. op<5>.. op<5>.. <> <> <> <> <> op<> R-type ori lw sw beq jump RegWrite ALUSrc RegDst MemtoReg MemWrite Branch Jump ExtOp ALUop<2> ALUop<> ALUop<> Calcolatori Elettronici 22/23

32 ALU Vista Astratta dell Implementazione Next Address Ideal Instruction Memory Instruction Address PC Rd 5 Instruction Rs 5 Rw Ra Rt 5 Rb -bit Registers A B Controllo Control Signals Conditions Data Address Data In Ideal Data Memory Data Out Datapath Calcolatori Elettronici 22/23

33 Schema del datapath con le linee di controllo PCSrc Add M ux 4 RegWrite Shift left 2 Add ALU result PC Read address Instruction [3 ] Instruction memory Instruction [25 2] Instruction [2 6] M ux Instruction [5 ] RegDst Instruction [5 ] Read register Read register 2 Write register Write data Read data Read data 2 Registers 6 Sign extend ALUSrc M ux ALU control ALU Zero ALU result MemWrite Address Write data Data memory MemRead Read data MemtoReg M ux Instruction [5 ] ALUOp Calcolatori Elettronici 22/23

34 Schema del datapath con l unità di controllo M ux 4 Add Instruction [3 26] Control RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite Shift left 2 Add result ALU PCSrc PC Read address Instruction memory Instruction [3 ] Instruction [25 2] Instruction [2 6] Instruction [5 ] M ux Read register Read data Read register 2 Registers Read Write data 2 register Write data M ux Zero ALU ALU result Address Write data Data memory Read data M ux Instruction [5 ] 6 Sign extend ALU control Instruction [5 ] Calcolatori Elettronici 22/23

35 Modifica per implementare jump Instruction [25 ] Shift Jump address [3 ] left PC+4 [3 28] M ux M ux 4 Add Instruction [3 26] Control RegDst Jump Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite Shift left 2 Add result ALU PC Read address Instruction memory Instruction [3 ] Instruction [25 2] Instruction [2 6] Instruction [5 ] M ux Read register Read data Read register 2 Registers Read Write data 2 register Write data M ux Zero ALU ALU result Address Write data Data memory Read data M ux Instruction [5 ] 6 Sign extend ALU control Instruction [5 ] Calcolatori Elettronici 22/23

36 ALU Vista astratta del critical path Definisce la max frequenza di clock Next Address Ideal Instruction Memory Instruction Address PC Rd 5 Instruction Rs 5 Rt 5 Rw Ra Rb -bit Registers Critical Path (istr. LOAD) = Ritardo tra e out PC + Access Time della Mem. Istruzioni + Access Time del banco registri+ Tempo di ritardo ALU (add bit) + Access Time della Mem. Dati + Tempo di hold per il Register File Write Imm 6 A B Data Address Data In Ideal Data Memory Calcolatori Elettronici 22/23

37 Riassumendo 5 passi per progettare un processore. Analizzare l instruction set => Specifiche sul datapath 2. Selezionare l insieme di componenti del datapath stabilire una metodologia di clocking 3. Costruire il datapath rispettando le specifiche 4. Analizzare l implementazione di ciascuna istruzione per determinare i punti di controllo che abiliteranno i trasferimenti 5. Costruire la logica di controllo il MIPS rende più semplice il progetto Le istruzioni tutte della stessa dimensione I registri sorgente sempre nello stesso posto dell istruzione Gli Immediati stessa dimensione, posizione Le Operazioni sempre su registri/immediati Calcolatori Elettronici 22/23

38 Che cosa abbiamo combinato? High Level Language Program (e.g., C) Compiler Assembly Language Program (e.g.,mips) Assembler Machine Language Program (MIPS) Machine Interpretation Hardware Architecture Description (e.g., block diagrams) temp = v[k]; v[k] = v[k+]; v[k+] = temp; lw $t, ($2) lw $t, 4($2) sw $t, ($2) sw $t, 4($2) Architecture Implementation Logic Circuit Description (Circuit Schematic Diagrams) Calcolatori Elettronici 22/23

39 Valutazione del data path a ciclo singolo L implementazione realizzata prevede implicitamente che occorra un solo ciclo di clock per eseguire una qualunque istruzione. Sebbene tale implementazione funzioni correttamente, non è utilizzata in pratica perché inefficiente (qual è il motivo?) Consideriamo un esempio numerico Calcolatori Elettronici 22/23

40 Valutazione del data path a ciclo singolo Assumiamo che i tempi di ritardo di tutti i componenti nel datapath siano trascurabili tranne: Unità di memoria: 2 ps ALU e addizionatori: ps Register file (read e write): 5 ps Confrontiamo le prestazioni di due diverse implementazioni: Implementazione a ciclo singolo di lunghezza fissa Implementazione a ciclo singolo di lunghezza variabile (soluzione solo teorica) Calcolatori Elettronici 22/23

41 Valutazione del data path a ciclo singolo Supponiamo la seguente distribuzione per le istruzioni: Load: 25 % Store: % Istruzioni logico-aritmetiche: 45 % Branch: 5 % Jump: 5 % Calcolatori Elettronici 22/23

42 Valutazione del data path a ciclo singolo Tipo di istruzione Unità funzionali usate Logico aritmetiche Instr. fetch Accesso ai registri ALU Accesso ai registri Load Instr. fetch Accesso ai registri ALU Accesso alla memoria Accesso ai registri Store Instr. fetch Accesso ai registri ALU Accesso alla memoria Branch Instr. fetch Accesso ai registri ALU Jump Instr. fetch Calcolatori Elettronici 22/23

43 Valutazione del data path a ciclo singolo Tipo di istruzione Instruction memory Register Read ALU operation Data memory Register write Totale (ps) Logico aritmetiche Load Store Branch Jump 2 2 Calcolatori Elettronici 22/23

44 Valutazione del data path a ciclo singolo Ciclo di lunghezza fissa: necessario allinearsi all istruzione che richiede maggior tempo di esecuzione. T f = 6 ps Ciclo di lunghezza variabile: occorre valutare il tempo medio di esecuzione. T v = ps T v = 6*.25+55*.+4*.45+35*.5+2*.5 Consideriamo il rapporto T f /T v =.34 Calcolatori Elettronici 22/23

45 Valutazione del data path a ciclo singolo Problemi dell implementazione del data path a ciclo singolo di lunghezza fissa: Condizionato dal worst case (istruzione più lenta) Ogni unità funzionale è usata una volta sola per ciclo (necessario replicare alcune funzionalità, es. adder) Situazione anche peggiore se si considera l introduzione di altre unità necessarie (FPU). Soluzioni possibili? Implementazione multiciclo (OLD): ciclo più breve legato al tempo di ritardo dell unità funzionale più lenta. Le unità vengono usate per più compiti, ma l esecuzione di un istruzione richiede più cicli di clock. Implementazione pipeline: data path simile all implementazione a ciclo singolo. Permette l esecuzione contemporanea di più istruzioni incrementando l utilizzazione dell hardware e aumentando le prestazioni. Calcolatori Elettronici 22/23

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

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

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

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 Architettura degli elaboratori - CPU (ciclo singolo) A.A. 26/7 Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori CPU a ciclo singolo Marco

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

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

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

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

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

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

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

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

Architettura degli Elaboratori B. Introduzione al corso. Componenti di un calcolatore convenzionale. (ciclo singolo) Progetto CPU. Contenuti del corso

Architettura degli Elaboratori B. Introduzione al corso. Componenti di un calcolatore convenzionale. (ciclo singolo) Progetto CPU. Contenuti del corso Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando Arch. Elab. - S. Orlando 1 Contenuti del corso Progetto della CPU CPU in grado di eseguire un sottoinsieme di istruzioni MIPS in

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

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

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

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

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

Architettura degli elaboratori - CPU multiciclo - Part 1 A.A. 2017/18

Architettura degli elaboratori - CPU multiciclo - Part 1 A.A. 2017/18 Architettura degli elaboratori - - Part 1 A.A. 2017/18 Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Marco Tarini Dipartimento di Scienze

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

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Componenti visti Nelle scorse lezioni abbiamo visto come sono realizzati i seguenti

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

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

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

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

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

Architettura degli Elaboratori

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

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

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

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

Architettura di tipo registro-registro (load/store)

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

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:

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

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

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

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo

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

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

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

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

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

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

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

La CPU a singolo ciclo

La CPU a singolo ciclo La 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 5 (fino a 5.4) 1/44 Sommario

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

La CPU a singolo ciclo

La CPU a singolo ciclo La 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 5 (fino a 5.4) /46 Sommario

Dettagli

Circuiti Sequenziali

Circuiti Sequenziali Circuiti Sequenziali I circuiti combinatori sono in grado di calcolare funzioni che dipendono solo dai dati in input I circuiti sequenziali sono invece in grado di calcolare funzioni che dipendono anche

Dettagli

Architettura degli elaboratori MZ Compito A

Architettura degli elaboratori MZ Compito A Architettura degli elaboratori MZ 16-4-18 Compito A Cognome e Nome: Matricola: Esercizio 1A. Considerate l architettura MIPS a ciclo singolo in Figura (sul retro). Qual è il valore dei segnali che partono

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

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

ISA (Instruction Set Architecture) della CPU MIPS

ISA (Instruction Set Architecture) della CPU MIPS Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina

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

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div

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

Elementi base per la realizzazione dell unità di calcolo

Elementi base per la realizzazione dell unità di calcolo Elementi base per la realizzazione dell unità di calcolo Memoria istruzioni elemento di stato dove le istruzioni vengono memorizzate e recuperate tramite un indirizzo. ind. istruzione Memoria istruzioni

Dettagli

ISA (Instruction Set Architecture) della CPU MIPS32

ISA (Instruction Set Architecture) della CPU MIPS32 Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS32 Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina

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

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

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici CPU multiciclo Massimiliano Giacomin SVANTAGGI DEL PROCESSORE A SINGOLO CICLO Tutte le istruzioni lunghe un ciclo di clock T clock determinato dall istruzione più lenta Istruzioni

Dettagli

Prova intermedia di Architettura degli elaboratori canale MZ Sterbini Compito A

Prova intermedia di Architettura degli elaboratori canale MZ Sterbini Compito A Prova intermedia di Architettura degli elaboratori canale MZ Sterbini 13-4-2015 Compito A Cognome e Nome: Matricola: Esercizio 1. (4/30) Nell architettura MIPS a ciclo singolo (fig. sul retro), quali sono

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

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

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

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):

Dettagli

CPU a singolo ciclo: l unità di controllo, esecuzione istruzioni tipo J

CPU a singolo ciclo: l unità di controllo, esecuzione istruzioni tipo J Architettura degli Elaboratori e delle Reti Lezione 9 CPU a singolo ciclo: l unità di controllo, esecuzione istruzioni tipo J Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione

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

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto Un quadro della situazione Lezione 15 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri

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

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

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

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

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione

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

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

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

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

CPU a singolo ciclo: l unità di controllo, istruzioni tipo J

CPU a singolo ciclo: l unità di controllo, istruzioni tipo J Architettura degli Elaboratori e delle Reti Lezione 9 CPU a singolo ciclo: l unità di controllo, istruzioni tipo J Pro. A. Borghese, F. Pedersini Dipartimento di Scienze dell Inormazione Università degli

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

Fetch Decode Execute Program Counter controllare esegue prossima

Fetch Decode Execute Program Counter controllare esegue prossima Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo

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

Manualino minimale MIPS

Manualino minimale MIPS Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Manualino minimale MIPS Marco Tarini Operazioni aritmetiche Nome Comando completo Esempio Sintassi (es) Significato Semantica

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

31!30!29!28!27!26!25!24!23!22!21!20!19!18!17!16!15!14!13!12!11!10! 9! 8! 7! 6! 5! 4! 3! 2! 1! 0! !

31!30!29!28!27!26!25!24!23!22!21!20!19!18!17!16!15!14!13!12!11!10! 9! 8! 7! 6! 5! 4! 3! 2! 1! 0! ! ESERCIZIO 1A Si consideri il seguente programma (accanto ad ogni istruzione è riportata la rappresentazione in binario): sw $s0, 40($s1) 101011 10001 10000 0000000000101000 lw $t0, 40($s1) 100011 10001

Dettagli

Istruzioni di trasferimento dati

Istruzioni di trasferimento dati Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:

Dettagli

Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Argomenti della lezione - Esercizi sulla CPU MIPS a 1 colpo di clock

Dettagli

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche 3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni

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

Istruzioni e linguaggio macchina

Istruzioni e linguaggio macchina Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare

Dettagli