Introduzione alle architetture parallele
|
|
|
- Taddeo Carnevale
- 10 anni fa
- Visualizzazioni
Transcript
1 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 consente di migliorare le prestazioni grazie all esecuzione simultanea di più operazioni Vari tipi di parallelismo Parallelismo funzionale Deriva dalla logica di soluzione di un problema Parallelismo dei dati Deriva dalle strutture dati che consentono l esecuzione simultanea su più elementi nella soluzione di un problema Problemi di calcolo scientifico, elaborazione di immagini che possono anche essere sfruttati contemporaneamente SD - Valeria Cardellini, A.A. 2009/10 1
2 Parallelismo (2) Il parallelismo funzionale può essere visto a diversi livelli di astrazione, corrispondenti a diverse soluzioni architetturali: 1. Instruction-level parallelism (ILP): a grana fine! A livello di istruzioni 2. Loop-level parallelism: a grana fine A livello di ciclo Sfruttamento del parallelismo esistente tra le iterazioni di un ciclo for (i=1; i<=1000; i=i+1) x[i] = x[i] + y[i] 3. Procedure-level parallelism: a grana intermedia 4. Program-level parallelism: a grana grossa SD - Valeria Cardellini, A.A. 2009/10 2 Parallelismo a livello di istruzione (ILP) Più istruzioni (a livello macchina) dello stesso programma vengono eseguite contemporaneamente nello stesso processore Anche detto parallelismo intrinseco E stato l obiettivo principale dei progettisti di processori a partire dalla metà degli anni 80 e per circa 20 anni Due tecniche fondamentali per l esecuzione parallela di istruzioni Pipelining Replicazione dei componenti interni del calcolatore in modo che sia possibile lanciare l esecuzione di più istruzioni in ogni stadio della pipeline che possono coesistere nella stessa architettura di un calcolatore Processori multiple-issue (ad emissione multipla), in grado di lanciare ed eseguire più istruzioni in parallelo per ciclo di clock (CPI < 1, CPI = Clock cycle Per Instruction) SD - Valeria Cardellini, A.A. 2009/10 3
3 Pipelining Con il pipelining si ottiene la sovrapposizione temporale dell esecuzione di istruzioni Obiettivo: ridurre il tempo totale necessario al completamento di una sequenza di istruzioni Tempo di CPU richiesto per l esecuzione di un programma Tempo di CPU = Cicli di CPU per il programma x Periodo di clock Tempo di CPU = Numero di istruzioni x Cicli per istruzione x Periodo di clock In modo più sintetico: Tempo di CPU = IC x CPI x T clock dove T clock = 1/f clock Perché funziona il pipelining? Non tutte le istruzioni dipendono dai risultati prodotti dalle istruzioni immediatamente precedenti E quindi possibile eseguire istruzioni completamente o parzialmente in parallelo SD - Valeria Cardellini, A.A. 2009/10 4 ILP: processori multiple issue Due tipi di processori multiple-issue: dinamici e statici Processori multiple-issue dinamici (superscalari) Il numero di istruzioni lanciate per ciclo di clock è variabile Tipicamente, scheduling dinamico delle istruzioni eseguito dall hardware Le istruzioni possono essere eseguite fuori ordine Esempio: Intel Pentium 4 Processori multiple-issue statici Il numero di istruzioni lanciate per ciclo di clock è tipicamente fisso Il compilatore identifica le istruzioni eseguibili in parallelo Istruzioni assemblate in pacchetti, che sono poi decodificati ed eseguiti dal processore Il compilatore gestisce le criticità Esempio: Intel Itanium SD - Valeria Cardellini, A.A. 2009/10 5
4 ILP e programmatore ILP: il parallelismo è intrinseco (o implicito) Il programmatore concepisce ancora il programma che ha scritto per risolvere un certo problema come una sequenza di istruzioni che verranno eseguite una dopo l altra dal processore Non sa (o non è tenuto a sapere) come queste istruzioni verranno manipolate dal compilatore (multiple-issue statico) o una volta entrate nel processore (multiple-issue dinamico) SD - Valeria Cardellini, A.A. 2009/10 6 Oltre l ILPl I processori multiple-issue supportano il parallelismo a livello di istruzione (ILP) Ma incrementare ulteriormente le prestazioni del singolo processore era diventato sempre più difficile A causa di: power wall, memory wall e ILP wall Il gap tra legge di Moore e prestazioni Legge di Moore: il numero di transistor su un chip raddoppia ogni 18 mesi SD - Valeria Cardellini, A.A. 2009/10 7
5 Oltre l ILP: l perché? ILP wall Power wall Memory wall SD - Valeria Cardellini, A.A. 2009/10 8 Power wall Negli ultimi 50 anni l aumento di velocità dei transistor ha prodotto un aumento della frequenza di clock Dal 2005 si sono cominciati a vedere i limiti di questo approccio (problemi tecnologici e di consumo di potenza) L equazione del consumo di potenza P è: P =!CV dd2 f + V dd I st + V dd I leak Il consumo di potenza è funzione della potenza statica (che cresce proporzionalmente al numero di transistor) e della potenza dinamica (che è proporzionale al prodotto tra numero di transistor che commutano e frequenza di commutazione) SD - Valeria Cardellini, A.A. 2009/10 9
6 Oltre l ILP: l come? Quale è l approccio alternativo? Parallelismo esplicito In particolare, parallelismo a livello di thread (Thread Level Parallelism o TLP) Parallelismo esplicito in varie forme: Multithreading Architetture multi-core Molti processori (più semplici) sullo stesso chip Architetture parallele Più processori collegati tra loro in un sistema complesso Le architetture multi-core rappresentano una particolare tipologia di architettura parallela SD - Valeria Cardellini, A.A. 2009/10 10 Limiti del parallelismo esplicito Molti problemi hanno una soluzione che presenta un elevata quantità di parallelismo nativo (embarassingly parallel) Tuttavia (tranne che in casi molto particolari) l incremento di prestazioni (lo speed-up) ottenibile usando un architettura parallela è meno che lineare rispetto al numero di processori disponibili Perché? C è una parte di lavoro che non può essere svolta in parallelo SD - Valeria Cardellini, A.A. 2009/10 11
7 Limiti del parallelismo esplicito (2) In modo formale: la legge di Amdhal Frazione migliorato : la frazione del tempo di esecuzione che può trarre vantaggio dal miglioramento Speedup migliorato : il miglioramento che si ottiene nel modo di esecuzione migliorato, ossia quanto verrebbe eseguito più velocemente il programma se il modo di esecuzione migliorato potesse essere utilizzato per l intero programma Nel caso di architetture parallele: (1-Frazione migliorato ) è la frazione del programma che non può essere parallelizzata Speedup migliorato =N, dove N è il numero di nodi paralleli SD - Valeria Cardellini, A.A. 2009/10 12 Limiti del parallelismo esplicito (3) In pratica, i problemi principali del parallelismo esplicito sono due: uno software e uno hardware 1. La quantità limitata di parallelismo presente nei programmi, o per lo meno la quantità di parallelismo che si è in grado di esplicitare, e quindi di sfruttare Lo studio di algoritmi paralleli è un campo di ricerca molto attivo, proprio per le sue potenzialità 2. Gli elevati costi delle comunicazioni tra processori e memoria, che possono aumentare enormemente il costo di un cache miss o di una sincronizzazione tra thread che girano su processori diversi SD - Valeria Cardellini, A.A. 2009/10 13
8 Multithreading Esaminiamo la prima alternativa (o aggiunta) al parallelismo a livello di istruzioni Un processore con multithreading (MT) non è, in senso stretto, una architettura parallela Perché il multithreading è realizzato con un unico processore Tuttavia, porta il programmatore a concepire e sviluppare le sue applicazioni come formate da un insieme di thread che possono girare virtualmente in parallelo SD - Valeria Cardellini, A.A. 2009/10 14 Multithreading: l ideal Il processore esegue contemporaneamente più thread Un thread ha le proprie istruzioni ed i propri dati Un thread può rappresentare un processo che è parte di un programma parallelo oppure un programma indipendente Come nasce l idea del multithreading? Dalla constatazione che anche un datapath progettato per sfruttare grandi quantità di ILP vedrà spesso le proprie unità funzionali inattive a causa di stalli o dipendenze nel codice Con il mutithreading molteplici thread condividono le unità funzionali di un singolo processore sovrapponendosi nell esecuzione Il processore deve mantenere una copia distinta dello stato di ciascun thread (registri, PC, tabella delle pagine) Occorre anche consentire il passaggio da un thread all altro (thread switching) in modo veloce SD - Valeria Cardellini, A.A. 2009/10 15
9 Approcci per il multithreading Multithreading a grana fine (fine-grained multithreading) Il processore esegue un istruzione per ogni thread Multithreading a grana grossa (coarse-grained multithreading) Il processore cerca di eseguire più istruzioni per thread, passando ad un altro thread in occasioni di stalli lunghi Multithreading simultaneo (simultaneous multithreading, SMT) Raffinamento del multithreading a grana fine Anche noto come hyperthreading nei processori Intel SD - Valeria Cardellini, A.A. 2009/10 16 Multithreading a grana fine L alternanza tra i vari thread avviene ad ogni istruzione, indipendentemente dal fatto che ad es. l istruzione del thread in esecuzione abbia generato un cache miss Lo scheduling tra le istruzioni dei vari thread avviene secondo una politica round-robin, evitando quelli in situazione di stallo Se vi è un numero sufficiente di thread, è possibile che ve ne sia sempre almeno uno non in stallo ed il processore può essere mantenuto sempre attivo Svantaggio principale: rallenta l esecuzione di ciascun singolo thread Altro svantaggio: ad ogni ciclo di clock si paga l overhead del thread switching (overhead molto limitato, ma comunque non nullo) Usato in SUN Niagara SD - Valeria Cardellini, A.A. 2009/10 17
10 Multithreading a grana grossa L alternanza tra thread avviene solo quando il thread in esecuzione genera uno stallo (di costo elevato) A questo punto viene effettuato lo switch ad un altro thread Quando anche questo thread genererà uno stallo, verrà schedulato un terzo thread (o eventualmente si tornerà al primo) e così via Per ammortizzare i costi di inizializzazione della pipeline, conviene solo per stalli di costo elevato (ad es. un miss in una cache L2) SD - Valeria Cardellini, A.A. 2009/10 18 Multithreading simultaneo (SMT) Il parallelismo a livello di istruzioni e quello a livello di thread vengono sfruttati contemporaneamente, con l emissione di istruzioni di thread diversi durante un singolo ciclo di clock SMT = ILP + TLP Idea di base: i processori multiple-issue hanno più unità funzionali di quante siano mediamente sfruttabili dal singolo thread in esecuzione; sfruttando il register renaming e lo scheduling dinamico, istruzioni appartenenti a thread diversi possono essere eseguite insieme SD - Valeria Cardellini, A.A. 2009/10 19
11 Confronto tra approcci per multithreading Superscalar Fine-Grained Coarse-Grained Multiprocessing Simultaneous Multithreading Time (processor cycle) Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Idle slot SD - Valeria Cardellini, A.A. 2009/10 20 Confronto tra approcci per multithreading (2) Nei processori senza MT, il multiple issue può venire vanificato dalla mancanza di sufficiente parallelismo tra le istruzioni di ogni thread, e/o da un lungo stallo che lascia il processore idle Nel coarse-grained MT, gli stalli lunghi sono mascherati dal passaggio ad un altro thread, ma la mancanza di parallelismo tra le istruzioni di ciascun thread limita il grado di utilizzo delle risorse del processore (ad es. non possono essere usati tutti gli slot di issue disponibili) Anche nel fine-grained MT, la mancanza di ILP in ciascun thread limita l utilizzo delle risorse del processore Nell SMT le istruzioni appartenenti a thread diversi sono (quasi) certamente indipendenti: se possiamo lanciarle assieme aumentiamo il grado di utilizzo delle risorse del processore SD - Valeria Cardellini, A.A. 2009/10 21
12 Multithreading nei processori Intel: nel passaggio ai processori dual core (microarchitettura Core) Intel aveva abbandonato l hyperthreading; tuttavia, lo ha reintrodotto a partire dalla fine del 2008 (microarchitettura Nehalem) Altri processori commerciali che implementano il multithreading sono: IBM Power 5 e Power 6: implementano l SMT con due thread contemporaneamente attivi SUN Niagara: supporta il fine-grained multithreading SD - Valeria Cardellini, A.A. 2009/10 22 Processor Intel Pentium 4 Extreme AMD Athlon 64 FX-57 IBM Power5 (1 CPU only) Intel Itanium 2 Prestazioni ed efficienza in processori singoli multiple-issue (tratto da HP-CA4ed) Micro architecture Speculative dynamically scheduled; deeply pipelined; SMT Speculative dynamically scheduled Speculative dynamically scheduled; SMT; 2 CPU cores/chip Statically scheduled VLIW-style Fetch / Issue / Execute 3/3/4 3/3/4 8/4/8 6/5/11 Functional Units 7 int. 1 FP 6 int. 3 FP 6 int. 2 FP 9 int. 2 FP Clock Rate (GHz) 592 M, 423 mm 2 SD - Valeria Cardellini, A.A. 2009/ Transistors, Die size 125 M, 122 mm M, 115 mm M, 300 mm 2 (est.) Power 115 W 104 W 80 W (est.) 130 W
13 Prestazioni sui benchmark SPECint2000 Itanium 2 Pentium 4 A MD A thlon 64 Pow er SPEC Ratio gzip vpr gcc mcf crafty parser eon perlbmk gap vortex bzip2 twolf SD - Valeria Cardellini, A.A. 2009/10 24 Prestazioni sui benchmark SPECfp Itanium 2 Pentium 4 AMD Athlon 64 Power SPEC Ratio w upw ise sw im mgrid applu mesa galgel art equake facerec ammp lucas fma3d sixtrack apsi SD - Valeria Cardellini, A.A. 2009/10 25
14 Misure di efficienza Itanium 2 Pentium 4 AMD Athlon 64 POWER 5 Rank I t a n i u m 2 P e n t I u m 4 A t h l o n P o w e r 5 20 Int/Trans FP/Trans Int/area FP/area Int/Watt FP/Watt SPECInt / M Transistors SPECFP / M Transistors SPECInt / mm^2 SPECFP / mm^2 SPECInt / Watt SPECFP / Watt SD - Valeria Cardellini, A.A. 2009/10 26 Dal confronto emerge che Nessuno dei processori multipli-issue esaminati (lo stato dell arte nel 2005) fornisce un vantaggio decisivo Lo sfruttamento dell ILP non può scalare facilmente ed efficientemente molto più in là Si è raggiunto il punto in cui, tentando di sfruttare maggiori quantità di ILP, si ottengono svantaggi superiori ai vantaggi Anche il multithreading non basta Avvento dei processori multi-core (più core su un unico chip) con eventuale multithreading per core SD - Valeria Cardellini, A.A. 2009/10 27
I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
La 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
Aumentare 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
CALCOLO 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
CPU. Maurizio Palesi
CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore
Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput
Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
Architettura 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
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
La memoria centrale (RAM)
La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.
Calcolatori Elettronici
Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con
Più processori uguale più velocità?
Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In
Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore
Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni
Processi e Thread. Scheduling (Schedulazione)
Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L
I componenti di un Sistema di elaborazione. CPU (central process unit)
I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.
Un sistema operativo è un insieme di programmi che consentono ad un utente di
INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli
Approccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
CPU 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
Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai
Informatica di base Hardware: CPU SCHEDA MADRE HARDWARE DI UN PC 2 Hardware (parti fisiche) Sono le parti fisiche di un Personal Computer (processore, scheda madre, tastiera, mouse, monitor, memorie,..).
Automazione Industriale (scheduling+mms) scheduling+mms. [email protected]
Automazione Industriale (scheduling+mms) scheduling+mms [email protected] Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
Sistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
Low Power Scheduling per Sistemi Real Time
Low Power Scheduling per Sistemi Real Time Corso di Sistemi Real Time A.A. 2007-08 Ing. Giordano Kaczynski Sistemi Real Time 1 Introduzione Il consumo di energia nei sistemi portatili negli ultimi anni
Tecniche per il progetto di sistemi elettronici tolleranti ai guasti
Tecniche per il progetto di sistemi elettronici tolleranti ai guasti Fulvio Corno, Maurizio Rebaudengo, Matteo Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Le tecniche di
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella [email protected] Prestazioni Si valutano in maniera diversa a seconda dell
CALCOLATORI ELETTRONICI 31 marzo 2015
CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di
FONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
Lezione n.19 Processori RISC e CISC
Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni
Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi
1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti
Corso di Architettura degli Elaboratori
Corso di Architettura degli Elaboratori Valutazione delle prestazioni DOCENTE Luigi Palopoli AA. 2011/2012 Valutare le Prestazioni La complessita di un moderno calcolatore rende la valutazione delle prestazioni
Speedup. Si definisce anche lo Speedup relativo in cui, invece di usare T 1 si usa T p (1).
Speedup Vediamo come e' possibile caratterizzare e studiare le performance di un algoritmo parallelo: S n = T 1 T p n Dove T 1 e' il tempo impegato dal miglior algoritmo seriale conosciuto, mentre T p
IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.
IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. Negli ultimi anni, il concetto di risparmio energetico sta diventando di fondamentale
Aumentare il parallelismo a livello di istruzione (1)
Aumentare il parallelismo a livello di istruzione (1) Architetture Avanzate dei Calcolatori Valeria Cardellini Parallelismo Il parallelismo consente di migliorare le prestazioni grazie all esecuzione simultanea
Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)
Memoria Virtuale Anche la memoria principale ha una dimensione limitata. Possiamo pensare di superare questo limite utilizzando memorie secondarie (essenzialmente dischi) e vedendo la memoria principale
Struttura del calcolatore
Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione
Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore
Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore 5.2 Silberschatz, Galvin and Gagne 2005 1 Massimizzare lʼutilizzo della
Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
INFORMATICA. Il Sistema Operativo. di Roberta Molinari
INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:
Esame di INFORMATICA
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello
Laboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:
La Gestione delle risorse Renato Agati
Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File
CPU 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/17
CALCOLATORI ELETTRONICI 29 giugno 2011
CALCOLATORI ELETTRONICI 29 giugno 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di una PLA la funzione combinatoria (a 3 ingressi e due uscite)
Architettura di un sistema operativo
Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi
Architettura dei calcolatori I parte Introduzione, CPU
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica C.I. 1 Informatica ed Elementi di Statistica 2 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Architettura dei calcolatori
e-dva - eni-depth Velocity Analysis
Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa
Sistema operativo: Gestione dei processi
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Sistema operativo: Gestione dei processi La presente dispensa e da utilizzarsi
Dimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
Sistemi operativi e reti A.A. 2013-14. Lezione 2
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 2 Giovedì 10-10-2013 1 Sistemi a partizione di tempo (time-sharing) I
Gestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base
Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi
Il memory manager. Gestione della memoria centrale
Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg [email protected] Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1
CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU
Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi
Introduzione. 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...
Calcolatori Elettronici. La memoria gerarchica La memoria virtuale
Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e
Pronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
LabVIEW offre un ambiente di programmazione grafica
03 COME OTTIMIZZARE IN LABVIEW APPLICAZIONI DI TEST AUTOMATIZZATI PER PROCESSORI MULTICORE David Hall Vediamo come delle applicazioni scritte in LabVIEW possono essere ottimizzate sfruttando tecniche di
Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18
Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing
Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
Le prestazioni di un sistema informatico
Le prestazioni di un sistema informatico - Dal punto di vista dell'utente finale, un calcolatore è più veloce di un altro se esegue lo stesso compito in un tempo inferiore. - Il direttore di un centro
La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo
Calcolatori Elettronici La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo La pipeline CRITICITÀ SUI DATI Calcolatori Elettronici - Pipeline (2) - Slide 2 L. Tarantino
Architettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
Dispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DMA Accesso Diretto alla Memoria
Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati
Gestione del processore e dei processi
Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore
CALCOLATORI ELETTRONICI A cura di Luca Orrù
Lezione 1 Obiettivi del corso Il corso si propone di descrivere i principi generali delle architetture di calcolo (collegamento tra l hardware e il software). Sommario 1. Tecniche di descrizione (necessarie
Linux nel calcolo distribuito
openmosix Linux nel calcolo distribuito Dino Del Favero, Micky Del Favero [email protected], [email protected] BLUG - Belluno Linux User Group Linux Day 2004 - Belluno 27 novembre openmosix p. 1 Cos è
Breve storia del calcolo automatico
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Approfondimenti 01 Breve storia del calcolo automatico Marzo 2010 L architettura del calcolatore 1 Approfondimenti: Storia del calcolo automatico
MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
Il Sistema Operativo (1)
E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale
Linguaggi di programmazione
Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore
Fondamenti di informatica: un po di storia
Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi
Pro e contro delle RNA
Pro e contro delle RNA Pro: - flessibilità: le RNA sono approssimatori universali; - aggiornabilità sequenziale: la stima dei pesi della rete può essere aggiornata man mano che arriva nuova informazione;
SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
Organizzazione della memoria principale Il bus
Corso di Alfabetizzazione Informatica 2001/2002 Organizzazione della memoria principale Il bus Organizzazione della memoria principale La memoria principale è organizzata come un insieme di registri di
Corso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
INFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
Hazard sul controllo. Sommario
Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione [email protected] Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione
L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia
L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza
C. P. U. MEMORIA CENTRALE
C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato
Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.
I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse
Informatica - A.A. 2010/11
Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire
Sistemi Operativi SCHEDULING DELLA CPU
Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling
Il Processore: i registri
Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono
