亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于輔助超高速緩存的超高速緩存刷新機(jī)制的制作方法

文檔序號(hào):6409684閱讀:191來源:國知局
專利名稱:用于輔助超高速緩存的超高速緩存刷新機(jī)制的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于具有輔助超高速緩存的PC機(jī)的超高速緩存刷新硬件的機(jī)制,該機(jī)制可很好地應(yīng)用于具有多個(gè)方式的對(duì)存儲(chǔ)單元采用多地址系統(tǒng)的系統(tǒng)。
CPU具有用于刷新內(nèi)部超高速緩存命名為FLUSH#的一種信號(hào)輸入。當(dāng)控制和管理對(duì)存儲(chǔ)器的訪問的系統(tǒng)核心把FLUSH#信號(hào)驅(qū)動(dòng)成低電平時(shí),迫使CPU刷新芯片上超高速緩存的全部?jī)?nèi)容。通常CPU系統(tǒng)是由一些部件組成的而不是只有CPU,例如包括一個(gè)主存儲(chǔ)器,用于存儲(chǔ)信息并由CPU訪問以獲取其中所存儲(chǔ)的數(shù)據(jù),一個(gè)第一超高速緩沖存儲(chǔ)器,它存在于CPU和主存儲(chǔ)器之間,以提供對(duì)所需數(shù)據(jù)相對(duì)很快的訪問以及存儲(chǔ)不時(shí)由CPU訪問的并且重復(fù)存儲(chǔ)在主存儲(chǔ)器里的一部分?jǐn)?shù)據(jù),另外最好還包括一個(gè)第二超高速緩存,它存在于第一超高速緩存和主存儲(chǔ)器之間,其不如第一超高速緩存那樣快,但具有存儲(chǔ)更多數(shù)據(jù)的能力。第二超高速緩存也具有目的及功能相似的一條命名為FLUSH#的信號(hào)輸入線路。
在CPU和輔助超高速緩存之間存在兩種數(shù)據(jù)寫處理方式。一種方式是寫入通過(write-through)操作,即使CPU只要求把數(shù)據(jù)寫入到輔助超高速緩存,這種操作也同時(shí)向輔助超高速緩存和主存儲(chǔ)器寫入數(shù)據(jù)。另一種方式是回寫(write-back)操作,這種操作在CPU要求把數(shù)據(jù)寫入到輔助超高速緩存時(shí)只把數(shù)據(jù)寫到輔助超高速緩存。換言之,在回寫操作情況下,在主存儲(chǔ)器里將沒有備份數(shù)據(jù)。容易設(shè)想在數(shù)據(jù)傳送上回寫操作效率更高,但是它具有這樣一個(gè)缺點(diǎn),在超高速緩存刷新時(shí)出于備份的目的必須把輔助超高速緩存的內(nèi)容傳送到或者“回寫”到主存儲(chǔ)器里。
稱為CPU總線的公共數(shù)據(jù)傳送線路系統(tǒng)將這些部件連接起來。因?yàn)閷?duì)于系統(tǒng)的所有部件總線是共有的,當(dāng)響應(yīng)FLUSH#信號(hào)啟動(dòng)回寫階段時(shí)可能出現(xiàn)訪問沖突。因此,為避免這種沖突需要一種仲裁機(jī)制。在回寫至被修改的線路之前,為了啟動(dòng)回寫階段輔助超高速緩存必須獲得對(duì)CPU總線的所有權(quán)。
本文中提及的CPU系統(tǒng)典型地表示在

