JPH11345121A - プログラム制御ユニット用の命令取り出し装置および方法 - Google Patents

プログラム制御ユニット用の命令取り出し装置および方法

Info

Publication number
JPH11345121A
JPH11345121A JP11032754A JP3275499A JPH11345121A JP H11345121 A JPH11345121 A JP H11345121A JP 11032754 A JP11032754 A JP 11032754A JP 3275499 A JP3275499 A JP 3275499A JP H11345121 A JPH11345121 A JP H11345121A
Authority
JP
Japan
Prior art keywords
instruction
queue
address
program
data
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.)
Pending
Application number
JP11032754A
Other languages
English (en)
Inventor
Juergen Birkhaeuser
ビルクホイザー ユルゲン
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of JPH11345121A publication Critical patent/JPH11345121A/ja
Pending 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • 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 or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • 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 or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 プログラム実行時に休止の発生する確率を最
小に低減することである。 【解決手段】 インストラクション待ち行列は、命令デ
ータをインストラクション待ち行列に書き込む際、およ
び/または命令データをインストラクション待ち行列か
ら読み出す際に、複数の所定箇所をインストラクション
待ち行列内で選択的にジャンプさせる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、前もってプログラ
ムメモリから取り出された命令データを準備するための
インストラクション待ち行列を有する形式の、プログラ
ム制御ユニット用の命令取り出し装置および方法に関す
る。
【0002】
【従来の技術】本発明の装置ないし方法によって命令デ
ータの供給されるプログラム制御ユニットは例えば、マ
イクロプロセッサ、マイクロコントローラ等である。
【0003】インストラクション待ち行列は、プログラ
ム制御ユニットの命令取り出し装置の構成部分である。
このインストラクション待ち行列は次のために設けられ
ている。すなわち、多数の命令を表す命令データを中間
記憶し、必要に応じて、すなわち該当する命令の処理が
なされるときにプログラム制御ユニットの命令実行装置
に出力するために設けられている。
【0004】インストラクション待ち行列に書き込まれ
た命令データはプログラム制御ユニットの内部または外
部に設けられたプログラムメモリから読み出される。命
令データをプログラムメモリから取り出し、これをイン
ストラクション待ち行列に書き込むことは、中断なしに
通常はプログラム制御ユニット、正確に言えばその命令
実行装置が命令を実行するリズムに依存しないで行われ
る。この過程は、このことによりインストラクション待
ち行列に未だ処理すべき命令が上書きされることとなる
場合だけ中断される。
【0005】命令を表す命令データをインストラクショ
ン待ち行列に作成することの利点は、インストラクショ
ン待ち行列が非常に高速に命令データにアクセスするこ
とのできることである。またプログラム制御ユニットの
命令実行装置は滅多に、またはまったく次の命令を表す
命令データを待機する必要がない。
【0006】このことが当てはまるのは、命令がプログ
ラムメモリ(ひいてはインストラクション待ち行列)に
記憶された順番で処理される場合だけである。このこと
は一方では、プログラム実行の際にジャンプ命令、タス
ク変化、割り込み等が発生しない場合だけである。この
ような場合に非アドレスシーケンシャルなプログラム実
行が発生すると、インストラクション待ち行列にすでに
作成された命令データをそれ以上使用することができな
い。なぜなら、これらはジャンプ等の後で実行すべき命
令を取り出すアドレスからせいぜい偶然的に由来するか
らである。このような事象に基づき通常はいわゆるキュ
ーフラッシュにより記録され、このキューフラッシュに
より、インストラクション待ち行列に作成されたデータ
が破棄され、命令データがプログラムメモリから、ジャ
ンプの目的アドレスに続いて読み出され、これがインス
トラクション待ち行列に書き込まれる。
【0007】このような状況ではプログラム実行時に休
止が発生する。なぜなら、ジャンプ等の後に実行すべき
命令を表す命令データは最初は、通常は比較的緩慢なプ
ログラムメモリから取り出さなければならないからであ
る。
【0008】この種の休止はもちろん不所望のものであ
る。
【0009】
【発明が解決しようとする課題】本発明の課題は、冒頭
に記載した装置および方法において、プログラム実行時
に休止の発生する確率を最小に低減することである。
【0010】
【課題を解決するための手段】この課題は本発明によ
り、インストラクション待ち行列は、命令データをイン
ストラクション待ち行列に書き込む際、および/または
命令データをインストラクション待ち行列から読み出す
際に、複数の所定箇所をインストラクション待ち行列内
で選択的にジャンプさせることにより解決される。
【0011】
【発明の実施の形態】複数の所定の箇所をインストラク
ション待ち行列内で選択的にジャンプできることは2つ
の観点から有利である。1つにはこのことにより、相互
に依存せずに複数の命令順序を同時にインストラクショ
ン待ち行列に記憶することができ、さらにインストラク
ション待ち行列をこのことにより命令キャッシュとして
使用することができる。
【0012】両方とも次のことに寄与する。すなわち、
プログラム制御ユニットの命令実行装置により必要な命
令データを、これが必要となる時点で常に、またはほぼ
常に、インストラクション待ち行列に準備することがで
き、そこからただちに、すなわち待機なしで転送するこ
とができる。
【0013】このことにより、プログラム実行時の休止
の発生が最小に低減される。
【0014】本発明の有利な改善実施例が従属請求項に
記載されており、以下の説明および図面から明らかであ
る。
【0015】
【実施例】以下に説明する装置および方法はプログラム
制御ユニットの構成部分である。
【0016】プログラム制御ユニットはこの実施例では
32ビットマイクロコントローラである。しかし任意の
他のマイクロコントローラおよび任意の他のプログラム
制御ユニット、例えばマイクロプロセッサ、シグナルプ
ロセッサ等において本発明の装置および方法を適用する
ことができる。
【0017】図示のマイクロコントローラは(他のいず
れのプログラム制御ユニットも同じように)命令取り出
し装置を有し、この装置によりプログラムメモリから命
令を表す命令データを取り出し、プログラム制御ユニッ
トの命令実行装置による実行のために準備することがで
きる。
【0018】命令を表す命令データはこの実施例では2
バイトまたは4バイトの長さである。しかしこれらは任
意にこれより長くても短くても良い。
【0019】命令取り出し装置は、インストラクション
待ち行列を備えたインストラクション待ち行列ユニット
を有している。ここに命令を表す多数の命令データを中
間記憶することができる。
【0020】このインストラクション待ち行列ユニット
のタスクが図1に概略的に示されている。
【0021】図1に参照符号IQUにより示されたイン
ストラクション待ち行列ユニットは、本来の指令ユーを
表すインストラクション待ち行列バッファ(インストラ
クション待ち行列バッファ)IQBと、予備命令取り出
しユニット(プリフェッチユニット)PFUと、命令取
り出しユニット(フェッチユニット(FU)と、予備デ
コードおよび予測ユニット(プレデコードユニット)P
DUを有している。インストラクション待ち行列ユニッ
トIQUは、プログラムメモリPMおよび命令実行装置
EU、正確に言えばマイクロコントローラの命令実行パ
イプラインのデコード段と接続されている。
【0022】ここで前記のプログラムメモリPMはマイ
クロコントローラの内部および/または外部に設けるこ
とができ、任意の記憶装置、例えばROM、RAM、フ
ラッシュメモリ、テープ、ディスケット、ハードディス
ク、CD等により構成することができる。
【0023】インストラクション待ち行列ユニットIQ
Uは次のために設けられる。すなわち命令を表す命令デ
ータを連続的にプログラムメモリPMから取り出し、中
間記憶し、必要時に、すなわちそれぞれの命令を命令実
行装置により実行するときに、これに出力するために設
けられる。
【0024】命令データをプログラムメモリPMから取
り出すことは予備命令取り出しユニットPFUによって
行われる。これは、命令を表す命令データをできるだけ
前もって、すなわちこれを実行のために必要になる前
に、プログラムメモリPMからインストラクション待ち
行列ユニットIQUに読み出し、そこに、正確に言うな
らインストラクション待ち行列バッファIQBに中間記
憶するためである。読み出しは通常の場合、プログラム
メモリPMの順次連続するアドレスにより行われる。こ
のことはできるだけ高速に実行され、インストラクショ
ン待ち行列バッファIQBにそれ以上データを書き込め
ない場合だけ中断される。
【0025】インストラクション待ち行列バッファIQ
Bはこの実施例では、4つの大きな領域に分けられてお
り、64バイトの総容量を有する。インストラクション
待ち行列バッファの書き込みは、アドレスシーケンシャ
ルなプログラム処理の際にいわゆるラウンドロビン法に
従って行われる。ここでは順次、バッファ領域1から4
が繰り返される。すなわち、例えば最初にバッファ領域
1,次にバッファ領域2,バッファ領域3,そしてバッ
ファ領域4から再びバッファ領域1が繰り返しロードさ
れる。しかし個々のバッファ領域へは、データをインス
トラクション待ち行列バッファIQBに書き込むとき
も、これから読み出すときも全く所望のように選択的に
アクセスすることができる。インストラクション待ち行
列を表すインストラクション待ち行列バッファ内では従
って複数の所定の箇所にジャンプすることができる。後
で詳しく説明するように、この実施例ではプログラム経
過でアドレスジャンプが予想されるとき、または実行さ
れるときにこの手段が使用される。しかしここで述べて
おくが、必要の際には任意の他のときにこの手段を使用
することもできる。また複数の所定の箇所をインストラ
クション待ち行列バッファ内で選択的にジャンプできる
ことは非常に有利であり、このことはバッファを前のよ
うに複数の領域に分割することなしに実現することがで
きる。
【0026】しかしプログラムメモリPMから読み出さ
れたデータは直接、インストラクション待ち行列バッフ
ァIQBにではなく、まずこれに前置接続された予備デ
コードおよび予測ユニットPDU、正確に言えばこのた
めに設けられた命令データレジスタIRBに書き込まれ
る。この場合(次のクロックサイクルで)命令データは
予備デコーダおよび予測ユニットPDUにより分析さ
れ、インストラクション待ち行列バッファIQBに記録
されるか、またはこれと同時にマイクロコントローラの
命令実行装置EU(命令実行パイプラインのデコーダ
段)に送り込まれる。
【0027】予備デコードおよび予測ユニットPDUで
行われる分析の際に、該当する命令データがデコードさ
れ、これに基づいてこれらデータが後での命令実行装置
EUでの実行の際に、非アドレスシーケンシャルなプロ
グラム実行を行わせるのか、または例えば絶対的ジャン
プ命令または条件付きジャンプ命令の際にサブプログラ
ム呼び出し、割り込み、バックジャンプ命令等を行わせ
るのかが検査される。
【0028】ここで予備デコードおよび予測ユニットP
DUが、非アドレスシーケンシャルなプログラム経過に
つながるような命令を識別すると、このユニットはどこ
でアドレス実行が非アドレスシーケンシャルなプログラ
ム経過の場合に継続されるのかを検出し、該当する命令
の実行前にプログラムメモリPMからの命令の読み出し
を開始する。この読み出される命令は、非アドレスシー
ケンシャルなプログラム経過の実行時に作用する命令で
ある。しかしここで読み出された命令データはインスト
ラクション待ち行列バッファIQBの新たな領域に書き
込まれる。
【0029】非アドレスシーケンシャルなプログラム経
過の場合に、非アドレスシーケンシャルなプログラム経
過に作用する命令に従って実行すべき命令の読み出しは
有利には次ぎに場合に初めて開始される。すなわち、イ
ンストラクション待ち行列バッファIQBに所定の最小
数の実行すべき命令が記憶されており、非アドレスシー
ケンシャルなプログラム経過に作用し得る命令が非アド
レスシーケンシャルなプログラム経過に作用しない場合
である。このためには場合によりまず、1つまたは複数
の別のアドレスシーケンシャルな命令がプログラムメモ
リPMから取り出される。このことにより、予備デコー
ドおよび予測ユニットPDUがエラー予測した場合、ま
たはジャンプ命令等が識別されたときに実行されない条
件ジャンプ等でない場合、非アドレスシーケンシャルな
プログラム経過に作用し得る命令が非アドレスシーケン
シャルなプログラム経過に作用しないこととなれば、1
つまたは複数の実行すべきこととなる命令を直ちに取り
出しのために準備することができる。
【0030】予備デコードおよび予測ユニットPDUが
1つの条件付きジャンプ命令等を識別したならば、有利
にはこれの前に実行すべきまたは実行された命令がジャ
ンプ条件に作用するか否か、および場合によりどのよう
に作用するかが監視される。このことによって、予備デ
コードおよび予測ユニットPDUによる誤った予測が早
期に識別され、補正することができる。
【0031】第1のジャンプ命令には直ちに、または後
で第2のジャンプ命令が続けば、前記の過程が繰り返さ
れる。しかしこのとき、第2のジャンプ目標から読み出
されたデータはインストラクション待ち行列バッファI
QBの別の領域にさらに書き込まれる。
【0032】予備命令取り出しユニットPFUにより前
に述べたようにプログラムメモリPMからインストラク
ション待ち行列ユニットIQUに取り出された命令デー
タは必要に応じて、すなわち該当する命令の実行時に、
命令取り出しユニットFUによってインストラクション
待ち行列ユニットIQUからマイクロコントローラの命
令実行装置EU、正確に言えば命令実行パイプラインの
デコード段に出力される。命令取り出しユニットFUは
必要な命令データを、インストラクション待ち行列バッ
ファIQBまたは予備デコードおよび予測ユニットPD
Uの命令データレジスタIRBから取り出す。命令取り
出しユニットはこのときまず、所望の命令データがイン
ストラクション待ち行列ユニットIQUの前記箇所の1
つにすでに準備されているか否かを検査する。準備され
ていれば、命令取り出しユニットはこれを命令実行装置
に出力する。所要の命令データがまだインストラクショ
ン待ち行列ユニットIQUになければ、命令取り出しユ
ニットFUは相応のデータをプログラムメモリPMから
取り出す。命令が到来するまでプログラム実行は中断さ
れる。命令取り出しユニットFUはこの時間の間、待機
サイクルを形成する。しかし新たなインストラクション
待ち行列およびこれをドライブする形式によって、この
ような場合は全く生じないか、または非常に希にしか生
じない。
【0033】所定の場合には、命令取り出しユニットF
Uにより必要な命令と共に同時にこれに続く命令もイン
ストラクション待ち行列ユニットから取り出すと有利で
ある。すなわちこの場合はいわゆる0サイクルジャンプ
も、デジタルフィルタのいわゆるMAC(multiply and
accumulate)ループと同じように非常に効率的に実行
することができる。
【0034】インストラクション待ち行列バッファIQ
Bが分割されている領域の数も、その大きさもこの実施
例とは異なって任意に変更できることは明らかであり、
このことにより所与の条件に適合することができる。こ
のときプログラム制御ユニットのユーザがインストラク
ション待ち行列バッファ自体を自分で調整して設定でき
るようにすると有利である。
【0035】前記のインストラクション待ち行列バッフ
ァIQBを使用すると次の場合よりもさらに効率的に構
成される。すなわち、命令データを形成するときに専用
コンパイラを使用し、このコンパイラが多数のジャンプ
命令が順次連続しないように構成されている場合、およ
び/またはジャンプ条件が時点で予備デコードおよび予
測ユニットPDUにより簡単かつ確実に識別されるよう
変更される場合、および/またはループおよび頻繁に実
行されるサブプログラムをできるだけ短く構成する場合
等である。
【0036】さらなる効率の向上は、インストラクショ
ン待ち行列ないしこれを表すインストラクション待ち行
列バッファIQBを命令待機ループとしてだけでなく、
命令キャッシュとしても使用すると得られる。この命令
キャッシュは、インストラクション待ち行列バッファI
QB4の4つのバッファ領域により完全に関連付けられ
たキャッシュバンクを有する。各バッファ領域には選択
自由に任意のアドレスを割り当てることができるから、
4つのバッファ領域に416バイトまでを含む命令シー
ケンスを種々のアドレスにより記憶することができる。
このことによりとりわけ、(繰り返し実行される)サブ
プログラムが短い場合、ループが短い場合(例えばデジ
タルフィルタリングを行うMACループ)、およびジャ
ンプ実行(例えばC言語プログラムでのスイッチ/ケー
ス問い合わせにより惹起される)の場合に格段に速度が
上昇する。
【0037】インストラクション待ち行列バッファIQ
Bの4つのバッファ領域により、少なくとも2つの順次
連続するジャンプ命令の際に、ジャンプ命令の連続アド
レスに記憶された命令データ、およびそれぞれのジャン
プ目標から記憶された命令データをインストラクション
待ち行列で準備することができる。
【0038】マイクロコントローラの命令実行装置EU
にはしたがって、ジャンプ命令の後でも直ちにすなわ
ち、待機時間なしでそれぞれ次に実行すべき命令ないし
それぞれ次に実行すべき命令を表す命令データを供給す
ることができる。
【0039】前記の装置および方法は、プログラム実行
時に休止の発生を最小に低減する。
【図面の簡単な説明】
【図1】本発明を説明するための概略図である。
【符号の説明】
IQU インストラクション待ち行列ユニット IQB インストラクション待ち行列バッファ PFU 予備命令取り出しユニット FU 命令取り出しユニット PDU 予備デコードおよび予測ユニット IRB PDUの命令データレジスタ PM プログラムメモリ EU 命令実行装置

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 プログラム制御ユニット用の命令取り出
    し装置であって、前もってプログラムメモリ(PM)か
    ら取り出された命令データを準備するためのインストラ
    クション待ち行列を有する形式の装置において、 インストラクション待ち行列は、命令データをインスト
    ラクション待ち行列に書き込む際、および/または命令
    データをインストラクション待ち行列から読み出す際
    に、複数の所定箇所をインストラクション待ち行列内で
    選択的にジャンプさせる、ことを特徴とする装置。
  2. 【請求項2】 プログラム制御ユニット用の命令取り出
    し方法であって、前もってプログラムメモリ(PM)か
    ら取り出された命令データを準備するためのインストラ
    クション待ち行列を有する形式の方法において、 命令データをインストラクション待ち行列に書き込む
    際、および/または命令データをインストラクション待
    ち行列から読み出す際、所定の事象に応答して選択的
    に、複数の所定箇所の1つにインストラクション待ち行
    列内でジャンプする、ことを特徴とする方法。
  3. 【請求項3】 インストラクション待ち行列は実質的に
    インストラクション待ち行列バッファ(IQB)によっ
    て形成され、当該インストラクション待ち行列バッファ
    は複数の領域に分割されている、請求項1記載の装置ま
    たは請求項2記載の方法。
  4. 【請求項4】 インストラクション待ち行列バッファ
    (IQB)の各領域は、複数の命令を表す命令データを
    記憶するように構成されている、請求項3記載の装置ま
    たは方法。
  5. 【請求項5】 インストラクション待ち行列バッファ
    (IQB)は、全体でまたは部分的に命令キャッシュと
    して使用されるように構成されている、請求項3または
    4記載の装置または方法。
  6. 【請求項6】 プログラムメモリ(PM)から読み出さ
    れた命令データを、予備デコードおよび予測ユニット
    (PDU)にて、当該命令データが命令を表し、その実
    行が非アドレスシーケンシャルなプログラム経過を引き
    起こすか、または引き起こし得るか否かを検査する、請
    求項1から5までのいずれか1項記載の装置または方
    法。
  7. 【請求項7】 予備デコードおよび予測ユニット(PD
    U)は、その実行が非アドレスシーケンシャルなプログ
    ラム経過を引き起こすか、または引き起こし得る命令の
    検出時に、どのアドレスからプログラム実行が、非アド
    レスシーケンシャルなプログラム経過の場合に継続され
    るか予測する、請求項6記載の装置または方法。
  8. 【請求項8】 その実行が非アドレスシーケンシャルな
    プログラム経過を引き起こすか、または引き起こし得る
    命令を検出した後、さらに当該の命令を実行する前に、
    非アドレスシーケンシャルなプログラム経過に作用し得
    る命令が実行時に非アドレスシーケンシャルなプログラ
    ム経過に作用する場合、実行すべき命令のプログラムメ
    モリ(PM)からの読み出しを開始する、請求項6また
    は7記載の装置または方法。
  9. 【請求項9】 プログラムメモリ(PM)から読み出さ
    れた命令が、非アドレスシーケンシャルなプログラム経
    過の場合に非アドレスシーケンシャルなプログラム経過
    に作用する命令の後に実行すべき場合、インストラクシ
    ョン待ち行列バッファの新たな領域に書き込む、請求項
    8記載の装置または方法。
  10. 【請求項10】 非アドレスシーケンシャルなプログラ
    ム経過の場合に、非アドレスシーケンシャルなプログラ
    ム経過に作用する命令の後で実行すべき命令の読み出し
    を、インストラクション待ち行列バッファ(IQB)に
    所定の最小数の実行すべき命令が記憶されている場合、
    非アドレスシーケンシャルなプログラム経過に作用し得
    る命令が非アドレスシーケンシャルなプログラム経過に
    作用しない場合に初めて開始する、請求項8または9記
    載の装置または方法。
  11. 【請求項11】 予備デコードおよび予測ユニット(P
    DU)は、実行すると所定の条件の満たされたときだけ
    非アドレスシーケンシャルなプログラム経過を惹起する
    命令を検出した場合、当該命令の前に実行すべき命令ま
    たは実行された命令が所定の条件を充足するか否か、お
    よび場合によりどのように充足するかを監視する、請求
    項6から10までのいずれか1項記載の装置または方
    法。
  12. 【請求項12】 命令データをインストラクション待ち
    行列から出力する際、次に実行すべき命令を表す命令デ
    ータと、後続の命令を表す命令データとを出力する、請
    求項1から11までのいずれか1項記載の装置または方
    法。
JP11032754A 1998-02-12 1999-02-10 プログラム制御ユニット用の命令取り出し装置および方法 Pending JPH11345121A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19805784 1998-02-12
DE19805784.9 1998-02-12

Publications (1)

Publication Number Publication Date
JPH11345121A true JPH11345121A (ja) 1999-12-14

Family

ID=7857533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11032754A Pending JPH11345121A (ja) 1998-02-12 1999-02-10 プログラム制御ユニット用の命令取り出し装置および方法

Country Status (4)

Country Link
US (1) US6367002B1 (ja)
EP (1) EP0936539B1 (ja)
JP (1) JPH11345121A (ja)
KR (1) KR19990072645A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242489A (ja) * 1998-12-21 2000-09-08 Casio Comput Co Ltd 信号処理装置の資源管理装置、プログラム転送方法、及び記録媒体
DE10009677A1 (de) * 2000-02-29 2001-09-06 Infineon Technologies Ag Programmgesteuerte Einheit
US9798548B2 (en) 2011-12-21 2017-10-24 Nvidia Corporation Methods and apparatus for scheduling instructions using pre-decode data
US20130166882A1 (en) * 2011-12-22 2013-06-27 Jack Hilaire Choquette Methods and apparatus for scheduling instructions without instruction decode
CN103379330A (zh) * 2012-04-26 2013-10-30 展讯通信(上海)有限公司 码流数据的解码预处理方法及解码方法,处理器,解码器
US11972361B2 (en) 2020-01-29 2024-04-30 Samsung Electronics Co., Ltd. Performance optimization of object grouping schema in a network key-value storage device using adaptive regression
US11243694B2 (en) 2020-01-29 2022-02-08 Samsung Electronics Co., Ltd. Grouping key value object IOs to improve IO performance for key-value storage devices

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521850A (en) * 1977-12-30 1985-06-04 Honeywell Information Systems Inc. Instruction buffer associated with a cache memory unit
JPS61217834A (ja) * 1985-03-25 1986-09-27 Nec Corp デ−タ処理装置
US4755935A (en) * 1986-01-27 1988-07-05 Schlumberger Technology Corporation Prefetch memory system having next-instruction buffer which stores target tracks of jumps prior to CPU access of instruction
JPH01205228A (ja) * 1988-02-10 1989-08-17 Hitachi Ltd 命令バツフアシステム
JP2875909B2 (ja) 1991-07-12 1999-03-31 三菱電機株式会社 並列演算処理装置
US5463748A (en) * 1993-06-30 1995-10-31 Intel Corporation Instruction buffer for aligning instruction sets using boundary detection
US5752263A (en) * 1995-06-05 1998-05-12 Advanced Micro Devices, Inc. Apparatus and method for reducing read miss latency by predicting sequential instruction read-aheads
US5872946A (en) * 1997-06-11 1999-02-16 Advanced Micro Devices, Inc. Instruction alignment unit employing dual instruction queues for high frequency instruction dispatch

Also Published As

Publication number Publication date
US6367002B1 (en) 2002-04-02
EP0936539A3 (de) 2002-03-20
EP0936539A2 (de) 1999-08-18
KR19990072645A (ko) 1999-09-27
EP0936539B1 (de) 2012-10-31

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
JP2603626B2 (ja) データ処理装置
JP2937485B2 (ja) スーパースカラプロセッサにおけるトラップを検出して実行する方法及び装置
US7596683B2 (en) Switching processor threads during long latencies
KR20100132032A (ko) 실행되는 명령의 결과를 선택적으로 커밋하는 시스템 및 방법
US6760835B1 (en) Instruction branch mispredict streaming
JPH1124929A (ja) 演算処理装置およびその方法
JP2000330787A (ja) 命令ループを実行するコンピュータシステムおよび命令ループ実行方法
JP3749233B2 (ja) パイプラインでの命令実行方法及び装置
US6851033B2 (en) Memory access prediction in a data processing apparatus
JPH11345121A (ja) プログラム制御ユニット用の命令取り出し装置および方法
US20040225866A1 (en) Branch prediction in a data processing system
EP1413953A2 (en) Instruction prefetch method and apparatus for conditional branch instructions
JPH0773104A (ja) キャッシュ・システム
KR20070108936A (ko) 조건부 명령어가 실행되지 않을 경우 소스 오퍼랜드를대기하는 것을 중지하는 방법
WO2002061574A1 (en) Computer instruction with instruction fetch control bits
JP2002014868A (ja) メモリ参照動作検出機構を有するマイクロプロセッサおよびコンパイル方法
US8266414B2 (en) Method for executing an instruction loop and a device having instruction loop execution capabilities
JP4728877B2 (ja) マイクロプロセッサおよびパイプライン制御方法
US7343481B2 (en) Branch prediction in a data processing system utilizing a cache of previous static predictions
JPH0342723A (ja) データ処理装置
JP2503223B2 (ja) 先行制御方式
US20040019772A1 (en) Microprocessor
JP2689894B2 (ja) マイクロプログラム制御型情報処理装置
JP4049490B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040415

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040924