版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章PCI局部總線PCI總線概述總線命令及總線協(xié)議PCI總線的數(shù)據(jù)傳輸總線仲裁與總線配置PCI總線控制芯片S59338.1PCI總線概述CPUPCI橋接電路DRAM存儲(chǔ)器CacheCPU總線
PCI總線ISA/EISA橋接電路SCSI卡硬盤卡網(wǎng)卡南橋打印機(jī)磁帶機(jī)掃描儀ISA總線PCI總線的特點(diǎn):
1)高傳輸效率:133~266MB/S2)支持突發(fā)傳輸(順序讀/寫一批數(shù)據(jù))3)獨(dú)立于處理器(不依附于某個(gè)具體處理器)4)支持兩種電壓下的擴(kuò)展卡(5V,3.3V)5)支持多總線主控方式6)存取時(shí)間延遲小7)數(shù)據(jù)的完整性和可靠性8)具有即插即用功能(自動(dòng)選擇未使用中斷和地址)9)合理的管腳安排8.1.2
PCI信號(hào)定義
主設(shè)備:取得總線控制權(quán)的設(shè)備.
從設(shè)備:被主設(shè)備選中進(jìn)行數(shù)據(jù)交換的設(shè)備.
信號(hào)類型:
IN單向輸入信號(hào),OUT:單向輸出信號(hào)
T/S:雙向三態(tài)輸入/輸出信號(hào).
S/T/S:持續(xù)且低電平有效的三態(tài)信號(hào)(主設(shè)備產(chǎn)生).
O/D:漏極開路.
#:低電平有效1.系統(tǒng)接口信號(hào)CLKIN:PCI系統(tǒng)總線時(shí)鐘。最高33MHz/66MHz,最低0Hz。PCI大部分信號(hào)在CLK的上升沿有效。RST#:IN復(fù)位信號(hào)圖8.1PCI總線接口信號(hào)2.地址與數(shù)據(jù)接口信號(hào)AD[31:00]T/S:它們是地址、數(shù)據(jù)多路復(fù)用的輸入/輸出信號(hào)在FRAME#有效的第1個(gè)時(shí)鐘,AD[31:00]上傳送的是32位地址,稱為地址期。在IRDY#和TRDY#同時(shí)有效時(shí),AD[31:00]上傳送的為32位數(shù)據(jù),稱為數(shù)據(jù)期。注:一次總線傳輸=地址期+數(shù)據(jù)期+數(shù)據(jù)期+…C/BE[3:0]#T/S:它們是總線命令和字節(jié)使能多路復(fù)用信號(hào)線PART/S:針對(duì)AD[31:00]和C/BE[3:0]#進(jìn)行奇偶校驗(yàn)的校驗(yàn)位.3.接口控制信號(hào)FRAME#S/T/S:幀周期信號(hào),幀有效周期表示一次傳輸?shù)拈_始和持續(xù)。CycleFrame)IRDY#S/T/S:主設(shè)備準(zhǔn)備好信號(hào)(InitiatorReady)TRDY#S/T/S:從設(shè)備準(zhǔn)備好信號(hào)(TargetReady)注:
IRDY#,TRDY#同時(shí)有效,才能從主設(shè)備傳送數(shù)據(jù)從設(shè)備.STOP#S/T/S:從設(shè)備發(fā)出的要求主設(shè)備終止當(dāng)前的數(shù)據(jù)傳送的信號(hào)。LOCK#S/T/S:鎖定信號(hào)IDSELIN:初始化設(shè)備選擇信號(hào)DEVSEL#S/T/S:設(shè)備選擇信號(hào)4.仲裁信號(hào)REQ#T/S:總線占用請(qǐng)求信號(hào)GNT#T/S:總線占用允許信號(hào)5.錯(cuò)誤報(bào)告信號(hào)PERR#S/T/S:數(shù)據(jù)奇偶校驗(yàn)錯(cuò)誤報(bào)告信號(hào)SERR#O/D:系統(tǒng)錯(cuò)誤報(bào)告信號(hào)6.中斷信號(hào)PCI有4條中斷線,分別是INTA#、INTB#、INTC#、INTD#
,電平觸發(fā),多功能設(shè)備可以任意選擇一個(gè)或多個(gè)中斷線,單功能設(shè)備只能用INTA#。7.64位總線擴(kuò)展信號(hào)AD[63:32]T/S:擴(kuò)展的32位地址和數(shù)據(jù)多路復(fù)用線C/BE[7:4]#T/S:總線命令和字節(jié)使能多路復(fù)用擴(kuò)展信號(hào)線REQ64#S/T/S,64位傳輸請(qǐng)求信號(hào)ACK64#S/T/S:64位傳輸允許信號(hào)PAR64T/S:奇偶雙字節(jié)校驗(yàn)8.高速緩存支持信號(hào)SBO#:IN/OUT:試探返回信號(hào)。SDONE#IN/OUT:查詢完成信號(hào)。8.2.1.PCI總線命令8.2PCI總線命令及總線協(xié)議8.2.2PCI總線協(xié)議1.PCI總線的傳輸控制遵循的管理規(guī)則:
FRAME#、IRDY#和TRDY#信號(hào)控制PCI總線的數(shù)據(jù)傳輸。FRAME#和IRDY#兩個(gè)信號(hào)的配合構(gòu)成總線狀態(tài):
11空閑、00數(shù)據(jù)、01等待狀態(tài)、10最后一個(gè)數(shù)據(jù)。01等待10最后00數(shù)據(jù)11空閑PCI總線傳輸?shù)囊话阋?guī)則:(1)FRAME#和IRDY#信號(hào)定義了總線的忙/閑狀態(tài)。(2)一旦FRAME#信號(hào)被置為無效,在同一傳輸期間不能重新設(shè)置。(3)除非設(shè)置了IRDY#信號(hào)有效,一般情況下不能設(shè)置FRAME#信號(hào)無效。(4)一旦主設(shè)備設(shè)置了IRDY#信號(hào),直到當(dāng)前數(shù)據(jù)期結(jié)束為止,主設(shè)備一般不能改變IRDY#信號(hào)和FRAME#信號(hào)的狀態(tài)。(5)在完成最后一個(gè)數(shù)據(jù)期之后的時(shí)鐘周期,主設(shè)備必須使IRDY#信號(hào)無效。2.PCI總線的尋址(1)I/O地址空間在I/O地址空間,32位AD線全部被用來提供一個(gè)完整的地址編碼(字節(jié)地址)。?AD[1:0]和C/BE[3:0]指明傳輸?shù)淖畹陀行ё止?jié)。(2)內(nèi)存地址空間3.字節(jié)對(duì)齊PCI總線上不能進(jìn)行字節(jié)的交換。但是,具有64位通道的主設(shè)備可以進(jìn)行DWORD(雙字)的交換。主設(shè)備可以在每個(gè)新數(shù)據(jù)期開始的時(shí)鐘前沿改變字節(jié)使能信號(hào),且在整個(gè)數(shù)據(jù)期中保持不變。4.PCI總線的驅(qū)動(dòng)與過渡從一個(gè)設(shè)備驅(qū)動(dòng)總線到另一個(gè)設(shè)備驅(qū)動(dòng)PCI總線之間設(shè)置一個(gè)過渡期,又稱為交換周期,以防止總線訪問沖突。在每個(gè)地址(數(shù)據(jù))期中,所有的AD線都必須被驅(qū)動(dòng)到穩(wěn)定的狀態(tài)(數(shù)據(jù)),包括那些字節(jié)使能信號(hào)表明無效的字節(jié)所對(duì)應(yīng)的AD線。5.設(shè)備選擇注意:
DEVSEL#與FRAME#、TRDY#的關(guān)系,無DEVSEL#信號(hào)時(shí)的處理。8.3PCI總線的數(shù)據(jù)傳輸過程
8.3.1.總線上的讀操作交換期從設(shè)備提供8最后讀4讀數(shù)據(jù)6讀數(shù)據(jù)等待等待等待8.3.2總線上的寫操作8最后5,6,7等待3,4寫數(shù)據(jù)8.3.3傳輸?shù)慕K止過程1.由主設(shè)備提出的終止傳輸結(jié)束超時(shí)(GNT#信號(hào)在內(nèi)部延時(shí)計(jì)數(shù)器滿后仍無效)
撤消FRAME#,建立IRDY#,直到TRDY#有效后傳輸完最后一個(gè)數(shù)據(jù)。2.由從設(shè)備提出的終止(發(fā)出STOP#信號(hào))死鎖后重試斷開(8個(gè)時(shí)鐘周期內(nèi)從設(shè)備不能對(duì)主設(shè)備做出響應(yīng))。
發(fā)出STOP#信號(hào)并保持其有效,直到FRAME#撤消為止。PCI總線上的所有傳輸操作中,F(xiàn)RAME#、IRDY#、TRDY#和STOP#遵循的規(guī)則:當(dāng)STOP#信號(hào)有效時(shí),F(xiàn)RAME#應(yīng)該在其后的2~3個(gè)時(shí)鐘周期內(nèi)盡快撤消,但撤消時(shí)應(yīng)使IRDY#有效,從設(shè)備應(yīng)無條件的保持STOP#的有效狀態(tài)直到FRAME#撤消為止。FRAME#撤消后,STOP#也應(yīng)該緊跟著撤消。在任何時(shí)鐘的上升沿,如果STOP#和TRDY#同時(shí)有效,就表示是傳輸?shù)淖詈笾芷?,IRDY#要在下一個(gè)時(shí)鐘的上升沿之前撤消,表示傳輸?shù)慕Y(jié)束。對(duì)于被目標(biāo)設(shè)備終止的傳輸,主設(shè)備要繼續(xù)完成它,就必須用下一個(gè)未傳輸?shù)臄?shù)據(jù)的地址來重試訪問。8.4總線仲裁與總線配置
8.4.1PCI總線仲裁機(jī)制PCI總線采用集中式的同步仲裁方法握手方式:請(qǐng)求(REQ#)-允許(QET#)1.發(fā)REQ,請(qǐng)求占用總線2.允許占用總線仲裁過程:678910123458.4.2PCI總線的配置空間PCI設(shè)備的配置空間(64DW的配置寄存器)
PCI設(shè)備的配置空間為即插即用(PnP)提供支持,完全實(shí)現(xiàn)設(shè)備的再定位。
PCI設(shè)備是一個(gè)物理設(shè)備,包括嵌入在PCI總線上的PCI器件或者是插入PCI插槽上的PCI卡PCI功能是一個(gè)PCI物理設(shè)備可能包含的具有獨(dú)立功能的邏輯設(shè)備,一個(gè)PCI設(shè)備可以包含1~8個(gè)PCI功能。如:一個(gè)PCI卡上可以包含一個(gè)獨(dú)立的打印機(jī)模塊,兩個(gè)獨(dú)立的數(shù)據(jù)采集器和一個(gè)獨(dú)立的RS-485通信模塊等。PCI規(guī)范要求每個(gè)功能都配備一個(gè)256B(64DW)的配置空間。在系統(tǒng)啟動(dòng)的時(shí)候由BIOS代碼執(zhí)行設(shè)備配置。一旦即插即用OS(如Windows2000)啟動(dòng)后,控制就傳遞給OS,OS接管設(shè)備管理。定義一個(gè)PCI設(shè)備配置空間的目的在于提供一套適當(dāng)?shù)呐渲么胧?,使之?shí)現(xiàn)完全的設(shè)備再定位而無需用戶干預(yù)安裝、配置和引導(dǎo),并由與設(shè)備無關(guān)的軟件進(jìn)行系統(tǒng)地址映射。所有PCI設(shè)備都必須實(shí)現(xiàn)PCI協(xié)議規(guī)定必需的配置寄存器,以便系統(tǒng)加電的時(shí)候利用這些寄存器的信息來進(jìn)行系統(tǒng)配置。對(duì)PCI的配置訪問實(shí)際上就是訪問設(shè)備的配置寄存器。1.配置空間的尋址方法訪問PCI設(shè)備配置空間時(shí)的必要條件:1)只有當(dāng)輸入目標(biāo)設(shè)備的IDSEL信號(hào)有效。配置訪問不使用地址總線的AD[31:11]。
。利用地址總線的高21位產(chǎn)生IDSEL。
。橋設(shè)備通過譯碼產(chǎn)生IDSEL。2)且在地址期內(nèi)AD[1:0]為00時(shí),才能被作為配置訪問的目標(biāo)設(shè)備。3)AD[7:2]配合C/BE#信號(hào)選擇配置寄存器。2.配置空間訪問的類型0類配置空間訪問對(duì)(正在運(yùn)行的)當(dāng)前PCI總線上的目標(biāo)設(shè)備配置寄存器所進(jìn)行的訪問。被配置訪問的目標(biāo)設(shè)備必須在地址期采樣到其IDSEL輸入信號(hào)有效,并且AD[1∶0]必須為00。地址期,AD[10∶8]用于選擇物理設(shè)備的八種功能之一。AD[7∶2]為選擇該功能設(shè)備的配置寄存器號(hào)(雙字號(hào));AD[1∶0]必須為00。數(shù)據(jù)期,AD[31∶0]傳送的是配置讀/寫數(shù)據(jù)0/1類配置空間訪問時(shí)在AD總線的地址期內(nèi)出現(xiàn)在AD總線上的信息格式:保留功能編號(hào)寄存器編號(hào)000類訪問:103170保留總線編號(hào)設(shè)備編號(hào)功能編號(hào)寄存器編號(hào)0107101523一類訪問:311類配置空間訪問對(duì)(通過PCI/PCI橋連接的)下一級(jí)PCI總線上的目標(biāo)設(shè)備(配置寄存器)所進(jìn)行的訪問。地址期:AD[10∶8]用于選擇物理設(shè)備的八種功能之一。AD[7∶2]為選擇該功能設(shè)備的配置寄存器號(hào);AD[15∶11]用于選擇第二級(jí)總線上的某個(gè)設(shè)備的IDSEL信號(hào)有效,AD[23∶16]放總線號(hào),AD[1∶0]必須為01。一旦PCI/PCI橋檢測(cè)到1類配置訪問,就有三種情況,須分別進(jìn)行處理。橋片中也有橋配置空間寄存器,存放有總線號(hào)和次級(jí)總線號(hào)等信息。如果要訪問的總線號(hào)既不同于橋的第二級(jí)總線號(hào),也不在橋的第二級(jí)總線號(hào)的下級(jí)總線范圍內(nèi),那么橋?qū)⒑雎员敬卧L問。如果總線號(hào)不同于橋的第二級(jí)總線,但在橋的第二級(jí)總線號(hào)的下級(jí)總線范圍內(nèi),那么橋?qū)⒈敬卧L問作為1類配置訪問傳遞給第二級(jí)總線。配置命令從第一級(jí)傳遞到第二級(jí)C/BE總線。如果總線號(hào)與橋的第二級(jí)總線號(hào)相同,那么橋?qū)⒈敬卧L問作為0類配置訪問傳遞給第二級(jí)總線。AD[10:2]直接從橋的第一級(jí)傳遞到第二級(jí)AD總線。AD[15:11]的設(shè)備號(hào)用于選擇第二級(jí)總線上哪個(gè)設(shè)備的IDSEL信號(hào)有效。配置命令從第一級(jí)傳遞到第二級(jí)C/BE總線。3、配置空間頭區(qū)域(64DW)及功能(1)設(shè)備識(shí)別頭區(qū)域有7個(gè)寄存器(字段)用于設(shè)備的識(shí)別。(2)設(shè)備控制表現(xiàn)在命令寄存器為發(fā)出和響應(yīng)PCI總線命令提供了對(duì)設(shè)備粗略的控制。(3)設(shè)備狀態(tài)狀態(tài)寄存器用于記錄PCI總線有關(guān)操作的狀態(tài)信息。注意:該寄存器的有些位是只可清不可置,對(duì)這些位的寫,被解釋為對(duì)該位清零。例如,為了清位14而不影響其他位,應(yīng)向該寄存器寫0100000000000000B(4)基址寄存器(BADR)
PCI設(shè)備的配置空間可以在微處理器決定的地址空間中浮動(dòng),以便簡(jiǎn)化設(shè)備的配置過程。地址映射:系統(tǒng)初始化代碼在引導(dǎo)操作系統(tǒng)之前,必須建立一個(gè)統(tǒng)一的地址映射關(guān)系,以確定系統(tǒng)中有多少存儲(chǔ)器和I/O控制器,它們需要占用多少地址空間。當(dāng)確定這些信息之后,系統(tǒng)初始化代碼便可以把I/O控制器映射到合理的地址空間并引導(dǎo)系統(tǒng)?;芳拇嫫?為了使這種映射能夠做到與相應(yīng)的設(shè)備無關(guān),在配置空間的頭區(qū)域中安排了一組供映射時(shí)使用的基址寄存器。舉例1:基址寄存器的值=FFFFFF01h=11111111111111111111111100000001b位0=1,表示是一個(gè)I/O地址空間映射位[31:2]第一個(gè)為1的是位8,表示映射的I/O空間為256。這意味著I/O映射的基地址應(yīng)該起始于256的整數(shù)倍。求:最大/最小I/O映射地址空間?
最小I/O映射地址空間=4字節(jié)(2^2)最大I/O映射地址空間=256字節(jié)(協(xié)議規(guī)定)舉例2:基址寄存器的值=FFF00000h=11111111111100000000000000000000B位0=0,表示是一個(gè)存儲(chǔ)器地址空間映射位[2:1]=00b,它使32位存儲(chǔ)器映射位3=0,表示它不是預(yù)取存儲(chǔ)器。位[31:4]第一個(gè)為1的是位20,表示映射的存儲(chǔ)空間為1MB。這意味著存儲(chǔ)映射的基地址應(yīng)該起始于1MB、2MB、3MB等的邊界上。系統(tǒng)經(jīng)過權(quán)衡后再向該基址寄存器寫入實(shí)際映射的空間基址。求:最大/最小存儲(chǔ)映射地址空間?最小存儲(chǔ)映射地址空間=16字節(jié)(2^4)最大存儲(chǔ)映射地址空間=2GB(2^31)擴(kuò)展ROM基地址寄存器擴(kuò)展ROM基地址=FFFF0001h位0=1,表示擴(kuò)展ROM訪問允許位[31:11]第一個(gè)為1的是位16,表示映射的存儲(chǔ)空間為64K。這意味著ROM映射的基地址應(yīng)該起始于64KB的邊界(5)頭區(qū)域中其它寄存器中斷引腳寄存器8位只讀寄存器,指明設(shè)備使用了PCI的哪個(gè)中斷引腳。1代表INTA#,2為INTB#……中斷請(qǐng)求線寄存器8位可讀/寫寄存器,指明設(shè)備的中斷引腳和PC機(jī)的8259A的哪個(gè)中斷輸入線連。Min_Gnt/Max_lat寄存器Min_Gnt用來指定設(shè)備需要多長(zhǎng)的突發(fā)傳輸時(shí)間。Max_lat用來表示對(duì)PCI總線進(jìn)行訪問的頻繁程度。PCI中斷1.PCI中斷的共享3配置空間的訪問方法針對(duì)x86兼容的系統(tǒng),PCI協(xié)議定義了將處理器發(fā)出的I/O或存儲(chǔ)器訪問識(shí)別或轉(zhuǎn)換為配置訪問的轉(zhuǎn)換機(jī)構(gòu),稱為配置機(jī)構(gòu)。配置機(jī)構(gòu)是利用兩個(gè)32位的I/O端口寄存器來訪問PCI設(shè)備的配置空間的。配置地址端口寄存器(I/O地址為0CF8H~0CFBH)配置數(shù)據(jù)口寄存器(I/O地址為0CFCH~0CFFH)。第一步,將要訪問的總線號(hào)、設(shè)備號(hào)、功能號(hào)和雙字號(hào)寫到配置地址端口寄存器。(32位寫)第二步,執(zhí)行一次對(duì)配置數(shù)據(jù)端口寄存器的I/O讀/寫。PCIBIOS初始化程序只能通過PCIBIOS才能訪問PCI配置寄存器。PCIBIOS再通過配置地址端口寄存器和配置數(shù)據(jù)口寄存器實(shí)現(xiàn)其功能。1、16位PCIBIOS的調(diào)用通過INT1AH實(shí)現(xiàn):AH=B1H,AL為子功能號(hào)。2、32位PCIBIOS的調(diào)用確認(rèn)32位BIOS是否存在;確認(rèn)BIOS是否支持PCIBIOS,取得PCIBIOS入口地址;通過對(duì)PCIBIOS入口地址的遠(yuǎn)程調(diào)用來實(shí)現(xiàn):AH=B1H,AL為子功能號(hào)。4.PCI中斷1.PCI中斷請(qǐng)求
PCI中斷線:INTA#、INTB#、INTC#、INTD#。
PCI中斷源:PIRQA#~PIRQD#。
PCI中斷源連接:通過映射到ISA中斷(3~7,9~12,14~15)來實(shí)現(xiàn)。特點(diǎn):當(dāng)PCI中斷被映射到一個(gè)ISA的IRQ后,該IRQ不可再被ISA設(shè)備(通過SERIRQ的中斷)使用。PCI中斷可與低電平有效的非ISA中斷共享同一IRQ。實(shí)現(xiàn):設(shè)備31的0號(hào)功能的60H~63H、68H~6BH的PIRQ路由控制寄存器實(shí)現(xiàn)PIRQA#~PIRQH#與IRQ的映射關(guān)系。PIRQ#路由控制寄存器[8bit]存放的是IRQ編碼。PCI中斷請(qǐng)求:PCI中斷請(qǐng)求必須為電平觸發(fā)方式。多個(gè)PIRQ#信號(hào)線能連在同一個(gè)IRQ上。不同PIRQ#的優(yōu)先級(jí)由IRQ決定。同一PIRQ#不同設(shè)備INT*的優(yōu)先級(jí)由安裝次序決定。PCI中斷響應(yīng)PCI中斷響應(yīng)為單周期響應(yīng)。HOST-PCI橋自動(dòng)將雙中斷響應(yīng)周期轉(zhuǎn)換成單中斷響應(yīng)周期。其他中斷響應(yīng)過程與8259A同,中斷類型號(hào)通過HOST-PCI橋再返回給處理器。中斷響應(yīng)周期中可插入等待周期。中斷服務(wù)程序入口地址由中斷描述符表管理。PCI中斷共享PCI中斷請(qǐng)求信號(hào)為漏極開路的。同一PIRQ不同設(shè)備的優(yōu)先級(jí)最后安裝的最高。即:中斷向量表中中斷向量為同一PIRQ最后安裝的設(shè)備的中斷服務(wù)程序入口地址。PCI中斷的狀態(tài)位通過中斷服務(wù)程序讀取,并處理。同一PIRQ中斷服務(wù)實(shí)現(xiàn)方法:采用鏈表式處理方法。方法:PNP配置時(shí)將同一PIRQ的原中斷向量存放到其設(shè)備驅(qū)動(dòng)的特定寄存器后才替換為新的中斷向量。PCI中斷1.PCI中斷的共享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中斷路由8.5PCI總線控制芯片5933圖8.9S5933的內(nèi)部結(jié)構(gòu)8.5PCI控制器S5933的特點(diǎn):符合PCI規(guī)范2.1的32位接口芯片。可作為PCI目標(biāo)設(shè)備接口。可作為PCI主控設(shè)備接口。最高數(shù)據(jù)傳輸速度:132MB/s。使用5V電源。8.5.1
S5933的組成:
PCI總線接口。直接連接PCI總線。nvRAM接口。連接nvRAM。用戶接口(ADD-ON)。8.5.2S5933的數(shù)據(jù)傳送方式信箱(Mailbox)方式。傳送簡(jiǎn)單的命令和狀態(tài)參數(shù),僅能實(shí)現(xiàn)目標(biāo)訪問(I/O訪問)。S5933有輸入、輸出Mailbox寄存器各四個(gè),可以采用中斷或查詢方式,用于傳輸少量數(shù)據(jù)(控制參數(shù)和狀態(tài))。FIFO方式。用于高速批量數(shù)據(jù)傳輸。S5933中兩個(gè)獨(dú)立的單向FIFO(8X32bit),PCItoAdd-OnFIFO和Add-OntoPCI。PCI主機(jī)與ADD-ON可對(duì)相關(guān)控制寄存器進(jìn)行訪問,實(shí)現(xiàn)雙向數(shù)據(jù)傳輸(DMA方式)。該方式支持主控方式。PASS-THRU方式。直接訪問ADD-ON資源。使用Pass-Thru通信,必須給S5933外接nvRAM配置芯片,以便給Pass-Thru在PC主機(jī)上分配空間,S5933配置空間中6個(gè)基址寄存器,與PASSTHRU方式有關(guān)基址寄存器1#-4#,基址寄存器0#被指定為S5933分配I/O資源,基址寄存器6保留不用。因此S5933可以建立四條Pass-Thru通道,實(shí)現(xiàn)單周期和突發(fā)(burst)數(shù)據(jù)傳送。S5933中地址寄存器(APTA)用于存放要訪問的資源地址;數(shù)據(jù)寄存器(APTD)用于暫存被讀/寫的數(shù)據(jù)。不支持主控方式。PCIExpress簡(jiǎn)介2001年春季的IDF上Intel正式公布PCIExpress,是取代PCI總線的第三代I/O技術(shù),也稱為3GIO。該總線的規(guī)范由Intel支持的AWG(ArapahoeWorkingGroup)負(fù)責(zé)制定。2002年4月17日,AWG正式宣布3GIO1.0規(guī)范草稿制定完畢,并移交PCI-SIG進(jìn)行審核。開始的時(shí)候大家都以為它會(huì)被命名為SerialPCI(受到串行ATA的影響),但最后卻被正式命名為PCIExpress。2006年正式推出Spec2.0(2.0規(guī)范)。目前,PCI-e3.0規(guī)范也已經(jīng)確定,其編碼數(shù)據(jù)速率,比同等情況下的PCI-E2.0規(guī)范提高了一倍,X32端口的雙向速率高達(dá)320Gbps。各式不同的PCIExpress插槽(由上而下:x4,x16,x1,與x16),相較于傳統(tǒng)的32-bitPCI插槽(最下方)與其它總線比較PCIe的規(guī)范主要是為了提升電腦內(nèi)部所有總線的速度,因此帶寬有多種不同規(guī)格標(biāo)準(zhǔn),其中PCIex16是專為顯卡所設(shè)計(jì)的部分。AGP的傳輸效率最高為2.1GB/s,不過對(duì)上PCIex16的8GB/s,很明顯的就分出勝負(fù)。
PCI總線的最大優(yōu)點(diǎn)是總線結(jié)構(gòu)簡(jiǎn)單、成本低、設(shè)計(jì)簡(jiǎn)單,但是缺點(diǎn)也比較明顯:并行總線無法連接太多設(shè)備,總線擴(kuò)展性比較差,線間干擾將導(dǎo)致系統(tǒng)無法正常工作;當(dāng)連接多個(gè)設(shè)備時(shí),總線有效帶寬將大幅降低,傳輸速率變慢;為了降低成本和盡可能減少相互間的干擾,需要減少總線帶寬,或者地址總線和數(shù)據(jù)總線采用復(fù)用方式設(shè)計(jì),這樣降低了帶寬利用率。PCIeVSPCI
與PCI總線相比,PCI-E總線主要有下面的技術(shù)優(yōu)勢(shì):是串行總線,進(jìn)行點(diǎn)對(duì)點(diǎn)傳輸,每個(gè)傳輸通道獨(dú)享帶寬。
PCIExpress總線支持雙向傳輸模式和數(shù)據(jù)分通道傳輸模式。其中數(shù)據(jù)分通道傳輸模式即PCIExpress總線的x1、x2、x4、x8、x12、x16和x32多通道連接,x1單向傳輸帶寬即可達(dá)到250MB/s,雙向傳輸帶寬更能夠達(dá)到500MB/s,這個(gè)已經(jīng)不是普通PCI總線所能夠相比的了。
PCIExpress總線充分利用先進(jìn)的點(diǎn)到點(diǎn)互連、基于交換的技術(shù)、基于包的協(xié)議來實(shí)現(xiàn)新的總線性能和特征。電源管理、服務(wù)質(zhì)量(QoS)、熱插拔支持、數(shù)據(jù)完整性、錯(cuò)誤處理機(jī)制等也是PCIExpress總線所支持的高級(jí)特征。PCIE設(shè)備APCIE設(shè)備B鏈路(X1,X2,X4,X8,X16,X32)數(shù)據(jù)包數(shù)據(jù)包與PCI總線良好的繼承性,可以保持軟件的繼承和可靠性。PCIExpress總線關(guān)鍵的PCI特征,比如應(yīng)用模型、存儲(chǔ)結(jié)構(gòu)、軟件接口等與傳統(tǒng)PCI總線保持一致,但是并行的PCI總線被一種具有高度擴(kuò)展性的、完全串行的總線所替代。
PCIExpress總線充分利用先進(jìn)的點(diǎn)到點(diǎn)互連,降低了系統(tǒng)硬件平臺(tái)設(shè)計(jì)的復(fù)雜性和難度,從而大大降低了系統(tǒng)的開發(fā)制造設(shè)計(jì)成本,極大地提高系統(tǒng)的性價(jià)比和健壯性。系統(tǒng)總線帶寬提高同時(shí),減少了硬件PIN的數(shù)量,硬件的成本直接下降。PCIe系統(tǒng)的拓?fù)浣Y(jié)構(gòu)
PCIe系統(tǒng)的拓?fù)浣Y(jié)構(gòu)主要設(shè)備有根復(fù)合體,與根復(fù)合體相連的是CPU、主存儲(chǔ)器、交換開關(guān)、端點(diǎn)和PCIe到PCI的橋等。兩個(gè)PCIe設(shè)備間以點(diǎn)到點(diǎn)的鏈路進(jìn)行連接。交換開關(guān)根復(fù)合體交換開關(guān)DDRSDRAM交換開關(guān)Infiniband10GbpsEthernetFiberchannelPCIE/PCI橋SCSIPCI總線處理器Add-inGbpsEthernet端點(diǎn)端點(diǎn)端點(diǎn)端點(diǎn)端點(diǎn)端點(diǎn)GFXPCI設(shè)備PCI設(shè)備根復(fù)合體(RootComplex)根復(fù)合體是將CPU和主存儲(chǔ)器連接到PCIe線路結(jié)構(gòu)的設(shè)備,相當(dāng)于PCI系統(tǒng)中的主橋,它可以支持一個(gè)或多個(gè)PCIe端口,每個(gè)端口連出一條PCIe鏈路,下掛一個(gè)端點(diǎn)設(shè)備或一個(gè)交換開關(guān),上圖中根復(fù)合體支持3個(gè)端口。根復(fù)合體代表CPU啟動(dòng)PCIe事務(wù),代表CPU訪問主存儲(chǔ)器;能在端口上接收來自PCIe設(shè)備的訪問主存儲(chǔ)器的請(qǐng)求;也可以將事務(wù)從一個(gè)端口路由到另一個(gè)端口。根復(fù)合體內(nèi)部提供中央資源:熱插拔控制器、電源管理控制器、中斷控制器、錯(cuò)誤檢測(cè)和報(bào)告邏輯等。根復(fù)合體根復(fù)合體寄存器存儲(chǔ)器控制器Host/PCI橋虛擬P2P虛擬P2P中斷控制、電源管理、熱插拔控制交換開關(guān)(Switch)交換開關(guān)是一個(gè)具有2-n端口的設(shè)備,每一個(gè)端口連一條PCIe鏈路,在系統(tǒng)中用于多設(shè)備的互連。交換開關(guān)有四個(gè)端口,一個(gè)上游端口指向根復(fù)合體,三個(gè)下游端口指向離開根復(fù)合體的方向,每一端口與一條鏈路相連。交換開關(guān)可以將事務(wù)從任一個(gè)端口路由到另一個(gè)端口。虛擬P2P虛擬P2P虛擬P2P虛擬P2P交換開關(guān)端點(diǎn)(Endpoint)端點(diǎn)是一個(gè)具體的設(shè)備,如以太網(wǎng)、USB或圖形設(shè)備,是PCIe事務(wù)的請(qǐng)求者(啟動(dòng)事務(wù))或完成者(響應(yīng)事務(wù))。端點(diǎn)使用PCI類型0配置頭標(biāo),每個(gè)端點(diǎn)初始化時(shí)設(shè)置一個(gè)設(shè)備ID(請(qǐng)求者ID或完成者ID),由總線號(hào)、設(shè)備號(hào)和功能號(hào)組成。端點(diǎn)作為掛連在一條鏈路上的唯一設(shè)備,設(shè)備號(hào)總是0。類似于PCI設(shè)備,PCIe也有多功能端點(diǎn),每端點(diǎn)最多支持8個(gè)功能,其中必須有能能0。端口(Port)端口是PCIe設(shè)備與鏈路之間的接口,由差分發(fā)送器和接收器組成。指向根復(fù)合體方向的端口為上游端口;離開根復(fù)合體方向的端口為下游端口。端點(diǎn)上只有上游端口,根復(fù)合體上只有下游端口,交換開關(guān)上有上、下游端口。一個(gè)端口中接收包的是入端口,發(fā)送包的出端口。PCIe到PCI/PCI-X的橋
通過PCIe到PCI/PCI-X的橋設(shè)備,原PCI/PCI-X總線和設(shè)備也可以納入PCIe系統(tǒng),PCI/PCI-X總線隨系統(tǒng)統(tǒng)一編號(hào)。圖中標(biāo)示了一條PCI/PCI-X總線及其擴(kuò)展槽。請(qǐng)求者和完成者(Requester&Completer)
請(qǐng)求者是PCIe線路結(jié)構(gòu)中發(fā)起事務(wù)的設(shè)備,根復(fù)合體和端點(diǎn)都可以擔(dān)當(dāng)請(qǐng)求者。完成者是被尋址的設(shè)備或者說是請(qǐng)求者的目標(biāo)設(shè)備,請(qǐng)求者從完成者讀數(shù)據(jù)向完成者寫數(shù)據(jù),根復(fù)合體和端點(diǎn)都可以成為完成者。請(qǐng)求者完成者CplDMRd存儲(chǔ)器讀請(qǐng)求正常結(jié)束PCIe的事務(wù)機(jī)制PCIe的事務(wù)包括以下四種:存儲(chǔ)器事務(wù)、IO事務(wù)、配置事務(wù)和消息事務(wù)。根據(jù)事務(wù)是否需要返回完成包,這些事務(wù)又分為轉(zhuǎn)發(fā)和非轉(zhuǎn)發(fā)事務(wù)。在TLP的傳遞和事務(wù)的執(zhí)行過程中,涉及到請(qǐng)求者和完成者,發(fā)送者和接收者4個(gè)實(shí)體,它們之間的關(guān)系如下圖所示。設(shè)備A向設(shè)備B發(fā)送請(qǐng)求時(shí),設(shè)備A是發(fā)送者,設(shè)備B是接收者;設(shè)備B向設(shè)備A發(fā)送完成時(shí),設(shè)備B是發(fā)送者,設(shè)備A是接收者。發(fā)送請(qǐng)求的是請(qǐng)求者,如設(shè)備A;發(fā)送完成的是完成者,如設(shè)備B。請(qǐng)求者完成者CplDMRd存儲(chǔ)器讀請(qǐng)求正常結(jié)束TLP數(shù)據(jù)包類型TLP數(shù)據(jù)包類型縮寫名存儲(chǔ)器讀請(qǐng)求MRd鎖定存儲(chǔ)器讀請(qǐng)求MRdLK存儲(chǔ)器寫請(qǐng)求MWrIO讀IORdIO寫IOWr配置讀(類型0或類型1)CfgRd0、CfgRd1配置寫(類型0或類型1)CfgWr0、CfgWr1不帶數(shù)據(jù)的消息請(qǐng)求Msg帶數(shù)據(jù)的消息請(qǐng)求MsgD不帶數(shù)據(jù)的完成Cpl帶數(shù)據(jù)的完成CplD與鎖定存儲(chǔ)器讀請(qǐng)求對(duì)應(yīng)的不帶數(shù)據(jù)的完成CplLk與鎖定存儲(chǔ)器讀請(qǐng)求對(duì)應(yīng)的帶數(shù)據(jù)的完成CplDLk交換開關(guān)根復(fù)合體交換開關(guān)DDRSDRAM交換開關(guān)InfinibandFiberchannelPCIE/PCI橋SCSI處理器端點(diǎn)端點(diǎn)端點(diǎn)端點(diǎn)端點(diǎn)IOWrGFXCPU對(duì)端點(diǎn)的IO寫IOWrIOWrCplCplCpl交換開關(guān)根復(fù)合體交換開關(guān)DDRSDRAM交換開關(guān)Infiniband10GbpsEthernetFiberchannelPCIE/PCI橋SCSI處理器端點(diǎn)端點(diǎn)端點(diǎn)端點(diǎn)端點(diǎn)端點(diǎn)GFX由端點(diǎn)發(fā)起對(duì)存儲(chǔ)器讀MRdCplDMRdMRdCplDCplDPCIe的體系結(jié)構(gòu)連接管理,數(shù)據(jù)完整性,錯(cuò)誤檢測(cè)和錯(cuò)誤校驗(yàn)數(shù)據(jù)鏈路層組裝和拆解TLP數(shù)據(jù)包事務(wù)層定義了PCIe
的電器特性,負(fù)責(zé)接口和設(shè)備間的連接物理層PCIe設(shè)備層次PCIE設(shè)備層次PCIe規(guī)范規(guī)定對(duì)于設(shè)備的設(shè)計(jì)采用分層結(jié)構(gòu),包括事務(wù)層(Transaction)、數(shù)據(jù)鏈路層(DataLink)、物理層(Physical),它們?cè)诖怪狈较蛴挚梢赃M(jìn)一步分成兩部分:處理出站流量的發(fā)送部分和處理入站流量的接收部分。PCIe兩個(gè)互連的設(shè)備采用事務(wù)的方式通信。事務(wù)是指為實(shí)現(xiàn)設(shè)備間某種信息傳送而定制的由一個(gè)或若干個(gè)包組成的發(fā)送序列,事務(wù)通過事務(wù)包(TransactionLayerPacket,TLP)具體實(shí)現(xiàn)。根據(jù)設(shè)備的分層結(jié)構(gòu),在鏈路上傳送的包有事務(wù)層包(TLP)、數(shù)據(jù)鏈路層包(DLLP)、物理層包(PLP)。物理層數(shù)據(jù)鏈路層事務(wù)層PCIE核邏輯接口設(shè)備核物理層數(shù)據(jù)鏈路層事務(wù)層PCIE核邏輯接口設(shè)備核TxTxRxRxLINK發(fā)送設(shè)備A的事務(wù)層根據(jù)來自發(fā)送設(shè)備核的信息,構(gòu)建發(fā)送TLP,有三個(gè)字段。發(fā)送TLP在送上鏈路之前,本設(shè)備的數(shù)據(jù)鏈路層和物理層要對(duì)它進(jìn)行組裝,數(shù)據(jù)鏈路層層為TLP分配一個(gè)序列號(hào)(SeqNum),計(jì)算出包括序列號(hào)在內(nèi)的鏈路CRC(LCRC),附加在TLP的頭和尾;物理層再加上起始(STP)和結(jié)束(End)幀控制字符。目標(biāo)接收設(shè)備B的數(shù)據(jù)鏈路層和物理層對(duì)接收TLP進(jìn)行圖中所示的拆解,如果沒有錯(cuò)誤,將TLP發(fā)送至接收者的事務(wù)層,在事務(wù)層,信息被譯碼并送至設(shè)備B的核。事務(wù)包(TLP)HeaderDataECRCTransmitBuffersPerVCLinkPacketSequenceTLPLCRCDLLPse.g.Ack/NakECRCMuxPhysicalPacketStartLinkPacketEndEncode并/串差分驅(qū)動(dòng)器流控制虛通道管理排序發(fā)送事務(wù)層(Transaction)數(shù)據(jù)鏈路層(DataLink)物理層(Physical)PCIE設(shè)備各層的功能關(guān)系事務(wù)層包(TLP)PCIe事務(wù)使用的TLP起源于發(fā)送器設(shè)備的事務(wù)層,終止于接收設(shè)備的事務(wù)層。隨著TLP通過發(fā)送設(shè)備的各層,數(shù)據(jù)鏈路層和物理層也參與對(duì)TLP進(jìn)行相應(yīng)的拆解。TLP包的裝配核心部分是包的頭標(biāo)和數(shù)據(jù)區(qū),由事務(wù)層根據(jù)軟件層/設(shè)備核送來的信息構(gòu)建,事務(wù)層還計(jì)算出基于頭標(biāo)和數(shù)據(jù)區(qū)的端-端CRC字段(32b),成為ECRC,并添加到包上,ECRC字段是可選的。ECRC字段由TLP包的最終目標(biāo)設(shè)備在事務(wù)層用來檢查TLP頭標(biāo)和數(shù)據(jù)區(qū)中的CRC錯(cuò)誤。TLP的核心部分前推到數(shù)據(jù)鏈路層,由數(shù)據(jù)鏈路層加上序列號(hào),計(jì)算出基于序列號(hào)和TLP全部字節(jié)的CRC字段,稱為L(zhǎng)CRC,并添加到包上。LCRC字段由鏈路另一端的接收設(shè)備來檢查帶有序列號(hào)的TLP中的CRC錯(cuò)誤。帶序列號(hào)的LCRC的TLP前推至物理層,物理層將1B開始幀字符和1B結(jié)束幀字符串連在包上,對(duì)包進(jìn)行編碼,差分發(fā)送出去。事務(wù)包(TLP)HeaderDataECRCTransmitBuffersPerVCLinkPacketSequenceTLPLCRCDLLPse.g.Ack/NakECRCMuxPhysicalPacketStartLinkPacketEndEncode并/串差分驅(qū)動(dòng)器事務(wù)層包(TLP)HeaderDataECRCReceiveBuffersPerVCLinkPacketSequenceTLPLCRCDLLPse.g.Ack/NakECRCDe-MuxPhysicalPacketStartLinkPacketEndDecode串/并差分驅(qū)動(dòng)器流控制虛通道管理排序發(fā)送接收PCIE設(shè)備各層的功能關(guān)系事務(wù)層(Transaction)數(shù)據(jù)鏈路層(DataLink)物理層(Physical)開始序列號(hào)頭數(shù)據(jù)ECRCLCRC結(jié)束來自軟件層/設(shè)備核心的TLP核心部分的信息由事務(wù)層創(chuàng)建由數(shù)據(jù)鏈路層附加由物理層附加比特發(fā)送方向TLP包的拆解
TLP位流輸入到鏈路對(duì)方的接收設(shè)備,物理層將TLP的開始和結(jié)束幀字符剝?nèi)ィ玫降腡LP送到數(shù)據(jù)鏈路層。在數(shù)據(jù)鏈路層檢查TLP中的錯(cuò)誤,并剝除序列號(hào)和LCRC字段,如果沒有LC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 甲周疣的臨床護(hù)理
- 產(chǎn)后風(fēng)濕的健康宣教
- 緩慢型心律失常的護(hù)理
- 《設(shè)計(jì)你的人生》課件
- 《單片機(jī)原理及應(yīng)用 》課件-第5章
- 嘴巴里長(zhǎng)泡的臨床護(hù)理
- 闊韌帶妊娠的健康宣教
- 皮脂腺增生的臨床護(hù)理
- JJF(陜) 116-2024 直流數(shù)字功率表校準(zhǔn)規(guī)范
- 比較線段的長(zhǎng)短課件西西模
- 初中語文語法主謂賓定狀補(bǔ)-課件
- 建筑工程施工質(zhì)量驗(yàn)收規(guī)范應(yīng)用講座課件
- EB病毒感染的特殊表現(xiàn).幻燈片
- 麻栗坡縣潤(rùn)澤銅業(yè)有限公司麻栗坡縣楊萬銅礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 半自動(dòng)鉆床 課程設(shè)計(jì)報(bào)告書
- 機(jī)電產(chǎn)品設(shè)計(jì)奧秘探究知到章節(jié)答案智慧樹2023年青島濱海學(xué)院
- 新外研版高中英語必修第一冊(cè)Unit 6教學(xué)設(shè)計(jì)
- 2023版中國(guó)近現(xiàn)代史綱要課件:05第五專題 中國(guó)人民在精神上由被動(dòng)轉(zhuǎn)為主動(dòng)
- 快樂孕育孕婦學(xué)校高級(jí)教程孕產(chǎn)期心理保健
- AI時(shí)代大學(xué)生創(chuàng)新創(chuàng)業(yè)導(dǎo)航智慧樹知到答案章節(jié)測(cè)試2023年西南大學(xué)
- 臥式罐剩余體積與液位關(guān)系計(jì)算方式-excel
評(píng)論
0/150
提交評(píng)論