JP2001184336A - マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置 - Google Patents

マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置

Info

Publication number
JP2001184336A
JP2001184336A JP2000260459A JP2000260459A JP2001184336A JP 2001184336 A JP2001184336 A JP 2001184336A JP 2000260459 A JP2000260459 A JP 2000260459A JP 2000260459 A JP2000260459 A JP 2000260459A JP 2001184336 A JP2001184336 A JP 2001184336A
Authority
JP
Japan
Prior art keywords
address
data
matrix
value
register
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
JP2000260459A
Other languages
English (en)
Other versions
JP3819686B2 (ja
Inventor
Koro Cho
虎 郎 張
Kenu Boku
賢 宇 朴
Shinkoku Cho
振 国 趙
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2001184336A publication Critical patent/JP2001184336A/ja
Application granted granted Critical
Publication of JP3819686B2 publication Critical patent/JP3819686B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 多くのデータを効率よく処理するためにマト
リックス表現方式をデジタル信号処理装置の命令語水準
に利用可能にしたハードウェア及びマトリックス演算機
能を有するデジタル信号処理装置を提供する。 【解決手段】 デジタル信号処理装置に備えられたマト
リックス演算装置は、循環リンクリスト形態のマトリッ
クスデータを含むオペランドデータ及び演算結果データ
を貯蔵するデータ貯蔵手段と、命令語の内容に応じて一
連の第1オペランドデータのアドレス、一連の第2オペ
ランドデータのアドレス及び一連の演算結果データの貯
蔵アドレスを順次に生成するアドレス発生手段と、アド
レス発生手段により生成されたアドレスに位置したデー
タをデータ貯蔵手段から引出して前記命令語の内容に応
じて演算を行う演算手段とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデジタル信号処理装
置のように多くのデータを演算する装置や電子システム
のための演算装置に係り、特に多くのデータを処理する
ためにマトリックス形態に表現された命令語を処理する
デジタル信号処理装置の演算装置及びマトリックス演算
機能を有するデジタル信号処理装置に関する。
【0002】
【従来の技術】半導体産業の発達によって小型で、小容
量の電池でも長時間使用しうるシステムが登場した。特
に、補聴器のような付着型医療機器や個人用無線通信シ
ステムのような技術分野では消費電力とシステムのサイ
ズが重要な関心の対象となっている。
【0003】一方、情報化時代に応じて多量のデータを
処理するデジタル信号処理装置は電子産業分野で大きな
発展を成してきた。しかし、このような発展は性能の改
善という観点から接近してこれらシステムの消費電力が
急増しつつある。
【0004】一般に、デジタル信号処理装置ではバラの
データ単位に処理する。例えば、数学式1のような2×
2マトリックスを乗算すれば、一般のマイクロプロセッ
サーはこれを一々処理することになる。
【0005】
【数1】 数学式1を一般のマイクロプロセッサーで行われるプロ
グラムとして表現すれば次の通りである。
【0006】 CLR ACC MULT R5 R9 ADD ACC R5 MULT R6 R10 ADD ACC R6 MV R1 ACC CLR ACC MULT R5 R11 ADD ACC R5 MULT R6 R12 ADD ACC R6 MV R2 ACC CLR ACC MULT R7 R9 ADD ACC R5 MULT R8 R10 ADD ACC R6 MV R3 ACC CLR ACC MULT R7 R11 ADD ACC R5 MULT R8 R12 ADD ACC R6 MV R4 ACC 前記プログラムのサイズを縮めるために多くのデジタル
信号処理器では乗算と加算を1つのクロック周期に行
う"MAC"機能をさらに使用している。"MAC"機能が追加さ
れたデジタル信号処理器で行われるプログラムは概略的
に次のように示しうる。"MAC"機能が追加されることに
よって、そうでない場合よりプログラム実行時間とプロ
グラムのサイズが縮められる。
【0007】 CLR ACC MAC R5 R9 MAC R6 R10 ADD ACC temp MV R1 ACC CLR ACC MAC R5 R11 MAC R6 R12 ADD ACCt emp MV R2 ACC CLR ACC MAC R7 R9 MAC R8 R10 ADD ACC temp MV R3 ACC CLR ACC MAC R7 R11 MAC R8 R12 ADD ACC temp MV R4 ACC 前記プログラムの例を説明すれば、単にアドレスのみが
増加して"MAC"機能が周期的に反復されることが見られ
る。これを効率よく処理するために既存のデジタル信号
処理装置で反復文(RPT)と自動アドレス増加機能(例え
ば、R5++)を採用している。これら機能はマトリックス
演算のような多数の反複文が要されるプログラムに効率
よく用いられる。反復文と自動アドレス増加機能が提供
されるプログラムは次のように作成されうる。
【0008】 CLR ACC RPT2 MAC R5++ R9++ ADD ACC temp MV R1 ACC CLR ACC RPT2 MAC R5++ R11++ ADD ACC temp MV R2 ACC CLR ACC RPT2 MAC R7++ R9++ ADD ACC temp MV R3 ACC CLR ACC RPT2 MAC R7++ R11++ ADD ACC temp MV R4 ACC 前述したような改善にも拘らず、既存のデジタル信号処
理装置で行われるプログラムのサイズは相変らず大き
い。
【0009】しかし、マトリックスを1つの変数で表現
する場合には数学式1の計算を次のようなコードのみで
行える。 SETD 222 MULT X1 X2 X3 何れのアルゴリズムや機能であっても多くの命令語で表
現すれば、これによって大容量のメモリが必要となり、
結局デジタル信号処理装置のようなプロセッサーでは多
くの電力を消費することになる。これはプロセッサーで
消費される電力の大部分がメモリにおける命令語の読出
に消費されるからである。
【0010】また、命令語メモリの容量が制限されてお
り、多くの命令語で表現される機能を実行する内蔵型プ
ロセッサーを使用するシステムは、1つのチップ内に必
要な命令語を全て内蔵できない場合も発生する。このよ
うな場合、システムは外部のメモリを拡張して使用すべ
きであり、これによってさらに多くの電力が消費され
る。従って、何れかの機能を多くの命令語で表現する場
合、携帯型のような電子システムでは、再充電するまで
の製品の使用時間を短縮させ、多数のチップを用いる必
要があることから製品のサイズを大きくし、製品の値段
も上昇させる。
【0011】一方、シストリックアレー演算(Systolic
Array Operation)のようなベクトル演算を行うシステム
では多数の演算を一度に処理しうる。このようなシステ
ムはチップ内に乗算器と加算器のような演算装置を複数
個備えて一度にデータを処理する。このような方式は、
システムの性能は向上させるが、電力面とチップのサイ
ズを考慮すれば良い解決策にはならない。また、デジタ
ル信号処理アルゴリズムのうちこのようなベクトル演算
が効率よく用いられる場合は一部に過ぎない。
【0012】
【発明が解決しようとする課題】本発明は最近の電子製
品の携帯化に必須的な要素である低消費電力で長時間の
動作を保障しうる技術に関する。デジタル信号処理装置
のようなプロセッサーにおける多くの電力(50-80%)
はプログラムメモリで命令語を読出す時用いられる。メ
モリの消費電力はメモリのサイズと読出/書込数に比例
するために、省力するためには、メモリにおいてデータ
の読出数とメモリのサイズを縮小することが必要であ
る。
【0013】多くの信号処理アルゴリズムはマトリック
ス表現方式を用いて簡単に表現できるので、本発明では
データの表現方式にマトリックス表現方式を採択してプ
ログラムメモリのサイズを縮めると同時にメモリから命
令語を読出す回数を減らしうるデジタル信号処理装置に
おけるマトリックス演算装置及びマトリックス演算機能
を有するデジタル信号処理装置を提供することをその目
的とする。
【0014】
【課題を解決するための手段】前記目的を達成するため
に本発明に係るデジタル信号処理装置に備えられ、マト
リックス演算を行う装置は、循環リンクリスト形態のマ
トリックスデータを含むオペランドデータ及び演算結果
データを貯蔵するデータ貯蔵手段と、前記デジタル信号
処理装置で行われる命令語の内容に応じてマトリックス
演算に必要な一連の第1オペランドデータのアドレス、
一連の第2オペランドデータのアドレス及び一連の演算
結果データの貯蔵アドレスを順次に生成するアドレス発
生手段と、前記アドレス発生手段により生成されたアド
レスに位置したデータを前記データ貯蔵手段から引出し
て前記命令語の内容に応じて演算を行う演算手段とを含
む。
【0015】前記デジタル信号処理装置におけるマトリ
ックス演算装置で前記アドレス発生手段は、前記循環リ
ンクリスト形態のマトリックスデータのアドレスを貯蔵
し、前記命令語の内容に応じて第1マトリックスデータ
アドレス、第2マトリックスデータアドレス及び演算結
果マトリックスデータアドレスを出力するマトリックス
アドレス貯蔵手段と、前記マトリックスアドレス貯蔵手
段から第1マトリックスデータアドレスが入力され、前
記命令語に応じる一連の第1オペランドデータのアドレ
スを順次に生成するAアドレス生成器と、前記マトリッ
クスアドレス貯蔵手段から第2マトリックスデータアド
レスが入力され、前記命令語に応じる一連の第2オペラ
ンドデータのアドレスを順次に生成するBアドレス生成
器と、前記マトリックスアドレス貯蔵手段から演算結果
マトリックスデータアドレスが入力され、前記命令語に
応じる一連の演算結果データの貯蔵アドレスを順次に生
成するCアドレス生成器とを具備する。
【0016】前記他の目的を達成するために本発明に係
るマトリックス演算機能を有するデジタル信号処理装置
は、信号処理プログラムを貯蔵するプログラムメモリ
と、前記プログラムメモリでフェッチした命令語を一時
貯蔵する命令語レジスタと、前記命令語レジスタに貯蔵
された命令語を解釈して制御信号を生成する命令語デコ
ーダと、循環リンクリスト形態のマトリックスデータを
含むオペランドデータ及び演算結果データを貯蔵するデ
ータ貯蔵手段と、前記制御信号に応じてマトリックス演
算に必要な一連の第1オペランドデータのアドレス、一
連の第2オペランドデータのアドレス及び一連の演算結
果データの貯蔵アドレスを順次に生成するアドレス発生
手段と、前記アドレス発生手段により生成されたアドレ
スに位置したデータを前記データ貯蔵手段から引出して
前記制御信号に応じて演算を行う演算手段とを含む。
【0017】前記デジタル信号処理装置において、前記
命令語デコーダは、前記プログラムメモリに貯蔵された
命令語をフェッチして前記命令語レジスタに一時貯蔵す
る段階と、前記アドレス発生手段で第1オペランドデー
タのアドレス及び第2オペランドデータのアドレスを生
成する段階と、第1オペランドデータ及び第2オペラン
ドデータを前記データ貯蔵手段から引出して前記演算手
段に移す段階と、前記演算手段で演算を行い、前記アド
レス発生手段で演算結果データの貯蔵アドレスを生成す
る段階と、前記演算手段から出力された演算結果データ
を前記データ貯蔵手段に貯蔵する段階のパイプライン構
造に対応する制御信号を生成することを特徴とする。
【0018】
【発明の実施の形態】以下、添付した図面に基づき本発
明を詳しく説明する。図1は本発明が適用されたデジタ
ル信号処理装置のブロック図である。
【0019】信号処理アルゴリズムはプログラムメモリ
10に貯蔵されており、プログラムメモリ10から読出
された命令語は命令語レジスタ(IR)11に貯蔵される。
命令語レジスタ11に貯蔵された命令語は命令語デコー
ダ12により解釈されて各機能ブロックに必要な制御信
号が生成される。データメモリ13は2つの出力と1つ
の入力を有するレジスタファイル形態よりなることが望
ましい。データメモリ13から出力される2つのデータ
を指定するためのAアドレス生成器14a及びBアドレス
生成器14bとLOG2 15a、SHIFT15b、ALU15c、MU
LT15dのような演算ブロックで計算された結果を貯蔵
する所を指定するCアドレス生成器14cが備えられる。
外部との通信のためには直列インタフェース17、並列
インタフェース18、メモリインタフェース19が備え
られている。内部プロセッサーにクロックを供給するク
ロック発生器20があり、インタラプトとプロセッサー
状態を示すレジスタ21a、21b、一定の時間周期でイ
ンタラプトを発生するためのタイマー21cなどが備え
られる。
【0020】そして、マトリックスアドレス貯蔵手段2
2は多様なマトリックスのアドレスを管理、貯蔵する部
分である。デジタル信号処理アルゴリズムはマトリック
ス形式を用いるとそのアルゴリズムをさらに効率よく表
現できる場合が多い。従って、マトリックスの表現と演
算を命令語レベルに表現及び演算可能にすることによっ
て、デジタル信号処理アルゴリズムをデジタル信号処理
装置で小量のメモリで表現できる。
【0021】図2に示されたマトリックスデータの表現
方式によれば、複数個のデータに1つのベクトル変数が
設定でき、ベクトル変数を有する1つの命令語でスカラ
ー変数を有する複数個の命令語に代えることができる。
図2に示された3×3マトリックス乗算を既存のデジタ
ル信号装置の命令語で表現すれば、多数の命令語が必要
となる。
【0022】図3は循環リンクリスト(Circular Linked
List)の基本構成要素を示したものであって、"PREV"は
前のデータを指定し、"NEXT"は次のデータを指定する。
そして、中間の"DATA"に実際のデータ値が貯蔵される。
図3の構成要素を必要なデータ数だけ連結すれば、図4
に示されたように1つのリストとなる。
【0023】図4は"a"、"b"、"c"、"d"、"e"のデータ
を有する循環リンクリストを示したものである。ここ
で、POSは現在用いられているデータを示すものであっ
て、実際にはそのデータが貯蔵されているメモリのアド
レスとなる。
【0024】本発明ではこのような基本構造を有する循
環リンクリストを実際のハードウェアメモリ上に図5の
ように具現する。Cのような上位プログラム言語ではポ
インタなどを用いて循環リンクリストを具現できるが、
上位プログラム言語で具現された循環リンクリストは、
ハードウェア依存的な命令語でコンパイルされる場合
に、ハードウェア資源に好適に表現されずハードウェア
負担を加重させる。これはハードウェアの設計側面で望
ましくないため、本発明では連続されたメモリの構造を
用いてこれを具現する。
【0025】図5において"X"はリストの開始を示すメ
モリのアドレスを示し、"POS"は"X"からの相対的な距離
によって現在処理されているデータの位置を示す。従っ
て、図4の"POS"アドレス(現在のデータのアドレス)を
得るためには、図5の"X"に"POS"を足せばよい。"POS"
に現在のデータの絶対的なアドレスを記録することでな
く、"X"からの相対的な距離を記録することによって"PO
S"レジスタのサイズを縮小することができる。"MAX_PO
S"はリストに貯蔵されているデータの数を表現してい
る。従って、リストの最後のデータのアドレスは"X"に"
MAX_POS"を足せばよい。
【0026】このような"X"、"POS"、"MAX_POS"を複数
個貯蔵してマトリックス演算に用いる。このような値を
貯蔵している所は図1のマトリックスアドレス貯蔵手段
22であり、これに対する詳細な構成は図7に示され
る。
【0027】図6は演算部、レジスタファイル13及び
レジスタファイルのアドレス生成部の関係をさらに明確
に示す図面である。図6において演算部は乗算器15d
及びALU15cを含んで構成され、アドレス生成部はマト
リックスアドレス貯蔵手段22、Aアドレス生成器14
a、Bアドレス生成器14b、Cアドレス生成器14cを含
んで構成される。
【0028】Aアドレス生成器14a及びBアドレス生成
器14bは演算部に入力されるデータのアドレスを生成
する。このように生成されたアドレスに対応するデータ
がレジスタファイル13から出力されてBUSA、BUSBを通
して演算部に伝送される。演算部は命令語に対応した命
令を行った後にBUSCを通して演算された結果を送る。す
ると、レジスタファイル13でCアドレス生成器14cが
生成したアドレスに対応する位置に演算された結果が貯
蔵される。このような一連の作業がマトリックス演算時
にはマトリックスの大きさに対応する必要な数だけ繰返
して行われる。
【0029】図7はマトリックスアドレス貯蔵手段22
をさらに具体的に表現した図面である。BUSCを通して伝
えられた値はCアドレス生成器14cにより生成されたア
ドレスのレジスタに入力される。デコーダ73はCアド
レス生成器14cにより生成されたアドレスを解釈してB
USCを通して伝えられた値が貯蔵されるレジスタを決定
する。本発明の望ましい一実施例でマトリックスアドレ
ス貯蔵手段22は16個のマトリックスアドレスを支援
するので、Xレジスタ70、POSレジスタ71、MAX_POS
レジスタ72等3つのレジスタを各々16個ずつ具備す
る。Xレジスタ(70)は16ビットで構成されており、
最大16ビットのアドレスを支援し、POSレジスタ71
及びMAX_POSレジスタ72は各々8ビットで構成され、
最大256個のデータを有するリストを具現可能にす
る。また、各レジスタの値はそれぞれ選択的に読出また
は書込が実行される。
【0030】マトリックスアドレス貯蔵手段22から出
力される値は命令語レジスタIRの値によって決定され
る。各マルチプレクサ74a、74b、74cは命令語レ
ジスタIRに貯蔵された値により16個のマトリックスア
ドレスのうち1つを選択し、各アドレス生成器14a、
14b、14cは選択されたマトリックスアドレスにより
最終のアドレスを生成する。
【0031】図8はAアドレス生成器14aのブロック図
である。Aアドレス生成器14aはBUSAに出力するデータ
をレジスタファイル(データメモリ)13から選択するた
めのアドレスを生成するブロックである。命令語レジス
タ11に貯蔵された命令語がマトリックス演算のための
命令語でない場合、Aアドレス生成器14aはデータの上
位アドレスを貯蔵するBANK_Aレジスタに貯蔵された値
とIRレジスタの上位8ビット値を連結した16ビットの
アドレスを生成して出力する。これに対して、命令語レ
ジスタ11に貯蔵された命令語がマトリックス演算のた
めの命令語の場合、Aアドレス生成器14aは最初には"
X"+"POS"のアドレスを生成し、続く演算動作時には前記
アドレスに1を足した("ADDRESS"+1)アドレスを生成す
るが、その値が"X"+"MAX_POS"より大きくなると"X"ア
ドレスを選択して出力する。そして、マトリックス乗算
の場合、1本の行が反復的に選択される必要があるの
で、Aアドレス生成器14aはROWアドレスを記憶するレ
ジスタ80を具備する。そして、マトリックス演算時に
必要な入力のI、J、K値(ここで、Iは結果値の行、Jは結
果値の列、Kは乗算演算のインデックスを示す)を1つず
つ減らしながら行うことになるが、Aアドレス生成器1
4aは"J"、"K"入力のみが用いられる。
【0032】図9はBアドレス生成器14bのブロック図
であって、Bアドレス生成器14bはBUSBに出力するデー
タをレジスタファイル(データメモリ)13で選択するた
めのアドレスを生成するブロックである。Bアドレス生
成器14bはAアドレス生成器14aとほぼ同一である
が、"ROW"アドレスの生成が不要なので、このためのレ
ジスタが要らない点のみが違う。
【0033】図10はCアドレス生成器14cのブロック
図であって、Cアドレス生成器14cはBUSCに貯蔵される
データの貯蔵位置をレジスタファイル(データメモリ)1
3で選択するためのアドレスを生成するブロックであ
る。Cアドレス生成器14cではI、J、Kの全ての値が用
いられ、マトリックスの大きさを設定する"NUM_ROW
S"、"NUM_COLS"レジスタの値が用いられる。このレジ
スタの値はマトリックスの行と列とを相互変えて貯蔵す
る命令語(TRANSA)を行う時必要である。これは、アドレ
ス値の増加が行の個数(NUM_COLS)だけ増加する必要が
あるからである。このように増加する時、増加されたア
ドレス値が最大アドレス値("X"+"MAX_POS")より大きく
なると"ADDRESS"+"NUM_ROWS"-"POS"を出力することに
なる。そして、Cアドレス生成器14cは図27に示され
たパイプライン状態のうちEX状態でアドレスを発生する
ため、最終出力はAアドレス生成器14a及びBアドレス
生成器14bにより発生されるアドレスに比べて2クロ
ック周期後に発生させる(図示せず)。
【0034】図11は図1に示された本発明に係るデジ
タル信号処理装置の一実施例におけるマトリックス演算
のために提供する命令語を例示したものである。この命
令語は全ての形態のマトリックス演算と、マトリックス
と普通のデータ値との間のデータ伝達を支援する。
【0035】マトリックス演算命令語形式は、図12〜
22に例示されている。この中から"EXT"が命令語が最
先にあれば、この命令語は次の命令語と連結して1つの
命令語となるという意味を有する。即ち、LOADA、STORE
A命令語は2単語命令語となる。しかし、ISMVとSETDの
ような命令語は場合に応じて2単語命令語または1単語
命令語として処理される。
【0036】ISMV命令語は実際値(immediate data)を特
定のレジスタに貯蔵する作業を行うが、必要な実際値が
8ビットで表現できれば1単語命令語を使用し、その以
上のビット空間が必要ならば2単語命令語を使用するこ
とになる。
【0037】SETD命令語はマトリックス演算に必要な大
きさを設定することになる。マトリックス乗算の場合に
はI、J、Kの3つの値が必要なので2単語命令語で表現
する。しかし、加算にはI、J値のみが必要なので1単語
命令語で表現する。
【0038】図23に例示したマトリックス間の乗算(M
ULTA)の動作を詳しく説明する。2×2マトリックス乗
算で用いられるオペランドがが図1のデータメモリ13
に貯蔵された状態は図24に示されたようである。ま
た、図1のマトリックスアドレス貯蔵手段22に貯蔵さ
れたマトリックスデータX1、X2及びX3のアドレスは
図25に示されたようである。
【0039】図23に例示したマトリックス間の乗算の
動作状態を経時的に説明すると、図26のように表現し
うる。本発明に係るデジタル信号処理装置の一実施例は
パイプライン形式で具現され、図26に示されたマトリ
ックス間乗算の動作は9回のクロック周期の間に行われ
る。図26においてIは以前の命令語を示し、I'はMULTA
命令語の次の命令語を表示する。WEは演算結果をデータ
メモリ13に貯蔵させる制御信号を表現したものであ
る。各アドレス生成器はマトリックス演算に合わせて順
次にアドレスを生成することになる。
【0040】図27は本発明に係るデジタル信号処理装
置の一実施例のパイプライン構造を示す順序図である。
まず、プログラムメモリ10のIMEMに貯蔵された命令語
を命令語レジスタ11IRに貯蔵する(IF)(1500段
階)。そして、前記方法によってデータメモリ13の出
力アドレスを計算する(AG)(1501段階)。f(IR)及びg
(IR)は各々Aアドレス生成器14a及びBアドレス生成器
14bにより生成されたアドレスを示す。この値は、各
々"X"+"POS"により生成されたアドレス値となる。そし
て、データメモリ13で必要な演算ブロック、即ち乗算
器15dで生成されたアドレスに位置したデータを移す
(OR)(1502段階)。図27においてREGFはデータメモ
リ13を示す。以後、2つのデータを乗算し、同時にデ
ータメモリ13に貯蔵されるアドレスが計算される(EX)
(1503段階)。h(IR)はCアドレス生成器14cにより
生成されたアドレスを示す。しかし、最初の乗算演算結
果データは貯蔵されない(1504段階)。
【0041】新たにデータメモリの出力アドレスを計算
して乗算演算のためのデータを乗算器15dに移し(15
11、1512段階)、乗算器15dに移されたデータを
乗算し、1503段階でなされた乗算の結果MULT_Cを
累積値ACCに足すことになる(1513段階)。そして、
1本の行の演算が完全に終わると、データメモリ13の
入力アドレスに累積値ACCを貯蔵することになる(WB)(1
514段階)。このような演算はマトリックス演算が完
全に行われるまで反復される。
【0042】乗算の演算が完全に終わった後には、最後
に計算された乗算の結果MULT_Cを累積値ACCに足してデ
ータメモリ13に貯蔵することになる(1523、15
24段階)。このような一連の演算はパイプライン形式
で行われる。
【0043】図28は一般のデジタル信号処理装置と本
発明に係るデジタル信号処理装置に適用された例示的な
プログラムの大きさを比較したものである。一般のデジ
タル信号処理装置(G-DSP)より本発明に係るデジタル信
号処理装置(LP-DSP)で行われるプログラムがさらに小型
であることが分かる。そして、マトリックス表現が効果
的に用いられるアルゴリズムを行う場合に本発明はさら
に効率よく使われる。
【0044】また、本発明は省力性で、小型の耳穴形デ
ジタル補聴器に適用して以前の信号処理装置より命令語
をさらに効率よくプログラムできた。本発明の性能を検
証するためにテスト用PCBボードを製作してFPGA(Field
Programmable Gate Array)を用いた設計を完了した。図
29はこのような方法で設計したテスト用ボードを示し
た図面である。図29に示されたボードを多様な応用プ
ログラムで実験することによって、本発明に係るデジタ
ル信号処理装置が小容量のプログラムメモリを具備して
も与えられた機能を完壁に行えるということが確認でき
た。
【0045】
【発明の効果】本発明によれば、デジタル信号処理アル
ゴリズムを効率よく表現できる手段を提供することによ
って、デジタル信号処理装置におけるプログラムメモリ
のサイズが縮められる。これによって、プログラムメモ
リの読出時の消費電力を少なくでき、低電力で長時間電
子製品を動作させうる。
【図面の簡単な説明】
【図1】本発明に係るデジタル信号処理装置の全体ブロ
ック図である。
【図2】マトリックスデータの表現方式を例示した図面
である。
【図3】循環リンクリストの基本構成要素を示した図面
である。
【図4】循環リンクリストを概念的に示した図面であ
る。
【図5】実際のメモリ上に具現された循環リンクリスト
を例示した図面である。
【図6】本発明に係るマトリックス演算装置のブロック
図である。
【図7】マトリックスアドレス貯蔵手段のブロック図で
ある。
【図8】Aアドレス生成器のブロック図である。
【図9】Bアドレス生成器のブロック図である。
【図10】Cアドレス生成器のブロック図である。
【図11】本発明に係るデジタル信号処理装置において
用いられるマトリックス演算のための命令語を例示した
図面である。
【図12】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図13】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図14】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図15】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図16】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図17】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図18】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図19】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図20】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図21】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図22】各々マトリックス演算のための命令語のフォ
ーマットを例示した図面である。
【図23】マトリックス乗算を例示した図面である。
【図24】マトリックス乗算を例示した図面である。
【図25】マトリックス乗算を例示した図面である。
【図26】図23に例示したマトリックス乗算のタイミ
ング図である。
【図27】マトリックス乗算の実行順序を示した順序図
である。
【図28】一般のデジタル信号処理装置と本発明に係る
デジタル信号処理装置に適用された例示的なプログラム
のサイズを比較した図面である。
【図29】本発明に係るデジタル信号処理装置のテスト
用ボードを示した図面である。
【符号の説明】
13 レジスタファイル 15c ALU 15d 乗算器 22 マトリックスアドレス貯蔵手段 14a Aアドレス生成器 14b Bアドレス生成器 14c Cアドレス生成器
フロントページの続き (72)発明者 趙 振 国 大韓民国京畿道龍仁市器興邑農書里山14− 1番地 三星総合技術院内 Fターム(参考) 5B022 AA00 BA01 BA02 CA01 CA04 CA07 CA09 DA02 EA02 EA03 FA09 FA12 5B033 AA05 BF00 DB02 DB11 5B056 BB32

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 デジタル信号処理装置に備えられ、マト
    リックス演算を行う装置において、 循環リンクリスト形態のマトリックスデータを含むオペ
    ランドデータ及び演算結果データを貯蔵するデータ貯蔵
    手段と、 前記デジタル信号処理装置で行われる命令語の内容に応
    じてマトリックス演算に必要な一連の第1オペランドデ
    ータのアドレス、一連の第2オペランドデータのアドレ
    ス及び一連の演算結果データの貯蔵アドレスを順次に生
    成するアドレス発生手段と、 前記アドレス発生手段により生成されたアドレスに位置
    したデータを前記データ貯蔵手段から引出して前記命令
    語の内容に応じて演算を行う演算手段と、を含むことを
    特徴とするデジタル信号処理装置におけるマトリックス
    演算装置。
  2. 【請求項2】 前記アドレス発生手段は、 前記循環リンクリスト形態のマトリックスデータのアド
    レスを貯蔵し、前記命令語の内容に応じて第1マトリッ
    クスデータアドレス、第2マトリックスデータアドレス
    及び演算結果マトリックスデータアドレスを出力するマ
    トリックスアドレス貯蔵手段と、 前記マトリックスアドレス貯蔵手段から第1マトリック
    スデータアドレスが入力され、前記命令語に応じる一連
    の第1オペランドデータのアドレスを順次生成するAア
    ドレス生成器と、 前記マトリックスアドレス貯蔵手段から第2マトリック
    スデータアドレスが入力され、前記命令語に応じる一連
    の第2オペランドデータのアドレスを順次生成するBア
    ドレス生成器と、 前記マトリックスアドレス貯蔵手段から演算結果マトリ
    ックスデータアドレスを入力され、前記命令語に応じる
    一連の演算結果データの貯蔵アドレスを順次に生成する
    Cアドレス生成器と、を具備することを特徴とする請求
    項1に記載のデジタル信号処理装置におけるマトリック
    ス演算装置。
  3. 【請求項3】 前記マトリックスアドレス貯蔵手段は、 前記循環リンクリストの開始を示すメモリアドレスを貯
    蔵するXレジスタ、前記Xレジスタに貯蔵された値からの
    相対的な値で表した現在処理されるデータの位置値を貯
    蔵するPOSレジスタ、前記循環リンクリストに貯蔵され
    たデータの数を貯蔵するMAX_POSレジスタよりなる多数
    のマトリックスアドレスレジスタ群を具備することを特
    徴とする請求項2に記載のデジタル信号処理装置におけ
    るマトリックス演算装置。
  4. 【請求項4】 前記マトリックスアドレス貯蔵手段は、 多数のマトリックスアドレスレジスタ群において前記演
    算手段により演算された結果値の貯蔵位置を決定するた
    めに前記Cアドレス生成器により生成されたアドレスを
    解釈するデコーダをさらに具備することを特徴とする請
    求項3に記載のデジタル信号処理装置におけるマトリッ
    クス演算装置。
  5. 【請求項5】 前記マトリックスアドレス貯蔵手段は、 多数のマトリックスアドレスレジスタ群に貯蔵されたマ
    トリックスデータのアドレスのうち、前記命令語の内容
    に応じて第1マトリックスデータアドレスを選択する第
    1マルチプレクサ、第2マトリックスデータアドレスを
    選択する第2マルチプレクサ及び演算結果マトリックス
    データアドレスを選択する第3マルチプレクサをさらに
    具備することを特徴とする請求項3に記載のデジタル信
    号処理装置におけるマトリックス演算装置。
  6. 【請求項6】 前記Aアドレス生成器は、 第1マトリックスデータアドレスが入力され、命令語に
    応じてXレジスタ値とPOSレジスタ値とを合わせて出力
    し、次いで直前に生成されたアドレス値に1を足したア
    ドレス値を出力するが、そのアドレス値がXレジスタ値
    とMAX_POSレジスタ値とを合わせた値より大きい場合に
    Xレジスタ値を最終的に出力することを特徴とする請求
    項2に記載のデジタル信号処理装置におけるマトリック
    ス演算装置。
  7. 【請求項7】 前記Aアドレス生成器は、 多数のクロックの間に同一なアドレス値を出力するROW
    レジスタをさらに具備することを特徴とする請求項2に
    記載のデジタル信号処理装置におけるマトリックス演算
    装置。
  8. 【請求項8】 前記Aアドレス生成器は、 前記命令語に含まれたオフセットアドレスとセグメント
    アドレスレジスタのセグメントアドレスが入力され、セ
    グメントアドレスとオフセットアドレスとを結合して出
    力するスカラーデータ生成部をさらに具備することを特
    徴とする請求項2に記載のデジタル信号処理装置におけ
    るマトリックス演算装置。
  9. 【請求項9】 前記Bアドレス生成器は、 第2マトリックスデータアドレスが入力され、命令語に
    応じてXレジスタ値とPOSレジスタ値とを合わせて出力
    し、次いで直前に生成されたアドレス値に1を足したア
    ドレス値を出力するが、そのアドレス値がXレジスタ値
    とMAX_POSレジスタ値とを合わせた値より大きい場合に
    Xレジスタ値を最終的に出力することを特徴とする請求
    項2に記載のデジタル信号処理装置におけるマトリック
    ス演算装置。
  10. 【請求項10】 前記Bアドレス生成器は、 前記命令語に含まれたオフセットアドレスとセグメント
    アドレスレジスタのセグメントアドレスが入力され、セ
    グメントアドレスとオフセットアドレスとを結合して出
    力するスカラーデータ生成部をさらに具備することを特
    徴とする請求項2に記載のデジタル信号処理装置におけ
    るマトリックス演算装置。
  11. 【請求項11】 前記Cアドレス生成器は、 演算結果マトリックスデータアドレスが入力され、命令
    語に応じてXレジスタ値とPOSレジスタ値とを合わせて出
    力し、次いで直前に生成されたアドレス値に1を足した
    アドレス値を出力するが、そのアドレス値がXレジスタ
    値とMAX_POSレジスタ値とを足した値より大きい場合に
    Xレジスタ値を最終的に出力することを特徴とする請求
    項2に記載のデジタル信号処理装置におけるマトリック
    ス演算装置。
  12. 【請求項12】 前記Cアドレス生成器は、 前記演算結果マトリックスの大きさを示すNUM_ROWSレ
    ジスタの値及びNUM_COLSレジスタの値が入力され、命
    令語に応じて直前に生成されたアドレス値にNUM_COLS
    レジスタの値を足したアドレス値を出力するが、そのア
    ドレス値がXレジスタ値とMAX_POSレジスタ値とを合わ
    せた値より大きい場合に直前に生成されたアドレス値に
    NUM_ROWSレジスタの値を足してPOSレジスタの値を引い
    たアドレス値を出力することを特徴とする請求項2に記
    載のデジタル信号処理装置におけるマトリックス演算装
    置。
  13. 【請求項13】 前記Cアドレス生成器は、 前記命令語に含まれたオフセットアドレスとセグメント
    アドレスレジスタのセグメントアドレスを入力され、セ
    グメントアドレスとオフセットアドレスとを結合して出
    力するスカラーデータ生成部をさらに具備することを特
    徴とする請求項2に記載のデジタル信号処理装置におけ
    るマトリックス演算装置。
  14. 【請求項14】 マトリックス演算機能を有するデジタ
    ル信号処理装置において、 信号処理プログラムを貯蔵するプログラムメモリと、 前記プログラムメモリでフェッチした命令語を一時貯蔵
    する命令語レジスタと、 前記命令語レジスタに貯蔵された命令語を解釈して制御
    信号を生成する命令語デコーダと、 循環リンクリスト形態のマトリックスデータを含むオペ
    ランドデータ及び演算結果データを貯蔵するデータ貯蔵
    手段と、 前記制御信号に応じてマトリックス演算に必要な一連の
    第1オペランドデータのアドレス、一連の第2オペラン
    ドデータのアドレス及び一連の演算結果データの貯蔵ア
    ドレスを順次に生成するアドレス発生手段と、 前記アドレス発生手段により生成されたアドレスに位置
    したデータを前記データ貯蔵手段から引出して前記制御
    信号に応じて演算を行う演算手段と、を含むことを特徴
    とするデジタル信号処理装置。
  15. 【請求項15】 前記命令語デコーダは、 前記プログラムメモリに貯蔵された命令語をフェッチし
    て前記命令語レジスタに一時貯蔵する段階と、 前記アドレス発生手段で第1オペランドデータのアドレ
    ス及び第2オペランドデータのアドレスを生成する段階
    と、 第1オペランドデータ及び第2オペランドデータを前記
    データ貯蔵手段から引出して前記演算手段に移す段階
    と、 前記演算手段で演算を行い、前記アドレス発生手段で演
    算結果データの貯蔵アドレスを生成する段階と、 前記演算手段から出力された演算結果データを前記デー
    タ貯蔵手段に貯蔵する段階と、のパイプライン構造に対
    応する制御信号を生成することを特徴とする請求項14
    に記載のデジタル信号処理装置。
JP2000260459A 1999-12-17 2000-08-30 マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置 Expired - Fee Related JP3819686B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1999-58763 1999-12-17
KR1019990058763A KR100331565B1 (ko) 1999-12-17 1999-12-17 매트릭스 연산 장치 및 매트릭스 연산기능을 갖는 디지털신호처리 장치

Publications (2)

Publication Number Publication Date
JP2001184336A true JP2001184336A (ja) 2001-07-06
JP3819686B2 JP3819686B2 (ja) 2006-09-13

Family

ID=19626741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000260459A Expired - Fee Related JP3819686B2 (ja) 1999-12-17 2000-08-30 マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置

Country Status (3)

Country Link
US (1) US6505288B1 (ja)
JP (1) JP3819686B2 (ja)
KR (1) KR100331565B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003708A (ja) * 2006-06-20 2008-01-10 Hitachi Ltd 映像処理エンジンおよびそれを含む映像処理システム
JP2018005369A (ja) * 2016-06-29 2018-01-11 富士通株式会社 演算処理装置及び演算処理装置の制御方法
CN112328960A (zh) * 2020-11-02 2021-02-05 中国平安财产保险股份有限公司 数据运算的优化方法、装置、电子设备及存储介质

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627722B2 (en) * 2005-08-23 2009-12-01 Advanced Micro Devices, Inc. Method for denying probes during proactive synchronization within a computer system
US7797362B2 (en) * 2007-02-23 2010-09-14 Texas Instruments Incorporated Parallel architecture for matrix transposition
KR101513954B1 (ko) 2007-12-25 2015-04-21 히타치 긴조쿠 가부시키가이샤 적층 인덕터 및 이것을 사용한 전력 변환 장치
US8281106B2 (en) * 2008-12-16 2012-10-02 International Business Machines Corporation Specifying an addressing relationship in an operand data structure
US8327345B2 (en) * 2008-12-16 2012-12-04 International Business Machines Corporation Computation table for block computation
US8407680B2 (en) * 2008-12-16 2013-03-26 International Business Machines Corporation Operand data structure for block computation
US8458439B2 (en) * 2008-12-16 2013-06-04 International Business Machines Corporation Block driven computation using a caching policy specified in an operand data structure
US8285971B2 (en) * 2008-12-16 2012-10-09 International Business Machines Corporation Block driven computation with an address generation accelerator
US20100180100A1 (en) * 2009-01-13 2010-07-15 Mavrix Technology, Inc. Matrix microprocessor and method of operation
CN102629191B (zh) * 2011-04-25 2014-07-30 中国电子科技集团公司第三十八研究所 数字信号处理器寻址方法
CN102999476B (zh) * 2011-09-09 2016-06-01 中国航天科工集团第三研究院第八三五七研究所 一种二维矩阵匹配方法及电路
CN111857820B (zh) * 2016-04-26 2024-05-07 中科寒武纪科技股份有限公司 一种用于执行矩阵加/减运算的装置和方法
WO2018174930A1 (en) 2017-03-20 2018-09-27 Intel Corporation Systems, methods, and apparatuses for matrix add, subtract, and multiply
WO2019009870A1 (en) 2017-07-01 2019-01-10 Intel Corporation SAVE BACKGROUND TO VARIABLE BACKUP STATUS SIZE
CN113836481A (zh) * 2020-06-24 2021-12-24 北京希姆计算科技有限公司 矩阵计算电路、方法、电子设备及计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3794984A (en) * 1971-10-14 1974-02-26 Raytheon Co Array processor for digital computers
US4150434A (en) * 1976-05-08 1979-04-17 Tokyo Shibaura Electric Co., Ltd. Matrix arithmetic apparatus
JPS58146969A (ja) * 1982-02-26 1983-09-01 Toshiba Corp インデツクス限定連続演算ベクトルプロセツサ
JPH077385B2 (ja) * 1983-12-23 1995-01-30 株式会社日立製作所 データ処理装置
US5276819A (en) * 1987-05-01 1994-01-04 Hewlett-Packard Company Horizontal computer having register multiconnect for operand address generation during execution of iterations of a loop of program code
US5732251A (en) * 1996-05-06 1998-03-24 Advanced Micro Devices DSP with register file and multi-function instruction sequencer for vector processing by MACU
US6212618B1 (en) * 1998-03-31 2001-04-03 Intel Corporation Apparatus and method for performing multi-dimensional computations based on intra-add operation
US6115812A (en) * 1998-04-01 2000-09-05 Intel Corporation Method and apparatus for efficient vertical SIMD computations
JP2000122919A (ja) * 1998-10-13 2000-04-28 Mitsubishi Electric Corp プロセッサ及びメモリ制御方法
US6332188B1 (en) * 1998-11-06 2001-12-18 Analog Devices, Inc. Digital signal processor with bit FIFO

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003708A (ja) * 2006-06-20 2008-01-10 Hitachi Ltd 映像処理エンジンおよびそれを含む映像処理システム
JP2018005369A (ja) * 2016-06-29 2018-01-11 富士通株式会社 演算処理装置及び演算処理装置の制御方法
CN112328960A (zh) * 2020-11-02 2021-02-05 中国平安财产保险股份有限公司 数据运算的优化方法、装置、电子设备及存储介质
CN112328960B (zh) * 2020-11-02 2023-09-19 中国平安财产保险股份有限公司 数据运算的优化方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP3819686B2 (ja) 2006-09-13
KR20010078508A (ko) 2001-08-21
KR100331565B1 (ko) 2002-04-06
US6505288B1 (en) 2003-01-07

Similar Documents

Publication Publication Date Title
JP2001184336A (ja) マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置
CN110990060B (zh) 一种存算一体芯片的嵌入式处理器、指令集及数据处理方法
JP3853851B2 (ja) データ処理システム
WO2017185389A1 (zh) 一种用于执行矩阵乘运算的装置和方法
US5880981A (en) Method and apparatus for reducing the power consumption in a programmable digital signal processor
JP3711422B2 (ja) 情報処理回路
TWI476597B (zh) 資料處理裝置及半導體積體電路裝置
JP4386467B2 (ja) Riscアーキテクチャを有する8ビットマイクロコントローラ
US20120144160A1 (en) Multiple-cycle programmable processor
CN113743599B (zh) 一种卷积神经网络的运算装置及服务器
EP3340037B1 (en) A data processing apparatus and method for controlling vector memory accesses
CN111782270B (zh) 一种数据处理方法及装置、存储介质
JP2004005603A (ja) 繰返しブロック命令を入れ子ループに沿ってゼロ・サイクル・オーバヘッドで実行する方法及び装置
JP2004038327A (ja) データ処理装置
JP3570287B2 (ja) マイクロコンピュータ
JP2006293741A (ja) プロセッサ
JP4284559B2 (ja) マイクロプロセッサ、マイクロコンピュータ、電子機器
JP2000039995A (ja) 高性能マイクロプロセッサで使用するためのフレキシブル累算レジスタファイル
JPH04104350A (ja) マイクロプロセッサ
GB2390179A (en) Improved stack architecture
JP2003216411A5 (ja)
JP5025521B2 (ja) 半導体装置
JP5292831B2 (ja) プログラマブルコントローラ
JP2002182905A (ja) ディジタル信号処理プロセッサ
JPH10187659A (ja) 積和演算器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050920

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20051019

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060615

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100623

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110623

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110623

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120623

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130623

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees