Memoria e altro

Transcript

Memoria e altro
Memoria e altro
• Contenuto della lezione
–
–
–
–
–
–
Richiami
Memorie ROM, DRAM, SRAM
Tecnologie, evoluzione, prestazioni
Gerarchia
Organizzazione, allineamento, …
Dischi
G. Bucci - Calcolatori Elettronici
1
RICHIAMI
2
Prima di tutto un ripasso di elettronica….
Logica TTL
¼ di 7400
G. Bucci - Calcolatori Elettronici
3
Soglia di rumore
Correnti
G. Bucci - Calcolatori Elettronici
4
Registro
Un registro è
un insieme
ordinato di FF
5
Trasferimento info
6
BUS (concettuale)
7
Open collector
G. Bucci - Calcolatori Elettronici
8
Logica Tristate
G. Bucci - Calcolatori Elettronici
9
Registro (uscita 3state)
10
Bus (nella pratica, o quasi)
11
BUS
• Anche quello precedente deve essere considerato
come uno schema di principio
• Nella pratica corrente ci sono molteplici forme di bus
• Una distinzione basilare
– Parallelo
– Seriale
– Con l’aumento della velocità la tendenza è abbandonare i
bus paralleli per i bus seriali
• Perché?
12
Tempificazione
• Come si attua un trasferimento
13
Periodo di clock minimo
14
MEMORIA
15
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
16
Memoria
• Parametri di valutazione
–
–
–
–
–
Dimensione (bit o byte)
Velocità
Potenza
Integrazione
Costo
G. Bucci - Calcolatori Elettronici
17
Memoria ROM
G. Bucci - Calcolatori Elettronici
18
PROM
G. Bucci - Calcolatori Elettronici
19
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
20
SRAM
•
512K per 8)
18 linee indirizzo
–
–
•
•
•
•
(AS7C34096
1024 righe
512 colonne
8 linee dati
WE
OE
CE
G. Bucci - Calcolatori Elettronici
21
…SRAM
(AS7C34096)
NB:
tRC=tACC
(10ns)
G. Bucci - Calcolatori Elettronici
22
DRAM
(AS4C1M16E5
1M x 16 bit)
NB:
tRC=75 ns
tRAC= 45 ns
G. Bucci - Calcolatori Elettronici
23
Confronto DRAM - SRAM
SRAM AS7C34096 (Alliance Semiconductor)
• 512 KB
• tAcc = 10, 12, 15, 20
• Pd = 0,660 W
(Vcc = 3,3V)
– p = Pd/Dim = 0,66/512 = 1,29 mW/KB
DRAM AS4C1M16E5 (Alliance Semiconductor)
• 1M X 16bit (2M B = 2048 KB)
• tRC = 75 ns; tRAC = 45
(usare tRC)
• Pd (potenza dissipata) = 0,740 W (Vcc = 5V)
– p (consumo specifico) = Pd./Dim = 0,740/2048 =
= 0,362 mW/KB
24
… Una memoria da 64MB x 16bit
Usando i precedenti integrati
• SRAM
– P = 1,29 * 65.536 = 84,5 W
– I = P/Vcc = 84,5/3,3 = 25,6 A
– N. integrati = 64MB/0,512MB = 128
• DRAM
– P = 0361 * 65536 = 23,7 W
– I = P/Vcc = 23, 7/5 = 4,74 A
– N. Integrati = 64MB/2MB = 32
4 volte meno della
precedente
25
Crescita livello integrazione DRAM
G. Bucci - Calcolatori Elettronici
26
Evoluzione tecnologica (DRAM)
G. Bucci - Calcolatori Elettronici
27
Costi DRAM
G. Bucci - Calcolatori Elettronici
28
Processori Intel
G. Bucci - Calcolatori Elettronici
29
Chip/Moduli di memoria
DIMM
30
Evoluzione tecnologica
G. Bucci - Calcolatori Elettronici
31
La forbice
Negli anni è cresciuta, e continua a crescere,
la differenza di velocità tra CPU e memoria.
(Anche se negli ultimi anni si è leggermente
attenuata)
G. Bucci - Calcolatori Elettronici
32
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
33
Il caso Intel …..
G. Bucci - Calcolatori Elettronici
34
... 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
35
Gerarchia
• Località spaziale
• Località temporale
• Non serve una memoria “piatta”. Meglio una
gerarchia
Cache
M centr.
G. Bucci - Calcolatori Elettronici
36
Gerarchia
G. Bucci - Calcolatori Elettronici
37
Esempio di Gerarchia
G. Bucci - Calcolatori Elettronici
(Pentium II)
38
Organizzazione Memoria
• Elemento indirizzato
– E’ convenzione assegnare gli indirizzi ai byte
• Grado di parallelismo
– Numero di bit del bus dati
• Selezione degli integrati componenti
Indirizzi
An-1 - A0
Comandi
M
Dati: 8, 16, 32, 64 bit
G. Bucci - Calcolatori Elettronici
39
Ordinamento
• Intel:
Little Endian
• Motorola: Big Endian
• PowerPC: a scelta
MSB
G. Bucci - Calcolatori Elettronici
6
5
4
0
3
1
3
2
1
3
0
4
5
LSB
40
6
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
non
o
t
oli
Di s esso
m
p e r R I SC
e
nell
G. Bucci - Calcolatori Elettronici
41
Organizzazione Memoria
• Memoria a 8 bit
Linee Ind:
G. Bucci - Calcolatori Elettronici
Alog(C)-1…..A0
42
Organizzazione Memoria
• Parole di 32 bit (stile Intel)
G. Bucci - Calcolatori Elettronici
43
Stile RISC
LD
Lo schema è
per il caso
generale:
LDW
LDB
LDH
(NB: Little
endian)
44
Stile RISC
ST
Lo schema è
per il caso
generale:
STW
STB
STH
(NB: Little
endian)
45
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
MOV AX, VAR
ST VET(R28), R12
MOV VET(IS), BX
G. Bucci - Calcolatori Elettronici
46
Rilocazione
Modello lineare
Dopo la rilocazione
Costruito dal compilatore
Deve contenere
l’indicazione di
“rilocabile”
G. Bucci - Calcolatori Elettronici
47
Rilocazione
Modello segmentato
• Non c’è bisogno di modifiche
G. Bucci - Calcolatori Elettronici
48
Modalità di indirizzamento (dati)
Indirizzamento diretto
LD R1, var
; EA= IND
R1:= M[EA]
Indirizzamento relativo ai registri
ST var(R3),R6
; EA= IND + R3
M[EA]:= R6
Indirizzamento indiretto rispetto ai registri
LD R1, (R2)
; EA= R2
Indirizzamento relativo ai registri indiciato e scalato
LD R1, var (R2) (Rx)
; EA= IND + R2 + RX*d
d è la dimensione dell’elemento
G. Bucci - Calcolatori Elettronici
49
Modalità di indirizzamento (dati)
Indirizzamento indiretto rispetto ai registri con autoincr.
LD R1, (R2)+
; EA= R2;
R2:= R2 + d
Indirizzamento immediato
LD R1, 2346
; R1:= 2346
Indirizzamento tra registri
LD R16,R8
; R16:= R8
Indirizzamento porte di I/O
IN
R5,Porta
G. Bucci - Calcolatori Elettronici
; R5:= porta (di ingresso)
50
Modalità di indirizzamento (controllo)
• Salto, salto condizionato, chiamata e ritorno da
sottoprogrammi
– Diretto
– Relativo al PC o ad altro registro
• Esempi
JMP
JZ
call
BR
BAL
RET
DEST
wait
sub
R30
sub
G. Bucci - Calcolatori Elettronici
; Diretto o relativo a PC
; Di solito relativo a PC
; PUSH(PC); PC<=Indirizzo sub
; EA destinazione = R30
; R30<-PC; PC<=Indirizzo sub;
; PC<=POP
51
Memoria
G. Bucci - Calcolatori Elettronici
Istruzioni
52
Istruzioni e architettura
• Soluzione 1
a= b+c
(macchina a 3 indirizzi)
– ADD A, B, C
• Soluzione 2
–
–
–
–
LD
LD
ADD
ST
(stile RISC)
R1,B
R2,C
R3,R1,R2
A,R3
• Soluzione 3
(un indirizzo)
– LD R1,B
– ADD R1,C
– ST A,R1
G. Bucci - Calcolatori Elettronici
53
Istruzioni e architettura
• Soluzione 4
–
–
–
–
PUSH
PUSH
ADD
POP
a= b+c
(Stack - 0 indirizzi)
B
C
A
G. Bucci - Calcolatori Elettronici
54
Programma in memoria
G. Bucci - Calcolatori Elettronici
55
Controllo del flusso
• JMP DEST
• JE
Ra,Rb,DEST
• PSW: Z, S, O, C
CMP R1,R2
JZ
DEST
G. Bucci - Calcolatori Elettronici
56
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
57
Traduzione
G. Bucci - Calcolatori Elettronici
58
DISCHI
59
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)
– migliaia di giri al min senza mai fermarsi
G. Bucci - Calcolatori Elettronici
60
Anatomia HDD
61
HD per PC - Evoluzione
ST506 : 5 MB
1979
51/4”
(primo per i PC)
Oggi: 2,5”
portabili: 1TB e più
62
63
HHD
•
•
•
•
•
•
•
•
Piatti: da 1 a 4 (anche di più)
Diametro: da 1 a 5,25 pollici (portatili 2,5”, desktop 3,5”)
Giri/min: da 3.600 a 7.200 (e più, fino a 15.000)
Tracce/faccia: da 1.000 a 5.000+ per faccia
Settori/traccia: da 17 a 200+ (il valore “standard” è 63)
Dim settore (Byte): 512 (tipica ), 1.024, 2.048, 4.096 (la
tendenza è verso 4.096)
Velocità massima trasferimento (interna): Con SATA 3.0 si
arriva a fino a 6 Gb/s , SATA 1.0 arrivava fino a 1.5 Gb/s,
La velocità massima di trasferimento esterna può essere
superiore per via della cache interna che fa da buffer
G. Bucci - Calcolatori Elettronici
64
Tempi
•
•
(più o meno tipici)
(è un tempo medio: sfavorevole!! )
Tseek: da 3 a 12 ms
Tlat = 0,5 (60/g) (g: giri/min)
g = 3600
g = 7200
g = 10000
•
Tlat =8,33 ms
Tlat = 4,17 ms
Tlat = 3,00 ms
Ttrasf = Dimsett/Vtrasf
Dim = 4096 Vt = 100 MB/s Ttrasf = 0,04 ms
•
Tacc= Tseek+Tlat+Ttrasf (+Tcontr+Tq)
•
Esempio: Seagate Barracuda 7200.11
– 1 TB; 7200 g/m; Interfaccia SATA; 32 MB cache;
– 512 B/settore; 1.953.525.168 settori; 63 settori/traccia;
– Tacc = 11 ms
– Vt (interna) = 1030 Mb/s; Vt (esterna continua) = 105 MB/s
– Vt (esterna max) = 300 MB/s;
G. Bucci - Calcolatori Elettronici
65
Settori
In passato
N sett/traccia costante
Dischi attuali
Conviene avere + o – la
stessa densità => divisione
per zone
N sett/traccia cresce verso le
zone esterne
66
Cilindri
Le tracce in
posizione X formano
il cilindro X
•
Indirizzamento CHS (cilindro – testina – settore)
– C: individua il cilindro
– H: individua la testina (la superficie)
• (C+H individuano la traccia)
– S: individua il settore entro la traccia
67
Indirizzamento CHS
• Standard CHS versione iniziale:
– Bit di indirizzo 24: 10+8+6
– 1024 * 255 * 63 = 16 M settori c.a. Max
– Con settori da 512 B => 8 GB c.a. Max
• Il BIOS del PC XT IMB usava 4 bit per H
– Ne conseguiva una capacità massima di = 0,5 GB c.a.
– Successivamente i bit di indirizzo venne portato a 28 e poi
esteso ulteriormente.
•
Con i dischi moderni IDE (zoned recording) questo schema non
corrisponde più a quello fisico. Ma CHS viene ancora usato per
compatibilità: il drive converte CHS nell’indirizzo fisico interno
68
LBA : Logic Block Addressing (dischi IDE)
• Ogni settore ha un indirizzo (un numero) da 0 fino a
n-1 (se n è il numero complessivo dei settori)
• Per compatibilità è possibile usare l’indirizzamento
CHS, il drive individua il settore corrispondente
•
Nelle specifiche si leggono numeri di cilindri e di testine che non
corrispondono a quelli fisici. Ad esempio, si può leggere che un
disco ha la capacità pari a C=16.383; H= 20; e 63 sett/traccia.
Difficile far stare 20 testine in meno di 2 cm di spessore !!!!
Quei numeri non sono quelli fisici. Di norma le testine non sono
più di 8; il 20 corrisponde a un campo dell’indirizzo come CHS.
La logica del drive converte CHS nell’indirizzo interno
69
Esempio : Hitachi Travelstar
2,5” SATA
Spessore: 9,5 mm
70
SSD (Solid-State Drive)
• Usano Memorie Flash
– Ci sono anche SSD RAM (più veloci, ma (ovviamente)
volatili)
• Vantaggi
– Silenziosi, meno influenzati da urti
– Più veloci (non ci sono i tempi i seek e di latenza)
• Svantaggi
– Più costosi (almeno per ora….)
• Interfacce
– Seriali: SATA; Serial attached SCSI (usualmente sui
server); USB; Fiber Channel (esclusivamente sui server);
PCI Express
– Parallele: IDE/ATA; SCSI (tendenzialmente rimpiazzate
dalle corrispondenti seriali)
71