JPS58176751A - 命令語解読ユニツト - Google Patents

命令語解読ユニツト

Info

Publication number
JPS58176751A
JPS58176751A JP5811582A JP5811582A JPS58176751A JP S58176751 A JPS58176751 A JP S58176751A JP 5811582 A JP5811582 A JP 5811582A JP 5811582 A JP5811582 A JP 5811582A JP S58176751 A JPS58176751 A JP S58176751A
Authority
JP
Japan
Prior art keywords
instruction
unit
instruction word
register
address
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
JP5811582A
Other languages
English (en)
Inventor
Shunichi Torii
俊一 鳥居
Tsuguo Shimizu
清水 嗣雄
Kenichi Wada
健一 和田
Yoichi Shintani
洋一 新谷
Akira Yamaoka
山岡 彰
Giichi Tanaka
義一 田中
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 JP5811582A priority Critical patent/JPS58176751A/ja
Publication of JPS58176751A publication Critical patent/JPS58176751A/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/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、命令語が記憶ユニット上に連続したアドレス
で格納され、かつ命令語の長さが命令の種類により異な
る計算機において、命令の解読を並列に実行することに
関する。
第1図は、従来の計算機の構成を示したものでめシ、解
読ユニット4は、記憶ユニット1より命令語を読出して
命令の種類と命令のオペランドアドレスを解読しその情
報を準備ユニット2に送出する。$viiiユニット2
は命令の種類に応じて必要なオペランドを記憶ユニット
1よυ続出したのち、演算ユニット3に実行すべき演算
の種類に関する情報とオペランドを送出する。演算ユニ
ット3は、(ILJA−の実行結果を準備ユニット2に
戻す。次に、準l1mユニット2は、演算精米を記1意
ユニット1に送出する。解シュニット4と命労冥行14
堀ユニット2rtfとめて、命令制御ユニットとも呼ば
れる。
大型計:Jl憬では、解読ユニット4と準備ユニット2
と演算ユニット3はパイプラインで動作している。たと
えば、本出願人によるHITAC−M20OH型計算機
ではめるマシンサイクルに演算ユニット3でN番目の命
令全実行中の時、準備ユニット2では、N+1番目とN
+2番目の命令に関するオペランドの準備を実行中であ
り、解読ユニット4ではN+341目の命令の解読を実
行している。
第1図の構成において計算機の処理能力を倍増する方式
として、演算ユニット3を強化し、一つのマシンサイク
ルに2個以上の命令の実行を可能とする手段(fclと
えば複数演算器の並列実行、iマシンサイクルピッチの
パイプライン化)が考えられる。この方式では、演算ユ
ニット3の強化と対応して解読ユニット4の処理能力も
倍増しなければ大きな効果が得られない。
本発明は解読ユニットの処理能力を@壇することr目的
としている。
解読ユニットは、1つのマシンサイクルで命令アドレス
を記憶ユニットに送出し、命令語を受取って命令語レジ
スタに格納するとともに次の命令・語の命令アドレスを
計算する。一般に、記憶ユニットのうち命令アドレスを
受取り命令語を送出する部分は解読ユニットとの間で高
速の応答性を必要とするため、解読ユニットと物理的に
近い位置に配置?−るのが普通であり、命令制御ユニッ
トの一部と考えても良い。前述のM2O0Hでも命令制
御ユニットの一部として、命令バッファユニットと呼ば
れている。詳しくは、日経エレクトロニクス1979年
12月24日号p104〜p130rLSI技術の助け
を借シてパイプライン方式を強化した最高速の商用汎用
コンヒユータコ参照。
本発明では、上記命令バッファユニットの内部に触れな
いため、紀1.瀘ユニットに含めた形で説明を進める。
本発明では、複数の命令語格納レジスタを用意し、複数
個の命令′S読器を設けるだけでなく、次のマシンサイ
クルで記憶ユニットへ送出する命令アドレスの作成方法
と、追〃口した命令語アドレスレジスタの前に設けた選
択回路に特徴があり、1″□ 、。
マシンサイクルに複数個の命令の同時解読を可能にして
いる。本発明はとくに命令の種類によシ命令胎の長さの
異なる命令形式の計算機に関するものである。
以下、第2図以降の実施例をもとに詳細に説明する。本
実施例は、HITAC−Mシリーズの命令形式を前提と
した実施例であり、命令語の長さには2バイト、4バイ
ト、6バイトの3種類が存在する。Mシリーズの命令仕
様に関しては、本出願人が配布するHITACマニュア
ル「Mシリーズ処理装置」を参照のこと。
第2図の実施例では、同時に解読可能な命令数を2個と
した時の回路を示している。8バイトの命令語データの
先頭バイトから次に解読すべき命令語が存在する。すな
わち、記憶制御ユニットは命令アドレスで示された番地
から始まる8バイトを読み出し、命令語データとして命
令語解読ユニットに送出する。
Mシリーズの命令形式では、命令語の先頭バイト(第1
バイト)の上位2ビツトにより命令語の長さが決められ
る。すなわち上位2ビツトのパターンが2進数の00宜
であれば2バイト長の命令でろ、j)、11鵞であれば
6バイト長の命令であり、その他のパターンであれば4
バイト長の命令である。
配慮ユニットからデータ線101〜104を経由して送
られる命令語データの8バイト中には2個以上の硲令語
ヲ必ず含んでいる。以ドの説明では8バイトの先頭バイ
ト(第1バイト)から始する鮪情を第1命箭、次の命令
を第2命令と名付ける。第2命令は、命令語のすべての
部分が上記8バイト中に存在するとは限らないが、先頭
2バイト分はかならず8バイト中に含まれており、第2
命貨の長さは必ず識別することがり能である。
最初に第2図を用いて解読ユニットの動作を簡単に説明
し、次に第3図を用いて解読ユニットが何うべき機能を
詳細に説明し、最後に第2図と第3図の両方を用いて各
慎能がどの様に実現されてい7)かについて説明する。
ML ttユニットより、8バイトの有効な命令語デー
タが第2図に示した解読ユニットに送られる時、有効な
命令語データが送られること示す信号線109はl″と
なり、8バイトの有効な命令語データは先頭バイトから
2バイトずつに分かれてデータ線101,102,10
3.104をそれぞれ経由して解読ユニットに送られる
。データ線101.102,103,104、信号線1
09は第1図における信号線10と対応する役割を果す
。解読ユニットは有効な命令語データ中の第1命令を砧
労飴レジスタ450に格納する。第2命令は、選択回路
401および402により選択されて命令語レジスタ4
51に格納する。論理回路480は、データ線101の
一部を入力として上記選択回路401および402の制
御イぎ号を作成する。作成手段については第3図を用い
て後述する。
論理回路410は、データー101の一部、第2砧舎の
先頭2バイトを転送するデータ線492の一部(デニタ
線490 )、信号線109を人力として、@1命令が
有効でおることを示す信号線411、第2命令が有効で
あることを示す[6号線412、有効な命令語データを
次サイクルに要求すること金示す1ぎ号線413、及び
命令アドレスの増分値を示すデータ線415を作成し、
それぞれFF(フリップ・フロップ)452,453゜
431、およびアドレス加算器420に送出する。
論理I!?1路410における上記信号の作成手段につ
いては、第3図を用いて後述する。
アドレス/11]算回路420は、命令アドレスレジス
タ430の出力の内容と詰合アドレスの増分1直金がす
データ線4!5の内容とを加算し、結果を描箭アドレス
レジスタ430に送出する。
次サイクルの始めに、FF4sz、453゜4312よ
びレジスタ450,451,430tt’1それ(ルの
人力16号の内容を取込み、−サイクルの間その内容金
記1意する。
次に、解読ユニットが有効な命令語データを受取った次
のサイクルに2ける解読ユニットの動作について説明す
る。
論理回路460は、渠−命省が有効であったことと記1
.嫁するF F 452の出力と、第一命令を格納する
命竹袷レジスタ450の出力を入力として、命令の1鵠
に関する次の11v@をデータ+@131を経由して、
単画ユニットに送出する。
(1)  演算器で実行すべき演算の種類(加算、減算
乗算、除算の区別) (2)参照するレジスタの番号とレジスタ参照の種類(
続出しか更新かの区別) (3)  メモリ参照の種類(読出しか(新かの区別)
オペランドアドレス計算回路461は、第1命令語を記
憶する昂令諸レジスタ450の出力を人力してオベラ/
、ドのアドレスを#f!し、データ線41を経由して命
8笑行準備ユニットにオペランドアドレスを送出する。
論理回路460、オペランドアドレスitt算回路46
1はJ”テK)(I rAC−M 200 H寺で実現
されている回路と同−機能であり、これ以上の説明は省
略する。論理回路470とオペランドアドレス計算回路
4/1は、人力がF’F453と命宙語レジスタ451
である点と出力の1d号線が異なる点を除き、論理回路
460とオペランドアドレス計算回路471と同一回路
である。
データ線31とデータll1J41は、第1図における
信号a30と40と対応する役割を果す。
FF431の出力と命令語アドレスレジスタ430の出
力はそれぞれ、有効な命令語データを読出すことを要求
する信号と続出すべき命令語データの先頭アドレスを示
す信号として、記憶ユニットに込らJ’Lるっ上記2つ
の出力線は、第1図にシ・Vするデータ線20と同じ役
割を来す。
記憶ユニットは、命令語データの続出し要求に応答して
、次の有効な茄令語データを解読ユニットに送出する。
以上、同じ動作がくり返さnる。
次に解読ユニットが行なうべき機能についてさらに祥し
く説明する。
第3図は、館令語レジスタへの人力の有無(信号−10
9によりθ己1雇制帥ユニットから報告されるJ、gl
および第2鮪令の砧箭バイト艮をそれぞn人力を入力と
する第2図の命令′sdユニットがイJなうべき機能を
示しtものでめる。
A1列と第2列と第3列は上目己人カ乗件を示している
っ一部は入力条件として無視されること示している。祇
4列と第6タ1」は、それぞれ第1および第2′@的用
の命令語レジスタへ有効な命令語が格納できるかの判断
結果を示している。有効とは命令語レジスタに有効な命
令語が格納できることを示しており、次のサイクルには
、倫令爽行準備ユニットに対して分合解読情報を送出す
ることを示している。無効とは有効な同各が命令語レジ
スタに人力することができず次のサイクルでは命令実行
準備ユニットに対して結合解読1′lv報を送出しない
こと金示す。
第5列と第7列は、8バイトの命情甜データ中のどの部
分金弟1命令および第2命令として取り出し、第1の命
令語レジスタ450 (6バイト)および第2の命令語
レジスタ(6バイト)に格納すべきかを各バイト毎に示
している。x印は、その命令語レジスタのバイトには任
意の埴が格納されても良いことを示している。
第8列は、記憶制御ユニットに対して次のサイクルで更
新された命令アドレスからはじまる命令語データの送出
を要求すべきかの判断結果を示している。無しとは、要
求しないことを示す。発行とは次のサイクルで送出を要
求することを示す。
第9列は、命令アドレスレジスタの増分すべき値すなわ
ち、8バイトの命令語データ中より収り出せた命令語の
バイト長の合計である。0は更新しないこと、または同
じ値を命令アドレスレジスタに格納することを示す。
次に、第3図に示し九機能と第2のA成回路との対応づ
けを説明する。
第3図の第5列は、第1の命8語レジスタへの人力はい
つも命令語データの第1バイトからの6バイト金人力し
て良いこと金示している。第2図の第1の命令語レジス
タ450(6バイト)にはデータ線101〜103を直
接入力する。
嘱3図の47列は、第2の命令語レジスタへの入力は、
第1砧令のバイト長だけで決足しても良いことを示して
いる。嬉2図の論理回路480は、データ線101を経
由して、第1命令の第1バイト(先頭バイト)の上位2
ビツトを入力し、第1命令のバイト長を判定し、選択回
路401および402を制御して第2の命令語レジスタ
451への人力を正しく保証する。選択回路401は、
データ線102,103,104中の第3.4バイト又
は第5.6バイト又は第7,8バイトを選択して、第2
命令語レジスタの第1.2バイトへの入力値を出力する
。選択回路402は、データ線103.104中の第5
.6バイト又は第7,8バイトを選択して、第2命令語
レジスタの第3゜4バイト′−人力する。第2命令語レ
ジスタの第5゜6バイトには1、つねにデータ線の10
4の第7゜8バイトを入力す扛は良い。
論理回路410は、信号線109とデータ線101と選
択回路401の出力線を経由して、命令語データに命令
語レジスタに格納すべき命分語の有無(第4図の第1列
と対応)と第1命令の長さく第2列と対応)と第2命令
の長さく第3列と対応)を入力して、FF452への人
力(第4列と対応)とFF453への入力(第6列と対
応)とFF431への入力(第8列と対応)と命令アド
レス加算器420への入力を第3図に従って作成する。
FF452,453,431.命令語レジスタ450.
451、命令アドレスレジスタは、記憶ユニットよシ命
令語が解読ユニットに送出されたサイクルの次のティク
ルで、準備ユニットにS読情@を送出し、記憶ユニット
へ次の命令データを要求するために1サイクルの記憶保
持として使用される。
第4図は、第2図に示した不発明による解読ユニットを
計算機に適用した実施?りである。2つの準備ユニット
2a、2bは、そnぞれyjg1図の命令実行準備ユニ
ットと同一機能のものである。2つの演算ユニット3a
、3bは、そルぞれ第1図の演算ユニットと同一機能の
ものである。準備ユニット2aは、s読ユニットからデ
ータft531゜41を袖山して送出される命令の種類
に関する情報とオペランドアドレスを受取り、メモリか
らオペランドデータを読出すことが必要な種類の命令で
あれば、1ぎ号線50aを経由して記憶ユニットlaに
f出しを要求し、オペランドデータをデータylJ60
a1r−経由して受取る。データ線90aを経由してオ
ペランドデータと実行するべき演算の種類に関する情報
を演算ユニット38に送出し、演算結果をデータ線80
aを経由して受取る。メモリを一新することが必要な種
類の命令であれば信g線70’aを経由してメモリの書
込みを要求する。準備ユニット2bと演算ユニット3b
の動作も同様であるので説明を省略する。
記1意ユニツ)laは、第1図の記憶制御ユニットとは
a数の準備ユニットからのメモリ参照要求を受付ける点
で異なる機能を有するが、この機能はメモリ共有型マル
チプロセッサシステムの記憶ユニットですでに確立され
友技術により実現できる。
第4図の#J!′機は、第1図の計算機の2倍の性能が
実現できる。従来のメモリ共有型マルチプロセッサシス
テムでは、解読ユニットが複数個あり、おのおのの命令
解読ユニットは別個の命令アドレスレジスタを有し独立
に更新するので、マルチプロセッサシステム内では複数
個のプログラム(タスク)が同時に実行される。一方、
第4図の計算機では本発明の解読ユニットが1個あり全
体で1個の命令アドレスレジスタしか存在しないので、
1間のプログラム(タスク)が2倍の性能で実行される
点でメモリ共有型マルチプロセッサシステムと異なる。
すなわち、本発明の命令mgユニットを用いた計算機は
、マルチプログラム方式(マルチタスク方式)による高
速化が期待できない計算分野に対しても高速化を可能と
するので、マルチプロセッサシステムよりも有効である
【図面の簡単な説明】
第1図は、計算機の内部が解読ユニット4と重囲ユニッ
ト2と演算ユニット3と記憶ユニット1から偶成されて
いることを示す図。第2図は、本冗明の対象である1マ
シンサイクルに複数個の命令が同時にW4d可能な解読
ユニットの央旙例を示す図、第3図は、第2図の解読ユ
ニットの機能を示す図。第4図は、本発明解読ユニット
を使用し篤  1   図 第 2 図 0 第1頁の続き @発 明 者 山岡彰 国分寺市東恋ケ窪1丁目280番 地株式会社日立製作所中央研究 所内 [相]発 明 者 田中義− 国分寺市東恋ケ窪1丁目280番 地株式会社日立製作所中央研究 所内

Claims (1)

  1. 【特許請求の範囲】 記憶ユニット上に格納された複数の命令語により演算を
    実行する計算機において、 上記記憶ユニットへ所望の命令アドレスを送出する手段
    と上記記憶ユニットから、該送出された命令アドレスよ
    シ始まる複数語を受取シスドアする手段と、上記ストア
    された複赦晴の先頭に位置する命令語を保持するための
    第1の命令語レジスタと、上記先頭−位置する命令語の
    種類に応じて、上記複数語の中の命令語を選択する手段
    と、選択された命令語を保持する第2の命令語レジスタ
    と、上記第1の命令語レジスタに格納された命令語の種
    類と、上記第2の命令語レジスタに格納された命令語の
    種類に応じて、上記記憶二ニットへ次に送出する命令ア
    ドレスを更新する手段を有する命令語解読ユニット。
JP5811582A 1982-04-09 1982-04-09 命令語解読ユニツト Pending JPS58176751A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5811582A JPS58176751A (ja) 1982-04-09 1982-04-09 命令語解読ユニツト

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5811582A JPS58176751A (ja) 1982-04-09 1982-04-09 命令語解読ユニツト

Publications (1)

Publication Number Publication Date
JPS58176751A true JPS58176751A (ja) 1983-10-17

Family

ID=13074976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5811582A Pending JPS58176751A (ja) 1982-04-09 1982-04-09 命令語解読ユニツト

Country Status (1)

Country Link
JP (1) JPS58176751A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0269980A2 (en) 1986-11-28 1988-06-08 Hitachi, Ltd. Data processor for parallelly executing conflicting instructions
US4942525A (en) * 1986-11-21 1990-07-17 Hitachi, Ltd. Data processor for concurrent executing of instructions by plural execution units
JPH06161747A (ja) * 1992-04-09 1994-06-10 Internatl Business Mach Corp <Ibm> データ処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942525A (en) * 1986-11-21 1990-07-17 Hitachi, Ltd. Data processor for concurrent executing of instructions by plural execution units
US5671382A (en) * 1986-11-21 1997-09-23 Hitachi, Ltd. Information processing system and information processing method for executing instructions in parallel
US5922068A (en) * 1986-11-21 1999-07-13 Hitachi Ltd. Information processing system and information processing method for executing instructions in parallel
EP0269980A2 (en) 1986-11-28 1988-06-08 Hitachi, Ltd. Data processor for parallelly executing conflicting instructions
JPH06161747A (ja) * 1992-04-09 1994-06-10 Internatl Business Mach Corp <Ibm> データ処理装置

Similar Documents

Publication Publication Date Title
JP2918631B2 (ja) デコーダ
EP0239081B1 (en) Pipelined data processor capable of decoding and executing plural instructions in parallel
US4745547A (en) Vector processing
US4897787A (en) Data processing system
EP0782071A2 (en) Data processor
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
JPS6217252B2 (ja)
JPH0769818B2 (ja) デ−タ処理装置
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
JPS6313215B2 (ja)
JPH0248931B2 (ja)
JPH03286332A (ja) デジタルデータ処理装置
US5390306A (en) Pipeline processing system and microprocessor using the system
JPS58176751A (ja) 命令語解読ユニツト
JPS5826584B2 (ja) デ−タ処理装置
US4975837A (en) Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets
JPH0461390B2 (ja)
US5151993A (en) Data processor performing operation on data having length shorter than one-word length
JP3490005B2 (ja) 命令制御装置及びその方法
JP2848727B2 (ja) 並列演算処理装置
JPH10116191A (ja) 圧縮命令用バッファを備えたプロセッサ
JPH0440524A (ja) 演算装置
JP2856784B2 (ja) 電子計算機
JPH07110769A (ja) Vliw型計算機
JPH0218732B2 (ja)