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

Documenti analoghi
Il processore: unità di elaborazione e unità di controllo (3)

Architetture dei Calcolatori (Lettere. Organizzazione di un Calcolatore. Processore. Il Processore. Livello 1: Macchina Firmware Microarchitettura

Calcolatori Elettronici

Richiami sull architettura del processore MIPS a 32 bit

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

Richiami sull architettura del processore MIPS a 32 bit

Il processore: unità di elaborazione

L'architettura del processore MIPS

Controllo di un processore a singolo ciclo

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

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

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

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

L unità di controllo di CPU a singolo ciclo

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

Implementazione semplificata

Istruzioni di trasferimento dati

Il linguaggio macchina

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

Elementi base per la realizzazione dell unità di calcolo

Architettura degli Elaboratori

Architettura di tipo registro-registro (load/store)

Progetto CPU (ciclo singolo) Salvatore Orlando

ISA (Instruction Set Architecture) della CPU MIPS

Capitolo 5 Struttura di base del processore

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

Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento

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

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

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

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

Università degli Studi di Cassino

Istruzioni assembler Istruzione N Registri

Architettura degli Elaboratori B Introduzione al corso

Il linguaggio macchina

CPU pipeline hazards

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

Architettura degli Elaboratori

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

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

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:

Approccio Multiciclo. Architetture dei Calcolatori (Lettere. esecuzione. Suddividere l esecuzione passi (steps) Il Processore (2)

Approccio Multiciclo. Architetture dei Calcolatori (Lettere. Suddividere l esecuzione passi (steps) esecuzione. Il Processore (2)

Il processore: unità di controllo

Gestione degli hazard

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

CPU a ciclo multiplo

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

CPU a ciclo multiplo

Realizzazione a cicli di clock multipli

Calcolatori Elettronici

La programmazione dei calcolatori. L insieme delle istruzioni. Vantaggi e svantaggi dell assembler. Benefici dei linguaggi ad alto livello

Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini

Istruzioni MIPS per floating point

Linguaggio Assembly e linguaggio macchina

ISA e linguaggio macchina

La codifica delle immagini

Schema generale. Realizzazione della macchina hardware. Varietà di architetture HW. Gerarchie di macchine. varietà di sistemi operativi!

CALCOLATORI ELETTRONICI 15 aprile 2014

Linguaggio Assembly e linguaggio macchina

L insieme delle istruzioni

Calcolatori Elettronici B a.a. 2007/2008

L'architettura del processore MIPS

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Il pipelining: tecniche di base

Architettura degli Elaboratori B Introduzione al corso

Calcolatori Elettronici

Lezione 12: L architettura LC-3

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.

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

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Linguaggio Assembly e linguaggio macchina

MIPS! !

Un sistema di numerazione decimale...

Elementi di informatica

Un processore sequenziale

1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware.

Il linguaggio assembly

MIPS Instruction Set 1

Il pipelining: tecniche di base

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

L insieme delle istruzioni (6)

Lezione 17: Indirizzamento della memoria LC-3

Dal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione

La programmazione dei calcolatori. Architetture dei Calcolatori (Lettere. Benefici dei linguaggi ad alto livello. Vantaggi e svantaggi dell assembler

Lecture 2: Prime Istruzioni

Capitolo 5 Elementi architetturali di base

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

CODIFICA BINARIA DEI CARATTERI

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer)

21 March : ESERCITAZIONE 01 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA. I. Frosio

Arithmetic and Logic Unit e moltiplicatore

Calcolatori Elettronici T. ISA DLX: Implementazione Tramite Struttura Pipelined

Caching Andrea Gasparetto

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 28 Settembre 2006

Laboratorio di Architettura degli Elaboratori

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del COGNOME NOME

Transcript:

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 ress In Ideal emory Ot Clk Clk Clk path Architettre dei Calcolatori 2/5 Valeria Cardellini Il lo Abbiamo costrito l nità di elaborazione a ciclo singolo Per n insieme limitato delle istrzioni del IPS Finora non ci siamo occpati dei segnali di lo Passiamo ora a considerare l nità di lo Riceve dei segnali di ingresso e genera n segnale di scrittra per ogni elemento, i segnali di selezione di ogni mltipleer, ed il lo della Consideriamo prima il lo della Architettre dei Calcolatori 2/5 Valeria Cardellini 2 Il lo della linee da pilotare per il mltipleer di Reslt and (nor), or, sm (sb), slt Qindi servono 2 linee di Operation (siano S e S2) Poi servono i segnali di Bnegate e Ainvert In totale ci sono linee di lo (solo 6 combinazioni sate) Operazione Ainvert Bnegate S S and or add sb slt nor Architettre dei Calcolatori 2/5 Valeria Cardellini 3

Il lo della (2) Per generare i bit di lo della si deve considerare il tipo di operazione che viene richiesta alla Per le istrzioni di accesso alla memoria izione (calcolo dell indirizzo come somma del valore di n registro e dello spiazzamento) Per le istrzioni di tipo R (and, or, add, sb, slt) L operazione dipende dal campo fnct dell istrzione (i 6 bit meno significativi) Per le istrzioni di branch condizionale (beq) Sottrazione Il lo della (3) Per indicare le operazioni da fare, siamo de bit aggintivi (detti Op e Op2) da passare all nità di lo per la Op = se l operazione è na somma per lw o sw Op = se l operazione è na sottrazione per beq Op = se l operazione (formato R) è determinata dal campo fnct dell istrzione L nità di lo per la Ha in inpt i de bit di lo Op e Op2 ed il campo fnct dell istrzione Ha in otpt i qattro bit di lo da inviare alla Architettre dei Calcolatori 2/5 Valeria Cardellini Architettre dei Calcolatori 2/5 Valeria Cardellini 5 Il lo della () La tabella per il calcolo dell otpt dell nità di lo della è qindi: Codice operativo Op Operazione fnct Azione della Otpt per il lo della LW load word somma SW store word somma BEQ branch eqal sottrazione Tipo-R somma somma Tipo-R sottrazione sottrazione Tipo-R AND and Tipo-R OR or Tipo-R slt set on less than Architettre dei Calcolatori 2/5 Valeria Cardellini 6 Istrzioni del set ridotto Tre classi di istrzioni (tipo-r, load e store, branch) che tilizzano de formati differenti di istrzioni Istrzione di tipo R Istrzione di load o store 3 26 25 2 2 6 5 6 5 rs rt rd shamt fnct 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit 3 26 25 2 2 6 5 35 o 3 rs rt 6 bit 5 bit 5 bit 6 bit 3 26 25 2 2 6 5 Istrzione di branch rs rt 6 bit 5 bit 5 bit 6 bit Architettre dei Calcolatori 2/5 Valeria Cardellini 7

Istrzioni del set ridotto (2) Il codice operativo (campo opcode) è sempre nei bit 3-26 Indicato con Op[5-] I de registri da leggere sono sempre indicati dai campi rs (bit 25-2) e rt (bit 2-6) Eccetto per l istrzione di load Il registro base per load e store è sempre nel campo rs (bit 25-2) L offset per le istrzioni di branch, load e store è sempre nei bit 5- Il registro di destinazione è Nei bit 2-6 (rt) per l istrzione load Nei bit 5- (rd) per na istrzione di tipo R Occorre n mltipleer per selezionare qale campo dell istrzione indica il registro di destinazione Architettre dei Calcolatori 2/5 Valeria Cardellini 8 L nità di elaborazione a singolo ciclo con i segnali di lo Aggingiamo il mltipleer per il registro di destinazione ed evidenziamo le linee di lo Reg [25 2] em [2 6] Src emtoreg [3 ] 2 ress [5 ] Registers [5 ] 6 em Registro da scrivere [5 ] viene da rt o da rd Op Unità di lo Architettre dei Calcolatori 2/5 della Valeria Cardellini 9 Src Scelta del valore in Segnale Reg Src Src em em emtoreg I segnali di lo ad bit Effetto qando vale Registro destinazione = rt Nessno Il secondo operando di viene da 2 Scrittra di con + Nessno Nessno Il valore in (registri) viene dalla Effetto qando vale Registro destinazione = rd Nel registro indicato sll ingresso viene scritto il valore Il secondo operando di viene dall estensione di segno Scrittra di con l otpt del sommatore per il branch Lettra della locazione di memoria indicata da ress Scrittra della locazione di memoria indicata da ress Il valore in (registri) viene dalla memoria dati Architettre dei Calcolatori 2/5 Valeria Cardellini Come stabilire i segnali di lo L nità di lo pò stabilire ttti i valori dei segnali (eccetto no) sando soltanto il campo opcode dell istrzione L eccezione è il segnale Src In qesto ltimo caso, il segnale di lo deve essere settato se l istrzione è beq e l otpt dalla è pari a = se i de registri confrontati hanno stesso contento Per generare Src, aggingiamo n AND che ha in ingresso il segnale dall nità di lo e l otpt della = se l istrzione è beq Architettre dei Calcolatori 2/5 Valeria Cardellini

L nità di elaborazione a singolo ciclo con ttti i segnali di lo Unità di lo principale [3 26] em emtoreg Op Src Istrzione tipo-r lw Segnali di lo Src emto Reg Reg em em Op Op em Src [3 ] [25 2] [2 6] [5 ] Reg Registers 2 ress sw beq [5 ] 6 [5 ] Unità di lo della Architettre dei Calcolatori 2/5 Valeria Cardellini 2 Architettre dei Calcolatori 2/5 Valeria Cardellini 3 Fnzionamento dell nità di elaborazione Consideriamo n istrzione di tipo R, ad esempio add $t, $t2, $t3 Primo passo per istrzione di tipo R L istrzione è caricata dalla memoria istrzione ed il viene incrementato em [3 26] emtoreg Op em Src Reg [25 2] [2 6] [3 ] Registers 2 ress [5 ] 6 [5 ] [5 ] Architettre dei Calcolatori 2/5 Valeria Cardellini Fnzionamento dell nità di elaborazione (2) Secondo passo per istrzione di tipo R Vengono letti i de registri del banco contenenti gli operandi sorgente e l nità di lo principale determina i valori dei segnali di lo em [3 26] emtoreg Op em Src Reg [25 2] [2 6] [3 ] Registers 2 ress [5 ] 6 [5 ] [5 ] Architettre dei Calcolatori 2/5 Valeria Cardellini 5

Fnzionamento dell nità di elaborazione (3) Terzo passo per istrzione di tipo R L esege l operazione indicata (sm), tilizzando il campo fnct dell istrzione Fnzionamento dell nità di elaborazione () Qarto passo per istrzione di tipo R Il risltato della viene scritto nel registro destinazione indicato dai bit 5- dell istrzione em em [3 26] emtoreg Op [3 26] emtoreg Op em em Src Src Reg Reg [3 ] [25 2] [2 6] [5 ] Registers 2 ress [3 ] [25 2] [2 6] [5 ] Registers 2 ress [5 ] 6 [5 ] 6 [5 ] [5 ] Architettre dei Calcolatori 2/5 Valeria Cardellini 6 Architettre dei Calcolatori 2/5 Valeria Cardellini 7 Fnzionamento dell nità di elaborazione (5) Consideriamo n istrzione di load, ad esempio lw $t, offset($t2) Primo passo per istrzione di load L istrzione è caricata dalla memoria istrzione ed il viene incrementato Secondo passo per istrzione di load Il registro $t2 viene letto dal banco dei registri Terzo passo per istrzione di load L calcola la somma tra $t2 e offset (esteso in segno) Qarto passo per istrzione di load La somma calcolata dalla è tilizzata come indirizzo della memoria dati Qinto passo per istrzione di load Il dato dalla memoria viene scritto nel banco dei registri nel registro in $t indicato dai bit 2-6 dell istrzione Architettre dei Calcolatori 2/5 Valeria Cardellini 8 Fnzionamento dell nità di elaborazione (6) em [3 26] emtoreg Op em Src Reg [25 2] [2 6] [3 ] Registers 2 ress [5 ] 6 [5 ] [5 ] Architettre dei Calcolatori 2/5 Valeria Cardellini 9

Fnzionamento dell nità di elaborazione (7) Consideriamo n istrzione di beq, ad esempio beq $t, $t2, offset Primo passo per istrzione di beq L istrzione è caricata dalla memoria istrzione ed il viene incrementato Secondo passo per istrzione di beq I de registro $t e $t2 vengono letti dal banco dei registri Terzo passo per istrzione di beq L calcola la sottrazione tra $t e $t2; il valore di + è agginto ad offset (esteso in segno) e traslato di 2 bit a sinistra Qarto passo per istrzione di beq Il risltato dell è tilizzato per decidere qale risltato dei sommatori occorre memorizzare in Fnzionamento dell nità di elaborazione (8) em [3 26] emtoreg Op em Src Reg [25 2] [2 6] [3 ] Registers 2 ress [5 ] 6 [5 ] [5 ] Architettre dei Calcolatori 2/5 Valeria Cardellini 2 Architettre dei Calcolatori 2/5 Valeria Cardellini 2 Inst emory r L nità di lo <3:> <:5> <:5> <6:2> <2:25> <:5> <26:3> Op Fn Rs Rt Rd Imm6 Riassmiamo i segnali di lo Opcode decimale -> binario RegWr Src Op emrd emwr emtoreg DATA PATH Architettre dei Calcolatori 2/5 Valeria Cardellini 22 Architettre dei Calcolatori 2/5 Valeria Cardellini 23

Istrzione di jmp Estendiamo l nità di elaborazione vista finora per spportare l istrzione di jmp Come determinare l indirizzo di jmp I de bit meno significativi - sono sempre Bit 2-27: campo immediate dell istrzione Bit 28-3: bit più significativi di + Istrzione di jmp Aggingiamo n mltipleer per selezionare il valore da memorizzare nel Aggingiamo il segnale di lo Jmp per lare qesto lteriore mltipleer [25 ] Jmp [3 ] 26 28 + [3 28] [3 26] Jmp em emtoreg Op em Src Reg [3 ] [25 2] [2 6] [5 ] Registers 2 ress [5 ] 6 Architettre dei Calcolatori 2/5 Valeria Cardellini 2 [5 ] Architettre dei Calcolatori 2/5 Valeria Cardellini 25