JPH0561901A - Program-controlled processor - Google Patents

Program-controlled processor

Info

Publication number
JPH0561901A
JPH0561901A JP3218341A JP21834191A JPH0561901A JP H0561901 A JPH0561901 A JP H0561901A JP 3218341 A JP3218341 A JP 3218341A JP 21834191 A JP21834191 A JP 21834191A JP H0561901 A JPH0561901 A JP H0561901A
Authority
JP
Japan
Prior art keywords
instruction
pipeline
vector
program
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3218341A
Other languages
Japanese (ja)
Other versions
JP2584156B2 (en
Inventor
Kunitoshi Aono
邦年 青野
Maki Toyokura
真木 豊蔵
Toshiyuki Araki
敏之 荒木
Akihiko Otani
昭彦 大谷
Hisashi Kodama
久 児玉
Kiyoshi Okamoto
潔 岡本
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 JP3218341A priority Critical patent/JP2584156B2/en
Publication of JPH0561901A publication Critical patent/JPH0561901A/en
Application granted granted Critical
Publication of JP2584156B2 publication Critical patent/JP2584156B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 パイプライン演算器をプログラム制御方式の
汎用プロッセサの資源として実装制御し、高性能を得る
ことが可能なプロセッサを提供する。 【構成】 プログラム制御回路1は内部のプログラムカ
ウンタを停止させ、ベクトルパイプライン命令の実行サ
イクルを繰り返す。アドレス発生器2はプログラム制御
回路1からの起動信号によりあらかじめ設定されたシー
ケンスでm個のアドレスを連続して発生し、データメモ
リ3より連続的にm個のメモリ読みだしサイクルが開始
される。また制御回路1はデータ処理回路4の機能及び
パイプライン構成を制御する。アドレス発生器2はm個
のアドレスの発生を終了すると、プログラム制御回路1
に対して終了信号を与える。制御回路1は、アドレス発
生器2からの終了信号を受信した後さらに2サイクル遅
らせて、プログラムカウンタを再起動させる。そしてN
番地の特定の命令以降の命令を逐次実行させる。
(57) [Summary] (Modified) [Objective] To provide a processor capable of achieving high performance by implementing and controlling a pipeline arithmetic unit as a resource of a general-purpose processor of a program control system. Configuration: The program control circuit 1 stops an internal program counter and repeats the execution cycle of a vector pipeline instruction. The address generator 2 continuously generates m addresses in a preset sequence in response to a start signal from the program control circuit 1, and m memory read cycles are continuously started from the data memory 3. The control circuit 1 also controls the function and pipeline configuration of the data processing circuit 4. When the address generator 2 finishes generating m addresses, the program control circuit 1
Give an end signal to. After receiving the end signal from the address generator 2, the control circuit 1 delays it by two more cycles and restarts the program counter. And N
The instructions after the specific instruction of the address are executed sequentially.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はプログラム制御方式のプ
ロセッサに関するもので、特に高速演算処理を必要とす
るデジタルシグナルプロセッサ(以下DSPと記す)の
アーキテクチュアに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program control type processor, and more particularly to an architecture of a digital signal processor (hereinafter referred to as DSP) which requires high speed arithmetic processing.

【0002】[0002]

【従来の技術】従来のプログラム制御方式の汎用プロセ
ッサ例えばRISC型プロセッサのマイクロ命令セットに
は、メモリの読みだし/書き込み、レジスタのセット、
レジスタ間のデータ転送、各種算術論理演算等の命令群
が実装されており、これらの命令を用いてプログラミン
グすることにより、各種の処理を実現している。これら
の命令群はほとんど、単一動作を指令する命令であり、
単純な動作を組み合わせることで、最終的に複雑で高度
な処理が実現でき且つ汎用性を実現している。
2. Description of the Related Art A conventional program control type general-purpose processor, for example, a RISC type microinstruction set, includes a memory read / write, register set,
Instruction groups such as data transfer between registers and various arithmetic and logic operations are mounted, and various processing is realized by programming using these instructions. Most of these command groups are commands that command a single operation.
By combining simple operations, finally complex and sophisticated processing can be realized and versatility is realized.

【0003】しかしながら、上記のような単一動作命令
を一つずつ逐次的に実行しなければならないため、従来
から処理速度の点で課題となっている。
However, since the above-mentioned single operation instructions must be sequentially executed one by one, there has been a problem in terms of processing speed from the prior art.

【0004】[0004]

【発明が解決しようとする課題】以上のように、従来の
プログラム制御方式のプロセッサは、単一動作命令を組
み合わせてプログラミングされており、一命令ずつ逐次
的に実行していくため、処理速度の点で課題があった。
As described above, the processor of the conventional program control system is programmed by combining the single operation instructions and sequentially executes the instructions one by one. There was a problem in terms.

【0005】特に高速演算処理を必要とするDSPにお
いては、重要な課題である。DSPにおいては汎用プロ
セッサに比べ、乗算器の内蔵、プログラムメモリの内
蔵、データメモリの分離分割、データバス/アドレスバ
スの分離分割など種々の高速化が図られている。しがし
ながら汎用プロセッサ同様、単一動作命令でプログラミ
ングされ、一命令ずつ逐次的に実行していくことに変わ
りはない。プログラム制御方式のDSPで必要な処理速
度が得られない場合には、処理を特定した専用ハードウ
ェアを個々に開発する必要があった。
This is an important problem especially in a DSP that requires high-speed arithmetic processing. Compared with a general-purpose processor, a DSP has various speeds up such as a built-in multiplier, a built-in program memory, a separated division of a data memory, a separated division of a data bus / address bus. However, like a general-purpose processor, it is programmed by a single operation instruction and executed one instruction at a time. When the required processing speed cannot be obtained by the program control type DSP, it is necessary to individually develop dedicated hardware that specifies processing.

【0006】本発明は、上述の課題に鑑みてなされ、パ
イプライン演算器をプログラム制御方式の汎用プロッセ
サの資源として実装制御し、高性能を得ることが可能な
プログラム制御型プロセッサを提供することを目的とす
る。
The present invention has been made in view of the above-mentioned problems, and provides a program control type processor capable of achieving high performance by mounting and controlling a pipeline arithmetic unit as a resource of a general-purpose processor of a program control system. To aim.

【0007】[0007]

【課題を解決するための手段】本発明のプログラム制御
型プロセッサは、ベクトル・パイプライン命令を含む複
数の命令を実装するとともに、前記ベクトル・パイプラ
イン命令に基づくパイプライン演算を実行するデータ処
理回路を備えたプログラム制御型プロセッサであって、
プログラムメモリとプログラムカウンタとデコーダとを
含み、前記ベクトル・パイプライン命令が前記プログラ
ムメモリから読みだされた後前記デコーダによって解読
されたとき、前記プログラムカウンタを停止させるとと
もに起動信号を出力し、前記ベクトル・パイプライン命
令の内容に従って前記データ処理回路の動作を制御する
プログラム制御回路と、前記起動信号に基づいて、予め
設定されたシーケンスに従ってアドレスを連続的に発生
し、予め設定された数のアドレスの発生を終了したとき
終了信号を前記プログラム制御回路に出力するアドレス
発生器と、このアドレス発生器によって発生されたアド
レスに基づいて前記発生されたアドレスに予め格納され
たデータを出力するデータメモリとを備え、前記データ
処理回路は、前記データメモリから出力されたデータに
基づいて前記プログラム制御回路の制御に従って前記パ
イプライン演算を実行し、前記プログラム制御回路は、
前記終了信号を受信したときから所定サイクル後に、前
記ベクトル・パイプライン命令に基づく前記パイプライ
ン演算の終了を検出し、前記ベクトル・パイプライン命
令に続く命令を逐次実行することを特徴とする。
A program control type processor according to the present invention implements a plurality of instructions including a vector pipeline instruction and executes a pipeline operation based on the vector pipeline instruction. A program control type processor having
A vector including a program memory, a program counter and a decoder, and when the vector pipeline instruction is read from the program memory and decoded by the decoder, the program counter is stopped and an activation signal is output. A program control circuit for controlling the operation of the data processing circuit according to the contents of the pipeline instruction, and an address is continuously generated according to a preset sequence on the basis of the start signal to generate a preset number of addresses. An address generator that outputs an end signal to the program control circuit when the generation is completed, and a data memory that outputs data stored in advance at the generated address based on the address generated by the address generator. And the data processing circuit comprises: Run the pipeline operation under the control of the program control circuit based on the output data from Tamemori, the program control circuit,
After a predetermined cycle from the reception of the end signal, the end of the pipeline operation based on the vector pipeline instruction is detected, and the instructions following the vector pipeline instruction are sequentially executed.

【0008】[0008]

【作用】本発明は上記した構成により、従来の単一動作
を指示する命令セットに、さらにパイプライン処理のた
めのベクトルパイプライン命令を追加実装したプロセッ
サが実現できる。本発明のプロセッサは、ベクトルパイ
プライン命令が読みだされると、データメモリの内容を
プログラム制御回路から独立して、あらかじめ設定した
順序で逐次読みだし、この読みだしサイクルと並列に演
算サイクルを実行させるパイプライン処理を行ない、演
算器の出力を別のデータメモリに並列に逐次書き込むか
または累算器で逐次累算する。そして、設定した数のデ
ータの演算を終了すると、従来のプロセッサ同様、前記
ベクトルパイプライン命令の次のステップの命令からま
た逐次実行するものである。すなわちベクトルパイプラ
イン命令の1命令により、(数1)または(数2)で示
されるすべての演算をパイプライン並列に実行してしま
うものである。
With the above-described structure, the present invention can realize a processor in which a vector pipeline instruction for pipeline processing is additionally mounted on the conventional instruction set for instructing a single operation. When the vector pipeline instruction is read, the processor of the present invention sequentially reads the contents of the data memory in a preset order independently of the program control circuit, and executes the operation cycle in parallel with this reading cycle. Then, the pipeline processing is performed, and the output of the arithmetic unit is sequentially written in parallel to another data memory or is sequentially accumulated by an accumulator. When the operation of the set number of data is completed, the instruction is executed sequentially from the instruction at the step next to the vector pipeline instruction, as in the conventional processor. That is, one vector pipeline instruction executes all the operations shown in (Equation 1) or (Equation 2) in pipeline parallel.

【0009】[0009]

【数1】 [Equation 1]

【0010】[0010]

【数2】 [Equation 2]

【0011】ここでAi、Biはそれぞれデータメモリ
から読みだされる演算器への入力ベクトルデータであ
り、ここでは2入力としたがその数に制限はない。また
Yiは演算器の出力ベクトルデータであり別のデータメ
モリへ書き込まれる。またXは演算器の出力データが累
算器で累算された結果のデータである。そしてまた、演
算器の演算機能は関数Fで示され、命令の内容により演
算器が必要な機能を発揮するよう選択または再構成され
る。
Here, Ai and Bi are respectively input vector data to the arithmetic unit read from the data memory, and here, there are two inputs, but the number is not limited. Yi is output vector data of the arithmetic unit and is written in another data memory. Further, X is the result data obtained by accumulating the output data of the arithmetic unit by the accumulator. Also, the arithmetic function of the arithmetic unit is indicated by a function F, and the arithmetic unit is selected or reconfigured so as to exhibit the required function depending on the content of the instruction.

【0012】[0012]

【実施例】図1は本発明のプロセッサの概念を示すブロ
ック図である。本発明のプロセッサは従来の命令セット
に追加してさらにベクトルパイプライン命令を実装して
いる。図1において、1はプログラムメモリ、プログラ
ムカウンタ、デコーダなどにより構成され、このベクト
ルパイプライン命令がプログラムメモリから読みだされ
ると、プログラムカウンタを停止させるとともに起動信
号を出力し、さらに前記ベクトルパイプライン命令の内
容に従ってデータ処理回路の機能およびパイプライン構
成を制御するプログラム制御回路、2は起動信号により
プログラム制御回路から独立して、あらかじめ設定され
たシーケンスでアドレスを連続して発生し、設定された
数のアドレスの発生を終了するとプログラム制御回路1
に終了信号を与えるアドレス発生器、3はこのアドレス
を入力し連続してデータを出力するデータメモリ、4は
このデータメモリ3から読み出されたデータを入力し、
パイプライン演算を行なうデータ処理回路である。実行
ユニット5はアドレス発生器2、データメモリ3、デー
タ処理装置4から構成されている。
1 is a block diagram showing the concept of a processor according to the present invention. The processor of the present invention implements vector pipeline instructions in addition to the conventional instruction set. In FIG. 1, reference numeral 1 is composed of a program memory, a program counter, a decoder, and the like. When this vector pipeline instruction is read from the program memory, the program counter is stopped and an activation signal is output, and the vector pipeline is further added. The program control circuit 2 for controlling the function and pipeline configuration of the data processing circuit according to the contents of the instruction is independent of the program control circuit by the start signal and continuously generates and sets the address in a preset sequence. When generation of a number of addresses is completed, the program control circuit 1
An address generator 3 which gives an end signal to the data memory 3 inputs the address and continuously outputs data, and 4 inputs the data read from the data memory 3,
It is a data processing circuit for performing pipeline operation. The execution unit 5 is composed of an address generator 2, a data memory 3, and a data processing device 4.

【0013】図1の動作を図2の動作タイミング図とと
もに説明する。図1のプログラム制御回路1がプログラ
ムメモリに蓄積された命令を逐次読みだして実行制御す
る様子を図2に示してあり、N番地の命令が本発明によ
るパイプライン処理を実行するベクトルパイプライン命
令である。
The operation of FIG. 1 will be described with reference to the operation timing chart of FIG. FIG. 2 shows how the program control circuit 1 of FIG. 1 sequentially reads out the instructions stored in the program memory and controls the execution, and the instruction at address N executes the pipeline processing according to the present invention. Is.

【0014】図2においては、N番地の命令以外は従来
の単一動作命令であり、かつ分岐命令でないとする。さ
らに説明を簡単にするため、命令のフェッチ、デコード
等に必要なサイクルを省略し、実行サイクルのみを示し
ている。N番地の命令以外の従来の単一動作命令の実行
は、従来のプロセッサと同様にプロセッサ内の各資源が
制御され、通常1サイクルで実行が完了する。そして逐
次命令を読みだして実行していくものであり、N-2,N-1
番地の命令実行サイクルはこの従来の単一動作命令の実
行が示されている。そして、N番地のベクトルパイプラ
イン命令が読みだされ解読されると、まず、図1のプロ
グラム制御回路1において内部のプログラムカウンタを
停止させ、ベクトルパイプライン命令の実行サイクルを
繰り返すよう制御される。また、プログラム制御回路1
からアドレス発生器2に起動信号が与えられ、起動信号
が与えられたサイクルより、アドレス発生器2はあらか
じめ設定されたシーケンスでm個のアドレスを連続して
発生し、データメモリ3より図2に示すように連続的に
m個のメモリ読みだしサイクルが開始される。またプロ
グラム制御回路1はデータ処理回路4に対して、命令の
内容に従ってデータ処理回路4の機能及びパイプライン
構成を制御する。これは、データ処理回路4が複数の演
算器、レジスタ、メモリなどを有し、それぞれの入出力
の組み合わせをマルチプレクサなどを用いて再構成する
ことにより容易に実現できるものである。図2において
は、メモリ読みだし,処理1、処理2の3段のパイプラ
イン構成に制御された場合が示されている。
In FIG. 2, it is assumed that the instructions other than the instruction at address N are conventional single operation instructions and are not branch instructions. Further, for simplification of description, cycles required for instruction fetch, decode, etc. are omitted and only execution cycles are shown. Execution of a conventional single-operation instruction other than the instruction at address N is completed in one cycle, with each resource in the processor being controlled as in the conventional processor. Then, the sequential instructions are read and executed, and N-2, N-1
The instruction execution cycle of the address indicates execution of this conventional single operation instruction. When the vector pipeline instruction at the address N is read out and decoded, first, the program control circuit 1 of FIG. 1 stops the internal program counter and controls the vector pipeline instruction execution cycle to be repeated. In addition, the program control circuit 1
From the cycle in which the activation signal is given to the address generator 2, the address generator 2 continuously generates m addresses in a preset sequence. As shown, m memory read cycles are continuously started. Further, the program control circuit 1 controls the data processing circuit 4 in accordance with the content of the instruction to control the function and pipeline configuration of the data processing circuit 4. This can be easily realized by the data processing circuit 4 having a plurality of arithmetic units, registers, memories, and the like, and reconfiguring the combination of respective inputs and outputs by using a multiplexer or the like. FIG. 2 shows a case where the control is performed by a three-stage pipeline configuration of memory reading, processing 1 and processing 2.

【0015】以上のような制御が行なわれる事により、
図2に示すように、m個のデータに対して、メモリ読み
だし,処理1,処理2の3段のパイプライン処理が連続実
行できる。そしてアドレス発生器2はm個のアドレスの
発生を終了すると、プログラム制御回路1に対して終了
信号を与える。プログラム制御回路1は、現在のベクト
ルパイプライン命令がメモリ読みだし、処理1、処理2
の3段のパイプライン処理であることは解読しており、
この情報を用いて、アドレス発生器2からの終了信号を
受信した後さらに2サイクル遅らせて、すなわちすべて
のパイプラインサイクルの終了を待って、前記プログラ
ムカウンタを再起動させる。そしてN番地のベクトルパ
イプライン命令以降の命令、すなわちN+1,N+2,N+3番地
の命令を逐次実行させる。
By performing the above control,
As shown in FIG. 2, the three-stage pipeline processing of memory reading, processing 1 and processing 2 can be continuously executed for m pieces of data. When the address generator 2 finishes generating m addresses, it gives an end signal to the program control circuit 1. The program control circuit 1 reads out the current vector pipeline instruction from the memory, and processes 1 and 2
I understand that it is a three-stage pipeline process of
Using this information, the program counter is restarted with a further delay of two cycles after receiving the end signal from the address generator 2, ie waiting for the end of all pipeline cycles. Then, the instructions after the vector pipeline instruction at the address N, that is, the instructions at the addresses N + 1, N + 2, N + 3 are sequentially executed.

【0016】以上のように、本発明によれば従来の命令
セットに追加して、パイプライン並列処理を実現する新
たなベクトルパイプライン命令を実装したプロセッサが
実現できる。このベクトルパイプライン命令により、プ
ログラム制御による汎用性を失うことなく、従来の命令
セットを用いた場合に比べパイプライン並列処理の高速
性とプログラムメモリ容量の圧縮が同時に実現される。
図1のプロセッサにおいては、N番地の命令1命令で、
m個のデータに対するメモリ読みだし、処理1、処理2
の3段のパイプライン並列処理をすべて実行制御してい
る。そしてこの処理を(m+2)サイクルで実現してい
る。従来の単一動作命令を用いて制御すると、少なくと
も3mサイクル必要であり、約3倍の高速化が図られて
おり、パイプライン処理の段数を多くすれば、容易にさ
らなる高速化が実現できる。
As described above, according to the present invention, a processor in which a new vector pipeline instruction for realizing pipeline parallel processing is added to the conventional instruction set can be realized. With this vector pipeline instruction, the high speed of pipeline parallel processing and the compression of the program memory capacity can be realized at the same time without losing the versatility of the program control, as compared with the case of using the conventional instruction set.
In the processor of FIG. 1, one instruction at address N
Memory reading for m pieces of data, processing 1, processing 2
Execution control of all three stages of pipeline parallel processing is performed. And this processing is realized in (m + 2) cycles. Controlling using a conventional single operation instruction requires at least 3 m cycles, which is about 3 times faster, and if the number of pipeline processing steps is increased, further higher speed can be easily realized.

【0017】図3は図1のプログラム制御回路を示すブ
ロック図である。図3において、プログラム制御回路1
は、プログラムカウンタ10と、プログラムメモリ11
と、デコーダ12と、ベクトル命令制御回路13と、命
令レジスタ回路14を主構成要素として構成されてい
る。
FIG. 3 is a block diagram showing the program control circuit of FIG. In FIG. 3, the program control circuit 1
Is a program counter 10 and a program memory 11
, The decoder 12, the vector instruction control circuit 13, and the instruction register circuit 14 as main constituent elements.

【0018】プログラムカウンタ10でアドレス指定さ
れたプログラムメモリ11内の命令を読みだし、第1の
パイプラインレジスタ15を介して、デコーダ12が前
記命令を解読し、第2のパイプラインレジスタ16を介
して実行ユニット5に各部制御信号を送出するよう接続
され、プログラムメモリ11の読みだしサイクル、命令
のデコードサイクル、命令の実行サイクルのパイプライ
ンを構成する。
The instruction in the program memory 11 addressed by the program counter 10 is read out, the decoder 12 decodes the instruction through the first pipeline register 15, and the second pipeline register 16 through the second pipeline register 16. Are connected so as to send control signals to respective units to the execution unit 5 to form a pipeline for the program memory 11 read cycle, instruction decode cycle, and instruction execution cycle.

【0019】プログラムカウンタ10は、プログラムカ
ウンタレジスタ17と第1のマルチプレクサ18とイン
クリメンタ19を有し、第1のマルチプレクサ18はイ
ンクリメンタ19、分岐アドレス制御回路20またはプ
ログタムカウンタレジスタ17の出力の内1つを選択し
てプログタムカウンタレジスタ17に入力するよう接続
されている。
The program counter 10 has a program counter register 17, a first multiplexer 18 and an incrementer 19. The first multiplexer 18 outputs the output of the incrementer 19, the branch address control circuit 20 or the program counter register 17. One of them is selected and connected to the program counter register 17.

【0020】命令レジスタ回路14は、第2のマルチプ
レクサ21と第1のパイプラインレジスタ15とを有
し、第1のパイプラインレジスタ15は、第2のマルチ
プレクサ21により前記プログラムメモリ11または第
1のパイプラインレジスタ14の出力のうち1つを選択
して入力するよう接続されている。
The instruction register circuit 14 has a second multiplexer 21 and a first pipeline register 15, and the first pipeline register 15 is connected to the program memory 11 or the first pipeline register 15 by the second multiplexer 21. It is connected to select and input one of the outputs of the pipeline register 14.

【0021】ベクトル命令制御回路13は、デコーダ1
2の制御により、前記第1のマルチプレクサ18と第2
のマルチプレクサ21を制御し、同時に実行ユニット5
に起動信号を送出し、実行ユニット5から終了信号を受
けるよう接続されている。
The vector instruction control circuit 13 includes a decoder 1
The control of the first multiplexer 18 and the second multiplexer 18
Controlling the multiplexer 21 of the execution unit 5 at the same time
Is connected to receive an end signal from the execution unit 5 by sending a start signal to the.

【0022】このプログラム制御回路1が逐次的に前記
プログラムメモリ11から命令を読みだし実行するとき
に、ベクトル・パイプライン命令がデコーダ12により
解読されると、ベクトル命令制御回路13が、前記実行
ユニット5に起動信号を与える。そして同時に、前記ベ
クトル命令制御回路13が、前記第1のマルチプレクサ
18がプログラムカウンタレジスタ17の出力を選択し
プログラムカウンタレジスタ17がデータを自己保持す
るよう制御する。さらに前記第2のマルチプレクサ21
が第1のパイプラインレジスタ15の出力を選択し、第
1のパイプラインレジスタ14がデータを自己保持する
よう制御することにより、前記ベクトル・パイプライン
命令を連続して複数サイクル実行させるよう制御する。
ここで、上記プログラムカウンタ17及びパイプライン
レジスタ15がデータを自己保持させる手段として、直
接これらのレジスタの書き込みクロックを停止させても
良い。そして、前記ベクトル命令制御回路13が、前記
実行ユニット5から終了信号を受け取ると、前記ベクト
ル・パイプライン命令の内容に応じて、一定サイクル遅
延させて、前記第1のマルチプレクサ18および第2の
マルチプレクサ21の制御を解除し、プログラムカウン
タレジスタ17の自己保持および第1のパイプラインレ
ジスタ15の自己保持を解除することにより、前記ベク
トル・パイプライン命令以降の命令を逐次的に実行させ
る。
When the program control circuit 1 sequentially reads out the instructions from the program memory 11 and executes them, when the vector pipeline instruction is decoded by the decoder 12, the vector instruction control circuit 13 causes the execution unit to be executed. 5 is given a start signal. At the same time, the vector instruction control circuit 13 controls so that the first multiplexer 18 selects the output of the program counter register 17 and the program counter register 17 holds the data by itself. Further, the second multiplexer 21
Selects the output of the first pipeline register 15 and controls the first pipeline register 14 to hold the data by itself, thereby controlling the vector pipeline instruction to be continuously executed for a plurality of cycles. ..
Here, the program counter 17 and the pipeline register 15 may directly stop the write clocks of these registers as a means for holding the data themselves. Then, when the vector instruction control circuit 13 receives the end signal from the execution unit 5, it delays for a certain cycle according to the content of the vector pipeline instruction, and the first multiplexer 18 and the second multiplexer 18 are delayed. By releasing the control of 21, the self-holding of the program counter register 17 and the self-holding of the first pipeline register 15, the instructions after the vector pipeline instruction are sequentially executed.

【0023】図4は図1の実行ユニットを示すブロック
図である。図4において、実行ユニット5は、第1,第
2,第3のアドレス発生器30,31,32からなるアド
レス発生器2と、第1,第2,第3のデータメモリ33,
34,35からなるデータメモリ3と、データ処理回路
4を有する。第1,第2のアドレス発生器30,31がそ
れぞれ第1,第2のデータメモリ33,34のアドレスを
発生し、第1,第2のデータメモリ33,34から読みだ
されたデータがデータ処理回路4で演算処理され、第3
のアドレス発生器32が第3のデータメモリ35のアド
レスを発生し、データ処理回路4で演算処理されたデー
タを第3のデータメモリ35に書き込むよう接続されて
いる。そして、データ処理回路4はALU36、乗算器3
7、第1,第2のパイプライン演算器38,39を有する
演算器ブロック40と、レジスタ41、累算器42、お
よび演算器ブロック40・レジスタ41・累算器42間
のデータの流れを切り替えるデータパス選択回路43に
より構成されている。
FIG. 4 is a block diagram showing the execution unit of FIG. In FIG. 4, the execution unit 5 includes an address generator 2 including first, second, and third address generators 30, 31, and 32, a first, second, and third data memory 33,
It has a data memory 3 composed of 34 and 35, and a data processing circuit 4. The first and second address generators 30 and 31 generate addresses of the first and second data memories 33 and 34, respectively, and the data read from the first and second data memories 33 and 34 are data. The arithmetic processing is performed by the processing circuit 4, and the third
2 is connected to generate an address of the third data memory 35 and write the data processed by the data processing circuit 4 into the third data memory 35. The data processing circuit 4 includes the ALU 36 and the multiplier 3
7, an arithmetic unit block 40 having first and second pipeline arithmetic units 38 and 39, a register 41, an accumulator 42, and a data flow between the arithmetic unit block 40, the register 41, and the accumulator 42. It is composed of a data path selection circuit 43 for switching.

【0024】図5は本発明のプロセッサにおけるベクト
ル命令制御回路を示すブロック図である。図5におい
て、ベクトル命令制御回路13は、ソースメモリ・アド
レス発生器の起動信号発生部50と、ディスティネーシ
ョンメモリ・アドレス発生器の起動信号発生部51と、
第1のマルチプレクサ制御信号発生部52と、第2のマ
ルチプレクサ制御信号発生部53と、ベクトル命令遅延
解析器54により構成される。
FIG. 5 is a block diagram showing a vector instruction control circuit in the processor of the present invention. In FIG. 5, the vector instruction control circuit 13 includes a start signal generator 50 of the source memory / address generator, a start signal generator 51 of the destination memory / address generator,
It is composed of a first multiplexer control signal generator 52, a second multiplexer control signal generator 53, and a vector instruction delay analyzer 54.

【0025】そして、ソースメモリ・アドレス発生器の
起動信号発生部50は、デコーダ12がベクトルパイプ
ライン命令を解読してベクトル命令制御回路13に出力
するベクトル命令信号により、ソースメモリ・アドレス
発生器2の起動信号をアサートし、アドレス発生器2が
出力する終了信号によりネゲートするよう制御される。
図5では、RSフリップフロップ55を用いて、ベクト
ル命令信号により起動信号がセットされ、終了信号によ
りリセットされるまでアサートされる。
Then, the activation signal generator 50 of the source memory address generator 2 receives the vector instruction signal which the decoder 12 decodes the vector pipeline instruction and outputs to the vector instruction control circuit 13 according to the source memory address generator 2. Is asserted, and the end signal output from the address generator 2 is negated.
In FIG. 5, the RS flip-flop 55 is used to set the start signal by the vector command signal and assert it until reset by the end signal.

【0026】次に、ディスティネーションメモリ・アド
レス発生器の起動信号発生部51は、前記ベクトル命令
信号が入力される第1のシフトレジスタ56と、第1の
シフトレジスタ56の各遅延出力の1つを選択して出力
する第3のマルチプレクサ57により構成される。デコ
ーダ12は、前記ベクトル命令信号を出力するときに同
時に、ベクトルパイプライン命令の種類を解読してベク
トル命令種別信号を出力する。このベクトル命令種別信
号により前記ベクトル命令遅延解析器54が必要な遅延
を判断して前記第3のマルチプレクサ57が制御され
る。そしてこの第3のマルチプレクサ57の出力がディ
スティネーションメモリ・アドレス発生器及び累積器の
起動信号として供給される。
Next, the start signal generator 51 of the destination memory address generator is one of the first shift register 56 to which the vector command signal is input and one of the delay outputs of the first shift register 56. Is selected and output. At the same time that the decoder 12 outputs the vector instruction signal, it simultaneously decodes the type of the vector pipeline instruction and outputs the vector instruction type signal. Based on this vector instruction type signal, the vector instruction delay analyzer 54 determines the required delay and controls the third multiplexer 57. The output of the third multiplexer 57 is supplied as a start signal for the destination memory address generator and accumulator.

【0027】次に、第2のマルチプレクサ制御信号発生
部53は、前記終了信号が入力される第2のシフトレジ
スタ58と、第2のシフトレジスタ58の各遅延出力の
1つを選択して出力する第4のマルチプレクサ59とA
NDゲート60で構成される。前記第4のマルチプレク
サ59は前記ベクトル命令遅延解析器54がベクトル命
令種別信号により必要な遅延を判断して制御される。そ
して前記ベクトル命令信号により第2のマルチプレクサ
制御信号をアサートし、第4のマルチプレクサの出力に
よりネゲートするよう制御される。図5では、ANDゲ
ート60を用いて、ベクトル命令信号により第2のマル
チプレクサ制御信号をアサートし、第4のマルチプレク
サの出力によりネゲートされるまで状態を保持する。以
上により、ベクトルパイプライン命令を実行するときに
は、図3のマルチプレクサ21は、第1のパイプライン
レジスタ15がデータを自己保持するよう制御され、他
の命令を実行するときには、プログラムメモリ11を選
択するよう制御される。
Next, the second multiplexer control signal generator 53 selects and outputs one of the second shift register 58 to which the end signal is input and each delay output of the second shift register 58. Fourth multiplexer 59 and A
It is composed of the ND gate 60. The fourth multiplexer 59 is controlled by the vector instruction delay analyzer 54 by determining the required delay according to the vector instruction type signal. Then, the vector command signal asserts the second multiplexer control signal, and the output of the fourth multiplexer controls the negation. In FIG. 5, AND gate 60 is used to assert the second multiplexer control signal with the vector instruction signal and hold the state until negated by the output of the fourth multiplexer. As described above, when executing the vector pipeline instruction, the multiplexer 21 of FIG. 3 is controlled so that the first pipeline register 15 holds the data by itself, and when executing another instruction, selects the program memory 11. Controlled.

【0028】最後に、第1のマルチプレクサ制御信号発
生部52は、第2のマルチプレクサ制御信号発生部53
と、第1のマルチプレクサ制御回路61により構成され
ている。前記第2のマルチプレクサ制御信号と、前記デ
コーダ12から出力されるアドレス分岐制御信号の制御
より、第1のマルチプレクサ制御回路61が第1のマル
チプレクサ制御信号を出力する。以上により、ベクトル
パイプライン命令を実行するときには、図3のマルチプ
レクサ18は、プログラムカウンタレジスタ17がデー
タを自己保持するよう制御され、他の命令を実行すると
きには、インクリメンタ19または分岐アドレス制御回
路20を選択するよう制御される。
Finally, the first multiplexer control signal generator 52 has the second multiplexer control signal generator 53.
And a first multiplexer control circuit 61. The first multiplexer control circuit 61 outputs the first multiplexer control signal under the control of the second multiplexer control signal and the address branch control signal output from the decoder 12. As described above, when executing the vector pipeline instruction, the multiplexer 18 of FIG. 3 is controlled so that the program counter register 17 holds the data by itself, and when executing another instruction, the incrementer 19 or the branch address control circuit 20. Is controlled to select.

【0029】図6は本発明のプロセッサにおけるアドレ
ス発生器を示すブロック図である。図6において、アド
レス発生器2は、アドレス演算器67とサイクルカウン
タ68と終了判定回路69で構成される。そして、ベク
トルパイプライン命令を実行するときにプログラム制御
回路1のベクトル命令制御回路13から与えられる起動
信号がアサートされている期間、起動信号の制御により
アドレス演算器67がデータメモリ3のアドレスを順次
発生する。また同時にサイクルカウンタ68が、起動信
号によりアドレス演算器67が発生したアドレスの数を
計数する。そしてサイクルカウンタ68の値が、一定値
になると終了判定回路69が終了信号を出力するよう制
御される。ここでアドレス演算器67は、従来のポイン
タや2次元アドレス演算器等で構成することが出来る。
またベクトルパイプライン命令以外の命令を実行すると
きには、アドレス演算器67は、プログラム制御回路1
のデコーダ12の各部制御信号により制御され、1つず
つアドレスを発生する。
FIG. 6 is a block diagram showing an address generator in the processor of the present invention. In FIG. 6, the address generator 2 includes an address calculator 67, a cycle counter 68, and an end determination circuit 69. Then, during execution of the vector pipeline instruction, during the period when the activation signal given from the vector instruction control circuit 13 of the program control circuit 1 is asserted, the address arithmetic unit 67 sequentially controls the addresses of the data memory 3 under the control of the activation signal. Occur. At the same time, the cycle counter 68 counts the number of addresses generated by the address calculator 67 by the activation signal. Then, when the value of the cycle counter 68 reaches a constant value, the end determination circuit 69 is controlled to output an end signal. Here, the address calculator 67 can be configured by a conventional pointer, a two-dimensional address calculator, or the like.
Further, when executing an instruction other than the vector pipeline instruction, the address calculator 67 uses the program control circuit 1
The address is generated one by one under the control of the control signals of the respective units of the decoder 12.

【0030】以上の構成により、前記従来の命令を実行
するときは、実行ユニット5は1サイクルで実行が終了
するように単一動作の機能およびデータパスが選択され
る。
With the above configuration, when executing the conventional instruction, the execution unit 5 selects the function and data path of a single operation so that the execution is completed in one cycle.

【0031】また、前記ベクトルパイプライン命令を実
行するときは、第1,第2のソースデータメモリ33,3
4の出力を、前記演算器ブロック40に入力し、演算器
ブロック40の出力を第3のディスティネーションデー
タメモリ35又は累算器42に入力するよう、実行ユニ
ット5の機能およびデータパスが選択される。
When executing the vector pipeline instruction, the first and second source data memories 33 and 3 are used.
4 is input to the arithmetic unit block 40 and the output of the arithmetic unit block 40 is input to the third destination data memory 35 or the accumulator 42. It

【0032】そして、プログラム制御回路1から前記第
1,第2のソースデータメモリ33,34のアドレスを発
生する第1第2のアドレス発生器30、31に第1第2
の起動信号が与えられることにより、第1のアドレス発
生器30、31が、前記プログラム制御回路1から独立
して、予め設定されたシーケンスで一連のアドレスの発
生を開始する。そして発生したアドレスに応じて、前記
ソースデータメモリ33、34から一連のベクトルデー
タを読みだし、前記演算器ブロック40が連続して演算
処理する。
Then, the first and second address generators 30 and 31 for generating the addresses of the first and second source data memories 33 and 34 from the program control circuit 1 are connected to the first and second address generators 30 and 31, respectively.
The first address generators 30 and 31 start generating a series of addresses in a preset sequence independently of the program control circuit 1 by the activation signal of the above. Then, according to the generated address, a series of vector data is read from the source data memories 33 and 34, and the arithmetic unit block 40 continuously performs arithmetic processing.

【0033】そして演算器ブロック40の出力のベクト
ルデータは、プログラム制御回路1から前記ディスティ
ネーションデータメモリ35のアドレスを発生する第3
のアドレス発生器32に実行ユニット5のパイプライン
遅延段数分、即ち実行ユニット5のパイプラインの段数
から1を引いたサイクル数分だけ遅れて第3の起動信号
が与えられることにより、第3のアドレス発生器32
が、一連のアドレスの発生を開始し、連続して前記ディ
スティネーションデータメモリ35に書き込むか、又は
プログラム制御回路1から累算器42に実行ユニット5
のパイプライン遅延段数分遅れて第4の起動信号が与え
られることにより、前記累算器42が累算を開始する。
The vector data output from the arithmetic unit block 40 is used by the program control circuit 1 to generate the address of the destination data memory 35.
The address generator 32 is supplied with the third activation signal with a delay of the number of pipeline delay stages of the execution unit 5, that is, the number of cycles obtained by subtracting 1 from the number of pipeline stages of the execution unit 5, thereby providing the third activation signal. Address generator 32
Starts to generate a series of addresses and continuously writes to the destination data memory 35, or the program control circuit 1 causes the accumulator 42 to execute unit 5.
The accumulator 42 starts accumulating when the fourth activation signal is given after a delay of the number of pipeline delay stages.

【0034】以上のように、複数サイクルでベクトルパ
イプライン演算を実行し、前記第1のアドレス発生器3
0が予め設定された数のアドレスの発生を終了すると、
前記プログラム制御回路1に終了信号を返すよう制御さ
れるものである。
As described above, the vector pipeline operation is executed in a plurality of cycles, and the first address generator 3
When 0 finishes generating the preset number of addresses,
The program control circuit 1 is controlled so as to return an end signal.

【0035】ここでソースデータメモリを33,34、
ディスティネーションデータメモリを35とした実施例
を説明したが、これらの組み合わせは任意であることは
言うまでもない。また終了信号を第1のアドレス発生器
30が出力するとしたが、他のアドレス発生器が終了信
号を発生しても問題はない。
Here, the source data memory 33, 34,
Although the embodiment has been described in which the destination data memory is 35, it goes without saying that these combinations are arbitrary. Although the end signal is output from the first address generator 30, there is no problem even if another address generator generates the end signal.

【0036】図7、図8は本発明のプロセッサの動作を
説明するタイミング図である。本発明のプロセッサは、
従来の命令セットに追加してベクトル・パイプライン命
令を実装したプロセッサであり、図3のプログラム制御
回路、および図4の実行ユニットで構成されるものであ
る。そして、ベクトルパイプライン命令は、ソースデー
タメモリに蓄えられているベクトルデータを読みだし
て、演算器で演算し、出力ベクトルデータをディスティ
ネーションデータメモリに書き込む第1の種類のベクト
ルパイプライン命令と、前記演算器の出力ベクトルデー
タを累算器10で累算する第2の種類のベクトルパイプ
ライン命令をもっている。
7 and 8 are timing charts for explaining the operation of the processor of the present invention. The processor of the present invention is
This is a processor that implements a vector pipeline instruction in addition to the conventional instruction set, and is composed of the program control circuit of FIG. 3 and the execution unit of FIG. The vector pipeline instruction reads the vector data stored in the source data memory, calculates the vector data with the arithmetic unit, and writes the output vector data into the destination data memory. It has a second type of vector pipeline instruction for accumulating the output vector data of the arithmetic unit in the accumulator 10.

【0037】第1の種類のベクトルパイプライン命令
は、(数1)で示したパイプライン並列演算を実行し、
第2の種類のベクトルパイプライン命令は、(数2)で
示したパイプライン並列演算を実行するものである。そ
して、図7は第1の種類のベクトルパイプライン命令の
動作を説明する動作タイミング図であり、図8は第1の
種類のベクトルパイプライン命令の動作を説明する動作
タイミング図である。
The first type of vector pipeline instruction executes the pipeline parallel operation shown in (Equation 1),
The second type of vector pipeline instruction executes the pipeline parallel operation shown in (Equation 2). FIG. 7 is an operation timing chart for explaining the operation of the first type vector pipeline instruction, and FIG. 8 is an operation timing chart for explaining the operation of the first type vector pipeline instruction.

【0038】図7に、図3のプログラム制御回路1がプ
ログラムメモリ11に蓄積された命令を逐次読みだし
て、図4の実行ユニット5が実行制御される様子を示
す。図7においてN番地の命令が本発明によるパイプラ
イン処理を実行するベクトルパイプライン命令である。
図7においても、N番地の命令以外は従来の単一動作命
令であり、かつ分岐命令でないとする。
FIG. 7 shows a state in which the program control circuit 1 of FIG. 3 sequentially reads the instructions stored in the program memory 11 and the execution unit 5 of FIG. 4 is execution-controlled. In FIG. 7, the instruction at address N is a vector pipeline instruction for executing the pipeline processing according to the present invention.
Also in FIG. 7, it is assumed that the instructions other than the instruction at address N are conventional single operation instructions and are not branch instructions.

【0039】ここでは、N番地のベクトルパイプライン
命令は、第1のデータメモリ33と第2のデータメモリ
34に蓄えられているベクトルデータを読みだして、第
1のパイプライン演算器38で演算し、出力ベクトルデ
ータを第3のデータメモリ35に書き込むことを指示し
ている第1の種類のベクトルパイプライン命令であると
する。また、前記ベクトルデータはm個の要素のベクト
ルとしている。
Here, the vector pipeline instruction at the address N reads the vector data stored in the first data memory 33 and the second data memory 34, and the first pipeline arithmetic unit 38 calculates the vector data. However, it is assumed that the first type of vector pipeline instruction instructs to write the output vector data to the third data memory 35. The vector data is a vector of m elements.

【0040】図7において、命令読みだしサイクル、デ
コードサイクル、命令実行サイクルにおいて各サイクル
で何番地の命令が処理されているかが示されている。ま
たベクトルパイプライン命令が実行されるときの各部の
動作タイミングが示されている。図3のプログラム制御
回路1が逐次的にプログラムを実行制御するときに、従
来の単一動作命令すなわちALU演算、乗算、1データの
ロード、ストアなどを実行するときの動作は、従来のプ
ロセッサと同様である。すなわち、プログラムメモリ1
1からの命令読みだしサイクル、デコードサイクル、命
令実行サイクルがパイプラインで逐次される。そして図
4の実行ユニット5はデコーダ12で解読された単一動
作命令の内容に応じて、データパス選択回路43により
データパスが選択され、1サイクルで実行が終了する。
図7に示したN-2,N-1番地の命令実行サイクルはこの従
来の単一動作命令の実行の様子が示されている。
FIG. 7 shows at which address the instruction is processed in each cycle in the instruction read cycle, the decode cycle and the instruction execution cycle. Also, the operation timing of each unit when the vector pipeline instruction is executed is shown. When the program control circuit 1 of FIG. 3 sequentially controls the execution of a program, the operation when executing a conventional single operation instruction, that is, ALU operation, multiplication, 1 data load, store, etc. It is the same. That is, the program memory 1
The instruction read cycle from 1, the decode cycle, and the instruction execution cycle are sequentially performed in the pipeline. Then, the execution unit 5 of FIG. 4 selects the data path by the data path selection circuit 43 according to the content of the single operation instruction decoded by the decoder 12, and the execution is completed in one cycle.
The instruction execution cycles at addresses N-2 and N-1 shown in FIG. 7 show the execution of the conventional single operation instruction.

【0041】次にベクトルパイプライン命令が読みださ
れ実行するときの動作を説明する。まず、実行ユニット
5はデコーダ12で解読されたベクトルパイプライン命
令の内容に応じて、データパス選択回路43により、ソ
ースデータメモリ33、34の出力を、第1のパイプラ
イン演算器38に入力し、演算器38の出力をディステ
ィネーションデータメモリ35に入力するようデータパ
スが選択される。さらに、ここでは第1のパイプライン
演算器38は、2段のパイプラインで実現されているも
のとするが、特に制限はない。画像処理のためには、フ
ィルタ演算器や、コサイン変換器(DCT)などの、専
用パイプライン演算器などを集積すると、パイプライン
並列度に応じて、性能がたとえば10〜100倍と飛躍
的に向上する。
Next, the operation when the vector pipeline instruction is read and executed will be described. First, the execution unit 5 inputs the outputs of the source data memories 33 and 34 to the first pipeline arithmetic unit 38 by the data path selection circuit 43 according to the contents of the vector pipeline instruction decoded by the decoder 12. , The data path is selected so that the output of the arithmetic unit 38 is input to the destination data memory 35. Further, here, the first pipeline arithmetic unit 38 is realized by a two-stage pipeline, but there is no particular limitation. For image processing, by integrating a filter arithmetic unit, a dedicated pipeline arithmetic unit such as a cosine transformer (DCT), etc., the performance is dramatically increased, for example, 10 to 100 times, depending on the degree of pipeline parallelism. improves.

【0042】前記N番地のベクトル・パイプライン命令
がデコーダ12により解読されると、前記ベクトル命令
制御回路13が、図7に示したようにマルチプレクサ制
御信号を出力する。これにより、前記第1のマルチプレ
クサ18がプログラムカウンタレジスタ17の出力を選
択しプログラムカウンタレジスタ17がデータを自己保
持するよう制御する。さらに前記第2のマルチプレクサ
21が第1のパイプラインレジスタ15の出力を選択し
パイプラインレジスタ15がデータを自己保持するよう
制御する。よって図7に示すように、N番地のベクトル
・パイプライン命令を連続して複数サイクルで実行でき
るよう制御する。
When the vector pipeline instruction at the address N is decoded by the decoder 12, the vector instruction control circuit 13 outputs a multiplexer control signal as shown in FIG. As a result, the first multiplexer 18 selects the output of the program counter register 17 and controls the program counter register 17 to hold the data by itself. Further, the second multiplexer 21 selects the output of the first pipeline register 15 and controls the pipeline register 15 to hold the data by itself. Therefore, as shown in FIG. 7, control is performed so that the vector pipeline instruction at address N can be continuously executed in a plurality of cycles.

【0043】そしてまた、前記N番地のベクトル・パイ
プライン命令がデコーダ12により解読されると、プロ
グラム制御回路1のベクトル命令制御回路13から第
1、第2のアドレス発生器30、31に第1、第2の起
動信号がそれぞれ与えられ、アドレス発生器30、31
はプログラム制御回路1から独立して、あらかじめ設定
されたシーケンスでそれぞれm個のアドレスを連続サイ
クルで発生し、第1、第2のデータメモリ33、34よ
り図7に示すようにそれぞれ連続的にm個のメモリ読み
だしサイクルが開始される。ここでは、前記2段のパイ
プライン演算器38が連続して、図7の演算1、演算2
に示すようにパイプライン演算処理し、パイプライン演
算器38の出力のベクトルデータは、第3のデータメモ
リ35に入力される。
When the vector pipeline instruction at the address N is decoded by the decoder 12, the vector instruction control circuit 13 of the program control circuit 1 sends the first and second address generators 30 and 31 a first instruction. , A second activation signal is applied to each of the address generators 30 and 31.
Is independent of the program control circuit 1 and generates m addresses in a continuous cycle in a preset sequence. The first and second data memories 33 and 34 continuously generate the addresses as shown in FIG. The m memory read cycle is started. Here, the two-stage pipeline arithmetic unit 38 is continuously connected to the arithmetic operation 1 and the arithmetic operation 2 in FIG.
Pipeline arithmetic processing is performed as shown in (3), and the vector data output from the pipeline arithmetic unit 38 is input to the third data memory 35.

【0044】ここで、プログラム制御回路1から前記デ
ィスティネーションデータメモリ35のアドレスを発生
する第3のアドレス発生器32に実行ユニットのパイプ
ライン遅延段数分遅れて、即ち演算1、演算2、書き込
みの3サイクル分遅れて、第3の起動信号が与えられる
ことにより、第3のアドレス発生器32が、一連のアド
レスの発生を開始し、連続して前記ディスティネーショ
ンデータメモリ35に書き込まれる。プログラム制御回
路1は、現在のN番地のベクトルパイプライン命令がメ
モリ読みだし、演算1、演算2、メモリ書き込みの4段
のパイプライン処理であることは解読しており、この情
報を用いて、アドレス発生器32への第3の起動信号を
第1第2のアドレス発生器30、31への第1第2の起
動信号より3サイクル遅らせて与えることができる。
Here, the program control circuit 1 delays the third address generator 32 for generating the address of the destination data memory 35 by the pipeline delay stage number of the execution unit, that is, the operation 1, the operation 2, and the write operation. When the third activation signal is applied with a delay of three cycles, the third address generator 32 starts to generate a series of addresses, and the addresses are continuously written in the destination data memory 35. The program control circuit 1 has deciphered that the current vector pipeline instruction at address N is a memory read, and is a four-stage pipeline process of operation 1, operation 2, and memory write, and using this information, The third activation signal to the address generator 32 can be given three cycles later than the first and second activation signals to the first and second address generators 30 and 31.

【0045】以上のような制御が行なわれる事により、
図7に示すように、それぞれm個のベクトルデータに対
して、メモリ読みだし、演算1、演算2、メモリ書き込
みの4段のパイプライン処理が連続実行できる。
By performing the above control,
As shown in FIG. 7, a four-stage pipeline process of memory read, operation 1, operation 2, and memory write can be continuously executed for each of m pieces of vector data.

【0046】そして、第1のアドレス発生器30はm個
のアドレスの発生を終了すると、プログラム制御回路1
に対して第1の終了信号を与える。前記ベクトル命令制
御回路13が、第1の終了信号を受け取ると、前記N番
地のベクトル・パイプライン命令の処理内容に応じて、
図7に示すように、一定サイクル遅延させて、前記マル
チプレクサ18およびマルチプレクサ21の制御信号を
解除し、プログラムカウンタレジスタ17の自己保持お
よびパイプラインレジスタ15の自己保持を解除し、前
記プログラムカウンタ10およびパイプラインレジスタ
15を再起動させる。
When the first address generator 30 finishes generating m addresses, the program control circuit 1
A first end signal is given to. When the vector instruction control circuit 13 receives the first end signal, according to the processing contents of the vector pipeline instruction at the address N,
As shown in FIG. 7, the control signals of the multiplexer 18 and the multiplexer 21 are released with a certain cycle delay, the self-holding of the program counter register 17 and the self-holding of the pipeline register 15 are released, and the program counter 10 and The pipeline register 15 is restarted.

【0047】ここで一定サイクルとは、N番地のベクト
ル・パイプライン命令では2サイクルである。前述のよ
うに、プログラム制御回路1は、現在のN番地のベクト
ルパイプライン命令がメモリ読みだし、演算1、演算
2、メモリ書き込みの4段のパイプライン処理であるこ
とは解読しており、この情報を用いて、前記第1の終了
信号を受け取ってから一定サイクルすなわち2サイクル
遅らせて制御信号を解除することができる。3サイクル
でなく2サイクルとするのは、マルチプレクサ制御信号
を解除しても、プログラム制御回路のパイプライン構成
により、さらに1サイクルN番地の命令が実行されるた
め、1サイクル分早く制御信号を解除するものである。
Here, the constant cycle is two cycles in the vector pipeline instruction at the address N. As described above, the program control circuit 1 deciphers that the current vector pipeline instruction at address N is a memory read, and is a four-stage pipeline process of operation 1, operation 2, and memory write. The information can be used to release the control signal with a fixed or two cycle delay after receiving the first end signal. The reason why the number of cycles is set to 2 instead of 3 is that even if the multiplexer control signal is released, the instruction at address N is executed one cycle later due to the pipeline configuration of the program control circuit, so the control signal is released one cycle earlier To do.

【0048】前記プログラムカウンタ10およびパイプ
ラインレジスタ15が再起動した後、N番地のベクトル
・パイプライン命令にかかわるすべてのパイプラインサ
イクルが終了し、N番地のベクトルパイプライン命令以
降の命令、すなわちN+1,N+2,N+3番地の命令が従来のプ
ロセッサ同様逐次実行される。
After the program counter 10 and the pipeline register 15 are restarted, all the pipeline cycles relating to the vector pipeline instruction at the address N are completed, and the instruction after the vector pipeline instruction at the address N, that is, N Instructions at addresses +1, N + 2, N + 3 are sequentially executed as in the conventional processor.

【0049】以上、本発明の実施例によれば、ベクトル
パイプライン命令1命令により、(数1)で示したパイ
プライン並列演算が実現でき、パイプライン並列度に応
じて、性能が10〜100倍と飛躍的に向上する。また
プログラムメモリのステップ数も1ステップに圧縮でき
る。
As described above, according to the embodiment of the present invention, the pipeline parallel operation shown in (Equation 1) can be realized by one vector pipeline instruction, and the performance is 10 to 100 depending on the pipeline parallel degree. Doubled and dramatically improved. Also, the number of steps in the program memory can be compressed to one step.

【0050】図8は本発明のプロセッサの他の動作を説
明するタイミング図である。以下、本発明のプロセッサ
の他の動作を図8と用いて説明する。図8において、図
7と異なるのは、N番地のベクトルパイプライン命令
が、第2のデータメモリ34と第3のデータメモリ35
に蓄えられているベクトルデータを読みだして、ALU36
で演算し、出力ベクトルデータを累算器42で累算する
ことを指示している第2の種類のベクトルパイプライン
命令であることである。図8においても、命令読みだし
サイクル、デコードサイクル、命令実行サイクルにおい
て各サイクルで何番地の命令が処理されているかが示さ
れている。またベクトルパイプライン命令が実行される
ときの各部の動作タイミングが示されている。
FIG. 8 is a timing diagram illustrating another operation of the processor of the present invention. Hereinafter, another operation of the processor of the present invention will be described with reference to FIG. 8 is different from FIG. 7 in that the vector pipeline instruction at the address N is the second data memory 34 and the third data memory 35.
The vector data stored in the
Is a vector pipeline instruction of the second type instructing that the output vector data is accumulated by the accumulator 42. FIG. 8 also shows the address of the instruction processed in each cycle in the instruction read cycle, the decode cycle, and the instruction execution cycle. Also, the operation timing of each unit when the vector pipeline instruction is executed is shown.

【0051】図3のプログラム制御回路1が逐次的にプ
ログラムを実行制御するときに、従来の単一動作命令す
なわちALU演算、乗算、1データのロード、ストアなど
を実行するときの動作は、従来のプロセッサと同様であ
る。図8に示したN-2,N-1番地の命令実行サイクルはこ
の従来の単一動作命令の実行の様子が示されている。
When the program control circuit 1 of FIG. 3 sequentially controls the execution of a program, the conventional single operation instruction, that is, the ALU operation, the multiplication, the load of 1 data, the store, etc., are executed conventionally. Similar to the processor of. The instruction execution cycle at addresses N-2 and N-1 shown in FIG. 8 shows the execution of the conventional single operation instruction.

【0052】次にベクトルパイプライン命令が読みださ
れ実行するときの動作を説明する。まず、実行ユニット
5はデコーダ12で解読されたベクトルパイプライン命
令の内容に応じて、データパス選択回路43により、ソ
ースデータメモリ34、35の出力を、ALU36に入力
し、ALU36の出力を累算器42に入力するようデータ
パスが選択される。ここでは演算器としてALU36を選
択しているが特に制限はない。
Next, the operation when the vector pipeline instruction is read and executed will be described. First, the execution unit 5 inputs the outputs of the source data memories 34 and 35 to the ALU 36 and accumulates the outputs of the ALU 36 by the data path selection circuit 43 according to the contents of the vector pipeline instruction decoded by the decoder 12. A data path is selected for input to the instrument 42. Here, the ALU 36 is selected as the arithmetic unit, but there is no particular limitation.

【0053】前記N番地のベクトル・パイプライン命令
がデコーダ12により解読されると、前記ベクトル命令
制御回路13が、図8に示したようにマルチプレクサ制
御信号を出力する。これにより、前記第1のマルチプレ
クサ18がプログラムカウンタレジスタ17の出力を選
択しプログラムカウンタレジスタ17がデータを自己保
持するよう制御する。さらに前記第2のマルチプレクサ
21が第1のパイプラインレジスタ15の出力を選択し
パイプラインレジスタ15がデータを自己保持するよう
制御する。よって図8に示すように、N番地のベクトル
・パイプライン命令を連続して複数サイクルで実行でき
るよう制御する。
When the vector pipeline instruction at the address N is decoded by the decoder 12, the vector instruction control circuit 13 outputs a multiplexer control signal as shown in FIG. As a result, the first multiplexer 18 selects the output of the program counter register 17 and controls the program counter register 17 to hold the data by itself. Further, the second multiplexer 21 selects the output of the first pipeline register 15 and controls the pipeline register 15 to hold the data by itself. Therefore, as shown in FIG. 8, control is performed so that the vector pipeline instruction at address N can be continuously executed in a plurality of cycles.

【0054】そしてまた、前記N番地のベクトル・パイ
プライン命令がデコーダ12により解読されると、プロ
グラム制御回路1のベクトル命令制御回路13から第
2,第3のアドレス発生器31,32に第2,第3の起動
信号がそれぞれ与えられ、アドレス発生器31,32は
プログラム制御回路1から独立して、あらかじめ設定さ
れたシーケンスでそれぞれm個のアドレスを連続サイク
ルで発生し、第2,第3のデータメモリ34,35より図
8に示すようにそれぞれ連続的にm個のメモリ読みだし
サイクルが開始される。そしてここでは、ALU36が演
算処理し、ALU36の出力のベクトルデータは、累算器
42に入力される。ここで、プログラム制御回路1から
累算器42に実行ユニットのパイプライン遅延段数分遅
れて、即ちALU演算、累算の2サイクル分遅れて、累算器
42に第4の起動信号が与えられることにより、累算を
開始する。
When the vector pipeline instruction at the address N is decoded by the decoder 12, the vector instruction control circuit 13 of the program control circuit 1 outputs the second instruction to the second and third address generators 31 and 32. The third and third activation signals are respectively applied, and the address generators 31 and 32 independently of the program control circuit 1 generate m addresses in consecutive cycles in a preset sequence. As shown in FIG. 8, m memory reading cycles are continuously started from the data memories 34 and 35 of FIG. Then, here, the ALU 36 performs arithmetic processing, and the vector data output from the ALU 36 is input to the accumulator 42. Here, the program control circuit 1 gives a fourth activation signal to the accumulator 42 after a delay of the number of pipeline delay stages of the execution unit, that is, after a delay of two cycles of ALU operation and accumulation. By this, the accumulation is started.

【0055】プログラム制御回路1は、現在のN番地の
ベクトルパイプライン命令がメモリ読みだし、ALU演
算、累算の3段のパイプライン処理であることは解読し
ており、この情報を用いて、累算器42への第4の起動
信号を第2,第3のアドレス発生器31,32への第2,
第3の起動信号より2サイクル遅らせて与えることがで
きる。
The program control circuit 1 has deciphered that the current vector pipeline instruction at address N is a memory read and is a three-stage pipeline process of ALU operation and accumulation, and using this information, The fourth activation signal to the accumulator 42 is sent to the second and third address generators 31 and 32,
It can be given two cycles later than the third activation signal.

【0056】以上のような制御が行なわれる事により、
図8に示すように、それぞれm個のベクトルデータに対
して、メモリ読みだし、ALU演算、累算の3段のパイプ
ライン処理が連続実行できる。そして、第2のアドレス
発生器31はm個のアドレスの発生を終了すると、プロ
グラム制御回路1に対して第2の終了信号を与える。
By performing the above control,
As shown in FIG. 8, three-stage pipeline processing of memory reading, ALU calculation, and accumulation can be continuously executed for each of m pieces of vector data. When the second address generator 31 finishes generating m addresses, it gives a second end signal to the program control circuit 1.

【0057】前記ベクトル命令制御回路13が、第2の
終了信号を受け取ると、前記N番地のベクトル・パイプ
ライン命令の処理内容に応じて、図8に示すように、一
定サイクル遅延させて、前記マルチプレクサ18および
マルチプレクサ21の制御信号を解除し、プログラムカ
ウンタレジスタ17の自己保持およびパイプラインレジ
スタ15の自己保持を解除し、前記プログラムカウンタ
10およびパイプラインレジスタ15を再起動させる。
ここで一定サイクルとは、N番地のベクトル・パイプラ
イン命令では1サイクルである。前述のように、プログ
ラム制御回路1は、現在のN番地のベクトルパイプライ
ン命令がメモリ読みだし、ALU演算、累算の3段のパイ
プライン処理であることは解読しており、この情報を用
いて、前記第1の終了信号を受け取ってから一定サイク
ルすなわち1サイクル遅らせて制御信号を解除すること
ができる。2サイクルでなく1サイクルとするのは、制
御信号を解除しても、プログラム制御回路のパイプライ
ン構成により、さらに1サイクルN番地の命令が実行さ
れるため、1サイクル分早く制御信号を解除するもので
ある。
When the vector instruction control circuit 13 receives the second end signal, it delays by a certain cycle as shown in FIG. 8 according to the processing contents of the vector pipeline instruction at the address N, and The control signals of the multiplexer 18 and the multiplexer 21 are released, the self-holding of the program counter register 17 and the self-holding of the pipeline register 15 are released, and the program counter 10 and the pipeline register 15 are restarted.
Here, the fixed cycle is one cycle in the vector pipeline instruction at the address N. As described above, the program control circuit 1 deciphers that the current vector pipeline instruction at address N is a memory read, and is a three-stage pipeline process of ALU operation and accumulation, and uses this information. Thus, the control signal can be released after a certain cycle, that is, one cycle, after receiving the first end signal. The reason why one cycle is set instead of two cycles is that even if the control signal is released, the control signal is released earlier by one cycle because the instruction at address N is executed by one cycle due to the pipeline configuration of the program control circuit. It is a thing.

【0058】前記プログラムカウンタ10およびパイプ
ラインレジスタ15が再起動した後、N番地のベクトル
・パイプライン命令にかかわるすべてのパイプラインサ
イクルが終了し、N番地のベクトルパイプライン命令以
降の命令、すなわちN+1,N+2,N+3番地の命令が従来のプ
ロセッサ同様逐次実行される。
After the program counter 10 and the pipeline register 15 are restarted, all the pipeline cycles relating to the vector pipeline instruction at address N are completed, and the instruction after the vector pipeline instruction at address N, that is, N Instructions at addresses +1, N + 2, N + 3 are sequentially executed as in the conventional processor.

【0059】以上、本発明の実施例によれば、ベクトル
パイプライン命令1命令により、(数2)で示したパイ
プライン並列演算が実現でき、パイプライン並列度に応
じて、性能が10〜100倍と飛躍的に向上する。また
プログラムメモリのステップ数も1ステップに圧縮でき
る。
As described above, according to the embodiment of the present invention, the pipeline parallel operation shown in (Equation 2) can be realized by one vector pipeline instruction, and the performance is 10 to 100 depending on the pipeline parallel degree. Doubled and dramatically improved. Also, the number of steps in the program memory can be compressed to one step.

【0060】なお、図1から図8に示した本発明の実施
例において、それぞれのアドレス発生器が、本発明者が
先に提案した2次元データの矩形領域のアドレスを発生
する特願平2ー41424号(2次元アドレス発生器お
よびその制御方式)記載の2次元アドレス発生器の機能
を有するようにすれば、画像データのように2次元のデ
ータ構造を持つものに対して、非常に効率よく処理する
ことが可能になる。
In the embodiment of the present invention shown in FIGS. 1 to 8, each of the address generators generates the address of the rectangular area of the two-dimensional data proposed by the present inventor. -By providing the function of the two-dimensional address generator described in No. 41424 (Two-dimensional address generator and its control method), it is very efficient for the one having a two-dimensional data structure such as image data. It becomes possible to process well.

【0061】[0061]

【発明の効果】以上述べたように、本発明によれば、従
来の単一動作を指示する命令セットに、さらにパイプラ
イン処理のための特定の命令を追加実装したプロセッサ
が実現できる。本発明のプロセッサは、特定の命令が読
みだされると、データメモリの内容をあらかじめ設定し
た順序で逐次読みだし、この読みだしサイクルと並列に
演算サイクルを実行させるパイプライン処理を行ない、
演算器の出力を別のデータメモリに並列に逐次書き込む
かまたは累算器で逐次累算する。そして、設定した数の
データの演算を終了すると、従来のプロセッサ同様、前
記特定の命令の次のステップの命令からまた逐次実行す
るものである。
As described above, according to the present invention, it is possible to realize a processor in which a specific instruction for pipeline processing is additionally mounted on the conventional instruction set for instructing a single operation. When a specific instruction is read, the processor of the present invention sequentially reads the contents of the data memory in a preset order, and performs pipeline processing for executing an operation cycle in parallel with the read cycle,
The output of the arithmetic unit is sequentially written in parallel to another data memory or is sequentially accumulated by an accumulator. Then, when the calculation of the set number of data is completed, the instruction is executed sequentially from the instruction of the step next to the specific instruction as in the conventional processor.

【0062】信号処理において頻出する(数1)または
(数2)で示される演算を行なう時に、本発明のプロセ
ッサの特定の命令と、従来のプロセッサの命令セットを
用いて実行する場合とを比較すると、演算機能にも依存
するが、およそ10〜100倍の処理サイクルの高速化
が達成できる。また、プログラムステップも同時に扱う
データ量にも依存するが、多大の容量を必要とし、プロ
グラムメモリの大量消費となっていたものを1命令すな
わち1ステップで実現してしまうものである。
When performing the operation represented by (Equation 1) or (Equation 2) that frequently appears in signal processing, a comparison is made between the specific instruction of the processor of the present invention and the case of executing it using the instruction set of the conventional processor. Then, although depending on the arithmetic function, the speedup of the processing cycle of about 10 to 100 times can be achieved. Further, although the program step also depends on the amount of data to be handled at the same time, a large capacity is required and a large amount of program memory is consumed by one instruction, that is, one step.

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

【図1】本発明のプロセッサの概念を示すブロック図FIG. 1 is a block diagram showing a concept of a processor of the present invention.

【図2】本発明のプロセッサの動作を説明するタイミン
グ図
FIG. 2 is a timing diagram illustrating the operation of the processor of the present invention.

【図3】本発明のプロセッサのプログラム制御回路を示
すブロック図
FIG. 3 is a block diagram showing a program control circuit of the processor of the present invention.

【図4】本発明のプロセッサの実行ユニットを示すブロ
ック図
FIG. 4 is a block diagram showing an execution unit of a processor of the present invention.

【図5】本発明のプロセッサにおけるベクトル命令制御
回路を示すブロック図
FIG. 5 is a block diagram showing a vector instruction control circuit in the processor of the present invention.

【図6】本発明のプロセッサにおけるアドレス発生器を
示すブロック図
FIG. 6 is a block diagram showing an address generator in the processor of the present invention.

【図7】本発明のプロセッサの動作を説明するタイミン
グ図
FIG. 7 is a timing diagram illustrating the operation of the processor of the present invention.

【図8】本発明のプロセッサの他の動作を説明するタイ
ミング図
FIG. 8 is a timing diagram illustrating another operation of the processor of the present invention.

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

1 プログラム制御回路 2 アドレス発生器 3 データメモリ 4 データ処理回路 5 実行ユニット 10 プログラムカウンタ 11 プログラムメモリ 12 デコーダ 13 ベクトル命令制御回路 1 Program Control Circuit 2 Address Generator 3 Data Memory 4 Data Processing Circuit 5 Execution Unit 10 Program Counter 11 Program Memory 12 Decoder 13 Vector Instruction Control Circuit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 大谷 昭彦 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 児玉 久 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 岡本 潔 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Akihiko Otani 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd. (72) Hisamu Kodama 1006 Kadoma, Kadoma City, Osaka Matsushita Electric Industrial Co., Ltd. 72) Inventor Kiyoshi Okamoto 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】ベクトル・パイプライン命令を含む複数の
命令を実装するとともに、前記ベクトル・パイプライン
命令に基づくパイプライン演算を実行するデータ処理回
路を備えたプログラム制御型プロセッサであって、 プログラムメモリとプログラムカウンタとデコーダとを
含み、前記ベクトル・パイプライン命令が前記プログラ
ムメモリから読みだされた後前記デコーダによって解読
されたとき、前記プログラムカウンタを停止させるとと
もに起動信号を出力し、前記ベクトル・パイプライン命
令の内容に従って前記データ処理回路の動作を制御する
プログラム制御回路と、 前記起動信号に基づいて、予め設定されたシーケンスに
従ってアドレスを連続的に発生し、予め設定された数の
アドレスの発生を終了したとき終了信号を前記プログラ
ム制御回路に出力するアドレス発生器と、 このアドレス発生器によって発生されたアドレスに基づ
いて前記発生されたアドレスに予め格納されたデータを
出力するデータメモリとを備え、 前記データ処理回路は、前記データメモリから出力され
たデータに基づいて前記プログラム制御回路の制御に従
って前記パイプライン演算を実行し、 前記プログラム制御回路は、前記終了信号を受信したと
きから所定サイクル後に、前記ベクトル・パイプライン
命令に基づく前記パイプライン演算の終了を検出し、前
記ベクトル・パイプライン命令に続く命令を逐次実行す
ることを特徴とするプログラム制御型プロセッサ。
1. A program controlled processor comprising a data processing circuit for implementing a plurality of instructions including a vector pipeline instruction and executing a pipeline operation based on the vector pipeline instruction. And a program counter and a decoder, and when the vector pipeline instruction is read from the program memory and then decoded by the decoder, the program counter is stopped and an activation signal is output to output the vector pipe. A program control circuit that controls the operation of the data processing circuit according to the contents of the line command, and an address is continuously generated according to a preset sequence based on the activation signal to generate a preset number of addresses. When finished, give the end signal An address generator for outputting to a RAM control circuit; and a data memory for outputting data stored in advance at the generated address based on the address generated by the address generator, the data processing circuit, The pipeline operation is executed in accordance with the control of the program control circuit based on the data output from the data memory, and the program control circuit outputs the vector pipeline instruction after a predetermined cycle from the time when the end signal is received. A program-controlled processor which detects the end of the pipeline operation based on the instruction and sequentially executes the instructions following the vector pipeline instruction.
【請求項2】前記プログラム制御回路はさらに、 前記デコーダの解読結果に基づいて分岐アドレスを発生
する分岐アドレス制御回路と、 前記デコーダの解読結果と前記終了信号に基づいて前記
プログラム制御回路内の各回路の動作を制御するベクト
ル命令制御回路と、 このベクトル命令制御回路から出力される第2の制御信
号に基づいて前記プログラムメモリから出力されるデー
タを一時的に格納する命令レジスタ回路と、 前記デコーダから出力されるデータを一時的に格納した
後、前記データメモリ及び前記データ処理回路に出力す
る第1のパイプラインレジスタとを備え、 前記プログラムカウンタは、 前記プログラムメモリに出力されるアドレスを一時的に
格納するプログラムカウンタレジスタと、 このプログラムカウンタレジスタから出力されるアドレ
スを動作クロックの1サイクル毎に1だけ増加させてア
ドレスを出力するインクリメンタと、 前記ベクトル命令制御回路から出力される第1の制御信
号に基づいて前記分岐アドレス制御回路からの出力と前
記プログラムカウンタレジスタの出力と前記インクリメ
ンタの出力のうちの1つを選択して前記選択したアドレ
スを前記プログラムカウンタレジスタを介して前記プロ
グラムメモリに出力する第1のマルチプレクサとを備
え、 前記命令レジスタ回路は、 前記デコーダに出力されるデータを一時的に格納する第
2のパイプラインレジスタと、 前記ベクトル命令制御回路から出力される第2の制御信
号に基づいて前記プログラムメモリの出力と前記第2の
パイプラインレジスタの出力のうちの1つを選択して前
記第2のパイプラインレジスタを介して前記デコーダに
出力する第2のマルチプレクサとを備え、 前記ベクトル命令制御回路は、前記ベクトル・パイプラ
イン命令が前記デコーダによって解読されたとき、前記
起動信号を前記アドレス発生器に出力するとともに、前
記第1のマルチプレクサが前記プログラムカウンタレジ
スタの出力を選択して出力して前記プログラムカウンタ
レジスタがデータを自己保持するように制御し、かつ前
記第2のマルチプレクサが前記第2のパイプラインレジ
スタの出力を選択して出力して前記第2のパイプライン
レジスタがデータを自己保持するように制御し、これに
よって、前記ベクトル・パイプライン命令の各命令を連
続して実行されるように制御し、次いで、前記アドレス
発生器から終了信号を受信したときから所定サイクル後
に、前記ベクトル・パイプライン命令に基づく前記パイ
プライン演算の終了を検出したとき、前記第1と第2の
マルチプレクサの前記制御を解除し、これによって、前
記プログラムカウンタレジスタの前記自己保持及び前記
第2のパイプラインレジスタの前記自己保持を解除し、
次いで、前記ベクトル・パイプライン命令に続く命令を
逐次実行することを特徴とする請求項1記載のプログラ
ム制御型プロセッサ。
2. The program control circuit further includes a branch address control circuit for generating a branch address based on the decoding result of the decoder, and each of the program control circuits in the program control circuit based on the decoding result of the decoder and the end signal. A vector instruction control circuit for controlling the operation of the circuit; an instruction register circuit for temporarily storing data output from the program memory based on a second control signal output from the vector instruction control circuit; And a first pipeline register for temporarily storing the data output from the data memory and the data processing circuit, and the program counter temporarily stores the address output to the program memory. And the program counter register to be stored in An incrementer that outputs the address by incrementing the address output by 1 by 1 for each cycle of the operation clock, and an incrementer from the branch address control circuit based on a first control signal output from the vector instruction control circuit. A first multiplexer for selecting one of an output, an output of the program counter register and an output of the incrementer and outputting the selected address to the program memory via the program counter register, The instruction register circuit includes a second pipeline register for temporarily storing data output to the decoder, an output of the program memory based on a second control signal output from the vector instruction control circuit, and the output of the program memory. Select one of the outputs of the second pipeline register to select the second A second multiplexer for outputting to the decoder via the pipeline register of the vector instruction control circuit, the vector instruction control circuit, when the vector pipeline instruction is decoded by the decoder, the activation signal to the address generator. And the first multiplexer selects and outputs the output of the program counter register so that the program counter register self-holds data, and the second multiplexer controls the second multiplexer to output the data. The output of the pipeline register is selected and output to control the second pipeline register so as to hold data by itself, so that each instruction of the vector pipeline instruction is executed continuously. Control, and then when the end signal is received from the address generator. After a predetermined cycle, when the end of the pipeline operation based on the vector pipeline instruction is detected, the control of the first and second multiplexers is released, whereby the self-holding of the program counter register is performed. And releasing the self-holding of the second pipeline register,
2. The program-controlled processor according to claim 1, wherein the instructions following the vector pipeline instructions are sequentially executed.
【請求項3】前記アドレス発生器は、ソースメモリ・ア
ドレス発生器とディスティネーションメモリ・アドレス
発生器とを備え、 前記ベクトル命令制御回路は、 前記ベクトル・パイプライン命令が前記デコーダによっ
て解読されて出力されるベクトル命令信号に基づいて、
前記ソースメモリ・アドレス発生器の起動信号をセット
して前記ソースメモリ・アドレス発生器に出力し、前記
アドレス発生器から出力される前記終了信号に基づいて
前記ソースメモリ・アドレス発生器の起動信号をリセッ
トする第1の起動信号発生部と、 所定の複数段数の遅延回路を有し前記ベクトル命令信号
を遅延させて出力する第1のシフトレジスタと、前記デ
コーダによって前記ベクトル・パイプライン命令が解読
された結果であるベクトル命令種別信号に基づいて前記
第1のシフトレジスタの各遅延回路の各出力の内の1つ
を選択して前記選択した信号を前記ディスティネーショ
ンメモリ・アドレス発生器に出力する第3のマルチプレ
クサとを含む第2の起動信号発生部と、 所定の複数段数の遅延回路を有し前記終了信号を遅延さ
せて出力する第2のシフトレジスタと、前記ベクトル命
令種別信号に基づいて前記第2のシフトレジスタの各遅
延回路の各出力のうちの1つを選択して前記選択した信
号を遅延終了信号として出力する第4のマルチプレクサ
と、前記ベクトル命令信号に基づいて前記第2の制御信
号をセットして前記第2のマルチプレクサに出力すると
ともに前記第4のマルチプレクサから出力される前記遅
延終了信号に基づいて前記第2の制御信号をリセットす
る信号発生器とを含む第1の制御信号発生部と、 前記第2の制御信号と、前記デコーダによってアドレス
分岐命令が解読された結果であるアドレス分岐制御信号
に基づいて、前記第1の制御信号を発生して前記第1の
マルチプレクサに出力する第2の制御信号発生部とを備
えたことを特徴とする請求項2記載のプログラム制御型
プロセッサ。
3. The address generator comprises a source memory address generator and a destination memory address generator, and the vector instruction control circuit outputs the vector pipeline instruction decoded by the decoder. Based on the vector command signal
The start signal of the source memory address generator is set and output to the source memory address generator, and the start signal of the source memory address generator is generated based on the end signal output from the address generator. A first start-up signal generator for resetting, a first shift register having a predetermined number of stages of delay circuits for delaying and outputting the vector instruction signal, and the decoder for decoding the vector pipeline instruction. Selecting one of the outputs of the delay circuits of the first shift register based on the resulting vector instruction type signal and outputting the selected signal to the destination memory address generator. A second start signal generating section including a multiplexer of 3 and a delay circuit having a predetermined number of stages and delaying the end signal. A second shift register that outputs the signal and one of the outputs of the delay circuits of the second shift register based on the vector instruction type signal, and selects the selected signal as a delay end signal. Based on a fourth multiplexer for outputting, the second control signal is set based on the vector command signal and output to the second multiplexer, and based on the delay end signal output from the fourth multiplexer. A first control signal generation unit including a signal generator that resets the second control signal; the second control signal; and an address branch control signal that is a result of decoding the address branch instruction by the decoder. And a second control signal generating section for generating the first control signal and outputting the first control signal to the first multiplexer. Motomeko 2 program controlled processor according.
【請求項4】前記アドレス発生器は、 前記起動信号に基づいてアドレスを連続的に発生して前
記データメモリに出力するアドレス演算器と、 このアドレス演算器によって発生されたアドレスの数を
計数するサイクルカウンタと、 このサイクルカウンタによって計数されたアドレスの数
が所定の値になったとき前記終了信号を前記プログラム
制御回路に出力する終了判定回路とを備えたことを特徴
とする請求項1、2叉は3記載のプログラム制御型プロ
セッサ。よう制御されることを特徴とするプロセッサ。
4. The address generator counts the number of addresses generated by the address calculator, which continuously generates addresses based on the start signal and outputs the addresses to the data memory. 3. A cycle counter, and an end determination circuit that outputs the end signal to the program control circuit when the number of addresses counted by the cycle counter reaches a predetermined value. Alternatively, the program-controlled processor according to item 3. A processor characterized by being controlled as follows.
JP3218341A 1990-09-03 1991-08-29 Program-controlled processor Expired - Fee Related JP2584156B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3218341A JP2584156B2 (en) 1990-09-03 1991-08-29 Program-controlled processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-233535 1990-09-03
JP23353590 1990-09-03
JP3218341A JP2584156B2 (en) 1990-09-03 1991-08-29 Program-controlled processor

Publications (2)

Publication Number Publication Date
JPH0561901A true JPH0561901A (en) 1993-03-12
JP2584156B2 JP2584156B2 (en) 1997-02-19

Family

ID=26522513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3218341A Expired - Fee Related JP2584156B2 (en) 1990-09-03 1991-08-29 Program-controlled processor

Country Status (1)

Country Link
JP (1) JP2584156B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517666A (en) * 1993-01-22 1996-05-14 Matsushita Electric Industrial Co., Ltd. Program controlled processor wherein vector distributor and vector coupler operate independently of sequencer
US6671708B1 (en) 1998-11-26 2003-12-30 Matsushita Electric Industrial Co., Ltd. Processor and image processing device
JP2008299501A (en) * 2007-05-30 2008-12-11 Sanyo Electric Co Ltd Processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5433825A (en) * 1977-08-22 1979-03-12 Daido Metal Co Ltd Bearing metal for large engine
JPS5750051A (en) * 1980-09-09 1982-03-24 Toshiba Corp Program controller
JPS58189770A (en) * 1982-04-28 1983-11-05 Hitachi Ltd vector processing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5433825A (en) * 1977-08-22 1979-03-12 Daido Metal Co Ltd Bearing metal for large engine
JPS5750051A (en) * 1980-09-09 1982-03-24 Toshiba Corp Program controller
JPS58189770A (en) * 1982-04-28 1983-11-05 Hitachi Ltd vector processing device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517666A (en) * 1993-01-22 1996-05-14 Matsushita Electric Industrial Co., Ltd. Program controlled processor wherein vector distributor and vector coupler operate independently of sequencer
US6671708B1 (en) 1998-11-26 2003-12-30 Matsushita Electric Industrial Co., Ltd. Processor and image processing device
JP2008299501A (en) * 2007-05-30 2008-12-11 Sanyo Electric Co Ltd Processor
US8255672B2 (en) 2007-05-30 2012-08-28 Semiconductor Components Industries, Llc Single instruction decode circuit for decoding instruction from memory and instructions from an instruction generation circuit

Also Published As

Publication number Publication date
JP2584156B2 (en) 1997-02-19

Similar Documents

Publication Publication Date Title
US6112295A (en) High frequency pipeline decoupling queue with non-overlapping read and write signals within a single clock cycle
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5299320A (en) Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline
US20030065905A1 (en) Parallel computation processor, parallel computation control method and program thereof
GB2335293A (en) Reducing power consumption in a self-timed system
US5761466A (en) Soft programmable single-cycle/pipelined micro-programmed control system
US6167529A (en) Instruction dependent clock scheme
US5499348A (en) Digital processor capable of concurrently executing external memory access and internal instructions
JP2584156B2 (en) Program-controlled processor
US6003127A (en) Pipeline processing apparatus for reducing delays in the performance of processing operations
JPH0772864B2 (en) Digital signal processor
JPS6368931A (en) Data processing circuit
US20030061468A1 (en) Forwarding the results of operations to dependent instructions quickly
CN121478350B (en) Instruction execution equipment, instruction execution method and electronic device
JP2014160393A (en) Microprocessor and arithmetic processing method
US20080229063A1 (en) Processor Array with Separate Serial Module
JP2001092658A (en) Data processing circuit and data processor
JP2503966B2 (en) Information processing device
JP2636192B2 (en) Information processing device
JP2010140398A (en) Apparatus and method for data process
US20060271610A1 (en) Digital signal processor having reconfigurable data paths
JPH04287227A (en) Operation processor
JPH0855033A (en) Information processor
JP2001034603A (en) Product-sum operation processing unit
JPH04116726A (en) Information processor

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071121

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20081121

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20091121

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees