JPS62152043A - 命令コ−ドアクセス制御方式 - Google Patents

命令コ−ドアクセス制御方式

Info

Publication number
JPS62152043A
JPS62152043A JP60294162A JP29416285A JPS62152043A JP S62152043 A JPS62152043 A JP S62152043A JP 60294162 A JP60294162 A JP 60294162A JP 29416285 A JP29416285 A JP 29416285A JP S62152043 A JPS62152043 A JP S62152043A
Authority
JP
Japan
Prior art keywords
instruction
access
instruction code
operand
detector
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
JP60294162A
Other languages
English (en)
Inventor
Yasushi Oi
康 大井
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP60294162A priority Critical patent/JPS62152043A/ja
Priority to DE86118090T priority patent/DE3689112T2/de
Priority to US06/947,209 priority patent/US4924376A/en
Priority to EP86118090A priority patent/EP0227118B1/en
Publication of JPS62152043A publication Critical patent/JPS62152043A/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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • 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/3824Operand accessing

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (技術分野) 本発明は逐次実行される命令コードのパイプライン処理
を行なう計算機システムに関し、%にその命令コードア
クセス制御方式に関する。
(発明の背景) 従来、命令コード処理に対してパイプライン処理方式を
採る計算機システムでは、命令コードの読み出し、デコ
ード、アドレス計算、オペランドアクセス、命令実行の
各段階を可能な限夛同時に処理することが考えられてき
た。
このようなバイツブ2イン処理方式を採る計算機システ
ムにおいて一般に、メモリ上にある命令コードは、オペ
ランド・データと共通のアドレスバス’Pデータバスを
介してアクセスでれるタメ、命令コードのメモリからの
読み出しに際しては、それと並行して実行されようとす
る光行命令のオペランドアクセスとの競合か生じ得る。
この競合を解決する方法としては、パイプラインの各段
階で発行されるメモリアクセス要求通知を討其後システ
ムのメモリインターフェース部分に集め、アービタによ
って要求の1つを選択してパイプライン動作とは無関係
なタイミングで非同期的にメモリアクセスを実行させる
のが一般的である。
この方法を用いる場合、メモリアクセス要求を発行する
パイプラインの各段階は、アクセス幾求したデータの待
合せや蓄積を行なうだめの緩衝機構を持たせ、パイプラ
インとそれと非同期に到着するアクセスデータとのタイ
ミングのずれを調節することが必要になる。しかし。
この方法ハ他の方法1部ちメモリアクセスをパイプライ
ン処理に組込む方法に比べ、パイプライン処理の動作周
期かメモリアクセス時間による制約を受けないため、パ
イプライン処理の性能改善によってシステム全体の性能
改善が容易に行なえるという利点を待つ。
従来の計算機システムにおいては、命令コードのパイプ
ラインへの安定した供給のために命令キューと呼はれる
緩衝PA構を設け、先行命令のオペランド・データ・ア
クセスが行なわれていないときにのみ命令コードが読み
込まれ、命令キューに蓄積される方式を採るのが一般的
であった1・2゜言い換えれは命令コードアクセスは、
オペランドデータアクセスに比べて優先度が常に低く設
定されていた。
しかし、この方法は次の2つの場合、すなわち・条件分
岐命令1割込み等でパイプライン処理が中断され、命令
キニーの内容をすべて無効としてパイプライン処理を栴
開する賽合拳オペランドデータアクセスが頻繁に発生す
る命令シーケンスの実行によシ命令コードアクセスが長
時間中断される場合 に、命令キューは十分な命令コードJiを確保できす、
パイプライン処理に支障會もたらす可能性が大きい と
いう欠点を有する。
これ全解決するためには、命令コードが命令キェー内で
不足している場合に命令コードアクセスをオペランドデ
ータアクセスに比べて優先度が高くなるように変更する
手段を設けれはよい。しかし、命令コードアクセスの優
先度の高い期間を長くしすきると次のような問題が生ず
る。
φ命令の実行段階のオペランドアクセスが行なえずパイ
1ライン処理が中断される恐れがある。
・分岐命令9割込み等の際に無効となる命令キュー内の
命令コードが増刑し、結果的に不必要なデータアクセス
が多くなる恐れがある。
これは鳴、にデータアクセスに要する時間に対し、パイ
プライン各段の処理に袈する時間が改善された場合、シ
ステム全体の性能同上をははひ要因となシうる。
以上の点を飴合的に考慮すると、命令コードアクセスの
蓑先度変更の方式としては、次のようなものが望ましい
といえる。
・分岐命令実行直後るるいは割込み発生直後に命令コー
ドアクセスの愛先度全オペランドアクセスよシ高く設定
し、命令キューにパイプライン処理を維持するのに十分
な命令コード1tを確保する。この設定は、次に実行さ
れる命令がしばらくの間パイプライン上に存在しないた
め、オペランドアクセスとの競合は起こシ得ない とい
う事実から考えると妥当といえる。
・分岐命令の実行をその実行前に予測し、近く分岐命令
が実行されると予測された時点で命令コードアクセスの
優先度を小さく設定する。
この設定によシ分岐時に無効となる命令コードI#を減
ら、すことか可能である。
本発明では、このような望ましい優先度変更の方式を実
桟する為に、計算機で実行されるプログラムのラン・レ
ングス run lengthという動的な性質を利用
する。
一般に計算像システムにおいて、一つの分岐命令が実行
δれてから次の分岐命令が実行されるまでに実行される
平均命令数あるい龜平均命令バイト数をあるンフトクエ
γプログラムに対して算出することか可能でるる。
後者は、命令ポインタ(プログラムカウンタ)がたどる
連続したアドレス領域の平均長であると言い侠えること
もできる。
これをそのプログラムの平均ランレングスと呼ぶ。
平均ラン・レングスは計算機システムで分岐の生する頻
度の逆数とみなすこともできる。
命令数に関する平均ランレングスは、当該計算戦システ
ムで実現されてい−る命令セット、及びそこで用いられ
るソフトウェアの性質に大きく依存する。たとえは、リ
スト処理(Li5t Process −ing )用
のプログラムでは平均ランレングスは短く、膨大な数値
演算を繰シ返し行なう場合の平均ランレングスは比較的
長くなる。
また、命令バイトHに関する平均ランレングスは当該計
算伽システムの命令フォーマットにも依存する。仮に命
令長がすべて3バイトであれば命令バイト数に関する平
均ランレングスは命令数に関するそれのちょうど3倍に
なるが、一般的には命令長は数麺存在し、各々が異なる
割合で使用されている。
3.4 いくつかの統計資料に依れは  、命令ポインタがたど
る連続したアドレス領域の長さの分゛廂は概ね弗2図の
ようになる。この図は、多くの場合平均ランレングスに
相当する命令数か実行されれば、続いて連続したアドレ
スの命令が実行される確生は小さいこと、さらに、連続
して実行されれはされるほど次に続くアドレスにある命
令が実行される確率が減少することを意味する。
よってプログラム実行時にそのプログラム%肩の平均ラ
ンレングスが既知であれは矢に実行される命令が分岐命
令である確率を計算し、分岐に関する予測をたてること
が可能でおる。
さらに本発明では命令コードアクセスの汲先度のみでな
く、メモリアクセスを行なう際の連続アクセス回数を変
更する方式についてもこのランレングスの性質を利用す
る。
メモリでアドレスの連続した細織のアクセスを高速化す
る技法としては、インターリーブやニブルアクセスなど
かめる。これらの技術を利用すれは、分岐命令の実行や
、割込みの発生によシ、先行して読み込まれていた命令
キエー内の命令コードが無効となっても、新しい開始ア
ドレスに続く命令を−1ずつアクセスするよシも高速に
読み込むことが可能となる。
(発明の目的) 不発明は次の2点、すなわち ・条件分岐命令1割込みKよる命令キューの内容の無効
化及びメモリへのオペランドデータアクセスの極端な増
加による命令キューの内容の減少に対処できること、即
ち、命令キュー内には平均的にパイプライン処理を維持
できる程度の命令コードが蓄えられていること。
・条件分岐命令1割込みによる命令キューの内容の無効
化の際に、無効となる命令の平均量を小さくすること を実現するような、命令コードアクセスとオペランドデ
ータアクセスの後先度の制Xlt”行なうことを目的と
する。
(発明の11取) 本発明の命令コードアクセス制卸方式は、命令コードの
先行フェッチを行なう計算機システムにおいて、前記命
令コードの先行フエ・ソチのためのメモリアクセス要求
と、命令実行に伴うオペランドの読み書きのためのメモ
リアクセス要求の優先順位決定手段及び当該計算機シス
テムの実行制御の不連続な移動事象が発生した時点から
の連続実行命令数をカウントし、その結果を予め設定さ
れた値と比較する命令カウンMilk比較手段ケ有し、 前記命令カウント値比較手段の出力によって、前記優先
順位決定手段の動作が決定されることを特徴とする。
なお、前述の計算機システムの実竹制鍔の不連続な移動
事象とは、分岐命令、サブルーチンコール/リターン命
令0割込み1例外発生による割卿の移wJt″意味して
いる。また、前記連続実行命令数のカランl−M朱を以
後命令カウント憧と呼ぶ。
(発明の作用) これにより、本発明音用いれば、前記平均ラン・レング
スと命令カウント値の差から、命令コードアクセスの一
先度、及び命令コードのメモリアクセスを行なう際の連
続アクセス−回数を決定すること、さらに前記差と命令
キューに実際に蓄えられている命令コード童から命令コ
ードアクセスの優先度及び命令コードのメモリアクセス
を行なう際の連続アクセス回数を決定することが可能と
なる0 さらに具体的には、命令カウント値が小さいほど命令コ
ードアクセスの優先#を高く、また命令コードのメモリ
アクセスを行なう際の連続アクセス回数を最も多く設定
し、その後命令カウント値か平均ランレングスに関連づ
けられ設定されたいくつかの値に達するごとに、命令コ
ードアクセスの優先度を下げあるいは命令コード連続ア
クセス回数を減らすという実現が可能となる。
(発明の効果) 本発明を用いれは、 分岐詰合実行直後あるいは割込み発生直後に命令コード
のメモリアクセスの(資)先度及び連続アクセス回数を
最高に設定することで、パイプライン処理に必要な命令
コード量をキューに早急に確保でき命令コードを供給を
安定させることができる。
さらに分岐命令からランレングス程匿の命令コード量を
読みこんだ後に命令コードアクセスの連続アクセス回数
を減らしあるいは優先度を下げることによって1次の分
岐命令実行時に無効となる確率の高い命令コードの読み
込みを控えることができ、これによシバイブライン中断
時に無効となる命令キエー内の命令コード量の平均値を
小さくすることができるという効果がある。
(実施例) 本発明を図面に基づいて説明する。
第2図は本発明の実施例を示している。
第2@において lはデータ抱子21及びデータバススイッチ12を経由
して読み込まれた命令コードを蓄積する命令バッファ 2昧命令バツフア1をキ具−とみなしたときその先頭ヲ
示すヘッドポインタ 3は命令バッファlをキエーとみなしたときその後尾を
示すティルボインタ 4は命令バヅファlにどれだけの命令コードがはいって
いるかをヘッドポインタ2とテイルボインタ3の内容か
ら計算するモジエロ減算器5は分岐命令の実行あるいは
割込みの発生等の要因により命令実行の制御が移動した
時点からどれだけの命令コードが読み込まれたかをカウ
ントする7エツテカウンタ 6はモジ具口減算器4の出力よシ命令バー/7ア1の中
が命令コードで完全に満たされているか否かを検出する
フルディテクタ 7はモジェロ減算器4の出力よシ命令バッフ了lの中に
命令コードが全く存在しないか否かを検出するエンプテ
ィディテクタ 8はフエ・ソテカウンタ5の出刃が1つ以上の指定され
た値に達したか否かを検出するカウントディテクタ 9はフルディテクタ6の出力よシ命令コードアクセス要
求の可否を決定し、命令バヅファlに対する入力要求信
号及びその応答としての入力認可信号をアービタ1” 
1との間で授受し、処理するフェッチコントローラ lOはエンプティディテクタ7の出力よシ命令供給の可
否を決定し、命令バリファlに対するデコーダからの命
令供給要求信号(24を介す)及びその応答としての命
令供給認可信号(25を介す)を授受し、処理するプリ
バーコントローラ11aフェッチコントローラ9よシ送
られた命令バヴ7アlに対する入力要求信号及びデコー
ダや命令実行部から送られたオペランド要求信号(26
を介す)に対してその優先順位をカウンタディテクタ8
の出力に基づき決定し、その結果を入力認可信号または
オペランド認可信号(27を介す)として返すとともに
、データバススイッチ12に対する制御信号、バスサイ
クルコントローラ13に対するトリガ信号を発行するア
ービタ12はアービタ11の出力に基づき、外部メモ゛
 りまたはキャッシュメモリへのアクセスパスであるデ
ータ端子21’に命令バー77アl ItC接続するか
あるいはオペランドデータバス28に接続するかの切り
換えを行なうデータバススイッチL3はマーピタ11の
出力から、バスサイクル起動のタイミング及びその種類
を受けとシ、もし、命令コードアクセスならカウンタデ
ィテクタ8の出力に基づき命令コードのメモリアクセス
時におけるアクセス手法やアクセス回数を制御するバス
サイクルコントローラ 21は外部メモリ(またはキャッシュメモリ)へのアク
セスバスであるデータ端子 22はデコーダへの命令コード転送経路23はデコーダ
からの命令キューの内容の無効化信号線 24はデコーダからの命令コード供給要求信号線 25はデコーダへの命令コード供給認5J1!号線26
はパイプライン処理の命令実行部からのオペランドアク
セス要求信号線 27はパイプライン処理の命令実行部からのオペランド
アクセス認町便号融 28はバイア〜ライン処理の命令実行部へのオペランド
データバス 29は外部メモリ(またはキャッシュメモリ)へのアク
セスのだめのバスサイクル起動信号線を各々表わす。
このようにして実現された本実施例の動作を次に説明す
る。
本実施例の動作は通常命令コードアクセス及び命令コー
ド供給という2つの動作が並行して行なわれることt−
特徴としている。
まず命令コードアクセス動作について説明する。
フェッチコントローラ9がフルディテクタ6の出力よシ
命令コードアクセスの可否を判定し、アクセス可能なら
アービタ11に対し命令コードアクセス要求を通知する
。アービタ11はその入力要求信号及びデコーダや命令
実行部から送られるオペランド要求信号に対してその曖
先順位をカウンタディテクタ8の出力に基ついて決定し
、最優先されるべきアクセスをバスサイクルコントロー
ラ13に通知するとともに、データバスを切り換えるよ
うデータバススイッチ12に通知する。バスサイフルコ
ントクーラ13では、命令コードアクセスを行なう場合
前記通知を受けるとカウンタディテクタ8の出力に基づ
いてアクセス方法やアクセス回数を決定し、バスサイク
ルを起動する。
その結果、外部メモリまたはキャッシュメモリからのア
クセスパス21を経由したデータはデータバススイッチ
12を経由して命令バッファlに入力される。その後フ
ェッチ−コントローラ9はヘッドポインタ2及びフェヴ
チカウンタ9を更新する信号を出力する。
ヘッドポインタ20更新結果は、モジ墓口減算器4に入
力される。モジュロ減算器4は、今回の更新に対して命
令バッファiにある命令コード量を新たに計算し、フル
ディテクタ6及びエンプティディチクタフに通知する。
フルディテクタ6で次の命令コードアクセスによって命
令バッフ了1が満杯になるか否かが判定され、その結果
がフェッチコントローラ9に通知される。この通知によ
りフェ・ソチコントローラ9は矢の命令コードアクセス
の可否を判定する。
一方、フェ9チカウンタ5の更新結果はカウントディテ
クタ8に入力される。カウントディテクタ8では表1の
ような論理を実現して、アービタ11及びバスサイクル
コントローラL3にその結果を通知する。この結果は次
の命令コードアクセスの際に使用される。
次に、命令コード供給動作について説明する。
デリバコントローラIO−がデコーダから命令コード供
給リクエスト信号管受けとるとエンプティディテクタ7
の出力より命令コードの供給可否を判定し、供給可能な
らデコーダに対し、命令コード供給認可信号を発行する
。それと同時に命令バッファlの中の命令コードのうち
、テールポインタ3で指示されるものがデコーダに対し
て供給される。その後、デリバコントローラ゛10はテ
ィルボインタ3を更新する信号を出す。ティルボインタ
3の更新結果はモジュロ減算器4に入力ちれる。
モジュロ減算器4は命令バッフ了1にある命令コードj
ti’ t B tubし、フルディテクタ6及びエン
プティディテクタ7に通知する。エングティディテクタ
で現在命令キューが空であるか否かが判定され、その結
果がデリバコントローラlOに通知される。
この通知によりデリバコントローラ10は次の命令供給
の可否を判定する。
以上述べた通常の2つの動作、すなわち命令コードフエ
ツチと命令コード供給の他に、本実施例は特殊動作とし
てキュー内容の無効化という動作が行なわれる。
以下ではその動作について説明する。
デコーダで分岐命令が生ずると判定された場合あるいは
計算機システムに対し割込みが通知された場合に、命令
キュー内容無効化信号か発行される。この信号はヘッド
ホインク2%ティルボインタ3、及び7エヴチカウンタ
5に通知され、各々を初期化する。これによシ命令バヴ
ファlは空になったものとみなされる。
本実施例ではカウンタディテクタ8で定数p。
mに対してフエツチカウンタ5の出力と比較しているが
、これらの<=”i任意に設定できるようなレジスタを
持つことも可能である。
これによシ、設計省は計算機システムで用いられるソフ
トウェアの種類に応じて、シミュレーシ目ン等で得られ
た統計的結果に基づき、最適なパラメータit前記レジ
スタに設定することかできる。
さらに計算機システム自身が、ランレングスに関する統
計を取シながら、カウンタディテクタ8に設定された1
*p、mを動的に更新していくことも可能である。
これによシ、計算機システム自身が無駄な命令コードア
クセスthなわないように自分自身全プログラムの性質
にあわせて謂整していくことかできる。
さらに、2つの値pe”のみでなく、3つ以上の値をカ
ウンタディテクタに設定することで%優先腋やメモリア
クセス回数及びそれらの組合せに対してさらにきめ細か
い命令コードアクセス制−を行なうこともム」能であシ
逆に2つのうちの一方のpのみ、mのみ七カウンタディ
テクタに設定し、優先度のみおるいはメモリアクセス回
数のみに対する命令コードアクセス制御を行なうことも
51能である。
以上のように従来の命令コード先取シ制御に、新しくフ
エツチした命令コード量に応じた制御27IOえること
によシ、分岐命令によるパイ1ライン処理の乱れに対し
ても強い命令キュー管理を行なうことが′5′J能とな
るため、本発明の意義は大きいと考えられる。
【図面の簡単な説明】
第1図は、計算機システムにおいて、命令ポインタがた
どる連続したアドレス領域の長さの分布を示す図でおる
。横軸は分岐等による制?i11移動から次の制卸移動
までに実行された命令コード量(ランレングス)、縦軸
は前記命令コード蓋の連帆夾行か生ずる相対頻度、破岩
は前9[ランレングスの@配孔対頻度を重みとする平均
−(平均ランにンクス匍)を示す。 第2図は不発明の実施例を示す図でりる。 第2図において ■・・・・・・データ端子21及びデータバススイッチ
12を経由して読み込まれた命令コードを蓄積する命令
バッファ 2・・・・・・命令バッファlをキューとみなしたとき
その先頭ヲ示すヘッドポインタ 3・・・・・・命令バヴ7アt′t−キエーとみなした
ときその後尾を示すティルボインタ 4・・・・・・命令バッファlにどれだけの命令コード
かはいっているかをヘッドポインタ2とティルボインタ
3の内容から計算するモジュロ減算器5・、・・・・・
分岐命令の実行あるいれ割込みの発生叫の要因によシ命
令実行の制御か移動した時照がらどれだけの命令コード
が読み込まれたがをカウントする2エヅチカクンタ 6・・・・・・モジュロ減算器4の出力よシ砧令バッフ
ァlの中が命令コードで完全に満たされているか否かを
検出するフルディテクタ 7・・・・・・モジュロ?lk′J4.器4の出力より
命令バッファlの中に命令コードが全く存在しないが否
がを検出するエンプティディテクタ 8・・・・・・7エヴチカウンタ5の出力が1つ以上の
指定された値に達したか否かを検出するカウントディテ
クタ 9・・・・・・フルディテクタ6の出力よシ、命令コー
ドアクセス要求の可否を決定し、命令バヅファlに対す
る大力要求信号及びその応答としての入力認可信号をア
ービタL1との間で授受し、処理する7エヴチコントロ
ーラ lO・・・・・・エン1テイデイチクタフの出方より命
令供給の可否を決定し、命令バ9フ了lに対するデコー
ダからの命令供給要求信号(24を介す)及びその応答
としての命令供給認可信号(25t−介す)全授受し、
処理するプリバーコントローラ11・・・・・・フェッ
チコントローラ9↓シ送られた命令′<ツ7アlに対す
る大力要求信号及びデコーダや命令実行部から送られた
オペランド要求信号(26を介す)に対してその優先順
位をカウンタディテクタ8の出刃に基づき決定し、その
結果を入力認可信号またはオペランド誌可信号(27を
介す)として返すとともに、データバススイッチエ2に
対する制御信号、バスサイクルコントローラL3に対す
るトリガ信号を発行するアービタ12・・・・・・アー
ビタ11の出力に基づき、外部メモリまたはキャッシュ
メモリへのアクセスバスであるデータ端子21は命令バ
ヴファlに接続するかあるいはオペランドデータバス2
8に接続するかの切シ換えを行なうデータパススイヴチ
13・・・・・・アービタtiの出力から、バスサイク
ル起動のタイミング及びその種類を受けとシ、もし、命
令コードアクセスならカウンタディテクタ8の出刃に基
づき命令コードのメモリアクセス時におけるアクセス手
法やアクセス回数を制御するバスサイクルコントローラ 21・・・・・・外部メモリ(またはキャッシュメモリ
)へのアクセスバスであるデータ端子 22・・・・・・デコーダへの命令コード転送経路23
・・・・・・デコーダからの命令キエーの内容の無効化
信号線 24・・・・・・デコーダからの命令コード供給費求信
g線 25・・・・・・デコーダへの命令コード供給認可信号
線 26・・・・・・パイプライン処理の命令実行部からの
オペランドアクセス要求信号線 27・・・・・・パイプライン処理の命令実行部からの
オペランドアクセス認可信号線 28・・・・・・パイプライン処理の命令実行部へのオ
ペランドデータバス 29・・・・・・外部メモリ(またはキャッシュメモリ
)へのアクセスのためのバスサイクル起動信号線を各々
表わす。 第3図は、第2図におけるカウントディテクタが実現し
ている機能を示す図である。 第3図において、 X・・・・・・カウントディテクタ9への入力となる命
令カウント値を意味する。 p・・・・・・カウントディテクタ9内で設定される1
つの服でるり、カウントディテクタ9はバスサイタルコ
ントローラ13に対し、バスサイクル’tt回行なうか
2回行なうかを命令カウント埴がPに達したとき切シ侠
える m・・・・・・カウントディテクタ9内で設定される1
つの値でアシ、カウントディテクタ9はアービタtiに
対し、命令コードアクセスとオペランドデータアクセス
の優先順位を命令カウント値がmK達したとき切シ換え
る。

Claims (1)

  1. 【特許請求の範囲】 命令コードの先行フェッチを行なう計算機システムにお
    いて、前記命令コードの先行フェッチのためのメモリア
    クセス要求と、命令実行に伴うオペランドの読み書きの
    ためのメモリアクセス要求の優先順位決定手段、及び当
    該計算機システムの実行制御の不連続な移動事象が発生
    した時点からの連続命令実行数をカウントし、その結果
    を予め設定された値と比較する命令カウント値比較手段
    を有し、 前記命令カウント値比較手段の出力によって前記優先順
    位決定手段の動作が決定されることを特徴とする命令コ
    ードアクセス制御方式 (注)「計算機システムの実行制御の不連続な移動事象
    」とは、分岐命令、サブルーチンコール/リターン命令
    、割込み、例外事象による制御移動のことをいう。
JP60294162A 1985-12-26 1985-12-26 命令コ−ドアクセス制御方式 Pending JPS62152043A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP60294162A JPS62152043A (ja) 1985-12-26 1985-12-26 命令コ−ドアクセス制御方式
DE86118090T DE3689112T2 (de) 1985-12-26 1986-12-29 Zugriffssteuerungssystem für den Befehlskode.
US06/947,209 US4924376A (en) 1985-12-26 1986-12-29 System for dynamically adjusting the accumulation of instructions in an instruction code prefetched pipelined computer
EP86118090A EP0227118B1 (en) 1985-12-26 1986-12-29 Instruction code access control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60294162A JPS62152043A (ja) 1985-12-26 1985-12-26 命令コ−ドアクセス制御方式

Publications (1)

Publication Number Publication Date
JPS62152043A true JPS62152043A (ja) 1987-07-07

Family

ID=17804115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60294162A Pending JPS62152043A (ja) 1985-12-26 1985-12-26 命令コ−ドアクセス制御方式

Country Status (4)

Country Link
US (1) US4924376A (ja)
EP (1) EP0227118B1 (ja)
JP (1) JPS62152043A (ja)
DE (1) DE3689112T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100848A (ja) * 1991-10-11 1993-04-23 Matsushita Electric Ind Co Ltd 命令プリフエツチ装置
JP2013097638A (ja) * 2011-11-02 2013-05-20 Renesas Electronics Corp キャッシュメモリ装置、キャッシュ制御方法、およびマイクロプロセッサシステム

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0284100A3 (en) * 1987-03-27 1991-10-09 Nec Corporation Information processor having instruction prefetch function
US5222223A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Method and apparatus for ordering and queueing multiple memory requests
US5179673A (en) * 1989-12-18 1993-01-12 Digital Equipment Corporation Subroutine return prediction mechanism using ring buffer and comparing predicated address with actual address to validate or flush the pipeline
US5257360A (en) * 1990-03-23 1993-10-26 Advanced Micro Devices,Inc. Re-configurable block length cache
US5784711A (en) * 1990-05-18 1998-07-21 Philips Electronics North America Corporation Data cache prefetching under control of instruction cache
JP2532300B2 (ja) * 1990-10-17 1996-09-11 三菱電機株式会社 並列処理装置における命令供給装置
US5226138A (en) * 1990-11-27 1993-07-06 Sun Microsystems, Inc. Method for selectively transferring data instructions to a cache memory
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
JP2779557B2 (ja) * 1991-07-09 1998-07-23 三菱電機株式会社 並列演算処理装置
US5285527A (en) * 1991-12-11 1994-02-08 Northern Telecom Limited Predictive historical cache memory
US5434986A (en) * 1992-01-09 1995-07-18 Unisys Corporation Interdependency control of pipelined instruction processor using comparing result of two index registers of skip instruction and next sequential instruction
US5363490A (en) * 1992-02-03 1994-11-08 Unisys Corporation Apparatus for and method of conditionally aborting an instruction within a pipelined architecture
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
DE69311330T2 (de) 1992-03-31 1997-09-25 Seiko Epson Corp Befehlsablauffolgeplanung von einem risc-superskalarprozessor
JP3637920B2 (ja) 1992-05-01 2005-04-13 セイコーエプソン株式会社 スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法
DE69329778T2 (de) 1992-09-29 2001-04-26 Seiko Epson Corp System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor
US6735685B1 (en) * 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
EP0849665B1 (en) 1992-12-31 2001-10-04 Seiko Epson Corporation System and method for register renaming
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
US5751945A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system
US5797019A (en) * 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
US5752062A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system
US5748855A (en) * 1995-10-02 1998-05-05 Iinternational Business Machines Corporation Method and system for performance monitoring of misaligned memory accesses in a processing system
US5729726A (en) * 1995-10-02 1998-03-17 International Business Machines Corporation Method and system for performance monitoring efficiency of branch unit operation in a processing system
US5691920A (en) * 1995-10-02 1997-11-25 International Business Machines Corporation Method and system for performance monitoring of dispatch unit efficiency in a processing system
US5949971A (en) * 1995-10-02 1999-09-07 International Business Machines Corporation Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system
US5724533A (en) * 1995-11-17 1998-03-03 Unisys Corporation High performance instruction data path
US5905881A (en) * 1995-11-30 1999-05-18 Unisys Corporation Delayed state writes for an instruction processor
US5761452A (en) * 1996-03-18 1998-06-02 Advanced Micro Devices, Inc. Bus arbiter method and system
US5867699A (en) * 1996-07-25 1999-02-02 Unisys Corporation Instruction flow control for an instruction processor
US5796972A (en) * 1997-01-14 1998-08-18 Unisys Corporation Method and apparatus for performing microcode paging during instruction execution in an instruction processor
US6275924B1 (en) * 1998-09-15 2001-08-14 Texas Instruments Incorporated System for buffering instructions in a processor by reissuing instruction fetches during decoder stall time
US20020135611A1 (en) * 1999-03-04 2002-09-26 Trevor Deosaran Remote performance management to accelerate distributed processes
US6580431B1 (en) 1999-03-04 2003-06-17 Nexmem System, method, and computer program product for intelligent memory to accelerate processes
JP3838405B2 (ja) * 2000-02-01 2006-10-25 富士通株式会社 中央処理装置および中央処理システム
US7139898B1 (en) * 2000-11-03 2006-11-21 Mips Technologies, Inc. Fetch and dispatch disassociation apparatus for multistreaming processors
US7114063B1 (en) 2000-12-01 2006-09-26 Unisys Corporation Condition indicator for use by a conditional branch instruction
WO2006026123A2 (en) * 2004-08-31 2006-03-09 Silicon Optix Method and apparatus for executing instructions from an auxiliary data stream
US8516466B2 (en) * 2010-06-30 2013-08-20 International Business Machines Corporation Optimization of automated system-managed storage operations

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3348209A (en) * 1964-11-27 1967-10-17 Rca Corp Buffer
US3898624A (en) * 1973-06-14 1975-08-05 Amdahl Corp Data processing system with variable prefetch and replacement algorithms
JPS5837585B2 (ja) * 1975-09-30 1983-08-17 株式会社東芝 ケイサンキソウチ
JPS5248440A (en) * 1975-10-15 1977-04-18 Toshiba Corp Memory access control system
JPS5247638A (en) * 1975-10-15 1977-04-15 Toshiba Corp Information processing device
US4057846A (en) * 1976-06-07 1977-11-08 International Business Machines Corporation Bus steering structure for low cost pipelined processor system
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4453214A (en) * 1981-09-08 1984-06-05 Sperry Corporation Bus arbitrating circuit
US4541045A (en) * 1981-09-21 1985-09-10 Racal-Milgo, Inc. Microprocessor architecture employing efficient operand and instruction addressing
US4648034A (en) * 1984-08-27 1987-03-03 Zilog, Inc. Busy signal interface between master and slave processors in a computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100848A (ja) * 1991-10-11 1993-04-23 Matsushita Electric Ind Co Ltd 命令プリフエツチ装置
JP2013097638A (ja) * 2011-11-02 2013-05-20 Renesas Electronics Corp キャッシュメモリ装置、キャッシュ制御方法、およびマイクロプロセッサシステム

Also Published As

Publication number Publication date
DE3689112D1 (de) 1993-11-04
US4924376A (en) 1990-05-08
EP0227118A2 (en) 1987-07-01
EP0227118B1 (en) 1993-09-29
EP0227118A3 (en) 1989-11-08
DE3689112T2 (de) 1994-04-21

Similar Documents

Publication Publication Date Title
JPS62152043A (ja) 命令コ−ドアクセス制御方式
EP0966710B1 (en) Penalty-based cache storage and replacement techniques
EP0507571B1 (en) Receiving buffer control system
CA1244554A (en) Pageable branch history table
US4597044A (en) Apparatus and method for providing a composite descriptor in a data processing system
US6820173B1 (en) Data prefetcher with predictor capabilities
CN104731719B (zh) 一种缓存系统和方法
US7937710B1 (en) Context switch signaling method and system
JP3760041B2 (ja) 分岐予測する情報処理装置
JPH08212054A (ja) バッファ・メモリを動作させる方法及び関連する装置
JPH0628180A (ja) プリフェッチバッファ
JP2002297379A (ja) ハードウェアプリフェッチシステム
JP2004038345A (ja) プリフェッチ制御装置、情報処理装置及びプリフェッチ制御方法
US6711651B1 (en) Method and apparatus for history-based movement of shared-data in coherent cache memories of a multiprocessor system using push prefetching
WO2001038970A2 (en) Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks
KR20090063401A (ko) 라이트 백 동작을 수행하는 캐시 메모리와 이를 포함하는시스템
EP2562652B1 (en) System and method for locking data in a cache memory
US11003581B2 (en) Arithmetic processing device and arithmetic processing method of controlling prefetch of cache memory
EP1628209B1 (en) System controller, speculative fetching method, and information processing apparatus for executing speculative fetch depending on hardware resource availability.
US5724548A (en) System including processor and cache memory and method of controlling the cache memory
JP2013041414A (ja) 記憶制御システムおよび方法、置換方式および方法
JP2008015562A (ja) キャッシュミス/ヒット予想
CN114610388A (zh) 一种指令跳转方法、处理器及电子设备
JP2534662B2 (ja) 命令キヤツシユ制御方法
JP4413663B2 (ja) 命令キャッシュシステム