Saturday, 15 December 2012

Input/Output - Communication Methodology


Communication Methodology
ii) Direct Memory Access(DMA)
DMA merupakan salah satu cara untuk transfer data daripada RAM computer kepada bahagian computer yang lain tanpa melalui proses CPU. Kebanyakan data yang “input” ataupun “output” perlu diproses oleh CPU, tetapi melalui DMA, masa proses telah dijimatkan dan juga lebih berefisien untuk memperalihkan suatu data daripada computer ke device yang lain.

“Internal Configuration of DMA Controller”
“DMA Controller” merangkumi beberapa “registers”:
v “DMA Address Register” : Mempunyai “memory address”  untuk kegunaan data transfer.
v “DMA Count Register”/ “Word Count Register” : mempunyai bilangan“bytes” kepada data yang perlu ditransfer.
v “DMA Control Register” : menerima command daripada CPU.
v “Status Register” : menyumbang informasi kepada CPU.(tidak ditunjuk dalam carta di atas.)

Proses “DMA transfer”
·       CPU loads first memory address kepada “DMA Address Register” .
·       Seterusnya, bilangan bytes ditulis dan transfer kepada “DMA Count Register”.
·       Akhirnya, ia tulis satu atau lebih commands kepada “DMA Control Register”.
·       Commands tersebut akan specify cara transfer daripada “DMA Transfer Mode”, dan juga arah untuk transfer (iaitu dari I/O kepada memory, ataupun dari memory kepada I/O).
·       Command yang akhir sekali akan menyebabkan “DMA Controller” memulakan transfer tersebut. “Controller” akan menjadikan BR kepada 1,BG kepada 1 dan system buses akan “seizes control”.

“DMA Tranfer Mode”
·       “BURST Mode”/ “Block Transfer Mode” : “Entire block of data is transfer in one contiguous sequence. Once DMA Controller access to the system  buses by CPU, it transfer all bytes of data in data block before releasing control of the system buses to CPU.” Mode ini amat sesuai dalam proses programs atau fail data loading kepada memory.
·       “CYCLE STEALING Mode” : “DMA Controller obtains access to the system buses as BURST Mode, using BR and BG signals. It transfer one byte of data then deasserts BR, returning control system buses to CPU. It will continuously issues request via BR, transferring one byte data per request till the end. ”. “This mode is useful for controller to monitoring data in real time.”.
·       “Transparent Mode” : Mode ini banyak mengambil masa untuk transfer satu blok data. DMA Controller hanya akan transfer data apabila CPU beroperasi dengan tidak menggunakan system buses.

Interrupt Driven I/O
·       CPU request untuk melakukan operasi I/O
·       modul I/O transfer command ke peripheral
·       modul I/O mengirimkan interrupt kepada CPU untuk memberitahukan status hasil operasinya
·        CPU bereaksi atas status tersebut.

Written by,
NG SWEE YAN A/P SURESH KUMAR
B031210103

No comments:

Post a Comment