oxy
2003-10-01, 09:51 AM
在我的認知裡,DMA 就是提供device-device之間資料傳輸的通道
如果輸出端為Master、接收端為Target
那麼Master會先向DMA要求通道的使用權,而DMA若是能夠提供Master通道,就會先發訊號給CPU,要求中斷
然後DMA從Master端得到一些資料存在Register中(關於儲存Target的起始位置、資料大小......等等)
之後就把資料丟到Buffer中,開始做傳送的動作,直到傳送完畢。
那麼有幾個問題請教一下:
1.那麼DMA Controller應該可以執行將主記憶體的資料to/from到卡上的記憶體的動作嘍?
2.主版通常都有8個DMA通道,如果通道是閒置的,而同時有5個裝置要傳送資料,那麼是否可以同一時間做傳輸呢?當然前提是都拿到通道所有權。
3.DMA 通道對我來說是一個滿抽象的東西......如果A從到B,之間的連結32條資料線,那麼如果傳送32-bit的資料,代表說現在A-B之間的資料線就是DMA通道嗎?
4.卡上的Embeded system中有DMA Controller執行External Device to/from memory,是指說可以跟MB的某個裝置做資料傳輸,還是只能在卡上與卡其他原件做傳輸了?
拉哩拉匝講了一堆,希望各位大大能夠撥空指教,感謝萬分:D
如果輸出端為Master、接收端為Target
那麼Master會先向DMA要求通道的使用權,而DMA若是能夠提供Master通道,就會先發訊號給CPU,要求中斷
然後DMA從Master端得到一些資料存在Register中(關於儲存Target的起始位置、資料大小......等等)
之後就把資料丟到Buffer中,開始做傳送的動作,直到傳送完畢。
那麼有幾個問題請教一下:
1.那麼DMA Controller應該可以執行將主記憶體的資料to/from到卡上的記憶體的動作嘍?
2.主版通常都有8個DMA通道,如果通道是閒置的,而同時有5個裝置要傳送資料,那麼是否可以同一時間做傳輸呢?當然前提是都拿到通道所有權。
3.DMA 通道對我來說是一個滿抽象的東西......如果A從到B,之間的連結32條資料線,那麼如果傳送32-bit的資料,代表說現在A-B之間的資料線就是DMA通道嗎?
4.卡上的Embeded system中有DMA Controller執行External Device to/from memory,是指說可以跟MB的某個裝置做資料傳輸,還是只能在卡上與卡其他原件做傳輸了?
拉哩拉匝講了一堆,希望各位大大能夠撥空指教,感謝萬分:D