PCI局部總線介紹分析_第1頁
PCI局部總線介紹分析_第2頁
PCI局部總線介紹分析_第3頁
PCI局部總線介紹分析_第4頁
PCI局部總線介紹分析_第5頁
已閱讀5頁,還剩50頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PCI局部總線概述總線命令及總線協議總線數據傳輸過程總線仲裁與配置總線設備開發1.1PCI總線的特點1)傳輸效率:133~266MB/S2)支持猝發傳輸(順序讀/寫一批數據)3)獨立于處理器(不依附于某個具體處理器)4)適用于多種機型(5V,3.3V;級聯方式)5)支持多個主控器(任何CPU成為主控)6)存取時間延遲小7)數據的完整性和可靠性(奇偶校驗)8)具有即插即用功能(自動選擇未使用中斷和地址)9)低成本,高可靠性10)多總線共存:(CPU總線/ISA/EISA)CPUPCI橋接電路DRAM存儲器CacheCPU總線

PCI總線ISA/EISA橋接電路SCSI卡硬盤卡網卡南橋打印機磁帶機掃描儀ISA總線

總線概述PCI總線的信號

PCI總線標準所定義的信號線一共有120條,其中包括必需的信號線、可選的信號線及電源線、地線、保留引腳。必需信號線:作為主設備需要49條;作為從設備需要47條??蛇x信號線:51條,主要用于64位擴展、中斷請求、高速緩存支持等。

1.2PCI信號定義

主設備:取得總線控制權的設備.

從設備:被主設備選中進行數據交換的設備.

信號類型:

IN單向輸入信號,OUT:單向輸出信號

T/S:雙向三態輸入/輸出信號.

S/T/S:持續且低電平有效的三態信號(主設備產生).

O/D:漏極開路.#:低電平有效1.系統接口信號

CLKIN:PCI系統總線時鐘最高33MHz/66MHz,最低0Hz。PCI大部分信號在CLK的上升沿有效。外內A1B1B49B52B62A49A52A6277.481.191.27單位:mmAD[31:00]T/S:它們是地址、數據多路復用的輸入/輸出信號在FRAME#有效的第1個時鐘,AD[31:00]上傳送的是32位地址,稱為地址期。在IRDY#和TRDY#同時有效時,AD[31:00]上傳送的為32位數據,稱為數據期。注:一次總線傳輸=地址期+數據期+數據期+…C/BE[3:0]#T/S:它們是總線命令和字節使能多路復用信號線PART/S:針對AD[31:00]和C/BE[3:0]#進行奇偶校驗的校驗位.2.地址與數據接口信號讀時序操作3.接口控制信號FRAME#S/T/S:幀周期信號,幀有效周期表示一次傳輸的開始和持續。CycleFrame)IRDY#S/T/S:主設備準備好信號(InitiatorReady)TRDY#S/T/S:從設備準備好信號(TargetReady)注:IRDY#,TRDY#同時有效,才能從主設備傳送數據從設備.STOP#S/T/S:從設備發出的要求主設備終止當前的數據傳送的信號。LOCK#S/T/S:鎖定信號IDSELIN:初始化設備選擇信號DEVSEL#S/T/S:設備選擇信號4.仲裁接口信號REQ#T/S:總線占用請求信號GNT#T/S:總線占用允許信號5.錯誤報告接口信號PERR#S/T/S:數據奇偶校驗錯誤報告信號SERR#O/D:系統錯誤報告信號6.中斷接口信號

PCI有4條中斷線,分別是INTA#、INTB#、INTC#、INTD#

,電平觸發,多功能設備可以任意選擇一個或多個中斷線,單功能設備只能用INTA#。7.高速緩存支持信號SBO#

IN:試探返回信號SDONEIN/OUT:查詢完成信號,用來表示當前查詢的狀態8.64位總線擴展信號AD[63:32]T/S:擴展的32位地址和數據多路復用線C/BE[7:4]#T/S:總線命令和字節使能多路復用擴展信號線REQ64#S/T/S,64位傳輸請求信號ACK64#S/T/S:64位傳輸允許信號PAR64T/S:奇偶雙字節校驗9.JTAG/邊界掃描信號(可選)1.3PCI插槽和PCI擴展卡1.PCI插槽*32/64位數據PCI插槽2.PCI插卡2.1PCI總線命令2PCI總線命令及總線協議P292~294PCI總線命令表2.2PCI總線協議1.PCI總線的傳輸控制遵循的管理規則:FRAME#和IRDY#定義了總線的忙/閑狀態。

11空閑、00數據、01等待狀態、10最后一個數據。01等待10最后00數據11空閑(1)一旦FRAME#信號被置為無效,在同一傳輸期間不能重新設置。(2)除非設置IRDY#信號,一般情況下不能設置FRAME#信號無效。(3)一旦主設備設置了IRDY#信號,直到當前數據期結束為止,主設備一般不能改變IRDY#信號和FRAME#信號的狀態。2.PCI總線的尋址(1)I/O地址空間在I/O地址空間,32位AD線全部被用來提供一個完整的地址編碼(字節地址)。AD[1:0]和C/BE[3:0]指明傳輸的最低有效字節。AD[1:0]和C/BE[3:0]#對應關系表(2)內存地址空間P2963.字節對齊PCI總線上不能進行字節的交換。但是,具有64位通道的主設備可以進行DWORD(雙字)的交換。主設備可以在每個新數據期開始的時鐘前沿改變字節使能信號,且在整個數據期中保持不變。讀緩沖中的數據可以不考慮字節使能信號,而傳送所有的字節。4.PCI總線的驅動與過渡從一個設備驅動總線到另一個設備驅動PCI總線之間設置一個過渡期,又稱為交換周期,以防止總線訪問沖突。在每個地址(數據)期中,所有的AD線都必須被驅動到穩定的狀態(數據),包括那些字節使能信號表明無效的字節所對應的AD線。5.設備選擇注意:

DEVSEL#由從設備驅動,可在第1個時鐘之后的2,3個時鐘周期處有效。一旦有效,必須維持到最后一個數據期完成后才能撤除。設備選擇的時序關系3PCI總線數據傳輸過程交換期從設備提供8最后讀4讀數據6讀數據等待等待等待3.1總線上的讀操作8最后

5,6,7等待3,4寫數據3.2總線上的寫操作寫操作時序3.3傳輸的終止過程1由主設備提出的終止傳輸結束,即只剩下一個數據未傳輸??偩€上有優先級更高的占用請求,總線仲裁器取消主設備的GNT#信號。超時,主設備發出FRAME#信號后在規定時間內沒有檢測到目標設備的DEVSEL#信號。撤消FRAME#,建立IRDY#,直到TRDY#有效后傳輸完最后一個數據。2由從設備提出的終止重入或再試(retry):從設備不能傳輸數據。解除連接(disconnct):8個時鐘周期內從設備不能對主設備做出響應。

發出STOP#信號并保持其有效,直到FRAME#撤消為止。PCI總線上的所有傳輸操作中,

FRAME#、IRDY#、TRDY#和STOP#遵循的規則:當STOP#信號有效時,FRAME#應該在其后的2~3個時鐘周期內盡快撤消,但撤消時應使IRDY#有效,從設備應無條件的保持STOP#的有效狀態直到FRAME#撤消為止。FRAME#撤消后,STOP#也應該緊跟著撤消。在任何時鐘的上升沿,如果STOP#和TRDY#同時有效,就表示是傳輸的最后周期,IRDY#要在下一個時鐘的上升沿之前撤消,表示傳輸的結束。對于被目標設備終止的傳輸,主設備要繼續完成它,就必須用下一個未傳輸的數據的地址來重試訪問。4PCI總線仲裁與配置PCI總線采用集中式的同步仲裁方法握手方式:請求(REQ#)-允許(QET#)1.發REQ,請求占用總線2.允許占用4.1總線仲裁67891012345總線仲裁過程:4.2PCI總線配置在系統啟動的時候由BIOS代碼執行設備配置。一旦即插即用OS(如Windows2000)啟動后,控制就傳遞給OS,OS接管設備管理。定義一個PCI總線配置空間的目的在于提供一套適當的配置措施,使之實現完全的設備再定位而無需用戶干預安裝、配置和引導,并由與設備無關的軟件進行系統地址映射。所有PCI設備都必須實現PCI協議規定必需的配置寄存器,以便系統加電的時候利用這些寄存器的信息來進行系統配置。對PCI的配置訪問實際上就是訪問設備的配置寄存器。1.PCI設備的配置空間(頭標區和設備相關區)配置空間頭區域結構(1)廠商標識寄存器(VID)(2)設備標識寄存器(DID)(3)版本標識寄存器(RID)(4)設備類別碼寄存器(CLCD)(5)頭標類型寄存器(HDR)頭標區配置寄存器:(6)PCI命令寄存器(PCICMD)

表現在命令寄存器為發出和響應PCI總線命令提供了對設備粗略的控制。

(7)PCI狀態寄存器(PCISTS)

狀態寄存器用于記錄PCI總線有關操作的狀態信息。

注意:該寄存器的有些位是只可清不可置,對這些位的寫1,被解釋為對該位清零。

例如,為了清位14而不影響其他位,應向該寄存器寫0100000000000000B(8)基址寄存器(BADR)

PCI設備的配置空間可以在微處理器決定的地址空間中浮動,以便簡化設備的配置過程。地址映射:系統初始化代碼在引導操作系統之前,必須建立一個統一的地址映射關系,以確定系統中有多少存儲器和I/O控制器,它們需要占用多少地址空間。當確定這些信息之后,系統初始化代碼便可以把I/O控制器映射到合理的地址空間并引導系統?;芳拇嫫?為了使這種映射能夠做到與相應的設備無關,在配置空間的頭區域中安排了一組供映射時使用的基址寄存器。舉例1:基址寄存器的值=FFFFFF01h

=11111111111111111111111100000001b位0=1,表示是一個I/O地址空間映射位[31:2]第一個為1的是位8,表示映射的I/O空間為256。這意味著I/O映射的基地址應該起始于256的整數倍。求:最大/最小I/O映射地址空間?

最小I/O映射地址空間=4字節(2^2)最大存儲映射地址空間=256字節(協議規定)舉例2:基址寄存器的值=FFF00000h

=11111111111100000000000000000000B位0=0,表示是一個存儲器地址空間映射位[2:1]=00b,它使32位存儲器映射位3=0,表示它不是預取存儲器。位[31:4]第一個為1的是位20,表示映射的存儲空間為1MB。這意味著存儲映射的基地址應該起始于1MB、2MB、3MB等的邊界上。系統經過權衡后再向該基址寄存器寫入實際映射的空間基址。求:最大/最小存儲映射地址空間?最小存儲映射地址空間=16字節(2^4)最大存儲映射地址空間=2GB(2^31)(9)擴展ROM基地址寄存器擴展ROM基地址=FFFF0001h位0=1,表示擴展ROM訪問允許位[31:11]第一個為1的是位16,表示映射的存儲空間為64K。這意味著ROM映射的基地址應該起始于64KB的邊界(13)中斷引腳寄存器

8位只讀寄存器,指明設備使用了PCI的哪個中斷引腳。1代表INTA#,2為INTB#……(14)中斷請求線寄存器

8位可讀/寫寄存器,指明設備的中斷引腳和PC機的8259A的哪個中斷輸入線連。(15)Min_Gnt/Max_lat寄存器

Min_Gnt用來指定設備需要多長的突發傳輸時間。

Max_lat用來表示對PCI總線進行訪問的頻繁程度。(10)高速緩沖(cache)行大小寄存器(CALN)(11)延時定時器(LAT)(12)內含自測試寄存器(BIST)2.配置空間的訪問1)配置空間的尋址方式:片選:只有當輸入它的IDSEL信號有效,設備選擇:并且在地址期內AD[1:0]為00時,才能被作為配置訪問的目標設備。片內選擇:AD7-22)配置空間訪問的類型0類配置空間訪問對(正在運行的)當前PCI總線上的目標設備配置寄存器所進行的訪問。被配置訪問的目標設備必須在地址期采樣到其IDSEL輸入信號有效,并且AD[1∶0]必須為00。地址期,AD[10∶8]用于選擇物理設備的八種功能之一。AD[7∶2]為選擇該功能設備的配置寄存器號(雙字號);AD[1∶0]必須為00。數據期,AD[31∶0]傳送的是配置讀/寫數據1類配置空間訪問對(通過PCI/PCI橋連接的)下一級PCI總線上的目標設備(配置寄存器)所進行的訪問。地址期:AD[10∶8]用于選擇物理設備的八種功能之一。AD[7∶2]為選擇該功能設備的配置寄存器號;AD[15∶11]用于選擇第二級總線上的某個設備的IDSEL信號有效,AD[23∶16]放總線號,AD[1∶0]必須為01。一旦PCI/PCI橋檢測到1類配置訪問,就有三種情況,須分別進行處理。橋片中也有橋配置空間寄存器,存放有總線號和次級總線號等信息。如果要訪問的總線號既不同于橋的第二級總線號,也不在橋的第二級總線號的下級總線范圍內,那么橋將忽略本次訪問。如果總線號不同于橋的第二級總線,但在橋的第二級總線號的下級總線范圍內,那么橋將本次訪問作為1類配置訪問傳遞給第二級總線。配置命令從第一級傳遞到第二級C/BE總線。如果總線號與橋的第二級總線號相同,那么橋將本次訪問作為0類配置訪問傳遞給第二級總線。AD[10:2]直接從橋的第一級傳遞到第二級AD總線。AD[15:11]的設備號用于選擇第二級總線上哪個設備的IDSEL信號有效。配置命令從第一級傳遞到第二級C/BE總線。3配置空間的訪問方法針對x86兼容的系統,PCI協議定義了將處理器發出的I/O或存儲器訪問識別或轉換為配置訪問的轉換機構,稱為配置機構。配置機構是利用兩個32位的I/O端口寄存器來訪問PCI設備的配置空間的。配置地址端口寄存器(I/O地址為0CF8H~0CFBH)配置數據口寄存器(I/O地址為0CFCH~0CFFH)。第一步,將要訪問的總線號、設備號、功能號和雙字號寫到配置地址端口寄存器。(32位寫)第二步,執行一次對配置數據端口寄存器的I/O讀/寫。PCIBIOS初始化程序只能通過PCIBIOS才能訪問PCI配置寄存器。PCIBIOS再通過配置地址端口寄存器和配置數據口寄存器實現其功能。1、16位PCIBIOS的調用通過INT1AH實現:AH=B1H,AL為子功能號。2、32位PCIBIOS的調用確認32位BIOS是否存在;確認BIOS是否支持PCIBIOS,取得PCIBIOS入口地址;通過對PCIBIOS入口地址的遠程調用來實現:AH=B1H,AL為子功能號。4.PCI中斷1.PCI中斷請求

PCI中斷線:INTA#、INTB#、INTC#、INTD#。

PCI中斷源:PIRQA#~PIRQD#。

PCI中斷源連接:通過映射到ISA中斷(3~7,9~12,14~15)來實現。特點:當PCI中斷被映射到一個ISA的IRQ后,該IRQ不可再被ISA設備(通過SERIRQ的中斷)使用。PCI中斷可與低電平有效的非ISA中斷共享同一IRQ。實現:設備31的0號功能的60H~63H、68H~6BH的PIRQ路由控制寄存器實現PIRQA#~PIRQH#與IRQ的映射關系。PIRQ#路由控制寄存器[8bit]存放的是IRQ編碼。PCI中斷請求:PCI中斷請求必須為電平觸發方式。多個PIRQ#信號線能連在同一個IRQ上。不同PIRQ#的優先級由IRQ決定。同一PIRQ#不同設備INT*的優先級由安裝次序決定。PCI中斷響應PCI中斷響應為單周期響應。HOST-PCI橋自動將雙中斷響應周期轉換成單中斷響應周期。其他中斷響應過程與8259A同,中斷類型號通過HOST-PCI橋再返回給處理器。中斷響應周期中可插入等待周期。中斷服務程序入口地址由中斷描述符表管理。PCI中斷響應周期PCI中斷共享PCI中斷請求信號為漏極開路的。同一PIRQ不同設備的優先級最后安裝的最高。即:中斷向量表中中斷向量為同一PIRQ最后安裝的設備的中斷服務程序入口地址。PCI中斷的狀態位通過中斷服務程序讀取,并處理。同一PIRQ中斷服務實現方法:采用鏈表式處理方法。方法:PNP配置時將同一PIRQ的原中斷向量存放到其設備驅動的特定寄存器后才替換為新的中斷向量。8259INTA#INTA#INTB#INTA#,B#,C#D#INTA#IRQ8IRQ9IRQ10IRQ14IRQ158259IRQ0IRQ1IRQ2IRQ6IRQ7INPUT0#INPUT1#INPUT3#TOCPUInterruptRouterPCI中斷路由INTA#INTA#INTB#INTA#,B#,C#D#INTA#8259IRQ8IRQ9IRQ10IRQ14IRQ158259IRQ0IRQ1IRQ6IRQ7INPUT0#INPUT1#INPUT3#TOCPUInterruptRouterIRQ2推薦的PCI中斷路由

S5933是AMCC公司開發的一個PCI控制器芯片,符合PCI規范2.1,32位接口,既可以做PCI從設備,也可以做主設備,并且可以獲得32位PCI總線的峰值數據傳輸能力:132MB/s5.1S5933的組成:

PCI總線接口、一個可選的非易失性存儲器接口、用戶接口(Add-On)、消息通道(Mailboxes)。5PCI總線設備開發及S59331)Pass-Thru方式2)FIFO方式3)Mailbox方式5.2S5933的數據傳輸方式1.概述PCI9052提供了一個簡潔的高性能的PCI總線目標接口控制器,適用于一般的適配卡。PCI9052能與相當廣泛的Local總線到PCI總線的設計連接,這種設計可以允許相對慢的Local總線設計在PCI總線上達到132MB/s的突發傳輸。

PCI9052能夠通過編程設置直接連接到復用或非復用的8-bit、16-bit、32-bitLocal總線上。8-bit、16-bit模式能比較容易地將ISA總線轉換到PCI總線.在PCI9052的內部嵌入了一個讀寫FIFO,它們的目的是為了使32-bit、33MHz的PCI總線與總線寬度更窄更慢的Local總線在數據傳輸速度方面相匹配。支持多達5個Local地址空間和4個片選信號PCI應用:

2.主要特征

(1)

適合PCI協議2.1規范:PCI9052遵從PCI協議的2.1規范,支持低成本的從適配器,該芯片能實現簡單的ISA到PCI的轉換。(2)

直接目標數據傳輸模式:PCI9052支持從PCI總線到Local總線的突發存儲器映射和I/O映射的訪問。讀和寫FIFO使能可以使PCI總線和Local總線實現高性能的突發傳輸。PCI總線通常是進行突發傳輸的,然而,Local總線能設置為突發傳輸或連續的單周期操作。(3)

中斷產生器:PCI9052能產生來自于Local總線上的2個中斷輸入的一個PCI中斷。

(4)

溫馨提示

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

評論

0/150

提交評論