JPS60117335A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS60117335A
JPS60117335A JP22413083A JP22413083A JPS60117335A JP S60117335 A JPS60117335 A JP S60117335A JP 22413083 A JP22413083 A JP 22413083A JP 22413083 A JP22413083 A JP 22413083A JP S60117335 A JPS60117335 A JP S60117335A
Authority
JP
Japan
Prior art keywords
instruction
register
pointer
length
read
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
JP22413083A
Other languages
English (en)
Inventor
Keiichi Yu
恵一 勇
Takashi Tsunehiro
隆司 常広
Junji Nakakoshi
中越 順二
Koichi Nakai
中井 幸一
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 JP22413083A priority Critical patent/JPS60117335A/ja
Publication of JPS60117335A publication Critical patent/JPS60117335A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 (発明の利用分野) 2n 本発明は、情報処理装置に関し、特に性能を低下させず
にハードウェア量の削減が可能なマイクロプログラムに
よる先行制御型情報処理装置に関するものである。
〔発明の背景〕
情報処理装置の動作を高速化するために、先行制御が行
われているが、その場合、命令語を先読みするための命
令語読み出しレジスタのデータ長は、(命令語最大語長
)×(先読み語数+1)だけ必要である・ 1゜ すなわち、従来の先行制御型情報処理装置の命令バッフ
ァ・レジスタは、例えば、第1図に示すように単位命令
レジスタIRI−IR4で構成されている。第1図1お
いて、Llは最小命令語長、L2は記憶装置のデータ読
出し長、L3は最大命1令語長である。
このように、命令バッファ・レジスタの構成嬬、最小命
令語長L1のn倍(ここでnは正の整数)。
のデータ長L2 (記憶装置のデータ読み出し長)。
を有するレジスタIRをI!数本備え、かつ命令づ。
ツファ・レジスタの全データ長は最大命令語長し3のm
倍(ここでmは正の整数)の長さを有して。
いる(#1図の場合は、n−m−2である)。。
これによって、最大命令語長し3の命令が連続した場合
でも、次の命令が命令バッファ・レジスタ。
内に格納されているため、先行制御が可能である。
しかし、最大命令語長L3の命令の使用頻度が低い情報
処理装置においては、命令バッファ・レジスタの全デー
タ長が最大命令語長L3の複数倍あっても、それより命
令語長が短かく、使用頻島 、の高い命令に対しては、
処理速度を向上させる効果は全くないため、命令バッフ
ァ・レジスタが十分に活用されていないという欠点があ
った。 。
〔発明の目的〕
本発明の目的は、このような従来の欠点を解埠するため
、ハードウェア量を低減して小型化、低価格化を図ると
ともに、使用頻度の低い命令語長の長い命令に対しても
性能を低下させない情報処理装置を提供することにある
〔発明の概要〕 9 上記目的を達成するため、本発明の情報処理装置は、先
行制御のための複合の命令バッファ・レジスタと、該レ
ジスタへの次命令格納位置を指示するポインタと、該レ
ジスタからの読み出し位置を指示するポインタとを有す
る情報処理装置において、上記命令バッファ・レジスタ
から現在命令および後続命令の読み出し位置を指示する
各ボイ・ンタと、該後続命令読み出し位置を示すポイン
タの値および上記次命令格納位置を指示するポインタの
値を比較して、次の命令を命令バッファ・−ジスタに読
み出せるか否かを判別する手段と、上記判別手段により
、次の命令の読み出しをキャンセルするか否か決定し、
かつ次の命令が分岐命令のときには無条件で読み出すこ
とを指示する制御手段とを有することに特徴がある。 
I5〔発明の実施例〕 以下、本発明の実施例を、図面により説明する。
第2図は、本発明が用いる命令バッファ・レジスタの構
成図であり、第3図は本発明の一実施例を示す情報処理
装置のブロック図である。 9 ゛本実施例では、第2
図に示すようにミ最小命令語長Llが2バイト、命令読
み出し語長L2が4バイト、最大命令語長が8バイト、
命令バッファレジスタの全データ長が12バイトの命令
バッファ・レジスタを用いる。この場合には、第1図の
従来の命令バッファ・レジスタに比べてハードウェア量
は1/4たけ削減されている。
第3図には、第2図の命令バッファ・レジスタ2が設け
られている。第3図において、1は主記憶装置、3は命
令セレクタ、養は命令解析レジスタ、5は命令語長デ□
コーダ、6.8はいずれも演算器、7は次命令の格納位
置ポインタ、9は先頭位置を示す後続命令読み出し位置
ポインタ、10は先頭位置を示す現在命令読み出し位置
ポイン=、11はマイクロ命令レジスタ、12は主記憶
装−制御回路、13は命令読み出し抑止条件回路である
O 先ず、命令バッファ・レジスタ2は、命令格納ポインタ
7が示す位置に、主記憶装置1から読メ出された2命令
(現在命令、後続命令)を格納する。命令格納ポインタ
7は、2ビツトて構成されるので、′00”、01”、
10”により命令バッファ・レジスタ203つの命位格
納位置(L2単位)を指定できる(ここでは、” 11
”は使用されない)。 5 そして、命令バッファ・レジスタ2に命令が格納された
後、演算器6によりlを加算して格納位置を更新する。
この場合、演算器6は1加算回路であって、加算結果が
“11°′となったときには。
00”を出力するようになっている。 1゜命令セレク
タ3は、現在命令位置ポインタIQと、後続命令位置ポ
インタ9によって指定された命令バッファ・レジスタ2
内の命令をそれぞれ選択し、各命令語を順次取り出して
次段の命令解析レジスタ養に格納する。命令が命令解析
レジス冬養に格納されると、命令語長デコーダ5は、命
令解析レジスタ養の命令語長ビットをデコードし、。
後続命令の命令語長を生成して加算器8に送出するO 後続命令位置ポインタ9は、3ビツトて構成もれ、マイ
クロ命令が次の命令語を実行するとき、・演算器8によ
り命令語長デコーダδで生成した後続命令の命令語長を
加算して、その結果を後続命令位置ポインタ9に出力す
る。これに先立って、。
後続命令位置ポインタ9に格納されている内容を、現在
命令位置ポインタ10に移すと同時に、加算器8の他の
入力として加える。
後続命令位置ポインタは、”ooo”、’001”、。
010”、′011”、”100”、” 101”によ
り、命令バッファ・レジスタ2の6つの命令格納位置。
(Ll単位)を指定できる(ここでは、11〇−”Il
l”は使用されないので、演算器8は、加算結果が°’
110”となったときには、”ooo”を出力スル)。
この場合、3ビツトのうちの上位2ビツトが実線で区切
られたし2単位の位置を示し、1゜下位1ビツトが点線
で区切られたLl単位の前か後の位置を示している。
主記憶装置1は、1つのアドレスに4バイト 。
(32ビツト)単位で格納されているが、命令や単位と
しては2バイト(16ビツト)、4バイト0 (32ビツト)および8バイト (64ビツト)の種類
があるのて、主記憶装置1から現在命令とともに後続命
令を先読みする場合、命令バッファ・。
レジスタ2に2つの命令がすべて格納されるときと、後
続命令の一部のみしか格納されないで、残りの部分が主
記憶装置lにまだ格納されているときがある。
本実施例では、(1)すでに先読みした命令がすベテ命
令バッファ・レジスタ2に格納されていて、。
その後続命令を実行する場合(通常のステップ會、今の
とき)と、(It)先読みした命令がすべて格納されて
いても、・その命令をキャンセルして同じ位置に新たに
読み出しを行う場合(次の命令が分岐命令のとき)と、
(ilD先読みされる命令が命令バッフ。
ア・レジスタ2にすべて格納できないので、現有1命令
をマイクロ命令が実行している間に、現在命令の位置に
後続命令を読み込んだ後、後続命令のアドレス計算を行
ってしまう場合(バッファ・kジスタ量が不足するとき
)のいずれにおいても、。
着しく性能を低下させずに実現することができる。
2)1 また、第3図においては、マイクロ命令により先行制御
が行われており、通常、無条件分岐の場合には、マイク
ロ命令レジスタ11のアドレス部を制御記憶アドレス・
レジスタに移すとともに、マイクロ命令レジスタ11の
特定の1ビツトを分1岐指定ビットとしてM O11ま
たは°l ]、 IIをセットする。
条件付き分岐の場合には、分岐テストの結果、条件が成
立したときマイクロ命令レジスタ11のアドレス部を制
御記憶アドレス・レジスタに移し、また条件が不成立な
らば制御記憶アドレス・しν。
スタの内容を+1して正常ステップの制御に移る。。
記憶装置制菌回路12は、マイクロ命令レジスタ11の
命令読出し制御部Aの1ビツトが°゛O”のとき、無条
件に主記憶装置1より命令読み出しを行うように制御す
る(分岐命令の場合)。この等1イクロ命令の指示を、
IFl (命令フェッチ1)。
と呼ぶことにする。また、マイクロ命令レジスタ。
11の命令読出し制御部Aの1ビツトが1”のとき、命
令読出し抑止条件回路13の出力がパ0′″の場合には
命令読み出しを行い、”1°′の場合には命令読み出し
をキャンセルする制御を行う。上記のようなキャンセル
を行うマイクロ命令の指示を、・IF2(命令フェッチ
2)と呼ぶことにする。・命令読出し抑止条件回路13
は、命令格納ポインタ7の2ビツトと後続命令位置ポイ
ンタ9の3゜ビットのうちの上位2ビツトを比較し、一
致しているとき°l″を出力し、それ以外のときOII
を出力する。ここで、命令読出し抑止条件回路13の出
力が1”のときとは、すでに後続命令が格納されている
位置に、次の命令読出しの格納位置が1゜致しているこ
とを意味する。つまり、マイクロ命令がIFIを指示し
たときは、後続命令が格納されている位置に次の命令語
を格納することをキャンセルし、新たに格納された命令
(例えばブランチ命令等)より実行することを意味する
。また、l−。
マイクロ命令がIF2を指示したときは、後続命令が格
納されている位置に、次の命令語を格納することをキャ
ンセルして、すでに格納されている上記後続命令より実
行することを意味している。
第4図は、第3図の動作を制御するマイクロプログラム
のフローチャートである。
先ず、先頭の命令を読み出すため、マイクロ命令は命令
アドレスをアドレス・レジスタ(図示省略)にセットし
、IFlを3回指示する(L22部の命令バッファ・レ
ジスタが3個存在するため1、ステップ1.01.10
2)。このとき、命令格納ポインタ7はアドレス・レジ
スタがセットされたとき001′とし、命令バッファ・
レジスタ2の先頭より命令語を順次格納する(ステップ
103)。
また、後続命令ポインタ9は、命令アドレスが偶。
数のとき000”を、奇数のとき”001 ’″をそれ
ぞれセットする(ステップ104)。命令が命令バッフ
ァ・レジスタ2に読み出されて格納された後、マイクロ
命令は命令コード・ブランチを指示し、命令、を実現す
るマイクロ命令の先頭マイクドアドレスにブランチする
(ステップ106)。なお、命令コード・ブランチの前
に、命令セレクタ3は後続命令位置ポインタ9が示す位
置より命令を読み出し、命令解析レジスタ養に格納する
(ステップ105)。命令語長デコーダ5は、命令叩1
1(11) 長をデコードし、演算器8に命令語長を出力することに
より、演算器8は前にセットされている後続命令位置ポ
インタ9の内容と命令語長を加算する (ステップ10
7)。後続命令位置ポインタ9は、マイクロ命令が命令
コード・ブランチを指示したとき、この加算結果を格納
する(ステップ108)。これと同時に、現在命令位置
ポインタ1゜Oは、前の後続命令位置ポインタ9の内容
を格納する(ステップ109)。命令コード・ブランチ
した先のマイクロ命令は、その命令語長にしだ力h1っ
て、IFI、IF5を次のとおりに指示するとともに、
現在の命令を実行する指示を行う(ステップ110)。
(1)命令語長が2バイトまたは4バイトのとき、IF
2を1回指示する(ステップ112)。すな。
わち、すでに格納されている後続命令が最大語屑L3で
あっても、4バイト以下ならば次の命令を格納できるか
らである。
(II)命令語長が6バイトまたは8バイトのとき、I
FIとIF5をそれぞれ1回ずつ指示する(スコ1( 02) テップ113)。すなわち、すでに格納されている後続
命令が4バイト長以下のときは、残りのレジスタに読み
出して格納できるのでIFIを発行し、6バイト長以上
のときには残りのレジスタに格納できないのでIF2を
発行して、次の読み出しをキャンセルできるようにする
仙)命令語長によらず、分岐命令のときには、IFlを
3回指示する(ステップ114)。この場合には、無条
件で分岐先の命令を読み出して格納しそれを実行する。
3回指示するのは、L22部1の命令バッファ・レジス
タが3個あるがらである。
マイクロ命令が現在の命令を実行する場合f、。
命令解析レジスタ牛の内容を参照しなくなったとき、つ
まり次の命令語長がレジスタの残りの部分より大のため
、次の命令が読み出せないときにす1、IFIまたはI
F2を指示し、後続命令のオペランド・アドレス計算、
オペランド読み出しを指示する(ステップ115)。こ
の場合、後続命令はIF5を指示しているため、次の命
令読み出しにより破壊されることなく、先行アドレス計
算歯用1によって、命令セレクタ3は後続命令位置ポイ
ンタ9が示す位置より命令バッファ・レジスタ2内の後
続命令を命令解析レジスタ牛に格納し、後続命令のオペ
ランド・アドレス計算を行い、計算されたアドレスにし
たがってオペランドを読み出す。
ここで、現在命令が2バイト長のときには、命令読み出
しの終了を待たずに、後続命令の先行オづランド・アド
レス計算が可能であるが、現在命令が4バイト長で、か
つ後続命令が6バイト長以上のとき、命令バッファ・レ
ジスタ2には命令の1部しか格納されていないため、命
令読み出しの終了を待って、後続命令の先行オペランド
・アトにス計算を行う(ステップ116)。
現在命令が6バイト長、8バイト長の場合も、。
前と同じようすして、後続命令が命令バッファ・5 レジスタ2に一部しか格納されていないとき、命令読み
出しの終了を待って、後続命令の先行オブランド・アド
レス計算を行う。
上記の後続命令が一部しか格納されていない場合に、命
令読み出しの終了を待つ間、マイクロ命令は現在の命令
を実行することにより、実待ち時間の域少を図る。
このように、本実施例では、命令バッファ・レジスタの
全データ長を短くして、コスト低下を図り、命令語長が
短かい命令に対しては高速動作させる一方、命令語長の
長い命令が連続した場合にも、それほど性能を低下させ
ることなく命令を実行することができる。
〔発明の効果〕
以上iff明したように、本発明によねば、命令ノ+j
ツファ・レジスタの全データ長を、最大命令語のm倍(
例えば2倍)より短かく、かつ命令読み出し長のn倍(
例えば3倍)のデータ長にすることができるので、ハー
ドウェア量が削減される結果、小型化、低価格化が可能
となり、しかも、従来(比べて性能の低下を避けること
ができる。
【図面の簡単な説明】
第1図は従来における命令バッファ・レジス叱の構成図
、第2図は本発明における命令バッファ・レジスタの構
成図、第3図は本発明の一実施例奪。 Cl3) 示す情報処理装置の要部ブロック図、第4図は第3図の
制御を行うマイクpプ四グラムの動作フ資−チヤードで
ある。 1:主記憶装置、2:命令バッファ・レジスタ、3:命
令セレクタ、4:命令解析レジスタ、5:。 命令語長デコーダ、6t8:演算器、7:命令格納ポイ
ンタ、9:現在命令位置ポインタ、1o:後続命令位置
ポインタ、11:マイクロ命令レジスタ、12:配憶装
置制御回路、13:命令読み出し抑止条件回路。 1゜ e

Claims (1)

    【特許請求の範囲】
  1. (1)先行制御のための複数の命令バッファ・レジスタ
    と、該レジスタへの次命令格納位置を指示するポインタ
    と、該レジスタからの読み出し位置を指示するポインタ
    とを有する情報処理装置において、上記命令バッファ・
    レジスタから現在命令および後続命令の読み出し位置を
    指示する各ポインタと、該後続命令読み出し位置を示す
    ポインタの値および上記次命令格納位置を指示するポイ
    ンタの値を比較して、次の命令を命令バッファ・レジス
    タに読み出せるか否かを判別する手段と、上記判別手段
    により、次の命令の読み出しをキャン囃ルするか否か決
    定し、かつ次の命令が分妓命令のときには無条件で読み
    出すことを指示する制御手段とを有することを特徴とす
    る情報処理装置。。
JP22413083A 1983-11-30 1983-11-30 情報処理装置 Pending JPS60117335A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22413083A JPS60117335A (ja) 1983-11-30 1983-11-30 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22413083A JPS60117335A (ja) 1983-11-30 1983-11-30 情報処理装置

Publications (1)

Publication Number Publication Date
JPS60117335A true JPS60117335A (ja) 1985-06-24

Family

ID=16809008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22413083A Pending JPS60117335A (ja) 1983-11-30 1983-11-30 情報処理装置

Country Status (1)

Country Link
JP (1) JPS60117335A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0333933A (ja) * 1989-06-29 1991-02-14 Nec Corp マイクロコンピュータ
JPH07239780A (ja) * 1994-01-06 1995-09-12 Motohiro Kurisu 1クロック可変長命令実行処理型命令読み込み電子計 算機
US6530013B1 (en) 1998-12-17 2003-03-04 Fujitsu Limited Instruction control apparatus for loading plurality of instructions into execution stage
US7360059B2 (en) 2000-09-28 2008-04-15 Analog Devices, Inc. Variable width alignment engine for aligning instructions based on transition between buffers

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0333933A (ja) * 1989-06-29 1991-02-14 Nec Corp マイクロコンピュータ
JPH07239780A (ja) * 1994-01-06 1995-09-12 Motohiro Kurisu 1クロック可変長命令実行処理型命令読み込み電子計 算機
US6530013B1 (en) 1998-12-17 2003-03-04 Fujitsu Limited Instruction control apparatus for loading plurality of instructions into execution stage
US7360059B2 (en) 2000-09-28 2008-04-15 Analog Devices, Inc. Variable width alignment engine for aligning instructions based on transition between buffers

Similar Documents

Publication Publication Date Title
JP2640454B2 (ja) ディジタル命令プロセッサ制御装置および1サイクル内で分岐を実行する方法
JP2603626B2 (ja) データ処理装置
EP0438961A2 (en) Hardware data string operation controller
US5131086A (en) Method and system for executing pipelined three operand construct
KR920006275B1 (ko) 데이타 처리 장치
JPH1091435A (ja) 二種類の命令長コードを実行するプロセッサ及びその命令コード入力装置
JPS633337B2 (ja)
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPH056894B2 (ja)
JPH03129432A (ja) 分岐制御回路
JPS60117335A (ja) 情報処理装置
JP2723238B2 (ja) 情報処理装置
JPH07306785A (ja) 分岐命令実行機能を持つプロセッサおよび分岐命令制御方法
JP2772100B2 (ja) 並列命令フェッチ機構
JPH02157939A (ja) 命令処理方法及び命令処理装置
JP2856373B2 (ja) データ処理装置
JPS60250438A (ja) 情報処理装置
JPS60198640A (ja) パイプライン型情報処理装置
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法
JPS59158442A (ja) 命令読出し制御方法
JP3210171B2 (ja) データ処理装置
JPH0855033A (ja) 情報処理装置
JPH0338726A (ja) 分岐命令処理装置
JPH05282145A (ja) 分岐命令処理方式
JPS63195736A (ja) パイプライン制御のための分岐命令処理装置