Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.

Slides:



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

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni –
Relatore: Prof. Fabrizio FERRANDI
Automazione a logica programmabile
Circuiti sequenziali Capitolo 5.
MICROCONTROLLORI Di Tiziano Ragazzi.
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
Reti Logiche A Lezione n.1.4 Introduzione alle porte logiche
1 Introduzione Ottimizzazione di un sistema (per es. di calcolo) (1) Analisi dellimpatto delle varie soluzioni possibili (2) Legge di Amdhal (3) Scelta.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione SISTEMA DI CALCOLO Valutazione delle prestazioni Metriche oggettive di analisiRisultati oggettivi.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
1 Introduzione Il concetto di prestazione si presta facilmente a valutazioni soggettive, spesso fuorvianti Metriche di analisi oggettive sono utili per.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Ottimizzazione SISTEMA DI CALCOLO Costi rilevanti PREVISIONE delleffetto dei MIGLIORAMENTI.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
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.
Come aumentare le linee di I/O?
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture 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.
Progettazione di una base di dati
La macchina di von Neumann
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Le procedure di gestione input/output Poiché le operazioni di input/output sono più lente rispetto alla velocità del processore, occorrerà sincronizzarle.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Sistemi Complessi di reti sequenziali Pipeline
Architettura del calcolatore
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
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.
1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni.
Architettura di una CPU
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano introduzione alle architetture superscalari Come.
Tesina di fine corso Argomento: Corso: Professore: Autori:
1 Introduzione Sistema di calcolo Valutazione dell’impatto delle varie modifiche sulle prestazioni globali del sistema Modifiche all’architettura.
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à.
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Esigenze di memoria per un sistema di calcolo –Dati –Istruzioni Obiettivi –Raggiungere i migliori compromessi.
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.
Tipo Documento: unità didattica 4 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
La valutazione Slide del Titolo Carattere Optima passo 32 - Centrato.
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.
Informatica Generale Marzia Buscemi
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
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.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Tipo Documento: unità didattica 2 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni.
Untitled Computer Dispositivo elettronico in grado di ricevere ed eseguire sequenze di istruzioni svolgendo calcoli ed elaborazioni su dati numerici o.
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.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
IL PLC AUTOMAZIONE INDUSTRIALE
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Transcript della presentazione:

Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo E.Interazione F.Test di autoverifica

SCHEDA INFORMATIVA DI UNITÀ Area MArgomento M7 Modulo 03 codice identificativo ???? Titolo: Il pipelining Macro descrizione: Questa unità introduce–il pipelining- che è una delle tecniche usate per aumentare le prestazioni nei moderni microprocessori Pre-requisiti: M1, M2, M3, M4 Obiettivi didattici delle unità: descrivere l’organizzazione a pipeline di un insieme di attività, mostrando come tale soluzione sia impiegata nelle CPU Tempo dedicato in aula: ??? min Autore dei testi: prof. William Fornaciari Editor: Zibaldi ???? Note: (segnalare e giustificare eventuali particolarità)

Introduzione I fattori rilevanti per le prestazioni Prospettiva storica Il parallelismo nell’esecuzione delle istruzioni Circuiti pipeline Uso del pipelining in un processore

Tempo di CPU Il tempo impiegato da una CPU per eseguire un programma dipende da diversi fattori il numero di istruzioni che lo compongono e vengono eseguite il tempo necessario per eseguire ogni singola istruzione, ovvero il numero di cicli di clock richiesti da ogni istruzione e la durata di ogni ciclo di clock Riassumendo

Fattori che influenzano il tempo di CPU ciclo di clock (o frequenza) tecnologia hardware e organizzazione cicli di clock per istruzione organizzazione e architettura dell’insieme istruzioni numero istruzioni architettura set istruzioni e tecnologia dei compilatori Non è possibile ottimizzare separatamente i vari termini poiché le tecnologie che li influenzano sono fortemente correlate

Prospettiva storica Fino agli anni ’70 si è lavorato principalmente Migliorando le tecnologie elettroniche Potenziando l’insieme delle istruzioni per rendere più breve il compilato Introduzione istruzioni complesse Aumentare le modalità di indirizzamento Tentativo di rendere ortogonali istruzioni e modi di indirizzamento Dopo gli anni ‘70-80 si sono diffusi approccio quantivativo al progetto del set di istruzioni abbinato a pipelining Anni ‘90 Parallelismo a livello istruzione (superscalarità e VLIW)

Pipelining: introduzione In una CPU è presente un controllore che pilota il datapath, ovvero lo hardware che effettivamente realizza le istruzioni Un generico data-path è costituito da una sequenza di operazioni eseguite in cascata questa struttura si presta molto bene al frazionamento in sottounità 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

Funzionamento senza pipelining Il blocco funzionale F calcola l’operazione y  F(x): –In ingresso a F arriva una successione di dati x i –In uscita da F viene prodotta una successione di dati y i  F(x i ) L’ingresso x presenta un ritardo di stabilizzazione pari all’intervallo di tempo  T x Il blocco funzionale F presenta un ritardo di propagazione pari all’intervallo di tempo  T La frequenza massima di funzionamento è pertanto F() y = F(x)x clk

Frazionamento della computazione Si supponga che la funzione F() possa essere decomposta in due nuove funzioni F 1 () ed F 2 (), separate da un registro di pipeline, tali che F 1 () y = F 2 (z out ) = F(x)x F 2 () z in = F 1 (x) R z out = z in In questo modo le funzioni F 1 () e F 2 () vengono calcolate in due cicli di clock successivi e possono operare contemporaneamente F1 e F2 sono più semplici rispetto a F: la durata di un ciclo di clock può quindi essere ridotta

Funzionamento con pipelining Nel primo ciclo di clock: –Si deve attendere la stabilizzazione di x –Viene calcolata la funzione F 1 (x) Nel secondo ciclo di clock: –Il valore z in viene memorizzato nel registro e quindi propagato in z out –Viene calcolata la funzione F 2 (z out ) I ritardi nei due cicli di clock sono: –Primo ciclo:  T x +  T 1 –Secondo ciclo:  T R +  T 2 La frequenza massima di funzionamento è quindi:

Prestazioni con pipelining Ipotesi semplificative Dati stabili e registri efficienti:  T x <<  T 1 ;  T R <<  T 2 Scomposizione efficiente:  T   T 1 +  T 2 Fasi bilanciate:  T 1   T 2 Il valore della frequenza massima (ideale) di funzionamento diviene Nel caso più generale in cui la scomposizione di F sia fatta tramite n stadi si avrà E’ possibile quindi fare funzionare il sistema con un clock n volte più veloce, ovver avere prestazioni n volte superiori

Interazione Domanda: nell’ambito del pipelining, dire quale sia l’importanza/impatto di fattori sottoriportati Influenza elevata Bilanciamento nelle attività svolte dalle varie fasi Disponibilità di una tecnologia microelettronica in grado di andare con clock più veloci Numero di fasi usati nella scomposizione della F originaria Complessità nella progettazione del sistema Influenza bassa o nulla Numero di bit dei dati Numero di ingressi nel primo stadio della pipe Numero dei bit di uscita Funzionamento del compilatore

Applicazione del pipelining alle CPU L’esecuzione di una istruzione macchina 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 –Alcune architetture prevedono una decomposizione in 8 operazioni –Le architetture moderne arrivano fino a 13 stadi

Riepilogo Il pipelining scompone le operazioni in fasi o stadi da eseguire parallelamente in cicli di clock successvi Le prestazioni del sistema, teoricamente, posso aumentare di un fattore pari al numero di stadi che compongono la pipe La progettazione di circuiti pipeline efficienti è complessa e richiede anche una tecnologia microelettronica in grado di fuzionare a frequenze più elevate Fattori che influenzano le prestazioni ciclo di clock, cicli di clock per istruzione e numero istruzioni Non è possibile ottimizzare separatamente i vari termini

Test di autovalutazione unità -1 Sotto le seguenti ipotesi, calcolare la frequenza massima di funzionamento della pipe Ritardo nel calcolo di F pari a100 ns Scomposizione in 4 stadi F1, F2, F3, F4 fra ritardi rispettivamente di 20, 15, 50 e 15 ns Tempo di assestamento del segnale di ingresso e di propagazione del registro trascurabile GIUSTO SBAGLIATO

Test di autovalutazione unità - 2, 3 2) All’interno di una CPU, il pipelining viene efficacemente impiegato per? –A) Diminuire il consumo di potenza –B) Ridurre il numero dei registri al fine di avere circuiti più semplici e veloci –C) Rendere più efficiente la fase di esecuzione delle istruzioni 3) In sede di scomposizione di una funzionalità su più fasi (stadi) –A: si deve cercare di rendere bilanciati gli stadi –B: si deve cercare di avere uno stadio con il minor ritardo possibile, anche a scapito degli altri –C: normalmente non si superano i due stadi di pipelining