Come aumentare le prestazioni Cenni alle architetture avanzate
|
|
- Daniella Palma
- 7 anni fa
- Visualizzazioni
Transcript
1 Politecnico di Milano Come aumentare le prestazioni Cenni alle architetture avanzate Mariagiovanna Sami
2 Richiamo: CPI CPI = (cicli di clock della CPU richiesti dall esecuzione di un programma)/ numero di istruzioni nel programma dinamico tempo di CPU = numero istruzioni * CPI * durata del ciclo di clock = (numero istruzioni * CPI) /f ck Introducendo nella prima formula le unità di misura, si può notare in che relazione stiano le varie componenti istruzioni programma cicli clock istruzione secondi ciclo di clock = secondi programma = tempo di CPU
3 Fattori che influenzano il tempo di CPU ciclo di clock (o frequenza) tecnologia hardware e organizzazione cicli di clock per istruzione organizzazione e architettura set istruzioni numero istruzioni architettura set istruzioni e tecnologia dei compilatori Non è possibile modificare separatamente i vari termini poiché le tecnologie di base da cui dipendono le singole caratteristiche sono interdipendenti
4 Prospettiva storica Fino agli anni 70: si è lavorato principalmente migliorando le tecnologie elettroniche; Dopo gli anni si è rivisitato il progetto dell insieme di istruzioni (passando in molti casi alla soluzione load/store) abbinato all uso esteso del pipelining; Anni 90: si è introdotto massicciamente il Parallelismo a livello istruzione (architetture superscalari e VLIW ); Dopo il 2005: architetture multi-core e many-core, altre forme di parallelismo
5 Il parallelismo a livello di istruzione: concetti fondamentali Si possono distinguere flussi di operazioni differenti per diverse classi di istruzioni: Un flusso per l accesso alla memoria (Load/Store) Uno per le operazioni aritmetiche in virgola fissa Uno per le operazioni aritmetiche in virgola mobile È ragionevole pensare a una CPU in cui a ogni flusso corrisponde una diversa pipeline, a valle della lettura e decodifica delle istruzioni;
6 Il parallelismo a livello di istruzione: concetti fondamentali Si supponga di potere leggere e decodificare più istruzioni simultaneamente: si supponga inoltre che l unità di controllo sia in grado di verificare se fra tali istruzioni non esistono dipendenze (né esistono dipendenze con le istruzioni già avviate attraverso le pipeline: diventa possibile avviare in esecuzione simultaneamente in parallelo - più istruzioni;
7 Il parallelismo a livello di istruzione: concetti fondamentali Le architetture in cui identificazione del potenziale parallelismo e conseguente gestione delle istruzioni vengono compiute dall unità di controllo durante l esecuzione (in modo dinamico) sono dette superscalari. Una CPU superscalare è dotata di parallelismo a livello di istruzione (ILP) più istruzioni appartenenti allo stesso flusso di programma vengono eseguite in parallelo. Il parallelismo in una macchina superscalare è trasparente al programmatore si può eseguire codice binario (compatibile!) compilato per un architettura più semplice
8 Architetture superscalari Esempio: architettura con 3 pipeline: Floating-point pipeline Integer pipeline Load/store pipeline capace di leggere, decodificare e avviare all esecuizione fino a tre istruzioni per ciclo Register File Fetch/decode Hazards Unit Floating-point pipeline - 8 phases Load/store pipeline - 5 phases Integer pipeline - 3 phases
9 Architetture superscalari Le prestazioni dipendono fortemente dalle risorse disponibili durante l esecuzione, dal progetto del sistema di memoria e dal compilatore! più unità funzionali debbono essere in grado di operare in parallelo; l unità di controllo deve garantire che alla fine i risultati siano sempre corretti, cioè identici a quelli che si avrebbero sulla macchina di Von Neumann; la banda della memoria per istruzioni e dati deve consentire di mantenere il throughput richiesto e un compilatore ottimizzante deve ristrutturare il codice per sfruttare meglio il parallelismo intrinseco del programma (non è in contraddizione con la compatibilità binaria, riguarda l ottimalità delle prestazioni!)
10 Processori superscalari Macchine con scheduling dinamico (superscalari) la scelta delle istruzioni da avviare all esecuzione è fatta dallo hardware; È possibile la compatibilità a livello di codice binario con CPU a singola pipeline o anche non pipelined; Molto diffuse Pentium (da Pro a IV), Centrino, AMD Opteron, IBM Power L esecuzione delle istruzioni ha inizio in base alla disponibilità dei dati e non dell ordine delle istruzioni esecuzione fuori ordine Completate le istruzioni, i risultati sono riordinati in modo da aggiornare lo stato della CPU in base all ordine corretto delle istruzioni (committment)
11 Le dipendenze di controllo Per ottenere buon parallelismo si devono superare le dipendenze di controllo; Quando si incontra un salto condizionato: si effettua una predizione sul risultato del salto si leggono in modo speculativo le istruzioni che si prevede saranno eseguite dopo queste nuove istruzioni vengono avviate in esecuzione in modo speculativo ( etichettate come tali)
12 Speculazione Se la predizione era corretta Si toglie l etichetta di speculazione alle istruzioni lette e si permette che aggiornino lo stato della macchina Se la predizione era sbagliata Si deve tornare indietro garantendo che lo stato non sia modificato erroneamente Si riprende l esecuzione dal flusso corretto; Se la probabilità che la predizione sia corretta è elevata, si migliorano le prestazioni; Nelle macchine superscalari, la predizione è dinamica, basata sulla storia precedente dell esecuzione del programma
13 Dipendenze da risolvere Aspetto essenziale: l unità di controllo è molto complessa (deve gestire dipendenze, esecuzione fuori ordine, esecuzione speculativa ) Occupa molta area di silicio; Determina la durata del ciclo di clock; Porta a consumo di potenza elevato
14 L alternativa di ILP: le architetture VLIW Consideriamo ancora CPU con molte pipeline di esecuzione: Alternativa alla soluzione superscalare: CPU Very Long Instruction Word (VLIW): l istruzione è molto lunga e costituita in realtà da n istruzioni elementari ( sillabe ) mutuamente indipendenti e composte dal compilatore in un unica istruzione lunga scheduling statico il parallelismo è estratto in fase di compilazione, a priori. Se non si trovano istruzioni indipendenti in numero sufficiente, si completa l istruzione lunga inserendo delle nop
15 L alternativa di ILP: le architetture VLIW Lo stadio di lettura legge l istruzione lunga, la decodifica e invia le diverse istruzioni elementari ai diversi data path specializzati (spesso detti lanes); Vincoli sulle dipendenze: verificati dal compilatore. Esempi di architettura VLIW: Intel Itanium (64 bit), ST200, alcuni DSP di ultima generazione; In una VLIW l unità di controllo poco più complessa di quella di una singola pipeline; occorre risolvere problemi quali l eccessiva occupazione della memoria, la gestione efficiente dei salti, etc
16 La necessità di architetture con prestazioni più elevate Per particolari applicazioni (alcune di grande rilevanza pratica es., multimedia) il parallelismo offerto da pipelining e Instruction-Level Parallelism non è sufficiente a garantire le prestazioni necessarie; Per tentare un ulteriore miglioramento dell ILP, la complessità dell unità di controllo di un architettura superscalare e il consumo di potenza crescono troppo in rapporto al miglioramento delle prestazioni ottenibile; Soluzione: cercare ulteriori forme di parallelismo nell applicazione e proporre architetture che lo sfruttino
17 Un primo esempio: Vector processors Sviluppati inizialmente per il supercalcolo: i principi sono oggi adottati per elaborazione multimediale. L insieme delle istruzioni ne include alcune che lavorano su vettori di dati. SCALARE (1 operazione) VETTORIALE (N operazioni) r1 r2 v1 v2 + + r3 add r3, r1, r v3 vector length vadd.vv v3, v1, v2
18 Vector processors Un unica istruzione vettoriale implica molte operazioni (un intero loop) Si leggono meno istruzioni Ogni risultato è indipendente da quello precedente Si possono eseguire in parallelo più operazioni Il progetto è più semplice alta frequenza di clock Il compilatore (o il programmatore) deve garantire che non ci siano dipendenze Si riducono le alee dovute a dipendenze di controllo Le istruzioni vettoriali accedono alla memoria secondo uno schema noto Si può effettuare prefetching dei dati un gran numero di dati viene preventivamente letto in un insieme di registri vettoriali Si possono sfruttare memorie a banda larga Non occorre cache dati!
19 Uso esteso di operazioni vettoriali Istruzioni di tipo vettoriale sono state introdotte in alcuni DSP di fascia alta; Opportune tecniche di programmazione/compilazione permettono di sfruttare al meglio le opportunità offerte; In alternativa: adozione di particolari istruzioni di tipo parallelo per operazioni di tipo multimediale (estensione MMX delle architetture Intel); Parallelismo noto come SIMD (Single Instruction- Multiple Data): una stessa istruzione (letta quindi una volta sola) viene eseguita simultaneamente su più dati indipendenti fra loro
20 Più in generale: architetture parallele Single instruction, single data stream SISD la solita CPU! Single instruction, multiple data stream - SIMD Multiple instruction, single data stream MISD in pratica, non esiste Multiple instruction, multiple data stream- MIMD
21 Single Instruction,, Single Data Stream - SISD Un singolo processore Un solo flusso di istruzioni I dati sono registrati in una sola memoria Un solo processore
22 Single Instruction,, Multiple Data Stream - SIMD Una sola istruzione di macchina controlla l esecuzione simultanea da parte di molti elementi di elaborazione che operano in modo sincronizzato (lockstep) Ogni elemento di elaborazione ha una memoria dati associata Ogni istruzione viene eseguita su un differente insieme di dati da elementi di elaborazione
23 Single Instruction,, Multiple Data Stream - SIMD
24 Multiple Instruction,, Multiple Data Stream- MIMD Più processori eseguono simultaneamente differenti sequenze di istruzioni su differenti insiemi di dati Sistemi di varie classi, da SMP (symmetric multiprocessor) a cluster e al grid! Comunque: I processori sono di tipo generale Ognuno ha un insieme di istruzioni di tipo generale (di norma) Un ulteriore classificazione del sistema fa riferimento al modo di comunicazione fra i processori
25 Multiple Instruction,, Multiple Data Stream- MIMD Fondamentalmente, due classi di architetture MIMD: Sistemi a memoria condivisa (shared memory): le diverse CPU condividono un unico spazio di indirizzamento della memoria, eseguono processi diversi in modo concorrente, si scambiano informazione attraverso I dati scritti/letti in memoria. Sistemi a scambio di messaggio (message-passing): le varie unità sono dotate ognuna di un proprio spazio di indirizzamento (e di una propria memoria locale), comunicano attraverso una rete di interconnessione scambiandosi messaggi (che consentono scambio di dati, sincronizzazione fra i processi etc.)
26 MIMD shared memory: schema di principio CPU 1 CPU 2 CPU k Cache 1 Cache 2 Cache k interconnessione Memoria
27 Problemi: SMP: organizzazione reale Il bus diventa un collo di bottiglia al crescere del numero delle CPU si passa a reti di interconnessione più complesse; Ogni CPU ha la/le sua/e cache per rendere il sistema più veloce occorre garantire la coerenza non solo fra cache e RAM, ma anche fra le diverse immagini contenute nelle varie cache; Una memoria monolitica con una sola porta di accesso diventa un collo di bottiglia uso di memorie a più porte (soluzione poco scalabile) oppure organizzazione della memoria in moduli memoria logicamente condivisa ma fisicamente distribuita
28 SMP: organizzazione reale Oggi, le architetture ad alte prestazioni su chip appartengono a questa classe ( Chip Multi Processors CMP): v. architetture dual-core, quad-core Sun Niagara (8 core CPU e relative cache su un unico chip); Il parallelismo di esecuzione fra le diverse CPU e quello fra flussi di programma (thread) diversi estratti da uno stesso programma o anche appartenenti a programmi diversi; Tendenza attuale: ridurre la complessità della singola CPU (quindi ridurre l ILP estratto da un singolo flusso di istruzioni) a favore del numero di CPU sul chip (quindi a favore del parallelismo fra thread - TLP)
29 SMP: organizzazione reale Vantaggi: si ottengono prestazioni più elevate e si bilancia meglio il consumo di potenza (eventuali CPU non attive possono essere messe in sonno ); Problema: per ottenere prestazioni elevate in modo sostenuto occorre bilanciare bene il carico sulle diverse CPU occorre che il programma sia progettato in modo da essere eseguito su un sistema parallelo! Parallel programming: un settore aperto
Come aumentare le prestazioni Cenni alle architetture parallele
Politecnico di Milano Come aumentare le prestazioni Cenni alle architetture parallele Mariagiovanna Sami La necessità di architetture con prestazioni più elevate Per particolari applicazioni (alcune di
DettagliClassificazione delle Architetture Parallele
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Classificazione delle Architetture Parallele Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Architetture parallele
DettagliCLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
DettagliSISD - Single Instruction Single Data. MISD- Multiple Instructions Single Data. SIMD Single Instruction Multiple Data. Architetture di processori
Classificazione di Flynn Architetture di processori SISD - Single Instruction Single Data Le istruzioni sono eseguite sequenzialmente su un solo insieme di dati Le macchine sequenziali comuni appartengono
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliTrend di sviluppo delle pipeline
Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@.unimi.it Università degli Studi di Milano Patterson 4.10, 4.11 1/36 Sommario Superpipeline
DettagliArchitetture "low power": tendenze e sfide per la ricerca
Architetture "low power": tendenze e sfide per la ricerca Mariagiovanna Sami, Direttore Scientifico ALARI - USI 1 7/31/2008 Indice 1. La visione tradizionale 2. La sfida dei consumi: il power wall 3. Tecnologia,
DettagliLa macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema
La macchina di Von Neumann rchite(ura di un calcolatore us di sistema Collegamento Unità di Elaborazione (CPU) Memoria Centrale (MM) Esecuzione istruzioni Memoria di lavoro Interfaccia Periferica P 1 Interfaccia
DettagliPipeline nel Mondo Reale
Pipeline nel Mondo Reale Luca Abeni May 26, 2016 Pipeline Ideali... Abbiamo visto come fare il bucato eseguire un istruzione macchina usando un pipeline... Pipeline a 5 stadi: Fetch Decode Exec Memory
DettagliIntroduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono
Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo Riferimenti q Questo materiale deriva dalle slide del prof. Lanzi per il corso di Informatica B, A.A. 2009/2010 q Il materiale presente in
DettagliComponenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
DettagliIntroduzione al Many/Multi-core Computing
Introduzione al Many/Multi-core Computing Sistemi Operativi e reti 6 giugno 2011 Parte I Architettura Classificazione fra architetture Flynn s taxonomy SISD Single instruction on Single Data- (es. architetture
DettagliINCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE (parte seconda) I PROCESSORI SUPERSCALARI I PROCESSORI VLIW
1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE (parte seconda) I PROCESSORI SUPERSCALARI I PROCESSORI VLIW 2 I PROCESSORI SUPERSCALARI PREMESSA 3 Nelle architetture scalari e pipelined date diverse classi
DettagliIl Processore: l unità di controllo
Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di
DettagliIl processore Pentium
Caratteristiche principali (I) Architettura interna a 32 bit Address bus a 32 bit: si possono indirizzare fino a 4 GB di memoria fisica Data bus a 64 bit (si tratta in pratica di 2 data bus a 32 bit in
DettagliSistemi a processori multipli
Sistemi a processori multipli Sommario Classificazione e concetti di base Sistemi multi-processore Sistemi multi-computer (cluster) Sistemi distribuiti Obiettivo comune Risolvere problemi di dimensioni
DettagliCPU pipeline 4: le CPU moderne
Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16
DettagliINCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE
1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR
DettagliArchitetture di Calcolo Avanzate per Sistemi Embedded
MASTER IN SISTEMI EMBEDDED PER L INTERNET OF THINGS Architetture di Calcolo Avanzate per Sistemi Embedded Docente: Francesca Palumbo UNISS - Università degli Studi di Sassari PolComIng Gruppo di Ingegneria
DettagliArchitettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliIBM Academic Initiative
IBM Academic Initiative Architettura dei Sistemi Centrali (1 di 3) Sapienza- Università di Roma - Dipartimento Informatica 2010-2011 Obiettivi del Capitolo 1 Definire la Struttura del Sistema Centrale
DettagliAumentare il parallelismo a livello di istruzione (2)
Processori multiple-issue issue Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Nei processori multiple-issue vengono lanciate più istruzioni
DettagliIntroduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono
Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo Riferimenti Questo materiale deriva dalle slide del prof. Lanzi per il corso di Informatica B, A.A. 2009/2010 Il materiale presente in queste
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione
DettagliLa gerarchia di memorie (2)
La gerarchia di memorie (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Migliorare le prestazioni delle cache Consideriamo la formula del tempo medio di accesso in memoria (AMAT) AMAT = hit
DettagliParte IV Architettura della CPU Central Processing Unit
Parte IV Architettura della CPU Central Processing Unit IV.1 Struttura della CPU All interno di un processore si identificano in genere due parti principali: l unità di controllo e il data path (percorso
DettagliCompilatori e Livelli di Compilazione
Compilatori e Livelli di Compilazione Il compilatore Il programmatore ha a disposizione un ampia scelta di compilatori sviluppati per diversi sistemi operativi quali Linux/Unix, Windows, Macintosh. Oltre
DettagliEvoluzione dei Sistemi. Prof. Giuseppe Pirlo Dipartimento di Informatica Università degli Studi di Bari
Evoluzione dei Sistemi Prof. Giuseppe Pirlo Dipartimento di Informatica Università degli Studi di Bari Languages, Levels, Virtual Machines A multilevel machine Contemporary Multilevel Machines A six-level
DettagliIl Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliModulo 1: Le I.C.T. UD 1.4c: Il Processore
Modulo 1: Le I.C.T. : Il Processore Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno IL MICROPROCESSORE
DettagliUD 1.4c: Il Processore IL MICROPROCESSORE
Modulo 1: Le I.C.T. : Il Processore IL MICROPROCESSORE Prof. Alberto Postiglione Curtin, 3.8-3.9 Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli
DettagliIl calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
DettagliLa CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2
La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri
DettagliAumentare il parallelismo a livello di istruzione (1)
Parallelismo Il parallelismo consente di migliorare le prestazioni grazie all esecuzione simultanea di più istruzioni Aumentare il parallelismo a livello di istruzione (1) Architetture Avanzate dei Calcolatori
DettagliUniversità degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del
Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del 24.02.2016 Cognome e nome: Matricola: 1. [7] Data la CPU N. 1, specificare il contenuto di tutte le linee (dati e controllo).
DettagliPipeline Problemi 1. Pipeline Problemi 2
Problemi 1 Vari fenomeni pregiudicano il raggiungimento del massimo di parallelismo teorico (stallo) Sbilanciamento delle fasi Durata diversa per fase e per istruzione Problemi strutturali La sovrapposizione
DettagliCompilatori e Livelli di Compilazione
Compilatori e Livelli di Compilazione Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Il compilatore Il programmatore ha a disposizione un ampia scelta di compilatori sviluppati per diversi
DettagliParte IV. Architettura della CPU Central Processing Unit
Parte IV Architettura della CPU Central Processing Unit 25/01/2010 Informatica Ingegneria Medica - Prof. Gregorio Cosentino 1 IV.1 Struttura della CPU All interno di un processore si identificano in genere
DettagliCALCOLATORI ELETTRONICI Lezione n. Arch_Par 3
CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3 ARRAY PROCESSORS. ARCHITETTURE A PARALLELISMO MASSIVO ESEMPI In questa lezione vengono presentati alcuni esempi di architetture a parallelismo massivo. Si
DettagliHARDWARE 1.4a: (Processore)
HARDWARE 1.4a: (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Sciuto, Buonanno, Mari, Introduzione ai sistemi informatici, Mc Graw Hill Questi lucidi
DettagliEsercitazione su Instruction Level Parallelism
Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a
DettagliParte IV. Architettura della CPU Central Processing Unit
Parte IV Architettura della CPU Central Processing Unit 12/11/2008 Fondamenti Informatica 2 - Prof. Gregorio Cosentino 1 IV.1 Struttura della CPU All interno di un processore si identificano in genere
DettagliLez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2
Lez. 4 L hardware 1 Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli pasquale.demichele@unina.it
DettagliArchitettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
DettagliParte VIII. Architetture Parallele
Parte VIII Architetture Parallele VIII.1 Motivazioni Limite di prestazioni delle architetture sequenziali: velocità di propagazione dei segnali, la luce percorre 30 cm in un nsec! Migliore rapporto costo/prestazioni
DettagliCALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini
CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO A cura di Tania Caprini 1 CALCOLO SERIALE: esecuzione di istruzioni in sequenza CALCOLO PARALLELO: EVOLUZIONE DEL CALCOLO SERIALE elaborazione di un istruzione
DettagliSistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP
Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:
DettagliIntroduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP
Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:
DettagliArchitettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliArchitettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
DettagliArchitetture della memoria
Architetture della memoria Un elemento determinante per disegnare una applicazione parallela e' l architettura della memoria della macchina che abbiamo a disposizione. Rispetto all architettura della memoria
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato
DettagliRichiami sull architettura del processore MIPS a 32 bit
Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC
DettagliI multi processori. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano
I multi processori Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Patterson, sezione 1.5, 1.6, 2.17, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6,
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di
DettagliINCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE
1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR
DettagliMacchine Programmabili
Macchine di Calcolo Programmabili Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA 2003-2004 Macchine Programmabili Systems -on-programmable Chip Systems -on-chip Reconfigurable Computing APPLICAZIONE
DettagliI THREAD O PROCESSI LEGGERI
I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò
DettagliLezione 15. L elaboratore Elettronico
Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente
DettagliArchitettura dei calcolatori
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore
DettagliIntroduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
DettagliSISD - Single Instruction Single Data. MISD- Multiple Instructions Single Data. SIMD Single Instruction Multiple Data. Architetture di processori
Classificazione di Flynn Architetture di processori SISD - Single Instruction Single Data Le istruzioni sono eseguite sequenzialmente su un solo insieme di dati Le macchine sequenziali comuni appartengono
DettagliEsercitazione su Instruction Level Parallelism Salvatore Orlando
Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a
DettagliBlocchi di più parole
Blocchi di più parole Per trarre vantaggio dalla località spaziale non conviene avere blocchi di una sola parola ma blocchi di più parole che occupano nella memoria principale posizioni vicine. Esempio:
DettagliProgrammi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA rof IER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Calcolo parallelo e sistemi multiprocessore 2000 ier Luca Montessoro (si veda la nota di copyright
DettagliMicroelettronica Corso introduttivo di progettazione di sistemi embedded
Microelettronica Corso introduttivo di progettazione di sistemi embedded Elementi per il progetto di un microprocessore prof. Stefano Salvatori A.A. 2016/2017 Eccetto dove diversamente specificato, i contenuti
DettagliCicli di clock e istruzioni
Cicli di clock e istruzioni Numero di cicli di clock differenti per istruzioni differenti Le moltiplicazioni impiegano più tempo delle addizioni Operazioni in virgola mobile impiegano più tempo delle operazioni
DettagliLa memoria principale
La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce
DettagliTecniche di parallelismo, processori RISC
Testo di riferimento: [Congiu] 9.1-9.3 (pg. 253 264) Tecniche di parallelismo, processori RISC 09.a Pipelining Altre tecniche di parallelismo Processori superscalari Caratteristiche dei processori RISC
DettagliInstruction Level Parallelism Salvatore Orlando
Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni
DettagliInstruction Level Parallelism
Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni
DettagliArchitettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?
Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3 Cos'è un computer? E' un dispositivo in grado di Elaborare
DettagliARCHITETTURE DEI CALCOLATORI Introduzione. Mariagiovanna Sami
ARCHITETTURE DEI CALCOLATORI Introduzione Mariagiovanna Sami 1 Sistemi digitali: sessant anni anni di evoluzione Il PC che si compera oggi per 500 dollari è più potente, più veloce, dotato di maggiore
DettagliMicroprocessori. F.Campi, A.Romani, F.Thei. Elettronica dei Sistemi Digitali LA AA MACCHINE PROGRAMMABILI - 1
Microprocessori F.Campi, A.Romani, F.Thei Elettronica dei Sistemi Digitali LA AA 2009-2010 MACCHINE PROGRAMMABILI - 1 Systems-on-Programmable Chip (SOPC) Systems-on-Chip (SOC) Reconfigurable Computing
DettagliMicroelettronica Corso introduttivo di progettazione di sistemi embedded
Microelettronica Corso introduttivo di progettazione di sistemi embedded Elementi per il progetto di un microprocessore prof. Stefano Salvatori A.A. 2015/2016 Eccetto dove diversamente specificato, i contenuti
DettagliDEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di
CORSO BASE DI TECNICO RIPARATORE HARDWARE CPU Docente: Dott. Ing. Antonio Pagano DEFINIZIONE L'unità di elaborazione centrale o CPU è una tipologia di processore digitale general purpose la quale si contraddistingue
DettagliMIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie
MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni
DettagliDIREZIONI FUTURE... 2 Introduzione... 2 Tassonomia dei calcolatori secondo Flynn... 2 Calcolatori SIMD... 3 Calcolatori MISD... 5 Calcolatori MIMD...
Appunti di Calcolatori Elettronici Capitolo 10 Parallelismo nei calcolatori DIREZIOI FUTURE... 2 Introduzione... 2 Tassonomia dei calcolatori secondo Flynn... 2 Calcolatori SIMD... 3 Calcolatori MISD...
DettagliINGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo
INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione Processori
DettagliArchitettura di un elaboratore
Architettura di un elaboratore Ciclo fondamentale della macchina di Von Neumann Uno sguardo ai PC Oltre Von Neumann? Corso di Informatica 2007 3 - Architettura di un Elaboratore 1 La macchina di Von Neumann
DettagliMacchina di von Neumann. Architetture parallele. Cenni storici
Architetture parallele Macchina di von Neumann Modello di calcolo: macchina di von Neumann. Control unit Arithmetic logic unit Input Output Limite alle prestazione ottenibili: un unica operazione in esecuzione
DettagliL insieme delle istruzioni (6)
L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso
DettagliUniversità degli Studi di Padova
Università degli Studi di Padova Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina di Laurea Triennale TECNICHE DI PARALLELISMO NELL HARDWARE Laureando: Filippo Longo Relatore: Sergio
DettagliArchitettura dei Calcolatori elettronici
Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore
DettagliARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!
ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore
DettagliIntroduzione alle architetture parallele
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione alle architetture parallele Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Parallelismo Il parallelismo
DettagliIn realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad
Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline
DettagliArchitettura dei calcolatori
Architettura dei calcolatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Architettura dei calcolatori 2 Cos'è un computer?
DettagliPrefazione Unit`a di misura xiii La memoria cache
Indice Prefazione Unità di misura xi xiii 1 La memoria cache 1 1.1 Tempo di accesso........................... 1 1.1.1 Funzionamento........................ 2 1.2 Organizzazione............................
DettagliStruttura hw del computer
Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l esecuzione dei programmi 1 Struttura hw del computer Il nucleo di un computer è costituito da 3 principali componenti:
DettagliInstruction Level Parallelism (ILP) Dinamico (prima parte)
Instruction Level Parallelism (ILP) Dinamico (prima parte) Introduzione all ILP Dipendenze e alee sui dati e sui nomi Scheduling dinamico della CPU Branch prediction Speculazione hardware Multiple issue
DettagliElementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
DettagliPRESTAZIONI. senza e con memoria cache
PRESTAZIONI del processore MIPS pipeline senza e con memoria cache Prestazioni del processore GENERICO (P&H pp 29 31) Definizioni dei parametri di prestazione fondamentali del processore: sia P una prova,
DettagliArchitettura dei calcolatori I parte Introduzione, CPU
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori
DettagliIndirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)
Ciclo esecutivo delle istruzioni: Fetch/Execute Lo avete visto nel corso di Introduzione alle Architetture degli Elaboratori Stallings, Capitolo 3 Ne vediamo una versione revisionata Indirettezza Per recuperare
DettagliHardware. Sommario. Architettura dei computer
Hardware Da leggere: Cap.4-4.1 Sawyer, Williams (testo A) I parte Sommario Quali sono le principali componenti del sistema (analisi funzionale dell'architettura)? Come funzionano il microprocessore e la
DettagliInstruction Level Parallelism (ILP) Dinamico (prima parte)
Instruction Level Parallelism (ILP) Dinamico (prima parte) Introduzione all ILP Dipendenze e alee sui dati e sui nomi Scheduling dinamico della CPU Branch prediction Speculazione hardware Multiple issue
DettagliHardware. I parte. Sommario
Hardware Da leggere: Cap.4-4.1 Sawyer, Williams (testo A) I parte Sommario Quali sono le principali componenti del sistema (analisi funzionale dell'architettura)? Come funzionano il microprocessore e la
Dettagli