專利名稱:應用于循環存儲器的壓縮數據管理系統及方法
技術領域:
本發明關于一種壓縮數據管理系統及方法,詳言之,關于一種應用于循環存儲器 的壓縮數據管理系統及方法。
背景技術:
在復雜的系統芯片中,如
圖1,通常包含了主動元件,如微處理器10、數字信號處 理器11、直接存儲器存取器14等等,以及被動元件,如硬件加速器15、芯片內存儲器12以 及外部輸出接口 13,這些裝置通過芯片內總線18連接在一起,以互相進行溝通。由于芯片內運作行為十分復雜,為了對其除錯和效能分析,了解其內部運作情形 是非常重要的,為了達到這目的,最直覺的方法是將所欲觀察的信號,連接到芯片外,然而 通常欲觀察的信號數量龐大且芯片腳位有限,此方法并不可行。因此一般常見的做法是在芯片中放置一即時追蹤器16,其用以即時擷取信號,存 放至芯片內追蹤用存儲器17的有限空間。在結束追蹤后,再通過軟件以非即時方式解壓縮 及還原信號。由于存儲器空間有限,因此有相關已知方法在即時追蹤器中加入壓縮功能,以 在有限空間中增加追蹤信息量。參考美國專利公開第2004/0103399號與第2007/0094645號,其針對微處理器地 址做壓縮,先記錄一筆完整的地址,其后的數據只需記錄與此完整數據的差異度。參考美國 專利公開第2006/0212761號與第2003/0126358號,其利用可定址的存儲器做壓縮,如果數 據未在此存儲器中找到,則需記錄完整的存儲器數據,并將此數據輸入至存儲器中。如果數 據在此存儲器中存在,則只需記錄其在存儲器中的編號,藉此達到壓縮。上述壓縮方法都是針對數據之間的關系,先儲存完整數據,其后的數據只記錄其 與完整數據的相關性,由于儲存相關性所需的空間較小,如差值或序號,因此可達到壓縮目 的。以表1為例說明,指令地址以t至t+4的順序出現,每一指令皆占了 32位(bit)的空 間,如應用以數據差值壓縮法,則時間t的數據0x80000234記錄為完整數據,時間t+Ι的數 據只記錄其與時間t數據的差值正0x4,時間t+2只記錄其與時間t+Ι數據的差值正0x4, 時間點t+3與t+4的數據亦同,由于差值只占了 4位的空間,可以達到節省空間的目的。時間原始數據需要位數壓縮數據需要位數t0x80000234320x8000023432t+10x8000023832+0x44t+20x8000023C32+0x44t+30x8000024032+0x4權利要求
1.一種應用于循環存儲器的壓縮數據管理系統,其特征在于,所述壓縮數據管理系統 包括一文件頭產生裝置,用以接收壓縮數據,并辨識壓縮數據以產生相對應的文件頭,所 述文件頭產生裝置接收一停止信號,于所述停止信號致動時,所述文件頭產生裝置停止運 作;一整合裝置,用以接收壓縮數據及相對應文件頭,以封裝壓縮數據及相對應文件頭為 一封包,并計算所述封包的封包長度,所述封包輸出至一循環存儲器,所述整合裝置接收所 述停止信號,于所述停止信號致動時,所述整合裝置停止運作;及一地址產生裝置,用以依據封包長度,計算封包在循環存儲器中的地址,所述地址產生 裝置接收所述停止信號,于所述停止信號致動時,所述地址產生裝置停止運作。
2.如權利要求1的壓縮數據管理系統,其特征在于,所述文件頭輸出至芯片內總線。
3.如權利要求1的壓縮數據管理系統,其特征在于,所述封包在循環存儲器中的地址 輸出至芯片內總線。
4.如權利要求1的壓縮數據管理系統,其特征在于,所述壓縮數據為反相壓縮數據。
5.如權利要求4的壓縮數據管理系統,其特征在于,所述數據管理系統另包括一反相 壓縮器,包括一寄存裝置,用以儲存輸入數據,并輸出一寄存數據;一編碼裝置,用以辨識所述輸入數據與所述寄存數據的關聯性,依據所述關聯性將所 述寄存數據編碼,以輸出一編碼數據;及一輸出選擇裝置,用以選擇輸出所述編碼數據或輸出所述寄存數據,以產生所述壓縮 數據。
6.如權利要求5的壓縮數據管理系統,其特征在于,所述寄存數據為所述輸入數據的 上一筆輸入數據。
7.如權利要求6的壓縮數據管理系統,其特征在于,所述編碼裝置為一絕對值減法裝 置,用以計算及輸出所述寄存數據與所述輸入數據的絕對差值、絕對差值的正負及絕對差 值的位數,所述編碼數據包括絕對差值、絕對差值的正負及絕對差值的位數。
8.如權利要求7的壓縮數據管理系統,其特征在于,所述輸出選擇裝置為一多工器,所 述多工器依據一控制信號,選擇輸出所述編碼數據或輸出所述寄存數據。
9.如權利要求8的壓縮數據管理系統,其特征在于,當所述輸入數據與所述寄存數據 具有關聯性時,所述控制信號未觸發,使所述多工器選擇輸出所述編碼數據;當所述輸入數 據與所述寄存數據不具有關聯性時,所述控制信號觸發,使所述多工器選擇輸出所述寄存 數據。
10.如權利要求4的壓縮數據管理系統,其特征在于,所述壓縮數據管理系統另包括一 反相壓縮器,包括一寄存裝置,用以儲存至少一輸入數據,并輸出至少一寄存數據;一編碼裝置,用以辨識所述輸入數據與所述寄存數據的關聯性,依據所述關聯性將所 述輸入數據編碼,以輸出一編碼數據;及一輸出選擇裝置,選擇輸出所述編碼數據或輸出所述寄存數據,以產生所述壓縮數據。
11.如權利要求10的壓縮數據管理系統,其特征在于,所述寄存裝置為一可定址存儲器,用以儲存至少一輸入數據,并輸出所述寄存數據,所述寄存數據為所述輸入數據之一。
12.如權利要求11的壓縮數據管理系統,其特征在于,所述編碼裝置為一比對裝置,用 以比對所述輸入數據是否與所述寄存數據相同,并輸出一比對判斷信號及一存儲器標記, 其中所述存儲器標記為所述寄存數據在所述可定址存儲器的位置,所述編碼數據為所述存 儲器標記。
13.如權利要求12的壓縮數據管理系統,其特征在于,所述輸出選擇裝置為一第一多 工器,所述第一多工器依據所述比對判斷信號,選擇輸出所述存儲器標記或輸出所述寄存 數據。
14.如權利要求13的壓縮數據管理系統,其特征在于,所述編碼裝置另包括一寫入位 置控制裝置及一第二多工器,其中當所述輸入數據與所述寄存數據經比對相同時,依據所 述比對判斷信號,使所述第一多工器選擇輸出所述存儲器標記;當所述輸入數據與所述寄 存數據經比對不相同時,依據所述比對判斷信號,所述寫入位置控制裝置輸出一寫入位置 及一寫入允許信號至所述可定址存儲器,使所述輸入數據寫入所述可定址存儲器,所述第 二多工器依據所述寫入位置,接收所述寫入位置對應所述可定址存儲器的所述寄存數據, 并輸出至所述第一多工器,使所述第一多工器選擇輸出所述寄存數據。
15.一種應用于循環存儲器的壓縮數據管理方法,其特征在于,所述壓縮數據管理方法 包括以下步驟(a)辨識壓縮數據,以產生相對應的文件頭;(b)依據壓縮數據及相對應文件頭,以封裝壓縮數據及相對應文件頭為一封包,所述封 包輸出至一循環存儲器;(c)計算封包在循環存儲器中的地址;及(d)依據一停止信號,于所述停止信號致動時,停止上述的動作。
16.如權利要求15的壓縮數據管理方法,其特征在于,在步驟(a)中,所述文件頭輸出 至芯片內總線。
17.如權利要求15的壓縮數據管理方法,其特征在于,在步驟(c)中,所述封包在循環 存儲器中的地址輸出至芯片內總線。
18.如權利要求15的壓縮數據管理方法,其特征在于,在步驟(a)中的壓縮數據為反相 壓縮數據,在步驟(a)中另包括一反相壓縮方法。
19.如權利要求18的壓縮數據管理方法,其特征在于,所述反相壓縮方法包括以下步驟(al)辨識一輸入數據與一寄存數據的關聯性;(a2)依據所述關聯性將所述寄存數據編碼,以輸出一編碼數據;及(a3)選擇輸出所述編碼數據或輸出所述寄存數據,以產生所述壓縮數據。
20.如權利要求19的壓縮數據管理方法,其特征在于,在步驟(al)中所述寄存數據為 所述輸入數據的上一筆輸入數據。
21.如權利要求19的壓縮數據管理方法,其特征在于,在步驟(a2)中另包括一計算步 驟,用以計算及輸出所述寄存數據與所述輸入數據的絕對差值、絕對差值的正負及絕對差 值的位數,所述編碼數據包括絕對差值、絕對差值的正負及絕對差值的位數。
22.如權利要求21的壓縮數據管理方法,其特征在于,在步驟(a3)中依據一控制信號,選擇輸出所述編碼數據或輸出所述寄存數據。
23.如權利要求22的壓縮數據管理方法,其特征在于,在步驟(M)中當所述輸入數據 與所述寄存數據具有關聯性時,所述控制信號未觸發,選擇輸出所述編碼數據;當所述輸入 數據與所述寄存數據不具有關聯性時,所述控制信號觸發,選擇輸出所述寄存數據。
24.如權利要求18的壓縮數據管理方法,其特征在于,所述反相壓縮方法包括以下步驟(al)辨識一輸入數據與至少一寄存數據的關聯性;(a2)依據所述關聯性將所述輸入數據編碼,以輸出一編碼數據;及(a3)選擇輸出所述編碼數據或輸出所述寄存數據,以產生所述壓縮數據。
25.如權利要求M的壓縮數據管理方法,其特征在于,在步驟(al)中至少一輸入數據 儲存至一可定址存儲器,并輸出所述寄存數據,所述寄存數據為所述輸入數據之一。
26.如權利要求25的壓縮數據管理方法,其特征在于,在步驟(al)中比對所述輸入數 據是否與所述寄存數據相同,在步驟(a》中輸出一比對判斷信號及一存儲器標記,其中所 述存儲器標記為所述寄存數據在所述可定址存儲器的位置,所述編碼數據為所述存儲器標 記。
27.如權利要求沈的壓縮數據管理方法,其特征在于,在步驟(U)中依據所述比對判 斷信號,選擇輸出所述存儲器標記或輸出所述寄存數據。
28.如權利要求27的壓縮數據管理方法,其特征在于,在步驟(a2)中另包括一寫入位 置控制步驟及一讀取寄存數據步驟,其中當所述輸入數據與所述寄存數據經比對相同時, 依據所述比對判斷信號,選擇輸出所述存儲器標記;當所述輸入數據與所述寄存數據經比 對不相同時,依據所述比對判斷信號,輸出一寫入位置及一寫入允許信號至所述可定址存 儲器,使所述輸入數據寫入所述可定址存儲器,依據所述寫入位置,讀取所述寫入位置對應 所述可定址存儲器的所述寄存數據,并選擇輸出所述寄存數據。
29.如權利要求15的壓縮數據管理方法,其特征在于,在步驟(b)中另包括計算所述封 包的封包長度的步驟,在步驟(c)中依據封包長度,計算封包在循環存儲器中的地址。
全文摘要
本發明關于一種應用于循環存儲器的壓縮數據管理系統及方法,該方法包括(a)辨識壓縮數據,以產生相對應的文件頭;(b)依據壓縮數據及相對應文件頭,以封裝壓縮數據及相對應文件頭為一封包,所述封包輸出至一循環存儲器;(c)計算封包在循環存儲器中的地址;及(d)依據一停止信號,于所述停止信號致動時,停止上述的動作。利用本發明的系統及方法,在使用循環存儲器儲存壓縮數據時,如果事件發生時,可以立刻停止硬件壓縮機制,且不影響壓縮數據的還原。通過本發明壓縮數據管理系統及方法中的反相壓縮器及方法,可達到壓縮系統信號的目的,以及提高有限存儲器空間的利用率。
文檔編號G06F11/00GK102053915SQ200910209429
公開日2011年5月11日 申請日期2009年10月30日 優先權日2009年10月30日
發明者黃英哲 申請人:國立中山大學