新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PCI總線的組成結(jié)構(gòu)

PCI總線的組成結(jié)構(gòu)

作者: 時(shí)間:2016-12-15 來源:網(wǎng)絡(luò) 收藏

1.1.2PCI總線

在處理器系統(tǒng)中,含有PCI總線和PCI總線樹這兩個(gè)概念。這兩個(gè)概念并不相同,在一顆PCI總線樹中可能具有多條PCI總線,而具有血緣關(guān)系的PCI總線組成一顆PCI總線樹。如在圖1?1所示的處理器系統(tǒng)中,PCI總線x樹具有兩條PCI總線,分別為PCI總線x0和PCI總線x1。而PCI總線y樹中僅有一條PCI總線。

PCI總線由HOST主橋或者PCI橋管理,用來連接各類設(shè)備,如聲卡、網(wǎng)卡和IDE接口卡等。在一個(gè)處理器系統(tǒng)中,可以通過PCI橋擴(kuò)展PCI總線,并形成具有血緣關(guān)系的多級(jí)PCI總線,從而形成PCI總線樹型結(jié)構(gòu)。在處理器系統(tǒng)中有幾個(gè)HOST主橋,就有幾顆這樣的PCI總線樹,而每一顆PCI總線樹都與一個(gè)PCI總線域?qū)?yīng)。

與HOST主橋直接連接的PCI總線通常被命名為PCI總線0??紤]到在一個(gè)處理器系統(tǒng)中可能有多個(gè)主橋,圖1?1將HOST主橋x推出的PCI總線命名為x0總線,而將PCI橋x1擴(kuò)展出的PCI總線稱之為x1總線;而將HOST主橋y推出的PCI總線稱為y0~yn。分屬不同PCI總線樹的設(shè)備,其使用的PCI總線地址空間分屬于不同的PCI總線域空間。

1.1.3PCI設(shè)備

在PCI總線中有三類設(shè)備,PCI主設(shè)備、PCI從設(shè)備和橋設(shè)備。其中PCI從設(shè)備只能被動(dòng)地接收來自HOST主橋,或者其他PCI設(shè)備的讀寫請(qǐng)求;而PCI主設(shè)備可以通過總線仲裁獲得PCI總線的使用權(quán),主動(dòng)地向其他PCI設(shè)備或者主存儲(chǔ)器發(fā)起存儲(chǔ)器讀寫請(qǐng)求。而橋設(shè)備的主要作用是管理下游的PCI總線,并轉(zhuǎn)發(fā)上下游總線之間的總線事務(wù)。

一個(gè)PCI設(shè)備可以即是主設(shè)備也是從設(shè)備,但是在同一個(gè)時(shí)刻,這個(gè)PCI設(shè)備或者為主設(shè)備或者為從設(shè)備。PCI總線規(guī)范將PCI主從設(shè)備統(tǒng)稱為PCI Agent設(shè)備。在處理器系統(tǒng)中常見的PCI網(wǎng)卡、顯卡、聲卡等設(shè)備都屬于PCI Agent設(shè)備。

在PCI總線中,HOST主橋是一個(gè)特殊的PCI設(shè)備,該設(shè)備可以獲取PCI總線的控制權(quán)訪問PCI設(shè)備,也可以被PCI設(shè)備訪問。但是HOST主橋并不是PCI設(shè)備。PCI規(guī)范也沒有規(guī)定如何設(shè)計(jì)HOST主橋。

在PCI總線中,還有一類特殊的設(shè)備,即橋設(shè)備。橋設(shè)備包括PCI橋、PCI-to-(E)ISA橋和PCI-to-Cardbus橋。本篇重點(diǎn)介紹PCI橋,而不關(guān)心其他橋設(shè)備的實(shí)現(xiàn)原理。PCI橋的存在使PCI總線極具擴(kuò)展性,處理器系統(tǒng)可以使用PCI橋進(jìn)一步擴(kuò)展PCI總線。

PCI橋的出現(xiàn)使得采用PCI總線進(jìn)行大規(guī)模系統(tǒng)互連成為可能。但是在目前已經(jīng)實(shí)現(xiàn)的大規(guī)模處理器系統(tǒng)中,并沒有使用PCI總線進(jìn)行處理器系統(tǒng)與處理器系統(tǒng)之間的大規(guī)?;ミB。因?yàn)镻CI總線是一個(gè)以HOST主橋?yàn)楦臉湫徒Y(jié)構(gòu),使用主從架構(gòu),因而不易實(shí)現(xiàn)多處理器系統(tǒng)間的對(duì)等互連。

