JP3721780B2 - 複数のパイプライン処理機構を有するデータ処理装置 - Google Patents
複数のパイプライン処理機構を有するデータ処理装置 Download PDFInfo
- Publication number
- JP3721780B2 JP3721780B2 JP11061698A JP11061698A JP3721780B2 JP 3721780 B2 JP3721780 B2 JP 3721780B2 JP 11061698 A JP11061698 A JP 11061698A JP 11061698 A JP11061698 A JP 11061698A JP 3721780 B2 JP3721780 B2 JP 3721780B2
- Authority
- JP
- Japan
- Prior art keywords
- memory access
- unit
- instruction
- pipeline
- data
- 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.)
- Expired - Fee Related
Links
- 230000007246 mechanism Effects 0.000 title claims description 8
- 238000000034 method Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
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)
Description
【発明の属する技術分野】
本発明は、互いに独立に動作するメモリアクセスパイプラインと演算パイプラインとを持つデータ処理装置に関し、特に、メモリアクセスを含む演算命令を有するようなCISC型スーパスカラ方式のプロセサ等に関するものである。
【0002】
【従来技術】
図9は、CISC型スーパスカラ方式のプロセサの従来の構成例を示す図である。命令は、命令バッファ101から命令デコードユニット103へ送られ、そこで意味解析処理、リソースのチェックおよび確保処理、命令の展開処理が実行される。複雑な命令(例えば、一回のメモリアクセスでは処理できない大量のデータについて演算操作をおこなうメモリアクセス演算命令等)に関しては、命令展開処理に複数サイクルを要するため、一つの命令が複数サイクルの間、命令デコードユニット103に繰り返して滞在することがある。命令バッファ102は、複雑な命令用の命令バッファである。
【0003】
複雑な命令に関しては、最初、命令バッファ101に投入された命令が、命令デコードユニット103へ送られ、それ以後は、命令デコードユニット103→命令バッファ102→命令デコードユニット103→命令バッファ102→命令デコードユニット103→ ・・・というように、複数サイクルにわたって命令展開処理が行われることになる。例えば、一回のメモリアクセスでは処理しきれない大量のメモリデータ領域へのアクセスを行う場合には、メモリアクセス可能なデータ長の命令を繰り返して生成するために、上記のサイクルを繰り返し実行する。
【0004】
メモリアクセス演算命令に関しては、命令デコードユニット103で解析処理された後、メモリアクセスパイプライン側のリザベーションステーション(RS)104と、演算パイプライン側のリザベーションステーション(RS)105の両方に命令が送出される。メモリアクセスパイプライン側ではアドレス計算ユニット106でメモリアクセスのためのアドレス計算が行われ、メモリアクセスユニット107でメモリアクセスが行われる。メモリアクセスユニット107で得られたデータは、レジスタファイル108へ書き込まれる。
【0005】
一方、メモリアクセス演算命令から展開された命令であって、命令デコードユニット103から演算パイプライン側のリザベーションステーション(RS)105に送られた命令は、そのリザベーションステーション(RS)105において、レジスタファイル108にメモリからのデータが書き込まれるのを待つ。レジスタファイル108にメモリからのデータが入った後に、リザベーションステーション(RS)105から演算ユニット109へ命令が送られる。その後、演算ユニット109ではレジスタファイル108内のデータについて演算操作を実行する。
【0006】
図9において、リザベーションステーション(RS)104、アドレス計算ユニット106、メモリアクセスユニット107がメモリアクセスパイプラインを構成し、リザベーションステーション(RS)105、演算ユニット109が演算パイプラインを構成している。
従来のCISC型スーパスカラ方式のプロセサでは、
(1) メモリアクセスを含む演算命令を解析して、メモリアクセス可能なデータ長の命令へ変換する処理と、
(2) メモリアクセスで得たデータを使用して行う演算命令に分解する処理とを、上記したように命令のディスパッチ(dispatch)前、すなわちリザベーションステーション(RS)104、105への命令投入前に行うようにしている。
【0007】
【発明が解決しようとする課題】
従来の方式では、複雑な命令をディスパッチ前に展開しているため、以下のような問題が生じていた。
(1) 命令の展開を行う部分は、命令の展開をともなわない命令をも含めて、全ての命令が通過する場所である。命令の展開に時間がかかる場合には、その展開を要する命令よりも早期に実行される可能性のある、その他の命令の実行タイミングを遅らせることになる。
(2) ディスパッチの前の時点で命令が展開されるために、「メモリから受け取った命令を参照する命令」(メモリアクセス演算命令)は、メモリアクセスパイプラインと演算パイプラインの双方へ送られる。
演算パイプライン内の実行待ちバッファであるところのリザベーションステーション(RS)にメモリアクセス演算命令が保持されるため、それらの命令のためにリザベーションステーション(RS)のエントリが使用される。そのためリザベーションステーション(RS)のエントリが不足し、後続の「レジスタからデータを参照して実行する演算命令」(レジスタ演算命令)の送付が止まる場合がある。
メモリアクセスには時間がかかるため、データ待ちが生じて、演算パイプラインのリザベーションステーション(RS)に保持されているメモリアクセス演算命令かそのリザベーションステーション(RS)に長く留まる可能性が高い。その分だけ、後続のレジスタ演算命令の実行を妨げる可能性が高い。
【0008】
本発明は、上記問題点を解決し、メモリアクセス演算命令の実行時においても演算パイプラインを効率よく使用できるようにすることを目的とする。
【0009】
【課題を解決するための手段】
本発明の第1の態様は以下の構成を採る。
複数のパイプライン処理機構を有するデータ処理装置であって、メモリアクセスを行うためのメモリアクセスパイプラインと、演算処理を行うための演算パイプラインと、メモリアクセスパイプライン内に設けられ、メモリアクセスを含む演算命令を解析し、展開する手段とを備え、メモリアクセスパイプラインおよび演算パイプラインへの命令投入前の段階ではメモリアクセスを含む演算命令の解析・展開を行わず、メモリアクセスパイプラインへメモリアクセスを含む演算命令を投入した後に、メモリアクセスパイプライン内にてメモリアクセスを含む演算命令の解析・展開を行う。
【0010】
本発明の第2の態様は以下の構成を採る。
第1の態様のデータ処理装置において、メモリアクセスパイプライン内における、メモリアクセスを含む演算命令の展開が複数サイクルにわたる場合、メモリアクセスパイプラインへの後続命令の投入を停止する。
本発明の第3の態様は以下の構成を採る。
【0011】
第1または第2の態様のデータ処理装置において、メモリアクセスを含む演算命令によりメモリから読み出されたデータを保持するためのリソースを確保し、リソース内に保持されたデータを演算パイプラインへ送出する手段を備える。
本発明の第4の態様は以下の構成を採る。
第3の態様のデータ処理装置において、リソースを確保できなかった場合に、リソースが空くまで状態を保持したまま、待ち状態になる。
【0012】
本発明の第5の態様は以下の構成を採る。
第1の態様から第4の態様のいずれかのデータ処理装置において、メモリから読み出されたデータを受け取り、そのデータを参照して演算するメモリデータ参照演算命令を、メモリアクセスパイプライン側から演算パイプライン内の演算ユニットへ送出する手段を備える。
【0013】
本発明の第6の態様は以下の構成を採る。
第5の態様のデータ処理装置において、メモリアクセスパイプラインから送出されるメモリデータ参照演算命令と、演算パイプラインの先頭部から入力される命令との間の優先順位を判定し、演算対象の命令を決定する手段を備える。
【0014】
【発明の実施の形態】
図1は、本発明の1実施例のデータ処理装置の構成図である。本発明の1実施例のデータ処理装置は、命令バッファ1、命令デコードユニット2、命令デコードユニット出力回路3、メモリアクセスパイプライン側のリザベーションステーション(RS)4、演算パイプライン側のリザベーションステーション(RS)5、アドレス計算ユニット6、アドレス計算ユニット入力回路7、メモリアクセス待機ユニット8、メモリアクセス待機ユニット入力回路9、メモリアクセスユニット10、読出データ保持ユニット11、読出データ保持ユニット出力回路12、演算ユニット13、演算ユニット入力回路14、演算ユニット出力回路15、レジスタファイル16により構成される。
【0015】
リザベーションステーション(RS)4、アドレス計算ユニット入力回路7、メモリアクセス待機ユニット8、メモリアクセスユニット10、読出データ保持ユニット11がメモリアクセスパイプラインの主要部を構成する。また、リザベーションステーション(RS)5、演算ユニット13が演算パイプラインの主要部を構成する。
【0016】
本発明において設けられる主要ユニットである、アドレス計算ユニット6、メモリアクセス待機ユニット8、読出データ保持ユニット11の機能を説明する。アドレス計算ユニット6は、アクセスするメモリアドレスをレジスタ(ベースレジスタ/インデクスレジスタ)と即値から計算する機能と、命令の意味を解析する機能を持つ。メモリへのアクセスが複数回必要な命令に対しては、命令の展開動作を行う。複数回生じるメモリへのアクセスには、データ読み出しアクセスとデータ書き込みアクセスとが連続する場合が含まれる。これは、データを読み出してきたアドレスに、演算結果を書き込むアクセスがある場合、2つのメモリアクセスが生じることを意味する。
【0017】
また、CISC型の命令には、一回のメモリ読み出し要求だけでは賄えない長さのデータを読み出す仕様もある。この場合は、データのアドレスから、メモリアクセスのアライメントを計算し、複数の読み出し命令に展開する。データの書き込みに関しても同様のことがいえる。
さらに、複雑な命令として、2つのデータを読み出し、その読み出した2つのデータ間で演算する場合がある。データアドレスのアライメントとの関係で、初回に読み出せるデータの長さが揃わない場合がある。その場合の考慮もこのアドレス計算ユニット6で行う。その情報は、後述する読出データ保持ユニット11での命令送り出しの制御に用いる。
【0018】
命令の展開が複数サイクルにわたる場合には、アドレス計算ユニット6はリザベーションステーション(RS)4から新たに命令を受け付けず、処理中の命令が複数サイクル滞在するのを認める。
メモリアクセス待機ユニット8は、アドレス計算ユニット6で作成されたメモリアクセス命令が、メモリアクセス可能になるタイミングまで待ち合わせる場所である。メモリアクセスの優先度が命令によって異なる場合は、このメモリアクセス待機ユニット8の機能により、次にメモリアクセスする命令が選択される。
【0019】
読出データ保持ユニット11では、メモリから読み出されたデータを保持するバッファリング処理と、そのデータを参照する命令が持つ意味を解析し演算部へその命令を送付する処理が実行される。
図1において、命令実行処理の流れは次のようになる。
命令バッファ1にある命令は、命令デコードユニット2で意味の解析が行われる。レジスタ演算命令は演算パイプライン側のリザベーションステーション(RS)5に送られ、メモリアクセス演算命令はメモリアクセスパイプライン側のリザベーションステーション(RS)4に送られる。
【0020】
演算パイプライン側のリザベーションステーション(RS)5は、メモリアクセスパイプライン側に送られるメモリアクセス演算命令にかかわらず、データ依存関係の解消された演算命令を実行していく。
メモリアクセスパイプライン側のリザベーションステーション(RS)4の命令は、アドレス計算ユニット6に送られる。アドレス計算ユニット6では、命令の意味の解析を行うとともに、レジスタ(ベースレジスタ/インデクスレジスタ)と即値からアクセス対象のメモリアドレスを計算する。アドレス計算ユニット6は、データ長とアドレスのアライメント処理、および関連のある命令の関係付け処理を行い、メモリアクセス待機ユニット8に命令を送る。さらに、アドレス計算ユニット6は、メモリアクセス待機ユニット8に命令を送るとともに、読出データ保持ユニット11内にデータ保持エントリを確保する処理と、読出データ保持ユニット11において必要な情報を送付する処理を行う。
【0021】
メモリアクセス待機ユニット8では、優先順位の割り当てられた命令が、メモリアクセスユニット10に対してメモリアクセスの要求を出す。メモリアクセスユニット10におけるメモリアクセス処理によってメモリから読み出されたデータは、読出データ保持ユニット11内のあらかじめ用意されたエントリに送られ、そこに保持される。
【0022】
読出データ保持ユニット11の制御により、演算ユニット13に命令が送られる。また、読出データ保持ユニット11の制御により、メモリアクセス待機ユニット8に命令がおくられる。また、演算を必要としない命令では、読出データ保持ユニット11からレジスタファイル16にデータが書き込まれる。
演算結果をメモリに書き込む命令の場合は、演算ユニット13からメモリアクセス待機ユニット8に演算結果が送られる。演算結果をレジスタに書き込む命令の場合は、演算ユニット13からレジスタファイル16に演算結果が送られる。
【0023】
次に、図1の各ユニットの内部構成を以下に説明する。
図2は、図1における命令デコードユニット2と命令デコードユニット出力回路3の構成を示す。命令デコードユニット2での意味解析処理として、命令種別の認識処理20、オペランドデータの解析処理21、データ依存関係情報の設定処理22が実行される。命令デコードユニット出力回路3において、メモリアクセスを伴う命令はメモリアクセスパイプライン側のリザベーションステーション(RS)4へ送られ、その他の演算命令は演算パイプライン側のリザベーションステーション(RS)5へ送られる。
【0024】
図3は、メモリアクセスパイプライン側のリザベーションステーション(RS)4の構成を示す。リザベーションステーション(RS)4には、複数の命令を保持するバッファエントリが設けられている。依存関係が解消され、送付先ユニットが受付可能である、等の送付条件を満たす命令が選択され、後続のユニットへ送られる。
【0025】
以下の説明では、アドレス計算ユニット6とアドレス計算ユニット入力回路7を含む部分をユニット1(UNIT1)と称し、メモリアクセス待機ユニット8とメモリアクセス待機ユニット入力回路9を含む部分をユニット2(UNIT2)と称し、読み出しデータユニット11と読出データ保持ユニット出力回路12を含む部分をユニット3(UNIT3)と称して説明する。
【0026】
図4は、ユニット1(アドレス計算ユニット6、アドレス計算ユニット入力回路7)の構成を示す。ユニット1は、命令種別保持部30、ベースレジスタ保持部31、インデクスレジスタ保持部32、ディスプレースメント保持部33、データ長保持部34、アドレス計算部35、アクセス制御情報生成部36、エントリ制御部37により構成される。
アクセス制御情報生成部36では、データ長生成処理、メモリアクセス種別(load/store)生成処理、アドレスアライメント・メモリアドレス生成処理等を行う。アクセス制御情報生成部36の詳細動作は、図7のフローチャートにより後述する。エントリ制御部37では、ユニット2/ユニット3におけるエントリ生成の判定処理、ユニット2/ユニット3におく情報の生成処理、エントリ生成リクエスト送出処理等を行う。エントリ制御部37の詳細動作は、図8のフローチャートにより後述する。
【0027】
図5は、ユニット2(メモリアクセス待機ユニット8、メモリアクセス待機ユニット入力回路9)の構成を示す。ユニット2には、データおよび各種制御情報等を保持するための複数のバッファエントリが設けられている。ユニット1からは、データ/アクセス種別/エントリIDが入力される。また、ユニット3および演算ユニット13からもデータが入力される。メモリ内でのデータの移動を行う命令を実行するような場合に、ユニット3からユニット2へデータが入力される。また演算結果をメモリに格納する命令を実行するような場合に、演算ユニット13からユニット2へデータが入力される。
【0028】
図6は、ユニット3(読み出しデータ保持ユニット11、読出データ保持ユニット出力回路12)の構成を示す。ユニット3には、ユニット2と同様に、データおよび各種制御情報等を保持するための複数のバッファエントリが設けられている。メモリから読み出したデータがバッファエントリに格納される。メモリから読み出したデータをレジスタファイル16にロードする命令の場合には、バッファエントリのデータはレジスタファイル16に送られる。メモリから読み出したデータを演算する命令の場合には、バッファエントリのデータは演算ユニット13に送られる。メモリ内でのデータの移動を行う命令の場合には、バッファエントリのデータはユニット2のバッファに送られる。
【0029】
図7は、ユニット1のアクセス制御情報生成部36の詳細動作を示すフローチャートである。
ステップ1(S1)で命令種別/データ長/アドレス(計算)値が入力される。ステップ2(S2)で複雑なメモリアクセスを伴う命令か否かが判定される。
複雑なメモリアクセスを伴う命令の場合には、ステップ3(S3)において、このサイクルで行う処理に必要な情報を生成する。複数サイクルにわたってユニット1に滞る命令に関しては、現サイクルで生成する、(a) メモリアクセス種別、(b) アドレス値、(c) データ長を、命令の種別と、既に滞った回数から生成する。
ステップ4(S4)でデータ長と命令種別に基づいて、アドレス計算の値はアライメントが必要であるか否かが判定される。アライメントが必要な場合には、ステップ7(S7)でアライメント処理が行われる。
ステップ5(S5)でメモリアクセスの種別がloadアクセスか否かが判定される。loadアクセスの場合には、ステップ8(S8)でloadアクセス信号生成処理が行われる。
ステップ6(S6)でメモリアクセスの種別がstoreアクセスか否かが判定される。storeアクセスの場合には、ステップ9(S9)でstoreアクセス信号生成処理が行われる。
ステップ10(S10)でアドレス値およびデータ長が確定する。
ステップ11(S11)で、メモリアクセス種別、データ長、アドレス値、および命令を識別するIDがユニット2に送付される。
ステップ12(S12)で、複雑なメモリアクセスであり、次サイクルもユニット1で処理されるか否かが判定される。ステップ12(S12)の判定結果がyesであれば、ステップ2(S2)に戻り、次のメモリアクセス処理を繰り返す。ステップ12(S12)の判定結果がnoであれば、次の命令をリザベーションステーション(RS)4から受け付ける。
【0030】
図8は、ユニット1のエントリ制御部37の詳細動作を示すフローチャートである。
ステップ20(S20)で、現サイクルで作られたリクエストの属性が入力される。
ステップ21(S21)で、ユニット2にエントリが必要か否かが判定される。ユニット2にエントリが必要な場合、ステップ22(S22)でユニット2にエントリを確保する。エントリを確保できなければこのサイクルでのユニット1の処理を無効にする。ユニット2にエントリを確保した場合、ユニット2のエントリにつける属性を生成する。
ユニット2のエントリにつける属性として次のものがある。
【0031】
・命令を識別するID
・メモリアクセス種別
・ユニット3からデータを受け取るか否か(yes/no)
・演算部からデータを受け取るか否か(yes/no)
ステップ23で、ユニット3にエントリが必要か否かが判定される。
ユニット3にエントリが必要な場合、ステップ24(S24)でユニット3にエントリを確保する。エントリを確保できなければこのサイクルでのユニット1の処理を無効にする。ユニット3にエントリを確保した場合、ユニット3のエントリにつける属性を生成する。
ユニット3のエントリにつける属性として次のものがある。
【0032】
・命令を識別するID
・データの送付先(レジスタファイル/ユニット2/演算ユニット)
・同期をとる命令を識別するID
ステップ25(S25)で、ユニット2、ユニット3にエントリを生成するとともに、属性付けの信号を送る。
【0033】
ユニット1では、ユニット2/ユニット3のリソース(エントリ)を確保できなかった場合には、リソースが空くまで状態を保持したまま、待ち状態となる。メモリからの読み出し動作のときは、ユニット2とユニット3の両方のリソースの空きを確認する。メモリへの書き込み動作のときは、ユニット2のリソースの空きを確認する。
【0034】
演算パイプライン側の演算ユニット入力回路14は、メモリアクセスパイプライン側のユニット3から送出されるメモリデータ参照演算命令と、演算パイプラインの先頭部から入力される命令との間の優先順位を判定し、演算対象の命令を決定し、演算ユニット13へ送出する機能を備えている。
【0035】
【発明の効果】
本発明によれば、メモリアクセス演算命令の展開をメモリアクセスパイプライン内で行うようにしたので、メモリアクセス演算命令の実行中であっても、後続のレジスタ演算命令を演算パイプラインに投入して実行させることが可能になり、プロセサの処理能力を向上させることができる。
【図面の簡単な説明】
【図1】本発明の1実施例のデータ処理装置の構成図である。
【図2】命令デコードユニット2と命令デコードユニット出力回路3の構成を示す図である。
【図3】リザベーションステーション(RS)4の構成を示す図である。
【図4】ユニット1(アドレス計算ユニット6、アドレス計算ユニット入力回路7)の構成を示す図である。
【図5】ユニット2(メモリアクセス待機ユニット8、メモリアクセス待機ユニット入力回路9)の構成を示す図である。
【図6】ユニット3(読み出しデータ保持ユニット11、読出データ保持ユニット出力回路12)の構成を示す図である。
【図7】ユニット1のアクセス制御情報生成部36の詳細動作を示すフローチャートである。
【図8】ユニット1のエントリ制御部37の詳細動作を示すフローチャートである。
【図9】CISC型スーパスカラ方式のプロセサの従来の構成例を示す図である。
【符号の説明】
1 命令バッファ
2 命令デコードユニット
4、5 リザベーションステーション
6 アドレス計算ユニット
8 メモリアクセス待機ユニット
10 メモリアクセスユニット
11 読み出しデータ保持ユニット
13 演算ユニット
16 レジスタファイル
Claims (6)
- メモリアクセスを行うためのメモリアクセスパイプラインと、
演算処理を行うための演算パイプラインと、
メモリアクセスパイプライン内に設けられ、メモリアクセスを含む演算命令を解析し、展開する手段とを備え、
メモリアクセスパイプラインおよび演算パイプラインへの命令投入前の段階ではメモリアクセスを含む演算命令の解析・展開を行わず、メモリアクセスパイプラインへ該メモリアクセスを含む演算命令を投入した後に、メモリアクセスパイプライン内にて該メモリアクセスを含む演算命令の解析・展開を行うように構成したことを特徴とする複数のパイプライン処理機構を有するデータ処理装置。 - メモリアクセスパイプライン内における、メモリアクセスを含む演算命令の展開が複数サイクルにわたる場合、メモリアクセスパイプラインへの後続命令の投入を停止することを特徴とする請求項1に記載の複数のパイプライン処理機構を有するデータ処理装置。
- メモリアクセスを含む演算命令によりメモリから読み出されたデータを保持するためのリソースを確保し、該リソース内に保持されたデータを演算パイプラインへ送出する手段を備えたことを特徴とする請求項1または請求項2に記載の複数のパイプライン処理機構を有するデータ処理装置。
- 前記リソースを確保できなかった場合に、リソースが空くまで状態を保持したまま、待ち状態になることを特徴とする請求項3に記載の複数のパイプライン処理機構を有するデータ処理装置。
- メモリから読み出されたデータを受け取り、そのデータを参照して演算するメモリデータ参照演算命令を、メモリアクセスパイプライン側から演算パイプライン内の演算ユニットへ送出する手段を備えたことを特徴とする請求項1から請求項4のいずれかに記載の複数のパイプライン処理機構を有するデータ処理装置。
- メモリアクセスパイプラインから送出される前記メモリデータ参照演算命令と、演算パイプラインの先頭部から入力される命令との間の優先順位を判定し、演算対象の命令を決定する手段を備えたことを特徴とする請求項5に記載の複数のパイプライン処理機構を有するデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11061698A JP3721780B2 (ja) | 1998-04-21 | 1998-04-21 | 複数のパイプライン処理機構を有するデータ処理装置 |
US09/229,339 US6496924B2 (en) | 1998-04-21 | 1999-01-13 | Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11061698A JP3721780B2 (ja) | 1998-04-21 | 1998-04-21 | 複数のパイプライン処理機構を有するデータ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11306021A JPH11306021A (ja) | 1999-11-05 |
JP3721780B2 true JP3721780B2 (ja) | 2005-11-30 |
Family
ID=14540338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11061698A Expired - Fee Related JP3721780B2 (ja) | 1998-04-21 | 1998-04-21 | 複数のパイプライン処理機構を有するデータ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6496924B2 (ja) |
JP (1) | JP3721780B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3886870B2 (ja) * | 2002-09-06 | 2007-02-28 | 株式会社ルネサステクノロジ | データ処理装置 |
DE102004063991B4 (de) * | 2004-10-29 | 2009-06-18 | Infineon Technologies Ag | Verfahren zur Herstellung von dotierten Halbleitergebieten in einem Halbleiterkörper eines lateralen Trenchtransistors |
US7870368B2 (en) * | 2008-02-19 | 2011-01-11 | International Business Machines Corporation | System and method for prioritizing branch instructions |
US20090210672A1 (en) * | 2008-02-19 | 2009-08-20 | Luick David A | System and Method for Resolving Issue Conflicts of Load Instructions |
US7984270B2 (en) * | 2008-02-19 | 2011-07-19 | International Business Machines Corporation | System and method for prioritizing arithmetic instructions |
US20090210666A1 (en) * | 2008-02-19 | 2009-08-20 | Luick David A | System and Method for Resolving Issue Conflicts of Load Instructions |
US7882335B2 (en) * | 2008-02-19 | 2011-02-01 | International Business Machines Corporation | System and method for the scheduling of load instructions within a group priority issue schema for a cascaded pipeline |
US20090210669A1 (en) * | 2008-02-19 | 2009-08-20 | Luick David A | System and Method for Prioritizing Floating-Point Instructions |
US7877579B2 (en) * | 2008-02-19 | 2011-01-25 | International Business Machines Corporation | System and method for prioritizing compare instructions |
US20090210677A1 (en) * | 2008-02-19 | 2009-08-20 | Luick David A | System and Method for Optimization Within a Group Priority Issue Schema for a Cascaded Pipeline |
US8095779B2 (en) * | 2008-02-19 | 2012-01-10 | International Business Machines Corporation | System and method for optimization within a group priority issue schema for a cascaded pipeline |
US8108654B2 (en) * | 2008-02-19 | 2012-01-31 | International Business Machines Corporation | System and method for a group priority issue schema for a cascaded pipeline |
US7865700B2 (en) * | 2008-02-19 | 2011-01-04 | International Business Machines Corporation | System and method for prioritizing store instructions |
US7996654B2 (en) * | 2008-02-19 | 2011-08-09 | International Business Machines Corporation | System and method for optimization within a group priority issue schema for a cascaded pipeline |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05342084A (ja) * | 1992-06-08 | 1993-12-24 | Matsushita Electric Ind Co Ltd | データ記憶装置及びデータ記憶方法 |
US5490280A (en) * | 1994-03-31 | 1996-02-06 | Intel Corporation | Apparatus and method for entry allocation for a resource buffer |
US5860154A (en) * | 1994-08-02 | 1999-01-12 | Intel Corporation | Method and apparatus for calculating effective memory addresses |
US5930489A (en) * | 1996-02-09 | 1999-07-27 | Advanced Micro Devices, Inc. | Microprocessor configured to detect memory operations having data addresses indicative of a boundary between instructions sets |
US6085314A (en) * | 1996-03-18 | 2000-07-04 | Advnced Micro Devices, Inc. | Central processing unit including APX and DSP cores and including selectable APX and DSP execution modes |
US5958045A (en) * | 1997-04-02 | 1999-09-28 | Advanced Micro Devices, Inc. | Start of access instruction configured to indicate an access mode for fetching memory operands in a microprocessor |
US6016543A (en) * | 1997-05-14 | 2000-01-18 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor for controlling the conditional execution of instructions |
US6065103A (en) * | 1997-12-16 | 2000-05-16 | Advanced Micro Devices, Inc. | Speculative store buffer |
-
1998
- 1998-04-21 JP JP11061698A patent/JP3721780B2/ja not_active Expired - Fee Related
-
1999
- 1999-01-13 US US09/229,339 patent/US6496924B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11306021A (ja) | 1999-11-05 |
US20020099922A1 (en) | 2002-07-25 |
US6496924B2 (en) | 2002-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100636759B1 (ko) | 추월 기능을 갖춘 벡터 처리 장치 | |
JP3721780B2 (ja) | 複数のパイプライン処理機構を有するデータ処理装置 | |
JP2001092660A (ja) | ライトアフターライトデータハザードにより生じるエラーを効率的に防止するためのスーパースケーラ処理システム及び方法 | |
JP2003263331A (ja) | マルチプロセッサシステム | |
JPS63191253A (ja) | キャッシュ記憶の優先順位指定装置 | |
JPH08314719A (ja) | プロセッサ及び翻訳装置 | |
EP1710706B1 (en) | An overlapping command committing method for a dynamic cycle pipeline | |
JPH11110214A (ja) | 命令制御システム及びその方法 | |
JP3490005B2 (ja) | 命令制御装置及びその方法 | |
JP2814683B2 (ja) | 命令処理装置 | |
US7130988B2 (en) | Status register update logic optimization | |
JP2795312B2 (ja) | プロセス間通信スケジューリング方式 | |
EP4293505A1 (en) | Instruction retirement unit, instruction execution unit, processing unit, cumputing device, and instruction processing method | |
JPS5829051A (ja) | 演算処理装置 | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JPH1124942A (ja) | マイクロコンピュータ | |
JPH02217924A (ja) | データ処理装置のストア処理方式 | |
JPH02206836A (ja) | データ処理装置 | |
JPH0342721A (ja) | 情報処理装置 | |
JPH02197961A (ja) | 情報処理装置 | |
JPS62103736A (ja) | ブランチ制御方式 | |
JPS63191252A (ja) | パイプライン同期化方式 | |
JPS59172187A (ja) | 動的アドレス変換制御方式 | |
JPH06168123A (ja) | データ処理装置 | |
JPH02184957A (ja) | メモリアクセス制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050815 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050905 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080922 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090922 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090922 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |