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

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

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

Organizzazione pipeline della CPU

Gestione degli hazard

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

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

CALCOLATORI ELETTRONICI B 23 giugno 2008

Calcolatori Elettronici

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

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

Controllo di un processore a singolo ciclo

Problemi del ciclo singolo

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

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici

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

CPU pipeline hazards

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

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

Il pipelining: tecniche di base

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE

CALCOLATORI ELETTRONICI 25 giugno 2018

La pipeline. Sommario

Il pipelining: tecniche di base

La pipeline. Sommario

Calcolatori Elettronici B a.a. 2008/2009

CALCOLATORI ELETTRONICI 30 agosto 2010

Cicli di clock e istruzioni

Schema generale. Realizzazione della macchina hardware. Varietà di architetture HW. Gerarchie di macchine. varietà di sistemi operativi!

Problemi dell implementazione singolo ciclo

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto

CALCOLATORI ELETTRONICI 27 marzo 2018

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

CALCOLATORI ELETTRONICI 9 settembre 2011

CALCOLATORI ELETTRONICI 15 luglio 2014

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci

La pipeline. Sommario

CALCOLATORI ELETTRONICI 14 giugno 2010

Una CPU multi-ciclo. Sommario

L'architettura del processore MIPS

Si ricorda il primo schema elementare della pipeline. che verrà indicato in modo sommario come

La pipeline. Sommario

CPU a ciclo multiplo

CALCOLATORI ELETTRONICI 20 gennaio 2012

Instruction Level Parallelism Andrea Gasparetto

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

Una CPU multi-ciclo. Sommario

CALCOLATORI ELETTRONICI 29 giugno 2015

CPU a ciclo multiplo

Richiami sull architettura del processore MIPS a 32 bit

Unità di controllo della pipeline

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

Una CPU multi-ciclo. Sommario

Architettura degli elaboratori - II Le architetture multi-ciclo

Calcolatori Elettronici

CPU (2) 2 CPU (2) 3 CPU (2) 4

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline

CALCOLATORI ELETTRONICI 9 gennaio 2013

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

Lezione 29 Il processore: unità di controllo (2)

Richiami sull architettura del processore MIPS a 32 bit

Calcolatori Elettronici B a.a. 2006/2007

Stall on load e Hazard sul controllo

Lezione di Tutorato Di Architettura degli Elaboratori B 18/05/2005 SOLUZIONI: PIPELINE

Stall on load e Hazard sul controllo

Pipeline criticità e forwarding

Un quadro della situazione. Lezione 28 Il Processore: unità di controllo (2) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto

CALCOLATORI ELETTRONICI 15 giugno 2015

CPU. Dispositivi di I/O. Bus. Terminale. Stampante. Memoria centrale. Unità disco CPU. Unità di controllo. Unità aritmetico logica (ALU) Registri

Elementi di informatica

Algoritmi di Ordinamento

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

ESERCIZIO 1. Sia dato il seguente ciclo di un programma in linguaggio ad alto livello:

L unità di controllo di CPU a singolo ciclo

Trend di sviluppo delle pipeline

Calcolatori Elettronici B a.a. 2007/2008

Stall on load e Hazard sul controllo. Sommario

Approccio Multiciclo. Architetture dei Calcolatori (Lettere. esecuzione. Suddividere l esecuzione passi (steps) Il Processore (2)

Instruction Level Parallelism Salvatore Orlando

Instruction Level Parallelism

Architettura del processore MIPS

Calcolatori Elettronici B a.a. 2005/2006

Approccio Multiciclo. Architetture dei Calcolatori (Lettere. Suddividere l esecuzione passi (steps) esecuzione. Il Processore (2)

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

Esercitazione del 10/05/ Soluzioni

Esercitazione del 05/05/ Soluzioni

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

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

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Trend di sviluppo delle pipeline

Stall on load. Sommario

ARCHITETTURE AVANZATE DEI CALCOLATORI, A.A. 2007/08 Soluzione esercizi sul pipelining

Progetto CPU a singolo ciclo

Prof. Cristina Silvano Dipartimento di Elettronica e Informazione.

L unità di controllo di CPU a singolo ciclo

Pipeline e prestazioni

CPU pipeline 3 criticità di dati e di controllo

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

Calcolatori Elettronici

Transcript:

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 solzioni La nità di elaborazione con pipeline progettazione Un esempio pratico di pipeline onfronto tra ciclo singolo e pipeline 6 P 7 8 9 2 2 6 P 7 8 9 2 2 6 P 7 8 9 2 2 6 P 7 8 9 2 2 ompiti: lavaggio ascigatra stiratra riordino $, ($) $2, 2($) 2 6 8 2 6 8 LU 8ns ata 2 6 8 2 $, ($) ata LU $2, 2($) ata LU ata LU LU 8ns ata... 8ns 3 La nità di elaborazione a ciclo singolo IF: P ddress dd I: decode/ file read isters 6 Si gn EX: Eecte/ address calclation dd dd resl t LU LU E:emory ddress ata W: back lcni commenti slla pipeline La presenza di na pipeline fa amentare il nmero di istrzioni contemporaneamente in eseczione non fa ridrre il tempo necessario alla eseczione di na eseczione na istrzione che richiede 5 passi, richiede sempre 5 cicli di clock La pipeline migliora il nmero di istrzioni esegite per nità di tempo (il throghpt) e non il tempo di eseczione di ciascna istrzione I set di istrzione devono essere progettati in maniera opportna per poter introdrre le pipeline con efficacia 5 6

7 Le criticità nelle architettre a pipeline Sorgono qando non è possibile esegire na istrzione nel ciclo di clock immediatamente segente Tre tipi di criticità: criticità strttrale qando le risorse hardware non possono spportare la combinazione di istrzioni contemporaneamente il IPS (nità a ciclo singolo) è progettato per l so di pipeline: sare de memorie (dati/programmi) aita criticità sl controllo necessario scegliere alternative con operazioni ancora in eseczione tipico esempio: il salto condizionato: se sto esegendo beq come faccio a sapere (in anticipo) qale è la istrzione sccessiva da iniziare a esegire? 8 riticità sl controllo: n esempio Uno stallo : la istrzione dopo la beq viene esegita con ritardo introdcendo n bco (bbble) 2 6 8 2 6 ata add $, $5,$6 LU beq $, $2, ns LU ata LU ata 9 riticità sl controllo Esistono altre solzioni irciti di predizione del comportamento dei salti condizionati esempio: prediciamo che ttti i salti condizionati non vengono esegiti : se abbiamo ragione, la pipeline fnziona a massima velocità altrimenti dobbiamo bttare il lavoro fatto (svotamento della pipe) e ricominciare irciti di predizione dinamica adattano la predizione al comportamento del programma esempio: nelle istrzioni ssembler corrispondenti a for (i = ; i < 2; i++). il salto per ritornare all inizio del ciclo (bne) viene sempre esegito tranne l ltima volta (qando si esce dal ciclo) Lo svotamento della pipe add $, $5, $6 beq $, $2, add $, $5,$6 beq $, $2, or $7, $8, $9 2 ns 2 ns 2 6 8 2 2 ns LU ata LU ata LU ata 2 6 8 2 ns LU ata LU ata bbble bbble bbble bbble bbble LU ata riticità si dati Terzo tipo di criticità: qando na istrzione dipende dal risltato di na istrzione precedente che si trova nella pipeline d esempio: add $s, $t, $t sb $t2, $s, $t3 la sottrazione sa il risltato della somma Una solzione la propagazione o scavalcamento qando la LU genera n risltato qesto viene messo a disposizione sbito per il passo della istrzione che sege riordinare il codice: spostare istrzioni innoce in modo che esse eliminino la criticità Prima solzione: la propagazione 2 add $s, $t, $t add $s, $t, $t sb $t2, $s, $t3 Instr. Fetch 2 6 8 lettra scrittra IF I EX E W ec/ister Eseczione emoria dati 2 6 8 IF I EX E W IF I EX E -back nei registri W 2

Seconda solzione: il riordino delle istrzini L assemblatore riordina il codice riticità $t, ($t) $t2, ($t) sw $t2, ($t) sw $t, ($t) $t, ($t) $t2, ($t) sw $t, ($t) sw $t2, ($t) Organizzazione della lezione La pipeline il concetto alcni problemi (le criticità) e le solzioni La nità di elaborazione con pipeline progettazione 3 Lo spostamento dei dati nella nità Eseczione delle istrzioni IF: P ddress d d Instr ction me mory I: decode/ file read isters 6 2 EX: Eecte/ address calclation dd dd LU LU E: emory ddress ata memo ry W: back indirizzo di salto calcolato (da destra verso sinistra) $2, 2($) (in clock cycles) solo lettra 2 3 5 6 7 $, ($) I LU solo scrittra I LU I LU 5 scrittra risltato nel banco dei registri 6 La nità di elaborazione con pipeline Principio gida: permettere il riso delle componenti per la istrzione sccessiva Introdzione di registri di pipeline ad ogni ciclo di clock le informazioni necessarie procedono da n registro di pipeline a qello sccessivo il nome del registro è dato dai de stadi che separa registro IF/I ( Fetch / ecode) registro I/EX ( ecode / Eseczione) registro EX/E (Eseczione /emoria) registro E/W (emoria / back) La nità con pipeline P ddress dd IF/I I/EX EX/E E/W Ins trction isters 2 6 dd dd LU LU ddress ata 7 8 3

Uso della nità con pipeline escriviamo come viene esegita na istrzione nei vari stadi della pipeline Istrzione prelievo della istrzione ( ) decodifica della istrzione e lettra dei registri eseczione (so LU per il calcolo dell indirizzo) lettra dalla memoria scrittra nel registro (write-back) Eseczione di : primo stadio P ddress dd IF/I I/EX EX/E E/W isters dd dd LU LU ddress ata 6 9 2 Eseczione di : secondo stadio Eseczione di : terzo stadio decode Eection IF/I I/EX EX/E E/W IF/I I/EX EX/E E/W P dd ddress Instr cti on isters 2 dd dd LU LU ddress ata P d d dd ress isters 2 dd dd LU LU ddress ata 6 6 2 22 Eseczione di : qarto stadio Eseczione di : qinto stadio emory back IF/I I/EX EX/E E/W IF/I I/EX EX/E E/W dd dd P ddress Instr ction isters 6 dd dd LU LU ddress ata P ddress isters 6 dd dd LU LU ddress ata 23 2

accia all errore La solzione back gginta ai registri di pipeline la informazione sl registro da scrivere IF/I I/EX EX/E E/W IF/I I/EX EX/E E/W dd dd P ddress isters 6 dd dd LU LU ddress ata P ddress isters 6 dd dd LU LU ddress Wri te a ta da ta 25 26 La solzione e istrzioni insieme gginta ai registri di pipeline la informazione sl registro da scrivere $, 2($) IF/I I/EX EX/E E/W dd IF/I I/EX EX/E E/W P ddress isters 6 dd dd LU LU ddress Wri te a ta da ta P dd ddress Re ad isters Re ad 6 dd dd LU LU ddress ata lock 27 28 e istrzioni insieme e istrzioni insieme sb $, $2, $3 $, 2($) decode sb $, $2, $3 decode $, 2($) Eection P dd ddress IF/I I/EX EX/E E/W isters 6 Si gn dd dd LU LU ddress ata P dd ddress IF/I I/EX EX/E E/W isters 2 regi ster 6 dd dd LU LU ddress ata Wr ite lock 3 lock 2 29 3 5

e istrzioni insieme e istrzioni insieme sb $, $2, $3 Eection $, 2($) emory sb $, $2, $3 emory $, 2($) back IF/I I/EX EX/E E/W IF/I I/EX EX/E E/W P dd ddress isters dat a dat a 2 dd dd LU LU d dress ata P dd ddress 2 isters 2 dd dd LU LU ddress ata 6 6 lock lock 5 3 e istrzioni insieme sb $, $2, $3 back IF/I I/EX EX/E E/W P dd ddress 2 isters dd dd LU LU ddress ata 6 lock 6 33 6