瀏覽單個文章
adelies
Elite Member
 
adelies的大頭照
 

加入日期: Dec 2001
您的住址: Cape Crozier
文章: 6,122
引用:
Originally posted by strongarm
恕刪掉無相關部分....關於這段陳述,請努力想想 memory controller的作用,以及 memory access speed >> HD transfer speed,以及multitasking的作用,你就會了解,CPU絕不會在HD努力工作時閒閒沒事的,否則理論上,當CPU受memory限制而無法工作時,GUI將是呈現freeze的狀態.....而這是違背windows core當初的 priority multithread設計理念.....

還有,當檔案在傳輸時,屬於system level的file system manager是屬於CPU必須處理的範圍,不是單單開個direct memory access就完全不管事的囉


謝謝∼ 這邊小弟不是很瞭解,感謝指教,不過小弟想請問一下:

1. 小弟知道 Memory Speed >> HD Speed,如果你發一個 DMA Request,印象中 (對不起有點忘了) 系統不能 Break 掉這個 DMA,要等到他通通傳完為止 (一次最多 64K),所以就算 Memory 跑光速,還是得等 HD Controller 把資料讀/寫完,除非 Memory Controller 還能夠聰明的在等待時穿插 CPU 的讀寫指令,這點小弟就不知道目前北橋有無此功能,應該是沒有,因為這樣會增加系統的複雜度與相對降低穩定度。

2. 所以,開了 DMA,當硬碟間互傳大量檔案或超大檔案時,Windows 系列真的會接近停擺。所以小弟覺得 Memory Controller 那邊真的被卡住,因為 HD 一直要求 DMA 傳輸,但 CPU 也會想工作而去存取 Memory,這就變成兩邊打架的情況,但 HD Controller 要求 DMA,CPU 又不能不給他,所以此時系統的確有點您說的 GUI Freeze 狀況。

不知道小弟的想法是否正確,還盼大大們指教∼
舊 2002-06-29, 02:14 AM #7
回應時引用此文章
adelies離線中