第 12 章 PCI 驅(qū)動(dòng)

2018-02-23 16:24 更新

第?12?章?PCI 驅(qū)動(dòng)

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

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

12.1.?PCI 接口

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

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

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

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

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號