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

Tárolókezelés-memóriakezelés. Témakörök-Tárkezelés •Tárolási alapok •Tárhierarchia elemei •Tárolókezelő egység •Virtuális tárkezelés (logikai-fizikai.

Hasonló előadás


Az előadások a következő témára: "Tárolókezelés-memóriakezelés. Témakörök-Tárkezelés •Tárolási alapok •Tárhierarchia elemei •Tárolókezelő egység •Virtuális tárkezelés (logikai-fizikai."— Előadás másolata:

1 Tárolókezelés-memóriakezelés

2 Témakörök-Tárkezelés •Tárolási alapok •Tárhierarchia elemei •Tárolókezelő egység •Virtuális tárkezelés (logikai-fizikai címek) •Szegmentálás •Lapozás

3 A tárolókezelés feladatai •A tárhierarchia megfelelő és optimális működtetése •A rendelkezésre álló memóriaterület szétosztása a feladatok között •Az adatok biztonságának védelme. Három szintjét különböztethetjük meg: –Rendszerprogramok védelme a felhasználótól –Felhasználói adatok egymástól való védelme –Futó program eljárásainak egymástól való védelme •– A felhasználók és programok elkülönítése

4 Tárolási szempontok •A számítógépek teljesítményének növekedéséhez, fontos a használt tárolók jobb kihasználása •Utasítások és adatok használati gyakoriságuknak megfelelő elhelyezése •Tárhierarchia: Az adatok kellő időben és idő alatt való elérésének és elhelyezésének strukturális eszköze.

5 Alapfogalmak •A tároló-szervezésnek a legfontosabb elve, hogy a gyakran használt adatokat a processzor közelében kell elhelyezni. •Elérési idő: a cím kiadása és az adat megjelenése között eltelt idő. •Feléledési idő: a befejeződött művelet és a következő művelet közötti idő. •Ciklusidő: Elérési idő + Feléledési idő.

6 Tárhierarchia elemei •Regiszterek –Kis kapacitás (néhány 100 bájt) –Rövid elérési idő (2ns) •Cache –Kis kapacitás (néhány 100 KB) –Nem túl hosszú elérési idő (4ns) •Központi tár –Közepes kapacitás (néhány 100 MB) –Hosszabb elérési idő (10ns) •Háttértárak –Nagy kapacitás (néhány 10 GB) –Hosszú elérési idő (10ms) •Tömegtárolók (TB), (100ms)

7 Regisztertárak A processzorban egy-egy szónyi adat tárolására több, gyors működésű tár szolgál, melyek együttesen alkotják a regisztertárat. •1 CPU ált több regisztert tartalmaz, meghatározott feladatokkal. –Akkumulátor regiszter (A) –Adatszámláló regiszter (Data Counter DC) –Utasítás-regiszter (Instruction I) –Programszámláló regiszter (Program Counter PC) –Buffer regiszter –Indexregiszter stb.

8 Állapot-reg. léptető Komplement. Összeadás és Boole log. ALU BUFFER ADATBUSZ akkumulátor Adat-számláló programszámláló Utasítás-számláló VEZÉRLŐEGYSÉG

9 Néhány főbb követelmény a regisztertárakkal szemben: –Az adatforgalom csökkentése a memória és a processzor között (pl: szubrutin változók, szubrutin visszatérési címek elhelyezése) –Minél nagyobb méret ( regiszter) –Háromcímes elérési lehetőség (egy időben egy utasításon belül 2 operandus és az eredmény címe) – Akkumulátor regiszter –Általános felhasználású célú legyen.

10 Regisztertárak kezelése •Nagyon fontos a regisztertömb kezelésének hatékonysága, ezért különböző technikák alakultak ki. •A regisztertárakat ciklikus táraknak tekintjük folyamatos címtartománnyal. •Kezelési lehetőségek –Nagyobb méretű regisztertár átlapolódó adatblokkal –Nagyobb méretű tár ablaktechnika nélkül regiszterbankokkal –Nagyobb méretű lineáris regisztertár –Kisebb méretű lineáris regisztertár

11 Kezelési technikák - Regiszterbank •Á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. •Regiszterbank (register banking) alkalmazása során a regisztertömb egyforma méretű részekre (bank) 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.

12 Kezelési technikák – Ablaktechnika, blokktechnika •Ablaktechnika: A regisztertömb egy-egy azonos méretű, de átlapolható része látható a processzor számára. A méret 2 valamely hatványa. Az aktuális ablak méretét az ablak-mutató (current window pointer) jelöli ki. A szubrutinok közötti paraméterátadás megkönnyítésére használható ez a technika. •Blokktechnika: A regisztertömb tetszőleges méretű átlapolható részekre van felosztva. Aktuális blokk kezdete - blokk-mutató (current block pointer) Előnye a rugalmasság, hátránya az alul és- túlcsordulás lehetősége!

13 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

14 Cache-tárak •Feladatuk az adatforgalom gyorsítása a processzor számára az operatív tárhoz fordulás esetén. •A cache gyors, kis méretű tároló, melyben az operatív tár egy része található meg, lehetőleg az, amelyre a processzornak szüksége lesz. Megtalálhatók itt mind az adatok, mind az utasítások. • Jellemzői: –Elhelyezkedése szempontjából megkülönböztetünk első, második és harmadik szintű tárolót –Az adatátvitel a cache és a memória között mindig blokkosan történik (4-32 bájt). A blokkok csak egymást követő bájtokból állhatnak. Oka, hogy általában a következő címről történik meg lehívás.

15 Cache-tárak jellemzői •Belső (on chip, 8-32KB) és külső (off chip, KB) cache •Az adatátvitel blokkos formában történik, azaz egyszerre több bájtot visz át a processzor •Együtt és külön is tárolhatják az utasításokat és az adatokat •A cache-tárban a memória egyes egymást követő rekeszeinek tartalmát tároljuk a tárolóbeli hely címével együtt.

16 Cache-tárak jellemzői •A cache mérete, amely ált. 8 kB és 8 MB között lehet. •Blokk-méret megadja, hogy a főtár és a cache között mekkora adatblokkok mozgathatók. Értéke 1-16 szó. •Sorméret az az adatmennyiség, amely egy-egy összehasonlítással kijelölhető és amelynek mérete a blokk méreténél nem nagyobb. •Helyettesítési algoritmus meghatározza a felesleges blokk kicserélésének módját. •Adataktualizálási módszer adja meg az adat tárba visszaírásának szabályait. •Adategyezőség biztosítási mód adja meg a főtár és a cache adategyezőségének biztosítását.

17 Cache-tárak jellemzői •Tárolhatnak csak utasítást, adatot és utasítást együtt, vagy külön tároló szolgálhat az adatok és az utasítások számára is. •A cache-ben a memória egymást követő rekeszeinek tartalmát tároljuk az eredeti címükkel együtt. •A visszakeresés tartalom szerinti (asszociatív, Content Address Memory, CAM), ami azt jelenti, hogy a vizsgált adatnak a cache-ben tárolt adattal való egyezését vizsgálja a processzor. A keresés cím alapján történik. •A cache megfelelő működésekor a találati arány (cachehit) legalább 95 %-os.

18 Cache-tárak •Lokalitás elve –A programok meghatározott időintervallumban a főtár egy címtartományát használják. •Időbeli lokalitás –Ha egy adatra, vagy utasításra hivatkozás történik, nagy valószínűséggel rövid időn belül ez újra megtörténik (ciklus). •Helyi lokalitás –Ha egy adatra, vagy egy utasításra hivatkozás történik, akkor ez nagy valószínűséggel a környezetében lévő címekre is megtörténik (soros végrehajtás).

19 Cache tárak •A cache tárak tartalom szerinti visszakeresést tesznek lehetővé •A visszakeresés a keresett adat címe alapján történik – a cache tárban el kell helyezni •A cím tárolásakor, annak csak egy részét szükséges magában a cache-ben elhelyezni, akkora részét, amelynek alapján közvetlenül (a tárolt értékből), vagy közvetve (a tárolt értékből és annak cache-beni helyéből, sorából) a blokk kezdőcíme meghatározható. •A címnek azt a részét, amit a cache tárban elhelyez a processzor „tag”-nak nevezzük. –„tag” származhat virtuális címből ill. fizikai címből

20 Cache-tárak •A visszakeresés módja tartalom szerint (asszociatív), azaz a keresett adat címét összehasonlítja a processzor a cache-ben tárolt címekkel. Ha a keresett adat a cache-ben található (cache-hit), akkor onnan veszi ki a processzor. Ha nincs a cache-ben (cache-miss), akkor a memóriából olvassa ki és egyúttal beteszi a cache- be. •A cache tartalmának frissítésekor a találati arány fenntartása érdekében megfelelő helyettesítési stratégiát kell alkalmazni. –Biztosítani kell a cache-tár és a központi tár azonos részeinek az egyezőségét.

21 FONTOS! •Nagyon fontos, hogy a cache és a processzor működési sebessége minél közelebb legyen egymáshoz. •A megfelelő teljesítmény érdekében ajánlott a dedikált sínrendszer használata.

22 Cache tárak tartalmának karbantartása •Csak akkor tudnak teljesítménynövelő hatást kifejteni, ha a tartalmuk és a memória tartalma megegyezik és megfelel a valóságnak. •Utasítás esetén nincs gond – csak kiolvasás •Adatok estén gond, ha több feldolgozás fut a gépen (multitasking), így adott memóriarészhez több program is hozzáférhet és módosíthat.

23 Cache tárak tartalmának karbantartása - Tartalom betöltése •Demand fetching - Aktuális igény felmerülésekor kikeresi a memóriából a kért byte-ot tartalmazó blokkot. A blokk cache-be töltésével párhuzamosan a processzor azonnal megkapja a keresett byte-ot. •Prefetching – Azzal a feltételezéssel élünk, hogy egy blokk használata nagy valószínűséggel maga után vonja a következő blokk használatát is. N-edik blokk betöltésekor automatikusan az n+1. blokk is betöltődik. (Kis blokkméret esetén célszerű) •Selective fetching (szelektív előkészítés): az írható adatokat a memóriában tároljuk, a cache-be csak olyan adatok kerülnek, amelyeknél nincs szükség az átírásra.

24 Cache tárak tartalmának karbantartása Aktualizálás •Azonnali átírás: a módosított byte azonnal átírásra kerül a memóriába, függetlenül attól, hogy a blokk a cache-ben van-e. –Módosított byte-hoz tartozó blokk a cache- ben van, a cache tartalma is aktualizálódik. –A blokk nincs a cache-ben: •az átírást követheti egy visszaolvasás (módosított blokk betöltése) •A blokk betöltése után aktualizálja a cachet és a memóriát is

25 Cache tárak tartalmának karbantartása Aktualizálás •Visszaírás, visszamásolás –Adott byte-hoz tartozó blokk a cache-ben van: csak a cache-ben aktualizál, a főtár tartalmát csak a blokk cseréjekor módosítja –Nincs a cache-ben : •Csak a memóriában aktualizál, cache-be nem tölt •Blokk beolvasás után aktualizálja, visszaírás csak a blokk cseréjekor

26 Cache tárak tartalmának karbantartása Aktualizálás Helyettesítési eljárás: A cache tárak hatékonyságát az biztosítja, ha a lehető legkevesebbszer kell a tartalmát cserélni. •Legkevésbé mostanában használt blokkok cseréje (változás mátrix-sorai blokkonként jelzik a blokk korát-mióta nem használták)

27 Tárolás a cache-ben •A cache-ben az adat és az utasítás mellett annak címét is el kell tárolni. (Nem feltétlenül kell a teljes fizikai címet, elég csak annyit, amely alapján közvetlenül vagy közvetetten (tárolt érték+tárolás helye) alapján egyértelműen azonosítható. •A címnek az a része, amely a cache-ben kerül tárolásra, a tag. •Származhat fizikai és virtuális címből egyaránt attól függően, hogy a cache a processzor és az MMU, vagy az MMU és az operatív tár között helyezkedik el.

28 A cím mellett a tárolt adatok állapotára vonatkozó információk is tárolásra kerülnek: •V (valid) bit jelzi az adatok érvényességét a cache-ben. •A cache törlésekor minden V bit '0' értéket vesz fel és az új adat beírásakor lesz az értéke '1'. •D (dirty) bit a blokk valamely részének a felülírását jelzi. Ha a D=1, akkor annak a blokknak a helyére nem lehet új blokkot betölteni.

29 Cache tárak típusai •Teljesen asszociatív –A beolvasott blokkok bárhova elhelyezhetőek, bármelyik sorba kerülhetnek. Az elhelyezés sorát a helyettesítési algoritmus határozza meg. –Keresés a fizikai cím felső 28 bitje alapján történik. –Egyszerűen és rugalmasan kezelhető, de mivel annyi keresését kell elvégezni, ahány sora van, ezért nagy cache esetén költséges. –Előnye a jó találati arány lehetősége, –hátránya a helyettesítési eljárás alkalmazása. •Közvetlen leképezésű –Egy –egy blokk csak meghatározott helyre kerülhet. –A blokkok sorát a blokksorszám jelöli –Előnye a rövidebb tag rész, a gyors keresés, az egyszerűség és az olcsóság. –Hátránya a kötött blokkhelyek miatti merevség, melyből adódik, hogy az azonos indexű helyek adatainak elérése lelassul, a találati arány kisebb.

30 Cache tárak típusai •Csoport asszociatív –Átmenet a teljesen asszociatív és a közvetlen leképezésű cache tár között. –Az elhelyezést a választott helyettesítési algoritmus határozza meg. –A cache 'n' sorból álló csoportokra van osztva. Ezek asszociatív tárként működnek. A memóriacím felső bitje jelöli ki a lapsorszámot (tag), a következő 'm' bit a csoportot azonosítja. Az alsó 4 bit a bájtot azonosítja. –Keresés során először csoportot keresi ki, azon belül pedig a lapsorszámot hasonlítja össze az összes sorban egyszerre. –Előnye, hogy rugalmasságban és költségekben is a két előző között helyezkedik el. •(Szektor leképezésű – ma már ritka csoport helyének kijelölése, azon belül a blokk helye kötött)

31 Mikroszámítógépek tárolóhierarchiája Elérési idők(s) 10-20* * * *10 -3 Kapacitás nagyságrend ByMB GBGB-TB regisztertárfőtár háttértártömegtárolók Cache-tár Regisztertár:kevés adat, legkisebb elérési idő (ns) Főtár: A program végrehajtásához közvetlenül szükséges programrészek, adatok Háttértárolók: Éppen nem szükséges adatok tárolása (msec) Cache-tár:Adatáramlás folyamatosságának biztosítása

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

33 Cím, címtartomány, címszélesség Címtartomány Címszélesség memória címek memória értékek... címérték címtartomány = 2 címszélesség

34 Virtuális tárkezelés •Használata esetén egy egységnek tekintjük a központi tárat és a merevlemez területét – ez képezi a virtuális címtartományt. •A viruális címtartomány bármely részében elhelyezkedő blokkot a feldolgozáshoz a központi tár területére kell átvinni. –Az átvitt blokk mérete lehet változó (szegmens) –Rögzített (lap) •A végrehajtáshoz a processzornak ismernie kell az eredeti virtuális cím valódi helyét a központi tárban, a valós címtartományban. Valós cím = Átvitt blokk fizikai kezdőcíme + relatív cím

35 Virtuális tárkezelés - Fogalmak •Fizikai címek tartománya: a főtár processzor által közvetlenül címezhető tárolóterületének címei •Logikai,-vagy virtuális címtartomány :a programok a teljes tárolóterületet lefedő címtartománnyal dolgoznak ez a ~ •Tényleges cím: a programutasításokban használt különböző címmódosító eljárások alapján kiszámolt cím (effective adress) •Szegmens: olyan adatblokk melynek mérete nem rögzített •Lap: olyan adatblokk melynek mérete azonos és rögzített (4KB)

36 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 ?! TÁRKEZELŐ rendszer

37 MMU (Memory Management Unit) •A tárolókezelés feladatainak megoldására szolgál a processzor tárkezelő egysége(MMU): –Lehet a processzorba beépített (on-chip) Intel80286, i386/486 –Processzoron kívüli (off-chip) Motorola MC68020-as processzor •A tárolókezelő egység címképzési munkáját segíti a lapozó cache-tár (TLB-Translation Lookaside Buffers)

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

39 Adategyezőség biztosítása •Ha az MMU a cache és a processzor között van, akkor a cache már fizikai címeket kap. Itt nincs a címfordításból adódó adategyezőségi probléma, valamint lassulás. •Ha az MMU a cache és a memória között van, akkor a sebesség nagyobb, de a cache virtuális címekkel dolgozik.

40 Virtuális tárkezelés

41 Virtuális tárkezelés - Fogalmak •Fizikai címek tartománya: a főtár processzor által közvetlenül címezhető tárolóterületének címei •Logikai,-vagy virtuális címtartomány :a programok a teljes tárolóterületet lefedő címtartománnyal dolgoznak ez a ~ •Tényleges cím: a programutasításokban használt különböző címmódosító eljárások alapján kiszámolt cím (effective adress) •Szegmens: olyan adatblokk melynek mérete nem rögzített •Lap: olyan adatblokk melynek mérete azonos és rögzített (4KB)

42 Virtuális tárkezelés legfontosabb eljárásai: Szegmentálás •A szegmens fizikai kezdőcímét a szegmenstáblázat tartalmazza, ebből lehet kikeresni a konkrét szegmens főtárbeli kezdőcímét. •Az átlapolódó és nem egyforma hosszú szegmensek miatt idővel sok nem használt, üres hely keletkezik a központi tárban – memória átrendezése, vagy „szemétgyűjtés”(garbage collection) •Szegmentálás előnye: a rugalmasság(váltakozó blokkméret) és az osztott felhasználás (átlapolás) •Szegmentálás hátránya: a nagyméretű szegmensek cseréje rontja a hatékonyságot

43 Szegmensek főtárba való betöltése •Első szabad hely keresése: a memória kezdetétől keresi a megfelelő szabad helyet •Következő szabad hely keresése: a legutóbb betöltött szegmens elhelyezésétől kezdi a keresést •Legjobb hely: a szegmenst betöltve a lehető legkevesebb hely marad szabadon •Legrosszabb hely: a lehető legnagyobb hely maradjon szabadon

44 Virtuális tárkezelés legfontosabb eljárásai: Lapozás •A lapok mérete azonos, nem átlapolhatók •A lappal egyező méretű helyekre kerülnek a főtárban, ezek a lapkeretek (FRAME) •Címszámítás módja: Logikai cím = lap logikai sorszáma + relatív cím Fizikai cím = lap fizikai kezdőcíme +relatív cím A lap fizikai (főtárbeli) kezdőcíme a laptáblázatból kerül meghatározásra. •Lapváltásnál nem okoz gondot az elaprózódó tárterület, mert a lapok csak a lapkeretek helyére kerülnek, így legfeljebb a nem használt lapkeretek üresek. Ha nincs üres lapkeret, akkor lapbetöltéskor ki kell választani a kiürítendő lapkeretet.

45 Lapbetöltés •Felmerülő igény esetén pl: nincs meg a hivatkozott lap a főtárban – laphiba –Lapváltási eljárás elindítása: memóriába tölti a kívánt lapot – utasítás végrehajtását fel kell függeszteni, majd később visszatérni rá. •Utasítás folytatása: az állapotjelzőket el kell menteni, folytatáskor visszatölteni •Utasítás újrakezdése: a felfüggesztett utasítás mikroprogramját előről indítja. - egyszerűbb

46 Lapcsere stratégiák •Véletlenszerű választás •A legrégebben bent lévő lap cseréje (FIFO) •A legrégebben nem használt lap cseréje •Adott idő alatt nem használt lap cseréje •Legkevésbé használt lapok cseréje

47 Memóriák és csatlakoztatásuk a mikroproceszorhoz

48 Memória •Információt őriz meg későbbi kiolvasás céljára •Adatok, programok, eredmények tárolása (bináris formában) •Információ beírása és kiolvasása címezhetőség vagy tartalom alapján történik •A tárkapacitást a tárolható szavak, bytok vagy bitek számával mérik

49 Memóriák paraméterei •Kapacitás •Hozzáférési idő •Belépési ill. memorális ciklus •Adatbeviteli sebesség

50 Felosztásuk •Információk elérése szerint: - Soros (tároló-helyek időben egymás után-rekesz hozzáférési idő) - Közvetlen hozzáférésű (bevitel sorrendjétől független elérés) -Asszociatív (információk adott jellemzői kereshetők meg) • Tárolt információ átírhatósága szempontjából: - Állandó - Programozható

51 •Memóriák működésük alapján lehetnek: - dinamikus - statikus •Információ rögzítése alapján: -Végleges rögzítés (ROM,PROM) -Módosítható rögzítés (RAM,REPROM)

52 Memóriacímzés •Az információt kiolvashatóvá kell tenni!! EZÉRT: •Memóriák cellákat tartalmaznak •Cellák mindegyikének van száma •Egy cella k bitet tartalmaz, akkor 2 k bitkombinációt tárolhat •Szó a legkisebb címezhető információs egység •Egy memóriamodul általában több chipből áll •Chipkiválasztó bit szükséges

53 Egy chipből álló memóriamodul Pl.: 256 memóriaszó kapacitás esetén a szó címe 8 bináris digitből áll. Legkisebb cím: =00 16 =00 10 Legnagyobb: =FF 16 =255 10

54 Egy 16 bites memóriaszó: cccccccc ssssssss chipkiválasztó szó-címező bináris digitekbináris digitek 16 bites memória szó

55 Címezhető memória R/W vonalon érkező jel vezérli azt, hogy: olvasás (R) vagy írás (W) történjen

56 Példa címek előállítására 1.példa:címzés 16 bittel. A szó címe : = 1AE 16 A chip címe : = chip szó A teljes cím: = 1DAE 16 1 D A E

57 ROM TOK csatlakozó pontjai Címkiválasztó bemenetek (A0-A9) Chip kiválasztó bemenetek (S0-S5) Tápfeszültség és föld Adat kimenet (D0-D7) óra Read

58 ROM TOK csatlakozó pontjai Igényelt információ (rekesz tartalmának) kiolvasása: •Címbemenetek (A0-A9) •Memória-chip-kiválasztó bemenetek (S0-S5) •Read jel bemenet (R) Műveletvégzéskor CPU és ROM szinkron működése: •Órajel bemenet •Adatkimenetek (D0-D7) •Tápfeszültség és föld csatlakozók

59 ROM csatlakoztatása a mikroprocesszorhoz CPU ROM VezV Write Read AdatV CímV Külső buszr. óra adat

60 Read-utasítás művelete •Minden művelet egy logikai 1-be menő órajellel kezdődik (A) •A CPU kimenetein a címvezetéken egy cím jelenik meg. – Ugyanekkor a READ jel logikai 1-be vált. •A jeleket a ROM a külső busz-rendszeren keresztül fogadja •A ROM chip logikája az A0-A9 által címzett memóriarekesz tartalmát az adatsínre (D0-D7) helyezi. (B) •Az adat addig marad az adatbuszon, amíg a 0 órajel 1-be nem ugrik. ABAB

61 RAM TOK csatlakozó pontjai Címkiválasztó bemenetek (A0-A9) Chip kiválasztó Bemenetek (S0-S5) Tápfeszültség és föld Adat óra Read Write

62 RAM tok csatlakozó pontjai •A csatlakozások funkciói részben megegyeznek a ROM-nál megismertekkel •Eltérés- írási művelet! •Az adatbusz kétirányú adatátvitelt tesz lehetővé a CPU és a RAM között •Beírás WRITE vezérlőjel hatására megy végbe. •Egy szó tárolására ált több RAM chipet használ •A Ram chipek 1-1 adatvezetékkel csatlakoznak az adatbuszra

63 Adatátvitel a mikroszámítógép és a perifériás egységek között I/O eszköz mikroprocesszor Bemenő adat Kimenő adat VEZÉRLŐ ADAT Parancs szó Állapot szó

64 Interface A CPU és a hozzá csatlakozó egységek közötti információátvitel céljából biztosítani kell az egységek illesztését és a rendszer összehangolt működését. INTERFACE: két rendszer, vagy egy rendszer egyes egységei közötti képzelt felületnek az a része, amelyen keresztül az információ átvitele az igényelt illesztés biztosításával (kódátalakítás, sebességváltoztatás stb.) történik. •Interface rendszer: kábelek, csatlakozók, meghajtó-és vevő áramkörök, jelvezeték előírások, időzítési és vezérlési egyezmények olyan készlete, amely biztosítja az egységek közötti egyértelmű, rendezett és szervezett információcserét.

65 Mikroszámítógép és külső logika közötti adatátviteli megoldások •Programozott I/O adatátvitel –Az összes adatátvitellel kapcsolatos műveletet a számítógép program vezérli. •Megszakítással kezdeményezett I/O adatátvitel –Az adatátvitelt egy megszakítás indítja. Egy külső eszköz rákényszeríti a mikroszámítógépet, hogy félbeszakítsa a futó programot, hogy a külső eszköz kérését végrehajtsa. •Közvetlen memória-hozzáférés (DMA) –Közvetlen adatátvitel a memória és az I/O eszköz között, a CPU igénybevétele nélkül.

66 Megszakítás okai •Ki kell szolgálni egy megszakítást kérő készüléket •A jelenleg futó program folytatása valamilyen akadály miatt nem lehetséges, az akadály elhárításához szoftveres beavatkozás szükséges

67 Megszakítás-kiszolgálás •Meg kell állítani a jelenleg futó programot •Tárolni kell a jelenleg futó programra vonatkozó információkat •El kell indítani a megszakítást kiszolgáló rutint •Be kell fejezni a megszakítást •Vissza kell állítani az eredeti állapotot

68 Megszakítás fő típusai •Külső megszakítások –Egy vagy több I/O eszköz generálja •Belső megszakítások –Maga a mikroprocesszor generálja, hogy sajátos feltételek, vagy hibák előfordulását jelezze Pl: energia kimaradás, rendszer hibásodása, adattovábbításkor előforduló hiba •Szoftver által generált (szimulált megszakítások) –Programhiba kiküszöbölése –Szervízteszt futtatás megszakítása

69 I/O portok címzése •Az I/O PORT bufferek úgy címezhetők mint a memória rekeszek. föld óra I/O port A I/O port B Külső eszközök WRITE READ adat I/O PORT cím I/O PORt választása tápfeszültség

70 DMA adatátvitel

71 Gyakorlati példa Zuhanyzó vízhőmérsékletének szabályozása mikroszámítógépes rendszerrel: •Hideg-meleg víz keverékének hőmérsékletét mérjük •Feladat: a mért hőmérséklet összehasonlítása az előre megadott kívánt hőmérséklettel, a különbségtől függően szabályozza a melegvíz hozzáadás mennyiségét. •A beállítást szabályozó program neve: „BEALLIT” °CSZ.G.

72 memória BEALLIT E Memória címek Program: START Program END A hőmérséklet érzékelőtől belépő adatok befolyásolják a szabályozásban résztvevő eszközök működését. Megszakítási program „MEGSZAKIT” I/O portra küldött jel nem jó, adatvesztés

73 Hogyan tudja meg a mikroszámítógép, hogy új hőmérsékleti adat szerint kell szabályozni? memória adat MEGSZAKIT BEALLIT Program: START END START END „MEGSZAKIT” program elhelyezi az adatot az adatbufferbe A BEALLIT program kiolvashatja az adatbufferből

74 Programmegszakítás lépései •A hőmérséklet érzékelő átviszi a külső buszrendszer vezérlővonalain lévő megszakítás jelet ( IREQ- Interrupt REQuest ) a mikroszámítógépbe •A mikroszámítógép „dönti el”, hogy fogadja, vagy visszautasítja a megszakítás kérést. –Ha fogadja, akkor a külső buszrendszer vezérlő vonalain keresztül jelzi azzal, hogy kiküld egy megszakítás nyugtázó IACK (Interrupt AC Knowlendge) jelet •A hőmérséklet érzékelő az IACK jelet engedélyező jelként értelmezi

75 Megszakítás BEALLIT végrehajtás Végrehajtás folytatása MEGSZAKIT végrehajtás A B D C Megszakítás-kérés A hőmérésklet-érzékelő megváltozott adata a mikroszámítógépbe kerül

76 Megszakítás utasítás-sorozat lépései 1.A CPU-ban folyik a „beállít” program végrehajtása 2.Megszakítás-kérés érzékelésekor a CPU a program megszakításával kapcsolatos teendőket végzi pl: regiszterek tartalmának megőrzése, megszakítás nyugtázása 3.A CPU-ban megkezdődik a „Megszakít” program végrehajtása 4.„Megszakít” program befejezése 5.1. lépésbeli állapot visszaállítása 6.„Beállít” program folytatása Egy megszakítási utasítás sorozat min. 50µs-ig tart! IDŐVESZTESÉG! RAM külső eszköz

77 Mit kell megőrizni? Az éppen futó program fontos információi az: –Állapotjelzőben (status flag) –Adatszámlálóban (DC) –Akkumulátorban(A) vannak, amelyeket az új program „kisepri”. •Az információ megőrzéséről, beleértve a programszámláló (PC) tartalmát is,a megszakítás program indítása előtt gondoskodni kell. •A megszakítás program befejeztével, a megőrzött programszámláló (PC) érték annak az utasításnak a címe, amelyik éppen végrehajtás alatt volt a megszakításkor.

78 Megszakítás-cím vektor •A CPU annak a programnak kapja meg a címét, amelynek a végrehajtását a megszakítás-logikával előírjuk. Ez a cím megszakítás-cím vektor. •Jelentősége, ha több program kér megszakítást.

79 Időzítés kérdése •Az egyes hőmérsékleti adatok továbbítása a számítógép felé nem egyenletes időközönként történik a rendszer aszinkron módon bekövetkező eseményeket érzékel. •Ha a bevitel idejét megszabtuk volna, akkor az adatok egy részét elveszítenénk. M MMM B B bejut elvész t(idő)

80 Emlékeztető: A programozott IO hátrányai a CPU (feleslegesen) sok időt „veszít” az az eszköz állapotának a vizsgálatával és az adatátvitellel... ha több (vizsgálandó) eszköz van... az IO átvitel sebessége attól függ, hogy a CPU milyen gyorsan tudja az IO eszközt vizsgálni és kiszolgálni... az adat a CPU-n halad keresztül, ahelyett hogy közvetlenül a memóriába jutna...

81 DMA adatátvitel •A DMA közvetlen adatátvitelt eredményez a memória és az I/O készülék között, a CPU igénybevétele nélkül. •A periféria közvetlen memória-hozzáféréssel rendelkezik •Cél: a közvetlen vezérléssel nagysebességű adatátvitel elérése

82 DMA (Direct Memory Access) •Közvetlen kapcsolat a memóriával. Sok esetben az adatokat egy ellenőrző- vagy port-kártya (CD-ROM Interface, merevlemezellenőrző, I/O-kártya) szállítja el a számítógép memóriájának egy meghatározott helyére. • Normál esetben ezt a feladatot a számítógép főprocesszora látja el. •Azért, hogy kevésbé legyen terhelt a processzor, és hogy az adatközvetítés gyorsabb legyen, néhány ilyen kártya a DMA-eljárást használja: miközben a főprocesszor egy teljesen más feladattal van elfoglalva, ez az eljárás közvetlenül hozzákapcsolódik a RAM-hoz, és a kívánt címen tárolja az adatokat. •E feladat elvégzéséhez a kártyának meg kell adni azt a lehetőséget, hogy csak ő kapcsolódhasson hozzá a számítógépen kijelölt DMA-csatornához.

83 DMA sematikus ábra

84 DMA adatátvitel •A CPU, az I/O készülékek és a memória közös buszon osztozkodnak. •A CPU és az I/O készülékek azonos ciklusban nem férhetnek hozzá a memóriához •A DMA végezhet memória-memória, vagy I/O-I/O adatátvitelt is.

85 DMA adatátvitel folyamata

86 DMA adatátviteli eljárások •CPU leállítás (CPU halt): a DMA kérésére a CPU leáll, és lekapcsolódik a buszról a DMA adatátvitel tartama alatt. CPU működésének lassítása! •Memória időszelet: a memória ciklus két időtartamra oszlik. Az egyik a CPU-é, a másik a DMA-é. –Ez a módszer nagy CPU végrehajtási és nagy DMA adatátviteli sebességet eredményez. –CPU és DMA memória-hozzáférés minden ciklusban van. (Nagy sebességű memóriát igényel)

87 DMA adatátvitel processzor leállításával

88 •Ciklus lopás: kompromisszum a CPU halt és a memória időszelet között, ami átlapoláshoz vezet a CPU program végrehajtása és a DMA adatátvitele között. •Ha a CPU-nak és a DMA-nak azonos időben lenne szüksége memóriára, a DMA-nak prioritása van a CPU-val szemben. –A CPU működését lassítja, de nem állítja le. DMA adatátviteli eljárások

89 DMA által használt regiszterek •Címregiszter: azokat a memória-rekesz címeket tárolja, amelyek a következő írási/olvasási műveletekhez szükséges információkat, adatokat tárolják. •Számláló regiszter: a szavakat számlálja •Állapot regiszter: tartalma meghatározza az adatáramlás irányát, vagyis a hardware üzemmódját. A CPU szempontjából nézve ezek a regiszterek úgy kezelhetők, mint az I/O portok, vagy a címezhető memória rekeszek.

90 F 003 címregiszter Számláló-regiszter Állapot-regiszter Az ábráról leolvasható a szószám, vagyis, hogy az adatbuffer 7F 16 byte hosszú és a külső eszközről érkező adat a memóriarekeszbe kerül tárolásra.

91 Állapot-regiszter = Adatbemenet külső eszközről 1 = Adatkimenet külső eszközre 1 = DMA logika aktív 0 = DMA logika inaktív Nem használt Bit szám

92 DMA művelet kezdeményezésekor a következő program-lépéseket kell végrehajtani 1.Be kell tölteni az induló cím alacsonyabb helyértékű felét a DMA címregiszterébe 2.Be kell tölteni az induló cím magasabb helyértékű felét a DMA címregiszterébe 3.Be kell tölteni a szószámra vonatkozó adatokat a DMA számláló regiszterébe 4.Be kell tölteni egy vezérlő-kódot (pl:03 16 ) a DMA állapotregiszterébe. A vezérlő-kód megállapítja az adatátvitel irányát és annak megfelelően állítja be a DMA-t

93 •A DMA rendelkezik olvasás és írás vezérlő vonalakkal. WRITE vezérlés hatására a DMA adatokat ír be a RAM-ba, READ vezérlés hatására pedig adatokat olvas ki a RAM vagy ROM memóriából. •A DMA adatátvitel irányát az állapot- regiszter tartalmának átírásával változtatjuk meg. Ha az állapot-regiszter 1-es bithelyére 0 kerül, akkor a végrehajtás alatt lévő művelet leáll.

94 DMA művelet végrehajtása •A DMA vezérlő egy adatszót fogad az I/O interface-től és kéri a rendszerbusz használatát a DMA átvitelhez •Amint megkapta a buszt, kiküldi a memória-rekesz címét és az adatszót •A memória kész jel vételekor a DMA vezérlő megvizsgálja a szószámot •Ha a szószám ≠ 0-val, akkor : –a számláló-regiszter tartalmát 1-gyel csökkenti, –A címregiszter tartalmát pedig 1-gyel növeli így a perifériából memóriába egy újabb adatszó átvitele megy végbe •Ha a szószámláló = 0, akkor a DMA befejezi az adatátvitelt és közli a CPU-val, hogy az adatátvitel kész.

95 READ művelet időzítése DMAREQ INHIBIT CPU 0 DMACK A0-A15 DMARW D0-D7 WRITE DMA Óra ciklus órajel

96 Események sorrendje •Amikor a DMA érzékeli a logikai 1-et, a DMA REQ vonalon az INHIBIT jel logikai 0 lesz. •Az INHIBIT logikai 0 marad, amíg a második logikai 1-be menő óraimpulzus meg nem jelenik •Egy óraciklus ideig a CPU műveletek szünetelnek, mert az INHIBIT a CPU órajel vonalat logikai 0-n tartja. Ilyenkor a CPU nagy ellenállással kapcsolódik a cím és az adatbuszokra, vagyis gyakorlatilag lekapcsolja magát a buszról. •Ha az INHIBIT 0, akkor a címregiszter tartalma megjelenik a buszregiszter címvonalon. A DMA eszköz a DMAC logikai 1 szintre helyezésével nyugtázza a DMA kérést •A DMA állapotregiszter tartalma határozza meg a DMARW vezérlő vonal beállítását (0-külső eszközről kell adatot vinni a buszrendszer adatvonalaira) •Az állapotregiszter 0 bithelye határozza meg a WRITE vezérlővonal beállítását. A címvonalon lévő címet minden RAM interface dekódolja és a címnek megfelelően kerül kiválasztásra a megcímzett RAM. •Amikor a WRITE vezérlőjel logikai1, az adat a megcímzett memóriarekeszbe kerül.

97 DMA vezérlő funkciók •Címvonal vezérlés •Adatátviteli vezérlés •Cím tárolás •Szószám-tárolás •Üzemmód-vezérlés

98 Címvonal vezérlés •A DMA rendszerben a memória-címbuszt vagy a CPU, vagy a DMA hajtja meg attól függően, hogy az adott ciklusban a memóriát melyik eszköz használja. •A DMA ciklusban a DMA vezérlőnek a kívánt DMA művelet elvégzéséhez szükséges címet kell a címbuszra adni.

99 Adatátviteli vezérlés •A DMA vezérlőnek a memória és az I/O készülék közötti közvetlen adatátvitelhez –megfelelő időzítéssel- vezérlőjeleket kell szolgáltatni. Ezek a vezérlőjelek csak a DMA ciklusban kapcsolódnak a vezérlő- buszra.

100 Cím-tárolás •A DMA vezérlő címregisztere tartalmazza a következő írásra vagy olvasására kerülő szó címét. Ezt minden szó-átvitelénél inkrementálni vagy dekrementálni kell.

101 Szószám-tárolás •A DMA adatátvitel indításakor a CPU betölti a DMA vezérlő számláló- regiszterébe az átvitelre kerülő szavak számát. A DMA adatátvitel alatt a DMA vezérlő számlálja az átvitt szavakat és a megadott számú szó átvitele után befejezi az adatátvitelt.

102 DMA vezérlés •Elosztott DMA: mindegyik I/O készülékben van egy DMA vezérlő •Centralizált DMA: Egyetlen DMA szolgál az összes I/O készülék vezérlésére. DMA adatátvitel indításakor a CPU előírja: –az üzemmódot, –a kezdő memória-címet –az átviendő szavak számát –az átvitel irányát

103

104 Repeatitive DMA •Néhány alkalmazásnál igény a DMA adatátvitel többszöri ismétlése a CPU beavatkozása nélkül. Ez a ~ •A funkció megvalósításához 2 regiszter kell. –Az egyik tárolja kezdőcímet –A másik az induló szószámot Így lehetővé válik, hogy a DMA vezérlő automatikusan újra induljon a CPU beavatkozása nélkül.

105 Multiplex DMA/CPU •A nagy sebességű DMA adatátvitel mellett lehetővé teszi a nagysebességű CPU működést is. •A leggyorsabb DMA működés a CPU megállításával jön létre •Multiplex esetben 20%-kal csökken, de CPU leállás helyett tovább dolgozik •Hátrány: jobb hardware igény. (nagysebességű RAM, két háromállapotú és kétirányú buszmeghajtó szükséges)

106


Letölteni ppt "Tárolókezelés-memóriakezelés. Témakörök-Tárkezelés •Tárolási alapok •Tárhierarchia elemei •Tárolókezelő egység •Virtuális tárkezelés (logikai-fizikai."

Hasonló előadás


Google Hirdetések