JP2001350627A - Digital signal processor, parallel processing method and recording medium - Google Patents

Digital signal processor, parallel processing method and recording medium

Info

Publication number
JP2001350627A
JP2001350627A JP2000173972A JP2000173972A JP2001350627A JP 2001350627 A JP2001350627 A JP 2001350627A JP 2000173972 A JP2000173972 A JP 2000173972A JP 2000173972 A JP2000173972 A JP 2000173972A JP 2001350627 A JP2001350627 A JP 2001350627A
Authority
JP
Japan
Prior art keywords
instruction
processing
data
supplied
processing procedure
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
JP2000173972A
Other languages
Japanese (ja)
Inventor
Tsutomu Fukatsu
勉 普勝
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2000173972A priority Critical patent/JP2001350627A/en
Publication of JP2001350627A publication Critical patent/JP2001350627A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To schedule a command to make a parallel processing executable without increasing the memory capacity. SOLUTION: This processor is provided with a processing content memory 6 for storing the command and a processing procedure control part 1 for controlling the processing procedure of the command, and scheduling information is stored in a processing procedure map memory 2 within the processing procedure control part 1 to store only the effective command of the processing content to be executed in the processing content memory 6. In the execution of the command, the command is read from the processing content memory 6 according to the scheduling information, and a scheduling is performed to execute the command, whereby the command stored in the processing content memory 6 is minimized, so that the command can be scheduled to perform a parallel processing without increasing the memory capacity.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ディジタル信号プ
ロセッサ、並列処理方法および記録媒体に関し、特に、
命令をスケジューリングして並列処理するディジタル信
号プロセッサに用いて好適なものである。
The present invention relates to a digital signal processor, a parallel processing method, and a recording medium.
It is suitable for use in a digital signal processor that schedules and processes instructions in parallel.

【0002】[0002]

【従来の技術】最近、LSIプロセス技術の進展と、信
号処理アルゴリズムの複雑さの増大を背景として、プロ
セッサアーキテクチャによりディジタル映像・音声信号
を処理する技術が盛んになってきた。また、映像信号や
音声信号のディジタル信号処理は、定められた時間内に
多大な演算を行う必要があり、処理速度を向上させるた
めに様々な技術が用いられてきた。この処理速度を向上
させるための技術の一つとして、プロセッサにおける並
列処理がある。
2. Description of the Related Art Recently, with the development of LSI process technology and the increase in complexity of signal processing algorithms, a technology for processing digital video / audio signals by a processor architecture has become active. Further, digital signal processing of a video signal and an audio signal requires a large amount of computation within a predetermined time, and various techniques have been used to improve the processing speed. One technique for improving the processing speed is parallel processing in a processor.

【0003】プロセッサにおける並列処理では、命令の
データ依存関係および処理リソース等を評価して、デー
タハザードやリソース競合が発生しないようにスケジュ
ーリングを行う必要がある。プロセッサにおける並列処
理には、上記スケジューリングをハードウェアで行うス
ーパースカラ方式やプログラムコンパイラで行うVLI
W(Very Long Instruction Word)アーキテクチャ等が
ある。
[0003] In parallel processing in a processor, it is necessary to evaluate data dependence of instructions, processing resources, and the like, and perform scheduling so that data hazards and resource contention do not occur. For parallel processing in a processor, a super scalar method in which the above scheduling is performed by hardware or a VLI performed by a program compiler
There is a W (Very Long Instruction Word) architecture and the like.

【0004】スーパースカラ方式は、連続する命令が並
列に処理可能か否かをハードウェアで調べることにより
命令の論理的な実行順序を保証し、命令を同時実行する
方式である。しかし、上述のように連続する命令が並列
に処理可能か否かをハードウェアにより調べるため、ハ
ードウェア規模が大きくなる。また、1サイクル当たり
の実行命令数の平均値を増やすには、高度な分岐予測を
行ったり順序を変えて命令を実行したりする必要がある
ため、これによってもハードウェア規模が大きくなる。
The super scalar method is a method of guaranteeing the logical execution order of instructions by checking whether or not continuous instructions can be processed in parallel by hardware, and executing instructions simultaneously. However, as described above, since hardware checks whether or not continuous instructions can be processed in parallel, the hardware scale becomes large. Further, in order to increase the average value of the number of executed instructions per cycle, it is necessary to perform advanced branch prediction or execute instructions in a different order, which also increases the hardware scale.

【0005】このため、連続する命令が並列に処理可能
か否かをハードウェアで調べるのではなくプログラムコ
ンパイラで行うのがVLIWアーキテクチャである。V
LIWアーキテクチャでは、プログラムをコンパイルす
る際に、コンパイラによって並列に処理可能な命令を複
数抽出し、それらを組み合わせて語長の長い命令を作成
する。そして、作成した語長の長い命令を実行すること
で複数命令の同時処理を実現する。
[0005] For this reason, the VLIW architecture uses a program compiler instead of checking whether continuous instructions can be processed in parallel by hardware or not. V
In the LIW architecture, when compiling a program, a plurality of instructions that can be processed in parallel by the compiler are extracted, and an instruction having a long word length is created by combining them. Then, by executing the created instruction having a long word length, simultaneous processing of a plurality of instructions is realized.

【0006】VLIWアーキテクチャを用いたプロセッ
サでは、既にスケジューリングが施された命令列が供給
されるので、連続する命令が並列に処理可能か否かを調
べるハードウェアを備える必要がない。そのため、プロ
セッサのハードウェア規模を削減しながらも、プロセッ
サの処理実行の高速化を図ることが可能である。
In a processor using the VLIW architecture, an already-scheduled instruction sequence is supplied, so that it is not necessary to provide hardware for checking whether or not continuous instructions can be processed in parallel. Therefore, it is possible to speed up the execution of processing by the processor while reducing the hardware scale of the processor.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、上述の
VLIWアーキテクチャを用いたプロセッサにおいて
は、同時に発行できる命令数は固定である。そのため、
スケジューリングが施され供給される命令列には、デー
タ依存関係に起因するデータハザードやリソース競合を
回避するために、後続の処理を待機させたり、逐次処理
が行われるようにレジスタやメモリなどマシン状態を更
新しない無演算命令(np等)が挿入されている。よっ
て、プログラムサイズが大きくなり、必要とするメモリ
容量が増大するという問題があった。
However, in a processor using the above-described VLIW architecture, the number of instructions that can be issued simultaneously is fixed. for that reason,
In order to avoid data hazards and resource conflicts due to data dependencies, the instruction sequence that has been subjected to scheduling has to wait for subsequent processing or machine state such as registers and memory so that sequential processing is performed Is inserted without updating (np). Therefore, there is a problem that the program size becomes large and the required memory capacity increases.

【0008】本発明は、このような問題を解決するため
に成されたものであり、メモリ容量を増大させることな
く、命令をスケジューリングして並列処理を実行するこ
とができるディジタル信号プロセッサを提供することを
目的とする。
The present invention has been made to solve such a problem, and provides a digital signal processor capable of scheduling instructions and executing parallel processing without increasing the memory capacity. The purpose is to:

【0009】[0009]

【課題を解決するための手段】本発明によるディジタル
信号プロセッサは、命令を記憶するための処理内容記憶
手段と、上記処理内容記憶手段に記憶された命令の処理
手順を制御する処理手順制御手段と、上記処理手順制御
手段の制御に従い、上記処理内容記憶手段から供給され
る命令を実行する命令実行手段と、上記命令実行手段に
データを供給し、上記命令実行手段により処理されたデ
ータを記憶する第1のデータ記憶手段とを備えることを
特徴とする。
A digital signal processor according to the present invention comprises a processing content storage means for storing an instruction, and a processing procedure control means for controlling a processing procedure of the instruction stored in the processing content storage means. An instruction execution means for executing an instruction supplied from the processing content storage means under the control of the processing procedure control means; supplying data to the instruction execution means; and storing data processed by the instruction execution means. And a first data storage means.

【0010】本発明の他の特徴とするところは、上記処
理手順制御手段の制御に従い、上記処理内容記憶手段か
ら供給される複数の命令の中から何れかを選択して上記
命令実行手段に出力する命令出力手段をさらに備えるこ
とを特徴とする。
Another feature of the present invention is that, under the control of the processing procedure control means, any one of a plurality of instructions supplied from the processing content storage means is selected and output to the instruction execution means. It is characterized by further comprising an instruction output means for performing the operation.

【0011】本発明のその他の特徴とするところは、上
記命令出力手段は、上記処理内容記憶手段から供給され
る命令を保持する命令保持手段と、上記処理手順制御手
段の制御に従い、上記処理内容記憶手段あるいは上記命
令保持手段から供給される複数の命令の中から何れかを
選択して上記命令実行手段に出力する命令選択手段とを
備えることを特徴とする。
According to another feature of the present invention, the command output means includes: a command holding means for holding a command supplied from the processing content storage means; An instruction selecting means for selecting any one of a plurality of instructions supplied from the storage means or the instruction holding means and outputting the selected instruction to the instruction executing means.

【0012】本発明のその他の特徴とするところは、上
記処理手順制御手段は、命令発行先情報と有効命令数の
積算値とからなるスケジューリング情報を記憶するため
の処理手順記憶手段を備えることを特徴とする。
Another feature of the present invention is that the processing procedure control means includes processing procedure storage means for storing scheduling information including instruction issue destination information and an integrated value of the number of valid instructions. Features.

【0013】また、本発明の並列処理方法は、スケジュ
ーリング情報と命令とを別に記憶し、上記命令を上記ス
ケジューリング情報に基づいてスケジューリングし、ス
ケジューリングされた上記命令に従って記憶媒体に記憶
されているデータの授受を行い、上記命令を実行するこ
とを特徴とする。
Further, in the parallel processing method according to the present invention, the scheduling information and the instruction are separately stored, the instruction is scheduled based on the scheduling information, and the data stored in the storage medium is stored in accordance with the scheduled instruction. The communication is performed, and the instruction is executed.

【0014】本発明の並列処理方法の他の特徴とすると
ころは、上記スケジューリング情報は、命令発行先情報
と有効命令数の積算値情報とを含み、上記2つの情報に
より命令を読み出して、スケジューリングされた命令を
生成することを特徴とする。
According to another feature of the parallel processing method of the present invention, the scheduling information includes instruction issue destination information and integrated value information of the number of valid instructions. The generated instruction is generated.

【0015】本発明のコンピュータ読み取り可能な記録
媒体は、上記各手段としてコンピュータを機能させるた
めのプログラムを記録したことを特徴とする。また、本
発明のコンピュータ読み取り可能な記録媒体の他の特徴
とするところは、上記並列処理方法の手順をコンピュー
タに実行させるためのプログラムを記録したことを特徴
とする。
A computer-readable recording medium according to the present invention is characterized in that a program for causing a computer to function as each of the above means is recorded. Another feature of the computer-readable recording medium of the present invention is that a program for causing a computer to execute the procedure of the parallel processing method is recorded.

【0016】上記のように構成した本発明によれば、処
理内容記憶手段に命令を記憶し、処理手順制御手段の指
示に従って上記処理内容記憶手段に記憶されている命令
を読み出してスケジューリングを行い、スケジューリン
グされた命令を命令実行手段に供給する。命令実行手段
は、供給された命令に従って第1の記憶手段に記憶され
ているデータの授受を行い、命令を実行する。これによ
り、データハザードやリソース競合を回避するために、
レジスタやメモリなどマシン状態を更新しない無演算命
令を処理内容記憶手段に記憶することなく、有効な命令
だけを処理内容記憶手段に記憶して命令の並行処理が実
行できるようになる。また、命令実行手段との間でデー
タの授受を行う第1の記憶手段を設けたことにより、命
令を実行する際のデータの入出力を容易に制御できるよ
うになる。
According to the present invention configured as described above, the instruction is stored in the processing content storage means, and the instruction stored in the processing content storage means is read and scheduled in accordance with the instruction of the processing procedure control means. The scheduled instruction is supplied to the instruction execution means. The instruction execution means exchanges data stored in the first storage means according to the supplied instruction, and executes the instruction. As a result, to avoid data hazards and resource contention,
Without storing non-operational instructions such as registers and memories that do not update the machine state in the processing content storage means, only valid instructions can be stored in the processing content storage means and parallel processing of instructions can be executed. Further, by providing the first storage means for exchanging data with the instruction execution means, the input / output of data when executing the instruction can be easily controlled.

【0017】[0017]

【発明の実施の形態】以下に、本発明の一実施形態を図
面に基づいて説明する。図1は、本実施形態によるディ
ジタル信号プロセッサの一構成例を示すブロック図であ
る。1は処理手順制御部であり、本実施形態によるディ
ジタル信号プロセッサにおいて命令の発行手順の制御を
行う。この処理手順制御部1は、処理手順マップメモリ
2、除算部3および商変化検出部4を含み構成され、本
発明の処理手順制御手段を構成する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of the digital signal processor according to the present embodiment. Reference numeral 1 denotes a processing procedure control unit that controls an instruction issuing procedure in the digital signal processor according to the present embodiment. The processing procedure control unit 1 includes a processing procedure map memory 2, a division unit 3, and a quotient change detection unit 4, and constitutes a processing procedure control unit of the present invention.

【0018】処理手順マップメモリ2は、命令の発行手
順を指示するスケジューリング情報を格納したものであ
り、本発明の処理手順記憶手段を構成する。処理手順マ
ップメモリ2は、各プログラムアドレスPADに対して
命令発行パターンIPNと有効命令数積算値IACとが
格納されており、後述するプログラムカウンタ10から
供給されるプログラムアドレスPADに従って、上記命
令発行パターンIPNと上記有効命令数積算値IACと
を出力する。
The processing procedure map memory 2 stores scheduling information instructing an instruction issuing procedure, and constitutes a processing procedure storage means of the present invention. The processing procedure map memory 2 stores an instruction issue pattern IPN and an effective instruction count integrated value IAC for each program address PAD, and stores the instruction issue pattern according to a program address PAD supplied from a program counter 10 described later. It outputs the IPN and the effective instruction number integrated value IAC.

【0019】命令発行パターンIPNは、本実施形態に
よるディジタル信号プロセッサが具備する演算処理部
(プログラムカウンタ10および第1〜第3の演算部1
1、12、13)に有効な命令を供給するか否かを示す
情報である。また、有効命令数積算値IACは、プログ
ラムスタートアドレスから現在のプログラムアドレスま
でに発行したあるいは発行すべき有効命令数の積算値で
ある。
The instruction issuance pattern IPN is calculated by an arithmetic processing unit (program counter 10 and first to third arithmetic units 1) provided in the digital signal processor according to the present embodiment.
1, 12, 13) is information indicating whether to supply a valid instruction. The effective instruction number integrated value IAC is an integrated value of the number of valid instructions issued or to be issued from the program start address to the current program address.

【0020】除算部3は、処理手順マップメモリ2から
供給される有効命令数積算値IACをディジタル信号プ
ロセッサの最大並列処理数で除算し、その演算結果であ
る商QADと剰余MODとをそれぞれ出力する。商変化
検出部4は、除算部3から供給される商QADの値を監
視し、商QADの値の変化を検出したときは商変化検出
信号RIVを出力する。上記除算部3は、本発明の除算
手段を構成し、上記商変化検出部4は、本発明の検出手
段を構成する。
The division unit 3 divides the effective instruction number integrated value IAC supplied from the processing procedure map memory 2 by the maximum parallel processing number of the digital signal processor, and outputs a quotient QAD and a remainder MOD, respectively, as the operation result. I do. The quotient change detector 4 monitors the value of the quotient QAD supplied from the divider 3, and outputs a quotient change detection signal RIV when detecting a change in the value of the quotient QAD. The division unit 3 constitutes division means of the present invention, and the quotient change detection unit 4 constitutes detection means of the present invention.

【0021】5は命令ポインタカウンタであり、商変化
検出部4から供給される商変化検出信号RIV、または
処理手順マップメモリ2から供給される有効命令数積算
値IACとプログラムカウンタ10から供給される制御
信号CNTとに基づいて、処理内容メモリ6から命令を
読み出すための命令ポインタアドレスIAPを生成し出
力する。この命令ポインタカウンタ5は、本発明のアド
レス生成手段を構成する。
Reference numeral 5 denotes an instruction pointer counter, which is supplied from the quotient change detection signal RIV supplied from the quotient change detection unit 4 or the integrated number of valid instructions IAC supplied from the processing procedure map memory 2 and the program counter 10. An instruction pointer address IAP for reading an instruction from the processing content memory 6 is generated and output based on the control signal CNT. This instruction pointer counter 5 constitutes the address generation means of the present invention.

【0022】命令ポインタカウンタ5では、通常に連続
した命令を実行している場合は、商変化検出部4から商
変化検出信号RIVが供給されたとき、命令ポインタカ
ウンタ5の値をインクリメントし、上記商変化検出信号
RIVが供給されないときは命令ポインタカウンタ5の
値を保持する。そして、命令ポインタカウンタ5は、そ
の値を命令ポインタアドレスIAPとして処理内容メモ
リ6に出力する。
The instruction pointer counter 5 increments the value of the instruction pointer counter 5 when the quotient change detection unit 4 supplies the quotient change detection signal RIV when a normally continuous instruction is executed. When the quotient change detection signal RIV is not supplied, the value of the instruction pointer counter 5 is held. Then, the instruction pointer counter 5 outputs the value to the processing content memory 6 as the instruction pointer address IAP.

【0023】また、プログラムカウンタ10で無条件分
岐命令または条件分岐命令、手続き呼び出し命令等のプ
ログラムアドレスをジャンプさせる、すなわちプログラ
ムアドレスを不連続に更新する制御命令が実行され、そ
れに応じてプログラムカウンタ10から制御信号CNT
が供給された場合、命令ポインタ5は、処理手順マップ
メモリ2から供給される有効命令数積算値IACに基づ
いて、(有効命令数積算値IAC−1)/4により算出
した値を保持する。また、命令ポインタカウンタ5は、
上記算出した値を命令ポインタアドレスIAPとして処
理内容メモリ6に出力する。
The program counter 10 executes a control instruction for jumping a program address such as an unconditional branch instruction, a conditional branch instruction, and a procedure call instruction, that is, a control instruction for discontinuously updating a program address. Control signal CNT
Is supplied, the instruction pointer 5 holds a value calculated by (effective instruction number integrated value IAC-1) / 4 based on the effective instruction number integrated value IAC supplied from the processing procedure map memory 2. The instruction pointer counter 5
The calculated value is output to the processing content memory 6 as the instruction pointer address IAP.

【0024】処理内容メモリ6は、本実施形態によるデ
ィジタル信号プロセッサが行う処理内容の命令を格納し
たものであり、上記命令が順次記憶されている。処理内
容メモリ6は、命令ポインタカウンタ5から供給される
命令ポインタアドレスIAPに基づいて、記憶している
命令を命令出力部7に供給する。この処理内容メモリ6
は、本発明の処理内容記憶手段を構成する。
The processing content memory 6 stores instructions of the processing content to be executed by the digital signal processor according to the present embodiment, and the instructions are sequentially stored. The processing content memory 6 supplies the stored instruction to the instruction output unit 7 based on the instruction pointer address IAP supplied from the instruction pointer counter 5. This processing content memory 6
Constitutes the processing content storage means of the present invention.

【0025】命令出力部7は、バッファ部8と命令選択
部9とから構成され、本発明の命令出力手段を構成す
る。バッファ部8は、処理内容メモリ6から出力された
命令0t、1t、2t、3tを一時保持するバッファで
あり、本発明の命令保持手段を構成する。バッファ部8
は、商変化検出部4から商変化検出信号RIVが供給さ
れたとき、一時保持する命令を処理内容メモリ6から出
力される命令0t、1t、2t、3tに更新し、それ以
外のときは保持している命令を保持し続ける。また、バ
ッファ部8は、保持している命令0b、1b、2b、3
bを命令選択部9に出力する。
The instruction output section 7 comprises a buffer section 8 and an instruction selection section 9 and constitutes an instruction output means of the present invention. The buffer unit 8 is a buffer that temporarily holds the instructions 0t, 1t, 2t, and 3t output from the processing content memory 6, and constitutes an instruction holding unit of the present invention. Buffer section 8
Updates the temporarily held instruction to the instruction 0t, 1t, 2t, 3t output from the processing content memory 6 when the quotient change detection signal RIV is supplied from the quotient change detection unit 4, and holds the instruction otherwise. Keep holding the instruction you are doing. The buffer unit 8 stores the stored instructions 0b, 1b, 2b, 3
b is output to the instruction selector 9.

【0026】命令選択部9は、処理手順マップメモリ2
から供給される命令発行パターンIPNと除算部3から
供給される剰余MODの値とに応じて、処理内容メモリ
6から供給される命令0t、1t、2t、3tおよびバ
ッファ部8から供給される命令0b、1b、2b、3b
の中から何れかの命令を選択し、その選択した命令IS
0〜IS3を後段に接続されたプログラムカウンタ10
および第1〜第3の演算部11、12、13に供給す
る。この命令選択部9は、本発明の命令選択手段を構成
する。
The instruction selecting section 9 stores the processing procedure map memory 2
, 1t, 2t, 3t supplied from the processing content memory 6 and the instruction supplied from the buffer unit 8 in accordance with the instruction issue pattern IPN supplied from the CPU 3 and the value of the remainder MOD supplied from the division unit 3. 0b, 1b, 2b, 3b
Is selected, and the selected instruction IS
0 to IS3 at the subsequent stage
And to the first to third arithmetic units 11, 12, and 13. This instruction selecting section 9 constitutes an instruction selecting means of the present invention.

【0027】プログラムカウンタ10は、プログラムア
ドレスPADを出力するカウンタであり、通常時は、プ
ログラムカウンタ10の値を順次インクリメントし、そ
の値をプログラムアドレスPADとして処理手順マップ
メモリ2に出力する。また、命令選択部9から供給され
た命令IS0が、条件分岐命令、無条件分岐命令、手続
き呼び出し命令等のプログラムカウンタ10の値をジャ
ンプさせる、すなわちプログラムカウンタ10の値を不
連続に更新する制御命令であったときは、供給された命
令IS0の内容に従って処理を行いプログラムカウンタ
10の値を更新するとともに、命令ポインタカウンタ5
に制御信号CNTを出力する。
The program counter 10 is a counter for outputting the program address PAD. Normally, the value of the program counter 10 is sequentially incremented, and the value is output to the processing procedure map memory 2 as the program address PAD. Also, the instruction IS0 supplied from the instruction selection unit 9 causes the value of the program counter 10 such as a conditional branch instruction, an unconditional branch instruction, or a procedure call instruction to jump, that is, a control for discontinuously updating the value of the program counter 10. If the instruction is an instruction, processing is performed in accordance with the contents of the supplied instruction IS0 to update the value of the program counter 10 and the instruction pointer counter 5
To output the control signal CNT.

【0028】第1〜第3の演算部11、12、13は、
命令選択部9から供給される命令IS1〜IS3に従
い、各種演算処理を行う。第1〜第3の演算部11、1
2、13には、上記プログラムカウンタ10に供給され
る条件分岐命令、無条件分岐命令、手続き呼び出し命令
等の制御命令以外の通常命令が供給される。
The first to third arithmetic units 11, 12, 13 are:
According to the instructions IS1 to IS3 supplied from the instruction selecting unit 9, various arithmetic processes are performed. First to third arithmetic units 11, 1
Normal instructions other than control instructions such as a conditional branch instruction, an unconditional branch instruction, and a procedure call instruction supplied to the program counter 10 are supplied to 2 and 13.

【0029】この第1〜第3の演算処理部11、12、
13には、高速に処理したい演算を行う演算部を多く備
えたり、ある特定の演算のみを実行するような演算器を
備える等用途を加味して演算部を配することができる。
例えば、算術論理演算器(ALU:Arithmetic and Log
ical Unit)、バレルシフタ、乗算器、浮動小数点演算
器、ロードストア・ユニット等を配すことができる。な
お、上記プログラムカウンタ10および上記第1〜第3
の演算部11、12、13は、本発明の複数の処理手段
を構成する。
The first to third arithmetic processing units 11, 12,
The computing unit 13 may be provided with many computing units for performing computations that are desired to be processed at high speed, or a computing unit for performing only a specific computation, and may be provided with computing units in consideration of the intended use.
For example, an arithmetic logic unit (ALU: Arithmetic and Log
ical unit), a barrel shifter, a multiplier, a floating point arithmetic unit, a load store unit, and the like. The program counter 10 and the first to third programs
Computing units 11, 12, and 13 constitute a plurality of processing means of the present invention.

【0030】14はレジスタ部であり、各演算処理部
(プログラムカウンタ10および第1〜第3の演算部1
1、12、13)が演算処理を行う際に使用する演算デ
ータを記憶したり、演算処理の結果、出力されたデータ
を記憶したりする。このレジスタ部14は、本発明の第
2のデータ記憶手段を構成する。すなわち、レジスタ部
14は、各演算処理部に演算データを供給する際には、
命令選択部9から供給されるレジスタ制御信号RFCに
従い、各演算処理部にそれぞれ演算データR0〜R3を
供給する。また、各演算処理部の演算結果、出力された
データを記憶する際には、命令選択部9から供給される
レジスタ制御信号RFCに従い、各演算処理部から供給
されたデータW0〜W3を記憶する。なお、上記プログ
ラムカウンタ10、上記第1〜第3の演算部11、1
2、13および上記レジスタ部14は、本発明の命令実
行手段を構成する。
Numeral 14 denotes a register unit, which is an arithmetic processing unit (program counter 10 and first to third arithmetic units 1).
1, 12 and 13) store calculation data used when performing calculation processing, and store data output as a result of calculation processing. This register section 14 constitutes the second data storage means of the present invention. That is, when supplying the operation data to each operation processing unit, the register unit 14
In accordance with the register control signal RFC supplied from the instruction selection unit 9, operation data R0 to R3 are supplied to each operation processing unit. In addition, when storing the operation result and the output data of each operation processing unit, the data W0 to W3 supplied from each operation processing unit are stored in accordance with the register control signal RFC supplied from the instruction selection unit 9. . The program counter 10, the first to third arithmetic units 11, 1
The registers 2 and 13 and the register unit 14 constitute an instruction execution unit of the present invention.

【0031】15はデータメモリであり、第1または第
2の演算部11、12等に配された図示しないロードス
トア・ユニット等を介してレジスタ部14との間でデー
タの授受を行うものであり、本発明の第1のデータ記憶
手段を構成する。また、データメモリ15は、直接アド
レスを指定してアクセスすることにより、指定したアド
レスに対してデータの読み出しおよび書き込みが可能と
なっている。
Reference numeral 15 denotes a data memory for transmitting and receiving data to and from the register unit 14 via a load store unit or the like (not shown) provided in the first or second operation unit 11, 12, or the like. Yes, and constitutes the first data storage means of the present invention. The data memory 15 can read and write data from and to a specified address by directly specifying and accessing the address.

【0032】さらに、データメモリ15は、プロセッサ
外部との入出力インタフェースを有しており、プロセッ
サ外部からディジタル信号データDTIが入力され、プ
ロセッサ外部へディジタル信号データDTOが出力され
る。そのため、データメモリ15の一部のアドレスは、
図示しないプロセッサ外部のデータ入出力部とのデータ
授受のために予め割り当てられている。
Further, the data memory 15 has an input / output interface with the outside of the processor, receives digital signal data DTI from outside the processor, and outputs digital signal data DTO outside the processor. Therefore, some addresses of the data memory 15 are
It is allocated in advance for data exchange with a data input / output unit outside the processor (not shown).

【0033】例えば、プロセッサ外部からのデータ入力
時には、データメモリ15内の予め定められたアドレス
にディジタル信号データDTIが書き込まれる。そし
て、ディジタル信号プロセッサにおいて当該アドレスに
対するメモリ読み出し命令であるロード命令が、第1ま
たは第2の演算部11、12に発行されると、第1また
は第2の演算部11、12は、発行されたロード命令に
応じてメモリアクセスを制御するメモリ制御信号MAC
1、MAC2をデータメモリ15に供給する。
For example, when data is input from outside the processor, the digital signal data DTI is written to a predetermined address in the data memory 15. When the digital signal processor issues a load instruction, which is a memory read instruction for the address, to the first or second operation unit 11, 12, the first or second operation unit 11, 12 is issued. Control signal MAC for controlling memory access according to a loaded instruction
1. The MAC 2 is supplied to the data memory 15.

【0034】データメモリ15は、供給された上記メモ
リ制御信号MAC1、MAC2に従い、第1または第2
の演算部11、12に当該アドレスのデータMO1、M
O2を供給する。さらに、第1または第2の演算部1
1、12に供給されたデータMO1、MO2は、レジス
タデータW1、W2としてレジスタ部14に記憶され
る。
According to the supplied memory control signals MAC1 and MAC2, the data memory 15 stores the first or second data.
Of the addresses MO1 and M2
Supply O2. Further, the first or second operation unit 1
The data MO1 and MO2 supplied to the registers 1 and 12 are stored in the register section 14 as register data W1 and W2.

【0035】また、レジスタ部14に記憶されているデ
ータをプロセッサ外部へ出力する時には、プロセッサ外
部に出力するためのデータを書き込むアドレスがデータ
メモリ15内に予め定められており、当該アドレスに対
するメモリ書き込み命令であるストア命令が、第1また
は第2の演算部11、12に発行される。
When data stored in the register section 14 is output to the outside of the processor, an address to which data to be output to the outside of the processor is to be written in the data memory 15 in advance. A store instruction, which is an instruction, is issued to the first or second operation unit 11 or 12.

【0036】第1または第2の演算部11、12は、上
記ストア命令に応じてメモリアクセスを制御するメモリ
制御信号MAC1、MAC2をデータメモリ15に供給
する。また、第1または第2の演算部11、12は、レ
ジスタ部14からデータメモリ15に書き込むべきデー
タR1、R2を読み出すとともに、読み出したデータR
1、R2をメモリデータMI1、MI2としてデータメ
モリ15に供給することによりプロセッサ外部にデータ
を出力する。
The first or second operation unit 11 or 12 supplies memory control signals MAC1 and MAC2 for controlling memory access to the data memory 15 in response to the store instruction. In addition, the first or second operation units 11 and 12 read out the data R1 and R2 to be written to the data memory 15 from the register unit 14 and read out the read data R
1 and R2 are supplied to the data memory 15 as memory data MI1 and MI2 to output data to the outside of the processor.

【0037】図2は、図1に示した処理手順マップメモ
リ2の内容例を示す図である。処理手順マップメモリ2
は、各プログラムアドレスPADに対して、命令発行パ
ターンIPNと有効命令数積算値IACとの2語から構
成されている。なお、図2において、命令発行パターン
IPNは2進数で示し、プログラムアドレスPADおよ
び有効命令積算値IACは10進数で示している。
FIG. 2 is a diagram showing an example of the contents of the processing procedure map memory 2 shown in FIG. Processing procedure map memory 2
Is composed of two words, an instruction issue pattern IPN and an effective instruction count integrated value IAC, for each program address PAD. In FIG. 2, the instruction issue pattern IPN is represented by a binary number, and the program address PAD and the effective instruction integrated value IAC are represented by a decimal number.

【0038】命令発行パターンIPNは、図1に示した
ディジタル信号プロセッサの各演算処理部(プログラム
カウンタ10および第1〜第3の演算部11、12、1
3)へ有効な命令を発行するか否かの情報を示してお
り、‘1’は有効な命令を発行することを示し、‘0’
はデータ依存関係やリソース競合等のため発行できる有
効な命令がなく、図1に示した命令選択部9で無演算命
令(np)を生成して発行することを示す。
The instruction issuance pattern IPN is stored in each of the arithmetic processing units (program counter 10 and first to third arithmetic units 11, 12, 1, 1) of the digital signal processor shown in FIG.
3) shows information on whether or not to issue a valid instruction, and "1" indicates that a valid instruction is to be issued, and "0" indicates
Indicates that there is no valid instruction that can be issued due to data dependency or resource contention, etc., and the instruction selector 9 shown in FIG. 1 generates and issues a no-operation instruction (np).

【0039】また、命令発行パターンIPNは、4ビッ
トで構成され、各ビットは上記各演算処理部にそれぞれ
対応している。図2において、命令発行パターンIPN
の最上位ビットはプログラムカウンタ10に対応し、そ
の他のビットは上位側から第1の演算部11、第2の演
算部12、第3の演算部13にそれぞれ対応している。
The instruction issue pattern IPN is composed of 4 bits, and each bit corresponds to each of the arithmetic processing units. In FIG. 2, the instruction issue pattern IPN
Correspond to the program counter 10, and the other bits correspond to the first arithmetic unit 11, the second arithmetic unit 12, and the third arithmetic unit 13, respectively, from the most significant side.

【0040】有効命令積算値IACは、プログラムスタ
ートアドレス(PAD=0)から各プログラムアドレス
までに発行された有効命令数を積算したものである。
The effective instruction integrated value IAC is obtained by integrating the number of effective instructions issued from the program start address (PAD = 0) to each program address.

【0041】図3は、図1に示した処理内容メモリ6の
内容例を示す図である。処理内容メモリ6は、図1に示
したディジタル信号プロセッサの各演算処理部に供給す
る命令0t、1t、2t、3tを格納したものであり、
格納する命令0t、1t、2t、3tは、無演算命令を
含まず有効な命令のみで構成される。1つの命令ポイン
タアドレスIAPに対して、4つの命令0t、1t、2
t、3tが格納され、上記4つの命令は上記各演算処理
部で処理される時間および演算処理部の順序に従って、
順次格納される。
FIG. 3 is a diagram showing an example of the contents of the processing contents memory 6 shown in FIG. The processing content memory 6 stores instructions 0t, 1t, 2t, and 3t to be supplied to each processing unit of the digital signal processor shown in FIG.
The instructions 0t, 1t, 2t, and 3t to be stored include only valid instructions without including no-operation instructions. For one instruction pointer address IAP, four instructions 0t, 1t, 2
t, 3t are stored, and the four instructions are processed according to the time processed by each of the arithmetic processing units and the order of the arithmetic processing units.
Stored sequentially.

【0042】図4は、図1に示した命令選択部9の動作
例を示す図である。図4において、IPNは図1に示し
た処理手順マップメモリ2から供給される命令発行パタ
ーンであり、MODは図1に示した除算部3で演算の結
果として供給される剰余である。IS0〜IS3は、命
令選択部9での選択の結果、プログラムカウンタ10お
よび第1〜第3の演算部11、12、13にそれぞれ供
給される命令である。なお、0t〜3tは処理内容メモ
リ6から出力された命令であり、0b〜3bは処理内容
メモリ6から出力されバッファ部8で一時保持された
後、出力された命令である。また、npは無演算命令で
ある。
FIG. 4 is a diagram showing an operation example of the instruction selecting section 9 shown in FIG. 4, IPN is an instruction issue pattern supplied from the processing procedure map memory 2 shown in FIG. 1, and MOD is a remainder supplied as a result of the operation by the division unit 3 shown in FIG. IS0 to IS3 are instructions supplied to the program counter 10 and the first to third arithmetic units 11, 12, and 13, respectively, as a result of selection by the instruction selection unit 9. Note that 0t to 3t are instructions output from the processing content memory 6, and 0b to 3b are instructions output from the processing content memory 6 and temporarily stored in the buffer unit 8, and then output. Np is a no-operation instruction.

【0043】命令選択部9は、供給された命令発行パタ
ーンIPNと剰余MODとに応じて、処理内容メモリ6
およびバッファ部8から供給された命令を図4に従って
選択し出力する。例えば、命令選択部9は、供給された
命令発行パターンIPNが‘1011’で、供給された
剰余MODが‘2’であった場合には、バッファ部8か
ら供給された命令2bをプログラムカウンタ10に供給
し、第1の演算部10に無演算命令npを供給する。ま
た、バッファ部8から出力された命令3bを第2の演算
部12に供給し、処理内容メモリ6から供給された命令
0tを第3の演算部13に供給する。
The instruction selector 9 stores the processing content memory 6 in accordance with the supplied instruction issue pattern IPN and the remainder MOD.
And the instruction supplied from the buffer unit 8 is selected and output according to FIG. For example, when the supplied instruction issuing pattern IPN is “1011” and the supplied remainder MOD is “2”, the instruction selecting unit 9 compares the instruction 2b supplied from the buffer unit 8 with the program counter 10. And supplies the first operation unit 10 with the non-operation instruction np. The instruction 3b output from the buffer unit 8 is supplied to the second operation unit 12, and the instruction 0t supplied from the processing content memory 6 is supplied to the third operation unit 13.

【0044】次に、図5に基づいて動作について説明す
る。図5は、本実施形態によるディジタル信号プロセッ
サの動作を示すタイミングチャートである。なお、図1
に示す処理手順マップメモリ2には図2に示した情報が
格納されており、処理内容メモリ6には図3に示した命
令が格納されている。
Next, the operation will be described with reference to FIG. FIG. 5 is a timing chart showing the operation of the digital signal processor according to the present embodiment. FIG.
2 stores the information shown in FIG. 2 and the processing content memory 6 stores the instructions shown in FIG.

【0045】また、図5においては、プログラムカウン
タ10では、条件分岐命令、無条件分岐命令、手続き呼
び出し命令等のプログラムカウンタ10の値を不連続に
更新する命令は実行されず、プログラムカウンタ10の
値は各サイクル時間毎に順次インクリメントするものと
する。なお、処理手順メモリマップ2から出力された命
令発行パターンIPNは1サイクル時間遅延された後に
命令選択部9に供給され、除算部3から出力された剰余
MODは2サイクル時間遅延された後に命令選択部9に
供給される。
In FIG. 5, the program counter 10 does not execute instructions for discontinuously updating the value of the program counter 10 such as a conditional branch instruction, an unconditional branch instruction, and a procedure call instruction. The value is sequentially incremented for each cycle time. The instruction issue pattern IPN output from the processing procedure memory map 2 is supplied to the instruction selection unit 9 after being delayed by one cycle time, and the remainder MOD output from the division unit 3 is subjected to instruction selection after being delayed for two cycle times. It is supplied to the unit 9.

【0046】図5において、リセット動作後、ディジタ
ル信号プロセッサは、プログラムカウンタ10から供給
されるプログラムアドレスPADに従って読み出される
処理手順マップメモリ2の命令発行パターンIPNおよ
び有効命令数積算値IACに基づいて、処理内容メモリ
6への命令ポインタアドレスIAPを制御する。これに
よって、処理内容メモリ6から命令列を読み出し、スケ
ジューリングされた命令列として後段に接続された各演
算処理部に供給することで並列処理を行っている。
In FIG. 5, after the reset operation, the digital signal processor, based on the instruction issue pattern IPN of the processing procedure map memory 2 read in accordance with the program address PAD supplied from the program counter 10 and the effective instruction number integrated value IAC, The instruction pointer address IAP to the processing content memory 6 is controlled. As a result, the instruction sequence is read out from the processing content memory 6 and supplied as a scheduled instruction sequence to each of the arithmetic processing units connected to the subsequent stage to perform parallel processing.

【0047】まず、プログラムカウンタ10から供給さ
れるプログラムアドレスPADは、各サイクル時間毎に
順次インクリメントされて処理手順マップメモリ2に供
給される。
First, the program address PAD supplied from the program counter 10 is sequentially incremented for each cycle time and supplied to the processing procedure map memory 2.

【0048】命令発行パターンIPNおよび有効命令数
積算値IACは、供給されたプログラムアドレスPAD
に従って、処理手順マップメモリ2から出力される。例
えば、時刻t0においては、供給されるプログラムアド
レスPADである‘0’に従って、命令発行パターンI
PNに‘1010’が処理手順マップメモリから出力さ
れ、有効命令数積算値IACに‘2’が処理手順マップ
メモリから出力される。また、供給されるプログラムア
ドレスPADが‘1’の時(時刻t1)には、命令発行
パターンIPNに‘0001’が出力され、有効命令数
積算値IACに‘3’が出力される。同様に、時刻t2
以後においても供給されたプログラムアドレスPADに
従って、命令発行パターンIPNおよび有効命令数積算
値IACが処理手順マップメモリ2から出力される。
The instruction issuance pattern IPN and the integrated number of valid instructions IAC are based on the supplied program address PAD.
Is output from the processing procedure map memory 2. For example, at time t 0 , the instruction issue pattern I is set in accordance with the supplied program address PAD “0”.
'1010' is output from the processing procedure map memory to PN, and '2' is output from the processing procedure map memory to the effective instruction count integrated value IAC. When the supplied program address PAD is “1” (time t 1 ), “0001” is output as the instruction issue pattern IPN, and “3” is output as the effective instruction number integrated value IAC. Similarly, at time t 2
Thereafter, the instruction issue pattern IPN and the effective instruction count integrated value IAC are output from the processing procedure map memory 2 in accordance with the supplied program address PAD.

【0049】商QADおよび剰余MODには、出力され
た有効命令数積算値IACを除算部3で演算処理した結
果が出力され、例えば、有効命令数積算値IACが
‘2’の時(時刻t0)には、商QADに‘0’が出力
され、剰余MODに‘2’が出力される。また、有効命
令数積算値IACが‘4’の時(時刻t2)には、商Q
ADに‘1’が出力され、剰余MODに‘0’が出力さ
れる。
The quotient QAD and the remainder MOD output the result of arithmetic processing of the output effective instruction count integrated value IAC by the division unit 3. For example, when the effective instruction count integrated value IAC is "2" (time t In (0 ), '0' is output to the quotient QAD and '2' is output to the remainder MOD. When the integrated number of valid instructions IAC is “4” (time t 2 ), the quotient Q
'1' is output to AD and '0' is output to remainder MOD.

【0050】命令ポインタアドレスIAPは、リセット
動作後は‘0’であり、その後、商QADの値の変化に
ともない順次インクリメントされる。すなわち、図5に
おいては、時刻t2に商QADの値が‘0’から‘1’
に変化したのにともない、時刻t3に命令ポインタアド
レスIAPは‘1’になる。同様に、時刻t4、t5、t
6における商QADの値の変化にともない、命令ポイン
タアドレスIAPは、商QADの値が変化して1サイク
ル時間後の時刻t5、t6、t7に順次インクリメントさ
れる。
The instruction pointer address IAP is "0" after the reset operation, and thereafter is sequentially incremented with a change in the value of the quotient QAD. That is, in FIG. 5, the value of the quotient QAD changes from “0” to “1” at time t 2.
No and to changes in, the instruction pointer address IAP to time t 3 is made to '1'. Similarly, times t 4 , t 5 , t
With the change in the value of the quotient QAD in 6, the instruction pointer address IAP is sequentially incremented at time t 5, t 6, t 7 the value is changed after one cycle time quotient QAD.

【0051】命令0t、1t、2t、3tは、それぞれ
の時刻に供給される命令ポインタアドレスIAPに従っ
て処理内容メモリ6から出力される。例えば、命令ポイ
ンタアドレスIAPが‘0’の時(時刻t0、t1
2)には、命令0t、1t、2t、3tにはA0、C
0、D1、A2が出力される。また、命令0b、1b、
2b、3bは、命令0t、1t、2t、3tを一時保持
したものであり、命令0t、1t、2t、3tが変化し
た時刻、すなわち命令ポインタアドレスIAPが変化し
た時刻の1サイクル時間後に出力が変化する。
The instructions 0t, 1t, 2t, 3t are output from the processing content memory 6 according to the instruction pointer address IAP supplied at each time. For example, when the instruction pointer address IAP is “0” (at times t 0 , t 1 ,
At t 2 ), instructions 0t, 1t, 2t, 3t have A0, C
0, D1, and A2 are output. Also, instructions 0b, 1b,
2b and 3b temporarily store the instructions 0t, 1t, 2t and 3t, and outputs the output at one cycle time after the time when the instructions 0t, 1t, 2t and 3t change, ie, when the instruction pointer address IAP changes. Change.

【0052】(delayed)IPNは、上述したよ
うに命令発行パターンIPNを1サイクル時間だけ遅延
させたものである。また、(delayed)MOD
は、剰余MODを2サイクル時間遅延させたものであ
る。例えば、時刻t2における(delayed)IP
Nおよび(delayed)MODは、時刻t1におけ
る命令発行パターンIPN(‘0001’)であり、時
刻t0における剰余MOD(‘2’)である。
The (delayed) IPN is obtained by delaying the instruction issue pattern IPN by one cycle time as described above. Also, (delayed) MOD
Is the remainder MOD delayed by two cycle times. For example, (delayed) IP at time t 2
N and (delayed) MOD is a command issued pattern IPN at time t 1 ( '0001'), is the remainder MOD at time t 0 ( '2').

【0053】命令IS0〜IS3は、(delaye
d)IPNおよび(delayed)MODに基づい
て、命令選択部9で選択して出力された命令である。例
えば、時刻t0においては、(delayed)IPN
が‘1010’であり、(delayed)MODが
‘0’であるので、命令IS0〜IS3には、図4に従
ってそれぞれ命令0b、np、1b、npすなわちA
0、np、C0、npが出力される。また、時刻t3
おいては、(delayed)IPNが‘1000’で
あり、(delayed)MODが‘3’であるので、
命令IS0〜IS3には、それぞれ命令3b、np、n
p、npすなわちA2、np、np、npが出力され
る。このようにして、ディジタル信号プロセッサは並列
処理を行っている。
The instructions IS0 to IS3 are (delay
d) An instruction selected and output by the instruction selecting unit 9 based on the IPN and the (delayed) MOD. For example, at time t 0 , (delayed) IPN
Is “1010” and the (delayed) MOD is “0”, so that the instructions IS0 to IS3 include the instructions 0b, np, 1b, np, ie, A, respectively, according to FIG.
0, np, C0, and np are output. Also, at time t 3 , the (delayed) IPN is “1000” and the (delayed) MOD is “3”,
Instructions IS0 to IS3 include instructions 3b, np, and n, respectively.
p, np, that is, A2, np, np, np are output. Thus, the digital signal processor performs parallel processing.

【0054】図6は、図5に示す動作によりスケジュー
リングされた命令列の例を示す図である。処理内容メモ
リ6は有効な命令だけを備えているにもかかわらず、デ
ータ依存関係に起因するデータハザード、リソース競合
を回避するために、レジスタやメモリなどマシン状態を
更新しない無演算命令(np等)が適切に挿入されてい
る。
FIG. 6 is a diagram showing an example of an instruction sequence scheduled by the operation shown in FIG. Despite the fact that the processing content memory 6 includes only valid instructions, in order to avoid data hazards and resource conflicts due to data dependencies, no-operation instructions (such as np ) Is inserted properly.

【0055】以上、詳しく説明したように本実施形態に
よれば、処理手順マップメモリ2に命令発行パターンI
PNおよび有効命令数積算値IACを記憶し、処理内容
メモリ6にディジタル信号プロセッサが行う処理内容の
有効な命令のみを記憶する。そして、処理内容メモリ6
に記憶されている命令を実行する際には、有効命令数積
算値IACに基づいて処理内容メモリ6から命令を読み
出し、この読み出した命令を命令発行パターンIPNお
よび有効命令数積算値IACに基づいてスケジューリン
グを施し、各演算処理部10〜13に供給する。
As described above in detail, according to the present embodiment, the instruction issue pattern I is stored in the processing procedure map memory 2.
The PN and the integrated number of valid instructions IAC are stored, and only the valid instructions of the processing contents performed by the digital signal processor are stored in the processing contents memory 6. Then, the processing content memory 6
When executing the instruction stored in the memory, the instruction is read out from the processing content memory 6 based on the effective instruction number integrated value IAC, and the read instruction is read based on the instruction issue pattern IPN and the effective instruction number integrated value IAC. Scheduling is performed and supplied to each of the arithmetic processing units 10 to 13.

【0056】そのため、データ依存関係に起因するデー
タハザードやリソース競合を回避するために、レジスタ
やメモリなどマシン状態を更新しない無演算命令(n
p)を処理内容メモリ6に記憶させることなく、無駄な
無演算命令(np)を除いた有効な命令だけを処理内容
メモリ6に記憶させればよいので、最小のプログラムサ
イズで命令の並列処理をすることができる。これによ
り、メモリ容量を増大させることなく、命令をスケジュ
ーリングして並列処理を実行することができる。
Therefore, in order to avoid data hazards and resource conflicts due to data dependencies, non-operational instructions (n
p) is stored in the processing content memory 6 and only valid instructions excluding useless no-operation instructions (np) need be stored in the processing content memory 6, so that parallel processing of instructions with the minimum program size is possible. Can be. Thereby, the parallel processing can be executed by scheduling the instructions without increasing the memory capacity.

【0057】なお、本実施形態ではロード・ストア命令
を実行する演算部が、他の演算も実行可能となっている
が、ロード・ストア命令専用の演算部あるいはロード部
・ストア部としてそれぞれ別に設けて他の演算部と並列
処理することが可能な構成となるようにしても良い。
In the present embodiment, the operation unit for executing the load / store instruction can execute other operations. However, the operation unit is provided separately as an operation unit dedicated to the load / store instruction or the load unit / store unit. The configuration may be such that parallel processing can be performed with another arithmetic unit.

【0058】なお、本実施形態では、4つの並列処理可
能な演算部を備えたディジタル信号プロセッサについて
示しているが、本発明は4つの並列処理可能な演算部を
備えたディジタル信号プロセッサに限られたものではな
く、複数の並列処理可能な演算部を備えたディジタル信
号プロセッサに適用できるものである。
Although the present embodiment shows a digital signal processor having four parallel processing units, the present invention is limited to a digital signal processor having four parallel processing units. However, the present invention can be applied to a digital signal processor having a plurality of arithmetic units capable of parallel processing.

【0059】また、本実施形態では、処理手順マップメ
モリ2と処理内容メモリ6とはそれぞれ別に設けてある
が、一つのメモリを領域分割して処理手順マップメモリ
2と処理内容メモリ6に記憶する内容を記憶させても良
い。
In the present embodiment, the processing procedure map memory 2 and the processing content memory 6 are provided separately. However, one memory is divided into areas and stored in the processing procedure map memory 2 and the processing content memory 6. The contents may be stored.

【0060】また、本実施形態のディジタル信号プロセ
ッサは、複数の機器(例えば、ホストコンピュータ、イ
ンタフェース機器、リーダ、プリンタ等)から構成され
るシステムに適用しても1つの機器(例えば、複写機、
ファクシミリ装置)からなる装置に適用しても良い。
The digital signal processor according to the present embodiment is applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, and the like), but is applied to one device (for example, a copying machine,
Facsimile machine).

【0061】また、上述した実施形態の機能を実現する
べく各種のデバイスを動作させるように、該各種デバイ
スと接続された装置あるいはシステム内のコンピュータ
に対し、上記実施形態の機能を実現するためのソフトウ
ェアのプログラムコードを供給し、そのシステムあるい
は装置のコンピュータ(CPUあるいはMPU)に格納
されたプログラムに従って上記各種デバイスを動作させ
ることによって実施したものも、本発明の範疇に含まれ
る。
Further, in order to operate various devices to realize the functions of the above-described embodiment, an apparatus connected to the various devices or a computer in a system is required to realize the functions of the above-described embodiments. The present invention also includes a software program code supplied and implemented by operating the various devices according to a program stored in a computer (CPU or MPU) of the system or the apparatus.

【0062】また、この場合、上記ソフトウェアのプロ
グラムコード自体が上述した実施形態の機能を実現する
ことになり、そのプログラムコード自体、およびそのプ
ログラムコードをコンピュータに供給するための手段、
例えばかかるプログラムコードを格納した記録媒体は本
発明を構成する。かかるプログラムコードを記憶する記
録媒体としては、例えばフロッピー(登録商標)ディス
ク、ハードディスク、光ディスク、光磁気ディスク、C
D−ROM、磁気テープ、不揮発性のメモリカード、R
OM等を用いることができる。
In this case, the program code of the software implements the functions of the above-described embodiment, and the program code itself and means for supplying the program code to the computer are provided.
For example, a recording medium storing such a program code constitutes the present invention. As a recording medium for storing such a program code, for example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, C
D-ROM, magnetic tape, nonvolatile memory card, R
OM or the like can be used.

【0063】また、コンピュータが供給されたプログラ
ムコードを実行することにより、上述の実施形態の機能
が実現されるだけでなく、そのプログラムコードがコン
ピュータにおいて稼働しているOS(オペレーティング
システム)あるいは他のアプリケーションソフト等と共
同して上述の実施形態の機能が実現される場合にもかか
るプログラムコードは本発明の実施形態に含まれること
は言うまでもない。
When the computer executes the supplied program code, not only the functions of the above-described embodiment are realized, but also the OS (Operating System) or other operating system running on the computer. Needless to say, even when the functions of the above-described embodiments are realized in cooperation with application software and the like, such program codes are included in the embodiments of the present invention.

【0064】さらに、供給されたプログラムコードがコ
ンピュータの機能拡張ボードやコンピュータに接続され
た機能拡張ユニットに備わるメモリに格納された後、そ
のプログラムコードの指示に基づいてその機能拡張ボー
ドや機能拡張ユニットに備わるCPU等が実際の処理の
一部または全部を行い、その処理によって上述した実施
形態の機能が実現される場合にも本発明に含まれること
は言うまでもない。
Further, after the supplied program code is stored in the memory provided in the function expansion board of the computer or the function expansion unit connected to the computer, the function expansion board or the function expansion unit is specified based on the instruction of the program code. It is needless to say that the present invention also includes a case where the CPU or the like provided in the first embodiment performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.

【0065】[0065]

【発明の効果】以上説明したように本発明によれば、命
令を記憶するための処理内容記憶手段と、上記命令の処
理手順を制御する処理手順制御手段とを設け、上記処理
内容記憶手段に記憶されている命令を実行する際には、
上記処理手順制御手段の指示に従って上記処理内容記憶
手段に記憶されている命令を読み出してスケジューリン
グして命令実行手段に供給し、供給された命令に従って
命令実行手段により第1の記憶手段に記憶されているデ
ータの授受を行い、命令を実行するようにしたので、無
駄な無演算命令を上記処理内容記憶手段に記憶すること
なく、有効な命令だけを処理内容記憶手段に記憶して命
令の並行処理が実行できる。これにより、上記処理内容
記憶手段に記憶する命令を最小にすることができ、メモ
リ容量を増大させることなく、命令をスケジューリング
して並列処理することができる。また、命令実行手段と
の間でデータの授受を行う第1の記憶手段を設けたこと
により、命令を実行する際にデータの入出力を容易に制
御できる。
As described above, according to the present invention, a processing content storage means for storing an instruction and a processing procedure control means for controlling a processing procedure of the instruction are provided. When executing stored instructions,
The instruction stored in the processing content storage means is read out, scheduled and supplied to the instruction execution means in accordance with the instruction of the processing procedure control means, and stored in the first storage means by the instruction execution means in accordance with the supplied instruction. Data is exchanged and instructions are executed, so that only the effective instructions are stored in the processing contents storage means without the useless non-operation instructions being stored in the processing contents storage means, and the instructions are processed in parallel. Can be executed. Thus, the number of instructions stored in the processing content storage unit can be minimized, and the instructions can be scheduled and processed in parallel without increasing the memory capacity. Further, by providing the first storage means for exchanging data with the instruction execution means, it is possible to easily control the input and output of data when executing the instruction.

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

【図1】本実施形態によるディジタル信号プロセッサの
一構成例を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration example of a digital signal processor according to an embodiment;

【図2】図1に示した処理手順マップメモリの内容例を
示す図である。
FIG. 2 is a diagram showing an example of contents of a processing procedure map memory shown in FIG. 1;

【図3】図1に示した処理内容メモリの内容例を示す図
である。
FIG. 3 is a diagram showing an example of the contents of a processing content memory shown in FIG. 1;

【図4】図1に示した命令選択部の動作を説明するため
の図である。
FIG. 4 is a diagram for explaining an operation of an instruction selecting unit shown in FIG. 1;

【図5】本実施形態によるディジタル信号プロセッサの
動作例を示す図である。
FIG. 5 is a diagram showing an operation example of the digital signal processor according to the present embodiment.

【図6】本実施形態によるディジタル信号プロセッサで
スケジューリングされた命令列の例を示す図である。
FIG. 6 is a diagram showing an example of an instruction sequence scheduled by the digital signal processor according to the embodiment;

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

1 処理手順制御部 2 処理手順マップメモリ 3 除算部 4 商変化検出部 5 命令ポインタカウンタ 6 処理内容メモリ 7 命令出力部 8 バッファ部 9 命令選択部 10 プログラムカウンタ 11 第1の演算部 12 第2の演算部 13 第3の演算部 14 レジスタ部 15 データメモリ PAD プログラムアドレス IPN 命令発行パターン IAC 有効命令数積算値 QAD 商 MOD 剰余 RIV 商変化検出信号 IS0〜IS3 命令 REFERENCE SIGNS LIST 1 processing procedure control unit 2 processing procedure map memory 3 division unit 4 quotient change detection unit 5 instruction pointer counter 6 processing content memory 7 instruction output unit 8 buffer unit 9 instruction selection unit 10 program counter 11 first operation unit 12 second Arithmetic unit 13 Third arithmetic unit 14 Register unit 15 Data memory PAD Program address IPN Instruction issue pattern IAC Effective instruction number integration value QAD quotient MOD Remainder RIV quotient change detection signal IS0 to IS3 instruction

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 命令を記憶するための処理内容記憶手段
と、 上記処理内容記憶手段に記憶された命令の処理手順を制
御する処理手順制御手段と、 上記処理手順制御手段の制御に従い、上記処理内容記憶
手段から供給される命令を実行する命令実行手段と、 上記命令実行手段にデータを供給し、上記命令実行手段
により処理されたデータを記憶する第1のデータ記憶手
段とを備えることを特徴とするディジタル信号プロセッ
サ。
1. A processing content storage means for storing an instruction, a processing procedure control means for controlling a processing procedure of the instruction stored in the processing content storage means, and a processing procedure according to the control of the processing procedure control means. An instruction execution means for executing an instruction supplied from the content storage means, and a first data storage means for supplying data to the instruction execution means and storing data processed by the instruction execution means. And a digital signal processor.
【請求項2】 上記処理手順制御手段の制御に従い、上
記処理内容記憶手段から供給される複数の命令の中から
何れかを選択して上記命令実行手段に出力する命令出力
手段をさらに備えることを特徴とする請求項1に記載の
ディジタル信号プロセッサ。
2. An apparatus according to claim 1, further comprising an instruction output means for selecting any one of a plurality of instructions supplied from said processing content storage means and outputting the selected instruction to said instruction execution means in accordance with control of said processing procedure control means. The digital signal processor according to claim 1, wherein:
【請求項3】 上記命令出力手段は、上記処理内容記憶
手段から供給される命令を保持する命令保持手段と、 上記処理手順制御手段の制御に従い、上記処理内容記憶
手段あるいは上記命令保持手段から供給される複数の命
令の中から何れかを選択して上記命令実行手段に出力す
る命令選択手段とを備えることを特徴とする請求項2に
記載のディジタル信号プロセッサ。
3. The instruction output means includes: an instruction holding means for holding an instruction supplied from the processing content storage means; and an instruction output means provided from the processing content storage means or the instruction holding means under control of the processing procedure control means. 3. The digital signal processor according to claim 2, further comprising: an instruction selecting unit that selects any one of the plurality of instructions to be output and outputs the selected instruction to the instruction executing unit.
【請求項4】 上記処理手順制御手段は、命令発行先情
報と有効命令数の積算値とからなるスケジューリング情
報を記憶するための処理手順記憶手段を備えることを特
徴とする請求項1〜3の何れか1項に記載のディジタル
信号プロセッサ。
4. The processing procedure control means according to claim 1, wherein said processing procedure control means includes processing procedure storage means for storing scheduling information comprising instruction issue destination information and an integrated value of the number of valid instructions. Digital signal processor according to any one of the preceding claims.
【請求項5】 複数の処理手段を有するディジタル信号
プロセッサであって、 上記複数の処理手段への命令発行先情報と、プログラム
スタートアドレスからの有効命令数の積算値とからなる
スケジューリング情報を記憶するための処理手順記憶手
段と、 上記複数の処理手段に供給する命令を記憶するための処
理内容記憶手段と、 上記複数の処理手段にデータを供給し、上記複数の処理
手段により処理されたデータを記憶する機能を有する第
2のデータ記憶手段と、 上記第2のデータ記憶手段に供給するデータおよび上記
第2のデータ記憶手段に記憶されている処理が施された
データを記憶するための第1のデータ記憶手段とを備
え、 上記処理手順記憶手段に記憶されているスケジューリン
グ情報に基づき、上記処理内容記憶手段から命令を読み
出して上記複数の処理手段に供給することを特徴とする
ディジタル信号プロセッサ。
5. A digital signal processor having a plurality of processing means, wherein scheduling information comprising instruction issue destination information for the plurality of processing means and an integrated value of the number of valid instructions from a program start address is stored. A processing procedure storage unit for storing, a processing content storage unit for storing an instruction to be supplied to the plurality of processing units, and supplying data to the plurality of processing units, and processing the data processed by the plurality of processing units. A second data storage unit having a function of storing; a first data storage unit for storing data supplied to the second data storage unit and data subjected to processing stored in the second data storage unit; And a data storage means. Based on the scheduling information stored in the processing procedure storage means, an instruction is issued from the processing content storage means. Digital signal processor and supplying to said plurality of processing means out look.
【請求項6】 複数の処理手段を有するディジタル信号
プロセッサであって、 上記複数の処理手段への命令発行先情報と、プログラム
スタートアドレスからの有効命令数の積算値とからなる
スケジューリング情報を記憶するための処理手順記憶手
段と、 上記複数の処理手段に供給する命令を記憶するための処
理内容記憶手段と、 上記処理内容記憶手段から命令を読み出すためのアドレ
スを生成するアドレス生成手段と、 上記処理手順記憶手段に記憶されている有効命令数の積
算値および上記複数の処理手段の数から商と剰余を演算
し出力する除算手段と、 上記除算手段から出力される上記商の変化を検出する検
出手段と、 上記処理内容記憶手段から供給された命令を一時記憶す
るための命令保持手段と、 上記処理内容記憶手段あるいは上記命令保持手段から供
給される複数の命令を、上記除算手段および上記処理手
順記憶手段の出力に従い選択して出力する命令選択手段
と、 上記複数の処理手段の一つであり無条件分岐・条件付き
分岐・手続き呼び出しを含む処理を行い、上記処理手順
記憶手段から上記スケジューリング情報を読み出すため
のアドレスを生成するプログラムカウンタと、 上記複数の処理手段にデータを供給し、上記複数の処理
手段により処理されたデータを記憶する機能を有する第
2のデータ記憶手段と、 上記第2のデータ記憶手段に供給するデータおよび上記
第2のデータ記憶手段に記憶されている処理が施された
データを記憶するための第1のデータ記憶手段とを備え
ることを特徴とするディジタル信号プロセッサ。
6. A digital signal processor having a plurality of processing means, wherein scheduling information comprising instruction destination information for the plurality of processing means and an integrated value of the number of valid instructions from a program start address is stored. Storage means for storing instructions to be supplied to the plurality of processing means, address generation means for generating an address for reading an instruction from the processing content storage means, Division means for calculating and outputting a quotient and a remainder from the integrated value of the number of valid instructions stored in the procedure storage means and the number of the plurality of processing means; and detection for detecting a change in the quotient output from the division means Means, instruction holding means for temporarily storing an instruction supplied from the processing content storage means, and the processing content storage means or An instruction selecting means for selecting and outputting a plurality of instructions supplied from the instruction holding means in accordance with the outputs of the dividing means and the processing procedure storing means; and one of the plurality of processing means, with an unconditional branch / condition A program counter that performs a process including a branch / procedure call and generates an address for reading the scheduling information from the processing procedure storage unit; and supplies data to the plurality of processing units and is processed by the plurality of processing units. A second data storage unit having a function of storing the processed data, and a storage unit for storing data supplied to the second data storage unit and data subjected to processing stored in the second data storage unit. And a first data storage means.
【請求項7】 上記アドレス生成手段は、上記検出手段
の出力に応じてアドレスを生成することを特徴とする請
求項6に記載のディジタル信号プロセッサ。
7. The digital signal processor according to claim 6, wherein said address generation means generates an address according to an output of said detection means.
【請求項8】 上記アドレス生成手段は、上記プログラ
ムカウンタに供給される命令および上記処理手順記憶手
段に記憶されている有効命令数の積算値に応じてアドレ
スを生成することを特徴とする請求項6に記載のディジ
タル信号プロセッサ。
8. The method according to claim 1, wherein said address generation means generates an address in accordance with an instruction supplied to said program counter and an integrated value of the number of valid instructions stored in said processing procedure storage means. A digital signal processor according to claim 6.
【請求項9】 上記第1のデータ記憶手段は、上記第1
のデータ記憶手段のアドレス空間上にマッピングされた
ディジタル信号の入出力手段を備えることを特徴とする
請求項1〜8の何れか1項に記載のディジタル信号プロ
セッサ。
9. The first data storage means comprises:
9. The digital signal processor according to claim 1, further comprising an input / output unit for a digital signal mapped on an address space of said data storage unit.
【請求項10】 上記処理手順記憶手段と上記処理内容
記憶手段は、上記処理手順記憶手段に記憶する情報を記
憶するための処理手順記憶領域と、上記処理内容記憶手
段に記憶する情報を記憶するための処理内容記憶領域と
に領域分割された記憶媒体からなることを特徴とする請
求項1〜9の何れか1項に記載のディジタル信号プロセ
ッサ。
10. The processing procedure storage means and the processing content storage means store a processing procedure storage area for storing information stored in the processing procedure storage means and information stored in the processing content storage means. 10. The digital signal processor according to claim 1, comprising a storage medium divided into a processing content storage area for processing.
【請求項11】 スケジューリング情報と命令とを別に
記憶し、上記命令を上記スケジューリング情報に基づい
てスケジューリングし、スケジューリングされた上記命
令に従って記憶媒体に記憶されているデータの授受を行
い、上記命令を実行することを特徴とする並列処理方
法。
11. A method for storing scheduling information and an instruction separately, scheduling the instruction based on the scheduling information, exchanging data stored in a storage medium according to the scheduled instruction, and executing the instruction. A parallel processing method.
【請求項12】 上記スケジューリング情報は、命令発
行先情報と有効命令数の積算値情報とを含み、上記2つ
の情報により命令を読み出して、スケジューリングされ
た命令を生成することを特徴とする請求項11に記載の
並列処理方法。
12. The scheduling information includes instruction issue destination information and integrated value information of the number of valid instructions, and reads out an instruction based on the two pieces of information to generate a scheduled instruction. 12. The parallel processing method according to item 11.
【請求項13】 請求項1〜10の何れか1項に記載の
各手段としてコンピュータを機能させるためのプログラ
ムを記録したことを特徴とするコンピュータ読み取り可
能な記録媒体。
13. A computer-readable recording medium on which a program for causing a computer to function as each of the means according to claim 1 is recorded.
【請求項14】 請求項11または12に記載の並列処
理方法の処理手順をコンピュータに実行させるためのプ
ログラムを記録したことを特徴とするコンピュータ読み
取り可能な記録媒体。
14. A computer-readable recording medium on which a program for causing a computer to execute the processing procedure of the parallel processing method according to claim 11 or 12 is recorded.
JP2000173972A 2000-06-09 2000-06-09 Digital signal processor, parallel processing method and recording medium Pending JP2001350627A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000173972A JP2001350627A (en) 2000-06-09 2000-06-09 Digital signal processor, parallel processing method and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000173972A JP2001350627A (en) 2000-06-09 2000-06-09 Digital signal processor, parallel processing method and recording medium

Publications (1)

Publication Number Publication Date
JP2001350627A true JP2001350627A (en) 2001-12-21

Family

ID=18676099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000173972A Pending JP2001350627A (en) 2000-06-09 2000-06-09 Digital signal processor, parallel processing method and recording medium

Country Status (1)

Country Link
JP (1) JP2001350627A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957743A (en) * 2010-10-12 2011-01-26 中国电子科技集团公司第三十八研究所 Parallel digital signal processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957743A (en) * 2010-10-12 2011-01-26 中国电子科技集团公司第三十八研究所 Parallel digital signal processor

Similar Documents

Publication Publication Date Title
JP2928695B2 (en) Multi-thread microprocessor using static interleave and instruction thread execution method in system including the same
JP3587255B2 (en) Super scalar processor
JP3442225B2 (en) Arithmetic processing unit
JP2818249B2 (en) Electronic computer
JP3984786B2 (en) Scheduling instructions with different latency
US20100100704A1 (en) Integrated circuit incorporating an array of interconnected processors executing a cycle-based program
US20100268862A1 (en) Reconfigurable processor and method of reconfiguring the same
EP0677188A1 (en) System and method for assigning tags to instructions to control instruction execution.
JP3797570B2 (en) Apparatus and method using semaphore buffer for semaphore instructions
JPH1097423A (en) Processor having register structure which is suitable for parallel execution control of loop processing
JP2004529405A (en) Superscalar processor implementing content addressable memory for determining dependencies
JPH0743648B2 (en) Information processing equipment
JPH1185513A (en) Processor
EP0496407A2 (en) Parallel pipelined instruction processing system for very long instruction word
KR20150051083A (en) Re-configurable processor, method and apparatus for optimizing use of configuration memory thereof
JP2001350627A (en) Digital signal processor, parallel processing method and recording medium
US6886091B1 (en) Replacing VLIW operation with equivalent operation requiring fewer issue slots
JP2006506727A (en) VLIW with copy register file
JP2883465B2 (en) Electronic computer
US10606602B2 (en) Electronic apparatus, processor and control method including a compiler scheduling instructions to reduce unused input ports
JP2861234B2 (en) Instruction processing unit
JP3607548B2 (en) Vector arithmetic unit
JPS6395538A (en) Control system for instruction processing order
JP2001134435A (en) Processor and scheduling method and storage medium
US20100174885A1 (en) Reconfigurable processor and operating method of the same