作者ggg12345 (ggg)
看板Programming
標題Re: [問題] VB V.S COM1 <---離題的組語教學
時間Fri Jul 13 22:58:02 2007
※ 引述《MasterChang (我愛ASM)》之銘言:
: ※ 引述《ggg12345 (ggg)》之銘言:
: : CPU processor 跟 I/O device 能同一時段內做 concurrent operation
: : 就因為有 interrupt 這個事件立即通知的功能. 若連續大量傳送 I/O data
: : 不用煩勞 CPU 就是靠 DMA (I/O channel 或 I/O processor) 與 interrupt
: : 來協助. 這種功能可不分那種 CPU 都是要有的.
: 1.I/O或是drvice在任一時間點只能作一件事情,這是常識。
cpu 對 memory 執行程式跟每個 I/O interface 上的 controller 控制 I/O
device 都是能同時各做各的.
: 2.不是所有CPU都有DMA。
processor 跟 DMA controller 是兩個獨立的裝置.
只要能讓 processor 短時間讓開 memory access 的 bus, 就能使用 DMA controller
替 I/O interface 與 memory 之間直接轉送 data, 不必煩勞 processor 來做.
processor chip 有控制輸入腳可以讓 address/data/cotrol bus 成為高阻抗
狀態的都能在 BUS 外接 DMA controller.
: 3.不是所有的I/O都有中斷。
Processor 都有 interrupt 訊號輸入腳, interrupt controller 是擴張這個
輸入成為多個輸入腳, I/O controller 是否要接上 interrupt controller
input line 是可以跳線或設定的. 硬體中斷或軟體 trap interrupt 未必只
是為了 I/O . 中斷就是改變 processor 對程式指令的執行次序, 也就是改變
processor 的控制歸屬於那個執行緒. 而 I/O 的外部中斷是最簡易的範例.
: 4.DMA在執行時應是不可中斷,也無法同時執行。
DMA cotroller , I/O channel 是很原始的 I/O processor , 可程式的功能
很低, 當然是不會有 interrupt input signal 去改變其執行動作的次序.
只要不同意 DMA controller access memory bus , 她自然就停下來等候,
但等候不是改變執行順序. 沒有人會說 DMA 在執行時不可中斷, DMA 本身就
沒有中斷輸入腳. 若說 DMA 進行中, processor 是否同意進行中斷, 那是
processor 的事, 跟 DMA 瞬間使用 BUS 無關. DMA 不會霸住 memory bus.
: 你可以透過queue來循序執行或是執行queue 中最高優先權
: 的i/o request。
I/O request Queue 是用來記住 device busy 時, 將此時的 request I/O 記
住, 排隊等 I/O ready 時再取出來接著做.
: 5.DMA本來就是要作這類的工作。
: 如果你不瞭解也沒用過,那請你不要鬼扯。
無知最勇 ! 某人使用這些東東做硬體, 電腦, OS 系統時, 絕對是連 BBS 都還
未出現.
: : 這就是 "純軟" 的想法, 要這樣做也沒有不可以. 但這類思惟者不可以阻止別
: : 人以軟硬不分的角度看待 computer , 禁止傳授跟硬體相關的知識. 任何事可
: : 以簡化抽象, 用新的名詞或方塊包含在內, 但不是消失.
: : 講精簡的, 還是得顧及必要的, 沒有必要的成份, 就不能組成正確的整體.
: : 算術與代數的最大不同, 就是用代號來命名與處理, 少了這項特性, 沒有
: : 等式化簡替換, 後面的微積分沒了符號運作就難了.
: 沒有人禁止。只是希望不要連教的人都不懂...天馬行空的鬼扯。
無知的勇真是自以為無敵的勇. 沒見過的世界, 聽起來就會像是鬼扯, 不過, 這些
書上都有.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.250.240
推 LiloHuang:純推這些書上都有 61.230.171.201 07/13 23:05
推 leicheong:該怎麼說呢? 感覺g大你回文時都不是針對 58.152.218.98 07/13 23:47
→ leicheong:對方貼的東西來回應, 總喜歡東拉西扯 58.152.218.98 07/13 23:48
→ leicheong:一些本來無關的東西, 結果討論就一點一 58.152.218.98 07/13 23:49
→ leicheong:點的, 微妙的偏移了... 看得真辛苦也 58.152.218.98 07/13 23:49
→ leicheong:以第三點關於中斷為例, 你貼的資料沒有 58.152.218.98 07/13 23:52
→ leicheong:錯, 不過用來回應M大那點, 總覺得不太 58.152.218.98 07/13 23:53
→ leicheong:對題...... 58.152.218.98 07/13 23:54
推 kangeroo:請問那一本書上有呢? 非本科生想自修 222.156.4.90 07/13 23:58
推 MasterChang:x86系列處理機系統與架構,連中文板都 203.67.211.133 07/14 01:33
→ MasterChang:有,中斷那段就是抄書的東西,如果只 203.67.211.133 07/14 01:33
→ MasterChang:道x86,還會天真以為所有處理器的中斷 203.67.211.133 07/14 01:34
→ MasterChang:都是長那樣子。 203.67.211.133 07/14 01:34
→ MasterChang:很多部分不太想回,例如DMA的東西,這 203.67.211.133 07/14 01:35
→ MasterChang:跟DMA本身有關,我也寫過no_blocking 203.67.211.133 07/14 01:36
→ MasterChang:的DMA controller,可以處理併發事件. 203.67.211.133 07/14 01:36
→ MasterChang:所以硬體部分很活。 203.67.211.133 07/14 01:38
→ MasterChang:沒有什麼絕對不絕對的。 203.67.211.133 07/14 01:38
推 ggg12345:不是所有的 I/O 都有中斷, 這個 I/O 指那140.116.250.240 07/14 08:00
→ ggg12345:那個地方,界面卡,I/O routine ? 中斷本來140.116.250.240 07/14 08:01
→ ggg12345:就是跟例外處理有關的事,這是一種一定會140.116.250.240 07/14 08:03
→ ggg12345:備有的機制,可以不用,所以才會有跳線,最140.116.250.240 07/14 08:06
→ ggg12345:極端就是power-off reset. 接下去一定又140.116.250.240 07/14 08:08
→ ggg12345:來亂罵一通. I/O 可以不使用中斷, 但中斷 140.115.1.146 07/14 19:00
→ ggg12345:裝置就是存在, 也被使用. Reset 就是特殊 140.115.1.146 07/14 19:03
→ ggg12345:的一種中斷. 140.115.1.146 07/14 19:06