即便如此PCI橋仍然是PCI總線規(guī)范的精華所在,掌握PCI橋是深入理解PCI體系結(jié)構(gòu)的基礎(chǔ)。PCI橋可以連接兩條PCI總線,上游PCI總線和下游PCI總線,這兩個(gè)PCI總線屬于同一個(gè)PCI總線域,使用PCI橋擴(kuò)展的所有PCI總線都同屬于一個(gè)PCI總線域。

其中對(duì)PCI設(shè)備配置空間的訪問可以從上游總線轉(zhuǎn)發(fā)到下游總線,而數(shù)據(jù)傳送可以雙方向進(jìn)行。在PCI總線中,還存在一種非透明PCI橋,該橋片不是PCI總線規(guī)范定義的標(biāo)準(zhǔn)橋片,但是適用于某些特殊應(yīng)用,本篇將在第2.5節(jié)中詳細(xì)介紹這種橋片。在本書中,如不特別強(qiáng)調(diào),PCI橋是指透明橋,透明橋也是PCI總線規(guī)范定義的標(biāo)準(zhǔn)橋片。

PCI-to-(E)ISA橋和PCI-to-Cardbus橋的主要作用是通過PCI總線擴(kuò)展(E)ISA和Cardbus總線。在PCI總線推出之后,(E)ISA總線并沒有在處理器系統(tǒng)中立即消失,此時(shí)需要使用PCI-(E)ISA橋擴(kuò)展(E)ISA總線,而使用PCI-to-Cardbus橋用來擴(kuò)展Cardbus總線,本篇并不關(guān)心(E)ISA和Cardbus總線的設(shè)計(jì)與實(shí)現(xiàn)。

1.1.4HOST處理器

PCI總線規(guī)定在同一時(shí)刻內(nèi),在一顆PCI總線樹上有且只有一個(gè)HOST處理器。這個(gè)HOST處理器可以通過HOST主橋,發(fā)起PCI總線的配置請(qǐng)求總線事務(wù),并對(duì)PCI總線上的設(shè)備和橋片進(jìn)行配置。

在PCI總線中,HOST處理器是一個(gè)較為模糊的概念。在SMP(symmetric multiprocessing)處理器系統(tǒng)中,所有CPU都可以通過HOST主橋訪問其下的PCI總線樹,這些CPU都可以作為HOST處理器。但是值得注意的是,HOST主橋才是PCI總線樹的實(shí)際管理者,而不是HOST處理器。

在HOST主橋中,設(shè)置了許多寄存器,HOST處理器通過操作這些寄存器管理這些PCI設(shè)備。如在x86處理器的HOST主橋中設(shè)置了0xCF8和0xCFC這兩個(gè)I/O端口訪問PCI設(shè)備的配置空間,而PowerPC處理器的HOST主橋設(shè)置了CFG_ADDR和CFG_DATA寄存器訪問PCI設(shè)備的配置空間。值得注意的是,在PowerPC處理器中并沒有I/O端口,因此使用存儲(chǔ)器映像尋址方式訪問外部設(shè)備的寄存器空間。

1.1.5PCI總線的負(fù)載

PCI總線的所能掛接的負(fù)載與總線頻率相關(guān),其中總線頻率越高,所能掛接的負(fù)載越少。下文以PCI總線和PCI-X總線為例說明總線頻率、峰值帶寬和負(fù)載能力之間的關(guān)系,如表1?1所示。

表1?1PCI總線頻率、帶寬與負(fù)載之間的關(guān)系

總線類型

總線頻率

峰值帶寬

負(fù)載能力

PCI

33MHz

133MB/s

4-5個(gè)插槽

66MHz

266MB/s

1-2個(gè)插槽

PCI-X

66MHz

266MB/s

4個(gè)插槽

133MHz

533MB/s

2個(gè)插槽

266MHz

1066MB/s

1個(gè)插槽

533MHz

2131MB/s

1個(gè)插槽

由表1?1所示,PCI總線頻率越高,所能掛接的負(fù)載越少,但是整條總線所能提供的帶寬越大。值得注意的是,PCI-X總線與PCI總線的傳送協(xié)議略有不同,因此66MHz的PCI-X總線的負(fù)載數(shù)較大,PCI-X總線的詳細(xì)說明見第1.5節(jié)。當(dāng)PCI-X總線頻率為266MHz和533MHz時(shí),該總線只能掛接一個(gè)PCI-X插槽。在PCI總線中,一個(gè)插槽相當(dāng)于兩個(gè)負(fù)載,接插件和插卡各算為一個(gè)負(fù)載,在表1?1中,33MHz的PCI總線可以掛接4~5個(gè)插槽,相當(dāng)于直接掛接8~10個(gè)負(fù)載。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: PCI總線組成結(jié)

評(píng)論


技術(shù)專區(qū)

關(guān)閉