Schimb de date în sistemele de microprocesoare și microcontrolere

O modalitate de a face schimb de date cu UV se schimbă în modul de acces direct la memorie (DMA). În acest mod, schimbul de date între UV și memoria principală a microcomputerelor are loc fără participarea procesorului. Schimbul în modul DMA este controlat nu de programul executat de procesor, ci de circuitele electronice externe procesorului. În mod obișnuit, schemele care controlează schimbul în modul DMA sunt plasate într-un controler special, numit un controler direct de acces la memorie.







Schimbul de date în modul DMA permite utilizarea de dispozitive de stocare de mare viteză microcomputer externe, cum ar fi hard disk-uri, disc magnetic, deoarece PDP poate oferi un timp de partajare cu un octet de date între memorie și HEV ciclu de acces de memorie egal.

Există două tipuri de acces direct la memorie, cu "captură de buclă". Cea mai simplă modalitate de a organiza un DMA este de a folosi acele cicluri de CPU pentru schimbul în care nu schimbă date cu memorie. În astfel de cicluri, controlerul DMA poate schimba datele cu memoria, fără a interfera cu funcționarea procesorului. Cu toate acestea, este necesar să se izoleze astfel de cicluri, astfel încât să nu existe o suprapunere temporară în schimbul PDR cu operațiunile de schimb inițiate de procesator. La unele procesoare, se generează un semnal special de control, indicând ciclurile în care procesorul nu accesează interfața sistemului. Atunci când se utilizează alte procesoare pentru a izola astfel de cicluri, este necesar să se utilizeze circuite selective speciale în controlerele PDP, ceea ce le complică designul. Aplicarea metodei considerate de organizare a PDP nu reduce performanța microcalculatorului, dar în acest caz schimbul în modul DMA este posibil numai în momente aleatorii prin octeți sau cuvinte.







Mai frecvent este RAP cu "ciclul de captură" și deconectarea forțată a procesorului de la magistrala de interfață a sistemului. Pentru a pune în aplicare un astfel de regim DMA sistem de interfață microcalculator este completată de două linii pentru transmiterea semnalelor de control „cerință pentru accesul direct la memorie“ (TPDP) și „Furnizarea de acces direct la memorie“ (CNDO).

Semnalul de comandă al TPR este format din controlerul de acces direct al memoriei. Procesorul, după primirea acestui semnal, suspendă executarea următoarei comenzi, fără a aștepta finalizarea acestuia, emite interfeței sistemului semnalul de comandă al APDU și se deconectează de la autobuzele interfeței sistemului. Din acest punct, toate autobuzele interfeței sistemului sunt controlate de controlerul PDP. Controlerul DMA, utilizând interfața de sistem, schimbă un cuvânt cu un octet sau un cuvânt de date cu memoria microcomputerelor și apoi, înlăturând semnalul TTP, readuce controlul interfeței sistemului la procesor. Odată ce controlerul DMA este gata să schimbe următorul byte, acesta din nou "captează" ciclul procesorului etc. În intervalele dintre semnalele TTP, procesorul continuă să execute instrucțiunile programului. Astfel, executarea programului încetinește, dar într-o măsură mai mică decât atunci când se schimbă în modul de întrerupere.

Modul DMA este cel mai rapid mod de schimbare, care se realizează cu ajutorul hardware-ului special - controlorii PDP fără a utiliza software. Pentru implementarea modului PDP, controlerul trebuie să efectueze o serie de operații secvențiale (Figura 3.38):

Acceptați o cerere DREQ pe RAP de la UV;

generează o solicitare pentru HRQ de a capta autobuze pentru CPU;

primi un semnal HLDA care confirmă acest fapt după ce CPU-ul intră în starea de captare (SD, WA, WU la z-state);

generează un semnal DACK care informează UE despre începutul executării ciclurilor DMA;

generarea de semnale care asigură controlul schimburilor;

Schimb de date în sistemele de microprocesoare și microcontrolere







Trimiteți-le prietenilor: