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

一種高速緩存及從高速緩存讀取數(shù)據(jù)的方法與運(yùn)算邏輯的制作方法

文檔序號:6382778閱讀:224來源:國知局
專利名稱:一種高速緩存及從高速緩存讀取數(shù)據(jù)的方法與運(yùn)算邏輯的制作方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于一種高速緩存(cache memory),特別是有關(guān)于一種從高速緩存讀取數(shù)據(jù)的方法及其運(yùn)算邏輯。
背景技術(shù)
在計算機(jī)系統(tǒng)(或是以其它處理器為基礎(chǔ)的系統(tǒng))創(chuàng)新下的驅(qū)動力,已經(jīng)被要求必須具備有更快及更強(qiáng)大的效能。然而,長久以來,影響計算機(jī)速度的一個主要瓶頸之一在于從存儲器存取數(shù)據(jù)的速度,即所謂存儲器存取時間(memory access time)。微處理器由于擁有相對較快的處理器周期時間(processor cycle time),故經(jīng)常于存儲器存取時,因需利用等待狀態(tài)(wait state)以克服其相對較慢的存儲器存取時間而造成延遲。因此,改進(jìn)存儲器存取時間已成為增進(jìn)計算機(jī)效能的主要研究領(lǐng)域之一。
為了彌補(bǔ)快速處理器周期時間與低速存儲器存取時間的差距,于是產(chǎn)生了高速緩存。高速緩存為一非??焖偾蚁喈?dāng)昂貴的小容量零等待狀態(tài)(zero wait state)的存儲器,是用以維持經(jīng)常由主存儲器中存取的數(shù)據(jù)及程序代碼的復(fù)本。處理器能夠通過操作此種非??焖俚拇鎯ζ?,減少存儲器在存取時必須增加的等待狀態(tài)次數(shù)。當(dāng)處理器從存儲器中尋找數(shù)據(jù)并且此數(shù)據(jù)存在于高速緩存中,則稱一快速存取讀取命中(read hit),并且由此存儲器存取的數(shù)據(jù)能由高速緩存提供給處理器而不出現(xiàn)等待狀態(tài)。若此數(shù)據(jù)不存在于高速緩存中,則稱快速存取讀取失敗(read miss)。在快速存取讀取失敗時,存儲器進(jìn)而向系統(tǒng)找尋數(shù)據(jù),且該數(shù)據(jù)可由主存儲器取得,就如同高速緩存不存在時所做的動作一樣。在快速存取讀取失敗時,由主存儲器取得的數(shù)據(jù)將提供給處理器,并由于此數(shù)據(jù)在統(tǒng)計上有可能再一次被處理器應(yīng)用到,因此,此數(shù)據(jù)亦同時存入高速緩存中。
一有效的高速緩存導(dǎo)致一較高的存取“命中率”(hit rate),其定義為發(fā)生在所有存儲器存取時,高速緩存存取命中率的百分比。當(dāng)一高速緩存有較高的存取命中率時,則大部分的存儲器存取以零等待狀態(tài)來完成。一較高的高速緩存存取命中率的凈效應(yīng)為較少發(fā)生的存儲器存取失敗的等待狀態(tài)被大量具零等待狀態(tài)的存儲器存取命中所平均,導(dǎo)致每次存取平均近乎為零等待狀態(tài)。
眾所周知,現(xiàn)今有很多不同種類的高速緩存結(jié)構(gòu),一般而言,這些結(jié)構(gòu)依高速緩存的應(yīng)用而有所不同,但是大致上,高速緩存的內(nèi)部存儲器結(jié)構(gòu)被劃分為一數(shù)據(jù)區(qū)(data area)及一標(biāo)簽區(qū)(tag area)。而維持在高速緩存中的數(shù)據(jù)位址被紀(jì)錄于高速緩存中的標(biāo)簽記憶區(qū)內(nèi),順序的數(shù)據(jù)位元或順序的字符數(shù)據(jù)一般維持于高速緩存的數(shù)據(jù)存儲器區(qū)中的單一快取線(single cache line)內(nèi),而一位址或標(biāo)簽被同樣地維持在高速緩存中相關(guān)的標(biāo)簽存儲器區(qū)內(nèi)。當(dāng)經(jīng)由處理器或是其它元件存取數(shù)據(jù)時,位址(實質(zhì)上或虛擬的)會被輸入到高速緩存中,且跟標(biāo)簽存儲器區(qū)內(nèi)的位址做比較。如上所述,假若最近的(currently)搜尋位址存在于標(biāo)簽存儲器區(qū)內(nèi),則會產(chǎn)生“命中”(hit)的情形,且會從數(shù)據(jù)存儲器區(qū)中取得相關(guān)的數(shù)據(jù)。
如上述介紹,圖1所示為已知高速緩存10內(nèi)元件的方塊圖。如前述,高速緩存為一高速的存儲器,其可加速主存儲器的存取速度,更是當(dāng)具有良好設(shè)計以使其具有較高的“命中率”。如所了解的,一位址總線20輸入至高速緩存時,假如對應(yīng)到位址總線20上所輸入值的有效數(shù)據(jù)(valid data)被維持在高速緩存中,則該筆數(shù)據(jù)會輸出至高速緩存的輸出38。位址總線20耦合至數(shù)據(jù)存儲器12,且此位址總線的最低有效位元(least significant bits)被使用來維持在數(shù)據(jù)存儲器12中的存取數(shù)據(jù)。當(dāng)數(shù)據(jù)被寫入高速緩存中的數(shù)據(jù)存儲器時,位址總線最高的有效位元則被寫入到高速緩存的標(biāo)簽存儲器14的相對位置(例如相對于被使用來存取數(shù)據(jù)的最低有效位元)。
從數(shù)據(jù)存儲器12讀取的數(shù)據(jù)被維持于一鎖存器13或是其它電路元件中,直至再從數(shù)據(jù)存儲器12執(zhí)行另一個讀取的動作(此時在鎖存器中的數(shù)據(jù)被重寫)。同樣地,從高速緩存10中的標(biāo)簽存儲器14取得的位址數(shù)據(jù),維持于一鎖存器15或是其它合適的電路元件中,直至從標(biāo)簽存儲器14取得下一個標(biāo)簽信息。而比較邏輯35提供一信息的比較,比較的數(shù)據(jù)來源由位于位址總線20上的現(xiàn)行位址與標(biāo)簽存儲器14中所取得的標(biāo)簽信息。假如此比較指出現(xiàn)行請求(currently-requested)數(shù)據(jù)是位于標(biāo)簽存儲器14內(nèi),則一比較邏輯35的輸出36可能會被引導(dǎo)到邏輯運(yùn)算40中,以產(chǎn)生一數(shù)據(jù)存儲器12的讀選通(readstrobe)42,其中,此邏輯運(yùn)算40在圖1中可視為「已知讀選通邏輯運(yùn)算」(Conventional RS Logic)。而一緩存器或是其它電路元件50可能被用來提供保存從鎖存器13所輸出的數(shù)據(jù)。其中鎖存器13可以是一個分離的電路元件,或是依高速緩存10的數(shù)據(jù)存儲器12的特殊設(shè)計來整合成存儲器12的一部份。
在操作過程中,高速緩存10中不同的電路及邏輯單元均以常態(tài)來操作。眾所周知,以電池操作的處理器驅(qū)動可攜式電子裝置(如掌上型計算機(jī)、無線電話、MP3播放器等)不斷地被廣泛地應(yīng)用,因此,如何降低這些裝置的耗能以延長電池的使用時間亦成為所需。當(dāng)高速緩存容量擴(kuò)大,需要操作的功率亦隨之增加,因此,如何改進(jìn)高速緩存的結(jié)構(gòu)及操作方法,以達(dá)到降低其操作功率為當(dāng)今重要之課題。

發(fā)明內(nèi)容
鑒于上述發(fā)明背景中,傳統(tǒng)的高速緩存所產(chǎn)生的諸多缺點,本發(fā)明的主要目的在于提出一種新的高速緩存結(jié)構(gòu)及其讀取數(shù)據(jù)的方法,以降低其操作時的耗能。在一實施例中,一高速緩存,包含一數(shù)據(jù)存儲器及用來禁止請求數(shù)據(jù)的讀取,當(dāng)所請求的數(shù)據(jù)之前已從數(shù)據(jù)存儲器中讀取,且可從高速緩存中其它的電路元件中讀取目前可用的數(shù)據(jù)。
在另一實施例中,提供從一高速緩存讀取請求的數(shù)據(jù)的方法。此對應(yīng)到第一個數(shù)據(jù)請求的方法,其利用第一次的請求,從數(shù)據(jù)存儲器讀取比請求更多的字符數(shù)據(jù),且將所讀取的數(shù)據(jù)暫存在一電路元件中。然后,對應(yīng)到第二個數(shù)據(jù)請求,其為順序的數(shù)據(jù)請求,此數(shù)據(jù)請求的方法禁止了數(shù)據(jù)存儲器的主動運(yùn)算,且從電路元件讀取請求的數(shù)據(jù)。


