INTRODUZIONE desktops.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INTRODUZIONE desktops."

Transcript

1 INTRODUZIONE Nella panoramica odierna si affacciano varie tipologie di microprocessori appartenenti alle più svariate compagnie informatiche sempre in competizione tra di loro, quali IBM,INTEL,AMD,MOTOROLA e APPLE. Nell ambito dei processori commerciali vi sono quelli superscalari e in particolare quelli destinati al mercato dei desktops. Nel cap. 1 si descriveranno le caratteristiche dei processori superscalari a 32 bit e la nascita di quelli a 64 bit con approccio EPIC. Nel cap. 2 si prenderanno in considerazione le architetture del Pentium 4, dell ITANIUM a 64 bit, del Motorola G4 creato con la collaborazione di IBM e APPLE e dell Athlon della AMD. Ad ognuno di essi si farà precedere una breve descrizione dell evoluzione della famiglia cui appartengono ovvero della INTEL per il Pentium 4 e per l Itanium, dell AMD per l Athlon e della Motorola per il MPC74xx (G4). Nel cap. 3 si tratterà della dissipazione di potenza e della sua importanza nel progetto dei processori odierni. Si descriverà quindi un modello analitico [1] usato per stimare la dissipazione di potenza media W e il minimo periodo di clock T CK di ogni singolo processore. Con l utilizzo di dati pubblicati verrà effettuata la validazione del modello sui processori analizzati nel cap. 2 per poi trarne le conclusioni con uno sguardo alle aspettative future ( [43],[44]) sia in ambito della frequenza di clock e della dissipazione di potenza W, sia nel campo della tecnologia di fabbricazione ormai volta verso le scale sub-nanometriche.

2 CAP. 1 PROCESSORI SUPERSCALARI La storia del mercato dei microprocessori a partire dall inizio degli anni 90 potrebbe riassumersi come un sostanziale miscuglio delle caratteristiche della filosofia di progettazione RISC (Reduced Instruction Set Computing) e delle caratteristiche della filosofia di progettazione CISC (Complex Instruction Set Computing) con maggior attenzione al raggiungimento delle migliori prestazioni più che ai "precetti" che questi due acronimi sottendono. Naturalmente le differenze strutturali tra i due approcci permangono (una su tutte: il numero di registri indirizzabili dai rispettivi set di istruzioni che consente ad esempio una gestione del compilatore per l ottimizzazione più aggressiva da parte dei processori RISC) ma si vogliono mettere in luce, in questo capitolo, le principali soluzioni adottate dai processori che stanno dominando il mercato dei PC. Durante gli ultimi anni, spinte dalle evoluzioni del mercato sia nella crescente domanda di migliori prestazioni, soprattutto in campo grafico e multimediale, che dall evoluzione di Internet, le principali aziende produttrici si date battaglia, più che nel realizzare sistemi veramente innovativi, nel portare all esasperazione la ricerca della velocità di esecuzione maggiore per mezzo delle tecniche usate negli ultimi 10 anni raggiungendo e superando, anche grazie a nuovi processi tecnologici, con i processori AMD Athlon e Intel Pentium 4 la soglia del GHz di clock. A parte l esecuzione più veloce delle singole operazioni, che attiene prettamente alla tecnologia impiegata nella realizzazione degli elementi logici e alla loro organizzazione, si possono eseguire un numero maggiore di operazioni in parallelo per incrementare le prestazioni ossia si persegue lo sviluppo a livello di parallelismo delle istruzioni (ILP). Le strade maestre per questo obiettivo sono essenzialmente la realizzazione di pipeline più profonde (cioè con un numero di stadi maggiore) e la superscalarità che devono essere però accompagnate da tecniche di controllo,predizione dei salti e riordino delle istruzioni. L esecuzione in pipeline è naturalmente favorita da istruzioni di ridotta complessità e questo è uno dei motivi per cui gran parte delle risorse dei moderni processori x86 sono spese in fase di decodifica per scomporre le complesse (e di lunghezza variabile) istruzioni del set ISA x86 in micro-istruzioni da inviare alle diverse unità di esecuzione. Analogamente tecniche come la predizione delle diramazioni o l esecuzione fuori ordine (out-of-order) contribuiscono a

3 2 spostare la complessità dal software all hardware, aspetto che sarebbe in contraddizione con la filosofia RISC, ma vengono adottate da moltissimi processori di ispirazione RISC, G4 compreso, perché consentono alte prestazioni. Molti processori, implementando l esecuzione fuori ordine, richiedono anche tecniche di gestione delle false dipendenze dei dati come la rinomina dei registri (register renaming) che consiste in una mappatura dinamica dei registri architetturali su un set più esteso di registri fisici. Questo avviene anche per un processore RISC come il G4 che possiede un numero maggiore di registri indirizzabili rispetto a un processore di architettura x86 e dovrebbe avvertire meno questa esigenza. I processori più recenti hanno adottato soluzioni tutto sommato convenzionali in questi campi e le poche novità derivano dalla spinta del progresso tecnologico che ha consentito soluzioni quantitativamente diverse soprattutto per gestire l aumentata profondità delle pipeline (ad esempio si pensi alla pipeline del Pentium 4 di ben 20 stadi). La latenza di memoria continua ad essere una delle grandi sfide dei moderni processori e anche in questo campo le novità riguardano essenzialmente le possibilità offerte dalla integrazione. Prestando particolare attenzione come detto alle applicazioni multimediali che fanno grande uso della computazione intensiva per floating point si è andato affermando negli ultimi due anni la tendenza ad estendere il parallelismo ai dati di questa natura per processare un numero maggiore di elementi in minore tempo. Questa tecnica già adottata con successo dalla tecnologia MMX introdotta da Intel (che riguardava però dati interi) è conosciuta come Single Instruction Multiple Data (SIMD) e si esplicita per mezzo della estensione del set di istruzioni dei processori con apposite istruzioni. Per quanto riguarda questo ultimo aspetto abbiamo implicazioni anche per quanto riguarda l evoluzione tecnologica dato che ha consentito l integrazione di apposite unità esecutive dedicate a queste operazioni e ricadute sulla gestione della latenza di memoria dato che questi set di istruzioni prevedono generalmente istruzioni di gestione delle cache. Nel corso dell ultimo anno i maggiori produttori hanno messo a punto processi tecnologici a 0.18 micron a 6 livelli di metallizzazione con connessioni in rame o alluminio che hanno avuto come effetti principali: Riduzione delle dimensioni dei chip a parità di densità di transistori e quindi dei costi di produzione oppure incremento del numero dei transistori a parità

4 3 di dimensioni del chip e quindi più unità funzionali oppure una combinazione delle due opzioni; Riduzione delle tensioni di alimentazione dei core e quindi della potenza assorbita; Incremento delle frequenze di lavoro dei processori. Mentre gli ultimi due effetti hanno immediate e ovvie ricadute sulle prestazioni complessive di un processore, la possibilità di integrare un numero maggiore di transistor può essere variamente sfruttata. Innanzitutto la possibilità di integrare più unità funzionali consente una maggiore superscalarità e la specializzazione di unità per specifiche applicazioni. Inoltre esiste la possibilità di dotare di un numero maggiore di buffer le unità dedicate al riordino o al temporaneo stoccaggio delle istruzioni per l esecuzione fuori ordine o di incrementare le dimensioni delle Branch History Table per consentire accurate predizioni delle diramazioni che supportino adeguatamente le pipeline sempre più profonde. L aspetto di sicuro maggiore impatto sulla latenza di memoria è però la possibilità sia di incrementare le dimensioni della cache di primo livello (si è giunti ad avere 256 KB di cache L1) che di integrare la cache di secondo livello direttamente su chip. Questa soluzione comporta una maggiore banda a disposizione e una riduzione dei costi complessivi ed è la caratteristica saliente delle versioni dei processori di questi ultimi tempi. Di questi aspetti si avvantaggiano soprattutto le architetture x86 dato che necessitano mediamente di un 40% in più di cache istruzioni o magari di precoded cache per la decodificazione delle istruzioni x86 e la sempre maggiore quantità di cache a disposizione ha contribuito notevolmente a colmare il gap di cui godevano nella computazione su interi rispetto i processori RISC. Di fatto le cache L2 on chip occupano ormai gran parte del die, anche fino al 90% in alcuni processori. La realizzazione on chip della L2 consente inoltre di aumentarne l associatività per ridurre i conflitti raggiungendo con la Advanced Transfer Cache della Intel il limite dell associatività a 8 vie che, ai fini pratici, equivale quasi alla piena associatività e altre caratteristiche, come ad esempio le porte multiple, difficilmente ottenibili da una cache L2 esterna. Per quanto riguarda la memoria principale si è avuta negli ultimi anni l uscita, sebbene travagliata sia da problemi tecnici che commerciali, della Rambus Direct

5 4 RAM (RDRAM) che ha consentito una banda di 1,6 GB/s con bus da 100 MHz sulla quale Intel ha puntato molto e l affinamento di tecniche come la Double Data Rate SDRAM che hanno consentito anch esse bande superiori al GB/s. Da registrare infine la comparsa del bus di nuova generazione EV6 che, implementando la topologia "Point to Point", ha consentito di collegare più processori senza suddividere la banda aprendo la strada ad una tendenza che potrebbe vedersi consolidata nei prossimi anni per un ulteriore salto nelle prestazioni. Altre innovazioni tecniche, non strettamente legate al processo realizzativo, che si annunciano assai significative sono state adottate da Intel con il Willamette come la ALU funzionante a frequenza doppia rispetto al processore o il bus a 400 MHz. Anche se i particolari tecnici di queste innovazioni non sono ancora perfettamente noti essi sembrano riferirsi ad uno sfruttamento di entrambi i fronti di salita dei segnali di clock. 1.1 Il parallelismo dei dati Gli algoritmi utilizzati nelle applicazioni multimedia e DSP (Digital Signal Processing) prevedono sostanzialmente l applicazione della medesima operazione ad un grande numero di dati del medesimo tipo. Un tipico esempio può essere l inversione di una immagine RGB per determinarne il negativo oppure la riproduzione del movimento in una scena 3D. Il modo migliore di trattare dati di tale natura consiste nel raggrupparne un certo numero all interno di un vettore e operare su di esso piuttosto che operare sui singoli dati (un dato alla volta) per analogia definiti scalari. La tecnica che sottende a questo procedimento è conosciuta come SIMD ed è diventata una delle parole chiave dei processori di recente realizzazione che la applicano a dati floating point che sono i più coinvolti nelle applicazioni multimediali. A questa scelta, ancora una volta, sono giunti sia processori nativi CISC che RISC sebbene l introduzione di nuove istruzioni e di nuove unità a livello hardware non appartenga certo al canone RISC. Le scelte che differenziano l implementazione di tale tecnica riguardano essenzialmente l introduzione di appositi registri o, analogamente a quanto fatto a suo tempo da Intel con la tecnologia MMX su interi, la condivisione di registri esistenti.

6 5 Altre differenze riguardano il numero e le modalità di operazione delle unità dedicate alla esecuzione delle istruzioni SIMD. Vantaggi derivanti dalle tecniche SIMD sono ad esempio quelli del supporto dell aritmetica di saturazione: se si utilizza la classica aritmetica di arrotondamento quando, ad esempio in un procedimento di incremento di colore, si giunge al limite di rappresentazione di un dato un ulteriore incremento determina un overflow con il numero che raggiunge erroneamente il limite opposto. Quando si sommano invece ad esempio due valori a 32 bit che raggiungono un valore che eccede i limiti di rappresentazione si avrebbe semplicemente bisogno di indicare che si è raggiunto il valore massimo rappresentabile. Questo è un evento particolarmente frequente in applicazioni multimediali (ad esempio nei valori di colore dei pixel) e l aritmetica di saturazione serve appunto a questo. Altri vantaggi derivano dalla possibilità di riempire i vettori che costituiscono i data type delle unità SIMD con dati di varia dimensione (a patto di non eccedere naturalmente la dimensione del data type) in modo da poter gestire il parallelismo per più tipi di dati (e quindi diversi tipi di applicazioni). Con l occasione offerta dalla introduzione di nuove istruzioni tutte le maggiori CPU hanno introdotto nel contempo istruzioni dedicate alla gestione via software di tecniche di prefetching cioè di caricamento dei dati prima del loro utilizzo per minimizzare la latenza dell accesso ai dati mediante la scelta circa le modalità di scrittura in memoria e il livello di cache interessati. Inoltre sono state predisposte istruzioni dette di streaming store per gestire dati caratterizzati da scarsa località temporale (ad esempio utilizzati una sola volta) tipici di applicazioni video e 3D che causerebbero un inutile inquinamento della cache e che sono gestibili meglio secondo politiche di cache di tipo write-combining. Tale tecnica prevede l accumulazione in un buffer apposito di più write e il loro trasferimento in un solo accesso alla memoria principale riducendo così il traffico rispetto alla modalità writeallocate che alloca una nuova linea nella cache su un write miss. Concettualmente ogni processore può essere suddiviso in due blocchi principali. Il primo si occupa di prelevare le istruzioni dalla gerarchia di memoria e di predisporle alla esecuzione. Questo significa che le istruzioni devono essere decodificate (mediante suddivisione in microistruzioni o decodifica hardware) per renderle "comprensibili" dalle unità di esecuzione e quindi distribuite ognuna alla propria unità di esecuzione. Questo blocco è conosciuto come il Front End del

7 6 processore. Naturalmente quante più istruzioni esso riesce a inviare alle unità di esecuzione tanto più è efficiente. Importante per questo stadio è la comunicazione con la gerarchia di memoria (quindi le modalità e la velocità con cui essa opera) per rifornire continuamente di istruzioni il Front End, e la predizione delle diramazioni (salti) che cerca di impedire che la pipeline del processore abbia stadi che non eseguono alcuna operazione in attesa che sia noto l esito della condizione di diramazione. Il secondo stadio del processore è quello che esegue effettivamente il "lavoro" cioè esegue le istruzioni e fornisce i risultati. Questo stadio è chiamato Back End. L efficienza di questo stadio è fortemente condizionata dal numero di unità di esecuzione di cui dispone (per cominciare l esecuzione di più di una istruzione per ciclo) e dal tempo di cui necessita ciascuna unità per processare una istruzione. I processori moderni fanno uso dell esecuzione fuori ordine proprio per fare fronte alla carenza di risorse (registri, unità di esecuzione) di cui generalmente soffrono. Quello che qui si intende sottolineare è che questi due stadi influenzano reciprocamente le proprie prestazioni. Un Back End che esegue un elevato numero di istruzioni per clock deve essere continuamente rifornito di nuove istruzioni dal Front End da elaborare per non essere sottoutilizzato. Analogamente, per facilitare il lavoro di distribuzione delle istruzioni alle unità di esecuzione del Front End, le istruzioni devono essere eseguite efficacemente per liberare le risorse che esse impegnano. Non è un caso se un processore come l Athlon, che è dotato ad oggi probabilmente del più efficace Back End del mercato x86, sia stato fornito anche del Front End con il maggior numero, effettivo, di istruzioni decodificate per clock. Analogamente l Itanium che, grazie alla definizione di una nuova architettura (EPIC), riesce a decodificare e inviare alle unità di esecuzione ben 6 istruzioni per ciclo è stato dotato di massicce risorse di esecuzione. Un processore che non rispettasse questo principio di bilanciamento sarebbe destinato all insuccesso. 1.2 Limiti delle architetture a 32 bit L architettura x86 o IA-32 (Intel Architecture-32 bit) è vecchia di oltre 20 anni e sta mostrando, ora che le sue potenzialità sono state spinte all estremo dalle recenti architetture, i propri limiti. Essi sono essenzialmente i seguenti:

8 7 Lunghezza variabile delle istruzioni: ciò comporta una fase di decodifica molto complessa che per compensazione richiede frequenze di lavoro più alte o pipeline più profonde con relativi problemi di predizione delle diramazioni. Carenza dei registri: gli indirizzi dei registri nell architettura x86 sono di soli 3 bit che consentono quindi l indirizzamento di soli 8 registri di uso generale. I moderni processori hanno cercato di superare questo limite per mezzo di tecniche come la ridenominazione dei registri che aggiungono però ulteriore complessità. Floating Point Stack: le istruzioni x87 usano per le proprie operazioni uno stack del quale viene fatto un uso intensivo con spreco di molti cicli per posizionare i dati occorrenti alla sua cima e che costituisce la ragione principale della sostanziale inferiorità delle CPU x86 rispetto le CPU RISC per la computazione floating point. Istruzioni che referenziano indirizzi di memoria: con evidenti rallentamenti dovuti alle latenze associate ai chip di memoria in confronto a quelle che caratterizzano i registri interni della CPU (mentre le CPU RISC adottano un modello di memoria Load/Store che prevede le istruzioni operino solo tra registri e gli accessi alla memoria siano espliciti e deputati solo alle istruzioni di load e store). Dimensioni del die: i buffer sempre più grandi, sempre più sviluppate tecniche di branch prediction (Intel stima che le penalità di errata predizione delle diramazioni comportino diminuzioni del 20%-30% delle prestazioni dei processori), la decodifica di istruzioni x86 in microistruzioni RISC sono tutti accorgimenti per estrarre grandi prestazioni dalle CPU x86 ma che richiedono molti transistor e quindi molto spazio sui die e quindi aumenti dei costi. La Intel ha ritenuto che, per assicurare l incremento delle prestazioni che ha visto la recente storia del mercato dei PC, fosse opportuno cambiare radicalmente il set di istruzioni anche a costo di penalizzare, naturalmente il meno possibile, la compatibilità con l architettura precedente ma offrendo nel contempo prestazioni con le nuove architetture tali da giustificare un simile passo. La strada scelta da Intel per

9 8 aumentare le prestazioni è quella di incrementare il parallelismo a livello di istruzioni (ILP). Figura 1 Le due strade privilegiate sino ad oggi per conseguire questo obiettivo sono mostrate in fig. 1 : la superscalarità nella quale il parallelismo non è esplicitamente indicato ma viene estratto mediante scheduling dinamico delle istruzioni in pratica deputando all hardware tutto il lavoro (figura a sinistra) e la tecnica VLIW (Very Long Instruction Word) secondo la quale le istruzioni contengono esplicite informazioni riguardanti il parallelismo da esplicitare, ad esempio quante e quali istruzioni elaborare parallelamente che il compilatore raggruppa in pacchetti di dimensione fissata (in genere tra 112 e 168 bits inserendo NOP per riempire gli slots vuoti del pacchetto) e invia alle unità esecutive (figura a destra). In questo caso il grosso del lavoro è svolto dal compilatore e l esecuzione è fissata staticamente al momento della compilazione. L approccio usato da Intel e HP (per esempio nell ITANIUM) è una combinazione delle due strade per sfruttarne le caratteristiche di dinamicità e staticità

10 9 di ognuna ed è stato chiamato Explicitly Parallel Instruction Computing (EPIC). La filosofia EPIC in sostanza lascia decidere al compilatore quali istruzioni debbano essere eseguite in parallelo, le riunisce in un bundle (fascio) e manda in esecuzione questi bundle. In aggiunta a questo la tecnica EPIC prevede tipiche azioni di controllo e correzione della esecuzione come Predication oppure Speculation (per dati e istruzioni) che consente il loro caricamento prima della risoluzione delle relative dipendenze per ridurre gli effetti della latenza di memoria. Le caratteristiche principali di questo approccio sono: la possibilità di far collaborare il compilatore e l hardware in modo che il compilatore possa controllare le risorse hardware in maniera più diretta anche a livello di predizione delle diramazioni o della gestione della gerarchia di memoria. Un tipico esempio di questa collaborazione è la tecnica di Predication che consente ad esempio l esecuzione in caso di una diramazione IF THEN ELSE di entrambi i THEN e ELSE (che non dipendono uno dall altro) in parallelo (e quindi con la latenza di uno solo) salvo poi invalidare quello non corretto mediante apposito valore dei flag di Predicate assegnati a ciascuna delle diramazioni all atto della loro esecuzione; il grande numero di registri utilizzabili che, oltre ad una computazione sia di interi che floating point più agevole specie a doppia precisione, fornisce adeguate risorse hardware per funzioni specializzate come la Predication e consente grande flessibilità ed estensibilità circa la superscalarità dei chip basati sul ISA IA-64 (è difficile per un processore x86 gestire un numero elevato di pipeline con solo 8 registri indirizzabili). Inoltre è possibile ridurre gli accessi alla memoria solo alle operazioni load e store sfruttando i registri per i risultati intermedi; grande memoria indirizzabile grazie ai registri a 64 bit che consente di superare gli attuali 4 GB dell architettura IA-32, i cui limiti peraltro non sono ancora stati raggiunti dalle applicazioni attuali ma potrebbero esserlo in futuro, e di supportare numerosi GB di RAM. Tutte queste caratteristiche sono facilmente catalogabili come tipiche caratteristiche RISC.

