Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1 Memória hierarchia Tárolókezelő egység Virtuális tárkezelés (logikai-fizikai címek) Szegmentálás Lapozás.

Hasonló előadás


Az előadások a következő témára: "1 Memória hierarchia Tárolókezelő egység Virtuális tárkezelés (logikai-fizikai címek) Szegmentálás Lapozás."— Előadás másolata:

1 1 Memória hierarchia Tárolókezelő egység Virtuális tárkezelés (logikai-fizikai címek) Szegmentálás Lapozás

2 2 Memória Feladata : adatok (több / kevesebb) tárolása (hosszabb / rövidebb ideig)

3 3 CPU - Memória ProcesszorMemória címsín adatsín

4 4 Tárolókezelő egység MMU - Memory Management Unit

5 5 Tárolókezelés feladatai a CPU által megcímzett címen lévő érték elérése tárhierarchia hatékony működtetése : virtuális- logikai címek kezelése, lapozás, szegmentálás memória „szétosztása” (több program, több felhasználó között...) „védelem” –rendszer programok a felhasználótól –felhasználók adatai –felhasználók programjai (de közös eljárások)

6 6 IBM 650 (1950-ben a legjobb tudományos számítógép) 2000 szavas memória ALGOL fordítóprogram 1024 szavas gépre PDP-1 időosztásos rendszer (!) 4096 db 18 bites szó 1961 virtuális memória…

7 7 Overlay technika (átlapolásos technika) Probléma : nagy program, kis memória Program feldarabolása, csak a szükséges darab(ok) a memóriában data p p1 p2 p3 data p p1 data p p2 data p p3 idő program memória

8 8 Virtuális tárkezelés

9 9 Cím, címtartomány, címszélesség Címtartomány Címszélesség 10010110 000000 000001 000010 000011 111111 011010 memória címek memória értékek... címérték címtartomány = 2 címszélesség

10 10 Logikai - fizikai címek Logikai cím(tartomány)Fizikai cím(tartomány) központi memória mérete... a CPU által címezhető, programban használható logikai - fizikai címek megfeleltetése ?!

11 11 MMU logikai cím fizikai cím központi memória program MMU i j logikai címtartomány fizikai címtartomány

12 12 Szegmentálás (segmentation)

13 13 Szegmensek képzése szegmens = nem rögzített méretű adatblokk data1 p0 p1 stack program data2 szegmensek cím meghatározása = szegmens meghatározása + szegmensen belüli „eltolás” meghatározása

14 14 Szegmentált memória kezelés szegmensszámeltolás logikai cím: sd szegmenstábla báziscímhossz összehasonlító engedélyező fizikai cím: eltolásbáziscím +

15 15 Szegmentált memória kezelés (példa 1.) S1 1000 200 szegmenstábla báziscímhossz szegmens szám S1 1000 200 Logikai: S1/183 -> 1183 S1 1000 200 S2 3000 500 S2 3000 500 Logikai: S2/276 -> 3276

16 16 Szegmentált memória kezelés (példa 2.) szegmenstábla báziscímhossz szegmens szám 011 0000010000 11111 Logikai: 000 00111 -> 1000000111 1000000000 01000 … 0000010000 11111 … 000 01000 Logikai: 011 11010 -> 0000101010 000 011 111 0000000000 1000000000 1111111111 1000001000

17 17 Szegmens elhelyezési stratégiák p0 p1 p2 ? Szegmens betöltési (elhelyezési) módszerek (stratégiák) : első szabad hely (first fit) következő szabad hely (next fit) legjobb hely (best fit) legrosszabb hely (worst fit)

18 18 „Szemétgyűjtés” (garbage collection, „memória kompaktálás”) p0 p1 p2 p4 ? p0 p1 p2 szemétgyűjtés nagyon időigényes ! szegmensek

19 19 Lapozás (paging)

20 20 Lapok képzése lapok = azonos, rögzített méretű adatblokkok logikai címtartomány és a fizikai címtartomány felosztása lapokra logikai címtartomány fizikai címtartomány

21 21 Lapok megfeleltetése MMU „logikai lapok” „fizikai lapok” ? Lapkeret (page frame)

22 22 Címkiszámítás (lapszám, eltolás) lapszám 0. 1. n. lapon belüli „eltolás” k. d. lapszám (k)eltolás (d) cím: m. 0. i bitj bit n = 2 i m = 2 j

23 23 Logikai-fizikai címképzés qd p logikai cím fizikai cím d „MMU” „lap leképző eljárás”

24 24 Logikai-fizikai címképzés qd p logikai cím fizikai cím d p „laptábla”

25 25 Logikai-fizikai címképzés qd p logikai cím fizikai cím d p „jelenléti bit” : lap a memóriában van vagy háttértárolón 1 0 1 0 0 „laptábla”

26 26 Lapcímzés (példa) 0000 00000000000 … 0000 11111111111 0001 00000000000 … 0001 11111111111 … 1011 … … 1111 00000000000 … 1111 11111111111 lapszám (4 biten) eltolás (11 biten) logikai cím (15 biten) 00 00000000000 … 00 11111111111 01 00000000000 … 01 11111111111 10… … 10 … 11 00000000000 … 11 11111111111 lapszám (2 biten) eltolás (11 biten) fizikai cím (13 biten) 00001 01 00011 11 00100 00 00110 00 … 11111 00 logikai lapszám jelenléti bit fizikai lapszám

27 27 Lapcímzés (példa1) Adatok : logikai címtartomány címszélessége: 15 bit központi memória : 8 Kbyte lapméret : 2 11 byte Kérdés : mekkora a laptábla mérete ?

28 28 Lapcímzés (példa1 megoldás) lapméret : 2 11 byte = 2 Kbyte logikai címtartomány : 15 bit = 32 Kbyte = 16 lap központi memória : 8 Kbyte = 4 lap laptábla : –16 sor (a logikai lapokhoz) –soronként 3 bit 1 jelenléti bit, 2 bit (a fizikai lapszám) laptábla mérete : 16x3bit = 48bit = 6byte

29 29 Lapozási mechanizmus Ha a lap nincs a memóriában : laphiba (page fault) -> megszakítás -> háttértárolóból a lap betöltése Ha nincs hely a memóriában : helyettesítési eljárás... („egy lap” eltávolítása a memóriából...) ?

30 30 Helyettesítési eljárások Melyik lapot kell cserélni (eltávolítani) ? optimal : „amire legkevésbé lesz szükség”... legrégebben bentlévő (FIFO) legrégebben használt (LRU - Least Recently Used) legritkábban használt... Megvalósítás bonyolultsága, tárigénye ?

31 31 -22222255111--3336666666----44444444-22222255111--3336666666----44444444 Optimális laphelyettesítés (példa) Lapkérelmek : 2,3,2,4,6,2,5,6,1,4,6 Optimális helyettesítés 2324625614623246256146 ok „találati arány” (hit ratio) = 5/11

32 32 FIFO laphelyettesítés (példa) Lapkérelmek : 2,3,2,4,6,2,5,6,1,4,6 FIFO helyettesítés -22226666111--3333222244----44455556-22226666111--3333222244----44455556 2324625614623246256146 ok „találati arány” (hit ratio) = 2/11

33 33 LRU laphelyettesítés (példa) Lapkérelmek : 2,3,2,4,6,2,5,6,1,4,6 LRU helyettesítés -22222222111--3336666666----44455544-22222222111--3336666666----44455544 2324625614623246256146 ok „találati arány” (hit ratio) = 4/11

34 34 Lapcímzés (példa2) Adatok : logikai címtartomány címszélssége : 32 bit központi memória : 8 Mbyte lapméret : 4 Kbyte Kérdés : mekkora a laptábla mérete ?

35 35 Lapcímzés (példa2 megoldás) lapméret : 4 Kbyte = 12 bit logikai címtartomány : 32 bit = 4 Gbyte központi memória : 8 Mbyte = 23 bit laptábla : –32-12=20 azaz 2 20 sor (a logikai lapokhoz) –soronként 12 bit (1,5 byte) 1 jelenléti bit, 11 (a fizikai lapszám) laptábla mérete 2 20 x 1,5 byte = 1,5 Mbyte !!! ?

36 36

37 37

38 38

39 39 Egyéb lehetőségek... Szegmentált lapcímzés kezelés... (szegmentálás + lapozás) Translation Lookaside Buffer... (a legutóbbi logikai-fizikai (lap)címmegfelelés tárolása cache-ban)

40 40 Egyéb tulajdonságok... „overhead” „working set” „demand paging”... „trashing” - multiprogramozás Belady anomália

41 41 Lapozásos és szegmentált memória összehasonlítása SzempontokLapozásSzegmentálás Virtuális címtartomány nagyobbIgenIgen lehet mint a fizikai memória? Programozónak tudnia kell róla?NemIgen Hány lineáris címtartomány?1Sok Könnyen kezelhetők változó Nem Igen méretű táblák?


Letölteni ppt "1 Memória hierarchia Tárolókezelő egység Virtuális tárkezelés (logikai-fizikai címek) Szegmentálás Lapozás."

Hasonló előadás


Google Hirdetések