Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Calculatoare


Index » educatie » » informatica » Calculatoare
» Accesul direct la memorie (DMA)


Accesul direct la memorie (DMA)


Accesul direct la memorie (DMA)

Interfata dispozitivului de IO contine: 1. un registru buffer de date IODR ca in cazul IO programabile;2. un registru de adresa IOAR; 3.un registru de date DC. Acesti registrii permit dispozitivului de IO sa transfere date din/spre, o zona contigua de memorie. IOAR este folosit pt a memora adresa urmatorului cuvant ce va fi transferat. Se incrementeaza automat dupa fiecare transfer de date. Registrul DC memoreaza numarul de date care trebuiesc transferate. Se decrementeaza automat dupa fiecare transfer de date si se testeaza daca este 0. Cand el devine 0, disp IO se opreste, in general IO este prevazut cu posibilitatea de a cere intrerupere, in care caz el trimite o intrerupere CPU-ului pt a-i semnaliza sfarsitul transferului. Un dispozitiv de IO cu capabilitate DMA poate transfera printr-o op continua un bloc lung de date - este situatia unui block transfer DMA. Pe de alta parte, dispozitivul de IO cu capabilitate. Transferurile DMA se deruleaza dupa cum urmeaza:

CPU executa doua instr de IO, care incarca registrele DMA: IOAR, si DC cu valorile lor initiale. IOAR ar trbui sa contina adresa de baza a memoriei principale care sa fie folosita in transferul de date. DC ar trebui sa contina numarul de cuvinte care sa fie transferate in, sau din, aceea regiune.



Cand dispozitivul de IO este gata sa transmita sau sa primeasca date, el activeaza spre CPU linia de DMA REQUEST. CPU astepta urmatorul breakpoint DMA. Apoi renunta la controlul datelor si al liniilor de adresa si activeaza DMA ACKNOWLEDGE.

Dispozitivul de IO transfera acum direct datele in sau din memoria principala. Dupa ce cuvantul este transferat, IOAR si DC se incrementeaza si respectiv se decrementeaza.

Daca DC nu este decrementat la zero, iar dispozitivul de IO nu estepregatit sa trimita sau sa primeasca urmatorul grup de date, el intoarce controlul CPU-ului eliberand magistrala de date si dezactivand linia DMA REQUEST. CPU raspunde dezactivand DMA ACKNOW-LEDGE si reluand operarea normala.

Daca DC este decrementat la zero, dispozitivul IO elibereaza din nou controlul magistralei de date. Poate de asemenea sa trimita un semnal de intrerupere la CPU. CPU raspunde prin oprirea dispozitivului de IO sau prin inceperea unui nou transfer DMA.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate