欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于雙微處理器的處理器系統(tǒng)的處理器接口片的制作方法

文檔序號(hào):6407921閱讀:195來(lái)源:國(guó)知局
專利名稱:用于雙微處理器的處理器系統(tǒng)的處理器接口片的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及處理器接口電路領(lǐng)域。特別是在本發(fā)明的一實(shí)施例中在微處理器或一組微處理器與其它處理器電路之間提供一種改進(jìn)的接口。
在多數(shù)情況下,微處理器設(shè)計(jì)得能比與其通信的外部組件運(yùn)行得更快。不幸的是,微處理器常常在外部裝置發(fā)生特定動(dòng)作前不能進(jìn)行處理,因此使用這種微處理器的處理器系統(tǒng)受到不利影響。這種瓶頸效應(yīng)的一個(gè)原因在于在同一集成電路即,芯片上的兩電路之間的通信比由相互芯片總線或其它接口分開(kāi)的兩電路之間的通信快得多。于是,與微處理器需快速交互作用的解決辦法之一是在微處理器片上設(shè)置像數(shù)據(jù)和指令超高速緩沖存貯器那樣的更多電路。然而,在微處理器片上增加更高等級(jí)的器件會(huì)使診斷錯(cuò)誤愈發(fā)困難。這是因?yàn)楫?dāng)一個(gè)內(nèi)部錯(cuò)誤在微處理器中得到檢測(cè)并從芯片濾出到診斷系統(tǒng)時(shí),微處理器連續(xù)操作改變著其內(nèi)部電路狀態(tài),診斷系統(tǒng)在出錯(cuò)時(shí)刻的狀態(tài)不再知道之前只有很少的調(diào)查錯(cuò)誤原因的時(shí)間。例如,如果一個(gè)數(shù)據(jù)錯(cuò)誤發(fā)生在微處理器的深內(nèi)層,但在輸出之前由微處理器的內(nèi)部邏輯檢測(cè)到并明確定位,則外部電路可能將它作為有效數(shù)據(jù)進(jìn)行動(dòng)作,因此使處理器系統(tǒng)不可靠。
微處理器的另一問(wèn)題是微處理器總線,絕大多數(shù)的微處理器請(qǐng)求和響應(yīng)這些請(qǐng)求都通過(guò)它。微處理器總線載有寫(xiě)請(qǐng)求及被寫(xiě)的數(shù)據(jù)、讀請(qǐng)求、返回給微處理器的讀和寫(xiě)的應(yīng)答和給微處理器的中斷信號(hào)。這種總線上的通信常常限制了能夠從微處理器接受和提供給它的數(shù)據(jù)的速度。
由上可見(jiàn),改進(jìn)微處理器的接口是需要的。
在本發(fā)明的處理器接口系統(tǒng)的一實(shí)施例中,提供了一種處理器接口片和維護(hù)診斷片,它們與設(shè)計(jì)成級(jí)聯(lián)方式運(yùn)行的兩個(gè)微處理器相耦連。該微處理器接口片包括級(jí)聯(lián)微處理器和主存貯器之間的接口邏輯,在微處理器和主存貯器之間為多個(gè)微處理器請(qǐng)求設(shè)置流水線的邏輯,在一個(gè)微處理器發(fā)出預(yù)取數(shù)據(jù)的讀請(qǐng)求之前預(yù)取數(shù)據(jù)的邏輯,不管微處理器設(shè)置的引導(dǎo)程序(boot)碼的固定存貯器地址允許從物理存貯器中任何地方中的引導(dǎo)程序碼產(chǎn)生引導(dǎo)程序的邏輯,和智能限制處理器總線上的在微處理器和處理器接口片之間的中斷信息流邏輯。維護(hù)診斷片包括若檢測(cè)到錯(cuò)誤時(shí),暫停任一微處理器操作、并在故障期間的微處理器的狀態(tài)變化到可能隱藏故障原因的數(shù)據(jù)的不同狀態(tài)之前讀出這些微處理器和與微處理器相連的次超高速緩沖貯存器(secondary cache)的狀態(tài)的邏輯。
對(duì)這里所述本發(fā)明的性質(zhì)和優(yōu)點(diǎn)的理解可參照下面說(shuō)明書(shū)部分和所附附圖得到認(rèn)識(shí)。


圖1顯示了本發(fā)明的包括兩個(gè)微處理器、微處理器接口片(PIC)和維護(hù)診斷片(MDC)的處理器系統(tǒng)的整體概示框圖;
圖2是說(shuō)明微處理器和維護(hù)診斷片之間跟蹤一個(gè)故障的交互作用的定時(shí)圖;
圖3進(jìn)一步詳細(xì)表明PIC的框圖,它包括一個(gè)引導(dǎo)程序地址翻譯電路,一個(gè)預(yù)取數(shù)隊(duì)列,一個(gè)中斷過(guò)濾器和請(qǐng)求流水線;
圖4是更詳細(xì)表明預(yù)取數(shù)隊(duì)列的方框圖;
圖5是更詳細(xì)表明引導(dǎo)程序地址翻譯電路的框圖;
圖6是由微處理器尋址的物理存貯器映象圖;
圖7是更詳細(xì)說(shuō)明中斷過(guò)濾器的方框圖;
圖8顯示三等級(jí)中斷優(yōu)先級(jí)的例子。
圖1是本發(fā)明處理器系統(tǒng)10的整體概示圖。在一較佳實(shí)施例中,處理器系統(tǒng)10包含兩個(gè)微處理器,和處理器板上的幾個(gè)特殊用途的芯片,然而其它結(jié)構(gòu)是可能的,例如包括在一個(gè)芯片上包含幾個(gè)電路或?yàn)閱蝹€(gè)功能設(shè)置幾個(gè)芯片。圖1所示的處理器系統(tǒng)10具有兩個(gè)微處理器12(0,1),一個(gè)維護(hù)和診斷片(MDC)14,一個(gè)處理器接口片(PIC)16,一個(gè)存貯器接口片(MIC)20,一個(gè)主存貯器22,一個(gè)次超高速緩沖存貯器30。還包括了一些未圖示的其它組件。
也設(shè)有幾個(gè)總線相互連接器件。處理器總線(Pbus)18耦連PIC16和微處理器12(0,1);維護(hù)總線(Mbus)24耦連MDC14到PIC16和MIC20并載有去和來(lái)自MDC14的診斷指令和數(shù)據(jù);內(nèi)部總線(Ibus)26將PIC16耦連到MDC14和MIC20;和次超高速緩沖存貯器總線28將微處理器12(0,1)耦連到次超高速緩沖存貯器30。
為了可靠性,幾個(gè)總線使用信息線和檢查線,這里信息線載有總線具有的獨(dú)立信號(hào)(如數(shù)據(jù)、指令、地址、控制信號(hào)等),而檢查線載有作用于信息線上值的函數(shù)的檢查信號(hào)和一個(gè)例如校驗(yàn)和、奇偶性、或其它糾錯(cuò)碼(ECC)操作的校驗(yàn)函數(shù)值。例如,Ibus26部分地包含32根信號(hào)線和4根奇偶線,這里每根奇偶線載有32根信息信號(hào)線中的8根線的偶校驗(yàn)。圖1中,某些總線沒(méi)有將檢查線與信息線分開(kāi)顯示。
微處理器12能以一個(gè)“全主控器”(complete master)模式工作,這里一個(gè)微處理器控制Pbus18和SC bus28兩者的信息線和檢查線,或它們能以“鎖步”(lockstep)或“部分主控器”(partial master)模式工作,這里每個(gè)微處理器12控制Pbus18和SCbus28的總線。為了可靠,兩個(gè)微處理器12都讀總線并執(zhí)行相同的指令,但是,只有一個(gè)微處理器,一總線主控器驅(qū)動(dòng)該總線的信息線,而另一微處理器12監(jiān)視該信息線并將那些線上的值與若它作為那總線的主控器時(shí)已在那些線上驅(qū)動(dòng)的值(它的“潛在”輸出)進(jìn)行比較。如果非主微處理器的值不符合總線信息線上的值,則它觸發(fā)一個(gè)“輸出失配”的故障,這種情況與圖2相聯(lián)系解釋。為了進(jìn)一步的可靠性,一總線的主控器不驅(qū)動(dòng)該總線的檢查線,而非主控器則驅(qū)動(dòng)。這樣,如果微處理器工作正常,但相互不同步,則總線上的其它裝置因檢查線將不可能正確會(huì)注意到錯(cuò)誤。
圖1表明一個(gè)微處理器12(0)作為 SCbus28的主控器并標(biāo)以“SC Master”(Secondary Cache Master),而另一微處理器12(1)是Pbus18的主控器且標(biāo)為“SIMaster”(System Interface Master-Pbus18是這種情況下的“系統(tǒng)接口”)。于是,當(dāng)以鎖步方式工作時(shí),SC Master 12(0)驅(qū)動(dòng)SCbus28的信息線(地址/數(shù)據(jù)/糾錯(cuò)碼)并監(jiān)視SCbus28的檢查線(Adr/cnt奇偶-地址和控制線奇偶),而SIMaster12(1)驅(qū)動(dòng)SCbus28的檢查線和監(jiān)視SC總線(bus)28的信息線。相反,SI主控器(master)12(1)驅(qū)動(dòng)Pbus18的信息線(地址/數(shù)據(jù))并監(jiān)視Pbus18的檢查線(糾錯(cuò)碼/奇偶),而SC主控器12(0)驅(qū)動(dòng)Pbus18的檢查線并監(jiān)視其信息線。
在某些實(shí)施例中,一個(gè)微處理器可以是SC主控器和SI主控器兩者,換言之,一個(gè)是全主控器”,而另一微處理器是一個(gè)“全聽(tīng)者(complete listener)”,它復(fù)制完全主控器的操作,而不驅(qū)動(dòng)任何線,除了可能出現(xiàn)的它的故障線外,在這種情況下,它不與全主機(jī)分享,雖然SC總線(bus)28的ECC線實(shí)際上是檢查線,但它們與信息線相組合。這是由于ECC線由次超高速緩沖存貯器30用于作錯(cuò)誤檢查,且如果所有進(jìn)入次超高速緩沖存貯器30的線來(lái)自同樣的微處理器,則次超高速緩沖存貯器30能運(yùn)行得更快而不用顧慮可能出現(xiàn)在兩微處理器12(0,1)之間的定時(shí)關(guān)系方面的輕微變化,所述變化,使到達(dá)次超高速緩沖存貯器30的地址和數(shù)據(jù)與ECC信號(hào)在時(shí)間上有偏移。這種定時(shí)關(guān)系的變化可能由于制造微處理器時(shí)的處理工藝的變化引起的。
在一較佳實(shí)施例中,微處理器12(0,1)是由MTI division ofsilicon Graphics公司制造的R4400微處理器。
除總線(Ibus、Pbus、SC bus、Mbus)外,還有各組件之間的其它信號(hào)線。從PIC16至MDC14的出錯(cuò)信號(hào)線載有一個(gè)CE/UCE出錯(cuò)信號(hào),這表明PIC在Pbus上遇到一個(gè)可校正或不可校正的錯(cuò)誤。如果Pbus的檢查線上的校驗(yàn)(check)值不能正確地反映Pbus的信息線上的信息值校驗(yàn)函數(shù),則PIC確立CE/UCE出錯(cuò)信號(hào)。
在每個(gè)微處理器12和MDC之間設(shè)有FAULT*(故障)、RESET*(復(fù)位)和MODEIN(狀態(tài)進(jìn)入)三根線。FAULT*線由微處理器檢測(cè)到故障時(shí)進(jìn)行低電位驅(qū)動(dòng)。RESET*和MODEIN線由MDC14驅(qū)動(dòng)。RESET*信號(hào)為低電位有效信號(hào),當(dāng)該信號(hào)為低電平時(shí)保持微處理器復(fù)位狀態(tài),而MODEIN信號(hào)控制微處理器的模式。
當(dāng)RESET*信號(hào)被確立時(shí)(由MDC14保持其低電平)則MODEIN信號(hào)控制著FAULT*線上的信號(hào)含義。
圖2更詳細(xì)地顯示了FAULT*、RESET*和MODEIN信號(hào)的相互作用。圖2是一個(gè)時(shí)間圖,它被分成標(biāo)有A-K的周期時(shí)間,它們是些不等的時(shí)間間隔,但區(qū)分出這些信號(hào)線上的不同的活動(dòng)周期。這些周期時(shí)間間隔簡(jiǎn)明地描述在表1中。
時(shí)間間隔說(shuō)明ASI主控器和/或SC主控器確立它們的FAULT*線由MDC對(duì)其檢測(cè)。
BMDC確立RESET*信號(hào)給兩個(gè)微處理器。
CMDC繼續(xù)確立兩者的RESET*信號(hào)(即保持RESET\+*線為低電平)且確立兩MODEIN信號(hào)(驅(qū)動(dòng)MODEIN線為高電平),在上述狀態(tài)中,每個(gè)微處理器的FAULT*線表明(向低電平變化)那個(gè)微處理器是否相信一個(gè)輸出失配是引起錯(cuò)誤的第一個(gè)錯(cuò)誤。
DMDC繼續(xù)確立兩個(gè)RESET*信號(hào)并驅(qū)動(dòng)兩MODEIN線為高電平,在這種情況下,每個(gè)微處理器的FAULT*線表明(向低電平變化時(shí))微處理器是否相信出現(xiàn)一個(gè)輸入錯(cuò)誤。
EMDC僅釋放SI主控器的RESET*信號(hào),在這點(diǎn)上SI主控器成為控制SC bus28、Pbus18和兩總線的檢查線的全主控器。
FMDC再次確立SI主控器的RESET*信號(hào)并不確立SC主控器的RESET*信號(hào),在這種情況下,SC主控器變成全主控器。在這時(shí)間周期的未端,MDC再次確立SC主控器的RESET*信號(hào)。
GMDC不確立RESET*信號(hào)給兩微處理器,且它們作為部分主機(jī)運(yùn)行。在該期間的未端MDC再次確立兩者的RESET*信號(hào)。
HMDC不確立給SI主控器的RESET*信號(hào),并保持(繼續(xù)確立)給SC主控器的RESET*信號(hào)。在該周期中,SI是全主控器。
IMDC再次確立SI主控器的RESET*信號(hào)并不再給SC主控器確立RESET*信號(hào),在該期間,SC主控器是全主控器。
JMDC確立兩者RESET*信號(hào)一段時(shí)間。
KMDC對(duì)兩者都不確立RESET*信號(hào),且兩微處理機(jī)變成部分主控器。
表1為跟隨故障的處理周期。
時(shí)間圖(周期A)或者以SC主控器(圖1中12(0)所示)或者以SI主控器(圖1中12(1)所示)檢測(cè)到一個(gè)故障開(kāi)始,并通過(guò)將其FAULT*線驅(qū)動(dòng)為低電平給以確立。該信號(hào)由MDC14接受。對(duì)某些錯(cuò)誤、如PIC用不正確的奇偶性驅(qū)動(dòng)Pbus18,兩微處理器12都可能對(duì)它們分別的出錯(cuò)線確立。對(duì)于其它錯(cuò)誤,僅一個(gè)微處理器12可檢測(cè)到錯(cuò)誤。
在任何情況下,當(dāng)出現(xiàn)錯(cuò)誤時(shí),MDC14必須迅速測(cè)定微處理器12的狀態(tài)。微處理器12的狀態(tài)就是它內(nèi)部寄存器和標(biāo)志位的值。對(duì)于完全的診斷,MDC14也必須獲取每個(gè)微處理器12的主超高速緩沖存貯器的內(nèi)容和共享的次超高速緩沖存貯器30(見(jiàn)圖1)的內(nèi)容。當(dāng)微處理器用于其指令和數(shù)據(jù)分別貯存的情況下,則主超高速緩沖存貯器包括一個(gè)主指令超高速緩沖存貯器和一個(gè)主數(shù)據(jù)超高速緩沖存貯器。
一旦MDC接收到FAULT*信號(hào),則MDC確立兩微處理器的RESET*線期間B。當(dāng)RESET*信號(hào)被確立時(shí),則微處理器進(jìn)入除FAULT*線外其所有輸出均為三態(tài)輸出狀態(tài)。這允許其它鎖步微處理器能完全控制各總線而不會(huì)有干擾。微處理器12包含其中一位能被置位且復(fù)位后能被記憶的內(nèi)部邏輯。該位表明當(dāng)處于部分主控器模式時(shí),微處理器12是一個(gè)SI主控器還是一個(gè)SC主控器。每當(dāng)微處理器12復(fù)位且該復(fù)位至少保持某個(gè)預(yù)定時(shí)間量時(shí),則微處理器的主控器模式在全主控器模式和部分主控器模式之間翻轉(zhuǎn)(toggle)。
除了保持微處理器12處于復(fù)位狀態(tài)外,MDC也在Mbus24上發(fā)送一個(gè)保持信號(hào)以保持耦連到Ibus26的裝置的狀態(tài)。
當(dāng)處于復(fù)位模式時(shí),微處理器12中的邏輯在FAULT*線上進(jìn)一步提供取決于MODEIN線(周期B、C)的狀態(tài)的錯(cuò)誤指示。當(dāng)MODEIN線為低電平時(shí),如果一個(gè)輸出失配首先觸發(fā)錯(cuò)誤線產(chǎn)生起始FAULT*脈沖,則FAULT*線為低電平(邏輯O)。如上面所解釋,當(dāng)由另一微處理器驅(qū)動(dòng)的一根線被驅(qū)動(dòng)到與該微處理器的潛在輸出的不同值上時(shí),可從該微處理器得到一個(gè)輸出失配出錯(cuò)。除非輸出邏輯是錯(cuò)誤的,否則一個(gè)微處理器不能由邏輯檢測(cè)到它正在驅(qū)動(dòng)的線上的一個(gè)輸出失配。由于每個(gè)微處理器12是某些線的主控器,所以輸出失配指示將表明在SC bus28上,或在Pbus18上可能出現(xiàn)的失配的線。如果檢測(cè)到一個(gè)輸出失配,則由檢測(cè)該錯(cuò)誤的微處理器將FAULT*線驅(qū)動(dòng)到低電平(邏輯O)。
接著在周期C中,從FAULT*線讀出來(lái)自每個(gè)微處理器12的輸入故障歷史位。當(dāng)維持RESET*線低電位的MDC將MODEIN線驅(qū)動(dòng)到高電平時(shí),微處理器12在它們的FAULT*線上輸出一個(gè)輸入故障歷史位,并將這些FAULT*線驅(qū)動(dòng)為低電位以指明一個(gè)輸入故障。該輸入故障歷史位不表明該輸入故障是所發(fā)生的第一故障,而只是表明自輸入故障位被復(fù)位以來(lái)的某個(gè)時(shí)刻確實(shí)出現(xiàn)了輸入故障。
在MDC檢測(cè)到該故障后,MDC將診斷碼裝入微處理器的存貯器22中的引導(dǎo)程序存貯單元上。該引導(dǎo)程序存貯單元是復(fù)位后由微處理器讀出的第一指令存貯單元(盡管,按下面的說(shuō)明,該地址可由引導(dǎo)程序地址再定位器194再定位給物理存貯器的存貯單元)。
一旦該診斷碼被裝入,則RESET*信號(hào)不再確立給微處理器12(1)(SI主控器處于部分主控器模式),且它如上面所述作為全主控機(jī)運(yùn)行。該診斷碼使微處理器12(1)轉(zhuǎn)貯它的狀態(tài)和它的主超高速緩沖存貯器的內(nèi)容(周期E)。診斷碼通常這樣寫(xiě)以使運(yùn)行該碼時(shí)不使用主超高速緩沖存貯器,結(jié)果是它首先能被讀而不受到破壞。
由于微處理器12(0)上的RESET*線仍被確立,所以那微處理器的輸出線處于3態(tài)。這允許微處理器12(1)運(yùn)行診斷碼使它作轉(zhuǎn)貯而不受微處理器12(0)的干擾。然后所轉(zhuǎn)貯的數(shù)據(jù)由PIC接收并傳遞給MIC20以存貯在存貯器22中用于以后的分析。當(dāng)然,給出的是已產(chǎn)生的故障,兩微處理器12的任一個(gè)可能不能正常運(yùn)行且可能干擾到診斷數(shù)據(jù)的收集。
在期間(周期)E的末端,微處理器12(1)的RESET*線再次被確立。在周期F開(kāi)始時(shí),解除微處理器12(0)的RESET*線的確立并且它開(kāi)始運(yùn)行診斷碼以轉(zhuǎn)貯它的狀態(tài)和主超高速緩沖存貯器。一旦兩微處理器12已轉(zhuǎn)貯了它們的狀態(tài)和主超高速緩沖存貯器,則次超高速緩沖存貯器30需要轉(zhuǎn)貯。
因?yàn)镸DC14不直接連到SC bus28,所以次超高速緩沖存貯器30必須通過(guò)微處理器12之一轉(zhuǎn)貯。為了這個(gè)目的,MDC14能夠直接與SC bus28連接,但連接另一裝置到SC bus28會(huì)降低它的響應(yīng)時(shí)間,所以MDC14通過(guò)微處理器12來(lái)讀次超高速緩沖存貯器30。直到引起故障的問(wèn)題被診斷為止,如果有一個(gè)不知道哪個(gè)微處理器12出故障,所以次超高速緩沖存貯器總是用兩個(gè)鎖步操作的微處理器來(lái)讀出,然后分別使用各微處理器提供三份作分析用的次超高速緩沖存貯器的拷貝。
如果在鎖步的微處理器12(0,1)讀出次超高速緩沖存貯器30期間出現(xiàn)輸出失配,則對(duì)其不加考慮。因?yàn)槊總€(gè)微處理器12當(dāng)它的復(fù)位線被釋放時(shí)會(huì)置為部分主控器模式,所以在鎖步(兩個(gè)部分主控器)模式(周期G)下首先讀次超高速緩沖存貯器30。注意,為了使SC主控器成為部分主控器,則SC主控器在周期F和G之間必須已復(fù)位某一定時(shí)間,如圖2中所示。
在周期G中,兩微處理器12運(yùn)行相同的碼,該碼指令它們把次超高速緩沖存貯器30的內(nèi)容轉(zhuǎn)儲(chǔ)到PIC16,并通過(guò)它給MIC20以便存貯在存貯器22中。如果在該轉(zhuǎn)貯期間產(chǎn)生輸出失配,則對(duì)一FAULT*線確立,但是MDC并不對(duì)其加以考慮(雖然可注意到并被MDC記錄)。當(dāng)然,診斷碼通常這樣來(lái)寫(xiě)以使運(yùn)行該碼時(shí)不使用次超高速緩沖存貯器。
在周期H期間,微處理器12(1)作為完全主控器轉(zhuǎn)貯次超高速緩沖存貯器30的內(nèi)容,并在周期I中,微處理器12(0)作為全主控器轉(zhuǎn)貯次超高速緩沖存貯器30的內(nèi)容。
周期J表明在微處理器12(0)中復(fù)位線翻轉(zhuǎn)部分/全主控器模式所需要的一定時(shí)間間隔。一旦狀態(tài)和每個(gè)微處理器12的主超高速緩沖存貯器和次超高速緩沖存貯器30已轉(zhuǎn)貯,則MDC14通過(guò)不確立RESET*線能進(jìn)入分析該轉(zhuǎn)貯或冷復(fù)位微處理器12(周期K)。
圖3更詳細(xì)地顯示了PIC16結(jié)構(gòu)。該P(yáng)IC包含許多未顯示的元件,并粗略地分成-Pbus接口部分180、-Ibus接口部分182,一請(qǐng)求流水線(pipeline)195,一預(yù)取隊(duì)列196,和一中斷過(guò)濾器198。
Pbus接口部分180包含用于從Pbus18讀數(shù)據(jù)和把來(lái)自PIC16的幾個(gè)其它組件的數(shù)據(jù)輸出到Pbus18的邏輯。圖3所示的Pbus接口部分180的組件包含耦連到Pbus18的多位輸入驅(qū)動(dòng)器202,耦連到輸入驅(qū)動(dòng)器202的Pbus輸入寄存器250,在輸入寄存器250輸出的一命令通道和預(yù)取隊(duì)列196之間耦連的一預(yù)取隊(duì)列監(jiān)視器254、具有從一多路轉(zhuǎn)接控制器256接收的選擇輸入和耦連到一Pbus輸出寄存器248的輸出的一Pbus輸出多路轉(zhuǎn)接器246,該寄存器248依次耦連到一多位輸出驅(qū)動(dòng)器252的一輸入端。寄存器250的輸出分成一命令通道和一寫(xiě)數(shù)據(jù)通道,該命令通道指向預(yù)取隊(duì)列監(jiān)視器254和請(qǐng)求流水線195,而該寫(xiě)數(shù)據(jù)指向請(qǐng)求流水線195的寫(xiě)緩沖器208。
Ibus接口部分182包含用于從Ibus26讀數(shù)據(jù)和將來(lái)自PIC16的幾個(gè)其它組成的數(shù)據(jù)輸出到Pbus26的邏輯。圖3所示Ibus接口部分182的組成包含連接Ibus26的第二多位輸入驅(qū)動(dòng)器242,連接輸入驅(qū)動(dòng)器242的Ibus輸入寄存器244,具有從第二多路轉(zhuǎn)接控制器212接收的選擇輸入和連接到引導(dǎo)程序地址再定位器194的輸出的Ibus輸出多路轉(zhuǎn)接器210,該再定位器194輸出到依次連接第二多位輸出驅(qū)動(dòng)器214的輸入端的Ibus輸出寄存器240。寄存器244的輸出分成兩個(gè)輸出,其一個(gè)輸出用于中斷進(jìn)入中斷過(guò)濾器198,而另一輸出用于存貯讀回答進(jìn)入預(yù)取隊(duì)列196,現(xiàn)在參見(jiàn)圖3進(jìn)一步詳細(xì)描述請(qǐng)求流水線195。按照下面的請(qǐng)求流水線195的描述,預(yù)取隊(duì)列196的說(shuō)明請(qǐng)參照?qǐng)D4,而中斷過(guò)濾器198的描述請(qǐng)參照?qǐng)D7。
請(qǐng)求流水線195包含一流水線尾寄存器PTAIL(DMI)204(1),一流水線頭寄存器PHEAD(DMO)204(2),一流水線控制器206,和一寫(xiě)緩沖器208。寫(xiě)緩沖器208包含一用于表明寫(xiě)緩沖器是滿還是空的滿/空標(biāo)志位209。流水線控制器206也包含一表明寫(xiě)緩沖器208的空或滿的程序的寄存器(未圖示),和一個(gè)能與該寄存器比較以確定是發(fā)送輸入寫(xiě)請(qǐng)求給Ibus26還是等待寫(xiě)緩沖器208進(jìn)一步寫(xiě)入的可編程閾值(也未圖示)。
一個(gè)如表明其請(qǐng)求是存貯器讀請(qǐng)求和表明要讀地址的微處理器請(qǐng)求的命令部分,或是存貯在流水線尾、流水線頭中,或是直接傳送到多路轉(zhuǎn)接器210并加到Ibus26上。在某些情況下,一個(gè)存貯器讀請(qǐng)求可能不到達(dá)該請(qǐng)求流水線,而會(huì)通路到預(yù)取隊(duì)列196。當(dāng)微處理器要讀的數(shù)據(jù)已存在預(yù)取隊(duì)列中時(shí)會(huì)出現(xiàn)這種情況。這種情況是通過(guò)將讀請(qǐng)求的地址部分與用于預(yù)取隊(duì)列196的緩沖器的所存貯的地址標(biāo)識(shí)符相比較測(cè)定的。然而,如果讀請(qǐng)求確實(shí)進(jìn)入請(qǐng)求流水線195,則它能直接通過(guò)請(qǐng)求流水線195傳送或存貯在PTAIL或PHEAD中。如果PTAIL和PHEAD為空且Ibus26空閑,則讀請(qǐng)求直接傳送到多路轉(zhuǎn)接器210。
如果Ibus26忙,則讀請(qǐng)求放入PHEAD,且流水線控制器206在Ibus18上返回一個(gè)請(qǐng)求接受給微處理器,以便微處理器能繼續(xù)運(yùn)行。如果PHEAD占用,則讀請(qǐng)求放入PTAIL,并當(dāng)PHEAD空時(shí)移入PHEAD;流水線控制器206再返回一個(gè)請(qǐng)求接受給微處理器。如果PTAIL也被占用,那么讀請(qǐng)求保持在輸入寄存器250中,且流水線控制器不回送一個(gè)請(qǐng)求接受。直到流水線控制器206回送一個(gè)請(qǐng)求接受為止(這時(shí)讀請(qǐng)求最后裝入PTAIL或PHEAD,或送到Ibus26),微處理器避免使用Pbus18發(fā)送更多的請(qǐng)求。
寫(xiě)請(qǐng)求被放入PTAIL204(1)且寫(xiě)數(shù)據(jù)從Pbus18上采集下來(lái)進(jìn)入寫(xiě)緩沖器208。當(dāng)寫(xiě)緩沖器208滿時(shí),則滿/空標(biāo)志位109置為“滿”。當(dāng)數(shù)據(jù)的閾值量裝入寫(xiě)緩沖器208時(shí),則流水線控制器206將寫(xiě)請(qǐng)求從PTAIL移到PHEAD。如果Ibus26可用,則寫(xiě)請(qǐng)求移至那兒,且當(dāng)寫(xiě)請(qǐng)求和所隨數(shù)據(jù)送到該總線上時(shí),則滿/空標(biāo)志位置為“空”。在圖3所示實(shí)施例中,一次僅一個(gè)寫(xiě)請(qǐng)求能處于請(qǐng)求流水線中,但是對(duì)于總線性能和所分配的芯片區(qū)域具有不同限制的其它實(shí)施例可具有多個(gè)寫(xiě)緩沖寄或兩個(gè)以上流水線級(jí)204。
為了避免發(fā)送廢棄數(shù)據(jù)給微處理器,預(yù)取隊(duì)列監(jiān)視器254監(jiān)視寫(xiě)請(qǐng)求并向預(yù)取隊(duì)列196發(fā)信號(hào),以使該預(yù)取隊(duì)列已從由寫(xiě)請(qǐng)求要寫(xiě)的存貯器存貯單元所檢索出的任何數(shù)據(jù)無(wú)效。連接流水線控制器206和多路轉(zhuǎn)接控制器212的虛線用來(lái)表明流水線控制器206送信號(hào)給多路轉(zhuǎn)接控制器212,如有這種情況請(qǐng)求流水線195的輸出將被輸出到Ibus26上。
由于當(dāng)一個(gè)寫(xiě)請(qǐng)求和它的寫(xiě)數(shù)據(jù)在PIC16中構(gòu)成時(shí)僅訪問(wèn)Ibus26,所以Ibus26是足夠使用的。由于要得到所有的寫(xiě)數(shù)據(jù)需要幾個(gè)Pbus18的總線周期,所以直到寫(xiě)緩沖器208至少充填到存貯在流水線控制器206中的可編程閾值為止,Ibus26是不用的。
圖4更詳細(xì)地顯示了預(yù)取隊(duì)列196。預(yù)取隊(duì)列196包含一控制狀態(tài)機(jī)312,一最新使用寄存器(MRU)310,和兩個(gè)緩沖器(PFQ0,PFQ1226(0.1)。MPU310指向最新使用緩沖器226。每個(gè)緩沖器包括8數(shù)字和相聯(lián)的奇偶位存貯器,一個(gè)地址標(biāo)識(shí)符寄存器302,一有效性標(biāo)志位304,一硬故障標(biāo)志位306,和一不可校正存貯器錯(cuò)誤(UCME)標(biāo)志位308。控制狀態(tài)機(jī)312通過(guò)總線接口寄存器耦連到Ibus26和Pbus18,并且被連接用來(lái)讀和寫(xiě)存貯器區(qū)和每個(gè)緩沖器226的各標(biāo)志位??刂茽顟B(tài)機(jī)312也接收來(lái)自預(yù)取隊(duì)列監(jiān)視器254的信號(hào),這些信號(hào)用來(lái)將預(yù)取數(shù)據(jù)加給Pbus18并使正被讀入緩沖器226之后的已寫(xiě)數(shù)據(jù)無(wú)效??刂茽顟B(tài)機(jī)312包含一個(gè)經(jīng)多路轉(zhuǎn)換器210形成存貯器讀請(qǐng)求的出口。
預(yù)取隊(duì)列196操作如下。對(duì)于非預(yù)取操作,PFQ0用作一個(gè)Ibus緩沖器。對(duì)于預(yù)取操作,或通過(guò)監(jiān)視器254或由Ibus26來(lái)的數(shù)據(jù),使控制狀態(tài)機(jī)312知道一個(gè)讀請(qǐng)求的讀地址。然后控制狀態(tài)機(jī)312從跟隨實(shí)際被請(qǐng)求的數(shù)據(jù)塊的地址產(chǎn)生數(shù)據(jù)的請(qǐng)求,或在Ibus26上形成如在讀申請(qǐng)中所請(qǐng)求數(shù)據(jù)兩倍那么多的一個(gè)單個(gè)請(qǐng)求。作為實(shí)際被請(qǐng)求的數(shù)據(jù)塊在Pbus18上一直送到微處理器,且另一半存貯在預(yù)取隊(duì)列緩沖器226中直至被請(qǐng)求為止。
假定MRU310已表明PFQ1最新被使用,且兩個(gè)有效性標(biāo)志位304(0,1)都已復(fù)位。當(dāng)一讀請(qǐng)求送給PIC16時(shí),則預(yù)取隊(duì)列不能填入讀請(qǐng)求,所以該請(qǐng)求由請(qǐng)求流水線195將其放到Ibus26上。一個(gè)通常的讀請(qǐng)求請(qǐng)求8個(gè)字,但是為了填預(yù)取隊(duì)列則Ibus26上的請(qǐng)求則請(qǐng)求16個(gè)字。如果該16字請(qǐng)求越過(guò)一個(gè)DRAM(動(dòng)態(tài)隨機(jī)存取存貯器)的頁(yè)界面,那么該請(qǐng)求作為兩個(gè)8字請(qǐng)求發(fā)出。當(dāng)這16個(gè)字返回時(shí),則8個(gè)字送去填該請(qǐng)求,而另8個(gè)字存貯在PFQ0(最舊的緩沖器)中。MRU310翻轉(zhuǎn)指向PFQ1,標(biāo)識(shí)符寄存器302(0)用存貯在PFQ0中的后8個(gè)字的地址更新,且有效性標(biāo)志位304(0)置位。
如果在讀前8個(gè)字期間,產(chǎn)生一個(gè)硬故障即UCME,則這種狀況的指示傳送到微處理器。然而如果這種錯(cuò)誤出現(xiàn)在后8個(gè)字中,則微機(jī)實(shí)際請(qǐng)求引起該錯(cuò)誤的數(shù)據(jù)之前該指示是不會(huì)傳送給微處理器的。如果通過(guò)讀后8個(gè)字產(chǎn)生硬故障,則硬故障標(biāo)志位306(0)置位,如果讀后8個(gè)字出現(xiàn)UCME,則UCME標(biāo)志位308(0)置位。
當(dāng)PFQ監(jiān)視器254表明對(duì)于一個(gè)與標(biāo)識(shí)符寄存器302(0,1)之一相匹配的地址發(fā)出一個(gè)讀請(qǐng)求時(shí),該請(qǐng)求由預(yù)取隊(duì)列填寫(xiě),且填寫(xiě)該請(qǐng)求的緩沖器226由復(fù)位它的有效性標(biāo)志位304來(lái)標(biāo)以無(wú)效。任何時(shí)候只要存在一個(gè)無(wú)效的緩沖器226,則另8個(gè)字能被獲取,結(jié)果預(yù)取隊(duì)列196幾乎不會(huì)成為數(shù)據(jù)流的瓶頸。當(dāng)一寫(xiě)請(qǐng)求送給請(qǐng)求流水線195時(shí),則PFQ監(jiān)視器254將該寫(xiě)地址加給控制狀態(tài)機(jī)312,該狀態(tài)機(jī)312將該地址與標(biāo)識(shí)符寄存器302(0,1)進(jìn)行比較。如果該寫(xiě)地址與任一標(biāo)識(shí)符寄存器相匹配,則控制狀態(tài)機(jī)312復(fù)位與該匹配標(biāo)識(shí)符寄存器相關(guān)聯(lián)的緩沖器226的有效性標(biāo)志位304。
圖5更詳細(xì)地顯示了引導(dǎo)程序(boot)地址再定位器194。在圖5中,引導(dǎo)程序地址再定位器194包含一個(gè)引導(dǎo)程序外矢量指示寄存器(BEV-PIC)218,它用于存貯表明引導(dǎo)程序地址再定位是否執(zhí)行的一位(bit);兩位引導(dǎo)程序地址寄存器220;六個(gè)雙輸入多路轉(zhuǎn)接器402(1-6),一個(gè)與門(mén)400和一個(gè)異或(XOR)門(mén)404。一個(gè)地址包含32位和4個(gè)奇偶位,一個(gè)奇偶位對(duì)應(yīng)于地址的一個(gè)字節(jié)(8位)。奇偶位為偶數(shù)奇偶,以致dmo_γ_pb[3]是dmo_γ[31∶24]的一個(gè)XOR,dmo_γ_Pb(2)是dmo_γ(23∶16)的一個(gè)XOR,依此類推。
寄存器220和BEV_PIC218能以若干方式置位,如通過(guò)MDC14可對(duì)這些方式進(jìn)行控制。一種MDC14插值進(jìn)入寄存器的方法,是通過(guò)把所需要的值插入掃描數(shù)據(jù)并在寄存器上進(jìn)行掃描,讀出它們的當(dāng)前內(nèi)容,同時(shí)插入新內(nèi)容。
引導(dǎo)程序再定位器194有一總線輸入,一總線輸出、和一指明該總線內(nèi)容是否為要放到Ibus26上的地址的輸入。如果該總線內(nèi)容不是要放到Ibus上的地址,則該數(shù)據(jù)通過(guò)引導(dǎo)程序地址再定位器而不修改。與門(mén)400有兩個(gè)輸入端,一個(gè)來(lái)自BEV-PIC218而另一個(gè)來(lái)自表明輸入是否為用于Ibus26的地址的一輸入端。如果兩者都為真,那么與門(mén)400輸出邏輯1(SELECT=1)給多路轉(zhuǎn)接器402(1…6)的選擇輸入端,這樣在總線上產(chǎn)生地址的再定位。然而,如果與門(mén)400輸出邏輯0(SELECT=0),則總線上的數(shù)據(jù)通過(guò)引導(dǎo)程序地址再定位器194而不變化。
表2顯示了多路轉(zhuǎn)接器的邏輯和它對(duì)地址線各位的作用。
Line(s) SELECT=0 SELECT=131:24 dmo_a[31:24] 023:22 dmo_r[23:22] 021 dmo_r[21] boot_adr[1]20:17 dmo_r[20:17] 016 dmo_r[16] boot_adr
15:08 dmo_r[15:08] dmo_r[15:08]07:00 dmo_r
dmo_r
parity3 xor(dmo_r[31:24]) 0parity2 xor(dmo_r[23:16]) xor(dmo_r[21:16])parity1 xor(dmo_r[15:08]) xor(dmo_r[15:08])parity0 xor(dmo_r
) xor(dmo_r
)表2.引導(dǎo)程序再定位尋址圖6顯示從OX00000000到OXFFFFFFFF的32位地址的存貯映象,這表明引導(dǎo)程序地址再定位的作用。在一處理器系統(tǒng)的實(shí)施例中,操作系統(tǒng)希望存貯在以O(shè)X00000000起始的低地址的物理存貯器中,并且分段成32、64、128,或256兆字節(jié)(MB)。然而,微處理器12希望在OXIFC0OOOO處找到引導(dǎo)程序碼?;蛲ㄟ^(guò)使用至少508Mb的存貯器并分隔出OXOOOOOOOO至OXIFCOOOOO的空間,或通過(guò)在OXIFCOOOOO處添加一個(gè)小存貯器,它含有包括一轉(zhuǎn)移到該物理存貯器中的一存貯單元的碼,就能同時(shí)滿足上述兩者的需要。當(dāng)微處理器12正在運(yùn)行中,它能用它的內(nèi)部翻譯后備緩沖區(qū)(TLB)執(zhí)行虛擬存貯器地址翻譯,但是隨著一個(gè)復(fù)位,它自己還不能構(gòu)成虛擬存貯器操作。引導(dǎo)程序碼在這種建立中起幫助作用,所以該引導(dǎo)程序碼必須定位進(jìn)或再定位于微處理機(jī)12所希望的那一個(gè)地址。
4個(gè)物理地址空間部分(標(biāo)以00,01,10,和11)可用于引導(dǎo)程序碼。由于這些部分全位于第一個(gè)4MB存貯器內(nèi),所以它們?nèi)嘉挥谏厦嬗懻摰膶?shí)施例的所安裝的物理存貯器內(nèi)。引導(dǎo)程序地址再定位器194將地址再定位到這4個(gè)部分之一,由標(biāo)為BOOT-ADR[1∶0]的引導(dǎo)程序地址寄存器220的內(nèi)容確定這4部分中的一特定部分。
圖5所示的以虛線表示的多路轉(zhuǎn)接器402(3)表明由于在上例任何方式中引導(dǎo)程序地址的位20∶17為全零,所以該轉(zhuǎn)接器實(shí)際上是不需要的。在這種情況下,多路轉(zhuǎn)接器402(3)能被刪去而節(jié)省了芯片的實(shí)際區(qū)域。
圖7詳細(xì)顯示了中斷過(guò)濾器198,它包含一個(gè)中斷變換寄存器452,一第三優(yōu)先級(jí)中斷寄存器460,一第三優(yōu)先級(jí)中斷屏蔽472一第二優(yōu)先級(jí)中斷寄存器464,一第二優(yōu)先級(jí)中斷屏蔽466,一多線比較器470,一輸出驅(qū)動(dòng)器480,和輸入驅(qū)動(dòng)器482。圖7也顯示了微處理器12中的中斷寄存器450。
這里顯示了一中斷輸入路徑一中斷從Ibus26傳出并依次通過(guò)寄存器460、屏蔽462、寄存器464、屏蔽466并到達(dá)內(nèi)部總線490。內(nèi)部總線490的5根線接于中斷變換寄存器452,該寄存器452有5根線輸出到比較器470。比較器470的比較器輸出耦連到驅(qū)動(dòng)器480的一輸出使能端。驅(qū)動(dòng)器480的輸入端是內(nèi)部總線490。驅(qū)動(dòng)器482的輸出提供給寄存器和屏蔽,而驅(qū)動(dòng)器482的輸入和驅(qū)動(dòng)器480的輸出通過(guò)Pbus接口部分180(未圖示,參見(jiàn)圖3)耦連到Pbus18。微處理器12的中斷寄存器450也耦連到該P(yáng)bus。
在操作中,來(lái)自Ibus26的中斷被過(guò)濾,以便只有到達(dá)微處理器12的那些中斷是會(huì)改變中斷寄存器450的內(nèi)容的中斷,然而,微處理器12可隨意查詢或改變中斷過(guò)濾器198中的任何中斷寄存器或屏蔽。
圖8更詳細(xì)地顯示了寄存器460、464。雖未圖示,但屏蔽462、466分別包含寄存器460、464的每個(gè)中斷的一位。
Ibus26上所接收的中斷按它們的中斷號(hào)存入寄存器460中。對(duì)于某些中斷,一個(gè)值與該中斷號(hào)一起傳遞且該值與中斷設(shè)置指示一起被存貯,這種設(shè)置要么是置位狀態(tài)要么是復(fù)位狀態(tài)(即,一種已清除中斷)。這些進(jìn)入的中斷被屏蔽并按照如圖8所示的優(yōu)先權(quán)方案被優(yōu)化。一個(gè)中斷的優(yōu)先權(quán)由它的中斷號(hào)和它的優(yōu)先權(quán)分組確定。例如,在中斷組int_io[19∶10]中,int_io[19]有最高優(yōu)先權(quán)。因此,如果由在Ibus26上進(jìn)入的中斷事件設(shè)置int_io[19]和一些低優(yōu)先權(quán)的中斷,只有int_io[19]中斷會(huì)被傳遞以觸發(fā)下一優(yōu)先權(quán)級(jí)的int_a[15]中斷。編號(hào)“19”也可存貯在int_a[15]中、其結(jié)果很容易確定產(chǎn)生該int_a[15]中斷的優(yōu)先權(quán)組中的中斷號(hào)。當(dāng)int_io[19]被清除,那么下一個(gè)最高優(yōu)先權(quán)中斷會(huì)傳送到int_a[15]。
屏蔽寄存器包含每個(gè)中斷的標(biāo)志位,且如果屏蔽位置位,則那中斷不送到下一級(jí)。因此,如果int_io[19]的屏蔽位置位,則int_io[19]中斷雖然是最高優(yōu)先權(quán)中斷也不會(huì)傳送到int_a[15]。
同樣,中斷在第二級(jí)上也優(yōu)先權(quán)化。這樣使中斷減少至第一級(jí)上的5個(gè)。然而即使不同的中斷號(hào)是縮小了,但是由于一個(gè)中斷常常會(huì)以所有方法傳送到第一優(yōu)先級(jí),所以中斷的頻率未必下降。為了減少Pbus上的更新中斷寄存器450的通訊量,所以用中斷變換寄存器452保持一份中斷寄存器450中應(yīng)具有的復(fù)制品。通過(guò)將屏蔽466輸出到內(nèi)部總線490對(duì)中斷變換寄存器452進(jìn)行更新,且中斷變換寄存器452的該預(yù)更新內(nèi)容通過(guò)比較器470與內(nèi)部總線490的內(nèi)容進(jìn)行比較。如果內(nèi)部總線490的內(nèi)容改變了中斷變換寄存器452的內(nèi)容,那么內(nèi)部總線490的內(nèi)容輸出到Pbus,要不然不對(duì)Pbus輸出。在這種方式中,中斷寄存器450和中斷變換寄存器452相互反射,除了更新中斷寄存器450時(shí)的任何延遲外。當(dāng)然,如果微處理器12從內(nèi)部修改中斷寄存器450,它也應(yīng)該更新中斷變換寄存器452。因?yàn)槲⑻幚砥?2當(dāng)必須進(jìn)行它的操作時(shí)能夠訪問(wèn)中斷過(guò)濾器198的寄存器和屏蔽,所以整個(gè)中斷數(shù)據(jù)不需要每次都送給微處理器12。
現(xiàn)在已對(duì)本發(fā)明作了描述,上面的描述是說(shuō)明性的并不作為限定。根據(jù)上述揭示內(nèi)容,本領(lǐng)域中技術(shù)人員可顯而易見(jiàn)地對(duì)本發(fā)明做出種種變化。因此,本發(fā)明的保護(hù)范圍不應(yīng)由上面的描述加以確定,取而代之,應(yīng)由所附權(quán)利要求書(shū)及它們的整個(gè)等效范圍加以限定。
權(quán)利要求
1.一種引導(dǎo)程序地址翻譯裝置,其中,一微處理器具有一地址空間并通過(guò)向總線發(fā)送一包括地址的請(qǐng)求來(lái)請(qǐng)求來(lái)自該地址空間的指令,所述地址處于該地址空間內(nèi),具有所需指令,其中,隨一微處理器復(fù)位,該微處理器請(qǐng)求由固定地址指向的一第一引導(dǎo)程序指令,且其中,該固定地址包含多個(gè)地址位,其特征在于,所述裝置包含一引導(dǎo)程序檢測(cè)裝置,它隨一微機(jī)復(fù)位后輸出一引導(dǎo)信號(hào);一地址劃塊裝置,響應(yīng)所述引導(dǎo)信號(hào)并將其耦連到總線,用于劃分一部分所述固定地址的地址位;一地址替換裝置,響應(yīng)所述引導(dǎo)信號(hào)并將其耦連到總線,當(dāng)固定地址不指向一物理地址且所述引導(dǎo)程序信號(hào)被確立時(shí),用于對(duì)所述分塊的地址位替換被替換的多個(gè)地址位,所述被替換的多個(gè)地址位當(dāng)與固定地址的未分塊地址進(jìn)行組合時(shí)在一指令存貯器中產(chǎn)生一物理地址;和微處理器構(gòu)成僅執(zhí)行有效地址的請(qǐng)求之后用于禁止所述地址替換裝置的禁止裝置。
2.如權(quán)利要求1所述的翻譯裝置,其特征在于,所述地址劃塊裝置和所述地址替換裝置包含一多位輸入端、具有響應(yīng)所述引導(dǎo)信號(hào)的選擇控制輸入端的2對(duì)1多路轉(zhuǎn)接器。
3.如權(quán)利要求1所述的翻譯裝置,其特征在于,其中,總線上的地址包括滿足奇偶判別的奇偶位,且其中,所述地址替換裝置可進(jìn)一步包含包括被替換的奇偶位的裝置,其中,所述被替換的奇偶位滿足所述奇偶判別。
4.一種微處理器請(qǐng)求流水線,其中來(lái)自一微處理器的請(qǐng)求被保持直到被請(qǐng)求裝置已準(zhǔn)備好接受該請(qǐng)求為止,其特征在于,所述流水線包含用于至少存貯來(lái)自該微處理器的兩個(gè)請(qǐng)求的請(qǐng)求存貯裝置;當(dāng)所述請(qǐng)求是一個(gè)請(qǐng)求寫(xiě)所述數(shù)據(jù)到該請(qǐng)求中所指定的一存貯器單元時(shí)用于存貯與請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)的存貯裝置;向該微處理器表明該請(qǐng)求已被接受的控制邏輯裝置;和當(dāng)被請(qǐng)求裝置已準(zhǔn)備好接受該請(qǐng)求時(shí)輸出一請(qǐng)求的輸出裝置。
5.一種預(yù)取隊(duì)列,其中,一微處理器請(qǐng)求從一外部數(shù)據(jù)源到該微處理器的放在請(qǐng)求數(shù)據(jù)單元中的包含操作碼、地址、或指令的數(shù)據(jù),其特征在于,該預(yù)取隊(duì)列包含用于校正從數(shù)據(jù)源檢索到的數(shù)據(jù)中的錯(cuò)誤的錯(cuò)誤檢測(cè)裝置,其中,當(dāng)在所述檢索數(shù)據(jù)中檢測(cè)到一不可校正的錯(cuò)誤時(shí),所述錯(cuò)誤檢測(cè)裝置輸出一不可校正的存貯器錯(cuò)誤信號(hào);用于從數(shù)據(jù)源檢索除微處理器所請(qǐng)求的數(shù)據(jù)單元外的更多數(shù)據(jù)的檢索裝置;與所述檢索裝置相耦連的隊(duì)列存貯裝置,用于存貯從所述數(shù)據(jù)單元檢索到的所述數(shù)據(jù)的過(guò)量數(shù)據(jù);與所述錯(cuò)誤校正裝置相耦連的錯(cuò)誤標(biāo)志位存貯裝置,該存貯裝置用于當(dāng)檢索到所述過(guò)量數(shù)據(jù)并被存貯進(jìn)所述隊(duì)列存貯裝置時(shí)、存貯所述不可校正的存貯器錯(cuò)誤信號(hào)的狀態(tài)指示;和與所述隊(duì)列存貯裝置和所述錯(cuò)誤標(biāo)志位存貯裝置相耦連的隊(duì)列檢索裝置,該檢索裝置用于檢索所述過(guò)量數(shù)據(jù)和與所述過(guò)量數(shù)據(jù)關(guān)聯(lián)的錯(cuò)誤標(biāo)志位,并用當(dāng)微處理器請(qǐng)求來(lái)自所述過(guò)量數(shù)據(jù)的地址的數(shù)據(jù)時(shí)用于將所述過(guò)量數(shù)據(jù)和所述過(guò)量數(shù)據(jù)錯(cuò)誤標(biāo)志位加給所述微處理器。
6.如權(quán)利要求5所述裝置,其特征在于,其中所述過(guò)量數(shù)據(jù)是一個(gè)數(shù)據(jù)單元。
7.如權(quán)利要求5所述的裝置,其特征在于,其中所述過(guò)量數(shù)據(jù)是來(lái)自鄰接于由所述微處理器請(qǐng)求的所述數(shù)據(jù)單元的某個(gè)地址的某個(gè)地址的數(shù)據(jù)。
8.如權(quán)利要求5所述的裝置,其特征在于,其中所述數(shù)據(jù)源是一個(gè)可尋址的存貯器。
9.一種中斷處理裝置,其中,一個(gè)微處理器接收來(lái)自處理器總線上的多個(gè)中斷源的中斷信號(hào),其中,該中斷信號(hào)在該微處理器的中斷寄存器中置位或復(fù)位中斷標(biāo)志位且該微處理器作用于這些中斷標(biāo)志位的狀態(tài),其特征在于,所述中斷處理裝置包含一中斷變換寄存器,其中,所述中斷變換寄存器存貯表明該中斷變換寄存器中的中斷標(biāo)志位的狀態(tài)的數(shù)據(jù);和耦連于處理器總線和多個(gè)中斷源之間并耦連于所述中斷變換寄存器的中斷過(guò)濾裝置,它用于接收中斷信號(hào)并防止處理器總線上的不改變中斷寄存器的狀態(tài)的中斷信號(hào)發(fā)生轉(zhuǎn)移,所述中斷過(guò)濾裝置比較所述接收的中斷信號(hào)和所述中斷變換寄存器的內(nèi)容以確定所述信號(hào)是否是會(huì)改變?cè)撝袛嗉拇嫫鞯臓顟B(tài)的信號(hào)。
10.如權(quán)利要求9所述的裝置,其特征在于,其中,所述微處理器使用一個(gè)中斷優(yōu)先權(quán)編碼器以決定各中斷被處理的級(jí)別,并還使用一個(gè)屏蔽寄存器和屏蔽模式以便中止一個(gè)中斷的處理,其中,所述微處理器對(duì)從該中斷優(yōu)先權(quán)編碼器輸出的中斷進(jìn)行處理,且其中,如果一個(gè)對(duì)應(yīng)的中斷信號(hào)被接收且不受屏蔽且其優(yōu)先權(quán)不低于先前收到的另一中斷的優(yōu)先權(quán),則中斷優(yōu)先權(quán)編碼器輸出該中斷,所述中斷過(guò)濾裝置可進(jìn)一步包含一存貯屏蔽位的屏蔽寄存器,其中某一屏蔽位與某一中斷信號(hào)相關(guān)聯(lián),且當(dāng)其置位時(shí),它的關(guān)聯(lián)的中斷不被考慮;和一使各中斷優(yōu)先權(quán)化的外部?jī)?yōu)先權(quán)編碼器,其中所述中斷過(guò)濾裝置防止中斷信號(hào)在處理器總線上傳輸,這樣不會(huì)改變微處理器中的優(yōu)先權(quán)編碼器的輸出,所述中斷過(guò)濾裝置比較、屏蔽和優(yōu)先權(quán)化所述接收的中斷信號(hào)和所述中斷變換寄存器和所述外部屏蔽寄存器的內(nèi)容、以確定如果一個(gè)信號(hào)被接收該信號(hào)是不是一個(gè)會(huì)改變微處理器中的中斷寄存器的輸出。
11.一種處理器接口電路,它將以級(jí)聯(lián)方式工作的微處理器耦連到一內(nèi)部總線以處理存貯器的讀、寫(xiě)請(qǐng)求和由微處理器發(fā)出的輸入/輸出訪問(wèn),其特征在于,所述處理器接口電路包含一處理器總線接口,它維持微處理器和該處理器接口電路之間的處理器總線上的雙向數(shù)據(jù)通道;一內(nèi)部總線接口,它維持處理器接口電路和內(nèi)部接于處理器系統(tǒng)的微處理器請(qǐng)求處理器之間的總線上的雙向通道,所述微處理器請(qǐng)求處理器至少包含一個(gè)響應(yīng)微處理器的請(qǐng)求讀和寫(xiě)一個(gè)存貯器的存貯器接口電路;一引導(dǎo)程序地址再定位器,它與所述處理器總線接口耦連以便所述引導(dǎo)程序地址再定位器訪問(wèn)一存貯器訪問(wèn)請(qǐng)求的地址部分,所述引導(dǎo)程序地址再定位器用于,當(dāng)一引導(dǎo)程序指示器置位并所述地址部分不指向由所述存貯器接口電路訪問(wèn)的所述存貯器中的某個(gè)地址時(shí),對(duì)所述地址部分中的某地址進(jìn)行再定位;一請(qǐng)求流水線,它耦連于所述處理器總線接口和所述內(nèi)部總線接口,當(dāng)所述內(nèi)部總線接口不能立刻接受微處理器請(qǐng)求時(shí)在所述請(qǐng)求輸出到所述內(nèi)部總線接口之前,它用于接受所述請(qǐng)求并確認(rèn)所述請(qǐng)求;一預(yù)取隊(duì)列,它耦連于所述處理器總線接口和所述內(nèi)部總線接口,它用于獲取和保存來(lái)自所述存貯器的預(yù)期數(shù)據(jù)塊,所述預(yù)期塊是存貯器中緊跟由微處理器已請(qǐng)求的塊的某個(gè)塊;和一中斷過(guò)濾器,耦連于所述內(nèi)部總線接口和所述處理器總線接口,用于接收來(lái)自所述內(nèi)部總線的中斷信號(hào)并傳遞給來(lái)自第一級(jí)中斷的處理器總線中斷,這里所述第一級(jí)中斷對(duì)微處理器的程序流具有當(dāng)前作用,所述過(guò)濾器還用于存貯來(lái)自第二級(jí)中斷的中斷,這里所述第二級(jí)中斷直到所述存貯的中斷對(duì)所述程序流會(huì)有作用時(shí)為止(這種情況極少)對(duì)所述程序流沒(méi)有當(dāng)前作用。
12.一種在鎖步、雙微處理器處理系統(tǒng)中提取各微處理器和一超高速緩沖存貯器的狀態(tài)的方法,其中,第一微處理器是一個(gè)處理器總線主控制器而第二微處理器是一個(gè)超高速緩沖存貯器總線主控器,其特征在于,所述方法包含步驟檢測(cè)一故障保持第一和第二微處理器處于復(fù)位狀態(tài);從每個(gè)微處理器提取一輸出故障指示位;從每個(gè)微處理器提取一輸入故障歷史位;使第一微處理器脫離所述復(fù)位狀態(tài);當(dāng)?shù)谝晃⑻幚砥骷仁翘幚砥骺偩€主控器又是超高速緩沖存貯器總線主控器、且阻止第二微處理器驅(qū)動(dòng)該處理器總線和該存貯器總線時(shí),提取第一微處理器的內(nèi)部狀態(tài)。使第一微處理器回到所述復(fù)位狀態(tài);使第二微處理器脫離所述復(fù)位狀態(tài);當(dāng)?shù)诙⑻幚砥饔质翘幚砥骺偩€主控器又是超高速緩沖存貯器總線主控器、且阻止第一微處理器驅(qū)動(dòng)該處理器總線和該超高速緩沖存貯器總線時(shí),提取第二微處理器的內(nèi)部狀態(tài);使第二微處理器回到所述復(fù)位狀態(tài);使第一和第二微處理器脫離所述復(fù)位狀態(tài);用鎖步模式下的第一和第二微處理器提取超高速緩沖存貯器的內(nèi)容,其中,第一微處理器是處理器總線主控器而第二微處理器是超高速緩沖存貯器總線主控器;使第一和第二微處理器回到所述復(fù)位狀態(tài);使第一微處理器脫離所述復(fù)位狀態(tài);當(dāng)?shù)谝晃⑻幚砥饔质翘幚砥骺偩€主控器又是超高速緩沖存貯器總線主控器且阻止第二微處理器驅(qū)動(dòng)該處理器總線和該超高速緩沖存貯器總線時(shí),用第一微處理器提取超高速緩沖存貯器的內(nèi)容;使第一微處理器回到所述復(fù)位狀態(tài);使第二微處理器脫離所述復(fù)位狀態(tài);當(dāng)?shù)诙⑻幚砥魍瑫r(shí)為處理器器總線主控器和超高速緩沖存貯器總線主控器且阻止第一微處理器驅(qū)動(dòng)該處理器總線和該超高速緩沖存貯器總線時(shí),用第二微處理器提取超高速緩沖存貯器的內(nèi)容;使第二微處理器回到所述復(fù)位狀態(tài);和使第一和第二微處理器脫離所述復(fù)位狀態(tài),其中,第一和第二微處理器再次為鎖步模式,其中,第一微處理器為處理器總線主控器和第二微處理器為超高速緩沖存貯器總線主控器。
全文摘要
一種用于雙微處理器的處理系統(tǒng)的處理器接口片,包括耦連于兩級(jí)聯(lián)運(yùn)行的微處理器的處理器接口片和維護(hù)診斷片。該處理器接口片包含微處理器與主存間的邏輯,微處理器和主存間的多個(gè)微處理器請(qǐng)求的流水線邏輯,微處理器發(fā)出讀請(qǐng)求前的預(yù)取數(shù)邏輯,允許引導(dǎo)程序出現(xiàn)在主存中任何地方的邏輯,和智能限定中斷流的邏輯。維護(hù)診斷片包含測(cè)到故障時(shí)暫停任一微處理器、和微處理器故障狀態(tài)變化之前讀出微處理機(jī)和次超高速緩沖存貯器狀態(tài)的邏輯。
文檔編號(hào)G06F11/20GK1099492SQ9410818
公開(kāi)日1995年3月1日 申請(qǐng)日期1994年7月6日 優(yōu)先權(quán)日1993年7月6日
發(fā)明者米贊·穆罕默德·拉赫曼, 弗雷德C·薩貝尼克, 杰夫A·斯普勞斯 申請(qǐng)人:協(xié)力計(jì)算機(jī)股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
瑞昌市| 民权县| 五指山市| 衡阳县| 蒙自县| 朝阳县| 崇义县| 汽车| 衡水市| 镇巴县| 南通市| 通山县| 化州市| 镇安县| 衡水市| 马鞍山市| 崇左市| 宝山区| 错那县| 兴化市| 宝清县| 开化县| 洛扎县| 琼中| 奎屯市| 宜兰县| 万山特区| 天祝| 芦溪县| 板桥市| 双峰县| 景德镇市| 化州市| 密云县| 商丘市| 阜阳市| 贺州市| 陈巴尔虎旗| 盐池县| 昭平县| 博湖县|