如果拿PCI與PCI-E作比較,以Intel PCI總線技術(shù)為例,兩者最大的差異就是PCI采用的是平行、多點(diǎn)下傳(multi-drop)的連結(jié)架構(gòu),PCI Express則是采用序列、點(diǎn)對(duì)點(diǎn)的連結(jié)架構(gòu)。而用平行信號(hào)來(lái)傳送信號(hào),很容易產(chǎn)生串音(crosstalk)的現(xiàn)象。而且,所有的信號(hào)線必須完全等長(zhǎng),不然無(wú)法進(jìn)行同步傳輸,將數(shù)據(jù)位同步傳到另一端,不等長(zhǎng)的信號(hào)將會(huì)會(huì)產(chǎn)生所謂信號(hào)扭曲(signal skew)的問(wèn)題。這些問(wèn)題讓PCI的時(shí)脈難以得到提升,電壓也很難下降,從而造成速度提升上的發(fā)展限制。
相較之下,PCI Express則跨越了PCI和PCI-X的限制。在PCI Express中采用序列方法,可以避免掉前述的信號(hào)不同步問(wèn)題;此外,PCI Express還可以通過(guò)LVDS技術(shù)來(lái)降低串音問(wèn)題,這樣,PCI Express就可以達(dá)到雙向各2.5Gbps的速率,即使減去額外數(shù)據(jù)(overhead),實(shí)際可傳數(shù)據(jù)的頻寬也可以達(dá)到500MBps。
另外采用PCI Express也能大幅節(jié)省電路板的空間設(shè)計(jì)。據(jù)估計(jì),比起PCI總線,使用PCI Express的PC主機(jī)板能省下大約一半的空間,這是因?yàn)椴徽撌?2位或64位帶寬的PCI總線,都需要安排許多的線徑;此外,由于主機(jī)板上的并行總線線徑不能直接從一個(gè)點(diǎn)到另一個(gè)點(diǎn),同時(shí)為了降低訊號(hào)不同步的問(wèn)題,在電路的安排上就需要占用額外的空間,而這些情況在PCI Express都不會(huì)發(fā)生。
一般來(lái)說(shuō)PCI Express架構(gòu)可分為組態(tài)/操作系統(tǒng)層、軟件層、交易層、鏈接層、實(shí)體層和機(jī)械層。其中組態(tài)/操作系統(tǒng)層主要是透過(guò)外設(shè)間的數(shù)據(jù)傳送或接收來(lái)與軟件層進(jìn)行溝通;軟件層則是在于對(duì)外圍設(shè)備產(chǎn)生讀寫詢問(wèn);交易層則是通過(guò)TLP封包來(lái)傳送負(fù)載數(shù)據(jù);鏈接層主要是對(duì)數(shù)據(jù)傳輸過(guò)程的管理;實(shí)體層主要是提供傳輸?shù)奈锢硗ǖ溃粰C(jī)械層則在于定義外圍設(shè)備的不同造型規(guī)格。以上是PCI Express架構(gòu)的一般架構(gòu)規(guī)格,
在Intel PCI Express的架構(gòu)中,還存在著非透明橋接(Non-transparent Bridging)延伸規(guī)格。
非透明橋接通常用于嵌入式智能 I/O 板卡。它連接兩個(gè)獨(dú)立的處理器域,次側(cè)的資源和地址對(duì)主側(cè)的主系統(tǒng)是不可見的。允許次側(cè)的本地處理器獨(dú)立地配置和控制其子系統(tǒng)。主側(cè)和次側(cè)的時(shí)鐘完全獨(dú)立。主側(cè)和次側(cè)的地址完全獨(dú)立,在主側(cè)和次側(cè)之間可以進(jìn)行地址翻譯。增加了隔離主、從總線段之間地址域的功能。
談到非透明橋接就要提到透明橋接,透明橋接通常用在總線擴(kuò)展中。橋的次側(cè)的所有設(shè)備對(duì)主側(cè)的主系統(tǒng)是透明的。次側(cè)的所有設(shè)備只能由主側(cè)的主系統(tǒng)對(duì)其進(jìn)行配置和控制。兩側(cè)的時(shí)鐘必須同步,允許有固定的相位差。主側(cè)和次側(cè)的地址完全透明,在主側(cè)和次側(cè)之間的地址傳遞是直接傳遞的模式,沒有地址翻譯。通過(guò)透明橋隔離 PCI 總線段,可以提供擴(kuò)展負(fù)載數(shù)量和匹配不同工作頻率、總線寬度或電壓的能力。
隨著Intel多處理器技術(shù)的發(fā)展,非透明橋接技術(shù)也隨之不斷改進(jìn)。
基于 PCI 的單處理器系統(tǒng)依靠主處理器來(lái)枚舉和配置系統(tǒng),并處理中斷和錯(cuò)誤情況。主處理器有效地?fù)碛姓麄€(gè)系統(tǒng)。 而如果系統(tǒng)中有兩個(gè)或多個(gè)處理器而且沒有特別地隔離它們,那么每個(gè)處理器都將嘗試提供主處理器功能,并相互爭(zhēng)奪系統(tǒng)的控制權(quán)。因此在多處理器系統(tǒng)中,除了一個(gè)處理器外,非透明橋?qū)阉刑幚砥髦糜谄渥约旱牡刂酚蛑小6挥谕该鳂虮澈蟮哪莻€(gè)處理器將被保留為結(jié)構(gòu)管理器,用于枚舉和配置系統(tǒng),并處理嚴(yán)重的錯(cuò)誤情況。位于非透明橋背后的智能子系統(tǒng)將枚舉到橋,而且不會(huì)直接感覺到其背后有一個(gè)更大的系統(tǒng)。
在透明橋接中,使用一個(gè)類型1的證書簽名請(qǐng)求(CSR)題頭,而在非透明橋接中,證書簽名請(qǐng)求(CSR)的題頭是類型0的,而且在橋的兩側(cè)分別獨(dú)立存在。
另外非透明橋接中還包括Scratchpad寄存器和門鈴寄存器,其中,Scratchpad 寄存器是可供橋的兩側(cè)都可讀寫的,并提供處理器之間的通信。一般非透明橋接中存在8個(gè)這樣的寄存器,它們都能被橋的兩側(cè)操作。門鈴寄存器則是用來(lái)送從非透明的橋一側(cè)到另一側(cè)的中斷請(qǐng)求,來(lái)彌補(bǔ)讀寫Scratchpad寄存器不能提出中斷的不足。門鈴機(jī)制由下列各項(xiàng)寄存器組合所組成:
* 主要的IRQ狀態(tài)寄存器
* 主要的IRQ請(qǐng)求寄存器
* 主要的IRQ設(shè)置屏蔽寄存器
* 主要的IRQ清除屏蔽寄存器
* 次級(jí)的IRQ狀態(tài)寄存器
* 次級(jí)的IRQ請(qǐng)求寄存器
* 次級(jí)的IRQ設(shè)置屏蔽寄存器
* 次級(jí)的IRQ清除屏蔽寄存器
Intel非透明橋接的PCI-E交換為需要實(shí)現(xiàn)高速PCI管理層的多處理器系統(tǒng)設(shè)計(jì)師提供了非常誘人的選擇。這些設(shè)計(jì)師仍然希望最大限度地降低成本,并且保留其現(xiàn)有PCI軟件的基礎(chǔ)架構(gòu)。該技術(shù)與透明PCI到PCI橋接不同,它增加了總線區(qū)段之間的地址域隔離。反過(guò)來(lái),它可使多處理器配置中的一個(gè)處理器依次作為主機(jī)或結(jié)構(gòu)管理器,從而消除系統(tǒng)控制的沖突。這一方法為減少分布式處理器的數(shù)量和操作系統(tǒng)的限制要求,并使擁塞管理需求最小化的應(yīng)用提供了一個(gè)低成本的解決方案。目前,這種非透明橋接技術(shù)已經(jīng)在寶通所代理的Intel產(chǎn)品中得到應(yīng)用。