JP2001325102A - Computing element - Google Patents

Computing element

Info

Publication number
JP2001325102A
JP2001325102A JP2001053354A JP2001053354A JP2001325102A JP 2001325102 A JP2001325102 A JP 2001325102A JP 2001053354 A JP2001053354 A JP 2001053354A JP 2001053354 A JP2001053354 A JP 2001053354A JP 2001325102 A JP2001325102 A JP 2001325102A
Authority
JP
Japan
Prior art keywords
address
instruction
arithmetic unit
holding
processing
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.)
Pending
Application number
JP2001053354A
Other languages
Japanese (ja)
Inventor
Junya Yamashita
順也 山下
Yasushi Tamura
裕史 田村
Takeharu Yamamoto
猛晴 山元
Yoshihiro Karita
吉博 苅田
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001053354A priority Critical patent/JP2001325102A/en
Publication of JP2001325102A publication Critical patent/JP2001325102A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PROBLEM TO BE SOLVED: To eliminate the necessity of processing time for branching processing out of the processing of a computing element and to secure the flexibility of processing contents. SOLUTION: An adder 135 adds a leading address stored in leading address storage parts 111, 112 or 113 and selected by a selector 131 to contents (relative address) stored in a program counter 134 and outputs a current performance instruction address. An operation part 138 performs an instruction of the address stored in a program storage part 137. A comparison part 136 compares the leading address with an end address stored in end address storage parts 121, 122 or 123 and selected by a selector 132, and when both the addresses coincide with each other, the selectors 131, 132 are switched and the counter 134 is reset, so that branching can be carried out without requiring an instruction cycle. The contents of the leading address storage parts 111 to 113 are suitably rewritten by a master processor 151.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、メモリに格納され
ている命令を実行する演算器に関し、特に、メモリにお
ける非連続なアドレスの領域に格納されている命令に制
御を移す分岐処理の高速化に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic unit for executing an instruction stored in a memory, and more particularly, to speeding up a branch process for transferring control to an instruction stored in a non-contiguous address area in a memory. It is about.

【0002】[0002]

【従来の技術】一般に、演算器は、メモリにおける、プ
ログラムカウンタによって示されるアドレスの領域に格
納されている命令をフェッチして実行するように構成さ
れている。上記プログラムカウンタに保持されるアドレ
スは、命令のフェッチに伴うハードウェアの動作によっ
て自動的にカウントアップされる。これにより、メモリ
における連続したアドレスの領域に格納されている命令
が順次実行される。一方、所定の条件に応じ、または無
条件に、非連続なアドレスの領域に格納されている命令
に制御を移す分岐処理は、通常、ソフトウェア(分岐命
令の実行)によって、プログラムカウンタに保持される
アドレスを書き替えることにより行われる。すなわち、
分岐処理が行われるごとに、分岐命令の命令サイクルが
生じることになり、1クロックサイクル以上の時間が費
やされる。
2. Description of the Related Art In general, an arithmetic unit is configured to fetch and execute an instruction stored in an area of a memory at an address indicated by a program counter. The address held in the program counter is automatically counted up by an operation of hardware accompanying instruction fetch. As a result, instructions stored in areas of consecutive addresses in the memory are sequentially executed. On the other hand, a branch process for transferring control to an instruction stored in a non-contiguous address area according to a predetermined condition or unconditionally is normally held in a program counter by software (execution of a branch instruction). This is done by rewriting the address. That is,
Each time a branch operation is performed, an instruction cycle of a branch instruction occurs, and more than one clock cycle is spent.

【0003】ところで、機器の制御などの分野において
は、いくつかの比較的短いプログラムモジュール(演算
処理)が繰り返し処理されることが多い。具体的には、
例えばサーボ制御が行われる場合などには、制御量の監
視と操作量の制御とを高速に繰り返し行う必要があり、
また、制御量が所定の閾値を越えたかどうかなどに応じ
て制御内容を異ならせることがあるため、例えば1モジ
ュールあたり十数ステップ程度の十数種類のプログラム
モジュールのうちのいくつかが選択的に、また、処理順
序が適宜変更されながら、繰り返し処理される。すなわ
ち、プログラムを小単位にモジュール化することによっ
て、制御処理の高速性と柔軟性の確保が図られている。
[0003] In the field of device control and the like, some relatively short program modules (arithmetic processes) are often repeatedly processed. In particular,
For example, when servo control is performed, it is necessary to repeatedly monitor the control amount and control the operation amount at a high speed.
In addition, since the control content may be changed depending on whether the control amount exceeds a predetermined threshold, for example, some of the dozens of types of program modules having about ten and several steps per module are selectively used. The processing is repeated while the processing order is appropriately changed. In other words, by modularizing the program into small units, high speed and flexibility of control processing are ensured.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、比較的
短いプログラムモジュールが繰り返し実行される場合、
各プログラムモジュールの処理ごとに、少なくとも1回
は分岐命令が実行されるので、プログラムモジュールの
全体の処理時間に対する分岐命令の実行時間の割合が大
きくなって、総処理時間が長くなりがちである。そのた
め、従来の演算器は、特に高速性が求められる制御シス
テムなどへの適用が困難であるという問題点を有してい
た。
However, when a relatively short program module is repeatedly executed,
Since the branch instruction is executed at least once for each processing of each program module, the ratio of the execution time of the branch instruction to the entire processing time of the program module increases, and the total processing time tends to be long. Therefore, the conventional arithmetic unit has a problem that it is difficult to apply it to a control system or the like that requires particularly high speed.

【0005】本発明は、上記の問題点に鑑み、演算器が
複数のプログラムモジュールを順次切り替えて処理を繰
り返す場合でも、分岐処理のために処理時間が増加する
のを抑制でき、しかも、種々の条件に応じて処理内容を
柔軟に変更できるようにすることを課題とする。
In view of the above problems, the present invention can suppress an increase in processing time due to branch processing even when an arithmetic unit sequentially switches a plurality of program modules and repeats processing. It is an object to flexibly change processing contents according to conditions.

【0006】[0006]

【課題を解決するための手段】前記の課題を解決するた
めに、本発明が講じた解決手段は、記憶手段に格納され
ている命令を実行する命令実行手段と、上記記憶手段に
おける、上記命令実行手段によって実行される命令が格
納されている領域のアドレスである実行命令アドレスを
出力する実行命令アドレス出力手段とを備えた演算器で
あって、さらに、上記命令実行手段によって実行される
命令が、分岐前の演算処理の最後の命令であることを検
出する検出手段を備えるとともに、上記実行命令アドレ
ス出力手段が、上記検出手段によって上記最後の命令の
検出がなされたときに、分岐後の演算処理についての、
最初の命令が格納されている上記記憶手段における領域
のアドレスである先頭アドレスを出力するように構成さ
れていることを特徴とする。上記の構成によると、検出
手段によって最後の命令の検出がなされたときに、分岐
後の演算処理についての先頭アドレスが実行命令アドレ
ス出力手段から出力されるので、命令実行手段によって
分岐命令が実行される命令サイクルは必要とされず、分
岐前の最後の命令の実行に引き続いて、分岐後の最初の
命令を実行することができる。したがって、分岐を必要
とするような演算処理を高速に処理し、総演算処理時間
を短くすることができる。上記実行命令アドレス出力手
段は、具体的には、例えば、上記記憶手段における、複
数のそれぞれの演算処理についての先頭アドレスを保持
する先頭アドレス保持手段と、上記検出手段によって上
記最後の命令の検出がなされるごとに、上記先頭アドレ
ス保持手段に保持されている上記先頭アドレスを順次切
り替えて選択する先頭アドレス選択手段とを備え、上記
先頭アドレス選択手段により選択された上記先頭アドレ
スに基づいて、上記実行命令アドレスを出力するように
構成することができる。これにより、例えば演算器が複
数の演算処理を順次切り替えて処理を繰り返すことが容
易にできるとともに、上記切り替えの際に、分岐処理の
ために処理時間が増加するのを抑制できる。また、上記
検出手段による最後の命令の検出のためには、さらに、
上記記憶手段における、複数のそれぞれの演算処理につ
いての最後の命令が格納されている領域のアドレスであ
る終了アドレスを保持する終了アドレス保持手段と、上
記検出手段によって上記最後の命令の検出がなされるご
とに、上記終了アドレス保持手段に保持されている上記
終了アドレスを順次切り替えて選択する終了アドレス選
択手段とを備えるとともに、上記検出手段は、上記実行
命令アドレス出力手段から出力される上記実行命令アド
レスと、上記終了アドレス選択手段ににより選択された
上記終了アドレスとに基づいて、上記最後の命令の検出
をするように構成してもよい。これにより、例えば演算
器が複数の演算処理を順次切り替えて処理を繰り返す際
に、各演算処理の最後の命令を順次検出することが容易
にできる。また、上記のような終了アドレス保持手段、
および選択手段に代えて、上記記憶手段における、複数
のそれぞれの演算処理についての、先頭アドレスに対す
る終了アドレスの相対アドレスである処理長を保持する
処理長保持手段と、上記検出手段によって上記最後の命
令の検出がなされるごとに、上記処理長保持手段に保持
されている上記処理長を順次切り替えて選択する処理長
選択手段とを備えるとともに、上記実行命令アドレス出
力手段は、処理中の演算処理の先頭アドレスと、上記先
頭アドレスに対する、実行命令アドレスの相対アドレス
とを加算して、上記実行命令アドレスを生成する一方、
上記検出手段は、上記相対アドレスと、上記処理長選択
手段ににより選択された上記処理長とに基づいて、上記
最後の命令の検出をするように構成してもよい。これに
より、やはり、例えば演算器が複数の演算処理を順次切
り替えて処理を繰り返す際に、各演算処理の最後の命令
を順次検出することが容易にできる。しかも、相対アド
レスである処理長は絶対アドレスである終了アドレスよ
りもデータ量(ビット数)が少ないので、処理長保持手
段、処理長選択手段、および検出手段のハードウェア規
模を小さく抑えることができる。また、上記検出手段に
よる最後の命令の検出のためのさらに別の構成として
は、上記検出手段は、上記記憶手段に、上記命令実行手
段によって実行される命令の内容を示す情報と対応して
格納される、上記最後の命令であることを示す情報に基
づいて、上記最後の命令の検出をするように構成しても
よい。これにより、終了アドレス保持手段や、処理長保
持手段などを備えることなく、最後の命令の検出をする
ことができるので、よりハードウェア規模を小さく抑え
ることができる。また、上記先頭アドレス保持手段、上
記終了アドレス保持手段、または上記処理長保持手段
は、それぞれ上記先頭アドレス等が保持される複数のレ
ジスタを含み、上記先頭アドレス選択手段、上記終了ア
ドレス選択手段、または上記処理長選択手段は、上記複
数のレジスタのうちの何れかを選択するセレクタを含む
ように構成してもよい。これにより、先頭アドレス保持
手段や、先頭アドレス選択手段等を容易に構成すること
ができるとともに、先頭アドレス等の保持や出力を容易
に行わせることができる。また、上記先頭アドレス保持
手段、上記終了アドレス保持手段、または上記処理長保
持手段は、上記先頭アドレス等が保持されるメモリを含
み、上記先頭アドレス選択手段、上記終了アドレス選択
手段、または上記処理長選択手段は、上記メモリにおけ
る上記先頭アドレス等が保持されている領域のアドレス
を指定するアドレス指定手段を含むように構成してもよ
い。これにより、例えばプログラムやデータが格納され
るメモリの一部を用いて(兼用して)先頭アドレス保持
手段等を構成することができ、ハードウェア規模を小さ
く抑えることができる。また、上記先頭アドレス保持手
段、上記終了アドレス保持手段、または上記処理長保持
手段に保持される先頭アドレス等が、上記命令実行手段
による命令の実行、または演算器の動作を制御する上位
プロセッサによって設定され得るように構成してもよ
い。これにより、分岐後に処理される演算処理を命令実
行手段による命令の実行や上位プロセッサによって制御
することができるので、種々の条件に応じて処理内容を
柔軟に変更することができる。なお、演算処理が、上記
のように先頭アドレス等を設定する命令を含む場合、そ
の演算処理に関しては、その命令の実行のための命令サ
イクルが生じることになるが、そのような命令を含まな
い演算処理に関しては、前記のように高速な処理がなさ
れるので、総演算処理時間を短くすることが可能であ
る。また、上記のように先頭アドレス等が上位プロセッ
サによって設定され得るように構成する場合、さらに、
上記上位プロセッサから出力される先頭アドレス等を保
持する上位プロセッサ用先頭アドレス保持手段、上位プ
ロセッサ用終了アドレス保持手段、または上位プロセッ
サ用処理長保持手段を備え、上記上位プロセッサ用先頭
アドレス保持手段等に保持された先頭アドレス等が、所
定のタイミングで、上記先頭アドレス保持手段等に書き
込まれるように構成してもよい。上記のような上位プロ
セッサ用先頭アドレス保持手段等が設けられることによ
って、そのような保持手段に先頭アドレス等が保持され
た時点では、処理中の演算処理には影響が生じないの
で、上位プロセッサは任意のタイミングでプロセッサ用
先頭アドレス保持手段等に先頭アドレス等を保持させる
ことができる。また、先頭アドレス保持手段等に保持さ
れている先頭アドレス等の書き替えが所定のタイミング
で行われることにより、分岐後に処理される演算処理の
制御を適切に行うことができる。ここで、上記所定のタ
イミングは、例えば、先頭アドレス保持手段等に保持さ
れている先頭アドレス等が、処理中の演算処理に用いら
れていないタイミングである。より具体的には、最後の
命令の検出がなされた後や、他の演算処理が処理中であ
る場合などである。そのようなタイミングであれば、先
頭アドレス等が書き替えられても、最後の命令の検出や
演算処理などが影響を受けることがない。したがって、
適切な演算処理の制御が保証されるとともに、上位プロ
セッサによる先頭アドレス等の設定のタイミングが柔軟
になることによって、上位プロセッサに待ちや割り込み
が生じないようにすることができ、上位プロセッサの処
理の簡素化や処理効率の向上を図ることができる。
Means for Solving the Problems To solve the above-mentioned problems, a solution taken by the present invention is an instruction executing means for executing an instruction stored in a storage means, and an instruction execution means for executing the instruction stored in the storage means. An execution instruction address output means for outputting an execution instruction address which is an address of an area where an instruction to be executed by the execution means is stored. Detecting means for detecting the last instruction of the operation processing before the branch, and the execution instruction address output means for performing the operation after the branch when the detection of the last instruction is performed by the detection means. About processing,
It is characterized in that it is configured to output a head address which is an address of an area in the storage means where the first instruction is stored. According to the above configuration, when the last instruction is detected by the detection means, the start address for the arithmetic processing after the branch is output from the execution instruction address output means, so that the branch instruction is executed by the instruction execution means. No instruction cycle is required and the first instruction after the branch can be executed following execution of the last instruction before the branch. Therefore, arithmetic processing that requires branching can be performed at high speed, and the total arithmetic processing time can be shortened. Specifically, the execution instruction address output means includes, for example, a start address holding means for holding a start address for each of a plurality of arithmetic processing in the storage means, and a detection of the last instruction by the detection means. A head address selecting means for sequentially switching and selecting the head address held in the head address holding means each time the operation is performed, and executing the execution based on the head address selected by the head address selecting means. It can be configured to output an instruction address. Thus, for example, the arithmetic unit can easily switch the plurality of arithmetic processes sequentially and repeat the process, and can suppress an increase in the processing time due to the branching process at the time of the switching. Further, for the detection of the last instruction by the detection means,
An end address holding means for holding an end address which is an address of an area where a plurality of last instructions for each of the plurality of arithmetic processings is stored in the storage means, and the detection means detects the last instruction. End address selection means for sequentially switching and selecting the end address held in the end address holding means, and the detecting means outputs the execution instruction address output from the execution instruction address output means. And detecting the last instruction based on the end address selected by the end address selecting means. Thus, for example, when the arithmetic unit sequentially switches a plurality of arithmetic processes and repeats the process, it is easy to sequentially detect the last instruction of each arithmetic process. Further, the end address holding means as described above,
And a processing length holding means for holding a processing length which is a relative address of an end address with respect to a start address in each of a plurality of arithmetic processings in the storage means in place of the selection means; A processing length selection means for sequentially switching and selecting the processing length held in the processing length holding means each time the detection of While adding the start address and the relative address of the execution instruction address to the start address to generate the execution instruction address,
The detection means may be configured to detect the last instruction based on the relative address and the processing length selected by the processing length selection means. Thus, for example, when the arithmetic unit sequentially switches a plurality of arithmetic processing and repeats the processing, it is easy to sequentially detect the last instruction of each arithmetic processing. In addition, since the processing length, which is a relative address, has a smaller amount of data (the number of bits) than the end address, which is an absolute address, the hardware scale of the processing length holding means, processing length selection means, and detection means can be reduced. . Further, as still another configuration for detecting the last instruction by the detection means, the detection means stores the information in the storage means in association with information indicating the content of the instruction executed by the instruction execution means. The last instruction may be detected based on information indicating that the instruction is the last instruction. As a result, the last instruction can be detected without providing an end address holding unit, a processing length holding unit, or the like, so that the hardware scale can be further reduced. Further, the head address holding means, the end address holding means, or the processing length holding means includes a plurality of registers each holding the head address and the like, and the head address selection means, the end address selection means, or The processing length selection means may be configured to include a selector for selecting any of the plurality of registers. This makes it possible to easily configure the head address holding means, the head address selection means, and the like, and to easily hold and output the head address and the like. The head address holding means, the end address holding means, or the processing length holding means includes a memory for holding the head address or the like, and the head address selecting means, the end address selecting means, or the processing length. The selecting means may be configured to include an address specifying means for specifying an address of an area in the memory where the head address and the like are held. As a result, for example, the head address holding means and the like can be configured by using (and sharing) a part of the memory in which programs and data are stored, and the hardware scale can be reduced. Further, the start address held in the start address holding means, the end address holding means, or the processing length holding means is set by a host processor which controls the execution of an instruction by the instruction execution means or the operation of a computing unit. It may be constituted so that it can be performed. Thus, the arithmetic processing performed after the branch can be controlled by the instruction execution means and the upper processor, so that the processing content can be flexibly changed according to various conditions. When the arithmetic processing includes an instruction for setting a head address or the like as described above, the arithmetic processing involves an instruction cycle for executing the instruction, but does not include such an instruction. As for the arithmetic processing, since the high-speed processing is performed as described above, the total arithmetic processing time can be shortened. In the case where the top address and the like can be set by the host processor as described above,
A high-order processor start address holding means, a high-order processor end address holding means, or a high-order processor processing length holding means for holding a high-order address output from the high-order processor; The held start address or the like may be configured to be written to the start address holding means or the like at a predetermined timing. By providing the head address holding means for the upper processor as described above, at the time when the head address or the like is held in such holding means, there is no effect on the arithmetic processing during processing, so the upper processor is It is possible to cause the processor start address holding means or the like to hold the start address or the like at an arbitrary timing. In addition, since the rewriting of the head address and the like held in the head address holding means and the like is performed at a predetermined timing, it is possible to appropriately control the arithmetic processing performed after the branch. Here, the predetermined timing is, for example, a timing at which the head address or the like held in the head address holding means or the like is not used for the arithmetic processing during processing. More specifically, this is the case after the last instruction is detected, or when another arithmetic processing is being processed. At such a timing, even if the head address or the like is rewritten, the detection of the last instruction and the arithmetic processing are not affected. Therefore,
Appropriate control of arithmetic processing is guaranteed, and the flexibility of the timing of setting the start address and the like by the upper processor makes it possible to prevent waiting and interruption from occurring in the upper processor. Simplification and improvement in processing efficiency can be achieved.

【0007】[0007]

【発明の実施の形態】(実施の形態1)本発明の実施の
形態1の演算器は、それぞれ絶対アドレスである処理中
のプログラムモジュール(演算処理)の終了アドレス
と、プログラムモジュールにおける実行される命令のア
ドレス(以下「現実行命令アドレス」という。)とが一
致したときに、次のプログラムモジュールに制御を移す
ものである。これによって、分岐命令を実行することな
く分岐をさせることができるので、高速な処理が可能と
なる。また、上記次のプログラムモジュールは、例えば
上位プロセッサによって管理されることにより、処理さ
れるプログラムモジュールの組み合わせや処理順序を柔
軟に制御することが可能である。以下、図1を参照して
具体的に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS (Embodiment 1) An arithmetic unit according to Embodiment 1 of the present invention is executed by a program module (arithmetic processing) ending address, which is an absolute address, and a program module. When the instruction address (hereinafter, referred to as “current execution instruction address”) matches, the control is transferred to the next program module. As a result, a branch can be made without executing a branch instruction, and high-speed processing can be performed. The next program module is managed by, for example, an upper processor, so that the combination of the program modules to be processed and the processing order can be flexibly controlled. Hereinafter, a specific description will be given with reference to FIG.

【0008】図1は演算器の構成を示すブロック図であ
る。同図において、アドレス記憶装置100は、処理さ
れる各プログラムモジュールの先頭アドレスおよび終了
アドレス(何れも絶対アドレス)を保持するものであ
る。より詳しくは、このアドレス記憶装置100は、先
頭アドレスを保持する先頭アドレス格納部111〜11
3と、それぞれの先頭アドレス格納部111〜113
(先頭アドレス保持手段)に対応し、終了アドレスを保
持する終了アドレス格納部121〜123(終了アドレ
ス保持手段)とを備えている。上記アドレス格納部11
1…は、具体的には例えばレジスタを用いて構成される
が、後述(実施の形態4)するようにメモリを用いて構
成することもできる。
FIG. 1 is a block diagram showing the configuration of the arithmetic unit. In FIG. 1, an address storage device 100 holds a start address and an end address (both absolute addresses) of each program module to be processed. More specifically, the address storage device 100 includes start address storage units 111 to 11 for holding start addresses.
3 and the respective head address storage units 111 to 113
End address storage units 121 to 123 (end address holding means) for storing end addresses corresponding to the (start address holding means). The address storage unit 11
Are specifically configured using, for example, a register, but may also be configured using a memory as described later (Embodiment 4).

【0009】セレクタ131(先頭アドレス選択手段)
は、上記先頭アドレス格納部111〜113のうちの何
れかに保持されている先頭アドレスを選択して出力する
ものである。
Selector 131 (head address selecting means)
Is to select and output the head address held in any of the head address storage units 111 to 113.

【0010】セレクタ132(終了アドレス選択手段)
は、上記終了アドレス格納部121〜123のうちの何
れかに保持されている終了アドレスを選択して出力する
ものである。
Selector 132 (end address selecting means)
Is for selecting and outputting the end address stored in any of the end address storage units 121 to 123.

【0011】読み出しセレクト制御部133は、上記セ
レクタ131・132に、アドレス格納部111〜11
3・121〜123の何れに保持されている先頭アドレ
スおよび終了アドレスが選択されて読み出されるべきか
を示す読み出しセレクト信号を出力するものである。よ
り詳しくは、読み出しセレクト制御部133は、例え
ば、リングカウンタを用いて構成され、後述するように
比較部136から終了アドレス一致信号が出力されるご
とに、*1→*2→*3→*1→*2→*3→*1→…
の順で先頭アドレス格納部111〜113および終了ア
ドレス格納部121〜123が選択されるように、セレ
クタ131・132に読み出しセレクト信号を出力す
る。
The read select control unit 133 stores the address storage units 111 to 11 in the selectors 131 and 132.
3. A read select signal is output to indicate which of the addresses 121.123 and 123 is to be selected and read. More specifically, the read select control unit 133 is configured using, for example, a ring counter, and as described later, every time an end address match signal is output from the comparison unit 136, * 1 → * 2 → * 3 → * 1 → * 2 → * 3 → * 1 → ...
, And outputs a read select signal to the selectors 131 and 132 so that the start address storage units 111 to 113 and the end address storage units 121 to 123 are selected in this order.

【0012】プログラムカウンタ134は、処理中のプ
ログラムモジュールの先頭アドレスに対する、実行され
る命令の相対アドレスを保持するものである。上記保持
される相対アドレスは、クロックサイクルごとにカウン
トアップされるとともに、比較部136から終了アドレ
ス一致信号が出力された場合には、リセットされる。
The program counter 134 holds a relative address of an instruction to be executed with respect to a start address of a program module being processed. The held relative address is counted up every clock cycle, and is reset when an end address coincidence signal is output from the comparing unit 136.

【0013】加算器135は、セレクタ131により選
択されて出力された、処理中のプログラムモジュールの
先頭アドレスと、プログラムカウンタ134から出力さ
れる相対アドレスとを加算して、現実行命令アドレス
(絶対アドレス)を出力するものである。(上記先頭ア
ドレス格納部111〜113、セレクタ131、プログ
ラムカウンタ134、および加算器135によって命令
アドレス出力手段として作用する。)比較部136(検
出手段)は、加算器135から出力される上記現実行命
令アドレスと、セレクタ132によって選択されて出力
された、処理中のプログラムモジュールの終了アドレス
とを比較し、上記両アドレスが一致していた場合に、読
み出しセレクト制御部133、プログラムカウンタ13
4、および上位プロセッサ151に終了アドレス一致信
号を出力する。
The adder 135 adds the start address of the program module being processed, which is selected and output by the selector 131, and the relative address output from the program counter 134, and adds the current execution instruction address (absolute address). ) Is output. (The head address storage units 111 to 113, the selector 131, the program counter 134, and the adder 135 act as an instruction address output unit.) The comparison unit 136 (detection unit) outputs the current execution output from the adder 135. The instruction address is compared with the end address of the program module being processed, which is selected and output by the selector 132. If the two addresses match, the read select control unit 133, the program counter 13
4, and outputs an end address match signal to the upper processor 151.

【0014】プログラム格納部137(記憶手段)は、
処理されるプログラムモジュールが格納されるもので、
加算器135から出力される絶対アドレスに応じて、実
行されるべき命令を出力するようになっている。
The program storage 137 (storage means)
Stores the program module to be processed.
The instruction to be executed is output according to the absolute address output from the adder 135.

【0015】演算部138(命令実行手段)は、プログ
ラム格納部137から出力された種々の命令を実行する
ものである。この演算部138は、また、アドレス格納
部111…の保持内容(先頭アドレスおよび終了アドレ
ス)を書き替える命令(以下「書き替え命令」とい
う。)を実行することもできるようになっている。上記
書き替え命令が実行されると、演算部138は、アドレ
ス格納部111…の何れにアドレスが書き込まれるかを
示す書き込みセレクト信号をアドレス記憶装置100に
出力するとともに、後述するセレクタ152を介して、
アドレス記憶装置100に書き込みアドレスを出力す
る。これによって、アドレス記憶装置100に保持され
る先頭アドレスおよび終了アドレスを書き替えることが
でき、あるプログラムモジュールの処理が終了したとき
に次に処理されるプログラムモジュールを柔軟に変更す
ることができる。なお、演算部138は、通常の演算器
と同様に、プログラムカウンタ134に保持される値を
書き替える条件分岐命令や無条件分岐命令をも実行し得
るように構成されていてもよい。
The operation unit 138 (instruction execution means) executes various instructions output from the program storage unit 137. The arithmetic unit 138 is also capable of executing an instruction (hereinafter, referred to as a “rewrite instruction”) for rewriting the contents (a start address and an end address) held in the address storage units 111. When the rewrite instruction is executed, the arithmetic unit 138 outputs a write select signal indicating which of the address storage units 111... An address is to be written to the address storage device 100, and outputs the write select signal via a selector 152 described later. ,
The write address is output to the address storage device 100. As a result, the start address and the end address held in the address storage device 100 can be rewritten, and when the processing of a certain program module is completed, the next program module to be processed can be flexibly changed. The operation unit 138 may be configured to execute a conditional branch instruction or an unconditional branch instruction for rewriting a value held in the program counter 134, similarly to a normal arithmetic unit.

【0016】上位プロセッサ151は、この演算器を含
むシステム全体を制御するものである。演算器の分岐制
御に関しては、上位プロセッサ151は、アドレス記憶
装置100に書き込みセレクト信号を出力するととも
に、セレクタ152を介して、アドレス記憶装置100
に書き込みアドレスを出力する。これによって、やは
り、アドレス記憶装置100に保持される先頭アドレス
および終了アドレスを書き替えることができ、あるプロ
グラムモジュールの処理が終了したときに次に処理され
るプログラムモジュールを柔軟に変更することができ
る。しかも、上記のように上位プロセッサ151によっ
て先頭アドレスおよび終了アドレスを書き替える場合に
は、演算部138の動作のための命令サイクルを要しな
いため、演算器は、高速にプログラムモジュールの処理
をすることができる。ここで注意しなくてはならないこ
とは、原則として、処理中のプログラムモジュールにつ
いての先頭アドレスおよび終了アドレスは書き替えるこ
とが許されないことである。そこで、上位プロセッサ1
51には前記比較部136から終了アドレス一致信号が
入力され、上位プロセッサ151は終了アドレス一致信
号が入力されたタイミングで、割り込み処理によって上
記アドレスの書き替えをするようになっている。なお、
比較部136から出力される終了アドレス一致信号に応
じてアドレスの書き替えが許される状態である(すなわ
ちプログラムモジュールが処理中でない)ことを示すフ
ラグがセットされるレジスタを設け、上位プロセッサ1
51は所定のタイミングで上記フラグを監視して、その
フラグがセットされているときにアドレスの書き替えを
するようにしてもよい。
The host processor 151 controls the entire system including this arithmetic unit. Regarding the branch control of the arithmetic unit, the upper processor 151 outputs a write select signal to the address storage device 100 and, via the selector 152, the address storage device 100.
The write address is output to. As a result, the start address and the end address held in the address storage device 100 can be rewritten, and the program module to be processed next can be flexibly changed when the processing of a certain program module is completed. . In addition, when the head address and the end address are rewritten by the upper processor 151 as described above, an instruction cycle for the operation of the arithmetic unit 138 is not required, so that the arithmetic unit can process the program module at high speed. Can be. It should be noted here that, in principle, the start address and end address of the program module being processed cannot be rewritten. Therefore, the upper processor 1
An end address match signal is input to the comparison unit 136 from the comparison unit 136, and the upper processor 151 rewrites the address by interrupt processing at the timing when the end address match signal is input. In addition,
A register is provided in which a flag indicating that address rewriting is permitted (that is, the program module is not being processed) in accordance with the end address match signal output from the comparing unit 136 is provided.
The 51 may monitor the flag at a predetermined timing, and rewrite the address when the flag is set.

【0017】セレクタ152は、上記演算部138また
は上位プロセッサ151から出力される書き込みアドレ
スを選択してアドレス記憶装置100に出力するもので
ある。
The selector 152 selects a write address output from the arithmetic unit 138 or the host processor 151 and outputs it to the address storage device 100.

【0018】次に、上記のように構成された演算器の動
作を図2を参照して説明する。図2は上記演算器の動作
を示すフローチャートである。
Next, the operation of the arithmetic unit configured as described above will be described with reference to FIG. FIG. 2 is a flowchart showing the operation of the arithmetic unit.

【0019】(ステップST11) まず、最初のプロ
グラムモジュールの処理が開始される際に、例えば上位
プロセッサ151の制御によって、アドレス記憶装置1
00、読み出しセレクト制御部133、およびプログラ
ムカウンタ134が初期化される。より詳しくは、アド
レス記憶装置100に、順次処理される各プログラムモ
ジュールの先頭アドレスおよび終了アドレスが格納され
る。また、読み出しセレクト制御部133は、セレクタ
131・132が、最初に処理されるプログラムモジュ
ールの先頭アドレスまたは終了アドレスが保持されてい
る先頭アドレス格納部111または終了アドレス格納部
121を選択するように設定される。さらに、プログラ
ムカウンタ134は、リセットされる。
(Step ST11) First, when the processing of the first program module is started, the address storage device 1 is controlled by, for example, the host processor 151.
00, the read select control unit 133 and the program counter 134 are initialized. More specifically, the start address and the end address of each program module to be sequentially processed are stored in the address storage device 100. The read selection control unit 133 sets the selectors 131 and 132 so as to select the start address storage unit 111 or the end address storage unit 121 that holds the start address or the end address of the program module to be processed first. Is done. Further, the program counter 134 is reset.

【0020】(ステップST12) セレクタ131に
より選択された先頭アドレス格納部111〜113の何
れかに保持されている先頭アドレス、およびプログラム
カウンタ134に保持されている相対アドレスが、加算
器135にロードされる。
(Step ST12) The start address held in any of the start address storage units 111 to 113 selected by the selector 131 and the relative address held in the program counter 134 are loaded into the adder 135. You.

【0021】(ステップST13) 加算器135は、
それぞれロードされた先頭アドレスと相対アドレスを加
算し、得られた現実行命令アドレスを比較部136とプ
ログラム格納部137とに出力する。以後、(ステップ
ST14)以降の処理(比較部136等によって行われ
る)と、(ステップST19)以降の処理(演算部13
8によって行われる)とは並行して行われる。
(Step ST13) The adder 135
The loaded start address and the relative address are added, and the obtained current execution instruction address is output to the comparison unit 136 and the program storage unit 137. Thereafter, the processing after (step ST14) (performed by the comparing unit 136 and the like) and the processing after (step ST19) (the calculating unit 13)
8 is performed in parallel.

【0022】(ステップST14) 比較部136は、
加算器135から出力された現実行命令アドレスと、セ
レクタ132により選択された終了アドレス格納部12
1〜123の何れかに保持されている終了アドレスとを
比較する。
(Step ST14) The comparing section 136
The current execution instruction address output from the adder 135 and the end address storage unit 12 selected by the selector 132
A comparison is made with the end address held in any one of 1 to 123.

【0023】(ステップST15) 上記(ステップS
T14)で現実行命令アドレスと終了アドレスとが一致
していなければ、プログラムカウンタ134がカウント
アップされた後、(ステップST12)以降の処理が繰
り返される。
(Step ST15) The above (Step S15)
If the current execution instruction address and the end address do not match in T14), the program counter 134 is counted up, and the processing from (ST12) is repeated.

【0024】(ステップST16) 一方、上記(ステ
ップST14)で現実行命令アドレスと終了アドレスと
が一致していれば、比較部136は、終了アドレス一致
信号を読み出しセレクト制御部133、プログラムカウ
ンタ134、および上位プロセッサ151に出力する。
(Step ST16) On the other hand, if the current execution instruction address and the end address match in the above (Step ST14), the comparing section 136 reads out the end address match signal, and selects the control section 133, the program counter 134, And outputs it to the host processor 151.

【0025】(ステップST17) 上記終了アドレス
一致信号が読み出しセレクト制御部133に入力される
と、読み出しセレクト制御部133は、次に処理される
プログラムモジュールの先頭アドレスおよび終了アドレ
スが保持されているアドレス格納部111…を選択する
ための読み出しセレクト信号をセレクタ131・132
に出力する。また、終了アドレス一致信号がプログラム
カウンタ134に入力されると、プログラムカウンタ1
34はリセットされる。その後、(ステップST12)
以降の処理が繰り返される。すなわち、あるプログラム
モジュールの最後の命令が実行される際に、その命令の
内容が何であろうと、アドレス格納部111…の選択が
自動的に切り替えられるので、分岐のための命令サイク
ルが必要とされず、次の命令サイクルでは、次のプログ
ラムモジュールの命令を実行することができる。
(Step ST17) When the end address coincidence signal is input to the read select control unit 133, the read select control unit 133 sets the start address and the end address of the next program module to be processed. Read select signals for selecting the storage units 111.
Output to When the end address match signal is input to the program counter 134, the program counter 1
34 is reset. After that, (step ST12)
Subsequent processing is repeated. That is, when the last instruction of a certain program module is executed, regardless of the content of the instruction, the selection of the address storage units 111 is automatically switched, so that an instruction cycle for branching is required. In the next instruction cycle, the instruction of the next program module can be executed.

【0026】(ステップST18) また、上記終了ア
ドレス一致信号が上位プロセッサ151に割り込み信号
として入力されると、上位プロセッサ151は、先頭ア
ドレスおよび終了アドレスの書き替えが必要かどうかを
判断し、必要であれば、何れのアドレス格納部111…
にアドレスが書き込まれるかを示す書き込みセレクト信
号をアドレス記憶装置100に出力するとともに、セレ
クタ152を介して、アドレス記憶装置100に書き込
みアドレスを出力する。これによって、その直後、また
はその後に現実行命令アドレスと終了アドレスとが一致
したときに処理されるプログラムモジュールが柔軟に変
更される。ここで、上記アドレスの書き替えが必要かど
うかの判断は、例えば、演算部138による命令の実行
結果や、演算器を含むシステムの各部の状態、何れのプ
ログラムモジュールが処理中であるか、そのプログラム
モジュールの先頭/終了アドレスがアドレス格納部11
1…の何れに保持されているか(セレクタ131・13
2が何れのアドレス格納部111…を選択しているか)
などに基づいて行われる。
(Step ST18) When the end address match signal is input to the upper processor 151 as an interrupt signal, the upper processor 151 determines whether or not the start address and the end address need to be rewritten. If any, any of the address storage units 111 ...
A write select signal indicating whether an address is to be written to the address storage device 100 is output to the address storage device 100, and a write address is output to the address storage device 100 via the selector 152. This flexibly changes the program module that is processed immediately after or when the currently executed instruction address matches the end address. Here, whether or not the address rewriting is necessary is determined, for example, by the execution result of the instruction by the arithmetic unit 138, the state of each unit of the system including the arithmetic unit, which program module is being processed, The start / end address of the program module is stored in the address storage unit 11.
.. (Selectors 131 and 13)
2 selects which address storage unit 111 ...)
And so on.

【0027】(ステップST19) 一方、上記(ステ
ップST13)で加算器135から出力された現実行命
令アドレスがプログラム格納部137に入力されると、
そのアドレスに格納されている命令が演算部138にフ
ェッチされる。
(Step ST19) On the other hand, when the current execution instruction address output from the adder 135 in the above (Step ST13) is input to the program storage unit 137,
The instruction stored at that address is fetched by the operation unit 138.

【0028】(ステップST20) 演算部138はフ
ェッチされた命令を実行する。ここで、実行される命令
がアドレス格納部111…の保持内容を書き替える書き
替え命令である場合には、演算部138は、アドレス格
納部111…の何れにアドレスが書き込まれるかを示す
書き込みセレクト信号をアドレス記憶装置100に出力
するとともに、セレクタ152を介して、アドレス記憶
装置100に書き込みアドレスを出力する。この場合に
は、上位プロセッサ151に依らなくても、処理される
プログラムモジュールの柔軟な変更が可能になる。
(Step ST20) The operation unit 138 executes the fetched instruction. Here, if the instruction to be executed is a rewrite instruction for rewriting the content held in the address storage units 111..., The arithmetic unit 138 performs a write select indicating which of the address storage units 111. A signal is output to the address storage device 100, and a write address is output to the address storage device 100 via the selector 152. In this case, the program module to be processed can be flexibly changed without depending on the host processor 151.

【0029】次に、上記のような動作が行われる場合の
アドレス記憶装置100の具体的な記憶内容等について
説明する。
Next, the specific storage contents of the address storage device 100 when the above operation is performed will be described.

【0030】(1) 例えば、図3に示すように、プロ
グラム格納部137における、アドレスが(0100〜
0110),(0120〜0130),…(16進表
記)の領域に、プログラムモジュール1,2,…の4つ
のプログラムモジュールが格納され、これらのプログラ
ムモジュールが、順次、繰り返し処理されるとする。こ
の場合、上記初期化処理(ステップST11)の際に
は、アドレス記憶装置100のアドレス格納部111…
に、図4(a)に示すようにプログラムモジュール1〜
3の先頭/終了アドレスが格納される。また、読み出し
セレクト制御部133は、例えば、セレクタ131・1
32がアドレス格納部111・121を選択するように
設定される。
(1) For example, as shown in FIG. 3, the address in the program storage unit 137 is (0100 to
(0110), (0120 to 0130),... (Hexadecimal notation) store four program modules 1, 2,..., And these program modules are sequentially and repeatedly processed. In this case, at the time of the initialization processing (step ST11), the address storage units 111 of the address storage device 100 are connected.
Next, as shown in FIG.
3 are stored. In addition, the read select control unit 133 includes, for example, the selector 131.1
32 is set to select the address storage units 111 and 121.

【0031】(2) 最初の命令サイクルでは、加算器
135は、セレクタ131によって選択された先頭アド
レス格納部111から出力されるプログラムモジュール
1の先頭アドレス(0100)と、プログラムカウンタ
134から出力される相対アドレス(0000)とを加
算し、加算結果の絶対アドレス(0100)をプログラ
ム格納部137に出力する。そこで、プログラム格納部
137における絶対アドレス(0100)の領域に格納
されている命令が演算部138にフェッチされて、実行
される。このとき、終了アドレス格納部121に格納さ
れている終了アドレスは(0110)なので、比較部1
36からは終了アドレス一致信号は出力されず、プログ
ラムカウンタ134に保持される相対アドレスは例えば
(0101)にカウントアップされる。
(2) In the first instruction cycle, the adder 135 outputs the start address (0100) of the program module 1 output from the start address storage unit 111 selected by the selector 131 and the program counter 134. The relative address (0000) is added, and the absolute address (0100) of the addition result is output to the program storage unit 137. Therefore, the instruction stored in the area of the absolute address (0100) in the program storage unit 137 is fetched by the arithmetic unit 138 and executed. At this time, since the end address stored in the end address storage unit 121 is (0110), the comparison unit 1
The end address coincidence signal is not output from 36, and the relative address held in the program counter 134 is counted up to (0101), for example.

【0032】(3) 次の命令サイクルでは、(2)と
同様にして、プログラム格納部137における、加算器
135から出力される絶対アドレス(0101)の領域
の命令が演算部138によって実行されるとともに、プ
ログラムカウンタ134に保持されている相対アドレス
は、さらにカウントアップされる。
(3) In the next instruction cycle, the instruction in the area of the absolute address (0101) output from the adder 135 in the program storage unit 137 is executed by the arithmetic unit 138 in the same manner as in (2). At the same time, the relative address held in the program counter 134 is further counted up.

【0033】(4) 以下、同様の動作が行われ、プロ
グラムカウンタ134に保持されている相対アドレスが
(0010)になると、加算器135から出力される絶
対アドレスは(0110)になり、これに対応する命令
が演算部138によって実行されるとともに、上記絶対
アドレスは終了アドレス格納部121に格納されている
終了アドレスと一致するので、比較部136から、読み
出しセレクト制御部133、プログラムカウンタ13
4、および上位プロセッサ151に、終了アドレス一致
信号が出力される。そこで、セレクタ131およびセレ
クタ132は、先頭アドレス格納部112または終了ア
ドレス格納部122を選択するように切り替わるととも
に、プログラムカウンタ134はリセットされる。
(4) Thereafter, the same operation is performed, and when the relative address held in the program counter 134 becomes (0010), the absolute address output from the adder 135 becomes (0110). The corresponding instruction is executed by the arithmetic unit 138, and the absolute address matches the end address stored in the end address storage unit 121. Therefore, the comparison unit 136 reads the read select control unit 133, the program counter 13
4, and an end address match signal is output to the upper processor 151. Then, the selector 131 and the selector 132 are switched so as to select the start address storage unit 112 or the end address storage unit 122, and the program counter 134 is reset.

【0034】(5) そこで、次の命令サイクル以降で
は、プログラム格納部137における、絶対アドレスが
(0120)以降の領域の命令(プログラムモジュール
2)が実行される。
(5) Then, in the next instruction cycle and thereafter, the instruction (program module 2) in the area of the program storage unit 137 whose absolute address is (0120) or later is executed.

【0035】(6) 同様の動作が繰り返されて、プロ
グラム格納部137における、絶対アドレスが(015
0)の領域に格納されているプログラムモジュール3の
最後の命令が実行される際には、セレクタ131および
セレクタ132は、再び先頭アドレス格納部111また
は終了アドレス格納部121を選択するように切り替わ
るとともに、プログラムカウンタ134はリセットされ
る。また、このときには、上位プロセッサ151は、比
較部136から入力される終了アドレス一致信号に応じ
て、アドレス格納部111…の格納内容が図4(b)に
示すように書き替えられる。(なお、アドレス格納部1
11・121、およびアドレス格納部112・122の
書き替えは、それぞれ、プログラムモジュール1・2の
処理が終了した後、プログラムモジュール3の処理が終
了するまでの間に行われてもよい。)そこで、次の命令
サイクルでは、プログラムモジュール4の処理が開始さ
れる。以下、同様に、セレクタ131・132による選
択の切り替え、およびアドレス記憶装置100の書き替
えが行われることにより、プログラムモジュール1〜4
の処理が、順次、繰り返し行われる。
(6) The same operation is repeated until the absolute address in the program storage unit 137 becomes (015)
When the last instruction of the program module 3 stored in the area (0) is executed, the selector 131 and the selector 132 are switched again to select the start address storage unit 111 or the end address storage unit 121, and , The program counter 134 is reset. At this time, the upper processor 151 rewrites the contents stored in the address storage units 111... As shown in FIG. 4B according to the end address match signal input from the comparison unit 136. (Note that the address storage unit 1
11 and 121 and the address storage units 112 and 122 may be rewritten after the processing of the program modules 1 and 2 ends and before the processing of the program module 3 ends. Therefore, in the next instruction cycle, the processing of the program module 4 is started. Hereinafter, similarly, by switching the selection by the selectors 131 and 132 and rewriting the address storage device 100, the program modules 1 to 4
Are sequentially and repeatedly performed.

【0036】上記のようなプログラムモジュール1〜4
の繰り返し処理を行う別の方法は、アドレス記憶装置1
00の書き替えを上位プロセッサ151の制御によって
行うのに代えて、演算部138による書き替え命令の実
行によって行う方法である。すなわち、例えば、各プロ
グラムモジュールの処理中に書き替え命令を実行するこ
とによって、次に処理されるプログラムモジュールの先
頭/終了アドレスを、次にセレクタ131・132によ
って選択されるアドレス格納部111…に格納すれば、
やはり、各プログラムモジュールの処理を順次行わせる
ことができる。
The program modules 1 to 4 as described above
Another method for performing the repetition processing of the address storage device 1 is as follows.
In this method, the rewriting of 00 is performed by the execution of the rewriting instruction by the arithmetic unit 138, instead of being controlled by the upper processor 151. That is, for example, by executing a rewrite instruction during the processing of each program module, the start / end address of the next program module to be processed is stored in the address storage unit 111. If you store it,
Again, the processing of each program module can be performed sequentially.

【0037】ただし、処理されるプログラムモジュール
の数が先頭アドレス格納部111…の数と同じ場合に
は、特にアドレス記憶装置100の格納内容を書き替え
なくても、セレクタ131・132が順次アドレス格納
部111…を選択するだけで、自動的に各プログラムモ
ジュールの処理が繰り返される。また、処理されるプロ
グラムモジュールの数が先頭アドレス格納部111…の
数よりも少ない場合(例えば2つの場合)には、例えば
図5(a)(b)に示すように、上記プログラムモジュ
ールが4つの場合と同様にアドレス記憶装置100の格
納内容を順次書き換えるようにしてもよいが、プログラ
ムモジュール2の最後の命令が実行される際に読み出し
セレクト制御部133をリセットするようにしたり、読
み出しセレクト制御部133の段数を2段に設定するな
どしてもよい。
However, when the number of program modules to be processed is the same as the number of head address storage units 111..., The selectors 131 and 132 sequentially store addresses without rewriting the storage contents of the address storage device 100. By simply selecting the unit 111, the processing of each program module is automatically repeated. When the number of program modules to be processed is smaller than the number of head address storage units 111 (for example, two), for example, as shown in FIGS. The contents stored in the address storage device 100 may be sequentially rewritten in the same manner as in the first case, but the read select control unit 133 may be reset when the last instruction of the program module 2 is executed, or the read select control may be performed. The number of stages of the unit 133 may be set to two.

【0038】また、上位プロセッサ151や演算部13
8によって演算器を含むシステムの各部の状態などを評
価し、その評価結果に応じた先頭/終了アドレスをアド
レス格納部111…に格納するようにすれば、上記状態
などに応じてプログラムモジュールの処理順序を変更し
たり、さらに他のプログラムモジュールの処理を行わせ
たりすることができる。
The upper processor 151 and the operation unit 13
8 evaluates the state of each part of the system including the arithmetic unit, and stores the start / end address according to the evaluation result in the address storage unit 111... The order can be changed, and processing of another program module can be performed.

【0039】以上のように、アドレス記憶装置100が
各プログラムモジュールの先頭/終了アドレスを保持
し、ハードウェアによって(分岐命令を実行することな
く)、現実行命令アドレスが終了アドレスに等しくなっ
たときに先頭/終了アドレスの選択を切り替えることに
より、分岐のための命令サイクルを要することなく各プ
ログラムモジュールの処理を順次行わせることができる
ので、総演算処理時間を短縮することができる。
As described above, when the address storage device 100 holds the start / end address of each program module and the current execution instruction address becomes equal to the end address by hardware (without executing a branch instruction). By switching the selection of the start / end address, the processing of each program module can be sequentially performed without requiring an instruction cycle for branching, so that the total operation processing time can be reduced.

【0040】なお、上記の例では、アドレス記憶装置1
00にそれぞれ3つの先頭アドレス格納部111〜11
3、および終了アドレス格納部121〜123が設けら
れている例を示したが、これに限らず、格納部はいくつ
設けてもよく、また、各1つだけ設ける場合でも、各プ
ログラムモジュールの処理が終了するごとに先頭/終了
アドレスを書き替えれば、分岐命令を実行することな
く、処理されるプログラムモジュールを切り替えること
ができる。
In the above example, the address storage device 1
00, three start address storage units 111 to 11
3, and an example in which the end address storage units 121 to 123 are provided. However, the present invention is not limited to this, and any number of storage units may be provided. If the start / end address is rewritten each time the program ends, the program module to be processed can be switched without executing the branch instruction.

【0041】また、上記の例ではプログラムカウンタ1
34に相対アドレスを保持させる例を示したが、絶対ア
ドレスを保持させるようにしてもよい。具体的には、前
記プログラムカウンタ134をリセットするタイミング
で、セレクタ131から出力される先頭アドレス(絶対
アドレス)をプログラムカウンタ134にプリロードす
るようにして、プログラムカウンタ134の出力を直接
プログラム格納部137に入力するようにすればよい。
この場合、プログラムカウンタ134のビット長を長く
する必要があるが、一方、加算器135を設けなくても
よくなる。 (実施の形態2)本発明の実施の形態2として、各プロ
グラムモジュールの処理の終了を検出するために、絶対
アドレスである終了アドレスに代えて、各プログラムモ
ジュールの長さである処理長、すなわち各プログラムモ
ジュールの先頭に対する最後部の相対アドレスが用いら
れる演算器の例を説明する。なお、以下の実施の形態に
おいて、前記実施の形態1等と同様の機能を有する構成
要素については同一の符号を付して説明を省略する。
In the above example, the program counter 1
Although the example in which the relative address is held in the memory 34 is shown, the absolute address may be held. Specifically, the head address (absolute address) output from the selector 131 is preloaded into the program counter 134 at the timing of resetting the program counter 134, and the output of the program counter 134 is directly stored in the program storage unit 137. You just need to enter it.
In this case, the bit length of the program counter 134 needs to be increased, but the adder 135 does not need to be provided. (Embodiment 2) As Embodiment 2 of the present invention, in order to detect the end of processing of each program module, instead of the end address which is an absolute address, the processing length which is the length of each program module, that is, An example of an arithmetic unit using the relative address of the last part with respect to the head of each program module will be described. In the following embodiments, components having the same functions as those in the first embodiment and the like will be assigned the same reference numerals and descriptions thereof will be omitted.

【0042】本実施の形態2の演算器と、前記実施の形
態1の演算器との主な相違点は、図6に示すように、ア
ドレス記憶装置100に代えて、保持されるデータのビ
ット数が少ない処理長格納部221〜223(処理長保
持手段)を備えたアドレス・処理長記憶装置200が設
けられていることである。これに伴って、セレクタ23
2(処理長選択手段)および比較部236も、実施の形
態1よりもビット数の少ないものが用いられている。ま
た、上記比較部236には、加算器135から出力され
る現実行命令アドレス(実行される命令の絶対アドレ
ス)が入力されるのではなく、プログラムカウンタ13
4に保持されている値、すなわち、現実行命令における
プログラムモジュールの先頭からの相対アドレスが入力
されるようになっている。
The main difference between the arithmetic unit according to the second embodiment and the arithmetic unit according to the first embodiment is that, as shown in FIG. An address / processing length storage device 200 having a small number of processing length storage units 221 to 223 (processing length holding means) is provided. Accordingly, the selector 23
2 (processing length selection means) and the comparison unit 236 having a smaller number of bits than in the first embodiment. Further, the current execution instruction address (absolute address of the instruction to be executed) output from the adder 135 is not input to the comparison unit 236, but the program counter 13
4, ie, the relative address from the beginning of the program module in the current execution instruction is input.

【0043】上記のように構成された演算器の動作にお
いては、図7に示すように、実施の形態1(図2)の
(ステップST14)で比較部136によって加算器1
35から出力された現実行命令アドレスとセレクタ13
2により選択された終了アドレスとが比較されるのに対
し、(ステップST24)で、比較部236によって、
プログラムカウンタ134に保持される相対アドレス
と、セレクタ232により選択された処理長とが比較さ
れる。その他の動作は、実施の形態1の各ステップと同
じであり、したがって、やはり、分岐のための命令サイ
クルを要することなく各プログラムモジュールの処理を
順次行わせることができるので、総演算処理時間を短縮
することができる。しかも、絶対アドレス(実アドレ
ス)である終了アドレスに代えて、データ量(ビット
数)の少ない処理長が用いられることにより、データの
保持や、選択、および比較などのためのハードウェア規
模を小さく抑えることができる。 (実施の形態3)本発明の実施の形態3として、上位プ
ロセッサ151から出力される書き込みアドレスを保持
するバッファが設けられることにより、上位プロセッサ
151が、任意のタイミングで、すなわちプログラムモ
ジュールの処理とは非同期に書き込みアドレスを出力し
得る演算器の例を説明する。
In the operation of the arithmetic unit configured as described above, as shown in FIG. 7, in step ST14 of the first embodiment (FIG. 2), the adder 1 is added by the comparing unit 136.
The current execution instruction address output from the selector 35 and the selector 13
2 is compared with the end address selected in step ST2, whereas in step ST24, the comparing unit 236
The relative address held in the program counter 134 is compared with the processing length selected by the selector 232. The other operations are the same as those of the first embodiment. Therefore, the processing of each program module can be sequentially performed without requiring an instruction cycle for branching. Can be shortened. In addition, since a processing length with a small amount of data (number of bits) is used instead of the end address which is an absolute address (real address), the hardware scale for holding, selecting, and comparing data is reduced. Can be suppressed. (Third Embodiment) As a third embodiment of the present invention, a buffer for holding a write address output from the upper processor 151 is provided, so that the upper processor 151 can execute processing of the program module at an arbitrary timing. Describes an example of an arithmetic unit that can output a write address asynchronously.

【0044】本実施の形態3の演算器には、図8に示す
ように、上位プロセッサ151から出力される書き込み
アドレスを保持するアドレス記憶装置300が設けられ
ている。より詳しくは、このアドレス記憶装置300
は、アドレス記憶装置100と同様に、先頭アドレスを
保持する先頭アドレス格納部311〜313(上位プロ
セッサ用先頭アドレス保持手段)と、それぞれの先頭ア
ドレス格納部311〜313に対応し、終了アドレスを
保持する終了アドレス格納部321〜323(上位プロ
セッサ用終了アドレス保持手段)とを備えている。この
アドレス記憶装置300も、前記実施の形態1でアドレ
ス記憶装置100について説明したように、例えばレジ
スタを用いて構成されるが、メモリを用いて構成するこ
ともできる。
As shown in FIG. 8, the arithmetic unit according to the third embodiment is provided with an address storage device 300 for holding a write address output from the host processor 151. More specifically, the address storage device 300
, Like the address storage device 100, correspond to the start address storage units 311 to 313 (start address holding means for the upper processor) for holding the start address and the respective start address storage units 311 to 313, and hold the end address. Ending address storage units 321 to 323 (end address holding means for upper processor). The address storage device 300 is also configured using, for example, a register as described for the address storage device 100 in the first embodiment, but may be configured using a memory.

【0045】上記各アドレス格納部311〜313・3
21〜323から出力される書き込みアドレスは、演算
部138から出力される書き込みアドレスとともに、セ
レクタ331〜336に入力されるようになっている。
すなわち、上位プロセッサ151から出力される書き込
みアドレスと、プログラム格納部137に格納された書
き替え命令の実行によって演算部138から出力される
書き込みアドレスとが、セレクタ331〜336によっ
て選択されるようになっている。上記セレクタ331〜
336は、それぞれ、アドレス格納部111〜113・
121〜123に接続されている。
Each of the address storage units 311 to 313.3
The write addresses output from 21 to 323 are input to selectors 331 to 336 together with the write address output from operation unit 138.
That is, the selector 331 to 336 selects the write address output from the upper processor 151 and the write address output from the arithmetic unit 138 by executing the rewrite instruction stored in the program storage unit 137. ing. The selectors 331 to 331
336 are address storage units 111 to 113.
121 to 123 are connected.

【0046】さらに、この演算器には、先頭アドレス格
納部311…に保持されたアドレスを先頭アドレス格納
部111…に書き込むタイミングを制御するタイミング
制御部361が設けられている。より詳しくは、このタ
イミング制御部361は、先頭アドレス格納部111…
に書き込まれるべきアドレスが先頭アドレス格納部31
1…に保持されている場合に、比較部136から終了ア
ドレス一致信号が出力されたタイミング、すなわち先頭
アドレス格納部111…への書き込みが可能なタイミン
グで、セレクタ331〜336による先頭アドレス格納
部311…の選択、および先頭アドレス格納部111…
のうちアドレスが書き込まれるべき1または2以上の先
頭アドレス格納部111…の選択を示す書き込みセレク
ト信号をセレクタ331〜336およびアドレス記憶装
置100に出力するようになっている。
Further, the arithmetic unit is provided with a timing control section 361 for controlling the timing of writing the address held in the start address storage sections 311 to the start address storage sections 111. More specifically, the timing control unit 361 includes a start address storage unit 111.
Is the address to be written to the head address storage unit 31
Are held at the timing when the end address coincidence signal is output from the comparison unit 136, that is, at the timing when writing to the start address storage units 111 is possible, the start address storage unit 311 by the selectors 331 to 336 is used. ... and the start address storage unit 111 ...
Are output to the selectors 331 to 336 and the address storage device 100, indicating a selection of one or more start address storage units 111 to which an address is to be written.

【0047】次に、上記のように構成された演算器の動
作を図9を参照して説明する。図9は先頭/終了アドレ
スの書き込みタイミングを示す説明図である。
Next, the operation of the arithmetic unit configured as described above will be described with reference to FIG. FIG. 9 is an explanatory diagram showing the write timing of the start / end address.

【0048】上位プロセッサ151によるアドレス記憶
装置300への先頭/終了アドレスの書き込みは、プロ
グラムモジュールの処理タイミングには係らず、任意の
タイミングA1・A2で行われる。すなわち、アドレス
記憶装置300にアドレスが書き込まれただけでは、プ
ログラムモジュールの処理は影響を受けないため、上位
プロセッサ151は、処理中のプログラムモジュールの
処理が終了するのを待ったり、終了した時点で割り込み
処理をしたりする必要がなく、上位プロセッサ151自
身の処理に応じたタイミングでアドレスを出力すること
ができる。
The writing of the start / end address to the address storage device 300 by the upper processor 151 is performed at arbitrary timings A1 and A2 regardless of the processing timing of the program module. That is, since the processing of the program module is not affected only by writing the address to the address storage device 300, the upper processor 151 waits for the processing of the program module being processed to be completed, or There is no need to perform an interrupt process, and the address can be output at a timing according to the process of the host processor 151 itself.

【0049】一方、アドレス記憶装置300に保持され
た先頭/終了アドレスのアドレス記憶装置100への書
き替えは、タイミング制御部361の制御により、例え
ば3つのプログラムモジュールの処理が終了するごとの
タイミングB0・B1・B2で行われ、順次処理される
プログラムモジュールが変更される。(なお、図9にお
いては3つのプログラムモジュールごとに便宜上間隙が
描かれているが、実際に待ち時間が生じるわけではな
い。)このように書き替えタイミングが制御されること
により、例えば、あるプログラムモジュールの処理中
に、そのプログラムモジュールに対応した終了アドレス
格納部121…に保持されている先頭/終了アドレスが
変更されることによる誤動作は防止される。
On the other hand, the rewriting of the start / end address stored in the address storage device 300 into the address storage device 100 is controlled by the timing control unit 361, for example, at the timing B0 every time the processing of three program modules is completed. The program modules that are executed in B1 and B2 and are sequentially processed are changed. (Note that, in FIG. 9, a gap is drawn for each of the three program modules for convenience, but a waiting time does not actually occur.) By controlling the rewriting timing in this way, for example, a certain program During the processing of the module, a malfunction due to a change in the start / end address held in the end address storage units 121... Corresponding to the program module is prevented.

【0050】上記のようにしてアドレス記憶装置100
に保持された先頭/終了アドレスに基づく分岐制御につ
いては、前記実施の形態1と同様であり、したがって、
やはり分岐のための命令サイクルを要することなく各プ
ログラムモジュールの処理を順次行わせて、総演算処理
時間を短縮することができる。しかも、上記のように上
位プロセッサ151から出力されるアドレスがアドレス
記憶装置300に一時保管されることにより、プログラ
ムモジュールの適切な処理が保証されるとともに、上位
プロセッサ151による書き込み待ちなどをなくして、
上位プロセッサ151の処理効率を向上させることがで
きる。
As described above, the address storage device 100
The branch control based on the start / end address held in the first embodiment is the same as in the first embodiment,
Again, the processing of each program module is performed sequentially without requiring an instruction cycle for branching, so that the total operation processing time can be reduced. In addition, since the address output from the upper processor 151 is temporarily stored in the address storage device 300 as described above, appropriate processing of the program module is guaranteed, and the waiting for writing by the upper processor 151 is eliminated.
The processing efficiency of the host processor 151 can be improved.

【0051】なお、上記の例では、アドレス記憶装置3
00にそれぞれ3つの先頭アドレス格納部311〜31
3、および終了アドレス格納部321〜323が設けら
れている例を示したが、実施の形態1でアドレス記憶装
置100について説明したのと同様に3つに限るもので
はない。また、アドレス記憶装置100の先頭アドレス
格納部111…と同数でなくてもよい。
In the above example, the address storage device 3
00, three start address storage units 311 to 31 respectively.
3, and an example in which the end address storage units 321 to 323 are provided, but the number is not limited to three as described for the address storage device 100 in the first embodiment. Also, the number may not be the same as that of the head address storage units 111 of the address storage device 100.

【0052】また、図9においては3つのプログラムモ
ジュールごとに先頭/終了アドレスを書き替える例を示
したが、これに限らず、各プログラムモジュールごとに
それぞれ別個のタイミングで書き替えるなどしてもよ
い。
FIG. 9 shows an example in which the start / end addresses are rewritten for each of the three program modules. However, the present invention is not limited to this, and the rewrite may be performed for each program module at a different timing. .

【0053】また、本実施の形態3においても、前記実
施の形態2と同様に終了アドレスに代えて処理長を用い
るようにしてもよい。
Also in the third embodiment, the processing length may be used instead of the end address, as in the second embodiment.

【0054】また、上記のようにアドレス記憶装置30
0を設けるのに代えて、アドレス記憶装置100とセレ
クタ131・132との間、またはセレクタ131・1
32と加算器135/比較部136との間にバッファを
設けるようにしてもよい。この場合には、バッファへの
アドレスの書き込みを上記の場合と同様にタイミング制
御部361によって制御すれば、アドレス記憶装置10
0への書き込みは任意のタイミングで行うことができ
る。 (実施の形態4)本発明の実施の形態4として、アドレ
ス記憶装置にメモリが用いられた演算器の例を説明す
る。また、この演算器では、プログラムモジュールの処
理の終了を、命令中に含まれる終了フラグによって検出
するようになっている。以下、図10を参照して具体的
に説明する。
Also, as described above, the address storage device 30
0, instead of between the address storage device 100 and the selectors 131 and 132 or the selectors 131 and 1.
A buffer may be provided between 32 and the adder 135 / comparator 136. In this case, if the writing of the address to the buffer is controlled by the timing control unit 361 as in the above case, the address storage device 10
Writing to 0 can be performed at any timing. (Embodiment 4) As Embodiment 4 of the present invention, an example of an arithmetic unit using a memory as an address storage device will be described. In this arithmetic unit, the end of the processing of the program module is detected by an end flag included in the instruction. Hereinafter, a specific description will be given with reference to FIG.

【0055】図10において、アドレス記憶装置400
はメモリ410を備えて構成されている。上記メモリ4
10は、所定の記憶領域が、処理される各プログラムモ
ジュールの先頭アドレスが格納される先頭アドレス格納
部411〜413として働くようになっている。上記先
頭アドレス格納部411〜413の何れに保持されてい
る先頭アドレスが加算器135に出力されるかの選択
は、出力されるべき先頭アドレスが格納されている先頭
アドレス格納部411〜413のアドレスを保持するア
ドレスレジスタ433(アドレス指定手段)によって制
御されるようになっている。(メモリ410は実施の形
態1のセレクタ131と同様の機能も含んでいる。)上
記アドレスレジスタ433としては、具体的には例え
ば、後述する終了フラグ検出部436から終了フラグ検
出信号が出力されるごとに、先頭アドレス格納部411
〜413に対応するアドレスを順次出力するカウンタが
用いられる。
In FIG. 10, an address storage device 400
Is provided with a memory 410. Memory 4 above
Reference numeral 10 indicates that a predetermined storage area functions as start address storage sections 411 to 413 in which start addresses of respective program modules to be processed are stored. The selection of the head address stored in the head address storage units 411 to 413 to be output to the adder 135 depends on the address of the head address storage unit 411 to 413 in which the head address to be output is stored. Is controlled by an address register 433 (address designating means) for storing (The memory 410 also has the same function as the selector 131 of the first embodiment.) As the address register 433, specifically, for example, an end flag detection signal is output from an end flag detection unit 436 described later. For each, the start address storage unit 411
A counter that sequentially outputs addresses corresponding to .about.413 is used.

【0056】上記アドレス記憶装置400に保持される
先頭アドレスは、上位プロセッサ151により、アドレ
ス記憶装置470を介して書き替えられるようになって
いる。上記アドレス記憶装置470は、1つの先頭アド
レス格納部471が設けられている点と、この先頭アド
レス格納部471には、先頭アドレスとともに、その先
頭アドレスが書き込まれるべき先頭アドレス格納部41
1〜413のうちの何れか1つのアドレスが保持される
点を除き、前記実施の形態3(図8)の300と同様に
構成されている。なお、先頭アドレス格納部471は実
施の形態3と同様に複数設けられてもよい。ただし、そ
の場合には、先頭アドレス格納部411〜413への書
き込みは、同時に行うことができないので、1アドレス
ずつ順次行う必要がある。また、上記アドレス記憶装置
470も、アドレス記憶装置400と同様にメモリを用
いて構成されてもよい。
The head address held in the address storage device 400 is rewritten by the upper processor 151 via the address storage device 470. The address storage device 470 is provided with one head address storage unit 471, and the head address storage unit 471 includes the head address and the head address storage unit 41 to which the head address is to be written.
The configuration is the same as 300 of the third embodiment (FIG. 8) except that any one of addresses 1 to 413 is held. Note that a plurality of head address storage units 471 may be provided as in the third embodiment. However, in this case, writing to the head address storage units 411 to 413 cannot be performed at the same time. Also, the address storage device 470 may be configured using a memory, similarly to the address storage device 400.

【0057】上記アドレス記憶装置470からアドレス
記憶装置400への先頭アドレスの書き込みのタイミン
グは、前記実施の形態3と同様に、タイミング制御部3
61によって制御される。すなわち、アドレス記憶装置
400として例えばデュアルポートSRAMなどが用い
られる場合には、物理的には、格納されている先頭アド
レス等が読み出し中であっても同時に新たなアドレスの
書き込みが可能であるが、前記実施の形態1で説明した
ように、原則として処理中のプログラムモジュールにつ
いての先頭アドレスおよび終了アドレスが書き替えられ
ないようにするために、タイミング制御部361が書き
込みタイミングを制御する。一方、このような制御が行
われるので、上位プロセッサ151は、任意のタイミン
グで、先頭アドレスをアドレス記憶装置470に書き込
むことができる。
The timing of writing the head address from the address storage device 470 to the address storage device 400 is the same as that of the third embodiment.
61. That is, when a dual-port SRAM or the like is used as the address storage device 400, a new address can be physically written at the same time even when the stored head address or the like is being read. As described in the first embodiment, the timing control unit 361 controls the write timing so that the start address and the end address of the program module being processed are not rewritten in principle. On the other hand, since such control is performed, the host processor 151 can write the head address into the address storage device 470 at an arbitrary timing.

【0058】プログラム格納部137は、実施の形態1
の演算器と同様のものであるが、このプログラム格納部
137に格納される命令は、命令の内容を示す複数のビ
ットの他に、そのフラグビットがセットされることによ
ってプログラムモジュールの最後の命令であることを示
す終了フラグビットを有している。(なお、上記のよう
に終了フラグビットを含むビット列を命令と呼ぶか、ま
たは命令の内容を示すビット列だけを命令と呼ぶかは、
本質的な問題ではない。すなわち、例えば演算部138
が、前者を“命令”としてフェッチして、そのうちの終
了フラグビットを無視して実行するのと、後者だけを
“命令”としてフェッチして実行するのとでは、実質的
な動作は同じである。)終了フラグ検出部436は、演
算部138がプログラム格納部137から命令をフェッ
チする際に、終了フラグビットがセットされていること
をかどうかを調べ、セットされていることが検出される
と、アドレスレジスタ433、プログラムカウンタ13
4、およびタイミング制御部361に終了フラグ検出信
号を出力するようになっている。
The program storage section 137 is provided in the first embodiment.
Is stored in the program storage unit 137. The instruction stored in the program storage unit 137 has a plurality of bits indicating the content of the instruction, and the flag bit is set so that the last instruction of the program module is set. Is provided. (Note that whether a bit string including the end flag bit is referred to as an instruction as described above, or whether only a bit string indicating the content of the instruction is referred to as an instruction,
Not an essential matter. That is, for example, the operation unit 138
However, the actual operation is the same between fetching the former as an “instruction” and executing it ignoring the end flag bit thereof, and fetching and executing only the latter as an “instruction”. . The end flag detection unit 436 checks whether or not the end flag bit is set when the arithmetic unit 138 fetches an instruction from the program storage unit 137. Address register 433, program counter 13
4, and outputs an end flag detection signal to the timing control section 361.

【0059】次に、上記のように構成された演算器の動
作を図11を参照して説明する。図11は上記演算器の
動作を示すフローチャートである。
Next, the operation of the arithmetic unit configured as described above will be described with reference to FIG. FIG. 11 is a flowchart showing the operation of the arithmetic unit.

【0060】(ステップST31) まず、最初のプロ
グラムモジュールの処理が開始される際に、例えば上位
プロセッサ151の制御によって、アドレス記憶装置4
00、アドレスレジスタ433、およびプログラムカウ
ンタ134が初期化される。より詳しくは、アドレス記
憶装置400における所定のアドレスの領域に、順次処
理される各プログラムモジュールの先頭アドレスが格納
される。また、アドレスレジスタ433には、アドレス
記憶装置400における、最初に処理されるプログラム
モジュールの先頭アドレスまたは終了アドレスが保持さ
れている領域のアドレスがプリロードされる。さらに、
プログラムカウンタ134は、リセットされる。
(Step ST 31) First, when the processing of the first program module is started, the address storage device 4 is controlled by, for example, the host processor 151.
00, the address register 433, and the program counter 134 are initialized. More specifically, the head address of each program module to be sequentially processed is stored in a predetermined address area in the address storage device 400. The address register 433 is preloaded with an address of an area in the address storage device 400 in which a start address or an end address of a program module to be processed first is held. further,
The program counter 134 is reset.

【0061】(ステップST32) アドレス記憶装置
400における、アドレスレジスタ433によって示さ
れる領域に保持されている先頭アドレス、およびプログ
ラムカウンタ134に保持されている相対アドレスが、
加算器135にロードされる。
(Step ST32) In the address storage device 400, the head address held in the area indicated by the address register 433 and the relative address held in the program counter 134 are
It is loaded into the adder 135.

【0062】(ステップST33) 加算器135は、
それぞれロードされた先頭アドレスと相対アドレスを加
算し、得られた現実行命令アドレス(実行される命令の
絶対アドレス)をプログラム格納部137に出力する。
(Step ST33) The adder 135
The loaded head address and the relative address are added, and the obtained current execution instruction address (absolute address of the instruction to be executed) is output to the program storage unit 137.

【0063】(ステップST34) 加算器135から
出力された現実行命令アドレスがプログラム格納部13
7に入力されると、そのアドレスに格納されている命令
が演算部138にフェッチされる。以後、(ステップS
T35)以降の処理(終了フラグ検出部436等によっ
て行われる)と、(ステップST39)の処理(演算部
138によって行われる)とは並行して行われる。
(Step ST34) The current execution instruction address output from the adder 135 is stored in the program storage unit 13.
7, the instruction stored at that address is fetched by the operation unit 138. Thereafter, (Step S
T35) and subsequent processes (performed by the end flag detector 436 and the like) and (step ST39) (performed by the calculator 138) are performed in parallel.

【0064】(ステップST35) 終了フラグ検出部
436は、上記演算部138によってフェッチされた命
令の終了フラグビットがセットされているかどうかをチ
ェックする。
(Step ST35) The end flag detection section 436 checks whether or not the end flag bit of the instruction fetched by the operation section 138 is set.

【0065】(ステップST36) 上記(ステップS
T35)で終了フラグビットがセットされていなけれ
ば、プログラムカウンタ134がカウントアップされた
後、(ステップST32)以降の処理が繰り返される。
(Step ST36) The above (Step S36)
If the end flag bit is not set in T35), the program counter 134 is counted up, and then the processing after (step ST32) is repeated.

【0066】(ステップST37) 一方、上記(ステ
ップST35)で終了フラグビットがセットされていれ
ば、終了フラグ検出部436は、終了フラグ検出信号を
アドレスレジスタ433、プログラムカウンタ134、
およびタイミング制御部361に出力する。
(Step ST37) On the other hand, if the end flag bit is set in the above (Step ST35), the end flag detection section 436 outputs the end flag detection signal to the address register 433, the program counter 134,
And to the timing controller 361.

【0067】(ステップST38) 上記終了フラグ検
出信号がアドレスレジスタ433に入力されると、アド
レスレジスタ433は、保持しているアドレスを、アド
レス記憶装置400における、次に処理されるプログラ
ムモジュールの先頭アドレスが保持されている領域のア
ドレスに更新する。また、終了フラグ検出信号がプログ
ラムカウンタ134に入力されると、プログラムカウン
タ134はリセットされる。さらに、タイミング制御部
361は、メモリ410に書き込まれるべき先頭アドレ
スがアドレス記憶装置470に保持されていれば、アド
レス記憶装置400に、その先頭アドレスを取り込むよ
うに指示する。その後、(ステップST32)以降の処
理が繰り返される。すなわち、あるプログラムモジュー
ルの最後の命令が実行される際に、その命令の内容が何
であろうと、先頭アドレス格納部411…の選択が自動
的に切り替えられるので、分岐のための命令サイクルが
必要とされず、次の命令サイクルでは、次のプログラム
モジュールの命令を実行することができる。
(Step ST38) When the end flag detection signal is input to the address register 433, the address register 433 stores the held address in the address storage device 400 as the start address of the next program module to be processed. Is updated to the address of the area where is stored. When the end flag detection signal is input to the program counter 134, the program counter 134 is reset. Further, if the start address to be written to the memory 410 is held in the address storage device 470, the timing control unit 361 instructs the address storage device 400 to fetch the start address. Thereafter, the processing of (Step ST32) and subsequent steps are repeated. That is, when the last instruction of a certain program module is executed, the selection of the start address storage units 411 is automatically switched regardless of the content of the instruction, so that an instruction cycle for branching is required. However, in the next instruction cycle, the instruction of the next program module can be executed.

【0068】(ステップST39) 一方、上記(ステ
ップST34)でフェッチされた命令は、演算部138
によって実行される。
(Step ST39) On the other hand, the instruction fetched in the above (Step ST34) is
Performed by

【0069】上記のように、終了フラグビットによって
各プログラムモジュールの処理の終了を検出して先頭/
終了アドレスの選択を切り替えることにより、やはり分
岐のための命令サイクルを要することなく各プログラム
モジュールの処理を順次行わせて、総演算処理時間を短
縮することができる。また、前記実施の形態3と同様
に、上位プロセッサ151から出力されるアドレスがア
ドレス記憶装置470に一時保管されることにより、プ
ログラムモジュールの適切な処理が保証されるととも
に、上位プロセッサ151による書き込み待ちなどをな
くして、上位プロセッサ151の処理効率を向上させる
ことができる。しかも、アドレス記憶装置400には先
頭アドレスだけを保持させればよいので、ハードウェア
規模を小さく抑えることができる。なお、上記各実施の
形態、および変形例の構成要素は、種々組み合わせても
よい。
As described above, the end of the processing of each program module is detected by the end flag bit,
By switching the selection of the end address, the processing of each program module can be sequentially performed without requiring an instruction cycle for branching, and the total operation processing time can be reduced. Also, as in the third embodiment, the address output from the upper processor 151 is temporarily stored in the address storage device 470, so that appropriate processing of the program module is guaranteed, and the writing by the upper processor 151 is awaited. Thus, the processing efficiency of the host processor 151 can be improved. In addition, since only the head address needs to be stored in the address storage device 400, the hardware scale can be reduced. In addition, the components of each of the above embodiments and modifications may be variously combined.

【0070】具体的には、例えば、実施の形態1〜3
(図1、6、8)のアドレス記憶装置100等に、実施
の形態4(図10)のアドレス記憶装置400と同様
に、メモリを適用してもよいし、逆に、実施の形態4の
アドレス記憶装置400にレジスタを適用してもよい。
また、実施の形態3、4のアドレス記憶装置300、ま
たはアドレス記憶装置470にも、レジスタに代えてメ
モリを適用してもよい。
Specifically, for example, the first to third embodiments
A memory may be applied to the address storage device 100 and the like of FIGS. 1, 6, and 8 similarly to the address storage device 400 of the fourth embodiment (FIG. 10). A register may be applied to the address storage device 400.
Further, a memory may be applied to the address storage device 300 or the address storage device 470 of the third and fourth embodiments instead of the register.

【0071】また、実施の形態3と同様に、実施の形態
4のアドレス記憶装置470に、先頭アドレス格納部4
11…と対応させて、複数の先頭アドレス格納部471
を設けてもよい。このように各先頭アドレス格納部47
1と先頭アドレス格納部411…との対応関係があらか
じめ定まっている場合には、先頭アドレス格納部471
に、(先頭アドレスとともに、)その先頭アドレスが書
き込まれるべき先頭アドレス格納部411…を示す情報
を保持させる必要は必ずしもない。
As in the third embodiment, the head address storage section 4 is stored in the address storage device 470 of the fourth embodiment.
11 and a plurality of head address storage units 471
May be provided. Thus, each head address storage unit 47
1 and the start address storage units 411... Are predetermined, the start address storage units 471.
It is not always necessary to store information indicating the start address storage units 411 to which the start address is to be written (along with the start address).

【0072】また、実施の形態3(図8)のバッファと
してのアドレス記憶装置300において、終了アドレス
格納部321…に代えて、実施の形態2の処理長格納部
221…のように処理長を保持する処理長格納部(上位
プロセッサ用処理長保持手段)を設けるようにしてもよ
い。
In the address storage device 300 as a buffer according to the third embodiment (FIG. 8), instead of the end address storage units 321..., The processing length is set as in the processing length storage units 221. It is also possible to provide a processing length storage unit (processing length holding means for upper processor) for holding.

【0073】また、実施の形態4のように終了フラグに
よって最後の命令を検出する構成を実施の形態1〜3の
演算器に適用してもよい。
The configuration for detecting the last instruction by the end flag as in the fourth embodiment may be applied to the arithmetic units of the first to third embodiments.

【0074】また、実施の形態4においても、先頭アド
レスを上位プロセッサ151によって書き替えるだけで
なく、演算部138による命令の実行によっても、また
は命令の実行によってだけ書き替えられるようにしても
よいし、他の実施の形態において、上位プロセッサ15
1または演算部138の何れか一方によってだけ書き替
えられるようにしてもよい。さらに、他の方法によって
実質的に先頭アドレス等が書き替えられるようにしても
よいし、また、必ずしも書き替えをしなくても、固定的
な分岐処理を高速に行わせることはできる。上記他の方
法によって先頭アドレス等が書き替えられるようにする
構成としては、例えば、プログラムモジュールの先頭の
ワークエリアなど所定の領域に、そのプログラムモジュ
ールの終了アドレス、および次のモジュールの先頭アド
レスなどを格納し、そのプログラムモジュールの処理中
などに、上記終了アドレス等を先頭/終了アドレス格納
部などに転送する転送機構を設けるなどしてもよい。
In the fourth embodiment as well, the head address may be rewritten not only by the upper processor 151 but also by the execution of the instruction by the arithmetic unit 138 or only by the execution of the instruction. , In another embodiment, the upper processor 15
1 or the operation unit 138 may be rewritten. Further, the head address or the like may be substantially rewritten by another method, and the fixed branch processing can be performed at high speed without necessarily rewriting. As a configuration in which the head address or the like is rewritten by the other method described above, for example, the end address of the program module and the head address of the next module are stored in a predetermined area such as a work area at the head of the program module. For example, a transfer mechanism may be provided to store the end address and the like to the start / end address storage unit or the like during processing of the program module.

【0075】また、実施の形態4において、実施の形態
1、3と同様にアドレス記憶装置470およびタイミン
グ制御部361を設けず、上位プロセッサ151自身が
先頭アドレスの書き込みタイミングを制御するようにし
てもよい。
In the fourth embodiment, as in the first and third embodiments, the address storage device 470 and the timing control unit 361 are not provided, and the upper processor 151 controls the write timing of the head address. Good.

【0076】また、その他、以下のような変形も可能で
ある。
In addition, the following modifications are also possible.

【0077】上記の例では、読み出しセレクト制御部1
33やアドレスレジスタ433が、最後の命令が検出さ
れたときに、自動的に順次次の演算処理の先頭アドレス
等を選択する例を示したが、その選択を上位プロセッサ
151や演算部138による命令の実行によって制御し
得るようにしてもよい。この場合には、アドレス記憶装
置100等の格納内容を変更しなくても、既にアドレス
記憶装置100等に先頭アドレス等が格納されているプ
ログラムモジュールの処理順序を変更することができ
る。
In the above example, the read select control unit 1
33 and the address register 433, when the last instruction is detected, automatically select the start address and the like of the next operation processing in sequence, but the selection is performed by the upper processor 151 or the operation unit 138. May be controlled. In this case, the processing order of the program modules whose head addresses and the like are already stored in the address storage device 100 or the like can be changed without changing the contents stored in the address storage device 100 or the like.

【0078】また、上記先頭アドレスや終了アドレスは
絶対アドレスとして説明したが、例えば分岐前の最後の
命令のアドレスからの相対アドレスや、所定のベースア
ドレスを修飾する相対アドレスを用いることなども容易
にできる。
Although the start address and end address have been described as absolute addresses, it is easy to use a relative address from the address of the last instruction before branching or a relative address for modifying a predetermined base address. it can.

【0079】また、上記の例では、最後の命令が検出さ
れたときの分岐先は一意に定まる例を示したが、これに
限らず、複数のアドレス記憶装置を設け、例えばゼロフ
ラグなどの状態に応じて何れかのアドレス記憶装置が選
択されるようにしてもよい。このようにすれば、条件分
岐命令を実行する場合のように、演算結果や機器の状態
等に応じて、処理されるプログラムモジュールを異なら
せることができる。また、この場合には、分岐条件(例
えばフラグレジスタの何れのフラグを分岐条件とするか
を示すマスクなど)や、その分岐条件成立時に処理する
プログラムモジュールの先頭アドレスなども、前記のよ
うにプログラムモジュールの先頭などに格納するように
してもよい。
In the above example, the branch destination when the last instruction is detected is uniquely determined. However, the present invention is not limited to this. For example, a plurality of address storage devices are provided, and a state such as a zero flag is set. One of the address storage devices may be selected accordingly. In this way, as in the case of executing a conditional branch instruction, the program module to be processed can be changed according to the operation result, the state of the device, and the like. In this case, as described above, the branch condition (for example, a mask indicating which flag of the flag register is used as the branch condition) and the start address of a program module to be processed when the branch condition is satisfied are also stored in the program. It may be stored at the head of the module or the like.

【0080】[0080]

【発明の効果】以上のように本発明によると、分岐命令
を実行することなく、すなわち分岐命令の命令サイクル
を要することなく、ハードウェアによる演算処理の最後
の命令の検出によって次の演算処理に分岐することがで
きるので、分岐を必要とするような演算処理を高速に処
理し、総演算処理時間を短くすることができる。また、
分岐先の演算処理は、命令の実行や上位プロセッサによ
って制御することができるので、種々の条件に応じて処
理内容を柔軟に変更することができる。
As described above, according to the present invention, without executing a branch instruction, that is, without requiring an instruction cycle of a branch instruction, detection of the last instruction of the arithmetic processing by hardware allows the next arithmetic processing to be performed. Since branching can be performed, arithmetic processing that requires branching can be performed at high speed, and the total arithmetic processing time can be shortened. Also,
The operation processing at the branch destination can be controlled by execution of an instruction or an upper processor, so that the processing content can be flexibly changed according to various conditions.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態1の演算器の構成を示すブ
ロック図である。
FIG. 1 is a block diagram illustrating a configuration of an arithmetic unit according to Embodiment 1 of the present invention.

【図2】同演算器の動作を示すフローチャートである。FIG. 2 is a flowchart showing the operation of the arithmetic unit.

【図3】同演算器で処理されるプログラムモジュールの
格納状態の例を示す説明図である。
FIG. 3 is an explanatory diagram showing an example of a storage state of a program module processed by the arithmetic unit.

【図4】同演算器のアドレス記憶装置100の記憶内容
の例を示す説明図である。
FIG. 4 is an explanatory diagram showing an example of contents stored in an address storage device 100 of the arithmetic unit.

【図5】同演算器のアドレス記憶装置100の記憶内容
の他の例を示す説明図である。
FIG. 5 is an explanatory diagram showing another example of the storage content of the address storage device 100 of the arithmetic unit.

【図6】本発明の実施の形態2の演算器の構成を示すブ
ロック図である。
FIG. 6 is a block diagram illustrating a configuration of an arithmetic unit according to Embodiment 2 of the present invention.

【図7】同演算器の動作を示すフローチャートである。FIG. 7 is a flowchart showing the operation of the arithmetic unit.

【図8】本発明の実施の形態3の演算器の構成を示すブ
ロック図である。
FIG. 8 is a block diagram illustrating a configuration of an arithmetic unit according to Embodiment 3 of the present invention.

【図9】同演算器の先頭/終了アドレスの書き込みタイ
ミングの例を示す説明図である。
FIG. 9 is an explanatory diagram showing an example of a write timing of a start / end address of the arithmetic unit.

【図10】本発明の実施の形態4の演算器の構成を示す
ブロック図である。
FIG. 10 is a block diagram illustrating a configuration of an arithmetic unit according to a fourth embodiment of the present invention.

【図11】同演算器の動作を示すフローチャートであ
る。
FIG. 11 is a flowchart showing the operation of the arithmetic unit.

【符号の説明】[Explanation of symbols]

100 アドレス記憶装置 111〜113 先頭アドレス格納部 121〜123 終了アドレス格納部 131・132 セレクタ 133 読み出しセレクト制御部 134 プログラムカウンタ 135 加算器 136 比較部 137 プログラム格納部 138 演算部 151 上位プロセッサ 152 セレクタ 200 アドレス・処理長記憶装置 221〜223 処理長格納部 232 セレクタ 236 比較部 300 アドレス記憶装置 311〜313 先頭アドレス格納部 321〜323 終了アドレス格納部 331〜336 セレクタ 361 タイミング制御部 400 アドレス記憶装置 410 メモリ 411〜413 先頭アドレス格納部 433 アドレスレジスタ 436 終了フラグ検出部 470 アドレス記憶装置 471 先頭アドレス格納部 REFERENCE SIGNS LIST 100 address storage device 111-113 start address storage unit 121-123 end address storage unit 131/132 selector 133 read select control unit 134 program counter 135 adder 136 comparison unit 137 program storage unit 138 arithmetic unit 151 high-order processor 152 selector 200 address Processing length storage devices 221 to 223 Processing length storage unit 232 selector 236 comparison unit 300 address storage device 311 to 313 start address storage unit 321 to 323 end address storage unit 331 to 336 selector 361 timing control unit 400 address storage device 410 memory 411 413 Start address storage unit 433 Address register 436 End flag detection unit 470 Address storage unit 471 Start address storage unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山元 猛晴 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 苅田 吉博 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B033 AA02 CA02 CA08 5B060 AB05 BA15  ──────────────────────────────────────────────────の Continued on the front page (72) Inventor Takeharu Yamamoto 1006 Kadoma Kadoma, Osaka Prefecture Inside Matsushita Electric Industrial Co., Ltd. F-term (reference) 5B033 AA02 CA02 CA08 5B060 AB05 BA15

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】記憶手段に格納されている命令を実行する
命令実行手段と、 上記記憶手段における、上記命令実行手段によって実行
される命令が格納されている領域のアドレスである実行
命令アドレスを出力する実行命令アドレス出力手段とを
備えた演算器であって、 さらに、上記命令実行手段によって実行される命令が、
分岐前の演算処理の最後の命令であることを検出する検
出手段を備えるとともに、 上記実行命令アドレス出力手段が、上記検出手段によっ
て上記最後の命令の検出がなされたときに、分岐後の演
算処理についての、最初の命令が格納されている上記記
憶手段における領域のアドレスである先頭アドレスを出
力するように構成されていることを特徴とする演算器。
An instruction execution means for executing an instruction stored in a storage means, and an execution instruction address which is an address of an area in the storage means in which the instruction executed by the instruction execution means is stored. An execution instruction address output means for executing the instruction, further comprising: an instruction executed by the instruction execution means;
Detecting means for detecting the last instruction of the arithmetic processing before the branch; and executing instruction address output means, when the last instruction is detected by the detecting means, the arithmetic processing after the branch. A computing unit configured to output a head address which is an address of an area in the storage means in which the first instruction is stored for the first instruction.
【請求項2】請求項1の演算器であって、 上記実行命令アドレス出力手段は、 上記記憶手段における、複数のそれぞれの演算処理につ
いての先頭アドレスを保持する先頭アドレス保持手段
と、 上記検出手段によって上記最後の命令の検出がなされる
ごとに、上記先頭アドレス保持手段に保持されている上
記先頭アドレスを順次切り替えて選択する先頭アドレス
選択手段とを備え、 上記先頭アドレス選択手段により選択された上記先頭ア
ドレスに基づいて、上記実行命令アドレスを出力するよ
うに構成されていることを特徴とする演算器。
2. The arithmetic unit according to claim 1, wherein said execution instruction address output means comprises: a start address holding means for holding a start address for each of a plurality of arithmetic processing in said storage means; And a head address selecting means for sequentially switching and selecting the head address held in the head address holding means each time the last instruction is detected by the head address selecting means. An arithmetic unit configured to output the execution instruction address based on a start address.
【請求項3】請求項1の演算器であって、さらに、 上記記憶手段における、複数のそれぞれの演算処理につ
いての最後の命令が格納されている領域のアドレスであ
る終了アドレスを保持する終了アドレス保持手段と、 上記検出手段によって上記最後の命令の検出がなされる
ごとに、上記終了アドレス保持手段に保持されている上
記終了アドレスを順次切り替えて選択する終了アドレス
選択手段とを備えるとともに、 上記検出手段は、上記実行命令アドレス出力手段から出
力される上記実行命令アドレスと、上記終了アドレス選
択手段ににより選択された上記終了アドレスとに基づい
て、上記最後の命令の検出をするように構成されている
ことを特徴とする演算器。
3. The arithmetic unit according to claim 1, further comprising: an end address for holding an end address which is an address of an area in the storage means in which a last instruction for each of the plurality of arithmetic processes is stored. Holding means, and end address selecting means for sequentially switching and selecting the end addresses held in the end address holding means each time the last instruction is detected by the detecting means. The means is configured to detect the last instruction based on the execution instruction address output from the execution instruction address output means and the end address selected by the end address selection means. A computing unit characterized in that:
【請求項4】請求項1の演算器であって、さらに、 上記記憶手段における、複数のそれぞれの演算処理につ
いての、先頭アドレスに対する終了アドレスの相対アド
レスである処理長を保持する処理長保持手段と、 上記検出手段によって上記最後の命令の検出がなされる
ごとに、上記処理長保持手段に保持されている上記処理
長を順次切り替えて選択する処理長選択手段とを備える
とともに、 上記実行命令アドレス出力手段は、処理中の演算処理の
先頭アドレスと、上記先頭アドレスに対する、実行命令
アドレスの相対アドレスとを加算して、上記実行命令ア
ドレスを生成する一方、 上記検出手段は、上記相対アドレスと、上記処理長選択
手段ににより選択された上記処理長とに基づいて、上記
最後の命令の検出をするように構成されていることを特
徴とする演算器。
4. The processing unit according to claim 1, further comprising: a processing length holding means for holding a processing length, which is a relative address of an end address to a start address, for each of the plurality of arithmetic processings in said storage means. And a processing length selection means for sequentially switching and selecting the processing length held in the processing length holding means each time the last instruction is detected by the detection means, The output unit generates the execution instruction address by adding the start address of the arithmetic process being processed and the relative address of the execution instruction address with respect to the start address, while the detection unit outputs the relative address, It is configured to detect the last instruction based on the processing length selected by the processing length selection means. An arithmetic unit, characterized in that:
【請求項5】請求項1の演算器であって、 上記検出手段は、上記記憶手段に、上記命令実行手段に
よって実行される命令の内容を示す情報と対応して格納
される、上記最後の命令であることを示す情報に基づい
て、上記最後の命令の検出をするように構成されている
ことを特徴とする演算器。
5. The arithmetic unit according to claim 1, wherein said detecting means is stored in said storage means in correspondence with information indicating contents of an instruction executed by said instruction executing means. An arithmetic unit configured to detect the last instruction based on information indicating that the instruction is an instruction.
【請求項6】請求項2の演算器であって、 上記先頭アドレス保持手段は、それぞれ上記先頭アドレ
スが保持される複数のレジスタを含み、 上記先頭アドレス選択手段は、上記複数のレジスタのう
ちの何れかを選択するセレクタを含むことを特徴とする
演算器。
6. The arithmetic unit according to claim 2, wherein said starting address holding means includes a plurality of registers each holding said starting address, and said starting address selecting means includes: An arithmetic unit comprising a selector for selecting any one of them.
【請求項7】請求項2の演算器であって、 上記先頭アドレス保持手段は、上記先頭アドレスが保持
されるメモリを含み、上記先頭アドレス選択手段は、上
記メモリにおける上記先頭アドレスが保持されている領
域のアドレスを指定するアドレス指定手段を含むことを
特徴とする演算器。
7. The arithmetic unit according to claim 2, wherein said head address holding means includes a memory holding said head address, and said head address selecting means holds said head address in said memory. An arithmetic unit comprising an address designating means for designating an address of an area in which the data is stored.
【請求項8】請求項2の演算器であって、 上記先頭アドレス保持手段に保持される先頭アドレス
が、上記命令実行手段による命令の実行によって設定さ
れ得るように構成されていることを特徴とする演算器。
8. The arithmetic unit according to claim 2, wherein the start address held in said start address holding means can be set by execution of an instruction by said instruction execution means. Arithmetic unit.
【請求項9】請求項2の演算器であって、 上記先頭アドレス保持手段に保持される先頭アドレス
が、演算器の動作を制御する上位プロセッサによって設
定され得るように構成されていることを特徴とする演算
器。
9. The arithmetic unit according to claim 2, wherein the head address held by said head address holding means can be set by a host processor controlling the operation of the arithmetic unit. Arithmetic unit.
【請求項10】請求項9の演算器であって、 さらに、上記上位プロセッサから出力される先頭アドレ
スを保持する上位プロセッサ用先頭アドレス保持手段を
備え、上記上位プロセッサ用先頭アドレス保持手段に保
持された先頭アドレスが、所定のタイミングで、上記先
頭アドレス保持手段に書き込まれるように構成されてい
ることを特徴とする演算器。
10. The arithmetic unit according to claim 9, further comprising a head address holding means for the upper processor for holding a head address output from the upper processor, wherein the head address is held by the head address holding means for the upper processor. An arithmetic unit configured to write the start address to the start address holding means at a predetermined timing.
【請求項11】請求項3の演算器であって、 上記終了アドレス保持手段は、それぞれ上記終了アドレ
スが保持される複数のレジスタを含み、 上記終了アドレス選択手段は、上記複数のレジスタのう
ちの何れかを選択するセレクタを含むことを特徴とする
演算器。
11. The arithmetic unit according to claim 3, wherein said end address holding means includes a plurality of registers each holding said end address, and said end address selection means comprises: An arithmetic unit comprising a selector for selecting any one of them.
【請求項12】請求項3の演算器であって、 上記終了アドレス保持手段は、上記終了アドレスが保持
されるメモリを含み、 上記終了アドレス選択手段は、上記メモリにおける上記
終了アドレスが保持されている領域のアドレスを指定す
るアドレス指定手段を含むことを特徴とする演算器。
12. The arithmetic unit according to claim 3, wherein said end address holding means includes a memory holding said end address, and said end address selecting means holds said end address in said memory. An arithmetic unit comprising an address designating means for designating an address of an area in which the data is stored.
【請求項13】請求項3の演算器であって、 上記終了アドレス保持手段に保持される終了アドレス
が、上記命令実行手段による命令の実行によって設定さ
れ得るように構成されていることを特徴とする演算器。
13. The arithmetic unit according to claim 3, wherein an end address held in said end address holding means can be set by execution of an instruction by said instruction execution means. Arithmetic unit.
【請求項14】請求項3の演算器であって、 上記終了アドレス保持手段に保持される終了アドレス
が、演算器の動作を制御する上位プロセッサによって設
定され得るように構成されていることを特徴とする演算
器。
14. An arithmetic unit according to claim 3, wherein the end address held by said end address holding means can be set by an upper processor controlling the operation of the arithmetic unit. Arithmetic unit.
【請求項15】請求項14の演算器であって、 さらに、上記上位プロセッサから出力される終了アドレ
スを保持する上位プロセッサ用終了アドレス保持手段を
備え、上記上位プロセッサ用終了アドレス保持手段に保
持された終了アドレスが、所定のタイミングで、上記終
了アドレス保持手段に書き込まれるように構成されてい
ることを特徴とする演算器。
15. The arithmetic unit according to claim 14, further comprising: an upper processor end address holding unit for holding an end address output from said upper processor, wherein said end unit is held by said upper processor end address holding unit. An arithmetic unit configured to write the ending address to the ending address holding means at a predetermined timing.
【請求項16】請求項4の演算器であって、 上記処理長保持手段は、それぞれ上記処理長が保持され
る複数のレジスタを含み、 上記処理長選択手段は、上記複数のレジスタのうちの何
れかを選択するセレクタを含むことを特徴とする演算
器。
16. The arithmetic unit according to claim 4, wherein said processing length holding means includes a plurality of registers each of which holds said processing length, and said processing length selection means includes: An arithmetic unit comprising a selector for selecting any one of them.
【請求項17】請求項4の演算器であって、 上記処理長保持手段は、上記処理長が保持されるメモリ
を含み、 上記処理長選択手段は、上記メモリにおける上記処理長
が保持されている領域のアドレスを指定するアドレス指
定手段を含むことを特徴とする演算器。
17. The arithmetic unit according to claim 4, wherein said processing length holding means includes a memory for storing said processing length, and said processing length selecting means for storing said processing length in said memory. An arithmetic unit comprising an address designating means for designating an address of an area in which the data is stored.
【請求項18】 請求項4の演算器であって、 上記処理長保持手段に保持される処理長が、上記命令実
行手段による命令の実行によって設定され得るように構
成されていることを特徴とする演算器。
18. The arithmetic unit according to claim 4, wherein the processing length held in said processing length holding means can be set by execution of an instruction by said instruction execution means. Arithmetic unit.
【請求項19】請求項4の演算器であって、 上記処理長保持手段に保持される処理長が、演算器の動
作を制御する上位プロセッサによって設定され得るよう
に構成されていることを特徴とする演算器。
19. The arithmetic unit according to claim 4, wherein the processing length held by said processing length holding means can be set by a host processor controlling the operation of the arithmetic unit. Arithmetic unit.
【請求項20】請求項19の演算器であって、 さらに、上記上位プロセッサから出力される処理長を保
持する上位プロセッサ用処理長保持手段を備え、上記上
位プロセッサ用処理長保持手段に保持された処理長が、
所定のタイミングで、上記処理長保持手段に書き込まれ
るように構成されていることを特徴とする演算器。
20. The arithmetic unit according to claim 19, further comprising: a processing length holding unit for a high-order processor for holding a processing length output from the high-order processor, wherein the processing length is held by the processing length holding unit for the high-order processor. Processing length is
An arithmetic unit configured to be written to the processing length holding means at a predetermined timing.
JP2001053354A 2000-03-10 2001-02-28 Computing element Pending JP2001325102A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001053354A JP2001325102A (en) 2000-03-10 2001-02-28 Computing element

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-66496 2000-03-10
JP2000066496 2000-03-10
JP2001053354A JP2001325102A (en) 2000-03-10 2001-02-28 Computing element

Publications (1)

Publication Number Publication Date
JP2001325102A true JP2001325102A (en) 2001-11-22

Family

ID=26587177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001053354A Pending JP2001325102A (en) 2000-03-10 2001-02-28 Computing element

Country Status (1)

Country Link
JP (1) JP2001325102A (en)

Similar Documents

Publication Publication Date Title
JPS6239780B2 (en)
JP2560988B2 (en) Information processing apparatus and processing method
JPH0248732A (en) Micro processor for instruction pipe line system
JPH0683615A (en) Computer for executing instruction set emulation
JP2916605B2 (en) Computer processor
JP2001325102A (en) Computing element
JP2552738B2 (en) Data processing device
JP2901247B2 (en) Discharge control method
JP2583614B2 (en) Vector arithmetic unit
JP2591325B2 (en) Branch control device
JP4151497B2 (en) Pipeline processing equipment
JP2781779B2 (en) Branch control circuit
JPS6221131B2 (en)
US20010021973A1 (en) Processor
JP3164690B2 (en) Address control device
JPH05282143A (en) Main storage access control circuit
JPH0512009A (en) Digital signal processing device
JPH04245333A (en) Information processor
JPH0228724A (en) System for controlling branching instruction
JPH0833825B2 (en) Microprocessor
JPH0531170B2 (en)
JP2000207390A (en) Vector processor and maximum vector length control method
JPH02155036A (en) Data processor
JPH01156850A (en) Information processor
JPH0769800B2 (en) Data processing device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040706