JP2005322198A - Data processor - Google Patents
Data processor Download PDFInfo
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
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サイクルはメモリアクセスに要している。
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.
ところで、画像処理等では、多くの場合、演算の種類が比較的単純なものに限られているとともに、処理すべきデータ数が大量である。したがって、このような単純で大量の演算処理に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
The
The
The
図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
The
The bit structure of the data in the
演算制御回路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
The
The address supplied to the
図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
The bit configuration of the address data assigned to the
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
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
In this embodiment, the bit width (m bits) of the memory address Aa of the
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
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
さらに具体的な数値を用いて説明する。
実際に必要とされるアドレスデータのビット幅は、第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
In the present embodiment, as shown in FIG. 3, the data address (0X0000 to 0X3FFF) portion of the
Therefore, in this case, the chip enable decoding bit I is configured so that the normal memory and the first and
また本実施例では、演算機能指定用ビット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
The data write operation to the normal memory portion of the
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
For reading from the normal memory portion, as shown in FIG. 3, the
Further, the writing operation and the reading operation of the first and second data Da and Db with respect to the first and
次に、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
Assume that first and second data Da and Db are stored in advance in the first and
In the figure, CLK indicates an operation clock of the
First, a case where the instruction i0 is a LOAD instruction indicating that the address A01 of the
In this case, the
While the
Further, since the
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
以上説明したように本実施例によれば、演算制御回路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
Therefore, since the
More specifically, in this embodiment, the
In particular, when a simple and large amount of arithmetic processing such as image processing is performed by the
In this embodiment, the transfer of the first and second data Da and Db between the
次に実施例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
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
After that, pixel data subjected to mask processing is sequentially output by sequentially supplying addresses to the
なお、上述した各実施例では、データ処理回路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
In each embodiment, the image processing is exemplified as the arithmetic processing performed by the
In the present embodiment, the
次に実施例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
Therefore, in order to perform an operation with data having various bit configurations having different bit widths, it is necessary to provide a
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
The
The
The bit configuration selection circuit 56 divides the data of the bit width k supplied from the
Of the data stored in the
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
The
演算制御回路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
Similarly to the first embodiment, the
Similarly to the first embodiment, the address supplied to the
次に、図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
In this example, as shown in FIG. 9, the bit width k of the
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
The
The
As shown in FIG. 8, the output terminal of each
次に、選択制御回路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
As shown in FIG. 9, the
Therefore, in the case of the first setting, the
In the case of the second setting, the
Specifically, when the eight
次に、演算制御回路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
In this embodiment, twelve
Specifically, when twelve
上述のように、第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
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,
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
次に、データ処理装置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
The
First, the
Next, the
While the
Further, since the
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
実施例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
なお、実施例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
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
The arithmetic processing performed by the
The
1……CPU、4……データ処理装置、42……メモリ、42A……第1メモリアレイ、42B……第2メモリアレイ、44……演算制御回路、Da……第1データ、Db……第2データ、Aa……第1メモリアレイ42Aのアドレス、Ab……第2メモリアレイ42Bのアドレス、AB……アドレスバス、DB……データバス。
DESCRIPTION OF
Claims (15)
前記データ処理装置に割り当てられるデータアドレスは、第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メモリアドレスが割り当てられる第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.
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.
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)
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 |
-
2004
- 2004-07-28 JP JP2004219911A patent/JP2005322198A/en active Pending
Cited By (2)
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 |