Università degli Studi di Napoli Federico II Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni –

Slides:



Advertisements
Presentazioni simili
LINGUAGGIO MACCHINA e ASSEMBLER
Advertisements

La struttura fisica e logica di un elaboratore
Perché le interruzioni?
Architettura di un sistema informatico Hardware
Ottimizzazione statica del codice per processori pipelined Canella Matteo & Miglioli Filippo.
Realizzazione del file system
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.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione 1, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a.2009/2010 Prof.ssa Chiara Petrioli.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Alcuni esercizi e domande per il compitino quali sono le parti principali dellarchitettura di von Neumann? citare le caratteristiche salienti della RAM.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Caratteristiche principali dell’architettura del processore MIPS
Caratteristiche principali dell’architettura del processore MIPS
Il processore PD32.
Gestione delle subroutine
Criticità sui dati Consideriamo una sequenza di 5 istruzioni
Criticità sui dati (1° esempio)
Caratteristiche principali dell’architettura del processore MIPS
Criticità sul controllo
Criticità sui dati (esempio da fare on line)
Criticità sul controllo
Criticità sul controllo
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Il Linguaggio Macchina
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
Com’è fatto un elaboratore?
Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno /2006.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Lezione 5 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Calcolo di resistenze viste da vari punti
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Il Modello logico funzionale dell’elaboratore
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Calcolatori Elettronici Introduzione al Pipelining Francesco Lo Presti Rielaborate da Salvatore Tucci.
Introduzione al linguaggio assembly del microprocessore a parte
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
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.
Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni.
Arch. Elab. - S. Orlando 1 Esercitazione su Instruction Level Parallelism Salvatore Orlando.
Architettura di una CPU
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano introduzione alle architetture superscalari Come.
Calcolatori Elettronici Introduzione al Pipelining
Architettura del calcolatore
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.
Gestione dei dispositivi di I/O:
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
 Il modello a memoria comunque trova impiego nelle architetture in cui esiste un’unica memoria a tutti i processi,per esempio macchine monoprocessore.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Come esegue le istruzioni il microprocessore Un’istruzione è sempre composta da più operazioni elementari.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Dalla macchina di Von Neumann …
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Transcript della presentazione:

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni – Prof. Nicola Mazzocca Sistemi ad elevate prestazioni Lezione 3

Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca Conflitti nei sistemi basati su pipelining - La gestione del conflitto sui dati Se due istruzioni consecutive tentano di accedere contemporaneamente ad uno stesso registro/locazione di memoria, si generano conflitti sui dati, classificati secondo due tipologie: Se due istruzioni consecutive tentano di accedere contemporaneamente ad uno stesso registro/locazione di memoria, si generano conflitti sui dati, classificati secondo due tipologie: conflitti Read after Write (R/W); conflitti Read after Write (R/W); conflitti Write after Read (W/R). conflitti Write after Read (W/R).

Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca Esempio di conflitto R/W i R2 = R1 + R3 i+1 R4 = R2 + R5 (1) (2) (3) (4) (5) (1) (2) (3) (4) (5) i IF ID EX MEM WB i+1 IF ID ID EX Quando listruzione i+1 giunge nella fase ID essa deve prelevare il valore di R2; tale operazione, però, non è possibile siccome il nuovo valore non è stato ancora memorizzato nel registro R2; la pipe, quindi, entra in stallo. Quando listruzione i+1 giunge nella fase ID essa deve prelevare il valore di R2; tale operazione, però, non è possibile siccome il nuovo valore non è stato ancora memorizzato nel registro R2; la pipe, quindi, entra in stallo. Per risolvere questo conflitto si utilizza la tecnica dellanticipo degli operandi (Operand Forwarding), cioè si crea un canale (hardware), che renda i risultati disponibili appena lALU li calcola. Per risolvere questo conflitto si utilizza la tecnica dellanticipo degli operandi (Operand Forwarding), cioè si crea un canale (hardware), che renda i risultati disponibili appena lALU li calcola. Questa tecnica è realizzabile solo se si opera su registri del processore ed ogni fase impiega un solo ciclo di clock (processori RISC). Questa tecnica è realizzabile solo se si opera su registri del processore ed ogni fase impiega un solo ciclo di clock (processori RISC). R2 R5 DEMUX ALU

Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca La tecnica dellInternal Forwarding (1) In tal caso si usa la tecnica dellInternal Forwarding: che consiste nellibernare le istruzioni, che non possono essere eseguite subito, perché in conflitto con le precedenti, per iniziare ad eseguire le successive. In tal caso si usa la tecnica dellInternal Forwarding: che consiste nellibernare le istruzioni, che non possono essere eseguite subito, perché in conflitto con le precedenti, per iniziare ad eseguire le successive. Per implementare questa tecnica si utilizza una memoria detta tabella di ibernazione statica ed interna al processore, dove annotare le istruzioni già decodificate e cioè con chiara la conoscenza degli operandi e di quale operazione deve essere effettuata. Per implementare questa tecnica si utilizza una memoria detta tabella di ibernazione statica ed interna al processore, dove annotare le istruzioni già decodificate e cioè con chiara la conoscenza degli operandi e di quale operazione deve essere effettuata. Utilizzando le proprietà associativa e commutativa è possibile evitare stalli della pipe cambiando lordine delle istruzioni. Ma ciò non è sempre praticabile ! Utilizzando le proprietà associativa e commutativa è possibile evitare stalli della pipe cambiando lordine delle istruzioni. Ma ciò non è sempre praticabile ! operando1operando2 RISULTATO ADD MUL DIV BOO LOAD STORE TAGVALORETAGVALORE

Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca La tecnica dellInternal Forwarding (2) i R1 = MEMA; i+1 R2 = R1 + R3; i+2 R4 = R2 + R5; i+2 R4 = R2 + R5; i+3 R2 = R6 + R7; i+4 R4 = R2 + R4; il registro R2 è presente in due blocchi che abbiamo indicato come eseguibili in maniera distinta dal processore in base alle due proprietà: commutativa e associativa il registro R2 è presente in due blocchi che abbiamo indicato come eseguibili in maniera distinta dal processore in base alle due proprietà: commutativa e associativa R2 dovrà assumere due valori diversi nellambito delle istruzioni ed alla fine è necessario trovare, per eseguire lultima istruzione, un registro R2 con il valore corretto R2 dovrà assumere due valori diversi nellambito delle istruzioni ed alla fine è necessario trovare, per eseguire lultima istruzione, un registro R2 con il valore corretto R1= MEMA; R2=R1 + R3; R4=R2 + R5 R2=R6 + R7; R4=R2 + R4; Per fare questo i registri del processore sono utilizzati come Forwarding Register !

Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca La tecnica dellInternal Forwarding (3) I registri del processore (Forwarding Register), quindi, sono utilizzati come puntatori ai Registri Operando; I registri del processore (Forwarding Register), quindi, sono utilizzati come puntatori ai Registri Operando; I registri operando contengono, oltre al valore attuale dei registri del processore, anche i valori che essi hanno assunto nel corso dellelaborazione, ovvero la loro storia passata. Ad ogni registro operando è associato un contatore, per tener traccia del numero di operazioni sospese su quel registro ed un bit di occupato, che è pari a zero quando il dato contenuto nel registro è valido. I registri operando contengono, oltre al valore attuale dei registri del processore, anche i valori che essi hanno assunto nel corso dellelaborazione, ovvero la loro storia passata. Ad ogni registro operando è associato un contatore, per tener traccia del numero di operazioni sospese su quel registro ed un bit di occupato, che è pari a zero quando il dato contenuto nel registro è valido. OPR(0) OPR(1) OPR(2) OPE(3) OPR(4) OPR(5) OPE(N) Operand register Forwarding register R0 R1 R2 R3 R4 R5 R6 R7 R1 OPR(0) OPR(1) OPR(n) OPR(8) OPR(7) OPR(3) OPR(2) R0 R1 R7 R6 R5 R4 R3 R operazioni sospese valore bit occupato

Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca La tecnica dellInternal Forwarding (4) i R1 = MEMA; i+1 R2 = R1 + R3; i+2 R4 = R2 + R5; i+2 R4 = R2 + R5; i+3 R2 = R6 + R7; i+4 R4 = R2 + R4; R1= MEMA; R2=R1 + R3; R4=R2 + R5 R2=R6 + R7; R4=R2 + R4; Contenitore ADD MUL DIV BOO STORE LOAD tagvalore MEMA tagvalore operando2 operando1 OPR(0) OPR(1) OPR(N) OPR(8) OPR(7) OPR(3) OPR(2) R0 R1 R7 R6 R5 R4 R3 R operazioni sospese valore bit occupato Istruzione i : cache miss ! Istruzione i +1 Istruzione i +2Istruzione i +3 2 Arriva R1 dalla memoria ! Si sblocca i+1 1 Si sblocca i+2 0 Istruzione i+4 …

Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca Conclusioni & Prossima Lezione Si capisce che il modello di Von Neumann non è rispettato, la cosa risulta ancora più chiara in occasione di una interruzione causata per esempio dalloverflow dellistruzione i+3 (R2=R6+R7), perché in tal caso si interromperebbe prima dellesecuzioni di istruzioni precedenti, credendo di interrompere avendo una macchina modificata dallesecuzione di tali istruzioni ibernate ! Si capisce che il modello di Von Neumann non è rispettato, la cosa risulta ancora più chiara in occasione di una interruzione causata per esempio dalloverflow dellistruzione i+3 (R2=R6+R7), perché in tal caso si interromperebbe prima dellesecuzioni di istruzioni precedenti, credendo di interrompere avendo una macchina modificata dallesecuzione di tali istruzioni ibernate ! Sistemi superscalari – Gestione dei conflitti nella gestione di pipe multiple (vettore delle collisioni) – Gestione delle istruzioni Sistemi superscalari – Gestione dei conflitti nella gestione di pipe multiple (vettore delle collisioni) – Gestione delle istruzioni