Sunteți pe pagina 1din 45

Calculatoare Numerice (2)

- Cursul 1 Sistemul de memorie (1)


Facultatea de Automatic i Calculatoare Universitatea Politehnica Bucureti

20.02.2013

Comic of the day

Calculatoare Numerice

slide 2

Din episodul anterior


Hazardurile de control (branches, interrupts) sunt cel mai dificil de tratat pentru c schimb ordinea de execuie a instruciunilor Branch delay slots expun hazardurile de control n software dar nu sunt portabile pentru arhitecturile mai avansate Speculm pentru a reduce efectul hazardelor de control (prezicerea unui fetch secvenial, prezicem c nu avem excepii, predictoare de branch) Pentru a implementa excepiile n b.a. putem ntrzia execuia instruciunilor ctre un commit point, unde excepiile sunt tratate n ordinea lor de apariie n program

Proiectarea sistemului de memorie


Probleme de proiectare Vrem un circuit de memorie: Poate s in pasul cu viteza de execuie a CPU Are destul capacitate pentru program i date Ieftin, fiabil i eficient energetic Tehnologia i organizarea memoriei principale a unui calculator SRAM (cache), DRAM (main), i flash (nonvolatile) ntreesere & pipelining pentru a combate memory wall

Primele tehnologii de fabricaie pentru memoria Read-Only

Cartele perforate , din anii 1700, rzboaie Jaquard, Babbage, IBM pn n anii 80 Band perforat programul rulat de Harvard Mk 1 Diode Matrix, EDSAC-2 code store

IBM Card Capacitor ROS

IBM Balanced Capacitor ROS

Primele tehnologii de fabricaie pentru memoria Read-Write


Babbage, anii 1800: Cifre stocate pe roi mecanice

Tub Williams, Manchester Mark 1, 1947 Mercury Delay Line, Univac 1, 1951

Memorie regenerativ cu condensatoare pentru calculatorul Atanasoff-Berry i memorie pe tambur magnetic rotativ pentru IBM 650

Memorie pe miez de ferit MIT Whirlwind

Memoria pe miez de ferit


A fost prima tehnologie de fabricaie fiabil pentru memoriile principale
Inventat de Forrester sfritul anilor 40/nceputul anilor 50 la MIT pentru proiectul Whirlwind

Bii stocai prin polarizarea magnetic a unor miezuri foarte mici de ferit esute ntr-o matrice bidimensional de fire conductoare Pulsurile concomitente de curent pe conductorii X i Y pot scrie starea bitului de memorie i s citeasc starea original (destructive read)

Stocare robust, non-volatil Folosit la primele nave spaiale (de la Apollo la navetele spaiale) Inelele de ferit esute de mn (25 de miliarde/an) Timp de acces ~ 1s

Memorii semiconductoare
Memoriile semiconductoare au nceput s fie competitive n anii 70
Intel a aprut pentru a exploata piaa memoriilor semiconductoare Primele memorii semiconductoare au fost RAM-urile Statice (SRAM). Structura intern a unei celule SRAM este similar cu aceea a unui latch (inversoare n anti-paralel).

Primul RAM Dinamic (DRAM) comercial a fost chipul Intel 1103


1Kbit de memorie pe un singur chip Sarcina unui condensator este folosit pentru a memora un bit

Memoria semiconductoare a nlocuit rapid memoria pe miez de ferit n anii 70

One-Transistor Dynamic RAM [Dennard, IBM]


1-T DRAM Cell
Word line Tranzistor de acces
TiN top electrode (VREF) Ta2O5 dielectric

bit

Condensator de stocare (FET gate, trench, stack)


poly word line W bottom electrode

access transistor

Structura modern a unui DRAM

[Samsung, sub-70nm DRAM, 2004]

Arhitectura DRAM
Col. 1 N Row Address Decoder

bit lines

Col. 2M

word lines Row 1

Row 2N Column Decoder & Sense Amplifiers Memory cell (one bit)

N+M

Data

Biii sunt stocai n matrici bidimensionale pe chip

Chipurile moderne au n jur de 4-8 bancuri logice


fiecare banc logic este implementat fizic ca o matrice de bii

ncapsularea DRAM (Laptop-uri/Desktop-uri/Servere)


Clock and control signals DRAM Address lines multiplexed row/column address ~12 chip
~7

Data bus (4b,8b,16b,32b)


DIMM (Dual Inline Memory Module) conine mai multe chipuri cu semnalele de ceas/control/addres conectate n paralel (cteodat este nevoie de buffering pentru a duce semnalele la toate chipurile) Pinii de date lucreaz mpreun pentru a returna un cuvnt ntreg (de. ex., bus de date de 64 de bii cu patru chipuri de 16 bii)

ncapsularea DRAM, Dispozitive mobile


[ Capsul Apple A4 pe PCB]

Two stacked DRAM die


Processor plus logic die
[Capsul Apple A4 n seciune, iFixit 2010 ]

Structura memoriei SRAM


Output enable Chip select Write enable Data in Address g

Storage cells
/
D Q

FF
C

Data out

0
D Q

FF

Address decoder

1 . . . 2h 1
WE D in D out Addr CS OE

FF
C Q

Structura interioar a unui chip SRAM 2h g i simbolul lui echivalent n schema electric.

Multiple-Chip SRAM
Data in

32
Address WE D in D out Addr CS OE WE D in D out Addr CS OE WE D in D out Addr CS OE WE D in D out Addr CS OE

/ 18
MSB

/ 17

Opt chipuri SRAM 128K 8 legate s formeze o memorie 256K 32.

WE D in D out Addr CS OE

WE D in D out Addr CS OE

WE D in D out Addr CS OE

WE D in D out Addr CS OE

Data out, byte 3

Data out, byte 2

Data out, byte 1

Data out, byte 0

SRAM cu bus de date bidirecional


Output enable Chip select

Write enable Data in/out Address g Data in Data out

Atunci cnd intrarea i ieirea de date a unui chip SRAM sunt partajate sau conectate la un bus bidirecional, ieirea trebuie dezactivat n timpul operaiilor de scriere.

Memoria DRAM i ciclii de refresh


Word line Word line

DRAM vs. SRAM complexitatea unei celule de memorie


Vcc

Pass transistor Capacitor Bit line (a) DRAM cell Bit line (b) Typical SRAM cell Compl. bit line

Celula de memorie DRAM conine un singur tranzistor i e mult mai simplu de fabricat dect analogul ei SRAM => memorii DRAM de capacitate mai mare i mai dense.

Ciclii i rata de refresh pentru memoria DRAM


Voltage for 1 Threshold voltage Voltage for 0 0 Stored
10s of ms before needing refresh cycle

1 Written

Refreshed

Refreshed

Refreshed

Time

Variaia cderii de tensiune pe condensatorul unei celule DRAM dup scrierea unui 1 logic si a mai multor operaii de refresh.

Pierderea limii de band cu ciclii de refresh


O memorie DRAM de 256 Mb e organizat ca 32M 8 intern i 16K 16K intern. Rndurile trebuie remprosptate cel puin la fiecare 50ms pentru a nu pierde datele; refresh-ul pentru o coloan dureaz 100ns. Ct % din limea total de band este pierdut cu ciclii de refresh?
16K
Row decoder
Write enable g h

. . .

Square or almost square memory matrix

/ /

Data in Address Chip select Data out / g Output enable

16K

. . .
Row buffer Address /

14 Row

. . .
Column mux

h Column

Soluie Refresh-ul pt toate 16K rnduri dureaz 16 1024 100 ns = 1.64 ms. Pierderea a 1.64 ms la fiecare 50 ms duce la 1.64/50 = 3.3% pierdere din limea total de band.
(a) SRAM block diagram

11 8 (b) SRAM read mechanism

g bits data out

ncapsularea DRAM
24-pin dual in-line package (DIP)
Vss D4 D3 CAS OE A9 A8 A7 A6 A5 A4 Vss 24 23 22 21 20 19 18 17 16 15 14 13

Legend:
Ai CAS Dj NC OE RAS WE Address bit i Column address strobe Data bit j No connection Output enable Row address strobe Write enable

10

11

12

Vcc D1 D2 WE RAS NC A10 A0 A1 A2 A3 Vcc

Capsul tipic DRAM ce conine o memorie 16M 4.

Evoluia DRAM
1000
Computer class Memory size

Number of memory chips

Supercomputers 100 Workstations Large PCs 10 Small PCs


4 MB 1 MB 16 MB 64 MB 1 GB 256 MB

1 TB 256 GB 64 GB 16 GB 4 GB

Servers

1 1980

1990

2000

2010

Calendar year

Atingerea zidului memoriei


10 6

Relative performance

10 3

Processor

Memory
1 1980 1990 2000 2010

Calendar year

Densitatea i capacitatea memoriei au crescut odat cu puterea i complexitatea CPU, dar viteza memoriei nu a inut pasul.

Trecerea prpastiei de vitez CPU-Memorie


Idee: Citim mai multe date din memorie la fiecare acces

Wideaccess memory

. . .

. . .

Mux

Narrow bus to processor

Wideaccess memory

. . .

Wide bus to processor

. . .

Mux

(a) Buffer and mult iplex er at the memory side

(a) Buffer and mult iplex er at the processor side

Dou ci de a folosi o memorie cu lime mare de band pentru a reduce diferena de vitez dintre procesor i memorie.

Memorie n b.a. i ntreesut


Latena memoriei poate fi dat i de ali factori, n afar de timpul de acces fizic. Translatarea adresei virtuale Compararea etichetelor pentru a determina rata hit/miss pentru cache
Address translation Row decoding & read out Column decoding & selection Tag comparison & validation

Memorie cache n band de asamblare

ntreeserea memoriei
Module accessed
Addresses 0, 4, 8,

Addresses that are 0 mod 4

0 1 2

Address Data in

Dispatch (based on 2 LSBs of address)

Addresses 1, 5, 9,

Addresses that are 1 mod 4

Return data

Data out

3 0 1 Bus cycle Memory cycle 2 3

Addresses 2, 6, 10,

Addresses that are 2 mod 4 Addresses that are 3 mod 4

Addresses 3, 7, 11,

Time

Memoria ntreesut e mai flexibil dect memoria cu lime de band mare, pentru c poate susine accese multiple independente n acelai timp.

Memoria ne-volatil
S u p p ly vo l t a g e

ROM PROM EPROM

Word contents 1010 1001 Word lines 0010 1101 B i t li nes

Organizarea Read-Only Memory. Coninutul memoriei este afiat n dreapta.

Memoria Flash
S o u r c e l i n es Control gate Floating gate Source Word lines n p substrate n+ B i t li nes Drain

Organizarea memoriei EEPROM sau Flash. Fiecare celul conine un tranzistor MOS cu poart flotant.

Nevoia unei ierarhii de memorie


Discrepana n laten dintre CPU i memoria principal Operaile unui procesor sunt de ordinul nanosecundelor Accesele la memorie necesit timpi de ordinul zecilor sau sutelor de ns Limitrile limii de band pentru memorii reduc rata de execuie a instruciunilor Fiecare instruciune executat necesit cel puin un acces la memorie Rezult c performana procesorului este redus la cteva sute de MIPS O memorie rapid poate reduce timpii de acces la date Cele mai rapide memorii sunt costisitoare i nu au capacitate mare. Dou (sau trei) niveluri de cache sunt folosite, din aceast cauz

Ierarhia tipic a circuitelor de memorie


Capacity
100s B

Access latency
ns Regs

Cost per GB

$Millions
$100s Ks
$10s Ks
$1000s
$10s
$1s

10s KB

a few ns

Cache 1

MBs

10s ns

Cache 2
Speed gap

100s MB

100s ns

Main

10s GB

10s ms

Secondary

TBs

min+

Tertiary

Numele i caracteristicile tipice pentru memorii n organizarea ierarhic

Tendinele preurilor memoriilor

Source: https://www1.hitachigst.com/hdd/technolo/overview/chart03.html

Memorii de mare capacitate


n zilele noastre, memoria principal este imens, totui inadecvat pentru toate necesitile Discurile magnetice furnizeaz capaciti extinse pentru stocare i back-up Discurile optice i memoriile solid-state sunt alte opiuni de stocare a datelor

Disk Memory 101


Sector Read/write head Actuator Recording area

Track c 1 Track 2 Track 1 Track 0

Arm Direction of rotation Spindle Platter

Elementele unui hard-disc i termenii principali.

Uniti de disc

Typically 2 - 8 cm

Timpul de acces pentru un disc


3. Disk rotation until sector has passed under the head: Data transfer time (< 1 ms) 2. Disk rotation until the desired sector arrives under the head: Rotational latency (0-10s ms) 1. Head movement from current position to desired cylinder: Seek time (0-10s ms)

2 3
Sector

Rotation

Cele trei componente ale timpului de acces la un disc. Discurile cu o vitez de rotaie mai mare au timpi de acces mai buni, att n medie ct i n cel mai ru caz.

Representative Magnetic Disks Table 19.1 Key attributes of three representative magnetic disks,
from the highest capacity to the smallest physical size (ca. early 2003). [More detail (weight, dimensions, recording density, etc.) in textbook.]
Manufacturer and Model Name Seagate Barracuda 180 Hitachi DK23DA IBM Microdrive

Application domain Capacity Platters / Surfaces Cylinders Sectors per track, avg Buffer size Seek time, min,avg,max Diameter Rotation speed, rpm Typical power

Server 180 GB 12 / 24 24 247 604 16 MB 1, 8, 17 ms 3.5 7 200 14.1 W

Laptop 40 GB 2/4 33 067 591 2 MB 3, 13, 25 ms 2.5 4 200 2.3 W

Pocket device 1 GB 1/2 7 167 140 1/8 MB 1, 12, 19 ms 1.0 3 600 0.8 W

Organizarea datelor pe disc


Sector 4 Sector 1 (begin) Sector 2 Sector 3 Sector 5 (end)

Gap

Thin-film head

Magnetic medium

nregistrarea magnetic a datelor pe piste i capul de citire/scriere.


0 30 60 27 16 46 13 43 32 62 29 59 48 15 45 12 1 31 61 28 17 47 14 44 33 0 30 60 49 16 46 13 2 32 62 29 Track i Track i + 1 Track i + 2 Track i + 3

Numerotarea logic a sectoarelor pe mai multe piste adiacente.

Performana discurilor
Timpul de cutare = a + b(c 1) + b(c 1)1/2

Laten medie dat de rotire = (30 / rpm) s = (30 000 / rpm) ms


Arrival order of access requests: A, B, C, D, E, F E B C Rotation A F Possible out-oforder reading: C, F, D, E, B, A

Reducerea timpului de cutare i a latenei de rotire prin accesarea datelor n alt ordine.

Disk Caching
Aceeai idee ca i la caching-ul pentru procesoare: micorarea latenei dintre memori principal i disc Discurile au memorii tampon n funcie de capacitate (de ordinul 10-100 MB) Latena datorat rotaiei este eliminat; pot s ncep de la orice sector Am nevoie de energie pentru back-up pentru a nu pierde schimbrile din memoria tampon (ne trebuie oricum o rezerv de energie pentru retragerea capului de citire la cderea sursei de energie electric) Opiuni de plasare a memoriei cache pentru discuri n controllerul de disc: Suntem afectai de latena magistralei de date i a controllerului n sine, chiar i pentru un cache hit Mai aproape de CPU: Reduce latena i permite o utilizare mai bun a spaiului Soluii intermediare sau mixte

Disk Arrays & RAID


Necesitatea de memorii secundare (disc) de capacitate i productivitate mrit Processor RAM Disk I/O Number of Disk Number of speed size rate disks capacity disks 1 GIPS 1 TIPS 1 PIPS 1 EIPS 1 GB 1 TB 1 PB 1 EB 100 MB/s 1 100 GB/s 1000 100 TB/s 1 Million 100 PB/s 1 Billion 100 GB 100 TB 100 PB 100 EB 1 100 100 000 100 Million
Legea lui Amdahl pentru un sistem bine echilibrat

1 RAM byte pentru fiecare IPS

1 I/O bit/sec pentru fiecare IPS

100 disk bytes pt. fiecare RAM byte

Redundant Array of Independent Disks (RAID)


Data organization on multiple disks
Data disk 2 Mirror disk 0 Data disk 0 Data disk 1 Mirror disk 1 Mirror disk 2

RAID0 : Multiple disks for higher data rate; no redundancy RAID1 : Mirrored disks RAID2 : Error-correcting code

Data disk 0

Data disk 1

Data disk 2

Data disk 3

Parity disk

Spare disk

RAID3 : Bit- or b yte-level striping with parity/checksum disk

Data 0 Data 1 Data 2

Data 0 Data 1 Data 2

Data 0 Data 1 Data 2

Data 0 Data 1 Data 2

Parity 0 Parity 1 Parity 2

Spare disk

RAID4 : Parity/checksum applied to sectors,not bits or bytes

Data 0 Data 1 Data 2

Data 0 Data 1 Data 2

Data 0 Data 1 Parity 2

Data 0 Parity 1 Data 2

Parity 0 Data 1 Data 2

Spare disk

RAID5 : Parity/checksum distributed across several disks RAID6 : Parity and 2nd check distributed across several disks

Nivelurile 0-6 RAID, cu o vedere simplificat a organizrii datelor.

Exemple de produse RAID

IBM ESS Model 750

Alte tipuri de medii de stocare


Typically 2-9 cm

Floppy disk

CD-ROM

. ..
(a) Cutaway view of a hard disk drive

.. .

Magnetic tape cartridge

(b) Some removable storage media


Flash drive Thumb drive Travel drive

Uniti de memorie magnetice, electrice i optice.

Discuri optice
Tracks Pits on adjacent tracks Laser diode

Spiral, rather than concentric, tracks


Side view of one track Protective coating Substrate 0 1 Pits

Beam splitter

Detector Lenses

Vedere simplificat a nregistrrilor i mecanismul de acces la date pentru un CD-ROM sau DVD-ROM.

Librrii automate de benzi pentru arhivare

S-ar putea să vă placă și