圖1為已知高速緩存10的內(nèi)部元件的方塊圖;圖2為與圖1描述相似的一高速緩存的電路元件方塊圖,其為了強(qiáng)調(diào)本發(fā)明一實施例的元件;圖3根據(jù)本發(fā)明的一實施例的數(shù)據(jù)存儲器產(chǎn)生讀選通的示意圖;圖4為本發(fā)明的另一實施例且與圖2相似的方塊圖;圖5為根據(jù)本發(fā)明的一實施例的高速緩存最上層功能操作流程圖;圖6為根據(jù)本發(fā)明的另一實施例的高速緩存最上層功能操作流程圖;圖7為根據(jù)本發(fā)明的再一實施例的高速緩存最上層功能操作流程圖。
圖中符號說明10高速緩存12數(shù)據(jù)存儲器13鎖存器14標(biāo)簽存儲器15鎖存器20位址總線35比較邏輯
36輸出38輸出40已知讀選通邏輯運(yùn)算42讀選通信號50電路元件100 高速緩存112 數(shù)據(jù)存儲器113 鎖存器126 輸出140 讀選通控制邏輯141 讀選通信號142 或門143 禁止信號144 與門146 或門160 多路復(fù)用器161 多路復(fù)用器選擇線170 判斷順序邏輯運(yùn)算171 順序信號212 數(shù)據(jù)存儲器213 數(shù)據(jù)維持元件240 禁止存取邏輯運(yùn)算302 數(shù)據(jù)請求步驟304 判定請求數(shù)據(jù)步驟是否為有順序的306 由數(shù)據(jù)存儲器讀取數(shù)據(jù)308 鎖存或維持已讀取的數(shù)據(jù)310 由鎖存器或其它電路元件讀取維持?jǐn)?shù)據(jù)312 判定位址線數(shù)值是否為0314 禁止數(shù)據(jù)存儲器執(zhí)行現(xiàn)行數(shù)據(jù)讀取402 讀取請求步驟
404 判定目前標(biāo)簽是否與先前標(biāo)簽相同406 由數(shù)據(jù)存儲器讀取數(shù)據(jù)408 鎖存或維持已讀取的數(shù)據(jù)410 由鎖存器或其它電路元件讀取維持?jǐn)?shù)據(jù)412 禁止數(shù)據(jù)存儲器執(zhí)行現(xiàn)行數(shù)據(jù)讀取502 讀取請求步驟504 判定數(shù)據(jù)是否于其它元件中506 由數(shù)據(jù)存儲器讀取數(shù)據(jù)508 鎖存或維持已讀取的數(shù)據(jù)510 由鎖存器讀取數(shù)據(jù)512 禁止數(shù)據(jù)存儲器執(zhí)行現(xiàn)行數(shù)據(jù)讀取514 由其它的元件讀取數(shù)據(jù)具體實施方式
上述已將本發(fā)明的內(nèi)容作一摘要說明,以下將結(jié)合附圖對本發(fā)明做更進(jìn)一步的詳細(xì)說明。本發(fā)明所沿用的現(xiàn)有技術(shù),在此僅作重點式的引用,以助本發(fā)明的闡述。而且下述內(nèi)容中對本發(fā)明的相關(guān)附圖及其說明并不應(yīng)受限于本實施例,反而其意圖在涵蓋有關(guān)本發(fā)明精神及在附屬專利申請范圍中所定義的發(fā)明范圍中所有可替代、修正及類似的案件。
根據(jù)已知技術(shù)所述,在此描述的高速緩存及其取得數(shù)據(jù)的方法并不局限在實施例中的闡述。更進(jìn)一步說,在本發(fā)明中有關(guān)于不同實施例的描述,其可實施于不同種類的高速緩存的結(jié)構(gòu)及其系統(tǒng),例如本發(fā)明可利用一相當(dāng)普遍的高速緩存結(jié)構(gòu)來描述之。本發(fā)明的優(yōu)點易于應(yīng)用到具有分離數(shù)據(jù)、指令快取及統(tǒng)一快取(unified caches)的高速緩存,而本發(fā)明的概念亦同樣地可應(yīng)用到同步以及異步高速緩存結(jié)構(gòu),再者,本發(fā)明的意旨可應(yīng)用于具有直接映像(direct-mapped)結(jié)構(gòu)、全關(guān)聯(lián)(fully-associative)結(jié)構(gòu)或部分關(guān)聯(lián)(set-associative)結(jié)構(gòu)的高速緩存上。另外,如同在已知技術(shù)中所熟知的,且描述于2003年7月18日所提出申請的一臺灣發(fā)明專利申請案件(案件號碼為92119642),存儲器區(qū)(數(shù)據(jù)及標(biāo)簽兩者)通常被劃分成較小的快取區(qū)塊以利于容易執(zhí)行,而本發(fā)明在此所描述的內(nèi)容,可完全地應(yīng)用到此種形式的高速緩存的結(jié)構(gòu)上。在此類的結(jié)構(gòu)中,發(fā)明概念可應(yīng)用到每一快取區(qū)塊的每一數(shù)據(jù)存儲器區(qū)。其它有關(guān)于本發(fā)明的延伸及其應(yīng)用,于下述的討論中將趨于明了。
如圖2所示,其為依照本發(fā)明的一實施例所建構(gòu)的高速緩存100的內(nèi)部結(jié)構(gòu)方塊圖。在描述此圖的詳細(xì)結(jié)構(gòu)或其它實施例之前,需強(qiáng)調(diào)是,此處所提供的圖并不應(yīng)限制本發(fā)明的范圍及其精神所在。實際上,在圖2中的實施例的說明是選擇用來和圖1的現(xiàn)有技術(shù)做比較,再者,在圖2中所描述的不同的邏輯區(qū)塊的操作及內(nèi)部結(jié)構(gòu)為現(xiàn)有技術(shù),因此,這些元件的內(nèi)部結(jié)構(gòu)及操作方式無須在此贅述。
在圖2中,一高速緩存100具有一數(shù)據(jù)存儲器112及一標(biāo)簽存儲器14,為了可以容易了解圖2中具體實施例的發(fā)明概念,因此,以圖1中的現(xiàn)有技術(shù)的高速緩存10的元件來作為標(biāo)定高速緩存100中元件的參考數(shù)字,其中,不同之處在于圖2中為讀選通控制邏輯(read strobecontrol logic)140,而鎖存器113及增加的多路復(fù)用器160亦被加入在此圖2的實施例中。因此,如上所述,本發(fā)明實際上是利用有順序的(sequential)有效存儲器存取編號,利用此特性,可減少存取數(shù)據(jù)至數(shù)據(jù)存儲器112中,因此,可節(jié)省使用數(shù)據(jù)存儲器區(qū)112的存取,并進(jìn)而節(jié)省整體高速緩存100的消耗電力。
在圖2實施例的描述中,鎖存器113可被設(shè)計為包含從數(shù)據(jù)存儲器112讀取的多字符數(shù)據(jù),鎖存器113合適的大小可為二字符、四字符或八字符。在一應(yīng)用中,高速緩存100的數(shù)據(jù)存儲器112包含復(fù)數(shù)個快取線,而每一快取線為八個字符數(shù)據(jù)。因此,在此實施例中,鎖存器113較佳為八個字符數(shù)據(jù)或少于八個字符數(shù)據(jù),再者,為了較容易實施及設(shè)計,此鎖存器的大小為二的次方,其中,可接受二個字符數(shù)據(jù)、四個字符數(shù)據(jù)及八個字符數(shù)據(jù)。此外,對于鎖存器113的每一字符數(shù)據(jù)提供一輸出,其中,于圖2的實施例中以四個輸出126給予說明,應(yīng)該可以理解的,每一輸出的126寬度(width)為32位或一字符數(shù)據(jù)。這些輸出直接到達(dá)一多路復(fù)用器160或其它適合的電路元件中,以選擇出被傳送到高速緩存100的輸出38,此亦即由多路復(fù)用器160至輸出38,控制多路復(fù)用器選擇線161來選擇性地挑選出從鎖存器113中所需要的輸出126。
在圖2中,一新的元件為讀選通控制邏輯140,當(dāng)所需要的數(shù)據(jù)已存在于鎖存器113中時,此邏輯140會禁止正常的讀選通信號141(read strobe signal)的選通(strobe)。通過禁止正常的選通以及從數(shù)據(jù)存儲器讀取數(shù)據(jù),會禁止在數(shù)據(jù)存儲器1 12內(nèi)不同的門元件(gate element)的切換,其亦可大大節(jié)省電能的消耗(更是應(yīng)用在互補(bǔ)式金屬氧化物半導(dǎo)體(CMOS)時)。因此,本發(fā)明實施例的概念之一為了數(shù)據(jù)存儲器112產(chǎn)生讀選通信號141。
參閱圖3,為讀選通控制邏輯140的一實施例的方塊圖。為了便于闡述,此控制邏輯的一元件為圖1中,已知高速緩存可產(chǎn)生讀選通信號的邏輯運(yùn)算40。在此更加以闡述實施例的上下文中,假設(shè)讀選通信號141為一低態(tài)有效信號(active low signal),則一或門142(OR gate)可利用在已知讀選通邏輯運(yùn)算40所產(chǎn)生的讀選通41來門控(gate)一禁止信號143,因此,當(dāng)禁止信號143為一邏輯運(yùn)算1,則讀選通信號141為一邏輯運(yùn)算1,故而禁止(inhibit)了數(shù)據(jù)存儲器112的選通。假如所找尋的數(shù)據(jù)已存在于鎖存器中,則用以產(chǎn)生讀選通信號141的邏輯運(yùn)算的其余元件會禁止讀選通。而判別是利用以下的區(qū)分(1)所找尋的數(shù)據(jù)是順序地位于與先前取得(previously-retrieved)數(shù)據(jù)相關(guān)的位置;及(2)目前的搜尋數(shù)據(jù)不在鎖存器113的第一位置(first location)。
邏輯運(yùn)算170可提供指出現(xiàn)行請求數(shù)據(jù)(currently-requested data)是否順序地位于與先前取得的數(shù)據(jù)(previously-retrieved date)相關(guān)的位置。假如高速緩存被設(shè)計成一處理器電路的一部份(例如機(jī)載(onboard)),則在處理器中的其它信號或電路(假如有恰當(dāng)?shù)脑O(shè)計)會自動地產(chǎn)生信號171,例如為了一指令高速緩存(instruction cache),邏輯運(yùn)算結(jié)合程序計數(shù)器(program counter)可立即地產(chǎn)生此信號171;亦或邏輯運(yùn)算可由一管線處理機(jī)(processor pipeline)的執(zhí)行部分內(nèi)提供,以產(chǎn)生信號171;亦或邏輯運(yùn)算170可被設(shè)計成高速緩存的一部分。在實施例中,此邏輯運(yùn)算可純粹地與一存在鎖存器15中的標(biāo)簽及輸入到位址總線20內(nèi)目前的標(biāo)簽做比較,此存在鎖存器中的標(biāo)簽來自于先前的數(shù)據(jù)存取,而此輸入到位址總線20內(nèi)的標(biāo)簽與辨別目前的請求數(shù)據(jù)有關(guān)。而此用來執(zhí)行比較的電路,其設(shè)計及開發(fā)如現(xiàn)有技術(shù)中所述,并不需在此贅述。
對于圖2及圖3的實施例,假如信號171表示數(shù)據(jù)存取是有順序的,則確定現(xiàn)行請求數(shù)據(jù)不會是鎖存器113的第一字符數(shù)據(jù)。此判定可容易地用二個最低有效位元(例如A1和A0)都是邏輯運(yùn)算0來確認(rèn),因此,一或門146可用來比較兩個最低有效位元(A1和A0)。假如此兩個位址都是或其中一個是為一邏輯運(yùn)算1,則或門146的輸出為1。此數(shù)值可由一與門144(AND gate)與信號171作比較,其信號171可指出現(xiàn)行需求位址是否順序地位于與先前取得的數(shù)據(jù)相關(guān)的位置。假如信號171為一邏輯運(yùn)算1,且從或門146的輸出為一邏輯運(yùn)算1,則讀選通141將會被禁止。另一方面,假如信號輸入到線171為一邏輯運(yùn)算0(表示現(xiàn)行位址數(shù)據(jù)并不是為順序的),或是假如現(xiàn)行位址數(shù)據(jù)存在于鎖存器113的第一位置中,則讀選通信號141將會單純是從已知讀選通邏輯運(yùn)算40中輸出的讀選通41。
更進(jìn)一步的敘述,假設(shè)一具有八字符快取線的數(shù)據(jù)存儲器112和一鎖存輸出113被設(shè)計成可維持從數(shù)據(jù)存儲器112讀取的四個字符。假如請求的第一字符數(shù)據(jù)相當(dāng)于在快取線上的第一字符數(shù)據(jù),則(從系統(tǒng)存儲器填充快取線后)讀選通控制邏輯140不會禁止已知的讀選通信號(因為不管請求數(shù)據(jù)是否為有順序的,請求數(shù)據(jù)的二個最低有效位元為邏輯運(yùn)算0),因此,快取線上的第一組四字符將被讀取到鎖存器113中,而控制多路復(fù)用器160來引導(dǎo)第一字符到輸出38。假如接下來的數(shù)據(jù)請求為在相同快取線上的第二字符數(shù)據(jù),則邏輯運(yùn)算170會指示此請求為一有順序的存取,且最低有效位元的值為1。因此,邏輯140會產(chǎn)生禁止讀選通141的效果。此可防止數(shù)據(jù)存儲器112因需要存取及讀取數(shù)據(jù)所需消耗的電力,因此,亦可減少在利用數(shù)據(jù)存儲器讀取數(shù)據(jù)所消耗的其它電力。另外,多路復(fù)用器160可被選擇用來傳遞第二字符數(shù)據(jù)到輸出38。
以有些許差異的例子來做更進(jìn)一步的敘述。假如一第一次的數(shù)據(jù)請求為了一存在于快取線第二位置的一字符數(shù)據(jù)(假設(shè)此高速緩存讀取來自于偶數(shù)快取線邊界(cache line boundary)的系統(tǒng)存儲器的數(shù)據(jù)),則讀選通信號141將不會被禁止。雖然最低有效位元的位址不會指出數(shù)據(jù)存在于鎖存器113的第一位置,但用來產(chǎn)生順序信號171的邏輯運(yùn)算170為一邏輯0,藉以指出數(shù)據(jù)存取并不是有順序地位于有關(guān)的先前檢索數(shù)據(jù)。
圖3為利用位址總線的二個最低有效位元(A1和A0),來設(shè)計為可維持四個字符的一鎖存器113的實施例,然而,其鎖存器很容易擴(kuò)充成不同大小的鎖存器。例如,假如鎖存器只能維持二個字符數(shù)據(jù),則只需要位址線A0,且不需要或門146(位址線A0會被直接輸入至與門144)。同樣地,假如鎖存器維持八個字符數(shù)據(jù),則會使用到位址線A2、A1及A0(全部輸入到一個三輸入(three-input)或門)。
參閱圖4,其與圖2相似,但略微有些不同的本發(fā)明的另一實施例。根據(jù)前述,本發(fā)明的一主要概念的優(yōu)點為可以識別存在于一鎖存器中,或是在高速緩存內(nèi)其它電路元件內(nèi)的目前請求數(shù)據(jù),因此,數(shù)據(jù)不需被分離,且可從高速緩存的數(shù)據(jù)存儲器單獨地讀取數(shù)據(jù)。由于數(shù)據(jù)存取具有順序的性質(zhì),通過禁止讀取數(shù)據(jù)存儲器中不需要的數(shù)據(jù)來可有效地節(jié)省能源。在圖4實施例的描述中,數(shù)據(jù)存儲器212可設(shè)計成一鎖存器并非為數(shù)據(jù)存儲器的一整合部份。因此,數(shù)據(jù)維持元件213可被耦合至數(shù)據(jù)存儲器212的輸出,在一實施例中,此數(shù)據(jù)維持元件213可為一鎖存器。然而,為了與本發(fā)明的精神及其范圍一致,此數(shù)據(jù)維持元件213也可為其它任何不同的元件。
圖4亦闡述了用邏輯運(yùn)算240來禁止數(shù)據(jù)存儲器的存取。此邏輯運(yùn)算240可與在圖2中的邏輯140為相同的工具,然而,在其它實施例中,邏輯運(yùn)算240可具有不同的形式。例如,圖2中所述的邏輯140用來與已知讀選通共同產(chǎn)生邏輯運(yùn)算。應(yīng)該可以理解的,本發(fā)明不是只限定禁止一讀選通信號產(chǎn)生的實施例,且包含如實施例中所述的可禁止數(shù)據(jù)存儲器212的主動運(yùn)算。在一實施例中,提供與數(shù)據(jù)存儲器元件有關(guān)的一致能信號(enable signal),其與讀選通的輸入不同。此圖4實施例中的邏輯運(yùn)算240可產(chǎn)生此信號,此信號被引導(dǎo)到一致能輸入(enable input)或是數(shù)據(jù)存儲器212的其它輸入,用以禁止數(shù)據(jù)存儲器的正常操作。在此實施例中,已知產(chǎn)生讀選通的電路(此圖4中未示)可耦合至數(shù)據(jù)存儲器212的讀選通輸入。
圖5為一根據(jù)本發(fā)明的一實施例的高速緩存最上層功能操作方法的流程圖。在第一步驟中,產(chǎn)生一讀取請求(步驟302),或是從高速緩存中的數(shù)據(jù)存儲器請求其它的數(shù)據(jù)。然后,此實施例可決定所請求的數(shù)據(jù)是否有順序地位于與先前讀取數(shù)據(jù)相關(guān)的位置(步驟304)。假如數(shù)據(jù)不是有順序地位于其中,則數(shù)據(jù)會從高速緩存的數(shù)據(jù)存儲器中取得(步驟306),且被鎖存(latched)到一與數(shù)據(jù)存儲器輸出耦合的鎖存元件中(步驟308),如同在已知高速緩存中所操作的一樣。因此,數(shù)據(jù)可從鎖存器中讀取(步驟310)且從高速緩存中輸出。然而,假如步驟304決定所請求的數(shù)據(jù)有順序地位于相關(guān)的先前檢索數(shù)據(jù)中,則用此方法可決定位址線的最低位元是否都為邏輯0(步驟312)。假如是,則此步驟會決定數(shù)據(jù)存在于高速緩存的第一位置內(nèi),且繼續(xù)進(jìn)行到步驟306。然而,如果最低有效位元不是為邏輯0,則此方法會禁止數(shù)據(jù)存儲器執(zhí)行一現(xiàn)行數(shù)據(jù)讀取(active data retrieval)(步驟314),且會從一鎖存器或其它可能的維持?jǐn)?shù)據(jù)元件中直接讀取數(shù)據(jù)(步驟310)。
參閱圖6,為根據(jù)本發(fā)明的另一實施例的高速緩存最上層功能操作方法的流程圖。與圖5中所述相同,圖6的方法起始于向數(shù)據(jù)存儲器提出一讀取請求(步驟402),因此,此方法可決定目前標(biāo)簽(current tag)是否與先前標(biāo)簽相同,假如不是,則數(shù)據(jù)必須從一不同的快取線中讀取,亦不能存于鎖存器中。因此,假如步驟404的答案為“否”,則如圖5中所描述的,數(shù)據(jù)從數(shù)據(jù)存儲器中讀取(步驟406)及鎖存(步驟408),因此,數(shù)據(jù)可從鎖存器中讀取(步驟410)。假如目前請求數(shù)據(jù)的標(biāo)簽與先前請求數(shù)據(jù)的標(biāo)簽一致,則表示目前請求數(shù)據(jù)存在于鎖存器中,為了讓此判定維持正確,可以理解地,圖6實施例的鎖存器與數(shù)據(jù)存儲器區(qū)的快取線為相同的大小。因此,假如步驟404的判斷結(jié)果為“是”,則此方法可禁止數(shù)據(jù)存儲器執(zhí)行現(xiàn)行數(shù)據(jù)讀取(步驟412),且數(shù)據(jù)可從鎖存器或其它可能的維持元件中讀取(步驟410)。
參閱圖7,其為根據(jù)本發(fā)明的再一實施例的高速緩存最上層功能操作方法的流程圖。如同圖5及圖6中所描述的,圖7的方法起始于向高速緩存內(nèi)數(shù)據(jù)存儲器提出一讀取請求(步驟502)。圖7中的方法適用不同于圖2及圖4中所述的高速緩存結(jié)構(gòu),更要說明的是,此結(jié)構(gòu)不具有鎖存器或其它耦合至數(shù)據(jù)存儲器輸出的維持元件,然而,此結(jié)構(gòu)仍可從數(shù)據(jù)存儲器讀取數(shù)據(jù)且維持?jǐn)?shù)據(jù)在其它的電路元件中,直至下一個快取線被讀取。在圖7的實施例中,當(dāng)判斷高速緩存其它元件中是否存有現(xiàn)行請求數(shù)據(jù)時,會產(chǎn)生一判定(determination)(步驟504),關(guān)于「其它的」元件,步驟504參照除了數(shù)據(jù)存儲器以外的一元件,因此,此「其它的」元件可為一鎖存器(與圖2相同)、一數(shù)據(jù)維持電路元件(與圖4相同),或是其它在高速緩存中的元件。假如數(shù)據(jù)不存在于其它的元件中時,則數(shù)據(jù)會從數(shù)據(jù)存儲器中讀取(步驟506),且利用其它的電路元件來鎖存(或維持)(步驟508),如在上述圖5及圖6中所描述的一般,因此,維持的數(shù)據(jù)可被讀取(步驟510)。然而,假如步驟504判斷在高速緩存其它元件中存有現(xiàn)行請求數(shù)據(jù)時,則數(shù)據(jù)存儲器將會禁止正常的操作(步驟512),且會直接從最近可用的「其它」元件讀取現(xiàn)行請求數(shù)據(jù)(步驟514)。
以上所述僅為本發(fā)明的具體實施例而已,并非用以限定本發(fā)明的申請專利范圍;凡其它為脫離本發(fā)明所揭示的精神下所完成的等效改變或修飾,均應(yīng)包含在所述的申請專利范圍內(nèi)。
權(quán)利要求
1.一種高速緩存,其包含一數(shù)據(jù)存儲器;及一運(yùn)算邏輯,用來禁止從該數(shù)據(jù)存儲器中讀取一請求數(shù)據(jù),其若是該請求數(shù)據(jù)先前已從該數(shù)據(jù)存儲器中讀取,且可從高速緩存其它的電路元件中讀取。
2.如權(quán)利要求1所述的高速緩存,其中該其它的電路元件為耦合至該數(shù)據(jù)存儲器的一輸出的一鎖存器。
3.如權(quán)利要求1所述的高速緩存,其中該運(yùn)算邏輯用來產(chǎn)生一禁止該數(shù)據(jù)存儲器的一讀選通的輸出。
4.如權(quán)利要求1所述的高速緩存,其中該運(yùn)算邏輯用來鑒定該請求數(shù)據(jù)的一個或多個較低位址位元,且依據(jù)該其它的電路元件的大小與該一個或多個較低位址位元所包含的一位址來決定該請求數(shù)據(jù)是否可讀取于該其它的電路元件。
5.如權(quán)利要求2所述的高速緩存,更包含一判斷邏輯對應(yīng)于一數(shù)據(jù)的請求,該判斷邏輯用來判定現(xiàn)行請求數(shù)據(jù)是否存在于該鎖存器中。
6.一種高速緩存,具有一數(shù)據(jù)存儲器來儲存數(shù)據(jù)及一鎖存器來鎖存從該數(shù)據(jù)存儲器讀取的數(shù)據(jù),從該高速緩存讀取請求數(shù)據(jù)的方法包含從一先前讀取的數(shù)據(jù),判斷所請求的數(shù)據(jù)目前是否儲存于該鎖存器中;禁止該數(shù)據(jù)存儲器讀取數(shù)據(jù),其對應(yīng)于所請求數(shù)據(jù)目前存在于該鎖存器中的判定;從該數(shù)據(jù)存儲器讀取數(shù)據(jù)至該鎖存器中,其對應(yīng)于所請求數(shù)據(jù)目前不存在于該鎖存器中的判定;及從該鎖存器中讀取數(shù)據(jù)。
7.如權(quán)利要求6所述的從該高速緩存讀取請求數(shù)據(jù)的方法,其中該判斷步驟包含判別所請求的數(shù)據(jù)是否有順序地位于一先前請求的請求數(shù)據(jù)中。
8.如權(quán)利要求7所述的從該高速緩存讀取請求數(shù)據(jù)的方法,其中該判斷的步驟更包含判定所請求的數(shù)據(jù)不存在于該鎖存器的一第一邊界位置。
9.如權(quán)利要求8所述的從該高速緩存讀取請求數(shù)據(jù)的方法,其中判斷所請求的數(shù)據(jù)不存在于該鎖存器的該第一邊界位置的步驟更包含確定該數(shù)據(jù)存儲器的最低有效位元不為零,假如該鎖存器維持兩個字符數(shù)據(jù);及確定該數(shù)據(jù)存儲器的兩個最低有效位元都不為零,假如該鎖存器維持四個字符數(shù)據(jù)。
10.一種從一高速緩存讀取請求數(shù)據(jù)的方法,其包含回應(yīng)一第一數(shù)據(jù)請求,其利用該第一數(shù)據(jù)請求從一數(shù)據(jù)存儲器讀取比請求數(shù)據(jù)更多的字符數(shù)據(jù);暫存該請求數(shù)據(jù)在一電路元件中;及回應(yīng)一第二數(shù)據(jù)請求,其為順序的數(shù)據(jù)請求,禁止該數(shù)據(jù)存儲器的主動運(yùn)算及從該電路元件中讀取數(shù)據(jù)。
11.如權(quán)利要求10所述的從該高速緩存讀取請求數(shù)據(jù)的方法,其中更包含判別該順序數(shù)據(jù)請求的第二數(shù)據(jù)請求目前是否存在于該電路元件中。
12.如權(quán)利要求10所述的從該高速緩存讀取請求數(shù)據(jù)的方法,其中該暫存該請求數(shù)據(jù)在該電路元件中的步驟更包含鎖存讀取數(shù)據(jù)在一鎖存元件中。
13.如權(quán)利要求10所述的從該高速緩存讀取請求數(shù)據(jù)的方法,其中該從數(shù)據(jù)存儲器讀取數(shù)據(jù)的步驟更包含讀取至少兩個字符數(shù)據(jù),當(dāng)該第一數(shù)據(jù)請求只請求一字符數(shù)據(jù)時。
全文摘要
本發(fā)明提供一種高速緩存及從高速緩存讀取數(shù)據(jù)的方法及其運(yùn)算邏輯,此高速緩存包括與一數(shù)據(jù)存儲器輸出結(jié)合的鎖存器,且數(shù)據(jù)存儲器控制鎖存數(shù)據(jù)的輸出,此鎖存器亦包括一判斷邏輯。而此判斷邏輯可判斷出目前的請求數(shù)據(jù)是否存在于鎖存邏輯運(yùn)算中。最后,此鎖存器包括一可用來禁止數(shù)據(jù)存儲器主動運(yùn)算的禁止運(yùn)算邏輯,其回應(yīng)上述的判斷邏輯運(yùn)算。此外,本發(fā)明亦提供相對應(yīng)的從一高速緩存讀取數(shù)據(jù)的方法,以降低其操作時的耗能。
文檔編號G06F12/08GK1521636SQ20041000501
公開日2004年8月18日 申請日期2004年2月12日 優(yōu)先權(quán)日2003年5月2日
發(fā)明者查理斯·F·雪洛, 查理斯 F 雪洛 申請人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
延川县| 诸暨市| 洪泽县| 本溪市| 安图县| 伽师县| 民权县| 靖江市| 兴隆县| 宁德市| 花莲市| 安达市| 定日县| 五常市| 青河县| 文安县| 抚顺市| 通化市| 呼伦贝尔市| 庆云县| 达拉特旗| 澜沧| 昌图县| 叙永县| 敦煌市| 定结县| 高台县| 黑龙江省| 独山县| 葫芦岛市| 姚安县| 庆阳市| 石河子市| 通江县| 桑日县| 扬中市| 富源县| 灵川县| 萨迦县| 湟源县| 襄樊市|