Pipeline. Introduzione alle pipeline. Approccio con pipeline. Metafora del bucato. Approccio con pipeline (2) Istruzioni MIPS

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Pipeline. Introduzione alle pipeline. Approccio con pipeline. Metafora del bucato. Approccio con pipeline (2) Istruzioni MIPS"

Transcript

1 Introdzione alle pipeline Pipeline Le pipeline rappresentano na variante all nità di elaborazione a singolo ciclo. Francesco Paolo Landolfo Francesca Della Corte Prevedono la sovrapposizione temporale dell eseczione di diverse istrzioni. Sono la chiave s ci si basa la velocità dei calcolatori. 2 etafora del bcato Approccio con pipeline Chinqe abbia avto a che fare con il bcato ha già tilizzato intitivamente la tecnica delle pipeline Approccio al bcato di tipo classico:. ettere n carico di abiti sporchi nella lavatrice 2. Qando la lavatrice ha finito mettere il carico bagnato nell ascigatrice. 3. Qando l ascigatrice ha finito, mettere il carico ascitto sll asse da stiro e stirarlo.. Dopo aver finito di stirare riporre gli abiti nell armadio Al termine di qeste operazioni si potrà ricominciare con il prossimo carico di panni sporchi. 3 Richiede molto meno tempo. Appena la lavatrice ha terminato il primo carico e qesto è stato trasferito nella ascigatrice, si pò riempire la lavatrice con il secondo carico di panni sporchi. Qando il primo carico è ascitto, lo si pone sll asse da stiro per stirarlo, si sposta il carico bagnato nell ascigatrice ed il sccessivo carico sporco nella lavatrice. Si ripongono nell armadio gli abiti del primo carico mentre parte la stiratra del secondo carico, con il terzo carico nell ascigatrice ed il qarto nella lavatrice. Risltato: ttti i passi stanno lavorando in contemporanea. Time Task A B C D 6 P A 6 P A Time Task A B C D Approccio con pipeline (2) Qando si parla di pipeline i passi vengono detti stadi. Prchè si abbiano risorse separate per ciascno stadio, le operazione possono essere poste in pipeline. Le pipeline non ridcono il tempo necessario per l eseczione di n istrzione, ma semplicemente velocizzano le eseczioni ponendole in parallelo. L efficacia delle pipeline si apprezza maggiormente qando si ha a che fare con n gran nmero di istrzioni. 5 Istrzioni IPS Le istrzioni IPS richiedono tipicamente 5 passi:. Prelievo dell istrzione dalla memoria 2. Lettra dei registri e decodifica dell istrzione 3. Eseczione dell operazione o calcolo dell indirizzo. Accesso ad n operando nella memoria dati 5. Scrittra del risltato in n registro Idea: mettere in parallelo l eseczione dei singoli passi relativi a più istrzioni. Risltato: la nostra pipeline avrà 5 stadi. 6

2 Set di istrzioni orientati alle architettre con pipeline Il IPS è stato progettato espressamente per l eseczione con processori dotati di pipeline. Ttte le istrzioni IPS hanno la stessa lnghezza: ciò semplifica il prelievo delle istrzioni e la loro decodifica. Nmero ridotto di formati delle istrzioni e posizione costante dei registri sorgente: permette al secondo stadio di leggere il register file mentre il circito determina il tipo dell istrzione. Gli operandi di tipo memoria possono comparire soltanto nelle istrzioni di load e di store. Si pò sare lo stadio di eseczione per calcolare l indirizzo di memoria accedendo alla memoria nello stadio sccessivo. 7 Criticità sll so di pipeline Sitazioni in ci l istrzione sccessiva non pò essere esegita nel ciclo di clock segente. Esistono tre tipi di criticità: Criticità strttrali; Criticità sl controllo; Criticità si dati. 8 Criticità strttrali Criticità sl controllo Le risorse hardware presenti non sono in grado di spportare la combinazione di istrzioni che si vorrebbe esegire nello stesso ciclo di clock. Analogia con il bcato: n nica macchina lavatrice/ascigatrice anziché de macchine separate. Pipeline: disporre di na sola memoria anziché di de. Necessità di dover compiere alcne scelte in fnzione del risltato di n istrzione mentre altre istrzioni sono in eseczione. Analogia con il bcato: lavare le divise di na sqadra di calcio e, a seconda di qanto siano sporche, determinare la qantità di detersivo e la temperatra dell acqa. eection Time lw $, ($) lw $2, 2($) 8 ns lw $3, 3($) 8 ns... 8 ns eection Time lw $, ($) lw $2, 2($) 2 ns lw $3, 3($) 2 ns 2 ns 2 ns 2 ns 2 ns 2 ns Se vi fosse na qarta istrzione, nello stesso ciclo di clock la prima istrzione dovrebbe accedere ai dati nella memoria, mentre la qarta istrzione dovrebbe essere reperita dalla memoria stessa. 9 Necessario attendere il completamento del secondo stadio Esistono de solzioni alle criticità sl controllo:. Stallo; 2. Predizione. Criticità sl controllo - Stallo Criticità sl controllo - Predizione Analogia con il bcato: lavorare in modo seqenziale fino a qando il primo carico è ascitto e se il risltato ottento non è qello desiderato ripetere il ciclo finché non si ottiene la combinazione corretta. Corretta ma lenta. L eqivalente nel nostro caso è l istrzione di salto condizionato. Sospendere l eseczione mediante pipeline procedendo in modo seqenziale fino a terminare l istrzione di salto. eection Time add $, $5, $6 beq $, $2, 2ns lw $3, 3($) ns 2ns L istrzione lw, esegita se il salto non viene effettato, viene posta in stato d attesa per n ciclo di clock della drata di de nanosecondi. Rallentamento ancora maggiore se l esito dell istrzione di salto non si pò decidere nel secondo stadio. Costo troppo elevato Analogia con il bcato: se si è qasi sicri di conoscere la gista combinazione per lavare le divise, si assme di essere in grado di fare na predizione corretta e si lava il secondo carico mentre il primo si asciga: Predizione corretta: nessn rallentamento; Predizione errata: ripetere la lavorazione del carico che era stato lavato slla base della predizione. Tecnica effettivamente tilizzata dai calcolatori per gestire i salti condizionati. Esistono diversi approcci: Predire sempre che il salto non venga esegito: in caso di predizione corretta la pipeline procede al massimo della velocità, altrimenti si verifica no stallo; Predire alcni salti come esegiti ed altri come non esegiti: ad esempio si pò predire che i salti verso indirizzi minori verranno esegiti (rappresentano dei cicli); Predizione dinamica: scegliere la predizione da fare in fnzione del comportamento di ciascna istrzione di salto slla base di no storico. 2 2

3 Criticità si dati Unità di elaborazione con pipeline Analogia con il bcato: si spponga di dover riporre n carico che è composto prevalentemente da calzini e che il calzino corrispondente a ciascno di qelli del carico corrente è stato posto in n altro carico ancora nella lavatrice IF: ID: decode/ register file read EX: Eecte/ address calclation E: emory : back I calzini non possono essere riposti nell armadio fino a che il secondo carico non è terminato. Nel nostro caso, n istrzione dipende dal risltato di n istrzione precedente che si trova ancora nella pipeline Es: add $s,$t, $t sb $t2, $s, $t3 l istrzione add non scrive il proprio risltato prima del 5 stadio per ci si dovrebbero aggingere tre bchi alla pipeline. Solzione più tilizzata non è necessario attendere il termine dell istrzione: Non appena la ALU genera il risltato della somma qesto viene sato come ingresso per l operazione di sottrazione. Si prende in anticipo il dato mancante attingendo alle risorse interne.(propagazione o scavalcamento) ress register register 2 isters 2 register 6 32 etend Nell immagine è riportata l nità di elaborazione a singolo ciclo. La sddivisione di n istrzione in 5 fasi implica na pipeline a 5 stadi. reslt Zero ALU ALU reslt ress 3 Stadi della pipeline Occorre separare l nità di elaborazione in 5 parti: IF: prelievo dell istrzione; ID: decodifica dell istrzione; EX: eseczione o calcolo dell indirizzo; E: o alla memoria dei dati; : scrittra del risltato. Drante l eseczione istrzioni e dati si spostano, generalmente, da sinistra a destra attraverso le 5 fasi. Vi sono de eccezioni al flsso di istrzioni: Lo stadio di scrittra del risltato pone il risltato nel register file; La selezione del valore sccessivo del, scelto tra il valore del incrementato e l indirizzo di salto(proveniente dallo stadio E). Cosa sccede nell eseczione con pipeline? Ipotizziamo che ciascna istrzione disponga della propria nità di elaborazione, sistemando tale nità lngo l asse dei tempi per visalizzarne le relazioni. lw $2, 2($) lw $3, 3($) Time (in clock cycles) CC CC 2 CC 3 CC CC 5 CC 6 CC 7 eection lw $, ($) I D I D I D 5 6 Cosa sccede nell eseczione con pipeline?(2) Per memorizzare il valore dell istrzione letta dalla memoria a beneficio degli altri stadi, occorrerà salvarlo in n registro. Considerazioni analoghe valgono per ttti gli stadi della pipeline. Per qesto motivo occorrerà aggingere dei registri ogniqalvolta vi siano delle linee di divisione tra gli stadi. Analogia con la lavanderia: cestino tra ciascna coppia di stadi per contenere i panni destinati al passo sccessivo. Stadi pipeline Prelievo dell istrzione: l istrzione viene letta dalla memoria tilizzando come indirizzo e viene posta nel registro di pipeline IF/ID. L indirizzo contento nel registro viene incrementato di e riscritto sia in che nel registro di pipeline IF/ID (potrebbe essere richiesto da n istrzione sccessiva es. BEQ). IF/ID ID/EX EX/E E/ reslt ress register register 2 isters 2 register Zero ALU ALU reslt ress 6 32 etend 7 8 3

4 Stadi pipeline (2) Stadi pipeline load Decodifica dell istrzione e lettra del register file: la parte inferiore del registro di pipeline IF/ID fornisce il campo di 6 bit ed i nmeri dei de registri da leggere. I tre valori sono memorizzati nel registro di pipeline ID/EX insieme al valore incrementato di. Eseczione o calcolo dell indirizzo: l istrzione load legge dal registro di pipeline ID/EX il contento del registro ed il valore immediato, esteso con segno, e li somma tilizzando la ALU. Il valore della somma è posto nel registro di pipeline EX/E lw Eection IF/ID ID/EX EX/E E/ reslt ress register register 2 isters 2 register Zero ALU ALU reslt ress 6 32 etend NOTA: qesti de stadi sono comni a ttte le istrzioni!! 9 2 Stadi pipeline load Stadi pipeline load Accesso alla memoria: l istrzione load legge la memoria dei dati tilizzando come indirizzo il valore letto dal registro di pipeline EX/E. Il dato letto viene caricato nel registro di pipeline E/. Scrittra del risltato: il passo finale è la lettra del dato dal registro di pipeline E/ e la scrittra dello stesso nel register file 2 22 Stadi pipeline - store Stadi pipeline - store Eseczione e calcolo dell indirizzo: l indirizzo dell operando viene posto nel registro di pipeline EX/E sw Eection Accesso alla memoria: il registro che contiene il dato da dover scrivere è stato letto in no stadio precedente ed il relativo valore memorizzato nel registro ID/EX. L nico modo per rendere il dato disponibile drante lo stadio E è qello di memorizzarlo nel registro di pipeline EX/E drante lo stadio EX. IF/ID ID/EX EX/E E/ reslt ress register register 2 isters 2 register Zero ALU ALU reslt ress 6 32 etend 23 2

5 Stadi pipeline - store Scrittra del risltato: Nel caso della store non sccede nlla!!!! Un istrzione deve passare in no stadio anche se non vi è nlla da fare poiché le istrzioni sccessive stanno già procedendo alla massima velocità possibile. Stadi pipeline - conclsioni Per passare n valore da no stadio iniziale della pipeline ad no sccessivo è necessario memorizzarlo in n registro di pipeline, altrimenti l informazione verrebbe persa. Ciascn componente logico dell nità di elaborazione pò essere sato in n solo stadio della pipeline, altrimenti si avrebbe na criticità strttrale. Errore nel progetto dell istrzione load: Chi ci dice il nmero del registro da scrivere? Così come la store ha inviato il contento del registro dal registro di pipeline ID/EX al registro EX/E, anche la load deve fare lo stesso per il nmero del registro affinché possa tilizzarlo nello stadio. IF/ID ID/EX EX/E E/ reslt ress register register 2 isters 2 register Zero ALU ALU reslt ress 6 32 etend Unità di controllo con pipeline Vogliamo aggingere l nità di controllo all nità di elaborazione con pipeline. Si partirà con n progetto semplificato che ignora la reale complessità del problema. Realizzazione dell nità di controllo Il primo passo consiste nell etichettare i segnali di controllo dell nità di elaborazione esistente. IF/ID ID/EX EX/E E/ reslt Branch Src Si approfondirà l analisi prendendo in considerazione le difficoltà esistenti nel progetto di n sistema reale. ress register register 2 isters 2 register ALUSrc Zero ALU ALU reslt em ress emto [5 ] 6 32 etend 6 ALU control em 27 [2 6] [5 ] ALUOp Dst 28 Realizzazione dell nità di controllo (2) Realizzazione dell nità di controllo (3) Si assme che il registro venga scritto ad ogni ciclo di clock non vi sarà alcn segnale di controllo per la scrittra di tale registro. Non vi saranno segnali di scrittra espliciti per i registri di pipeline, essendo scritti ad ogni ciclo di clock. Per definire l nità di controllo con pipeline è sfficiente calcolare i valori dei segnali di controllo in ciascno stadio. Poiché ciascna linea di controllo è associata ad n componente e qesto è attivo in n solo stadio della pipeline si possono dividere i segnali di controllo in 5 grppi, secondo il relativo stadio. Prelievo dell istrzione: i segnali di controllo per leggere la memoria delle istrzioni e per scrivere il sono sempre affermati nlla da controllare in qesto stadio. Decodifica dell istrzione/lettra del register file: ad ogni ciclo di clock avviene sempre la stessa cosa non vi sono segnali di controllo da calcolare. Eseczione/calcolo dell indirizzo: i segnali da calcolare sono Dst, ALUOp e ALUSrc; essi selezionano il registro risltato, l operazione della ALU e scelgono il dato da inviare alla ALU tra Dato letto 2 e l immediato esteso con segno

6 Realizzazione dell nità di controllo () Realizzazione dell nità di controllo (5) Accesso alla emoria: i segnali da calcolare sono Branch, em e em (affermati, rispettivamente, nelle istrzioni branch eqal, load e store). Il segnale Src seleziona l indirizzo sccessivo a meno che non si affermi il segnale Branch ed il risltato della ALU valga. Scrittra del risltato: i segnali di controllo da calcolare sono emto (sceglie se inviare al register file l scita della ALU oppre il valore proveniente dalla memoria) e (scrive il valore selezionato). Per implementare l nità di controllo occorre forzare i nove segnali identificati ai valori corretti in ciascno stadio e per ciascna istrzione estendere i registri di pipeline in La segente figra riporta l nità di elaborazione completa dei registri di pipeline estesi e dei segnali di controllo connessi allo stadio opportno: [2 6] ALUOp [5 ] Dst modo da incldere le informazioni di controllo ress Src IF/ID register register 2 isters register Control [5 ] etend ID/EX EX 6 ALU control reslt ALUSrc Zero ALU ALU reslt EX/E Branch ress em em E/ emto Criticità si dati e propagazione Analisi delle dipendenze Nel progetto iniziale di nità di controllo per pipeline non è stato previsto il caso in ci n istrzione necessiti dei risltati calcolati da n altra ancora in eseczione. Ecco na seqenza di istrzioni con molte dipendenze: sb $2, $, $3 # sb scrive nel registro $2 and $2, $2, $5 # il primo operando $2 dipende da sb or $3, $6, $2 # il secondo operando $2 dipende da sb add $, $2, $2 # il primo ed il secondo operando dipendono da sb sw $5 ($2) # la base più $2 dipende da sb Si avrebbe na sitazione simile a qella descritta in figra: Time (in clock cycles) Vale of CC CC 2 CC 3 CC CC 5 CC 6 CC 7 CC 8 CC 9 register $2: / eection sb $2, $, $3 I D and $2, $2, $5 I D or $3, $6, $2 I D Come si comporterebbe la seqenza se venisse esegita slla pipeline descritta???? add $, $2, $2 I D sw $5, ($2) I D 33 3 Come risolvere le criticità Come risolvere le criticità (2) Progettare opportnamente l hardware che implementa il register file. Qando n registro viene letto e scritto nello stesso ciclo di clock si deve garantire che la scrittra avvenga nella prima metà e la lettra nella seconda metà la lettra fornisce il valore che è stato scritto, risolvendo la criticità si dati. Ritornando al nostro esempio, notiamo che i valori letti dal registro $2 non possono essere qelli prodotti dall istrzione sb, a meno che l operazione di lettra non avvenga drante il qinto ciclo di clock o nei sccessivi add ed sw leggono il valore corretto, mentre and ed or qello scorretto. È necessario accorgersi della criticità per poi propagare il valore corretto in avanti in modo da risolvere la criticità. Qando n istrzione cerca di leggere nel proprio stadio EX n registro che na precedente istrzione scrive nel proprio stadio, è necessario disporre dei valori sgli ingressi della ALU. Utilizzare na notazione che assegna dei nomi ai campi dei registri di pipeline. Esempio: ID/EX.istroRs fa riferimento al nmero di n registro il ci valore si trova nel registro di pipeline ID/EX. La prima parte del nome indica il registro di pipeline. La seconda parte corrisponde al nome del campo all interno del registro

7 Come risolvere le criticità (3) Come risolvere le criticità () Pertanto, tilizzando qesta notazione le de coppie di condizioni che generano na criticità si possono esprimere come sege: EX/E.istroRd = ID/EX.istroRs EX/E.istroRd = ID/EX.istroRt E/.istroRd = ID/EX.istroRs E/.istroRd = ID/EX.istroRt Nel nostro esempio, la prima criticità era relativa al registro $2 e si verificava tra le scrittra del risltato dell istrzione sb e l operazione di lettra del primo operando dell istrzione and. Tale criticità pò essere rilevata qando l istrzione and si trova nello stadio EX e l istrzione precedente si trova nello stadio E criticità del primo tipo. 37 Poiché non ttte le istrzioni scrivono nei registri qesta solzione non è precisa propaga dei valori anche qando non è necessario. Solzione: verificare se il segnale è attivo. Ora che siamo in grado di rilevare le criticità metà del problema è risolto: si deve solo cercare di propagare i valori corretti. Le istrzioni sccessive devono prendere il valore di ci necessitano direttamente dai registri di pipeline e darlo in ingresso alla ALU non è affatto necessario dover attendere lo stadio. 38 Propagazione dei valori I dati necessari sono disponibili in tempo tile per le istrzioni sccessive ed i registri di pipeline contengono i dati che devono essere propagati. Time (in clock cycles) CC CC 2 CC 3 CC CC 5 CC 6 CC 7 CC 8 CC 9 Vale of register $2 : / Vale of EX/E : X X X 2 X X X X X Vale of E/ : X X X X 2 X X X X Propagazione dei valori (2) Se gli ingressi della ALU possono essere presi da qalnqe registro di pipeline, e non solo da ID/EX, è possibile propagare i dati corretti. eection sb $2, $, $3 I and $2, $2, $5 I D D Aggingere dei mltipleer sgli ingressi della ALU e tilizzare gli opportni segnali di controllo. In qesto modo sarà possibile scegliere tra i valori provenienti dal register file e qelli propagati. or $3, $6, $2 add $, $2, $2 I D I D Risltato: la pipeline fnziona alla velocità massima anche in presenza di dipendenze!!! sw $5, ($2) I D 39 Criticità EX: condizioni e segnali Criticità E: condizioni e segnali Condizioni: (EX/E.) EX/E.istroRd EX/E.istroRd = ID/EX.istroRs Azione: Propaga A = Condizioni: (EX/E.) EX/E.istroRd EX/E.REgistroRd = ID/EX.istroRt Azione: Propaga B = Il ltipleer viene pilotato in maniera da prelevare il valore dal registro di pipeline EX/E Condizioni: (E/.) E/.istroRd E/.REgistroRd = ID/EX.istroRs Azione: Propaga A = Condizioni: (E/.) E/.istroRd E/.REgistroRd = ID/EX.istroRt Azione: Propaga B = Il ltipleer viene pilotato in maniera da prelevare il valore dal registro di pipeline E/ 2 7

8 Ancora slle criticità Criticità si dati e sitazioni di stallo Non vi pò essere criticità nello stadio, in qanto si assme che il register file fornisca il risltato corretto se l istrzione nello stadio ID legge lo stesso registro scritto dall istrzione nello stadio. Possibile fonte di problema: criticità si dati tra il risltato di n istrzione nello stadio, il risltato di n istrzione nello stadio E e l operando sorgente di n istrzione nello stadio ALU. Esempio: si somma n vettore di nmeri e si scrive il risltato in n singolo registro seqenza di istrzioni che leggono e scrivono nello stesso registro. add $, $, $2 add $, $, $3 add $, $, $. Il risltato viene propagato dallo stadio E dal momento che il risltato presente nello stadio E è il più recente 3 Un caso nel qale la propagazione non pò risolvere ttti i problemi è qello in ci n istrzione tenti di leggere n registro sbito dopo n istrzione di load che scrive nello stesso registro. Drante il qarto ciclo, il dato deve ancora essere letto dalla memoria qando la ALU si appresta ad esegire l operazione prevista dall istrzione sccessiva. Qalcosa deve mandare in stallo la pipeline. È necessario disporre, oltre che di n nità di propagazione, anche di na nità di rilevamento delle criticità. Qesta deve operare drante lo stadio ID inserendo lo stallo tra il caricamento e l tilizzo. Criticità si dati e sitazioni di stallo(2) Criticità si dati e sitazioni di stallo(3) Poiché si limita a controllare le istrzioni load, il controllo esegito dall nità di rilevamento delle criticità coincide con la segente semplice condizione: ID/EX.em verifica se l istrzione è na load, nica a leggere dati dalla memoria. ID/EX.istroRt = IF/ID.istroRs e ID/EX.istroRt = IF/ID.istroR verificano se il campo registro destinazione della load nello stadio EX coincide con no dei registri sorgente dell istrzione nello stadio ID. Se la condizione è verificata, l istrzione viene messa in stallo per n periodo di clock. Dopo qesto stallo di n ciclo, la logica di propagazione pò gestire la dipendenza e l eseczione pò procedere, senza dover attendere n lteriore ciclo di clock. 5 Se l istrzione nello stadio ID è messa in stallo, allora anche l istrzione nello stadio IF deve essere messa in tale stato, altrimenti si perderebbe l istrzione già caricata. Ciò pò essere realizzato semplicemente impedendo al registro e al registro di pipeline IF/ID di cambiare. In qesto modo, l istrzione nello stadio IF contina ad essere letta tilizzando lo stesso, ed i registri nello stadio ID continano ad essere letti tilizzando gli stessi campi istrzione nel registro IF/ID. 6 Criticità si dati e sitazioni di stallo() Identificando la criticità nello stadio ID si pò inserire nella pipeline n bco mettendo a i campi di controllo EX, E e del registro di pipeline ID/EX. Qesti valori di controllo si diffondono poi in avanti nella pipeline ad ogni colpo di clock, prodcendo i loro effetti: Se i valori dei segnali di controllo sono ttti a non si esegono scrittre in alcn registro o parola di memoria. Criticità si dati e sitazioni di stallo(5) Le istrzioni and e or devono ripetere nel ciclo di clock nmero ciò che avevano fatto nel ciclo di clock nmero 3 ripetere del lavoro allngare il tempo delle istrzioni ritardare il caricamento dell istrzione add. eection lw $2, 2($) and $, $2, $5 or $8, $2, $6 add $9, $, $2 Time (in clock cycles) CC CC 2 CC 3 CC CC 5 CC 6 I I I D D I D bbble CC 7 CC 8 CC 9 CC I D slt $, $6, $7 I D 7 8 8

9 In conclsione Criticità si salti L nità di propagazione controlla i mltipleer della ALU per sostitire il valore proveniente da n registro generalprpose con il valore proveniente dall opportno registro di pipeline. L nità di rilevamento delle criticità controlla la scrittra del e dei registri IF/ID, oltre al mltipleer che sceglie tra i valori reali di controllo e ttti zero. L nità di rilevamento delle criticità mette in stallo e deseleziona i campi di controllo se la condizione di criticità slla load è verificata. Vi sono anche criticità della pipeline che coinvolgono i salti condizionati. Per alimentare la pipeline è necessario caricare n istrzione per ogni colpo di clock, ma nell attale progetto le decisioni relative ai salti condizionati vengono presi nello stadio E della pipeline. Tale ritardo nella determinazione dell istrzione da caricare viene denominato criticità sl controllo o criticità si salti condizionati. Tali criticità sono relativamente semplici da capire, si verificano molto meno freqentemente e non vi è nlla che rislti così efficace per la risolzione delle criticità sl controllo come lo è la propagazione nei confronti delle criticità si dati. Verranno proposti de schemi per la risolzione delle criticità sl controllo ed n ottimizzazione che permette di migliorare tali schemi. 9 5 Ipotizzare che il salto condizionato non sia esegito Restare in stallo sino a che il salto condizionato non è stato completato fa perdere toppo tempo. Tecnica freqentemente sata: assmere che il salto non debba essere esegito e continare l eseczione secondo il normale flsso delle istrzioni. Se poi il salto viene esegito, allora le istrzioni che si stanno caricando e decodificando devono venire scartate e l eseczione riprende dall istrzione corrispondente alla destinazione del salto. Se i salti non sono esegiti nella metà dei casi e se costa poco scartare le istrzioni, qesta ottimizzazione dimezza il costo delle criticità sl controllo. Per scartare le istrzioni ciò che si deve fare è semplicemente cambiare i valori dei segnali di controllo forzandoli a. Si devono anche cambiare le tre istrzioni presenti negli stadi IF, ID ed EX qando il salto ragginge lo stato E. Ridrre i ritardi associati ai salti condizionati Un modo per migliorare le prestazioni consiste nel ridrre il costo nel caso in ci il salto venga esegito. Se si sposta l eseczione del salto più indietro nella pipeline si ridce il nmero di istrzioni che devono essere scartate. Finora, si è sempre assnto che il valore da caricare nel, nel caso di salto condizionato, venga selezionato nello stadio E. Si potrebbe risparmiare n ciclo di clock selezionando l indirizzo di salto già alla fine dello stadio EX. Se si potesse spostare la decisione relativa al salto ancora più indietro nella pipeline, allora sarebbe necessario scartare na sola istrzione. olte implementazioni del processore IPS spostano allo stadio ID l eseczione del salto Ridrre i ritardi associati ai salti condizionati (2) La parte facilmente realizzabile consiste nell anticipare il calcolo dell indirizzo di salto. Infatti, il valore del ed il campo immediato sono già disponibili nel registro IF/ID della pipeline e, qindi, è sfficiente spostare il sommatore per i salti dallo stadio E allo stadio ID. La parte più difficile consiste nella decisione associata al salto stesso. Se il salto è del tipo salta se gale si devono confrontare i de registri letti drante lo stadio ID per verificare se sono gali. Il test di gaglianza pò essere esegito mettendo innanzittto in OR esclsivo i bit corrispondenti, e poi mettendo in AND i risltati. Tale approccio è molto più veloce da tilizzare rispetto alla ALU (esegire la sottrazione e poi verificare se l scita è nlla). Effetti delle pipeline slle istrzioni di salto Poiché l istrzione di salto decide se saltare nello stadio E, le tre istrzioni che segono qella di salto vengono caricate e nell istante in ci si verifica il salto vengono scartate. eection beq $, $3, 7 and $2, $2, $5 8 or $3, $6, $2 52 add $, $2, $2 Time (in clock cycles) CC I CC 2 CC 3 CC CC 5 CC 6 CC 7 CC 8 CC 9 I I D I D D D 72 lw $, 5($7) I D

10 Ridrre i ritardi associati ai salti condizionati (3) Spostando l eseczione del salto nello stadi ID vi è na sola istrzione da scartare nel casi in ci il salto debba venire esegito (qella che si trova nella fase di caricamento). Per scartare l istrzione nello stadio IF si agginge na linea di controllo, denominata IF.Scarta che azzera il campo istrzione del registro IF/ID della pipeline. In qesto modo, si trasforma l operazione appena caricata in na nop, ossia in n istrzione che non esege nessna operazione in grado di cambiare lo stato del sistema. Unità di elaborazione per i salti L ottimizzazione sposta la decisione relativa al salto dal qarto stadio al secondo IF.Flsh IF/ID Hazard detection nit Control etend isters = ID/EX EX ALU EX/E E/ 55 Forwarding nit 56 Previsione dinamica dei salti condizionati Qando si assme che il salto non debba essere esegito si realizza na forma rozza di previsione dei salti. Se si ha a disposizione dell hardware aggintivo è possibile sperimentare altri schemi di previsione dei salti. Una possibilità consiste nel verificare l indirizzo dell istrzione per controllare se l ltima volta che si era considerata qell istrzione il salto fosse stato esegito: In caso positivo, si caricano le istrzioni sccessive a partire dalla stessa posizione della volta precedente. Implementazione della solzione: tilizzare n bffer di previsione dei salti o tabella di storia dei salti: Si tratta di na piccola memoria indicizzata attraverso la parte bassa dell indirizzo dell istrzione di salto. Contiene n bit che indica se recentemente il salto è stato esegito o meno. Analisi della solzione proposta Si tratta della tipologia di bffer più semplice. Non si sa se la previsione è qella gista: Potrebbe essere relativa ad n altro salto caratterizzato dagli stessi bit per qanto rigarda la parte meno significativa. Ttto ciò non ha effetto slla correttezza dell operazione: La predizione è soltanto n sggerimento che si assme possa essere corretto, così che il caricamento delle istrzioni possa iniziare con l indirizzo sggerito. Se il sggerimento si rivela sbagliato, il bit di previsione viene invertito e memorizzato con il novo valore, dopodichè si va ad esegire la seqenza corretta di istrzioni Analisi della solzione proposta (2) Lo schema di previsione ad bit ha n difetto in termini di prestazioni: Anche se il salto fosse qasi sempre esegito, si otterrebbe na previsione scorretta de volte qando il salto non è esegito. Esempio: si consideri n salto condizionato presente all interno di n ciclo e si spponga che il salto venga esegito nove volte di segito e poi non venga esegito per na volta. Qal è l accratezza fornita dalla previsione???? La previsione non sarà corretta nella prima e nell ltima iterazione del ciclo. L errore sll ltima iterazione è inevitabile in qanto la previsione dirà che il salto deve essere esegito, essendo stato esegito nove volte di segito fino a qel pnto. L errore slla prima iterazione si verifica perché il bit è stato complementato in occasione dell eseczione dell ltima iterazione del ciclo, qando il salto non era stato segito. 59 Analisi della solzione proposta (3) In definitiva, l accratezza della previsione per qesto salto è pari all 8%. Si vorrebbe che per qesti salti altamente regolari l accratezza della previsione corrispondesse alla freqenza di eseczione del salto. Solzione: tilizzare schemi di previsione a 2 bit. La previsione deve essere sbagliata per 2 volte prima di essere modificata. Un bffer di previsione dei salti pò essere realizzato come n piccolo bffer ibile tramite l indirizzo dell istrzione drante lo stadio IF della pipeline. Se si prevede che il salto debba essere esegito, il caricamento viene effettato a partire dall indirizzo destinazione non appena è noto il valore del. Se la previsione si rivela sbagliata, i bit di previsione sono modificati. 6

11 Riepilogo slle pipeline Obiettivo delle pipeline: Esegire n istrzione per ciclo di clock e permettere n clock più veloce!!!!! 6 Eccezioni Un altra forma di criticità sl controllo rigarda le eccezioni. Si assma che la segente istrzione: $, $, $ generi n overflow aritmetico. È necessario trasferire immediatamente il controllo alla procedra di gestione dell eccezione, dal momento che non si vole che qesto valore non valido contamini altri registri o locazioni di memoria. È necessario eliminare dalla pipeline l istrzione che sege la add ed iniziare il prelievo dell istrzione sccessiva a partire dal novo indirizzo. 62 Eccezioni (2) Eccezioni (3) Si tilizza lo stesso meccanismo visto precedentemente nel caso dei salti, ma qesta volta è l eccezione a provocare l azzeramento delle linee di controllo. È già stato visto come eliminare n istrzione nello stadio IF trasformandola in na nop. Per eliminare n istrzione che si trova nello stadio ID si pò tilizzare il mltipleer per azzerare i segnali di controllo in caso di stallo. Il segnale di controllo ID.Scarta è messo in OR logico con il segnale di stallo che proviene dall nità di rilevamento delle criticità. Per eliminare l istrzione nella fase EX si sa il segnale EX.Scarta, che fa in modo che dei novi mltipleer azzerino le linee di controllo. Per iniziare il prelievo delle informazioni a partire dalla locazione esa (dove si trova la procedra di gestione dell eccezione), basta semplicemente aggingere n altro mltipleer del Eccezioni () Eccezioni (5) Problema che si verifica nella gestione delle eccezioni: Se non si interrompe l eseczione a metà dell istrzione, il programmatore non è più in grado di vedere il valore originale del registro $ che ha contribito a generare la condizione di overflow, dal momento che tale registro è anche l operando destinazione dell istrzione. Si deve riconoscere l eccezione drante lo stadio EX; così il segnale EX.Scarta pò prevenire la scrittra del risltato che avviene nello stadio. Ultimo passo: salvare l indirizzo dell istrzione che ha casato l eccezione nell Eception Conter. In realtà viene salvato l indirizzo + e qindi la procedra di gestione delle eccezioni deve per prima cosa sottrarre al valore memorizzato. IF.Flsh IF/ID Hazard detection nit Control etend isters ID.Flsh = ID/EX EX Case Ecept EX.Flsh ALU Forwarding nit EX/E E/ 65 66

12 Possibili case di eccezioni: Eccezioni (6) Richiesta da parte dei dispositivi di inpt/otpt; Chiamata di n servizio del sistema operativo da parte di n programma tente; Utilizzo di n istrzione non definita; alfnzionamenti hardware; Poiché si hanno 5 istrzioni attive in ogni ciclo di clock, il problema consiste nell associare ogni eccezione all istrzione che l ha provocata. Inoltre vi è la possibilità che nello stesso ciclo di clock più eccezioni si verifichino simltaneamente. 67 Eccezioni (7) Solzione più freqentemente sata: Associare na priorità alle eccezioni per poter determinare facilmente qale gestire per prima. Strategia che fnziona anche per calcolatori dotati di pipeline. Nella maggioranza delle implementazioni IPS, i circiti ordinano le eccezioni in modo tale che venga interrotta l istrzione esegita per prima fra qelle coinvolte. Le richiesta da parte dei dispositivi di ingresso/scita ed i malfnzionamenti hardware non sono associati ad n istrzione specifica consentita na maggiore flessibilità nell implementazione. i circiti possono scegliere l istrzione più semplice da associare all eccezione; Nel caso di malfnzionamenti hardware è opportno interrompere l eseczione al più presto (hardware instabile!). 68 Eccezioni (8) Il registro E mantiene l indirizzo dell istrzione interrotta. Il registro IPS Casa memorizza ttte le possibili eccezioni che si verificano in n ciclo di clock. Il programma di gestione deve trovare la corrispondenza fra istrzione ed eccezione. Per capire l associazione eccezione-istrzione stadio della pipeline in ci pò verificarsi n certo tipo di eccezione: Un istrzione non definita è scoperta nello stadio ID; Una chiamata al sistema operativo avviene nello stadio EX. Le eccezioni sono collezionata nel registro Casa i circiti possono interrompere la normale eseczione basandosi s eccezioni che si verificano dopo che eccezioni precedenti sono state risolte. 69 Eccezioni (9) Nei calcolatori dotati di pipeline, è molto difficile associare correttamente n eccezione all istrzione che l ha provocata. Per qesto motivo, molti progettisti hanno rilassato i reqisiti nei casi non critici: Si dice che qesti calcolatori hanno interrzioni imprecise o eccezioni imprecise. Il IPS e la stragrande maggioranza dei calcolatori di oggi spportano interrzioni precise o eccezioni precise. 7 Evolzioni delle pipeline Nell intento di realizzare processori sempre più veloci, le semplici pipeline descritte si sono evolte secondo tre direzioni principali: Sperpipeline Sperscalare Schedlazione dinamica delle pipeline Sperpipeline: sono delle pipeline più lnghe. Poiché il massimo incremento di velocità di na pipeline ideale è legato al nmero degli stadi, alcni microprocessori recenti hanno pipeline con otto o più stadi. Svantaggio: necessario bilanciare novamente i restanti passi, in modo che abbiano la stessa drata. Evolzioni delle pipeline (2) Sperscalare: consiste nel replicare i componenti interni del calcolatore in modo che sia possibile lanciare l eseczione di più istrzioni in ogni stadio della pipeline. Svantaggio: lavoro addizionale necessario per mantenere impegnate ttte le macchine e per trasferire il carico di lavoro da no stadio della pipeline al sccessivo. Gli attali calcolatori sperscalari cercano di far esegire da de a sei istrzioni in ogni stadio della pipeline; se però le istrzioni all interno del flsso hanno delle dipendenze o non soddisfano determinati criteri, soltanto le prime istrzioni vanno a bon fine

13 Evolzioni delle pipeline (3) Schedlazione dinamica della pipeline: consiste nell tilizzo di circiti logici che evitano il verificarsi di condizioni critiche. La pipeline è in condizione di stallo qando aspetta che na criticità sia risolta, anche se le istrzioni sccessive sono già pronte. Le pipeline dinamiche sono normalmente affiancate da circiti addizionali che fanno si che istrzioni sccessive possano procedere in parallelo. Svantaggi: Unità di controllo delle pipeline molto più complessa. odello dell eseczione delle istrzioni molto più complicato. 73 IPS sperscalare Com è fatto n calcolatore IPS con implementazione sperscalare? Spponiamo di voler esegire de istrzioni per ciclo di clock. È necessario il prelevamento e la decodifica di 6 bit di istrzione. Per semplificare la decodifica: Richiedere che le istrzioni siano accoppiate ed allineate a mltipli di 6 bit. Richiedere che in ogni coppia di istrzioni la prima sia qella che esege n operazione con la ALU o n salto condizionato. In alternativa si potrebbero esaminare le istrzioni ed eventalmente scambiarle prima che vengano inviate alla ALU o alla memoria. In entrambi i casi la seconda istrzione deve essere presa in considerazione solo se la prima pò essere esegita. 7 IPS sperscalare (2) Per esegire in parallelo n operazione logico-aritmetica ed na di trasferimento dati il primo reqisito hardware aggintivo rigarda la predisposizione di porte addizionali per il register file. In n solo ciclo di clock l operazione della ALU potrebbe dover leggere de registri ed altrettanto potrebbe dover fare l operazione di trasferimento dati. Possono servire de porte in lettra: Una per l operazione della ALU. Una per l operazione di trasferimento dati. Poiché la ALU è impegnata nell eseczione dell operazione logica o aritmetica è necessario n sommatore separato per il calcolo dell indirizzo per il trasferimento dati. Senza qeste risorse addizionali il fnzionamento della pipeline sperscalare presenterebbe delle criticità di tipo strttrale. 75 IPS sperscalare (3) Ulteriore difficoltà: Nella pipeline IPS vista le istrzioni load hanno na latenza pari ad n ciclo di clock. Un istrzione non pò sare il risltato senza n attesa. Nella pipeline sperscalare il risltato di n istrzione load non pò essere tilizzato nel ciclo di clock sccessivo. Se le de istrzioni segenti devono sare il risltato della load sono costrette ad n periodo di attesa. In n processore sperscalare, per sfrttare il parallelismo in modo efficace sono necessari: Compilatori più sofisticati. Tecniche di schedlazione hardware. Tecniche più complesse per la decodifica delle istrzioni. Una tecnica per ottenere prestazioni migliori da cicli che accedono a vettori è qella dell espansione dei cicli. Vengono inserite più copie del corpo del ciclo ed istrzioni appartenenti ad iterazioni diverse sono schedlate insieme. 76 Qadro d insieme Sia le pipeline che l eseczione sperscalare amentano il throghpt di picco delle istrzioni. Svantaggi: Pipeline più lnghe e versioni scalari di maggiore ampiezza rendono il compito del compilatore ancora più complesso, nel tentativo di sfrttare al massimo le potenzialità fornite dall hardware. Le dipendenze tra i dati e i segnali di controllo all interno dei programmi, insieme alla latenza delle istrzioni, rappresentano n limite speriore per le prestazioni effettive. Il processore è costretto ad aspettare per via di na dipendenza non ancora risolta o di n salto condizionato non previsto correttamente. È comnqe necessario garantire la corretta eseczione di ttte le seqenze di istrzioni. Schedlazione dinamica della pipeline La schedlazione dinamica della pipeline spera lo stallo cercando di esegire istrzioni sccessive in attesa che lo stallo sia risolto. Tipicamente la pipeline è sddivisa in tre nità principali: Un nità per il prelevamento e l invio dell istrzione. Un nità di eseczione. Un nità di consegna. Prima nità: preleva le istrzioni, le decodifica ed invia ciascna di esse alla corrispondente nità fnzionale dello stadio relativo all eseczione. Seconda nità: ciascna nità fnzionale ha dei bffer (stazioni di prenotazione) che mantengono operandi ed operazione. Non appena la stazione di prenotazione contiene ttti gli operandi richiesti e l nità fnzionale è pronta per l eseczione, viene calcolato il risltato. Terza nità: decide se salvare il risltato nel register file oppre in memoria

