JPH10301779A - デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置 - Google Patents

デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置

Info

Publication number
JPH10301779A
JPH10301779A JP10120055A JP12005598A JPH10301779A JP H10301779 A JPH10301779 A JP H10301779A JP 10120055 A JP10120055 A JP 10120055A JP 12005598 A JP12005598 A JP 12005598A JP H10301779 A JPH10301779 A JP H10301779A
Authority
JP
Japan
Prior art keywords
instruction
register
word
words
instructions
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
JP10120055A
Other languages
English (en)
Other versions
JP3790626B2 (ja
Inventor
W Giradou James Jr
ジェームズ・ダブリュ・ジラードウ・ジュニア
D Tateler Nicole
ニコル・ディー・テイトラー
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH10301779A publication Critical patent/JPH10301779A/ja
Application granted granted Critical
Publication of JP3790626B2 publication Critical patent/JP3790626B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching

Abstract

(57)【要約】 【課題】 単一およびダブルワード命令をフェッチおよ
び発行可能でありかつ簡単な構成で同時に実行されるべ
き2つの単一ワード命令の発行を可能にする。 【解決手段】 命令フェッチおよび発行ユニット200
は2つの命令ワードをフェッチしかつ少なくとも1つの
命令ワードをクロックサイクルごとに命令デコーダ25
0へと発行する。2つのマルチプレクサ220,230
が2つのフェッチされた命令を受けかつ3つのワードの
内の2つの一方または双方が命令レジスタ240に格納
される。コントローラ210は状態図300に従ってマ
ルチプレクサ220,230の入力の内からの3つのワ
ードの命令レジスタ240へのロードを選択的に制御す
る207〜209。命令レジスタ240はストールを要
求することなくクロックサイクルごとに2つまでの命令
を発行し、ダブルワード命令または並列の2つの命令の
効率的な発行を可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にはデータ処
理システムに関し、かつより特定的にはデータ処理シス
テム内の命令フェッチおよび発行装置(instruc
tion fetch and issuance a
pparatus)に関する。
【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を参照すると、装置20
0はROMまたはランダムアクセスメモリのようなメモ
リ装置から第1の命令ワード(IW−MSW)および第
2の命令ワード(IW−LSW)を受ける。IW−MS
WおよびIW−LSWは該メモリの2つの引き続くアド
レスロケーションから読み出される。従って、IW−M
SWはメモリから読み出される最上位ワード(most
significant word:MSW)と考え
られかつIW−LSWは最下位ワード(least s
ignificant word:LSW)と考えられ
る。
【0013】この好ましい実施形態において使用されて
いるように、各命令ワード(instruction
word)は16ビット幅である。しかしながら、命令
ワードの長さは好ましい実施形態の特定の用途に応じて
8,16,32または64ビット幅のような任意のビッ
ト幅とすることができる。従って、MUX220,23
0によって受信されるデータバスの各々は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 di
agram)を実施するために必要なもののような複雑
な論理機能を達成することができるマイクロプロセッ
サ、マイクロコントローラまたは他の論理回路とするこ
とができる。コントローラ210はまたIW−MSWお
よびIW−LSWをMUX1およびMUX2へと提供す
るためにメモリをアクセスするためのメモリコントロー
ラとすることができる。
【0015】命令レジスタ240は3命令ワード幅であ
りかつ第1の命令ワード(W1)、第2の命令ワード
(W2)、および第3の命令ワード(W3)(それぞ
れ、第1のレジスタワード、第2のレジスタワード、お
よび第3のレジスタワードとも称される)を保持する。
図2に見られるように、MUX1 220およびMUX
2230の双方はメモリから命令ワード、IW−MSW
およびIW−LSWの双方を受信する。さらに、MUX
1 220は命令レジスタ240に保持された命令ワー
ドW2および命令ワードW3を入力として受信する。同
様に、MUX2230は命令レジスタ240に保持され
た命令ワードW3を付加的な入力として受信する。
【0016】制御信号209に応じて、命令レジスタ2
40は単一クロックサイクルの間に命令デコーダ250
へと命令ワードW1およびW2を発行して複数命令また
はデュアルワード命令が発行できるようにする。従っ
て、並列に実行されるべき複数の命令を発行する場合、
命令デコーダ250は両方の命令を読み出すためにスト
ールが要求されることなく両方の命令ワードW1および
W2を受信する。その後、命令デコーダ250は該命令
をデコードしかつ該並列命令を実行するためにデータ処
理システムの実行ユニット(図示せず)に対して制御信
号を提供する。あるいは、命令ワードW1およびW2と
して命令レジスタ240に含まれているダブルワード命
令を同時に受信することができかつ次に命令デコーダ2
50によってデコードして実行ユニットによってダブル
ワード命令が実行できるようにすることができる。
【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)または分岐(branche
s)のようなプログラムフローの変化はプログラムカウ
ンタを新しい値にセットする。
【0019】状態310からの遷移312に対しては、
ダブルワード命令が命令レジスタ240から発行されか
つ最上位ワード(IW−MSW)および最下位ワード
(IW−LSW)が次のプログラムアドレスから、それ
ぞれ、命令ワードW1およびW2へとフェッチされる。
遷移314に対しては、単一ワード命令が命令ワードW
1から発行されかつ命令ワードW2はサブルーチンへの
ジャンプ命令(JSR)を含まない。W2はMUX1
220を介してW1へとロードされ、かつW2およびW
3は、それぞれ、MSWおよびLSWによってメモリの
次のアドレスからロードされ、命令レジスタを奇数状態
(odd state)320に移行させる。また、プ
ログラムカウンタ(PC)、図示せず、は2つの命令ワ
ードだけ増分される。
【0020】遷移316に対しては、ジャンプ、分岐、
サブルーチンへのジャンプ、サブルーチンからの戻り、
または割込みからの戻りのようなプログラムフローにお
ける変化がありこれはユニット200を偶数状態(ev
en state)310から奇数へのジャンプ(JM
P_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が非定常状態の状態3
30で構成されているとき、遷移332はサブルーチン
へのジャンプが奇数アドレスに対して発生した場合に生
じ、従ってIW−LSWがメモリからその奇数アドレス
においてW1へとロードされかつプログラムカウンタが
1だけ増分されて状態340へと遷移する。遷移334
の間に、偶数アドレスに対してサブルーチンへのジャン
プが発生し、W1およびW2がメモリからダブルワード
によってロードされかつプログラムカウンタは2だけ増
分され、レジスタを状態310へと遷移させる。
【0024】第2の非定常状態340は遷移342を含
み、この場合W1はダブルワード命令でありつJSRに
等しくない。シングルワードのみが命令レジスタにロー
ドされているから、プロセッサは同時に実行されるべき
ダブルワード命令または並列命令の第2のワードを読み
出すために1クロックサイクルストールまたは遅延しな
ければならない。該ストールの間に、W2およびW3は
メモリからダブルワード(IW−MSWおよびIW−L
SW)によってロードされ、レジスタを状態320へと
遷移させる。遷移344において、シングルワードがW
1から発行され、かつ次にW1およびW2がメモリから
ダブルワードによってロードされかつプログラムカウン
タが2だけ増分され、状態310へと遷移する。
【0025】遷移346においては、W1はダブルワー
ド命令でありかつW1はJSRである。プロセッサは1
クロックサイクルストールしなければならずこの間にW
2およびW3はメモリからダブルワードによってロード
されかつプログラムカウンタは1だけ増分され、状態3
30へと遷移する。遷移348においては、サブルーチ
ンからの戻りまたは奇数アドレスへの分岐はW1から発
行される。W1は次にアクセスされたメモリワードのL
SWによってロードされかつプログラムカウンタはスト
ールサイクルの間に更新された後に1だけ増分され、状
態は状態340に戻る。従って、命令がメモリにおいて
不整列になっており(misaligned)かつプロ
グラムフローにおける変化のターゲット命令が長さにお
いて2命令ワードでありかつ奇数境界に対するものであ
る場合は、余分の命令フェッチサイクルが必要とされ
る。
【0026】
【発明の効果】理解されるように、本発明の好ましい実
施形態のフェッチおよび発行ユニットはプロセッサが付
加的なワードを読み出すためにストールすることを要求
することなくクロックサイクルごとに2つまでの命令を
効率的にフェッチしかつ発行する。従って、プログラム
の順次的な実行(すなわち、定常動作)の間に、好まし
い実施形態のシステムは命令ワードの長さにかかわりな
くそれぞれのクロックサイクルに対して常に少なくとも
1つの命令を発行することになる。
【0027】さらに、前記フェッチおよび発行ユニット
はプロセッサをストールさせることなくデュアルワード
命令または2つの命令を並列に発行することができる。
従来技術のシステムはそのような性能は達成できなかっ
た。好ましい実施形態の強化された性能はサイクルごと
に実行できる命令の数を増大することによりかつ命令フ
ェッチの遅延の影響を低減することにより達成される。
従って、フェッチされる命令は他のクロックサイクルに
際してメモリから再びロードされる必要はなく、それに
よって不必要にバストラフィックを増大することを避け
ることができる。さらに、単一のアクセスがダブルワー
ド命令の両方のワードを読み出すようにメモリにおいて
ダブルワード命令を整列させる厳格なメモリ構成を維持
するために複雑なメモリコントローラおよびシステムの
ハードウエアを必要とすることもない。
【0028】従って、本発明のフェッチおよび発行装置
は単一命令およびダブルワード命令の双方をフェッチお
よび発行することができ、かつさらに複雑な構成要素を
余分に追加しおよび/またはメモリスペースを使用する
ことによりシステムのコストおよび複雑さを実質的に増
大することなく、並列プロセッサにおいて同時に実行さ
れるべき2つのシングルワード命令を発行することが可
能である。
【0029】本発明が好ましい実施形態に関して説明さ
れたが、当業者には本発明は数多くの方法で変更するこ
とができかつ上で特に示しかつ説明したもの以外の数多
くの実施形態を取り得ることが理解されるであろう。従
って、添付の特許請求の範囲は本発明の真の範囲内にあ
る本発明のすべての変更および修正をカバーするものと
考える。
【図面の簡単な説明】
【図1】従来技術の命令フェッチおよび発行システムを
示すブロック図である。
【図2】本発明の好ましい実施形態に係わるマイクロコ
ントローラまたはマイクロプロセッサのようなデータ処
理システムのためのフェッチおよび発行装置を示すブロ
ック図である。
【図3】本発明の好ましい実施形態に係わるフェッチお
よび発行ユニットの動作を示す論理状態図である。
【符号の説明】
100 フェッチおよび発行システム 110 命令レジスタ 120 命令デコーダ 200 フェッチおよび発行装置 210 コントローラ 220,230 マルチプレクサ 240 命令レジスタ 250 命令デコーダ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ニコル・ディー・テイトラー アメリカ合衆国テキサス州78751、オース チン、ウエスト・フォーティフォース・ス トリート 402 アパートメント・ディー

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数ワード命令を含む命令セットを有す
    るかあるいは複数の命令を並列に発行するデータ処理シ
    ステムのための命令フェッチおよび発行装置(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)。
  2. 【請求項2】 さらに、前記第1の制御信号、前記第2
    の制御信号、および前記ロード信号を提供するコントロ
    ーラ(210)を具備し、該コントローラは前記第1、
    第2および第3のレジスタワードの状態に基づきロード
    信号を提供しかつ前記第1、第2および第3のレジスタ
    ワードの次の状態に基づき前記第1および第2の制御信
    号を提供することを特徴とする、請求項1に記載の装
    置。
  3. 【請求項3】 前記コントローラは前記第1および第2
    のマルチプレクサによって受信されるべき次の第1およ
    び第2の命令ワードが位置するメモリ内のロケーション
    を計算するための手段を含むことを特徴とする請求項2
    に記載の装置。
  4. 【請求項4】 第1、第2および第3のワードを保持す
    る命令レジスタを有するデータ処理システムのそれぞれ
    のクロックサイクルに対して少なくとも1つの命令ワー
    ドをフェッチしかつ発行する方法であって、前記データ
    処理システムは単一ワード命令、ダブルワード命令、あ
    るいは複数の単一ワード命令を並列に実行することがで
    き、前記方法は、 2つの命令ワードを受信する段階、 前記受信した2つの命令ワードおよび前記命令レジスタ
    に保持された3つのワードの内の第2および第3のワー
    ドの間から第1のワードを選択する段階、 前記受信した2つの命令ワードおよび前記命令レジスタ
    に保持された3つのワードの内の第3のワードの間から
    第2のワードを選択する段階、 前記受信した2つの命令ワードの間から第3のワードを
    選択する段階、 前記選択されたワードを命令レジスタにロードする段
    階、そして単一のクロックサイクルで、第1の命令の実
    行に必要とされる命令レジスタに保持された数のワード
    を発行する段階、 を具備することを特徴とする第1、第2および第3のワ
    ードを保持する命令レジスタを有するデータ処理システ
    ムのそれぞれのクロックサイクルに対して少なくとも1
    つの命令ワードをフェッチしかつ発行する方法。
  5. 【請求項5】 前記発行する段階は、同じ単一クロック
    サイクル内で、第2の命令を実行するために必要な数の
    ワードを発行する段階を含むことを特徴とする、請求項
    4に記載の方法。
JP12005598A 1997-04-21 1998-04-14 デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置 Expired - Fee Related JP3790626B2 (ja)

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 true JPH10301779A (ja) 1998-11-13
JP3790626B2 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)

* Cited by examiner, † Cited by third party
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
DE69841256D1 (de) * 1997-12-17 2009-12-10 Panasonic Corp Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten
WO1999031574A1 (en) 1997-12-17 1999-06-24 Hewlett-Packard Company Implementation of multipliers in programmable arrays
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
US7143218B1 (en) 2004-08-27 2006-11-28 Xilinx, Inc. Network media access controller embedded in a programmable logic device-address filter
US7366807B1 (en) 2004-08-27 2008-04-29 Xilinx, Inc. Network media access controller embedded in a programmable logic device—statistics interface
US8862924B2 (en) * 2011-11-15 2014-10-14 Advanced Micro Devices, Inc. Processor with power control via instruction issuance

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
US5835746A (en) 1998-11-10
JP3790626B2 (ja) 2006-06-28

Similar Documents

Publication Publication Date Title
US6205543B1 (en) Efficient handling of a large register file for context switching
JP2550213B2 (ja) 並列処理装置および並列処理方法
US6594755B1 (en) System and method for interleaved execution of multiple independent threads
US5590368A (en) Method and apparatus for dynamically expanding the pipeline of a microprocessor
KR20040085058A (ko) 일련의 처리 명령들의 파이프라인 처리 방법 및 장치
JPH0776918B2 (ja) データ処理システム及び方法
JP3790626B2 (ja) デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置
JPH07129413A (ja) 割込み処理装置
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
US20070260857A1 (en) Electronic Circuit
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
US6725355B1 (en) Arithmetic processing architecture having a portion of general-purpose registers directly coupled to a plurality of memory banks
US5677859A (en) Central processing unit and an arithmetic operation processing unit
JP2680828B2 (ja) ディジタル装置
EP1685481B1 (en) Methods of optimized memory access in a digital signal processor architecture
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
US20070169022A1 (en) Processor having multiple instruction sources and execution modes
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
JP2636821B2 (ja) 並列処理装置
JP3461887B2 (ja) 可変長パイプライン制御装置
KR100376639B1 (ko) 프로세서에서 사용하기에 적합한 메모리 데이터 액세스구조 및 방법
JPS58114250A (ja) 共有マイクロプロセツサ
JPH0333951A (ja) マイクロコンピュータシステム
WO2008024661A1 (en) Processor having multiple instruction sources and execution modes
JPS63318635A (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