精華區beta Programming 關於我們 聯絡資訊
驅動程式漫談-VII 從另外一種角度來看, 橋接器有時候也可視為一種控制下游匯流排的周邊裝置, 我們叫它Bus Controller 或是 HBA(host bus adaptor), 只是這種周邊裝置除了往上有接到上游匯流排外, 在它的下游端還有另外一種匯流排, 而這所謂下游端的匯流排還有可能接連到其它周邊裝置, 而這個其它周邊裝置, 除了可能是一個最末端的周邊裝置外, 它也有可能是另一種 Bus Controller。 週邊設備的堆疊觀念 因此我們可以發現, 在電腦系統中, 從CPU到周邊裝置的連接方式, 將不再是只有一個茶壺配一堆茶杯的方式, 而是還有一個串著一個, 像是糖葫蘆的接連方式, 因此在周邊裝置的操作上, CPU有可能要透過一直接的周邊裝置去操作一個間接的周邊裝置, 就像是拿著筷子挖鼻孔一樣, 設備的堆疊的概念也因此成形。 目前一般的狀況是, 以CPU作為核心, 越是設備堆疊外緣的速度,也就越慢; 相反的, 越是接進設備堆疊根部的匯流排速度,也就越慢。 匯流排切割以及設備堆疊排列的方式, 巧妙的解決了各周邊裝置間, 工作速度不同的問題, 也讓CPU本身在速度提升的進程上, 可以不管那些不長進的周邊裝置, 不再絆手絆腳。 驅動程式的堆疊觀念 驅動程式的堆疊觀念乃是基於週邊設備的堆疊觀念而來的, 因為設備堆疊呈樹枝狀拓僕, 也因為CPU無法直接操縱到非直接相連的週邊設備, 因此它必須透過直接相連的設備來操作間接相連的設備, 甚至是間接間接相連的設備。 大家有看過無敵鐵金鋼的卡通嗎? 這種情況就像是柯國隆操作無敵鐵金鋼, 無敵鐵金鋼再來操作挖土機一樣。 這種間接操作的層次其實是可以無限拓展, 其觀念都是一樣的。 在實際的P4電腦中, CPU如果想要操縱連接到USB Bus 的印表機, 則它第一個要先操作的週邊Chip是北橋、 然後是南橋(PCI HBA), 然後是USB bus的HBA, 最後才是USB Bus 的印表機。 然而在這四個層次的週邊設備, 每個都具有其各自的驅動程式, 即代理操作程式, 因此當CPU想要操作設備堆疊末端的設備時, 最有條理的方式就是直接呼叫堆疊末端設備的驅動程式, 然後堆疊末端設備的驅動程式再呼叫堆疊次末端設備的驅動程式, 如此從遠到近, 最後是直接週邊設備的驅動程式, 這樣的程式層次呼叫關係, 就是驅動程式的堆疊觀念。 ==未完,待續== -- Ξ Origin: 中興大學天樞資訊網 <bbs.nchu.edu.tw> Ξ From : 220-139-11-30.dynamic.hinet.net