JPS6324421A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS6324421A
JPS6324421A JP16913286A JP16913286A JPS6324421A JP S6324421 A JPS6324421 A JP S6324421A JP 16913286 A JP16913286 A JP 16913286A JP 16913286 A JP16913286 A JP 16913286A JP S6324421 A JPS6324421 A JP S6324421A
Authority
JP
Japan
Prior art keywords
instruction
branch
condition
conditional branch
forecasting
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.)
Granted
Application number
JP16913286A
Other languages
English (en)
Other versions
JP2534674B2 (ja
Inventor
Takashi Horikawa
堀川 ▲隆▼
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP61169132A priority Critical patent/JP2534674B2/ja
Publication of JPS6324421A publication Critical patent/JPS6324421A/ja
Application granted granted Critical
Publication of JP2534674B2 publication Critical patent/JP2534674B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は命令の先取りを行う情報処理装置に関し、特に
、効果的に命令の先取りを実行するために行う条件分岐
命令の分岐方向予測を、少ないハードウェアで実現する
情報処理装置に関する。
(従来の技術) 一般に、情報処理装置では、命令コードの取り込み(以
下、命令フェッチ)、命令コードの解読(以下、命令デ
コード)、命令実行という操作を各命令について行うこ
とにより、プログラムを実行している。命令によっては
、この他に、主記憶からのオペランドのアクセス(以下
、オペランド・リード)や命令実行結果の主記憶への書
き戻しく以下、オペランド・ライト)という操作を必要
とするものもある。
これらの情報処理装置では、命令フェッチ、オペランド
・リード、オペランド・ライトを主記憶制御部、命令デ
コードを命令デコード部、命令の実行を命令実行部で行
っている。これらの繰作は、情報処理装置内の各部分で
分担して処理されるため、連続する数命令についてこれ
らの各操作をオーバーラツプさせて並列に行うことが可
能である。この点に着目し、命令を高速に実行するため
に、数命令分の繰作を並列に処理するように制御するこ
とが広く行われている。これをパイプライン制御といい
、このような制御をとっている情報処理装置をパイプラ
イン型情報処理装置と呼ぶ。
パイプライン型情報処理装置で処理を高速に行うために
は、装置内の各部分が並列に動作する必要がある。しか
し、条件分岐命令では、その直前の命令実行が終了して
条件コードに有効な値を設定するまで、分岐条件が成立
して分岐が行われたか否かを決められないことか゛ら、
条件分岐命令に続く命令のフェッチ、テ゛コードを行う
ことができない。このため、情報処理装置内の各ユニッ
トに空き時間が生じ、命令実行速度向上の妨げになって
いた。
この問題点を解決するために、条件分岐命令の分岐方向
から分岐方向を予測して命令の先取り方向を決める方式
や、分岐命令の履歴情報を情報処理装置内に残しておき
、これをもとに命令の先取り方向を制御する方式が提案
されている。
(発明が解決しようとする問題点) パイプライン型情報処理装置の処理速度を向上させるた
めの条件分岐命令予測を、分岐方向から命令の先取り方
向を決める方式では、予測精度が低いという間趙があっ
た。また、分岐命令の履歴情報をもとにして行う方式で
は、複雑な処理を行うために多量のハードウェアを必要
とする欠点があった。
(問題点を解決するための手段) 本発明による情報処理装置では、前記の間利点を解決す
るため、分岐命令の種類および分岐距離を入力として分
岐の方向予測を行う条件分岐予測部を持たせることによ
り、少ないハードウェアで精度の良い条件分岐方向の予
測を行って命令の先取り方向を決める。
(作用) 本発明の基本構成を第1図に示す。第1図においてプロ
グラムの実行中に、条件分岐命令が命令レジスタ3にセ
ットされると、条件分岐認識部4より分岐の条件、分岐
距離認識部5より分岐距離に対応する値が出力されるの
で、これを条件分岐予測部6に人力する。条件分岐予測
部では、与えられた情報から条件分岐命令の分岐予測を
行い、この結果を命令先取り部7に送る。この分岐方向
予測が分岐する方向であれば、命令先取り部7では、分
岐先より命令コードのフェッチを行う。また、分岐方向
予測が分岐しない方向であれば、命令先取り部7では、
条件分岐命令の次の命令から命令コードフェッチを行う
このような制御を行うことにより、条件分岐命令実行時
において情報処理装置内の各部分に生じる空き時間を少
なくして、命令実行速度を向上させることができる。
(実施例) 本実施例では、情報処理装置の内部を第2図に示すよう
に分割して説明する。図において、主記憶制御部12は
、主記憶のアクセスを行う部分であり、命令先取り部2
を内部に持つ。主記憶制御部12の内部にメモリ管理機
構やキャッシュ・メモリを持つ情報処理装置もある。命
令デコーダ13は命令のデコードを行う部分であり、条
件分岐認識部4、分岐距離認識部5、条件分岐予測部6
を内部に持つ。命令実行部14は命令を実行する部分で
ある。
第3図は、本実施例における命令デコーダ13の構成を
示す図である。図において、条件分岐認識部4の内部に
おかれている条件分岐命令判定部20は、命令レジスタ
3に格納された命令コードが条件分岐命令かどうかを判
定する部分、ゲート21は、条件分岐判定部20により
、命令レジスタ3に格納された命令コードが条件分岐命
令であると判定されたときに、分岐の条件を条件分岐予
測部に出力する部分である。分岐距離認識部5の内部に
おかれている否定部22は分岐距離の各ビットについて
論理否定を行う部分、セレクタ部23は2つの入力のう
ち一方を出力する部分、FF1部24は入カテ゛−夕の
最上位ビットからサーチを行い最初に1が児つかったビ
ットの位置を2進数で出力する部分である。条件分岐予
f+!1部6の内部におかれている分岐予測テーブル2
5はアドレスとして入力される分岐条件、分岐距離に応
じて分岐予測を出力する1ビツトのメモリである。
第4図は、本実施例で説明する情報処理装置における条
件分岐命令の命令形式を示す図である。図において、命
令コード31は8ビツトであり、その内、上位4ビツト
は、条件分岐命令であることを示す値32、下位4ビツ
トは分岐する条件を示す値33である。また、分岐距離
は2の補数で表現され、この最上位ビットは符号ビット
35である。
まず、本実施例における情報処理装置で通常の命令を実
行する手順を示す。
主記憶11に格納されている命令コードは、命令先取り
部2により制御される主記憶制御部12によって主記憶
アクセス・バス15を通して取り出され、命令コード・
バス16を通して命令デコーダ13内の命令レジスタ3
に送られる。命令デコーダ13では、命令レジスタ3に
設定された命令コードをデコードし、次に実行すべき命
令で扱うオペランドのアドレスおよびオペランドのリー
ド、ライトの区別を主記憶制御部12にアドレス・バス
17を通して送ると共に、命令で行う操作に関する情報
を、命令デコード結果バス18を通して命令実行部14
に送る。主記憶制御部12では、リードすべきオペラン
ドについて、命令デコーダ13から送られたオペランド
・アドレスを主記憶バス15を通してアクセスし、次の
命令実行に必要なオペランドを用意する。命令実行部1
4では、命令デコード結果バス18を通して指定される
「命令で行う操作jを、主記憶制御部12が用意したオ
ペランドをデータ・バス19を通して取り出し、これを
用いて実行する。さらに、命令の実行結果を主記憶11
に格納する必要のあるときには、データ・バス19を通
して実行結果を主記憶制御部12に送る。主記憶制御部
12では、ライトする必要のあるオペランドが命令実行
部14から送られると、あらかじめ命令デコーダ13か
ら送られたオペランド・アドレスで指定される位置に、
主記憶バス15を通して、このオペランドをライトする
実行すべき命令が分岐命令の場合、命令デコーダ13よ
り分岐先アドレスがアドレス・バス17を通して主記憶
制御部12に送られる。主記憶制御部12では、分岐先
アドレスより命令フェッチを行うことで分岐が行なわれ
る。
次に、この情報処理装置により、条件分岐命令の分岐方
向を予測する手順を示す。
命令レジスタ3の上位4ビツトは、条件分岐判定部20
に入力されており、第4図に示す条件分岐命令30が命
令レジスタ3に判定されると、条件分岐命令判定部20
の出力が有効になるため、ゲート21を通して命令レジ
スタの下位4ビツトが条件分岐認識部4の出力となる。
条件分岐命令判定部20の出力が無効のときには、条件
分岐認識部4の出力は無効になる。
命令レジスタ3の内、分岐距離を表すフィールドは分岐
距離認識部5に入力される。分岐距離のうち符号ビット
35がOのときは正の分岐距離を表しており、符号ビッ
ト35が1のときは負の分岐距離を表している。この符
号ビット35により、セレクタ部23を制御する。すな
わち、符号ビット35が0のときは分岐距離のフィール
ドをFF1部24に入力し、符号ビットが1のときは分
岐距離を示すフィールドの各ビットを否定部22によっ
て反転したものをFF1部24に入力するようにセレク
タ部23によって切り換える。FF1部24では、最上
位のビットからサーチを行って、最初に1が見つかった
ビット位置を出力する。この操作によって、分岐距離の
有効ビット長がFF1部24より出力され、符号ビット
35と共に分岐処理認識部5の出力となる。
条件分岐予測部6内部の分岐予測テーブル25には、条
件分岐認識部4から送られる分岐条件と分岐距離認識部
5から送られる分岐距離の有効ビット長を示す値がアド
レスとして入力されている。このテーブルには、あらか
じめ調査された分岐特性から、分岐条件と分岐距離の有
効ビット長をもとにして行う条件分岐予測が設定されて
いる。予測結果は、条件分岐命令において分岐すると予
想されるときに有効になるように定義される。条件分岐
認識部4から送られる分岐条件を示す値が有効であると
きに、分岐予測テーブル25から予測結果が出力される
。条件分岐認識部4からの入力が無効のときには分岐予
測テーブル25からの出力も無効となる。分岐予測テー
ブル25からの出力は、条件分岐予測部6の出力として
命令先取り部2に送られる。
したがって、命令先取り部2に送られる予測結果7の有
効、無効はそれぞれ以下の意味を持つ。
予測結果7が有効:命令レジスタ3に格納されている命
令が条件分岐命令であり、かつ、この分岐命令で分岐す
ると予想される。
予測結果7が無効:命令レジスタ3に格納されている命
令が条件分岐命令でない、または、分岐命令で分岐しな
いと予想される。
命令先取り部2では、条件分岐予測部6から出力された
予測結果7が有効のときには、アドレス・バス17を通
して送られる分岐先アドレスより命令フェッチを開始す
るように主記憶制御部12を制御する。また、条件分岐
予測部6から出力された予測結果7が無効であるときに
は、後続命令をフェッチするように主記憶制御部12を
制御する。
このような制御を行うことにより、分岐すると予想され
る条件分岐命令において、分岐が成立するより前に命令
コートをフェッチすることを可能とする。
(発明の効果) 本発明による情報処理装置では、分岐命令の履歴情報を
基にして分岐予測を行う方式に比較して少ないハードウ
ェアで条件分岐命令の予測を行うことができる。また、
分岐方向から分岐予測を行う方式より精度の良い予測が
できる。このため、少ないハードウェアにより、条件分
岐命令を高速に実行できる情報処理装置を構成すること
が可能になる。
【図面の簡単な説明】
第1図は、本発明の構成要素を示す図、第2図は、本発
明の一実施例における情報処理装置の構成を示す図、第
3図は、本発明の一実施例における命令デコーダの構成
を示す図、第4図は、本発明の一実施例における情報処
理装置での条件分岐命令の命令形式を示す図である。 図において、 2・・・命令先取り部     3・・・命令レジスタ
4・、・条件分岐認識部    5・・・分岐距離認識
部6・・・条件分岐予測部    7・・・予測結果1
0・・・プロセッサ      11・・・主記憶12
・・・主記憶制御部     13・・・命令デコーダ
14・・・命令実行部   15・・・主記憶アクセス
・バス16・・・命令コード・バス    17・・・
アドレス・バス18・・・命令デコード結果バス 19
・・・データ・バス20・・・条件分岐判定部    
21・・・ゲート22、・・否定部        2
3・・・セレクタ部24・・・FF1部     25
・・・分岐予測テーブル30、・2条件分岐命令   
  31.・、命令コード32・・・条件分岐であるこ
とを示す値33・・・分岐する条件を示す値 34・・・分岐距離       35・・・符号ビッ
ト。−一。 l ′

Claims (1)

    【特許請求の範囲】
  1. 命令の先取りを行う命令先取り部、命令を格納するため
    の命令レジスタを持つ情報処理装置において、命令レジ
    スタに格納された命令を入力として、これが条件分岐命
    令であることを認識し分岐の条件を出力する条件分岐認
    識部、命令レジスタに格納された命令を入力し分岐距離
    に対応する値を出力する分岐距離認識部、前記の条件分
    岐認識部と分岐距離認識部からの出力をもとに分岐方向
    の予測を行う条件分岐予測部を持たせ、条件分岐予測部
    から出力される予測結果を命令先取り部に入力すること
    により、命令先取り部で行う命令の先取り方向を制御す
    ることを特徴とする情報処理装置。
JP61169132A 1986-07-17 1986-07-17 情報処理装置 Expired - Lifetime JP2534674B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61169132A JP2534674B2 (ja) 1986-07-17 1986-07-17 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61169132A JP2534674B2 (ja) 1986-07-17 1986-07-17 情報処理装置

Publications (2)

Publication Number Publication Date
JPS6324421A true JPS6324421A (ja) 1988-02-01
JP2534674B2 JP2534674B2 (ja) 1996-09-18

Family

ID=15880874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61169132A Expired - Lifetime JP2534674B2 (ja) 1986-07-17 1986-07-17 情報処理装置

Country Status (1)

Country Link
JP (1) JP2534674B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH033125A (ja) * 1989-05-31 1991-01-09 Sony Corp レーザ駆動回路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5991552A (ja) * 1982-11-17 1984-05-26 Nec Corp セツトアソシアテイブ型分岐ヒストリテ−ブルを有する命令先取り装置
JPS6051948A (ja) * 1983-08-31 1985-03-23 Hitachi Ltd 情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5991552A (ja) * 1982-11-17 1984-05-26 Nec Corp セツトアソシアテイブ型分岐ヒストリテ−ブルを有する命令先取り装置
JPS6051948A (ja) * 1983-08-31 1985-03-23 Hitachi Ltd 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH033125A (ja) * 1989-05-31 1991-01-09 Sony Corp レーザ駆動回路
JP2734091B2 (ja) * 1989-05-31 1998-03-30 ソニー株式会社 レーザ駆動回路

Also Published As

Publication number Publication date
JP2534674B2 (ja) 1996-09-18

Similar Documents

Publication Publication Date Title
US5168571A (en) System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
KR100208889B1 (ko) 병렬처리장치 및 병렬처리방법
JPH0283735A (ja) 命令先取り装置
US7266676B2 (en) Method and apparatus for branch prediction based on branch targets utilizing tag and data arrays
JPS633337B2 (ja)
JP2006520964A5 (ja)
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
JPH0743648B2 (ja) 情報処理装置
JPS6324421A (ja) 情報処理装置
KR100465250B1 (ko) 마이크로프로세서
JP2534662B2 (ja) 命令キヤツシユ制御方法
JP2999907B2 (ja) マイクロプログラム制御方式の中央処理装置
JPS63221427A (ja) 分岐予測を行う情報処理装置
JP2503223B2 (ja) 先行制御方式
JPH0248733A (ja) 情報処理装置
JP2591325B2 (ja) 分岐制御装置
KR19980052331A (ko) 프로세서의 캐시 메모리 제어 방법
JPS63168730A (ja) 分岐命令処理装置
JPH02208723A (ja) 情報処理装置
JPS6336336A (ja) 情報処理装置
JPH0553807A (ja) 条件分岐命令先行制御方式
JPH06332701A (ja) 情報処理装置
JPH01263830A (ja) 情報処理装置
JPS63221428A (ja) デ−タ処理装置
US20050188183A1 (en) Digital signal processor having data address generator with speculative register file