JPS63163634A - 命令フエツチ方式 - Google Patents

命令フエツチ方式

Info

Publication number
JPS63163634A
JPS63163634A JP30840886A JP30840886A JPS63163634A JP S63163634 A JPS63163634 A JP S63163634A JP 30840886 A JP30840886 A JP 30840886A JP 30840886 A JP30840886 A JP 30840886A JP S63163634 A JPS63163634 A JP S63163634A
Authority
JP
Japan
Prior art keywords
register
data
instruction
bytes
contents
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
JP30840886A
Other languages
English (en)
Inventor
Kousuke Sakota
迫田 行介
Shunpei Kawasaki
俊平 河崎
Kazuo Nakao
中尾 和夫
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP30840886A priority Critical patent/JPS63163634A/ja
Publication of JPS63163634A publication Critical patent/JPS63163634A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機の命令フェッチに係り、特にバイト単
位の長さの命令を先取りするのに好適な命令フェッチ方
式に関する。
〔従来の技術〕
従来の命令は2バイト、あるいは2バイトの整数倍であ
ることが多く、命令先取り回路では単にメモリから2バ
イト、あるいは2バイトの整数倍のデータをあらかじめ
取込んでおくだけのものであった。従って1バイト命令
や2バイト以上の命令が混在している命令系列を扱う場
合、マイクロプログラムなどで必要なバイト数の命令を
、切り出す処理が必要であった。
〔発明が解決しようとする問題点〕
従来方式では、1バイトの命令や2バイト以上の命令が
混在しているような命令系列を扱う場合。
必要なバイト数の命令を切り出すのに、マイクロプログ
ラムで数ステップかかつていた。これは全実行マイクロ
ステップの20〜40%を占めることになり、実行性能
の向上に関して大きなオーバーヘッドとなっている。
本発明の目的は、上記問題点を解決した命令フェッチ方
式を提供することにある。
〔問題点を解決するための手段〕
上記目的を達成するため本発明では、複数バイトからな
るワード幅でアクセス可能なデータを格納するための記
憶装置とのインターフェイスと、該ワード幅からなる第
1のレジスタと第2のレジスタとを連結し、その全体を
シフトレジスタとして動作させる手段と、該インターフ
ェイスから該ワード幅のデータを読込み、該第2のレジ
スタに書込む手段と、第1のレジスタから該ワード幅に
等しいか、それ以下の任意の要求データ幅のデータを取
出す手段と、第1のレジスタ内のデータがすべて有効か
どうかを保持する第3のレジスタと。
第2のレジスタ内の有効なデータのデータ幅を保持する
第4のレジスタと、要求データ幅と該第4のレジスタの
内容とを比較する手段と、該比較手段による比較結果と
第3のレジスタの内容とによって第1のレジスタと第2
のレジスタとを連結したシフトレジスタにシフトの指示
をする手段とを具備して構成する。
〔作用〕
第1のレジスタには常に1次に取り出す命令を先頭に含
むデータを入れておくようにし、命令が要求されると第
1のレジスタの先頭から必要なバイト数の命令を取出す
、第1のレジスタはただちにシフト動作によって第2の
レジスタからデータが補充される。第2のレジスタが空
になると、記憶装置からデータを読み込んで補充する。
〔発明の実施例〕
以下、本発明の一実施例を図面を用いて説明する6本実
施例では記憶装置のアクセス幅は4バイトとし、要求バ
イト数は1〜4バイトとする。
第1図は、本発明による命令フェッチ方式の一実施例を
示すブロック図である。第1図において4バイトの入力
バッファレジスタ1(以下、IBI)、4バイトの入力
レジスタ2(以下、IR2)は連結されて8バイトのシ
フトレジスタ3として、動作する。すなわちシフト制御
信号41〜44のいずれかによって1バイト〜4バイト
左にシフトすることができる。シフトレジスタ3は例え
ば第3図のように構成することができる。第3図におい
て41〜44以外の各データ線は8ビット分を表わして
おり、1つの四角は8ビット分のレジスタを表わしてい
る。第1図の命令取出し回路4では選択信号51〜54
のいずれかにより、IBIのうちの1〜4バイトを右ず
めで命令レジスタ5に転送する回路であり1例えば第4
図のように構成することができる。第4図においても5
1〜54以外のデータ線は8ビット分を表わしている。
有効フラグ6はIBIの中の4バイトがすべて有効のと
き1、そうでないときOを保持する。8はIR2の中の
有効バイト数を保持するカウントレジスタ(BO)、1
5はIR2の中に有効データがないときに1、そうでな
いとき0を保持する空き状態フラグ、10は次に取り出
したい命令のバイト数を保持する要求レジスタ(Bl)
10である。カウントレジスタ8と要求レジスタ10の
内容を比較する比較器10の出力は、補助レジスタ(B
2)11に保持する。セレクタ7は比較器9および有効
フラグ6の内容に従ってカウントレジスタ8.要求レジ
スタ10.補助レジスタ11のいずれかの内容を選択し
てシフトレジスタ3にシフト制御信号を送出する。12
はアドレスレジスタ、13は制御回路、14は演算回路
、21〜23はそれぞれ外部制御バス、外部アドレスバ
ス、外部データバス、24と25は内部のデータバスで
ある。
第2図は、第1図の命令フェッチ方式の−実施例の構成
を制御するマイクロ命令のフィールドを表わしており、
命令フェッチ制御フィールド31は、Noop (無操
作) 、 fetch n bytes (nバイト取
出しの指示) + read (記憶装置から読込み開
始の指示) 、 reset(初期リセット)のいずれ
かを指定し、要求バイト数フィールド32は、 fet
ch nbytesのときのバイト数を指定する。
本実施例ではカウントレジスタ8.要求レジスタ10.
要求バイト数フィールド32は、いずれも2ビツトで、
00,01.10.liはそtLぞれ1,2,3,4バ
イトであることを表すものとする。
比較器9は、カウントレジスタ8と要求レジスタ10を
入力し、両者の内容を比較し、両者の大小判定、両者の
差の計算をするもので、たとえば第5図に示すPLAに
よって実現できる。第5図の1b1′と1bolは入力
であり、’bx<bo’。
’ b i =b Q ’ H’ b 0−51 ’ 
+ ’ b 1−1) O’は入力のビットパターンに
対応するそれぞれの出力ビツトパターンである。
演算回路14は、補助レジスタ11の内容b2に対して
(4−bz)の値を求める回路で1例えば第6図に示す
PLAによって実現できる。第6図において、 ′b2
′は入力ビツトパターンであり、’4−bz’は(4−
bz)を表わす出力ビツトパターンである。ここで 1
b2+ 、 14−b2jの00,01,10.11は
それぞれ1,2,3゜4バイトを表わしているものとす
る。
なお、第5図、第6図において、−は無効データであり
、他の条件から使われることはない。
次にff11図に示す本実施例の動作について第7図〜
第9図のフローに従って詳細に説明する。
命令フェッチフィールド31がNoopのときは何も動
作を起こさないe resejのときの動作は第7図の
ようになる。まずステップ71で、あらかじめ設定され
ているアドレスレジスタ12の内容を外部゛アドレスバ
ス22に送出し、同時に制御回路13から外部制御バス
21に対して読込信号(read信号)を送出し、ステ
ップ72でアドレスレジスタ12の内容を+4する。ス
テップ73で、外部バスサイクルの完了を待って外部デ
ータバス23から入力レジスタ2に4バイトのデータを
読込む、ステップ74で、入力レジスタ2の内容を4バ
イトシフトし、入力バッファレジスタ1に移す。ステッ
プ75で空き状態フラグ15を1に。
ステップ76で補助レジスタ11の内容を4にする。(
これは第8図ステップ86の処理を生かし、第6図の第
4エントリーを活用するためである)またステップ77
で有効フラグ6を1にセットし、ステップ78でrea
dの処理を行ない、その後resQtの処理が終了する
。この状態で入力バッファレジスタ1には有効な命令が
4バイト分、また入力レジスタ2にもその続きの4バイ
ト分が設定される。
命令フェッチフィールド31がreadのときの動作は
第8図のようになる。
第8図のステップ81で、空き状態フラグ15の内容を
調べ、もし0であればreadの処理は終了する。もし
1であれば、ステップ82でアドレスレジスタ12の内
容を外部アドレスバス22に送出し、同時に制御回路1
3から外部制御バス21に対して読込信号(read信
号)を送出し、ステップ83でアドレスレジスタ12の
内容を+4する。
ステップ84で、外部バスサイクルの完了を待って外部
データバス23から入力レジスタ2に4バイトのデータ
を読込む、ステップ85で、もし有効フラグ6がOであ
れば入力バッファレジスタ1と入力レジスタ2を連結し
たシフトレジスタ3に対し、補助レジスタ11の内容を
セレクタ7で選択してシフト動作を指示する。有効フラ
グ6が1のときはシフトしない。ステップ86で、カウ
ントレジスタ8に4−bz(ただしbzは補助レジスタ
の内容)を設定し、ステップ87で有効フラグ6を1に
、また、ステップ88で空き状態フラグ16をOに設定
する。 read終了時には、入力バッファレジスタ1
には次に読むべき命令系列が4バイトまで保証されてい
ることになる。
次に、命令フェッチフィールド31がfetch nb
ytesのときの動作を第9図にもとづき説明する。
第9図のステップ91で、有効フラグ6を調べ、0であ
れば1.ステップ92で、readの処理を行なう、そ
の後、あるいは有効フラグ6が1であったときは、ステ
ップ93で、要求バイト数フィールド32の内容を要求
レジスタ10に設定し、ステップ94で、要求レジスタ
10の内容b1とカウントレジスタ8の内容boを比較
器9で比較する。
比較器9の出力から、大小判定により、bz<b。
あるいはbi=boの場合には、ステップ95で。
入力バッファレジスタ1の内容から、命令取出し回路4
に要求レジスタ10の内容で取出し指示を与えることに
より、必要なバイト数の命令を命令レジスタ5に取出す
。また、同時にシフトレジスタ3に、要求レジスタ10
の内容をセレクタ7で選択してシフトを指示することに
より、要求バイト数だけシフトする。つづいてステップ
96で、カウントレジスタ8と要求レジスタ10の内容
の差、つまり比較器9の’bo−bt’出力をカウント
レジスタ8に設定し、ステップ97で、もし、bz=b
oであったら空き状態フラグ15を1にセットし、 f
etch処理を終了する。
もしbl>boであったら、ステップ98で、入力バッ
ファレジスタ1の内容から、命令取出し回路4に要求レ
ジスタ10の内容で取出し指示を与えることにより、必
要なバイト数の命令を命令レジスタ5に取出す、また同
時に、シフトレジスタ3にカウントレジスタ8の内容を
セレクタ7で選択してシフトを指示することにより、入
力レジスタ2内の有効データのバイト数だけシフトする
続いてステップ99で、カランl−レジスタ8の内容を
0にし、補助レジスタ11に、要求レジスタ10とカウ
ントレジスタ8の内容の差、つまり比較器9の’b1 
bo’出力を設定し、ステップ910で有効フラグをO
にし、fetch処理を終了する。
本実施例では1ワード内のバイトデータのアドレス付H
がレジスタ内の右方が大きい場合を示したが、逆に左方
が大きい場合についても同様に実現できることはいうま
でもない。
また1本実施例では内部データバス24.25等に接続
されているプロセッサの本体ならびにマイクロプログラ
ム制御回路については示していないが、通常のマイクロ
プロセッサ及びその制御回路を用いればよく、またその
違いが本発明に影響を与えるものではないこともいうま
でもない。
〔発明の効果〕
本発明によれば、1バイトあるいは2バイト以上の命令
が混在している場合に、常に次に取り出すべき命令が特
定のレジスタの先頭に存在し、必要なバイト数をマイク
ロ命令で指定するだけで取り出すことができるので、命
令の取り出しにかかるオーバヘッドがなくなり、実行の
高速化が図れる。
また、取り出し後に記憶装置からデータを補充する場合
に、その開始タイミングをマイクロ命令で指定できるの
で、バスサイクルの空いているときに開始できるように
制御できるので高速化の効果を高めることが可能である
【図面の簡単な説明】
第1図は、本発明による命令フェッチ方式の一実施例を
示すブロック図、第2図は本実施例における、マイクロ
命令のフォーマットの一部を示す図、第3図は本実施例
中のシフタの論理図例、第4図は同じく命令取出し回路
の論理図例、第5図。 第6図は本実施例中の比較回路のPLA構成図。 第7図〜第9図は一本方式の制御手順を示すフローチャ
ートである。

Claims (1)

  1. 【特許請求の範囲】 1、複数バイトからなるワード幅でアクセス可能なデー
    タを格納するための記憶装置とのインターフェイスとを
    介して該ワード幅のデータを読み出し、該読み出したデ
    ータを該ワード幅からなる第1のレジスタと第2のレジ
    スタとを連結してなるシフトレジスタにおける、該第2
    のレジスタに書込み、第1のレジスタから該ワード幅に
    等しいか、それ以下の任意の要求データ幅のデータを取
    り出し、第2のレジスタに書きこまれたデータを第1の
    レジスタにシフトさせることを特徴とする命令フェッチ
    方式。 2、上記シフトレジスタは上記第1のレジスタ内のデー
    タがすべて有効かどうかを示す情報を保持する第3のレ
    ジスタと、第2のレジスタ内の有効なデータのデータ幅
    を保持する第4のレジスタとを含み、要求データ幅と該
    第4のレジスタの内容とを比較した比較結果と第3のレ
    ジスタの内容とによつて上記シフトレジスタにシフトの
    指示をすることを特徴とする第1項記載の命令フェッチ
    方式。 3、該インターフェイスから該ワード幅のデータを読込
    み、該第2のレジスタに書き込む処理を開始するタイミ
    ングをマイクロ命令で指定することを特徴とする第1項
    または第2項記載の命令フェッチ方式。
JP30840886A 1986-12-26 1986-12-26 命令フエツチ方式 Pending JPS63163634A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30840886A JPS63163634A (ja) 1986-12-26 1986-12-26 命令フエツチ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30840886A JPS63163634A (ja) 1986-12-26 1986-12-26 命令フエツチ方式

Publications (1)

Publication Number Publication Date
JPS63163634A true JPS63163634A (ja) 1988-07-07

Family

ID=17980701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30840886A Pending JPS63163634A (ja) 1986-12-26 1986-12-26 命令フエツチ方式

Country Status (1)

Country Link
JP (1) JPS63163634A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02208728A (ja) * 1989-02-03 1990-08-20 Digital Equip Corp <Dec> 仮想命令キャッシュ再補充アルゴリズム
JPH07239780A (ja) * 1994-01-06 1995-09-12 Motohiro Kurisu 1クロック可変長命令実行処理型命令読み込み電子計 算機

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02208728A (ja) * 1989-02-03 1990-08-20 Digital Equip Corp <Dec> 仮想命令キャッシュ再補充アルゴリズム
JPH07239780A (ja) * 1994-01-06 1995-09-12 Motohiro Kurisu 1クロック可変長命令実行処理型命令読み込み電子計 算機

Similar Documents

Publication Publication Date Title
US4896259A (en) Apparatus for storing modifying data prior to selectively storing data to be modified into a register
US7694109B2 (en) Data processing apparatus of high speed process using memory of low speed and low power consumption
US4305124A (en) Pipelined computer
JPH0814801B2 (ja) プログラマブルアクセスメモリ
US20040177231A1 (en) Data processor
JPH06236268A (ja) 命令の長さを判定する装置と方法
JPS59501684A (ja) 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
JPS6217252B2 (ja)
JPS6297036A (ja) 計算機システム
JP2879607B2 (ja) 機能停止キャッシュを提供する装置と方法
EP0223150B1 (en) Information processing apparatus
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
JP2690406B2 (ja) プロセッサおよびデータ処理システム
JP2916605B2 (ja) コンピュータ用プロセツサ
JPS63163634A (ja) 命令フエツチ方式
KR920002573B1 (ko) 데이타 처리기
JP2798121B2 (ja) データ処理装置
KR100249536B1 (ko) 다수의 버스를 서로 독립적으로 제어하기 위한 버스콘트롤러를 가진 데이터 처리기
EP0292188A2 (en) Cache system
EP0177712B1 (en) Masked data fetch and modifying device
EP0015276B1 (en) A digital pipelined computer
KR100197783B1 (ko) 파이프라인 처리기능을 갖는 데이타프로세서
JP2636821B2 (ja) 並列処理装置
JP2883488B2 (ja) 命令処理装置
US5062036A (en) Instruction prefetcher