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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Memoria virtuale. Strutture hardware e di controllo

Memoria virtuale. Strutture hardware e di controllo Memoria virtuale Strutture hardware e di controllo Le caratteristiche chiave delle tecniche di segmentazione e paginazione sono: Tutti i riferimenti di memoria all'interno di un processo sono indirizzi

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

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

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

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

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

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

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

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

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

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

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

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

Anatomia e fisiologia del computer: l architettura del calcolatore

Anatomia e fisiologia del computer: l architettura del calcolatore Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l architettura del calcolatore Marzo 2009 L architettura del calcolatore 1 Nota bene Alcune parti

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

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

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

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

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

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 memoria gerarchica L hard disk Introduzione alla memoria virtuale Scendiamo di un altro livello CPU Banco Cache Memoria principale Memoria secondaria Dimensioni < 1KB < 1 MB

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

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

Metodi Software per ottenere ILP

Metodi Software per ottenere ILP Metodi Software per ottenere ILP Calcolatori Elettronici 2 http://www.dii.unisi.it/~giorgi/didattica/calel2 Scaletta Tecnologie nel compilatore BRANCH PREDICTION A SOFTWARE (nel compilatore) - Gia vista

Dettagli

Sistemi Operativi Gestione della Memoria (parte 2)

Sistemi Operativi Gestione della Memoria (parte 2) Sistemi Operativi Gestione della Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Memoria Virtuale 1 Una singola partizione o anche l intera

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Struttura dei dischi

Struttura dei dischi Università di Udine Facoltà di Scienze MM.FF.NN. A.A. 2007-2008 Copyright c 2000 04 Marino Miculan (miculan@dimi.uniud.it) La copia letterale e la distribuzione di questa presentazione nella sua integrità

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

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

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

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

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

PROGRAMMAZIONE MODULARE 2014-2015

PROGRAMMAZIONE MODULARE 2014-2015 PROGRAMMAZIONE MODULARE 01-015 Disciplina: SISTEMI E RETI Classe: TERZA A INF Indirizzo: INFORMATICA E TELECOMUNICAZIONI Articolazione INFORMATICA Docenti: Silvia Gualdi (teoria) Paolo Aurilia (laboratorio)

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

Il file system. File system. Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti

Il file system. File system. Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti Il file system File system Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti Collezione di file Struttura di cartelle (directory) 1! Interfaccia Implementazione

Dettagli

Memorizzazione dei dati: Dischi e File

Memorizzazione dei dati: Dischi e File Memorizzazione dei dati: Dischi e File Query\update Query plan Execution Engine richieste di indici, record e file Index/file/record Manager comandi su pagine Query Compiler Buffer Manager Lettura/scrittura

Dettagli

ARCHITETTURA ELABORATORI B:

ARCHITETTURA ELABORATORI B: ARCHITETTURA ELABORATORI B: SOLUZIONI ALLE DOMANDE DI TEORIA APPELLI 2007 2009 di Sebastiano Vascon 1 / 19 http://sebastiano.vascon.it Indice generale 19 Febbraio 2009...4 Il forwarding elimina stalli

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

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Principi di base La gestione della memoria si occupa di allocare la memoria fisica ai processi che ne fanno richiesta. Nessun processo può diventare attivo prima di avere

Dettagli

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file 11 Realizzazione del File System 1 Metodi di allocazione Allocazione contigua Allocazione concatenata e varianti Allocazione indicizzata e varianti Gestione dello spazio libero 11.1.1 Struttura a livelli

Dettagli

Gerachie di Memorie. Matteo Dominoni a.a. 2002/2003. Gerarchie di Memoria A.A. 2002/2003 1

Gerachie di Memorie. Matteo Dominoni a.a. 2002/2003. Gerarchie di Memoria A.A. 2002/2003 1 Gerachie di Memorie Matteo Dominoni a.a. 2002/2003 Gerarchie di Memoria A.A. 2002/2003 1 Dove Studiare? Capitolo 7 Patterson-Hennessy Gerarchie di Memoria A.A. 2002/2003 2 Obbiettivo Creare l illusione

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

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Calcolatori Elettronici Parte VI: Microarchitetture, Cache e Pipeline

Calcolatori Elettronici Parte VI: Microarchitetture, Cache e Pipeline Anno Accademico 2013/2014 Calcolatori Elettronici Parte VI: Microarchitetture, Cache e Pipeline Prof. Riccardo Torlone Universita di Roma Tre Ritorniamo all approccio di San Clemente.. Riccardo Torlone

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

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

Corso di Visual Basic (Parte 8)

Corso di Visual Basic (Parte 8) Corso di Visual Basic (Parte 8) di MAURIZIO CRESPI Questo mese il corso di programmazione in Visual Basic focalizza la propria attenzione sulle procedure, talvolta dette subroutine L oggetto dell ottava

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

Dettagli

Le virtual machine e la memoria virtuale

Le virtual machine e la memoria virtuale Le virtual machine e la memoria virtuale Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson 5: 5.6, 5.7. 1/29

Dettagli

Fondamenti di informatica: un po di storia

Fondamenti di informatica: un po di storia Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi

Dettagli

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua 12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura

Dettagli

Prof. Antonio Sestini

Prof. Antonio Sestini Prof. Antonio Sestini 1 - Formattazione Disposizione del testo intorno ad una tabella Selezionare la tabella Dal menù contestuale scegliere il comando «proprietà» Selezionare lo stile di disposizione del

Dettagli

Implementazione del File System

Implementazione del File System Implementazione del file system Implementazione del File System Struttura del file system. Realizzazione del file system. Implementazione delle directory. Metodi di allocazione. Gestione dello spazio libero.

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

Architetture DSP. Capitolo 6

Architetture DSP. Capitolo 6 Capitolo 6 Architetture DSP Un convertitore analogico-digitale (ADC) trasforma un segnale a tempo continuo in una sequenza di bit; viceversa un convertitore digitale-analogico (DAC) trasforma una sequenza

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

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Introduzione alle pipeline e all'architettura RISC

Introduzione alle pipeline e all'architettura RISC Introduzione alle pipeline e all'architettura RISC Introduzione Pipeline Processori RISC Salti Appendice A: Storia Bibliografia Versione con i frame Versione in pdf Architettura del processore Una possibile

Dettagli

L organizzazione dei dati

L organizzazione dei dati L organizzazione dei dati Directory In informatica, una directory (chiamata anche cartella, folder o direttorio), è un entità nel file system che contiene un gruppo di file e altre directory. Il termine

Dettagli

Il livello architettura e set di istruzioni

Il livello architettura e set di istruzioni Corso di Informatica 2 Prof. Sciuto Il livello architettura e set di istruzioni Daniele Paolo Scarpazza Dipartimento di Elettronica e Informazione Politecnico di Milano 7 Giugno 2004 Daniele Paolo Scarpazza

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

02 - Organizzazione dei sistemi di calcolo

02 - Organizzazione dei sistemi di calcolo Organizzazione dei sistemi di calcolo - Processori - Memoria principale - Memoria secondaria - Input/Output Pagina 2 Processori Pagina 3 La CPU è composta da: - Unità di controllo - Unità logico-aritmetica

Dettagli

Parte VIII. Architetture Parallele

Parte VIII. Architetture Parallele Parte VIII Architetture Parallele VIII.1 Motivazioni Limite di prestazioni delle architetture sequenziali: velocità di propagazione dei segnali, la luce percorre 30 cm in un nsec! Migliore rapporto costo/prestazioni

Dettagli

USO DI EXCEL COME DATABASE

USO DI EXCEL COME DATABASE USO DI EXCEL COME DATABASE Le funzionalità di calcolo intrinseche di un foglio di lavoro ne fanno uno strumento eccellente per registrarvi pochi dati essenziali, elaborarli con formule di vario tipo e

Dettagli

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi Lezione 10 Cenni ai sistemi operativi distribuiti 2. Gestione della CPU e della memoria nei multiprocessori Gestione dei processi Scheduling Bilanciamento del carico Migrazione dei processi Gestione della

Dettagli

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti: Pagina 1 di 8 Struttura di Internet ed il livello rete Indice Struttura delle reti Estremità della rete Il nucleo della rete Reti a commutazione di pacchetto e reti a commutazione di circuito Funzionalità

Dettagli

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Dettagli

Esercizi su cache. Università Roma Tre

Esercizi su cache. Università Roma Tre Esercizi su cache Prof. Riccardo Torlone Università Roma Tre Memorie Cache I Una cache a mappa diretta con 16K slot e cache line di 64 byte, è installata in un sistema con indirizzi a 32 bit: specificare

Dettagli

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A.

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Morzenti Il sistema Operativo Il sistema operativo (SO) è uno strato software

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli