JPH01255923A - Data processor - Google Patents

Data processor

Info

Publication number
JPH01255923A
JPH01255923A JP63083091A JP8309188A JPH01255923A JP H01255923 A JPH01255923 A JP H01255923A JP 63083091 A JP63083091 A JP 63083091A JP 8309188 A JP8309188 A JP 8309188A JP H01255923 A JPH01255923 A JP H01255923A
Authority
JP
Japan
Prior art keywords
arithmetic
circuit
data
register
calculation
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.)
Granted
Application number
JP63083091A
Other languages
Japanese (ja)
Other versions
JP2650193B2 (en
Inventor
Seiichi Kamon
清一 加門
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63083091A priority Critical patent/JP2650193B2/en
Publication of JPH01255923A publication Critical patent/JPH01255923A/en
Application granted granted Critical
Publication of JP2650193B2 publication Critical patent/JP2650193B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To improve the arithmetic speed of a data processor by executing respective types of arithmetic operations directly by a data transferring device (DMAC) with use of an arithmetic means without using the control program of a central processing unit (CPU). CONSTITUTION:A CPU 1 sets the address information, etc., of the arithmetic data in a memory 3 to the register of a direct data transferring device (DMAC) 2. The DMAC 2 executes the succeeding arithmetic operation with an arithmetic means 5. The means 5 executes respective types of arithmetic inputted from a bus circuit 4. The result is outputted to an arithmetic result selecting means 6, only the result of the special arithmetic type is selected and held to an accumulating means 7 at the time of inputting a chip selecting signal. It is outputted to the bus circuit 4, fed back to the means 5 and the above-mentioned arithmetic operation is executed. Thus, the arithmetic speed of the data processor can be improved.

Description

【発明の詳細な説明】 〔概 要〕 メモリ上のデータの調査やメモリ上のデータの演算を高
速に実行することができるデータ処理装置に関し、 メモリ内のデータが大量でもその処理速度を向上させる
ことを目的とし、 少なくとも中央処理装置、直接データ転送装置、記憶装
置、並びにこれらを相互に連絡するバス回路を備えるデ
ータ処理装置において、データの各種演算を実行する演
算手段と、前記演算手段において演算された結果の内か
ら特定の演算種の結果のみ7を選択する演算結果選択手
段と、前記選択手段において選択された演算結果を、チ
ップセレクト信号の入力時に蓄積し、これを前記バス回
路に戻すと共に前記演算手段にフィードハックするよう
に動作する蓄積手段とを設けて構成する。
[Detailed Description of the Invention] [Summary] This invention relates to a data processing device that can investigate data in memory and perform operations on data in memory at high speed, and improves processing speed even when a large amount of data is in memory. In a data processing device that includes at least a central processing unit, a direct data transfer device, a storage device, and a bus circuit that interconnects these, a calculation means for performing various operations on data, and an operation method in the calculation means are provided. an operation result selection means for selecting only the results of a specific operation type from among the results obtained, and the operation results selected by the selection means are accumulated when a chip select signal is input, and are returned to the bus circuit. In addition, storage means that operates to feed-hack to the calculation means are provided.

〔産業上の利用分野〕[Industrial application field]

本発明はデータ処理装置に関し、特に、マイクロプロセ
ッサ、DMA制御装置、メモリを備え、メモリ上のデー
タの調査やメモリ上のデータの演算を高速に実行するこ
とができるデータ処理装置に関する。
The present invention relates to a data processing device, and more particularly to a data processing device that includes a microprocessor, a DMA control device, and a memory, and is capable of examining data on the memory and performing operations on the data on the memory at high speed.

近年、表現形式の多様化、例えば、文字サイズ、文字間
ピッチ、文字種、字形の多様化や外国語やグラフ、イメ
ージ処理、フオームオーバレイ等、に伴い、ビットマツ
プメモリに対する需要が多い。
In recent years, with the diversification of expression formats, such as character sizes, character pitches, character types, character shapes, foreign languages, graphs, image processing, form overlays, etc., there is a great demand for bitmap memories.

このビットマツプメモリには大量のメモリが使用されて
おり、より詳細に表現したいという需要に対しては更に
多くのメモリを使用しなければならない。そして、この
大量のメモリ内のデータを処理するための、データ処理
速度の向上が望まれている。
A large amount of memory is used for this bitmap memory, and even more memory must be used to meet the demand for more detailed representation. There is a desire to improve data processing speed in order to process this large amount of data in memory.

〔従来の技術〕[Conventional technology]

第5図は従来のデータ処理装置の構成を示すものである
FIG. 5 shows the configuration of a conventional data processing device.

図において、1は作業用レジスタWRとインデックスレ
ジスタIXとを備えた中央処理装置(以後CPUという
)、3八は制御プログラムが格納されたランダムアクセ
スメモリ (以後RAMという)、3Bはデータ用RA
M、4はそれぞれ前述の装置を相互に結合するバス回路
を示している。そして、一般にデータ処理装置には以上
のような構成に加えて、データ等を表示する表示器20
がD/A変換器21と増幅回路22を介してバス回路4
に接続され、プリンタ30がI/F回路31を介してバ
ス回路4に接続されている。なお、プリンタ30とI/
F回路31との間はセントロニクスインタフェース等で
接続されている。また、制御プログラム用RAM3Aと
データ用RAM3Bとは同一のRAM3で内部の領域が
分けられている場合もある。
In the figure, 1 is a central processing unit (hereinafter referred to as CPU) equipped with a work register WR and an index register IX, 38 is a random access memory (hereinafter referred to as RAM) in which a control program is stored, and 3B is a data RA.
M and 4 each indicate a bus circuit that interconnects the aforementioned devices. In addition to the above configuration, a data processing device generally includes a display 20 for displaying data, etc.
is connected to the bus circuit 4 via the D/A converter 21 and the amplifier circuit 22.
A printer 30 is connected to the bus circuit 4 via an I/F circuit 31. Note that the printer 30 and I/
It is connected to the F circuit 31 via a Centronics interface or the like. Further, the control program RAM 3A and the data RAM 3B may be the same RAM 3 but have separate internal areas.

以上のように構成されたデータ処理装置において、デー
タ用RA M3B内の一領域または全領域のデータを順
次演算し、結果を求める場合について説明する。このよ
うな演算は装置の電源投入後のRAMの機能確認動作や
、プリンタを用いて印刷を行う時のデータの有無の確認
などに使用される。
In the data processing apparatus configured as described above, a case will be described in which data in one area or all areas in the data RAM 3B is sequentially operated to obtain a result. Such calculations are used to check the functionality of the RAM after the device is powered on, and to check the presence or absence of data when printing using a printer.

ここでは、例えば、100番地から109番地までのデ
ータを順次OR演算(論理和演算)し、その結果を求め
る処理について第6図のフローチャートを用いて説明す
る。
Here, for example, a process of sequentially ORing data from address 100 to address 109 and obtaining the result will be explained using the flowchart of FIG.

まず、ステップ601においてCPUI内の作業用レジ
スタWRに“0”を入れ、内容をクリアする。
First, in step 601, "0" is put into the work register WR in the CPUI to clear the contents.

続いてステップ602においてCPUIのインデックス
レジスタIXに演算開始番地100を入れる。そして、
ステップ603に進み、インデックスレジスタ■×の指
す番地のデータと作業用レジスタWRの内容との間にO
R演算を施し、その結果を作業用レジスタWRに入れる
。この場合、100番地のデータが“1”であれば、作
業用レジスタWRには“1″が入ることになる。ステッ
プ604ではインデックスレジスタIXの番地を1番地
更新する。ステップ605ではインデックスレジスタI
Xの番地が最終番地110になったか否かを判定し、I
X≠110のとき(NO)はステップ603に戻ってO
R演算とインデックスレジスタIXの番地の更新を行い
、IX=110になったらこのルーチンを終了する。
Subsequently, in step 602, the calculation start address 100 is entered into the index register IX of the CPUI. and,
Proceeding to step 603, there is an O between the data at the address pointed to by the index register
Performs the R operation and stores the result in the working register WR. In this case, if the data at address 100 is "1", "1" will be stored in the work register WR. In step 604, the address of index register IX is updated to 1 address. In step 605, index register I
Determine whether the address of X has reached the final address 110, and
If X≠110 (NO), return to step 603 and select O.
The R operation and the address of the index register IX are updated, and when IX=110, this routine ends.

以上説明した処理において、ステップ603からステッ
プ605までの処理の繰り返し部分を、例えば、モトロ
ーラ社のM6800マイクロプロセッサ用の命令でコー
ディングしてみると次のようになる。
In the process described above, if the repeated part of the process from step 603 to step 605 is coded using instructions for Motorola's M6800 microprocessor, the result will be as follows.

ラベル  命令  オペランド サイクル数LI   
 0RAA   O,X      5INX    
        4 CPX     DI       5BNE    
 Ll       4サイクル数合計18 このように、従来のデータ処理装置では1バイト処理す
る毎に18バスサイクル必要なことがわかる。
Label Instruction Operand Cycle count LI
0RAA O,X 5INX
4 CPX DI 5BNE
Ll Total number of 4 cycles 18 As described above, it can be seen that the conventional data processing device requires 18 bus cycles every time one byte is processed.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

ところが、前述のバスサイクルの内、演算用デ−夕を読
み出すための1サイクルは必須のものであるが、他の1
7サイクルはプログラム動作故に必要なものであり、C
PUIは常に制御プログラム用RAM2から制御プログ
ラムを1つ1つ読み出しながら動いているために、デー
タの流れは制御プログラムがバス回路5を流れている間
だけ遅くなるという課題がある。
However, among the bus cycles mentioned above, one cycle for reading calculation data is essential, but the other one is essential.
The 7 cycles are necessary for program operation, and C
Since the PUI always operates while reading control programs one by one from the control program RAM 2, there is a problem that the flow of data is slowed down only while the control program is flowing through the bus circuit 5.

このため、利用者がより近く係わる装置、例えば端末装
置やパーソナル機器では、近く係わらない装置、例えば
コンピュータセンター内の大型コンピュータや通信制御
機器等に対して、利用者を長時間待たせることがあって
はならないことが原則であるのに、結果として利用者を
待たせることになるという課題がある。
For this reason, users may be forced to wait for long periods of time for devices that users are closely involved with, such as terminal devices or personal devices, for devices that are not closely related to them, such as large computers or communication control equipment in a computer center. Although the general rule is that users should not wait, the problem is that they end up making users wait.

例えば、電源投入から使用可能になるまでの時間につい
て見ると、従来のデータ処理装置では一般に、電源投入
直後にRAMの機能を確認するために全領域に対しであ
る値を書いてそれを順次読み出し、間違っていないかど
うかチエツクすることが行われている。このチエツクは
確認精度向上のため、値を変えて数回繰り返される。そ
の結果、IMバイト以上のRAMを実装した装置では、
利用者は電源投入後に使用可能状態になるまで10秒以
上待たされることもある。
For example, looking at the time from power-on until it becomes usable, conventional data processing devices generally write certain values in all areas and read them out sequentially to check the functionality of the RAM immediately after power-on. , a check is being made to see if there are any errors. This check is repeated several times with different values to improve confirmation accuracy. As a result, in devices equipped with RAM of IM bytes or more,
Users may have to wait more than 10 seconds after turning on the power until the device is ready for use.

また、プリンタを用いて印刷を行う時には、ビットマツ
プメモリ上に文字、グラフ、イメージ及びフオームオー
バレイの各データを順次重ね書きする必要があり、この
際にビットマツプメモリにOR演算後のデータが書き込
まれる。その後ビットマツプメモリを行単位に区切り、
それを印刷データとして改行オーダを追加して印刷機構
制御部に送る。しかし、ある行において印刷データが全
く無い場合には、転送時間及び印字ヘッドを左右方向に
移動させる時間を節約し、用紙を1行分改行させるコマ
ンドのみを送るという手法が用いられており、この手法
を実現するためには、用紙が改行送りされる短い時間以
内にビットマツプメモリ上の1行分の領域を調べ、印刷
データが無いことを確認しなければならず、従来の装置
ではこの確認時間が長いという課題があった。
Furthermore, when printing using a printer, it is necessary to sequentially overwrite character, graph, image, and form overlay data on the bitmap memory, and at this time, the data after the OR operation is written to the bitmap memory. It will be done. After that, divide the bitmap memory into rows,
It adds a line feed order to the print data and sends it to the printing mechanism control section. However, when there is no print data at all on a certain line, a method is used that saves transfer time and time to move the print head left and right, and sends only a command to break the paper by one line. In order to realize this method, it is necessary to check the area for one line on the bitmap memory within a short time when the paper is fed a new line, and to confirm that there is no print data. The problem was that it took a long time.

本発明の目的は前記従来のデータ処理装置の有する課題
を解消し、大量のメモリ内のデータを処理してもデータ
処理速度を向上させることができるデータ処理装置を提
供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a data processing apparatus that solves the problems of the conventional data processing apparatus and can improve data processing speed even when processing a large amount of data in a memory.

〔課題を解決するための手段〕[Means to solve the problem]

前記目的を達成する本発明のデータ処理装置の原理図が
第1図に示される。
A principle diagram of a data processing apparatus of the present invention that achieves the above object is shown in FIG.

図において、■は中央処理装置(CPU) 、2は直接
データ転送装置(以後DMACという)、3は記憶装置
、4はこれらを相互に連絡するバス回路であり、これら
はデータ処理装置に基本的に備えられている。5は演算
手段であり、入力データの各種演算を実行する。6は演
算結果選択手段であり、前記演算手段5において演算さ
れた結果の内から特定の演算種の結果のみを選択する。
In the figure, ■ is a central processing unit (CPU), 2 is a direct data transfer device (hereinafter referred to as DMAC), 3 is a storage device, and 4 is a bus circuit that interconnects these devices. It is prepared for. 5 is a calculation means, which executes various calculations on input data. Reference numeral 6 denotes a calculation result selection means, which selects only the results of a specific type of calculation from among the results calculated by the calculation means 5.

また、7は蓄積手段であり、前記選択手段6において選
択された演算結果を、チップセレクト信号の入力時に蓄
積し、これを前記バス回路4に戻すように動作すると共
に前記演算手段5にフィードバックする。
Further, reference numeral 7 denotes an accumulation means, which operates to accumulate the calculation result selected by the selection means 6 when the chip select signal is input, and returns it to the bus circuit 4, and also feeds it back to the calculation means 5. .

〔作 用〕[For production]

本発明のデータ処理装置では、演算処理時にDMACの
レジスタにデータ用RAM内の演算データのアドレス情
報等がCPUによってセットされ、以後はCPUの制御
プログラムを介さずにDMACにより独立した演算回路
を使用して/f5算が実行される。
In the data processing device of the present invention, during arithmetic processing, the address information of the arithmetic data in the data RAM is set in the register of the DMAC by the CPU, and from then on, an independent arithmetic circuit is used by the DMAC without going through the control program of the CPU. Then, the /f5 calculation is executed.

〔実施例〕〔Example〕

第2図は本発明のデータ処理装置の一実施例の構成を示
すものであり、従来のデータ処理装置と同じ構成要素に
ついては同じ符号を付しである。
FIG. 2 shows the configuration of an embodiment of the data processing apparatus of the present invention, and the same components as those of the conventional data processing apparatus are given the same reference numerals.

バス回路4には従来装置と同様に、CPUI、制御プロ
グラム用RAM3A、データ用RAM3B、等が接続す
ると共に、D/A変換器21と増幅回路22を介して表
示器20、I/F回路31を介してプリンタ30が接続
されている。また、プリンタ30と■/F回路31との
間がセントロニクスインタフェース等で接続されている
ことも同様である。
Similar to the conventional device, the bus circuit 4 is connected to the CPUI, RAM 3A for control programs, RAM 3B for data, etc., as well as a display 20 and an I/F circuit 31 via a D/A converter 21 and an amplifier circuit 22. A printer 30 is connected via. Similarly, the printer 30 and the /F circuit 31 are connected via a Centronics interface or the like.

以上のような構成を備えるデータ処理装置において、こ
の実施例ではDMAC2を追加し、そのレジスタを、コ
マンドレジスタCR1転送先の開始アドレスレジスタB
R,転送元のデータ長レジスタDL及び転送元のアドレ
スレジスタARとして使用する。コマンドレジスタCR
は転送開始を指示したり異常時の中断をしたりする用途
に使用され、転送先の開始アドレスレジスタBl?には
蓄積用レジスタ70の書込用I10ボートアトLスを設
定し、転送元のデータ長レジスタDLには演算対象領域
のバイト数を設定し、転送元のアドレスレジスタARに
は演算対象領域の先頭アドレスを設定する。
In the data processing device having the above configuration, in this embodiment, DMAC2 is added, and its register is used as the start address register B of the transfer destination of the command register CR1.
R is used as the transfer source data length register DL and the transfer source address register AR. Command register CR
is used to instruct the start of transfer or interrupt in case of abnormality, and is used to indicate the start address register Bl? of the transfer destination. Set the write I10 port L of the storage register 70, set the number of bytes of the operation target area in the transfer source data length register DL, and set the number of bytes of the operation target area in the transfer source address register AR. Set address.

本発明ではバス回路4に接続させて演算回路50を設け
、バス回路4から入力されるデータの各種演算、例えば
この実施例では論理積(AND)演算、論理和(OR)
演算、排他的論理和(EOR)演算、及び比較(COM
PARE)演算、を実行させ、この演算回路50の演算
結果は選択回路60に出力して保持させる。92はバス
回路4に接続する設定値を変更できる比較用レジスタで
あり、演算回路50が比較演算を実行する時の比較基準
値を演算回路50に入力するものである。なお、この実
施例ではバス回路4に比較用レジスタ92を設けて演算
回路50に比較演算を高速で実行させているが、演算速
度が遅くても良ければこの比較用レジスタ92はなくて
も演算回路50は比較演算を実行することはできる。
In the present invention, an arithmetic circuit 50 is provided connected to the bus circuit 4, and performs various operations on data input from the bus circuit 4, such as logical product (AND) operation and logical sum (OR) in this embodiment.
operations, exclusive OR (EOR) operations, and comparisons (COM
PARE) calculation is executed, and the calculation result of the calculation circuit 50 is output to the selection circuit 60 and held therein. A comparison register 92 is connected to the bus circuit 4 and is used to input a comparison reference value to the arithmetic circuit 50 when the arithmetic circuit 50 executes a comparison operation. In this embodiment, a comparison register 92 is provided in the bus circuit 4 to allow the arithmetic circuit 50 to execute comparison operations at high speed. Circuit 50 is capable of performing comparison operations.

90は入力がバス回路4に接続し、出力が選択回路60
に接続する選択用レジスタであり、この選択用レジスタ
90は選択回路60に対して前述の4つの演算種の演算
結果の内の1つを選択して出力させる。例えば、選択回
路60は、選択用レジスタ90から入力される信号が“
00”の場合は論理積演算の結果を出力し、“01″の
場合は論理和演算の結果を出力し、“10”の場合は排
他的論理和演算の結果を出力し、“11”の場合は比較
演算の結果を出力する。
90 has an input connected to the bus circuit 4 and an output connected to the selection circuit 60
This selection register 90 causes the selection circuit 60 to select and output one of the calculation results of the four types of calculations described above. For example, the selection circuit 60 receives a signal input from the selection register 90 as “
00", outputs the result of the AND operation, "01", outputs the result of the OR operation, "10", outputs the result of the exclusive OR operation, and "11". If so, output the result of the comparison operation.

選択回路60から出力された演算結果は蓄積用レジスタ
70に入力し、ここで−旦保持する。蓄積用レジスタ7
0に保持した演算結果は、バッファ93を通してバス回
路4に出力すると共に、フィードバック回路80を介し
て演算回路50に入力する。演算回路50はバス回路4
から入力されるデータと、このフィードバック回路80
を介して人力されるデータとを用いて前述の演算を実行
する。
The calculation result output from the selection circuit 60 is input to the storage register 70, where it is temporarily held. Accumulation register 7
The arithmetic result held at 0 is output to the bus circuit 4 through the buffer 93 and is also input to the arithmetic circuit 50 via the feedback circuit 80. The arithmetic circuit 50 is the bus circuit 4
The data input from and this feedback circuit 80
The above-mentioned calculations are performed using the data manually input through the .

91はチップセレクト信号作成回路であり、このチップ
セレクト信号作成回路91の出力は、それぞれ蓄積用レ
ジスタ70.選択用レジスタ90、比較用レジスタ92
及びバッファ93に入力する。そして、このチップセレ
クト信号作成回路91からのチップセレクト信号が入力
された時だけチップセレクト信号作成回路91に接続す
る素子が活性化して動作する。
91 is a chip select signal generating circuit, and the output of this chip select signal generating circuit 91 is sent to each storage register 70. Selection register 90, comparison register 92
and input to the buffer 93. Only when the chip select signal from the chip select signal generating circuit 91 is input, the elements connected to the chip select signal generating circuit 91 are activated and operated.

前述の演算回路50、選択用レジスタ90及び比較用レ
ジスタ92はそれぞれ異なる番地を有しており、これら
の番地を指定することによりデータ用RAM3Bからデ
ータが演算回路50、選択用レジスタ90及び比較用レ
ジスタ92に書き込まれるようになっている。また、演
算回路50はバス回路4から書き込まれてきたデータと
蓄積用レジスタ70からのデータとを演算するが、演算
開始時に蓄積用レジスタ70をクリアしたい場合は、蓄
積用レジスタ70に何が入っていようとも、演算回路5
0においてCPtJ 1からバス回路4を経由して入力
する“0″とANDをとらせてその結果を蓄積用レジス
タ70に書き込むようにする。
The aforementioned arithmetic circuit 50, selection register 90, and comparison register 92 have different addresses, and by specifying these addresses, data can be transferred from the data RAM 3B to the arithmetic circuit 50, selection register 90, and comparison register. The data is written to the register 92. Further, the arithmetic circuit 50 calculates the data written from the bus circuit 4 and the data from the storage register 70, but if you want to clear the storage register 70 at the start of calculation, what is stored in the storage register 70? Even if the calculation circuit 5
0, it is ANDed with "0" input from CPtJ 1 via the bus circuit 4, and the result is written into the storage register 70.

第4図は第2図の演算回路50の具体的な一例の構成を
示すものである。演算回路50は、AND回路51、O
R回路52、EOR回路53およびEOR回路54aと
OR回路54bの組み合わせからなる比較回路54とを
備えている。バス回路4からのデータは演算回路50内
で分岐してAND回路51、OR回路52、EOR回路
53およびEOR回路54aの一方の端子に入力し、F
OR回路54aの他方の端子には比較用レジスタ92か
らのデータを入力する。このEOR回路54aの出力は
OR回路54bの一方の端子に入力し、前述のAND回
路51、OR回路52、EOR回路53およびこのOR
回路54bの他方の端子には、蓄積用レジスタ70から
フィードバック回路80を介して得られたデータを入力
する。そして、AND回路51、OR回路52、EOR
回路53およびOR回路54bの出力は選択端子SEL
を備えたマルチプレクサMPXからなる選択回路60に
入力し、この選択端子SELを選択用レジスタ90に接
続する。
FIG. 4 shows the configuration of a specific example of the arithmetic circuit 50 shown in FIG. 2. In FIG. The arithmetic circuit 50 includes an AND circuit 51, O
It includes an R circuit 52, an EOR circuit 53, and a comparison circuit 54 consisting of a combination of an EOR circuit 54a and an OR circuit 54b. Data from the bus circuit 4 is branched within the arithmetic circuit 50 and input to one terminal of an AND circuit 51, an OR circuit 52, an EOR circuit 53, and an EOR circuit 54a, and
Data from the comparison register 92 is input to the other terminal of the OR circuit 54a. The output of this EOR circuit 54a is inputted to one terminal of an OR circuit 54b, and the above-mentioned AND circuit 51, OR circuit 52, EOR circuit 53 and this
Data obtained from the storage register 70 via the feedback circuit 80 is input to the other terminal of the circuit 54b. Then, an AND circuit 51, an OR circuit 52, an EOR
The output of the circuit 53 and the OR circuit 54b is the selection terminal SEL.
The selection terminal SEL is connected to a selection register 90.

演算回路50を以上のように構成すれば、前述の4つの
演算種の演算結果の内の一つを選択回路60で選択して
蓄積用レジスタ70に蓄積することができる。
By configuring the arithmetic circuit 50 as described above, one of the arithmetic results of the four types of arithmetic operations described above can be selected by the selection circuit 60 and stored in the storage register 70.

ここで、以上のように構成された本発明のデータ処理装
置の一実施例の動作を第3図のフローチャートを用いて
説明するが、ここでは、データ用RAM3Bの記憶領域
(1000) 、、番地から(IFFF)166番地つ
いて1バイト毎に順次OR演算する場合の処理手順につ
いて説明する。
Here, the operation of one embodiment of the data processing apparatus of the present invention configured as described above will be explained using the flowchart of FIG. The processing procedure for sequentially performing an OR operation for each byte of addresses from (IFFF) to (IFFF) 166 will be described.

ステップ301では蓄積用レジスタ70に初期値、例え
ば(00) 、、を設定する。具体的には、蓄積用レジ
スタ70の番地を示す(COOO) + b番地にバス
回路4から(00) 、、を書き込み、選択用レジスタ
90の番地を示す(Cool) r b番地に(00)
16を書き込めば、蓄積用レジスタ70に何が入ってい
ようとも、(00) 、6とOA N D fi算によ
り結果が(00) 、、になり、これが蓄積用レジスタ
70に書き込まれる。続くステップ302では選択用レ
ジスタ90に演算種を設定する。
In step 301, an initial value, for example (00), is set in the storage register 70. Specifically, (00) is written from the bus circuit 4 to the address (COOO) + b, which indicates the address of the storage register 70, and (00) is written to the address (Cool) r b, which indicates the address of the selection register 90.
If 16 is written, no matter what is stored in the storage register 70, the result will be (00), , by OAND fi calculation with (00), 6, and this will be written into the storage register 70. In the following step 302, an operation type is set in the selection register 90.

今回はOR演算を行わせるので、具体的には前述の(C
OOI) r h番地に(01) 1bを書き込む。
This time, we will perform an OR operation, so specifically, the above (C
OOI) r Write (01) 1b to address h.

そして、ステップ303からステップ306においてD
MAC2の各レジスタへの設定を行う。すなわち、ステ
ップ303にてDMAC2の転送元アドレスレジスタA
Rにデータ用RAM3Bの演算対象番地の先頭番地、具
体的には(1000) 、 6を設定し、ステップ30
4にてDMAC2の転送バイト数を示すデータ長レジス
タDLに演算対象番地のバイト数、例えば(1000)
 、6を設定する。更にステップ305ではDMAC2
の転送先アドレスレジスタBRに蓄積用レジスタ70の
書込用110ボートアドレス、例えば(COOO) +
 b番地を設定し、ステップ306ではCPUIからコ
マンドレジスタCRへの書込でDMAC2を起動する。
Then, from step 303 to step 306, D
Set each register of MAC2. That is, in step 303, the transfer source address register A of DMAC2 is
Set R to the start address of the operation target address in data RAM 3B, specifically (1000), 6, and proceed to step 30.
At step 4, the number of bytes at the address to be operated on is stored in the data length register DL indicating the number of bytes transferred by DMAC2, for example (1000).
, 6 are set. Furthermore, in step 305, DMAC2
110 boat address for writing in the storage register 70 in the transfer destination address register BR, for example (COOO) +
The address b is set, and in step 306, the DMAC 2 is activated by writing to the command register CR from the CPUI.

DMAC2が起動すると、ステップ307にてDMAC
2はデータRAM3Bの演算対象番地の先頭番地(10
00) 、 、、から1バイトのデータを読み出し、こ
れを演算回路50に送る。すると、演算回路50ではこ
のデータと蓄積用レジスタ70からのデータとの間でA
NDXOR,EOR及び比較の演算を実行し、演算結果
を選択回路60に送る。選択回路60には選択用レジス
タ90からのOR演算の指令が来ているので、ステップ
308にて選択回路60は演算回路50の演算結果の内
のOR演算の結果を選択してこれを蓄積用レジスタ70
に書き込む。
When DMAC2 starts up, in step 307 the DMAC
2 is the first address (10
00), , , and sends it to the arithmetic circuit 50. Then, the arithmetic circuit 50 calculates A between this data and the data from the storage register 70.
It executes NDXOR, EOR, and comparison operations, and sends the operation results to the selection circuit 60. Since the selection circuit 60 receives an OR operation command from the selection register 90, in step 308 the selection circuit 60 selects the result of the OR operation from among the results of the operation of the operation circuit 50 and stores it for storage. register 70
write to.

蓄積用レジスタ70に書き込まれた演算結果は、ステッ
プ309にてバッファを介してバス回路4に戻されると
共に、フィードバック回路80を経て演算回路50に入
力され、次の番地の演算に備える。
The calculation result written in the storage register 70 is returned to the bus circuit 4 via the buffer in step 309, and is also input to the calculation circuit 50 via the feedback circuit 80 in preparation for calculation at the next address.

ここまでの演算が終了すると、ステップ310にてDM
AC2の演算対象アドレスの番地が1番地だけ増やされ
、ステップ311でその番地が最終番地か否かが判定さ
れ、最終番地でない時はステップ307に戻って前述の
OR演算が繰り返される。
When the calculations so far are completed, in step 310, the DM
The address of the calculation target address of AC2 is incremented by one address, and it is determined in step 311 whether or not that address is the final address. If it is not the final address, the process returns to step 307 and the above-described OR calculation is repeated.

このOR演算はデータ長レジスタDLにあるバイト数回
だけ繰り返され、全ての演算が終了した時点でこのルー
チンは終了する。
This OR operation is repeated as many times as the number of bytes in the data length register DL, and the routine ends when all operations are completed.

このルーチンにおける演算結果は(COOO) + b
番地に格納されているので、この番地を読み出せば演算
結果が得られる。
The calculation result in this routine is (COOO) + b
Since it is stored at the address, the calculation result can be obtained by reading this address.

このように、本発明のデータ処理装置では、各種演算が
CPUIを介さずに、DMAC2により演算回路50で
行われるので、DMAC2のレジスタの設定時間を除け
ば、cpuiのプログラムを介する従来のデータ処理装
置に比べて演算速度は飛躍的に向上する。
In this way, in the data processing device of the present invention, various calculations are performed in the calculation circuit 50 by the DMAC2 without going through the CPUI. The calculation speed is dramatically improved compared to other devices.

前述の従来例における繰り返し部分く第6図のステップ
603〜605)のサイクル数は18であったが、この
実施例における繰り返し部分(第3図のステップ307
〜311)のサイクル数は1である。
The number of cycles in the repetitive part (steps 603 to 605 in FIG. 6) in the conventional example described above was 18, but the number of cycles in the repetitive part (step 307 in FIG. 3) in this embodiment was 18.
~311) The number of cycles is 1.

なお、第2図の演算回路50の演算種は前述の4種に限
定されるものではなく、また、演算種は常に4種類揃え
ておかなくても良いものである。
Note that the types of calculations of the calculation circuit 50 in FIG. 2 are not limited to the four types described above, and it is not necessary to always have four types of calculations.

更に、前述の蓄積レジスタ70のアドレスについては固
定番地ではなく、例えば可変とすることもできる。この
ように蓄積レジスタ70のアドレスを可変にすると、A
OOO番地をcooo番地に、八〇〇1番地を0001
番地にというように順次書込先をずらすことしかできな
いDMACに対して本発明を適用できる。また、アドレ
ス空間をビットマツプ空間に応用しても本質的には同一
である。
Further, the address of the storage register 70 described above is not a fixed address, but may be variable, for example. If the address of the storage register 70 is made variable in this way, A
OOO address to cooo address, 8001 address to 0001
The present invention can be applied to a DMAC that can only shift the write destination sequentially, such as by address. Furthermore, even if address space is applied to bitmap space, it is essentially the same.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明のデータ処理装置によれば
、各種演算がCPUの制御プログラムを介さずに、別に
設けた演算回路を利用してDMACにより行われるので
、演算速度が従来に比べて飛躍的に向上するという効果
がある。
As explained above, according to the data processing device of the present invention, various calculations are performed by the DMAC using a separately provided calculation circuit without going through the control program of the CPU, so the calculation speed is faster than in the past. It has the effect of improving dramatically.

この結果、本発明のデータ処理装置では電源立ち上げ時
の待ち時間が短くなり、データ印刷時等の無駄時間がな
くなるという利点がある。
As a result, the data processing apparatus of the present invention has the advantage that the waiting time at power-on is shortened, and there is no wasted time when printing data or the like.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明のデータ処理装置の原理ブロック図、第
2図は本発明のデータ処理装置の一実施例の構成を示す
図、第3図は第2図の装置の動作を示す説明図、第4図
は第2図の演算回路の詳細な構成を示すブロック図、第
5図は従来のデータ処理装置の構成を示す図、第6図は
第5図の装置の動作を示すフローチャートである。 1・・・中央処理装置(CP U)、 2・・・直接データ転送装置(D M A C)、3A
・・・制御プログラム用RAM、 3B・・・データ用RAM、4・・・バス回路、5・・
・演算手段、   6・・・演算結果選択手段、7・・
・蓄積手段、    8・・・フィードバック手段、5
0・・・演算回路、   60・・・選択回路、70・
・・蓄積用レジスタ、90・・・選択用レジスタ、92
・・・比較用レジスタ。     。 第1図 従来のデータ処理装置の構成図 第5図
FIG. 1 is a principle block diagram of the data processing device of the present invention, FIG. 2 is a diagram showing the configuration of an embodiment of the data processing device of the present invention, and FIG. 3 is an explanatory diagram showing the operation of the device of FIG. 2. , FIG. 4 is a block diagram showing the detailed configuration of the arithmetic circuit in FIG. 2, FIG. 5 is a diagram showing the configuration of a conventional data processing device, and FIG. 6 is a flowchart showing the operation of the device in FIG. be. 1...Central processing unit (CPU), 2...Direct data transfer device (DMAC), 3A
...RAM for control program, 3B...RAM for data, 4...Bus circuit, 5...
- Calculation means, 6... Calculation result selection means, 7...
・Accumulation means, 8... Feedback means, 5
0... Arithmetic circuit, 60... Selection circuit, 70...
...Storage register, 90...Selection register, 92
...Register for comparison. . Fig. 1 Configuration diagram of a conventional data processing device Fig. 5

Claims (1)

【特許請求の範囲】 1、少なくとも中央処理装置(1)、直接データ転送装
置(2)、記憶装置(3)、並びにこれらを相互に連絡
するバス回路(4)を備えるデータ処理装置において、 データの各種演算を実行する演算手段(5)と、前記演
算手段(5)において演算された結果の内から特定の演
算種の結果のみを選択する演算結果選択手段(6)と、 前記選択手段において選択された演算結果を、チップセ
レクト信号の入力時に蓄積し、これを前記バス回路(4
)に戻すと共に前記演算手段(5)にフィードバックす
るように動作する蓄積手段(7)と、を設けたことを特
徴とするデータ処理装置。 2、前記演算手段(5)が論理和演算、論理積演算、排
他的論理和演算、および比較演算の少なくとも一つの演
算種を備えている請求項1に記載のデータ処理装置。 3、前記演算手段(5)が少なくとも比較演算種を備え
ていると共に、この演算手段(5)の入力側に値を変更
可能な比較値格納手段(9)を設けた請求項1に記載の
データ処理装置。
[Claims] 1. A data processing device comprising at least a central processing unit (1), a direct data transfer device (2), a storage device (3), and a bus circuit (4) that interconnects these, comprising: calculation means (5) for performing various calculations; calculation result selection means (6) for selecting only the results of a specific type of calculation from among the results calculated by the calculation means (5); The selected calculation results are accumulated when the chip select signal is input, and are sent to the bus circuit (4).
) and an accumulating means (7) which operates to feed back data to the arithmetic means (5). 2. The data processing device according to claim 1, wherein the arithmetic means (5) is provided with at least one type of operation: a logical sum operation, a logical product operation, an exclusive logical sum operation, and a comparison operation. 3. The computer according to claim 1, wherein the calculation means (5) is provided with at least a type of comparison operation, and a comparison value storage means (9) whose value can be changed is provided on the input side of the calculation means (5). Data processing equipment.
JP63083091A 1988-04-06 1988-04-06 Data processing device Expired - Fee Related JP2650193B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63083091A JP2650193B2 (en) 1988-04-06 1988-04-06 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63083091A JP2650193B2 (en) 1988-04-06 1988-04-06 Data processing device

Publications (2)

Publication Number Publication Date
JPH01255923A true JPH01255923A (en) 1989-10-12
JP2650193B2 JP2650193B2 (en) 1997-09-03

Family

ID=13792510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63083091A Expired - Fee Related JP2650193B2 (en) 1988-04-06 1988-04-06 Data processing device

Country Status (1)

Country Link
JP (1) JP2650193B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170322895A1 (en) * 2016-05-09 2017-11-09 Nxp Usa, Inc. Dma controller with arithmetic unit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60195661A (en) * 1984-03-19 1985-10-04 Hitachi Ltd Data processing system
JPS61204758A (en) * 1985-03-08 1986-09-10 Hitachi Ltd Co-processor controlling system
JPS62288958A (en) * 1986-04-23 1987-12-15 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド Coprocessor architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60195661A (en) * 1984-03-19 1985-10-04 Hitachi Ltd Data processing system
JPS61204758A (en) * 1985-03-08 1986-09-10 Hitachi Ltd Co-processor controlling system
JPS62288958A (en) * 1986-04-23 1987-12-15 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド Coprocessor architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170322895A1 (en) * 2016-05-09 2017-11-09 Nxp Usa, Inc. Dma controller with arithmetic unit
US9965416B2 (en) * 2016-05-09 2018-05-08 Nxp Usa, Inc. DMA controller with arithmetic unit

Also Published As

Publication number Publication date
JP2650193B2 (en) 1997-09-03

Similar Documents

Publication Publication Date Title
JP3184834B2 (en) Microcontroller
US5870581A (en) Method and apparatus for performing concurrent write operations to a single-write-input register file and an accumulator register
US5187783A (en) Controller for direct memory access
JPH09330236A (en) Microprocessor and peripheral device for the same
JPH0378651B2 (en)
JP2000158724A (en) Image-processing apparatus, image processing method and recording medium
JPH01255923A (en) Data processor
JPS59114677A (en) Vector processor
JPH01188354A (en) Font cash control
JPH0821009B2 (en) CHANNEL CONTROLLER INITIALIZATION METHOD AND SYSTEM FOR THE INITIALIZATION
JP2520160B2 (en) Graphic processing LSI circuit
JPH0778103A (en) Shared access control device
JPS60205652A (en) Dma transfer system
JPH02136256A (en) Font mode setting system of data processing apparatus
JPH03220624A (en) Optimum control system for printer
JP2001325146A (en) Method for storing information table and storage structure
JPH01155461A (en) Data processor
JP2002278753A (en) Data processing system
JPH0354632A (en) Arithmetic instruction processor
JPH04280325A (en) Pipeline-type processor
JPH0318896A (en) Display device and code converter
JPH04111149A (en) Circuit system for dma device
JPH01168466A (en) Printer
JPH0282318A (en) Floating-point arithmetic unit
JP2001100957A (en) Printer and print engine control method

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees