140 likes | 334 Views
RAČUNALNIŠKA ARHITEKTURA. Delovanje predpomnilnika. Kontrolni del. Pomnilniški del. beseda 2 b -1. beseda 0. beseda 1. beseda 2 b -1. beseda 0. beseda 1. beseda 2 b -1. beseda 0. beseda 1. Blok ali predpomnilniška vrstica = 2 b besed. Predpomnilnik - zgradba predpomnilnikov.
E N D
RAČUNALNIŠKA ARHITEKTURA Delovanje predpomnilnika
Kontrolni del Pomnilniški del beseda 2b -1 beseda 0 beseda 1 beseda 2b -1 beseda 0 beseda 1 beseda 2b -1 beseda 0 beseda 1 Blok ali predpomnilniška vrstica = 2b besed Predpomnilnik - zgradba predpomnilnikov Zgradba predpomnilnika Kontrolni del bloka 0 Pomnilniški del beseda 0 beseda 1 blok 0 Kontrolni del bloka 1 blok 0 beseda 2b -1 blok 1 blok 1 blok M-1 blok M-1
Predpomnilnik - zgradba predpomnilnikov • Blok je nekaj sosednjih pomnilniških besed. Velikost bloka ( B =2b ) je tipično 4 do 512 pomnilniških besed. • Med glavnim pomnilnikom in predpomnilnikom se vedno prenaša cel blok. • Predpostavimo, da procesor dostopa zaporedoma do pomnilniških besed z naslednjimi desetiškimi pomnilniškimi naslovi: • 9, 10, 11, 2, 3, 9, 10, 11, 2, … • Predpomnilnik ima bloke velikosti 4 bajte in je na začetku prazen.
00 00 00 01 01 01 ≠ ≠ ≠ ≠ blok 0 10 10 10 11 11 11 blok 1 blok 2M-1 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12, . . . 8 bitov Glavni pomnilnik Pomnilniški naslov 000 00 $12 Kontrolni del Pomnilniški del 000 01 $31 000 10 $CB 000 11 $74 $67 001 00 001 01 $45 001 10 $0B z g r e š i t e v 001 11 $23 010 00 $A4 010 01 $1F $36 010 10 $06 010 11 $FE 011 00 $7A 011 01 $CC 010 011 10 $5F 011 11 8 bitov 010 01 CPE 100 00
00 00 00 01 01 01 blok 0 10 10 10 11 11 11 blok 1 blok 2M-1 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12, . . . 8 bitov Glavni pomnilnik Pomnilniški naslov 000 00 $12 Kontrolni del Pomnilniški del 000 01 $31 0 1 0 $A4 dostop 000 10 $CB $1F $36 000 11 $74 $06 $67 001 00 001 01 $45 001 10 $0B 001 11 $23 010 00 $A4 010 01 $1F $36 010 10 $06 010 11 $FE 011 00 $7A 011 01 $CC 011 10 $5F 011 11 8 bitov 010 01 CPE 100 00
00 00 00 01 01 01 = ≠ ≠ ≠ blok 0 10 10 10 11 11 11 blok 1 blok 2M-1 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12, . . . 8 bitov Glavni pomnilnik Pomnilniški naslov 000 00 $12 Kontrolni del Pomnilniški del 000 01 $31 0 1 0 $A4 000 10 $CB $1F zadetek dostop $36 000 11 $74 $06 $67 001 00 001 01 $45 001 10 $0B 001 11 $23 010 00 $A4 010 01 $1F $36 010 10 $06 010 11 $FE 011 00 $7A 011 01 $CC 010 011 10 $5F 011 11 8 bitov 01010 CPE 100 00
00 00 00 01 01 01 = ≠ ≠ ≠ blok 0 10 10 10 11 11 11 blok 1 blok 2M-1 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12, . . . 8 bitov Glavni pomnilnik Pomnilniški naslov 000 00 $12 Kontrolni del Pomnilniški del 000 01 $31 0 1 0 $A4 000 10 $CB $1F zadetek $36 000 11 $74 dostop $06 $67 001 00 001 01 $45 001 10 $0B 001 11 $23 010 00 $A4 010 01 $1F $36 010 10 $06 010 11 $FE 011 00 $7A 011 01 $CC 010 011 10 $5F 011 11 8 bitov 010 11 CPE 100 00
00 00 00 01 01 01 ≠ ≠ ≠ ≠ blok 0 10 10 10 11 11 11 blok 1 blok 2M-1 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12, . . . 8 bitov Glavni pomnilnik Pomnilniški naslov 000 00 $12 Kontrolni del Pomnilniški del 000 01 $31 0 1 0 $A4 000 10 $CB $1F $36 000 11 $74 $06 $67 001 00 001 01 $45 001 10 $0B z g r e š i t e v 001 11 $23 010 00 $A4 010 01 $1F $36 010 10 $06 010 11 $FE 011 00 $7A 011 01 $CC 011 10 000 $5F 011 11 8 bitov 000 10 CPE 100 00
00 00 00 01 01 01 blok 0 10 10 10 11 11 11 blok 1 blok 2M-1 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12, . . . 8 bitov Glavni pomnilnik Pomnilniški naslov 000 00 $12 Kontrolni del Pomnilniški del 000 01 $31 0 1 0 $A4 000 10 $CB $1F $36 000 11 $74 $06 $67 001 00 $12 0 0 0 001 01 $45 $31 dostop $CB 001 10 $0B $74 001 11 $23 010 00 $A4 010 01 $1F $36 010 10 $06 010 11 $FE 011 00 $7A 011 01 $CC 011 10 $5F 011 11 8 bitov 000 10 CPE 100 00
00 00 00 01 01 01 = ≠ ≠ ≠ blok 0 10 10 10 11 11 11 blok 1 blok 2M-1 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12, . . . 8 bitov Glavni pomnilnik Pomnilniški naslov 000 00 $12 Kontrolni del Pomnilniški del 000 01 $31 0 1 0 $A4 000 10 $CB $1F $36 000 11 $74 $06 $67 001 00 $12 0 0 0 001 01 $45 $31 zadetek $CB 001 10 $0B dostop $74 001 11 $23 010 00 $A4 010 01 $1F $36 010 10 $06 010 11 $FE 011 00 $7A 011 01 000 $CC 011 10 $5F 011 11 8 bitov 000 11 CPE 100 00
00 00 00 01 01 01 = ≠ ≠ ≠ blok 0 10 10 10 11 11 11 blok 1 blok 2M-1 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12, . . . 8 bitov Glavni pomnilnik Pomnilniški naslov 000 00 $12 Kontrolni del Pomnilniški del 000 01 $31 0 1 0 $A4 000 10 $CB $1F zadetek $36 dostop 000 11 $74 $06 $67 001 00 $12 0 0 0 001 01 $45 $31 $CB 001 10 $0B $74 001 11 $23 010 00 $A4 010 01 $1F $36 010 10 $06 010 11 $FE 011 00 $7A 011 01 $CC 011 10 010 $5F 011 11 8 bitov 010 01 CPE 100 00
Predpomnilnik - osnove delovanja predpomnilnika • Pri vsakem dostopu CPE pošlje v pomnilnik n-bitni pomnilniški naslov. Zgornjih n-b bitov se primerja z naslovi v kontrolnih delih vseh blokov predpomnilnika (spodnjih b-bitov določa naslov besede znotraj bloka). • Če pri nekem bloku obstaja enakost, je iskana beseda v predpomnilniku - govorimo o zadetku v predpomnilniku in CPE izvrši dostop do besede v pomnilniškem delu predpomnilnika • Če enakosti ni, je to zgrešitev in iz glavnega pomnilnika se v predpomnilnik prenese blok v katerem je iskana beseda - preslikava bloka • Če so v predpomnilniku vsi bloki zasedeni, novi blok zamenja enega od obstoječih - govorimo o zamenjavi bloka
Predpomnilnik - osnove delovanja predpomnilnika • Potrebna je hitra primerjava vsebine kontrolnega dela predpomnilnika in dela pomnilniškega naslova, do katerega želi CPE dostop. • Če primerjava ni hitra, je dostop počasen, zato je treba pri preslikavi bloka iz glavnega pomnilnika v predpomnilnik vpeljati omejitve. • Glede na strogost omejitev pri preslikavi razlikujemo tri vrste predpomnilnikov: • Čisti asociativni predpomnilnik • Set-asociativni predpomnilnik • Direktni predpomnilnik