JPS62126442A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS62126442A
JPS62126442A JP26491785A JP26491785A JPS62126442A JP S62126442 A JPS62126442 A JP S62126442A JP 26491785 A JP26491785 A JP 26491785A JP 26491785 A JP26491785 A JP 26491785A JP S62126442 A JPS62126442 A JP S62126442A
Authority
JP
Japan
Prior art keywords
instruction
branch
register
address
signal line
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
JP26491785A
Other languages
English (en)
Inventor
Toru Shonai
亨 庄内
Eiki Kamata
釜田 栄樹
Shigeo Takeuchi
武内 茂雄
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 ULSI Engineering Corp
Hitachi Ltd
Original Assignee
Hitachi ULSI Engineering Corp
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 ULSI Engineering Corp, Hitachi Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP26491785A priority Critical patent/JPS62126442A/ja
Publication of JPS62126442A publication Critical patent/JPS62126442A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、分岐命令を含む命令語を処理するデータ処理
装置に関する。
〔発明の背景〕
分岐−命令の処理を高速化する方法として、例えば特公
昭54−9456号公報に示されるように、分岐命令の
アドレスとそれに対応する分岐先命令語とを対にして連
想記憶に記憶しておき、分岐命令解読時に分岐命令のア
ドレスで連想記憶を探索し、存在する時には連想記憶内
の分岐先命令語を用いるものが知られている。
第1図はこの方法による処理の流れを示したものである
。命令2が分岐命令であり、命令1.3はその他の命令
である。各命令は解読(ト)、データ読出し囚、データ
転送■、実行[F]の各ステージを順々にへて処理され
る。分岐命令に対しては解読ステージより2サイクルを
要して連想記憶を読出すので、図のように2サイクル遅
れで命令3が開始される。
この方法を用いれば、分岐命令の処理は主記憶又はバッ
ファ記憶から分岐先命令語を読出す時に比べて、かなり
高速化されている。しかし、その処理時間は連想記憶の
読出し時間よりは短くならない。
〔発明の目的〕
本発明の目的は、上述した公知技術よりも更に短い時間
で分岐命令を処理するデータ処理装置を提供することに
ある。
〔発°明の概要〕
本発明は、上述した連想記憶を、分岐命令が解読される
以前に、分岐命令のアドレスを用いて検索することによ
り、上述の公知技術よりも高速に分岐命令を処理できる
ようにしたものである。
〔発明の実施例〕
以下、本発明の一実施例を説明する。説明の都合上、(
株)日立製作所のMシリーズアーキテクチャに基づくデ
ータ処理装置であることを前提とする。
第2図は典壓的な命令フォーマットを示している。すな
わち命令は、演算の内容を示す02部、第1オペランド
のレジスタの番号を示す几1部又は条件マスクを示すM
1部、第2オペランドのインデクス値を格納するレジス
タの番号を示すX2部、同じくベース値を格納するレジ
スタの番号を示すB2部、同じくディスプレースメント
を示すB2部とから成る。第2オペランドのメモリ上の
ロケーションのアドレスは、X2部により示される汎用
レジスタ(インデクス働レジスタ)の内容と、B2部に
より示される汎用レジスタ(ベース−レジスタ)の内容
と、B2部により示されるディスプレースメントを加算
することによって得られる。この命令形式では、命令語
は4バイト長から構成され、02部は第1バイトの8ビ
ツト、R,1部又はM1部は第2バイトの上位4ビツト
、X2部は第2バイトの下位4ビツト、B2部は第3バ
イトの上位4ビツト、B2部は残り12ビツト、すなわ
ち第3バイトの下位4ビツトと第4バイトの8ビツトに
よって示される。
第3図は、分岐命令を含む命令列の例である。
第1番目の命令りはメモリ、汎用レジスタにデータを転
送する命令であり、B2部によって示される汎用レジス
タの1番(以下、GRIと略記する)の内容と、X2部
によって示されるGR,2の内容と、B2部で示される
変位100を加算して得られるアドレスの内容を、R1
部で示されるGR5に格納する命令である。
2番目の命令BCは分岐命令であり、M1部の条件マス
クの示す条件が成立する時、82部によって示されるG
R3の内容と、X2部によって示されるGR4の内容と
、B2部で示される変位200を加算して得られるアド
レスaの命令を次に実行する。第3図ではM1部は15
であり、これは常に分岐することを示す。
アドレスaを2000とすると、分岐成立時に実行され
る命令は3番目の命令りである。この命令はGRIの内
容とGR2の内容と300を加算して得られるアドレス
の内容をGR6に格納する命令である。
第4図は実施例で示すデータ処理装置の構成を示す図で
、次の4つの部分からなる。
(1)命令ユ三ット(IU、4000):命令の先取り
、解読等を司る。
(2)実行ユニット(EU、4002):命令を実行す
る。
(3)分岐先連想記憶(TAS、4004):分岐先命
令語を含む命令列(分岐先命令列)を記憶する連想記憶
(4)主記憶(MM、4006)。
4008〜4020は、上記(1)〜(4)の装置間を
結ぶ信号線のうち、実施例の説明に関連のあるもののみ
を示したものである。
第5図は分岐先連想記憶4004の具体的構成を示す図
である。
5000は連想記憶装置であり、命令アドレス、命令語
、インデクス・レジスタの内容、ベース・レジスタの内
容、分岐先命令列を組とする語を記憶する。命令アドレ
スはPICPに記憶され、命令語はPIRPに記憶され
、インデクス・レジスタの内容はPGRXPに記憶され
、ベース・レジスタの内容はPGRBPに記憶され、分
岐先命令列はPTIPに記憶される。
5002〜5010はPIC,PIR,PGRX。
PGRB信号線の値を記憶するレジスタであり、501
2は比較器である。
このような構成において、命令ユニットからPIC信号
線4008、PIR信号線4010、PGRX信号線4
012、PGRB信号線4014を介して命令アドレス
、命令語、インデクス・レジスタの内容、ペース・レジ
スタの内容が転送されてきて、かつ、命令語が分岐命令
で、ある時、分岐先連想記憶装置は転送されたものと等
しいものを記憶した語が存在するか否かを探索し、存在
する場合にはPTI信号線4016にその語の中の分岐
先命令列を出力する。
第6図は命令ユニットの具体的構成を示す図である。
6000.6002は先取シした命令列を記憶する命令
バッファレジスタであり、6014.6016は命令バ
ッファレジスタより取り出した命令語を記憶する命令レ
ジスタとプレ命令レジスタであり、6004.6006
は命令バッファレジスタより命令語を切り出すアライナ
とプレ・アライナであり、6012は命令レジスタ中の
命令語の命令アドレスを記憶する命令カウンタであり、
6022は16本の汎用レジスタであり、6024はア
ドレス−アダーでるる。
命令バッファレジスタには、主記憶からのIDATA信
号線と分岐先連想記憶からのPTI信号線が入力されて
おり、どちらかの信号線から命令列が転送されてくると
その命令列を記憶する。
命令バッファレジスタは0と1の2つあるが、通常は片
方の命令バッファレジスタ(たとえば0)が使用されて
おり、分岐命令が出現するとその分岐先の命令列が他方
の命令バッファレジスタ(この場合1)に記憶され、そ
れ以降の命令列は、次の分岐命令が出現するまでは命令
バッファレジスタ1に記憶される。
命令レジスタには、現在命令レジスタにある命令語の次
の命令語が、命令バッファレジスタよりアライナを介し
て取り出され、セットされる。命令カウンタには現在命
令レジスタにある命令語の命令アドレスが記憶されてい
るので、その値に4(1命令語のバイト長に相当する)
を加えた値が次の命令語の命令アドレスである。アライ
ナはこの値が出力される信号線6032を用いて次の命
令語を取り出す。
命令カウンタには、現在命令レジスタにある命令語の命
令アドレスが記憶されている。そのアドレスは6020
で4増加されて、命令レジスタに次の命令語が記憶され
る時に、命令カウンタに記憶される。
命令レジスタ中の命令語のX2部、B2部、92部はそ
れぞれX信号線、B信号線、D信号線に出力される。X
信号線とB信号線は汎用レジスタ6022に入力され、
X2レジスタの内容とB2レジスタの内容がGRX信号
線とGR,B信号線に出力される。アドレス・アダーで
はD信号線の値とGRX信号線の値とGR,B信号線の
値が加算されて、ADDR信号線4020に出力される
プレ命令レジスタには、命令レジスタ中の命令語の次の
命令語が常に記憶されている。プレ命令レジスタに記憶
される命令語はプレ・アライナ6006を介して取り出
される。プレアライナには、アライナに入力される信号
線6032に4を加えた値が信号線6030より入力さ
れるので、命令レジスタ中の命令語の次の命令語が記憶
されることになる。
プレ命令レジスタ中の命令語はPI几信号線4010に
出力される。また、その命令語のX2部とB2部は汎用
レジスタ6022に入力され、X2レジスタの内容とB
2レジスタの内容はPGRX信号線とPGRB信号線に
出力される。
また、プレ命令レジスタ中の命令語の命令アドレスは、
命令カウンタの値に4を加えた値であり、その値はPI
C信号線に出力される。P I R。
PICXPGRX、PGRBの各信号線は第4図に示し
たように分岐先連想記憶に入力される。
次に、実施例の動作を説明する。
動作は大きく分けて2つの動作に分けられる。
(1)前動作 命令ユニットにおける命令の解読に先立って、分岐先連
想記憶を命令アドレス、命令語、インデクス・レジスタ
の内容、ベース・レジスタの内容に基づいて探索する。
それらを含む語が存在する時には、その語の中の分岐先
命令列をPTI信号線を介して命令ユニットに送る。
(2)本動作 命令ユニットにおいて分岐命令が解読されると、その分
岐先の命令語のアドレス(分岐先アドレス)を求め、A
DDR信号線を介して主記憶へ送る。分岐先命令列の主
記憶からの読出しくIDATA信号線を介して行う)と
、実行ユニットでの分岐命令の実行が完了すると、後述
する場合分けに従い分岐先連想記憶の書換えを行う。
本動作での分岐先命令列の読出しは、前動作で分岐先命
令列が得られた否かに拘らず行われる。
その目的は次の2つである。
(1)分岐先連想記憶に存在しない分岐命令に対して分
岐先命令列を得る。
(2)分岐先連想記憶に存在した分岐命令に対して、主
記憶上の分岐先命令列が変更されていて、分岐先連想記
憶の分岐先命令列が正しくない可能性があるので、その
検証を行う。
次に第7図に従い、前動作を詳しく説明する。
命令が命令レジスタに記憶されて解読が開始されると、
上述したように次に命令レジスタに記憶される命令がプ
レアライナにより取出され、プレ命令レジスタに記憶さ
れる。この時、この命令に対する命令アドレス、命令語
、インデクス・レジスタの値、ベース・レジスタの値が
P I C,PI几PGRX、PGRBの各信号線を介
して分岐先連想記憶に転送される。
PIR信号線上の命令語が分岐命令である場合には、P
iCX PIR、PGRXXPGRBの各信号線上の値
がPICレジスタ、PIRレジスタ、PGRXレジスタ
、PGRBレジスタに記憶される。
その後、連想記憶50(10に、PICX PIR、P
GRXXPGRBの各信号線上の値を含む語が存在する
か否かを探索し、そのような語が存在する時はその語の
中の分岐先命令列kPTI信号線に出力し、かつPTI
レジスタをセットする。
一方、命令ユニットでは、PTI信号線を介して分岐先
命令列が出力された時には、それを空いている方の命令
バッファレジスタに記憶スル。
次に、第8a図、第8b図に従い、本動作を詳しく説明
する。
本動作は命令語が命令レジスタに記憶されて、解読が開
始される時から開始される。
まず、命令レジスタ中の命令が分岐命令か否かが調べら
れる。以下の動作は分岐命令である時のみ行われる。
アドレス・アダーで求められた分岐先アドレスがADD
R信号線を介して主記憶に送られる。
その後、分岐先アドレスに対する分岐先命令列がIDA
TA信号線を介して転送され、(IDATA読出し)、
分岐命令の実行が完了するまで、分岐先連想記憶動作は
中断される。
分岐先連想記憶が中断中、命令ユニットでは分岐命令に
続く命令の先行制御が継続される。
7006でPIC,PIR,PGRX、PGRBに対応
する語が存在していた時には、先行制御は分岐先の命令
列に対して行われる。そうでない時には、先行制御は分
岐先ではなく分岐命令に引き続く命令列に対して行われ
る。
IDATA読出しと分岐命令の実行が完了すると、以下
のような場合ごとに以下に示す動作が行われる。
(1)分岐が戻立し、7006でPICXPIRlPG
RX、PGRBに対応する語が存在していた時: PTIレジスタ5010の値とIDATA信号線上の値
が比較器5012で比較される。その結果、両者が等し
くない時のみ、存在していた語のPTIP部分がIDA
TA信号線の値で書換えられる。
(2)分岐が成立し、7006でPIC,PIR。
PGRX、PGRBに対応する語が存在していない時: PICレジスタ、PIRレジスタ、PGRXレジスタ、
PGRBレジスタおよびI DATA信号線上の値よシ
なる語を連想記憶装置5000に書込む。
(3)分岐が成立せず、7006でPIC,PIR。
PGRX、PGRBに対応する語が存在していた時: 存在していた語を連想記憶装置より削除する。
なお、(1)の時で比較器5012の結果が不一致の時
と(2)の時と(3)の時には、命令ユニットで行って
いた先行制御は無効化される。
以とで実施例の構成・動作の説明を終わる。なお、第4
図、第5図、第6図には種々の制御を行うための装置、
制御線は示されていないが、これらは本発明の要旨と特
に関係はなく、また、それらは従来技術により容易に構
成可能なものなので省略した。
また、本実施例では、分岐先連想記憶の探索時の入力と
して、命令アドレス、命令語、ペース・レジスタの内容
、インデクス・レジスタの内容を用いる場合を示したが
、入力を制限した方法も考えられる。たとえば、命令ア
ドレスだけを入力とした方法や命令アドレス、命令語、
ベース・レジスタの内容、インデクス・レジスタの内容
のうちの任意のビット部分(たとえば高位IBだけ又は
高位2B目から4ビツトだけ)を用いる方法がある。こ
れらの実施例は、本実施例で、分岐先連想記憶の入力(
PIC,FIR,PGRX、PG)LB信号線)のうち
、用いるビット部分だけを結線し、用いないビット部分
を結線しなければ良い。
次に本実施例の効果について第3図、第9図を用いて述
べる。
命令1.2を含む命令列が命令バッファレジスタOに記
憶されているとする。
まず、命令1がアライナ6004で取り出され、命令レ
ジスタ6014に記憶され、同時に命令2がプレアライ
ナ6006で取り出され、プレ命令レジスタ6016に
記憶される。命令1に対しては、Dサイクルで解読が行
われ、命令2に対しては、PDプサイルで前動作が開始
される。PDプサイルで開始された前動作は引き続<P
Aプサイルでも行われ(発明の背景で述べたように、連
想記憶の読出しは2サイクルがかかる。)、PAプサイ
ルの最後で分岐先連想記憶より読出された分岐先命令列
はPTI信号線に出力され、命令バッファ、レジスタ1
に記憶される。
分岐先命令列に含まれる命令3は次のサイクルに解読C
D)が行われる。
したがって、命令3は命令2より2サイクル遅れで解読
が開始される。これは従来技術(第1図)に比べ、1サ
イクル短縮化されている。
〔発明の効果〕
本発明によれば、分岐命令を解読する以前に、分岐先連
想記憶を検索するので、公知の技術よりも高速に分岐命
令を処理できる。
【図面の簡単な説明】
第1図は、公知技術による分岐命令の処理の流れ図であ
り、第2図は命令フォーマット図であり、第3図は命令
列の例であシ、第4図は実施例の全体図であり、第5図
は分岐先連想記憶の構成図であり、第6図は命令ユニッ
トの構成図であり、第7図と第8a図と第8b図は実施
例の動作フロー図である。屏?1亀す冷之暢1りrる會
書夕IL丁狗ミひ四tm、A)。 4000・・・命令ユニット、4004・・・分岐先連
想記憶、5ooo・・・連想記憶装置、6000.60
02・・・命令バッファレジスタ、6006・・・プレ
アライナ、6016・・・プレ命令レジスタ。 代理人 弁理士 高橋明夫、−8 、゛・°: 〈・・・・′ 第 1 口 6金1 」−ノー」−J8 χ 2 図 Y3 図 却32ρρρ L ≦ 31!7θ(l、2)第 4.
図 1 図 Y7 図 ’f−、gα 図

Claims (1)

  1. 【特許請求の範囲】 1、命令列を先取して保持しておく命令バッファレジス
    タを1つ以上有し、上記命令バッファレジスタより命令
    を順次取出して命令ユニットで解読し、その解読結果に
    従つて命令の実行を行うデータ処理装置において、 上記分岐命令のアドレスとそれに対応する分岐先命令列
    とを対にして記憶する記憶手段と、命令を上記命令ユニ
    ットで解読するに先立つて、上記命令のアドレスにより
    、上記記憶手段の分岐命令アドレスを検索し、両者が一
    致する時、対応する分岐先命令列を上記命令ユニットに
    送るように制御する制御手段と設けたことを特徴とする
    データ処理装置。
JP26491785A 1985-11-27 1985-11-27 デ−タ処理装置 Pending JPS62126442A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26491785A JPS62126442A (ja) 1985-11-27 1985-11-27 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26491785A JPS62126442A (ja) 1985-11-27 1985-11-27 デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS62126442A true JPS62126442A (ja) 1987-06-08

Family

ID=17409996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26491785A Pending JPS62126442A (ja) 1985-11-27 1985-11-27 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS62126442A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512010A (ja) * 1991-07-04 1993-01-22 Nec Corp 分岐予測方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512010A (ja) * 1991-07-04 1993-01-22 Nec Corp 分岐予測方式

Similar Documents

Publication Publication Date Title
JP2507756B2 (ja) 情報処理装置
GB1443777A (en) Data processing apparatus
JPH05120013A (ja) 分岐命令バツフアを有するデータプロセツサ
JPS62126442A (ja) デ−タ処理装置
US4737908A (en) Buffer memory control system
US4853889A (en) Arrangement and method for speeding the operation of branch instructions
JPS5890244A (ja) デ−タ処理装置
JPS6361332A (ja) デ−タ処理装置
JPH0760384B2 (ja) 命令実行方法およびデータ処理装置
JPH0544049B2 (ja)
JP2901247B2 (ja) 掃出し制御方式
JPS6027945A (ja) 命令取出装置
JPH0326862B2 (ja)
JPS63136229A (ja) 命令取出し装置
JPS60134937A (ja) アドレス拡張装置
JPH04245334A (ja) 情報処理装置の命令先読み制御方式
JPH0385636A (ja) 命令先行制御装置
JPH06124206A (ja) 分岐命令予測処理装置及びその処理方法
JPH02250117A (ja) 先行制御方式
JPS6410858B2 (ja)
JP2764947B2 (ja) 命令制御方式
JPS6047618B2 (ja) 情報処理装置
JP3523407B2 (ja) 情報処理装置
JPH02254541A (ja) 条件分岐命令の制御方式
JPS6027418B2 (ja) 命令先取り制御装置