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

Digitális technika VIII.) Tárolókezelés. Általános számítógép felépítése CPU Regiszter tár Cache Háttértár Operatív tár Merevlemez, Floppy T elérési =

Hasonló előadás


Az előadások a következő témára: "Digitális technika VIII.) Tárolókezelés. Általános számítógép felépítése CPU Regiszter tár Cache Háttértár Operatív tár Merevlemez, Floppy T elérési ="— Előadás másolata:

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

2 Általános számítógép felépítése CPU Regiszter tár Cache Háttértár Operatív tár Merevlemez, Floppy T elérési = 10 – 100ms Kapacitás = 0.1GB – 1TB Jedec memória modulok T elérési = 1 – 70ns Kapacitás = 16MB – 2GB Archiváló tár Mágnesszalag, lyukszalag t elérési = 1s – 10min Kapacitás=100GB – 10TB

3 Regisztertárak

4 •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 – á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.

5 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.

6 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.

7 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.

8 Regisztertár szervezések összehasonlítása CBP Regiszterbank 0D0D 4k D 8k D 12k D 16k D CBP Blokktechnika 0D0D 4k D 8k D 12k D 16k D CWP Ablaktechnika 0D0D 4k D 8k D 12k D 16k D

9 Cache (gyorsítótár)

10 •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.)

11 •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.

12 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;

13 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. byte1. byte2. byte3. byte0. byte1. byte2. byte3. byte0. byte1. byte2. byte3. byte0. byte1. byte2. byte3. byte Megcímzett byte Adat rész Cache felépítése: Blokk sorszáma VD Tag rész

14 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;

15 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. byte1. byte2. byte3. byte0. byte1. byte2. byte3. byte0. byte1. byte2. byte3. byte0. byte1. byte2. byte3. byte Megcímzett byte Adat rész Cache felépítése: Lap sorszáma VD 320 Tag rész

16 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, 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.

17 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. byte1. byte2. byte3. byte0. byte1. byte2. byte3. byte0. byte1. byte2. byte3. byte0. byte1. byte2. byte3. byte Megcímzett byte Adat rész Cache felépítése: Lap sorszáma VD 1280 Tag rész csoport

18 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.

19 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.

20 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.

21 Virtuális tárkezelés

22 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á.

23 Virtuális címzés lap0 lap1 lap2 lap3 lap4 lap5 lap13 lap14 lap Háttértár (felosztva 4KB –os lapokra) lap0 lap1 lap Operatív tár (ugyanúgy 4KB –os lapok) Virtuális cím = Relatív cím = virtuális cím – átvitt blokk fizikai kezdőcíme = – 60 x 1024 = 1234 Fizikai cím = relatív cím + blokk kezdőcíme = x 1024 = 9426 Lapkeret: memória lapokkal megegyező méretű „cellái”

24 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

25 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

26 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

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

28 Átlapolt címzés •Interleaved addressing


Letölteni ppt "Digitális technika VIII.) Tárolókezelés. Általános számítógép felépítése CPU Regiszter tár Cache Háttértár Operatív tár Merevlemez, Floppy T elérési ="

Hasonló előadás


Google Hirdetések