JP2005322198A - Data processor - Google Patents

Data processor Download PDF

Info

Publication number
JP2005322198A
JP2005322198A JP2004219911A JP2004219911A JP2005322198A JP 2005322198 A JP2005322198 A JP 2005322198A JP 2004219911 A JP2004219911 A JP 2004219911A JP 2004219911 A JP2004219911 A JP 2004219911A JP 2005322198 A JP2005322198 A JP 2005322198A
Authority
JP
Japan
Prior art keywords
data
memory
bit
address
control circuit
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
JP2004219911A
Other languages
Japanese (ja)
Inventor
Hiroshi Koya
啓 小屋
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004219911A priority Critical patent/JP2005322198A/en
Publication of JP2005322198A publication Critical patent/JP2005322198A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data processor advantageous in reducing power consumption and a processing time by suppressing operation frequency of a CPU. <P>SOLUTION: This data processor 4 is equipped with a memory 42 and an arithmetic control circuit 44. A bit configuration of address data allocated to the memory 42 is divided into two on the upper bit side and the lower bit side; and the upper bit side is allocated to a first memory array 42A and the lower bit side is allocated to a second memory array 42B. The arithmetic control circuit 44 is so structured as to execute predetermined calculation by inputting first and second data Da and Db simultaneously read from the first and second memory arrays 42A and 42B, and to output the calculation result thereof to a data bus DB as output data Dout. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明はデータ処理装置に関する。   The present invention relates to a data processing apparatus.

CPU(マイクロプロセッサ)を搭載するシステムLSIでは、その処理の高速化のため、チップ上にメモリを搭載した構成となっている(例えば特許文献1参照)。
CPUにより演算処理を行うために、CPUはデータメモリから複数のオペランドをフェッチし、場合によってはその演算結果をメモリに書き戻す等の処理が必要になる。
大量のデータ処理をCPUで行うシステムでは、このメモリからのフェッチ回数は膨大なものとなり、メモリアクセス、バスアクセスによる消費電力の増加や、CPUのソフトウェアサイクル数の増加に繋がる。
例を挙げると、画像処理等ではバイトデータ間の比較、加算、乗算などが頻繁に行われるが、一般にはそのようなデータは全てメモリ上に配置されるので、メモリ対メモリ演算の場合は一つの演算を行う場合でも複数回のメモリアクセスが必要となる。
演算データ量が多くなってくると、当然サイクル数が増えるためシステムとしてのスループットは低下してくる。
図6は二つのオペランドをフェッチして、演算結果をCPU内部のレジスタに格納するプログラム例とそのタイミングを示す説明図である。
最初の命令はオペランドをメモリアドレスA0からCPUレジスタR0フェッチする命令、2番目の命令はオペランドをメモリアドレスA1からCPUレジスタR1にフェッチする命令、3番目の命令は前記2つの命令でフェッチした2つのオペランドで演算を行い、CPUレジスタR2に格納する命令である。
本例は、一般的なパイプラインCPUの場合ではあるが、1セットのデータ処理に、4サイクル必要となる。仮に100セットのデータを処理するとして、ループ命令などを使用しない場合で400サイクル必要となるが、このうち、200サイクルはメモリアクセスに要している。
特開平6−52045号公報
A system LSI equipped with a CPU (microprocessor) has a configuration in which a memory is mounted on a chip in order to increase the processing speed (see, for example, Patent Document 1).
In order to perform arithmetic processing by the CPU, the CPU fetches a plurality of operands from the data memory, and in some cases, processing such as writing back the arithmetic result to the memory is required.
In a system in which a large amount of data processing is performed by a CPU, the number of fetches from the memory becomes enormous, leading to an increase in power consumption due to memory access and bus access, and an increase in the number of software cycles of the CPU.
For example, in image processing and the like, comparison, addition, multiplication, etc. between byte data are frequently performed. However, since all such data is generally arranged in a memory, there is one case in the case of memory-to-memory operation. Even when one operation is performed, multiple memory accesses are required.
As the amount of calculation data increases, the number of cycles naturally increases, so the throughput of the system decreases.
FIG. 6 is an explanatory diagram showing an example of a program for fetching two operands and storing the operation result in a register in the CPU, and its timing.
The first instruction is an instruction that fetches the operand from the memory address A0 to the CPU register R0, the second instruction is an instruction that fetches the operand from the memory address A1 to the CPU register R1, and the third instruction is the two instructions fetched by the two instructions. This is an instruction that performs an operation on an operand and stores it in the CPU register R2.
Although this example is a case of a general pipeline CPU, four cycles are required for one set of data processing. Assuming that 100 sets of data are processed, 400 cycles are required when a loop instruction or the like is not used. Of these, 200 cycles are necessary for memory access.
JP-A-6-52045

ところで、画像処理等では、多くの場合、演算の種類が比較的単純なものに限られているとともに、処理すべきデータ数が大量である。したがって、このような単純で大量の演算処理にCPUを用いることは、システムバスの使用頻度やサイクル数の増大を招き、その結果、電力消費や処理時間の削減を図る上で不利があった。
本発明は、このような事情に鑑みなされたもので、その目的はCPUの使用頻度を抑制することにより電力消費や処理時間の削減を図る上で有利なデータ処理装置を提供することにある。
By the way, in image processing and the like, in many cases, the types of operations are limited to relatively simple ones, and the number of data to be processed is large. Therefore, using the CPU for such a simple and large amount of arithmetic processing increases the frequency of use of the system bus and the number of cycles, and as a result, has a disadvantage in reducing power consumption and processing time.
The present invention has been made in view of such circumstances, and an object thereof is to provide a data processing apparatus that is advantageous in reducing power consumption and processing time by suppressing the frequency of use of a CPU.

上記目的を達成するために本発明のデータ処理装置は、メモリと、論理演算を行う演算制御回路とを有し、これらメモリおよび演算制御回路はアドレスバスとデータバスを介してCPUに接続されたデータ処理装置であって、前記データ処理装置に割り当てられるデータアドレスは、第1メモリアドレスを示すビット構成部分と、第2メモリアドレスを示すビット構成部分とを含んで構成され、前記メモリは、第1メモリアレイと、第2メモリアレイとを含み、前記第1メモリアドレスが前記第1メモリアレイのアドレスとして割り当てられるとともに、前記第2メモリアドレスが前記第2メモリアレイのアドレスとして割り当てられ、前記演算制御回路は、前記CPUから前記アドレスバスを介して前記第1、第2メモリアドレスが前記第1、第2メモリアレイに供給されることによって前記第1、第2メモリアレイから同時に読み出された第1、第2データを該演算制御回路に入力する第1の処理と、前記入力した第1、第2データに対して所定の演算を行い該演算結果を前記データバスを介して前記CPUに出力する第2の処理とを行うように構成されていることを特徴とする。
また、本発明は、メモリと、論理演算を行う演算制御回路とを有し、これらメモリおよび演算制御回路はアドレスバスとデータバスを介してCPUに接続されたデータ処理装置であって、前記データ処理装置に割り当てられるデータアドレスは、第1メモリアドレスを示すビット構成部分と、第2メモリアドレスを示すビット構成部分とを含んで構成され、前記メモリは、単一のメモリアレイで構成され、前記メモリアレイから供給されるデータを前記第1メモリアドレスが割り当てられる第1ビット構成部分と前記第2のメモリアドレスが割り当てられる第2ビット構成部分とに分割するとともに、前記第1ビット構成部分から構成される第1データと、前記第2ビット構成部分から構成される第2データとを前記演算制御回路に供給し、かつ、前記第1、第2ビット構成部分のビット幅をビット幅選択信号に基づいて設定するビット構成選択回路を設け、前記演算制御回路は、前記CPUから前記アドレスバスを介して前記第1、第2メモリアドレスが前記メモリアレイに供給されることによって前記ビット構成選択回路から同時に供給される第1、第2データを該演算制御回路に入力する第1の処理と、前記入力した第1、第2データに対して所定の演算を行い該演算結果を前記データバスを介して前記CPUに出力する第2の処理とを行うように構成されていることを特徴とする。
In order to achieve the above object, a data processing apparatus according to the present invention has a memory and an arithmetic control circuit for performing a logical operation, and these memory and arithmetic control circuit are connected to a CPU via an address bus and a data bus. A data processing device, wherein a data address assigned to the data processing device includes a bit component indicating a first memory address and a bit component indicating a second memory address, and the memory includes The first memory address is assigned as an address of the first memory array, and the second memory address is assigned as an address of the second memory array, The control circuit receives the first and second memory addresses from the CPU via the address bus. , A first process of inputting the first and second data simultaneously read from the first and second memory arrays by being supplied to the second memory array to the arithmetic control circuit, and the input first The second processing is configured to perform a predetermined operation on the second data and output the operation result to the CPU via the data bus.
The present invention also includes a memory and an arithmetic control circuit that performs a logical operation, the memory and the arithmetic control circuit being a data processing device connected to a CPU via an address bus and a data bus, wherein the data The data address assigned to the processing device includes a bit component indicating a first memory address and a bit component indicating a second memory address, and the memory is configured by a single memory array, The data supplied from the memory array is divided into a first bit constituent part to which the first memory address is assigned and a second bit constituent part to which the second memory address is assigned, and is constituted from the first bit constituent part Supplying the first data and the second data composed of the second bit component to the arithmetic control circuit; A bit configuration selection circuit for setting a bit width of the first and second bit configuration parts based on a bit width selection signal; and the arithmetic control circuit is configured to send the first, A first process for inputting first and second data simultaneously supplied from the bit configuration selection circuit by supplying a second memory address to the memory array; A predetermined operation is performed on the second data, and a second process of outputting the operation result to the CPU via the data bus is performed.

本発明のデータ処理装置によれば、演算制御回路がCPUからアドレスバスを介して供給されるアドレスに含まれる第1、第2メモリアドレスが第1、第2メモリアレイに供給されることによって第1、第2メモリアレイから同時に読み出された第1、第2データを演算制御回路に入力し、該入力した第1、第2データに対して所定の演算を行い該演算結果を前記データバスを介してCPUに出力するように構成されているので、CPUは1回のアクセスで1個の演算結果を得ることができる。したがって、CPUによるアドレスバスを用いたメモリへのアクセス頻度を削減することによりアドレスバスの遷移によって消費される電流を低減でき電力消費を低減する上で有利となる。また、CPUによる演算動作が不要となるため、1セットのデータ処理に要するサイクル数を削減できるので処理時間を短縮する上で有利となる。
また、本発明のデータ処理装置によれば、単一のメモリアレイから読み出される第1データと第2データのビット幅をビット構成選択回路によって設定できるように構成し、第1データに割り当てられた第1メモリアドレスと、第2データに割り当てられた第2メモリアドレスをメモリアレイに供給することで前記第1の処理と第2の処理を行うようにした。したがって、前記効果に加えて、データ処理装置のコストアップを抑制しつつ、ビット幅が異なる様々なビット構成のデータで演算を行う上で有利となる。
According to the data processing apparatus of the present invention, the first and second memory addresses included in the address supplied from the CPU via the address bus by the arithmetic control circuit are supplied to the first and second memory arrays. 1. First and second data simultaneously read from the second memory array are input to an operation control circuit, a predetermined operation is performed on the input first and second data, and the operation result is input to the data bus. Is output to the CPU via the CPU, the CPU can obtain one calculation result in one access. Therefore, by reducing the frequency of access to the memory using the address bus by the CPU, the current consumed by the transition of the address bus can be reduced, which is advantageous in reducing power consumption. In addition, since an arithmetic operation by the CPU becomes unnecessary, the number of cycles required for processing one set of data can be reduced, which is advantageous in shortening the processing time.
According to the data processing device of the present invention, the bit widths of the first data and the second data read from the single memory array can be set by the bit configuration selection circuit, and assigned to the first data. The first process and the second process are performed by supplying the first memory address and the second memory address assigned to the second data to the memory array. Therefore, in addition to the above-described effects, it is advantageous in performing calculations with data having various bit configurations having different bit widths while suppressing an increase in cost of the data processing apparatus.

電力消費や処理時間の削減を図るという目的を、演算制御回路と複数のメモリアレイを設けることによって実現した。   The purpose of reducing power consumption and processing time is realized by providing an arithmetic control circuit and a plurality of memory arrays.

以下、本発明によるデータ処理装置の実施例を図面に基づいて詳細に説明する。
図1は本発明の実施例1におけるデータ処理装置を含むLSIの構成を示すブロック図、図2は本発明の実施例1におけるデータ処理装置の構成を示すブロック図である。
Embodiments of a data processing apparatus according to the present invention will be described below in detail with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of an LSI including a data processing apparatus according to the first embodiment of the present invention, and FIG. 2 is a block diagram showing a configuration of the data processing apparatus according to the first embodiment of the present invention.

図1に示すように、LSI10は、CPU1、命令メモリ2、データメモリ3、データ処理装置4を有している。言い換えると、CPU1、命令メモリ2、データメモリ3、データ処理装置4は単一の半導体チップ上に設けられている。
CPU1は、データバスDBおよびアドレスバスABを介してデータメモリ3とデータ処理装置4に接続されている。
命令メモリ2は、CPU1が実行すべき制御プログラムを格納しており、専用の命令バスを介してCPU1に制御プログラムが読み出されるように構成されている。
データメモリ3は、CPU1によって処理される種々のデータが格納されており、CPU1によってデータメモリ3に対するデータの読み出し、書き込みがなされるように構成されている。
As illustrated in FIG. 1, the LSI 10 includes a CPU 1, an instruction memory 2, a data memory 3, and a data processing device 4. In other words, the CPU 1, the instruction memory 2, the data memory 3, and the data processing device 4 are provided on a single semiconductor chip.
The CPU 1 is connected to the data memory 3 and the data processing device 4 via the data bus DB and the address bus AB.
The instruction memory 2 stores a control program to be executed by the CPU 1 and is configured such that the control program is read out to the CPU 1 via a dedicated instruction bus.
The data memory 3 stores various data to be processed by the CPU 1 and is configured such that data is read from and written to the data memory 3 by the CPU 1.

図2に示すように、データ処理装置4は、メモリ42と、演算制御回路44とを備え、メモリ42と演算制御回路44とはデータバスDBとは異なる内部接続線46を介して接続されている。
メモリ42は、ハードウェアとしては単一のメモリから構成され、後述するようにメモリ42に割り当てられるアドレスデータのビット構成は、上位ビット側と下位ビット側の2つに分割されており、前記上位ビット側が第1メモリアレイ42Aに割り当てられ、前記下位ビット側が第2メモリアレイ42Bに割り当てられている。
そして、メモリ42のデータのビット構成も上位ビット側と下位ビット側の2つに分割されており、前記上位ビット側が第1メモリアレイ42Aに格納される第1データDaを構成するビット構成部分として割り当てられ、前記下位ビット側が第2メモリアレイ42Bに格納される第2データDbを構成するビット構成部分として割り当てられている。言い換えると、メモリ42のデータは、第1データDaと第2データDbの2つのオペランドに分割されている。
As shown in FIG. 2, the data processing device 4 includes a memory 42 and an arithmetic control circuit 44. The memory 42 and the arithmetic control circuit 44 are connected via an internal connection line 46 different from the data bus DB. Yes.
The memory 42 is configured as a single memory as hardware, and the bit configuration of the address data allocated to the memory 42 is divided into two, the upper bit side and the lower bit side, as will be described later. The bit side is assigned to the first memory array 42A, and the lower bit side is assigned to the second memory array 42B.
The bit structure of the data in the memory 42 is also divided into two parts, the upper bit side and the lower bit side, and the upper bit side is used as a bit component part constituting the first data Da stored in the first memory array 42A. The lower bit side is assigned as a bit component constituting the second data Db stored in the second memory array 42B. In other words, the data in the memory 42 is divided into two operands of the first data Da and the second data Db.

演算制御回路44は、第1、第2メモリアレイ42A、42Bから内部接続線46を介して同時に読み出された第1、第2データDa、Dbを入力して所定の演算を行い、その演算結果を出力データDoutとしてデータバスDBに出力するように構成されている。
また、演算制御回路44は、データバスDBを介して供給されるデータを入力データDinとしてメモリ42に書き込む動作を行うようにも構成されている。
また、メモリ42に供給されるアドレスは、アドレスバスABからアドレスデコーダ6に供給され、アドレスデコーダ6でデコードされてからメモリ42に供給されるが、アドレスデコーダ6の動作および機能は一般的なアドレスデコーダの動作および機能と変わるところはない。また、アドレスデコーダ6をデータ処理装置4の内部に設けるか、データ処理装置4の外部に設けるかは任意である。
The arithmetic control circuit 44 inputs the first and second data Da and Db simultaneously read from the first and second memory arrays 42A and 42B via the internal connection line 46, performs a predetermined calculation, and performs the calculation. The result is output to the data bus DB as output data Dout.
The arithmetic control circuit 44 is also configured to perform an operation of writing data supplied via the data bus DB to the memory 42 as input data Din.
The address supplied to the memory 42 is supplied from the address bus AB to the address decoder 6, decoded by the address decoder 6 and then supplied to the memory 42. The operation and function of the address decoder 6 is a general address. There is no difference from the operation and function of the decoder. Further, it is arbitrary whether the address decoder 6 is provided inside the data processing device 4 or outside the data processing device 4.

図3は、CPU1からデータ処理装置4に割り当てられるアドレスデータのビット構成を示す説明図である。
データ処理装置4に割り当てられるアドレスデータ、すなわちメモリ42に割り当てられるアドレスデータのビット構成は以下のとおりであり、上位ビットから下位ビットの順で次のように割り当てられている。
チップイネーブルのデコード用ビットI(チップイネーブルデータCEとして使用):iビット
演算機能指定用ビットJ(演算機能指定データCTとして使用):jビット
第1メモリアレイ42AのメモリアドレスAa:mビット
第2メモリアレイ42BのメモリアドレスAb:nビット
アドレスデータのビット幅B=(i+j+m+n)ビット
チップイネーブルのデコード用ビットI(チップセレクトデータに相当)は第1、第2メモリアレイ42A、42Bのチップイネーブルデータ(チップイネーブル信号)を示すものであり、特許請求の範囲の制御データに相当する。
演算機能指定用ビットJ(演算指定データ)は演算制御回路44によって第1、第2データDa、Dbに対して行われる演算の種類、例えば四則演算(加算、減算など)、あるいは、論理演算(論理和、論理積、排他的論理和)などを指定するものであり、特許請求の範囲の制御データに相当する。
また、本実施例では、第1メモリアレイ42AのメモリアドレスAaのビット幅(mビット)と第2メモリアレイ42BのメモリアドレスAbのビット幅(nビット)とが同一のビット数に設定され、上位側に第1メモリアレイ42AのメモリアドレスAaが、下位側に第2メモリアレイ42BのメモリアドレスAbが割り当てられている。
言い換えると、アドレスデータのそれぞれはこれら制御データを示すビット構成部分と、第1メモリアレイ42AのメモリアドレスAaを示すビット構成部分と、第2メモリアレイ42BのメモリアドレスAbを示すビット構成部分とを含んでいる。
また、本実施例では、第1データDaのビット幅と第2データDbのビット幅とが同一のビット数となるように設定され、したがって第1、第2データDa、Dbのビット幅の和はメモリ42のデータのビット幅と同一であり、かつ、演算制御回路44の出力データDoutのビット幅と同一である。
FIG. 3 is an explanatory diagram showing a bit configuration of address data allocated from the CPU 1 to the data processing device 4.
The bit configuration of the address data assigned to the data processing device 4, that is, the address data assigned to the memory 42 is as follows, and is assigned as follows in order from the upper bit to the lower bit.
Chip enable decoding bit I (used as chip enable data CE): i bit Operation function designating bit J (used as operation function designating data CT): j bit Memory address Aa of first memory array 42A: m bit 2nd Memory address Ab of memory array 42B: n bits Bit width B of address data = (i + j + m + n) bits Chip enable decoding bit I (corresponding to chip select data) is chip enable data of the first and second memory arrays 42A, 42B. (Chip enable signal), which corresponds to the control data in the claims.
The calculation function designating bit J (calculation designating data) is the type of calculation performed on the first and second data Da, Db by the calculation control circuit 44, for example, four arithmetic operations (addition, subtraction, etc.) or logical operation ( Logical sum, logical product, exclusive logical sum), etc., and corresponds to the control data in the claims.
In this embodiment, the bit width (m bits) of the memory address Aa of the first memory array 42A and the bit width (n bits) of the memory address Ab of the second memory array 42B are set to the same number of bits. The memory address Aa of the first memory array 42A is assigned to the upper side, and the memory address Ab of the second memory array 42B is assigned to the lower side.
In other words, each of the address data includes a bit component indicating the control data, a bit component indicating the memory address Aa of the first memory array 42A, and a bit component indicating the memory address Ab of the second memory array 42B. Contains.
In the present embodiment, the bit width of the first data Da and the bit width of the second data Db are set to be the same number of bits, so that the sum of the bit widths of the first and second data Da, Db is set. Is the same as the bit width of the data in the memory 42 and the same as the bit width of the output data Dout of the arithmetic control circuit 44.

さらに具体的な数値を用いて説明する。
実際に必要とされるアドレスデータのビット幅は、第1、第2メモリアレイ42A、42Bの容量に応じて決定される。アドレスデータのビット幅が14ビット(本)であれば、16Kワードのアドレッシングが可能なことから、CPU1が32ビットのアドレス空間をサポートするものであれば、14×2=28ビットを第1、第2メモリアレイ42A、42Bのアドレッシングに使用しても、32−28=4ビットを、チップイネーブルのデコード用ビットIと、演算機能指定用ビットJとに割り当てることができる。なお、演算制御回路44で行う演算が1種類のみであった場合には演算機能指定用ビットJを省略することもできる。
また、本実施例では、図3に示すように、メモリ42のうちデータアドレス(0X0000〜0X3FFF)の部分を通常のメモリと同様にリードライト可能な通常メモリとしてマッピングし、メモリ42のうちデータアドレス(0X6000〜0X7FFF)の部分を第1、第2メモリアレイ42A、42Bとしてマッピングした場合を示している。
したがって、この場合にはチップイネーブルのデコード用ビットIは、前記通常のメモリと、第1、第2メモリアレイ42A、42Bとを選択できるように構成されている。
Furthermore, it demonstrates using a concrete numerical value.
The bit width of the address data actually required is determined according to the capacities of the first and second memory arrays 42A and 42B. If the bit width of the address data is 14 bits (book), 16K words can be addressed. Therefore, if the CPU 1 supports a 32-bit address space, 14 × 2 = 28 bits are set to the first, Even when used for addressing the second memory arrays 42A and 42B, 32-28 = 4 bits can be allocated to the chip enable decoding bit I and the arithmetic function designating bit J. If there is only one type of calculation performed by the calculation control circuit 44, the calculation function designation bit J can be omitted.
In the present embodiment, as shown in FIG. 3, the data address (0X0000 to 0X3FFF) portion of the memory 42 is mapped as a normal memory that can be read and written in the same manner as a normal memory, and the data address of the memory 42 In this example, the portion (0X6000 to 0X7FFF) is mapped as the first and second memory arrays 42A and 42B.
Therefore, in this case, the chip enable decoding bit I is configured so that the normal memory and the first and second memory arrays 42A and 42B can be selected.

また本実施例では、演算機能指定用ビットJを2ビットとし、演算機能指定用ビットJが01であれば第1データDaと第2データDbの論理積を行うことを意味し、演算機能指定用ビットJが00であれば演算制御回路44の演算動作を非実行としメモリ42のデータ(通常メモリのデータ、および第1データDaと第2データDb)をそのままリードすることを意味するものとする。したがって、演算機能指定用ビットJは特許請求の範囲の演算制御回路制御データを含んでいる。
メモリ42の通常メモリ部分、および、第1、第2メモリアレイ42A、42Bに対するデータの書き込み動作は、通常のメモリと同様に行われる。すなわち、図2では省略したが、制御データとしてメモリ42に対する書き込み(ライト)あるいは読み出し(リード)の何れを行うかを指定するリード/ライト制御データが演算制御回路44に供給されるように構成されている。
通常メモリ部分に対する書き込みは、図3に示すように、ライト状態のリード/ライト制御データが供給された演算制御回路44がアドレスバスABを介して指定されたアドレスに、データバスDBを介して供給されたデータを書き込むことでなされる。
通常メモリ部分からの読み出しは、図3に示すように、リード状態のリード/ライト制御データが供給された演算制御回路44がアドレスバスABを介して指定されたアドレスからデータを読み出しデータバスDBへ出力することでなされる。
また、第1、第2メモリアレイ42A、42Bに対する第1、第2データDa、Dbの書き込み動作および読み出し動作も上述した通常メモリ部分の場合と同様であるが、データが第1、第2データDa、Dbに分割されている点が異なっている。
In this embodiment, the arithmetic function designation bit J is set to 2 bits, and if the arithmetic function designation bit J is 01, it means that the logical product of the first data Da and the second data Db is performed, and the arithmetic function designation is performed. If the bit J is 00, this means that the arithmetic operation of the arithmetic control circuit 44 is not executed and the data in the memory 42 (the data in the normal memory, the first data Da, and the second data Db) are read as they are. To do. Therefore, the arithmetic function designating bit J includes arithmetic control circuit control data in the scope of claims.
The data write operation to the normal memory portion of the memory 42 and the first and second memory arrays 42A and 42B is performed in the same manner as the normal memory. That is, although omitted in FIG. 2, read / write control data that specifies whether to write (write) or read (read) the memory 42 as control data is supplied to the arithmetic control circuit 44. ing.
As shown in FIG. 3, the write to the normal memory portion is supplied via the data bus DB to the address specified by the arithmetic control circuit 44 to which the read / write control data in the write state is supplied via the address bus AB. This is done by writing the processed data.
For reading from the normal memory portion, as shown in FIG. 3, the arithmetic control circuit 44 to which the read / write control data in the read state is supplied reads the data from the address designated via the address bus AB and transfers it to the data bus DB. This is done by outputting.
Further, the writing operation and the reading operation of the first and second data Da and Db with respect to the first and second memory arrays 42A and 42B are the same as in the case of the normal memory portion described above, but the data is the first and second data. The difference is that it is divided into Da and Db.

次に、LSI10の動作について図4のタイミングチャートを参照して説明する。
予め第1、第2メモリアレイ42A、42Bには第1、第2データDa、Dbが格納されているものとする。
図中、CLKはCPU1の動作クロックを示し、ADRSはCPU1からアドレスバスABを介してデータ処理装置4に供給されるアドレスを示し、DATAはデータ処理装置4からデータバスDBに出力されるデータを示している。また、CPU演算はCPU1でなされる演算の有無を示し、CPU命令はCPU1で実行される命令を示している。
まず、命令i0がメモリ42のアドレスA01を読み出してレジスタR0に格納することを示すLOAD命令であった場合について説明する。
この場合、CPU1は1サイクル目でアドレスA01をデータ処理回路4に供給する。このアドレスA01には、前述したデコード用ビットI、演算機能指定用ビットJ(本例では01)、第1メモリアレイ42AのメモリアドレスAa、第2メモリアレイ42BのメモリアドレスAbが含まれている。したがって、デコード用ビットI、メモリアドレスAa、Abに対応して第1、第2メモリアレイ42A、42Bから第1、第2データDa、Abが演算制御回路44に供給される(第1の処理)。
CPU1が2サイクル目の命令i1を実行している間に、演算制御回路44は演算機能指定用ビットJによって指定される演算(本例では論理積)を行いその演算結果を出力データDoutとしてデータバスDBに出力する(第2の処理)。データバスDBに出力された出力データDoutはCPU1のレジスタR0に格納される。
また、CPU1は演算処理に関わっていないため、演算に要するサイクルが必要ない。
以下同様に命令i1、i2、i3、i4……が順次行われる。
したがって、1個分の演算結果を得るために必要なサイクル数、すなわち1セット分のデータ処理に必要なサイクル数は2サイクルで済むことになる。そして、連続して複数の命令が順次実行されると、CPU1によるアドレスの供給とデータ処理装置4からの出力データDoutの出力とがほぼ同時になされることから、例えば3セット分のデータ処理は4サイクルで済み、100セット分のデータ処理は101サイクルで済むことになる。
Next, the operation of the LSI 10 will be described with reference to the timing chart of FIG.
Assume that first and second data Da and Db are stored in advance in the first and second memory arrays 42A and 42B.
In the figure, CLK indicates an operation clock of the CPU 1, ADRS indicates an address supplied from the CPU 1 to the data processing device 4 via the address bus AB, and DATA indicates data output from the data processing device 4 to the data bus DB. Show. Further, the CPU calculation indicates the presence / absence of a calculation performed by the CPU 1, and the CPU command indicates a command executed by the CPU 1.
First, a case where the instruction i0 is a LOAD instruction indicating that the address A01 of the memory 42 is read and stored in the register R0 will be described.
In this case, the CPU 1 supplies the address A01 to the data processing circuit 4 in the first cycle. The address A01 includes the decoding bit I, the arithmetic function designating bit J (01 in this example), the memory address Aa of the first memory array 42A, and the memory address Ab of the second memory array 42B. . Accordingly, the first and second data Da and Ab are supplied from the first and second memory arrays 42A and 42B to the arithmetic control circuit 44 corresponding to the decoding bit I and the memory addresses Aa and Ab (first processing). ).
While the CPU 1 executes the instruction i1 in the second cycle, the operation control circuit 44 performs an operation (logical product in this example) specified by the operation function specifying bit J and outputs the operation result as output data Dout. The data is output to the bus DB (second process). The output data Dout output to the data bus DB is stored in the register R0 of the CPU1.
Further, since the CPU 1 is not involved in calculation processing, a cycle required for calculation is not necessary.
In the same manner, instructions i1, i2, i3, i4... Are sequentially executed.
Therefore, the number of cycles necessary for obtaining one operation result, that is, the number of cycles necessary for data processing for one set is only two. When a plurality of instructions are successively executed in succession, the address supply by the CPU 1 and the output of the output data Dout from the data processing device 4 are almost simultaneously performed. The cycle is sufficient, and the data processing for 100 sets is 101 cycles.

以上説明したように本実施例によれば、演算制御回路44は、CPU1からアドレスバスABを介して供給されるアドレスに含まれる第1、第2メモリアドレスAa、Abが第1、第2メモリアレイ42A、42Bに供給されることによって第1、第2メモリアレイ42A、42Bから同時に読み出された第1、第2データDa、Dbを演算制御回路44に入力する第1の処理と、入力した第1、第2データに対して所定の演算を行い該演算結果を前記データバスDBを介してCPUに出力する第2の処理とを行うように構成されている。
したがって、CPU1は1回のアクセスで1個の演算結果を得ることができるので、CPU1によるアドレスバスABを用いたメモリへのアクセス頻度を削減することによりアドレスバスABの遷移によって消費される電流を低減でき電力消費を低減する上で有利となる。また、CPU1による演算動作が不要となるため、1セットのデータ処理に要するサイクル数を削減できるので処理時間を短縮する上で有利となる。
具体的に説明すると、本実施例では、CPU1は1回のアクセスで1個の演算結果を得ることができることになり、例えば、従来技術の図6のタイミングチャートと比較すると、従来は1セットのデータ処理に4サイクルが必要でそのうち2サイクルがメモリへのアクセスであったのに対し、本発明では2サイクルで済みそのうち1サイクルがメモリへのアクセスとなっており、合計で処理時間を半分に削減することができる。
特に、画像処理等のように単純で大量の演算処理をデータ処理装置4によって行った場合には、同様の処理をCPU1を用いて行った場合と比較して電力消費および処理時間の削減効果が顕著である。
また、本実施例では、演算制御回路44と第1、第2メモリアレイ42A、42Bとの間における第1、第2データDa、Dbの転送はCPU1に接続された前記データバスDBとは独立した内部接続線46を介してなされるので、データ転送を前記データバスDBを介して行う場合に比較してデータバスDB上を流れる電流を低減でき電力消費を低減する上でさらに有利となる。
As described above, according to the present embodiment, the arithmetic control circuit 44 has the first and second memory addresses Aa and Ab included in the addresses supplied from the CPU 1 via the address bus AB as the first and second memories. A first process for inputting the first and second data Da and Db simultaneously read from the first and second memory arrays 42A and 42B by being supplied to the arrays 42A and 42B to the arithmetic control circuit 44; A predetermined calculation is performed on the first and second data, and a second process of outputting the calculation result to the CPU via the data bus DB is performed.
Therefore, since the CPU 1 can obtain one calculation result in one access, the current consumed by the transition of the address bus AB can be reduced by reducing the frequency of access to the memory using the address bus AB by the CPU 1. This is advantageous for reducing power consumption. Further, since the arithmetic operation by the CPU 1 is not required, the number of cycles required for processing one set of data can be reduced, which is advantageous in reducing the processing time.
More specifically, in this embodiment, the CPU 1 can obtain one calculation result in one access. For example, when compared with the timing chart of FIG. 4 cycles are required for data processing, of which 2 cycles are accesses to the memory. In the present invention, only 2 cycles are required, and 1 cycle is access to the memory, and the processing time is halved in total. Can be reduced.
In particular, when a simple and large amount of arithmetic processing such as image processing is performed by the data processing device 4, the power consumption and processing time can be reduced compared to the case where the same processing is performed using the CPU 1. It is remarkable.
In this embodiment, the transfer of the first and second data Da and Db between the arithmetic control circuit 44 and the first and second memory arrays 42A and 42B is independent of the data bus DB connected to the CPU 1. Therefore, the current flowing on the data bus DB can be reduced as compared with the case where data transfer is performed via the data bus DB, which is further advantageous in reducing power consumption.

次に実施例2について説明する。
実施例2はデータ処理装置4を画像処理に適用したものである。
図5は画像データのマスク処理の概念を示す説明図である。
画像データの典型的な処理としてマスク処理がある。マスク処理は処理対象となるイメージデータから所定部分のみを取り出したい場合に行うものである。
図5に示すように、処理対象となる元イメージデータをX、マスクイメージデータをMとする。
元イメージデータは複数の画素データX1、X2、X3、……から構成されている。
マスクイメージデータは複数のマスクデータM1、M2、M3、……から構成されており、図中白色部分は元イメージデータの画素データを残すためマスクデータを示し、黒色部分は元イメージデータの画素データを取り除くためのマスクデータを示している。
従来のマスク処理では、元イメージデータとマスクイメージデータとをそれぞれメモリに格納しておき、CPUは、元イメージデータの画素データを1つ読み出し、マスクイメージデータのマスクデータを1つ読み出し、これら読み出した画素データとマスクデータとの論理和をとり、その演算結果を出力データとして出力するといった手順で行っている。したがって、画素データの読み出しとマスクデータの読み出しとの2回の読み出し(メモリアクセス)が必要となる。
本発明のデータ処理回路4を用いた場合には次のように処理を行えばよい。すなわち、第1メモリアレイ42Aに元イメージデータの各画素データX1、X2、X3、……を第1データDaとして格納し、第2メモリアレイ42Bにマスクイメージデータの各マスクデータM1、M2、M3……を第2データDbとして格納しておき、演算処理回路44で行う演算を論理和とする。
後はデータ処理回路4にアドレスバスABを介してアドレスを順次供給することによりマスク処理された画素データが順次出力されることになり、マスク処理された1つの画素データを得るために1回のアクセスを行うだけで済み、処理時間が従来の半分で済むことになる。
Next, Example 2 will be described.
In the second embodiment, the data processing device 4 is applied to image processing.
FIG. 5 is an explanatory diagram showing the concept of image data mask processing.
There is a mask process as a typical process of image data. The mask process is performed when it is desired to extract only a predetermined portion from the image data to be processed.
As shown in FIG. 5, the original image data to be processed is X, and the mask image data is M.
The original image data is composed of a plurality of pixel data X1, X2, X3,.
The mask image data is composed of a plurality of mask data M1, M2, M3,..., In the figure, the white portion indicates the mask data to leave the pixel data of the original image data, and the black portion indicates the pixel data of the original image data. The mask data for removing is shown.
In the conventional mask processing, the original image data and the mask image data are respectively stored in the memory, and the CPU reads one pixel data of the original image data, reads one mask data of the mask image data, and reads them. The operation is performed by taking the logical sum of the pixel data and the mask data and outputting the operation result as output data. Therefore, two readings (memory access) are required to read pixel data and mask data.
When the data processing circuit 4 of the present invention is used, processing may be performed as follows. That is, each pixel data X1, X2, X3,... Of the original image data is stored as the first data Da in the first memory array 42A, and each mask data M1, M2, M3 of the mask image data is stored in the second memory array 42B. Are stored as the second data Db, and an operation performed by the operation processing circuit 44 is a logical sum.
After that, pixel data subjected to mask processing is sequentially output by sequentially supplying addresses to the data processing circuit 4 via the address bus AB. In order to obtain one pixel data subjected to mask processing, it is performed once. All that is required is access, and the processing time is half that of the prior art.

なお、上述した各実施例では、データ処理回路4のメモリ42を第1、第2メモリアレイ42A、42Bの2つのメモリアレイに分割したが、メモリアレイの数は3つ以上であってもよく、本実施例と同様の作用効果を奏することはもちろんである。また、その場合は、データ処理装置4に割り当てられるデータアドレスがメモリアレイの数と同じ数のビット構成部分を含んで構成されていればよい。
また、各実施例では、データ処理回路4によって行う演算処理として画像処理を例示したが、無論画像処理以外の演算処理であってもよい。
また、本実施例では、データ処理回路4がCPU1、命令メモリ2、データメモリ3とともに単一の半導体チップ上に構成されたLSI10に含まれたものとして例示したが、本発明はこれに限定されるものではなく、データ処理回路4をCPU1、命令メモリ2、データメモリ3とは別体の部品で構成してもよくその構成は任意である。
In each of the above-described embodiments, the memory 42 of the data processing circuit 4 is divided into two memory arrays, the first and second memory arrays 42A and 42B. However, the number of memory arrays may be three or more. Of course, the same effects as the present embodiment can be obtained. In this case, the data address assigned to the data processing device 4 may be configured to include the same number of bit components as the number of memory arrays.
In each embodiment, the image processing is exemplified as the arithmetic processing performed by the data processing circuit 4. However, arithmetic processing other than image processing may of course be used.
In the present embodiment, the data processing circuit 4 is exemplified as being included in the LSI 10 configured on a single semiconductor chip together with the CPU 1, the instruction memory 2, and the data memory 3. However, the present invention is not limited to this. Instead, the data processing circuit 4 may be configured as a component separate from the CPU 1, the instruction memory 2, and the data memory 3, and the configuration thereof is arbitrary.

次に実施例3について説明する。
上述した実施例1、2では、データ処理回路4のメモリ42を複数のメモリアレイに分割したため、第1データおよび第2データのビット幅は固定されたものとなる。
したがって、ビット幅が異なる様々なビット構成のデータで演算を行うためには、ビット構成毎にメモリ42を設ける必要が生じ、データ処理装置4のコストがかさむ不利がある。
そこで、実施例3では、このような課題を解決するために演算オペランドのビット幅を変更することができるデータ処理回路を実現した。
Next, Example 3 will be described.
In the first and second embodiments described above, since the memory 42 of the data processing circuit 4 is divided into a plurality of memory arrays, the bit widths of the first data and the second data are fixed.
Therefore, in order to perform an operation with data having various bit configurations having different bit widths, it is necessary to provide a memory 42 for each bit configuration, which disadvantageously increases the cost of the data processing device 4.
Therefore, in the third embodiment, in order to solve such a problem, a data processing circuit capable of changing the bit width of the arithmetic operand is realized.

図7は実施例3におけるデータ処理装置を含むLSIの構成を示すブロック図、図8は実施例3におけるデータ処理装置の構成を示すブロック図、図9は実施例3におけるデータ処理装置のビット構成選択回路の構成と動作を説明する図である。以下では実施例1と同様の部分には同一の符号を付して説明する。
まず、図7を参照してデータ処理装置5の概略構成について説明する。
データ処理装置5は、メモリ52と、演算制御回路54と、ビット構成選択回路56と、選択制御回路58とを備え、メモリ52とビット構成選択回路54はデータバスDBとは異なる内部接続線502を介して接続され、ビット構成選択回路54と演算回路58はデータバスDBとは異なる内部接続線504を介して接続されている。
メモリ52は、ハードウェアとしては単一のメモリから構成され、かつ、単一のメモリアレイとして構成されている。
ビット構成選択回路56は、メモリ52から供給されるビット幅kのデータをビット幅mの第1ビット構成部分とビット幅nの第2ビット構成部分とに分割するとともに、前記第1ビット構成部分から構成される第1データDaと、前記第2ビット構成部分から構成される第2データDbとを演算制御回路54に供給するように構成されている。したがって、メモリ52のデータは、第1データDaと第2データDbの2つのオペランドに分割されてメモリ52から読み出されることになる。
また、メモリ52に格納されているデータのうち、前記第1ビット構成部分(第1データDa)には、実施例1と同様の第1メモリアドレスが割り当てられ、第2ビット構成部分(第2データDb)には、実施例1と同様の第2メモリアドレスが割り当てられる。
ビット構成選択回路56は、選択制御回路58から供給されるビット幅選択信号Sbに基づいて前記第1、第2ビット構成部分のビット幅n、mを設定する。
選択制御回路58は、CPU1からの命令に基づいて前記ビット幅選択信号Sbを生成する。
FIG. 7 is a block diagram showing a configuration of an LSI including a data processing device in the third embodiment, FIG. 8 is a block diagram showing a configuration of the data processing device in the third embodiment, and FIG. 9 is a bit configuration of the data processing device in the third embodiment. It is a figure explaining the structure and operation | movement of a selection circuit. In the following description, the same parts as those in the first embodiment are denoted by the same reference numerals.
First, a schematic configuration of the data processing device 5 will be described with reference to FIG.
The data processing device 5 includes a memory 52, an arithmetic control circuit 54, a bit configuration selection circuit 56, and a selection control circuit 58. The memory 52 and the bit configuration selection circuit 54 are internal connection lines 502 different from the data bus DB. The bit configuration selection circuit 54 and the arithmetic circuit 58 are connected via an internal connection line 504 different from the data bus DB.
The memory 52 is configured as a single memory as hardware, and is configured as a single memory array.
The bit configuration selection circuit 56 divides the data of the bit width k supplied from the memory 52 into a first bit configuration portion having a bit width m and a second bit configuration portion having a bit width n, and the first bit configuration portion The first data Da composed of the second data Db and the second data Db composed of the second bit component are supplied to the arithmetic control circuit 54. Therefore, the data in the memory 52 is divided into two operands of the first data Da and the second data Db and read from the memory 52.
Of the data stored in the memory 52, the first bit configuration part (first data Da) is assigned a first memory address similar to that of the first embodiment, and the second bit configuration part (second data). The data Db) is assigned a second memory address similar to that in the first embodiment.
The bit configuration selection circuit 56 sets the bit widths n and m of the first and second bit configuration parts based on the bit width selection signal Sb supplied from the selection control circuit 58.
The selection control circuit 58 generates the bit width selection signal Sb based on a command from the CPU 1.

演算制御回路54は、メモリ52から内部接続線502、ビット構成選択回路56、内部接続線504を介して同時に読み出された第1、第2データDa、Dbを入力して所定の演算を行い、その演算結果を出力データDoutとしてデータバスDBに出力するように構成されている。
また、演算制御回路54は、実施例1と同様に、データバスDBを介して供給されるデータを入力データDinとしてメモリ52に書き込む動作を行うようにも構成されている。
また、メモリ52に供給されるアドレスは、実施例1と同様に、アドレスバスABからアドレスデコーダ6(図8参照)に供給され、アドレスデコーダ6でデコードされてからメモリ52に供給されるが、アドレスデコーダ6の動作および機能は一般的なアドレスデコーダの動作および機能と変わるところはない。また、実施例1と同様に、アドレスデコーダ6をデータ処理装置5の内部に設けるか、データ処理装置5の外部に設けるかは任意である。
The arithmetic control circuit 54 inputs the first and second data Da and Db simultaneously read from the memory 52 via the internal connection line 502, the bit configuration selection circuit 56, and the internal connection line 504, and performs a predetermined calculation. The operation result is output to the data bus DB as output data Dout.
Similarly to the first embodiment, the arithmetic control circuit 54 is also configured to perform an operation of writing data supplied via the data bus DB into the memory 52 as input data Din.
Similarly to the first embodiment, the address supplied to the memory 52 is supplied from the address bus AB to the address decoder 6 (see FIG. 8), decoded by the address decoder 6, and then supplied to the memory 52. The operation and function of the address decoder 6 is not different from the operation and function of a general address decoder. Similarly to the first embodiment, it is optional whether the address decoder 6 is provided inside the data processing device 5 or outside the data processing device 5.

次に、図8、図9を参照してデータ処理回路5の構成について具体的に説明する。なお、図8、図9では図面の繁雑化を避けるためにマルチプレクサ5602、演算回路5402の一部を省略している。
本例では、図9に示すように、メモリ52のビット幅kを16ビットとし、第1、第2データDa、Dbのビット幅n、mを次の2種類に切り換えて、言い換えると、演算オペランドの分割を次の2種類から選択して(切り換えて)設定するものとし、データ出力回路5から出力されるデータのビット幅が12ビットであるものとする。
第1の設定:n=4ビット、m=12ビット
第2の設定:n=8ビット、m=8ビット
Next, the configuration of the data processing circuit 5 will be specifically described with reference to FIGS. 8 and 9, a part of the multiplexer 5602 and the arithmetic circuit 5402 are omitted in order to avoid complication of the drawings.
In this example, as shown in FIG. 9, the bit width k of the memory 52 is set to 16 bits, and the bit widths n and m of the first and second data Da and Db are switched to the following two types. It is assumed that the operand division is selected (switched) from the following two types, and the bit width of the data output from the data output circuit 5 is 12 bits.
First setting: n = 4 bits, m = 12 bits Second setting: n = 8 bits, m = 8 bits

図9に示すように、実施例3では、ビット構成選択回路56は8個のマルチプレクサ5602を有している。
選択制御回路58は、CPU1によって制御されるビット選択制御レジスタ5802を含み、各マルチプレクサ5602に供給されるビット幅選択信号Sbはビット選択制御レジスタ5802の出力信号をデコードすることによって生成される。
演算制御回路54は、四則演算あるいは論理演算を行う12個の演算回路5402と、各演算回路5402の演算機能を選択する演算機能選択制御回路5404(図8では省略)とを有している。演算機能選択制御回路5404は、実施例1と同様の演算機能指定データCTに基づいて制御動作を行う。
図8に示すように、各演算回路5402の出力端はバッファ5002を介してデータバスDBに接続され、バッファ5002は、実施例1と同様のチップイネーブルデータCEによって動作するように構成されている。
As shown in FIG. 9, in the third embodiment, the bit configuration selection circuit 56 includes eight multiplexers 5602.
The selection control circuit 58 includes a bit selection control register 5802 controlled by the CPU 1, and the bit width selection signal Sb supplied to each multiplexer 5602 is generated by decoding the output signal of the bit selection control register 5802.
The arithmetic control circuit 54 includes twelve arithmetic circuits 5402 that perform four arithmetic operations or logical operations, and an arithmetic function selection control circuit 5404 that selects an arithmetic function of each arithmetic circuit 5402 (not shown in FIG. 8). The arithmetic function selection control circuit 5404 performs a control operation based on arithmetic function designation data CT similar to that in the first embodiment.
As shown in FIG. 8, the output terminal of each arithmetic circuit 5402 is connected to the data bus DB via a buffer 5002, and the buffer 5002 is configured to operate according to chip enable data CE similar to that in the first embodiment. .

次に、選択制御回路58を構成する各マルチプレクサ5602の構成について具体的に説明する。
図9に示すように、選択制御回路58は、各マルチプレクサ5602に対して、メモリ52から出力されるデータを前記第1の設定と第2の設定に応じて第1ビット構成部分と第2ビット構成部分に分割するための制御信号(ビット幅制御信号Sb)を生成する。
したがって、選択制御回路58は、第1の設定の場合には、メモリ52から出力されるデータの16ビットのうち、下位のビット0〜ビット3までの4ビットのデータを第1ビット構成部として各演算回路5402に入力するとともに、メモリ52から出力されるデータの16ビットのうち、上位のビット4〜ビット15を第2ビット構成部として各演算回路5402に入力するように構成されている。
また、選択制御回路58は、第2の設定の場合には、メモリ52から出力されるデータの16ビットのうち、ビット0〜ビット7までの8ビットのデータを第1ビット構成部として各演算回路5402に入力するとともに、メモリ52から出力されるデータの16ビットのうち、ビット8〜ビット15を第2ビット構成部として各演算回路5402に入力するように構成されている。
具体的には、8個のマルチプレクサ5602を下位ビットから上位ビットの順番に第1マルチプレクサ5602〜第8マルチプレクサ5602とすると、第1マルチプレクサ5602はビット4、ビット8の選択を行うように、第2マルチプレクサ5602はビット5、ビット9の選択を行うように、第3マルチプレクサ5602はビット6、ビット10の選択を行うように、第4マルチプレクサ5602はビット7、ビット11の選択を行うように、第5マルチプレクサ5602はデータ0、ビット12の選択を行うように、第6マルチプレクサ5602はデータ0、ビット13の選択を行うように、第7マルチプレクサ5602はデータ0、ビット14の選択を行うように、第8マルチプレクサ5602はデータ0、ビット15の選択を行うようにそれぞれ構成されている。
Next, the configuration of each multiplexer 5602 constituting the selection control circuit 58 will be specifically described.
As shown in FIG. 9, the selection control circuit 58 outputs the data output from the memory 52 to each multiplexer 5602 according to the first setting and the second setting. A control signal (bit width control signal Sb) for dividing into constituent parts is generated.
Therefore, in the case of the first setting, the selection control circuit 58 uses, as the first bit component, 4-bit data from the lower bits 0 to 3 among the 16 bits of data output from the memory 52. In addition to being input to each arithmetic circuit 5402, among the 16 bits of data output from the memory 52, the upper bits 4 to 15 are input to the respective arithmetic circuits 5402 as second bit components.
In the case of the second setting, the selection control circuit 58 uses each of the 16 bits of data output from the memory 52 as 8-bit data from bit 0 to bit 7 as the first bit component. In addition to being input to the circuit 5402, among the 16 bits of data output from the memory 52, bits 8 to 15 are input to each arithmetic circuit 5402 as a second bit configuration unit.
Specifically, when the eight multiplexers 5602 are designated as the first multiplexer 5602 to the eighth multiplexer 5602 in the order from the lower bit to the upper bit, the first multiplexer 5602 selects the second bit and the second bit so that the second bit is selected. The multiplexer 5602 selects bits 5 and 9, the third multiplexer 5602 selects bits 6 and 10, and the fourth multiplexer 5602 selects bits 7 and 11. The fifth multiplexer 5602 selects data 0 and bit 12, the sixth multiplexer 5602 selects data 0 and bit 13, and the seventh multiplexer 5602 selects data 0 and bit 14. The eighth multiplexer 5602 selects data 0 and bit 15. Are configured respectively Migihitsuji.

次に、演算制御回路56を構成する各演算回路5402の構成について具体的に説明する。
本実施例では、演算回路5402が12個設けられ、これら演算回路5402によって加算が行われるものとする。したがって、第1の設定では12ビットと4ビットの加算が行われ、第2の設定では8ビットと8ビットの加算が行われる。
具体的には、12個の演算回路5402を下位ビットから上位ビットの順番に第1演算回路5402〜第12演算回路5402とすると、第1演算回路5402は、ビット0と第1マルチプレクサ5602の出力データが入力され、第2演算回路5402は、ビット1と第2マルチプレクサ5602の出力データが入力され、第3演算回路5402は、ビット2と第3マルチプレクサ5602の出力データが入力され、第4演算回路5402は、ビット3と第4マルチプレクサ5602の出力データが入力され、第5演算回路5402は、ビット4と第5マルチプレクサ5602の出力データが入力され、第6演算回路5402は、ビット5と第6マルチプレクサ5602の出力データが入力され、第7演算回路5402は、ビット6と第7マルチプレクサ5602の出力データが入力され、第8演算回路5402は、ビット7と第8マルチプレクサ5602の出力データが入力され、第9演算回路5402は、ビット8とデータ0が入力され、第10演算回路5402は、ビット9とデータ0が入力され、第11演算回路5402は、ビット10とデータ0が入力され、第12演算回路5402は、ビット11とデータ0が入力されるようにそれぞれ構成されている。
Next, the configuration of each arithmetic circuit 5402 constituting the arithmetic control circuit 56 will be specifically described.
In this embodiment, twelve arithmetic circuits 5402 are provided and addition is performed by these arithmetic circuits 5402. Accordingly, 12 bits and 4 bits are added in the first setting, and 8 bits and 8 bits are added in the second setting.
Specifically, when twelve arithmetic circuits 5402 are designated as the first arithmetic circuit 5402 to the twelfth arithmetic circuit 5402 in the order from the lower bit to the upper bit, the first arithmetic circuit 5402 outputs the bit 0 and the output of the first multiplexer 5602. Data is input, bit 1 and the output data of the second multiplexer 5602 are input to the second arithmetic circuit 5402, and output data of the bit 2 and the third multiplexer 5602 are input to the third arithmetic circuit 5402, and the fourth operation is performed. The circuit 5402 receives bit 3 and the output data of the fourth multiplexer 5602, the fifth arithmetic circuit 5402 receives bit 4 and the output data of the fifth multiplexer 5602, and the sixth arithmetic circuit 5402 The output data of the 6 multiplexer 5602 is input, and the seventh arithmetic circuit 5402 receives the bits 6 and 7 The output data of the multiplexer 5602 is inputted, the bit 7 and the output data of the eighth multiplexer 5602 are inputted to the eighth arithmetic circuit 5402, the bit 8 and the data 0 are inputted to the ninth arithmetic circuit 5402, and the tenth arithmetic circuit. Bit 5 and data 0 are input to 5402, bit 10 and data 0 are input to the eleventh arithmetic circuit 5402, and bit 11 and data 0 are input to the twelfth arithmetic circuit 5402, respectively. Yes.

上述のように、第5〜第8マルチプレクサ5602の一方の入力としてデータ0が設定され、第9〜第12演算回路5402の一方の入力としてデータ0が設定されている理由について説明する。
第1の設定では第1ビット構成部(上位12ビット)と第2ビット構成部(下位4ビット)の加算が行われるため、第1ビット構成部の上位12ビットのうち下位4ビットを除く上位8ビットに対応する第2ビット構成部側には8ビット分のデータが存在しない。言い換えると、第2ビット構成部は8ビット分のデータがない。したがって、この8ビットの部分に対して、第2ビット構成部が正数であれば上述のようにデータ0を設定し、負数であれば符号拡張した固定値が設定される。このようなデータ0、固定値の設定はビット構成選択回路56によって行われる。
また、第2の設定では第1ビット構成部(上位8ビット)と第2ビット構成部(下位8ビット)の加算が行われるため、第1ビット構成部と第2ビット構成部の双方とも、12ビットに対してそれぞれ上位4ビット分のデータがない。したがって、この4ビットの部分に対して、上述と同様の考え方により、正数、負数に対応したデータ0、固定値の設定が上記と同様にビット構成選択回路56によって行われる。
As described above, the reason why data 0 is set as one input of the fifth to eighth multiplexers 5602 and data 0 is set as one input of the ninth to twelfth arithmetic circuits 5402 will be described.
In the first setting, the first bit configuration unit (upper 12 bits) and the second bit configuration unit (lower 4 bits) are added, so the upper 12 bits of the upper 12 bits of the first bit configuration unit excluding the lower 4 bits There is no data for 8 bits on the second bit component side corresponding to 8 bits. In other words, the second bit configuration unit has no data for 8 bits. Therefore, for the 8-bit portion, if the second bit component is a positive number, data 0 is set as described above, and if it is a negative number, a sign-extended fixed value is set. The data 0 and fixed value are set by the bit configuration selection circuit 56.
Further, in the second setting, the first bit configuration unit (upper 8 bits) and the second bit configuration unit (lower 8 bits) are added, so both the first bit configuration unit and the second bit configuration unit are There are no upper 4 bits of data for 12 bits. Therefore, the bit configuration selection circuit 56 sets the data 0 corresponding to the positive number and the negative number and the fixed value to the 4-bit portion in the same manner as described above.

次に、データ処理装置5の動作について図4を流用して説明する。
予めメモリ52には、前記第1の設定あるいは第2の設定の何れかに対応して分割された演算オペランドとしての第1、第2データDa、Dbが格納されている。
まず、CPU1は、データ処理回路5に対して演算オペランドのビット幅の設定を行う。すなわち、前記第1の設定および第2の設定の何れか一方を選択し、ビット選択制御レジスタ5802を制御し、ビット選択制御レジスタ5802により各マルチプレクサ5602に対してビット幅選択信号Sbを供給させ、これにより各マルチプレクサ5602はビット幅選択信号Sbに対応して選択動作を行う。
次いで、CPU1は1サイクル目でアドレスA01をデータ処理回路4に供給する。このアドレスA01には、前述したデコード用ビットI、演算機能指定用ビットJ(本例では01)、第1メモリアドレスAa、第2メモリアドレスAbが含まれている。したがって、メモリアドレスAa、Abに対応してメモリ52からデータDがビット構成選択回路56に入力され、このビット構成選択回路56によってデータDが2つのオペランドとしての第1、第2データDa、Dbに分割されて演算制御回路54に供給される(第1の処理)。
CPU1が2サイクル目の命令i1を実行している間に、演算制御回路54は演算機能指定用ビットJによって指定される演算(本例では論理積)を行いその演算結果を出力データDoutとしてバッファ5002を介してデータバスDBに出力する(第2の処理)。データバスDBに出力された出力データDoutはCPU1のレジスタR0に格納される。
また、CPU1は演算処理に関わっていないため、演算に要するサイクルが必要ない。
以下同様に命令i1、i2、i3、i4……が順次行われる。
したがって、1個分の演算結果を得るために必要なサイクル数、すなわち1セット分のデータ処理に必要なサイクル数は2サイクルで済むことになる。そして、連続して複数の命令が順次実行されると、CPU1によるアドレスの供給とデータ処理装置5からの出力データDoutの出力とがほぼ同時になされることから、例えば3セット分のデータ処理は4サイクルで済み、100セット分のデータ処理は101サイクルで済むことになる。
Next, the operation of the data processing device 5 will be described with reference to FIG.
The memory 52 stores in advance first and second data Da and Db as operation operands divided in accordance with either the first setting or the second setting.
First, the CPU 1 sets the bit width of the operation operand for the data processing circuit 5. That is, one of the first setting and the second setting is selected, the bit selection control register 5802 is controlled, and the bit width selection signal Sb is supplied to each multiplexer 5602 by the bit selection control register 5802, Accordingly, each multiplexer 5602 performs a selection operation corresponding to the bit width selection signal Sb.
Next, the CPU 1 supplies the address A01 to the data processing circuit 4 in the first cycle. The address A01 includes the decoding bit I, the arithmetic function designating bit J (01 in this example), the first memory address Aa, and the second memory address Ab. Therefore, data D is input from the memory 52 to the bit configuration selection circuit 56 corresponding to the memory addresses Aa and Ab, and the data D is input to the bit configuration selection circuit 56 by the first and second data Da and Db as two operands. And is supplied to the arithmetic control circuit 54 (first processing).
While the CPU 1 executes the instruction i1 in the second cycle, the arithmetic control circuit 54 performs an operation (logical product in this example) specified by the operation function specifying bit J and buffers the operation result as output data Dout. The data is output to the data bus DB via 5002 (second processing). The output data Dout output to the data bus DB is stored in the register R0 of the CPU1.
Further, since the CPU 1 is not involved in calculation processing, a cycle required for calculation is not necessary.
In the same manner, instructions i1, i2, i3, i4... Are sequentially executed.
Therefore, the number of cycles necessary for obtaining one operation result, that is, the number of cycles necessary for data processing for one set is only two. When a plurality of instructions are successively executed in succession, the address supply by the CPU 1 and the output of the output data Dout from the data processing device 5 are performed almost simultaneously. The cycle is sufficient, and the data processing for 100 sets is 101 cycles.

実施例3によれば、実施例1と同様に、メモリ52へのアクセスを削減することで電力消費および処理時間を削減する上で有利であることは無論のこと、データ処理回路5は、CPU1からの命令に従って演算オペランドの分割を前記第1の設定と第2の設定の2種類から選択することで、演算するデータのビット幅を変更することができるので、データ処理装置5のコストアップを抑制しつつ、ビット幅が異なる様々なビット構成のデータで演算を行う上で有利となる。   According to the third embodiment, as in the first embodiment, it is obvious that reducing the access to the memory 52 is advantageous in reducing the power consumption and the processing time. The bit width of the data to be calculated can be changed by selecting the operation operand division from the first setting and the second setting in accordance with the instruction from, thus increasing the cost of the data processing device 5. This is advantageous in performing calculations with data of various bit configurations with different bit widths while suppressing the above.

なお、実施例3では、メモリ52のデータをビット構成選択回路56によって第1ビット構成部分と第2ビット構成部分の2つのビット構成部分に分割する場合について説明したが、分割するビット構成部分の数は3つ以上であってもよく、実施例3と同様の作用効果を奏することはもちろんである。また、その場合は、データ処理装置5に割り当てられるデータアドレスは、メモリ52の分割されたビット構成部分の数と同じ数のメモリアドレスに分割されていればよい。
また、実施例3では、ビット構成選択回路56による演算オペランドの分割を2種類から選択して設定したが、演算オペランドの分割を何種類から選択するかは任意であり、分割された演算オペランドのビット幅の設定も任意である。
また、実施例3では、選択制御回路58をビット選択制御レジスタ5802で構成し、このビット選択制御レジスタ5802をデータ処理装置5の内部に設けた場合について説明したが、ビット選択制御レジスタ5802と同様のレジスタをデータ処理装置5の外部に設けるようにしてもよく、例えば、CPU1のワーキングエリアを構成するメモリ上に前記レジスタを設けてもよい。
また、データ処理回路5によって行う演算処理は、四則演算、論理演算、あるいは画像処理以外の演算処理であってもよいことは実施例1、2と同様である。
また、データ処理回路5は、CPU1、命令メモリ2、データメモリ3とともに単一の半導体チップ上に構成されたLSI10に含まれたものに限定されず、データ処理回路5をCPU1、命令メモリ2、データメモリ3とは別体の部品で構成してもよくその構成は任意であることは実施例1、2と同様である。
In the third embodiment, the case where the data of the memory 52 is divided into the two bit configuration parts of the first bit configuration part and the second bit configuration part by the bit configuration selection circuit 56 has been described. The number may be three or more and, of course, the same effects as those of the third embodiment can be obtained. In this case, the data address assigned to the data processing device 5 may be divided into the same number of memory addresses as the number of divided bit components of the memory 52.
In the third embodiment, the division of the operation operand by the bit configuration selection circuit 56 is selected and set from two types. However, it is arbitrary from what kind of operation operand division is selected. The bit width can also be set arbitrarily.
In the third embodiment, the case where the selection control circuit 58 is configured by the bit selection control register 5802 and this bit selection control register 5802 is provided in the data processing device 5 has been described. These registers may be provided outside the data processing device 5. For example, the registers may be provided on a memory constituting a working area of the CPU 1.
The arithmetic processing performed by the data processing circuit 5 may be arithmetic processing other than four arithmetic operations, logical operations, or image processing, as in the first and second embodiments.
The data processing circuit 5 is not limited to that included in the LSI 10 configured on a single semiconductor chip together with the CPU 1, the instruction memory 2, and the data memory 3. The data processing circuit 5 is not limited to the CPU 1, the instruction memory 2, Similar to the first and second embodiments, the data memory 3 may be composed of a separate component, and the configuration is arbitrary.

本発明の実施例1におけるデータ処理装置を含むLSIの構成を示すブロック図である。1 is a block diagram showing a configuration of an LSI including a data processing device in Embodiment 1 of the present invention. 本発明の実施例1におけるデータ処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data processor in Example 1 of this invention. CPU1からデータ処理装置4に割り当てられるアドレスデータのビット構成を示す説明図である。It is explanatory drawing which shows the bit structure of the address data allocated to the data processor 4 from CPU1. 実施例1におけるLSI10の動作を示すタイミングチャートである。3 is a timing chart illustrating the operation of the LSI 10 according to the first embodiment. 画像データのマスク処理の概念を示す説明図である。It is explanatory drawing which shows the concept of the mask process of image data. 二つのオペランドをフェッチして、演算結果をCPU内部のレジスタに格納するプログラム例とそのタイミングを示す説明図である。It is explanatory drawing which shows the example of a program which fetches two operands, and stores a calculation result in the register in CPU, and its timing. 実施例3におけるデータ処理装置を含むLSIの構成を示すブロック図である。FIG. 10 is a block diagram illustrating a configuration of an LSI including a data processing device according to a third embodiment. 実施例3におけるデータ処理装置の構成を示すブロック図である。FIG. 10 is a block diagram illustrating a configuration of a data processing device in a third embodiment. 実施例3におけるデータ処理装置のビット構成選択回路の構成と動作を説明する図である。FIG. 10 is a diagram illustrating the configuration and operation of a bit configuration selection circuit of a data processing device according to a third embodiment.

符号の説明Explanation of symbols

1……CPU、4……データ処理装置、42……メモリ、42A……第1メモリアレイ、42B……第2メモリアレイ、44……演算制御回路、Da……第1データ、Db……第2データ、Aa……第1メモリアレイ42Aのアドレス、Ab……第2メモリアレイ42Bのアドレス、AB……アドレスバス、DB……データバス。
DESCRIPTION OF SYMBOLS 1 ... CPU, 4 ... Data processing device, 42 ... Memory, 42A ... First memory array, 42B ... Second memory array, 44 ... Operation control circuit, Da ... First data, Db ... Second data, Aa... Address of the first memory array 42A, Ab... Address of the second memory array 42B, AB... Address bus, DB.

Claims (15)

メモリと、論理演算を行う演算制御回路とを有し、これらメモリおよび演算制御回路はアドレスバスとデータバスを介してCPUに接続されたデータ処理装置であって、
前記データ処理装置に割り当てられるデータアドレスは、第1メモリアドレスを示すビット構成部分と、第2メモリアドレスを示すビット構成部分とを含んで構成され、
前記メモリは、第1メモリアレイと、第2メモリアレイとを含み、
前記第1メモリアドレスが前記第1メモリアレイのアドレスとして割り当てられるとともに、前記第2メモリアドレスが前記第2メモリアレイのアドレスとして割り当てられ、
前記演算制御回路は、
前記CPUから前記アドレスバスを介して前記第1、第2メモリアドレスが前記第1、第2メモリアレイに供給されることによって前記第1、第2メモリアレイから同時に読み出された第1、第2データを該演算制御回路に入力する第1の処理と、
前記入力した第1、第2データに対して所定の演算を行い該演算結果を前記データバスを介して前記CPUに出力する第2の処理とを行うように構成されている、
ことを特徴とするデータ処理装置。
A memory and an arithmetic control circuit for performing a logical operation, the memory and the arithmetic control circuit being a data processing device connected to the CPU via an address bus and a data bus;
The data address assigned to the data processing device includes a bit component indicating a first memory address and a bit component indicating a second memory address.
The memory includes a first memory array and a second memory array;
The first memory address is assigned as an address of the first memory array, and the second memory address is assigned as an address of the second memory array;
The arithmetic control circuit includes:
The first and second memory addresses are simultaneously read from the first and second memory arrays by supplying the first and second memory addresses from the CPU to the first and second memory arrays via the address bus. A first process of inputting two data to the arithmetic control circuit;
It is configured to perform a predetermined calculation on the input first and second data and to perform a second process of outputting the calculation result to the CPU via the data bus.
A data processing apparatus.
前記メモリのデータは、前記第1データを構成するビット構成部分と、前記第2データを構成するビット構成部分とを含むことを特徴とする請求項1記載のデータ処理装置。   2. The data processing apparatus according to claim 1, wherein the data of the memory includes a bit configuration part constituting the first data and a bit configuration part constituting the second data. 前記データ処理装置に割り当てられるデータアドレスは、さらに制御データを示すビット構成部分を含み、前記制御データは、前記演算制御回路によってなされる演算の種類を指定する演算指定データを示すビット構成部分を含み、前記演算制御回路による前記第2の処理は、前記制御データに含まれる前記演算指定データに基づいて前記第1、第2データに対して所定の演算を行い該演算結果を前記データバスを介して前記CPUに出力するものであることを特徴とする請求項1記載のデータ処理装置。   The data address assigned to the data processing device further includes a bit component indicating control data, and the control data includes a bit component indicating operation specifying data specifying the type of operation performed by the operation control circuit. In the second process by the arithmetic control circuit, a predetermined calculation is performed on the first and second data based on the calculation designation data included in the control data, and the calculation result is transmitted via the data bus. 2. The data processing apparatus according to claim 1, wherein the data processing apparatus outputs the data to the CPU. 前記データ処理装置に割り当てられるデータアドレスは、さらに制御データを示すビット構成部分を含み、前記制御データは、前記第1、第2メモリアレイを選択するためのチップセレクトデータを含むことを特徴とする請求項1記載のデータ処理装置。   The data address assigned to the data processing device further includes a bit configuration portion indicating control data, and the control data includes chip select data for selecting the first and second memory arrays. The data processing apparatus according to claim 1. 前記第1、第2メモリアレイと前記演算制御回路との間における前記第1、第2データの転送は前記データバスとは独立した内部接続線を介してなされるように構成されていることを特徴とする請求項1記載のデータ処理装置。   The first and second data are transferred between the first and second memory arrays and the arithmetic control circuit via an internal connection line independent of the data bus. The data processing apparatus according to claim 1, wherein: 前記メモリは、前記第1、第2メモリアレイに加えて通常メモリ部をさらに有し、前記データ処理装置に割り当てられるデータアドレスは、さらに制御データを示すビット構成部分を含み、前記制御データは、前記第1、第2メモリアレイと前記通常メモリ部を選択するためのチップセレクトデータと、前記演算制御回路によって前記第1、第2データに対する演算を実行するか、前記演算制御回路の演算を非実行とするかを指定する演算制御回路制御データとを含むことを特徴とする請求項1記載のデータ処理装置。   The memory further includes a normal memory unit in addition to the first and second memory arrays, and a data address assigned to the data processing device further includes a bit configuration part indicating control data, The chip control data for selecting the first and second memory arrays and the normal memory unit and the arithmetic control circuit execute the arithmetic operation on the first and second data, or the arithmetic control circuit does not execute the arithmetic operation. 2. The data processing apparatus according to claim 1, further comprising arithmetic control circuit control data for designating whether to execute. 前記メモリと前記演算制御回路とは単一の半導体チップ上に設けられていることを特徴とすることを特徴とする請求項1記載のデータ処理装置。   2. The data processing apparatus according to claim 1, wherein the memory and the arithmetic control circuit are provided on a single semiconductor chip. 前記第1メモリアレイのアドレスデータのビット幅と、第2メモリアレイのアドレスデータのビット幅とが互いに等しいことを特徴とする請求項1記載のデータ処理装置。   2. The data processing apparatus according to claim 1, wherein the bit width of the address data in the first memory array is equal to the bit width of the address data in the second memory array. 前記第1メモリアレイのデータのビット幅と、第2メモリアレイのデータのビット幅とが互いに等しいことを特徴とする請求項1記載のデータ処理装置。   2. The data processing apparatus according to claim 1, wherein a bit width of data in the first memory array and a bit width of data in the second memory array are equal to each other. メモリと、論理演算を行う演算制御回路とを有し、これらメモリおよび演算制御回路はアドレスバスとデータバスを介してCPUに接続されたデータ処理装置であって、
前記データ処理装置に割り当てられるデータアドレスは、第1メモリアドレスを示すビット構成部分と、第2メモリアドレスを示すビット構成部分とを含んで構成され、
前記メモリは、単一のメモリアレイで構成され、
前記メモリアレイから供給されるデータを前記第1メモリアドレスが割り当てられる第1ビット構成部分と前記第2のメモリアドレスが割り当てられる第2ビット構成部分とに分割するとともに、前記第1ビット構成部分から構成される第1データと、前記第2ビット構成部分から構成される第2データとを前記演算制御回路に供給し、かつ、前記第1、第2ビット構成部分のビット幅をビット幅選択信号に基づいて設定するビット構成選択回路を設け、
前記演算制御回路は、
前記CPUから前記アドレスバスを介して前記第1、第2メモリアドレスが前記メモリアレイに供給されることによって前記ビット構成選択回路から同時に供給される第1、第2データを該演算制御回路に入力する第1の処理と、
前記入力した第1、第2データに対して所定の演算を行い該演算結果を前記データバスを介して前記CPUに出力する第2の処理とを行うように構成されている、
ことを特徴とするデータ処理装置。
A memory and an arithmetic control circuit for performing a logical operation, the memory and the arithmetic control circuit being a data processing device connected to the CPU via an address bus and a data bus;
The data address assigned to the data processing device includes a bit component indicating a first memory address and a bit component indicating a second memory address.
The memory is composed of a single memory array;
The data supplied from the memory array is divided into a first bit constituent part to which the first memory address is assigned and a second bit constituent part to which the second memory address is assigned, and from the first bit constituent part The first data configured and the second data configured from the second bit component are supplied to the arithmetic control circuit, and the bit width of the first and second bit components is set to a bit width selection signal. A bit configuration selection circuit to set based on
The arithmetic control circuit includes:
When the first and second memory addresses are supplied from the CPU to the memory array via the address bus, the first and second data supplied simultaneously from the bit configuration selection circuit are input to the arithmetic control circuit. A first process to
It is configured to perform a predetermined calculation on the input first and second data and to perform a second process of outputting the calculation result to the CPU via the data bus.
A data processing apparatus.
前記データ処理装置に割り当てられるデータアドレスは、さらに制御データを示すビット構成部分を含み、前記制御データは、前記演算制御回路によってなされる演算の種類を指定する演算指定データを示すビット構成部分を含み、前記演算制御回路による前記第2の処理は、前記制御データに含まれる前記演算指定データに基づいて前記第1、第2データに対して所定の演算を行い該演算結果を前記データバスを介して前記CPUに出力するものであることを特徴とする請求項10記載のデータ処理装置。   The data address assigned to the data processing device further includes a bit component indicating control data, and the control data includes a bit component indicating operation specifying data specifying the type of operation performed by the operation control circuit. In the second process by the arithmetic control circuit, a predetermined calculation is performed on the first and second data based on the calculation designation data included in the control data, and the calculation result is transmitted via the data bus. 11. The data processing apparatus according to claim 10, wherein the data processing apparatus outputs the data to the CPU. 前記メモリアレイと前記演算制御回路との間における前記第1、第2データの転送は前記データバスとは独立した内部接続線を介してなされるように構成されていることを特徴とする請求項10記載のデータ処理装置。   The transfer of the first and second data between the memory array and the arithmetic control circuit is performed via an internal connection line independent of the data bus. 10. A data processing apparatus according to 10. 前記メモリは、前記メモリアレイに加えて通常メモリ部をさらに有し、前記データ処理装置に割り当てられるデータアドレスは、さらに制御データを示すビット構成部分を含み、前記制御データは、前記メモリアレイと前記通常メモリ部を選択するためのチップセレクトデータと、前記演算制御回路によって前記第1、第2データに対する演算を実行するか、前記演算制御回路の演算を非実行とするかを指定する演算制御回路制御データとを含むことを特徴とする請求項10記載のデータ処理装置。   The memory further includes a normal memory unit in addition to the memory array, and a data address assigned to the data processing device further includes a bit configuration part indicating control data, and the control data includes the memory array and the memory array. A chip select data for selecting a normal memory unit, and an arithmetic control circuit for designating whether the arithmetic control circuit performs the arithmetic operation on the first and second data or does not execute the arithmetic operation of the arithmetic control circuit The data processing apparatus according to claim 10, further comprising control data. 前記メモリと前記演算制御回路と前記ビット構成選択回路は単一の半導体チップ上に設けられていることを特徴とすることを特徴とする請求項10記載のデータ処理装置。   11. The data processing apparatus according to claim 10, wherein the memory, the arithmetic control circuit, and the bit configuration selection circuit are provided on a single semiconductor chip. 前記CPUによってレジスタ値が設定されるビット選択制御レジスタが設けられ、前記ビット幅選択信号は前記ビット選択制御レジスタの出力信号をデコードすることによって生成されることを特徴とする請求項10記載のデータ処理装置。
11. The data according to claim 10, wherein a bit selection control register in which a register value is set by the CPU is provided, and the bit width selection signal is generated by decoding an output signal of the bit selection control register. Processing equipment.
JP2004219911A 2004-04-07 2004-07-28 Data processor Pending JP2005322198A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004219911A JP2005322198A (en) 2004-04-07 2004-07-28 Data processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004113096 2004-04-07
JP2004219911A JP2005322198A (en) 2004-04-07 2004-07-28 Data processor

Publications (1)

Publication Number Publication Date
JP2005322198A true JP2005322198A (en) 2005-11-17

Family

ID=35469418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004219911A Pending JP2005322198A (en) 2004-04-07 2004-07-28 Data processor

Country Status (1)

Country Link
JP (1) JP2005322198A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022539486A (en) * 2019-05-02 2022-09-12 シリコン ストーリッジ テクノロージー インコーポレイテッド Configurable Input and Output Blocks and Physical Layouts for Analog Neural Memories in Deep Learning Artificial Neural Networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022539486A (en) * 2019-05-02 2022-09-12 シリコン ストーリッジ テクノロージー インコーポレイテッド Configurable Input and Output Blocks and Physical Layouts for Analog Neural Memories in Deep Learning Artificial Neural Networks
JP7308290B2 (en) 2019-05-02 2023-07-13 シリコン ストーリッジ テクノロージー インコーポレイテッド Configurable Input and Output Blocks and Physical Layouts for Analog Neural Memories in Deep Learning Artificial Neural Networks

Similar Documents

Publication Publication Date Title
US6539467B1 (en) Microprocessor with non-aligned memory access
US6816961B2 (en) Processing architecture having field swapping capability
KR100227277B1 (en) Computer methods for writing a sclar value to a vector
KR20000076310A (en) Eight-bit microcontroller having a risc architecture
KR20140131284A (en) Streaming memory transpose operations
JP2006018453A (en) Semiconductor device
JP3971535B2 (en) SIMD type processor
US5307300A (en) High speed processing unit
KR100765567B1 (en) Data processor with an arithmetic logic unit and a stack
JP3727395B2 (en) Microcomputer
JP2005322198A (en) Data processor
EP1088266B1 (en) Parallel data processing
JP3841820B2 (en) Microcomputer
JP2005182538A (en) Data transfer device
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
JP4408113B2 (en) Signal processing method
JP4482356B2 (en) Image processing method and image processing apparatus using SIMD processor
US6405301B1 (en) Parallel data processing
KR20010072490A (en) Data processor comprising a register stack
US20230409323A1 (en) Signal processing apparatus and non-transitory computer-readable storage medium
JP2011118744A (en) Information processor
JP4413905B2 (en) SIMD type processor
US20050114626A1 (en) Very long instruction word architecture
JP2011134042A (en) Simd type microprocessor and data alignment method of the same
JP3733137B2 (en) Microcomputer