11 10 Il problema della filosofia EPIC risiede esattamente nel coinvolgimento del compilatore e nella definizione di un nuovo ISA per cui la esecuzione di codice IA-32 risulterebbe problematica ed inoltre potrebbe comportare, senza un adeguato supporto peraltro già perseguito da Intel, un certo ritardo nello sviluppo di software che possa avvantaggiarsi di questa architettura. Inoltre l esecuzione in ordine e il raggruppamento statico delle istruzioni tipiche delle CPU EPIC possono poco contro i miss della cache che sono poco prevedibili a livello di compilazione e per alcune applicazioni come Java non è detto che il tempo speso in fase di compilazione possa essere adeguatamente compensato dai tempi di esecuzione. Un altra strada a disposizione degli sviluppatori per incrementare le prestazioni sfruttando il parallelismo consiste nel Thread Level Parallelism (TLP) cioè nella esecuzione in parallelo da parte di sistemi multiprocessore, che possono essere fisici (cioè con la presenza effettiva di più CPU sul medesimo chip come nel POWER4 di IBM) o virtuali (cioè ottenuti da un singolo chip che emula un sistema multiprocessore simmetrico come l EV8 della Compaq), di differenti processi software (o thread). Questo approccio trova le sue ragioni e naturali applicazioni nell ambito del mercato server dove effettivamente molte applicazioni possono essere effettivamente scomposte in più threads e assegnati ai diversi processori che costituiscono il sistema. In ambito desktop attualmente l implementazione del TLP ha un impatto assai contenuto ma le applicazioni multimediali sono naturalmente orientate al TLP e quando nuovi sistemi operativi, come Windows 2000 che supporta sistemi multiprocessore, o linguaggi di programmazione come Java, che predispone a sviluppare applicazioni multithread, diventeranno standard le cose potrebbero sensibilmente cambiare. L approccio TLP in sostanza pone la sua attenzione sul design di sistema più che non sulla definizione di un nuovo ISA e in particolare, dovendo prevedere la condivisione di risorse tra i diversi processori, sulla banda di memoria e difatti la IBM con il POWER4 ha speso molte risorse in questa direzione. I sistemi TLP inoltre potrebbero essere più liberi nella evoluzione hardware rispetto alle macchine EPIC e limitati più che altro dalla tecnologia (il POWER4 ad esempio consiste di 170 milioni di transistor su 400 mm 2 di die). Grande attenzione inoltre deve essere posta per questi processori nella condivisione delle risorse, soprattutto per quelle del sistema di memoria, per non creare interferenze di cache tra i diversi threads.

12 11 AMD, proprio per motivi di compatibilità con il set di istruzioni x86 e per il fatto che non ha probabilmente la forza di definire un nuovo ISA, ha optato con il K8 (o Sledgehammer) per la strada dell estensione del set istruzioni x86 sul modello di quanto fatto da Intel nel passaggio da 16 bit a 32 bit e per l adozione del sistema di più processori sul medesimo die che è un approccio più performante rispetto ad esempio ai sistemi simmetrici multiprocessore, la naturale evoluzione dell impiego dell architettura IA-64 soprattutto in ambito server, dato che non devono comunicare attraverso un bus lento e occupano meno spazio. Naturalmente queste unità esecutive poste sul medesimo die avranno anche importanti potenziamenti per superare alcuni dei limiti sopra esposti. Ad esempio per la computazione su floating point si farà uso di un nuovo modello di programmazione e di istruzioni per la FPU di tipo RISC (con l uso di tre operandi) che si serviranno di un largo register file per floating point in luogo del vecchio e limitante stack x87.

Università di Parma. Dipartimento di Ingegneria dell' Informazione

Università di Parma. Dipartimento di Ingegneria dell' Informazione Università di Parma Dipartimento di Ingegneria dell' Informazione Computer Engineering Group Sviluppo a cura di: Fantini Filippo Stocchi Stefano Coordinamento: Prof. Gianni Conte Calcolatori Elettronici

Dettagli

Estensioni all architettura di Von Neumann

Estensioni all architettura di Von Neumann Estensioni all architettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali Indice Limiti dell architettura di Von Neumann Estensioni all architettura di Von Neumann CISC e RISC 2 1 La

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

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2)

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2) Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2) ALU L unità aritmetico logica o ALU rappresenta l apparato muscolare di un calcolatore, il dispositivo cioè che esegue le operazioni

Dettagli

Architettura hardware

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

Dettagli

Come aumentare le prestazioni Cenni alle architetture avanzate

Come aumentare le prestazioni Cenni alle architetture avanzate Politecnico di Milano Come aumentare le prestazioni Cenni alle architetture avanzate Mariagiovanna Sami Richiamo: CPI CPI = (cicli di clock della CPU richiesti dall esecuzione di un programma)/ numero

Dettagli

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione

Dettagli

Architettura del processore e esecuzione delle istruzioni

Architettura del processore e esecuzione delle istruzioni Architettura del processore e esecuzione delle istruzioni Prof. CAPEZIO Francesco Quest'opera è soggetta alla licenza Creative Commons Attribuzione Non Commerciale Introduzione Il compito di un processore

Dettagli

Modulo 1: Le I.C.T. UD 1.4c: Il Processore

Modulo 1: Le I.C.T. UD 1.4c: Il Processore Modulo 1: Le I.C.T. : Il Processore Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno IL MICROPROCESSORE

Dettagli

UD 1.4c: Il Processore IL MICROPROCESSORE

UD 1.4c: Il Processore IL MICROPROCESSORE Modulo 1: Le I.C.T. : Il Processore IL MICROPROCESSORE Prof. Alberto Postiglione Curtin, 3.8-3.9 Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli

Dettagli

Schema base di CPU. Interfacce esterne: Memoria I/O ... Architetture Parallele e Distribuite, Bus I/O MINF MMU I MMU D.

Schema base di CPU. Interfacce esterne: Memoria I/O ... Architetture Parallele e Distribuite, Bus I/O MINF MMU I MMU D. Massimiliano Meneghin Marco Vanneschi MMU I IC1 Schema base di CPU M MINF MMU D Bus I/O Interfacce esterne: Memoria I/O TAB-CI TAB-CD IM DM CI CD IC IU RG1 RG EU UNINT CPU chip... Architetture Parallele

Dettagli

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione Processori

Dettagli

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo. Classificazione. I microcontrollori

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo. Classificazione. I microcontrollori INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione General Purpose CISC

Dettagli

Sistemi e reti CPU Concetti di base

Sistemi e reti CPU Concetti di base Sistemi e reti CPU Concetti di base A cura dell Ing. Claudio Traini Cenni Storici 1971 il primo processore mai realizzato : Intel 4004 Progettato dal vicentino Federico Faggin 1 Cenni Storici 1976 Faggin

Dettagli

Aumentare il parallelismo a livello di istruzione (2)

Aumentare il parallelismo a livello di istruzione (2) Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Processori multiple-issue issue Nei processori multiple-issue vengono lanciate più istruzioni

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2012-2013 Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e

Dettagli

Macchina di Riferimento: argomenti

Macchina di Riferimento: argomenti Macchina di Riferimento: argomenti L'architettura di una macchina MIPS Organizzazione della memoria I registri della CPU L'esecuzione dei programmi Il ciclo fetch-execute Il simulatore SPIM 1 Architettura

Dettagli

Analisi ed Esplorazione della Potenza Dissipata e delle Prestazio. delle Prestazioni di una Architettura Superscalare

Analisi ed Esplorazione della Potenza Dissipata e delle Prestazio. delle Prestazioni di una Architettura Superscalare Analisi ed Esplorazione della Potenza Dissipata e delle Prestazioni di una Architettura Superscalare 22 Luglio 2004 1 Obiettivi 2 Una Framework di esplorazione SuperDLX Algoritmi di ottimizzazione 3 Modello

Dettagli

Il processore Pentium

Il processore Pentium Caratteristiche principali (I) Architettura interna a 32 bit Address bus a 32 bit: si possono indirizzare fino a 4 GB di memoria fisica Data bus a 64 bit (si tratta in pratica di 2 data bus a 32 bit in

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

L insieme delle istruzioni (6)

L insieme delle istruzioni (6) L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso

Dettagli

Microelettronica. Note su RISC. Stefano Salvatori. Università degli Studi Roma Tre. Università degli Studi Roma Tre

Microelettronica. Note su RISC. Stefano Salvatori. Università degli Studi Roma Tre. Università degli Studi Roma Tre Microelettronica Note su RISC Stefano Salvatori (salvator@uniroma3.it) Premessa 1980: Patterson e Ditzel, The case for the reduced instruction set computer Berkley: RISC I (progetto molto semplice rispetto

Dettagli

1.4a: Hardware (Processore) Bibliografia. L unità centrale di elaborazione (CPU)

1.4a: Hardware (Processore) Bibliografia. L unità centrale di elaborazione (CPU) Prof. Alberto Postiglione Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Hardware (Processore) Informatica Generale (Laurea in Scienze della Comunicazione)

Dettagli

Trend di sviluppo delle pipeline

Trend di sviluppo delle pipeline Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@.unimi.it Università degli Studi di Milano Patterson 4.10, 4.11 1/36 Sommario Superpipeline

Dettagli

Architetture moderne

Architetture moderne Architetture moderne Esecuzione delle istruzioni in pipeline Predizione dei branch Multiple issue Register renaming Esecuzione fuori ordine Cache non bloccanti Architetture avanzate - 1 Pipelining PIPELINING

Dettagli

Argomenti. Processori microprogrammati. Architetture CISC Architetture RISC. » Pipeline» Architetture superscalari

Argomenti. Processori microprogrammati. Architetture CISC Architetture RISC. » Pipeline» Architetture superscalari Argomenti Processori microprogrammati» Microistruzioni e microprogrammi» Esempio di architettura microprogrammata Architetture CISC Architetture RISC» Pipeline» Architetture superscalari Processori microprogrammati

Dettagli

Capitolo 2. Elaborazione dei dati. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Capitolo 2. Elaborazione dei dati. Mauro Giacomini Pearson Addison-Wesley. All rights reserved Capitolo 2 Elaborazione dei dati Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 2: Elaborazione dei dati 2.1 Architettura del Computer 2.2 Linguaggio macchina 2.3 Esecuzione

Dettagli

Calcolatore: sottosistemi

Calcolatore: sottosistemi Calcolatore: sottosistemi Processore o CPU (Central Processing Unit) Memoria centrale Sottosistema di input/output (I/O) CPU I/O Memoria Calcolatore: organizzazione a bus Il processore o CPU Unità di controllo

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

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2 Lez. 4 L hardware 1 Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli pasquale.demichele@unina.it

Dettagli

Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali

Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali Porte logiche di base Cenni circuiti, reti combinatorie, reti sequenziali NOT AND A R A B R OR A R B Quindi NAND o NOR sono complete circuiti con solo porte NAND o solo porte NOR. Reti combinatorie Rete

Dettagli

Prefazione Unit`a di misura xiii La memoria cache

Prefazione Unit`a di misura xiii La memoria cache Indice Prefazione Unità di misura xi xiii 1 La memoria cache 1 1.1 Tempo di accesso........................... 1 1.1.1 Funzionamento........................ 2 1.2 Organizzazione............................

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

Il Processore. Informatica di Base -- R.Gaeta 27 Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione all'architettura dei Calcolatori. Maurizio Palesi Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle

Dettagli

Formato delle istruzioni Tipi di istruzione Modi di indirizzamento CISC vs RISC Pipeline Note sui RISC

Formato delle istruzioni Tipi di istruzione Modi di indirizzamento CISC vs RISC Pipeline Note sui RISC Formato delle istruzioni Tipi di istruzione Modi di indirizzamento CISC vs RISC Pipeline Note sui RISC S. Salvatori - Microelettronica aprile 2016 (16 di 39) Compilatore Il progettista del up definisce

Dettagli

Capitolo 4 Parte 1 Le infrastrutture hardware. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Capitolo 4 Parte 1 Le infrastrutture hardware. Il processore La memoria centrale La memoria di massa Le periferiche di I/O Capitolo 4 Parte 1 Le infrastrutture hardware Il processore La memoria centrale La memoria di massa Le periferiche di I/O Funzionalità di un calcolatore Trasferimento Elaborazione Controllo Memorizzazione

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

Valutazione delle prestazioni dei. Calcolatori Elettronici. Calcolatori Elettronici

Valutazione delle prestazioni dei. Calcolatori Elettronici. Calcolatori Elettronici Valutazione delle prestazioni dei 1 Trend tecnologico: Capacità della Memoria 1000000000 100000000 10000000 1000000 100000 10000 1000 size 1970 1975 1980 1985 1990 1995 2000 Year Capacità chip DRAM DRAM

Dettagli

Valutazione delle prestazioni dei Calcolatori Elettronici

Valutazione delle prestazioni dei Calcolatori Elettronici Valutazione delle prestazioni dei Calcolatori Elettronici Trend tecnologico: Capacità della Memoria 000000000 00000000 0000000 000000 00000 0000 000 si ze 970 975 980 985 990 995 2000 Year Capacità chip

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Valutazione delle prestazioni

Valutazione delle prestazioni Valutazione delle prestazioni Trend tecnologico: Capacità della Memoria 1000000000 100000000 10000000 1000000 100000 10000 size Capacità chip DRAM DRAM Year Size 1980 64 Kb 1983 256 Kb 1986 1 Mb 1989 4

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2010-2011 Architettura di un calcolatore: introduzione Lezione 18 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso

Dettagli

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo. Corso integrato di Sistemi di Elaborazione odulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica egistri

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Dettagli

Principali Innovazioni nei Computer (1)

Principali Innovazioni nei Computer (1) Principali Innovazioni nei Computer (1) Il concetto di famiglia IBM System/360, anno 1964 DEC PDP-8 Separa l architettura dall implementazione Unità di Controllo Microprogrammata Idea iniziale di Wilkes,

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi 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

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori rchitettura dei Calcolatori Giuseppe Pozzi Impianti di Elaborazione Facoltà di Ingegneria dell'informazione Politecnico di Milano giuseppe.pozzi@polimi.it - versione del 20 settembre 2002 - rchitettura

Dettagli

Evoluzione delle architetture Evoluzione strutturale

Evoluzione delle architetture Evoluzione strutturale Evoluzione delle architetture Evoluzione strutturale Parallelismo Se un lavoro non può essere svolto più velocemente da una sola persona (unità), allora conviene decomporlo in parti che possano essere

Dettagli

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o Fondamenti di Informatica e Programmazione CPU e Linguag gio Macchina P ro f. G i a n n i D A n g e l o Email: giadangelo@unisa.it A.A. 2018/19 Elaborazione dell Informazione L'elaborazione delle informazioni

Dettagli

Pipeline nel Mondo Reale

Pipeline nel Mondo Reale Pipeline nel Mondo Reale Luca Abeni May 26, 2016 Pipeline Ideali... Abbiamo visto come fare il bucato eseguire un istruzione macchina usando un pipeline... Pipeline a 5 stadi: Fetch Decode Exec Memory

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

Il Processore: l unità di controllo

Il Processore: l unità di controllo Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore

Dettagli

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Un istruzione in linguaggio macchina è, sul piano astratto, una tripla strutturata: i = (f, P1, P2) ove: f F insieme dei codici operativi del processore, cioè delle operazioni elementari

Dettagli

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale Programmazione A.A. 2002-03 I Architettura dei Calcolatori ( Lezione V ) Componenti hardware e loro schema funzionale Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica

Dettagli

Componenti di un processore

Componenti di un processore Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria

Dettagli

Lezione4: MIPS e Istruzioni (1 Parte)

Lezione4: MIPS e Istruzioni (1 Parte) Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi mnappi@unisa.it http://www.biplab.unisa.it/ Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli AGENDA

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Compilatori e Livelli di Compilazione

Compilatori e Livelli di Compilazione Compilatori e Livelli di Compilazione Il compilatore Il programmatore ha a disposizione un ampia scelta di compilatori sviluppati per diversi sistemi operativi quali Linux/Unix, Windows, Macintosh. Oltre

Dettagli

Valutazione delle prestazioni

Valutazione delle prestazioni Valutazione delle prestazioni Trend tecnologico: Capacità della Memoria Capacità chip DRAM DRAM Year Size 1980 64 Kb 1983 256 Kb 1986 1 Mb 1989 4 Mb 1992 16 Mb 1996 64 Mb 1999 256 Mb 2002 1 Gb Incremento

Dettagli

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

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

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

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

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:

Dettagli

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:

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

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Architettura di Von Neumann Modello concettuale di un architettura di computer che permette di rappresentare,

Dettagli

Parte IV Architettura della CPU Central Processing Unit

Parte IV Architettura della CPU Central Processing Unit Parte IV Architettura della CPU Central Processing Unit IV.1 Struttura della CPU All interno di un processore si identificano in genere due parti principali: l unità di controllo e il data path (percorso

Dettagli

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da

Dettagli

Parte IV. Architettura della CPU Central Processing Unit

Parte IV. Architettura della CPU Central Processing Unit Parte IV Architettura della CPU Central Processing Unit 25/01/2010 Informatica Ingegneria Medica - Prof. Gregorio Cosentino 1 IV.1 Struttura della CPU All interno di un processore si identificano in genere

Dettagli

Pipelining. Architetture moderne

Pipelining. Architetture moderne Architetture moderne Pipelining Esecuzione delle istruzioni in pipeline Predizione dei branch Multiple issue Register renaming Esecuzione fuori ordine Cache non bloccanti PIPELINING utile per eseguire

Dettagli

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2 La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri

Dettagli

Architettura dei sistemi di elaborazione: La memoria (parte 2)

Architettura dei sistemi di elaborazione: La memoria (parte 2) Architettura dei sistemi di elaborazione: La memoria (parte 2) La cache è una memoria veloce e di piccole dimensioni posta fra la CPU e la memoria principale. Memoria Cache La cache e la memoria principale

Dettagli

Calcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti

Calcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti Calcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti Compito Num. 1 COGNOME:...NOME:... 1) (20%) Si vuole realizzare una CPU

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica

Dettagli

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi G L O S S A R I O BIT: acronimo di Binary Digit. E l unità elementare di informazione. Può assumere solo il valore 0 o 1. CALCOLATORE: macchina che opera la trasformazione dei dati (informazioni) HARDWARE:

Dettagli

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 20 giugno 2005

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 20 giugno 2005 Corso di rchitettura dei Calcolatori (I anno) Prova scritta finale 20 giugno 2005 a.a. 2004/2005 1. (punti 4) Considerare una realizzazione di tipo superscalare di livello 2 per la macchina convenzionale

Dettagli

Esercitazione di ricapitolazione

Esercitazione di ricapitolazione Esercitazione di ricapitolazione 1. Descrivere il ciclo di esecuzione di un istruzione. Di quali informazioni abbiamo bisogno in ciascuna fase? 2. Descrivere il funzionamento del register file. Come occorre

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore

Dettagli

ARCHITETTURE DEI CALCOLATORI

ARCHITETTURE DEI CALCOLATORI ARCHITETTURE DEI CALCOLATORI l approccio GPU Mariagiovanna Sami 1 Una prima definizione di GPU L elaboratore grafico (Graphic Processing Unit GPU): dispositivo programmabile progettato per eseguire con

Dettagli

Introduzione al linguaggio macchina. Istruzione l/m

Introduzione al linguaggio macchina. Istruzione l/m Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Dettagli

Compilatori e Livelli di Compilazione

Compilatori e Livelli di Compilazione Compilatori e Livelli di Compilazione Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Il compilatore Il programmatore ha a disposizione un ampia scelta di compilatori sviluppati per diversi

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Pre-appello del 12 Gennaio 2018 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

Dettagli

Architetture dei Calcolatori (Lettere

Architetture dei Calcolatori (Lettere Architetture dei Calcolatori (Lettere J-Z) Valutazione delle Prestazioni Ing.. Davide D AmicoD Valutazione delle Prestazioni Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

Dettagli

Parte IV Microarchitetture, Cache e Pipeline

Parte IV Microarchitetture, Cache e Pipeline Parte IV Microarchitetture, Cache e Pipeline IV.1 Interpretazione delle istruzioni In un architettura microprogrammata le istruzioni macchina non sono eseguite direttamente dall hardware L hardware esegue

Dettagli

Problemi del ciclo singolo

Problemi del ciclo singolo Problemi del ciclo singolo Ciclo di clock lungo Istruzioni potenzialmente veloci sono rallentate Impiegano sempre lo stesso tempo dell istruzione più lenta Unità funzionale e collegamenti della parte operativa

Dettagli

Architettura degli elaboratori

Architettura degli elaboratori I blocchi fondamentali dell elaboratore Architettura degli elaboratori ingresso Memoria uscita elaborazione I blocchi fondamentali dell elaboratore I blocchi fondamentali Memoria centrale (RAM) Memoria

Dettagli

Introduzione ai thread

Introduzione ai thread Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine

Dettagli

Cicli di clock e istruzioni

Cicli di clock e istruzioni Cicli di clock e istruzioni Numero di cicli di clock differenti per istruzioni differenti Le moltiplicazioni impiegano più tempo delle addizioni Operazioni in virgola mobile impiegano più tempo delle operazioni

Dettagli

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it

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

Architetture "low power": tendenze e sfide per la ricerca

Architetture low power: tendenze e sfide per la ricerca Architetture "low power": tendenze e sfide per la ricerca Mariagiovanna Sami, Direttore Scientifico ALARI - USI 1 7/31/2008 Indice 1. La visione tradizionale 2. La sfida dei consumi: il power wall 3. Tecnologia,

Dettagli