14 Fnctional nits Integer Unità fondamentali Integer and decode nit Commit nit Floating point Load/ Store In- isse Ot-of- eecte In- commit Schedlazione dinamica della pipeline (2) Per fare in modo che i programmi si comportino come se fossero in eseczione s n semplice calcolatore senza pipeline, l nità di prelevamento e decodifica deve trattare le istrzioni in ordine seqenziale, e qella di consegna deve scrivere i risltati nei registri o in memoria segendo l ordine di eseczione del programma (completamento in ordine). Le nità fnzionali, invece, sono libere di iniziare e finire l eseczione a piacere Schedlazione dinamica della pipeline (3) Un approccio più radicale consiste nel consentire al calcolatore di fornire i risltati anche in ordine diverso rispetto a qello di eseczione del programma (completamento fori ordine). Le pipeline a schedlazione dinamica sono più complesse: la schedlazione dinamica è spesso abbinata alla predizione dei salti l nità di consegna deve essere in grado di scartare ttti i risltati nelle nità di eseczione dovti ad istrzioni esegite in segito ad n salto erroneamente previsto. Tale combinazione prende il nome di eseczione speclativa. La schedlazione dinamica è spesso combinata con l eseczione sperscalare ciascna nità pò inviare o consegnare da qattro a sei istrzioni per ciclo di clock. Schedlazione dinamica della pipeline () I calcolatori dinamici predicono il flsso delle istrzioni, esegendo le istrzioni in base a congettre fondate slla predizione e slle dipendenze esistenti tra le istrzioni stesse. otivazioni alla base dell eseczione dinamica: Nascondere la latenza della memoria. Evitare le sitazioni di stallo che il compilatore non è in grado di risolvere, dovte a dipendenze potenziali fra istrzioni load e store. Esegire delle istrzioni, in base a congettre sl flsso ftro, in attesa che le sitazioni critiche vengano risolte. Il DEC Alpha 226 è n esempio di microprocessore che realizza ttte e tre le possibilità descritte (pipeline più lnghe, sperscalare e schedlata dinamicamente) Un caso reale: Power 6 e Pentim Pro Entrambi tilizzano pipeline schedlate dinamicamente. La cache delle istrzioni preleva 6 byte di istrzioni e le invia ad na coda di istrzioni ( istrzioni per il Power ed n nmero variabile per Pentim Pro). Un certo nmero di istrzioni sono prelevate e decodificate. Per prevedere i salti ed esegire le istrzioni sccessive entrambi i processori sano na tabella da 52 elementi contenente le informazioni si salti esegiti in tempi precedenti. L nità di smistamento invia ciascna istrzione, con i relativi operandi, alla stazione di prenotazione corrispondente all nità fnzionale prescelta e inserisce n riferimento a qella istrzione all interno del bffer di riordino dell nità di consegna n istrzione non pò essere considerata se non c è spazio disponibile nella stazione di prenotazione oppre nel bffer di riordino. 83 Un caso reale: Power 6 e Pentim Pro (2) olte istrzioni vengono esegite contemporaneamente è possibile esarire lo spazio per mantenere i risltati: Entrambi i processori hanno registri interni addizionali (registri replicati) sati per memorizzare i risltati in attesa che l nità di consegna dia il permesso per scrivere i registri effettivi. Qesti registri sono assegnati dall nità di decodifica per ridrre le criticità sl nmero di registri. L istrzione viene esegita qando: Il corrispondente elemento all interno della stazione di prenotazione possiede ttti gli operandi. Le relativa nità fnzionale è libera. L nità di consegna tiene traccia di ttte le istrzioni pendenti all interno del bffer di riordino. Poiché tilizzano la predizione dei salti, n istrzione non è terminata fino a qando non lo decide l nità di consegna. 8

15 Un caso reale: Power 6 e Pentim Pro (3) Qando l nità fnzionale che si occpa dei salti decide se n salto deve o non deve essere effettato, lo comnica all nità di predizione dei salti (aggiorna lo stato del processore) e all nità di consegna (decide la sorte delle istrzioni pendenti). Predizione corretta: i risltati delle istrzioni sono confermati e possono essere inseriti nei registri. Predizione errata: i risltati sono invalidati e scartati dalle stazioni di prenotazione e dal bffer di riordino. L nità di consegna pò fornire in scita più istrzioni in n ciclo di clock: Fa in modo che le istrzioni siano consegnate nello stesso ordine in ci sono state inserite nella pipeline. Non pò consegnare n istrzione fino a che l nità fnzionale non ha finito l operazione corrispondente, ttti i salti condizionati da ci dipende non sono stati risolti e ttte le istrzioni precedenti non state consegnate. 85 Un caso reale: Power 6 e Pentim Pro (3) Branch Branch prediction Integer cache qee Decode/dispatch nit Integer Floating point Commit nit Re bffer Store Comple integer cache Load Load/ store ister file 86 FINE 87 5

Un quadro della situazione. Cosa abbiamo fatto. Lezione 29 La Pipeline. Dove stiamo andando.. Perché: Università degli Studi di Salerno

Un quadro della situazione. Cosa abbiamo fatto. Lezione 29 La Pipeline. Dove stiamo andando.. Perché: Università degli Studi di Salerno Un qadro della sitazione Lezione 29 La Pipeline Vittorio Scarano Architettra Corso di Larea in Informatica Università degli Stdi di Salerno Inpt/Otpt emoria Principale Sistema di Interconnessione istri

Dettagli

Corso di Architettura (Prof. Scarano) 09/06/2002

Corso di Architettura (Prof. Scarano) 09/06/2002 Lezione 3 La pipeline Vittorio Scarano rchitettra orso di Larea in Informatica Università degli Stdi di Salerno 2 Organizzazione della lezione La pipeline il concetto alcni problemi (le criticità) e le

Dettagli

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

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

Dettagli

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

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

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Tecniche Pipeline: Elementi di base (ESERCIZI) assimiliano Giacomin Esercizio confronto prestazioni pipeline vs. mlticiclo Si consideri la segente combinazione di istrzioni esegite

Dettagli

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

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

Dettagli

Organizzazione pipeline della CPU

Organizzazione pipeline della CPU Organizzazione pipeline della CPU Calcolatori Elettronici-Ingegneria Telematica 1 Eseczione seqenziale Eseczione_seqenziale.ee Calcolatori Elettronici-Ingegneria Telematica 2 Eseczione pipeline Eseczione_pipeline.ee

Dettagli

CALCOLATORI ELETTRONICI B 23 giugno 2008

CALCOLATORI ELETTRONICI B 23 giugno 2008 CALCOLATORI ELETTRONICI B 23 gigno 28 NOE: COGNOE: ATR: Scrivere chiaramente in caratteri maiscoli a stampa. Si considerino, mostrati nelle figre alla pagina segente, il datapath ed il diagramma a stati

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici CPU a singolo ciclo assimiliano Giacomin Schema del processore (e memoria) Unità di controllo PC emoria indirizzo IR Condizioni SEGNALI DI CONTROLLO dato letto UNITA DI ELABORAZIONE

Dettagli

Controllo di un processore a singolo ciclo

Controllo di un processore a singolo ciclo Controllo di n processore a singolo ciclo NB: schema stilizzato (in particolare, non corrisponde al IPS) Unità di controllo combinatoria controlli comandi ck write read write EORI DTI REGISTRI P C emoria

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 28/29 CPU mlticiclo: Esercizi assimiliano Giacomin De tipologie di esercizi standard Calcolo delle prestazioni nei sistemi a singolo ciclo e mlticiclo (e confronto) Implementazione

Dettagli

La pipeline. Sommario

La pipeline. Sommario La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson edizione 5: 4.5 e 4.6 1/28 http:\\borghese.di.unimi.it\

Dettagli

La pipeline. Sommario

La pipeline. Sommario La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson edizione 5: 4.5 e 4.6 1/31 http:\\borghese.di.unimi.it\

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

Gestione degli hazard

Gestione 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

Dettagli

Calcolatori Elettronici B a.a. 2008/2009

Calcolatori Elettronici B a.a. 2008/2009 Calcolatori Elettronici B a.a. 28/29 RICHIAI DI CALCOLATORI A assimiliano Giacomin Livello architettrale Livello logico Livello circitale Livello del layot IL LIVELLO HARDWARE istrzioni macchina ISA Reti

Dettagli

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci Architettura degli Elaboratori Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci Punto della situazione Ø Abbiamo studiato Ø Una prima implementazione hardware (a ciclo singolo) di un sottoinsieme

Dettagli

u Rappresentazione dell informazione all interno di un calcolatore

u Rappresentazione dell informazione all interno di un calcolatore RIASSUNTO La codifica delle informazioni Rappresentazione dell informazione all interno di n calcolatore codifica caratteri (codice ASCII) codifica nmeri interi (rappresentazione in base 2) codifica delle

Dettagli

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

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

Dettagli

Problemi del ciclo singolo

Problemi 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

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Dettagli

Stall on load e Hazard sul controllo

Stall on load e Hazard sul controllo Stall on load e Hazard sul controllo Prof. N.Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/38 Sommario Identificazione

Dettagli

La codifica delle immagini

La codifica delle immagini La codifica delle immagini Lettere e nmeri non costitiscono le niche informazioni tilizzate dagli elaboratori ma si stanno diffondendo sempre di più applicazioni che tilizzano ed elaborano anche altri

Dettagli

Instruction Level Parallelism Andrea Gasparetto

Instruction Level Parallelism Andrea Gasparetto Tutorato di architettura degli elaboratori Instruction Level Parallelism Andrea Gasparetto andrea.gasparetto@unive.it IF: Instruction Fetch (memoria istruzioni) ID: Instruction decode e lettura registri

Dettagli

CPU pipeline hazards

CPU pipeline hazards Architettura degli Elaboratori e delle Reti Lezione 23 CPU pipeline hazards Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 23 /24 Sommario!

Dettagli

Lezione 28. Sistemi dinamici a tempo discreto (approccio in variabili di stato) F.Previdi - Fondamenti di Automatica - Lez. 28

Lezione 28. Sistemi dinamici a tempo discreto (approccio in variabili di stato) F.Previdi - Fondamenti di Automatica - Lez. 28 Lezione 28. Sistemi dinamici a tempo discreto (approccio in variabili di stato) Schema. Introdzione 2. Segnali a tempo discreto 3. Rappresentazione di stato 4. Classificazione 5. Movimento 6. Eqilibrio

Dettagli

CALCOLATORI ELETTRONICI 25 giugno 2018

CALCOLATORI ELETTRONICI 25 giugno 2018 CALCOLATORI ELETTRONICI 25 giugno 2018 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche OR, AND, NOT la funzione combinatoria (a 3 ingressi

Dettagli

Capitolo 5 Struttura di base del processore

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

Dettagli

Architettura degli Elaboratori Gestione dei control-hazard nella pipeline. Prof. Andrea Sterbini

Architettura degli Elaboratori Gestione dei control-hazard nella pipeline. Prof. Andrea Sterbini Architettura degli Elaboratori Gestione dei control-hazard nella pipeline Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti - Spostare Jump nella fase IF - Come gestire i control hazard - Eliminare

Dettagli

Stall on load e Hazard sul controllo. Sommario

Stall on load e Hazard sul controllo. Sommario Stall on load e Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/31 Sommario

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

Stall on load e Hazard sul controllo

Stall on load e Hazard sul controllo Stall on load e Hazard sul controllo Prof. N.Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/38 Sommario Identificazione

Dettagli

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

Architetture dei Calcolatori (Lettere. Organizzazione di un Calcolatore. Processore. Il Processore. Livello 1: Macchina Firmware Microarchitettura Architettra a Livelli: Livelli e Architettre dei Calcolatori (Lettere A-I) Il Processore Ing.. Francesco Lo Presti Livello : Livello del Lingaggio acchina (ISA) acchina nda come appare al programmatore

Dettagli

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

Architetture dei Calcolatori (Lettere. Organizzazione di un Calcolatore. Processore. Il Processore. Livello 1: Macchina Firmware Microarchitettura Architettra a Livelli: Livelli e Architettre dei Calcolatori (Lettere A-I) Il Processore Prof. Francesco Lo Presti Livello : Livello del Lingaggio acchina (ISA) acchina nda come appare al programmatore

Dettagli

Architettura dei calcolatori e sistemi operativi. Pipelining e Hazard Capitolo 4 P&H

Architettura dei calcolatori e sistemi operativi. Pipelining e Hazard Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Pipelining e Hazard Capitolo 4 P&H 16. 11. 2015 Problema dei conflitti Conflitti strutturali: tentativo di usare la stessa risorsa da parte di diverse istruzioni

Dettagli

Problemi dell implementazione singolo ciclo

Problemi dell implementazione singolo ciclo Corso di Data path mlticiclo Anno Accademico 26/27 Francesco Tortorella Problemi dell implementazione singolo ciclo Arithmetic & Logical PC Inst emory Reg File m ALU m setp Load PC Inst emory Reg File

Dettagli

Lezione 28 Il processore: unità di controllo (1)

Lezione 28 Il processore: unità di controllo (1) Lezione 8 Il processore: nità di lo () Vittorio Scarano rchitettra Corso di Larea in Informatica Università degli Stdi di Salerno Organizzazione della lezione Definizione della nità di lo rchitettra. Vi.ttorio

Dettagli

Unità di controllo della pipeline

Unità di controllo della pipeline Unità di controllo della pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: 6.3 /5 Sommario La CPU

Dettagli

Calcolatori Elettronici

Calcolatori 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

Dettagli

CALCOLATORI ELETTRONICI 14 giugno 2010

CALCOLATORI ELETTRONICI 14 giugno 2010 CALCOLATORI ELETTRONICI 14 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Corso di. Realizzazione del Data path Data path a ciclo singolo. Anno Accademico 2006/2007 Francesco Tortorella

Corso di. Realizzazione del Data path Data path a ciclo singolo. Anno Accademico 2006/2007 Francesco Tortorella Corso di Realizzazione del path path a ciclo singolo Anno Accademico 26/27 Francesco Tortorella (si ringrazia il prof.. De Santo per il materiale presente in qeste slides) Realizzazione del data path.

Dettagli

Pipeline criticità e forwarding

Pipeline criticità e forwarding 1 Pipeline criticità e forwarding Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.5, 4.6 1/42 Sommario La CPU con

Dettagli

Esercitazione del 05/05/ Soluzioni

Esercitazione del 05/05/ Soluzioni Esercitazione del 05/05/2005 - Soluzioni Una CPU a ciclo singolo richiede un ciclo di clock di durata sufficiente a permettere la stabilizzazione del circuito nel caso dell istruzione più complicata (con

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Tecniche Pipeline: Elementi di base Massimiliano Giacomin 1 Esecuzione delle istruzioni MIPS con multiciclo: rivisitazione - esame dell istruzione lw (la più complessa) - in rosso

Dettagli

La rappresentazione delle Informazioni

La rappresentazione delle Informazioni La rappresentazione delle Informazioni Nella vita di ttti i giorni siamo abitati ad avere a che fare con vari tipi di informazioni, di natra e forma diversa, così come siamo abitati a diverse rappresentazioni

Dettagli

Sommario. Gestione delle criticità sui dati nella pipeline. CPU con pipeline. Criticità nei dati. Hazard nei dati: soluzione tramite compilatore

Sommario. Gestione delle criticità sui dati nella pipeline. CPU con pipeline. Criticità nei dati. Hazard nei dati: soluzione tramite compilatore Gestione delle criticità sui dati nella pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Sommario di tipo R. di lw. Università degli Studi di Milano 1/33

Dettagli

CALCOLATORI ELETTRONICI 30 agosto 2010

CALCOLATORI ELETTRONICI 30 agosto 2010 CALCOLATORI ELETTRONICI 30 agosto 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

CALCOLATORI ELETTRONICI 9 settembre 2011

CALCOLATORI ELETTRONICI 9 settembre 2011 CALCOLATORI ELETTRONICI 9 settembre 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche AND, OR e NOT la funzione combinatoria (a

Dettagli

Realizzazione a cicli di clock multipli

Realizzazione 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

Dettagli

CPU pipeline 3 criticità di dati e di controllo

CPU pipeline 3 criticità di dati e di controllo Architettura degli Elaboratori e delle Reti Lezione 24 CPU pipeline 3 criticità di dati e di controllo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi

Dettagli

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

Architettura dei calcolatori e sistemi operativi. Il processore pipeline Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Il processore pipeline Capitolo 4 P&H 4. 11. 2015 Pipelining Tecnica per migliorare le prestazioni basata sulla sovrapposizione dell esecuzione di più istruzioni

Dettagli

Esercitazione su Instruction Level Parallelism

Esercitazione 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

Dettagli

Architettura degli elaboratori - II Le architetture multi-ciclo

Architettura degli elaboratori - II Le architetture multi-ciclo Architettura degli elaboratori - II Le architetture multi-ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano 1/41 Sommario Principi ispiratori

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2015

CALCOLATORI ELETTRONICI 29 giugno 2015 CALCOLATORI ELETTRONICI 29 giugno 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Relativamente al confronto tra le implementazioni del processore

Dettagli

CALCOLATORI ELETTRONICI 9 gennaio 2013

CALCOLATORI ELETTRONICI 9 gennaio 2013 CALCOLATORI ELETTRONICI 9 gennaio 2013 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Pre-appello del 12 Gennaio 2018 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano iferimento sul Patterson: capitolo 4.2, 4.4,

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Lezione 8 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 8 /33 Sommario! La

Dettagli

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

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock

Dettagli

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo Performance Come si definisce il concetto di performance? Tempo di esecuzione di un programma Wall-clock time CPU time tiene conto solo del tempo in cui il programma usa la CPU user time + system time

Dettagli

Una CPU multi-ciclo. Sommario

Una CPU multi-ciclo. Sommario Una CPU multi-ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/3 http:\\homes.dsi.unimi.it\ borghese Sommario I problemi della

Dettagli

CPU pipeline 4: le CPU moderne

CPU 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

Dettagli

LA RICERCA DEI GUASTI NEI CIRCUITI COMBINATORI

LA RICERCA DEI GUASTI NEI CIRCUITI COMBINATORI L RICERC DEI GUSTI NEI CIRCUITI COMINTORI DVIDE TMUCHI Sommario. In qesto articolo verrà illstrata na tecnica di individazione dei gasti all interno dei circiti digitali combinatori. Più precisamente,

Dettagli

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2)

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2) Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2) ALU L unità aritmetico logica o ALU rappresenta l apparato muscolare di un calcolatore, il dispositivo cioè che esegue le operazioni

Dettagli

Esercitazione su Instruction Level Parallelism Salvatore Orlando

Esercitazione 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

Dettagli

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione all'architettura dei Calcolatori. Maurizio Palesi Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 giugno Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 giugno Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 22 giugno 2017 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare

Dettagli

Un sistema di numerazione decimale...

Un sistema di numerazione decimale... nmeri Un sistema di nmerazione decimale... Conta gli elementi e registra le qantità nella tabella e sll abaco. Qando contiamo raggrppiamo per 0. Ogni volta ce raggrppiamo per 0 effettiamo n cambio. Un

Dettagli

CALCOLATORI ELETTRONICI 27 marzo 2018

CALCOLATORI ELETTRONICI 27 marzo 2018 CALCOLATORI ELETTRONICI 27 marzo 2018 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

1) Codici lineari a blocchi. 2) Matrice generatrice del codice. 3) Proprietà dei codici lineari a blocchi. 4) Matrice di controllo di parità

