Re: [理工]清大103計系

看板Grad-ProbAsk作者 (阿本)時間7年前 (2017/01/30 19:45), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《h9638512 (馬吉叫我辦的)》之銘言: 看不太懂張凡這題的解答>< http://i.imgur.com/sRral9v.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.235.130.102 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1483363607.A.833.html

01/02 22:27,
對於read from I/O來說,不管是write through或write
01/02 22:27

01/02 22:28,
back,DMA從IO讀資料進memory都不會改變cache中的資料
01/02 22:28

01/02 22:28,
CPU要讀資料的時候發現cache已經有他要的資料了,就不
01/02 22:28

01/02 22:29,
會再去memory找,殊不知,memory中的資料才是從I/O讀進
01/02 22:29

01/02 22:29,
來最新的資料,因此CPU總是拿到舊資料
01/02 22:29

01/02 22:30,
對於write to I/O來說,採用write back會導致CPU寫入
01/02 22:30

01/02 22:31,
cache時不會立即更新memory中的資料,而DMA要寫資料到
01/02 22:31

01/02 22:31,
I/O只會從memory抓資料來寫入,如此一來,DMA就會抓到
01/02 22:31

01/02 22:31,
舊資料了
01/02 22:31

01/02 22:32,
但採用write through的話,CPU寫入cache時同時更新
01/02 22:32

01/02 22:33,
memory中的資料,因此DMA在抓資料來寫入I/O時,就會抓
01/02 22:33

01/02 22:33,
到從CPU吐出來最新的資料,因此不會產生問題
01/02 22:33

01/02 22:35,
感覺我只是把解答翻譯成中文然後口語化一點,不知道有
01/02 22:35

01/02 22:36,
沒有幫助XD
01/02 22:36

01/02 22:38,
解釋的好清楚 非常感謝你!!
01/02 22:38
這題是清大103計系第13題 想再請問一下 什麼是dma perform read 什麼是dma perform write dma perform read是從io device讀資料進到memory嗎? 那dma perform write是什麼? 這題搞得我好亂啊... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.77.91 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1485776736.A.FC0.html

01/30 20:03, , 1F
dma perform write應該就是從memory抓資料寫到io?
01/30 20:03, 1F

01/07 00:22, , 2F
read: 讀mem 、write: 寫mem
01/07 00:22, 2F
文章代碼(AID): #1OZoTW_0 (Grad-ProbAsk)
文章代碼(AID): #1OZoTW_0 (Grad-ProbAsk)