Microarchitettura dei processori per Pc

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Microarchitettura dei processori per Pc"

Transcript

1 Microarchitettura dei processori per Pc Le tecnologie delle Cpu moderne si sono affinate al punto da rendere i processori molto complessi. Analizziamo il funzionamento di Athlon e Pentium 4. Analizzando la complessa architettura delle ultime generazioni di processori, impressiona come ci si ritrovi dopo solo pochi anni a descriverla come tecnologia obsoleta e di semplice comprensione se paragonata a quella che nel corso del tempo le è succeduta. Ogni nuovo processore porta con se il frutto dell esperienza e della ricerca, sotto forma di qualche tipo di nuova tecnologia; a causa della rapidità con cui si evolvono la stessa tecnologia e il mercato, il tempo per comprendere a fondo le potenzialità racchiuse in un nuovo processore è così breve che, quando si crede di poter ormai dominare i segreti della sua architettura, questa viene soppiantata in favore di qualcosa che promette prestazioni decisamente superiori. Questo aspetto è stimolante per chi vive con la passione di scoprire e sfruttare le nuove tecnologie, ma per molti si traduce in una frustrante rincorsa a qualcosa che diventa vecchio ancor prima di averlo tra le mani. Quello che ci proponiamo in questa sede è di approfondire il funzionamento di un moderno microprocessore per Pc, muovendosi passo dopo passo all interno dei suoi meccanismi di funzionamento; in questo modo intendiamo fornirvi anche uno strumento di analisi per esaminare le diverse scelte tecniche adottate dai produttori. Per fare questo è necessario costruire un modello analitico di valenza generale con cui poter comparare le diverse tecniche di progettazione dei processori x86, e l impatto che queste hanno sul funzionamento del Pc. In realtà quello che ci proponiamo non è un compito semplice, in quanto esistono alcune differenze radicali nelle architetture proposte dai diversi costruttori, tali da rendere difficoltoso un raffronto diretto. La strada che si può percorre per comprendere e raffronaccesso istruzione decodificazione istruzione esecuzione accesso ai dati scrittura risultati Schema di funzionamento generale di un processore. I passaggi a sinistra possono essere spezzati, combinati o riarrangiati ma sono sempre presenti in ogni microarchitettura. sottosistema memoria Le operazioni dei computer in 5 stadi Di J. Scott Gardner > Stadio 1 Accesso all istruzione (Instruction Access, IA) > Stadio 2 Decodifica dell istruzione (Instruction Decode, ID) > Stadio 3 Esecuzione (EX) > Stadio 4 Accesso ai dati (Data Access, DA) > Stadio 5 Salvataggio dei risultati (Store Results, Write Back, WB) tare al meglio i nuovi processori è di scendere sino ai principi base dell architettura dei processori e mostrare le differenti vie scelte dai produttori per la progettazione dei moderni computer. In questa analisi è importante non perdere di vista un aspetto essenziale: quello che maggiormente conta è la capacità offerta dalla Cpu nell eseguire il software, astraendoci dalle particolari scelte tecniche privilegiate da diversi approcci di costruzione del processore. È infatti assodato che quello che conta maggiormente nell efficienza della macchina Pc è la rimozione dei colli di bottiglia, principali responsabili di rallentamenti e limitazioni alle prestazioni. La progettazione di un processore è un insieme di trucchi ingegneristici e di avanzate tecniche di costruzione, che permettono di stipare in pochi mm quadrati milioni di transistor. Osservando con occhio distaccato un computer, si nota come questo non sia altro che una macchina in grado di leggere istruzioni, decodificarle ed eseguirle. Se il comando in esecuzione necessita di recuperare o immagazzinare alcuni dati, il computer ricerca la locazione per i dati e li sposta. Se non guardiamo al risultato finale questo è quello che fa un computer. Possiamo dividere queste operazioni in un serie di passaggi intermedi. Alcuni progettisti riarrangiano, combinano o spezzano questi passaggi, ma ogni microarchitettura presente nei computer esegue questi cinque stadi. Possiamo quindi appoggiarci a questo semplice schema per analizzare anche le Cpu più complicate. I cinque stadi possono essere eseguiti completamente per una singola istruzione prima di affrontarne una nuova. La complessità delle Cpu inizia nel momento stesso in cui si cerca di superare questo limite. > Accesso alle istruzioni Un istruzione codificata viene letta dal sottosistema di memoria a un indirizzo determinato da un contatore di 316

2 programma (Program Counter, PC). In questa analisi trattiamo la memoria come un oggetto che affianca l unità di esecuzione della Cpu. > Decodifica dell istruzione Dopo che l istruzione codificata è stata letta, viene tradotta in comandi di controllo che possono essere eseguiti dai circuiti logici del processore. Ogni codice operazione (Opcode) rappresenta una differente istruzione e istruisce la macchina ad operare in modi diversi. Incapsulate nelle Opcode (o immagazzinate nei Byte seguenti all istruzione) trovano posto informazioni di indirizzamento o dati che devono essere processati immediatamente. Le informazioni aggiuntive presenti nelle Opcode possono rappresentare un nuovo indirizzo che deve essere caricato nel Contatore di Programma (branch address, indirizzo di salto) o una locazione di memoria dati (caricare o salvare). > Esecuzione Nello stadio di esecuzione la macchina esegue l operazione comandata dall istruzione. Questa potrebbe essere un operazione matematica (moltiplicazione, addizione, ecc.) o un operazione per muovere alcuni dati. Se l istruzione implica l azione su dati in memoria il processore deve calcolare un indirizzo effettivo (Effective Address, EA); questo rappresenta l attuale locazione dei dati nel sottosistema di memoria, calcolato sullo sfasamento degli indirizzi o risolvendo riferimenti indiretti. > Accesso ai dati A questo livello vengono inviati gli Indirizzi Effettivi al sottosistema di memoria, di modo che le istruzioni possano ricevere i dati di cui necessitano o immagazzinare dati ad indirizzi specifici. > Write back Non appena il processore ha condotto a termine l esecuzione dell istruzione, dopo l eventuale lettura di dati in memoria, i risultati vengono scritti nei registri di destinazione (se previsto). Il modello che abbiamo appena presentato sembra molto semplice, ma in realtà il suo funzionamento si complica molto quando si trova ad operare con lo schema di indirizzamento di un processore x86. Questo tipo di processore è di tipo registro-memoria (register-memory), ovvero presenta un architettura in cui anche le istruzioni della Alu (Aritmetic Logic Unit, Logico Aritmetica) possono accedere alla memoria. In contrapposizione l architettura Risc (Reduced Intruction Set Computing) permette soli comandi di lettura e scrittura per lo spostamento di dati; questo tipo di architettura è denominata registro-registro. Le istruzioni Cisc (Complex Instruction Set Computing) vengono infatti tradotte in istruzioni del tipo Risc. Queste consentono una più facile ottimiz- zazione dell hardware e possono essere eseguite a una frequenza più elevata. L approccio di tradurre internamente alla Cpu le istruzioni Cisc in istruzioni Risc ha permesso all architettura x86 di resistere all avanzata dell architettura puramente Risc. Fino a questo momento abbiamo trattato il sottosistema memoria come un oggetto non ben definito, ma in realtà gioca un ruolo di primo piano nel funzionamento del processore. Sia lo stadio di accesso alle istruzioni che quello di accesso ai dati necessitano di appoggiarsi alla memoria. La ricerca di un ottimizzazione dell accesso alla memoria ha portato già nel 1940 al modello di accesso denominato Architettura Harvard; in questo schema di funzionamento la memoria viene suddivisa in due sezioni distinte: una per le istruzioni e una per i dati; in questo modo ogni stadio ha un accesso dedicato alla sua sezione. Per rendere più semplice ai programmatori la realizzazione del software, la maggior parte degli indirizzi sono indirizzi virtuali, che permettono di ottenere grandi blocchi lineari di memoria. Gli indirizzi virtuali vengono poi tradotti in indirizzi fisici riferiti alla effettiva memoria del computer. Nella quasi totalità dei chip x86, le memorie cache contengono dati di memoria che sono indirizzati con indirizzi fisici. Prima di accedere alla cache, gli indirizzi virtuali vengono tradotti all interno del TLB (Translation Look-aside Buffer). Il TLB è come un archivio degli indirizzi virtuali più recenti che corrispondono a indirizzi fisici, che a loro volta puntano alle effettive zone di memoria in cui sono contenute le informazioni. Se l indirizzo virtuale richiesto dalla Cpu non è presente nella tabella TLB, evento denominato un TLB mancato, allora la tabella deve essere aggiornata in base a una tabella più grande presente nella memoria centrale; l operazione di accesso alla memoria centrale comporta però un notevole rallentamento. Alcuni processori possiedono differenti livelli di TLB e di cache; la loro struttura sarà importante per valutare e confrontare i diversi core delle Cpu. > La Pipeline I cinque stadi possono essere processati completamente per una singola istruzione prima di affrontarne una nuova. La complessità delle Cpu inizia nel momento stesso in cui si cerca di superare questo limite. Invece di attendere che una singola istruzione abbia completato tutti e cinque gli stadi del nostro modello, è possibile inviare al primo stadio una nuova istruzione non appena la precedente sia passata al secondo stadio. Il meccanismo della pipeline è quello alla base di una catena di montaggio; ogni stadio della pipeline è paragonabile ad un segmento della catena di montaggio. Con questo nuovo approccio il processore del nostro schema base è capace di elaborare contemporaneamente cinque istruzioni, mantenendo pieni tutti e cinque gli stadi della pipeline. In questo modo la Cpu processa 318

