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

命令先取り制御装置

Info

Publication number
JPS6349938A
JPS6349938A JP19462286A JP19462286A JPS6349938A JP S6349938 A JPS6349938 A JP S6349938A JP 19462286 A JP19462286 A JP 19462286A JP 19462286 A JP19462286 A JP 19462286A JP S6349938 A JPS6349938 A JP S6349938A
Authority
JP
Japan
Prior art keywords
instruction
prefetch
unit
instruction 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
JP19462286A
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 JP19462286A priority Critical patent/JPS6349938A/ja
Publication of JPS6349938A publication Critical patent/JPS6349938A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概要] 命令実行ユニットと命令先取りバッファとを含む演算制
御装置(CPIJ”)と、これに接続される主記憶装置
により構成され、命令実行ユニットは命令先取りバッフ
ァを介して、主記憶装置に格納されているいくつかの命
令を先取りして読み出し、その命令を逐次実行するよう
にした命令先取り制御装置であって、命令先取りバッフ
ァにおける命令先取りバイト数をプログラムの環境(ジ
ャンプ命令の頻度)に対応して最適になるように自動的
に設定できるようにしたものである。
[産業上の利用分野] 本発明は、命令先取り制御装置に関し、更に詳しくは、
命令実行ユニットと命令先取りバッファとを含む演算制
御装置と、これに接続される主記憶装置により構成され
るマイクロプロセッサ装置における命二令先取り制御を
行うための装置に関する。
命令先取り制御は、処理の高速化のために有効な手法で
あって、命令実行ユニットで実行する命令のいくつかを
、予め主記憶装置から先取りして読み出し、これを命令
先取りバッファに格納し、命令実行ユニットは、一つの
命令を完了するごとに命令先取りバッファに格納された
命令を実行するものである。従って、命令実行ユニット
は、ひとつの命令を終了するたびに、主記憶装置から次
の命令を読み出す必要がなくなり、高速処理が行える。
[従来の技術] 第4図は、従来の命令先取り制すIl装置の構成例を示
すブロック図である。図において、1は演陣制御2iI
装置(CPU)で、例えば8086(16ビツトマイク
ロプロセツサ)が用いられる。この演算制御jD装置1
において、2は命令実行ユニット、3は命令実行ユニッ
ト2からの論理アドレスを入力し物1!17ドレスに変
換するアドレス変換ユニット、4はバスインターフェイ
スユニット、5は命令先取り制御を行う命令先取り制御
ユニット、6は先取りした命令を一時格納する命令先取
りバッファである。7はプログラムステップが格納され
た主2ii装置、8はI / O1iII l1IIア
ダプタで、これらはバスを介してcpui内のバスイン
ターフェイスユニット4に接続されている。
このように構成された装置において、命令実行ユニット
2は、主記憶装置7に記憶された各種の命令を、バスイ
ンターフェイスユニット4.バスを介して読み出し実行
する。命令先取りti制御ユニット5は、主記憶装置7
に記憶された命令のいくつかを予め命令先取りバッファ
6に格納しておき、命令実行ユニット2がひとつの命令
を実行するごとに、主記憶装置7まで命令を読み出しに
ゆく手間を省くように制御するものである。
[発明が解決しようとする問題点] このような従来の命令先取り制御装置は、命令先取りバ
ッフ76のバイト数が例えば6バイトといったように固
定されており、その(直は、(a)プロセッサの1命令
当りのバイト数、<b)、frI令先取りを無効化する
ジャンプ命令のV1度、(C)バスインターフェイスユ
ニットのバス性能(バス幅、バスサイクルタイム)等を
考慮して最適値に選定される。
しかしながら、命令先取りを無効化するジャンプ命令の
頻度や、バスサイクルタイムは、主記憶装置7に格納す
るプログラムの内容や、外部ハードウェアの構成等によ
って変化する。又、プロセッサの32ビツト化及びバス
インターフェイスの互換性(16ビツト)を考慮したプ
ロセッサでは、バスインターフェイスユニット4のバス
幅(ビット数〉は、初期化において可変となっている。
このため、命令先取りバッファ6のバイト数を固定にす
ると、プログラムの内容や、外部ハードウェアの構成に
よっては命令先取りの機能が有効に働かなくなり、高速
処理を阻害するという不具合が生ず乙。
本発明は、このような点に鑑みてなされたものであって
、命令先IRリバッファのバイト数を可変にできるプロ
グラマブルの設定手段を設け、ジャンプ命令の頻度やデ
ータバスのビット数等の環境により、命令先取りバッフ
ァのバイト数を最適値にジャンプ命令の実行後において
自動釣に設定できるようにし、常にプロセッサの高速処
理を可能とする命令先取り制御装置を提供することを目
的としている [問題点を解決するための手段] 第1図は、本発明の命令先取り制御2′0装冒の原理ブ
ロック図である(第4図と同一のものは同一の符号を付
して示す)。命令先取り制御ユニット5において、51
は第1の先取りバイト数設定手段でプログラマブル設定
可能な例えばレジスタで構成されており、ここに設定さ
れるデータは命令実行ユニット2から与えられる。52
は第2の先取りバイト数設定手段で例えばレジスタで構
成され、第1の先取りバイト数設定手段51から与えら
れるデータをジャンプ命令実行後のタイミングによって
設定するようになっている。
[作用] 第1の先取りバイト数51には、データバスのビット数
や、命令実行ユニット2で実施したジャンプ命令の頻度
に応じて決められた最適な命令先取りバイト数データが
、命令実行ユニット2から与えられて設定される。第2
の先取りバイト数設定手段52は、第1の先取りバイト
数設定手段51にプログラマブルに設定されるデータを
ジャンプ命令実行後のタイミングで設定する。命令先取
り制御ユニット5は、第2の先取りバイト数設定手段5
2に設定されたバイト数を基に命令先取り制御を行う。
[実施例] 以下、図面を参照して本発明の実施例を詳細に説明する
第2図は本発明の一実施例を示す構成ブロック図である
。第1図と同じものは、同一の符号を付して示す。命令
実行ユニット2と主記憶装置7とを結ぶバスインターフ
ェイスユニット4において、41はバス制御を行うバス
制御部で、制御線4電、応答線12が接続される。42
はデータの授受を行うトランシーバ/レシーバ、43は
ドライバでデータの中のコードを命令先取りバッファ6
に出力する。これらはいずれもデータ線ioに接続され
ている。
44は命令実行ユニット2から出力されるオペランド・
アクセス要求信号と、命令先取り制御ユニット5から出
力されるコード・フェッヂ要求信号との競合を判定する
競合判定部で、ここからバス制御部41にアクセス要求
が出力される。45はコードアドレスを一時格納するコ
ードアドレスレジスタで、ここからのアドレス信号はマ
ルチプレクサ(MPX)で切換えられ、アドレス線!A
に出力される。
命令先取りバッファ6が空いているかどうかによって命
令先取りの制御を行う命令先取り制御ユニット5におい
て、51は第1の先取りバイト数設定手段で、命令実行
ユニット2から与えられるデータをプログラマフルに設
定する。52は第2の先取りバイト数設定手段で、第1
の先取りバイト数設定手段51に設定されたデータを、
ジャンプ命令実行後のタイミングで設定する。53はバ
ッフ7カウンタで、バス制御部41から出力されるレス
ポンスをカウントアツプ信号とすると共に後述する比較
手段54から出力されるレスポンス信号をカウントダウ
ン信号とする。又、命令実行ユニット2から出力される
ジャンプ命令実行信号によってit O”クリアされる
比較手段54は、命令実行ユニット2から出力されるコ
ード・フェッチ要求バイト数と、バッファカウンタ53
のカウント数とを比較し、その比較結果を命令実行ユニ
ット2にレスポンス信号として与えると共に、バッファ
カウンタ53にカウントダウン信号として与えている。
55は比較手段で、第2の先取りバイト数52からの′
設定値と、バッファカウンタ53のカウント数とを比較
し、その比較結果をコード・フェッチ聾求信号として競
合判定部44に与える。
命令先取りバッファ6は、ドライバ43からのコードを
一時格納し、命令実行ユニット2に出力する。
このように構成された装置の動作を第3図のタイムチャ
ートを参照しながら説明すれば以下の通りである。
はじめに、命令実行ユニット2は、(イ)に示すように
、自分が実行するプログラムにおけるジャンプ命令の頻
度等を考慮して決められ8適な命令先取りバイト数設定
データDaを、第1の先取りバイト数設定手段51に向
けて出力すると共に、ここからストローブ信号を(ロ)
に示すように与えてデータ[)aを、第1の先取りバイ
ト数設定手段51に設定(ラッチ)する。これによって
、第1の先取りバイト数設定手段51からは、(ハ)に
示すようにデータDaに相当する先取りバイト−敗デー
タDbが、以後引続いて出力されることになる。
このような状態後において、命令実行ユニット2でジャ
ンプ命令が実行されると、ここから(ニ)に示すように
ジャンプ命令実行信号が出力され、第2の先取りバイト
数設定手段52は、このジャンプ命令実行信号を利用し
、ジャンプ命令実行後のタイミング(ジャブ命令実行信
号の立上り)で、第1の先取りバイト数設定手段51か
ら出力されている先取りバイト数データDbをラッチし
、この設定情1sBを(ホ)に示すように以後出力する
第2の先取りバイト数設定手段52に最適な命令先取り
バイト数データが設定された以後における動作を、命令
先取り、命令実行ユニットによるコード・フェッチ及び
オペランド・アクセスに分けて説明する。
[命令先取り] バッファカウンタ53は、命令先取りバッファ6に先取
りされている命令のバイト数をカウントしており、ジャ
ンプ命令が実行された直後は“0′にクリアされている
。比較手段55は、第2の先取りバイ1〜数設定手段5
2に設定されたQ適先取すバイト数SBと、バッフ7ノ
ノウンタ53のカウント値BCとを比較しカウント値B
Cが小さい時(BC<SB) 、バスインターフェイス
ユニット4の競合判定部44にコード・フェッチ要求を
出力する。競合判定部44は、命令実行ユニット2から
のオペランド・アクセス要求と、コード・フェッチ要求
の競合判定を行い、オペランド・アクセス要求が出力さ
れていない場合、コード・フェッチを実行する。
ジャンプ命令実行後の最初のコード・フェッチでは、バ
スインターフェイスユニット4は、アドレス変換ユニッ
ト3内に設けられたコードレジスタ31の内容を、バス
インターフェイスユニット4内のコードアドレスレジス
タ45にラッチすると同時にこのアドレスによりコード
をフェッチする。フードフェッチを終了すると、コード
アドレスレジスタ45の値及びバッファカウンタ53の
カウント値BCをそれぞれカウントアツプする。
一方、ジャンプ命令実行後の最初でないコードフェッチ
の場合は、バスインターフェイスユニット4は、コード
アドレスレジスタ45にセットされている内容をアドレ
スとしてバスをアクセスする。
[命令実行ユニットによるコードフェッチ]命令実行ユ
ニット2は、命令先取り制御ユニット5の比較手段54
に対し、コードフェッチ要求バイト数の信号を出力し、
コードフェッチを要求する。比較手段54はこの要求バ
イト数R8をバッファカウンタ53のカウント値BCと
比較し、バッファカウント値BCが大きい場合(BC>
RB)、レスポンスを命令実行ユニット2に通知すると
共に、バッファカウンタ53のカウント値BCをカウン
トダウンする。命令実行ユニット2は、レスポンスを命
令先取り制御ユニット5から受けると、命令先取りバッ
フ76からコードを読み出しコード・フェッチする。又
、命令実行ユニット2は、ジャンプ命令実行信号をバッ
ファカウンタ53及び第2の先取りバイト数設定手段5
2に出力し、バッファカウンタ53をO′′にクリアす
ると共に、第2の先取りバイト数設定手段52に、第1
の先取りバイト数設定手段51がらのデータを自き込む
[オペランド・アクセス] 命令実行ユニット2によるオペランド・アクセスは、オ
ペランド・アクセス要求信号がバスインターフェイスユ
ニット4の競合判定部44に通知され、間合判定部44
は、コード・フェッチ要求との競合を判定し、先取りす
る命令要求が無いと判定されれば、バス制御部41にア
クセスを要求し、レスポンスデータを命令実行ユニット
2に通知する。
[発明の効果] 以上詳細に説明したように、本発明によれば、先取りバ
イト数設定手段に命令実行ユニットから出力される最適
な命令先取りバイト数データが、ジャンプ命令実行後の
タイミングでプログラマブルに設定されるように構成し
たものである。従って、本発明によれば、命令実行ユニ
ットが実行するプログラム環境(ジャンプ命令の頻度等
)に対応して、常に最適な先取りバイト数による命令先
取り制御ができ、高速処理が可能な命令先取り制m装置
を提供できる。
【図面の簡単な説明】
第1図は本発明の命令先取り制御装置の原理ブロック図
、第2図は本発明の一実施例を示す構成ブロック図、第
3図は第1.第2の各先取りバイト数設定手Qのラッチ
タイミングを示すタイムチャート、第4図は従来の命令
先取り制御装置の構成例を示すブロック図である。 第1図、第2図において、 1・・・演算制御装置 2・・・命令実行ユニット 3・・・アドレス変換ユニット 4・・・バスインターフェイスユニット5・・・命令先
取り制御ユニット 6・・・命令先取りバッファ 7・・・主記憶装置 51・・・第1の先取りバイト・数59定手「Q52・
・・第2の先取りバイト数設定手段である。 不発明の、8豐“王Vフ゛ロツクロ 掌紹1 図 (イン  言置ス巨データDa く;========
=コ〉(D)  ヌトO−1−一り−−「− ↓ ラッチ ↓ ラッチ t?1作の一利を示すタイムfせ一ト 第3 図

Claims (1)

  1. 【特許請求の範囲】 命令実行ユニット(2)と、命令先取りバッファ(6)
    を含む制御装置(1)、 この演算制御装置(1)に接続される主記憶装置(7)
    により構成され、 前記命令実行ユニット(2)は前記命令先取りバッファ
    (6)を介して前記主記憶装置(7)に格納されている
    いくつかの命令を先取りして読み出し当該命令を逐次実
    行するようにした命令先取り制御装置において、 前記命令先取りバッファ(6)における命令先取りバイ
    ト数を設定する先取りバイト数設定手段(52)を設け
    、この先取りバイト数設定手段(52)に前記命令実行
    ユニットから与えられる最適な命令先取りバイト数デー
    タを、ジャンプ命令実行後のタイミングで設定するよう
    にしたことを特徴とする命令先取り制御装置。
JP19462286A 1986-08-20 1986-08-20 命令先取り制御装置 Pending JPS6349938A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=16327587

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS6349938A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0218620A (ja) * 1988-07-07 1990-01-22 Toshiba Corp 情報処理装置
JPH02157938A (ja) * 1988-12-09 1990-06-18 Matsushita Electric Ind Co Ltd 命令先読み制御装置
JPH03164676A (ja) * 1989-11-20 1991-07-16 Tsutomu Wada ビンビールの保冷器
JP2009530753A (ja) * 2006-03-21 2009-08-27 フリースケール セミコンダクター インコーポレイテッド 命令プリフェッチバッファ深さの動的制御を有するデータプロセッサとその方法
CN109614146A (zh) * 2018-11-14 2019-04-12 西安翔腾微电子科技有限公司 一种局部跳转指令取指方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0218620A (ja) * 1988-07-07 1990-01-22 Toshiba Corp 情報処理装置
JPH02157938A (ja) * 1988-12-09 1990-06-18 Matsushita Electric Ind Co Ltd 命令先読み制御装置
JPH03164676A (ja) * 1989-11-20 1991-07-16 Tsutomu Wada ビンビールの保冷器
JP2009530753A (ja) * 2006-03-21 2009-08-27 フリースケール セミコンダクター インコーポレイテッド 命令プリフェッチバッファ深さの動的制御を有するデータプロセッサとその方法
CN109614146A (zh) * 2018-11-14 2019-04-12 西安翔腾微电子科技有限公司 一种局部跳转指令取指方法及装置

Similar Documents

Publication Publication Date Title
US4172287A (en) General purpose data processing apparatus for processing vector instructions
JP2507638B2 (ja) デ―タ処理装置
JP2583525B2 (ja) データ処理装置
JPS6349937A (ja) 命令先取り制御装置
EP0411679A2 (en) Apparatus for dynamically adding a next address field to the instructions of a computer system.
JP3328867B2 (ja) マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ
JPH0646382B2 (ja) プリフェッチキュー制御方式
JPH01124049A (ja) マイクロプロセッサ
JPH0377137A (ja) 情報処理装置
JPH0342723A (ja) データ処理装置
JPH0340075A (ja) マイクロコンピュータ
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JPH0752402B2 (ja) データ処理装置
JPH01193943A (ja) マイクロコンピュータ
JPH0259829A (ja) マイクロコンピュータ
KR950004227B1 (ko) 정보처리시스템
JP3118824B2 (ja) マイクロプロセッサ
JPS62194544A (ja) 命令先読み制御方式
JPH05324480A (ja) プロセッサ及びそのメモリアクセス制御方法
JPH04140851A (ja) 情報処理装置の診断方式
JPS60256846A (ja) 命令先取制御方式
JPS62264332A (ja) 命令先読み制御回路
JPH0820941B2 (ja) マイクロプロセッサ
JPH01116753A (ja) 1チップマイコンの周辺装置とのアクセス方法
JPS6210735A (ja) マイクロプロセツサ