Tecniche di parallelismo, processori RISC
|
|
- Giulia Farina
- 8 anni fa
- Visualizzazioni
Transcript
1 Testo di riferimento: [Congiu] (pg ) Tecniche di parallelismo, processori RISC 09.a Pipelining Altre tecniche di parallelismo Processori superscalari Caratteristiche dei processori RISC Esempi di processori RISC Fasi per elaborazione di un istruzione IF (Instruction Fetch) Lettura dell'istruzione da memoria, incremento PC ID (Instruction Decode) Decodifica istruzione e prelievo operandi da registri EX (Execution) Esecuzione dell'istruzione MEM (Memory) Accesso in memoria (scrittura o lettura, solo per certe istruzioni WB (Write Buffer) Scrittura del risultato nel registro opportuno (register file) 1
2 Pipelining Se le fasi sono eseguite da sezioni indipendenti di hardware, possono essere tutte contemporaneamente attive (su istruzioni diverse) 2 transitorio Dopo il transitorio: istruzione completata ad ogni stadio Hardware in più Nuovi registri fra ogni stadio del pipeline per memorizzare i risultati parziali di ogni ciclo. 3
3 Evoluzione 4 Pipelining: esempio numerico 5 Se le 4 fasi sono eseguite da 4 sezioni indipendenti di hardware, possono essere tutte 4 contemporaneamente attive (su istruzioni diverse): Da T 3 in poi viene completata una istruzione ogni 20 ns.
4 Pipelining: vantaggi Il tempo richiesto per l esecuzione di un programma di N istruzioni con la tecnica del pipelining descritta nella figura precedente è pari a: 6 T E = (N - 1) ns Senza pipeline il tempo necessario sarebbe: T E = 80 N ns Per N abbastanza grande, il pipeline riduce il tempo di esecuzione di un fattore 4. Pipelining: fattore di speed-up Fattore di speedup S K : indica quanto più veloce l uso di un pipeline rende l esecuzione di un programma (ovvero di quanto viene ridotto il tempo di esecuzione), rispetto al caso in cui il pipeline sia assente: T K = tempo di esecuz. di N istruzioni con pipeline di k fasi, T 1 = tempo di esecuz. di N istruzioni senza pipeline; fattore di speedup S K : S K = T 1 /T K = (NkT ) / [kt + (N-1)T ] = Nk / (k+n-1 ) k = numero di fasi del pipeline, T = tempo di esecuzione di una fase. Per N grande, S K tende ad essere uguale a k. quando k è grande (> 8) il processore si dice superpipelined. 7
5 SuperPipeline Incremento della lunghezza del pipeline per aumentare la velocità di esecuzione del singolo stadio (riduzione t k ) Se lo stadio ALU ha una durata superiore rispetto agli altri moduli, considero stadi ALU separati per ridurre il tempo sprecato dagli stadi più brevi È necessaria una unità di controllo più complicata per gestire il pipeline e gli inceppamenti 8 Intel Pentium 4 - superpipeline con 20 stadi Inceppamento del pipeline Il fattore di speedup S k è un valore teorico raggiunto solo se il pipeline opera, a regime, avviando sempre, ad ogni periodo del clock, una nuova istruzione (e completandone una): in realtà il pipeline può incepparsi (subire un pipeline stall ) per problemi dovuti a: accessi alla memoria (cache miss), conflitti dei dati (data hazard), conflitti di salto (branch hazard); in conseguenza a questi stall, il fattore di speedup si riduce. 9
6 Cache miss Le fasi di fetch e di accesso a operandi/risultati hanno una durata pari alle altre fasi (un periodo di clock), solo se gli accessi alla memoria si risolvono nella cache (cache hit). In caso di cache miss, l operazione può richiedere 2 o 3 periodi di clock; di conseguenza il pipeline si inceppa (subisce uno stall ) e l esecuzione delle istruzioni viene ritardata, come indicato nel seguente diagramma temporale: 10 Data hazard Data hazard (conflitto dei dati): si verifica quando gli operandi di una istruzione sono i risultati dell istruzione precedente; in tal caso l esecuzione dell istruzione non può procedere e l esecuzione subisce un ritardo (pipeline stall) (di 2 periodi di clock nell esempio di figura): 11
7 Rimedi contro i data hazard I data hazard possono essere evitati dal compilatore, con un riordino delle istruzioni (per eseguire altre istruzioni prima di quella cui servono i dati); le conseguenze negative di un data hazard possono essere ridotte dal processore, con la tecnica del by-pass (detta anche data-forwarding): i risultati prodotti dall ALU vengono inoltrati allo stadio successivo del pipeline, in contemporanea alla (e senza attendere la) loro memorizzazione: 12 Branch hazard Branch hazard (conflitto dei salti): si verifica nelle istruzioni di salto condizionato, quando (prima di conoscere se il salto verrà effettuato) il pipeline viene alimentato con le istruzioni della diramazione che non sarà intrapresa; in tal caso è necessario: svuotare il pipeline, annullare gli effetti delle istruzioni che ne hanno percorso indebitamente alcune fasi, ri-alimentare il pipeline con le istruzioni dell altra diramazione. 13
8 Gestione dei branch hazard Per gestire correttamente un branch hazard si può: ritardare il pipeline (stall): il pipeline non viene alimentato fino a che, valutati gli effetti dell istruzione precedente, (dai quali spesso dipende la condizione di salto), la diramazione da intraprendere risulta nota; così l esecuzione subisce sempre un ritardo; cercare di evitare questo ritardo usando tecniche di: delayed branch (salto ritardato), branch prediction (predizione del salto). 14 Delayed branch 15 La tecnica prevede che il processore esegua comunque una ulteriore istruzione (successiva a quella di salto) prima di intraprendere il salto; il compilatore può allora riordinare le istruzioni in modo da collocarne una (da eseguire comunque) dopo ogni istruzione di salto; se non riesce a trovare una istruzione di questo tipo, il compilatore inserisce, dopo l istruzione di salto, una NOP (comporta un ritardo, ma evita di avviare l esecuzione di istruzioni che non devono essere eseguite).
9 Branch prediction La predizione dei salti (branch prediction) può essere: statica: stabilita dal compilatore: ad es. i salti all indietro nelle iterazioni vengono (quasi) sempre intrapresi; dinamica: stabilita dal processore sulla base della storia precedente (stimando che la prossima volta venga intrapresa la diramazione presa più volte in passato); il processore utilizza a questo scopo una cache veloce contenente (su CAM) gli indirizzi delle istruzioni di salto il PC viene confrontato con gli indirizzi nella CAM; è comunemente usata una di queste due organizzazioni: BHT (Branch History Table), in cui ciascun elemento indica solo se il salto va intrapreso oppure no; BTB (Branch Target Buffer), che contiene anche, per ciascun elemento, direttamente l indirizzo a cui saltare. 16 Altre tecniche di parallelismo 17 Superscalarità Speculative execution Out of order execution VLIW (Very Long Instruction Word) Register renaming SIMD (Single Instruction Multiple Data)
10 Superscalarità Le tecniche superscalari, che negli anni 60 erano usate solo nei supercomputer (> 1M$) sono ora impiegate anche nei desktop, grazie al numero elevato di transistor/chip reso possibile dalla tecnologia di integrazione. Il termine superscalare vuole indicare che questa tecnica consente di andar oltre l aumento di velocità reso possibile dalla riduzione di scala (delle dimensioni dei componenti) nella tecnologia di integrazione dei microprocessori. 18 Processori superscalari Un processore superscalare usa più di un pipeline, in modo da poter avviare l esecuzione di più istruzioni in parallelo, quando le circostanze lo consentono. 19 Un processore superscalare con N pipeline è potenzialmente N volte più veloce del suo equivalente con pipeline singola. La potenzialità di una CPU superscalare è sfruttata appieno solo se il codice che viene eseguito è caratterizzato da un alto grado di parallelismo a livello di istruzioni (Instruction Level Parallelism - ILP); altrimenti le prestazioni non differiscono molto da quelle di una CPU tradizionale.
11 Prestazioni dei processori superscalari In funzione delle caratteristiche del codice che viene eseguito e del numero di pipeline, l incremento di velocità ottenuto con la superscalarità, rispetto ad una CPU con pipeline singolo, ha valori comunemente compresi tra il 50% e il 500%; per ottenere buone prestazioni è molto importante individuare le possibilità di ILP nel codice che deve essere eseguito; nei processori superscalari attuali, una porzione significativa dell hardware (area di silicio) viene usata a questo scopo. 20 Esempi storici di processori superscalari 21 Intel Pentium-I: 2-way superscalar (1993). Sun SuperSPARC/Viking: 3-way superscalar (1993). Intel Pentium-II/III: 5-way superscalar ( ). AMD Athlon/K7: 9-way superscalar (1999).
12 Speculative execution Il termine esecuzione speculativa (speculative execution) è talvolta usato per indicare il fatto che il processore esegue contemporaneamente, su 2 pipeline, entrambi i flussi di istruzioni delle due diramazioni di un salto condizionato, scartandone uno quando il valore della condizione di salto è divenuto noto; l esecuzione speculativa comporta un notevole impiego di risorse hardware, dal momento che vengono eseguiti due flussi di istruzioni per raccogliere i risultati di uno solo; l Intel Pentium Pro/II/III è un esempio storico di processore con speculative execution. 22 Out of order execution 23 Per le istruzioni tra le quali non vi sono dipendenze, non è necessario che l esecuzione avvenga nello stesso ordine con cui esse si trovano in memoria; può essere conveniente alterare questo ordine (out of order execution) in modo da inserire l esecuzione di queste istruzioni, prive di dipendenze, tra quelle che presentano dipendenze, al fine di evitare inceppamenti (stall ) dei pipeline; l esecuzione fuori ordine consente di sfruttare maggiormente i pipeline di un processore superscalare; per evitare incongruenze, i risultati prodotti dalle istruzioni sono solitamente scritti (in memoria o nei registri) secondo l ordine originario delle istruzioni.
13 Very Long Instruction Word (VLIW) 24 La tecnologia VLIW, utilizzata in alcuni processori superscalari, prevede che istruzioni (indipendenti) la cui esecuzione può essere avviata contemporaneamente vengano raggruppate in una unica istruzione; ciascuna istruzione VLIW specifica pertanto più operazioni da eseguire su distinti operandi da parte di più pipeline; è responsabilità del compilatore individuare le possibilità di ILP (parallelismo a livello di istruzioni) e raggruppare in un unica VLIW le istruzioni indipendenti; rispetto ai processori superscalari privi di VLIW, nei quali la individuazione e lo sfruttamento dell ILP è compito dell HW, quelli con VLIW hanno un hardware più semplice; le prestazioni di un processore VLIW dipendono fortemente dalla qualità del compilatore. CPU tradizionale vs. VLIW 25
14 Emulazione di CISC con VLIW La tecnologia VLIW viene anche usata per emulare con processori RISC le istruzioni di vecchi processori CISC o RISC (backward compatibility); per ottenere ciò si usano metodi di traduzione dinamica, con i quali le istruzioni CISC o RISC vengono tradotte in una singola istruzione VLIW, via software, durante l esecuzione; per velocizzare la traduzione, i processori VLIW mantengono in una cache veloce le traduzioni da CISC/RISC a VLIW; ovviamente la hit rate di questa translation cache èmolto importante; l IA-64 Itanium dell Intel e il Crusoe della Transmeta sono due esempi di processori con tecnologia VLIW; (chiamata EPIC - Explicit Parallel Instruction Computing da Intel e code morphing da Transmeta). 26 Register renaming Nell esecuzione fuori ordine delle istruzioni, può accadere che istruzioni indipendenti non possano essere eseguite in parallelo perché usano o modificano lo stesso registro. Per sfruttare la possibilità di parallelismo anche in questi casi, il processore può essere dotato di una gran quantità di registri cui vengono assegnati i nomi dinamicamente, per cui a due istruzioni che usano lo stesso registro il processore può assegnare due registri fisici diversi (sistemando le cose alla fine). 27
15 Single Instruction Multiple Data (SIMD) Una istruzione opera le medesime elaborazioni, simultaneamente, su un insieme di dati. Questa possibilità è utile negli algoritmi di elaborazione di immagini (le stesse trasformazioni operate su tutti i pixel), nell elaborazione dei segnali e, in generale, nelle applicazioni multimediali. 28 Esempio: istruzioni MMX (Multi Media Extension) e SSE (Streaming SIMD Extension) nelle CPU x86. CISC vs. RISC CISC: Complex Instruction Set Computer RISC: Reduced Instruction Set Computer Per un programma di N I istruzioni, eseguito da un processore che impiega in media C I periodi di clock (T C ) per eseguire una istruzione, il tempo di esecuzione T E è: T E = N I C I T C 29 Entrambe le architetture CISC e RISC perseguono l obiettivo di ridurre i tempi di esecuzione dei programmi: CISC cercando di ridurre N I (poche istruzioni potenti, la cui esecuzione può richiedere molti periodi di clock C I ); RISC cercando di ridurre C I (molte istruzioni semplici, eseguite velocemente, in pochi periodi di clock C I ).
16 CISC La facilità con cui in un processore microprogrammato si possono definire nuove istruzioni, ha portato a processori dotati di istruzioni complesse, tali da eseguire, con un unica istruzione, più operazioni che altrimenti richiederebbero più istruzioni di macchina (allo scopo di ridurre N I ); il risparmio di tempo ottenuto evitando le operazioni di fetch di queste ultime può essere decisamente più consistente del tempo richiesto per gli accessi, ancorché numerosi, alla memoria di controllo; quest ultima affermazione era vera fintanto che i tempi di accesso alla RAM erano molto più lunghi di quelli per l accesso alla memoria di controllo. 30 RISC Istruzioni con struttura il più possibile uniforme, tale da garantire che il loro prelievo e la loro esecuzione avvengano in un numero costante e piccolo di periodi di clock (lo scopo è di ridurre C I ); istruzioni progettate per sfruttare bene i pipeline; niente microcodice (responsabile della varietà nel numero di cicli di clock necessari per eseguire istruzioni diverse); il 20% delle istruzioni CISC svolge l 80% del lavoro (regola dell 80/20): l obiettivo dei RISC è di essere capaci di eseguire solo questo 20% ma velocemente (le operazioni eseguite dal rimanente 80% vengono realizzate tramite combinazioni delle prime) 31
17 Caratteristiche dei processori RISC Pochissime forme di indirizzamento utilizzate (spesso solo quella diretta di registro e auto-relativa ): le forme di indirizzamento sofisticate richiedono word di estensione, comportano istruzioni di diversa lunghezza e un numero variabile di cicli di clock per la loro esecuzione; accessi in memoria consentiti solo a pochissime istruzioni (load e store); un numero di registri elevato (per diminuire la necessità di accedere alla memoria); le istruzioni che accedono alla memoria richiedono un periodo di clock e una fase di pipeline in più: i rallentamenti che ne derivano sono drasticamente ridotti dalla presenza di memoria cache veloce ed efficiente; anche l ordinamento delle istruzioni (prodotto dai compilatori) è tale da evitare fenomeni di data hazard. Confronto RISC vs/ CISC 33
18 Vantaggi dell impostazione RISC 34 Il progresso tecnologico nella velocità delle RAM e nelle memorie cache ha ridotto i tempi di accesso alla memoria centrale e ha reso meno significativo il vantaggio della microprogrammazione; il progresso nelle tecniche di parallelismo dell hardware ha portato ad usare meccanismi (pipeline, etc) che producono risultati migliori se le istruzioni hanno tutte la stessa lunghezza e vengono eseguite nello stesso numero di periodi di clock; il progresso nelle tecniche di ottimizzazione dei compilatori ha portato a produrre codice che sfrutta bene le risorse del processore che consentono il parallelismo (registri, cache, pipeline, ). CISC vs. RISC Nonostante tutti i vantaggi dei RISC, il numero di processori CISC esistenti al mondo è almeno 1000 volte maggiore di quello dei processori RISC; gli embedded computer (negli elettrodomestici, nelle automobili, nelle fotocopiatrici, etc.) hanno quasi sempre un chip CISC al loro interno: la potenza e le prestazioni dei processori RISC semplicemente non servono in quelle applicazioni; anche tra i calcolatori il numero di macchine con istruzioni CISC è almeno 20 volte superiore a quello delle macchine con istruzioni RISC. 35
19 x86: CISC o RISC? 36 L architettura x86 èdi tipo CISC, ma all interno dei moderni processori x86 le unità di calcolo eseguono istruzioni RISC (che consentono di sfruttare le possibilità di parallelismo presenti nell hardware); le istruzioni di macchina CISC del programma da eseguire vengono convertite dall hardware in sequenze di istruzioni RISC (chiamate μops dall Intel e R-ops dall AMD); sono queste ultime ad essere effettivamente inviate ai pipeline. Esempi di processori CISC 37 CISC: Digital: VAX, PDP-11, Intel: x86 (fino al Pentium), Motorola: CISC con conversione interna a RISC: Intel: Pentium II/III/4, Core 2, Atom, Core i7 AMD: Athlon, K6, K8.
20 Esempi di processori RISC RISC: desktop e server: Silicon Graphics: MIPS, Sun Microsystems: SPARC, Digital: Alpha, Hewlett Packard: PA-RISC, IBM e Motorola: PowerPC, Intel: i860, i960. embedded: Advanced RISC Machines: ARM, Hitachi: SuperH, Mitsubishi: MR, Silicon Graphics: MIPS Fine 09.a Le architetture RISC
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
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
DettagliCalcolatori 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
DettagliL unità di elaborazione pipeline L unità Pipelining
Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare
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
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
DettagliUniversità 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,
DettagliC. 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
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...
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
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
DettagliCPU. 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
DettagliHazard sul controllo. Sommario
Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione
DettagliLa 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.
DettagliLaboratorio 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:
DettagliQuinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.
Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere
DettagliI 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)?
DettagliDMA 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
DettagliValutazione 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
DettagliEsempio: aggiungere j
Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi
DettagliPiù 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
DettagliDIMENSIONI E PRESTAZIONI
DIMENSIONI E PRESTAZIONI Prof. Enrico Terrone A. S: 2008/09 Le unità di misura Le due unità di misura fondamentali dell hardware sono: i Byte per le dimensioni della memoria gli Hertz (Hz) per le prestazioni
DettagliArchitettura 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
DettagliLezione 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
DettagliPrestazioni 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 prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell
DettagliCALCOLATORI 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)
DettagliArchitettura 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
Dettagliintroduzione I MICROCONTROLLORI
introduzione I MICROCONTROLLORI Definizione Un microcontrollore è un dispositivo elettronico programmabile Può svolgere autonomamente diverse funzioni in base al programma in esso implementato Non è la
DettagliStruttura 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
DettagliCalcolatori 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
DettagliArchitetture CISC e RISC. Misura della potenza di calcolo. Cos'è la potenza di calcolo. Prestazioni della CPU. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.
DettagliIntroduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliSchedulazione dinamica. Elettronica dei Calcolatori 1
Schedulazione dinamica Elettronica dei Calcolatori 1 Schedulazione dinamica delle operazioni Impossibile risolvere tutti i conflitti staticamente I possibile predire tutti i salti condizionati HW fa durante
DettagliLa memoria - generalità
Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire
DettagliGestione della memoria. Paginazione Segmentazione Segmentazione con paginazione
Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base
DettagliCalcolatori 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
DettagliDispensa 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.
DettagliFondamenti 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
DettagliCALCOLATORI 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
DettagliCon 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
DettagliCoordinazione Distribuita
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliEsame 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
Dettagli1.4a: Hardware (Processore)
1.4a: Hardware (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 23 nov 2011
DettagliSommario. 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
DettagliFondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliOrigini e caratteristiche dei calcolatori elettronici
Origini e caratteristiche dei calcolatori elettronici Lunedì, 09 ottobre 2006 Supercomputer, mainframe 1 Server, workstation, desktop, notebook, palmare Un po di storia 1642 Biagio Pascal 1671 Leibniz
DettagliScopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
DettagliMemoria 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
DettagliL Unità Centrale di Elaborazione
L Unità Centrale di Elaborazione ed il Microprocessore Prof. Vincenzo Auletta 1 L Unità Centrale di Elaborazione L Unità Centrale di Elaborazione (Central Processing Unit) è il cuore di computer e notebook
DettagliUn 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
DettagliCALCOLATORI ELETTRONICI 29 giugno 2010
CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e
DettagliValutazione delle Prestazioni
Valutazione delle Prestazioni Sia data una macchina X, definiamo: 1 PrestazioneX = --------------------------- Tempo di esecuzione X La prestazione aumenta con il diminuire del tempo di esecuzione (e diminuisce
DettagliLinguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
DettagliPronto 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
DettagliArchitetture CISC e RISC
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.
DettagliCalcolatori Elettronici
Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di von Neumann rchitettura dei calcolatori: definizioni Evoluzione dell architettura rchitettura della
DettagliCapitolo 11 La memoria cache
Capitolo 11 La memoria cache Gerarchie di Memoria Dati sperimentali mostrano che i riferimenti alla memoria godono della proprietà di località spaziale e temporale. Località spaziale: tendenza a generare
DettagliArchitettura di un calcolatore: introduzione
Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie
DettagliI 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.
DettagliIntroduzione alle tecnologie informatiche. Strumenti mentali per il futuro
Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle
DettagliSistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliSistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliIl 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
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
Dettagli1.4b: Hardware. (Memoria Centrale)
1.4b: Hardware (Memoria Centrale) Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.11, 3.13 IV ediz.: cap. 2.8, 2.9 Questi lucidi Memoria Centrale Un
DettagliInformatica - 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
DettagliSISTEMI 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
DettagliGestione 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
DettagliAlgoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
DettagliL architettura di riferimento
Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliIL 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
DettagliCorso di Informatica
CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 izzazione della memoria principale ria principale è organizzata come
DettagliSistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1
GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno
DettagliARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4
ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio
DettagliCALCOLATORI 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
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
DettagliInformatica 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,..).
DettagliLaboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,
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
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del
DettagliTesti di Esercizi e Quesiti 1
Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica
DettagliIl 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.
DettagliSoftware 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
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata
Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura
DettagliLa 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
DettagliGerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale
Memorie Caratteristiche principali Tecnologie di memoria Locazione: processore, interna (principale), esterna (secondaria) Capacità: dimensione parola, numero di parole Unità di trasferimento: parola,
DettagliAll interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM
Il computer è un apparecchio elettronico che riceve dati di ingresso (input), li memorizza e gli elabora e fornisce in uscita i risultati (output). Il computer è quindi un sistema per elaborare informazioni
DettagliL unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti
Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune
DettagliContenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore
Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliIl 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
DettagliStrutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
DettagliIntroduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...
Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...
DettagliL 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
DettagliScuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA
Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA Il termine informatica riassume due parole, informazione automatica, e si occupa dei sistemi per l elaborazione
DettagliDAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.
DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come Scopo principale dell informatica è risolvere problemi con i calcolatori. Non tutti i problemi sono risolvibili con i calcolatori. Si può dimostrato
Dettaglie-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
DettagliSistema 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
Dettagli