Architettura del processore MIPS

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architettura del processore MIPS"

Transcript

1 Architettura del processore IPS Prof. Cristina Silvano Dipartimento di Elettronica e Informazione Politecnico di ilano : silvano@elet elet.polimi.itit Sommario Instruction Set semplificato Esecuzione delle istruzioni Struttura del processore Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 1

2 Caratteristiche principali dell architettura IPS Architettura RISC (Reduced Instruction Set Computer): ispirata al principio di eseguire soltanto istruzioni semplici in un ciclo base ridotto, con l obiettivo di migliorare le prestazioni ottenibili dalle CP CISC. Architettura LOAD/STORE: gli operandi dell AL possono provenire soltanto dai registri ad uso generale contenuti nella CP e non possono provenire direttamente dalla memoria. Sono necessarie apposite istruzioni di: caricamento (load) dei dati da memoria ai registri; memorizzazione (store) dei dati dai registri alla memoria. Architettura pipeline: tecnica per migliorare le prestazioni basata sulla sovrapposizione dell esecuzione di più istruzioni appartenenti ad un flusso di esecuzione sequenziale. Prof. Cristina Silvano Politecnico di ilano Instruction Set semplificato del processore IPS Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 2

3 Instruction Set semplificato del IPS Analizzeremo un implementazione semplificata dal processore IPS (in particolare trascurando le istruzioni di I/O). L insieme ridotto delle istruzioni che studieremo possono essere classificate nelle seguenti tre categorie: Istruzioni aritmetico-logiche Istruzioni di trasferimento da/verso la memoria (load/store) Istruzioni di salto (condizionato e incondizionato) per il controllo del flusso di programma Prof. Cristina Silvano Politecnico di ilano Istruzioni aritmetico-logiche e load/store Istruzioni aritmetico-logiche, esempi: add $s1, $s2, $s3 # $s1 $s2 + $s3 addi $s1, $s1, 4 # $s1 $s1 + 4 Istruzioni di trasferimento da/verso la memoria (load/store), esempi: lw $s1, offset ($s2) # $s1 [$s2+offset] sw $s1, offset ($s2) # [$s2+offset] $s1 Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 3

4 Istruzioni di salto Istruzioni di salto: caricato un nuovo indirizzo nel Program Counter (PC) invece dell indirizzo seguente l indirizzo di salto secondo l ordine sequenziale delle istruzioni. Istruzioni di salto condizionato (conditional branch): il salto viene eseguito solo se una certa condizione risulta soddisfatta. Esempi: beq (branch on equal) e bne (branch on not equal) beq $s1, $s2, L1 # go to L1 if ($s1 == $s2) bne $s1, $s2, L1 # go to L1 if ($s1!= $s2) Istruzioni di salto incondizionato ( unconditional jump): il salto viene sempre eseguito. Esempi: j (jump) e jr (jump register) e jal (jump and link) j L1 # go to L1 jr $s1 # go to add. contained in $s1 jal L1 # go to L1; save add. of next # instruction in reg. $ra Prof. Cristina Silvano Politecnico di ilano Registri del processore IPS 32 registri general-purpose da 32-bit. Per convenzione si usano nomi simbolici preceduti da $ per denotare i registri, ad esempio: $s0, $s1,... per indicare variabili $t0, $t1,... per indicare variabili temporanee I registri general-purpose possono essere anche direttamente indicati mediante il loro numero preceduto da $: $0, $1,, $31 Alcuni registri special purpose cioè dedicati per l esecuzione di alcune operazioni Esempio: $ra per return address 32 registri floating point: $f0,, $f31 Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 4

5 Convenzione per l uso dei registri del processore IPS Associazione tra nomi simbolici dei registri general-purpose e numeri dei registri: $zero 0 (costante zero) $at 1 (registro riservato) $v0, $v1 2, 3 (valutazione di un espressione e valori di ritorno da funzioni) $a0 - $a3 4 7 (registri argomento) $t0 - $t (registri temporanei non salvati) $s0 - $s (registri di supporto salvati) $t8, $t9 24, 25 (registri temporanei non salvati) $k0, $k1 26, 27 (registri riservati) $gp 28 (global pointer) $sp 29 (stack pointer) $fp 30 (frame pointer) $ra 31 (return address) Prof. Cristina Silvano Politecnico di ilano Formato delle istruzioni IPS Tutte le istruzioni IPS hanno la stessa dimensione (32 bit) Le istruzioni IPS sono di 3 tipi (formati): Tipo R (register) Istruzioni aritmetico-logiche Tipo I (immediate) Istruzioni con immediati Istruzioni di accesso alla memoria (load/store) Istruzioni di salto condizionato Tipo J (jump) Istruzioni di salto incondizionato Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 5

6 Formato istruzioni I diversi formati (R, I, J) sono riconosciuti tramite il valore del primo campo codice operativo (opcode) di 6 bit che indica alla macchina come trattare i rimanenti bit dell istruzione. R I J 31 6-bit 5-bit 5-bit 5-bit 5-bit 6-bit op rs rt rd shamt funct op rs rt indirizzo op indirizzo Prof. Cristina Silvano Politecnico di ilano Formato istruzioni di tipo R op rs rt rd shamt funct 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit Ai vari campi sono stati assegnati dei nomi mnemonici: op: (opcode) identifica il tipo di istruzione rs: registro contenente il primo operando sorgente rt: registro contenente il secondo operando sorgente rd: registro destinazione contenente il risultato shamt: shift amount (scorrimento) funct: indica la variante specifica dell operazione Formato usato per istruzioni aritmetico-logiche Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 6

7 Formato istruzioni di tipo I op rs rt indirizzo 6 bit 5 bit 5 bit 16 bit Nel caso di istruzioni load/store, i campi hanno il seguente significato: op (opcode) identifica il tipo di istruzione; rs indica il registro base; rt indica il registro destinazione dell istruzione di caricamento; indirizzo riporta lo spiazzamento (offset). Con questo formato, un istruzione lw (sw) può indirizzare parole nell intervallo rispetto all indirizzo base. Prof. Cristina Silvano Politecnico di ilano Formato istruzioni di tipo I op rs rt indirizzo 6 bit 5 bit 5 bit 16 bit Nel caso di istruzioni con immediati, i campi hanno il seguente significato: op (opcode) identifica il tipo di istruzione; rs indica il registro sorgente; rt indica il registro destinazione; indirizzo contiene il valore dell operando immediato. Con questo formato, un istruzione con immediato può contenere costanti nell intervallo Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 7

8 Formato istruzioni di tipo I op rs rt indirizzo 6 bit 5 bit 5 bit 16 bit Nel caso di salti condizionati, i campi hanno il seguente significato: op (opcode) identifica il tipo di istruzione; rs indica il primo registro; rt indica il secondo registro; indirizzo riporta lo spiazzamento (offset). Per l offset si hanno a disposizione solo 16-bit del campo indirizzo rappresentano un indirizzo di parola relativo al PC (PC-relative word address) Prof. Cristina Silvano Politecnico di ilano Formato istruzioni di tipo J Il terzo tipo di formato istruzione (Formato J) è il formato usato per le istruzioni di salto incondizionato (jump): op indirizzo 6 bit 26 bit In questo caso, i campi hanno il seguente significato: op (opcode) indica il tipo di operazione; indirizzo (composto da 26-bit) riporta una parte (26 bit su 32) dell indirizzo assoluto di destinazione del salto. I 26-bit del campo indirizzo rappresentano un indirizzo di parola (word address) Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 8

9 odalità di indirizzamento Le modalità di indirizzamento indicano le diverse modalità attraverso le quali far riferimento agli operandi nelle istruzioni. L esempio più comune di modalità di indirizzamento è l indirizzamento a registro nel quale gli operandi dell istruzione sono contenuti nei registri: ad esempio add $s0, $s1, $s2. na singola istruzione può usare più di una modalità di indirizzamento, ad esempio: addi $s0, $s0, 4 Prof. Cristina Silvano Politecnico di ilano odalità di indirizzamento IPS ha solo cinque modalità di indirizzamento: A registro Immediato Con base o spiazzamento Relativo al Program Counter Pseudo-diretto Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 9

10 odalità di indirizzamento A registro L operando (l indirizzo) è il contenuto di un registro della CP: add $s1, $s2, $s3 (Formato tipo R) Immediato L operando è una costante il cui valore è contenuto nell istruzione: addi $s1, $s1, 4 (Formato tipo I) Con base o spiazzamento L operando è in una locazione di memoria il cui indirizzo si ottiene sommando il contenuto di un registro base ad un valore costante (offset o spiazzamento) contenuto nell istruzione: lw $t0, 32 ($s3) (Formato tipo I) Prof. Cristina Silvano Politecnico di ilano odalità di indirizzamento Relativo al Program Counter L operando è in una locazione di memoria il cui indirizzo si ottiene sommando il contenuto del Program Counter ad un valore costante (offset o spiazzamento) contenuto nell istruzione. Il calcolo del valore corrispondente all etichetta L1 (indirizzo di destinazione del salto) è relativo al Program Counter (PC): (L1- PC) /4 beq $s1, $s2, L1 (Formato tipo I) Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 10

11 odalità di indirizzamento Pseudo-diretto na parte dell indirizzo è presente come valore costante (offset) nell istruzione ma deve essere completato L indirizzo di destinazione del salto si calcola facendo uno shift a sinistra di 2 bit dei 26-bit di offset contenuti nell istruzione (aggiungendo 00 nei bit meno significativi per passare da 26 a 28-bit) e concatenando i 28-bit con i 4-bit più significativi del Program Counter: j 32 (Formato tipo J) Prof. Cristina Silvano Politecnico di ilano Instruction Set semplificato del processore IPS Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 11

12 Esecuzione delle istruzioni nel processore IPS Prof. Cristina Silvano Politecnico di ilano Passi svolti durante l esecuzione l delle istruzioni aritmetico-logiche Istruzioni aritmetico-logiche: op $x,$y,$z Prelievo Istruz. & Increm. PC Lettura Registri Sorgente $y e $z Op. AL sui Dati Letti ($y op $z) Scrittura nel Reg. Destinazione $x n istruzione aritmetico-logica (tipo R), ad esempio add $x, $y, $z, viene eseguita in 4 passi: Prelievo istruzione dalla memoria istruzioni e incremento del PC. Lettura dei 2 registri sorgente ($y e $z) dal banco dei registri. Operazione dell AL sui dati letti dal banco dei registri, utilizzando il codice operativo per realizzare la funzione aritmetico-logica. Scrittura del risultato dell AL nel banco dei registri utilizzando i bit [15-11] dell istruzione per selezionare il registro destinazione ($x). Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 12

13 Passi svolti durante l esecuzione l delle istruzioni di load Istruzioni di load: lw $x,offset($y) Prelievo Istruz. & Increm. PC Lettura Base $y Op. AL ($y+offset) Prelievo Dato ($y+offset) Scrittura nel Reg. Destinazione $x n istruzione di load (tipo I), ad esempio lw $x,offset($y) viene eseguita in 5 passi: Prelievo istruzione dalla memoria istruzioni e incremento del PC. Lettura del registro base ($y) dal banco dei registri. Operazione dell AL per calcolare la somma del valore letto dal registro base e dei 16 bit meno significativi dell istruzione estesi in segno (offset). Prelievo del dato nella memoria dati utilizzando come indirizzo di lettura il risultato dell AL. Scrittura del dato proveniente dalla memoria nel banco dei registri; il registro destinazione ($x) è indicato dai bit [20-16] dell istruzione. Prof. Cristina Silvano Politecnico di ilano Passi svolti durante l esecuzione l delle istruzioni di store Istruzioni di store: sw $x,offset($y) Prelievo Istruz. & Increm. PC Lettura Registri Base $y & Sorg. $x Op. AL ($y+offset) Scrittura Dato ($y+offset) n istruzione di store (tipo I), ad esempio sw $x,offset($y) viene eseguita in 4 passi: Prelievo istruzione dalla memoria istruzioni e incremento del PC. Lettura del registro base ($y) e del registro sorgente ($x) dal banco dei registri; il registro sorgente è indicato dai bit [20-16] dell istruzione. Operazione dell AL per calcolare la somma del valore letto dal registro base e dei 16 bit meno significativi dell istruzione estesi in segno (offset). Scrittura del dato proveniente dal registro sorgente ($x) nella memoria dati utilizzando come indirizzo di il risultato dell AL. Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 13

14 Passi svolti durante l esecuzione l delle istruzioni di salto condizionato Istruzioni di salto condizionato: beq $x,$y,offset Prelievo Istruz. & Increm. PC Lettura Registri Sorgente $x e $y Op. AL ($x-$y) & (PC+4+offset) Scrittura nel PC n istruzione di salto condizionato (tipo I), ad esempio beq $x, $y,offset viene eseguita in 4 passi: Prelievo istruzione dalla memoria istruzioni e incremento del PC. Lettura dei 2 registri sorgente ($x e $y) dal banco dei registri. Operazione dell AL per effettuare la sottrazione tra i valori letti dal banco dei registri. Il valore (PC+4) viene sommato ai 16 bit meno significativi dell istruzione estesi in segno (offset); il risultato è l indirizzo di destinazione del salto (Branch Target Address). L uscita Zero dell AL viene utilizzata per decidere quale valore debba essere memorizzato nel PC: (PC+4) oppure (PC+4+offset). Prof. Cristina Silvano Politecnico di ilano Passi svolti durante l esecuzione l delle istruzioni Istruzioni aritmetico-logiche: op $x,$y,$z Prelievo Istruz. & Increm. PC Lettura Registri Sorgente $y e $z Op. AL sui Dati Letti ($y op $z) Scrittura nel Reg. Destinazione $x Istruzioni di caricamento (load): lw $x,offset($y) Prelievo Istruz. & Increm. PC Lettura Base $y Op. AL ($y+offset) Prelievo Dato ($y+offset) Scrittura nel Reg. Destinazione $x Istruzioni di memorizzazione (store): sw $x,offset($y) Prelievo Istruz. & Increm. PC Lettura Registri Base $y & Sorg. $x Op. AL ($y+offset) Scrittura Dato ($y+offset) Istruzioni di salto condizionato: beq $x,$y,offset Prelievo Istruz. & Increm. PC Lettura Registri Sorgente $x e $y Op. AL ($x-$y) & (PC+4+offset) Scrittura nel PC Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 14

15 nità funzionali richieste durante l esecuzione delle istruzioni Prof. Cristina Silvano Politecnico di ilano Tempo di esecuzione delle istruzioni Nota: se il processore deve effettuare ogni istruzione in un solo ciclo di clock, la durata del ciclo non deve essere inferiore a 8 ns, perché si deve tenere conto dell istruzione più lenta Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 15

16 Esecuzione delle istruzioni Per ogni tipo di istruzione i primi 2 passi da eseguire sono identici: Inviare il contenuto del Program Counter (PC) ad una memoria che contiene il codice per prelevare l istruzione (emoria Istruzioni). Leggere uno o due registri dal banco dei registri utilizzando i campi dell istruzione per selezionare i registri ai quali accedere. Dopo questi 2 passi, le azioni necessarie per concludere l esecuzione dell istruzione dipendono dal tipo di istruzione (codice operativo), sebbene tutte le istruzioni utilizzino l AL dopo la lettura dei registri: Le istruzioni aritmetico-logiche per l esecuzione dell operazione; Le istruzioni di riferimento a memoria per il calcolo dell indirizzo effettivo; I salti condizionati per valutare l esito dei confronti. Prof. Cristina Silvano Politecnico di ilano Esecuzione delle istruzioni (cont( cont.) Dopo aver utilizzato l AL, le azioni richieste per completare le varie istruzioni si differenziano ulteriormente: Le istruzioni aritmetico-logiche devono scrivere nel registro destinazione il risultato dell AL; Le istruzioni di load richiedono l accesso in lettura alla emoria Dati ed eseguono il caricamento del dato letto nel registro destinazione; Le istruzioni di store richiedono l accesso in alla emoria Dati ed eseguono la memorizzazione del dato proveniente dal registro sorgente; Le istruzioni di salto condizionato, possono cambiare l indirizzo dell istruzione successiva in base al risultato del confronto. Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 16

17 Struttura base del processore IPS PC istruzione Dati # Istruzione Banco di Registri emoria Istruzioni # # AL emoria Dati Dati Dati emoria Istruzioni (memoria a sola lettura) separata dalla emoria Dati. I 32 registri del processore sono organizzati in una struttura chiamata Banco di Registri (Register File - RF) con due porte il lettura e una porta in. I campi dell istruzione indicano direttamente i registri che debbono essere utilizzati come operandi dell istruzione e vengono perciò collegati agli ingressi del Register File Prof. Cristina Silvano Politecnico di ilano Struttura base del processore IPS (cont( cont.) Il Register File possiede 4 ingressi e 2 uscite: 3 ingressi sono collegati ai campi dell istruzione che specificano i registri sorgente o base e il registro destinazione (corrispondenti alle 2 porte in lettura e 1 porta in ); 1 ingresso è per i dati che possono essere scritti nel registro destinazione; 2 uscite del banco dei registri riportano il contenuto dei 2 registri letti. Gli operandi dell AL sono utilizzati per: Calcolare un risultato aritmetico (per un istruzione aritmetico-logica); Calcolare un indirizzo di memoria (per load/store); Effettuare un confronto (per un salto condizionato). Il risultato dell AL è utilizzato per: Scrittura in un registro destinazione (se l istruzione è aritmetico-logica); Essere usato come indirizzo di lettura/ della emoria Dati (se l istruzione è load/store); Calcolare l indirizzo della prossima istruzione, secondo un apposita logica di controllo (se l istruzione è di salto condizionato). Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 17

18 Esecuzione della fase di caricamento (fetch) delle istruzioni Elementi necessari per prelevare le istruzioni da memoria e per incrementare il contenuto del PC: +4 Sommatore PC lettura Istruzione emoria Istruzioni na memoria, detta emoria Istruzioni, per mantenere e fornire le istruzioni di un programma una volta noto un indirizzo; n registro, detto Program Counter (PC) per memorizzare l indirizzo dell istruzione corrente; n Sommatore per incrementare il PC in modo da poter indirizzare l istruzione successiva (PC + 4). Prof. Cristina Silvano Politecnico di ilano Esecuzione delle istruzioni aritmetico-logiche Elementi necessari per eseguire le istruzioni aritmetico-logiche: Istruzione WR [25-21] OP lettura 1 [20-16] registro 1 AL Zero lettura 2 Banco di Registri [15-11] Risultato registro 2 n banco di registri (Register File) composto da 32 registri da 32 bit; na AL a 32 bit che riceve 2 ingressi da 32 bit e che restituisce un risultato da 32 bit. Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 18

19 Esecuzione delle istruzioni aritmetico- logiche (cont( cont.) Le istruzioni aritmetico-logiche hanno come operandi 3 registri: per ogni istruzione si devono leggere due parole di dati dal banco di registri e se ne deve scrivere una. Per ogni parola letta dai registri sorgente sono necessari un ingresso (5 bit) al banco di registri, per specificare il numero del registro che si vuole leggere, ed un uscita dal banco (32 bit) per il valore letto dal registro. Per scrivere una parola nel registro destinazione sono necessari due ingressi: un ingresso (5 bit) per specificare il numero del registro in cui si vuole scrivere ed un ingresso (32 bit) per il dato da scrivere. Il banco di registri fornisce sempre in uscita il contenuto dei registri di lettura, mentre le scritture sono controllate da un apposito segnale di controllo della (WR). Il segnale di controllo OP provvede a specificare all AL il tipo di operazione. Prof. Cristina Silvano Politecnico di ilano Esecuzione delle istruzioni di load Elementi necessari per eseguire istruzioni di load: WR Istruzione [25-21] lettura 1 lettura 2 [20-16] registro 1 Banco di Registri registro 2 OP AL Risultato WR di lettura di RD Dati letti emoria Dati [15-0] 16 bit Estensione di segno 32 bit n banco di registri (Register File) composto da 32 registri da 32 bit; na AL a 32 bit; na emoria Dati da cui leggere; n unità per estendere con il segno corretto il valore dello spiazzamento (offset) dai 16 bit contenuti nell istruzione ad un valore con segno a 32 bit. Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 19

20 Esecuzione delle istruzioni di store Elementi necessari per eseguire istruzioni di store: WR [25-21] lettura 1 Istruzione [20-16] registro 1 lettura 2 Banco di Registri registro 2 OP AL Risultato WR di lettura di RD Dati letti e mo ria Dati [15-0] 16 bit Estensione di segno 32 bit n banco di registri (Register File) composto da 32 registri da 32 bit; na AL a 32 bit; na emoria Dati nella quale scrivere il dato; n unità per estendere con il segno corretto il valore dello spiazzamento (offset) dai 16 bit contenuti nell istruzione ad un valore con segno a 32 bit. Prof. Cristina Silvano Politecnico di ilano Esecuzione delle istruzioni di load/store WR Is truzione [25-21] [20-16] le ttura 1 registro 1 le ttura 2 Banco di Registri [20-16] registro 2 OP AL Risultato WR di lettura di RD Dati letti e mo ria Dati [15-0] 16 bit Estensione di segno 32 bit Il valore dello spiazzamento (offset), dopo l estensione di segno, è utilizzato come secondo operando dell AL; Ogni operazione è costituita da lettura del RF, calcolo nell AL di un indirizzo di lettura/ per accedere alla emoria Dati, lettura/ della emoria Dati e, nel caso di load, del RF. Durante la load, il valore letto dalla emoria Dati deve essere scritto nel registro destinazione del RF. Durante la store, il valore da scrivere nella emoria Dati deve essere letto dal registro sorgente del RF. Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 20

21 Esecuzione delle istruzioni di salto condizionato Elementi necessari per eseguire istruzioni di salto condizionato: Istruzione Scorrimento a sinistra di 2 bit WR [25-21] lettura 1 [20-16] registro 1 lettura 2 Banco di Registri registro 2 AL Alla logica di controllo del salto condizionato Zero PC + 4 (proviene dalla parte che e ffe ttua il pre lie vo) Sommatore Ind. Destinaz. del salto condizionato [15-0] 16 bit Estension e di segno 32 bit n banco di registri (Register File) composto da 32 registri da 32 bit; na AL a 32 bit per valutare la condizione di salto; n Sommatore per calcolare l indirizzo di destinazione del salto; n unità per l estensione del segno e uno shifter a sinistra di 2 bit; Logica di controllo per decidere, in base al valore dell uscita Zero dell AL, il nuovo valore del PC. Prof. Cristina Silvano Politecnico di ilano Esecuzione delle istruzioni di salto condizionato (cont( cont.) La base per il calcolo dell indirizzo di destinazione di un salto condizionato è l indirizzo dell istruzione che segue quella di salto (PC + 4). Poiché ogni istruzione occupa 4 byte, prima di effettuare la somma dello spiazzamento (offset) con il contenuto di (PC+4), bisogna moltiplicare per 4 il valore contenuto nell istruzione scorrimento a sinistra di 2 bit. L operazione di salto condizionato è costituita da due operazioni: Calcolo dell indirizzo di destinazione del salto attraverso un sommatore che effettua la somma tra il (PC+4) e il valore contenuto nell istruzione dopo avere esteso il segno e fatto scorrere a sinistra di 2 bit; Confronto nell AL del contenuto dei registri operandi letti dal RF. Se il segnale di uscita Zero dell AL è asserito la condizione di salto è verificata e l indirizzo di destinazione del salto diventa il nuovo PC. Se invece la condizione non è verificata il PC incrementato sostituisce il PC attuale. Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 21

22 Realizzazione del processore completo Esaminati gli elementi richiesti da ogni tipo di operazione, è possibile combinarli in un unica unità di elaborazione. Si assume che tutte le istruzioni siano eseguite in un solo ciclo di clock Nessuna risorsa può essere utilizzata più di una volta per istruzione Qualsiasi risorsa di cui si ha bisogno più di una volta deve essere duplicata Occorre quindi una emoria Istruzioni distinta dalla emoria Dati. Prof. Cristina Silvano Politecnico di ilano Realizzazione del processore completo (cont.) Alcune unità funzionali devono essere duplicate nel momento in cui si combinano le varie unità di calcolo definite nella precedente sezione, mentre altre unità possono essere condivise da differenti flussi di istruzioni. Per condividere un elemento tra due diversi tipi di istruzione, si deve introdurre un multiplexer o selezionatore di dati per permettere connessioni multiple all ingresso di un elemento e selezionare uno tra i vari ingressi in base alla configurazione delle linee di controllo. Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 22

23 Esecuzione delle istruzioni aritmetico-logiche e load/store Differenze principali tra CP che svolgono istruzioni aritmetico-logiche e CP dedicate alle istruzioni di load/store: Il numero del registro in cui si vuole scrivere il risultato è indicato da diversi campi (i bit [15-11] per le istruzioni di tipo R e bit [20-16] per istruzioni di load/store) all ingresso del Scrittura del RF. Il secondo ingresso dell AL è un registro (istruzione di tipo R) oppure la metà meno significativa dell istruzione (istruzione di load/store) al secondo ingresso dell AL; Il valore scritto nel registro destinazione proviene dal risultato dell AL (istruzione tipo R) oppure dalla emoria Dati (istruzione di load) all ingresso dei Scrittura del RF. Prof. Cristina Silvano Politecnico di ilano Esecuzione delle istruzioni aritmetico-logiche e load/store (cont.) WR Is truzione [25-21] [20-16] [15-11] lettura 1 lettura 2 registro 1 Banco di Registri registro 2 OP AL Zero Risultato WR di lettura di RD Dati letti e mo ria Dati [15-0] 16 bit Estensione di segno 32 bit Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 23

24 Esecuzione delle istruzioni aritmetico- logiche e load/store (cont.) Aggiungendo la parte di CP dedicata al prelievo dell istruzione si ottiene la seguente struttura: +4 Sommatore WR PC le ttura Istruzione e mo ria Istruzioni [25-21] [20-16] [15-11] lettura 1 lettura 2 Banco di Regis tri s crittura s crittura registro 1 registro 2 OP AL Zero Risultato di lettura di WR RD Dati letti e mo ria Dati [15-0] 16 bit Estensione di segno 32 bit Aggiungendo anche gli elementi richiesti dai salti condizionati, si ottiene la struttura completa della CP che può eseguire istruzioni elementari (aritmetico-logiche, load/store e salti condizionali) in un unico ciclo di clock. Prof. Cristina Silvano Politecnico di ilano Struttura della CP +4 Sommatore WR Scorrimento a sinistra di 2 bit Sommatore PC lettura Istruzione e mo ria Is truzio ni [25-21] [20-16] [15-11] lettura 1 lettura 2 s crittura s crittura registro 1 Banco di Registri registro 2 OP AL Zero Risultato WR di lettura di RD Dati letti e mo ria Dati [15-0] 16 bit Estensione di segno 32 bit Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 24

25 Struttura della CP con unità di controllo +4 Sommatore Scorrimento a sinistra di 2 bit Sommatore PC lettura Is truzione e mo ria Istruzioni [25-21] [20-16] [15-11] lettura 1 lettura 2 registro 1 Banco di Registri registro 2 RegWR A Zero AL Risultato B AL_opB OP di lettura di Dati letti e mo ria Dati [15-0] 16 bit Estensione del segno 32 bit destinazione [31-26] nità di controllo [5-0] AL_op nità di controllo AL Branch e m WR e m RD e m To Re g Prof. Cristina Silvano Politecnico di ilano Implementazione delle istruzioni salto incondizionato (jump( jump) 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit Commenti Formato J op [31-26] campo indirizzo [25-0] istruzioni di salto Calcolo dell indirizzo di destinazione del salto: 4 bit 26 bit 2 bit PC+4 [31-28] campo indirizzo [25-0] 00 Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 25

26 Estensione della CP con unità di controllo per istruzioni di jump +4 PC+4[31-28] Sommatore [25-0] PC+ 4 Scorrimento a sinistra di 2 bit 28 Scorrimento a sinistra di 2 bit Sommatore PC lettura Istruzione emoria Istruzioni [25-21] [20-16] [15-11] lettura 1 lettura 2 registro 1 Banco di Registri registro 2 RegWR A Zero AL Risultato B AL_opB OP di lettura di Dati letti emoria Dati [15-0] 16 bit Estensione del s egno 32 bit destinazione [31-26] nità di controllo [5-0] AL_op Jump nità di controllo AL Branch emwr emrd emtoreg Prof. Cristina Silvano Politecnico di ilano Implementazione della CP a singolo ciclo Si avvia all esecuzione un istruzione per ogni ciclo di clock e ogni istruzione deve essere iniziata e completata in un solo ciclo di clock Il ciclo di clock deve avere la stessa lunghezza per ogni istruzione (CPI = 1); La lunghezza del ciclo di clock è determinata dal percorso più lungo (percorso critico o critical path): nell esempio l istruzione di load che utilizza 5 unità funzionali in serie e richiedere T = 8 ns (f = 125 Hz). L implementazione su singolo ciclo non è molto veloce perché le altre istruzioni potrebbero essere implementate con un ciclo di clock più breve: nell esempio le istruzioni tipo R richiedono T = 6 ns, le istruzioni di store T = 7 ns, istruzioni di salto condizionato T = 5 ns e istruzioni di salto incondizionato T = 2 ns; Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 26

27 Implementazione della CP a ciclo variabile Ipotesi: 24% load; 12% store; 44% tipo R; 18 % branch; 2% jump; Se l implementazione della CP fosse a ciclo variabile, il tempo medio per istruzione sarebbe pari a: 0.24 * 8 ns * 7 ns * 6 ns * 5 ns * 2 ns = 6.3 ns L implementazione a ciclo variabile sarebbe (8 ns / 6.3 ns) = 1.27 volte più veloce dell implementazione a singolo ciclo. Svantaggi dell implementazione a ciclo variabile: Difficile da realizzare Richiede alto overhead Prof. Cristina Silvano Politecnico di ilano Possibile soluzione: Implementazione della CP multi-ciclo Distribuire l esecuzione di un istruzione su più cicli; sare un ciclo di clock più piccolo Implementazione della CP LTI-CICLO: Ogni fase d esecuzione di un istruzione richiede un ciclo di clock n unità funzionale può essere usata più di una volta per istruzione in cicli di clock differenti Þ condivisione di unità funzionali. Esempio: singola unità di memoria per Istruzioni e Dati; singola AL invece di 1 AL + 2 Sommatori Necessario introdurre dei registri interni addizionali per memorizzare i valori da usare nei cicli di clock successivi. Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 27

28 Implementazione multi-ciclo PC e mo ria Istruzione o dato Dati DR IR Dati # Banco di Registri # # A B AL AL out Prof. Cristina Silvano Politecnico di ilano Prof. Cristina Silvano Politecnico di ilano Pag. 28

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

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

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

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

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

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

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

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

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

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

La struttura delle istruzioni elementari: il linguaggio Macchina. Sommario

La 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

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

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello

Dettagli

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Istruzioni macchina (PH 2.4) Indirizzamento (PH 2.9) Costanti a 32-bit (PH 2.9) 1 Linguaggio macchina Le istruzioni in linguaggio assembly devono essere tradotte in linguaggio macchina

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

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

Il linguaggio macchina

Il 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

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

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

Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento

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

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

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

Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.

Linguaggio 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

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

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

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione 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

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

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

Linguaggio Assembly e linguaggio macchina

Linguaggio 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

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

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando Un altro tipo di indirizzamento L insieme delle istruzioni (3) Architetture dei Calcolatori (lettere A-I) Tipi di indirizzamento visti finora Indirizzamento di un registro Indirizzamento con registro base

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

Istruzioni di controllo del flusso

Istruzioni di controllo del flusso Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal

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

Università degli Studi di Cassino

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

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

Il Linguaggio Assembly: Controllo del flusso: istruzioni e costrutti

Il Linguaggio Assembly: Controllo del flusso: istruzioni e costrutti Il Linguaggio Assembly: Controllo del flusso: istruzioni e costrutti Prof. Alberto Borghese Ing. Iuri Frosio Dipartimento di Scienze dell Informazione borghese,frosio@dsi.unimi.it Università degli Studi

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore IPS Prof. Cristina Silvano niversità degli Studi di ilano Corso di Architettura degli Elaboratori e delle Reti A. A. 2001/2002 Insieme ridotto delle istruzioni del processore

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio 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

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

Corso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M.

Corso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. di Cassino e del Lazio Meridionale Corso di MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 201/201 Francesco Tortorella Istruzioni di confronto Istruzione

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

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

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

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

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

Linguaggio Assembly e linguaggio macchina

Linguaggio 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

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

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

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione Informazioni varie Lezione 18 Il Set di Istruzioni (5) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno La lezione di martedì 20 maggio (9-12) non si tiene

Dettagli

ISA e linguaggio assembler

ISA e linguaggio assembler ISA e linguaggio assembler Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/39 Introduzione

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

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I Il linguaggio Assembly Architettura degli Elaboratori e delle Reti Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it 1 Linguaggio

Dettagli

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto

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

Dettagli

Lezione 17 Il Set di Istruzioni (3)

Lezione 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

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

Lezione 18 Il Set di Istruzioni (4)

Lezione 18 Il Set di Istruzioni (4) Lezione 18 Il Set di Istruzioni (4) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Un richiamo su: Operazioni aritmetiche (add

Dettagli

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Lezione 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

Dettagli

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione Modifiche di orario Lezione 19 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Al posto della lezione di domani giovedì 22/5 (12-1)

Dettagli

Astrazione dell implementazione. Il processore: unità di elaborazione e unità di controllo (2) Il controllo della ALU.

Astrazione dell implementazione. Il processore: unità di elaborazione e unità di controllo (2) Il controllo della ALU. Astrazione dell implementazione Il processore: nità di elaborazione e nità di lo (2) Architettre dei Calcolatori (lettere A-I) Ideal emory ress Net ress Rd Rs Rt 5 5 5 Rw Ra Rb -bit Registers A B als Conditions

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

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

ISA e linguaggio macchina

ISA 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

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

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

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

L insieme delle istruzioni del processore MIPS. Corso Calcolatori Elettronici presso POLITECNICO DI MILANO

L insieme delle istruzioni del processore MIPS. Corso Calcolatori Elettronici presso POLITECNICO DI MILANO L insieme delle istruzioni del processore MIPS Corso Calcolatori Elettronici presso POLITECNICO DI MILANO Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione email:

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

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

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

Autilia Vitiello Dip. di Informatica ed Applicazioni Stecca 7, 2 piano, stanza 12

Autilia Vitiello Dip. di Informatica ed Applicazioni Stecca 7, 2 piano, stanza 12 Autilia Vitiello Dip. di Informatica ed Applicazioni Stecca 7, 2 piano, stanza 12 vitiello@dia.unisa.it http://www.dia.unisa.it/~avitiello Presentazione Corso di Architettura matricole congruo a 0: prof.

Dettagli

Sistemi e reti CPU Concetti di base

Sistemi e reti CPU Concetti di base Sistemi e reti CPU Concetti di base A cura dell Ing. Claudio Traini Cenni Storici 1971 il primo processore mai realizzato : Intel 4004 Progettato dal vicentino Federico Faggin 1 Cenni Storici 1976 Faggin

Dettagli

Lezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly

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

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

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

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

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

Capitolo 5 Struttura di base del processore

Capitolo 5 Struttura di base del processore Capitolo 5 Struttura di base del processore 5.1. Il periodo di clock deve ospitare tutti i ritardi di propagazione più il tempo di impostazione per i registri. a. Minimo periodo di clock = 70 + 600 + 50

Dettagli

Elementi di informatica

Elementi 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

Dettagli

La Microarchitettura. Davide Bertozzi

La Microarchitettura. Davide Bertozzi La Microarchitettura Davide Bertozzi Piano di Studio Dove Siamo Architettura del Set di Istruzioni (come «si parla» con un microprocessore, ovvero l interfaccia HW/SW) Microarchitettura di un processore:

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

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

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

Cosa abbiamo fatto. Dove stiamo andando.. Perché: per poter capire cosa deve offrire al programmatore il processore come istruzioni

Cosa abbiamo fatto. Dove stiamo andando.. Perché: per poter capire cosa deve offrire al programmatore il processore come istruzioni Un qadro della sitazione Lezione Il Processore: Unità di Elaborazione () Vittorio Scarano rchitettra Corso di Larea in Informatica Università degli Stdi di Salerno rchitettra (-). Vi.ttorio Scarano Inpt/Otpt

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

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

Controllo di flusso. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso

Controllo di flusso. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2017-2018 Controllo di flusso Homepage del corso Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano

Dettagli

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

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

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

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

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

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Lezione 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

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