JPS6349937A - 命令先取り制御装置 - Google Patents

命令先取り制御装置

Info

Publication number
JPS6349937A
JPS6349937A JP19462186A JP19462186A JPS6349937A JP S6349937 A JPS6349937 A JP S6349937A JP 19462186 A JP19462186 A JP 19462186A JP 19462186 A JP19462186 A JP 19462186A JP S6349937 A JPS6349937 A JP S6349937A
Authority
JP
Japan
Prior art keywords
instruction
instruction prefetch
buffer
prefetch
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.)
Pending
Application number
JP19462186A
Other languages
English (en)
Inventor
Shigeru Hashimoto
繁 橋本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP19462186A priority Critical patent/JPS6349937A/ja
Publication of JPS6349937A publication Critical patent/JPS6349937A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [概要] 命令実行ユニットと命令先取りバッファとを含む演算制
御装置(CPU)と、これに接続される主記憶装置によ
り構成され、命令実行ユニットは命令先取りバッファを
介して、主記憶装置に格納されているいくつかの命令を
先取りして読み出し、その命令を逐次実行するようにし
た命令先取り制御装置であって、命令先取りバッファに
おける命令先取りバイト数を、ジャンプ命令の頻度、デ
ータバスのビット数等の環境により最適になるように任
意に設定できるようにしたものである。
[産業上の利用分野コ 本発明は、命令先取り制御装置に関し、更に詳しくは、
命令実行ユニットと命令先取りバッファとを含む演n制
御2(l装置と、これに接続される主記憶装置により構
成されるマイクロブロセツナ装置における命令先取り制
御を行うための装置に関する。
命令先取り制御は、処理の高速化のために有効な手法で
あって、命令実行ユニットで実行する命令のいくつかを
、予め主記憶装置から先取りして読み出し、これを命令
先取りバッファに格納し、命令実行ユニット−1よ、一
つの命令を完了するごとに命令先取りバッファに格納さ
れた命令を実行するものである。従って、命令実行ユニ
ットは、ひとつの命令を終了するたびに、主記憶装置か
ら次の命令を読み出す必要がなくなり、高速処理が行え
る。
[従来の技術] 第5図は、従来の命令先取り制御装置の構成例を示すブ
ロック図である。図において、1は演算制御装置(CP
tJ)で、例えば8086(16ビツトマイクロプロセ
ツサ)が用いられる。この演算制御装置1において、2
は命令実行ユニット、3は命令実行ユニット2からの論
理アドレスを入力し物理アドレスに変換するアドレス変
換ユニット、4はバスインターフェイスユニツ[−15
は命令先取り制御を行う命令先取り制御ユニット、6は
先取りした命令を一時格納する命令先取りバッファであ
る。7はプログラムステップが格納された主記憶装置、
8はI10制御アダプタで、これらはバスを介してCP
U l内のバスインターフェイスユニット4に接続され
ている。
このように構成された装置において、命令実行ユニット
2は、主記憶装置7に記憶された各種の命令を、バスイ
ンターフェイスユニット4.バスを介して読み出し実行
する。命令先取り制御ユニット5は、主記憶装置7に記
憶された命令のいくつかを予め命令先取りバッフ76に
格納しておき、命令実行ユニット2がひとつの命令を実
行するごとに、主記憶装置7まで命令を読み出しにゆく
手間を省くように制御するものである。
[発明が解決しようとする問題点〕 このような従来の命令先取り制御jjV:置は、命令先
取りバッフ76のバイト数が例えば6バイトといったよ
うに固定されており、その値は、(a )プロセッサの
1命令当りのバイト数、(b)命令先取りを無効化する
ジャンプ命令の頻度、(C)バスインターフェイスユニ
ットのバス性能(バス幅、バスサイクルタイム)等を考
慮して最適値に選定され、固定される。
しかしながら、命令先取りを無効化するジャンプ命令の
頻度や、バスサイクルタイムは、主記憶装置7に格納す
るプログラムの内容や、外部ハードウェアの構成等によ
って変化する。又、プロセッサの32ピツト化及びバス
インターフェイスの互換性〈16ビツト)を考慮したプ
ロセッサでは、バスインターフェイスユニット4のバス
幅(ビット数)は、初期化において可変となっている。
このため、命令先取りバッファ6のバイト数を固定する
と、プログラムの内容や、外部ハードウェアの構成によ
っては命令先取りの機能が有効に働かなくなり、高速処
理を阻害するという不具合が生ずる。
本発明は、このような点に鑑みてなされたものであって
、命令先取りバッフ76のバイト数を任意に可変できる
設定手段を設け、ジャンプ命令の頻度やデータバスのビ
ット数等の環境により、命令先取リバッフ76のバイト
数を碌適値に設定できるようにし、常にプロセッサの高
速処理を可能とする命令先取り制御装置を度供すること
を目的としている [問題点を解決するための手段] 第1図は、本発明の命令先取り制御装置の原理ブロック
図である(第5図と同一のものは同一の符号を付して示
す)。図において、51は命令先取り制御ユニット5内
に設けられた先取りバイト数設定手段であり、52は設
定情報入力手段で、ここに設定された設定値は、例えば
電源投入後−定時間経過してから先取りバイト数設定手
段51に設定されるようになっている。
[作用] 設定情報入力手段52には、主記憶装置7に記憶される
プログラムの内容、特にジャンプ命令の頻度やデータバ
スのビット数等の各種環境を考慮して最適な値が選定さ
れ、ここに設定される。先取りバイト数設定手段51は
、例えば電源投入後一定時間後に設定情報入力手段52
に設定された設定情報を読み込み、命令先取り制御ユニ
ット5は先取りバイト数設定手段51が読み込んだバイ
ト数を基に命令先取り制御を行う。
[実施例] 以下、図面を参照して本発明の実施例を詳細に説明する
第2図は本発明の一実施例を示す構成ブロック図である
。第1図と同じものは、同一の符号を付して示t0命令
実行ユニット2と主記憶装置7とを結ぶバスインターフ
ェイスユニット4において、41はバス制御を行うバス
制御部で、制0(l線/1、応答線42が接続される。
42はデータの授受を行うトランシーバ/レシーバ、4
3はドライバでデータの中のコードを命令先取りバッフ
76に出力する。これらはいずれもデータ線)ot、:
lfF続されている。
44は命令実行ユニツ1−2から出力されるオペランド
・アクセス要求信号と、命令先取り制御ユニット5から
出力されるコード・フェッチ要求信号との競合を判定す
る競合判定部で、ここからバス制御部41にアクセス要
求が出力される。45はコードアドレスを一時格納する
コードアドレスレジスタで、ここからのアドレス信号は
マルチプレクサ(MPX)で切換えられ、アドレス線4
Aに出力される。
命令先取りバッフ76が空いているかどうかによって命
令先取りの制御を行う命令先取り制御ユニット5におい
て、51は先取りバイト数設定手段で、設定情報入力手
段52にJ二つて設定されlこバイト数情報をラッチ信
号LAによって設定する。
53はバッファカウンタで、バス制闘部41から出力さ
れるレスポンスをカウントアツプ信号とすると共に後)
ホする比較手段54から出力されるレスポンス信号をカ
ウントダウン信号とする。又、命令実行ユニット2から
出力されるジャンプ命令実行信号によって○”クリアさ
れる。
比較手段54は、命令実行ユニット2から出力されるコ
ード・フェッチ要求バイト数と、バッファカウンタ53
のカウント数とを比較し、その比較結果を命令実行ユニ
ット2にレスポンス信号として与えると共に、バッファ
カウンタ53にカウントダウン信号として与えている。
55は比較手段で、先取りバイト数設定手段51からの
設定値と、バッファカウンタ53のカウント数とを比較
し、その比較結果をコード・フェッチ要求信号として競
合判定部44に与える。
命令先取りバッフ76は、ドライバ43からのコードを
一時格納し、命令実行ユニット2に出力する。
第3図は、先取りバイト数設定手段51と、設定情報入
力手段52の一例を示す回路図である。
設定情報入力手段52は、−+iがアースラインに接続
され、他端が抵抗Rを介して+5v電諒に接続されたス
イッチ81〜S4とで構成され、スイッチ81〜$4を
オン又はオフとすることにより、1”又は゛O”′の信
号が得られるようにしである。先取りバイト数設定手段
51は、例えばレジスタで構成されており、スイッチ8
1〜S4の設定によって得られるコード化されたバイト
数設定情報を、ラッチ端子に印加される例えば装置の電
源回路(図示せず)から出力されるリセット信号R8T
をラッチ信号LAとして用いてラッチするようにしてい
る。
第4図は、先取りバイト数設定手段51のラッチタイミ
ングを示す波形図である。この例で(ま例えばcpui
の電源を投入後、リセット(、ffi @ RS]−で
装置の初期化を行い、RS Tの終わりの立上りをラッ
チ信号LAとして用いて設定情報をラッチするようにし
ている。
このように構成された装置の句作を、命令先取り、命令
実行ユニットによるコードフェッチ及びオペランドアク
セスに分けて説明すれば以下の通りである。尚、はじめ
に設定情報入力手段52には、主記憶装置7に格納され
たプログラム(flit令)の内容、このプログラムの
中にあるジャンプ命令の頻度、データバスのビット数等
の環境を考慮して、最適な先取りバイト数がスイッチ8
1〜S4によって、コード信号で設定されるものとする
し命令先取り〕 装置の電源が投入され、初期化が終了すると、リセット
信号R8Tが出力され、先取りバイト数設定手段51は
このリセット信号R8Tをラッチ信号LAとして用いて
設定情報入力手段52に予め設定されている最適な先取
りバイト数SBをラッチする。
バッファカウンタ53は、命令先取りバッフ76に先取
りされている命令のバイト数をカウントしており、最初
は“O″にクリアされている。比較手段55は、先取り
バイト数設定手段51に設定された最適先取りバイト数
88と、バッファカウンタ53のカウント値BCとを比
較し、カウント値BCが小さい時(BC<SB) 、バ
スインク−フェイスユニット4の競合判定部44にコー
ド・フェッチ要求を出力する。競合判定部44(ま、命
令実行ユニット2からのオペランド・アクセス要求と、
コード・フェッチ要求の競合判定を行0、オペランド・
アクセス要求が出力されていない場合、コード・フェッ
チを実行する。
ジャンプ命令実行後の最初のコード・フェッチでは、バ
スインターフェイスユニット4【よ、アI:レス変換ユ
ニット3内に設けられたコードレジスタ31の内容を、
バスインターフェイスユニット4内のコードアドレスレ
ジスタ45にラッチすると同時にこのアドレスによりコ
ードをフェッチする。コードフェッチを終了すると、コ
ードアドレスレジスタ45の値及びバッファカウンタ5
3のカウント値BCをそれぞれカウントアツプする。
一方、ジャンプ命令実行後の最初でないコードフェッチ
の場合は、バスインターフェイスユニット4はコードア
ドレスレジスタ45にセットされている内容をアドレス
としてバスをアクセスする。
C命令実行ユニットによるフードフェッチ]命令実行ユ
ニット2は、命令先取り制御ユニット5の比較手段54
に対し、フードフェッチ要求バイト数の信号を出力し、
コードフェッチを要求する。比較手段54はこの要求バ
イト数Reをバッファカウンタ53のカウント1111
 B Cと比較し、バッファカウント値BCが大きい場
合<BC>RB)、レスポンスを命令実行ユニット2に
通知すると共に、バッファカウンタ53のカウント値B
Cをカウントダウンする。、f?I令実行ユニット2G
よ、レスポンスを命令先取り制御ユニット5から受ける
と、命令先取りバッファ6からコードを読み出しコード
・フェッチする。又、命令実行ユニット2は、ジャンプ
命令実行信号をバッファカウンタ53に出力し、このバ
ッファカウンタ53を′0″にクリアする。
Lオペランド・アクセスコ 命令実行ユニット2によるオペランド・アクヒスは、オ
ペランド・アクセス要求信号がバスインターフェイスユ
ニット4の競合判定部44に通知され、競合判定部44
は、コード・フェッチ要求との競合を判定し、先取りす
る命令要求が無いと判定されれば、バス制御部41にア
クセスを要求し、レスポンスデータを命令実行ユニット
2に通知づる。
尚、上記の説明では、設定情報入力手段52に設定した
最適な先取りバイト数SBを、先取りノ\イト数設定手
段51が、装置の電源を投入し、初期化が終了した時点
で出力されるリセット信号を利用してラッチする場合を
例にとって説明した。
しかしながら、本発明はこれに限るものではなく、例え
ば手動によるリセット信号を利用してもよい。
[発明の効果1 以上詳細に説明したように、本発明によれば、設定情報
入力手段を設け、これにより、命令先取りバッファにお
ける命令先取りバイ1−数を任意に変更できるように構
成したものである。従って、ジャンプ命令の頻度やデー
タバスのビット数等、環境に応じて最適の命令先取りバ
イト数を設定でき、常にプロセッサの高速処理を可能と
する命令先取り制御2II装置が実現できる。
【図面の簡単な説明】
第1図は本発明の命令先取り制御11装置の原理ブロッ
ク図、第2図は本発明の一実施例を示す構成ブロック図
、第3図は第2図における先取りバイト数設定手段と設
定情報入力手段の一例を示す回路図、第4図は先取りバ
イト数設定手段のラッチタイミングを示す波形図、第5
図は従来の命令先取り制御装置の構成例を示すブロック
図である。 第1図、第2図において、 1・・・演算υ1911装置 2・・・命令実行ユニット 3・・・アドレス変換ユニット 4・・・バスインターフェイスユニット5・・・命令先
取り制御ユニット 6・・・命令先取りバッファ 7・・・主記憶装置 51・・・先取りバイト数設定手段 52・・・設定情報入力手段である。 −二一一′ 5]I先取りバイト攻穀象萎目貸 本発明の原理ブロック図 鋤萼1 図 笥萼3図 ラップタイミング波形図 争弓4 序で

Claims (2)

    【特許請求の範囲】
  1. (1)命令実行ユニット(2)と、命令先取りバッファ
    (6)を含む演算制御装置〈1)、 この演算制御装置(1)に接続される主記憶装置(7)
    により構成され、 前記命令実行ユニット(2)は前記命令先取りバッファ
    (6)を介して前記主記憶装置(7)に格納されている
    いくつかの命令を先取りして読み出し当該命令を逐次実
    行するようにした命令先取り制御装置において、 前記命令先取りバッファ(6)における命令先取りバイ
    ト数を任意の値に設定するための設定情報入力手段(5
    2)を設けたことを特徴とする命令先取り制御装置。
  2. (2)設定情報入力手段(52)に設定された情報を、
    装置の初期化終了後に出力されるリセット信号を利用し
    て入力するようにしたことを特徴とする特許請求の範囲
    第1項記載の命令先取り制御装置。
JP19462186A 1986-08-20 1986-08-20 命令先取り制御装置 Pending JPS6349937A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19462186A JPS6349937A (ja) 1986-08-20 1986-08-20 命令先取り制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19462186A JPS6349937A (ja) 1986-08-20 1986-08-20 命令先取り制御装置

Publications (1)

Publication Number Publication Date
JPS6349937A true JPS6349937A (ja) 1988-03-02

Family

ID=16327572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19462186A Pending JPS6349937A (ja) 1986-08-20 1986-08-20 命令先取り制御装置

Country Status (1)

Country Link
JP (1) JPS6349937A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02157938A (ja) * 1988-12-09 1990-06-18 Matsushita Electric Ind Co Ltd 命令先読み制御装置
JPH0421033A (ja) * 1990-05-14 1992-01-24 Matsushita Electric Ind Co Ltd 命令プリフェッチ装置
JPH04279938A (ja) * 1991-01-23 1992-10-06 Matsushita Electric Ind Co Ltd 命令プリフェッチ装置
US5881336A (en) * 1995-10-16 1999-03-09 Tohoku Ricoh Co., Ltd. Image producing apparatus
JP2009530753A (ja) * 2006-03-21 2009-08-27 フリースケール セミコンダクター インコーポレイテッド 命令プリフェッチバッファ深さの動的制御を有するデータプロセッサとその方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02157938A (ja) * 1988-12-09 1990-06-18 Matsushita Electric Ind Co Ltd 命令先読み制御装置
JPH0421033A (ja) * 1990-05-14 1992-01-24 Matsushita Electric Ind Co Ltd 命令プリフェッチ装置
JPH04279938A (ja) * 1991-01-23 1992-10-06 Matsushita Electric Ind Co Ltd 命令プリフェッチ装置
US5881336A (en) * 1995-10-16 1999-03-09 Tohoku Ricoh Co., Ltd. Image producing apparatus
JP2009530753A (ja) * 2006-03-21 2009-08-27 フリースケール セミコンダクター インコーポレイテッド 命令プリフェッチバッファ深さの動的制御を有するデータプロセッサとその方法
US9304773B2 (en) 2006-03-21 2016-04-05 Freescale Semiconductor, Inc. Data processor having dynamic control of instruction prefetch buffer depth and method therefor

Similar Documents

Publication Publication Date Title
EP0169565B1 (en) Microprocessor compatible with any software represented by different types of instruction formats
US5584031A (en) System and method for executing a low power delay instruction
JPH0387930A (ja) エミュレータ・アシスト・ユニツト及びそれを用いたコ・プロセツサ・エミュレータ
JPS6339931B2 (ja)
JP2507638B2 (ja) デ―タ処理装置
US6205536B1 (en) Combined Instruction and address caching system using independent buses
JPH08305585A (ja) 割込制御装置
JP2773471B2 (ja) 情報処理装置
US5619663A (en) Computer instruction prefetch system
JP3605978B2 (ja) マイクロコンピュータ
EP0745932B1 (en) Microprocessor supporting variable length instruction execution
JPS6349937A (ja) 命令先取り制御装置
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JPS6349938A (ja) 命令先取り制御装置
JPH03201030A (ja) プロセッサ
JP3740321B2 (ja) データ処理装置
JPH01124049A (ja) マイクロプロセッサ
JPH02163828A (ja) データ処理装置
JPS62156738A (ja) プログラム制御装置
JPS6336405A (ja) プログラマブル・コントロ−ラ
JP2965045B2 (ja) 半導体集積回路装置
JP2696578B2 (ja) データ処理装置
JP3210171B2 (ja) データ処理装置
JP3118824B2 (ja) マイクロプロセッサ
JPH01193943A (ja) マイクロコンピュータ