1 / 28

Digitális technika

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

joshwa
Download Presentation

Digitális technika

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Cache Háttértár Archiváló tár Operatív tár Merevlemez, Floppy Telérési = 10 – 100ms Kapacitás = 0.1GB – 1TB Mágnesszalag, lyukszalag telérési= 1s – 10min Kapacitás=100GB – 10TB Jedec memória modulok Telérési = 1 – 70ns Kapacitás = 16MB – 2GB

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

  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 Ablaktechnika Regiszterbank Blokktechnika CWP CBP CBP 0D 0D 0D 4kD 4kD 4kD 8kD 8kD 8kD 12kD 12kD 12kD 16kD 16kD 16kD

  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 Cache felépítése: 0 152 255 Megcímzett byte Tag rész Adat 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 Cache felépítése: 0 31 255 Megcímzett byte Tag rész Adat 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, 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.

  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 Cache felépítése: 0 51 52 13. csoport 53 255 Megcímzett byte Tag rész Adat rész

  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. • 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. • 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. • 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) • 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 Operatív tár (ugyanúgy 4KB –os lapok) Háttértár (felosztva 4KB –os lapokra) Lapkeret: memória lapokkal megegyező méretű „cellái” 0 4 8 12 16 20 24 0 4 8 12 Fizikai cím = relatív cím + blokk kezdőcíme = 1234 + 8 x 1024 = 9426 52 56 60 64 Virtuális cím = 62674 Relatív cím = virtuális cím – átvitt blokk fizikai kezdőcíme = 62674 – 60 x 1024 = 1234

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

More Related