Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai...

22
21/03/2007 Introduzione ai sistemi informatici 1 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Informatica Informatica Pietro Storniolo [email protected] http://www.pa.icar.cnr.it/storniolo/info200607 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Le Le infrastrutture HardWare infrastrutture HardWare L’architettura di riferimento architettura di riferimento Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Funzionalit Funzionalità di un calcolatore di un calcolatore Elaborazione Controllo Memorizzazione Trasferimento Ambiente esterno

Transcript of Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai...

Page 1: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 1

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

InformaticaInformatica

Pietro [email protected]

http://www.pa.icar.cnr.it/storniolo/info200607

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

LeLe infrastrutture HardWareinfrastrutture HardWare

LL’’architettura di riferimentoarchitettura di riferimento

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

FunzionalitFunzionalitàà di un calcolatoredi un calcolatore

Elaborazione

Controllo

Memorizzazione

Trasferimento

Ambiente esterno

Page 2: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 2

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Caratteristiche dellCaratteristiche dell’’architetturaarchitetturaflessibilitflessibilitàà nel calcolonel calcolo

mmodularitodularitàà della strutturadella struttura

scalabilitscalabilitàà dei componentidei componenti

standardizzazione dei componentistandardizzazione dei componenti

abbattimento dei costiabbattimento dei costi

semplicitsemplicitàà di installazione di installazione e di e di esercizio del sistemaesercizio del sistema

disponibilitdisponibilitàà di applicazioni di applicazioni a basso prezzo di venditaa basso prezzo di vendita

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Interconnessione

Il calcolatore:Il calcolatore:modello concettualemodello concettuale

1.Elaborazione

2.Memorizzazione

3.Comunicazione

(interfaccia)

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

1.Elaborazione

Interconnessione

2.Memorizzazione

3.Comunicazione

(interfaccia)

Unità Centrale di Elaborazione

MemoriaElettronica

MemoriaMagnetica

Il calcolatore:Il calcolatore:modello modello architetturalearchitetturale

Periferiche

Collegamenti(BUS/Cavi)

Page 3: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 3

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Lo schema di riferimentoLo schema di riferimento

ALU

Interfaccia di I/O

Video/tastiera (terminale)

Memoria di massa

dati

controllo

indirizzi BUS

Interfaccia di I/O Memoria CPU

PC

Registri

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Lo schema di riferimentoLo schema di riferimento

Memoria di massa

Bus datiBus indirizzi

Bus di controllo

CPURAM

Scheda madre(motherboard)

Interfaccia di I/O

Schermo

Tastiera e mouse Altoparlanti

Interfacce di I/O

Interfacce di I/O

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Scheda madreScheda madre

Zoccolo per Zoccolo per la CPUla CPU

Connettori Connettori per la per la memoriamemoria

Connettori per Connettori per schede di I/O schede di I/O aggiuntiveaggiuntive

Connettori per Connettori per dischi fissidischi fissi

Page 4: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 4

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Collegamento a BUSCollegamento a BUS

☺☺ SemplicitSemplicitàà• un’unica linea di connessione costi ridotti di produzione

☺☺ EstendibilitEstendibilitàà• aggiunta di nuovi dispositivi molto semplice

☺☺ StandardizzabilitStandardizzabilitàà• regole per la comunicazione da parte di dispositivi diversi

LentezzaLentezza• utilizzo in mutua esclusione del bus

LimitatLimitatàà capacitcapacitàà• al crescere del numero di dispositivi collegati

Sovraccarico del processore (CPU)Sovraccarico del processore (CPU)• perchè funge da master sul controllo del bus

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

LeLe infrastrutture HardWareinfrastrutture HardWare

Il processoreIl processore

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

CPU CPU –– CentralCentral Processing Processing UnitUnitUnitUnitàà Centrale di ElaborazioneCentrale di Elaborazione

Page 5: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 5

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Organizzazione tipica di un Organizzazione tipica di un calcolatore calcolatore ““bus bus orientedoriented””

CPU Memoriacentrale

Bus

Unità dicontrollo

Unitàaritmetico

logica (ALU)

Registri

CPU

Terminale

Unitàdisco

Stampante

Dispositivi di I/O

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

LL’’ ““esecutoreesecutore””Un calcolatore basato sullUn calcolatore basato sull’’architettura di architettura di VonVon NeumannNeumann esegue un esegue un programma sulla base dei seguenti principi:programma sulla base dei seguenti principi:• dati e istruzioni sono memorizzati in una memoria unica che permette sia la

scrittura che la lettura;• i contenuti della memoria sono indirizzati in base alla loro posizione,

indipendentemente dal tipo di dato o istruzione contenuto;• le istruzioni vengono eseguite in modo sequenziale.

Il linguaggio per cui la CPU si comporta da esecutore Il linguaggio per cui la CPU si comporta da esecutore èè detto detto linguaggio linguaggio macchinamacchina. Le istruzioni scritte in linguaggio macchina sono piuttosto . Le istruzioni scritte in linguaggio macchina sono piuttosto rudimentali: rudimentali: • il concetto di tipo di dato è quasi assente,• il numero di operandi è limitato (in genere non più di due),• il numero di operazioni previste è ridotto.

000110001000001000000 00000 100000Linguaggio macchinaLinguaggio macchinaR03R02R01addLinguaggio assemblatoreLinguaggio assemblatoresrc2src2src1src1destdestcodice operativocodice operativoStruttura istruzioneStruttura istruzione

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Ciclo Ciclo FetchFetch––DecodeDecode––ExecuteExecute

Fetch

Decode

Execute

Page 6: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 6

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Le parti di una CPULe parti di una CPUData Data pathpath (o (o percorso dei datipercorso dei dati))• è la parte che si occupa dell’effettiva elaborazione dei dati;• comprende dispositivi diversi

• una o più unità aritmetico-logiche, dette ALU (Arithmetic Logic Unit);• alcune unità di memorizzazione temporanea, i registri, memoria ad alta velocità

usata per risultati temporanei e informazioni di controllo (il valore massimomemorizzabile in un registro è determinato dalle dimensioni del registro).

UnitUnitàà di controllodi controllo• coordina le operazioni di tutto il processore (anche quelle del data path!);• regola il flusso dei dati e indica quali registri debbano essere collegati agli

ingressi e all’uscita dell’ALU;• invia all’ALU il codice dell’operazione da eseguire;• riceve indicazioni sull’esito dell’operazione appena eseguita dall’ALU e

gestisce opportunamente queste informazioni;• comprende alcuni registri di uso specifico

• Program Counter (PC) – qual è l’istruzione successiva;• Instruction Register (IR) – istruzione in corso d’esecuzione;• …

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Data Data PathPath

Registri ingresso ALU R00 R01 R02 R03 … … … …

Registri

A L U

Registro uscita ALU X

Y

X + Y

add esito

X Y

X + Y

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

UnitUnitàà di controllodi controllo

PC

PSW

Memoria

Data path

Unità di controllo

CPU

Bus

dati

Bus

indi

rizz

i

Bus

cont

rollo

IR

Page 7: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 7

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

CPUCPUIn In gradogrado di di eseguireeseguire solo solo istruzioni istruzioni codificatecodificate in in linguaggiolinguaggio macchinamacchina

CicloCiclo Fetch Fetch –– Decode Decode -- ExecuteExecute1. Prendi l’istruzione corrente dalla memoria (quella individuata dal

contenuto del PC) e mettila nell’IR (Instruction Register), contemporaneamente incrementa il Program Counter (PC) in modo checontenga l’indirizzo dell’istruzione successiva (fetch)

2. Determina il tipo di istruzione da eseguire (decode)

3. Se l’istruzione usa dei dati presenti in memoria, determinane la posizione;

4. Carica la parola, se necessario, in un registro della CPU;

5. Esegui l’istruzione (execute)

6. Torna al punto 1 e inizia a eseguire l’istruzione successiva.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Tre tipologie di istruzioniTre tipologie di istruzioniIstruzioni aritmeticoIstruzioni aritmetico--logiche (Elaborazione dati)logiche (Elaborazione dati)• Somma, Sottrazione, Divisione, …• And, Or, Xor, …• Maggiore, Minore, Uguale, Minore o uguale, …Controllo del flusso delle istruzioniControllo del flusso delle istruzioni• Sequenza• Selezione semplice, a due vie, a n vie, …• Ciclo a condizione iniziale, ciclo a condizione finale, …Trasferimento di informazioneTrasferimento di informazione• Trasferimento dati e istruzioni tra CPU e memoria• Trasferimento dati e istruzioni tra CPU e dispositivi di

ingresso/uscita (attraverso le relative interfacce)

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Tipologie di istruzioniTipologie di istruzioniArchitettura di riferimento: Architettura di riferimento: loadload//storestore• le operazioni aritmetico-logiche possono essere eseguite solo su dati che siano

già stati caricati nei registri;• le operazioni di caricamento dei dati dalla memoria nei registri (load) e di

archiviazione dei risultati dai registri nella memoria (store) debbono essere previste esplicitamente.

Un processore in architettura Un processore in architettura loadload//storestore dovrdovràà quindi essere in grado di quindi essere in grado di eseguire le seguenti categorie di istruzioni:eseguire le seguenti categorie di istruzioni:• Istruzioni aritmeticoaritmetico--logichelogiche (Elaborazione dati)

• Somma, Sottrazione, Divisione, …• And, Or, Xor, …• Maggiore, Minore, Uguale, Minore o uguale, …

•• Controllo del flussoControllo del flusso delle istruzioni• Sequenza• Salto condizionato o non condizionato (per realizzare selezioni e cicli)

•• TrasferimentoTrasferimento di informazione• Trasferimento dati e istruzioni tra CPU e memoria• Trasferimento dati e istruzioni tra CPU e dispositivi di ingresso/uscita (attraverso le

relative interfacce)

Page 8: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 8

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Esempi di istruzioniEsempi di istruzioni

salto (non condizionato)vai a 84210j 84210

salto (condizionato)se (R01 == R02) vai a PC–421beq R01,R02,–421

trasferimentoM[R02 + 421] ← R01sw R01,R02,421

trasferimentoR01 ← M[R02 + 421]lw R01,R02,421

aritmetico-logicaR01 ← R02 + 421addi R01,R02,421

aritmetico-logicaR01 ← R02 + R03add R01,R02,R03

CategoriaCategoriaSignificatoSignificatoIstruzioneIstruzione

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Istruzioni aritmeticoIstruzioni aritmetico--logichelogicheUnUn’’istruzione aritmeticoistruzione aritmetico--logica, ad esempio logica, ad esempio addadd RZ,RX,RYRZ,RX,RY, viene eseguita in quattro passi:, viene eseguita in quattro passi:1. l’istruzione viene prelevata dalla memoriaprelevata dalla memoria e scritta nell’IR mentre il

PC viene incrementato (si tratta della fase di fase di fetchfetch già descritta in precedenza);

2. viene letto il contenuto dei due registri RX e RYletto il contenuto dei due registri RX e RY (in pratica l’unitàdi controllo attiva i collegamenti tra i registri RX e RY, individuati dal contenuto dell’IR, e i registri di ingresso all’ALU e provvede a effettuare il trasferimento dei dati);

3. la ALU opera sui datiALU opera sui dati letti dal banco dei registri, eseguendo l’operazione indicata dal codice compreso nell’istruzione (l’unità di controllo attiva il collegamento di un pezzo dell’IR con l’ingresso di controllo dell’ALU);

4. il risultato risultato calcolato dall’ALU viene scritto nel registro RZscritto nel registro RZ (anche il registro destinazione viene individuato a partire dal contenuto dell’IR).

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Istruzioni di trasferimentoIstruzioni di trasferimentoUnUn’’istruzione di trasferimento, ad esempio istruzione di trasferimento, ad esempio lwlw RY,RX,baseRY,RX,base, viene eseguita in cinque passi:, viene eseguita in cinque passi:1. l’istruzione viene prelevata dalla memoriaprelevata dalla memoria e scritta

nell’IR mentre il PC viene incrementato;2. viene letto il contenuto del registro RXletto il contenuto del registro RX;3. la ALU opera sui datiALU opera sui dati letti dal banco dei registri e sulla

base scritta nell’IR;4. il risultatorisultato calcolato dall’ALU viene utilizzato come utilizzato come

indirizzoindirizzo per la memoria dati;5. il datodato proveniente dalla memoria viene scritto nel scritto nel

registro RYregistro RY.

Page 9: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 9

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Istruzioni di controlloIstruzioni di controlloUnUn’’istruzione di trasferimento, ad esempio istruzione di trasferimento, ad esempio beqbeq RX,RY,saltoRX,RY,salto, viene eseguita in quattro , viene eseguita in quattro passi:passi:1. l’istruzione viene prelevata dalla memoriaprelevata dalla memoria e scritta

nell’IR mentre il PC viene incrementato;2. viene letto il contenuto dei due registri RX e RYletto il contenuto dei due registri RX e RY;3. la ALU opera sui datiALU opera sui dati letti dal banco dei registri,

eseguendo l’operazione indicata dal codice compreso nell’istruzione (nel caso dell’esempio si tratta di una sottrazione, per verificare poi se il risultato è uguale o diverso da zero); contemporaneamente il contenuto del PCPC viene sommato al valore del saltosommato al valore del salto per calcolare l’eventuale destinazione del salto;

4. l’esito dell’operazione viene utilizzato per decidere quale quale valore debba essere memorizzato nel PCvalore debba essere memorizzato nel PC.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

UnitUnitàà funzionali richiestefunzionali richiestedai diversi tipi di istruzioni dai diversi tipi di istruzioni

Memoria(istruzioni)

Salto(non condizionato)

ALUBancoregistri

Memoria(istruzioni)

Salto(condizionato)

Memoria(dati)ALU

Bancoregistri

Memoria(istruzioni)

Trasferimento(registri → memoria)

Bancoregistri

Memoria(dati)ALUBanco

registriMemoria

(istruzioni)Trasferimento

(registri ← memoria)

Bancoregistri

ALUBancoregistri

Memoria(istruzioni)

Aritmetico-logico

UnitUnitàà funzionali utilizzatefunzionali utilizzateTipo di istruzioneTipo di istruzione

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Durata indicativa di ogni categoria di Durata indicativa di ogni categoria di istruzione (tempi in istruzione (tempi in nsns). ).

1010––––10SaltoSalto(non(non condizionato)condizionato)

2525––10510SaltoSalto(condizionato)(condizionato)

3535–1010510TrasferimentoTrasferimento(registri(registri →→ memoria)memoria)

404051010510TrasferimentoTrasferimento(registri(registri ←← memoria)memoria)

30305–10510AritmeticoAritmetico--logicologico

TotaleTotaleScritturaScritturaregistroregistro

(SR)(SR)

MemoriaMemoriadatidati(MD)(MD)

ALUALU

(AL)(AL)

LetturaLetturaregistroregistro

(LR)(LR)

MemoriaMemoriaistruzioniistruzioni

(MI)(MI)Tipo di istruzioneTipo di istruzione

Page 10: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 10

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Un esempioUn esempioEsecuzione di una successione di quattro istruzioni per il Esecuzione di una successione di quattro istruzioni per il caricamento di due dati dalla memoria nei registri R01 e R02, caricamento di due dati dalla memoria nei registri R01 e R02, la loro somma e la registrazione in memoria del risultato.la loro somma e la registrazione in memoria del risultato.

lw R01,R11,421

lw R02,R11,842

add R03,R01,R02

sw R03,R11,421

MI LR AL SR MD

MI LR AL SR MD

MI LR AL SR

MI LR AL MD

Ordine di esecuzione delle istruzioni

Tempo

40 ns

40 ns

30 ns

35 ns

145 ns

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Incrementare le prestazioni Incrementare le prestazioni con il parallelismocon il parallelismo

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Migliorare le prestazioni di una CPUMigliorare le prestazioni di una CPULa La frequenza di clockfrequenza di clock• influenza direttamente il tempo di ciclo del data path e

quindi le prestazioni di un calcolatore;• è limitata dalla tecnologia disponibile.

Il Il parallelismoparallelismo permette di migliorare le prestazioni permette di migliorare le prestazioni senza modificare la frequenza di clock. Esistono senza modificare la frequenza di clock. Esistono due forme di parallelismo:due forme di parallelismo:• parallelismo a livello delle istruzioni

(architetture pipeline o architetture superscalari);• parallelismo a livello di processori

(Array computer, multiprocessori o multicomputer).

Page 11: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 11

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Architettura pipelineArchitettura pipelineOrganizzazione della CPU come una Organizzazione della CPU come una ““catena di catena di montaggiomontaggio””• la CPU viene suddivisa in “stadi”, ognuno dedicato

all’esecuzione di un compito specifico;• l’esecuzione di un’istruzione richiede il passaggio

attraverso (tutti o quasi tutti) gli stadi della pipeline;• in un determinato istante, ogni stadio esegue la parte di

sua competenza di una istruzione;• in un determinato istante, esistono diverse istruzioni

contemporaneamente in esecuzione, una per ogni stadio.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Prestazioni di una pipelinePrestazioni di una pipelineIl tempo di esecuzione (Il tempo di esecuzione (latenzalatenza) della singola ) della singola istruzione non diminuisce, anzi istruzione non diminuisce, anzi aumentaaumenta• il tempo di attraversamento (latenza) della pipeline

corrisponde al numero degli stadi (N) moltiplicato per il tempo di ciclo (T);

• il tempo di ciclo è limitato dallo stadio più lento!

AumentaAumenta il numero di istruzioni completate il numero di istruzioni completate nellnell’’unitunitàà di tempo (di tempo (throughputthroughput))• si completa un’istruzione a ogni ciclo di clock;• l’incremento di throughput è quasi proporzionale al

numero degli stadi!

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Evoluzione architettureEvoluzione architettureVista la disponibilitVista la disponibilitàà di un maggior numero di transistor si di un maggior numero di transistor si inseriscono piinseriscono piùù pipeline nella stessa CPUpipeline nella stessa CPU• aumenta il parallelismo perché è possibile eseguire

contemporaneamente diversi flussi di istruzionidiversi flussi di istruzioni;• è necessario garantire che non ci siano conflitticonflitti tra le istruzioni che

vengono eseguite insieme; di solito il controllo è affidato al compilatore.

Memoria Istruzioni

(MI)

Lettura Registri

(LR)

ALU

(AL)

Memoria Dati (MD)

Scrittura Registri

(SR)

Stadio 1 Stadio 2 Stadio 3 Stadio 4 Stadio 5

Lettura Registri

(LR)

ALU

(AL)

Memoria Dati (MD)

Scrittura Registri

(SR)

Page 12: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 12

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Architetture superscalariArchitetture superscalariIn alternativa si possono In alternativa si possono replicare le unitreplicare le unitàà funzionalifunzionali• rappresentano lo stadio più

lento della pipeline (in genere richiedono diversi cicli di clock);

• è più semplice evitare i conflittitra le diverse istruzioni.

S1 S2 S3

ALU 2

S5fetch decode lettura

operandiwrite back

LOAD

STORE

FP 1

ALU 1

FP 2

execute

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

MultiprocessoriMultiprocessoriDiverse CPUDiverse CPU condividono una condividono una memoria comunememoria comune::• le CPU debbono coordinarsi per accedere alla memoria;• esistono diversi schemi di collegamento tra CPU e

memoria, quello più semplice prevede che ci sia un bus condiviso;

• se i processori sono veloci il bus diventa un collo di bottiglia;• esistono soluzioni che permettono di migliorarne le prestazioni, ma

si adattano a sistemi con un numero limitato di CPU (<20).

La La memoria condivisamemoria condivisa rende pirende piùù semplice il semplice il modello di programmazionemodello di programmazione::• si deve parallelizzare l’algoritmo, ma si può trascurare la

“parallelizzazione” dei dati.

CPU CPU CPU CPU mem

bus condiviso

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

MulticalcolatoriMulticalcolatoriSistemi composti da tanti calcolatori collegati fra loroSistemi composti da tanti calcolatori collegati fra loro• ogni calcolatore è dotato di una memoria privata e non c’è memoria

in comune;• comunicazione tra CPU basata su scambio di messaggi.

Non Non èè efficiente collegare ogni calcolatore a tutti gli altri, efficiente collegare ogni calcolatore a tutti gli altri, quindi vengono usate topologie particolari:quindi vengono usate topologie particolari:• griglie a 2/3 dimensioni, alberi e anelli;• i messaggi, per andare da fonte a destinazione, spesso devono passare

da uno o più calcolatori intermedi o switch.• Tempi di trasferimento dei messaggi dell’ordine di alcuni

microsecondi sono comunque facilmente ottenibili.

Sono stati costruiti Sono stati costruiti multicalcolatorimulticalcolatori con ~10.000 CPU.con ~10.000 CPU.

Page 13: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 13

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Struttura di un Struttura di un multicomputermulticomputer

CPU CPU CPU CPU

bus condiviso

memmemmem mem

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Evoluzione delle CPU Evoluzione delle CPU IntelIntel

125 000 00032/642800 — 38002004(Prescott)

55 000 00032/642000 — 34002002(Northwood)

42 000 00032/641300 — 20002000(Willamette)

Pentium 4

24 000 00032/64450 — 11331999Pentium III

7 500 00032/64233 — 4001997Pentium II

3 100 00032/6460 — 2001993Pentium

1 200 00032/3233 — 50198980486

275 00032/3216 — 33198680386

134 00016/168 — 16198280286

29 0008/164.77 — 1219788086

Numero diNumero ditransistortransistor

DimDim. registri. registribus datibus dati

FrequenzaFrequenza((MHzMHz))AnnoAnnoCPUCPU

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Legge di Legge di MooreMooreOsservazione fatta da Osservazione fatta da GordonGordon MooreMoore nel 1965:nel 1965:

il numero dei transistor per cmil numero dei transistor per cm22

raddoppia ogni X mesiraddoppia ogni X mesi

In origine X era 12. Correzioni successive hanno portato a fissare X=18. Questo vuol dire che c’è un incremento di circa il 60% all’anno.

Page 14: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 14

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

# Transistor [CPU # Transistor [CPU IntelIntel]]

100 000

1 000 000

10 000 000

100 000 000

1989 1991 1993 1995 1997 1999

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Legge di Legge di MooreMoore e progressoe progressoIl progresso della tecnologia provoca un Il progresso della tecnologia provoca un aumento aumento del numero di transistordel numero di transistor per cmper cm22 e quindi per chip.e quindi per chip.Un maggior numero di transistor per chip permette Un maggior numero di transistor per chip permette di produrre di produrre prodotti miglioriprodotti migliori (sia in termini di (sia in termini di prestazioni che di funzionalitprestazioni che di funzionalitàà) ) a prezzi ridottia prezzi ridotti..I prezzi bassi stimolano la nascita di I prezzi bassi stimolano la nascita di nuove nuove applicazioniapplicazioni (e.g. non si fanno video game per (e.g. non si fanno video game per computer da milioni di $).computer da milioni di $).Nuove applicazioni aprono Nuove applicazioni aprono nuovi mercatinuovi mercati e fanno e fanno nascere nascere nuove aziendenuove aziende..LL’’esistenza di tante aziende fa esistenza di tante aziende fa crescere la crescere la competitivitcompetitivitàà che, a sua volta, stimola il che, a sua volta, stimola il progresso progresso della tecnologiadella tecnologia e lo sviluppo di e lo sviluppo di nuove tecnologienuove tecnologie..

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

LeLe infrastrutture HardWareinfrastrutture HardWare

La memoria centraleLa memoria centrale

Page 15: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 15

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

La memoriaLa memoria

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

La La memoriamemoriaSupporto alla CPUSupporto alla CPU: deve fornire alla CPU dati e : deve fornire alla CPU dati e istruzioni il piistruzioni il piùù rapidamente possibilerapidamente possibileArchivioArchivio: deve consentire di archiviare dati e : deve consentire di archiviare dati e programmi garantendone la conservazione e la programmi garantendone la conservazione e la reperibilitreperibilitàà anche dopo elevati periodi di tempoanche dopo elevati periodi di tempoDiverse esigenze:Diverse esigenze:• velocità per il supporto alla CPU• non volatilità ed elevate dimensioni per l’archivio

Diverse tecnologieDiverse tecnologie• elettronica: veloce, ma costosa e volatile• magnetica e ottica: non volatile ed economica, ma molto

lenta

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

CriteriCriteri di di caratterizzazionecaratterizzazione di di unauna memoriamemoriaVelocitVelocitààVolatilitVolatilitààCapacitCapacitààCostoCosto (per bit)(per bit)ModalitModalitàà di accessodi accesso•• direttadiretta (o casuale)•• sequenzialesequenziale•• mistamista•• associativaassociativa

Page 16: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 16

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

La memoria centraleLa memoria centrale

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

La La memoriamemoria centralecentrale (RAM)(RAM)MantieneMantiene al al proprioproprio internointerno i i datidati e e le le istruzioniistruzioni deidei programmiprogrammi in in esecuzioneesecuzioneMemoria ad accesso Memoria ad accesso ““casualecasuale””TecnologiaTecnologia elettronicaelettronica• veloce ma volatile e costosa

Due Due ““eccezionieccezioni””• ROM: elettronica ma permanente e di sola lettura• Flash: elettronica ma non volatile e riscrivibile

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Indirizzi di memoriaIndirizzi di memoriaI bit nelle memorie sono raggruppati in I bit nelle memorie sono raggruppati in cellecelle::• tutte le celle sono formate dallo stesso numero di bit;• una cella composta da k bit, è in grado di contenere una

qualunque tra 2k combinazioni diverse di bit.

Ogni cella ha un Ogni cella ha un indirizzoindirizzo::• serve come accesso all’informazione;• in una memoria con N celle gli indirizzi vanno da 0 a N–1.

La cella La cella èè ll’’unitunitàà indirizzabile piindirizzabile piùù piccolapiccola..In quasi tutti i calcolatori In quasi tutti i calcolatori èè di di 8 bit8 bit (un (un bytebyte).).I byte vengono raggruppati in I byte vengono raggruppati in paroleparole (che oggi sono (che oggi sono di di 32/64 bit32/64 bit), su cui la CPU esegue le operazioni.), su cui la CPU esegue le operazioni.

Page 17: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 17

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Organizzazione della memoriaOrganizzazione della memoriaAnche gli indirizzi della memoria sono Anche gli indirizzi della memoria sono rappresentati come numeri binari:rappresentati come numeri binari:• un indirizzo di M bit consente di indirizzare 2M celle;• per 6 o 8 celle bastano 3 bit, per 12 celle ne servono 4;• il numero di bit nell’indirizzo determina il numero

massimo di celle indirizzabili nella memoria ed èindipendente dal numero di bit per cella (una memoria con 212 celle richiede sempre 12 bit di indirizzo, quale che sia la dimensione di una cella).

Una memoria può essere organizzata in diversi Una memoria può essere organizzata in diversi modi:modi:• con 96 bit possiamo avere 6 celle di 16 bit (6*16=96), o 8

celle di 12 bit (8*12=96) o 12 celle di 8 bit (12*8=96).

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Organizzazione della memoriaOrganizzazione della memoria012345

6 parole da 16 bit

01234567

8 parole da 12 bit

0123456789

101112 parole da 8 bit

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Memoria e collegamenti con busMemoria e collegamenti con busViene selezionata la Viene selezionata la parola di indirizzo 0110parola di indirizzo 0110duedue

il contenuto il contenuto èè 01101100;01101100;ll’’operazione operazione èè di lettura di lettura ((loadload) o di scrittura ) o di scrittura ((storestore) a seconda dei ) a seconda dei comandi presenti sul bus comandi presenti sul bus di controllodi controllo

16 celle di memoria di 8 bit ciascuna

0 1 1 0 1 1 0 0 parola selezionata

Dato (letto o da scrivere)

0 1 1 0 1 1 0 0

Bus dati

Bus di controllo

leggi/scrivi

linee di selezione parola

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

linea 0

linea 1

linea 2

linea 3

linea 4

linea 5

linea 6

linea 7

linea 8

linea 9

linea 10

linea 11

linea 12

linea 13

linea 14

linea 15

DEC

OD

IFIC

ATO

RE

Bus indirizzi

0110

Page 18: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 18

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Memoria vs. CPUMemoria vs. CPULe Le CPUCPU sono sempre state sono sempre state pipiùù velociveloci delle delle memoriememorie• l’aumento di integrazione ha consentito di realizzare CPU

pipeline e super scalari, molto efficienti e veloci;• nelle memorie è aumentata la capacità più che la velocità.LL’’accessoaccesso alla memoria passa alla memoria passa attraversoattraverso il il busbus• la frequenza di funzionamento del bus è molto più bassa

di quella della CPU;• il bus può essere impegnato ad effettuare trasferimenti

controllati da dispositivi di I/O “autonomi” (e.g. DMA).ÈÈ difficile riordinaredifficile riordinare le istruzionile istruzioni in modo da poter in modo da poter sfruttare i tempi di attesa della memoria.sfruttare i tempi di attesa della memoria.ÈÈ possibile fare possibile fare memoriememorie moltomolto veloci veloci se stanno nel se stanno nel chip della CPU, ma chip della CPU, ma sono piccolesono piccole e e costosecostose..

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Le memorie gerarchicheLe memorie gerarchicheMemorie di gran capacitMemorie di gran capacitàà, , relativamenterelativamente lente, lente, economiche ed accessibili tramite il bus:economiche ed accessibili tramite il bus:• MGL ovvero Memoria Grossa e Lenta;• dimensioni pari a circa 10 unità;• tempo di accesso (TA) di circa 10 unità.Memorie veloci, integrate nello stesso chip della Memorie veloci, integrate nello stesso chip della CPU, ma costose:CPU, ma costose:• MPV ovvero Memoria Piccola e Veloce;• dimensioni pari a circa 1 unità;• tempo di accesso pari a circa 1 unità. Obiettivo: realizzare una memoria Obiettivo: realizzare una memoria grossa e velocegrossa e veloce• dimensioni pari a circa quelle della memoria grossa;• prestazioni pari a circa quelle della memoria veloce.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Una gerarchia di memoriaUna gerarchia di memoriaMemoria formata da Memoria formata da una MPVuna MPV e e una MGLuna MGL::• la MPV contiene una copia di alcune celle della MGL;• quando la CPU chiede una particolare cella di memoria la

richiesta va ad entrambe le memorie:• se il dato si trova nella MPV, viene passato direttamente alla CPU;• se il dato si trova nella MGL, viene anche caricato nella MPV.

Ipotesi: Ipotesi: distribuzione uniformedistribuzione uniforme delle richiestedelle richieste• la frequenza con cui si trova il dato cercato nella MPV (hit

ratio) sarà in media il 10% (1/10), in questi casi il tempo di accesso (hit time) sarà pari a 1 unità;

• la frequenza con cui è necessario accedere alla MGL (missratio) sarà in media il 90% (9/10), in questi casi il tempo di accesso (miss penalty) sarà pari a 10 unità;

• il tempo medio di accesso sarà 0.1*1+0.9*10=9.1 unità!

Page 19: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 19

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Gerarchia di memoriaGerarchia di memoria

Memoria piccola e veloce

Memoria grande e lenta

Livello 2

Livello 1 Trasferimento

di dati

Sistema di memoria

CPU

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Il principio di localitIl principio di localitààLocalitLocalitàà spazialespaziale::quando si accede allquando si accede all’’indirizzo A, indirizzo A, èè molto probabile molto probabile che gli accessi successivi richiedano che gli accessi successivi richiedano celle vicine ad Acelle vicine ad A..• le istruzioni del codice vengono in genere lette da locazioni

consecutive della memoria;• gli accessi ad array o a strutture dati sono “vicini”.

LocalitLocalitàà temporaletemporale::quando si accede allquando si accede all’’indirizzo A, indirizzo A, èè molto probabile molto probabile negli accessi successivi si richieda negli accessi successivi si richieda didi nuovo nuovo la cella la cella AA..• cicli di istruzioni accedono ripetutamente alle stesse locazioni

di memoria;• istruzioni vicine tendono ad utilizzare le stesse variabili.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Come si sfrutta la localitCome si sfrutta la localitààDiversi approcci a seconda del tipo di localitDiversi approcci a seconda del tipo di localitàà::• località temporaletemporale: i dati prelevati dalla MGL vengono

conservati nella MPV il più a lungo possibile;• località spazialespaziale: quando si copia un dato dalla MGL alla

MPV, si copiano anche i dati vicini (cache line o blocco).La frequenza di successo (La frequenza di successo (hit ratio hit ratio –– hh) cresce fino ) cresce fino a a superare il 99%superare il 99%::• in effetti h dipende da due caratteristiche contrastanti:

• la dimensione dei blocchiun blocco grande sfrutta meglio la località spaziale;

• quanti sono i blocchi in memoriase c’è spazio per tanti blocchi un dato resta in memoria più a lungo e può sfruttare più a lungo la località temporale;

• c’è anche il problema del costo della cache!

Page 20: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 20

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

LL’’effetto della localiteffetto della localitààEffetto del principio di localitEffetto del principio di localitàà sullsull’’esempio di prima:esempio di prima:

• tempo di accesso alla cache pari a 1 unità (TATACC = 1= 1);• tempo di accesso alla memoria (detto anche miss penalty,

ovvero penalità di fallimento) pari a 10 unità (TAM = 10TAM = 10);• frequenza di successo (hit ratio, h = 0.99h = 0.99);• frequenza di fallimento (miss ratio, m = 1 m = 1 –– h = 0.01h = 0.01);• tempo di accesso medio pari a:

TA = h * TATA = h * TACC + m * TA+ m * TAMM

TA = 0.99 * 1 + 0.01 * 10 = 1.09TA = 0.99 * 1 + 0.01 * 10 = 1.09

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

La La memoriamemoria centralecentraleTecnologiaTecnologia elettronicaelettronica ((veloceveloce ma ma volatilevolatile))GerarchiaGerarchia di di memoriamemoria::aiai livellilivelli pipiùù altialti corrispondonocorrispondono le le tecnologietecnologiepipiùù velociveloci ma ma ancheanche pipiùù costosecostose• cache interna (Static RAM – SRAM)• cache esterna (SRAM)• memoria RAM

(Dynamic RAM – DRAM e sue varianti)• area di swap su memoria di massa

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Memoria cache: SRAMMemoria cache: SRAMInterna (L1) Interna (L1) stessa frequenza della CPUstessa frequenza della CPUEsterna (L2 e/o L3)Esterna (L2 e/o L3)• Tre diverse posizioni/configurazioni

• Saldata sulla motherboard• Card Edge Low Profile (CELP) socket• COAST (Cache On A STick) module

• Diverse tipologie• Asynchronous SRAM (più economica),

TA compreso tra 12 e 20ns, OK per bus tra 50 e 66 MHz• Synchronous Burst SRAM (Synch SRAM)

Bus fino a 66 MHzBus oltre i 66 MHz

• Synchronous Pipelined Burst SRAM (PB SRAM)TA compreso tra 4.5 e 8ns, OK per bus fino a 133 MHz

Page 21: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 21

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Memoria centrale Memoria centrale –– DRAMDRAMFast Page Mode DRAMFast Page Mode DRAM ((FPM DRAMFPM DRAM))• TA=70-60ns• Per la lettura si attiva la riga, la colonna, si validano i dati, si

trasferiscono i dati, poi si disattiva la colonna• I miglioramenti di velocità nascono dal progresso della tecnologia di

integrazione.

Extended Data Out DRAMExtended Data Out DRAM ((EDO EDO DRAMDRAM))• TA = 70-50ns• Non richiede la disattivazione della colonna e del buffer di uscita; 60ns

è il minimo per bus a 66MHz

Burst Burst EDO EDO DRAMDRAM ((BEDO DRAMBEDO DRAM))• Evoluzione di EDO DRAM

(pipeline + 2-bit burst counter)• Mai davvero supportata.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Memoria centrale Memoria centrale –– DRAMDRAMSynchronous DRAMSynchronous DRAM ((SDRAMSDRAM))• Sfrutta la sequenzialità delle richieste: una volta trovato il primo dato

gli altri vengono recuperati velocemente.• Fornisce dati fino a 10ns (100MHz)

PC133 SDRAMPC133 SDRAM• Evoluzione della SDRAM per bus a 133MHz• Trasferimento dati fino a 1.6GBps

Double Data Rate DRAM (Double Data Rate DRAM (DDR DRAMDDR DRAM))• Sfrutta entrambi i fronti del clock per trasferire dati: raddoppia la

frequenza efficace non quella effettiva.

Direct Rambus DRAM (Direct Rambus DRAM (DRDRAMDRDRAM))• Risultato della collaborazione tra Intel e Rambus• Nuova architettura: 600-800MHz (1000MHz nel 2001)

con bus di sistema a 133MHz.• 1 canale arriva fino a 1.6GBps (4 canali 6.4 GBps)

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

PackagingPackagingFino allFino all’’inizio degli anni inizio degli anni ‘‘90 la memoria veniva 90 la memoria veniva prodotta, acquistata e installata su chip singoliprodotta, acquistata e installata su chip singoli• densità variabili da 1 Kbit a 1 Mbit;• i PC avevano zoccoli vuoti dove inserire altri chip.Oggi si monta un gruppo di chip, tipicamente 8 o Oggi si monta un gruppo di chip, tipicamente 8 o 16, su un piccola scheda stampata che si vende 16, su un piccola scheda stampata che si vende come unitcome unitàà minima installabile nei PCminima installabile nei PC• SIMM (Single Inline Memory Module) se la fila di connettori

si trova da un solo lato della scheda;• DIMM (Dual Inline Memory Module) se i connettori si

trovano su ambedue i lati della schedaSia Sia SIMMSIMM che che DIMMDIMM sono a volte dotate di un codice sono a volte dotate di un codice di rilevazione o di correzione delldi rilevazione o di correzione dell’’errore.errore.

Page 22: Informatica - pa.icar.cnr.it · PDF fileIntroduzione ai sistemi informatici 7 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari

21/03/2007

Introduzione ai sistemi informatici 22

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Memoria centrale Memoria centrale –– ChipChipSSingle ingle IInline nline MMemory emory MModule odule ((SIMMSIMM))• 30/72 pin sullo stesso lato della scheda;• trasferimento dati a 8/32 bit per volta;• utilizzabili “a coppie”.

Dual InDual In--line Memory Module (line Memory Module (DIMMDIMM))• 168 pin su due lati;• 64 bit alla volta;• utilizzabili anche singolarmente

RIMMRIMM• Moduli di RDRAM;• interfaccia DIMM 100MHz.