Cache memory

advertisement
Inleiding computersystemen en netwerken deel 3
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
3.5.1
Inleiding computersystemen en netwerken deel 3
Systeemprestaties
• Wat is bepalend voor de systeemprestaties?
• Hoe versnellen we het data transport?
• Hoe versnellen we de geheugen toegang?
• Hoe verbeteren we de CPU snelheid?
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
3.5.2
Inleiding computersystemen en netwerken deel 3
3.5.3
Von Neumann cyclus
Bus operation to
memory
IF
1) Instruction
Fetch
Internal processing
4) Execute and
operand store
EX/
OS
ID
2) Instruction Decode
Internal registers or Bus
operation to memory
3) Operand(s) Fetch
OF
Internal registers or Bus
operation to memory
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.4
Bus gebruik in de tijd
IF
ID
t?
OF
EX
OS
t?
t
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.5
IF Bus operatie
CPU
1.
Adres (bus)
2.
Geheugen selectie (glue)
3.
Data beschikbaar (memory)
4.
Data overdracht (bus)
memory
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
Bus snelheid?
•
•
•
•
Zender
Rijs-tijd
Reistijd
Ontvanger
medium
100 Mhz (10 nsec) ?
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
3.5.6
Inleiding computersystemen en netwerken deel 3
3.5.7
Geheugens
a0
an
r/w
CS*
EN*
a0
am
Statische
RAM
Cycle time = Access time
r/w
RAS*
CAS*
Dynamische
RAM
Cycle time = Access
time + pre-charge time
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.8
Dynamische RAM
RAS*
a0
am
Versnellen
van data
transport?
r
o
w
Page mode
Interleaving
Column
data
CAS*
r/w
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.9
Cache memory
CPU
cache
memory
Stay on chip!
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.10
Cache types
• Instructie cache
• Data cache
• Mixed or unified cache
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.11
Associatief geheugen
adres
comparator
nx
adres
comparator
data
Hit ?
data
Extern adres
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Data
uit
Inleiding computersystemen en netwerken deel 3
3.5.12
fully associative cache
• iedere geheugencel heeft comparators
voor het volledige adres
– veel hardware
– veel stroom
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.13
Direct mapping cache
Veel minder hardware: een direct mapped cache
heeft maar 1 comparator!
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.14
Set-associatieve cache
Het compromis: een set-associative
cache
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.15
Een compromis tussen performance en prijs
in de praktijk is een cache meestal 2 .. 16way set-associatief
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.16
Cache inhoud (hit)
Wat bewaar je in een cache?
dat wat je snel weer nodig hebt,
je wil dus eigenlijk voorspellen...
caching berust op lokaliteit
of eigenlijk: wat gooi je weg?
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.17
Cache mis
wat lees je in bij een misser?
RAM geheugen is meestal sneller
in sequential access
access is vaak sequentieel, dus ...
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.18
Cached data write
wat te doen bij schrijven?
write-trough
write-back
let op bij multiprocessor systemen!
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.19
Tijdaspect
een probleem bij real-time systemen:
onvoorspelbaarheid
benchmarking is lastig
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.20
gnihcaC
omgedraaide cache: virtueel geheugen!
maak (schijnbaar) meer geheugen
door (transparant) een lager deel
van de hiërarchie te gebruiken
‘t is maar hoe je het ziet...
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.21
Gefaseerde uitvoering van instructies
(instruction) Fetch
(instruction) Decode,
Execute
Nadeel:
op ieder moment is maar een deel
(in dit geval ¼) van je hardware
echt bezig!
(result) Store
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.22
Pipelining
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.23
pipelining:
overlappende uitvoering van instructies
instructies worden 4 keer zo snel uitgevoerd doordat op
ieder moment alle delen van de hardware bezig zijn
(ieder met een verschillende instructie)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.24
Pipelining problem
IF
ID
OF
EX
OS
IF
ID
OF
EX
IF
ID
OF
IF
ID
IF
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.25
CISC <-> RISC
complex instruction set computer
reduced instruction set computer
•
•
•
•
•
De instructies verrichten simpele taken
Alle instructies zijn even groot
Er is geen uitgebreide keuze aan adresseer-modes
Er zijn veel interne registers beschikbaar
Load and Store architecture
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.26
ARM7
3-stage pipeline
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.27
Superscalair
Int unit
Int unit
cache
Instruction
queue
FP unit
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.28
Multiprocessor systemen
(classificatie van Flynn)
•
•
•
•
SISD
SIMD
MISD
MIMD
single instruction single data
single instruction multiple data
multiple instruction single data
multiple instruction multiple data
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
3.5.29
Opdracht:
• Onderzoek versnellingstechnieken toegpast bij de
Pentium 4 processor
• Werking en type cache(s)
• Samenhang met het toegepaste geheugen
Bestudeer: hoofdstuk 9
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Download