JP2008117218A - Arithmetic processor - Google Patents

Arithmetic processor Download PDF

Info

Publication number
JP2008117218A
JP2008117218A JP2006300588A JP2006300588A JP2008117218A JP 2008117218 A JP2008117218 A JP 2008117218A JP 2006300588 A JP2006300588 A JP 2006300588A JP 2006300588 A JP2006300588 A JP 2006300588A JP 2008117218 A JP2008117218 A JP 2008117218A
Authority
JP
Japan
Prior art keywords
arithmetic
unit
data
processing
instruction
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
JP2006300588A
Other languages
Japanese (ja)
Inventor
Takeshi Takeda
岳 竹田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006300588A priority Critical patent/JP2008117218A/en
Publication of JP2008117218A publication Critical patent/JP2008117218A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an arithmetic processor allowing improvement of processing speed with a simple configuration without drastically increasing a circuit scale or a wiring resource, and capable of various kinds of arithmetic operations. <P>SOLUTION: In this arithmetic processor, an ALU 2 has: a first arithmetic part 3 having an AND circuit 7 performing AND processing of input data in each bit unit according to an arithmetic instruction and shift circuits 8a-8d performing shift processing to an AND operation result of each the bit unit by the desired number of bits; and an adder 4 executing addition processing with processing data by the shift circuits 8a-8d as addition input. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

この発明は、電子データを演算処理する演算処理装置に係り、例えばデジタルスチルカメラやデジタルビデオカメラ、音声処理装置におけるデータ演算処理を行う演算処理装置に関するものである。   The present invention relates to an arithmetic processing device that performs arithmetic processing on electronic data, and relates to an arithmetic processing device that performs data arithmetic processing in, for example, a digital still camera, a digital video camera, and an audio processing device.

四則演算や論理演算を行う算術演算ユニット(Arithmetic Logic Unit;以下、ALUと称す)と、ALUからの演算結果を一時記憶しておくメモリ等から構成されるプロセッサエレメント(以下、PEと称す)とを複数有する演算処理装置である、SIMD(Single Instruction Multiple Data)装置は、単一命令で多数のデータの処理が可能である。これにより、例えば動画や音声などの高速処理に用いられている。   An arithmetic operation unit (Arithmetic Logic Unit; hereinafter referred to as ALU) that performs four arithmetic operations and logical operations, and a processor element (hereinafter referred to as PE) composed of a memory that temporarily stores the operation results from the ALU A SIMD (Single Instruction Multiple Data) device, which is an arithmetic processing device having a plurality of data, can process a large number of data with a single instruction. Thereby, it is used for high-speed processing, such as a moving image and a sound, for example.

しかしながら、例えばデジタルカメラの多画素化に伴い、SIMD装置に搭載されるALUも個数を増加させてより高速化が求められている。この一方で低消費電力化、即ち回路規模が少ないままで、さらなる高速処理が可能であることが要望されている。   However, for example, with the increase in the number of pixels of a digital camera, there is a demand for higher speed by increasing the number of ALUs mounted on the SIMD apparatus. On the other hand, there is a demand for lower power consumption, that is, that further high-speed processing is possible with a small circuit scale.

例えば、特許文献1に開示される従来の演算処理装置では、処理サイクル数が多い乗算器についての高速演算を実現するため、乗算専用あるいは部分的な積を求めるために乗算器を設けている。   For example, in the conventional arithmetic processing device disclosed in Patent Document 1, a multiplier is provided to obtain a multiplication-dedicated or partial product in order to realize high-speed arithmetic for a multiplier having a large number of processing cycles.

特開平7−271555号公報JP 7-271555 A

従来の演算処理装置では、乗算器内の構成として乗算専用あるいは部分的な積を求める乗算器を有しており、高速ではあるものの回路規模が大きくなるという課題があった。   A conventional arithmetic processing unit has a multiplier dedicated to multiplication or a partial product for obtaining a partial product as a configuration in the multiplier, and there is a problem that the circuit scale increases although it is high speed.

さらに、従来の演算処理装置では、算術演算である乗算器と加算演算を行えるものの、論理演算(ANDやOR)などを行うことができず、これらの演算が必要な場合には別途専用演算器を用意しなければならない。   Furthermore, although the conventional arithmetic processing unit can perform an addition operation with a multiplier that is an arithmetic operation, it cannot perform a logical operation (AND or OR). Must be prepared.

この発明は、上記のような課題を解消するためになされたもので、回路規模や配線資源を大幅に増加することなく、簡易な構成で処理速度を向上させることができるとともに、多種類の演算が可能である演算処理装置を得ることを目的とする。   The present invention has been made to solve the above-described problems. The processing speed can be improved with a simple configuration without significantly increasing the circuit scale and wiring resources, and various kinds of arithmetic operations can be performed. An object of the present invention is to obtain an arithmetic processing device capable of

この発明に係る演算処理装置は、演算対象のデータを保持する入力メモリと、入力メモリから読み出した演算対象データに対して演算命令に従った演算を実行する第1演算部と、第1演算部による演算結果のデータを入力して演算命令に従った演算を実行する第2演算部とを有する算術演算ユニットとを備え、算術演算ユニットが、演算命令に従って第1演算部及び第2演算部による演算を制御することにより、少なくとも2種類の演算を実行するものである。   An arithmetic processing apparatus according to the present invention includes an input memory that holds data to be calculated, a first calculation unit that executes a calculation according to a calculation command on the calculation target data read from the input memory, and a first calculation unit An arithmetic operation unit having a second operation unit that inputs operation result data and executes an operation according to the operation instruction, the arithmetic operation unit being operated by the first operation unit and the second operation unit according to the operation instruction By controlling the calculation, at least two types of calculations are executed.

この発明によれば、演算対象データに対して演算命令に従った演算を実行する第1演算部と、第1演算部による演算結果のデータを入力して演算命令に従った演算を実行する第2演算部とを有する算術演算ユニットとを備え、算術演算ユニットが、演算命令に従って第1演算部及び第2演算部による演算を制御することにより、少なくとも2種類の演算を実行するので、回路規模や配線資源を大幅に増加することなく、簡易な構成で処理速度を向上させることができるとともに、多種類の演算ができるという効果がある。   According to the present invention, the first arithmetic unit that performs an operation on the operation target data according to the operation instruction and the operation result according to the operation instruction by inputting the data of the operation result of the first operation unit. An arithmetic operation unit having two operation units, and the arithmetic operation unit executes at least two types of operations by controlling operations performed by the first operation unit and the second operation unit in accordance with the operation instructions. In addition, the processing speed can be improved with a simple configuration without greatly increasing the wiring resources, and various kinds of calculations can be performed.

実施の形態1.
図1は、この発明による演算処理装置の構成を示す図である。図1に示すように、本発明による演算処理装置は、入力メモリ1、ALU2及び出力メモリ5を備える。入力メモリ1は、演算対象となるデータを格納するメモリである。算術演算ユニットであるALU2は、第1演算部3と第2演算部4を備える。
Embodiment 1 FIG.
FIG. 1 is a diagram showing a configuration of an arithmetic processing apparatus according to the present invention. As shown in FIG. 1, the arithmetic processing apparatus according to the present invention includes an input memory 1, an ALU 2, and an output memory 5. The input memory 1 is a memory that stores data to be calculated. The ALU 2 that is an arithmetic operation unit includes a first operation unit 3 and a second operation unit 4.

出力メモリ5は、ALU2によって演算処理されたデータを保持するメモリである。なお、図1では、出力メモリ5から読み出された演算結果のデータが入力メモリ1にフィードバックできるように、出力メモリ5の出力が入力メモリ1の入力に接続されたループ構造をなしている。   The output memory 5 is a memory that holds data processed by the ALU 2. In FIG. 1, a loop structure is formed in which the output of the output memory 5 is connected to the input of the input memory 1 so that the operation result data read from the output memory 5 can be fed back to the input memory 1.

第1演算部3は、図示しないCPU等から所望の演算命令(加算や減算、乗算、論理和など)に従って、対象となるデータ入力メモリ1から読み出し、該データに対して論理演算(論理和、反転、シフトなど)を行う。なお、入力メモリ1には、予め演算対象データを保持しておく。   The first arithmetic unit 3 reads from the target data input memory 1 according to a desired arithmetic instruction (addition, subtraction, multiplication, logical sum, etc.) from a CPU (not shown), and performs a logical operation (logical sum, Invert, shift, etc.). The input memory 1 holds data to be calculated in advance.

第2演算部4は、第1演算部3で処理されたデータを入力し、上記演算命令に従って数値演算(加算など)を行う。このように、本発明では、処理を高速に実行できる論理演算と、時間を要する数値演算に分離して演算を行う。   The second calculation unit 4 receives the data processed by the first calculation unit 3 and performs numerical calculation (addition or the like) according to the calculation command. As described above, according to the present invention, the calculation is performed separately into the logical operation that can execute the processing at high speed and the numerical operation that requires time.

これにより、演算処理に要する時間としては、数値演算に要する処理時間が支配的になり、これと比較して論理演算に要する処理時間がほとんど無視できる時間となるため、ALU2全体としての演算処理速度を向上させることができる。   As a result, the processing time required for the numerical operation is dominant as the time required for the arithmetic processing, and the processing time required for the logical operation is almost negligible in comparison with this. Can be improved.

図2は、この発明の実施の形態1によるALUの構成を示す図であり、該ALUでは乗算と加算を切り替えて実行することが可能である。図2に示すように、第1演算部3は、AND回路(AND)7、及びシフト回路(SHIFT)8a〜8dを備える。AND回路7及びシフト回路8a〜8dは、双方ともその動作及び停止を不図示のCPUからの演算命令によって制御される。   FIG. 2 is a diagram showing the configuration of the ALU according to the first embodiment of the present invention. In the ALU, multiplication and addition can be switched and executed. As shown in FIG. 2, the first calculation unit 3 includes an AND circuit (AND) 7 and shift circuits (SHIFT) 8a to 8d. Both the AND circuit 7 and the shift circuits 8a to 8d are controlled to operate and stop by an arithmetic command from a CPU (not shown).

AND回路(論理積回路)7は、図1に示した入力メモリ1からのデータA,Bの論理積を実行する。シフト回路8a〜8dは、それぞれに設定されたシフト量だけAND回路7の演算結果をシフトして第2演算部4に出力する。図2の例では、加算器により第2演算部4が構成されている(以下、加算器4と適宜称す)。加算器4は、シフト回路8a〜8dからの各出力Pa〜Pdを加算し、データQを演算結果として出力する。   The AND circuit (logical product circuit) 7 performs a logical product of the data A and B from the input memory 1 shown in FIG. The shift circuits 8 a to 8 d shift the calculation result of the AND circuit 7 by the set shift amount and output the result to the second calculation unit 4. In the example of FIG. 2, the second arithmetic unit 4 is configured by an adder (hereinafter referred to as adder 4 as appropriate). The adder 4 adds the outputs Pa to Pd from the shift circuits 8a to 8d, and outputs data Q as a calculation result.

次に動作について説明する。
以降では、図3に示すように、データA(4ビット)として2進数表記が1010(10進数表記の10)、データB(4ビット)として2進数表記が0101(10進数表記の5)を演算対象とする。また、図3(a)は、データA,Bの乗算を示しており、図3(b)は、データA,Bの加算を示している。
Next, the operation will be described.
Thereafter, as shown in FIG. 3, binary notation is 1010 (decimal notation 10) as data A (4 bits), and binary notation is 0101 (decimal notation 5) as data B (4 bits). Calculated. 3A shows multiplication of data A and B, and FIG. 3B shows addition of data A and B.

(1)乗算処理
先ず、ALU2は、不図示のCPUから乗算処理すべき旨の演算命令を受けると、内部のAND回路7が、入力メモリ1から入力したデータAとデータBの各ビット単位の論理積を算出する。例えば、データA(1010)の各ビットに対して、データBのLSB(Least Significant Bit)のビット値「1」(図3(a)中にB[0]と表記する)を論理演算したビット値「1010」がシフト回路8dに出力される。また、データA(1010)の各ビットに対して、データBのLSBから2番目のビット(図3(a)中にB[1]と表記する)の値「0」を論理演算したビット値「0000」がシフト回路8cに出力される。
(1) Multiplication Processing First, when the ALU 2 receives an arithmetic instruction indicating that multiplication processing is to be performed from a CPU (not shown), the internal AND circuit 7 receives the bit unit of each of the data A and data B input from the input memory 1. Calculate the logical product. For example, a bit obtained by performing a logical operation on the LSB (Least Significant Bit) bit value “1” (denoted as B [0] in FIG. 3A) of each bit of data A (1010) The value “1010” is output to the shift circuit 8d. For each bit of data A (1010), a bit value obtained by performing a logical operation on the value “0” of the second bit from the LSB of data B (indicated as B [1] in FIG. 3A) “0000” is output to the shift circuit 8c.

データA(1010)の各ビットに対して、データBのLSBから3番目のビット(図3(a)中にB[2]と表記する)の値「1」を論理演算したビット値「1010」がシフト回路8bに出力される。データA(1010)の各ビットに対して、データBのLSBから4番目のビット(図3(a)中にB[3]と表記する)の値「0」を論理演算したビット値「0000」がシフト回路8aに出力される。   For each bit of data A (1010), a bit value “1010” obtained by performing a logical operation on the value “1” of the third bit (indicated as B [2] in FIG. 3A) from the LSB of data B Is output to the shift circuit 8b. For each bit of data A (1010), a bit value “0000” obtained by logically operating the value “0” of the fourth bit (denoted as B [3] in FIG. 3A) from the LSB of data B Is output to the shift circuit 8a.

