專利名稱:有選擇地寄存寫操作周期的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于微型計(jì)算機(jī)系統(tǒng),特別是有關(guān)采用有高速存貯器子系統(tǒng)和包括用以有選擇地寄存寫操作周期的裝置的82385高速存貯器控制器的微機(jī)系統(tǒng)。
微機(jī)系統(tǒng)中應(yīng)用高速存貯器子系統(tǒng)在運(yùn)行性能上有許多吸引人的優(yōu)點(diǎn)。采用高速存貯器子系統(tǒng)的微機(jī)系統(tǒng)實(shí)際上是一種雙母線微型機(jī)。CPU和高速存貯器子系統(tǒng)通過一個(gè)可以稱之為CPU本地母線連接在一起。除此CPU本地母線之外,還有一個(gè)系統(tǒng)母線,它可用于連接如I/O單元、附加存貯器等的其它裝置。高速存貯器子系統(tǒng)的存在使得當(dāng)所需信息系存在于高速存貯器子系統(tǒng)中時(shí),不必再經(jīng)由系統(tǒng)母線來進(jìn)行任何讀存貯器訪問。但是,因?yàn)椴⒎侨克栊畔⒍家嬗诟咚俅尜A器子系統(tǒng)中,通??偸且獙?duì)高速存貯器子系統(tǒng)和存貯器兩方面都進(jìn)行寫操作的,因此,在系統(tǒng)母線和CPU本地母線之間自然必須有一定的聯(lián)系。在借助鎖存緩沖器實(shí)現(xiàn)兩者間的連接時(shí),還可能帶來特別像寄存寫操作這樣的一些額外的優(yōu)點(diǎn)。
具體一點(diǎn)說,任一寫操作都必須要訪問存貯器(它并不處于CPU本地母線之上)。作此寫訪問的信息(數(shù)據(jù)和地址)開始時(shí)被置于可用于寫高速存貯器子系統(tǒng)的CPU本地母線上。由于CPU本地母線和系統(tǒng)母線之間是由鎖存緩沖器接口的,因而可將該同一數(shù)據(jù)鎖存進(jìn)此緩沖器中。一旦當(dāng)此信息被鎖存到緩存器之后,就不再需要CPU的驅(qū)動(dòng)了。由此,被寄存的寫操作周期依賴于此時(shí)作存貯器寫操作的地址和數(shù)據(jù)信息可由鎖存緩沖器中取得這一事實(shí)。實(shí)現(xiàn)這種寫操作周期無需CPU參與。這樣,在一“被寄存的”寫當(dāng)中,寫操作周期所涉及的數(shù)據(jù)和地址被鎖存進(jìn)聯(lián)接CPU本地母線和系統(tǒng)母線的緩沖器,此后CPU即可繼續(xù)啟動(dòng)下面的操作過程。然后高速存貯器控制系統(tǒng)(包含高速存貯器控制器)即可監(jiān)控寫存貯器的完成。
包括有一80386處理機(jī)和-82385高速存貯器控制器的微機(jī)系統(tǒng)被安排來完全按這種格式利用被寄存的寫操作。
80386及其產(chǎn)生的信號(hào)見Intel公司的“80386及80386數(shù)據(jù)表介紹”(1986年4月)中的說明。80385高速存貯器控制器及其所產(chǎn)生信號(hào)見“82385高性能32位高速存貯器控制器”(1987年7月)中的說明,該說明書可由Intel公司獲得。
80386的另一具有吸引力的特點(diǎn)是其能以所謂的動(dòng)態(tài)母線調(diào)整運(yùn)行的能力。80386是標(biāo)稱32位的裝置,就是說其數(shù)據(jù)母線為32位寬。動(dòng)態(tài)母線調(diào)整是指80386處理機(jī)不僅能配合32位的裝置(存貯器,I/O等)而且能配合不具備32位容量的裝置(即不能在單一操作周期傳送32位數(shù)據(jù)的裝置)協(xié)同運(yùn)行。例如說,有各種各樣的16位的存貯器和/或I/O裝置,它們?cè)谝唤o定操作周期均不能傳送超過16位的數(shù)據(jù)。而且還有8位的I/O、存貯器和其他裝置。這樣的裝置在一給定操作周期只能傳送8位的數(shù)據(jù)。
80386包括有針對(duì)BS16信號(hào)的措施。當(dāng)認(rèn)定了這一信號(hào)時(shí),會(huì)得出下述結(jié)果。在80386已經(jīng)形成了一32位的操作周期的情況下,亦就是說它已經(jīng)形成或者準(zhǔn)備要接收32位的數(shù)據(jù),BS16信號(hào)的確認(rèn)則向80386指明它將不同32位的裝置協(xié)作運(yùn)行。在一32位的操作周期當(dāng)中,BS16信號(hào)的認(rèn)定將自動(dòng)地啟動(dòng)一第二操作周期的產(chǎn)生。通常,任一16位裝置均被安排為傳送32位數(shù)據(jù)母線中予定的一組16位。在因BS16信號(hào)的出現(xiàn)而產(chǎn)生的第二操作周期內(nèi),80386將使在第一操作周期中不是予定組數(shù)據(jù)位內(nèi)的一組16位數(shù)據(jù)置于一組與予定組的16位相連接的16根予定的數(shù)據(jù)線上,從而,在此二操作周期中的第一個(gè)周期中,16位的裝置將傳輸32位數(shù)據(jù)空間的某一組16位。在第二操作周期中,此16位裝置將傳輸數(shù)據(jù)的另外16位,這樣兩個(gè)16位的操作周期同來傳送32位。
但是,在被寄存寫操作周期與動(dòng)態(tài)母線調(diào)整間存在一種不協(xié)調(diào)性。這一不協(xié)調(diào)性是由下述原因造成的。假定80386產(chǎn)生一被寄存的寫操作。此被寄存寫操作周期的數(shù)據(jù)和地址被鎖存在CPU本地母線和系統(tǒng)母線之間的接口緩存器中。雖然此寫操作周期尚未完成,仍將一個(gè)就諸信號(hào)送回到80386。這模擬該操作過程的完畢,而使80386能啟動(dòng)以下的操作。由于BS16信號(hào)(它被送回到80386來指明與其協(xié)同運(yùn)行的裝置的大小)是由此裝置產(chǎn)生的,該信號(hào)要到裝置識(shí)別了它的地址后才會(huì)產(chǎn)生。進(jìn)一步假定,為之指定被寄存寫操作周期的該裝置實(shí)際上是一16位的裝置,在BS16信號(hào)被送到8036之前,它已經(jīng)超過了這一操作而在進(jìn)行下面的操作之中。因此,80386就不能產(chǎn)生第二個(gè)為該16位裝置所需要的操作周期。
由此,本發(fā)明的目的就是有選擇地寄存寫操作周期。由于被寄存寫操作周期是以原先對(duì)80386產(chǎn)生的就緒信號(hào)加以識(shí)別的,本發(fā)明設(shè)置的邏輯電路只有在適用于被寄存的寫時(shí)才對(duì)80386產(chǎn)生就緒信號(hào)。與本發(fā)明相對(duì)應(yīng)地,所有能與80386相互配合的裝置(I/O,存貯器等),被分為能作高速存取運(yùn)行和不能作高速存取運(yùn)行的兩類。被指定給所有這些裝置的地址都帶有一個(gè)標(biāo)志,指明該裝置是可作高速存取運(yùn)行的還是不可作高速存取運(yùn)行的。與本發(fā)明相適應(yīng)地,在CPU本地母線上設(shè)置有一地址譯碼器。此地址譯碼器按照CPU本地母線上所認(rèn)定的地址,在當(dāng)對(duì)一不可作高速存取運(yùn)行裝置進(jìn)行訪問時(shí),確認(rèn)-NCA信號(hào)。
此外,雖然82855高速存貯器控制器被安排成產(chǎn)生就緒信號(hào),但該信號(hào)不送往80386。而是將該信號(hào)耦合到與本發(fā)明相應(yīng)的邏輯裝置。該邏輯裝置,根據(jù)各種其他的認(rèn)定信號(hào),將只有在恰當(dāng)時(shí)刻才產(chǎn)生-CPUREADY信號(hào)(用來代替就緒信號(hào))。具體點(diǎn)說,本發(fā)明的這一邏輯裝置只有在當(dāng)所訪問的是一可作高速存貯運(yùn)行的裝置,即不存在NCA信號(hào)時(shí),才產(chǎn)生承認(rèn)被寄存寫操作周期的CPUREADY信號(hào)。反之,在出現(xiàn)NCA信號(hào)的情況下,此邏輯裝置就制止CPUREADY信號(hào)的產(chǎn)生,從而實(shí)際上就不會(huì)發(fā)生被寄存的寫操作。
這樣,與一特點(diǎn)相應(yīng)地本發(fā)明提出一種微機(jī)系統(tǒng)有連接-CPU和一高速存貯器子系統(tǒng)的CPU本地母線,所述CPU設(shè)有根據(jù)在一寫操作完成前接收到的CPU就緒信號(hào)執(zhí)行被寄存寫操作的裝置;
連接一隨機(jī)存取存貯器和多個(gè)可尋址功能單元的系統(tǒng)母線裝置,所述系統(tǒng)母線裝置在寫操作完成時(shí)發(fā)回一就緒信號(hào);
雙向連接所述系統(tǒng)母線和所述CPU本地母線的裝置;以及有選擇地阻止被寄存寫操作的邏輯裝置,所述邏輯裝置包括有a)連接到所述CPU本地母線的一地址母線部件的地址譯碼器裝置,所述地址譯碼器裝置用以產(chǎn)生一指出確認(rèn)所述CPU本地母線上的一地址不在與所述高速存貯器子系統(tǒng)相關(guān)的地址范圍內(nèi)的NCA信號(hào);以及b)響應(yīng)所述NCA信號(hào),在接收到來自所述可尋址功能單元之一的所說單元就緒信號(hào)之前抑制所述CPU就緒信號(hào)的裝置。
附圖的簡要說明
圖1為一個(gè)采用本發(fā)明的典型微機(jī)系統(tǒng)的總體三維視圖;
圖2為一個(gè)采用本發(fā)明的典型微機(jī)系統(tǒng)大部分部件的詳細(xì)方塊圖;
圖3為比圖2稍為詳細(xì)一點(diǎn)的一個(gè)方框圖,它表明制造廠推薦的80386和82385之間的連接關(guān)系,這有助于理解為什么這樣的安排與動(dòng)態(tài)母線調(diào)整不相適應(yīng);以及圖4為與圖3類似的一方框圖,但它說明本發(fā)明在有選擇地寄存寫操作周期上的應(yīng)用。
圖1所示為一本發(fā)明可采用的一個(gè)典型微機(jī)系統(tǒng)。圖中表明微機(jī)系統(tǒng)10由許多個(gè)相互連接在一起的部件所組成。更詳細(xì)地說,一個(gè)系統(tǒng)單元30連接并驅(qū)動(dòng)一監(jiān)視器20(例如普通的視頻顯示器)。此系統(tǒng)單元30還連接到如鍵盤40和鼠標(biāo)器50的輸入裝置。像打印機(jī)60等的輸出裝置也可接到系統(tǒng)單元30。最后,系統(tǒng)單元還可以包含有一個(gè)或更多的磁盤驅(qū)動(dòng)器,例如說磁盤驅(qū)動(dòng)器70。像下面將要談到的那樣,系統(tǒng)單元30響應(yīng)輸入裝置,例如鍵盤40和鼠標(biāo)器50、以及輸入/輸出裝置磁盤驅(qū)動(dòng)器70,提供信號(hào)來驅(qū)動(dòng)監(jiān)視器20和打印機(jī)60等輸出裝置。自然,熟悉本技術(shù)領(lǐng)域的人知道,其他的一般部件也可連接到系統(tǒng)單元30與之協(xié)同工作。按照本發(fā)明,微機(jī)系統(tǒng)10包括有(下面將較詳細(xì)地說明)一高速存貯器子系統(tǒng),它是這樣的,即這里有一CPU本地母一連接一處理器、一高速存貯器控制器、和一高速存貯器,而此CPU本地母線經(jīng)由一緩存器與一系統(tǒng)母線相連。此系統(tǒng)母線與鍵盤40、鼠標(biāo)器50、磁盤驅(qū)動(dòng)器70、監(jiān)視器20及打印機(jī)60等I/O裝置相連接并協(xié)同工作。除此之外,按照本發(fā)明,系統(tǒng)單元30還可以包含有一第三母線,它由一微通道(TM)組成,用作系統(tǒng)母線和其它(任選的)I/O裝置相互連接。
圖2是一高層次的方框圖,因此與本發(fā)明相適應(yīng)地說明一典型微機(jī)系統(tǒng)的各個(gè)部件。一CPU本地母線230(由數(shù)據(jù)、地址和控制部分組成)將一微處理器225(例如80386)、一高速存貯器控制單元260(它可以包含-82385高速存貯器控制器)和一隨機(jī)存取高速存貯器225連接起來。與此CPU本地母線230相連的還有一緩存器240。緩存器240本身則連接到也由地址、數(shù)據(jù)和控制部分組成的系統(tǒng)母線250。系統(tǒng)母線250由緩存器240延伸至另一緩存器253。
系統(tǒng)母線250還連接到一母線控制和定時(shí)元件265及一DMA控制器325。一仲裁控制母線連接母線控制和定時(shí)元件265與一仲裁監(jiān)控器335。主存350亦連接到系統(tǒng)母線250。主存貯器包括有一存貯器控制元件351、一地址多路器352和一數(shù)據(jù)緩存器353。這些元件與存貯器元件361~364相連。如圖2所示。存貯器裝置和可作高速存取運(yùn)行的存貯器裝置均可連接到母線320;圖2中作出了一典型的存貯器裝置331。
另一緩存器267被連接在系統(tǒng)母線250和一平面母線270。此平面母線270分別包括地址、數(shù)據(jù)和控制部分。沿著平面母線270接有各種I/O適配器和其他部件,例如顯示適配器275(用來驅(qū)動(dòng)監(jiān)視器20),時(shí)鐘發(fā)生器280,輔助隨機(jī)存貯器285,RS232適配器290(用于串行I/O運(yùn)行),打印機(jī)適配器295(可用來驅(qū)動(dòng)打印機(jī)60),定時(shí)器300,磁盤適配器305(與磁盤驅(qū)動(dòng)器70協(xié)同工作),中斷控制器310,以及只讀存貯器315。另一緩存器253接在系統(tǒng)母線250和另一母線、如微通道(TM)母線320之間,以作連接任選功能單元之用。
圖3為建議采用的80386、82385高速存貯器控制器和作為CPU本地母線及系統(tǒng)母線間接口的鎖存緩沖器240之間相互連接的方框圖,如制造廠家的推薦的那樣。尤其是,圖3表明CPU本地母線CPULBA的地址和控制母線部分(包括地址線A2-A31和控制線D/C,W/R和M/IO)連接到作為緩存器240一個(gè)部分的受控地址鎖存器(AL)的輸入端。鎖存器AL的輸出送到系統(tǒng)母線SBA的地址部分。同樣,80386的數(shù)據(jù)輸入/輸出端(由導(dǎo)線D0-D31組成)被連接到作為緩存器240另一部分的處于CPU本地母線和系統(tǒng)母線之間的數(shù)據(jù)鎖存器(DL)的一個(gè)輸入端。DL的另一輸入端為系統(tǒng)母線SBD的數(shù)據(jù)部分。圖3表明82385高速存貯器控制器通過由“與”門300和“或”門301所組成的外部邏輯電路將READYO信號(hào)送給80386的情況。READYI這一就緒信號(hào)指出,或者母線操作周期已經(jīng)完成,或者是在系統(tǒng)母線操作周期完成之前認(rèn)定該母線操作過程為一被寄存的寫操作。由于DL是雙向的,所以它既可鎖存來自CPU本地母線(D0-D31)中的數(shù)據(jù),又可以鎖存來自系統(tǒng)母線(SBD)中的數(shù)據(jù)。82385亦提供一指向信號(hào)(BT/R)以指明DL傳送的數(shù)據(jù)是來自CPU本地母線還是來自系統(tǒng)母線。信號(hào)BE0-BE3(80386的輸出以及為82385重復(fù)的輸出信號(hào))為輔助尋址信號(hào)。這一80386/82385微機(jī)系統(tǒng)被安排成在每次對(duì)主存的訪問中存取一“行”4字節(jié)數(shù)據(jù)。該4位尋址信號(hào)(BE0-BE3)可被用來由此“行”的4個(gè)字節(jié)中選取1或多個(gè)字節(jié)。信號(hào)BHOLD和BHLDA為作用于82385高速存貯器控制器和仲裁控制器335之間的母線保持和母線保持確認(rèn)成對(duì)操作。BADS是表明系統(tǒng)母線SBA的尋址單元認(rèn)定地址為有效的信號(hào)。BREADY為系統(tǒng)母線250發(fā)給82385的就緒信號(hào)。
如圖3中所示和所引用的Intel手冊(cè)中所作的說明,所有的寫操作均被寄存起來,就是說地址和數(shù)據(jù)被鎖存進(jìn)緩存器240的AL和DL部分,然后82385對(duì)READYO加以認(rèn)定,促使80386啟動(dòng)下面的操作。接著在82385的監(jiān)控下,即可以AL和DL中的數(shù)據(jù)來完成被寄存的寫操作。只要被寄存的寫操作所針對(duì)的是32位的裝置,從而可在單一操作過程中完成此寫操作周期,或者只要被寄存的寫操作是16位的寫到一16位的裝置,等等,那么被寄存的寫操作總能實(shí)現(xiàn)。反之,如果一被寄存的寫操作周期包含有超過被寄存的寫所針對(duì)的裝置的大小,那么該寄存的寫操作就是可適當(dāng)?shù)摹F洳贿m當(dāng)?shù)脑蚓驮谟?,在所有這類情況下均必須要有額外的操作周期(在32位對(duì)16位裝置操作周期中需要兩個(gè)操作周期,等等)。但是在80386接收到一指明(對(duì)一32位的寫操作周期而言)被寄存的寫是針對(duì)一16位的裝置的BS16信號(hào)之前80386已經(jīng)進(jìn)入到后面的操作,無法重復(fù)前面的操作周期。
圖4與圖3相似,但它表明80386、82385、AL、DL、CPU本地母線230以及系統(tǒng)母線250之間按照本發(fā)明是如何互相連接的。82385的輸出BT/R在此不是連接到DL,而是輸入給一新控制單元C。輸入到此控制單元C的其它信號(hào)還包括來自82385的DOE和WBS以及READYO(它原先被接到80386-見圖3)。譯碼器CADR與CPU本地母線的地址部分(CPULBA)相連,具體說即標(biāo)志位A17-A26和A31。此CADR譯碼器對(duì)輸入到控制單元C的信號(hào)NCA加以認(rèn)定,此信號(hào)指明CPULBA上被確認(rèn)的地址系針對(duì)一不可作高速存取運(yùn)行的裝置的。同樣,單元DL的控制信號(hào),即LEAB(將數(shù)據(jù)鎖存入單元DL)和OEAB(啟動(dòng)DL單元輸出)也源自于控制單元C??刂茊卧狢的另一輸入是系統(tǒng)母線產(chǎn)生的信號(hào)BREADY。
譯碼器CADR除開由CPULBA的位A17-A26和A31輸入外,還接收可編程的高速存取能力位(PCB)。在一實(shí)際構(gòu)成的實(shí)施方案中,這三位信息中的第一位代表對(duì)容許高速存取ROM空間的判斷。第二信息位則或者根據(jù)被譯碼的信息來促使譯碼器CADR輸出NCA,或者直接表明全部訪問均為不可作高速存取,亦就是說不管對(duì)CPULBA上地址所作的認(rèn)定而總是確定為NCA。最后,第三位信息在一種情況下,指明0~8兆字節(jié)的地址空間為可作高速存取運(yùn)行,而8~16兆字節(jié)的地址空間為不可作高速存取運(yùn)行的。在另一種情況下,此第三位信息則指明0-16兆字節(jié)范圍內(nèi)的地址空間全都是可作高速存取運(yùn)行的。如果希望的話,可將這一信息位的功能增強(qiáng)到直接反映由首先16兆字節(jié)到緊隨著的16兆字節(jié)范圍內(nèi)的狀態(tài)。當(dāng)然,這些特定的高速存取能力指示(或者他)對(duì)本發(fā)明并不是主要的。但它對(duì)安排CADR使其能對(duì)輸入迅速譯碼和產(chǎn)生NCA十分重要。在一實(shí)際構(gòu)成的實(shí)施方案中,為由CPULBA上的有效地址產(chǎn)生NCA的定時(shí)時(shí)隙是非常短的,在10ns的數(shù)量級(jí)。
CPUREADY作如下定義(見式7)。該方程式的第5行(等號(hào)的右側(cè))指明CPUREADY取決于NCA,即當(dāng)NCA隨同READYO一同被確認(rèn)時(shí),CPUREADY為無效。
在與CPUREADY同時(shí)被認(rèn)定時(shí),LEAB必定被確認(rèn)來將欲寫入的數(shù)據(jù)鎖存在DL中。信號(hào)LEAB由式8進(jìn)行定義(在下面)。它包括一置位項(xiàng)(第一行,等號(hào)的右側(cè))和二保持項(xiàng)(第二和第三行)。該置位項(xiàng)要求/BUSCYC386、/CPUREADY、(W/R)、CLK和ADC的組合。
在一實(shí)際構(gòu)成的本發(fā)明實(shí)施方案中,控制邏輯C(以及其他未作說明的控制邏輯,它們按如下面表示的另外的方程式1-11實(shí)現(xiàn))被作成可編程矩陣邏輯電路。熟悉本技術(shù)領(lǐng)域的人員雖然可看到,用其他通常的邏輯電路來實(shí)現(xiàn)也是可行的。
因之,依靠應(yīng)用圖4所示的外部邏輯電路(和下面結(jié)合邏輯方程所作的說明),只有對(duì)可作高速存取的訪問才能實(shí)現(xiàn)被寄存的寫操作。按定義可作高速存取的訪問的為32位的裝置,雖然將可能存在其他不可作高速存取的32位的裝置。為實(shí)現(xiàn)本發(fā)明所需的主要判斷是要決定一被寄存的寫操作是否合適。一旦作出這一決定后,它就由發(fā)出對(duì)DL和AL的恰當(dāng)?shù)男盘?hào)來實(shí)現(xiàn)。82385所產(chǎn)生的信號(hào)與在決定寄存寫操作方面是十分協(xié)調(diào)的。
從而,利用本發(fā)明就使得即使在系統(tǒng)母線和/或任選的特殊母線上連接有小于32位的裝置,亦容許進(jìn)行寄存的操作。
下面再來對(duì)前面已引用到的邏輯等式立即進(jìn)行重述。其中一些符號(hào)具有如下的相關(guān)涵義符號(hào)定義/負(fù)邏輯=等于一被記入的項(xiàng)=等于一組合項(xiàng)&邏輯“與”+邏輯“或”邏輯等式/BREADY385=/BUSCYC385&/BREADY&MISS1(1)/BT2=BUSCYC385&PIPECYC385&/BADS&CLK&BT2(2)+BUSCYC385&/PIPECYC385&BADS&CLK&NACACHE&BT2+MISS1&/BUSCYC385&/BADS&/(BW/R)&CLK&NCA&/BREADY+/MISS1&/BREADY&/BUSCYC385&CLK+/BT2&BREADY&NACACHE+/CLK&/BT2/BUFWREND=WBS&/BUSCYC385&/BREADY&CLK(3)/BUSCYC385=BUSCYC385&/BADS&CLK(4)+BUSCYC385&/PIPECYC385&CLK+BUSCYC385&/BT2&CLK+/BUSCYC385&BREADY+/BUSCYC385&/CLK
/BUSCYC386=BUSCYC386&/ADS&CLK&/RESET(5)+BUSCYC386&/PIPECYC386&CLK&/RESET+/BUSCYC386&CPUREADY&/RESET+/BUSCYC386&/CLK&/RESET/CPUNA=/MISS1&CLK&CPUNA&/NACACHE(6)+/MISS1&CLK&CPUNA&/BREADY&/BUSCYC385+/CPUNA&/CLK+/CPUNA&/MISS1&CLK+/CPUNA&CLK&BREADY+/CPUNA&BUSCYC385&NACACHE&CLK/CPUREADY=/READYO&/(W/R)(7)+/BRDYEN&/BREADY&MISS1&/BUSCYC385+/READYO387+/BREADY385&(W/R)&/LEAB+/READYO&(W/R)&NCA+/RDY387PAL
LEAB=/LEAB&/BUSCYC386&/CPUREADY&(W/R)&CLK&ADS(8)+LEAB&BUFWREND&/CLK+LEAB&WBS&CLK/MISS1=MISS1&BUSCYC385&CPUNA&/BADS&/(BW/R)&CLK&NCA(9)+MISS1&BUSCYC385&/BADS&/(BW/R)&CLK&NCA&/BREADY+/MISS1&/CLK+/MISS1&BREADY/PIPECYC385=PIPECYC385&/BADS&/BUSCYC385&CLK&/BREADY(10)+PIPECYC385&/MISS1&BT2&/BUSCYC385&CLK&/BREADY+/PIPECYC385&/CLK/PIPECYC386=(11)PIPECYC386&/ADS&CLK&/CPUREADY&/RESET&/BUSCYC386+/PIPECYC386&/CLK&/RESET
在上述邏輯等式中,下面這些信號(hào)在所引用的Intel出版物中作有說明或參照ADSBADSBRDYENBREADY(BW/R)實(shí)際上稱為BW/R,括號(hào)用來指明此整個(gè)一項(xiàng)是一個(gè)信號(hào)CLKBEADYORESETWBS(W/R)實(shí)際上稱為W/R,括號(hào)用來指明整個(gè)一項(xiàng)是一個(gè)信號(hào)ADS,在起作用時(shí)指明CPU本地母線230上的地址有效。BADS,在起作用時(shí)指明系統(tǒng)母線250上的地址有效。BRDYEN是82385的輸出,為READY信號(hào)的先頭信號(hào)。BREADY是由系統(tǒng)母線250發(fā)往CPU本地母線230的就緒信號(hào)。BW/R定義系統(tǒng)母線250為寫或讀。CLK為與處理器225同相位的處理器時(shí)鐘信號(hào)。READYO是82385就緒信號(hào)線上的另一輸出。RESET顯見的WBS指明寫緩存器的情況。(W/R)是CPU本地母線230所用的通常的寫或讀信號(hào)。
等式(1)-(11)以被定義過的信號(hào),所引用的Intel刊物中說明或參照的信號(hào)以及NCA、NACACHE、READYO387及RDY387PAL定義下列信號(hào)BREADY385BT2BUFWRENDBUSCYC385BUSCYC386CPUNALEABMISS1PIPECYC385PIPECYC386CPUREADY。
BREADY385是一個(gè)類似BREADY的信號(hào),它在一實(shí)際構(gòu)成的實(shí)施方案中被修正來適應(yīng)64K的高速存貯器。在32K高速存貯器的場(chǎng)合下(如生產(chǎn)廠家所推薦的)可用BREADY來代替BREADY385。
BT2反映系統(tǒng)母線250的狀態(tài)。BT2的狀態(tài)按所引用的Intel刊物定義。
BUFDWREND表示緩存寫操作周期結(jié)束。
BUSCYC385亦反映系統(tǒng)母線250的狀態(tài)。對(duì)于母線狀態(tài)BTI、BT1、BT1P它為高電平,向?qū)τ谀妇€狀態(tài)BT2、BT2P和BT2I它為低電平(這些也都是參照所引用的Intel出版物中的母線狀態(tài))。
BUSCYC386在CPU本地母線230狀態(tài)TI、T1、T1P、T2I時(shí)為高電平,在狀態(tài)T2時(shí)為低電平。除非T2I首先出現(xiàn),否則在狀態(tài)T2P時(shí)它亦為低電平。
CPUNA是去80386客許作流水線操作的信號(hào)。
LEAB是被寄存寫操作的鎖存啟動(dòng)信號(hào)(鎖存進(jìn)緩存器240)。
MISS1起作用時(shí)標(biāo)明此時(shí)為對(duì)可作高速存取裝置作64位讀時(shí)兩個(gè)操作周期中的第一操作周期。
PIPECYC385在BI1P(參照所引用Intel刊物中的一個(gè)母線狀態(tài))時(shí)起作用。
PIPECYC386在CPU本地母線230的狀態(tài)T1P時(shí)為低電平。
CPUREADY是80386的就緒輸入。
NCA是對(duì)CPU本地母線230上地址部分進(jìn)行譯碼所產(chǎn)生的信號(hào),在其起作用時(shí)表明為一不可作高速存取的訪問。進(jìn)行高速存取的可能性取決于一標(biāo)志部分(A31-A17)和可編程的定義什么標(biāo)志(如果存在任一標(biāo)志)是指可作高速存取(和對(duì)不可作高速存取的地址而言)的信息。
NACACHE是一類似于BNA信號(hào)的一個(gè)信號(hào)。BNA是一系統(tǒng)產(chǎn)生的請(qǐng)求由CPU本地母線230得到下一地址的信號(hào),也參照于所引用的Intel刊物。NACACHE與BNA不同之處僅在于,BNA的產(chǎn)生是針對(duì)32K高速存貯器,向NACACHE則是為64K高速存貯器產(chǎn)生的。只要高速存貯器是32K,那么如像所引用的Intel刊物中那樣,這里所說的NACACHE信號(hào)就可以BNA信號(hào)來代替。
READYO387是80387數(shù)學(xué)協(xié)作助理機(jī)的就緒輸出。
RDY387PLL是一用在未設(shè)置80387數(shù)學(xué)協(xié)作處理機(jī)場(chǎng)合的外部邏輯電路的輸出,以防止因缺少數(shù)學(xué)協(xié)作處理機(jī)而擾亂系統(tǒng)的運(yùn)行。
這樣就可顯見,本發(fā)明克服了動(dòng)態(tài)母線調(diào)整與被寄存寫操作之間可能存在的任何不協(xié)調(diào)性的問題。更具體地說,借助對(duì)在CPU本地母線230上認(rèn)定的地址是否存在于被確定為可作高速存取的地址區(qū)域內(nèi)的檢測(cè)來克服這種不協(xié)調(diào)性。被寄存的寫操作只容許作用于可作高速存取的裝置。CPUREADY信號(hào)的產(chǎn)生使CPU可進(jìn)行下一操作。它可能或者不可在正進(jìn)行中的操作完成之前產(chǎn)生。參照等式7,第一行所定義的項(xiàng)是關(guān)于讀操作的命中。此時(shí)的運(yùn)行與高速存貯器相互協(xié)作,而且是一零等待狀態(tài)的操作。因而CPUREADY即成為有效。第2行是關(guān)于高速存貯器讀未命中情況。CPUREADY只有在BREADY有效時(shí)才起作用,這就是說該操作周期是非寄存的。第4行是關(guān)于非寄存的寫,例如CPUREADY只有與BREADY385(與BREADY類似)同時(shí)才起作用。第5行是關(guān)于可作高速存取的寫操作(NCA無效時(shí)),因而它是一被寄存的操作,也就是說CPUREADY無需BREADY或BREADY385存在即可起作用。
在一實(shí)際構(gòu)成的本發(fā)明實(shí)施方案中,有關(guān)的輔助邏輯電路就是按照這里所列出的邏輯等式作成的可編程邏輯矩陣方式實(shí)施的。但閱讀了本說明書之后可以明顯看到,這里所述的邏輯等式無需作成可編程矩陣邏輯實(shí)施,而可能作成其他的邏輯電路型式。而且,利用本發(fā)明并不要求采用這里介紹的特定邏輯等式。因此,不應(yīng)按照這里描述的特定示例來看待本發(fā)明,而要根據(jù)所附列的權(quán)利要求來領(lǐng)解本發(fā)明的實(shí)質(zhì)內(nèi)容。
權(quán)利要求
1.一微型計(jì)算機(jī)系統(tǒng),設(shè)有一連接-CPU和一高速存貯器子系統(tǒng)的CPU本地母線,所述CPU具有根據(jù)在一寫操作完成前接收劑的-CPU就緒信號(hào)寄存寫操作的裝置;連接-隨機(jī)存取存貯器和多個(gè)可尋址功能單元的系統(tǒng)母線裝置,所述系統(tǒng)母線裝置在一寫操作完成時(shí)反回一就緒信號(hào);雙向耦合所述系統(tǒng)母線和所述CPU本地母線的裝置;以及有選擇地防止被寄存寫操作的邏輯裝置,其特征在于所述邏輯裝置包含有a)連接到所述CPU本地母線的地址母線部分的地址譯碼器裝置,用以產(chǎn)生一信號(hào)指明所認(rèn)定的所述CPU本地母線上的一個(gè)地址是與所述高速存貯器子系統(tǒng)相關(guān)的地址是圍之外的地址;和b)響應(yīng)于所述的在接收到由所述系統(tǒng)母線裝置發(fā)出的所述就緒信號(hào)之前用于抑制所述CPU就緒信號(hào)的信號(hào)裝置。
2.權(quán)利要求1所述系統(tǒng),其特征是一帶有許多特定選件單元接口的選件專用線,任一所述接口可連接一個(gè)或數(shù)個(gè)可尋址的特定選件單元,所述可尋址特定選件單元可以具有與所有所述其他部件相同或不相同的數(shù)據(jù)寬度;和雙向耦合所述選件專用母線到所述系統(tǒng)母線的第二耦合裝置,以便在一寫操作完成時(shí),所述系統(tǒng)母線將所述就緒信號(hào)發(fā)回到一個(gè)所述可尋址特定選件單元,籍此,所述邏輯裝置將有選擇地阻止對(duì)任一其地址不在與所述高速存貯器子系統(tǒng)有關(guān)的地址范圍之內(nèi)的所述特定選件單元進(jìn)行被寄存寫操作。
3.權(quán)利要求1所述系統(tǒng),其特征在于所述耦合裝置包括有一由所述CPU本地母線輸入和向所述系統(tǒng)母線輸出的地址緩存器,所述地址緩存器還進(jìn)而包括有一鎖存啟動(dòng)控制輸入端和一輸出啟動(dòng)控制輸入端;和一其第一接線端連接到所述CPU本地母線和其第二接線端連接到所述系統(tǒng)母線的雙向數(shù)據(jù)緩存器,所述雙向數(shù)據(jù)緩存器還具有一輸入啟動(dòng)控制輸入端,一輸出啟動(dòng)控制輸入端和一定向控制輸入端;和所述邏輯裝置還進(jìn)而包括有向所述地址緩存器和所述雙向數(shù)據(jù)緩存器產(chǎn)生全部所述控制輸入的控制裝置。
4.權(quán)利要求3所述系統(tǒng),其特征是所述邏輯裝置包括根據(jù)所述地址譯碼器裝置產(chǎn)生的表明確認(rèn)一地址是處于與所述高速存貯器子系統(tǒng)相關(guān)的地址范圍內(nèi)的信號(hào)并在接收到所述系統(tǒng)母線裝置的所述就緒信號(hào)之前產(chǎn)生所述CPU就緒信號(hào)響應(yīng)一信號(hào)的裝置。
5.權(quán)利要求4所述系統(tǒng),其特征是所述地址譯碼器裝置根據(jù)少于全部所述被認(rèn)定的地址來確定所述被認(rèn)定地址是否處在與所述高速存貯器子系統(tǒng)相關(guān)的范圍內(nèi)。
6.權(quán)利要求5所述系統(tǒng),其特征是響應(yīng)所述信號(hào)的所述裝置包括一可編程矩陣邏輯電路。
7.權(quán)利要求6所述的系統(tǒng),其特征是所述CPU包括-80386;所述高速存貯器子系統(tǒng)包括-82385高速存貯器控制的、一高速存貯器和所述可編程矩陣邏輯單元。
全文摘要
本發(fā)明提出了兼容性的邏輯裝置。以一地址譯碼器來對(duì)CPU本地母線上所認(rèn)定的地址的標(biāo)志部分進(jìn)行譯碼,來確定所認(rèn)定的地址是處于規(guī)定可作高速存取裝置的地址范圍之內(nèi)還是之外。任一可作高速存取的裝置都限定為32位寬,從而只允許對(duì)可作高速存取的裝置進(jìn)行寄存寫操作。對(duì)非高速存取裝置的寫操作周期禁止作寄存操作。
文檔編號(hào)G06F12/08GK1040875SQ89102629
公開日1990年3月28日 申請(qǐng)日期1989年4月25日 優(yōu)先權(quán)日1988年5月26日
發(fā)明者羅爾弗·木瑞·貝根, 帕特里克·莫里斯·布蘭德, 馬克·愛德華·迪安 申請(qǐng)人:國際商業(yè)機(jī)器公司