JP2002175181A - プロセッサおよびリネーミング装置 - Google Patents

プロセッサおよびリネーミング装置

Info

Publication number
JP2002175181A
JP2002175181A JP2001101216A JP2001101216A JP2002175181A JP 2002175181 A JP2002175181 A JP 2002175181A JP 2001101216 A JP2001101216 A JP 2001101216A JP 2001101216 A JP2001101216 A JP 2001101216A JP 2002175181 A JP2002175181 A JP 2002175181A
Authority
JP
Japan
Prior art keywords
register
bank
instruction
control register
logical
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
JP2001101216A
Other languages
English (en)
Other versions
JP3817436B2 (ja
Inventor
Atsushi Kunimatsu
松 敦 国
Yukio Watanabe
辺 幸 男 渡
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001101216A priority Critical patent/JP3817436B2/ja
Priority to TW090121830A priority patent/TWI221579B/zh
Priority to KR1020010057935A priority patent/KR20020025703A/ko
Priority to CNB011406623A priority patent/CN1149472C/zh
Priority to US09/962,197 priority patent/US6938149B2/en
Priority to DE60138445T priority patent/DE60138445D1/de
Priority to EP01122676A priority patent/EP1193594B1/en
Publication of JP2002175181A publication Critical patent/JP2002175181A/ja
Application granted granted Critical
Publication of JP3817436B2 publication Critical patent/JP3817436B2/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
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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
    • 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/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 ハードウェアを複雑にすることなく、かつ柔
軟性のあるレジスタ・リネーム処理を行うことが可能な
プロセッサを提供する。 【解決手段】 プロセッサは、命令メモリ1と、フェッ
チ・ユニット2と、デコード・ユニット3と、後述する
リネーム命令を実行するリネーム制御ユニット(RCU)4
と、リネーム制御レジスタ(RCR)5と、物理アドレスと
論理アドレスとの対応関係を記憶するレジスタファイル
6と、デコードした命令を実行する演算処理ユニット(A
LUs)7とを備えている。物理レジスタ番号と論理レジス
タ番号との対応関係を指定するための専用の命令である
レジスタ・リネーム命令により、制御レジスタ内の任意
のバンドルについて、バンドルごとに物理レジスタ番号
と論理レジスタ番号との対応関係を指定できるようにし
たため、命令の数を増やすことなく、パイプライン・バ
ブルの発生を抑制できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サやディジタル処理プロセッサ(DSP:Digital Signal Pr
ocessor)のような高周波動作が要求されるプロセッサ
と、レジスタのリネーミングを行うリネーミング装置に
関し、特に、ソフトウェア・パイプライニングを行う技
術に関する。
【0002】
【従来の技術】高性能を求めるために、プロセッサの周
波数を上げていくとどうしてもパイプラインステージ数
が多くなり、パイプライン・バブル(パイプライン・ス
トール)が多くなる。バブルを埋めるためには、ソフト
ウェア・パイプライニングを行うことが一般的である。
【0003】図18はあるプロセッサのパイプラインス
テージを示す図、図19は図18のプロセッサが実行す
るプログラムの一例を示す図である。
【0004】図18のプロセッサが図19のプログラム
を実行するにあたって、データのバイパスはまったくな
いものとし、Wステージでレジスタへの書き込みを行っ
た後のみ、Dステージでデータの読み込みが可能になる
ものとする。
【0005】1issueのインターロック機能を持つパイ
プライン実行が可能なプロセッサは、図19のプログラ
ムを図20のような手順で実行する。命令1のWa(5
サイクル目)でレジスタr1にデータが書き込まれ、命
令2のWb(6サイクル目)でレジスタr2にデータが
書き込まれる。命令3は、Dcでレジスタr1,r2を
読み込むため、3サイクル分、インターロック(ストー
ル)させられる。これがデータ依存関係によるパイプラ
イン・バブルであり、図20では「*」で示している。
図20の例では、6個のパイプライン・バブルが存在す
る。
【0006】同じく、命令3のWdで書き込まれたレジ
スタr3を、命令4はDeで読み込む。命令5は、ただ
の分岐命令であり、他と依存関係がないため、すぐ次の
サイクルで実行される。
【0007】なお、図20では、簡略化のため、ループ
の分岐命令はペナルティなし(分岐遅延スロットなし)
としており、ロードストア命令のアドレス・インクリメ
ントも1サイクルでできるものとしている。
【0008】図20のようなパイプライン・バブルを解
決するために行われるのが、各ループのオーバーラップ
実行である。図21はオーバーラップ実行の一例を示す
図である。図21の例では、3ループ中でパイプライン
・バブルは一つしか発生していない。図20の例だと、
1ループあたり6個のパイプライン・バブルが発生して
いたため、バブル数を1/18に激減させることができる。
【0009】
【発明が解決しようとする課題】命令スループットの性
能を上げるには、原始的には、プログラマがソフトウェ
ア・パイプライニングを組んで実現する。そのプログラ
ムは例えば図22のようなものである。
【0010】図22の例の場合、ループ1ではレジスタ
r1,r2,r7,a1,a2,a7を使用し、ループ
2ではレジスタr3,r4,r8,a3,a4,a8を
使用し、ループ3ではレジスタr5,r6,r9,a
5,a6,a9を使用する。
【0011】このように、図22の例の場合、各ループ
でそれぞれ異なるレジスタを使用するため、プログラム
の命令数が3倍になってしまい、また、プログラマはオ
ーバーラップしている各ループでレジスタがぶつからな
いように指定しなければならない。
【0012】この煩雑さを解消するための従来の技術と
して、以下の二つが提案されている。一つは、out-of-o
rder発行機能と自動レジスタ・リネーミング機能を備え
たプロセッサであり、このようなプロセッサでは、図1
9のようなプログラムの記述のままで、図21のような
理想的な動作を行う。ただし、out-of-order発行機能を
実現するためのハードウェアが膨大になるという問題が
ある。
【0013】二つ目は、Intel株式会社のItaniumやCydr
omeのコンピュータに実装されている、レジスタ・ロー
テーション機能である。図22の例をレジスタ・ローテ
ーションで実現すると、図23のようになる。
【0014】branch_regrot命令で、ループのジャンプ
命令を実行するのと同時に、レジスタのローテーション
を行う。ローテーションでは、3つのレジスタずつ入れ
替える。この場合のプログラムは、図24のようにな
り、またパイプラインの動作は図25のようになる。
【0015】1ループ目終了時のレジスタの対応関係は
図26のようになる。また、2ループ目終了時のレジス
タの対応関係は図27のようになる。
【0016】従来の自動リネーミング機能は、ハードウ
ェアが複雑になるという問題がある。また、従来のレジ
スタ・ローテーション機能は、柔軟性が低く、単純なロ
ーテーション以外には適用できないという問題がある。
【0017】本発明は、このような点に鑑みてなされた
ものであり、その目的は、ハードウェアを複雑にするこ
となく、柔軟性に富んだレジスタ・リネーム機能を実現
可能なプロセッサを提供することにある。
【0018】また、本発明の他の目的は、簡易な回路構
成でレジスタ・リネーム機能を実現可能なリネーミング
装置を提供することにある。
【0019】
【課題を解決するための手段】上述した課題を解決する
ために、本発明は、レジスタのリネーミング機能を持
ち、ソフトウェア・パイプライニングを行うプロセッサ
において、物理レジスタ番号と論理レジスタ番号との対
応関係を示す制御レジスタと、発行された命令列の中
に、前記制御レジスタへの値の設定を指示する命令が含
まれている場合に、前記命令の内容に応じて前記制御レ
ジスタへの値の設定を行う制御レジスタ設定手段と、を
備える。
【0020】本発明では、制御レジスタに設定する値に
応じて、物理レジスタ番号と論理レジスタ番号との対応
関係を任意に設定変更できるようにしたため、ハードウ
ェアの構成を複雑にすることなく、柔軟性のあるレジス
タ・リネーム機能を実現できる。
【0021】また、複数のレジスタからなるバンクを単
位として物理レジスタ番号と論理レジスタ番号との対応
づけを行えば、簡易かつ迅速にレジスタ・リネームを行
えるようになる。
【0022】さらに、制御レジスタに第1〜第3のレジ
スタ部を設け、各レジスタ部を利用してレジスタ・リネ
ームを行えば、よりいっそう高速にレジスタ・リネーム
を行えるようになる。
【0023】また、本発明は、複数の物理レジスタまた
は論理レジスタを単位とする複数のバンクのそれぞれご
とに、物理レジスタ番号と論理レジスタ番号との対応関
係を格納する制御レジスタと、発行された命令の中に、
前記バンクを単位とした物理レジスタ番号と論理レジス
タ番号との対応づけを変更する対応づけ変更命令が含ま
れている場合に、該命令で指示されたバンクに対応する
前記制御レジスタの内容をリセットするリセット手段
と、前記対応づけ変更命令で指示される、対応づけの変
更を行うバンクの種類に関する情報と対応づけの変更量
に関する情報とに基づいて、リセットされた前記制御レ
ジスタに新たな値を設定する制御レジスタ設定手段と、
を備える。
【0024】
【発明の実施の形態】以下、本発明に係るプロセッサに
ついて、図面を参照しながら具体的に説明する。
【0025】(第1の実施形態)図1は本発明に係るプ
ロセッサの一実施形態の概略構成を示すブロック図であ
る。図1のプロセッサは、命令列を記憶する命令メモリ
1と、命令メモリ1からの命令をフェッチするフェッチ
・ユニット2と、フェッチした命令をデコードするデコ
ード・ユニット3と、後述するリネーム命令を実行する
リネーム制御ユニット(RCU:Rename Control Unit)4
と、リネーム制御レジスタ(RCR:Rename Control Regist
er)5と、物理アドレスと論理アドレスとの対応関係を
記憶するレジスタファイル6と、デコードした命令を実
行する演算処理ユニット(ALUs)7とを備えている。
【0026】本実施形態は、256本のレジスタを16
本ずつ組みにした複数のバンドル(バンク)に区分け
し、バンクを単位として物理レジスタ番号と論理レジス
タ番号との対応づけを行う点に特徴がある。
【0027】このような対応づけを行うために、リネー
ム制御レジスタ5が利用される。リネーム制御レジスタ
5は、ソース・レジスタ(ソースRCR、第1のレジス
タ部)、デスティネーション・レジスタ(デスティネー
ションRCR、第2のレジスタ部)、およびエフェクテ
ィブ・レジスタ(エフェクティブRCR、第3のレジス
タ部)の3種類で構成される。
【0028】本実施形態のプロセッサは、図2に示すよ
うに、5段階に分けてパイプライン処理を行う。また、
このプロセッサは、命令セットとして、図3(a)に示
す演算命令と、図3(b)に示すロード/ストア命令
と、図3(c)に示す条件分岐命令とを有し、この他
に、図3(d)に示すレジスタ・リネーム命令を有する
点に特徴がある。
【0029】レジスタ・リネーム命令は、リネーム制御
レジスタ5をセットするための専用の命令であり、
(1)〜(4)までの4つの命令からなる。(1)のST
ORE_RENは、汎用レジスタsrc1の内容をデスティネーシ
ョンRCRにセットする命令である。(2)のLOAD_REN
は、デスティネーションRCRの内容を汎用レジスタsr
c1にセットする命令である。(3)のROTATEは、後述す
るように、ソースRCRのfromビット目からtoビット目
まで、bit数分だけ左にローテートする命令である。
(4)のRENAMEは、デスティネーションRCRの内容を
エフェクティブRCRとソースRCRにコピーする命令
である。
【0030】図1のリネーム制御ユニット4は、図3
(d)に示すレジスタ・リネーム命令が発行されると、
リネーム制御レジスタ5の設定を行う。図4はRENAME命
令実行時のリネーム制御ユニット4の処理動作を示すフ
ローチャートである。まず、リネーム制御ユニット4
は、ソースRCRの内容をデスティネーションRCRに
書き込む(ステップS1)。
【0031】次に、ROTATE命令に基づいて、ソースRC
Rの更新を行う(ステップS2)。次に、ソースRCR
の更新結果をデスティネーションRCRに書き込む(ス
テップS3)。
【0032】次に、デスティネーションRCRの内容
を、ソースRCRとエフェクティブRCRに書き込む
(ステップS4)。次に、エフェクティブRCRの内容
に基づいてレジスタファイル6に物理レジスタ番号と論
理レジスタ番号との対応関係を書き込む(ステップS
5)。
【0033】このように、ステップS5では、エフェク
ティブRCRを参照することにより、論理レジスタ番号
と物理レジスタ番号との対応関係を検出する。したがっ
て、エフェクティブRCRが参照されている間に、ソー
スRCRとデスティネーションRCRは、他の作業、例
えば次のリネーム処理を行うための作業等に利用可能で
ある。
【0034】図5はRENAME命令の実行手順を説明する図
であり、リネーム制御レジスタ5が持つ16個のバンド
ルそれぞれについて、バンドルごとに、論理レジスタ番
号のフィールド(管理領域)を物理アドレス番号に対応
づける例を示している。具体的には、バンドル0に属す
る16個の論理レジスタ番号E0〜EFを物理レジスタ
番号00〜0Fに対応づけ、バンドル1に属する16個
の論理レジスタ番号F0〜FFを物理レジスタ番号10
〜1Fに対応づけ、以下順繰りに対応づけを行い、バン
ドルfに属する16個の論理レジスタ番号D0〜DFを
物理レジスタ番号F0〜FFに対応づける例を示してい
る。
【0035】レジスタファイル6は、16×16=25
6ビットの容量をもち、リネーム制御レジスタ5の16
個分のバンドルそれぞれの物理レジスタ番号と論理レジ
スタ番号との対応関係を記憶する。
【0036】図6はROTATE命令の動作例を示す図であ
り、4番目のバンドルからc番目のバンドルまで、2バ
ンドルずつ左にローテートする例を示している。
【0037】また、図7(a)はすべてのバンドルを1
バンドルずつ左にローテートする例を示し、図7(b)
はすべてのバンドルを2バンドルずつ左にローテートす
る例を示している。
【0038】また、図8(a)はすべてのバンドルを4
バンドルずつ左にローテートする例を示し、図8(b)
はすべてのバンドルを8バンドルずつ左にローテートす
る例を示している。
【0039】また、図9(a)は上位側8バンドルを1
バンドルずつ左にローテートする例を示し、図9(b)
は上位側8バンドルを2バンドルずつ左にローテートす
る例を示している。
【0040】また、図10(a)は上位側8バンドルを
4バンドルずつ左にローテートする例を示し、図10
(b)は8バンドル目からbバンドル目までを1バンド
ルずつ左にローテートする例を示している。
【0041】また、図11(a)は8バンドル目からb
バンドル目までを1バンドルずつ左にローテートする例
を示し、図11(b)はaバンドル目からbバンドル目
までを1バンドルずつ左にローテートする例を示してい
る。
【0042】このように、本実施形態では、物理レジス
タ番号と論理レジスタ番号との対応関係を指定するため
の専用の命令であるレジスタ・リネーム命令により、制
御レジスタ内の任意のバンドルについて、バンドルごと
に物理レジスタ番号と論理レジスタ番号との対応関係を
指定できるようにしたため、命令の数を増やすことな
く、パイプライン・バブルの発生を抑制できる。
【0043】また、レジスタ・リネーム命令の具体的内
容はプログラマが任意に指定できるため、必要に応じて
リネーム処理を行うことができ、柔軟性のあるレジスタ
リネーム処理が可能になる。
【0044】さらに、本実施形態では、制御レジスタと
して、ソースRCR、デスティネーションRCRおよび
エフェクティブRCRを設け、ローテートした結果をソ
ースRCRとエフェクティブRCRの双方に書き込むた
め、エフェクティブRCRの内容を参照して物理レジス
タ番号と論理レジスタ番号との対応づけを行い、その間
にソースRCRやデスティネーションRCRを他の作
業、例えば次のローテート処理に利用することができ
る。したがって、処理効率が向上する。
【0045】上述した実施形態では、リネーム制御レジ
スタ5内に論理レジスタの各バンドルに対応したフィー
ルドを持つ例を説明したが、その逆に、リネーム制御レ
ジスタ5内に物理レジスタの各バンドルに対応したフィ
ールドを持っておき、リネーム制御ユニット4が論理レ
ジスタのバンドル番号をセットしてもよい。
【0046】(第2の実施形態)図12は、上述したレ
ジスタ・リネーム命令にて、From=2、To=a、Shift=3を
指定した場合のローテーション動作を示しており、図1
2(a)はバンドルの初期値を示している。図12
(a)のようなバンドルに対してローテーションを行う
と、バンドル番号が「2」から「a」までのバンドルの
内容が「3」バンドルずつ左にシフトし、シフトではみ
出た分がローテーション対象のバンドルの右側から埋め
られるように動作する。その結果、図12(b)のよう
になる。この状態からさらに同様のローテーションを行
うと図12(c)のようになり、この状態からさらに同
様のローテーションを行うと図12(a)に戻る。
【0047】例えば、論理番号3c(3はバンドル番
号、cはレジスタ番号)のレジスタにアクセスするプロ
グラムでは、実際にアクセスされる物理アドレスは、図
13のように変化し、プログラムでは同一の論理アドレ
スを指定しても、実際には異なる物理アドレスを使用す
ることになり、ソフトウェア・パイプライニングが行わ
れる。
【0048】上述したレジスタ・リネーム命令は、ロー
テンションさせるバンドルの種類および範囲を任意に指
定できるため、レジスタ・リネーム処理をハードウェア
で構成する場合には、ローテーションにより移動先とな
る可能性のあるすべてのバンドルに対してデータを受け
渡すパスを設ける必要がある。
【0049】例えば、図14はバンドル数が「8」の場
合のデータパスの例を示している。このように、データ
パスはバンドル間をまたがる配線になる。これらの配線
はマルチプレクサに接続されて、最終的にマルチプレク
サによって必要なバンドルのデータが選択されてバンド
ルが更新される。
【0050】図14のようにバンドル間をまたがる配線
を設けると、配線面積が増大し、配線長の増加に伴って
速度が低下するなどの問題が起こるおそれがある。特
に、バンドル数が増加する場合、配線面積はバンドル数
の2乗に比例するため、ますます重大な問題になる。
【0051】そこで、以下に説明する第2の実施形態
は、上述したレジスタ・リネーム命令によるレジスタ番
号のローテーションを、簡易な構成のハードウェアによ
り実現することを特徴とする。
【0052】図15は本発明に係るリネーミング装置の
一実施形態のブロック図である。図15のリネーミング
装置は各バンドルごとに設けられ、例えば16個のバン
ドルが存在する場合には、図15のリネーミング装置も
16個設けられる。これらリネーミング装置は、例えば
プロセッサに内蔵される。
【0053】図15のリネーミング装置は、予め指定さ
れた元のバンドル番号がレジスタ・リネーム命令で指示
された下限バンドル番号および上限バンドル番号の間に
含まれるか否かを判定する第1判定部(第1判定手段)
11と、第1判定部11の判定結果に基づいて、バンド
ルのローテーション量を設定する第1選択部(第1選択
手段)12と、元のバンドル番号に対応する新たなバン
ドル番号を演算する第1バンドル番号演算部(第1バン
ドル番号演算手段)13と、演算された新たなバンドル
番号がレジスタ・リネーム命令で指示された下限バンド
ル番号のバンドル番号よりも若い番号であるか否かを判
定する第2判定部(第2判定手段)14と、第2判定部
14の判定結果に基づいてバンドル番号の補正値を選択
する第2選択部(第2選択手段)15と、第2選択部1
5の選択制御を行うアンド回路16と、バンドル番号演
算部で演算されたバンドル番号と第2選択部(第2選択
手段)15で選択された補正値とを加算して最終的なバ
ンドル番号を演算する第2バンドル番号演算部(第2バ
ンドル番号演算手段)17と、第1バンドル番号演算部
13で演算されたバンドル番号と制御レジスタ18に格
納されたバンドル番号とのいずれか一方を選択する第3
選択部(第3選択手段)19と、制御レジスタ18に格
納するための最終的なバンドル番号を選択する第4選択
部(リセット手段)20とを備えている。
【0054】第1選択部12は、元のバンドル番号がレ
ジスタ・リネーム命令の下限バンドル番号と上限バンド
ル番号との間にあれば、レジスタ・リネーム命令のロー
テーション量を選択して出力し、入力されたバンドル番
号がレジスタ・リネーム命令の下限バンドル番号と上限
バンドル番号との間になければ、ゼロを出力する。
【0055】第1バンドル番号演算部13は、制御レジ
スタ18に格納されたバンドル番号から第1選択部12
での選択結果を引く演算を行う。
【0056】アンド回路16は、入力されたバンドル番
号が下限バンドル番号と上限バンドル番号との間で、か
つ第1バンドル番号演算部13で演算されたバンドル番
号がレジスタ・リネーム命令の下限バンドル番号よりも
小さいときに「1」を出力し、それ以外のときは「0」
を出力する。
【0057】第2選択部15は、アンド回路16の出力
が「0」であれば「0」を出力し、アンド回路16の出
力が「1」であれば、レジスタ・リネーム命令の上限バ
ンドル番号から下限バンドル番号を引いた値に「1」を
加えた値(To−From+1)を出力する。
【0058】第3選択部19は、レジスタ・リネーム命
令の実行時に第2バンドル番号演算部17で演算された
バンドル番号を選択し、それ以外の命令を実行するとき
は制御レジスタ18に格納されているバンドル番号を選
択する。
【0059】第4選択部20は、レジスタ・リネーム命
令が発行されたときに、一時的に制御レジスタ18を初
期化し、それ以外のときは第3選択部19で選択された
バンドル番号をそのまま選択する。初期化する際は、入
力されたバンドル番号をそのまま制御レジスタ18に格
納する。
【0060】ここで、制御レジスタ18がリセット手段
に対応し、第2バンドル番号演算部17および第3選択
部19が制御レジスタ設定手段に対応する。
【0061】以下、レジスタ・リネーム命令の一例とし
て、図16に示すように、下限バンドル番号Fromが3、
上限バンドル番号Toがb、ローテーション量Shiftが3
の場合を例にとって、図15のリネーミング装置の処理
動作を説明する。図16の制御レジスタには、物理アド
レスのバンドル番号が格納されている。
【0062】図15のリネーミング装置は、(1)ロー
テーション情報セット時、(2)ローテーション命令非
実行時、(3)ローテーション命令実行時で、指定され
たバンドル番号が下限バンドル番号と上限バンドル番号
との間にある場合、および(4)ローテーション命令実
行時で、指定されたバンドル番号が下限バンドル番号と
上限バンドル番号との間にない場合の4通りの処理動作
を行う。
【0063】まず、ローテーション情報セット時の処理
動作を説明する。ローテーション命令が発行されると、
ローテーション動作を行う前に、第4選択部20は制御
レジスタ18の内容を初期化する。具体的には、ローテ
ーションを行う範囲内のバンドルについては論理レジス
タ番号と物理レジスタ番号とを一致させ、それ以外の範
囲内のバンドルについては制御レジスタ18の値を変更
しないようにする。この結果、図16(b)のように、
論理アドレスのバンドル番号と物理アドレスのバンドル
番号は一致する。
【0064】次に、ローテーション命令非実行時の処理
動作を説明する。この場合、第3選択部19は制御レジ
スタ18に格納されたバンドル番号を選択するため、制
御レジスタ18のデータは変化しない。
【0065】次に、ローテンション命令実行時で、元の
バンドル番号が下限バンドル番号と上限バンドル番号と
の間に存在しない場合(図16のバンドル番号0〜2と
c〜f)の処理動作を説明する。この場合、第1選択部
12は「0」を出力し、第1バンドル番号演算部13は
制御レジスタ18に格納されているバンドル番号をその
まま出力する。また、第1判定部11の出力は「0」で
あるため、アンド回路16の出力はゼロになり、第4選
択部20は「0」を出力する。
【0066】次に、ローテンション命令実行時で、元の
バンドル番号が下限バンドル番号と上限バンドル番号と
の間に存在する場合の処理動作を説明する。この場合、
第1判定部11は「1」を出力し、第1選択部12は
「3」を出力し、第1バンドル番号演算部13は制御レ
ジスタ18に格納されたバンドル番号から「3」を引い
た値を出力する。これにより、第1バンドル番号演算部
13の出力は、図16(c)のようになる。
【0067】第2判定部14は、第1バンドル番号演算
部13で演算されたバンドル番号が「0」、「1」、
「2」のいずれかであれば「0」を出力し、それ以外の
ときは「1」を出力する。
【0068】第2判定部14から「0」が出力される
と、第2選択部15は上限バンドル番号「b」から下限
バンドル番号「3」を引いた値に「1」を加えた値(11
-3+1=9)を出力する。第2判定部14から「1」が出力
されると、第2選択部15は「0」を出力する。
【0069】第2バンドル番号演算部17は、第1バン
ドル番号演算部13で演算されたバンドル番号が
「0」、「1」、「2」のときは、これらの値に「9」
を加えた値「9」、「a」、「b」をそれぞれ出力す
る。また、第1バンドル番号演算部13で演算されたバ
ンドル番号が「3」〜「8」のときはそのまま出力す
る。これにより、制御レジスタ18の内容は図16
(d)のようになる。
【0070】このように、本実施形態では、レジスタ・
リネーム命令を実行するとき、ローテーションする範囲
内のバンドルを初期化した後、レジスタ・リネーム命令
のローテーション量、下限バンドル番号、および上限バ
ンドル番号に基づいて、ハードウェアによりバンドルの
ローテーションを行うため、バンドル間でデータのやり
取りを行わなくても新たなバンドル番号を設定できる。
したがって、バンドル間をまたがる配線が不要となり、
配線量を削減できるとともに、高速処理が可能になる。
【0071】図15のリネーミング装置をプロセッサの
内部に組み込む場合、リネーミング装置をパイプライン
の動きに合わせて動作させるのが望ましい。図17はプ
ロセッサをパイプライン動作させる場合のリネーミング
装置の動作状態を示すブロック図である。この例は、4
サイクルかけてバンドルの内容をローテーションするも
のである。
【0072】図17のリネーミング装置は、パイプライ
ンの各ステージに同期させるためのレジスタファイル2
1を有する点を除けば、図15の装置と同様に構成され
ており、図15と同様に回路構成を簡素化でき、かつ高
速動作が可能になる。
【0073】このように、図17のリネーミング装置
は、装置内部に設けられるレジスタファイル21でシス
テムクロックに同期させるため、ゲート段数が多くても
タイミングが保障され、動作が安定化し、高速クロック
にも容易に対応できる。
【0074】
【発明の効果】以上詳細に説明したように、本発明によ
れば、物理レジスタ番号と論理レジスタ番号との対応関
係を示す制御レジスタを設け、プログラマが指定した命
令により制御レジスタに値を任意に設定できるようにし
たため、ハードウェアの構成を複雑にすることなく、パ
イプライン・バブルの発生を抑えることができる。特
に、従来のout-of-order発行機能を有するスーパースカ
ラプロセッサなどよりも、ハードウェアの構成を大幅に
簡略化できる。
【0075】また、プログラマが物理レジスタ番号と論
理レジスタ番号との対応関係を任意に設定変更できるた
め、従来のレジスタ・ローテーション機能を持つプロセ
ッサよりも柔軟性のあるレジスタ・ローテーションが実
現できる。
【0076】さらに、本発明によれば、対応づけ変更命
令が発行されると、いったん制御レジスタの内容をリセ
ットした後、対応づけ変更命令で指示される内容にした
がって制御レジスタに新たな値を設定するようにしたた
め、各バンド間でデータのやり取りをしなくても対応づ
けの変更を行うことができ、ハードウェアで実現したと
きの回路構成を大幅に簡素化できる。したがって、配線
量を削減できるとともに、各配線を短くできるため、プ
ロセッサのパイプライン動作に合わせて動作させること
ができるとともに、高速クロックへの対応が容易にな
る。
【図面の簡単な説明】
【図1】本発明に係るプロセッサの概略構成を示すブロ
ック図。
【図2】5段階に分けてパイプライン処理を行う例を示
す図。
【図3】命令セットの一例を示す図。
【図4】RENAME命令実行時のリネーム制御ユニット4の
処理動作を示すフローチャート。
【図5】RENAME命令の実行手順を説明する図。
【図6】ROTATE命令の動作例を示す図。
【図7】ROTATE命令の動作例を示す図。
【図8】ROTATE命令の動作例を示す図。
【図9】ROTATE命令の動作例を示す図。
【図10】ROTATE命令の動作例を示す図。
【図11】ROTATE命令の動作例を示す図。
【図12】レジスタ・リネーム命令にて、From=2、To=
a、Shift=3を指定した場合のローテーション動作を示す
図。
【図13】実際にアクセスされる物理アドレスを示す
図。
【図14】バンドル数が「8」の場合のデータパスの例
を示す図。
【図15】本発明に係るリネーミング装置の一実施形態
のブロック図。
【図16】制御レジスタの値を示す図。
【図17】プロセッサをパイプライン動作させる場合の
リネーミング装置の動作状態を示すブロック図。
【図18】あるプロセッサのパイプラインステージを示
す図。
【図19】図18のプロセッサが実行するプログラムの
一例を示す図。
【図20】図19のパイプライン動作を示す図。
【図21】オーバーラップ実行の一例を示す図。
【図22】ソフトウェア・パイプライニングを行うプロ
グラムの一例を示す図。
【図23】レジスタ・ローテーションの一例を示す図。
【図24】図23に対応するプログラムを示す図。
【図25】図24のパイプライン動作を示す図。
【図26】1ループ目終了時のレジスタの対応関係を示
す図。
【図27】2ループ目終了時のレジスタの対応関係を示
す図。
【符号の説明】
1 命令メモリ 2 フェッチ・ユニット 3 デコード・ユニット 4 リネーム制御ユニット 5 リネーム制御レジスタ 6 レジスタファイル 7 演算処理ユニット 11 第1判定部 12 第1選択部 13 第1バンドル番号演算部 14 第2判定部 15 第2選択部 16 アンド回路 17 第2バンドル番号演算部 18 制御レジスタ 19 第3選択部 20 第4選択部 21 レジスタファイル
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成13年4月16日(2001.4.1
6)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】
【図6】
【図4】
【図5】
【図7】
【図8】
【図9】
【図10】
【図13】
【図11】
【図12】
【図14】
【図15】
【図16】
【図17】
【図18】
【図20】
【図19】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B013 AA18 DD02 5B033 AA09 AA13 AA14 DD02 DD04 DD05

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】レジスタのリネーミング機能を持ち、ソフ
    トウェア・パイプライニングを行うプロセッサにおい
    て、 物理レジスタ番号と論理レジスタ番号との対応関係を示
    す制御レジスタと、 発行された命令列の中に、前記制御レジスタへの値の設
    定を指示する命令が含まれている場合に、前記命令の内
    容に応じて前記制御レジスタへの値の設定を行う制御レ
    ジスタ設定手段と、を備えることを特徴とするプロセッ
    サ。
  2. 【請求項2】前記制御レジスタは、複数の物理レジスタ
    または論理レジスタを単位とする複数のバンクに分けら
    れており、 前記制御レジスタ設定手段は、前記バンクを単位とし
    て、物理レジスタ番号と論理レジスタ番号とを対応づけ
    ることを特徴とする請求項1に記載のプロセッサ。
  3. 【請求項3】前記制御レジスタへの値の設定を指示する
    命令は、前記制御レジスタ中の任意のバンクについてそ
    れぞれ個別に物理レジスタ番号と論理レジスタ番号との
    対応関係を指定可能な命令であることを特徴とする請求
    項2に記載のプロセッサ。
  4. 【請求項4】前記制御レジスタは、第1、第2および第
    3のレジスタ部を有し、 前記制御レジスタ設定手段は、前記第1のレジスタ部の
    内容に基づいて物理レジスタ番号と論理レジスタ番号と
    の対応づけを行い、その結果を前記第2のレジスタ部に
    書き込み、その後、前記第2のレジスタ部の内容を前記
    第1および第3のレジスタ部に書き込むことを特徴とす
    る請求項1〜3のいずれかに記載のプロセッサ。
  5. 【請求項5】前記制御レジスタへの値の設定を指示する
    命令は、 前記第1のレジスタ部の内容に基づいて物理レジスタ番
    号と論理レジスタ番号との対応づけを行い、その結果を
    前記第2のレジスタ部に書き込む命令と、 前記第2のレジスタ部の内容を前記第1および第3のレ
    ジスタ部に書き込む命令と、を含むことを特徴とする請
    求項4に記載のプロセッサ。
  6. 【請求項6】前記制御レジスタは、複数の論理レジスタ
    を単位とするバンクのそれぞれに対応した管理領域を有
    し、各管理領域に物理レジスタのバンク番号を対応づけ
    ることを特徴とする請求項1〜5のいずれかに記載のプ
    ロセッサ。
  7. 【請求項7】前記制御レジスタは、複数の物理レジスタ
    を単位とするバンクのそれぞれに対応した管理領域を有
    し、各管理領域に論理レジスタのバンク番号を対応づけ
    ることを特徴とする請求項1〜5のいずれかに記載のプ
    ロセッサ。
  8. 【請求項8】複数の物理レジスタまたは論理レジスタを
    単位とする複数のバンクのそれぞれごとに、物理レジス
    タ番号と論理レジスタ番号との対応関係を格納する制御
    レジスタと、 発行された命令の中に、前記バンクを単位とした物理レ
    ジスタ番号と論理レジスタ番号との対応づけを変更する
    対応づけ変更命令が含まれている場合に、該命令で指示
    されたバンクに対応する前記制御レジスタの内容をリセ
    ットするリセット手段と、 前記対応づけ変更命令で指示される、対応づけの変更を
    行うバンクの種類に関する情報と対応づけの変更量に関
    する情報とに基づいて、リセットされた前記制御レジス
    タに新たな値を設定する制御レジスタ設定手段と、を備
    えることを特徴とするリネーミング装置。
  9. 【請求項9】前記対応づけ変更命令は、対応付けの変更
    量を示す前記バンクのローテーション量と、ローテーシ
    ョンを行う下限バンクおよび上限バンクとを指示するこ
    とを特徴とする請求項8に記載のリネーミング装置。
  10. 【請求項10】予め指定された元のバンク番号が前記対
    応づけ変更命令で指示された下限バンクおよび上限バン
    クの間に含まれるか否かを判定する第1判定手段と、 第1判定手段の判定結果に基づいて、バンクのローテー
    ション量を設定する第1選択手段と、 前記元のバンク番号に対応する新たなバンク番号を演算
    する第1バンク番号演算手段と、 演算された前記新たなバンク番号が、前記対応づけ変更
    命令で指示された下限バンクのバンク番号よりも若い番
    号であるか否かを判定する第2判定手段と、 前記第2判定手段の判定結果に基づいて、バンク番号の
    補正値を選択する第2選択手段と、 前記バンク番号演算手段で演算されたバンク番号と前記
    第2選択手段で選択された補正値とを加算して最終的な
    バンク番号を演算する第2バンク番号演算手段と、 前記第1バンク番号演算手段で演算されたバンク番号と
    前記制御レジスタに格納されたバンク番号とのいずれか
    一方を選択する第3選択手段と、を備え、 前記リセット手段は、前記対応づけ変更命令が発行され
    ると、バンク番号のローテーションを行う前に、前記元
    のバンク番号に基づいて前記制御レジスタの内容を初期
    化し、それ以外のときは前記第3選択手段で選択された
    バンク番号を前記制御レジスタに格納することを特徴と
    する請求項9に記載のリネーミング装置。
  11. 【請求項11】前記第1選択手段は、前記元のバンク番
    号が前記対応づけ変更命令で指示された下限バンクおよ
    び上限バンクの間に含まれると判定されたときに、前記
    対応づけ変更命令で指示されたローテーション量を出力
    し、それ以外のときはゼロを出力し、 前記第2選択手段は、前記第1判定手段により下限バン
    クおよび上限バンクの間に含まれると判定され、かつ前
    記第2判定手段により下限バンクのバンク番号よりも若
    い番号であると判定されたときに、前記対応づけ変更命
    令で指示された下限バンク番号と上限バンク番号とに基
    づいて補正値を選択し、 前記第3選択手段は、前記対応づけ変更命令が発行され
    た後、前記バンク番号格納手段に新たなバンク番号を格
    納するまでは前記第2バンク番号演算手段で演算された
    バンク番号を選択し、それ以外は前記制御レジスタに格
    納されているバンク番号を選択することを特徴とする請
    求項10に記載のリネーミング装置。
  12. 【請求項12】前記制御レジスタには、バンクを単位と
    して物理レジスタ番号が格納されることを特徴とする請
    求項8〜11のいずれかに記載のリネーミング装置。
  13. 【請求項13】レジスタのリネーミング機能を持ち、ソ
    フトウェア・パイプライニングを行うプロセッサにおい
    て、 請求項8〜12のいずれかに記載のリネーミング装置を
    各バンクごとに設けたことを特徴とするプロセッサ。
JP2001101216A 2000-09-28 2001-03-30 プロセッサおよびリネーミング装置 Expired - Fee Related JP3817436B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2001101216A JP3817436B2 (ja) 2000-09-28 2001-03-30 プロセッサおよびリネーミング装置
TW090121830A TWI221579B (en) 2000-09-28 2001-09-04 Renaming device and processor
KR1020010057935A KR20020025703A (ko) 2000-09-28 2001-09-19 리네이밍 장치 및 프로세서
CNB011406623A CN1149472C (zh) 2000-09-28 2001-09-20 更名装置及处理器
US09/962,197 US6938149B2 (en) 2000-09-28 2001-09-26 Renaming apparatus and processor
DE60138445T DE60138445D1 (de) 2000-09-28 2001-09-28 Gerät und Prozessor zur Umbenennung von Registern
EP01122676A EP1193594B1 (en) 2000-09-28 2001-09-28 Register renaming apparatus and processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000297242 2000-09-28
JP2000-297242 2000-09-28
JP2001101216A JP3817436B2 (ja) 2000-09-28 2001-03-30 プロセッサおよびリネーミング装置

Publications (2)

Publication Number Publication Date
JP2002175181A true JP2002175181A (ja) 2002-06-21
JP3817436B2 JP3817436B2 (ja) 2006-09-06

Family

ID=26601013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001101216A Expired - Fee Related JP3817436B2 (ja) 2000-09-28 2001-03-30 プロセッサおよびリネーミング装置

Country Status (7)

Country Link
US (1) US6938149B2 (ja)
EP (1) EP1193594B1 (ja)
JP (1) JP3817436B2 (ja)
KR (1) KR20020025703A (ja)
CN (1) CN1149472C (ja)
DE (1) DE60138445D1 (ja)
TW (1) TWI221579B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011018120A (ja) * 2009-07-07 2011-01-27 Nec Computertechno Ltd 情報処理装置及びベクトル型情報処理装置
US10824431B2 (en) 2018-06-13 2020-11-03 Fujitsu Limited Releasing rename registers for floating-point operations

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3576148B2 (ja) * 2002-04-19 2004-10-13 株式会社半導体理工学研究センター 並列プロセッサ
US7206923B2 (en) * 2003-12-12 2007-04-17 International Business Machines Corporation Method and apparatus for eliminating the need for register assignment, allocation, spilling and re-filling
US20080215804A1 (en) * 2006-09-25 2008-09-04 Davis Gordon T Structure for register renaming in a microprocessor
US20080077778A1 (en) * 2006-09-25 2008-03-27 Davis Gordon T Method and Apparatus for Register Renaming in a Microprocessor
US8386712B2 (en) * 2006-10-04 2013-02-26 International Business Machines Corporation Structure for supporting simultaneous storage of trace and standard cache lines
CN100524208C (zh) * 2006-10-26 2009-08-05 中国科学院计算技术研究所 对状态寄存器进行重命名的方法和使用该方法的处理器
US8725989B2 (en) * 2010-12-09 2014-05-13 Intel Corporation Performing function calls using single instruction multiple data (SIMD) registers
US9841974B2 (en) * 2014-04-25 2017-12-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Renaming with generation numbers
US10430197B2 (en) 2017-05-12 2019-10-01 Samsung Electronics Co., Ltd. Banking register renaming to reduce power

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781753A (en) * 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
US5481683A (en) 1992-10-30 1996-01-02 International Business Machines Corporation Super scalar computer architecture using remand and recycled general purpose register to manage out-of-order execution of instructions
JP3220881B2 (ja) * 1992-12-29 2001-10-22 株式会社日立製作所 情報処理装置
GB2286265B (en) 1994-01-26 1998-02-18 Advanced Risc Mach Ltd selectable processing registers
JPH1011352A (ja) * 1996-06-19 1998-01-16 Hitachi Ltd データ処理装置およびそのレジスタアドレス変換方法
JPH1097423A (ja) * 1996-09-20 1998-04-14 Hitachi Ltd ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ
US6003126A (en) * 1997-07-01 1999-12-14 International Business Machines Special instruction register including allocation field utilized for temporary designation of physical registers as general registers
US6009509A (en) * 1997-10-08 1999-12-28 International Business Machines Corporation Method and system for the temporary designation and utilization of a plurality of physical registers as a stack
US5974525A (en) * 1997-12-05 1999-10-26 Intel Corporation System for allowing multiple instructions to use the same logical registers by remapping them to separate physical segment registers when the first is being utilized
JP3209205B2 (ja) * 1998-04-28 2001-09-17 日本電気株式会社 プロセッサにおけるレジスタ内容の継承装置
US6094716A (en) * 1998-07-14 2000-07-25 Advanced Micro Devices, Inc. Register renaming in which moves are accomplished by swapping rename tags
US6230262B1 (en) 1998-07-31 2001-05-08 Advanced Micro Devices, Inc. Processor configured to selectively free physical registers upon retirement of instructions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011018120A (ja) * 2009-07-07 2011-01-27 Nec Computertechno Ltd 情報処理装置及びベクトル型情報処理装置
US10824431B2 (en) 2018-06-13 2020-11-03 Fujitsu Limited Releasing rename registers for floating-point operations

Also Published As

Publication number Publication date
TWI221579B (en) 2004-10-01
DE60138445D1 (de) 2009-06-04
CN1348132A (zh) 2002-05-08
JP3817436B2 (ja) 2006-09-06
EP1193594A2 (en) 2002-04-03
US6938149B2 (en) 2005-08-30
US20020042872A1 (en) 2002-04-11
EP1193594B1 (en) 2009-04-22
CN1149472C (zh) 2004-05-12
EP1193594A3 (en) 2005-10-19
KR20020025703A (ko) 2002-04-04

Similar Documents

Publication Publication Date Title
US8255665B2 (en) SIMD processor with register addressing, buffer stall and methods
JP3592230B2 (ja) データ処理装置
US9361242B2 (en) Return stack buffer having multiple address slots per stack entry
US5822575A (en) Branch prediction storage for storing branch prediction information such that a corresponding tag may be routed with the branch instruction
JP3919802B2 (ja) プロセッサ、およびプロセッサにおいて命令演算をスケジューリングするための方法
US7487338B2 (en) Data processor for modifying and executing operation of instruction code according to the indication of other instruction code
WO1995016954A1 (fr) Circuit de traitement d'instructions dans un systeme informatique
CN108319559B (zh) 用于控制矢量内存存取的数据处理装置及方法
EP3166015A1 (en) Fetch ahead branch target buffer
EP0094535B1 (en) Pipe-line data processing system
JP2002175181A (ja) プロセッサおよびリネーミング装置
JP3725547B2 (ja) 限定ラン分岐予測
US20240004663A1 (en) Processing device with vector transformation execution
US6092184A (en) Parallel processing of pipelined instructions having register dependencies
JP7048612B2 (ja) ベクトル生成命令
JP3802038B2 (ja) 情報処理装置
US6732251B2 (en) Register file circuitry
JPH0373010B2 (ja)
JPS6346856B2 (ja)
JP2763450B2 (ja) パイプライン処理データ処理装置
JP2825315B2 (ja) 情報処理装置
JP2001034474A (ja) データ処理装置及びデータ処理方法
JPH0667879A (ja) パイプライン処理計算機
JPH10187444A (ja) データ処理装置及び方法
JPH11272463A (ja) 記憶装置及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060508

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: 20060602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060612

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090616

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees