Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaErnő Magyar Megváltozta több, mint 10 éve
1
PIO és DMA Zeke Éva Anita 2012. Készült a Számítógép rendszerek és perifériák tantárgyhoz
2
Hogyan küldhet át adatokat a periféria a memóriának, illetve viszont? Igazából az eddig tárgyaltak elegendőek a probléma megoldására, a periféria megszakítással jelzi a CPU felé, hogy munka van, a CPU pedig kiszolgálja a kérést, és pl. I/O címzéssel kiolvassa a perifériából az adatot, majd kiírja a memóriába. Ha sok az adat, sokszor csinálja meg a műveletet. Az ilyen adatátvitelt nevezzük PIO Programmed Input/Output, azaz Programozott ki/bemenet
3
A probléma az, hogy egy ilyen egyszerű művelet végrehajtásához nem kellene igénybe venni a CPU-t, hanem a perifériavezérlő is megoldhatná az adatok mozgatását közvetlenül a periféria és a memória között a CPU kihagyásával. E művelet neve a DMA lesz. A DMA a Direct Memory Access, Direkt vagy közvetlen memóriahozzáférés rövidítése. A művelet végrehajtásáért felelős áramkört DMA vezérlőnek hívjuk.
4
A processzor egy I/O művelet végrehajtásához szükséges információkat átadja egy, a processzortól független vezérlőnek. Ez a vezérlő a DMA (Direct Memory Access) vezérlő. Ezt követően az adatátvitelt a memória és az I/O eszköz között önállóan irányítja a DMA vezérlő. Ezáltal a processzor felszabadul, más feladatok végrehajtását lehetővé téve. Tehát lehetővé teszi adatok közvetlen cseréjét az operatív memória és a periféria között anélkül, hogy a CPU beavatkozását igénybe venné. (ebből következik, hogy ellentéte a PIO).
5
A DMA átvitelt az I/O eszközök DREQ0, DREQ1
DREQn (DMA REQuest) vezérlő vonalakon kezdeményezhetik. Ezekhez prioritás van hozzárendelve, ami szerint a DMA vezérlő rangsorolja az adatátviteli igények kiszolgálását. A DMA vezérlő a processzornak az adatátviteli igényt a HRQ (Hold Request) vezetéken jelzi,melyet az a HLDA (Hold Acknowledge) vezetéken engedélyez.
6
A DMA vezérlő egy I/O művelet befejezését egy megszakítás kérelemmel jelzi. Az adatátvitel állapotának nyilvántartására a DMA egy címregisztert és egy számlálóregisztert alkalmaz, melynek tartalma minden egyes átvitt adat után aktualizálásra kerül. Egy számítógépben általában több DMA vezérlő is megtalálható, ezek Master, illetve Slave kapcsolatban álló eszközök.
7
MÓDMaximális áteresztőképesség (MB/s) PIO Mode 0 3.3 PIO Mode 15.2 PIO Mode 28.3 PIO Mode 311.1 PIO Mode 416.6
8
MÓDMaximális áteresztőképesség (MB/s) DMA Mode 04.16 DMA Mode 113.3 DMA Mode 216.6 UltraDMA 3333.3 UltraDMA 6666.7 UltraDMA 100100.0 UltraDMA 133133.0
10
A számítógép alaplapján találhatóak a memória illesztő kártyák. A CPU direkt kapcsolatban áll a memóriával. A memóriában tartózkodnak az éppen futó programok, és a programhoz tartozó adatok.
11
A számítógép memóriája byte-okból épül fel, melyek sorszámozva vannak 0-tól n-1-ig, ahol n a memória mérete. A mai számítógépek memóriái byte- szervezésűek, ami azt jelenti, hogy a legkisebb adatmennyiség amellyel dolgozhatunk 1 byte (8 bit).
12
Ahhoz, hogy a memória byte-jait elérhessük, a memóriát címezni kell. A CPU a címet 16, 32,64 biten tárolja. Hogy pontosan hány biten, az processzorra jellemző adat.
13
Pl1: Mivel 16 biten 2 16 különböző érték tárolható, ezért 16 bites, vagyis két byte- os címzés esetén csak 2 16, azaz 65535 (64 KB) nagyságú lehetne a memóriánk. Az ezen felüli byte-ok nem címezhetők. Ez rendkívül kevés, és a mai igényeknek nem felel meg.
14
Pl2: 32 bites címzés esetén 2 32 byte, azaz 4 GB a memóriakorlát. Ugyanennyi címbittel még nagyobb memória címezhető, ha a memóriát 2, 4, 8 stb. byte-os egységként kezeljük. (Ezt az eljárást hívjuk Szó kiosztásos allokációnak ahol a szó a memória egysége és tetszés szerint szervezhető. Operációs rendszerek tárgynál fogják vizsgálni)
15
A memória byte-jai be vannak sorszámozva, a sorszámokat a megfelelő byte- ok címeinek nevezzük. A memória címeket ált. hexadecimálisan adják meg. Tehát, a memória minden byte-jának van egy címe, amit arra használhatunk fel, hogy tudjuk melyik byte-ról van szó. Illetve van tartalma, aktuális értéke, amely ‘$0 és $FF ‘közzé eshet.
16
Példa memória kiosztás – Windows eszközkezelő
17
Az I/O címzés: Ilyenkor a vezérlőbusz egyik vonala (I/O) jelöli ki, hogy a címbuszon található címre a memória vagy a periféria reagáljon. Vagy memória leképzés – ezzel a memóriát érjük el.
18
Leképezett memória: Adott címtartományt leképezik a memória adott címtartományára, tehát ezeken a CPU a perifériát (bővítőkártyát) éri el. Ha ezeken a címeken fizikai memória is elérhető lenne, akkor az vagy nem lesz elérhető, vagy a rendszer más címekre helyezi át. Néha nagyon nagy címtartományokat kell kihasítani a rendszermemória tartományából, ilyen például a videokártya memóriatartománya.
19
Multi programozásnál általában egy operatív táron több, egy időben futó program is osztozik. Mivel az operatív tár mérete korlátozott, általában nem fér bele egyszerre az összes futó program és az azok által használt összes adat. Ezért a memóriát dinamikusan, időközben változtatható módon kell az egyes programok rendelkezésére bocsátani.
20
Gondoskodni kell arról is, hogy az adott pillanatban szükséges információk a háttértárból a memóriába töltődjenek, a feleslegeseket pedig időlegesen ki kell írni a háttértárba. Az operációs rendszerek egyik legfontosabb feladata a memória kezelésének automatikus megoldása.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.