SzA13. A közvetlen memória-hozzáférés (DMA) Flashcards

1
Q

DMA Fogalma

A

Használata nagy tömegű adat esetén célszerű, ahol gyors perifériákat alkalmazunk. DMA használatával az átvitelt a processzor használata nélkül valósítjuk meg.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

DMA feltétele, előnye

A

Feltétele:

  • képes legyen memóriacímek generálására
  • képes legyen adatátvitelre
  • képes legyen busz vezérlési funkciókra (foglalás, vezérlés)
    Lényege: több adatot tudunk átvinni CPU nélkül
    Előnye: megszakítások száma nagyságrendekkel csökken.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

DMA megvalósítása

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

DMA működése (előkészítés)

A

Előkészítés (felparaméterezés), programozott I/O-val történik, átvitelhez szükséges információk átvitele pld.:

  • átvitel iránya,
  • I/O egység címe,
  • memóriacím kezdőértéke,
  • átvivendő egységek száma
  • átviendő adatok jellege (bájt, félszó, szó)
  • átvitel módja (ciklus lopásos, blokkos)
  • részt vevő egységek
  • prioritási értékek rendelése
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

DMA működése (Blokkos átvitel)

A

Blokkos (burst cycle mode)

  1. CPU felparaméterezi a DM vezérlőt (előkészítés fázisa)
  2. A DM vezérlő DMA request jelzést küld a CPU-nak (kéri a rendszersín használati jogot)
  3. A processzor DMA acknowledge jelzéssel lemond a rendszersín használati jogáról
  4. DMA vezérlő a kapott adatok alapján perifériáról beírja az első átvinni kívánt adatot IODR-be
  5. A DMA vezérlő az IODR-ben lévő adatot a rendszersínen keresztül beírja az IOAR általá meghatározott memóriacímre
  6. A DMA vezérlő dekrementálja a DC-ben tárolt értéket, és inkrementálja az IOAR-ben tárolt értéket
  7. DMA ellenőrzi a DC tartalmát. Ha nem 0, vissza a 4. lépésre, ha igen, akkor megszakításkéréssel jelzi a CPU felé, hogy befejeződött egy blokk átvitele (pl 3200 bájt lehet egy HDD esetén)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

DMA működése (cikluslopásos átvitel)

A

egy-egy adat átvitele esetén (karakteres nyomtatók) DMA vezérlő és CPU időosztásosan közösen használja a rendszerbuszt.
1. felprogramozás
2. DMA request vezérlővonal aktiválása
3. a DMA töréspontban a CPU lemond a buszhasználatról (DMA acknowledge)
4. Adatátvitel I/O és a memória között
5. Ha DC nem 0, de az I/O nincs “ready” állapotban, akkor a vezérlést visszaadja a CPU-nak
6. Ha DC 0, akkor megszakítás jelzést küld és befejezi az adatátvitelt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly