JP2001092658A - Data processing circuit and data processor - Google Patents

Data processing circuit and data processor

Info

Publication number
JP2001092658A
JP2001092658A JP26880499A JP26880499A JP2001092658A JP 2001092658 A JP2001092658 A JP 2001092658A JP 26880499 A JP26880499 A JP 26880499A JP 26880499 A JP26880499 A JP 26880499A JP 2001092658 A JP2001092658 A JP 2001092658A
Authority
JP
Japan
Prior art keywords
data
pipeline
register
instruction
address
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
JP26880499A
Other languages
Japanese (ja)
Inventor
Yoshinari Fujii
善也 藤井
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP26880499A priority Critical patent/JP2001092658A/en
Publication of JP2001092658A publication Critical patent/JP2001092658A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a data processor for reducing the increase of the physical scale, and for preventing the deterioration in arithmetic performance as a digital signal processor at the time of loading the functions of a microprocessor and a digital signal processor on one LSI. SOLUTION: This data processor is provided with by-paths 107, 108, 109, 110, and 112 arranged on data paths in parallel with pipe line registers as the paths of data for selectively obtaining data passing through the by-paths or data transmitted to the pipe line registers and selectors 13, 14, 16, and 23 for selectively outputting the outputs of the by-paths and the outputs of the pipe line registers. Also, an address generating circuit 17 is arranged differently from an instruction executing circuit A3.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、パイプライン処理
を行うデータ処理装置に関するものであり、特に、プロ
セッサによる信号処理技術及びプロセッサによる制御技
術に係り、高速な信号処理と複雑な制御の双方を必要と
する通信端末、マルチメディア機器等に適用する技術に
関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing apparatus for performing a pipeline process, and more particularly to a signal processing technique by a processor and a control technique by a processor, and performs both high-speed signal processing and complicated control. The present invention relates to a technology applied to required communication terminals, multimedia devices, and the like.

【0002】[0002]

【従来の技術】従来において、マイクロプロセッサと共
にデジタルシグナルプロセッサを一つのLSIに搭載し
たプロセッサについて記載されたものの例としては特開
平9−22379号や、日立SuperH RISC
engine SH−DSPプログラミングマニュアル
及び日経エレクトロニクスNo.666の第147頁か
ら第161頁に記載のものがある(従来技術1)。これ
によれば、CPUコアにデジタル信号処理回路を追加
し、命令フェッチ回路やアドレス生成回路を共有して物
理的な規模の増大を抑え、またALU演算、乗算、及び
2つのロードまたはストアの並行処理を可能としてデジ
タル信号処理を高速化している。
2. Description of the Related Art Hitherto, examples of a processor in which a digital signal processor is mounted on a single LSI together with a microprocessor are described in JP-A-9-22379 and Hitachi SuperH RISC.
engine SH-DSP programming manual and Nikkei Electronics No. 666, pages 147 to 161 (prior art 1). According to this, a digital signal processing circuit is added to the CPU core, an instruction fetch circuit and an address generation circuit are shared to suppress an increase in physical scale, and ALU operation, multiplication, and parallel execution of two loads or stores are performed. Digital signal processing is speeded up by enabling processing.

【0003】また、プロセッサのパイプラインを可変に
するデータ処理装置について記載されたものの例として
は、特開平9−319578号、及び特開平11−15
658号がある(従来技術2)。これによれば、命令実
行回路は、パイプライン段数がn段とnより大きいm段
とに可変であり、n段又はm段の何れかの段数で命令を
パイプライン処理する。パイプライン制御回路は、命令
実行手段のパイプライン段数を切り替える。この構成に
よれば、m段パイプライン処理では、動作クロックの上
限を向上させることができ高い処理性能を向上させるこ
とができる。また、低速クロックで足りる用途では、分
岐インタロックによるペナルティが少ないn段パイプラ
イン処理を利用することができる。
[0003] Examples of a data processing apparatus which makes a pipeline of a processor variable are described in JP-A-9-319578 and JP-A-11-15.
No. 658 (prior art 2). According to this, the instruction execution circuit is variable in the number of pipeline stages to n stages and m stages larger than n, and performs the pipeline processing of the instruction in any of the n stages or the m stages. The pipeline control circuit switches the number of pipeline stages of the instruction execution means. According to this configuration, in the m-stage pipeline processing, the upper limit of the operation clock can be improved, and high processing performance can be improved. Further, in applications where a low-speed clock is sufficient, it is possible to use an n-stage pipeline process in which a penalty due to branch interlock is small.

【0004】[0004]

【発明が解決しようとする課題】しかし、前記従来技術
1では、DSPデータ転送命令、及びDSP演算命令
は、IF(命令フェッチ)、ID(命令デコード)、E
X(命令実行)、MA(メモリアクセス)、WB/DS
P(ライトバックまたはDSPライトバック/DSP)
の5段パイプラインで処理され、DSP演算命令はWB
/DSPステージで実行されるため、デジタル信号処理
が高速に行われなくなる場合がある。例えば、DSP演
算と、メモリストアの並行処理を繰り返し行う場合を考
える。ここで、メモリストアの対象とするデータは、直
前の並行処理における演算の結果であるとする。この場
合、例えば、図4に示すような場合では、WB/DSP
ステージで得られた演算結果(命令1)を次の並行処理
のMAステージでストア(命令2)しようとしても、ま
だ演算結果が得られていないために競合が発生してスト
ールサイクルが発生し、処理効率が低下するという問題
がある。
However, in the prior art 1, the DSP data transfer instruction and the DSP operation instruction include IF (instruction fetch), ID (instruction decode), and E (instruction decode).
X (instruction execution), MA (memory access), WB / DS
P (Write back or DSP write back / DSP)
Is processed by the 5-stage pipeline, and the DSP operation instruction is WB
Since the digital signal processing is executed in the / DSP stage, digital signal processing may not be performed at high speed. For example, consider the case where the DSP operation and the parallel processing of the memory store are repeatedly performed. Here, it is assumed that the data to be stored in the memory is the result of the operation in the immediately preceding parallel processing. In this case, for example, in the case shown in FIG.
Even if the operation result (instruction 1) obtained in the stage is to be stored (instruction 2) in the next parallel processing MA stage, the operation result has not been obtained yet, so that a conflict occurs and a stall cycle occurs. There is a problem that processing efficiency is reduced.

【0005】また、上記従来技術1においては、マイク
ロプロセッサとデジタルシグナルプロセッサの演算器の
物理的な共有は行われておらず、物理的な規模の増大に
つながっているという問題がある。
Further, in the above-mentioned prior art 1, there is a problem that the arithmetic units of the microprocessor and the digital signal processor are not physically shared, which leads to an increase in the physical scale.

【0006】マイクロプロセッサとデジタルシグナルプ
ロセッサのパイプラインの動作は本来大きく異なるた
め、これらを一つのLSIに搭載してデジタル信号処理
を高速化するためには、マイクロプロセッサとしての命
令とデジタルシグナルプロセッサとしての命令で、パイ
プラインの動作を切り替える必要があると考えた。
[0006] Since the operations of the pipelines of the microprocessor and the digital signal processor are essentially different from each other, in order to mount them on one LSI and to speed up the digital signal processing, the instructions as the microprocessor and the digital signal processor must be used. I thought that it was necessary to switch the operation of the pipeline with this instruction.

【0007】また、前記従来技術2では、パイプライン
段数を可変にしているが、クロックの周波数の上限を向
上させ、しかも用途に応じて高速クロックを使用すると
きも低速クロック使用するときも好適な処理能力を発揮
するコストパフォーマンスのよいデータ処理装置を提供
することを目的としており、マイクロプロセッサとデジ
タルシグナルプロセッサのパイプライン動作を切り替え
て実現するものではない。
In the above-mentioned prior art 2, the number of pipeline stages is made variable. However, the upper limit of the clock frequency is improved, and it is preferable to use a high-speed clock or a low-speed clock depending on the application. The purpose of the present invention is to provide a data processing device having good processing performance and high cost performance, and is not realized by switching pipeline operations between a microprocessor and a digital signal processor.

【0008】そこで、本発明は上述の各種課題を解決し
ようとするものであり、マイクロプロセッサとデジタル
シグナルプロセッサの機能を一つのLSIに搭載するに
あたり、物理的な規模の増大を極力抑え、かつデジタル
シグナルプロセッサとしての演算性能を落とさないデー
タ処理装置を提供することを目的とする。
In view of the above, the present invention has been made to solve the above-described various problems, and when the functions of a microprocessor and a digital signal processor are mounted on one LSI, an increase in physical scale is suppressed as much as possible, and An object of the present invention is to provide a data processing device that does not degrade the operation performance as a signal processor.

【0009】[0009]

【課題を解決するための手段】本発明は上記問題点を解
決するために創作されたものであって、第1には、パイ
プライン処理を行うデータ処理回路であって、データパ
ス上に設けられた1又は複数のバイパス手段であって、
データの経路として、該バイパスを通過する場合と該パ
イプラインレジスタに至る場合とを得ることができるバ
イパス手段を有し、マイクロプロセッサのパイプライン
動作とデジタルシグナルプロセッサのパイプライン動作
との切替え動作を可能とすることを特徴とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems. First, a data processing circuit for performing pipeline processing, which is provided on a data path. One or more bypass means provided,
As a data path, there is provided a bypass unit which can obtain a case where the data passes through the bypass and a case where the data reaches the pipeline register, and performs a switching operation between a pipeline operation of the microprocessor and a pipeline operation of the digital signal processor. It is characterized in that it is possible.

【0010】この第1の構成のデータ処理回路によれ
ば、データパスにパイプラインレジスタと並行に設けら
れたバイパス手段を設けることにより、デジタルシグナ
ルプロセッサのパイプライン動作を実現することがで
き、マイクロプロセッサとデジタルプロセッサの機能を
1つのLSI上に搭載する上で、回路の重複を防止で
き、回路規模の縮小を図ることが可能となる。また、高
速なデジタル信号処理を行うためにデジタルシグナルプ
ロセッサとして動作する場合、演算性能を損なうことが
ない。
According to the data processing circuit having the first configuration, the pipeline operation of the digital signal processor can be realized by providing the data path with the bypass means provided in parallel with the pipeline register. When the functions of the processor and the digital processor are mounted on one LSI, duplication of circuits can be prevented, and the circuit scale can be reduced. In addition, when operating as a digital signal processor for performing high-speed digital signal processing, arithmetic performance is not impaired.

【0011】また、第2には、上記第1の構成におい
て、上記データ処理回路が、上記バイパス手段からの出
力と、上記パイプラインレジスタの出力とを選択出力す
る選択手段を有することを特徴とする。
Secondly, in the first configuration, the data processing circuit has a selection means for selecting and outputting an output from the bypass means and an output from the pipeline register. I do.

【0012】また、第3には、上記第1又は第2の構成
において、マイクロプロセッサのパイプライン動作に切
り替えた場合と、デジタルシグナルプロセッサのパイプ
ライン動作に切り替えた場合とで、パイプラインレジス
タに与えられるクロック周波数を切り替えることを特徴
とする。
Third, in the first or second configuration, the pipeline register is switched between the pipeline operation of the microprocessor and the pipeline operation of the digital signal processor. It is characterized in that a given clock frequency is switched.

【0013】また、第4には、データ処理装置であっ
て、上記第1又は第2又は第3の構成のデータ処理回路
と、上記データ処理回路へのアドレス情報を生成するた
めのアドレス生成回路であって、上記デジタルシグナル
プロセッサのパイプライン動作に切り替えた場合のアド
レス生成を行い、演算命令の演算とアドレス計算とを同
時に実行可能とするアドレス生成回路と、を有すること
を特徴とする。
A fourth aspect is a data processing device, wherein the data processing circuit has the first, second, or third configuration, and an address generation circuit for generating address information for the data processing circuit. And an address generation circuit that generates an address when the operation is switched to the pipeline operation of the digital signal processor and enables simultaneous execution of operation of an operation instruction and address calculation.

【0014】[0014]

【発明の実施の形態】本発明の実施の形態としての実施
例を図面を利用して説明する。本発明に基づくデータ処
理装置Aは、図1に示されるように、命令フェッチ回路
A1と、命令解読/パイプライン制御回路A2と、命令
実行回路A3と、データメモリ25と、アドレス生成回
路17とを有している。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described with reference to the drawings. As shown in FIG. 1, a data processing device A according to the present invention includes an instruction fetch circuit A1, an instruction decoding / pipeline control circuit A2, an instruction execution circuit A3, a data memory 25, an address generation circuit 17, have.

【0015】ここで、上記命令フェッチ回路A1は、図
1に示すように、プログラムカウンタと、命令メモリ
と、命令レジスタとを有し、プログラムカウンタで示さ
れるアドレスに基づき、命令メモリを読み出し、命令レ
ジスタに格納するようになっている。
Here, as shown in FIG. 1, the instruction fetch circuit A1 has a program counter, an instruction memory, and an instruction register. The instruction fetch circuit A1 reads out the instruction memory based on an address indicated by the program counter, and reads the instruction memory. It is stored in a register.

【0016】また、上記命令解読/パイプライン制御回
路A2は、命令レジスタの内容を解読してレジスタファ
イルの読出しアドレスを生成したり、演算器を制御する
演算器制御信号を生成したりする。
The instruction decoding / pipeline control circuit A2 decodes the contents of the instruction register to generate a read address of a register file, and generates an operation unit control signal for controlling the operation unit.

【0017】また、上記命令実行回路A3は、レジスタ
ファイル1と、パイプラインレジスタ2、パイプライン
レジスタ3、パイプラインレジスタ6、パイプラインレ
ジスタ7、パイプラインレジスタ22と、セレクタ4、
セレクタ8、セレクタ9、セレクタ12、セレクタ1
3、セレクタ14、セレクタ15、セレクタ16、セレ
クタ23と、演算器5とを有している。この命令実行回
路A3は、上記データ処理回路として機能する。
The instruction execution circuit A3 includes a register file 1, a pipeline register 2, a pipeline register 3, a pipeline register 6, a pipeline register 7, a pipeline register 22, a selector 4,
Selector 8, selector 9, selector 12, selector 1
3, a selector 14, a selector 15, a selector 16, a selector 23, and a computing unit 5. The instruction execution circuit A3 functions as the data processing circuit.

【0018】また、レジスタファイル1の出力端とセレ
クタ13の入力端の間には、パイプラインレジスタ2と
並行に、バイパス107が設けられ、また、レジスタフ
ァイル1の出力端とセレクタ4の入力端末の間には、パ
イプラインレジスタ3と並行に、バイパス108が設け
られている。また、演算器5の出力端とセレクタ15の
入力端の間には、パイプラインレジスタ6及びパイプラ
インレジスタ10と並行に、バイパス109が設けら
れ、また、データメモリ25に接続されている読出しデ
ータバス104とセレクタ16の入力端の間には、パイ
プラインレジスタ11と並行に、バイパス110が設け
られ、また、セレクタ4の出力端とセレクタ23の入力
端の間には、パイプラインレジスタ22と並行に、バイ
パス112が設けられている。上記バイパス107、バ
イパス108、バイパス109、バイパス110、バイ
パス112は上記バイパス手段として機能し、また、セ
レクタ4、セレクタ13、セレクタ14、セレクタ1
5、セレクタ16、セレクタ23は上記選択出力手段と
して機能する。
A bypass 107 is provided between the output terminal of the register file 1 and the input terminal of the selector 13 in parallel with the pipeline register 2. A bypass 108 is provided in parallel with the pipeline register 3. A bypass 109 is provided between the output terminal of the arithmetic unit 5 and the input terminal of the selector 15 in parallel with the pipeline register 6 and the pipeline register 10. A bypass 110 is provided between the bus 104 and the input terminal of the selector 16 in parallel with the pipeline register 11, and a pipeline register 22 is connected between the output terminal of the selector 4 and the input terminal of the selector 23. In parallel, a bypass 112 is provided. The bypass 107, the bypass 108, the bypass 109, the bypass 110, and the bypass 112 function as the bypass unit, and the selector 4, the selector 13, the selector 14, and the selector 1
5, the selector 16 and the selector 23 function as the selection output means.

【0019】また、データメモリ25は、上記命令実行
回路A3と接続されている。つまり、アドレスバス10
3を介してセレクタ14と接続され、また、書込みデー
タバス111を介してセレクタ23と接続され、さら
に、読出しデータバス104を介してセレクタ8、セレ
クタ9と接続されている。
The data memory 25 is connected to the instruction execution circuit A3. That is, the address bus 10
3 and connected to the selector 23 via the write data bus 111, and further connected to the selectors 8 and 9 via the read data bus 104.

【0020】また、アドレス生成回路17は、アドレス
レジスタ18、アドレスレジスタ19と、セレクタ20
と、アドレス計算回路21を有している。このアドレス
生成回路17の出力は、セレクタ14に入力されてい
る。
The address generation circuit 17 includes an address register 18, an address register 19, and a selector 20.
And an address calculation circuit 21. The output of the address generation circuit 17 is input to the selector 14.

【0021】ここで、従来におけるデータ処理装置B
は、図3に示すように構成され、命令フェッチ回路B1
と、命令解読/パイプライン制御回路B2と、命令実行
回路B3とを有している。そして、命令実行回路につい
て比較すると、本実施例の命令実行回路A3は、従来か
らの命令実行回路B3に、セレクタ13、セレクタ1
4、セレクタ15、セレクタ16、セレクタ23と、バ
イパス107、バイパス108、バイパス109、バイ
パス110、バイパス112を加えたものであり、さら
に、本実施例のデータ処理装置Aは、アドレス生成回路
17を別途有している点が図3に示す構成と異なる。
Here, the conventional data processing apparatus B
Is configured as shown in FIG. 3, and includes an instruction fetch circuit B1.
And an instruction decoding / pipeline control circuit B2 and an instruction execution circuit B3. Comparing the instruction execution circuits, the instruction execution circuit A3 of this embodiment is different from the conventional instruction execution circuit B3 in that the selector 13 and the selector 1
4, a selector 15, a selector 16, a selector 23, and a bypass 107, a bypass 108, a bypass 109, a bypass 110, and a bypass 112. Further, the data processing device A of the present embodiment It differs from the configuration shown in FIG. 3 in that it is provided separately.

【0022】ここで、上記各バイパスは、データの経路
としてバイパスを通過する場合とパイプラインレジスタ
に入力される場合とが得られるように、パイプラインレ
ジスタと並行に設けられ、また、各バイパスの出力先に
は、パイプラインレジスタの出力と選択出力できるよう
に、セレクタが設けられている。つまり、バイパス10
8、110のようにすでに従来の構成でセレクタが設け
られている場合は必要ないが、そうでない場合には、セ
レクタが設けられている。
Each of the bypasses is provided in parallel with the pipeline register so that a case where the data passes through the bypass and a case where the data is input to the pipeline register are obtained. A selector is provided at the output destination so that the output of the pipeline register can be selectively output. That is, the bypass 10
It is not necessary when the selector is already provided in the conventional configuration as in 8, 110, but if not, the selector is provided.

【0023】上記構成のデータ処理装置Aの動作につい
て説明する。まず、このデータ処理装置Aがデジタルシ
グナルプロセッサとして3段パイプライン動作をする場
合について説明する。この3段パイプライン動作は、フ
ェッチ(F)、デコード(D)、実行(E)の3段で行
われる。
The operation of the data processing apparatus A having the above configuration will be described. First, a case where the data processing apparatus A performs a three-stage pipeline operation as a digital signal processor will be described. This three-stage pipeline operation is performed in three stages of fetch (F), decode (D), and execute (E).

【0024】まず、フェッチ(F)では、命令フェッチ
回路A1において、プログラムカウンタで示されるアド
レスに基づき、命令メモリが読み出され、読み出された
データが命令レジスタに格納される。
First, in the fetch (F), in the instruction fetch circuit A1, the instruction memory is read based on the address indicated by the program counter, and the read data is stored in the instruction register.

【0025】次に、デコード(D)では、命令解読/パ
イプライン制御回路A2において、命令レジスタに格納
されたデータを解読して、レジスタファイル1の読出し
アドレスを最大で2つ、レジスタファイル1の書込みア
ドレスを最大で2つ、さらには、演算器制御信号等の制
御信号を生成する。
Next, in the decode (D), the instruction decoding / pipeline control circuit A2 decodes the data stored in the instruction register, and sets the maximum two read addresses of the register file 1 and the read address of the register file 1. A maximum of two write addresses and a control signal such as an arithmetic unit control signal are generated.

【0026】次に、実行(E)では、デコード(D)で
生成されたレジスタファイル1の読出しアドレス、レジ
スタファイル1の書込みアドレス、演算器制御信号等の
制御信号が、命令解読/パイプライン制御回路A2によ
り同時に出力され、(1)レジスタファイル1からの最
大2つのデータの読出し、(2)演算器5による演算、
(3)データメモリ25からの読出し又はデータメモリ
25への書込み、(4)アドレス計算回路21によるア
ドレス計算、(5)レジスタファイル1への演算結果の
格納、(6)レジスタファイル1へのメモリ読出しデー
タの格納、(7)アドレスレジスタ18、19へのアド
レス計算結果の格納が行われる。
Next, in the execution (E), control signals such as the read address of the register file 1, the write address of the register file 1, and the operation unit control signal generated by the decode (D) are used for instruction decoding / pipeline control. Output simultaneously by the circuit A2, (1) reading up to two data from the register file 1, (2) operation by the arithmetic unit 5,
(3) reading from or writing to the data memory 25; (4) address calculation by the address calculation circuit 21; (5) storing of operation results in the register file 1; and (6) memory to the register file 1. The read data is stored, and (7) the address calculation results are stored in the address registers 18 and 19.

【0027】なお、上記の(1)〜(7)の各処理は、
実行ステージにおいて全て行われるとは限らず、その一
部のみが行われる場合もある。例えば、上記(1)、
(2)、(5)の処理のみが行われる場合や、上記
(3)、(6)の処理のみが行われる場合や、上記
(4)、(7)の処理のみが行われる場合もある。
The above processes (1) to (7) are
Not all operations are performed in the execution stage, and only some of them may be performed. For example, the above (1),
There are also cases where only the processes of (2) and (5) are performed, cases where only the processes of (3) and (6) are performed, and cases where only the processes of (4) and (7) are performed. .

【0028】ここで、デジタルシグナルプロセッサとし
ての動作を実現するために、データの経路としては以下
のような経路によって処理が行われる。
Here, in order to realize the operation as a digital signal processor, the processing is performed by the following path as a data path.

【0029】つまり、上記の(1)レジスタファイル1
からの2つのオペランドの読出し、(2)演算器5によ
る演算、(5)レジスタファイル1への演算結果の格納
の処理に際しては、レジスタファイル1から読み出した
オペランドの1つは、パイプラインレジスタ2を介する
ことなく、バイパス107を通って直接演算器5に入力
される。また、レジスタファイル1から読み出した他の
1つのオペランドも同様に、バイパス108とセレクタ
4を通して演算器5に入力される。そして、演算器5か
ら出力される演算結果は、パイプラインレジスタ6、パ
イプラインレジスタ10を介することなく、バイパス1
09とセレクタ15を通してレジスタファイル1に格納
される。
That is, the above (1) register file 1
In the process of reading two operands from the register file, (2) the operation by the arithmetic unit 5, and (5) storing the operation result in the register file 1, one of the operands read from the register file 1 Is input directly to the arithmetic unit 5 through the bypass 107 without passing through. Similarly, another operand read from the register file 1 is input to the arithmetic unit 5 through the bypass 108 and the selector 4. The operation result output from the arithmetic unit 5 is output to the bypass 1 without passing through the pipeline registers 6 and 10.
09 and the selector 15 are stored in the register file 1.

【0030】また、上記の「(3)データメモリ25か
らの読出し又はデータメモリ25への書込み」における
データメモリ25からの読出し及び上記(6)レジスタ
ファイル1へのメモリ読出しデータの格納に際しては、
データメモリ25から読み出したデータは、データバス
104に乗り、パイプラインレジスタ11を介すること
なく、バイパス110とセレクタ16を介してレジスタ
ファイル1に格納される。
When reading from the data memory 25 and storing (6) the memory read data in the register file 1 in the above-mentioned "(3) Reading from the data memory 25 or writing into the data memory 25",
The data read from the data memory 25 is stored in the register file 1 via the bypass 110 and the selector 16 without passing through the data bus 104 and the pipeline register 11.

【0031】また、「(3)データメモリ25からの読
出し又はデータメモリ25への書込み」におけるデータ
メモリ25への書込みに際しては、レジスタファイルか
ら読み出したデータがバイパス108、セレクタ4、バ
イパス112、セレクタ23を通って書込みデータバス
111に出力されることになる。
When writing to the data memory 25 in "(3) Reading from or writing to the data memory 25", the data read from the register file includes the bypass 108, the selector 4, the bypass 112, and the selector 23 to the write data bus 111.

【0032】また、上記の(4)アドレス計算回路21
によるアドレス計算、(7)アドレスレジスタ18、1
9へのアドレス計算結果の格納においては、デジタルシ
グナルプロセッサとしての動作では、演算とアドレス計
算を同一サイクル内に行う必要があるため、メモリアド
レスについては、レジスタファイル1のレジスタによる
指定を行わずに、アドレスレジスタ18、19を使用
し、また、アドレス計算では演算器5を使用せずに、ア
ドレス生成回路17に設けられたアドレス計算回路21
を使用する。アドレス生成回路17が生成したアドレス
は、セレクタ14によって選択され、アドレスバス10
3に出力される。該アドレスは、「(3)データメモリ
25からの読出し又はデータメモリ25への書込み」に
おけるデータメモリ25からの読出しにおいて、読出し
アドレスとなり、また、「(3)データメモリ25から
の読出し又はデータメモリ25への書込み」におけるデ
ータメモリ25への書込みにおいて、書込みアドレスと
なる。
The above (4) address calculation circuit 21
(7) Address registers 18 and 1
In the operation of the digital signal processor, the operation and the address calculation must be performed in the same cycle in the storage of the address calculation result in the memory 9. Therefore, the memory address is not specified by the register of the register file 1 without performing the specification. , Address registers 18 and 19, and the address calculation circuit 21 provided in the address generation circuit 17 without using the arithmetic unit 5 in the address calculation.
Use The address generated by the address generation circuit 17 is selected by the selector 14 and the address bus 10
3 is output. The address becomes a read address in reading from the data memory 25 in “(3) Reading from or writing to the data memory 25”, and “3. Reading from the data memory 25 or reading from the data memory 25”. In the case of writing to the data memory 25 in "writing to 25", the address becomes a write address.

【0033】次に、デジタルシグナルプロセッサとして
の動作タイミングとデータの流れを例示する。まず、例
示プログラムを以下に示す。
Next, the operation timing and data flow as a digital signal processor will be exemplified. First, an example program is shown below.

【0034】命令1:A0=0; つまり、アドレスレ
ジスタA0に0を代入する。ここで、アドレスレジスタ
A0とは、アドレスレジスタ18が対応する。
Instruction 1: A0 = 0; That is, 0 is assigned to the address register A0. Here, the address register 18 corresponds to the address register A0.

【0035】命令2:R0=0; ここでは、レジスタ
ファイル1におけるレジスタR0(図1参照)に0を代
入する。これは、例えば、命令解読/パイプライン制御
回路A2から行われる。
Instruction 2: R0 = 0; Here, 0 is assigned to the register R0 (see FIG. 1) in the register file 1. This is performed, for example, from the instruction decoding / pipeline control circuit A2.

【0036】命令3:R1=[A0++]; ここで
は、アドレスレジスタA0で示されるメモリ(データメ
モリ25)内の内容をレジスタファイル1におけるレジ
スタR1(図1参照)に転送する。また、アドレスレジ
スタA0(アドレスレジスタ18)の内容をインクリメ
ントする。
Instruction 3: R1 = [A0 ++]; Here, the contents in the memory (data memory 25) indicated by the address register A0 are transferred to the register R1 in the register file 1 (see FIG. 1). Further, the contents of the address register A0 (address register 18) are incremented.

【0037】命令4:rpt7; 次の1つの命令(こ
こでは、命令5)を指定回数(ここでは、7回)繰り返
し実行する。
Instruction 4: rpt7; The next one instruction (here, instruction 5) is repeatedly executed a specified number of times (here, seven times).

【0038】命令5:R0+=R1;R1=[A0+
+]; レジスタファイル1におけるレジスタR0の内
容に、レジスタファイルにおけるレジスタR1の内容を
加算する。この加算は演算器5により行われる。そし
て、この加算結果がバイパス109、セレクタ15、バ
ス105を介して上記レジスタR0に代入される。ま
た、アドレスレジスタA0で示されるメモリ(データメ
モリ25)内の内容を上記レジスタR1に転送する。さ
らに、アドレスレジスタA0の内容をインクリメントす
る。
Instruction 5: R0 + = R1; R1 = [A0 +
+]; The contents of the register R1 in the register file are added to the contents of the register R0 in the register file 1. This addition is performed by the arithmetic unit 5. Then, the result of the addition is assigned to the register R0 via the bypass 109, the selector 15, and the bus 105. The contents in the memory (data memory 25) indicated by the address register A0 are transferred to the register R1. Further, the contents of the address register A0 are incremented.

【0039】命令6:R0+=R1; 上記レジスタR
0の内容に、レジスタR1の内容を加算する。この加算
は演算器5により行われる。そして、この加算結果がレ
ジスタR0に代入される。
Instruction 6: R0 + = R1; register R
The contents of the register R1 are added to the contents of 0. This addition is performed by the arithmetic unit 5. Then, the result of this addition is substituted into the register R0.

【0040】ここで、上記命令5の1回目の実行におけ
る実行ステージに入るまでは、レジスタR0、R1、ア
ドレスレジスタA0の内容は、以下のようになってい
る。つまり、レジスタR0の内容は上記命令2で代入し
た0である。また、レジスタR1の内容は命令3でロー
ドした、メモリ(データメモリ25)の0番地の内容と
等しい。アドレスレジスタA0の内容は、命令1で0を
代入した後、命令3でインクリメントしているため1と
なっている。
Here, before entering the execution stage in the first execution of the instruction 5, the contents of the registers R0, R1, and the address register A0 are as follows. That is, the content of the register R0 is 0 substituted in the instruction 2. The content of register R1 is equal to the content of address 0 of the memory (data memory 25) loaded by instruction 3. The content of the address register A0 is 1 because 0 is substituted in the instruction 1 and then incremented in the instruction 3.

【0041】上記命令5の1回目の処理における実行ス
テージ以降のパイプライン動作を示すと図2のようにな
る。命令5の1回目の処理における実行ステージのタイ
ミングは、図2におけるタイミング1となる。この実行
ステージでは、上記のように、(1)レジスタファイル
1からの2つのデータの読出し、(2)演算器5による
演算、(3)データメモリ25からの読出し又はデータ
メモリ25への書込み、(4)アドレス計算回路21に
よるアドレス計算、(5)レジスタファイル1への演算
結果の格納、(6)レジスタファイル1へのメモリ読出
しデータの格納、(7)アドレスレジスタ18、19へ
のアドレス計算結果の格納が行われる。各処理について
さらに詳しく説明すると、以下のようになる。
FIG. 2 shows a pipeline operation after the execution stage in the first processing of the instruction 5 described above. The timing of the execution stage in the first processing of the instruction 5 is the timing 1 in FIG. In this execution stage, as described above, (1) reading of two data from the register file 1, (2) operation by the arithmetic unit 5, (3) reading from or writing to the data memory 25, (4) address calculation by the address calculation circuit 21, (5) storage of operation results in the register file 1, (6) storage of memory read data in the register file 1, (7) address calculation to the address registers 18 and 19 The result is stored. Each process will be described in more detail below.

【0042】すなわち、上記(1)レジスタファイル1
からの2つのデータの読出しにおいては、レジスタファ
イル1からレジスタR0、R1の内容が読み出される。
なお、図2のタイミング1、命令5の1回目の処理にお
ける実行ステージにおいては、R0の内容は0であり、
R1の内容はメモリ(データメモリ25)における0番
地の内容と等しい。
That is, (1) the register file 1
In reading the two data from the register, the contents of the registers R0 and R1 are read from the register file 1.
In the execution stage in the first processing of the instruction 1 and the timing 1 in FIG. 2, the content of R0 is 0,
The content of R1 is equal to the content of address 0 in the memory (data memory 25).

【0043】また、上記(2)演算器5による演算にお
いては、レジスタR0の内容を、バイパス107とセレ
クタ13を通して演算器5に入力する。また、レジスタ
R1の内容を、バイパス108とセレクタ4を通して演
算器5に入力する。演算器5においては、入力されたデ
ータの加算を行う。図2のタイミング1の際には、演算
器5の出力は、0とメモリ(データメモリ25)の0番
地の内容の和、すなわち、メモリ(データメモリ25)
の0番地の内容に等しくなる。
In the operation (2), the content of the register R0 is input to the arithmetic unit 5 through the bypass 107 and the selector 13. The contents of the register R1 are input to the arithmetic unit 5 through the bypass 108 and the selector 4. In the arithmetic unit 5, the input data is added. At timing 1 in FIG. 2, the output of the arithmetic unit 5 is the sum of 0 and the contents of the address 0 of the memory (data memory 25), that is, the memory (data memory 25).
Is equal to the contents of the address 0.

【0044】また、上記(3)データメモリ25からの
読出し又はデータメモリ25への書込みにおけるデータ
メモリ25からの読出しに際しては、アドレスレジスタ
A0の内容がセレクタ20とセレクタ14で選択され
て、アドレスレジスタ103に乗せられる。図2のタイ
ミング1の際には、アドレスレジスタA0の内容は1で
あり、また、このアドレスレジスタA0で示されるメモ
リ(データメモリ25)の内容が読み出されて読出しデ
ータバス104に乗せられる。
In the above (3) reading from the data memory 25 or reading from the data memory 25 in writing to the data memory 25, the contents of the address register A0 are selected by the selector 20 and the selector 14, and the contents of the address register A0 are selected. It is put on 103. At the timing 1 in FIG. 2, the content of the address register A0 is 1, and the content of the memory (data memory 25) indicated by the address register A0 is read and placed on the read data bus 104.

【0045】また、上記(4)アドレス計算回路21に
よるアドレス計算においては、アドレスレジスタA0の
内容がセレクタ20によって選択されてアドレス計算回
路21に入力される。アドレス計算回路21は、入力に
1を加算してアドレスレジスタ18、19に出力する。
In the above (4) address calculation by the address calculation circuit 21, the contents of the address register A0 are selected by the selector 20 and input to the address calculation circuit 21. The address calculation circuit 21 adds 1 to the input and outputs the result to the address registers 18 and 19.

【0046】また、上記(5)レジスタファイル1への
演算結果の格納においては、演算器5の出力をバイパス
109とセレクタ15を通してレジスタファイル1のレ
ジスタR0に格納する。図2においてこの処理を行うタ
イミングは、タイミング1からタイミング2に移る時で
ある。
Also, in the above (5) storing the operation result in the register file 1, the output of the arithmetic unit 5 is stored in the register R0 of the register file 1 through the bypass 109 and the selector 15. In FIG. 2, the timing at which this processing is performed is when the timing 1 shifts to the timing 2.

【0047】また、上記(6)レジスタファイル1への
メモリ読出しデータの格納においては、読出しデータバ
ス104に乗った読出しデータを、バイパス110とセ
レクタ16を通してレジスタR1に格納する。図2にお
いてこの処理を行うタイミングは、タイミング1からタ
イミング2に移る時である。
In (6) storing the memory read data in the register file 1, the read data on the read data bus 104 is stored in the register R 1 through the bypass 110 and the selector 16. In FIG. 2, the timing at which this processing is performed is when the timing 1 shifts to the timing 2.

【0048】また、上記(7)アドレスレジスタ18、
19へのアドレス計算結果の格納においては、アドレス
計算回路21の出力を、アドレスレジスタA0に格納す
る。図2においてこの処理を行うタイミングは、タイミ
ング1からタイミング2に移る時である。
Further, (7) the address register 18,
In storing the address calculation result in the address register 19, the output of the address calculation circuit 21 is stored in the address register A0. In FIG. 2, the timing at which this processing is performed is when the timing 1 shifts to the timing 2.

【0049】なお、命令5の2回目以降の処理における
実行ステージは、図2のタイミング2以降に発生し、メ
モリデータ1ワード当たりの処理が1クロックサイクル
ごとに行われる。
The execution stage in the second and subsequent processing of instruction 5 occurs after timing 2 in FIG. 2, and processing per one word of memory data is performed every clock cycle.

【0050】次に、本実施例のデータ処理装置Aは、上
記のように、従来の5段パイプライン動作を行うマイク
ロプロセッサの構成にバイパスやセレクタを追加した構
成であることからマイクロプロセッサとしてのパイプラ
イン動作を実現できることは明らかである。本実施例の
データ処理装置Aの5段パイプライン動作を説明すると
以下のようになる。
Next, as described above, the data processing apparatus A of this embodiment has a configuration in which a bypass and a selector are added to the configuration of a conventional microprocessor that performs a five-stage pipeline operation. Obviously, a pipeline operation can be realized. The five-stage pipeline operation of the data processing device A according to the present embodiment will be described below.

【0051】命令フェッチ(IF)では、命令フェッチ
回路A1において、プログラムカウンタで示されるアド
レスに基づき、命令メモリが読み出され、読み出された
データが命令レジスタに格納される。
In the instruction fetch (IF), in the instruction fetch circuit A1, the instruction memory is read based on the address indicated by the program counter, and the read data is stored in the instruction register.

【0052】次に、命令デコード(ID)では、命令解
読/パイプライン制御回路A2において、命令レジスタ
を解読してレジスタファイルの読出しアドレス2つを生
成する。この読出しアドレスに基づき、レジスタファイ
ル1を読み出して、パイプラインレジスタ2、3に格納
する。また、命令解読/パイプライン制御回路A2にお
いて、命令レジスタを解読して、演算器制御信号等の制
御信号を生成する。なお、この制御信号は、命令解読/
パイプライン制御回路A2内で必要なサイクルだけ遅延
された後に、命令実行回路A3に入力されて演算器5等
の制御を行う。
Next, in the instruction decoding (ID), the instruction decoding / pipeline control circuit A2 decodes the instruction register to generate two read addresses of the register file. The register file 1 is read based on the read address and stored in the pipeline registers 2 and 3. The instruction decoding / pipeline control circuit A2 decodes the instruction register to generate a control signal such as an arithmetic unit control signal. In addition, this control signal is
After being delayed by a necessary cycle in the pipeline control circuit A2, it is input to the instruction execution circuit A3 to control the arithmetic unit 5 and the like.

【0053】次に、命令実行(EX)の場合の動作につ
いて説明する。以下では、演算命令、ロード命令、スト
ア命令の3つの場合に分けて説明する。まず、演算命令
の場合には、パイプラインレジスタ2内のデータがセレ
クタ13を通して演算器5に入力され、また、パイプラ
インレジスタ3内のデータがセレクタ4を通して演算器
5に入力されて、演算器5における演算結果がパイプラ
インレジスタ6に格納される。
Next, the operation in the case of the instruction execution (EX) will be described. In the following, three cases of an operation instruction, a load instruction, and a store instruction will be described separately. First, in the case of an operation instruction, the data in the pipeline register 2 is input to the arithmetic unit 5 through the selector 13, and the data in the pipeline register 3 is input to the arithmetic unit 5 through the selector 4. 5 is stored in the pipeline register 6.

【0054】また、ロード命令の場合には、パイプライ
ンレジスタ2のデータがセレクタ13を通してパイプラ
インレジスタ7に格納される。このパイプラインレジス
タ7の値がメモリ読出しアドレスとなる。
In the case of a load instruction, the data of the pipeline register 2 is stored in the pipeline register 7 through the selector 13. The value of the pipeline register 7 becomes a memory read address.

【0055】また、ストア命令の場合には、パイプライ
ンレジスタ2内のデータがセレクタ13を通してパイプ
ラインレジスタ7に格納され、また、パイプラインレジ
スタ3内のデータがセレクタ4を通してパイプラインレ
ジスタ22に格納される。このパイプラインレジスタ7
の値がメモリ書込みアドレスとなり、また、パイプライ
ンレジスタ22の値がメモリ書込みデータとなる。
In the case of a store instruction, data in pipeline register 2 is stored in pipeline register 7 through selector 13, and data in pipeline register 3 is stored in pipeline register 22 through selector 4. Is done. This pipeline register 7
Becomes the memory write address, and the value of the pipeline register 22 becomes the memory write data.

【0056】なお、ロード命令又はストア命令におい
て、ポインタとして使用したレジスタのポストインクリ
メント等を行う場合には、さらに、パイプラインレジス
タ2のデータをセレクタ13を通して演算器5に入力
し、インクリメント等の演算を行って、パイプラインレ
ジスタ6に格納する。
When post-increment or the like of a register used as a pointer is performed in a load instruction or a store instruction, data of the pipeline register 2 is further input to the arithmetic unit 5 through the selector 13 to perform an operation such as an increment. And store it in the pipeline register 6.

