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