CPU pipeline hazards
|
|
- Alice Guerra
- 6 anni fa
- Visualizzazioni
Transcript
1 Architettura degli Elaboratori e delle Reti Lezione 23 CPU pipeline hazards Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 23 /24 Sommario! CPU pipeline Unità di Controllo (UC)! Criticità (hazards) soluzioni alle criticità nei dati L 23 2/24
2 Criticità (hazards) Sintesi! Criticità strutturali " Necessità della stessa unità funzionale più volte, nello stesso passo. " Le unità funzionali non sono in grado di supportare le istruzioni (nelle diverse fasi) che devono essere eseguite in un determinato ciclo di clock.! Criticità di Dati " Dovrei eseguire un istruzione in cui uno dei dati è il risultato dell esecuzione di un istruzione precedente. " lw $t, 6($s) " add $t, $t, $s L 23 3/24 CPU pipeline: esempio esec. istruzioni lw Passo esecuzione: lw PC branch oria Dati Istruzioni Register File (Fase fetch) Yes Yes (Decodifica) Yes (Esecuzione) Yes (Acc memoria) Yes (riscrittura) Yes lw $t, 8($t2) (PC) RF RF lw $t, 2($t2) (PC) RF RF lw $t, 6($t2) (PC) RF RF... -PC! Presenza di criticità strutturali:, ORIA / (PC), oria DATI / ISTRUZIONI! Soluzione: replicazione delle risorse L 23 4/24
3 Struttura CPU pipeline! Duplicazione memoria (Dati / Istruzioni)! Triplicazione (, -PC, -offset) Registri di pipeline L 23 5/24 Funzionamento CPU pipeline! Esempio: istruzione lw 5 fasi (cicli di clock) clock(t) t L 23 6/24
4 Segnali di controllo CPU pipeline Segnale RegDst Src Branch toreg Effetto quando è negato () Il numero del registro destinazione proviene dal campo rt (bit 2-6) Il secondo operando della proviene dalla seconda uscita in lettura del RF Il valore del PC viene sostituito dall uscita del sommatore che calcola PC + 4 (condizionato all uscita di ) Il valore inviato all ingresso Dato al RF proviene dalla Effetto quando è affermato () Il numero del registro destinazione proviene dal campo rd (bit 5-) Il secondo operando della è la versione estesa (con segno) del campo offset Il valore del PC viene sostituito dall uscita del sommatore che calcola l indirizzo di salto (condizionato all uscita di ) Il valore inviato all ingresso DatoScritto al RF proviene dalla memoria Read Write RegWrite Nessuno Nessuno Nessuno Il contenuto della cella di memoria dati indirizzata dal MAR è posto nel MDR Il contenuto in ingresso al MDR viene memorizzato nella cella il cui indirizzo è caricato nel MAR Nel registro specificato a #RegWrite viene scritto il valore presente all ingresso DatoScritto! Scrittura di PC e dei registri di pipeline avviene ad ogni fronte di clock L 23 7/24 CPU pipeline: progetto unità di controllo Unità di controllo CPU pipeline: Ipotesi:! Ogni istruzione necessita dei propri segnali di controllo! Ogni segnale di controllo è utilizzato in una sola fase! Segnali per fase, o Soluzione:! una volta generati i segnali di controllo di un istruzione... " nella fase di decodifica!...li trasporto attraverso la pipeline insieme all istruzione stessa " nelle fasi successive (,, ) L 23 8/24
5 Osservazioni! I segnali di controllo particolari (legati alle diverse istruzioni) si possono così raggruppare: " Nelle fasi di fetch e decodifica non esistono segnali di controllo " Il contenuto di rt ed il numero di rd vengono portati attraverso i vari stadi Fase # Exec ory Segnali # $ Istruz. Reg Dst Op Op Src Branch - Read - Write Reg- Write To- Reg Tipo R lw sw x x beq x x L 23 9/24 Generazione dei segnali di controllo! I segnali di controllo vengono generati nello stadio di decodifica e poi propagati agli stadi successivi. L 23 /24
6 UC per CPU Pipeline L 23 /24 Sommario! Struttura CPU Pipe-line! Gestione delle criticità " Hazard nei dati L 23 2/24
7 Criticità nella CPU! Criticità strutturali " risolte con la duplicazione (suddivisione) delle unità funzionali " 3, 2 memorie, come nella CPU singolo ciclo! Criticità di dati: Devo eseguire un istruzione in cui uno dei dati è il risultato dell esecuzione di un istruzione precedente " I prelievi e portano informazioni a ritroso # possibile causa di problemi. " prelievo nello stadio del risultato dell operazione! Soluzione mediante due tecniche: " SW: Riorganizzazione del codice (compilatore). " HW: Propagazione (forwarding) L 23 3/24 Esempio: criticità di dati istruzioni A/L tipo R! Il dato in $2 diviene disponibile nel RF nella fase della sub. " n è ancora pronto quando viene effettuata la decodifica della and e della or successive.! Hazards: tra sub e and e tra sub e or " Con le frecce sono indicate le dipendenze, in rosso gli hazard sub $2, $, $3 $ $3 s#$2 and $2, $2, $5 $2 and $5 s#$2 or $3, $6, $2 $6 or $2 (s#$3) add $4, $2, $2 $2+$2 s#$4 sw $5, ($s2) $2+ $5# L 23 4/24
8 Soluzione SW: riorganizzazione del codice Soluzioni:! EA: inserimento nop sub $2, $, $3 nop nop and $2, $2, $5 or $3, $6, $2 add $4, $2, $2 sw $5, ($s2) " Spreco di 2 cicli di clock, in modo che la fase dell istruzione: and $2, $2, $5 vada a coincidere con la fase di della: sub $2, $, $3! Situazione troppo frequente perché la soluzione sia accettabile. L 23 5/24 Soluzione HW: forwarding sub $2, $, $3 $ $3 s#$2 and $2, $2, $5 $2 and $5 s#$2 or $3, $6, $2 $6 or $2 (s#$3) add $4, $2, $2 $2+$2 s#$4 sw $5, ($s2) $2+ $5#! Prendo il risultato della sottrazione all inizio dello stadio (per le istruzioni R, lo stadio M è uno stadio idle): $-$3 è già contenuto nel registro / e si trova all uscita nella fase bassa del clock.! Sovrascrivo il primo operando della and successiva ($2) con il risultato della sottrazione eseguita in precedenza (contenta all uscita del registro /), senza attendere la fase di. L 23 6/24
9 Hazard tra sub e or: forwarding sub $2, $, $3 $ $3 s#$2 and $2, $2, $5 $2 and $5 s#$2 or $3, $6, $2 $6 or $2 (s#$3) add $4, $2, $2 $2+$2 s#$4 sw $5, ($s2) $2+ $5#! Prendo il risultato della sottrazione ($-$3) all inizio dello stadio, che è presente all uscita del registro / nella fase bassa del clock.! Sovrascrivo il primo operando della and successiva ($2) con il risultato della sottrazione eseguita in precedenza (presente all uscita del registro /), senza attendere la fase di. L 23 7/24 Hazard dati: Forwarding Forwarding: si invia il risultato dell istruzione precedente ad un passo intermedio dell istruzione attuale (in pipe).! Il contenuto dei registri / e / anticipa il contenuto del Register File. L 23 8/24
10 Forwarding e contenuto del registro /! Nel normale funzionamento, il registro / contiene quanto letto dal Register File.! Quando abbiamo forwarding, quello che viene letto dal registro / nella fase di esecuzione deve essere sovrascritto da quanto letto dal registro / o /.! Nel registro / è contenuto il risultato dell operazione eseguita all istante precedente.! Nel registro / è contenuto il risultato dell operazione eseguita 2 istanti precedenti. L 23 9/24 Hazard nei dati, progetto soluzione HW! Datapath: " collegamenti da :out ad :in " e da :out a :in $2 $-$3! Controllore: " Unità di propagazione L 23 2/24
11 Soluzione architetturale per AND Hazard su AND:! Occorre implementare la seguente funzione logica nella fase dell esecuzione dell istruzione: t-: sub $2, $, $3 t: and $2, $2, $5 (RD t- == RS t ) then collega : (RD t- == RT t ) then collega : RD t- # RS t RD t- # RT t! "# t-!$!"# sub!$ $2 è il contenuto del registro destinazione dell istruzione precedente la and (sub $2, $, $3) contenuto nel registro / L 23 2/24 Soluzione architetturale per OR Hazard su OR:! Occorre implementare la seguente funzione logica nella fase dell esecuzione dell istruzione: t-2: sub $2, $, $3 t-:... t: or $3, $6, $2 if (RD t-2 = RS t ) then collega RD t-2 con RS t if (RD t-2 = RT t ) then collega RD t-2 con RT t! RD t+2 = RD sub = $2!è il contenuto del registro destinazione di 2 istruzioni precedenti la or (sub $2, $, $3) che è copiato nella fase. L 23 22/24
12 Controllo MUX ingresso alla! Nuovi segnali di controllo: PropagaA, PropagaB " generati dall unità di propagazione Controllo Multiplexer PropagaA = PropagaA = PropagaA = PropagaB = PropagaB = PropagaB = Registro Sorgente +#'&* &*'%&% %&%'( ) +#'&* &*'%&% %&%'( ) Funzione Il primo operando della proviene dal Register File Il primo operando della è propagato dal risultato della per l istruzione precedente. Il primo operando della è propagato dalla memoria o da un altra istruzione precedente. Il secondo operando della proviene dal Register File Il secondo operando della è propagato dal risultato della per l istruzione precedente. Il secondo operando della è propagato dalla memoria o da un altra istruzione precedente. L 23 23/24 Data Hazard: soluzioni Soluzioni DATA HAZARD: SW: Buona scrittura del codice " il programmatore deve conoscere la macchina per scrivere un buon codice!! Compilatore efficiente " che riordini il codice HW: FORWARDING: Architettura che renda disponibile i dati appena pronti alla fase di esecuzione.! Inserire una nop! Accettare uno stallo " non sempre si può evitare L 23 24/24
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,
DettagliCPU a ciclo multiplo
Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L /9 Sommario! I problemi
DettagliCPU a singolo ciclo: l unità di controllo, istruzioni tipo J
Architettura degli Elaboratori e delle Reti Lezione 9 CPU a singolo ciclo: l unità di controllo, istruzioni tipo J Pro. A. Borghese, F. Pedersini Dipartimento di Scienze dell Inormazione Università degli
DettagliCPU a ciclo multiplo
Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 1/8 Sommario! I problemi
DettagliLa CPU pipeline. Principio intuitivo della pipe-line. Architettura degli Elaboratori e delle Reti. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti La CPU pipeline A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano CPU Pipeline 1 Principio intuitivo della
DettagliArchitettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini
Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità
DettagliL'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
DettagliProcessore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)
Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock
DettagliRichiami sull architettura del processore MIPS a 32 bit
Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC
DettagliProblemi del ciclo singolo
Problemi del ciclo singolo Ciclo di clock lungo Istruzioni potenzialmente veloci sono rallentate Impiegano sempre lo stesso tempo dell istruzione più lenta Unità funzionale e collegamenti della parte operativa
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
DettagliProgettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore
Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero
DettagliIl pipelining: tecniche di base
Definizione di pipelining Il pipelining: tecniche di base Architetture Avanzate dei Calcolatori E una tecnica per migliorare le prestazioni del processore basata sulla sovrapposizione dell esecuzione di
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
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
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
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
DettagliIl processore: unità di elaborazione
Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero
DettagliCalcolatori Elettronici B a.a. 2007/2008
Calcolatori Elettronici B a.a. 27/28 Tecniche Pipeline: Elementi di base assimiliano Giacomin Reg[IR[2-6]] = DR Dal processore multiciclo DR= em[aluout] em[aluout] =B Reg[IR[5-]] =ALUout CASO IPS lw sw
DettagliEsercitazione del 12/05/ Soluzioni
Esercitazione del 12/05/2005 - Soluzioni Una CPU a ciclo singolo come pure una CPU multi ciclo eseguono una sola istruzione alla volta. Durante l esecuzione poi, alcuni stadi della CPU rimangono inutilizzate
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni
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
DettagliCPU pipeline 4: le CPU moderne
Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16
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
DettagliLezione 7 Sommatori e Moltiplicatori
Architettura degli Elaboratori e delle Reti Lezione 7 Sommatori e Moltiplicatori Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 /36 Sommario
DettagliHazard sul controllo. Sommario
Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione
DettagliISA (Instruction Set Architecture) della CPU MIPS
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina
DettagliTrend di sviluppo delle pipeline
Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@.unimi.it Università degli Studi di Milano Patterson 4.10, 4.11 1/36 Sommario Superpipeline
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
DettagliARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!
ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore
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
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliLezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly
Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
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
DettagliLinguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)
Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo
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
DettagliElementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
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.
DettagliLinguaggio macchina: utilizzo di costanti, metodi di indirizzamento
Architetture degli Elaboratori e delle Reti Lezione 17 Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità
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):
DettagliRealizzazione a cicli di clock multipli
Realizzazione a cicli di clock multipli Riprendiamo in esame la realizzazione dell'unità di calcolo per individuare, per ciascuna classe di istruzioni, le componenti utilizzate e suddividere le azioni
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
DettagliIl processore: unità di controllo
Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune
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
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
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
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:
DettagliARCHITETTURE AVANZATE DEI CALCOLATORI, A.A. 2007/08 Soluzione esercizi sul pipelining
ARCHITETTURE AVANZATE DEI CALCOLATORI, A.A. 2007/08 Soluzione esercizi sul pipelining Esercizio 1) N.B. Nei diagrammi a cicli multipli non sono indicati i registri di pipeline (per semplicità) a) Si tratta
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 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
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 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
DettagliIstruzioni 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:
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
DettagliSistemi 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
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
DettagliInstruction Level Parallelism
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
DettagliARCHITETTURA DI UN ELABORATORE
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
DettagliESERCIZIO 1. Sia dato il seguente ciclo di un programma in linguaggio ad alto livello:
ESERIZIO 1 Sia dato il seguente ciclo di un programma in linguaggio ad alto livello: do { BASE[i] = BASEA[i] + BASEB[i] + IN1 + IN2; i++; } while (i!= N) Il programma sia stato compilato nel seguente codice
DettagliLinguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio
DettagliPipeline Problemi 1. Pipeline Problemi 2
Problemi 1 Vari fenomeni pregiudicano il raggiungimento del massimo di parallelismo teorico (stallo) Sbilanciamento delle fasi Durata diversa per fase e per istruzione Problemi strutturali La sovrapposizione
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
DettagliArchitettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 19 Febbraio 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
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
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é
DettagliCalcolatori Elettronici T. ISA DLX: Implementazione Tramite Struttura Pipelined
Calcolatori Elettronici T ISA L: Implementazione Tramite Struttura Pipelined 1 Principio del Pipelining Il pipelining è oggi la principale tecnica di base impiegata per rendere veloce una CP. L idea alla
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
DettagliArchitettura degli elaboratori Tema d esame del 20/01/2016
Architettura degli elaboratori - Luigi Lavazza A.A. 5/6 Università degli Studi dell Insubria Dipartimento di Informatica e Comunicazione Architettura degli elaboratori Tema d esame del //6 Luigi Lavazza
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
DettagliMemorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella
Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Tipi di memorie Possono essere classificate in base a varie caratteristiche:
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
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
DettagliCalcolatori Elettronici
Calcolatori Elettronici CPU multiciclo: esercizi Massimiliano Giacomin 1 Prima tipologia di esercizi: valutazione delle prestazioni 2 Specchio riassuntivo su prestazioni e CPI 0) In generale: T esecuzione
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:
DettagliESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO
ESERCIZIO Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO Sono dati il seguente frammento di codice assemblatore che comincia all indirizzo indicato, e i valori iniziali specificati per
DettagliARCHITETTURA DI UN ELABORATORE
ARCHITETTURA DI UN ELABORATORE memoria centrale Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). John von Neumann (Neumann János) (December 28, 1903
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale
di Cassino e del Lazio Meridionale Corso di Pipeline Anno Accademico Francesco Tortorella Progettazione del datapath Prima soluzione: d.p. a ciclo singolo Semplice da realizzare Condizionato dal worst
DettagliISA e linguaggio macchina
ISA e linguaggio macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/55
DettagliPinout PD32. Memoria di lavoro esterna. tramite l indirizzo ad esse associato. e possono essere lette o scritte: Le singole celle sono distinguibili
PD-32,prima parte Struttura a blocchi del sistema di calcolo MEMORIA KB Memory Address Bus Memory Data Bus Memory Control Bus PD32 I/O Address Bus I/O Data Bus I/O Control Bus IACK Device Device 7 Pinout
DettagliArchitettura degli elaboratori - CPU multiciclo A.A. 2016/17. Architettura degli elaboratori
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Marco Tarini Dipartimento di Scienze Teoriche e Applicate marco.tarini@uninsubria.it Progetto
DettagliL unità di elaborazione PC: MAR/MDR IR: R0 Rn: TEMP, V, Z
Struttura del processore L unità di elaborazione Corso ACSO prof. Cristina SILVANO Politecnico di Milano Datapath ad un solo bus interno Faremo riferimento ad una generica CPU e a una memoria con parole
DettagliStruttura di un elaboratore
Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,
DettagliLezione 7 ALU: Moltiplicazione e divisione
Architettura degli Elaboratori e delle Reti Lezione 7 ALU: Moltiplicazione e divisione F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 1/34 Sommario! Sommatori
DettagliLa memoria - tecnologie
Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/21 Sommario!
DettagliLa memoria - tecnologie
Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 26 1/24 Indirizzi
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
DettagliEsercizio n. 7 - Microcodice
Esercizio n. 7 - Microcodice Lo schema riportato qui di fianco illustra l architettura di processore a bus singolo di riferimento. Si scriva il microcodice capace di eseguire la coppia di istruzioni seguenti:
DettagliGestione degli hazard
Gestione degli hazard etodologie di progettazione Hardware/Software- LS Ing. Informatica Limiti alla eseczione pipeline: i conflitti ( Hazard ) I conflitti (Hazard) impediscono che na istrzione venga esegita
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]]
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
DettagliPipeline nel Mondo Reale
Pipeline nel Mondo Reale Luca Abeni May 26, 2016 Pipeline Ideali... Abbiamo visto come fare il bucato eseguire un istruzione macchina usando un pipeline... Pipeline a 5 stadi: Fetch Decode Exec Memory
DettagliArchitettura degli Elaboratori B Introduzione al corso
Componenti di un calcolatore convenzionale Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando http://www.dsi.unive.it/~arcb Studieremo il progetto e le prestazioni delle varie componenti
DettagliEsercizi su microistruzioni. 1 Esercizi con architettura a 1 bus
Esercizi su microistruzioni Ogni riga elenca i segnali che vengono attivati nello stesso ciclo di clock. Si assume che lettura e scrittura dei registri avvengano all inizio e alla fine del ciclo di clock,
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
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
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
DettagliUn 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
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
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
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
Dettagli