【0057】次に、メモリアクセス(MA)の場合の動
作について説明する。以下では、演算命令、ロード命
令、ストア命令の3つの場合に分けて説明する。まず、
演算命令の場合には、パイプラインレジスタ6のデータ
をセレクタ8を通してパイプラインレジスタ10に格納
する。
Next, the operation in the case of memory access (MA) will be described. In the following, three cases of an operation instruction, a load instruction, and a store instruction will be described separately. First,
In the case of an operation instruction, the data of the pipeline register 6 is stored in the pipeline register 10 through the selector 8.

【0058】また、ロード命令の場合には、パイプライ
ンレジスタ7のデータを、セレクタ14を通してアドレ
スバス103に出力する。そして、アドレスバス103
のアドレスに基づき、データメモリ25の読出しを行
い、読出しデータが読出しデータバス104に出力さ
れ、セレクタ9を通してパイプラインレジスタ11に格
納される。
In the case of a load instruction, the data of the pipeline register 7 is output to the address bus 103 through the selector 14. And the address bus 103
, The read data is output to the read data bus 104, and stored in the pipeline register 11 through the selector 9.

【0059】また、ストア命令の場合には、パイプライ
ンレジスタ7のデータを、セレクタ14を通してアドレ
スバス103に出力し、パイプラインレジスタ22のデ
ータを、セレクタ23を通して書込みデータバス111
に出力する。アドレスバス103のアドレスと書込みデ
ータバス111のデータに基づき、データメモリ25の
書込みを行う。
In the case of a store instruction, the data of the pipeline register 7 is output to the address bus 103 through the selector 14, and the data of the pipeline register 22 is output to the write data bus 111 through the selector 23.
Output to Based on the address on the address bus 103 and the data on the write data bus 111, writing to the data memory 25 is performed.

【0060】なお、ロード命令又はストア命令におい
て、ポインタとして使用したレジスタのポストインクリ
メント等を行う場合には、さらに、パイプラインレジス
タ6のデータをセレクタ8を通してパイプラインレジス
タ10に格納する。
When post-increment or the like of a register used as a pointer is performed in a load instruction or a store instruction, data of the pipeline register 6 is further stored in the pipeline register 10 through the selector 8.

【0061】次に、ライトバック(WB)の場合の動作
について説明する。以下では、演算命令、ロード命令、
ストア命令の場合について説明する。まず、演算命令の
場合には、パイプラインレジスタ10のデータを、セレ
クタ15を通してレジスタファイル1に書き込む。ま
た、ロード命令の場合には、パイプラインレジスタ11
のデータを、セレクタ16を通してレジスタファイル1
に書き込む。
Next, the operation in the case of write back (WB) will be described. In the following, operation instructions, load instructions,
The case of a store instruction will be described. First, in the case of an operation instruction, data of the pipeline register 10 is written into the register file 1 through the selector 15. In the case of a load instruction, the pipeline register 11
Of the register file 1 through the selector 16
Write to.

【0062】なお、ロード命令又はストア命令におい
て、ポインタとして使用したレジスタのポストインクリ
メント等を行う場合には、さらに、パイプラインレジス
タ10のデータをセレクタ15を通してレジスタファイ
ル1に書き込む。
In the case of performing a post-increment or the like of a register used as a pointer in a load instruction or a store instruction, data of the pipeline register 10 is further written into the register file 1 through the selector 15.

【0063】上記の3段パイプライン動作と5段パイプ
ライン動作を切り替えることにより、RISCアーキテ
クチャのマイクロプロセッサのパイプライン動作と、デ
ジタルシグナルプロセッサのパイプライン動作とを切り
替えて動作させることが可能となる。なお、マイクロプ
ロセッサのパイプライン動作に切り替えた場合と、デジ
タルシグナルプロセッサのパイプライン動作に切り替え
た場合とで、パイプラインレジスタに与えられるクロッ
ク周波数を切り替えるようにするのが好ましい。つま
り、マイクロプロセッサのパイプライン動作に切り替え
た場合のクロック周波数を、デジタルシグナルプロセッ
サのパイプライン動作に切り替えた場合のクロック周波
数よりも高くする。
By switching between the three-stage pipeline operation and the five-stage pipeline operation, the pipeline operation of the microprocessor of the RISC architecture and the pipeline operation of the digital signal processor can be switched and operated. . Note that it is preferable that the clock frequency given to the pipeline register be switched between when switching to the pipeline operation of the microprocessor and when switching to the pipeline operation of the digital signal processor. That is, the clock frequency when switching to the pipeline operation of the microprocessor is set higher than the clock frequency when switching to the pipeline operation of the digital signal processor.

【0064】以上のように、本実施例のデータ処理装置
A、特に、命令実行回路A3によれば、マイクロプロセ
ッサのデータパスにバイパス手段を設けることにより、
デジタルシグナルプロセッサのパイプライン動作を実現
することができ、マイクロプロセッサとデジタルプロセ
ッサの機能を1つのLSI上に搭載する上で、回路の重
複を防止でき、回路規模の縮小を図ることが可能とな
る。また、従来の場合(上記従来技術1)に、DSP演
算直後にその演算結果をメモリにストアしようとする
と、競合が発生してストールサイクルが生じて処理効率
が低下するという問題を回避することが可能となるた
め、高速なデジタル信号処理を行うためにデジタルシグ
ナルプロセッサとして動作する場合、演算性能を損なう
ことがない。
As described above, according to the data processing apparatus A of this embodiment, in particular, according to the instruction execution circuit A3, by providing bypass means in the data path of the microprocessor,
A pipeline operation of a digital signal processor can be realized, and when the functions of a microprocessor and a digital processor are mounted on one LSI, duplication of circuits can be prevented and the circuit size can be reduced. . Further, in the conventional case (conventional technology 1), if the operation result is to be stored in the memory immediately after the DSP operation, it is possible to avoid a problem that a contention occurs, a stall cycle occurs, and processing efficiency is reduced. Therefore, when the digital signal processor operates as a digital signal processor to perform high-speed digital signal processing, arithmetic performance is not impaired.

【0065】[0065]

【発明の効果】本発明に基づくデータ処理回路及びこれ
を有するデータ処理装置によれば、データパスにパイプ
ラインレジスタと並行に設けられたバイパス手段を設け
ることにより、デジタルシグナルプロセッサのパイプラ
イン動作を実現することができ、マイクロプロセッサと
デジタルプロセッサの機能を1つのLSI上に搭載する
上で、回路の重複を防止でき、回路規模の縮小を図るこ
とが可能となる。また、高速なデジタル信号処理を行う
ためにデジタルシグナルプロセッサとして動作する場
合、演算性能を損なうことがない。
According to the data processing circuit and the data processing apparatus having the same according to the present invention, the pipeline operation of the digital signal processor can be performed by providing the data path with bypass means provided in parallel with the pipeline register. In addition, when the functions of the microprocessor and the digital processor are mounted on one LSI, duplication of circuits can be prevented, and the circuit size can be reduced. In addition, when operating as a digital signal processor for performing high-speed digital signal processing, arithmetic performance is not impaired.

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

【図1】本発明の実施例に基づくデータ処理装置の構成
を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a data processing device based on an embodiment of the present invention.

【図2】従来の本発明の実施例に基づくデータ処理装置
の動作を示すタイムチャートである。
FIG. 2 is a time chart showing an operation of a data processing device according to a conventional embodiment of the present invention.

【図3】従来におけるデータ処理装置の構成を示すブロ
ック図である。
FIG. 3 is a block diagram showing a configuration of a conventional data processing device.

【図4】従来における構成の場合のストールサイクルに
ついて説明する説明図である。
FIG. 4 is an explanatory diagram illustrating a stall cycle in the case of a conventional configuration.

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

A データ処理装置 A1 命令フェッチ回路 A2 命令解読/パイプライン制御回路 A3 命令実行回路 1 レジスタファイル 2、3、6、7、10、11、22 パイプラインレジ
スタ 4、8、9、12、13、14、15、16、20、2
3 セレクタ 5 演算器 17 アドレス生成回路 18、19 アドレスレジスタ 21 アドレス計算回路 25 データメモリ 107、108、109、110、112 バイパス
A Data processing device A1 Instruction fetch circuit A2 Instruction decoding / pipeline control circuit A3 Instruction execution circuit 1 Register file 2, 3, 6, 7, 10, 11, 22 Pipeline register 4, 8, 9, 12, 13, 14 , 15, 16, 20, 2,
Reference Signs List 3 selector 5 arithmetic unit 17 address generating circuit 18, 19 address register 21 address calculating circuit 25 data memory 107, 108, 109, 110, 112 bypass

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 パイプラインレジスタを有してパイプラ
イン処理を行うデータ処理回路であって、 データパス上に設けられた1又は複数のバイパス手段で
あって、データの経路として、該バイパスを通過する場
合と該パイプラインレジスタに至る場合とを得ることが
できるバイパス手段を有し、マイクロプロセッサのパイ
プライン動作とデジタルシグナルプロセッサのパイプラ
イン動作との切替え動作を可能とすることを特徴とする
データ処理回路。
1. A data processing circuit having a pipeline register and performing pipeline processing, comprising one or a plurality of bypass means provided on a data path, the data processing circuit passing through the bypass as a data path. Data having a bypass means capable of obtaining a case in which the operation is performed and a case in which the operation reaches the pipeline register, and enabling a switching operation between a pipeline operation of a microprocessor and a pipeline operation of a digital signal processor. Processing circuit.
【請求項2】 上記データ処理回路が、上記バイパス手
段からの出力と、上記パイプラインレジスタの出力とを
選択出力する選択手段を有することを特徴とする請求項
1に記載のデータ処理回路。
2. The data processing circuit according to claim 1, wherein said data processing circuit has a selecting means for selecting and outputting an output from said bypass means and an output of said pipeline register.
【請求項3】 マイクロプロセッサのパイプライン動作
に切り替えた場合と、デジタルシグナルプロセッサのパ
イプライン動作に切り替えた場合とで、パイプラインレ
ジスタに与えられるクロック周波数を切り替えることを
特徴とする請求項1又は2に記載のデータ処理回路。
3. The clock frequency given to a pipeline register is switched between when switching to pipeline operation of a microprocessor and when switching to pipeline operation of a digital signal processor. 3. The data processing circuit according to 2.
【請求項4】 データ処理装置であって、 上記請求項1又は2又は3に記載のデータ処理回路と、 上記データ処理回路へのアドレス情報を生成するための
アドレス生成回路であって、上記デジタルシグナルプロ
セッサのパイプライン動作に切り替えた場合のアドレス
生成を行い、演算命令の演算とアドレス計算とを同時に
実行可能とするアドレス生成回路と、を有することを特
徴とするデータ処理装置。
4. A data processing device, comprising: the data processing circuit according to claim 1 or 2; and an address generation circuit for generating address information for the data processing circuit, wherein A data processing device, comprising: an address generation circuit that generates an address when switching to a pipeline operation of a signal processor and enables simultaneous execution of operation of an operation instruction and address calculation.
JP26880499A 1999-09-22 1999-09-22 Data processing circuit and data processor Pending JP2001092658A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26880499A JP2001092658A (en) 1999-09-22 1999-09-22 Data processing circuit and data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26880499A JP2001092658A (en) 1999-09-22 1999-09-22 Data processing circuit and data processor

Publications (1)

Publication Number Publication Date
JP2001092658A true JP2001092658A (en) 2001-04-06

Family

ID=17463508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26880499A Pending JP2001092658A (en) 1999-09-22 1999-09-22 Data processing circuit and data processor

Country Status (1)

Country Link
JP (1) JP2001092658A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221149A (en) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd Reconfigurable integrated circuit device
KR101210274B1 (en) * 2008-12-19 2012-12-10 한국전자통신연구원 Processor capable of power consumption scaling
JP2014238777A (en) * 2013-06-10 2014-12-18 Necプラットフォームズ株式会社 Processing unit, processing method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210274B1 (en) * 2008-12-19 2012-12-10 한국전자통신연구원 Processor capable of power consumption scaling
JP2012221149A (en) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd Reconfigurable integrated circuit device
JP2014238777A (en) * 2013-06-10 2014-12-18 Necプラットフォームズ株式会社 Processing unit, processing method, and program

Similar Documents

Publication Publication Date Title
JP2002333978A (en) Vliw type processor
KR20040016829A (en) Exception handling in a pipelined processor
KR100471794B1 (en) Data processor having a variable number of pipeline stages
JPH11212786A (en) Data path for register base data processing and method
JP2001092662A (en) Processor core and processor using the same
JP3237858B2 (en) Arithmetic unit
US20070260857A1 (en) Electronic Circuit
US20240004663A1 (en) Processing device with vector transformation execution
JP3183844B2 (en) Variable pipeline stage data processor
JP2000322235A (en) Information processor
JP3541623B2 (en) Data processing device
US7134000B2 (en) Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information
US6670895B2 (en) Method and apparatus for swapping the contents of address registers
JP2001092658A (en) Data processing circuit and data processor
KR100278136B1 (en) Data processing device and data processing method
JP2584156B2 (en) Program-controlled processor
JP2861560B2 (en) Data processing device
US5784634A (en) Pipelined CPU with instruction fetch, execution and write back stages
US20050033939A1 (en) Address generation
JPH11119998A (en) Information processor
JP3526773B2 (en) Multiprocessor device and control method thereof
JP3325309B2 (en) Subroutine return instruction processing unit
JP2925842B2 (en) Pipeline processing equipment
JPH07200289A (en) Information processor
JP2001034603A (en) Product-sum operation processor