3 cinque istruzioni in parallelo, riferendosi al parallelismo a livello di istruzione (ILP, Instruction Level Parallelism). Il microprocessore opera, in questo modo, cinque volte più velocemente. Ad ogni ciclo di clock una istruzione esce dalla pipeline; questo implica che la cache e tutto l insieme del sistema dovrebbero funzionare cinque volte più velocemente per non avere riduzioni delle prestazioni. L approccio adottato trascura in realtà molti aspetti e sottintende implicitamente alcune ipotesi: abbiamo infatti assunto che ogni stadio consuma lo stesso quantitativo di tempo per essere portato a termine e che l ordine delle istruzioni presenti nella pipeline sia esatto; niente vieta infatti che una delle istruzioni costituisca un salto di programma, ovvero una diramazione verso una parte differente del codice di esecuzione. Quelle che si intravedono sono situazioni denominate rischi di pipeline (pipeline hazard), e il loro effetto è uno stallo del processo di esecuzione. Esistono principalmente tre tipi di pericoli: il primo è un rischio sui dati che consiste nel cercare di usare dati ancora non disponibili, generalmente causato da una dipendenza di dati. Il secondo è un rischio sul controllo, generato dalla presenza nella pipeline di istruzioni che risiedono dopo una diramazione del codice. L ultimo è un rischio di struttura, ovvero un conflitto di risorse, che accade in presenza di una richiesta da parte di istruzioni differenti della stessa risorsa hardware (registri); un esempio potrebbe essere la necessità di utilizzare la stessa locazione di memoria per dati e istruzioni nello stesso momento. Esistono diversi accorgimenti per ridurre il rischio di stalli della pipeline; nella pratica, l attuale schema di funzionamento delle Cpu comporta l insorgere di questi stalli. Se un istruzione provoca questa situazione, l esecuzione di questa viene bloccata, mentre le istruzioni che si trovano negli stadi successivi procedono lungo la pipeline; quella che si crea è una sorta di bolla tra le istruzioni bloccate e quelle che procedono lungo la catena di montaggio. Quando l istruzione bloccata riprende il suo percorso, la bolla viene spinta lungo la fine della pipeline. Alcuni errori, come quelli di controllo dovuti a una errata predizione di diramazione, determinano la necessità di eliminare le successive istruzioni nella pipeline in quanto la loro esecuzione non è necessaria. Se l indirizzo della diramazione esatta non si trova nella cache delle istruzioni, allora la pipeline può stallare per molti cicli. Lo stallo viene esaltato dalla latenza per accedere alla cache di secondo livello (L2) o, peggio, alla memoria di sistema. Gli stalli dovuti alle diramazioni sono uno dei principali problemi, insieme ai tempi di accesso alla memoria, che affliggono le prestazioni dei processori. Per alcuni tipi di rischio sui dati, la soluzione comune- Istruzione 1 Istruzione 2 Istruzione 3 Istruzione 4 Istruzione 5 1 IF IF= instruction fetch (caricamento istruzione) ID= instruction decode (decodifica istruzione) EX= instruction decode (decodifica istruzione) ID EX DA WB IF ID EX DA WB IF ID EX DA WB IF ID EX DA WB IF ID EX DA WB DA= data access (accesso ai dati) WB= write back (scrittura risultati) La struttura a pipeline consente di cominciare l'esecuzione di un'istruzione prima che quella precedente abbia terminato il proprio percorso, aumentando l'efficienza di esecuzione. mente utilizzata è quella di far avanzare il risultato di una istruzione direttamente a un altra istruzione presente nella pipeline (data forwarding o bypassing). L operazione risulta molto più rapida che scrivere il risultato nella cache e costringere l istruzione successiva a ricaricare i dati. Inoltre i dati caricati dalla memoria in un registro possono essere inviati direttamente alla Alu, senza passare per lo stadio di scrittura nella cache. Un istruzione nella fase di salvataggio dati può quindi inviare i risultati direttamente ad una istruzione che si trova nello stadio di esecuzione. La suddivisione in stadi permette di eseguire le istruzione più velocemente; l aumento degli stadi della pipeline comporta un maggiore rischio di stalli, ma consente di incrementare le frequenze di funzionamento. I processori x86 che analizzeremmo più avanti possiedono tutti pipeline con un numero di stadi superiore a cinque. La tecnica di suddividere l esecuzione in diverse fasi, originariamente denominata super-pipelining, prende il nome di hyper-pipelining nel caso del Pentium 4 di Intel. Anche se, come abbiamo accennato, i rischi nella pipeline divengono maggiori, il super-pipelining conferisce maggiore granularità alle istruzioni, con una conseguente riduzione delle situazioni in cui un istruzione veloce debba attendere che una lenta venga portata a termine. L impiego di alcune tecniche di ottimizzazione nei disegni dei circuiti consentono inoltre di gestire i rischi di pipeline e di portare le frequenze di funzionamento molto in alto. In definitiva il limite che si presenta all orizzonte è la velocità con cui i circuiti digitali riescono a trasferire le informazioni tra i diversi stadi. Per pilotare un operazione all interno della pipeline è necessario che ogni nuovo stadio raggiunto dall istruzione riceva le informazioni dallo stadio precedente, in quanto ogni stadio contiene informazioni differenti. Le informazioni di ogni stadio sono contenute in una memoria speciale generalmente chiamata latch. Con l aumentare degli stadi in cui viene suddivisa la pipeline e conseguentemente con la diminuzione del lavoro svolto da ogni singolo stadio, il tempo impiegato per trasferire man mano lungo la pipeline i dati attraverso i latch dei diversi stadi diventa una percentuale significativa dei cicli di clock. Con il tipo di struttura descritta fino ad ora ogni stadio può eseguire un singolo compito per ogni ciclo di clock. In un architettura di tipo superscalare ven- 320

4 gono aggiunte risorse hardware per permettere un parallelismo di esecuzione: un esempio è la presenza di due pipeline distinte. In una struttura multi-compito si introducono ulteriori possibilità di incappare in rischi sui dati, in quanto un operazione può dipendere da dati presenti nell altra pipeline; in queste situazioni il controllo e la gestione degli rischi di pipeline assume una rilevanza primaria. > Architettura superscalare contro super-pipelining Un approccio differente, che si posiziona a metà strada tra un sistema superscalare e uno di tipo super-pipelining, si realizza duplicando solo alcune porzioni della pipeline. La sezione dove poter impiegare la strategia superscalare è individuabile nell unità d esecuzione, poiché questa si trova ad operare tipicamente con tre tipi di dati: operazioni con interi, operazioni in virgola mobile e operazioni multimediali. L architettura superscalare permette quindi in teoria di eseguire contemporaneamente differenti operazioni proprio per la presenza di sufficiente hardware per evitare l avvenimento di rischi di struttura. In questo momento può sembrare tutto alquanto confuso, ma le idee si faranno più chiare quando verranno analizzate Cpu reali con esempi pratici. L obbiettivo era introdurre l idea di un architettura che sfrutta il disegno superscalare per realizzare combinazioni di pipeline che funzionano in contemporanea. Un esempio noto si riscontra con le istruzioni multimediali, dove si eseguono operazioni identiche in modo ripetitivo su differenti set di dati; per ottenere migliori prestazioni si potrebbe realizzare uno speciale disegno dei circuiti per rendere il processo più efficiente. Quello che ne risulta è la tecnica Single Instruction Multiple Data (Simd, singola istruzione con dati multipli). La capacità di eseguire più velocemente le istruzioni e di eseguirne anche più di una contemporaneamente implica uno stress per la memoria. Cerchiamo di comprendere meglio con un esempio: una singola istruzione che si muove lungo la pipeline può richiedere la lettura e la scrittura di più dati; la riproduzione di uno stream video implica alcune precise restrizioni temporali per ottenere un risultato fluido e gradevole. Il flusso di dati da elaborare deve quindi essere costante e corretto, così che ogni istruzione e dato si trovi al suo posto per non creare stalli alla pipeline. Questo è uno dei problemi attorno a cui ruotano i produttori, ovvero la realizzazione di processori capaci di eseguire il maggior numero di istruzioni in parallelo. Con i limiti imposti da set di istruzioni che risalgono agli anni 70. L attenzione dei progettisti è rivolta quindi ad ottimizzare al meglio principalmente due degli stadi prima descritti: il recupero dell istruzione (Instruction Fetch) e l accesso ai dati (Data Access); se non correttamente gestiti questi due stadi possono essere fonte di grossi cali di prestazioni. Uno dei problemi è dovuto al fatto che le pipeline dell ultima generazione di processori operano a frequenze nell ordine del GHz e il recupero dei dati nella memoria di sistema può richiedere più di cento cicli della pipeline. La chiave per risolvere il problema è assicurarsi che l istruzione o i dati richiesti siano presenti in un buffer che affianca la pipeline o al massimo in uno stadio superiore della cache, senza doverli recuperare dalla memoria centrale. > Il segreto è prevedere Se fosse possibile predire con una certezza del 100% quale diramazione seguirà l esecuzione del programma (sia in avanti sia indietro), sarebbe possibile accodare all istruzione di salto la corretta sequenza di istruzioni. Nella realtà questo non è possibile, ma l impiego di tecniche di predizione garantisce un marcato incremento delle prestazioni, soprattutto per le architetture con lunghe pipeline come quelle dei moderni processori. Come per le istruzioni, anche la predizione degli accessi ai dati in memoria consente di ridurre in modo drastico i rallentamenti nell esecuzione del programma. Poter riempire in anticipo un buffer con i dati che serviranno alle istruzioni evita di attendere il tempo aggiuntivo per l accesso alla memoria centrale. Particolari istruzioni inserite nel codice permettono di fare questo con l architettura x86. Dopo questa rassegna generale dei problemi connessi con la progettazione delle Cpu è giunto il momento di analizzare in modo più concreto alcune delle recenti innovazioni introdotte nel campo dei microprocessori. Per ottenere i migliori risultati i progettisti studiano e combinano tra loro diversi algoritmi di predizione. La casistica delle diramazioni comprende tre tipi di salti: > Salto condizionale in avanti: a causa di una condizione di esecuzione il PC (contatore di programma, program counter) viene modificato così da puntare a una istruzione che si trova avanti nel flusso delle istruzioni. Salto condizionale indietro: il PC viene modificato così da puntare a una istruzione che si trova nella parte antecedente del flusso di istruzioni. Salto incondizionato: include salti, richiami di procedure e ritorni senza che sia verificata una specifica condizione. > Predizione statica in base a salti statistici Questo metodo di predizione si basa su considerazioni statistiche: sono più frequenti i salti indietro dei salti in avanti, per la maggiore presenza di loop all interno del codice del programma. In base a questa considerazione l architettura può essere ottimizzata per analizzare in maniera ottimale la presenza di eventuali salti indietro non appena un istruzione viene decodificata. > Predizione di salto dinamica basata su una memoria dei salti (BHB, Branch History Buffer): 332

5 Un metodo più raffinato di quello statico consiste nel registrare in una memoria buffer un bit che indichi, per ogni istruzione di salto, se il salto è stato recentemente effettuato oppure no. Se il bit indica che il salto è stato effettuato di recente, allora la pipeline può portarsi avanti e prepararsi ad elaborare le istruzioni relative a quel salto. Nel caso in cui avvenga un errata predizione vi sarà di conseguenza la lettura e l immissione nella pipeline di istruzioni che non devono essere eseguite; in questo caso la pipeline dovrà essere svuotata e verrà corretto il bit all interno del BHB. In aggiunta a un BHB di larghe dimensioni, la maggior parte degli algoritmi di predizione utilizza un secondo buffer, BTB (Branch Target Buffer, tabella di puntamento dei salti), dove vengono archiviati gli indirizzi dei salti effettuati. Nella tabella vengono registrati gli indirizzi a cui puntano le istruzioni di salto eseguite di recente dal codice del programma. Questa tabella permette, quindi, alla Cpu di capire se una istruzione costituisce un salto e di iniziare a reperire gli indirizzi nei primi stadi della pipeline. Se l istruzione punta a uno degli indirizzi già presenti nel BTB allora viene identificata come un salto; viene quindi avviata la sua esecuzione nella pipeline con le istruzioni seguenti corrette. Questa tecnica è particolarmente efficace in quanto molti programmi utilizzano in ripetizione o con frequenza alcune routine; la Cpu riesce a recuperare gli indirizzi e le istruzioni da inserire nella pipeline in anticipo, così che le istruzioni corrette si trovino nella pipeline nel momento in cui vengono richiamate. Per ottimizzare ulteriormente l esecuzione del programma, il normale ordine di esecuzione delle istruzioni può essere riarrangiato. Per i processori della famiglia Risc questo tipo di procedimento è chiamato esecuzione speculativa o esecuzione fuori ordine ; Intel ha preferito chiamare in altro modo lo stesso tipo di procedimento, definendolo esecuzione dinamica. Sia AMD che Intel impiegano un architettura che, dopo aver decodificato le istruzioni di partenza in istruzioni del tipo Risc, riarrangia il normale ordine d esecuzione in base alla migliore disponibilità delle risorse. Una vola che l esecuzione dinamica, o fuori ordine, è stata completata i risultati vengono riordinati secondo l ordine iniziale. Uno dei problemi dell esecuzione speculativa è la possibilità che diverse istruzioni cerchino di utilizzare contemporaneamente gli stessi registri. È quindi necessario costruire una tabella RAT (Register Alias Table, tabella di reindirizzamento dei registri), che serve a rinominare e mappare gli otto registri x86 in un più ampio set di registri interni al processore. Una determinata istruzione può quindi caricare e salvare dati usando dei registri temporanei, mentre il RAT tiene traccia della corretta mappatura e corrispondenza dei registri virtuali con quelli reali. Una volta che le istruzioni sono state eseguite e riordinate i registri vengono riportati al loro stato corretto partendo dai registri temporanei. Quando un istruzione viene decodificata viene quindi permessa la sua esecuzione fuori ordine non appena i dati sono disponibili; uno speciale buffer di riordinamento (ROB, reorder buffer) tiene traccia dello stato di avanzamento dell istruzione, ovvero dei momenti in cui gli operandi divengono disponibili e del momento in cui l istruzione ha completato la sua esecuzione. Nel momento in cui un istruzione ha terminato la sua esecuzione può essere riordinata mentre il ROB viene ripulito. Nello stesso modo in cui le istruzioni vengono eseguite utilizzando un metodo speculativo è possibile anche accedere alla memoria per operazioni di lettura e scrittura dei dati in modo speculativo. La scrittura dei dati in memoria crea meno problemi della lettura; i dati in scrittura vengono ordinati in un buffer e mandati alla memoria. Per evitare i tempi di latenza dell accesso alla memoria centrale è invece molto interessante riuscire a predire quali sono i dati necessari alle istruzioni presenti nella pipeline. > Intel Pentium 4 Intel sta promuovendo vigorosamente il Pentium 4 come il futuro dei processori per i sistemi desktop; concentreremo quindi la nostra analisi dei processori Intel su questa architettura, riferendoci alla versione con core Willamette. > L architettura NetBurst I cambiamenti architetturali che si annidano sotto la dicitura NetBurst consistono in una pipeline più profonda di quelle attualmente diffuse, in una nuova architettura dei bus, maggiori risorse di esecuzione e cambiamenti al sottosistema della memoria. La pipeline del Pentium 4 consiste di 20 stadi, a differenza dei soli 10 stadi di cui dispone l architettura del Pentium III. Uno degli elementi interessanti della nuova architettura del Pentium 4 è la presenza di due stadi dedicati a instradare i dati all interno del chip. Intel ha dovuto lavorare specialmente per evitare che si verifichino stalli della pipeline; se una pipeline così profonda dovesse essere svuotata di frequente si avrebbe un rapido degrado delle prestazioni, pur disponendo di una frequenza di clock molto elevata. Eventuali stalli che necessitino il completo svuotamento della profonda pipeline del Pentium 4, comportano un notevole impatto sulle prestazioni. In questi casi i benefici di una pipeline profonda vengono persi e un disegno più semplice potrebbe risultare più performante. Il 323

6 vantaggio della pipeline a più stadi è di eseguire un minor lavoro ad ogni passo; in questo modo la lunghezza dei cicli può essere ridotta, consentendo così di aumentare la frequenza di clock e quindi la velocità di esecuzione. Di conseguenza una pipeline profonda necessita di funzionare a frequenze più alte per eseguire la stessa quantità di lavoro di una pipeline più corta funzionante ad una frequenza inferiore. L impiego di una pipeline profonda a molti stadi consente di avere in esecuzione più istruzioni nello stesso momento; questo consente, analizzando le istruzioni in esecuzione, di ricercare quelle che possono essere eseguite in parallelo. Il Pentium 4 è capace di mantenere 126 istruzioni in attesa, mentre attende che altre istruzioni completino il loro ciclo. Esiste un legame stretto tra la dimensione della cache e la velocità, principalmente per la necessità di pilotare un maggior numero di segnali nelle griglie Sram. Per il Pentium 4, Intel ha deciso di impiegare una cache di dimensioni molto ridotte per limitare la latenza durante gli accessi. Tuttavia, nel caso del Pentium 4, sono comunque necessari due cicli per un accesso alla cache, che salgono a 6 per la richiesta di un dato in virgola mobile. Scendendo lungo la gerarchia della cache troviamo la cache L2 della capacità di 256 KByte; questa dispone di una linea da 128 byte e di una associatività a 8 vie. Una struttura a 8 vie significa avere 8 set di marcatori, capaci di fornire la stessa efficienza di una struttura completamente associativa; questo rende più efficiente la cache da 256 KByte del Pentium 4 in quanto rende il rateo di accesso pari al 60% di quello di una cache mappata in modo diretto. Il rovescio della medaglia è che una cache con associatività a 8 vie risulta più lenta negli accessi. Intel afferma che il ritardo per la lettura di un dato è pari a sette cicli, ma la cache è in grado di trasferire nuovi dati ogni 2 cicli. È da ricordare che la cache L2 è condivisa tra la ricerca di istruzioni e dati in modo unificato. Una delle caratteristiche interessanti della cache L2 del Pentium 4 è l allargamento della linea dati a 128 Byte, ALU (double speed) Add/Sub logic Store data Branches Exec Port 0 Exec Port 1 FP Move FP/SSE Move FP/SSE Store FXCH ALU (double speed) Integer operation FP execute Add/Sub Shift/rotate FP/SSE -Add FP/SSE -Mul FP/SSE -Div MMX Il motore di esecuzione del Pentium 4. E' possibile eseguire un massimo di quattro operazioni sulle ALU per ciclo di clock (le due unità lavorano a doippia frequenza), in contemporanea a due operazioni di lettura e scrittura. Load port Memory Load All loads LEA SW prefetch Store port Memory Store Store Address a differenza dei canonici 32 Byte. Una linea più larga può incrementare gli hit raggiunti, ma richiede un tempo più lungo per essere riempita dal bus di sistema. Qui entra in gioco il nuovo bus del Pentium 4. Impiegando una frequenza base di 100 MHz e trasferendo dati quattro volte per ciclo, il bus a 64 bit riesce a trasferire 32 Byte ad ogni ciclo. Questo si traduce in una ampiezza di banda pari a 3,2 GByte al secondo. Per riempire una linea della cache L2 sono quindi necessari quattro cicli di clock, il medesimo numero necessario impiegando il bus a 32 Byte dell architettura P6. È interessante notare che il bus di sistema ha un protocollo di 64 Byte (corrispondente alla lunghezza di una linea della cache L1) e necessita di due richieste alla memoria centrale per riempire una linea della cache L2. Il bus veloce aiuta nel trasferimento dei dati dal Northbridge alla Cpu; tuttavia la maggiore dimensione del canale causa un ritardo prima che sia completato il riempimento del bus dalla memoria. Diventa essenziale un efficiente sistema di previsione e pre-caricamento, senza il quale il Pentium 4 risulterebbe poco performante in molte applicazioni. La cache L2 richiede automaticamente in anticipo le due linee successive (256 byte) alla locazione attualmente richiesta e in lettura. Questo tipo di ricerca in anticipo consente di mantenere e monitorare la storia delle mancate previsioni e di evitare letture anticipate errate. La logica del reperimento in anticipo via hardware consente di caricare i dati corretti in anticipo, con un marcato incremento delle prestazioni in molte applicazioni. Intel vanta nuovi algoritmi che consentono di incrementare la velocità di accesso agli 8 KByte della cache L1, con associatività a quattro vie. Il Pentium 4 processa le istruzioni di caricamento ricercando i dati sempre all interno della cache L1 e considerando il dato caricato come corretto, senza bruciare alcun ciclo extra per effettuare un controllo sull effettiva correttezza del dato cercato. L istruzione è inviata direttamente lungo la pipeline; se interviene un mancato successo della lettura del dato corretto, si assume che il dato corretto sia disponibile nell arco di due cicli. Una volta che viene scoperto il mancato successo dell istruzione, il dato corretto viene portato attraverso le gerarchie della memoria e l istruzione viene eseguita nuovamente. Non è effettivamente chiaro quanto sia efficiente questo tipo di approccio, in quanto il suo successo dipende dal tipo di struttura del software. Il disegno del Pentium 4 sembra studiato appositamente per effettuare operazioni su flussi di dati multimediali, questi algoritmi sono molto regolari e richiedono alte prestazioni. Se i dati non sono disponibili nella cache L1, un canale ampio 32 Byte, che collega la cache L1 a quella L2, consente di riempire ciascuna linea da 64 Byte consumando due cicli di clock. Il Pentium 4 può gestire contemporaneamente quattro differenti procedure susseguenti a mancati hit nella cache L1. Confidando nella capacità di predizione del Pentium 4, i progettisti hanno optato per una cache di primo livello 326

7 Struttura del K7 64 KByte cache istuzioni Tabella di previsione dei salti Codice x86 Decodificatori a tre vie Macro OPS di controllo istruzioni (72 voci) Operazioni RISC Ordinatore degli interi (15 voci) Ordinatore della Fpu (36 voci) esecuzione interi generaz. indirizzi esecuzione interi generaz. indirizzi esecuzione interi generaz. indirizzi Fpu Fpu MMX 3DNow Fpu MMX 3DNow Risultati Load/Store unit (44 voci) Risultati Interfaccia per il bus di sistema Bus di sistema 64 KByte cache per i dati SRAM L2 Controller cache 12 (con Tag) differente da quella classica. Invece di immagazzinare le istruzioni x86, la trace cache le contiene nel formato simile a quello Risc. Intel chiama questo tipo di istruzioni micro-ops e la trace cache consente di contenerne 6 per ogni linea. Per le istruzioni già decodificate sono già noti eventuali salti e il processore è in grado di recuperare le istruzioni che seguono ad essi. I salti condizionati sono le diramazioni più problematiche da gestire, in quanto non si può essere certi della direzione che verrà seguita nella diramazione. È quindi possibile che nella trace cache vengano decodificate parecchie istruzioni non necessarie. In questo caso è auspicabile che la trace cache contenga anche le informazioni relative all altra diramazione, altrimenti i dati relativi a questa devono essere recuperati dalla cache L2 o addirittura dalla memoria di sistema. Se il sistema di predizione lavora in modo corretto, la trace cache fornisce al pianificatore d esecuzione tre micro-ops ad ogni ciclo di clock. Il decodificatore è capace di tradurre una singola istruzione x86 ad ogni ciclo di clock, meno di quanto sono capaci di fare altre architetture. Tuttavia, poiché le micro-ops sono conservate e riutilizzate all interno della trace cache, il flusso di tre micro-ops per ciclo dovrebbe essere garantito. Se un istruzione x86 richiede più di quattro micro-ops, allora l istruzione viene decodificata attraverso una ROM che contiene le informazioni sulle micro-ops corrispondenti. Tutte le architetture dei processori x86 utilizzano una sorta di ROM per le istruzioni poco utilizzate o per quelle particolarmente lunghe. Il processore deve poi organizzare la distribuzione del lavoro su sette differenti unità Schema logico di un Athlon. Le istruzioni organizzate in MacroOP possono venire immagazinate e esguite non appena possibile dalle unit sugli interi, mentre le unit in virgola mobile possono processare fino a tre istruzioni contemporanee parallele. Le performance del motore di esecuzione dipendono dal particolare tipo di programma in esecuzione. Se sono presenti solo operazioni per la ALU e in contemporanea operazioni di lettura e scrittura, allora è possibile l esecuzione di 6 micro-ops per ciclo (quattro operazioni sulle ALU, poiché queste sono capaci di due operazioni per clock). Il buffer di riordinamento può lavorare tre micro-ops ogni ciclo, così da pareggiare le micro-ops fornite dal decodificatore. Una delle chiavi per evitare cali nelle prestazioni è quella di evitare gli sbagli di predizione dei salti. Quando un istruzione viene rilasciata dal ROB, l indirizzo del salto viene utilizzato per aggiornare il BTB e il BHB. Intel ha accomunato il BTB e il BHB in un unico buffer, denominato comunque BTB. > Supporto alle istruzioni multimediali Il Pentium 4 supporta le estensioni Mmx e Sse al codice x86; inoltre aggiunge a queste altre 144 nuove istruzioni raccolte sotto il nome Sse2. > Conclusioni riguardo il Pentium 4 Il disegno del Pentium 4 è stato studiato per scalare verso l alto le frequenze di funzionamento; non è infatti un caso che attualmente il processore Intel sia l unico ad aver raggiunto i 2 GHz. A causa della sua particolare architettura, molto sensibile ai cache miss, ovvero alle situazioni in cui il dato richiesto non sia presente nella cache, diventa un operazione critica aumentare la memoria cache e quindi i tempi di latenza per la sua lettura. L aumento della frequenza di funzionamento associato ad una corretta compilazione del codice rende 328

8 questo microprocessore molto competitivo, soprattutto in previsione del rilascio del core Northwood, realizzato con tecnologia a 0,13 micron, dotato di un quantitativo maggiore di cache e capace di salire in frequenza. > AMD Athlon L architettura del processore Athlon è più simile alla nostra prima analisi di macchine con esecuzione speculativa e fuori ordine. La complessità e lo sforzo necessario per realizzare un architettura ottimizzata ed efficiente per l esecuzione di istruzioni fuori ordine può essere vanificata se non sono disponibili le risorse per l esecuzione parallela delle istruzioni. Questo è uno dei punti di forza dell architettura dell Athlon, che può eseguire simultaneamente 9 istruzioni di tipo Risc (denominate OP da AMD). La scelta di AMD è stata di implementare una cache L1, di primo livello, di grosse dimensioni. I 64 KByte della L1, con associatività a due vie, sono suddivisi in eguale maniera per le istruzioni e per i dati. La sezione L1 delle istruzioni ha un canale da 64 byte con 64 byte sequenziali di pre-fetch. La parte di L1 destinata ai dati fornisce una seconda porta di accesso per evitare l insorgere di rischi di struttura generati da un disegno superscalare. La cache L2 è di 256 KByte unificati con associatività a 16 vie ed è supportata dal veloce bus EV6. Nell ultima incarnazione del core Palomino, supporta anche il prefetching. Per trattare la complessità del set di istruzioni x86, il processore AMD effettua una decodifica parziale delle istruzioni non appena queste vengono trasferite nella cache L1. Alcuni bit extra posti all inizio e alla fine delle istruzioni di lunghezza variabile permettono una migliore e più rapida identificazione da parte delle unità di previsione (pre-fetcher e predictor). La pipeline dell Athlon assomiglia molto al flusso descritto per il nostro modello base di computer. I processi di accesso alle istruzioni e di decodifica di queste sono divisi in 6 stadi della pipeline. AMD utilizza un set di istruzioni a lunghezza fissa dette MacroOP, contenenti una o più OP. L organizzatore di istruzioni scomporrà le MacroOP in OP non appena venga raggiunto lo stadio di esecuzione. Il DirectPath Decoder (decodificatore a percorso diretto) genera MacroOP che consistono di una o due OP. Il VectorPath Decoder elabora istruzioni più lunghe direttamente dalla ROM. L Athlon è capace di instradare tre MacroOP ogni ciclo verso il decodificatore di istruzioni (IDEC stage); queste vengono poi inviate all organizzatore per un totale di sei OP decodificate ad ogni ciclo. > Interi L organizzatore delle operazioni riesce a bufferizzare 18 MacroOP che poi vengono instradate come OP alle unità di esecuzione sugli interi. Il buffer funge da stazione in cui le istruzioni sugli interi attendono anche che divengano disponibili i dati su cui devono operare. > Accesso alle istruzioni La lettura e scrittura dei dati impiega le unità di generazione degli indirizzi per calcolare l indirizzo effettivo e accedere alla cache. La cache risponde con un segnale di successo o di mancato successo; tuttavia se un altra istruzione sta aspettando il dato presente nella locazione di cache letta, il dato stesso viene inviato all istruzione che lo attende. > Istruzioni in virgola mobile e la loro pipeline L Athlon può processare contemporaneamente tre tipi di istruzioni in virgola mobile (FADD, FMUL e FSTORE); l unità di calcolo in virgola mobile è realizzata con una struttura a pipeline, così che l unità può cominciare a processare una nuova istruzione mentre un altra è ancora in esecuzione. Le istruzioni MMX e 3DNow! possono essere eseguite nelle pipeline FADD e FMUL. L unità in virgola mobile può inoltre eseguire istruzioni fuori ordine e ognuna delle tre pipeline dispone di più unità di esecuzione. La particolare architettura dell unità in virgola mobile dell Athlon ha permesso a questa Cpu di superare sia processori Pentium III che Pentium 4 in alcuni test. Tuttavia bisogna anche ricordare che la mancanza di sufficiente software ottimizzato per le istruzioni SSE-2 del Pentium 4 non ha permesso di valutare appieno quale sia il guadagno ottenibile con queste istruzioni. L Athlon dispone di un BTB con ingressi che immagazzina gli indirizzi di salto previsti con successo. Il BTB lavora in coppia con un GHT (Global History Table) per prevedere i salti. Se la predizione avviene con successo allora c è un ciclo di ritardo per indirizzare il Fetcher verso la nuova istruzione; se la predizione non va a buon fine allora intercorrono almeno 10 cicli di ritardo. È da notare che la particolare architettura del Pentium 4 consente di eliminare completamente i cicli di ritardo nel caso la predizione sia portata a termine con successo. > Conclusioni sull Athlon Quello che emerge dall analisi è che l architettura dell Athlon con core Thunderbird è più tradizionale di quella introdotta da Intel con il Pentium 4 e risulta più vicina allo schema base di un sistema per l esecuzione di istruzioni fuori ordine, presentando una pipeline con meno stadi di quelli del Pentium 4. Attualmente l Athlon mostra prestazioni superiori al Pentium 4 in molte applicazioni; un paragone migliore potrà essere fatto solo quando saranno presenti software ottimizzati anche per le istruzioni SSE-2. Allo stato attuale il Pentium 4 è favorito con applicazioni che richiedono una notevole banda verso la memoria; rimangono comunque ampi margini di miglioramento del software per ottimizzare la sua esecuzione sulle differenti architetture. 330

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

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

L unità di elaborazione pipeline L unità Pipelining

L unità di elaborazione pipeline L unità Pipelining Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

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

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/17

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

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

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

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

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

Architettura dei calcolatori I parte Introduzione, CPU

Architettura dei calcolatori I parte Introduzione, CPU Università degli Studi di Palermo Dipartimento di Ingegneria Informatica C.I. 1 Informatica ed Elementi di Statistica 2 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Hazard sul controllo. Sommario

Hazard sul controllo. Sommario Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

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 memoria centrale (RAM)

La memoria centrale (RAM) La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.

Dettagli

DIMENSIONI E PRESTAZIONI

DIMENSIONI E PRESTAZIONI DIMENSIONI E PRESTAZIONI Prof. Enrico Terrone A. S: 2008/09 Le unità di misura Le due unità di misura fondamentali dell hardware sono: i Byte per le dimensioni della memoria gli Hertz (Hz) per le prestazioni

Dettagli

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema La macchina di Von Neumann rchite(ura di un calcolatore us di sistema Collegamento Unità di Elaborazione (CPU) Memoria Centrale (MM) Esecuzione istruzioni Memoria di lavoro Interfaccia Periferica P 1 Interfaccia

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2011 CALCOLATORI ELETTRONICI 29 giugno 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di una PLA la funzione combinatoria (a 3 ingressi e due uscite)

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

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

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

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

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

1.4a: Hardware (Processore)

1.4a: Hardware (Processore) 1.4a: Hardware (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 23 nov 2011

Dettagli

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo Calcolatori Elettronici La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo La pipeline CRITICITÀ SUI DATI Calcolatori Elettronici - Pipeline (2) - Slide 2 L. Tarantino

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

La memoria - generalità

La memoria - generalità Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire

Dettagli

Capitolo 11 La memoria cache

Capitolo 11 La memoria cache Capitolo 11 La memoria cache Gerarchie di Memoria Dati sperimentali mostrano che i riferimenti alla memoria godono della proprietà di località spaziale e temporale. Località spaziale: tendenza a generare

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

Strutture di Memoria 1

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

Dettagli

Organizzazione della memoria principale Il bus

Organizzazione della memoria principale Il bus Corso di Alfabetizzazione Informatica 2001/2002 Organizzazione della memoria principale Il bus Organizzazione della memoria principale La memoria principale è organizzata come un insieme di registri di

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

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM Il computer è un apparecchio elettronico che riceve dati di ingresso (input), li memorizza e gli elabora e fornisce in uscita i risultati (output). Il computer è quindi un sistema per elaborare informazioni

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

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

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 31 marzo 2015 CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Più processori uguale più velocità?

Più processori uguale più velocità? Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

I componenti di un Sistema di elaborazione. CPU (central process unit)

I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

Dettagli

Schedulazione dinamica. Elettronica dei Calcolatori 1

Schedulazione dinamica. Elettronica dei Calcolatori 1 Schedulazione dinamica Elettronica dei Calcolatori 1 Schedulazione dinamica delle operazioni Impossibile risolvere tutti i conflitti staticamente I possibile predire tutti i salti condizionati HW fa durante

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

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

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

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica

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

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

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

memoria virtuale protezione

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

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo La Firma Digitale La sperimentazione nel Comune di Cuneo Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo Perchè questa presentazione Il Comune di Cuneo, aderente alla RUPAR, ha ricevuto due

Dettagli

Architettura dei calcolatori II parte Memorie

Architettura dei calcolatori II parte Memorie Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

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

Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale Memorie Caratteristiche principali Tecnologie di memoria Locazione: processore, interna (principale), esterna (secondaria) Capacità: dimensione parola, numero di parole Unità di trasferimento: parola,

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

ARCHITETTURA DEL CALCOLATORE

ARCHITETTURA DEL CALCOLATORE Orologio di sistema (Clock) UNITÀ UNITÀ DI DI INGRESSO Schema a blocchi di un calcolatore REGISTRI CONTROLLO BUS DEL SISTEMA MEMORIA DI DI MASSA Hard Hard Disk Disk MEMORIA CENTRALE Ram Ram ALU CPU UNITÀ

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

Dettagli

Laboratorio di Informatica di Base Archivi e Basi di Dati

Laboratorio di Informatica di Base Archivi e Basi di Dati Laboratorio di Informatica di Base Archivi e Basi di Dati Introduzione La memorizzazione dei dati è un aspetto molto importante dell informatica Oggi, mediante i computer, è possibile memorizzare e modificare

Dettagli

Novità di Access 2010

Novità di Access 2010 2 Novità di Access 2010 In questo capitolo: Gestire le impostazioni e i file di Access nella visualizzazione Backstage Personalizzare l interfaccia utente di Access 2010 Creare database utilizzando modelli

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività Prerequisiti Mon Ami 000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività L opzione Centri di costo è disponibile per le versioni Contabilità o Azienda Pro. Introduzione

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli

Dispositivi di rete. Ripetitori. Hub

Dispositivi di rete. Ripetitori. Hub Ripetitori Dispositivi di rete I ripetitori aumentano la distanza che può essere ragginta dai dispositivi Ethernet per trasmettere dati l'uno rispetto all'altro. Le distanze coperte dai cavi sono limitate

Dettagli

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli