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

數(shù)據(jù)存取追蹤的制作方法

文檔序號:6476428閱讀:175來源:國知局
專利名稱:數(shù)據(jù)存取追蹤的制作方法
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于數(shù)據(jù)存取追蹤。
背景技術(shù)
嵌入式(embedded)處理器可在單一芯片上包括數(shù)字信號處理器和存儲 器,存儲器可并入高速緩存(cache)以迎合數(shù)據(jù)存取型態(tài)的時間和空間區(qū)域性。 在一些實施例中,由于高速緩存的填充(fill)和寫回(c叩yback)動作,使 用高速緩存可能會造成額外的負擔。當處理器遇到高速緩存誤失(cache miss) 情況的時候,高速緩存硬件可從存儲器階層配置中較低的等級開始填充高速 緩存列(cache line)。在高速緩存列的填充中,產(chǎn)生高速緩存誤失的存儲器 操作可能導(dǎo)致處理器暫停(stall)運作,并且等待從存儲器中讀取此數(shù)據(jù)。

發(fā)明內(nèi)容
本發(fā)明記錄了數(shù)據(jù)存取的追蹤。在本發(fā)明中維護了先前數(shù)據(jù)地址的一窗 口移動歷史記錄、計算了一目前數(shù)據(jù)地址和窗口移動歷史記錄中二或更多先 前數(shù)據(jù)地址之間的最小絕對差別值,并且決定了對應(yīng)于最小絕對差別值的先 前數(shù)據(jù)地址的索引。
另一方面,本發(fā)明追蹤了一處理器所存取的數(shù)據(jù)地址。在本發(fā)明中維護 了由處理器所存取的至少一先前數(shù)據(jù)地址的一窗口移動歷史記錄,并且決定 了一目前數(shù)據(jù)地址和窗口移動歷史記錄中先前數(shù)據(jù)地址之間的一差別值。其中窗口移動歷史記錄中的先前數(shù)據(jù)地址具有一索引,并且提供差別值和索引 以表示目前數(shù)據(jù)地址。
實施例可包括一或多個以下的特征。窗口移動歷史記錄可包括好幾個由 處理器所存取的先前數(shù)據(jù)地址??蓻Q定目前數(shù)據(jù)地址和窗口移動歷史記錄中 二或更多先前數(shù)據(jù)地址之間的一最小絕對差別值??商峁┳钚〗^對差別值和 其正負號以及一對應(yīng)的索引來表示目前數(shù)據(jù)地址的壓縮形式。
另一方面,本發(fā)明追蹤了一處理器所存取的數(shù)據(jù)地址。 一記憶單元維護 了由處理器所存取的至少一先前數(shù)據(jù)地址的一窗口移動歷史記錄,其中先前 數(shù)據(jù)地址與一索引相關(guān)。 一壓縮電路決定了一目前數(shù)據(jù)地址和窗口移動歷史 記錄中先前數(shù)據(jù)地址之間的一差別值。最后提供差別值和索引以表示目前數(shù) 據(jù)地址。
這些和其它方面,以及特征和其組合可用方法、裝置、系統(tǒng)、執(zhí)行功能 的手段、程序產(chǎn)品以及其它的方式表示。
本發(fā)明的優(yōu)點和特征可包括一或多個以下的特點??捎涗浐头治鎏幚砥?所存取的地址。根據(jù)地址追蹤信息,可針對特定硬件架構(gòu)最佳化軟件應(yīng)用程 序。同樣地,可針對特定軟件應(yīng)用程序最佳化硬件架構(gòu)。關(guān)于對內(nèi)存的存取 信息可用來最佳化高速緩存大小、快取列大小、替代方案、使部分快取列 成為已寫入狀態(tài)的粒度,以及第一級和第二級高速緩存的分配。
本發(fā)明一或更多實施例將于附圖和以下的內(nèi)容詳細介紹。通過研讀附圖、 以下的描述和權(quán)利要求,將可清楚了解本發(fā)明的其它特征、目的和優(yōu)點。


圖1顯示根據(jù)本發(fā)明一實施例的包含數(shù)據(jù)追蹤模塊的處理系統(tǒng)的方塊圖; 圖2顯示根據(jù)本發(fā)明實施例的數(shù)據(jù)追蹤模塊的方塊示意圖; 圖3顯示根據(jù)本發(fā)明實施例的基于歷史記錄的壓縮單元的方塊圖;以及 圖4顯示根據(jù)本發(fā)明所述的用以操作基于歷史記錄的壓縮單元的范例流程圖。
相同的符號于各個圖標中代表相同的組件。
具體實施例方式
為使本發(fā)明所述目的、特征和優(yōu)點能更明顯易懂,下文特舉實施例,并 配合所附圖式,作詳細說明如下
參照圖1。處理系統(tǒng)8包含數(shù)據(jù)追蹤模塊20,數(shù)據(jù)追蹤模塊用以監(jiān)控由
處理器10所存取的數(shù)據(jù)地址。數(shù)據(jù)追蹤模塊20的輸出可以是壓縮流,當解
壓縮后,其包括每一存取地址和讀取/寫入指示等信息。通過分析正被存取的
數(shù)據(jù)地址,可提升處理系統(tǒng)8的性能(例如減少高速緩存誤失)。
處理器IO存取數(shù)據(jù)高速緩存12以取得用以執(zhí)行指令的數(shù)據(jù)。處理器10 可以是數(shù)字信號處理器、微控制器或通用微處理器。數(shù)據(jù)高速緩存12是容量 相對小且高速的存儲器。當處理器10所需的數(shù)據(jù)存在于數(shù)據(jù)高速緩存12內(nèi) 時(高速緩存命中)可達到高速的操作,當處理器10所需的數(shù)據(jù)不存在于數(shù) 據(jù)高速緩存12內(nèi)時(高速緩存誤失),則執(zhí)行高速緩存填充操作以于第二級 存儲器14內(nèi)存取所需的數(shù)據(jù)。在高速緩存填充操作中,將高速緩存的一列寫 回第二級存儲器14,以便于高速緩存12內(nèi)騰出空間給的新數(shù)據(jù)。由于經(jīng)常發(fā) 生的高速緩存誤失可能造成延遲且降低性能,分析處理器10的存儲器存取型 態(tài)可以提供用來調(diào)整系統(tǒng)參數(shù)(例如高速緩存12和第二級存儲器14的大小) 的信息,以減少高速緩存的誤失進而改善系統(tǒng)的性能。
舉例來說,存儲器地址的相關(guān)存取信息對于以下幾個方面影響的確認是 很有用的,較大高速緩存的影響、更相聯(lián)(more associative)高速緩存的影響、 不同大小的高速緩存列的影響、不同替換策略的影響、標記部分高速緩存列 成為已寫入狀態(tài)時較大的粒度的影響、以及從第一級存儲器移動數(shù)據(jù)結(jié)構(gòu)至 外部高速緩存的影響。
在圖1的例子中,數(shù)據(jù)追蹤模塊20用以監(jiān)控數(shù)據(jù)高速緩存12內(nèi)由處理器10所存取的數(shù)據(jù)地址。數(shù)據(jù)追蹤模塊20接收由處理器10提供給數(shù)據(jù)高速 緩存12的每一地址A,以及用以顯示數(shù)據(jù)存取為讀取或?qū)懭氩僮鞯淖x取/寫入 (R/W)信號。數(shù)據(jù)追蹤模塊20提供數(shù)據(jù)地址的壓縮流22以便進行硬件和軟 件性能的芯片外分析(off-chip analysis)。數(shù)據(jù)地址的壓縮流22可提供與存 取相關(guān)的地址信息。在一些實施例中,壓縮流亦包括存取類型的信息(例如 讀取存取、寫入存取或高速緩存控制)。執(zhí)行于相同硬件配置之上的不同軟 件應(yīng)用程序可能具有不同性能,因此在執(zhí)行軟件應(yīng)用程序期間,通過分析處 理器10所存取的數(shù)據(jù)地址,可針對特定的硬件配置優(yōu)化軟件應(yīng)用程序。同樣 地,硬件配置可針對特定軟件應(yīng)用程序而優(yōu)化。
在一些實施中,數(shù)據(jù)追蹤模塊20可提供用戶選項以降低輸出數(shù)據(jù)地址的 壓縮流22的帶寬。這對于處理器10因執(zhí)行應(yīng)用程序而造成大量數(shù)據(jù)存取并 最終壓倒(overwhdm)追蹤模塊時顯得特別有用。舉例來說,數(shù)據(jù)追蹤模塊20 可允許用戶設(shè)定如下的選項
(1) 于最小和最大地址所定義的地址范圍之內(nèi)執(zhí)行追蹤的動作。
(2) 于最小和最大地址所定義的地址范圍之外執(zhí)行追蹤的動作。
(3) 追蹤特定類型的存取,例如對內(nèi)部第一級高速緩存或?qū)?nèi)部第一級 靜態(tài)隨機存取存儲器(Static Random Access Memory, SRAM)存取命中的情 形
(i)于最小和最大地址所定義的地址范圍之內(nèi), Cii)于最小和最大地址所定義的地址范圍之外。
(4) 追蹤非核心總線活動(off-core bus activity):
(i) 于最小和最大地址所定義的地址范圍之內(nèi),
(ii) 于最小和最大地址所定義的地址范圍之外。
(5) 過濾高速緩存控制指令,用于用戶特定高速緩存管理(user specific C3ch6 m3rmg6msn0 。
(6) 根據(jù)大范圍性能監(jiān)控事件(例如特定區(qū)域內(nèi)的高速緩存誤失,或是第n次高速緩存誤失的發(fā)生)來過濾。
數(shù)據(jù)追蹤模塊20可應(yīng)用于任何用以分析芯片運作的產(chǎn)品內(nèi)。在一些實施 例中,數(shù)據(jù)追蹤模塊20和處理器10都可存在于相同的芯片或集成電路內(nèi)。 這在數(shù)據(jù)高速緩存12為芯片內(nèi)建(on-chip)的高速緩存時有用。數(shù)據(jù)追蹤模塊 20產(chǎn)生并輸出數(shù)據(jù)地址的壓縮流,數(shù)據(jù)地址的壓縮流在芯片外重建以進行進 一步的分析和除錯。在一些實施例中,數(shù)據(jù)追蹤模塊20和處理器10可屬于 不同的芯片。
在執(zhí)行特定應(yīng)用程序時,數(shù)據(jù)追蹤模塊20對于追蹤大量的數(shù)據(jù)地址的存 取有用。舉例來說,MPEG視頻解碼器應(yīng)用程序可使處理器10每兩個時鐘周 期(clockcycle)存取數(shù)據(jù),若處理器10的操作頻率是260MHz,則數(shù)據(jù)地址流 將具有每秒520MB的帶寬。數(shù)據(jù)追蹤模塊可于高頻操作中追蹤多個數(shù)據(jù)地址 流,地址并不限定于高速緩存芯片內(nèi),地址也可為動態(tài)隨機存取存儲器、閃 存存儲器、硬盤或光盤內(nèi)的地址。
參照圖2。數(shù)據(jù)追蹤模塊20包括地址過濾單元30、基于歷史記錄的壓縮 單元40、基于區(qū)間的壓縮單元50、字節(jié)表示轉(zhuǎn)換單元60和輸出先進先出緩 沖器(FIFO)單元70。
地址過濾單元30可被配置寄存器所控制,并且可包含或排除某些特定類 型的存取,也可以一個可編程值(例如從0到7)將數(shù)據(jù)地址移位(例如右移)。 地址過濾單元30可根據(jù)所述的用戶選項減少正在追蹤的地址數(shù)目。
基于歷史記錄的壓縮單元40保有過去所存取地址的歷史記錄,并通過找 出目前存取地址和N個先前存取數(shù)據(jù)地址之間的差別值來壓縮地址信息。目 前地址被編碼成與先前第K個存取的差別值為D個字節(jié)。參數(shù)K和D分別稱 為偏移量(offset)和差別值。由于對存儲器的存取通常具有區(qū)域性,因此D 通常僅需幾位(bit)來表示。
基于歷史記錄的壓縮單元40從地址過濾單元30接收目前數(shù)據(jù)地址A和 相應(yīng)的讀取/寫入信號,并且把地址A、偏移量K和差別值D等信號輸出至基于區(qū)間(interval)的壓縮單元50。在以下的范例中,每一數(shù)據(jù)地址是32位。然 而,數(shù)據(jù)地址也可用其它的位數(shù)來表示?;跉v史記錄的壓縮單元40將于后 文中詳細介紹。
基于區(qū)間的壓縮單元50發(fā)現(xiàn)連續(xù)的數(shù)據(jù)存取群組之間存在冗余,顯然是 某些執(zhí)行序列引發(fā)了連續(xù)的存取型態(tài)。舉例來說,{K, D》的序列可以是 "3, 1}
2. {3, 0}
3. {4, 2}
4. {2, 1}
5. {1, 6}
6. {3, 1}
7. {3, 0}
8. {4, 2}
9. {2, 1}
在此情況中,基于區(qū)間的壓縮處理會將存取6到9 (第二存取序列)表示 為存取1到4 (第一存取序列)的重復(fù)。存取6到9可編碼為如下的消息格式 "長度為4的區(qū)間,起始于5個存取之前"。每一區(qū)間可用區(qū)間的長度L和 區(qū)間的起始點P來定義,其中P為該區(qū)間第一個存取的相對參考位置。在以 上的例子中,1^4而P二5。在一實施例中,可通過維護(K, D)封包(packet) 內(nèi)過去8個存取的歷史記錄來執(zhí)行基于區(qū)間的壓縮,并且使用封包(L, P》將 多達8個存取的區(qū)間編碼。在上述例子中,L和P最大的值為8。基于區(qū)間的 壓縮單元50的輸出可以是以下兩種封包的其中一種(1)個別存取封包(A, D, K)或(2)區(qū)間封包《L, P}。
數(shù)據(jù)追蹤模塊20可提供用以從所捕獲地址丟棄較低有效位的選項。丟棄 位的數(shù)目是可編程的,例如從0到7位。還可有一選項,用以過濾未納入高 速緩存的第一級SRAM的存取。字節(jié)表示轉(zhuǎn)換單元60將基于區(qū)間的壓縮單元50所輸出的封包轉(zhuǎn)換成字 節(jié)大小的封包。設(shè)計這個流程有兩個目的效率和同步性。單元60使用盡可 能少的所需字節(jié)表示這些信息以達成高的壓縮比例。單元60也提供方法讓輸
出字節(jié)流的觀測者與編碼程序的狀態(tài)"同步",包括能夠重建緩沖器的狀態(tài)。
在一些范例中,存儲器空間是4GB,而正被壓縮的地址流包括一串32位 地址。每一封包(A, D, K》或(L, P)可用1至5個字節(jié)表示。如果差別值D 所需的位大于一閾值(例如24位)則輸出數(shù)據(jù)地址A,而非輸出差別值D和 索引K。若地址以較多的位數(shù)(例如64位)表示,則可增大該閾值。在這個 范例中,在40位的輸出中,地址編碼消耗了一些數(shù)據(jù)位,而無法對大于所述 閾值的差別值D有效地編碼,因此在這種情況下送出完整的地址A。否則, 則輸出差別值D和索引K。輸出FIFO緩沖器單元70提供壓縮的地址給芯片 外分析單元。
參照圖3。在一些實施例中,基于歷史記錄的壓縮單元40包括耦接到壓 縮電路102的緩沖器存儲器(buffer memory)100。緩沖器存儲器100包括處理 器10最近所存取數(shù)據(jù)地址的滑動窗歷史記錄。緩沖器存儲器100包括讀取歷 史記錄緩沖器110和寫入歷史記錄緩沖器112。讀取歷史記錄緩沖器IIO包括 處理器10于讀取操作期間所存取的一或多個先前讀取數(shù)據(jù)地址的滑動窗歷史 記錄。同樣地,寫入歷史記錄緩沖器112包括處理器10于寫入操作期間所存 取的一個或多個先前寫入數(shù)據(jù)地址的滑動窗歷史記錄。
在一些實施中,讀取歷史記錄緩沖器110可包括五個先前讀取數(shù)據(jù)地址, 而寫入歷史記錄緩沖器112可包括三個先前寫入數(shù)據(jù)地址,每一歷史記錄緩 沖器以FIFO的方式操作。因此,每一目前讀取數(shù)據(jù)地址會更新讀取歷史記錄 緩沖器110,亦即取代讀取歷史記錄緩沖器110中最舊的先前讀取數(shù)據(jù)地址。 類似地,每一目前寫入數(shù)據(jù)地址會更新寫入歷史記錄緩沖器112,亦即取代寫 入歷史記錄緩沖器112中最舊的地址。每一歷史記錄緩沖器都是滑動窗歷史 記錄,在這意義上,每一歷史記錄緩沖器包括了處理器最近期間所存取的一個或多個數(shù)據(jù)地址,并且適時地以每一個新的讀取數(shù)據(jù)地址或新的寫入數(shù)據(jù) 地址更新。
緩沖器存儲器ioo可以是任何可用于儲存先前數(shù)據(jù)地址和邏輯的存儲器,
以確定更新歷史記錄時存儲器中哪一個地址要被取代。在一實施例中,緩沖
器存儲器100以FIFO緩沖器的方式實施。
壓縮電路102接收每一個目前數(shù)據(jù)地址A以及相應(yīng)的讀取/寫入信號。壓 縮電路102根據(jù)每一個目前數(shù)據(jù)地址A和相應(yīng)的歷史記錄內(nèi)容輸出壓縮的數(shù) 據(jù)地址。
根據(jù)壓縮技術(shù),其維護了先前數(shù)據(jù)地址的滑動窗歷史記錄,因而可將第n 個存取的地址A[n]與歷史記錄中的多個地址做比較,并計算差別值。下一步 決定歷史記錄緩沖器中地址的索引K,決定其中具有最小差別值的地址的索 引K,然后輸出并記錄索引K和有正負號的最小差別值D[K],而非輸出并記 錄地址A[n]。為了要記載目前數(shù)據(jù)地址是否比歷史記錄中的地址高或低而須 考慮差別值的正負號。對于32位地址A[n]而言,每一存取需要四字節(jié)來表示。 相較之下,研究發(fā)現(xiàn)包括四個先前數(shù)據(jù)地址的歷史記錄可允許70%的存取以 六位編碼。
參照圖4。壓縮數(shù)據(jù)地址流程148包括以下的步驟。在步驟150中測試計 數(shù)器的計數(shù)值。如果該計數(shù)器并未歸零,則該計數(shù)器于步驟152中計數(shù)值減1。 在步驟154中,根據(jù)讀取/寫入信號辨識目前數(shù)據(jù)地址是讀取數(shù)據(jù)地址或?qū)懭?數(shù)據(jù)地址。在讀取數(shù)據(jù)地址的情況中,以如下的方式計算讀取歷史記錄緩沖 器110中每一讀取數(shù)據(jù)地址的差別值D[K]:
D[K]=A-H[K] (1) 對于&=0, 1, 2, 3, 4,其中A為目前數(shù)據(jù)讀取地址,H[K]是讀取歷史記錄 緩沖器110中的一個地址,K是讀取歷史記錄緩沖器110中地址的索引。在 這個范例中,由于讀取歷史記錄緩沖器包括了五個讀取數(shù)據(jù)地址,因此索引K 具有0到4的選取范圍以供讀取存取。在步驟162中決定讀取歷史記錄緩沖器中對應(yīng)最小絕對差別值D[K]的地 址的索引K值,并且將差別值D設(shè)成D[K],包括差別值的正負號。在步驟 164中更新讀取歷史記錄緩沖器110。讀取歷史記錄緩沖器110中的每一地址 都移位一個位置,且把目前數(shù)據(jù)地址A寫到次序中的最低位置。更實際地說, 目前數(shù)據(jù)地址取代讀取歷史記錄緩沖器110中最舊的先前數(shù)據(jù)地址。
若步驟154中所決定的是寫入存取的情況,則根據(jù)公式(1)計算寫入歷 史記錄緩沖器112中每一地址的差別值D[K],其中K為5,6,7。 A為目前寫入 數(shù)據(jù)地址,H[K]是寫入歷史記錄緩沖器112中的一個地址,K是寫入歷史記 錄緩沖器112中地址的索引。在這個范例中,由于寫入歷史記錄緩沖器包括 了三個寫入數(shù)據(jù)地址,因此索引K具有5到7的選取范圍以供寫入存取。讀 取存取的索引K的范圍值不會與寫入存取的索引K的范圍值重疊,因此可以 根據(jù)索引K確認數(shù)據(jù)地址是有關(guān)于讀取存取或?qū)懭氪嫒 ?br> 在步驟172中決定寫入歷史記錄緩沖器地址的索引K的值,索引K對應(yīng) 最小絕對差別值D[K]的值,并且將差別值D設(shè)成D[K],包括差別值的正負 號。在步驟174中通過以目前數(shù)據(jù)地址A取代最舊的先前數(shù)據(jù)地址來更新寫 入歷史記錄緩沖器112。在步驟180中輸出目前數(shù)據(jù)地址A、帶有正負號的最 小差別值D和對應(yīng)于最小絕對差別值的索引K。當最小絕對差別值的計算結(jié) 果無法進行壓縮時,則輸出目前數(shù)據(jù)地址A。
若步驟150中計數(shù)器的值為0,則于步驟190中清除讀取歷史記錄緩沖器 110和寫入歷史記錄緩沖器112。此外也輸出一個同步序列,同步序列的頻率 通過寄存器SYNCFREQ可編程。歷史記錄緩沖器被清除而每N *SYNCFREQ 個計數(shù)值則送出一同步序列,其中N是整數(shù),例如N:32。
讀取歷史記錄緩沖器110和寫入歷史記錄緩沖器112各自亦可包含許多 不同于以上所列舉的先前數(shù)據(jù)地址。通常,每一歷史記錄緩沖器含有一個或 多個先前數(shù)據(jù)地址。在限定每一歷史記錄緩沖器只含有一個先前數(shù)據(jù)地址的 情形下,計算所得的差別值為最小差別值。壓縮性能可能會受到每個歷史記錄緩沖器中地址數(shù)目的影響。在一些實施中,每個歷史記錄緩沖器具有三至 五個地址則能夠提供可接受的性能。
索引K的范圍可根據(jù)讀取歷史記錄緩沖器1 IO和寫入歷史記錄緩沖器112 中先前數(shù)據(jù)地址的數(shù)目而改變。舉例來說,如果讀取歷史記錄緩沖器110儲 存IO個讀取數(shù)據(jù)地址而寫入歷史記錄緩沖器112儲存6個寫入數(shù)據(jù)地址,則 讀取存取的索引K可介于0至9的范圍,而寫入存取的索引K可介于10至 15的范圍。
雖然本文詳述了各種的實施方式,但在不脫離本發(fā)明的精神和范圍內(nèi), 當可做些許的更動與潤飾。舉例來說,可對上述流程重新排序、增加或移除。 本發(fā)明所述系統(tǒng)和技術(shù)的各種實施例可實現(xiàn)于數(shù)字電子電路、集成電路、專 用集成電路(ASIC)、計算機硬件、固件、軟件以及/或其組合之上。本發(fā)明 雖以較佳實施例揭露如上,然其并非用以限定本發(fā)明的范圍。
權(quán)利要求
1.一種數(shù)據(jù)地址追蹤方法,包括維護由處理器所存取的至少一先前數(shù)據(jù)地址的滑動窗歷史記錄,該滑動窗歷史記錄中該至少一先前數(shù)據(jù)地址的每一個與索引相關(guān);決定該滑動窗歷史記錄中該至少一先前數(shù)據(jù)地址的一者與目前數(shù)據(jù)地址之間的差別值;以及提供該滑動窗歷史記錄中與該至少一先前數(shù)據(jù)地址的一者相關(guān)的該差別值和該索引,以表示該目前數(shù)據(jù)地址。
2. 如權(quán)利要求1所述的方法,其特征在于,所述決定差別值的步驟包括 決定該目前數(shù)據(jù)地址和該滑動窗歷史記錄中多個先前數(shù)據(jù)地址之間的最小絕 對差別值。
3. 如權(quán)利要求2所述的方法,其特征在于,所述維護滑動窗歷史記錄的步 驟包括維護由該處理器所存取的一個或多個先前讀取數(shù)據(jù)地址的讀取歷史 記錄。
4. 如權(quán)利要求3所述的方法,其特征在于,所述決定差別值的步驟包括 決定目前讀取數(shù)據(jù)地址和該滑動窗歷史記錄中的至少一先前讀取數(shù)據(jù)地址之 間的最小絕對差別值。
5. 如權(quán)利要求2所述的方法,其特征在于,所述維護滑動窗歷史記錄的步驟包括維護由該處理器所存取的一個或多個先前寫入數(shù)據(jù)地址的寫入歷史 記錄。
6. 如權(quán)利要求5所述的方法,其特征在于,所述決定差別值的步驟包括-決定目前寫入數(shù)據(jù)地址和該滑動窗歷史記錄中的該至少一先前寫入數(shù)據(jù)地址 之間的最小絕對差別值。
7. 如權(quán)利要求2所述的方法,其特征在于,所述維護滑動窗歷史記錄的步 驟包括儲存該至少一先前數(shù)據(jù)地址于先進先出緩沖器中。
8. 如權(quán)利要求2所述的方法,其特征在于,所述決定差別值的步驟包括計 算該滑動窗歷史記錄中多個先前數(shù)據(jù)地址的每一者與該目前數(shù)據(jù)地址之間的絕 對差別值,并且從所計算的該多個絕對差別值中選擇一個最小絕對差別值。
9. 如權(quán)利要求1所述的方法,還包括更新該滑動窗歷史記錄。
10. 如權(quán)利要求9所述的方法,其特征在于,所述更新滑動窗歷史記錄的步驟包括將該目前數(shù)據(jù)地址加入該滑動窗歷史記錄中,并且從該滑動窗歷 史記錄中移除最舊的先前數(shù)據(jù)地址。
11. 一種方法,包括接收由處理器所存取的存儲器地址; 壓縮該存儲器地址以產(chǎn)生壓縮的存儲器地址;以及 輸出該壓縮的存儲器地址。
12. 如權(quán)利要求11所述的方法,其特征在于,所述壓縮存儲器地址的步驟包括決定目前數(shù)據(jù)地址和先前數(shù)據(jù)地址之間的差別值,并且輸出該差別值以表示該目前數(shù)據(jù)地址。
13. 如權(quán)利要求11所述的方法,其特征在于,所述壓縮存儲器地址的步驟包括維護由該處理器所存取的至少一先前數(shù)據(jù)地址的歷史記錄,決定目前數(shù)據(jù)地址和該至少一先前數(shù)據(jù)地址之間的最小絕對差別值,辨識與該先前數(shù) 據(jù)地址相關(guān)的索引,以及輸出該最小絕對差別值和該索引以表示該目前數(shù)據(jù) 地址。
14. 如權(quán)利要求11所述的方法,其特征在于,所述壓縮存儲器地址的步驟包括辨識與第一存取序列重復(fù)的第二存取序列; 決定該第二存取序列的長度;以及決定相對于該第一存取序列的該第二存取序列的起始點。
15. 如權(quán)利要求11所述的方法,其特征在于,所述壓縮存儲器地址的步驟包括維護由該處理器所存取的至少一先前數(shù)據(jù)地址的歷史記錄;決定目前地址A和該至少一先前數(shù)據(jù)地址D之間的最小差別值;以及決定相關(guān)于該先前地址的索引。
16. 如權(quán)利要求15所述的方法,其特征在于,所述壓縮存儲器地址的步驟 還包括檢查由一序列的封包《K, D)所表示的地址;辨識與第一存取序列重復(fù)的第二存取序列;辨識該第二存取序列的長度L;以及辨識相對于該第一存取序列的該第二存取序列的起始點P。
17. —種數(shù)據(jù)地址追蹤裝置,包括緩沖器存儲器,維護由處理器所存取的至少一先前數(shù)據(jù)地址的滑動窗歷史記錄,該滑動窗歷史記錄中該至少一先前數(shù)據(jù)地址的每一個與索引相關(guān);以及壓縮電路,決定該滑動窗歷史記錄中該至少一先前數(shù)據(jù)地址的一者與目 前數(shù)據(jù)地址之間的差別值,并且提供該差別值和該滑動窗歷史記錄中該至少 一先前數(shù)據(jù)地址的一者相關(guān)的該索引以表示該目前數(shù)據(jù)地址。
18. 如權(quán)利要求17所述的裝置,其特征在于,該壓縮電路更決定該目前數(shù) 據(jù)地址和該滑動窗歷史記錄中的多個該多個先前數(shù)據(jù)地址之間的最小絕對差 別值,并且提供該最小絕對差別值及其正負號和對應(yīng)的索引,以表示該目前 數(shù)據(jù)地址。
19. 如權(quán)利要求18所述的裝置,其特征在于,該緩沖器存儲器包括讀取歷 史記錄緩沖器,用以維護一個或多個先前讀取數(shù)據(jù)地址的讀取歷史記錄。
20. 如權(quán)利要求19所述的裝置,其特征在于,該壓縮電路決定目前讀取數(shù) 據(jù)地址和該讀取歷史記錄緩沖器中的該至少一先前讀取數(shù)據(jù)地址之間的最小 絕對差別值。
21. 如權(quán)利要求18所述的裝置,其特征在于,該緩沖器存儲器包括寫入歷史記錄緩沖器,用以維護一或多個先前寫入數(shù)據(jù)地址的寫入歷史記錄。
22. 如權(quán)利要求21所述的裝置,其特征在于,該壓縮電路決定目前寫入數(shù) 據(jù)地址和該寫入歷史記錄緩沖器中的該至少一先前寫入數(shù)據(jù)地址之間的最小 絕對差別值。
23. 如權(quán)利要求18所述的裝置,其特征在于,該緩沖器存儲器包括先進先 出緩沖器。
24. 如權(quán)利要求18所述的裝置,其特征在于,該壓縮電路更計算該滑動窗 歷史記錄中兩個或更多該先前數(shù)據(jù)地址的每一個與該目前數(shù)據(jù)地址之間的絕 對差別值,并且從所計算的該多個絕對差別值中選擇該最小絕對差別值。
25. 如權(quán)利要求17所述的裝置,其特征在于,該壓縮電路更新該滑動窗歷 史記錄。
26. 如權(quán)利要求17所述的裝置,其特征在于,該壓縮電路通過將該目前數(shù) 據(jù)地址加到該滑動窗歷史記錄,并且從該滑動窗歷史記錄移除最舊的先前數(shù) 據(jù)地址,來更新該滑動窗歷史記錄。
27. —種裝置,包括 具有地址的存儲器裝置;處理器,存取該存儲器裝置中的存儲器地址;以及數(shù)據(jù)追蹤模塊,壓縮由該處理器所存取的該地址以產(chǎn)生壓縮的存儲器地 址,并且輸出該壓縮的存儲器地址。
28. 如權(quán)利要求27所述的裝置,其特征在于,該數(shù)據(jù)追蹤模塊包括基于歷 史記錄的壓縮單元,用以決定目前數(shù)據(jù)地址和先前數(shù)據(jù)地址之間的差別值, 并且輸出該差別值以表示該目前數(shù)據(jù)地址。
29. 如權(quán)利要求27所述的裝置,其特征在于,該數(shù)據(jù)追蹤模塊包括基于歷 史記錄的壓縮單元,用以決定目前數(shù)據(jù)地址和該至少一先前數(shù)據(jù)地址之間的 最小差別值、辨識與該先前地址相關(guān)的索引,以及輸出該差別值和該索引以 表示該目前數(shù)據(jù)地址。
30. 如權(quán)利要求27所述的裝置,其特征在于,該數(shù)據(jù)追蹤模塊包括基于區(qū) 間的壓縮單元,用以辨識與第一存取序列重復(fù)的第二存取序列,并且輸出第 一值和第二值表示該第二存取序列,其中該第一值代表該第二存取序列的長 度,該第二值代表該第二存取序列的起始點。
31. —種數(shù)據(jù)地址追蹤方法,用以追蹤由處理器所存取的數(shù)據(jù)地址,包括:維護由該處理器所存取的多個先前數(shù)據(jù)地址的滑動窗歷史記錄,其中該滑動窗歷史記錄中該多個先前數(shù)據(jù)地址的每一個都具有一個索引;決定該滑動窗歷史記錄中兩個或更多該先前數(shù)據(jù)地址與目前數(shù)據(jù)地址之間的最小絕對差別值;以及提供該最小絕對差別值及其正負號和對應(yīng)的索引,以表示該目前數(shù)據(jù)地址。
全文摘要
維護由處理器所存取的至少一先前數(shù)據(jù)地址的滑動窗歷史記錄,滑動窗歷史記錄中至少一先前數(shù)據(jù)地址的每一個與一個索引相關(guān)。決定滑動窗歷史記錄中至少一先前數(shù)據(jù)地址的一者與目前數(shù)據(jù)地址之間的差別值,并且提供差別值與滑動窗歷史記錄中至少一先前數(shù)據(jù)地址的一者相關(guān)的索引以表示目前數(shù)據(jù)地址。
文檔編號G06F11/00GK101611384SQ200880004893
公開日2009年12月23日 申請日期2008年4月18日 優(yōu)先權(quán)日2007年4月18日
發(fā)明者斯里肯斯·坎南, 力 李, 雷麥許·真德海爾拉 申請人:聯(lián)發(fā)科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
高青县| 长汀县| 莎车县| 荔波县| 乳源| 枞阳县| 公安县| 杨浦区| 哈尔滨市| 新泰市| 农安县| 宝兴县| 朝阳县| 九龙坡区| 庐江县| 保康县| 修武县| 无棣县| 惠东县| 舒城县| 江门市| 云南省| 三亚市| 基隆市| 西充县| 天长市| 泸定县| 清镇市| 邵阳市| 惠安县| 故城县| 长岭县| 讷河市| 馆陶县| 稷山县| 宜川县| 灌南县| 娄底市| 章丘市| 鄢陵县| 青海省|