JPH0259960A - Digital signal processor - Google Patents
Digital signal processorInfo
- Publication number
- JPH0259960A JPH0259960A JP21184888A JP21184888A JPH0259960A JP H0259960 A JPH0259960 A JP H0259960A JP 21184888 A JP21184888 A JP 21184888A JP 21184888 A JP21184888 A JP 21184888A JP H0259960 A JPH0259960 A JP H0259960A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- ram
- output
- 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.)
- Granted
Links
- 235000019800 disodium phosphate Nutrition 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 235000019892 Stellar Nutrition 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、ディジタルシグナルプロセッサく以下、DS
Pという)、特にメモリのランタムアクセスを効率良く
行うDSPに関するものである。Detailed Description of the Invention (Field of Industrial Application) The present invention relates to a digital signal processor, hereinafter referred to as DS.
In particular, it relates to a DSP that efficiently performs random access to memory.
(従来の技術)
DSPは、ディジタル信号処理に多く存在する積和演算
を高速に実行するために開発されたディジタル信号処理
専用のマ、イクロプロセッサである。(Prior Art) A DSP is a microprocessor dedicated to digital signal processing that was developed to quickly execute multiply-accumulate operations, which are common in digital signal processing.
従来、この種のDSPとしては、昭和61年度電子通信
学会総合全国大会、塚越・米倉・野1」・安藤・官本・
水谷著[227032kbit/sADPCM C0
DECLSIの実現JP。Conventionally, this type of DSP was presented at the 1986 IEICE Comprehensive National Conference, Tsukagoshi, Yonekura, No1, Ando, Kanmoto,
Written by Mizutani [227032kbit/sADPCM C0
DECLSI Realization JP.
10−3に記載されるものがあった。以下、その構成を
図を用いて説明する。There was one described in 10-3. The configuration will be explained below using figures.
第2図は従来のDSPの一構成例を示す概略ブロック図
である。FIG. 2 is a schematic block diagram showing an example of the configuration of a conventional DSP.
このDSPは、制御部10、記憶部20、演算部30、
入出力(以下、Iloという)部40、及びデータバス
50等で構成されている。制御部10は、プログラムカ
ウンタ11、プログラム格納用の読み出し専用メモリ(
以下、ROMという)12、パイプラインレジスタ13
、及びデコーダ14を有している。記憶部20は、随時
読み書き可能なメモリ(以下、RA Mという)21、
RA Jl、’l用ポインタ22、ROM23、及びR
OIVI川ポイン用24を有している。演算部30は、
乗算器31、算術論理ユニット(以下、A L LJと
いう)32、アキュームレータ(以下、ACCという)
33、及びセレクタ34,35.36等により構成され
ている。また、I10部40は、I10レジスタ41及
び図示しないI、10バツフア等より構成されている。This DSP includes a control section 10, a storage section 20, a calculation section 30,
It is comprised of an input/output (hereinafter referred to as Ilo) section 40, a data bus 50, and the like. The control unit 10 includes a program counter 11 and a read-only memory for storing programs (
(hereinafter referred to as ROM) 12, pipeline register 13
, and a decoder 14. The storage unit 20 includes a memory (hereinafter referred to as RAM) 21 that can be read and written at any time;
RA Jl, 'l pointer 22, ROM23, and R
It has 24 for OIVI river points. The calculation unit 30 is
Multiplier 31, arithmetic logic unit (hereinafter referred to as A L LJ) 32, accumulator (hereinafter referred to as ACC)
33, and selectors 34, 35, 36, etc. Further, the I10 section 40 includes an I10 register 41, an I10 buffer (not shown), and the like.
以」−の構成において、例えば
A・=B・×LogC・・・・(1)
但し、B・、C・ ;変数(j=1〜10)の演算動作
を説明する。In the following configuration, for example, A.=B.×LogC...(1) However, B., C.; The calculation operation of variables (j=1 to 10) will be explained.
なお、変数B・ (i=1〜10)はRAM21に順番
に格納され、変数C1(i=1〜10)はI10レジス
タ41から出力され、対数(Log>変換用のテーブル
はROM2Bに格納され、演算結果A・はI10レジス
タ41に転送するものとする。In addition, the variable B (i=1 to 10) is stored in the RAM 21 in order, the variable C1 (i=1 to 10) is output from the I10 register 41, and the logarithm (Log> conversion table is stored in the ROM 2B). , the operation result A. shall be transferred to the I10 register 41.
(1)式の演算は、デコーダ14から出力される種々の
マイクロ命令により、次のステラフ責1〉〜(9〉に従
って順に実行されていく。The calculation of equation (1) is executed in order according to the following Stellar functions 1> to (9>) by various microinstructions output from the decoder 14.
(1) I10レジスタ41内の変数01をデータバ
ス50を介してポインタ24にセットする。(1) Set the variable 01 in the I10 register 41 to the pointer 24 via the data bus 50.
(2) RAM21に格納されている変数B・に対す
る最初のアドレス値を、パイプラインレジスタ13より
データバス50を通してポインタ21にセットする。(2) Set the first address value for the variable B· stored in the RAM 21 to the pointer 21 from the pipeline register 13 via the data bus 50.
(3) ポインタ22.24から出力されるアドレスデ
ータに従ってRAM21とROM23からそれぞれ変数
B1と対数値し。gClを出力し、セレクタ34.35
を通して乗算器31でB1×LogC1
を実行すると共に、ポインタ22をインクリメント(増
分)する。(3) In accordance with the address data output from pointers 22 and 24, calculate the logarithmic value of variable B1 from RAM 21 and ROM 23, respectively. Output gCl, selector 34.35
The multiplier 31 executes B1×LogC1 and increments the pointer 22.
(4) 乗算結果をALU32を介してACC32に格
納する。(4) Store the multiplication result in the ACC 32 via the ALU 32.
(5) ACC33に格納されている乗算結果をデー
タバス50を介して1/′0レジスタ41へ転送する。(5) Transfer the multiplication result stored in the ACC 33 to the 1/'0 register 41 via the data bus 50.
(6) I10レジスタ41内の変数02をデータバ
ス50を介してポインタ24にセットする。(6) Set variable 02 in I10 register 41 to pointer 24 via data bus 50.
(7) RAM21とROM23からそれぞれ変数B
2と対数値し。gC2を出力し、セレクタ34゜35を
通して乗算器31で
B2×LogC2
を実行すると共に、ポインタ22をインクリメントする
。(7) Variable B from RAM21 and ROM23 respectively
Logarithmically equal to 2. gC2 is output, and the multiplier 31 executes B2×LogC2 through the selectors 34 and 35, and the pointer 22 is incremented.
(8) 乗算結果をALU32を介してACC33に格
納する。(8) Store the multiplication result in the ACC 33 via the ALU 32.
(9) ACC3Bに格納されている乗算結果をデー
タバス50を介して丁/○レジスタ41へ転送する。(9) Transfer the multiplication result stored in ACC3B to the D/○ register 41 via the data bus 50.
以降、前記ステラフ責6)〜(9)を8回繰り返せば、
演算結果A1.0が得られる。After that, if you repeat steps 6) to (9) above eight times,
A calculation result A1.0 is obtained.
(発明が解決しようとする課題)
しかしながら、上記構成のDSPでは、次のような課題
があった。(Problems to be Solved by the Invention) However, the DSP with the above configuration has the following problems.
ポインタ24から出力されたアドレスデータにより、R
OM23に記憶されている被乗算データを乗算器31ヘ
ランダムに読出そうとすると、数命令を必要とする。例
えば、(1)式の演算を行う場合、41ステツプ数が必
要となる。これは、Loa変換するのに、I10レジス
タ41のデータをデータバス50を介してポインタ24
に転送しているため、この間、演算が実行できないこと
による。従って、従来のDSPでは、データ転送による
処理ネックのために、演算効率を向上させることが困難
であった。By the address data output from the pointer 24, R
If an attempt is made to randomly read the multiplicand data stored in the OM 23 to the multiplier 31, several instructions are required. For example, when calculating equation (1), 41 steps are required. This allows the data in the I10 register 41 to be transferred to the pointer 24 via the data bus 50 for Loa conversion.
This is because operations cannot be executed during this time because the data is being transferred to. Therefore, in conventional DSPs, it has been difficult to improve calculation efficiency due to processing bottlenecks caused by data transfer.
本発明は前記従来技術が持っていた課題として、データ
転送による処理ネックにより、演算効率が低いという点
について解決したDSPを提供するものである。The present invention provides a DSP that solves the problem of the prior art, which is low computational efficiency due to processing bottlenecks caused by data transfer.
(課題を解決するための手段)
本発明は前記課題を解決するために、プログラムデータ
を格納するプログラムメモリ、前記プログラムデータを
順次読出すためのプログラムカウンタ等の続出し手段、
及び前記プログラムメモリから読出されたプログラムデ
ータに基づいて複数のマイクロ命令を出力するデコーダ
等の手段を有する制御部と、被演算データをそれぞれ記
憶する第1.第2の記憶手段を有する記憶部と、前記第
1、第2の記憶手段から出力されるデータの乗算を行う
乗算器、前記乗算器の出力側に接続されたALU、及び
前記ALUの出力を一時保持しその出力を前記ALUに
入力するACCを有する演算部と、前記制御部、記憶部
及び演算部間のデータ転送を行うデータバスとを備えた
DSPにおいて、前記第1の記憶手段は、RAM’″C
′構成し、前記第2の記憶手段は、ROM及びRAMを
有し、その一方のメモリのアドレス指定を他方のメモリ
で行う構成にしたものである。(Means for Solving the Problems) In order to solve the above problems, the present invention provides a program memory for storing program data, successive reading means such as a program counter for sequentially reading out the program data,
and a control unit having means such as a decoder that outputs a plurality of microinstructions based on the program data read from the program memory, and a first . a storage section having a second storage means; a multiplier that multiplies data output from the first and second storage means; an ALU connected to the output side of the multiplier; In the DSP, the first storage means includes a calculation unit having an ACC that temporarily holds the output and inputs the output to the ALU, and a data bus that transfers data between the control unit, the storage unit, and the calculation unit. RAM'''C
The second storage means has a ROM and a RAM, and the addressing of one memory is performed by the other memory.
(作用)
本発明によれば、以上のようにDSPを+1N成しなの
で、第2の記憶手段におけるROM及びRAMのうち、
他方のメモリに予めアドレスを書込んでおけば、この他
方のメモリは、制御部から出力されるマイクロ命令に従
って、アドレスデータを出力しCデータバスを介さずに
直接、一方のメモリに対するアドレス指定を行い、その
一方のメモリ内のデータを出力させる。これにより、ラ
ンダムなアドレス指定に対する命令数の削減と、データ
バスを用いた並列命令の同時実行が可能となる。従って
、前記課題を解決できるのである。(Function) According to the present invention, since the DSP is +1N as described above, among the ROM and RAM in the second storage means,
If an address is written in the other memory in advance, this other memory will output address data in accordance with the microinstructions output from the control unit and can directly specify the address for the other memory without going through the C data bus. and output the data in one memory. This makes it possible to reduce the number of instructions for random addressing and to simultaneously execute parallel instructions using a data bus. Therefore, the above problem can be solved.
(実施例)
第1図は本発明の第1の実施例を示すD S Pの概略
の構成ブロック図である。(Embodiment) FIG. 1 is a schematic block diagram of a DSP showing a first embodiment of the present invention.
このDSPは、MO3集結回路またはCMO3(相補的
MO8>集積回路で構成されており、DSP全体を制御
する制御部60、データ記憶用の記憶部70、演算を行
う演算部80、データの入出力を行う110部90、及
びそれらの間のデータ転送を行うデータバス100等を
備えている。This DSP is composed of an MO3 integrated circuit or CMO3 (complementary MO8>integrated circuit), and includes a control section 60 that controls the entire DSP, a storage section 70 for storing data, an arithmetic section 80 that performs calculations, and a data input/output 110 section 90, and a data bus 100 for data transfer between them.
制御部60は、アドレスデータを出力するプログラムカ
ウンタ61を有し、そのプログラムカウンタ61の出力
例1に、プログラムROM62、パイプラインレジスタ
63、及びデコーダ64が順に接続されている。プログ
ラムROM62は、プログラムデータを格納し、プログ
ラムカウンタ61のアドレスデータにより、所定の制御
データを出力するメモリである。パイプラインレジスタ
63は、プログラムRO]VI62から出力された制御
データを一時記憶し、例えば記憶部70内のデータをラ
ンダムアクセスするためのアドレスデータ563aをデ
ータバス100へ出力すると共に、制御テ“−タ563
bをテ′コーダ64へ出力する機能を有している。デコ
ーダ64は、制御データ563bを解読して記憶部70
、演算部80、及び110部90へ扛々のマイクロ命令
S 6 tlを出力する回路である。The control unit 60 has a program counter 61 that outputs address data, and a program ROM 62, a pipeline register 63, and a decoder 64 are connected in this order to output example 1 of the program counter 61. The program ROM 62 is a memory that stores program data and outputs predetermined control data based on the address data of the program counter 61. The pipeline register 63 temporarily stores the control data output from the program VI 62, outputs address data 563a for randomly accessing data in the storage section 70 to the data bus 100, and also outputs the control data 563a to the data bus 100. Ta563
It has a function of outputting the data b to the encoder 64. The decoder 64 decodes the control data 563b and stores it in the storage unit 70.
, arithmetic unit 80, and 110 unit 90.
記憶部70は、例えばアップ/ダウンカウンタで構成さ
れるポインタ71,72.73と、セレクタ74と、第
1の記憶手段であるRAM75と、第2の記憶手段であ
るRAM76及びROM77とを備え、データバス10
0がポインタ71を介してRAM75に接続され、その
RAM75がデータバス100に対して双方向に接続さ
れている。The storage unit 70 includes pointers 71, 72, and 73 composed of, for example, up/down counters, a selector 74, a RAM 75 as a first storage means, and a RAM 76 and a ROM 77 as second storage means. data bus 10
0 is connected to a RAM 75 via a pointer 71, and the RAM 75 is bidirectionally connected to a data bus 100.
データバス100はポインタ72を介してRAM76に
接続され、そのRAM76がデータバス100に対して
双方向に接続されると共に、セレクタ74を介してポイ
ンタ73に接続されている。Data bus 100 is connected to RAM 76 via pointer 72 , and RAM 76 is bidirectionally connected to data bus 100 as well as to pointer 73 via selector 74 .
ポインタ73はROM?7に接続され、そのROM77
がデータバス100に接続されている。Is pointer 73 a ROM? 7 and its ROM77
is connected to data bus 100.
ポインタ71は、パイプラインレジスタ63、演算部8
0まなはI10部90から出力されたアドレスデータ5
71aを一時記憶し、インクリメントまたはディクリメ
ント(減分)されたアドレスデータ571bをRAM7
5へ出力する回路である。RAM75は、アドレスデー
タ571bに従って、例えばデータバス100上の演算
結果データS75を記憶したり、記憶した演算結果デー
タS75をテ′−タバス100へ出力する機能を有して
いる。ポインタ72は、パイプラインレジスタ63、演
算部80またはI10部90からデータバス100へ出
力されたアドレスデータ572aに従って、インクリメ
ントまたはディクリメントされたアドレスデータ572
bをRAM76へ出力する回路て′ある。RAM76は
、ROM 77をランダムアクセスするためのデータバ
ス100上のデータS76を記憶し、アドレスデータ5
72bに従って記憶データS76をデータバス100及
びセレクタ74へ出力する機能を有している。セレクタ
74は、マイクロ命令S64に従って、データバス10
0JxのアドレスデータまたはRAM76から出力され
たアドレスデータ376を選択的にポインタ73へ出力
する回路である。ポインタ73は、セレクタ74から出
力されたアドレスデータに従って、インクリメントまた
はディクリメントされたアドレスデータ873をROM
77へ出力する回路である。ROM77は、乗算すべき
被演算データS77を格納し、アドレスデータS73に
従って記憶データS77をデータバス100、及び後述
するセレクタを介して乗算器へ出力する機能を有してい
る。The pointer 71 indicates the pipeline register 63 and the arithmetic unit 8.
Address data 5 output from I10 section 90
71a is temporarily stored, and the incremented or decremented address data 571b is stored in the RAM 7.
This is a circuit that outputs to 5. The RAM 75 has a function of storing, for example, calculation result data S75 on the data bus 100 and outputting the stored calculation result data S75 to the data bus 100 according to the address data 571b. The pointer 72 receives address data 572 that is incremented or decremented according to the address data 572a output from the pipeline register 63, the arithmetic unit 80, or the I10 unit 90 to the data bus 100.
There is a circuit for outputting the data b to the RAM 76. The RAM 76 stores data S76 on the data bus 100 for randomly accessing the ROM 77, and stores address data 5.
It has a function of outputting the stored data S76 to the data bus 100 and the selector 74 in accordance with 72b. Selector 74 selects data bus 10 according to microinstruction S64.
This circuit selectively outputs address data 0Jx or address data 376 output from the RAM 76 to the pointer 73. The pointer 73 transfers address data 873 that is incremented or decremented according to the address data output from the selector 74 to the ROM.
This is a circuit that outputs to 77. The ROM 77 has a function of storing operand data S77 to be multiplied and outputting the stored data S77 to the multiplier via the data bus 100 and a selector described later in accordance with address data S73.
演q8部80は、セレクタ81,82.83、乗算器8
4、ALU85、及びACC86を備え、RAiV17
5の出力側及びデータバス100に接続されたセレクタ
81と、ROM77の出力側及び゛データバス100に
接続されたセレクタ82とが、乗算器84に接続されて
いる。乗算器8/1の出力側とデータバス100とがセ
レクタ83を介してALU85の一方の入力側に接続さ
れ、そのA1..185の出力(則がACC86を介し
てA L U 85の他方の入力側及びデータバス10
0に接続されている。The operation q8 unit 80 includes selectors 81, 82, 83, and a multiplier 8.
4, equipped with ALU85 and ACC86, RAiV17
A selector 81 connected to the output side of the ROM 77 and the data bus 100, and a selector 82 connected to the output side of the ROM 77 and the data bus 100 are connected to the multiplier 84. The output side of the multiplier 8/1 and the data bus 100 are connected to one input side of the ALU 85 via the selector 83, and the A1. .. The output of 185 (the other input side of ALU 85 via ACC 86 and the data bus 10
Connected to 0.
セレクタ81は、マイクロ命令S64に従って、RAM
75の出力データとデータバス100上のデータを選択
的に乗算器84へ出力する回路である。セレクタ82は
、マイクロ命令S64に従って、ROM77の出力デー
タとデータバス100上のデータを選択的に乗算器84
へ出力する回路である。乗算器84は、セレクタ81.
82の出力データに対して乗算を行い、その乗算結果8
4をセレクタ83に与える機12Fを有している。セレ
クタ83は、マイクロ命令S64に従って、乗算器84
の乗算結果S84またはデータバス100上のデータを
選択的にALU85へ出力する回路て゛ある。ALU8
5は、セレクタ83の出力データとACC86の出力デ
ータS86に従って算術論理演算を実行する回路である
。ACC86は、ALU85の演算結果S85を一時記
憶し、その記憶データS86をデータバス100及びA
L U85に出力するレジスタて°ある。The selector 81 selects the RAM according to the microinstruction S64.
This circuit selectively outputs the output data of 75 and the data on the data bus 100 to the multiplier 84. The selector 82 selectively converts the output data of the ROM 77 and the data on the data bus 100 into a multiplier 84 according to the microinstruction S64.
This is a circuit that outputs to. Multiplier 84 selector 81 .
Multiply the output data of 82, and the multiplication result 8
4 to the selector 83. The selector 83 selects the multiplier 84 according to the microinstruction S64.
There is a circuit for selectively outputting the multiplication result S84 or the data on the data bus 100 to the ALU 85. ALU8
5 is a circuit that performs arithmetic and logical operations according to the output data of the selector 83 and the output data S86 of the ACC 86. The ACC 86 temporarily stores the calculation result S85 of the ALU 85, and transfers the stored data S86 to the data bus 100 and the ALU 85.
There is a register that outputs to L U85.
入出力部90は、データー時記憶用のI10レジスタ9
1、及び図示しないI10バッファ等により構成され、
I10ポート101を通して外部からの入力データS9
0をデータバス100へ出力したり、データバス100
上のデータS90をI10ポート101へ出力する機能
を有している。The input/output unit 90 includes an I10 register 9 for storing data.
1, and an I10 buffer (not shown), etc.
Input data S9 from outside through I10 port 101
0 to the data bus 100,
It has a function of outputting the above data S90 to the I10 port 101.
第3図は第1図中のセレクタの構成例を示す回路図であ
る。FIG. 3 is a circuit diagram showing an example of the configuration of the selector in FIG. 1.
第1図中のセレクタ74.81〜83は、同一の回路で
構成されている。そのうち、例えばセレクタ74は、複
数の単位回路74−1〜74−Nを有し、それらの各単
位回路74−1〜74−Nが複数のナントゲート(以下
、NANDゲートという)でそれぞれ構成されている。Selectors 74, 81-83 in FIG. 1 are constructed of the same circuit. Among them, for example, the selector 74 has a plurality of unit circuits 74-1 to 74-N, and each of these unit circuits 74-1 to 74-N is composed of a plurality of NAND gates (hereinafter referred to as NAND gates). ing.
第4図は第1図のタイムチャートであり、この図を参照
しつつ第1図の演算動作を説明する。FIG. 4 is a time chart of FIG. 1, and the calculation operation of FIG. 1 will be explained with reference to this diagram.
例えば、前記(1)式
%式%
の演算を行う場合について説明する。なお、変数B・
(i=1〜10)はRAM75に順番に格納C
され、変数Cj (i−1〜10)は予めI10レジス
タ91からRAM76に順番に入力され、Log変換用
のテーブルはROM77に格納され、また演算結果A・
はI10レジスタ91に転送するものとする。For example, a case will be described in which the above formula (1) is calculated. In addition, variable B・
(i=1 to 10) are sequentially stored in the RAM 75, variables Cj (i-1 to 10) are input in advance from the I10 register 91 to the RAM 76 in order, and a log conversion table is stored in the ROM 77. Operation result A・
is transferred to the I10 register 91.
前記(1)式の演算は、デコーダ64から出力される種
々のマイクロ命令364により、次のステップ■〜■に
従って順に実行されていく。The calculation of equation (1) above is executed in order according to the following steps (1) to (2) by various microinstructions 364 output from the decoder 64.
■ パイプラインレジスタ63より、RAM76に格納
されている変数C・の最初のアドレス値をデータバス1
−00を通してポインタ72にセットする。■ The pipeline register 63 transfers the first address value of the variable C stored in the RAM 76 to the data bus 1.
-00 and set in pointer 72.
■ パイプラインレジスタ63より、R,AM75に格
納されている変数B・の最初のアドレス値をデータバス
100を通してポインタ71にセットすると共に、ポイ
ンタ72から出力されるアドレスデータ572bに従っ
て、RAM76からデータS76を出力し、そのデータ
S76をセレクタ74を介してポインタ73に入力する
。- From the pipeline register 63, set the first address value of the variable B stored in R, AM75 to the pointer 71 through the data bus 100, and according to the address data 572b output from the pointer 72, data S76 is transferred from the RAM 76. and inputs the data S76 to the pointer 73 via the selector 74.
■ ポインタ71.73から出力されるアドレスデータ
571b、873に従ってRAM75とRO]VI77
からそれぞれ変数B1と対数り。、C1を出力し、セレ
クタ81.82を通して乗算器84で、
B 1 xLogC1
を実行すると共に、ポインタ71.72をインクリメン
トする。■ RAM75 and RO according to address data 571b and 873 output from pointers 71 and 73] VI77
From the variable B1 and the logarithm, respectively. , C1, and executes B 1 xLogC1 in the multiplier 84 through the selector 81.82, and increments the pointer 71.72.
■ 乗算結果S84をセレクタ83及びALU85を介
してACC86に格納する。(2) The multiplication result S84 is stored in the ACC 86 via the selector 83 and ALU 85.
■ ACC86に格納されている乗算結果S86をデー
タバス100を介してI10レジスタ91へ転送すると
共に、ポインタ72から出力されるアドレスデータ57
2bに従ってRAM76からデータ876を出力し、そ
のデータS76をセレクタ74を介してポインタ73に
入力する。■ Transfer the multiplication result S86 stored in the ACC 86 to the I10 register 91 via the data bus 100, and also transfer the address data 57 output from the pointer 72.
2b, data 876 is output from the RAM 76, and the data S76 is input to the pointer 73 via the selector 74.
■ ポインタ71.”73から出力されるアドレスデー
タ571b、373に従ってRAM75とROM77か
らそれぞれ変数B2と対数り。gc2を出力し、セレク
タ81.82を通して乗算器84で、
B2xLogC2
を実行すると共に、ポインタ71.72をインクリメン
トする。■ Pointer 71. ``According to address data 571b and 373 output from RAM 75 and ROM 77, variable B2 and logarithm are output from RAM 75 and ROM 77, respectively. Output gc2, execute B2xLogC2 in multiplier 84 through selector 81.82, and increment pointer 71.72. do.
■ 乗算結果S84をセレクタ83及びA L、 tJ
85を介してACC86に格納する。■ Multiplication result S84 is sent to selector 83 and AL, tJ
85 and stored in the ACC 86.
■ ACC86に格納されている。乗算結果S86をデ
ータバス100を介してI10レジスタ91へ転送する
と共に、ポインタ72がら出力されるアドレスデータ5
72bに従ってRAM76からデータS76を出力し、
そのデータS76をセレクタ74を介してポインタ73
に入力する。■ Stored in ACC86. The multiplication result S86 is transferred to the I10 register 91 via the data bus 100, and the address data 5 output from the pointer 72 is
72b, outputs data S76 from RAM76,
The data S76 is passed to the pointer 73 via the selector 74.
Enter.
以降、前記ステップ■〜■を8回繰り返せば、演算結果
AIOが得られる。Thereafter, by repeating steps ① to ② eight times, the calculation result AIO can be obtained.
本実施例では、次のような利点を有している。This embodiment has the following advantages.
(a> 乗算すべきデータのアクセスをRAM76を
用いて行うようにしたので、予めこのRAM 76にア
ドレスを書込んでおくことにより、ROM77に対する
ランダムなアドレス指定を極めて少ないステップ数(命
令数)で行える。例えば、前記(1)式における10回
の乗算(Alb)を行う場合、従来のDSPでは41命
令が必要であったが、本実施例では32命令で実行でき
、命令数が約25%削減されたことになる。その」二、
RAM76の出力データS76をセレクタ74を通して
ポインタ73に与えることにより、n0M77をアクセ
スしており、この間、データバス100を占有していな
いため、データバス100を使うような並列命令、例え
ばACC86の出力データ(S86)をデータバス10
0を介して■10レジスタ91へ転送するという命令を
同時に実行できる。従って、ディジタル信号処理の高速
化及び高効率化が計れる。(a> Since the data to be multiplied is accessed using the RAM 76, by writing the address in the RAM 76 in advance, random addressing to the ROM 77 can be done with an extremely small number of steps (number of instructions). For example, when performing 10 multiplications (Alb) in equation (1) above, 41 instructions were required in a conventional DSP, but in this embodiment, it can be executed with 32 instructions, reducing the number of instructions by approximately 25%. This means that it has been reduced. 2.
By giving the output data S76 of the RAM 76 to the pointer 73 through the selector 74, n0M77 is accessed, and since the data bus 100 is not occupied during this time, parallel instructions that use the data bus 100, such as output data of ACC86, are accessed. (S86) to data bus 10
The instruction to transfer the data to the ■10 register 91 via 0 can be executed at the same time. Therefore, high speed and high efficiency of digital signal processing can be achieved.
(b) データバス100−ヒのデータをセレクタ7
4を通してポインタ73へ与えるようにすれば、データ
バス100上の(”EXの値により、ROTVI77を
アクセスすることが可能となる。(b) Selector 7 selects the data on data bus 100-hi.
4 to the pointer 73, the ROTVI 77 can be accessed by the value of ("EX" on the data bus 100.
第5図は本発明の第2の実施例を示すDSPの概略の構
成ブロック図であり、第1図中の要素と共通の要素には
同一の符号が付されている。FIG. 5 is a schematic structural block diagram of a DSP showing a second embodiment of the present invention, and elements common to those in FIG. 1 are given the same reference numerals.
このDSPでは、第1図の記憶部70に代えて、セレク
タ78を付方を比た記・瞳部70Aをデータバス100
に接続している。セレクタ78は、その入力側がROM
77及びRAM76の出力側に接続され、その出力側が
セレクタ82を介して乗算器84に接続されている。こ
のセレクタ78は、マイクロ命令S64により、ROM
77の出力テ゛−夕S77またはRAM76の出力デー
タS76を選択し、それをセレクタ82を介して乗算器
84に与える回路であり、例えば第3図のような回路で
構成されている。このようなセレクタ78を設けると、
RAM76の出力データS76を直接、乗算器84へ入
力することができ、それによって演算効率の向上が計れ
る。In this DSP, instead of the storage section 70 in FIG.
is connected to. The selector 78 has a ROM on its input side.
77 and the output side of RAM 76, and the output side thereof is connected to multiplier 84 via selector 82. This selector 78 is set to ROM by microinstruction S64.
This circuit selects the output data S77 of the RAM 77 or the output data S76 of the RAM 76 and supplies it to the multiplier 84 via the selector 82, and is constructed of, for example, a circuit as shown in FIG. When such a selector 78 is provided,
The output data S76 of the RAM 76 can be input directly to the multiplier 84, thereby improving the calculation efficiency.
第6図は本発明の第3の実施例を示すDSPの概略の構
成ブロック図であり、第5図中の要素と共通の要素には
同一の符号が付されている。FIG. 6 is a schematic structural block diagram of a DSP showing a third embodiment of the present invention, and elements common to those in FIG. 5 are given the same reference numerals.
このDSPでは、第5図の記憶部70Aに代えて、RA
M76とROM77を置き換えた記憶部70Bをデータ
バス100に接続している。In this DSP, instead of the storage section 70A in FIG.
A storage section 70B in which M76 and ROM 77 are replaced is connected to the data bus 100.
この記憶部70Bでは、R,0M76のアドレス値とし
てROM77の出力値を使うことで、ROM77に格納
されている。固定的なデータにより、RAM76をアク
セスすることができ、それによって第1および第2の実
施例とほぼ同様の利点が得られる。In this storage section 70B, the output value of the ROM 77 is used as the address value of R,0M76, so that it is stored in the ROM 77. Fixed data allows RAM 76 to be accessed, thereby providing substantially the same advantages as the first and second embodiments.
なお、本発明は図示の実施例に限定されず、種々の変形
が可能である。その変形例としては、例えば次のような
ものがある。Note that the present invention is not limited to the illustrated embodiment, and various modifications are possible. Examples of such modifications include the following.
(イ) 第5図において、ROM77をRAMに置き換
えれば、データの書き換えが可能となる。(a) In FIG. 5, if the ROM 77 is replaced with a RAM, data can be rewritten.
但し、ROMに比べてRAMは形成面積が大きいので、
記憶部70Aの占有面積が増大する。However, since RAM has a larger formation area than ROM,
The area occupied by the storage unit 70A increases.
(ロ) 演算部80に、レジスタや乗算器等の他の回路
を付加してもよい。(b) Other circuits such as registers and multipliers may be added to the arithmetic unit 80.
(発明の効果)
以上詳細に説明したように、本発明によれば、第2の記
憶手段をROM及びRAMで構成し、−方のメモリのア
ドレス指定を他方のメモリで行う構成にしたので、他方
のメモリにアドレスを書込んでおけば、一方のメモリに
対するランダムなアドレス指定を、極めて少ない命令数
(例えは、1命令)て行え、その上、アドレス指定期間
はデータバスを占有しないなめ、データバスをf吏うよ
うな並列命令を同時に実行でき、それによってディジタ
ル信号処理の高速化及び高効率化が期待できる。(Effects of the Invention) As described above in detail, according to the present invention, the second storage means is composed of a ROM and a RAM, and the addressing of the negative memory is performed by the other memory. By writing an address in the other memory, random addressing to one memory can be performed with an extremely small number of instructions (for example, one instruction), and in addition, the data bus is not occupied during the addressing period. Parallel instructions such as those that operate on a data bus can be executed simultaneously, and as a result, digital signal processing can be expected to be faster and more efficient.
第1図は本発明の第1の実施例を示すD S Pの構成
ブロック図、第2図は従来のDSPの構成ブロック図、
第3図は第1図中のセレクタの回路図、第4図は第1図
のタイムチャート、第5図及び第6図は本発明の第2.
第3の実施例を示すDSPの構成ブロック図である。
60・・・・・・制御部、61・・・・・・プログラム
カウンタ、62・・・・・・プログラムROM、63・
・・・・・パイプラインレジスタ、64・・・・・・デ
コーダ、70.70A。
70B・・・・・・記憶部、71,72.73・・・・
・・ポインタ、74.78・・・・・・セレクタ、75
.76・・曲RAM、77・・・・・・ROM、8o・
・・・・・演算部、84・・・・・・乗算器、85・・
・・・・ALU、86・・・・・・ACC190・・・
・・・I10部。FIG. 1 is a configuration block diagram of a DSP showing a first embodiment of the present invention, FIG. 2 is a configuration block diagram of a conventional DSP,
3 is a circuit diagram of the selector in FIG. 1, FIG. 4 is a time chart of FIG. 1, and FIGS. 5 and 6 are a circuit diagram of the selector of the present invention.
FIG. 7 is a configuration block diagram of a DSP showing a third embodiment. 60... Control unit, 61... Program counter, 62... Program ROM, 63...
... Pipeline register, 64 ... Decoder, 70.70A. 70B...Storage section, 71, 72.73...
...Pointer, 74.78...Selector, 75
.. 76...Tune RAM, 77...ROM, 8o...
... Arithmetic section, 84 ... Multiplier, 85 ...
...ALU, 86...ACC190...
...Part I10.
Claims (1)
ログラムデータを順次読出すための読出し手段、及び前
記プログラムメモリから読出されたプログラムデータに
基づいて複数のマイクロ命令を出力する手段を有する制
御部と、 被演算データをそれぞれ記憶する第1、第2の記憶手段
を有する記憶部と、 前記第1、第2の記憶手段から出力されるデータの乗算
を行う乗算器、前記乗算器の出力側に接続された算術論
理ユニット、及び前記算術論理ユニットの出力を一時保
持しその出力を前記算術論理ユニットに入力するアキュ
ムレータを有する演算部と、 前記制御部、記憶部及び演算部間のデータ転送を行うデ
ータバスとを備えたディジタルシグナルプロセッサにお
いて、 前記第1の記憶手段は、随時読み書き可能なメモリで構
成し、 前記第2の記憶手段は、読出し専用メモリ、及び随時読
み書き可能なメモリを有し、その一方のメモリのアドレ
ス指定を他方のメモリで行う構成にしたことを特徴とす
るディジタルシグナルプロセッサ。[Scope of Claims] A control system comprising a program memory for storing program data, reading means for sequentially reading the program data, and means for outputting a plurality of microinstructions based on the program data read from the program memory. a storage unit having first and second storage means for storing operand data, respectively; a multiplier that multiplies data output from the first and second storage means; an output of the multiplier; an arithmetic logic unit connected to the side, and an arithmetic unit having an accumulator that temporarily holds the output of the arithmetic logic unit and inputs the output to the arithmetic logic unit; and data transfer between the control unit, the storage unit, and the arithmetic unit. In the digital signal processor, the first storage means includes a memory that can be read and written at any time, and the second storage means includes a read-only memory and a memory that can be read and written at any time. A digital signal processor characterized in that the addressing of one memory is specified by the other memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63211848A JP2577452B2 (en) | 1988-08-26 | 1988-08-26 | Digital signal processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63211848A JP2577452B2 (en) | 1988-08-26 | 1988-08-26 | Digital signal processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0259960A true JPH0259960A (en) | 1990-02-28 |
JP2577452B2 JP2577452B2 (en) | 1997-01-29 |
Family
ID=16612593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63211848A Expired - Fee Related JP2577452B2 (en) | 1988-08-26 | 1988-08-26 | Digital signal processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2577452B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56101266A (en) * | 1980-01-18 | 1981-08-13 | Nec Corp | Processor for signal processing |
JPS61283273A (en) * | 1985-06-10 | 1986-12-13 | Fuji Xerox Co Ltd | Copying device |
-
1988
- 1988-08-26 JP JP63211848A patent/JP2577452B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56101266A (en) * | 1980-01-18 | 1981-08-13 | Nec Corp | Processor for signal processing |
JPS61283273A (en) * | 1985-06-10 | 1986-12-13 | Fuji Xerox Co Ltd | Copying device |
Also Published As
Publication number | Publication date |
---|---|
JP2577452B2 (en) | 1997-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR880011681A (en) | Memory-Connected Wavefront Array Processors | |
JPS6297060A (en) | Digital signal processor | |
JPH0248931B2 (en) | ||
JPH0259960A (en) | Digital signal processor | |
JPS59178544A (en) | Memory access circuit | |
JPH07110769A (en) | Vliw type computer | |
JPS59106043A (en) | Pipeline operating circuit | |
JP3088956B2 (en) | Arithmetic unit | |
JPS6230455B2 (en) | ||
JPS60129853A (en) | Address generating device | |
JPH037971B2 (en) | ||
JP3441847B2 (en) | Processor with data memory | |
JP2697619B2 (en) | N-point FFT dedicated processor | |
JP2674747B2 (en) | Signal processor | |
JPH0234058B2 (en) | ||
JPS61196371A (en) | Vector processor | |
JP3723311B2 (en) | Parallel processor | |
JPS59188900A (en) | Data processor | |
JPH01189727A (en) | Information processor | |
JPH01237838A (en) | Digital signal processing system | |
JPH0740658B2 (en) | Address generation circuit | |
JPS5965378A (en) | Register connecting processing system of vector processor | |
JPS61282933A (en) | Digital signal processor | |
JPS59176919A (en) | Digital signal processor | |
JPH0283734A (en) | Parallel processing system for digital signal processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |