Progetto CPU a singolo ciclo
|
|
- Silvestro Riccardi
- 5 anni fa
- Visualizzazioni
Transcript
1 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 una CPU per le istruzioni di tipo R! Sintesi di una CPU per le istruzioni di tipo I (memoria)! Sintesi di una CPU per le istruzioni di tipo I (salti)! CPU che gestisce istruzioni: lw/sw e branch 2/50
2 Obiettivo! Obiettivo: costruzione di una CPU completa " In grado di eseguire: " Accesso alla memoria in lettura (lw) o scrittura (sw). " Istruzioni logico-matematiche (e.g. add, sub, and...). " Istruzioni di salto condizionato (branch) o incondizionato (jump)! Per la sintesi dei circuiti è necessario definire: " Formati di istruzione: R, I, J " Ciclo esecuzione istruzioni 3/50 Riepilogo: Formato istruzioni! 3 diversi formati: R, I, J! Formato riconosciuto dalla CPU tramite il valore del primo campo: codice operativo (opcode) (6 bit più significativi) " che indica alla macchina come trattare i rimanenti bit dell istruzione. R I J 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit op rs rt rd shamt funct op rs rt indirizzo (costante) op indirizzo (costante) bit 4/50
3 Ciclo di esecuzione di istruzioni MIPS 1. FETCH: preleva l istruzione dalla memoria e la inserisce in IR 2. DECODIFICA: Capisce di che tipo di istruzione si tratta " usa l istruzione per decidere cosa fare " recdupera gli operandi, contenuti nei registri del Register File 3. Da qui le istruzioni si differenziano: " Calcolo: utilizzo dell dopo aver letto i registri: per calcolare l indirizzo in memoria per eseguire un operazione logico-aritmetica per effettuare un test. " Accesso alla memoria " Scrittura del risultato nel register file FETCH (prelievo istruzione) Decodifica Esecuzione Lettura / scrittura Write back 5/50 Rapporto UC Dati! CPU: approccio alla progettazione di tipo Controllore Data-path " Fasi comuni: (nel ciclo di esecuzione) Fetch, Decodifica (generazione dei segnali di controllo) " Fasi specifiche: Esecuzione, Accesso memoria, WriteBack segnali dal mondo esterno Dati Controllore Informazioni di controllo Segnali di controllo Data path segnali al mondo esterno Risultati 6/50
4 L unità di controllo! L Unità di controllo (UC) coordina i flussi di informazione (è il cervello della CPU): " selezionando l operazione opportuna delle. " abilitando le vie di comunicazione opportune a seconda dell istruzione in corso di esecuzione. Data path registri Memoria PC β 1 β M. Segnali di controllo. Unità di controllo Istruzione β j 7/50 I componenti di un architettura Datapath CPU: " Banco di registri (Register File) : posso leggere 2 registri e scriverne uno contemporaneamente. " Registro Program counter (PC) Contiene l indirizzo dell istruzione da eseguire. " Registro Instruction Register (IR) Contiene l istruzione in corso di esecuzione. " Arithmetic Logic Unit (): Unità per l esecuzione delle operazioni aritmeticologiche. " Unità di controllo (UC): controlla il flusso e determina le operazioni di ciascun blocco. 2 MEMORIE: " Memoria Programma (contiene le istruzioni) " Memoria Dati (per contenere dati e risultati) CPU Unità di controllo PC Memoria DATI Register File IR Memoria PROGRAMMA 8/50
5 CPU singolo ciclo: temporizzazione CPU singolo ciclo = 1 istruzione/ciclo di clock Indirizzo(t 2 ) PC Indirizzo(t 1 ) Indirizzo(t 3 ) PC Indirizzo(t 2 ) clock clock clock(t) t T CLOCK t 1 t 2 9/50 Sommario! La CPU! Sintesi di una CPU: fase di fetch! Sintesi di una CPU per le istruzioni di tipo R! Sintesi di una CPU per le istruzioni di tipo I (memoria)! Sintesi di una CPU per le istruzioni di tipo I (salti)! CPU che gestisce istruzioni: lw/sw e branch 10/50
6 Fase di FETCH! FETCH: " Memorizzare l indirizzo dell istruzione nel Program Counter. " Leggere l istruzione dalla memoria di programma. " Aggiornare l indirizzo in modo che in PC sia contenuto l indirizzo dell istruzione successiva: " Dispositivi coinvolti: PC PC Indirizzo(t+1) PC Indirizzo(t) PC(t) PC(t)+4 Indirizzo Memoria istruzioni Istruzione +4 11/50 Circuito della fase di fetch Datapath: fase di FETCH (tutte le istruzioni) 0x PC 8000 Memoria istruzioni 0x Istruzione : add $s1, $s2, $s3 8004: sub $s4, $s1, $t1... Read 12/50
7 Sommario! La CPU! Sintesi di una CPU: fase di fetch! Sintesi di una CPU per le istruzioni di tipo R! Sintesi di una CPU per le istruzioni di tipo I (memoria)! Sintesi di una CPU per le istruzioni di tipo I (salti)! CPU che gestisce istruzioni: lw/sw e branch 13/50 Fase di decodifica op rs rt rd shamt funct 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit 6 DECODIFICA (tutte le istruzioni): Leggo l istruzione e genero i segnali di controllo opportuni. Leggo il contenuto dei registri. OPCODE Unità di controllo Segnali di controllo 14/50
8 Lettura dei registri (istr. tipo R) op rs rt rd shamt funct Tipo R 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit ESECUZIONE A/L tipo R: 1) Leggo l istruzione e genero i segnali di controllo opportuni. 2) Leggo il contenuto dei registri. #Reg read 1 #Reg read 2 #Reg write Contenuto Write Register File registri da bit RegWrite Contenuto 1: $rs Contenuto 1: $rt 8000 add $s1, $s2, $s sub $s4, $s1, $t /50 Fase di Esecuzione (tipo R)! I dati vengono letti dal Register File e immessi nella " Necessità della doppia porta di uscita del Register File! La viene comandata in modo opportuno ( S ) s rs rt #Reg read 1 #Reg read 2 #Reg write Contenuto Write Register File registri da bit $rs $rt $s2 $s3 3 s zero Risultato overflow RegWrite 8000: add $s1, $s2, $s /50
9 Fase di Write back (tipo R) Write-back:! La ha eseguito l operazione ( S )! Il risultato viene memorizzato nel register file " Comandi: Write (W), #reg_write s rd #Reg read 1 #Reg read 2 #Reg write Contenuto write Register File registri da bit Contenuto 1 Contenuto 2 3 s zero overflow RegWrite Risultato 17/50 CPU per l esecuzione di un istruzione di tipo R Esecuzione istruzione aritmetico/logica tipo R: Tipo R op rs rt rd shamt funct 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit P C Memoria istruzioni +4 + #reg read1 #reg read2 Contenuto 1 #reg write Register File s 3 s zero Read istruzione corrente contenuto write RegWrite Contenuto 2 overflow Unità di controllo Segnali di controllo 18/50
10 Sommario! La CPU! Sintesi di una CPU: fase di fetch! Sintesi di una CPU per le istruzioni di tipo R! Sintesi di una CPU per le istruzioni di tipo I (memoria)! Sintesi di una CPU per le istruzioni di tipo I (salti)! CPU che gestisce istruzioni: lw/sw e branch 19/50 Istruzioni di tipo I memoria: lw/sw Tipo (formato) I 6 bit 5 bit 5 bit 16 bit op rb rd offset L indirizzo di memoria sarà: lw $s1, 20($s2) Base ($s2) Offset = indirizzo: /50
11 Fase di esecuzione (tipo I: lw) 6 bit 5 bit 5 bit 16 bit op rb rd offset 16 estens. di segno #reg read 1 #reg read 2 #reg write contenuto write Register File RegWrite Contenuto 1 Contenuto 2 <$s2> 20 s 3 s Risultato = Indirizzo MEM zero overflow 8000: lw $s1, 20($s2) 21/50 Lettura della memoria: write-back 8000: lw $s1, 20($s2) Risultato = Indirizzo MEM <$s2> + 20 MemRead Memoria Dati Dato #Reg read 1 #Reg read 2 #Reg write Contenuto Write Register File registri da bit Contenuto 1 Contenuto 2 CPU RegWrite 22/50
12 CPU per l esecuzione di una lw Esecuzione istruzione lw: 8000: lw $s1, 20($s2) 6 bit 5 bit 5 bit 16 bit op rs rd offset P C Memoria istruzioni #reg read1 #reg read2 #reg write estens. di segno Register File s 3 Read lw $s1, 20($s2) contenuto write RegWrite Unità di controllo dato Memoria dati indirizzo MemRead 23/50 CPU per l esecuzione di una sw Esecuzione istruzione sw: 8000: sw $s1, 20($s2) 6 bit 5 bit 5 bit 16 bit op rs rt offset P C Memoria istruzioni #reg read1 #reg read2 #reg write estens. di segno Register File s 3 Read sw $s1, 20($s2) contenuto write RegWrite Unità di controllo dato Memoria dati indirizzo MemWrite 24/50
13 Sommario! La CPU! Sintesi di una CPU: fase di fetch! Sintesi di una CPU per le istruzioni di tipo R! Sintesi di una CPU per le istruzioni di tipo I (memoria)! Sintesi di una CPU per le istruzioni di tipo I (salti)! CPU che gestisce istruzioni: lw/sw e branch 25/50 Istruzioni di tipo I: branch beq $s1, $s2, 20 6 bit 5 bit 5 bit 16 bit op rs rt offset (5*4=20) 1. Calcolo dell indirizzo di salto: calcolo dell offset in byte: offset*4 20 = 5*4: 101 # somma dell offset in byte al contenuto del Program Counter: Program Counter: Offset*4: = Indirizzo salto: BRANCH: valutare l uguaglianza e saltare se è vera. 26/50
14 Fase di esecuzione della beq beq $s1, $s2, OpCode rs rt offset Operazioni: 1) Estensione dell offset su bit. PC 3 + 2) Moltiplicazione per 4 dell offset. 3) Somma del PC con l estensione del segno. 4) Controllo se il contenuto dei registri è uguale. offset (byte) offset 16 est. segno x 4 offset (byte) $rs $rt 3 27/50 Circuito di esecuzione: beq Esecuzione istruzione beq: Abbiamo bisogno di un ulteriore sommatore s = sub zero UC 28/50
15 Sommario! La CPU! Sintesi di una CPU: fase di fetch! Sintesi di una CPU per le istruzioni di tipo R! Sintesi di una CPU per le istruzioni di tipo I (memoria)! Sintesi di una CPU per le istruzioni di tipo I (salti)! CPU che gestisce istruzioni: lw/sw e branch 29/50 ISA MIPS tipi di istruzione: R, I (lw/sw,branch) 30/50
16 CPU singolo ciclo: caratteristiche! CPU a singolo ciclo: il ciclo di esecuzione di un istruzione si compie in un unico ciclo di clock.! tutte le unità funzionali coinvolte in un istruzione vengono utilizzate contemporaneamente! Ogni unità funzionale può essere utilizzata 1 sola volta durante un istruzione.! Duplicazione Memoria: Memoria dati e memoria istruzioni.! Triplicazione : 2 sommatori + 1 general purpose.! Introduzione di multiplexers. 31/50 Schema generale! Esegue: accesso a memoria: lw/sw, aritmetico-logiche tipo R, branch: beq 0 Istruzione [31-26] UC 1 Istruzione s /50
17 Schema generale (lw/sw + R + beq) 0 Istruzione [31-26] UC 1 Istruzione s Unità di Controllo CPU: Controllore della : Segnali_Controllo = f (Opcode) s = f (Opcode,funct) 33/50 Sommario Unità di controllo:! Controllore della! Unità di Controllo Principale 34/50
18 UC e Sintesi UC-:! UC genera op in funzione dell istruzione (OpCode)! UC- genera s in funzione di: " OpCode # op " Funct istruzione OpCode Istr(31:26) Funct Istr(5:0) UC op UC s! Quali operazioni devono essere eseguite Istruz. Operaz. op R # dipende da funct 10 lw # somma 00 sw # somma 00 beq # confronto # differenza 01 Istr op R 10 lw/sw 00 beq 01 $ 3 classi distinte (2 bit # op) 35/50 Controllo della : sintesi op! Sintesi del circuito logico: op = f (OpCode) Istr OpCode op lw sw beq add sub and or slt nella UC... OpCode5 OpCode4 OpCode3 OpCode2 OpCode1 OpCode0 OpCode5 OpCode4 OpCode3 OpCode2 OpCode1 OpCode0 op 1 op 0 op0 = OpCode5 OpCode4 OpCode3 OpCode2 OpCode1 OpCode0 op1 = OpCode5 OpCode4 OpCode3 OpCode2 OpCode1 OpCode0 36/50
19 UC : Controllo gerarchico OpCode 6 UC 2 op = f (OpCode) funct 6 UC s = 3 f (op, funct) 3 classi distinte OpCode op R R 2. lw/sw 3. branch lw/sw beq tipo R # s dipende da funct funct s and 000 or 001 add 010 sub 110 slt /50 Controllo della s = f ( op, Funct ) Istr OpCode op (Ao) Funct ( f ) s lw x x x x x x sw x x x x x x beq x x x x x x add sub and or slt ( ) SOP ( )( f 5 + f 4 + f 3 + f 2 + f 1 ) POS ( ) SOP s 0 = Ao 1 Ao 0 + Ao 1 Ao 0 f 5 f 4 f 2 f 1 f 0 s 1 = Ao 1 + Ao 0 s 2 = Ao 1 Ao 0 f 5 f 4 f 3 f 2 f 1 f 0 + f 3 f 2 f 1 f 0 38/50
20 Controllo della ( ) ( )( f 5 + f 4 + f 3 + f 2 + f 1 ) ( ) s = f ( op, Funct ) s 0 = Ao 1 Ao 0 + Ao 1 Ao 0 f 5 f 4 f 2 f 1 f 0 s 1 = Ao 1 + Ao 0 s 2 = Ao 1 Ao 0 f 5 f 4 f 3 f 2 f 1 f 0 + f 3 f 2 f 1 f 0 39/50 Sommario Unità di controllo:! Controllore della! Unità di Controllo Principale 40/50
21 Schema generale (lw/sw + R + beq) 0 Istruzione [31-26] UC 1 Istruzione s Unità di Controllo CPU: Controllore della : Segnali_Controllo = f (Opcode) s = f (Opcode,funct) 41/50 Segnali di controllo CPU Sintesi UC principale: Segnali di selezione: OpCode Unità di controllo Segnali di controllo Segnale Effetto quando vale 0 Effetto quando vale 1 RegDst Src PCSrc MemtoReg Il numero del registro destinazione proviene dal campo rd (bit 15-11) Il secondo operando della proviene dal campo offset (estesa a bit) Il valore del PC viene sostituito dall uscita del sommatore che calcola PC+4 Il valore inviato a ContenutoWrite del Register File proviene dalla Il numero del registro destinazione proviene dal campo rt (bit 20-16) Il secondo operando della proviene dalla II porta di lettura del Register File Il valore del PC viene sostituito dall uscita del sommatore che calcola l indirizzo di salto Il valore inviato a ContenutoWrite del Register File proviene dalla memoria Segnali di comando: Segnale Effetto quando vale 0 Effetto quando vale 1 RegWrite Nessuno Nel registro specificato su #RegWrite viene scritto il valore all ingresso: ContenutoWrite MemRead Nessuno Comando di lettura della memoria dati MemWrite Nessuno Comando di scrittura della memoria dati 42/50
22 Segnali di controllo del Data-path Istr OpCode Reg Dst src Mem toreg Reg Write Mem Read Mem Write Branch op R lw sw x 0 x beq x 1 x ! Relazione tra PCSrc e Branch: PCSrc = Branch AND [condiz. salto verificata] beq: :zero Branch PCSrc 43/50 UC principale: Segnali di controllo Tabella di sintesi UC principale: Istr Ingressi: OpCode,.zero Uscite: segnali di controllo CPU Ingressi OpCode : Zero Reg Dst src Mem toreg Reg Write Uscite Mem Read Mem Write Branch R x lw x sw x x 0 x beq x 1 x op RegDst = OpCode0 src = not(opcode0) MemtoReg = OpCode0 MemWrite = OpCode3 MemRead = OpCode5 not(opcode3) Branch = OpCode2 PCsrc = Branch zero RegWrite = NOT(OpCode2 + OpCode3 + not(opcode5)) 44/50
23 Sintesi di alcuni segnali di controllo! Su ISA completo: OpCode5 OpCode4 OpCode3 OpCode2 OpCode1 OpCode0 src! Sul nostro ISA ridotto: OpCode5 OpCode4 OpCode3 OpCode2 OpCode1 OpCode0 OpCode5 OpCode4 OpCode3 OpCode2 OpCode1 OpCode0 RegWrite OpCode Istr(31:26) UC RegDst MemtoReg src Branch MemWrite MemRead RegWrite 45/50 CPU Singolo Ciclo + UC Istruzione Patterson, Hennessy 46/50
24 L istruzione jump (formato J) Formato J (jump) op indirizzo (costante) 6 bit 26 bit! Indirizzo di salto determinato in due passi: " Calcolo parte bassa indirizzo: addr = (indirizzo * 4) " Deteminazione dell indirizzo di salto: PC % [ PC(31:28) addr ] j : Base (PC): Campo indirizzo: = Indirizzo salto: /50 Segnali di controllo Segnale Effetto quando è 0 Effetto quando è 1 RegDst RegWrite Src PCSrc Il numero del registro destinazione proviene dal campo rd (bit 15-11) Nessuno Il secondo operando della proviene dal campo offset (estesa a bit) Il valore del PC viene sostituito dall uscita del sommatore che calcola PC+4 Il numero del registro destinazione proviene dal campo rt (bit 20-16) Nel registro specificato su #RegWrite viene scritto il valore all ingresso: ContenutoWrite Il secondo operando della proviene dalla II porta di lettura del Register File Il valore del PC viene sostituito dall uscita del sommatore che calcola l indirizzo di salto MemRead Nessuno Comando di lettura della memoria dati MemWrite Nessuno Comando di scrittura della memoria dati MemtoReg Il valore inviato a ContenutoWrite del Register File proviene dalla Il valore inviato a ContenutoWrite del Register File proviene dalla memoria Jump PC viene impostato a PC+4 oppure all indirizzo destinazione della branch PC viene impostato al valore ottenuto dal campo dato della jump Opcode( j ): 2 (000010) Jump = O 5 O 4 O 3 O 2 O 1 O 0 OpCode5 OpCode4 OpCode3 OpCode2 OpCode1 OpCode0 Jump 48/50
25 CPU + UC completa (aggiunta di jump) Istruzione 49/50 CPU a Ciclo singolo! CPU a CICLO SINGOLO: Ad ogni ciclo di clock viene eseguita un istruzione completa. C(t) clock Istruzione C(t) Istruzione 1 Istruzione 2 Istruzione 3 clock(t) T C = durata istruzione 50/50
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
DettagliCPU 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!
DettagliCPU 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
DettagliCPU 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
DettagliCPU 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
DettagliL 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,
DettagliCPU 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
DettagliArchitettura 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,
DettagliCPU 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
DettagliArchitettura 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à
DettagliL 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,
DettagliCPU 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!
DettagliArchitettura 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
DettagliLa 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
DettagliL'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
DettagliRichiami 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
DettagliRichiami 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
DettagliIl 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
DettagliCPU 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
DettagliUna 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
DettagliL 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
DettagliLa 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\
DettagliIl 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
DettagliArchitettura 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
DettagliL 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
DettagliArchitettura 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
DettagliProgettazione 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
DettagliUna 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\
DettagliUna 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\
DettagliProcessore. 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
DettagliIl 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
DettagliIl 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
DettagliLinguaggio 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,
DettagliProcessore. 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
DettagliElementi 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
DettagliArchitettura 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
DettagliImplementazione 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
DettagliProgetto 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
DettagliCalcolatori 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
DettagliLezione 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
DettagliProcessore. 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
DettagliProcessore: 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:
DettagliLinguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio
DettagliIl linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio
DettagliStall on load e Hazard sul controllo
Stall on load e Hazard sul controllo Prof. N.Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/38 Sommario Identificazione
DettagliArchitettura 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
DettagliLinguaggio 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
DettagliCalcolatori 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
DettagliArchitettura 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
DettagliCALCOLATORI 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
DettagliArchitettura 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
DettagliLezione 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
DettagliElementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
DettagliCALCOLATORI 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
DettagliLe 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):
DettagliIntroduzione all'architettura dei Calcolatori. Maurizio Palesi
Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle
DettagliEsercitazione del 30/04/ Soluzioni
Esercitazione del 30/04/2010 - Soluzioni Una CPU a ciclo singolo come pure una CPU multi ciclo eseguono una sola istruzione alla volta. Durante l esecuzione parte dell hardware della CPU rimane inutilizzato
DettagliUniversità 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
DettagliCALCOLATORI 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
DettagliUniversità 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
DettagliCalcolatori 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
DettagliLinguaggio macchina: utilizzo di costanti, metodi di indirizzamento
Architetture degli Elaboratori e delle Reti Lezione 17 Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità
DettagliRappresentazione 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
DettagliArchitettura del processore MIPS
Architettura del processore IPS Prof. Cristina Silvano Dipartimento di Elettronica e Informazione Politecnico di ilano email: : silvano@elet elet.polimi.itit Sommario Instruction Set semplificato Esecuzione
DettagliISA (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
DettagliPag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.
DettagliISA (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
DettagliLezione 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
DettagliLa struttura delle istruzioni elementari: il linguaggio Macchina. Sommario
La struttura delle istruzioni elementari: il linguaggio Macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul
DettagliUn 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
DettagliEsercitazione 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
DettagliRealizzazione 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
DettagliCALCOLATORI 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
DettagliUn quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto
Un quadro della situazione Lezione 14 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
DettagliArchitettura degli Elaboratori Gestione dei control-hazard nella pipeline. Prof. Andrea Sterbini
Architettura degli Elaboratori Gestione dei control-hazard nella pipeline Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti - Spostare Jump nella fase IF - Come gestire i control hazard - Eliminare
DettagliArchitettura 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
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliArchitettura 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
DettagliISA e linguaggio macchina
ISA e linguaggio macchina 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, D1, D2. 1/55
DettagliCALCOLATORI 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
DettagliIl 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
DettagliEsercitazione 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
DettagliFetch 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
DettagliArchitettura 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
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliArchitettura 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
DettagliLezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly
Architettura degli Elaboratori e delle Reti Lezione 12 Assembly II Set di Istruzioni MIPS Strutture di controllo in Assembly Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università
DettagliLezione 17 Il Set di Istruzioni (3)
Lezione 17 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Un richiamo su: Operazioni aritmetiche (add
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliLezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly
Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliPipelining: 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
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale
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
DettagliL 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
DettagliCalcolatori 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
Dettaglislt $t1,$t2,$t3 if ($t2<$t3) $t1=1; Confronto tra registri slti $t1,$t2,100 if ($t2<100)$t1=1; Cfr. registro-costante
Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if ($t2
DettagliIstruzioni 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
DettagliCALCOLATORI 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
DettagliUniversità degli Studi di Cassino
Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if
Dettagli