Következő: Időzítők
| Tartalomjegyzék
| Előző: Az interrupt vezérlő
Ha nagyobb adatmennyiségeket kivánunk a memória egyes részei
között mozgatni, vagy egy perifériális eszközről a memóriába
beolvasni, akkor ehhez igénybe vehetjük a processzor utasításait. A
folyamat óhatatlanul lassú lesz, mert mind az olvasási, mind az írási
művelet legalább egy-egy buszciklust igényel; nem is említve még
címek számolgatásához szükséges időket.
Ezért már régen feltalálták, hogy e műveletek céljaira egy önálló,
"cél-processzort" kell használni, amelyik az írási és olvasási címeket
automatikusan és igen gyorsan egyesével növeli, és a beolvasott adatot
késlekedés nélkül írja a cél-helyre. Természetesen ezen folyamat alatt
az "igazi" processzornak hallgatnia kell, nehogy a cím- vagy
adatbuszon helyrehozhatatlan keveredés álljon elő.
Az IBM-PC -ben is van ilyen ún. DMA vezérlő, mely különösen a
mérési eredményekként létrejövő adattömbök mozgatásában jeleskedik.
Ezen túlmenően van még egy igen fontos feladata: a DMA vezérlő
végzi a dinamikus RAM memória felfrissítését. Az időzítő 1. csatornája
kb. 15 microsec.-ként jelzést kült a DMA vezérlőnek. Ez ezt továbbítja
a DMA RQ (DMA REQEST) vezetéken e processzornak. A processzor ekkor
befejezi az elkezdett processzorciklust, majd visszaüzen a DMA
vezérlőnek, hogy az átveheti a buszok vezérlését. A DMA 5
processzorciklus idejéig kezeli a vonalakat. (Érdemes felfigyelni rá:
ezen szakasz alatt a processzor számára "nem telik az idő"...). A DMA
egység által végrehajtott látszólagos adatblokk-mozgások a memória
egy-egy részének felfrissítésével járnak. 512 ilyen felfrissítő ciklus
az egész memóriát "felújítja", a teljes memória tehát mintegy
milisecundumonként felfrissítésre kerül. Ez bőven elegendő a
megbizható, hibamentes működéshez.
Következő: Időzítők
| Tartalomjegyzék
| Előző: Az interrupt vezérlő
1999-09-23