Il processore Pentium

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il processore Pentium"

Transcript

1

2 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 parallelo). Con cicli di bus pipelined in burst-mode, si arriva ad un transfer rate di 528 MB/s (ipotizzando di avere un clock di 66 MHz) Address bus e data bus hanno un parity bit per ogni byte 2

3 Caratteristiche principali (II) Architettura superscalare: vi sono due pipeline intere ed una floating point Unità floating point integrata On-chip cache da 16 KB: 8 KB per il codice e 8 KB per i dati Supporto per la cache di secondo livello Totale compatibilità software con i precedenti processori della famiglia x86, pur avendo un set di istruzioni più ampio 3

4 Caratteristiche principali (III) Il Pentium è stato progettato con tecniche RISC: molte istruzioni sono eseguite in un solo colpo di clock Supporto per l ambiente multiprocessore Clock da 60 MHz a 166 MHz Fino a 200 MIPS

5 Architettura Code Cache Branch Prediction 64 bit 256 bit 64 bit Bus Interface U pipe Prefetch Buffers Integer ALU Integer ALU V pipe 64 bit Pipelined Floating Point Unit 64 bit 32 bit 32 bit Register Set Data Cache Multiplier Adder Divider 6

6 Pipeline Il Pentium, come il 486, esegue le istruzioni mediante una pipeline composta da 5 stadi: Prefetch, Decode1, Decode2, Execute e Write Back Rispetto al 486, il Pentium integra hardware aggiuntivo, in modo da aumentare la velocità di esecuzione Di conseguenza, vengono eseguite in un solo colpo di clock molte istruzioni che nel 486 ne richiedono 2. Ne sono un esempio le istruzioni con un displacement ed un dato immediato e le istruzioni con indirizzamento indicizzato 7

7 Prefetch (PF) E la fase in cui la CPU esegue il prefetch delle istruzioni dalla code cache, inserendole nel Prefetch Buffer attivo E presente una coppia di buffer da 32 byte ciascuno, dei quali uno solo è attivo ed esegue il fetch delle istruzioni in modo sequenziale Nel caso in cui compaia nel buffer un istruzione di salto, se il BTB (Branch Target Buffer) predice che il salto verrà eseguito, diviene attivo l altro buffer, nel quale vengono caricate le istruzioni a partire dal punto a cui punta il salto 8

8 Decode1 (D1) E la fase in cui la CPU effettua una prima decodifica delle istruzioni, generando una control word In questo stadio inizia e finisce la decodifica delle istruzioni semplici Le istruzioni più complesse, invece, richiedono una sequenza di controllo di microcodice 9

9 Decode2 (D2) In questa fase prosegue l operazione di decodifica delle istruzioni complesse iniziata nello stadio precedente (D1) Questa fase non viene quindi eseguita nel caso in cui si abbia un istruzione semplice In questo stadio viene inoltre generato l indirizzo nel caso in cui si debba accedere a dati presenti in memoria 10

10 Execute (EX) E la fase in cui la CPU accede alla data cache o svolge i calcoli nella ALU o in un altra unità funzionale presente nel data path In questo stadio vengono eseguiti sia i calcoli nella ALU sia l accesso alla cache: di conseguenza, un istruzione che debba effettuare entrambe le operazioni richiede più di un ciclo di clock Nello stadio EX vengono verificate le predizioni riguardanti i salti su condizione eseguiti nella U pipe 11

11 Write Back (WB) E la fase in cui la CPU aggiorna i registri ed i flag in base ai risultati ottenuti nello stadio precedente (EX) Tutte le condizioni che possono generare un eccezione devono essere risolte prima che l istruzione arrivi a questo stadio In questo stadio vengono verificate le predizioni riguardanti i salti su condizione eseguiti nella V pipe 12

12 Esecuzione superscalare (I) L organizzazione superscalare (ossia la presenza di 2 pipe intere) del Pentium consente l esecuzione contemporanea di 2 istruzioni, secondo il seguente algoritmo: 13

13 Algoritmo Decodifica 2 istruzioni successive I1 e I2; if (I1 è semplice && I2 è semplice && I1 non è un salto && (Destinazione di I1!= Sorgente di I2) && (Destinazione di I1!= Destinazione di I2)) Invia I1 alla U pipe e I2 alla V pipe; else Invia I1 alla U pipe;

14 Esecuzione superscalare (II) Le istruzioni eseguite in parallelo devono procedere di pari passo nelle 2 pipeline: di conseguenza, se una delle due provoca uno stallo, si ferma anche l altra In particolare, le 2 istruzioni devono entrare ed uscire contemporaneamente dagli stadi D1 e D2 Nella fase EX, se si blocca la U pipe, si ferma anche la V pipe. Se invece si blocca la V pipe, la U pipe continua l esecuzione, ma nessun altra istruzione vi può entrare fintanto che la V pipe non sia uscita dalla situazione di stallo 14

15 Istruzioni semplici Le istruzioni semplici sono quelle che non richiedono una sequenza di microcodice per essere eseguite e che, quindi, richiedono un solo colpo di clock. Esse sono: operazioni ALU reg, reg/mem/imm MOV, INC, DEC, PUSH, POP, LEA e NOP salti, salti su condizione e CALL di tipo near 15

16 Istruzioni semplici (2) Le istruzioni ALU mem, reg (es.: ADD [BX], CX) sono considerate semplici anche se vengono eseguite in 2 colpi di clock. Un istruzione semplice (single-cycle) non può essere eseguita in parallelo ad una complessa (multiple-cycle).

17 Dipendenza dalle risorse Si ha una dipendenza dalle risorse quando 2 istruzioni richiedono l utilizzo della stessa unità del data path Nel Pentium, questo tipo di dipendenza è fortemente ridotto, poiché le istruzioni eseguite in parallelo sono semplici Le istruzioni eseguite dalla V pipe sono le operazioni ALU, i riferimenti in memoria e i salti Le istruzioni eseguite dalla U pipe sono le stesse della V pipe, più altre che utilizzano unità 16 funzionali presenti unicamente nella U pipe stessa

18 Dipendenza dai dati Si ha una dipendenza dai dati quando un istruzione scrive un risultato che viene letto o scritto da un altra istruzione La logica presente nello stadio D1 permette di risolvere i conflitti di tipo RAW (Read After Write) e WAW (Write After Write) Una logica opportuna consente di risolvere alcuni tipi di dipendenze dai dati. Ad esempio, un salto condizionale che effettui un test sul valore di un flag può essere eseguito in parallelo ad un istruzione che modifichi lo stesso flag (il salto viene eseguito nella V pipe) 17

19 Dipendenza dal controllo Si ha una dipendenza dal controllo quando l esecuzione di un istruzione è determinata dal risultato dell istruzione precedente Le dipendenze di questo tipo sono eliminate nello stadio D1, evitando di inviare un istruzione alla V pipe nel caso in cui la U pipe stia eseguendo un istruzione di salto 18

20 Branch Prediction (I) La pipeline offre le migliori prestazioni nel caso in cui non si abbiano né istruzioni di salto su condizione né interrupt, dato che in tale caso si può continuare a fare il fetch delle istruzioni in modo continuo I salti su condizione comportano un overhead nel caso in cui il processore sbagli nel prevedere che un certo salto venga eseguito o meno 19

21 Branch Prediction (II) Il Pentium effettua una predizione dinamica del fatto che un salto venga eseguito o meno. In pratica, il Pentium realizza un profiling dei programmi in esecuzione, utilizzando il BTB (Branch Target Buffer) per mantenere traccia della destinazione dei salti eseguiti in precedenza Il BTB è una memoria associativa di 1 KB con 256 entry, ognuna delle quali contiene un branch target address e 2 bit di history. Il tag è costituito dall indirizzo dell istruzione di salto Il BTB garantisce un efficienza dell 80% nelle predizioni 20

22 Floating Point Unit (I) Il Pentium è dotato di una Floating Point Unit con una struttura a pipeline I dati sono rappresentati internamente secondo un formato speciale su 80 bit Le istruzioni f. p. sono eseguite con un throughput di un istruzione/colpo di clock, purché: non si abbiano dipendenze dai dati si abbia cache hit nella code cache e nella data cache 21

23 Floating Point Unit (II) Le istruzioni f.p. sono eseguite nella U pipe e, in generale, non possono essere eseguite in parallelo ad un altra istruzione f.p. o intera Esiste un unica eccezione a questa regola: l istruzione FXCH (che scambia il contenuto del Top Of Stack con quello di un altro registro f.p.) può essere eseguita nella V pipe contemporaneamente ad un altra istruzione f.p. nella U pipe 22

24 Floating Point Unit (III) Il set di istruzioni f.p. prevede un operando a 64 bit in memoria e l altro nel register file floating point Le 2 porte della data cache, normalmente usate dalla U pipe e dalla V pipe, sono utilizzate in parallelo per leggere un dato a 64 bit in un solo colpo di clock Questa pipeline si articola in 8 stadi: Prefetch (PF), Decode1 (D1), Decode2 (D2), Operand Fetch (EX), Execute1 (X1), Execute2 (X2), Write Float (WF) e Error Reporting (ER) 23

25 Floating Point Unit (IV) Durante l esecuzione di un istruzione f.p., il Pentium può generare diverse eccezioni: invalid operation, divide by zero, denormalized operand, overflow, underflow, inexact (che si ha quando è richiesto un arrotondamento) E indispensabile garantire che le eccezioni vengano notificate in modo corretto: per tale motivo, un istruzione non può procedere oltre lo stadio X1 (bloccando pertanto l istruzione precedente allo stadio EX), finché non si è sicuri che non genererà eccezioni 25

26 Floating Point Unit (V) Se così non fosse, un istruzione potrebbe modificare lo stato della CPU mentre quella precedente genera una trap per il gestore software delle eccezioni Le istruzioni f.p. sono quindi suddivise in 2 categorie: safe: istruzioni che certamente non generano eccezioni unsafe: istruzioni che possono generare un eccezione Il Pentium usa la logica di Safe Instruction Recognition per decidere se un istruzione sia safe oppure no, prima dello stadio X1 26

27 Floating Point Unit (VI) Se la logica SIR decide che l istruzione è unsafe, la pipeline ha uno stallo di 3 colpi di clock, in modo tale da permettere all istruzione stessa di raggiungere lo stadio ER e di generare l eventuale eccezione, evitando così che le istruzioni successive modifichino lo stato del processore

28 Cache (I) Il Pentium ha una on-chip cache di 16 KB, suddivisa in modo da avere 8 KB per il codice e 8 KB per i dati, secondo l architettura Harvard Entrambe le cache sono 2-way associative Ogni via consta di 128 set di dimensione pari a 32 byte, che vengono caricati effettuando 4 letture in memoria in burst mode (l aggiornamento avviene in modalità LRU) 27

29 Cache (II) La data cache supporta completamente il protocollo MESI (Modified Exclusive Shared Invalid), mentre la code cache lo supporta solo parzialmente (protocollo SI). Pertanto, ogni entry nella data cache ha 2 bit di stato, mentre le entry nella code cache ne hanno solo uno I tag della data cache sono a tripla porta per consentire alle due ALU di accedere ai dati contemporaneamente, mentre la terza porta è usata ai fini del bus snooping in ambiente multimaster 28

30 Cache (III) La linea di dato è invece a singola porta ed è divisa in 8 banchi da 4 byte ciascuno: di conseguenza, si ha l accesso simultaneo ai dati soltanto se essi sono contenuti in banchi differenti In caso di accesso simultaneo al medesimo banco, la U pipe assume priorità più elevata ed accede ai dati, mentre la V pipe è costretta a fermarsi Anche i tag della code cache sono a tripla porta: la terza, come prima, è usata per il bus snooping 29

31 Cache (IV) 2 porte consentono l accesso simultaneo alla metà inferiore ed a quella superiore della linea Il bus di uscita dalla code cache consente di riempire in un singolo ciclo uno dei due Prefetch Buffer (256 bit) La cache del Pentium può essere gestita, oltre che in modalità write-through, anche in modalità writeback (la modalità write-back è disponibile a partire dal Write Back Enhanced 486DX2)

Pipeline Problemi 1. Pipeline Problemi 2

Pipeline Problemi 1. Pipeline Problemi 2 Problemi 1 Vari fenomeni pregiudicano il raggiungimento del massimo di parallelismo teorico (stallo) Sbilanciamento delle fasi Durata diversa per fase e per istruzione Problemi strutturali La sovrapposizione

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

Instruction Level Parallelism Andrea Gasparetto

Instruction Level Parallelism Andrea Gasparetto Tutorato di architettura degli elaboratori Instruction Level Parallelism Andrea Gasparetto andrea.gasparetto@unive.it IF: Instruction Fetch (memoria istruzioni) ID: Instruction decode e lettura registri

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

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

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

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

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

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

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

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

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

Il processore: unità di elaborazione

Il processore: unità di elaborazione Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

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

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Cache Anno Accademico 24/25 Francesco Tortorella Cache livello della gerarchia di memoria Processore Controllo Datapath Registri On chip cache Cache di secondo livello (SRAM) Memoria principale

Dettagli

Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del

Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del 24.02.2016 Cognome e nome: Matricola: 1. [7] Data la CPU N. 1, specificare il contenuto di tutte le linee (dati e controllo).

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

CPU a ciclo multiplo

CPU a ciclo multiplo Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 1/8 Sommario! I problemi

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

Cache: 1 livello della gerarchia di memoria

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

Dettagli

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

Dettagli

CPU a ciclo multiplo

CPU a ciclo multiplo Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L /9 Sommario! I problemi

Dettagli

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

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

Dettagli

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

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

Dettagli

Miglioramento delle prestazioni

Miglioramento delle prestazioni Miglioramento delle prestazioni Migliorare sia larghezza di banda sia latenza: uso di cache multiple Introdurre una cache separata per istruzioni e dati (split cache) Beneficio: Le operazioni di lettura/scrittura

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

Il pipelining: tecniche di base

Il pipelining: tecniche di base Il pipelining: tecniche di base Il pipelining E una tecnica per migliorare le prestazioni del processore basata sulla sovrapposizione dell esecuzione di più istruzioni appartenenti ad un flusso di esecuzione

Dettagli

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

CPU pipeline hazards

CPU pipeline hazards Architettura degli Elaboratori e delle Reti Lezione 23 CPU pipeline hazards Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 23 /24 Sommario!

Dettagli

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1,

Dettagli

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

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

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

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

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

La gerarchia di memorie (2)

La gerarchia di memorie (2) La gerarchia di memorie (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Migliorare le prestazioni delle cache Consideriamo la formula del tempo medio di accesso in memoria (AMAT) AMAT = hit

Dettagli

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore

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 Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock

Dettagli

Esercitazione su Instruction Level Parallelism

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

Dettagli

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

Assembly. Modello x86

Assembly. Modello x86 Assembly Modello x86 1 Il microprocessore Un MICROPROCESSORE è un circuito integrato dotato di una struttura circuitale in grado di attuare un prefissato SET di ISTRUZIONI 2 Caratteristiche del microprocessore

Dettagli

Instruction Level Parallelism Salvatore Orlando

Instruction Level Parallelism Salvatore Orlando Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni

Dettagli

Instruction Level Parallelism

Instruction Level Parallelism Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni

Dettagli

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect) Ciclo esecutivo delle istruzioni: Fetch/Execute Lo avete visto nel corso di Introduzione alle Architetture degli Elaboratori Stallings, Capitolo 3 Ne vediamo una versione revisionata Indirettezza Per recuperare

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

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

Architettura di una CPU

Architettura di una CPU Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1

Dettagli

Assembler. In verde sono evidenziati i comandi del debug. Attiva la scrittura di istruzioni assembler nella locazione 0100.

Assembler. In verde sono evidenziati i comandi del debug. Attiva la scrittura di istruzioni assembler nella locazione 0100. 2010-02-16- pagina 1 di 6 Assembler Quando si installa un programma si creano dei file che sono memorizzati nell hard-disk del PC. Quando si lancia il programma parte di questi file è copiata nella RAM

Dettagli

ESERCIZIO 1. Sia dato il seguente ciclo di un programma in linguaggio ad alto livello:

ESERCIZIO 1. Sia dato il seguente ciclo di un programma in linguaggio ad alto livello: ESERIZIO 1 Sia dato il seguente ciclo di un programma in linguaggio ad alto livello: do { BASE[i] = BASEA[i] + BASEB[i] + IN1 + IN2; i++; } while (i!= N) Il programma sia stato compilato nel seguente codice

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

Il pipelining: tecniche di base

Il pipelining: tecniche di base Definizione di pipelining Il pipelining: tecniche di base Architetture Avanzate dei Calcolatori E una tecnica per migliorare le prestazioni del processore basata sulla sovrapposizione dell esecuzione di

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

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione

Dettagli

CALCOLATORI ELETTRONICI 15 luglio 2014

CALCOLATORI ELETTRONICI 15 luglio 2014 CALCOLATORI ELETTRONICI 15 luglio 2014 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave sensibile ai fronti di salita e se

Dettagli

Scopo della lezione. Analizzare i tipi di macchine Indirizzamento e memorie Tipi di dato

Scopo della lezione. Analizzare i tipi di macchine Indirizzamento e memorie Tipi di dato Scopo della lezione Analizzare i tipi di macchine Indirizzamento e memorie Tipi di dato Little endian e big endian Indirizzamento logico e fisico Comprendere la struttura del micro Von Neumann architecture

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Il processore Pentium (G. Manduchi - M. Moro - 2001)

Il processore Pentium (G. Manduchi - M. Moro - 2001) Il processore Pentium (G. Manduchi - M. Moro - 2001) Il processore Pentium (introdotto nel 1993) rappresenta l evoluzione della linea di processori Intel formata dalla serie 8086/88, 80286, Intel386 DX

Dettagli

Esercitazione su Gerarchie di Memoria

Esercitazione su Gerarchie di Memoria Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,

Dettagli

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf Architettura di un calcolatore e ciclo macchina Appunti per la classe 3 Dinf Il Sistema di Elaborazione Computer Hardware Software 2 Hardware Struttura fisica del calcolatore formata dai circuiti elettronici

Dettagli

Architettura degli elaboratori Tema d esame del 20/01/2016

Architettura degli elaboratori Tema d esame del 20/01/2016 Architettura degli elaboratori - Luigi Lavazza A.A. 5/6 Università degli Studi dell Insubria Dipartimento di Informatica e Comunicazione Architettura degli elaboratori Tema d esame del //6 Luigi Lavazza

Dettagli

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET:

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET: Università degli Studi di Milano Corso Architettura degli elaboratori e delle reti Prof. Cristina Silvano A.A. 2004/2005 Esame scritto del 15 luglio 2005 Cognome: Matricola: Nome: Istruzioni Scrivere solo

Dettagli

Struttura delle memorie cache

Struttura delle memorie cache Architettura degli Elaboratori e delle Reti Lezione 28 Struttura delle memorie cache Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 28 1/30

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

Struttura delle memorie cache

Struttura delle memorie cache Architettura degli Elaboratori e delle Reti Lezione 28 Struttura delle memorie cache Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 28 1/24

Dettagli

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (9 punti) Si

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

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.

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

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU: Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema

Dettagli

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1)

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1) Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1) La CPU Architettura L organizzazione interna di una CPU è caratterizzata dal data path, che è costituito da una serie di componenti,

Dettagli

Le memorie Cache n-associative

Le memorie Cache n-associative Le memorie Cache n-associative Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/30 Sommario

Dettagli

Capitolo 2: Strutture dei sistemi di calcolo

Capitolo 2: Strutture dei sistemi di calcolo Capitolo 2: Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Struttura delle reti di calcolatori

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: motivi didattici: l architettura dei processori Intel

Dettagli

Il Sottosistema di Memoria

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

Dettagli

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

Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando

Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando Arch. Elab. - S. Orlando 1 Eccezioni e interruzioni Il progetto del controllo del processore si complica

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

Caching Andrea Gasparetto

Caching Andrea Gasparetto Tutorato di architettura degli elaboratori Caching Andrea Gasparetto andrea.gasparetto@unive.it Esercizio 1 Dati una cache con 4096 blocchi, e con dimensione dell INDEX di 10 b, determinare il grado di

Dettagli

Aumentare il parallelismo a livello di istruzione (2)

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

Dettagli

Gli attori principali di un architettura

Gli attori principali di un architettura Memoria Architettura degli Elaboratori e delle Reti, Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it Gli attori principali

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

Von Neumann Bottleneck

Von Neumann Bottleneck Von Neumann Bottleneck Gerarchia di memoria Struttura della Gerarchia Al livello 1 poniamo la memoria più veloce (piccola e costosa) Al livello n poniamo la memoria più lenta (grande ed economica) Scopo

Dettagli

Esercitazione del 12/05/ Soluzioni

Esercitazione del 12/05/ Soluzioni Esercitazione del 12/05/2005 - Soluzioni Una CPU a ciclo singolo come pure una CPU multi ciclo eseguono una sola istruzione alla volta. Durante l esecuzione poi, alcuni stadi della CPU rimangono inutilizzate

Dettagli

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore:

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: Cache associativa Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: 1. Indirizzamento diretto (già visto). Ogni blocco della memoria inferiore può

Dettagli

HARDWARE 1.4a: (Processore)

HARDWARE 1.4a: (Processore) HARDWARE 1.4a: (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Sciuto, Buonanno, Mari, Introduzione ai sistemi informatici, Mc Graw Hill Questi lucidi

Dettagli

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore

Dettagli

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo

Dettagli

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli

Esercitazione su Gerarchie di Memoria

Esercitazione su Gerarchie di Memoria Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,

Dettagli

Elettronica per l informatica. Cosa c è nell unità A. Unità A: Bus di comunicazione. A.1 Architetture di interconnessione A.2 Esempi commerciali

Elettronica per l informatica. Cosa c è nell unità A. Unità A: Bus di comunicazione. A.1 Architetture di interconnessione A.2 Esempi commerciali Elettronica per l informatica 1 Cosa c è nell unità A Unità A: Bus di comunicazione A.1 Architetture di interconnessione A.2 Esempi commerciali 2 Contenuto dell unità A Architetture di interconnessione

Dettagli

Il Sottosistema di Memoria

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

Dettagli

La memoria cache. Lab di Calcolatori

La memoria cache. Lab di Calcolatori La memoria cache 1 Gap delle prestazioni DRAM - CPU 1000 CPU- DRAM Gap CPU Proc 60%/yr. (2X/1.5yr) 100 10 ProcessorMemory Performance Gap: (grows 50% / year) D R A M DRAM9%/yr.(2X/10 yrs) 1 1980 1981 1982

Dettagli

La CPU a singolo ciclo

La CPU a singolo ciclo La CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 5 (fino a 5.4) 1/44 Sommario

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE memoria centrale Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). John von Neumann (Neumann János) (December 28, 1903

Dettagli

Comparazione fra vari processori

Comparazione fra vari processori RISC Reduced Instruction Set Computer Caratteristiche chiave Numero elevato di registri ad uso generale oppure utilizzo di compilatori per ottimizzare l uso dei registri Set istruzioni semplice e limitato

Dettagli

Calcolatori Elettronici T. ISA DLX: Implementazione Tramite Struttura Pipelined

Calcolatori Elettronici T. ISA DLX: Implementazione Tramite Struttura Pipelined Calcolatori Elettronici T ISA L: Implementazione Tramite Struttura Pipelined 1 Principio del Pipelining Il pipelining è oggi la principale tecnica di base impiegata per rendere veloce una CP. L idea alla

Dettagli

Capitolo 5 Struttura di base del processore

Capitolo 5 Struttura di base del processore Capitolo 5 Struttura di base del processore 5.1. Il periodo di clock deve ospitare tutti i ritardi di propagazione più il tempo di impostazione per i registri. a. Minimo periodo di clock = 70 + 600 + 50

Dettagli

Il linguaggio macchina

Il linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio

Dettagli