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