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

付費下載

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論