spartinančioji atmintis - KTU

Download Report

Transcript spartinančioji atmintis - KTU

KOMPIUTERIŲ
ARCHITEKTŪRA ir
OPERACINĖS SISTEMOS
Doc. Stasys Maciulevičius
Kompiuterių katedra
[email protected]
Ankstesnės paskaitos santrauka

AMD procesoriai
 AMD K10 architektūra
 AMD Bulldozer
 AMD - paspartinti skaičiavimai
 Idėja
 AMD Fusion
 AMD Llano ir Trinity
 x86 analogai
 ARM procesoriai
2009-2013
S.Maciulevičius
2
Šios paskaitos turinys
Hierarchinė atminčių sistema
Puslaidininkinių atminčių tipai
Lokališkumo principas
Kešas (spartinančioji atmintis)
 Kešo principai
 Procesorių kešai
 Kešo nauda
Dinaminė atmintis (DRAM)
 Klasikinių DRAM tipai
 Šiuolaikinės DRAM
2009-2013
S.Maciulevičius
3
Hierarchinė atminčių sistema
 Kiekvienas kompiuterio naudotojas norėtų,
kad jo kompiuteris turėtų didelės talpos
atmintį, pasižyminčią didele sparta, tačiau
tuo pat metu ir nedidele kaina
 Gaila, tačiau šiuos norus suderinti vieno tipo
atmintyje neįmanoma. Todėl kiekviename
kompiuteryje rasime įvairių tipų atmintines,
besiskiriančias talpa ir vieta kompiuteryje
 Jos sudaro harmoningą hierarchinę sistemą:
2009-2013
S.Maciulevičius
4
Hierarchinė atminčių sistema
CPU
reg.
Greitis, kaina
Kešas
Talpa
Pagrindinė atmintis
Išorinė atmintis
2009-2013
S.Maciulevičius
5
Hierarchijos lygių parametrai
Lygis /
Parametrai
Talpa
Kreipties
laikas (ns)
Pralaidumas
(MB/s)
1 MB kaina, Lt
2013
Registrai
Kešas
Pagr. atm.
MD
SSD
<2 KB
~8 MB
~4 GB
>400 GB
<512 GB
0.3
1 -3
50 - 60
10 000 000
50000
500-3000
4-150
500
~0,03
~0,0003
~0,003
8000-30000 4000-20000
???
~150-200
©S.Maciulevičius
6
Atminčių vieta kompiuteryje
 Procesoriuje
 registrai
 pirmojo, antrojo (daugelyje procesorių – ir trečiojo)
lygmens kešai (spartinančioji atmintis)
 Vidinė
 pagrindinė (darbinė) atmintis (RAM), kurioje laikomos
vykdomos programos ir joms reikalingi duomenys
 BIOS (basic input/output system) – pagrindinėms
kompiuterio nuostatoms, programoms, kurios reikalingos
klaviatūros, monitoriaus, disko, … darbui valdyti, saugoti
 vaizdo (video) atmintis, kurioje laikoma monitoriaus
ekrane pateikiama informacija
2009-2013
S.Maciulevičius
7
Atminčių vieta kompiuteryje
 Išorinė






2009-2013
standusis diskas
CD-ROM (DVD) įtaisas
USB atmintinės [raktai]
SSD
diskelių įtaisas
magnetinių juostų įtaisas
S.Maciulevičius
8
Atminčių sistemos charakteristikos
Kreipties metodas




Nuoseklus
Tiesioginis
Bet kuria tvarka
Asociatyvus
Persiunčiama
 Žodis
 Blokas
2009-2013
S.Maciulevičius
9
Atminčių sistemos charakteristikos
Našumas
 Kreipties laikas
 Ciklo trukmė
 Persiuntimo sparta
Fizinis tipas
 Puslaidininkinė
 Magnetinė
 Optinė
Fizinės charakteristikos
 Išsauganti informaciją/neišsauganti informacijos
 Ištrinama/neištrinama
2009-2013
S.Maciulevičius
10
Procesoriaus – atminties našumo
atotrūkis
1000
CPU
“Moore’s Law”
Procesoriaus-Atminties
našumo atotrūkis:
(didėja 50% / metus)
10
DRAM
2009-2013
DRAM
7%/m.
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
Našumas
100
1
µP
60%/m.
S.Maciulevičius
11
Lokališkumo principas
 Sklandžiam hierarchinės sistemos darbui didelę
įtaką turi programų ir jose naudojamų duomenų
elgesys
 Dar Hennesy ir Patterson prieš pora dešimtmečių
pastebėjo, kad programos linkę naudoti duomenis ir
komandas, kurias jau yra naudoję
 Sakoma, kad programa apie 90% vykdymo laiko
skiria apie 10% kodo (taip yra dėl dažnai vykdomų
ciklų). Duomenų išrinkimui taip pat būdingas
nuoseklumas – masyvų elementai dažniausiai yra
apdorojami nuosekliai
2009-2013
S.Maciulevičius
12
Lokališkumo principas
 Tokia programos komandų ir duomenų
išrinkimo ypatybė vadinama lokališkumu.
Skiriami du lokališkumo pasireiškimo būdai:
 lokališkumas laiko atžvilgiu: jei dabar
reikalingas kuris nors elementas, labai tikėtina,
kad netrukus vėl jo prisireiks;
 lokališkumas vietos atžvilgiu: jei dabar
reikalingas kuris nors elementas, labai tikėtina,
kad netrukus bus reikalingas ir jam gretimas.
2009-2013
S.Maciulevičius
13
Lokališkumo principas
 Kaip panaudojamos tokios lokališkumo savybės?
 Lokališkumas laiko atžvilgiu panaudojamas į
spartesnę atmintį perkeliant programos fragmentą
ir išrinktus duomenis tikintis, kad vėl jų prisireikus
šios komandos ir duomenys bus pasiekiami kur
kas sparčiau.
 Atsižvelgiant į lokališkumą vietos atžvilgiu, į
spartesnę atmintį perkeliama ne tik išrinktoji
komanda ar duomenys, bet didesni informacijos
blokai, tikintis, kad jie bus tuojau pat reikalingi
2009-2013
S.Maciulevičius
14
Sąvokos
 pataikymas – reikiama informacija randama didesnės
spartos atmintyje;
 nepataikymas – reikiamos informacijos didesnės spartos
atmintyje nėra, todėl tenka kreiptis į lėtesnę atmintį;
 pataikymo dažnis fh – kuri kreipinių dalis patenkinama radus
reikiamą informaciją didesnės spartos atmintyje;
 nepataikymo dažnis fm (fm = 1 – fh) – kuri kreipinių dalis
susijusi su kreipiniais į lėtesnę atmintį;
 išrinkimo laikas pataikius th – kiek taktų trunka kreipinys į
didesnės spartos atmintį;
 uždelsimas nepataikius tm – kiek taktų papildomai
sugaištama kreipiantis į lėtesnę atmintį.
2009-2013
S.Maciulevičius
15
4 klausimai
 Į kurią vietą aukštesnio lygio atmintyje turi
būti įrašytas blokas?
 Kaip surasti bloką aukštesnio lygio
atmintyje?
 Kurį bloką reikia pakeisti nepataikymo
atveju?
 Kaip turi būti vykdomas įrašymas į atmintį?
2009-2013
S.Maciulevičius
16
SPARTINANČIOJI ATMINTIS
(KEŠAS)
2009-2013
S.Maciulevičius
17
Kešas
Parametras
CPU
Žodžio
persiuntimas
Kešas
Galimos
reikšmės
Eilutės ilgis (bloko dydis) 4-128 baitai
Išrinkimo laikas pataikius 2-20 taktų
th
Išrinkimo laikas
Bloko
persiuntimas
nepataikius t
Pagrindinė
atmintis
2009-2013
n10 taktų
m
Pataikymo procentas
Kešo dydis
S.Maciulevičius
80-99%
8 KB - n MB
18
Kešo lygiai
 Sparčiausias (arčiausiai branduolio, mažesnės
talpos) - L1 kešas; jo vėlinimas – 2-4 ciklai
 Kiek mažesnės spartos (didesnės talpos) – L2
kešas; jo vėlinimas – 8-15 ciklų
 Lėčiausias – L3 kešas; jo vėlinimas – 20-40
ciklų
 Pagrindinės atminties išrinkimo laikas – 100150 ciklų
2009-2013
S.Maciulevičius
19
Intel Core 2 Duo E4400
2009-2013
S.Maciulevičius
20
Skaitymas iš kešo
Pradžia
CPU generuoja
kreipinio adresą RA
Ar blokas
yra keše?
Taip
Pagal RA
skaityti žodį ir
perduoti į CPU
Ne
Pagal RA iš ATM
skaityti bloką
Nustatyti
bloko vietą keše
Įrašyti bloką
į kešo eilutę
Perduoti žodį
į CPU
Atlikta
2009-2013
S.Maciulevičius
21
Kešo sąvokos






Pataikyti į kešą - kreipiantis į adresuojamą
(atmintyje esantį) kintamąjį, rasti jo kopiją keše
Pataikymų dažnis - santykinė dalis kreipinių į
adresuojamus (atmintyje esančius) kintamuosius, kurių kopijos
randamos keše
Kešo eilutė - tam tikro dydžio informacijos blokas, kurio
vieta keše identifikuojama kreipinio adresu ir pakeičiama vienos
užpildymo operacijos metu, kartu su išrinkimui ir identifikavimui
reikalinga papildoma informacija
Indeksas - kešo eilutės numeris
Išrinkimo laikas pataikius - laikas, per kurį surandama ir
išrenkama keše esanti informacija
Išrinkimo (uždelsimo) laikas nepataikius - laikas,
per kurį iš pagrindinės atminties išrenkama informacija, kurios
keše nėra
2009-2013
S.Maciulevičius
22
4 klausimai
1. Kur reikia padėti informaciją, nukopijavus ją į kešą? Į kurią eilutę keše reikia įrašyti
iš
pagrindinės atminties paimtą eilutės dydžio bloką?
2. Kaip randama informacija keše? - Kaip atliekama
informacijos paieška keše, priklausomai nuo kešo tipo?
3. Kaip vykdomas naujos informacijos įrašymas į kešą?
- Kešo eilutė, į kurią reikia įrašyti naują bloką, jau užimta.
Kaip reikia elgtis tokiu atveju?
4. Kaip vykdomas informacijos įrašymas tuo atveju, jei
nepataikoma į kešą? - Ar reikia ją rašyti į kešą, ar tiesiai
į pagrindinę atmintį?
2009-2013
S.Maciulevičius
23
Kešo tipai
 Tiesioginio atitikimo kešas - kiekvienas
iš pagrindinės atminties paimtas eilutės dydžio
blokas turi vienintelę apibrėžtą vietą keše.
 Pilnai asociatyvus kešas - kiekvienas iš
pagrindinės atminties paimtas eilutės dydžio blokas
gali būti bet kurioje vietoje keše.
 Dalinai asociatyvus kešas - kiekvienas iš
pagrindinės atminties paimtas eilutės dydžio blokas
gali būti bet kurioje iš k vietų; skaičius k vadinamas
asociatyvumo laipsniu arba krypčių skaičiumi.
2009-2013
S.Maciulevičius
24
Tiesioginio atitikimo kešas
Adresas
srityje Pagrindinė atmintis
000
004
008
00C
0012 34AD
0000 0088
FF8
FFC
0000 2ADC
00FF 0000
000
sritis
Kešo dydžio
ATM sritis
Kešas
512 eilučių  64 bitus
Tegas Duomenys
000 0012 34AD 0000 0088 0
009 246A DC00 CCCC 0000 1
...
A06 0000 2ADC 00FF 0000 65
000
004
008
00C
009
sritis
...
000 0000 2ADC 00FF 0000 511
246A DC00
CCCC 0000
FF8
FFC
2009-2013
S.Maciulevičius
25
Dalinai asociatyvus kešas
Adresas Pagrindinė atmintis
srityje
Kešo dydžio
2 krypčių kešas
0012 34AD
000
ATM sritis
2  256 eilutes  64 bitus
004
0000 0088
008
000
Tegas Duomenys
00C
sritis
000 0012 34AD 0000 0088 0
7F8
7FC
0000 2ADC
00FF 0000
009 246A DC00 CCCC 0000 1
0 kryptis
009
sritis
000
004
008
00C
7F8
7FC
...
A06 0000 2ADC 00FF 0000 65
...
1246 34AD
4444 0088
246A DC00
CCCC 0000
000 0000 2ADC 00FF 0000 255
009 1246 34AD 4444 0088 0
1
...
1 kryptis
646 2ADC 0000 0000 00FF 65
...
255
2009-2013
S.Maciulevičius
26
Kešo adresavimas
Kešo dydis - 256 KB, jo eilutės ilgis - 16 baitų.
Atminties adreso struktūra:
31
18 17
tegas
4 3
eilutės numeris (indeksas)
0
vieta eilutėje
Vietai eilutėje nurodyti reikės log216 = 4 bitų.
Eilutės numeriui (indeksui) nurodyti reikės
log2(256K/16) = log216K = 14 bitų.
log2K = 10
Tegui lieka 32 – 4 – 14 = 14 bitų
log2M = 20
2009-2013
S.Maciulevičius
27
Kešo adresavimas
Jeigu, pavyzdžiui, procesorius kreipiasi adresu
912A45CH, tai reiškia, kad adresuojamas žodis keše
gali būti saugomas 2A45 eilutės 3 pozicijoje, o tegas
lygus 1001000100 = 244H:
9
1
2
A
4
5
C
1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 0
18 17
4 3
0
Kešo eilutė:
11
2009-2013
10
01
S.Maciulevičius
00
28
Kešo eilutės struktūra
Kešo eilutėje būna tokia informacija:



duomenų baitai – informacijos kopija iš pagrindinės
atminties;
tegas – bitai, nurodantys atminties sritį, iš kurios buvo
įkeltas duomenų blokas (žr. aukščiau pateiktą tiesioginio
atitikimo kešo principą iliustruojantį paveikslą);
bitas V (Valid) – bitas, rodantis, ar kešo eilutė užpildyta
(„tikra“);
V ... Tegas
2009-2013
Duomenų baitai
S.Maciulevičius
29
Kešo eilutės struktūra
Be to, priklausomai nuo kešo tipo, eilutėje gali
dar būti:


bitas D (Dirty) – bitas, rodantis, ar į kešo eilutę buvo
kas nors įrašyta (jos turinys modifikuotas);
bitai LRU (Least Recently Used) – bitai, naudojami
pakeičiamai eilutei parinkti (dalinai asociatyviame
keše).
2009-2013
S.Maciulevičius
30
Išrinkimas iš kešo
Išrinkimas iš kešo yra atliekamas tokia tvarka:
1. Pagal kreipinio adresą (fizinį !) nustatomas indeksas,
rodantis kešo eilutę ar jų grupę (kelių krypčių keše).
2. Patikrinama, ar tarp jų yra užpildyta (“tikra”) eilutė,
kurioje įrašytas tegas sutampa su kreipinio adreso
aukščiausiais bitais.
3. Jei tokios eilutės nėra, fiksuojamas nepataikymas į kešą
(miss). Jei tokia eilutė rasta, pagal vietos eilutėje bitus
išrenkama reikalinga informacija
©S.Maciulevičius
31
2013
Išrinkimas iš kešo
2009-2013
S.Maciulevičius
32
Informacijos pakeitimas keše
Informacijos pakeitimas keše yra atliekamas tokia
tvarka:
1. Pagal kreipinio adresą (fizinį !) nustatomas
indeksas, rodantis kešo eilutę ar jų grupę (kelių
krypčių keše).
2. Patikrinama, ar tarp jų yra laisva (“netikra”) eilutė.
Jei tokia eilutė yra, ji užpildoma iš atminties
perskaitytu informacijos (eilutės ilgio) bloku.
3. Jei tokios eilutės nėra, naudojant išrinkimo
strategiją parenkama keistina eilutė ir ji užpildoma
iš atminties perskaitytu informacijos (eilutės ilgio)
bloku.
©S.Maciulevičius
33
2013
Eilutės pakeitimo strategijos


atsitiktinis pakeitimas
LRU (Least-recently used) - seniausiai naudota remiamasi laiko lokališkumo savybe
Kuri geresnė? Nepataikymo dažnis (procentais):
Asociatyvumas 
Kešo dydis 
16 KB
64 KB
256 KB
2009-2013
2 krypčių
LRU
8 krypčių
Atsit. LRU
Atsit.
5,18 5,69 4,33 4,96
1,88 2,01 1,39 1,53
1,15 1,17 1,12 1,12
S.Maciulevičius
34
Įrašymo strategijos
 write-through - informacija įrašoma
ir į kešą, ir į pagrindinę atmintį
 write-back, copy-back - informacija įrašoma tik į
kešą; į pagrindinę atmintį ji perrašoma, jei buvo
pakeista
Modifikavimo bitas - M, D (dirty bit)
Ką daryti, jei įrašoma nepataikius?


blokas įrašomas į kešą, o po to rašoma į kešą
rašoma tik į pagrindinę atmintį
2009-2013
S.Maciulevičius
35
Kešai procesoriuose
Modelis
Dydis
Eilutės ilgis Organizacija
VAX-11/780
8 KB
8
2 krypčių dalinai asociatyvus
Intel 80486
8 KB
16
4 krypčių dalinai asociatyvus
2  8 KB
32
2 krypčių dalinai asociatyvus
Pentium II
2  16 KB
32
4 krypčių dalinai asociatyvus
Pentium III
2  32 KB
32
4 krypčių dalinai asociatyvus
PowerPC 601
32 KB
32
8 krypčių dalinai asociatyvus
PowerPC 604
2  32 KB
32
4 krypčių dalinai asociatyvus
Alpha 21164
2  32 KB
96 KB
32
32/64
tiesioginio atitikimo
4 krypčių dalinai asociatyvus
64
8 krypčių dalinai asociatyvus
Pentium
Core i7 (brand.)
2009-2013
2  32 KB
S.Maciulevičius
36
Intel Core i5 kešai
 Intel Core i5-760 (2,8 GHz) kešų parametrai:
 L1 kešai:
 duomenų – talpa 32 KB, 8 krypčių, eilutės ilgis – 64 B,
vėlinimas – 3 ciklai
 komandų – talpa 32 KB, 4 krypčių, eilutės ilgis – 64 B,
vėlinimas – 3 ciklai
 L2 kešai – talpa 256 KB, 8 krypčių, eilutės ilgis – 64
B, vėlinimas – 9 ciklai
 L3 kešas – talpa 8 MB, 16 krypčių, eilutės ilgis – 64
B, vėlinimas – 41 ciklas
©S.Maciulevičius
37
2013
Core i7 ir i5 kešai
S.Maciulevičius
38
2009-2013
Specialūs kešai: Trace cache
Pentium 4 procesoriuje yra toks kešas.
Jame saugomos ne originalios x86 komandos, bet
perkoduotos mikrooperacijos, be to, jos ten
laikomos ta tvarka, kaip kad buvo vykdomos
(trasa).
Tai reiškia, kad daugeliu atveju iš perėjimo vietos
išrinktos ops yra iš karto po perėjimo komandą
atitinkančios op.
Ypač tai gali būti naudinga cikluose.
2009-2013
S.Maciulevičius
39
Specialūs kešai: Trace cache
Ciklas
Tradicinis
būdas:
Atmintis
Kešas
Dekodavimas
Vykdymas
Ciklas
Pentium 4:
Atmintis
2009-2013
Dekodavimas
S.Maciulevičius
Trasų
kešas
Vykdymas
40
Trasų kešas (Pentium 4)
Dešinėje matome
originalaus kodo
fragmentą ir trasų kešo
turinį. Nepanaudotas
kodas į trasų kešą
neįrašomas.
2009-2013
S.Maciulevičius
41
Sandy Bridge L0 kešas


Sandy Bridge turi L0 lygmens kešą, kuriame
telpa 1536 (32 x 8 kryptys x 6 MO eilutėje)
dekoduotos mikrooperacijos (MO). Jo nauda –
taupoma energija ir padidinama darbo sparta
(jei išrinkimo blokas randa reikalingą MO keše,
jis gali kuriam laikui išjungti dekodavimo
įtaisus)
Tyrimas parodė, kad vykdant daugumą
taikomųjų programų apie 80% komandų
randama perkoduotos į MO šiame keše
S.Maciulevičius
42
2009-2013
Naujųjų Intel procesorių kešai
2009-2013
S.Maciulevičius
43
Kešo įtaka kompiuterio našumui
Eksperimentai su sistema: AMD K6-2 procesorius,
350 Mhz, 512 KB L2 kešas, 2x32 KB L1 kešas,
pagrindinė atmintis – 128 MB, magistralė PC100.
L1 ir L2
3,46
Tik L1
3,20
3
2
Tik L2
1,03
1
Nė vieno
0,58
0
2009-2013
S.Maciulevičius
44
DINAMINĖ ATMINTIS
2009-2013
S.Maciulevičius
45
DRAM ląstelė
 Vienam bitui saugoti dinaminės atminties ląstelėje
pakanka vieno tranzistoriaus (statinėje atmintyje – 6-8)
 Siekiant sumažinti mikroschemos kontaktų skaičių,
tradiciškai buvo pereita prie adreso perdavimo dalimis:
pradžioje į schemą paduodamas eilutės adresas, po to –
stulpelio). Tai sąlygoja didesnį taktų skaičių kreipinio metu
 Informacija saugoma krūvio pavidalu kondensatoriuje,
kuris palaipsniui išsikrauna, todėl ją periodiškai reikia
atkurti (regeneruoti). Skaitymo metu kondensatorius taip
pat išsikrauna, todėl jo krūvis taip pat atkuriamas. Dėl to
DRAM dirba maždaug 10 kartų lėčiau, nei SRAM
©S.Maciulevičius
46
2013
DRAM struktūra
CAS#
A0-A8
Stulp. adr. A0-A8
Stulpelio dešifratorius
buferis
N.2 taktų
generat.
Regener.
kontroleris
Stiprintuvai ir
Įrašymo valdymas
Regener.
skaitiklis
RAS#
N.1 taktų
generat.
©S.Maciulevičius
D0-D3
A0-A8
Eil. dešifrat.
Eil. adr.
buferis
OE#
I/O
valdymas WE#
ir
duomenų
buferiai Data
DRAM matrica
512 × 512 × 4
47
2013
DRAM tipų kaita
Paprastos
FPM
EDO
SDRAM
RDRAM,
DDR, DDR2,
BEDO
1987
1M
4M
©S.Maciulevičius
94
16M
95
96
64M
97
98
99
2000
DDR3
256M
48
2013
Nauji DRAM tipai
Jei iki SDRAM sukurtieji tipai sąlyginai gali būti
jau vadinami klasikiniais, tai pastaraisiais
metais sukurti nauji DRAM tipai, kurie
prasiskynė kelią į kompiuterius:
 DDR SDRAM - Double Data Rate SDRAM
 DDR2 SDRAM – dvigubai spartesnė nei DDR
 DDR3 SDRAM – keturgubai spartesnė nei DDR
©S.Maciulevičius
49
2013
DDR SDRAM
DDR - Double Data Rate SDRAM - SDRAM su
dvigubu magistralės dažniu: skaitymo ir
rašymo operacijos vykdomos du kartus vieno
takto metu - pagal kylantį ir krintantį taktinio
impulso frontus
Pralaidumas
 1 kartos – iki 1,6 GB/s (= 100 x 2 x 8 B; dažnis
iki 100 MHz)
 vėlesnių – 3,2 GB/s (= 200 x 2 x 8 B; dažnis 200
MHz)
©S.Maciulevičius
50
2013
DDR SDRAM
DDR skaitymo operacijos vykdymo supaprastinta
schema:
Iš atminties
elementų
matricos
2n bitų
©S.Maciulevičius
Duomenų n bitų
registras
(n bitų)
D0
n bitų
MUX Q
Duomenų
registras
n bitų
(n bitų)
51
D1
2013
DDR2
DDR2 branduolys skaitymo ir rašymo operacijos vykdo
tokiu pačiu dažniu, kaip ir DDR ar SDRAM.
Tačiau:
 Padvigubintas I/O buferių darbo dažnis
 Dvigubai išplėsta magistralė, jungianti branduolį su
buferiais
Todėl duomenys multipleksuojami ir perduodami dvigubu
dažniu įprasto pločio magistrale.
Taigi, DDR2 533 dirba tuo pačiu dažniu, kaip DDR266 arba
PC133 SDRAM.
©S.Maciulevičius
52
2013
DDR2 SDRAM skaitymo operacija
Duomenų
registras
(n bitų)
Iš atminties
elementų
4n bitų
matricos
Duomenų
registras
(n bitų)
Duomenų
registras
(n bitų)
Duomenų
registras
(n bitų)
©S.Maciulevičius
53
n bitų
n bitų
D0
D1
D2 MUX
D1
n bitų
Q
n bitų
n bitų
2013
DDR ir DDR 2
Padidėja laukimas taktais, bet siunčia sparčiau
©S.Maciulevičius
54
2013
SDRAM, DDR, DDR 2
Kaip matome, visos SDRAM
schemos dirba pagrindiniu
dažniu, o duomenys
perduodami kartą per taktą.
DDR schemos taip pat dirba
pagrindiniu dažniu, o
duomenys perduodami du
kartus per taktą.
DDR 2 išėjimo buferiai dirba
dvigubu dažniu, o duomenys
perduodami du kartus per
taktą.
©S.Maciulevičius
55
2013
DDR3
Branduolio
dažnis 100 MHz
Duomenų buferio
dažnis 400 MHz
Atminties
branduolys
Duomenų
išvedimo
(Atm. elem.
matrica)
©S.Maciulevičius
Duomenų įšvedimo
dažnis 800 MHz
buferiai
56
2013
Ką duoda DDR3?
 Pirmiausia – apie 40% mažesnes energijos sąnaudas,
lyginant su populiariomis DDR2 (taip yra dėl maitinimo
įtampos mažinimo: 1,5 V - DDR3, kai 1,8 V - DDR2,
arba 2,5 V – DDR)
 Didesnę darbo spartą - DDR3 dažnis yra diapazone
800 МHz – 1600 МHz (taktinis dažnis 400 МHz – 800
МHz); tuo tarpu DDR2 dažnis diapazone 400 МHz 1066 МHz (taktinis dažnis 200 МHz - 533 МHz), o
DDR – tik 200 МHz - 600 МHz
 DDR3 minusas – didesnis vėlinimas taktais
©S.Maciulevičius
57
2013
DDR DDR2  DDR3 (rinka)
©S.Maciulevičius
58
2013
DDR4
 Nauja DDR atminčių karta – DDR4 atmintys. Jos naudos
1,2V maitinimo įtampą vietoj DDR3 atminčių standartinės
1,5 V įtampos, numatant vėliau pereiti prie dar žemesnės
įtampos (1,05 V)
 DDR4 pasižymės dar didesniu pralaidumu – nuo 2133 MT/s
iki 4266 MT/s
DDR
SDRAM
tipas
Magistralė
s dažnis
(MHz)
Vidinis
dažnis
(MHz)
Išrinkimo
plotis
Mainų
sparta
(MT/s)
Įtampa
DDR
100–200
100–200
2n
200–400
2,5/2,6
DDR2
200–533
100–266
4n
400–1066
1.8
DDR3
400–1066
100–266
8n
800–2133
1.5
DDR4
1066–2132
133–266
8n
2133–4266
1.2
2013
©S.Maciulevičius
59
DDR laiko parametrai
Pagrindiniai DDR DRAM laiko parametrai yra:
 tRCD - RAS to CAS delay – laikas, reikalingas eilutei
išrinkti ir stulpelio adresui paduoti
 CL - CAS delay (latency) – laikas, reikalingas
duomenims iš eilutės išrinkti
 tRP - RAS precharge – laikas, reikalingas išrinktai eilutei
deaktyvuoti
 tRAS - active to precharge delay – minimalus laikas, kurį
eilutė turi būti aktyvi iki ją deaktyvuojant
Pavyzdžiui, užrašas “DDR2-800 5-5-5-16” rodo šių keturių parametrų
reikšmes
©S.Maciulevičius
60
2013
DDR komandos
Signalų CS#, RAS#, CAS#, WE# reikšmės ir jas
atitinkančios komandos:
Signalų reikšmės
Komanda
CS#
RAS#
CAS#
WE#
No Operation (NOP)
Low
High
High
High
ACTIVE (ACT)
Low
Low
High
High
READ
Low
High
Low
High
WRITE
Low
High
Low
Low
PRECHARGE
(PRE)
Low
Low
High
Low
©S.Maciulevičius
61
2013
DDR laiko parametrai - tRCD
©S.Maciulevičius
62
2013
DDR laiko parametrai - CL
©S.Maciulevičius
63
2013
DDR laiko parametrai - tRP
Po duomenų paėmimo, DDR turi gauti komandą
Precharge, kad išrinktoji eilutė būtų uždaryta ir
galima būtų išrinkti kitą eilutę:
©S.Maciulevičius
64
2013
Šiuolaikinių DDR2 žymėjimas
 PC3200 (DDR2 400) – DDR2 SDRAM, kurios
pralaidumas 3200 MB/s (400MHz = 4x100MHz
duomenų perdavimo sparta, žodis – 8 baitai)
 PC5300 (DDR2 667) – DDR SDRAM, kurios
pralaidumas 5300 MB/s (667 MHz 8 baitai)
 PC8000 (DDR2 1066) – DDR2 SDRAM, kurios
pralaidumas 8000 MB/s (1066 MHz 8 baitai)
©S.Maciulevičius
65
2013
DRAM spartos augimas
©S.Maciulevičius
66
2013