Concetti fondamentali di CACHING. CPU e memoria principale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Concetti fondamentali di CACHING. CPU e memoria principale"

Transcript

1 Concetti fondamentali di CACHING Funzionamento di base di una cache Cache Direct-Mapped e Set-Associative Altri aspetti del sotto-sistema di memoria primaria 1 CPU e memoria principale Lo scambio di dati tra la CPU e la RAM è uno dei punti cruciali per le prestazioni di un computer. Fin dai primi computer sperimentali degli anni 40 e 50, lo sviluppo di un modo per memorizzare e rendere velocemente disponibili al processore le istruzioni e i dati del programma in esecuzione ha rappresentato una delicata e fondamentale sfida tecnologica. La memoria principale è stata sempre più lenta della CPU, e il gap di prestazioni si è ampliato nel tempo. In più, il flusso di dati e istruzioni tra CPU e RAM deve passare attraverso il bus, che introduce ulteriori ritardi 2 CPU e memoria principale Andamento dei rapporti di prestazione tra CPU e RAM negli anni, posto a 1 il rapporto di prestazioni nel 1980 (H-P3, Fig. 5.2). Miglioramento RAM: circa 7% l anno. Miglioramento CPU: 35% l anno fino al 1986, 55% negli anni sucessivi. 3 1

2 CPU e memoria principale Qui la prestazione è misurata come differenza in tempo tra le richieste di un processore single core verso la RAM e il ritardo nelle risposte a queste richieste. É interessante osservare come questa differenza di prestazioni si sia stabilizzata dopo il 2005 (H-P5, Fig. 2.2), ma in realtà le cose siano peggiorate 4 CPU e memoria principale a causa dell introduzione dei processori multi-core, che possono produrre un enorme quantità di richieste verso la RAM. Ad esempio, un Core i7 può generare 2 riferimenti in memoria per core per ciclo di clock. Con 4 core e un clock di 3,2 GHz, l i7 può generare un picco di 25,6 miliardi di riferimenti a dati da 64 bit per secondo, più 12,8 miliardi di riferimenti ad istruzioni da 128 bit, per un totale di circa 409,6 Gbyte al secondo! Per contro, con la tecnologia attuale la RAM più efficiente può fornire un massimo di circa 25 Gbyte di dati/istruzioni al secondo 5 CPU e memoria principale Dovrebbe essere quindi chiaro che è inutile progettare processori sempre più veloci e sofisticati, se poi non è possibile reperire in modo veloce le istruzioni che devono eseguire e i dati su cui tali istruzioni devono operare. Nei vari datapath che abbiamo visto fin ora, assumevano la presenza di una Instruction Memory e di una Data Memory che operavano alla stessa velocità degli altri componenti della CPU. Questa assunzione corrisponde nella realtà all esistenza di un sofisticato sistema di gestione delle informazioni che fluiscono tra CPU e RAM. 6 2

3 CPU e memoria principale L idea fondamentale per cercare di limitare il problema della lentezza della RAM è di utilizzare una gerarchia di memorie sempre più veloci, e quindi costose (e quindi meno capaci, anche perché occupano più spazio), in modo da portare vicino alla CPU i dati di cui ha più immediato bisogno. E questa l idea di base della tecnica del caching, ormai diffusa in tutte le CPU e le architetture general purpose. Tecnologia di memoria Tempo di accesso tipico Costo in dollari per Gbyte nel 2012 SRAM ns DRAM ns Memorie flash ns Dischi magnetici ns DRAM e SRAM Nota: il termine DRAM (Dynamic RAM) indica la tecnologia con cui sono costruite le RAM usate nella memoria principale del computer. Il termine SRAM (Static RAM) indica la tecnologia di base con cui sono costruite le RAM usate nei vari livelli di cache del processore. Le SRAM usano, per memorizzare ogni singolo bit, un circuito di transistors (di solito 6), che devono essere sempre alimentati. Le DRAM usano un condensatore (controllato da un transistor), la cui carica indica se il bit corrispondente vale 0 o 1. Ogni pochi millisecondi viene fatto il refresh della carica del condensatore, che tende a scaricarsi. Le SRAM quindi occupano più spazio, consumano di più, sono più complesse e costano di più, ma hanno tempi di risposta più veloci. Viceversa per le DRAM. 8 DRAM e SRAM In realtà, i diversi livelli di cache possono essere costruiti con tecnologie leggermente diverse. Le SRAM usate per L1 sono ottimizzate rispetto alla velocità di accesso, mentre quelle usate per L2 ed L3 sono ottimizzate rispetto alla capienza di memorizzazione. In più L2 ed L3 risultano più lente di L1 perché sono posizionate fisicamente più distanti dal punto in cui, all interno del processore, incomincia l elaborazione dell istruzione o del dato. Più raramente, L3 può essere implementata come DRAM, ma con una logica di accesso alle celle di memoria più efficiente di quella usata nella DRAM con cui viene implementata la memoria primaria. 9 3

4 DRAM e SRAM A grandi linee, le SRAM hanno un tempo di accesso di qualche nanosecondo, mentre le DRAM hanno tempi di accesso dell ordine di qualche decina di nanosecondi. Naturalmente, diverse scelte tecnologiche e implementative possono modificare leggermente, in meglio o in peggio questi tempi di accesso. Ma in realtà la grossa differenza tra i tempi di accesso alle informazioni contenute in una cache e alle informazioni contenute in memoria primaria sono dovute al fatto che per accedere alla memoria primaria occorre passare attraverso il bus di sistema, il che può richiedere diversi cicli di clock (vedremo in dettaglio più avanti) 10 Caching È importante ricordare che lo sfruttamento del concetto di caching non è limitato alla relazione tra CPU e RAM, ma è fondamentale e si estende a tutto il sistema di memorie di un computer: I registri fanno da cache per la cache hardware la cache hardware fa da cache per la RAM la RAM fa da cache per l hard disk (memoria virtuale) l hard disk fa da cache per supporti magnetici più lenti Caching L idea di cache è nata insieme a quella di computer: Ideally, one would desire an indefinitely large memory capacity such that any particular...word would be immediately available...we are forced to recognize the possibility of constructing a hierarchy of memories, each wich has greater capacity than the preceding but which is less quickly accessible A. Burks, H. Goldstine, J. von Neumann Preliminary Discussion of the logical Design of Electronic Computing Instrument (1946) 12 4

5 Caching Sebbene l idea di memoria cache sia vecchia quanto l idea di computer secondo lo stile von Neumann, solo alla fine degli anni 60 vengono prodotte le prime CPU commerciali dotate di memoria cache vera e propria. L idea di base è nota: una cache è una memoria piccola ma veloce che contiene una parte delle informazioni in RAM. Se una buona percentuale dei dati e delle istruzioni della memoria di cui ha bisogno la CPU sono nella cache, l effetto della lentezza della RAM sulle prestazioni complessive si riduce enormemente. 13 Caching Le CPU attuali poi, sono dotate di cache separate per dati e istruzioni. In questo modo, in un datapath pipelined, nello stesso ciclo di clock è possibile: prelevare una istruzione dalla cache di istruzioni (quella che fino ad ora avevamo chiamato la Instruction Memory) e leggere/scrivere dei dati (relativi ad un altra istruzione) dalla cache di dati (quella che chiamavamo la Data Memory). Instruction e Data memory costitiscono nell insieme la cache di primo livello (L1) Tutti i processori processori dispongono poi anche di una cache di secondo livello (L2), e sono ormai comuni i processori con un terzo livello di cache (L3, ovviamente) 14 Caching Una tipica gerarchia di memorie in un normale computer (sopra) e in un dispositivo mobile (H-P5, Fig. 2.1): 15 5

6 Località della cache L uso di cache è vantaggioso perché, normalmente, valgono due tipi fondamentali di località: Località spaziale: Aree di memoria con indirizzi simili a quelli appena usati, saranno a loro volta usate nell immediato futuro (ad esempio, le istruzioni vengono eseguite in sequenza, così come gli elementi di un array sono letti/scritti in sequenza) Località temporale: Locazioni accedute di recente verranno di nuovo accedute nell immediato futuro (e.g. istruzioni e variabili di un ciclo). 16 Funzionamento di base di una cache N.B. per ora ci limitiamo a descrivere operazioni di lettura in RAM. Vedremo più avanti il caso in cui il dato indirizzato vada modificato Dal punto di vista del funzionamento di una memoria cache, la RAM viene suddivisa in blocchi di dimensione fissa detti cache lines (o semplicemente linee) o cache blocks (o semplicemente blocchi). Una linea è formata da un numero prefissato (da 4 a 256, a seconda delle implementazioni, ma sempre una potenza di 2) di byte consecutivi della RAM. Le linee sono numerate consecutivamente da 0, così se una linea è fatta di 32 byte avremo: linea 0: contiene i byte della RAM da 0 a 31 linea 1: contiene i byte della RAM da 32 a 63 linea 2: contiene i byte della RAM da 64 a Funzionamento di base di una cache Ogni linea è anche identificata dal suo indirizzo in RAM: l indirizzo in RAM del primo byte appartenente a quella linea. Supponiamo che gli indirizzi della RAM siano scritti usando m + n bit. Se le linee sono formate da 2 n byte, ciascuna linea ha un indirizzo che ha la seguente forma: x x x x m bit n bit Il numero di una linea non è altro che il valore rappresentato dagli m bit più significativi dell indirizzo della linea una volta tolti gli n bit meno significativi (il concetto è identico a quello che troviamo nella paginazione della memoria primaria: infatti pagine e frame hanno anch essi una dimensione che è una potenza di 2) 18 6

7 Funzionamento di base di una cache In ogni istante alcune delle linee della RAM sono anche nella cache (per ora assumiamo che siano presenti solo le cache di primo livello, separate per dati e istruzioni, che lavorano (più o meno) alla stessa velocità della CPU). Quando una word (ad esempio un intero, o una istruzione scritta su 4 byte) viene indirizzata, il sottosistema hardware di indirizzamento della memoria controlla se questa word sta anche nella cache. Se si, si verifica un cache hit tutto procede normalmente, in quanto la cache è in grado di lavorare alla stessa frequenza degli altri componenti del datapath. Se non c è, si verifica un cache miss: (la linea contenente) il dato mancante viene prelevata dalla RAM. Se necessario una linea della cache deve essere rimossa per far spazio a quella mancante. 19 Cache Direct-Mapped Le cache Direct-Mapped (in italiano: ad indirizzamento diretto) sono il tipo di cache più semplice. Una cache Direct-Mapped è formata da 2 k entry numerate consecutivamente. Ogni entry memorizza una linea: 2 n byte consecutivi della RAM (di solito 2 n = 32 o 64). E ad ogni entry sono associate due informazioni: 1. un bit di validità che ci dice se quella entry contiene dell informazione significativa. 2. un campo Tag che identifica univocamente la linea contenuta in quella entry della cache rispetto a tutte le linee della RAM Ad esempio, una cache con 2048 entry da 32 byte ciascuna può contenere in tutto 2048 x 32 = 64KB di dati (o istruzioni). 20 Cache Direct-Mapped In una cache Direct-Mapped, ogni linea della RAM viene memorizzata in una entry ben precisa della cache. Quindi, dato l indirizzo di una word della RAM, c è una sola entry della cache che può contenere la linea di cui quella word fa parte. Per stabilire in quale entry della cache cercare una linea che contiene il dato o l istruzione indirizzati dalla CPU si usa l operazione: (num. della linea in RAM) modulo (num. di entry della cache) Un calcolo che è molto facile e veloce da eseguire a livello hardware se il numero di entry della cache è una potenza di

8 Cache Direct-Mapped Però il PC, una LOAD / STORE, specificano l indirizzo di una word (una istruzione indirizzata dal PC, o un dato la leggere o scrivere). Il numero della linea di RAM che contiene quella word è allora dato dagli m bit più significativi dell indirizzo della word. E dunque per sapere se quella linea è anche nella cache basta guardare nella entry specificata dalla formula del lucido precedente. Ma poiché linee in RAM > linee in cache, è evidente che alla stessa entry della cache faranno capo più linee di RAM, tutte quelle per cui (num. della linea in RAM) modulo (num. di entry della cache) dà lo stesso risultato. Come si fa a sapere se la entry della cache in cui si va a guardare contiene proprio la linea desiderata? 22 Cache Direct-Mapped (Patterson-Henessy, fig. 5.8). Come esempio, supponiamo una RAM suddivisa in 32 linee da un byte ciascuna, e una cache con 8 entry (ovviamente da un byte). In quale entry della cache viene inserita la linea di indirizzo 01001? mod 1000 = 001. Ma notate che l entry della cache 001 conterrà anche le linee di indirizzo 00001, 10001, Cosa distingue fra loro tutte le linee che possono andare nella entry 001 della cache? I due bit più significativi del numero di ciascuna linea, che possono essere usati per distinguere fra loro tutte le linee 23 di RAM che fanno capo alla stessa entry della cache. Cache Direct-Mapped Per cui, quando la CPU vuole leggere la linea numero dalla cache, innanzi tutto calcola modulo 1000 = 001 e scopre che quella linea, se presente in cache, si trova nella entry 001. Se la entry 001 ha il bit di validità = invalid allora la entry è vuota, e la linea indirizzata viene prelevata dalla RAM e copiata nella entry 001 della cache. Il bit di validità viene settato a valid e dentro al campo Tag viene scritto 01. Se invece la entry 001 ha il bit di validità = valid, l hardware controlla se il tag della entry 001 corrisponde ai due bit più significativi della linea di numero Se c è corrispondenza la entry 001 della cache contiene la linea cercata, altrimenti si verifica un cache miss. La linea 01001, prelevata dalla RAM viene inserita nella entry 001 sovrascrivendo il valore 24 precedente. Il campo Tag viene aggiornato al nuovo valore 01. 8

9 Cache Direct-Mapped Nel caso generale, le linee hanno dimensione maggiore di un byte, e la CPU indirizza una word di dimensione inferiore alla linea che contiene quella word, ma il meccanismo è lo stesso. Supponiamo ad esempio una RAM con indirizzi scritti su 32 bit, linee da 2 5 byte, word da 2 2 byte e una cache da 2 11 entry. I 32 5 = 27 bit più significativi dell indirizzo di una word costituiscono il numero della linea che contiene quella word. Di questi 27 bit, gli 11 bit meno significativi vengono usati per indirizzare una specifica entry della cache, e i restanti 16 bit più significativi costituiscono il TAG che distingue fra loro tutte le linee di RAM che fanno capo alla stessa CACHE ENTRY. TAG (16 bit) CACHE ENTRY (11 bit) WORD (3 bit) BYTE (2 bit) 25 Cache Direct-Mapped Ossia, i 32 bit di un indirizzo di RAM generato dalla CPU (attraverso il PC o una istruzione di LOAD/STORE) sono così suddivisi: TAG: i 16 bit più significativi dell indirizzo generato dalla CPU, usati per distinguere fra loro le linee che fanno capo alla stessa entry in cache. CACHE ENTRY: gli 11 bit che indicano in quale entry della cache cercare la linea che contiene il dato/istruzione indirizzato. WORD: i 3 bit con cui distinguiamo fra loro le 8 word contenute in una linea da 32 byte. BYTE: i 2 bit che possono servire a individuare i singoli byte di cui è composta ciascuna word. 26 Cache Direct-Mapped Dunque, quando la CPU genera l indirizzo di una word scritto su 32 bit,, l hardware estrae gli 11 bit della CACHE ENTRY e li usa per indirizzare una delle 2 11 entry della cache Se la entry corrispondente è valida (come indicato dal bit di validità), vengono comparati il contenuto del campo TAG di quella entry con i 16 bit più significativi dell indirizzo. Se sono identici, si verifica un cache hit. Attraverso il campo WORD dell indirizzo è possibile estrarre dalla linea contenuta in quella entry della cache la word specificata dall indirizzo. 27 9

10 Cache Direct-Mapped In caso di cache miss invece, la linea deve essere prelevata dalla RAM e copiata nella entry della cache, eventualmente sovrascrivendo la linea (e il relativo TAG) precedenti. Notate quindi il principio di località temporale: un dato indirizzato più di recente sostituisce uno più vecchio. Naturalmente, un cache miss produce sempre una perdità di tempo (leggermente) superiore al tempo necessario a prelevare direttamente il dato in RAM In ogni caso, perché la cosa sia efficiente tutte le operazioni sono implementate a livello hardware, e per quanto possibile in parallelo. 28 Cache Direct-Mapped Un esempio cache direct-mapped con 1024 entry e linee da 4 byte. I 20 bit più significativi vengono usati come tag, i 10 bit intermedi come numero della linea, e i restanti 2 bit meno significativi per indirizzare il byte all interno di ciascuna linea (Patterson-Hennessy, fig. 5.10) Se dovessimo indirizzare word da due byte all interno dellle linee, quale porzione dell indirizzo generato dalla CPU useremmo? 29 Dimensioni di una cache Notate che la dimensione effettiva di una cache è in realtà superiore al valore dichiarato, in quanto per ogni entry occorre anche memorizzare il tag della linea memorizzata, e il bit di validità. Consideriamo ad esempio una cache da 16 Kbyte (2 14 byte = byte) con 1024 (2 10 ) entry (e quindi con linee da 16 (2 4 ) byte. Se un indirizzo è scritto su 32 bit, ciascun tag sarà composto da = 18 bit, a cui va aggiunto il bit di validità, e quindi ogni entry è formata da = 147 bit. In totale la cache deve memorizzare = bit, pari a byte

11 Dimensione delle linee Le prestazioni di una cache dipendono anche dalla dimensione scelta per le linee. In generale, linee più grandi consentono di diminuire i cache miss, perché sfruttano meglio il principio di località spaziale. Tuttavia, oltre una certa dimensione non conviene andare, perché se le linee sono troppo grandi, una cache di dimensione prefissata ne può contenere poche, e aumenta la probabilità che una linea debba essere rimossa dalla cache (perché si è verificato un cache miss) prima che molti dei dati contenuti in quella linea siano stati usati. 31 Dimensione delle linee La figura (Patterson-Hennessy, 5.11) mostra la frequenza di cache miss per diverse dimensioni delle linee (sulle ascisse) e cache di diverse dimensioni nel caso del benchmark SPEC92. Notate come cache più grandi permettono di utilizzare linee di dimensione maggiore (oltre ovviamente a produrre un minor numero di cache miss). 32 Gestione dei cache miss Che succede se si verifica un cache miss? La pipeline deve essere fermata, in attesa di recuperare dalla RAM il dato o l istruzione mancante. Nel caso di cache miss nella Instruction Memory, il PC corrente deve essere anche decrementato dello stesso valore che gli era stato aggiunto nella fase IF dell istruzione mancante. Quando la linea contentente il dato/istruzione mancante è stata recuperata, l esecuzione riprende. In caso di istruzione mancante viene rieseguita la fase IF, in caso di dato mancante per una LOAD, viene rieseguita la fase MEM 33 11

12 Gestione delle scritture La gestione delle scritture è più delicata, perché richiede (prima o poi) la modifica dei dati anche in RAM. In caso di scrittura di una linea della cache, si può scegliere di propagare immediatamente la modifica anche alla RAM, in modo da garantire la coerenza della cache. Sempre per mantenere la coerenza della cache, in caso di cache miss in scrittura il dato mancante viene prelevato dalla RAM, modificato in cache, e la modificata ripropagata alla RAM. Questo schema di gestione delle scritture in cache prende il nome di write-through: le scritture vengono sempre eseguite sia in cache che in RAM, in modo che i dati presenti nelle due memorie siano sempre consistenti. 34 Gestione delle scritture Lo schema write-through non offre però buone prestazioni, perché richiede, per ogni scrittura in cache, anche l accesso alla RAM, una operazione che consuma molti cicli di clock. Lo schema alternativo al write-through è noto come write-back, in cui un valore viene modificato solo nella cache (si usa a volte il termine write deferred). La modifica verrà propagata alla RAM (o ai livelli inferiori di cache, nei sistemi che ne hanno più di uno) solo se il dato stesso deve essere rimpiazzato da un altro con cui condivide lo stesso tag. 35 Il supporto della RAM Il tempo necessario a recuperare un dato in RAM quando si verifica un cache miss viene normalmente detto penalità da fallimento (miss penalty). La durata della penalità da fallimento è dovuta alle tre operazioni fondamentali necessarie per gestire un cache miss: 1. Inviare l indirizzo della linea mancante alla RAM 2. Accedere alla RAM per recuperare la linea 3. Inviare alla cache la linea recuperata 36 12

13 Il supporto della RAM La prima e la terza operazione possono richiedere un ciclo di clock (attenzione, del bus, non del clock di CPU), mentre la seconda, richiede di solito molto più tempo, ad esempio dieci o venti cicli del clock (sempre del bus). Inoltre, una linea della cache è di solito molto più grande della quantità di dati che un banco di RAM è in grado di fornire ad ogni accesso. Ad esempio una linea può essere grande 16 byte, mentre con un accesso alla RAM possiamo leggere in tutto una word da 32 bit, ossia 4 byte, e abbiamo quindi bisogno di 4 accessi per recuperare l intera linea. 37 Il supporto della RAM Consideriamo allora un sistema a 32 bit (e quindi con un bus a 32 bit). Se supponiamo (ipotesi ragionevole) che un accesso alla RAM richieda 15 cicli di clock (del bus) per leggere una word da 32 bit, per servire un cache miss con linee da 16 byte impiegheremo: 1 ciclo di clock per inviare l indirizzo della linea mancante alla RAM 4 15 cicli di clock per leggere l intera linea 4 1 cicli di clock per inviare l intera linea alla cache Per un totale di 65 cicli di clock (del bus). 38 Il supporto della RAM Possiamo cercare di migliorare la situazione: allargando la banda passante della RAM, ossia la quantità di dati che possiamo prelevare dalla RAM con un unico accesso (ad esempio in modo che una intera linea possa essere prelevata con un solo accesso). Allargando il bus, in modo da poter trasportare in un unico ciclo di clock (del bus) l intera linea prelevata dalla RAM al processore. Però aumentare l ampiezza del bus fino a 16 8 bit trasportati in parallelo è una soluzione tecnicamente molto costosa e difficile da realizzare. Del resto, anche il solo ampiamento della banda passante della RAM può produrre miglioramenti notevoli

14 Il supporto della RAM Per aumentare la banda banda passante della RAM occorre che questa venga organizzata in banchi in modo da poter leggere o scrivere più word (anziché una sola) per ciclo di clock. Se una linea è formata da n word, la linea viene distribuita su n banchi di RAM, ciascuno dei quali memorizza (allo stesso indirizzo di tutti gli altri banchi) una delle n word della linea. Gli n banchi possono quindi essere letti in parallelo, estraendo così in una sola lettura tutte le word di cui è composta una linea. Questo schema è denominato a memoria interlacciata (interleaved memory) e permette di risparmiare sul tempo necessario a prelevare un intera linea dalla RAM (un principio abbastanza simile alla distribuzione degli strip nei sistemi RAID) 40 Il supporto della RAM H-P3, Fig 5.27: la memoria interlacciata (c) permette di mantenere un bus di ampiezza ragionevole e di migliorare la velocità di accesso alla RAM nella gestione dei cache miss. Usando lo stesso esempio di prima, con la soluzione (c) avremmo: 1 ciclo di clock per inviare l indirizzo della linea mancante, 15 cicli di clock per prelevare le 4 word della linea (i quattro banchi vengono ora acceduti in parallelo), 4 1 cicli di clock per inviare l intera linea alla cache, per un totale di 20 cicli di clock, contro i 65 della soluzione 41 (a) Cache Set-Associative Una caratteristica fondamentale delle cache Direct-Mapped, è che una determinata linea della RAM viene memorizzata sempre nella stessa entry della cache. Naturalmente, più linee di RAM fanno riferimento alla stessa entry della cache, dato che questa è meno capiente della RAM. Ammettendo un posizionamento più flessibile delle linee di RAM all interno della cache è possibile ridurre in numero di cache miss, e quindi aumentare le prestazioni del sistema. Un tale effetto può essere ottenuto mediante le cache set-associative ad n vie, dove n è di solito pari a 2, 4, o

15 Cache Set-Associative Una cache set-associativa ad n vie è suddivisa in più insiemi, ciascuno dei quali è formato da n entry e può quindi contenere n linee. Ogni linea della RAM corrisponde esattamente ad uno ed un solo insieme della cache, ma quella linea può essere memorizzata in una qualsiasi delle n entry dell insieme. Quindi, in una cache set-associativa l insieme (notate, non più l entry, come nelle cache direct-mapped) che contiene una linea è stabilito da: (numero della linea in RAM) modulo (numero di insiemi della cache) 43 Cache Set-Associative Una cache direct mapped e una cache set-associativa a 2 vie, entrambe in grado di memorizzare 8 linee. Nella prima, la linea 12 può andare solo nella entry numero 4. Nella seconda, la stessa linea può andare nella entry 0 o nella entry 1, che fanno parte dello zeresimo insieme (H-P3, Fig Vedere anche H-P5, Fig. B.2) 44 Cache Set-Associative Quindi, una volta individuato l insieme che può contenere una certa linea, occorre ancora verificare se una delle entry di quell insieme contiene la linea indirizzata (il che viene fatto con una ricerca associativa su tutti gli elementi dell insieme). Se una linea indirizzata manca va portata in cache, e inserita in una qualsiasi entry. Naturalmente è meglio scegliere una entry libera. Se invece tutte le entry dell insieme sono occupate occorre sovrascrivere una delle linee dell insieme. Di solito si sacrifica quella indirizzata meno di recente (quindi, si applica una politica di rimpiazzamento LRU). L hardware necessario per implementare un tale tipo di cache è più sofisticato, ma da prestazioni migliori rispetto ad una cache Direct- 45 Mapped. 15

16 Cache Set-Associative Come esempio, consideriamo due cache con quattro entry, la prima cache è di tipo direct-mapped, la seconda è set-associativa a 2 vie. Supponiamo vengano generati indirizzi per le linee di RAM di indirizzo 0, 8, 0, 6, 8. Qual è il numero di cache miss prodotti dalle due cache? 46 Cache Set-Associative Nel caso della cache direct-mapped, le varie linee indirizzate verranno messe nelle seguenti entry della cache: Indirizzo della linea Entry nella cache 0 0 modulo 4 = modulo 4 = modulo 4 = 0 I riferimenti 0, 8, 0, 6, 8 genereranno quindi 5 cache miss, in quanto le linee 0 e 8 si alternano all interno della stessa entry della cache, e il primo riferimento a qualsiasi linea genera ovviamente un cache miss. 47 Cache Set-Associative Nel caso della cache set-associativa a 2 vie, le 4 entry sono suddivise in 2 insiemi, di indice 0 e 1, e le linee indirizzate verranno sistemate nei seguenti insiemi: Indirizzo della linea Insieme nella cache 0 0 modulo 2 = modulo 2 = modulo 2 = 0 Usando i riferimenti 0, 8, 0, 6, 8 le linee 0 e 8 vengono messe in due entry separate dello stesso insieme, per cui il secondo riferimento alla linea 0 non genera cache miss. Quando viene indirizzata la linea 6 (generando un cache miss) la linea 8 in cache viene rimossa (algoritmo LRU), e il successivo riferimento alla linea 8 genera cache miss. In totale si hanno 4 cache miss

17 Cache Set-Associative Se la cache set-associativa fosse a 4 vie, si può verificare facilmente che verrebbero generati 3 cache miss. Più in generale, una cache associativa in cui c è un solo unico grande insieme, e una linea può essere sistemata in una qualsiasi entry della cache, prende il nome di cache completamente associativa (fully associative cache). Tali cache fornirebbero le prestazioni migliori in termini di cache miss, ma per cache con qualche migliaio di entry sono troppo complesse e costose da realizzare. Tuttavia il concetto rimane valido: quanto maggiore è il numero di entry in cui possiamo sistemare una linea in cache (ossia, quanto maggiore è n, il numero di vie della cache), tanto migliori sono le prestazioni. 49 Cache Set-Associative La frequenza di fallimenti nella cache dati per diversi tipi di cache di uguale dimensione) usando come benchmark SPEC2000 (Patterson- Hennessy, fig Vedere anche H-P5 fig. B.4) Associatività Frequenza dei fallimenti 1 via (direct mapped) 10.3% 2 vie 8.6% 4 vie 8.3% 8 vie 8.1% I vantaggi tra diversi livelli di associatività sembrano minimi, ma se consideriamo quanto costa servire anche un solo cache miss 50 Prestazioni: un semplice esempio Come vengono influenzate le prestazioni di una CPU dalla presenza di un sistema di caching? Facciamo un esempio, assumendo (sono valori ragionevoli): tempo di esecuzione di una istruzione (CPI): 1 ciclo di clock average miss rate: 2% numero medio di riferimenti in memoria per istruzione: 1,5 Tempo necessario ad accedere un dato in caso di cache miss: 100 cicli di clock (della CPU) 51 17

18 Prestazioni: un semplice esempio Quanti CPI ci vogliono per eseguire una istruzione, assumendo una cache perfetta? (cache miss = 0, tempo di accesso = 0). Risposta = 1 CPI E Se non ci fosse proprio la cache? CPI = ,5 = 151 E con la cache? CPI = 1 0,98 + 0, ,5 = 4 (circa, assumendo una cache con tempo di accesso pari a 0). 52 Miglioramento delle Prestazioni La presenza di una cache ha un effetto tanto più positivo sulle prestazioni di un sistema quanto più: 1. si riesce a diminuire il costo (in termini di tempo) necessario per servire un cache miss. 2. si riesce a diminuire la frequenza dei cache miss. 53 Riduzione del costo di un cache miss Il gap di prestazioni tra CPU e RAM tende ad allargarsi nel tempo, e quindi il costo di un cache miss si fa sempre più grave. Abbiamo già visto una tecnica, la memoria interlacciata, per ridurre il tempo necessario a recuperare una linea mancante in RAM Un altro modo per ridurre il costo dei cache miss e di non dover andare fino in RAM per recuperare una linea mancante, mediante l uso di più livelli di cache. In questo modo, si riesce tra l altro a raggiungere un accettabile tradeoff tra l avere una cache veloce quanto la CPU (ma costosa, e quindi piccola) e una cache sufficientemente grande da contenere una buona parte della RAM (più lenta, ma più economica) 54 18

19 Caching a più livelli L1-istr. 16/64K L1-dati 16/64K L2 Cache L2 Cache L3 Cache In un sistema di cache a più livelli, le cache sono normalmente inclusive, ossia: L1 L2 L3 Nei moderni multi-core, ogni core ha a disposizione L1 ed L2 private, mentre L3 è condivisa. L1 ed L2 risiedono sullo stesso chip del processore, mentre L3 può essere: sullo stesso chip; su un chip separato nello stesso package; sulla motherboard. 55 Caching a più livelli Nel caso di un sistema con almeno due livelli di cache, è importante che: 1. le cache di primo livello abbiamo un tempo di accesso simile alla velocità della CPU, in modo da non rallentarne l esecuzione delle istruzioni in caso di cache hit. 2. la cache di secondo livello abbia una dimensione sufficientemente maggiore della cache di primo livello, in modo da ridurre significativamente il numero di cache miss rispetto alla cache di primo livello. 3. Ragionamento analogo vale per la cache di terzo livello rispetto a quella di secondo livello. 56 Caching a più livelli Nei processori attualmente in produzione si osservano più o meno le seguenti caratteristiche: Cache tempo di accesso dimensioni L1 1 4 clock cycles Kbytes L clock cycles Kbytes L clock cycles 2 10 Mbytes 57 19

20 Riduzione del numero di cache miss È il secondo modo per rendere l uso di una cache il più efficace possibile. Qui si può agire in più modi. Abbiamo già visto che l uso di cache set-associative diminuisce la frequenza dei cache miss. Abbiamo anche visto che una giusta dimensione delle linee rispetto alla dimensione della cache ottimizza il numero di cache miss per una data dimensione. Infine, ovviamente, i cache miss si riducono con l aumento delle dimensioni della cache. 58 Riduzione del numero di cache miss Nel tempo, la dimensione delle cache (specie L2 ed L3) è costantemente aumentata: ad esempio, nel 2001 una cache di secondo livello aveva la dimensione della memoria principale di un desktop del Addirittura, se la cache di un certo livello è troppo piccola rispetto alla quantità di dati/istruzioni di cui ha bisogno un programma, si verifica un vero e proprio fenomeno di thrashing, simile a quello che può presentarsi nel funzionamento della memoria virtuale visto nel corso di Sistemi Operativi. 59 Un caso di studio: il Core i7 Vediamo, nel caso reale del Core i7, in quale misura 3 livelli di cache permettano di evitare di andare a prelevare i dati mancanti fino ai banchi di memoria centrale. La tabella del prossimo lucido (H-P5, Fig. 2.23) riporta, nella colonna 2, la percentuale di data miss per L1, per diversi benchmarks. In colonna 3 vediamo invece come migliori il miss rate usando il prefetch dei dati e le load speculative (entrambe le tecniche implementate nell i7) 60 20

21 Un caso di studio: il Core i7 H-P5, Fig. 2.23: notare come migliori il miss rate usando il prefetch dei dati e le load speculative (tecniche entrambe implementate nell i7) 61 Un caso di studio: il Core i7 Ed ecco il miss rate dei dati rispetto alle cache L2 ed L3. I miss cache di L3 sono un sottoinsieme dei miss cache di L2 che sono un sotto-insieme dei miss cache di L1 (H-P5, Fig. 2.25) 62 Prestazioni degli algoritmi e cache Normalmente, gli algoritmi sono valutati solo a livello teorico, in base al numero di operazioni da compiere per risolvere un problema, rispetto alla dimensione del problema. A livello pratico tuttavia, il modo in cui un computer funziona può influenzare enormemente le effettive prestazioni di un programma. Pensate ad esempio a come interferisce il sistema operativo nell esecuzione di un programma, cioè durante la vita del processo che esegue il codice di quel programma (context switches, page faults, system call ) 63 21

22 Prestazioni degli algoritmi e cache La presenza della cache è uno degli aspetti pratici, nell esecuzione dei programmi, che può influenzarne enormemente i tempi di esecuzione. Così, un algoritmo che sembra più efficiente di altri a livello teorico, può in realtà fornire prestazioni peggiori se fatto girare su un sistema che usa un sistema di cache. Un esempio è il Radix Sort, un algoritmo di ordinamento che, per array molto grandi (milioni di elementi), fornisce prestazioni migliori del Quick Sort in termini del numero di operazioni richieste per l ordinamento. Ma cosa succede se prendiamo in considerazione la cache? 64 Prestazioni degli algoritmi e cache Per questa ragione, sono state inventate nuove versioni di Radix Sort (e di molti altri algoritmi comunemente usati) che tengono in considerazione la presenza della gerarchia di memorie dei computer, in modo da limitare le inefficienze nascoste. (Patterson-Hennessy, Fig. 5.19) 65 DRAM, DIMM, SDRAM, DDR, DDR2, DDR3, GDRAM, FLASH La tecnologia per costruire la memoria principale del computer usa una serie di sigle che indicano diverse tecnologie di costruzione e funzionamento. Sappiamo già cosa vuol dire DRAM. Ecco brevemente le altre: DIMM: Dual Inline Memory Modules. I chip di DRAM sono normalmente montati su piccole schede contenenti da 4 a 16 DRAM organizzate in modo da memorizzare i dati in blocchi di 8 bytes (+ ECC), le DIMM appunto

23 DRAM, DIMM, SDRAM, DDR, DDR2, DDR3, GDRAM, FLASH SDRAM: Synchronous DRAM. Sono DRAM dotate di un clock, in modo da potersi sincronizzare col clock del controller della RAM, e ottimizzare le prestazioni. DDR: Double Data Rate. Sono DRAM (in realtà, SDRAM) in cui è possibile trasferire dati sia sul fronte discendente che su quello ascendente del clock, in questo modo raddoppiando le prestazioni rispetto a normali DRAM. 67 DRAM, DIMM, SDRAM, DDR, DDR2, DDR3, GDRAM, FLASH DDR2, DDR3, DDR4 L acronimo DDR indica ormai comunemente una sequenza di standard, in cui viene man mano aumentato il clock della DRAM, e quindi la quantità di dati trasferiti per secondo In realtà viene anche diminuito il voltaggio di funzionamento, in modo da diminuire i consumi. DDR=2,5 volt; DDR2= 1,8 volt; DDR3=1,5 volts; DDR4=1,2 volts. 68 DRAM, DIMM, SDRAM, DDR, DDR2, DDR3, GDRAM, FLASH Prestazioni e codici delle DDR DRAM nel 2010 (H-P5, Fig. 2.14) 69 23

24 DRAM, DIMM, SDRAM, DDR, DDR2, DDR3, GDRAM, FLASH GDRAM: Graphics (Synchronous) DRAM. Sono particolari tipi di DDR (e infatti sono anche denominate GDDR) adatte a gestire le alte larghezze di banda richieste dai processori grafici. In particolare: Trasferiscono più bit in parallelo delle DRAM Sono collegate direttamente alla GPU mediante saldature (e non mediante normali socket come nelle DIMM) in modo da diminuire la dispersione del segnale e permettere un aumento della frequenza del clock 70 DRAM, DIMM, SDRAM, DDR, DDR2, DDR3, GDRAM, FLASH FLASH Memory. Sono particolari tipi di EEPROM (Electronically Erasable Programmable Read-Only Memory): possono non solo essere lette, ma anche riscritte. Tuttavia, la riscrittura avviene a livello di interi blocchi di dati, ossia anche i dati non modificati del blocco vanno riscritti. Vengono usate al posto degli hard disk in molti dispositivi portatili, dove possono svolgere anche la funzione di memoria primaria. 71 DRAM, DIMM, SDRAM, DDR, DDR2, DDR3, GDRAM, FLASH Le principali caratteristiche delle memorie Flash sono: Sono statiche, quindi mantengono i dati anche se non alimentate Hanno un numero di cicli di riscrittura limitato a circa per blocco. Sono meno costose delle SDRAM e più degli Hard Disk, con un costo di circa 1$ per Gbyte memorizzato. In lettura sono poco più lente delle SDRAM e circa mille volte più veloci degli Hard Disk. In scrittura tuttavia le prestazioni peggiorano sensibilmente (fino a 100 volte più lente delle SDRAM)

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Calcolatori Elettronici 1 Memoria RAM RAM: Random Access Memory Tempi di accesso indipendenti dalla posizione Statica o Dinamica Valutata in termini di Dimensione (di solito

Dettagli

Esercitazione su Instruction Level Parallelism

Esercitazione su Instruction Level Parallelism Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a

Dettagli

Architettura dei computer

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

Dettagli

LA MEMORIA NEL CALCOLATORE

LA MEMORIA NEL CALCOLATORE Tipi di memorie (1) Rappresenta il supporto fisico, il dispositivo su cui sono immagazzinate le informazioni (dati e programmi) ROM (Read Only Memory) 1-2 MByte Cache 1 MByte di sola lettura contiene programmi

Dettagli

Sistemi operativi e distribuiti

Sistemi operativi e distribuiti Sistemi operativi e distribuiti La memoria virtuale Memoria Virtuale Separazione della memoria logica da quella fisica Un programma potrebbe risiedere in memoria solo parzialmente Lo spazio di indirizzamento

Dettagli

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Classificazione delle memorie Funzionalità Memoria di sola lettura (ROM) Memoria di lettura/scrittura Tecnologia Memoria a semiconduttori Memoria magnetica Memoria ottica Modalità

Dettagli

Cache: 1 livello della gerarchia di memoria

Cache: 1 livello della gerarchia di memoria Cache: 1 livello della gerarchia di memoria Processore Controllo Datapath Registri On chip cache Cache di secondo livello (SRAM) Memoria principale (DRAM) Memoria secondaria (Disco) 4 decisioni da prendere

Dettagli

Memorie Caratteristiche principali

Memorie Caratteristiche principali Memorie Caratteristiche principali Locazione: processore, interna (principale), esterna (secondaria) Capacità: dimensione parola, numero di parole Unità di trasferimento: parola, blocco Metodo di accesso:

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La memoria gerarchica La cache: come migliorare le prestazioni Ricapitolando (1) La memoria principale e la cache sono scomposte in blocchi di uguale dimensione L indirizzo del

Dettagli

Gerarchia di Memoria e Memorie Cache. ma rallenta R / nw. Qui : modi di aumentare velocità di R / nw. dati e codice non tutti uguali

Gerarchia di Memoria e Memorie Cache. ma rallenta R / nw. Qui : modi di aumentare velocità di R / nw. dati e codice non tutti uguali Gerarchia di Memoria e Memorie Cache Memoria virtuale: comodità + sicurezza ma rallenta R / nw Qui : modi di aumentare velocità di R / nw Osservazione: dati e codice non tutti uguali alcuni si usano poco

Dettagli

La memoria principale

La memoria principale La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce

Dettagli

Laboratorio di Architettura degli Elaboratori

Laboratorio di Architettura degli Elaboratori Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni

Dettagli

Informatica 10. appunti dalla lezione del 16/11/2010

Informatica 10. appunti dalla lezione del 16/11/2010 Informatica 10 appunti dalla lezione del 16/11/2010 Memorie Dispositivi in grado di conservare al loro interno informazione per un intervallo di tempo significativo RAM chiavetta USB Hard disk CD/DVD SD

Dettagli

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash Funzioni Hash Sommario Tabelle ad indirizzamento diretto e hash Funzioni Hash Requisiti Metodo della divisione Metodo della moltiplicazione Funzione Hash Universale La ricerca Talvolta si richiede che

Dettagli

Caratteristiche di un PC

Caratteristiche di un PC Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal

Dettagli

Elementi di base del calcolatore

Elementi di base del calcolatore Elementi di base del calcolatore Registri: dispositivi elettronici capaci di memorizzare insiemi di bit (8, 16, 32, 64, ) Clock: segnale di sincronizzazione per tutto il sistema si misura in cicli/secondo

Dettagli

Architettura Single Channel

Architettura Single Channel LA RAM 1 Architettura Single Channel CPU ChipSet NothBridge RAM FSB 64 Bits Memory Bus 64 Bits Il Memory Bus ed il Front Side Bus possono (ma non necessariamente devono) avere la stessa velocità. 2 Architettura

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Memorie. Definizione di memoria

Memorie. Definizione di memoria Corso di Calcolatori Elettronici I A.A. 2010-2011 Memorie Lezione 24 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 18 Febbraio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

Dettagli

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile) Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) La macchina di Von Neumann Le periferiche Software (tutto ciò che non e tangibile) Il sistema operativo I programmi applicativi

Dettagli

La gerarchia di Memoria

La gerarchia di Memoria La gerarchia di Memoria Metodologie di progettazione Hw-Sw- LS. Ing. Informatica Gap delle prestazioni DRAM - CPU 000 CPU 00 0 DRAM 980 98 982 983 984 985 986 987 988 989 990 99 992 993 994 995 996 997

Dettagli

Sistemi Operativi Esercizi Gestione Memoria

Sistemi Operativi Esercizi Gestione Memoria Sistemi Operativi Esercizi Gestione Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides ad A. Memo e T. Vardanega Sistemi Operativi - C. Palazzi 64 Esercizio 1 Dato un

Dettagli

Architettura degli elaboratori Docente:

Architettura degli elaboratori Docente: Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File

Dettagli

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

Dettagli

FILE E INDICI Architettura DBMS

FILE E INDICI Architettura DBMS FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Le Memorie interne: RAM, ROM, cache. Appunti per la cl. IV sez. D a cura del prof. Ing. Mario Catalano

Le Memorie interne: RAM, ROM, cache. Appunti per la cl. IV sez. D a cura del prof. Ing. Mario Catalano Le Memorie interne: RAM, ROM, cache Appunti per la cl. IV sez. D a cura del prof. Ing. Mario Catalano 1 Le memorie Cosa vorremmo : una memoria veloce abbastanza grande da contenere tutti i dati e i programmi

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

Memoria Virtuale e I/O

Memoria Virtuale e I/O Memoria Virtuale e I/O Paolo Baldan Baldan@dsi.unive.it Introduzione CPU - progettazione - prestazioni ideali Le prestazioni reali sono influenzate (pesantemente) da memoria e I/O. Memoria - gerarchie

Dettagli

Introduzione alle macchine a stati (non definitivo)

Introduzione alle macchine a stati (non definitivo) Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in

Dettagli

La gestione dell I/O (Cap. 5, Tanenbaum)

La gestione dell I/O (Cap. 5, Tanenbaum) La gestione dell I/O (Cap. 5, Tanenbaum) Prestazioni e generalità Gestione software Supporti su disco Orologi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 1 Prestazioni e generalità

Dettagli

Bit, Byte, Word e Codifica Dati

Bit, Byte, Word e Codifica Dati Bit, Byte, Word e Codifica Dati Come vengono immagazzinati i dati nella memoria? Le informazioni salvate e non all'interno della memoria del calcolatore vengono gestite come un insieme di numeri in sistema

Dettagli

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

Questo paragrafo e quello successivo trattano gli stessi argomenti del capitolo B6 relativo alla soluzione grafica dei sistemi di primo grado.

Questo paragrafo e quello successivo trattano gli stessi argomenti del capitolo B6 relativo alla soluzione grafica dei sistemi di primo grado. D1. Retta D1.1 Equazione implicita ed esplicita Ogni equazione di primo grado in due incognite rappresenta una retta sul piano cartesiano (e viceversa). Si può scrivere un equazione di primo grado in due

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti VBA. Che cos è VBA Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione

Dettagli

Algoritmi. Pagina 1 di 5

Algoritmi. Pagina 1 di 5 Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni

Dettagli

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale 1 (es. 1) Consideriamo un processo con m frame inizialmente uoti. La stringa di riferimento è lunga p e contiene riferimenti a n pagine dierse. Per un qualsiasi algoritmo di rimpiazzamento: a) qual è il

Dettagli

I.I.S. Benvenuto Cellini. Corso di formazione tecnica. Memoria Primaria. Prof. Alessandro Pinto. v.2009

I.I.S. Benvenuto Cellini. Corso di formazione tecnica. Memoria Primaria. Prof. Alessandro Pinto. v.2009 I.I.S. Benvenuto Cellini Corso di formazione tecnica Memoria Primaria Prof. Alessandro Pinto v.9 Memoria: contiene i dati da elaborare, i risultati dell elaborazione, il programma Memoria centrale (o primaria):

Dettagli

TEOREMA DEL RESTO E REGOLA DI RUFFINI

TEOREMA DEL RESTO E REGOLA DI RUFFINI TEOREMA DEL RESTO E REGOLA DI RUFFINI ALCUNI TEOREMI IMPORTANTI Prendiamo una divisione intera tra numeri: 6 : 3 = 2. Il resto di questa divisione è 0, e questo significa che moltiplicando il quoziente

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

Modulo: Elementi di Informatica

Modulo: Elementi di Informatica ARCHITETTURA DI VON NEUMANN Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Fisica medica e statistica Modulo: Elementi di Informatica A.A. 2009/10 Lezione

Dettagli

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente

Dettagli

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43 I dischi ottici Le tecnologie dei dischi ottici sono completamente differenti e sono basate sull'uso di raggi laser Il raggio laser è un particolare tipo di raggio luminoso estremamente focalizzato che

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

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA Lezione n.11 n.11 Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di base relativi

Dettagli

1 Definizione di sistema lineare omogeneo.

1 Definizione di sistema lineare omogeneo. Geometria Lingotto. LeLing1: Sistemi lineari omogenei. Ārgomenti svolti: Definizione di sistema lineare omogeneo. La matrice associata. Concetto di soluzione. Sistemi equivalenti. Operazioni elementari

Dettagli

Un semplice commutatore a pacchetto

Un semplice commutatore a pacchetto Realizzazione di commutatori a pacchetto: cosa c e dentro un router IP? Prof. Ing. Carla Raffaelli Un semplice commutatore a pacchetto Una workstation con schede di rete e software per ricevere pacchetti

Dettagli

Implementazione semplificata

Implementazione semplificata Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento

Dettagli

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti

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

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

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

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Immagini in movimento 2 Immagini in movimento Memorizzazione mediante sequenze di fotogrammi.

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano 22-5-2013

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano 22-5-2013 Architettura del Calcolatore Danilo Ardagna Politecnico di Milano 22-5-2013 Hardware e Software L'hardware è la parte del computer che puoi prendere a calci.! Il software è quella contro cui puoi solo

Dettagli

gli slot per schede esterne (come la scheda video, la scheda audio, la RAM, ecc.); le varie componenti elettroniche (condensatori, transistor, ecc., o

gli slot per schede esterne (come la scheda video, la scheda audio, la RAM, ecc.); le varie componenti elettroniche (condensatori, transistor, ecc., o Scheda madre Costituisce l'impalcatura di ogni computer, cui fanno riferimento tutte le periferiche internet. Se il processore può essere considerato a tutti gli effetti il cervello di un PC, lascheda

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso

Dettagli

Per sistema di acquisizione dati, si deve intendere qualsiasi sistema in grado di rilevare e memorizzare grandezze analogiche e/o digitali.

Per sistema di acquisizione dati, si deve intendere qualsiasi sistema in grado di rilevare e memorizzare grandezze analogiche e/o digitali. Sistema di acquisizione e distribuzione dati Per sistema di acquisizione dati, si deve intendere qualsiasi sistema in grado di rilevare e memorizzare grandezze analogiche e/o digitali. Consiste nell inviare

Dettagli

PDF tratto dal PPT Architettura del Calcolatore

PDF tratto dal PPT Architettura del Calcolatore PDF tratto dal PPT Architettura del Calcolatore Prof. Cavalieri - Facoltà di Ingegneria Università di Catania 1 Architettura Studiata Bus di controllo DMA Bus di indirizzi Clock RAM ROM CPU Interrupt Bus

Dettagli

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer)

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer) Fasi (MIPS) Fasi senza pipeline: IF (istruction fetch): IR Mem[PC] ; NPC PC + 4 ; Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer) Lezione Architettura degli

Dettagli

1 IL LINGUAGGIO MATEMATICO

1 IL LINGUAGGIO MATEMATICO 1 IL LINGUAGGIO MATEMATICO Il linguaggio matematico moderno è basato su due concetti fondamentali: la teoria degli insiemi e la logica delle proposizioni. La teoria degli insiemi ci assicura che gli oggetti

Dettagli

Alcune idee sui sistemi software e la loro architettura

Alcune idee sui sistemi software e la loro architettura Luca Cabibbo Analisi e Progettazione del Software Alcune idee sui sistemi software e la loro architettura Capitolo 92 marzo 2016 Gli orchi sono come le cipolle. Le cipolle hanno gli strati. Gli orchi hanno

Dettagli

ESPONENZIALI E LOGARITMI. chiameremo logaritmica (e si legge il logaritmo in base a di c è uguale a b ).

ESPONENZIALI E LOGARITMI. chiameremo logaritmica (e si legge il logaritmo in base a di c è uguale a b ). ESPONENZIALI E LOGARITMI Data una espressione del tipo a b = c, che chiameremo notazione esponenziale (e dove a>0), stabiliamo di scriverla anche in un modo diverso: log a c = b che chiameremo logaritmica

Dettagli

DEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di

DEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di CORSO BASE DI TECNICO RIPARATORE HARDWARE CPU Docente: Dott. Ing. Antonio Pagano DEFINIZIONE L'unità di elaborazione centrale o CPU è una tipologia di processore digitale general purpose la quale si contraddistingue

Dettagli

Italiano Tecnico 2007-2008. La relazione di lavoro

Italiano Tecnico 2007-2008. La relazione di lavoro Italiano Tecnico 2007-2008 La relazione di lavoro La relazione Si tratta di un testo che deve tracciare il bilancio di un esperienza o il resoconto di una ricerca. Nella relazione prevale la componente

Dettagli

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare

Dettagli

Codice Gray. (versione Marzo 2007)

Codice Gray. (versione Marzo 2007) Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.

Dettagli

La Memoria d Uso. La Memoria d Uso

La Memoria d Uso. La Memoria d Uso Fondamenti dell Informatica A.A. 2000-2001 La Memoria d Uso Prof. Vincenzo Auletta 1 Fondamenti dell Informatica A.A. 2000-2001 Memorie di Massa Processore CU e ALU Memorie di massa esterne La Memoria

Dettagli

Procedura operativa per la gestione della funzione di formazione classi prime

Procedura operativa per la gestione della funzione di formazione classi prime Procedura operativa per la gestione della funzione di formazione classi prime Questa funzione viene fornita allo scopo di effettuare la formazione delle classi prime nel rispetto dei parametri indicati

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 izzazione della memoria principale ria principale è organizzata come

Dettagli

1.1.3 Dispositivi di memorizzazione. 1.1.3.2 Sapere come viene misurata la memoria di un computer: bit, byte, KB, MB, GB, TB.

1.1.3 Dispositivi di memorizzazione. 1.1.3.2 Sapere come viene misurata la memoria di un computer: bit, byte, KB, MB, GB, TB. 1.1.3 Dispositivi di memorizzazione 1.1.3.2 Sapere come viene misurata la memoria di un computer: bit, byte, KB, MB, GB, TB. Il Bit Un computer è un dispositivo digitale Un dispositivo digitale è un apparecchio

Dettagli

Programma del corso. Architettura del calcolatore. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Elementi di Programmazione

Programma del corso. Architettura del calcolatore. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Elementi di Programmazione Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Elementi di Programmazione Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet) Cos è un Calcolatore?

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina

Dettagli

Esercizio: memoria virtuale

Esercizio: memoria virtuale Siano dati un indirizzo logico con la struttura ed il contenuto mostrati in figura, dove è anche riportata la funzione di rilocazione. Si indichi l indirizzo fisico corrispondente all indirizzo logico

Dettagli

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5. Prodotto da INDICE Vista Libretto Livello Digitale 2 Importazione di dati da strumento 3 Inserisci File Vari 5 Compensazione Quote 5 Uscite 6 File Esporta Livellazioni (.CSV) 6 Corso Livello Digitale Pag.

Dettagli

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

I Bistabili. Maurizio Palesi. Maurizio Palesi 1 I Bistabili Maurizio Palesi Maurizio Palesi 1 Sistemi digitali Si possono distinguere due classi di sistemi digitali Sistemi combinatori Il valore delle uscite al generico istante t* dipende solo dal valore

Dettagli

Memoria cache, interrupt e DMA

Memoria cache, interrupt e DMA FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

La memoria: tecnologie di memorizzazione

La memoria: tecnologie di memorizzazione Architettura degli Elaboratori e delle Reti La memoria: tecnologie di memorizzazione Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1 Organizzazione della

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

Nozioni di grafica sul calcolatore. concetti di base

Nozioni di grafica sul calcolatore. concetti di base Nozioni di grafica sul calcolatore concetti di base La riproduzione di immagini fotografiche su computer avviene suddividendo l'immagine stessa in una matrice di punti colorati: pixels I formati basati

Dettagli

Memoria Cache. La memoria cache

Memoria Cache. La memoria cache Testo di rif.to: [Congiu] 6.1 (pg. 193 199) Memoria Cache 06.a Memoria associativa Cache completamente associativa Cache a mappatura diretta Cache set-associativa a n-vien Cache nell Xscale PXA-255 La

Dettagli

APPUNTI DI MATEMATICA ALGEBRA \ CALCOLO LETTERALE \ MONOMI (1)

APPUNTI DI MATEMATICA ALGEBRA \ CALCOLO LETTERALE \ MONOMI (1) LGEBR \ CLCOLO LETTERLE \ MONOMI (1) Un monomio è un prodotto di numeri e lettere; gli (eventuali) esponenti delle lettere sono numeri naturali (0 incluso). Ogni numero (reale) può essere considerato come

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Alfredo Cuzzocrea FUNZIONI DI UN CALCOLATORE Elaborazione Memorizzazione Trasferimento Controllo MACCHINA DI VON NEUMANN TRASFERIMENTO Obiettivo: permettere lo scambio di informazioni tra le varie componenti

Dettagli

La memoria: tecnologie di memorizzazione

La memoria: tecnologie di memorizzazione Architettura degli Elaboratori e delle Reti La memoria: tecnologie di memorizzazione Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano 1 Organizzazione

Dettagli

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Dettagli

VALORIZZAZIONE MOVIMENTI DI SCARICO E VALORIZZAZIONE TRASFERIMENTO COSTI DI ANALITICA

VALORIZZAZIONE MOVIMENTI DI SCARICO E VALORIZZAZIONE TRASFERIMENTO COSTI DI ANALITICA VALORIZZAZIONE MOVIMENTI DI SCARICO E VALORIZZAZIONE TRASFERIMENTO COSTI DI ANALITICA Riportiamo di seguito i vari passaggi per poter gestire la rivalorizzazione, sui documenti di scarico, del costo di

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

Dettagli

Clocking. Architetture dei Calcolatori (Lettere. di Memoria. Elemento. scritti. Tecnologie per la Memoria e Gerarchie di Memoria

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

Dettagli

Compilazione on-line del Piano di Studio

Compilazione on-line del Piano di Studio Compilazione on-line del Piano di Studio 1 Indice 1. INTRODUZIONE E ACCESSO AL SISTEMA... 3 1.1. Accesso alla funzionalità... 3 2. COMPILAZIONE DEL PIANO DI STUDIO... 4 2.1. Struttura della procedura di

Dettagli

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Il Modello di von Neumann (2) Prevede 3 entità logiche: Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura

Dettagli

FONDAMENTI DI INFORMATICA Lezione n. 11

FONDAMENTI DI INFORMATICA Lezione n. 11 FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di

Dettagli

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). RCHITETTUR DI UN ELORTORE Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). MCCHIN DI VON NEUMNN UNITÀ FUNZIONLI fondamentali Processore (CPU) Memoria

Dettagli

La codifica. dell informazione

La codifica. dell informazione La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli