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.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Reti Logiche e Architettura dei Calcolatori Luciano Gualà home page
1 Introduzione Ottimizzazione di un sistema (per es. di calcolo) (1) Analisi dellimpatto delle varie soluzioni possibili (2) Legge di Amdhal (3) Scelta.
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.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
PSPICE – Circuiti sequenziali principali
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 livello Microarchitetturale
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.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
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.
Architettura di un calcolatore
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Il Calcolatore Elettronico
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
Sistemi Complessi di reti sequenziali Pipeline
ELETTRONICA DIGITALE (II Parte)
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
Architetture dei Calcolatori (Lettere j-z ) Il Processore
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.
Esercitazioni I/O. Dischi: Esercizio 1 Si consideri un programma che legge blocchi di 2 KB da disco, esegue un’elaborazione su questi, e quindi li riscrive.
1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni.
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano introduzione alle architetture superscalari Come.
Migliorare le prestazioni delle cache
Bus Interface Unit L1 I-CacheL1 D-Cache Fetch/Decode unit Dispatch/Execute unit Retire unit Instruction Pool System Bus L2 Cache 256 KB integrata 4 cicli.
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
WATCHDOG TIMER E’ un oscillatore interno al  C, ma indipendente dal resto dei circuiti, il cui scopo è quello di rilevare eventuali blocchi della CPU.
CENTRAL PROCESSOR UNIT (CPU) 1/2 E’ l’unità che regola e controlla tutti I processi nel microcontroller. E’ formata da diverse sottounità tra cui: Instruction.
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)
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.
Architettura di un calcolatore e linguaggio macchina.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
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
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
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.
STRUTTURA DELL’ELABORATORE
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
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.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Calliope-Louisa Sotiropoulou I NTRODUZIONE ALLA T ECNOLOGIA D ELL ’FPGA F IELD P ROGRAMMABLE G ATE A RRAYS PISA, 02/03/2016 Marie Curie IAPP Fellow - University.
Architetture non Von Neumann
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

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 dei 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 operazioni (superpipelining)

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

CPU con pipelining Architettura tipica con 3 pipeline: Floating-point pipeline Integer pipeline Branch pipeline Load Dispatch Hazards Unit Register File Floating-point pipeline - 8 phases Integer pipeline - 5 phases Branch pipeline - 3 phases

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) La scelta di un particolare programma di prova nel confronto fra due macchine –A: può influenzare la decisione circa la macchina più veloce –B: influenza essenzialmente la durata del processo di misura, ma non è in grado di modificare la decisione circa quale sia la più veloce –C: deve cambiare possibilmente di anno in anno, in modo da mantenere gli stessi valori medi delle prestazioni