專利名稱:具有用于pci總線計(jì)算機(jī)的可編程配置寄存器的內(nèi)插式板卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明專利申請(qǐng)(RA995022)涉及發(fā)明專利申請(qǐng)(RA995045),兩個(gè)申請(qǐng)于同一天申請(qǐng)并且轉(zhuǎn)讓給同一個(gè)受讓人。本發(fā)明涉及具有可編程配置寄存器的PCI接口模塊專利,RA995045中所公開的發(fā)明涉及到了有效/無效PCIROM的PCI接口模塊。
本發(fā)明一般涉及計(jì)算機(jī)系統(tǒng),尤其涉及稱做適配卡或內(nèi)插式板卡的用于將多種計(jì)算機(jī)系統(tǒng)或設(shè)備連接到另外一個(gè)計(jì)算機(jī)系統(tǒng)之上的設(shè)備。
如何利用通信接口或輸入/輸出總線連接計(jì)算機(jī)系統(tǒng)中某些獨(dú)立的設(shè)備,諸如處理器、存貯器、外設(shè)等已是一項(xiàng)為大家所熟知的技術(shù)。
計(jì)算機(jī)系統(tǒng)不僅僅用于執(zhí)行獨(dú)立的任務(wù),而且還用于計(jì)算機(jī)間信息的交換。為了交換信息,計(jì)算機(jī)系統(tǒng)被連入計(jì)算機(jī)網(wǎng)絡(luò)中。傳統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)包含通信媒介以及許多連接到通信媒介的計(jì)算機(jī)系統(tǒng)。通常情況下,計(jì)算機(jī)系統(tǒng)總線通過內(nèi)插式板卡與通信媒介相連。制造商們?yōu)榱耸蛊溆?jì)算機(jī)更具吸引力,努力使其計(jì)算機(jī)總線設(shè)計(jì)的標(biāo)準(zhǔn)化。現(xiàn)在為業(yè)界所熟知的標(biāo)準(zhǔn)化的總線包括ISA、EISA、微通道TM等。
外設(shè)元件互連(Peripheral Component Interconnect(PCI))是另外一種標(biāo)準(zhǔn)化總線,它是一種具有多重地址、控制線和數(shù)據(jù)線的高效32位/64位總線,設(shè)計(jì)PCI總線的目的是利用它實(shí)現(xiàn)高集成化外設(shè)元件,內(nèi)插式板卡和處理器/存貯器子系統(tǒng)之間的互連,PCI本地總線詳細(xì)說明書(產(chǎn)品2.0修訂版)于1993年4月30日發(fā)表,對(duì)PCI總線進(jìn)行了規(guī)格說明。
該手冊(cè)是由PCI Special Interest Group(SIG)發(fā)布并維護(hù)的,PCI--SIG是一個(gè)對(duì)計(jì)算機(jī)工業(yè)領(lǐng)域的所有公司開放的組織,PCI-SIG確信PCI總線將會(huì)因其優(yōu)越的性能,而在高性能個(gè)人計(jì)算機(jī)(PCs)的內(nèi)插式板卡、工作站和服務(wù)器產(chǎn)品中成為主力擴(kuò)充總線。
為了與PCI總線規(guī)格相兼容,所有的內(nèi)插式板卡都要求提供配置寄存器,有些寄存器是只讀的,PCI處理器可以籍此識(shí)別設(shè)備及其功能。
其他寄存器是可讀/寫的,由PCI處理器對(duì)其進(jìn)行讀/寫操作,這些可讀可寫的寄存器提供用于配置設(shè)備資源信息諸如I/O地址、寄存器地址、中斷級(jí)別、高速緩存線大小(cache line size)等。
在典型應(yīng)用中,一些規(guī)定的數(shù)值被固化或編碼存儲(chǔ)在上述只讀存儲(chǔ)器中,這些數(shù)值被嵌入在PCI總線內(nèi)插式板卡的VLSI芯片元件中,這些數(shù)值負(fù)責(zé)向PCI總線傳遞信息,稱做硬編碼,是不可改變的,因此這些芯片在PCI計(jì)算機(jī)中只能完成一種指定功能。
在某些情況下,我們希望在不同的應(yīng)用中能使用同樣的芯片。例如,某人可能想將同樣的芯片用于以太網(wǎng)內(nèi)插式板卡或小型計(jì)算機(jī)系統(tǒng)接口(SCSI)內(nèi)插式板卡上。為此,必須在芯片的配置寄存器中加載不同的數(shù)值,這樣芯片根據(jù)各自應(yīng)用的情況的不同向計(jì)算機(jī)報(bào)出不同的設(shè)備標(biāo)識(shí)符和各類代碼信息。另舉一例,配置寄存器需要不同的數(shù)值,以便于制造商將芯片出售給不同的客戶??梢韵胂?,每個(gè)用戶都希望使用不同的用戶標(biāo)識(shí),這就要求同一塊芯片能向PCI處理器報(bào)出不同的用戶標(biāo)識(shí)符。
解決上述問題的方法非常簡(jiǎn)單,即為每一個(gè)新的應(yīng)用或新的用戶訂制同一芯片不同的版本。然而,由于價(jià)格、制造延遲等顯而易見的原因,這種方法可能無法接受,最終可接受的并且(或者)有實(shí)際意義的解決方案就是,制造出這樣一種芯片或模塊,只需單獨(dú)一塊,就能為PCI總線計(jì)算機(jī)系統(tǒng)中的不同應(yīng)用共用,這種芯片或模塊,在下文中被稱做“PCI總線接口芯片”或接口模塊。
因此,本發(fā)明的主要的目的是為PCI計(jì)算機(jī)提供一種新穎的內(nèi)插式板卡。
本發(fā)明的另一個(gè)目的是為PCI總線計(jì)算機(jī)的PCI總線提供一個(gè)通用的接口模塊以連接內(nèi)插式板卡和PCI總線型計(jì)算機(jī)的PCI總線。
本發(fā)明的第三個(gè)目的是提供一個(gè)具有可編程配置寄存器的內(nèi)插式板卡。
這種新穎的內(nèi)插式板卡包括一個(gè)組件,專門為執(zhí)行預(yù)定應(yīng)用(諸如連接通信網(wǎng)、連接不同類型設(shè)備等)而設(shè)計(jì);還包括一個(gè)具有可編程PCI配置寄存器的通用接口模塊。因此,PCI配置寄存器能根據(jù)應(yīng)用的不同而編程設(shè)置為相應(yīng)的數(shù)值。
尤其是,本發(fā)明的內(nèi)插式板卡包含一個(gè)具有本地總線的內(nèi)插式板卡微處理器,與永久存貯模塊和通用接口模塊,即下文所指的PCI總線接口芯片,相連接。PCI總線接口芯片將提供一組寄存器,包括只讀寄存器。加電以后,PCI總線接口芯片控制器將啟動(dòng)PCI總線上所選的控制線,指定為“重試模式”,以響應(yīng)PCI系統(tǒng)處理器對(duì)PCI配置寄存器的訪問。在“重試模式”下,禁止PCI系統(tǒng)處理器訪問PCI總線接口芯片上的配置寄存器;而PCI系統(tǒng)處理器將根據(jù)“重試模式”的信號(hào),在一段時(shí)間后重新訪問寄存器。在上述的“禁止”或“無讀操作”的期間,內(nèi)插式板卡微處理器訪問永久性存貯設(shè)備,并將存貯在永久性存貯設(shè)備中的信息加載到配置寄存器中。
當(dāng)加載結(jié)束后,內(nèi)插式微處理器將PCI總線接口芯片中一個(gè)稱做“PCI訪問許可位”的控制位置為有效,該位的輸出信號(hào)使PCI總線接口控制器將先前處于激活狀態(tài)的控制線變?yōu)榉羌せ顮顟B(tài),從而使PCI處理器可以訪問PCI總線芯片中的寄存器。
本發(fā)明的另一特征在于如果在PCI總線接口芯片的輸入端(PCI訪問許可輸入管腳)生成一個(gè)信號(hào)將屏蔽PCI訪問許可位的功能。如果該管腳輸入電位為“非激活高位狀態(tài)”的第一電氣狀態(tài),PCI訪問重載輸入管腳將不影響PCI訪問許可位的功能,意即PCI系統(tǒng)處理器仍將重試訪問配置寄存器直至PCI訪問許可位被置為有效為止。如果該管腳輸入輸入電位為“低狀態(tài)”的第二狀態(tài),PCI訪問重載輸入管腳將屏蔽PCI訪問許可位的功能,允許PCI總線直接訪問配置寄存器而無需重試。在這種情況下,只能使用PCI只讀配置寄存器的加電缺省值,而不能在PCI配置寄存器中加載不同數(shù)值。
本發(fā)明前面所描述的特征和優(yōu)點(diǎn)將根據(jù)下列圖做充分描述。
圖1根據(jù)本發(fā)明的教導(dǎo)的內(nèi)插式板卡的系統(tǒng)級(jí)模塊2根據(jù)本發(fā)明的教導(dǎo)的內(nèi)插式板卡的板卡級(jí)模塊3根據(jù)本發(fā)明的教導(dǎo)的PCI接口芯片的芯片級(jí)模塊4根據(jù)本發(fā)明的教導(dǎo)的PCI總線接口芯片的電路模塊5分別顯示PCI處理器和內(nèi)插式板卡在配置和設(shè)置相關(guān)的配置寄存器處理流程6關(guān)于PCI總線接口芯片控制器的模塊7重試周期的時(shí)序1顯示了PCI計(jì)算機(jī)系統(tǒng)13的模塊圖,PCI計(jì)算機(jī)系統(tǒng)由PCI總線10、PCI內(nèi)插式板卡12和PCI處理器14構(gòu)成。PCI處理器14包括許多軟件產(chǎn)品,諸如PCI系統(tǒng)配置軟件14A、操作系統(tǒng)14B和一些應(yīng)用程序14C。各軟件的功能已為業(yè)界人士熟知。因此,在此將不再給出詳細(xì)描述。我們完全有理由認(rèn)為PCI系統(tǒng)配置軟件14A完成了控制PCI內(nèi)插式板卡上配置寄存器(將在下文中詳細(xì)描術(shù))所需的功能??偟膩碚f,PCI系統(tǒng)配置軟件是“BIOS”(基本輸入/輸出系統(tǒng))軟件的一部分。BIOS負(fù)責(zé)對(duì)系統(tǒng)實(shí)行加電測(cè)試,提供各種較低級(jí)別的例程,以支持系統(tǒng)配置和數(shù)據(jù)輸入。PCISpecial Interest Group(PCI-SIG)于1993年7月20日發(fā)表了PCI BIOS詳細(xì)說明書修訂版2.0,大致描述了PCI配置軟件所需功能。該文件被列入了參考文獻(xiàn)。PCI BIOS說明書提供了充足的信息,編程人員可以據(jù)此設(shè)計(jì)適合的軟件模塊。如前所述,PCI總線10是一種計(jì)算機(jī)系統(tǒng)的內(nèi)部的互聯(lián)傳輸機(jī)制,1993年4月30日發(fā)表的“外設(shè)元件互聯(lián)(PCI)的本地總線規(guī)則”一文中對(duì)PCI總線進(jìn)行了詳細(xì)描述,在此也被列入?yún)⒖嘉墨I(xiàn)。此外,USP5,392,407(具有外設(shè)元件互聯(lián)端口與RAMBUS端口的多端處理器)描述了PCI總線的特征,為了更好地了解PCI總線的背景資料,在此也列入了參考文獻(xiàn)。盡管在圖1中顯示在實(shí)際實(shí)施例中,PCI內(nèi)插式板卡12獨(dú)立于PCI計(jì)算機(jī)系統(tǒng)13,PCI內(nèi)插式板卡12實(shí)際上連接在PCI計(jì)算機(jī)系統(tǒng)13表面下的一個(gè)擴(kuò)展槽上。
仍參見圖1,本發(fā)明下文的描述涉及到PCI內(nèi)部板卡12,具體來說是涉及到PCI總線接口芯片12A(PCI bus interface chip),它與PCI總線10接口。PCI總線接口芯片12A是一種通用芯片,通過它廠商可將各種不同類型的PCI內(nèi)插式板卡12連接到PCI總線上。PCI內(nèi)插式板卡12包括一個(gè)處理器12B和一個(gè)本地總線12C(local bus),本地總線12C負(fù)責(zé)連接PCI總線接口芯片12A,永久性存貯器(non-volatile storage)12D、RAM 12E和任務(wù)生成器(task generator)設(shè)備12F。任務(wù)生成器設(shè)備12F是PCI內(nèi)插式板卡的一個(gè)子系統(tǒng),執(zhí)行預(yù)定的功能以完成期望的任務(wù)。例如,任務(wù)生成器設(shè)備12F可以是一個(gè)通信適配卡負(fù)責(zé)連接PCI計(jì)算機(jī)系統(tǒng)13和局域網(wǎng)(LAN)(諸如令牌網(wǎng)、以太網(wǎng)、FDDI網(wǎng)等)。用于令牌網(wǎng)的任務(wù)生成器可以是IBM Auto LANStreamer PCI Adapter P/N 04H8095。
類似的,用于以太網(wǎng)的任務(wù)生成器也可以是IBM EtherStreamer MC32Adapter P/N 74G0850。
一般來說,可以連到PCI總線接口芯片上的任務(wù)生成器包括通信控制器(以太網(wǎng)、令牌環(huán)網(wǎng)、FDDI、ATM網(wǎng)等)、顯示控制器(VGA、XGA等)、多媒體設(shè)備(視像設(shè)備、聲像設(shè)備、CD-ROM等)、盤系統(tǒng)(IDE、SCSI、RAID等)和協(xié)處理器系統(tǒng)(奔騰芯片、POWER PC等)。
應(yīng)該注意到,這些應(yīng)用都可用PCI內(nèi)插式板卡實(shí)現(xiàn)。根據(jù)本發(fā)明的指導(dǎo),PCI總線接口芯片12A(下文將詳細(xì)討論)可以用在任何一種內(nèi)插式板卡中,以執(zhí)行內(nèi)插式板卡需要的總線接口功能,對(duì)PCI總線進(jìn)行操作。
圖2顯示了PCI總線接口芯片12A的板卡級(jí)模塊圖。PCI總線芯片12A包括一個(gè)連到PCI總線10上的PCI總線接口16。一個(gè)內(nèi)部總線接口設(shè)備18負(fù)責(zé)連接PCI總線芯片12A和內(nèi)部總線12C。PCI總線接口設(shè)備16和內(nèi)部總線接口設(shè)備18之間通過數(shù)據(jù)傳輸與邏輯設(shè)備20,功能寄存器22和PCI配置寄存器24相連。數(shù)據(jù)傳輸與邏輯設(shè)備20是PCI總線10與PCI內(nèi)插式板卡12間的主要數(shù)據(jù)傳輸路徑,包括一個(gè)先進(jìn)先出緩沖20A,將數(shù)據(jù)從內(nèi)部總線接口設(shè)備18移到PCI總線接口設(shè)備16。類似的,先進(jìn)先出緩沖20B負(fù)責(zé)將數(shù)據(jù)反向傳送。PCI系統(tǒng)處理器通過PCI總線10執(zhí)行PCI系統(tǒng)配置軟件14A可對(duì)PCI配置寄存器進(jìn)行讀寫操作。利用寫入的信息可以配置插入式板卡連接的設(shè)備的I/O地址、存儲(chǔ)器地址、中斷級(jí)別、高速緩存界、大小等設(shè)備資源。
參見圖2,PCI配置寄存器24包含的信息對(duì)于配置軟件14A(見圖1)十分重要,因?yàn)橹挥型ㄟ^這些信息才能識(shí)別設(shè)備并決定如何進(jìn)行配置。PCI標(biāo)準(zhǔn)需要下面列出的只讀配置寄存器。下表無疑是詳盡的,本發(fā)明將包括已命名的和其他各種類型的寄存器----只要它們是PCI內(nèi)插式板卡與PCI系統(tǒng)連接所必須。這些PCI結(jié)構(gòu)的只讀寄存器包括廠商標(biāo)識(shí)一個(gè)16位寄存器,用戶可識(shí)別出該設(shè)備的生產(chǎn)廠商;設(shè)備標(biāo)識(shí)一個(gè)16位寄存器,用以唯一標(biāo)識(shí)廠商所提供的每一種類型PCI設(shè)備;
更新標(biāo)識(shí)一個(gè)8位寄存器,廠商用以獲悉設(shè)備的更新級(jí)別;類別代碼一個(gè)24位寄存器,可識(shí)別出設(shè)備的一般功能(顯示控制器、網(wǎng)絡(luò)控制器、橋設(shè)備等);基地址寄存器包含一個(gè)只讀位,指明設(shè)備輸入/輸出和存貯器映射需求;中斷電路寄存器一個(gè)8位寄存器,用于傳遞斷電路例程請(qǐng)求;最小許可和最大延遲定時(shí)寄存器8位寄存器,設(shè)定了延遲定時(shí)器的設(shè)備預(yù)期值。
正如以下將要描述的,在本發(fā)明中可以根據(jù)微處理器12B和永久性存貯器12D動(dòng)態(tài)設(shè)置PCI配置寄存器的值。因此,同樣的PCI總線接口芯片12A可以用于多種不同類型的PCI內(nèi)插式板卡。
“功能寄存器22”是與PCI配置寄存器相分離的寄存器,它們只能被諸如指定令牌環(huán)設(shè)備驅(qū)動(dòng)程序一類的特定應(yīng)用程序所訪問。它們負(fù)責(zé)提供中斷/狀態(tài)功能,DMA控制功能和一些PCI總線說明書中未說明的配置功能。
圖3顯示了PCI總線接口芯片12A的詳細(xì)模塊圖表,PCI總線接口芯片12A負(fù)責(zé)連接PCI總線10和內(nèi)部插接板卡總線12C。在該圖中,還顯示了PCI配置寄存器----一種可編程寄存器,微處理器12B(圖2)通過內(nèi)部?jī)?nèi)插式板卡總線12C對(duì)其進(jìn)行寫操作。此外,在圖3中還顯示了PCI訪問許可寄存器,它負(fù)責(zé)控制PCI處理器對(duì)PCI配置寄存器的訪問權(quán)。如后面優(yōu)選實(shí)施例中所述,PCI訪問許可寄存器是一個(gè)單比特寄存器。當(dāng)然,也可用其他類型的配置寄存器來實(shí)現(xiàn)相同的功能功能而不違背本發(fā)明的精神。
仍參照?qǐng)D3,PCI總線接口設(shè)備16包括一個(gè)PCI總線主邏輯設(shè)備16A,和一個(gè)PCI總線從邏輯設(shè)備16B。PCI總線主邏輯設(shè)備16A負(fù)責(zé)在PCI總線與PCI總線接口芯片的FIFO之間傳輸突發(fā)性數(shù)據(jù)。PCI總線主邏輯設(shè)備16A,通過PCI系統(tǒng)總線仲裁邏輯(圖中未顯示),(PCI總線系統(tǒng)的一個(gè)組成部分,取得總線的所有權(quán),以完成傳輸?shù)某跏蓟ぷ?。而PCI總線從邏輯設(shè)備16B負(fù)責(zé)響應(yīng)由其他總線控制器,例如PCI系統(tǒng)處理器,初始化的總線周期,它PCI系統(tǒng)處理器提供PCI總線上必要的握手控制信號(hào),以完成對(duì)PCI總線接口芯片上寄存器的讀/寫操作。
與PCI總線接口16相類似,內(nèi)部總線設(shè)備18包含一個(gè)內(nèi)部總線主邏輯設(shè)備18以及一個(gè)內(nèi)部從屬邏輯設(shè)備18B。內(nèi)部總線主邏輯設(shè)備18A負(fù)責(zé)在內(nèi)部?jī)?nèi)插式總線12C與PCI總線接口芯片的FIFO之間傳輸突發(fā)性數(shù)據(jù);18B則為內(nèi)插式板卡上的微處理器提供寄存器讀/寫服務(wù)。
仍參照?qǐng)D3?!盎颉边壿嬰娐?0有一個(gè)輸出端,連接到PCI總線從屬邏輯設(shè)備16B;另外“或”邏輯電路20有兩個(gè)輸入端,一個(gè)通過導(dǎo)線26連接到PCI訪問許可寄存器24,另一輸入端通過導(dǎo)線24連接到管腳22。第22管腳(在圖3中以虛圓圈表示)與PCI總線接口模塊12A相連。正如我們即將解釋的,當(dāng)“或”邏輯電路20的輸出端信號(hào)為“啟動(dòng)”時(shí),PCI處理器才能通過PCI總線訪問PCI配置寄存器,如果“或”邏輯電路的輸出端處于“非激活”狀態(tài),PCI處理器對(duì)配置寄存器的訪問功能將被阻塞??刂啤盎颉边壿嬰娐?0的輸出狀態(tài)有兩種方式通過處理器12B(見圖2)設(shè)置PCI訪問許可寄存器的一個(gè)比特位進(jìn)行控制或者通過PCI總線接口芯片的22號(hào)管腳控制。
圖4用圖解說明了在PCI系統(tǒng)處理器14(見圖1)被禁止訪問PCI配置寄存器時(shí),微處理器12B(見圖1)如何對(duì)PCI配置寄存器進(jìn)行寫操作的邏輯。然而,一旦寫操作結(jié)束,PCI訪問許可寄存器24將PCI訪問許可位30置成有效,前面提到的PCI處理器就對(duì)PCI總線接口芯片的全部寄存器具有了訪問權(quán)限。
仍然參見圖4,一組數(shù)據(jù)線(在PCI總線上,被稱做PCI數(shù)據(jù)總線10A),連接PCI配置寄存器內(nèi)部與PCI總線10。一個(gè)被稱做PCI-RST#LINE的控制結(jié)構(gòu)線將PCI訪問許可寄存器24連接到PCI總線10上。一組用于啟動(dòng)PCI總線重試功能所必需PCI控制信號(hào)線將PCI總線10從內(nèi)部連接到PCI狀態(tài)機(jī)和組合邏輯設(shè)備31。
PCI從屬狀態(tài)機(jī)和組合邏輯設(shè)備31的輸入端通過最終許可信號(hào)線32連到“或”邏輯電路20,導(dǎo)線22和26上的信號(hào)已經(jīng)在圖3中做了相關(guān)描述,在此不再重復(fù)。
圖5顯示了PCI系統(tǒng)處理器嘗試訪問PCI內(nèi)插式板卡配置寄存器,與PCI內(nèi)插式板卡的微處理器預(yù)載PCI配置寄存器這兩個(gè)過程的交互情況流程圖。系統(tǒng)一旦加電,PCI處理器42中的PCI系統(tǒng)配置軟件就會(huì)嘗試訪問PCI插入式板卡的配置寄存器(位于PCI接口芯片中,圖中未顯示)。但PCI系統(tǒng)處理器的訪問請(qǐng)求將被禁止,直到PCI總線接口芯片中的PCI訪問許可位被內(nèi)插式板卡微處理器寫為有效狀態(tài)。在PCI系統(tǒng)處理器的訪問請(qǐng)求被禁止期間,PCI內(nèi)插式板卡微處理器將完成對(duì)配置寄存器的預(yù)載操作,然后PCI系統(tǒng)配置軟件才能訪問配置寄存器。
特別的是,當(dāng)PCI系統(tǒng)加電(見34)后,這一處理就開始進(jìn)行,PCI內(nèi)插式板卡及其配置寄存器的圖解見框圖36。加電后,PCI系統(tǒng)處理器42嘗試通過“配置讀/寫線”(Config Read or Write)訪問配置寄存器。這些嘗試最初是不允許的,這一過程在圖中由“重試”(Retry)線表示。在此時(shí)段內(nèi),PCI內(nèi)插式板卡微處理器38從板卡的永久存貯ROM中獲得信息,并將其寫入適當(dāng)?shù)呐渲眉拇嫫髦?。一旦這些工作完成,位于40塊的PCI內(nèi)插式板卡微處理器置PCI訪問許可位,從而允許PCI系統(tǒng)處理器42退出重試模式,訪問板卡上的寄存器。對(duì)寄存器的訪問在圖5中由雙箭頭線“配置讀/寫”(Config.Read or Write)表示。一旦每個(gè)寄存器配置完畢,系統(tǒng)即能與通過內(nèi)插式板卡連接到PCI總線上的設(shè)備進(jìn)行通信。
圖6顯示了PCI總線接口控制器模塊圖,PCI總線接口控制器的部分功能是產(chǎn)生控制信號(hào),使PCI處理器強(qiáng)制進(jìn)入“重試”狀態(tài),并禁止PCI處理器訪問PCI總線接口芯片的寄存器。在圖6中有些元件在前面已經(jīng)詳述過,在此就不再標(biāo)注、討論。PCI總線接口控制器,包括PCI從屬組合邏輯設(shè)備44和PCI從屬狀態(tài)機(jī)46。PCI從屬組合邏輯設(shè)備44將PCI總線(PCI FRAME#和PCI IRDY#)的控制信號(hào)解碼,并告知PCI從屬狀態(tài)機(jī)46,PCI總線接口芯片上的某一個(gè)PCI系統(tǒng)處理器已對(duì)PCI總線接口芯片進(jìn)行了寄存器讀/寫初始化工作。PCI從屬狀態(tài)機(jī)46接著根據(jù)獲悉的狀態(tài)為讀/寫操作服務(wù)。PCI從屬組合邏輯設(shè)備44對(duì)PCI從屬狀態(tài)機(jī)46的輸出進(jìn)行解碼,并相應(yīng)第啟動(dòng)PCI總線上的控制信號(hào)(PCI DEVSEL#,PCI TRDY#和PCI STOP#)告知PCI系統(tǒng)處理器,總線周期已結(jié)束。
如果訪問許可線32上的最終訪問許可信號(hào)處于“非活動(dòng)低狀態(tài)”(inactive low state),PCI從屬狀態(tài)機(jī)46將對(duì)PCI系統(tǒng)處理器的讀/寫操作發(fā)出“重試”信號(hào)。根據(jù)PCI從屬狀態(tài)機(jī)46的輸出信號(hào),PCI從屬組合邏輯設(shè)備44啟動(dòng)“PCI EVSEL#”和“PCI STOP#”信號(hào),停止“PCITRDY#”信號(hào),以進(jìn)入重試狀態(tài)。PCI系統(tǒng)處理器用該信號(hào)序列來指示對(duì)寄存器的訪問被禁止,總線事務(wù)必須過一段時(shí)間重試。如果最終訪問許可信號(hào)32處于啟動(dòng)高狀態(tài)(active high state),PCI從屬狀態(tài)機(jī)46和組合邏輯設(shè)備44啟動(dòng)“PCI DEVSEL#”和“PCI TRDY#”信號(hào)來回應(yīng)某個(gè)正常的總線事務(wù)。PCI系統(tǒng)處理器用這個(gè)信號(hào)序列指示對(duì)寄存器的一次讀/寫操作已正常結(jié)束。上述“重試”過程和總線事務(wù)的正常“讀/寫”過程操作所必須的、準(zhǔn)確的信號(hào)序列在“PCI本地總線說明書產(chǎn)品修訂版2.0”中有詳細(xì)定義,該說明書已被列入?yún)⒖嘉墨I(xiàn)。
圖7顯示了PCI處理器和PCI總線接口芯片(見圖6)相互之間交互過程(握手過程)的時(shí)序或事件流程圖。這種握手過程用于強(qiáng)制PCI處理器轉(zhuǎn)入重試模式。當(dāng)PCI總線接口控制器一類的從屬設(shè)備沒有準(zhǔn)備好與PCI處理器等主設(shè)備進(jìn)行通信時(shí),系統(tǒng)將進(jìn)入重試模式。該例程所需的信號(hào)在上面參照的“PCI本地總線說明書”中定義,它包括一個(gè)時(shí)鐘、Frame#、IRDY#、TRDY#、STOP#和DEVSEL#。在PCI處理器需要訪問PCI總線接口芯片上的配置寄存器時(shí),PCI總線將輸出Frame#和I RDY#信號(hào)。而TRDY#、STOP#和DEVSEL#信號(hào)則是為了回應(yīng)PCI處理器輸出的上述信號(hào)而由PCI接口控制器產(chǎn)生。在圖6中顯示了這些命名信號(hào)及方向。數(shù)字1、2、3、4、和5表示PCI總線接口芯片根據(jù)PCI處理器輸出信號(hào)進(jìn)行采樣的階段。類似的,標(biāo)有A、B、C的循環(huán)表示某一設(shè)備初始化特定的動(dòng)作并從其他設(shè)備得到回應(yīng)的過程。例如A表示PCI總線接口芯片進(jìn)行初始化,B則表示PCI處理器對(duì)此的反應(yīng)。確切來說,就是當(dāng)STOP#信號(hào)處于低電平,則IRDY#下降,F(xiàn)RAME#上升。C代表的事件也可類似理解。最后,一次重試過程包括5個(gè)時(shí)鐘周期,在圖上用兩個(gè)反向箭頭表示。
現(xiàn)在描述本發(fā)明的運(yùn)作過程。本發(fā)明提供了用于PCI計(jì)算機(jī)系統(tǒng)內(nèi)插式板卡的可編程配置寄存器。一般來講,在PCI系統(tǒng)軟件訪問PCI只讀配置寄存器之前,微處理器(12B)將向上述寄存器加載可進(jìn)行唯一標(biāo)識(shí)的數(shù)值。因此一個(gè)通用的PCI總線接口芯片可用于不同廠商生產(chǎn)的多種內(nèi)插式板卡,并且實(shí)現(xiàn)不同的功能。
需要特別指出的是,微處理器和永久性存貯設(shè)備通常是內(nèi)插式板卡上所固有的元件。微處理器和永久性存貯設(shè)備位于內(nèi)部?jī)?nèi)插式板卡總線12C上。該總線與PCI總線被PCI總線接口芯片分開。當(dāng)PCI系統(tǒng)加電后,PCI--RST#Line(見圖4)上的信號(hào)將PCI訪問許可位30置零,同時(shí),PCI從屬狀態(tài)機(jī)與組合邏輯31(它是PCI總線接口芯片上的控制器)啟動(dòng)已選定的PCI控制信號(hào)線,使PCI處理器進(jìn)入前面所提到的“重試模式”,而不能訪問PCI總線接口芯片上的寄存器。
與此同時(shí),當(dāng)PCI處理器被禁止訪問PCI接口芯片上的寄存器時(shí),微處理器12B將執(zhí)行相應(yīng)的代碼,然后在對(duì)PCI系統(tǒng)加電重置系統(tǒng)時(shí),從永久性存貯設(shè)備12D(見圖1),其地址可通過程序設(shè)定,中讀取為只讀PCI配置寄存器預(yù)置的數(shù)值。例如,永久必性存貯設(shè)備可以是Flash、RAM或ROM等。微處理器接著向PCI配置或其它PCI總線接口芯片上的寄存器中寫入唯一的數(shù)值,為了使PCI處理器能夠訪問配置寄存器,微處理器重寫PCI訪問許可位30(見圖4)。寫該位將在最終訪問許可線32上生成最終訪問信號(hào),并且由PCI從屬狀態(tài)機(jī)與組合邏輯設(shè)備31將以前活動(dòng)的PCI控制信號(hào)線置于非活動(dòng)狀態(tài),從而允許PCI處理器訪問配置寄存器。所有對(duì)該寄存器的訪問都由PCI系統(tǒng)處理器14(見圖1)上運(yùn)行的PCI系統(tǒng)配置軟件14A所控制。
PCI總線接口芯片也適用于內(nèi)插式板卡上沒有微處理器或沒有永久性存貯設(shè)備的應(yīng)用環(huán)境。在只讀配置寄存器中不包含重要數(shù)據(jù)的情況下,PCI總線接口芯片也同樣適用。在以上兩種條件下,PCI訪問許可位可以被PCI總線接口芯片的輸入管腳22(見圖3)屏蔽。如果該管腳輸入電位為非激活高位狀態(tài),PCI訪問重載輸入管腳將不影響PCI訪問許可位的功能,意即PCI系統(tǒng)處理器仍將重試訪問配置寄存器。如果該管腳輸入輸入電位為“非活動(dòng)低狀態(tài)”,“PCI訪問重載輸入管腳”將屏蔽PCI訪問許可位的功能,允許PCI總線直接訪問配置寄存器而無需重試。在這種情況下,只能使用PCI只讀配置寄存器的加電缺省值,而不能在PCI配置寄存器中加載不同數(shù)值。
盡管本發(fā)明的最佳實(shí)施方式已公開并加以詳述,任何對(duì)具有普通技能的人來說顯而易見的修改及實(shí)施例都在所附的權(quán)利要求書的精神和范圍內(nèi)。
權(quán)利要求
1.一種用于PCI計(jì)算機(jī)系統(tǒng)的內(nèi)插式板卡包括第一總線;一個(gè)連接到第一總線上的裝配組件設(shè)備,所述裝配組件設(shè)備為完成期望任務(wù)而執(zhí)行預(yù)定功能;一個(gè)連接到第一總線上的微處理器;一個(gè)連接到第一總線上的永久性存貯設(shè)備,所述永久性存貯設(shè)備存貯配置信息;一個(gè)連接到第一總線和第二總線的PCI總線芯片,所述的PCI總線接口芯片包含配置寄存器,可由PCI微處理器通過第二總線及微處理器存?。患癙CI總線接口芯片控制器,在接收到第一信號(hào)后將禁止PCI微處理器訪問所述配置寄存器,直到微處理器將配置信息預(yù)加載到所述配置寄存器中。
2.如權(quán)利要求1所述的內(nèi)插式板卡,其中第一信號(hào)包括加電信號(hào)。
3.如權(quán)利要求1或2所述的內(nèi)插式板卡,其中裝配組件設(shè)備執(zhí)行預(yù)定的功能以完成連接PCI系統(tǒng)與局域網(wǎng)通信控制器的所希望的任務(wù)。
4.如權(quán)利要求3所述的內(nèi)插式板卡,其中局域網(wǎng)包括以太網(wǎng)、令牌環(huán)網(wǎng)、光纖數(shù)字網(wǎng)或ATM網(wǎng)。
5.如權(quán)利要求1或2所述的內(nèi)插式板卡,其中裝配組件設(shè)備用于執(zhí)行預(yù)定工作以完成設(shè)備控制器的功能。
6.如權(quán)利要求5所述的內(nèi)插式板卡,其中設(shè)備控制器用于控制顯示器、多媒體、盤裝配組件或協(xié)處理器子系統(tǒng)。
7.如權(quán)利要求1或2所述的內(nèi)插式板卡,其中PCI總線接口芯片控制器還包括PCI從屬組合邏輯設(shè)備,可對(duì)一組啟動(dòng)信號(hào)做出反應(yīng),啟動(dòng)PCI系統(tǒng)的PCI總線中所選擇的控制線;及PCI從屬狀態(tài)機(jī),在接收到最終訪問許可的控制信號(hào)后,將產(chǎn)生一組啟動(dòng)信號(hào)。
8.如權(quán)利要求7所述的內(nèi)插式板卡,其中最終訪問許可信號(hào)由一個(gè)“或”邏輯電路設(shè)備和一個(gè)單比特寄存器的輸出端生成,單比特寄存器的輸出被連接到“或”邏輯電路的第一輸入端,“或”邏輯電路的第二輸入端被連接到所述PCI總線接口芯片的輸入管腳。
9.在運(yùn)行PCI配置軟件的PCI處理器被連接到PCI總線,同時(shí)有一個(gè)PCI內(nèi)插式板卡連接到所述PCI總線的PCI計(jì)算機(jī)系統(tǒng)中,用于配置PCI內(nèi)插式板卡的方法包含以下步驟在PCI內(nèi)插式板卡上提供一組配置寄存器和一個(gè)控制寄存器,這些配置寄存器可以被PCI處理器和內(nèi)插式板卡上的本地處理器所訪問;在接收一個(gè)預(yù)定信號(hào)后,內(nèi)插式板卡上控制器將產(chǎn)生一組PCI總線上預(yù)先定義的控制信號(hào),從而延遲PCI處理器訪問配置寄存器組;使用本地處理器下載所述處理器中存放的數(shù)據(jù),并將其存入配置寄存器組中;配置寄存器組信息加載完畢后,通知控制器將控制信號(hào)組由激活態(tài)置為非激活態(tài),從而允許PCI處理器訪問配置寄存器組,并且配置上述PCI內(nèi)插式板卡。
10.負(fù)責(zé)連接內(nèi)插式板卡與PCI計(jì)算機(jī)系統(tǒng)的PCI總線的接口子系統(tǒng)包括至少一個(gè)配置寄存器以存貯配置數(shù)據(jù);一個(gè)寄存器設(shè)備以存貯控制信息;一個(gè)用于響應(yīng)第一總線信號(hào)的PCI總線接口設(shè)備,負(fù)責(zé)將PCI總線上選定的信號(hào)啟動(dòng)至第一狀態(tài),從而禁止PCI處理器訪問上述至少一個(gè)配置寄存器;及一個(gè)電路設(shè)備,用于監(jiān)控寄存器設(shè)備,根據(jù)上述寄存器的某一位或多位選中位輸出一個(gè)第二信號(hào),使PCI總線接口設(shè)備將PCI總線上所選信號(hào)置成非激活第二狀態(tài),確保PCI處理器可訪問至少一個(gè)配置寄存器。
11.如權(quán)利要求10所述的接口子系統(tǒng),還包括功能寄存器組,PCI處理器可通過PCI總線對(duì)其進(jìn)行讀/寫操作。
12.如權(quán)利要求10所述的接口子系統(tǒng),其中第一信號(hào)是加電信號(hào)。
13.權(quán)利要求10所述的接口子系統(tǒng),其中PCI接口設(shè)備包括一個(gè)組合邏輯電路設(shè)備,其輸出連接到PCI總線上,及一個(gè)控制器其連接到上述組合邏輯電路設(shè)備的輸入。
14.如權(quán)利要求13所述的接口子系統(tǒng),其中控制器包括一個(gè)狀態(tài)機(jī)。
15.如權(quán)利要求10所述的接口子系統(tǒng),其中電路設(shè)備包含一個(gè)邏輯“或”電路,該邏輯“或”電路包括一個(gè)輸出端,它連接到PCI總線接口設(shè)備,該電路還包括兩個(gè)輸入端,其中一個(gè)連接到寄存器設(shè)備;及一個(gè)控制器,該控制器從與兩個(gè)輸入端的另一個(gè)相連的外部信號(hào)源提供控制信號(hào)。
16.權(quán)利要求10所述的接口子系統(tǒng),其中外部信號(hào)源包括所述接口子系統(tǒng)的一個(gè)管腳。
全文摘要
外設(shè)元件互連(PCI)總線計(jì)算機(jī)中使用的適配器或內(nèi)插式板卡包含一個(gè)連接板卡與PCI總線的通用模塊,該模塊包含一組可選可編程配置寄存器,可由適配器上的微處理器加載數(shù)值,模塊中的組合電路發(fā)布指令,禁止PCI處理器訪問配置寄存器,直到數(shù)值被完全加載。
文檔編號(hào)G06F15/177GK1185220SQ96194069
公開日1998年6月17日 申請(qǐng)日期1996年5月3日 優(yōu)先權(quán)日1995年5月22日
發(fā)明者阿里埃爾·科恩, 威廉·加文·霍爾蘭德, 約瑟夫·弗蘭克林·勞甘, 阿維·帕拉什 申請(qǐng)人:國際商業(yè)機(jī)器公司