PCI總線的信號(hào)定義
PCI總線是一個(gè)同步總線,每一個(gè)設(shè)備都具有一個(gè)CLK信號(hào),其發(fā)送設(shè)備與接收設(shè)備使用這個(gè)CLK信號(hào)進(jìn)行同步數(shù)據(jù)傳遞。PCI總線可以使用33MHz或者66MHz的時(shí)鐘頻率,而PCI-X總線可以使用133MHz、266MHz或者533MHz的時(shí)鐘頻率。
本文引用地址:http://butianyuan.cn/article/201612/330239.htm除了RST#、INTA~D#、PME#和CLKRUN#等信號(hào)之外,PCI設(shè)備使用的絕大多數(shù)信號(hào)需要與CLK信號(hào)同步。其中RST#是復(fù)位信號(hào),PCI設(shè)備使用INTA~D#信號(hào)進(jìn)行中斷請(qǐng)求。本篇并不關(guān)心PME#和CLKRUN#信號(hào)。
1.2.1地址和數(shù)據(jù)信號(hào)
在PCI總線中,與地址和數(shù)據(jù)相關(guān)的信號(hào)如下所示。
(1)
PCI總線復(fù)用地址與數(shù)據(jù)信號(hào)。PCI總線事務(wù)在啟動(dòng)后的第一個(gè)時(shí)鐘周期傳送地址,這個(gè)地址是PCI總線域的存儲(chǔ)器地址或者I/O地址;而在下一個(gè)時(shí)鐘周期傳送數(shù)據(jù)[1]。傳送地址的時(shí)鐘周期也被稱為地址周期,而傳送數(shù)據(jù)的時(shí)鐘周期也被稱為數(shù)據(jù)周期。PCI總線支持突發(fā)傳送,即在一個(gè)地址周期之后,可以緊跟多個(gè)數(shù)據(jù)周期。
(2)
PCI總線使用奇偶校驗(yàn)機(jī)制,保證地址和數(shù)據(jù)信號(hào)在進(jìn)行數(shù)據(jù)傳遞時(shí)的正確性。PAR信號(hào)是AD[31:0]和C/BE[3:0]的奇偶校驗(yàn)信號(hào)。PCI主設(shè)備在地址周期和數(shù)據(jù)周期中,使用該信號(hào)為地址和數(shù)據(jù)信號(hào)線提供奇偶校驗(yàn)位。
(3)
PCI總線復(fù)用命令與字節(jié)選通引腳。在地址周期中,C/BE[3:0]信號(hào)表示PCI總線的命令。而在數(shù)據(jù)周期,C/BE[3:0]引腳輸出字節(jié)選通信號(hào),其中C/BE3、C/BE2、C/BE1和C/BE0與數(shù)據(jù)的字節(jié)3、2、1和0對(duì)應(yīng)。使用這組信號(hào)可以對(duì)PCI設(shè)備進(jìn)行單個(gè)字節(jié)、字和雙字訪問(wèn)。PCI總線通過(guò)C/BE[3:0]#信號(hào)定義了多個(gè)總線事務(wù),這些總線事務(wù)如表1?2所示。
表1?2PCI總線事務(wù)
C/BE[3:0]# | 命令類型 | 說(shuō)明 |
0000 | Interrupt Acknowledge | 中斷響應(yīng)總線事務(wù)讀取當(dāng)前掛接在PCI總線上的中斷控制器的中斷向量號(hào)。目前大多數(shù)處理器系統(tǒng)的中斷控制器都不掛接在PCI總線上,因此這種總線事務(wù)很少被使用。 |
0001 | Special Cycle | HOST主橋可以使用Special Cycle事務(wù)在PCI總線上,進(jìn)行信息廣播。 |
0010 | I/O Read | HOST主橋可以使用該總線事務(wù)對(duì)PCI設(shè)備的I/O地址空間進(jìn)行讀操作。目前多數(shù)PCI設(shè)備都不支持I/O地址空間,而僅支持存儲(chǔ)器地址空間,但是仍有部分PCI設(shè)備同時(shí)包含I/O地址空間和存儲(chǔ)器地址空間。 |
0011 | I/O Write | 對(duì)PCI總線的I/O地址空間進(jìn)行寫操作。 |
0100 | Reserved | 保留 |
0101 | Reserved | 保留 |
0110 | Memory Read | HOST主橋可以使用該總線事務(wù)對(duì)PCI設(shè)備的存儲(chǔ)器空間進(jìn)行讀操作。PCI設(shè)備也可以使用該總線事務(wù)讀取處理器的存儲(chǔ)器空間。 |
0111 | Memory Write | HOST主橋可以使用該總線事務(wù)對(duì)PCI設(shè)備的存儲(chǔ)器空間進(jìn)行寫操作。PCI設(shè)備也可以使用該總線事務(wù)向處理器的存儲(chǔ)器空間進(jìn)行寫操作。 |
1000 | Reserved | 保留 |
1001 | Reserved | 保留 |
1010 | Configuration Read | HOST主橋可以對(duì)PCI設(shè)備的配置空間進(jìn)行讀操作。每一個(gè)PCI設(shè)備都有獨(dú)立的配置空間。在多功能PCI設(shè)備中,每一個(gè)子設(shè)備(Function)也有一個(gè)獨(dú)立的配置空間。該總線事務(wù)只能由HOST主橋發(fā)出,PCI橋可以轉(zhuǎn)發(fā)該總線事務(wù)。 |
1011 | Configuration Write | HOST主橋?qū)CI設(shè)備的配置空間進(jìn)行寫操作。 |
1100 | Memory Read Multiple | HOST主橋可以使用該總線事務(wù)對(duì)PCI設(shè)備的存儲(chǔ)器空間進(jìn)行多行讀操作,這種操作并不多見(jiàn)。該總線事務(wù)的主要用途是供PCI設(shè)備使用,讀取主存儲(chǔ)器。這個(gè)讀操作與Memory Read操作(C/BE[3:0]為0x0110時(shí))略有不同,詳見(jiàn)第3.4.5節(jié)。 |
1101 | Dual Address Cycle | PCI總線支持64位地址,處理器或者其他PCI設(shè)備訪問(wèn)64位PCI總線地址時(shí),必須使用雙地址周期產(chǎn)生64位的PCI總線地址。PCI設(shè)備使用DMA讀寫方式訪問(wèn)64位的存儲(chǔ)器地址時(shí),也可以使用該總線事務(wù)。 |
1110 | Memory Read Line | HOST主橋可以使用該總線事務(wù)對(duì)PCI設(shè)備的存儲(chǔ)器空間進(jìn)行單行讀操作,這種操作并不多見(jiàn)。該總線事務(wù)的主要用途是供PCI設(shè)備使用,讀取主存儲(chǔ)器。詳見(jiàn)第3.4.5節(jié)。 |
1111 | Memory Write and Invalidate | 存儲(chǔ)器寫并無(wú)效操作,與存儲(chǔ)器寫不同,PCI設(shè)備可以使用該總線事務(wù)對(duì)主存儲(chǔ)器空間進(jìn)行寫操作。該總線事務(wù)將數(shù)據(jù)寫入主存儲(chǔ)器的同時(shí),將對(duì)應(yīng)Cache行中的數(shù)據(jù)“使無(wú)效”,詳見(jiàn)第3.3.4節(jié)。 |
1.2.2接口控制信號(hào)
在PCI總線中,接口控制信號(hào)的主要作用是保證數(shù)據(jù)的正常傳遞,并根據(jù)PCI主從設(shè)備的狀態(tài),暫停、終止或者正常完成當(dāng)前總線事務(wù),其主要信號(hào)如下。
(1)
該信號(hào)指示一個(gè)PCI總線事務(wù)的開(kāi)始與結(jié)束。當(dāng)PCI設(shè)備獲得總線的使用權(quán)后,將置該信號(hào)有效,即置為低,啟動(dòng)PCI總線事務(wù),當(dāng)結(jié)束總線事務(wù)時(shí),將置該信號(hào)無(wú)效,即置為高。PCI設(shè)備(HOST主橋)只有通過(guò)仲裁獲得當(dāng)前PCI總線的使用權(quán)后,才能驅(qū)動(dòng)該信號(hào)。
評(píng)論