JP3710798B2 - Compound processing unit - Google Patents

Compound processing unit Download PDF

Info

Publication number
JP3710798B2
JP3710798B2 JP2003320945A JP2003320945A JP3710798B2 JP 3710798 B2 JP3710798 B2 JP 3710798B2 JP 2003320945 A JP2003320945 A JP 2003320945A JP 2003320945 A JP2003320945 A JP 2003320945A JP 3710798 B2 JP3710798 B2 JP 3710798B2
Authority
JP
Japan
Prior art keywords
shared
arithmetic
access
general
data memory
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.)
Expired - Fee Related
Application number
JP2003320945A
Other languages
Japanese (ja)
Other versions
JP2004046896A (en
Inventor
和年 舟橋
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003320945A priority Critical patent/JP3710798B2/en
Publication of JP2004046896A publication Critical patent/JP2004046896A/en
Application granted granted Critical
Publication of JP3710798B2 publication Critical patent/JP3710798B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

この発明は、例えば演算処理の特徴が異なる(同じ場合もある)複数の独立した演算装置を備えた複合演算処理装置に関するもので、複合演算処理装置に対する命令が可変のプログラムによって導き出され、順番に実行される複合演算処理装置に応用される。   The present invention relates to a composite arithmetic processing device including a plurality of independent arithmetic devices having different (or the same in some cases) characteristics of arithmetic processing, for example, and instructions for the composite arithmetic processing device are derived by a variable program, It is applied to a complex arithmetic processing device to be executed.

従来の複合演算処理装置では、複数の独立した演算処理装置に対し、各演算処理装置に対応した複数のメモリおよび複数の汎用レジスタを有し、第1の演算処理装置から第2の演算処理装置に対して演算処理の依頼をする場合、
(1)複数の独立した演算処理装置の外部にある共有メモリを介する方法、
(2)シリアル/パラレル等のデータの入出力部を使用する方法
により、処理依頼の内容および処理依頼するデータを転送していた。これらの従来技術では、全体の処理速度、演算処理のリアルタイム性が失われてしまう。
The conventional complex arithmetic processing device has a plurality of memories and a plurality of general-purpose registers corresponding to each arithmetic processing device for a plurality of independent arithmetic processing devices, and the first arithmetic processing device to the second arithmetic processing device. When requesting calculation processing for
(1) A method via a shared memory outside a plurality of independent arithmetic processing devices,
(2) The contents of the processing request and the data to be processed are transferred by a method using a data input / output unit such as serial / parallel. In these conventional techniques, the entire processing speed and real-time performance of the arithmetic processing are lost.

また、ある全体の処理を複数の演算処理装置に分割する場合、この分割の優劣が、全体性能を大きく左右してしまう。しかも、この処理全体の分割を行う作業は、極めて特殊な知識、技術を必要とする。
特開昭63−3350号公報
Further, when a certain entire process is divided into a plurality of arithmetic processing devices, the superiority or inferiority of the division greatly affects the overall performance. Moreover, the work of dividing the entire process requires very special knowledge and technology.
JP-A-63-3350

従来の技術での、演算処理性能を高めるために複数の独立した演算処理装置を利用する方法では、
(1)主演算処理装置および従演算処理装置があり、従演算処理装置は主演算処理装置からの命令依頼を受けて動作する方法、
(2)演算処理を複数のブロックに分割し、各々の演算処理装置に各々のブロックを分担し、同時に別々の処理ブロックを実行する方法の2種類がある。
In the method of using a plurality of independent arithmetic processing devices in order to improve the arithmetic processing performance in the prior art,
(1) There are a main arithmetic processing device and a sub arithmetic processing device, and the sub arithmetic processing device operates in response to an instruction request from the main arithmetic processing device,
(2) There are two types of methods in which the arithmetic processing is divided into a plurality of blocks, each block is assigned to each arithmetic processing unit, and different processing blocks are executed simultaneously.

(1)の場合では、従演算処理装置が実動作しない時間が長く、効率が悪かった(課題1)。   In the case of (1), the time during which the sub processor does not actually operate is long and the efficiency is low (Problem 1).

(2)の場合では、命令の同時実行が行われ、効率は良いが、処理の内容によっては、上記したような分割が極めて困難な場合もあり、分割された各ブロックが相互に密に依存している場合もある。このような処理を(2)で実行すると、各々の演算処理装置の間で、データの送受信が頻度高く発生する。このような各演算処理装置の間でのデータの送受信は、頻度が高くなればなるほど、またデータ量が多くなればなるほど、全体の処理速度は低下する(課題2)。   In the case of (2), instructions are executed simultaneously and efficiency is high. However, depending on the contents of processing, the division as described above may be extremely difficult, and the divided blocks depend closely on each other. Sometimes it is. When such processing is executed in (2), data transmission / reception occurs frequently between the respective arithmetic processing devices. In such data transmission / reception between the processing units, the higher the frequency and the larger the amount of data, the lower the overall processing speed (Problem 2).

従来の複数の独立した演算処理装置の内部は、各々単体でも演算処理可能となるよう設計されており、複数の独立した演算処理装置全体のシステムでみた場合、不用な部分、冗長な部分が存在し、システム全体のコストを上げていた(課題3)。   The interiors of multiple independent arithmetic processing units are designed so that they can be processed individually, and there are unnecessary and redundant parts when viewed in the system of multiple independent arithmetic processing units. However, the cost of the entire system was raised (Problem 3).

この発明の目的は、上記の問題を解決し、演算処理を効率よく安価に実行することができる複合演算処理装置を提供することである。   An object of the present invention is to provide a complex arithmetic processing apparatus that solves the above-described problems and can execute arithmetic processing efficiently and inexpensively.

上記課題を解決するために、本発明の複合演算処理装置は、演算処理の特徴が異なる第1および第2の独立した演算装置と、二つのポートを有し第1および第2の演算装置に接続された共有メモリと、二つのポートを有し第1および第2の演算装置に接続された共有汎用レジスタと、共有メモリおよび共有汎用レジスタを第1および第2の演算装置からアクセスするための第1および第2のアクセス手段と、第1の演算装置に設けられて第2の演算装置に対して割り込みを発生する割り込み手段と、第2の演算装置に設けられて割り込みによる演算処理の終了を第1の演算装置に知らせるための演算処理終了設定手段とを備えている。 In order to solve the above-described problems, a composite arithmetic processing device of the present invention includes first and second independent arithmetic devices having different characteristics of arithmetic processing, and two ports and the first and second arithmetic devices . A shared memory connected, a shared general-purpose register having two ports connected to the first and second arithmetic units , and the shared memory and shared general-purpose register for accessing the shared memory and the common general-purpose register from the first and second arithmetic units first and second access means, and the interrupt means for generating an interrupt to the second computing device is provided to the first arithmetic unit, the end of the processing by the interrupt provided to the second arithmetic unit Is provided with an arithmetic processing end setting means for informing the first arithmetic device .

第1の演算装置は、演算処理の過程で第2の演算装置での処理の方が適している演算が発生した時、割り込み手段により第2の演算装置に対して演算処理の依頼を割り込みとして発生し、演算処理に必要なデータを引き数として共有汎用レジスタおよび共有メモリに格納するようにしている。 When an operation that is more suitable for the processing in the second arithmetic unit occurs in the course of the arithmetic processing, the first arithmetic unit uses the interrupt means to interrupt the second arithmetic unit as a request for the arithmetic processing. The generated data required for the arithmetic processing is stored as an argument in the shared general-purpose register and the shared memory.

第2の演算装置は、依頼された演算処理を引き数を用いて実行し、演算結果のデータを帰り数として共有汎用レジスタおよび共有メモリに格納し、演算処理終了設定手段により第1の演算装置に演算処理終了情報を設定するようにしている。 The second arithmetic device executes the requested arithmetic processing using an argument, stores the data of the arithmetic result as a return number in the shared general-purpose register and the shared memory, and the arithmetic processing end setting means uses the first arithmetic device. The operation processing end information is set in.

上記構成においては、共有メモリが書き換え可能な領域を有し、第1および第2の演算装置からのアクセスの許可/禁止情報を共有メモリおよび共有汎用レジスタの一定範囲毎にそれぞれ設定するアクセス許可/禁止情報設定手段を設け、第1および第2の演算装置からのアクセス状況を共有メモリの一定範囲毎に第2および第1の演算装置へ伝達するためのアクセス状況設定手段を設けてもよい。 In the above configuration, the shared memory has a rewritable area, and access permission / prohibition information for setting access permission / prohibition information from the first and second arithmetic units for each fixed range of the shared memory and the shared general-purpose register, respectively. Prohibition information setting means may be provided, and access status setting means for transmitting the access status from the first and second arithmetic devices to the second and first arithmetic devices for each fixed range of the shared memory may be provided.

この際、複数のアクセス手段は、アクセス許可/禁止情報設定手段の設定内容を参照しながらアクセスが許可されている範囲についてのみ共有メモリおよび共有汎用レジスタのアクセスを行うとともに、アクセス状況設定手段の設定内容を参照しながら共有メモリの書き換え可能な領域のアクセスを行うようにしている。   At this time, the plurality of access means access the shared memory and the shared general-purpose register only for the range where access is permitted while referring to the setting contents of the access permission / prohibition information setting means, and set the access status setting means. The rewritable area of the shared memory is accessed while referring to the contents.

また、第1の演算装置は、第2の演算装置に対し演算の依頼をした場合に、引き数を共有汎用レジスタおよび共有メモリに設定した時に引き数の設定を完了したことをアクセス状況設定手段により設定するとともに、共有汎用レジスタおよび共有メモリのうち引き数を保持した領域の許可/禁止情報をアクセス許可/禁止情報設定手段により逆転させるようにしている。 In addition, when the first arithmetic unit requests the second arithmetic unit to calculate, the access status setting means that the setting of the argument is completed when the argument is set in the shared general-purpose register and the shared memory. In addition, the permission / prohibition information of the area holding the argument in the shared general-purpose register and shared memory is reversed by the access permission / prohibition information setting means.

さらに、第2の演算装置は、依頼された演算処理を完了した場合に帰り数を共有汎用レジスタおよび共有メモリに設定した時に帰り数の設定を完了したことをアクセス状況設定手段により設定するとともに、共有汎用レジスタおよび共有メモリのうち帰り数を保持した領域の許可/禁止情報をアクセス許可/禁止情報設定手段により逆転させるようにしている。 Furthermore, the second arithmetic unit sets, by the access status setting means, that the setting of the return number is completed when the return number is set in the shared general-purpose register and the shared memory when the requested arithmetic processing is completed, The permission / prohibition information of the area holding the return number in the shared general-purpose register and the shared memory is reversed by the access permission / prohibition information setting means.

この構成によれば、第1の演算装置におけるある処理ブロック内の過程で、第2の演算装置に適した処理が発生した時、他の演算装置に対する割り込みという形で演算の依頼を行い、依頼した演算が第2の演算装置で終了するまで、他の処理を実行することができる。依頼した演算処理の演算結果は、共有メモリおよび共有汎用レジスタ内に保持され、演算処理終了情報が設定されるので、第1の演算装置は、必要な時に、演算処理終了情報を確認し、演算結果を読みとれば良い。第2の演算装置も、依頼された処理は割り込み内で処理され、依頼された演算処理の終了時、演算結果と演算処理終了情報を設定して主演算処理に戻れば良い。この時、この依頼された演算処理は、割り込み内で処理されるので、割り込み演算処理の初期部に、主演算装置で使用する共用メモリおよび共用汎用レジスタを待避させる処理を組み込めば、主演算処理に影響を与えることなく、独立して依頼された演算処理を実行できる According to this configuration, when a process suitable for the second arithmetic device occurs in a process block in the first arithmetic device, an operation request is made in the form of an interrupt to another arithmetic device. Other processing can be executed until the calculated operation is completed by the second arithmetic unit. The calculation result of the requested calculation process is held in the shared memory and the shared general-purpose register, and calculation process end information is set. Therefore, when necessary, the first calculation unit checks the calculation process end information and calculates Read the results. Also in the second arithmetic unit, the requested processing is processed within an interrupt, and at the end of the requested arithmetic processing, the arithmetic result and the arithmetic processing end information are set and the processing returns to the main arithmetic processing. At this time, since the requested arithmetic processing is processed in the interrupt, if the processing for saving the shared memory and the general-purpose register used in the main arithmetic unit is incorporated in the initial part of the interrupt arithmetic processing, the main arithmetic processing The requested arithmetic processing can be executed independently without affecting the processing .

本発明の複合演算処理装置によれば、複数の独立した演算装置で分割された各処理ブロックを同時に処理し、かつ、きわめて依存度の高い複数の各処理ブロックを処理する複数の独立した演算装置の間の送受信を、共有したメモリおよび共有汎用レジスタを使用することにより、実際のデータの転送を実行することなく行うことができるので、従来まで複数の演算装置が必要であった複雑な処理を必要とする演算処理を、効率よく、安価なシステムで実現できる。つまり、効率の良いハードウエアで効率の良いソフトウエアを作成することができる。 According to the complex arithmetic processing device of the present invention, a plurality of independent arithmetic devices that simultaneously process each processing block divided by a plurality of independent arithmetic devices and process a plurality of processing blocks with extremely high dependence transmission and reception between, by using a shared memory and shared general purpose registers, it is possible to perform without performing the transfer of actual data, complicated processing was required multiple computing devices to conventional Necessary arithmetic processing can be realized with an efficient and inexpensive system. In other words, efficient software can be created with efficient hardware.

また、この複合演算処理装置によれば、第1の演算装置におけるある処理ブロック内の過程で、第2の演算装置に適した処理が発生した時、他の演算装置に対する割り込みという形で演算の依頼を行い、依頼した演算が第2の演算装置で終了するまで、他の処理を実行することができ、依頼した演算処理の演算結果は、共有メモリおよび共有汎用レジスタ内に保持され、演算処理終了情報が設定される。そのため、第1の演算装置は、必要な時に、演算処理終了情報を確認し、演算結果を読みとれば良く、第2の演算装置も、依頼された処理は割り込み内で処理され、依頼された演算処理の終了時、演算結果と演算処理終了情報を設定して主演算処理に戻れば良いので、従来まで複数の演算装置が必要であった複雑な処理を必要とする演算処理を、効率よく、安価なシステムで実現できる。つまり、効率の良いハードウエアで効率の良いソフトウエアを作成することができる。
Further, according to this composite arithmetic processing device, when processing suitable for the second arithmetic device occurs in the process in a certain processing block in the first arithmetic device , the arithmetic operation is performed in the form of an interrupt to another arithmetic device . The other processing can be executed until the requested computation is completed in the second computing device , and the computation result of the requested computation processing is held in the shared memory and the shared general-purpose register. End information is set. Therefore, the first arithmetic unit only needs to confirm the arithmetic processing end information and read the arithmetic result when necessary, and the second arithmetic unit also processes the requested processing within an interrupt, and requests the requested arithmetic operation. At the end of the process, it is only necessary to set the calculation result and the calculation process end information and return to the main calculation process, so that the calculation process that requires a complicated process that conventionally required a plurality of calculation devices can be efficiently performed, It can be realized with an inexpensive system. In other words, efficient software can be created with efficient hardware.

以下、本発明の実施の形態を、図面を参照しながら説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

この発明の複合演算処理装置の一実施例として、独立した16ビットの演算処理装置(以下、マイクロコントローラとする)と積和演算に特徴をもつ16ビットのデータ幅/32ビットの命令コード幅を持つ演算処理装置(以下、デジタルシグナルプロセッサとする)とからなる複合演算処理装置について説明する。   As an embodiment of the complex arithmetic processing device of the present invention, an independent 16-bit arithmetic processing device (hereinafter referred to as a microcontroller) and a 16-bit data width / 32-bit instruction code width characterized by product-sum operation are provided. A complex arithmetic processing device including an arithmetic processing device (hereinafter referred to as a digital signal processor) will be described.

図1は、この発明の実施例である共有メモリ(共有命令メモリおよび共有データメモリ)および共有汎用レジスタをもつ16ビットマイクロコントローラと16ビットのデータ幅/32ビットの命令コード幅を持つデジタルシグナルプロセッサとからなる複合演算処理装置のブロック図である。   FIG. 1 shows a 16-bit microcontroller having a shared memory (shared instruction memory and shared data memory) and a shared general-purpose register and a digital signal processor having a 16-bit data width / 32-bit instruction code width according to an embodiment of the present invention. It is a block diagram of the compound arithmetic processing apparatus consisting of.

図1において、101はデジタルシグナルプロセッサおよびマイクロコントローラの共有命令メモリであり、複数のポートを有している。   In FIG. 1, reference numeral 101 denotes a shared instruction memory for a digital signal processor and a microcontroller, which has a plurality of ports.

102はデジタルシグナルプロセッサおよびマイクロコントローラの共有データメモリであり、複数のポートを有している。   Reference numeral 102 denotes a shared data memory for the digital signal processor and the microcontroller, which has a plurality of ports.

103はデジタルシグナルプロセッサだけにアクセスが許されるローカルデータメモリである。   Reference numeral 103 denotes a local data memory that can be accessed only by the digital signal processor.

104はマイクロコントローラ用の共有命令メモリポインタである。   Reference numeral 104 denotes a shared instruction memory pointer for the microcontroller.

105はデジタルシグナルプロセッサ用の共有命令メモリポインタである。   Reference numeral 105 denotes a shared instruction memory pointer for the digital signal processor.

106はマイクロコントローラ用の共有データメモリポインタである。   Reference numeral 106 denotes a shared data memory pointer for the microcontroller.

107はデジタルシグナルプロセッサ用の共有データメモリポインタである。   Reference numeral 107 denotes a shared data memory pointer for the digital signal processor.

108はデジタルシグナルプロセッサ用のローカルデータメモリポインタである。   Reference numeral 108 denotes a local data memory pointer for the digital signal processor.

109はデジタルシグナルプロセッサおよびマイクロコントローラの共有汎用レジスタであり、複数のポートを有している。   Reference numeral 109 denotes a general-purpose register shared by the digital signal processor and the microcontroller, and has a plurality of ports.

110はマイクロコントローラ用の演算処理部である。   Reference numeral 110 denotes a processing unit for the microcontroller.

111はデジタルシグナルプロセッサ用の演算処理部である。   Reference numeral 111 denotes an arithmetic processing unit for a digital signal processor.

112はデジタルシグナルプロセッサ用の乗算部である。   Reference numeral 112 denotes a multiplier for the digital signal processor.

113,114および115はマイクロコントローラおよびデジタルシグナルプロセッサの共有外部入出力部(共有周辺入出力部)である。   Reference numerals 113, 114 and 115 denote shared external input / output units (shared peripheral input / output units) for the microcontroller and the digital signal processor.

116はマイクロコントローラ用の命令コードアドレスバス(共有命令メモリアドレスバス)である。   Reference numeral 116 denotes an instruction code address bus (shared instruction memory address bus) for the microcontroller.

117はデジタルシグナルプロセッサ用の命令コードアドレスバス(共有命令メモリアドレスバス)である。   Reference numeral 117 denotes an instruction code address bus (shared instruction memory address bus) for the digital signal processor.

118はマイクロコントローラ用の命令コードデータバス(共有命令メモリデータバス)である。   Reference numeral 118 denotes an instruction code data bus (shared instruction memory data bus) for the microcontroller.

119はデジタルシグナルプロセッサ用の命令コードデータバス(共有命令メモリデータバス)である。   Reference numeral 119 denotes an instruction code data bus (shared instruction memory data bus) for the digital signal processor.

120はマイクロコントローラ用の共有データメモリデータバスである。   Reference numeral 120 denotes a shared data memory data bus for the microcontroller.

121はデジタルシグナルプロセッサ用の共有データメモリデータバスである。   Reference numeral 121 denotes a shared data memory data bus for the digital signal processor.

122はデジタルシグナルプロセッサ用のローカルデータメモリデータバスである。   Reference numeral 122 denotes a local data memory data bus for the digital signal processor.

123はマイクロコントローラ用の命令解読部である。   Reference numeral 123 denotes an instruction decoding unit for the microcontroller.

124はデジタルシグナルプロセッサ用の命令解読部である。   An instruction decoding unit 124 for the digital signal processor.

図2に共有命令メモリ101の構造を示す。図2において、201および202は命令メモリ領域で、16ビット×Nの2面構造であり、複数のポートを有している。   FIG. 2 shows the structure of the shared instruction memory 101. In FIG. 2, 201 and 202 are instruction memory areas having a 16-bit × N two-sided structure and having a plurality of ports.

203はマイクロコントローラ用の命令メモリ管理部(特許請求の範囲におけるアクセス手段を構成する)である。   Reference numeral 203 denotes an instruction memory management unit for the microcontroller (which constitutes access means in the claims).

204はデジタルシグナルプロセッサ用の命令メモリ管理部(特許請求の範囲におけるアクセス手段を構成する)である。   Reference numeral 204 denotes an instruction memory management unit for digital signal processors (which constitutes access means in the claims).

205はマイクロコントローラ用の命令メモリ最大アドレス値設定レジスタである。   Reference numeral 205 denotes an instruction memory maximum address value setting register for the microcontroller.

206はデジタルシグナルプロセッサ用の命令メモリ最小アドレス値設定レジスタである。   Reference numeral 206 denotes an instruction memory minimum address value setting register for the digital signal processor.

207はマイクロコントローラ用の現在のアドレス値と命令メモリ最大アドレス値設定レジスタ205の設定値とを比較する比較部である。   A comparison unit 207 compares the current address value for the microcontroller with the setting value of the instruction memory maximum address value setting register 205.

208はデジタルシグナルプロセッサ用の現在のアドレス値と命令メモリ最小アドレス値設定レジスタ206の設定値とを比較する比較部である。   A comparison unit 208 compares the current address value for the digital signal processor with the set value of the instruction memory minimum address value setting register 206.

209はマイクロコントローラ用の命令コードアドレスバスである。   Reference numeral 209 denotes an instruction code address bus for the microcontroller.

210はデジタルシグナルプロセッサ用の命令コードアドレスバスである。   210 is an instruction code address bus for the digital signal processor.

211はマイクロコントローラ用の命令コードデータバスである。   211 is an instruction code data bus for the microcontroller.

212はデジタルシグナルプロセッサ用の命令コードデータバスである。   Reference numeral 212 denotes an instruction code data bus for the digital signal processor.

図3に書き換え可能な共有データメモリ102の構造を示す。図3において、301,302,303,304は書き換え可能なデータメモリ領域で、各々16ビット×N(Nは2のべき数が望ましい)ワードのセグメント単位の領域で、多面構造であり、複数のポートを有している。   FIG. 3 shows the structure of the rewritable shared data memory 102. In FIG. 3, 301, 302, 303, and 304 are rewritable data memory areas, each of which is a segment unit area of 16 bits × N (N is preferably a power of 2), and has a multifaceted structure. Has a port.

305はマイクロコントローラ用のデータメモリ管理部(特許請求の範囲におけるアクセス手段を構成する)である。   Reference numeral 305 denotes a data memory management unit for the microcontroller (which constitutes access means in the claims).

306はデジタルシグナルプロセッサ用のデータメモリ管理部(特許請求の範囲におけるアクセス手段を構成する)である。   Reference numeral 306 denotes a data memory management unit for digital signal processors (which constitutes access means in claims).

307は共有データメモリセグメント単位選択値設定レジスタである。   Reference numeral 307 denotes a shared data memory segment unit selection value setting register.

308はマイクロコントローラ用の現在のアドレス値と共有データメモリセグメント単位選択値設定レジスタ307のセグメント選択値とを比較する比較部である。   A comparison unit 308 compares the current address value for the microcontroller with the segment selection value of the shared data memory segment unit selection value setting register 307.

309はデジタルシグナルプロセッサ用の現在のアドレス値と共有データメモリセグメント単位選択値設定レジスタ307のセグメント選択値とを比較する比較部である。   A comparison unit 309 compares the current address value for the digital signal processor with the segment selection value of the shared data memory segment unit selection value setting register 307.

310は共有データメモリアクセス状況フラグレジスタ(特許請求の範囲におけるアクセス状況通知手段を構成する)である。   Reference numeral 310 denotes a shared data memory access status flag register (which constitutes access status notification means in the claims).

311はマイクロコントローラ用の共有データメモリデータバスである。   Reference numeral 311 denotes a shared data memory data bus for the microcontroller.

312はデジタルシグナルプロセッサ用の共有データメモリデータバスである。   Reference numeral 312 denotes a shared data memory data bus for the digital signal processor.

313はマイクロコントローラ用の共有データメモリアドレスバスである。   Reference numeral 313 denotes a shared data memory address bus for the microcontroller.

314はデジタルシグナルプロセッサ用の共有データメモリアドレスバスである。   Reference numeral 314 denotes a shared data memory address bus for the digital signal processor.

315はマイクロコントローラ用の共有データメモリ書き込み信号である。   Reference numeral 315 denotes a shared data memory write signal for the microcontroller.

316はマイクロコントローラ用の共有データメモリ読み出し信号である。   Reference numeral 316 denotes a shared data memory read signal for the microcontroller.

317はデジタルシグナルプロセッサ用の共有データメモリ書き込み信号である。   Reference numeral 317 denotes a shared data memory write signal for the digital signal processor.

318はデジタルシグナルプロセッサ用の共有データメモリ読み出し信号である。   Reference numeral 318 denotes a shared data memory read signal for the digital signal processor.

図4に共有汎用レジスタ109の構造を示す。図4において、401,402,403〜40Nは汎用レジスタで、16ビット×N(Nは2のべき数が望ましい)ワードの構成であり、複数のポートを有している。   FIG. 4 shows the structure of the shared general purpose register 109. In FIG. 4, 401, 402, and 403 to 40N are general-purpose registers, each of which has a configuration of 16 bits × N (N is preferably a power of 2), and has a plurality of ports.

410はマイクロコントローラ用のレジスタ選択部である。   Reference numeral 410 denotes a register selection unit for the microcontroller.

411はデジタルシグナルプロセッサ用のレジスタ選択部である。   Reference numeral 411 denotes a register selection unit for a digital signal processor.

412は共有汎用レジスタ109のアクセス許可/禁止情報設定レジスタ(特許請求の範囲におけるアクセス許可/禁止設定手段を構成する)で、各々の汎用レジスタ401,402,403〜40Nがマイクロコントローラもしくはデジタルシグナルプロセッサからアクセス可能かどうかを設定するレジスタである。   Reference numeral 412 denotes an access permission / prohibition information setting register of the shared general-purpose register 109 (which constitutes access permission / prohibition setting means in the claims). Each of the general-purpose registers 401, 402, 403 to 40N is a microcontroller or a digital signal processor. It is a register that sets whether or not it can be accessed from.

413はマイクロコントローラ用の共有データメモリデータバスである。   Reference numeral 413 denotes a shared data memory data bus for the microcontroller.

414はデジタルシグナルプロセッサ用の共有データメモリデータバスである。   Reference numeral 414 denotes a shared data memory data bus for the digital signal processor.

415はマイクロコントローラ用の共有データメモリアドレスバスである。   Reference numeral 415 denotes a shared data memory address bus for the microcontroller.

418はデジタルシグナルプロセッサ用の共有データメモリアドレスバスである。   Reference numeral 418 denotes a shared data memory address bus for the digital signal processor.

416はマイクロコントローラ用の共有データメモリ書き込み信号である。   Reference numeral 416 denotes a shared data memory write signal for the microcontroller.

417はマイクロコントローラ用の共有データメモリ読み出し信号である。   Reference numeral 417 denotes a shared data memory read signal for the microcontroller.

419はデジタルシグナルプロセッサ用の共有データメモリ書き込み信号である。   Reference numeral 419 denotes a shared data memory write signal for the digital signal processor.

420はデジタルシグナルプロセッサ用の共有データメモリ読み出し信号である。   Reference numeral 420 denotes a shared data memory read signal for a digital signal processor.

421は対応する汎用レジスタ401,402,403〜40Nがアクセスされたかどうかを示すフラグレジスタである。図5に共有外部入出力部113〜115の構成を示す。   A flag register 421 indicates whether or not the corresponding general-purpose registers 401, 402, and 403 to 40N are accessed. FIG. 5 shows the configuration of the shared external input / output units 113 to 115.

図5において、501は出力データバッファである。   In FIG. 5, reference numeral 501 denotes an output data buffer.

502は入力データバッファである。   Reference numeral 502 denotes an input data buffer.

503は外部入出力制御部(特許請求の範囲におけるアクセス手段を構成する)である。   Reference numeral 503 denotes an external input / output control unit (which constitutes access means in the claims).

504は共有外部入出力部113〜115の状態を示す状態保持部である。   A state holding unit 504 indicates the state of the shared external input / output units 113 to 115.

505は共有外部入出力部113〜115のマイクロコントローラおよびデジタルシグナルプロセッサからのアクセス許可/禁止情報を設定するアクセス許可/禁止情報設定レジスタ(特許請求の範囲におけるアクセス許可/禁止設定手段を構成する)である。   Reference numeral 505 denotes an access permission / prohibition information setting register for setting access permission / prohibition information from the microcontrollers and digital signal processors of the shared external input / output units 113 to 115 (which constitutes access permission / prohibition setting means in the claims). It is.

506は共有外部入出力部113〜115の状態により演算処理装置に対し割り込みを発生させる割り込み信号発生部(特許請求の範囲における割り込み信号発生部を構成する)である。   Reference numeral 506 denotes an interrupt signal generator (which constitutes an interrupt signal generator in the claims) that generates an interrupt to the arithmetic processing unit according to the state of the shared external input / output units 113 to 115.

507は外部入出力端子である。   Reference numeral 507 denotes an external input / output terminal.

510はマイクロコントローラの共有データメモリデータバスである。   Reference numeral 510 denotes a shared data memory data bus of the microcontroller.

511はデジタルシグナルプロセッサの共有データメモリデータバスである。   Reference numeral 511 denotes a shared data memory data bus of the digital signal processor.

512はマイクロコントローラに対する共有外部入出力部割り込み信号である。   512 is a shared external input / output interrupt signal for the microcontroller.

513はデジタルシグナルプロセッサに対する共有外部入出力部割り込み信号である。   Reference numeral 513 denotes a shared external input / output unit interrupt signal for the digital signal processor.

514は出力データバッファ501から外部入出力端子507への出力データバスである。   Reference numeral 514 denotes an output data bus from the output data buffer 501 to the external input / output terminal 507.

515は外部入出力端子507から入力データバッファ502への入力データバスである。   Reference numeral 515 denotes an input data bus from the external input / output terminal 507 to the input data buffer 502.

516はマイクロコントローラからの共有外部入出力部選択信号である。   Reference numeral 516 denotes a shared external input / output unit selection signal from the microcontroller.

517はデジタルシグナルプロセッサからの共有外部入出力選択信号である。   Reference numeral 517 denotes a shared external input / output selection signal from the digital signal processor.

518は外部入出力信号である。   Reference numeral 518 denotes an external input / output signal.

以下に、マイクロコントローラおよびデジタルシグナルプロセッサの動作について詳しく説明する。   The operation of the microcontroller and digital signal processor will be described in detail below.

マイクロコントローラ:
まず、マイクロコントローラの命令は、そのアドレスが、図1の共有命令メモリポインタ104から、命令コードアドレスバス116、図2の命令コードアドレスバス209を通り、図2の命令メモリ管理部203に入る。命令メモリ管理部203では、命令コードアドレスバス209から入力されたアドレスが、命令メモリ最大アドレス値設定レジスタ205に保持されている命令メモリ最大アドレス設定値と比較し、設定値以内であれば、そのままのアドレスを共有命令メモタ101の命令メモリ領域201,202のアドレスとして出力する。設定値を超えるアドレスと判断した場合、それは、デジタルシグナルプロセッサに割り当てられた命令メモリ領域であり、プログラムの異常と判断し、異常終了処理を実行するアドレスに変換される。命令メモリ領域201,202では、アドレスに対応する命令コードを命令コードデータバス211に命令コードデータとして出力し、図1の命令コードデータバス118を通り、命令解読部123に入る。命令解読部123では、命令を解読し、命令に対応した処理を実行するように、対応する部位に命令を出力する。
Microcontroller:
First, the address of the instruction of the microcontroller enters the instruction memory management unit 203 in FIG. 2 from the shared instruction memory pointer 104 in FIG. 1 through the instruction code address bus 116 and the instruction code address bus 209 in FIG. In the instruction memory management unit 203, the address input from the instruction code address bus 209 is compared with the instruction memory maximum address setting value held in the instruction memory maximum address value setting register 205. Are output as the addresses of the instruction memory areas 201 and 202 of the shared instruction memo 101. If it is determined that the address exceeds the set value, it is an instruction memory area allocated to the digital signal processor, which is determined to be a program error and is converted to an address for executing the abnormal termination process. In the instruction memory areas 201 and 202, the instruction code corresponding to the address is output as instruction code data to the instruction code data bus 211, and enters the instruction decoding unit 123 through the instruction code data bus 118 of FIG. The instruction decoding unit 123 decodes the instruction and outputs the instruction to the corresponding part so as to execute processing corresponding to the instruction.

マイクロコントローラ側からみた場合、命令メモリ領域201,202は、命令メモリ領域201に偶数ワード、命令メモリ領域202に奇数ワードの構造になっており、命令コードアドレスバス209の最下位ビットが、命令メモリ領域201/202の選択ビットとなる。命令コードアドレスバス209に出力されるアドレスが、偶数の場合、命令メモリ領域201から対応する命令コードデータが、命令コードデータバス211に出力され、命令メモリ領域202の命令コードデータバス211側の出力は、高インピーダンス状態となる。一方、命令コードアドレスバス209に出力されるアドレスが、奇数の場合、命令メモリ領域201の命令コードデータバス211側の出力は、高インピーダンス状態となり、命令メモリ領域202から対応する命令コードデータが、命令コードデータバス211に出力される。   When viewed from the microcontroller side, the instruction memory areas 201 and 202 have an even word structure in the instruction memory area 201 and an odd word structure in the instruction memory area 202, and the least significant bit of the instruction code address bus 209 is the instruction memory area. This is a selection bit for the area 201/202. If the address output to the instruction code address bus 209 is an even number, the corresponding instruction code data is output from the instruction memory area 201 to the instruction code data bus 211, and output on the instruction code data bus 211 side of the instruction memory area 202 Becomes a high impedance state. On the other hand, when the address output to the instruction code address bus 209 is an odd number, the output on the instruction code data bus 211 side of the instruction memory area 201 is in a high impedance state, and the corresponding instruction code data from the instruction memory area 202 is It is output to the instruction code data bus 211.

つぎに、マイクロコントローラの共有データメモリ102へのアクセスは、そのアドレスが、図1の共有データメモリポインタ106、図3の共有データメモリアドレスバス313を通り、図3のデータメモリ管理部305に入る。データメモリ管理部305では、共有データメモリアドレスバス313から入力されたアドレスと、共有データメモリセグメント単位選択値設定レジスタ307に保持されている設定値とを比較部308で比較し、マイクロコントローラのアクセスが許可されたアドレスであれば、そのまま共有データメモリ102のデータメモリ領域301〜304のアドレスとして出力し、許可されていないアドレスであれば、共有データメモリ102のデータメモリ領域301〜304へのアドレスの出力を停止する。また、この時に禁止セグメントのアドレスをアクセスしようとしたことをフラグ等で知らせることも可能とする。共有データメモリ102のデータメモリ領域301〜304中の許可セグメントのアドレスを書き込みアクセスした際、当該セグメントの内容が変更されたことを通知するために、共有データメモリアクセス状況フラグレジスタ310のそのセグメントに対応するフラグをセットする。このフラグをデジタルシグナルプロセッサからも読み出すことを可能にすることにより、共有データメモリ102上の共有のデータ、およびデータの処理を制御できる。   Next, when the microcontroller accesses the shared data memory 102, the address passes through the shared data memory pointer 106 in FIG. 1 and the shared data memory address bus 313 in FIG. 3, and enters the data memory management unit 305 in FIG. . In the data memory management unit 305, the address input from the shared data memory address bus 313 and the setting value held in the shared data memory segment unit selection value setting register 307 are compared by the comparison unit 308 to access the microcontroller. If the address is permitted, the address is directly output as the address of the data memory areas 301 to 304 of the shared data memory 102. If the address is not permitted, the address to the data memory areas 301 to 304 of the shared data memory 102 is output. Stop the output of. At this time, it is also possible to notify with a flag or the like that an attempt was made to access the address of the prohibited segment. When the address of the permitted segment in the data memory area 301 to 304 of the shared data memory 102 is written and accessed, the segment of the shared data memory access status flag register 310 is notified in order to notify that the content of the segment has been changed. Set the corresponding flag. By making it possible to read this flag also from the digital signal processor, it is possible to control the shared data on the shared data memory 102 and the processing of the data.

つまり、アクセス状況フラグをデジタルシグナルプロセッサからも読み出すことを可能にすることにより、共有データメモリ上の書き換えが実行されたセグメントを知ることができる。また、マイクロコントローラは、アクセスが許可された共有データメモリのセグメントをデジタルシグナルプロセッサに許可するようセグメント単位選択値設定レジスタの値を変更できる。これらの動作により共有データメモリ上の共有のデータおよびデータの処理を制御できる(データの受け渡しアクセスの許可禁止のシーケンスは図6参照)。   That is, by making it possible to read the access status flag also from the digital signal processor, it is possible to know the segment on which the rewrite on the shared data memory has been executed. Further, the microcontroller can change the value of the segment unit selection value setting register so as to permit the digital signal processor to access the segment of the shared data memory to which access is permitted. With these operations, shared data on the shared data memory and data processing can be controlled (refer to FIG. 6 for the permission / prohibition sequence of the data transfer access).

アクセスが許可されたアドレスのデータは、データメモリ書き込み信号315およびデータメモリ読み出し信号316に従って書き込み処理、読み出し処理の各々の処理が適宜実行される。   For the data at the address permitted to be accessed, each of the writing process and the reading process is appropriately executed according to the data memory write signal 315 and the data memory read signal 316.

マイクロコントローラの共有汎用レジスタ109へのアクセスは、共有データメモリ102と同様であり、図4の共有データメモリアドレスバス415を通してレジスタ指定信号がレジスタ選択部410に入力される。レジスタ選択部410では、共有データメモリアドレスバス415を通ったレジスタ指定信号で指定される汎用レジスタ401〜40Nが、マイクロコントローラからのアクセスを許可しているかどうかを、アクセス許可/禁止情報設定レジスタ412の内容とで比較し、アクセス可能であれば指定する汎用レジスタ401〜40Nへのアクセス信号を出力する。許可されていない汎用レジスタ401〜40Nであれば、指定する汎用レジスタ401〜40Nへのアクセス信号の出力を停止する。また、この時に禁止汎用レジスタへアクセスしようとしたことをフラグ等で知らせることも可能とする。アクセス許可された汎用レジスタ401〜40Nは、データメモリ書き込み信号416およびデータメモリ読み出し信号417に従って書き込み処理、読み出し処理の各々の処理が適宜実行される。   Access to the shared general-purpose register 109 of the microcontroller is the same as that of the shared data memory 102, and a register designation signal is input to the register selection unit 410 through the shared data memory address bus 415 of FIG. 4. In the register selection unit 410, the access permission / prohibition information setting register 412 indicates whether or not the general-purpose registers 401 to 40N specified by the register specification signal passing through the shared data memory address bus 415 permit access from the microcontroller. If the access is possible, an access signal is output to the designated general-purpose registers 401 to 40N. If the general-purpose registers 401 to 40N are not permitted, the output of the access signal to the designated general-purpose registers 401 to 40N is stopped. At this time, it is also possible to notify with a flag or the like that an attempt was made to access the prohibited general-purpose register. The general-purpose registers 401 to 40N that are permitted to access are appropriately subjected to write processing and read processing in accordance with the data memory write signal 416 and the data memory read signal 417.

デジタルシグナルプロセッサ:
まず、デジタルシグナルプロセッサの命令は、そのアドレスが、図1の共有命令メモリポインタ105から、命令コードアドレスバス117、図2の命令コードアドレスバス210を通り、図2の命令メモリ管理部204に入る。命令メモリ管理部204では、命令コードアドレスバス210から入力されたアドレスが、命令メモリ最小アドレス値設定レジスタ206に保持されている命令メモリ最小アドレス設定値と比較し、設定値以上であれば、そのままのアドレスを共有命令メモリ101の命令メモリ領域201,202のアドレスとして出力する。設定値以下のアドレスと判断した場合、それは、マイクロコントローラに割り当てられた命令領域であり、プログラムの異常と判断し、異常終了処理を実行するアドレスに変換される。命令メモリ201,202では、アドレスに対応する命令コードを命令コードデータバス212に命令コードデータとして出力し、図1の命令コードデータバス119を通り、命令解読部124に入る。命令解読部124では、命令を解読し、命令に対応した処理を実行するように、対応する部位に命令を出力する。
Digital signal processor:
First, the instruction of the digital signal processor has its address from the shared instruction memory pointer 105 in FIG. 1 through the instruction code address bus 117 and the instruction code address bus 210 in FIG. 2, and enters the instruction memory management unit 204 in FIG. . In the instruction memory management unit 204, the address input from the instruction code address bus 210 is compared with the instruction memory minimum address setting value held in the instruction memory minimum address value setting register 206. Are output as the addresses of the instruction memory areas 201 and 202 of the shared instruction memory 101. When it is determined that the address is equal to or less than the set value, it is an instruction area assigned to the microcontroller, which is determined to be a program error and is converted to an address for executing an abnormal termination process. In the instruction memories 201 and 202, the instruction code corresponding to the address is output to the instruction code data bus 212 as instruction code data, and enters the instruction decoding unit 124 through the instruction code data bus 119 of FIG. The instruction decoding unit 124 decodes the instruction and outputs the instruction to the corresponding part so as to execute processing corresponding to the instruction.

デジタルシグナルプロセッサ側からみた場合、命令メモリ領域201,202は、命令メモリ領域201に下位ワード、命令メモリ領域202に上位ワードの構造になっており、命令コードアドレスバス209のアドレスデータの値に対応した命令コードデータが、命令メモリ領域201から16ビット、命令メモリ領域202から16ビットの合わせて32ビットの命令コードデータが命令コードデータバス212に出力される。   When viewed from the digital signal processor side, the instruction memory areas 201 and 202 have a lower word structure in the instruction memory area 201 and an upper word structure in the instruction memory area 202, and correspond to the address data value of the instruction code address bus 209. The instruction code data, which is 16 bits from the instruction memory area 201 and 16 bits from the instruction memory area 202, is output to the instruction code data bus 212.

つぎに、デジタルシグナルプロセッサの共有データメモリ102へのアクセスも、マイクロコントローラと同様に、そのアドレスが、図1の共有データメモリポインタ107、図3の共有データメモリアドレスバス314を通り、図3のデータメモリ管理部306に入る。データメモリ管理部306では、共有データメモリアドレスバス314から入力されたアドレスと、共有データメモリセグメント単位選択値設定レジスタ307に保持されている設定値とを比較部309で比較し、デジタルシグナルプロセッサのアクセスが許可されたアドレスであれば、そのままデータメモリ102のデータメモリ領域301〜304のアドレスとして出力し、許可されていないアドレスであれば、共有データメモリ102へのアドレスの出力を停止する。また、この時に禁止セグメントのアドレスをアクセスしようとしたことをフラグ等で知らせることも可能とする。共有データメモリ102のデータメモリ領域301〜304中の許可セグメントのアドレスを書き込みアクセスした際、当該セグメントの内容が変更されたことを通知するために、共有データメモリアクセス状況フラグレジスタ310のそのセグメントに対応するフラグをセットする。このフラグをマイクロコントローラ4からも読み出すことを可能にすることにより、共有データメモリ102上の共有のデータ、およびデータの処理を制御できる。   Next, as for the access to the shared data memory 102 of the digital signal processor, the address passes through the shared data memory pointer 107 in FIG. 1 and the shared data memory address bus 314 in FIG. The data memory management unit 306 is entered. In the data memory management unit 306, the comparison unit 309 compares the address input from the shared data memory address bus 314 with the set value held in the shared data memory segment unit selection value setting register 307, and the digital signal processor If the access is permitted, the address is output as it is as the address of the data memory areas 301 to 304 of the data memory 102. If the address is not permitted, the output of the address to the shared data memory 102 is stopped. At this time, it is also possible to notify with a flag or the like that an attempt was made to access the address of the prohibited segment. When the address of the permitted segment in the data memory area 301 to 304 of the shared data memory 102 is written and accessed, the segment of the shared data memory access status flag register 310 is notified to notify that the content of the segment has been changed. Set the corresponding flag. By making it possible to read this flag from the microcontroller 4 as well, shared data on the shared data memory 102 and data processing can be controlled.

つまり、アクセス状況フラグをデジタルシグナルプロセッサからも読み出すことを可能にすることにより、共有データメモリ上の書き換えが実行されたセグメントを知ることができる。また、マイクロコントローラは、アクセスが許可された共有データメモリのセグメントをデジタルシグナルプロセッサに許可するようセグメント単位選択値設定レジスタの値を変更できる。これらの動作により共有データメモリ上の共有のデータおよびデータの処理を制御できる(データの受け渡しアクセスの許可禁止のシーケンスは図6参照)。   That is, by making it possible to read the access status flag also from the digital signal processor, it is possible to know the segment on which the rewrite on the shared data memory has been executed. Further, the microcontroller can change the value of the segment unit selection value setting register so as to permit the digital signal processor to access the segment of the shared data memory to which access is permitted. With these operations, shared data on the shared data memory and data processing can be controlled (refer to FIG. 6 for the permission / prohibition sequence of the data transfer access).

アクセス許可されたアドレスのデータは、データメモリ書き込み信号317およびデータメモリ読み出し信号318に従って書き込み処理、読み出し処理の各々の処理が実行される。   The data at the address for which access is permitted is subjected to a write process and a read process in accordance with the data memory write signal 317 and the data memory read signal 318.

デジタルシグナルプロセッサの共有汎用レジスタ109へのアクセスは、共有データメモリ102と同様に、図4の共有データメモリアドレスバス418を通してレジスタ指定信号がレジスタ選択部411に入力される。レジスタ選択部411では、共有データメモリアドレスバス418を通ったレジスタ指定信号418で指定されるレジスタが、デジタルシグナルプロセッサからのアクセスを許可しているかどうかを、アクセス許可/禁止情報設定レジスタ412の内容とで比較し、アクセス可能であれば指定する汎用レジスタ401〜40Nへのアクセス信号を出力する。許可されていない汎用レジスタ401〜40Nであれば、指定する汎用レジスタ401〜40Nへのアクセス信号の出力を停止する。また、この時に禁止汎用レジスタへアクセスしようとしたことをフラグ等で知らせることも可能とする。アクセスが許可された汎用レジスタ401〜40Nは、データメモリ書き込み信号418およびデータメモリ読み出し信号419に従って、書き込み処理、読み出し処理の各々の処理が適宜実行される。   In the access to the shared general-purpose register 109 of the digital signal processor, a register designation signal is input to the register selection unit 411 through the shared data memory address bus 418 of FIG. In the register selection unit 411, whether or not the register specified by the register specification signal 418 that has passed through the shared data memory address bus 418 permits access from the digital signal processor, the contents of the access permission / prohibition information setting register 412 And if it is accessible, an access signal is output to the designated general-purpose registers 401 to 40N. If the general-purpose registers 401 to 40N are not permitted, the output of the access signal to the designated general-purpose registers 401 to 40N is stopped. At this time, it is also possible to notify with a flag or the like that an attempt was made to access the prohibited general-purpose register. The general-purpose registers 401 to 40N that are permitted to access are appropriately executed in accordance with the data memory write signal 418 and the data memory read signal 419, respectively.

共有外部入出力部113〜115へのアクセス:
共有外部入出力部113〜115へのアクセスも共有データメモリ102、共有汎用レジスタ109と同様なアクセスとなる。
Access to shared external input / output units 113-115:
Access to the shared external input / output units 113 to 115 is the same access as the shared data memory 102 and the shared general-purpose register 109.

マイクロコントローラが共有外部入出力部113〜115をアクセスする場合、マイクロコントローラから図5の共有外部入出力部選択信号516が共有外部入出力部制御部503に入力される。共有外部入出力部制御部503では共有外部入出力部113〜115内のアクセス許可/禁止情報設定レジスタ505の内容を確認し、マイクロコントローラのアクセスが許可されている場合には、マイクロコントローラの共有データメモリデータバス510と出力データバッファ501、入力データバッファ502間のアクセスを実行させる。また、同時にその結果により共有外部入出力部113〜115の状態を保持する状態保持部504を変更する。共有外部入出力部113〜115の状態変化が割り込み要因となる場合、割り込み信号発生部506でマイクロコントローラに対する共有外部入出力部割り込み信号512を発生させる。マイクロコントローラのアクセスが禁止されている場合には、実際の共有外部入出力部113〜115へのアクセスは実行されない。しかし、禁止されたアクセスが実行されたことを通知するフラグの設定を行う。   When the microcontroller accesses the shared external input / output units 113 to 115, the shared external input / output unit selection signal 516 in FIG. 5 is input to the shared external input / output unit control unit 503 from the microcontroller. The shared external input / output unit control unit 503 confirms the contents of the access permission / prohibition information setting register 505 in the shared external input / output units 113 to 115. If the access of the microcontroller is permitted, the shared external input / output unit control unit 503 shares the microcontroller. Access between the data memory data bus 510, the output data buffer 501, and the input data buffer 502 is executed. At the same time, the status holding unit 504 that holds the statuses of the shared external input / output units 113 to 115 is changed according to the result. When the state change of the shared external input / output units 113 to 115 becomes an interrupt factor, the interrupt signal generation unit 506 generates a shared external input / output unit interrupt signal 512 for the microcontroller. When access of the microcontroller is prohibited, access to the actual shared external input / output units 113 to 115 is not executed. However, a flag for notifying that prohibited access has been executed is set.

デジタルシグナルプロセッサが共有外部入出力部113〜115をアクセスする場合、デジタルシグナルプロセッサから図5の共有外部入出力部選択信号517が共有外部入出力部制御部503に入力される。共有外部入出力部制御部503では共有外部入出力部113〜115内のアクセス許可/禁止情報設定レジスタ505の内容を確認し、デジタルシグナルプロセッサのアクセスが許可されている場合には、デジタルシグナルプロセッサの共有データメモリデータバス511と出力データバッファ501、入力データバッファ502へ間のアクセスを実行させる。また、同時にその結果により共有外部入出力部113〜115の状態を保持する状態保持部504を変更する。共有外部入出力部113〜115の状態変化が割り込み要因となる場合、割り込み信号発生部506でデジタルシグナルプロセッサに対する共有外部入出力部割り込み信号513を発生させる。デジタルシグナルプロセッサのアクセスが禁止されている場合には、実際の共有外部入出力部113〜115へのアクセスは実行されない。しかし、禁止されたアクセスが実行されたことを通知するフラグの設定を行う。   When the digital signal processor accesses the shared external input / output units 113 to 115, the shared external input / output unit selection signal 517 of FIG. 5 is input to the shared external input / output unit control unit 503 from the digital signal processor. The shared external input / output unit control unit 503 confirms the contents of the access permission / prohibition information setting register 505 in the shared external input / output units 113 to 115, and if access to the digital signal processor is permitted, the digital signal processor The shared data memory data bus 511, the output data buffer 501, and the input data buffer 502 are accessed. At the same time, the status holding unit 504 that holds the statuses of the shared external input / output units 113 to 115 is changed according to the result. When the state change of the shared external input / output units 113 to 115 becomes an interrupt factor, the interrupt signal generation unit 506 generates a shared external input / output unit interrupt signal 513 for the digital signal processor. When access of the digital signal processor is prohibited, access to the actual shared external input / output units 113 to 115 is not executed. However, a flag for notifying that prohibited access has been executed is set.

演算処理依頼割り込み:
マイクロコントローラからデジタルシグナルプロセッサに対し演算処理の依頼割り込みを実行する場合のシーケンスを図6に示す。
Processing request interrupt:
FIG. 6 shows a sequence in the case where a request interrupt for arithmetic processing is executed from the microcontroller to the digital signal processor.

601;演算処理依頼側、本例の場合マイクロコントローラは依頼する処理内容および処理データを共有汎用レジスタ109および共有データメモリ102に設定する。   601: Operation processing request side, in this example, the microcontroller sets the requested processing contents and processing data in the shared general-purpose register 109 and the shared data memory 102.

本例では、図1の共有汎用レジスタ109において、処理依頼する演算処理番号"k"を図4の汎用レジスタ401に、演算処理を実行してほしいデータメモリ領域先頭番地"M"を図4の汎用レジスタ402に、データ数"N"を図4の汎用レジスタ403に設定し、図1の共有データメモリ102において"M"番地以降、例えば図3の書き換え可能なデータメモリ領域302に"N"個のデータを設定する。   In this example, in the shared general-purpose register 109 in FIG. 1, the operation processing number “k” for which processing is requested is stored in the general-purpose register 401 in FIG. 4, and the start address “M” of the data memory area to which the operation processing is to be executed is illustrated in FIG. The number of data “N” is set in the general-purpose register 402 in the general-purpose register 403 in FIG. 4, and “N” is stored in the rewritable data memory area 302 in FIG. Pieces of data are set.

602;これらのデータの設定終了後、設定した共有汎用レジスタ109(図4の汎用レジスタ401〜403)、共有データメモリ102(図3の書き換え可能なデータメモリ領域302)を演算処理被依頼側がアクセス可能となるように、図3の共有データメモリセグメント単位選択値設定レジスタ307および図4のアクセス許可/禁止情報設定レジスタ412の内容を変更する。   602: After setting these data, the operation requestee accesses the set shared general-purpose register 109 (general-purpose registers 401 to 403 in FIG. 4) and shared data memory 102 (rewritable data memory area 302 in FIG. 3). The contents of the shared data memory segment unit selection value setting register 307 in FIG. 3 and the access permission / prohibition information setting register 412 in FIG. 4 are changed so as to be possible.

603;演算処理依頼側(マイクロコントローラ)は演算処理被依頼側(デジタルシグナルプロセッサ)に対し割り込みを発生させる(特許請求の範囲における割り込み手段に相当する)。   603: The calculation processing request side (microcontroller) generates an interrupt to the calculation processing request side (digital signal processor) (corresponding to the interrupt means in the claims).

604;その後、演算処理依頼側(マイクロコントローラ)は、別処理を実行させる。   604; Thereafter, the calculation processing requesting side (microcontroller) executes another processing.

605;演算処理被依頼側(デジタルシグナルプロセッサ)は、主処理を実行中、演算処理依頼の割り込みを受理する。   605: The operation processing requesting side (digital signal processor) accepts an operation processing request interrupt while the main processing is being executed.

606;割り込みを実行する。割り込み処理の先頭で、共有汎用レジスタ109の汎用レジスタ401,402,403の内容を確認し、共有データメモリ102の書き換え可能なデータメモリ領域302のデータを使用し、依頼された演算処理を実行する。   606: An interrupt is executed. At the beginning of the interrupt process, the contents of the general-purpose registers 401, 402, and 403 of the shared general-purpose register 109 are confirmed, and the requested arithmetic process is executed using the data in the rewritable data memory area 302 of the shared data memory 102. .

本例では、図4の汎用レジスタ401の演算処理番号"k"の処理を図3の書き換え可能なデータメモリ領域302のアドレス"M"から"N"個のデータを用いて実行し、結果を図3の書き換え可能なデータメモリ領域302のアドレス"M"以降に書き込む。   In this example, the processing of the arithmetic processing number “k” of the general-purpose register 401 in FIG. 4 is executed using “N” data from the address “M” in the rewritable data memory area 302 in FIG. Data is written after the address “M” in the rewritable data memory area 302 of FIG.

607;演算終了を知らせるコードを図4の汎用レジスタ401に設定する。   607: A code notifying the end of the calculation is set in the general-purpose register 401 in FIG.

608;使用した共有汎用レジスタ109(図4の汎用レジスタ401〜403)、共有データメモリ102(図3のデータメモリ領域302)を演算依頼側がアクセス可能となるように、図3の共有データメモリセグメント単位選択値設定レジスタ307および図4のアクセス許可/禁止情報設定レジスタ412の内容を変更する。   608; the shared data memory segment of FIG. 3 so that the operation requesting side can access the used shared general register 109 (general registers 401 to 403 of FIG. 4) and the shared data memory 102 (data memory area 302 of FIG. 3). The contents of the unit selection value setting register 307 and the access permission / prohibition information setting register 412 in FIG. 4 are changed.

609;割り込みを終了する。   609: End the interrupt.

610;演算処理被依頼側はもとの主処理を実行する。   610: The computation processing request side executes the original main processing.

611;演算処理依頼側は、図4の汎用レジスタ401の処理終了コードをポーリングする(特許請求の範囲における演算処理終了情報設定手段に相当する)。   611: The calculation processing requester polls the processing end code of the general-purpose register 401 in FIG. 4 (corresponding to the calculation processing end information setting means in the claims).

612;依頼した演算処理が終了したことを確認後、次の処理へ移る。なお、デジタルシグナルプロセッサからマイクロコントローラに対して演算処理の依頼、割り込みをするのも同様に可能である。   612: After confirming that the requested arithmetic processing is completed, the process proceeds to the next processing. It is also possible for the digital signal processor to request computation processing and interrupt the microcontroller.

なお、上記では、最も好ましい実施例の一つについて説明したが、これに限らず、メモリ、汎用レジスタ、外部入出力部の何れかが共有ではなく、個別に設けられているものも、実施例としてあげることができる。   In the above description, one of the most preferred embodiments has been described. However, the present invention is not limited to this, and any one of the memory, the general-purpose register, and the external input / output unit is not shared but is provided separately. Can be given as

本発明にかかる複合演算処理装置は、従来まで複数の演算処理部が必要であった複雑な処理を必要とする演算処理を、効率よく、安価なシステムで実現できる。つまり、効率の良いハードウエアで効率の良いソフトウエアを作成することができるという効果を有し、複合演算処理装置に対する命令が可変のプログラムによって導き出され、順番に実行される複合演算処理装置等として有用である。   The complex arithmetic processing apparatus according to the present invention can realize arithmetic processing requiring complicated processing, which conventionally required a plurality of arithmetic processing units, with an efficient and inexpensive system. In other words, it has the effect that it is possible to create efficient software with efficient hardware, such as a complex arithmetic processing device that is executed in order, with instructions to the complex arithmetic processing device being derived by a variable program Useful.

この発明の一実施例の複合演算処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the compound arithmetic processing apparatus of one Example of this invention. 図1における共有命令メモリの具体構成を示すブロック図である。FIG. 2 is a block diagram showing a specific configuration of a shared instruction memory in FIG. 1. 図1における共有データメモリの具体構成を示すブロック図である。It is a block diagram which shows the specific structure of the shared data memory in FIG. 図1における共有汎用レジスタの具体構成を示すブロック図である。It is a block diagram which shows the specific structure of the shared general purpose register in FIG. 図1における共有外部入出力部の具体構成を示すブロック図である。FIG. 2 is a block diagram illustrating a specific configuration of a shared external input / output unit in FIG. 1. 図1の複合演算処理装置における演算処理依頼割り込みシーケンスを示す概略図である。It is the schematic which shows the arithmetic processing request interruption sequence in the compound arithmetic processing apparatus of FIG.

符号の説明Explanation of symbols

101 共有命令メモリ
102 共有データメモリ
103 ローカルデータメモリ
104 共有命令メモリポインタ
105 共有命令メモリポインタ
106 共有データメモリポインタ
107 共有データメモリポインタ
108 ローカルデータメモリポインタ
109 共有汎用レジスタ
110 演算処理部
111 演算処理部
112 乗算部
113 共有外部入出力部
114 共有外部入出力部
115 共有外部入出力部
116 命令コードアドレスバス
117 命令コードアドレスバス
118 命令コードデータバス
119 命令コードデータバス
120 共有データメモリデータバス
121 共有データメモリデータバス
122 ローカルデータメモリデータバス
123 命令解読部
124 命令解読部
201 命令メモリ領域
202 命令メモリ領域
203 命令メモリ管理部
204 命令メモリ管理部
205 命令メモリ最大アドレス値設定レジスタ
206 命令メモリ最小アドレス値設定レジスタ
207 比較部
208 比較部
209 命令コードアドレスバス
210 命令コードアドレスバス
211 命令コードデータバス
212 命令コードデータバス
301 データメモリ領域
302 データメモリ領域
303 データメモリ領域
304 データメモリ領域
305 データメモリ管理部
306 データメモリ管理部
307 共有データメモリセグメント単位選択値設定レジスタ
308 比較部
309 比較部
310 共有データメモリアクセス状況フラグレジスタ
311 共有データメモリデータバス
312 共有データメモリデータバス
313 共有データメモリアドレスバス
314 共有データメモリアドレスバス
315 共有データメモリ書き込み信号
316 共有データメモリ読み出し信号
317 共有データメモリ書き込み信号
318 共有データメモリ読み出し信号
401 汎用レジスタ
402 汎用レジスタ
403 汎用レジスタ
40N 汎用レジスタ
410 レジスタ選択部
411 レジスタ選択部
412 アクセス許可/禁止情報設定レジスタ
413 共有データメモリデータバス
414 共有データメモリデータバス
415 共有データメモリアドレスバス
416 共有データメモリ書き込み信号
417 共有データメモリ読み出し信号
418 共有データメモリアドレスバス
419 共有データメモリ書き込み信号
420 共有データメモリ読み出し信号
421 フラグレジスタ
501 出力データバッファ
502 入力データバッファ
503 外部入出力制御部
504 状態保持部
505 アクセス許可/禁止情報設定レジスタ
506 割り込み信号発生部
507 外部入出力端子
510 共有データメモリデータバス
511 共有データメモリデータバス
512 共有外部入出力部割り込み信号
513 共有外部入出力部割り込み信号
514 出力データバス
515 入力データバス
516 共有外部入出力部選択信号
517 共有外部入出力部選択信号
518 外部入出力信号
101 Shared Instruction Memory 102 Shared Data Memory 103 Local Data Memory 104 Shared Instruction Memory Pointer 105 Shared Instruction Memory Pointer 106 Shared Data Memory Pointer 107 Shared Data Memory Pointer 108 Local Data Memory Pointer 109 Shared General Purpose Register 110 Operation Processing Unit 111 Operation Processing Unit 112 Multiplier 113 Shared external input / output unit 114 Shared external input / output unit 115 Shared external input / output unit 116 Instruction code address bus 117 Instruction code address bus 118 Instruction code data bus 119 Instruction code data bus 120 Shared data memory data bus 121 Shared data memory Data bus 122 Local data memory Data bus 123 Instruction decoding unit 124 Instruction decoding unit 201 Instruction memory area 202 Instruction memory area 203 Instruction memory tube Unit 204 Instruction memory management unit 205 Instruction memory maximum address value setting register 206 Instruction memory minimum address value setting register 207 Comparison unit 208 Comparison unit 209 Instruction code address bus 210 Instruction code address bus 211 Instruction code data bus 212 Instruction code data bus 301 Data Memory area 302 Data memory area 303 Data memory area 304 Data memory area 305 Data memory management section 306 Data memory management section 307 Shared data memory segment unit selection value setting register 308 Comparison section 309 Comparison section 310 Shared data memory access status flag register 311 Shared Data memory data bus 312 Shared data memory data bus 313 Shared data memory address bus 314 Shared data memory address bus 315 Shared data Memory write signal 316 Shared data memory read signal 317 Shared data memory write signal 318 Shared data memory read signal 401 General purpose register 402 General purpose register 403 General purpose register 40N General purpose register 410 Register selection unit 411 Register selection unit 412 Access permission / prohibition information setting register 413 Shared data memory data bus 414 Shared data memory data bus 415 Shared data memory address bus 416 Shared data memory write signal 417 Shared data memory read signal 418 Shared data memory address bus 419 Shared data memory write signal 420 Shared data memory read signal 421 Flag register 501 Output data buffer 502 Input data buffer 503 External input / output control unit 504 Status holding unit 50 Access permission / prohibition information setting register 506 Interrupt signal generator 507 External input / output terminal 510 Shared data memory data bus 511 Shared data memory data bus 512 Shared external input / output interrupt signal 513 Shared external input / output interrupt signal 514 Output data bus 515 Input data bus 516 Shared external input / output unit selection signal 517 Shared external input / output unit selection signal 518 External input / output signal

Claims (1)

演算処理の特徴が異なる第1および第2の独立した演算装置と、二つのポートを有し前記第1および第2の演算装置に接続された共有メモリと、二つのポートを有し前記第1および第2の演算装置に接続された共有汎用レジスタと、前記共有メモリおよび前記共有汎用レジスタを前記第1および第2の演算装置からアクセスするための第1および第2のアクセス手段と、前記第1の演算装置に設けられて前記第2の演算装置に対して割り込みを発生する割り込み手段と、前記第2の演算装置に設けられて前記割り込みによる演算処理の終了を前記第1の演算装置に知らせるための演算処理終了設定手段とを備え、
前記第1の演算装置は、演算処理の過程で前記第2の演算装置での処理の方が適している演算が発生した時、前記割り込み手段により前記第2の演算装置に対して演算処理の依頼を割り込みとして発生し、前記演算処理に必要なデータを引き数として共有汎用レジスタおよび共有メモリに格納し、
前記第2の演算装置は、依頼された演算処理を前記引き数を用いて実行し、演算結果のデータを帰り数として前記共有汎用レジスタおよび前記共有メモリに格納し、前記演算処理終了設定手段により演算処理終了情報を設定するようにし
前記共有メモリが書き換え可能な領域を有し、前記第1および第2の演算装置からのアクセスの許可/禁止情報を前記共有メモリおよび前記共有汎用レジスタの一定範囲毎にそれぞれ設定するアクセス許可/禁止情報設定手段を設け、前記第1および第2の演算装置からのアクセス状況を前記共有メモリの一定範囲毎に前記第2および第1の演算装置へ伝達するためのアクセス状況設定手段を設け、
前記第1および第2のアクセス手段は、前記アクセス許可/禁止情報設定手段の設定内容を参照しながらアクセスが許可されている範囲についてのみ前記共有メモリおよび前記共有汎用レジスタのアクセスを行うとともに、前記アクセス状況設定手段の設定内容を参照しながら前記共有メモリの書き換え可能な領域のアクセスを行うようにし、
前記第1の演算装置は、前記第2の演算装置に対し演算の依頼をした場合に、引き数を前記共有汎用レジスタおよび前記共有メモリに設定した時に前記引き数の設定を完了したことを前記アクセス状況設定手段により設定するとともに、前記共有汎用レジスタおよび前記共有メモリのうち前記引き数を保持した領域の許可/禁止情報を前記アクセス許可/禁止情報設定手段により逆転させ、
前記第2の演算装置は、依頼された演算処理を完了した場合に前記帰り数を前記共有汎用レジスタおよび前記共有メモリに設定した時に前記帰り数の設定を完了したことを前記アクセス状況設定手段により設定するとともに、前記共有汎用レジスタおよび前記共有メモリのうち前記帰り数を保持した領域の許可/禁止情報を前記アクセス許可/禁止情報設定手段により逆転させるようにしたことを特徴とする複合演算処理装置。
First and second independent arithmetic devices having different characteristics of arithmetic processing, a shared memory having two ports and connected to the first and second arithmetic devices, and the first having two ports A shared general-purpose register connected to the second arithmetic unit; first and second access means for accessing the shared memory and the shared general-purpose register from the first and second arithmetic units; An interrupt unit provided in one arithmetic unit to generate an interrupt to the second arithmetic unit; and an end of arithmetic processing by the interrupt provided in the second arithmetic unit to the first arithmetic unit. Computation processing end setting means for notifying,
The first arithmetic unit performs arithmetic processing on the second arithmetic unit by the interrupt means when an operation suitable for processing in the second arithmetic unit occurs in the course of arithmetic processing. The request is generated as an interrupt, and the data necessary for the arithmetic processing is stored as an argument in the shared general-purpose register and the shared memory.
The second arithmetic unit executes the requested arithmetic processing using the argument, stores the operation result data as a return number in the shared general-purpose register and the shared memory, and the arithmetic processing end setting means Set the calculation processing end information ,
The shared memory has a rewritable area, and access permission / prohibition for setting access permission / prohibition information from the first and second arithmetic units for each predetermined range of the shared memory and the shared general-purpose register, respectively. Providing an information setting means, providing an access status setting means for transmitting the access status from the first and second arithmetic devices to the second and first arithmetic devices for each predetermined range of the shared memory;
The first and second access means access the shared memory and the shared general-purpose register only in a range where access is permitted while referring to the setting contents of the access permission / prohibition information setting means, Access to the rewritable area of the shared memory while referring to the setting contents of the access status setting means,
The first arithmetic unit has completed the setting of the argument when an argument is set in the shared general-purpose register and the shared memory when the second arithmetic unit is requested to perform an operation. Set by the access status setting means, and the permission / prohibition information of the area holding the argument in the shared general-purpose register and the shared memory is reversed by the access permission / prohibition information setting means,
When the second arithmetic unit completes the requested arithmetic processing, the access status setting means indicates that the return number has been set when the return number is set in the shared general-purpose register and the shared memory. A combined arithmetic processing apparatus characterized in that the permission / prohibition information of the area holding the return number in the shared general-purpose register and the shared memory is reversed by the access permission / prohibition information setting means .
JP2003320945A 2003-09-12 2003-09-12 Compound processing unit Expired - Fee Related JP3710798B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003320945A JP3710798B2 (en) 2003-09-12 2003-09-12 Compound processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003320945A JP3710798B2 (en) 2003-09-12 2003-09-12 Compound processing unit

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP21840194A Division JP3511529B2 (en) 1994-09-13 1994-09-13 Complex arithmetic processing unit

Publications (2)

Publication Number Publication Date
JP2004046896A JP2004046896A (en) 2004-02-12
JP3710798B2 true JP3710798B2 (en) 2005-10-26

Family

ID=31712706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003320945A Expired - Fee Related JP3710798B2 (en) 2003-09-12 2003-09-12 Compound processing unit

Country Status (1)

Country Link
JP (1) JP3710798B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5555514B2 (en) * 2010-03-17 2014-07-23 ルネサスエレクトロニクス株式会社 Processor system

Also Published As

Publication number Publication date
JP2004046896A (en) 2004-02-12

Similar Documents

Publication Publication Date Title
CN110580175A (en) Variable format, variable sparse matrix multiply instruction
US5781763A (en) Independent control of DMA and I/O resources for mixed-endian computing systems
KR970011207B1 (en) Method and apparatus for a register providing atomic access to set and clear individual bits of shared registers without software interlock
CN113553209A (en) Hardware apparatus and method for memory corruption detection
US11138112B2 (en) Remote atomic operations in multi-socket systems
TW201732610A (en) Systems, methods, and apparatuses for range protection
CN114051611A (en) DMA scatter and gather operations for non-contiguous memory
EP3757801A1 (en) Multi-processor system with configurable cache sub-domains and cross-die memory coherency
JPH0479026B2 (en)
CN113254073B (en) Data processing method and device
US6738837B1 (en) Digital system with split transaction memory access
JPS59231652A (en) Detection system for memory access overlap
CN108292268B (en) Systems, methods, and apparatus for distributed coherent memory
JP3710798B2 (en) Compound processing unit
EP0381059A2 (en) Arithmetic element controller
JP3511529B2 (en) Complex arithmetic processing unit
US6349370B1 (en) Multiple bus shared memory parallel processor and processing method
JPS58201166A (en) Multiprocessor system
US5590302A (en) Device for generating structured addresses
JPH11259417A (en) Bus access system and bus access controller
JPS601655B2 (en) Data prefetch method
WO2011030498A1 (en) Data processing device and data processing method
US20030163499A1 (en) Limiting the valve of a 64-bit number to a maximum value, a minimum value, or both in a 32-bit environment
JPH033047A (en) Memory with arithmetic function
JP2973227B2 (en) Exclusive control instruction execution method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050810

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

Free format text: PAYMENT UNTIL: 20080819

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees