JPH09237184A - 命令実行方法および命令実行装置 - Google Patents

命令実行方法および命令実行装置

Info

Publication number
JPH09237184A
JPH09237184A JP8042725A JP4272596A JPH09237184A JP H09237184 A JPH09237184 A JP H09237184A JP 8042725 A JP8042725 A JP 8042725A JP 4272596 A JP4272596 A JP 4272596A JP H09237184 A JPH09237184 A JP H09237184A
Authority
JP
Japan
Prior art keywords
processing
stage
coprocessor
instruction
unit
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
JP8042725A
Other languages
English (en)
Other versions
JP3510729B2 (ja
Inventor
Hiroki Miura
宏喜 三浦
Yasuto Komura
康人 甲村
Kenji Matsumoto
松本  健志
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP04272596A priority Critical patent/JP3510729B2/ja
Priority to US08/806,221 priority patent/US5892965A/en
Priority to EP97301297A priority patent/EP0793168A3/en
Priority to KR1019970006345A priority patent/KR970062894A/ko
Publication of JPH09237184A publication Critical patent/JPH09237184A/ja
Application granted granted Critical
Publication of JP3510729B2 publication Critical patent/JP3510729B2/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/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
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable length pipelines, e.g. elastic pipeline
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/70Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
    • H01L21/71Manufacture of specific parts of devices defined in group H01L21/70
    • H01L21/768Applying interconnections to be used for carrying current between separate components within a device comprising conductors and dielectrics
    • H01L21/76838Applying interconnections to be used for carrying current between separate components within a device comprising conductors and dielectrics characterised by the formation and the after-treatment of the conductors
    • H01L21/76877Filling of holes, grooves or trenches, e.g. vias, with conductive material
    • H01L21/76882Reflowing or applying of pressure to better fill the contact hole

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Advance Control (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 パイプライン処理においてプログミング技術
に依存しない演算処理高速化が困難である。 【解決手段】 高速乗算等、特定演算を行う第2演算部
110をパイプライン処理の流れと逆向きに接続する。
第2演算部110は従来第1演算部106の横に併設さ
れたため、パイプライン処理の早いステージで起動され
ていた。これを後段のステージで起動することができ、
その間、演算対象データの準備等が可能となる。このた
め、データが揃うまで待つサイクルが不要となり、処理
性能が向上する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、命令をパイプラ
イン処理によって実行する方法および装置、特に、パイ
プライン処理の主経路の他に、その主経路の一部を迂回
して処理の一部を代行する副経路を有する命令実行方法
および装置に関する。この発明は、一例としてコプロセ
ッサをもつマイクロプロセッサに適用することができ
る。
【0002】
【従来の技術】RISC(Reduced Instruction Set Co
mputer)型のシングルチップ・マイクロプロセッサは、
例えば画像処理など、主に特定用途において高い処理性
能、低い消費電力および少ない実装面積を同時に実現す
るデバイスである。最近ではさらに演算性能の強化を図
るために、こうしたマイクロプロセッサの中に専用の演
算回路を設けることも多い。
【0003】日本電気(株)のV851は、そうしたマ
イクロプロセッサの1つである。NEC技報 Vol.
48 No.3/1995の42〜47ページの記載に
よれば、V851はパイプライン方式のRISCアーキ
テクチャをとり、乗算命令の高速実行のために、通常の
ALUの他にMULUと呼ばれるハードウエア乗算器を
備える。
【0004】図1はV851の内部構成を模式的に示し
た概略図である。同図は、前記文献の45ページの構成
図をもとに作成している。同図のごとくこのマイクロプ
ロセッサは、実行すべき命令を格納する命令メモリ10
0と、この命令を順次読み出す命令フェッチ部101
と、読み出された命令を解読する命令デコード部102
と、解読結果から判明する汎用レジスタ番号をもとにア
クセスされる汎用レジスタ群103と、汎用レジスタか
ら読み出された1つまたは2つのソースオペランドをバ
ス114、115を介して受け取り、前記解読結果に従
って一般的な演算(以下「一般演算」という)を行う第
1演算部106(ALUに相当)と、その演算の結果に
従ってデータメモリ107から処理に必要なデータを読
み出し、またはデータメモリ107に対して処理結果デ
ータを書き込むメモリアクセス部108と、データメモ
リ107から読み出されたデータ等をバス116を介し
て受け取り、汎用レジスタ群103の所定のレジスタに
書き戻すレジスタ書込部109を有する。
【0005】以上がパイプライン処理の主経路を形成す
る。なお同図中、メモリアクセス部108から第1演算
部106の入力側に設けられたバス112、および第1
演算部106の出力側から入力側に設けられたバス11
3は後述のデータフォワーディング手法を実現するため
のものである。
【0006】一方、この主経路を迂回する経路(以下
「副経路」という)には、第2演算部110(MULU
に相当)が設けられている。第2演算部110は、乗算
を専門に行い、乗算命令が解読されたとき、第1演算部
106の処理を代行する。主経路、副経路とも、パイプ
ライン処理は同図の上から下へ一貫して流れる。
【0007】パイプライン処理を構成する処理単位は、
ステージと呼ばれる。各ステージはマイクロプロセッサ
の動作クロックを基準とする一定期間で行われる。V8
51をはじめ、多くのマイクロプロセッサが命令の実行
を以下の5種類のステージに分割して行う。ただし、以
下のステージ名称は便宜的に付したものである。
【0008】1.Iステージ 命令をフェッチ(読出)するステージで、図1の命令フ
ェッチ部101による。
【0009】2.Rステージ 命令解読ステージで、命令デコード部102による。こ
のステージでは、汎用レジスタの読出も同時に行われ
る。
【0010】3.Aステージ 第1演算部106(ALU)による一般演算実行ステー
ジで、第1演算部106による。命令が乗算の場合は、
第2演算部110(MULU)がこれを代行する。この
ステージでは、つぎのステージで必要となるメモリアド
レスの生成も行う。
【0011】4.Mステージ メモリアクセス部108により、実際にデータメモリ1
07がアクセスされる。
【0012】5.Wステージ 読み出されたデータがレジスタ書込部109によって汎
用レジスタに書き込まれる。
【0013】V851の場合、これらの各ステージは、
通常は1サイクル(1クロック)で完了する。ただし、
MULUによる乗算は2サイクルが必要とされる。
【0014】図2は図1の構成をとる一般的なマイクロ
プロセッサによるパイプライン処理の様子を示す図であ
る。ここに挙げた4つの命令LD、LD、MUL、ST
は、データメモリ107中の2つのデータの積を再度メ
モリに書き戻すものである。同図では、STのあとにつ
ぎの処理の任意の命令XXがあるとして描いている。同
図では、まず最初の命令、LD R1,(R8)に
より、データメモリ107のR8番地のデータが汎用レ
ジスタ群103中のレジスタR1に転送される。同様
に、つづく命令でR9番地のデータがレジスタR2に転
送される。第3のMUL命令により、レジスタR1とR
2のデータが掛け合わされ、この結果がR1に格納され
る。最後に、ST命令により、このR1のデータがデー
タメモリ107のR10番地に格納される。
【0015】同図では、各命令が5つのステージを経て
実行される様子が描かれている。まず、最初の命令のM
ステージでメモリのR8番地からデータが読み出され、
WステージでこれがレジスタR1に書き込まれる。つづ
く命令でも同様に、MステージでメモリのR9番地から
データが読み出され、WステージでレジスタR2に書き
込まれる。
【0016】第3の命令MULの実行はAステージで行
われる。従って、このステージの開始までにR1とR2
の値が確定していなければならない。レジスタR2の値
が確定するのは、第2の命令(LD命令)のWステージ
であるが、ここで図1のバス112を利用し、この値を
Mステージ、すなわち1つ前のステージから取り出し、
これをMUL命令のAステージに矢印aのごとく転送し
ている。これがデータフォワーディング手法である。こ
の例では、MUL命令のAステージの開始を1サイクル
早める効果をもつ(なお、本発明にはバス113による
フォワーディングは関係しない)。
【0017】MULUによる乗算はMUL命令のAステ
ージの開始と同時に開始され、2サイクル後のMステー
ジの終了までに完了する。最後のST命令では、再びデ
ータフォワーディング(矢印b)が利用される。すなわ
ち、ST命令のAステージの開始側にMステージの終了
側から乗算結果データが与えられている。この後、ST
命令のMステージでメモリのR10番地に対する乗算結
果データの格納が行われる。
【0018】同図では、MUL命令のAステージが直前
のLD命令のMステージの完了後に開始されるため、
(R)で示す待ちステージが入る。この待ちステージの
ために、つづくST命令がRステージに進むことができ
ず、ST命令では(I)で示す待ちステージが入る。さ
らに、ST命令のAステージはMUL命令のMステージ
の完了を待つ必要があるため、ここで再び(R)で示す
待ちステージが入る。これはXX命令の待ちステージ
(I)を生む。ここで仮に、1回の乗算処理の期間を、
最初のLD命令のWステージの始めからXX命令のWス
テージの始めまでと定義すれば、このマイクロプロセッ
サでは、この処理に6サイクルを要することがわかる。
なお、処理期間の定義には一定の自由度があるが、XX
命令以降についても同様に処理期間を定義する場合、こ
の定義方法は一般性をもつ。XX命令が先頭となる処理
期間も、XX命令のWステージを起点に計数できるため
である。
【0019】
【発明が解決しようとする課題】メモリ中の2つのデー
タの積を再びメモリに書き戻す処理は、例えば画像処理
等信号処理全般で頻繁に行われる。RISCマイクロプ
ロセッサの主目的のひとつは、ある程度特化された用途
で最高の性能を発揮することにある。図2を巨視的に見
れば、4つの命令に6サイクルかかっている。このう
ち、乗算自体に2クロックかかることに起因する待ちス
テージが1サイクルであるから、乗算自体の速度を維持
したままでも、理論上はこの6サイクルを5サイクルに
できるはずである。
【0020】1サイクル余分に必要な理由は、MUL命
令のAステージが直前のLD命令のMステージの完了を
待たねばならない点にある。この問題を解消するため
に、従来、2つ以上の乗算を1個所にまとめて処理する
プログラミング手法がある。例えば、図2の処理に加え
て、メモリのR10番地とR11番地の積をメモリに書
き戻す処理が必要なとき、以下のように、まずLDばか
りを先にコーディングする。
【0021】 LD R1,(R8) LD R2,(R9) LD R3,(R10) LD R4,(R11) MUL R1,R2 MUL R3,R4 3番目と4番目のLD命令を実行しているうちに、最初
のMUL命令の待ちステージが不要となり、このMUL
命令を実行しているうちに、つづくMUL命令の待ちス
テージも不要となる。この結果、処理全体を高速化する
ことができる。しかしながら、この方法はプログラミン
グに依存するものであり、また、図2のように1回の乗
算を行う場合には使えない。実際の画像処理などでは、
プログラミングで改善できる個所に限りがあり、またそ
のためのプログラミングも困難であり、現実にはさした
る効果を期待することができない。
【0022】[本発明の目的]本発明はこうした課題に
鑑みてなされたものであり、その目的は、ハードウエア
構成を変更することによって待ちステージを削減する命
令実行方法および装置を提供することにある。本発明
は、プログラミングによる改善を必要としない方法およ
び装置を提供するもので、処理内容によらず、恒常的な
性能改善が可能になる。
【0023】
【課題を解決するための手段】
(1)本発明の命令実行方法は、命令をパイプライン処
理によって実行するものであり、パイプライン処理の主
経路の他に、その主経路の一部を迂回して処理の一部を
代行する副経路を設け、この副経路における処理の流れ
を主経路における処理の流れとは逆方向に設定し、主経
路から副経路への処理の委託を、副経路から主経路への
処理結果の引渡よりもパイプラインの後段で行う。
【0024】「主経路」とは、パイプライン処理の基本
的な流れに対応する各処理部の連携によって形成される
経路をいう。従来の命令実行方法では、主経路から副経
路へ分岐するとき処理の流れは同一方向であり、副経路
における処理結果が、いわば主経路の下流で合流する形
態をとる。本発明では、副経路における処理を逆方向と
し、主経路から副経路への処理の委託のほうが、副経路
から主経路への処理結果の引渡よりもパイプラインの後
段で行われる。この結果、副経路における処理の起動を
遅らせることができ、主経路のパイプライン処理をその
分だけ先に進めることができる。
【0025】(2)一方、本発明の命令実行装置は、命
令を複数のステージに分割してパイプライン処理により
実行する装置であり、それぞれが前記ステージの処理を
担当してパイプライン処理の主経路を形成する各ステー
ジ処理手段と、その主経路の一部を迂回する副経路上に
設けられ、主経路における処理の流れとは逆方向の流れ
で所定の演算を行う演算手段とを含む。
【0026】ここで「演算」は、数値演算に限らず、各
種制御機能の単位処理全般を指す。「演算手段」の一例
に、固有の演算を実行するコプロセッサがある。主経路
上に一般演算手段があってもよいが、それはここでいう
「演算手段」と別のものである。
【0027】この態様によれば、主経路上の各ステージ
処理手段が命令をパイプライン処理によって実行する。
その一方、前記演算手段が、副経路上で主経路における
処理の流れとは逆方向の流れで所定の演算を行う。
【0028】(3)本発明の命令実行装置の別の態様
は、命令をパイプライン処理によって実行するプロセッ
サと、そのプロセッサによる処理のうち所定の演算を代
行するコプロセッサを含み、前記コプロセッサによる処
理の流れが前記プロセッサによる処理の流れと逆方向に
なるよう前記コプロセッサが前記プロセッサに逆方向接
続される。
【0029】この態様によれば、プロセッサからコプロ
セッサへの演算の委託、すなわち演算内容と演算の対象
となるデータの受渡が、コプロセッサで行われた演算結
果の取出よりも、パイプライン上、後段で行われる。こ
の結果、コプロセッサにおける処理の起動を遅らせるこ
とができ、プロセッサによるパイプライン処理をその分
だけ先に進めることができる。また、コプロセッサの演
算結果は、その結果を必要とする個所に直接引き渡すこ
とができる。
【0030】(4)このとき、本発明のある態様では、
前記プロセッサによるパイプライン処理はそのステージ
の1つとしてメモリアクセスステージを含み、前記プロ
セッサはそのメモリアクセスステージを主導的に制御す
るメモリアクセス手段を含み、前記コプロセッサのデー
タ入力部が前記メモリアクセス手段のデータ出力部に、
前記コプロセッサのデータ出力部が前記メモリアクセス
手段のデータ入力部に、それぞれ接続される。
【0031】この態様によれば、メモリアクセス手段に
よるメモリアクセスの結果を受けてコプロセッサの演算
を起動することができる。一方、コプロセッサによる演
算の結果は、そのままメモリアクセス手段で利用するこ
とができる。
【0032】(5)本発明の別の態様では、前記プロセ
ッサは、命令のパイプライン処理をステージ別に担当す
る命令フェッチ手段、命令デコード手段、一般演算手
段、メモリアクセス手段、レジスタ書込手段を有し、前
記コプロセッサのデータ入力部が前記メモリアクセス手
段のデータ出力部に、前記コプロセッサのデータ出力部
が前記メモリアクセス手段のデータ入力部に、それぞれ
専用のバスで接続される。
【0033】この態様によれば、メモリアクセス手段に
よるメモリアクセスの結果を受けてコプロセッサの演算
を起動することができるため、プロセッサは、一般演算
手段による処理ステージ(図2ではAステージ)でコプ
ロセッサを起動する必要がない。従ってプロセッサは、
コプロセッサを次の処理ステージ(図2ではMステー
ジ)で起動することができる。また、コプロセッサとメ
モリアクセス手段を専用のバスで接続したため、この間
のデータ転送が他の処理状況によって妨害されることは
なく、かつ、他の処理状況を妨害することもない。
【0034】(6)(5)のとき本発明のある態様で
は、前記コプロセッサに対するデータ入力は、前記メモ
リアクセス手段による処理ステージの完了後に行われ、
前記コプロセッサからのデータ取出は、前記一般演算手
段による処理ステージの完了後に行われる。
【0035】(5)の場合、コプロセッサのデータ入力
部とメモリアクセス手段のデータ出力部がパイプライン
処理上同一個所に存在するため、コプロセッサに対する
データの入力は、メモリアクセスステージの完了以降、
開始される。同様に、コプロセッサのデータ出力部とメ
モリアクセス手段のデータ入力部がパイプライン処理上
同一個所に存在するため、コプロセッサからのデータの
取出は、メモリアクセスステージの開始と対応する時期
に開始される。これは、その直前の処理ステージであ
る、前記一般演算手段による処理ステージの完了後に開
始されるといってもよい。
【0036】(7)(4)〜(6)のとき、本発明のあ
る態様では、前記コプロセッサによる前記所定の演算
は、メモリアクセス手段による処理ステージ中に起動さ
れる。
【0037】
【発明の実施の形態】ここで本発明の命令実行装置の好
適な実施形態を適宜図面を参照しながら説明する。この
装置の説明により、本発明に係る命令実行方法も明らか
となる。本実施形態では、命令実行装置としてパイプラ
イン方式のマイクロプロセッサを考える。V851のM
ULUに当たる部分はコプロセッサによって実現する。
【0038】[構成]図3は実施形態に係る命令実行装
置の内部構成を、処理ステージとの関係を中心に模式的
に示した図である。同図において図1と同一または同等
の構成には同一の符号を与え、適宜説明を省略する。
【0039】図3において、命令フェッチ部100から
レジスタ書込部109に至る縦の経路はプロセッサ側の
構成とする。これが主経路である。一方、コプロセッサ
である第2演算部110は、主経路の一部を迂回する副
経路上、WステージからAステージに向かう方向に接続
される。本装置では、ALUである第1演算部106の
下に、バス117を介して、メモリアクセス部108の
みならず第2演算部110が接続されている。この構成
と図1の構成の本質的な相違は、第2演算部110の接
続方向にある。すなわち第2演算部110はパイプライ
ン処理の流れと逆方向に接続され、第2演算部110の
データ入力側がメモリアクセス部108のデータ出力
側、第2演算部110のデータ出力側がメモリアクセス
部108のデータ入力側にそれぞれ接続されている。こ
の接続は専用バスで行う。
【0040】この構成により、本装置ではAステージの
終了後に第2演算部110の演算を起動することができ
る。図1の構成では、演算の起動がAステージの開始と
同時でなければならなかったため、両構成は著しい対照
をなす。
【0041】図4は本実施形態に係る装置の詳細な構成
図である。同図で、コプロセッサ50が第2演算部11
0に相当する。
【0042】プロセッサ40内にはまず、命令メモリ1
00から命令メモリバス2を介して命令をフェッチする
命令フェッチ部101、命令フェッチ部101から命令
語を受け取り、これを解読する命令デコード部102が
ある。これらがIステージと、Rステージの前半に対応
する。
【0043】命令デコード部102では、命令の種類に
従って命令語のデコードを行ない、処理すべき演算の機
能を示す機能コード6a、命令語内に埋め込まれた定数
オペランドである即値オペランド6b、2個のソースレ
ジスタ番号6c、6d、1個のディスティネーションレ
ジスタ番号6eなどを抽出する。
【0044】ソースレジスタ番号6c、6dは汎用レジ
スタ群103に送られる。本実施形態では、汎用レジス
タ群103の各レジスタがR0、R1…と呼ばれるもの
とする。汎用レジスタ群103からは、ソースレジスタ
番号6c、6dに対応するレジスタの内容が取り出さ
れ、これらがソースオペランド8a、8bとして第1演
算部106に送られる。このためのバスが図3のバス1
14、115に相当する。これがRステージの後半であ
る。第1演算部106はAステージの処理を担当する。
【0045】一方、機能コード6aはパイプライン制御
部9に送られる。パイプライン制御部9は、同図に示す
ように、装置全体の状態を監視し、ステージ進行を制御
し、個々の命令の発行時期を決定する。ここで命令の発
行とは、処理をRステージからAステージへ進めること
をいい、一般には、ハードウエア資源の状態を変えうる
ステージへの進行をいう。
【0046】命令が発行可能な時期にきたとき、機能コ
ード6aは第1演算部106に送られる。第1演算部1
06では、ソースオペランド8a、8b、および即値オ
ペランド6bのうち必要な値を用い、パイプライン制御
部9から与えられる機能コード10aに従って演算を行
なう。第1演算部106で実行される演算の意味は命令
の種類毎に異なる。
【0047】例えば、命令が演算命令のときは、命令に
示された演算が第1演算部106内で実行される。演算
結果は演算結果保持部13に蓄えられる。演算結果16
はレジスタ書込部109を介して汎用レジスタ群103
に送られる。このとき書込先のレジスタ番号として、命
令のディスティネーションレジスタ番号6eがパイプラ
イン制御部9によって適切なタイミングで送り出され
る。レジスタ書込部109は、パイプライン制御部9か
ら得られたディスティネーションレジスタ番号10bを
用いて汎用レジスタへの書込操作を行なう。これがWス
テージに当たる。この場合、MステージはNOP、すな
わち何もしない。
【0048】一方、実行中の命令がメモリアクセス命令
であれば、アクセスすべきメモリアドレスの計算が第1
演算部106で実行される。得られたメモリアドレス1
2はメモリアクセス部108に渡される。このためのバ
スは、図3のバス117の一部に相当する。メモリアク
セス部108は、データメモリバス19を介してデータ
メモリ18のリードライトを行う。これがMステージに
相当する。メモリへの書込命令の実行は、メモリアクセ
ス部108における実行によって完了する。この場合は
WステージがNOPである。メモリからの読出命令の実
行は、リードされたデータ17がレジスタ書込部109
を介して汎用レジスタに書き込まれたとき、すなわちW
ステージの完了ともに完了する。
【0049】プロセッサ40はさらに、外部割込信号2
8を入力する割込信号入力部27を持つ。割込信号が入
力されたとき、これがパイプライン制御部9に通知され
る。
【0050】一方、コプロセッサ50は、以下のバスに
よってプロセッサ40とデータのやりとりを行う。すな
わち、プロセッサ40における演算結果16とデータメ
モリ107からリードされたデータ17を含むコプロセ
ッサ入力バス20(図3のバス116の一部に相当)
と、コプロセッサ50に対するデータ等の入力を制御す
る信号を含むコプロセッサ入力制御バス21と、コプロ
セッサ50からのデータの出力を制御する信号を含むコ
プロセッサ出力制御バス23と、コプロセッサから出力
された演算結果データおよび状態信号を含むコプロセッ
サ出力バス24(図3のバス117の一部に相当)であ
る。
【0051】コプロセッサ入力バス20とコプロセッサ
入力制御バス21は、コプロセッサ入力制御部30で参
照される。コプロセッサ入力制御部30は、コプロセッ
サ50のいずれのレジスタにデータを入力すべきかを決
定するとともに、コプロセッサ50に対してデータが入
力過多になることを回避する。
【0052】コプロセッサ演算部31は、コプロセッサ
入力制御部30がデータの入力を受け付けたとき、実際
に演算を行う。演算結果はコプロセッサ出力制御部32
に与えられ、出力レジスタに格納される。コプロセッサ
出力制御部32は、コプロセッサ出力制御バス23を参
照し、データを出力すべきレジスタの決定と、そのレジ
スタからのデータ出力を制御する。出力されたデータは
コプロセッサ出力バス24を介してプロセッサ40に与
えられる。コプロセッサ出力制御部32はさらに、演算
実行の状況と、コプロセッサ入力制御部30において判
断されたデータ入力過多の状態をコプロセッサ出力バス
24に出力し、プロセッサ40のパイプライン制御部9
に対して、ステージの進行停止等に必要な情報を提供す
る。
【0053】図5は、コプロセッサ50の内部構成を示
す図である。同図のうち、実際に演算を行うのは、コプ
ロセッサ演算部31のなかの固有演算部213であり、
演算の実行は演算制御部209で制御される。固有演算
部213では、通常の乗算、除算の他、例えば浮動小数
点演算など、コプロセッサに固有の演算(主に2項演
算)を行う。固有演算部213に演算対象データを供給
するのは、固有演算部213に併設された2つの入力レ
ジスタSR0、1であり、演算結果を格納するのはコプ
ロセッサ出力制御部32のなかの出力レジスタSR2で
ある。SR2は演算結果をコプロセッサ出力バス24に
出力する。ここでは出力レジスタが1個のものとして描
いているが、これは複数でもよく、その場合は出力レジ
スタデコーダ214が、データをバスに出力すべきレジ
スタを選択する。
【0054】本実施形態では、入力レジスタSR0、1
の前段に、それぞれFIFOa202、FIFOb20
3が設けられている。これらは、直接コプロセッサ入力
バス20に接続されており、プロセッサ40から与えら
れたデータを格納することができる。プロセッサ40が
コプロセッサに演算の実行を指示したとき、入力レジス
タデコーダ210によって、SR0、1のいずれの入力
レジスタに対するデータ入力を行うべきであるかが判定
される。この判定は、入力レジスタデコーダ210がコ
プロセッサ入力制御バス21に乗せられたコプロセッサ
レジスタ番号を見て行う。データを入力すべきFIFO
に対しては、入力レジスタデコーダ210から書込指示
信号WaまたはWbが出力され、そのときコプロセッサ
入力バス20に乗せられていたデータが、FIFOa2
02またはFIFOb203に書き込まれる。固有演算
部213は、実行中の演算が終了するたびに、FIFO
a202、b203からデータを取り出し、新たな2項
演算を開始する。
【0055】コプロセッサ50内において、FIFO、
入力レジスタSR0、1、固有演算部、出力レジスタS
R2の経路は全体としてFIFO構造となり、パイプラ
インを構成する。このパイプラインにおける処理は、プ
ロセッサ40側のパイプラインの各ステージと一定の同
期関係を持つ。
【0056】図5において、計数回路a204、b20
5は、それぞれ前記書込指示信号Wa、Wbが出力され
たとき計数値をインクリメントするカウンタである。こ
れらの計数回路は、出力レジスタデコーダ214がSR
2に対してデータの出力を指示したとき、演算制御部2
09を介してこの通知を受け、計数値をデクリメントす
る。従って、これらの計数回路はそれぞれ、FIFOa
202、b203に格納されているデータの個数を示す
ことになり、図示しない任意の回路から任意の目的で参
照される。
【0057】一方、計数回路ra206、rb207
は、それぞれ予約レジスタデコーダ211からの書込指
示信号Wra、Wrbに従って計数値をインクリメント
し、前記計数回路a204、b205と同様の条件で計
数値をデクリメントするカウンタである。本実施形態で
は、コプロセッサ50に対するデータの書込が命令の最
後ステージWで行われる。従って、後続の命令のAステ
ージで、まだFIFOa202、b203に空きがあっ
ても、これが前の命令のWステージで埋まる可能性があ
る。そのために、Aステージで正しく空きを把握できる
よう、予約動作が必要かつ有用となる。
【0058】書込指示信号Wra、Wrbは、プロセッ
サ40の命令デコード部102で解読された命令が、そ
れぞれSR0、1に対する書込を予告する場合、予約レ
ジスタデコーダ211から出力される。従って、計数回
路ra206、rb207におけるインクリメントの回
数は、結果的に計数回路a204、b205のそれらと
同じになるが、インクリメントのタイミングが早い。計
数回路ra206、rb207の計数値は、実際にFI
FOa202、b203に格納されているデータの個数
と、近い将来格納されるデータの個数の和を示す。な
お、固有演算部213が必ず2項演算を行う場合、計数
回路a204、b205はいずれか一方で足りるが、演
算結果に対してSR0の値を繰り返し足していくような
演算を実現する場合、両計数回路を別々に持つ必要があ
る。
【0059】コプロセッサ出力制御部32はさらに、パ
イプライン処理情報生成部212を持つ。パイプライン
処理情報生成部212は、コプロセッサレディ信号(以
下単に「レディ信号」)を出力する。レディ信号220
は、プロセッサ40がコプロセッサ50との間で処理の
ハンドシェイクを行うための信号であり、次の条件で出
力される。
【0060】1.SR0へのデータ転送の際 予約も考慮し、計数回路ra206の値がFIFOa2
02に格納できるデータの個数よりも小さいとき 2.SR1へのデータ転送の際 同様に、計数回路rb207の値がFIFOb203に
格納できるデータの個数よりも小さいとき 3.SR2からのデータ読出の際 出力レジスタに演算結果が存在するときレディ信号が出
力されたとき、プロセッサ40は上記1〜3のうち、現
在発行が待たされている命令を発行する。
【0061】[動作]以上の構成による動作をコプロセ
ッサ50関連動作を中心に説明する。
【0062】図6は、本装置によるパイプライン処理の
様子を示す図である。ここでも、図2同様4つの命令に
よって乗算を行う。乗算にかかる時間は図2同様、2サ
イクルとする。図2との相違は、本装置が乗算をコプロ
セッサ50で行うため、汎用レジスタではなくSR0、
1を作業用レジスタとする点である。
【0063】同図の2つのLD命令は、外見上図2と同
様に進行する。しかし本装置の場合、Mステージでメモ
リから読み出されたデータがそのままコプロセッサ50
の入力として与えられるため、SR0、1に対する演算
対象データの書込は、Mステージの終了と同時(図6の
時刻t0)に行うことができる。
【0064】つづいて、MUL命令が実行される。本装
置では、コプロセッサ50における乗算の起動をMステ
ージの開始と同時に行うことができるため、MUL命令
のAステージは演算対象データが揃う時刻t0を待つ必
要がない。このため、I〜Aステージが待ちステージな
しに進行する。Mステージの開始とともに乗算が起動さ
れ、この演算は2ステージ経過前、すなわちWステージ
完了前に完了する。ここで注意すべきは、本装置では、
パイプライン処理のステージという観点からすれば起動
が遅くなるが、絶対時間でいえば、起動のタイミングは
遅くなっていないことである。図2、図6いずれの場合
も、演算の開始は最初のLD命令のIステージから数え
て6サイクル目であり、演算の開始時刻は維持されてい
る。
【0065】つづくST命令については、以下の手順で
考える。すなわち、メモリのR10番地にSR2から読
み出されたデータを格納するのは、当該命令のMステー
ジである。このMステージは、乗算が終わるMUL命令
のWステージの完了を待つ必要があり、同図ではそのW
ステージの次のサイクル(時刻t1を起点)で実行され
ている。このMステージの位置から逆に、Aステージの
位置が決まる。ST命令については、Mステージ以前に
必ず待ちステージを1つ入れる必要があるため(乗算に
2サイクルを要するため)、ここではRステージで待っ
ている。R、Aのいずれで待つかは、設計に依存する。
いずれの場合であっても、つづくXX命令に待ちステー
ジが1つ入り、合計5サイクルで乗算処理が完了する。
【0066】以上が本実施形態の概要である。本実施形
態の装置によれば、従来よりも少ないサイクル数でコプ
ロセッサ演算を行うことができる。この効果は、プログ
ラミング技術に依存しない。
【0067】なお、本実施形態については、以下の改良
または変形が可能である。
【0068】(1)コプロセッサ50による演算は、単
項演算、積和演算など一般的な演算に限られない。例え
ばコプロセッサ50に、周辺機器との通信の制御、マル
チプロセッサ装置におけるプロセッサ間通信制御など、
数値演算以外の演算を担当させてもよい。
【0069】(2)ここでは5段のパイプライン構成を
説明したが、これは任意の段数、任意の処理ステージか
らなるパイプラインでよい。
【0070】(3)本実施形態では、RISCプロセッ
サを例に挙げたが、これは当然、CISCまたはそれ以
外のアーキテクチャであってもよい。
【0071】(4)本実施形態では、MUL命令でコプ
ロセッサ50の演算を明示的に起動したが、これは暗黙
的に起動することも可能である。すなわち、コプロセッ
サ50は汎用レジスタ群103とは別に、独自の入力レ
ジスタSR0、1を有するため、これら2つのレジスタ
にデータが揃った時点で、自動的に演算を開始してもよ
い。図7は、MUL命令なしに図6同様の演算を行う様
子を示す図である。同図でも、乗算自体は時刻t0〜t
1で行われており、t1からST命令のMステージが開
始される点が図6と同じである。この条件から逆に、S
T命令に2つの待ちステージが入り、結果的に図6同様
5サイクルで1回の演算処理が完了する。
【0072】
【発明の効果】本発明の命令実行方法では、副経路にお
ける処理を逆方向とする。このため、副経路における処
理の起動を遅らせることができ、主経路のパイプライン
処理をその分だけ先に進めることができる。この結果、
主経路のパイプライン処理における待ち状態が減り、処
理効率が改善される。
【0073】一方、本発明の命令実行装置は、演算手段
が主経路における処理の流れとは逆方向の流れで所定の
演算を行うため、上記同様の効果が得られる。
【0074】本発明の命令実行装置がプロセッサとコプ
ロセッサを含む場合、プロセッサからコプロセッサへの
演算の委託が、コプロセッサで行われた演算結果の取出
よりも、パイプライン上後段で行われる。このため、コ
プロセッサにおける処理の起動を遅らせることができ、
プロセッサによるパイプライン処理をその分だけ先に進
めることができる。このため、処理性能が向上する。
【0075】コプロセッサのデータ入力部がメモリアク
セス手段のデータ出力部に、前記コプロセッサのデータ
出力部が前記メモリアクセス手段のデータ入力部に、そ
れぞれ接続される場合は、メモリアクセスの結果を受け
てコプロセッサの演算を起動することができる。このた
め、コプロセッサの起動をメモリアクセス以降まで遅ら
せることができ、プロセッサ側のパイプライン処理を進
めることができる。この効果は上述のとおりである。
【0076】前記プロセッサは、命令フェッチ手段、命
令デコード手段、一般演算手段、メモリアクセス手段、
レジスタ書込手段を有する場合は、プロセッサは、一般
演算手段による処理ステージでコプロセッサを起動する
必要がない。このため、プロセッサはコプロセッサを次
のメモリアクセスステージで起動することができる。こ
の効果は上述のとおりである。
【図面の簡単な説明】
【図1】 V851の内部構成を模式的に示した概略図
である。
【図2】 図1の構成をとる一般的なマイクロプロセッ
サによるパイプライン処理の様子を示す図である。
【図3】 実施形態に係る命令実行装置の内部構成を、
処理ステージとの関係を中心に模式的に示した図であ
る。
【図4】 実施形態に係る装置の詳細な構成図である。
【図5】 実施形態のコプロセッサの内部構成を示す図
である。
【図6】 実施形態に係る装置によるパイプライン処理
の様子を示す図である。
【図7】 MUL命令なしに図6同様の演算を行う様子
を示す図である。
【符号の説明】
2 命令メモリバス、9 パイプライン制御部、、13
演算結果保持無部、18 データメモリバス、、20
コプロセッサ入力バス、21 コプロセッサ入力制御
バス、23 コプロセッサ出力制御バス、24 コプロ
セッサ出力バス、27 割込信号入力部、30 コプロ
セッサ入力制御部、31 コプロセッサ演算部、32
コプロセッサ出力制御部、40 プロセッサ、50 コ
プロセッサ、100 命令メモリ、101 命令フェッ
チ部、102 命令デコード部、103 汎用レジスタ
群、106 第1演算部、107 データメモリ、10
8メモリアクセス部、109 レジスタ書込部、202
FIFOa、203FIFOb、204 計数回路
a、205 計数回路b、206 計数回路ra、20
7 計数回路rb、209 演算制御部、210 入力
レジスタデコーダ、211 予約レジスタデコーダ、2
12 パイプライン処理情報生成部、213 固有演算
部、214 出力レジスタデコーダ。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 命令をパイプライン処理によって実行す
    る方法において、 パイプライン処理の主経路の他に、その主経路の一部を
    迂回して処理の一部を代行する副経路を設け、 この副経路における処理の流れを主経路における処理の
    流れとは逆方向に設定し、 主経路から副経路への処理の委託を、副経路から主経路
    への処理結果の引渡よりもパイプラインの後段で行うこ
    とを特徴とする命令実行方法。
  2. 【請求項2】 命令を複数のステージに分割してパイプ
    ライン処理により実行する装置において、 それぞれが前記ステージの処理を担当してパイプライン
    処理の主経路を形成する各ステージ処理手段と、 その主経路の一部を迂回する副経路上に設けられ、主経
    路における処理の流れとは逆方向の流れで所定の演算を
    行う演算手段と、 を含むことを特徴とする命令実行装置。
  3. 【請求項3】 命令をパイプライン処理によって実行す
    るプロセッサと、そのプロセッサによる処理のうち所定
    の演算を代行するコプロセッサを含む装置において、 前記コプロセッサによる処理の流れが前記プロセッサに
    よる処理の流れと逆方向になるよう前記コプロセッサを
    前記プロセッサに逆方向接続したことを特徴とする命令
    実行装置。
  4. 【請求項4】 請求項3に記載の命令実行装置におい
    て、 前記プロセッサによるパイプライン処理はそのステージ
    の1つとしてメモリアクセスステージを含み、 前記プロセッサはそのメモリアクセスステージを主導的
    に制御するメモリアクセス手段を含み、 前記コプロセッサのデータ入力部を前記メモリアクセス
    手段のデータ出力部に、前記コプロセッサのデータ出力
    部を前記メモリアクセス手段のデータ入力部に、それぞ
    れ接続することを特徴とする命令実行装置。
  5. 【請求項5】 請求項3に記載の命令実行装置におい
    て、 前記プロセッサは、命令のパイプライン処理をステージ
    別に担当する命令フェッチ手段、命令デコード手段、一
    般演算手段、メモリアクセス手段、レジスタ書込手段を
    有し、 前記コプロセッサのデータ入力部を前記メモリアクセス
    手段のデータ出力部に、前記コプロセッサのデータ出力
    部を前記メモリアクセス手段のデータ入力部に、それぞ
    れ専用のバスで接続することを特徴とする命令実行装
    置。
  6. 【請求項6】 請求項5に記載の命令実行装置におい
    て、 前記コプロセッサに対するデータ入力は、前記メモリア
    クセス手段による処理ステージの完了後に行われ、 前記コプロセッサからのデータ取出は、前記一般演算手
    段による処理ステージの完了後に行われることを特徴と
    する命令実行装置。
  7. 【請求項7】 請求項4〜6のいずれかに記載の命令実
    行装置において、 前記コプロセッサによる前記所定の演算は、メモリアク
    セス手段による処理ステージ中に起動されることを特徴
    とする命令実行装置。
JP04272596A 1996-02-29 1996-02-29 命令実行方法および命令実行装置 Expired - Fee Related JP3510729B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP04272596A JP3510729B2 (ja) 1996-02-29 1996-02-29 命令実行方法および命令実行装置
US08/806,221 US5892965A (en) 1996-02-29 1997-02-25 Pipeline processing method and device for instruction execution
EP97301297A EP0793168A3 (en) 1996-02-29 1997-02-27 Pipeline processing method and device for instruction execution
KR1019970006345A KR970062894A (ko) 1996-02-29 1997-02-27 명령 실행 방법 및 명령 실행 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04272596A JP3510729B2 (ja) 1996-02-29 1996-02-29 命令実行方法および命令実行装置

Publications (2)

Publication Number Publication Date
JPH09237184A true JPH09237184A (ja) 1997-09-09
JP3510729B2 JP3510729B2 (ja) 2004-03-29

Family

ID=12644048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04272596A Expired - Fee Related JP3510729B2 (ja) 1996-02-29 1996-02-29 命令実行方法および命令実行装置

Country Status (4)

Country Link
US (1) US5892965A (ja)
EP (1) EP0793168A3 (ja)
JP (1) JP3510729B2 (ja)
KR (1) KR970062894A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243066A (ja) * 2000-02-29 2001-09-07 Fujitsu Ltd パイプライン処理方法並びにその方法を利用するパイプライン処理装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165840A (ja) * 1997-08-11 1999-03-09 Sony Corp 演算処理装置およびその方法
US5864703A (en) * 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US5991837A (en) * 1997-12-02 1999-11-23 Micron Electronics, Inc. Reverse oriented processor configuration
US20010049781A1 (en) * 2000-02-29 2001-12-06 Hideo Miyake Computer with high-speed context switching
US6516106B2 (en) * 2001-02-09 2003-02-04 Nortel Networks Limited Subtracting analog noise from an optical communication channel using stable, non-absorbing optical hard limiters
US6944746B2 (en) 2002-04-01 2005-09-13 Broadcom Corporation RISC processor supporting one or more uninterruptible co-processors
EP1365319B1 (en) * 2002-04-01 2017-07-05 QUALCOMM Incorporated Risc processor supporting one or more uninterruptible co-processors
US8074051B2 (en) 2004-04-07 2011-12-06 Aspen Acquisition Corporation Multithreaded processor with multiple concurrent pipelines per thread
US7395410B2 (en) * 2004-07-06 2008-07-01 Matsushita Electric Industrial Co., Ltd. Processor system with an improved instruction decode control unit that controls data transfer between processor and coprocessor
US7971036B2 (en) * 2006-04-26 2011-06-28 Altera Corp. Methods and apparatus for attaching application specific functions within an array processor
JP7396278B2 (ja) * 2018-07-24 2023-12-12 ヤマハ株式会社 楽器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5187800A (en) * 1985-01-04 1993-02-16 Sun Microsystems, Inc. Asynchronous pipelined data processing system
US4991080A (en) * 1986-03-13 1991-02-05 International Business Machines Corporation Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions
IL92605A0 (en) * 1988-12-19 1990-08-31 Bull Hn Information Syst Production line method and apparatus for high performance instruction execution
US5093908A (en) * 1989-04-17 1992-03-03 International Business Machines Corporation Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor
JPH03172932A (ja) * 1989-11-30 1991-07-26 Fujitsu Ltd データ処理装置
JPH0683578A (ja) * 1992-03-13 1994-03-25 Internatl Business Mach Corp <Ibm> 処理システム、及びデータスループット制御方法
DE69430352T2 (de) * 1993-10-21 2003-01-30 Sun Microsystems Inc Gegenflusspipeline
DE69415126T2 (de) * 1993-10-21 1999-07-08 Sun Microsystems Inc Gegenflusspipelineprozessor
JPH07219774A (ja) * 1994-02-07 1995-08-18 Fujitsu Ltd データ処理装置および例外処理方法
US5704054A (en) * 1995-05-09 1997-12-30 Yale University Counterflow pipeline processor architecture for semi-custom application specific IC's

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243066A (ja) * 2000-02-29 2001-09-07 Fujitsu Ltd パイプライン処理方法並びにその方法を利用するパイプライン処理装置

Also Published As

Publication number Publication date
JP3510729B2 (ja) 2004-03-29
EP0793168A3 (en) 1999-09-15
KR970062894A (ko) 1997-09-12
US5892965A (en) 1999-04-06
EP0793168A2 (en) 1997-09-03

Similar Documents

Publication Publication Date Title
EP0996057B1 (en) Data processor with an instruction unit having a cache and a ROM
US5185872A (en) System for executing different cycle instructions by selectively bypassing scoreboard register and canceling the execution of conditionally issued instruction if needed resources are busy
JP3983857B2 (ja) ベクトルレジスタの複数バンクを用いた単一命令複数データ処理
US7007154B2 (en) Method and apparatus for interfacing a processor to a coprocessor
US6560697B2 (en) Data processor having repeat instruction processing using executed instruction number counter
US5465376A (en) Microprocessor, coprocessor and data processing system using them
US5983338A (en) Method and apparatus for interfacing a processor to a coprocessor for communicating register write information
JP3510729B2 (ja) 命令実行方法および命令実行装置
JPH03174626A (ja) データ処理装置
JP3578883B2 (ja) データ処理装置
JPH0391029A (ja) データ処理装置
EP1499956B1 (en) Method and apparatus for swapping the contents of address registers
JPH06266556A (ja) データ処理装置
JPH096614A (ja) データ処理装置
US5737562A (en) CPU pipeline having queuing stage to facilitate branch instructions
EP0573071A2 (en) A microprocessor
JPS6161416B2 (ja)
JP2668987B2 (ja) データ処理装置
JPH1091432A (ja) プログラム実行方法およびプログラム実行装置
US5898877A (en) Processor using special instruction set to enhance exception handling
JP3630904B2 (ja) 演算実行方法および演算実行装置
JP2636821B2 (ja) 並列処理装置
JPS63157235A (ja) コンピユータ・システムの制御装置
JP2927281B2 (ja) 並列処理装置
JPH07210384A (ja) 浮動小数点演算装置

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031226

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

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees