JPH11306021A - 複数のパイプライン処理機構を有するデータ処理装置 - Google Patents

複数のパイプライン処理機構を有するデータ処理装置

Info

Publication number
JPH11306021A
JPH11306021A JP10110616A JP11061698A JPH11306021A JP H11306021 A JPH11306021 A JP H11306021A JP 10110616 A JP10110616 A JP 10110616A JP 11061698 A JP11061698 A JP 11061698A JP H11306021 A JPH11306021 A JP H11306021A
Authority
JP
Japan
Prior art keywords
memory access
pipeline
unit
instruction
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.)
Granted
Application number
JP10110616A
Other languages
English (en)
Other versions
JP3721780B2 (ja
Inventor
Mariko Sakamoto
真理子 坂本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11061698A priority Critical patent/JP3721780B2/ja
Priority to US09/229,339 priority patent/US6496924B2/en
Publication of JPH11306021A publication Critical patent/JPH11306021A/ja
Application granted granted Critical
Publication of JP3721780B2 publication Critical patent/JP3721780B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/3824Operand accessing
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • 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/3885Concurrent 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)

Abstract

(57)【要約】 【課題】メモリアクセスパイプラインと演算パイプライ
ンを持つデータ処理装置において、メモリアクセスを含
む演算命令を効率よく実行する。 【解決手段】メモリアクセスパイプラインおよび演算パ
イプラインへの命令投入前の段階ではメモリアクセスを
含む演算命令の解析・展開を行わず、メモリアクセスパ
イプラインへメモリアクセスを含む演算命令を投入した
後に、メモリアクセスパイプライン内にてメモリアクセ
スを含む演算命令の解析・展開を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、互いに独立に動作
するメモリアクセスパイプラインと演算パイプラインと
を持つデータ処理装置に関し、特に、メモリアクセスを
含む演算命令を有するようなCISC型スーパスカラ方
式のプロセサ等に関するものである。
【0002】
【従来技術】図9は、CISC型スーパスカラ方式のプ
ロセサの従来の構成例を示す図である。命令は、命令バ
ッファ101から命令デコードユニット103へ送ら
れ、そこで意味解析処理、リソースのチェックおよび確
保処理、命令の展開処理が実行される。複雑な命令(例
えば、一回のメモリアクセスでは処理できない大量のデ
ータについて演算操作をおこなうメモリアクセス演算命
令等)に関しては、命令展開処理に複数サイクルを要す
るため、一つの命令が複数サイクルの間、命令デコード
ユニット103に繰り返して滞在することがある。命令
バッファ102は、複雑な命令用の命令バッファであ
る。
【0003】複雑な命令に関しては、最初、命令バッフ
ァ101に投入された命令が、命令デコードユニット1
03へ送られ、それ以後は、命令デコードユニット10
3→命令バッファ102→命令デコードユニット103
→命令バッファ102→命令デコードユニット103→
・・・というように、複数サイクルにわたって命令展
開処理が行われることになる。例えば、一回のメモリア
クセスでは処理しきれない大量のメモリデータ領域への
アクセスを行う場合には、メモリアクセス可能なデータ
長の命令を繰り返して生成するために、上記のサイクル
を繰り返し実行する。
【0004】メモリアクセス演算命令に関しては、命令
デコードユニット103で解析処理された後、メモリア
クセスパイプライン側のリザベーションステーション
(RS)104と、演算パイプライン側のリザベーショ
ンステーション(RS)105の両方に命令が送出され
る。メモリアクセスパイプライン側ではアドレス計算ユ
ニット106でメモリアクセスのためのアドレス計算が
行われ、メモリアクセスユニット107でメモリアクセ
スが行われる。メモリアクセスユニット107で得られ
たデータは、レジスタファイル108へ書き込まれる。
【0005】一方、メモリアクセス演算命令から展開さ
れた命令であって、命令デコードユニット103から演
算パイプライン側のリザベーションステーション(R
S)105に送られた命令は、そのリザベーションステ
ーション(RS)105において、レジスタファイル1
08にメモリからのデータが書き込まれるのを待つ。レ
ジスタファイル108にメモリからのデータが入った後
に、リザベーションステーション(RS)105から演
算ユニット109へ命令が送られる。その後、演算ユニ
ット109ではレジスタファイル108内のデータにつ
いて演算操作を実行する。
【0006】図9において、リザベーションステーショ
ン(RS)104、アドレス計算ユニット106、メモ
リアクセスユニット107がメモリアクセスパイプライ
ンを構成し、リザベーションステーション(RS)10
5、演算ユニット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がメモリアクセスパイプラインの主要
部を構成する。また、リザベーションステーション(R
S)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、オペランドデータの解析処理2
1、データ依存関係情報の設定処理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)でl
oadアクセス信号生成処理が行われる。ステップ6
(S6)でメモリアクセスの種別がstoreアクセス
か否かが判定される。storeアクセスの場合には、
ステップ9(S9)でstoreアクセス信号生成処理
が行われる。ステップ10(S10)でアドレス値およ
びデータ長が確定する。ステップ11(S11)で、メ
モリアクセス種別、データ長、アドレス値、および命令
を識別するIDがユニット2に送付される。ステップ1
2(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/n
o) ・演算部からデータを受け取るか否か(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(読み出しデータ保持ユニット1
1、読出データ保持ユニット出力回路12)の構成を示
す図である。
【図7】ユニット1のアクセス制御情報生成部36の詳
細動作を示すフローチャートである。
【図8】ユニット1のエントリ制御部37の詳細動作を
示すフローチャートである。
【図9】CISC型スーパスカラ方式のプロセサの従来
の構成例を示す図である。
【符号の説明】
1 命令バッファ 2 命令デコードユニット 4、5 リザベーションステーション 6 アドレス計算ユニット 8 メモリアクセス待機ユニット 10 メモリアクセスユニット 11 読み出しデータ保持ユニット 13 演算ユニット 16 レジスタファイル

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 メモリアクセスを行うためのメモリアク
    セスパイプラインと、 演算処理を行うための演算パイプラインと、 メモリアクセスパイプライン内に設けられ、メモリアク
    セスを含む演算命令を解析し、展開する手段とを備え、 メモリアクセスパイプラインおよび演算パイプラインへ
    の命令投入前の段階ではメモリアクセスを含む演算命令
    の解析・展開を行わず、メモリアクセスパイプラインへ
    該メモリアクセスを含む演算命令を投入した後に、メモ
    リアクセスパイプライン内にて該メモリアクセスを含む
    演算命令の解析・展開を行うように構成したことを特徴
    とする複数のパイプライン処理機構を有するデータ処理
    装置。
  2. 【請求項2】 メモリアクセスパイプライン内におけ
    る、メモリアクセスを含む演算命令の展開が複数サイク
    ルにわたる場合、メモリアクセスパイプラインへの後続
    命令の投入を停止することを特徴とする請求項1に記載
    の複数のパイプライン処理機構を有するデータ処理装
    置。
  3. 【請求項3】 メモリアクセスを含む演算命令によりメ
    モリから読み出されたデータを保持するためのリソース
    を確保し、該リソース内に保持されたデータを演算パイ
    プラインへ送出する手段を備えたことを特徴とする請求
    項1または請求項2に記載の複数のパイプライン処理機
    構を有するデータ処理装置。
  4. 【請求項4】 前記リソースを確保できなかった場合
    に、リソースが空くまで状態を保持したまま、待ち状態
    になることを特徴とする請求項3に記載の複数のパイプ
    ライン処理機構を有するデータ処理装置。
  5. 【請求項5】 メモリから読み出されたデータを受け取
    り、そのデータを参照して演算するメモリデータ参照演
    算命令を、メモリアクセスパイプライン側から演算パイ
    プライン内の演算ユニットへ送出する手段を備えたこと
    を特徴とする請求項1から請求項4のいずれかに記載の
    複数のパイプライン処理機構を有するデータ処理装置。
  6. 【請求項6】 メモリアクセスパイプラインから送出さ
    れる前記メモリデータ参照演算命令と、演算パイプライ
    ンの先頭部から入力される命令との間の優先順位を判定
    し、演算対象の命令を決定する手段を備えたことを特徴
    とする請求項5に記載の複数のパイプライン処理機構を
    有するデータ処理装置。
JP11061698A 1998-04-21 1998-04-21 複数のパイプライン処理機構を有するデータ処理装置 Expired - Fee Related JP3721780B2 (ja)

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 true JPH11306021A (ja) 1999-11-05
JP3721780B2 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3886870B2 (ja) * 2002-09-06 2007-02-28 株式会社ルネサステクノロジ データ処理装置
DE102004052643B4 (de) * 2004-10-29 2016-06-16 Infineon Technologies Ag Verfahren zur Herstellung eines lateralen Trenchtransistors
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
US20090210666A1 (en) * 2008-02-19 2009-08-20 Luick David A System and Method for Resolving Issue Conflicts of Load Instructions
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
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
US20090210669A1 (en) * 2008-02-19 2009-08-20 Luick David A System and Method for Prioritizing Floating-Point Instructions
US7984270B2 (en) * 2008-02-19 2011-07-19 International Business Machines Corporation System and method for prioritizing arithmetic instructions
US7870368B2 (en) * 2008-02-19 2011-01-11 International Business Machines Corporation System and method for prioritizing branch instructions
US7865700B2 (en) * 2008-02-19 2011-01-04 International Business Machines Corporation System and method for prioritizing store instructions
US20090210672A1 (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
US7877579B2 (en) * 2008-02-19 2011-01-25 International Business Machines Corporation System and method for prioritizing compare 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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP3721780B2 (ja) 2005-11-30
US6496924B2 (en) 2002-12-17
US20020099922A1 (en) 2002-07-25

Similar Documents

Publication Publication Date Title
US7526629B2 (en) Vector processing apparatus with overtaking function to change instruction execution order
JP3721780B2 (ja) 複数のパイプライン処理機構を有するデータ処理装置
JP2003263331A (ja) マルチプロセッサシステム
US6052530A (en) Dynamic translation system and method for optimally translating computer code
EP1710706B1 (en) An overlapping command committing method for a dynamic cycle pipeline
JPH11110214A (ja) 命令制御システム及びその方法
JP2795312B2 (ja) プロセス間通信スケジューリング方式
JPH06168263A (ja) ベクトル処理装置
EP3772212B1 (en) Data access method and apparatus, and electronic device
EP4293505A1 (en) Instruction retirement unit, instruction execution unit, processing unit, cumputing device, and instruction processing method
JP3123946B2 (ja) マイクロコンピュータ
JP2814683B2 (ja) 命令処理装置
JP3307331B2 (ja) ネットワークファイルシステムのデータ転送方法
JPH03241442A (ja) ストアバッファ制御方式
JP3457535B2 (ja) プロセッサ間通信装置
JPH08123814A (ja) データベース検索方式
JPH1078913A (ja) ライトキャッシュ装置およびライトキャッシュ回路
JPS63153641A (ja) コピ−回路付き演算装置
JPH02217924A (ja) データ処理装置のストア処理方式
JPS62182843A (ja) 高速コンパイル/リンク方式
JPH05342179A (ja) データベースクライアント・サーバ分散処理システムのデータ処理方法
JPH07334363A (ja) 情報処理装置
JPS59172187A (ja) 動的アドレス変換制御方式
JPH08235135A (ja) 通信レジスタ付並列計算機
JPH01166153A (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