国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      高速緩存污染免除指令的制作方法

      文檔序號:6416424閱讀:175來源:國知局
      專利名稱:高速緩存污染免除指令的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明總的涉及計算機系統(tǒng)領(lǐng)域,尤其涉及提供指令的裝置和方法,這些指令在將高速緩存污染減至最小的同時還使得對高速緩存訪問的控制易于執(zhí)行。
      與處理器一起使用的高速緩沖存儲器使得內(nèi)存的訪問時間減少。構(gòu)造高速緩存的基本思想是把最頻繁被訪問的指令和數(shù)據(jù)放置在快速的高速緩沖存儲器中,使得平均的內(nèi)存訪問時間接近高速緩存的訪問時間。為了獲得在高速緩存的尺寸和性能之間的最佳的折衷,通常的處理器采用分級的高速緩存,即高速緩存具有不同的級。高速緩存的不同的級與處理器內(nèi)核的不同的距離相對應(yīng)。高速緩沖存儲器愈靠近處理器,數(shù)據(jù)訪問的速度愈快。然而,高速緩存愈靠近處理器,制造的成本愈高。結(jié)果,高速緩存愈靠近處理器,高速緩存就愈快并且(容量)愈小。
      依據(jù)高速緩存的命中率,頻繁地測量高速緩沖存儲器的性能。當(dāng)處理器訪問內(nèi)存并找到在它的高速緩存中的數(shù)據(jù)時,就叫做產(chǎn)生一次命中(hit)。如果數(shù)據(jù)沒有在高速緩存中找到,而數(shù)據(jù)是在主存儲器中,那么就被認(rèn)為是未命中(miss)。如果一次未命中發(fā)生,就在按照訪問地址索引的入口處進(jìn)行分配。訪問可以是將數(shù)據(jù)裝入處理器或者是將數(shù)據(jù)從處理器存放到內(nèi)存中。高速緩存的信息被高速緩沖存儲器一直保持著,直到它不再需要、失效、或者被其他的數(shù)據(jù)替換時為止,在這些情況時,高速緩存入口被重新分配。
      計算機系統(tǒng)可以使用一級或多級的高速緩沖存儲器。各種已知的計算機系統(tǒng)的高速緩存運用的分配和重新分配的方式通常在實際中是相似的。通常的做法是在高速緩存中為處理器需要的所有訪問分配一個入口。于是系統(tǒng)結(jié)構(gòu)指明重復(fù)使用訪問過的數(shù)據(jù),不指明有關(guān)的高速緩存的分層次的級。即所有的訪問被分配在高速緩存中。這種處理的缺點是在某些情況下,某些數(shù)據(jù)被訪問一次,并且,在不久的將來不被重復(fù)使用。對于這樣的數(shù)據(jù),通常稱之為非暫時數(shù)據(jù),當(dāng)高速緩沖存儲器滿了時,用這些數(shù)據(jù)覆蓋頻繁使用的數(shù)據(jù)(即暫時數(shù)據(jù)),例如高速緩存應(yīng)用的代碼和數(shù)據(jù)是不希望的。
      公開了一種提供高速緩沖存儲器管理的計算機系統(tǒng)和方法。該計算機系統(tǒng)包括一個主存儲器和一個與主存儲器連接的處理器,主存儲器具有許多主存儲器地址,每一個主存儲器地址具有對應(yīng)的數(shù)據(jù)入口。至少有一個高速緩沖存儲器與處理器相連接。至少有一個高速緩沖存儲器具有高速緩存目錄和高速緩存控制器,高速緩存目錄具有許多地址,而高速緩存控制器具有與許多地址相對應(yīng)的許多數(shù)據(jù)入口。處理器接收一條具有操作數(shù)地址的指令,并且確定該操作數(shù)地址是否與高速緩存目錄中的許多地址中的一個地址相匹配。如果匹配,處理器就修改在高速緩存控制器中的與匹配的地址對應(yīng)的數(shù)據(jù)入口。否則,在主存儲器中的與操作數(shù)地址相匹配的數(shù)據(jù)入口被修改。
      通過實施例和附圖(但不受其限制)說明本發(fā)明。相同的標(biāo)號表示相同的部件。


      圖1說明按照本發(fā)明的一個實施例的例示性計算機系統(tǒng)。
      附圖2說明按照本發(fā)明的一個實施例的高速緩沖存儲器(例如L0、L1、和/或L2)的組織結(jié)構(gòu)的一個實施例附圖3說明按照本發(fā)明的一個實施例提供的高速緩存污染免除指令165的格式的一個實施例。
      附圖4A和4B說明按照本發(fā)明的一個實施例的高速緩存污染免除指令的操作。
      附圖5A和5B說明按照本發(fā)明的另一個實施例的高速緩存污染免除指令的操作。
      附圖6是說明本發(fā)明的操作步驟的一個實施例的流程圖。
      在下面的說明中,多處特定的詳細(xì)說明是為了對本發(fā)明的徹底的理解。然而,應(yīng)該明白沒有這些特定的詳細(xì)說明可以實踐本發(fā)明。在其他情況下,為了容易理解本發(fā)明,公知的電路、結(jié)構(gòu)和技術(shù)不在這里詳細(xì)說明。
      附圖1說明按照本發(fā)明的原理實現(xiàn)的計算機系統(tǒng)100的一個實施例。計算機系統(tǒng)100包括處理器105、存儲裝置110和總線115。通過總線115,處理器105與存儲器110連接。存儲裝置110表示一個或者多個存儲數(shù)據(jù)的機構(gòu)。例如,存儲裝置110可以包括只讀存儲器(ROM)、隨機訪問存儲器(RAM)、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃速存儲設(shè)備、和/或其他的機器可讀的介質(zhì)。另外,多個用戶輸入/輸出設(shè)備,例如鍵盤120和顯示器125,也與總線115連接。處理器105表示任何結(jié)構(gòu)類型的中央處理器,例如多線程的CISC、RISC、VLIW、或者混合體系結(jié)構(gòu)計算機。另外,處理器105能夠用一個或者多個芯片實現(xiàn)。存儲裝置110表示一個或者多個存儲數(shù)據(jù)的機構(gòu)。例如存儲裝置110可以包括只讀存儲器(ROM)、隨機訪問存儲器(RAM)、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃速存儲設(shè)備、和/或其它的機器可讀的存儲介質(zhì)。總線115表示一個或者多個總線(例如AGP、PCI、ISA、X-Bus、VESA、等等)和橋(也叫做總線控制器)。這里是以單處理器的計算機系統(tǒng)來說明本實施例的,本發(fā)明能夠在多處理器的計算機系統(tǒng)中實現(xiàn)。
      除了其它設(shè)備以外,一個或者多個網(wǎng)絡(luò)130、TV廣播信號接收器131、傳真機/調(diào)制解調(diào)器132、數(shù)字化裝置133、聲音裝置134、圖形裝置135,可以任選地與總線115連接。網(wǎng)絡(luò)130和傳真機/調(diào)制解調(diào)器132表示一個或者多個網(wǎng)絡(luò)連接,用來通過機器可讀的介質(zhì)(例如載波)傳遞數(shù)據(jù)。數(shù)字化裝置133表示一個或者多個數(shù)字化圖象的設(shè)備(即掃描器、攝象機等等)。聲音裝置134表示一個或者多個輸入和/或輸出聲音的裝置(例如麥克風(fēng)、揚聲器、磁主存儲器等等)、圖形裝置135表示一個或者多個生成3-D圖象的設(shè)備(例如圖形卡)。附圖1也說明存儲裝置110已經(jīng)在里面存放了數(shù)據(jù)136和軟件137。數(shù)據(jù)136表示以這里說明的一個或多個格式存放的數(shù)據(jù)。軟件137表示必需的程序代碼,這些程序代碼用于執(zhí)行由參照附圖2和附圖4-6說明的任何一種或者全部的技術(shù)。當(dāng)然,存儲裝置110最好包括另外的軟件(這里沒有表示),這些軟件對理解本發(fā)明不是必需的。
      附圖1還說明處理器105包括譯碼器140、一組寄存器141、執(zhí)行裝置142、和用于執(zhí)行指令的內(nèi)部總線143。處理器105還包括二個內(nèi)部的高速緩沖存儲器0級(L0)高速緩沖存儲器與執(zhí)行裝置142連接,而1級(L1)高速緩沖存儲器與L0高速緩沖存儲器相連接。外部的高速緩沖存儲器(即2級(L2)高速緩沖存儲器172)通過高速緩沖存儲器的控制器170與總線115連接。各種高速緩沖存儲器的實際布局是由設(shè)計選擇的,或者可以由處理器的結(jié)構(gòu)確定。因此,可以明白L1高速緩沖存儲器可以被放置在處理器105的外部。在另一個實施例中,較多或者較少級的高速緩沖存儲器(不只是L1和L2)可以被實現(xiàn)。
      當(dāng)然,處理器105還包括其它的電路,這些電路對理解本發(fā)明不是必需的。譯碼器140、寄存器141和執(zhí)行裝置142用內(nèi)部總線143連接在一起。譯碼器140被用于把由處理器105接收的指令譯碼成控制信號,和/或微代碼入口點(MICROCODE ENTRY POINTS)。作為對這些控制信號和/或微代碼入口點的回應(yīng),執(zhí)行裝置142執(zhí)行適當(dāng)?shù)牟僮鳌J褂萌魏螖?shù)量的不同的機構(gòu)(例如查找表、硬件實現(xiàn)、PLA、等等)可以制成譯碼器140。這里,盡管通過一系列的if/then語句來表示各種指令的譯碼,但要明白一條指令的執(zhí)行不需要一系列的這些if/then語句處理。相反地,邏輯地執(zhí)行這個if/then語句處理的任何機構(gòu)被考慮在實現(xiàn)本發(fā)明的范圍之內(nèi)。
      譯碼器140包括取指裝置150和指令集160,取指裝置150用于取出指令,指令集160用于執(zhí)行對數(shù)據(jù)的操作。在一個實施例中,指令集160包括按照本發(fā)明配備的高速緩存污染免除指令165。高速緩存污染免除指令165的實施例包括下列指令字節(jié)屏蔽寫指令(例如MASKMOVQ)、移動64位的非暫時指令(例如MOVNTQ)、和移動對齊的四壓縮單浮點(FP)非暫時指令(例如MOVNTPS)。字節(jié)屏蔽指令通常執(zhí)行使用屏蔽模式的寫。屏蔽模式指明寫能夠被執(zhí)行的字位的位置。在一個實施例中,‘0’對應(yīng)于不寫(屏蔽),而‘1’對應(yīng)于寫(不屏蔽)。因此,00100100的屏蔽模式允許寫入位位置2和5,而其它位位置被屏蔽掉。MASKMOVQ和MOVNTQ指令司運用于整型數(shù)據(jù)。尤其是MASKMOVQ指令把表示整型數(shù)據(jù)的64位從寄存器移動到指定的內(nèi)存位置,而MOVNTQ指令把表示整型操作數(shù)的64位從寄存器移動到內(nèi)存。MOVNTPS指令可運用于壓縮的浮點數(shù)據(jù),其中,在具有預(yù)先確定位數(shù)的兩組數(shù)之間的操作結(jié)果,被存放在具有相同的預(yù)先確定位數(shù)的一個寄存器中,即操作數(shù)的尺寸或配置是與結(jié)果寄存器相同的。某些高速緩存污染免除指令被說明用于特定類型和特定總量的數(shù)據(jù),另一個實施例能夠支持對不同的類型和不同量的數(shù)據(jù)操作的指令。
      除了高速緩存污染免除指令165以外,處理器105能夠包括新指令和/或相似于或者相同于那些在現(xiàn)有的通常處理器中能夠找到的指令。例如,在一個實施例中,處理器105支持由現(xiàn)有的處理器使用的與Intel結(jié)構(gòu)指令集兼容的指令集(例如奔騰Ⅱ處理器)。本發(fā)明的另外的實施例可以包含較多或者較少以及不同的指令,而仍然使用本發(fā)明的學(xué)說。
      寄存器141表示在處理器105上的用來存儲信息的存儲裝置,這些信息有控制/狀態(tài)信息、標(biāo)量的和/或壓縮的整型數(shù)據(jù)、浮點數(shù)據(jù)、等等。應(yīng)該明白本發(fā)明的一個方面是所描述的指令集,按照本發(fā)明的這一方面,用于存放數(shù)據(jù)的存儲區(qū)域不是關(guān)鍵的。這里術(shù)語數(shù)據(jù)處理系統(tǒng)被應(yīng)用于指處理數(shù)據(jù)的任何機器,包括參考附圖1說明的計算機系統(tǒng)。
      附圖2說明高速緩沖存儲器的組織結(jié)構(gòu)(例如L0、L1和/或L2)的一個實施例。為了現(xiàn)在討論的目的,高速緩沖存儲器L0、L1和/或L2將被稱作高速緩沖存儲器200。高速緩沖存儲器200包括高速緩存目錄210和多個高速緩存入口2201-220n(總稱為高速緩存入口220)。高速緩存目錄210存放許多在存儲裝置110中的存儲器單元的地址2121-212n,并對應(yīng)于高速緩存入口2201-220n。在存儲裝置110中的存儲器單元具有地址2301-230n。
      附圖3說明按照本發(fā)明配備的高速緩存污染免除指令165的格式的一個實施例。高速緩存污染免除指令165包括操作碼(OP CODE)310和操作數(shù)312,操作碼310指明高速緩存污染免除指令165的操作,操作數(shù)312指明指令165將進(jìn)行操作的目標(biāo)數(shù)據(jù)的地址。為了理解本發(fā)明,必須懂得涉及到高速緩存污染免除技術(shù)的某些術(shù)語。本發(fā)明運行在主機中,其中,被訪問的特定數(shù)據(jù)將具有(或者不具有)暫時位置。暫時位置是一個與數(shù)據(jù)有關(guān)的屬性,并且,由在將來多久程序?qū)⒃L問該數(shù)據(jù)來確定。因此,對每一種數(shù)據(jù)模式,數(shù)據(jù)可以具有暫時位置(T)或者不具有暫時位置(NT),這與高速緩沖存儲器或者在分層次的高速緩存中的高速緩存的級有關(guān)。
      在附圖1中,說明了分層次的高速緩存的三級(表示為級L0、L1和L2),其中,在每一級處對于分類被訪問的數(shù)據(jù)模式,都有兩種可能性。類型被表示為1)暫時(T);和2)非暫時(NT)。類型是以與計算機系統(tǒng)的訪問數(shù)據(jù)相關(guān)的屬性為基礎(chǔ)的。會理解到分層次的高速緩存的三級被表示在附圖1中,但是可以有較多或者較少的級。例如,本發(fā)明可以僅有一個高速緩存的級(僅有L0)或者僅有二個高速緩存的級(僅有L0和L1),或者有四個或更多的高速緩存的級。
      在本發(fā)明的實施例中,暫時性質(zhì)是與存放或保留的數(shù)據(jù)與處理器105有多么接近相聯(lián)系在一起的。于是,暫時性質(zhì)是與在給定級處的數(shù)據(jù)的使用或重復(fù)使用相聯(lián)系在一起的。例如,如果在程序中的特定數(shù)據(jù)模式,相對于L1,被標(biāo)識為T,而相對于L2,被標(biāo)識為NT,那么,這個數(shù)據(jù)不久將在L1高速緩存中被使用,但是在不久的將來不在L2高速緩存中被使用。數(shù)據(jù)將被使用或者重復(fù)使用的有多少快的暫時時間間隔(TEMPORAL DISTANCE),依賴特定的計算機系統(tǒng)和軟件的應(yīng)用。當(dāng)在給定的高速緩存的級處的數(shù)據(jù)訪問被認(rèn)為是T時,在不久的將來的某一時間片內(nèi)(例如在X條指令內(nèi)),它可能將被重復(fù)使用(假定沒有轉(zhuǎn)移發(fā)生,等等)。而在給定級處的數(shù)據(jù)訪問被認(rèn)為是NT時,在指定的時間片內(nèi),它可能將不被重復(fù)使用。
      因此,按照數(shù)據(jù)需要的活動為基礎(chǔ),能夠設(shè)置指明的暫時標(biāo)準(zhǔn)。于是,本發(fā)明提供一種模式,其中,高速緩存污染免除能夠在高速緩沖存儲器被實現(xiàn),或者根據(jù)與在特定的級處的數(shù)據(jù)相關(guān)的屬性在每一高速緩存的分層次的級處被實現(xiàn)。尤其是通過使用高速緩存污染免除指令165處理數(shù)據(jù),程序員指出有關(guān)的數(shù)據(jù)不具有暫時位置,即有關(guān)的數(shù)據(jù)是非暫時的。然后,根據(jù)使用的高速緩存污染免除指令165處理有關(guān)的數(shù)據(jù)。因此,高速緩存污染免除可以基于在高速緩存的每一級的分類,即沒有、一個、或者多于一個。
      在附圖1中,只表示L0、L1、和L2級,但是很清楚較多的或者較少的級(例如一級)能夠被容易地實現(xiàn)。在附圖4-6中說明的實施例參照一個高速緩存的級描述本發(fā)明。
      本發(fā)明的高速緩存污染免除技術(shù)現(xiàn)在將被說明。在接收到高速緩存污染免除指令165時,高速緩沖存儲器200的高速緩存目錄210首先被查詢,確定在操作數(shù)312中指明的地址是否與存放在高速緩存目錄210中的地址之一相匹配。如果匹配,那么,就有一次高速緩存命中,并且,對應(yīng)的數(shù)據(jù)對象(即對應(yīng)于在操作數(shù)中指明的地址的高速緩沖存儲器的內(nèi)容)被修改。在高速緩沖存儲器的不同的級被使用(例如L0、L1和L2)的一個實施例中,任何一個高速緩存的級或者任何高速緩沖存儲器的組合都被修改。在另一個實施例中,在高速緩沖存儲器中的和在主存儲器中的對應(yīng)的數(shù)據(jù)對象都被修改。
      如果在操作數(shù)312中指明的地址不與存放在高速緩存目錄210中的任何一個地址相匹配。那么,就有一次高速緩存的未命中。在這種情況下,就沒有高速緩存行填入,即在存儲裝置110中的對應(yīng)的數(shù)據(jù)對象將不被傳送到高速緩沖存儲器210中。不執(zhí)行高速緩存行的填入,處理器105避免了污染高速緩存。
      附圖4A和4B說明按照本發(fā)明的實施例的高速緩存污染免除指令的操作,其中,有一次高速緩存的命中。在接收到高速緩存污染免除指令165’時,高速緩沖存儲器200的高速緩存目錄210被查詢,確定地址(例如在操作數(shù)312’中指明的地址X)是否與存放在高速緩存目錄210中的地址之一相匹配。如果高速緩沖存儲器200是一個內(nèi)部高速緩沖存儲器(即L0或者L1高速緩沖存儲器),那么,處理器105進(jìn)行查詢(POLLING)。如果高速緩沖存儲器200是一個外部高速緩沖存儲器(例如L2高速緩沖存儲器),那么,查詢由高速緩存控制器進(jìn)行。在一個實施例中,比較裝置410比較在操作數(shù)312’中指明的地址X,確定它是否與存放在高速緩存目錄210中的地址2121-212n之一相匹配(附圖4A)。在此情況下,有一個地址相匹配,指出有一個高速緩存命中,并且,比較裝置410送出第一個信號到高速緩存行填入邏輯電路420,確定信號是否應(yīng)該被送到對應(yīng)于在高速緩存目錄210中的地址X的數(shù)據(jù)對象2124,或者,既送到數(shù)據(jù)對象2124又送到在存儲裝置110中的1104里對應(yīng)的數(shù)據(jù)對象,修改數(shù)據(jù)對象2124和/或1104。然后,需要的信號被送出,并且,對應(yīng)的數(shù)據(jù)對象2124和/或1104的修改被執(zhí)行(附圖4B)。
      附圖5A和5B說明按照本發(fā)明的另一個實施例的高速緩存污染免除指令的操作,其中,有一次高速緩存的未命中。在接收到高速緩存污染免除指令165”時,高速緩沖存儲器200的高速緩存目錄210被查詢,確定地址(例如在操作數(shù)312”中指明的地址Y)是否與存放在高速緩存目錄210中的地址之一相匹配。尤其是,比較裝置410比較在操作數(shù)312”中指明的地址Y,確定它是否與存放在高速緩存目錄210中的地址2121-212n之一相匹配(附圖5A)。在此情況下,在操作數(shù)312”中指明的地址Y不與存放在高速緩存目錄210中的地址2121-212n中的任何一個地址相匹配。結(jié)果,比較裝置410送出第二個信號到高速緩存行填入邏輯電路420,指明有一次高速緩存的未命中。作為回應(yīng),高速緩存行填入邏輯電路僅僅送出一個信號到存儲裝置110,修改地址Y的內(nèi)容。然而,不執(zhí)行高速緩存行填入,即對應(yīng)的在存儲裝置110中的數(shù)據(jù)對象1105不被傳送到高速緩沖存儲器210。因此,高速緩沖存儲器210保持原封不動,并且,不被非暫時數(shù)據(jù)污染。
      在一個實施例中,高速緩存污染免除指令165是一條弱排序指令。即當(dāng)處理許多條高速緩存污染免除指令165時,許多條高速緩存污染免除指令的執(zhí)行不是按照與它們被譯碼器中的取指部件取出的相同順序執(zhí)行的。在另一個實施例中,高速緩存污染免除指令165具有寫折疊(WRITE COLLAPSING)性質(zhì),即,當(dāng)對同一地址執(zhí)行連續(xù)的存儲時,只有最后一次存儲在總線115上是可見的。在又一個實施例中,高速緩存污染免除指令165具有寫結(jié)合(WRITE CCMBINING)性質(zhì),即,在寫操作被送到存儲裝置110以前,對同一高速緩存行的可高速緩存的存儲的未命中被結(jié)合在一起。
      附圖6是說明本發(fā)明的操作步驟的一個實施例的流程圖。從開始狀態(tài)開始,過程600繼續(xù)到判斷框610,在那里,它確定高速緩存污染免除指令165中的地址是否與高速緩存目錄210中的地址之一相匹配。如果匹配,那么,過程600前進(jìn)到判斷框612,在那里,它確定是否僅僅是對應(yīng)的高速緩存入口將要被修改,或者確定是否對應(yīng)的高速緩存入口和存儲裝置110中的對應(yīng)的入口都必需被修改。如果僅僅是對應(yīng)的高速緩存入口將要被修改,那么,過程600前進(jìn)到處理框614,在那里,它修改高速緩沖存儲器中的對應(yīng)的入口(框614)。否則,它修改對應(yīng)的高速緩存入口和存儲裝置110中的對應(yīng)的入口。兩種情況中不論發(fā)生那一種情況,過程600都前進(jìn)到處理框618,那里,處理結(jié)束。在判斷框610處,如果它確定在高速緩存污染免除指令165中的地址不與高速緩存目錄210中的地址之一相匹配,那么,過程600不執(zhí)行高速緩存行填入,代之以,僅修改在存儲裝置110中的對應(yīng)的入口(處理框620)。
      因此,通過在非暫時訪問期間不執(zhí)行高速緩存行填入,本發(fā)明的使用提高了系統(tǒng)性能。尤其是,因為在非暫時訪問期間沒有高速緩存行填入被執(zhí)行,那么,通過減少對高速緩存的競爭,改善了系統(tǒng)的性能,因為頻繁使用的數(shù)據(jù)(即暫時數(shù)據(jù))不會被非暫時數(shù)據(jù)從高速緩存中驅(qū)逐出去。結(jié)果,在非暫時訪問期間的高速緩存的污染或者干擾被減至最小。
      盡管本發(fā)明的一個優(yōu)選的實施例已經(jīng)被說明,但應(yīng)該會明白本發(fā)明不被限制于這樣的使用。另外,盡管參照幾個實施例已經(jīng)說明本發(fā)明,本領(lǐng)域的熟練技術(shù)人員將會認(rèn)識到本發(fā)明不被限制于前面說明的實施例。在所附的權(quán)利要求的精神和范圍內(nèi)進(jìn)行修改和替換,能夠?qū)崿F(xiàn)本發(fā)明的方法和裝置。因此,前面的描述被認(rèn)為是有關(guān)本發(fā)明的說明,而不是限制本發(fā)明。
      權(quán)利要求
      1.一種配備有高速緩沖存儲器管理的計算機系統(tǒng),包括一個主存儲器,該主存儲器具有許多主存儲器地址,每一個地址有對應(yīng)的數(shù)據(jù)入口;一個與主存儲器連接的處理器;至少一個與所述處理器相連接的高速緩沖存儲器,所述至少一個高速緩沖存儲器具有一個高速緩存目錄和一個高速緩存控制器,高速緩存目錄有許多地址,高速緩存控制器具有與所述許多地址相對應(yīng)的許多數(shù)據(jù)入口,所述處理器接收一條具有操作數(shù)地址的指令,所述處理器確定所述操作數(shù)地址是否與所述高速緩存目錄中的許多地址中的一個地址相匹配,如果匹配,所述處理器修改在所述高速緩存控制器中的與所述匹配的地址對應(yīng)的數(shù)據(jù)人口,否則,修改在所述主存儲器中的與所述操作數(shù)地址相對應(yīng)的數(shù)據(jù)入口。
      2.按照權(quán)利要求1所述的計算機系統(tǒng),其中,所述處理器還修改在所述主存儲器中的數(shù)據(jù)入口,如果所述操作數(shù)地址是與所述高速緩存目錄中的所述許多地址中的一個地址相匹配的話。
      3.按照權(quán)利要求1所述的計算機系統(tǒng),其中,所述指令對非暫時數(shù)據(jù)進(jìn)行操作。
      4.按照權(quán)利要求1所述的計算機系統(tǒng),其中,所述指令對浮點型數(shù)據(jù)進(jìn)行操作。
      5.按照權(quán)利要求1所述的計算機系統(tǒng),其中,所述指令對整型數(shù)據(jù)進(jìn)行操作。
      6.按照權(quán)利要求1所述的計算機系統(tǒng),還包括與所述處理器連接的比較裝置,所述比較裝置把操作數(shù)地址與在所述高速緩存目錄中的許多地址進(jìn)行比較,所述比較裝置提供一個指示比較操作的狀態(tài)的輸出信號。
      7.按照權(quán)利要求6所述的計算機系統(tǒng),還包括與所述比較裝置和所述處理器連接的高速緩存行填入邏輯電路,當(dāng)所述比較裝置確定操作數(shù)地址與所述高速緩存目錄中的所述許多地址之一匹配時,根據(jù)來自所述處理器的命令所述高速緩存行填入邏輯電路生成一個輸出信號到所述至少一個高速緩沖存儲器和所述主存儲器之一,修改在所述至少一個高速緩沖存儲器和所述主存儲器之一中的對應(yīng)的數(shù)據(jù)入口。
      8.按照權(quán)利要求6所述的計算機系統(tǒng),還包括與所述比較裝置和所述處理器連接的高速緩存行填入邏輯電路,當(dāng)所述比較裝置確定操作數(shù)地址與所述高速緩存目錄中的所述許多地址之一匹配時根據(jù)來自所述處理器的命令,所述高速緩存行填入邏輯電路生成一個輸出信號到所述至少一個高速緩沖存儲器和所述主存儲器,修改在所述至少一個高速緩沖存儲器和所述主存儲器中的對應(yīng)的數(shù)據(jù)入口。
      9.按照權(quán)利要求6所述的計算機系統(tǒng),還包括與所述比較裝置和所述處理器連接的高速緩存行填入邏輯電路,當(dāng)所述比較裝置確定操作數(shù)地址與所述高速緩存目錄中的所述許多地址之一不匹配時,根據(jù)來自所述處理器的命令,所述高速緩存行填入邏輯電路生成一個輸出信號到所述主存儲器,修改在所述主存儲器中的對應(yīng)的數(shù)據(jù)入口。
      10.一種包括計算機執(zhí)行的以下步驟的方法接收具有操作數(shù)地址的指令;確定所述操作數(shù)地址是否與高速緩存目錄中的許多地址中的一個地址匹配;如果所述操作數(shù)地址與所述高速緩存目錄中的所述許多地址中的一個地址相匹配,那么,修改在高速緩存控制器中的與所述相匹配的地址對應(yīng)的數(shù)據(jù)入口,否則,修改在主存儲器中的與所述操作數(shù)地址相對應(yīng)的數(shù)據(jù)入口。
      11.按照權(quán)利要求10所述的方法,還包括如果所述操作數(shù)地址與所述高速緩存目錄中的所述許多地址中的一個地址相匹配,那么,修改在所述主存儲器中的數(shù)據(jù)入口。
      12.按照權(quán)利要求10所述的方法,其中,所述指令執(zhí)行對非暫時數(shù)據(jù)的操作。
      13.按照權(quán)利要求10所述的方法,其中,所述指令執(zhí)行對浮點型數(shù)據(jù)的操作。
      14.按照權(quán)利要求10所述的方法,其中,所述指令執(zhí)行對整型數(shù)據(jù)的操作。
      15.按照權(quán)利要求10所述的方法,還包括把操作數(shù)地址與在所述高速緩存目錄中的所述許多地址進(jìn)行比較,并且提供一個指示比較操作狀態(tài)的輸出信號。
      16.按照權(quán)利要求15所述的方法,還包括如果操作數(shù)地址與在所述高速緩存目錄中的所述許多地址中的一個地址相匹配,那么,生成一個輸出信號到所述高速緩存控制器和所述主存儲器中之一,修改所述高速緩存控制器和所述主存儲器中之一中的對應(yīng)的數(shù)據(jù)入口。
      17.按照權(quán)利要求15所述的方法,還包括如果操作數(shù)地址與在所述高速緩存目錄中的所述許多地址中的一個地址相匹配,就根據(jù)來自所述處理器的命令生成一個輸出信號到所述高速緩存控制器和所述主存儲器,修改所述高速緩存控制器和所述主存儲器中的對應(yīng)的數(shù)據(jù)入口。
      18.按照權(quán)利要求15所述的方法,還包括如果操作數(shù)地址不與在所述高速緩存目錄中的所述許多地址中的一個地址相匹配,就生成一個輸出信號到所述主存儲器,修改所述主存儲器中的對應(yīng)的數(shù)據(jù)入口。
      全文摘要
      一種配備有高速緩沖存儲器管理的計算機系統(tǒng)和方法。該系統(tǒng)包括:一個具有許多主存儲器地址的主存儲器,每一個主存儲器地址有對應(yīng)的數(shù)據(jù)入口;和一個與主存儲器連接的處理器。至少有一個高速緩沖存儲器與處理器連接。至少一個高速緩沖存儲器具有一個高速緩存目錄和一個高速緩存控制器,高速緩存目錄有許多地址,高速緩存控制器有與許多地址相對應(yīng)的許多數(shù)據(jù)入口,處理器接收具有操作數(shù)地址的指令,并確定操作數(shù)地址是否與高速緩存目錄中的許多地址中的一個地址相匹配。
      文檔編號G06F12/08GK1236130SQ9910553
      公開日1999年11月24日 申請日期1999年3月31日 優(yōu)先權(quán)日1998年3月31日
      發(fā)明者S·謝努帕泰, S·S·塔卡, T·胡夫, V·彭特科夫斯基 申請人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1