JP2001034474A - データ処理装置及びデータ処理方法 - Google Patents

データ処理装置及びデータ処理方法

Info

Publication number
JP2001034474A
JP2001034474A JP11202935A JP20293599A JP2001034474A JP 2001034474 A JP2001034474 A JP 2001034474A JP 11202935 A JP11202935 A JP 11202935A JP 20293599 A JP20293599 A JP 20293599A JP 2001034474 A JP2001034474 A JP 2001034474A
Authority
JP
Japan
Prior art keywords
instruction
instructions
tag information
memory
cache memory
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
JP11202935A
Other languages
English (en)
Inventor
Hideki Sugimoto
英樹 杉本
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 JP11202935A priority Critical patent/JP2001034474A/ja
Priority to EP00114750A priority patent/EP1069499A3/en
Publication of JP2001034474A publication Critical patent/JP2001034474A/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】少ないハードウェアであるにも拘わらず、分岐
命令を含むあらゆる命令を高速に処理できるデータ処理
装置及びデータ処理方法を提供する。 【解決手段】データ処理装置は、命令メモリ11又はキ
ャッシュメモリ15からフェッチされた複数の命令を同
時に実行する複数の実行ユニット221〜224を備えて
いる。そして、命令フェッチにおいてキャッシュミスヒ
ット時は、命令メモリからフェッチされた複数の命令の
中から実行可能な命令をハザード検出器16で検出して
タグ情報を生成し、このタグ情報に基づいて選択された
命令を実行ユニットに供給すると共に、上記生成された
タグ情報とフェッチされた複数の命令とをキャッシュメ
モリに格納する。一方、キャッシュヒット時は、キャッ
シュメモリに格納されている複数の命令の中から、キャ
ッシュメモリに格納されているタグ情報に基づいて選択
された命令を実行ユニットに供給する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の命令を同時
に実行するデータ処理装置及びデータ処理方法に関し、
特に同時に実行可能な命令の検出を高速化する技術に関
する。
【0002】
【従来の技術】従来、複数の命令を同時に実行できると
共に、キャッシュメモリを備えることによって命令フェ
ッチの高速化を図り、更にパイプライン制御方式を採用
することによって命令実行の高速化を図ったデータ処理
装置が知られている。図6はこのような従来のデータ処
理装置の構成を示すブロック図である。このデータ処理
装置では、32ビット(4バイト)で構成される命令語
が使用されるものとする。
【0003】このデータ処理装置は、プログラムカウン
タ(PC)70、命令メモリ71、命令バッファ72、
アドレスラッチ73、キャッシュメモリ74、セレクタ
75、コンパレータ76、命令レジスタ77、ハザード
検出器78、タグラッチ79及び第1実行ユニット80
1〜第4実行ユニット804から構成されている。
【0004】プログラムカウンタ70は、命令メモリ7
1に格納されているプログラムに含まれる命令の実行順
序を制御するために使用される。このプログラムカウン
タ70は、命令メモリ71に格納されている命令を指定
するための命令アドレスを保持し、その内容はプログラ
ムの進行に伴って「+4」ずつインクリメントされる。
このプログラムカウンタ70に保持されている命令アド
レスは、命令メモリ71及びアドレスラッチ73に供給
される。
【0005】命令メモリ71は、プログラムを構成する
複数の命令を記憶する。この命令メモリ71からは、プ
ログラムカウンタ70から命令アドレスが供給された時
に、該命令アドレスから16バイトの領域の内容が同時
に読み出される。従って、この命令メモリ71からは、
4個の命令が同時に読み出される。以下においては、4
個の命令を総称するときは単に「命令群」と呼び、4個
の命令のそれぞれを区別する必要があるときは、命令
0、命令1、命令2及び命令3と呼ぶ。この命令メモリ
71から読み出された命令群は命令バッファ72に供給
される。
【0006】命令バッファ72は、命令メモリ71から
読み出された命令群を一時記憶する。この命令バッファ
72の内容は、キャッシュメモリ74及びセレクタ75
の入力端子Aに供給される。アドレスラッチ73は、プ
ログラムカウンタ70からの命令アドレス(ADR)を
ラッチする。このアドレスラッチ73の内容はキャッシ
ュメモリ74及びコンパレータ76に供給される。
【0007】キャッシュメモリ74は、命令バッファ7
2からの命令群とアドレスラッチ73からの命令アドレ
ス(ADR)との組合せを複数記憶する。このキャッシ
ュメモリ74から読み出された命令群はセレクタ75の
入力端子Bに、命令アドレス(ADR)はコンパレータ
76に、それぞれ供給される。
【0008】コンパレータ76は、アドレスラッチ73
からの命令アドレス(ADR)と、キャッシュメモリ7
4からの命令アドレス(ADR)とを比較し、比較結果
を表すヒット信号を出力する。このヒット信号が「1」
の場合は、上記両命令アドレスが一致した、即ちキャッ
シュメモリ74にヒットしたことを表す。一方、ヒット
信号が「0」の場合は、上記両命令アドレスが一致しな
い、即ちキャッシュメモリ74にミスヒットしたことを
表す。このコンパレータ76からのヒット信号は、セレ
クタ75の選択端子Sに供給される。
【0009】セレクタ75は、コンパレータ76からの
ヒット信号が「0」の時は入力端子Aに入力される信号
を選択し、「1」の時は入力端子Bに入力される信号を
選択する。従って、セレクタ75は、キャッシュメモリ
74にヒットした時はキャッシュメモリ74からの命令
群を出力し、ミスヒットした時は命令バッファ72から
の命令群を出力する。このセレクタ75から出力される
命令群は、命令レジスタ77及びハザード検出器78に
供給される。
【0010】ハザード検出器78は、セレクタ75から
供給される命令群を解析し、該命令群の中の実行可能な
命令を検出する。この検出結果は、タグとしてタグラッ
チ79に供給される。ここで、タグは、命令レジスタ7
7に記憶されている命令0〜命令3のそれぞれに対応す
る4ビットのデータで構成されており、命令3〜命令0
の中の実行可能な命令が「0」で表される。例えば、命
令0と命令2とが同時に実行できる場合は、タグは「1
010」となる。このハザード検出器78からのタグは
タグラッチ79に供給される。
【0011】命令レジスタ77は、セレクタ75からの
命令群を一時記憶する。この命令レジスタ77にセット
された命令3〜命令0のそれぞれが、第1実行ユニット
80 1〜第4実行ユニット804のそれぞれに供給される
かどうかは、タグラッチ79からのタグに従って制御さ
れる。この場合、タグラッチ79に格納されているタグ
の「1」に対応する命令が実行ユニットに供給される。
上記の例では、命令0は第1実行ユニット801に供給
され、命令1は第2実行ユニット802に供給されず、
命令2は第3実行ユニット803に供給され、命令3は
第4実行ユニット804に供給されない。その結果、命
令0と命令2とが同時に実行されることになる。
【0012】第1実行ユニット801〜第4実行ユニッ
ト804のそれぞれは、命令レジスタ77からの命令を
デコードし、デコード結果に従った処理を実行する。以
上、従来のデータ処理装置の構成を機能的に説明した
が、このデータ処理装置にはパイプライン制御方式が採
用されているので、実際には、命令フェッチ、ハザード
検出、命令デコード、命令実行等がオーバーラップして
実行される。これらについては後に説明する。
【0013】次に、上記のように構成される従来のデー
タ処理装置の動作を説明する。
【0014】プログラムカウンタ70から出力された命
令アドレスが命令メモリ71に供給されると、命令メモ
リ71から4個の命令(命令3〜命令0)がフェッチさ
れ、命令バッファ72にセットされる。同時に、上記プ
ログラムカウンタ70から出力された命令アドレスはア
ドレスラッチ73にラッチされる。更に、プログラムカ
ウンタ70の内容は、次の命令フェッチに備えるため
に、「+4」される。
【0015】プログラムカウンタ70からの命令アドレ
スがアドレスラッチ73にラッチされると、このアドレ
スラッチ73からの命令アドレス(ADR)とキャッシ
ュメモリ74からの命令アドレス(ADR)とがコンパ
レータ76で比較され、ヒット信号が生成される。な
お、説明を簡単にするために図6では、単なるコンパレ
ータ76の図記号が記載されているが、実際のデータ処
理装置では、コンパレータ76は、アドレスラッチ73
にセットされている命令アドレス(ADR)とキャッシ
ュメモリ74内に存在する全ての命令アドレス(AD
R)とを比較し、一致するものが存在するかどうかを調
べるように構成されている。
【0016】このコンパレータ76が、ヒット信号とし
てキャッシュミスヒットを表す「0」を出力した場合、
即ち、アドレスラッチ73にラッチされている命令アド
レス(ADR)と同一の命令アドレス(ADR)がキャ
ッシュメモリ74内に存在しない場合は、命令バッファ
72に格納されている命令群とアドレスラッチ73に格
納されている命令アドレス(ADR)との組合せが、キ
ャッシュメモリ74に格納される。また、ヒット信号が
「0」であることによりセレクタ75の入力端子Aが選
択されるので、命令バッファ72の内容が命令レジスタ
75及びハザード検出器78に供給される。
【0017】一方、コンパレータ76が、上記ヒット信
号としてキャッシュヒットを表す「1」を出力した場
合、即ち、アドレスラッチ73にラッチされている命令
アドレス(ADR)と同一の命令アドレス(ADR)が
キャッシュメモリ74内に存在する場合は、セレクタ7
5の入力端子Bが選択されるので、キャッシュメモリ7
4から読み出された命令群が命令レジスタ75及びハザ
ード検出器78に供給される。
【0018】そして、ハザード検出器78は、キャッシ
ュヒット/ミスヒットに拘わらず、セレクタ75から出
力される命令3〜命令0を解析することにより実行可能
な命令を検出し、この検出結果に応じたタグを生成す
る。この生成されたタグはタグラッチ79にラッチされ
る。そして、上述したように、命令レジスタ75にセッ
トされた命令3〜命令0のそれぞれが、タグラッチ79
からのタグに従って、第1実行ユニット801〜第4実
行ユニット804のそれぞれに供給されるかどうかが制
御され、実行ユニットに供給された命令が同時に実行さ
れる。
【0019】以上の動作を、パイプライン制御方式で行
う場合のステージ構成を図7に示す。1ステージは1ク
ロックで実行されるものとする。図7(A)は、通常の
命令(分岐命令以外の命令)を続けて実行する場合のス
テージ構成例である。この場合、命令フェッチ(I
F)、ハザード検出1(D1)、ハザード検出2(D
2)、命令デコード(ID)、命令実行(EX)、デー
タ転送(DF)及び書込(WB)といった7ステージの
全部が実行されることにより、1つの命令の実行が完了
する。次の命令は、1クロック遅れてステージの進行が
開始され、先の命令とオーバーラップして進行する。通
常の命令は、このようなパイプライン制御が行われるこ
とにより、1クロックで命令の実行を完了することに等
しくなる。
【0020】図7(B)は、分岐命令を実行する場合の
ステージ構成の例である。この場合、命令デコード(I
D)のステージで分岐命令であることが判断されると、
次の命令のステージのオーバーラップ進行が中止され、
3クロック遅れて、命令フェッチ(IF)のステージか
らステージの進行が再開される。従って、図7(B)に
示した例では、分岐命令が実行される場合は3クロック
分だけ余分に時間がかかることになる。このような分岐
命令がプログラム中に出現する割合は10%程度と言わ
れている。そして、パイプライン制御に1ステージが余
分に挿入されると、性能が10%程度低下すると言われ
ている。
【0021】
【発明が解決しようとする課題】ところで、ハザード検
出器に信号が入力されてから検出結果を表す信号が出力
されるまでにゲート遅延があるため、ハザード検出には
一定の時間(上述した例では、このハザード検出に2ク
ロックを要する例を示している)が必要である。従っ
て、性能を向上させるために動作周波数を上げる(1ス
テージの周期を短くする)場合は、ハザード検出のため
のステージ数(クロック数)を増やす必要がある。その
結果、パイプライン段数が増加しするのでハードウェア
が増加し、データ処理装置のコストが上昇する。また、
命令実行のレイテンシが悪化する。レイテンシが長くな
ると、特に低い動作周波数の場合に性能が極端に低下す
る。これは、複雑で長い処理時間を必要とするハザード
検出を命令供給速度の速いキャッシュヒット時にも行っ
ていることに起因する。
【0022】本発明は、上述した問題を解消するために
なされたものであり、少ないハードウェアであるにも拘
わらず、分岐命令を含むあらゆる命令を高速に処理でき
るデータ処理装置及びデータ処理方法を提供することを
目的とする。
【0023】
【課題を解決するための手段】本発明の第1の態様に係
るデータ処理装置は、上記目的を達成するために、命令
を記憶する命令メモリと、該命令メモリからフェッチさ
れた複数の命令のそれぞれの実行可否を検出し、該検出
結果をタグ情報として出力するハザード検出器と、該ハ
ザード検出器から出力された前記タグ情報と前記複数の
命令とを対応付けて記憶するキャッシュメモリと、少な
くとも該キャッシュメモリからフェッチされた前記複数
の命令のそれぞれを、該複数の命令に対応する前記タグ
情報に従って同時に実行する複数の実行ユニット、とを
備えている。
【0024】このデータ処理装置によれば、ハザード検
出器は、命令メモリからフェッチされた複数の命令のそ
れぞれの実行可否を検出し、検出結果をタグ情報として
出力する。ここで、命令メモリから複数の命令がフェッ
チされるのはキャッシュミスヒット時であるから、ハザ
ード検出器はキャッシュミスヒット時にのみ動作してタ
グ情報を生成する。
【0025】このキャッシュミスヒット時に生成された
タグ情報は、命令メモリからフェッチされた複数の命令
と対応付けられてキャッシュメモリに格納される。キャ
ッシュヒット時は、このキャッシュメモリからフェッチ
された複数の命令が、これら複数の命令に対応するタグ
情報に従って複数の実行ユニットに供給されて同時に実
行される。従って、キャッシュヒット時は、従来のデー
タ処理装置のようにハザード検出器が動作することはな
い。その結果、このデータ処理装置にパイプライン制御
方式を適用する場合に、ハザード検出のためのステージ
を省略できるので、特に分岐命令を高速に実行できる。
また、ハザード検出器の動作時間を考慮する必要がない
ので、パイプラインの段数を増やすことなく動作周波数
を上げることができる。
【0026】この第1の態様に係るデータ処理装置で
は、前記ハザード検出器は、前記命令メモリからフェッ
チされた複数の命令の中の第2命令が該第2命令より先
に実行されるべき第1命令の実行結果を使用する場合
に、前記第2命令は前記第1命令と同時に実行不可能あ
ることを表すタグ情報を出力するように構成できる。よ
り詳しくは、前記ハザード検出器は、前記第2命令で読
出対象として指定されるレジスタが前記第1命令で書込
対象として指定されるレジスタと同じである場合に、前
記第2命令は前記第1命令と同時に実行不可能であるこ
とを表すタグ情報を出力するように構成できる。
【0027】また、前記ハザード検出器は、前記命令メ
モリからフェッチされた複数の命令に分岐命令が含まれ
ている場合に、該分岐命令より後に実行されるべき命令
は該分岐命令と同時に実行不可能であることを表すタグ
情報を生成するように構成できる。
【0028】また、本発明の第2の態様に係るデータ処
理方法は、上記と同様の目的で、命令メモリ又はキャッ
シュメモリからフェッチされた複数の命令を同時に実行
するデータ処理方法であって、前記命令メモリからフェ
ッチされた複数の命令のそれぞれの実行可否を検出し、
該検出結果をタグ情報として出力する第1ステップと、
該出力された前記タグ情報と前記複数の命令とを対応付
けて前記キャッシュメモリに記憶する第2ステップと、
該キャッシュメモリからフェッチされた前記複数の命令
のそれぞれを、該複数の命令に対応する前記タグ情報に
従って同時に実行する第3ステップ、とを備えている。
【0029】また、本発明の第2の態様に係るデータ処
理方法は、上記と同様の目的で、命令メモリ又はキャッ
シュメモリからフェッチされた複数の命令を同時に実行
するデータ処理方法であって、前記命令メモリ又は前記
キャッシュメモリから命令をフェッチする際に前記キャ
ッシュメモリにミスヒットした時は、前記命令メモリか
らフェッチされた複数の命令のそれぞれの実行可否を検
出し、該検出結果をタグ情報として出力する第1ステッ
プと、該第1ステップで出力された前記タグ情報と前記
複数の命令とを対応付けて前記キャッシュメモリに記憶
すると共に、前記命令メモリからフェッチされた前記複
数の命令のそれぞれを、前記第1ステップで出力された
前記タグ情報に従って同時に実行する第2ステップと、
前記命令メモリ又は前記キャッシュメモリから命令をフ
ェッチする際に前記キャッシュメモリにヒットした時
は、該キャッシュメモリからフェッチされた前記複数の
命令のそれぞれを、該複数の命令に対応する前記タグ情
報に従って同時に実行する第3ステップ、とを備えてい
る。
【0030】これら第2及び第3の態様に係るデータ処
理方法では、前記第1ステップでは、前記命令メモリか
らフェッチされた複数の命令の中の第2命令が該第2命
令より先に実行されるべき第1命令の実行結果を使用す
る場合に、前記第2命令は前記第1命令と同時に実行不
可能あることを表すタグ情報を出力するように構成でき
る。更に詳しくは、前記第1ステップでは、前記第2命
令で読出対象として指定されるレジスタが前記第1命令
で書込対象として指定されるレジスタと同じである場合
に、前記第2命令は前記第1命令と同時に実行不可能で
あることを表すタグ情報を出力するように構成できる。
【0031】また、前記第1ステップでは、前記命令メ
モリからフェッチされた複数の命令に分岐命令が含まれ
ている場合に、該分岐命令より後に実行されるべき命令
は該分岐命令と同時に実行不可能であることを表すタグ
情報を生成するように構成できる。
【0032】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を参照しながら説明する。なお、このデータ処理装置
で使用される命令は3オペランド形式を有し、各オペラ
ンドとしてレジスタが使用されるものとする。従って、
このデータ処理装置で使用される命令は、一部の例外を
除き、第1オペランドと第2オペランドとを演算し、結
果を第3オペランドに格納するものとする。
【0033】図1は本発明の実施の形態に係るデータ処
理装置の構成を示すブロック図である。このデータ処理
装置は、プログラムカウンタ(PC)10、命令メモリ
11、命令バッファ12、アドレスラッチ13、第1タ
グラッチ14、キャッシュメモリ15、ハザード検出器
16、第1セレクタ17、第2セレクタ18、コンパレ
ータ19、命令レジスタ20、第2タグラッチ21及び
第1実行ユニット22 1〜第4実行ユニット224から構
成されている。
【0034】プログラムカウンタ10は、命令メモリ1
1に格納されているプログラムに含まれる命令の実行順
序を制御するために使用される。このプログラムカウン
タ10は、命令メモリ11に格納されている命令を指定
するための命令アドレスを保持し、その内容はプログラ
ムの進行に伴って「+4」ずつインクリメントされる。
このプログラムカウンタ10に保持されている命令アド
レスは、命令メモリ11及びアドレスラッチ13に供給
される。
【0035】命令メモリ11は、プログラムを構成する
複数の命令を記憶する。プログラムカウンタ10から命
令メモリ11に命令アドレスが供給された時に後述する
ヒット信号がミスヒットを示していれば、この命令メモ
リ11の上記命令アドレスで指定される位置からから1
6バイトの領域の内容が同時に読み出される。従って、
この命令メモリ11からは、4個の命令、「命令3、命
令2、命令1及び命令0」が同時に読み出される。ここ
で、命令3、命令2、命令1及び命令0は、プログラム
上では、「命令0→命令1→命令2→命令3」の順番で
実行されるべきものとする。この命令メモリ11から読
み出された命令群は命令バッファ12に供給される。
【0036】命令バッファ12は、命令メモリ11から
読み出された命令群を一時記憶する。この命令バッファ
12の内容は、キャッシュメモリ15、ハザード検出器
16及び第1セレクタ17の入力端子Aに供給される。
【0037】アドレスラッチ13は、プログラムカウン
タ10からの命令アドレス(ADR)をラッチする。こ
のアドレスラッチ13の内容はキャッシュメモリ15及
びコンパレータ19に供給される。
【0038】第1タグラッチ14は、ハザード検出器1
6からのタグ情報をラッチする。この第1タグラッチ1
4の内容は、キャッシュメモリ15に供給される。
【0039】キャッシュメモリ15は、命令バッファ1
2からの命令群、第1タグラッチ14からのタグ情報
(TAG)及びアドレスラッチ13からの命令アドレス
(ADR)との組合せを複数記憶する。このキャッシュ
メモリ15から読み出された命令群は第1セレクタ17
の入力端子Bに、タグ情報(TAG)は第2セレクタ1
8の入力端子Bに、命令アドレス(ADR)はコンパレ
ータ19に、それぞれ供給される。
【0040】コンパレータ19は、アドレスラッチ13
からの命令アドレス(ADR)と、キャッシュメモリ1
5からの命令アドレス(ADR)とを比較し、比較結果
を表すヒット信号を出力する。このヒット信号が「1」
の場合は、上記両命令アドレスが一致した、即ちキャッ
シュメモリ15にヒットしたことを表す。一方、ヒット
信号が「0」の場合は、上記両命令アドレスが一致しな
い、即ちキャッシュメモリ15にミスヒットしたことを
表す。このコンパレータ19からのヒット信号は、第1
セレクタ17及び第2セレクタ18の各選択端子Sに供
給される。
【0041】第1セレクタ17は、コンパレータ19か
らのヒット信号が「0」の時は入力端子Aに入力される
信号を選択し、「1」の時は入力端子Bに入力される信
号を選択する。従って、第1セレクタ17は、キャッシ
ュメモリ15にヒットした時はキャッシュメモリ15か
らの命令群を出力し、ミスヒットした時は命令バッファ
12からの命令群を出力する。この第1セレクタ17か
ら出力される命令群は、命令レジスタ20に供給され
る。
【0042】第2セレクタ18は、コンパレータ19か
らのヒット信号が「0」の時は入力端子Aに入力される
信号を選択し、「1」の時は入力端子Bに入力される信
号を選択する。従って、第2セレクタ18は、キャッシ
ュメモリ15にヒットした時はキャッシュメモリ15か
らのタグ情報(TAG)を出力し、ミスヒットした時は
ハザード検出器16からのタグ情報を出力する。この第
2セレクタ18から出力されるタグ情報は、第2タグラ
ッチ21に供給される。
【0043】ハザード検出器16は、ヒット信号がキャ
ッシュミスヒットを示していれば、命令バッファ12か
ら供給される命令群を解析し、該命令群の中の実行可能
な命令を検出する。この検出結果は、タグ情報として第
1タグラッチ14及び第2タグラッチ21に供給され
る。ここで、タグ情報は、命令レジスタ20に記憶され
ている命令3〜命令0のそれぞれに対応する4ビットの
データで構成されており、命令3〜命令0の中の実行可
能な命令が「0」で表される。例えば、命令0と命令2
とが同時に実行できる場合は、タグ情報は「1010」
となる。このハザード検出器16からのタグ情報は第2
タグラッチ21に供給される。このハザード検出器16
については、後に更に詳述する。
【0044】命令レジスタ20は、第1セレクタ17か
らの命令群を一時記憶する。この命令レジスタ20にセ
ットされた命令3〜命令0のそれぞれが、第1実行ユニ
ット221〜第4実行ユニット224のそれぞれに供給さ
れるかどうかは、第2タグラッチ21からのタグ情報に
従って制御される。この場合、第2タグラッチ21に格
納されているタグ情報の「1」に対応する命令が実行ユ
ニットに供給される。上記の例では、命令0は第1実行
ユニット221に供給され、命令1は第2実行ユニット
222に供給されず、命令2は第3実行ユニット223
供給され、命令3は第4実行ユニット224に供給され
ない。その結果、命令0と命令2とが同時に実行される
ことになる。
【0045】第1実行ユニット221〜第4実行ユニッ
ト224のそれぞれは、命令レジスタ20からの命令を
デコードし、デコード結果に従った処理を実行する。以
上、本発明の実施の形態に係るデータ処理装置の構成を
機能的に説明したが、このデータ処理装置にはパイプラ
イン制御方式が採用されているので、実際には、命令フ
ェッチ、ハザード検出、命令デコード、命令実行等がオ
ーバーラップして実行される。これらについては後に説
明する。
【0046】次に、ハザード検出器16の詳細を、図2
及び図3を参照しながら説明する。ハザード検出器16
は制御信号生成部及びタグ生成部から構成されており、
それぞれ、図2及び図3に示されている。
【0047】制御信号生成部は、命令バッファ12に格
納されている4つの命令のそれぞれに対応して設けられ
ており、各制御信号生成部は同一の構成である。従っ
て、以下では、図面の煩雑さを避けるために、1つの命
令に対応する制御信号生成部のみを図2を参照しながら
説明する。この制御信号生成部は、デコード回路30、
セレクタ31、セレクタ32及びセレクタ33から構成
されている。
【0048】デコード回路30は、命令バッファ12に
セットされている命令のオペレーションコード部(OP
コード)をデコードし、分岐命令であることを表す分岐
信号BR及びレジスタ命令であることを表すレジスタ信
号RGを生成する。分岐信号は、図3に示すタグ生成部
に供給される。また、レジスタ信号RGは、セレクタ3
1、32及び33の各選択端子Sに供給される。
【0049】セレクタ31は、デコード回路30からの
レジスタ信号RGに応じて、ゼロ又は命令バッファ12
にセットされている命令のソースレジスタ指定部(S−
reg)の値を選択し、ソースレジスタアドレスSRと
して出力する。このソースレジスタアドレスSRは、図
3に示すタグ生成部に供給される。
【0050】セレクタ32は、デコード回路30からの
レジスタ信号RGに応じて、ゼロ又は命令バッファ12
にセットされている命令のデスティネーションレジスタ
指定部(D−reg)の値を選択し、デスティネーショ
ンレジスタアドレスDRとして出力する。このデスティ
ネーションレジスタアドレスDRは、図3に示すタグ生
成部に供給される。
【0051】セレクタ33は、デコード回路30からの
レジスタ信号RGに応じて、ゼロ又は命令バッファ12
にセットされている命令のライトバックレジスタ指定部
(W−reg)の値を選択し、ライトバックレジスタア
ドレスWBとして出力する。このライトバックレジスタ
アドレスWBは、図3に示すタグ生成部に供給される。
【0052】次に、ハザード検出器16のタグ生成部を
説明する。このタグ生成部は、命令の実行順序が前後し
てはならないストロングオーダリング方式の並列処理
と、命令の実行順序が前後してもよいウイークオーダリ
ング方式の並列処理とで異なる。
【0053】先ず、ストロングオーダリング方式の並列
処理で使用されるハザード検出器16のタグ生成部を、
図3を参照しながら説明する。このタグ生成部は、コン
パレータ40、41、45、46、47、48、53、
54、55、56、57及び58、ゲート回路43、4
4、50、51及び52、並びにORゲート42、4
9、59及び60が図3に示すように接続されて構成さ
れている。
【0054】このタグ生成部は、命令3〜命令0のそれ
ぞれ対応する制御信号生成部から供給される分岐信号B
R、ソースレジスタアドレスSR、デスティネーション
レジスタアドレスDR及びライトバックレジスタアドレ
スWBに基づいてタグ信号TG0〜TG3を生成する。
【0055】ここで、タグ信号TG0は、命令0を第1
実行ユニット221に供給するかどうかを制御するため
に使用される。タグ信号TG1は、命令1を第2実行ユ
ニット222に供給するかどうかを制御するために使用
される。タグ信号TG2は、命令2を第3実行ユニット
223に供給するかどうかを制御するために使用され
る。タグ信号TG3は、命令3を第4実行ユニット22
4に供給するかどうかを制御するために使用される。
【0056】このタグ生成部は、タグ信号TG1〜TG
3を、以下の規則に則って生成する。即ち、当該命令の
ソースレジスタアドレスSR又はデスティネーションレ
ジスタアドレスDRが当該命令より先に実行されるべき
命令のライトバックレジスタアドレスWBと一致する場
合、又は当該命令より先に実行されるべき分岐命令が存
在する場合は、当該命令の実行を抑止する。
【0057】具体的には、次のような信号処理が行われ
る。即ち、ストロングオーダリング方式の場合、命令n
は直前の命令(n−1)が実行されなければ実行されな
いので、命令nと命令(n−2)とのハザード関係を調
べる必要がない。従って、命令(n−2)のライトバッ
クレジスタアドレスWBは、命令(n−1)が実行され
た場合にのみ、ゲート回路43、50及び51を介し
て、命令n側に供給される。また、分岐命令が実行され
ると、該分岐命令以降の命令は実行されないので、命令
nで分岐信号BRが生成された場合は、該分岐信号BR
は、ゲート回路44及び52並びにORゲート60を介
して、命令(n+1)以降の命令に伝達される。
【0058】更に詳細に説明すると、タグ生成部は、タ
グ信号TG0として常に「0」を出力する。このこと
は、命令0は常に第1実行ユニット221に供給されて
実行されることを意味する。
【0059】また、タグ信号TG1は以下のようにして
生成される。即ち、コンパレータ40は、命令0のライ
トバックレジスタアドレスWBと命令1のデスティネー
ションレジスタアドレスDRとを比較し、これらが一致
すれば「1」をORゲート42に供給する。コンパレー
タ41は、命令0のライトバックレジスタアドレスWB
と命令1のソースレジスタアドレスSRとを比較し、こ
れらが一致すれば「1」をORゲート42に供給する。
また、このORゲート42には命令0に対応する制御信
号生成部からの分岐信号BRが入力されている。
【0060】従って、ORゲート42は、命令1でソー
スとして使用されるレジスタが命令0でライトバックの
対象となっている場合、命令1でデスティネーションと
して使用されるレジスタが命令0でライトバックの対象
となっている場合、又は命令0が分岐命令である場合
に、タグ信号TG1として「1」を出力する。従って、
これらの場合は、命令1は第2実行ユニット222に供
給されず、命令1の実行は抑止される。
【0061】また、タグ信号TG2は以下のようにして
生成される。即ち、コンパレータ45は、命令1のライ
トバックレジスタアドレスWBと命令2のデスティネー
ションレジスタアドレスDRとを比較し、これらが一致
すれば「1」をORゲート49に供給する。コンパレー
タ46は、命令1のライトバックレジスタアドレスWB
と命令2のソースレジスタアドレスSRとを比較し、こ
れらが一致すれば「1」をORゲート49に供給する。
コンパレータ47は、タグ信号TG1が「0」であると
いう条件の下に命令0のライトバックレジスタアドレス
WBと命令2のデスティネーションレジスタアドレスD
Rとを比較し、これらが一致すれば「1」をORゲート
49に供給する。コンパレータ48は、タグ信号TG1
が「0」であるという条件の下に命令0のライトバック
レジスタアドレスWBと命令2のソースレジスタアドレ
スSRとを比較し、これらが一致すれば「1」をORゲ
ート49に供給する。また、このORゲート49には、
命令1に対応する制御信号生成部からの分岐信号BRが
入力されている。更に、このORゲート49には、タグ
信号TG1が「0」であるという条件の下に命令0に対
応する制御信号生成部からの分岐信号BRが入力されて
いる。
【0062】従って、ORゲート49は、命令2でソー
スとして使用されるレジスタが命令1でライトバックの
対象となっている場合、命令2でデスティネーションと
して使用されるレジスタが命令1でライトバックの対象
となっている場合、命令1の実行が抑止されておらず且
つ命令2でソースとして使用されるレジスタが命令0で
ライトバックの対象となっている場合、命令1の実行が
抑止されておらず且つ命令2でデスティネーションとし
て使用されるレジスタが命令1でライトバックの対象と
なっている場合、命令1が分岐命令である場合及び命令
1の実行が抑止されておらず且つ命令0が分岐命令であ
る場合に、タグ信号TG2として「1」を出力する。こ
れらの場合は、命令2は第3実行ユニット223に供給
されないので、命令2の実行は抑止される。
【0063】更に、タグ信号TG3は、詳細な説明は省
略するが、上述したと同様の規則に従って生成される。
以上のようにして生成されたタグ信号TG0〜TG3
は、第1タグラッチ14及び第2タグラッチ21に供給
される。
【0064】なお、図3に示したハザード検出回路で
は、ゲート回路44及びゲート回路52はそれぞれ
「0」しか出力しない。従って、ゲート回路44、ゲー
ト回路52及びORゲート60は本来不要な回路であ
り、最終的な論理合成後は消滅する回路であるが、人間
が設計する段階での論理思考を助けるために挿入されて
いる。例えば、タグ信号TG1が「1」であっても、命
令2が命令1と同時に実行できる場合は、タグ信号TG
2は「0」にしなければならない。従って、タグ信号T
G1が「1」の場合、命令0の分岐信号BR及びライト
バックレジスタアドレスWBをタグ信号TG2に反映し
ないようにマスクする必要があるため、ライトバックレ
ジスタアドレスWBはゲート回路43でマスクし、分岐
信号BRはゲート回路44でマスクするようになってい
る。同様の理由で、タグ信号TG2が「1」の場合、命
令1及び命令0のライトバックレジスタアドレスWBは
ゲート回路50及び51でマスクし、命令1及び命令0
の分岐信号BRはゲート回路52とOR回路60とでマ
スクするようになっている。このように、最近の設計手
法では、最終的には冗長な回路となるものであっても、
設計過程で論理的に必要な回路であれば、該回路を組み
込んでおくことにより、設計ミスの軽減を図っている。
【0065】次に、ウイークオーダリング方式の並列処
理で使用されるハザード検出器16のタグ生成部を、図
4を参照しながら説明する。このタグ生成部は、図3に
示した構成から、ゲート回路43、50及び51が除去
されている。
【0066】従って、命令nが実行可能であるかどうか
の判断は、直前の命令(n−1)が実行されるかどうと
は無関係に行われる。換言すれば、命令nが実行可能で
あるかどうかの判断は、命令nに先行する全ての命令
(n−1)、命令(n−2)、・・・に基づいて行われ
る。従って、このタグ生成部では、命令1の実行は抑止
されるが、命令0、命令2及び命令3が同時に実行され
るという状態が発生し得る。なお、分岐命令の取り扱い
は、上述したストロングオーダリング方式の場合と同じ
である。
【0067】次に、上記のように構成される本発明の実
施の形態に係るデータ処理装置の動作を説明する。
【0068】先ず、キャッシュメモリ15が空の状態
で、プログラムカウンタ10からの命令アドレスがアド
レスラッチ13にラッチされると、このアドレスラッチ
13からの命令アドレス(ADR)とキャッシュメモリ
15からの命令アドレス(ADR)とがコンパレータ1
9で比較され、ヒット信号が生成される。なお、説明を
簡単にするために図1では、単なるコンパレータ19の
図記号が記載されているが、実際のデータ処理装置で
は、コンパレータ19は、アドレスラッチ13にセット
されている命令アドレス(ADR)とキャッシュメモリ
15内に存在する全ての命令アドレス(ADR)とを比
較し、一致するものが存在するかどうかを調べるように
構成されている。ここで、キャッシュメモリ15は空で
あるので、コンパレータ19はキャッシュミスヒットを
示すヒット信号を出力する。
【0069】一方、プログラムカウンタ10から出力さ
れた命令アドレスが命令メモリ11に供給されると、コ
ンパレータ19からのヒット信号がキャッシュミスヒッ
トを示していることから、命令メモリ11から命令群
(4個の命令3〜命令0)がフェッチされ、命令バッフ
ァ12にセットされる。同時に、プログラムカウンタ1
0の内容は、次の命令フェッチに備えるために、「+
4」される。
【0070】命令メモリ11からフェッチされた命令群
が命令バッファ12にセットされると、ハザード検出器
16は、命令バッファ12から出力される命令3〜命令
0を解析することにより実行可能な命令を検出し、この
検出結果に応じたタグ情報を生成する。このハザード検
出器16で生成されたタグ情報は、第1タグラッチ14
及びセレクタ18の入力端子Aに供給される。ここで、
コンパレータ19からのヒット信号はキャッシュミスヒ
ットを示しているので、第2セレクタ18は入力端子A
側が選択されている。従って、上記ハザード検出器16
から第2セレクタ18の入力端子Aに供給されたタグ情
報は、該第2セレクタ18を通過して第2タグラッチ2
1にラッチされる。
【0071】次いで、命令バッファ12に格納されてい
る命令群、第1タグラッチ(TAG)に格納されている
タグ情報及びアドレスラッチ13にセットされている命
令アドレス(ADR)の組合せがキャッシュメモリ15
に格納される。また、ヒット信号が「0」であることに
より第1セレクタ17の入力端子Aが選択されるので、
命令バッファ12の内容が命令レジスタ20に供給され
る。
【0072】これにより、上述したように、命令レジス
タ20にセットされた命令3〜命令0のそれぞれが、第
2タグラッチ21からのタグ情報に従って、第1実行ユ
ニット221〜第4実行ユニット224のそれぞれに供給
されるかどうかが制御され、実行ユニットに供給された
命令が同時に実行される。
【0073】このようにしてプログラムが進行し、プロ
グラムカウンタ10が再度上記命令3〜命令0を指定す
る命令アドレスになると、アドレスラッチ13にラッチ
されている命令アドレス(ADR)と同一の命令アドレ
ス(ADR)がキャッシュメモリ15内に存在するの
で、コンパレータ19はヒット信号として「1」を出力
する。これにより、命令メモリ11からの命令フェッチ
及びハザード検出器16におけるタグ生成動作が抑止さ
れる。
【0074】また、ヒット信号が「1」であることによ
り、第1セレクタ17及び第2セレクタ18は、それぞ
れ入力端子Bに入力されている信号を選択する。従っ
て、キャッシュメモリ15から読み出された命令群が命
令レジスタ20にセットされ、キャッシュメモリ15か
ら読み出されたタグ情報(TAG)が第2タグラッチ2
1にセットされる。そして、上述したように、命令レジ
スタ20にセットされた命令3〜命令0のそれぞれが、
第2タグラッチ21からのタグ情報に従って、第1実行
ユニット221〜第4実行ユニット224のそれぞれに供
給されるかどうかが制御され、実行ユニットに供給され
た命令が同時に実行される。
【0075】このように、キャッシュヒット時は、ハザ
ード検出器16によるタグ生成動作は行われず、キャッ
シュメモリ15から読み出されたタグ情報を用いて複数
の命令を同時に実行するかどうかが制御されるので、ハ
ザード検出に必要な時間を省くことができる。
【0076】以上の動作を、パイプライン制御方式で行
う場合のステージ構成を図5に示す。この実施の形態に
係るデータ処理装置では、分岐命令であるか通常の命令
(分岐命令以外の命令)であるかに拘わらず、命令フェ
ッチ(IF)、命令デコード(ID)、命令実行(E
X)、データ転送(DF)及び書込(WB)といったス
テージの全部が実行されることにより、1つの命令の実
行が完了する。図7(A)と比較すれば明らかなよう
に、この実施の形態に係るデータ処理装置では、従来の
データ処理装置におけるハザード検出1(D1)及びハ
ザード検出2(D2)の各ステージが省略され、5ステ
ージでパイプラインが形成されている。このようにパイ
プラインの段数が少なくなることにより、ハードウェア
の量を少なくできる。
【0077】また、分岐命令の場合は、命令デコード
(ID)のステージで分岐命令であることが判断される
と、次の命令のステージのオーバーラップ進行が中止さ
れ、1クロック遅れて、命令フェッチ(IF)のステー
ジからステージの進行が再開される。従って、図5に示
した例では、分岐命令が実行される場合は1クロック分
だけ余分に時間がかかることになる。図7(B)と比較
すれば明らかなように、この実施の形態に係るデータ処
理装置では、従来のデータ処理装置に比べて、2クロッ
ク分だけ処理が速くなる。
【0078】以上説明したように、本発明の実施の形態
に係るデータ処理装置によれば、ハザード検出はキャッ
シュメモリにミスヒットした場合にのみ実行され、キャ
ッシュメモリにヒットした場合はハザード検出は行われ
ない。その結果、パイプラインの段数を少なくすること
ができ、ハードウェアの量を少なくできる。また、分岐
命令の実行には、通常の命令の実行より1クロック余分
に必要なだけである(従来は3クロック余分に必要)の
で、分岐命令の高速化を図ることができる。
【0079】なお、上述した実施の形態では、命令メモ
リからフェッチする命令の数及び実行ユニットの数を何
れも「4」としたが、「4」に限定されず任意の数とす
ることができる。また、実行ユニットの数は、命令メモ
リからフェッチする命令の数と同じである必要はなく、
同時に実行される命令数の出現頻度に応じて決定でき
る。例えば、3個の命令が同時に実行される頻度が最も
高ければ、3個の実行ユニットの数を有する構成とする
ことができる。更に、上述した実施の形態では、各実行
ユニットは同じ機能を有するものとしたが、例えば、固
定小数点演算ユニットと浮動小数点演算ユニットといっ
た異なる機能を有する実行ユニットをそれぞれ任意の数
だけ備えることができる。つまり、実行ユニットの数
は、データ処理装置の機能、使用される命令の種類、要
求される性能、コスト等を勘案して適宜決定できる。
【0080】
【発明の効果】以上詳述したように、本発明によれば、
少ないハードウェアであるにも拘わらず、分岐命令を含
むあらゆる命令を高速に処理できるデータ処理装置及び
データ処理方法を提供できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るデータ処理装置の構
成を示すブロック図である。
【図2】図1におけるハザード検出器の一部である制御
信号生成部の構成を示すブロック図である。
【図3】図1におけるハザード検出器の他の一部である
タグ生成部の構成を示すブロック図である。
【図4】図1におけるハザード検出器の他の一部である
タグ生成部の他の構成を示すブロック図である。
【図5】本発明の実施の形態に係るデータ処理装置の動
作を説明するための図である。
【図6】従来のデータ処理装置の構成を示すブロック図
である。
【図7】従来のデータ処理装置の動作を説明するための
図である。
【符号の説明】
10 プログラムカウンタ 11 命令メモリ 12 命令バッファ 13 アドレスラッチ 14 第1タグラッチ 15 キャッシュメモリ 16 ハザード検出器 17 第1セレクタ 18 第2セレクタ 19 コンパレータ 20 命令レジスタ 21 第2タグラッチ 221〜224 実行ユニット

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】命令を記憶する命令メモリと、 該命令メモリからフェッチされた複数の命令のそれぞれ
    の実行可否を検出し、該検出結果をタグ情報として出力
    するハザード検出器と、 該ハザード検出器から出力された前記タグ情報と前記複
    数の命令とを対応付けて記憶するキャッシュメモリと、 少なくとも該キャッシュメモリからフェッチされた前記
    複数の命令のそれぞれを、該複数の命令に対応する前記
    タグ情報に従って同時に実行する複数の実行ユニット、
    とを備えたデータ処理装置。
  2. 【請求項2】前記ハザード検出器は、前記命令メモリか
    らフェッチされた複数の命令の中の第2命令が該第2命
    令より先に実行されるべき第1命令の実行結果を使用す
    る場合に、前記第2命令は前記第1命令と同時に実行不
    可能あることを表すタグ情報を出力する請求項1に記載
    のデータ処理装置。
  3. 【請求項3】前記ハザード検出器は、前記第2命令で読
    出対象として指定されるレジスタが前記第1命令で書込
    対象として指定されるレジスタと同じである場合に、前
    記第2命令は前記第1命令と同時に実行不可能であるこ
    とを表すタグ情報を出力する請求項1に記載のデータ処
    理装置。
  4. 【請求項4】前記ハザード検出器は、前記命令メモリか
    らフェッチされた複数の命令に分岐命令が含まれている
    場合に、該分岐命令より後に実行されるべき命令は該分
    岐命令と同時に実行不可能であることを表すタグ情報を
    生成する請求項1乃至4の何れか1項に記載のデータ処
    理装置。
  5. 【請求項5】命令メモリ又はキャッシュメモリからフェ
    ッチされた複数の命令を同時に実行するデータ処理方法
    であって、 前記命令メモリからフェッチされた複数の命令のそれぞ
    れの実行可否を検出し、該検出結果をタグ情報として出
    力する第1ステップと、 該出力された前記タグ情報と前記複数の命令とを対応付
    けて前記キャッシュメモリに記憶する第2ステップと、 該キャッシュメモリからフェッチされた前記複数の命令
    のそれぞれを、該複数の命令に対応する前記タグ情報に
    従って同時に実行する第3ステップ、とを備えたデータ
    処理方法。
  6. 【請求項6】命令メモリ又はキャッシュメモリからフェ
    ッチされた複数の命令を同時に実行するデータ処理方法
    であって、 前記命令メモリ又は前記キャッシュメモリから命令をフ
    ェッチする際に前記キャッシュメモリにミスヒットした
    時は、前記命令メモリからフェッチされた複数の命令の
    それぞれの実行可否を検出し、該検出結果をタグ情報と
    して出力する第1ステップと、 該第1ステップで出力された前記タグ情報と前記複数の
    命令とを対応付けて前記キャッシュメモリに記憶すると
    共に、前記命令メモリからフェッチされた前記複数の命
    令のそれぞれを、前記第1ステップで出力された前記タ
    グ情報に従って同時に実行する第2ステップと、 前記命令メモリ又は前記キャッシュメモリから命令をフ
    ェッチする際に前記キャッシュメモリにヒットした時
    は、該キャッシュメモリからフェッチされた前記複数の
    命令のそれぞれを、該複数の命令に対応する前記タグ情
    報に従って同時に実行する第3ステップ、とを備えたデ
    ータ処理方法。
  7. 【請求項7】前記第1ステップでは、前記命令メモリか
    らフェッチされた複数の命令の中の第2命令が該第2命
    令より先に実行されるべき第1命令の実行結果を使用す
    る場合に、前記第2命令は前記第1命令と同時に実行不
    可能あることを表すタグ情報が出力される請求項5又は
    6に記載のデータ処理方法。
  8. 【請求項8】前記第1ステップでは、前記第2命令で読
    出対象として指定されるレジスタが前記第1命令で書込
    対象として指定されるレジスタと同じである場合に、前
    記第2命令は前記第1命令と同時に実行不可能であるこ
    とを表すタグ情報が出力される請求項5又は6に記載の
    データ処理方法。
  9. 【請求項9】前記第1ステップでは、前記命令メモリか
    らフェッチされた複数の命令に分岐命令が含まれている
    場合に、該分岐命令より後に実行されるべき命令は該分
    岐命令と同時に実行不可能であることを表すタグ情報が
    生成される請求項5乃至8の何れか1項に記載のデータ
    処理方法。
JP11202935A 1999-07-16 1999-07-16 データ処理装置及びデータ処理方法 Pending JP2001034474A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11202935A JP2001034474A (ja) 1999-07-16 1999-07-16 データ処理装置及びデータ処理方法
EP00114750A EP1069499A3 (en) 1999-07-16 2000-07-09 Data processing apparatus and method for simultaneously executing plural instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11202935A JP2001034474A (ja) 1999-07-16 1999-07-16 データ処理装置及びデータ処理方法

Publications (1)

Publication Number Publication Date
JP2001034474A true JP2001034474A (ja) 2001-02-09

Family

ID=16465608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11202935A Pending JP2001034474A (ja) 1999-07-16 1999-07-16 データ処理装置及びデータ処理方法

Country Status (2)

Country Link
EP (1) EP1069499A3 (ja)
JP (1) JP2001034474A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006127080A (ja) * 2004-10-28 2006-05-18 Seiko Epson Corp パイプラインプロセッサ
JP2006309766A (ja) * 2005-04-26 2006-11-09 Internatl Business Mach Corp <Ibm> プロセッサ命令の暗号解読のための方法、データ処理システム、及び装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2818249B2 (ja) * 1990-03-30 1998-10-30 株式会社東芝 電子計算機
US5214763A (en) * 1990-05-10 1993-05-25 International Business Machines Corporation Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism
EP0825529A3 (en) * 1990-05-04 1998-04-29 International Business Machines Corporation System for preparing instructions for instruction parallel processor and system with mechanism for branching in the middle of a compound instruction
EP0950946B1 (en) * 1993-11-05 2001-08-16 Intergraph Corporation Software scheduled superscaler computer architecture

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006127080A (ja) * 2004-10-28 2006-05-18 Seiko Epson Corp パイプラインプロセッサ
JP2006309766A (ja) * 2005-04-26 2006-11-09 Internatl Business Mach Corp <Ibm> プロセッサ命令の暗号解読のための方法、データ処理システム、及び装置
US8086871B2 (en) 2005-04-26 2011-12-27 International Business Machines Corporation Method for fast decryption of processor instructions in an encrypted instruction power architecture
US8392725B2 (en) 2005-04-26 2013-03-05 International Business Machines Corporation Method for fast decryption of processor instructions

Also Published As

Publication number Publication date
EP1069499A3 (en) 2001-07-18
EP1069499A2 (en) 2001-01-17

Similar Documents

Publication Publication Date Title
US6510511B2 (en) Methods and apparatus for branch prediction using hybrid history with index sharing
US5961637A (en) Split branch system utilizing separate set branch, condition and branch instructions and including dual instruction fetchers
US6502185B1 (en) Pipeline elements which verify predecode information
JP3842474B2 (ja) データ処理装置
JP2744890B2 (ja) ブランチ予測式データ処理装置および動作方法
US6981131B2 (en) Early condition code evaluation at pipeline stages generating pass signals for controlling coprocessor pipeline executing same conditional instruction
JP2006228241A (ja) プロセッサ、およびプロセッサにおいて命令演算をスケジューリングするための方法
JPH01214932A (ja) データ処理装置
US7346737B2 (en) Cache system having branch target address cache
US20040158694A1 (en) Method and apparatus for hazard detection and management in a pipelined digital processor
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
JPH03129432A (ja) 分岐制御回路
JP3683439B2 (ja) 分岐予測を抑止する情報処理装置および方法
US20050027921A1 (en) Information processing apparatus capable of prefetching instructions
JP3708022B2 (ja) プロセッサ
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JP2001034474A (ja) データ処理装置及びデータ処理方法
EP0374598B1 (en) Control store addressing from multiple sources
JP3765111B2 (ja) 分岐登録命令を有するプロセッサ
US5729729A (en) System for fast trap generation by creation of possible trap masks from early trap indicators and selecting one mask using late trap indicators
JP3493110B2 (ja) 高速分岐処理装置
JPH06131180A (ja) 命令処理方式および命令処理装置
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP3102399B2 (ja) データ処理装置及び方法
JP2763450B2 (ja) パイプライン処理データ処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020220