作者mingcloud (逆宇)
看板Grad-ProbAsk
標題[理工] Polling, Interrupt, DMA
時間Thu Nov 29 00:16:07 2012
各位大大好
I/O的這三種溝通方式不管在OS還是在計組上面都有談
我想要問的是
Interrupt 和 DMA 的不同
Interrupt的工作大概是
需要OS工作 interrupt, 結束時還要再丟一個 interrupt
DMA (需要硬體額外支援):
OS需要主動先去設置 ID, Operation, Addr, Length
結束之後還是要polling
感覺interrupt 的工作順序和 DMA很接近
有沒有甚麼更決定性的不同
可以更清楚瞭解到DMA和 INTERRUPT的差別
註:
我看白算盤上導出DMA是先講一個例子
說如果這顆硬碟時時刻刻忙碌的話 會消耗processor 25%的時間
所以很難接受
但是他用來說明DMA比較好所採用的例子
把硬碟傳的BLOCK SIZE放大從 4Byte -> 8KB
感覺有點像是用設計數據的方式來說明DMA的優點耶...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.44.182
推 lion15945:我自己有想了一個好記的例子 11/29 23:53
→ lion15945:拿教授要學生寫報告的例子 11/29 23:54
→ lion15945:Polling IO:教授會時常主動關心你的報告進度 11/29 23:55
→ lion15945:Interrupt IO:你寫報告每個段落完成了再自己告訴教授 11/29 23:56
→ lion15945:全部寫好了再通知我 並把它交給助教(DMAC)就好 11/29 23:57
→ lion15945:上面是DMA 忘記打 11/29 23:57
→ lion15945:不知道這樣清不清楚? 11/29 23:57
→ lion15945:其實我覺得OS的設計很人性 可以時常轉化日常生活的例子 11/29 23:59
→ mingcloud:感謝 11/30 00:16
推 chi791103:推樓上~想些小例子真的幫助很大!!! 11/30 00:18