TWI333615B - Lookup table addressing system and method - Google Patents
Lookup table addressing system and method Download PDFInfo
- Publication number
- TWI333615B TWI333615B TW095139557A TW95139557A TWI333615B TW I333615 B TWI333615 B TW I333615B TW 095139557 A TW095139557 A TW 095139557A TW 95139557 A TW95139557 A TW 95139557A TW I333615 B TWI333615 B TW I333615B
- Authority
- TW
- Taiwan
- Prior art keywords
- lookup table
- register
- index
- item
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000006073 displacement reaction Methods 0.000 claims description 20
- 239000000463 material Substances 0.000 claims description 9
- 230000007717 exclusion Effects 0.000 claims description 6
- 238000009825 accumulation Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000036316 preload Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 101150012579 ADSL gene Proteins 0.000 description 3
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 3
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
- G06F9/3552—Indexed addressing using wraparound, e.g. modulo or circular addressing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Executing Machine-Instructions (AREA)
- Detection And Correction Of Errors (AREA)
- Advance Control (AREA)
- Bus Control (AREA)
- Error Detection And Correction (AREA)
Description
1333615 九、發明說明: 【發明所屬之技術領域】 本發明係關於一種改良的查找表定址系統及方法。 【先前技術】 由於電腦速度從33 MHz遞增到丨.0 GHz乃至更高因 此,無法在-循環中完成電腦操作。因此,採用管:技術 來取有效率地利用更高的處理器性能並提高輸出。目前, 深管線使用多達15級甚或更多級。一般地,在—管線計算 系統中有若干並聯構建區塊同時工作,其中每一區塊負責 整個程序的不同部分。例如,有—進行計算的計算單元 (CU)與一:址單元,該定址單元包括一依據選定的位址模 式擷取5亥貝料並將其儲存於記憶體内的資料位址產生器 (DAG)與-解碼並分配指令之定序器或控制單元。該祕 係可:址該記憶體之唯一組件。因此,在一深管線系統 中’若-指令係取決於前一指令之結果,則在該管線將停 止的情況下將發生一管線暫停,以等待在恢復工作之前完 成犯規指令。例如’在—計算後該猶需要該⑶之輸出 來進仃下一資料擷取之情況下,無法將該cu之輸出直接 輸送至該DAG來加以調節用於―f料棟取:其必須在可由 ^ DAG對其進行處理以進行下一資料操取之前傳播穿過該 e線。之所以如此係由於僅該dag可存取該記憶體並可將 該什算早7C結果轉換為一位址指標來定位所需資料。在多 務通用電胳中,此暫停可能並非關鍵,但在諸如用於 (例如)仃動電話、數位相機的即時電腦系統中,此等暫停 115553-990708.doc 1333615 係一問題。請參見Wilson等人於2005年10月26曰申請的美 國專利申請案序列號1 1/258,801,其名稱為:改良的管線 數位信號處理器,其全部内容係以引用的方式併入於此。 在一申請案中,使用位元置換來實施資料加密。此可在 該CU中實行,但該CU中的算術邏輯單元(ALU)係最佳化 用於16、32及64位元運算而對於逐個位元的置換而言效率 並不高。例如,若由該ALU實行該置換,則每一位元需要 三個運算循環:遮蔽、偏移及或(OR)。因此,置換一單一 的32位元字元需要96個或更多循環。 在另一方法中,並不在該ALU中執行該置換,而可將該 等置換值儲存於一位於外部儲存器内的查找表中。但是, 該ALU中的R暫存器必須將該字元(例如,32位元)輸送至 可定址該外部記憶體查找表的DAG内之一指標(P)暫存 器。但是,此需要一龐大的查找表(LUT),即,232位元或 多於33.5百萬位元組的記憶體。為克服此缺點,可將該 ALU中R暫存器内的32位元字元處理(例如)為四個位元組(8 位元)或八個半位元組(4位元)。此舉減小所需要的記憶體 尺寸··對於四個位元組,需要2 5 6個項目之四個表,每一 表為32位元(或一 4千位元組LUT),而對於八個半位元組, 需要16個項目之八個表,每一表為32位元(或一 512位元組 LUT)。但是此亦會產生問題:現在該ALU需要針對一單一 的32位元字元將四個(位元組)或八個(半位元組)傳輸至該 DAG之P暫存器。每一傳輸進而導致數次管線暫停,如上 文所述。 115553-990708.doc 1333615 在刀離但相關的問題中,線性回授偏移暫存器 如’CRC、擾頻器、解擾器、格子編碼)廣泛用 ' 不統。如上面結合相同問題所述,該CU可利用遮 蔽/偏移二或循環將該等LFSR運算一次縮放一位元。或者, ° 特疋的硬體區塊(例如ASIC、FPGA),其藉由每 ',使用4、8或16位元來解決該LFSR問題。可藉使用 或夕個外部查找表來消除該⑶與該A·方法中的遮蔽/ 偏移/或方法’但仍會帶有前述所有缺點。 【發明内容】 因此’本發明之一目的係提供_種改良的查找表定址系 統及方法。 本發明之另—目的係、提供此—使得計算單it與資料位址 產生器之間的管線暫停最小化之改良的查找表定址系統及 方法。 本發明之另—目的係提供此-使得該查找表的尺寸最佳 化之改良的查找表定址系統及方法。 本發明之另-目的係提供此_加速線性回授偏移暫存器 運算而並不採用額外的專屬硬體(例如,asic或卿取 改良的查找表定址系統及方法。 本么月之$目的係提供此-更快而且需要的功率更少 之改良的查找表定址系統及方法。 本發明之另-目的係、提供此—可重新使用現有處理器组 件之改良的查找表定址系統及方法。 ,
本發明之另一目的传括祝LL 七供此—加速置換運算而並不添加 115553-990708.doc 1333615 硬體(例如,ASIC、 法。 FPGA)之改良的查找表定址系統及方 本發明之另一目的係提供此—完全可縮放以應付更大記 憶體需求之改良的查找表定址系統及方法。 本發明之另-目的係提供此_可調適用於各種不同應用 (例如,加密、置換及包括CRC、擾頻、解擾及格子之線 性回授偏移暫存器實施方案)之改良的查找表定址系統及 方法。 本發明係基於以下認識而提出:使得管線暫停最小化 查找表尺寸最佳化、更快、使用的功率更少、重新使用現 有的處理組件且可縮放並調適用於各種不同應用之一改良 的查找表定址系統及方法可藉由以下步驟實現:將一資料 字從-計算單元傳輸至一資料位址產生器内之一輸入暫存 器;在該資料位址產生器中的至少一存放遞增索引暫存器 内提供有一用以識別該表集合在記憶體中的位置之表基底 欄位、一用以識別該組中的表之一特定表的位置之表2引 搁位與一位移欄位;以及將該資料字之一區段存放進該存 放遞增索引暫存器内之一位移欄位以識別該等表中一特定 項目之位置。 但是,本標的發明無需實現所有此等目的而其申請專 利範圍不會受限於能夠實現此等目的之結構或方法。 本發明之特徵係一種在一包括一資料位址產生器的外部 記憶體内具有一查找表集合之查找表定址系統,該資料定 址產生器具有:一輸入暫存器,其係用以從一計算單元接 115553-990708.doc •10- 1333615 收-資料字;以及一存放遞增索?!暫存器其具有—用以 ^該㈣合在記憶體内的位置之表基底。—位移搁位識 1特定項目在該特定表中的位置,該資料位址產生器係 配,用於將該資料字之一區段存放進該位移搁位以存取該 特定項目。 在一較佳具體實施射,該等項目包括該資料字之對應 區段的部分結果。該計算單元可包括一累加器暫存器、一 查找表目的地暫存器及一組合電路;該計算單元可以係配 置用於將來自該資料字的所有區段之部分結果累加起來獲 得最終結果。該目的地暫存器可以係計算單元資料暫存器 檔案:的任何檔案。該資料位址產生器可包括複數個指標 暫存益,而可藉由該等指標暫存器中的一暫存器來實施該 存放遞增輸入暫存器。該資料位址暫存器還可包括複數個 R暫存器’而可藉由該等指標暫存器中的一暫存器來實 施該存放遞增索引暫存器。該存放遞增索引暫存器之索引 糊位可以係配置成遞增,以識別該組内的下一表。該部分 結果可包括對應區段之資料位元,而該資料位址產生器可 以係進一步配置用於將該些位元映射至一預定的 疋。該目的地字元及該資料字可具有相等數目的位元。該 目的地字元及該資料字可具有不相等數目的位元。該組^ 電路可以係-互斥或(exclusive 〇R)電路。該組合電路 可以係-加總電路。該資料位址產生器可包括一第二索引 暫存器’而該育料位址產生器可以係配置用於將該資料字 之-第二區段存放進該第二存放遞增索引暫存器之位移櫚 115553-990708.doc 11 1333615 二該資料位址產生器可以係配置用於將物丨暫存器預 先裁入至一已知的表位址。已知的表位址可以係—起於位 址。該位元欄位可以係-位元組。該位元搁位可以係 位元組。 f 一本發明之特徵還在於一種用以服務在—外部記憶體内的 -查找表集合之查找表定址方法,其包括將—資料字從一 計算單元傳輸至一資料位址產生器内之_輸入暫存琴。在 該資料位址產生器中的至少一存放遞增索引暫存器中提供 :固攔位’其中包括一表基底攔位’其係用以識別記憶 内絲集合的位置;以及在該索引暫存器内之一位移攔 位,其係用以識別該等表中一特定項目之位置。 在一較佳具體實施例中,該等項目可包括該資料字之對 應區段的部分結果。可將來自該資料字的所有區段之邻八 結果累加起來以獲得最終結果。可將—表基底棚位遞增Z 識別該貧料位址產生器内該組中的下一表。該部分結果可 包括資料位元且還可包括將該些位元映射至一預定的輸 字元。該輸出字元與該資料字可具有相等數目的位元:該 輸出字元與該資料字可具有不相等數目的位元。累加可= 括互斥-或(exClusive_0Ring)。累加可包括加總。其可包 括將該資料字之-第二區段存放進另一索引暫存器值移攔 位,用以與該第一特定項目平行地識別另一特定項目之位 置。其可包括將該索引暫存器預先载入至一已知的表位 址:可將該索引暫存器預先載入至該起始位址。該區段可 以係-位元攔位。該位元攔位可以係一半位元組或一位元 115553-990708.doc -12· 1333615 組》 【實施方式】 除較佳具體實施例或下面揭示的具體實施例外,本發明 月b夠採取其他具體實施例而且能夠以各種方式來實作或實 施因此’應瞭解本發明在其應用方面不限於下面說明中 所提出或圖中所示的組件構造及配置之細節。若本文僅說 明一具體實施例,則本發明之申請專利範圍不限於該具體 實施例。此外,除非有明確而令人信服的證據表示一特定 的排除、限制或否認,否則不應從限制的角度來解讀其申 請專利範圍。 圖1顯示在用以服務外部記憶體16内的一查找表集合之 一現有資料位址產生器(DAG)12及計算單元(cu)14中實施 之依據本發明的查找表定址系統1 〇。DAG丨2與cu丨4可 以係一傳統處理器(例如,一數位信號處理器(Dsp))之部 ^在DAG中使用兩個指標(p)暫存g,其一係作為資料 字輸入暫存器18’ 第二個係作為存放遞增索引暫存器 2〇、遞增電路22及預先載入電路24。在cu 14中,有一查 找表(LUT)目的地暫存器26、累加器28及組合電路%,在 此僅顯示為一GF·2加法器(X〇R)或加總電路。在CU 14 中’其任何暫存器檔案皆可用作該LUT目的地暫存器26。 外部記憶體16在儲存於其中的其餘資料中間包括—查找表 集合32’該查找表集合32包括若干個別表1如,若該查 找表定址系統10欲對-具有半位元組之三十二位元資料字 (即,四個位元群組)進行處理,則在其欲採用位元組工作 115553_990708.doc -13- 1333615 之情況下將會有八個表(每一表具有十六個項目)或四個表 (每一表具有256個項目)。 該LUT存放遞增索引暫存器20產生與表基底位元攔位 38、表索引位元欄位40、存放位元欄位36及零位元欄位41 成函數關係的有效記憶體位址。在運算中,將來自cu丄4 之一寊料子輸送給該DAG資料輸入字元暫存器a。其一巴 段(例如,一第一半位元組34)係直接存放進位移位元欄位 36。該表基底位元攔位38識別外部記憶體16内該表集合μ 之起始位置。該索引攔位40識別表集合32中特定表”^至 32-8之位置’而零欄位41適應LUT項目寬度。若使用三十 二位元LUT存取,則該零欄位將包含兩個零,或者若使用 十六位元LUT存取則包含一個零。存放於位移欄位%中的 區段或半位元組34係一特定表中的特定項目(例如,項目 42)之位址位移。假定在將一 32位元字元傳輸至該dag輸 入暫存器18時使用該系統來置換一半位元組,則該項目42 將包含四個位元加上將位置映射至一32位元字元。該等四 個位元係存放於位移欄位3 6内的半位元組3 4中之位元之一 置換。此等四個位元及將其位置映射於一32位元字元之資 訊係輸送至CU 14中之一 32位元LUT目的地暫存器%。將 依據項目42内的映射資訊,將來自特定項目芯的四個位元 載入該些三十二個位置中的四個位置。藉由組合電路或 GF-2加法器30(χΟΓ)將此部分結果與累加器暫存器之内 容組合。由於此係初始運算循環,因此暫存器28包含零。 因此,在加法益30中組合該等兩個暫存器之輸出後,暫存 115553-990708.doc •14· 1333615 器28中的累加結果不大於LUT目的地暫存器%之内容。接 下來,遞增電路22將表索引40的值遞增一,並將其作為新 的表索引來回授以使得該系統移動至表2,32-2。同時, 將資料字輸入暫存器18中該資料字之下一區段,即資料輸 暫存18之下區段44中的半位元組,輸送至位移欄位 36。現在由此識別表2中映射進逝目的地暫存器%的另 一特定項目46。再-次藉由GF_2加法器3〇(χ〇Γ)將來自暫 φ #器26之輸出與暫存器28之内容組合,而且將該等組合結 果累加並儲存於暫存器28内。現在暫存器28包含來自與特 定項目46(其四個位元係以32位元字元格式映射至四個其 他,置)組合的特定項目42(其係映射成一32位元字元格式') 之資料之一組合。此一直繼續到存在於暫存器“内的三十 二個位元字元中的八個半位元組全部完成為止。此時遞增 電路22已達到八,而預先載入電路24將把該表基底預先^ 人回至該表集合之開端。預先載入電路辦實上可將表基 隊 底攔位38預先載入至任何特定地方。 藉由將本發明與傳統運算對比,可看出本發明之優點。 在-傳統運算中’將該資料字從該⑶中的r暫存器向該 DAG中的輸人p輸人暫存器—次移動—半位元組或一位元 組。在深官線運算中’此表示對於如此傳輸的每一半位元 組或位元組將有數次暫停。此外,將該半位元組或位元组 資料存放進該位移攔位並遞增至下一表之運算必須由該 DAG以手動方式執行。相反,在本發明中,整個資料字係 立即從該CU中的汉暫存器傳輸到該dag中的p輸入暫存 115553-990708.doc 1333615
盗,因此必須承受的數次暫停對於整個資料字而言只須承 丈一次,而並非對於每八個半位元組或該等四個位元組中 每位元組而s白須承又一次。此外,現在可由該等DAG 自有的電路來自動貫行將該半位元組或位元組資料存放進 -該位移棚位並遞增至下一表之運算。 在該DAG中,可能有多個可用輸入暫存器18a與存放遞 增索W暫存器20a。輸入暫存器18及18&實際上可以係一單 一暫存器,其服務存放遞增索引暫存器2〇與存放遞增索引 暫存器20a 〇還可以有額外的遞增電路22&與預先載入電路 24a。 在將一第二LUT目的地暫存器26a用於cu 14中之情況 下,該運算快得可以實施兩次。在將相同的資料字安裝於 輸入暫存器18及18&中之情況下,該系統可看暫存器18中 的半位疋組34而將其輸送至暫存器2〇中的位移欄位%,而 可將暫存器18a中的半位元組44&輸送至位移攔位36&。因 此田圖1中的DAG 12正在擷取表1中的特定項目42時, DAG 12a可能正在擷取表2中的特定項目46並將其輸送至 LUT目的地暫存器26a以使得暫存器26與26&中的映射半位 疋組與累加器暫存器28之内容組合在一起而使得該系統快 得可移動兩次。在下一循環上,該系統將移動至表3及4, 而接著表5及6’而最後係表7及8。 例如,藉由將該輸入暫存器分成八個半位元組、4位元 之群組並組合所有已置換的半位元組之部分結果來實行一 個二十二位元輸入暫存器(例如18)之置換。該第一半位元 115553-990708.doc -16 - 1333615 ,、且(例如,圖丨之暫存器18中的半位元組34)係顯示為映射至 累加器暫存器28(圖1)之三十二位元字元格式5〇(圖2)。此 第一運算之四個映射位元係顯示為具有〗的乂。對於下一半 位元組44,附帶一個2之X標記位元(如圖2中52所示)係映 射進LUT目的地暫存器26,而該組合如圖2所示係三十二 位疋格式52。在該第三個半位元組後,累加器暫存器28中 的予兀格式出現於54(圖2)。在所有八個運算循環過後,圖 1中暫存器28之内容呈現為如圖2中字元格式%所示其中 八個四位元群組或半位元組中的所有三十二位元已藉由組 合50、52、54中所示的各個部分結果而全部映射為%處所 不之最終結果),而為簡單起見並未顯示插入狀態。 在一替代性構造中可能有兩個ρ索引暫 圖3)’其以1錯方式運算以從查找表集合Β操取 項目。例如’纟置換一個三十二位元資料字之情況下,索 引暫存器20b中的零攔位41b可包括所有零來擷取所有偶數 個三十二位元字元,而暫存器2〇bb中的零攔位可包括 一個後面跟有兩個零的一來擷取所有奇數個三十二位元字 元,如圖所示。然後,當索引暫存器別…正在處理其位移 欄位36bb中的半位元組34並從表2擷取一特定項目4几時, 在其位移欄位36b中有接收到的半位元組44之索弓丨暫存器 20b將從表1搜尋特定項目461^應注意,表1與2之可定址 的貝料項目已經係交錯為具有表3及4; 5及6; 7及8。在遞 增後,該表索引、索引暫存器2〇現在係作為索引暫存器2〇, 而出現。在此情況下,藉使用—第二p索引暫存器2嶋, 115553-990708.doc •17- 1333615 一個二十二位元輸入暫存器快得可置換兩次。儘管至此僅 針對一置換運算來說明本發明,但本發明可非常有利地用 於若干其他應用。例如,圖4中,本發明之查找表定址系 統l〇a係用於藉使用兩次查找表定址系統來實施一 des加 密系統60。該第一查找表集合將置換暫存器18之三十二輸 入位/0並將其擴展成一個四十八位元的再現格式且置放於 DES系統60之暫存器7〇中。然後,藉使用加總電路74來將 其與一儲存於暫存器72内的四十八位元回合金鑰組合。可 使用依據本發明實施該S_B〇X並接著進行該p置換之一第二 查找表集合10b,來從DES系統6〇之暫存器7〇取得六位元 群組並依據特定的DES規則將其轉換回成三十二位元並將 最後結果放置於累加器暫存器28b中。在圖4之〇]^應用 中,應注意該組合電路係實施為一互斥或閘極3〇&。 還可結合線性回授偏移暫存器(LFSR)(例如圖5中的
Galois攔位線性轉換器(GFLT)LFSR丨i 〇)來非常有利地使用 本發明,該線性回授偏移暫存器係一接收在一或多個格子 位兀流(一般指定為u3、u2及ul)中的若干輸入位元及稱為
Sn的矩陣之一格子狀態輸出之格子系統,依據此等所接收 内容,該系統產生一輸出丨12以及下一新格子狀態輸出 114(指定為Sn+Ι)。有若干不同類別的線性回授偏移暫存 器,其包括CRC(圖6)、擾頻器(圖7)、解擾器(圖8)及格子 (圖9)。下面將結合圖9至13來說明本發明在此一系統中的 應用。 圖9中顯不(例如)在ADSL數據機格子12〇中之一典型的 115553-990708.doc -18- 1333615
格子系統,其係作為一線性回授偏移暫存器(LFSR)122實 施於硬體中。線性回授偏移暫存器122包括四個儲存裝 置:正反器124、126、128及130,其表示該線性回授偏移 暫存器之狀態s0、si、S2及s3。格子位元流作為一位元流 u3〇 ^ u3, . u32 ^ u33- u37··. ^ U2〇 ^ u2, ^ u22 > u23 -u27…、ul〇、Uli、ui2、ul3…ul7…,而出現於輸入i32 處。該位元流u3在輸入132處直接提供輸ών〇。互斥或閘 極134回應於該U3輸入與ul輸入而產生輸出^。互斥或閘 極138回應於該等u3及心輪入而產生輪出w〇。互斥或閘極 136回應於所有該等輸入u3、u2、“加上線性回授偏移暫 存器122在線140上的輸出狀態s3而提供輸出wl。 在運算中,在该時脈之每一循環,攔150(圖1〇),與 ul._u3輸入成函數關係的狀態8〇、si、82及以及先前的 S 1 ··S3狀態將如圖表J所示。
Galois欄位線性轉換器格子系統丨〗(圖11)可依據在一 特疋應用中可接受的Gal〇is欄位線性轉換器矩陣之尺寸來 同時處理四、人、十二、十六個或任何數目的位元。此係 1 丁於圖11 ’目中將-般化的格子位元流輸入ul。至ul3、 =2〇至u23、113〇至1133顯示為全部同時接受。用於第一滴答 聲或時脈循環之特定位元係顯示為zl。至zl3、丫2。至成1 =〇至X33。由於在此特定範例中,GFLT格子系統10 一次接 又個位兀,因此其真實Galois攔位轉換器形式之輸出將 在圖表I之方塊區域152(圖1〇)中提供對應於第四時脈循環 〆時脈循j衣編號二之輸出^因此,針對狀態、$丄、及 115553-990708.doc -19. 1333615 s3之此專值(其在圖10係顯不於圖表I中的154、156、158及 160)係圖11之新格子狀態154a、156a、158a及160a。其係 新格子狀態S〇n+i、S1 n+丨、sZnq、s3n+1 ’且係回授給該等格 子輸入 s3n、s2n、sln、s0n。 在下一或第二時脈循環(指定為時脈循環〇,圖表n,圖 12)上,在行151中將狀態s〇n+1顯示為s3、y2i(y2丨係u2丨之當 前值)、sO、yZVylo係U20之當前值)及zi2(zl2係ul2之當前 值)之互斥或組合。如圖所示,此可在第二行153中擴展, 而因此如第三行155中所示消除冗餘(模二加法)以提供下一 格子狀態,針對sln+1、s2n+1及s3n+1可實行相同作法。該等 輸出v0、vl、w0及wl並非列成圖表形式,因為其係(例 如,如圖13所示)在該Galois攔位線性轉換格子系統矩陣 160上該等號之直接互斥或組合。其中可看出藉由在矩 陣160的列與行之選定接合點處致動該等互斥或閘極單元 162來獲得圖表I與π中所需要的輸出。例如,參考圖表 11(圖 12),可將S3之值看作31、s2、s3、咕、u22、 ul〇之互斥或組合,而對於(例如)w〇3 ,該表達式將僅係 與u23互斥或;對於vh,將僅係u32&ul2互斥或,以此類 推。 關於進一步說明,請參見Stein等人於2〇〇4年1月7曰申請 的美國專利申請案第1〇/753,3〇1號,其名稱為GALOIS欄位 線性轉換器格子系統,其全部内容係以引用的方式併入於 此。 在此環境中使用本發明之一優點係對互斥或閘極的三 115553-990708.doc -20· 1333615 ^ 一十—矩陣或— 232容量之查找表之需要可得到避免。 在圖14中4述此點,其中重複來自圖13之—半位元組(描 述為ul者)而顯不在其四行之三十二列中其需要的所有互 斥或閘極162。依據本發明在該四位元半位元組中可能出 的” 〇之十八個不同的可能組合係顯示於行1Μ之十六 歹】180中。該等LUT輸出184係顯示於行186之對應列18〇 中。例如,將位元組合0011選擇用於以(如18〇a處所示), • 包3兩個互斥或閘極(一閘極處於零位置而一閘極處於三 2置)的針對第12列(188)之LUT輸出為一個「!」。對於包 含一互斥或閘極的第19列(19〇),並具有才目同的位元組合 011 。亥LUT輸出為「!」。因此,可將互斥或間極之整個 矩陣替換為一查找表,而且依據本發明該查找表不必係各 二十二位元之232個項目,而可以係一表集合群組其中包 括十六個項目的八個表’每_表為三十二個位元(或一 位元組LUT)。 •在一處理器(例如圖丨5之數位信號處理器)Dsp 2〇〇中可 方便地實施本發明,其中DAG 12、cu 14及記憶心藉由 各種匯流排204而在相互之間以及與定序器2〇2通信。dag 12包括指標暫存器樓案2〇6,該指標暫存器檔案2〇6包括輸 入暫存器18及存放遞增索暫存器2{)及其他暫存器2〇8, 例如傳統的卜暫存器。⑶14可包括資料暫存器槽 案_(例如LUT目的地暫存器%與累加器暫存器叫連同乘 法與累加單元210、算術邏輯單元212及偏移器川。 依據本發明之查找表定址方法3〇〇(圖16)之一實施方案 H5553-990708.doc •21· 丄: 丄: 貝料字從一計算單元傳輸302至 a祜將 ------- 貝竹m祉座生 器中之-輸入暫存器。其中,在該祕中的每一索引暫存 器中提供304-表基底欄位、表索引搁位及位移搁位。將 一區段⑽如,該資料字之—位元组或一半位元組)存放鳩 於-位移攔位中以將一特定項目定位於外部記憶體内的查 找表中°將—特定項目從每—區段映射308至-輸出字 元。,該表索引攔位遞增310至下一表。此後,只要還留 有要兀成的區段’該系統便返回步驟遍。然後,藉由(例 :)加總、添加、互斥-或(x_〇ring)來累加312來自所有 區奴的特疋項目’從而完成該輸出字元。最後,將該索引 暫存益預先載入314至—已知的(例如)start位址,而該系 、充再_人返回以棟取及傳輸302 —資料字。 、 儘官本發明之特定特徵係顯示於一些圖式中而並未顯示 於”,圖式中’但此僅係為了便於說明’因為依據本發明 可將每-特徵與其他特徵中的任何或所有特徵組合。本文 中的用詞「包括」、「包含」、「具有」及「帶有」應作廣義 及全面解釋,而不限於任何實體互連。此外,標的申請案 中所揭示的任何具體實施例不應作為唯一可行的具體實施 例。 此外,在提交本專利之專射請案期間提出的任何修正 並不否遇所申請的申請案中提出之任何請求元件·無法合 理預期熟習此項技術者會起草—從字面上涵蓋所有可能等 效物之申請專利範圍,許多等效物在修正時係不可預見的 而且超出對要提交内容(若有)的合理解釋,作為修正基礎 H5553-990708.doc -22- 1333615 的基本原理與許多等效物可能僅存在一切線關係,且/或 基於許多其他原因而預期申請者無法說明任何所修正請求 元件之特定的非實質替代物。 其他具體實施例將為熟習此項技術者所明白而且在隨附 申請專利範圍内。 【圖式簡單說明】 熟習此項技術者從下文關於一較佳具體實施例的說明及 附圖中可明白其他目的、特徵及優點,圖中: 圖1係在一 DSP之一 DAG及CU中實施的依據本發明之一 查找表定址系統之一示意圖; 圖2係將數個部分結果累積映射成一 32位元字元格式的 最終結果之一圖示; 圖3係圖1之系統之DAG部分之一替代性具體實施例之一 示意性方塊圖; 圖4藉使用圖1之查找表定址系統(經圖3之具體實施例之 修改)中的兩個系統來實施之一 DES加密系統之一示意性方 塊圖; 圖5係可結合本發明實施之一線性回授偏移暫存器格子 系統之一 Galois欄位線性轉換器實施方案之一示意性方塊 圖; 圖6係一 LFSR CRC之一示意性方塊圖; 圖7係一 LFSR擾頻器之一示意性方塊圖; 圖8係一LFSR解擾器之一示意性方塊圖; 圖9係一 LFSR格子之一示意性方塊圖; 115553-990708.doc -23- 1333615 圖10係說明圖9之ADSL數據機格子在八個時脈循環中的 四個狀態條件之一圖表I ; 圖11係圖5之可重新配置的(3&1〇丨8攔位線性轉換器格子系 統之一更詳細的示意性方塊圖; 圖12顯示解說在圖u之Gal〇is欄位線性轉換器系統中出 現的狀況之圖表II ; 圖13係酉己置用於從-循環中的輸入位元產生格子輸出通 道符號之Galois攔位線性轉換器矩陣之一更詳細示音圖; 圖14描述依據本發明圖13之矩陣之一半位元組向一查找 表定址系統之一轉換; 圖15係用於實施本發明之一數位信號處理器之一示意性 方塊圖;以及 圖16係依據本發明之查找表定址方法之一方塊圖。 【主要元件符號說明】 10 10a 10b 12 12a 14 16 18 18a 115553-990708.doc 查找表定址系統/GFLT格子系統 查找表定址系統 第二查找表集合/查找表定址系統 (LUTAS) 資料位址產生器(DAG) dag 計算單元(cu) 外部記憶體 資料字輸入暫存器 輸入暫存器 -24- 1333615
20 存放遞增索引暫存器 20' 索引暫存器 20a 存放遞增索引暫存器 20b P索引暫存器 20bb P索引暫存器 22 遞增電路 22a 遞增電路 24 預先載入電路 24a 預先載入電路 26 查找表(LUT)目的地暫存器 26a 第二LUT目的地暫存器 28 累加器暫存器 28b 累加器暫存器 30 組合電路/加法器 30a 互斥或閘極 32 查找表集合 32-1至32-8 特定表 32b 查找表集合 34 第一半位.元組 36 存放位元欄位/位移位元欄位 36a 位移欄位 36b 位移欄位 36bb 位移欄位 38 表基底位元攔位 115553-990708.doc •25- 1333615 38a 表基底 40 表索引位元欄位 41 零位元欄位 41b 零欄位 41bb 零攔位 42 特定項目 42b 特定項目 44 區段/半位元組 44a 半位元組 46 特定項目 46b 特定項目 50 三十二位元字元格式 52 三十二位元格式 54 字元格式 56 字元格式 60 DES加密系統 ’ 70 暫存器 72 暫存器 74 加總電路 110 Galois襴位線性轉換器(GFLT)LFSR 110a 欄位線性轉換器格子系統 112 輸出 114 新格子狀態輸出 120 ADSL數據機格子 115553-990708.doc -26- 1333615
122 124 126 128 130 132 134 136 138 140 150 151 152 153 154 154a 155 156 156a 158 158a 160 160a 線性回授偏移暫存器(LFSR) 正反器 正反器 正反器 正反器 輸入 互斥或閘極 互斥或閘極 互斥或閘極 線 行 行 表I之方塊區域 行 狀態s0之值 新格子狀態 行 狀態s 1之值 新格子狀態 狀態s2之值 新格子狀態
Galois欄位線性轉換格子系統矩陣/狀 態S3之值 新格子狀態 115553-990708.doc -27· 1333615 162 180 182 184 186 188 190 200 202 204 206 208 209 210 212 214 300 sO si s2 s3 ul u2 u3 互斥或閘極單元 列 行 LUT輸出 行 列 列
處理器DSP 定序器 匯流排 指標暫存器檔案 暫存器 資料暫存器 乘法與累加單元 算術邏輯單元 偏移器 查找表定址方法 線性回授偏移暫存器之狀態 線性回授偏移暫存器之狀態 線性回授偏移暫存器之狀態 線性回授偏移暫存器之狀態 格栅位元串流 格栅位元串流 格柵位元串流 115553-990708.doc -28- 1333615 vO 輸出 vl 輸出 wO 輸出 w 1 輸出 115553-990708.doc •29-
Claims (1)
1333615 ua. 、申請專利範園: ι :種在-外部記憶體内具有一查找表集合之查找表定址 系統,其包含: 一資料位址產生器,其包括: 一輸入暫存器,其係用以接收來自一計算單元之 貝料子,該資料字包括複數個區段,每一區段包括該 集合内之一表内之一項目之一參考; 至少一存放遞增索引暫存器,其具有一用以識別 該表集合在記憶體内的位置之表基底攔位與—用以識別 。亥表集合内一特定表的位置之一表索引攔位;及 一用以識別該特定表中一特定項目的該位置之位 移攔位’其中該資料位址產生器係配置用於將該資料字 =一區段存放進該位移攔位來存取有關於該區段之該特 疋項目、使用該經存放之區段來存取在該集合之該特定 表内之違特定項目、遞增表索引欄位以識別該集合内之 下h個表、及重複存放-區段、存取該特定項目及用於 該資料字中該複數個區段之每—者之遞增該表索引搁位 之该等步驟。 2. 如料们之查找表定址系統,其中該等項目包括該資 料字之對應區段之部分結果。 3. 如請求们之查找表定址系統,其進_步包括—計算單 p該計算單元包括_累加器·’—查找表目的地暫存器 及—組合電路,該計算單元係配置用於累加來自該資料 字的所有該等區段之該等部分結果以獲得最終結果。 115553-990708.doc ^615 4·如請求項3之查找表定址系、统,其中該目的地暫存器可 以係該計算單元資料暫存器檔案之任何暫存器檔案。。 5·如請求項!之查找表定址系統,其中該資料位址產生器 包括複數個指標暫存器,而該存放遞增索引暫存器係藉 由該等指標暫存器中的一暫存器來實施。 ^ 玲 6.如請求項!之查找表m统,其中該資料位址產生考 包括複數個指標暫存器,而該存放遞增索引暫存 由該等指標暫存器中的一暫存器來實施。 ”曰 7·如請求項2之查找表定址系統,其中該部分結果包括該 對應區段之資料位元,而該資料位址產生器係進一步配 置用於將該些位元映射至一預定的輸出字元。 8.:請求項7之查找表定址系統,其中該 料字具有相等數目的位元。 一名貝 9·如請求項7之查找表定址系統 料字具有不相等數目的位元。 】〇.如請求項3之查找表定址系統 斥或(exclusive OR)電路。 11·如請求項3之查找表定址系統 總電路。 12·如請求項1之查找表定址系統 係配置用於將該索引暫 ^ 1机孤座庄 η ^ ^ ^ δ , 子态預先載入一已知的表位址。 13. 如凊求項丨之查找表定址 址 -起始位址。 ’、統’其中該已知的表位址七 14. 如請求項丨之查找表 祉糸统’其中該區段係—位元來 其中該輸出字元與該資 其中該組合電路係 其中該組合電路係 互 加 其中該資料位址產生器 115553-990708.doc 1333615 位。 15. 如請求項14之查找表定址系統,其中該位元攔位係一位 元組。 16. 如請求項14之查找表定址系統,其中該位元攔位係一半 位元組^ 17. —種查找表定址方法,其係用以服務在一外部記憶體内 的一查找表集合,其包含: 將一資料字從一計算單元傳輸至一資料位址產生器中 之一輸入暫存器,該資料字包括複數個區段,每個區段 包括用在該集合之一表内之一項目之一參考; 在該資料位址產生器中的至少一索引暫存器中提供一 用以識別該表集合在記憶體内的該位置之 及-用於識別該表集合内之一特定表之位置之表索引搁 位;
將該資料字之一區段存放進該索引暫存器中之一位移 欄位,用以該等表中之一特定項目之該位置; 使用該經存放之區段存取在該集合之該特定表内之該 特定項目; 遞增該表索引欄位以識別在該集合之下一個表;及 重複存放-區段、存取該特定項目及用於該資料字中 該複數個區段之每-者之遞增該表索引欄位之該等步 驟。 1如二求項17之查找表定址方法,其中該等項目包括用於 該貧料字之該對應區段之料部分結果。 115553-990708.doc I333615 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.. 29. 方法’其進-步包括累加來自 等部分結果以獲得該等最終結 如請求項18之查找表定址 該資料字的所有區段之該 果0 t請求項18之查找表定址方法’其中該等部分結果包括 貧料位元,而且其進一步包括將該些位元映射 的輸出字元。 疋 其中該輪出字元與該資 其中該輸出字元與該資 其中累加包括互斥-或 如請求項20之查找表定址方法 料字具有相等數目的位元。 如請求項20之查找表定址方法, 料字會具有不相等數目的位元。 如請求項19之查找表定址方法 (exclusive-ORing) ° 如請求項19之查找表定址方法盆中累 巾具干累加包括加總。 如请求項17之查找表定址方法,里推一丰—j 忐其進步包括將該索引 暫存器預先載入至一已知的表位址。 如清求項25之查找表定址方法,宜伞兮合2丨紅a 乃凌,具中忒索引暫存器係預 先载入該起始位址。 如清求項2 5之查找表定址方法里中 电兵〒忒&段係一位元欄 位。 如凊求項2 7之查找表定址方法,盆由兮a __ w 乃在’其中该位7L攔位係—位 元組。 如5青求項27之查找表定址方法,立φ兮你-加 乃沄’其中該位兀欄位係一半 位元組。 115553-990708.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/258,662 US8285972B2 (en) | 2005-10-26 | 2005-10-26 | Lookup table addressing system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200745850A TW200745850A (en) | 2007-12-16 |
TWI333615B true TWI333615B (en) | 2010-11-21 |
Family
ID=37968359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW095139557A TWI333615B (en) | 2005-10-26 | 2006-10-26 | Lookup table addressing system and method |
Country Status (6)
Country | Link |
---|---|
US (1) | US8285972B2 (zh) |
EP (1) | EP1941370A4 (zh) |
JP (1) | JP5112325B2 (zh) |
CN (1) | CN101341470B (zh) |
TW (1) | TWI333615B (zh) |
WO (1) | WO2007050349A2 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024551B2 (en) | 2005-10-26 | 2011-09-20 | Analog Devices, Inc. | Pipelined digital signal processor |
US7728744B2 (en) * | 2005-10-26 | 2010-06-01 | Analog Devices, Inc. | Variable length decoder system and method |
US8301990B2 (en) * | 2007-09-27 | 2012-10-30 | Analog Devices, Inc. | Programmable compute unit with internal register and bit FIFO for executing Viterbi code |
US7877571B2 (en) * | 2007-11-20 | 2011-01-25 | Qualcomm, Incorporated | System and method of determining an address of an element within a table |
US20090245510A1 (en) * | 2008-03-25 | 2009-10-01 | Mathieu Ciet | Block cipher with security intrinsic aspects |
WO2010013092A1 (en) * | 2008-07-30 | 2010-02-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and method for providing trusted system functionalities in a cluster based system |
JP5755970B2 (ja) * | 2011-08-26 | 2015-07-29 | 株式会社東芝 | 演算装置 |
GB2542220A (en) * | 2013-09-13 | 2017-03-15 | Smg Holdings-Anova Tech Llc | Packet sharing data transmission system and relay to lower latency |
GB2533531A (en) | 2013-09-13 | 2016-06-22 | Smg Holdings-Anova Tech Llc | Self-healing data transmission system to achieve lower latency |
US11106437B2 (en) * | 2019-01-14 | 2021-08-31 | Microsoft Technology Licensing, Llc | Lookup table optimization for programming languages that target synchronous digital circuits |
US11113176B2 (en) | 2019-01-14 | 2021-09-07 | Microsoft Technology Licensing, Llc | Generating a debugging network for a synchronous digital circuit during compilation of program source code |
US11144286B2 (en) | 2019-01-14 | 2021-10-12 | Microsoft Technology Licensing, Llc | Generating synchronous digital circuits from source code constructs that map to circuit implementations |
US11275568B2 (en) | 2019-01-14 | 2022-03-15 | Microsoft Technology Licensing, Llc | Generating a synchronous digital circuit from a source code construct defining a function call |
US11093682B2 (en) | 2019-01-14 | 2021-08-17 | Microsoft Technology Licensing, Llc | Language and compiler that generate synchronous digital circuits that maintain thread execution order |
CN109933301B (zh) * | 2019-03-19 | 2023-04-14 | 中科亿海微电子科技(苏州)有限公司 | 可扩展可编程逻辑单元及可编程逻辑块结构 |
TWI754206B (zh) * | 2020-01-10 | 2022-02-01 | 祥碩科技股份有限公司 | 資料儲存系統、資料儲存裝置及其管理方法 |
KR20220009643A (ko) * | 2020-07-16 | 2022-01-25 | 삼성전자주식회사 | 스토리지 컨트롤러, 이를 포함하는 클라이언트 및 서버, 및 이의 동작 방법 |
CN114185486B (zh) * | 2021-11-17 | 2024-07-30 | 深圳市德明利技术股份有限公司 | 一种dram存储器的数据写入方法和dram控制系统 |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1181461B (de) * | 1963-10-08 | 1964-11-12 | Telefunken Patent | Adressenaddierwerk einer programm-gesteuerten Rechenmaschine |
US3805037A (en) * | 1972-02-22 | 1974-04-16 | J Ellison | N{40 th power galois linear gate |
DE2407241A1 (de) * | 1974-02-15 | 1975-08-21 | Ibm Deutschland | Verfahren und anordnung zur erhoehung der verfuegbarkeit eines digitalrechners |
DE3600905A1 (de) | 1986-01-15 | 1987-07-16 | Ant Nachrichtentech | Verfahren zum dekodieren von binaersignalen sowie viterbi-dekoder und anwendungen |
JP2614916B2 (ja) * | 1988-04-27 | 1997-05-28 | 日本電気株式会社 | 記憶アクセス制御装置 |
US5287511A (en) | 1988-07-11 | 1994-02-15 | Star Semiconductor Corporation | Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith |
US5031131A (en) | 1988-11-14 | 1991-07-09 | Eaton Corporation | Direct digital synthesizer |
US5062057A (en) * | 1988-12-09 | 1991-10-29 | E-Machines Incorporated | Computer display controller with reconfigurable frame buffer memory |
DE3909996A1 (de) | 1989-03-25 | 1990-10-04 | Forschungszentrum Juelich Gmbh | Rekuperativer keramischer waermeuebertrager |
JPH0492921A (ja) | 1990-08-03 | 1992-03-25 | Fujitsu Ltd | 指数関数演算器 |
CA2074769C (en) * | 1991-08-09 | 2001-03-20 | International Business Machines Corporation | Formula processor |
US5386523A (en) * | 1992-01-10 | 1995-01-31 | Digital Equipment Corporation | Addressing scheme for accessing a portion of a large memory space |
US5260898A (en) | 1992-03-13 | 1993-11-09 | Sun Microsystems, Inc. | Result cache for complex arithmetic units |
US5351047A (en) | 1992-09-21 | 1994-09-27 | Laboratory Automation, Inc. | Data decoding method and apparatus |
JPH06110852A (ja) | 1992-09-29 | 1994-04-22 | Hitachi Ltd | ブロック状並列分散演算アレイプロセッサ |
JP3124648B2 (ja) | 1993-03-19 | 2001-01-15 | 富士通株式会社 | 色データ管理方法及び装置 |
KR0135846B1 (ko) * | 1994-02-02 | 1998-06-15 | 김광호 | 룩-업-테이블장치 |
US5530825A (en) * | 1994-04-15 | 1996-06-25 | Motorola, Inc. | Data processor with branch target address cache and method of operation |
US5832290A (en) * | 1994-06-13 | 1998-11-03 | Hewlett-Packard Co. | Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems |
US5507000A (en) | 1994-09-26 | 1996-04-09 | Bull Hn Information Systems Inc. | Sharing of register stack by two execution units in a central processor |
US5689452A (en) * | 1994-10-31 | 1997-11-18 | University Of New Mexico | Method and apparatus for performing arithmetic in large galois field GF(2n) |
US5710939A (en) | 1995-05-26 | 1998-01-20 | National Semiconductor Corporation | Bidirectional parallel data port having multiple data transfer rates, master, and slave operation modes, and selective data transfer termination |
US6029242A (en) * | 1995-08-16 | 2000-02-22 | Sharp Electronics Corporation | Data processing system using a shared register bank and a plurality of processors |
US5666116A (en) | 1995-12-01 | 1997-09-09 | U.S. Philips Corporation | High speed variable-length decoder arrangement |
JP3634379B2 (ja) * | 1996-01-24 | 2005-03-30 | サン・マイクロシステムズ・インコーポレイテッド | スタックキャッシングのための方法及び装置 |
US5675332A (en) | 1996-02-01 | 1997-10-07 | Samsung Electronics Co., Ltd. | Plural-step chunk-at-a-time decoder for variable-length codes of Huffman type |
US5996066A (en) * | 1996-10-10 | 1999-11-30 | Sun Microsystems, Inc. | Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions |
US6009499A (en) | 1997-03-31 | 1999-12-28 | Sun Microsystems, Inc | Pipelined stack caching circuit |
GB9707861D0 (en) * | 1997-04-18 | 1997-06-04 | Certicom Corp | Arithmetic processor |
US5961640A (en) | 1997-04-22 | 1999-10-05 | Vlsi Technology, Inc. | Virtual contiguous FIFO having the provision of packet-driven automatic endian conversion |
US6061749A (en) | 1997-04-30 | 2000-05-09 | Canon Kabushiki Kaisha | Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword |
US5937438A (en) * | 1997-06-30 | 1999-08-10 | Lucent Technologies Inc. | Sine/cosine lookup table |
US6263420B1 (en) * | 1997-09-17 | 2001-07-17 | Sony Corporation | Digital signal processor particularly suited for decoding digital audio |
US6151705A (en) * | 1997-10-30 | 2000-11-21 | Hewlett-Packard Company | Efficient use of the base register auto-increment feature of memory access instructions |
US5970241A (en) * | 1997-11-19 | 1999-10-19 | Texas Instruments Incorporated | Maintaining synchronism between a processor pipeline and subsystem pipelines during debugging of a data processing system |
US6094726A (en) | 1998-02-05 | 2000-07-25 | George S. Sheng | Digital signal processor using a reconfigurable array of macrocells |
US6223320B1 (en) * | 1998-02-10 | 2001-04-24 | International Business Machines Corporation | Efficient CRC generation utilizing parallel table lookup operations |
GB9806687D0 (en) * | 1998-03-27 | 1998-05-27 | Memory Corp Plc | Memory system |
US6272452B1 (en) | 1998-04-02 | 2001-08-07 | Ati Technologies, Inc. | Universal asynchronous receiver transmitter (UART) emulation stage for modem communication |
US6067609A (en) * | 1998-04-09 | 2000-05-23 | Teranex, Inc. | Pattern generation and shift plane operations for a mesh connected computer |
US6138208A (en) * | 1998-04-13 | 2000-10-24 | International Business Machines Corporation | Multiple level cache memory with overlapped L1 and L2 memory access |
US5996057A (en) * | 1998-04-17 | 1999-11-30 | Apple | Data processing system and method of permutation with replication within a vector register file |
JP3154991B2 (ja) * | 1998-04-27 | 2001-04-09 | 松下電器産業株式会社 | 暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体 |
US6134676A (en) | 1998-04-30 | 2000-10-17 | International Business Machines Corporation | Programmable hardware event monitoring method |
US6332188B1 (en) * | 1998-11-06 | 2001-12-18 | Analog Devices, Inc. | Digital signal processor with bit FIFO |
US6829695B1 (en) | 1999-09-03 | 2004-12-07 | Nexql, L.L.C. | Enhanced boolean processor with parallel input |
US6771196B2 (en) | 1999-12-14 | 2004-08-03 | Broadcom Corporation | Programmable variable-length decoder |
JP2001210357A (ja) | 2000-01-28 | 2001-08-03 | Hitachi Maxell Ltd | アルカリ蓄電池 |
US6539477B1 (en) * | 2000-03-03 | 2003-03-25 | Chameleon Systems, Inc. | System and method for control synthesis using a reachable states look-up table |
US6480845B1 (en) * | 2000-06-14 | 2002-11-12 | Bull Hn Information Systems Inc. | Method and data processing system for emulating virtual memory working spaces |
US6430672B1 (en) | 2000-07-17 | 2002-08-06 | International Business Machines Corporation | Method for performing address mapping using two lookup tables |
US7251672B2 (en) * | 2001-05-16 | 2007-07-31 | Nxp B.V. | Reconfigurable logic device |
US6587057B2 (en) | 2001-07-25 | 2003-07-01 | Quicksilver Technology, Inc. | High performance memory efficient variable-length coding decoder |
KR100437609B1 (ko) | 2001-09-20 | 2004-06-30 | 주식회사 하이닉스반도체 | 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치 |
US6587864B2 (en) * | 2001-11-30 | 2003-07-01 | Analog Devices, Inc. | Galois field linear transformer |
US7283628B2 (en) * | 2001-11-30 | 2007-10-16 | Analog Devices, Inc. | Programmable data encryption engine |
US7508937B2 (en) * | 2001-12-18 | 2009-03-24 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
US6829694B2 (en) | 2002-02-07 | 2004-12-07 | Analog Devices, Inc. | Reconfigurable parallel look up table system |
JP2003264467A (ja) | 2002-03-08 | 2003-09-19 | Matsushita Electric Ind Co Ltd | ビタビ復号回路 |
US20030196072A1 (en) * | 2002-04-11 | 2003-10-16 | Chinnakonda Murali S. | Digital signal processor architecture for high computation speed |
US7127667B2 (en) | 2002-04-15 | 2006-10-24 | Mediatek Inc. | ACS circuit and viterbi decoder with the circuit |
US6865659B2 (en) | 2002-06-07 | 2005-03-08 | Sun Microsystems, Inc. | Using short references to access program elements in a large address space |
US7173985B1 (en) | 2002-08-05 | 2007-02-06 | Altera Corporation | Method and apparatus for implementing a Viterbi decoder |
US7424597B2 (en) * | 2003-03-31 | 2008-09-09 | Hewlett-Packard Development Company, L.P. | Variable reordering (Mux) instructions for parallel table lookups from registers |
US7693928B2 (en) * | 2003-04-08 | 2010-04-06 | Analog Devices, Inc. | Galois field linear transformer trellis system |
JP2005134477A (ja) * | 2003-10-28 | 2005-05-26 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US20050228966A1 (en) | 2004-03-16 | 2005-10-13 | Kabushiki Kaisha Toshiba | Processor system and data processing method |
US7506239B2 (en) | 2004-12-23 | 2009-03-17 | Raghavan Sudhakar | Scalable traceback technique for channel decoder |
US7243210B2 (en) * | 2005-05-31 | 2007-07-10 | Atmel Corporation | Extracted-index addressing of byte-addressable memories |
US7765459B2 (en) | 2005-09-28 | 2010-07-27 | Samsung Electronics Co., Ltd. | Viterbi decoder and viterbi decoding method |
US7728744B2 (en) * | 2005-10-26 | 2010-06-01 | Analog Devices, Inc. | Variable length decoder system and method |
US8024551B2 (en) * | 2005-10-26 | 2011-09-20 | Analog Devices, Inc. | Pipelined digital signal processor |
US7882284B2 (en) * | 2007-03-26 | 2011-02-01 | Analog Devices, Inc. | Compute unit with an internal bit FIFO circuit |
US8301990B2 (en) * | 2007-09-27 | 2012-10-30 | Analog Devices, Inc. | Programmable compute unit with internal register and bit FIFO for executing Viterbi code |
-
2005
- 2005-10-26 US US11/258,662 patent/US8285972B2/en not_active Expired - Fee Related
-
2006
- 2006-10-17 WO PCT/US2006/040414 patent/WO2007050349A2/en active Application Filing
- 2006-10-17 JP JP2008537761A patent/JP5112325B2/ja not_active Expired - Fee Related
- 2006-10-17 CN CN2006800478981A patent/CN101341470B/zh not_active Expired - Fee Related
- 2006-10-17 EP EP06817002A patent/EP1941370A4/en not_active Withdrawn
- 2006-10-26 TW TW095139557A patent/TWI333615B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP2009514096A (ja) | 2009-04-02 |
EP1941370A4 (en) | 2009-04-15 |
CN101341470B (zh) | 2010-09-29 |
WO2007050349A3 (en) | 2007-11-29 |
WO2007050349A2 (en) | 2007-05-03 |
JP5112325B2 (ja) | 2013-01-09 |
TW200745850A (en) | 2007-12-16 |
EP1941370A2 (en) | 2008-07-09 |
US8285972B2 (en) | 2012-10-09 |
CN101341470A (zh) | 2009-01-07 |
US20070094474A1 (en) | 2007-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI333615B (en) | Lookup table addressing system and method | |
JP4486680B2 (ja) | Rc4暗号化を実行するための装置および方法 | |
US7174014B2 (en) | Method and system for performing permutations with bit permutation instructions | |
US6952478B2 (en) | Method and system for performing permutations using permutation instructions based on modified omega and flip stages | |
US6922472B2 (en) | Method and system for performing permutations using permutation instructions based on butterfly networks | |
US6125182A (en) | Cryptographic engine using logic and base conversions | |
US7106860B1 (en) | System and method for executing Advanced Encryption Standard (AES) algorithm | |
CA2152238A1 (en) | Viterbi decoding method and circuit with accelerated backtracing and efficient path metric calculation | |
CN111563281B (zh) | 一种支持多种加解密算法的处理器及其实现方法 | |
WO1995009391A1 (fr) | Appareil d'extraction de la valeur minimum/maximum | |
KR100282516B1 (ko) | 길쌈부호 생성기 및 이를 내장한 디지털 신호 프로세서 | |
JPS59226923A (ja) | バスインタ−フエ−ス装置 | |
US7295672B2 (en) | Method and apparatus for fast RC4-like encryption | |
JP3065979B2 (ja) | 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置 | |
Shi et al. | Subword sorting with versatile permutation instructions | |
US20030053624A1 (en) | Method for data stream encryption | |
JP3191442B2 (ja) | ビタビ復号用演算装置 | |
KR100788902B1 (ko) | 믹스컬럼블록 장치 및 이를 이용한 곱셈연산방법 | |
JP3492988B2 (ja) | データ変換装置及びそのプログラム記録媒体 | |
JP3088785B2 (ja) | 可変長符号の復号装置 | |
CN116112670A (zh) | 一种编码方法、装置、设备及可读存储介质 | |
KR100840944B1 (ko) | 역믹스컬럼블록 장치 및 이를 이용한 곱셈연산방법 | |
JP2004029347A (ja) | データ暗復号回路 | |
JP2529465B2 (ja) | 可変長符号復号装置 | |
JPH09162751A (ja) | 多ビットシリアルデータ補正装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |