La Tecnica PIPELINE Il DLX - Pipeline.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI PARMA
Advertisements

La struttura fisica e logica di un elaboratore
Procedure e funzioni A. Ferrari.
Perché le interruzioni?
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni –
POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:
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.
CALCOLATORI ELETTRONICI Gestione delle subroutine.
Evoluzione del MIPS: superpipeline e superscalari
Criticità sui dati Consideriamo una sequenza di 5 istruzioni
Criticità sui dati (1° esempio)
Il pipelining: tecniche di base Lucidi fatti in collaborazione con lIng. Valeria Cardellini.
Algoritmi e Strutture Dati
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
Napoa Azione 4 – Gruppo B7 1.Risultati della somministrazione 2002: M2 Vamio Analisi item test di profitto rispetto ai contenuti riferiti ai temi ministeriali.
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.
Architettura dell’elaboratore
Il Modello logico funzionale dell’elaboratore
Gestione del Tempo Gestione del Tempo
Sistemi Complessi di reti sequenziali Pipeline
ELETTRONICA DIGITALE (II Parte)
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
La Tecnica PIPELINE Il DLX - Pipeline.
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.
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.
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à.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
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 Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
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.
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.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
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.
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 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 centralizzato non troppo complesso Unità di Controllo complessità proporzionale a N Architettura 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 2 3 4 5 1 5 3 2 4 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. 1 4 1 Istr. 2 5 2 3 4 5 1 5 3 2 4 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 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) Ridurre il tempo di fase T (aumentando la lunghezza della pipeline k oppure utilizzando la ridondanza hardware) fa aumentare lo Speed-Up del processore T minimo è intimamente legato alla tecnologia utilizzata

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)

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 ] The ALU performs the operation specified by the opcode on the value in register A and on the value in register Imm. The result is placed in  the register ALUOutput. The ALU adds the NPC to the sign-extended immediate value in Imm to compute the address of the branch target. Register A, which has been read in the prior cycle, is checked to determine whether the branch is taken. The comparison operation op is the relational operator determined by the branch opcode (e.g. op is "==" for the instruction BEQZ) The ALU performs the operation specified by the opcode on the value in register A and on the value in register B. The result is placed in the register ALUOutput. The ALU adds the operands to form the effective address and places the result into the register ALUOutput

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 ]

Architettura Pipeline Vector Processor Calcolo Vettoriale su CPU DLX - Pipeline: Calcolo eseguito su CPU parallela Calcolo eseguito su CPU pipeline