第 12 章 PCI 驅(qū)動

2018-02-23 16:24 更新

第?12?章?PCI 驅(qū)動

雖然第 9 章介紹了硬件控制的最低層, 本章提供了總線結(jié)構(gòu)的高級一些的概括. 一個總線由電路接口和一個編程接口組成. 在本章, 我們涉及編程接口.

本章涉及許多總線結(jié)構(gòu). 但是, 主要的焦點在存取 PCI 外設(shè)的內(nèi)核函數(shù), 因為如今 PCI 總線是在桌面計算機和更大的計算機上最普遍使用的外設(shè)總線. 這個總線是被內(nèi)核支持得最好的. ISA 對于電子愛好者仍然是普遍的, 在后面描述它, 盡管它更多的是一個裸露金屬類型的總線, 并且沒有更多的要講的, 除了在第 9 章和第 10 章涵蓋到的.

12.1.?PCI 接口

盡管許多計算機用戶認(rèn)為 PCI 是一種電路布線方法, 實際上它是一套完整的規(guī)格, 定義了一個計算機的不同部分應(yīng)當(dāng)如何交互.

PCI 規(guī)范涉及和計算機接口相關(guān)的大部分問題. 我們不會在這里涵蓋全部; 在本節(jié), 我們主要關(guān)注一個 PCI 驅(qū)動如何能找到它的硬件并獲得對它的存取. 在第 2 章的"模塊參數(shù)"一節(jié)和第 10 章的"自動探測 IRQ 號"一節(jié)討論的探測技術(shù)可被用在 PCI 設(shè)備, 但是這個規(guī)范提供了一個更適合探測的選擇.

PCI 體系被設(shè)計為 ISA 標(biāo)準(zhǔn)的替代品, 有 3 個主要目的: 當(dāng)在計算機和它的外設(shè)之間傳送數(shù)據(jù)時獲得更好的性能, 盡可能平臺無關(guān), 以及簡化添加和去除系統(tǒng)的外設(shè).

PCI 總線通過使用一個比 ISA 更高的時鐘頻率, 獲得更好的性能; 它的設(shè)置運行在 25 或者 33 MHz (它的實際頻率是系統(tǒng)時鐘的一個因數(shù)), 以及 66-MHz 甚至 133-MHz 的實現(xiàn)最近也已經(jīng)被采用. 但是, 它配備有 32-位 數(shù)據(jù)線, 并且一個 64-位擴展已經(jīng)被包含在規(guī)范中. 平臺獨立性常常是一個計算機總線設(shè)計的目標(biāo), 并且它是 PCI 的一個特別重要的特性, 因為 PC 世界已一直被處理器特定的接口標(biāo)準(zhǔn)占據(jù). PCI 當(dāng)前廣泛用在IA-32, Alpha, PowerPC, SPARC64, 和 IA-64 系統(tǒng)中, 以及一些其他的平臺.

但是, 和驅(qū)動作者最相關(guān)的, 是 PCI 對接口板的自動探測的支持. PCI 設(shè)備是無跳線的(不象大部分的老式外設(shè))并且是在啟動時自動配置的. 接著, 設(shè)備驅(qū)動必須能夠存取設(shè)備中的配置信息以便能完成初始化. 這不用進行任何探測.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號