Tárak. Dr. Seebauer Márta. Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár



Hasonló dokumentumok
Máté: Számítógép architektúrák

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Adatok ábrázolása, adattípusok. Összefoglalás

Máté: Számítógép architektúrák

Dr. Schuster György február 21. Real-time operációs rendszerek RTOS

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Operációs rendszerek Memóriakezelés 1.1

MEMÓRIA TECHNOLÓGIÁK. Számítógép-architektúrák 4. gyakorlat. Dr. Lencse Gábor. tudományos főmunkatárs BME Híradástechnikai Tanszék

Lemezkezelés, RAID, partícionálás, formázás, defragmentálás.

Közlekedés gépjárművek elektronikája, diagnosztikája. Mikroprocesszoros technika. Memóriák, címek, alapáramkörök. A programozás alapjai

Dr. Illés Zoltán

Programozás I gyakorlat

HÁLÓZATSEMLEGESSÉG - EGYSÉGES INTERNET SZOLGÁLTATÁS-LEÍRÓ TÁBLÁZAT

Számítógép architektúrák. Tartalom. A memória. A memória

Processzus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja előadás Memóriakezelés

Számítógép Architektúrák (MIKNB113A)

Vezérlőegység. Dr. Seebauer Márta. Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

EPER E-KATA integráció

tetszőleges időpillanatban értelmezhető végtelen sok időpont értéke egy véges tartományban bármilyen értéket felvehet végtelen sok érték

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Párhuzamos programozás

Tájékoztató a szerződés módosításáról_munkaruházati termékek szállítása (5. rész)

Számítógép architektúrák

Feltöltéshez járó Extra Net 50 MB jutalom*

Fábián Zoltán Hálózatok elmélet

Számítógépek felépítése, alapfogalmak

Operációs rendszerek II. kidolgozott tételsor Verzió 1.0 (Build: )

A döntő feladatai. valós számok!

Operációs rendszerek előadás Multiprogramozott operációs rendszerek

Üresként jelölt CRF visszaállítása

Architektúra, memóriák

DSP architektúrák Texas Instruments DSP architektúrák

2. számú melléklet SZOLGÁLTATÁS-MINİSÉG

AZ EURÓPAI KÖZÖSSÉGEK BIZOTTSÁGA. Javaslat: AZ EURÓPAI PARLAMENT ÉS A TANÁCS IRÁNYELVE

Tartalomjegyzék. Tartalom 1/16

Segítünk online ügyféllé válni Kisokos

Fábián Zoltán Hálózatok elmélet

A táblázatkezelő felépítése

Lineáris algebra gyakorlat

elektronikus adattárolást memóriacím

Ablakok használata. 1. ábra Programablak

Számítógép Architektúrák

xdsl Optika Kábelnet Mért érték (2012. II. félév): SL24: 79,12% SL72: 98,78%

BEVEZETÉS. A felsorolt eszközök közül melyik periféria? a) VLSI b) ALU c) CPU d) Modem

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

3. Térvezérlésű tranzisztorok

Irányítástechnika Elıadás. Félvezetıs logikai áramkörök. Irodalom

Web-böngészés igénybe vehető - VoIP igénybe vehető - Chat alkalmazások igénybe vehető - Közösségi oldalak igénybe vehető -

SZOLGÁLTATÁS LEÍRÓ LAP

Egységes jelátalakítók

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Számítógépes vírusok

I. Országgyűlés Nemzeti Választási Iroda

Fejlesztı neve: LÉNÁRT ANETT. Tanóra / modul címe: CÉGES REKLÁMBANNER KÉSZÍTÉSE PROJEKTMÓDSZERREL

Számítógép Architektúrák

2000 db speciális komposztláda, 0,3 m3 térfogatú

Invitel Távközlési Zrt. Általános Szerződési Feltételek internet, adathálózati és bérelt vonali szolgáltatásra

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

Autóipari beágyazott rendszerek. Fedélzeti elektromos rendszer

Amit a Hőátbocsátási tényezőről tudni kell

Többfelhasználós adatbázis környezetek, tranzakciók, internetes megoldások

Mikrokontrollerek. Tihanyi Attila május 8

ELEKTRONIKAI ALAPISMERETEK

1. Metrótörténet. A feladat folytatása a következő oldalon található. Informatika emelt szint. m2_blaha.jpg, m3_nagyvaradter.jpg és m4_furopajzs.jpg.

Útmutató a vízumkérő lap kitöltéséhez

DIGITÁLIS ADATTÁRAK (MEMÓRIÁK)

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Lemezkezelés, állományrendszerek

Termékkatalógus 2016.

Digitális Rendszerek és Számítógép Architektúrák

GRUNDFOS ALPHA2 Az A-energiaosztályú kis keringető szivattyúk következő generációja

ADATBÁZIS-KEZELÉS. Funkcionális függés, normál formák

Vodafone ReadyPay. Használati útmutató

Fábián Zoltán Hálózatok elmélet

Számítógép sematikus felépítése. Little Man Computer (LMC)

Széchenyi István Szakképző Iskola

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Trigonometria

ITIL alapú szolgáltatás menedzsement megvalósítása a KELER Zrt-ben

Utasításrendszer jellemzése (utasítás részei) 1. műveleti kód 2. operandusok 3. következő utasítás címe (elmaradhat)

AZ ALPHA2 a legutolsó és a leginnovatívabb tagja a Grunfos magas minőségű keringető szivattyú családjának.

A Hozzárendelési feladat megoldása Magyar-módszerrel

Számítógép hálózatok gyakorlat

A Számítógépek felépítése, mőködési módjai

Digitális technika II., 2009/2010 tavasz 1. vizsga A csoport

A mérés célja: Példák a műveleti erősítők lineáris üzemben történő felhasználására, az előadásokon elhangzottak alkalmazása a gyakorlatban.

Tisztítószerek és tisztító eszközök beszerzése (14669/2014.)- módosítás

Invitel Távközlési Zrt. Általános Szerződési Feltételek Telefonszolgáltatásra

FENNTARTHATÓ FEJLŐDÉS

Korszerű geodéziai adatfeldolgozás Kulcsár Attila

SZÁMÍTÓGÉPARCHITEKTÚRÁK

Számítógép Architektúrák

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

Az informatika oktatás téveszméi

6. SZÁMÚ FÜGGELÉK: AZ E.ON ENERGIASZOLGÁLTATÓ KFT. ÁLTAL E.ON KLUB KATEGÓRIÁBA SOROLT ÜGYFELEKNEK NYÚJTOTT ÁRAK, SZOLGÁLTATÁSOK

2015. ÉVI ÉVES BELSŐ ELLENŐRZÉSI TERV

Invitel Távközlési Zrt. Általános Szerződési Feltételek egyéni előfizetők számára nyújtott internet és adathálózati szolgáltatásra

Operációs rendszerek MINB240. Bevitel-Kivitel. 6. előadás Input és Output. Perifériák csoportosításá, használat szerint

A Közbeszerzések Tanácsa (Szerkesztőbizottsága) tölti ki A hirdetmény kézhezvételének dátuma KÉ nyilvántartási szám

Átírás:

Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Tárak Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu

Neumann-típusú számítógép általános felépítése CPU Központi egység CU Vezérlő egység ALU Számolómű Regiszterek.. RAM Operatív tár I/O eszközök Lemezegységek Nyomtató Busz rendszer

Kapacitás nagyságrend Tárhierarchia Elérési idő [s] Byte KByte Regiszter Cache 10-20*10-9 20-40*10-9 MB Operatív tár 70-100*10-9 GB Mágneslemez 10*10-3 GB Szalagos tároló Optikai lemez 300-500*10-3

Tárolási alapfogalmak Az adat legkisebb tárolási egysége az egy bináris jel bit (binary digit) értéke 0 vagy 1 A fizikailag egységként kezelhető legkisebb memóriaterület a rekesz (location, cell), mérete leggyakrabban 1 byte = 8 bit A műveletvégzés során a számok ábrázolására 1 byte nem elegendő, ezért egy egységként 2-4-8 byte-ot használ a processzor. Ezt szónak nevezzük. A szó az adatnak nem fizikai, hanem logikai mértékegysége. Bájtsorrend nagy endián - a bájtok sorrendje egy szóban megegyezik a címsorrenddel kis endián a bájtok sorrendje fordított Minden rekesz önálló és egyedi címmel rendelkezik, amelyet szigorúan növekvő sorrendben rendelnek a tárhoz. A processzor címezhető tártartományát címvezetékeinek száma határozza meg valós tárolókezelés virtuális tárolókezelés

Alapvető tárjellemzők tárkapacitás [byte] szószélesség egy tárművelettel elérhető bitek száma tárhozzáférési idő - az információkéréstől az adat megjelenéséig eltelt idő ciklusidő - két azonos tárművelet között eltelt idő felvett teljesítmény átviteli sebesség egységnyi idő alatt írható vagy olvasható bitek száma költséghatékonyság ár/bit megbízhatóság MTBF rendelkezésre állás READ t acc t c DATA READ

Tárak osztályozása Alkalmazás szerint operatív tár háttértár speciális tár (puffer tárolók) Hozzáférés módja szerint közvetlen soros asszociatív (tartalom szerinti) Funkciója szerint írható/olvasható csak olvasható A tápfeszültség kikapcsolása után felejtő nem felejtő Tárolási elv szerint félvezető mágneses optikai Törlés szempontjából nem törölhető törölhető dinamikus - működés közben törlődő statikus - nem törlődő

Félvezető tárak mátrix szervezésűek modulrendszerű nagy működési sebesség kis méret nincs benne mechanikus alkatrész csekély teljesítményfelvétel tömeges gyártás kedvező ár Közvetlenül címezhető Félvezető tárak Tartalommal címezhető Felejtő Nem felejtő Írható/ olvasható Statikus Dinamikus Statikus

Félvezető tárak Típus Funkció Törlés Tápfeszültség nélkül Tipikus alkalmazás SRAM Olvasás/írás Elektromos Felejt 2-es szintű gyorsítótár DRAM Olvasás/írás Elektromos Felejt Operatív tár ROM Olvasás Nem törölhető Nem felejt Fix programtár nagysorozatú berendezésekben PROM Olvasás Nem törölhető Nem felejt Fix programtár kissorozatú berendezésekben EPROM Olvasás UV fény Nem felejt Prototípusok EEPROM Olvasás Elektromos Nem felejt Prototípusok Flash Olvasás/írás Elektromos Nem felejt Cserélhető tár digitális eszközökhöz

Nem felejtő tárak ROM Read Only Memory programozása a gyártás során történik fotómaszkos eljárással a maszk készítése drága, de nagy sorozatú gyártásnál költséghatékony tartalma nem változtatható PROM Programmable ROM egyszer programozható elektromos úton, az adatmezőben a sorok és az oszlopok közötti kapcsolatok kiégetésével EPROM Erasable PROM kvarcüveg ablakon át ultraibolya fénnyel az információtartalom törölhető úgy, hogy az összes bitet 1-re állítjuk prototípusoknál gazdaságosabb, mint a PROM belső felépítése hasonlít az SRAM-hoz EEPROM Electrical EPROM impulzusokkal törölhető nincs szükség a tok kiszerelésére kapacitása az EPROM 1/64 része és csak fele olyan gyors Flash memory blokktörlést és -újraírást alkalmaz megközelítően 10 ezer törlést bírnak ki

RAM általános felépítése Adat bemenet RAM Random Access Memory Cím bemenet Cím dekódolás Tároló cellák Írás/olvasás vezérlés I/O vezérlés Adat kimenet

Q + Tároló cella megvalósítása Q I H T1 T2 Y Q D-tároló X W C Ha T1 bázisán feszültség (H) van, akkor T1 vezet Ha X,Y alacsony (L) szinten van, akkor T1 nyit, T2 zár Ha X,Y magas (H) szinten van, kiolvasás C kondenzátor töltés formájában tárolja az információt Kiolvasás a kondenzátor kisül, eredeti tartalmát vissza kell írni C kis kapacitású, hamar elveszti a töltést, ezért rendszeresen frissíteni kell

Memórialapkák Vezérlőjelek CS memóriamodulok kiválasztása, címszelektálás WE adatok írásának/olvasásának kiválasztása OE kimenet engedélyezése, tiltott állapotban leválasztás a buszról RAS sorcím engedélyezése Row Address Strobe CAS oszlopcím engedélyezése Column Address Strobe Bájtszervezésű Bitszervezésű 32 MB-os SIMM modul

Statikus RAM SRAM - tartalmát a tápfeszültség megszűnéséig megtartja - gyors (15 ns)

CLK RAS 1 2 3 4 5 6 t 1 t 2 Dinamikus RAM DRAM CAS A sor oszlop R/W D/Q adat - tartalmát a kondenzátor lassú kisülése miatt elveszíti, ezért frissíteni kell (Refresh) - nagy kapacitású - lassabb, mint a statikus RAM

DRAM-ok frissítése belső frissítésű tárak külső logika oldja meg (ez lehet a processzor is, pl. Z80) Distributed Refresh 2 µs-onként a tárat kiolvassa, majd visszaírja Burst Refresh 2 µs ideig egy blokkot kiolvas és visszaír Frissítés Synchronous (Hidden) Refresh akkor frissít, amikor a processzor nem használja a memóriát Utasítás Fetch Frissítés Dekódolás Operandusok lehívása Végrehajtás Eredmény visszaírása Frissítés

Tárbővítés A 0 A 1 A 2 A 3 CS WE SN9483 16x4 D in0 D in1 D in2 D in3 D out0 D out1 D out2 D out3 64x4 bites memóriablokk megvalósítása A 5 A 4 CS 0 A 0 3 D in0-3 CS 1 16x16 bites memóriablokk megvalósítása CS 2 0 3 D in0-3 D in4-7 D in8-11 D in12-15 CS 3 S MREQ WE D out0-3 E D out0-3 D out4-7 D out8-11 D out12-15

Átlapolt tár-hozzáférés (Interleaving) memóriabankok alkalmazásával

Lapmódú működés RAS CAS cím adat A lapmódú működést három ok korlátozza elértük a lap végét nem címfolytonosan olvassuk a memóriát tárfrissítés miatt ki kell lépni a lapmódból

DRAM-ok típusai SDRAM (Synchronous DRAM) egyetlen szinkron órajel vezérli kötegelt hozzáférésű meg kell határozni a csoportos átvitel hosszát az átvitel típusát folytonos átlapolt futószalag elvű, amely megengedi a következő memóriahivatkozás megkezdését az előző befejezése előtt

Memóriamodulok SIMM DIMM RIMM

Asszociatív tárak 1 0 0 1 Kulcsregiszter 1 x 0 x Maszkregiszter Maszk regiszter IE Kulcs regiszter ID 1 1 0 0 1 0 0 0 0 0 Találati regiszter 1 0 0 0 0 0 0 1 1 0 Dekóder S Asszociatív tömb M Találati regiszter Találati kiválasztó áramkör OD Kimeneti regiszter

A számítógép egységek teljesítménynövekedése CPU +50%/év Teljesítmény RAM +20%/év HDD +10%/év Évek

Gyorsítótárak Gyorsítótár (cache) utasítások és adatok átmeneti tárolására szolgáló, gyors működésű, a felhasználó számára nem elérhető tár. Cél az adatforgalom gyorsítása Operatív tár és háttér tár között CPU és operatív tár között Leválasztó (look-through) Mellérendelt (look-aside) Elhelyezkedés processzoron belül (on-chip cache) L1 8-32KB processzoron kívül (off-chip cache) L2 64KB 1MB Tárolt információ csak adat csak utasítások adat és utasítások együtt Az adatátvitel a cache és a memória között mindig blokkos formájú cache sor Hatékonyság találati arány (cache hit) találatok száma h = összes tárhozfordulás cache mérete szervezési módja találati hiba aránya (cache miss) (1-h) = max.10 % Operatív tár Cache Háttértár száma Cache koherencia - a cache tár és az operatív tár megfeleltetett részei tartalmának az egyezősége. CPU CPU Cache Cache Operatív tár Operatív tár

Adatmozgatás cache-hit és cache-miss esetén Cache tár Tag rész Adat rész Operatív tár Cím dekódoló Tároló cache-hit CPU msin datsin ímsin datsin CPU Cache tár Tag rész Adat rész Operatív tár Cím dekódoló Tároló cache-miss t t t c miss a a cache tár elérési ideje ( 25ns) blokk betöltési ideje a tárból ( 260ns) = h t c + (1 h) t miss = 0,95 25 + 0,05 260 = 36,75ns =

Cache tárak Tag rész a címnek az a része, amely alapján a visszakeresés történik. Származhat a virtuális címből vagy a fizikai címből, attól függően, hogy a cache tár a processzor és a címfordító egység (MMU), vagy az MMU és az operatív tár között helyezkedik-e el. CPU Cache MMU Operatív tár CPU MMU Cache Operatív tár Állapotjelző bitek Valid bit (V) a cache tár tartalmának érvényességét jelzi. Értéke új adat betöltésekor 1. Dirty bit (D) a blokk valamely részének módosított állapotát jelzi. Az ilyen blokk helyére nem lehet új blokkot betölteni, előbb a blokkot vissza kell írni az operatív tárba.

Cache tárak jellemzői cache méret az elhelyezkedéstől függően általában 8kB 1MB blokk méret az operatív tár és a cache tár között egy egységben mozgatott adatmennyiség 4-32 byte (utasításoknál nagyobb, adatok esetében kisebb) sorméret egy összehasonlítással kijelölhető adatmennyiség (általában a blokkal megegyező vagy annál kisebb) helyettesítési algoritmus (replacement policy) új blokk betöltésekor a kicserélhető blokk meghatározásának algoritmusa adataktualizálási módszer (write strategy) a módosítandó adatok cache tárba és az operatív tárba írásának módszere adategyezőség biztosítása (coherency mechanism) az operatív tár és a cache tár tartalmának egyezőségét biztosító módszer

Teljesen asszociatív cache tár (fully associative) Cím 16831 2 1 28 2 2 Blokk sorszám V D 0.szó 1.szó 2.szó 3.szó 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Tag rész Adat rész 0 1 2 16831 X Adat 254 255

Közvetlen leképezésű cache tár (direct mapped) Cím 168 31 2 1 20 8 2 2 Lap sorszám V D 0.szó 1.szó 2.szó 3.szó 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Tag rész Adat rész 0 1 2 Sorindex 31 168 X Adat 254 255

Kétutas közvetlen leképezésű cache tár Cím 1 1 168 31 2 1 19 8 2 2 0.szó 1.szó 2.szó 3.szó 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Lap sorszám V D Lap sorszám V D 0.szó 1.szó 2.szó 3.szó 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Adat rész Tag rész Tag rész Adat rész 0 1 2 X 168 168 X 31 254 255 Multiplexer Adat

Csoport asszociatív cache tár (set associative) Cím 168 31 2 1 22 6 2 2 Lap sorszám V D 0.szó 1.szó 2.szó 3.szó 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Tag rész Adat rész 0 1 2 soport index 31 168 X 62 63 Adat

Tartalom betöltése aktuális igény felmerülésekor (demand fetching) a keresett adat nincs a cache-ben, a blokk a cache-be töltődik. Párhuzamos a processzor is megkapja az adatot (leggyakrabban alkalmazott eljárás). következő blokk előkészítése (prefetching) automatikusan előkészíti az olvasott után következő blokkot (kis blokk méretek esetén célszerű alkalmazni). szelektív előkészítés (selective fetching) az írható adatokat a memóriában tartjuk, a cache-be csak olyan adatok kerülnek, amelyeket nem kell módosítani (bonyolult alkalmazni).

Aktualizálás Adategyezőség (Cache koherencia) biztosítása - garantálni kell, hogy a processzor mindig aktuális adattartalomhoz fér hozzá. azonnali átírás (write trough) visszaírás (write back) egyszeri átírás (write once) Egyes processzorok esetén (Power PC 601, i486) szoftver úton választható az átírásos vagy visszaírásos aktualizálási módszer egyike.

Azonnali átírás (write trough) A módosított byte azonnal beírásra kerül az operatív tárba, függetlenül attól, hogy a blokk a cache van-e. Az átírás gyorsítható 1-2 blokkos puffer használatával, amelyben sorban állnak a memóriába írandó byte-ok (buffered write through). cache-hit esetén a cache tartalma is aktualizálódik (write-hit) cache-miss esetén az átírást követi egy olvasási kísérlet read-miss, amelynek eredményeként a blokk betöltődik a cache-be a blokk betöltése után aktualizálja a cache-t és a memóriát is (write through with write allocation) az átírást nem követi betöltés (posted write through). Leggyakrabban ezt a módszert alkalmazzák.

Visszaírás (write back) A visszaírási eljárás cache-hit esetén csak a cache tartalmát aktualizálja, az operatív tár tartalmát csak a blokk cseréjekor módosítja cache-miss esetén csak az operatív tár tartalmát aktualizálja vagy a blokkot beolvassa, utána aktualizálja, visszaírás az operatív tárba csak a blokk cseréjekor történik. Ez a gyakrabban alkalmazott eljárás. A visszaírási módszer hátránya, hogy a cache és az operatív tartalma nem mindig egyezik meg. Az átírás elmaradása miatt működése gyorsabb, és csökken a busz terheltsége.

Egyszeri átírás (write once) A módosított byte első cache-be írásakor az operatív tár tartalmát is módosítja a processzor, majd a továbbiakban már csak a cache-ben aktualizálja a tartalmat. Az operatív tár aktualizálása csak a blokk cseréjekor történik. Előnye a busz terhelése kisebb, mint az átírásos módszeré az operatív tár aktualizálási gyakorisága is megfelelő, gyakoribb, mint a visszaírásos módszer esetén

Helyettesítési eljárások A cache tárak hatékonyságát a hozzáférési idő mellett az határozza meg, minél ritkábban kell a tartalmát cserélni. Ez függ a cache tár méretétől az alkalmazott helyettesítése stratégiától A cache táraknál és a virtuális címzésű táraknál hasonló helyettesítési eljárásokat alkalmaznak véletlenszerű (random) A cserélendő blokkot egy véletlenszám-generátor által szolgáltatott sorszám jelöli ki. A véletlen szám előállításához a számítógép rendszeróráját használják. Egyszerű eljárás, leghatékonyabban a teljesen asszociatív cache tárak esetében. Hátránya, hogy nem veszi figyelembe a blokkok tényleges használati gyakoriságát. FIFO (first in first out) A legrégebben betöltött blokkot cseréli ki. Egy számlálóval valósítják meg, amelynek tartalma a cserélendő blokkra mutat. Csoport-asszociatív tár esetén minden csoporthoz tartozik egy számláló. Egyszerű és olcsó megoldás, viszont nem garantált, hogy a legrégebben betöltött blokk a legkevésbé használt. legkevésbé használt (LRU - least recently used) blokkok cseréje

Probléma Adategyezőség biztosítása a processzor olyan beírási módszert alkalmaz, amely csak időnként aktualizálja az operatív tár tartalmát az operatív tárat közben más egység olvashatja/módosíthatja DMA-n keresztül lebonyolított I/O művelet a buszon megjelenő címek ellenőrzése szaglászó cache (snooping cache) adatátviteli művelet cache-en keresztül történő lebonyolítása (I/O through cache) többkapus cache tár alkalmazásával lapváltás virtuális lapkezelésnél CPU Cache tár Tag rész Adat rész Operatív tár Cím dekódoló Tároló Címsin Adatsin DMA

Többszintű gyorsítótárak 1. szintű gyorsítótár (szétválasztott gyorsítótár) L1-I utasításokat, L1-D adatokat tárol. A CPU lapkán helyezkednek el, méretük 16-64 KB 2. szintű gyorsítótár nincs rajta a lapkán, de a CPU sethez tartozik, általában egyesített (adatokat és utasításokat is tartalmaz). L2 jellemző mérete 512KB-1MB 3. szintű gyorsítótár a processzor alaplapon található és néhány MB SRAM-ot tartalmaz. L1 teljes tartalma benne van L2-ben, és L2 teljes tartalma megtalálható L3-ban.

Virtuális tárkezelés Oka operatív tár véges kapacitása nem növelhető olyan ütemben, ahogyan a programok és az adatok mérete növekszik gazdaságossági megfontolások nagy mennyiségű adatot olcsó adathordozón célszerű tárolni Virtuális (logikai) címtér Címleképezés Valós (fizikai) címtér logikai címtér amit a programozó lát fizikai címtér rendelkezésre álló megcímezhető memória címleképezés (címfordítás) tárolókezelő rendszer (MMU -memory manager unit) feladata a virtuális címek átalakítása valós címekké

Virtuális tárkezelés módszerei lapozás A lapok olyan adatblokkok, amelyeknek a mérete azonos és rögzített, általában 512 byte 64KB. szegmentálás A szegmens olyan adatblokk, amelynek a mérete nem rögzített, választható, lehet átlapolható osztott felhasználás céljából. lapozásos szegmentálás Szegmentáláskor a tár elaprózódik. A tár rugalmasabban kezelhető a lapozási technika bevezetésével. A szegmens-, illetve laptáblázatok a következő adatokat tartalmazzák a logikai blokk sorszáma a blokk kezdőcíme az operatív tárban a blokk mérete szegmentált tárkezelésnél hozzáférési jogok állapotjelzők a blokk háttértárbeli fizikai címe (sáv, szektor)

Lapozás és szegmentálás Lapozás Szegmentálás Tudnia kell róla a programozónak? Nem Igen Hány lineáris címtartomány létezik? 1 Sok Meghaladja-e a virtuális címtartomány mérete a fizikai tartományt? Könnyen kezelhetők-e a változó méretű táblák? Igen Nem Igen Igen Miért alkalmazzák? Nagy memória szimulálása Több címtartomány biztosítása

Virtuális cím kiszámítása Legyen a lapkeretek mérete 4k virtuális címtartomány 64k fizikai címtartomány 8k valós cím = lapkeret kezdőcíme + relatív cím virtuális cím = 59124 relatív cím = 59124-14*4096 = 1780 valós cím = 4096+ 1780= 5876 Virtuális címtartomány 0K 4K 8K 12K 1. 2. 3. 4. V Laptábla 0 0 1 0 0 0 1 0 Valós címtartomány 1. 2. 0K 4K 52K 56K 60K 14. 15. 16. 0 1 0 0 2 0

Lapozás Lapozásnál az egyes lapok csak a lapkeretek által meghatározott helyre kerülhetnek. A lapozás egy összefüggő virtuális címteret képez le. Lapbetöltés felmerülő igény (demand fetching) esetén történik. A hiányzó adat detektálása (page fault) lapváltási eljárást indít el. Az aktuális utasítás végrehajtása felfüggesztésre kerül az utasítás folytatása a felfüggesztési fázistól (leggyakrabban az operandusok előkészítése). Ebben az esetben az aktuális állapotjelzőket el kell menteni, majd folytatáskor vissza kell tölteni. az utasítás újrakezdése a lapváltás után. Vissza kell állítani az utasítás megkezdése előtti állapotot. Kevesebb állapotjelzőt kell elmenteni. Gyakrabban alkalmazott eljárás. Amennyiben nincs üres lapkeret, a felszabadítandó lapkeretet ki kell választani.

Egylépcsős lapcím kiszámítás Virtuális címtartomány 4G Virtuális cím Lapsorszám Relatív cím Valós tároló 32K Lap sorszám Lap tábla Lapkeret sorszám 3 20 X 12 15 Fizikai cím Lapkeret 4K A laptáblázat mérete igen nagy, ezért a háttértárolón kell elhelyezni. A leggyakrabban használt lapok adatait a TLB tartalmazza. A fizikai cím a lapkeret sorszámának és a relatív címnek az összefűzésével áll elő.

Lap helyettesítési eljárás véletlenszerű választás legrégebben betöltött (FIFO) legrégebbi, nem használt adott idő alatt nem használt legkevésbé használt (LRU) lap cseréje Az aktuálisan használt lapok (munkahalmaz - working set) a legutóbbi k memóriahivatkozásban használt lapok halmaza. Ha a munkahalmaz nagyobb a rendelkezésre álló lapkeretek számánál, a program folyamatosan laphibát generál, amit vergődésnek (thrashing) nevezünk. Nagy lapkeretek esetén belső elaprózódás jön létre. Kisebb lapkeretek választásánál csökken a vergődés esélye, viszont kevésbé hatékony a lapok átvitele a tár és a háttértároló között. Amennyiben az eltávolítandó lapon nem történt változtatást, nem kell a tartalmát visszaírni a háttértárolóra.

Cím Szegmentálás A szegmens olyan logikai egység, amely a programozó számára látható külön címtartománnyal rendelkezik (eljárás, tömb, verem, stb) hossza változhat a végrehajtás során. A szegmentálás elősegíti a különböző programok közötti kód- és adatmegosztást. Megvalósítása cseréléssel (swapping) lapozással (paging) 0 0. szegmens 1. szegmens 0. szegmens 7. szegmens 2. szegmens... n. szegmens Szegmensszá 0. szegmens 7. szegmens Cserénél a nem azonos szegmensméretek miatt idővel külső elaprózódás jön létre. Ezt 3. szegmens 3. szegmens összepréseléssel (garbage collection) szüntetik 8. szegmens meg. 8. szegmens 6. szegmens 6. szegmens

Egylépcsős szegmenscím kiszámítás Virtuális cím Valós tároló Sorszám 8 Relatív cím 24 Szegmens sorszám Szegmens tábla Szegmens fizikai kezdőcíme 32 + Szegmens kezdet 32 Fizikai cím A virtuális cím felső 8 bitje (beágyazott sorszám) jelöli ki a táblázat megfelelő sorát, amelyben a szegmens kezdetének fizikai címe található. A fizikai cím a szegmens kezdő címének és a relatív címnek az összege.

Szegmens helyettesítési eljárás első szabad hely (first fit). A memória kezdetétől vizsgálva az új szegmenst az első megfelelő üres helyre helyezi el. Kis szegmensek esetén jól bevált eljárás a következő szabad helyre (next fit). Az előzőleg elhelyezett szegmens követő első szabad helyet választja. A memória egyenletesebb kihasználtságára törekszik. legjobb illesztés (best fit). Megkeresi a legkisebb szabad helyet, amelyben a szegmens még elhelyezhető. Nagyobb összefüggő tárterületek hoz létre. legrosszabb illesztés (worst fit). A szegmenst úgy helyezi el, hogy lehető legnagyobb szabad terület maradjon mellette. Cél a minél nagyobb összefüggő szabad területek biztosítása.

Lapozásos szegmentálás A szegmenseket fix méretű lapokra osztjuk. Minden szegmenshez külön laptáblára van szükség, viszont nem kell egyszerre az egész szegmenst a memóriában tartani.

Virtuális címek leképezése MMU feladata a virtuális címek átalakítása fizikai címekké a szegmens- és/ vagy lapleíró táblázatok adatainak felhasználásával. A virtuális címzés táblázatok alapján megvalósított egy- vagy többlépcsős indirekt címzés. Lapcímfordító cache tár (TLB Translation Lookaside Buffer) a leggyakrabban használt lapok adatait (descriptors) tartalmazza. lapváltáskor cache-hit. Virtuális lapcímet helyettesíti a fizikai lapcímmel, a védelmi jelzőket továbbítja a processzorhoz lapváltáskor cache-miss MMU előállítja a fizikai címet, a szükséges adatokat betölti a TLB-be, felszabadítva annak valamely sorát. TLB 64-1024 sor méretű teljesen asszociatív 2-4 utas csoport asszociatív

Egylépcsős szegmenscím kiszámítás szegmensregiszter felhasználásával Virtuális cím Valós tároló Szegmens regiszter Állapotjelző 2 Relatív cím 32 6 Szegmens sorszám Szegmens fizikai kezdőcíme + Szegmens kezdet 32 Fizikai cím 32 Szegmens tábla Az állapotjelző értéke a processzor működési módjától függ. A szegmens tábla nagy mérete miatt az operatív tárban helyezkedik el. A fizikai cím a szegmens kezdő címének és a relatív címnek az összege. Ezt a módszert alkalmazza a Power PC 601

Szegmens regiszter Kétlépcsős szegmentált lapcím kiszámítása Virtuális cím Állapotjelző Virtuális cím 2 32 Valós tároló 16 Szegmens sorszám Szegmens kezdőcíme + 32 32 Virtuális cím Szegmens tábla 20 Lap sorszám Lapsorszám Lapkeret sorszám Relatív cím 12 X 32 Fizikai cím Lapkeret kezdet 20 Lap tábla

Szegmens regiszter Háromlépcsős szegmentált lapcím Virtuális cím kiszámítása Állapotjelző Virtuális cím 2 32 Valós tároló 16 Szegmens sorszám Szegmens kezdőcíme + 32 32 Virtuális cím Kat. tábla Laptábl. sorszám Szegmens tábla 20 Laptáblázat kezdőcíme 10 Laptáblázat Lap sorszám Lapsorszám 10 Lapkeret sorszám Relatív cím 12 Fizikai cím Lapkeret kezdet Laptáblázat katalógus tábla 20 Lap sorszám Lapkeret sorszám X 32 Lap táblázatok 20

Tárvédelmi módszerek MMU feladata címkiszámítás tárvédelmi feladatok memóriaterület védelme, a címzések helyességének ellenőrzése rendszerprogramok védelme a felhasználó beavatkozásaitól a felhasználói taszkok egymástól elkülönítése a tárolt adatokhoz történő hozzáférések ellenőrzése Programok és felhasználói feladatok védelme hierarchikus rendszer (ring protect system) nem hierarchikus rendszer (capability based protect system) Minden taszkhoz egy táblát rendelnek, amely meghatározza a taszknak azon engedélyezett műveleteit, amely más taszkokat is érintenek. Nincs hardver megvalósítása, csak az operációs rendszer működteti.

Hierarchikus védelmi szerkezet A legmagasabb védelmi szinttel az operációs rendszer rendelkezik. A legalacsonyabb védelmi szintje a felhasználói programoknak van. A programok más rutinokat csak a saját védelmi szintjükön vagy magasabb szinten hívhatnak. Az alacsonyabb szinteket és az azonos szinten futó többi taszkot csak védelmi kapukon keresztül érhetik el. A feldolgozó programok adatokat csak a saját szintjükön, illetve alacsonyabb védelmi szinteken érhetnek el. A szintek közötti védelmet az egyes szintek veremtárolója, a feladatok közötti védelmet az egyes feladatok saját leíró (descriptor) táblája biztosítja. A hierarchikus rendszer előnye a hardver megvalósítás, és az ebből származó gyorsaság. A hierarchikus védelmi rendszert alkalmazzák az Intel processzorok. B taszk Taszkok közötti védelem A taszk Szintek közötti védelem

Az adatok védelme MMU szabályozza a szegmensekhez, illetve lapokhoz történő hozzáférési jogokat olvasási jog (read access) írási jog (write access) végrehajtási jog (execute access) csak programot tartalmazó laphoz vagy szegmenshez rendelhető