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

包含用于支持每周期多次存取的高速緩存存儲器的微處理器的制作方法

文檔序號:6422497閱讀:209來源:國知局
專利名稱:包含用于支持每周期多次存取的高速緩存存儲器的微處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明與微處理器領(lǐng)域有關(guān),更具體而言,是指微處理器內(nèi)部的高速緩存存儲器管理。
背景技術(shù)
典型的計算機系統(tǒng)可包含一個或多個微處理器,而這些微處理器可連接一個或多個的系統(tǒng)存儲器。這些微處理器可以運行代碼并對存儲在系統(tǒng)存儲器內(nèi)的數(shù)據(jù)作運算。注意文中所用的術(shù)語“處理器(processor)”與微處理器(microprocessor)同義。為了使指令和數(shù)據(jù)的提取和存儲更便利,處理器通常采用某種形式的存儲器系統(tǒng)。此外,為了加速系統(tǒng)存儲器的存取動作,存儲器系統(tǒng)可包含一個或多個高速緩存存儲器。例如,有些微處理器可能具備有一級或多級的高速緩存存儲器。在典型的微處理器中會使用第一級高速緩存(L1 cache)和第二級高速緩存(L2 cache),而某些新的處理器也可能使用第三級高速緩存(L3 cache)。許多舊型的處理器會把第一級高速緩存建構(gòu)在芯片內(nèi),而將第二級高速緩存建構(gòu)在芯片外。但是,為了進一步改善存儲器的存取時間,新的處理器會在芯片內(nèi)建構(gòu)第二級高速緩存。
一般而言,第二級高速緩存會比第一級高速緩存具有更大的容量但速度則較慢。此外,第二級高速緩存通常將指令高速緩存和數(shù)據(jù)整合成單一的高速緩存,而第一級高速緩存則可能實施為分開的指令高速緩存和數(shù)據(jù)高速緩存。第一級數(shù)據(jù)高速緩存用來保存由微處理器執(zhí)行程序時最近讀取或?qū)懭氲臄?shù)據(jù)。第一級指令高速緩存的作用類似第一級數(shù)據(jù)高速緩存,但它是保存最近執(zhí)行的指令。必須注意的是,為方便起見將第一級指令高速緩存和第一級數(shù)據(jù)高速緩存簡稱為第一級高速緩存。第二級高速緩存則用來保存不適用于第一級高速緩存的指令和數(shù)據(jù)。第二級高速緩存可以是獨有的(例如,它存儲第一級高速緩存所沒有的數(shù)據(jù))或是包含的(例如,它存儲第一級高速緩存的數(shù)據(jù)備份)。
存儲器系統(tǒng)一般采用某種形式的高速緩存一致性機制(cachecoherence mechanism)以確保將正確數(shù)據(jù)提供給請求者。高速緩存一致性機制一般使用在單一請求內(nèi)所傳送數(shù)據(jù)的大小作為一致性的單位。此一致性的單位通常稱為高速緩存線(cache line)。例如,有些處理器使用64字節(jié)的高速緩存線,而其它的處理器則使用32字節(jié)的高速緩存線。還有其它的處理器采用其它字節(jié)數(shù)的高速緩存線。如果第一級高速緩存和第二級高速緩存沒有滿足請求,那么即使是僅請求一個字(word),也將整個多字的高速緩存線從主存儲器轉(zhuǎn)移到第一級和第二級高速緩存。同樣地,如果對一個字的請求在第一級高速緩存得不到,但卻可在第二級高速緩存完全得到,則將整個包含所請求字的第二級高速緩存線從第二級高速緩存轉(zhuǎn)移到第一級高速緩存。因此,小于各自高速緩存線的請求的數(shù)據(jù)單位可能導致整個高速緩存線在第二級級高速緩存和第一級高速緩存之間轉(zhuǎn)移。這種轉(zhuǎn)移動作通常需要許多個周期才能完成。
在讀取或?qū)懭肟筛咚倬彺娴拇鎯ζ髌陂g,首先檢查第一級高速緩存是否可提供請求的信息(例如,指令或數(shù)據(jù))。若可得到信息,即為命中,若無法得到信息即為未命中。若產(chǎn)生未命中,則檢查第二級高速緩存。因此,當?shù)谝患壐咚倬彺姘l(fā)生未命中,而在第二級高速緩存內(nèi)命中時,這些信息將由第二級高速緩存轉(zhuǎn)移到第一級高速緩存。如下所述,第二級高速緩存和第一級高速緩存之間的信息轉(zhuǎn)移量通常是一個高速緩存線。此外,依據(jù)第一級高速緩存可使用的空間,可以從第一級高速緩存中清除一個高速緩存線以便為新的高速緩存線騰出空間,并可將清除的高速緩存線接著存儲在第二級高速緩存?,F(xiàn)代的處理器可通過執(zhí)行多次的數(shù)據(jù)轉(zhuǎn)移以便達到高速緩存數(shù)據(jù)轉(zhuǎn)移的最佳化。某些傳統(tǒng)的處理器,在這些高速緩存線“交換”的期間無法處理第一級高速緩存和第二級高速緩存的其它存取動作。

發(fā)明內(nèi)容
本發(fā)明提出包含有用于支持每周期多次存取的第二級高速緩存存儲器的微處理器的各種實施例。在一個實施例中,微處理器包含有連接高速緩存存儲器子系統(tǒng)的執(zhí)行單元,此子系統(tǒng)包含有連接到多個總線的高速緩存存儲器。高速緩存存儲器包含多個可獨立存取的存儲塊(storage block)。這些總線被連接成可將多個高速緩存存取請求傳送至各個存儲塊。響應在多個高速緩存總線中傳送的多個高速緩存存取請求,可同時存取不同的存儲塊。
在一個實施例中,高速緩存存儲器可包含多個可獨立存取的標志單元(tag unit),這些標志單元被連接到多個存儲塊并建構(gòu)成存儲多個包含地址標志值的標志。響應所接收的多個高速緩存存取請求,將可同時存取不同的多個標志單元。
在另一個實施例中,多個存儲塊的每一個均包含多個可獨立存取的存儲子塊。故可以同時存取任意兩個與不同存儲塊相關(guān)聯(lián)的子塊,另外,可以在連續(xù)的周期依序存取任意兩個與相同存儲塊相關(guān)聯(lián)的子塊。


圖1是顯示微處理器的一個實施例的方塊圖;圖2是顯示圖1中微處理器的高速緩存子系統(tǒng)的一個實施例的方塊圖;圖3是顯示圖2中高速緩存子系統(tǒng)的一個存儲塊實施例的存取順序圖解;圖4是顯示圖1中微處理器的高速緩存子系統(tǒng)的另一個實施例的方塊圖;圖5是顯示圖2和圖4的高速緩存子系統(tǒng)的一個實施例的操作時序圖;圖6是顯示圖2和圖4的高速緩存子系統(tǒng)的流水線操作時序圖;圖7是顯示包含有圖1微處理器的計算機系統(tǒng)的一個實施例的方塊圖。
雖然本發(fā)明可以有各種不同的變型和替代的形式,其特定的實施例將經(jīng)由圖中的示例顯示,同時在此做詳細說明。然而,必須了解的是那些附圖和詳細說明并不是要將本發(fā)明的范圍限制在所提出的特殊形式上,相反的,本發(fā)明將涵蓋所有由所附權(quán)利請求為本發(fā)明定義的精神和目標內(nèi)的所有變型、等效物和替代的形式。
100微處理器101A 指令高速緩存101B 數(shù)據(jù)高速緩存102預先譯碼單元103分支預測單元104指令譯碼器105提取譯碼控制106指令控制單元118程序調(diào)度裝置124執(zhí)行單元126加載存儲單元130第二級高速緩存140總線接口單元200高速緩存子系統(tǒng)210標志陣列210A、210B、210C、210N標志單元220主存儲陣列220A、220B、220C、220N存儲塊225高速緩存線 230高速緩存控制231請求隊列240高速緩存總線400高速緩存子系統(tǒng) 415CPU時鐘430高速緩存控制451讀取使能455寫入使能700計算機系統(tǒng)710系統(tǒng)存儲器 715存儲器總線720輸入/輸出節(jié)點 725系統(tǒng)總線730圖形適配器 735圖形總線740外圍設(shè)備745外圍設(shè)備總線具體實施方式
現(xiàn)在參考圖1,圖中顯示了微處理器100的實施例方塊圖。將微處理器100建構(gòu)成用于執(zhí)行存儲在系統(tǒng)存儲器(沒有顯示)中的指令。這些指令很多會對存儲在系統(tǒng)存儲器中的數(shù)據(jù)做運算。必須注意的是系統(tǒng)存儲器實際上可能分布在整個計算機系統(tǒng),且可以由一個或多個如微處理器100的微處理器存取。在一個實施例中,微處理器100是配備有x86系統(tǒng)結(jié)構(gòu)的微處理器的示例,例如AthlonTM微處理器。然而,包含其它形式的微處理器的實施例也是可以考慮的。
在所列舉的實施例中,微處理器100包含第一個第一級(L1)高速緩存和第二個第一級(L1)高速緩存即一個指令高速緩存101A和一個數(shù)據(jù)高速緩存101B。依據(jù)其應用,第一級高速緩存可以是整合在一起的高速緩存或是分開的高速緩存。為方便起見,不論是哪種情形,在適當?shù)牡胤?,指令高速緩?01A和數(shù)據(jù)高速緩存101B將整體視為第一級高速緩存。微處理器100也包含有一個預先譯碼單元102(pre-decode unit)和分支預測邏輯103(branch prediction logic),其可和指令高速緩存101A接近地連接。微處理器100也包含連接到指令譯碼器104(instruction decoder)的提取與譯碼控制單元105(fetch anddecode control unit);此兩者都連接到指令高速緩存101A。指令控制單元106(instruction control unit)連接到指令譯碼器104以便由此接收指令,再將運算發(fā)送到程序調(diào)度裝置118(scheduler)。程序調(diào)度裝置118連接到指令控制單元106并由此接收運算,再將運算發(fā)送到執(zhí)行單元124(execution unit)。執(zhí)行單元124包含加載/存儲單元126(load/store unit),其被建構(gòu)成用于執(zhí)行對數(shù)據(jù)高速緩存101B的存取。由執(zhí)行單元124所產(chǎn)生的結(jié)果可用作其后的指令的操作數(shù)值,和/或存儲到寄存器文件(沒有顯示)。再者,微處理器100包含內(nèi)建于芯片的第二級(L2)高速緩存130,其連接在指令高速緩存101A、數(shù)據(jù)高速緩存101B和系統(tǒng)存儲器之間。
指令高速緩存101A可存儲執(zhí)行前的指令。與指令高速緩存106相關(guān)的功能有指令提取(讀)、指令預先提取、指令預先譯碼和分支預測。指令碼可以通過緩沖接口單元140(buffer interface unit)從系統(tǒng)存儲器預先提取程序代碼,或是如同接著要詳細說明的方法,由第二級高速緩存130取得以提供至指令高速緩存101A。指令高速緩存101A可以用各種架構(gòu)實現(xiàn)(例如,組相關(guān)(set-associative)、完全相關(guān)(fully-associative)或直接映射(direct-mapping))。在一個實施例中,將指令高速緩存101A建構(gòu)成用于存儲多個高速緩存線,其中在指令高速緩存101A的給定高速緩存線內(nèi)的字節(jié)數(shù)目是由其應用決定的。再者,在另一個實施例中,指令高速緩存101A是由靜態(tài)隨機存取存儲器(static random access memory,SRAM)實現(xiàn),盡管如此,包含其它存儲器形式的實施例也是可以考慮的。必須注意的是在一個實施例中,可以將控制電路(沒有顯示)包含在指令高速緩存101A內(nèi),用來控制高速緩存線的填寫、取代和一致性。
指令譯碼器104建構(gòu)成將指令譯碼為各種運算,這些運算是利用存儲在芯片上常稱為微指令只讀存儲器(microcode ROM,MROM)的只讀存儲器內(nèi)的運算,以直接或間接譯碼的方式得到。指令譯碼器104可以將特定的指令譯碼成執(zhí)行單元124內(nèi)部可執(zhí)行的運算。簡單的指令可對應到單一運算。在某些實施例中,較復雜的指令可對應到多個運算。
指令控制單元106可以控制到執(zhí)行單元124的運算的發(fā)送。在一個實施例中,指令控制單元106可以包含重新排序緩沖器(reorderbuffer),用來保留由指令譯碼器104接收到的運算。再者,指令控制單元106可建構(gòu)成用于控制運算的退出。
在指令控制單元106的輸出所提供的運算和立即數(shù)據(jù)可依指定路徑傳送到程序調(diào)度裝置118。程序調(diào)度裝置118可包含一個或多個程序調(diào)度裝置單元(例如,整數(shù)程序調(diào)度單元和浮點程序調(diào)度單元)。值得注意的是在此所提的程序調(diào)度裝置是一種這樣的裝置,其可以檢測何時運算已經(jīng)準備就序并將已就序的運算傳送給一個或多個處理單元。例如,保留站(reservation station)就是一個程序調(diào)度裝置。每一個程序調(diào)度裝置118均能為等待傳送到執(zhí)行單元124的多個等待運算保留運算信息(例如,位編碼的執(zhí)行位和操作數(shù)值、操作數(shù)標志、和/或立即數(shù)據(jù))。在某些實施例中,各程序調(diào)度裝置118可能無法提供操作數(shù)值的存儲。但各程序調(diào)度裝置卻可以監(jiān)控在寄存器文件內(nèi)已發(fā)送的運算和可獲得的結(jié)果,以決定何時操作數(shù)值準備就緒,可由執(zhí)行單元124讀取。在某些實施例中,每一個程序調(diào)度裝置118會對應于一個專用的執(zhí)行單元124。而在其它的實施例中,單個程序調(diào)度裝置118可以發(fā)送運算到一個以上的執(zhí)行單元124。
在一個實施例中,執(zhí)行單元124包含一個執(zhí)行單元,例如,整數(shù)執(zhí)行單元。然而在其它的實施例中,微處理器100可以是超標量(superscalar)處理器,在這種情況,執(zhí)行單元124可能包含多個執(zhí)行單元(例如,多個整數(shù)執(zhí)行單元(沒有顯示)用于執(zhí)行加法和減法等算術(shù)運算、移位、旋轉(zhuǎn)、邏輯運算以及分支運算。此外,也可包含一個或更多的浮點運算單元(沒有顯示)以提供浮點運算??蓸?gòu)建一個或更多的執(zhí)行單元以執(zhí)行地址的產(chǎn)生,這些地址針對由加載/存儲單元126執(zhí)行的加載和存儲存儲器運算。
克構(gòu)建加載/存儲單元126以提供在執(zhí)行單元124和數(shù)據(jù)高速緩存101B間的接口。在一個實施例中,加載/存儲單元126可建構(gòu)成載入/存儲緩沖器(沒有顯示),該緩沖器具有多個存儲位置可用于存儲尚未執(zhí)行的加載或存儲動作所需要的數(shù)據(jù)和地址信息。加載/存儲單元126也可針對稍早加載的指令和最近存入的指令執(zhí)行相依性檢查以確保數(shù)據(jù)的一致性得以持續(xù)。
數(shù)據(jù)高速緩存101B是用來存儲在加載/存儲單元126和系統(tǒng)存儲器之間轉(zhuǎn)移的數(shù)據(jù)的高速緩存存儲器。類似上述的指令高速緩存101A,數(shù)據(jù)高速緩存101B可以各種特定的存儲器架構(gòu)實現(xiàn),例如組相關(guān)架構(gòu)。在一個實施例中,數(shù)據(jù)高速緩存101B和指令高速緩存101A是以不同的高速緩存單元實現(xiàn)。盡管如上述,仍可考慮替代的實施例,也就是將數(shù)據(jù)高速緩存101B和指令高速緩存101A整合成單一個單元。在一個實施例中,數(shù)據(jù)高速緩存101B可存儲多個高速緩存線,在此,在數(shù)據(jù)高速緩存101B的給定高速緩存線內(nèi)的字節(jié)數(shù)目是由應用決定。類似指令高速緩存101A,在一個實施例中,數(shù)據(jù)高速緩存101B是以靜態(tài)隨機存取存儲器(SRAM)實現(xiàn),盡管如此,在其它實施例中其它形式存儲器是可以預期的。必須注意的是有一個實施例中可以將控制電路(沒有顯示)包含在數(shù)據(jù)高速緩存101B內(nèi),用來控制高速緩存線的填寫、取代和一致性。
第二級高速緩存130也是一種高速緩存存儲器,且可建構(gòu)成用于存儲指令和/或數(shù)據(jù)。在所顯示的實施例中,第二級高速緩存130可以是內(nèi)建于芯片的高速緩存而且可建構(gòu)成完全相關(guān)、組相關(guān)或兩者組合的形式。在一個實施例中,第二級高速緩存130可存儲多個高速緩存線。必須注意的是第二級高速緩存130可包含有控制電路(沒有顯示在圖1中),用來控制高速緩存線的填寫、取代和一致性。
將在下文中參考圖4進行更詳細的說明,在一個實施例中,第二級高速緩存130的一部分(例如,第二級高速緩存130的主高速緩存存儲陣列部分)可以非同步的方式存取,而第二級高速緩存130的另外一部分(例如,對應于主陣列的第二級高速緩存130標志陣列)可以同步和全流水線的方式存取。此外,將主存儲陣列單元排列成多個可獨立存取的存儲塊或存儲單元,其可以和其它的存儲塊同時存取。
總線接口單元140可建構(gòu)成在系統(tǒng)存儲器和第二級高速緩存130之間以及在系統(tǒng)存儲器、第一級指令高速緩存101A和第一級數(shù)據(jù)高速緩存101B之間轉(zhuǎn)移指令和數(shù)據(jù)。在一個實施例中,總線接口單元140包含有緩沖器(沒有顯示),用于在執(zhí)行寫入周期數(shù)據(jù)流時緩沖寫入處理。
參考圖2,圖中顯示了圖1的微處理器高速緩存子系統(tǒng)的實施例方塊圖。高速緩存子系統(tǒng)200包含有高速緩存存儲器,此存儲器包含有與標志陣列210連接的主存儲陣列220。再者,高速緩存子系統(tǒng)200也包含有高速緩存控制230,其通過標示為高速緩存總線240的多個總線連接到標志陣列210。在一個實施例中,將主存儲陣列220和標志陣列210應用在第二級高速緩存子系統(tǒng),例如,圖1中的第二級高速緩存130。然而,必須注意在其它的實施例中,主存儲陣列220和標志陣列210也可應用在任何的高速緩存子系統(tǒng)中。
主存儲陣列220包含有多個排列成可獨立存取的存儲塊的存儲單元。在所顯示的實施例中,這些存儲塊被標示為220A-220N,其中N可以是任意的塊數(shù)。在一個實施例中,這種存儲塊可以有八個,雖然,在其它的實施例中,其它的塊數(shù)目也是可以預期的。此外,每一個存儲塊220A-N包含有四個可獨立存取的子塊,其標示為子塊0-3。必須注意的是雖然每一個存儲塊220A-N包含有四個這類的子塊,但在其它的實施例中,每一個存儲塊220A-N包含有其它的子塊數(shù)目是可以預期的。
標志陣列210被建構(gòu)成用于存儲高速緩存線標志信息的存儲陣列。在存儲器請求期間,標志上的地址信息將用來決定是否有給定的數(shù)據(jù)片段出現(xiàn)在高速緩存中。例如,一存儲器請求包含了所請求數(shù)據(jù)的地址。在標志陣列210內(nèi)的比較邏輯(沒有顯示)會對請求的地址和存儲在標志陣列210的標志單元210A-N內(nèi)的每個標志內(nèi)的地址信息作比較。如果請求地址和與給定標志相關(guān)的地址吻合,則顯示如上所描述的命中。如果沒有吻合的標志則顯示未命中。將標志陣列210排列成多個標志單元,標示為210A-210N,其中N是任意的標志單元數(shù)。每個標志單元210A-N對應一個可獨立存取的存儲塊,并且可包含多個標志組件。例如,在所顯示的實施例中,標志單元210A對應于存儲塊220A。此外,在給定標志單元內(nèi)的每個標志組件均對應于在給定存儲塊內(nèi)的所有存儲子塊。存儲在存儲陣列220的數(shù)據(jù)片段的地址有一部分會存儲在標志項中。地址的其它部分可以指定在存儲陣列220內(nèi)欲存取的位置(即子塊)。高速緩存線可存儲在給定的存儲塊內(nèi),所以高速緩存線可延伸到所有四個存儲子塊。例如在所顯示的實施例中,高速緩存線225的存儲將遍及存儲塊220A的存儲子塊0-3,其中每個子塊內(nèi)存儲一個子線(sub-line)。
高速緩存控制230包含有一個或多個請求隊列231(queues)和控制邏輯(沒有顯示),其被建構(gòu)成用于存儲接收到的高速緩存請求并選擇和排列這些將傳送至高速緩存總線240的高速緩存請求。請求隊列231可對應于接收到的高速緩存請求(如下所述)的來源和/或類型。在一個實施例中,當在圖1中的第一級指令高速緩存101A或第一級數(shù)據(jù)高速緩存101B發(fā)生高速緩存未命中時,高速緩存控制230可以接收來自這些來源的請求。再者,高速緩存控制230也可接收來自總線接口單元140或來自另一個處理器(沒有顯示)以監(jiān)聽請求(snoop request)形式顯示的請求。
一般而言,高速緩存請求出現(xiàn)的形式可以是讀取請求、寫入請求或更新請求。在所顯示的實施例中,為了考慮這些請求,高速緩存總線240包含一個讀取總線R、一個寫入總線W和一個更新總線U。雖然如此,包含任意數(shù)目的各種總線的其它實施例是可以預期的。例如,額外的總線(如虛線所示)也可以使用在其它的實施例中。高速緩存控制230通過高速緩存總線240而連接至標志陣列210和主存儲陣列220。讀取總線R和寫入總線W連接至主存儲陣列220,而更新總線則僅連接到標志陣列210。在一個實施例中,R總線可包含有用于將地址和控制信息傳送到標志陣列210和主存儲陣列220以及傳送來自主存儲陣列220的數(shù)據(jù)的信號路徑。W總線包含有用于將地址和控制信息傳送到標志陣列210和主存儲陣列220以及將數(shù)據(jù)傳送到主存儲陣列220的信號路徑。U總線包含有將地址和控制信息傳送到標志陣列210的信號路徑。
在一個實施例中,更新高速緩存可修改給定的標志單元(如標志單元210)的標志組件內(nèi)的信息。這些信息可包含有更改特定高速緩存線的狀態(tài)。例如,在一個實施例中,存儲器子系統(tǒng)可以利用修正的、自有的、專用的、共享的、無效的(MOESI)等一致性協(xié)議。在此種實施例中,請求者把新的高速緩存線狀態(tài)寫到標志陣列210而不需要變更存儲在主存儲陣列220相對應位置上的數(shù)據(jù)。當高速緩存線讀取請求在標志陣列210內(nèi)命中時,將使存儲在主存儲陣列220相對應位置上的數(shù)據(jù)經(jīng)由讀取總線R傳送。同樣地,當高速緩存線寫入請求在標志陣列210內(nèi)命中時,將使寫入數(shù)據(jù)經(jīng)由寫入總線W傳送并寫入主存儲陣列220。
如上所述,每一標志單元210A-N和每一存儲塊220A-N都是可獨立存取的。此外,因為高速緩存總線240的R、W和U總線連接到各標志單元210A-N,且R和W總線連接到各存儲塊220A-N,其是根據(jù)高速緩存請求的形式(例如,讀取、寫入或更新)而決定,所以標志單元210A-N和存儲塊220A-N可以同時存取(例如,在相同的周期)。因此在所顯示的實施例中,多達三種的對不同標志單元的獨立存取請求可以同時服務。例如,對標志單元210B的讀取請求可以和標志單元210A的寫入請求同時服務,也可以和標志單元210C的更新請求同時服務。值得注意的是在一個實施例中,會有更多的總線連接到標志單元210和存儲塊220,故預期會有更多的請求可以同時服務。
可為每個標志單元210A-N指定一個唯一的地址值。這唯一的地址值對應于地址的一部分且可視為該地址的塊位的一部分。當進入請求所包含的地址值的塊位正好與給定標志單元的唯一指定值吻合時,這個請求就是針對該標志單元。在一個實施例中,每個標志單元210A-N都能監(jiān)控高速緩存總線240的R、W和U總線。若在給定的周期有多個請求出現(xiàn)(如R、W和U)在高速緩存總線240的R、W和U總線且有兩個或更多的請求是針對相同的標志單元時,該標志單元可在那個周期選擇一個請求。該標志單元的其它請求在那個周期將被拒絕。然而,被拒絕的沖突請求可在接續(xù)的周期被選取。在一個實施例中,標志單元選擇邏輯(沒有顯示)可依據(jù)更新請求具有最高優(yōu)先權(quán),其次為讀取,再其次為寫入的順序選取請求。值得注意的是可以預期在其它的實施例中,若在給定的周期內(nèi)有多個請求出現(xiàn)在高速緩存總線240的R、W和U總線且有兩個或更多的請求是針對相同的標志單元時,可以使用不同的優(yōu)先權(quán)選擇讀取、寫入和更新請求。
如上所述,高速緩存控制230可包含有一個或更多的請求隊列231用于存儲即將輸入的高速緩存請求。在一個實施例中,高速緩存控制230包含有建構(gòu)成從請求隊列231選擇三種請求(如讀取、寫入和更新)的邏輯(沒有顯示),并在每個高速緩存存取周期期間,將所選擇的請求傳送到高速緩存總線240相對應的R、W和U總線上。高速緩存控制230可選擇一個讀取和一個寫入請求而不需要檢查它們是否在相同的標志單元造成沖突。在此種實施例中,如果請求造成沖突,標志單元會以上述方式選擇和拒絕這些請求。在其它的實施例中,高速緩存控制230會根據(jù)所選擇的讀取請求的地址標志來選擇寫入請求,而使得給定標志單元的沖突不會發(fā)生。如果更新請求出現(xiàn)的話,可不需要檢查標志單元的沖突而選擇此請求。在其它的實施例中,如果有一對讀取和寫入請求沒有沖突,則高速緩存控制230總是會選取此對讀取和寫入請求。例如,如果讀取和寫入請求都有塊位,高速緩存控制230將在不同的周期傳送這兩個沖突的請求,因此可能傳送沒有沖突的請求。此外,可預期在一個實施例中,高速緩存控制230也可以在選擇讀取和寫入請求之前確認給定的存儲塊或子塊是否忙。
因此,依據(jù)對標志陣列210高速緩存存取的類型和數(shù)量,對不同存儲塊的多個存取動作可同時服務。再者,在下文中將參考圖3進行更詳細的說明,標志陣列210可以全流水線方式存取,所以對主存儲陣列220的任一存儲塊、但對不同子塊的多個存取動作均可在后續(xù)的周期依序服務。對主存儲陣列220的忙碌子塊的后續(xù)存取動作將會延遲,直到子塊不再忙碌為止。
參考圖3,圖中顯示了圖2中高速緩存子系統(tǒng)的存儲塊實施例的存取順序圖解。為簡單清晰起見,與圖2所顯示組件相對應的組件是以相同的編號顯示。存儲塊220A連接至標志單元210A。圖中所示的是對標志陣列輸入請求序列的示例,此標志陣列可以是如圖2所示的標志陣列210。輸入請求可以是讀取或?qū)懭雱幼?,首先是地址A、接著是地址A+32、接著是地址A+16、緊接著是地址A+48。在此示例中,假設(shè)所有四個輸入請求都命中標志單元210A。如存儲塊220A內(nèi)所顯示,對應于給定地址的各個數(shù)據(jù)片段被存儲在不同的子塊。存儲塊220A內(nèi)的列是表示子塊0-3,而行則顯示存取給定數(shù)據(jù)片段的周期。
如上所述,圖2的標志陣列210是全流水線。例如,如果多個請求命中給定標志單元的不同子塊,則后續(xù)的每個請求均可以在前一個請求完成之前依序處理??墒?,如果后續(xù)的存取是針對相同的子塊,則對主存儲陣列220的存取并不需要流水線處理。這是因為從存儲單元(memory cell)或一組存儲單元寫入或讀取數(shù)據(jù)時會有延遲。因此,任何給定的單元或單元組(如子塊)的請求之后,且在該單元或單元組可再次存取之前將會伴隨一個延遲。
對給定的輸入請求序列而言,在周期0,將傳回或?qū)懭雽诘刂贰癆”的數(shù)據(jù)。在周期1,將傳回或?qū)懭雽诘刂贰癆+32”的數(shù)據(jù)。在周期2,將傳回或?qū)懭雽诘刂贰癆+16”的數(shù)據(jù)。在周期3,將傳回或?qū)懭雽诘刂贰癆+48”的數(shù)據(jù)。因此,因為對應于請求地址的數(shù)據(jù)存儲在四個不同的子塊,存取動作會在四個連續(xù)的周期響應而沒有插入等待周期s。產(chǎn)生的輸出序列顯示了在地址之間沒有等待周期。
如上所述,請求序列命中使數(shù)據(jù)存儲在相同子塊的標志單元時,則無法在其后的存取周期中達到?jīng)]有插入等待周期的服務,因為子塊的存取動作將伴隨著時間延遲。
參考圖4,圖中顯示了圖1中微處理器的高速緩存子系統(tǒng)的另一個實施例。為簡單清晰起見,與圖1-圖3所顯示組件相對應的組件是以相同的編號標示。高速緩存子系統(tǒng)400包含由與標志陣列210相連接的主存儲陣列220組成的高速緩存存儲器。再者,高速緩存子系統(tǒng)400也包含有高速緩存控制430,其通過異步讀取使能信號451和異步寫入使能信號455連接至主存儲陣列220。高速緩存控制430也通過多個高速緩存存取請求總線240連接至標志陣列210。高速緩存控制430和標志陣列210均接收由微處理器時鐘樹(clock tree)所分發(fā)的CPU的時鐘信號415。在一個實施例中,在第二級高速緩存子系統(tǒng)中會使用主存儲陣列220和標志陣列210,此第二級高速緩存子系統(tǒng)可以是如圖1的第二級高速緩存130。然而,必須注意在其它的實施例中,主存儲陣列220和標志陣列210可應用在任何的高速緩存子系統(tǒng)。
主存儲陣列220包含有多個存儲單元,可將其排列成可獨立存取的存儲塊。在顯示的實施例中,存儲塊標示為220A-220N,其中N可以是任意的塊數(shù)。在一個實施例中,有八個此類的存儲塊,雖然如此,但在其它的實施例中,其它的塊數(shù)目也是可以預期的。此外,每個存儲塊220A-N包含有四個可獨立存取的子塊,標示為子塊0-3。值得注意的是雖然每個存儲塊220A-N包含有四個這類的子塊,可以預期在其它的實施例中,每個存儲塊220A-N也包含有其它數(shù)目的子塊。與一些使用CPU或系統(tǒng)時鐘同步存取的高速緩存陣列相比較,在顯示的實施例中,沒有時鐘分配網(wǎng)絡(clock distribution network)與主存儲陣列220相連接。主存儲陣列220與標志單元210及微處理器100內(nèi)的其它邏輯之間的存取為異步存取。在下文中將參考圖5和圖6進行更詳細的說明,每個各自獨立存取的存儲子塊0-3被建構(gòu)成用于響應接收到確定的讀取使能信號451而提供輸出數(shù)據(jù)。此外,響應接收到確定的寫入使能信號455,將數(shù)據(jù)寫入給定的子塊。因為沒有與主存儲陣列220相連接的時鐘分配網(wǎng)絡,所以在每一個周期中,不會存在與高速緩存陣列中未使用的存儲單元的時鐘相關(guān)的不必要的功率消耗。
標志陣列210是用于存儲高速緩存線標志信息的存儲陣列。將標志陣列210配置成多個標志單元,其標示為210A-N,其中N是任意的標志單元數(shù)。每個標志單元210A-N對應于一個存儲塊,且包含有多個標志或“標志組件”。例如,在顯示的實施例中,標志單元210A對應于存儲塊220A。此外,給定標志單元內(nèi)的每個標志組件可對應于給定存儲塊內(nèi)的所有存儲子塊。因此,可將高速緩存線存儲在給定的存儲塊內(nèi),使得高速緩存線可延伸到所有四個存儲子塊。例如,在所顯示的實施例中,高速緩存線225存儲遍及存儲塊220A的存儲子塊0-3。在所顯示的實施例中,可通過CPU時鐘415而同步地存取標志陣列210。
高速緩存控制430被建構(gòu)成用于接收來自各種來源的高速緩存存取請求。在一個實施例中,高速緩存控制430和標志陣列210可以根據(jù)CPU時鐘信號415而與微處理器其它部分同步地操作。因此,高速緩存控制430和標志陣列210可建構(gòu)成用于接收CPU時鐘信號415。
在所顯示的實施例中,高速緩存控制430可建構(gòu)成用于產(chǎn)生讀取使能信號451和寫入使能信號455,這些信號被傳送至在主存儲陣列220每個存儲塊內(nèi)的每個存儲子塊0-3。
在一個實施例中,高速緩存控制430將建構(gòu)成用于依據(jù)高速緩存命中或標志陣列210內(nèi)的特定地址的高速緩存填入請求,而提供確定的讀取使能信號451和確定的寫入使能信號455。例如,給定的讀取請求可能命中標志單元210A。標志單元210A會將命中指示(沒有顯示)提供給高速緩存控制430。高速緩存控制430可輸出讀取使能信號451。響應讀取使能信號451和來自標志單元210A的地址信息,相對應的子塊在給定延遲之后將輸出請求的數(shù)據(jù)。同樣地,如果收到對應于命中標志單元210A的寫入請求時,標志單元210A會將指示(沒有顯示)提供給高速緩存控制430。高速緩存控制430輸出寫入使能信號455。響應于寫入使能信號455和來自標志單元210A的地址信息,將在相對應的子塊內(nèi)寫入數(shù)據(jù)。在一個實施例中,讀取和寫入使能信號的脈沖持續(xù)時間是預先決定的。
此外,高速緩存控制430是可編程的??删幊痰奶匦栽试S各連續(xù)的讀取使能信號451之間和各連續(xù)的寫入使能信號455之間的脈沖重復時間是可變的。因此,對連續(xù)脈沖之間的時間進行編程的能力允許過程變動和重新使用具有不同高速緩存陣列大小的高速緩存控制電路。值得注意的是高速緩存控制430的各種編程設(shè)計方法是可以預期的。例如,在一個實施例中,使用的是可編程的寄存器。在另一個實施例中,各種脈沖延遲時間的選擇可利用跳線在管芯上作硬件接線而實現(xiàn)。在制造期間,跳線連接可用激光蝕刻以提供必要的延遲。
值得注意的是,可預期在另一個實施例中其標志陣列210內(nèi)的邏輯(沒有顯示)可產(chǎn)生讀取使能信號451和寫入使能信號455。
參考圖5,圖中顯示了圖2和圖4的高速緩存子系統(tǒng)的一個實施例的操作時序圖。此時序圖包含有八個信號,從上到下依序為CPU時鐘、讀取地址0A、讀取使能脈沖0A、數(shù)據(jù)輸出0A、數(shù)據(jù)輸出鎖存、寫入地址1B、數(shù)據(jù)輸入1B和寫入使能脈沖1B。同時參考圖1到圖4,CPU時鐘信號可以作為高速緩存子系統(tǒng)的參考時鐘并以圖4的CPU時鐘415表示。如上所述,CPU時鐘信號被分配到標志單元210,但可能不會如分配網(wǎng)絡一樣遍布主存儲陣列220。
時序圖顯示了一種同時接收到讀取和寫入操作的實施例。如上所述,標志陣列210是以全流水線方式處理,而且主存儲陣列220在對不同子塊進行存取時也可以流水線方式處理。然而,若給定的標志單元同時收到多個針對相同子塊的讀取或?qū)懭胝埱髸r,高速緩存控制430可編程以在正確的時間輸出讀取和寫入脈沖。此外,對主陣列220的不同存儲塊220A-N的存取請求可以被同時服務。在下個示例中,接收到針對存儲塊220A的相同子塊0A內(nèi)的地址的兩個讀取以及針對存儲塊220B的相同子塊1B內(nèi)的地址的兩個寫入。因此,讀取和寫入是對不同的標志單元。值得注意的是顯示在圖5中的特定時序作為說明之用,在其它的實施例中也可包含有其它的時序。
在時間記號t0,將地址0A1提供給主存儲陣列220的存儲塊220A的子塊0。在同一個CPU時鐘脈沖的下降沿,讀取使能脈沖R1持續(xù)確立一個時鐘周期。響應此第一個讀取使能脈沖,在存儲塊220A的子塊0內(nèi)的存儲格單元在一些時間延遲之后輸出數(shù)據(jù)D0A1。在此例中,當R1確立后,延遲時間為五個CPU時鐘周期。同樣地,在時間記號t1,可確立數(shù)據(jù)輸出鎖存信號以將數(shù)據(jù)D0A1鎖存住。同時在時間記號t0,將地址1B1和DI1中的數(shù)據(jù)提供給存儲主存儲陣列220的存儲塊220B的子塊1。在同一個CPU時鐘脈沖的下降沿,寫入使能脈沖W1持續(xù)確立一個時鐘周期。響應此第一個寫入使能脈沖,將DI1內(nèi)的數(shù)據(jù)寫入存儲塊220B的子塊1內(nèi)的存儲單元。
此外,在時間記號t1,將第二個地址(0A2)提供給主存儲陣列220的存儲塊220A的子塊0。在t1后的下一個CPU時鐘的下降沿,第二個讀取使能脈沖R2持續(xù)確立一個時鐘周期。響應此第二個讀取使能脈沖,在存儲塊220A的子塊0內(nèi)的存儲單元在五個CPU時鐘周期的延遲時間之后輸出數(shù)據(jù)D0A2。在時間記號t2,可確立第二個數(shù)據(jù)輸出鎖存信號以將數(shù)據(jù)鎖存住。
在時間記號t1,第二個寫入地址(1B2)和DI2內(nèi)的數(shù)據(jù)會提供給主存儲陣列220的存儲塊220B的子塊1。在t1后的下一個CPU時鐘的下降沿,第二個寫入使能脈沖W2持續(xù)確立一個時鐘周期。響應此第二個寫入使能脈沖,將DI2的數(shù)據(jù)寫入在存儲塊220B的子塊1內(nèi)的存儲單元。
如上所述,對相同子塊的讀取周期和寫入周期會產(chǎn)生等待周期,但對不同存儲塊的存取周期可以同時或以連續(xù)的周期被服務。為適應這些等待周期,可以編程連續(xù)讀取脈沖之間的延遲。例如,在上例中,高速緩存控制430可以被編程,以輸出針對相同子塊的讀取使能脈沖和寫入使能脈沖,使其不會比六個CPU時鐘周期更快。注意在一個實施例中,地址和數(shù)據(jù)信號必須持續(xù)足夠久以便有效的讀取和寫入數(shù)據(jù)。
參考圖6的時序圖,本圖用于說明如圖2和圖4所示的高速緩存子系統(tǒng)的流水線操作。時序圖包含十個信號,從上到下依序為CPU時鐘、子塊0A地址、讀取使能脈沖0A、數(shù)據(jù)輸出0A、子塊2B地址、讀取使能脈沖2B、數(shù)據(jù)輸出2B、子塊3B地址、讀取使能脈沖3B和數(shù)據(jù)輸出3B。同時參考圖1到圖4,CPU時鐘信號可以是高速緩存子系統(tǒng)的參考時鐘且以圖4的CPU時鐘415表示。如上所述,將CPU時鐘信號分配給標志單元210,但可能不會如分配網(wǎng)絡一樣遍布主存儲陣列220。
時序圖顯示了對主存儲陣列220的三個不同子塊進行三個接續(xù)的(back-to-back)讀取操作的示例。如上所述,標志陣列210可以是全流水線處理。例如,當一個或更多不同的標志單元接收到多個接續(xù)的讀取或?qū)懭胝埱髸r,高速緩存子系統(tǒng)會在每一個連續(xù)時鐘周期對不同的子塊輸出數(shù)據(jù)或?qū)懭霐?shù)據(jù),因此具有近乎流水線處理的動作。應當注意,當相同的標志單元和相同的子塊在連續(xù)周期收到接續(xù)請求時,高速緩存子系統(tǒng)不會表現(xiàn)流水線處理的動作。在下一個示例中,接續(xù)地接收到對存儲塊220A的子塊0A、存儲塊220B的子塊2B和3B的地址的兩個讀取動作。請注意圖6所示的特定時序僅用作說明之用,其它的實施例可能包含其它的時序。
在時間記號t0,將地址0A1提供給主存儲陣列220的子塊0A。在第一個CPU時鐘脈沖的下降沿,使讀取使能脈沖R0A1持續(xù)確立一個時鐘周期。因為標志陣列流水線因載有額外的讀取請求,所以在時間記號t1,將地址2B1提供到主存儲陣列220的子塊2B。在t1后的下一個CPU時鐘下降沿,使讀取使能脈沖R2B1持續(xù)確立一個時鐘周期。此外,在時間記號t2,將地址2B1提供給主存儲陣列220的子塊2B,且在t2后的下一個CPU時鐘下降沿,使讀取使能脈沖R3B1持續(xù)確立一個時鐘周期。因此,可對三個不同子塊發(fā)出三個讀取請求。
響應讀取使能脈沖R0A1,存儲子塊0A在一些時間延遲后輸出數(shù)據(jù)D0A1。在此例中,在R0A 1確立后,延遲時間為五個CPU時鐘周期。響應讀取使能脈沖R2B1,存儲子塊2B在一些時間延遲后輸出數(shù)據(jù)D2B1。在此例中,在R2B1確立之后,延遲時間為五個CPU時鐘周期。在時間記號t4,將第二個地址提供給主存儲陣列220的子塊0A。在同一個CPU時鐘脈沖的下降沿,使讀取使能脈沖R0A2持續(xù)確立一個時鐘周期。響應讀取使能脈沖R3B1,存儲子塊3B在一些時間延遲后輸出數(shù)據(jù)D3B1。在此例中,在R3B1確立后,延遲時間為五個CPU時鐘周期。在時間記號t5,將第二個地址提供給主存儲陣列220的子塊2B。在同一個CPU時鐘脈沖的下降沿,使讀取使能脈沖R2B2持續(xù)確立一個時鐘周期。在時間記號t6,將第二個地址提供給主存儲陣列220的子塊3B。在同一個CPU時鐘脈沖的下降沿,使讀取使能脈沖R3B2持續(xù)確立一個時鐘周期。因此,在時間記號t4、t5和t6,可分別依序獲得從最先的3個讀取操作至三個獨立的子塊0A、2B和3B的數(shù)據(jù)。
響應讀取使能脈沖R0A2,存儲子塊0A在一些時間延遲后輸出數(shù)據(jù)D0A2。在此例中,在R0A2確立后,延遲時間為五個CPU時鐘周期。響應讀取使能脈沖R2B2,存儲子塊2B在一些時間延遲后輸出數(shù)據(jù)D2B2。在此例中,在R2B2確立后,延遲時間為五個CPU時鐘周期。響應讀取使能脈沖R3B2,存儲子塊3B在一些時間延遲后輸出數(shù)據(jù)D3B2。在此例中,在R3B2確立后,延遲時間為五個CPU時鐘周期。因此,在時間記號t7、t8和t9,可分別依序獲得從其次的3個讀取操作到相同的三個獨立的子塊0A、2B和3B的數(shù)據(jù)。應注意從每一個子塊輸出的數(shù)據(jù)都會被鎖存信號(沒有顯示)鎖存住。
應注意雖然配合圖5和圖6分別對讀取和寫入操作進行了說明,但在此描述的操作也是可同時發(fā)生的。例如,對無沖突塊的一連串讀取和一連串寫入操作可同時以流水線方式處理。
參考圖7,圖7是包含有圖1所示微處理器的計算機系統(tǒng)的具體方塊圖。為簡單清晰起見,與圖1-圖4所示組件相對應的組件被以相同的編號標示。計算機系統(tǒng)700包含微處理器100,其通過存儲器總線715連接到系統(tǒng)存儲器710。微處理器100更通過系統(tǒng)總線725連接到輸入/輸出節(jié)點720。輸入/輸出節(jié)點720通過圖形總線735連接到圖形適配器(graphics adapter)730。輸入/輸出節(jié)點720也通過外圍設(shè)備總線連接到外圍設(shè)備740。
在所顯示的實施例中,微處理器100通過存儲器總線715直接連接到系統(tǒng)存儲器710。因此,微處理器包含存儲器接口(沒有顯示在圖7中)用于控制對系統(tǒng)存儲器710的存取動作。然而,注意在其它的實施例中,系統(tǒng)存儲器710也可經(jīng)由輸入/輸出節(jié)點720連接到微處理器10。在此種實施例中,輸入/輸出節(jié)點720可包含存儲器接口(沒有顯示)。再者,在一個實施例中,微處理器100可包含如圖2所示高速緩存子系統(tǒng)200的高速緩存子系統(tǒng)。在其它的實施例中,微處理器100也可以包含有如圖4所示高速緩存子系統(tǒng)400的高速緩存子系統(tǒng)。
系統(tǒng)存儲器710可包含任何適合的存儲裝置。例如在一個實施例中,系統(tǒng)存儲器可包含一組或多組的動態(tài)隨機存取存儲器(DRAM)裝置。雖然其它實施例也可以包含有其它存儲裝置和架構(gòu)。
在所顯示實施例中,輸入/輸出節(jié)點720被連接到圖形總線735、外圍設(shè)備總線740和系統(tǒng)總線725。因此,輸入/輸出節(jié)點720可包含各種總線接口邏輯(沒有顯示),這些總線接口邏輯包含緩沖器和控制邏輯用來管理不同總線之間的流量。在一個實施例中,系統(tǒng)總線725可以是與超傳輸技術(shù)(HyperTransport technology)兼容的以數(shù)據(jù)包為基礎(chǔ)的互聯(lián)系統(tǒng)。在這種實施例中,輸入/輸出節(jié)點720可建構(gòu)成用于處理數(shù)據(jù)包傳輸。在另一個實施例中,系統(tǒng)總線725是典型的共享總線架構(gòu),如前端總線(front-side bus)。
再者,圖形總線735可以和圖形加速端口(accelerated graphic port;AGP)總線技術(shù)兼容。在一個實施例中,圖形適配器730可以是各種圖形設(shè)備,其建構(gòu)成用于產(chǎn)生和顯示作為顯示用的圖形影像。外圍總線745可以是一般的外圍設(shè)備總線,如外圍元件接口總線(peripheralcomponent interconnect;PCI)。外圍設(shè)備740可以是任何型式的外圍設(shè)備,如調(diào)制解調(diào)器或聲卡。
雖然已詳細說明上述的各種實施例均,但本領(lǐng)域技術(shù)人員一旦完全體會上面所透露的信息,則為數(shù)眾多的變型和修改對那些本領(lǐng)域技術(shù)人員而言是顯而易見的。以下說明的權(quán)利要求應解讀成涵蓋所有的這類變型和修改。
產(chǎn)業(yè)利用性本發(fā)明通??蛇m用于微處理器領(lǐng)域。
權(quán)利要求
1.一種微處理器,包含有執(zhí)行單元,其被建構(gòu)成對指令和數(shù)據(jù)作運算;高速緩存存儲器子系統(tǒng),其連接到所述的執(zhí)行單元;其中所述的高速緩存存儲器子系統(tǒng)包含高速緩存存儲器,其包含多個獨立存取的存儲塊;和多個高速緩存總線,其被連接成用于將多個高速緩存存取請求傳送至所述多個存儲塊的每一個;其中響應所述多個高速緩存總線傳送的所述的多個高速緩存存取請求,同時存取所述多個存儲塊的不同存儲塊。
2.如權(quán)利要求1所述的微處理器,其中所述的高速緩存存儲器還包含多個可獨立存取的標志單元,其連接到所述的多個存儲塊,并被建構(gòu)成用于存儲多個標志,在此每個標志都包含一個標志值。
3.如權(quán)利要求2所述的微處理器,其中響應接收到所述的多個高速緩存存取請求,同時存取所述多個標志單元的不同單元。
4.如權(quán)利要求1所述的微處理器,其中所述的多個存儲塊的每一個均包含多個獨立存取的存儲子塊,其中任兩個與不同的所述存儲塊相關(guān)聯(lián)的所述子塊被同時存取,且其中任兩個與相同的存儲塊相關(guān)聯(lián)的所述子塊在連續(xù)的周期依序被存取。
5.一種高速緩存存儲器子系統(tǒng),包含高速緩存存儲器,其包含多個獨立存取的存儲塊;和多個高速緩存總線,其被連接成用于將多個高速緩存存取請求傳送到所述多個存儲塊的每一個;其中響應所述多個高速緩存總線傳送的多個高速緩存存取請求,同時存取所述多個存儲塊的不同存儲塊。
6.如權(quán)利要求5所述的高速緩存存儲器子系統(tǒng),其中所述的多個存儲塊的每一個均包含多個獨立存取的存儲子塊,其中任兩個與不同的所述存儲塊相關(guān)聯(lián)的所述子塊被同時存取,且其中任兩個與相同的存儲塊相關(guān)聯(lián)的所述子塊在連續(xù)的周期依序被存取。
7.一種計算機系統(tǒng),包含有系統(tǒng)存儲器,其建構(gòu)成用于存儲指令和數(shù)據(jù);微處理器,其通過存儲器總線而連接至所述的系統(tǒng)存儲器;其中所述的微處理器包含執(zhí)行單元,其被建構(gòu)成對所述的指令和數(shù)據(jù)作運算;高速緩存存儲器子系統(tǒng),其連接至所述的執(zhí)行單元并被建構(gòu)成用于存儲由所述的執(zhí)行單元所執(zhí)行的所述指令和數(shù)據(jù);其中所述的高速緩存存儲器子系統(tǒng)包含高速緩存存儲器,其包含多個獨立存取的存儲塊;和多個高速緩存總線,其被連接用于將多個高速緩存存取請求傳送至所述多個存儲塊的每一個;其中響應所述多個高速緩存總線傳送的所述多個高速緩存存取請求,同時存取所述的多個存儲塊的不同存儲塊。
8.如權(quán)利要求7所述的計算機系統(tǒng),其中所述的高速緩存存儲器還包含多個獨立存取的標志單元,其連接到所述的多個存儲塊,并被建構(gòu)成用于存儲多個標志,每個標志都包含一個標志值。
9.如權(quán)利要求8所述的計算機系統(tǒng),其中響應接收到所述的多個高速緩存存取請求,同時存取所述的多個標志單元的不同單元。
10.如權(quán)利要求7所述的計算機系統(tǒng),其中所述的多個存儲塊的每一個均包含多個獨立存取的存儲子塊,其中任兩個與不同的所述存儲塊相關(guān)聯(lián)的所述子塊被同時存取,且其中任兩個與相同的存儲塊相關(guān)聯(lián)的所述子塊在連續(xù)的周期依序被存取。
全文摘要
微處理器(100)包含用于支持每周多次存取的第二級高速緩存存儲器(200)。微處理器(100)包含連接到高速緩存存儲器子系統(tǒng)的執(zhí)行單元(124),此子系統(tǒng)包含連接到多個總線(240)的高速緩存存儲器(200)。高速緩存存儲器(200)包含多個可獨立存取的存儲塊(220)。這些總線(240)連結(jié)每個存儲塊(220)以便傳送多個高速緩存存取請求。響應多個高速緩存總線(240)中傳送的多個高速緩存存取請求,同時存取不同的存儲塊(220)。
文檔編號G06F12/08GK1717664SQ200380104301
公開日2006年1月4日 申請日期2003年11月6日 優(yōu)先權(quán)日2002年11月26日
發(fā)明者M·阿爾敘 申請人:先進微裝置公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
凤山县| 黔西| 贵港市| 湘潭市| 日照市| 澎湖县| 印江| 平潭县| 马关县| 阿合奇县| 保靖县| 桐柏县| 安远县| 珲春市| 阿巴嘎旗| 丰城市| 调兵山市| 肃南| 南丹县| 蒲城县| 巴东县| 武强县| 成都市| 宝清县| 西乌珠穆沁旗| 十堰市| 睢宁县| 余姚市| 商丘市| 兴城市| 四子王旗| 潢川县| 太谷县| 布尔津县| 台中县| 永兴县| 阳信县| 宁海县| 启东市| 白山市| 敖汉旗|