Progetto CPU (multiciclo)
|
|
- Raffaella Russo
- 7 anni fa
- Visualizzazioni
Transcript
1 Progetto CPU (multiciclo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Problemi con progetto a singolo ciclo Problemi del singolo ciclo Ciclo di clock lungo Istruzioni potenzialmente più veloci sono rallentate impiegano lo stesso tempo dell istruzione più lenta Unità funzionali e collegamenti del Datapath sono replicati dobbiamo poter computare in parallelo tutti i passi computazionali necessari per l esecuzione di qualsiasi istruzione dell ISA Possibile soluzione: datapath multiciclo usiamo un ciclo più corto istruzioni differenti impiegano un numero di cicli diversi unità funzionali possono essere usate più volte per eseguire la stessa istruzione meno replicazione basta usarle in cicli differenti registri aggiuntivi usati per memorizzare i risultati parziali nell esecuzione delle istruzioni Arch. Elab. - S. Orlando 2
2 Esempio di riduzione del ciclo di clock Effettua un taglio su grafo delle dipendenze corrispondente al circuito combinatorio, e inserisci un registro nel mezzo Fai lo stesso lavoro di prima in 2 cicli più veloci, invece che in singolo ciclo più lento elemento di memoria elemento di memoria Logica Combinatoria Aciclica Logica Combinatoria Aciclica (A) elemento di memoria elemento di memoria Logica Combinatoria Aciclica (B) elemento di memoria Arch. Elab. - S. Orlando 3 Datapath multiciclo Addr dati Registri addizionali Registri interni addizionali usati per memorizzare valori intermedi, da usare nel ciclo di clock successivo per continuare l esecuzione della stessa istruzione IR, MDR, A, B, ALUOut Riuso di unità funzionali ALU usata anche per calcolare gli indirizzo dei salti e incrementare il PC Memoria usata sia per leggere le istruzioni e sia per leggere/scrivere i dati PC Arch. Elab. - S. Orlando 4
3 Suddivisione in passi del Datapth Nell inserire i registri addizionali, abbiamo pensato di spezzare l esecuzione delle istruzioni in passi ogni passo da eseguire in un ciclo di clock (ciclo più corto rispetto alla CPU a ciclo singolo) importante il bilanciamento della quantità di lavoro eseguito nei vari passi, perché dobbiamo fissare un ciclo di clock unico determinato sulla base del passo più lungo, ovvero più costoso dal punto di vista computazionale Al termine di ogni ciclo i valori intermedi, da impiegare nei cicli successivi, sono memorizzati nei registri interni addizionali Register File e PC sono invece impiegati per memorizzare valori da usare per l esecuzione di una nuova istruzione Arch. Elab. - S. Orlando 5 Sequenza dei cinque passi di esecuzione Fetch dell istruzione Decodifica dell istruzione e Lettura dei regs. (e Addr. Branch) R-type exe o Calcolo Indirizzo Memoria o Completa Branch o Completa Jump dipende dal tipo di istruzione Accesso alla memoria o Completa R-type (scrittura regs) dipende dal tipo di istruzione Write back (scrittura reg: solo LW) OGNI PASSO ESEGUITO IN UN CICLO DI CLOCK LE ISTRUZIONI IMPIEGANO DA 3 A 5 CICLI Arch. Elab. - S. Orlando 6
4 Inseriamo i multiplexer PC oppure ALUout (addr, lw/sw) Ulteriore ingresso: PC MDR oppure ALUOut Altri 2 ingressi, da sommare con PC: PC = PC + 4 PC = PC + (sign_ext(imm16) << 2) Arch. Elab. - S. Orlando 7 Controllo I segnali di controllo alle varie unità funzionali e ai multiplexer non dipendono solo dal tipo istruzione da eseguire es.: rispetto ad una sub, l ALU dovrà essere usata, in cicli di clock differenti, per PC = PC + 4; (somma) R[rd] < R[rs] R[rt]; (sottrazione) Quindi i segnali di controllo dovranno essere diversi durante i vari passi (cicli di clock) necessari per l esecuzione dell istruzione Il controllo sarà infatti implementato come circuito sequenziale l output del circuito (segnali di controllo) dipenderanno dallo stato interno al circuito al tempo t i stato del circuito sequenziale = passo di esecuzione di una istruzione Arch. Elab. - S. Orlando 8
5 Datapath e Controllo multi-ciclo Arch. Elab. - S. Orlando 9 Segnali di controllo di 1 bit Segnale Effetto se uguale a 0 Effetto se uguale a 1 RegDest Reg. dest. proviene da rt Reg. dest. proviene da rd Reg Write Nessuno Scrittura in Reg. File AluSrcA 1^ ingresso dell'alu è PC 1^ ingresso dell'alu è reg. A MemRead Nessuno Lettura da Mem. in reg. MDR MemWrite Nessuno Scrittura in Mem. MemtoReg Reg. scritto proviene da ALUOut Reg. scritto proviene da MDR IorD Addr.della Mem. proviene da PC Addr.della Mem. proviene da ALUOut IRWrite Nessuno Scrittura in IR (proviene da Mem.) PCWrite Nessuno Scrittura in PC PC viene scritto se è anche vero che PCWriteCond Nessuno Zero = 1 (beq) Per istruzioni di beq: PCWriteCond=1 e PCWrite=0 Il segnale di scrittura di PC è infatti calcolato come: PCWrite + (PCWriteCond Zero) Se PCWriteCond=0 il valore di PC che punta alla prossima istruzione rimane invariato Arch. Elab. - S. Orlando 10
6 Segnali di controllo di 2 bit Segnale Valore Effetto 00 ALU calcola somma (lw, sw, PC + ) ALUOp 01 ALU calcola sottrazione ( beq ) 10 ALU calcola l'operazione determinata da funct 00 2^ ingresso dell'alu è reg. B ALUSrcB 01 2^ ingresso dell'alu è costante ^ ingresso dell'alu è sign_ext(imm16) ( lw/sw ) 11 2^ ingresso dell'alu è sign_ext(imm16) << 2 ( beq ) 00 In PC viene scritto l'uscita dell'alu ( PC+4 ) PCSource 01 In PC viene scritto ALUOut ( beq ) 10 In PC viene scritto PC[31-28] sign_ext(imm26) << 2 ( jump ) Arch. Elab. - S. Orlando 11 Passo 1: Fetch dell istruzione Usa PC per prelevare l istruzione dalla memoria e porla nell Instruction Register (IR) Incrementa PC di 4, e rimetti il risultato nel PC Passo identico per tutte le istruzioni Usando la notazione RTL: IR = M[PC]; PC = PC + 4; Durante questo passo (stesso ciclo di clock) usiamo: Memoria ALU Vediamo in dettaglio i valori dei segnali di controllo Arch. Elab. - S. Orlando 12
7 Passo 1: Fetch dell istruzione IR = M[PC]; MemRead 1 IRWrite 1 IorD 0 PC = PC + 4; ALUSrcA 0 ALUSrcB 01 ALUOp 00 (somma) PCWrite 1 PCSource 00 Arch. Elab. - S. Orlando 13 Passo 2: Decodifica istruzione & Lettura registri Leggi i registri rs e rt, e calcola l indirizzo del salto del beq IR (op) viene inviato al controllo per la decodifica e la determinazione dei passi successivi Decodifica dell istruzione RTL: A = Reg[ IR[25-21] ]; B = Reg[ IR[20-16] ]; ALUOut = PC + (sign-ext( IR[15-0] ) << 2); Passo identico per tutte le istruzioni, ma potremmo anticipare del lavoro non necessario. per certe istruzioni, i due campi (rs, rt) potrebbero essere non significativi calcoliamo l indirizzo a cui saltare, come se l istruzione fosse beq, ma il campo imm16 potrebbe essere non significativo Quali i vantaggi di questo lavoro anticipato? Durante questo passo (stesso ciclo di clock) usiamo: Register File ALU Vediamo i valori dei segnali di controllo Arch. Elab. - S. Orlando 14
8 Passo 2: Decodifica istruzione & Lettura registri A = Reg[ IR[25-21] ]; B = Reg[ IR[20-16] ]; A e B sovrascritti per ogni tipo di istruzioni ALUOut = PC + (sign-ext( IR[15-0] ) << 2) ALUSrcA 0 ALUSrcB 11 ALUOp 00 (somma) Arch. Elab. - S. Orlando 15 Passo 3: (dipende dall istruzione) Usiamo l ALU in dipendenza del tipo di istruzione Il controllo, avendo già decodificato l istruzione letta al passo precedente, può già decidere i segnali da inviare al Datapath in relazione al tipo di istruzione R-type exe: ALUOut = A op B; Calcolo Indirizzo Memoria (load/store) ALUOut = A + sign-ext( IR[15-0] ); Completa Branch if (A == B) then PC = ALUOut; Completa Jump PC = PC[31-28] II (IR[25-0] << 2); Arch. Elab. - S. Orlando 16
9 Passo 3: (dipende dall istruzione) R-type exe: ALUOut = A op B; ALUSrcA 1 ALUSrcB 00 ALUOp 10 (campo FUNCT) ALUOut riscritto ad ogni ciclo LOAD / STORE: ALUOut = A + sign-ext( IR[15-0] ); ALUSrcA 1 ALUSrcB 10 ALUOp 00 (somma) Arch. Elab. - S. Orlando 17 Passo 3: (dipende dall istruzione) Completa Branch if (A == B) then PC = ALUOut; ALUSrcA 1 ALUSrcB 00 ALUOp 01 (sottr.) (sottrazione registri A e B, check salto sulla base di Zero) Per abilitare la scrittura nel PC del valore precedentemente calcolato (ALUOut), necessari altri segnali di controllo non illustrati: PCWrite 0 PCWriteCond 1 PCSource 01 Arch. Elab. - S. Orlando 18
10 Passo 3: (dipende dall istruzione) Completa Jump PC = PC[31-28] II (IR[25-0] << 2); Per abilitare la scrittura nel PC, i segnali di controllo, non illustrati in figura, sono: PCWrite 1 PCSource 10 Arch. Elab. - S. Orlando 19 Passo 4: (dipende dall istruzione) LOAD e STORE accedono alla memoria MDR = Memory[ALUOut]; or Memory[ALUOut] = B; Terminazione istruzioni R-type Reg[ IR[15-11] ] = ALUOut; Durante questo passo usiamo: Register File (Write) oppure Memoria Vediamo i segnali di controllo Arch. Elab. - S. Orlando 20
11 Passo 4: (dipende dall istruzione) Load: MDR = Memory[ALUOut]; IorD 1 MemRead 1 Store: Memory[ALUOut] = B; IorD 1 MemWrite 1 R-type: Reg[ IR[15-11] ] = ALUOut; RegDest 1 RegWrite 1 MemtoReg 0 Arch. Elab. - S. Orlando 21 Passo 5: Write-back (LOAD) Load: Reg[ IR[20-16]]= MDR; RegDest 0 RegWrite 1 MemtoReg 1 NOTA: Le altre istruzioni non giungono al passo 5 Arch. Elab. - S. Orlando 22
12 Riassumendo Step name Action for R -type instructions Action for memory-reference instructions Action for branches Action for jumps Instruction fetch IR = Memory[PC] PC = PC + 4 Instruction decode / A = Reg [IR[25-21]] register fetch/ B = Reg [IR[20-16]] branch addr. comp. A LUOut = P C + (sign-extend (IR[15-0]) << 2) Execution, address ALUOut = A op B ALUOut = A + sign-extend if (A ==B ) then P C = P C [31-28] II computation, branch/ (IR[15-0]) PC = ALUOut (IR[25-0]<<2) jum p co m ple tion Memory access or R-type Reg [IR[15-11]] = Load: M D R = Mem ory[a LUOut] completion ALUOut or Store: M emory [A LUOut] = B Memory read completion Load: Reg[IR[20-16]] = MDR Arch. Elab. - S. Orlando 23 Alcune semplici domande Quanti cicli sono necessari per eseguire questo codice? lw $t2, 0($t3) lw $t3, 4($t3) beq $t2, $t3, Label #assume not add $t5, $t2, $t3 sw $t5, 8($t3) Label: Cosa accade durante l 8 o ciclo di esecuzione? Calcolo dell indirizzo della 2 a lw In quale ciclo avviene effettivamente la somma tra $t2 e $t3? Nel 16-esimo ciclo Arch. Elab. - S. Orlando 24
13 Definizione controllo Possiamo implementare il controllo della CPU come un circuito sequenziale di Moore, modellabile con un automa a stati finiti Automa ogni nodo corrisponde a un stato differente del circuito, in corrispondenza di un certo ciclo di clock gli output del controllo (segnali di controllo) dipendono dallo stato corrente da 3 a 5 stati devono essere attraversati (ovvero, da 3 a 5 cicli di clock) Inizio Fetch Decode, Read reg, Beq Addr. comp. R-type Exe Beq completam. Jump completam. M read R write M write R write Arch. Elab. - S. Orlando 25 Automa completo Etichette interni ai nodi corrispondono ai segnali che il Controllo deve inviare al Datapath Etichette sugli archi dipendono dagli input del Controllo ovvero, dal valore di del campo Op dell istruzione letta 10 stati ogni stato associato con un etichetta mnemonica, e anche con un identificatore numerico quanti bit sono necessari per il registro di stato? Arch. Elab. - S. Orlando 26
14 Componenti CPU (Datapath+Control) e Memoria CPU Operation = f(aluop, Funct) PCSource ALUSrcB RegDest RegWrite CONTROL ALUSrcA MemtoReg MemRead MemWrite IorD PCWrite + (Zero PCWriteCond) IRWrite MemRead Addr Instr/Data Memory Dataout Datain PC (fetch) o ALUOut (sw,lw) IR (fetch) o MDR (lw) B (sw) DATA PATH Funct =IR[5:0] Op =IR[31:26] Zero Nota: tra i segnali provenienti dal Datapath, solo Op è usato per selezionare il prossimo stato Arch. Elab. - S. Orlando 27 Dimensionamento ciclo di clock Ipotizziamo gli stessi costi precedenti (in ns) per le varie componenti Mem. Istr/Dati: 2 ns Reg. File: 1 ns ALU: 2 ns non li usiamo mai in sequenza possiamo ipotizzare un ciclo di 2 ns Più in dettaglio, per determinare il ciclo ci clock, consideriamo il diagramma di sotto, che si riferisce al 3 o passo della BEQ Controllo Datapath poiché il controllo è di Moore, l output (controlli) dipende solo dallo stato (veloce) decodifica del controllo dell ALU più complessa (2 livelli): Operation = f(aluop, Funct) l input del controllo, importante per la transizione di stato, è Op Op è un campo del registro IR del Datapath (non necessario calcolarlo) il segnale di Zero è importante nel caso di BEQ... Op Next State controlli ALU 2 ns Zero PC write signal Esempio di diagramma temporale per il 3 o passo di esecuzione di un istruzione Arch. Elab. - S. Orlando 28
15 Costo istruzioni Per le varie istruzioni, possiamo impiegare un numero differente di cicli introduciamo il concetto di CPI (no. di cicli per istruzione) Quant è il CPI delle varie istruzioni rispetto all architettura multi-ciclo? R-type, sw: 4 cicli (tempo: 8 ns) lw: 5 cicli (tempo: 10 ns) beq, jump: 3 cicli (tempo: 6ns) Nota che l istruzione di lw impiega ben 10 ns invece degli 8 ns dell architettura a singolo ciclo purtroppo ciò è dovuto alla necessità di fissare il ciclo di clock abbastanza lungo da permettere l esecuzione di uno qualsiasi dei passi previsti per le varie istruzioni il 5 o passo della lw, anche se usa solo il Register File (latenza 1 ns), viene comunque eseguito in un ciclo di clock da 2 ns Abbiamo ottenuto un risparmio solo per le istruzioni di beq e jump se avessimo considerato istruzioni molto più lunghe (come quelle FP), non avremmo osservato questa apparente decadimento di prestazione nel passare all architettura multi-ciclo in quel caso, la scelta del ciclo singolo ci avrebbe costretto ad allungare a dismisura il ciclo di clock per eseguire l istruzione FP Arch. Elab. - S. Orlando 29 Circuito sequenziale che implementa il controllo Controllo a due livelli ALUOp calcolato sulla base di Op, combinato con Funct (IR[5:0]) per generare il segnale a 3 bit (Operation) da inviare all ALU PCWrite e PCWriteCond usati assieme a Zero proveniente dal Datapath, per generare il segnale a 1 bit che permette la scrittura di PC Nota blocco combinatorio per calcolare NEXT_STATE & OUTPUTS state register per memorizzare stato corrente Arch. Elab. - S. Orlando 30
16 Implem. cablata (a logica sparsa) del Controllo Blocco combinatorio all interno del circuito sequenziale che implementa il controllo della CPU può essere implementato con logica digitale a 2 livelli PLA Numero minimo di porte logiche, e quindi di transistor Implementazione ottima, ma non modificabile poca flessibilità Efficiente finché il numero di stati del circuito è abbastanza piccolo Arch. Elab. - S. Orlando 31 Circuiti combinatori e ROM ROM = "Read Only Memory" i valori delle varie celle di memoria sono fissate in anticipo ROM usata per memorizzare una tabella di verità = il blocco combinatorio al interno del circuito sequenziale che implementa il controllo della CPU se l indirizzo è di m bit, possiamo indirizzare 2 m celle della ROM gli output della ROM corrispondono al contenuti delle varie celle indirizzare dai m bit dell indirizzo Tabella di verità con m variabili in input e n in output sufficiente una ROM di 2 m x n bit Tabella di verità m ROM n m n Arch. Elab. - S. Orlando 32
17 Implementazione del controllo tramite ROM Quanti sono gli input del blocco combinatorio interno al controllo? 6 bit per Opcode, 4 bit per lo Stato < Opcode, Stato >= 10 linee di indirizzo 2 10 = 1024 indirizzi differenti Quanti sono gli output? 16 bit per i vari segnali di controllo del Datapath 4 bit per lo Stato 20 bit in output ROM è = 20K bits (dimensione non usuale) Soluzione che spreca molte risorse, poiché molte celle della ROM (e i corrispondenti output della ROM) sono identiche o quasi identiche Poiché il circuito sequenziale è di Moore, i 16 bit dell Output (relativi ai segnali di controllo) dipendono solo dallo Stato per gli indirizzi <X, Stato > le celle della ROM sono quasi identiche Da certi Stati, la transizione (i 4 bit di Output del Next State) avviene indipendentemente dall Opcode per alcuni indirizzi <X, Stato > le celle sono identiche Arch. Elab. - S. Orlando 33 ROM vs. PLA Spezziamo la tabella di verità in due parti (OUTPUTS e NEXT_STATE) i 4 bit di Stato determinano i 16 Outputs ROM di 2 4 x16 b = 2 8 b = 0.25 Kb i 10 bits (Opcode, Stato) determinano i 4 bit del prossimo Stato ROM di 2 10 x 4 b = 4 Kb Totale: ROM di 4.25 Kb (invece di 20 Kb) La PLA risulta sempre più piccola molti prodotti sono condivisi i DON T CARE sono tutti considerati attentamente per ridurre il numero di prodotti o il numero di fattori in ogni prodotto Il numero di celle PLA (porte AND e OR) sono: (#inputs #product-terms) + (#outputs #product-terms) nel nostro caso: (10x17)+(20x17) = 460 celle PLA Dimensione (in spazio e numero di transistor) delle celle PLA è simile alla dimensione delle celle ROM (celle PLA un po più grandi) Arch. Elab. - S. Orlando 34
18 Un altro stile di implementazione Spesso NEXT_STATE corrisponde a current state + 1 vedi, rispetto al nostro automa, le transizioni di stato 0 1, 3 4 o 6 7 Control unit PLA or ROM Input Outputs PCWrite PCWriteCond IorD MemRead MemWrite IRWrite BWrite MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite RegDst AddrCtl 1 State Adder Address select logic Op[5 0] Instruction registerı opcode field Arch. Elab. - S. Orlando 35 Sequenzializzatore in dettaglio Dispatch ROM 1 Dispatch ROM 2 Op Opcode name Value Op Opcode name Value R-format lw jmp sw beq lw sw 0010 Fetch (0) Stato++ State number Address-control action Value of AddrCtl 0 Use incremented state 3 1 Use dispatch ROM Use dispatch ROM Use incremented state 3 4 Replace state number by Replace state number by Use incremented state 3 7 Replace state number by Replace state number by Replace state number by 0 0 Arch. Elab. - S. Orlando 36
19 Microprogrammazione Rappresentazione tramite automi a stati finiti diventa improponibile quando dobbiamo trattare un numero elevato di stati un foglio non basta più se si considerano tutte le istruzioni MIPS (> 100) e il numero di cicli necessari per i le istruzioni più complesse (oltre 20 cicli) Microprogrammazione idea prese in prestito dal campo della programmazione (dallo stile grafico a quello testuale: dagli automi ai microprogrammi) scopo di una microistruzione è quello di specificare (simbolicamente) i segnali di controllo da affermare nel Datapath ad un certo istante eseguire la microistruzione (Moore) avrà l effetto di affermare alcuni segnali di controllo per l esecuzione di una certa istruzione macchina ogni microistruzione dovrà specificare quale sarà la prossima microistruzione da eseguire, ovvero il prossimo stato del controllo la prossima microistruzione da eseguire potrà essere sempre univocamente determinata es. sempre la successiva secondo l ordine lessicografico del microprogramma, oppure una determinata altra microistruzione la scelta della prossima microistruzione potrà dipendere dagli input (Op code) Arch. Elab. - S. Orlando 37 Formato microistruzione Field name Value Signals active Comment Add ALUOp = 00 Cause the ALU to add. ALU control Subt ALUOp = 01 Cause the ALU to subtract; this implements the compare for branches. Func code ALUOp = 10 Use the instruction's function code to determine ALU control. SRC1 PC ALUSrcA = 0 Use the PC as the first ALU input. A ALUSrcA = 1 Register A is the first ALU input. B ALUSrcB = 00 Register B is the second ALU input. SRC2 4 ALUSrcB = 01 Use 4 as the second ALU input. Extend ALUSrcB = 10 Use output of the sign extension unit as the second ALU input. Extshft ALUSrcB = 11 Use the output of the shift-by-two unit as the second ALU input. Read Read two registers using the rs and rt fields of the IR as the register numbers and putting the data into registers A and B. Write ALU RegWrite, Write a register using the rd field of the IR as the register number and Register RegDst = 1, the contents of the ALUOut as the data. control MemtoReg = 0 Write MDR RegWrite, Write a register using the rt field of the IR as the register number and RegDst = 0, the contents of the MDR as the data. MemtoReg = 1 Read PC MemRead, Read memory using the PC as address; write result into IR (and lord = 0 the MDR). Memory Read ALU MemRead, Read memory using the ALUOut as address; write result into MDR. lord = 1 Write ALU MemWrite, Write memory using the ALUOut as address, contents of B as the lord = 1 data. ALU PCSource = 00 Write the output of the ALU into the PC. PCWrite PC write control ALUOut-cond PCSource = 01, If the Zero output of the ALU is active, write the PC with the contents PCWriteCond of the register ALUOut. jump address PCSource = 10, Write the PC with the jump address from the instruction. PCWrite Seq AddrCtl = 11 Choose the next microinstruction sequentially. Sequencing Fetch AddrCtl = 00 Go to the first microinstruction to begin a new instruction. Dispatch 1 AddrCtl = 01 Dispatch using the ROM 1. Dispatch 2 AddrCtl = 10 Dispatch using the ROM 2. Arch. Elab. - S. Orlando 38
20 Microprogramma relativo alla nostra CPU Microprogramma completo della nostra semplice unità di controllo nota che per la corretta sequenzializzazione delle istruzioni, in 2 casi rimanda ad una specifica tabella di smistamento Label ALU control SRC1 SRC2 Register control Memory PCWrite control Sequencing Fetch Add PC 4 Read PC ALU Seq Add PC Extshft Read Dispatch 1 Mem1 Add A Extend Dispatch 2 LW 2 Read ALU Seq Write MDR Fetch SW2 Write ALU Fetch Rformat1 Func code A B Seq Write ALU Fetch BEQ1 Subt A B ALUOut-cond Fetch JUMP1 Jump address Fetch Un implementazione diversa di questa stessa ISA avrebbe lo stesso microcodice? Cosa dovrebbe fare un microassembler? Arch. Elab. - S. Orlando 39 Implementazione del microprogramma Microprogramma Rappresentazione alternativa all automa a stati finiti rappresenta il comportamento di un circuito sequenziale Per l implementazione, possibili tutte le alternative viste per gli automi PLA o ROM circuiti distinti per calcolare sequenzializzazione (NEXT_STATE) e output del circuito sequenziale Storicamente, le implementazioni del controllo microprogrammato impiegano ROM per memorizzare microistruzioni incrementatore esplicito e logica di sequenzializzazione per determinare la prossima microistruzione Label della microistruzione Registro di controllo Contatore di microprogramma Arch. Elab. - S. Orlando 40
21 Microprogrammazione: pro e contro Specifica del controllo tramite microprogramma Pro semplice da progettare e scrivere possiamo progettare l architettura e il codice assieme Implementazione del controllo tramite ROM off-chip (macchine anni 60-70) Pro Firmware (=Microcodice memorizzato nella ROM) facile da modificare basta sostituire la ROM stesso Datapath può emulare altre ISA Contro Eccessiva lentezza, considerando che oggi controllo implementato sullo stesso chip del processore (microprocessori) la ROM non è più (come un tempo) più veloce della RAM fetch di una microistruzione per inviare i controlli al Datapath sarebbe costoso come effettuare il fetch di una istruzione macchina non c e più necessità di riprogettare ISA, correggere errori, o apportare cambi al microcodice Arch. Elab. - S. Orlando 41 Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi inattesi, quali: interruzioni ed eccezioni Eccezione evento sincrono, generato all interno del processore, e provocato da problemi nell esecuzione di un istruzione Interruzione es.: overflow, istruzione non valida evento asincrono, che giunge dall esterno del processore segnale che giunge da un unità di I/O, utilizzato per comunicare alla CPU il verificarsi di certi eventi es.: la terminazione di un operazione di I/O la cui esecuzione era stata richiesta in precedenza dalla CPU Processore Control Datapath Interruzione I/O Memoria Arch. Elab. - S. Orlando 42
22 Gestione di eccezioni e interruzioni Il controllo di ogni processore deve essere predisposto per gestire il verificarsi di eventi inattesi Tutti i processori, quando si verifica un evento di eccezione/interruzione, la gestiscono secondo lo schema seguente: interruzione dell esecuzione del programma corrente salvataggio di parte dello stato di esecuzione corrente (almeno PC) salto ad una routine del codice che costituisce il Sistema Operativo (SO) il SO è stato caricato in memoria al momento del boot del sistema il salvataggio dello stato del programma interrotto serve al SO per poter riprenderne eventualmente l esecuzione, successivamente e se necessario Nota che le routine del SO possono essere invocate esplicitamente dai programmi (es.: invocazione routine di I/O) nel MIPS abbiamo l istruzione syscall esecuzione della syscall interpretata dal controllo come una particolare eccezione interna Arch. Elab. - S. Orlando 43 Gestione di eccezioni e interruzioni Problema: l handler del SO deve essere in grado di capire quale evento si è verificato Soluzioni alternative: 1 il controllo della CPU, prima di saltare all handler predisposto dal SO (ad un indirizzo fisso), deve salvare in un registro interno un identificatore numerico del tipo di eccezione/interruzione verificatosi. L handler accederà al registro interno per determinare la causa dell eccezione/interruzione 2 interruzioni vettorizzate: esistono handler diversi per eccezioni/interruzioni differenti. Il controllo della CPU deve scegliere l handler corretto, saltando all indirizzo corretto. A questo scopo, viene predisposto un vettore di indirizzi, uno per ogni tipo di eccezioni/interruzioni, da indirizzare tramite il codice numerico dell eccezione/interruzione Nel MIPS viene adottata la 1 a soluzione, usando un registro, denominato Cause, per memorizzare il motivo dell eccezione/interruzione Il PC corrente viene invece salvato nel registro EPC Arch. Elab. - S. Orlando 44
23 Gestione eccezioni nel MIPS Il Controllo (ma anche il Datapath corrispondente) deve essere progettato per individuare l evento inatteso interrompere l istruzione corrente salvare il PC corrente (nel registro interno EPC = Exception PC) salvare la causa dell interruzione nel registro Cause consideremo solo le eccezioni di overflow e istruzione non valida 0 = istruzione non valida 1=overflow saltare ad una routine del SO (exception/interrupt handler) ad un indirizzo fisso: 0xC Il MIPS non salva nessun altro registro oltre PC è compito dell handler salvare altre porzioni dello stato corrente del programma (es. tutti i registri generali), se necessario approccio RISC esistono CPU dove questo salvataggio esteso dello stato viene sempre effettuato prima di saltare all interrupt handler salvataggio garantito dal microcodice approccio CISC Arch. Elab. - S. Orlando 45 Rilevamento eccezione Overflow segnale che arriva al controllo dall ALU Istruzione non valida controllo lo deve rilevare sulla base del campo op dell istruzione Dobbiamo aggiungere 2 nuovi stati al nostro automa a partire dallo stato Instruction Decode, dobbiamo poter transire nel nuovo stato Invalid Instruction solo se giunge un Op non valido a partire dallo stato R-type Completion, dobbiamo poter anche transire nello stato Overflow solo se giunge un segnale di overflow dal Datapath (ALU) questa transizione si potrebbe anticipare allo stato Execution Problema: next state da calcolare in base ad un segnale calcolato dal Datapath durante lo stesso ciclo di clock I nuovi stati che gestiscono le eccezioni dovranno occuparsi di salvare in EPC il PC corrente (ovvero PC - 4) di salvare 0/1 in Cause di memorizzare 0xC in PC Il prossimo stato sarà il Fetch (ma della prima istruzione dell handler) Arch. Elab. - S. Orlando 46
24 Nuovo controllo Invalid Instruction Overflow Arch. Elab. - S. Orlando 47 Nuovo Datapath Nuovo ingresso per PC (ind. Interrupt handler): 0xC EPC viene caricato con il risultato dell ALU, che calcola PC- 4 Cause viene caricato con 0, oppure con 1. Arch. Elab. - S. Orlando 48
Problemi con progetto a singolo ciclo. Progetto CPU (multiciclo) Esempio di riduzione del ciclo di clock. Datapath multiciclo
Problemi con progetto a singolo ciclo Progetto CPU (multiciclo) Problemi del singolo ciclo Ciclo di clock lungo Istruzioni potenzialmente più veloci sono rallentate impiegano lo stesso tempo dell istruzione
DettagliProgetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando
Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando Arch. Elab. - S. Orlando 1 Eccezioni e interruzioni Il progetto del controllo del processore si complica
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
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
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:
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 28/29 CPU multiciclo Massimiliano Giacomin Esempi di processori che usano controllo a singolo ciclo: NESSUNO! Perché? Periodo di clock: abbastanza lungo per garantire la
DettagliCALCOLATORI ELETTRONICI 15 aprile 2014
CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado
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
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
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
DettagliCALCOLATORI ELETTRONICI 29 giugno 2010
CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e
DettagliL unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti
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
DettagliL unità di elaborazione e di controllo
L unità di elaborazione e di controllo 1 The Processor: Datapath & Control We're ready to look at an implementation of the MIPS Simplified to contain only: memory-reference instructions: lw, sw arithmetic-logical
DettagliCALCOLATORI ELETTRONICI 31 marzo 2015
CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di
DettagliCALCOLATORI ELETTRONICI 29 giugno 2011
CALCOLATORI ELETTRONICI 29 giugno 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di una PLA la funzione combinatoria (a 3 ingressi e due uscite)
DettagliControllo con macchina a stati finiti
Controllo con macchina a stati finiti Durante l esecuzione di un programma applicativo i circuiti interpretano le istruzioni: del programma costituito dal< programma applicativo i servizi OS> Logica di
DettagliEsempio: aggiungere j
Esempio: add Esempio: load Esempio: beq Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione
DettagliCalcolo durata ciclo. Prestazioni Singolo Ciclo. Prestazioni singolo ciclo. Durata Ciclo Variabile
Prestazioni Singolo Ciclo Assumiamo i seguenti ritardi: Unita di memoria: 2 nanosecondi e adders: 2 nanosecondi Banco di istri: 1 nanosecondo per gli altri: insignificante Quale e la durata del ciclo?
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 borghese@dsi.unimi.it Università degli Studi di Milano A.A. 23-24 /2 Sommario I segnali di controllo
DettagliArchitettura di tipo registro-registro (load/store)
Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche
DettagliCicli di clock e istruzioni
Cicli di clock e istruzioni Numero di cicli di clock differenti per istruzioni differenti Le moltiplicazioni impiegano più tempo delle addizioni Operazioni in virgola mobile impiegano più tempo delle operazioni
DettagliEsercitazione su Instruction Level Parallelism Salvatore Orlando
Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a
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
circuiti combinatori: ALU slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello 1 ALU ALU (Arithmetic Logic Unit) circuito combinatorio all interno del processore per l esecuzione di istruzioni
Dettagli1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware.
1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware. 2. Spiegare i diversi tipi di indirizzamento usati dalle istruzioni del set
DettagliEsercitazione su Instruction Level Parallelism
Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a
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
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):
DettagliMicroelettronica Corso introduttivo di progettazione di sistemi embedded
Microelettronica Corso introduttivo di progettazione di sistemi embedded Architettura dei sistemi a microprocessore prof. Stefano Salvatori A.A. 2014/2015 Eccetto dove diversamente specificato, i contenuti
DettagliCapitolo 5 Elementi architetturali di base
Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliStruttura del processore. Funzionamento del processore
Struttura del processore L unità di elaborazione Funzionamento del processore. Prelievo dell istruzione dalla memoria al processore (dall indirizzo indicato dal PC al registro di istruzione IR) IR [[PC]]
DettagliIl pipelining: tecniche di base
Il pipelining: tecniche di base Il pipelining E una tecnica per migliorare le prestazioni del processore basata sulla sovrapposizione dell esecuzione di più istruzioni appartenenti ad un flusso di esecuzione
DettagliInstruction Level Parallelism Salvatore Orlando
Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni
DettagliControllo a ciclo singolo
Controllo a ciclo singolo Il controllo della CPU a singolo ciclo è combinatorio Il datapath è invece un circuito sequenziale i suoi output dipendono anche dal valore dei registri es. Zero, oppure l indirizzo
DettagliMacchine Astratte. Luca Abeni. February 22, 2017
Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria
DettagliTutorato Architettura degli elaboratori
Tutorato Architettura degli elaboratori Dott. Damiano Braga Before we start.. Orario 12 Aprile h. 14.00-16.00 aula F6 20 Aprile h. 11.30-13.30 aula F6 10 Maggio h. 14.00-16.00 aula F4 18 Maggio h. 11.30-13.30
DettagliIstruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni
Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da
DettagliConcetti di base delle Moderne architetture. Due concetti fondamentali. Due concetti fondamentali
Concetti di base delle Moderne architetture una semplice architettura RISC esecuzione delle istruzioni in un unico ciclo di clock esecuzione delle istruzioni in più cicli di clock introduzione del pipelining
DettagliCalcolatori Elettronici
Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione
DettagliRiassunto. 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
DettagliAddizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754
Addizionatori: metodo Carry-Lookahead Costruzione di circuiti combinatori Standard IEEE754 Addizionatori Il circuito combinatorio che implementa l addizionatore a n bit si basa su 1-bit adder collegati
DettagliFasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer)
Fasi (MIPS) Fasi senza pipeline: IF (istruction fetch): IR Mem[PC] ; NPC PC + 4 ; Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer) Lezione Architettura degli
DettagliCorso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino
Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole
DettagliStruttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:
Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema
DettagliArchitettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 18 Febbraio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
DettagliCalcolatori Elettronici
Calcolatori Elettronici CPU a singolo ciclo assimiliano Giacomin Schema del processore (e memoria) Unità di controllo Condizioni SEGNALI DI CONTROLLO PC emoria indirizzo IR dato letto UNITA DI ELABORAZIONE
DettagliIl calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
DettagliIl Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003
Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program
DettagliARCHITETTURA DI UN ELABORATORE
ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchiana di Von Neumann: Non distingueva fra RAM
DettagliLezione 15. L elaboratore Elettronico
Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente
DettagliEsercitazione sulle CPU pipeline
Esercitazione sulle CPU pipeline 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 perché
DettagliStep I: equazioni logiche per ogni singola uscita
SCO MIPS Multiciclo Logica Combinatoria di Controllo Registro di Stato Corrente Uscite: Segnali di Controllo (SC) Stato Futuro (SF) Modello Moore: SC dipende solo da stato corrente SF dipende anche da
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
DettagliLinguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche
3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliEsempio: aggiungere j
Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliArchitettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliCorso 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
DettagliIndirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)
Ciclo esecutivo delle istruzioni: Fetch/Execute Lo avete visto nel corso di Introduzione alle Architetture degli Elaboratori Stallings, Capitolo 3 Ne vediamo una versione revisionata Indirettezza Per recuperare
DettagliComponenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
DettagliIl processore Pentium
Caratteristiche principali (I) Architettura interna a 32 bit Address bus a 32 bit: si possono indirizzare fino a 4 GB di memoria fisica Data bus a 64 bit (si tratta in pratica di 2 data bus a 32 bit in
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliLa CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2
La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri
DettagliARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
DettagliArchitetture Digitali
Corso di Lezione 3 Sintesi RTL Federico Pedersini Laboratorio di (DALab) Dipartimento di Scienze dell Informazione Università degli Studi di Milano Riferimenti bibliografici: [1] F. Fummi, M. Sami, C.
DettagliArchitettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf
Architettura di un calcolatore e ciclo macchina Appunti per la classe 3 Dinf Il Sistema di Elaborazione Computer Hardware Software 2 Hardware Struttura fisica del calcolatore formata dai circuiti elettronici
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
DettagliIl processore: unità di elaborazione e unità di controllo (3)
Il processore: nità di elaborazione e nità di lo () rchitettre dei Calcolatori (lettere -I) Limitazione del ciclo singolo I tempi di accesso per le diverse istrzioni variano, ad esempio ccesso in memoria:
DettagliModi di esecuzione user / kernel
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliIspirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).
RCHITETTUR DI UN ELORTORE Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). MCCHIN DI VON NEUMNN UNITÀ FUNZIONLI fondamentali Processore (CPU) Memoria
DettagliArchitettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
DettagliUniversità degli studi di Bologna Anno Accademico 2000/2001 Corso di Architettura degli elaboratori
Università degli studi di Bologna Anno Accademico 2000/2001 Corso di Architettura degli elaboratori Esercitazione di Reti Logiche Realizzazione completa di un'architettura di processore attraverso strumenti
DettagliArchitettura di una CPU
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1
DettagliHARDWARE 1.4a: (Processore)
HARDWARE 1.4a: (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Sciuto, Buonanno, Mari, Introduzione ai sistemi informatici, Mc Graw Hill Questi lucidi
DettagliArchitettura di un processore basato su registri generali.
Architettura di un processore basato su registri generali. M. Esposito (mesposit@unina.it) 26 febbraio 2007 In Fig. 1 è riportato uno schema di principio che raffigura l architettura di un processore basato
DettagliIl Processore: l unità di controllo
Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di
Dettaglistatic dynamic random access memory
LA MEMORIA SRAM e D R A M static dynamic random access memory SRAM: unità che memorizza un gran numero di parole in un insieme di flip-flop, opportunamente connessi, mediante un sistema di indirizzamento
DettagliIntroduzione alle gerarchie di memoria
Introduzione alle gerarchie di memoria 1 Un ripasso Circuito sequenziale Segnale di clock Circuito sincrono Temporizzazione sensibile ai fronti Latch tipo S-R Latch tipo D Flip-flop tipo D Register file
DettagliArchitettura di un calcolatore
Architettura di un calcolatore Corso di Informatica A Vito Perrone Indice La macchina di Von Neumann Memoria CPU Bus Interfacce Esempio L algoritmo Il programma Fasi di esecuzione di un istruzione 2 1
DettagliElaborazione dell informazione
Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione
DettagliLe prestazioni di un calcolatore la CPU
Le prestazioni di un calcolatore la CPU Mariagiovanna Sami 1 Perché valutare le prestazioni? Le prestazioni dello hardware (che si considerano qui) sono spesso essenziali per valutarwe le prestazioni di
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
DettagliLA GESTIONE DELLA I/O
LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono
DettagliCOMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME
MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni
DettagliCPU. Maurizio Palesi
CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore
DettagliElementi di Architettura
Elementi di Architettura Fondamenti di Informatica Roberto BASILI Marzo, 2007 Classi di Istruzioni Istruzioni di assegnamento/modifica Istruzioni di controllo delle sequenze Istruzioni di I/O Classi di
DettagliArchitettura dei sistemi di elaborazione: La CPU: Architettura (parte1)
Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1) La CPU Architettura L organizzazione interna di una CPU è caratterizzata dal data path, che è costituito da una serie di componenti,
DettagliLecture 2: Prime Istruzioni
[http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 2: Prime Istruzioni
DettagliArchitettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
DettagliL ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O
L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti
DettagliUnità Aritmetico-Logica
Unità Aritmetico-Logica A ritmethic L ogic U nit E l unità che esegue le operazioni aritmetiche e le operazioni logiche AND e OR 1-bit ALU : è una componente dell ALU che produce un singolo bit sui 32
DettagliCorso di Informatica
CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica
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
DettagliLaboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini
[http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a. 2006-2007 Docente: H. Muccini Lecture 12: - Numeri con segno -Somma e sottrazione
DettagliLINGUAGGIO MACCHINA e ASSEMBLER. Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA
LINGUAGGIO MACCHINA e ASSEMBLER Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA Nel computer non vengono memorizzati soltanto i dati da elaborare ma anche il programma
DettagliLa macchina programmata Instruction Set Architecture (1)
Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un
DettagliEsame di Architetture Canale MZ Prof. Sterbini 8/6/15
Esame di Architetture Canale MZ Prof. Sterbini 8/6/15 Cognome e Nome: Matricola: Parte 1 (per chi non ha superato l'esonero 1 ora) Esercizio 1 (14 punti). In una partita di CPU a ciclo di clock singolo
Dettagli