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

Slides:



Advertisements
Hasonló előadás
Alaplap.
Advertisements

A számítógép műszaki, fizikai része
Hardver eszközök II. rész
1 Számítógépek felépítése 9. előadás I/O rendszerek.
Rendszertervezés Hardver ismeretek.
A számítógép felépítése
Memória.
Tárolókezelés-memóriakezelés
Neumann-elvek A számítógép legyen teljesen elektronikus, külön vezérlő és végrehajtó egységgel. Kettes számrendszert használjon. Az adatok és a programok.
A mikroprocesszor 1. rész.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Lapcsere stratégiák FIFO, LRU, OPT, SC
A számítógép felépítése
Belső memóriák tipusai
A számítógép felépítése
A számítógéprendszer.
A memória.
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
Utasítás végrehajtás lépései
CISC - RISC processzor jellemzők
A memória.
Számítógép memória jellemzői
Felkészítő tanár: Széki Tibor tanár úr
Napjaink háttértárolói
A memóriák típusai, jellemzői
A memória tárolja a végrehajtandó programokat és a feldolgozásra váró adatokat. A számítógép memóriája adattárokból áll. Minden ilyen adattár memóriaelemekből.
Memória hierarchia Tárolókezelő egység
MIÉRTEK A SZÁMÍTÁSTECHNIKÁBAN
Miben hasonlítanak egymásra a mai és az ötvenes évek számítógépei? Takács Béla Melyek a közös tulajdonságaik ?
MI A MEMÓRIA? A memória tulajdonképpen egy logikai áramkör, ami adatok megőrzésére alkalmas. Az adat számunkra most azt jelenti, hogy van-e jel vagy nincs.
modul Szövegfeldolgozás Speciális informatikai feladatok.
A Memória.
A mikroszámítógép felépítése
A számítógép teljesítménye
Erőforrások: Hardver Manver Szoftver.
PIO és DMA Zeke Éva Anita Készült a Számítógép rendszerek és perifériák tantárgyhoz.
A számítógép felépítése
A számítógép elvi felépítése
A Neumann-elvű gépek A Neumann elvek:
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
A Mikroprocesszor Harmadik rész.
SSD.
A központi egység Informatika alapjai Készítette: Senkeiné B. Judit.
Mikroprocesszor.
Háttértárak.
Ismerkedjünk tovább a számítógéppel
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- architektúrák dr. Kovács György DE AVK GAIT.
Számítógép-architektúrák
Írja fel a tizes számrendszerbeli
IT ALAPFOGALMAK HARDVER.
Memória példák Feladat Egy számítógép rendszermemóriája egycsatornás, 64 bites adategységekkel rendelkező DDR1-DRAM-ra épül, melyben a burst.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
1 Számítógépek felépítése 5. előadás a CPU gyorsítása, pipeline, cache Dr. Istenes Zoltán ELTE-TTK.
Memóriakezelés feladatok. 1.Feladat Legyenek a virtuális címek 16 bitesek, a fizikai címek 15 bitesek, a lapméret legyen 2 12 bájt = 4 kB méretű, a laptábla.
A ROM ÉS A BIOS. K ÉSZÍTETTE R ELL P ATRIK A ROM A ROM egy olyan elektrotechnikai eszköz, amely csak olvasható adatok tárolására alkalmas memória. Tartalma.
Készítette:Mohamed Ahmed Azmi 9.A. Random Access Memory Alap tudnivalók a RAM -ról: Írható és olvasható memória. Feladata ideiglenes adatok tárolása,
1 A számítógépek felépítése jellemzői, működése. 2 A számítógép feladata Az adatok Bevitele Tárolása Feldolgozása Kivitele (eredmény megjelenítése)
Neumann elvű számítógép. Neumann János ► Neumann János december 28-án Budapesten született ► 1930-ban emigrált az USA-ba.
1 A számítógépek tárolói. 2 Memória Memóriaszó  A tárak olyan egységei, melyek egyetlen művelettel kezelhetők.  A legrövidebb memóriaszó a byte (bájt)
Adatok tárolása. Tárolók Félvezető tárak RAM Operatív tár Cache tár Regiszterek CMOS RAM ROM BIOS Mágnestárak Mágneslemez Hajlékony lemez Merevlemez MágnesszalagMágneskártya.
Sz&p prof.
Háttértárak.
CPU (Processzor) A CPU (Central Processing Unit – Központi Feldolgozó Egység) a számítógép azon egysége, amely értelmezi az utasításokat és vezérli.
RAM (Random Access Memory)
A számítógép működésének alapjai
Memória példák 2019.
Cache példák 2019 (IMSC).
Előadás másolata:

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

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

Regisztertárak

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.

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.

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.

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.

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

Cache (gyorsítótár)

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

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.

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;

Blokk sorszáma 0. dszó 1. dszó 2. dszó 3. dszó V D 16123 1 2 3 Cache CÍM felépítése: 32 bit = 28 bit blokk sorszám + 2 bit dszó + 2 bit byte kiválasztó bitek 1 Cache felépítése: Blokk sorszáma V D 16123 0. dszó 1. dszó 2. dszó 3. dszó 0. byte 1. byte 2. byte 3. byte 1 2 3 152 255 Megcímzett byte Tag rész Adat rész

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;

Lap sorszáma 0. dszó 1. dszó 2. dszó 3. dszó V D 320 1 2 3 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 1 Cache felépítése: Lap sorszáma V D 320 0. dszó 1. dszó 2. dszó 3. dszó 0. byte 1. byte 2. byte 3. byte 1 2 3 31 255 Megcímzett byte Tag rész Adat rész

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.

Lap sorszáma 0. dszó 1. dszó 2. dszó 3. dszó V D 1280 1 2 3 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 1 Cache felépítése: Lap sorszáma V D 1280 0. dszó 1. dszó 2. dszó 3. dszó 0. byte 1. byte 2. byte 3. byte 1 2 3 51 13. csoport 52 53 255 Megcímzett byte Tag rész Adat rész

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.

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.

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.

Virtuális tárkezelés

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

Virtuális címzés Háttértár Operatív tár (felosztva 4KB –os lapokra) Operatív tár (ugyanúgy 4KB –os lapok) Lapkeret: memória lapokkal megegyező méretű „cellái” 4 8 12 16 20 24 4 8 12 lap0 lap1 lap2 lap3 lap4 lap5 lap13 lap14 lap15 lap0 lap1 lap2 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

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

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

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

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

Átlapolt címzés Interleaved addressing