シフト回路8aでは、AND回路7から入力した論理演算結果に対してシフト量「0」の右シフト処理(図3(a)中で<<0と表記する)を行い、処理結果をデータPaとして加算器4に出力する。また、シフト回路8bでは、AND回路7から入力した論理演算結果に対してシフト量「1」、つまり1bitの右シフト処理(図3(a)中で<<1と表記する)を行い、処理結果をデータPbとして加算器4に出力する。   The shift circuit 8a performs a right shift process (indicated as << 0 in FIG. 3A) on the logical operation result input from the AND circuit 7 by a shift amount “0”, and sets the process result as data Pa. Output to adder 4. The shift circuit 8b performs a shift amount “1”, that is, a 1-bit right shift process (indicated as << 1 in FIG. 3A) on the logical operation result input from the AND circuit 7, The result is output to the adder 4 as data Pb.

同様に、シフト回路8cでは、AND回路7から入力した論理演算結果に対して2ビットの右シフト処理(図3(a)中で<<2と表記する)を行い、処理結果をデータPcとして加算器4に出力する。シフト回路8dでは、AND回路7から入力した論理演算結果に対して3ビットの右シフト処理(図3(a)中で<<3と表記する)を行い、処理結果をデータPdとして加算器4に出力する。   Similarly, the shift circuit 8c performs a 2-bit right shift process (referred to as << 2 in FIG. 3A) on the logical operation result input from the AND circuit 7, and sets the process result as data Pc. Output to adder 4. The shift circuit 8d performs a 3-bit right shift process (represented as << 3 in FIG. 3A) on the logical operation result input from the AND circuit 7, and uses the process result as data Pd to adder 4 Output to.

加算器4では、第1演算部3から得られたシフト結果のデータPa〜Pdを加算処理する(Q=Pa+Pb+Pc+Pd)。これにより、データAとデータBの乗算結果としてデータQ(0110010)が得られる。   The adder 4 adds the shift result data Pa to Pd obtained from the first arithmetic unit 3 (Q = Pa + Pb + Pc + Pd). As a result, data Q (0110010) is obtained as a multiplication result of data A and data B.

(2)加算処理
先ず、ALU2は、不図示のCPUから加算処理すべき旨の演算命令を受けると、内部のAND回路7が動作停止すると共に、シフト回路8a〜8dもシフト処理を行わない。入力メモリ1からのデータAとデータBは、AND回路7で演算処理されることなく、シフト回路8a及びシフト回路8dそれぞれに出力される。また、シフト回路8b,8cには、4ビットの「0000」データがそれぞれ出力される。
(2) Addition processing First, when the ALU 2 receives an operation instruction to the effect that addition processing is to be performed from a CPU (not shown), the internal AND circuit 7 stops operating and the shift circuits 8a to 8d also do not perform shift processing. Data A and data B from the input memory 1 are output to the shift circuit 8a and the shift circuit 8d without being processed by the AND circuit 7, respectively. Further, 4-bit “0000” data is output to the shift circuits 8b and 8c, respectively.

シフト回路8aでは、入力したデータA(1010)に対してシフト量「0」の右シフト処理(図3(b)中で<<0と表記する)を行い、処理結果をデータPaとして加算器4に出力する。また、シフト回路8bでは、入力したデータ(0000)に対してシフト量「0」の右シフト処理を行い、処理結果をデータPbとして加算器4に出力する。   The shift circuit 8a performs a right shift process (indicated as << 0 in FIG. 3B) with a shift amount “0” on the input data A (1010), and the process result is used as data Pa. 4 is output. Further, the shift circuit 8b performs a right shift process with a shift amount “0” on the input data (0000), and outputs the processing result to the adder 4 as data Pb.

同様に、シフト回路8cでは、入力したデータ(0000)に対してシフト量「0」の右シフト処理を行い、処理結果をデータPcとして加算器4に出力する。シフト回路8dでは、入力したデータB(0101)に対してシフト量「0」の右シフト処理を行い、処理結果をデータPdとして加算器4に出力する。   Similarly, the shift circuit 8c performs a right shift process with a shift amount “0” on the input data (0000), and outputs the processing result to the adder 4 as data Pc. The shift circuit 8d performs a right shift process of the shift amount “0” on the input data B (0101), and outputs the processing result to the adder 4 as data Pd.

加算器4では、第1演算部3から得られたシフト結果のデータPa〜Pdを加算処理する(Q=Pa+Pb+Pc+Pd)。これにより、データAとデータBの加算結果としてデータQ(01111)が得られる。   The adder 4 adds the shift result data Pa to Pd obtained from the first arithmetic unit 3 (Q = Pa + Pb + Pc + Pd). As a result, data Q (01111) is obtained as the addition result of data A and data B.

なお、上記では、(1)乗算処理、(2)加算処理をそれぞれ単独で行う場合を示したが、実際上多くの場合、最終的に得る演算が、単一の乗算若しくは加算で終了することはほとんどありえず、それらの多数の組み合わせによって行われる。そこで、本発明では、図1に示すように、ALU2の演算結果として得られた値を出力メモリ5に収納しておき、所望の演算において使用する場合に出力メモリ5から入力メモリ1にフィードバックして、所望の演算結果が得られるまで上記動作を繰り返す。   In the above description, the case where (1) multiplication processing and (2) addition processing are performed independently has been described. However, in many cases, the finally obtained operation ends with a single multiplication or addition. Is almost impossible and is done by many combinations of them. Therefore, in the present invention, as shown in FIG. 1, the value obtained as the calculation result of the ALU 2 is stored in the output memory 5 and fed back from the output memory 5 to the input memory 1 when used in a desired calculation. The above operation is repeated until a desired calculation result is obtained.

以上のように、この実施の形態1によれば、演算命令に従って入力データを各ビット単位で論理積処理を行うAND回路7及び各ビット単位の論理積演算結果に対して所望のビット数分だけシフト処理を行うシフト回路8a〜8dを有する第1演算部3と、シフト回路8a〜8dによる処理データを加算入力とし加算処理を実行する加算器4とをALU2が備えたので、演算命令によって同一構成で乗算と加算が可能な構成としたことから、少なくとも複数の演算を同一の構成で実現できるため、汎用的かつプログラマブルな演算処理装置を得ることができる。   As described above, according to the first embodiment, the AND circuit 7 that performs the logical product process on the input data in units of each bit according to the arithmetic instruction and the desired number of bits for the logical product operation result in each unit of bits. Since the ALU 2 includes the first arithmetic unit 3 having the shift circuits 8a to 8d for performing the shift processing and the adder 4 for executing the addition processing by using the processing data from the shift circuits 8a to 8d as an addition input, the same operation command is used. Since the configuration allows multiplication and addition, since at least a plurality of operations can be realized with the same configuration, a general-purpose and programmable arithmetic processing device can be obtained.

また、上記実施の形態1では、回路規模の大きい専用演算回路(例えば、乗算器)を設けることなく、その演算が可能なため回路規模を小さくすることができる。これにより、低消費電力化を図ることができる上、複数の演算処理装置を用いてのアレイ化に適した演算処理装置を構成することも可能である。   In the first embodiment, since the calculation can be performed without providing a dedicated arithmetic circuit (for example, a multiplier) having a large circuit scale, the circuit scale can be reduced. Thus, power consumption can be reduced, and an arithmetic processing device suitable for arraying using a plurality of arithmetic processing devices can be configured.

なお、上記実施の形態1では、演算対象となるデータを4ビットとし、その演算を行うための構成を示したが、本発明はこれに限定されるものではなく、データの処理ビットに応じた構成であればよい。   In the first embodiment, the data to be calculated is set to 4 bits, and the configuration for performing the calculation is shown. However, the present invention is not limited to this, and it corresponds to the processing bit of the data. Any configuration may be used.

実施の形態2.
図4は、この発明の実施の形態3による演算処理装置のALUの構成を示す図であり、演算処理装置の全体構成は、上記実施の形態1で示した図1と同様である。図4に示すように、この実施の形態2による第1演算部3は、NOT回路(NOT)10、及びキャリー信号選択部11を備える。NOT回路10及びキャリー信号選択部11は、双方ともその動作及び停止を不図示のCPUからの演算命令によって制御される。
Embodiment 2. FIG.
FIG. 4 is a diagram showing the configuration of the ALU of the arithmetic processing apparatus according to the third embodiment of the present invention. The overall configuration of the arithmetic processing apparatus is the same as that of FIG. 1 shown in the first embodiment. As shown in FIG. 4, the first calculation unit 3 according to the second embodiment includes a NOT circuit (NOT) 10 and a carry signal selection unit 11. Both the NOT circuit 10 and the carry signal selection unit 11 are controlled to operate and stop by a calculation command from a CPU (not shown).

NOT回路(論理否定回路)10は、図1に示した入力メモリ1からのデータA,Bに対して、不図示のCPUからの演算命令に応じて反転処理(論理否定)を実行する。キャリー信号選択部11は、CPUからの演算命令に応じて、0か1かのビット値からなるキャリー信号Cin(下位桁からのキャリー)を第2演算部(以下、加算器4と適宜称す)4に出力する。   The NOT circuit (logic negation circuit) 10 performs inversion processing (logic negation) on the data A and B from the input memory 1 shown in FIG. 1 in accordance with a calculation instruction from a CPU (not shown). The carry signal selector 11 carries a carry signal Cin (carry from the lower digit) consisting of a bit value of 0 or 1 in accordance with an operation instruction from the CPU as a second operation unit (hereinafter referred to as adder 4 as appropriate). 4 is output.

加算器4は、全加算器で構成され、第1演算部3のNOT回路10により処理されたデータA,BをデータAin,Binとして入力し、キャリー信号選択部11からのキャリー信号Cinを入力する。マルチプレクサ(選択処理部)12は、加算器4による加算処理結果のデータQ若しくはキャリー信号選択部11からのキャリー信号(データC)(上位桁へのキャリー)のいずれかを選択して演算結果データXとして出力する。   The adder 4 is constituted by a full adder, and inputs the data A and B processed by the NOT circuit 10 of the first arithmetic unit 3 as data Ain and Bin, and the carry signal Cin from the carry signal selection unit 11 To do. The multiplexer (selection processing unit) 12 selects either the data Q of the addition processing result by the adder 4 or the carry signal (data C) (carry to the upper digit) from the carry signal selection unit 11 and the operation result data Output as X.

次に動作について説明する。
(1)加算処理
先ず、不図示のCPUから加算処理すべき旨の演算命令をALU2が受けると、内部のNOT回路10は、その動作を停止する。これにより、NOT回路10に入力されたデータA,BがそのままデータAin,Binとして加算器4に出力される。このとき、キャリー信号選択部11は、キャリー信号としてビット値「0」をキャリー信号Cin(下位桁からのキャリー)として加算器4に出力する。
Next, the operation will be described.
(1) Addition processing First, when the ALU 2 receives an arithmetic instruction to the effect of addition processing from a CPU (not shown), the internal NOT circuit 10 stops its operation. As a result, the data A and B input to the NOT circuit 10 are output to the adder 4 as data Ain and Bin as they are. At this time, the carry signal selection unit 11 outputs the bit value “0” as the carry signal to the adder 4 as the carry signal Cin (carry from the lower digit).

加算器4では、データAinとデータBinを加算し、この演算結果をデータQ(A+B)としてマルチプレクサ12に出力する。一方、加算器4は、キャリー信号CinもそのままデータCとしてマルチプレクサ12に出力する。マルチプレクサ12では、CPUからの加算処理すべき旨の演算命令に従って、加算器4における演算結果の出力(データQ)を選択するように、そのデータ入力を加算器4の演算出力側に切り替えておく。   The adder 4 adds the data Ain and the data Bin, and outputs the calculation result to the multiplexer 12 as data Q (A + B). On the other hand, the adder 4 outputs the carry signal Cin as it is to the multiplexer 12 as data C. In the multiplexer 12, the data input is switched to the operation output side of the adder 4 so as to select the output (data Q) of the operation result in the adder 4 in accordance with the operation instruction to the effect of addition processing from the CPU. .

これにより、ALU2からの出力としてデータX(A+Bの加算結果)が得られる。なお、キャリー信号(データC)(上位桁へのキャリー)が必要な場合は、マルチプレクサ12においてデータQの入力を選択した後、データCの入力を選択してデータXとしてデータCを出力させればよい。   Thereby, data X (addition result of A + B) is obtained as an output from ALU2. If a carry signal (data C) (carry to the upper digit) is required, the input of data Q is selected by the multiplexer 12, and then the input of data C is selected to output data C as data X. That's fine.

(2)減算処理
不図示のCPUから減算処理すべき旨の演算命令をALU2が受けると、内部のNOT回路10は、データAに対する反転動作を停止する一方、データBに対しては反転処理を実行する。このとき、キャリー信号選択部11は、キャリー信号Cinとして「1」を加算器4に出力する。
(2) Subtraction processing When the ALU 2 receives an arithmetic instruction indicating that subtraction processing should be performed from a CPU (not shown), the internal NOT circuit 10 stops the inversion operation for the data A, while the inversion processing for the data B is performed. Execute. At this time, the carry signal selection unit 11 outputs “1” to the adder 4 as the carry signal Cin.

例えば、図3と同様に、データAが4ビットの1010である場合、データAinは、そのまま1010となる。また、データBが4ビットの0101である場合、データBinは、反転処理により1010となる。   For example, as in FIG. 3, when the data A is 4-bit 1010, the data Ain is 1010 as it is. When the data B is 4-bit 0101, the data Bin becomes 1010 by the inversion process.

加算器4では、データAin(データA)とデータBin(データBの反転)とキャリー信号Cin(1)を加えるデータBの2の補数をとった加算を実行する。これにより、加算器4の演算結果は、データAとデータBの減算(A−B)がデータQとしてマルチプレクサ12に出力される。なお、この場合においても、加算器4は、キャリー信号CinをそのままデータCとしてマルチプレクサ12に出力する。   The adder 4 performs addition of the data Bin (data A), the data Bin (inversion of the data B), and the data B to which the carry signal Cin (1) is added as a two's complement. As a result, the calculation result of the adder 4 is output to the multiplexer 12 as data Q by subtraction (AB) of the data A and the data B. Also in this case, the adder 4 outputs the carry signal Cin as it is to the multiplexer 12 as data C.

マルチプレクサ12では、CPUからの減算処理すべき旨の演算命令に従って、加算器4における演算結果の出力(データQ)を選択するように、そのデータ入力を加算器4の演算出力側に切り替えておく。また、上位桁へのキャリーであるデータCが必要な場合は、マルチプレクサ12においてデータQの入力を選択した後、データC(この場合はボロー)の入力を選択してデータXとしてデータCを出力させればよい。   In the multiplexer 12, the data input is switched to the operation output side of the adder 4 so as to select the output (data Q) of the operation result in the adder 4 in accordance with the operation instruction to the effect of the subtraction processing from the CPU. . If data C, which is a carry to the upper digit, is required, the multiplexer 12 selects the input of data Q, then selects the input of data C (in this case, borrow) and outputs data C as data X. You can do it.

(3)論理積処理
論理演算である論理積(A&B)は、周知のように全加算器のキャリー生成論理を示す下記式に従う。
C=(Ain & Bin)or(Bin & Cin)or(Ain & Cin)
以降では、上記式を用いてデータAとデータBの論理積を求める。つまり、加算器4の入力データAin,Bin,Cinを用いて上記式からデータCを算出する。
(3) Logical product processing The logical product (A & B) which is a logical operation follows the following formula which shows the carry generation logic of a full adder, as is well known.
C = (Ain & Bin) or (Bin & Cin) or (Ain & Cin)
Thereafter, the logical product of data A and data B is obtained using the above formula. That is, the data C is calculated from the above equation using the input data Ain, Bin, Cin of the adder 4.

先ず、不図示のCPUから論理積処理すべき旨の演算命令をALU2が受けると、内部のNOT回路10は、データAとデータBに対する反転動作を停止する。このとき、キャリー信号選択部11は、キャリー信号Cinとしてビット値「0」からなる4ビットのデータ(0000)を選択して加算器4に出力する。これにより、加算器4には、データAinとしてデータAがそのまま、データBinとしてデータBがそのまま、キャリー信号Cinとして「0」が入力される。   First, when the ALU 2 receives an arithmetic instruction indicating that a logical product is to be processed from a CPU (not shown), the internal NOT circuit 10 stops the inversion operation for the data A and the data B. At this time, carry signal selection unit 11 selects 4-bit data (0000) having a bit value “0” as carry signal Cin and outputs the selected data to adder 4. As a result, data A as data Ain, data B as data Bin, and “0” as the carry signal Cin are input to the adder 4.

全加算器である加算器4では、上記式より上位桁へのキャリー出力Cとして(Ain & Bin)の論理積結果が得られる。マルチプレクサ12では、CPUからの論理積処理すべき旨の演算命令に従って、加算器4におけるキャリー出力(データC)を選択するように、そのデータ入力を加算器4のキャリー出力側に切り替えておく。これにより、ALU2の演算結果としてデータA,Bの論理積が得られる。   In the adder 4 which is a full adder, a logical product result of (Ain & Bin) is obtained as the carry output C to the upper digit from the above formula. In the multiplexer 12, the data input is switched to the carry output side of the adder 4 so that the carry output (data C) in the adder 4 is selected in accordance with an arithmetic instruction from the CPU indicating that logical product processing is to be performed. As a result, the logical product of the data A and B is obtained as the operation result of ALU2.

(4)論理和処理
先ず、不図示のCPUから論理和処理すべき旨の演算命令をALU2が受けると、内部のNOT回路10は、データAとデータBに対する反転動作を停止する。このとき、キャリー信号選択部11は、キャリー信号Cinとしてビット値「1」からなる4ビットのデータ(1111)を選択して加算器4に出力する。これにより、加算器4には、データAinとしてデータAがそのまま、データBinとしてデータBがそのまま、キャリー信号Cinとして「1」が入力される。
(4) Logical OR Processing First, when the ALU 2 receives an arithmetic instruction indicating that logical OR processing is to be performed from a CPU (not shown), the internal NOT circuit 10 stops the inversion operation for data A and data B. At this time, the carry signal selection unit 11 selects 4-bit data (1111) having a bit value “1” as the carry signal Cin and outputs it to the adder 4. As a result, the adder 4 receives data A as it is as data Ain, data B as it is as data Bin, and “1” as the carry signal Cin.

全加算器である加算器4では、上記式より上位桁へのキャリー出力Cとして(Ain or Bin)の論理和結果が得られる。マルチプレクサ12では、CPUからの論理和処理すべき旨の演算命令に従って、加算器4におけるキャリー出力(データC)を選択するように、そのデータ入力を加算器4のキャリー出力側に切り替えておく。これにより、ALU2の演算結果としてデータA,Bの論理和が得られる。   In the adder 4 which is a full adder, a logical sum result of (Ain or Bin) is obtained as the carry output C to the upper digit from the above formula. In the multiplexer 12, the data input is switched to the carry output side of the adder 4 so as to select the carry output (data C) in the adder 4 in accordance with a calculation instruction from the CPU indicating that the logical sum processing is to be performed. Thereby, the logical sum of the data A and B is obtained as the operation result of the ALU2.

以上のように、この実施の形態2によれば、演算命令に従って入力データの反転処理を行うNOT回路10及び0,1のいずれかのビット値からなるキャリー信号を選択するキャリー信号選択部11を有する第1演算部3と、NOT回路10による処理データを加算入力とし、キャリー信号選択部11による選択データを下位桁からのキャリーとする全加算器からなる加算器4と、演算命令に従って加算器4からの出力データを選択して演算結果として出力するマルチプレクサ12とをALU2が備えたので、同一構成の演算部であっても演算命令に従って少なくとも2種類以上の数値演算若しくは論理演算を実行可能であることから、回路規模をより小さくすることが可能である。   As described above, according to the second embodiment, the NOT circuit 10 that performs the inversion processing of the input data according to the operation instruction and the carry signal selection unit 11 that selects the carry signal composed of any one of the 0 and 1 bit values are provided. An adder 4 composed of a full adder having the processing data from the NOT circuit 10 as an addition input and the selection data from the carry signal selection unit 11 as a carry from the lower digit, and an adder according to the operation instruction Since the ALU 2 is provided with the multiplexer 12 that selects the output data from 4 and outputs the result as the operation result, even the operation unit having the same configuration can execute at least two kinds of numerical operations or logical operations according to the operation instruction. As a result, the circuit scale can be further reduced.

また、この実施の形態2では、多種の演算が可能なため、よりプログラマブルな演算処理装置を得ることができる。さらに、この実施の形態2では、加算と減算がほぼ同じ処理速度で実行可能である。これにより、この実施の形態2の演算処理装置による減算処理を利用すれば、特別な比較器などを用意することなく、大小比較や条件分離を高速に行うことができる。   Moreover, in this Embodiment 2, since various calculations are possible, a more programmable arithmetic processing apparatus can be obtained. Further, in the second embodiment, addition and subtraction can be performed at substantially the same processing speed. Thus, by using the subtraction processing by the arithmetic processing apparatus of the second embodiment, it is possible to perform size comparison and condition separation at high speed without preparing a special comparator or the like.

実施の形態3.
図5は、この発明の実施の形態3による演算処理装置の構成を示す図である。図5に示すように、この実施の形態3による演算処理装置は、入力メモリ15、ALU2−1,2−2,・・・、レジスタ16−1,16−2,・・・、ヘッダ解析部17−1,17−2,・・・、ラッチ18−1,18−2,・・・、出力メモリ19を備える。
Embodiment 3 FIG.
FIG. 5 is a diagram showing a configuration of an arithmetic processing apparatus according to Embodiment 3 of the present invention. As shown in FIG. 5, the arithmetic processing apparatus according to the third embodiment includes an input memory 15, ALUs 2-1, 2-2,..., Registers 16-1, 16-2,. 17, 17-2,..., Latches 18-1, 18-2,.

入力メモリ15及び出力メモリ19は、ブロック若しくはフレームといった単位のデータを収納しておくメモリである。ALU2−1,2−2,・・・は、各出力がレジスタ16−1,16−2,・・・に接続されており、上記実施の形態1又は上記実施の形態2と同様の構成を有する。レジスタ16−1,16−2,・・・は、上記実施の形態1における出力メモリ5と同様に各ALU2−1,2−2,・・・からの出力データを保持する。   The input memory 15 and the output memory 19 are memories that store unit data such as blocks or frames. Each of the ALUs 2-1 2-2,... Is connected to the registers 16-1, 16-2,..., And has the same configuration as that of the first embodiment or the second embodiment. Have. .. Hold the output data from each ALU 2-1, 2-2... As in the output memory 5 in the first embodiment.

ヘッダ解析部(判定処理部)17−1,17−2,・・・は、図6に示す演算命令における命令コードのヘッダ部分を解析し、接続するALUへ命令コードを送出する。ラッチ(記憶部)18−1,18−2,・・・は、演算命令バス20から該当するALUへの演算命令を保持するものである。   The header analysis units (determination processing units) 17-1, 17-2,... Analyze the header part of the instruction code in the arithmetic instruction shown in FIG. 6, and send the instruction code to the connected ALU. The latches (storage units) 18-1, 18-2,... Hold operation instructions from the operation instruction bus 20 to the corresponding ALU.

なお、この実施の形態3による演算処理装置では、入力メモリ15から少なくとも2つ以上のALUがシリアルに出力メモリ19に接続されており、各ALUは単一の演算命令バスにより接続されている。   In the arithmetic processing apparatus according to the third embodiment, at least two or more ALUs are serially connected from the input memory 15 to the output memory 19, and each ALU is connected by a single arithmetic instruction bus.

図6は、図5中の演算処理装置で取り扱われる演算命令の構造を示す図である。図6に示すように、実施の形態3による演算命令は、処理順番号をヘッダとし、その後に演算処理制御コードが命令コード(各ALUの演算部に対する制御コード)とされた構造を有する。   FIG. 6 is a diagram showing the structure of an arithmetic instruction handled by the arithmetic processing unit in FIG. As shown in FIG. 6, the arithmetic instruction according to the third embodiment has a structure in which the processing order number is used as a header, and the arithmetic processing control code is an instruction code (control code for the arithmetic unit of each ALU).

次に動作について説明する。
入力メモリ15に収納されたデータは、所望の演算を行うためにALU2−1に出力される。ALU2−1は、上記実施の形態1や上記実施の形態2と同様に動作する。このとき、不図示のCPUから演算命令バス20を介して演算命令がシリアル接続された各ALUに対して送出されると、該演算命令は、ラッチ18−1で保持される。
Next, the operation will be described.
The data stored in the input memory 15 is output to the ALU 2-1 for performing a desired calculation. The ALU 2-1 operates in the same manner as in the first embodiment and the second embodiment. At this time, when an arithmetic instruction is sent from the CPU (not shown) to each ALU connected in serial via the arithmetic instruction bus 20, the arithmetic instruction is held in the latch 18-1.

ヘッダ解析部17−1は、ラッチ18−1で保持される演算命令のヘッダを解析して処理順番号をデコードし、ALU2−1に出力する。例えば、並び順が一番目であるALU2−1に対する演算命令である場合、ヘッダには処理順番号として「1」が記載されている。   The header analysis unit 17-1 analyzes the header of the arithmetic instruction held in the latch 18-1, decodes the processing order number, and outputs the processing order number to the ALU 2-1. For example, in the case of an arithmetic instruction for the ALU 2-1 having the first arrangement order, “1” is described as the processing order number in the header.

このように、ラッチ18−1で一旦保持された命令コードは、ヘッダ解析部17−1によってデコード(或いは比較)された処理順番号が、該当するALUの並び順とその処理順が一致した場合にのみALU2−1に送出される。なお、各ヘッダ解析部17−1,17−2,・・・には、予め処理順の番号付けをしておく。ALU2−1は、命令コードを受けると、該命令コードに従って演算処理を入力データに対して施し、演算結果をレジスタ16−1に出力する。   As described above, the instruction code once held in the latch 18-1 is obtained when the processing order number decoded (or compared) by the header analysis unit 17-1 matches the processing order of the corresponding ALU. Only to the ALU 2-1. The header analysis units 17-1, 17-2,... Are numbered in advance in the order of processing. Upon receiving the instruction code, the ALU 2-1 performs arithmetic processing on the input data according to the instruction code, and outputs the arithmetic result to the register 16-1.

同様に演算命令のヘッダに処理順として「2」が付帯されていると、ヘッダ解析部17−2は、この演算命令における命令コードをALU2−2に送出する。これにより、ALU2−2によって、入力データに対し上記命令コードに従った演算が行われる。この間、ALU2−1に処理順が「1」が付帯された命令コードが演算命令として送られており、ALU2−1は、入力メモリ15に収納された別のデータに対して演算を行う。   Similarly, when “2” is attached to the header of the operation instruction as the processing order, the header analysis unit 17-2 sends the instruction code in the operation instruction to the ALU 2-2. As a result, the ALU 2-2 performs an operation on the input data according to the instruction code. During this time, an instruction code with processing order “1” attached to the ALU 2-1 is sent as an operation instruction, and the ALU 2-1 performs an operation on another data stored in the input memory 15.

このようにして、所望の演算を行った後、出力メモリ19には最終的な演算結果が収納される。   Thus, after performing a desired calculation, the final calculation result is stored in the output memory 19.

以上のように、この実施の形態3によれば、少なくとも2つ以上のALUをシリアルに接続し、命令コードに処理順を付帯し、その処理順にあった命令コードを該当するALUに出力するので、例えば音声のストリームデータやCCDセンサ等の画像のラスターデータをリアルタイムに処理することが可能となる。   As described above, according to the third embodiment, at least two or more ALUs are serially connected, the processing order is attached to the instruction code, and the instruction code corresponding to the processing order is output to the corresponding ALU. For example, audio stream data and image raster data such as a CCD sensor can be processed in real time.

また、演算命令を各ALUに与える演算命令バス20を、単一(共通バス)で構成したことから、バスの配線負荷を減らすことが可能となり、回路規模の小さい演算処理装置を得ることができる。   In addition, since the arithmetic instruction bus 20 for giving arithmetic instructions to each ALU is composed of a single (common bus), it is possible to reduce the wiring load on the bus and to obtain an arithmetic processing device with a small circuit scale. .

なお、上記実施の形態3では、1つのALUが1つの演算を行う例を示したが、所望の演算ステップが多数の場合にはその数だけALUを持たなければならない。従って、ALU数がM、演算ステップ数Nとすると、M<Nの場合には、図5に示したレジスタ16−1からALU2−1にフィードバックする経路を用いて、ALU2−1に複数演算ステップの演算を行わせることで所望の演算の結果を得ることができる。   In the third embodiment, an example in which one ALU performs one operation is shown. However, when there are a large number of desired operation steps, the number of ALUs must be provided. Therefore, if the number of ALUs is M and the number of operation steps is N, when M <N, a plurality of operation steps are sent to the ALU 2-1 using the feedback path from the register 16-1 to the ALU 2-1 shown in FIG. By performing this calculation, a desired calculation result can be obtained.

この場合、各ALU2−1,2−2,・・・に対する演算ステップ数を予め決めておき、例えばALU2−1にはN/Mの演算を行わせるように、演算命令のヘッダにこの回数に応じたヘッダ「1」を付帯した演算命令を用いればよい。   In this case, the number of operation steps for each ALU 2-1, 2-2,... Is determined in advance. An arithmetic instruction with a corresponding header “1” may be used.

また、上記実施の形態3では、演算命令を保持するラッチと、演算命令の解析結果に応じてラッチが保持する演算命令の命令コードをALUに出力するヘッダ解析部として、演算命令のヘッダ内容をデコードするデコーダ或いは自己に設定された処理順とヘッダ内容を比較する比較器を用いる例を示したが、この機能を達成することができれば、別の手段を用いてもよい。   In the third embodiment, the header contents of the arithmetic instruction are used as a latch that holds the arithmetic instruction and a header analysis unit that outputs the instruction code of the arithmetic instruction held by the latch according to the analysis result of the arithmetic instruction to the ALU. Although an example using a decoder for decoding or a comparator for comparing the processing order set in itself with the header contents has been shown, other means may be used as long as this function can be achieved.

この発明による演算処理装置の構成を示す図である。It is a figure which shows the structure of the arithmetic processing apparatus by this invention. この発明の実施の形態1によるALUの構成を示す図である。It is a figure which shows the structure of ALU by Embodiment 1 of this invention. 実施の形態1によるALUの演算処理を説明するための図である。FIG. 6 is a diagram for explaining ALU arithmetic processing according to the first embodiment; この発明の実施の形態2によるALUの構成を示す図である。It is a figure which shows the structure of ALU by Embodiment 2 of this invention. この発明の実施の形態3による演算処理装置の構成を示す図である。It is a figure which shows the structure of the arithmetic processing apparatus by Embodiment 3 of this invention. 図5中の演算処理装置で取り扱われる演算命令の構造を示す図である。It is a figure which shows the structure of the arithmetic instruction handled with the arithmetic processing unit in FIG.

符号の説明Explanation of symbols

1,15 入力メモリ、2,2−1,2−2・・・ ALU、3 第1演算部、4 第2演算部(加算器)、5,19 出力メモリ、7 AND回路(論理積回路)、8a〜8d シフト回路、10 NOT回路(論理否定回路)、11 キャリー信号選択部、12 マルチプレクサ(選択処理部)、16−1,16−2・・・ レジスタ、17−1,17−2・・・ ヘッダ解析部(判定処理部)、18−1,18−2・・・ ラッチ(記憶部)、20 演算命令バス。   1,15 input memory, 2,2-1,2-2... ALU, 3 first operation unit, 4 second operation unit (adder), 5,19 output memory, 7 AND circuit (logical product circuit) , 8a to 8d shift circuit, 10 NOT circuit (logic negation circuit), 11 carry signal selection unit, 12 multiplexer (selection processing unit), 16-1, 16-2... Register, 17-1, 17-2. .. Header analysis unit (determination processing unit), 18-1, 18-2... Latch (storage unit), 20 arithmetic instruction bus.

Claims (7)

演算対象のデータを保持する入力メモリと、
前記入力メモリから読み出した演算対象データに対して演算命令に従った演算を実行する第1演算部と、前記第1演算部による演算結果のデータを入力して演算命令に従った演算を実行する第2演算部とを有する算術演算ユニットとを備え、
前記算術演算ユニットは、前記演算命令に従って前記第1演算部及び前記第2演算部による演算を制御することにより、少なくとも2種類の演算を実行する演算処理装置。
An input memory that holds data to be calculated;
A first operation unit that executes an operation according to an operation instruction on the operation target data read from the input memory, and an operation result according to the operation instruction by inputting data of an operation result by the first operation unit An arithmetic operation unit having a second operation unit,
The arithmetic processing unit is an arithmetic processing unit that executes at least two types of arithmetic operations by controlling arithmetic operations by the first arithmetic unit and the second arithmetic unit in accordance with the arithmetic instructions.
第1演算部は、演算命令に従って論理演算を行い、
第2演算部は、演算命令に従って数値演算を行うことを特徴とする請求項1記載の演算処理装置。
The first operation unit performs a logical operation according to the operation instruction,
The arithmetic processing apparatus according to claim 1, wherein the second arithmetic unit performs a numerical operation according to an arithmetic instruction.
第1演算部は、入力メモリから読み出した演算対象データに対してビット単位で論理積演算を実行する論理積回路と、前記論理積回路から各ビット単位の論理積演算結果を入力して所定のビット単位でシフト処理するシフト回路とを備え、
第2演算部は、前記シフト回路からのデータを加算処理する加算器から構成され、
算術演算ユニットは、演算命令に従って前記論理積回路による論理積演算及び前記シフト回路によるシフト処理を制御することにより、前記入力メモリから読み出した演算対象データに対して加算処理及び乗算処理を行うことを特徴とする請求項1又は請求項2記載の演算処理装置。
A first arithmetic unit that performs a logical product operation on a bit-by-bit basis on the operation target data read from the input memory; inputs a logical product operation result of each bit unit from the logical product circuit; A shift circuit that performs shift processing in bit units,
The second arithmetic unit is composed of an adder for adding data from the shift circuit,
The arithmetic operation unit performs addition processing and multiplication processing on the operation target data read from the input memory by controlling the logical product operation by the logical product circuit and the shift processing by the shift circuit in accordance with the arithmetic instruction. The arithmetic processing apparatus according to claim 1, wherein the arithmetic processing apparatus is characterized.
算術演算ユニットは、
第1演算部は、入力メモリから読み出した演算対象データに対して論理否定演算を実行する論理否定回路と、0又は1のうちいずれのビット値からなるキャリー信号を選択するキャリー信号選択部とを有し、
第2演算部は、前記論理否定回路からのデータ及び前記キャリー信号選択部により選択されたキャリー信号を入力し、これらの加算処理結果又はキャリー信号を出力する全加算器から構成され、
演算命令に従って前記第2演算部による加算処理結果又はキャリー信号を選択して演算結果として出力する選択処理部を備え、
演算命令に従って前記論理否定回路による論理否定演算及び前記キャリー信号選択部によるキャリー信号の選択を制御することにより、前記入力メモリから読み出した演算対象データに対して数値演算処理及び論理演算処理を行うことを特徴とする請求項1又は請求項2記載の演算処理装置。
The arithmetic unit is
The first arithmetic unit includes a logical negation circuit that performs a logical negation operation on the operation target data read from the input memory, and a carry signal selection unit that selects a carry signal composed of either 0 or 1 bit value. Have
The second arithmetic unit is composed of a full adder that inputs the data from the logical negation circuit and the carry signal selected by the carry signal selection unit, and outputs these addition processing results or carry signals,
A selection processing unit that selects an addition processing result or a carry signal by the second arithmetic unit according to an arithmetic instruction and outputs the result as an arithmetic result,
By performing a logical negation operation by the logical negation circuit and a carry signal selection by the carry signal selection unit according to an operation instruction, a numerical operation process and a logical operation process are performed on the operation target data read from the input memory. The arithmetic processing apparatus according to claim 1, wherein:
算術演算ユニットによる演算結果のデータを保持する出力メモリを備え、
演算命令に応じて前記出力メモリに保持されたデータを演算対象データとして入力メモリにフィードバックすることを特徴とする請求項1から請求項4のうちのいずれか1項記載の演算処理装置。
Equipped with an output memory that holds the data of the results of arithmetic operations.
5. The arithmetic processing device according to claim 1, wherein data held in the output memory is fed back to the input memory as operation target data in accordance with an arithmetic instruction. 6.
演算対象のデータを保持する入力メモリと、
請求項1から請求項4のうちのいずれか1項記載の算術演算ユニットを少なくとも2つ以上直列に接続してなる算術演算ユニット群と、
前記算術演算ユニット群における直列接続した各算術演算ユニット間に設けられ、前段の算術演算ユニットによる演算結果を保持し、該保持データを後段の算術演算ユニットの演算対象データとして出力するレジスタと、
前記各算術演算ユニット毎に設けられ、前記算術演算ユニットの接続順を付帯した演算命令を保持する記憶部と、
前記記憶部に保持された前記演算命令から算術演算ユニットの接続順を判定し、該判定結果に応じて前記演算命令における命令コードを前記接続順に対応する算術演算ユニットに出力する判定処理部とを備え、
前記算術演算ユニット群の各算術演算ユニットは、前記演算命令における命令コードに従って第1演算部及び第2演算部による演算を制御することにより、少なくとも2種類の演算を実行する演算処理装置。
An input memory that holds data to be calculated;
An arithmetic operation unit group formed by connecting at least two arithmetic operation units according to any one of claims 1 to 4 in series;
A register which is provided between the arithmetic operation units connected in series in the arithmetic operation unit group, holds an operation result by the preceding arithmetic operation unit, and outputs the held data as operation target data of the subsequent arithmetic operation unit;
A storage unit that is provided for each arithmetic operation unit, and stores operation instructions attached with the connection order of the arithmetic operation units;
A determination processing unit that determines the connection order of the arithmetic operation units from the operation instructions held in the storage unit, and outputs an instruction code in the operation instructions to the arithmetic operation unit corresponding to the connection order according to the determination result; Prepared,
Each arithmetic operation unit of the arithmetic operation unit group is an arithmetic processing unit that executes at least two types of operations by controlling operations performed by the first operation unit and the second operation unit in accordance with an instruction code in the operation instruction.
演算命令に応じてレジスタに保持された演算結果のデータを前段の算術演算ユニットによる演算対象データとしてフィードバックすることを特徴とする請求項6記載の演算処理装置。   7. The arithmetic processing apparatus according to claim 6, wherein the data of the operation result held in the register in accordance with the operation instruction is fed back as operation target data by the preceding arithmetic operation unit.
JP2006300588A 2006-11-06 2006-11-06 Arithmetic processor Pending JP2008117218A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006300588A JP2008117218A (en) 2006-11-06 2006-11-06 Arithmetic processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006300588A JP2008117218A (en) 2006-11-06 2006-11-06 Arithmetic processor

Publications (1)

Publication Number Publication Date
JP2008117218A true JP2008117218A (en) 2008-05-22

Family

ID=39503075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006300588A Pending JP2008117218A (en) 2006-11-06 2006-11-06 Arithmetic processor

Country Status (1)

Country Link
JP (1) JP2008117218A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009247A (en) * 2008-06-25 2010-01-14 Toshiba Corp Semiconductor device and data processing method by semiconductor device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56143051A (en) * 1980-04-07 1981-11-07 Nec Corp Data shift circuit
JPH0784761A (en) * 1993-09-14 1995-03-31 Toshiba Corp Arithmetic processor
JP2003296106A (en) * 2002-03-29 2003-10-17 New Japan Radio Co Ltd Pipeline processing method and processor therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56143051A (en) * 1980-04-07 1981-11-07 Nec Corp Data shift circuit
JPH0784761A (en) * 1993-09-14 1995-03-31 Toshiba Corp Arithmetic processor
JP2003296106A (en) * 2002-03-29 2003-10-17 New Japan Radio Co Ltd Pipeline processing method and processor therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009247A (en) * 2008-06-25 2010-01-14 Toshiba Corp Semiconductor device and data processing method by semiconductor device

Similar Documents

Publication Publication Date Title
US7171535B2 (en) Serial operation pipeline, arithmetic device, arithmetic-logic circuit and operation method using the serial operation pipeline
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US6587864B2 (en) Galois field linear transformer
JPH07271969A (en) Device conductiong storage in memory with condition attachedfrom registor pair
JPH087083A (en) Three-input arithmetic and logic unit for formation of arithmetic and logic mixed combination
JPH07287567A (en) Arithmetical logical unit with plural independent segments and register that stores result from each fraction
JPH0773149A (en) System and method for data processing
JP2009015556A (en) Simd type microprocessor
CN111563281A (en) Processor supporting multiple encryption and decryption algorithms and implementation method thereof
JP3458518B2 (en) Parallel processor
JP2008117218A (en) Arithmetic processor
JP2000322235A (en) Information processor
EP1936492A1 (en) SIMD processor with reduction unit
KR102286101B1 (en) Data processing apparatus and method for performing a narrowing-and-rounding arithmetic operation
WO2020243092A1 (en) Processing device with vector transformation execution
US9250898B2 (en) VLIW processor, instruction structure, and instruction execution method
WO2005024625A1 (en) Data processor
JPH1063500A (en) Signal processor
JP4516495B2 (en) Data processing method in SIMD type microprocessor
JP2012059131A (en) Simd microprocessor and processing method thereof
JP3895267B2 (en) SIMD processor
JP3540136B2 (en) Data division parallel shifter
JP2008071037A (en) Simd microprocessor
JP2007109253A (en) Parallel processor
JP2859921B2 (en) Instruction queue controller

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120131