JP2002304382A - データ処理システム、データ処理装置およびその制御方法 - Google Patents

データ処理システム、データ処理装置およびその制御方法

Info

Publication number
JP2002304382A
JP2002304382A JP2001294546A JP2001294546A JP2002304382A JP 2002304382 A JP2002304382 A JP 2002304382A JP 2001294546 A JP2001294546 A JP 2001294546A JP 2001294546 A JP2001294546 A JP 2001294546A JP 2002304382 A JP2002304382 A JP 2002304382A
Authority
JP
Japan
Prior art keywords
data
data processing
processing device
unit
communication
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
JP2001294546A
Other languages
English (en)
Other versions
JP2002304382A5 (ja
JP4783527B2 (ja
Inventor
Shintaro Shimogoori
慎太郎 下郡
Shoichi Kamano
昇一 鎌野
Toshiaki Kitajima
利明 北島
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.)
Pacific Design Inc
Original Assignee
Pacific Design Inc
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 Pacific Design Inc filed Critical Pacific Design Inc
Priority to JP2001294546A priority Critical patent/JP4783527B2/ja
Priority to US10/053,737 priority patent/US7165166B2/en
Priority to GB0201997A priority patent/GB2374692B/en
Publication of JP2002304382A publication Critical patent/JP2002304382A/ja
Publication of JP2002304382A5 publication Critical patent/JP2002304382A5/ja
Application granted granted Critical
Publication of JP4783527B2 publication Critical patent/JP4783527B2/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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7864Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip
    • 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
    • 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/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 C言語などの高級言語で与えられる仕様を高
速で処理可能なデータ処理システムを短期間で経済的に
構築可能とする。 【解決手段】 汎用処理が可能な汎用データ処理ユニッ
トPU2と、特定のデータ処理をハードウェア化して高
速で実行可能な専用データ処理ユニットVU1とを有す
るデータ処理装置10において、汎用データ処理ユニッ
トPU2に通信ユニット12を設けることにより、複数
の専用データ処理ユニットVU1が並列に稼動できるデ
ータ処理システムを構築する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ハードウェアで演
算処理を実行可能なデータパスを備えた専用データ処理
ユニットを備えたデータ処理装置およびそれを用いたデ
ータ処理システムに関するものである。
【0002】
【従来の技術】LSIの大規模・微細化は数十年に及ぶ
進展を遂げ、近年では極めて大きな機能を持ったシステ
ムがシステムLSIなどとしてシリコン上に具現化でき
るようになりつつある。このような背景にあって、イン
テル社のペンティアム(登録商標)LSIに代表される
ような高速・高性能な汎用LSIとは別に、目的に応じ
て性能を最大限に引き出す専用目的のシステムLSI
や、その応用分野では汎用LSIよりコストパフォーマ
ンスの優れた解を引き出すシステムLSIの需要が拡大
している。例えば、携帯電話に見られるような低消費電
力を要求されるLSIや、ネットワーク機器に見られる
ようなリアルタイム応答性とデータもしくはパケット転
送に適したLSI、さらには、画像データの転送を目的
とした画像圧縮伸長に適したLSIなどの通信ネットワ
ーク応用分野とディジタルTVに代表される情報家電応
用分野で特に顕著である。
【0003】
【発明が解決しようとする課題】このような要求に対
し、専用目的のシステムLSIを構築するにあたり、専
用目的のプロセッサを開発および製造する方式が採用さ
れつつある。大規模な専用システムLSIが要求される
場合、システムLSIの機能、すなわち仕様は何らかの
形式で高級言語(C言語やJava(登録商標)言語)
で定義され記述される。したがって、その高級言語を実
行できるコンパイラ等の環境を備えたプロセッサ、ある
いはそのような環境に対応できるプロセッサであること
が要求される。このため、目的に応じた専用命令を装備
させた専用プロセッサであれば、その高級言語で記述さ
れた内容を処理するための専用回路を備えているので極
めてコストパフォーマンスの良いシステムLSIを提供
できる。
【0004】一方、処理速度を向上する手法としてマル
チプロセッサにより並列処理を行う手法が知られてい
る。したがって、C言語により記述された一つのプログ
ラムを分割して複数の処理プロセスにし、これらの処理
プロセスを並列に実行することができれば処理速度は大
幅に向上する。そして、汎用プロセッサでは装備されに
くい特殊な演算を処理する命令による演算処理は、汎用
プロセッサではクロック数を多く費やし易いので、専用
命令として専用データ処理回路で処理する設計とし、そ
れらの専用データ処理回路により並列処理することによ
り大幅に処理速度が向上する。
【0005】しかしながら、C言語で記述されたシステ
ムを複数の処理あるいはプロセスに分解して、それを処
理可能な専用回路が設計できたとしても、それらの処理
あるいはプロセスが並列に実行されるように制御するた
めには、相互の専用回路の処理状況などを伝達する何ら
かの通信機能も専用回路に設ける必要がある。さらに、
その通信結果に基づき専用回路における処理を制御する
機能も盛り込む必要がある。さらに、適用分野に応じて
多種多様の演算が要求されるので、それぞれの演算に対
応した専用回路を開発することに加えて、専用回路同士
を並列に動作させるための機能が必要である。したがっ
て、専用回路を並列動作させるシステムLSIは、処理
速度は大幅に向上すると考えられるが、そのようなシス
テムLSIを設計し検査するためには膨大な時間とコス
トが必要となる。したがって、需要に応じてタイムリー
に提供することは難しく、さらに、コストパフォーマン
スも悪く、これらを改善することができる技術は開示さ
れていない。
【0006】そこで、本発明においては、複数の専用回
路を並列動作させることが可能なシステムLSIを短期
間で低コストで開発し、提供することができるデータ処
理システムおよびデータ処理装置を提供することを目的
としている。そして、C言語などの高級言語で記載され
たプロセスを複数のプロセスに分散して並列に実行する
ことができるシステムLSIを短期間で経済的に供給す
ることができるデータ処理システムおよびデータ処理装
置を提供することを目的としている。
【0007】さらに、ハードウェアを直接意識しないで
記述できるC言語やJAVA(登録商標)言語に対応し
た、あるいは連動した通信機能を採用することにより、
C言語などで記述された大規模なシステムを、複数の専
用回路を備えたシステムとして短期間に低コストで提供
することができるデータ処理システムおよびデータ処理
装置を提供することも本発明の目的としている。
【0008】
【課題を解決するための手段】本願の出願人は、たとえ
ば、特開2000−207202号にカスタマイズ可能
な専用命令を装着できるデータ処理装置を開示してい
る。このデータ処理装置は、専用データ処理ユニットで
あるVU部と、汎用なデータ処理が可能なRISCプロ
セッサに当るPU部とを有するデータ処理装置であり、
VU部はPU部とは異なりマルチサイクルで動作可能で
あり、専用命令により大規模な処理を実行可能になって
いる。したがって、専用命令により実行される特定のデ
ータ処理用のデータパス部、すなわち専用回路を備えた
専用データ処理ユニットと、汎用データ処理ユニットと
が組み合わされたVUPUアーキテクチャによるデータ
処理装置をさらに組み合わせて、汎用データ処理ユニッ
トに他のデータ処理装置の汎用データ処理ユニットとの
通信機能を搭載することにより、複数の専用回路を備え
たシステムであって、それらの専用回路を並列動作させ
ることができるデータ処理システムを短期間に、そして
経済的に提供することが可能となる。さらに、C言語な
どの高級言語で記述されたシステムのプログラムファン
クションそのものを専用命令として一命令化して専用デ
ータ処理ユニットで実行可能とすることにより、C言語
で記述されたシステムを複数の処理あるいはプロセスに
分解し、それらの処理あるいはプロセスを専用回路で高
速に並列に実行することができる処理能力の高いデータ
処理システムを短期間に、そして低コストで提供するこ
とができる。
【0009】すなわち、本発明のデータ処理システム
は、複数のデータ処理装置を有し、それらのうち2以上
のデータ処理装置は、専用命令により実行される特定の
データ処理用のデータパス部を備えた少なくとも1つの
専用データ処理ユニットと、汎用命令により汎用処理を
実行可能な汎用データ処理ユニットと、専用命令および
汎用命令を備えたプログラムに基づき、専用データ処理
ユニットおよび汎用データ処理ユニットに命令を発行す
る命令発行ユニットとを有する第1のタイプのデータ処
理装置、すなわちVUPUアーキテクチャによるデータ
処理装置であり、少なくとも1つの第1のタイプのデー
タ処理装置の汎用データ処理ユニットは、他の第1のタ
イプのデータ処理装置の汎用データ処理ユニットとデー
タを交換可能な通信手段を備えている。したがって、本
発明のデータ処理装置は、専用命令により実行される特
定のデータ処理用のデータパス部を備えた少なくとも1
つの専用データ処理ユニットと、汎用命令により汎用処
理を実行可能な汎用データ処理ユニットと、専用命令お
よび汎用命令を備えたプログラムに基づき、専用データ
処理ユニットおよび汎用データ処理ユニットに命令を発
行する命令発行ユニットとを有し、汎用データ処理ユニ
ットは、他のデータ処理装置の汎用データ処理ユニット
とデータを交換可能な通信手段を備えている。
【0010】本発明の専用データ処理ユニットは、アプ
リケーションなどに特化した専用回路となるデータパス
部を備えており、専用命令により特化した処理あるいは
プロセスを高速で実行できる。一方、汎用データ処理ユ
ニットは、専用命令に対処する必要がなく、基本命令あ
るいは汎用命令を解釈して実行できる機能があればよ
く、汎用性を犠牲にすることなく様々なアプリケーショ
ンなどに対応した専用データ処理ユニットと共存でき
る。そして、専用命令および汎用命令を備えたプログラ
ムに基づき、専用データ処理ユニットおよび汎用データ
処理ユニットが制御されるので、汎用データ処理ユニッ
トにより専用データ処理ユニットを制御したり、その演
算結果による汎用的な処理を行うことができる。したが
って、汎用データ処理ユニットに並列処理に必要な通信
手段を設けることにより、通信機能を専用回路から分離
して組み込むことが可能となり、さらに通信機能をプロ
グラムにより制御することができる。
【0011】このため、複数の専用回路を有するデータ
処理システムにおいて、それらの専用回路を並列に実行
するために必要な通信機能を、専用回路に影響を与え
ず、汎用的な構成で簡単に設けることが可能であり、さ
らに、プログラムにより柔軟に制御できる。このため、
複数の専用回路を並列実行可能なデータ処理システムの
設計および開発期間を短縮でき、低コストで提供でき
る。さらに、通信機能はプログラムで制御が可能なの
で、後の変更や修正にも柔軟に対処できる。したがっ
て、複数のデータ処理装置の専用データ処理ユニットを
含む、単一のデータの流れを処理するデータ処理系統を
形成したり、複数のデータ処理装置の専用データ処理ユ
ニットを含む、データの流れを処理する複数のデータ処
理系統を形成することにより、C言語などの高級言語で
記載されたプロセスを複数のプロセスに分散して並列に
実行できるシステムLSIとして適したデータ処理シス
テムおよびデータ処理装置を提供できる。
【0012】システム全体がC言語などの高級言語で記
述されており、これを複数のプロセスに分割し、各々の
プロセスを本発明のデータ処理装置に割り当てる場合に
おいては、データ処理装置の間のデータ通信をいかにし
て行うかという課題に直面する。プロセッサ間のデータ
通信はバスを通じて行う方式や、専用の通信専用ハード
ウェアマクロを介して行う方式が多く用いられている。
したがって、本発明のデータ処理システムにおいて、デ
ータ処理装置の間の通信手段として、これらの通信専用
のハードウェアを用いることも可能である。しかしなが
ら、C言語を記述するユーザから直にデータ転送を制御
もしくは管理し難いという欠点がある。すなわち、バス
方式ではハードウェアであるバス自体をC言語のレベル
から直接参照するのが困難である。上述したように、C
言語のような高級言語ではハードウェアを直接意識しな
いで記述できることに特徴があり、当然の事とも言え
る。また、通信専用ハードウェアマクロを使用してデー
タ通信を行う場合には、通信機能は専用ハードウェアが
保持するのでC言語のレベルからでは細かな制御もしく
はプログラミングが困難ということになる。すなわち、
これらの従来多く採用されているプロセッサ間データ通
信機構は、ハードウェア側の要求に基づいてボトムアッ
プに構築されたものである。従って、C言語との連動性
は要求されておらず、そのため連動性は薄いといえる。
【0013】しかしながら、本発明のデータ処理システ
ムに基づき、C言語で記述された仕様に基づいてシステ
ムLSIを設計するためには、C言語で記述されたシス
テム仕様からLSI化に向けてトップダウンな設計方式
であることが望ましい。したがって、C言語でハードウ
ェアを意識することなしにデータの転送が自由に行える
ことが望ましい。すなわち、本発明のデータ処理システ
ムにおいては、C言語で記述されたシステム全体を複数
のC言語のプロセスに分割し、それらの各々の対応した
専用回路を備えた複数のデータ処理装置の集合としてシ
ステムLSIを設計することができる。そして、複数の
C言語のプロセスに分解する際に、C言語により、ハー
ドウェアを意識すること無しにデータを転送する記述が
可能となれば、複数のC言語のプロセスに分解する設計
作業を円滑に進めることがはじめて可能となる。そのた
めには、C言語により、ハードウェアを意識すること無
しにデータ転送を自由に行えるハードウェア・アーキテ
クチャを提供する必要がある。
【0014】このため、本発明においては、汎用命令に
基づくデータの入出力において、そのデータを入力また
は出力するアドレスにより、データを他のデータ処理装
置のデータメモリから入力、または他のデータ処理装置
のデータメモリに対し出力するようにしている。すなわ
ち、本発明のデータ処理装置は、プログラムを記憶する
コードメモリ、たとえば、メモリのプログラム記憶領
域、コードRAMあるいはコードROMと、汎用命令に
よりデータを入力または出力可能なデータメモリ、たと
えば、メモリのデータ記憶領域あるいはデータRAMと
を有しており、通信手段は、汎用命令に基づき入力また
は出力するデータの入力アドレスまたは出力アドレスが
予め設定されたアドレスのときに、他のデータ処理装置
との間でデータを交換し、他のデータ処理装置のデータ
メモリからデータを入力し、またはそのデータメモリに
対しデータを出力するようにしている。また、本発明
の、データ処理装置の制御方法においては、汎用命令に
基づき入力または出力するデータの入力アドレスまたは
出力アドレスが予め設定されたアドレスのときに、他の
データ処理装置との間でデータを交換する通信工程を有
する。
【0015】他のデータ処理装置のデータメモリに対し
データを入出力するタイプのデータ通信において、相手
側となる他のデータ処理装置のデータメモリに書き込み
に行くPUTあるいはPUSH型(以降ではPUT型と
呼ぶ)と、相手側となる他のデータメモリに読み出しに
行くGET型とを提示することができる。そして、どち
らもC言語からのデータ転送を制御することができる。
すなわち、PUT型のデータ処理装置の通信手段あるい
は通信工程では、出力アドレスが予め設定されたアドレ
スのときに、他のデータ処理装置へデータを送信する。
したがって、受信側となる他のデータ処理装置のデータ
メモリの少なくとも1部の領域を、自己のデータ処理装
置のデータメモリと同じレベルで仮想的に取り扱うこと
ができる。このため、C言語により、データの出力先を
所定のアドレスにすると、他のデータ処理装置のデータ
メモリにデータを書き込むことができる。
【0016】一方、PUT型のデータ処理装置の相手と
なる受信側のデータ処理装置の通信手段あるいは通信工
程では、発信側の他のデータ処理装置からデータを受信
するとデータメモリの所定のアドレスにデータを記憶す
る。これにより、受信したデータを自己のデータメモリ
に記憶できる。したがって、C言語によりデータが書き
込まれたアドレスのデータを読み込むことにより、汎用
データ処理ユニットではそのデータを使用できる。この
結果、C言語により発信側と受信側のデータ処理装置間
でデータを転送する処理を操作できたことになる。
【0017】たとえば、あるアドレスを予め設定してお
き、そのアドレス以上であれば、他のデータ処理装置の
データメモリへ書き込み、そのアドレス以下であれば自
身のデータメモリへ書き込む、という制御を行う。この
制御を行う為に、通信相手となるデータ処理装置の情報
を格納するレジスタを設け、そこに送出先のデータ処理
装置の識別情報、そのデータ処理装置に対しデータ転送
を開始するアドレス、転送を終了するアドレスなどの情
報を格納しておくことができる。
【0018】同様に、GET型のデータ処理装置の通信
手段あるいは通信工程では、入力アドレスが予め設定さ
れたアドレスのときに、他のデータ処理装置からデータ
を受信する。したがって、送信側となる他のデータ処理
装置のデータメモリの少なくとも1部の領域を、自己の
データ処理装置のデータメモリと同じレベルで仮想的に
取り扱うことができる。このため、C言語により、デー
タの入力元を所定のアドレスにすると、他のデータ処理
装置のデータメモリからデータを読み込むことができ
る。
【0019】一方、GET型のデータ処理装置の相手と
なる送信側のデータ処理装置の通信手段あるいは通信工
程では、受信側となる他のデータ処理装置からデータを
要求されるとデータメモリの所定のアドレスからデータ
を提供する。これにより、C言語によりデータをデータ
メモリの所定のアドレスに書き込むことにより、受信側
のデータ処理装置にデータを転送できたことになる。こ
のようにGET型においても、C言語により発信側と受
信側のデータ処理装置間でデータを転送する処理を操作
できたことになる。
【0020】複数のデータ処理装置を通信手段により組
み合わせてシステムを構築する場合、複数のデータ処理
装置をPUT型あるいはGET型に揃えることが可能で
ある。あるデータ処理装置が親あるいはマスタとして動
作し、それと通信を行う他のデータ処理装置が子あるい
はスレーブとして動作するシステムを構築した場合も、
マスタ(親)およびスレーブ(子)のデータ処理装置の
構成をPUT型あるいはGET型に揃えることが可能で
ある。一方、子のデータ処理装置の通信手段が、出力ア
ドレスが予め設定されたアドレスのときに、親のデータ
処理装置へデータを送信する手段と、入力アドレスが予
め設定されたアドレスのときに、親のデータ処理装置か
らデータを受信する手段とを備えている第1のPUT・
GET型にすることも可能である。また、親のデータ処
理装置の通信手段が、出力アドレスが予め設定されたア
ドレスのときに、子のデータ処理装置へデータを送信す
る手段と、入力アドレスが予め設定されたアドレスのと
きに、子のデータ処理装置からデータを受信する手段と
を備えている第2のPUT・GET型にすることも可能
である。
【0021】第1のPUT・GET型は、子供と親の間
で転送されるデータを入出力する領域をマスタ側に集中
するのでメモリのスペース効率は良い。一方、第2のP
UT・GET型であると、転送するデータを入出力する
領域が子供の側に分散するので子側のデータ処理装置の
独立性が強くなり、分散処理のメリットをさらに活かす
ことができる。
【0022】データが誤り無く転送されるには、転送す
るデータを入力または出力する領域に、送信側および受
信側のデータ処理装置が同時に入力または出力しないよ
うにすることが望ましい。本発明のデータ処理装置は、
データを転送するタイミングをプログラムで制御するこ
とができるので、そのような事態が発生しないように送
信側および受信側のデータ処理装置のプログラムを作成
でき、C言語により制御することができる。また、通信
手段に、データを記憶する手段がデータを記憶するデー
タメモリの受信専用領域が汎用データ処理ユニットによ
り読み出されているときは、データを記憶する手段の処
理を延期し、データを記憶する手段の処理中は、汎用デ
ータ処理ユニットが受信専用領域からデータを読み出す
処理を延期する調停手段、または、データを提供する手
段がデータを取得するデータメモリの送信専用領域が汎
用データ処理ユニットにより書き込まれているときは、
データを提供する手段の処理を延期し、データを提供す
る手段の処理中は、汎用データ処理ユニットが送信専用
領域にデータを書き込む処理を延期する調停手段を設け
ても良い。また、本発明のデータ処理装置の制御方法の
通信工程で調停手段と同様の制御を行うようにしても良
い。
【0023】このように、本発明は、専用データ処理ユ
ニットと、通信手段を備えた汎用データ処理ユニットと
を有するデータ処理装置を複数有するデータ処理システ
ムを提供するものであり、本発明のデータ処理システム
により、複数の専用回路を並列実行することができるシ
ステムLSIを極めて短期間に、そして低コストで提供
することができる。さらに、本発明においては、専用回
路を備えた分散処理システムであるデータ処理装置の間
の通信機構を、C言語あるいはJAVA(登録商標)言
語などの高級言語と連動性および対応性のあるハードウ
ェアで実現するアーキテクチャを提供しており、1のプ
ロセスから他のプロセスへデータ転送がC言語で記述で
き、その結果、C言語によるプロセスを複数のプロセス
に分割が容易となり、分散処理システムの設計が可能と
なる。したがって、C言語で記述された仕様を実現し、
高速で処理可能な複数の専用回路を用いた分散処理タイ
プのシステムLSIをさらに短期間に、経済的に設計し
供給することができる。
【0024】さらに、少なくとも1つの第1のタイプ、
すなわちVUPUアーキテクチャのデータ処理装置の少
なくとも1つの専用データ処理ユニットに、VUPUア
ーキテクチャ以外の、たとえば従来型のRISCプロセ
ッサなどの第2のタイプのデータ処理装置とデータを交
換する機能を持たせることにより、本発明にかかるデー
タ処理システムで実現できるシステム構成はさらに広が
る。
【0025】
【発明の実施の形態】以下に図面を参照しながら本発明
についてさらに説明する。図1に、特定の処理に特化し
た専用データ処理ユニット(専用命令実行ユニット、以
降ではVU)1と、汎用的な構成の汎用データ処理ユニ
ット(汎用命令実行ユニットあるいはプロセスユニッ
ト、以降ではPU)2とを備えた本発明のデータ処理装
置10の概要を説明する。このデータ処理装置10は、
専用回路を備えたプログラマブルなプロセッサであり、
このため、実行形式の制御プログラム(プログラムコー
ド、マイクロプログラムコード)4aを内蔵したコード
RAM4から命令をフェッチし、専用データ処理ユニッ
ト1および汎用データ処理ユニット2にデコードされた
制御信号を提供するフェッチユニット5を備えている。
本例においては、このフェッチユニットFU5が命令発
行ユニットに該当する。
【0026】このフェッチユニット5は、前の命令ある
いはステートレジスタ6の状態、割り込み信号φiなど
によって決まる所定のコードRAM4の所定のアドレス
から命令をフェッチするフェッチ部7と、フェッチされ
た専用命令あるいは汎用命令(一般命令)をデコードす
るデコード部8とを備えている。デコード部8は、専用
命令をデコードした制御信号(デコーデド・コントロー
ル・シグナル;Decoded Control Signal)φvおよび汎
用命令をデコードした制御信号(デコーデド・コントロ
ール・シグナル;Decoded Control Signal)φpを、専
用データ処理ユニットVU1および汎用データ処理ユニ
ットPU2にそれぞれ供給する。さらに、PU2からは
実行状態を示すステータス信号(Exec unit Status Sig
nal)φsが返えされ、PU2およびVU1の状態がス
テートレジスタ(状態レジスタ)6に反映されるようにな
っている。
【0027】本例のPU2は、汎用レジスタ、フラグレ
ジスタおよび演算ユニット(ALU)などから構成され
る汎用性の高い実行ユニット11と、他のPU2との間
でデータを交換する機能を備えた通信ユニット12とを
備えており、データRAM15を一時的な記憶領域とし
てデータを入出力しながら汎用処理を実行できるように
なっている。これらのフェッチユニットFU5、汎用デ
ータ処理ユニットPU2、コードRAM4、データRA
M15を有する構成は、個々の機能は異なるが一般的な
プロセッサユニットと類似の構成となる。したがって、
FU5、PU2、コードRAM4およびデータRAM1
5を有する構成をプロセッサユニット3と称することも
可能であり、プロセッサユニット(PUX)3からVU
1を制御するような概念で本例のデータ処理装置10を
構成あるいは設計することができる。
【0028】FU5からの専用命令φvを実行する専用
データ処理ユニットVU1は、FU5が供給する命令が
V命令φvであるかなどをデコードするユニット22
と、予め特定のデータ処理を行うように制御信号をハー
ドウェア的に出力するシーケンサ(FSM(Finite Sta
te Machine)、ファイナイトステートマシン)21と、
このシーケンサ21からの制御信号に従って特定のデー
タ処理を行うようにデザインされたデータパス部20を
備えている。また、VU1は、PU2からアクセス可能
なレジスタ23を備えており、データパス部20の処理
に必要なデータをインターフェイスレジスタ23を介し
てPU2で制御したり、VU1の内部状態をレジスタ2
3を介してPU2で参照できるようになっている。ま
た、データパス部20で処理された結果はPU2に供給
され、PU2ではその結果を利用した処理が行われる。
【0029】本例のデータ処理装置10は、コードRA
M4に、汎用命令(P命令)および専用命令(V命令)
を含んだプログラムが記憶されており、それがフェッチ
ユニット5でフェッチされ、デコードされた制御信号φ
pまたはφvとしてVU1およびPU2に供給される。
VU1は、制御信号φpおよびφvのうち、自己を起動
する専用命令の制御信号φvが供給されると稼動する。
一方、PU2には、汎用命令がデコードされた制御信号
φpだけが供給されるようになっており、V命令をデコ
ードした制御信号φvはPU2には発行されず、その代
わりに、実行を伴わないnop命令を示す制御信号が発
行され、PU2の処理はスキップされる。VU1は、ア
プリケーションなどによって変更されるものであり、V
U1に指示を出す専用命令もアプリケーションによって
変わることが多い。VU1は、アプリケーションに特化
した専用回路であり、V命令をデコードした制御信号を
解釈するように設計することは容易である。一方、PU
2は、nop命令が出力されることにより、VU1に特
化した命令に対処する必要がなく、基本命令あるいは汎
用命令を解釈して実行できる機能があればよく、汎用性
を犠牲にすることなく様々なアプリケーションに対応し
たVU1と共存し、これらを制御したり、その演算結果
を用いて処理を行うことができる。
【0030】このように、図1に示したデータ処理装置
10は、リアルタイム応答などの特殊な演算が要求され
る処理を実現できる専用回路を備えたVU1と、汎用性
があるPU2とを有し、この組合せによりシステムLS
Iあるいはプロセッサを形成可能なアーキテクチャであ
る。また、VU1およびPU2の組合せを複数搭載する
ことによってもシステムLSIあるいはプロセッサを形
成できるアーキテクチャでもあり、以降においては、V
U1とPU2との組合せによる処理ユニットあるいは処
理装置の単位をVUPUと称することにする。このVU
PU10は、リアルタイム応答性を犠牲にすることな
く、設計および開発期間を短縮でき、さらに、その後の
変更や修正にも柔軟に対処できるものである。また、V
U1は、1つに限定されることはなく、アプリケーショ
ンで要求される専用処理を処理できるように複数のVU
1を用意し、それぞれのVU1を稼動する複数の専用命
令をプログラムコードに含めることが可能である。さら
に、本例のVU1は、特殊な演算処理だけでなく、プロ
グラム中の特定のプログラムファンクションを専用回路
化してプログラムを効率良く可動させることができる。
そして、本例のPU2は、他のPU2とデータを交換す
ることができる通信ユニット12を備えており、他のV
UPU10と通信することにより、複数のVUPU10
のVU1を並列に稼動させることができる。したがっ
て、VUPU10を複数備えたデータ処理システムは適
応可能な範囲が非常に広いアーキテクチャである。
【0031】たとえば、図2に示すように、C言語によ
り記述されたプロセスが図2のように、親あるいはマス
タとなるプロセスC1と、そのプロセスC1からデータ
が転送され、そのデータに基づく処理結果を返すプロセ
スC2およびC3により構成されている場合、これらの
プロセスC1、C2およびC3を図3に示すように3つ
のVUPU10に割り振ることが可能である。そして、
VUPU10であれば、特殊な演算処理だけでなく、プ
ログラム中の特定のプロセスあるいはプログラムファン
クションを専用回路化してプログラムを効率良く可動さ
せることができるので、処理速度を向上できる。さら
に、VUPU10は、PU2が通信機能を備えているの
で、図4に示すように、親となるプロセスC1が割り振
られたVU1、すなわちVU(C1)を備えたVUPU
10から、子供あるいはスレーブとなるプロセスC2が
割り振られたVU(C2)を備えたVUPU10に対し
データが転送されることにより、VU(C2)がVU
(C1)と並列に処理を開始することができる。そし
て、VU(C2)の処理結果をVU(C1)に返すこと
によりVU(C1)ではその処理結果に基づく処理を実
行することができる。
【0032】同様に、プロセスC3が割り当てられたV
U(C3)を備えたVUPU10に対しデータが転送さ
れることにより、VU(C3)がVU(C1)と並列に
処理を開始することができる。さらに、VU(C2)と
VU(C3)とが並列に処理を行うことができるプロセ
スであればさらに並列度を上げることが可能であり、処
理速度を向上することができる。このように、各VUP
U10がある時刻でひとつしか動作しなければ、非並列
であり、元のC言語で記述されたプロセスを専用回路化
した効果しか得られない。これに対し、本発明のVUP
U10であれば、専用回路化した複数の複数のプロセス
を並列に実行することが可能となり、処理速度を大幅に
向上できる。このため、図3に示すように、C言語で記
述された仕様を複数のプロセスに分け、複数のVUPU
10のVUに割り当て、それらのVUPU10によって
システムLSI30などのデータ処理システムを構築す
ることにより、プロセスあるいはファンクションを専用
回路化するメリットに加えて、それらの専用回路を並列
に実行することが可能となる。したがって、非常に処理
速度の速いシステムLSI30を提供することが可能と
なる。
【0033】すなわち、図5に示すように、C言語で記
述されたある仕様51が与えられたときに、その仕様5
1をある程度並列実行可能な複数のプロセス52に分け
ることが可能である。そして、専用回路を形成するデー
タパス部20とシーケンサ21により、プロセス52の
全てあるいは一部が実行できるようにVU1を生成する
ことが可能であり、VUPU10として供給することが
できる。そして、そのようにして作成されたVUPU1
0を組み合わせてシステムLSI30とすることによ
り、並列度の高い処理が可能なシステムLSI30を提
供することができる。さらに、VUPU10は、専用回
路で処理することが適さない処理はプロセッサとしての
機能を備えたPU2により処理することが可能であり、
専用回路による処理を並列に実行できるのみならず、汎
用プロセッサによる処理も並列に実行させることができ
る。
【0034】図6ないし図8は、通信機能を備えた本発
明のVUPU10によりデータ処理システム30を構成
する幾つかの例を示してある。多くのケースでは、1つ
のチップに複数のVUPU10が搭載され、本明細書に
示したような構成のデータ処理システム30は、特定の
アプリケーションの処理を効率良く行うことができるシ
ステムLSIとして提供されることになるであろう。図
6に示したデータ処理システム30は、VUPU10の
PU2と通信するのに適したアーキテクチャを備えたプ
ロセッサ31を中心に、複数のVUPU10が適当な通
信手段により接続されているものである。たとえば、並
列に稼動する複数のVU1により、画像データとなるビ
ットストリーム39に対し圧縮あるいは解凍に必要な一
連の処理を順次施すことが可能であり、画像処理を高速
に実行することができる。そして、各処理を行うVU1
はPU2で制御され、そのPU2は他のPU2とデータ
を交換できるようになっているので、処理の同期、調停
あるいはエラーなどを適切に処理することができる。こ
れらのVUPU10は、各々が独立したプログラムコー
ドにより動作するので、マルチインストラクションによ
りシングルデータフローを処理することができるデータ
処理システム30を提供することができる。
【0035】図7に示したデータ処理システム30は、
汎用のバスなどを介してデータを送受信することができ
る通信機能を備えたVU(COM)を搭載したVUPU
10Aをインターフェイスとして用い、VUPU10を
繋げたシステムと、VUPUとは異なるアーキテクチャ
の従来あるいは他のタイプ(第2のタイプ)のプロセッ
サ32とにより構築されている。また、図8に示したデ
ータ処理システム30は、VU(COM)とプロセスを
搭載したVU(C1)あるいはVU(C2)の2つのV
Uを搭載したVUPU10Bをインターフェイスとし
て、他のタイプのプロセッサ32を含めてシステムを構
築した例である。通信機能を備えたPU2を採用するこ
とにより、複数のVUPU10を用いたシステムを非常
にフレキシブルに構築することが可能であり、様々な仕
様のアプリケーションに対しの最適な構成のシステムL
SIを提供できる。
【0036】このように、複数のVUPU10を並列実
行させることにより極めて処理速度の速いシステムLS
Iを提供することが可能となる。そのためには、図9に
示すようにC言語で記述された機能あるいは仕様51を
複数のプロセス52に分解してVUPU10を作成する
必要がある。その際に、VUPU10の間のデータ通信
をいかにして行うかという課題に直面する。プロセッサ
間のデータ通信はバスを通じて行う方式や、専用の通信
専用ハードウェアマクロを介して行う方式が多く用いら
れており、本例のデータ処理システム30にも適用でき
る。
【0037】しかしながら、バス方式ではハードウェア
であるバス自体をC言語のレベルから直接参照するのが
困難であり、C言語により複数のプロセス52に分解し
たときに通信機能をC言語のレベルからでは細かな制御
ができない。したがって、上述したような複数のVUP
U10を備えたデータ処理システムを短期間に低コスト
で開発するためには、C言語でハードウェアを意識する
ことなしにデータの転送が自由に行えることが望まし
い。すなわち、複数のC言語のプロセスに分解する際
に、C言語により、ハードウェアを意識することなしに
データを転送する記述が可能となれば、複数のC言語の
プロセスに分解する設計作業を円滑に進めることがはじ
めて可能となる。そして、C言語のレベルで分割された
プロセスに基づき、専用回路化できる部分をRTLに変
換して専用回路を設計および製造し、専用回路を稼動す
る専用命令とその他の汎用処理を行う汎用命令を備えた
プログラムコードを作成し、さらにこれらをテストして
完成するステップ53の負荷を軽減することができる。
【0038】このため、本例ではC言語により、ハード
ウェアを意識すること無しにデータ転送を自由に行える
ハードウェア・アーキテクチャを通信機能として採用し
ている。この方式の通信機能は、C言語に限定されるも
のではなく、より分散および並列記述の容易なJAVA
(登録商標)言語、あるいはその他の高級言語で記載さ
れた仕様をシステムLSIなどのデータ処理システムと
して実現するためにも好適である。
【0039】図10に、本発明のVUPU10の一例を
PU2を中心に示してある。PU2は、図1に基づき説
明したように、コードRAM4に格納されたプログラム
4aの汎用命令をデコードした制御信号φpを実行する
実行ユニット11と、通信機能を備えた通信ユニット1
2とを備えている。そして、本例の通信ユニット12
は、実行ユニット11がデータRAM15にアクセスす
るために出力するアドレスAOが予め設定された範囲の
アドレスであるときは、通常のRD/WRデータRAM
15Nとは異なる受信用データRAM15Xあるいは送
信用データRAM15Yに対し入出力動作を行う。そし
て、自己の受信用データRAM15Xに書き込まれたデ
ータを読み込んだり、他のVUPUの送信用データRA
M15Yからデータを取得することにより、他のVUP
Uとの間でデータ転送を行う。すなわち、本例のVUP
U10のプロセッサPUX3は、コードRAM4と、デ
ータRAM15とが異なる、いわゆるハーバードアーキ
テクチャと称されるタイプである。そして、データRA
Mの一部を他のVUPU10と共用したり、他のVUP
U10と共用のデータRAMを設けることにより、入出
力アドレスにより他のVUPU10に対しデータ転送す
ることができる。したがって、入出力アドレスをC言語
で記述することによりにVUPU10の間の通信を制御
することができる。
【0040】この通信方式は、通信相手のVUPU10
の受信RAM15Xに出力データを書き込むPUTある
いはPUSH型と、通信相手のVUPU10の送信RA
M15Yから入力データを取得するGET型に大きく分
かれる。図10に示したVUPU10は、PUT型の例
である。したがって、VUPU10は、入出力可能な通
常のRD/WRデータRAM15Nに加え、自己の実行
ユニット11に対してはリードオンリとなる受信RAM
(受信データRAM)15Xを備えている。また、通信
ユニット12は、出力データDOを他のVUPU10に
送信する送信インターフェイス13と、他のVUPU1
0から受信した入力データDIを受信RAM15Xに書
き込む受信インターフェイス14を備えている。
【0041】送信インターフェイス13は、送信制御部
13Cを備えており、実行ユニット11がプログラム4
aにしたがってデータを書き込む際に出力するアドレス
AOがあるアドレス以上であると、送信バッファ13B
を経由して他のVUPUのデータRAM(受信RAM)
に書き込む。したがって、プログラム4aからみると、
自身のVUPU10に実体のあるデータRAMに書き込
むのと同じ操作で、実体の無い送信用のデータRAM1
5Zにデータを転送することができる。そして、その実
体のない送信用のデータRAM15Zは、通信相手のV
UPUに存在する送信専用のライトオンリのデータRA
M15Xであり、通信相手の実行ユニット11にとって
はリードオンリの受信専用のデータRAMとなる。
【0042】受信インターフェイス14は、受信制御部
14Cを備えており、他のVUPU10から受信した入
力データDI(送信元においては出力データDO)を受
信RAM15Xに書き込む。送信制御部13Cおよび受
信制御部14Cは、それぞれ、コンフィグレーション・
レジスタ13Rおよび14Rを備えている。送信用のコ
ンフィグレーション・レジスタ13Rには、送信先のV
UPUの識別情報(ID)、送信開始アドレス、転送サ
イズ、さらには送信終了アドレスなどの実行ユニット1
1から出力されるデータを転送先に送信するために必要
なデータが格納される。受信用のコンフィグレーション
・レジスタ14Rには、受信源となる送信元のVUPU
のID、受信開始アドレスおよび受信終了アドレスなど
のデータを受信するために必要なデータが格納される。
また、送信元の実体の無い送信専用のデータRAM15
Zのアドレスと、送信先の受信専用のデータRAM15
Xの受信アドレスが一致しない場合には、それらのアド
レスの対応表を送信側あるいは受信側のコンフィグレー
ション・レジスタ13Rあるいは14Rに登録してお
き、送信時あるいは受信時にアドレス変換することがで
きる。
【0043】これらの送信用のコンフィグレーション・
レジスタ13Rおよび受信用のコンフィグレーション1
4Rの内容は、例えば、PU2の汎用レジスタ11Rを
介してプログラム4aを通じて設定することができる。
したがって、C言語により送信および受信を行うことに
なる入力および出力アドレスや、アドレス変換などの初
期条件を設定することができる。
【0044】また、実行ユニット11に入力されるデー
タDIは、受信用のコンフィグレーション・レジスタ1
4Rに格納されているアドレスの内容から、受信専用の
データRAM15Xからの読出か、通常のデータRAM
15Nからの読出かを判断することが可能である。この
ため、受信RAM15Xの出力DOと、RD/WRデー
タRAM15Nの出力DOは、受信制御回路からの信号
により制御されるセレクタ16を経由して実行ユニット
11のDIに供給される。この結果、プログラム4a
は、自己が入出力可能なデータRAM15Nのデータ
か、通信相手が書き込んだ受信RAM15Xのデータか
はアドレスの違いで制御することが可能であり、その他
の操作は全く同等に処理できることとなる。
【0045】さらに、送信インターフェイス13は、調
停回路13Aを備えており、データ書込状態を示す信号
φputを送出する。それと共に、送信を開始するに当
たっては、相手がデータを読出中でない事を確認する必
要があり、送信相手のVUPUにおける受信RAM15
Xのデータ読出状態を示す信号φbusyによって識別
する。したがって、データ読出状態を示す信号φbus
yは転送する相手のプロセッサの数分(ID分)だけ必
要となる。受信インターフェイス14も調停回路14A
を備えており、受信専用のデータRAM15Xから読出
中は、他のVUPUからの出力データを受信できないよ
うになっている。そのため、データ書込状態を示す信号
φputを受信したときに、受信RAM15Xが読み出
し中であると、読出状態を示す信号φbusyを出力す
る。送信インターフェイス13および受信インターフェ
イス14で取り扱われるこれらの書込状態を示す信号φ
putと読出状態を示す信号φbusyは、方向は逆だ
が同じ種類に信号である。そして、レベル信号で送出さ
れるのが一般的である。
【0046】本例の受信専用のデータRAM15Xは、
デュアルポートデータRAMであるが、シングルポート
データRAMにより構成することも可能である。デュア
ルポートデータRAMであれば受信しながらの読出操作
が可能となり、並列性が向上し、さらに、上記のような
調停回路を省くことができる可能性がある。しかしなが
ら、書込みアドレスAIと、読出しアドレスRAIが同
一の場合があることを考慮すると上記の調停回路13A
および14Aと状態信号φputおよびφbusyを設
けておくことが望ましい。調停回路を省いた場合でも、
書込みアドレスAIと、読出しアドレスRAIが同一の
場合を考慮すると、入力データDIから読出しデータR
DIにRAMをバイパスしてデータを出力可能な論理回
路が必要となる。
【0047】以上に示す送信・受信機構全体をIVC機
構(Inter VUPU Communicatio
n機構)と称することとする。
【0048】図11に、IVC機構を備えた2つのVU
PU10の間でデータ交換される様子を各々のPUのメ
モリマップ19を用いて示してある。本図から分かるよ
うに、PUT型のIVC機構においては、アドレスがA
1からA2の範囲であるときは、相手側のデータRAM
15Xにデータを書き込むことによりデータを転送す
る。したがって、データRAMの使用効率が高く、ま
た、データの二重持ちを防ぐことができるのでデータに
齟齬が発生することも防止できる。また、アドレスがA
3からA4のときは、相手側のPUによりデータが書き
込まれたデータRAM15Xからデータを取得する。し
たがって、転送されたデータをPU2で使用して処理を
進めることができる。
【0049】図12に、PUT型のIVC機構を備えた
4つのVUPU10を接続したデータ処理システム30
の例を示してある。この例では、1つのVUPU10p
が親あるいはマスタとなり、他の3つのVUPU10c
は子供あるいはスレーブとなっている。親のVUPU1
0cからは全ての子供のVUPU10pに対し同様にデ
ータが転送され、子供のVUPU10cからは親VUP
U10pへ個別にデータが転送される。このため、親の
VUPU10pは、子供の数に相当する受信RAMある
いは受信RAM領域15Xを備えており、子供のVUP
U10cは1つの受信RAMあるいは受信RAM領域1
5Xを備えている。したがって、親のVUPU10pに
おいては、子供のVUPU10cからデータを並列に受
信することが可能であり、また、受信したデータを保持
しておけるのでプログラムにより適当なときに使用でき
る。一方、親のVUPU10pの受信RAM15Xを1
つにすることも可能であり、この場合は、順番に子供の
VUPU10cからデータを受信するように、親のVU
PU10pおよび子供のVUPU10cのプログラムを
作成する必要がある。
【0050】また、本例のシステムでは、VUPU10
pおよびVUPU10cの間では、4本のデータ転送可
能な経路を備えたチャネル35が用意されている。この
ようなプロセッサ間のデータ転送経路は、一般的な信号
通信処理により形成することが可能である。そして、チ
ャネル数を増加させれば子供のVUPU10c同士が直
接通信する構成にすることも可能であり、本発明のIV
C機構を備えたVUPUを用いて通信経路を構築するア
ーキテクチャは自由度が高い。
【0051】図13は、図12に示したデータ処理シス
テム30の各々のVUPUのPUにおけるメモリ構成を
示してある。上記と同様に、PUT型のIVC機構を備
えたVUPU10を用いているので、1対Nのシステム
であってもデータを送出する場合にはますますシステム
全体の分散性を高め、かつ、データRAMの使用効率を
向上することができる。たとえば、親のVUPU10p
のPU(PU−A)においては、メモリマップ19の送
信RAMの領域はVUPU10pには実体がなく、その
アドレスに物理的に対応するデータRAMは、子供のV
UPU10cにそれぞれ分散して配置されている。ま
た、子供のVUPU10cのPU(PU−B、PU−C
およびPU−D)においても、メモリマップ19の送信
RAM領域は実体がなく、それらのアドレスに物理的に
対応するデータRAMは、親のVUPU10pに配置さ
れている。
【0052】図14に、本例のIVC機構を実現する通
信ユニット12の動作をフローチャートで纏めてある。
実際に通信を開始する前に、送信用のコンフィグレーシ
ョン・レジスタ13Rに、送信先のVUPUのID、送
信するデータの開始アドレス(実体のない送信RAMに
割り当てられたアドレス)、受信RAM15Xの開始ア
ドレスなどを設定し、受信用のコンフィグレーション・
レジスタ14Rに、送信元となるVUPUのID、送信
されるデータの開始アドレス、受信RAMの開始アドレ
スなどを設定する処理が行われる。これらのコンフィグ
レーション・レジスタ13Rおよび14Rの設定は、C
言語のレベルであればインライン・アセンブル記述によ
り設定できる。また、この処理をファンクションとして
サブルーチン化しておくことも可能である。
【0053】そして、プログラムにしたがって入出力ア
ドレスが出力されると、通信ユニット12においては、
まず、ステップ61でデータの入出力アドレスを判断す
る。入出力データが通常のデータRAMに割り当てられ
たアドレスでないときは、ステップ62で、アドレスに
基づき出力処理か入力処理かを判断する。入力の場合
は、ステップ63で受信RAM15Xに送信されたデー
タが書き込み中でないこと、すなわち、書込み状態信号
φputの書込み終了を待ち、ステップ64で自己の受
信RAM15Xからデータを読み出す。それと同時に読
出し状態信号φbusyを読出しにして書込みを禁止
し、読出しが終了すると読出し状態信号φbusyを終
了状態にする。
【0054】一方、ステップ62で出力の場合は、ステ
ップ65で読出し状態信号φbusyが読出し終了にな
るのを待ち、ステップ66で出力データ(アドレスとデ
ータおよびそれらアドレスとデータが有効である事を示
すライトイネーブル信号)を転送先のVUPU10に送
信する。それと共に、書込み状態信号φputを書き込
み状態にして読み出しを禁止し、書込みが終了すると書
込み状態信号φputを終了状態にする。このように、
入出力のアドレスによりデータを通信先のVUPU10
のデータRAM15Xにする制御方法を採用することに
より、C言語レベルの記述でデータの入出力アドレスを
管理あるいは制御することだけで複数のVUPU10の
間でデータを簡単に交換することができる。
【0055】図15に、PU−AからPU−Bの受信R
AM15Xにデータを書き込む様子をタイミングチャー
トで示してある。サイクル1では、PU−Bの読出し状
態信号φbusyがオンになっているので、転送データ
は有効にならず書き込まれない。さらに、通常、読出し
状態信号φbusyがオフとなってから1サイクルあけ
て書込が行われる。このため、サイクル3に、PU−A
の書込み状態信号φputがオンとなり、転送データが
アドレスA、データDおよびライトイネーブルWE込み
で受信側のPU−Bの受信専用データRAM15Xに転
送される。そして、書込み状態信号φputが出力され
ている間に有効なデータが送信されると、それが受信デ
ータRAM15Xに書き込まれる。この例では3サイク
ルと5サイクル目が有効データであることを示してい
る。
【0056】本発明のIVC機構においては、図14に
示した処理を通信ユニット12のファームウェアやゲー
トロジックで実装することも可能であるが、データ転送
のすべてをC言語レベルの記述で制御することが可能で
ある。図16(a)は、送信側のPU−Aの転送手順を
C言語のレベルで記述した例であり、図16(b)は、
受信側のPU−Bの転送手順をC言語のレベルで記述し
た例である。PU−Aのプログラム71では、ステップ
71aでコンフィグレーション・レジスタ13Rに送信
スタートアドレスが指定される。ついでステップ71b
で転送相手の受信RAMにデータを書込むための送信を
開始する。この際、ステップ71cに示すように、送信
先の読出し状態信号φbusyをチェックし、書込み状
態信号φputをオンにする処理をファンクション・コ
ールによりサブルーチン化しておくことができる。信号
のチェックおよび設定が済むと、ステップ71dで、書
き込むためのデータを送出する。そして、データの送出
が終わるとステップ71eで終了処理を行うが、ステッ
プ71fに示すように書込み状態信号φputをオフに
する処理などをサブルーチン化しておくことができる。
【0057】一方、PU−Bのプログラム72では、ス
テップ72aでコンフィグレーション・レジスタ14R
に受信スタートアドレスが指定される。ステップ72b
で受信RAMに書込まれた送信元からのデータを読み出
す処理を開始する。この際、ステップ72cに示すよう
に、送信元の書込み状態信号φputをチェックし、読
出し状態信号φbusyをオンにする処理をファンクシ
ョン・コールによりサブルーチン化しておくことができ
る。信号のチェックおよび設定が済むと、ステップ72
dで、転送されたデータを読出し、ステップ72eで読
出し終了処理を行う。ここでも、ステップ72fに示す
ように読出し状態信号φbusyをオフにする処理など
をサブルーチン化しておくことができる。書込み状態信
号φputおよび読出し状態信号φbusyをオン状態
にしたり、その状態を確認するのはレジスタ操作とな
る。このため、上記のように、ファンクション・コール
によりサブルーチン化しておき、別途アセンブラにより
レジスタ設定を行う方法が適している。
【0058】このように、本発明のIVC機構による通
信方法は、データの転送をすべてC言語のレベルの記述
により操作できる。先に説明したように、C言語による
仕様を複数のC言語によるプロセスに分解してVUPU
化する設計手法により、C言語による仕様を並列処理お
よび分散処理することができるシステムLSIを設計す
ることが可能であり、この際、データのやりとりがC言
語のレベルで直接記述できることにより、VUPU化す
るのが容易となる。したがって、本発明のIVC機構を
採用することにより、C言語による仕様から、並列実行
可能な複数の専用回路を備えたシステムLSIを設計お
よび製造する期間を大幅に短縮でき、低コストで提供す
ることができる。
【0059】図17は、データを送信するPU−Aと、
データを受信するPU−Bの間の状態情報伝達とそれを
構成する信号線を示している。上記の例では、図17
(a)に示すように、読取状態信号φbusyと、書込
状態信号φputの各々の専用の信号線に情報を持たせ
ている。このため、図17(b)に示すように、それら
の状態信号に対応する読取状態提示専用信号線75と、
書込状態提示専用信号線76が、データを転送する信号
線77に加えて必要になる。
【0060】これに対し、状態情報の伝達に、受信デー
タRAM15Xを専用信号線に代わって使用する方法が
ある。上記の専用信号線を用いた方法では、アセンブラ
によるレジスタ操作を介してC言語のレベルから操作す
る必要があるのに対し、受信データRAM15Xを使用
すると、データに意味を持たせるので、すべてC言語の
レベルからデータ操作により転送処理を行うことができ
る。
【0061】図18(a)に、送信側のPU−Aの転送
手順をC言語のレベルで記述した例を示し、図18
(b)は、受信側のPU−Bの転送手順をC言語のレベ
ルで記述した例を示してある。PU−Aのプログラム7
1では、ステップ71aでコンフィグレーション・レジ
スタ13Rに送信スタートアドレスを指定すると共に、
ステップ71gで、自己の受信RAM15Xのアドレス
で、受信側、すなわち、送信先の読取状態信号φbus
yが格納されるアドレスを指定する。送信先のPU−B
が受信RAM15Xを読み出している状態のときは、送
信元の受信RAM15Xの読取状態信号φbusyが格
納されるアドレスにフラグが立つ。したがって、転送相
手の受信RAMにデータを書込むための送信を開始する
際は、まず、ステップ71hで、自己の受信RAM15
Xの読取状態信号φbusyが格納されるアドレスのデ
ータを参照して送信先の状態をチェックする。ついで、
ステップ71iで、送信先の受信RAM15Xの受信ス
タートアドレスにフラグを立てて書込みを開始したこと
を伝達する。すなわち、本例では、受信スタートアドレ
スのデータが書込み状態信号φputが格納されるアド
レスとなっている。その後、ステップ71jで書き込む
ためのデータを送出し、ステップ71kで送信先の受信
スタートアドレスにフラグをクリアするデータを送出
し、書込みを終了する。
【0062】一方、PU−Bのプログラム72では、ス
テップ72aでコンフィグレーション・レジスタ14R
に受信スタートアドレスが指定されると共に、ステップ
72gで、送信元の受信RAM15Xの読取状態信号φ
busyが格納されるアドレスが設定される。受信RA
M15Xに書込まれた送信元からのデータを読み出す処
理を開始する際は、まず、ステップ72hで、書込み状
態信号φputが格納される受信スタートアドレスのデ
ータをチェックし、次に、ステップ72iで、送信元の
受信RAM15Xの読取状態信号φbusyが格納され
るアドレスにデータを送ってフラグを立てる。その後、
ステップ72jで転送されたデータを読取、ステップ7
2kで、送信元の受信RAM15Xの読取状態信号φb
usyが格納されるアドレスにデータを送ってフラグを
解除する。
【0063】この方式では、双方のVUPU10の受信
用データRAM15Xに情報を持たせることが前提とな
る。しかしながら、VUPU10の間で通信が行われる
ので、特に制約にはなることではない。一方、自己の受
信用データRAM15Xに、相手方の状態が書き込まれ
ているので、C言語レベルのデータを読み込む処理で相
手側が読出状態、あるいは書込み状態の終了を確認でき
る。
【0064】図19は、この方式でデータを送信するP
U−Aと、データを受信するPU−Bの間の状態情報伝
達とそれを構成する信号線を示している。本例の方式で
は、図19(a)に示した読取状態信号φbusyと書
込状態信号φputの専用の信号線は不要である。した
がって、図19(b)に示すように、データを転送する
信号線77だけで通信チャネル35を構成することがで
き、データを転送するインターフェイスのみで手順の構
築が可能となる。しかしながら、その手順はプログラム
側にて記載せねばならず、例えば、データ転送の回数を
シーケンス番号により表示し、転送漏れが無かったかど
うかをプログラム側で判断する、といった操作が必要で
ある。
【0065】図20に、本発明のVUPUの他の例を示
してある。このVUPU10Bは、図8に示した一般の
プロセッサ32と通信する機能を備えたVU(COM)
を備えているものである。本発明のVUPU10は、上
述したIVC機構をVUPU間の通信方式として採用し
ているものであるが、既に広く使用されているプロセッ
サには独自のバスプロトコルまたは通信機構を搭載して
いる場合も多く、これら既存プロセッサとVUPU10
を通信させることにより、さらにフレキシブルなデータ
処理システム30を構築できることは上述した通りであ
る。すなわち、IVC機構により複数のVUPUを用い
た分散処理システムを構築したとしても、その中でひと
つは既存のプロセッサを使用したいというケースも多
い。このような場合にでも本発明にかかるVUPUは有
効である。
【0066】図20に示したVUPU10BのVU(C
OM)1Bは、通信ユニット12と他のCPU32のバ
スとのインターフェイスを受け持つバスブリッジ機能2
6と、通信時のバッファとなるデュアルポートデータR
AM25とを備えている。また、VUPU10Bにおい
ては、PU側とVU側との間でレジスタ転送によるVU
PUインターフェイスがサポートされているので、PU
2からVU1Bへのデータ転送はVUPUインターフェ
イスを利用できる。したがって、デュアルポートデータ
RAM25を他のCPU32への送信データRAMとし
て用いることにより、PU2の側から送信を行うことが
できる。受信はCPU32のシステムバスと通信ユニッ
ト12に受信インターフェイス14をバスブリッジする
ことにより受信専用データRAM15Xへ書込むことが
できる。
【0067】この通信用のVU(COM)1Bを設ける
ことにより、VUPU10Bでは、上述したIVC機能
では、送信側は相手側のVUPUの受信RAMにデータ
を書き込むようになっているのに対し、自身の送信デー
タRAM25にデータを書き込むことになり、実体のあ
る送信データRAMを有するシステムとなる。したがっ
て、IVC機能の多くのメリットのうち、データRAM
の利用効率を向上できるメリットは得られない。しかし
ながら、既存のCPUと本発明による複数のVUPU1
0による分散システム30を構築することが可能とな
り、これらのタイプの異なるプロセッサが共存し、並列
に各々の処理を実行可能となるメリットは大きい。
【0068】上記では、本発明にかかるVUPU10の
通信ユニット12がPUT型の場合を例に説明している
が、受信RAM15Xの代わりに送信RAM15Yを設
けたGET型であっても上記と同様のIVC機能を実現
できる。図21にGET型の通信ユニット12を備えた
VUPU10をPU2を中心に示してある。
【0069】GET型の場合は、VUPU10に送信専
用のデータRAM15Yが設けられており、この送信専
用のデータRAM15Yが通信相手の他のVUPU10
においては受信専用のデータRAMとなる。通信ユニッ
ト12も、送信インターフェイス13と受信インターフ
ェイス14とを備えており、各々の制御部13Cおよび
14Cは、送受信の条件が設定されるコンフィグレーシ
ョン・レジスタ13Rおよび14Rを備えている。した
がって、基本的な構成および動作は上記で説明したPU
T型とほぼ同じである。
【0070】GET型の通信ユニット12の調停回路1
3Aは、送信専用のデータRAM15Yにデータを書き
込む際に、書込み状態信号φbusyを書込み状態にし
て、自分のIDで他のVUPU10に送出して書き込み
状態であることを通知する。一方、送信データRAM1
5Yからのデータの読出しは、通信先の各VUPU10
からのリクエスト信号あるいは読出し状態信号φget
による。調停回路13Aを有する送信制御部13Cは、
リクエスト信号φgetが受け入れられ読出可能な状態
となると、受信先のVUPU10のIDを加えた書込み
状態信号φbusyを読出し可能な状態にして送出し、
通信相手のVUPU10へ読出可能状態であることを通
知する。これにより、通信相手のVUPU10の受信イ
ンターフェイス14では、アドレスを送出し、データを
読み出す。したがって、PU2が通信先からデータを読
み取る場合には、リクエスト信号φgetにより自分自
身へのビジー信号φbusy(もちろん、レディ信号φ
readyであっても良いが)を確認して、受信インタ
ーフェイス14に示されるアドレスに応じたデータが受
信制御部14Cにより制御されるセレクタ16を通じて
PU2に供給される。
【0071】送信専用のデータRAM15Yも上述した
受信専用のデータRAM15Xと同様にデュアルポート
データRAMにより構成することが可能である。この場
合には送信しながら書込操作が可能となり、並列性が向
上する。しかしながら、調停機能を設けない場合は、読
出しと書込みのアドレスが同一の場合を考慮して、入力
データDIを出力データDOにバイパスする論理回路が
必要となる。
【0072】図22に、GET型のIVC機構を実現す
る通信ユニット12の動作をフローチャートで纏めてあ
る。実際に通信を開始する前に、送信用のコンフィグレ
ーション・レジスタ13Rに、送信先のVUPUのI
D、送信RAM15Yの開始アドレス、受信するデータ
の開始アドレス(実体のない受信RAMに割り当てられ
たアドレス)などを設定し、受信用のコンフィグレーシ
ョン・レジスタ14Rに、受信元となるVUPUのI
D、送信RAMの開始アドレス、受信されるデータの開
始アドレス、などを設定する処理が行われる。これらの
コンフィグレーション・レジスタ13Rおよび14Rの
設定は、C言語のレベルであればインライン・アセンブ
ル記述により設定できる。また、この処理をファンクシ
ョンとしてサブルーチン化しておくことができる。
【0073】そして、プログラムにしたがって入出力ア
ドレスが出力されると、通信ユニット12においては、
まず、ステップ81でデータの入出力アドレスを判断す
る。入出力データが通常のデータRAMに割り当てられ
たアドレスでないときは、ステップ82で、アドレスに
基づき出力処理か入力処理かを判断する。出力の場合
は、ステップ83で送信RAM15Yが読出し中でない
こと、すなわち、読出し状態信号(リクエスト信号)φ
getの読出し終了を待ち、ステップ84で自己の送信
RAM15Yにデータを書き込む。それと同時に書込み
状態信号φbusyを書込みにして読出しを禁止し、書
込みが終了すると状態信号φbusyを終了状態にす
る。
【0074】一方、ステップ82で入力の場合は、リク
エスト信号φgetを送出し、ステップ85で状態信号
φbusyが書込み終了になるのを待ち、ステップ86
でデータを通信先のVUPU10から受領する。そし
て、読出しが終了すると、リクエスト信号φgetを終
了状態にする。このように、GET型においても、入出
力のアドレスによりデータを受信先のVUPU10のデ
ータRAM15Yから取得する制御方法を採用すること
により、Cレベルの記述でデータの入出力アドレスを管
理あるいは制御することだけで複数のVUPU10の間
でデータを簡単に交換することができる。そして、この
ような処理を通信ユニット12のファームウェアやゲー
トロジックで行っても良く、あるいはC言語のレベルで
記述することも可能である。
【0075】上述したPUT型の通信方法とGET型の
通信方法は、どちらもC言語から直接データをアクセス
できる点では同じであり、自己のVUPUのデータRA
Mにアクセスするのと同じ操作で他のVUPUのデータ
RAMにデータを書込・読出することによりデータ交換
を行うことができる。PUT型の通信方法のVUPU1
0を採用したデータ処理システム30では、親のVUP
U10pあるいは他のプロセッサが、共通のデータを複
数の子のVUPU10cに転送し、子のVUPU10c
は転送されたデータを頻繁にアクセスし、かつ加工し、
処理を進める分散処理に適している。一方、GET型の
通信方法のVUPU10を採用したデータ処理システム
30は、親のVUPU10pあるいは他のプロセッサか
ら子のVUPU10cに供給されるデータが少量であ
り、さらに、子のVUPU10cがデータをそれぞれ独
立に参照しながら処理を進める分散処理に適している。
【0076】さらに、目的に応じてPUT型とGET型
を両立させたデータ処理システムを構築することも可能
である。例えば、親のVUPU10pのデータを少量ず
つ複数の子のVUPU10cが参照しながら各々分散処
理を行い、その結果を親のVUPU10pに戻す処理が
要求される場合がある。このような処理に対応したデー
タ処理システム30としては、GET型の通信方法で親
のVUPU10pから子のVUPU10cにデータを転
送し、PUT型の通信方法で子のVUPU10cから親
のVUPU10pにデータを返却する方式が最もメモリ
効率がよい。なぜなら、送信専用・受信専用データRA
Mを親のVUPU10pがひとつ持てばよいからであ
る。また、ひとつの親のVUPU10pと複数の子のV
UPU10cにより分散処理を行う構造のデータ処理シ
ステム30は、本発明にかかるVUPU10を用いた極
めて基本的な構造であると考えられる。したがって、親
のVUPU10pにのみ転送専用メモリを保有させて共
有化を図るデータ処理システムは、本発明のVUPU1
0を用いた有効な分散処理の基本構造であるといえる。
【0077】図23に、送信専用のデータRAM15Y
と受信専用のデータRAM15Xを有するVUPU10
pの構成例を示してある。このVUPU10pにおいて
は、通信ユニット12の送信インターフェイス13は上
述したGET型の構成であり、送信専用のデータRAM
15Yを制御し、子のVUPU10cのそれぞれからの
リクエスト信号φgetに基づいてデータ転送を行う。
受信インターフェイス14は、PUT型の構成であり、
子のVUPU10cのそれぞれからの書込要求信号φp
utに基づいてデータの書込を行う。
【0078】図23に示したVUPU10pの構成は、
子のVUPUcの通信ユニット12が、出力アドレスが
予め設定されたアドレスのときに親のVUPU10pに
データを送信する送信インターフェイスと、入力アドレ
スが予め設定されたアドレスのときに親のVUPU10
pからデータを受信する受信インターフェイス手段とを
備えている第1のPUT・GET型に対応したものであ
る。したがって、IVC機構を構成するメモリ15Xお
よび15Yがマスタである親のVUPU10pに集中す
る。このため、メモリのスペース効率の高いシステムと
なる。
【0079】図24に、送信専用のデータRAM15Y
と受信専用のデータRAM15Xを有しないVUPU1
0pの構成例を示してある。また、このVUPU10p
とそれに対応したVUPU10cとにより構成されたシ
ステムの概要を図25に示してある。このVUPU10
pの通信ユニット12の送信ユニット13は、出力アド
レスが予め設定されたアドレスのときに子のVUPU1
0cへデータを送信し、受信ユニット14は、入力アド
レスが予め設定されたアドレスのときに子のVUPU1
0cからデータを受信する。したがって、上述した第2
のPUT・GET型のシステムであり、転送するデータ
を入出力する送信RAM15Yおよび受信RAM15X
が子のVUPU10cに分散するのでメモリを多数必要
とする。しかしながら、各子供のVUPU10cでは独
自に分散処理を進めることができるので、処理の独立性
が高まる。さらに、本例では、送信インターフェイス1
3の送信制御部13Cを受信インターフェイス14の制
御部としても兼用することにより、1つの送受信制御部
により通信ユニット12を制御する簡易な構成となって
いる。
【0080】なお、以上では、通常のデータRAM15
N、受信専用のデータRAM15Xおよび送信専用のデ
ータRAM15Yがそれぞれ独立している構成を例に説
明しているが、同一のデータRAMの領域を割り振るこ
とで対応することも可能である。しかしながら、受信専
用および送信専用のデータRAMはデュアルポートRA
Mあるいは多ポートRAMを採用することによるメリッ
トがあり、通信容量が小さくて良いデータ処理システム
においては、受信専用あるいは送信専用のデータRAM
を独立して設けることが望ましい。
【0081】
【発明の効果】以上に説明したように、本発明において
は、専用データ処理ユニット(VU)と汎用データ処理
ユニット(PU)とを有するデータ処理装置(VUP
U)において、PUに通信機能を持たせることにより、
複数のVU、すなわち専用回路を並列に実行できるデー
タ処理システムを極めて短期間に、そして低コストで開
発することができる。システムLSIとして与えられた
仕様全体をハードウェア化する作業は膨大であり時間と
経費の点から現在ではほとんど経済的に見合わないもの
となっている。これに対し、本発明のVUPUは、シス
テムLSIとして与えられた仕様の内、ハードウェア化
するのに適した機能を適当な単位で抽出し、シミュレー
ションによって高速化などの効果が確認された機能だけ
をVUとしてハードウェア化することができる。したが
って、ハードウェア化される範囲は限られたものとな
り、容易に設計および開発でき、また費用も最小限で済
む。その一方で、ハードウェア化したことによる効果は
最大限にすることが可能である。それに加えて、ハード
ウェア化したVUを並列に実行することができるので、
処理を複数のVUに分散することが可能となり、処理効
率が高く処理速度の速く、さらに経済的なデータ処理シ
ステムを提供することが可能となる。
【0082】さらに、本発明のVUPUは、繰り返し計
算の多い処理などを機能単位で抽出してVUとして実現
し高速処理を可能とすると共に、他の処理は汎用プロセ
ッサであるPUで処理することによって、ハードウェア
化に伴うコストアップや設計期間の長期化を抑制し、さ
らに、仕様変更や、開発のあらゆる段階の変更にも柔軟
に対処できるというメリットも備えている。そして、プ
ログラムレベルで制御できるPUに通信機能を設けるこ
とにより、プログラムレベルで並列処理の制御を行うこ
とが可能となり、極めて柔軟な制御が可能となる。その
結果、高級言語で記述された仕様に基づくシステムLS
Iを極めて短い期間で設計および開発できる。
【0083】このようなVUPUを用いてデータ処理シ
ステムを構築することにより、ひとつのC言語などの高
級言語で記述されたプロセスを分割して複数の処理プロ
セスにし、これらプロセス間のデータの転送と処理依
頼、それに基づく処理結果の返却を設計するにはデータ
転送に関してC言語あるいはJAVA(登録商標)言語
などの高級言語との親和性が高く、かつハードウェアを
意識しないでデータ転送の設計が進められる方式が不可
欠となる。上述した本発明によれば、アドレスによっ
て、通信先のVUPUの受信専用のデータRAMにデー
タを送信し、あるいは通信先のVUPUの送信専用のデ
ータRAMからデータを取得することができる。このた
め、VUPU間の通信を、メモリへのアクセスと同じ方
法にてC言語などから直接に行うことができ、極めて自
由にデータ送受を行うことができる。このため、複数の
C言語により記述されたプロセスが並列に動作するよう
に設計することが極めて容易となる。
【0084】このように、C言語あるいはその他の高級
言語との連動性および対応性のあるデータ通信機構をハ
ードウェア側に設けることにより、極めて容易に、高級
言語のレベルでデータ転送が記述できる。その結果、高
級言語により記述されたプロセスを複数に分割が容易と
なり、分散処理システムの設計が可能となる。したがっ
て、本発明で開示した通信機構は、上述した複数のVU
PUを用いた処理速度の速いデータ処理システムを構築
するのに好適なものである。
【図面の簡単な説明】
【図1】本発明に係るPUおよびVUを備えたデータ処
理装置(VUPU)の概要を示す図である。
【図2】C言語により記述されたプロセスを複数に分解
する様子を示す図である。
【図3】本発明のデータ処理装置により分散処理するデ
ータ処理システムを構築する例を示す図である。
【図4】図3に示したデータ処理システムの各VUPU
の実行状態を例示する図である。
【図5】C言語で記述したプログラムが分散処理用に分
解される様子を示す図である。
【図6】本発明のデータ処理装置により分散処理するデ
ータ処理システムの異なる例を示す図である。
【図7】本発明のデータ処理装置により分散処理するデ
ータ処理システムのさらに異なる例を示す図である。
【図8】本発明のデータ処理装置により分散処理するデ
ータ処理システムのさらに異なる例を示す図である。
【図9】C言語で記述された機能をVUPU化する過程
の概要を示す図である。
【図10】本発明の通信機能を有するVUPUの概略構
成をPUの構成を中心に示す図である。
【図11】2つのVUPUで交信する際のメモリの使用
状況を示す図である。
【図12】親のVUPUと複数の子のVUPUで交信す
るデータ処理システムの概要を示す図である。
【図13】図12に示すデータ処理システムの各PUの
メモリマップを示す図である。
【図14】通信ユニットの処理の概要を示すフローチャ
ートである。
【図15】受信RAMにデータを入出力するタイミング
を示す図である。
【図16】通信ユニットの処理をC言語により制御する
プログラム例を示す図である。
【図17】調停を行うための状態信号とそれに対応する
信号線を示す図である。
【図18】状態信号を受信RAMに書き込む通信方式の
処理をC言語により制御するプログラム例を示す図であ
る。
【図19】状態信号を受信RAMに書き込む通信方式に
おける状態信号と信号線とを示す図である。
【図20】本発明の通信機能を有するVUPUの概略構
成をPUの構成を中心に示す図であり、他のCPUとの
通信機能を備えたVU(COM)を有するVUPUの概
要を示す図である。
【図21】本発明の通信機能を有するVUPUの概略構
成をPUの構成を中心に示す図であり、GET型の通信
機能を有するVUPUを示す図である。
【図22】図21に示すVUPUの通信ユニットの処理
の概要を示すフローチャートである。
【図23】本発明の第1のPUT・GET型の通信機能
を有するVUPUを示す図である。
【図24】本発明の第2のPUT・GET型の通信機能
を有するVUPUを示す図である。
【図25】第2のPUT・GET型の通信機能を備えた
VUPUを親として構成されたシステムの概要を示すブ
ロック図である。
【符号の説明】
1 専用データ処理ユニットVU 2 汎用データ処理ユニットPU 3 汎用プロセッサPUX 4 コードRAM 4a 制御プログラム 5 フェッチユニットFU 10 データ処理装置(VUPU) 11 実行ユニット 12 通信ユニット 13 送信インターフェイス、14 受信インター
フェイス 15N RD/WRデータRAM 15X 受信専用のデータRAM、15Y 送信専
用のデータRAM
───────────────────────────────────────────────────── フロントページの続き (72)発明者 北島 利明 東京都新宿区西新宿6丁目12番1号 パシ フィック・デザイン株式会社内 Fターム(参考) 5B013 DD00 DD03 DD05 5B045 BB48 DD01 GG09

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータ処理装置を有するデータ処
    理システムであって、2以上の前記データ処理装置は、
    専用命令により実行される特定のデータ処理用のデータ
    パス部を備えた少なくとも1つの専用データ処理ユニッ
    トと、汎用命令により汎用処理を実行可能な汎用データ
    処理ユニットと、前記専用命令および汎用命令を備えた
    プログラムに基づき、前記専用データ処理ユニットおよ
    び汎用データ処理ユニットに命令を発行する命令発行ユ
    ニットとを有する第1のタイプのデータ処理装置であ
    り、 少なくとも1つの前記第1のタイプのデータ処理装置の
    汎用データ処理ユニットは、他の前記第1のタイプのデ
    ータ処理装置の前記汎用データ処理ユニットとデータを
    交換可能な通信手段を備えているデータ処理システム。
  2. 【請求項2】 請求項1において、少なくとも1つの前
    記第1のタイプのデータ処理装置の少なくとも1つの前
    記専用データ処理ユニットは、第2のタイプの前記デー
    タ処理装置とデータを交換する機能を備えているデータ
    処理システム。
  3. 【請求項3】 請求項1において、前記第1のタイプの
    データ処理装置は、前記プログラムを記憶するコードメ
    モリと、前記汎用命令によりデータを入力または出力可
    能なデータメモリとを備えており、 前記通信手段は、前記汎用命令に基づき入力または出力
    するデータの入力アドレスまたは出力アドレスが予め設
    定されたアドレスのときに、他の前記第1のタイプのデ
    ータ処理装置に含まれた前記データメモリに対してデー
    タを入力または出力するようにデータを交換するデータ
    処理システム。
  4. 【請求項4】 請求項3において、前記通信手段は、前
    記出力アドレスが前記予め設定されたアドレスのとき
    に、他の前記第1のタイプのデータ処理装置へデータを
    送信する手段を備えているデータ処理システム。
  5. 【請求項5】 請求項3において、前記通信手段は、前
    記入力アドレスが前記予め設定されたアドレスのとき
    に、他の前記第1のタイプのデータ処理装置からデータ
    を受信する手段を備えているデータ処理システム。
  6. 【請求項6】 請求項3において、前記第1のタイプの
    データ処理装置が親のデータ処理装置となり、その親の
    データ処理装置と通信する他の前記第1のタイプのデー
    タ処理装置が子のデータ処理装置となる構成であって、 前記子のデータ処理装置の通信手段は、前記出力アドレ
    スが前記予め設定されたアドレスのときに、前記親のデ
    ータ処理装置へデータを送信する手段と、前記入力アド
    レスが前記予め設定されたアドレスのときに、前記親の
    データ処理装置からデータを受信する手段とを備えてい
    るデータ処理システム。
  7. 【請求項7】 請求項3において、前記第1のタイプの
    データ処理装置が親のデータ処理装置となり、その親の
    データ処理装置と通信する他の前記第1のタイプのデー
    タ処理装置が子のデータ処理装置となる構成であって、 前記親のデータ処理装置の通信手段は、前記出力アドレ
    スが前記予め設定されたアドレスのときに、前記子のデ
    ータ処理装置へデータを送信する手段と、前記入力アド
    レスが前記予め設定されたアドレスのときに、前記子の
    データ処理装置からデータを受信する手段とを備えてい
    るデータ処理システム。
  8. 【請求項8】 請求項3において、前記通信手段は、他
    の前記第1のタイプのデータ処理装置からデータを受信
    すると前記データメモリの所定のアドレスにデータを記
    憶する手段を備えているデータ処理システム。
  9. 【請求項9】 請求項8において、前記通信手段は、前
    記データを記憶する手段がデータを記憶する前記データ
    メモリの受信専用領域が前記汎用データ処理ユニットに
    より読み出されているときは、前記データを記憶する手
    段の処理を延期し、前記データを記憶する手段の処理中
    は、前記汎用データ処理ユニットが前記受信専用領域か
    らデータを読み出す処理を延期する調停手段を備えてい
    るデータ処理システム。
  10. 【請求項10】 請求項3において、前記通信手段は、
    他の前記第1のタイプのデータ処理装置からデータを要
    求されると前記データメモリの所定のアドレスからデー
    タを提供する手段を備えているデータ処理システム。
  11. 【請求項11】 請求項10において、前記通信手段
    は、前記データを提供する手段がデータを取得する前記
    データメモリの送信専用領域が前記汎用データ処理ユニ
    ットにより書き込まれているときは、前記データを提供
    する手段の処理を延期し、前記データを提供する手段の
    処理中は、前記汎用データ処理ユニットが前記送信専用
    領域にデータを書き込む処理を延期する調停手段を備え
    ているデータ処理システム。
  12. 【請求項12】 請求項1において、複数の前記第1の
    タイプのデータ処理装置の前記専用データ処理ユニット
    を含む、単一のデータの流れを処理するデータ処理系統
    が形成されているデータ処理システム。
  13. 【請求項13】 請求項1において、複数の前記第1の
    タイプのデータ処理装置の前記専用データ処理ユニット
    を含む、データの流れを処理する複数のデータ処理系統
    が形成されているデータ処理システム。
  14. 【請求項14】 専用命令により実行される特定のデー
    タ処理用のデータパス部を備えた少なくとも1つの専用
    データ処理ユニットと、 汎用命令により汎用処理を実行可能な汎用データ処理ユ
    ニットと、 前記専用命令および汎用命令を備えたプログラムに基づ
    き、前記専用データ処理ユニットおよび汎用データ処理
    ユニットに命令を発行する命令発行ユニットとを有する
    データ処理装置であって、 前記汎用データ処理ユニットは、他の前記データ処理装
    置の前記汎用データ処理ユニットとデータを交換可能な
    通信手段を備えているデータ処理装置。
  15. 【請求項15】 請求項14において、前記プログラム
    を記憶するコードメモリと、前記汎用命令によりデータ
    を入力または出力可能なデータメモリとを有し、 前記通信手段は、前記汎用命令に基づき入力または出力
    するデータの入力アドレスまたは出力アドレスが予め設
    定されたアドレスのときに、他の前記データ処理装置と
    の間でデータを交換するデータ処理装置。
  16. 【請求項16】 請求項15において、前記通信手段
    は、前記出力アドレスが前記予め設定されたアドレスの
    ときに、他の前記データ処理装置へデータを送信する手
    段を備えているデータ処理装置。
  17. 【請求項17】 請求項15において、前記通信手段
    は、前記入力アドレスが前記予め設定されたアドレスの
    ときに、他の前記データ処理装置からデータを受信する
    手段を備えているデータ処理装置。
  18. 【請求項18】 請求項15において、前記通信手段
    は、他の前記データ処理装置からデータを受信すると前
    記データメモリの所定のアドレスにデータを記憶する手
    段を備えているデータ処理装置。
  19. 【請求項19】 請求項18において、前記通信手段
    は、前記データを記憶する手段がデータを記憶する前記
    データメモリの受信専用領域が前記汎用データ処理ユニ
    ットにより読み出されているときは、前記データを記憶
    する手段の処理を延期し、前記データを記憶する手段の
    処理中は、前記汎用データ処理ユニットが前記受信専用
    領域からデータを読み出す処理を延期する調停手段を備
    えているデータ処理装置。
  20. 【請求項20】 請求項15において、前記通信手段
    は、他の前記データ処理装置からデータを要求されると
    前記データメモリの所定のアドレスからデータを提供す
    る手段を備えているデータ処理装置。
  21. 【請求項21】 請求項20において、前記通信手段
    は、前記データを提供する手段がデータを取得する前記
    データメモリの送信専用領域が前記汎用データ処理ユニ
    ットにより書き込まれているときは、前記データを提供
    する手段の処理を延期し、前記データを提供する手段の
    処理中は、前記汎用データ処理ユニットが前記送信専用
    領域にデータを書き込む処理を延期する調停手段を備え
    ているデータ処理装置。
  22. 【請求項22】 専用命令により実行される特定のデー
    タ処理用のデータパス部を備えた少なくとも1つの専用
    データ処理ユニットと、汎用命令により汎用処理を実行
    可能な汎用データ処理ユニットと、前記専用命令および
    汎用命令を備えたプログラムに基づき、前記専用データ
    処理ユニットおよび汎用データ処理ユニットに命令を発
    行する命令発行ユニットと、前記プログラムを記憶する
    コードメモリと、前記汎用命令によりデータを入力また
    は出力可能なデータメモリとを有するデータ処理装置の
    制御方法であって、 前記汎用命令に基づき入力または出力するデータの入力
    アドレスまたは出力アドレスが予め設定されたアドレス
    のときに、他の前記データ処理装置との間でデータを交
    換する通信工程を有するデータ処理装置の制御方法。
  23. 【請求項23】 請求項22において、前記通信工程
    は、前記出力アドレスが前記予め設定されたアドレスの
    ときに、他の前記データ処理装置へデータを送信する工
    程を備えているデータ処理装置の制御方法。
  24. 【請求項24】 請求項22において、前記通信工程
    は、前記入力アドレスが前記予め設定されたアドレスの
    ときに、他の前記データ処理装置からデータを受信する
    工程を備えているデータ処理装置の制御方法。
  25. 【請求項25】 請求項22において、前記通信工程
    は、他の前記データ処理装置からデータを受信すると前
    記データメモリの所定のアドレスにデータを記憶する工
    程を備えているデータ処理装置の制御方法。
  26. 【請求項26】 請求項25において、前記通信工程で
    は、前記データメモリの受信専用領域が前記汎用データ
    処理ユニットにより読み出されているときは、前記デー
    タを記憶する工程を延期し、前記データを記憶する工程
    中は、前記汎用データ処理ユニットが前記受信専用領域
    からデータを読み出す処理を延期するデータ処理装置の
    制御方法。
  27. 【請求項27】 請求項22において、前記通信工程
    は、他の前記第1のタイプのデータ処理装置からデータ
    を要求されると前記データメモリの所定のアドレスから
    データを提供する工程を備えているデータ処理装置の制
    御方法。
  28. 【請求項28】 請求項27において、前記通信工程で
    は、前記データメモリの送信専用領域が前記汎用データ
    処理ユニットにより書き込まれているときは、前記デー
    タを提供する工程を延期し、前記データを提供する工程
    中は、前記汎用データ処理ユニットが前記送信専用領域
    にデータを書き込む処理を延期するデータ処理装置の制
    御方法。
JP2001294546A 2001-01-31 2001-09-26 データ処理システム、データ処理装置およびその制御方法 Expired - Fee Related JP4783527B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001294546A JP4783527B2 (ja) 2001-01-31 2001-09-26 データ処理システム、データ処理装置およびその制御方法
US10/053,737 US7165166B2 (en) 2001-01-31 2002-01-24 Data processing system, data processing apparatus and control method for a data processing apparatus
GB0201997A GB2374692B (en) 2001-01-31 2002-01-29 Data processing system data processing apparatus and control method for a data processing apparatus

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2001-24513 2001-01-31
JP2001024513 2001-01-31
JP2001024513 2001-01-31
JP2001294546A JP4783527B2 (ja) 2001-01-31 2001-09-26 データ処理システム、データ処理装置およびその制御方法

Publications (3)

Publication Number Publication Date
JP2002304382A true JP2002304382A (ja) 2002-10-18
JP2002304382A5 JP2002304382A5 (ja) 2008-11-13
JP4783527B2 JP4783527B2 (ja) 2011-09-28

Family

ID=26608698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001294546A Expired - Fee Related JP4783527B2 (ja) 2001-01-31 2001-09-26 データ処理システム、データ処理装置およびその制御方法

Country Status (3)

Country Link
US (1) US7165166B2 (ja)
JP (1) JP4783527B2 (ja)
GB (1) GB2374692B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006352323A (ja) * 2005-06-14 2006-12-28 Auto Network Gijutsu Kenkyusho:Kk 車載通信用アダプタ
JP2010097593A (ja) * 2008-10-16 2010-04-30 Internatl Business Mach Corp <Ibm> 命令ブロック・シーケンサ・ロジックを有するマルチ実行ユニットによる命令実行のための回路構成、集積回路デバイス、プログラム、及び方法
JP2013504130A (ja) * 2009-09-03 2013-02-04 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 汎用使用のための処理ユニット内部メモリ
JP2018073318A (ja) * 2016-11-04 2018-05-10 株式会社日立製作所 データ共有システム、データ共有方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4651790B2 (ja) * 2000-08-29 2011-03-16 株式会社ガイア・システム・ソリューション データ処理装置
US20020152061A1 (en) * 2001-04-06 2002-10-17 Shintaro Shimogori Data processing system and design system
JP4865960B2 (ja) * 2001-06-25 2012-02-01 株式会社ガイア・システム・ソリューション データ処理装置およびその制御方法
JP5372307B2 (ja) * 2001-06-25 2013-12-18 株式会社ガイア・システム・ソリューション データ処理装置およびその制御方法
JP2003005958A (ja) * 2001-06-25 2003-01-10 Pacific Design Kk データ処理装置およびその制御方法
US6993674B2 (en) * 2001-12-27 2006-01-31 Pacific Design, Inc. System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
US20030163674A1 (en) * 2002-02-26 2003-08-28 Mitsumasa Yoshimura Data processing apparatus, processor unit and debugging unit
US20060015314A1 (en) * 2004-06-30 2006-01-19 International Business Machines Corporation Methods, systems and program products for annotating system traces with control program information and presenting annotated system traces
JP5044822B2 (ja) * 2008-05-02 2012-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データをテープ媒体に書き込む装置及び方法
US20120203647A1 (en) * 2011-02-09 2012-08-09 Metrologic Instruments, Inc. Method of and system for uniquely responding to code data captured from products so as to alert the product handler to carry out exception handling procedures
CN113965572B (zh) * 2021-11-02 2024-05-14 上海佰贝网络工程技术有限公司 一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000000903A1 (fr) * 1998-06-30 2000-01-06 Mitsubishi Denki Kabushiki Kaisha Processeur central multiple
JP2000207202A (ja) * 1998-10-29 2000-07-28 Pacific Design Kk 制御装置およびデ―タ処理装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4395758A (en) * 1979-12-10 1983-07-26 Digital Equipment Corporation Accelerator processor for a data processing system
DE3300699C2 (de) * 1983-01-11 1985-12-19 Nixdorf Computer Ag, 4790 Paderborn Schaltungsanordnung zum Adressieren der jeweils ein Adreßvolumen aufweisenden Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozessorsystem mit Systembus
DE3580552D1 (de) 1984-08-02 1990-12-20 Telemecanique Electrique Programmierbare steuereinrichtung mit zusatzprozessor.
US4648034A (en) * 1984-08-27 1987-03-03 Zilog, Inc. Busy signal interface between master and slave processors in a computer system
JP2564805B2 (ja) 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
US5870602A (en) * 1987-11-03 1999-02-09 Compaq Computer Corporation Multi-processor system with system wide reset and partial system reset capabilities
GB2225881A (en) 1988-12-06 1990-06-13 Flare Technology Limited Co-processor intrude mechanism
GB2230119B (en) 1989-04-07 1993-04-21 Intel Corp Conditional execution speed-up on synchronizing instructions
GB2232514B (en) 1989-04-24 1993-09-01 Yokogawa Electric Corp Programmable controller
EP0442041A3 (en) * 1990-01-18 1991-09-04 National Semiconductor Corporation Integrated digital signal processor/general purpose cpu with shared internal memory
US5450553A (en) * 1990-06-15 1995-09-12 Kabushiki Kaisha Toshiba Digital signal processor including address generation by execute/stop instruction designated
US5430850A (en) 1991-07-22 1995-07-04 Massachusetts Institute Of Technology Data processing system with synchronization coprocessor for multiple threads
DE69228980T2 (de) * 1991-12-06 1999-12-02 Nat Semiconductor Corp Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul
ATE179981T1 (de) * 1992-01-31 1999-05-15 Hoffmann La Roche Diphosphinliganden
JPH06103068A (ja) 1992-09-18 1994-04-15 Toyota Motor Corp データ処理装置
IT1260848B (it) 1993-06-11 1996-04-23 Finmeccanica Spa Sistema a multiprocessore
US5740404A (en) * 1993-09-27 1998-04-14 Hitachi America Limited Digital signal processor with on-chip select decoder and wait state generator
US5495588A (en) * 1993-11-18 1996-02-27 Allen-Bradley Company, Inc. Programmable controller having joined relay language processor and general purpose processor
CA2180855A1 (en) 1994-01-10 1995-07-13 Stephen G. Churchill A massively miltiplexed superscalar harvard architecture computer
DE69505717T2 (de) 1994-03-08 1999-06-24 Digital Equipment Corp Verfahren und Vorrichtung zur Feststellung und Durchführung von kreuzweisen Unterprogrammanrufen
JP3180175B2 (ja) * 1995-02-13 2001-06-25 株式会社日立製作所 命令レベルの並列処理制御方法およびプロセッサ
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
US5911082A (en) * 1997-02-25 1999-06-08 Audio Digitalimaging Inc. Parallel processing building block chip
US6055373A (en) * 1997-04-28 2000-04-25 Ncr Corporation Computer system including a digital signal processor and conventional central processing unit having equal and uniform access to computer system resources
US5903744A (en) * 1997-05-15 1999-05-11 Logic Express System, Inc. Logic emulator using a disposable wire-wrap interconnect board with an FPGA emulation board
JP2000112585A (ja) 1998-10-02 2000-04-21 Toshiba Corp システムlsi及びパワーマネジメント方法
US6301650B1 (en) * 1998-10-29 2001-10-09 Pacific Design, Inc. Control unit and data processing system
US7793076B1 (en) 1999-12-17 2010-09-07 Intel Corporation Digital signals processor having a plurality of independent dedicated processors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000000903A1 (fr) * 1998-06-30 2000-01-06 Mitsubishi Denki Kabushiki Kaisha Processeur central multiple
JP2000207202A (ja) * 1998-10-29 2000-07-28 Pacific Design Kk 制御装置およびデ―タ処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006352323A (ja) * 2005-06-14 2006-12-28 Auto Network Gijutsu Kenkyusho:Kk 車載通信用アダプタ
JP2010097593A (ja) * 2008-10-16 2010-04-30 Internatl Business Mach Corp <Ibm> 命令ブロック・シーケンサ・ロジックを有するマルチ実行ユニットによる命令実行のための回路構成、集積回路デバイス、プログラム、及び方法
JP2013504130A (ja) * 2009-09-03 2013-02-04 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 汎用使用のための処理ユニット内部メモリ
JP2018073318A (ja) * 2016-11-04 2018-05-10 株式会社日立製作所 データ共有システム、データ共有方法

Also Published As

Publication number Publication date
GB0201997D0 (en) 2002-03-13
US20020103986A1 (en) 2002-08-01
GB2374692B (en) 2005-08-17
JP4783527B2 (ja) 2011-09-28
US7165166B2 (en) 2007-01-16
GB2374692A (en) 2002-10-23

Similar Documents

Publication Publication Date Title
JP2002304382A (ja) データ処理システム、データ処理装置およびその制御方法
US7765338B2 (en) Methods and apparatus for providing bit-reversal and multicast functions utilizing DMA controller
CN100499556C (zh) 异构多核处理器高速异步互连通信网络
US20070250682A1 (en) Method and apparatus for operating a computer processor array
US7313641B2 (en) Inter-processor communication system for communication between processors
US20020186042A1 (en) Heterogeneous integrated circuit with reconfigurable logic cores
KR20050075722A (ko) 프로세서 시스템, dma 제어 회로, dma 제어 방법,dma 제어기의 제어 방법, 화상 처리 방법, 및 화상처리 회로
CN101510185B (zh) 一种高速总线向低速总线写入、读取数据的方法和装置
JP2002196974A (ja) ディジタル信号処理システム
US7007111B2 (en) DMA port sharing bandwidth balancing logic
CN103793208B (zh) 矢量dsp处理器和协处理器协同运作的数据处理系统
CN112099853B (zh) 基于fpga实现的risc-v处理器、fpga芯片及片上系统
US20090193225A1 (en) System and method for application specific array processing
JP2003005957A (ja) データ処理装置およびその制御方法
JP4391374B2 (ja) テーブル装置、可変長符号化/復号装置、可変長符号化装置および可変長復号装置
JP2003099249A (ja) データ処理装置
US20090019268A1 (en) Processor
Wang Low overhead memory subsystem design for a multicore parallel DSP processor
Essig et al. On-demand instantiation of co-processors on dynamically reconfigurable FPGAs
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
JP2005122514A (ja) プログラム共通制御のソフトウェア及びハードウェアで成る装置
Yamasaki Responsive Multithreaded Processor for distributed real-time control
WO2007098024A2 (en) Allocation of resources among an array of computers
KR20110049645A (ko) 데이터 통신 시스템
JP2004234065A (ja) 複数専用命令を有する専用プロセッサ装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110711

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees