La Tecnica PIPELINE Il DLX - Pipeline.

Slides:



Advertisements
Presentazioni simili
La struttura fisica e logica di un elaboratore
Advertisements

Procedure e funzioni A. Ferrari.
Perché le interruzioni?
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Prova di completamento: selezione di domande
Ottimizzazione statica del codice per processori pipelined Canella Matteo & Miglioli Filippo.
microstruttura del lavoro
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
Reti di Calcolatori Reti di Calcolatori2 Il modello Client/Server I Sistemi di Rete Dal punto di vista del programmatore.
La macchina di von Neumann
Architettura dell’elaboratore
Il Modello logico funzionale dell’elaboratore
Sistemi Complessi di reti sequenziali Pipeline
ELETTRONICA DIGITALE (II Parte)
Architettura di Calcolo
La Tecnica PIPELINE Il DLX - Pipeline.
Architettura degli elaboratori
INFORMAZIONI GENERALI Web site: Att. DidatticaIns. UniversitarioA.A PROGRAMMA.
INFORMAZIONI GENERALI Web site: Att. DidatticaIns. UniversitarioA.A PROGRAMMA.
La Tecnica PIPELINE Il DLX - Pipeline.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Università degli Studi di Salerno Corso di Calcolatori Elettronici
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
Calcolatori Elettronici Introduzione al Pipelining Francesco Lo Presti Rielaborate da Salvatore Tucci.
ARCHITETTURA DI UN ELABORATORE
Architetture Parallele Massimizzare le prestazioni del sistema Obiettivo: Metodologie: Parallelizzare le attività del sistema Effettuare solo le operazioni.
La RAM, la ROM e la CPU di Beatrice Cecchini e Margherita Pelagagge
Sistemi ad elevate prestazioni Lezione 1
Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni.
Architettura di una CPU
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
SISITEMI MONOPROGRAMMATI E MULTI PROGRAMMATI
Prova intermedia Si rappresentino i seguenti numeri, espressi in decimale, in valore assoluto (con 8 bit), in complemento a 2 (con 8 bit), in complemento.
WATCHDOG TIMER E’ un oscillatore interno al  C, ma indipendente dal resto dei circuiti, il cui scopo è quello di rilevare eventuali blocchi della CPU.
Calcolatori Elettronici Il Processore
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Esigenze di memoria per un sistema di calcolo –Dati –Istruzioni Obiettivi –Raggiungere i migliori compromessi.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
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.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Il calcolatore Stefano Cagnoni e Monica Mordonini
Il software Claudia Raibulet
 Il modello a memoria comunque trova impiego nelle architetture in cui esiste un’unica memoria a tutti i processi,per esempio macchine monoprocessore.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Architetture non Von Neumann
Transcript della presentazione:

La Tecnica PIPELINE Il DLX - Pipeline

OVERVIEW Significato Presupposti Operativi Sincronismo Presupposti per una Pipeline efficiente Bilanciamento delle fasi Under e Super Pipeline Vantaggi Svantaggi Architettura Pipeline nel processore Deluxe

Significato Pipeline come una Catena di Montaggio N: num Unità Operative T: tempo massimo per operazione dopo una latenza NxT completo ogni processo in un tempo T Speed – Up: N meno complesse meno costose facilmente riproducibili Unità Operative complessità proporzionale a N Architettura centralizzato non troppo complesso Unità di Controllo Henry Ford, proprietario dell’omonima fabbrica automobilistica di Detroit, nel 1927 costruisce la prima catena di montaggio Invece di utilizzare piu unità operative specializzate su tutte le fasi dell’intero processo impiega più unità operative indipendenti, non interscambiaili e specializzate su diverse fasi dell’intero processo

Significato 3 2 4 5 1 2 3 4 5 1 Pipeline come una Catena di Montaggio Il processore è costruito da più Unità Differenti e Indipendenti che lavorano: in Parallelo su fasi differenti di istruzioni differenti in Serie su diverse fasi dell’esecuzione della medesima istruzione Ogni unità preleva dall’unità precedente l’istruzione trasformata e la trasforma ulteriormente passandola all’unità successiva Programma Risultato dell’esecuzione 4 Istr. 3 3 Istr. Fasi Non Bilanciate e Atomiche 2 Istr. 4 Istr. 1 Istr. 3 Istr. 5 Istr. 6 Istr. 2 Istr. 1 4 Istr. 3 Istr. 1 Istr. 2 Istr. 5 Istr. 2 Istr. 1 Istr. 4 Istr. 3 Istr. 1 Istr. 3 Istr. 2 Istr. 4 2 Istr. 1 Istr. 1 Istr. 2 5 3 2 4 5 1 2 3 4 5 1 Processore Pipeline con 5 unità operative parallele Le diverse Fasi dell’Esecuzione le possiamo identificare in corrispondenza delle differenti unità o macro unità hardware (Memoria, ALU, Registri ...) interessate dall’esecuzione dell’istruzione

Gestione della Pipeline Presupposti Operativi: Sincronismo 5 4 3 2 1 Fasi Non Bilanciate e Atomiche Contesto Sincrono La Fase 3 più Lenta fissa la latenza T anche per le altre Fasi NO 5 4 3 2 1 4 1 2 3 5 1 4 1 2 3 5 2 4 1 2 3 5 3 4 1 2 3 5 4 4 1 2 3 5 5 T 4 1 2 3 5 4 1 2 3 5

Fase unione di più fasi atomiche Bilanciamento delle Fasi Fase unione di più fasi atomiche 5 4 3 2 1 Fasi Non Bilanciate e Atomiche 2’ 1’ 3’ Fasi Bilanciate e Non Atomiche Hardware più semplice (costruisco 3 fasi indipendenti) Basso Speed-Up (sovrappongo fino a 3 istruzioni) UNDER – Pipeline (DSP)

SottoFasi come scomposizione di Fasi Bilanciamento delle Fasi SottoFasi come scomposizione di Fasi 5 4 3 2 1 Fasi Non Bilanciate e non Atomiche 5 4b 4a 3c 3b 3a 2 1b 1a Fasi Bilanciate e Atomiche Hardware più complesso (costruisco 9 fasi indipendenti) Alto Speed-Up (sovrappongo fino a 9 istruzioni) SUPER – Pipeline

Bilanciamento delle Fasi Ridondanza Hardware 5 4 3 2 1 Fasi Non Bilanciate e Atomiche 5 4 3 2 1 Duplico le risorse ma ne Dimezzo la latenza Aumenta lo Speed-Up Complico poco l’architettura

T minimo è intimamente legato alla tecnologia utilizzata Vantaggi La tecnica pipeline (con K fasi) al crescere del numero di istruzioni (N>>K) impiega un tempo complessivo di esecuzione N x T (dove T è il tempo di fase) T minimo è intimamente legato alla tecnologia utilizzata Ridurre il tempo di fase T (aumentando la lunghezza della pipeline k oppure utilizzando la ridondanza hardware) fa aumentare lo Speed-Up del processore

Svantaggi Aumentare la lunghezza della pipeline k fa sì aumentare lo Speed-Up del processore ma: Aumenta il numero di Conflitti (rallentandone l’esecuzione) e aumenta la Gestione del processore (che volutamente non risolve ogni tipo di conflitto)

Architettura Pipeline VECTOR Processor Calcolo Vettoriale su CPU Pipeline: DLX DSP-TI Calcolo eseguito su CPU parallela Calcolo eseguito su CPU pipeline

Il processore Deluxe - DLX Architettura Pipeline a 5 fasi

Il processore Deluxe - DLX Fasi dell’Esecuzione dell’Istruzione Instruction Fetch cycle: IR       <- MEM [PC] NPC  <- PC + 4 Operation: Send out the PC and fetch the instruction from memory into the instruction register (IR) Increment the PC by 4 to address the next sequential instruction The IR is used to hold the instruction that will be needed on subsequent clock cycles The NPC is used to hold the next sequential PC (program counter) [ I F ]

Il processore Deluxe - DLX Fasi dell’Esecuzione dell’Istruzione Instruction Decode/register fetch cycle: A <- Regs [IR6..10] B <- Regs [IR11..15] Imm <- ( (IR16)16 ## IR16..31 ) Operation: - Decode the instruction and access the register file to read the registers. - the output of the general-purpose registers are read into two temporary registers (A and B) for use in later clock cycles. - the lower 16 bits of the IR are also sign-extended and stored into the temporary register IMM, for use in the next cycle. - decoding is done in parallel with reading registers, which is possible because these fields are at a fixed location in the DLX Instruction Format. This technique is known as fixed-field decoding. [ I D ]

Il processore Deluxe - DLX Fasi dell’Esecuzione dell’Istruzione Execution/effective address cycle: Memory reference: ALUOutput <- A + Imm Register - Register (ALU): ALUOutput <- A op B Register - Immediate (ALU): ALUOutput <- A op Imm Branch: ALUOutput <- NPC + Imm Cond <- ( A op 0 ) [ E X ]

Il processore Deluxe - DLX Fasi dell’Esecuzione dell’Istruzione Memory access/branch completion cycle: [ M E M ] Memory reference: LMD <- Mem [ALUOutput] or  Mem [ALUOutput] <- B Operation: - Access memory if needed - If the instruction is load , data returns from memory and is placed in the LMD (load memory data) register - If the instruction is store, data from the B register is written into memory. - In either case the address used is the one computed during the prior cycle and stored in the register ALUOutput Branch: if (cond) PC <- ALUOutput else PC <- NPC Operation: - If the instruction branches, the PC is replaced with branch destination address in the register ALUOutput - Otherwise, PC is replaced with the incremented PC in the register NPC

Il processore Deluxe - DLX Fasi dell’Esecuzione dell’Istruzione Write-back cycle: Register-Register (ALU): Regs [IR16..20] <- ALUOutput Register-Immediate (ALU): Regs [IR11..15] <- ALUOutput Load instruction: Regs [IR11..15] <- LMD Operation: - Write the result into the register file, whether it comes from the memory(LMD) or from ALU (ALUOutput) - the register destination field is in one of two positions depending on the opcode [ W B ]