JP3790626B2 - デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置 - Google Patents
デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置 Download PDFInfo
- Publication number
- JP3790626B2 JP3790626B2 JP12005598A JP12005598A JP3790626B2 JP 3790626 B2 JP3790626 B2 JP 3790626B2 JP 12005598 A JP12005598 A JP 12005598A JP 12005598 A JP12005598 A JP 12005598A JP 3790626 B2 JP3790626 B2 JP 3790626B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- word
- words
- memory
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 7
- 230000009977 dual effect Effects 0.000 title description 3
- 230000004044 response Effects 0.000 claims description 4
- 230000007704 transition Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の属する技術分野】
本発明は一般的にはデータ処理システムに関し、かつより特定的にはデータ処理システム内の命令フェッチおよび発行装置(instruction fetch and issuance apparatus)に関する。
【0002】
【従来の技術】
マイクロコントローラおよびマイクロプロセッサのようなデータ処理システムにおいては、命令は典型的には命令キャッシュまたはリードオンリメモリ(ROM)から一度に1ワードずつフェッチされ、前記命令キャッシュまたはROMは典型的には、プロセッサによって実行可能な最小長さの命令に等しい、命令ワードに等しい幅を有する。単一の命令を実行するのに複数のワードが必要な場合は、プロセッサの実行においてストール(stall)が導入されその間に第2のワードが命令レジスタへとフェッチされる。
【0003】
例えば、図1は従来技術において使用された命令フェッチおよび発行システムを示す。フェッチおよび発行システム100はROMのようなプログラムメモリから受信された単一ワードを保持する命令レジスタ110を含む。フェッチおよび発行装置100は受信した命令をデコードしかつデータ処理システム内の実行ユニットに制御信号を出力する命令デコーダ120を含む。もし、ダブルワード(double−word)またはデュアルワード(dual−word)命令のような、複数ワード命令がプロセッサにより実行されるべきであれば、第1のワードがメモリから読み出されかつ命令レジスタ110にロードされる。処理は次に前記ダブルワード命令の第2のワードがメモリから読み出されかつ命令レジスタ110にロードされる間遅らせられる(stalled)。その後、命令デコーダ120は前記ダブルワード命令をデコードしかつ適切な出力制御信号を該ダブルワード命令を実行する実行ユニットに提供する。理解できるように、プロセッサの速度および効率はダブルワード命令を実行する際にストールが導入されるため低下する。
【0004】
第2の効率の悪さは複数の命令の並列的な実行が試みられる場合に従来技術のフェッチおよび発行装置100の構造によって生じる。理解されるように、並列に実行されるべき第2の命令がメモリから読み出される間に第1の命令は命令レジスタ110にロードされかつ余分のクロックサイクルの間保持されなければならない。その後、2つの命令は並列的にデコードされかつ実行することができる。しかしながら、前述のように、フェッチおよび発行装置100のアーキテクチャは2つの命令を並列に実行するためにその動作において遅延を必要とする。
【0005】
【発明が解決しようとする課題】
この固有の効率の悪さを改善するために、従来技術のデータ処理システムはアドレスされたワードと共に付加的なワードがメモリから読み出されかつ命令レジスタへロードできるようにする。しかしながら、システムが任意選択的に単一ワードまたはダブルワード命令を実行する場合、第2のワードのロードはしばしばむだになりかつその命令は他のクロックサイクルに際してメモリから再びロードされなければならず、それによって不必要にバストラフィックを増大する。さらに、そのようなシステムは単一のアクセスがダブルワード命令の両方のワードを読み出すようにすべてのダブルワード命令がメモリにおいて整列されることを要求する。これは実質的にそのような実行機構の厳格な要求を維持するためにメモリコントローラおよびシステムのハードウエアを複雑にする。
【0006】
従って、理解できるように、単一およびダブルワード命令の両方をフェッチおよび発行することができ、かつさらにシステムの複雑さを実質的に増大することなく、あるいは余分の部品を加えることによりおよび/またはメモリスペースを使用する際にシステムコストを加えることなく、並列プロセッサにおいて同時に実行されるべき2つの単一ワードの命令を発行できるデータ処理システムにおけるフェッチおよび発行装置の必要性が存在する。
【0007】
【課題を解決するための手段】
本発明の一態様では、複数ワード命令を含む命令セットを有するかあるいは複数の命令を並列に発行するデータ処理システムのための命令フェッチおよび発行装置(200)が提供され、該装置は、それぞれ第1のレジスタワード、第2のレジスタワードおよび第3のレジスタワードを含む第1のレジスタ、第2のレジスタおよび第3のレジスタを有する命令レジスタ(240)であって、該命令レジスタはロード信号に応じて前記第1のレジスタ、第2のレジスタおよび第3のレジスタから命令ワードを転送するもの、メモリから第1の命令ワードおよび第2の命令ワードを受けかつ前記命令レジスタから前記第2および第3のレジスタワードを受け、かつ受信したワードの内の選択された1つを第1の制御信号に基づき前記命令レジスタにおける第1のレジスタへと転送する第1のマルチプレクサ(220)、そして前記メモリから前記第1および第2の命令ワードをかつ前記第3のレジスタワードを受信し、かつ該受信したワードの内の選択された1つを第2の制御信号に基づき前記第2のレジスタへと転送する第2のマルチプレクサ(230)、を具備することを特徴とする。
【0008】
上記構成において、さらに、前記第1の制御信号、前記第2の制御信号、および前記ロード信号を提供するコントローラ(210)を具備し、該コントローラは前記第1、第2および第3のレジスタワードの状態に基づきロード信号を提供しかつ前記第1、第2および第3のレジスタワードの次の状態に基づき前記第1および第2の制御信号を提供すると好都合である。
【0009】
また、前記コントローラは前記第1および第2のマルチプレクサによって受信されるべき次の第1および第2の命令ワードが位置するメモリ内のロケーションを計算するための手段を含むよう構成することもできる。
【0010】
本発明の別の態様では、第1、第2および第3のワードを保持する命令レジスタを有するデータ処理システムのそれぞれのクロックサイクルに対して少なくとも1つの命令ワードをフェッチしかつ発行する方法が提供され、前記データ処理システムは単一ワード命令、ダブルワード命令、あるいは複数の単一ワード命令を並列に実行することができ、前記方法は、2つの命令ワードを受信する段階、前記受信した2つの命令ワードおよび前記命令レジスタに保持された3つのワードの内の第2および第3のワードの間から第1のワードを選択する段階、前記受信した2つの命令ワードおよび前記命令レジスタに保持された3つのワードの内の第3のワードの間から第2のワードを選択する段階、前記受信した2つの命令ワードの間から第3のワードを選択する段階、前記選択されたワードを命令レジスタにロードする段階、そして単一のクロックサイクルで、第1の命令の実行に必要とされる命令レジスタに保持された数のワードを発行する段階、を具備することを特徴とする。
【0011】
この場合、前記発行する段階は、同じ単一クロックサイクル内で、第2の命令を実行するために必要な数のワードを発行する段階を含むと好都合である。
【0012】
【発明の実施の形態】
次に図2を参照すると、装置200はROMまたはランダムアクセスメモリのようなメモリ装置から第1の命令ワード(IW−MSW)および第2の命令ワード(IW−LSW)を受ける。IW−MSWおよびIW−LSWは該メモリの2つの引き続くアドレスロケーションから読み出される。従って、IW−MSWはメモリから読み出される最上位ワード(most significant word:MSW)と考えられかつIW−LSWは最下位ワード(least significant word:LSW)と考えられる。
【0013】
この好ましい実施形態において使用されているように、各命令ワード(instruction word)は16ビット幅である。しかしながら、命令ワードの長さは好ましい実施形態の特定の用途に応じて8,16,32または64ビット幅のような任意のビット幅とすることができる。従って、MUX220,230によって受信されるデータバスの各々は16ビット幅のバスとして示されている。
【0014】
図2に見られるように、MUX1 220から受信される命令ワードはレジスタワードW1としてロードされ、かつMUX2 230から受信される命令ワードはレジスタワードW2としてロードされる。IW−LSWはコントローラ210からのロード信号により適切にイネーブルされたときレジスタワードW3としてロードされる。コントローラ210はマルチプレクサの入力命令ワードの1つがそのマルチプレクサから出力されるように選択できる制御信号207,208によってMUX1 220およびMUX2 230を制御する。コントローラ210は命令レジスタ240から出力される命令を制御する制御信号209を発生する。コントローラ210は図3に示される状態図(state diagram)を実施するために必要なもののような複雑な論理機能を達成することができるマイクロプロセッサ、マイクロコントローラまたは他の論理回路とすることができる。コントローラ210はまたIW−MSWおよびIW−LSWをMUX1およびMUX2へと提供するためにメモリをアクセスするためのメモリコントローラとすることができる。
【0015】
命令レジスタ240は3命令ワード幅でありかつ第1の命令ワード(W1)、第2の命令ワード(W2)、および第3の命令ワード(W3)(それぞれ、第1のレジスタワード、第2のレジスタワード、および第3のレジスタワードとも称される)を保持する。図2に見られるように、MUX1 220およびMUX2230の双方はメモリから命令ワード、IW−MSWおよびIW−LSWの双方を受信する。さらに、MUX1 220は命令レジスタ240に保持された命令ワードW2および命令ワードW3を入力として受信する。同様に、MUX2 230は命令レジスタ240に保持された命令ワードW3を付加的な入力として受信する。
【0016】
制御信号209に応じて、命令レジスタ240は単一クロックサイクルの間に命令デコーダ250へと命令ワードW1およびW2を発行して複数命令またはデュアルワード命令が発行できるようにする。従って、並列に実行されるべき複数の命令を発行する場合、命令デコーダ250は両方の命令を読み出すためにストールが要求されることなく両方の命令ワードW1およびW2を受信する。その後、命令デコーダ250は該命令をデコードしかつ該並列命令を実行するためにデータ処理システムの実行ユニット(図示せず)に対して制御信号を提供する。あるいは、命令ワードW1およびW2として命令レジスタ240に含まれているダブルワード命令を同時に受信することができかつ次に命令デコーダ250によってデコードして実行ユニットによってダブルワード命令が実行できるようにすることができる。
【0017】
動作においては、フェッチおよび発行ユニット200がリセットされたとき、コントローラ210はメモリに記憶された実行可能なプログラムの第1のアドレスを分析して該アドレスが奇数アドレスかまたは偶数アドレスであるかを判定する。もし該アドレスが偶数アドレスであれば、コントローラ210はそのアドレスにおける最下位および最上位ワードをそれぞれレジスタワードW2およびレジスタワードW1へとフェッチする。これに対し、もし開始プログラムアドレスが奇数アドレスであれば、コントローラ210はそのアドレスからの最下位ワードおよび最上位ワードをフェッチするが、最下位ワード(IW−LSW)のみをレジスタワードW1へとロードする。その後、コントローラ210は図3に示される状態図に従った方法で動作し命令ストリームを通って適切にシーケンスを行う。
【0018】
図3は、本発明の好ましい実施形態に係わるフェッチおよび発行ユニットの動作の論理状態図を示す。ユニット200のリセットに応じて、コントローラ210は前記実行可能なプログラムの最初のアドレスが偶数アドレスである場合に前記ユニットを状態310におき、かつ前記実行可能なプログラムの最初のアドレスが奇数アドレスである場合に前記ユニットを状態340におく。状態310および320はフェッチおよび発行ユニットの定常状態(steady−state)の動作の状態を記述し、プログラムの順次的な実行の状態を表している。状態330,340はフェッチおよび発行ユニットに対する非定常状態(non−steady−state)の動作の状態を表しておりこの場合飛越し(ジャンプ:jumps)または分岐(branches)のようなプログラムフローの変化はプログラムカウンタを新しい値にセットする。
【0019】
状態310からの遷移312に対しては、ダブルワード命令が命令レジスタ240から発行されかつ最上位ワード(IW−MSW)および最下位ワード(IW−LSW)が次のプログラムアドレスから、それぞれ、命令ワードW1およびW2へとフェッチされる。遷移314に対しては、単一ワード命令が命令ワードW1から発行されかつ命令ワードW2はサブルーチンへのジャンプ命令(JSR)を含まない。W2はMUX1 220を介してW1へとロードされ、かつW2およびW3は、それぞれ、MSWおよびLSWによってメモリの次のアドレスからロードされ、命令レジスタを奇数状態(odd state)320に移行させる。また、プログラムカウンタ(PC)、図示せず、は2つの命令ワードだけ増分される。
【0020】
遷移316に対しては、ジャンプ、分岐、サブルーチンへのジャンプ、サブルーチンからの戻り、または割込みからの戻りのようなプログラムフローにおける変化がありこれはユニット200を偶数状態(even state)310から奇数へのジャンプ(JMP_ODD)状態330に移行させる。遷移316はプログラムフローの変化が奇数アドレスに対するものである場合に発生する。奇数アドレスに位置する命令ワードはW1へとロードされ、W2およびW3の内容はコントローラ210によって考慮されずあるいは捨てられる。これは図面において該レジスタワードに含まれる“x”で表されている。この遷移の間に、プログラムカウンタは1だけ増分される。
【0021】
状態310からの遷移318に対しては、奇数アドレスにおけるサブルーチンへのジャンプを表し、W1におけるジャンプ命令ワードが命令デコーダに発行され、W2がW1へとロードされ、かつW2およびW3がメモリからダブル命令ワードによってロードされる。また、プログラムカウンタは1だけ増分される。
【0022】
図3の状態図における他の定常状態は奇数状態320である。奇数状態320からの遷移322はダブルワード命令または2つのシングルワード命令を実行するために命令レジスタ240からダブルワードが発行され、W2がJSRを含まない場合に発生する。その後、W3はW1およびW2へとロードされかつW3はメモリからロードされる。また、プログラムカウンタは2だけ増分されかつ遷移は状態320に戻り、それはW3もまたLSWであるためである。遷移324に対し、シングルワードがW1から発行され、W1が次にW2によってロードされかつW2はW3によってロードされ、状態310への遷移を生じさせる。遷移326においては、奇数アドレスにおけるデスティネイションへのプログラムフローの変化が生じ、従ってW1が次にその奇数アドレスにおいてメモリからLSWによってロードされかつプログラムカウンタは1だけ増分され、状態340へと遷移する。遷移328においては、ダブルワードまたは2つのシングルワードがW1およびW2から発行されかつW3はJSRに等しい。従って、W3がW1へとロードされかつW2およびW3がメモリからロードされかつプログラムカウンタが1だけ増分されたとき、レジスタは状態330へと遷移する。
【0023】
命令レジスタ240が非定常状態の状態330で構成されているとき、遷移332はサブルーチンへのジャンプが奇数アドレスに対して発生した場合に生じ、従ってIW−LSWがメモリからその奇数アドレスにおいてW1へとロードされかつプログラムカウンタが1だけ増分されて状態340へと遷移する。遷移334の間に、偶数アドレスに対してサブルーチンへのジャンプが発生し、W1およびW2がメモリからダブルワードによってロードされかつプログラムカウンタは2だけ増分され、レジスタを状態310へと遷移させる。
【0024】
第2の非定常状態340は遷移342を含み、この場合W1はダブルワード命令でありつJSRに等しくない。シングルワードのみが命令レジスタにロードされているから、プロセッサは同時に実行されるべきダブルワード命令または並列命令の第2のワードを読み出すために1クロックサイクルストールまたは遅延しなければならない。該ストールの間に、W2およびW3はメモリからダブルワード(IW−MSWおよびIW−LSW)によってロードされ、レジスタを状態320へと遷移させる。遷移344において、シングルワードがW1から発行され、かつ次にW1およびW2がメモリからダブルワードによってロードされかつプログラムカウンタが2だけ増分され、状態310へと遷移する。
【0025】
遷移346においては、W1はダブルワード命令でありかつW1はJSRである。プロセッサは1クロックサイクルストールしなければならずこの間にW2およびW3はメモリからダブルワードによってロードされかつプログラムカウンタは1だけ増分され、状態330へと遷移する。遷移348においては、サブルーチンからの戻りまたは奇数アドレスへの分岐はW1から発行される。W1は次にアクセスされたメモリワードのLSWによってロードされかつプログラムカウンタはストールサイクルの間に更新された後に1だけ増分され、状態は状態340に戻る。従って、命令がメモリにおいて不整列になっており(misaligned)かつプログラムフローにおける変化のターゲット命令が長さにおいて2命令ワードでありかつ奇数境界に対するものである場合は、余分の命令フェッチサイクルが必要とされる。
【0026】
【発明の効果】
理解されるように、本発明の好ましい実施形態のフェッチおよび発行ユニットはプロセッサが付加的なワードを読み出すためにストールすることを要求することなくクロックサイクルごとに2つまでの命令を効率的にフェッチしかつ発行する。従って、プログラムの順次的な実行(すなわち、定常動作)の間に、好ましい実施形態のシステムは命令ワードの長さにかかわりなくそれぞれのクロックサイクルに対して常に少なくとも1つの命令を発行することになる。
【0027】
さらに、前記フェッチおよび発行ユニットはプロセッサをストールさせることなくデュアルワード命令または2つの命令を並列に発行することができる。従来技術のシステムはそのような性能は達成できなかった。好ましい実施形態の強化された性能はサイクルごとに実行できる命令の数を増大することによりかつ命令フェッチの遅延の影響を低減することにより達成される。従って、フェッチされる命令は他のクロックサイクルに際してメモリから再びロードされる必要はなく、それによって不必要にバストラフィックを増大することを避けることができる。さらに、単一のアクセスがダブルワード命令の両方のワードを読み出すようにメモリにおいてダブルワード命令を整列させる厳格なメモリ構成を維持するために複雑なメモリコントローラおよびシステムのハードウエアを必要とすることもない。
【0028】
従って、本発明のフェッチおよび発行装置は単一命令およびダブルワード命令の双方をフェッチおよび発行することができ、かつさらに複雑な構成要素を余分に追加しおよび/またはメモリスペースを使用することによりシステムのコストおよび複雑さを実質的に増大することなく、並列プロセッサにおいて同時に実行されるべき2つのシングルワード命令を発行することが可能である。
【0029】
本発明が好ましい実施形態に関して説明されたが、当業者には本発明は数多くの方法で変更することができかつ上で特に示しかつ説明したもの以外の数多くの実施形態を取り得ることが理解されるであろう。従って、添付の特許請求の範囲は本発明の真の範囲内にある本発明のすべての変更および修正をカバーするものと考える。
【図面の簡単な説明】
【図1】従来技術の命令フェッチおよび発行システムを示すブロック図である。
【図2】本発明の好ましい実施形態に係わるマイクロコントローラまたはマイクロプロセッサのようなデータ処理システムのためのフェッチおよび発行装置を示すブロック図である。
【図3】本発明の好ましい実施形態に係わるフェッチおよび発行ユニットの動作を示す論理状態図である。
【符号の説明】
100 フェッチおよび発行システム
110 命令レジスタ
120 命令デコーダ
200 フェッチおよび発行装置
210 コントローラ
220,230 マルチプレクサ
240 命令レジスタ
250 命令デコーダ
Claims (5)
- 複数ワード命令を含む命令セットを有するかあるいは複数の命令を並列に発行するデータ処理システムのための命令フェッチおよび発行装置(200)であって、
それぞれ第1のレジスタワード、第2のレジスタワードおよび第3のレジスタワードを含む第1のレジスタ、第2のレジスタおよび第3のレジスタを有する命令レジスタ(240)であって、該命令レジスタはロード信号に応じて前記第1のレジスタ、第2のレジスタおよび第3のレジスタから命令ワードを転送するもの、
メモリから第1の命令ワードおよび第2の命令ワードを受けかつ前記命令レジスタから前記第2および第3のレジスタワードを受け、かつ受信したワードの内の選択された1つを第1の制御信号に基づき前記命令レジスタにおける第1のレジスタへと転送する第1のマルチプレクサ(220)、そして
前記メモリから前記第1および第2の命令ワードをかつ前記第3のレジスタワードを受信し、かつ該受信したワードの内の選択された1つを第2の制御信号に基づき前記第2のレジスタへと転送する第2のマルチプレクサ(230)、
を具備することを特徴とする命令フェッチおよび発行装置(200)。 - さらに、前記第1の制御信号、前記第2の制御信号、および前記ロード信号を提供するコントローラ(210)を具備し、該コントローラは前記第1、第2および第3のレジスタワードの状態に基づきロード信号を提供しかつ前記第1、第2および第3のレジスタワードの次の状態に基づき前記第1および第2の制御信号を提供することを特徴とする、請求項1に記載の装置。
- 前記コントローラは前記第1および第2のマルチプレクサによって受信されるべき次の第1および第2の命令ワードが位置するメモリ内のロケーションを計算するための手段を含むことを特徴とする請求項2に記載の装置。
- 第1、第2および第3のワードを保持する命令レジスタを有するデータ処理システムのそれぞれのクロックサイクルに対して少なくとも1つの命令ワードをフェッチしかつ発行する方法であって、前記データ処理システムは単一ワード命令、ダブルワード命令、あるいは複数の単一ワード命令を並列に実行することができ、前記方法は、
2つの命令ワードを受信する段階、
前記受信した2つの命令ワードおよび前記命令レジスタに保持された3つのワードの内の第2および第3のワードの間から第1のワードを選択する段階、
前記受信した2つの命令ワードおよび前記命令レジスタに保持された3つのワードの内の第3のワードの間から第2のワードを選択する段階、
前記受信した2つの命令ワードの間から第3のワードを選択する段階、
前記選択されたワードを命令レジスタにロードする段階、そして
単一のクロックサイクルで、第1の命令の実行に必要とされる命令レジスタに保持された数のワードを発行する段階、
を具備することを特徴とする第1、第2および第3のワードを保持する命令レジスタを有するデータ処理システムのそれぞれのクロックサイクルに対して少なくとも1つの命令ワードをフェッチしかつ発行する方法。 - 前記発行する段階は、同じ単一クロックサイクル内で、第2の命令を実行するために必要な数のワードを発行する段階を含むことを特徴とする、請求項4に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/845,096 | 1997-04-21 | ||
US08/845,096 US5835746A (en) | 1997-04-21 | 1997-04-21 | Method and apparatus for fetching and issuing dual-word or multiple instructions in a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10301779A JPH10301779A (ja) | 1998-11-13 |
JP3790626B2 true JP3790626B2 (ja) | 2006-06-28 |
Family
ID=25294385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12005598A Expired - Fee Related JP3790626B2 (ja) | 1997-04-21 | 1998-04-14 | デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5835746A (ja) |
JP (1) | JP3790626B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5604909A (en) * | 1993-12-15 | 1997-02-18 | Silicon Graphics Computer Systems, Inc. | Apparatus for processing instructions in a computing system |
EP0858168A1 (en) | 1997-01-29 | 1998-08-12 | Hewlett-Packard Company | Field programmable processor array |
US6243798B1 (en) * | 1997-10-28 | 2001-06-05 | Microchip Technology Incorporated | Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction |
US6567834B1 (en) | 1997-12-17 | 2003-05-20 | Elixent Limited | Implementation of multipliers in programmable arrays |
DE69841256D1 (de) | 1997-12-17 | 2009-12-10 | Panasonic Corp | Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten |
DE69827589T2 (de) | 1997-12-17 | 2005-11-03 | Elixent Ltd. | Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen |
US6408382B1 (en) | 1999-10-21 | 2002-06-18 | Bops, Inc. | Methods and apparatus for abbreviated instruction sets adaptable to configurable processor architecture |
US6961844B1 (en) * | 2001-10-05 | 2005-11-01 | Lsi Logic Corporation | System and method for extracting instruction boundaries in a fetched cacheline, given an arbitrary offset within the cacheline |
WO2005071042A1 (en) | 2004-01-23 | 2005-08-04 | Aquatech, Llc | Petroleum recovery and cleaning system and process |
US7493511B1 (en) | 2004-08-27 | 2009-02-17 | Xilinx, Inc. | Network media access controller embedded in a programmable logic device—transmit-side client interface |
US7143218B1 (en) | 2004-08-27 | 2006-11-28 | Xilinx, Inc. | Network media access controller embedded in a programmable logic device-address filter |
US8862924B2 (en) * | 2011-11-15 | 2014-10-14 | Advanced Micro Devices, Inc. | Processor with power control via instruction issuance |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3629853A (en) * | 1959-06-30 | 1971-12-21 | Ibm | Data-processing element |
US5131086A (en) * | 1988-08-25 | 1992-07-14 | Edgcore Technology, Inc. | Method and system for executing pipelined three operand construct |
US5179671A (en) * | 1989-03-31 | 1993-01-12 | Bull Hn Information Systems Inc. | Apparatus for generating first and second selection signals for aligning words of an operand and bytes within these words respectively |
US5241636A (en) * | 1990-02-14 | 1993-08-31 | Intel Corporation | Method for parallel instruction execution in a computer |
US5488729A (en) * | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
-
1997
- 1997-04-21 US US08/845,096 patent/US5835746A/en not_active Expired - Fee Related
-
1998
- 1998-04-14 JP JP12005598A patent/JP3790626B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10301779A (ja) | 1998-11-13 |
US5835746A (en) | 1998-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2550213B2 (ja) | 並列処理装置および並列処理方法 | |
US6205543B1 (en) | Efficient handling of a large register file for context switching | |
JP3790626B2 (ja) | デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置 | |
JP2001092662A (ja) | プロセッサコア及びこれを用いたプロセッサ | |
US20070260857A1 (en) | Electronic Circuit | |
AU2006221114A1 (en) | Single-cycle low-power CPU architecture | |
US20050289326A1 (en) | Packet processor with mild programmability | |
US6161171A (en) | Apparatus for pipelining sequential instructions in synchronism with an operation clock | |
JPH10222367A (ja) | ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法 | |
US6725355B1 (en) | Arithmetic processing architecture having a portion of general-purpose registers directly coupled to a plurality of memory banks | |
US7389405B2 (en) | Digital signal processor architecture with optimized memory access for code discontinuity | |
US5649229A (en) | Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage | |
JP3740321B2 (ja) | データ処理装置 | |
JP2636821B2 (ja) | 並列処理装置 | |
JP3461887B2 (ja) | 可変長パイプライン制御装置 | |
JP3520372B2 (ja) | メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除 | |
JP3147884B2 (ja) | 記憶装置及び情報処理装置 | |
JP2785820B2 (ja) | 並列処理装置 | |
JP2927281B2 (ja) | 並列処理装置 | |
JP3102399B2 (ja) | データ処理装置及び方法 | |
JP4498705B2 (ja) | キャッシュシステム | |
JP2000099328A (ja) | プロセッサ及びその実行制御方法 | |
JP2005242457A (ja) | プログラマブルコントローラ | |
JP2004288203A (ja) | プロセッサコア及びこれを用いたプロセッサ | |
JP2006202265A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050401 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050401 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060306 |
|
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: 20060314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060403 |
|
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: 20090407 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140407 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |