Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2845844B2 - Microprocessor - Google Patents
[go: Go Back, main page]

JP2845844B2 - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JP2845844B2
JP2845844B2 JP8282313A JP28231396A JP2845844B2 JP 2845844 B2 JP2845844 B2 JP 2845844B2 JP 8282313 A JP8282313 A JP 8282313A JP 28231396 A JP28231396 A JP 28231396A JP 2845844 B2 JP2845844 B2 JP 2845844B2
Authority
JP
Japan
Prior art keywords
instruction
pointer
data
memory
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.)
Expired - Fee Related
Application number
JP8282313A
Other languages
Japanese (ja)
Other versions
JPH10124309A (en
Inventor
修 氏森
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.)
NIPPON DENKI AISHII MAIKON SHISUTEMU KK
Original Assignee
NIPPON DENKI AISHII MAIKON SHISUTEMU KK
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 NIPPON DENKI AISHII MAIKON SHISUTEMU KK filed Critical NIPPON DENKI AISHII MAIKON SHISUTEMU KK
Priority to JP8282313A priority Critical patent/JP2845844B2/en
Priority to GB9722595A priority patent/GB2321121B/en
Publication of JPH10124309A publication Critical patent/JPH10124309A/en
Application granted granted Critical
Publication of JP2845844B2 publication Critical patent/JP2845844B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Complex Calculations (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はマイクロプロセッサ
に関し、特に信号処理演算を含むデータ処理を行うマイ
クロプロセッサに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor, and more particularly, to a microprocessor that performs data processing including signal processing operations.

【0002】[0002]

【従来の技術】従来、この種のマイクロプロセッサは、
汎用マイクロプロセッサとして、汎用のデータ処理と共
に信号処理演算を必要とする機器制御に用いられてい
る。たとえば、図3は、一般的な従来の汎用マイクロプ
ロセッサの構成例を示すブロック図である。
2. Description of the Related Art Conventionally, this kind of microprocessor has
As a general-purpose microprocessor, it is used for equipment control that requires signal processing operation together with general-purpose data processing. For example, FIG. 3 is a block diagram showing a configuration example of a general conventional general-purpose microprocessor.

【0003】図3を参照すると、この汎用マイクロプロ
セッサを用いて信号処理演算を行った場合、データRO
M7やデータRAM3に演算要素である係数や遅延デー
タを記憶し、その内容を用いて演算を実行する。これに
よるデータ転送動作は、一旦、レジスタ11もしくは命
令デコーダ2から内部バス15を経由してデータROM
7もしくはデータRAM3のアドレス情報を該当するR
AMアドレスレジスタ16またはROMアドレスレジス
タ17に転送することでアドレス指定を行い、次に内部
バス15を経由してデータROM7もしくはデータRA
M3から乗算器や算術演算器に転送し、演算を行うとい
った手順で処理される。このため、汎用マイクロプロセ
ッサでは、頻繁に実行されるデータアドレスの更新の
際、内部バスを占有してデータアドレス情報の転送を行
ったり、算術演算器を用いてアドレス演算を行う必要が
あり、この間、他の命令を実行できないため、単位時間
あたりの乗算等の演算実行回数が著しく低下するという
問題があった。
Referring to FIG. 3, when a signal processing operation is performed using this general-purpose microprocessor, data RO is obtained.
A coefficient or delay data as an operation element is stored in M7 or the data RAM 3, and an operation is executed using the contents. The data transfer operation by this means is performed once by the data ROM from the register 11 or the instruction decoder 2 via the internal bus 15.
7 or the address information of the data RAM 3
The address is specified by transferring the data to the AM address register 16 or the ROM address register 17, and then the data ROM 7 or the data RA is transferred via the internal bus 15.
The process is performed by transferring the data from M3 to a multiplier or an arithmetic operation unit and performing an operation. For this reason, a general-purpose microprocessor needs to occupy the internal bus and transfer data address information when performing frequently updated data addresses, or to perform address calculations using an arithmetic unit. Since other instructions cannot be executed, the number of executions of operations such as multiplication per unit time is greatly reduced.

【0004】代表的なディジタル信号処理の処理例とし
て、最も多用されると考えられるバイクァッド型IIR
フィルタのプログラムを汎用マイクロプロセッサで実行
する際の処理手順を説明する。図4は、この2次のバイ
クァッド型IIRフィルタを処理する際の命令の手順を
示す流れ図である。図4に示すステップS1〜S14
は、何れもデータのアドレス更新に要する命令ステップ
である。これによると、プログラムを構成する36個の
命令中、これらデータアドレス更新のために14個の命
令が実行されなければならないことがわかる。
A typical example of digital signal processing is a biquad type IIR which is considered to be most frequently used.
A processing procedure when the filter program is executed by the general-purpose microprocessor will be described. FIG. 4 is a flowchart showing a procedure of an instruction when processing the second-order biquad IIR filter. Steps S1 to S14 shown in FIG.
Are instruction steps required for updating the address of data. According to this, it is understood that out of the 36 instructions constituting the program, 14 instructions must be executed in order to update these data addresses.

【0005】汎用マイクロプロセッサにおける前述の問
題に対して、ディジタル信号処理に適した回路構成を有
することで解決した専用プロセッサ、いわゆるディジタ
ル信号処理プロセッサ(以下、DSPと称す)が開発さ
れ、特に、リアルタイム信号処理システムには必須のも
のとして利用されている。一般に、DSPでは、ハード
ウェア乗算器を備えると共に、データバスとプログラム
バスを個別に設け、それぞれのアドレス空間を独立させ
ることによりデータとプログラムの同時参照を可能にし
たり、データアドレスの更新を他の動作とは並列に実行
可能なデータメモリポインタを備えることで演算効率を
向上させている。また、データメモリポインタには、多
種の機能があり、2次元配列操作やバタフライ演算など
信号処理に多用されるアドレス演算機能を様々な方法で
実現している。
A dedicated processor, a so-called digital signal processor (hereinafter referred to as DSP), has been developed to solve the above-mentioned problem in general-purpose microprocessors by providing a circuit configuration suitable for digital signal processing. It is used as an essential component in signal processing systems. In general, a DSP includes a hardware multiplier, and a data bus and a program bus are separately provided to make it possible to simultaneously refer to data and a program by making each address space independent, and to update a data address by another. The operation efficiency is improved by providing a data memory pointer that can be executed in parallel with the operation. Further, the data memory pointer has various functions, and realizes an address operation function frequently used for signal processing such as a two-dimensional array operation and a butterfly operation by various methods.

【0006】また、多くのDSPでは、前述のデータメ
モリポインタに対する命令を格納する領域を他の命令と
同一語中に並列の設けて、同時に実行することでアドレ
ス更新処理が動作時間を占有することを解消している。
図5は、前述のIIRフィルタと等価なものを、代表的
なDSPを用いて実現した場合のプログラムの流れ図で
ある。同一の枠内に記された命令は全て同一の命令サイ
クル中に実行されるものであり、10個の命令によっ
て、5回の積和演算を含む同フィルタのプログラムを構
成している。これは、命令の個数だけで見ても3倍以上
の性能差があることを示している。
In many DSPs, the address update processing occupies an operation time by providing an area for storing the instruction for the data memory pointer described above in parallel with another instruction in the same word and executing the instruction at the same time. Has been eliminated.
FIG. 5 is a flowchart of a program in a case where an equivalent to the above-described IIR filter is realized using a typical DSP. The instructions described in the same frame are all executed during the same instruction cycle, and the ten instructions constitute a program of the same filter including five multiply-accumulate operations. This indicates that there is a performance difference of three times or more even in the number of instructions alone.

【0007】ただし、DSPは、命令体系とその実行手
段である回路構成を、信号処理を目的として絞り込むこ
とで、信号処理に重要な演算速度及び演算効率を得てい
るため、その利用における汎用性は乏しい。具体的には
入出力ポート制御機能や割り込み処理機能や論理演算機
能が一般のマイクロプロセッサに対して著しく劣るた
め、DSP外部の回路にたいする制御用として一般のマ
イクロプロセッサに代えて使用するには不適合とする認
識が一般に常識としてとらえられている。
However, the DSP obtains an operation speed and an operation efficiency important for signal processing by narrowing down an instruction system and a circuit configuration as an execution means for the purpose of signal processing. Is scarce. Specifically, since the I / O port control function, interrupt processing function, and logical operation function are significantly inferior to general microprocessors, it is incompatible with general microprocessors for controlling external circuits. Is generally regarded as common sense.

【0008】一方、DSPに見られるようなデータメモ
リポインタの並列実行手段を汎用マイクロプロセッサに
採用する事は、信号処理演算以外では使用頻度が極めて
低いデータメモリポインタ用の命令領域を、従来の命令
と並列に付加することによる命令メモリの使用効率の悪
化を招き、特に、従来のマイクロプロセッサとのソフト
ウェアの流用性を著しく損なうため、不合理かつ困難と
されていた。
On the other hand, adopting a parallel execution means of a data memory pointer as seen in a DSP in a general-purpose microprocessor requires an instruction area for a data memory pointer, which is extremely rarely used except for signal processing operations, by using a conventional instruction memory. In addition, the efficiency of use of the instruction memory is deteriorated by adding the instruction memory in parallel, and in particular, the applicability of software with a conventional microprocessor is significantly impaired, which has been considered irrational and difficult.

【0009】近年、ハードウェア乗算器を備え、ディジ
タル信号処理に多用される積和演算を1命令サイクルで
実行可能なマイクロプロセッサも存在するが、DSPに
備えられるようなデータメモリポインタの並列処理機能
は、前述の理由により搭載には至っていない。そのた
め、リアルタイムでの信号処理システムに用いるものと
しては、それが比較的小規模なシステムであったとして
も処理能力が不足する場合がしばしば発生する。
In recent years, there has been a microprocessor equipped with a hardware multiplier and capable of executing a multiply-accumulate operation frequently used in digital signal processing in one instruction cycle. However, a parallel processing function of a data memory pointer provided in a DSP is known. Has not been installed for the above-mentioned reason. For this reason, in a real-time signal processing system, even if it is a relatively small-scale system, the processing capacity is often insufficient.

【0010】以上説明したように、従来技術では、現存
する汎用マイクロプロセッサのソフトウェアの流用性、
ならびに同汎用マイクロプロセッサの汎用性を損なわず
に、DSPと同様のデータメモリポインタによるデータ
アドレス更新機能を汎用マイクロプロセッサに取り入れ
て設計することは困難とされていた。このため、特に、
リアルタイム信号処理システムを構築する際、比較的小
規模な同システムであっても、DSPとマイクロプロセ
ッサ、もしくはDSPとホスト・コンピュータの併用が
ほとんどの場合で必要となっている。
As described above, in the prior art, the diversion of software of existing general-purpose microprocessors,
In addition, it has been difficult to design a general-purpose microprocessor by incorporating a data address updating function using a data memory pointer similar to that of a DSP without deteriorating the versatility of the general-purpose microprocessor. Because of this,
When constructing a real-time signal processing system, it is almost always necessary to use a DSP and a microprocessor or a DSP and a host computer together, even for a relatively small-scale system.

【0011】[0011]

【発明が解決しようとする課題】上述したように、従来
の汎用マイクロプロセッサにおいて、デジタルフィルタ
に代表されるディジタル信号処理を行おうとした場合、
頻繁に実行されるデータアドレス更新のため、たとえ、
ハードウェア乗算器を備える汎用マイクロプロセッサで
あっても、単位時間当たりの算術演算回数が著しく低下
し、信号処理に必要な演算を一定時間内に処理できない
という問題があった。
As described above, when a conventional general-purpose microprocessor attempts to perform digital signal processing represented by a digital filter,
Due to frequently executed data address updates, even if
Even with a general-purpose microprocessor provided with a hardware multiplier, the number of arithmetic operations per unit time is significantly reduced, and there has been a problem that arithmetic operations required for signal processing cannot be processed within a fixed time.

【0012】一方、DSPを用いて一般のマイクロプロ
セッサの機能を兼用させようとすると、その汎用性の乏
しさから、十分な機能を実現できないため、特にリアル
タイム信号処理システムを構築する場合、比較的小規模
な同システムであってもマイクロプロセッサとの併用が
必要となるという問題があった。
On the other hand, if a DSP is used to share the functions of a general microprocessor, sufficient functions cannot be realized due to the lack of general versatility. There is a problem that even the same small-scale system needs to be used together with a microprocessor.

【0013】さらに、DSPと同様の手段によるデータ
アドレス更新機能を汎用マイクロプロセッサに採用した
としても、命令メモリの使用効率が悪化したり、従来の
汎用マイコンに対するソフトウェアの互換性が著しく損
なわれるなど利用上の問題があった。
Further, even if a data address updating function by means similar to that of a DSP is employed in a general-purpose microprocessor, the use efficiency of an instruction memory is deteriorated and compatibility of software with a conventional general-purpose microcomputer is significantly impaired. There was a problem above.

【0014】したがって、本発明の目的は、従来の汎用
マイクロプロセッサに対するソフトウェアの上位互換性
を損なわず、比較的小規模な回路の追加と命令の拡張に
よって、主にディジタル信号処理時のデータアドレス更
新に要する時間を大幅に短縮したマイクロプロセッサを
提供し、さらには、マイクロプロセッサのディジタル信
号処理システムに対する適用範囲を拡大することにあ
る。
Accordingly, it is an object of the present invention to update data addresses mainly at the time of digital signal processing by adding relatively small circuits and expanding instructions without compromising the upward compatibility of software with respect to a conventional general-purpose microprocessor. Another object of the present invention is to provide a microprocessor in which the time required for the microprocessor is greatly reduced, and to further expand the application range of the microprocessor to digital signal processing systems.

【0015】[0015]

【課題を解決するための手段】そのため、本発明は、処
理プログラムを格納する命令メモリから読み出された命
令をデコードする命令デコーダと、データメモリからレ
ジスタに予めデータ転送されていたデータを乗算命令に
より乗算する乗算器と、を有するマイクロプロセッサに
おいて、前記データのアドレスを演算または更新し前記
データメモリに出力するデータメモリポインタと、この
データメモリポインタのアドレス演算またはアドレス更
新を制御するポインタ命令のみを予め別途格納するポイ
ンタ命令メモリと、を備えている。
Accordingly, the present invention provides an instruction decoder for decoding an instruction read from an instruction memory for storing a processing program, and an instruction for multiplying data previously transferred from a data memory to a register. And a multiplier that calculates or updates the address of the data and outputs it to the data memory, and only a pointer instruction that controls the address calculation or address update of the data memory pointer. A pointer instruction memory separately stored in advance.

【0016】また、前記命令デコーダが、前記処理プロ
グラムが前記データメモリおよび前記レジスタの間のデ
ータ転送命令および前記乗算命令を含む演算ルーチンで
あるとき、前記データメモリに対するデータ転送命令で
あることを示す転送命令ステート信号と、前記演算ルー
チンにおける前記ポインタ命令の実行許可を示すポイン
タ命令実行許可信号と、をデコード出力し、これら転送
命令ステート信号およびポインタ命令実行許可信号の論
理積出力に同期して、前記ポインタ命令を前記ポインタ
命令メモリから前記データメモリポインタに読み出し前
記データ転送命令と並列に同時実行している。
Further, when the instruction decoder is an arithmetic routine including the data transfer instruction between the data memory and the register and the multiplication instruction, the instruction decoder indicates a data transfer instruction to the data memory. A transfer instruction state signal and a pointer instruction execution permission signal indicating permission of execution of the pointer instruction in the operation routine are decoded and output, and in synchronization with a logical product output of the transfer instruction state signal and the pointer instruction execution permission signal, The pointer instruction is read from the pointer instruction memory to the data memory pointer and is executed concurrently with the data transfer instruction.

【0017】さらに、前記ポインタ命令メモリが、RA
Mからなり、前記演算ルーチンの前に、前記命令メモリ
から前記ポインタ命令を格納している。
Further, the pointer instruction memory may have an RA
M, and stores the pointer instruction from the instruction memory before the arithmetic routine.

【0018】または、前記ポインタ命令メモリが、RO
Mからなり、予め、前記演算ルーチンに対応した前記ポ
インタ命令を書き込んでいる。
Alternatively, the pointer instruction memory is RO
M, and the pointer instruction corresponding to the arithmetic routine is written in advance.

【0019】[0019]

【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は、本発明のマイクロプロセッサの
実施形態を示すブロック図である。図1を参照すると、
本実施形態のマイクロプロセッサは、図3の従来のマイ
クロプロセッサと同じく、命令メモリ1,命令デコーダ
2,データRAM3,データROM7,乗算器8と、算
術演算器10を含む演算部12とを備え、さらに、DS
Pと同様のデータメモリポインタとして、データRAM
3,データROM7とに対してRAMポインタ4,RO
Mポインタ6とを備え、新たに、RAMポインタ4,R
OMポインタ6に対するポインタ命令メモリ5を備え
る。これら各ブロックの中、図3における各ブロックと
同じブロックについては、重複説明を省略する。
Next, the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of the microprocessor of the present invention. Referring to FIG.
The microprocessor of the present embodiment includes an instruction memory 1, an instruction decoder 2, a data RAM 3, a data ROM 7, a multiplier 8, and an operation unit 12 including an arithmetic operation unit 10, as in the conventional microprocessor of FIG. Furthermore, DS
As data memory pointer similar to P, data RAM
3, RAM pointer 4 for data ROM 7 and RO
M pointer 6 and a new RAM pointer 4, R
A pointer instruction memory 5 for the OM pointer 6 is provided. Of these blocks, the same blocks as those in FIG. 3 will not be described repeatedly.

【0020】ポインタ命令実行許可信号13は、命令デ
コーダ2より出力される2値信号であり、ポインタ命令
実行開始命令の実行からポインタ命令実行停止命令が実
行されるまでの期間、その信号の状態を“1”とし、そ
の他の期間、その状態を“0”とする。転送命令ステー
ト信号14も、命令デコーダ2より出力される信号であ
り、命令デコーダ2がメモリ転送命令を実行する期間、
出力の状態を“1”とし、その他の期間その状態を
“0”とする。これらポインタ命令実行許可信号13と
転送命令ステート信号14を入力とする論理積結果が
“1”のとき、RAMポインタ4とROMポインタ6は
ポインタ命令を1語ずつ実行し、その他の期間、ポイン
タ命令の実行を停止することにより、演算命令実行中、
適切なタイミングでポインタ命令が実行される。
The pointer instruction execution permission signal 13 is a binary signal output from the instruction decoder 2, and changes the state of the signal during the period from execution of the pointer instruction execution start instruction to execution of the pointer instruction execution stop instruction. It is set to “1”, and the state is set to “0” during other periods. The transfer instruction state signal 14 is also a signal output from the instruction decoder 2, and is used during a period when the instruction decoder 2 executes a memory transfer instruction.
The state of the output is set to “1”, and the state is set to “0” during other periods. When the logical product of the pointer command execution enable signal 13 and the transfer command state signal 14 as inputs is "1", the RAM pointer 4 and the ROM pointer 6 execute the pointer command one word at a time, and during the other periods, the pointer command is executed. By stopping the execution of
The pointer instruction is executed at an appropriate timing.

【0021】次に、RAMポインタ4,ROMポインタ
6の機能について、図1を参照して説明する。RAMポ
インタ4は、16ビットの語長を持つことで65536
ワードのアドレス空間を有し、実際には、実装されるデ
ータRAM容量を上限とするアドレス空間を任意に設定
できる。また、この16ビット中の上位12ビットにお
いて、0クリアと、即値指定と、現在値からのインクリ
メント及びデクリメントと、現在値の12ビットに対す
る任意の4ビット・イメージによる繰上り加算もしくは
非繰上り加算とが可能である。さらに、残る下位4ビッ
トにおいて、現在値と任意の4ビット・イメージとのビ
ット毎のXOR演算による値の変更が可能である。
Next, the functions of the RAM pointer 4 and the ROM pointer 6 will be described with reference to FIG. RAM pointer 4 has a word length of 65536 by having a word length of 16 bits.
It has a word address space, and in practice, it is possible to arbitrarily set an address space having an upper limit of the mounted data RAM capacity. In the upper 12 bits of the 16 bits, 0 clear, immediate value designation, increment and decrement from the current value, and carry addition or non-carry addition with an arbitrary 4-bit image for the 12 bits of the current value are performed. And it is possible. Furthermore, in the remaining lower 4 bits, the value can be changed by a bitwise XOR operation between the current value and an arbitrary 4-bit image.

【0022】ROMポインタ6は、16ビットの語長を
持つことで65536ワードのアドレス空間を有し、実
際には、実装されるデータROM容量を上限とする空間
を任意に設定でき、0クリアと、即値指定と、現在値か
らのインクリメント及びデクリメントとを用いて、アド
レスの値を更新できる。なお、データRAM3,データ
ROM7共に、それに関する転送命令とポインタ命令が
同一サイクルに実行される場合、転送実行後に、ポイン
タ命令の実行結果が有効となる。
The ROM pointer 6 has an address space of 65,536 words by having a word length of 16 bits. In practice, a space having an upper limit of the mounted data ROM capacity can be arbitrarily set. The address value can be updated by using the immediate value designation and increment and decrement from the current value. When the transfer instruction and the pointer instruction related to the data RAM 3 and the data ROM 7 are executed in the same cycle, the execution result of the pointer instruction becomes valid after the execution of the transfer.

【0023】ポインタ命令メモリ5は、RAMもしくは
ROMいずれによっても構成することが可能である。ポ
インタ命令メモリ5をRAMで構成する場合、ポインタ
命令の実行に先立って、予め命令メモリ1に記憶された
ポインタ命令を内部バスを介してポインタ命令メモリ5
に必要量を転送することで、ポインタ命令が実行可能と
なる。ポインタ命令メモリ5をROMで構成する場合、
命令メモリ1からポインタ命令メモリ5にポインタ命令
を転送する手順は省くことが出来るが、予め、使用され
るすべてのポインタ命令を書き込んでおく必要がある。
The pointer instruction memory 5 can be constituted by either a RAM or a ROM. When the pointer instruction memory 5 is formed of a RAM, the pointer instruction stored in the instruction memory 1 is transferred to the pointer instruction memory 5 via the internal bus before executing the pointer instruction.
By transferring the required amount to the pointer instruction, the pointer instruction can be executed. When the pointer instruction memory 5 is configured by a ROM,
The procedure for transferring the pointer instruction from the instruction memory 1 to the pointer instruction memory 5 can be omitted, but it is necessary to write all the pointer instructions to be used in advance.

【0024】次に、本実施形態の動作を図面を参照して
説明する。図2は、ディジタル信号処理の代表的な例と
して、IIRフィルタ・プログラムの演算ルーチンにお
ける演算とデータ転送の実行手順を示した流れ図であ
る。同図では、同一実行サイクルに実行される演算命令
とポインタ命令は、同一枠内に記されている。同図に示
すように、2次のバイクァッド型のIIRフィルタで
は、RAMアドレスの初期値を即値指定したのち、4回
の下位4ビットに対する排他的論理和演算と1回の上位
4ビットに対するインクリメントとで、RAMアドレス
を変更する。係数を記憶させたデータROM7に対して
は、図1を参照して説明すると、ROMアドレスの初期
値を即値指定した後、5回のデクリメントでROMアド
レスを更新する。
Next, the operation of this embodiment will be described with reference to the drawings. FIG. 2 is a flow chart showing a procedure for executing calculations and data transfer in a calculation routine of an IIR filter program as a typical example of digital signal processing. In the figure, the operation instruction and the pointer instruction executed in the same execution cycle are described in the same frame. As shown in the figure, in the second-order biquad type IIR filter, after specifying the initial value of the RAM address as an immediate value, four exclusive OR operations for the lower four bits and one increment for the upper four bits are performed. Then, the RAM address is changed. Referring to FIG. 1, with respect to the data ROM 7 in which the coefficients are stored, the initial value of the ROM address is immediately specified, and then the ROM address is updated by decrementing five times.

【0025】データRAM3,データROM7共に、即
値指定に続くアドレスの更新手順は、サブルーチン化し
た演算の2次のバイクァッド型のIIRフィルタの1回
の呼び出しに対応する。さらに、該サブルーチンを繰り
返し実行することにより、より高次のIIRフィルタに
ついても、実行時のデータRAM3及びデータROM7
のアドレスを転送動作に同期し、更新することが可能で
ある。
In both the data RAM 3 and the data ROM 7, the procedure for updating the address following the designation of an immediate value corresponds to one invocation of a secondary biquad type IIR filter of a subroutine operation. Further, by repeatedly executing the subroutine, the data RAM 3 and the data ROM
Can be updated in synchronization with the transfer operation.

【0026】[0026]

【発明の効果】以上説明したように、本発明によるマイ
クロプロセッサは、データアドレスを操作するポインタ
命令を他の動作と並列に実行する並列演算機能を汎用の
マイクロプロセッサに付加した形態で備え、従来のDS
Pと同等のアドレス更新機能を実現したことにより、デ
ィジタルフィルタ・プログラム等のディジタル信号処理
演算で行われるデータアドレスの更新に要する時間を大
幅に短縮できる。これにより、演算処理の実際における
演算効率を向上することで、より高度な、または広範囲
のディジタル信号処理にDSPを併用することなく適用
できるという効果がある。
As described above, the microprocessor according to the present invention is provided with a general-purpose microprocessor in which a parallel operation function for executing a pointer instruction for operating a data address in parallel with other operations is added to a conventional microprocessor. DS
By realizing the address updating function equivalent to P, the time required for updating the data address performed in the digital signal processing operation such as the digital filter program can be greatly reduced. As a result, by improving the actual operation efficiency of the operation processing, there is an effect that the digital signal processing can be applied to more advanced or a wide range of digital signal processing without using the DSP together.

【0027】同時に、本発明のマイクロプロセッサは、
従来の多くの汎用マイクロプロセッサに対して、比較的
小規模な回路と命令の変更及び追加により実現でき、且
つ、ソフトウェア上の上位互換性を損なわずに保ったま
まで実現でき、従来使用されていたソフトウェアを容易
に流用できるなどの効果がある。
At the same time, the microprocessor of the present invention
For many conventional general-purpose microprocessors, it can be realized by changing and adding relatively small-scale circuits and instructions, and can be realized without losing upward compatibility in software. This has the effect that software can be easily diverted.

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

【図1】本発明のマイクロプロセッサの実施形態を示す
ブロック図である。
FIG. 1 is a block diagram showing an embodiment of a microprocessor of the present invention.

【図2】図1のマイクロプロセッサによるバイクァッド
型IIRフィルタの演算ルーチンの実行手順を示す流れ
図である。
FIG. 2 is a flowchart showing an execution procedure of a calculation routine of a biquad type IIR filter by the microprocessor of FIG. 1;

【図3】従来のマイクロプロセッサの構成例を示すブロ
ック図である。
FIG. 3 is a block diagram illustrating a configuration example of a conventional microprocessor.

【図4】図3のマイクロプロセッサによるバイクァッド
型IIRフィルタの演算ルーチンの実行手順を示す流れ
図である。
4 is a flowchart showing an execution procedure of a calculation routine of a biquad type IIR filter by the microprocessor of FIG. 3;

【図5】従来の代表的なDSPによるバイクァッド型I
IRフィルタの演算ルーチンの実行手順を示す流れ図で
ある。
FIG. 5 shows a biquad type I using a conventional representative DSP.
9 is a flowchart showing an execution procedure of an operation routine of an IR filter.

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

1 命令メモリ 2 命令デコーダ 3 データRAM 4 RAMポインタ 5 ポインタ命令メモリ 6 ROMポインタ 7 データROM 8 乗算器 9 乗算器出力レジスタ 10 算術演算器 11 レジスタ 12 演算部 13 ポインタ命令実行許可信号 14 転送命令ステート信号 15 内部バス 16 RAMアドレスレジスタ 17 ROMアドレスレジスタ ram データRAM dp データRAMアドレスレジスタ dph データRAMアドレスレジスタ、ただし上位
12ビット dpl データRAMアドレスレジスタ、ただし下位
4ビット rom データrom rp データromアドレスレジスタ r0 第0汎用レジスタ r1 第1汎用レジスタ r2 第2汎用レジスタ r3 第3汎用レジスタ r4 第4汎用レジスタ r5 第5汎用レジスタ r6 第6汎用レジスタ m 乗算結果格納用レジスタ → 転送もしくは代入動作 * 乗算動作 + 加算動作 − 減算動作 xor 排他的論理和演算動作 S1〜S14 アドレス更新を目的とする命令ステッ
DESCRIPTION OF SYMBOLS 1 Instruction memory 2 Instruction decoder 3 Data RAM 4 RAM pointer 5 Pointer instruction memory 6 ROM pointer 7 Data ROM 8 Multiplier 9 Multiplier output register 10 Arithmetic operation unit 11 Register 12 Operation unit 13 Pointer instruction execution permission signal 14 Transfer instruction state signal 15 Internal bus 16 RAM address register 17 ROM address register ram Data RAM dp Data RAM address register dph Data RAM address register, but upper 12 bits dpl Data RAM address register, but lower 4 bits rom data rom rp data rom address register r0 0 General register r1 First general register r2 Second general register r3 Third general register r4 Fourth general register r5 Fifth general register r6 Sixth general Register m multiplication result storage register → transfer or assignment operation * multiply operation + adding operations - instruction steps for the purpose of subtraction operation xor XOR operation S1~S14 address update

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/30 - 9/355 G06F 9/40 - 9/42 390 G06F 9/38 - 9/38 390 G06F 15/78 510──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 9/30-9/355 G06F 9/40-9/42 390 G06F 9/38-9/38 390 G06F 15/78 510

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 処理プログラムを格納する命令メモリか
ら読み出された命令をデコードする命令デコーダと、デ
ータメモリからレジスタに予めデータ転送されていたデ
ータを乗算命令により乗算する乗算器と、を有するマイ
クロプロセッサにおいて、前記データのアドレスを演算
または更新し前記データメモリに出力するデータメモリ
ポインタと、このデータメモリポインタのアドレス演算
またはアドレス更新を制御するポインタ命令のみを予め
別途格納するポインタ命令メモリと、を備えることを特
徴とするマイクロプロセッサ。
1. A micro-computer comprising: an instruction decoder for decoding an instruction read from an instruction memory for storing a processing program; and a multiplier for multiplying data previously transferred from a data memory to a register by a multiplication instruction. In the processor, a data memory pointer for calculating or updating the address of the data and outputting the data to the data memory, and a pointer instruction memory for separately storing only a pointer instruction for controlling the address calculation or the address update of the data memory pointer, A microprocessor, comprising:
【請求項2】 前記命令デコーダが、前記処理プログラ
ムが前記データメモリおよび前記レジスタの間のデータ
転送命令および前記乗算命令を含む演算ルーチンである
とき、前記データメモリに対するデータ転送命令である
ことを示す転送命令ステート信号と、前記演算ルーチン
における前記ポインタ命令の実行許可を示すポインタ命
令実行許可信号と、をデコード出力し、これら転送命令
ステート信号およびポインタ命令実行許可信号の論理積
出力に同期して、前記ポインタ命令を前記ポインタ命令
メモリから前記データメモリポインタに読み出し前記デ
ータ転送命令と並列に同時実行する、請求項1記載のマ
イクロプロセッサ。
2. The instruction decoder, when the processing program is an arithmetic routine including a data transfer instruction between the data memory and the register and the multiplication instruction, indicates a data transfer instruction to the data memory. A transfer instruction state signal and a pointer instruction execution permission signal indicating permission of execution of the pointer instruction in the operation routine are decoded and output, and in synchronization with a logical product output of the transfer instruction state signal and the pointer instruction execution permission signal, 2. The microprocessor according to claim 1, wherein said pointer instruction is read from said pointer instruction memory to said data memory pointer, and is simultaneously executed in parallel with said data transfer instruction.
【請求項3】 前記ポインタ命令メモリが、RAMから
なり、前記演算ルーチンの前に、前記命令メモリから前
記ポインタ命令を格納する、請求項1または2記載のマ
イクロプロセッサ。
3. The microprocessor according to claim 1, wherein said pointer instruction memory comprises a RAM, and stores said pointer instruction from said instruction memory before said operation routine.
【請求項4】 前記ポインタ命令メモリが、ROMから
なり、予め、前記演算ルーチンに対応した前記ポインタ
命令を書き込む、請求項1または2記載のマイクロプロ
セッサ。
4. The microprocessor according to claim 1, wherein said pointer instruction memory comprises a ROM, and said pointer instruction corresponding to said arithmetic routine is written in advance.
JP8282313A 1996-10-24 1996-10-24 Microprocessor Expired - Fee Related JP2845844B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8282313A JP2845844B2 (en) 1996-10-24 1996-10-24 Microprocessor
GB9722595A GB2321121B (en) 1996-10-24 1997-10-24 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8282313A JP2845844B2 (en) 1996-10-24 1996-10-24 Microprocessor

Publications (2)

Publication Number Publication Date
JPH10124309A JPH10124309A (en) 1998-05-15
JP2845844B2 true JP2845844B2 (en) 1999-01-13

Family

ID=17650797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8282313A Expired - Fee Related JP2845844B2 (en) 1996-10-24 1996-10-24 Microprocessor

Country Status (2)

Country Link
JP (1) JP2845844B2 (en)
GB (1) GB2321121B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305543B2 (en) * 2003-07-30 2007-12-04 Nxp B.V. Memory organization allowing single cycle pointer addressing where the address of the pointer is also contained in one of the memory locations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577282A (en) * 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
US4893235A (en) * 1983-10-03 1990-01-09 Digital Equipment Corporation Central processing unit for a digital computer
JP2553200B2 (en) * 1989-08-19 1996-11-13 富士通株式会社 Information processing device

Also Published As

Publication number Publication date
GB2321121A (en) 1998-07-15
GB2321121B (en) 2001-06-20
GB9722595D0 (en) 1997-12-24
JPH10124309A (en) 1998-05-15

Similar Documents

Publication Publication Date Title
JP2883784B2 (en) Microcomputer
US5249148A (en) Method and apparatus for performing restricted modulo arithmetic
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
JP2806171B2 (en) Data arithmetic unit
JP3579843B2 (en) Digital signal processor
JP2845844B2 (en) Microprocessor
JP2993975B2 (en) Central processing unit
JP3556252B2 (en) Data processing system and method for calculating offset total
US12411607B2 (en) Continuous memory access acceleration circuit, address shift circuit and address generation method
KR100188374B1 (en) Processing unit
JPS6343773B2 (en)
JPS63111535A (en) Data processor
US6128725A (en) Microprocessor with an instruction for setting or clearing a bit field
JPH08221257A (en) Divider for data processor
JP3055316B2 (en) Digital signal processor
JP2954119B2 (en) Instruction execution cycle variable circuit
CN113258902A (en) Processor, filtering method and related equipment
JPS6125166B2 (en)
US6314132B1 (en) Microprocessor structure and method for implementing digital filter operations
US7580967B2 (en) Processor with maximum and minimum instructions
CA2018182C (en) Data processor for high-speed access to stack area data
JP2013161325A (en) Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor
JP2922979B2 (en) Central processing unit
JPS6259341B2 (en)
JPS60142774A (en) Matrix arithmetic system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980929

LAPS Cancellation because of no payment of annual fees