JP2005517233A - 再構成可能な並列ルックアップテーブルシステム - Google Patents

再構成可能な並列ルックアップテーブルシステム Download PDF

Info

Publication number
JP2005517233A
JP2005517233A JP2003566649A JP2003566649A JP2005517233A JP 2005517233 A JP2005517233 A JP 2005517233A JP 2003566649 A JP2003566649 A JP 2003566649A JP 2003566649 A JP2003566649 A JP 2003566649A JP 2005517233 A JP2005517233 A JP 2005517233A
Authority
JP
Japan
Prior art keywords
index register
lookup table
memory
value
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003566649A
Other languages
English (en)
Other versions
JP3947163B2 (ja
Inventor
ヨゼフ・ステイン
ハイム・プリモ
Original Assignee
アナログ デバイシーズ インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アナログ デバイシーズ インク filed Critical アナログ デバイシーズ インク
Publication of JP2005517233A publication Critical patent/JP2005517233A/ja
Application granted granted Critical
Publication of JP3947163B2 publication Critical patent/JP3947163B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Communication Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Magnetic Ceramics (AREA)
  • Small-Scale Networks (AREA)

Abstract

再構成可能並列ルックアップテーブルシステム(10)が、メモリ(18)と、メモリ上に格納された複数のルックアップテーブルと、ルックアップテーブル内でルックアップすべき値を保持する行インデックスレジスタ(12)と、メモリ内に格納されたルックアップテーブルの開始アドレスを表す値を格納する列インデックスレジスタ(14)と、列インデックスレジスタ(14)および行インデックスレジスタ(12)に応答し、行インデックスレジスタ(12)中の各値についてアドレスを同時に生成し、各ルックアップテーブル内のそうした値の関数の位置を並列に突き止めるアドレス変換回路(16)とを含む。

Description

本発明は、再構成可能な並列ルックアップテーブルシステムに関する。
本願は、Stein等の8 WAY PARALLEL LOOK-UP TABLEという名称の2002年2月7日に郵送された米国仮出願の優先権を主張するものである。
現行の第2世代(2G)携帯情報端末(PDA)や新しい(3G)モバイルワイヤレスハンドセット/端末などの現在の通信応用例は、MPEG-4ストリーミングビデオプロトコルを求めている。最新世代のビデオ圧縮/解凍規格は、中速データ通信リンクを備える装置を主に対象としている。どちらの技術でもルックアップテーブルが大量に使用される。例えば、通信において、前方誤り訂正(リードソロモン)は通常256個のガロア域ルックアップテーブルを使用し、(DES/3DES、AES)のようなデータ暗号化アルゴリズムは、選択ボックス(S-Box)のために8個の64バイトルックアップテーブルを使用する。ビデオストリーミングでは、JPEG、MPEG-2、MPEG-4、Windows(登録商標) Mediaなどのプロトコルは、可変長コーディング(VLC)のためにハフマンルックアップテーブルを使用する。従来型のDSPおよびコントローラは、こうしたテーブルに順次アクセスし、その結果として応答時間が低速になる。
通常、特定の作業のためにこうしたテーブルを設計すると、こうしたテーブルは、他の用途に適合できない。その結果、順次アクセス可能ルックアップテーブルにより、通信およびイメージ処理応用例の動作速度が制限される。
したがって本発明の目的は、改良型の再構成可能並列ルックアップテーブルシステムを提供することである。
本発明の別の目的は、いくつかのルックアップテーブルに同時にアクセスすることができる改良型の再構成可能並列ルックアップテーブルシステムを提供することである。
本発明の別の目的は、様々な数および様々なサイズのルックアップテーブルにアクセスするように容易に再構成可能な改良型の再構成可能並列ルックアップテーブルシステムを提供することである。
本発明の別の目的は、より高速かつ柔軟な改良型の再構成可能並列ルックアップテーブルシステムを提供することである。
本発明は、ルックアップすべき値をルックアップテーブルの開始アドレスを表す値と組み合わせ、各値をアドレスに同時に変換し、各ルックアップテーブル内のそうした値の関数の位置を並列に突き止めることによってメモリ内のいくつかのルックアップテーブルに同時にアクセスできるようにすることにより、真により高速かつ柔軟なルックアップテーブルシステムを達成できることの結果として得られる。
本発明は、メモリと、メモリ上に格納された複数のルックアップテーブルとを含む再構成可能並列ルックアップテーブルシステムを特徴とする。行インデックスレジスタが、ルックアップテーブル内でルックアップすべき値を保持し、列インデックスレジスタが、メモリ内に格納された各ルックアップテーブルの開始アドレスを表す値を格納する。アドレス変換回路が、列インデックスレジスタおよび行インデックスレジスタに応答し、行インデックスレジスタ中の各値についてアドレスを同時に生成し、各ルックアップテーブル内のそうした値の関数の位置を並列に突き止める。
好ましい実施形態では、アドレス変換回路は、開始アドレスを表す値に各列の長さを掛ける乗算器回路と、行インデックスレジスタの値を乗算器回路の出力と組み合わせる加算器回路とを含むことができる。アドレス変換回路は、行インデックスレジスタからの値を、行インデックスレジスタ内の値に対してNビットだけMSBに向けてシフトした列インデックスレジスタ内の値と組み合わせるOR回路を含むことができる。ルックアップテーブルはすべて同一サイズでよい。
以下の好ましい実施形態の説明および添付の図面から、その他の目的、特徴、および利点が当業者には思い浮かぶであろう。
図1に、本発明による再構成可能並列ルックアップテーブルシステム10を示す。再構成可能並列ルックアップテーブルシステム10は、行インデックスレジスタR2、12、列インデックスレジスタR1、14、アドレス変換回路16、およびいくつかのルックアップテーブルを含むメモリ18を含む。メモリ18から出力は、出力レジスタ20に送達される。メモリ18は、いくつかのルックアップテーブルを含み、行インデックスレジスタ12は、そうしたルックアップテーブル内でルックアップすべき値を保持する。例えば、行インデックスレジスタ12は、メモリ18のルックアップテーブル内でルックアップすべき角度を保持することができ、ルックアップテーブルのそれぞれは、異なる関数、すなわちそうした角度についての正弦値、余弦値、正接値などのうち1つを有する。列インデックスレジスタ14は、メモリに格納された各ルックアップテーブルの開始アドレスを表す値を格納する。例えば、メモリ18が、それぞれ64バイトの8個のルックアップテーブルを保持する場合、列30、32、34、36、38、40、42、44と一致する、こうしたルックアップテーブルに関する開始点は、0、64、128、192、256、320、384、および448となる。アドレス変換回路16は、行インデックスレジスタ12内の値を、各ルックアップテーブルの開始アドレスの表現と組み合わせ、インデックスレジスタ内の各値についてのアドレスを同時に生成し、各ルックアップテーブル内のそうした値の関数の位置を並列に突き止める。
メモリは通常、製造上の都合で図3に示すように線形に作成される。したがって、各バイトが8ビットを含む512バイトの記憶容量を有するメモリは、図2のメモリ18aで示すように構築される。図2のメモリ18aには、次々に並べられ、バイト0-63、64-127、128-191、192-255、256-319、320-383、384-447、448-511の各列を含む8個の列30-44がある。列30-44のそれぞれの長さが等しいと仮定すると、メモリ18aは、図3のメモリ18bのように想定される可能性がより高い。図3のメモリ18bでは、各列30-44が並べられ、0-63まで番号を付けた64個の行46に及ぶと想定される。次いで、アドレス指定すべきエリアが第5列の第4行、すなわち影を付けたエリア48にあると想定すると、このエリアは、図2に示す0-511の行中の324番目の行であることがわかる。この特定の位置48をアドレス指定するために、図3のメモリルックアップテーブルでは、図4の列インデックスレジスタ14a内の列番号5に、図4の乗算器50でテーブルの長さ(64)を掛け、320という数を生成することができる。この320という数を、第4行に対応するインデックスレジスタ12aに加えた場合、加算器52の出力は324となり、これはまさに、図3の行4列5と示され、図2のアドレス324としても直接的に示される位置48のアドレスである。同じ概念を、図5に示すように、デジタル式にずっと効率的かつ単純に達成することができる。図5では、行インデックスレジスタ12bおよび列インデックスレジスタ14bを8個のステージレジスタとして示し、各ステージは、それぞれ8ビットの1バイトを表す。第1ステージ60には前と同様に4という数が常駐するが、レジスタ14bの第1ステージ62には40という数が常駐する。この数には、3ビットのハードワイヤードシフトのために8が掛けられ、前述と同様に320という数が得られるからである。より具体的には、図6のステージ60の拡大図に、2進数で4を表す第3ビット位置に「1」を有する8ビット構造を示す。8ビットの第4ビット位置および第6ビット位置に「1」を有するレジスタ14bのステージ62を示す。66の「1」ビットは8を表し、68の「1」ビットは32を表し、合計で40を表す。しかし、図6に図示す
るように、レジスタ14bのステージ62からの8ビットは、レジスタ12bからのステージ60の8ビットに対して左に3ビットシフトされている。これにより、実質上ステージ62内の値に8が掛けられる。次いでこの2つを組み合わせたとき(通常は論理和を取ったとき)、その結果は第3ビット72、第7ビット74、および第9ビット76に1が存在する9ビットアドレス70であり、9ビットアドレス70は265+64+4=324を表し、これは、図2および3に関連して先に説明したように適切なアドレスである。
512から1024または2048個のメモリ位置を超えるシステムを採用することが望ましい場合、使用可能な2つの追加のビット78、80がそれぞれ存在する。8バイトレジスタを使用しており、かつ8バイトサイズ内を並べ換えることは望ましくないので、乗数8を得るように3ビットのシフトが選ばれる。本発明の構造の結果として、容易に再構成可能なシステムが得られる。単に所望の開始点を選び、それを8で割り、その数をステージ62に格納することによって任意の特定のルックアップテーブルの開始点を確立することができ、レジスタ12b内の他の各ステージが、ルックアップテーブルの開始アドレスを表す同一の値または異なる値を有することができ、その結果ルックアップテーブルのすべてを同一サイズにすることができ、またはすべて異なるサイズにすることができるからである。例えば図7に示すように、8バイト長の64個のルックアップテーブルを有するメモリ18c、64バイト長の8個のルックアップテーブルを有するメモリ18d、またはメモリ18eで示すように、512バイト長の1つのルックアップテーブルを有することができる。
本発明の一実施形態では、図8の再構成可能並列ルックアップシステム10fが、図6に関連して先に説明したような8ステージをそれぞれ有する行インデックスレジスタ12fおよび列インデックスレジスタ14fと、図3に示したような64バイトの8個の列を含むメモリ18fとを含む。図8では、アドレス変換回路16fが、いくつかのOR回路を含む。1つのOR回路は、各レジスタ12fおよび14fからのステージの各対と関連付けられる。したがって8個のOR回路が存在するが、図が見やすいようにそのうちの3つ90、92と94だけを示す。動作の際に、OR回路90は、8ビットステージ60fからの8個の入力のうち5つを受け取り、ステージ60からの残りの最下位ビットは、メモリアドレスバス96に直接送達される。ORゲート90への他の入力は、レジスタ14fの第1ステージ62fからの6ビットである。これらが、図6に関連して説明したように組み合わされ、その結果、ステージ60fからの5ビットと、シフトしたステージ62fからの6ビットとの論理和が取られ、6ビット出力が生成され、次いで6ビット出力が、ステージ60fからの3つの最下位ビットと組み合わされ、アドレスバス96上で9ビットアドレスが得られる。OR回路92および94、ならびに図が見やすいように省略した他のOR回路は同様に動作し、メモリ18f内の位置をアドレス指定する。
図9のOR回路90で例示される各OR回路は、5個のORゲート100、102、104、106、および108を含む。ステージ62内のビットがステージ60f内のビットに対して3個分だけシフトされて、各ゲートは、ステージ60fの3、4、5、6、および7番目の位置からのビットを、ステージ62fの位置0、1、2、3、4からのビットとそれぞれ組み合わせる。ステージ60fの最初の3つのビット0、1、2は、ORゲートを介さずに直接送達され、出力110で9ビットアドレス0-8が得られる。ステージ62f内の位置5からの最上位ビットも、どんなORゲートも介さずに直接供給される。
64バイトの長さをそれぞれ有する8つのルックアップテーブル120、122、124、126、128、130、132、および134を有する再構成可能並列ルックアップテーブルシステム10gでは、レジスタ14gが、そのステージ62g1から62g8内に、ルックアップすべき値0、8、16、24、32、40、48、および56をそれぞれ格納する。したがって、こうした値のそれぞれに3ビットシフトによって因子8が掛けられたとき、各ルックアップテーブルの開始点は、前述のようにそれぞれ0、64、128、192、256、320、384、および448となる。ルックアップテーブル内でルックアップすべき値がステージ60g1-60g8のそれぞれに格納されるが、各列またはルックアップテーブル内に64個の行アドレスしか存在しないので、こうした値は、単に6ビットに格納することができる。レジスタ14gおよび12gのステージ内の2つの値の組合せは、OR回路150、152、154、156、158、160、162、および164で実施されるシフトおよび加算によって前述と同様に実施される。
図11に示すさらに別の例では、本発明による再構成可能並列ルックアップテーブルシステム10hを、ステージ62h1-62h4のそれぞれに値32を配置し、残りのステージ62h5-52h8にゼロを配置することにより、それぞれ256バイトの2つのルックアップテーブルを提供するように構成することができる。最初の4ステージに32を配置することにより、最初の4つの値が、256で始まり511まで行くルックアップテーブルを使用することになり、他の4つの値が、0で始まり255まで行くルックアップテーブルを使用することになる。ここでは、行インデックスレジスタ12hのステージ内の値は、行の数が256であるので、8ビット形式で表現される。
これまでの例では8ビット構造を使用したが、これは本発明の必要な制限ではない。例えば、行インデックスの2つの隣接するステージ内の値を反復し、ルックアップテーブルの長さに従って列インデックスレジスタ内の値を8ビットの基本バイトサイズの因子として調節することにより、16ビット、32ビット等のワードをアドレス指定およびルックアップすることができる。例えば、それぞれ256バイトの2つのルックアップテーブルを有するメモリでは、ステージ62h1-62h8に交互に値0および32をロードすることができ、ステージ60h1-60h8には、60h1と60h2が同一の値を有し、60h3と60h4が同一の値を有し、以下同様となるように、同様の対としてロードすることができ、その結果、16ビットワードを、0から開始して255まで行くテーブルを使用して最下位バイト(LSB)でアドレス指定およびルックアップすることができ、256から始まり511まで行くテーブルを使用して最上位バイト(MSB)でアドレス指定およびルックアップすることができる。本発明を行-列の点から論じたが、本発明を列-行あるいはその他の順序の配列で実装することもできる。
本発明の特定の機能をいくつかの図面で示し、他の図面では示さなかったが、便宜上そうしたに過ぎない。本発明によれば各機能を他の機能のいずれかまたはすべてと組み合わせることができるからである。本明細書で使用した「含む」、「備える」、および「有する」という語は、広く包括的に解釈すべきであり、何らかの物理的相互接続に限定されない。さらに、本願で開示される任意の実施形態を唯一の可能な実施形態とみなすべきではない。
他の実施形態が当業者には思い浮かぶであろう。そうした実施形態は添付の特許請求の範囲内にある。
本発明による再構成可能並列ルックアップテーブルシステムの概略ブロック図である。 典型的線形メモリ構造の略図である。 並列ルックアップテーブル構成として構成された図2の列を示す略図である。 行インデックスレジスタ値と列インデックスレジスタ値を組み合わせて、ルックアップテーブル内の値関数の位置を突き止めるアドレスを得る一手法を示す単純化した略図である。 図4に記載のアドレス生成を実施する、本発明による行インデックスレジスタおよび列インデックスレジスタの略図である。 実施された最後のアドレス生成を示す、図5のレジスタの各ステージ内の情報の8ビットのシフトおよび組合せを示すグラフ図である。 本発明で達成することができるルックアップテーブルのいくつかの異なる構成のサンプルを示す図である。 本発明による再構成可能並列ルックアップテーブルの一実施形態の略図である。 図8のOR回路のうちの1つのより詳細な略図である。 本発明に従って実施することができる並列ルックアップテーブルの2つの異なる構成を示す略図である。 本発明に従って実施することができる並列ルックアップテーブルの2つの異なる構成を示す略図である。
符号の説明
10 再構成可能並列ルックアップテーブルシステム
10f 再構成可能並列ルックアップシステム
10g 再構成可能並列ルックアップテーブルシステム
10h 再構成可能並列ルックアップテーブルシステム
12 行インデックスレジスタ
12a インデックスレジスタ
12f 行インデックスレジスタ
14 列インデックスレジスタ
14a 列インデックスレジスタ
14f 列インデックスレジスタ
14g レジスタ
16 アドレス変換回路
16f アドレス変換回路
18 メモリ
18a メモリ
18b メモリ
18c メモリ
18d メモリ
18e メモリ
18f メモリ
20 出力レジスタ
52 加算器
60 ステージ
60f ステージ
60g1-60g8 ステージ
62f ステージ
62g1-62g8 ステージ
62h1-62h8 ステージ
90 OR回路
92 OR回路
94 OR回路
96 メモリアドレスバス
100 ORゲート
102 ORゲート
104 ORゲート
106 ORゲート
108 ORゲート
110 出力
120 ルックアップテーブル
122 ルックアップテーブル
124 ルックアップテーブル
126 ルックアップテーブル
128 ルックアップテーブル
130 ルックアップテーブル
132 ルックアップテーブル
134 ルックアップテーブル

Claims (4)

  1. メモリと、
    前記メモリに格納された複数のルックアップテーブルと、
    前記ルックアップテーブル内をルックアップすべき値を保持する行インデックスレジスタと、
    前記メモリ内に格納された前記各ルックアップテーブルの開始アドレスを表す値を格納する列インデックスレジスタと、
    前記列インデックスレジスタおよび前記行インデックスレジスタに応答し、前記行インデックスレジスタ中の各値についてアドレスを同時に生成し、各ルックアップテーブル内のそうした値の関数の位置を並列に突き止めるアドレス変換回路とを備える再構成可能並列ルックアップテーブルシステム。
  2. 前記アドレス変換回路が、開始アドレスを表す値に各列の長さを掛ける乗算器回路と、前記行インデックスレジスタ内の値を前記乗算器回路の出力と組み合わせる加算器回路とを含む請求項1に記載の再構成可能並列ルックアップテーブルシステム。
  3. 前記アドレス変換回路が、前記行インデックスレジスタ内の前記値を、前記行インデックスレジスタ内の値に対してNビットだけMSBに向けてシフトした前記列インデックスレジスタ内の前記値と組み合わせるOR回路を含む請求項1に記載の再構成可能並列ルックアップテーブルシステム。
  4. 前記ルックアップテーブルがすべて同一サイズである請求項1に記載の再構成可能並列ルックアップテーブルシステム。

JP2003566649A 2002-02-07 2002-11-27 再構成可能な並列ルックアップテーブルシステム Expired - Fee Related JP3947163B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US35533702P 2002-02-07 2002-02-07
US10/131,007 US6829694B2 (en) 2002-02-07 2002-04-24 Reconfigurable parallel look up table system
PCT/US2002/038261 WO2003067364A2 (en) 2002-02-07 2002-11-27 Reconfigurable parallel look up table system

Publications (2)

Publication Number Publication Date
JP2005517233A true JP2005517233A (ja) 2005-06-09
JP3947163B2 JP3947163B2 (ja) 2007-07-18

Family

ID=27668039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003566649A Expired - Fee Related JP3947163B2 (ja) 2002-02-07 2002-11-27 再構成可能な並列ルックアップテーブルシステム

Country Status (8)

Country Link
US (1) US6829694B2 (ja)
EP (1) EP1472604B8 (ja)
JP (1) JP3947163B2 (ja)
CN (1) CN100545818C (ja)
AT (1) ATE426203T1 (ja)
AU (1) AU2002346595A1 (ja)
DE (1) DE60231658D1 (ja)
WO (1) WO2003067364A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009514097A (ja) * 2005-10-26 2009-04-02 アナログ デバイシーズ インク 改善されたパイプライン化デジタル信号プロセッサ
JP2009514096A (ja) * 2005-10-26 2009-04-02 アナログ デバイシーズ インク 参照テーブルアドレス指定システム及び方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766345B2 (en) 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
US7269615B2 (en) * 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7082452B2 (en) * 2001-11-30 2006-07-25 Analog Devices, Inc. Galois field multiply/multiply-add/multiply accumulate
US7177891B2 (en) * 2002-10-09 2007-02-13 Analog Devices, Inc. Compact Galois field multiplier engine
US7895253B2 (en) 2001-11-30 2011-02-22 Analog Devices, Inc. Compound Galois field engine and Galois field divider and square root engine and method
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
US6865661B2 (en) * 2002-01-21 2005-03-08 Analog Devices, Inc. Reconfigurable single instruction multiple data array
US6941446B2 (en) * 2002-01-21 2005-09-06 Analog Devices, Inc. Single instruction multiple data array cell
US7000090B2 (en) * 2002-01-21 2006-02-14 Analog Devices, Inc. Center focused single instruction multiple data (SIMD) array system
US7421076B2 (en) * 2003-09-17 2008-09-02 Analog Devices, Inc. Advanced encryption standard (AES) engine with real time S-box generation
US7512647B2 (en) * 2004-11-22 2009-03-31 Analog Devices, Inc. Condensed Galois field computing system
US7728744B2 (en) * 2005-10-26 2010-06-01 Analog Devices, Inc. Variable length decoder system and method
US7478119B2 (en) * 2006-07-03 2009-01-13 Sun Microsystems, Inc. System and method for transposing memory patterns within the physical memory space
US8301990B2 (en) * 2007-09-27 2012-10-30 Analog Devices, Inc. Programmable compute unit with internal register and bit FIFO for executing Viterbi code
DE102007051345A1 (de) * 2007-10-26 2009-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Explosivstoffladung
US8384722B1 (en) 2008-12-17 2013-02-26 Matrox Graphics, Inc. Apparatus, system and method for processing image data using look up tables
US20110052059A1 (en) * 2009-08-27 2011-03-03 Canon Kabushiki Kaisha Generating image histogram by parallel processing
US20120201373A1 (en) * 2011-02-03 2012-08-09 Futurewei Technologies, Inc. Design of a Good General-Purpose Hash Function with Limited Resources
US9141131B2 (en) * 2011-08-26 2015-09-22 Cognitive Electronics, Inc. Methods and systems for performing exponentiation in a parallel processing environment
US10936570B2 (en) 2017-12-22 2021-03-02 Teradata Us, Inc. Online and dynamic table reconfiguration

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1181461B (de) 1963-10-08 1964-11-12 Telefunken Patent Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
JP2614916B2 (ja) * 1988-04-27 1997-05-28 日本電気株式会社 記憶アクセス制御装置
US5062057A (en) * 1988-12-09 1991-10-29 E-Machines Incorporated Computer display controller with reconfigurable frame buffer memory
US5386523A (en) 1992-01-10 1995-01-31 Digital Equipment Corporation Addressing scheme for accessing a portion of a large memory space
KR0135846B1 (ko) 1994-02-02 1998-06-15 김광호 룩-업-테이블장치
US5832290A (en) 1994-06-13 1998-11-03 Hewlett-Packard Co. Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
US5839072A (en) * 1996-03-26 1998-11-17 Ericsson Inc. Routing an incoming call to a ported mobile station within a telecommunications network
US5996066A (en) 1996-10-10 1999-11-30 Sun Microsystems, Inc. Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions
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
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
US6446198B1 (en) * 1999-09-30 2002-09-03 Apple Computer, Inc. Vectorized table lookup
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
DE60228083D1 (de) * 2001-05-16 2008-09-18 Nxp Bv Rekonfigurierbare logik-vorrichtung
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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009514097A (ja) * 2005-10-26 2009-04-02 アナログ デバイシーズ インク 改善されたパイプライン化デジタル信号プロセッサ
JP2009514096A (ja) * 2005-10-26 2009-04-02 アナログ デバイシーズ インク 参照テーブルアドレス指定システム及び方法
JP2014038640A (ja) * 2005-10-26 2014-02-27 Analog Devices Inc 改善されたパイプライン化デジタル信号プロセッサ

Also Published As

Publication number Publication date
WO2003067364A2 (en) 2003-08-14
JP3947163B2 (ja) 2007-07-18
ATE426203T1 (de) 2009-04-15
US6829694B2 (en) 2004-12-07
EP1472604A4 (en) 2008-03-26
CN100545818C (zh) 2009-09-30
AU2002346595A8 (en) 2003-09-02
CN1623141A (zh) 2005-06-01
EP1472604B8 (en) 2009-11-25
WO2003067364A3 (en) 2003-10-02
EP1472604B1 (en) 2009-03-18
EP1472604A2 (en) 2004-11-03
DE60231658D1 (de) 2009-04-30
US20030149857A1 (en) 2003-08-07
AU2002346595A1 (en) 2003-09-02

Similar Documents

Publication Publication Date Title
JP3947163B2 (ja) 再構成可能な並列ルックアップテーブルシステム
JP5478068B2 (ja) 改善されたパイプライン化デジタル信号プロセッサ
US20100272227A1 (en) Electronic device, barrel shifter unit and method of barrel shifting
US7650322B2 (en) Method and apparatus for mapping the primary operational sequences of an algorithm in a compute unit having an internal random access memory
GB2537371B (en) Modulo calculation using polynomials
CN111563281B (zh) 一种支持多种加解密算法的处理器及其实现方法
US11543977B2 (en) Semiconductor device and semiconductor storage device
US6844834B2 (en) Processor, encoder, decoder, and electronic apparatus
US10320412B2 (en) Memory compression operable for non-contiguous write/read addresses
US6313767B1 (en) Decoding apparatus and method
JP2009171347A (ja) 演算ユニット、エラー訂正復号回路及び誤り位置多項式の演算方法
JP2003296302A (ja) 行列演算処理装置
JPS6114540B2 (ja)
US6609142B1 (en) Method of performing multiplication with accumulation in a Galois body
JP2007174312A (ja) 符号化回路およびデジタル信号処理回路
JP6219631B2 (ja) 論理演算装置
CN112955878A (zh) 实施神经网络的激活逻辑的装置及其方法
US9760110B2 (en) Lookup table sharing for memory-based computing
KR100866929B1 (ko) 컨벌루셔널 터보 코드에서 사용되는 인터리버의 인터리브드 주소 발생기, 그 방법 및 씨티씨에서 사용되는 인터리버
KR20090025671A (ko) 선형 부호 생성 장치 및 방법
JP2017174478A (ja) 半導体装置、検索システムおよび検索方法
KR20020082699A (ko) 리드-솔로몬 부호화 및 복호화를 위한 프로그래머블프로세서의 유한체 연산기 회로 및 연산방법
JPH0326579B2 (ja)
KR20080051537A (ko) 역믹스컬럼블록 장치 및 이를 이용한 곱셈연산방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061025

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100420

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140420

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees