JP2008542910A - バイトアドレシング可能メモリの抽出されたインデックスアドレシング - Google Patents

バイトアドレシング可能メモリの抽出されたインデックスアドレシング Download PDF

Info

Publication number
JP2008542910A
JP2008542910A JP2008514648A JP2008514648A JP2008542910A JP 2008542910 A JP2008542910 A JP 2008542910A JP 2008514648 A JP2008514648 A JP 2008514648A JP 2008514648 A JP2008514648 A JP 2008514648A JP 2008542910 A JP2008542910 A JP 2008542910A
Authority
JP
Japan
Prior art keywords
register
byte
word
multiplexer
bytes
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.)
Abandoned
Application number
JP2008514648A
Other languages
English (en)
Inventor
ペダーセン,ロニー
レエノ,エリク・カー
エストロム,ウービンデ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atmel Corp
Original Assignee
Atmel Corp
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 Atmel Corp filed Critical Atmel Corp
Publication of JP2008542910A publication Critical patent/JP2008542910A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/355Indexed addressing
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

バイトアドレシング可能なメモリのインデックス付けされたアドレシングにとって有用なマイクロプロセッサ回路は、命令によって指定される、ワード長のインデックスレジスタ、ベースアドレスレジスタ、および目的レジスタ(Ri、Rb、Rd)を含む。その命令は、さらに、インデックスレジスタ(Ri)内においてパックされ、抽出されるべき1つのバイト(t、u、l、b)を特定する。マルチプレクサ(15)は、インデックスレジスタのすべてのバイトにアクセスするワード幅の入力端を有し、バイト選択制御(<PART>)に応答して、指定されたバイトを自身の出力(17)に渡す。この抽出されたバイトは、ゼロ拡張されたアドレスオフセットワード(19)の特定のビット位置で、直接提供される。オフセットワードは、ベースアドレスへ加えられ(25)、その合計(ADDR)は、目的レジスタ(Rd)へロードされる記憶内容(27)をアドレシングするよう用いられる。

Description

技術分野
この発明は、一般的に、ロードストア(RISCマシン)アーキテクチャおよびメモリ指向(CISCマシン)アーキテクチャの両方を含む、マイクロプロセッサのアーキテクチャにおけるメモリアクセスに関する。この発明は、より特定的には、マイクロプロセッサが、メモリ構造に、特にバイトアドレシング可能メモリに、より効率的にアクセスするのを可能にするインデックスアドレシング方式に関する。
背景技術
オペランドの一方がバイト値であり、他方のオペランドが既知の定数である2つのオペランドを含む演算は、しばしば、ルックアップテーブルを用いて、計算実行可能である。なぜならば、256(=28)しかありえないバイト値および対応する結果があるのみであり、そのため、ルックアップテーブルはかなり小さいものとなる。計算上集中的な演算(たとえば、割算、累乗法)では、ルックアップテーブルにアクセスすることのほうが、全部ハードウェアまたはソフトウェアで同じ演算を実行するより、ずっと速くなる傾向がある。もしプロセッサアーキテクチャが、レジスタにインデックス付けされたオフセットを用いてメモリロードをサポートする場合、1つのRISC命令において、ルックアップは簡単に行ない得る。
ワード長(たとえば、32ビット)がバイト長(8ビット)の倍数であるマシン上では、いくつかの(たとえば、4つ)バイトが、1つのワードへとパッキングされ得る。これにより、メモリが制限されているアプリケーションにおいて、潜在的に貴重なメモリ空間を節約する。このバイトパッキング方式は、プロセッサ自身の内蔵レジスタおよびプロセッサがアクセスするメモリの両方に適用し得る。しかしながら、パッキングされたバイトがテーブルルックアップを行なうために用いられる場合、所望のバイトを抽出するには、通常、連続する余分な命令が実行される必要があり、これにより効率性が低減される。
暗号化および復号化演算は、現在のマイクロプロセッサのアプリケーションにおいて、ますます重要になってきている。暗号化および復号化アルゴリズムは、かなり計算上集中的である場合がある。このようなアルゴリズムは、計算能力が制限される携帯可能なアプリケーションまたは組込式のアプリケーションにおいて、頻繁に用いられる。より普及しているブロック暗号アルゴリズムの中には、ブローフィッシュ、トリプルDES、およびRijndaelがある。
これらのアルゴリズムのすべては、現在のマイクロプロセッサ上で実行するには、長い命令シーケンスを必要とする特別なアレイアドレシング演算を用いる。この演算は以下のとおりである。
Figure 2008542910
パッキングされたルックアップテーブルを含む4つのメモリアクセス演算が、ここでは支配的である。これらの演算の各々によって、32ビットのワードにおいて、4つのバイトのうちの1つが抽出され、その抽出されたバイトがゼロ拡張され、次いで、それがベースポインタへ加えられる。このインデックス付け演算の結果が、アクセスされるべきメモリアドレスを生み出す。もしこのアレイアクセスがさらに速く行なわれるならば、暗号化および復号化処理の大幅な高速化が達成され得る。
したがって、これらのアルゴリズムの現在の実施と比べて、暗号化および復号化アプリケーションが、より速く、より大きい電力効率で実行されるように、演算(1)によって示されるメモリアクセスをより効率的にすることが望ましい。
発明の概要
この発明は、命令に応答して、効率的にメモリのアドレシングをし、その結果得られるメモリ位置からレジスタファイルへとデータをロードするためのマイクロプロセッサ回路を記載する。たとえば、単純な「抽出されたインデックスを用いたワードロード」命令によって、この回路に、インデックスレジスタRiから、特定されたバイトを抽出させ、この抽出されたバイトがビット位置[9:2]に位置するゼロ拡張されたワードを作り出させる。これは、抽出されたバイトを、その最も右の位置から、2ビット、左へとシフトする効果に対応する。この組合された抽出演算は、その回路の例示的な実施において、インデックスレジスタのバイトの各々を受取るよう結合され、かつバイト選択値によって制御されるマルチプレクサを用いることにより達成されてもよい。このマルチプレクサの出力からの選択されたバイトは、直接(いかなるシフト演算もなしに)、所望のビット位置で、変位レジスタへ(随意であり、そうでなければ、加算器の入力へ直接)ロードされる。その結果得られたワードは、ベースアドレスレジスタRbの内容に、その後、メモリアドレスを形成するよう加えられるオフセット値を形成する。そのアドレスの記憶内容は、その後、取出され、目標の目的レジスタRdへとロードされる。この命令は、とりわけ、インデックス付けテーブルに有用である。
発明の詳細な説明
図1を参照し、レジスタRi、Rb、およびRdの各々は、(たとえば、32ビットの)ワード長のレジスタである。この発明にとって特に興味があるのは、インデックスレジスタRiからの、特定されたバイトの抽出である。ここに示す例示的な実施例において、インデックスレジスタRiは、先頭バイトt(ビット31から24(含む))、上位バイトu(ビット23から16(含む))、下位バイトl(ビット15から8(含む))、および末尾バイトb(ビット7から0(含む))と名付けられた4つのバイトを含む。インデックスレジスタRiのこれらの部分{t、u、l、b}は、2ビットのバイト数{3、2、1、0}を用いた命令において、識別されてもよい。インデックスレジスタRi、ベースレジスタRb、および目的レジスタRdとして、マイクロプロセッサにおいて指定されるハードウェアレジスタのどれかは、レジスタ数、たとえば、{0、1、…、15}を用いる命令において、別個に識別されてもよい。
命令は、抽出され、ゼロ拡張され、ある数のビット分だけ左へ変位させるべきバイトを、Riから特定してもよい。先行技術のマイクロプロセッサの回路網において、このゼロ拡張されたバイト抽出は、典型的には、抽出および拡張されるべき特定のバイトに依存する量だけ、左および右へと、連続するビットシフトを行うことを含む、異なるステップのシーケンスを用いて行なわれる。たとえば、先頭バイトtを抽出するよう、インデックス
レジスタRiの全ワード長の内容が、一時レジスタへと読込まれ、それから、この一時レジスタにおいて右へ24ビット分シフトされてもよい。上位バイトuを抽出するよう、インデックスレジスタRiの全内容が、一時レジスタへと読込まれ、左へ8ビットシフトされ、次いで右へ24ビットシフトされてもよい。下位バイトlを抽出するよう、インデックスレジスタRiの全内容が、一時レジスタへと読込まれ、左へ16ビットシフトされ、次いで右へ24ビットシフトされてもよい。末尾バイトbを抽出するよう、インデックスレジスタRiの全内容が、一時レジスタへと読込まれ、左に24ビットシフトされ、次いで右へ24ビットシフトされてもよい。一度抽出されると、その結果は再び左へあるビットの量分(たとえば、バイトアドレシング可能メモリへアクセスするためには2ビット分)シフトされ、これによりアドレスオフセットまたは変位を得る。このように、先行技術においては、インデックスレジスタから所望のバイトを抽出し、ロード命令のために、アドレスオフセットまたは変位としてその所望のバイトを使い得る前に、その所望のバイトをワード整列するよう、連続するシフト演算の組を実行する。
この発明において、バイト抽出およびゼロ拡張ユニット13は、1つのステップで、アドレスオフセット値を直接得る。このユニット13は、インデックスレジスタRiから正しいバイトを抽出するマルチプレクサ15を含む。マルチプレクサ15は、インデックスレジスタRiの4つのバイトの場所(t、u、l、およびb)の各々からのバイト幅入力を有する。マルチプレクサ15は、さらに、図1において<part>と名付けられ、マイクロプロセッサの命令デコーダから受取られ、マルチプレクサ15にその所望のバイト(t、u、l、またはb)を選択させ、それを自身のバイト幅の出力17に置く2ビットの選択制御入力を有する。
アドレス変位レジスタ19(随意)は、このマルチプレクサ出力17を受取ってもよく、この選択されたバイトが、このようなレジスタ19のビット位置[9:2]に直接ロードされてもよい。これらの特定のビット位置は、選択されたバイトの2ビットの変位を自動的に与えるので、バイトアドレシング可能なメモリへアクセスするための正しいアドレスオフセットを得るのに、別個の2ビットの左シフト演算は必要ではない。レジスタ19におけるオフセット値のその他すべてのビット位置[31:10]および[1:0]は0を含む。これにより、自動的にゼロ拡張を与える。変位レジスタ19からのワード長出力21は、バイト抽出およびゼロ拡張ユニット13のアドレスオフセット出力を形成する。
代替的には、アドレス変位レジスタ19は、ワード幅オフセット値21の純粋な概念的なものであってもよく、マルチプレクサ17からの選択されたバイト(t、u、l、またはb)は、直接、加算器25へ、1つの加算器入力の所望のビット位置[9:2]で入力されてもよい。この加算器入力のその他のビット位置[31:10]および[1:0]は、0をロードされ、これにより、ゼロ拡張されたオフセットワード21が加算器25へ与えられる。いずれにせよ、シフト演算のシーケンスを用いる必要なく、オフセットワードには、特定のビット位置(ここでは、[9:2])で、選択されたバイトが備わっている。
このオフセット値21は、ベースアドレスレジスタRbから得られたベースアドレス23に加えられる。加算器25からの出力は、メモリ27からアクセスされるべきメモリアドレスを形成する。そのアドレスにおける内容は、メモリ27から取出され、目的レジスタRdに置かれる。これにより、抽出されたインデックスメモリアクセス演算が終わる、すなわち、
Figure 2008542910
レジスタにインデックス付けされたオフセットを用いてメモリロードをサポートするためのこの回路網は、頻繁なバイトサイズのテーブルのルックアップを必要とすると考えられるマイクロプロセッサ、たとえば、ブロック暗号アルゴリズムを実施するために特別に適合されたプロセッサにおいて、特に有用である。このようなアルゴリズムは、典型的には、各ラウンドが、並び替え、置換、ラウンドキーとの組合せがある、ある特定のシーケンスを含むような場合、連なるラウンドにおいて、テキストメッセージに作用する。このような暗号演算のいくつかは、ルックアップテーブルを用いると最もよく実施される。この発明によってサポートされる、抽出されたインデックスメモリアクセスは、バイトパッキングされたメモリ構造において、これらテーブルルックアップを効率的に実行することを可能とし、貴重な時間およびメモリ空間の両方を節約する。
この発明は、例示的な実施例に関して記載されたが、当業者は、この発明の範囲内に同様にある、他の関連する実現例を認識するであろう。たとえば、ここで記載した例示的な32ビット(すなわち、4バイト)のワード以外のワードサイズが用いられてもよい。バイトアドレシングされたメモリに対応するために、上述した例において、[9:2]として与えられた、選択されたバイトがロードされるビット位置は、2とは異なる変位値に対応するよう変更され得る。シフトのマルチステップのシーケンスが避けられるならば、マルチプレクサ以外の選択手段が、実施されてもよい。
レジスタ、加算器、およびその他のブロックと結合されるバイト抽出およびゼロ拡張ユニットを含む、この発明を実施するための例示的なマイクロプロセッサ回路網(およびアクセスされたメモリ)のブロック図である。

Claims (11)

  1. 命令に応答して、インデックス付けされたアドレシングを用いてメモリにアクセスするためのマイクロプロセッサにおける回路であって、
    インデックスレジスタ、ベースアドレスレジスタ、目的レジスタとして特定されるものを含む、ワード長のレジスタの組を含み、インデックスレジスタは、別個に抽出されるパッキングされたバイトを含むよう構成され、前記回路はさらに、
    インデックスレジスタに結合され、インデックスレジスタ内においてパッキングされたバイトの各々にアクセスするようにされるワード長の入力端と、バイト長の出力端と、バイト選択情報を受取るための制御入力とを有するマルチプレクサを含み、マルチプレクサは、自身の入力端において受取られたバイトのうちの選択されたものを抽出し、その選択されたバイトのみを自身の出力端へと渡すようにされ、前記回路はさらに、
    ベースアドレスレジスタからワード長の内容を受取り、さらに、選択されたバイトを含むオフセットワードを、マルチプレクサの出力端から、オフセットワードの特定のビット位置で、受取るよう結合される加算器を含み、加算器は、アクセスされるべきメモリアドレスとして、受取った内容の出力合計を供給するようにされ、前記メモリアドレスにおけるアクセスされた記憶内容は、目的レジスタへとロード可能である、回路。
  2. ワード長は、4バイト長であり、マルチプレクサの制御入力は、抽出されるべき、4つのバイトのうちの1つを特定する2ビットの入力である、請求項1に記載の回路。
  3. マルチプレクサの出力端からの選択されたバイトを含む、オフセットワードの特定のビット位置は、バイトアドレシング可能なメモリにアクセスするのに適した、2ビット左にシフトされたオフセットに対応するビット位置[9:2]である、請求項1に記載の回路。
  4. マルチプレクサのバイト長の出力端に結合され、選択されたバイトを、自身の特定のビットの場所で、ロードするようにされるワード長の変位レジスタをさらに含み、変位レジスタからの内容の出力は、加算器へ提供されるオフセットワードを形成する、請求項1に記載の回路。
  5. 変位レジスタは、選択されたバイトをロードするようにされる特定のビット位置以外のすべてのビットの場所に、0を格納するようにされる、請求項4に記載の回路。
  6. 加算器は、インデックス付けされたアドレシング専用の別個の構成要素ではなく、マイクロプロセッサにおける中央処理装置の構成要素である、請求項1に記載の回路。
  7. インデックス付けされたアドレシングを用いてメモリへアクセスするよう、命令に応答して、マイクロプロセッサによって実行される方法であって、
    あるワード長のレジスタを、インデックスレジスタ、ベースアドレスレジスタ、および目的レジスタとして特定し、インデックスレジスタ内においてパッキングされ、抽出されるべきバイトを特定するステップと、
    特定されたバイトを、マルチプレクサを用いて、インデックスレジスタから抽出し、オフセットワードの特定のビット位置として、特定されたバイトを提供するステップと、
    アクセスされるべきメモリアドレスとしての合計を得るよう、ベースアドレスレジスタからのワード長の内容に、オフセットワードを加えるステップと、
    前記メモリアドレスにおける記憶内容にアクセスし、アクセスされた記憶内容を目的レジスタへとロードするステップとを含む、方法。
  8. ワード長は4バイト長であり、マルチプレクサは、インデックスレジスタ内においてパ
    ッキングされる4つのバイトのうちのどれがマルチプレクサによって抽出されるのかを特定する2ビットの制御入力である、請求項7に記載の方法。
  9. 特定されたバイトを含む、オフセットワードの特定のビット位置は、ビット位置[9:2]であり、バイトアドレシング可能なメモリにアクセスするのに適した、2ビット左にシフトされたオフセットに対応する、請求項7に記載の方法。
  10. オフセットワードは、特定されたバイトを含む特定のビット位置以外のすべてのビット位置において、0を含む、請求項7に記載の方法。
  11. インデックスレジスタ、ベースアドレスレジスタ、および目的レジスタ、ならびにインデックスレジスタの特定されたバイトは、すべて、マイクロプロセッサが応答する抽出されたインデックス命令を用いたワードロードによって特定される、請求項7に記載の方法。
JP2008514648A 2005-05-31 2006-04-27 バイトアドレシング可能メモリの抽出されたインデックスアドレシング Abandoned JP2008542910A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/140,750 US7243210B2 (en) 2005-05-31 2005-05-31 Extracted-index addressing of byte-addressable memories
PCT/US2006/016162 WO2006130285A1 (en) 2005-05-31 2006-04-27 Extracted-index addressing of byte-addressable memories

Publications (1)

Publication Number Publication Date
JP2008542910A true JP2008542910A (ja) 2008-11-27

Family

ID=37464821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008514648A Abandoned JP2008542910A (ja) 2005-05-31 2006-04-27 バイトアドレシング可能メモリの抽出されたインデックスアドレシング

Country Status (7)

Country Link
US (1) US7243210B2 (ja)
EP (1) EP1891532A4 (ja)
JP (1) JP2008542910A (ja)
KR (1) KR20080017413A (ja)
CN (1) CN101189585A (ja)
TW (1) TW200710719A (ja)
WO (1) WO2006130285A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009514096A (ja) * 2005-10-26 2009-04-02 アナログ デバイシーズ インク 参照テーブルアドレス指定システム及び方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
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
US10802990B2 (en) * 2008-10-06 2020-10-13 International Business Machines Corporation Hardware based mandatory access control
CN102263562B (zh) * 2010-05-28 2014-02-05 安凯(广州)微电子技术有限公司 一种码流数据的读取移除方法和装置
WO2013054468A1 (ja) * 2011-10-14 2013-04-18 パナソニック株式会社 転置演算装置とその集積回路、および転置処理方法
US10013258B2 (en) * 2014-09-29 2018-07-03 International Business Machines Corporation Single instruction array index computation
US20170185402A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Instructions and logic for bit field address and insertion
CN105892993B (zh) * 2016-03-28 2019-02-15 龙芯中科技术有限公司 基于提取插入操作的重组方法、装置及微处理器
CN108268381B (zh) * 2017-12-15 2021-12-24 中国航空工业集团公司西安飞行自动控制研究所 一种安全实现数据快速寻址的方法
CN111209041B (zh) * 2019-12-31 2022-05-17 Oppo广东移动通信有限公司 神经网络处理器、片上系统及电子设备
CN114697402B (zh) * 2020-12-29 2023-07-14 中移物联网有限公司 物联网协议序列化方法、装置及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0382246A3 (en) * 1989-02-09 1991-09-11 Nec Corporation Bit addressing system
CA2045791A1 (en) 1990-06-29 1991-12-30 Richard Lee Sites Branch performance in high speed processor
CA2045705A1 (en) 1990-06-29 1991-12-30 Richard Lee Sites In-register data manipulation in reduced instruction set processor
US5778423A (en) 1990-06-29 1998-07-07 Digital Equipment Corporation Prefetch instruction for improving performance in reduced instruction set processor
CA2045789A1 (en) 1990-06-29 1991-12-30 Richard Lee Sites Granularity hint for translation buffer in high performance processor
CA2045790A1 (en) 1990-06-29 1991-12-30 Richard Lee Sites Branch prediction in high-performance processor
US5193167A (en) 1990-06-29 1993-03-09 Digital Equipment Corporation Ensuring data integrity by locked-load and conditional-store operations in a multiprocessor system
US5509129A (en) 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
JPH1049369A (ja) * 1996-08-07 1998-02-20 Ricoh Co Ltd データ処理装置
US6112293A (en) 1997-11-17 2000-08-29 Advanced Micro Devices, Inc. Processor configured to generate lookahead results from operand collapse unit and for inhibiting receipt/execution of the first instruction based on the lookahead result
US6378060B1 (en) 1998-08-24 2002-04-23 Microunity Systems Engineering, Inc. System to implement a cross-bar switch of a broadband processor
GB2352065B (en) * 1999-07-14 2004-03-03 Element 14 Ltd A memory access system
US8452945B2 (en) * 2002-09-17 2013-05-28 Hewlett-Packard Development Company, L.P. Indirect indexing instructions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009514096A (ja) * 2005-10-26 2009-04-02 アナログ デバイシーズ インク 参照テーブルアドレス指定システム及び方法

Also Published As

Publication number Publication date
EP1891532A1 (en) 2008-02-27
CN101189585A (zh) 2008-05-28
WO2006130285A1 (en) 2006-12-07
WO2006130285A8 (en) 2008-01-24
US7243210B2 (en) 2007-07-10
US20060271763A1 (en) 2006-11-30
KR20080017413A (ko) 2008-02-26
TW200710719A (en) 2007-03-16
EP1891532A4 (en) 2009-03-04

Similar Documents

Publication Publication Date Title
JP2008542910A (ja) バイトアドレシング可能メモリの抽出されたインデックスアドレシング
US20230297383A1 (en) Method for performing random read access to a block of data using parallel lut read instruction in vector processors
USRE40883E1 (en) Methods and apparatus for dynamic instruction controlled reconfigurable register file with extended precision
US6651160B1 (en) Register set extension for compressed instruction set
TWI326841B (en) Method apparatus and system using 3-byte escape opcodes to improve decoding for extended variable - length instructions
JPH11154114A (ja) 複数データ・フェッチのアーキテクチャを使ってテーブル・ルックアップを実行するためのシステムおよび方法
JP4584673B2 (ja) データ処理システム内部のテーブル検索操作
US20200394038A1 (en) Look up table with data element promotion
US11397583B2 (en) Conditional execution specification of instructions using conditional extension slots in the same execute packet in a VLIW processor
EP2223204B1 (en) System and method of determining an address of an element within a table
JP2005174292A (ja) データシフト操作
JP4955149B2 (ja) ビットfifoを有するディジタル信号プロセッサ
CN106610817B (zh) 用于采取vliw处理器中的相同执行数据包中的常数扩展槽指定或扩展常数位数的方法
US20040199562A1 (en) Efficient multiplication sequence for large integer operands wider than the multiplier hardware
US7941651B1 (en) Method and apparatus for combining micro-operations to process immediate data
US7424597B2 (en) Variable reordering (Mux) instructions for parallel table lookups from registers
US8452945B2 (en) Indirect indexing instructions
US9577832B2 (en) Generating a hash using S-box nonlinearizing of a remainder input
US9753725B2 (en) Picoengine having a hash generator with remainder input S-box nonlinearizing
JP5311008B2 (ja) 信号処理プロセッサ及び半導体装置
JP5263497B2 (ja) 信号処理プロセッサ及び半導体装置
US7606997B1 (en) Method and system for using one or more address bits and an instruction to increase an instruction set
JP2005293106A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20090424

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090527

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090605

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090605

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20100427