Sistemi Complessi di reti sequenziali Pipeline

Slides:



Advertisements
Presentazioni simili
MULTIVIBRATORI BISTABILI
Advertisements

Dalla macchina alla rete
Capitolo 4 Logica sequenziale
La struttura fisica e logica di un elaboratore
Circuiti sequenziali Capitolo 5.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Reti Logiche A Lezione n.1.4 Introduzione alle porte logiche
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
INTRODUZIONE AI CONVERTITORI ANALOGICO-DIGITALI (ADC)
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Algoritmo di Ford-Fulkerson
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
A.S.E.25.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 25 Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse –Macchina.
ARCHITETTURA DEI SISTEMI ELETTRONICI
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Flip-flop e Registri.
Dalla macchina alla rete: reti LLC
Criticità sui dati Consideriamo una sequenza di 5 istruzioni
Criticità sui dati (1° esempio)
Criticità sul controllo
Criticità sui dati (esempio da fare on line)
Criticità sul controllo
Criticità sul controllo
Il livello Microarchitetturale
Come aumentare le linee di I/O?
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
Convertitore A/D e circuito S/H
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Strutture di controllo in C -- Flow Chart --
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
MACCHINE A STATI FINITI
Contatore: esempio di circuito sequenziale
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Architettura degli elaboratori
La Tecnica PIPELINE Il DLX - Pipeline.
Architettura del calcolatore
La Tecnica PIPELINE Il DLX - Pipeline.
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
Sistemi ad elevate prestazioni Lezione 1
Architettura di una CPU
Traformazioni fra Bistabili e Registri
Teoria dei sistemi Autore: LUCA ORRU'.
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano introduzione alle architetture superscalari Come.
Bus Interface Unit L1 I-CacheL1 D-Cache Fetch/Decode unit Dispatch/Execute unit Retire unit Instruction Pool System Bus L2 Cache 256 KB integrata 4 cicli.
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Calcolatori Elettronici Il Processore
Calcolatori Elettronici Il Processore (2)
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Clocking Il segnale di Clock definisce quando i segnali possono essere letti e quando possono essere scritti Fronte di discesa (negativo) Falling edge.
Dalla macchina alla rete: reti LLC. Dalla macchina alla rete Per realizzare una macchina sequenziale è necessario –Codificare gli insiemi I,S,O con variabili.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Reti Sequenziali Corso di Architetture degli Elaboratori Reti Sequenziali.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Calcolatori Elettronici
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Modelli strutturali reti sequenziali. Il transitorio nelle reti Una rete combinatoria ideale è definita dal mapping Y=f(X) in cui X e Y sono vettori di.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Transcript della presentazione:

Sistemi Complessi di reti sequenziali Pipeline Corso ASE - Prof. Antonino Mazzeo Ing. Valentina Casola 2009/2010

Tempificazione dei sistemi sequenziali complessi X U Y CK

Il segnale di clock Il clock è un segnale indipendente caratterizzato da un periodo di clock (o ciclo di clock) TCK. Frequenza del clock: fCK= 1/TCK; Nel periodo TCK il segnale assume Il valore logico 1 per un tempo TH e il valore logico 0 per un tempo TL Il rapporto TH / TCK è detto duty-cycle Il passaggio dal valore 0 al valore 1 è detto fronte di salita Il passaggio dal valore 1 al valore 0 è detto fronte di discesa

Tempi caratteristici di un flip-flop Per essere riconosciuto correttamente, l’ingresso deve rimanere stabile all’interno di una finestra di tempo nell’intorno di un fronte del clock Tempo di Set-Up (Ts) Intervallo minimo che precede l’evento di clock durante il quale l’ingresso deve essere mantenuto stabile; Tempo di Hold (TH) Intervallo minimo che segue l’evento di clock durante il quale l’ingresso deve essere mantenuto stabile Tempo di propagazione (Tq)

Tempificazione di un sistema sequenziale: vincoli T deve soddisfare la condizione: T ≥ tq + τc,max +tsetup tq è il tempo di commutazione τc,max è il tempo di calcolo della rete tsetup è il tempo di set-up del registro Vincolo sui FF: tq + τc,min >th

Note: clock skew T + Δ ≥ tq + τc,max +tsetup tq + τc,min >th + Δ Δ Y W CK CK’ Δ T + Δ ≥ tq + τc,max +tsetup tq + τc,min >th + Δ

Interconnessione fra reti sequenziali Rete1 Rete3 Rete2 Rete4

Ciascuna rete sequenziale può essere Una rete di Mealy Una rete di Moore Ciascuna rete può essere di tipo impulsivo o asincrona Se le reti sono di tipo differente la descrizione del funzionamento del sistema dipende dal tipo di ogni singola rete e dalla loro interconnessione Se le reti sono omogenee e di tipo LLC è possibile descrivere il loro comportamento in modo sistematico con metodi di specifica e verifica ben consolidati nel mondo industriale (i sistemi digitali complessi sono di questo tipo).

Determinazione del tempo di ciclo In una rete level input, level output, clocked (LLC) occorre determinare il periodo del clock, ovvero il tempo di ciclo (intervallo minimo tra due impulsi di abilitazione della rete) Il tempo di ciclo dipende dalla tipologia delle macchine adottate (Mealy, Moore) e dalla topologia della loro interconnessione; Analizziamo: Catene a ciclo aperto, Catene a ciclo chiuso

Catene aperte e catene chiuse di reti sequenziali Una catena aperta è costituita da una cascata di reti sequenziali in cui l’uscita dell’una è applicata all’ingresso della successiva, fatta eccezione della prima e dell’ultima Rete Combin. Rete Combin. Rete Combin.

Reti di Mealy e di Moore e dipendenza dalle informazioni (input e stato) Rete di Mealy Rete di Moore I S U S’ CK I S U S’ CK

Definizioni e determinazione del ciclo di clock Per classificare le reti si introduce il concetto di percorso, fatto da diverse tratte connesse in cascata: Percorso libero è fatto di tratte libere, ovvero costituite da sole reti combinatorie (es. funzione uscita e funzione stato prossimo); Percorso condizionato, se è presente almeno una tratta condizionata, ovvero che contiene almeno un registro.

Catena aperta di macchine di Mealy S U S’ CK

Determinazione del ciclo di clock per catena aperta Mealy Esiste più di un percorso libero che connette l’ingresso con l’uscita: ω1(i1,s1), ω2(i2,s2),…….. ωn(in,sn) ω1(i1,s1), ω2(i2,s2),…….. δn(in,sn) T ≥ (n-1) tω,max + max (tω,max , tδ,max ) ≈ n tω,max

Catena aperta di macchine di Mealy-Moore S U S’ CK

Determinazione del ciclo di clock per catena aperta Mealy- Moore Esiste più di un percorso libero che connette l’ingresso con l’uscita; le tipologie di tratte libere: Ingresso, tratte Mealy, tratta Moore Tratta Moore, tratte Mealy, tratta Moore Tratta Moore, tratte Mealy, uscita Il T sarà calcolato considerando il tempo di propagazione massimo tra tutti i percorsi liberi

Catena aperta di macchine di Moore S U S’ CK

Determinazione del ciclo di clock per catena aperta Moore Caso particolare del precedente, i percorsi liberi sono: Ingresso esterno, tratta δ Tratta ω, tratta δ Tratta ω, uscita Il tempo di propagazione massimo è dato al più dalla somma di due reti combinatorie MA: l’ingresso applicato all’ingresso condiziona l’uscita solo dopo n cicli di clock, dunque è sempre necessario attendere nT

Catena chiusa di macchine di Mealy CK Queste macchine possono non funzionare correttamente, l’uscita dipende da se stessa e Il sistema può non stabilizzarsi: un= ωn(in,sn) = ωn(ωn-1(in-1,sn-1),sn) = ωn(ωn-1( ……. ω1(u1,s1)),sn)

Catena chiusa Mealy-Moore CK

Determinazione del ciclo di clock per catena chiusa Moore Come nel caso di catena chiusa ma senza ingressi ed uscite esterne: Una tratta δ Una tratta ωmoore Zero, una o più tratte ωmealy Il tempo di propagazione massimo è dimensionato dal massimo tra i tempi dei vari percorsi possibili

Realizzare una catena chiusa avendo solo macchine di Mealy: aggiunta registro CK M Percorsi: ω2,δ1 ω2, ω1 δ2

Catena aperta di reti combinatorie F G H D A Y CK Tmin = tq + ts + tpF + tpG + tpH ≈ 3 tp,comb

Pipeline: Introduzione Il miglioramento delle prestazioni di un generico circuito digitale è legato principalmente alla riduzione della profondità combinatoria Tale riduzione si può ottenere: Ottimizzando le parti puramente combinatorie del circuito Frazionando opportunamente le parti combinatorie per mezzo di registri Un generico data-path è costituito da una sequenza di operazioni eseguite in cascata: questa struttura si presta molto bene al frazionamento Una architettura in cui sono presenti registri con lo scopo di frazionare la computazione viene detta pipeline Nelle architetture dei calcolatori l’introduzione di pipeline aumenta il numero di istruzioni eseguite nell’unità di tempo

Pipeline di reti combinatorie G F H M A XF YF XG Ck

Tempificazione di una Pipeline Tmin ≈ max( tpF , tpG , tpH ) Il fattore guadagnato è pari al numero di stadi della pipe

Architetture pipeline parallele 3 reti con tempi di calcolo di 50 ns e una rete con tempo di calcolo di 100 ns Frequenza di pipe non può essere migliore di 100 MHz (T=1/f=100 ns) e le tre reti più veloci sono sfruttate al 50% Soluzione parallela che duplica rete a 100 ns, con reti funzionanti in controfase, multiplate nel tempo

Architettura pipeline con reti parallelo φ/2 C1 C2 Cn M T-FF φ φ/2 !φ/2

Calcolo del tempo di ciclo T per la rete lenta è vincolato da 2T ≥ tf + 2τcmax + τmux+ tsetup da cui T ≥ τcmax + ½(tf + 2τmux+ tsetup) T per la rete veloce è vincolato da T ≥ tf + τcmax + tsetup Va scelto il massimo fra i due: T ≥ τcmax + max(½(tf + τmux+ tsetup), (tf + tsetup))

Applicazioni delle pipeline alle CPU L’esecuzione di una istruzione assembler consiste nello svolgimento di alcune operazioni in sequenza E’ possibile scomporre una istruzione in un numero variabile di operazioni: Una scelta comune consiste nella decomposizione in 5 operazioni Le architetture moderne arrivano fino a 20 operazioni Le varie operazioni, dette fasi o stadi, possono essere eseguite: Nello stesso ciclo di clock In cicli di clock successivi Nel secondo caso si parla di una architettura pipeline

Esempio: Fasi di esecuzione del Processore DLX La decomposizione in 5 fasi consiste in Fetch: Lettura dell’istruzione (una o più parole) dalla memoria di programma. L’istruzione viene memorizzata nel registro IR Decode: Scomposizione dell’istruzione in campi (codice operativo, registro, costante, ecc), a seconda del formato e delle modalità di indirazzamento Execute: Esecuzione delle operazioni aritmetico-logiche oppure calcolo dell’indirizzo di destinazione di un salto Memory access: Accesso in lettura o scrittura alla memoria o ad una periferica Write back: Salvataggio del risultato prodotto dall’istruzione nel registro destinazione

Modello di riferimento del DLX Istruzione i IF ID EX MEM WB   istruzione i+1 istruzione i+2 IF ID EX MEM WB   istruzione i+1 istruzione i+2

Pipeline: Speed up e latenza Teoricamente, se gli stage della pipe sono perfettamente bilanciati e non si verificano condizioni di stallo, il tempo per ogni singola istruzione è: Ti = tempo per istruzione senza pipe Nstage della pipe Il tempo per avere la prima istruzione è detto tempo di latenza ( si ha ogni qual volta si verifica uno stallo) In realtà bisogna considerare il tempo di setup dei latch tra i vari stadi della pipe ed il bus skew

Fasi di esecuzione Si noti che: Non tutte le fasi devono essere sempre presenti. Alcune istruzioni possono necessitare solo di alcune delle fasi descritte Non tutte le fasi devono essere sempre distinte. Alcune istruzioni possono raggruppare due o più fasi in una sola La fase di fetch è sempre presente Fasi diverse possono avere durate diverse

Esempio: Sistemi Superscalari con più Pipeline Addizione e Moltiplicazione: Addizione:

Conclusioni Throghput: quantità di dati elaborati nell’unità di tempo Thoughput = Noperations / T Latenza: ritardo tra l’ingresso e l’uscita (tempo necessario da attendere per l’esecuzione della prima istruzione) Latenza = Ty - Tx = T L’introduzione di pipelining è vantaggioso in quanto: Throughputpipe >>Throughput no pipe Latenzapipe ≈ Latenzano pipe