国产精品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>

      使用n路高速緩沖存儲器的系統(tǒng)和方法

      文檔序號:6478564閱讀:163來源:國知局
      專利名稱:使用n路高速緩沖存儲器的系統(tǒng)和方法
      技術(shù)領(lǐng)域
      本發(fā)明大體上涉及一種使用η路高速緩沖存儲器的系統(tǒng)和方法。
      背景技術(shù)
      技術(shù)上的進步已產(chǎn)生更小且更強大的個人計算裝置。舉例來說,當(dāng)前存在多種便攜式個人計算裝置,包含無線計算裝置,例如便攜式無線電話、個人數(shù)字助理(PDA)和尋呼 裝置,其體積小、重量輕且容易由用戶攜帶。更具體來說,例如蜂窩式電話和IP電話等便攜 式無線電話可經(jīng)由無線網(wǎng)絡(luò)傳送語音和數(shù)據(jù)包。此外,許多此類無線電話包含并入在其中 的其它類型的裝置。舉例來說,無線電話還可包含數(shù)字靜態(tài)相機、數(shù)字視頻相機、數(shù)字記錄 器和音頻文件播放器。而且,此類無線電話可包含可用于訪問因特網(wǎng)的網(wǎng)絡(luò)接口。因此,這 些無線電話包含顯著的計算能力。通常,隨著這些裝置變得更小且更強大,其變得越來越受資源約束。舉例來說,屏 幕大小、可用存儲器和文件系統(tǒng)空間的量以及輸入和輸出能力的量可受到裝置的小尺寸限 制。此外,電池尺寸、由電池提供的功率量,和電池的壽命也受到限制。一種用以增加裝置 的電池壽命的方式是減少由裝置內(nèi)的處理器執(zhí)行數(shù)據(jù)操作所消耗的功率。處理器通常包含存儲器高速緩沖存儲器,其提供較小的存儲容量但具有快速的存 取時間。通常使用所請求的存儲器地址的一部分來將存儲器高速緩沖存儲器編制索引。存 儲器高速緩沖存儲器的一實例為可存儲與每一索引值相關(guān)聯(lián)的多個高速緩沖存儲器線的η 路高速緩沖存儲器。在η路高速緩沖存儲器的情況下,通常執(zhí)行多個比較以確定是否針對 特定索引值將所請求的數(shù)據(jù)存儲在η路高速緩沖存儲器的特定路處。多個比較消耗功率和 有限的處理資源。因此,提供一種使用η路高速緩沖存儲器的改進的系統(tǒng)和方法將是有利的。

      發(fā)明內(nèi)容
      在特定實施例中,揭示一種方法,其包含確定存儲在多路高速緩沖存儲器中的第 一指令的第一路。所述方法包含將所述第一路存儲在路列表中。所述方法還包含確定存儲 在多路高速緩沖存儲器中的第二指令的第二路。所述方法進一步包含將所述第二路存儲在 路列表中。在另一實施例中,揭示一種方法,其包含將路值存儲在路表處。所述路值可與來自 η路高速緩沖存儲器的連續(xù)數(shù)據(jù)讀取操作相關(guān)聯(lián)。所述連續(xù)數(shù)據(jù)讀取操作可對應(yīng)于處理循 環(huán)的第一反復(fù)。所述方法還包含在處理循環(huán)的下一反復(fù)期間從所述路表中循序檢索用于連 續(xù)數(shù)據(jù)讀取操作的路值。在另一實施例中,揭示一種裝置,其包含含有多個路的條目表。條目表中的每一條 目識別η路高速緩沖存儲器的一路。所述裝置還包含程序計數(shù)器以提供具有索引的地址。 所述索引和所述路識別指令在η路高速緩沖存儲器中的位置。在另一實施例中,揭示一種無線裝置,其包含天線和耦合到天線的收發(fā)器。所述無線裝置還包含耦合到所述收發(fā)器的處理器。所述處理器具有處理器可讀存儲器,其包含包 含多個路的條目表。條目表中的每一條目識別η路高速緩沖存儲器的一路。所述處理器還 包含程序計數(shù)器以提供具有索引的處理器指令地址。所述索引和所述路識別處理可執(zhí)行指 令在所述η路高速緩沖存儲器中的位置。由使用η路高速緩沖存儲器的系統(tǒng)和方法的實施例提供的一個特定優(yōu)點在于可 獲得減少功率的操作、較快速的高速緩沖存儲器存取,或兩者。在檢視整個申請案后將明白本發(fā)明的其它方面、優(yōu)點和特征,整個申請案包含以下部分


      具體實施方式
      和權(quán)利要求書。

      圖1是使用η路高速緩沖存儲器的系統(tǒng)的一實施例的框圖;圖2是使用η路高速緩沖存儲器的方法的一實施例的流程圖;圖3是可與η路高速緩沖存儲器一起使用的數(shù)據(jù)結(jié)構(gòu)的視圖;圖4是使用η路高速緩沖存儲器的方法的另一實施例的流程圖;以及圖5是使用η路高速緩沖存儲器的系統(tǒng)的另一實施例的框圖。
      具體實施例方式參看圖1,說明裝置100(例如,處理器的一部分)。裝置100包含芯片上系統(tǒng)部分 和外部存儲器110。芯片上系統(tǒng)包含高速緩沖存儲器102和程序計數(shù)器106。高速緩沖存 儲器102是包含路跡(way trace)邏輯電路104、標(biāo)簽陣列120和數(shù)據(jù)高速緩沖存儲器陣 列130的多路高速緩沖存儲器。在特定實施例中,數(shù)據(jù)高速緩沖存儲器陣列130可為指令 高速緩沖存儲器陣列。路跡邏輯電路104響應(yīng)于從程序計數(shù)器106中接收到的地址。來自程序計數(shù)器106 的每一地址包含標(biāo)簽部分112和索引部分114。在特定說明性實施例中,如圖1中所示,程 序計數(shù)器地址具有32位。路跡邏輯電路104包含標(biāo)簽旁路邏輯電路140和路跡緩沖器存儲器,例如先入先 出(FIFO)存儲器陣列150。標(biāo)簽旁路邏輯電路140將控制信號118提供到標(biāo)簽陣列120。 在特定實施例中,控制信號118包含索引值Ix和標(biāo)簽值Tx??刂菩盘?18的索引值和標(biāo)簽 值作為輸入提供到標(biāo)簽陣列120以基于輸入的索引值檢索多個標(biāo)簽值。從標(biāo)簽陣列120中 檢索到的每一標(biāo)簽值對應(yīng)于多個路中的不同一者。在特定實施例中,η路高速緩沖存儲器 包含與高速緩沖存儲器的每一索引值相關(guān)聯(lián)的η個存儲器位置。因此可使用所述索引和識 別與數(shù)據(jù)值相關(guān)聯(lián)的路的數(shù)字來定位存儲在η路高速緩沖存儲器中的數(shù)據(jù)值。在特定實施 例中,標(biāo)簽陣列120是η路高速緩沖存儲器102的一部分。在路跡邏輯電路104處將輸入的標(biāo)簽值(Tx)與來自標(biāo)簽陣列120的多個標(biāo)簽中 的每一者進行比較(基于所述索引值),以確定匹配的標(biāo)簽和相關(guān)聯(lián)的所識別路。在圖1中 的特定說明性實例中,標(biāo)簽值Tx對應(yīng)于路W2。在此實例中,在標(biāo)簽陣列120的輸出122處 提供所識別的路W2,且將此路輸出122提供到路跡邏輯電路104且還提供到數(shù)據(jù)高速緩沖 存儲器陣列130。在標(biāo)簽陣列120在與輸入的索引值(Ix)相關(guān)聯(lián)的任何路處不含有與標(biāo)簽 值Tx匹配的標(biāo)簽的情況下,則已發(fā)生高速緩沖存儲器未命中,且向外部存儲器110作出檢索指令的請求。在接收到所識別的路值后,路跡邏輯電路104在輸出132處提供索引值,其被饋送到數(shù)據(jù)高速緩沖存儲器陣列130的輸入。另外,路跡邏輯電路104還可提供預(yù)定的路值 116,其可從路跡緩沖器存儲器150讀取。數(shù)據(jù)高速緩沖存儲器陣列130包含根據(jù)多個不同的路而識別的多個計算機可執(zhí) 行指令。舉例來說,如圖1中所示,展示四個不同的路,且每一路對應(yīng)于一不同組的計算機 可執(zhí)行指令。因此,當(dāng)數(shù)據(jù)高速緩沖存儲器陣列130接收到索引值和路值時,從數(shù)據(jù)高速緩 沖存儲器陣列130中檢索所識別的計算機可執(zhí)行指令Dx,且將其提供于輸出134處。在基 于索引值和路值未在數(shù)據(jù)高速緩沖存儲器陣列130中找到所識別的計算機可執(zhí)行指令的 情況下,則已發(fā)生高速緩沖存儲器未命中,且向外部存儲器110作出檢索指令的請求。一旦從數(shù)據(jù)高速緩沖存儲器陣列130輸出計算機可執(zhí)行指令134(Dx),便追蹤用 于計算機可執(zhí)行指令的路值,且將其存儲在路跡邏輯電路104內(nèi)的條目表中。在特定實施 例中,條目表可存儲在路跡FIFO緩沖器150中,且可被配置為圖3中所描繪的路表304。在 另一實施例中,路跡數(shù)據(jù)可作為表或簡單陣列存儲在計算機可讀存儲器中,或存儲在專用 寄存器中。當(dāng)從高速緩沖存儲器102輸出指令134時,還將所述指令提供于路跡邏輯電路 104的輸入處以與由標(biāo)簽陣列120提供的相關(guān)聯(lián)的路信息122相關(guān)和對準(zhǔn),以便將所述信息 存儲在路跡FIFO緩沖器150中??呻S后將所存儲的路跡信息用于后續(xù)處理中以通過將特 定路信息從路跡邏輯電路104引導(dǎo)到數(shù)據(jù)高速緩沖存儲器陣列130,進而避免與從標(biāo)簽陣 列120中檢索多個值以及執(zhí)行多個匹配操作來確定相關(guān)聯(lián)的路相關(guān)聯(lián)的額外計算,而節(jié)省 功率和處理資源。在特定實施例中,所述特定路信息包含路數(shù)。在特定說明性實施例中,程序計數(shù)器106提供具有索引114的地址。索引114和 η路高速緩沖存儲器的路一起識別特定指令在數(shù)據(jù)高速緩沖存儲器陣列130中的位置。在 特定實施例中,標(biāo)簽陣列120還具有響應(yīng)于索引值114的輸入118。另外,路跡邏輯電路104具有對包含所存儲的路值的條目表的存取權(quán),例如使用 路跡FIFO緩沖器150。路跡邏輯電路104包含用以將從標(biāo)簽陣列120中檢索到的標(biāo)簽值 112與從程序計數(shù)器106中檢索到的對應(yīng)標(biāo)簽值進行比較以確定與指令Dx相關(guān)聯(lián)的路的邏 輯。在具有此匹配邏輯的情況下,路跡邏輯電路104可核實并驗證從標(biāo)簽陣列120中檢索 到的標(biāo)簽。路跡邏輯電路104在確定來自標(biāo)簽陣列120的標(biāo)簽值與來自程序計數(shù)器106的 標(biāo)簽值匹配后,將索引132和路116提供到數(shù)據(jù)高速緩沖存儲器陣列130。在特定說明性實施例中,存儲在路條目表(例如,路跡FIFO緩沖器150)中的多個 路中的每一者以與存儲在η路數(shù)據(jù)高速緩沖存儲器陣列130內(nèi)的對應(yīng)多個計算機可執(zhí)行指 令相關(guān)聯(lián)的次序而存儲。在特定實施例中,條目表中的第一條目對應(yīng)于指令循環(huán)的開始。指 令循環(huán)的一實例是可由數(shù)字信號處理器執(zhí)行的處理循環(huán)。所述處理循環(huán)通過數(shù)字信號處理 器裝置而用于許多不同應(yīng)用中。在另一實例中,計算機可執(zhí)行指令中的一者與進入循環(huán)相 關(guān)聯(lián)。以此方式,路跡FIFO緩沖器150可將指令中的每一者存儲在特定循環(huán)中,且可使用 通過循環(huán)的第一回合的所存儲信息,從而通過檢索通過處理循環(huán)的后續(xù)回合中的指令的路 值而節(jié)省功率和處理資源。因此,可以較低的功率和減少的成本執(zhí)行所述處理。在特定實施例中,可將路跡FIFO緩沖器150中的條目表實施為獨立于η路數(shù)據(jù)高 速緩沖存儲器陣列130中所存儲的數(shù)據(jù)的存儲器。存儲在路跡FIFO緩沖器150中的條目表包含路值,例如路值W2,但路跡FIFO緩沖器150不包含在數(shù)據(jù)高速緩沖存儲器陣列130 內(nèi)找到的計算機可執(zhí)行指令。舉例來說,當(dāng)檢測到指示跳到閉合處理循環(huán)的開始的循環(huán)結(jié)束包時,路跡邏輯電 路104可開始填充存儲在路跡FIFO緩沖器150中的條目表。寫入到路跡FIFO緩沖器150 的第一條目可為由所檢測到的循環(huán)結(jié)束包所指示的循環(huán)開始的地址。當(dāng)從數(shù)據(jù)高速緩沖存 儲器陣列130中循序地檢索到循環(huán)的每一指令時,路跡邏輯電路104可將與所述指令相關(guān) 聯(lián)的路值存儲于路跡FIFO緩沖器150處。在循環(huán)期間,當(dāng)將路值存儲于路跡FIFO緩沖器150處時,路跡邏輯電路104可將 所請求的指令地址與存儲在路跡FIFO緩沖器150處的循環(huán)開始地址進行比較。當(dāng)檢測到 循環(huán)開始地址時(指示完成循環(huán)的當(dāng)前反復(fù)且下一循環(huán)反復(fù)將開始),將用與循環(huán)指令相 關(guān)聯(lián)的路值以由處理器請求的次序填充路跡FIFO緩沖器150。路跡邏輯電路104可開始從 路跡FIFO緩沖器150讀取路值,且因此在循環(huán)的后續(xù)反復(fù)期間從標(biāo)簽陣列120執(zhí)行較少的 讀取操作。雖然將數(shù)據(jù)高速緩沖存儲器陣列130的每一路描繪為存儲單一指令,但應(yīng)清楚理 解,數(shù)據(jù)高速緩沖存儲器陣列130的每一路可以稱為高速緩沖存儲器線的數(shù)據(jù)單位存儲多 個數(shù)據(jù)字或指令。數(shù)據(jù)高速緩沖存儲器陣列130處的每一數(shù)據(jù)讀取操作可返回包含多個指 令的高速緩沖存儲器線,可從中檢索所請求的指令。參看圖2,說明關(guān)于多路高速緩沖存儲器的操作方法。所述方法包含確定存儲在高 速緩沖存儲器中的第一指令的第一路,如202處所示。所述方法進一步包含將第一路存儲 在路列表中,例如存儲在圖1的路跡FIFO緩沖器150中,如204處所示。所述方法進一步 包含在206處確定存儲在高速緩沖存儲器中的第二指令的第二路,且在208處將所述第二 路存儲在路列表中。在特定實施例中,所述方法進一步包含檢測循環(huán)結(jié)束包,如210處所示??赏ㄟ^檢 測特定指令(例如跳躍指令(其發(fā)出指令的處理循環(huán)的回合或反復(fù)的結(jié)束的信號))來確 定循環(huán)結(jié)束包。所述方法可進一步包含在212處存儲與循環(huán)結(jié)束包相關(guān)聯(lián)的特定地址。在 檢測到循環(huán)結(jié)束包后,所述方法可包含存取從路列表中檢索到的至少一個路,如214處所 示。舉例來說,當(dāng)處理器正參考循環(huán)的開始時,邏輯電路(例如,圖1的路跡邏輯電路104) 可從路列表中檢索與循環(huán)的開始相關(guān)聯(lián)的所存儲的路信息。在216處,可基于至少一個檢索到的路存取高速緩沖存儲器中的指令。舉例來說, 檢索到的路值可用于執(zhí)行對標(biāo)簽陣列(例如標(biāo)簽陣列120)的單一讀取,以核實指令存儲于 指令陣列處,且將不導(dǎo)致高速緩沖存儲器未命中。檢索到的路值可隨后用于檢索指令陣列 的含有所述指令的高速緩沖存儲器線。在特定實施例中,除了指令的路信息之外或作為其替代,所述方法可任選地包含 在218處存儲相同線位或其它識別符,使得當(dāng)存取相同的高速緩沖存儲器線時,不評估標(biāo) 簽陣列中的條目。相同線位可識別特定指令位于指令陣列的與緊接在前面的指令相同的高 速緩沖存儲器線處。因此,當(dāng)成功地檢索到前面的指令時,相同線位使得能夠從高速緩沖存 儲器中檢索到后續(xù)指令,而無需經(jīng)由標(biāo)簽陣列首先檢查高速緩沖存儲器未命中。在說明性 實施例中,可將相同線位存儲在獨立的位陣列中,例如圖4中所描繪的相同線位陣列406。在特定實施例中,第一路對應(yīng)于從標(biāo)簽陣列中檢索到的路值。另外,也可將第二路檢索為來自標(biāo)簽陣列的路值。雖然將高速緩沖存儲器描述為多路高速緩沖存儲器,但也可將高速緩沖存儲器描述為η路高速緩沖存儲器,其中η可為大于1的值。在特定實施例中, η為4。另外,應(yīng)理解,可存取與循環(huán)結(jié)束包相關(guān)聯(lián)的特定地址,且將其存儲在路列表內(nèi)。與 循環(huán)結(jié)束包相關(guān)聯(lián)的特定地址可用于識別一指令,所述指令識別后續(xù)處理的循環(huán)結(jié)束。通 過使用所描述的方法,可響應(yīng)于來自預(yù)先存儲的路列表的路而不是評估標(biāo)簽陣列的多個標(biāo) 簽來存取高速緩沖存儲器中的指令。在特定實施例中,所揭示的系統(tǒng)提供低成本方法來減少歸因于用于執(zhí)行數(shù)字信號 處理器循環(huán)的標(biāo)簽陣列存取和標(biāo)簽匹配而引起的功率消耗。所揭示的系統(tǒng)和方法通過存儲 所存取的路跡,而不存儲來自η路高速緩沖存儲器的特定計算機可執(zhí)行指令而提供減少功 率的操作。與路列表相關(guān)聯(lián)的硬件結(jié)構(gòu)在面積方面且在功率要求方面是低成本的。而且, 所述結(jié)構(gòu)提供存取高速緩沖存儲器線以存儲較大編程循環(huán)的跡的能力。另外,雖然參考了 FIFO,但任何其它類似硬件結(jié)構(gòu)可用于存儲路跡數(shù)據(jù)。通過存儲用于通過DSP循環(huán)的后續(xù) 處理的路跡數(shù)據(jù),所述方法可僅讀取標(biāo)簽陣列的一路,進而減少功率消耗。而且,在系統(tǒng)每 次存取讀取高速緩沖存儲器線的一部分的高速緩沖存儲器中,所述系統(tǒng)可存儲用于所述高 速緩沖存儲器線的相同線位,使得將不需要對標(biāo)簽陣列的存取。參看圖3,描繪可與η路高速緩沖存儲器一起使用的數(shù)據(jù)結(jié)構(gòu)的特定說明性實施 例,且一般標(biāo)示為300。系統(tǒng)300包含說明性指令列表302和路表304。在特定實施例中, 可將路表304存儲于FIFO緩沖器處,例如圖1中所描繪的路跡FIFO緩沖器150。在特定實施例中,說明性指令列表302反映對應(yīng)于處理器(例如DSP)向高速緩沖 存儲器(例如圖1的高速緩沖存儲器102)請求的指令的數(shù)據(jù)。說明性指令列表302包含第 一列指令地址、第二列路值和第三列指令字。與指令相關(guān)聯(lián)的指令地址和路用于存取含有 來自高速緩沖存儲器的所請求指令的對應(yīng)高速緩沖存儲器線。舉例來說,說明性指令列表 302的第一數(shù)據(jù)行包含第一地址Al,其位于路3處,且對應(yīng)的指令(INSTRl)是與地址Al和 路3相關(guān)聯(lián)的高速緩沖存儲器線處的計算機指令字。應(yīng)理解,說明性指令列表302描繪與 連續(xù)的高速緩沖存儲器請求相關(guān)聯(lián)的數(shù)據(jù)以說明路表304處的操作。說明性指令列表302 不需要對應(yīng)于與η路高速緩沖存儲器一起使用的實際的表或數(shù)據(jù)結(jié)構(gòu)。圖3的說明性實施例中的說明性指令列表302包含九個指令字,開始于位于數(shù)據(jù) 高速緩沖存儲器陣列的地址Al和路3處的指令字INSTRl,且繼續(xù)到位于地址Α9、路1處的 指令。圖3中所說明的特定實施例的位于地址Α9、路1處的指令是標(biāo)示循環(huán)結(jié)束的特殊 包。另外,地址Α9、路1處的指令包含到地址Α4的跳躍命令。在特定實施例中,地址Α9處 的循環(huán)結(jié)束特殊包指示處理器循環(huán)的每一反復(fù)開始于地址Α4處的指令,且結(jié)束于地址Α9 處的指令。路表304包含與對應(yīng)于處理器執(zhí)行的循環(huán)中的循序存取的高速緩沖存儲器線的 每一路值相關(guān)聯(lián)的數(shù)據(jù)。路表304中的第一條目是從循環(huán)結(jié)束特殊包中檢索到的地址Α4。 路表304的以下連續(xù)數(shù)據(jù)元素指示與由處理器在處理循環(huán)中向高速緩沖存儲器請求的每 一連續(xù)高速緩沖存儲器線相關(guān)聯(lián)的路值。舉例來說,指令列表302中所說明的與地址Α4處的指令相關(guān)聯(lián)的路值為2。類似 地,路表304的第一路數(shù)據(jù)元素為數(shù)字2。通過說明性指令列表302中所說明的連續(xù)高速緩沖存儲器線檢索繼續(xù)下去,地址A5處的觸發(fā)高速緩沖存儲器存取的下一指令具有相關(guān)聯(lián)的路O。同樣,路表304的第二路數(shù)據(jù)元素也是O。路表304包含用于處理器的連續(xù)高速緩 沖存儲器線請求的路值,直到處理循環(huán)的結(jié)束為止,其結(jié)束于地址A9、路1處的指令。在特定實施例中,當(dāng)(例如經(jīng)由循環(huán)結(jié)束特殊包)在指令的處理中檢測到循環(huán)時, 可首先用處理循環(huán)的下一反復(fù)的第一指令的地址填充路表304。在圖3的說明性實施例中, 第一指令的地址為A4??衫^續(xù)用對應(yīng)于從高速緩沖存儲器(例如數(shù)據(jù)高速緩沖存儲器陣列 130)中檢索到的每一連續(xù)高速緩沖存儲器線的路數(shù)據(jù)的數(shù)據(jù)值來填充路表304,且可經(jīng)由 標(biāo)簽陣列(例如,圖1的標(biāo)簽陣列120)確定。一旦已用對應(yīng)于處理循環(huán)的數(shù)據(jù)值填充路表304,便可執(zhí)行處理循環(huán)的額外反復(fù), 而不需要對標(biāo)簽陣列進行額外存取來確定用于每一檢索到的高速緩沖存儲器線的路值。因 此,可獲得處理速度、功率消耗和其它益處。雖然在圖3中描繪說明性指令列表302和路表304,但應(yīng)理解,說明性指令列表 302和路表304兩者都不需要被實施為個別表或陣列。舉例來說,可在先入先出(FIFO)緩 沖器中實施路表304。作為另一實例,與說明性指令列表302相關(guān)聯(lián)的數(shù)據(jù)可存儲在任何其 它數(shù)據(jù)結(jié)構(gòu)或多個結(jié)構(gòu)中,或可根本不存儲,只要處理器能夠請求并接收所請求的指令。參看圖4,描繪可與η路高速緩沖存儲器一起使用的數(shù)據(jù)結(jié)構(gòu)的另一說明性實例, 且一般標(biāo)示為400。系統(tǒng)400包含說明性指令列表402、路表404和相同線位陣列406。一 般來說,說明性指令列表402對應(yīng)于圖3中所描繪的說明性指令列表302,且路表404對應(yīng) 于圖3中所描繪的路表304。在特定實施例中,相同線位陣列406可存儲指示處理循環(huán)的每一指令是否位于與 循環(huán)的前一指令相同的高速緩沖存儲器線中的數(shù)據(jù)。在圖4的實例中,處理循環(huán)包含地址 Α4、Α5、Α6、Α7、Α8處的指令,和Α9處的循環(huán)結(jié)束指令。地址Α5、Α6和Α7處的指令存儲于 指令高速緩沖存儲器的相同高速緩沖存儲器線處,意味著相同的索引和路值用于從指令高 速緩沖存儲器中檢索每一指令。在特定實施例中,當(dāng)在指令的處理中檢測到循環(huán)時,可用為每一指令指示所述指 令是否存儲于與前一指令相同的高速緩沖存儲器線處的數(shù)據(jù)值來循序地填充相同線位陣 列406。循環(huán)的每一指令可在相同線位陣列406中具有被設(shè)定為邏輯高值“1”或邏輯低值 “0”的對應(yīng)位。當(dāng)指令存儲于與前一指令不同的高速緩沖存儲器線處時,可將“0”存儲于相 同線位陣列406處,且可將路值存儲在路表404中。然而,當(dāng)指令存儲于與前一指令相同的 高速緩沖存儲器線處時,可將“1”存儲于相同線位陣列406處,且可在路表404中不為所述 指令制作條目。因此,相同線位陣列406將含有用于處理循環(huán)的每一指令的數(shù)據(jù)值,但路表 404可能含有比循環(huán)中的指令的數(shù)目少的路值。舉例來說,地址Α4處的第一循環(huán)指令在相同線位陣列406中具有對應(yīng)條目“0”,從 而指示所述指令不位于前一高速緩沖存儲器線中。用于經(jīng)由標(biāo)簽陣列檢索的處于Α4處的 指令的路值“2”存儲于路表404的第一路存儲位置處。Α5處的下一指令在相同線位陣列 406中具有條目“0”,從而指示所述指令位于與Α4處的指令不同的高速緩沖存儲器線處,且 對應(yīng)的路值“0”存儲于路表404的第二路條目處。Α6和Α7處的跟隨的指令位于與Α5處的 指令相同的高速緩沖存儲器線處,如相同線位陣列406中的“ 1 ”條目所指示,且在路表404 中不具有對應(yīng)的條目。Α8和Α9處的最后兩個指令各位于單獨的高速緩沖存儲器線處,由相同線位陣列406中的“0”條目指示,且在路表404中具有對應(yīng)的“2”和“ 1 ”條目。因此,雖 然所述循環(huán)包含六個指令,但僅四個路值存儲于路表404處。一旦已用對應(yīng)于處理循環(huán)的數(shù)據(jù)值填充路表404,便可執(zhí)行處理循環(huán)的額外反復(fù), 而不需要對標(biāo)簽陣列進行額外存取來確定用于每一檢索到的高速緩沖存儲器線的路值。在 檢索指令之前,可將索引和路值發(fā)送到標(biāo)簽陣列以確保所述指令尚未在高速緩沖存儲器中 被蓋寫。然而,當(dāng)相同線位陣列406指示所述指令處于與前一指令相同的高速緩沖存儲器 線處時,不需要在標(biāo)簽陣列處執(zhí)行此類檢查。因此,當(dāng)多個連續(xù)指令位于相同的高速緩沖存 儲器線中時,使用相同線位陣列406和路表404的系統(tǒng)與不記錄相同線信息的系統(tǒng)相比可 使用較少的存儲器并執(zhí)行較少的標(biāo)簽陣列讀取操作。在另一實施例中,相同線位陣列406的相同線數(shù)據(jù)與路表404的路數(shù)據(jù)可組合于 單一數(shù)據(jù)結(jié)構(gòu)中。舉例來說,除了用于與前面的指令處于相同的高速緩沖存儲器線中的每 一指令的路值之外或作為其替代,例如路表404等表可存儲“相同線”指示符。參看圖5,其描繪使用路跡信息的方法的特定說明性實施例,且所述方法一般標(biāo)示 為500。在502處接收指令的地址。在特定實施例中,可在η路高速緩沖存儲器的輸入處接 收所述指令的所述地址。在特定實施例中,在504處確定與所述地址相關(guān)聯(lián)的路。舉例來 說,可從標(biāo)簽陣列(例如,圖1的標(biāo)簽陣列120)中確定所述路。在506處可檢索所述指令。 在506處,可使用所述指令地址和與所述指令地址相關(guān)聯(lián)的路從數(shù)據(jù)高速緩沖存儲器陣列 (例如,圖1的數(shù)據(jù)高速緩沖存儲器陣列130)中檢索所述指令。方法繼續(xù)到?jīng)Q策步驟508,其中確定所述指令是否指示已進入處理循環(huán)。在特定實 施例中,可通過包含處理循環(huán)的第一指令的地址的特殊包來指示進入到處理循環(huán)中。如果 所述指令不指示進入到處理循環(huán)中,那么方法返回到502。如果所述指令指示進入到處理循 環(huán)中,那么方法在510處繼續(xù),其中接收處理循環(huán)的第一指令的地址。前進到512,從標(biāo)簽陣列中確定用于所請求的指令的路,且在516處將對應(yīng)的路保 存在路表中。在說明性實施例中,所述路表可為圖3的路表304。在另一說明性實施例中, 所述路表可包含用于路值的數(shù)據(jù)存儲元件,例如圖1的路跡FIFO緩沖器150。處理在518處繼續(xù),其中檢索所請求的指令。在520處確定所述指令是否指示處 理循環(huán)的第一反復(fù)的結(jié)束。如果所述指令不指示處理循環(huán)的第一反復(fù)的結(jié)束,那么方法返 回到510,其中接收循環(huán)中的下一指令的地址。否則,當(dāng)檢索到的指令指示處理循環(huán)的第一 反復(fù)的結(jié)束時,在522處開始處理循環(huán)的第二反復(fù),其中接收指令地址。在特定實施例中,在522處請求的指令曾先前在處理循環(huán)的第一反復(fù)期間檢索 到,且因此具有存儲在路表處的對應(yīng)路。在524處,從路表確定對應(yīng)于所請求的指令的路。在特定實施例中,在526處,可使用標(biāo)簽陣列核實所述路。舉例來說,一個或一個 以上其它過程可能在高速緩沖存儲器處執(zhí)行蓋寫所述指令的數(shù)據(jù)填充。通過僅從標(biāo)簽陣列 中檢索與索引和所請求指令的路相關(guān)聯(lián)的標(biāo)簽值,可將檢索到的標(biāo)簽與所請求的指令的標(biāo) 簽進行比較以核實所述指令尚未被蓋寫。在特定實施例中,相同線位可用于指示用于特定 指令的高速緩沖存儲器線何時與用于緊接在前面的指令的高速緩沖存儲器線相同。如果如 此,那么僅需要針對前一指令執(zhí)行使用標(biāo)簽陣列的核實步驟。在528處,使用來自地址的索引和來自路表的路而檢索指令。在530處,確定所述 指令是否致使處理器執(zhí)行退出循環(huán)的邏輯處理分支。如果確定所述指令不導(dǎo)致從循環(huán)退出,那么方法返回到522。否則,在530處當(dāng)所述指令導(dǎo)致循環(huán)退出時,方法返回到502。圖6是使用η路高速緩沖存儲器的系統(tǒng)(說明為便攜式通信裝置600)的一實施例的框圖。便攜式通信裝置600包含耦合到路跡邏輯電路670的η路高速緩沖存儲器660。 在特定實施例中,路跡邏輯電路670和η路高速緩沖存儲器660可包含圖1的高速緩沖存 儲器102和路跡邏輯電路104,且可例如通過使用例如圖3的路表304的表來存儲和更新路 跡數(shù)據(jù)而實施圖2和圖4中所描繪的方法中的一者或一者以上的至少一部分。便攜式通信 裝置600包含芯片上系統(tǒng)622,其包含例如數(shù)字信號處理器610等處理器。數(shù)字信號處理器 610包含耦合到路跡邏輯電路670的η路高速緩沖存儲器660,如關(guān)于圖1到圖5所描述。 在特定說明性實施例中,路跡邏輯電路670可用于減少處理器(例如,數(shù)字信號處理器610) 和芯片上系統(tǒng)裝置(例如,芯片上系統(tǒng)622)的功率消耗、增加其處理速度,或兩者。在特定實施例中,通過存儲并檢索用于由數(shù)字信號處理器610在處理操作循環(huán)期 間請求的每一指令的路信息,可減少處理期間的功率消耗,進而減少與從η路高速緩沖存 儲器660中檢索每一指令相關(guān)聯(lián)的標(biāo)簽陣列存取和比較的次數(shù)。減少標(biāo)簽陣列存取和比較 的次數(shù)可減少與指令檢索相關(guān)聯(lián)的功率消耗。類似地,減少用于每一指令的標(biāo)簽陣列存取 和比較的次數(shù)可減少從η路高速緩沖存儲器660中進行的個別或總的指令檢索時間。
      圖6還展示耦合到數(shù)字信號處理器610并耦合到顯示器628的顯示器控制器626。 另外,輸入裝置630耦合到數(shù)字信號處理器610。另外,存儲器632耦合到數(shù)字信號處理器 610。編碼器/解碼器(CODEC) 634也可耦合到數(shù)字信號處理器610。揚聲器636和麥克風(fēng) 638可耦合到CODEC 634。圖6還指示無線控制器640可耦合到數(shù)字信號處理器610并耦合到無線天線642。 在特定實施例中,電源644耦合到芯片上系統(tǒng)622。另外,在特定實施例中,如圖6中所說 明,顯示器628、輸入裝置630、揚聲器636、麥克風(fēng)638、無線天線642和電源644處于芯片 上系統(tǒng)622外部。然而,每一者均耦合到芯片上系統(tǒng)622的一組件。在特定說明性實施例中,路跡邏輯電路670可用于增強便攜式通信裝置600的總 體性能。具體來說,路跡邏輯電路670可消除與處理循環(huán)期間的每一檢索到的指令相關(guān)聯(lián) 的多個高速緩沖存儲器讀取和比較,進而延長電池壽命、改進總體功率效率、減少處理時間 和資源使用,且增強裝置600的性能。應(yīng)理解,雖然將η路高速緩沖存儲器660和路跡邏輯電路670描繪為數(shù)字信號處 理器610的單獨組件,但可替代地將η路高速緩沖存儲器660和路跡邏輯電路670集成到 單一高速緩沖存儲器單元(例如圖1的高速緩沖存儲器102)中。類似地,應(yīng)理解,例如可 包含用于單一處理循環(huán)的多個處理路徑的多個路跡邏輯元件。作為另一實例,可包含用于 數(shù)字信號處理器610的多個高速緩沖存儲器(例如,用于專用的指令高速緩沖存儲器和專 用的數(shù)據(jù)高速緩沖存儲器)的多個路跡邏輯元件。作為又一實例,可包含多個路跡邏輯元 件以增強用于多線程處理操作的一個或一個以上線程的性能。所屬領(lǐng)域的技術(shù)人員將進一步了解,可將結(jié)合本文中所揭示的實施例而描述的各 種說明性邏輯塊、配置、模塊、電路和算法步驟實施為電子硬件、計算機軟件或兩者的組合。 為清楚地說明硬件和軟件的此互換性,已根據(jù)其功能性在上文中大體上描述了各種說明性 組件、塊、配置、模塊、電路和步驟。將此功能性實施為硬件還是軟件取決于特定應(yīng)用和強加 于整個系統(tǒng)的設(shè)計約束。對于每一特定應(yīng)用,所屬領(lǐng)域的技術(shù)人員可以不同的方式實施所描述的功能性,但不應(yīng)將此些實施決策解釋為導(dǎo)致脫離本發(fā)明的范圍。結(jié)合本文中所揭示的實施例而描述的方法或算法的步驟可直接包含在硬件中、由 處理器執(zhí)行的軟件模塊中,或兩者的組合中。軟件模塊可駐留于RAM存儲器、快閃存儲器、 ROM存儲器、PROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可裝卸磁盤、CD-ROM, 或此項技術(shù)中已知的任何其它形式的存儲媒體中。將示范性存儲媒體耦合到處理器,使得 處理器可從存儲媒體讀取信息以及將信息寫入到存儲媒體。在替代方案中,可使存儲媒體 與處理器成一體。處理器和存儲媒體可駐留于ASIC中。ASIC可駐留于計算裝置或用戶終 端中。在替代方案中,處理器和存儲媒體可作為離散組件駐留于計算裝置或用戶終端中。提供所揭示實施例的先前描述以使得所屬領(lǐng)域的技術(shù)人員能夠制作或使用所揭示的實施例。所屬領(lǐng)域的技術(shù)人員將容易明白對這些實施例的各種修改,且在不脫離本發(fā) 明的精神或范圍的情況下,本文中所界定的一般原理可適用于其它實施例。因此,不希望本 發(fā)明限于本文中所展示的實施例,而是賦予其與由所附權(quán)利要求書所界定的原理和新穎特 征一致的可能的最廣泛范圍。
      權(quán)利要求
      一種方法,其包括確定存儲在多路高速緩沖存儲器中的第一指令的第一路;將所述第一路存儲在路列表中;確定存儲在所述多路高速緩沖存儲器中的第二指令的第二路;以及將所述第二路存儲在所述路列表中。
      2.根據(jù)權(quán)利要求1所述的方法,其中所述第一路包括從標(biāo)簽陣列中檢索到的路值。
      3.根據(jù)權(quán)利要求1所述的方法,其進一步包括檢測循環(huán)結(jié)束包。
      4.根據(jù)權(quán)利要求3所述的方法,其進一步包括在檢測到所述循環(huán)結(jié)束包后,存取從所 述路列表中檢索到的至少一個路。
      5.根據(jù)權(quán)利要求4所述的方法,其進一步包括基于所述至少一個檢索到的路存取所述 多路高速緩沖存儲器中的指令。
      6.根據(jù)權(quán)利要求5所述的方法,其中所述多路高速緩沖存儲器是η路高速緩沖存儲器, 且其中η大于2。
      7.根據(jù)權(quán)利要求6所述的方法,其中η為4。
      8.根據(jù)權(quán)利要求7所述的方法,其中從標(biāo)簽陣列中檢索所述第一路和所述第二路。
      9.根據(jù)權(quán)利要求5所述的方法,其中在不評估所述標(biāo)簽陣列的多個標(biāo)簽的情況下,響 應(yīng)于所述至少一個檢索到的路而存取所述多路高速緩沖存儲器中的所述指令。
      10.根據(jù)權(quán)利要求9所述的方法,其中讀取高速緩沖存儲器線的一部分,且進一步包括 存儲相同線位,使得在存取所述同一高速緩沖存儲器線時不評估所述標(biāo)簽陣列中的條目。
      11.根據(jù)權(quán)利要求3所述的方法,其進一步包括存儲與所述循環(huán)結(jié)束包相關(guān)聯(lián)的特定 地址。
      12.一種裝置,其包括條目表,其含有多個路,所述條目表中的每一條目識別η路高速緩沖存儲器的一路;程序計數(shù)器,其用以提供具有索引的地址;且其中所述索引和所述路識別指令在所述η路高速緩沖存儲器中的位置。
      13.根據(jù)權(quán)利要求12所述的裝置,其中所述η路高速緩沖存儲器包含具有響應(yīng)于所述 索引的輸入的標(biāo)簽陣列。
      14.根據(jù)權(quán)利要求12所述的裝置,其進一步包括路跡邏輯電路,所述路跡邏輯電路具 有對所述條目表的存取權(quán)。
      15.根據(jù)權(quán)利要求14所述的裝置,其中所述路跡邏輯電路向所述η路高速緩沖存儲器 提供輸出。
      16.根據(jù)權(quán)利要求15所述的裝置,其中所述路跡邏輯電路向所述標(biāo)簽陣列提供路項和 索引,且其中所述路跡邏輯電路包含用以將從標(biāo)簽陣列中檢索到的標(biāo)簽值與來自所述程序 計數(shù)器的對應(yīng)標(biāo)簽值進行比較的邏輯。
      17.根據(jù)權(quán)利要求16所述的裝置,其中所述路跡邏輯電路在確定從所述標(biāo)簽陣列中檢 索到的所述標(biāo)簽值與來自所述程序計數(shù)器的所述對應(yīng)標(biāo)簽值匹配后,向所述η路高速緩沖 存儲器提供所述路項。
      18.根據(jù)權(quán)利要求12所述的裝置,其中所述多個路以與存儲在所述η路高速緩沖存儲 器中的對應(yīng)多個計算機可執(zhí)行指令相關(guān)聯(lián)的次序而存儲。
      19.根據(jù)權(quán)利要求18所述的裝置,其中所述條目表中的第一條目對應(yīng)于指令循環(huán)的開始。
      20.根據(jù)權(quán)利要求19所述的裝置,其中所述多個計算機可執(zhí)行指令中的一者與所述指 令循環(huán)的結(jié)束相關(guān)聯(lián)。
      21.根據(jù)權(quán)利要求12所述的裝置,其中所述條目表獨立于存儲在所述η路高速緩沖存 儲器中的數(shù)據(jù),且其中所述條目表存儲路值,但不存儲計算機可執(zhí)行指令。
      22.根據(jù)權(quán)利要求12所述的裝置,其中所述條目表包括先入先出緩沖器以存儲多個路跡。
      23.一種方法,其包括將路值存儲在路表處,所述路值與從η路高速緩沖存儲器的連續(xù)數(shù)據(jù)讀取操作相關(guān) 聯(lián),所述連續(xù)數(shù)據(jù)讀取操作對應(yīng)于處理循環(huán)的第一反復(fù);以及在所述處理循環(huán)的下一反復(fù)期間,從所述路表中循序地檢索用于所述連續(xù)數(shù)據(jù)讀取操 作的所述路值。
      24.根據(jù)權(quán)利要求23所述的方法,其中所述處理循環(huán)的所述第一反復(fù)的開始與從所述 η路高速緩沖存儲器中第一次檢索循環(huán)結(jié)束指令相關(guān)聯(lián),且其中所述處理循環(huán)的所述第一 反復(fù)的結(jié)束與從所述η路高速緩沖存儲器中下一次檢索所述循環(huán)結(jié)束指令相關(guān)聯(lián)。
      25.根據(jù)權(quán)利要求23所述的方法,其進一步包括使用所述路值中的至少一者從η路標(biāo) 簽陣列中存取僅單一高速緩沖存儲器線。
      26.根據(jù)權(quán)利要求23所述的方法,其進一步包括使用來自所述路表的所述路值中的至 少一者來存取存儲于所述η路高速緩沖存儲器處的數(shù)據(jù)。
      27.一種無線裝置,其包括 天線;收發(fā)器,其耦合到所述天線;處理器,其耦合到所述收發(fā)器,所述處理器包括處理器可讀存儲器,其包含包含多個路的條目表,所述條目表中的每一條目識別η路 高速緩沖存儲器的一路;程序計數(shù)器,其用以提供具有索引的處理器指令地址;且其中所述索引和所述路識別處理可執(zhí)行指令在所述η路高速緩沖存儲器中的所述地址。
      28.根據(jù)權(quán)利要求27所述的無線裝置,其中所述處理器是數(shù)字信號處理器。
      29.根據(jù)權(quán)利要求27所述的無線裝置,其進一步包括 用于編碼和解碼聲音數(shù)據(jù)的裝置;以及用于提供視覺信息的裝置。
      30.根據(jù)權(quán)利要求29所述的無線裝置,其中所述用于編碼和解碼聲音數(shù)據(jù)的裝置包含 耦合到所述處理器且進一步耦合到麥克風(fēng)和揚聲器中的每一者的編解碼器,且其中所述用 于提供視覺信息的裝置包含耦合到所述處理器且進一步耦合到顯示器的顯示器控制器。
      全文摘要
      本發(fā)明揭示一種使用n路高速緩沖存儲器的系統(tǒng)和方法。在一實施例中,一種方法包含確定存儲在高速緩沖存儲器中的第一指令的第一路,且將所述第一路存儲在路列表中。所述方法還包含確定存儲在所述高速緩沖存儲器中的第二指令的第二路,且將所述第二路存儲在所述路列表中。在一實施例中,所述第一路可用于存取含有所述第一指令的第一高速緩沖存儲器線,且所述第二路可用于存取含有所述第二指令的第二高速緩沖存儲器線。
      文檔編號G06F9/38GK101809547SQ200880109441
      公開日2010年8月18日 申請日期2008年9月10日 優(yōu)先權(quán)日2007年9月10日
      發(fā)明者蘇雷什·文庫馬洪蒂, 菲利普·M·瓊斯 申請人:高通股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1