JPH10326187A - Digital signal processor and integrated circuit - Google Patents

Digital signal processor and integrated circuit

Info

Publication number
JPH10326187A
JPH10326187A JP9133472A JP13347297A JPH10326187A JP H10326187 A JPH10326187 A JP H10326187A JP 9133472 A JP9133472 A JP 9133472A JP 13347297 A JP13347297 A JP 13347297A JP H10326187 A JPH10326187 A JP H10326187A
Authority
JP
Japan
Prior art keywords
instruction
code
rom
line
output
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
JP9133472A
Other languages
Japanese (ja)
Inventor
Hiroshi Ii
浩志 井伊
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP9133472A priority Critical patent/JPH10326187A/en
Publication of JPH10326187A publication Critical patent/JPH10326187A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PROBLEM TO BE SOLVED: To increase the total operation speed of a digital signal processor by generating codes from one instruction code in an instruction ROM and controlling internal circuits with those instruction codes. SOLUTION: A ROM address counter 1 specifies an address of the instruction ROM 2 and an instruction code stored in the instruction ROM 2 is outputted from the specified address to a ROM data converter 3. The ROM data converter 3 processes part or the whole of the instruction code by bit inversion, etc., to convert the instruction code into more than one codes. For the block of those codes, the control signal by the ROM data converter 3 is outputted under the control of a system controller 4.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、インストラクショ
ン(命令)コードで内部の制御を行うデジタルシグナル
プロセッサ(DSP)、あるいは、同様にインストラク
ションコードで内部の制御を行うマイクロコンピュータ
を含む集積回路(特にLSI)に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processor (DSP) for performing internal control by an instruction (instruction) code or an integrated circuit (particularly, an LSI) including a microcomputer for similarly performing internal control by an instruction code. ).

【0002】[0002]

【従来の技術】インストラクションコードで内部の制御
を行う従来のデジタルシグナルプロセッサにおいては、
1つのインストラクションコードで1つの動作を行うよ
うに構成されていた。なお、従来の技術に係るデジタル
シグナルプロセッサの詳細については、説明の都合上、
「発明の実施の形態」の(実施の形態1)において説明
することとする。
2. Description of the Related Art In a conventional digital signal processor in which internal control is performed by an instruction code,
One operation is performed by one instruction code. For details of the digital signal processor according to the related art,
This will be described in (Embodiment 1) of the “Embodiment of the Invention”.

【0003】[0003]

【発明が解決しようとする課題】デジタルシグナルプロ
セッサの動作速度を上げようとすると、内蔵されている
インストラクションROM自体の動作速度を上げる必要
がある。基本的にLSIの動作速度を上げるためには、
電圧を上げて電流を多く流すようにすることが一般的で
あり、そのためには電流の通路であるパターンの抵抗値
を下げる必要がある。これを簡単に実現する対策として
パターンを広くすることが通常であり、そうするとイン
ストラクションROMを構成するLSIチップの面積が
必然的に大きくなってしまう。そしてこれが消費電力の
増加につながる。しかも、インストラクションROMの
動作速度はLSI内部のゲートに比べて数十分の一の動
作速度しかなく、動作速度を上げることは容易ではな
い。
In order to increase the operating speed of a digital signal processor, it is necessary to increase the operating speed of a built-in instruction ROM itself. Basically, to increase the operating speed of LSI,
In general, it is necessary to increase the voltage so that a large amount of current flows, and for this purpose, it is necessary to reduce the resistance value of the pattern, which is the path of the current. As a countermeasure for easily realizing this, it is usual to widen the pattern, and in that case, the area of the LSI chip constituting the instruction ROM necessarily becomes large. This leads to an increase in power consumption. In addition, the operation speed of the instruction ROM is only one tenth of the operation speed of the gate inside the LSI, and it is not easy to increase the operation speed.

【0004】本発明は、このような事情に鑑みて創案さ
れたものであって、製作上の困難性を伴うインストラク
ションROMの動作速度の向上に拘泥することなく、デ
ジタルシグナルプロセッサあるいは集積回路自体として
の全体的な動作速度を実質的に向上させることを目的と
している。
The present invention has been made in view of such circumstances, and has been developed as a digital signal processor or an integrated circuit itself without being restricted to the improvement of the operation speed of an instruction ROM accompanied by manufacturing difficulties. It is intended to substantially improve the overall operation speed of the.

【0005】[0005]

【課題を解決するための手段】本発明に係るデジタルシ
グナルプロセッサは、インストラクションROMから出
力されるインストラクションコードの一部または全部を
ビット反転する等なんらかの方式で加工することによ
り、1つのインストラクションコードから複数のコード
を作り、これらのインストラクションコードにより内部
の複数の回路を制御するように構成したもので、インス
トラクションROMの動作速度を上げるといった困難性
に拘泥することなく、デジタルシグナルプロセッサ自体
としての全体的な動作速度を実質的に向上させることが
できる。特に、N進カウンタを用いて制御する場合に
は、見かけ上の速度をN倍にすることができる。
According to the digital signal processor of the present invention, a plurality of instruction codes output from an instruction ROM are processed by a method such as bit inversion of a part or all of the instruction codes. And a plurality of internal circuits are controlled by these instruction codes.Without being bound by the difficulty of increasing the operation speed of the instruction ROM, the overall digital signal processor itself is constructed. The operating speed can be substantially improved. In particular, when controlling using an N-ary counter, the apparent speed can be increased by N times.

【0006】また、ビット反転するか否かを決定する制
御コードを持たせたり、N進カウントのカウント値の有
効性を決定する制御コードを持たせることにより、必要
な部分に対してのみ前記の加工を行うようにし、動作速
度を上げることに伴う必要以上の消費電力の増加を防ぐ
ことができる。
[0006] Further, by providing a control code for determining whether or not to invert bits, or providing a control code for determining the validity of a count value of an N-ary count, the above-mentioned only for a necessary portion is provided. Processing can be performed to prevent an unnecessary increase in power consumption due to an increase in operation speed.

【0007】[0007]

【発明の実施の形態】以下、本発明に係るデジタルシグ
ナルプロセッサの具体的な実施の形態について、図面に
基づいて詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, specific embodiments of a digital signal processor according to the present invention will be described in detail with reference to the drawings.

【0008】〔デジタルシグナルプロセッサの一般的構
成〕図1はデジタルシグナルプロセッサの主要部の構成
を示すブロック図である。図1において、1はインスト
ラクションROM2のアドレスを指定するためのROM
アドレスカウンタ、2はインストラクション(命令)コ
ードが格納されているインストラクションROM(内蔵
ROM)、3はインストラクションROM2から出力さ
れたインストラクションコードを、本発明の方式に従っ
て変換するROMデータ変換器、4は符号5から16ま
でのブロックに対してROMデータ変換器3によるコン
トロール信号を出力するシステムコントローラ、5はデ
ータの一時待機用のテンポラリーレジスタ、6は計算等
に使用する定数を格納しているテーブルROM(内蔵R
OM)、7はデータ格納用のRAM(内蔵RAM)、8
は乗算器(マルチプライヤ)、9は加減算・論理演算な
どを行うALU(論理演算ユニット)、10(ACC
0),11(ACC1)はALU9からの出力を待避す
る第1および第2の待避レジスタ(アキュムレータ)、
12は計算結果などのデータが転送されるデータバス、
13は条件ジャンプ用の第1のカウントレジスタ(0)
で、値が設定されると、判定条件(JC0またはJNC
0)が実行されるたびに1ずつカウントダウンされる。
14は同様の条件ジャンプ用の第2のカウントレジスタ
(1)で、値が設定されると、判定条件(JC1または
JNC1)が実行されるたびに1ずつカウントダウンさ
れる。15はRAM7に対するアドレス指定用のRAM
アドレスカウンタで、インクリメントビット“Ra co”
に“1”が設定されると1ずつカウントアップし、カウ
ンタの値をRAM7のアドレスとして出力する。16は
テーブルROM6に対するアドレス指定用のROMアド
レスカウンタで、インクリメントビット“Ro co”に
“1”が設定されると1ずつカウントアップし、カウン
タの値をテーブルROM6のアドレスとして出力する。
[General Structure of Digital Signal Processor] FIG. 1 is a block diagram showing the structure of a main part of a digital signal processor. In FIG. 1, reference numeral 1 denotes a ROM for designating an address of an instruction ROM 2.
An address counter 2, an instruction ROM (built-in ROM) in which instruction (instruction) codes are stored, a ROM data converter 3 for converting an instruction code output from the instruction ROM 2 according to the method of the present invention, and a reference numeral 5 A system controller for outputting a control signal from the ROM data converter 3 to the blocks from 1 to 16; 5, a temporary register for temporarily waiting data; 6, a table ROM (built-in) for storing constants used for calculations and the like. R
OM), 7 is a RAM for storing data (built-in RAM), 8
Is a multiplier (multiplier), 9 is an ALU (logical operation unit) that performs addition / subtraction / logical operation, etc., 10 (ACC
0) and 11 (ACC1) are first and second save registers (accumulators) for saving the output from the ALU 9;
12 is a data bus to which data such as calculation results are transferred,
13 is a first count register (0) for conditional jump
When the value is set, the judgment condition (JC0 or JNC
Each time (0) is executed, the countdown is performed by one.
Reference numeral 14 denotes a second count register (1) for a conditional jump. When a value is set, the count is decremented by one each time a judgment condition (JC1 or JNC1) is executed. 15 is a RAM for addressing the RAM 7
In the address counter, increment bit "Ra co"
Is set to "1", the count is incremented by one, and the value of the counter is output as an address of the RAM 7. Reference numeral 16 denotes a ROM address counter for specifying an address for the table ROM 6. When an increment bit "Ro co" is set to "1", the ROM address counter 16 counts up by one and outputs the value of the counter as an address of the table ROM 6.

【0009】(従来技術の説明)図2の(a)はインス
トラクションROM2に格納されているインストラクシ
ョンコードをアセンブラに基づいて呼び出すための変換
コードの構造を示し、図2の(b)は変換コードの各構
成要素の具体的内容を示す。この図2に示すものは従来
の技術に係るものである。インストラクションコード
は、0〜14の15ビットの構成をとる。
(Description of Prior Art) FIG. 2A shows a structure of a conversion code for calling an instruction code stored in an instruction ROM 2 based on an assembler, and FIG. 2B shows a structure of the conversion code. The specific contents of each component are shown. The one shown in FIG. 2 relates to the prior art. The instruction code has a configuration of 15 bits from 0 to 14.

【0010】図2(a)の14ビット目の“乗算”は図
1の乗算器8に対するもので、図2(b)に示すよう
に、 未動作:動作しない 動作:入力された値どうしの乗算を行う となっている。
The "multiplication" on the 14th bit in FIG. 2A is for the multiplier 8 in FIG. 1, and as shown in FIG. 2B, inactive: does not operate. Perform multiplication.

【0011】図2(a)の11〜13ビット目の3ビッ
トからなる“Control”はデジタルシグナルプロセッサ
全体の制御を行うもので、図2(b)に示すように、 NOP:何も行わない JMP:“Address”の欄に指定された値のアドレスに
インストラクションROM2のアドレスを変更する CALL:“Address”の欄に指定された値のアドレス
にインストラクションROM2のアドレスを変更する RTN:CALLが実行される前のアドレスの次のアド
レスにインストラクションROM2のアドレスを変更す
る MVI:“Immediate”の欄に指定された値を“DBU
S dst”に示された回路にデータバス12を通して転送
する MOV:“DBUS src”に示された回路より“DBU
S dst”に示された回路にデータバス12を通して値を
転送する ALU:“Alu OP”に示された動作を行う となっている。
"Control" consisting of 3 bits of bits 11 to 13 in FIG. 2A controls the entire digital signal processor. As shown in FIG. 2B, NOP: No operation is performed. JMP: Change the address of the instruction ROM 2 to the address of the value specified in the “Address” column CALL: Change the address of the instruction ROM 2 to the address of the value specified in the “Address” column RTN: CALL is executed MVI: Change the value specified in the “Immediate” column to “DBU”
MOV: Transfer from the circuit indicated by “DBUS src” to the circuit indicated by “DBUS src”
ALU: Transfers a value to the circuit indicated by "S dst" through the data bus 12. ALU: Performs the operation indicated by "Alu OP".

【0012】図2(a)で“JMP Condition”のと
き、0〜7の8ビットは“Address”を示し、“DBU
S dst”のとき、0〜7の8ビットは“Immediate”
(即値)を示す。
In the case of “JMP Condition” in FIG. 2A, 8 bits 0 to 7 indicate “Address”, and “DBU”
In the case of “S dst”, the 8 bits 0 to 7 are “Immediate”
(Immediate value).

【0013】図2(a)の8〜10ビット目の3ビット
からなる“JMP Condition”は、図2(b)に示す
ように次のような処理を行う。
The "JMP Condition" consisting of the 3rd 8th to 10th bits in FIG. 2A performs the following processing as shown in FIG. 2B.

【0014】C0:第1のカウントレジスタ(0)13
のカウント値が“00h”(「h」はヘキサデシマル
(16進数)になると“Address”の欄に指定された値
のアドレスにインストラクションROM2のアドレスを
変更する NC0:第1のカウントレジスタ(0)13のカウント
値が“00h”でなければ、“Address”の欄に指定さ
れた値のアドレスにインストラクションROM2のアド
レスを変更する C1:第2のカウントレジスタ(1)14のカウント値
が“00h”になると“Address”の欄に指定された値
のアドレスにインストラクションROM2のアドレスを
変更する NC1:第2のカウントレジスタ14(1)のカウント
値が“00h”でなければ、“Address”の欄に指定さ
れた値のアドレスにインストラクションROM2のアド
レスを変更する S:ALU9の計算結果の値のサインフラグが“1”に
なると、“Address”の欄に指定された値のアドレスに
インストラクションROM2のアドレスを変更する NS:ALU9の計算結果の値のサインフラグが“1”
でなければ、“Address”の欄に指定された値のアドレ
スにインストラクションROM2のアドレスを変更する Z:ALU9の計算結果の値が“0”になると、“Add
ress”の欄に指定された値のアドレスにインストラクシ
ョンROM2のアドレスを変更する NZ:ALU9の計算結果の値が“0”でなければ、
“Address”の欄に指定された値のアドレスにインスト
ラクションROM2のアドレスを変更する となっている。
C0: first count register (0) 13
When the count value of the instruction ROM becomes "00h"("h" is hexadecimal (hexadecimal)), the address of the instruction ROM 2 is changed to the address of the value specified in the "Address" column. NC0: First count register (0) If the count value of the counter 13 is not "00h", the address of the instruction ROM 2 is changed to the address of the value specified in the "Address" column. C1: The count value of the second count register (1) 14 is "00h". When the value becomes, the address of the instruction ROM 2 is changed to the address of the value specified in the “Address” column. NC1: If the count value of the second count register 14 (1) is not “00h”, the address of the “Address” column is displayed. Changes the address of the instruction ROM 2 to the address of the specified value. S: Supports the value of the calculation result of ALU9. When the inflag becomes "1", the address of the instruction ROM 2 is changed to the address of the value specified in the "Address" column. NS: The sign flag of the value of the calculation result of the ALU 9 is "1".
If not, the address of the instruction ROM 2 is changed to the address of the value specified in the “Address” column. Z: When the value of the calculation result of the ALU 9 becomes “0”, “Add”
The address of the instruction ROM 2 is changed to the address of the value specified in the “ress” column. If the value of the calculation result of NZ: ALU9 is not “0”,
The address of the instruction ROM 2 is changed to the address of the value specified in the “Address” column.

【0015】図2(a)の8〜10ビット目の3ビット
からなる“DBUS dst”は図1のデータバス12の出
力先を示し、図2(b)に示すように、 NIL:行き先なし RAM:RAM7への出力 ALU:Alu Binへの出力 CNT0:第1のカウントレジスタ(0)13への出力 CNT1:第2のカウントレジスタ(1)14への出力 TREG:テンポラリーレジスタ5への出力 RAMA:RAMアドレスカウンタ15への出力 ROMA:ROMアドレスカウンタ16への出力 となっている。
"DBUS dst" consisting of the 3rd 8th to 10th bits in FIG. 2A indicates the output destination of the data bus 12 in FIG. 1, and as shown in FIG. 2B, NIL: no destination RAM: Output to RAM7 ALU: Output to Alu Bin CNT0: Output to first count register (0) 13 CNT1: Output to second count register (1) 14 TREG: Output to temporary register 5 RAMA : Output to the RAM address counter 15 ROMA: Output to the ROM address counter 16

【0016】図2(a)の2〜4ビット目の3ビットか
らなる“DBUS src”は図1のデータバス12の出力
元を示し、図2(b)に示すように、 NIL:出力元なし RAM:RAM7からの出力 ROM:テーブルROM6からの出力 ACC0:第1の待避レジスタ(ACC0)10からの
出力 ACC1:第2の待避レジスタ(ACC1)11からの
出力 TREG:テンポラリーレジスタ5からの出力 となっている。
"DBUS src" consisting of 3 bits of the second to fourth bits in FIG. 2A indicates an output source of the data bus 12 in FIG. 1, and as shown in FIG. 2B, NIL: output source None RAM: Output from RAM 7 ROM: Output from table ROM 6 ACC0: Output from first save register (ACC0) 10 ACC1: Output from second save register (ACC1) 11 TREG: Output from temporary register 5 It has become.

【0017】図2(a)の1ビット目の“RAMA cou
nt”(“Ra co”)は図1のRAMアドレスカウンタ1
5に対するもので、図2(b)に示すように、 NOP:カウントアップしない UP:+1カウントアップする となっている。
The first bit "RAMA cou" of FIG.
nt "(" Ra co ") is the RAM address counter 1 in FIG.
As shown in FIG. 2B, NOP is not counted up, and UP is incremented by +1.

【0018】図2(a)の0ビット目の“ROMA cou
nt”(“Ro co”)は図1のROMアドレスカウンタ1
6に対するもので、図2(b)に示すように、 NOP:カウントアップしない UP:+1カウントアップする となっている。
The "ROMA coupe" of the 0th bit in FIG.
nt "(" Ro co ") is the ROM address counter 1 in FIG.
As shown in FIG. 2B, NOP is not counted up, and UP is incremented by +1.

【0019】図2(a)の8〜10ビット目の3ビット
からなる“Alu OP”は図1のALU9に対するコー
ドであり、図2(b)に示すように次のように定められ
ている。
"Alu OP" consisting of the 3rd 8th to 10th bits in FIG. 2A is a code for the ALU 9 in FIG. 1, and is defined as shown in FIG. 2B. .

【0020】NOP:何も実行しない EOR:Alu AinおよびAlu Binで指定された入力信
号の排他的論理和を出力 OR:Alu AinおよびAlu Binで指定された入力信号
の論理和を出力 AND:Alu AinおよびAlu Binで指定された入力信
号の論理積を出力 ADD:Alu AinおよびAlu Binで指定された入力信
号の加算を出力 SBA:Alu AinおよびAlu Binで指定された入力信
号について、Ain−Binを出力 SBB:Alu AinおよびAlu Binで指定された入力信
号について、Bin−Ainを出力 CLR:入力に左右されずに、ALL0(オールゼロ)
を出力 図2(a)の6〜7ビット目の2ビットからなる“Alu
out”はALU9からの出力先を示し、図2(b)に示
すように、 ACC0:第1の待避レジスタ(ACC0)10への出
力 ACC1:第2の待避レジスタ(ACC1)11への出
力 となっている。
NOP: Do nothing EOR: Output exclusive OR of input signals specified by Alu Ain and Alu Bin OR: Output logical sum of input signals specified by Alu Ain and Alu Bin AND: Alu Outputs the logical product of the input signals specified by Ain and Alu Bin ADD: Outputs the addition of the input signals specified by Alu Ain and Alu Bin SBA: Ain-Bin for the input signals specified by Alu Ain and Alu Bin SBB: Output Bin-Ain for the input signal specified by Alu Ain and Alu Bin CLR: ALL0 (all zero) regardless of the input
"Alu" consisting of 2 bits of the 6th to 7th bits in FIG.
"out" indicates an output destination from the ALU 9, and as shown in FIG. 2B, ACC0: output to the first save register (ACC0) 10 ACC1: output to the second save register (ACC1) 11 Has become.

【0021】図2(a)の4〜5ビット目の2ビットか
らなる“Alu Ain”は、ALU9のAinに対する入力
元を示し、図2(b)に示すように、 ACC0:第1の待避レジスタ(ACC0)10からの
入力 P:乗算器8からの入力 となっている。
2A, "Alu Ain", which consists of the fourth and fifth bits, indicates the input source to Ain of ALU 9, and as shown in FIG. 2B, ACC0: first save. Input from the register (ACC0) 10 P: Input from the multiplier 8

【0022】図2(a)の2〜3ビット目の2ビットか
らなる“Alu Bin”はALU9のBinに対する入力元
を示し、 ACC1:第2の待避レジスタ(ACC1)11からの
入力 DBUS:データバス12からの入力 となっている。
In FIG. 2A, "Alu Bin" consisting of two bits, the second and third bits, indicates the input source to Bin of ALU9. ACC1: Input from second save register (ACC1) 11 DBUS: Data Input from the bus 12.

【0023】インストラクションコードは、図3に示さ
れるアセンブラを図2に示される変換コードによって変
換されたコードである。以下、図3のアセンブラをもと
に説明する。図3はアセンブラ言語で表記されたソース
プログラムであり、これの処理内容は、RAM7の0番
地のデータにテーブルROM6の0番地のデータを乗算
し、その結果と第2の待避レジスタ(ACC1)11の
内容とを加算し、次に、RAM7の0番地のデータにテ
ーブルROM6の1番地のデータを乗算した結果を第2
の待避レジスタ(ACC1)11から減算し、このよう
な処理をテーブルROM6のアドレスが15番地になる
まで行う。さらに以上の処理をRAM7のアドレスが1
5番地になるまで繰り返し実行していくものである。
The instruction code is a code obtained by converting the assembler shown in FIG. 3 by the conversion code shown in FIG. Hereinafter, description will be made based on the assembler of FIG. FIG. 3 shows a source program written in an assembler language. The processing content of the source program is to multiply the data at address 0 in the RAM 7 by the data at address 0 in the table ROM 6, and to multiply the result by the second save register (ACC 1) 11. And the result of multiplying the data at address 0 of the RAM 7 by the data at address 1 of the table ROM 6 is the second result.
Is subtracted from the save register (ACC1) 11 and such processing is performed until the address of the table ROM 6 becomes address 15. Further, the above processing is performed by setting the address of the RAM 7 to 1
It is repeatedly executed until the address becomes 5.

【0024】図3に記載してある“STT:”、“A
A:”、“END:”はコメントであり、通常はアセン
ブルするときのアドレス(ここでは行番号)に対応して
いる。図3の場合には、“STT:”が1行目を示し、
“AA:”が6行目を示し、“END:”が13行目を
示している。
"STT:" and "A" shown in FIG.
A: ”and“ END: ”are comments, which usually correspond to the address (here, the line number) when assembling. In the case of FIG. 3,“ STT: ”indicates the first line,
“AA:” indicates the sixth line, and “END:” indicates the thirteenth line.

【0025】ここで、説明の準備として、図3の1行目
について説明しておく。図3の1行目は、STT:CL
R(A0)となっており、この場合、図2より“CL
R”のコードを探し、“Alu OP”の欄より“CL
R”のコードが“111”であることが分かり、このコ
ードが“Alu OP”の欄にあったことから、ALU9
のコードであることが分かり、このことから“Contro
l”は“ALU”の“110”となる。次に、“A0”
を探すと、“A0”は“ACC0”の短縮形で、“CL
R”はALU9の出力に関するコードであるので、“A
lu out”の欄より“ACC0”のコードは“00”であ
ることが分かる。また、この場合は、他のコードの表記
がないので、この場合のインストラクションコードは、
図4に示すようになる。
Here, as a preparation for the description, the first line in FIG. 3 will be described. The first line in FIG. 3 is STT: CL
R (A0), and in this case, “CL
Search for the code “R” and select “CL” from the “Alu OP” column.
It is found that the code of "R" is "111", and since this code was in the column of "Alu OP", ALU9
It turns out that the code is "Contro
“l” becomes “110” of “ALU.” Next, “A0”
Finds that “A0” is a short form of “ACC0” and “CL0”
Since "R" is a code related to the output of ALU9, "A"
From the column of “lu out”, it can be seen that the code of “ACC0” is “00.” In this case, since there is no other code notation, the instruction code in this case is
As shown in FIG.

【0026】従来の方式により、図3のプログラムを図
2の変換コードに従って変換した場合のインストラクシ
ョンコードを図5に示す。番号は図3の番号に対応して
いる。図3のアセンブラコードと図5のインストラクシ
ョンコードとを対比させた状態のものを図6に示す。
FIG. 5 shows an instruction code when the program of FIG. 3 is converted according to the conversion code of FIG. 2 by the conventional method. The numbers correspond to the numbers in FIG. FIG. 6 shows a state in which the assembler code of FIG. 3 is compared with the instruction code of FIG.

【0027】以下、従来の方式による図3のプログラム
の処理を順を追って説明する。
Hereinafter, the processing of the program shown in FIG. 3 according to the conventional method will be described step by step.

【0028】まず、インストラクションROM2より上
記アセンブラコードの1行目に対応したインストラクシ
ョンコードが出力される。“Control”のALU命令
(“110”)によりALU9が指定され、“Alu O
P”のCLR命令(“111”)で“Alu out”は“0
0”にセットされ、“Alu Ain”も“00”にセット
され、“Alu Bin”も“00”にセットされ、“RA
MA count”(“Raco”)は“0”にセットされ、
“ROMA count”(“Ro co”)も“0”にセットさ
れる。これは、結果として、前述したようにALU9に
より第1の待避レジスタ(ACC0)10を“00”に
クリアするものである。
First, the instruction ROM 2 outputs an instruction code corresponding to the first line of the assembler code. ALU 9 is designated by the ALU instruction (“110”) of “Control”, and “Alu O
“Alu out” is “0” in the CLR instruction (“111”) of “P”.
"Alu Ain" is also set to "00", "Alu Bin" is also set to "00", and "RA
MA count ”(“ Raco ”) is set to“ 0 ”,
“ROMA count” (“Ro co”) is also set to “0”. As a result, as described above, the first save register (ACC0) 10 is cleared to “00” by the ALU 9 as described above.

【0029】次に、2行目が実行され、“Control”の
MVI命令(“100”)により、“DBUS dst”の
RAMA命令(“110”)で“Address”として“0
0000000”がセットされ、RAMアドレスカウン
タ15(“RAA”)が“0”にクリアされる。
Next, the second line is executed, and the MVI instruction of “Control” (“100”) is used to set “0” as “Address” with the RAMA instruction (“110”) of “DBUS dst”.
00000000 "is set, and the RAM address counter 15 (" RAA ") is cleared to" 0 ".

【0030】次に、3行目が実行され、“Control”の
MVI命令(“100”)により、“DBUS dst”の
ROMA命令(“111”)で“Address”として“0
0000000”がセットされ、ROMアドレスカウン
タ16(“ROA”)が“0”にクリアされる。
Next, the third line is executed, and the MVI instruction (“100”) of “Control” is used to set “0” as “Address” by the ROMA instruction (“111”) of “DBUS dst”.
00000000 "is set, and the ROM address counter 16 (" ROA ") is cleared to" 0 ".

【0031】次に、4行目が実行され、MVI命令
(“100”)により、“DBUS dst”のCNT0
(“011”)で第1のカウントレジスタ(0)13に
“0fh”(「h」はヘキサデシマル(16進数)。
“0fh”は2進数表示での“00001111”であ
って、10進数表示での“15”)が格納され、14ビ
ット目の乗算ビット(MULT)が“1”にセットされ
る。
Next, the fourth line is executed, and the CNT0 of “DBUS dst” is executed by the MVI instruction (“100”).
("011"), the first count register (0) 13 stores "0fh"("h" is hexadecimal (hexadecimal)).
“0fh” is “000011111” in binary notation, “15” in decimal notation) is stored, and the 14th multiplication bit (MULT) is set to “1”.

【0032】次に、5行目が実行され、MVI命令
(“100”)により、“DBUS dst”のCNT1
(“100”)で第2のカウントレジスタ(1)14に
“0fh”(2進数表示での“00001111”)が
格納され、乗算ビット(MULT)が“1”にセットさ
れる。
Next, the fifth line is executed, and the CNT1 of “DBUS dst” is executed by the MVI instruction (“100”).
At ("100"), "0fh"("00001111" in binary notation) is stored in the second count register (1) 14, and the multiplication bit (MULT) is set to "1".

【0033】次に、6行目が実行され、“Control”の
ALU命令(“110”)によりALU9が指定され、
“Alu OP”のADD命令(“100”)で“Alu ou
t”として第2の待避レジスタ(ACC1)11(“0
1”)が指定され、“AluAin”として乗算器8(“0
1”)が指定され、“Alu Bin”として第2の待避レ
ジスタ(ACC1)11(“00”)が指定され、“R
AMA count”(“Ra co”)としてはカウントアップ
の指定がなされず(“0”)、“ROMA count”
(“Ro co”)としてはカウントアップが指定され
(“1”)、また、乗算ビット(MULT)は“1”に
セットされた状態を保つ。すなわち、第2の待避レジス
タ(ACC1)11の内容と乗算器8の乗算結果とが加
算され、その加算結果が再び第2の待避レジスタ(AC
C1)11に出力され、ROMアドレスカウンタ16が
+1カウントアップされる。
Next, the sixth line is executed, and the ALU 9 is designated by the ALU instruction ("110") of "Control".
“Alu ou” by the ADD instruction (“100”) of “Alu OP”
t ”, the second save register (ACC1) 11 (“ 0
1)), and the multiplier 8 (“0”) as “AluAin”.
1)), the second save register (ACC1) 11 (“00”) is specified as “Alu Bin”, and “R
The count-up is not designated as “AMA count” (“Ra co”) (“0”), and “ROMA count”
("Ro co") designates a count-up ("1"), and the multiplication bit (MULT) remains set to "1". That is, the contents of the second save register (ACC1) 11 and the multiplication result of the multiplier 8 are added, and the addition result is again stored in the second save register (AC1).
C1), and the ROM address counter 16 counts up by +1.

【0034】次に、7行目が実行され、“Control”の
ALU命令(“110”)によりALU9が指定され、
“Alu OP”のSBA命令(“101”)で上記と同
様に“Alu out”として第2の待避レジスタ(ACC
1)11(“01”)が指定され、“Alu Ain”とし
て乗算器8(“01”)が指定され、“Alu Bin”と
して第2の待避レジスタ(ACC1)11(“00”)
が指定され、“RAMA count”(“Ra co”)として
はカウントアップの指定がなされず(“0”)、“RO
MA count”(“Ro co”)としてはカウントアップが
指定され(“1”)、また、乗算ビット(MULT)は
“1”にセットされた状態を保つ。すなわち、乗算器8
の出力から第2の待避レジスタ(ACC1)11の内容
が減算され、その減算結果が再び第2の待避レジスタ
(ACC1)11に出力され、ROMアドレスカウンタ
16が+1カウントアップされる。
Next, the seventh line is executed, and the ALU 9 is specified by the ALU instruction (“110”) of “Control”.
Similarly to the above, the second save register (ACC) is set as “Alu out” by the SBA instruction (“101”) of “Alu OP”.
1) 11 (“01”) is designated, the multiplier 8 (“01”) is designated as “Alu Ain”, and the second save register (ACC1) 11 (“00”) is designated as “Alu Bin”.
Is designated, the count-up is not designated as “RAMA count” (“Ra co”) (“0”), and “ROA
The count-up is designated as “MA count” (“Ro co”) (“1”), and the multiplication bit (MULT) remains set to “1”.
Is subtracted from the output of the second save register (ACC1) 11, the result of the subtraction is output again to the second save register (ACC1) 11, and the ROM address counter 16 is incremented by one.

【0035】次に、8行目が実行され、JNC0命令
(これはJMPとNC0とを併せ表示したもの)すなわ
ち、“Control”のJMP命令(“001”)により
“JMPCondition”が指定され、そのNC0命令
(“001”)により第1のカウントレジスタ(0)1
3の値が“00h”であるかどうかの判定がなされ、
“0”でなければ“AA”が示すアドレス(この場合は
6行目)によりROMアドレスカウンタ16に対する
“Address”を“00000110”(10進数表示で
“6”)にセットし、第1のカウントレジスタ(0)1
3のカウント値を−1減算する。
Next, the eighth line is executed, and "JMPCondition" is designated by a JNC0 instruction (this is a display of both JMP and NC0), that is, a JMP instruction ("001") of "Control". First count register (0) 1 by NC0 instruction (“001”)
It is determined whether the value of 3 is “00h”,
If it is not "0", "Address" for the ROM address counter 16 is set to "00000110"("6" in decimal notation) for the ROM address counter 16 according to the address indicated by "AA" (in this case, the sixth line), and the first count is performed. Register (0) 1
The count value of 3 is subtracted by -1.

【0036】次には、ROMアドレスカウンタ16のア
ドレスを“6”にセットしたため、再び6行目が実行さ
れる。この6行目から8行目までの作業が第1のカウン
トレジスタ(0)13の値が“0fh”から“00h”
になるまですなわち16回繰り返され、第1のカウント
レジスタ(0)13の値が“00h”になったときに、
次は9行目に移る。
Next, since the address of the ROM address counter 16 is set to "6", the sixth line is executed again. The work from the sixth line to the eighth line is performed when the value of the first count register (0) 13 is changed from “0fh” to “00h”.
, Ie, 16 times, and when the value of the first count register (0) 13 becomes “00h”,
Next, go to line 9.

【0037】9行目が実行され、“Control”のMOV
命令(“101”)で“DBUS dst”の転送先として
RAMA命令(“110”)によりRAM7が指定さ
れ、“DBUS src”の転送元としてACC0命令
(“011”)により第1の待避レジスタ(ACC0)
10が指定され、“RAMA count”(“Ra co”)と
してはカウントアップ(“1”)が指定され、“ROM
A count”(“Ro co”)としてはカウントアップの指
定がなされず(“0”)、また、乗算ビット(MUL
T)は“0”にリセットされる。すなわち、第1の待避
レジスタ(ACC0)10の値がRAM7に出力され、
RAMアドレスカウンタ15のアドレスを+1カウント
アップする。
The ninth line is executed, and the MOV of “Control” is
In the instruction (“101”), the RAM 7 is specified by the RAMA instruction (“110”) as the transfer destination of “DBUS dst”, and the first save register (“011”) is specified by the ACC0 instruction (“011”) as the transfer source of “DBUS src”. ACC0)
10 is designated, count-up ("1") is designated as "RAMA count"("Raco"), and "ROM
A count ”(“ Ro co ”) is not designated to count up (“ 0 ”), and the multiplication bit (MUL)
T) is reset to "0". That is, the value of the first save register (ACC0) 10 is output to the RAM 7,
The address of the RAM address counter 15 is incremented by +1.

【0038】次に、10行目が実行され、“Control”
のMVI命令(“101”)により、“DBUS dst”
の“ROMA命令(“111”)で“Address”として
“00000000”がセットされ、ROMアドレスカ
ウンタ16(“ROA”)が“0”にクリアされる。
Next, the tenth line is executed, and "Control" is executed.
"DBUS dst" by the MVI instruction ("101")
In the "ROMA instruction (" 111 ")," 00000000 "is set as" Address ", and the ROM address counter 16 (" ROA ") is cleared to" 0 ".

【0039】次に、11行目が実行され、“Control”
のALU命令(“110”)によりALU9が指定さ
れ、“Alu OP”のCLR命令(“111”)によ
り、1行目の場合の処理と同様にして、第1の待避レジ
スタ(ACC0)10の値が“00”にクリアされる。
Next, the eleventh line is executed, and "Control" is executed.
ALU 9 (“110”) designates ALU 9, and “Alu OP” CLR instruction (“111”) stores the first save register (ACC 0) 10 in the same manner as in the case of the first row. The value is cleared to "00".

【0040】次に、12行目が実行され、JNC1命令
(これはJMPとNC1とを併せ表示したもの)すなわ
ち、“Control”のJMP命令(“001”)により
“JMP Condition”が指定され、そのNC1命令
(“011”)により第2のカウントレジスタ(1)1
4の値が“00h”であるかどうかの判定がなされ、
“00h”でなければ“AA”が示すアドレス(この場
合は6行目)によりROMアドレスカウンタ16に対す
る“Address”を“00000110”(10進数表示
で“6”)にセットし、第2のカウントレジスタ(1)
14のカウント値を−1減算する。
Next, the twelfth line is executed, and "JMP Condition" is specified by the JNC1 instruction (this is a display of JMP and NC1 together), that is, the JMP instruction ("001") of "Control". The NC1 instruction (“011”) causes the second count register (1) 1
It is determined whether the value of 4 is “00h”,
If not "00h", "Address" for the ROM address counter 16 is set to "00000110"("6" in decimal notation) for the ROM address counter 16 at the address indicated by "AA" (in this case, the sixth line), and the second count is performed. Register (1)
The count value of 14 is subtracted by -1.

【0041】次には、ROMアドレスカウンタ16のア
ドレスを“6”にセットしたため、再び6行目が実行さ
れる。この6行目から12行目までの作業が第2のカウ
ントレジスタ(1)14の値が“0fh”から“00
h”になるまですなわち16回繰り返され、第2のカウ
ントレジスタ(1)14の値が“00h”になったとき
に、次は13行目が実行され、このプログラムの処理が
終了する。
Next, since the address of the ROM address counter 16 is set to "6", the sixth line is executed again. The work from the sixth line to the twelfth line is performed when the value of the second count register (1) 14 is changed from “0fh” to “00”.
h ”, that is, 16 times, and when the value of the second count register (1) 14 becomes“ 00h ”, the next thirteenth line is executed, and the processing of this program ends.

【0042】以上が従来の方式での動作説明である。The above is the description of the operation in the conventional system.

【0043】このプログラムを従来の方式で実行する
と、1行目から5行目までを各1回実行し、6行目から
8行目までを第1のカウントレジスタ(0)13が“0
fh”から“00h”になるまで16回繰り返し実行
し、6行目から8行目の16回の繰り返しにさらに9行
目から12行目までの4行を加算して、第2のカウント
レジスタ(1)14が“0fh”から“00h”になる
まで16回繰り返し実行することになる。したがって、
実行回数は全体として、 5+〔{(3×16)+4}×16〕=837 ………………………(1) となり、合計837回となる。ここでの「回」はシステ
ムクロックのクロック数に相当する。
When this program is executed by the conventional method, the first line to the fifth line are executed once, and the first count register (0) 13 is set to “0” from the sixth line to the eighth line.
fh "to" 00h "is repeated 16 times, and the fourth row from the ninth row to the twelfth row is added to the 16 repetitions from the sixth row to the eighth row. (1) It is repeatedly executed 16 times until 14 changes from “0fh” to “00h”.
The total number of times of execution is 5 + [{(3 × 16) +4} × 16] = 837 (1), that is, 837 times in total. Here, “times” corresponds to the number of system clocks.

【0044】(本発明の実施の形態1)次に、いよいよ
本発明の実施の形態1に係るデジタルシグナルプロセッ
サの本質的部分についての説明を行う。本発明の実施の
形態1においては、インストラクションコードの一部ま
たは全部をビット反転することにより1つのコードで複
数の回路の制御を行う機能を有するように構成してあ
る。
(Embodiment 1) Next, an essential part of the digital signal processor according to Embodiment 1 of the present invention will be described. The first embodiment of the present invention is configured to have a function of controlling a plurality of circuits with one code by inverting a part or all of the instruction code.

【0045】例えば、図3における6行目の“ADD”
の反転コードに“SBA”の意味を持たせ、それ以外の
反転コードは“NOP”(No Operation 何もしな
い)とした場合、図3のアセンブラは図7のようになっ
たものとみなされる。
For example, "ADD" in the sixth row in FIG.
Is given the meaning of “SBA” and the other inverted code is “NOP” (No operation is performed), the assembler of FIG. 3 is regarded as shown in FIG.

【0046】インストラクションコードを“Alu O
P”の含まれるビットだけ(図2の8ビット目から10
ビット目まで)1行ごとにビットを反転する。すると、
図8に示すインストラクションコードのようになり、こ
れにおいて、“Alu OP”のうち、“Alu Bin”のビ
ット位置である8〜10ビット目の“ADD”=“10
0”はそのままとし、“SBA”=“101”(図2
(b)および図6参照)を“ADD”=“100”の反
転ビットの“SBA”=“011”とするために、元の
“AND”=“011”と元の“SBA”=“101”
とだけを互いに入れ替えた図2の“Alu OP”を少し
変更した図9の“Alu OP”に示すコード表を用い
る。図9の(a)は図1に示すインストラクションRO
M2に格納されているインストラクションコードをアセ
ンブラに基づいて呼び出すための変換コードの構造を示
し、図9の(b)は変換コードの各構成要素の具体的内
容を示す。図9(a)の構造は図2(a)の構造と全く
同じである。この変換処理は図1のROMデータ変換器
3が実行する。
The instruction code is "Alu O
Only bits containing P "(10 bits from the 8th bit in FIG. 2)
Bits are inverted for each row. Then
The instruction code is as shown in FIG. 8, in which “ADD” = “10” of the 8th to 10th bits of “Alu OP”, which is the bit position of “Alu Bin”.
0 is left as it is, and “SBA” = “101” (FIG. 2
(See (b) and FIG. 6) to make “SBA” = “011” of the inverted bit of “ADD” = “100”, the original “AND” = “011” and the original “SBA” = “101” "
A code table shown in "Alu OP" in FIG. 9 in which "Alu OP" in FIG. FIG. 9A shows the instruction RO shown in FIG.
FIG. 9 shows the structure of a conversion code for calling the instruction code stored in M2 based on the assembler, and FIG. 9B shows the specific contents of each component of the conversion code. The structure of FIG. 9A is exactly the same as the structure of FIG. This conversion process is executed by the ROM data converter 3 of FIG.

【0047】図9(b)においては、8〜10ビット目
に相当する“Alu OP”についてのみ図2(b)と異
なってる。すなわち、“Alu OP”において、“SB
A”は、図2(b)の“AND”=“011”と入れ替
わった“SBA”=“011”となり、この“SBA”
=“011”は“ADD”=“100”の反転ビットと
なっている。すなわち、すべてのビットにつき、ビット
の“0”が“1”に反転し、ビットの“1”が“0”に
反転している。
FIG. 9 (b) differs from FIG. 2 (b) only in "Alu OP" corresponding to the 8th to 10th bits. That is, in “Alu OP”, “SB
“A” is “SBA” = “011” which is replaced with “AND” = “011” in FIG. 2B, and this “SBA”
= “011” is an inverted bit of “ADD” = “100”. That is, for all bits, the bit “0” is inverted to “1” and the bit “1” is inverted to “0”.

【0048】また、ビット反転前の“Control”のコー
ドが“ALU”以外の場合は“Control”コードが“0
00”となるように回路を構成する。
If the code of "Control" before bit inversion is other than "ALU", the code of "Control" is set to "0".
The circuit is configured to be "00".

【0049】インストラクションコードについて、図8
の1行目は図6の1行目と同じである。図8の2行目は
同1行目の8〜10ビット目に相当する“Alu OP”
の“111”をビット反転して“000”としたもので
ある。図8の3行目は図6の2行目と同じである。図8
の4行目は同3行目の“Alu OP”の“110”をビ
ット反転して“001”としたものである。図8の5行
目は図6の3行目と同じである。図8の6行目は同5行
目の“Alu OP”の“111”をビット反転して“0
00”としたものである。図8の7行目は図6の4行目
と同じである。図8の8行目は同7行目の“Alu O
P”の“011”をビット反転して“100”としたも
のである。図8の9行目は図6の5行目と同じである。
図8の10行目は同9行目の“Alu OP”の“10
0”をビット反転して“011”としたものである。
FIG. 8 shows the instruction code.
Is the same as the first line in FIG. The second line in FIG. 8 is “Alu OP” corresponding to the 8th to 10th bits in the first line.
Of "111" is inverted to "000". The third line in FIG. 8 is the same as the second line in FIG. FIG.
In the fourth row, “110” of “Alu OP” in the third row is bit-inverted to “001”. The fifth line in FIG. 8 is the same as the third line in FIG. In the sixth row of FIG. 8, "111" of "Alu OP" in the fifth row is bit-inverted to "0".
The seventh line in FIG. 8 is the same as the fourth line in FIG. 6. The eighth line in FIG.
The bit inversion of “011” of “P” is changed to “100.” The ninth row in FIG. 8 is the same as the fifth row in FIG.
The 10th line in FIG. 8 is “10” of “Alu OP” in the 9th line.
"0" is bit-inverted to "011".

【0050】さらに、図8の11行目は図6の6行目と
同じである。図8の12行目は同11行目の“Alu O
P”の“100”をビット反転して“011”としたも
のである。11行目のインストラクションコードは“A
DD”を規定するものであり、この11行目のインスト
ラクションコードのうちの“Alu OP”の部分をビッ
ト反転した12行目のインストラクションコードは“S
BA”を規定するものとなっている。この点が本実施の
形態1の特徴である。
Further, the eleventh line in FIG. 8 is the same as the sixth line in FIG. The twelfth line in FIG. 8 is “Alu O
The bit “100” of “P” is inverted to “011.” The instruction code on line 11 is “A”.
DD ”, and the instruction code on the twelfth line obtained by bit-inverting the“ Alu OP ”portion of the instruction code on the eleventh line is“ S
BA ". This point is a feature of the first embodiment.

【0051】図8の13行目は図6の8行目と同じであ
る。図8の14行目は同13行目の“Alu OP”の
“001”をビット反転して“110”としたものであ
る。ここで、図6の7行目が飛ばされて無くなっている
ことに注意しなければならない。
The 13th line in FIG. 8 is the same as the 8th line in FIG. The 14th line in FIG. 8 is obtained by inverting “001” of “Alu OP” in the 13th line to “110”. Here, it should be noted that the seventh line in FIG. 6 has been skipped.

【0052】図8の15行目は図6の9行目と同じであ
る。図8の16行目は同15行目の“Alu OP”の
“110”をビット反転して“001”としたものであ
る。図8の17行目は図6の10行目と同じである。図
8の18行目は同17行目の“Alu OP”の“11
1”をビット反転して“000”としたものである。図
8の19行目は図6の11行目と同じである。図8の2
0行目は同19行目の“Alu OP”の“111”をビ
ット反転して“000”としたものである。図8の21
行目は図6の12行目と同じである。図8の22行目は
同21行目の“AluOP”の“011”をビット反転し
て“100”としたものである。そして、最後の図8の
23行目は図6の13行目と同じである。
The 15th line in FIG. 8 is the same as the 9th line in FIG. The 16th line in FIG. 8 is obtained by inverting “110” of “Alu OP” in the 15th line into “001”. The 17th line in FIG. 8 is the same as the 10th line in FIG. The 18th line in FIG. 8 corresponds to “11” of “Alu OP” on the 17th line.
8 is the same as the eleventh row in FIG.
On the 0th line, “111” of “Alu OP” on the 19th line is bit-inverted to “000”. 8 in FIG.
The row is the same as the twelfth row in FIG. The 22nd line in FIG. 8 is obtained by inverting “011” of “AluOP” in the 21st line to “100”. The last line 23 in FIG. 8 is the same as line 13 in FIG.

【0053】図8の右側には、左側に示すインストラク
ションコードから逆変換を行ったアセンブラコードを示
している。これは、ビット反転時に“Control”コード
が“ALU”以外の場合は“000”となるように構成
すると、“Control”コードの“000”は、アセンブ
ラコードでは“NOP”に当たるため、その他のビット
が何になろうともシステムは何もしないからである。し
かし、それ以外のコードであるときは、その“Contro
l”コードに合った動作をするので、図3のアセンブラ
が図7のようになったのと同等になる。
The right side of FIG. 8 shows an assembler code obtained by performing an inverse conversion from the instruction code shown on the left side. This is because if the "Control" code is set to "000" when the bit inversion is other than "ALU", "000" of the "Control" code corresponds to "NOP" in the assembler code, and the other bits are set. No matter what, the system does nothing. However, if it is any other code,
Since the operation according to the l "code is performed, the assembler of FIG. 3 is equivalent to that shown in FIG.

【0054】図7および図8において、“ADD”と
“SBA”との間に“NOP”がなく、また、“SB
A”と“JNC0”との間にも“NOP”がない点に注
意しなければならない。
7 and 8, there is no "NOP" between "ADD" and "SBA", and "SB"
It should be noted that there is no "NOP" between "A" and "JNC0".

【0055】この図7のプログラムを、従来方式と比べ
て速さが2倍のクロックで実行した場合、1行目から1
0行目までを各1回実行し、11行目から14行目まで
を第1のカウントレジスタ(0)13が“0fh”から
“00h”になるまで16回繰り返し実行し、11行目
から14行目の16回の繰り返しにさらに15行目から
22行目までの8行を加算して、第2のカウントレジス
タ(1)14が“0fh”から“00h”になるまで1
6回繰り返し実行することになる。したがって、実行回
数は全体として、 10+〔{(4×16)+8}×16〕=1162 …………………(2) となり、合計1162回となる。
When the program of FIG. 7 is executed with a clock which is twice as fast as that of the conventional method, the first line is
Rows 0 to 1 are executed once each, rows 11 to 14 are repeatedly executed 16 times until the first count register (0) 13 changes from “0fh” to “00h”. 8 rows from the 15th row to the 22nd row are added to the 16 repetitions of the 14th row, and 1 is added until the second count register (1) 14 changes from “0fh” to “00h”.
This will be repeated six times. Therefore, the number of executions is 10 + [{(4 × 16) +8} × 16] = 1162 as a whole, which is 1162 times in total.

【0056】しかし、これは、速さが2倍のクロックを
用いた場合の実行回数で、これを、従来の方式と比較す
る場合には、実行回数を1/2にして比較すればよいの
で 1162÷2=581 ……………………………………………………(3) となり、従来方式に比べ、 (837−581)÷837=0.306 ……………………………(4) で、3割ほど少ない回数で実行できる。
However, this is the number of executions when a clock whose speed is twice as high is used. When comparing this with the conventional method, the number of executions can be reduced by half. 1162 ÷ 2 = 581… (… (((3 ((3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 (3) Compared with the conventional method, (837-581) ÷ 837 = 0.306 ... (4), and can be executed in about 30% less times.

【0057】以上のようにインストラクションコードを
ビット反転することにより、1つのコードで複数のコー
ドを生成し、複数の回路を制御することができる。これ
により、インストラクションROM2の動作速度を上げ
ることなく、デジタルシグナルプロセッサの実質的な動
作速度を向上させることができる。また、インストラク
ションコードのビット反転は簡単な手段で実現すること
ができる。
As described above, by inverting the bits of the instruction code, a plurality of codes can be generated by one code and a plurality of circuits can be controlled. Thereby, the substantial operation speed of the digital signal processor can be improved without increasing the operation speed of the instruction ROM 2. Further, the bit inversion of the instruction code can be realized by simple means.

【0058】しかしながら、上記のように複数のコード
を実行するためにはインストラクションROM2を動作
させるクロックの複数倍のクロックが必要となる。つま
り、上記の場合には式(2)に示す回数が実際のクロッ
クとなる。そして、LSIの消費電力は、クロック数が
多いほど多くなる傾向があり、 1162÷837=1.388 …………………………………………(5) となり、従来の方式に比べて、約1.3倍の消費電力増
となるという課題が新たに生じることとなる。
However, in order to execute a plurality of codes as described above, a clock that is a multiple of the clock for operating the instruction ROM 2 is required. That is, in the above case, the number of times shown in Expression (2) is the actual clock. The power consumption of the LSI tends to increase as the number of clocks increases, and becomes 1162 ÷ 837 = 1.388... (5). , A new problem that the power consumption is increased about 1.3 times as compared with the above.

【0059】(実施の形態2)そこで、インストラクシ
ョンコードをビット反転するかどうかを制御する制御コ
ードを持たせることにより、消費電力の削減を図ろうと
するのが本実施の形態2のデジタルシグナルプロセッサ
である。
(Embodiment 2) The digital signal processor according to Embodiment 2 attempts to reduce power consumption by providing a control code for controlling whether or not the instruction code is bit-inverted. is there.

【0060】具体的には、反転コードが“NOP”であ
る場合には、クロックを発生しないようにするためのビ
ットを追加し、2倍のクロックで実行した場合の実行回
数を減らし、このことにより消費電力の削減を図るので
ある。
More specifically, when the inverted code is "NOP", a bit for preventing the generation of a clock is added to reduce the number of times of execution when the clock is doubled. Thus, power consumption is reduced.

【0061】図10は実行回数を減らすためのROMデ
ータ変換器3の構成を示すブロック図、図11はそのタ
イミングを示す図である。
FIG. 10 is a block diagram showing the configuration of the ROM data converter 3 for reducing the number of executions, and FIG. 11 is a diagram showing its timing.

【0062】インストラクションROM2から出力され
たインストラクションコードは、インストラクションコ
ードIと制御コードAとに分けてROMデータ変換器3
に入力され、インストラクションコードIはデータセレ
クタ3aのQ入力と、ROMデータ反転器3bに入力さ
れる。ROMデータ反転器3bはインストラクションコ
ードIの8〜10ビット目に相当する“Alu OP”の
ビット部分だけを反転し、データセレクタ3aのQ′入
力に入力する。2倍クロックは1/2分周器3cに入力
され、1/2分周器3cから1/2分周出力Bがデータ
セレクタ3aのセレクト入力とORゲート3dに入力さ
れる。データセレクタ3aは、セレクト入力に接続され
た1/2分周器3cの1/2分周出力Bが“1”のとき
にはQ入力をインストラクションとして出力し、1/2
分周出力Bが“0”のときにはQ′入力をインストラク
ションとして出力する。
The instruction code output from the instruction ROM 2 is divided into an instruction code I and a control code A, and the ROM data converter 3
The instruction code I is input to the Q input of the data selector 3a and the ROM data inverter 3b. The ROM data inverter 3b inverts only the bit portion of "Alu OP" corresponding to the 8th to 10th bits of the instruction code I, and inputs it to the Q 'input of the data selector 3a. The double clock is input to the 1/2 frequency divider 3c, and the 1/2 frequency output B from the 1/2 frequency divider 3c is input to the select input of the data selector 3a and the OR gate 3d. When the 1/2 frequency divider output B of the 1/2 frequency divider 3c connected to the select input is "1", the data selector 3a outputs the Q input as an instruction.
When the frequency division output B is "0", the Q 'input is output as an instruction.

【0063】インストラクションROM2からの制御コ
ードAと1/2分周器3cからの1/2分周出力Bとは
ORゲート3dに入力され、ORゲート3dの出力はA
NDゲート3eに入力される。また、2倍クロックはA
NDゲート3eに入力される。1/2分周出力Bと制御
コードAとの少なくともいずれか一方が“1”のときに
はORゲート3dの出力が“H”となり、ANDゲート
3eから2倍クロックがゲート出力Cすなわちシステム
クロックとして出力される。このシステムクロックでデ
ジタルシグナルプロセッサを動作させる。
The control code A from the instruction ROM 2 and the 1/2 frequency divider output B from the 1/2 frequency divider 3c are input to the OR gate 3d, and the output of the OR gate 3d is A
Input to ND gate 3e. The double clock is A
Input to ND gate 3e. When at least one of the 1/2 frequency divided output B and the control code A is "1", the output of the OR gate 3d becomes "H" and the double clock is output from the AND gate 3e as the gate output C, that is, the system clock. Is done. The digital signal processor is operated by this system clock.

【0064】請求項にいう「インストラクションコード
をビット反転するかどうかを制御するビット」とは、制
御コードAのことである。通常は制御コードAが“0”
であるので図11の1/2分周出力Bと同じ周期のゲー
ト出力Cが出力されるが、制御コードAが“1”のとき
には2倍クロックがそのままゲート出力Cとして出力さ
れる。図11の上段に示す図3の例えば6行目のインス
トラクションコード(アセンブラコードの形で図示して
ある。以下同じ)は図11において11行目と12行目
のインストラクションROM2からデータセレクタ3a
に直接に入力されるROM出力となり、図3の7行目の
インストラクションコードは図11において13行目と
14行目のインストラクションROM2からデータセレ
クタ3aに直接に入力されるROM出力となり、図3の
8行目のインストラクションコードは図11において1
5行目と16行目のインストラクションROM2からデ
ータセレクタ3aに直接に入力されるROM出力とな
り、図3の9行目のインストラクションコードは図11
において17行目と18行目のインストラクションRO
M2からデータセレクタ3aに直接に入力されるROM
出力となる。
The “bit for controlling whether or not the instruction code is bit-inverted” in the claims refers to the control code A. Normally, control code A is "0"
Therefore, the gate output C having the same cycle as the 1/2 frequency-divided output B in FIG. 11 is output. However, when the control code A is "1", the double clock is output as the gate output C as it is. The instruction code (illustrated in the form of an assembler code, for example, the sixth line) of FIG. 3 shown in the upper part of FIG. 11 is obtained from the instruction ROM 2 on the eleventh and twelfth lines in FIG.
The instruction code on the seventh line in FIG. 3 becomes the ROM output directly input from the instruction ROM 2 on the thirteenth and fourteenth lines to the data selector 3a in FIG. The instruction code on the eighth line is 1 in FIG.
The ROM output directly input to the data selector 3a from the instruction ROMs 2 in the fifth and sixteenth rows is obtained. The instruction code in the ninth row in FIG.
In the RO on the 17th and 18th lines
ROM directly input from M2 to data selector 3a
Output.

【0065】また、11行目から18行目にかけてイン
ストラクションROM2から出力されるインストラクシ
ョンコードのうちROMデータ反転器3bに入力されて
8〜10ビット目に相当する“Alu OP”のビット部
分だけが反転されたインストラクションコードがROM
反転出力となってデータセレクタ3aに入力される。す
なわち、11行目と12行目のインストラクションコー
ド〔アセンブラコード形式でAA:ADD(A1,…〕
はROMデータ反転器3bにおいて反転インストラクシ
ョンコード〔アセンブラコード形式でSBA(A1,
…〕となり、13行目と14行目のインストラクション
コード〔アセンブラコード形式でSBA(A1,…〕は
ROMデータ反転器3bにおいて反転インストラクショ
ンコード〔アセンブラコード形式でNOP〕となり、1
5行目と16行目のインストラクションコード〔アセン
ブラコード形式でJNC0…〕はROMデータ反転器3
bにおいて反転インストラクションコード〔アセンブラ
コード形式でNOP〕となり、17行目と18行目のイ
ンストラクションコード〔アセンブラコード形式でMV
I(RA,…〕はROMデータ反転器3bにおいて反転
インストラクションコード〔アセンブラコード形式でN
OP〕となる。
In the instruction codes output from the instruction ROM 2 in the eleventh to eighteenth rows, only the bit portion of “Alu OP” corresponding to the eighth to tenth bits, which is input to the ROM data inverter 3b and inverted. Instruction code is stored in ROM
The inverted output is input to the data selector 3a. That is, the instruction codes on lines 11 and 12 [AA: ADD (A1,...) In assembler code format]
Is the inverted instruction code in the ROM data inverter 3b [SBA (A1,
..], And the instruction codes on lines 13 and 14 [SBA (A1,...) In assembler code format become inverted instruction codes [NOP in assembler code format] in ROM data inverter 3b.
The instruction codes (JNC0... In assembler code format) on the fifth and sixteenth lines are stored in the ROM data inverter 3
b, an inverted instruction code (NOP in assembler code format) is obtained, and the instruction code on lines 17 and 18 [MV in assembler code format]
I (RA,...) Are inverted instruction codes [N in assembler code format] in the ROM data inverter 3b.
OP].

【0066】そして、データセレクタ3aのセレクト入
力に入力される1/2分周出力Bは、2倍クロックを1
/2分周器3cで2分の1に分周したもので、1倍クロ
ックとなっている。その1/2分周出力Bの“H”の期
間にデータセレクタ3aからROM出力がROMデータ
変換出力(インストラクション出力)として出力され、
1/2分周出力Bの“L”の期間にデータセレクタ3a
からROM反転出力がROMデータ変換出力(インスト
ラクション出力)として出力される。その結果として、
ROMデータ変換出力(インストラクション出力)とし
ては、11行目でインストラクションコード〔AA:A
DD(A1,…〕を出力し、12行目でインストラクシ
ョンコード〔SBA(A1,…〕を出力し、13行目で
インストラクションコード〔JNC0…〕を出力し、1
4行目でインストラクションコード〔NOP〕を出力
し、15行目でインストラクションコード〔MOV(R
A,…〕を出力し、16行目でインストラクションコー
ド〔NOP〕を出力し、17行目でインストラクション
コード〔MVI(ROA,…〕を出力し、18行目でイ
ンストラクションコード〔NOP〕を出力することにな
る。
Then, the 1/2 frequency divided output B input to the select input of the data selector 3a has a double clock of 1
The frequency is halved by the 分 frequency divider 3c, and is a one-time clock. The ROM output from the data selector 3a is output as a ROM data conversion output (instruction output) during the "H" period of the 1/2 frequency divided output B,
During the “L” period of the 1/2 frequency-divided output B, the data selector 3a
Outputs a ROM inverted output as a ROM data conversion output (instruction output). As a result,
As the ROM data conversion output (instruction output), the instruction code [AA: A
DD (A1,...), The instruction code [SBA (A1,...)] Is output on the twelfth line, and the instruction code [JNC0.
The fourth line outputs the instruction code [NOP], and the fifteenth line outputs the instruction code [MOV (R
A,...], An instruction code [NOP] is output on line 16, an instruction code [MVI (ROA,...)] Is output on line 17, and an instruction code [NOP] is output on line 18. Will be.

【0067】しかし、ANDゲート3eにおいて制御コ
ードAと1/2分周出力Bとの論理和で生成されたゲー
ト出力Cであるシステムクロックは、14行目、16行
目、18行目のインストラクションコード〔NOP〕に
対しては出力されないから、実質的に図7のアセンブラ
は図3のアセンブラのようになったとみなされる。
However, the system clock, which is the gate output C generated by the logical sum of the control code A and the 分 -divided output B in the AND gate 3e, is not used for the instructions on the 14th, 16th, and 18th lines. Since the code [NOP] is not output, it is considered that the assembler of FIG. 7 is substantially like the assembler of FIG.

【0068】これを1/2分周出力Bを基準に考える
と、制御コードAが“1”のときには2倍の速度で動作
しているので、6行目と7行目は1/2分周出力Bの1
周期のうちに実行されるので、見かけ上は1行のように
なる。7行目、8行目、9行目、10行目は、ゲート出
力Cであるシステムクロックは1/2分周出力Bと同じ
周期のクロックとなっているので各々1行となる。この
場合の実行回数は、6,7,8行を実質的に2行と考え
てよく、式(1)における「3」を「2」に置き換え
て、 5+〔{(2×16)+4}×16〕=581 …………………………(6) となり、これは実施の形態1の場合の式(3)と同じ値
であり、従来方式と比べて3割ほど少ない回数で実行で
きる。しかも、実際のクロック数も実施の形態1に比べ
て3割ほど少なくなるので、消費電力も3割ほど削減す
ることができる。
When this is considered on the basis of the 1/2 frequency dividing output B, when the control code A is "1", the operation is performed at twice the speed. 1 of circumferential output B
Since it is executed in a cycle, it looks like one line. The seventh line, the eighth line, the ninth line, and the tenth line are each one line because the system clock as the gate output C has the same cycle as the 1/2 frequency-divided output B. In this case, the number of executions may be considered as six, seven, and eight lines substantially as two lines, and by replacing “3” in Expression (1) with “2”, 5 + [{(2 × 16) +4} × 16] = 581 (6), which is the same value as the equation (3) in the case of the first embodiment, and is about 30% smaller than the conventional method. I can do it. Moreover, since the actual number of clocks is reduced by about 30% compared to the first embodiment, the power consumption can be reduced by about 30%.

【0069】なお、実施の形態1および実施の形態2に
おいて、インストラクションコードの全部をビット反転
するような別の実施の形態も考えられる。
In the first and second embodiments, another embodiment in which the entire instruction code is bit-inverted is also conceivable.

【0070】(実施の形態3)本発明の実施の形態3に
係るデジタルシグナルプロセッサは、見かけ上の動作速
度をさらに向上するようにしたものである。
(Embodiment 3) A digital signal processor according to Embodiment 3 of the present invention further improves the apparent operation speed.

【0071】図12の(a)はインストラクションRO
M2に格納されているインストラクションコードをアセ
ンブラに基づいて呼び出すための変換コードの構造を示
し、図12の(b)は変換コードの各構成要素の具体的
内容を示す。図12(b)は図2(b)と同じものであ
る。
FIG. 12A shows an instruction RO.
FIG. 12 shows the structure of a conversion code for calling the instruction code stored in M2 based on the assembler, and FIG. 12B shows the specific contents of each component of the conversion code. FIG. 12 (b) is the same as FIG. 2 (b).

【0072】図12(a)のインストラクションコード
を4つに区分し、それぞれの区分に対して、22 =4つ
のカウント値0〜3をもつための2ビットからなる4進
カウンタを用意する(この2ビットの4進カウンタにつ
いては、後述する図15の4進カウンタ21を参照)。
カウント0〜3は、4進カウンタのカウント値がそれぞ
れ0,1,2,3になったときに実行されるインストラ
クションを示したものである。例えばカウント値が0の
ときはカウント0の部分のインストラクションが実行さ
れる。カウント0の部分はALU9に関する制御であ
り、39ビット目に“乗算”が割り当てられ、36〜3
8ビット目に“Alu OP”が割り当てられ、34〜3
5ビット目に“Alu out”が割り当てられ、32〜33
ビット目に“Alu Ain”が割り当てられ、30〜31
ビット目に“Alu Bin”が割り当てられている。カウ
ント1の部分は転送関係に関する制御であり、27〜2
9ビット目に“DBUS dst”が割り当てられ、24〜
26ビット目に“DBUS src”が割り当てられ、23
ビット目に“RAMA count”(“Ra co”)が割り当
てられ、22ビット目に“ROMA count”(“Ro c
o”)が割り当てられている。カウント2の部分はイミ
ディエートデータ(即値)の転送に関する制御であり、
19〜21ビット目に“DBUS dst”が割り当てら
れ、11〜18ビット目に8ビットの“Immediate”が
割り当てられている。カウント3の部分はジャンプ命令
に関する制御であり、8〜10ビット目に“JMP Co
ndition”が割り当てられ、0〜7ビット目に8ビット
の“Address”が割り当てられている。
The instruction code shown in FIG. 12A is divided into four sections, and a 2-bit quaternary counter for preparing 2 2 = 4 count values 0 to 3 is prepared for each section ( For the 2-bit quaternary counter, see the quaternary counter 21 in FIG. 15 described later).
The counts 0 to 3 indicate instructions to be executed when the count values of the quaternary counter reach 0, 1, 2, and 3, respectively. For example, when the count value is 0, the instruction of the count 0 is executed. The part of the count 0 is control related to the ALU9, and “multiplication” is assigned to the 39th bit.
“Alu OP” is assigned to the eighth bit, and 34 to 3
“Alu out” is assigned to the fifth bit, and
“Alu Ain” is assigned to the bit, and 30 to 31
“Alu Bin” is assigned to the bit. The part of the count 1 is the control related to the transfer relationship,
“DBUS dst” is assigned to the ninth bit, and
"DBUS src" is assigned to the 26th bit, and 23
“RAMA count” (“Ra co”) is assigned to the bit, and “ROMA count” (“Ro c”) is assigned to the 22nd bit.
o ”) is assigned. The part of the count 2 is control relating to transfer of immediate data (immediate value).
“DBUS dst” is assigned to the 19th to 21st bits, and “Immediate” of 8 bits is assigned to the 11th to 18th bits. The part of the count 3 is the control related to the jump instruction.
“ndition” is assigned, and 8-bit “Address” is assigned to the 0th to 7th bits.

【0073】図12の変換コードを用いると図3のアセ
ンブラ言語によるソースプログラムは、図13のように
なり、図3で複数行かかっていた動作を1行にまとめる
ことができる。例えば、図3の1行目と2行目は、 STT:CLR(A0) MVI(RAA,0) となっているが、1行目はALUのコードであり、2行
目は転送のコードであるので、図13の1行目のよう
に、 STT:CLR(A0)|NOP|MVI(RAA,
0)|NOP と1行にまとめることができる。
When the conversion code of FIG. 12 is used, the source program in the assembler language of FIG. 3 is as shown in FIG. 13, and the operation which took a plurality of lines in FIG. 3 can be combined into one line. For example, the first and second lines in FIG. 3 are STT: CLR (A0) MVI (RAA, 0), but the first line is the ALU code, and the second line is the transfer code. Therefore, as shown in the first row of FIG. 13, STT: CLR (A0) | NOP | MVI (RAA,
0) | NOP and one line.

【0074】図3の3行目のMVI(ROA,0)は、
図13の2行目のように、 |NOP|NOP|MVI(ROA,0)|NOP|N
OP となり、図3の4行目のMVI(CNT0,0fh)M
ULTは、図13の3行目のように、 |MULT|NOP|MVI(CNT0,0fh)|N
OP となり、図3の5行目のMVI(CNT1,0fh)M
ULTは、図13の4行目のように、 |MULT|NOP|MVI(CNT1,0fh)|N
OP となる。そして、図3の6行目のAA:ADD(A1,
A1,P)MULT INC(RO)は、図13の5行
目のように、 AA:ADD(A1,A1,P)MULT|INC(R
O)|NOP|NOPとなり、図3の7行目のSBA
(A1,A1,P)MULT INC(RO)および8
行目のJNC0 AAは、図13の6行目のように1行
にまとめられて、 SBA(A1,A1,P)MULT|INC(RO)|
NOP|JNC0 AA となり、図3の9行目のMOV(RA,A0) INC
(RA)は、図13の7行目のように、 |NOP|NOP|MOV(RA,A0)|INC(R
A)|NOP となり、図3の10行目のMVI(ROA,0)、11
行目のCLR(A0)および12行目のJNC1 AA
は、図13の8行目のように3行が1行にまとめられ
て、 |CLR(A0)|NOP|MVI(ROA,0)|J
NC1 AA となる。
The MVI (ROA, 0) on the third line in FIG.
As shown in the second row of FIG. 13, | NOP | NOP | MVI (ROA, 0) | NOP | N
OP and MVI (CNT0, 0fh) M in the fourth row in FIG.
ULT is, as shown in the third row of FIG. 13, | MULT | NOP | MVI (CNT0, 0fh) | N
OP and the MVI (CNT1, 0fh) M in the fifth row of FIG.
ULT is, as shown in the fourth row of FIG. 13, | MULT | NOP | MVI (CNT1, 0fh) | N
It becomes OP. Then, AA: ADD (A1, A1,
A1, P) MULT INC (RO) is represented by AA: ADD (A1, A1, P) MULT | INC (R
O) | NOP | NOP, and the SBA in the seventh row of FIG.
(A1, A1, P) MULT INC (RO) and 8
The JNC0 AA in the row is grouped into one row as in the sixth row in FIG. 13, and SBA (A1, A1, P) MULT | INC (RO) |
NOP | JNC0 AA, and MOV (RA, A0) INC on the ninth row in FIG.
(RA) is expressed as | NOP | NOP | MOV (RA, A0) | INC (R
A) | NOP, and MVI (ROA, 0), 11 in the tenth row in FIG.
CLR (A0) on line 12 and JNC1 AA on line 12
Is obtained by combining three rows into one row as shown in the eighth row in FIG. 13, and | CLR (A0) | NOP | MVI (ROA, 0) | J
NC1 AA.

【0075】この場合の実行回数は、従来のクロックで
カウントすると、1行目から4行目までを各1回実行
し、5行目から6行目までを第1のカウントレジスタ
(0)13が“0fh”から“00h”になるまで16
回繰り返し実行し、5行目から6行目の16回の繰り返
しにさらに7行目から8行目までの2行を加算して、第
2のカウントレジスタ(1)14が“0fh”から“0
0h”になるまで16回繰り返し実行することになる。
したがって、実行回数は全体として、 4+〔{(2×16)+2}×16〕=548 ………………………(7) となり、従来方式に比べて、 (837−548)÷837=0.345 ……………………………(8) で、約3割5分ほど少ない回数で実行できる。これは、
実施の形態1の場合に比べて、 (581−548)÷581=0.057 ……………………………(9) で、約0.6割ほど少ない回数で実行できる。
In this case, when the number of executions is counted by a conventional clock, the first to fourth rows are executed once each, and the fifth to sixth rows are executed by the first count register (0) 13. 16 from “0fh” to “00h”
The second count register (1) 14 changes the value from “0fh” to “0fh” by adding two rows from the seventh row to the eighth row to the 16 repetitions from the fifth row to the sixth row. 0
It will be repeated 16 times until it reaches 0h ".
Therefore, the total number of executions is 4 + [{(2 × 16) +2} × 16] = 548 (7), which is (837−548) ÷ 837 compared to the conventional method. = 0.345 (8) and can be executed in a small number of times, about 30% and 5 minutes. this is,
Compared to the case of the first embodiment, (581-548) 0.05581 = 0.057 (9), and can be executed in about 0.6% less times.

【0076】しかし、2ビットの4進カウンタを用いて
インストラクションコードを4つに区分することから、
実行クロックの速度は従来クロックの4倍になるので
(後述する図16の4倍クロック参照)、実際のクロッ
ク数は 548×4=2192 ……………………………………………………(10) となり、 2192÷837=2.619 …………………………………………(11) と、消費電力は従来方式に比べて約2.6倍となるとい
う課題が新たに生じることになる。
However, since the instruction code is divided into four using a 2-bit quaternary counter,
Since the speed of the execution clock is four times as high as that of the conventional clock (see the quadruple clock in FIG. 16 to be described later), the actual number of clocks is 548 × 4 = 2192... ... (10), 2192/837 = 2.619 (11), and the power consumption is about 2.6 compared to the conventional method. The problem of doubling will newly arise.

【0077】(実施の形態4)そこで、4進カウンタの
カウント値が有効かどうかを制御する制御コードをイン
ストラクションコードに持たせることにより、消費電力
の削減を図ろうとするのが本実施の形態4のデジタルシ
グナルプロセッサである。
(Embodiment 4) Therefore, the present embodiment is intended to reduce power consumption by providing a control code for controlling whether the count value of a quaternary counter is valid or not in an instruction code. Digital signal processor.

【0078】図12のインストラクションコードにおい
て“NOP”の場合にクロックを発生しないようにする
ためのビットである制御コードN0,N1,N2,N3
を変換コードに対して図14のように追加して、4倍の
クロックでの実行回数を減らすようにする。すなわち、
40ビット目に制御コードN0を設定し、41ビット目
に制御コードN1を設定し、42ビット目に制御コード
N2を設定し、43ビット目に制御コードN3を設定し
てある。
Control codes N0, N1, N2, and N3, which are bits for preventing generation of a clock in the case of "NOP" in the instruction code of FIG.
Is added to the conversion code as shown in FIG. 14 so as to reduce the number of executions with a quadruple clock. That is,
The control code N0 is set in the 40th bit, the control code N1 is set in the 41st bit, the control code N2 is set in the 42nd bit, and the control code N3 is set in the 43rd bit.

【0079】図15は実行回数を減らすためのROMデ
ータ変換器3の構成を示すブロック図、図16はそのタ
イミングを示す図である。
FIG. 15 is a block diagram showing a configuration of the ROM data converter 3 for reducing the number of executions, and FIG. 16 is a diagram showing its timing.

【0080】インストラクションROM2の出力はイン
ストラクション出力と、制御コードN0,N1,N2,
N3に分けられ、インストラクション出力はそのまま次
段のシステムコントローラ4へ出力され、制御コードN
0〜N3はROMデータ変換器3にそれぞれ出力され
る。4倍クロックは2ビットで4値を持ち得る4進カウ
ンタ21とANDゲート28に接続され、4進カウンタ
21の出力はデコーダ22に出力される。デコーダ22
は、4進カウンタ21のカウント値に合わせてセレクト
信号A〜Dを次段のシステムコントローラ4に対して出
力する。セレクト信号A,B,C,Dと制御コードN
0,N1,N2,N3はそれぞれANDゲート23,2
4,25,26に入力され、それらの出力はORゲート
27に入力される。ORゲート27の出力はANDゲー
ト28に入力され、4倍クロックと論理積を取り、AN
Dゲート28の出力はデジタルシグナルプロセッサのシ
ステムクロックとして出力される。
The output of the instruction ROM 2 is an instruction output and control codes N0, N1, N2,
N3, the instruction output is output to the next stage system controller 4 as it is, and the control code N
0 to N3 are output to the ROM data converter 3, respectively. The quadruple clock is connected to a quaternary counter 21 and an AND gate 28 which can have four values in two bits. Decoder 22
Outputs select signals A to D to the system controller 4 at the next stage in accordance with the count value of the quaternary counter 21. Select signals A, B, C, D and control code N
0, N1, N2 and N3 are AND gates 23 and 2 respectively.
4, 25, 26, and their outputs are input to an OR gate 27. The output of the OR gate 27 is input to the AND gate 28, and is ANDed with the quadruple clock,
The output of the D gate 28 is output as a system clock of the digital signal processor.

【0081】4倍クロックを入力した4進カウンタ21
がカウント0を出力し、デコーダ22からのセレクト信
号Aのみが“H”で制御コードN0が“1”のとき、A
NDゲート23が導通し、ORゲート27も導通するか
ら、ANDゲート28が導通状態となって、4倍クロッ
クがシステムクロックとして出力され、図13の5行目
のインストラクションコードの一部〔アセンブラ形式で
AA:ADD(A1,A1,P)MULT〕がセレクト
信号Aによって選択される。4進カウンタ21がカウン
ト1を出力し、デコーダ22からのセレクト信号Bのみ
が“H”で制御コードN1が“1”のとき、ANDゲー
ト24が導通し、ORゲート27も導通するから、AN
Dゲート28が導通状態となって、4倍クロックがシス
テムクロックとして出力され、図13の5行目のインス
トラクションコードの一部〔アセンブラ形式でINC
(RO)〕がセレクト信号Bによって選択される。4進
カウンタ21がカウント2を出力し、デコーダ22から
のセレクト信号Cのみが“H”で制御コードN2が
“0”のとき、ANDゲート25および他の3つのAN
Dゲートがすべて非導通状態となり、ORゲート27も
非導通状態となるから、ANDゲート28は非導通状態
となって、4倍クロックのシステムクロックとしての出
力はなくなる。ただし、図13の5行目のインストラク
ションコードの一部〔アセンブラ形式で1番目のNO
P〕がセレクト信号Cによって選択される。4進カウン
タ21がカウント3を出力し、デコーダ22からのセレ
クト信号Dのみが“H”で制御コードN3が“0”のと
き、ANDゲート26および他の3つのANDゲートが
すべて非導通状態となり、前記と同様にANDゲート2
8は非導通状態となって、4倍クロックのシステムクロ
ックとしての出力はなくなる。ただし、図13の5行目
のインストラクションコードの一部〔アセンブラ形式で
2番目のNOP〕がセレクト信号Dによって選択され
る。
A quaternary counter 21 to which a quadruple clock is input
Outputs a count 0, and when only the select signal A from the decoder 22 is "H" and the control code N0 is "1", A
Since the ND gate 23 is turned on and the OR gate 27 is turned on, the AND gate 28 is turned on, and the quadruple clock is output as the system clock. A part of the instruction code on the fifth line in FIG. AA: ADD (A1, A1, P) MULT] is selected by the select signal A. When the quaternary counter 21 outputs the count 1 and only the select signal B from the decoder 22 is "H" and the control code N1 is "1", the AND gate 24 conducts and the OR gate 27 conducts.
When the D gate 28 is turned on, the quadruple clock is output as the system clock, and a part of the instruction code on line 5 in FIG. 13 [INC in assembler format]
(RO)] is selected by the select signal B. When the quaternary counter 21 outputs count 2 and only the select signal C from the decoder 22 is "H" and the control code N2 is "0", the AND gate 25 and the other three ANs are output.
Since all the D gates are non-conductive and the OR gate 27 is also non-conductive, the AND gate 28 is non-conductive and there is no output as the system clock of the quadrupled clock. However, a part of the instruction code on the fifth line in FIG. 13 [the first NO in assembler format]
P] is selected by the select signal C. When the quaternary counter 21 outputs the count 3 and only the select signal D from the decoder 22 is "H" and the control code N3 is "0", the AND gate 26 and the other three AND gates are all turned off. , AND gate 2
8 is in a non-conductive state, and the output as the system clock of the quadruple clock disappears. However, part of the instruction code on the fifth line in FIG. 13 (the second NOP in assembler format) is selected by the select signal D.

【0082】次に、再び4進カウンタ21がカウント0
を出力し、デコーダ22からのセレクト信号Aのみが
“H”で制御コードN0が“1”のとき、ANDゲート
23が導通するから、ANDゲート28が導通状態とな
って、4倍クロックがシステムクロックとして出力さ
れ、図13の6行目のインストラクションコードの一部
〔アセンブラ形式でSBA(A1,A1,P)MUL
T〕がセレクト信号Aによって選択される。4進カウン
タ21がカウント1を出力し、デコーダ22からのセレ
クト信号Bのみが“H”で制御コードN1が“1”のと
き、ANDゲート24が導通するから、ANDゲート2
8が導通状態となって、4倍クロックがシステムクロッ
クとして出力され、図13の6行目のインストラクショ
ンコードの一部〔アセンブラ形式でINC(RO)〕が
セレクト信号Bによって選択される。4進カウンタ21
がカウント2を出力し、デコーダ22からのセレクト信
号Cのみが“H”で制御コードN2が“0”のとき、A
NDゲート25および他の3つのANDゲートがすべて
非導通状態となるから、ANDゲート28は非導通状態
となって、4倍クロックのシステムクロックとしての出
力はなくなる。ただし、図13の6行目のインストラク
ションコードの一部〔アセンブラ形式でNOP〕がセレ
クト信号Cによって選択される。4進カウンタ21がカ
ウント3を出力し、デコーダ22からのセレクト信号D
のみが“H”で制御コードN3が“1”のとき、AND
ゲート26が導通するから、ANDゲート28が導通状
態となって、4倍クロックがシステムクロックとして出
力され、図13の6行目のインストラクションコードの
一部〔アセンブラ形式でJNC0 AA〕がセレクト信
号Dによって選択される。
Next, the quaternary counter 21 again counts 0.
When only the select signal A from the decoder 22 is "H" and the control code N0 is "1", the AND gate 23 is turned on. A part of the instruction code on the sixth line in FIG. 13 [SBA (A1, A1, P) MUL in assembler format]
T] is selected by the select signal A. When the quaternary counter 21 outputs the count 1 and only the select signal B from the decoder 22 is "H" and the control code N1 is "1", the AND gate 24 becomes conductive.
8, the quadruple clock is output as the system clock, and a part of the instruction code (INC (RO) in assembler format) on the sixth line in FIG. Quaternary counter 21
Outputs a count 2, and when only the select signal C from the decoder 22 is "H" and the control code N2 is "0", A
Since the ND gate 25 and the other three AND gates are all non-conductive, the AND gate 28 is non-conductive, and there is no output as the system clock of the quadrupled clock. However, a part of the instruction code (NOP in assembler format) on the sixth line in FIG. The quaternary counter 21 outputs the count 3 and the select signal D from the decoder 22
When only the control code N3 is "1" and the control code N3 is "1", AND
Since the gate 26 is turned on, the AND gate 28 is turned on, and the quadruple clock is output as the system clock. A part of the instruction code on the sixth line in FIG. 13 [in the assembler format, JNC0 AA] is the select signal D. Selected by.

【0083】次に、再び4進カウンタ21がカウント0
を出力し、デコーダ22からのセレクト信号Aのみが
“H”で制御コードN0が“0”のとき、ANDゲート
23および他の3つのANDゲートがすべて非導通状態
となるから、ANDゲート28は非導通状態となって、
4倍クロックのシステムクロックとしての出力はなくな
る。ただし、図13の7行目のインストラクションコー
ドの一部〔アセンブラ形式で1番目のNOP〕がセレク
ト信号Aによって選択される。4進カウンタ21がカウ
ント1を出力し、デコーダ22からのセレクト信号Bの
みが“H”で制御コードN1が“0”のとき、前述同様
に4倍クロックのシステムクロックとしての出力はなく
なる。ただし、図13の7行目のインストラクションコ
ードの一部〔アセンブラ形式で2番目のNOP〕がセレ
クト信号Bによって選択される。4進カウンタ21がカ
ウント2を出力し、デコーダ22からのセレクト信号C
のみが“H”で制御コードN2が“1”のとき、AND
ゲート25が導通するから、ANDゲート28より4倍
クロックがシステムクロックとして出力され、図13の
7行目のインストラクションコードの一部〔アセンブラ
形式でMOV(RA,A0)INC(RA)〕がセレク
ト信号Cによって選択される。4進カウンタ21がカウ
ント3を出力し、デコーダ22からのセレクト信号Dの
みが“H”で制御コードN3が“0”のとき、前述同様
に4倍クロックのシステムクロックとしての出力はなく
なる。ただし、図13の7行目のインストラクションコ
ードの一部〔アセンブラ形式で3番目のNOP〕(これ
は図示せず)がセレクト信号Dによって選択される。
Next, the quaternary counter 21 again counts 0.
When only the select signal A from the decoder 22 is "H" and the control code N0 is "0", the AND gate 23 and the other three AND gates are all turned off. Becomes non-conductive,
The output as the system clock of the quadruple clock disappears. However, part of the instruction code on the seventh line in FIG. 13 (the first NOP in assembler format) is selected by the select signal A. When the quaternary counter 21 outputs the count 1 and only the select signal B from the decoder 22 is "H" and the control code N1 is "0", the output as the system clock of the quadrupled clock disappears as described above. However, a part (the second NOP in assembler format) of the instruction code on the seventh line in FIG. The quaternary counter 21 outputs the count 2 and the select signal C from the decoder 22
When only the control code N2 is "1" and the control code N2 is "1", AND
Since the gate 25 is turned on, a four-fold clock is output as a system clock from the AND gate 28, and a part of the instruction code [MOV (RA, A0) INC (RA) in assembler format] of the seventh line in FIG. 13 is selected. Selected by signal C. When the quaternary counter 21 outputs the count 3 and only the select signal D from the decoder 22 is "H" and the control code N3 is "0", the output as the system clock of the quadrupled clock disappears as described above. However, a part (third NOP in assembler format) (not shown) of the instruction code on the seventh line in FIG. 13 is selected by the select signal D.

【0084】この実施の形態4の場合の実行回数は、実
施の形態3の式(7)と同様であるが、4倍クロックを
用いた場合の実際のクロック数を求めると、上記のよう
にして不要なクロックが取り除かれるので、 7+〔{(5×16)+4}×16〕=1351 ……………………(12) となり、 1351÷837=1.614 …………………………………………(13) と、従来方式に比べて、使用するクロック数は、約1.
6倍程度にまで抑えることができる。
The number of executions in the fourth embodiment is the same as that of the equation (7) in the third embodiment. However, when the actual number of clocks when a quadruple clock is used is obtained, Since unnecessary clocks are removed, 7 + [{(5 × 16) +4} × 16] = 1351... ...... (12), and 1351/837 = 1.614... (13) The number of clocks used is about 1.
It can be suppressed to about six times.

【0085】なお、実施の形態3および実施の形態4に
おいて、4進カウンタ21に代えて、Nを1以上の任意
の自然数として、インストラクションROM2のROM
アドレスカウンタ1のクロックのN倍のクロックでカウ
ントするN進カウンタを用いる実施の形態も考えられ
る。
In the third and fourth embodiments, N is an arbitrary natural number of 1 or more, instead of the quaternary counter 21, and the ROM of the instruction ROM 2 is
An embodiment using an N-ary counter that counts at N times the clock of the address counter 1 is also conceivable.

【0086】また、実施の形態1から実施の形態4の何
れについても、デジタルシグナルプロセッサとして構成
することに代えて、本発明を、インストラクションコー
ドで内部の制御を行うマイクロコンピュータを含む集積
回路一般に適用してもよい。
In each of the first to fourth embodiments, the present invention is applied to a general integrated circuit including a microcomputer whose internal control is performed by an instruction code, instead of being configured as a digital signal processor. May be.

【0087】[0087]

【発明の効果】本発明に係る請求項1のデジタルシグナ
ルプロセッサによれば、インストラクションコードをビ
ット反転等で加工して1つのインストラクションコード
から複数のコードを作り複数の回路を制御するので、イ
ンストラクションROMの動作速度を特に上げなくて
も、デジタルシグナルプロセッサ全体としての動作速度
を実質的に向上させることができる。
According to the digital signal processor of the first aspect of the present invention, the instruction code is processed by bit inversion or the like to generate a plurality of codes from one instruction code and control a plurality of circuits. The operating speed of the entire digital signal processor can be substantially improved without increasing the operating speed of the digital signal processor.

【0088】本発明に係る請求項2のデジタルシグナル
プロセッサによれば、1つのインストラクションコード
から複数のコードを作るのにビット反転で作るから、そ
の手段を簡単なものにすることができる。
According to the digital signal processor of the second aspect of the present invention, since a plurality of codes are formed from one instruction code by bit inversion, the means can be simplified.

【0089】本発明に係る請求項3のデジタルシグナル
プロセッサによれば、ビット反転するか否かを決定する
制御コードを持たせて必要な部分に対してのみビット反
転を行うので、動作速度を上げることに伴う必要以上の
消費電力の増加を防ぐことができる。
According to the digital signal processor of the third aspect of the present invention, a control code for deciding whether or not to perform bit inversion is provided to perform bit inversion only on necessary portions, thereby increasing the operation speed. Accordingly, it is possible to prevent an unnecessary increase in power consumption.

【0090】本発明に係る請求項4のデジタルシグナル
プロセッサによれば、N進カウンタを用いてN倍のクロ
ックを作り、このクロックで制御するので、見かけ上の
速度をN倍にすることができる。
According to the digital signal processor of the fourth aspect of the present invention, since an N-fold clock is generated by using the N-ary counter and controlled by this clock, the apparent speed can be increased by N times. .

【0091】本発明に係る請求項5のデジタルシグナル
プロセッサによれば、N進カウントのカウント値の有効
性を決定する制御コードを持たせ、必要な部分に対して
のみN倍のクロックで制御するので、動作速度を上げる
ことに伴う必要以上の消費電力の増加を防ぐことができ
る。
According to the digital signal processor of the fifth aspect of the present invention, a control code for determining the validity of the count value of the N-ary count is provided, and only necessary parts are controlled by N times clock. Therefore, it is possible to prevent an unnecessary increase in power consumption caused by increasing the operation speed.

【0092】本発明に係る請求項6の集積回路によれ
ば、マイクロコンピュータ等においても上記と同様の効
果が得られる。
According to the integrated circuit of the sixth aspect of the present invention, the same effects as described above can be obtained in a microcomputer or the like.

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

【図1】本発明の実施の形態に係るデジタルシグナルプ
ロセッサの主要部の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a main part of a digital signal processor according to an embodiment of the present invention.

【図2】従来技術に係るデジタルシグナルプロセッサの
インストラクションROMに格納されているインストラ
クションコードをアセンブラに基づいて呼び出すための
変換コードの構造の説明図である。
FIG. 2 is an explanatory diagram of a structure of a conversion code for calling an instruction code stored in an instruction ROM of a digital signal processor according to a conventional technique based on an assembler.

【図3】本発明の実施の形態および従来技術の動作説明
に用いるアセンブラ言語を用いたソースプログラムの一
例を示す図である。
FIG. 3 is a diagram showing an example of a source program using an assembler language used for explaining the operation of the embodiment of the present invention and the conventional technique.

【図4】図3のソースプログラムの1行目のアセンブラ
コードに対応するインストラクションコードの説明図で
ある。
4 is an explanatory diagram of an instruction code corresponding to the assembler code on the first line of the source program in FIG. 3;

【図5】従来の方式により、図3のプログラムを図2の
変換コードに従って変換した場合のインストラクション
コードの説明図である。
FIG. 5 is an explanatory diagram of instruction codes when the program of FIG. 3 is converted according to the conversion code of FIG. 2 by a conventional method.

【図6】従来の方式において、図3のアセンブラコード
と図5のインストラクションコードとを対比させたコー
ド対応図である。
6 is a code correspondence diagram in which the assembler code of FIG. 3 and the instruction code of FIG. 5 are compared in the conventional method.

【図7】本発明の実施の形態1のデジタルシグナルプロ
セッサにおいて、図3における6行目の“ADD”のビ
ット反転コードに“SBA”の意味を持たせ、それ以外
のビット反転コードは“NOP”とした場合のアセンブ
ラ言語によるソースプログラムを示す図である。
FIG. 7 In the digital signal processor according to the first embodiment of the present invention, the bit inversion code of “ADD” in the sixth row in FIG. 3 has the meaning of “SBA”, and the other bit inversion codes are “NOP”. FIG. 14 is a diagram showing a source program in an assembler language when "."

【図8】実施の形態1において、図7のアセンブラコー
ドとそれに対応するインストラクションコードとを対比
させたコード対応図である。
FIG. 8 is a code correspondence diagram in which the assembler code of FIG. 7 is compared with the corresponding instruction code in the first embodiment.

【図9】実施の形態1において、ビット反転を行うため
の、インストラクションROMに格納されているインス
トラクションコードをアセンブラに基づいて呼び出すた
めの変換コードの構造の説明図である。
FIG. 9 is an explanatory diagram of a structure of a conversion code for calling an instruction code stored in an instruction ROM based on an assembler for performing bit inversion in the first embodiment.

【図10】本発明の実施の形態2に係るデジタルシグナ
ルプロセッサにおける実行回数を減らすためのROMデ
ータ変換器の構成を示すブロック図である。
FIG. 10 is a block diagram showing a configuration of a ROM data converter for reducing the number of executions in a digital signal processor according to a second embodiment of the present invention.

【図11】実施の形態2の動作を説明するためのタイミ
ング図である。
FIG. 11 is a timing chart for explaining the operation of the second embodiment.

【図12】本発明の実施の形態3に係るデジタルシグナ
ルプロセッサにおける消費電力を削減するための、イン
ストラクションROMに格納されているインストラクシ
ョンコードをアセンブラに基づいて呼び出すための変換
コードの構造の説明図である。
FIG. 12 is an explanatory diagram of a structure of a conversion code for calling an instruction code stored in an instruction ROM based on an assembler to reduce power consumption in the digital signal processor according to the third embodiment of the present invention. is there.

【図13】実施の形態3において、図2の変換コードを
用いて図3のソースプログラムを変換したソースプログ
ラムを示す図である。
FIG. 13 is a diagram showing a source program obtained by converting the source program of FIG. 3 using the conversion code of FIG. 2 in the third embodiment.

【図14】本発明の実施の形態4に係るデジタルシグナ
ルプロセッサにおいて“NOP”の部分に4倍クロック
を発生させないようにした制御コードを付加した、イン
ストラクションROMに格納されているインストラクシ
ョンコードをアセンブラに基づいて呼び出すための変換
コードの構造の説明図である。
FIG. 14 is a block diagram showing a digital signal processor according to a fourth embodiment of the present invention, in which an instruction code stored in an instruction ROM, in which a control code for preventing generation of a quadruple clock is added to a “NOP” portion, is transmitted to an assembler. FIG. 3 is an explanatory diagram of a structure of a conversion code for calling based on the above.

【図15】実施の形態4において実行回数を減らすため
のROMデータ変換器の構成を示すブロック図である。
FIG. 15 is a block diagram showing a configuration of a ROM data converter for reducing the number of executions in the fourth embodiment.

【図16】実施の形態4の動作を説明するためのタイミ
ング図である。
FIG. 16 is a timing chart for explaining the operation of the fourth embodiment.

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

1……ROMアドレスカウンタ 2……インストラクションROM 3……ROMデータ変換器 3a…データセレクタ 3b…ROMデータ反転器 3c…1/2分周器 4……システムコントローラ 5……テンポラリーレジスタ 6……テーブルROM 7……RAM 8……乗算器 9……ALU(論理演算ユニット) 10……第1の待避レジスタ(ACC0) 11……第2の待避レジスタ(ACC1) 12……データバス 13……第1のカウントレジスタ(0) 14……第2のカウントレジスタ(1) 15……RAMアドレスカウンタ 16……ROMアドレスカウンタ 21……4進カウンタ 22……デコーダ A……制御コード I……インストラクションコード N0〜N3……制御コード 1 ROM address counter 2 Instruction ROM 3 ROM data converter 3a Data selector 3b ROM data inverter 3c 1/2 frequency divider 4 System controller 5 Temporary register 6 Table ROM 7 RAM 8 Multiplier 9 ALU (logical operation unit) 10 First save register (ACC0) 11 Second save register (ACC1) 12 Data bus 13 1 count register (0) 14 ... second count register (1) 15 ... RAM address counter 16 ... ROM address counter 21 ... quaternary counter 22 ... decoder A ... control code I ... instruction code N0 to N3 ... control code

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 インストラクションコードで内部の制御
を行うデジタルシグナルプロセッサにおいて、インスト
ラクションROMの1つのコードで複数の回路の制御が
行えるようにするためのコードを持つことを特徴とする
デジタルシグナルプロセッサ。
1. A digital signal processor in which internal control is performed by an instruction code, wherein the digital signal processor has a code for enabling control of a plurality of circuits with one code of an instruction ROM.
【請求項2】 インストラクションコードの一部または
全部をビット反転することにより1つのコードを複数の
回路の制御のためのコードに変換する請求項1に記載の
デジタルシグナルプロセッサ。
2. The digital signal processor according to claim 1, wherein one code is converted into a code for controlling a plurality of circuits by bit inverting a part or all of the instruction code.
【請求項3】 インストラクションコードをビット反転
するかどうかを制御する制御コードを持つ請求項2に記
載のデジタルシグナルプロセッサ。
3. The digital signal processor according to claim 2, further comprising a control code for controlling whether or not the instruction code is bit-inverted.
【請求項4】 インストラクションROMのアドレスカ
ウンタとは別にアドレスカウンタのN倍(Nは1以上の
自然数)のクロックでカウントするN進カウンタを持
ち、そのN進カウンタのカウント値に基づいて1つのコ
ードを複数の回路の制御のためのコードに変換する請求
項1に記載のデジタルシグナルプロセッサ。
4. An N-ary counter which counts with a clock N times (N is a natural number of 1 or more) of the address counter separately from the address counter of the instruction ROM, and one code is generated based on the count value of the N-ary counter. 2. The digital signal processor according to claim 1, wherein the signal is converted into a code for controlling a plurality of circuits.
【請求項5】 アドレスカウンタのN倍のクロックでカ
ウントするN進カウンタのカウント値が有効かどうかを
制御する制御コードを持つ請求項4に記載のデジタルシ
グナルプロセッサ。
5. The digital signal processor according to claim 4, further comprising a control code for controlling whether or not a count value of an N-ary counter that counts at N times the clock of the address counter is valid.
【請求項6】 デジタルシグナルプロセッサと同様にイ
ンストラクションコードで内部の制御を行うマイクロコ
ンピュータを含むことがある請求項1から請求項5まで
のいずれかに記載の集積回路。
6. The integrated circuit according to claim 1, further comprising a microcomputer for performing internal control by an instruction code similarly to the digital signal processor.
JP9133472A 1997-05-23 1997-05-23 Digital signal processor and integrated circuit Pending JPH10326187A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9133472A JPH10326187A (en) 1997-05-23 1997-05-23 Digital signal processor and integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9133472A JPH10326187A (en) 1997-05-23 1997-05-23 Digital signal processor and integrated circuit

Publications (1)

Publication Number Publication Date
JPH10326187A true JPH10326187A (en) 1998-12-08

Family

ID=15105584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9133472A Pending JPH10326187A (en) 1997-05-23 1997-05-23 Digital signal processor and integrated circuit

Country Status (1)

Country Link
JP (1) JPH10326187A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020195880A (en) * 2016-10-14 2020-12-10 株式会社ユニバーサルエンターテインメント Game machine
JP2021006301A (en) * 2020-10-21 2021-01-21 株式会社ユニバーサルエンターテインメント Game machine
JP2021007808A (en) * 2020-10-22 2021-01-28 株式会社ユニバーサルエンターテインメント Game machine
JP2021007809A (en) * 2020-10-22 2021-01-28 株式会社ユニバーサルエンターテインメント Game machine
JP2021035622A (en) * 2020-12-01 2021-03-04 株式会社ユニバーサルエンターテインメント Game machine
JP2021045638A (en) * 2020-12-22 2021-03-25 株式会社ユニバーサルエンターテインメント Game machine
JP2021049412A (en) * 2020-12-22 2021-04-01 株式会社ユニバーサルエンターテインメント Game machine
JP2021053409A (en) * 2020-12-01 2021-04-08 株式会社ユニバーサルエンターテインメント Game machine
JP2021053408A (en) * 2020-12-01 2021-04-08 株式会社ユニバーサルエンターテインメント Game machine
JP2021058634A (en) * 2020-12-22 2021-04-15 株式会社ユニバーサルエンターテインメント Game machine
JP2021118878A (en) * 2017-06-14 2021-08-12 株式会社ユニバーサルエンターテインメント Game machine
JP2021118877A (en) * 2017-06-14 2021-08-12 株式会社ユニバーサルエンターテインメント Game machine
JP2023014178A (en) * 2020-02-10 2023-01-26 株式会社ユニバーサルエンターテインメント game machine

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020195880A (en) * 2016-10-14 2020-12-10 株式会社ユニバーサルエンターテインメント Game machine
JP2021118878A (en) * 2017-06-14 2021-08-12 株式会社ユニバーサルエンターテインメント Game machine
JP2021118877A (en) * 2017-06-14 2021-08-12 株式会社ユニバーサルエンターテインメント Game machine
JP2023014178A (en) * 2020-02-10 2023-01-26 株式会社ユニバーサルエンターテインメント game machine
JP2021006301A (en) * 2020-10-21 2021-01-21 株式会社ユニバーサルエンターテインメント Game machine
JP2021007808A (en) * 2020-10-22 2021-01-28 株式会社ユニバーサルエンターテインメント Game machine
JP2021007809A (en) * 2020-10-22 2021-01-28 株式会社ユニバーサルエンターテインメント Game machine
JP2021035622A (en) * 2020-12-01 2021-03-04 株式会社ユニバーサルエンターテインメント Game machine
JP2021053409A (en) * 2020-12-01 2021-04-08 株式会社ユニバーサルエンターテインメント Game machine
JP2021053408A (en) * 2020-12-01 2021-04-08 株式会社ユニバーサルエンターテインメント Game machine
JP2021049412A (en) * 2020-12-22 2021-04-01 株式会社ユニバーサルエンターテインメント Game machine
JP2021058634A (en) * 2020-12-22 2021-04-15 株式会社ユニバーサルエンターテインメント Game machine
JP2021045638A (en) * 2020-12-22 2021-03-25 株式会社ユニバーサルエンターテインメント Game machine

Similar Documents

Publication Publication Date Title
JPH10326187A (en) Digital signal processor and integrated circuit
US4041292A (en) High speed binary multiplication system employing a plurality of multiple generator circuits
JPS61122747A (en) Data processor
US4422143A (en) Microprocessor ALU with absolute value function
JPH0470662B2 (en)
US5957996A (en) Digital data comparator and microprocessor
JPH073653B2 (en) Shifter
US5363322A (en) Data processor with an integer multiplication function on a fractional multiplier
JP3433588B2 (en) Mask data generation circuit and bit field operation circuit
US4723258A (en) Counter circuit
JPH06266536A (en) Multiplication/division device
GB2517539A (en) Data processing apparatus and method for performing a narrow-and-rounding arithmetic operation
JP2991788B2 (en) Decoder
JPH0831033B2 (en) Data processing device
JPH1063500A (en) Signal processor
JP2582444B2 (en) × 2 ▲ upper n ▼ arithmetic circuit
JPH0619700B2 (en) Arithmetic unit
SU654948A2 (en) Digital electronic series-acting computer
JP2706459B2 (en) Microprocessor with decimal multiplier
US20070055847A1 (en) Operational processor with a status information register serving as a data register
JPH10149277A (en) Multiplication device
JPS63306718A (en) Serial access circuit
SU1228098A1 (en) Device for shifting information
JP2000076045A (en) Microprocessor having alu instruction with shift function
JPH04287220A (en) Multiplier circuit