專利名稱:在信息處理系統(tǒng)的不同總線結(jié)構(gòu)之間提供準(zhǔn)確和完整的通信的方法和設(shè)備的制作方法
以下美國(guó)專利申請(qǐng)?jiān)诖俗鳛閰⒖嘉墨I(xiàn),即使它們已被全部陳述申請(qǐng)?zhí)?8/068477、申請(qǐng)日1993年5月28日、名稱“多總線計(jì)算機(jī)系統(tǒng)的直接存儲(chǔ)器存取(DMA)周期邏輯”(代理人標(biāo)記為BC9-93-010);申請(qǐng)?zhí)?8/069253、申請(qǐng)日1993年5月28日、名稱“多總線計(jì)算機(jī)系統(tǒng)相關(guān)申請(qǐng)的仲裁邏輯”(代理人標(biāo)記為BC9-93-011);申請(qǐng)?zhí)?8/070134、申請(qǐng)日1993年5月28日,名稱“初始化信息處理系統(tǒng)中的多總線網(wǎng)絡(luò)的方法和設(shè)備”(代理人標(biāo)記為BC9-93-012);申請(qǐng)?zhí)?8/69230,申請(qǐng)日1993年5月28日、名稱為“多總線計(jì)算機(jī)系統(tǒng)中的外部總線的誤差俘獲邏輯”(代理人標(biāo)記為BC9-93-025);申請(qǐng)?zhí)?8/068882、申請(qǐng)日1993年5月28日,名稱“在具有多路傳輸總線的信息處理系統(tǒng)中提供背對(duì)背(back to back)數(shù)據(jù)傳送的方法和設(shè)備”(代理人標(biāo)記為BC9-93-026);申請(qǐng)?zhí)?8/078877、申請(qǐng)日1993年5月28日、名稱“用于最佳化系統(tǒng)總線和外部總線之間的數(shù)據(jù)傳送的多總線信息處理系統(tǒng)的總線一總線橋路”(代理人標(biāo)記為BC9-93-031)。
總的來(lái)說(shuō),本發(fā)明涉及信息處理系統(tǒng),特別涉及當(dāng)從適合于一種總線結(jié)構(gòu)的設(shè)備或部件到適合于另一種總線結(jié)構(gòu)的設(shè)備或部件時(shí)保證連接到信息處理系統(tǒng)中的兩種不同總線。
一般來(lái)說(shuō),信息處理系統(tǒng)通常具有作為其主要部件的中央處理單元(CPU),它控制在系統(tǒng)內(nèi)的全部通信并協(xié)調(diào)將要被信息處理系統(tǒng)執(zhí)行的全部命令。信息處理系統(tǒng)通常也具有稱為總線的物理連接設(shè)備的一個(gè)網(wǎng)絡(luò)或多個(gè)網(wǎng)絡(luò)。這些網(wǎng)絡(luò)將該CPU連接到任意數(shù)目的外部設(shè)備和部件,因此CPU能夠與這些外部設(shè)備和部件通信。
信息處理系統(tǒng)中使用的一種總線是CPU局部總線。也被稱為系統(tǒng)總線局部總線專門用來(lái)將CPU直接連接到信息處理系統(tǒng)的關(guān)鍵部件,例如系統(tǒng)存儲(chǔ)器和存儲(chǔ)器控制器。CPU局部總線是高性能總線,即它以高的速率執(zhí)行連接到該總線的CPU和其它部件之間的數(shù)據(jù)傳送并且能夠同時(shí)處理許多數(shù)據(jù)傳送。信息處理系統(tǒng)中的另一種總線是外部總線。外部總線用來(lái)將外部設(shè)備,例如輸入/輸出設(shè)備(I/O)和圖形數(shù)據(jù)包連接到信息處理系統(tǒng)。外部總線通常利用將該外部總線連接到CPU局部總線的主橋路被接至CPU和信息處理系統(tǒng)的其余中央部件。
每種總線具有其用來(lái)控制在與其連接的不同的設(shè)備和部件之間的數(shù)據(jù)傳送的不同的標(biāo)準(zhǔn)協(xié)議或規(guī)則。這些協(xié)議被設(shè)計(jì)在總線內(nèi)部,稱為該總線的“結(jié)構(gòu)”??梢园ㄒ环N總線結(jié)構(gòu)的各種協(xié)議是被總線識(shí)別的數(shù)據(jù)串的位長(zhǎng)度,當(dāng)它們?yōu)榈碗娖交蚋唠娖綍r(shí),不同的信號(hào)是否有效?總線上的數(shù)據(jù)是在一條導(dǎo)線上被多路傳輸還是在多條導(dǎo)線上被并行發(fā)送,或者某種數(shù)據(jù)是不可接受的并且使信息處理系統(tǒng)出現(xiàn)故障或“崩潰”。
CPU局部總線和外部總線的總線結(jié)構(gòu)通常是不同的。當(dāng)必須在與外部總線連接的外部設(shè)備和與CPU局部總線連接的系統(tǒng)的CPU或其它部件之間進(jìn)行數(shù)據(jù)傳送時(shí),不同的結(jié)構(gòu)將造成通信問題。由于在這樣的數(shù)據(jù)傳送中牽涉到不同的總線結(jié)構(gòu),所以按照第一總線結(jié)構(gòu)在傳送的數(shù)據(jù)不會(huì)是第二總線結(jié)構(gòu)可使用或可理解的形式。
因此需要設(shè)備和方法來(lái)“翻譯”從一種總線結(jié)構(gòu)傳送到另一種總線結(jié)構(gòu)的數(shù)據(jù)。用來(lái)翻譯在兩種不同的總線結(jié)構(gòu)之間傳送的數(shù)據(jù)的硬件和邏輯通常包括在將該兩種不同總線進(jìn)行連接的橋路之內(nèi)。這樣一來(lái),連接CPU局部總線和外部總線的主橋路必須包括翻譯在兩總線之間的通信并保證數(shù)據(jù)在兩總線之間可以理解地傳送的邏輯和硬件。
CPU局部總線和外部總線的總線結(jié)構(gòu)的差別之一是各個(gè)總線對(duì)在其上傳送的鄰接數(shù)據(jù)的存在的反應(yīng)。非鄰接數(shù)據(jù)包括被一個(gè)字節(jié)或多個(gè)字節(jié)的不可用數(shù)據(jù)分隔的多個(gè)字節(jié)可用數(shù)據(jù)。不可用數(shù)據(jù)是不可理解的、應(yīng)當(dāng)被忽略的在特定的數(shù)據(jù)傳送期間不應(yīng)被傳送的數(shù)據(jù)。某些外部總線,和與這些外部總線連接的設(shè)備能夠無(wú)故障地傳送非鄰接數(shù)據(jù)。與此相反,非鄰接數(shù)據(jù)在CPU局部總線上的傳送能夠使信息處理系統(tǒng)崩潰或出現(xiàn)嚴(yán)重故障。
外部總線結(jié)構(gòu)和CPU局部總線結(jié)構(gòu)的另一差別在于CPU局部總線能夠可理解地以不同的位長(zhǎng)度傳送數(shù)據(jù),而外總線對(duì)于數(shù)據(jù)傳送被局限于一個(gè)標(biāo)準(zhǔn)位長(zhǎng)度。因此,CPU局部總線與被設(shè)計(jì)為以各種位長(zhǎng)度發(fā)送和接收數(shù)據(jù)的部件兼容。例如,當(dāng)只發(fā)送和接收幾位長(zhǎng)的數(shù)據(jù)串的一部件被接至CPU局部總線時(shí),它能夠發(fā)送和接收數(shù)據(jù)。同樣地,一16位或32位的部件也能夠使用CPU局部總線進(jìn)行數(shù)據(jù)傳送。CPU局部總線以各種位長(zhǎng)度進(jìn)行數(shù)據(jù)傳送的能力被稱為動(dòng)態(tài)總線分級(jí)(dynamic bus Sizing)。
在此相反,外部總線只能發(fā)送標(biāo)準(zhǔn)位長(zhǎng)度的數(shù)據(jù)串,例如32位。因此,沒有某種介入數(shù)據(jù)翻譯類型,與CPU局部總線連接的、只以不同于在一特定外部總線上發(fā)送的數(shù)據(jù)的標(biāo)準(zhǔn)位長(zhǎng)度的位長(zhǎng)度傳送和接收數(shù)據(jù)的部件就不能與與外部總線連接的外部設(shè)備進(jìn)行通信。
因此,本發(fā)明的目的之一是提供一方法和設(shè)備,該方法和設(shè)備確定將在CPU局部總線上發(fā)送的數(shù)據(jù)是否是非鄰接的,如果是,就用鄰接據(jù)代替所述非鄰接數(shù)據(jù)以便保證CPU局部總線不發(fā)生故障。
本發(fā)明的另一目的是提供一方法和設(shè)備,該方法和設(shè)備翻譯在與外部總線連接的設(shè)備和與CPU局部總線連接的部件之間的數(shù)據(jù)傳送,CPU局部總線的數(shù)據(jù)位長(zhǎng)度不同于在外部總線結(jié)構(gòu)中的數(shù)據(jù)的標(biāo)準(zhǔn)位長(zhǎng)度。
本發(fā)明的再一個(gè)目的是在包括一主橋路的硬件中提供上述方法和設(shè)備,該主橋路將CPU局部總線連接到外部總線。
根據(jù)本發(fā)明,提供了在將CPU局部總線連接到外部總線的主橋路內(nèi)的硬件邏輯,該硬件邏輯確定將在CPU局部總線上發(fā)送的數(shù)據(jù)是否是非鄰接的,如果是,就用鄰接數(shù)據(jù)代替所述非鄰接數(shù)據(jù)以便保證CPU局部總線不發(fā)生故障。發(fā)明的硬件還翻譯在因其結(jié)構(gòu)被局限為標(biāo)準(zhǔn)長(zhǎng)度的數(shù)據(jù)串的外部總線和允許動(dòng)態(tài)總線分級(jí)的CPU局部總線之間的傳送的數(shù)據(jù)。
圖1是多總線信息處理系統(tǒng)的示意圖;圖2是在PCI總線上的兩個(gè)連續(xù)的寫周期的時(shí)序圖;圖3是在PCI總線上的兩個(gè)連續(xù)的讀周期的時(shí)序圖4是能控制在主橋路內(nèi)的硬件的字節(jié)的邏輯圖。
現(xiàn)在參看圖1,一雙總線信息處理系統(tǒng)10概括地以標(biāo)號(hào)10來(lái)表示,它包括(i)通過S-總線(系統(tǒng)總線)16與S-總線設(shè)備14連接的處理器、高速緩沖存儲(chǔ)器和存儲(chǔ)器組成合器以及(ii)通過主PCI總線22被接至一個(gè)S-總線設(shè)備—主PCI主橋路20的主外部部件互連(PCI)設(shè)備18。圖1所示的處理器、高速緩沖存儲(chǔ)器和存儲(chǔ)器組12和S-總線設(shè)備14、主PCI設(shè)備18以及其它部件的詳細(xì)描述將在下面給出。
處理器、高速緩沖存儲(chǔ)器和存儲(chǔ)器組合12包括一中央處理單元(CPU)24、一自檢電路26、一存儲(chǔ)器控制器28、一CPU高速緩沖存儲(chǔ)器30和基本系統(tǒng)存儲(chǔ)器32。最佳實(shí)施列中的CPU24是英特爾公司的商標(biāo)為i486TM的32位微處理器,當(dāng)然系統(tǒng)10也可以用其它種類的CPU來(lái)實(shí)現(xiàn),特別是X86類型的微處理器。自檢電路26在加電時(shí)為CPU提供了內(nèi)置自檢(BIST)特點(diǎn)的性能。自檢電路也控制可以設(shè)置在每一個(gè)S-總線設(shè)備14中的任何自檢性能。
CPU24通過CPU5部總線34與自檢電路26和存儲(chǔ)器控制器28連接。存儲(chǔ)器控制器28通過基本系統(tǒng)存儲(chǔ)器總線36與基本系統(tǒng)存儲(chǔ)器32連接。存儲(chǔ)器控制器28通過基本系統(tǒng)存儲(chǔ)器總線36與基本系統(tǒng)存儲(chǔ)器總線36控制對(duì)基本系統(tǒng)存儲(chǔ)器32的讀和寫操作,這些操作或者由CPU24利用CPU局部總線34或者由S-總線設(shè)備14利用S-總線16來(lái)啟動(dòng)。因?yàn)榇鎯?chǔ)器控制器具有管理在兩條總線上的操作的能力,所以可以同時(shí)地管理對(duì)于基本系統(tǒng)存儲(chǔ)器總線36和CPU局部總線34的操作。CPU局部部線34、基本系統(tǒng)存儲(chǔ)器總線36和S-總線都是32位總線,每種總線都具有其特有的數(shù)據(jù)、地址和控制信息通道。
基本系統(tǒng)存儲(chǔ)器32提供了全系統(tǒng)的存儲(chǔ)能力并且可以包括非交錯(cuò)或交錯(cuò)存儲(chǔ)器卡。CPU高速緩沖存儲(chǔ)器30允許對(duì)在基本系統(tǒng)存計(jì)器32或在系統(tǒng)10的擴(kuò)充存儲(chǔ)器中的信息進(jìn)行短期存儲(chǔ)。這樣的擴(kuò)充存儲(chǔ)器例如可以位于系統(tǒng)中的外部連接的I/O設(shè)備上。CPU高速緩沖存儲(chǔ)器30包括用于暫存被CPU24頻繁存取的基本系統(tǒng)存儲(chǔ)器32的地址單元的隨機(jī)存取存儲(chǔ)器(RAM)。CPU24直接存取存儲(chǔ)在CPU高速緩沖存儲(chǔ)器30中的信息,但對(duì)存儲(chǔ)器在基本系統(tǒng)存儲(chǔ)器32中的信息的存取則必須由存儲(chǔ)器控制器28來(lái)處理。
所有對(duì)基本系統(tǒng)存儲(chǔ)器32的存取都是由存儲(chǔ)器控制器28利用基本系統(tǒng)存儲(chǔ)器總線36來(lái)控制的。存儲(chǔ)器控制器啟動(dòng)時(shí)基本系統(tǒng)存儲(chǔ)器32的系統(tǒng)存儲(chǔ)器周期,在這一周期內(nèi),CPU24或S-總線設(shè)備14中的一個(gè)通過存儲(chǔ)器控制器28訪問了基本系統(tǒng)存儲(chǔ)器。存儲(chǔ)器控制器28在為其指定的存儲(chǔ)器周期內(nèi)響應(yīng)該存儲(chǔ)器周期。但是,如果設(shè)有為存儲(chǔ)器控制器28指定存儲(chǔ)器周期,信息就傳送給S-總線16。如果存儲(chǔ)器控制器28確認(rèn)其正在管理的操作是—I/O周期,存儲(chǔ)器控制器就將信息傳送給S-總線16,以便由S-總線設(shè)備進(jìn)行存取。如果該I/O周期是為S-總線設(shè)備而指定的,相應(yīng)的S-總線設(shè)備就以一譯碼命令來(lái)響應(yīng)存儲(chǔ)器控制器。如果該I/O操作是為主PCI設(shè)備18而指定的,PCI主橋路20就以一譯碼命令來(lái)響應(yīng)存儲(chǔ)器控制器并將該I/O周期傳送給相應(yīng)的主PCI設(shè)備。
系統(tǒng)時(shí)鐘模塊28為S-總線設(shè)備14提供單個(gè)時(shí)鐘信號(hào),為CPU24提供一對(duì)時(shí)鐘信號(hào)。在最佳實(shí)施例中,提供給S-總線的時(shí)鐘信號(hào)為33MHZ。提供給CPU24的兩個(gè)信號(hào)分別為33MHZ和66MHZ。因?yàn)镃PU 24以66MHZ進(jìn)行內(nèi)部操作而以33MHZ通過CPU局部總線34進(jìn)行通信,所以它需要兩個(gè)時(shí)鐘信號(hào)。
處理器、高速緩沖存儲(chǔ)器和存儲(chǔ)器組合12與S-總線設(shè)備的通信由存儲(chǔ)器控制器28通過32位S-總線16來(lái)管理。如圖1的最佳實(shí)施例所示,與該S-總線連接的還有直接存儲(chǔ)器存取(DMA)控制器40、系統(tǒng)仲裁控制點(diǎn)(SACP)42、輸入/輸入(I/O)控制器44、PCMCIA控制器46和電源管理控制器48。在需要更復(fù)雜的電源管理控制的場(chǎng)合,一任選電源管理控制器SO可被拉至電源管理控制器48。緩沖器52設(shè)備在DMA控制器40和I/O控制器44中間的S-總線16上。但是,如圖1所示,可以設(shè)想除所示的之外,其它S-總線設(shè)備14也可以按至S-總線16。
PCMCIA控制器46直接與PCMCIA卡插槽54連接。外部I/O設(shè)備56可通過緩沖器58與PCMCIA卡插槽54連接。外部I/O設(shè)備56由I/O控制器44控制。與I/O控制器連接的是日歷鐘60和RAM端器64、串行端口66、并行端口68和鍵盤端口70。
除了支持在S-總線16上的S-總線設(shè)備14外,系統(tǒng)10還支持第二高速、寬帶寬的總線,在最佳實(shí)施例中,這一總線是主PCI總線22。該P(yáng)CI總線22由稱為PCI的新的總線結(jié)構(gòu)組成。主CPI總線22是高性能總線,就是說(shuō),它以相對(duì)短的時(shí)間進(jìn)行有效的數(shù)據(jù)傳送,高達(dá)每秒120兆字節(jié)數(shù)據(jù)。PCI總線取得這樣高的性能的部分原因在于它可以直接與例如S-總線16這樣的其它高速總線連接,并因此可在CPU24或其它S-總線設(shè)備14和主PCI設(shè)備18之間提供快速的數(shù)據(jù)傳送。事實(shí)上,幾個(gè)高度綜合設(shè)備例如某些圖形數(shù)據(jù)包的操作需要通過類似PCI總線22這樣的高性能總線直接與例如S-總線這樣的系統(tǒng)總線連接。
此外,PCI總線結(jié)構(gòu)不需要任何“連接邏輯”來(lái)操作與其連接的外部設(shè)備。其它總線的連接邏輯一般包括各種各樣的安裝在外部設(shè)備和總線中間的例如譯碼器、緩沖器或鎖存器這樣的各種各樣的硬件部件。
主PCI總線22根據(jù)33MHZ的同步時(shí)鐘信號(hào)而運(yùn)行,通過PCI總線發(fā)送的數(shù)據(jù)串是32位長(zhǎng)。PCI總線上的32位數(shù)據(jù)串稱為雙字(DWORD),它被功分為4字節(jié),每字節(jié)包括8位數(shù)據(jù)。
PCI總線傳送的地址和數(shù)據(jù)信息被多路傳輸為一個(gè)信號(hào)。與其它總線結(jié)構(gòu)不同,多路傳輸不需要單獨(dú)的地址和數(shù)據(jù)線,這又減少了在PCI總線環(huán)境中所需的信號(hào)數(shù)目。在PCI總線結(jié)構(gòu)中所需的數(shù)據(jù)目在45-47之間,而標(biāo)準(zhǔn)的非多路傳輸總線一般需要兩倍于這一數(shù)目的信號(hào)。因此,因?yàn)闇p少了信號(hào)數(shù)目,所以支持與PCI總線連接的設(shè)備所需的引線數(shù)目也被減少了相應(yīng)的數(shù)量。因此PCI結(jié)構(gòu)特別適合于高度集成的臺(tái)式計(jì)算機(jī)系統(tǒng)。
PCI總線結(jié)構(gòu)的結(jié)構(gòu)和操作的更詳細(xì)描述在以下由PCI特殊興趣小組(Special Iuterest Group)出版的文獻(xiàn)中可找到1992年6個(gè)22日出版的“外部部件互連(PCI)修訂1.0規(guī)程”;1992年11月1日出版的“初步PCI系統(tǒng)設(shè)計(jì)指南”,修訂版0.6;1992年11月6日出版的“外部部件互連(PCI)插入/連接器附錄”(草案);以及1993年4月30日出版的“外部部件互連(PCI)修訂2.0規(guī)程”;所有上述文獻(xiàn)的全文在此都作為參考文獻(xiàn)。
在系統(tǒng)10中的主PCI設(shè)備18通過主PCI總線22相互通信。主PCI設(shè)備通過PCI主橋路20與CPU、高速緩沖存儲(chǔ)器和存儲(chǔ)器組合12進(jìn)行通信,并且與掛在S-總線16上的其它S-總線設(shè)置14進(jìn)行通信,PCI主橋路20本身是掛在S-總線上的S-總線設(shè)備。PCI主橋路20然后作為S-總線16和主PCI總線22之間的接口并在這兩條總線和可掛在這些總線上的任何外部設(shè)備之間提供有效的通信手段。
PCI主橋路20是短等待時(shí)間的互連機(jī)構(gòu),CPU 24或其它S-總線設(shè)備14通過它可直接存取主PCI設(shè)備18或與它連接的設(shè)備。橋路20也提供了允許主PCI設(shè)備或與其連接的設(shè)備對(duì)基本系統(tǒng)存儲(chǔ)器32進(jìn)行迅速和直接的存取的高性能通道。此外,主橋路20提供了在S-總線16和主PCI總線22之間提供接口所需的全部硬件,因此數(shù)據(jù)可以在這些總線之間傳送。
主PCI總線22能夠支持那些是PCI兼容的各種設(shè)備。如圖1所示,這些設(shè)備可包括圖形控制器72,串行SCSI(小型計(jì)算機(jī)系統(tǒng)接口)控制器74、未來(lái)PCMCIA控制器76、標(biāo)準(zhǔn)總線(例如ISA或MICROCHANNEL(R)(“MC-A”))橋路78和PCI次橋路80。但是,圖1所示的接至主PCI總線的設(shè)備只是采用PCI總線結(jié)構(gòu)的系統(tǒng)的一個(gè)實(shí)例,因此,公開的結(jié)構(gòu)決不是用來(lái)限制本發(fā)明的。
通常給圖形控制器72提供了VRAM82形式的存儲(chǔ)器能力,這就使圖形控制器能夠緩沖在其內(nèi)的視頻幀并且可以控制可被PCI總線結(jié)構(gòu)支持在任何已知的圖形數(shù)據(jù)包。SCSI控制器74作為與SCSI總線86連接的SCSI設(shè)備84和主PCI總線22之間的接口,并且可以控制被PCI總線結(jié)構(gòu)支持的任何SCSI設(shè)備。未來(lái)PCMCIA控制器76與卡插槽88連接并控制之。
標(biāo)準(zhǔn)總線橋路78作為與標(biāo)準(zhǔn)(例如MC-A或ISA)總線92連接的I/O設(shè)備90和主PCI總線22之間的接口。標(biāo)準(zhǔn)總線橋路78的MC-A型的結(jié)構(gòu)是以下轉(zhuǎn)讓給IBM公司的尚待授權(quán)的專利申請(qǐng)的主題次PCI設(shè)備94通過次PCI總線96與PCI橋路80連接。任意數(shù)目的未標(biāo)識(shí)次PCI設(shè)備94都可與次PCI總線96連接。PCI橋路80作為與次PCI總線96連接的任何數(shù)目的PCI設(shè)備94和主PCI總線22之間的接口。
任意數(shù)目的與PCI總線結(jié)構(gòu)兼容的外部設(shè)備可以連接在主PCI總線22上,在整個(gè)計(jì)算機(jī)系統(tǒng)10內(nèi)再?zèng)]有其它PCI總線;或者任意的數(shù)目的PCI外部設(shè)備可用任意數(shù)目的次PCI總線的主PCI總線22連接,除了PCI總線96之外,任意數(shù)目的次PCI總線還通過相同數(shù)目的單獨(dú)和各自的PCI橋路80與主PCI總線22連接。每一條次PCI總線可以具有通過PCI橋路與其連接的任意數(shù)目的附加PCI總線,這些“第三級(jí)”PCI總線可以具有與它們連接的各種組合的其它PCI總線。同樣地,每一PCI總線可以具有與其連接的任意數(shù)目的PCI設(shè)備。兩條PCI總線之間的每一連接都必須利用與橋路80完全一樣的PCI橋路。
此外,與PCI主橋路20完全相同的多橋路可以由S-總線16來(lái)驅(qū)動(dòng)。這些主橋路的每一個(gè)可以具有與其連接的、按照系統(tǒng)10的設(shè)計(jì)者的任何意愿設(shè)置的任意數(shù)目的PCI總線、橋路和設(shè)備。因此,系統(tǒng)10的由PCI總線結(jié)構(gòu)組成的部分可以由按照各種同等和分級(jí)組合設(shè)置的多總線和PCI外部設(shè)備組成(此后統(tǒng)稱為PCI網(wǎng)絡(luò))。
另外,信息處理系統(tǒng)10的另一種結(jié)構(gòu)取消了S-總線16,因此主橋路20直接將主PCI總線22接至CPU局部總線34。在這一結(jié)構(gòu)中,任一S-總線設(shè)備14可被直接接至CPU局部總線34。由于S-總線16和CPU局部總線34利用相同的結(jié)構(gòu)來(lái)運(yùn)行,因此,如下所述,本發(fā)明的這一另一個(gè)實(shí)施例與根據(jù)圖1描述的最佳實(shí)施例一樣。
現(xiàn)在參看圖2,圖中表示了在兩個(gè)連續(xù)的寫周期內(nèi)對(duì)于與主PCI總線22連接的外部設(shè)備的各種PCI總線信號(hào)的時(shí)序。這一外部設(shè)備可以是圖形控制器72、標(biāo)準(zhǔn)總線橋路78或任何其它能夠由PCI總線驅(qū)動(dòng)的外部設(shè)備。與此類似,圖2所示的寫周期是一般的PCI總線寫周期,并不是主PCI總線22所獨(dú)有的。它們可以是在次PCI總線96上的或在PCI網(wǎng)絡(luò)中的任何其它總線上的寫周期。
時(shí)鐘信號(hào)(CLOCK)給在PCI網(wǎng)絡(luò)上的所有通信提供定時(shí)。CLOCK是給每一個(gè)PCI設(shè)備和所有PCI橋路的輸入信號(hào)。CLOCK是同步的,即在PCI結(jié)構(gòu)中的所有通信信號(hào)都具有至少一個(gè)時(shí)鐘的持續(xù)時(shí)間,并且任何命令或數(shù)據(jù)傳送都是在至少一個(gè)時(shí)鐘期間內(nèi)被執(zhí)行的。圖2中的信號(hào)被垂直虛線分隔為單個(gè)“時(shí)鐘”。每條虛線表示一個(gè)時(shí)鐘持續(xù)時(shí)間的開始和前一個(gè)時(shí)鐘持續(xù)時(shí)間的結(jié)束。每行信號(hào)被取樣或者在時(shí)鐘信號(hào)的上升緣具有其有效意義。
幀信號(hào)(FRAME)被與PCI總線連接的任何PCI橋路或外部設(shè)備用來(lái)表明正在啟動(dòng)對(duì)于與總線連接的另一PCI橋路或外部設(shè)備的通信周期或一次存取。啟動(dòng)存取的外部設(shè)備或PCI橋路稱為主動(dòng)裝置。被存取的設(shè)備或部件稱為從動(dòng)裝置。在PCI總線結(jié)構(gòu)中,許多信號(hào)在它們從高電壓到低電壓或被驅(qū)動(dòng)為“低電平”時(shí)成為被允許或者被啟動(dòng)。FRAME是這些信號(hào)之一。因此,當(dāng)主動(dòng)裝置如在第2個(gè)時(shí)鐘中所示的那樣將FRAME驅(qū)動(dòng)為低電平時(shí),主動(dòng)裝置正在向從動(dòng)裝置表明它正在啟動(dòng)一存取過程。
啟動(dòng)程序就緒信號(hào)(IRDY)也是當(dāng)其為低電平時(shí)被啟動(dòng),表明主動(dòng)裝置做好了開始數(shù)據(jù)傳送的準(zhǔn)備。因此,當(dāng)主動(dòng)裝置在讀周期內(nèi)做好報(bào)接收數(shù)據(jù)的準(zhǔn)備或在寫周期內(nèi)做好了給從動(dòng)裝置傳送數(shù)據(jù)的準(zhǔn)備時(shí),它就將IRDY驅(qū)動(dòng)為低電平。
目標(biāo)就緒信號(hào)(TRDY)被啟動(dòng)為低電平,表明從動(dòng)裝置做好了開始數(shù)據(jù)傳送的準(zhǔn)備。因此,當(dāng)從動(dòng)裝置在寫周期內(nèi)做好了給主動(dòng)裝置傳送數(shù)據(jù)的準(zhǔn)備時(shí),它就將TRDY驅(qū)動(dòng)為低電平。
地址/數(shù)據(jù)信號(hào)(AD)含有將向其傳送數(shù)據(jù)的寄存器的地址以及將要在一條導(dǎo)線上進(jìn)行多路傳輸?shù)臄?shù)據(jù)。地址信息在AD上被主動(dòng)裝置在其確認(rèn)FRAME的地址周期內(nèi)驅(qū)動(dòng)。根據(jù)存取是一寫周期還是一讀周期,主動(dòng)裝置或從動(dòng)裝置將分別在地址周期之后的數(shù)據(jù)周期內(nèi)提供在AD信號(hào)線上被驅(qū)動(dòng)的數(shù)據(jù)。地址周期為一個(gè)時(shí)鐘的持續(xù)時(shí)間,數(shù)據(jù)周期至少為一個(gè)時(shí)鐘,但是,如果數(shù)據(jù)傳送是脈沖式傳送或者從動(dòng)裝置對(duì)TRDY的確認(rèn)被延遲,數(shù)據(jù)周期可以大于一個(gè)時(shí)鐘。
命令/字節(jié)允許信號(hào)(C/BE)提供在一條導(dǎo)線上多路傳輸?shù)腜CI總線命令和字節(jié)使能信號(hào)。當(dāng)主動(dòng)裝置確認(rèn)FRAME時(shí)以及在在AD上的地址周期內(nèi),主動(dòng)裝置確認(rèn)總線命令。根據(jù)主動(dòng)裝置啟動(dòng)的存取的類型,總線命令可以是讀命令或?qū)懨睢?br>
字節(jié)允許信號(hào)在在AD上的數(shù)據(jù)傳送期間出現(xiàn)在C/BE上。字節(jié)允許信號(hào)被包括在具有0至3的標(biāo)識(shí)號(hào)的四個(gè)位內(nèi)。當(dāng)全部四個(gè)位被啟動(dòng)為低電平(二進(jìn)制值0)時(shí),它們表示在AD上被傳送的四個(gè)字節(jié)或全部32位數(shù)據(jù)被允許并應(yīng)當(dāng)在傳送期間被寫入。當(dāng)四個(gè)位中的一個(gè)為高電平(二進(jìn)制值1)時(shí),在PCI總線上被傳送的四個(gè)字節(jié)數(shù)據(jù)中的一個(gè)字節(jié)被禁止。
在如圖2所示的寫操作期間,各種PCI總線信號(hào)的功以如下在第二時(shí)鐘期間,主動(dòng)裝置驅(qū)動(dòng)FRAME為低電平,表明該主動(dòng)裝置下在啟動(dòng)對(duì)從動(dòng)裝置的存取。在第二時(shí)鐘期間,IRDY和TRDY處于轉(zhuǎn)向周期。
這時(shí),主動(dòng)裝置提供在從動(dòng)裝置中的在AD信號(hào)線上對(duì)準(zhǔn)其進(jìn)行存取的寄存器的地址,同時(shí)主動(dòng)裝置在C/BE信號(hào)線上產(chǎn)生一寫命令。
到達(dá)第三個(gè)時(shí)鐘時(shí)FRAME不被確認(rèn),這就意味著存取將要結(jié)束。主動(dòng)裝置現(xiàn)在獲得對(duì)IRDY信號(hào)線的控制并將其驅(qū)動(dòng)為低電平,表明主動(dòng)裝置做好了將數(shù)據(jù)傳送給從動(dòng)裝置的準(zhǔn)備。從動(dòng)裝置也獲得對(duì)TRDY信號(hào)線的控制并將其驅(qū)動(dòng)為低電平,表明它已將地址信息作為在其內(nèi)部的寄存器的地址譯碼并做好了在這一寄存器中接收數(shù)據(jù)的準(zhǔn)備。因此,根據(jù)第三個(gè)時(shí)鐘,數(shù)據(jù)沿AD信號(hào)線從主動(dòng)裝置傳送到從動(dòng)裝置被譯碼的寄存器中。
在地址周期之后,當(dāng)數(shù)據(jù)周期開始時(shí),主動(dòng)裝置確認(rèn)有C/BE信號(hào)線上的字節(jié)允許信號(hào),該信號(hào)說(shuō)明數(shù)據(jù)是否被允許。如果四個(gè)位的一個(gè)或多個(gè)為高電平,那么在AD信號(hào)線上的數(shù)據(jù)的相應(yīng)字節(jié)就不被允許。
在第五個(gè)時(shí)鐘期間,因?yàn)榱硪粋€(gè)寫周期已被啟動(dòng),所以時(shí)序圖是以上的重復(fù)。這第二個(gè)寫周期可由同一個(gè)主動(dòng)裝置由其它的主動(dòng)裝置來(lái)啟動(dòng)。與此類似,寫周期的目標(biāo)可以是同一個(gè)從動(dòng)裝置或完全不同的從動(dòng)裝置。
為了消除與PCI總線連接的各種設(shè)備之間的爭(zhēng)用危險(xiǎn),在第二寫周期被啟動(dòng)之前,每條信號(hào)線都經(jīng)歷一換向周期。為了全面說(shuō)明換向周期和爭(zhēng)用,請(qǐng)參看轉(zhuǎn)讓給IBM公司的與本發(fā)明同時(shí)申請(qǐng)的題為“在具有多路傳輸總線的信息處理系統(tǒng)中提供背對(duì)背(back-to-back)數(shù)據(jù)傳送的方法和設(shè)備”的尚待授權(quán)的專利申請(qǐng)。
現(xiàn)在參圖3,該圖表示讀周期的時(shí)序圖以及另一讀周期的開始。在第二個(gè)時(shí)鐘期間,主動(dòng)裝置確認(rèn)FRAME為低電平。由于這是一單個(gè)數(shù)據(jù)周期的傳送,所以FRAME在第2個(gè)時(shí)鐘期間只對(duì)一個(gè)時(shí)鐘信號(hào)保持低電平。地址信號(hào)也是由主動(dòng)裝置通過AD來(lái)提供,讀命令在第二個(gè)時(shí)鐘期間通過C/BE信號(hào)線來(lái)發(fā)送。
在第三個(gè)時(shí)鐘序列期間,因?yàn)閺难b置必須在第四個(gè)時(shí)鐘期間取得AD信號(hào)線的控制,以便提供主動(dòng)裝置已請(qǐng)求讀出的數(shù)據(jù),所以AD信號(hào)線進(jìn)入換向周期。這一換向周期對(duì)消除與AD信號(hào)線連接的主動(dòng)裝置和從動(dòng)裝置之間的爭(zhēng)用是必不可少的。主動(dòng)裝置在第三個(gè)時(shí)鐘期間確認(rèn)IRDY為低電平,表明它準(zhǔn)備讀請(qǐng)求的數(shù)據(jù)。在第三個(gè)時(shí)鐘信號(hào)期間,主動(dòng)裝置還確認(rèn)在C/BE信號(hào)線上的字節(jié)允許信號(hào)。
在第四個(gè)時(shí)鐘信號(hào)期間,從動(dòng)裝置在AD信號(hào)線上提供數(shù)據(jù)并確認(rèn)TRDY。字節(jié)允許仍然在C/BE信號(hào)線上被PCI主動(dòng)裝置確認(rèn)。由于IRDY信號(hào)在第四個(gè)時(shí)鐘期間保持低電平,所以將要讀出的數(shù)據(jù)從從動(dòng)裝置傳送到主動(dòng)裝置。
當(dāng)與PCI總線連接的主動(dòng)裝置需要將數(shù)據(jù)傳送給與CPU局部總線或系統(tǒng)總線連接的部件或設(shè)備、例如DMA控制器或系統(tǒng)存儲(chǔ)器時(shí),必須經(jīng)過兩個(gè)步驟。在第一個(gè)步驟中,將PCI總線與CPU局部總線或系統(tǒng)總線連接的主橋路對(duì)于在PCI總線上的數(shù)據(jù)傳送是一從動(dòng)裝置。對(duì)于第二個(gè)步驟,不管是讀周期還是寫周期,主橋路變?yōu)樵贑PU局部總線或系統(tǒng)總線上的主動(dòng)裝置,將要被傳送數(shù)據(jù)的設(shè)備或部件對(duì)于這一特定的數(shù)據(jù)事項(xiàng)處理而言是在CPU局部總線或系統(tǒng)總線上的從動(dòng)裝置。
例如,如果圖形控制器72對(duì)準(zhǔn)為DMA控制器40的一寫周期,PCI主橋路20就成為在主PCI總線22上的寫周期的從動(dòng)裝置。在寫周期期間將要寫入的數(shù)據(jù)然后被傳送給主橋路20。主橋路20然后由于DMA控制器40作為該寫周期的從動(dòng)裝置或目標(biāo),成為在S-總線16上的寫周期的主動(dòng)裝置,然后數(shù)據(jù)在寫周期期間通過S-總線16再?gòu)闹髀?0傳送給DMA控制器40。讀周期也經(jīng)歷類似的兩個(gè)步驟,主橋路20是在PCI總線22上的讀周期的從動(dòng)裝置,然后成為在S-總線16上的讀周期的主動(dòng)裝置,完成從S-總線16返回到PCI總線22的數(shù)據(jù)傳送。
另外,如果S-總線16上的主動(dòng)裝置啟動(dòng)向PCI總線22上的設(shè)備的數(shù)據(jù)傳送,它就必須首先將主橋路20作為從動(dòng)裝置。然后主橋路20成為PCI總線22上的數(shù)據(jù)傳送的主動(dòng)裝置。
與PCI網(wǎng)絡(luò)中低于PCI橋路80的PCI總線連接和與CPU局部總線34或S-總線16連接的部件之間的數(shù)據(jù)傳送必須通過連續(xù)進(jìn)行將數(shù)據(jù)傳送給連結(jié)網(wǎng)絡(luò)的PCI橋路和從PCI橋路傳送數(shù)據(jù)、直至數(shù)據(jù)最終傳送給主橋路20來(lái)完成。一旦PCI橋路80具有要被傳送的數(shù)據(jù),如果某一傳送是寫周期,則由于PCI橋路80作為PCI總線22上的主動(dòng)裝置,而主橋路20作為PCI總線22上的從動(dòng)裝置和S-總線16上的主動(dòng)裝置利用上述的兩個(gè)步驟的過程來(lái)完成的數(shù)據(jù)傳送。
因?yàn)镾-總線16和PCI總線22的總線結(jié)構(gòu)不同,所以它們之間的數(shù)據(jù)傳送必須通過兩個(gè)步驟來(lái)完成。CPU局部總線34和S-總線16的總線結(jié)構(gòu)相同。在CPU局部總線34和S-總線16的總線結(jié)構(gòu)中,數(shù)據(jù)和地址地址信息不象在PCI總線結(jié)構(gòu)中那樣被多路傳輸;它們通過單獨(dú)的線路傳送。在這些線路上的數(shù)據(jù)和地址信息串是32位長(zhǎng)的。
CPU局部總線結(jié)構(gòu)沒有執(zhí)行與在PCI總線結(jié)構(gòu)中的字節(jié)允許信號(hào)相同功能的字節(jié)允許信號(hào)線。因此,在CPU局部總線結(jié)構(gòu)中的字節(jié)允許信號(hào)是四位長(zhǎng)的,指出在數(shù)據(jù)線上的數(shù)據(jù)的某一個(gè)字節(jié)被允許或不被允許。
CPU局部總線34和S-總線16將來(lái)自PCI總線22的時(shí)鐘信號(hào)作為定時(shí)信號(hào)。定時(shí)信號(hào)在CPU局部總線34S-總線16上的每段持續(xù)時(shí)間稱為總線周期。
與PCI總線結(jié)構(gòu)不同,CPU局部總線34和S-總線16的數(shù)據(jù)和地址信息在單獨(dú)的信號(hào)線上傳送。因此,一旦將要被傳送數(shù)據(jù)的從動(dòng)裝置響應(yīng)在地址線上傳送的地址,就能在CPU局部總線的一個(gè)總線周期內(nèi)完成數(shù)據(jù)傳送。在將幾個(gè)32位的數(shù)據(jù)串以脈沖方式傳送到連續(xù)地址期間,一旦從動(dòng)裝置響應(yīng)第一個(gè)數(shù)據(jù)傳送,就能在一個(gè)總線周期內(nèi)完成隨后每一數(shù)據(jù)傳送。在數(shù)據(jù)傳送期間,主動(dòng)裝置在CPU局部總線上產(chǎn)生字節(jié)允許信號(hào)。
參看圖2,如果以第二個(gè)時(shí)鐘到第四個(gè)時(shí)鐘所示的寫周期最終為與S-總線16連接的一部件,主橋路20就是PCI寫周期所指向的從動(dòng)裝置。因此,主橋路20通過響應(yīng)在第二個(gè)時(shí)鐘內(nèi)發(fā)送的地址而在其內(nèi)部寄存器中的一個(gè)寄存器內(nèi)接收在第三個(gè)時(shí)鐘內(nèi)發(fā)送的數(shù)據(jù)。這一地址也將被存儲(chǔ)在主橋路內(nèi)部寄存器中的一個(gè)寄存器內(nèi)。
然后一旦主橋路20得到對(duì)S-總線16的控制權(quán),它就作為主動(dòng)裝置在S-總線16上產(chǎn)生一寫周期。在第一個(gè)總線周期內(nèi),主橋路20將其在PCI寫周期內(nèi)接收的同樣的地址信息和字節(jié)允許信號(hào)傳送到這些信號(hào)在S-總線16上的各條信號(hào)線上。相應(yīng)的從動(dòng)裝置響應(yīng)該地址信息,并且在這一響應(yīng)之后在下一個(gè)總線周期內(nèi)通過地址線傳送數(shù)據(jù)。
PCI總線上的數(shù)據(jù)在讀或?qū)懼芷趦?nèi)都可以是非鄰接的。非鄰接數(shù)據(jù)就是在32位數(shù)據(jù)串中的兩個(gè)或多個(gè)允許的字節(jié)數(shù)據(jù)被一個(gè)字節(jié)或多個(gè)字節(jié)的不允許的數(shù)據(jù)分隔開。字節(jié)允許信號(hào)的四個(gè)位表示數(shù)據(jù)是否被禁止,即是否是非鄰接的。以下表1表示四個(gè)字節(jié)的允許位的每種可能的二進(jìn)制組合以及每種組合是否表示非鄰接的數(shù)據(jù)。
表1
表1(續(xù) )
CPU局部總線34和S-總線16的結(jié)構(gòu)不能傳送在一次數(shù)據(jù)傳送中不造成信息處理系統(tǒng)的故障的非鄰接的數(shù)據(jù),因此,在主橋路20能夠?qū)腜CI總線22傳送到S-總線16之前,它必須確定數(shù)據(jù)中否是非鄰接的,如果是,就將非鄰接數(shù)據(jù)轉(zhuǎn)換為鄰接數(shù)據(jù)。體現(xiàn)了本發(fā)明的硬件就是完成這一任務(wù)的。
以下描述的本發(fā)明將非鄰接數(shù)據(jù)轉(zhuǎn)換為鄰接數(shù)據(jù)的方法是將在PCI總線22上的一非鄰接數(shù)據(jù)傳送分成在S-總線16上的兩次或多次的鄰接數(shù)據(jù)傳送。例如,如果來(lái)自與主PCI總線22連接的主動(dòng)裝置的非鄰接數(shù)據(jù)具有字節(jié)允許值0110并且主動(dòng)裝置在將這一數(shù)據(jù)寫入到與S-總線16連接的從動(dòng)裝置,則本發(fā)明的被包括在主橋路20中的硬件將在S-總線16上分別產(chǎn)生字節(jié)允許值為1110和0111的兩個(gè)寫周期。這兩個(gè)寫周期的地址和數(shù)據(jù)都是相同的。這就使得數(shù)據(jù)的第一和第四字節(jié)(它們被允許)被傳送,數(shù)據(jù)被禁止的第二和第三字節(jié)不被傳送。
本發(fā)明還同時(shí)涉及和觖決了與CPU局部總線或系統(tǒng)總線連接的8位和16位設(shè)備和與PCI總線連接的只以32位長(zhǎng)的數(shù)據(jù)串傳送數(shù)據(jù)的設(shè)備之間的通信問題。本發(fā)明觖決這一問題也是將在PCI總線上的32位數(shù)據(jù)傳送分為在CPU局部總線或系統(tǒng)總線上的多次數(shù)據(jù)傳送。
例如,如果來(lái)自與主PCI總線22的主動(dòng)裝置的寫周期被分配給與只接收8位數(shù)據(jù)的S-總線16連接的從動(dòng)裝置,假設(shè)全部數(shù)據(jù)被允許,則來(lái)自主動(dòng)裝置的32位數(shù)據(jù)串必須被分成在S-總線16上的四個(gè)周期。四次傳送的每一次的字節(jié)允許信號(hào)隨著數(shù)據(jù)的字節(jié)被傳送給從動(dòng)裝置而變化。在S-總線16上的第一次寫的字節(jié)允許信號(hào)將是0000,表示數(shù)據(jù)的全部4個(gè)字節(jié)被允許。但是,因?yàn)閺膭?dòng)裝置是8位設(shè)備,所以只有數(shù)據(jù)的最低位字節(jié)被從動(dòng)裝置接收。因此,因?yàn)閿?shù)據(jù)的最低位字節(jié)已經(jīng)被傳送到從動(dòng)裝置,所以本發(fā)明的主橋路20產(chǎn)生具有字節(jié)允許信號(hào)0001的第二寫周期。當(dāng)數(shù)據(jù)的每個(gè)字節(jié)在順序的寫周期中被傳送時(shí),第三寫周期的字節(jié)允許值將改變?yōu)?011,第四寫周期的字節(jié)允許信號(hào)將改變?yōu)?111。
表2表示根據(jù)從動(dòng)裝置的位容量和特定數(shù)據(jù)傳送的字節(jié)允許信號(hào),在一次數(shù)據(jù)傳送之后,是否需要在CPU局部總線或系統(tǒng)總線上進(jìn)行另外的數(shù)據(jù)傳送。表2還表示了下一次數(shù)據(jù)傳送的字節(jié)允許值。
表2
以下描述本發(fā)明在主橋路的硬件中,例如主橋路20中采用了該表。
現(xiàn)參看圖4,該圖表示本發(fā)明的在主橋路20內(nèi)的字節(jié)允許控制硬件100。硬件100包括與PCI總線22的C/BE信號(hào)線連接的第一鎖存寄存器102和第二鎖存寄存器104。鎖存寄存器104與一個(gè)五輸入的多路轉(zhuǎn)換器106相連接。鎖存寄存器104具有一輸出線108,通過該輸出線鎖存寄存器與一個(gè)兩輸入的多呼轉(zhuǎn)換器110連接。
鎖存寄存器102和104的每一個(gè)都具有保持4位數(shù)據(jù)的容量,并且將4位值鎖存和保持一個(gè)時(shí)鐘信號(hào)的時(shí)間長(zhǎng)度。鎖存寄存器102從PCI總線22的C/BE信號(hào)線接收用于特定的數(shù)據(jù)傳送的4位字節(jié)允許信號(hào)并鎖存該信號(hào),直到該特定的數(shù)據(jù)傳送在S-總線16上結(jié)束。
鎖存寄存器104從多路轉(zhuǎn)換器106接收4位的輸出信號(hào),并保持這一值直到多路轉(zhuǎn)換器106產(chǎn)生另一輸出信號(hào)為止。鎖存寄存器104在信號(hào)線108上輸出其當(dāng)前的4位值給多路轉(zhuǎn)換器110的第二輸入端。鎖存寄存器104的輸出稱為鎖存的字節(jié)有效(L-BV)。
多路轉(zhuǎn)換器106具有編號(hào)為1到5的五個(gè)輸入端,根據(jù)在PCI總線22和S-總線16上的數(shù)據(jù)相位的狀態(tài),其內(nèi)部邏輯在其輸出端上有選擇地被驅(qū)動(dòng)。這些輸入的每一個(gè)都是4位值。多路轉(zhuǎn)換器106通過主橋路20的硬件接收在這些總線上的數(shù)據(jù)傳送的狀態(tài)。在PCI總線22和S-總線16上的使多路轉(zhuǎn)換器106選擇其五個(gè)輸入的每一個(gè)的數(shù)據(jù)相位的狀態(tài)如下輸入1—當(dāng)主橋路20開始響應(yīng)在PCI總線22上的讀數(shù)據(jù)傳送、在S-總線16上的數(shù)據(jù)傳送已經(jīng)結(jié)束,以及準(zhǔn)備開始另一數(shù)據(jù)傳送時(shí)被選擇。輸入1總是“1111”的二進(jìn)制值。
輸入2—當(dāng)寫數(shù)據(jù)傳送在PCI總線22上開始以及在完成在S-總線16上的相應(yīng)寫數(shù)據(jù)傳送所需的在S-總線16上的第一總線周期已開始之前被選擇。輸入2是來(lái)自PCI總線22的C/BE信號(hào)線的4位字節(jié)允許值。
輸入3—當(dāng)將要在S-總線16上結(jié)束的數(shù)據(jù)傳送是通過PCI總線22啟動(dòng)的寫操作并且在S-總線16上的傳送的總線周期剛剛結(jié)束時(shí)被選擇。
輸入4—當(dāng)將要在S-總線16上結(jié)束的數(shù)據(jù)傳送是讀操作并且在S-總線16上的傳送的總線周期剛剛結(jié)束時(shí)被選擇。
輸入5—在S-總線16的任何總線周期期間被選擇和保持,直到該總線周期結(jié)束為止。這一輸入是鎖存寄存器104輸出的反饋。
多路轉(zhuǎn)換器110具有兩個(gè)輸入端,這兩個(gè)輸入端根據(jù)被PCI總線22啟動(dòng)的數(shù)據(jù)傳送是讀操作還是寫操作進(jìn)行選擇。這些輸入端的每一個(gè)是4位的。第一輸入端在PCI寫數(shù)據(jù)傳送期間被選擇。多路轉(zhuǎn)換器110通過主橋路20的硬件監(jiān)測(cè)在PCI總線22和S-總線16上的數(shù)據(jù)傳送的狀態(tài)。
多路轉(zhuǎn)換器110的輸出端與非鄰接數(shù)據(jù)檢測(cè)器114連接,該檢測(cè)器檢測(cè)在S-總線16的下一個(gè)總線周期內(nèi)將要被傳送的數(shù)據(jù)的字節(jié)允許是否是非鄰接的。檢測(cè)器114是硬件邏輯的功能塊組合,它提供了以上所述表1的功能。因此,檢測(cè)器114確定在下一個(gè)總線周期內(nèi)將要被傳送的數(shù)據(jù)是否是非鄰接的,如果數(shù)據(jù)事實(shí)上的非鄰接的,就在輸出線116上產(chǎn)生一二進(jìn)制“1”。檢測(cè)器114的輸出標(biāo)為NC。
多路轉(zhuǎn)換器110輸出的四個(gè)位還分別作為在信號(hào)線118、120和122上的三個(gè)信號(hào)。具有標(biāo)號(hào)為0和1的兩個(gè)低位在信號(hào)線118上輸出,信號(hào)線118與信號(hào)線124連接,信號(hào)線124又與S-總線16連接。多路轉(zhuǎn)換器110輸出的具有標(biāo)號(hào)2的位在信號(hào)線120上輸出并作為第一個(gè)兩輸入或門126的輸入。多路轉(zhuǎn)換器110輸出的具有標(biāo)號(hào)3的位在信號(hào)線122上輸出并作為第二個(gè)兩輸入或門128的輸入。
檢測(cè)器114的NC輸出還輸入到或門126和128?;蜷T126和128的輸出與信號(hào)線124連接。
信號(hào)線124傳送4位信號(hào)PBE給S-總線16,S-總線16合并兩個(gè)或門126和128的輸出和多路轉(zhuǎn)換器110的輸出的標(biāo)為0和1的位。這一4位信號(hào)是S-總線16的當(dāng)前總線周期的字節(jié)允許信號(hào),并且總是相鄰的。
檢測(cè)器114的NC輸出還輸入到第三個(gè)兩兩輸入或門130,或門130的另一輸入端通過信號(hào)線134與字節(jié)允許發(fā)生器132連接。發(fā)生器132在信號(hào)線134上的輸出被標(biāo)為BSZ?;蜷T130具有標(biāo)為BC的輸出端,該輸出端與在主橋路20內(nèi)的其它硬件連接。
發(fā)生器132是已知邏輯硬件的功能塊,它提供產(chǎn)生以上所述表2的功能。因此,發(fā)生器132確定是否需要S-總線16的另一總線周期來(lái)結(jié)束由PCI總線22啟動(dòng)的特定的數(shù)據(jù)傳送并為這一傳送提供字節(jié)允許信號(hào)。發(fā)生器132的輸出取決于被傳送數(shù)據(jù)的從動(dòng)裝置是8位還是16位的設(shè)備。
發(fā)生器132通過標(biāo)為BS8和BS16的兩輸出線與S-總線16連接。BSZ、BS8和BS16信號(hào)是可以具有值0或1的單個(gè)比特二進(jìn)制信號(hào)。一旦與在其上傳送數(shù)據(jù)的S-總線16連接的從動(dòng)裝置響應(yīng)結(jié)束數(shù)據(jù)傳送,它就根據(jù)它是8位還是16位設(shè)備而分別在BS8或BS16上發(fā)送二進(jìn)制信號(hào)。如果它不是8位或16位設(shè)備,則BS8和BS16的值為1。如果BS8和BS16的值為0,則該從動(dòng)裝置分別是8位或16位設(shè)備,發(fā)生器132在信號(hào)線134上產(chǎn)生二進(jìn)制值為1的BSZ信號(hào)。
如果NC或BSZ信號(hào)的值為1,則或門130產(chǎn)生一高值的BC信號(hào)。高的BC信號(hào)向在主橋路20中的其它硬件指出需要至少一個(gè)以上的總線周期來(lái)完成當(dāng)前的數(shù)據(jù)傳送。
發(fā)生器132具有來(lái)自信號(hào)線124的另一個(gè)輸入,該輸入是S-總線16當(dāng)前總線周期的字節(jié)允許信號(hào)。發(fā)生器132根據(jù)當(dāng)前字節(jié)允許值產(chǎn)生下一總線周期的字節(jié)允許值。
發(fā)生器132具有在信號(hào)線136上輸出的被標(biāo)為NBE的第二輸出。NBE是4位值。NBE或者被賦予下一總線周期的字節(jié)允許信號(hào)的值,或者如果因?yàn)閺膭?dòng)裝置是8位或16位設(shè)備而不再需要S-總線16的總線周期來(lái)結(jié)束由PCI總線22啟動(dòng)的數(shù)據(jù)傳送,其值就為“1111”。
NBE信號(hào)是兩輸入異或門(XOR)138和兩輸入反相異或門(NXOR)140的一個(gè)輸入。XOR門138和NXOR門140的另一輸入是來(lái)自信號(hào)線124的S-總線16當(dāng)前總線周期的字節(jié)允許信號(hào)的值,信號(hào)線124通過信號(hào)線142與XOR門138和NXOR門140連接。
XOR門138的輸出與第四個(gè)兩輸入或門144的一輸入端連接。NXOR門140的輸出與兩輸入與門146的一輸入端連接。或門144和與門146的另一輸入是通過信號(hào)線148的輸出與多路轉(zhuǎn)換器106的第3個(gè)輸入端連接。與門146的輸出與多路轉(zhuǎn)換器106的第4個(gè)輸入端連接。
鎖存寄存器104的輸出還通過信號(hào)線148與第二個(gè)兩輸入NXOR門150、四輸入與門152和比較器154連接。與門152的四個(gè)輸入是鎖存寄存器104的L-BV信號(hào)的四個(gè)位。與門152的輸出輸出給在主橋路20中的其它硬件,并指出由PCI總線22啟動(dòng)的寫周期已在S-總線16上結(jié)束。這一輸出被標(biāo)為W-DONE并且當(dāng)其被啟動(dòng)時(shí)為二進(jìn)制1。
NXOR門150的另一輸入是鎖存寄存器102的輸出。這一輸出還是在PCI總線22上被啟動(dòng)的數(shù)據(jù)傳送的字節(jié)允許信號(hào)的值。這一值保持恒定,直至數(shù)據(jù)傳送在S-總線16上結(jié)束。NQOR門的輸出與多路傳換器110的第一個(gè)輸入連接。
鎖存寄存器102的輸出還與比較器154連接。比較器154將這一值與它通過信號(hào)線148接收的L-BV值比較。當(dāng)這兩個(gè)值相等時(shí),比較器154與其在主橋路20中的其它硬件連接的輸出端上產(chǎn)生二進(jìn)制1的值。這一值被標(biāo)為R-DONE,表示由PCI總線22啟動(dòng)的讀數(shù)據(jù)傳送在S-總線16上已結(jié)束。
根據(jù)由與PCI總線22連接的主動(dòng)裝置(PCI主動(dòng)裝置)啟動(dòng)的數(shù)據(jù)傳送是讀或?qū)憘魉?,硬?00的運(yùn)行是不同的。在讀傳送期間的操作中,PCI主動(dòng)裝置在PCI總線22上啟動(dòng)為S-總線16定的讀周期,主橋路20作為從動(dòng)裝置而響應(yīng)。PCI主動(dòng)裝置的字節(jié)允許信號(hào)被鎖存到鎖存器102中去并被輸入到比較器154和NXOR門150。
由于在S-總線16上的讀傳送尚未開始,多路轉(zhuǎn)換器106輸出第一輸入,它是4位二進(jìn)進(jìn)制值“1111”。該值然后被鎖存到鎖存寄存器104中去并在信號(hào)線148上作為L(zhǎng)-BV信號(hào)被輸出給NXOR門150。
NXOR門150然后根據(jù)來(lái)自PCI總線22的被鎖存在鎖存寄存器102中的字節(jié)允許信號(hào)和L-BV的值的反相異或組合產(chǎn)生一4位的輸入值。因?yàn)楫?dāng)前的傳送是一讀操作,所以多路轉(zhuǎn)換器110在數(shù)據(jù)傳送的整個(gè)期間選擇NXOR150的輸出來(lái)在其自己的輸出端上進(jìn)行驅(qū)動(dòng)。
檢測(cè)器114然后確定多路轉(zhuǎn)換器110的輸出是否是非鄰接的,如果是,就通過將其驅(qū)動(dòng)為二進(jìn)制值1來(lái)啟動(dòng)其在信號(hào)線116上的輸出信號(hào)NC。當(dāng)NC啟動(dòng)時(shí),或門126和128的輸出將為高電平,保證在信號(hào)線124上的PBE信號(hào)的第2和3位為邏輯1。即PBE將總是鄰接的。如上所述,PBE的第0和1位的值就是多路轉(zhuǎn)換器110輸出的第0和1位。
PBE信號(hào)然后作為當(dāng)前總線周期的字節(jié)允許信號(hào)通過信號(hào)線124傳送給S-總線16。當(dāng)與支配讀傳送的S-總線16連接的從動(dòng)裝置響應(yīng)該數(shù)據(jù)傳送時(shí),它會(huì)在BS8或BS16信號(hào)線上產(chǎn)生二進(jìn)制0,表明該從動(dòng)裝置分別是8位或16位的設(shè)備。在BS8、BS16的值以及PBE信號(hào)的基礎(chǔ)上,發(fā)生器132將按照上述表2在信號(hào)線136上產(chǎn)生NBE信號(hào)。
如果BS8或BS16被允許為二進(jìn)制0并且發(fā)生器132確認(rèn)需要S-總線16上的另一總線周期來(lái)結(jié)束讀數(shù)據(jù)傳送,則發(fā)生器132將在信號(hào)線134上產(chǎn)生BSZ的二進(jìn)制高信號(hào)。這將使或門130產(chǎn)生BC的高信號(hào),該信號(hào)向在主橋路20中的其它硬件指出需要另一總線周期來(lái)結(jié)束數(shù)據(jù)傳送。類似地,如果檢測(cè)器114驅(qū)動(dòng)為二進(jìn)制高值,這表示需要另一總線周期來(lái)結(jié)束數(shù)據(jù)傳送。
一旦產(chǎn)生了NBE信號(hào),它就和在信號(hào)線142上的PBE信號(hào)一道輸入到NXOR門140。NXOR門140輸出的4位二進(jìn)制值與鎖存寄存器104的輸出的反饋信號(hào)一道輸入到與門146。與門146對(duì)這兩個(gè)信號(hào)進(jìn)行邏輯“與”操作并將結(jié)果輸出到多路轉(zhuǎn)換器106的第4個(gè)輸入端。由于這是讀數(shù)據(jù)傳送并且在S-總線16上的數(shù)據(jù)傳送的第一總線周期已經(jīng)結(jié)束,所以多路轉(zhuǎn)換器106選擇其第4個(gè)輸入來(lái)在其輸出端上進(jìn)行驅(qū)動(dòng)。
多路轉(zhuǎn)換器106的這一新的輸出被鎖存到鎖存寄存器104中去并成為下一個(gè)L-BV信號(hào)。然后對(duì)這一新的L-BV信號(hào)重復(fù)上述過程。
對(duì)每一新的L-BV值不斷地重復(fù)上述過程,直到由PCI總線22的C/BE信號(hào)線上的字節(jié)允許信號(hào)表示的全部數(shù)據(jù)已被傳送為止。當(dāng)這種情況出現(xiàn)時(shí),L-BV的值將等于PCI總線22的字節(jié)允許信號(hào)。這兩個(gè)信號(hào)不斷地輸入到比較器154,當(dāng)它們相等時(shí),比較器154將R-DONE啟動(dòng)為高電平,向S-總線16和主橋路20指出數(shù)據(jù)傳送已結(jié)束。當(dāng)這一情況出現(xiàn)時(shí),已經(jīng)從與S-總線16連接的從動(dòng)裝置中讀出了全部數(shù)據(jù)。
字節(jié)允許硬件100在寫傳送期間的操作在幾個(gè)方面不同于其在讀傳送期間的操作。與PCI總線22連接的主動(dòng)裝置通過啟動(dòng)為S總線16定的寫周期開始其運(yùn)行。PCI總線22的字節(jié)允許信號(hào)輸入到多路轉(zhuǎn)換器106的第2輸入端。由于數(shù)據(jù)傳送的第一總線周期尚未在S-總線16上開始和這是一寫操作,所以多路轉(zhuǎn)換器106選擇在其第二輸入端上的信號(hào)來(lái)在其輸出端上進(jìn)行驅(qū)動(dòng)。因此鎖存器104鎖存來(lái)自PCI總線22的字節(jié)允許的值并且這些信號(hào)成為L(zhǎng)-BV的值。
由于這是一寫傳送,所以多路轉(zhuǎn)換器110選擇在其第2輸入端上的信號(hào)在其輸出端上進(jìn)行驅(qū)動(dòng),這一信號(hào)是L-BV。 L-BV然后輸出給檢測(cè)器114并且被分派在信號(hào)線118、120和122上。檢測(cè)器114和或門126和128提供與它們?yōu)樽x操作提供的功能相同的功能,在S-總線16上產(chǎn)生PBE信號(hào)并且保證它是鄰接的。同樣地,發(fā)生器132、BS8和BS16以與它們?cè)谧x傳送期間同樣的運(yùn)行方式產(chǎn)生NBE信號(hào),或門130也同樣地產(chǎn)生BC信號(hào)。
一旦發(fā)生器132產(chǎn)生了NBE信號(hào),它就通過信號(hào)線136和PBE信號(hào)一道輸入到XOR門138。XOR門138對(duì)PBE信號(hào)和NBE信號(hào)進(jìn)行“異或”操作并將結(jié)果輸出到或門144的輸入端?;蜷T144還從反饋信號(hào)線148接收一輸入信號(hào),該輸入信號(hào)是L-BV信號(hào)。或門144對(duì)輸入給它的這兩個(gè)信號(hào)進(jìn)行“或”操作并將結(jié)果輸出到多路轉(zhuǎn)換器106的第3輸入端。
因?yàn)楫?dāng)前的數(shù)據(jù)傳送是寫操作并且在S-總線上的數(shù)據(jù)傳送的第一總線周期已經(jīng)結(jié)束,所以多路轉(zhuǎn)換器106選擇在第3輸入端的信號(hào)來(lái)在其輸出端發(fā)送。多路轉(zhuǎn)換器106的輸出被鎖存到鎖存寄存器104中去并成為新的L-BV的值。
這一新的L-BV的值然后輸入到多路轉(zhuǎn)換器110的第二輸入端,整個(gè)過程被自行重復(fù)。上述過程將重復(fù),直到L-BV的值具有等于“1111”的二進(jìn)制值。當(dāng)這種情況出現(xiàn)時(shí),那么全部的數(shù)據(jù)已經(jīng)從PCI總線22傳送到與S-總線16連接的從動(dòng)裝置。
當(dāng)L-BV等于“1111”時(shí),與門152將啟動(dòng)W=DONF。這向S-總線16和與該連接的從動(dòng)裝置指出數(shù)據(jù)傳送已經(jīng)結(jié)束。
硬件100在用來(lái)自PCI總線22的指向8位從動(dòng)裝置的等于“0100”的字節(jié)允許信號(hào)的一寫操作期間的運(yùn)行實(shí)例如下“0100”的字節(jié)允許信號(hào)傳送給多路轉(zhuǎn)換器106的第2輸入端。多路轉(zhuǎn)換器106將該信號(hào)輸出給鎖存寄存器104,后者轉(zhuǎn)換器106將該信號(hào)輸出給鎖存寄存器104,后者輸出等于“0100”的L-BV信號(hào)。多路轉(zhuǎn)換器110輸入并輸出這一信號(hào)給檢測(cè)器114。
檢測(cè)器114確定L-BV為非鄰接的并輸出等于1的NC信號(hào)。因?yàn)镹C等于1,所以或門126和128使在信號(hào)線124上的PBE等于“1100”。這一信號(hào)作為第一總線周期的字節(jié)允許信號(hào)在S-總線16上被傳送。
被寫入的從動(dòng)裝置以在BS8上的低電平信號(hào)來(lái)響應(yīng),由于只有相應(yīng)于PBE信號(hào)第0位的數(shù)據(jù)在第一總線周期內(nèi)被傳送,所以這就使發(fā)生器132產(chǎn)生“1101”的NBE信號(hào)。發(fā)生器132還使BSZ變?yōu)楦唠娖?,與高的NC信號(hào)一道使或門130在BC上產(chǎn)生一高電平信號(hào),表示需要至少另一個(gè)總線周期來(lái)結(jié)束傳送。
PBE和NBE輸入到XOR門138,該門進(jìn)行異或操作并產(chǎn)生等于“0001”的輸出?;蜷T144然后將XOR門的輸出和鎖存器104的反饋值作為輸入進(jìn)行“或”操作。這一操作的結(jié)果是“0101”,被傳送給多路轉(zhuǎn)換器106的第3輸入端并且從多路轉(zhuǎn)換器106輸出給鎖存寄存器104。這一值現(xiàn)在成為L(zhǎng)-BV值。
因此,“0101”通過多路轉(zhuǎn)換器110的第2輸入端被傳送給檢測(cè)器114,檢測(cè)器114再確定這一值是非鄰接的并使NC等于1。這就使或門126和128以及信號(hào)線118為S-總線16的第2總線周期在信號(hào)線124上產(chǎn)生等于“1101”的PBE信號(hào)。NC信號(hào)還使或門130啟動(dòng)BC信號(hào),它向主橋路20表示還需要另一總線周期來(lái)結(jié)束數(shù)據(jù)傳送。在第二總線周期期間,相應(yīng)于字節(jié)允許信號(hào)PBE的第2位的數(shù)據(jù)的字節(jié)將被傳送給從動(dòng)裝置。
從動(dòng)裝置再次響應(yīng)在BS8上的低電平信號(hào)。因此,發(fā)生器132依據(jù)表2不啟動(dòng)BSZ信號(hào),在信號(hào)線136上產(chǎn)生“1111”的NBE信號(hào)。
這一值與PBE的值一道輸入給XOR門138。因此,XOR門138產(chǎn)生“0010”的輸出信號(hào),該輸出信號(hào)同通過反饋信號(hào)線148的當(dāng)前L-BV值一起輸入給或門144?;蜷T144輸出等于“0111”的值作為響應(yīng)給多路轉(zhuǎn)換器106的第3輸入端,該值成為下一個(gè)L-BV的值。
檢測(cè)器114確認(rèn)新的L-BV的值是相鄰的,但不啟動(dòng)NC信號(hào)。因此,L-BV的值只是作為PBE新的值不受或門126和128的影響而直接通過信號(hào)線124。然后在S-總線16上產(chǎn)生第三總線周期,該總線周期結(jié)束數(shù)據(jù)傳送,字節(jié)允許信號(hào)等于PBE的當(dāng)前值或等于“0111”。
從動(dòng)裝置由啟動(dòng)BS8作出響應(yīng),但是,發(fā)生器132不啟動(dòng)BSZ信號(hào)并且再次在信號(hào)線136上產(chǎn)生“1111”的NBE值。XOR門138和或門144進(jìn)行的邏輯操作的最終結(jié)果現(xiàn)在是“1111”,該結(jié)果輸入給多路轉(zhuǎn)換器106的第3輸入端并輸出給鎖存寄存器104。L-BV的值因此成為“1111”,使與門152產(chǎn)生W-DONE的高電平信號(hào),該信號(hào)結(jié)束數(shù)據(jù)傳送。
如果上述實(shí)例是讀數(shù)據(jù)傳送,相同的PBE字節(jié)允許值將用于S-總線16的總線周期。但是,如上所述,它們將會(huì)以不同的方式被獲得。這是因?yàn)槔昧嗽谟布?00中的讀“邏輯通道”而不是寫邏輯通道。
以上描述了在信息處理系統(tǒng)的不同總線結(jié)構(gòu)之間提供準(zhǔn)確和完整的通信的方法和設(shè)備的最佳實(shí)施例。但是,根據(jù)以上描述可知這一描述是作為一個(gè)實(shí)例而已,本發(fā)明不限于在此描述的具體的實(shí)施例,不脫離權(quán)利要求限定的本發(fā)明的精神實(shí)質(zhì)可以進(jìn)行各種調(diào)整、修改和替換。
權(quán)利要求
1.一種信息處理系統(tǒng),包括中央處理單元;與所述中央處理單元連接的系統(tǒng)總線;以及連接外部設(shè)備的外部總線;其特征在于包括將所述系統(tǒng)總線與所述外部總線連接的主橋路,該主橋路具有一邏輯網(wǎng)絡(luò),該邏輯網(wǎng)絡(luò)檢測(cè)將要在所述系統(tǒng)總線上傳送的數(shù)據(jù)串是否是非鄰接的,如果所述數(shù)據(jù)串是非鄰接的,就在所述數(shù)據(jù)在所述系統(tǒng)總線上被傳送之前將所述數(shù)據(jù)串轉(zhuǎn)換為多個(gè)鄰接數(shù)據(jù)串。
2.權(quán)利要求1的信息處理系統(tǒng),其特征在于所述邏輯網(wǎng)絡(luò)是在所述主橋路中的硬件。
3.權(quán)利要求1的信息處理系統(tǒng),其特征在于所述邏輯網(wǎng)絡(luò)包括一發(fā)生器,該發(fā)生器根據(jù)連接到發(fā)送或接收所述數(shù)據(jù)串的系統(tǒng)總線的從動(dòng)裝置的位容量產(chǎn)生用于所述數(shù)據(jù)串的多個(gè)允許信號(hào)。
4.權(quán)利要求3的信息處理系統(tǒng),其特征在于所述邏輯網(wǎng)絡(luò)包括在寫傳送期間將所述數(shù)據(jù)串轉(zhuǎn)換為所述多個(gè)鄰接數(shù)據(jù)串的第一邏輯通道和在讀傳送期間將所述數(shù)據(jù)串轉(zhuǎn)換為所述多個(gè)鄰接數(shù)據(jù)串的第二邏輯通道。
5.權(quán)利要求4的信息處理系統(tǒng),其特征在于所述邏輯網(wǎng)絡(luò)包括至少一個(gè)選擇所述第一邏輯通道或所述第二邏輯通道的多路轉(zhuǎn)換器。
6.權(quán)利要求5的信息處理系統(tǒng),其特征在于所述允許信號(hào)在寫傳送期間被所述第一邏輯通道處理、以及在讀傳送期間被所述第二邏輯通道處理,以便獲得所述多個(gè)鄰接數(shù)據(jù)串。
7.權(quán)利要求1的信息處理系統(tǒng),其特征在于所述外部總線是PCI總線。
8.權(quán)利要求1的信息處理系統(tǒng),其特征在于所述外部總線是多路傳輸總線。
9.權(quán)利要求1的信息處理系統(tǒng),其特征在于與所述外部總線連接的外部設(shè)備啟動(dòng)在所述系統(tǒng)總線上的所述數(shù)據(jù)串傳送。
10.權(quán)利要求1的信息處理系統(tǒng),其特征在于所述多個(gè)鄰接數(shù)據(jù)串的每一個(gè)連續(xù)地在所述系統(tǒng)總線上被傳送,在所述鄰接數(shù)據(jù)串和所述系統(tǒng)總線的總線周期之間為一一對(duì)應(yīng)的。
11.一種在信息處理系統(tǒng)的與外部總線連接的外部設(shè)備和與系統(tǒng)總線連接的部件之間傳送非鄰接數(shù)據(jù)的方法,其特征在于包括以下步驟設(shè)置一中央處理單元;設(shè)置與所述中央處理單元連接的系統(tǒng)總線;設(shè)置連接外部設(shè)備的外部總線;將所述系統(tǒng)總線與所述外部總線連接;檢測(cè)將要在所述系統(tǒng)總線上被傳送的數(shù)據(jù)串是否是非鄰接的;如果所述數(shù)據(jù)串是非鄰接的,就將所述數(shù)據(jù)串轉(zhuǎn)換為多個(gè)鄰接數(shù)據(jù)串;以及在所述系統(tǒng)總線上傳送多個(gè)鄰接數(shù)據(jù)串的每一個(gè)。
12.權(quán)利要求11的方法,其特征在于包括根據(jù)連接到發(fā)送或接收所述鄰接數(shù)據(jù)串的系統(tǒng)總線的從動(dòng)裝置的位容量產(chǎn)生每一個(gè)所述鄰接數(shù)據(jù)串的允許信號(hào)的步驟。
13.權(quán)利要求11的方法,其特征在于所述外部總線是PCI總線。
14.權(quán)利要求11的方法,其特征在于所述外部總線是多路轉(zhuǎn)輸總線。
15.在信息處理系統(tǒng)中將系統(tǒng)總線與外部總線連接的主橋路,其特征在于包括確定從所述系統(tǒng)總線傳送給所述外部總線或從所述外部總線傳送給所述系統(tǒng)總線的數(shù)據(jù)串是否是非鄰接的檢測(cè)器;將所述數(shù)據(jù)串轉(zhuǎn)換為多個(gè)鄰接數(shù)據(jù)串并且在系統(tǒng)總線的相繼周期內(nèi)傳送所述鄰接數(shù)據(jù)串的邏輯網(wǎng)絡(luò);以及根據(jù)所述信息處理系統(tǒng)的在所述的數(shù)據(jù)串的傳送中為從動(dòng)裝置的部件的容量產(chǎn)生所述多個(gè)鄰接數(shù)據(jù)串的每一個(gè)的允許信號(hào)的發(fā)生器。
16.權(quán)利要求15的主橋路,其中所述外部總線是PCI總線。
17.權(quán)利要求15的主橋路,其中所述外部總線是多路傳輸總線。
全文摘要
本發(fā)明在連接CPU局部總線和外部總線的主橋路內(nèi)設(shè)置硬件邏輯,該硬件邏輯確定將要在CPU局部總線上被傳送的數(shù)據(jù)是否是非鄰接的,如果是,就用鄰接數(shù)據(jù)來(lái)代替非鄰接數(shù)據(jù),以便保證CPU局部總線不出現(xiàn)故障。本發(fā)明的硬件還同時(shí)翻譯在外部總線和CPU局部總線之間的數(shù)據(jù)傳送,外部總線因其結(jié)構(gòu)局限于傳送標(biāo)準(zhǔn)長(zhǎng)度的數(shù)據(jù)串而CPU局部總線可允許動(dòng)態(tài)總線分級(jí)。
文檔編號(hào)G06F13/20GK1118478SQ9410879
公開日1996年3月13日 申請(qǐng)日期1994年5月26日 優(yōu)先權(quán)日1993年5月28日
發(fā)明者G·N·桑托斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司