Prelevare byte spesso è più costoso che prelevare una word, perchè a questa operazione aggiunge il tempo di shift

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Prelevare byte spesso è più costoso che prelevare una word, perchè a questa operazione aggiunge il tempo di shift"

Transcript

1 Parte I La gerarchia di memoria Avere una grande quantità di memoria ad alta velocità, oltre ad essere tecnicamente complesso, porterebbe ad avere costi proibitivi. Si ottengono comunque ottimi risultati costruendo una gerarchia di memoria, cioè combinando piccole memorie veloci (cache) e grandi memorie più lente (memoria principale). La cache verrà quindi usata per contenere i dati usati più di frequente. Nelle architetture moderne, la gerarchia di memoria è composta da diversi livelli. In ordine decrescente di prestazioni e crescente di dimensioni, essi sono: registri, cache primaria (L1), cache secondaria (L2), cache L3 (ancora abbastanza rara), memoria principale (RAM). La cache primaria è spesso divisa in cache istruzioni e cache dati. La gestione dello spostamento dai dati tra cache e momoria principale viene fatta automaticamente dall'hardware, in quanto risulta molto dicile la sua gestione da parte del programmatore. Quando il processore ha bisogno del dato all'indirizzo x, lo cerca prima nella cache. Se non lo trova, si ha un cache miss, e il processore deve recuperarlo dalla memoria principale e copiarlo in cache prima di usarlo (in modo tale da avere un cache hit successivamente). Ciò comporterà tuttavia lo stallo del processore per alcuni cicli mentre attende il trasferimento dei dati. Conseguenze della gerarchia di memoria Prelevare byte spesso è più costoso che prelevare una word, perchè a questa operazione aggiunge il tempo di shift Memorizzare byte è generalmente più costoso rispetto a memorizzare un'intera parola, perchè gli altri byte devono essere prelevati dalla memoria per completare la word e poi risalvati assieme al byte che si voleva salvare. Località temporale accedere ad una parola usata di recente porterà generalmente a un cache hit Località spaziale accedere ad una word nello stesso blocco di una acceduta di recente porterà generalmente a un cache miss Conitti di cache se si accede di frequente a due indirizzi con la stessa chiave (a e a + i 2 w+l+m ), si avrà un notevole peggioramento di prestazioni, perchè essi si toglieranno vicendevolmente dalla cache ogni volta, portando a numerosi cache miss. 1 Struttura delle memorie cache Esistono diversi tipi di memoria cache, che si distinguono per come sono implemementate internamente e, quindi, per come deniscono le politiche di sostituzione da applicare quando una parola di memoria deve sostituirne un'altra. Sono qui presentate solo le strutture che possono essere sfruttate dagli algoritmi descritti in seguito. 1.1 Cache a mappatura diretta (direct-mapped) È costituita da 2 m blocchi (righe di cache) che contengono ognuno 2 l parole (word) di 2 w byte. In totale, contiene quindi 2 m+l+w byte. Generalmente una parola è di 4 byte e un blocco di 32 byte. Ogni blocco è la copia di dati contenuti nella memoria principale ed è identicato da un tag e da una chiave che permettono di individuare l'indirizzo di provenienza del blocco di cache. In particolare, nelle cache direct-mapped, la chiave indica la riga della tabella della cache in cui il dato dovrà essere scritto (non è possibile eettuare una scelta: ad ogni indirizzo di memoria corrisponde sempre la stesa riga) e il tag (che corrisponde alla prima parte dell'indirizzo) indica da quale parte della memoria principale proviene il blocco attualmente presente in tale riga della cache. Quando si vuole sapere se un indirizzo è presente in cache, si legge la sua chiave e si verica che il tag presente nella corrispondente riga di cache sia uguale al tag estratto dall'indirizzo. Se i tag sono uguali si ha un cache hit, altrimenti un cache miss. 1

2 1.1.1 Cache set-associative Sono una variante delle cache direct-mapped che permette di avere più di un blocco in corrispondenza dello stesso valore di chiave. È un po' più complesso ottimizzare i compilatori perchè le sfruttino al meglio rispetto a quanto non lo sia per le cache direct-mapped. 2 Policy di accesso in scrittura Per la lettura dalla cache ci si comporta come visto nel paragrafo precedente; per quanto riguarda la scrittura, a seconda che si abbia un miss o un hit, ci si può comportare in modi diversi. 2.1 Hit Indica che il blocco x che si deve scrivere è già presente nella cache. La condizione è facile ed eciente da gestire, con uno dei due modi possibili: write-through si aggiorna immediatamente sia la cache sia la memoria principale write-back si aggiorna solo la cache, aggiornando la memoria principale in seguito, al momento in cui il blocco starà per essere rimosso dalla cache per far posto ad un altro. Qualunque sia la scelta eettuata, l'eetto sulla compilazione ed ottimizzazione dei programmi è minimo. 2.2 Miss La tipologia di miss implementata inuenza il modo in cui i programmi dovrebbero essere ottimizzati. Tra le varie tipologie, utilizzate da macchine dierenti, abbiamo: Fetch-on-write la parola x è scritta sulla cache. Le altre parole del blocco (che al momento contengono ancora i dati ivi presenti in precedenza, che possiamo considerare garbage) vengono sovrascritte prelevandole dalla memoria principale, in modo di avere un intero blocco valido. Nel frattempo, il processore è bloccato (stalled). Write-validate La parola x viene scritta in cache. Le altre parole dello stesso blocco sono marcate (tramite un apposito bit) come invalide. Non si preleva nulla dalla memoria, quindi il processore non viene bloccato. Write-around La cache viene saltata e la parola x viene scritta direttamente sulla memoria principale. Il processore non viene bloccato perchè non è necessario attendere una risposta dalla memoria, tuttavia si avrà un cache miss al prossimo accesso a tale indirizzo (che, secondo il principio di località temporale dei dati, molto probabilmente avverà presto). 3 Allineamento dei blocchi di cache Un blocco di cache ha generalemente una dimensione pari a circa 8 word (circa corrispondenti alla dimensione media di un oggetto). Considerando che se si accede ad un campo di un oggetto è probabile che si dovrà presto accedere anche ad un altro, nel caso in cui un oggetto si trovi ad essere disposto su due diversi blocchi di cache è probabile che si avranno più cache miss del necessario. Per ridurre al minimo questa condizione, si possono seguire due regole: 1. Allocare gli oggetti sequenzialmente, ma in modo tale che se un oggetto non può essere contenuto interamente nel blocco corrente, si lascia vuota una parte di esso e si dispone l'oggetto all'inizio del blocco successivo 2. Allocare in un area di memoria tutti gli oggetti di dimensione 2, in un'altra tutti quelli di dimensione 4 e così via (a multipli e sottomultipli della dimensione del blocco di cache). In questo modo si elimina il problema del block-crossing senza sprechi di memoria. Nel caso in cui ci sia un insieme di oggetti a cui si accede di frequente, l'uso di queste tecniche può ridurre la loro occupazione da un valore superiore alla dimensione della cache a uno gestibile. Questa tecnica può esere applicata sia dal compilatore per gli la gestione degli oggetti statici allocati sullo stack (tramite l'uso di aposite istruzioni assembly di allineamento che istruiscano il linker), sia a runtime dall'allocatore di memoria per i dati dinamici contenuti nello heap. 2

3 3.1 Allineamento nella cache istruzioni Anche la cache istruzioni può beneciare di un allineamento dei blocchi, soprattutto per quanto riguarda i basic block eseguiti più di frequente, che non dovrebbero essere spezzati più del dovuto. Inoltre, basic block eseguiti raramente non dovrebbero condividere un blocco di cache con basic block eseguiti di frequente. Per eseguire l'ordinamento dei basic block si può usare il trace scheduling. Nel determinare un trace lungo un'istruzione di branch, è importante seguire l'arco eseguito con maggiore probabilità, come determinato dalla branch prediction. Inoltre, è importante l'allineamento perchè alcune macchine eseguono il fetch delle istruzioni a multipli di 2, quindi se si esegue un branch ad una istruzione che non si trova in tale posizione, si ha una perdita di prestazioni. 4 Prefetching Quando un istruzione deve recuperare dalla memoria principale dei dati in seguito ad un cache miss, si ha un'attesa di una decina di cicli, in cui il processore non può lavorare. Quando la necessità di un dato è prevedibile con molti cicli di anticipo, il compilatore può inserire un'istruzione di prefetch, cioè un suggerimento all'hardware anchè cominci a portare in cache i dati di un dato indirizzo x. La prefetch non è un obbligo, infatti può essere ignorata se l'hardware rileva che porterebbe al vericarsi di condizioni eccezionali, come ad esempio un page fault. Il fallimento di una prefetch non ha eetti negativi sul programma se non quello di avere un cache miss al successivo accesso ad x. Un eetto simile alla prefetch si può ottenere con le tecniche di pipelining, posticipando l'uso di un dato no alla sua eettiva disponibilità (come eettivamente fanno i processori che riordinano dinamicamente le istruzioni). Ciò porta tuttavia all'incremento del numero e degli intervalli di vita dei temporary. Se questa situazione è portata all'estremo (ad esempio da programmi per il calcolo matriciale, che richiedono grandi quantità di dati su cui lavorare tramite loop) è possibile che le capacità di gestione delle istruzioni tramite pipeline vengano eccedute e che non si riesca ad eseguire correttamente il programma. In breve, il prefetching si può applicare quando sono valide tutte le seguenti condizioni: la macchina ha un'istruzione di prefetch o di load non bloccaante la macchina non riordina dinamicamente le istruzioni oppure il buer di riordino è più piccolo della latenza di cache che desideriamo nascondere i dati in questione sono troppo grandi per essere contenuti completamente in cache o comunque ci si aspetta che non vi siano già presenti. 4.1 Varianti delle istruzioni Non in tutte le architetture è presente un'istruzione di prefetch. Molte tuttavia possono simularla utilizzando (dove disponibile) un'istruzione di load non bloccante: r 1 M[r 2 ]. Una tale istruzione non porta allo stallo anche in caso di cache miss, a meno che r 1 non viene utilizzata da qualche altra istruzione. Quindi basta usare questa istruzione senza accedere poi a r 1 per far sì che il cache miss porti allo riempimento della cache, in modo tale che alla successiva istruzione di lettura (potenzialmente bloccante) il dato sia già presente in cache e pronto all'uso. Nel caso in cui si usi questa tecnica, non è necessario usare la load non bloccante su tutte le word: basta una word per ogni blocco di cache per assicurare il caricamento del blocco completo. Inoltre, è preferibile non far sovrapporre i miss causati da più load non bloccanti in contemporanea, quindi si introduce un intervallo tra esse srotolando alcune volte il loop in cui la load è contenuta (senza però copiare la load stessa) o utilizzando cicli innestati. 4.2 Prefetch per le store Se è necessario eseguire più store all'interno di un loop e sappiamo che dovranno scrivere in un'area dati troppo grande per la cache (ad es, un array) o non acceduta di recente, possiamo fare prefetching per evitare un write miss. Questo è valido soprattutto per la policy fetch-on-write, che porterebbe allo stallo del programma. Parzialmente, si adatta anche a write-around, nel caso in cui si prevede di dover accedere nuovamente alla variabile poco dopo aver eettuato la store. È invece abbastanza inutile per la policy write-validate, in quanto non è necessario eseguire fetch. 3

4 5 Algoritmi di ottimizzazione 5.1 Scambio di loop La cache risulta particolarmente ecace quando si riescono a riutilizzare dei dati contenuti al suo interno. Quando si lavora con dei loop che accedono alla memoria, frequentemente essi accedono a parole adiacenti, che occupano lo stesso blocco di cache. Se il loop più interno riutilizza (almeno in parte) gli stessi valori, ci saranno molti cache hit, a benecio delle prestazioni. Se invece è un loop più esterno a riutilizzarli, è facile che non possa avere dei cache hit perchè nel frattempo il loop più interno avrà cambiato i contenuti della cache. Si può quindi pensare di scambiare i due loop per avere risultati migliori. Per vedere se ciò è possibile, bisogna analizzare il data-dependency graph. Detta j la variabile di controllo del ciclo più esterno e k quella del ciclo più interno, diciamo che l'iterazione (j, k) dipende dall'iterazione (j, k ) se (j, k ): calcola valori che sono usati da (j, k) (read-after-write) oppure memorizza valori che sono sovrascritti da (j, k) (write-after-write) o legge valori che sono sovrascritti (write-after-read). Se c'è tale dipendenza, non è possibile scambiare i loop. 5.2 Blocking (blocchettatura) La tecnica del blocking riordina un calcolo in modo tale che tutti i sottocalcoli che usano una parte dei dati siano completati prima di passare alla prossima porzione. È utile in casi come la moltiplicazione tra matrici, con molti loop innestati e molti dati coinvolti, quando la cache è troppo piccola per contenere tutti i dati e si rischierebbe di avere un miss ad ogni accesso. Il difetto di questa tecnica è che si basa su un algoritmo di partenza molto preciso: se esso cambia (anche di poco) è molto dicile per il compilatore accorgersi di poter attuare l'ottimizzazione. Blocking lungo tutta la gerarchia È possibile estendere il concetto del blocking all'intera gerarchia di memoria, applicandolo a tutti i livelli disponibili ed eventualmente usando anche parte dei registri come se fossero una cache. In pratica, il calcolo da eseguire viene suddiviso in modo da trattare quantità di dati sempre più piccole (ognuna controllata da un loop), di dimensioni tali per cui ognuna di esse può essere contenuta ad un livello della gerarchia di memoria e quella controllata dal loop al suo interno può essere contenuta nel livello superiore della gerarchia e così via. Unroll and jam Quando si arriva ad applicare il blocking al livello dei registri, bisogna usare il loop unrolling, perchè i registri non possono essere gestiti tramite indici, ma solo ripetendo k volte (con k realisticamente pari a 25) tutto il codice. Spetterà poi all'allocatore dei registri assicurarsi che ad ogni temporary sia assegnato un registro. 5.3 Sostituzione scalare (Scalar replacement) Se un singolo elemento di un array è acceduto molte volte in un loop, esso può essere promosso lungo la gerarchia di memoria dalla cache ad un registro, anche se quasi certamente otterrebbe spesso un cache hit visto l'uso frequente. Per fare ciò è suciente copiare il valore dalla cella dell'array ad un temporary (s A[i, j]) subito prima dell'esecuzione del ciclo che usa ripetutamente tale valore, e sostituire tutti i riferimenti ad A[i, j] con riferimenti ad s. 5.4 Garbage collection Il garbage collector è un gestore della memoria: possiamo quindi scriverlo in modo tale che la organizzi opportunamente per incrementare la località dei riferimenti. Garbage collection generazionale quando si usa un meccanismo di collection generazionale, si dovrebbe fare in modo che la generazione più giovane venga ospitata interamente nella cache di secondo livello (la prima è troppo piccola), cosicchè ogni accesso agli oggetti più usati sia un cache hit e che le operazioni di collection su tale generazione (che sono le più frequenti) debbano fare il minor numero possibile di accessi alla memoria principale. 4

5 Allocazione sequenziale viene usato con il meccanismo di copying collection. È particolarmente facile da gestire per la maggior parte dei moderni buer di scrittura Pochi conitti gli oggetti più usati tendono a essere i più recenti che, in virtù dell'allocazione sequenziale, e ravvicinata, avranno indirizzi di memoria vicini, quindi chiavi diverse nella cache (in caso di cache direct-mapped). Quindi i programmi che sfruttano la garbage collection subiranno meno cache miss. Prefetching per l'allocazione al momento di allocare un nuovo oggetto, ci saranno molti write-miss nella piccola cache di primo livello (a meno di trovarsi su una macchina moderna con policy write-validate). Il problema può essere risolto facendo prefetching dei blocchi prima di averne eettivamente bisogno, in modo di averli poi immediatamente pronti. Raggruppare oggetti correlati se un oggetto x punta ad un oggetto y, è facile che dopo un accesso a x si abbia un accesso a y, quindi è utile avere i due oggetti nello stesso blocco di cache. In un copying collector ciò può essere fatto facilmente con una visita depth-rst del grafo dei riferimenti. Tutte queste tecniche sono facilmente applicabili a copying collection, che sposta gli oggetti. Collector Mark&Sweep sono molto meno adatti alla gestione delle cache. 5

Parte I Scheduling. 1 Scheduling dei blocchi basici. 1.1 Impedire gli stalli della pipeline. 1.2 Attesa nei salti condizionati (branch delay)

Parte I Scheduling. 1 Scheduling dei blocchi basici. 1.1 Impedire gli stalli della pipeline. 1.2 Attesa nei salti condizionati (branch delay) Parte I Scheduling I computer moderni possono eseguire più parti di dierenti istruzioni contemporaneamente. Le istruzioni adiacenti di un singolo programma possono essere decodicate ed eseguite simultaneamente.

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. 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...

Dettagli

La memoria centrale (RAM)

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.

Dettagli

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini La memoria Architetture Avanzate dei Calcolatori Valeria Cardellini Nelle lezioni precedenti { Memoria La gerarchia di memorie Registri Istruzioni, operandi L Cache Blocchi L2 Cache Blocchi Memoria Pagine

Dettagli

MEMORIA GERARCHIE DI MEMORIA

MEMORIA GERARCHIE DI MEMORIA MEMORIA GERARCHIE DI MEMORIA La memoria è divisa in più livelli che sono dal più vicino al più distante al CPU, per tempi di accesso: memoria cache, SRAM, capienza (MB), più veloce (decimi di ns), costosa

Dettagli

Migliorare le prestazioni di processori e memorie

Migliorare le prestazioni di processori e memorie Migliorare le prestazioni di processori e memorie Corso: Architetture degli Elaboratori Docenti: F. Barbanera, G. Bella UNIVERSITA DI CATANIA Dip. di Matematica e Informatica Tipologie dei Miglioramenti

Dettagli

Strutture di Memoria 1

Strutture di Memoria 1 Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione

Dettagli

Architetture Avanzate dei Calcolatori. Valeria Cardellini. Divario delle prestazioni processore- memoria

Architetture Avanzate dei Calcolatori. Valeria Cardellini. Divario delle prestazioni processore- memoria La gerarchig erarchia di memorie e (1) Architetture Avanzate dei Calcolatori Valeria Cardellini Divario delle prestazioni processore- memoria 100.000 Soluzione: memorie cache più piccole e veloci tra processore

Dettagli

Le gerarchie di memoria: memoria cache

Le gerarchie di memoria: memoria cache Le gerarchie di memoria: memoria cache Fino ad ora, si sono considerate le tecniche che consentono di migliorare le prestazioni di un calcolatore modificando le caratteristiche e il modo di funzionamento

Dettagli

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici Uniamo VM e CACHE Physically addressed Ci sono varie alternative architetturali physically addressed virtually addressed virtually indexed Sono quelle piu semplici un dato puo essere in cache solo se e

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

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...

Dettagli

Capitolo 11 La memoria cache

Capitolo 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

Dettagli

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

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

Dettagli

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM Obiettivo Tipi classici di memoria Fornire illimitata memoria veloce Problemi: costo tecnologia Soluzioni: utilizzare diversi tipi di memoria... Static RAM access times are 2-25ns at cost of $100 to $250

Dettagli

La memoria. I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria

La memoria. I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria La memoria I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria La memoria interna Registri interni alla CPU Visibili

Dettagli

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio:

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio: Flops FLOPS e' un'abbreviazione di Floating Point Operations Per Second e indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. (Top500 e il BlueGene) Ad esempio nel caso del

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Gerarchia di memorie: memorie cache Massimiliano Giacomin 1 Tipologie e caratteristiche delle memorie (soprattutto dal punto di vista circuitale e fisico) Altezza:

Dettagli

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS 1 Tecnologia delle BD: perché studiarla? File e indici I DBMS offrono i loro servizi in modo "trasparente": per questo abbiamo potuto finora ignorare molti aspetti realizzativi abbiamo considerato il DBMS

Dettagli

1 Carattere 1 2 Carattere 2 4 Carattere 4 X Carattere diverso da 1, 2, 4. Porta chiusa Porta aperta

1 Carattere 1 2 Carattere 2 4 Carattere 4 X Carattere diverso da 1, 2, 4. Porta chiusa Porta aperta 1. Progettare una macchina a stati finiti (di Moore) che realizza una sistema di accesso a combinazione segreta: soltanto dopo aver premuto in sequenza i tasti: 1 4 4 2, l uscita che comanda l apertura

Dettagli

La memoria - generalità

La 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

Dettagli

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Quinto 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

Dettagli

Aumentare il parallelismo a livello di istruzione (2)

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

Dettagli

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II) SISTEMI OPERATIVI (MODULO DI INFORMATICA II) Realizzazione del file system Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario Realizzazione

Dettagli

Il memory manager. Gestione della memoria centrale

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

Dettagli

CPU pipeline 4: le CPU moderne

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

Dettagli

La gestione della memoria

La gestione della memoria La gestione della memoria Nella gestione della memoria il sistema operativo deve perseguire l'obiettivo di allocare il maggior numero di processi in memoria centrale per aumentare la probabilità che ci

Dettagli

CPU pipeline 4: le CPU moderne

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

Dettagli

Lezione 14. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Lezione 14. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata Lezione 14 Sistemi operativi 9 giugno 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 14.1 Di cosa parliamo in questa lezione? Ottimizzazione degli accessi alla

Dettagli

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

Dettagli

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2004/2005 Calcolatori Elettronici B a.a. 2004/2005 GERARCHIA DI MEMORIE MEMORIA VIRTUALE Massimiliano Giacomin 1 Accedere alla memoria CPU MAR MDR Bus di indirizzo k Bus di dati n Linee di controllo m Memoria Principale

Dettagli

Strutture dati in C e loro traduzione in assembler MIPS 1 Direttive assembler per l'allocazione dei dati Prima di iniziare a trattare il problema dell'allocazione delle varie strutture dati, introduciamo

Dettagli

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. 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,

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

Dettagli

IL PROBLEMA DELLA MEMORIA

IL PROBLEMA DELLA MEMORIA Principi di architetture dei calcolatori: la memoria cache Mariagiovanna Sami IL PROBLEMA DELLA MEMORIA Da sempre, il programmatore desidera una memoria veloce e grande (illimitata ) Il problema: le memorie

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

Calcolatori Elettronici

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

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

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.

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi 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

Dettagli

Controllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione.

Controllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione. C6. REALIZZAZIONE DEL FILE SYSTEM Struttura del file system Un file è analizzabile da diversi punti di vista. Dal punto di vista del sistema è un contenitore di dati collegati tra di loro, mentre dal punto

Dettagli

Le Memorie. Prof. Maurizio Naldi A.A. 2015/16

Le Memorie. Prof. Maurizio Naldi A.A. 2015/16 Le Memorie Prof. Maurizio Naldi A.A. 2015/16 Memorie Memoria Principale (centrale) Si accede direttamente dalla CPU non permanente Memoria Secondaria (di massa) Si accede tramite il sottosistema di input/output

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

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

Dettagli

5. Traduzione degli indirizzi di rete in indirizzi fisici: ARP

5. Traduzione degli indirizzi di rete in indirizzi fisici: ARP 5. Traduzione degli indirizzi di rete in indirizzi fisici: ARP 5.1. Introduzione Due macchine si parlano solo se conoscono l'indirizzo fisico di sottorete Due applicazioni si parlano solo se conoscono

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi 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

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 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

Dettagli

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. 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

Dettagli

Memoria virtuale. Introduzione Paginazione Fault

Memoria virtuale. Introduzione Paginazione Fault Memoria virtuale Introduzione Paginazione Fault Introduzione La memoria di un calcolatore sottende un modello lineare La memoria è un insieme ordinato di celle contigue Dimensione delle celle La dimensione

Dettagli

Sistemi RAID tutti i dati che contiene RAID

Sistemi RAID tutti i dati che contiene RAID Sistemi RAID 1 Sistemi RAID Dei tre elementi fondamentali di un qualsiasi sistema computerizzato: processore, memoria primaria, memoria secondaria, quest ultimo è di gran lunga il più lento. Inoltre, il

Dettagli

Il sistema di elaborazione

Il sistema di elaborazione Il sistema di elaborazione Stefano Brocchi stefano.brocchi@unifi.it Stefano Brocchi Il sistema di elaborazione 1 / 37 Informatica Il termine informatica deriva dalle parole informazione e automatica Stefano

Dettagli

Clocking. Architetture dei Calcolatori (Lettere. Elementi di Memoria. Periodo del Ciclo di Clock. scritti

Clocking. Architetture dei Calcolatori (Lettere. Elementi di Memoria. Periodo del Ciclo di Clock. scritti Clocking Architetture dei Calcolatori (Lettere A-I) Tecnologie per la Memoria e Gerarchie di Memoria Prof. Francesco Lo Presti Il segnale di Clock definisce quando i segnali possono essere letti e quando

Dettagli

Sistemi RAID. Sistemi RAID. Sistemi RAID

Sistemi RAID. Sistemi RAID. Sistemi RAID Sistemi RAID 1 Sistemi RAID Dei tre elementi fondamentali di un qualsiasi sistema computerizzato: processore, memoria primaria, memoria secondaria, quest ultimo è di gran lunga il più lento. Inoltre, il

Dettagli

Sistemi RAID. Sistemi RAID

Sistemi RAID. Sistemi RAID Sistemi RAID 1 Sistemi RAID Dei tre elementi fondamentali di un qualsiasi sistema computerizzato: processore, memoria primaria, memoria secondaria, quest ultimo è di gran lunga il più lento. Inoltre, il

Dettagli

Clickomania con Blockly

Clickomania con Blockly Clickomania con Blockly Violetta Lonati Sommario Clickomania è un solitario, noto anche come Chain Shot! o Same Game. Il campo di gioco è costituito da una parete inizialmente coperta di mattoni, uno per

Dettagli

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale AXO Architettura dei Calcolatori e Sistemi Operativi memoria virtuale concetto di memoria virtuale Separare il concetto di: spazio di indirizzamento di un programma eseguibile e dimensione effettiva della

Dettagli

Gerarchia di memorie

Gerarchia di memorie Gerarchia di memorie Regole base dell'efficienza: - Rendere di massima velocità il caso comune - Piccolo significa (in generale) veloce Nei programmi vi è una significativa presenza di località spaziale

Dettagli

Le memorie. Università degli Studi di Salerno

Le memorie. Università degli Studi di Salerno Le memorie Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 25/26 Le memorie Cosa vorremmo : una memoria

Dettagli

Sistemi Operativi. Principi di ges tione della memoria S wapping Memoria virtuale

Sistemi Operativi. Principi di ges tione della memoria S wapping Memoria virtuale Sistemi Operativi Principi di ges tione della memoria S wapping Memoria virtuale Necessità di gestire la memoria La memoria è una risorsa importante e deve essere gestita attentamente Un programmatore

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

SPECIFICHE E LIMITI DI EXCEL

SPECIFICHE E LIMITI DI EXCEL SPECIFICHE E LIMITI DI EXCEL Un "FOGLIO DI CALCOLO" è un oggetto di un programma per computer costituito da un insieme di celle, organizzate in righe e colonne, atte a memorizzare dati ed effettuare operazioni

Dettagli

Memoria. Sistemi Operativi Giuseppe Prencipe. Tipica Gerarchia di Memoria. Gestione della Memoria. Modelli di gestione della memoria

Memoria. Sistemi Operativi Giuseppe Prencipe. Tipica Gerarchia di Memoria. Gestione della Memoria. Modelli di gestione della memoria Sistemi Operativi Giuseppe Prencipe Gestione della Memoria Memoria La memoria è un ampio vettore di parole, ciascuna con il suo indirizzo La CPU preleva le istruzioni dalla memoria (basandosi sul PC) Una

Dettagli

Dispensa di Informatica I.4

Dispensa di Informatica I.4 LA MEMORIA In ambito informatico la memoria è la parte del computer destinata a conservare informazioni per un certo periodo di tempo. La memorizzazione di informazioni in memoria, e il successivo recupero

Dettagli

Architettura degli elaboratori (A)

Architettura degli elaboratori (A) Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma

Dettagli

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione 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

Dettagli

(1) - - (4) R4 = R7 * R7 (4) (2) (3) 5 - (4) rinviata perché in WAW con (3) 6 (3) e (4) ritirabili ma attendono il completamento di (2) (2) (3) (4)

(1) - - (4) R4 = R7 * R7 (4) (2) (3) 5 - (4) rinviata perché in WAW con (3) 6 (3) e (4) ritirabili ma attendono il completamento di (2) (2) (3) (4) Esercizio 1 (20%) Si assuma di avere una macchina con 10 registri ufficiali (da R0 a R9) e sufficienti registri segreti in grado di avviare 2 istruzioni per ciclo di clock. Tale macchina richiede 2 cicli

Dettagli

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. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi

Dettagli

Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale

Gerarchie 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,

Dettagli

La Memoria Virtuale Ottimizzazione della memoria centrale

La Memoria Virtuale Ottimizzazione della memoria centrale La Memoria Virtuale Ottimizzazione della memoria centrale 1) Introduzione- Gerarchia della memoria Da un punto di vista funzionale, ogni dispositivo di memorizzazione elettronica di informazioni presenta

Dettagli

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

La qualità di una memoria dipende da vari parametri: Modo di accesso: tecnica utilizzata per accedere al dato (casuale, sequenziale)

La qualità di una memoria dipende da vari parametri: Modo di accesso: tecnica utilizzata per accedere al dato (casuale, sequenziale) Tipologie di memoria: Elettroniche Magnetiche Ottiche La qualità di una memoria dipende da vari parametri: Modo di accesso: tecnica utilizzata per accedere al dato (casuale, sequenziale) Tempo di accesso:

Dettagli

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof.

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof. Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa Sistemi Operativi e Reti A.A. 2014/2015 prof. Gianluca Amato Architettura degli elaboratori Architettura Hardware Architettura

Dettagli

Il supporto al Sistema Operativo

Il supporto al Sistema Operativo Il supporto al Sistema Operativo Obiettivi e funzioni del S.O. Il Sistema Operativo è il software che controlla l esecuzione dei programmi e amministra le risorse del sistema. Ha due obiettivi principali:

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

L Architettura di un Calcolatore

L Architettura di un Calcolatore ASTE Information Technology Excellence oad (I.T.E..) L Architettura di un Calcolatore aurizio Palesi Salvatore Serrano aster ITE Informatica di Base aurizio Palesi, Salvatore Serrano 1 Sommario Architettura

Dettagli

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema Introduzione File System Distribuito

Dettagli

File System Distribuiti

File System Distribuiti File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema 20.1 Introduzione File System Distribuito

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

è è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso punto di vista

è è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso punto di vista Introduzione n Che cos è un calcolatore? n Come funziona un calcolatore? è è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso punto di vista è in questo corso, il punto

Dettagli

Lezione n.19 Processori RISC e CISC

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

Dettagli

HEX Bin HEX Bin HEX Bin HEX Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111

HEX Bin HEX Bin HEX Bin HEX Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111 Struttura interna del Sistema Operativo CAP. 7. La gestione della memoria virtuale Il concetto di memoria virtuale Il concetto di memoria virtuale nasce dalla necessità di separare il concetto di spazio

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI 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

Dettagli

L unità di elaborazione pipeline L unità Pipelining

L 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

Dettagli

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 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

Dettagli

Varie tipologie di memoria

Varie tipologie di memoria Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti

Dettagli

Tecniche di parallelismo, processori RISC

Tecniche 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

Dettagli

Appunti di Architetture Avanzate dei Calcolatori

Appunti di Architetture Avanzate dei Calcolatori Appunti di Architetture Avanzate dei Calcolatori 7 febbraio 2013 Matteo Guarnerio, Francesco Gusmeroli Revisione 1 1 Indice I Introduzione 7 1 Definizioni 7 1.1 Compatibilità binaria tra processori............................

Dettagli

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

Dettagli

Ricorsione. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona.

Ricorsione. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Implementazione di Utilizzo ricorsione per processare dati in java vs. multipla

Dettagli

Sistemi a Microprocessore

Sistemi a Microprocessore Corso di Laurea Ingegneria dell Informazione Sistemi a Microprocessore A.A. 2007-2008 Prof. Ing. Ivan Bruno Sistemi a Microprocessore La Memoria 1 La Memoria La memoria in un calcolatore serve per immagazzinare

Dettagli

STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET

STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET Lo stack STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET Lo stack (tradotto talvolta in italiano con pila o catasta) è un'area di memoria privilegiata, dove il microprocessore può salvare

Dettagli

LA SINCRONIZZAZIONE TRA PROCESSI

LA SINCRONIZZAZIONE TRA PROCESSI LA SINCRONIZZAZIONE TRA PROCESSI E' più complesso scrivere programmi concorrenti rispetto a programmi sequenziali in quanto non basta essere sicuri della correttezza dei singoli moduli ma è necessario

Dettagli

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008 Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti

Dettagli

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la 8 Questo documento contiene le soluzioni ad un numero selezionato di esercizi del Capitolo 8 del libro Calcolatori Elettronici - Architettura e organizzazione, Mc-Graw Hill 2009. Sarò grato a coloro che

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Laboratorio di Informatica

Laboratorio 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,

Dettagli

Cache e gerarchia di memoria

Cache e gerarchia di memoria Cache e gerarchia di memoria Cache e gerarchia di memoria Gerarchia di Memoria: motivazioni tecnologiche per caching. Località: perché il caching funziona Processor Input Control Memory Datapath Output

Dettagli

INFORMATICA E COMPUTER : INTRODUZIONE

INFORMATICA E COMPUTER : INTRODUZIONE INFORMATICA E COMPUTER : INTRODUZIONE! Informatica: dal francese, informatique informat(ion) (automat)ique [termine coniato dall'ingegnere francese Philippe Dreyfus nel 1962] è la scienza che studia i

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:

Dettagli

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57 I Indice generale Prefazione viii 1 Il calcolatore: astrazioni e tecnologia 1 1.1 Introduzione 1 Tipi di calcolatore e loro caratteristiche 2 Cosa si può imparare da questo libro 5 1.2 Cosa c è dietro

Dettagli