外文翻譯--PCI  BIOS  中文版_第1頁(yè)
外文翻譯--PCI  BIOS  中文版_第2頁(yè)
外文翻譯--PCI  BIOS  中文版_第3頁(yè)
外文翻譯--PCI  BIOS  中文版_第4頁(yè)
外文翻譯--PCI  BIOS  中文版_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

南 京 理 工 大 學(xué) 畢業(yè)設(shè)計(jì) (論文 )外文資料翻譯 學(xué)院 ( 系) : 機(jī)械工程學(xué)院 專 業(yè) : 測(cè)控技術(shù)與儀器 姓 名 : 學(xué) 號(hào) : 外文出處 : PCI SYSTEM ARCHITECTURE (FOURTH EDITION) 附 件 : 1.外文資料翻譯譯文; 2.外文原文 指導(dǎo)教師評(píng)語(yǔ): 簽名: 年 月 日 注: 請(qǐng)將該封面與附件裝訂成冊(cè)。 附件 1:外文資料翻譯譯文 二十六章 PCI BIOS 上一章內(nèi)容提要 上一章主要講述了控制簡(jiǎn)單設(shè)備的行為的順序規(guī)則和通過(guò) PCI-PCI 橋的多個(gè)交易間的關(guān)系,并且描述了這些規(guī)則如何預(yù)防死鎖的發(fā)生。 本章內(nèi)容提要 本章將介紹 PCI BIOS 的規(guī)范,版本為 2.1,日期是 1994 年 8 月 26 號(hào) 下一章內(nèi)容提要 下一章將詳細(xì)描述 PCI 鎖定機(jī)構(gòu)及 PCI 鎖定機(jī)構(gòu)允許 EISA 橋鎖定主存儲(chǔ)器或者允許主 /PCI 橋鎖定 EISA 存儲(chǔ)器目標(biāo) 26.1 PCI BIOS 的用途 OS(除了平臺(tái)指定的微核心外)、應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序不可直接訪問(wèn) PCI配置寄存器、中斷路由邏輯(見(jiàn) 14.6 節(jié)中斷路由),或者專用周期產(chǎn)生邏輯(見(jiàn)18.5.3 節(jié)專用周期軟件生成)。實(shí)現(xiàn)這些能力的硬件辦法是平臺(tái)指定的,因此,任何直接訪問(wèn)這些機(jī)構(gòu)的軟件都是平臺(tái)指定的,這可能會(huì)導(dǎo)致兼容問(wèn)題(軟件在一些平臺(tái)上可以工作而在其它平臺(tái)上則不能)。 相反,請(qǐng)求將被發(fā)至 PCI BIOS。這個(gè) BIOS 是平臺(tái)指定的,它在硬件中實(shí)現(xiàn),也可能在 OS 的硬件抽象層( HAL)中實(shí)現(xiàn), PCI BIOS 提供的服務(wù)如下: 允許確定 PCI 芯片組支持的配置機(jī)構(gòu)(見(jiàn) 18.4 節(jié)配置機(jī)構(gòu)簡(jiǎn)介)。 允許確定芯片組在軟件控制下產(chǎn)生 PCI 專用周期交易的能力及所使用的機(jī)構(gòu)。想要更多的信息,參見(jiàn) 18.5.3 節(jié)軟件專用周期的生成。 允許確定 PCI 總線在系統(tǒng)中的存在范圍 查找某一指定 PCI 設(shè)備或?qū)儆谀骋活愒O(shè)備的實(shí)例 允許 PCI 專用周期交易(如果芯片組在軟件控制下支持產(chǎn)生 PCI 專用周期交易)。 允許調(diào)用者獲得 PCI 中斷路由選擇并且為機(jī)構(gòu)分配一個(gè)中斷線 允許對(duì)設(shè)備的配置寄存器的讀或?qū)憽?26.2 支持的 OS 環(huán)境 26.2.1 概述 不同的 OS 有不同的操作特性(比如用于定義系統(tǒng)存儲(chǔ)器的方法和用于調(diào)用BIOS 服務(wù)的方法)。在基于 X86 處理器家族的系統(tǒng)中,在特定平臺(tái)上執(zhí)行的 OS屬于下面三種中的一種: 實(shí)模式操作系統(tǒng)(即 MS-DOS) 286 保護(hù)模式(禁止使用) 386 保護(hù)模式。有兩種 386 保護(hù)模式 段模式(禁止使用) 平臺(tái)模式 PCI BIOS 規(guī)范定義了實(shí)現(xiàn) BIOS 和調(diào)用 PCI BIOS 的軟件的規(guī)則: 規(guī)則 1. PCI BIOS 必須支持所有上述提到的 OS 環(huán)境。 規(guī)則 2.BIOS 必須保持除了用于返回參數(shù)以外的 所有的寄存器和標(biāo)記。 規(guī)則 3.調(diào)用者將被返回到與入口一致的 EFLAG 寄存器中的中斷標(biāo)記位的狀態(tài)。 規(guī)則 4.在執(zhí)行 BIOS 功能調(diào)用時(shí)中斷將不可使能。 規(guī)則 5.BIOS 路徑必須是可重入的(他們可以在自身內(nèi)部調(diào)用) 規(guī)則 6.OS 必須為 BIOS 定義一個(gè)容量至少為 1KB 的堆棧存儲(chǔ)器區(qū)域。 規(guī)則 7.OS 為 BIOS 定義的堆棧段和代碼段必須有相同的容量( 16 位或 32 位) 規(guī)則 8.用 INT 1Ah 調(diào)用 BIOS 的保護(hù)模式 OS 必須將 CS 寄存器設(shè)置為 F000h。 規(guī)則 9.OS 必須保證為 BIOS 定義的優(yōu)先級(jí)允許中斷使能 /禁止并且執(zhí)行 IO命令。 規(guī)則 10.BIOS 的實(shí)現(xiàn)者必須假定 OS 為 BIOS 定義的 CS 是只執(zhí)行, DS 是只讀。 26.2.2 實(shí)模式 實(shí)模式 OS,比如 MS-DOS,被寫(xiě)進(jìn) 8088 處理器執(zhí)行。這個(gè)處理器最多只能對(duì)1MB 的存儲(chǔ)器進(jìn)行尋址( 00000h 至 FFFFFh)。用四十六位段寄存器( CS, DS, ES,SS),編程人員定義了存儲(chǔ)器的四個(gè)段,每段的長(zhǎng)度固定為 64KB。當(dāng)一個(gè)程序開(kāi)始執(zhí)行時(shí),四個(gè)段寄存器的每一個(gè)用存儲(chǔ)器中相應(yīng)段的起始地址的上四個(gè)十六進(jìn)制數(shù)字對(duì)其進(jìn)行初始化。 代碼段包含當(dāng)前執(zhí)行的程序 數(shù)據(jù)段定義了包含程序運(yùn)行的數(shù) 據(jù)的存儲(chǔ)器區(qū)域 堆棧段定義了用來(lái)暫時(shí)保存值的存儲(chǔ)器區(qū)域 額外的數(shù)據(jù)段可用來(lái)定義與當(dāng)前執(zhí)行的程序有關(guān)的另一個(gè)數(shù)據(jù)段 MS-DOS 通過(guò)裝入一組帶有請(qǐng)求參數(shù)的處理器的寄存器組,執(zhí)行軟件中斷命令,指定中斷表中的 1Ah 入口作為包含 BIOS 的入口點(diǎn),調(diào)用 BIOS。在 INT 1Ah指令執(zhí)行時(shí),處理器將 INT 1Ah 后面的指令的地址壓入堆棧存儲(chǔ)器。保存完這個(gè)返回地址后,處理器在中斷表中讀條目 1Ah 的指針并且在一個(gè)指定的地址開(kāi)始運(yùn)行。這就是 BIOS 的入口點(diǎn)。 調(diào)用 BIOS 的另一個(gè)方法就是在物理存儲(chǔ)器位置 000FFFE6Eh 直接調(diào)用 BIOS入口點(diǎn)。使用這個(gè)方法可以確保調(diào)用者不用擔(dān)心在中斷表中的 1Ah 入口已經(jīng)被其它設(shè)備占用。 26.2.3 286 保護(hù)模式( 16 16) BIOS 規(guī)范稱之為 16 16模式是因?yàn)?286 處理器有 16 位段寄存器并且編程人員通過(guò)定義段內(nèi)(代碼段、數(shù)據(jù)段、堆棧段或額外數(shù)據(jù)段)設(shè)備的 16 位偏移量來(lái)指定存儲(chǔ)器中設(shè)備的地址。盡管每段的最大容量仍然為 64KB(如同 8088 處理器一樣), OS 編程人員可以將段長(zhǎng)度設(shè)置為 1 到 64KB 之間的任何值。當(dāng)在實(shí)模式操作時(shí), 286 地址存儲(chǔ)器就如同具有同樣固定的 64KB 段長(zhǎng)度的 8088處理器一樣并且只能訪問(wèn)存儲(chǔ)器空間中第一個(gè) MB內(nèi)的位置。 當(dāng)在保護(hù)模式操作時(shí),然而, 286 以不同的方式尋址存儲(chǔ)器。不同于存儲(chǔ)器中包含段的五位物理起始地址的上四位十六進(jìn)制數(shù)字,段寄存器中的值被稱為段選擇值。它指向存儲(chǔ)器中由 OS 建立和保存的段描述表的每一個(gè)條目。段描述表中的每一個(gè)條目都包含了定義如下內(nèi)容的八個(gè)字節(jié)的信息: 存儲(chǔ)器中段的 24 位起始物理地址。換句話說(shuō),段起始地址可以被指定在存儲(chǔ)器空間的第一個(gè) 16MB 的處任意地方。 段長(zhǎng)度(從一個(gè)字節(jié)到 64KB) 允許程序訪問(wèn)存儲(chǔ)器的段的方式(只讀、只執(zhí)行、讀 /寫(xiě)或者不允許) 一些 OS(如在 286 模式下操作時(shí)的 3.1 系統(tǒng))用段能力在 16MB 總體的存儲(chǔ)器空間里為每一個(gè)程序分配單獨(dú)的代碼、數(shù)據(jù)、堆棧段。當(dāng) OS 執(zhí)行一個(gè)任務(wù)切換時(shí),它必須在段寄存器內(nèi)裝入一組屬于當(dāng)前應(yīng)用程序的存儲(chǔ)器的段的值。 正如在實(shí)模式 OS 環(huán)境中,通過(guò) INT 1Ah 的執(zhí)行或者通過(guò)直接調(diào)用 BIOS 的工業(yè)標(biāo)準(zhǔn)入口點(diǎn)(物理存儲(chǔ)器位置 000FFE6Eh)調(diào)用 BIOS。 26.2.4 386 保護(hù)模式( 16 32) 386 處理器將每個(gè)段的最大容量從 64KB 變?yōu)?4GB。 486、奔騰和 P6 家族處理器像 386 一樣具有相同 段的的最大的容量。為了將段的最大容量增加到 4GB, 386還引進(jìn)了一個(gè) 32 位的寄存器組,它允許編程人員在一個(gè)段內(nèi)指定設(shè)備的 32 位偏移量。段寄存器的容量仍然是 16 位的。不包含存儲(chǔ)器中段的五位物理起始地址包含的上四十六進(jìn)制數(shù)字,段寄存器的值被稱為段選擇器(當(dāng)處理器在保護(hù)模式操作時(shí))。它指向存儲(chǔ)器中 OS 建立和保持的段描述表中的一個(gè)條目。段描述表中的每一個(gè)條目包含八個(gè)字節(jié)的信息,定義如下內(nèi)容: 存儲(chǔ)器中段的 32 位起始物理地址。換句話說(shuō),段的基地址可以在存儲(chǔ)器空間的總體 4GB 的范圍內(nèi)的任意地方。 段的長(zhǎng)度(從一個(gè)字 節(jié)到 4GB) 程序允許訪問(wèn)存儲(chǔ)器的段的方式(只讀、只執(zhí)行、讀 /寫(xiě)或者不允許) 一些操作系統(tǒng)(如在 386 升級(jí)模式下操作的 3.1 系統(tǒng))用段能力在 4GB 總體的存儲(chǔ)器空間里為每一個(gè)程序分配單獨(dú)的代碼、數(shù)據(jù)、堆棧段。當(dāng) OS 執(zhí)行一個(gè)任務(wù)切換時(shí), 它必須通過(guò)定義屬于當(dāng)前應(yīng)用程序的存儲(chǔ)器的段的值裝入段寄存器。 在 PCI BIOS 規(guī)范中,這被稱為 16 32 模式,因?yàn)?16 位段寄存器定義(直接地)段起始地址并且編程人員可以用一個(gè) 32 位值在總的 4GB 存儲(chǔ)器空間中任意地方去指定設(shè)備的偏移量。 在 32 位 OS 環(huán)境中, BIOS 不是用 INT 1Ah 調(diào)用的,實(shí)際上, 如果一個(gè)應(yīng)用程序嘗試執(zhí)行一個(gè) INT 指令結(jié)果將是一個(gè)一般保護(hù)例外,而調(diào)用程序?qū)?BIOS 入口點(diǎn)執(zhí)行遠(yuǎn)調(diào)用。這就意味著這個(gè)入口點(diǎn)地址是已知的。本章下文的部分將定義BIOS 入口點(diǎn)是如何被發(fā)現(xiàn)的。 26.2.5 今天的 OS 用平臺(tái)模式( 0 32) 更簡(jiǎn)單的存儲(chǔ)器模式是為所有的段寄存器設(shè)置為指向?qū)⒚總€(gè)段的起始地址定義為物理存儲(chǔ)器位置 00000000h,長(zhǎng)度為 4GB 的段描述值。這被稱為平臺(tái)存儲(chǔ)器模式。 BIOS 規(guī)范稱之為 0 32 模式 ,所有段的起始地址是 00000000h,長(zhǎng)度為32 位長(zhǎng)度 FFFFFFFFh( 4GB)。由于不為每個(gè)程序定義單獨(dú)的段, OS 有負(fù)責(zé)管理存儲(chǔ)器并且確保不同的程序不在其他程序的空間執(zhí)行, OS 使用分頁(yè)表格中的屬性位來(lái)完成這個(gè)任務(wù)。 正如上文所說(shuō)明的,在 32 位 OS 環(huán)境中, BIOS 不是用 INT 1Ah 調(diào)用的,而是由調(diào)用程序?qū)?BIOS 入口點(diǎn)執(zhí)行一個(gè)遠(yuǎn)調(diào)用。這就意味著這個(gè)入口點(diǎn)是已知的。本章下文將定義是如何發(fā)現(xiàn) BIOS 入口點(diǎn)的。 26.3 確定系統(tǒng)是否實(shí)現(xiàn) 32 位 BIOS 在嘗試著調(diào)用 32 位 BIOS(如 PCI BIOS)以前, 32 位 OS必須首先確定需要的 32 位 BIOS 是否存在,它的入口點(diǎn)是什么。 BIOS 規(guī)范規(guī)定 ,OS 必須掃描物理存儲(chǔ)器區(qū)域 000E0000h到 000FFFF0h的范圍 ,查找表 26-1所定義的 16位數(shù)據(jù)結(jié)構(gòu)。這個(gè)數(shù)據(jù)結(jié)構(gòu)必須排列在 16 字節(jié)的地址邊界。 表 26-1 32 位 BIOS 數(shù)據(jù)結(jié)構(gòu) 偏移量 容量 描述 0 四個(gè)字節(jié) ASCII 標(biāo)記“ -32-”,最左邊的下標(biāo)存儲(chǔ)在偏移 0中,最右邊的下標(biāo)存儲(chǔ)在偏移 3 中 4 四個(gè)字節(jié) 32 位 BIOS 服務(wù)目錄程序的 32位入口點(diǎn)。調(diào)用服務(wù)目錄程序可以確定 32位 BIOS提供什么服務(wù)(如 PCI BIOS服務(wù))。作者把它當(dāng) 作是 BIOS 的圖書(shū)管理員 ,它跟蹤實(shí)現(xiàn)了哪些 BIOS 以及這些 BIOS 在存儲(chǔ)器中的位置。 8 一個(gè)字節(jié) 數(shù)據(jù)結(jié)構(gòu)的版本級(jí)(層) 9 一個(gè)字節(jié) 16 字節(jié)遞增的數(shù)據(jù)結(jié)構(gòu)長(zhǎng)度,目前,數(shù)據(jù)結(jié)構(gòu)是 16字節(jié)長(zhǎng),所以這個(gè)區(qū)域包含 01h。 Ah 一個(gè)字節(jié) 數(shù)據(jù)結(jié)構(gòu)中所有字節(jié)的校驗(yàn)和,校驗(yàn)和必須加至 00h Bh 五個(gè)字節(jié) 保留并且必須為零 26.4 確定 32 位 BIOS 支持的服務(wù) 現(xiàn)在 32 位服務(wù)目錄程序( BIOS 圖書(shū)管理員)的存在和入口點(diǎn)已經(jīng)確定, OS可以詢問(wèn)確定 32 位 BIOS 規(guī)范是否實(shí)現(xiàn)了 PCI BIOS。通過(guò)調(diào)用入口 點(diǎn)和提供如下內(nèi)容作為輸入?yún)?shù)可完成這個(gè)任務(wù) : EAX=服務(wù)識(shí)別器 為了確定指定的服務(wù)(例如 PCI BIOS 服務(wù))是否被 32位 BIOS 支持,服務(wù)目錄程序根據(jù) EAX 寄存器中調(diào)用者提供的四個(gè)字節(jié)服務(wù)識(shí)別器執(zhí)行查找(詳見(jiàn) 26.5 節(jié)確定 32位 BIOS 是否支持 PCI BIOS 服務(wù)) BL=服務(wù)目錄功能識(shí)別器 .目前只定義了 00h,它指揮服務(wù)目錄程序查找EAX 寄存器中提供的服務(wù)識(shí)別器 .EBX 中的上三個(gè)字節(jié)為保留并且必須清零 . 在調(diào)用服務(wù)目錄程序返回后 ,寄存器 組包含以下值 : 如果指定的服務(wù)存在則 AL 包含 00h,如 果不存在則包含 80h,如果 BL 提供的功能識(shí)別器未實(shí)現(xiàn)則包含 81h. EBX 包含指定的 BIOS 服務(wù)的物理起始地址 ECX 包含指定的 BIOS 服務(wù)的長(zhǎng)度 EDX包含指定的 BIOS 服務(wù)的入口點(diǎn) ,這是 EBX中返回的起始地址的偏移量 26.5 確定 32 位 BIOS 是否支持 PCI BIOS 服務(wù) PCI BIOS的服務(wù)識(shí)別器包含 ASCII串“ $PCI” ,在 EAX中被指定為 49435024h.假定服務(wù)目錄程序調(diào)用指示 PCI BIOS存在 ,可以通過(guò)對(duì) EDX寄存器中返回的入口點(diǎn)執(zhí)行遠(yuǎn)程調(diào)用來(lái)調(diào)用 PCI BIOS.在調(diào)用 PCI BIOS 之前 ,OS 必須把 BIOS 的代碼和數(shù)據(jù)段定義為具有 EBX和 ECX中返回的物理地址范圍 . 代碼和數(shù)據(jù)段必須有相同的起始地址 .OS 必須起動(dòng) BIOS 優(yōu)先級(jí)以允許 IO 操作并且必須為 BIOS 定義一個(gè)容量至少為 1KB 的堆棧區(qū)域 .BIOS 作者必須假定 OS 定義代碼段為只執(zhí)行 ,數(shù)據(jù)段為只讀 . 26.6 調(diào)用 PCI BIOS 正如本章上文所提到的那樣 , 可以通過(guò)執(zhí)行一個(gè) INT 1Ah指令或者 在物理存儲(chǔ)器空間 000FFE6Eh 直接調(diào)用 PCI BIOS 的方法來(lái)調(diào)用 16位 PCI BIOS.通過(guò)執(zhí)行遠(yuǎn)程調(diào)用來(lái) 32位 BIOS. 在這兩種情況中 ,調(diào)用者必須首先把要求的請(qǐng)求參數(shù)裝入處理器的寄存器組 .在入口 , AH 寄存器必須包含 PCI 功能 ID B1h. AL 寄存器必須包含 PCI 下級(jí)的功能識(shí)別器 . 表 26-2 定義了各種類型 PCI 功能調(diào)用的輸入?yún)?shù) .在出口 ,傳送標(biāo)記的狀態(tài)表明了調(diào)用是成功還是失敗 .BIOS 規(guī)范包含了這些功能調(diào)用的詳細(xì)地描述 .由于它們?cè)谝?guī)范中已經(jīng)清楚地描述了 ,本章下問(wèn)將不再重復(fù)了 . 表 26-2 PCI BIOS 功能請(qǐng)求代碼 功能請(qǐng)求 AH 值 AL 值 PCI 功能 ID B1h BIOS 存在檢測(cè) B1h 01h 用供應(yīng)商 ID/設(shè)備 ID發(fā)現(xiàn) PCI設(shè)備 .用設(shè)備的供應(yīng)商和設(shè)備 ID 作為查找標(biāo)準(zhǔn)可以發(fā)現(xiàn)系統(tǒng)中的所有設(shè)備的實(shí)例 .如果設(shè)備的實(shí)例被發(fā)現(xiàn) ,則返回物理位置 (總線、設(shè)備和功能編號(hào) ).這些值可以作為配置讀和寫(xiě) BIOS 功能的輸入?yún)?shù)去訪問(wèn)設(shè)備的配置寄存器 . B1h 02h 發(fā)現(xiàn) PCI 類代碼 .用指定的類代碼作為查找標(biāo)準(zhǔn)可以發(fā)現(xiàn)系統(tǒng)中具有指定類代碼的所有設(shè)備的實(shí)例 .如果設(shè)備的實(shí)例被發(fā)現(xiàn) , 則返回物理位置 (總線、設(shè)備和功能編號(hào) ).當(dāng)調(diào)用 PCI 功能請(qǐng)求對(duì)設(shè)備的配置寄存器進(jìn)行配置讀或?qū)懺L問(wèn)時(shí) ,這些值可以作為輸入?yún)?shù) .例如 ,這個(gè)功能可以作為引 導(dǎo)顯示設(shè)備用來(lái)查找 VGA 兼容的接口 . B1h 03h 產(chǎn)生專用周期交易 .用于產(chǎn)生 PCI 專用周期交易以發(fā)送編程人員指定的信息到指定總線上的所有設(shè)備 .注意如果芯片組不支持軟件控制

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論