G. Bucci - Calcolatori Elettronici
Memoria e altro
• Contenuto della lezione– Richiami– Evoluzione– Gerarchia – Organizzazione– Allineamento– Indirizzamento– Ecc
G. Bucci - Calcolatori Elettronici
Prima di tutto un ripasso di elettronica….Logica TTL ¼ di 7400
G. Bucci - Calcolatori Elettronici
Soglia di rumore
Registro
G. Bucci - Calcolatori Elettronici
Open collector
G. Bucci - Calcolatori Elettronici
Logica Tristate
Trasferimento info
BUS
Bus
G. Bucci - Calcolatori Elettronici
Memoria
• Funzionalità– Memoria di sola lettura (ROM) – Memoria di lettura/scrittura (RAM)
• Tecnologia– Memoria elettronica– Memoria magnetica– Memoria ottica
• Modalità di accesso – Memoria ad accesso casuale– Memoria ad eccesso sequenziale– Memoria ad eccesso per contenuto (CAM)
G. Bucci - Calcolatori Elettronici
Memoria
• Parametri di valutazione – Dimensione (bit o byte)– Velocità– Potenza– Integrazione– Costo
G. Bucci - Calcolatori Elettronici
Memoria ROM
G. Bucci - Calcolatori Elettronici
PROM
G. Bucci - Calcolatori Elettronici
Memoria RAM
– Statiche (uno (o più) FF per bit)• Alto Consumo• Bassa Integrazione• Alto Costo• Alta velocità
– Dinamiche (1 transistore Cmos per cella; un condensatore fa da elemento di mem)
• Basso Consumo• Alta integrazione• Basso costo• Bassa velocità
G. Bucci - Calcolatori Elettronici
SRAM (AS7C34096 512K per 8)
• 18 linee indirizzo– 1024 righe– 512 colonne
• 8 linee dati• WE• OE• CE
G. Bucci - Calcolatori Elettronici
…SRAM (AS7C34096)
NB:
tRC=tACC
(10ns)
G. Bucci - Calcolatori Elettronici
DRAM (AS4C1M16E5 1M di 1 bit)
NB:
tRC=75 ns
tRAC= 45 ns
G. Bucci - Calcolatori Elettronici
Dischi magnetici
• Memorie di massa• Piatti, settori, tracce, cilindri, testine,….• Tecnologie raffinatissime
– l’altezza di volo delle testine è 0,5 micron (una particella di fumo è 6 micron)
G. Bucci - Calcolatori Elettronici
Dischi magnetici
• Piatti: da 1 a 20• Diametro: da 1 a 5,25 pollici (portatili 2”)• Giri/min: da 3600 a 7200 (e più)• Tracce: da 1000 a 5000 per faccia• Settori: da 64 a 200• Dim settore: 512 (tipica), 1024, 2048 byte
• Tseek: da 8 a 12 ms (è un tempo medio: sfavorevole!! )• Tlat = 0,5 (60/g) s• Ttrasf = Dimsett/Vtrasf (Vtrasf: da 2 a 15 Mbyte/s)
• Tacc= Tseek+Tlat+Ttrasf (+Tcontr+Tq)
G. Bucci - Calcolatori Elettronici
Crescita livello integrazione DRAM
G. Bucci - Calcolatori Elettronici
Costi DRAM
G. Bucci - Calcolatori Elettronici
Evoluzione tecnologica (DRAM)
G. Bucci - Calcolatori Elettronici
La forbice
Negli anni è cresciuta, e continua a crescere,la differenza di velocità tra CPU e memoria.
G. Bucci - Calcolatori Elettronici
“Legge” di Moore
• Enunciata nel 1965, aggiustata più volte:– Inizialmente: Raddoppio della “capacità elaborativa”
(numero di transistori) ogni 12 mesi (anni 70)– A media via: Raddoppio ogni 2 anni (anni 80)– Correntemente: Raddoppio ogni 18 mesi (dai 90)
• Vuol dire che nei prossimi 18 mesi l’elettronica avràun aumento quantitativo pari a quello complessivo dall’inizio (della storia) ad oggi !!!!!!!!!!!!!!– Non è una legge fisica– Prima o poi non andrà più bene– Per ora tiene!!!!!!!!!!!!!!!!
G. Bucci - Calcolatori Elettronici
Processori Intel
G. Bucci - Calcolatori Elettronici
Processori Intel
G. Bucci - Calcolatori Elettronici
Cicli di wait
• f: frequenza del clock• N: numero di cicli previsti dalla CPU per l’accesso
alla memoria• Tempo di memoria: t = N/f deve essere > tACC
E se non è verificata?• Una soluzione è inserire cicli di wait
t = (N + Nw)/f > tACC
Quanto più la macchina è veloce, tanto più si paga.
G. Bucci - Calcolatori Elettronici
Il caso Intel …..
G. Bucci - Calcolatori Elettronici
... Il caso Intel
• A partire dal 486 frequenza interna (f) ed esterna (fbus)sono diverse.
• I cicli di Wait sono improponibili (già dal 386)• La soluzione sono le CACHE
G. Bucci - Calcolatori Elettronici
Gerarchia
• Località spaziale• Località temporale
• Non serve una memoria “piatta”. Meglio una gerarchia
Cache
M centr.
G. Bucci - Calcolatori Elettronici
Gerarchia
G. Bucci - Calcolatori Elettronici
Esempio di Gerarchia (Pentium II)
G. Bucci - Calcolatori Elettronici
Organizzazione Memoria
• Elemento indirizzato– E’ convenzione assegnare gli indirizzi ai byte
• Grado di parallelismo– Numero di bit del bus dati
• Selezione degli integrati componenti
M
Indirizzi An-1 - A0
Dati: 8, 16, 32, 64 bit
Comandi
G. Bucci - Calcolatori Elettronici
Organizzazione Memoria
• Memoria a 8 bit
Linee Ind: Alog(C)-1…..A0
G. Bucci - Calcolatori Elettronici
• Parole di 32 bit
Organizzazione Memoria
G. Bucci - Calcolatori Elettronici
Ordinamento
• Intel: Little Endian• Motorola: Big Endian• PowerPC: a scelta
6 34 3 1 05
21 3 40 65
G. Bucci - Calcolatori Elettronici
Allineamento in memoria
• Esempio: parole di 32 bit, formate da quattro banchi di 8 byte• La parola tratteggiata è non allineata; ha il byte meno
significativo in i+6 (Little Endian) il più significativo in i+9• Occorrerebbero due accessi alla memoria
G. Bucci - Calcolatori Elettronici
Indirizzamento
• L’interpretazione del campo IND può essere differente da macchina a macchina
• Indirizzo effettivo (EA): Il valore che risulta dal calcolo dell’indirizzo attraverso i componenti espliciti contenuti nell’istruzione
LD RA, VAR
ST VET(R28), R12
MOV AX, VAR
MOV VET(IS), BX
G. Bucci - Calcolatori Elettronici
Rilocazione Modello lineare
Costruito dal compilatore
Dopo la rilocazione
Deve contenere l’indicazione di
“rilocabile”
G. Bucci - Calcolatori Elettronici
Rilocazione Modello segmentato
• Non c’è bisogno di modifiche
G. Bucci - Calcolatori Elettronici
Modalità di indirizzamento (dati)
Indirizzamento direttoLD R1, var ; EA= IND R1:= M[EA]
Indirizzamento relativo ai registriST var(R3),R6 ; EA= IND + R3 M[EA]:= R6
Indirizzamento indiretto rispetto ai registriLD R1, (R2) ; EA= R2
Indirizzamento relativo ai registri indiciato e scalatoLD R1, var (R2) (Rx) ; EA= IND + R2 + RX*d
d è la dimensione dell’elemento
G. Bucci - Calcolatori Elettronici
Modalità di indirizzamento (dati)
Indirizzamento indiretto rispetto ai registri con autoincr.LD R1, (R2)+ ; EA= R2; R2:= R2 + d
Indirizzamento immediatoLD R1, 2346 ; R1:= 2346
Indirizzamento tra registriLD R16,R8 ; R16:= R8
Indirizzamento porte di I/OIN R5,Porta ; R5:= porta (di ingresso)
G. Bucci - Calcolatori Elettronici
Modalità di indirizzamento (controllo)
• Salto, salto condizionato, chiamata e ritorno da sottoprogrammi– Diretto– Relativo al PC o ad altro registro
• EsempiJMP DEST ; Diretto o relativo a PCJZ wait ; Di solito relativo a PCcall sub ; PUSH(PC); PC<=Indirizzo sub
BR R30 ; EA destinazione = R30BAL sub ; R30<-PC; PC<=Indirizzo sub; RET ; PC<=POP
G. Bucci - Calcolatori Elettronici
Memoria Istruzioni
G. Bucci - Calcolatori Elettronici
Istruzioni e architettura
a= b+c• Soluzione 1 (macchina a 3 indirizzi)
– ADD A, B, C
• Soluzione 2 (stile RISC)– LD R1,B– LD R2,C– ADD R3,R1,R2– ST A,R3
• Soluzione 3 (un indirizzo)– LD R1,B– ADD R1,C– ST A,R1
G. Bucci - Calcolatori Elettronici
Istruzioni e architettura
a= b+c• Soluzione 4 (Stack - 0 indirizzi)
– PUSH B– PUSH C– ADD– POP A
G. Bucci - Calcolatori Elettronici
Programma in memoria
G. Bucci - Calcolatori Elettronici
Controllo del flusso
• JMP DEST
• JE Ra,Rb,DEST
• PSW: Z, S, O, CCMP R1,R2JZ DEST
G. Bucci - Calcolatori Elettronici
Verso il repertorio
int s, i;int v[10];s= 0; i=0;while (i<10){s= s+v[i]; i= i+1;}
• Il precedente formato dell’istruzione LD non ci basta. Vogliamo scrivere
LD R3,V(R2)
G. Bucci - Calcolatori Elettronici
Traduzione