1) Codici lineari a blocchi. 2) Matrice generatrice del codice. 3) Proprietà dei codici lineari a blocchi. 4) Matrice di controllo di parità Argomenti della Lezione ) Codici lineari a blocchi ) Matrice generatrice del codice 3) Proprietà dei codici lineari a blocchi 4) Matrice di controllo di parità 5) Rivelazione e correzione d errore 6) Standard

Dettagli

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a , lez.7)

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a , lez.7) Docente: Marco Gaviano (e-mail:gaviano@nica.it) Corso di Larea in Infomatica Corso di Larea in Matematica Matematica Comptazionale(6cf) Ottimizzazione(8cf) (a.a. -4, lez.7) Matematica Comptazionale, Ottimizzazione,

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!

Dettagli

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

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

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

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

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo

Dettagli

Cicli di clock e istruzioni

Cicli 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

Dettagli

Stall on load. Sommario

Stall on load. Sommario Stall on load Prof. N.Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/24 Sommario Identificazione delle criticità

Dettagli

Hazard sul controllo. Sommario

Hazard 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/30 Sommario Riorganizzazione

Dettagli

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2004/2005 Calcolatori Elettronici B a.a. 2004/2005 Pipeline Superscalari e Dinamiche Massimiliano Giacomin 1 Eccezioni con pipeline Tipologie di eccezioni Eccezioni interne - chiamata al sistema operativo da parte

Dettagli

Il pipelining: tecniche di base

Il 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

Dettagli

Il pipelining: tecniche di base

Il 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

Dettagli

CALCOLATORI ELETTRONICI 15 giugno 2015

CALCOLATORI ELETTRONICI 15 giugno 2015 CALCOLATORI ELETTRONICI 15 giugno 2015 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Il processore: unità di elaborazione

Il processore: unità di elaborazione Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

Progetto CPU a singolo ciclo

Progetto CPU a singolo ciclo Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/50 Sommario! La CPU! Sintesi di

Dettagli

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D,

Dettagli

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Stdi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia gigno Nome: Cognome: Matricola: voglio sostenere la prova orale il giorno venerdì //

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

CALCOLATORI ELETTRONICI 27 giugno 2017

CALCOLATORI ELETTRONICI 27 giugno 2017 CALCOLATORI ELETTRONICI 27 giugno 2017 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2004/2005 Calcolatori Elettronici B a.a. 2004/2005 PIPELINE: CONCLUSIONI Massimiliano Giacomin 1 Pipeline: influenza su struttura delle istruzioni La struttura delle istruzioni è influenzata dalla struttura dell

Dettagli

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1,

Dettagli

La pipeline. Sommario

La pipeline. Sommario La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.5 e 4.6 1/27 http:\\homes.dsi.unimi.it\ borghese

Dettagli

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto

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

Dettagli

La pipeline. Sommario

La pipeline. Sommario La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.5 e 4.6 1/28 http:\\homes.dsi.unimi.it\ borghese

Dettagli

Calcolatori Elettronici B a.a. 2005/2006

Calcolatori Elettronici B a.a. 2005/2006 Calcolatori Elettronici B a.a. 25/26 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

Dettagli

La pipeline. Luigi Palopoli

La pipeline. Luigi Palopoli La pipeline Luigi Palopoli Ripartiamo da questo. Abbiamo visto come realizzare un semplice processore che esegue le istruzioni in un ciclo Questo non si fa più perché: A dettare il clock sono le istruzioni

Dettagli

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

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Un quadro della situazione. Cosa abbiamo fatto. Lezione 30 Valutazione delle Prestazioni. Dove stiamo andando.. Perché:

Un quadro della situazione. Cosa abbiamo fatto. Lezione 30 Valutazione delle Prestazioni. Dove stiamo andando.. Perché: Un quadro della situazione Lezione 3 Valutazione delle Prestazioni Vittorio Scarano rchitettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione

Dettagli

Esercizio 1. Esercizio 2. min. Esercizio 3

Esercizio 1. Esercizio 2. min. Esercizio 3 UNIVERSITÀ DEGLI STUDI ROM TRE Corso di Stdi in Ingegneria Informatica Ricerca Operativa Primo appello dicembre SOLUZIONI Esercizio Scegliendo come variabili la frazione di persona che si decide di assmere,

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 17 Gennaio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 17 Gennaio Attenzione: Cognome... Nome.. Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Pre-appello del 17 Gennaio 2014 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

Dettagli