JP2006072961A - Memory circuit for arithmetic processing unit - Google Patents

Memory circuit for arithmetic processing unit Download PDF

Info

Publication number
JP2006072961A
JP2006072961A JP2005064818A JP2005064818A JP2006072961A JP 2006072961 A JP2006072961 A JP 2006072961A JP 2005064818 A JP2005064818 A JP 2005064818A JP 2005064818 A JP2005064818 A JP 2005064818A JP 2006072961 A JP2006072961 A JP 2006072961A
Authority
JP
Japan
Prior art keywords
instruction
memory
storage memory
output
information storage
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
JP2005064818A
Other languages
Japanese (ja)
Inventor
Ryuichi Soda
龍一 祖田
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2005064818A priority Critical patent/JP2006072961A/en
Publication of JP2006072961A publication Critical patent/JP2006072961A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a memory circuit for an arithmetic processing unit capable of physically reducing a capacity of a command storage memory. <P>SOLUTION: The arithmetic processing unit is provided with an input memory 2 storing a plurality of input data, one or more computing units 1 for carrying out logic operation and numeric comparison or the like, an output memory 3 storing an arithmetic result from the computing unit 1, one or more command storage memories 4 for determining a process to be executed by the computing unit 1, and a program counter 9 counting up every execution cycle of the computing unit 1. It is provided with a register 7 storing a particular command code frequently used in arithmetic processing, a particular command information storage memory 6 for storing information of a step executing the particular command stored in the registered 7, an address generating counter 5 capable of controlling count operation by using output data from the particular command information storage memory 6 as a counting prohibition signal, and a selector circuit 8 carrying out switching between an output command from the command storage memory 4 and an output command from the register 7 storing the particular command code. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、マイクロプロセッサやディジタルシグナルプロセッサ(DSP)の演算処理装置のメモリ回路に関するものである。   The present invention relates to a memory circuit of an arithmetic processing unit of a microprocessor or a digital signal processor (DSP).

従来のマイクロプロセッサやディジタルシグナルプロセッサ(DSP)において、VLIW(Very Long Instruction Word)方式の演算処理装置のメモリ回路は図13に示すようになっている。(例えば、特許文献1参照)
図13において、100は演算のステップ毎にインクリメントするプログラムカウンタ、101は演算器を動作させるための命令が格納された命令格納メモリ、102は複数の演算器に命令を分割処理するデコーダ、103は演算を行うための演算器である。
従来のVLIW方式の演算処理装置のメモリ回路は、プログラムカウンタ100の値を命令格納メモリ101のアドレスとして入力し、そのアドレスが指定するメモリ領域のデータを複数の演算器用命令として読み出すようになっている。その読み出された命令は、複数の演算器毎に分割デコードされて入力され、演算器103は各命令に応じた演算処理を行う。これら一連の処理は、プログラムカウンタ100がカウントアップする毎に実行される。
図14は、従来の演算処理装置のメモリ回路における、命令格納メモリのメモリ使用状況を示す図であり、命令コードはOP1〜9の9種類を使用して示している。ここでは、3つの演算器を内蔵している演算処理装置のメモリ回路について示しており、命令格納メモリは各演算器に対応した3つのメモリが必要になる。演算器1に対応する命令は、命令コード1として命令格納メモリ1に格納され、演算器2に対応する命令は、命令コード2として命令格納メモリ2に格納され、演算器3に対応する命令は、命令コード3として命令格納メモリ3に格納されている。格納されたOP1〜9の命令コードを利用して、プログラムカウンタが示す演算ステップ毎に演算処理を行うものである。
図15は、図14の命令格納メモリ内での命令コード使用状況について示している。命令格納メモリ内の命令コード使用状況として、OP3の使用頻度が高いことを示している。
特開平5−257687(30頁)
In a conventional microprocessor or digital signal processor (DSP), a memory circuit of a VLIW (Very Long Instruction Word) type arithmetic processing unit is as shown in FIG. (For example, see Patent Document 1)
In FIG. 13, 100 is a program counter that is incremented at each operation step, 101 is an instruction storage memory in which an instruction for operating the arithmetic unit is stored, 102 is a decoder that divides the instruction into a plurality of arithmetic units, and 103 is It is a computing unit for performing computations.
A memory circuit of a conventional VLIW arithmetic processing unit inputs the value of the program counter 100 as an address of the instruction storage memory 101, and reads data in a memory area specified by the address as a plurality of arithmetic unit instructions. Yes. The read instruction is divided and decoded for each of a plurality of arithmetic units, and the arithmetic unit 103 performs arithmetic processing according to each instruction. These series of processes are executed each time the program counter 100 counts up.
FIG. 14 is a diagram showing the memory usage status of the instruction storage memory in the memory circuit of the conventional arithmetic processing unit. The instruction codes are shown using nine types of OP1 to OP9. Here, a memory circuit of an arithmetic processing unit incorporating three arithmetic units is shown, and the instruction storage memory requires three memories corresponding to each arithmetic unit. The instruction corresponding to the arithmetic unit 1 is stored in the instruction storage memory 1 as the instruction code 1, the instruction corresponding to the arithmetic unit 2 is stored in the instruction storage memory 2 as the instruction code 2, and the instruction corresponding to the arithmetic unit 3 is The instruction code 3 is stored in the instruction storage memory 3. Using the stored instruction codes of OP1 to 9, arithmetic processing is performed for each arithmetic step indicated by the program counter.
FIG. 15 shows an instruction code usage status in the instruction storage memory of FIG. As an instruction code usage status in the instruction storage memory, OP3 is frequently used.
JP-A-5-257687 (30 pages)

ところが、従来技術のようなVLIW方式の演算処理装置のメモリ回路を利用して演算処理を行う場合、NOP(No Operation)のような命令を数多く含んだ実行コードを処理することがある。これは、並列に配置された演算器間のデータ受け渡しが必要な際に生じるものである。このように、NOPのような命令を数多く含む場合、実行コード数の増加と命令格納メモリの容量増加となり、回路規模の増大につながる。これは、発熱やLSIのパッケージ小型化の点で問題となる。   However, when performing arithmetic processing using a memory circuit of a VLIW arithmetic processing device as in the prior art, an execution code including many instructions such as NOP (No Operation) may be processed. This occurs when data exchange between arithmetic units arranged in parallel is necessary. Thus, when many instructions such as NOP are included, the number of executable codes increases and the capacity of the instruction storage memory increases, leading to an increase in circuit scale. This becomes a problem in terms of heat generation and downsizing of the LSI package.

本発明は上記課題を解決するためになされたものであり、演算器の実行コード数を削減し、命令格納メモリの容量を物理的に削減することができる演算処理装置のメモリ回路を提供することを目的とする。   The present invention has been made to solve the above problems, and provides a memory circuit of an arithmetic processing unit capable of reducing the number of execution codes of an arithmetic unit and physically reducing the capacity of an instruction storage memory. With the goal.

上記問題を解決するため、請求項1に係る演算処理装置のメモリ回路の発明は、複数の入力データを保持するための入力メモリと、加減乗除、論理演算および数値比較などを行うための1つ以上の演算器と、前記演算器からの演算結果を保持する出力メモリと、前記演算器にて実行する処理を決定するための1つ以上の命令格納メモリと、前記演算器の実行サイクル毎にカウントアップするプログラムカウンタと、を備えた演算処理装置において、演算処理で多用されるある特定の命令コードを格納するレジスタと、前記レジスタ7に格納された特定命令が実行されるステップの情報を格納するための特定命令情報格納メモリと、前記特定命令情報格納メモリからの出力データをカウント禁止信号としてカウント動作を制御できるアドレス生成カウンタと、前記命令格納メモリからの出力命令と前記特定命令コードを格納したレジスタからの出力命令を切替える第1のセレクタ回路と、を備えたものである。   In order to solve the above problem, an invention of a memory circuit of an arithmetic processing unit according to claim 1 is an input memory for holding a plurality of input data, and one for performing addition / subtraction / multiplication / division, logical operation and numerical comparison The above computing unit, an output memory that holds the computation result from the computing unit, one or more instruction storage memories for determining processing to be executed by the computing unit, and each execution cycle of the computing unit In an arithmetic processing unit comprising a program counter for counting up, a register for storing a specific instruction code frequently used in arithmetic processing, and information on a step in which the specific instruction stored in the register 7 is executed are stored Specific instruction information storage memory and address generation capable of controlling the count operation using the output data from the specific instruction information storage memory as a count prohibition signal Counter and, in which and a first selector circuit for switching the output command from the output command and the storing specific instruction code register from the instruction storage memory.

請求項2の発明は、請求項1記載の演算処理装置のメモリ回路において、前記レジスタおよび前記特定命令情報格納メモリが複数設置されており、前記複数の特定命令情報格納メモリから出力される特定命令有効信号を論理ORすると共に、該論理ORされた信号をカウント禁止信号として前記アドレス生成カウンタに出力するための論理OR回路と、前記特定命令コードを格納した複数のレジスタからの出力命令を選択して各演算器に出力する第2のセレクタ回路と、前記第2のセレクタ回路を制御するためのデコード回路と、を備えたものである。   According to a second aspect of the present invention, in the memory circuit of the arithmetic processing unit according to the first aspect, a plurality of the registers and the specific instruction information storage memories are provided, and the specific instructions output from the plurality of specific instruction information storage memories A logical OR circuit for logically ORing the valid signal and outputting the logically ORed signal to the address generation counter as a count prohibition signal and an output instruction from a plurality of registers storing the specific instruction code are selected. A second selector circuit that outputs to each computing unit, and a decode circuit for controlling the second selector circuit.

請求項3記載の本発明は、請求項1記載の演算処理装置のメモリ回路においT、同一の命令コードを連続して前記特定命令情報格納メモリから出力することを示す情報が格納された連続命令情報格納メモリと、前記特定命令情報格納メモリから出力される特定命令有効信号と前記連続命令情報格納メモリから出力される連続命令有効信号とを論理ORすると共に、該論理ORされた信号をカウント禁止信号として前記アドレス生成カウンタに出力する論理OR回路と、を備えたものである。   According to a third aspect of the present invention, in the memory circuit of the arithmetic processing unit according to the first aspect, T is a continuous instruction in which information indicating that the same instruction code is continuously output from the specific instruction information storage memory is stored. Logically OR the information storage memory, the specific instruction valid signal output from the specific instruction information storage memory and the continuous instruction valid signal output from the continuous instruction information storage memory, and prohibit counting of the logically ORed signal And a logical OR circuit that outputs the signal to the address generation counter as a signal.

請求項1記載の演算処理装置のメモリ回路によれば、特定命令情報格納メモリに、演算処理で多用されるある特定の命令であるか否かを示すビット情報を格納し、このビット情報をカウント禁止信号として利用することで、複数の演算器用に設置された命令格納メモリ用アドレス生成カウンタの動作を制御することができる。これと同時に、カウント禁止信号は、演算器へ命令を引き渡す直前に設置されたセレクタ回路に入力されており、カウント禁止信号が有効の場合は、特定命令コードを格納したレジスタ値を選択するようになっている。一方、無効の場合は、命令格納メモリからのデータを選択する。
すなわち、従来のように多用されるある特定の命令コードを命令格納メモリに格納する必要はなくなり、メモリ容量を削減する効果を持っている。これは、VLIW方式の演算処理装置の場合、効率よく並列演算できる実行コードの生成が難しいため、NOP命令を多く含んだ実行コードとなっている。このため、命令格納メモリの物理的な容量削減の効果は非常に大きいことになる。
また、演算処理にて多用される命令コードがNOP以外の場合でも、請求項1記載の演算処理装置のメモリ回路を利用することで、前記同様の命令格納メモリの物理的な容量削減効果が得られる。
さらに、考え方を逆にして、命令格納メモリの容量を物理的に削減しない場合は、現状より多くの実行コードを命令格納メモリに格納することが可能となる。これにより、現状の演算処理より高度で複雑な演算処理を実行することが可能となる。
According to the memory circuit of the arithmetic processing unit according to claim 1, bit information indicating whether or not a specific instruction is frequently used in arithmetic processing is stored in the specific instruction information storage memory, and the bit information is counted. By using it as a prohibition signal, it is possible to control the operation of the instruction storage memory address generation counter installed for a plurality of arithmetic units. At the same time, the count prohibition signal is input to the selector circuit installed immediately before the instruction is delivered to the arithmetic unit. When the count prohibition signal is valid, the register value storing the specific instruction code is selected. It has become. On the other hand, if invalid, data from the instruction storage memory is selected.
That is, there is no need to store a specific instruction code that is frequently used in the instruction storage memory as in the prior art, and the memory capacity is reduced. This is an execution code including many NOP instructions because it is difficult to generate an execution code that can be efficiently operated in parallel in the case of a VLIW type arithmetic processing unit. For this reason, the effect of reducing the physical capacity of the instruction storage memory is very large.
Further, even when the instruction code frequently used in the arithmetic processing is other than NOP, by using the memory circuit of the arithmetic processing device according to claim 1, the physical capacity reduction effect of the instruction storage memory similar to the above can be obtained. It is done.
Furthermore, if the concept is reversed and the capacity of the instruction storage memory is not physically reduced, it is possible to store more execution code in the instruction storage memory than at present. As a result, it is possible to execute a calculation process that is more sophisticated and complicated than the current calculation process.

請求項2記載の演算処理装置のメモリ回路によれば、多用される命令コードを格納するためのレジスタを複数準備しているため、NOP命令以外に一般的な演算処理に多用される命令コードについても格納することができる。前記複数のレジスタに格納された命令コードを、いつ使用するかを示すための特定命令情報格納メモリを設置している。また、セレクタ回路の制御を行うデコード回路を設置し、前記複数のレジスタに格納された命令コードをセレクタ回路にて切り替え、必要とされる演算器に出力することができる。
すなわち、請求項1の演算処理装置のメモリ回路による効果に追加して、多用される命令コードを格納するレジスタを複数設置しているため、従来のように全ての命令コードを命令格納メモリに格納する必要はなくなり、さらにメモリ容量を削減する効果を持っている。
According to the memory circuit of the arithmetic processing unit according to claim 2, since a plurality of registers for storing frequently used instruction codes are prepared, instruction codes frequently used for general arithmetic processing other than NOP instructions are provided. Can also be stored. A specific instruction information storage memory is provided for indicating when to use the instruction codes stored in the plurality of registers. In addition, a decoding circuit for controlling the selector circuit can be provided, and the instruction codes stored in the plurality of registers can be switched by the selector circuit and output to a required arithmetic unit.
That is, in addition to the effect of the memory circuit of the arithmetic processing unit according to claim 1, since a plurality of registers for storing frequently used instruction codes are provided, all instruction codes are stored in the instruction storage memory as in the prior art. There is no need to do this, and it has the effect of further reducing the memory capacity.

請求項3記載の演算処理装置のメモリ回路によれば、連続命令情報格納メモリに、命令格納メモリに連続して同じ命令コードを格納しているか否かを示すビット情報を格納し、このビット情報をカウント禁止信号として利用することで、複数の演算器用に設置された命令格納メモリ用アドレス生成カウンタの動作を制御することができる。ここで、カウント禁止信号は、特定命令情報格納メモリからのビット情報との論理ORにより生成するものとする。
すなわち、請求項1の演算処理装置のメモリ回路による効果に追加して、連続して同じ命令コードを命令格納メモリに格納する必要がなくなるため、さらにメモリ容量を削減する効果を持っている。
According to the memory circuit of the arithmetic processing unit according to claim 3, bit information indicating whether or not the same instruction code is continuously stored in the instruction storage memory is stored in the continuous instruction information storage memory. Can be used as a count prohibition signal to control the operation of the instruction storage memory address generation counter installed for a plurality of arithmetic units. Here, the count prohibition signal is generated by a logical OR with the bit information from the specific instruction information storage memory.
That is, in addition to the effect of the memory circuit of the arithmetic processing unit according to the first aspect, it is not necessary to continuously store the same instruction code in the instruction storage memory, so that the memory capacity can be further reduced.

以下、本発明の実施例を図に基づいて説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は本発明の第1実施例を示す演算処理装置のメモリ回路のブロックである。
1は演算器、2は入力メモリ、3は出力メモリ、4は命令格納メモリ、5はアドレス生成カウンタ、6は特定命令情報格納メモリ、7はレジスタ、8はセレクタ回路、9はプログラムカウンタである。
本発明が従来技術と異なる点は以下のとおりである。
すなわち、演算処理で多用されるある特定の命令コードを格納するレジスタ7と、前記レジスタ7に格納された特定命令が実行されるステップの情報を格納するための特定命令情報格納メモリ6と、前記特定命令情報格納メモリ6からの出力データをカウント禁止信号としてカウント動作を制御できるアドレス生成カウンタ5と、命令格納メモリ4からの出力命令と前記特定命令コードを格納したレジスタ7からの出力命令を切替えるセレクタ回路8を備えた点である。
FIG. 1 is a block diagram of a memory circuit of an arithmetic processing unit showing a first embodiment of the present invention.
1 is an arithmetic unit, 2 is an input memory, 3 is an output memory, 4 is an instruction storage memory, 5 is an address generation counter, 6 is a specific instruction information storage memory, 7 is a register, 8 is a selector circuit, and 9 is a program counter .
The present invention is different from the prior art as follows.
That is, a register 7 for storing a specific instruction code frequently used in arithmetic processing, a specific instruction information storage memory 6 for storing information on a step in which the specific instruction stored in the register 7 is executed, The address generation counter 5 capable of controlling the counting operation using the output data from the specific instruction information storage memory 6 as a count prohibition signal, and the output instruction from the instruction storage memory 4 and the output instruction from the register 7 storing the specific instruction code are switched. The selector circuit 8 is provided.

次に動作について説明する。
演算処理装置のメモリ回路は、システム動作の基準となるクロックS1と、演算開始信号S2がプログラムカウンタ9に入力され、演算開始信号が有効となるとプログラムカウンタはカウント動作を開始する。
プログラムカウンタからの出力データはPCとして、特定命令情報格納メモリ6のアドレスとして入力される。これにより、PCにて指定された領域に格納されたビット情報が特定命令情報格納メモリから出力される。
特定命令情報格納メモリから出力されるビット情報1〜mは、カウント禁止信号1〜mとしてアドレス生成カウンタ5に入力される。このアドレス生成カウンタには、プログラムカウンタと同様に、クロックS1と、演算開始信号S2が入力され、演算開始信号が有効となるとアドレス生成カウンタ1〜mはカウント動作を開始する。
アドレス生成カウンタ1〜mから出力されるデータは、命令格納メモリ1〜mのアドレスとして入力され、そのメモリ出力が演算器1〜mの命令コード用として出力される。この命令コードと、特定命令コード用のレジスタ7に格納された命令コードはセレクタ回路8に入力され、前記カウント禁止信号1〜mにより、切り替えが行われる。
最終的にセレクタ回路の出力データが、命令コードとして演算器1〜mへ入力され、その命令に応じて入力メモリから入力されるデータを演算処理することになる。
Next, the operation will be described.
In the memory circuit of the arithmetic processing unit, a clock S1 which is a reference for system operation and an operation start signal S2 are input to the program counter 9, and when the operation start signal becomes valid, the program counter starts counting.
Output data from the program counter is input as an address of the specific command information storage memory 6 as a PC. Thereby, the bit information stored in the area designated by the PC is output from the specific command information storage memory.
Bit information 1 to m output from the specific instruction information storage memory is input to the address generation counter 5 as count prohibition signals 1 to m. Similar to the program counter, the address generation counter receives the clock S1 and the calculation start signal S2. When the calculation start signal becomes valid, the address generation counters 1 to m start counting.
Data output from the address generation counters 1 to m is input as addresses of the instruction storage memories 1 to m, and the memory output is output for instruction codes of the arithmetic units 1 to m. This instruction code and the instruction code stored in the register 7 for the specific instruction code are input to the selector circuit 8 and are switched by the count inhibition signals 1 to m.
Finally, the output data of the selector circuit is input to the calculators 1 to m as an instruction code, and the data input from the input memory is processed according to the instruction.

上記演算器にて実行される演算命令の例として、以下のようなものがある。ここでは、入力されるデータをAとBとした場合について記述する。
・A + B (加算)
・A − B (減算)
・A × B (乗算)
・A ÷ B (除算)
・|A + B| (加算絶対値)
・A & B (論理AND)
・A | B (論理OR)
・A ^ B (論理EX−OR)
・A < B、A > B (数値の大小比較)
・A = B、A != B (数値の一致、不一致)
・NOP(No Operation)
などが各演算器にて実行できる。
本発明では、アプリケーションにより多用される演算命令を特定命令としている。
Examples of operation instructions executed by the arithmetic unit include the following. Here, a case where input data is A and B will be described.
・ A + B (addition)
・ A-B (Subtraction)
・ A x B (multiplication)
・ A ÷ B (Division)
・ | A + B | (Additional absolute value)
・ A & B (Logical AND)
・ A | B (Logical OR)
・ A ^ B (Logic EX-OR)
・ A <B, A> B (Comparison of numerical values)
・ A = B, A! = B (Numeric value match, mismatch)
・ NOP (No Operation)
Etc. can be executed by each arithmetic unit.
In the present invention, an arithmetic instruction frequently used by an application is set as a specific instruction.

図2は、本発明の演算処理装置のメモリ回路における、特定命令情報格納メモリ6と命令格納メモリ4のメモリ使用状況を示す図である。図3は、命令格納メモリ内に特定命令コードを残した状態のメモリ使用状況を示す図である。また、ここでは説明を分かり易くするため、演算器を3つ内蔵した場合の演算処理装置のメモリ回路として説明する。さらに、演算器の命令コードには、OP1〜OP9の種類があり、各演算器ではこれら9種類の命令を利用して演算するものとして説明する。
図3から説明すると、ここでは図2で示した命令格納メモリ1〜3に命令コードが格納されており、使用頻度の高いOP3を特定命令と設定し、本発明で設置した特定命令情報格納メモリにどのようにその情報が格納されるかを示したものである。特定命令情報格納メモリのbit1は命令格納メモリ1に、bit2は命令格納メモリ2に、bit3は命令格納メモリ3にそれぞれ対応している。プログラムカウンタが示す演算ステップ毎に、OP3が利用される特定命令情報格納メモリの各bitに“1”が入るようになっている。
本発明のメモリ回路にて実際に使用する場合、図2のような命令格納メモリの使用状況となる。図2では、使用頻度の高いOP3の命令コードを、特定命令コード用レジスタ7に格納することで、命令格納メモリにその命令コードを格納する必要がなくなることを示している。
FIG. 2 is a diagram showing a memory usage situation of the specific instruction information storage memory 6 and the instruction storage memory 4 in the memory circuit of the arithmetic processing unit of the present invention. FIG. 3 is a diagram illustrating a memory usage state in which a specific instruction code is left in the instruction storage memory. In addition, here, in order to make the explanation easy to understand, a description will be given as a memory circuit of an arithmetic processing unit when three arithmetic units are incorporated. Further, there are OP1 to OP9 types of instruction codes for the arithmetic units, and each arithmetic unit will be described as performing calculations using these nine types of instructions.
Referring to FIG. 3, here, instruction codes are stored in the instruction storage memories 1 to 3 shown in FIG. 2, and the frequently used OP3 is set as a specific instruction, and the specific instruction information storage memory installed in the present invention. Shows how that information is stored. In the specific instruction information storage memory, bit 1 corresponds to the instruction storage memory 1, bit 2 corresponds to the instruction storage memory 2, and bit 3 corresponds to the instruction storage memory 3. For each calculation step indicated by the program counter, “1” is set in each bit of the specific instruction information storage memory in which OP3 is used.
When actually used in the memory circuit of the present invention, the instruction storage memory is used as shown in FIG. FIG. 2 shows that the instruction code of OP3 that is frequently used is stored in the specific instruction code register 7 so that it is not necessary to store the instruction code in the instruction storage memory.

よって、図2に示すように、本来ならOP3の命令コードが格納されるメモリ領域に、OP3の命令コードは存在しないことになり、使用するメモリが削減できることが分かる。   Therefore, as shown in FIG. 2, the OP3 instruction code does not exist in the memory area where the OP3 instruction code is originally stored, and it can be understood that the memory to be used can be reduced.

図4は、本発明の演算処理装置のメモリ回路における、タイミングチャートを示す図である。ここでは、図2に示す命令コードが特定命令情報格納メモリ6、および命令格納メモリ4に格納されているものとして説明している。尚、説明を分かり易くするため、特定命令情報格納メモリと命令格納メモリは、アドレスを入力するとデータを非同期で出力するメモリとしてタイミングチャートに示している。
図4のタイミングチャートについて、図1の回路におけるデータの流れと合わせて説明する。
まず、プログラムカウンタ9に、クロックS1と演算開始信号S2が入力される。プログラムカウンタは、演算開始信号が“1”になっている時、クロックの立ち上がりに同期してカウント動作を開始する。このプログラムカウンタからの出力データであるPCは、特定命令情報格納メモリのアドレスとして入力される。特定命令情報格納メモリからは、PCにて指定された領域に格納されたビット情報が出力される。
特定命令情報格納メモリから出力されるビット情報1〜3は、カウント禁止信号1〜3としてアドレス生成カウンタ5に入力される。アドレス生成カウンタは、プログラムカウンタと同様に、クロックS1と、演算開始信号S2が入力され、演算開始信号が“1”になるとカウント動作を開始する。ここで、カウント禁止信号1が“1”のときは、アドレス生成カウンタ1のカウント動作は停止する。タイミングチャートで示すように、プログラムカウンタが“2”と“6”のとき、カウント禁止信号1は“1”になっているので、この期間ではアドレス生成カウンタ1は、“2”と“5”のカウント値を保持した状態となる。アドレス生成カウンタ2についても同様に、プログラムカウンタが“1”と“2”のとき、カウント禁止信号2は“1”になっているので、この期間ではアドレス生成カウンタ2は、“1”のカウント値を連続して保持した状態となる。アドレス生成カウンタ3については、プログラムカウンタが“3”と“7”と“9”のとき、カウント禁止信号3は“1”になっているので、この期間ではアドレス生成カウンタ3は、“3”と“6”と“7”のカウント値を保持した状態となる。
各アドレス生成カウンタから出力されるデータは、命令格納メモリ1〜3のアドレスとして入力され、そのメモリ出力が演算器1〜3の命令コードとして出力される。タイミングチャートにおいて、命令格納メモリ1〜3から出力される命令コードは、図2に示すプログラムカウンタ値と命令コード1〜3に対応していることが分かる。また、この時点では、特定命令コードとして設定したOP3が存在していないことが確認できる。
命令格納メモリ1〜3から出力される命令コードは、直接演算器に入力されるのではなく、セレクタ回路を介して入力される。セレクタ回路では、特定命令コード用のレジスタ7に設定された、OP3の命令コードを出力し、カウント禁止信号が“0”のとき、命令格納メモリ1〜3からの出力値を選択し、カウント禁止信号が“1”のとき、特定命令コード用のレジスタの出力値を選択する。
最終的にセレクタ回路1の出力データは、カウント禁止信号1が“1”のとき、特定命令コードとして設定したOP3が命令コードとして選択される。これは、セレクタ回路2、セレクタ回路3についても同様であり、カウント禁止信号2、カウント禁止信号3が“1”のとき、特定命令コードとして設定したOP3が命令コードとして選択される。これらセレクタ回路1〜3から出力される命令コードは、図3に示す命令コードの並びと一致していることが分かる。演算器1〜3では、セレクタ回路1〜3から出力される命令コードにより、入力メモリから入力されるデータを演算処理することになる。
FIG. 4 is a diagram showing a timing chart in the memory circuit of the arithmetic processing unit of the present invention. Here, the instruction code shown in FIG. 2 is described as being stored in the specific instruction information storage memory 6 and the instruction storage memory 4. For easy understanding, the specific instruction information storage memory and the instruction storage memory are shown in the timing chart as memories that output data asynchronously when an address is input.
The timing chart of FIG. 4 will be described together with the data flow in the circuit of FIG.
First, the clock S1 and the calculation start signal S2 are input to the program counter 9. When the calculation start signal is “1”, the program counter starts counting in synchronization with the rising edge of the clock. The PC, which is output data from the program counter, is input as the address of the specific command information storage memory. Bit information stored in an area designated by the PC is output from the specific instruction information storage memory.
Bit information 1 to 3 output from the specific instruction information storage memory is input to the address generation counter 5 as the count inhibition signals 1 to 3. Similarly to the program counter, the address generation counter receives the clock S1 and the calculation start signal S2, and starts counting when the calculation start signal becomes “1”. Here, when the count inhibition signal 1 is “1”, the counting operation of the address generation counter 1 is stopped. As shown in the timing chart, when the program counter is “2” and “6”, the count inhibition signal 1 is “1”. Therefore, during this period, the address generation counter 1 is “2” and “5”. The count value is held. Similarly, for the address generation counter 2, when the program counter is “1” and “2”, the count inhibition signal 2 is “1”. Therefore, during this period, the address generation counter 2 counts “1”. The value is continuously held. As for the address generation counter 3, when the program counter is “3”, “7”, and “9”, the count prohibition signal 3 is “1”. Therefore, during this period, the address generation counter 3 is “3”. And the count values of “6” and “7” are held.
Data output from each address generation counter is input as an address of the instruction storage memories 1 to 3, and the memory output is output as an instruction code of the calculators 1 to 3. In the timing chart, it can be seen that the instruction codes output from the instruction storage memories 1 to 3 correspond to the program counter values and the instruction codes 1 to 3 shown in FIG. At this time, it can be confirmed that OP3 set as the specific instruction code does not exist.
The instruction codes output from the instruction storage memories 1 to 3 are not input directly to the computing unit but are input via the selector circuit. The selector circuit outputs the instruction code of OP3 set in the register 7 for the specific instruction code. When the count prohibition signal is “0”, the output value from the instruction storage memories 1 to 3 is selected and the count prohibition is performed. When the signal is “1”, the output value of the register for the specific instruction code is selected.
Finally, as the output data of the selector circuit 1, when the count inhibition signal 1 is “1”, OP3 set as the specific instruction code is selected as the instruction code. The same applies to the selector circuit 2 and the selector circuit 3. When the count prohibition signal 2 and the count prohibition signal 3 are “1”, OP3 set as the specific instruction code is selected as the instruction code. It can be seen that the instruction codes output from the selector circuits 1 to 3 match the instruction code sequence shown in FIG. In the arithmetic units 1 to 3, the data input from the input memory is arithmetically processed by the instruction code output from the selector circuits 1 to 3.

よって、従来の命令格納メモリは、図3に示すようにプログラムカウンタ値が9までの命令コードを格納するメモリ領域が必要であったものを、本発明の演算処理装置のメモリ回路を利用した命令格納メモリでは、図2に示すようにプログラムカウンタ値が7以下のメモリ容量となる。   Therefore, the conventional instruction storage memory requires a memory area for storing an instruction code having a program counter value up to 9, as shown in FIG. 3, and uses the memory circuit of the arithmetic processing unit of the present invention. In the storage memory, the program counter value has a memory capacity of 7 or less as shown in FIG.

したがって、本発明の第1実施例に係る演算処理装置は、演算処理で多用される命令を事前にレジスタ7へ格納しておき、本来実行コードが格納されるべきメモリには、多用される命令を格納しないようにすると共に、さらに、多用される命令が使われるプログラムカウンタの位置を、特定命令情報格納メモリ6に格納し、その情報を使って事前にレジスタ7へ格納した命令を演算器へ入力するためのセレクタ回路8を設置するようにしたので、演算器の実行コード数を削減し、命令格納メモリの物理的なメモリ容量の削減を実現することができる。その結果、発熱やLSIのパッケージ小型化の問題を解消することができる。   Therefore, the arithmetic processing unit according to the first embodiment of the present invention stores the instructions frequently used in the arithmetic processing in the register 7 in advance, and the frequently used instructions are stored in the memory in which the execution code is originally stored. In addition, the position of the program counter where frequently used instructions are used is stored in the specific instruction information storage memory 6, and the instructions stored in the register 7 in advance using the information are stored in the arithmetic unit. Since the selector circuit 8 for inputting is installed, the number of execution codes of the arithmetic unit can be reduced, and the physical memory capacity of the instruction storage memory can be reduced. As a result, problems of heat generation and LSI package miniaturization can be solved.

図5は本発明の第2実施例を示す演算処理装置のメモリ回路のブロック図である。なお、第2実施例の構成要素が第1実施例と同じものついてはその説明を省略し、異なる点について説明する。
図において、10は論理OR回路、11はセレクタ回路、12はデコード回路である。
第2実施例が第1実施例と異なる点は以下のとおりである。
すなわち、演算処理で多用される特定の命令コードを格納するレジスタ7が複数設置されており、レジスタに格納された特定命令が実行されるステップの情報を格納するための特定命令情報格納メモリ6も同様に複数設置されており、複数の特定命令情報格納メモリから出力される特定命令有効信号S10〜S12を論理ORすると共に、該論理ORされた信号をカウント禁止信号としてアドレス生成カウンタ1に出力するための論理OR回路10と、特定命令コードを格納した複数のレジスタ7からの出力命令を選択して各演算器に出力するセレクタ回路11と、セレクタ回路11を制御するためのデコード回路12を備えたものとなっている。
FIG. 5 is a block diagram of the memory circuit of the arithmetic processing unit showing the second embodiment of the present invention. Note that the description of the same constituent elements as those of the first embodiment is omitted, and different points will be described.
In the figure, 10 is a logical OR circuit, 11 is a selector circuit, and 12 is a decode circuit.
The second embodiment is different from the first embodiment as follows.
That is, a plurality of registers 7 for storing specific instruction codes frequently used in arithmetic processing are provided, and a specific instruction information storage memory 6 for storing information on steps in which specific instructions stored in the registers are executed is also provided. Similarly, a plurality of specific instruction valid signals S10 to S12 output from a plurality of specific instruction information storage memories are logically ORed, and the logically ORed signal is output to the address generation counter 1 as a count inhibition signal. And a selector circuit 11 for selecting an output instruction from a plurality of registers 7 storing specific instruction codes and outputting the selected instruction to each arithmetic unit, and a decoding circuit 12 for controlling the selector circuit 11. It has become.

次に動作について説明する。
第1実施例と同様に、演算処理装置のメモリ回路は、システム動作の基準となるクロックS1と、演算開始信号S2がプログラムカウンタ9に入力され、演算開始信号が有効となるとプログラムカウンタはカウント動作を開始する。
プログラムカウンタからの出力データはPCとして、複数(1〜P個)の特定命令情報格納メモリ6のアドレスとして入力される。これにより、PCにて指定された領域に格納されたビット情報が各特定命令情報格納メモリ6から出力される。
特定命令情報格納メモリ6から出力されるビット情報1〜mは、設置された特定命令情報格納メモリの個数分(1〜P個)出力される。ここで、特定命令情報格納メモリ1のビット情報mの信号S10と、特定命令情報格納メモリ2のビット情報mの信号S11と、特定命令情報格納メモリPのビット情報mの信号S12とは、論理OR回路10によりカウント禁止信号mとしてアドレス生成カウンタ5に入力される。このカウント禁止信号は、ビット情報1〜m−1についても同様に生成されるものとする。このアドレス生成カウンタには、プログラムカウンタと同様に、クロックS1と、演算開始信号S2が入力され、演算開始信号が有効となるとアドレス生成カウンタ1〜mはカウント動作を開始する。
複数の特定命令コード用のレジスタ7に格納された命令コードはセレクタ回路11に入力される。このセレクタ回路11は、特定命令情報格納メモリ1〜Pに格納されたビット情報1〜mのデータによりデコード回路12により制御される。
アドレス生成カウンタ1〜mから出力されるデータは、命令格納メモリ1〜mのアドレスとして入力され、そのメモリ出力が演算器1〜mの命令コード用として出力される。この命令コードと、複数の特定命令コード用のレジスタ7に格納された命令コードはセレクタ回路8に入力され、前記カウント禁止信号1〜mにより、切り替えが行われる。
最終的にセレクタ回路の出力データが、命令コードとして演算器1〜mへ入力され、その命令に応じて入力メモリから入力されるデータを演算処理することになる。
Next, the operation will be described.
Similar to the first embodiment, the memory circuit of the arithmetic processing unit is configured such that the clock S1, which is a reference for system operation, and the operation start signal S2 are input to the program counter 9, and the program counter counts when the operation start signal becomes valid. To start.
Output data from the program counter is input as an address of a plurality (1 to P) of specific instruction information storage memories 6 as a PC. Thereby, the bit information stored in the area designated by the PC is output from each specific instruction information storage memory 6.
The bit information 1 to m output from the specific command information storage memory 6 is output by the number (1 to P) of the specific command information storage memories installed. Here, the signal S10 of the bit information m of the specific instruction information storage memory 1, the signal S11 of the bit information m of the specific instruction information storage memory 2, and the signal S12 of the bit information m of the specific instruction information storage memory P are logical The OR circuit 10 inputs the count inhibition signal m to the address generation counter 5. This count prohibition signal is generated in the same manner for bit information 1 to m-1. Similar to the program counter, the address generation counter receives the clock S1 and the calculation start signal S2. When the calculation start signal becomes valid, the address generation counters 1 to m start counting.
The instruction codes stored in the plurality of specific instruction code registers 7 are input to the selector circuit 11. The selector circuit 11 is controlled by the decode circuit 12 by the data of the bit information 1 to m stored in the specific instruction information storage memories 1 to P.
Data output from the address generation counters 1 to m is input as addresses of the instruction storage memories 1 to m, and the memory output is output for instruction codes of the arithmetic units 1 to m. This instruction code and the instruction code stored in a plurality of specific instruction code registers 7 are input to the selector circuit 8 and switched by the count inhibition signals 1 to m.
Finally, the output data of the selector circuit is input to the calculators 1 to m as an instruction code, and the data input from the input memory is processed according to the instruction.

図6は、第2実施例の演算処理装置のメモリ回路における、複数の特定命令情報格納メモリ6と命令格納メモリ4のメモリ使用状況を示す図である。図7は、命令格納メモリ内に、複数の特定命令コードを残した状態のメモリ使用状況を示す図である。また、ここでは説明を分かり易くするため、特定命令情報格納メモリと特定命令コードを格納するレジスタ、演算器を各3個使用した場合の演算処理装置のメモリ回路として説明する。さらに、演算器の命令コードには、OP1〜OP9の種類があり、各演算器ではこれら9種類の命令を利用して演算するものとする。
図7から説明すると、ここでは図14で示した命令格納メモリ1〜3に命令コードが格納されており、使用頻度の高いOP3、OP4、OP5を特定命令と設定し、本発明で設置した特定命令情報格納メモリにどのようにその情報が格納されるかを示したものである。特定命令情報格納メモリのbit1は命令格納メモリ1に、bit2は命令格納メモリ2に、bit3は命令格納メモリ3にそれぞれ対応している。プログラムカウンタが示す演算ステップ毎に、OP3、OP4、OP5が利用される特定命令情報格納メモリの各bitに“1”が入るようになっている。
本発明のメモリ回路にて実際に使用する場合、図6のような命令格納メモリの使用状況となる。図6では、使用頻度の高いOP3、OP4、OP5の各命令コードを、3個の特定命令コード用レジスタ7に格納することで、命令格納メモリにその命令コードを格納する必要がなくなることを示している。
FIG. 6 is a diagram showing the memory usage status of the plurality of specific instruction information storage memories 6 and instruction storage memories 4 in the memory circuit of the arithmetic processing unit of the second embodiment. FIG. 7 is a diagram illustrating a memory usage state in which a plurality of specific instruction codes are left in the instruction storage memory. Further, here, in order to make the explanation easy to understand, it will be described as a memory circuit of an arithmetic processing unit when three specific instruction information storage memories, registers for storing specific instruction codes, and three arithmetic units are used. Further, there are OP1 to OP9 types of instruction codes for the arithmetic units, and each arithmetic unit performs calculations using these nine types of instructions.
Referring to FIG. 7, here, instruction codes are stored in the instruction storage memories 1 to 3 shown in FIG. 14, and frequently used OP3, OP4, and OP5 are set as specific instructions, and are specified in the present invention. It shows how the information is stored in the instruction information storage memory. In the specific instruction information storage memory, bit 1 corresponds to the instruction storage memory 1, bit 2 corresponds to the instruction storage memory 2, and bit 3 corresponds to the instruction storage memory 3. For each calculation step indicated by the program counter, “1” is set in each bit of the specific instruction information storage memory in which OP3, OP4, and OP5 are used.
When actually used in the memory circuit of the present invention, the instruction storage memory is used as shown in FIG. FIG. 6 shows that the instruction codes of frequently used OP3, OP4, and OP5 are stored in the three specific instruction code registers 7 so that the instruction codes need not be stored in the instruction storage memory. ing.

よって、図6に示すように、本来ならOP3、OP4、OP5の命令コードが格納されるメモリ領域に、各命令コードは存在しないことになり、使用するメモリが削減できることが分かる。   Therefore, as shown in FIG. 6, each instruction code does not exist in the memory area in which instruction codes OP3, OP4, and OP5 are originally stored, and it can be understood that the memory to be used can be reduced.

図8は、第2実施例の演算処理装置のメモリ回路における、タイミングチャートを示す図である。ここでは、図6に示す命令コードが複数の特定命令情報格納メモリ6、および命令格納メモリ4に格納されているものとして説明している。なお、説明を分かり易くするため、特定命令情報格納メモリと命令格納メモリは、アドレスを入力するとデータを非同期で出力するメモリとしてタイミングチャートに示している。
図8のタイミングチャートについて、図5の回路におけるデータの流れと合わせて説明する。
まず、プログラムカウンタ9に、クロックS1と演算開始信号S2が入力される。プログラムカウンタは、演算開始信号が“1”になっている時、クロックの立ち上がりに同期してカウント動作を開始する。このプログラムカウンタからの出力データであるPCは、特定命令情報格納メモリのアドレスとして入力される。特定命令情報格納メモリからは、PCにて指定された領域に格納されたビット情報が出力される。
特定命令情報格納メモリ1〜3から出力される各ビット情報1は、論理ORされてカウント禁止信号1としてアドレス生成カウンタ1に入力される。これと同様に、各ビット情報2、3においても、論理ORされてカウント禁止信号2、3としてアドレス生成カウンタ2、3に入力される。各アドレス生成カウンタは、プログラムカウンタと同様に、クロックS1と、演算開始信号S2が入力され、演算開始信号が“1”になるとカウント動作を開始する。ここで、カウント禁止信号1が“1”のときは、アドレス生成カウンタ1のカウント動作は停止する。タイミングチャートで示すように、プログラムカウンタが“1”〜“3”と“6”と“9”のとき、カウント禁止信号1は“1”になっているので、この期間のアドレス生成カウンタ1は、“1”と“3”と“5”のカウント値を保持した状態となる。アドレス生成カウンタ2についても同様に、プログラムカウンタが“0”〜“3”のとき、カウント禁止信号2は“1”になっているので、この期間のアドレス生成カウンタ2は、“0”のカウント値を連続して保持した状態となる。アドレス生成カウンタ3については、プログラムカウンタが“0”〜“3”と“7”と“9”のとき、カウント禁止信号3は“1”になっているので、この期間のアドレス生成カウンタ3は、“0”と“3”と“4”のカウント値を保持した状態となる。
各アドレス生成カウンタから出力されるデータは、命令格納メモリ1〜3のアドレスとして入力され、そのメモリ出力が演算器1〜3の命令コードとして出力される。タイミングチャートにおいて、命令格納メモリ1〜3から出力される命令コードは、図6に示すプログラムカウンタ値と命令コード1〜3に対応していることが分かる。また、この時点では、特定命令コードとして設定したOP3、OP4、OP5が存在していないことが確認できる。
命令格納メモリ1〜3から出力される命令コードは、直接演算器に入力されるのではなく、セレクタ回路8を介して入力される。特定命令コード用のレジスタ7に設定された、OP3、OP4、OP5の命令コードは、セレクタ回路11を介して前記セレクタ回路8へ出力される。セレクタ回路11を制御するために、デコード回路12が設置されており、このデコード回路では特定命令コード用のレジスタに対応した、特定命令情報格納メモリ6のビット情報により制御される。セレクタ回路8では、カウント禁止信号が“0”のとき、命令格納メモリ1〜3からの出力値を選択し、カウント禁止信号が“1”のとき、特定命令コード用のレジスタの出力値を選択する。
最終的にセレクタ回路1の出力データは、カウント禁止信号1が“1”のとき、特定命令コードとして設定したOP3、OP4、OP5が命令コードとして選択される。これは、セレクタ回路2、セレクタ回路3についても同様であり、カウント禁止信号2、カウント禁止信号3が“1”のとき、特定命令コードとして設定したOP3、OP4、OP5が命令コードとして選択される。これらセレクタ回路1〜3から出力される命令コードは、図7に示す命令コードの並びと一致していることが分かる。演算器1〜3では、セレクタ回路1〜3から出力される命令コードにより、入力メモリから入力されるデータを演算処理することになる。
FIG. 8 is a diagram illustrating a timing chart in the memory circuit of the arithmetic processing unit according to the second embodiment. Here, it is assumed that the instruction code shown in FIG. 6 is stored in the plurality of specific instruction information storage memories 6 and the instruction storage memory 4. For ease of explanation, the specific instruction information storage memory and the instruction storage memory are shown in the timing chart as memories that output data asynchronously when an address is input.
The timing chart of FIG. 8 will be described together with the data flow in the circuit of FIG.
First, the clock S1 and the calculation start signal S2 are input to the program counter 9. When the calculation start signal is “1”, the program counter starts counting in synchronization with the rising edge of the clock. The PC, which is output data from the program counter, is input as the address of the specific command information storage memory. Bit information stored in an area designated by the PC is output from the specific instruction information storage memory.
Each bit information 1 output from the specific instruction information storage memories 1 to 3 is logically ORed and input to the address generation counter 1 as a count prohibition signal 1. Similarly, the bit information 2 and 3 are logically ORed and input to the address generation counters 2 and 3 as the count inhibition signals 2 and 3. As with the program counter, each address generation counter receives a clock S1 and an operation start signal S2, and starts counting when the operation start signal becomes “1”. Here, when the count inhibition signal 1 is “1”, the counting operation of the address generation counter 1 is stopped. As shown in the timing chart, when the program counter is “1” to “3”, “6”, and “9”, the count inhibition signal 1 is “1”. , “1”, “3”, and “5” count values are held. Similarly, for the address generation counter 2, when the program counter is “0” to “3”, the count inhibition signal 2 is “1”, so the address generation counter 2 during this period counts “0”. The value is continuously held. For the address generation counter 3, when the program counter is “0” to “3”, “7”, and “9”, the count inhibition signal 3 is “1”. , “0”, “3”, and “4” count values are held.
Data output from each address generation counter is input as an address of the instruction storage memories 1 to 3, and the memory output is output as an instruction code of the calculators 1 to 3. In the timing chart, it can be seen that the instruction codes output from the instruction storage memories 1 to 3 correspond to the program counter values and the instruction codes 1 to 3 shown in FIG. At this time, it can be confirmed that OP3, OP4, and OP5 set as specific instruction codes do not exist.
The instruction codes output from the instruction storage memories 1 to 3 are not input directly to the computing unit but are input via the selector circuit 8. The instruction codes OP3, OP4, and OP5 set in the specific instruction code register 7 are output to the selector circuit 8 through the selector circuit 11. In order to control the selector circuit 11, a decode circuit 12 is provided. The decode circuit 12 is controlled by bit information in the specific instruction information storage memory 6 corresponding to a register for a specific instruction code. In the selector circuit 8, when the count prohibition signal is “0”, the output value from the instruction storage memories 1 to 3 is selected, and when the count prohibition signal is “1”, the output value of the register for the specific instruction code is selected. To do.
Finally, as the output data of the selector circuit 1, when the count inhibition signal 1 is “1”, OP3, OP4, and OP5 set as specific instruction codes are selected as instruction codes. The same applies to the selector circuit 2 and the selector circuit 3. When the count prohibition signal 2 and the count prohibition signal 3 are “1”, OP3, OP4, and OP5 set as specific instruction codes are selected as instruction codes. . It can be seen that the instruction codes output from the selector circuits 1 to 3 match the instruction code sequence shown in FIG. In the arithmetic units 1 to 3, the data input from the input memory is arithmetically processed by the instruction code output from the selector circuits 1 to 3.

したがって、本発明の第2実施例に係る演算処理装置は、レジスタ7および特定命令情報格納メモリ6を複数設置し、複数の特定命令情報格納メモリ6から出力される特定命令有効信号S10〜S12を論理ORすると共に、該論理ORされた信号をカウント禁止信号としてアドレス生成カウンタ1に出力するための論理OR回路10と、特定命令コードを格納した複数のレジスタ7からの出力命令を選択して各演算器に出力するセレクタ回路11と、セレクタ回路11を制御するためのデコード回路12と、を備えたので、従来の命令格納メモリが、図7に示すようにプログラムカウンタ値が9までの命令コードを格納するメモリ領域が必要であったものを、本発明の第2実施例による演算処理装置のメモリ回路を利用した命令格納メモリでは、図6に示すようにプログラムカウンタ値を5以下のメモリ容量にすることができる。すなわち、第2実施例は命令格納メモリの物理的なメモリ容量の削減を実現することができる。   Therefore, the arithmetic processing unit according to the second embodiment of the present invention includes a plurality of registers 7 and specific instruction information storage memories 6, and receives specific instruction valid signals S10 to S12 output from the plurality of specific instruction information storage memories 6. A logical OR circuit 10 for performing a logical OR and outputting the logically ORed signal as a count prohibition signal to the address generation counter 1 and an output instruction from a plurality of registers 7 storing specific instruction codes are selected and Since the selector circuit 11 for outputting to the arithmetic unit and the decode circuit 12 for controlling the selector circuit 11 are provided, the conventional instruction storage memory has an instruction code with a program counter value up to 9, as shown in FIG. Instruction storage memory using the memory circuit of the arithmetic processing unit according to the second embodiment of the present invention It may be a memory capacity of the program counter value of 5 or less as shown in FIG. That is, the second embodiment can reduce the physical memory capacity of the instruction storage memory.

図9は本発明の第3実施例を示す演算処理装置のメモリ回路のブロック図である。なお、第3実施例の構成要素が第1実施例と同じものついてはその説明を省略し、異なる点について説明する。
図において、20は論理OR回路、21は連続命令情報格納メモリである。
第3実施例が第1実施例と異なる点は以下のとおりである。
すなわち、同一の命令コードを連続して前記特定命令情報格納メモリ6から出力することを示す情報が格納された連続命令情報格納メモリ21と、前記特定命令情報格納メモリ6から出力される特定命令有効信号S20〜S22と前記連続命令情報格納メモリ21から出力される連続命令有効信号S23〜S25とを論理ORすると共に、該論理ORされた信号をカウント禁止信号として前記アドレス生成カウンタ1に出力する論理OR回路20とを備えた点である。
FIG. 9 is a block diagram of the memory circuit of the arithmetic processing unit showing the third embodiment of the present invention. Note that the description of the components of the third embodiment that are the same as those of the first embodiment will be omitted, and the differences will be described.
In the figure, 20 is a logical OR circuit, and 21 is a continuous instruction information storage memory.
The third embodiment differs from the first embodiment as follows.
That is, the continuous instruction information storage memory 21 storing information indicating that the same instruction code is continuously output from the specific instruction information storage memory 6 and the specific instruction valid output from the specific instruction information storage memory 6 Logically OR the signals S20 to S22 and the continuous instruction valid signals S23 to S25 output from the continuous instruction information storage memory 21 and output the logically ORed signal to the address generation counter 1 as a count inhibition signal. This is a point provided with an OR circuit 20.

次に動作について説明する。
第1実施例と同様に、演算処理装置のメモリ回路は、システム動作の基準となるクロックS1と、演算開始信号S2がプログラムカウンタ9に入力され、演算開始信号が有効となるとプログラムカウンタはカウント動作を開始する。
プログラムカウンタからの出力データはPCとして、特定命令情報格納メモリ6と連続命令情報格納メモリ21のアドレスとして入力される。これにより、PCにて指定された領域に格納されたビット情報が特定命令情報格納メモリと連続命令情報格納メモリから出力される。
特定命令情報格納メモリから出力されるビット情報1〜mと、連続命令情報格納メモリから出力されるビット情報1〜mとは、各ビット毎に論理OR回路20に入力される。論理OR回路20では、カウント禁止信号1〜mとしてアドレス生成カウンタ5に入力される。このアドレス生成カウンタには、プログラムカウンタと同様に、クロックS1と、演算開始信号S2が入力され、演算開始信号が有効となるとアドレス生成カウンタ1〜mはカウント動作を開始する。
アドレス生成カウンタ1〜mから出力されるデータは、命令格納メモリ1〜mのアドレスとして入力され、そのメモリ出力が演算器1〜mの命令コード用として出力される。この命令コードと、特定命令コード用のレジスタ7に格納された命令コードはセレクタ回路8に入力され、特定命令情報格納メモリから出力されるビット情報1〜mS20、S21、S22により、切り替えが行われる。
最終的にセレクタ回路の出力データが、命令コードとして演算器1〜mへ入力され、その命令に応じて入力メモリから入力されるデータを演算処理することになる。
Next, the operation will be described.
Similar to the first embodiment, the memory circuit of the arithmetic processing unit is configured such that the clock S1, which is a reference for system operation, and the operation start signal S2 are input to the program counter 9, and the program counter counts when the operation start signal becomes valid. To start.
Output data from the program counter is input as an address of the specific instruction information storage memory 6 and the continuous instruction information storage memory 21 as a PC. Thereby, the bit information stored in the area designated by the PC is output from the specific instruction information storage memory and the continuous instruction information storage memory.
The bit information 1 to m output from the specific instruction information storage memory and the bit information 1 to m output from the continuous instruction information storage memory are input to the logical OR circuit 20 for each bit. In the logical OR circuit 20, the count inhibition signals 1 to m are input to the address generation counter 5. Similar to the program counter, the address generation counter receives the clock S1 and the calculation start signal S2. When the calculation start signal becomes valid, the address generation counters 1 to m start counting.
Data output from the address generation counters 1 to m is input as addresses of the instruction storage memories 1 to m, and the memory output is output for instruction codes of the arithmetic units 1 to m. This instruction code and the instruction code stored in the register 7 for the specific instruction code are input to the selector circuit 8 and switched by the bit information 1 to mS20, S21, and S22 output from the specific instruction information storage memory. .
Finally, the output data of the selector circuit is input to the calculators 1 to m as an instruction code, and the data input from the input memory is processed according to the instruction.

図10は、第3実施例の演算処理装置のメモリ回路における、特定命令情報格納メモリ6と連続命令情報格納メモリ21と命令格納メモリ4のメモリ使用状況を示す図である。図11は、命令格納メモリ内に、特定命令コードと連続命令コードを残した状態のメモリ使用状況を示す図である。また、ここでは説明を分かり易くするため、演算器を各3個使用した場合の演算処理装置のメモリ回路として説明する。さらに、演算器の命令コードには、OP1〜OP9の種類があり、各演算器ではこれら9種類の命令を利用して演算するものとする。
図11から説明すると、ここでは図14で示した命令格納メモリ1〜3に命令コードが格納されており、使用頻度の高いOP3を特定命令と設定し、本発明で設置した特定命令情報格納メモリにどのようにその情報が格納されるかを示したものである。特定命令情報格納メモリのbit1は命令格納メモリ1に、bit2は命令格納メモリ2に、bit3は命令格納メモリ3にそれぞれ対応している。プログラムカウンタが示す演算ステップ毎に、OP3が利用される特定命令情報格納メモリの各bitに“1”が入るようになっている。また、命令格納メモリにおいてOP3を取り除いた際、命令コードが連続して配置される、OP5、OP4、OP1について、連続命令情報格納メモリにどのように配置されているか示している。連続命令情報格納メモリのbit1は命令格納メモリ1に、bit2は命令格納メモリ2に、bit3は命令格納メモリ3にそれぞれ対応している。プログラムカウンタが示す演算ステップ毎に、命令格納メモリに同一の命令コードが連続している際、先頭部分の連続命令情報格納メモリの各bitに“1”が入るようになっている。
本発明のメモリ回路にて実際に使用する場合、図10のような命令格納メモリの使用状況となる。図10では、使用頻度の高いOP3の命令コードを、特定命令コード用レジスタ7に格納することで、命令格納メモリにその命令コードを格納する必要がなくなることを示している。これとともに、命令格納メモリに連続して配置された同一の命令コードを格納する必要がなくなることも示している。
FIG. 10 is a diagram showing the memory usage status of the specific instruction information storage memory 6, the continuous instruction information storage memory 21, and the instruction storage memory 4 in the memory circuit of the arithmetic processing unit of the third embodiment. FIG. 11 is a diagram illustrating a memory usage state in which a specific instruction code and a continuous instruction code are left in the instruction storage memory. In addition, here, in order to make the explanation easy to understand, a description will be given as a memory circuit of an arithmetic processing unit when three arithmetic units are used. Further, there are OP1 to OP9 types of instruction codes for the arithmetic units, and each arithmetic unit performs calculations using these nine types of instructions.
Referring to FIG. 11, here, instruction codes are stored in the instruction storage memories 1 to 3 shown in FIG. 14, and the frequently used OP3 is set as a specific instruction, and the specific instruction information storage memory installed in the present invention. Shows how that information is stored. In the specific instruction information storage memory, bit 1 corresponds to the instruction storage memory 1, bit 2 corresponds to the instruction storage memory 2, and bit 3 corresponds to the instruction storage memory 3. For each calculation step indicated by the program counter, “1” is set in each bit of the specific instruction information storage memory in which OP3 is used. Further, it shows how OP5, OP4, and OP1, in which instruction codes are continuously arranged when OP3 is removed from the instruction storage memory, are arranged in the continuous instruction information storage memory. In the continuous instruction information storage memory, bit 1 corresponds to the instruction storage memory 1, bit 2 corresponds to the instruction storage memory 2, and bit 3 corresponds to the instruction storage memory 3. For each calculation step indicated by the program counter, when the same instruction code continues in the instruction storage memory, “1” is set in each bit of the continuous instruction information storage memory at the head.
When actually used in the memory circuit of the present invention, the instruction storage memory is used as shown in FIG. FIG. 10 shows that by storing the frequently used instruction code of OP3 in the specific instruction code register 7, it is not necessary to store the instruction code in the instruction storage memory. This also shows that it is not necessary to store the same instruction code continuously arranged in the instruction storage memory.

よって、図10に示すように、本来ならOP3の命令コードが格納されるメモリ領域と、連続で配置されるOP5、OP4、OP1の各命令コードは存在しないことになり、使用するメモリが削減できることが分かる。   Therefore, as shown in FIG. 10, there is originally no memory area in which the instruction code of OP3 is stored and the instruction codes of OP5, OP4, and OP1 arranged consecutively, and the memory to be used can be reduced. I understand.

図12は、第3実施例の演算処理装置のメモリ回路における、タイミングチャートを示す図である。ここでは、図10に示す命令コードが特定命令情報格納メモリ6、および命令格納メモリ4に格納されているものとして説明している。尚、説明を分かり易くするため、特定命令情報格納メモリと命令格納メモリは、アドレスを入力するとデータを非同期で出力するメモリとしてタイミングチャートに示している。
図12のタイミングチャートについて、図9の回路におけるデータの流れと合わせて説明する。
まず、プログラムカウンタ9に、クロックS1と演算開始信号S2が入力される。プログラムカウンタは、演算開始信号が“1”になっている時、クロックの立ち上がりに同期してカウント動作を開始する。このプログラムカウンタからの出力データであるPCは、特定命令情報格納メモリのアドレスとして入力される。特定命令情報格納メモリからは、PCにて指定された領域に格納されたビット情報が出力される。
特定命令情報格納メモリから出力されるビット情報と、連続命令情報格納メモリから出力されるビット情報は、論理ORされてカウント禁止信号1〜3としてアドレス生成カウンタ1〜3に入力される。各アドレス生成カウンタは、プログラムカウンタと同様に、クロックS1と、演算開始信号S2が入力され、演算開始信号が“1”になるとカウント動作を開始する。ここで、カウント禁止信号1が“1”のときは、アドレス生成カウンタ1のカウント動作は停止する。タイミングチャートで示すように、プログラムカウンタが“1”と“2”と“6”のとき、カウント禁止信号1は“1”になっているので、この期間のアドレス生成カウンタ1は、“1”と“4”のカウント値を保持した状態となる。アドレス生成カウンタ2についても同様に、プログラムカウンタが“0”〜2”と“6”のとき、カウント禁止信号2は“1”になっているので、この期間のアドレス生成カウンタ2は、“0”と“3”のカウント値を連続して保持した状態となる。アドレス生成カウンタ3については、プログラムカウンタが“1”と“3”と“7”と“9”のとき、カウント禁止信号3は“1”になっているので、この期間のアドレス生成カウンタ3は、“1”と“2”と“5”と“6”のカウント値を保持した状態となる。
各アドレス生成カウンタから出力されるデータは、命令格納メモリ1〜3のアドレスとして入力され、そのメモリ出力が演算器1〜3の命令コードとして出力される。タイミングチャートにおいて、命令格納メモリ1〜3から出力される命令コードは、図10に示すプログラムカウンタ値と命令コード1〜3に対応していることが分かる。また、この時点では、特定命令コードとして設定したOP3が存在していないことが確認できる。さらに、OP3を取り除いた際に、命令格納メモリ1に連続して配置されたOP5と、命令格納メモリ2に連続して配置されたOP4、OP1と、命令格納メモリ3に連続して配置されたOP4も先頭の命令コードのみ存在していることが確認できる。
命令格納メモリ1〜3から出力される命令コードは、直接演算器に入力されるのではなく、セレクタ回路8を介して入力される。セレクタ回路8では、カウント禁止信号が“0”のとき、命令格納メモリ1〜3からの出力値を選択し、カウント禁止信号が“1”のとき、特定命令コード用のレジスタの出力値を選択する。
最終的にセレクタ回路1の出力データは、カウント禁止信号1が“1”のとき、特定命令コードとして設定したOP3が命令コードとして選択される。これは、セレクタ回路2、セレクタ回路3についても同様であり、カウント禁止信号2、カウント禁止信号3が“1”のとき、特定命令コードとして設定したOP3が命令コードとして選択される。これらセレクタ回路1〜3から出力される命令コードは、図11に示す命令コードの並びと一致していることが分かる。演算器1〜3では、セレクタ回路1〜3から出力される命令コードにより、入力メモリから入力されるデータを演算処理することになる。
FIG. 12 is a diagram illustrating a timing chart in the memory circuit of the arithmetic processing unit according to the third embodiment. Here, it is assumed that the instruction code shown in FIG. 10 is stored in the specific instruction information storage memory 6 and the instruction storage memory 4. For easy understanding, the specific instruction information storage memory and the instruction storage memory are shown in the timing chart as memories that output data asynchronously when an address is input.
The timing chart of FIG. 12 will be described together with the data flow in the circuit of FIG.
First, the clock S1 and the calculation start signal S2 are input to the program counter 9. When the calculation start signal is “1”, the program counter starts counting in synchronization with the rising edge of the clock. The PC, which is output data from the program counter, is input as the address of the specific command information storage memory. Bit information stored in an area designated by the PC is output from the specific instruction information storage memory.
The bit information output from the specific instruction information storage memory and the bit information output from the continuous instruction information storage memory are logically ORed and input to the address generation counters 1 to 3 as count inhibition signals 1 to 3. As with the program counter, each address generation counter receives a clock S1 and an operation start signal S2, and starts counting when the operation start signal becomes “1”. Here, when the count inhibition signal 1 is “1”, the counting operation of the address generation counter 1 is stopped. As shown in the timing chart, when the program counter is “1”, “2”, and “6”, the count inhibition signal 1 is “1”, so that the address generation counter 1 in this period is “1”. And a count value of “4” is held. Similarly, for the address generation counter 2, when the program counter is “0” to “2” and “6”, the count inhibition signal 2 is “1”, so that the address generation counter 2 during this period is “0”. The address generation counter 3 has a count inhibition signal 3 when the program counter is “1”, “3”, “7”, and “9”. Is “1”, the address generation counter 3 during this period is in a state of holding the count values of “1”, “2”, “5”, and “6”.
Data output from each address generation counter is input as an address of the instruction storage memories 1 to 3, and the memory output is output as an instruction code of the calculators 1 to 3. In the timing chart, it can be seen that the instruction codes output from the instruction storage memories 1 to 3 correspond to the program counter values and the instruction codes 1 to 3 shown in FIG. At this time, it can be confirmed that OP3 set as the specific instruction code does not exist. Further, when OP3 is removed, OP5 continuously arranged in the instruction storage memory 1, OP4 and OP1 continuously arranged in the instruction storage memory 2, and continuously arranged in the instruction storage memory 3. It can be confirmed that only the first instruction code exists in OP4.
The instruction codes output from the instruction storage memories 1 to 3 are not input directly to the computing unit but are input via the selector circuit 8. In the selector circuit 8, when the count prohibition signal is “0”, the output value from the instruction storage memories 1 to 3 is selected, and when the count prohibition signal is “1”, the output value of the register for the specific instruction code is selected. To do.
Finally, as the output data of the selector circuit 1, when the count inhibition signal 1 is “1”, OP3 set as the specific instruction code is selected as the instruction code. The same applies to the selector circuit 2 and the selector circuit 3. When the count prohibition signal 2 and the count prohibition signal 3 are “1”, OP3 set as the specific instruction code is selected as the instruction code. It can be seen that the instruction codes output from the selector circuits 1 to 3 match the instruction code sequence shown in FIG. In the arithmetic units 1 to 3, the data input from the input memory is arithmetically processed by the instruction code output from the selector circuits 1 to 3.

したがって、本発明の第3実施例に係る演算処理装置は、同一の命令コードを連続して前記特定命令情報格納メモリ6から出力することを示す情報が格納された連続命令情報格納メモリ21と、前記特定命令情報格納メモリ6から出力される特定命令有効信号S20〜S22と前記連続命令情報格納メモリ21から出力される連続命令有効信号S23〜S25とを論理ORすると共に、該論理ORされた信号をカウント禁止信号として前記アドレス生成カウンタ1に出力する論理OR回路20とを備えたので、従来の命令格納メモリが、図11に示すようにプログラムカウンタ値が9までの命令コードを格納するメモリ領域が必要であったものを、本発明の第3実施例による演算処理装置のメモリ回路を利用した命令格納メモリでは、図10に示すようにプログラムカウンタ値を6以下のメモリ容量にすることができる。すなわち、本発明は命令格納メモリの物理的なメモリ容量の削減を実現することができる。   Therefore, the arithmetic processing unit according to the third embodiment of the present invention includes a continuous instruction information storage memory 21 in which information indicating that the same instruction code is continuously output from the specific instruction information storage memory 6 is stored; The specific instruction valid signals S20 to S22 output from the specific instruction information storage memory 6 and the continuous instruction valid signals S23 to S25 output from the continuous instruction information storage memory 21 are logically ORed, and the logically ORed signal And a logical OR circuit 20 that outputs to the address generation counter 1 as a count inhibition signal, so that the conventional instruction storage memory has a memory area for storing instruction codes up to 9 as shown in FIG. In the instruction storage memory using the memory circuit of the arithmetic processing device according to the third embodiment of the present invention, The program counter value can be in the memory capacity of 6 or less as shown. That is, the present invention can realize a reduction in the physical memory capacity of the instruction storage memory.

VLIW方式の演算処理装置において、より少ない命令格納メモリで並列演算を実行することができるため、FA用途の制御装置や信号処理装置の命令格納メモリの容量削減手法として利用することができる。
また、命令格納メモリの容量を物理的に削減しない場合は、現状より多くの実行コードを命令格納メモリに格納することが可能となるため、FA用途の制御装置や信号処理装置の演算処理において、より高度で複雑な演算処理を実行するために利用することができる。
Since the VLIW type arithmetic processing unit can execute parallel arithmetic with less instruction storage memory, it can be used as a method for reducing the capacity of the instruction storage memory of a control device for FA or a signal processing device.
Further, when the capacity of the instruction storage memory is not physically reduced, since it becomes possible to store more execution codes in the instruction storage memory than in the present situation, in the arithmetic processing of the control device and signal processing device for FA use, It can be used to execute more sophisticated and complicated arithmetic processing.

本発明の第1実施例を示す演算処理装置のメモリ回路のブロック図The block diagram of the memory circuit of the arithmetic processing unit which shows 1st Example of this invention 本発明の第1実施例の特定命令情報格納メモリと命令格納メモリのメモリ使用状況を示す図The figure which shows the memory usage condition of the specific instruction information storage memory and instruction storage memory of 1st Example of this invention 本発明の第1実施例を説明するための命令格納メモリ内に、特定命令コードを残した状態のメモリ使用状況を示す図The figure which shows the memory usage condition of the state which left the specific instruction code in the instruction storage memory for demonstrating 1st Example of this invention 本発明の第1実施例を説明するためのタイミングチャートを示す図The figure which shows the timing chart for demonstrating 1st Example of this invention 本発明の第2実施例を示す演算処理装置のメモリ回路のブロック図The block diagram of the memory circuit of the arithmetic processing unit which shows 2nd Example of this invention 本発明の第2実施例の特定命令情報格納メモリと命令格納メモリのメモリ使用状況を示す図The figure which shows the memory usage condition of the specific instruction information storage memory and instruction storage memory of 2nd Example of this invention 本発明の第2実施例を説明するための命令格納メモリ内に、特定命令コードを残した状態のメモリ使用状況を示す図The figure which shows the memory usage condition of the state which left the specific instruction code in the instruction storage memory for demonstrating 2nd Example of this invention 本発明の第2実施例を説明するタイミングチャートを示す図The figure which shows the timing chart explaining 2nd Example of this invention 本発明の第3実施例を示す演算処理装置のメモリ回路のブロック図The block diagram of the memory circuit of the arithmetic processing unit which shows 3rd Example of this invention 本発明の第3実施例の特定命令情報格納メモリと連続命令情報格納メモリと命令格納メモリのメモリ使用状況を示す図The figure which shows the memory usage condition of specific instruction information storage memory of 3rd Example of this invention, continuous instruction information storage memory, and instruction storage memory 本発明の第3実施例を説明するための命令格納メモリ内に、特定命令コードと連続する命令コードを残した状態のメモリ使用状況を示す図The figure which shows the memory use condition of the state which left the instruction code continuous with a specific instruction code in the instruction storage memory for demonstrating 3rd Example of this invention 本発明の第3実施例を説明するタイミングチャートを示す図The figure which shows the timing chart explaining 3rd Example of this invention 従来例を示す演算処理装置のブロック図A block diagram of an arithmetic processing unit showing a conventional example 従来例の演算処理装置のメモリ回路における、命令格納メモリのメモリ使用状況を示す図The figure which shows the memory usage condition of the instruction storage memory in the memory circuit of the arithmetic processing unit of a prior art example 図14に示す命令格納メモリ内での命令コード使用状況について示す図The figure which shows the instruction code use condition in the instruction storage memory shown in FIG.

符号の説明Explanation of symbols

1:演算器
2:入力メモリ
3:出力メモリ
4:命令格納メモリ
5:アドレス生成カウンタ
6:特定命令情報格納メモリ
7:レジスタ
8:セレクタ回路
9:プログラムカウンタ
10:論理OR回路
11:セレクタ回路
12:デコード回路
20:論理OR回路
21:連続命令情報格納メモリ
S1:クロック
S2:演算開始信号
S10〜12、S20〜22:特定命令有効信号
S23〜25:連続命令有効信号
1: arithmetic unit 2: input memory 3: output memory 4: instruction storage memory 5: address generation counter 6: specific instruction information storage memory 7: register 8: selector circuit 9: program counter 10: logical OR circuit 11: selector circuit 12 : Decode circuit 20: Logical OR circuit 21: Continuous instruction information storage memory S1: Clock S2: Operation start signals S10-12, S20-22: Specific instruction valid signal S23-25: Continuous instruction valid signal

Claims (3)

複数の入力データを保持するための入力メモリ(2)と、
加減乗除、論理演算および数値比較などを行うための1つ以上の演算器(1)と、
前記演算器(1)からの演算結果を保持する出力メモリ(3)と、
前記演算器(1)にて実行する処理を決定するための1つ以上の命令格納メモリ(4)と、
前記演算器(1)の実行サイクル毎にカウントアップするプログラムカウンタ(9)と、
を備えた演算処理装置において、
演算処理で多用されるある特定の命令コードを格納するレジスタ(7)と、
前記レジスタ(7)に格納された特定命令が実行されるステップの情報を格納するための特定命令情報格納メモリ(6)と、
前記特定命令情報格納メモリ(6)からの出力データをカウント禁止信号としてカウント動作を制御できるアドレス生成カウンタ(5)と、
前記命令格納メモリ(4)からの出力命令と前記特定命令コードを格納したレジスタ(7)からの出力命令を切替える第1のセレクタ回路(8)と、
を備えたことを特徴とする演算処理装置のメモリ回路。
An input memory (2) for holding a plurality of input data;
One or more computing units (1) for performing addition, subtraction, multiplication, division, logical operation, numerical comparison, etc .;
An output memory (3) for holding a calculation result from the calculator (1);
One or more instruction storage memories (4) for determining processing to be executed by the computing unit (1);
A program counter (9) that counts up every execution cycle of the computing unit (1);
In an arithmetic processing device comprising:
A register (7) for storing a specific instruction code frequently used in arithmetic processing;
A specific instruction information storage memory (6) for storing information of a step in which the specific instruction stored in the register (7) is executed;
An address generation counter (5) capable of controlling the count operation using the output data from the specific instruction information storage memory (6) as a count prohibition signal;
A first selector circuit (8) for switching an output instruction from the instruction storage memory (4) and an output instruction from a register (7) storing the specific instruction code;
A memory circuit of an arithmetic processing unit comprising:
前記レジスタ(7)および前記特定命令情報格納メモリ(6)が複数設置されており、
前記複数の特定命令情報格納メモリ(6)から出力される特定命令有効信号(S10〜S12)を論理ORすると共に、該論理ORされた信号をカウント禁止信号として前記アドレス生成カウンタ(1)に出力するための論理OR回路(10)と、
前記特定命令コードを格納した複数のレジスタ(7)からの出力命令を選択して各演算器に出力する第2のセレクタ回路(11)と、
前記第2のセレクタ回路(11)を制御するためのデコード回路(12)と、
を備えたことを特徴とする請求項1記載の演算処理装置のメモリ回路。
A plurality of the register (7) and the specific command information storage memory (6) are provided,
The specific instruction valid signals (S10 to S12) output from the plurality of specific instruction information storage memories (6) are logically ORed, and the logically ORed signal is output to the address generation counter (1) as a count inhibition signal. A logical OR circuit (10) for
A second selector circuit (11) for selecting an output instruction from a plurality of registers (7) storing the specific instruction code and outputting the selected instruction to each computing unit;
A decode circuit (12) for controlling the second selector circuit (11);
The memory circuit of the arithmetic processing unit according to claim 1, further comprising:
同一の命令コードを連続して前記特定命令情報格納メモリ(6)から出力することを示す情報が格納された連続命令情報格納メモリ(21)と、
前記特定命令情報格納メモリ(6)から出力される特定命令有効信号(S20〜S22)と前記連続命令情報格納メモリ(21)から出力される連続命令有効信号(S23〜S25)とを論理ORすると共に、該論理ORされた信号をカウント禁止信号として前記アドレス生成カウンタ(1)に出力する論理OR回路(20)と、
を備えたことを特徴とする請求項1記載の演算処理装置のメモリ回路。
A continuous instruction information storage memory (21) in which information indicating that the same instruction code is continuously output from the specific instruction information storage memory (6) is stored;
The specific instruction valid signal (S20 to S22) output from the specific instruction information storage memory (6) and the continuous instruction valid signal (S23 to S25) output from the continuous instruction information storage memory (21) are logically ORed. And a logical OR circuit (20) for outputting the logically ORed signal to the address generation counter (1) as a count inhibition signal;
The memory circuit of the arithmetic processing unit according to claim 1, further comprising:
JP2005064818A 2004-08-04 2005-03-09 Memory circuit for arithmetic processing unit Pending JP2006072961A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005064818A JP2006072961A (en) 2004-08-04 2005-03-09 Memory circuit for arithmetic processing unit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004228167 2004-08-04
JP2005064818A JP2006072961A (en) 2004-08-04 2005-03-09 Memory circuit for arithmetic processing unit

Publications (1)

Publication Number Publication Date
JP2006072961A true JP2006072961A (en) 2006-03-16

Family

ID=36153484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005064818A Pending JP2006072961A (en) 2004-08-04 2005-03-09 Memory circuit for arithmetic processing unit

Country Status (1)

Country Link
JP (1) JP2006072961A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316900A (en) * 2006-05-25 2007-12-06 Sanyo Electric Co Ltd Control information supply device and control information compression method
JP2007316901A (en) * 2006-05-25 2007-12-06 Sanyo Electric Co Ltd Control information supply device and control information compression method
JP2009026106A (en) * 2007-07-20 2009-02-05 Oki Electric Ind Co Ltd Instruction code compression method and instruction fetch circuit
CN110383259A (en) * 2017-01-26 2019-10-25 索尼半导体解决方案公司 Calculation processing apparatus and information processing system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316900A (en) * 2006-05-25 2007-12-06 Sanyo Electric Co Ltd Control information supply device and control information compression method
JP2007316901A (en) * 2006-05-25 2007-12-06 Sanyo Electric Co Ltd Control information supply device and control information compression method
JP4646853B2 (en) * 2006-05-25 2011-03-09 三洋電機株式会社 Control information supply device
JP4646854B2 (en) * 2006-05-25 2011-03-09 三洋電機株式会社 Control information supply device
JP2009026106A (en) * 2007-07-20 2009-02-05 Oki Electric Ind Co Ltd Instruction code compression method and instruction fetch circuit
CN110383259A (en) * 2017-01-26 2019-10-25 索尼半导体解决方案公司 Calculation processing apparatus and information processing system
CN110383259B (en) * 2017-01-26 2023-05-16 索尼半导体解决方案公司 Computing processing device and information processing system

Similar Documents

Publication Publication Date Title
JP3592230B2 (en) Data processing device
JPH1091443A (en) Information processing circuit, microcomputer and electronic equipment
JPH0470662B2 (en)
CN101401064A (en) Register-based shifts for a unidirectional rotator
KR100983135B1 (en) Processor and method of grouping and executing dependent instructions in a packet
EP0913764B1 (en) Method and apparatus for shifting data
US20120005458A1 (en) Fast Static Rotator/Shifter with Non Two&#39;s Complemented Decode and Fast Mask Generation
JP2006072961A (en) Memory circuit for arithmetic processing unit
KR20180035211A (en) Vector arithmetic instruction
JP2008108220A (en) Arithmetic unit
JP3556252B2 (en) Data processing system and method for calculating offset total
JP5233078B2 (en) Processor and processing method thereof
JPWO2010067522A1 (en) Arithmetic unit, processor and parallel computing method
JP3570287B2 (en) Microcomputer
JP2011028543A (en) Information processing system, and information processing method for the same
JP4873546B2 (en) Data processing apparatus and data processing method
JP2014238832A (en) Operand generation in at least one processing pipeline
JP2014164659A (en) Processor
US20050251658A1 (en) Processing unit
JPH1020959A (en) Low power consumption micro processor
JP3019818B2 (en) Data processing method
JP3088956B2 (en) Arithmetic unit
JP2013161325A (en) Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor
JP2006092158A (en) Digital signal processing circuit
JP2003084972A (en) Method for improving execution speed of conditional subtraction command, and enlarging range of operand to which command is correctly executed