Diapozitiv 1

Podobni dokumenti
ORA 1-3

Diapozitiv 1

Microsoft Word - avd_vaje_ars1_1.doc

Slide 1

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Delavnica Načrtovanje digitalnih vezij

Vostro 430 Informacijski tehnični list o namestitvi in funkcijah

Microsoft Word - vaje2_ora.doc

Microsoft Word - M docx

DES

KATALOG 2002/03

Diapozitiv 1

ARS1

Delavnica Načrtovanje digitalnih vezij

DES11_realno

Delavnica Načrtovanje digitalnih vezij

Diapozitiv 1

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Organizacija računalnikov

OSNOVE RAČUNALNIŠKE ARHITEKTURE II

Navodila za uporabo Mini prenosna HD kamera s snemalnikom

ENERGETSKO UPRAVLJANJE STAVB

Style Sample for C&N Word Style Sheet

CelotniPraktikum_2011_verZaTisk.pdf

Diapozitiv 1

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Procesorski sistemi v telekomunikacijah

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

DKMPT

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.:

Naziv storitve Enota mere Tarifa Cena brez davka v EUR Cena z davkom v EUR Stopnja davka MOBILNI NAROČNIŠKI PAKETI IN STORITVE Cene veljajo od

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Spoznajmo PowerPoint 2013

Inspiron Namestitev in tehnični podatki

DES11_vmesniki

Delavnica Načrtovanje digitalnih vezij

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - NAVODILA ZA UPORABO.docx

Chapter 1

Strojna oprema

Procesorski sistemi v telekomunikacijah

DSI 2019

EVROPSKA KOMISIJA Bruselj, C(2019) 1955 final ANNEXES 1 to 5 PRILOGE k UREDBI KOMISIJE (EU) št. /.. z dne XXX o določitvi zahtev za okoljsko

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Datum in kraj

Računalnik Inspiron All-in-One Namestitev in tehnični podatki

VIN Lab 1

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

NETGEAR R6100 WiFi Router Installation Guide

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

Microsoft Word - M doc

Laboratorij za strojni vid, Fakulteta za elektrotehniko, Univerza v Ljubljani Komunikacije v Avtomatiki Vaje, Ura 8 Matej Kristan

Uporaba informacijsko komunikacijske tehnologije v naravoslovju in tehniki

Diapozitiv 1

Slide 1

Inspiron 17 5000 Namestitev in tehnični podatki

Microsoft PowerPoint - ORS-1.ppt

PowerPointova predstavitev

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane.

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

Delavnica Načrtovanje digitalnih vezij

Sistemi Daljinskega Vodenja Vaja 1 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubljani

15/2014 A A h 14.10h,

Ime in priimek

DES

1. izbirni test za MMO 2018 Ljubljana, 16. december Naj bo n naravno število. Na mizi imamo n 2 okraskov n različnih barv in ni nujno, da imam

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

COBISS3/Medknjižnična izposoja

Logični modul LOGO!

Osnove statistike v fizični geografiji 2

(Microsoft PowerPoint - vorsic ET 9.2 OES matri\350ne metode 2011.ppt [Compatibility Mode])

Navodila za uporabo Mini snemalnik

Elektrotehniški vestnik 76(1-2): 13 18, 2009 Electrotechnical Review, Ljubljana, Slovenija Ugotavljanje podatkovne odvisnosti za procesorje z naborom

AREX – Classification Rules Extracting Algorithm Based on Automatic Programming

Dell Precision 3431 z majhnim ohišjem

Microsoft Word - UP_Lekcija04_2014.docx

Podatkovni list HP ENVY Laptop 13-aq0007na Eleganten računalnik s procesorjem Intel Core Delajte brez skrbi ne glede na to, kaj prinese dan. Lahek in

Microsoft PowerPoint - NDES_8_USB_LIN.ppt

Microsoft Word doc

Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Tr

STAVKI _5_

Microsoft Word - FREM-2010-prispevek-obratna-sredstva-oktober-2008

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

Osnove verjetnosti in statistika

an-01-sl-Temperaturni_zapisovalnik_podatkov_Tempmate.-S1.docx

Teorija kodiranja in kriptografija 2013/ AES

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC

NETGEAR R6250 Smart WiFi Router Installation Guide

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

Mrežni modeli polimernih verig Boštjan Jenčič 22. maj 2013 Eden preprostejših opisov polimerne verige je mrežni model, kjer lahko posamezni segmenti p

Precision 5530 Priročnik za servisiranje

INFORMACIJSKO KOMUNIKACIJSKE TEHNOLOGIJE ŠTUDIJ INFORMACIJSKO KOMUNIKACIJSKIH TEHNOLOGIJ

Dell OptiPlex 5260 All-in-One Vodnik za nastavitev in tehnične podatke

Transkripcija:

RAČUNALNIŠKA ARHITEKTURA 9 Pomnilniška hierarhija RA - 9 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija - vsebina 9 Pomnilniška hierarhija - cilji: Osnovno razumevanje : Lokalnosti pomnilniških dostopov Pomena in delovanja pomnilniške hierarhije Razumevanje predpomnilnikov: Vpliva na hitrost računanja Podmnožica vsebine gl. pomnilnika Razumevanje navideznega pomnilnika RA - 9 2 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija - vsebina 9 Pomnilniška hierarhija Lokalnost pomnilniških dostopov Pomnilniška hierarhija Predpomnilnik Primer delovanja predpomnilnika Vrste predpomnilnikov glede na omejitve pri preslikavi blokov Vpliv predpomnilnika na hitrost delovanja CPE Primer: Vpliv predpomnilnika L2 na hitrost CPE Navidezni pomnilnik Navidezni pomnilnik z ostranjevanjem Napake strani Strategije in algoritmi Pohitritev preslikovanja RA - 9 3 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija - vsebina Delovanje pomnilniške hierarhije Štirinivojska pomnilniška hierarhija povprečni čas dostopa kot ga vidi CPE Primer: Vpliv verjetnosti zgrešitve v glavnem pomnilniku na povprečni dostopni čas pri trinivojski pomnilniški hierarhiji RA - 9 4 2018, Škraba, Rozman, FRI

9.1 Lokalnost pomnilniških dostopov Princip lokalnosti pomnilniških dostopov je eden najpomembnejših pojavov, ki ga opazimo pri delovanju von Neumannovega računalnika. Programi bolj pogosto uporabljajo ukaze in operande, ki so v pomnilniku blizu trenutno uporabljanim. Programi pogosto več kot enkrat uporabijo iste ukaze in operande. RA - 9 5 2018, Škraba, Rozman, FRI

Lokalnost pomnilniških naslovov Tipičen program 90% časa uporablja samo 10% ukazov. Prostorska lokalnost Časovna lokalnost Lokalnost pomnilniških dostopov omogoča, da glavni pomnilnik nadomestimo s pomnilniško hierarhijo RA - 9 6 2018, Škraba, Rozman, FRI

9.2 Pomnilniška hierarhija Želja programerjev: čim hitrejši in čim večji pomnilnik Pomnilniška hierarhija, ki jo sestavlja več ločenih pomnilnikov z različnimi lastnostmi, omogoča realizacijo te iluzije: Predpomnilnik (lahko več nivojev predpomnilnikov) Glavni pomnilnik Navidezni pomnilnik Uspešno delovanje pomnilniške hierarhije je možno zaradi že omenjene lokalnosti pomnilniških dostopov. RA - 9 7 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija Pomnilniško hierarhijo torej sestavlja več ločenih pomnilnikov z različnimi lastnostmi: Prvi v hierarhiji pomnilnik M1 (najbližji CPE) je najhitrejši najdražji in najmanjši. Zadnji v hierarhiji pomnilnik Mn (najbolj oddaljen od CPE) je najcenejši, največji in najpočasnejši. Cilj pomnilniške hierarhije je, da je velik, počasen in cenen pomnilnik Mn videti kot hiter in drag pomnilnik M1. RA - 9 8 2018, Škraba, Rozman, FRI

Primer trinivojske pomnilniške hierarhije CPE Predpomnilnik Glavni pomnilnik Navidezni pomnilnik M1 Statični RAM (SRAM) -najhitrejši -najdražji -najmanjši M2 Dinamični RAM (DRAM, SDRAM) -najpočasnejši -najcenejši -največji M3 Magnetni disk ali SSD CPE vidi pomnilniško hierarhijo kot glavni pomnilnik kot je definiran v von Neumannovem modelu RA - 9 9 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija Pravilo delovanja hierarhije je, da je pomnilniški prostor na nivoju i podmnožica prostora na nivoju i+1. Če informacije do katere želi CPE ni v M1, se mora prenesti iz M2 v M1. Če je ni tudi v M2, se najprej prenese iz M3 v M2 in nato iz M2 v M1. Prenašanje iz enega nivoja na sosednji nivo se izvaja avtomatsko, brez sodelovanja programerja. RA - 9 10 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija Za CPE je trinivojska pomnilniška hierarhija videti kot glavni pomnilnik velikosti M3, s hitrostjo ki je blizu hitrosti M1. Pomnilniška hierarhija bi bila brez lokalnosti pomnilniških dostopov neuporabna. RA - 9 11 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija NARAŠČA Pomnilniška hierarhija Pomnilniki, ki sestavljajo pomnilniško hierarhijo Registri V CPE Hitrost in cena Oddaljenost od CPE in čas dostopa Velikost Predpomnilniki Glavni pomnilnik Polprevodniški disk (SSD) NARAŠČA NARAŠČA Navidezni pomnilnik Magnetni disk (HD) RA - 9 12 2018, Škraba, Rozman, FRI

Lastnosti pomnilnikov v pomnilniški hierarhiji Tehnologija Cena /GB Dostopni čas v ns Hitrost prenosa v GB/s Predpomnilnik SRAM 10.000 1 ns 25+ GB/s Glavni pomnilnik DRAM 10 10-60 ns 25+ GB/s Navidezni pomnilnik SSD < 0,5 100.000 ns 0,5 GB/s HDD < 0,05 10.000.000 ns 0,1 GB/s SRAM Statični RAM (bralno-pisalni pomnilnik) DRAM Dinamični RAM SSD Solid State Disk (polprevodniški disk) HDD Hard disk (magnetni disk) RA - 9 13 2018, Škraba, Rozman, FRI

9.3 Predpomnilnik Predpomnilnik (cache) je majhen hiter pomnilnik (SRAM) med CPE in glavnim pomnilnikom. Uporaba predpomnilnika v pomnilniški hierarhiji ustvari iluzijo hitrega pomnilnika, ki je hitrejši kot glavni pomnilnik. Vsebina predpomnilnika: podmnožica vsebine glavnega pomnilnika. CPE s pomnilniškim naslovom vedno dostopa do predpomnilnika. RA - 9 14 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnikov CPE t a Predpomnilnik M p, t ap, H p Glavni pomnilnik Dvonivojska pomnilniška hierarhija M g, t ag M p predpomnilnik t ap čas dostopa do predpomnilnika [ns] H p verjetnost zadetka v predpomnilniku [%] M g t ag t a glavni pomnilnik čas dostopa do glavnega pomnilnika [ns] (verjetnost zadetka v glavnem pomnilniku je 100%) povprečni čas dostopa do celotne hierarhije, kot ga vidi CPE [ns] RA - 9 15 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnikov Pri dostopu CPE do informacije (ukaz, operand) v predpomnilniku sta dve možnosti: Zadetek (hit), če je naslov (in vsebina s tega naslova) v predpomnilniku čas dostopa je t ap Zgrešitev (miss), če naslova (in vsebine) ni v predpomnilniku čas dostopa je t ap + t ag Zadetek v predpomnilniku Zgrešitev v predpomnilniku CPE t a M p, t ap, H Glavni pomnilnik CPE t a Predpomnilnik Predpomnilnik M p, t ap, H blok Glavni pomnilnik M g, t ag naslov vsebina (ukaz ali podatek) M g, t ag RA - 9 16 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnikov Uspešnost delovanja predpomnilnika merimo: N p N p Z verjetnostjo zadetka H H N N N N - število vseh dostopov do predpomnilnika (N = N g + N p ) N p - število zadetkov (želena informacija je v predpomnilniku) N g - število zgrešitev (želene informacije ni v predpomnilniku, potreben je prenos informacije iz glavnega pomnilnika v predpomnilnik) Ali z verjetnostjo zgrešitve, ki je 1 - H (želimo čim manjšo) V predpomnilniku je verjetnost zadetka H 0,9 (90%) V primeru zgrešitve je potreben dostop do glavnega pomnilnika. g p RA - 9 17 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnikov CPE t a Predpomnilnik Glavni pomnilnik M p, t ap, H M g, t ag Povprečni dostopni čas t a, kot ga vidi CPE, je: t t ( 1 H ) t a ap ag RA - 9 18 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnikov Pri računanju je treba upoštevati dve posebnosti predpomnilnikov: Med glavnim pomnilnikom in predpomnilnikom se vedno prenaša predpomnilniški blok, kar je več sosednjih pomnilniških besed (bajtov) Čas v računalniku merimo z urinimi periodami Čas t ap za dostop do informacije v predpomnilniku je na nivoju L1 pri večini računalnikov od ene do nekaj urinih period. Pri zgrešitvi čas za dostop do glavnega pomnilnika in prenos bloka v predpomnilnik imenujemo zgrešitvena kazen t B. RA - 9 19 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnikov Zgrešitvena kazen t B je čas, ki se ob zgrešitvi (verjetnost za zgrešitev je 1 H) prišteje k času dostopa do predpomnilnika. Zgrešitvena kazen je tipično med 10 in 100 urinimi periodami. Če ima računalnik tudi predpomnilnik na nivoju L2, je zgrešitvena kazen precej manjša, ker je predpomnilnik L2 hitrejši kot glavni pomnilnik. RA - 9 20 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnikov Povprečni čas dostopa t a je z upoštevanjem zgrešitvene kazni: t t ( 1 H ) t a ap B t ap dostopni čas do predpomnilnika (1 - H) - verjetnost zgrešitve v predpomnilniku t B zgrešitvena kazen (čas dostopa do glavnega pomnilnika + čas za prenos bloka v predpomnilnik) Če sta časa t ap in t B v urinih periodah, je seveda tudi rezultat t a v urinih periodah. Povprečni dostopni čas v sekundah (t CPE je trajanje ene urine periode v sekundah) : t a [s] = t a [urine periode] * t CPE [s] RA - 9 21 2018, Škraba, Rozman, FRI

Predpomnilnik - zgradba predpomnilnikov Vsebina v predpomnilniku se spreminja V predpomnilnik se prenašajo bloki iz glavnega pomnilnika in naslovi teh blokov (številke blokov iz glavnega pomnilnika) Zato je vsak predpomnilnik sestavljen iz dveh delov: Pomnilniškega dela, ki je razdeljen na bloke ali predpomnilniške vrstice Kontrolnega dela, ki ga sestavljajo kontrolne besede. Vsakemu bloku v pomnilniškem delu pripada ena kontrolna beseda, ki vsebuje naslov bloka (številko bloka v glavnem pomnilniku), ki je v pomnilniškem delu. RA - 9 22 2018, Škraba, Rozman, FRI

blok M-1 blok 1 blok 0 Predpomnilnik - zgradba predpomnilnikov Zgradba predpomnilnika Kontrolni del bloka 0 Pomnilniški del beseda 0 beseda 1 Kontrolni del Pomnilniški del Kontrolni del bloka 1 beseda 2 b -1 beseda 0 beseda 1 beseda 2 b -1 beseda 0 beseda 1 beseda 2 b -1 blok 0 blok 1 beseda 0 beseda 1 beseda 2 b -1 blok M-1 Kontrolni del bloka M-1 Blok ali predpomnilniška vrstica = 2 b besed RA - 9 23 2018, Škraba, Rozman, FRI

Predpomnilnik - zgradba predpomnilnikov Zgradba in delovanje predpomnilnika RA - 9 24 2018, Škraba, Rozman, FRI

Predpomnilnik - zgradba predpomnilnikov Blok (ali predpomnilniška vrstica) je nekaj sosednjih pomnilniških besed (pomnilniška beseda je običajno 1 bajt). Velikost bloka ( B = 2 b ) je tipično 4 do 512 pomnilniških besed. Med glavnim pomnilnikom in predpomnilnikom se vedno prenaša cel blok. Ko se blok iz glavnega pomnilnika prenese v prosti blok v predpomnilniku se: Vsebina bloka se prenese v pomnilniški del bloka v predpomnilniku Naslov (številka) bloka se prenese v kontrolni del bloka v predpomnilniku RA - 9 25 2018, Škraba, Rozman, FRI

Predpomnilnik primer delovanja Primer delovanja predpomnilnika: Predpostavimo: da procesor zaporedoma dostopa do pomnilniških besed z naslednjimi desetiškimi pomnilniškimi naslovi: 9, 10, 11, 2, 3, 9, 10, 11, 2, ; da ima predpomnilnik bloke velikosti 4 bajte (B = 2 2 = 4) in je na začetku prazen; da je pomnilniški naslov je dolg 5 bitov. Potem zgornji trije biti pomnilniškega naslova določajo številko bloka, spodnja dva bita pomnilniškega naslova pa besedo (bajt) v bloku (2 2 = 4) RA - 9 26 2018, Škraba, Rozman, FRI

blok 3 blok 2 z g r e š i t e v blok 1 blok 1 blok 0 blok 0 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12,... Pomnilniški naslov 8 bitov Glavni pomnilnik CPE Kontrolni del 010 010 01 Pomnilniški del 8 bitov 00 01 10 11 00 01 10 11 00 01 10 11 blok 2 M-1 0 000 00 1 000 01 2 000 10 3 000 11 4 001 00 5 001 01 6 001 10 7 001 11 8 010 00 9 010 01 10 010 10 11 010 11 12 011 00 13 011 01 14 011 10 15 011 11 16 100 00 $12 $31 $CB $74 $67 $45 $0B $23 $A4 $1F $36 $06 $FE $7A $CC $5F RA - 9 27 2018, Škraba, Rozman, FRI

blok 3 blok 2 blok 1 blok 1 blok 0 blok 0 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12,... Pomnilniški naslov 8 bitov Glavni pomnilnik Kontrolni del 0 1 0 dostop CPE 010 01 Pomnilniški del $A4 $1F $36 $06 8 bitov 00 01 10 11 00 01 10 11 00 01 10 11 blok 2 M-1 0 000 00 1 000 01 2 000 10 3 000 11 4 001 00 5 001 01 6 001 10 7 001 11 8 010 00 9 010 01 10 010 10 11 010 11 12 011 00 13 011 01 14 011 10 15 011 11 16 100 00 $12 $31 $CB $74 $67 $45 $0B $23 $A4 $1F $36 $06 $FE $7A $CC $5F RA - 9 28 2018, Škraba, Rozman, FRI

blok 3 blok 2 blok 1 blok 1 blok 0 blok 0 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12,... Pomnilniški naslov 8 bitov Glavni pomnilnik zadetek = dostop Kontrolni del 0 1 0 010 CPE 01010 Pomnilniški del $A4 $1F $36 $06 8 bitov 00 01 10 11 00 01 10 11 00 01 10 11 blok 2 M-1 0 000 00 1 000 01 2 000 10 3 000 11 4 001 00 5 001 01 6 001 10 7 001 11 8 010 00 9 010 01 10 010 10 11 010 11 12 011 00 13 011 01 14 011 10 15 011 11 16 100 00 $12 $31 $CB $74 $67 $45 $0B $23 $A4 $1F $36 $06 $FE $7A $CC $5F RA - 9 29 2018, Škraba, Rozman, FRI

blok 3 blok 2 blok 1 blok 1 blok 0 blok 0 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12,... Pomnilniški naslov 8 bitov Glavni pomnilnik zadetek Kontrolni del = dostop 0 1 0 010 CPE 010 11 Pomnilniški del $A4 $1F $36 $06 8 bitov 00 01 10 11 00 01 10 11 00 01 10 11 blok 2 M-1 0 000 00 1 000 01 2 000 10 3 000 11 4 001 00 5 001 01 6 001 10 7 001 11 8 010 00 9 010 01 10 010 10 11 010 11 12 011 00 13 011 01 14 011 10 15 011 11 16 100 00 $12 $31 $CB $74 $67 $45 $0B $23 $A4 $1F $36 $06 $FE $7A $CC $5F RA - 9 30 2018, Škraba, Rozman, FRI

blok 3 blok 2 z g r e š i t e v blok 1 blok 1 blok 0 blok 0 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12,... Pomnilniški naslov 8 bitov Glavni pomnilnik Kontrolni del 0 1 0 000 CPE 000 10 Pomnilniški del $A4 $1F $36 $06 8 bitov 00 01 10 11 00 01 10 11 00 01 10 11 blok 2 M-1 0 000 00 1 000 01 2 000 10 3 000 11 4 001 00 5 001 01 6 001 10 7 001 11 8 010 00 9 010 01 10 010 10 11 010 11 12 011 00 13 011 01 14 011 10 15 011 11 16 100 00 $12 $31 $CB $74 $67 $45 $0B $23 $A4 $1F $36 $06 $FE $7A $CC $5F RA - 9 31 2018, Škraba, Rozman, FRI

blok 3 blok 2 blok 1 blok 1 blok 0 blok 0 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12,... Pomnilniški naslov 8 bitov Glavni pomnilnik Kontrolni del dostop 0 1 0 CPE 000 10 Pomnilniški del $A4 $1F $36 $06 0 0 0 $12 $31 $CB $74 8 bitov 00 01 10 11 00 01 10 11 00 01 10 11 blok 2 M-1 0 000 00 1 000 01 2 000 10 3 000 11 4 001 00 5 001 01 6 001 10 7 001 11 8 010 00 9 010 01 10 010 10 11 010 11 12 011 00 13 011 01 14 011 10 15 011 11 16 100 00 $12 $31 $CB $74 $67 $45 $0B $23 $A4 $1F $36 $06 $FE $7A $CC $5F RA - 9 32 2018, Škraba, Rozman, FRI

blok 3 blok 2 blok 1 blok 1 blok 0 blok 0 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12,... Pomnilniški naslov 8 bitov Glavni pomnilnik Kontrolni del 0 1 0 zadetek = dostop Pomnilniški del $A4 $1F $36 $06 0 0 0 $12 $31 000 CPE 000 11 $CB $74 8 bitov 00 01 10 11 00 01 10 11 00 01 10 11 blok 2 M-1 0 000 00 1 000 01 2 000 10 3 000 11 4 001 00 5 001 01 6 001 10 7 001 11 8 010 00 9 010 01 10 010 10 11 010 11 12 011 00 13 011 01 14 011 10 15 011 11 16 100 00 $12 $31 $CB $74 $67 $45 $0B $23 $A4 $1F $36 $06 $FE $7A $CC $5F RA - 9 33 2018, Škraba, Rozman, FRI

blok 3 blok 2 blok 1 blok 1 blok 0 blok 0 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 12,... Pomnilniški naslov 8 bitov Glavni pomnilnik zadetek = dostop Kontrolni del 0 1 0 Pomnilniški del $A4 $1F $36 $06 0 0 0 $12 $31 010 CPE 010 01 $CB $74 8 bitov 00 01 10 11 00 01 10 11 00 01 10 11 blok 2 M-1 0 000 00 1 000 01 2 000 10 3 000 11 4 001 00 5 001 01 6 001 10 7 001 11 8 010 00 9 010 01 10 010 10 11 010 11 12 011 00 13 011 01 14 011 10 15 011 11 16 100 00 $12 $31 $CB $74 $67 $45 $0B $23 $A4 $1F $36 $06 $FE $7A $CC $5F RA - 9 34 2018, Škraba, Rozman, FRI

blok 3 blok 2 blok 1 blok 1 blok 0 blok 0 CPE dostopa do pomn. naslova: 9, 10, 11, 2, 3, 9, 10, 11, 2,... zgrešitvi Pomnilniški naslov 8 bitov Glavni pomnilnik Kontrolni del 0 1 0 Pomnilniški del $A4 $1F $36 $06 0 0 0 $12 $31 $CB $74 8 bitov 00 01 10 11 00 01 10 11 00 01 10 11 blok 2 M-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 000 00 000 01 000 10 000 11 001 00 001 01 001 10 001 11 010 00 010 01 010 10 010 11 011 00 011 01 011 10 011 11 100 00 $12 $31 $CB $74 $67 $45 $0B $23 $A4 $1F $36 $06 $FE $7A $CC $5F RA - 9 35 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnika Dostop do operanda v pomnilniku : Zadetek v predpomnilniku (verjetnost H): CPE dostopa do operanda v predpomnilniku (bere ali piše) Zgrešitev v predpomnilniku (verjetnost 1 H): Preslikava bloka iz glavnega pomnilnika v predpomnilnik ali zamenjava bloka če je predpomnilnik poln, se eden od blokov v predpomnilniku shrani nazaj v glavni pomnilnik (ali je to vedno potrebno?), na njegovo mesto pa se preslika nov blok iz glavnega pomnilnika CPE dostopa do operanda v predpomnilniku RA - 9 36 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnika Vrste predpomnilnikov glede na omejitve pri preslikavi blokov Iskanje bloka v predpomnilniku mora biti hitro. Če to ni mogoče, je treba pri preslikavi bloka iz glavnega pomnilnika v predpomnilnik vpeljati omejitve. Glede na strogost omejitev pri preslikavi bloka iz glavnega pomnilnika v predpomnilnik, razlikujemo tri vrste predpomnilnikov: Čisti asociativni predpomnilnik (brez omejitev pri preslikavi bloka v predpomnilnik) Set-asociativni predpomnilnik (blok se lahko preslika samo v točno določen set, znotraj seta pa brez omejitev) Direktni predpomnilnik (blok se lahko preslika samo v točno določen blok) RA - 9 37 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnika Čisti asociativni predpomnilnik Pomnilniški del predpomnilnika je statični RAM (velja za vse tri vrste predpomnilnikov) Kontrolni del predpomnilnika je asociativni pomnilnik, ki omogoča hitro iskanje številke bloka po celem kontrolnem delu predpomnilnika Ker je iskanje hitro po celem predpomnilniku, se lahko blok iz glavnega pomnilnika preslika v predpomnilnik kamorkoli v katerikoli blok. Ker je z današnjo tehnologijo velikost asociativnega pomnilnika omejena, so čisti asociativni predpomnilniki redki in veliki le do nekaj 100 blokov. Če želimo velik predpomnilnik, je rešitev set-asociativni ali direktni predpomnilnik. RA - 9 38 2018, Škraba, Rozman, FRI

Preslikava bloka pri čistem asociativnem predpomnilniku Čisti asociativni predpomnilnik velikosti 8 blokov Iskanje Kontrolni del Pomnilniški del Št. bloka 02 13 05 Blok iz glavnega pomnilnika se lahko preslika v katerikoli blok predpomnilnika brez omejitev, ker je iskanje po asociativnem kontrolnem delu hitro. 0 1 2 3 4 5 6 7 Glavni pomnilnik Številka bloka 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 Blok RA - 9 39 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnika Set-asociativni predpomnilnik Celoten predpomnilnik je razdeljen na več delov, ki jih imenujemo seti. Vsak set je majhen čisti asociativni predpomnilnik. Iskanje bloka znotraj seta je hitro (asociativni kontrolni del), iskanje v katerem setu je blok pa ne. Zato se določen blok iz glavnega pomnilnika lahko preslika samo v točno določen set (da ga ni potrebno iskati med seti), znotraj seta pa kamorkoli. Število blokov v setu imenujemo stopnja asociativnosti E. Večja kot je stopnja asociativnosti, večja je verjetnost zadetka. RA - 9 40 2018, Škraba, Rozman, FRI

Preslikava bloka pri set-asociativnem predpomnilniku Iskanje Set-asociativni predpomnilnik velikost 8 blokov, razdeljen na 4 sete. 2 bloka v setu (= stopnja asociativnosti E=2) Kontrolni del Pomnilniški del Št. seta 13 05 02 Določen blok iz glavnega pomnilnika se lahko preslika samo v točno določen set, vendar v katerikoli blok v setu. Številka seta = (Štev.bloka in seta) mod (Število setov v predpomnilniku) 0 1 2 3 Glavni pomnilnik Številka bloka 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 Blok 00 10 01 01 11 01 RA - 9 41 2018, Škraba, Rozman, FRI

Predpomnilnik - osnove delovanja predpomnilnika Direktni predpomnilnik Celoten kontrolni del predpomnilnika je običajen z naslovom naslovljiv pomnilnik statični RAM Zato je iskanje bloka nemogoče (prepočasno). Določen blok iz glavnega pomnilnika se zato lahko preslika samo v točno določen blok predpomnilnika, da iskanje ni potrebno. Če je v predpomnilniku blok v katerega se mora preslikati blok iz glavnega pomnilnika poln, je potrebna zamenjava bloka. Verjetnost zadetka je zato v direktnem predpomnilniku v primerjavi z enako velikim set-asociativnim predpomnilnikom precej manjša.. RA - 9 42 2018, Škraba, Rozman, FRI

Preslikava bloka pri direktnem predpomnilniku Direktni predpomnilnik velikost 8 blokov Kontrolni del je običajen z naslovom naslovljiv pomnilnik Iskanje Kontrolni del Pomnilniški del Št. bloka 02 13 Določen blok iz glavnega pomnilnika se lahko preslika samo v točno določen blok predpomnilnika (vedno isti) Pozicija v predpomnilniku = (Štev.bloka) mod (Število blokov v predpomnilniku) 0 1 2 3 4 5 6 7 Glavni pomnilnik Številka bloka 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 Blok 0 010 0 101 1 101 RA - 9 43 2018, Škraba, Rozman, FRI

Preslikava bloka pri direktnem predpomnilniku Direktni predpomnilnik velikost 8 blokov Kontrolni del je običajen z naslovom naslovljiv pomnilnik Iskanje Kontrolni del Pomnilniški del Št. bloka 02 05 0 1 2 3 4 5 6 7 zamenjava bloka Določen blok iz glavnega pomnilnika se lahko preslika samo v točno določen blok predpomnilnika (vedno isti) Pozicija v predpomnilniku = (Štev.bloka) mod (Število blokov v predpomnilniku) Glavni pomnilnik Številka bloka 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 Blok 0 010 0 101 1 101 RA - 9 44 2018, Škraba, Rozman, FRI

Predpomnilnik - preslikava bloka v predpomnilnik pri različnih vrstah predpomnilnikov Predpomnilnik 8 blokov Blok Blok Glavni pomnilnik Številka bloka 0 Čisti asociativni predpomnilnik Številka seta Set-asociativni predpomnilnik stopnja asoc. E=2 Številka bloka (seta) Direktni predpomnilnik 1 2 3 4 5 6 7 0 1 2 3 0 1 2 3 4 5 6 7 Številka bloka 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 RA - 9 45 2018, Škraba, Rozman, FRI

Predpomnilnik omejitve pri preslikavi bloka v predpomnilnik Predpomnilnik 8 blokov Blok Blok Glavni pomnilnik Številka bloka 0 Čisti asociativni predpomnilnik Številka seta Set-asociativni predpomnilnik stopnja asoc. E=2 Številka bloka (seta) Direktni predpomnilnik 1 2 3 4 5 6 7 0 1 2 3 0 1 2 3 4 5 6 7 Številka bloka Blok se lahko preslika kamorkoli 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 11 01 RA - 9 46 2018, Škraba, Rozman, FRI

Predpomnilnik omejitve pri preslikavi bloka v predpomnilnik Predpomnilnik 8 blokov Blok Blok Glavni pomnilnik Številka bloka 0 Čisti asociativni predpomnilnik Številka seta Set-asociativni predpomnilnik stopnja asoc. E=2 Številka bloka (seta) Direktni predpomnilnik 1 2 3 4 5 6 7 0 1 2 3 0 1 2 3 4 5 6 7 Številka bloka Blok se lahko preslika kamorkoli 13 mod 4 = 1 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 11 01 RA - 9 47 2018, Škraba, Rozman, FRI

Predpomnilnik omejitve pri preslikavi bloka v predpomnilnik Predpomnilnik 8 blokov Blok Blok Glavni pomnilnik Številka bloka 0 Čisti asociativni predpomnilnik Številka seta Set-asociativni predpomnilnik stopnja asoc. E=2 Številka bloka (seta) Direktni predpomnilnik 1 2 3 4 5 6 7 0 1 2 3 0 1 2 3 4 5 6 7 Številka bloka Blok se lahko preslika kamorkoli Blok se lahko preslika v točno določen set 13 mod 8 = 5 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 1 101 RA - 9 48 2018, Škraba, Rozman, FRI

Predpomnilnik omejitve pri preslikavi bloka v predpomnilnik Predpomnilnik 8 blokov Blok Blok Glavni pomnilnik Številka bloka 0 Čisti asociativni predpomnilnik Številka seta Set-asociativni predpomnilnik stopnja asoc. E=2 Številka bloka (seta) Direktni predpomnilnik 1 2 3 4 5 6 7 0 1 2 3 0 1 2 3 4 5 6 7 Številka bloka Blok se lahko preslika kamorkoli Blok se lahko preslika v točno določen set Blok se lahko preslika v točno določen blok 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 11 01 RA - 9 49 2018, Škraba, Rozman, FRI

Vpliv predpomnilnika na hitrost delovanja CPE Dostop do predpomnilnika: Zadetek: CPE t a Predpomnilnik M p, t ap, H Glavni pomnilnik branje - običajno 1 urina perioda, M g, t ag pisanje - branje bloka, - spreminjanje vsebine, - pisanje bloka nazaj - tipično ena urina perioda več. RA - 9 50 2018, Škraba, Rozman, FRI

Predpomnilnik - vpliv predpomnilnika na hitrost CPE Zgrešitev: dostop do glavnega pomnilnika, CPE t a Predpomnilnik M p, t ap, H blok Glavni pomnilnik prenos bloka do predpomnilnika, pisanje bloka v predpomnilnik, M g, t ag sledi branje ali pisanje kot pri zadetku, če je predpomnilnik poln, je potrebna še zamenjava bloka. Za vse te operacije pri zgrešitvi je potrebnih od 10 do 100 urinih period (zgrešitvena kazen). RA - 9 51 2018, Škraba, Rozman, FRI

Predpomnilnik - vpliv predpomnilnika na hitrost CPE Za vse te operacije pri zgrešitvi je potrebnih od 10 do 100 urinih period (zgrešitvena kazen). Predpomnilniške zgrešitve zmanjšujejo hitrost delovanja CPE, oziroma povečujejo CPI. Idealni CPI (CPI I ) brez upoštevanja zgrešitev v predpomnilniku Realni CPI (CPI R ) z upoštevanjem zgrešitev v predpomnilniku RA - 9 52 2018, Škraba, Rozman, FRI

Predpomnilnik - vpliv predpomnilnika na hitrost CPE Realni CPI z upoštevanjem zgrešitev v predpomnilniku je: CPI R CPI I M ( 1 H ) Zgrešitvena _ kazen I CPI R - realni CPI CPI I - idealni CPI brez zgrešitev v predpomnilniku M I - povprečno število pomn. dostopov na ukaz Realni čas izvajanja programa z N ukazi pa je: CPE čas N CPI R t CPE RA - 9 53 2018, Škraba, Rozman, FRI

Vpliv predpomnilnika na hitrost CPE - primer Primer: Vpliv predpomnilnika L2 na hitrost CPE Procesor ima idealni CPI I = 1, če v ukaznem predpomnilniku L1 ni zgrešitev Frekvenca ure procesorja f CPE = 4 GHz Verjetnost zgrešitve v predpomnilniku L1 je 2% Zgrešitvena kazen je 100 ns (čas za prenos bloka iz glavnega pomnilnika) Če v hierarhijo dodamo še predpomnilnik L2 z zgrešitveno kaznijo 5 ns (čas za prenos bloka t B2 ), je globalna verjetnost zgrešitve v L2 0,5% (splošna verjetnost, da bo potreben dostop do glavnega pomnilnika) Kolikokrat hitrejše je delovanje procesorja, če v hierarhijo dodamo predpomnilnik drugega nivoja L2? RA - 9 54 2018, Škraba, Rozman, FRI

Dvonivojska pomnilniška hierarhija (brez L2) CPE CPI I = 1 Predpomnilnik L1 1-H 1 = 0,02 Glavni pomnilnik Zgrešitvena kazen t B2 (čas za prenos bloka iz glavnega pomnilnika v predpomnilnik) t B2 = 100 ns = 400 [up] [up] - urine periode t CPE f 1 9 CPE H 2 = 1; t B2 1 [ s ] 0,25 10 [ s ] 0,25[ ns ] Čas trajanja ene urine periode 9 4 10 t B 100[ ns ] ns 0,25[ ] up 400[ up] CPI R ( L1) CPI I (1 H1) t B 2 1[ up] 0,02 400[ up] 9[ up] Zaradi zgrešitev v predpomnilniku se CPI iz 1 poveča na 9 urinih period RA - 9 55 2018, Škraba, Rozman, FRI

Trinivojska pomnilniška hierarhija CPE Predpomnilnik L1 Predpomnilnik L2 Glavni pomnilnik Zgrešitvena kazen t B3 (čas za prenos bloka iz glavnega pomnilnika v predpomnilnik) t B CPI I = 1 1-H 1 = 0,02 5[ ns ] 2 20[ up] ns 0,25[ ] up 1-H 2G = 0,005 t B2 = 5 ns H 3 = 1; t B3 Čas za prenos bloka iz L2 v L1 t B3 = 100 ns = 400 [up] [up] - urine periode CPI R ( L1, L2) CPI I (1 H1) t B 2 (1 H 2G ) t B 3 1[ up] 0,02 20[ up] 0,005 400[ up] 1 0,4 2 3,4[ up] 1-H 2G predstavlja globalno verjetnost zgrešitve glede na vse pomn. dostope in vključuje lokalni verjetnosti zgrešitve L1 in L2 (v glavni pomnilnik dostopamo, ko se zgodita obe zgrešitvi) CPI R ( L1) Pohitritev CPI ( L1, L2) R 9 3,4 2,6 Če dodamo predpomnilnik L2, se hitrost izvajanja ukazov 2,6-krat poveča RA - 9 56 2018, Škraba, Rozman, FRI

Trinivojska pomnilniška hierarhija CPE Predpomnilnik L1 Predpomnilnik L2 Glavni pomnilnik Zgrešitvena kazen t B3 (čas za prenos bloka iz glavnega pomnilnika v predpomnilnik) CPI I = 1 1-H 1 = 0,02 1-H 2G = 0,005 t B2 = 5 ns Primerjava izračuna s pomočjo lokalne ali globalne verjetnosti CPI ( L1, L2) R CPI CPI I I CPI (1 H ) t 1 (1 H ) t 1 I B 2 B 2 (1 H ) ( t (1 H )(1 H (1 H ) t (1 H ) t ) t H 3 = 1; t B3 1[ up] 0,02 20[ up] 0,005 400[ up] 1 0,4 2 1 1 2G B 2 B 3 2L 2L B 3 B 3 ) t B3 = 100 ns = 400 [up] [up] - urine periode 1-H 2G predstavlja globalno verjetnost zgrešitve glede na vse pomn. dostope in vključuje lokalni verjetnosti zgrešitve L1 in L2 (v glavni pomnilnik dostopamo, ko se zgodita obe zgrešitvi) 3,4[ up] V predpomnilniku L1 sta lokalna in globalna verjetnost zgrešitve enaki, ker vsi dostopi pridejo v L1 PP. V predpomnilniku L2 pa je lokalna verjetnost zgrešitve 1-H 2L izražena glede na dostope samo v PP L2, globalna pa glede na vse pomn. dostope.. Pri večnivojskih hierarhijah so globalne verjetnosti običajno bolj uporabne, saj vključujejo tudi vpliv predhodnih nivojev (lokalne se nanašajo samo na določen nivo) RA - 9 57 2018, Škraba, Rozman, FRI

Predpomnilnik predpomnilniki pri nekaterih današnjih procesorjih Predpomnilniki pri nekaterih današnjih procesorjih Intel Core i7 Nehalem AMD Opteron Barcelona IBM Power6 Ukazni predpomnilnik L1 Velikost 32KB 64KB 64KB Stopnja asociativnosti Velikost bloka Čas dostopa (urine periode cikli) Širina povezave do L2 4 64B 4 256b 2 64B 3 256b 8 4 Operandni predpomnilnik L1 Velikost 32KB 64KB 64KB Stopnja asociativnosti 8 2 8 Velikost bloka 64B 64B Čas dostopa (urine periode - cikli) Širina povezave do L2 4 256b 3 256b 4 RA - 9 58 2018, Škraba, Rozman, FRI

Predpomnilnik predpomnilniki pri nekaterih današnjih procesorjih Intel Core i7 AMD Opteron IBM Power6 Predpomnilnik L2 Velikost Stopnja asociativnosti Velikost bloka Čas dostopa (urine periode cikli) Širina povezave do L2 256KB/jedro 8 64B <12 256b 512KB/jedro 16 64B 256b 4MB Predpomnilnik L3 Velikost 8MB/štiri jedra 2MB/štiri jedra izven CPE čipa 32MB Stopnja asociativnosti 16 32 Velikost bloka Čas dostopa (urine periode cikli) Širina povezave do glavnega pomn. 64B 30-40 2 x 64b 64B 2 x 64b RA - 9 59 2018, Škraba, Rozman, FRI

Predpomnilnik procesor Intel Zgradba 4-jedrnega procesorja Intel Core i7 (Haswell) CPE 1 CPE 2 CPE 3 CPE 4 Ukazni p. L1 32KB Oper. p L1 32KB Ukazni p. L1 32KB Oper. p L1 32KB Ukazni p. L1 32KB Oper.p L1 32KB Ukazni p. L1 32KB Oper. p L1 32KB Predpomnilnik L2 256KB Predpomnilnik L2 256KB Predpomnilnik L2 256KB Predpomnilnik L2 256KB Predpomnilnik L3 8MB Krmilnik pomnilnika DDR3 QuickPath Interconnect 2 x 8 B @ 1,6 GT/s = 25,6 GB/s 4 x 20b @ 6,4GT/s RA - 9 60 2018, Škraba, Rozman, FRI

Predpomnilnik procesor AMD Zgradba 4-jedrnega procesorja AMD Opteron (Barcelona) CPE 1 CPE 2 CPE 3 CPE 4 Ukazni p. L1 64KB Oper. p L1 64KB Ukazni p. L1 64KB Oper. p L1 64KB Ukazni p. L1 64KB Oper.p L1 64KB Ukazni p. L1 64KB Oper.p L1 64KB Predpomnilnik L2 512KB Predpomnilnik L2 512KB Predpomnilnik L2 512KB Predpomnilnik L2 512KB Predpomnilnik L3 2MB Krmilnik pomnilnika DDR2 Hyper Transport 2.0 2 x 8B @ 667MT/s 6 x 2B @ 2GT/s RA - 9 61 2018, Škraba, Rozman, FRI

9.4 Navidezni pomnilnik Navidezni pomnilnik (virtual memory) prostor v pomožnem pomnilniku (SSD ali magnetni disk), ki je za uporabnika videti kot glavni pomnilnik. Dostop do pomožnega pomnilnika poteka z V/I ukazi, oziroma z V/I programi. Prenosi med glavnim in navideznim pomnilnikom so za uporabnika nevidni ( navidezni pomnilnik) Potrebna je dodatna logika v CPE in programska oprema RA - 9 62 2018, Škraba, Rozman, FRI

Navidezni pomnilnik Navidezni pomnilnik ima danes večina računalnikov, razlog ni več samo premajhen glavni pomnilnik kot včasih, temveč tudi: Veliko nižja cena pomnilnika na pomožnem pomnilniku. Enostavna rešitev pozicijske neodvisnosti programov. Zaščita pomnilnika. Prostor na pomožnem pomnilniku: Prostor za navidezni pomnilnik. Prostor za shranjevanje datotek (običajno precej večji). RA - 9 63 2018, Škraba, Rozman, FRI

Navidezni pomnilnik Čas dostopa in prenosa informacije ( = zgrešitvena kazen) iz pomožnega pomnilnika v glavni pomnilnik je zelo dolg. Rešitve za zmanjšanje vpliva zelo velike zgrešitvene kazni pri navideznem pomnilniku: Bloki morajo biti veliki (4KB, 8KB, do 64KB in več) Vsak blok se lahko preslika v poljuben blok glavnega pomnilnika Zamenjava blokov se ob zgrešitvah opravi programsko in ne strojno kot pri predpomnilniku RA - 9 64 2018, Škraba, Rozman, FRI

Navidezni pomnilnik Pomnilniški naslov iz CPE = navidezni naslov (ker se nanaša na navidezni pomnilnik). V povezavi z navideznim pomnilnikom imenujemo glavni pomnilnik fizični pomnilnik. Naslov, ki se nanaša na glavni pomnilnik = fizični naslov RA - 9 65 2018, Škraba, Rozman, FRI

Navidezni pomnilnik Pri vsakem pomnilniškem dostopu: Navidezni naslov preslikava fizični naslov Fizični naslov obstaja, če je v glavnem (fizičnem) pomnilniku zadetek. Pri večini računalnikov se fizični naslov (ne navidezni) uporabi za dostop do predpomnilnika. RA - 9 66 2018, Škraba, Rozman, FRI

Preslikovanje navideznih naslovov Naslovljena informacija je v fizičnem pomnilniku zadetek Verjetnost zadetka H Navidezni naslov Fizični naslov Mg, t ag, H Mn, t Bn CPE Preslikovalnik Fizični pomnilnik Navidezni pomnilnik (Glavni pomnilnik) (Pomožni pomnilnik) RA - 9 67 2018, Škraba, Rozman, FRI

Preslikovanje navideznih naslovov Naslovljena informacije ni v fizičnem pomnilniku zgrešitev Verjetnost zgrešitve 1-H Navidezni naslov Fizični naslov Mg, t ag, H Mn, t Bn CPE Preslikovalnik 4 Fizični pomnilnik 2 Navidezni pomnilnik 3 (Glavni pomnilnik) (Pomožni pomnilnik) Fizični naslov 1 Navidezni naslov RA - 9 68 2018, Škraba, Rozman, FRI

Preslikovanje navideznih naslovov Celotna hierarhija Naslovljena informacija je v fizičnem pomnilniku - zadetek Navidezni naslov Fizični naslov M1, t a1 M2, t B2 M3, t B3 M4, t B4 CPE Preslikovalnik Predpomnilnik L1 Predpomnilnik L2 Fizični pomnilnik (Glavni pomnilnik) Navidezni pomnilnik (Pomožni pomnilnik) RA - 9 69 2018, Škraba, Rozman, FRI

Preslikovanje navideznih naslovov Celotna hierarhija Naslovljene informacije ni v fizičnem pomnilniku - zgrešitev Navidezni naslov M1, t a1 M2, t B2 M3, t B3 M4, t B4 CPE Preslikovalnik Predpomnilnik L1 Predpomnilnik L2 Fizični pomnilnik (Glavni pomnilnik) Navidezni pomnilnik (Pomožni pomnilnik) Navidezni naslov Obvestilo o zgrešitvi v fizičnem pomnilniku RA - 9 70 2018, Škraba, Rozman, FRI

Preslikovanje navideznih naslovov Celotna hierarhija Naslovljene informacije ni v fizičnem pomnilniku - zgrešitev Navidezni naslov Fizični naslov M1, t a1 M2, t B2 M3, t B3 M4, t B4 CPE Preslikovalnik Predpomnilnik L1 Predpomnilnik L2 Fizični pomnilnik (Glavni pomnilnik) Navidezni pomnilnik (Pomožni pomnilnik) Fizični naslov RA - 9 71 2018, Škraba, Rozman, FRI

Preslikovanje navideznih naslovov Preslikovalna funkcija se vzpostavi programsko (operacijski sistem) Pri vklopu računalnika je zato preslikovanje navideznih naslovov v fizične potrebno izklopiti (ker še ne deluje). Preslikovanje je možno izklopiti tudi kadarkoli, v tem primeru velja: navidezni naslov = fizični naslov RA - 9 72 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem (paging) Pomožni pomnilnik razdeljen na strani (pages): strani bloki enakih velikosti. Glavni pomnilnik razdeljen na okvirje strani (page frames): okvirji strani enako veliki bloki kot v pomožnem pomnilniku. Število strani v navideznem pomnilniku je običajno veliko večje kot število okvirov v glavnem pomnilniku: iluzija o praktično neomejeno velikem pomnilniku. RA - 9 73 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Vsako stran iz navideznega je možno prenesti v poljuben okvir fizičnega pomnilnika. Za uporabnika je delitev pomnilniškega prostora na strani nevidna. Preslikava navideznega naslova (naslov strani) v fizični naslov (naslov okvirja) poteka preko tabele strani. -> RA - 9 74 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Primer preslikovanja navideznih naslovov v fizične pri ostranjevanju: Velikost strani (in okvirja) 4 KB ( 2 12 B) Navidezni naslov 36 bitov ( Navidezni pomnilnik največ 2 36 B = 64 GB) Fizični naslov 32 bitov ( Fizični pomnilnik največ 2 32 B = 4 GB) 36-bitni navidezni naslov 35........................ 12 11............0 Številka strani Preslikava Tabela strani 12-bitni naslov besede znotraj strani Številka okvirja 31................12 11............0 32-bitni fizični naslov RA - 9 75 2018, Škraba, Rozman, FRI

Deskriptor strani Navidezni pomnilnik z ostranjevanjem Zgradba tabele strani Velikost navideznega pomnilnika 2 n Bajtov (pri n=36 navidezni pomnilnik = 64 GB) Velikost strani 2 p Bajtov (pri p=12 velikost strani = 4 KB) Število strani v nav. pomnilniku = 2 n-p (2 36 12 = 2 24 = 16 M strani (M = 2 20 )) Število deskriptorjev v tabeli = število strani = 16 M Deskriptor strani 0 Deskriptor strani 1... V P RWX C Številka okvirja... V - veljavni bit (Valid) P - bit prisotnosti (Present) RWX - zaščitni ključ (Read,Write,eXecute) C - umazani bit (Change) Deskriptor strani 2 n-p -1 RA - 9 76 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Deskriptor strani (page descriptor) polje v tabeli strani, ki opisuje določeno stran. Število deskriptorjev v tabeli je enako številu strani v navideznem pomnilniku. Tabela strani je običajno v glavnem pomnilniku. RA - 9 77 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Preslikovanje navideznih naslovov v fizične pri ostranjevanju Register tabele strani n-bitni navidezni naslov a n-1............... a p a p-1...... a 0 Začetni naslov tabele strani Deskriptor strani 0 Deskriptor strani 1 Številka strani p-bitni naslov besede znotraj strani Številka okvirja Tabela strani Deskriptor strani 2 n-p-1 f-bitni fizični naslov a f-1...... a p a p-1...... a 0 RA - 9 78 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Preslikovanje navideznih naslovov v fizične pri ostranjevanju Register tabele strani n-bitni navidezni naslov a n-1............... a p a p-1...... a 0 Začetni naslov tabele strani + Številka strani p-bitni naslov besede znotraj strani Deskriptor strani 0 Deskriptor strani 1 V P Številka okvirja Tabela strani Deskriptor strani 2 n-p-1 f-bitni fizični naslov a f-1...... a p a p-1...... a 0 RA - 9 79 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Linearno preslikovanje navidezni naslovni prostor je linearen. Pri računanju z navideznimi naslovi ni nobenih omejitev, kot če ne bi imeli navideznega pomnilnika. Delitev pomnilniškega prostora na strani je za uporabnika nevidna običajnim programerjem sploh ni treba vedeti za obstoj strani. Ena sama tabela strani Enonivojska preslikava RA - 9 80 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Operacijski sistem za vsak program, ki se izvaja, vzpostavi svojo tabelo strani. Ob preklopu na drug program se zamenja vsebina registra, ki kaže na začetek tabele strani. Stanje programa je določeno s tabelo strani, programskim števcem in registri ( = proces). S tabelo strani je določen naslovni prostor, ki ga določen proces lahko uporablja. RA - 9 81 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Tabele strani očitno v pomnilniku zasedejo veliko prostora Tabelo strani razdelimo na več nivojev več-nivojska preslikava Prednost: zmanjša se prostor, ki ga zasedajo tabele strani v glavnem pomnilniku. Največkrat se uporablja dve ali trinivojska preslikava preko dveh ali treh nivojev tabel strani. RA - 9 82 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Operacijski sistem dodeljuje glavni (fizični) pomnilnik procesom in skrbi za ažuriranje tabel strani. Navidezni pomnilnik omogoča uporabo glavnega pomnilnika večim procesom tako, da je: pomnilniški prostor enega procesa zaščiten pred drugimi procesi. RA - 9 83 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Napake strani Napaka strani (page fault): če navidezne strani ni v nobenem od okvirjev v glavnem pomnilniku (P-bit deskriptorja strani = 0), se sproži past za napako strani. Past za napako strani izvajati se začne servisni program, ki: poišče stran v navideznem pomnilniku (na disku), določi v kateri okvir v glavnem pomnilniku se bo stran preslikala in jo prenese, ažurira deskriptor te strani v tabeli strani. RA - 9 84 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Ko operacijski sistem kreira proces, na disku običajno ustvari prostor za vse strani procesa (swap space). Istočasno ustvari tudi podatkovno strukturo, ki za vsako stran vsebuje informacijo, kje je shranjena na disku. RA - 9 85 2018, Škraba, Rozman, FRI

Navidezni pomnilnik z ostranjevanjem Primerjava realizacije navideznega pomnilnika Intel Core i7 (Nehalem) ARM Cortex-A8 (32-bitni) ARM Cortex-A53 (64-bitni) Navidezni naslov 48 bitov 32 bitov 48 bitov Fizični naslov 44 bitov 32 bitov 44 bitov Velikost strani 4 KB, 2 MB, 4 MB 4, 16, 64 KB; 1, 16 MB 4, 16, 64 KB; 1, 2 MB; 1 GB RA - 9 86 2018, Škraba, Rozman, FRI

Strategije in algoritmi Delovanje navideznega pomnilnika vodi operacijski sistem, s ciljem doseči največjo izkoriščenost računalnika. Kot velika izkoriščenost se večinoma smatra, da se dana množica programov izvrši v najkrajšem možnem času. RA - 9 87 2018, Škraba, Rozman, FRI

Navidezni pomnilnik strategije in algoritmi Na izkoriščenost računalnika vpliva izbira pravil, ki določajo: Koliko okvirov strani naj ima v glavnem pomnilniku nek program. Kdaj, katere in koliko strani naj se prenese iz pomožnega v glavni pomnilnik. Katere strani naj se prenesejo iz glavnega pomnilnika nazaj v pomožni pomnilnik. RA - 9 88 2018, Škraba, Rozman, FRI

Navidezni pomnilnik strategije in algoritmi Ta pravila se imenujejo dodeljevalna, polnilna in zamenjevalna strategija. Pri navideznem pomnilniku so strategije realizirane programsko, pri predpomnilniku pa strojno. Vse tri strategije izvajajo algoritmi s skupnim imenom upravljanje s pomnilnikom (memory management). RA - 9 89 2018, Škraba, Rozman, FRI

Pohitritev preslikovanja Pri preslikavi navideznega naslova v fizični naslov je potreben dostop do tabele strani tabele so shranjene v glavnem pomnilniku ali celo v navideznem pomnilniku Pri vsakem dostopu do pomnilnika sta zato potrebna dva dostopa do glavnega pomnilnika (če je preslikava enonivojska): 1. dostop do deskriptorja v tabeli strani v glavnem pomnilniku 2. dostop do želene besede na fizičnem naslovu v glavnem pomnilniku RA - 9 90 2017, Igor Škraba, FRI

Navidezni pomnilnik preslikovalni predpomnilnik Pri več-nivojski preslikavi se poveča na 3 do 4 dostope do glavnega pomnilnika. Prepočasno! Rešitev: Predpomnilnik v CPE, ki vsebuje nekaj nazadnje uporabljenih deskriptorjev (nikoli operandov ali ukazov). RA - 9 91 2017, Igor Škraba, FRI

Navidezni pomnilnik preslikovalni predpomnilnik Preslikovalni predpomnilnik (translation cache) TLB (Translation Lookaside Buffer) Dolžina bloka v preslikovalnem predpomnilniku je enaka dolžini deskriptorja, v kontrolnem delu pa je številka strani, ki ji deskriptor pripada. Visoko verjetnost zadetka (99% do 99,9%) se lahko doseže že z nekaj deskriptorji, zato je preslikovalni predpomnilnik lahko majhen in je večkrat čisti asociativni. RA - 9 92 2017, Igor Škraba, FRI

Navidezni pomnilnik preslikovalni predpomnilnik Pri zadetku v preslikovalnem predpomnilniku dostop do tabele v glavnem pomnilniku ni potreben. Pri Harvardski arhitekturi (ukazni in operandni predpomnilnik), sta potrebna tudi dva preslikovalna predpomnilnika (ukazni in operandni ITLB in DTLB). RA - 9 93 2017, Igor Škraba, FRI

Navidezni pomnilnik primerjava realizacije Intel Core AMD Opteron Intel Core i7 Nehalem AMD Opteron Barcelona Navidezni naslov 48 bitov 48 bitov Fizični naslov 44 bitov 48 bitov Velikost strani 4KB, 2MB, 4MB 4KB, 2MB, 4MB Preslikovalni predpomnilniki (TLB) za L1 Preslikovalni predpomnilniki (TLB) za L2 Po en TLB za ukazni in operandni L1 pp Ukazni TLB 128 deskr. Oper. TLB 64 deskr. E=4, LRU zam.strategija Velikost 512 deskr. E=4 LRU zam. strategija Po en TLB za ukazni in operandni L1 pp Oba TLB velikosti 48 deskr. Čista asociativna LRU zamen.strategija Velikost 512 deskr. E=4 RA - 9 94 2017, Igor Škraba, FRI

Pomnilniška hierarhija 9.5 Delovanje pomnilniške hierarhije Pomnilniška hierarhija je iz CPE videti kot en sam pomnilnik: S hitrostjo, ki je blizu hitrosti predpomnilnika (pomnilnika, ki je najbližji CPE). Z velikostjo navideznega pomnilnika na pomožnem pomnilniku (zadnjega v hierarhiji). RA - 9 95 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija Pomnilniška hierarhija se od enonivojskega pomnilnika razlikuje v naslednjih lastnostih: Čas dostopa ni enak za vse pomnilniške naslove, odvisen je od pomnilniškega nivoja na katerem je trenutno iskana pomnilniška beseda. Za določen pomnilniški dostop ne moremo predvideti njegovega trajanja, znana je samo statistično določena povprečna vrednost časa dostopa. RA - 9 96 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija CPE pošlje v pomnilniško hierarhijo vedno naslov, ki se nanaša na pomnilnik M n (zadnji v hierarhiji), vendar to ne pomeni, da bo dostop v resnici opravljen v M n. Če je informacija, do katere želi CPE dostop, v M 1 ( zadetek), se opravi dostop do M 1 Če informacije ni v M 1 ( zgrešitev), se v M 1 prenese iz M 2 Če želene informacije ni tudi v M 2, se v M 2 prenese iz M 3... Pri vsakem dostopu je zahtevana informacija vedno v pomnilniku M n na zadnjem nivoju RA - 9 97 2018, Škraba, Rozman, FRI

Primerjava lastnosti predpomnilnika in navideznega pomnilnika z ostranjevanjem Predpomnilnik Navidezni pomnilnik Dostop Predpomnilniška vrstica (blok) Stran (okvir strani) Blok 16B do 128B 4KB do 16KB (lahko tudi nekaj MB) Verjetnost zgrešitve (1-H) 0,1% do 10% za L1 < 0,0001% (za glavni pomn.) Zadetek nekaj urinih period ~ 10 do 100 urinih period Zgrešitvena kazen ~ 10 do 100 urinih ciklov ~ 10M urinih ciklov Zamenjava bloka Strojno (hardware) Programsko (software) RA - 9 98 2018, Škraba, Rozman, FRI

Štirinivojska pomnilniška hierarhija CPE čip CPE Predpomnilnik L1 Predpomnilnik L2 Glavni pomnilnik Navidezni pomnilnik M1 c 1, t a1, s 1 M2 c 2, t B2, s 2 Predpomnilnika L1 in L2 (SRAM) sta običajno na istem čipu kot CPE M3 c 3, t B3, s 3 Dinamični RAM SDRAM c i cena/bit nivoja i t a1 čas dostopa do predpomnilnika L1 t Bi čas za dostop in prenos bloka iz nivoja i na nivo i-1 s i velikost pomnilnika nivoja i Velja: c i > c i+1 t ai < t ai+1 s i < s i+1 M4 c 4, t B4, s 4 Pomožni pomnilnik - magnetni disk ali SSD RA - 9 99 2018, Škraba, Rozman, FRI

Štirinivojska pomnilniška hierarhija Glavni pomnilnik kot je definiran v von Neumannovem računalniku CPE Predpomnilnik L1 Predpomnilnik L2 Glavni pomnilnik Navidezni pomnilnik t a Velikost M 4 M1 c 1, t a1, s 1 M2 c 2, t B2, s 2 Predpomnilnika L1 in L2 (SRAM) sta običajno na istem čipu kot CPE M3 c 3, t B3, s 3 Dinamični RAM SDRAM CPE vidi hierarhijo kot en sam pomnilnik s povprečnim časom dostopa t a in velikostjo M 4 c i - cena/bit nivoja i t a1 - čas dostopa do predp. L1 t Bi čas za dostop in prenos bloka iz nivoja i na nivo i-1 s i - velikost pomnilnika nivoja i Velja: c i > c i+1 t ai < t ai+1 s i < s i+1 M4 c 4, t B4, s 4 Pomožni pomnilnik - magnetni disk ali SSD RA - 9 100 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija Velja: Če je informacija na nivoju i, je zagotovo tudi na (i+1). H i (globalna) verjetnost, da je pri poljubnem dostopu do pomnilniške hierarhije informacija na nivoju i. (1 H i ) (globalna) verjetnost, da pri poljubnem dostopu želene informacije ni na nivoju i. Povprečni čas dostopa t a do n-nivojske pomnilniške hierarhije, kot ga vidi CPE, je: t t ) t a a1 ( 1 H1) t B 2... (1 H i 1) t Bi... (1 H n 1 Bn RA - 9 101 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija Za štirinivojsko pomnilniško hierarhijo velja: CPE L1 L2 Glavni pomnilnik Navidezni pomnilnik H 1, t a1 t a H 2, t B2 H 3, t B3 H 4 =1, t B4 t a t a1 ( 1 H1) t B 2 (1 H 2) t B 3 (1 H 3) t B 4 RA - 9 102 2018, Škraba, Rozman, FRI

Primer: Vpliv verjetnosti zgrešitve v glavnem pomnilniku na povprečni dostopni čas pri trinivojski pomnilniški hierarhiji CPE Predpomnilnik L1 Glavni pomnilnik Navidezni pomnilnik t a t ap = 2 ns 1-H p = 0,05 t Bg = 40 ns 1. 1-H g = 0,5*10-5 2. 1-H g = 0,1*10-5 t Bn = 10 ms t ap čas dostopa do predpomnilnika L1 H p verjetnost zadetka v predpomnilniku L1 (1-H p verjetnost zgrešitve v L1) t Bg čas za dostop do glavnega pomnilnika in prenos bloka iz glavnega pomnilnika v L1 H g verjetnost zadetka v glavnem pomnilniku (1-H g verjetnost zgrešitve v glavnem pomnilniku) t Bn čas za dostop do navideznega pomnilnika in prenos bloka iz navideznega pomnilnika v glavni pomnilnik t a povprečni dostopni čas do celotne hierarhije, kot ga vidi CPE RA - 9 103 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija primer trinivojske pomnilniške hierarhije 1. Naj bo verjetnost zadetka v glavnem pomnilniku H g = 0,999995 = 99,9995% torej je verjetnost zgrešitve v glavnem pomnilniku 1-H g = 1-0,999995 = 0,000005 = 0,0005% ali 1-H g = 0,5*10 5 t t ap = 2 ns; 1-H p = 0,05; t Bg = 40 ns; t Bn = 10 ms a t ap 2 10 2 10 2 10 (1 H ) t 9 9 9 p Bg (1 H ) t g 9 5 3 s 0,05 40 10 s 0,5 10 10 10 s 9 8 s 2 10 s 5 10 s 9 9 9 s 2 10 s 50 10 s 54 10 ns 54 ns Bn RA - 9 104 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija primer trinivojske pomnilniške hierarhije 1. Naj bo verjetnost zadetka v glavnem pomnilniku H g = 0,999995 = 99,9995% torej je verjetnost zgrešitve v glavnem pomnilniku 1-H g = 1-0,999995 = 0,000005 = 0,0005% ali 1-H g = 0,5*10 5 t t ap = 2 ns; 1-H p = 0,05; t Bg = 40 ns; t Bn = 10 ms a t ap 2 10 2 10 2 10 (1 H ) t 9 9 9 p Bg (1 H ) t g 9 5 3 s 0,05 40 10 s 0,5 10 10 10 s 9 8 s 2 10 s 5 10 s 9 9 9 s 2 10 s 50 10 s 54 10 ns 54 ns Bn Povprečni dostopni čas do celotne hierarhije je v tem primeru 54 ns, kar je slabše kot dostopni čas do glavnega pomnilnika (40 ns). Taka pomnilniška hierarhija rešuje problem velikosti pomnilnika, poslabša pa dostopni čas in je zato popolnoma neuporabna. Rešitev je povečanje verjetnosti zadetka v glavnem pomnilniku. RA - 9 105 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija primer trinivojske pomnilniške hierarhije 2. Če se verjetnost zadetka v glavnem pomnilniku poveča iz 99,9995% na 99,9999% H g = 0,999999 = 99,9999% torej bo verjetnost zgrešitve v glavnem pomnilniku 1-H g = 0,000001 = 0,0001% ali 1-H g = 0,1*10 5 (v prejšnjem primeru 1-H g = 0,5*10 5 ) ostali podatki pa ostanejo nespremenjeni: t ap = 2 ns; 1-H p = 0,05; t Bg = 40 ns; t Bn = 10 ms t a t ap 2 10 2 10 2 10 (1 H ) t 9 9 9 p Bg (1 H ) t g 9 5 3 s 0,05 40 10 s 0,1 10 10 10 s 9 8 s 2 10 s 1 10 s 9 9 9 s 2 10 s 10 10 s 14 10 ns 14 ns Bn RA - 9 106 2018, Škraba, Rozman, FRI

Pomnilniška hierarhija primer trinivojske pomnilniške hierarhije 2. Če se verjetnost zadetka v glavnem pomnilniku poveča iz 99,9995% na 99,9999% H g = 0,999999 = 99,9999% torej bo verjetnost zgrešitve v glavnem pomnilniku 1-H g = 0,000001 = 0,0001% ali 1-H g = 0,1*10 5 (v prejšnjem primeru 1-H g = 0,5*10 5 ) ostali podatki pa ostanejo nespremenjeni: t ap = 2 ns; 1-H p = 0,05; t Bg = 40 ns; t Bn = 10 ms t a t ap 2 10 2 10 2 10 (1 H ) t 9 9 9 p Bg (1 H ) t g 9 5 3 s 0,05 40 10 s 0,1 10 10 10 s 9 8 s 2 10 s 1 10 s 9 9 9 s 2 10 s 10 10 s 14 10 ns 14 ns Bn Če se verjetnost zgrešitve v glavnem pomnilniku zmanjša iz 0,5*10 5 na 0,1*10 5 (verjetnost zadetka se poveča), se povprečni dostopni čas zmanjša iz 54 ns na 14 ns. RA - 9 107 2018, Škraba, Rozman, FRI