digitális technika

28
Digitális technika VIII.) Tárolókezelés

Upload: joshwa

Post on 05-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

Digitális technika. VIII.) Tárolókezelés. Általános számítógép felépítése. CPU Regiszter tár Cache. Cache Háttértár. Archiváló tár. Operatív tár. Merevlemez, Floppy T elérési = 10 – 100ms Kapacitás = 0.1GB – 1TB. Mágnesszalag, lyukszalag t elérési = 1s – 10min - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Digitális technika

Digitális technika

VIII.) Tárolókezelés

Page 2: Digitális technika

Általános számítógép felépítése

CPURegiszter tár

Cache

Cache

HáttértárOperatív tár

Merevlemez, FloppyTelérési = 10 – 100msKapacitás = 0.1GB – 1TB

Jedec memória modulok

Telérési = 1 – 70ns

Kapacitás = 16MB – 2GB

Archiváló tár

Mágnesszalag, lyukszalag

telérési= 1s – 10min

Kapacitás=100GB – 10TB

Page 3: Digitális technika

Regisztertárak

Page 4: Digitális technika

• Regiszter: ideiglenes tárolásra alkalmastárolóegység

• Alkothatják:– Statikus memória elemek (flip - flop-ok)– RAM elemek

• 1 regiszter 1 gépi szó tárolására alkalmas• 1 mai processzor 10 – 10.000 általános célú

regisztert tartalmaz• A regiszterek általában nagyobb egységet

alkotnak, melyeket regisztertáraknak nevezünk• Általában a regisztertár csak egy részét képes

egy-egy folyamat elérni. Ezek a regiszterek tulajdonképpen a folyamat szempontjából egy ablaknak tekinthetők.

Page 5: Digitális technika

A) Regiszterbank(register banking)

• A regisztertömb egyforma méretű részekre (bank-okra) van felosztva, melyek nem lapolhatják át egymást. A bank mérete mindig 2 valamelyik hatványa. Az aktuális bank kezdőcímét a bank-mutató (Current Bank Pointer, CBP) tartalmazza.

Page 6: Digitális technika

B) Ablaktechnika(register windowing)

• A regisztertömböt egyforma részekre (window-kra) osztjuk, amelyek közül mindig csak egy érhető el. Az ablakok átlapolhatják egymást.

• Az átlapoltság miatt megkönnyebbül az adatok "átvitele„ egyik folyamattól a másoknak.

• Az ablak kezdetét az ablakmutató (Current Window Pointer, CWP) jelöli ki.• Tegyük fel, hogy a regisztertár processzor számára látható tartományát

négy ablakra osztjuk, s minden ablakban 8 regiszter található. Az első ablakban található 8 regiszter a globális változók tömbje, vagyis minden progam használhatja. Van olyan konstrukció, melyben a 0. regiszterben fixen huzalozott (áramkörileg meghatározott) módon a nulla számkonstans található. A 2. 8 regisztert a kimenő változók tömbje, a 3. a lokális -helyi- változók tömbje, míg a 4. a bejövő, vagyis input változók tömbje. a 2. ill. 4. tömb utolsó regisztere(r15,r31) a szubrutin (egy futó programból hívott alprogram) visszatérési értékeit (a kiinduló program szubrutinhívást követő utasításának címe, és adatai) tárolja. Az ablakok fontos jellemzője, hogy a bennük tárolt értékek adatátvitel nélkül az ablak kezdetére mutató pointer megváltoztatásával történik.

Page 7: Digitális technika

C) Blokktechnika(register blocking)

• A regisztertömböt tetszőleges méretű átlapolható részekre osztjuk fel.

• Az aktuális blokk kezdetét a blokk-mutató (Current Block Pointer, CBP) jelöli ki.

• Előnye az ablaktechnikával szemben, a rugalmasság (az ablakok nagysága meghatározott, s néha túl nagy vagy túl kicsi).

• Hátránya, hogy további problémákat vetett. A blokkok méretét ugyanis ellenőrizni kell, ügyelve a túlcsordulásra (overflow – mikor egy adott adatmennyiség a rendelkezésre álló tárolóhelyen nem fér el; túlcsordul) és az alulcsordulásra. Ez olyan figyelőrendszer létét igényli, melynek kialakítása több plusz igénnyel rendelkezik, mint az ablaktechnikákból adódó kellemetlenségek.

Page 8: Digitális technika

Regisztertár szervezések összehasonlítása

CBP

Regiszterbank

0D

4kD

8kD

12kD

16kD

CBP

Blokktechnika

0D

4kD

8kD

12kD

16kD

CWP

Ablaktechnika

0D

4kD

8kD

12kD

16kD

Page 9: Digitális technika

Cache (gyorsítótár)

Page 10: Digitális technika

• Az átmeneti információtároló elemeket jelenti, melyek célja az információ-hozzáférés gyorsítása. A gyorsítás egyszerűen azon alapul, hogy a gyorsítótár gyorsabb tárolóelem, mint a hozzá kapcsolt, gyorsítandó működésű elemek, így ha ezen területek tartalma korábban már bekerült a gyorsítótárba (mert már valaki/valami hivatkozott rá korábban), az ilyen adatokat nem a lassú működésű területről, hanem a gyors cache tárolóból lehet előhívni.

• Alkalmazás:– CPU – Központi memória (operatív memória)– Háttértárolók– Egyéb (software, stb.)

Page 11: Digitális technika

• Cache-ben tárolt információk– Adat / utasítás– Annak teljes vagy részleges fizikai vagy virtuális címe

(Fontos, hogy ha a cím csak egy része van letárolva, akkor a teljes cím visszakereshető legyen az adat és a részletcím információ segítségével). A címinformáció cache-ben tárolt része a tag.

• Példa: a cache-ben tároljunk 256 db blokkot. Minden egyes blokk tároljon 16 byte információt. Így a cache-ben 256 x 16B adat + cím (tag) + egyéb (jelző bitek) információt tárolunk.

Page 12: Digitális technika

Cache leképezések típusai:1.) Teljesen asszociatív

• FUC (= Fully Associative Cache)• A gyorsítandó memóriaegység beolvasott blokkjának

tartalma átkerülhet a gyorsítótár bármelyik blokkjának területére. A beolvasott blokk bárhova elhelyezhető, bármelyik sorba. Az elhelyezés sorát helyettesítési algoritmus határozza meg. Amikor a processzor egy adatot keres a cache-ben, akkor a memóriabeli cím felső 28 bitjét összehasonlítja a cache-beli blokkszámokkal az összes sorban egyidejűleg. Ha sikeres a keresés, akkor kijelöli az adott sorbeli byte-ot, ha sikertelen, akkor a memóriában keresi.

• előnye: rugalmas betöltés, de a visszakereséshez annyi áramkör szükséges, ahány találati sor van, egyúttal jó találati arány jellemzi;

• hátránya: szükséges helyettesítési eljárás;

Page 13: Digitális technika

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0

Cache CÍM felépítése:

32 bit = 28 bit blokk sorszám + 2 bit dszó + 2 bit byte kiválasztó bitek

0. dszó 1. dszó 2. dszó 3. dszó

0. byte

1. byte

2. byte

3. byte

0. byte

1. byte

2. byte

3. byte

0. byte

1. byte

2. byte

3. byte

0. byte

1. byte

2. byte

3. byte

0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3

Megcímzett byte

Adat rész

Cache felépítése:

Blokk sorszáma

V D

16123

Tag rész

152

255

0

Page 14: Digitális technika

2.) Közvetlen leképezésű

• DMC (= Direct Mapping Cache)• A gyorsítandó memóriaegység beolvasott blokkja a

cache meghatározott blokkjára kerülhet csak. A blokk helyét a cache-ben a blokksorszám alsó 8 bitje határozza meg. Ebben a megoldásban a blokk csak abba a sorba kerülhet, amelyet a sorindexe meghatároz. A cache-ben a 16 adatbyte mellett a lapsorszám 20 bites mint "tag", valamint a jelzőbitek kerülnek tárolásra. Kereséskor a memóriacímből előálított sorindex alapján keresi a sort, majd a felső 20 bitet összehasonlítja a cache-beli lapsorszámmal.

• előnye: rövidebb tag, gyors keresés és olcsóság jellemzi;• hátránya: merevség és alacsony találati arány;

Page 15: Digitális technika

0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0

Cache CÍM felépítése:

32 bit = 20 bit lapsorszám + 8 bit sorindex + 2 bit dszó + 2 bit byte kiválasztó bitek

0. dszó 1. dszó 2. dszó 3. dszó

0. byte

1. byte

2. byte

3. byte

0. byte

1. byte

2. byte

3. byte

0. byte

1. byte

2. byte

3. byte

0. byte

1. byte

2. byte

3. byte

0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3

Megcímzett byte

Adat rész

Cache felépítése:

Lap sorszáma

V D

320

Tag rész

31

255

0

Page 16: Digitális technika

3.) Csoport asszociatív • SAC (= Set Associative Cache)• A gyorsítandó memóriaegység egy-egy blokkja a gyorsítótár egy

blokkcsoportjára képeződhet. E típus átmenet az előző két típus között, mivel adott blokk csak egy adott blokkcsoportra képeződhet, de ezen belül a blokkcsoport bármely blokkjára, vagyis olyan ez, mintha teljesen asszociatív cache-memóriák halmazával lenne dolgunk, melyek egymáshoz képest azonban közvetlen leképzéssel működnek. A cache nagyobb, n csoportokra van osztva, amelyek önmagukban teljesen asszociatívak, azaz a csoporton belül bárhova kerülhet az adatblokk. 22 bit lapsorszám, 23-28 bit csoportsorszám (alsó 6 bit) 16 adatbyte, 2 jelzőbit. Kereséskor a memóriabeli címből képzett csoportindex alapján kijelöli a csoportot, majd a felső 22 bit alapján a cache-beli lapsorszámot.

• Áramköre: 4 párhuzamos összehasonlítású, egyben rugalmas, közvetlen leképezésű. Kis számú összehasonlítás és az áramkör viszonylag gyorsasága jellemzi.

Page 17: Digitális technika

0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0

Cache CÍM felépítése:

32 bit = 22 bit lapsorszám + 6 bit csoportindex + 2 bit dszó + 2 bit byte kiválasztó bitek

0. dszó 1. dszó 2. dszó 3. dszó

0. byte

1. byte

2. byte

3. byte

0. byte

1. byte

2. byte

3. byte

0. byte

1. byte

2. byte

3. byte

0. byte

1. byte

2. byte

3. byte

0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3

Megcímzett byte

Adat rész

Cache felépítése:

Lap sorszáma

V D

1280

Tag rész

52

255

0

53

51

13.

csop

ort

Page 18: Digitális technika

4.) Szektor leképezésű

• SMC (= Sector Mapping Cache)• Ritkábban használt megoldás, melynél a beolvasott

memóriablokk szintén egy-egy blokkcsoportra képeződik, de az előző esethez képest épp fordítva, a beolvasott blokk tetszőleges blokkcsoportra képeződhet, azon belül azonban csak meghatározott blokkra. Azaz az ilyen gyorsítótár úgy működik, mintha közvetlen leképezésű cache-memóriák halmazával lenne dolgunk, melyek egymáshoz képest azonban asszociatív módon működnek. A processzor a csoport helyét jelöli ki asszociatív módon, és azon belül a blokk helye a lapon belüli elhelyezkedésének megfelelően kötött.

Page 19: Digitális technika

Cache tárak tartalmának karbantartása I.

1) Tartalom betöltése:– Aktuális igény felmerülésekor (demand fetching) ez MMU kikeresi a főtárból az adatot

tartalmazó blokkot és beírja cache-be. A processzor is automatikusan megkapja. Legegyszerűbb és leggyakoribb megoldás.

– Előkészítéses (prefetching) megoldás során egy blokk cache-be írása során a következő is beírásra kerül. Kis blokkméretnél célszerű alkalmazni. Célszerű előrevetítési stratégia alkalmazása.

– Szelektív előkészítés (selective fetching) során az írható adatokat a memóriában tartjuk, a cache-ben pedig csak az olvashatókat tároljuk. Rugalmatlan megoldás, nem használják.

2) Aktualizálás: a cache módosítása során a lehető legrövidebb időn belül a memóriát is át kell írni.

– Azonnali átírásos (write through): a változtatott byte azonnal átírásra került, függetlenül attól, hogy az adott blokk a cache-ben van-e.

– Pufferelt azonnali átírásos (buffered write through): a változatott byte egy írási pufferbe kerül, ahonnan a memóriavezérlő kiírja a főmemóriába.

– Visszaírási (write back): a cache-t azonnal, a főmemóriát pedig csak a blokk cseréjekor aktualizálja.

– Egyszeri beírásos (write once): a főtár tartalmát is aktualizálja a módosított bájt blokkjának első cache-be írásakor. A továbbiakban már csak a cache tartalmát módosítja. Az aktualizálás csak a blokk cseréjekor történik meg.

Page 20: Digitális technika

Cache tárak tartalmának karbantartása II.

3) Helyettesítési eljárások: célja, hogy a hatékonyság növelése érdekében a legkevesebbszer kelljen a cache tartalmát cserélni. Leggyakrabban használt módszer a legkevésbé mostanában használt blokkok cseréje (last recently used, LRU)

4) Adategyezőség biztosítása: fontos, hogy cache és a főtár azonos adatokat tartalmazzon. Oka, hogy a memóriához más eszköz is hozzáférhet.

Page 21: Digitális technika

Virtuális tárkezelés

Page 22: Digitális technika

Operatív tár működési elve

• Minden program az operatív tárból (memóriából) hajtható végre.

• Az operatív tár mérete kicsi.

• Emiatt az aktuálisan nem használt programokat, adatokat lassú háttértárolókon kell tárolni, majd onnan betölteni akkor, amikor szükség van rá.

Page 23: Digitális technika

Virtuális címzés

lap0

lap1

lap2

lap3

lap4

lap5

lap13

lap14

lap15

0

4

8

12

16

20

24

Háttértár(felosztva 4KB –os lapokra)

52

56

60

64

lap0

lap1

lap2

0

4

8

12

Operatív tár(ugyanúgy 4KB –os lapok)

Virtuális cím = 62674

Relatív cím = virtuális cím – átvitt blokk fizikai kezdőcíme = 62674 – 60 x 1024 = 1234

Fizikai cím = relatív cím + blokk kezdőcíme = 1234 + 8 x 1024 = 9426

Lapkeret: memória lapokkal megegyező méretű „cellái”

Page 24: Digitális technika

A) Lapozás(háttértár lapokra osztása)

• Rögzített és azonos méretű adatblokkok• Lapok mérete 512B – 4kB lehet• Nem átlapolhatóak, memóriában meghatározott

lapkeretbe kerülnek• Logikai cím = lap sorszáma + relatív cím• Fizikai cím = lapkeret fizikai címe (báziscím) +

relatív cím• A lapok fizikai kezdőcímét a laptáblázatból lehet

kikeresni a lap logikai sorszáma alapján

Page 25: Digitális technika

B) Szegmentálás(háttértár szegmensekre osztása)

• Választható méretű adatblokkok• Átlapolhatják egymást (2 szegmensben is

elérhető ugyanaz az adat)• Logikai cím = szegmens sorszáma + relatív cím• Fizikai cím: szegmens fizikai címe (báziscím) +

relatív cím• A szegmens fizikai kezdőcíme a

szegmenstáblázatból kerül kikeresésre a szegmens logikai sorszáma alapján

Page 26: Digitális technika

Virtuális címek leképezése

• A lapok- és szegmensek kezdőcímeit a tárolórendszer táblázatokban tárolja más kiegészítő adatokkal együtt.

• Az MMU (Memory Management Unit /memória vezérlő) feladata a táblázatok tartalmának kialakítása, karbantartása, valamint a virtuális és logikai címek átalakítása valós címmé. Tulajdonképpen ez egy többlépcsős (1 /2 /3 lépcsős) indirekt címzés.

• A memóriakezelésnek tulajdonképpen három különböző módja lehetséges:– Lapozás– Szegmentálás– Szegmentált lapozás

Page 27: Digitális technika

Címzés általánosítása

Page 28: Digitális technika

Átlapolt címzés

• Interleaved addressing