Šiuolaikinių kompiuterių architektūra - KTU

Download Report

Transcript Šiuolaikinių kompiuterių architektūra - KTU

ŠIUOLAIKINIŲ
KOMPIUTERIŲ
ARCHITEKTŪRA
(nuotoliniams)
Doc. Stasys Maciulevičius
Kompiuterių katedra
[email protected]
[email protected]
Septintosios paskaitos santrauka



64 bitų CPU
Kelių branduolių procesoriai
Naujieji Intel procesoriai
Sandy Bridge architektūra
 Intel Atom procesorius
 Intel

Naujieji AMD procesoriai
architektūra
 AMD Buldozer procesorius
 AMD Llano procesorius
 K10
2010-2011
©S.Maciulevičius
2
Aštuntosios paskaitos turinys






Hierarchinė atminčių sistema
Lokališkumo principas
Pagrindinės sąvokos
Kešas, jo lygiai
Kešo tipai
Kešai šiuolaikiniuose procesoriuose
2010-2011
©S.Maciulevičius
3
Hierarchinė atminčių sistema
CPU
reg.
Sparta, kaina
Kešas
Talpa
Pagrindinė atmintis
Išorinė atmintis
2010-2011
©S.Maciulevičius
4
Hierarchijos lygių parametrai
Lygis /
Parametrai
Talpa
Kreipties laikas
(ns)
Pralaidumas
(MB/s)
1 MB kaina, Lt
2010-2011
Registrai
<2 KB
0.3
800030000
???
Kešas
8 MB
1 -3
400020000
150-200
©S.Maciulevičius
Pagr.
atm.
2-4 GB
50 - 60
Išor. atm.
(HD)
>500 GB
10 000 000
500-3000
<100
~0,02
<0,001
5
Atminčių vieta kompiuteryje

Procesoriuje
 registrai
 pirmojo ir
antrojo (kelių branduolių procesoriuose – ir
trečiojo) lygmens spartinančioji atmintis (kešai)

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
2010-2011
©S.Maciulevičius
6
Atminčių vieta kompiuteryje

Išorinė
 standusis
diskas
 DVD (CD) įtaisas
 flash atmintinės [atmintukai]
 diskelių įtaisas
 magnetinių juostų įtaisas
2010-2011
©S.Maciulevičius
7
Atminčių sistemos charakteristikos
Kreipties metodas
 Nuoseklus
 Tiesioginis
 Bet kuria tvarka
 Asociatyvus
Persiunčiama
 Žodis
 Blokas
2010-2011
©S.Maciulevičius
8
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.
2010-2011
©S.Maciulevičius
9
Lokališkumo principas
Hennesy&Patterson: programos linkę naudoti
duomenis ir komandas, kurias jau yra naudoję.
Sakoma, kad programa apie 90% vykdymo laiko
skiria apie 10% kodo.
Lokališkumas
 laiko atžvilgiu: jei dabar reikalingas kuris nors
elementas, labai tikėtina, kad netrukus vėl jo prisireiks
 vietos atžvilgiu: jei dabar reikalingas kuris nors
elementas, labai tikėtina, kad netrukus bus reikalingas ir
jam gretimas
Ką duoda lokališkumas?
2010-2011
©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
2010-2011
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
Spartinančioji
atmintis
2010-2011
©S.Maciulevičius
12
SRAM ląstelė
+Ucc
Stulpelio linija
(inversinė)
Stulpelio linija
Eilutės linija
Ši atmintis vadinama statine todėl, kad atminties elementas – trigeris –
gali laikyti būseną kiek norima ilgai (kol jis gauna maitinimą).
Vienam bitui saugoti statinės atminties ląstelėje reikia 6-8 tranzistorių
(dinaminėje atmintyje pakanka vieno).
Todėl SRAM ląstelė užima žymiai didesnį plotą, užtat dirba greičiau nei
DRAM.
2010-2011
©S.Maciulevičius
13
Sąvokos
pataikymas (hit)
 nepataikymas (miss)
 pataikymo dažnis - fh
 nepataikymo dažnis - fm
fm = 1 - fh
 išrinkimo laikas pataikius - th
 uždelsimas nepataikius - tm (miss penalty)

2010-2011
©S.Maciulevičius
14
Spartinančioji atmintis [Kešas]
Parametras
CPU
Žodžio
persiuntimas
Eilutės ilgis (bloko dydis)
Galimos
reikšmės
4-256 baitai
Išrinkimo laikas pataikius 2-20 taktų
th
Kešas
Išrinkimo laikas
100-200 taktų
Bloko
persiuntimas
nepataikius tm
Pataikymo procentas
80-99%
Pagrindinė
Kešo dydis
8 KB - n MB
atmintis
2010-2011
©S.Maciulevičius
15
Kešo lygiai





Sparčiausias (arčiausiai branduolio, mažesnės
talpos) - L1 kešas; jo vėlinimas – apie 2 ciklus
Kiek mažesnės spartos (didesnės talpos) – L2
kešas; jo vėlinimas – 7-10 ciklų
Lėčiausias – išorinis L3 kešas; jo vėlinimas – 20
(lėtuose procesoriuose) - 40 ciklų (sparčiuose
procesoriuose)
Pvz., Core i5-760 : L1 kešo – 3 taktai, L2 kešo 9 taktai, L3 kešo - 41 taktas
Pagrindinės atminties išrinkimo laikas – 100-150
ciklų
2010-2011
©S.Maciulevičius
16
Vėlinimas, nanosekundės
Atminties hierarchijos efektyvumas
Bloko dydis, KB
2010-2011
©S.Maciulevičius
17
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
2010-2011
©S.Maciulevičius
18
4 klausimai
1.
2.
3.
4.
Kur reikia padėti informaciją, nukopijavus ją į
kešą? - Į kokią eilutę keše reikia įrašyti iš
pagrindinės atminties paimtą eilutės dydžio bloką.
Kaip randama informacija keše? - Kaip
atliekama informacijos paieška keše, priklausomai
nuo kešo tipo.
Kaip vykdomas naujos informacijos įrašymas į
kešą? - Kešo eilutė, į kurią reikia įrašyti naują
bloką, jau užimta. Kaip reikia elgtis tokiu atveju?
Kaip vykdomas informacijos įrašymas tuo
atveju, jei nepataikoma į kešą? - Ar reikia ją
rašyti į kešą, ar tiesiai į pagrindinę atmintį?
2010-2011
©S.Maciulevičius
19
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.
2010-2011
©S.Maciulevičius
20
Tiesioginio atitikimo kešas
Adresas
srityje Pagrindinė atmintis
000
sritis
000
004
008
00C
0012 34AD
0000 0088
FF8
FFC
0000 2ADC
00FF 0000
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
009
sritis
000
004
008
00C
...
000 0000 2ADC 00FF 0000 511
246A DC00
CCCC 0000
FF8
FFC
2010-2011
©S.Maciulevičius
21
Dalinai asociatyvus kešas
Adresas
srityje Pagrindinė atmintis
000
sritis
000
004
008
00C
7F8
7FC
0012 34AD
0000 0088
Kešo dydžio
ATM sritis
009
sritis
2  256 eilutes  64 bitus
Tegas Duomenys
000 0012 34AD 0000 0088
009 246A DC00 CCCC 0000
0000 2ADC
00FF 0000
0 kryptis
000
004
008
00C
2 krypčių kešas
0
1
...
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
...
7F8
7FC
1 kryptis
646 2ADC 0000 0000 00FF
65
...
255
2010-2011
©S.Maciulevičius
22
Informacijos 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ų.
Tegui lieka 32 – 4 – 14 = 14 bitų
2010-2011
©S.Maciulevičius
23
Informacijos 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 00 10 001 0 0 1 0 101 0 010 00 10 11 100
18 17
4 3
0
Kešo eilutė:
11
2010-2011
10
©S.Maciulevičius
01
00
24
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
2010-2011
Duomenų baitai
©S.Maciulevičius
25
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).
2010-2011
©S.Maciulevičius
26
Išrinkimas iš kešo
2010-2011
©S.Maciulevičius
27
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
2010-2011
©S.Maciulevičius
28
Skaitymas iš kešo
Pradžia
CPU generuoja
kreipinio adresą RA
Ar blokas
yra keše?
Pagal RA iš ATM
skaityti bloką
Ne
Nustatyti
bloko vietą keše
Taip
Pagal RA
skaityti žodį ir
perduoti į CPU
Įrašyti bloką
į kešo eilutę
Perduoti žodį
į CPU
Atlikta
2010-2011
©S.Maciulevičius
29
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
2010-2011
©S.Maciulevičius
2 krypčių 8 krypčių
LRU
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
30
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.
2010-2011
©S.Maciulevičius
31
Į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į
2010-2011
©S.Maciulevičius
32
Kešai procesoriuose
Modelis
Eilutės ilgis
Dydis
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
2  16 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
32
Pentium 4
8 KB +
12 K ops
64
???
4 krypčių dalinai asociatyvus
Athlon (K7)
2  64 KB
64
2 krypčių dalinai asociatyvus
Core i7 (brand.)
2  32 KB
64
8 krypčių dalinai asociatyvus
Pentium
Pentium II
2010-2011
©S.Maciulevičius
tiesioginio atitikimo
33
Intel i486 kešo organizacija
8 KB 4 krypčių dalinai asociatyvus
Kiekviename bloke - 128 eilutės
Eilutės ilgis - 16 baitų
Tego ilgis - 21 bitas
32 bitų adresas
Valid bitai - po vieną V bitą
kiekvienam blokui
0
3
4
LRU Valid
bitai bitai
21bito
tegas
16
baitų
Tegas
31
Indeksas
11 10
4 3
0
127
2010-2011
©S.Maciulevičius
34
Eilutės pakeitimo valdymas
Visos 4 eilutės tikros?
Taip:
r0 =0?
Taip:
Seniausiai naudotos
eilutės - l2 arba l3
r1 =0?
Keisti l0
2010-2011
Ne
Keisti l1
©S.Maciulevičius
Pakeisti
netikrą
Ne
Seniausiai naudotos
eilutės - l0 arba l1
Taip
Ne
r2 =0?
Taip
Keisti l2
Ne
Keisti l3
35
Eilutės pakeitimo valdymas
LRU bitai:
r0
r1
r2 Keisti
0
0
x
l0
0
1
x
l1
1
x
0
l2
1
x
1
l3
LRU bitų reikšmės nustatomos tokiu būdu:
• jei paskutinis kreipinys buvo į l0 arba l1 , r0 =1;
•
•
•
2010-2011
jei paskutinis kreipinys buvo į l2 arba l3 , r0 =0;
jei paskutinis kreipinys buvo į l0, o ne į l1 , r1 =1;
priešingu atveju r1 =0;
jei paskutinis kreipinys buvo į l2, o ne į l3 , r2 =1;
priešingu atveju r2 =0.
©S.Maciulevičius
36
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.
2010-2011
©S.Maciulevičius
37
Specialūs kešai: Trace cacheCiklas
Tradicinis
būdas:
Atmintis
Kešas
Dekodavimas
Vykdymas
Ciklas
Pentium 4:
2010-2011
Atmintis
Dekodavimas
©S.Maciulevičius
Trasų
kešas
Vykdymas
38
Specialūs kešai: Trace cache
Trace
Cache
Komandų
kešas
Perėjimų
prognozė
Išrinkimo logika
Dekodavimas
Reistrų pakeitimas
L2 kešas
Fill Unit
Vykdymo įtaisai (branduolys)
2010-2011
©S.Maciulevičius
39
Trasų kešas (Pentium 4)
Dešinėje matome
originalaus kodo
fragmentą ir trasų kešo
turinį. Nepanaudotas
kodas į trasų kešą
neįrašomas.
2010-2011
©S.Maciulevičius
40
Trasų kešas
Komandų ir perkoduotų mikrooperacijų trasų keše santykis
parodytas paveiksle; kai kurie ciklai yra išskleisti (loop
unrolling):
I žymi paprastas, J – perėjimo komandas, o i ir j –
atitinkamas perkoduotas mikrooperacijas trasoje
2010-2011
©S.Maciulevičius
41
Core i7 kešai
Projektuodama dviejų branduolių procesorių kešus
pagrindinį dėmesį Intel skyrė L2 našumui
L2 buvo bendras abiems branduoliams, ir tai buvo
geriausias sprendimas dviejų branduolių
konfigūracijoje
Nehalem inžinieriai priėjo išvados, kad bendras L2
kešas nelabai tinka keturių branduolių
architektūroje, nes dažnai vienas branduolys
pakeis kito įkeltą informaciją
Todėl Core i7 gavo palyginus nedidelius L2 kešus
(256 KB) ir didelį bendrą L3 kešą (8 MB)
2010-2011
©S.Maciulevičius
42
Core i7 ir i5 kešai
2010-2011
©S.Maciulevičius
43
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
2010-2011
©S.Maciulevičius
44
Intel
Atom 330
2010-2011
©S.Maciulevičius
45
Spartinančiosios
atminties efektyvumas
2010-2011
©S.Maciulevičius
46
Kešo parametrų įtaka
Vidutiniai nepataikymo dažniai SPEC2000
ir multimedia taikomosioms programoms
Talpa, Eilutės Kešo
ilgis
tipas
KB
8
32 B
T.atit.
32
32 B
T.atit.
128
64 B 2 krypčių
512
64 B 2 krypčių
SPECint
2000
11,62%
7,71%
3,65%
SPECfp
2000
13,17%
12,24%
8,58%
Multimedia
2,93%
7,52%
0,11%
2,58%
1,11%
0,24%
http://www.ececs.uc.edu/~oscar/papers/multimedia_ieee.pdf
2010-2011
©S.Maciulevičius
47
Kompiuterio našumas ir kešo įtaka
Sprendimo laikas = Komandų skaičius x (CPI vykdymo
+ ATM kreipinių komandai x Kreipinio trukmė
taktais) x Ciklo trukmė:
T = N  (CPIX + na  tah)  
Vidutinė kreipinio į dviejų lygių atmintį (kešas + pagrindinė
tah:
tah= fhth + fmtm
atmintis) trukmė taktais
čia th - išrinkimo iš kešo laikas, tm - išrinkimo iš pagindinės
atminties laikas, fh - pataikymo į kešą dažnis, o fm nepataikymo į kešą dažnis (fm = 1 – fh).
2010-2011
©S.Maciulevičius
48
Kešo įtaka našumui
Jei procesorius gauna informaciją tik per kešą,
išraiška atrodo taip:
tah= th + fm tm
IŠVADA: norint padidinti kompiuterio našumą, reikia:
1) mažinti th ir fm– didinti kešo efektyvumą, taip pat
2) mažinti tm – didinti atminties darbo spartą, taip pat
didinti kešo efektyvumą.
2010-2011
©S.Maciulevičius
49
Kaip galima sumažinti fm?
Tegul kešo talpa fiksuota.
Kas atsitiks, jei:
1) Keisime bloko dydį (eilutės ilgį)?
2) Keisime krypčių skaičių (asociatyvumą)?
3) Panaudosime “aukų” kešą
4) O jei panaudosime gudresnį kompiliatorių?
2010-2011
©S.Maciulevičius
50
Keisime bloko dydį
Kešo dydis
25%
Miss
Rate
20%
1K
f
4K
15%
m
16K
10%
64K
5%
256K
256
128
64
32
16
0%
Bloko dydis (baitų)
Block Size (bytes)
2010-2011
©S.Maciulevičius
51
Asociatyvumas
• Taisyklė 2:1 - tiesioginio atitikimo kešo,
kurio talpa N, fm atitinka dviejų krypčių kešo,
kurio talpa N/2, fm
2010-2011
©S.Maciulevičius
52
Kompiliatoriaus įtaka
McFarling [1989] sako, kad fm galima
sumažinti 75% (8KB tiesioginio atitikimo
kešas, 4 baitų blokai) kompiliatoriaus
pastangomis
Komandoms:

Naudojant specialias atminties paskirstymo
procedūras

Naudojant profiliavimą – specialias
priemones konfliktams analizuoti
2010-2011
©S.Maciulevičius
53
Kompiliatoriaus įtaka
Duomenims:
 Suliejant masyvus: pagerinant lokališkumą
vietos atžvilgiu, du masyvus apjungiant į vieną
su sudėtiniais elementais
 Pertvarkant ciklus: pakeičiant konstrukcijas
“ciklas cikle” taip, kad į duomenis būtų
kreipiamasi nuosekliai (pagal išdėstymą
atmintyje)
 Apjungiant ciklus: 2 nepriklausomus ciklus,
turinčius bendrų kintamųjų, pakeičiant vienu
2010-2011
©S.Maciulevičius
54
tm mažinimas
Nelaukti, kol bus įkrautas visas blokas, bet
reikalingą žodį iš karto siųsti į CPU:
 Nedelsiamas perdavimas (early restart): kai tik
reikalingas bloko žodis bus įkrautas, jį iš karto
siųsti į CPU
 Pradėti nuo reikalingo žodžio (critical word first):
kreipinius į atmintį sutvarkyti taip, kad pirmiausia
būtų skaitomas reikalingas žodis, o likę bloko
žodžiai bus įkrauti po to.
2010-2011
©S.Maciulevičius
55
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
2010-2011
©S.Maciulevičius
56