圖1中。該圖中,第一超高速緩存包含在CPU里并且沒有示出。假定主存儲(chǔ)器和輔助超高速緩存連接,但這也沒有示出。輔助超高速緩存通過FLUSH#和CPU以及系統(tǒng)核心連接。系統(tǒng)核心是一個(gè)部件,它控制CPU、輔助超高速緩存和主存儲(chǔ)器之間的輸入/輸出操作。FLUSH#提供系統(tǒng)核心對(duì)CPU的刷新第一和輔助超高速緩存的請(qǐng)求。CPU經(jīng)過HOLD和HLDA和系統(tǒng)核心連接。當(dāng)系統(tǒng)核心請(qǐng)求CPU釋放總線時(shí),HOLD被驅(qū)動(dòng)。接著,CPU在結(jié)束當(dāng)前正使用總線的任務(wù)之后釋放總線,并通過HLDA認(rèn)定HLDA#以通知總線已被釋放的事實(shí)。但是,因?yàn)檩o助超高速緩存既不能向CPU又不能向系統(tǒng)核心傳送獲得總線的信號(hào),在這種系統(tǒng)中輔助超高速緩存本身不能得到總線的所有權(quán)。這樣得出一個(gè)結(jié)論,即回寫操作是不能在這種系統(tǒng)中實(shí)現(xiàn)的,因?yàn)闉榱诉_(dá)到回寫操作,輔助超高速緩存必須在啟動(dòng)回寫階段之前序分地獲得總線的所有權(quán)。
這是現(xiàn)有技術(shù)中的主要問題。為解決這個(gè)問題,系統(tǒng)中增添了BOFF#線路。這條線路把輔助超高速緩存和CPU連接起來。當(dāng)它被認(rèn)定時(shí),CPU將立即放釋放總線線路,接著在下一個(gè)CPU周期輔助超高速緩存得到對(duì)總線的所有權(quán)。BOFF#強(qiáng)迫CPU夭折當(dāng)前的任務(wù)并在以后從第一超高速緩存恢復(fù)該任務(wù)。但是,當(dāng)CPU正在對(duì)歷史靈敏的方式下工作時(shí)如果輔助超高速緩存認(rèn)定BOFF#,則這種方法可能造成問題。例如,如果CPU處于I/O周期,則CPU不應(yīng)該為釋放總線而中止它的運(yùn)行,因?yàn)樵贗/O操作即數(shù)據(jù)傳送的中途釋放總線將會(huì)造成數(shù)據(jù)的不一致性,即使以后恢復(fù)該I/O周期這種不一致性也不能得到恢復(fù)。還應(yīng)該注意到,超高速緩存既不可能察覺出CPU是否工作在對(duì)歷史靈敏的方式下,也不可能選擇性地在CPU不處于對(duì)歷史靈敏的工作方式下的時(shí)間窗口期間認(rèn)定BOFF#。
輔助超高速緩存獲得總線所有權(quán)的另一種方法是當(dāng)CPU生成一個(gè)偽I/O周期時(shí)認(rèn)定BOFF#,如由Phil Milling和Jorge Lenta編寫的資料“Look-Aside Store In Cache Functional Specification,Preliminaryrevision 1.1(Jan.93)”中所述。這種方法可解決第一種方法中所造成的問題,因?yàn)楫?dāng)輔助超高速緩存檢測(cè)出系統(tǒng)核心認(rèn)定FLUSH#時(shí)輔助超高速緩存將進(jìn)入刷新待決狀態(tài)。在這種刷新待決狀態(tài)下,輔助超高速緩存等待設(shè)想由CPU稍后生成的偽I/O周期。但是,在這種方法中,因?yàn)镃PU必須生成偽I/O周期,刷新周期必須由CPU啟動(dòng),即實(shí)際上是由系統(tǒng)軟件激勵(lì)的。其問題在于它不能應(yīng)用于由系統(tǒng)核心啟動(dòng)刷新的系統(tǒng)。
這種方法的一種替代方式是在CPU生成刷新證實(shí)周期時(shí)認(rèn)定BOFF#。這種方法為當(dāng)輔助超高速緩存檢測(cè)出系統(tǒng)核心認(rèn)定FLUSH#時(shí),輔助超高速緩存進(jìn)入刷新待決狀態(tài)并且等待由CPU在其完成芯片上超高速緩存刷新后生成的刷新證實(shí)周期。但是這種方法不能進(jìn)行在不生成刷新證實(shí)周期的CPU類型上。實(shí)際上,非常有限的CPU類型生成刷新證實(shí)周期,這意味在各種系統(tǒng)中該方法不是普遍采用的。
近來,許多用于個(gè)人機(jī)(PC)系統(tǒng)里的CPU為例如節(jié)電設(shè)備的對(duì)應(yīng)用透明的系統(tǒng)服務(wù)使用雙方式存儲(chǔ)器管理。例如Intel公司的X86 CPU芯片采納一種方式,這種方式在整個(gè)地址范圍的至少一部分上利用具有公用的單值地址的兩種明顯不同的存儲(chǔ)系統(tǒng)。這意味著一個(gè)特定的地址對(duì)應(yīng)于兩個(gè)不同的物理單元,并且這兩個(gè)不同物理單元中的任何一個(gè)是由通過檢測(cè)系統(tǒng)運(yùn)行的當(dāng)前方式所定義的。相對(duì)于標(biāo)準(zhǔn)方式這種增加的方式通常稱為“系統(tǒng)管理方式”,并經(jīng)??s寫為SMM。當(dāng)系統(tǒng)必須進(jìn)入SMM時(shí),系統(tǒng)核心將中斷常規(guī)的程序執(zhí)行并通過生成對(duì)CPU的系統(tǒng)管理中斷(SMI#)以調(diào)用SMM。
在圖7中示意這種雙方式系統(tǒng)。在這種系統(tǒng)中,操作是由標(biāo)準(zhǔn)方式和系統(tǒng)管理方式兩種方式組成的,由CPU生成的SMIACT#定義。例如,當(dāng)把SMIACT#驅(qū)動(dòng)成高電平時(shí),整個(gè)系統(tǒng)運(yùn)行在標(biāo)準(zhǔn)方式下,這意味著將對(duì)標(biāo)準(zhǔn)RAM進(jìn)行存儲(chǔ)器訪問。反之,當(dāng)把SMIACT#驅(qū)動(dòng)成低電平時(shí),整個(gè)系統(tǒng)進(jìn)入SMM,這意味著也可對(duì)SMRAM進(jìn)行存儲(chǔ)器訪問。請(qǐng)注意,在圖7中,SMRAM存在于1000至2000的邏輯地址的范圍內(nèi),從而對(duì)這個(gè)范圍內(nèi)的地址的訪問將向SMRAM進(jìn)行,即使整個(gè)系統(tǒng)進(jìn)行在SMM下對(duì)其它存儲(chǔ)器地址的訪問仍將向標(biāo)準(zhǔn)RAM進(jìn)行。
SMRAM是SMM下CPU專用的一個(gè)物理存儲(chǔ)器,其尺寸為32KB至4GB,含有SMM處理程序代碼、相關(guān)的系統(tǒng)專用SMM數(shù)據(jù)以及表示進(jìn)入SMM之前處理器狀態(tài)的處理器狀態(tài)信息。當(dāng)CPU進(jìn)入SMM時(shí),CPU認(rèn)定SMIACT#低電平從而提醒系統(tǒng)核心切換到SMRAM空間。接著CPU以一種堆棧狀形式從SMRAM空間的頂部開始把當(dāng)前寄存器狀態(tài)信息存儲(chǔ)到SMRAM里。這稱之為處理器狀態(tài)轉(zhuǎn)儲(chǔ)、語境轉(zhuǎn)換或狀態(tài)保留。一旦完成狀態(tài)保留階段,則開始SMI處理程序的執(zhí)行。CPU認(rèn)定SMICAT#輸出以指示存儲(chǔ)示器控制器CPU運(yùn)行在SMM下。系統(tǒng)邏輯應(yīng)該確保只有該區(qū)域可由CPU和SMI處理程序訪問。
尚不存在一種系統(tǒng)可允許系統(tǒng)核心利用FLUSH#在標(biāo)準(zhǔn)方式和SMM兩種方式下都刷新CPU芯片上的超高速緩存和輔助超高速緩存。這是因?yàn)殡p方式機(jī)在超高速緩存刷新情況下不預(yù)先采用回寫方法。但可設(shè)想雙方式和回寫方法的并存將提高個(gè)人機(jī)的性能,從而必須解決帶有回寫和SMM的超高速緩存的刷新問題。
當(dāng)CPU需要轉(zhuǎn)換方式時(shí),經(jīng)常要提出超高速緩存刷新請(qǐng)求。在不做出特殊努力下,很有可能輔助超高速緩存和主存儲(chǔ)器之間的數(shù)據(jù)一致性被擾亂,因?yàn)閹缀踉趯?shí)際超高速緩存刷新操作的同一時(shí)刻CPU生成SMIACT#。這意味著如果已經(jīng)生成SMIACT#并且系統(tǒng)核心已把它的存儲(chǔ)體從一種改變到另一種(例如從SMRAM到標(biāo)準(zhǔn)RAM),從超高緩存的回寫將進(jìn)入超高速緩存的內(nèi)容原本不屬于它的錯(cuò)誤存儲(chǔ)器中。
從而,本發(fā)明的一個(gè)目的是提供一種有效的機(jī)制,既使得超高速緩存的刷新不會(huì)擾亂回寫階段,又使得無須關(guān)心刷新操作和回寫階段之間的定時(shí)。
本發(fā)明的另一個(gè)目的是執(zhí)行不由CPU啟動(dòng)的刷新周期,或更具體地,執(zhí)行由系統(tǒng)心啟動(dòng)的刷新周期。
本發(fā)明的另一個(gè)目的是提供一種有效的機(jī)制,以在具有諸如標(biāo)準(zhǔn)方式和系統(tǒng)管理方式的雙方式的系統(tǒng)中實(shí)現(xiàn)超高速緩存刷新。
本發(fā)明的另一個(gè)目的是提供一種和Intel公司的X86 CPU的總線接口充分兼容的超高速緩存刷新機(jī)制,其中系統(tǒng)核心無須關(guān)心超高速緩存刷新操作和回寫階段之間的定時(shí)。
在本發(fā)明的一個(gè)方面里,在系統(tǒng)里提供一個(gè)由輔助超高速緩存生成的信號(hào),以便為啟動(dòng)超高速緩存刷新向CPU請(qǐng)求得到總線的所有權(quán)。
在本發(fā)明的另一個(gè)方面里,提供由輔助超高速緩存進(jìn)行的信號(hào)(SMIACT#)中斷以防止系統(tǒng)核心檢測(cè)方式切換。當(dāng)CPU生成SMIACT#并由系統(tǒng)核心檢測(cè)出SMIAT#時(shí),系統(tǒng)核心為超高速緩存切換存儲(chǔ)體至回寫,造成擾亂超高速緩存和主存儲(chǔ)器之間的存儲(chǔ)器一致性。但是本發(fā)明在完成超高速緩存刷新之前恰好阻止SMIACT#到達(dá)系統(tǒng)核心,以確保超高速緩存的內(nèi)容回寫到該數(shù)據(jù)原始駐留過的正確存儲(chǔ)體上,因?yàn)楸M管CPU實(shí)際上已生成SMIACT#但系統(tǒng)核心認(rèn)為方式尚未切換。
圖1是現(xiàn)有技術(shù)中普通實(shí)現(xiàn)的存儲(chǔ)系統(tǒng)。
圖2是本發(fā)明的存儲(chǔ)系統(tǒng)的第一實(shí)施方式的示意圖。
圖3是圖2中所示存儲(chǔ)系統(tǒng)的信號(hào)時(shí)序圖。
圖4是本發(fā)明的存儲(chǔ)系統(tǒng)的第二實(shí)施方式的示意圖。
圖5是圖4所示存儲(chǔ)系統(tǒng)的信號(hào)時(shí)序圖,圖中來自CPU和來自輔助超高速緩存的總線訪問不沖突。
圖6是圖4所示存儲(chǔ)器系統(tǒng)的另一個(gè)信號(hào)時(shí)序圖,圖中來自CPU和來自輔助超高速緩存的總線訪問相沖突。
圖7是出于說明目的的雙方式存儲(chǔ)系統(tǒng)的示意圖。
本發(fā)明的一種實(shí)施方式的實(shí)現(xiàn)如圖2中所示。該系統(tǒng)包括一個(gè)CPU、一個(gè)系統(tǒng)核心以及一個(gè)與CPU及系統(tǒng)核心兩者相連接的輔助超高速緩存。在本發(fā)明的該實(shí)施方式中,控制HOLD及HLDA信號(hào)以達(dá)到超高速緩存刷新。當(dāng)輔助超高速緩存開始刷新時(shí),它認(rèn)定L2HOLD,L2HOLD和系統(tǒng)核心的一個(gè)輸出量SHOLD進(jìn)行“或”運(yùn)算。輔助超高速緩存接收來自CPU的HLDA并且把HLDA作為L(zhǎng)2HLDA傳送給系統(tǒng)核心。HOLD和HLDA是具有“背景”材料中所提到的相同功能的信號(hào)。HOLD請(qǐng)求CPU釋放總線,但在本發(fā)明中HOLD是由SHOLD和L2HOLD進(jìn)行“或”運(yùn)算建立的。這意味著,如系統(tǒng)核心通過采用SAHOLD那樣,輔助超高速緩沖也可以通過認(rèn)定L2HOLD向CPU提出釋放總線的請(qǐng)求。典型地,當(dāng)系統(tǒng)核心需要為窺探或者為檢測(cè)超高速緩存和主存儲(chǔ)器之間的一致性而使用總線時(shí)系統(tǒng)核心認(rèn)定SAHOLD。來自CPU的HLDA表示容許輔助超高速緩存得到總線。和圖1中相反,因?yàn)镠LDA由輔助超高速緩存中斷,輔助超高速緩存可以在系統(tǒng)核心之前檢測(cè)該許可。這意味著來自輔助超高速緩存的總線請(qǐng)求優(yōu)選于來自系統(tǒng)核心的總線請(qǐng)求,這使得作出許可后能立即開始回寫階段。
通過參照?qǐng)D3所示的時(shí)序圖可很好地說明刷新操作。在周期1中,系統(tǒng)核心認(rèn)定FLUSH#為低電平,這是來自系統(tǒng)核心的啟動(dòng)刷新操作的請(qǐng)求。在周期1的結(jié)尾輔助超高速緩存檢測(cè)出FLUSH#并在周期2把L2HOLD驅(qū)動(dòng)成高電平。L2HOLD和SHOLD進(jìn)行“或”運(yùn)算,產(chǎn)生饋送給CPU的輸出HOLD,其迫使CPU浮動(dòng)CPU總線。當(dāng)CPU釋放總線時(shí),在周期3中HLDA被認(rèn)定為高電平,通過檢測(cè)出HLDA為高電平從周期4的開始端起,超高速緩存啟動(dòng)回寫階段。HLDA處于高電平可看成是CPU對(duì)輔助超高速緩存啟動(dòng)其操作的許可,因?yàn)榭偩€已由CPU釋放。在周期20輔助超高速緩存結(jié)束回讀階段,并且取消認(rèn)定L2HOLD使得HOLD為低電平。這將使CPU在周期21取消認(rèn)定HLDA以使輔助超高速緩存接收該信號(hào)并且把該信號(hào)作為L(zhǎng)2HLDA傳送給系統(tǒng)核心。
但是,應(yīng)該注意,CPU并不總是在緊接HOLD被認(rèn)定的周期之后的那個(gè)周期內(nèi)釋放總線。只有在某個(gè)周期結(jié)束CPU的未完成的任務(wù)之后CPU才會(huì)釋放總線。從而在圖3中,CPU恰好未執(zhí)行一個(gè)在周期3之后尚未結(jié)束的任務(wù)。但是如果CPU正在處理對(duì)歷史敏感的事情,它將繼續(xù)該任務(wù)直至把該任務(wù)完成為止,這樣可能在周期10與周期100把HLDA認(rèn)定為高電平。是否CPU應(yīng)該立即把總線傳遞給輔助超高速緩沖進(jìn)行刷新操作或者CPU應(yīng)該繼續(xù)其任務(wù)直至完成的決定完全取決于CPU。以這種方法,即使CPU正做對(duì)歷史敏感的事情,仍可獲得適當(dāng)?shù)幕刈x階段,從而解決了現(xiàn)有技術(shù)中存在的一個(gè)主要問題。
這種機(jī)制可以防止系統(tǒng)核心偶然地啟動(dòng)窺探操作,因?yàn)镠LDA是由輔助超高速緩存中斷的從而在回寫周期內(nèi)使L2HLDA保持低電平。只有當(dāng)系統(tǒng)核心知道輔助超高速緩存認(rèn)定L2HLDA之后(其意味著已結(jié)束回寫階段)才開始窺探。以這種方式,輔助超高速緩存可以根據(jù)刷新請(qǐng)求主動(dòng)地啟動(dòng)其回寫操作,從而解決現(xiàn)有技術(shù)中的另一個(gè)問題。
本發(fā)明的另一種實(shí)施方式實(shí)施于以雙方式,例如標(biāo)準(zhǔn)方式和系統(tǒng)管理方式,運(yùn)行的系統(tǒng)中。當(dāng)一個(gè)系統(tǒng)中可利用雙方式時(shí)事情變?yōu)楦鼜?fù)雜,因?yàn)槌咚倬彺姹仨殰?zhǔn)確回寫到對(duì)應(yīng)于當(dāng)前運(yùn)行方式的正確物理存儲(chǔ)器中。即更詳細(xì)地,在標(biāo)準(zhǔn)方式期間的超高速緩存刷新的情況下,必須向標(biāo)準(zhǔn)RAM而不是向系統(tǒng)管理RAM(SMRAM)進(jìn)行回寫。如果在標(biāo)準(zhǔn)方式下錯(cuò)誤地向SMRAM回寫,則數(shù)據(jù)一致性會(huì)被擾亂。同樣,如果在系統(tǒng)管理方式(SSM)下執(zhí)行超高速緩存刷新,則必須向SMRAM而不是標(biāo)準(zhǔn)RAM回寫。如果錯(cuò)誤地向標(biāo)準(zhǔn)RAM回寫,一樣會(huì)擾亂數(shù)據(jù)一致性。
在該實(shí)施方式中,通過控制信號(hào)AHOLO、BOFF#和SMIACT#實(shí)現(xiàn)本發(fā)明的上述目的。連接系統(tǒng)各部件的信號(hào)線路如圖4中所示。輔助超高速緩存可驅(qū)動(dòng)L2AHOLD和L2BOFF#,它們分別和作為系統(tǒng)核心的輸出量的SAHOLD及反SBOFF#進(jìn)行“或”運(yùn)算及“反或”運(yùn)算。
當(dāng)系統(tǒng)核心想執(zhí)行刷新操作時(shí),系統(tǒng)核心把FLUSH#認(rèn)定為低電平,這也由輔助超高速緩存檢測(cè)出并迫使超高速緩存把L2AHOLD認(rèn)定為高電平,以迫使CPU浮動(dòng)其地址總線并防止CPU進(jìn)入隨后的會(huì)消耗一定數(shù)量總線周期的任務(wù)。但如在前一種實(shí)施方式中所述那樣,如果CPU正在執(zhí)行一個(gè)對(duì)歷史敏感的任務(wù),則CPU不必在輔助超高速緩存認(rèn)定L2AHOLD之后立即放棄總線。
盡管CPU把SMIACT#驅(qū)動(dòng)成低電平,輔助超高速緩存把L2SMIACT#保持在其電平上。這防止系統(tǒng)核心把存儲(chǔ)體從標(biāo)準(zhǔn)存儲(chǔ)器切換到SMRAM,以確保把數(shù)據(jù)回寫到它所屬于的正確存儲(chǔ)器上。換言之,當(dāng)一個(gè)系統(tǒng)應(yīng)用雙方式時(shí),SMIACT#是一個(gè)把一種方式切換到另一種方式的信號(hào),并且若直接向系統(tǒng)核心傳送SMIACT#的改變,則系統(tǒng)核心設(shè)想運(yùn)行模式已經(jīng)改變并切換存儲(chǔ)體,因而造成向錯(cuò)誤存儲(chǔ)體進(jìn)行回寫。如果不由輔助超高速緩存控制而直接向系統(tǒng)核心傳送SMIACT#則會(huì)出現(xiàn)這種情況。從而,如圖4中所示,SMIACT#由輔助超高速緩存攔截,以通過把L2SMIACT#保持在相同電平上使系統(tǒng)核心認(rèn)為方式尚未改變。以這種方法,系統(tǒng)核心認(rèn)為方式?jīng)]有改變從而不切換存儲(chǔ)體,所以輔助超高速緩存里的數(shù)據(jù)成功地回寫到標(biāo)準(zhǔn)RAM,實(shí)現(xiàn)數(shù)據(jù)的一致性。
該機(jī)制將遵照兩種情況中的一種(i)CPU不在輔助超高速緩存認(rèn)定L2AHOLD的同時(shí)認(rèn)定ADS#,或者(ii)在認(rèn)定L2AHOLD的同時(shí),CPU認(rèn)定ADS#。ADS#是由CPU、輔助超高速緩存和系統(tǒng)核心生成的一個(gè)信號(hào),告訴系統(tǒng)的其它部件請(qǐng)求總線。當(dāng)在輔助超高速緩存希望啟動(dòng)回寫操作的時(shí)刻CPU不想使用總線,即意味著不和L2AHOLD同時(shí)認(rèn)定ADS#,則遵照情況1。當(dāng)在輔助超高速緩存想要啟動(dòng)回寫階段的同一時(shí)刻CPU希望使用總線時(shí),即意味著同時(shí)認(rèn)定ADS#和L2AHOLD,則遵照情況2。換言之,情況2是來自CPU和輔助超高速緩存的兩個(gè)總線訪問請(qǐng)求相沖突的情況。
對(duì)于情況1,其時(shí)序圖如圖5中所示。
a)在周期1系統(tǒng)核心認(rèn)定FLUSH#。這是系統(tǒng)核心通知CPU啟動(dòng)刷新操作。在周期1的結(jié)尾處輔助超高速緩存也檢測(cè)出FLUSH#。
b)當(dāng)輔助超高速緩存檢測(cè)出FLUSH#為低電平時(shí),它在周期2把L2AHOLD驅(qū)動(dòng)到高電平以使CPU在下一個(gè)周期浮動(dòng)地址總線。對(duì)L2AHOLD和SAHOLD進(jìn)行“或”運(yùn)算并作為AHOLD饋送給CPU。
c)如果CPU不啟動(dòng)下一個(gè)總線周期,則可啟動(dòng)回讀操作。這是通過已提到的ADS#檢測(cè)的。如果在周期2中CPU不和AHOLD同時(shí)把ADS#驅(qū)動(dòng)成低電平,輔助超高速緩存認(rèn)定CPU不使用總線,因此可以啟動(dòng)回讀階段,從而在周期3把L2BOFF#驅(qū)動(dòng)成低電平。
d)在周期4輔助超高速緩存成功地啟動(dòng)回讀階段(ADS#由輔助高速緩存驅(qū)動(dòng))。
e)應(yīng)該注意,盡管在周期2中SMIACT#被認(rèn)定成低電平,但是輔助超高速緩存并不相應(yīng)地把L2SMIACT#認(rèn)定成低電平。這表明即使運(yùn)行方式已改變,也可以對(duì)適當(dāng)?shù)拇鎯?chǔ)器實(shí)現(xiàn)回寫操作。更詳細(xì)地說,F(xiàn)LUSH#是由系統(tǒng)核心在要求改變運(yùn)行方式時(shí)認(rèn)定的。該信號(hào)使CPU在相繼的同期中把SMAICT#認(rèn)定為低電平,這通知輔助超高速緩存運(yùn)行方式發(fā)生變化。只要輔助超高速緩存確認(rèn)步驟(a)至(d)的CPU階段已結(jié)束它立即開始回寫周期,但因?yàn)樵诒倦A段輔助超高速緩存沒有把L2SMIACT#認(rèn)定成低電平,因此沒有通知系統(tǒng)核心運(yùn)行方式的改變,從而系統(tǒng)核心不切換被回寫的存儲(chǔ)體。這造成輔助超高速緩存把信息回寫到原始所駐留的原始存儲(chǔ)體上或者把信息回寫到CPU想要存儲(chǔ)成該信息的存儲(chǔ)體上。在把回寫周期應(yīng)用到雙運(yùn)行方式系統(tǒng)的情況下,這種推遲SMIACT#對(duì)L2SMIACT#的切換是本發(fā)明的關(guān)鍵之處。
同樣,通過進(jìn)行所述的操作,保證CPU不在周期3中把ADS#驅(qū)動(dòng)成低電平,因?yàn)樵谙惹暗闹芷谥蠥HOLD是高電平的。
對(duì)于情況2,這是來自CPU的和來自輔助超高速緩存的兩個(gè)總線請(qǐng)求相互沖突的情況,如圖6所示,應(yīng)對(duì)情況2的操作按下述修改。如所述,這是一種同時(shí)認(rèn)定ADS#和AHOLD的情況,其中ADS#是來自CPU的總線請(qǐng)求信號(hào),而AHOLD是來自輔助超高速緩存或者來自系統(tǒng)核心的總線請(qǐng)求。
前兩個(gè)步驟是相同的,這兩個(gè)步驟是a)在周期1系統(tǒng)核心認(rèn)定FLUSH#。這是系統(tǒng)核心通知CPU啟動(dòng)刷新操作。在周期1的結(jié)尾處該FLISH#也由輔助超高速緩沖檢測(cè)。
b)當(dāng)輔助超高速緩存檢測(cè)出FLUSH#為低電平時(shí),它在周期2中把L2AHOLD驅(qū)動(dòng)成高電平以使CPU在下一個(gè)周期浮動(dòng)地址總線。L2AHOLD和SAHOLD進(jìn)行“或”運(yùn)算并且按AHOLD饋送給CPU,以告訴CPU輔助超高速緩存希望為回寫階段占用總線。
但在本情況下,恰好ADS#和AHOLD同時(shí)被認(rèn)定,這與情況1中的狀況是不同的,從而出現(xiàn)如下的修改步驟c)在周期2中和AHOLD處于高電平的同時(shí),CPU把ADS#驅(qū)動(dòng)成低電平。AHOLD保持高電平直至RDY#變成低電位,RDY#變成低電位表示CPU完成利用總線的現(xiàn)行任務(wù)。應(yīng)該注意,該RDY#指示CPU占用總線的結(jié)束。
d)當(dāng)在周期4的結(jié)尾處輔助超高速緩存檢測(cè)出RDY#變成低電平時(shí),AHOLD和BOFF#同時(shí)下跌。
e)接著在周期4輔助超高速緩存成功地啟動(dòng)回寫階段(WBADS#)。至于SMIACT#和L2SMIACT#之間的關(guān)系,則和情況1的關(guān)系完全相同。
通過進(jìn)行上述的操作,保證CPU在周期5不會(huì)把ADS#驅(qū)動(dòng)為低電平,因?yàn)樵谥芷? AHOLD是高電平的。應(yīng)該注意,盡管該實(shí)施方式是根據(jù)雙方式系統(tǒng)敘述的,但它也可以應(yīng)用于單方式系統(tǒng)。
盡管所說明的本發(fā)明的實(shí)施方式是最佳的實(shí)現(xiàn),熟練的技術(shù)人員可理解可進(jìn)行各種可能的修改。從而,本發(fā)明有權(quán)利得到權(quán)利要求書的全部范圍內(nèi)的保護(hù)。
權(quán)利要求
1.一種具有一個(gè)CPU、一個(gè)系統(tǒng)核心和一個(gè)經(jīng)總線與所述CPU和所述系統(tǒng)核心連接的超高速緩存的計(jì)算機(jī)存儲(chǔ)系統(tǒng),包括第一信號(hào)裝置,其由所述系統(tǒng)核心向所述CPU及所述超高速緩存生成以刷新所述超高速緩存的內(nèi)容;第二信號(hào)裝置,由所述超高速緩存向所述CPU生成,以響應(yīng)所述第一信號(hào)裝置請(qǐng)求所述CPU釋放所述總線;第三信號(hào)裝置,由所述CPU生成,以響應(yīng)所述第二信號(hào)裝置通知所述超高速緩存所述CPU已釋放所述總線。
2.權(quán)利要求1的計(jì)算機(jī)系統(tǒng)進(jìn)而包括第四信號(hào)裝置,由所述超高速緩存在所述超高速緩存完成刷新操作后向所述系統(tǒng)核心生成。
3.權(quán)利要求1的計(jì)算機(jī)系統(tǒng),其中所述第二信號(hào)裝置和由所述系統(tǒng)核心生成的第五信號(hào)裝置進(jìn)行“或”運(yùn)算以請(qǐng)求所述CPU釋放所述總線。
4.權(quán)利要求3的計(jì)算機(jī)系統(tǒng),其中所述第五信號(hào)裝置也饋接于所述超高速緩存。
5.一種計(jì)算機(jī)存儲(chǔ)系統(tǒng),它具有一個(gè)CPU、一個(gè)系統(tǒng)核心、一個(gè)經(jīng)總線和所述CPU及所述系統(tǒng)核心連接的超高速緩存以及一條可由所述CPU、所述系統(tǒng)核心或所述超高速緩存中的任一個(gè)啟動(dòng)的以表示對(duì)所述總線的請(qǐng)求的信號(hào)線路,所述系統(tǒng)包括第一信號(hào)裝置,其由所述系統(tǒng)核心向所述CPU及所述超高速緩存生成以刷新所述超高速緩存的內(nèi)容;第二信號(hào)裝置,由所述超高速緩存向所述CPU生成,以響應(yīng)所述第一信號(hào)裝置請(qǐng)求所述CPU釋放所述總線;其中當(dāng)所述信號(hào)線路不由所述CPU或所述系統(tǒng)核心中的一個(gè)啟用時(shí),所述超高速緩存得到對(duì)所述總線的所有權(quán)。
6.一種計(jì)算機(jī)存儲(chǔ)系統(tǒng),它具有一個(gè)CPU、一個(gè)系統(tǒng)核心、一個(gè)經(jīng)總線和所述CPU及所述系統(tǒng)核心連接的超高速緩存以及一條可由所述CPU、所述系統(tǒng)核心或所述超高速緩存中的任一個(gè)啟動(dòng)的以表示對(duì)所述總線的請(qǐng)求的信號(hào)線路,所述系統(tǒng)包括第一信號(hào)裝置,其由所述系統(tǒng)核心向所述CPU及所述超高速緩存生成以刷新所述超高速緩存的內(nèi)容;第二信號(hào)裝置,由所述超高速緩存向所述CPU生成、以響應(yīng)所述第一信號(hào)裝置請(qǐng)求所述CPU釋放所述總線;其中當(dāng)在生成所述第二信號(hào)裝置的同時(shí)所述CPU認(rèn)定所述信號(hào)線路時(shí),所述超高速緩存在所述CPU完成其當(dāng)前任務(wù)之后得到對(duì)所述總線的所有權(quán)。
7.一種用于在計(jì)算機(jī)存儲(chǔ)系統(tǒng)中進(jìn)行超高速緩存的刷新的方法,所述計(jì)算機(jī)存儲(chǔ)系統(tǒng)具有一個(gè)CPU、一個(gè)系統(tǒng)核心、一個(gè)經(jīng)總線和所述CPU及所述系統(tǒng)核心連接的超高速緩存以及一條可由所述CPU、所述系統(tǒng)核心或所述超高速緩存中的任何一個(gè)啟動(dòng)的以表示請(qǐng)求所述總線的信號(hào)線路,所述存儲(chǔ)系統(tǒng)采用多個(gè)物理上各不相同但在整個(gè)邏輯地址的至少一部分中具有共用的邏輯地址的主存儲(chǔ)器空間而運(yùn)行在多種方式下,所述方法包括步驟所述系統(tǒng)核心向所述CPU和所述超高速緩存生成第一信號(hào)裝置以刷新所述超高速緩存的內(nèi)容;所述超高速緩存向所述CPU生成第二信號(hào)裝置以響應(yīng)所述第一信號(hào)裝置請(qǐng)求所述CPU釋放所述總線;所述CPU向所述超高速緩存生成第三信號(hào)裝置以指示所述方式已經(jīng)切換;所述超高速緩存向所述系統(tǒng)核心生成第四信號(hào)裝置以指示所述方式已經(jīng)切換;其中在完成所述超高速緩存的刷新之后生成第四信號(hào)裝置。
8.一種用于在計(jì)算機(jī)存儲(chǔ)系統(tǒng)中進(jìn)行超高速緩存的刷新方法,該計(jì)算機(jī)存儲(chǔ)系統(tǒng)具有一個(gè)CPU、一個(gè)系統(tǒng)核心、一個(gè)經(jīng)總線和所述CPU及所述系統(tǒng)核心連接的超高速緩存以及一條可由所述CPU、所述系統(tǒng)核心或所述超高速緩存中任何一個(gè)啟動(dòng)的以表示請(qǐng)求所述總線的信號(hào)線路,所述存儲(chǔ)系統(tǒng)采用多個(gè)物理上各不相同但在整個(gè)邏輯地址的至少一部分中具有共用的邏輯地址的主存儲(chǔ)器空間而運(yùn)行在多種方式下,所述方法包括步驟所述系統(tǒng)核心生成第一信號(hào),以請(qǐng)求將所述方式從第一方式改變到第二方式;所述超高速緩存生成第二信號(hào),以請(qǐng)求所述CPU響應(yīng)所述第一信號(hào)而釋放所述總線;所述CPU生成第三信號(hào),用于響應(yīng)所述第二信號(hào)以切換所述方式,其中所述第三信號(hào)由所述超高速緩存中斷以將所述系統(tǒng)核心延緩到所述超高速緩存完成超高速緩存刷新后再檢測(cè)所述第三信號(hào)。
9.權(quán)利要求8的在計(jì)算機(jī)存儲(chǔ)系統(tǒng)里刷新超高速緩存的方法進(jìn)而包括所述CPU在完成其當(dāng)前任務(wù)后釋放所述總線的步驟。
10.權(quán)利要求9的在計(jì)算機(jī)存儲(chǔ)系統(tǒng)里刷新超高速緩存的方法,其中所述CPU在所述CPU釋放所述總線之前不生成所述第三信號(hào)。
11.一種具有一個(gè)CPU、一個(gè)系統(tǒng)核心、一個(gè)經(jīng)總線和所述CPU及所述系統(tǒng)核心連接的超高速緩存的計(jì)算機(jī)存儲(chǔ)系統(tǒng),所述存儲(chǔ)系統(tǒng)采用多個(gè)物理上各不相同但在整個(gè)邏輯地址的至少一部分中具有共用的邏輯地址的主存儲(chǔ)器空間而運(yùn)行在多種方式下,其中由所述CPU生成的用于指示所述方式已被切換的信號(hào)被所述超高速緩存中斷,以使所述系統(tǒng)核心在所述信號(hào)生成的時(shí)鐘周期之后推遲至少一個(gè)時(shí)鐘周期檢測(cè)所述信號(hào)。
12.權(quán)利要求11中的計(jì)算機(jī)存儲(chǔ)系統(tǒng),其中所述系統(tǒng)核心推遲到完成所述超高速緩存的刷新之后才檢測(cè)所述信號(hào)。
13.權(quán)利要求11中的計(jì)算機(jī)存儲(chǔ)系統(tǒng),其中所述超高速緩存把所述超高速緩存的內(nèi)容回寫到在方式切換之前在該存儲(chǔ)系統(tǒng)通常所在的先前方式下所訪問的主存儲(chǔ)器上。
全文摘要
公開可應(yīng)用于運(yùn)行在雙方式下的存儲(chǔ)系統(tǒng)的一種有效的超高速緩存的刷新機(jī)制。雙方式采用兩個(gè)物理上各不相同但在整個(gè)邏輯地址中的至少一部分上具有共用的邏輯地址的主存儲(chǔ)空間。由輔助超高速緩存對(duì)表示方式切換的信號(hào)(SMIACT#)提供中斷。在超高速緩刷新結(jié)束之前阻止SMIACT#到達(dá)系統(tǒng)核心,確保將超高速緩存的內(nèi)容回寫到數(shù)據(jù)原始駐留的正確存儲(chǔ)體上,因?yàn)楸M管CPU實(shí)際已生成SMIACT#但系統(tǒng)核心認(rèn)為方式尚未切換。
文檔編號(hào)G06F12/08GK1154167SQ95194319
公開日1997年7月9日 申請(qǐng)日期1995年6月8日 優(yōu)先權(quán)日1995年6月8日
發(fā)明者大庭信之, 中田武男 申請(qǐng)人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1