JPH06131241A - Data processor - Google Patents

Data processor

Info

Publication number
JPH06131241A
JPH06131241A JP4279859A JP27985992A JPH06131241A JP H06131241 A JPH06131241 A JP H06131241A JP 4279859 A JP4279859 A JP 4279859A JP 27985992 A JP27985992 A JP 27985992A JP H06131241 A JPH06131241 A JP H06131241A
Authority
JP
Japan
Prior art keywords
address
storage space
cpu
peripheral devices
bus
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.)
Withdrawn
Application number
JP4279859A
Other languages
Japanese (ja)
Inventor
Takeshi Fuse
武司 布施
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 JP4279859A priority Critical patent/JPH06131241A/en
Publication of JPH06131241A publication Critical patent/JPH06131241A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

PURPOSE:To decrease the frequency of access by a CPU and shorten the processing time by accessing other specific predetermined addresses at the same time when a specific address is accessed. CONSTITUTION:The data processor which is equipped with a storage space 10 where addresses (a-d) are assigned, various peripheral devices 111-11n, and an address bus 13 and a data bus 14 connecting the storage space 10, peripheral devices 111-11n, and a CPU 12, and transfers 80 address signal generated by the CPU 12 t0 the storage space 10 and peripheral devices 111-11n through the address bus 13 and makes the CPU 12 access the storage space 10 or peripheral device whose assigned address matches the transferred address signal through the data bus 14, a duplication (e.g. (d) and (c)) of the addresses assigned to the storage space 10 and peripheral devices 111-11n is performed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、データ処理装置に関
し、特に、処理速度の向上を意図したデータ処理装置に
関する。一般に、プログラムを逐次に実行するノイマン
型のデータ処理装置は、プログラムステップ数が多くな
るほど処理速度が遅くなる欠点がある。このため、例え
ば、クロック周波数を高めることにより、処理サイクル
を短くする努力がなされているが、これにも限界があ
り、簡単な方法で処理速度を向上できる新規の技術が求
められている。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device, and more particularly to a data processing device intended to improve processing speed. Generally, a Neumann-type data processing device that sequentially executes a program has a drawback that the processing speed becomes slower as the number of program steps increases. Therefore, for example, efforts have been made to shorten the processing cycle by increasing the clock frequency, but there is a limit to this, and a new technique capable of improving the processing speed by a simple method is required.

【0002】[0002]

【従来の技術】図11は、従来のデータ処理装置の概略
ブロック図である。この図において、1はCPU(cent
ral processing unit)、2はメモリ、3はCPU1を
補助する周辺デバイス(ここでは便宜的に積和演算器と
する)、4はデータバス、5はアドレスバスである。
2. Description of the Related Art FIG. 11 is a schematic block diagram of a conventional data processing device. In this figure, 1 is CPU (cent
ral processing unit), 2 is a memory, 3 is a peripheral device that assists the CPU 1 (here, it is a product-sum calculator for convenience), 4 is a data bus, and 5 is an address bus.

【0003】メモリ2や積和演算器3には、固有のアド
レスが割り当てられており、例えば、メモリ2の割り当
てアドレスを「X」、積和演算器3の割り当てアドレス
を「Y」とすると、CPU1からアドレスバス5に転送
されるアドレス信号がXを示していれば、データバス4
を介して、CPU1からメモリ2がアクセスされ、ある
いは、同アドレス信号がYを示していれば、同じくCP
U1から積和演算器3がアクセスされる。
A unique address is assigned to the memory 2 and the product-sum calculation unit 3, and for example, if the assignment address of the memory 2 is "X" and the assignment address of the product-sum calculation unit 3 is "Y". If the address signal transferred from the CPU 1 to the address bus 5 indicates X, the data bus 4
If the memory 2 is accessed from the CPU 1 via the CPU or the address signal indicates Y, the CP
The product-sum calculator 3 is accessed from U1.

【0004】ここで、積和演算器3を含むデータ処理装
置の動作例として、n次(例えば4次)のFIRフィル
タ処理を説明する。このFIRフィルタ処理は、ディジ
タルフィルタと同一の機能をソフト的に実現するもの
で、その演算概念図を図12に示すように、今回のサン
プリング入力xi と係数h0 との積(xi ×h0 )を求
め、1回前のサンプリング入力x-1と係数h1 の積(x
-1×h1 )を求め、2回前のサンプリング入力x-2と係
数h2 の積(x-2×h2 )を求め、3回前のサンプリン
グ入力x-3と係数h3 の積(x-3×h3 )を求め、その
後、これらの各演算結果の総和yi (yi =xi ×h0
+x-1×h1 +x-2×h2 +x-3×h3 )を求めるもの
である。なお、Z-1はそれぞれ1サンプリング期間に相
当する遅延時間を有する遅延要素である。
Here, as an operation example of the data processing device including the product-sum calculation unit 3, n-th order (for example, fourth-order) FIR filter processing will be described. This FIR filter process realizes the same function as a digital filter by software, and as shown in the calculation conceptual diagram of FIG. 12, the product (x i × x) of the sampling input x i of this time and the coefficient h 0. h 0 ), and the product (x) of the previous sampling input x −1 and the coefficient h 1
−1 × h 1 ) and the product of the sampling input x −2 two times before and the coefficient h 2 (x −2 × h 2 ) is found, and the product of the sampling input x −3 three times before and the coefficient h 3 (X −3 × h 3 ), and then the sum y i (y i = x i × h 0 ) of these calculation results
+ X −1 × h 1 + x −2 × h 2 + x −3 × h 3 ). Z −1 is a delay element having a delay time corresponding to one sampling period.

【0005】入力xi 、x-1、x-2、x-3と係数h0
1 、h2 、h3 の数はここではそれぞれ4つであり、
この数はFIRフィルタの次数と同じである。メモリ2
には、これらの入力xi 、x-1、x-2、x-3と係数
0 、h1 、h2 、h3 を格納するための変数エリアが
確保されており、例えば、入力用に4つのアドレス
0 、X-1、X-2、X-3が、また、係数用に同じく4つ
のアドレスH0 、H1 、H2 、H3 が割り当てられてい
る。すなわち、アドレスH0 〜H3 にはFIRフィルタ
処理に必要な係数h0 〜h3 が格納され、また、アドレ
スX0 〜X-3のうちのX 0 には常に最新の入力x0 が格
納されると共に、このx0 がサンプリング周期(Z-1
遅延時間間隔)ごとに順次X0 →X-1→X-2→X-3へと
シフトするようになっている。
Input xi, X-1, X-2, X-3And coefficient h0,
h1, H2, H3The number of each is four here,
This number is the same as the order of the FIR filter. Memory 2
These inputs xi, X-1, X-2, X-3And coefficient
h0, H1, H2, H3Variable area for storing
Reserved, eg 4 addresses for input
X0, X-1, X-2, X-3But also 4 for coefficients
Address H0, H1, H2, H3Has been assigned
It That is, address H0~ H3FIR filter for
Coefficient h required for processing0~ H3Is stored and
Space X0~ X-3X out of 0Always has the latest input x0Is case
As it is paid, this x0Is the sampling period (Z-1of
Sequential X for each delay time interval)0→ X-1→ X-2→ X-3To
It is supposed to shift.

【0006】xi とh0 の積を求めるとき(図12の破
線で囲んだ範囲S0 参照)は、まず、CPU1からメモ
リ2のアドレスX0 をアクセスしてその内容(x0 )を
CPU1に読み込み、次いで、積和演算器3の被乗数レ
ジスタ3bに読み込んだ内容(x0 )を書き込む。次
に、メモリ2のアドレスH0 をアクセスしてその内容
(h0 )をCPU1に読み込み、次いで、積和演算器3
の乗数レジスタ3aに読み込んだ内容(h0 )を書き込
む。そして、CPU1から積和演算器3に起動をかけ、
被乗数レジスタ3bの内容(x0 )と乗数レジスタ3a
の内容(h0 )との乗算結果(x0 ×h0 )を得る。さ
らに、以上の処理を、x-1×h1 、x-2×h 2 及びx-3
×h3 で繰返した後、これらの総和yi を求めて、今回
の積和演算処理を完了し、その後、メモリ2の入力変数
の内容を1つずつシフトして次回の積和演算処理に備え
る。シフト動作は、アドレスX0 →X-1→X-2→X-3
順に内容を移し替えることによって行われる。
XiAnd h0When finding the product of
Area S surrounded by a line0First, note from CPU1
Address 2 of Re20To access its contents (x0)
It is read by the CPU 1 and then the multiplicand register of the product-sum calculator 3 is read.
Contents read into register 3b (x0) Write. Next
At address H of memory 20To access its contents
(H0) Is read into the CPU 1, and then the product-sum calculator 3
Contents read into the multiplier register 3a of0)
Mu. Then, the CPU 1 activates the product-sum calculation unit 3,
Contents of multiplicand register 3b (x0) And multiplier register 3a
Contents of (h0) And the multiplication result (x0× h0) Get. It
In addition, x-1× h1, X-2× h 2And x-3
× h3Sum of these after repeating atiSeeking this time
After completing the multiply-accumulate calculation process of
The contents of are shifted one by one to prepare for the next product-sum operation
It The shift operation is the address X0→ X-1→ X-2→ X-3of
This is done by transferring the contents in order.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、かかる
従来のデータ処理装置にあっては、メモリ2や周辺デバ
イス3(例えば積和演算器)に固有のアドレスを割り当
て、CPU1からのアドレス指定によってメモリ2や周
辺デバイス3を個別にアクセスするものであったため、
例えば、メモリ2内のデータ加工(例えば積和演算によ
る加工)と、メモリ内のデータ再配置(例えばシフト動
作)とを共に実行するような場合には、データ加工とシ
フト動作の双方でCPU1によるアクセスが必要とな
り、特に、高次のFIRフィルタのようにデータ加工と
シフト動作の回数が多くなる(次数に比例する)ものに
あっては、CPU1によるアクセス回数が大幅に増加す
るから、それだけ処理時間が長くなるといった問題点が
ある。 [目的]そこで、本発明は、特定のアドレスをアクセス
する場合には、あらかじめ定められた他の特定のアドレ
スを同時にアクセスできるようにすることにより、CP
Uによるアクセス回数を削減し、もって処理時間の短縮
化を図ることを目的とする。
However, in such a conventional data processing apparatus, a unique address is assigned to the memory 2 and the peripheral device 3 (for example, a product-sum calculation unit), and the memory 2 is designated by the CPU 1. And the peripheral device 3 are accessed individually,
For example, in the case where the data processing in the memory 2 (for example, processing by multiply-add operation) and the data rearrangement in the memory (for example, shift operation) are both executed, the CPU 1 performs both data processing and shift operation. Access is required, and particularly for a high-order FIR filter in which the number of data processing and shift operations is large (proportional to the order), the number of accesses by the CPU 1 is significantly increased. There is a problem that the time becomes long. [Purpose] Therefore, according to the present invention, when a specific address is accessed, it is possible to simultaneously access other predetermined specific addresses, and
It is an object of the present invention to reduce the number of times of access by U, thereby shortening the processing time.

【0008】[0008]

【課題を解決するための手段】本発明は、上記目的を達
成するためその原理図を図1に示すように、各々にアド
レス(ア〜エ)が割り当てられた記憶空間10及び各種
周辺デバイス111 〜11n と、前記記憶空間10及び
各種周辺デバイス111 〜11n とCPU12との間を
接続するアドレスバス13及びデータバス14とを備
え、CPU12で発生したアドレス信号を前記アドレス
バス13を介して記憶空間10及び各種周辺デバイス1
1 〜11n に転送し、割当アドレスが該転送アドレス
信号に一致する記憶空間10又は各種周辺デバイス11
1 〜11n を、前記データバス14を介してCPU12
からアクセスするデータ処理装置において、前記記憶空
間10及び各種周辺デバイス111 〜11n に割り当て
るアドレスの一部を重複(例えばエとウ)させたことを
特徴とする。なお、記憶空間10は、レジスタ10aや
メモリ10bによって形成される仮想的な空間である。
また、16はアドレスマップであり、その構造は一例を
示している。
In order to achieve the above-mentioned object, the present invention has a storage space 10 and various peripheral devices 11 to which addresses (a to d) are assigned, as shown in the principle diagram of FIG. 1 to 11 n , an address bus 13 and a data bus 14 that connect the storage space 10 and various peripheral devices 11 1 to 11 n to the CPU 12, and an address signal generated by the CPU 12 is transferred to the address bus 13. Through the storage space 10 and various peripheral devices 1
1 1 to 11 was transferred to n, assigned address matches a said transfer address signal storage space 10 or various peripheral devices 11
1 to 11 n are transferred to the CPU 12 via the data bus 14.
In the data processing device accessed from the above, a part of the addresses assigned to the storage space 10 and the various peripheral devices 11 1 to 11 n are overlapped (for example, D and C). The storage space 10 is a virtual space formed by the register 10a and the memory 10b.
Reference numeral 16 is an address map, the structure of which is an example.

【0009】[0009]

【作用】本発明では、CPU12から周辺デバイス11
n に割り当てられた特定のアドレス(ウ)をアクセスす
ると、この周辺デバイス11n と共通のアドレス(エ)
が割り当てられた記憶空間10が同時にアクセスされ
る。または、CPU12から記憶空間10に割り当てて
られた特定のアドレス(エ)をアクセスすると、この記
憶空間10と共通のアドレス(ウ)が割り当てられた周
辺デバイス11n が同時にアクセスされる。
In the present invention, the CPU 12 to the peripheral device 11
When a specific address (c) assigned to n is accessed, an address common to this peripheral device 11 n (d)
The storage space 10 to which is allocated is simultaneously accessed. Alternatively, when a specific address (d) assigned to the storage space 10 is accessed from the CPU 12, the peripheral device 11 n to which a common address (c) is assigned to the storage space 10 is simultaneously accessed.

【0010】すなわち、周辺デバイス11n と記憶空間
10の双方に対する同時アクセスが可能になり、例え
ば、周辺デバイス11n と記憶空間10にデータバス1
4上のデータを同時に書き込むことができるようにな
る。したがって、周辺デバイス11n を冒頭の積和演算
器とすると、この積和演算器によるデータの加工と、記
憶空間10内のデータの再配置とを同時並行的に行うこ
とができ、CPUによるアクセス回数を削減して処理時
間の短縮化を図ることができる。
That is, it becomes possible to simultaneously access both the peripheral device 11 n and the storage space 10, and, for example, the data bus 1 is connected to the peripheral device 11 n and the storage space 10.
The data on 4 can be written at the same time. Therefore, when the peripheral device 11 n is the product-sum calculator at the beginning, the data processing by this product-sum calculator and the rearrangement of the data in the storage space 10 can be performed simultaneously in parallel, and the access by the CPU is possible. The number of times can be reduced and the processing time can be shortened.

【0011】[0011]

【実施例】以下、本発明の実施例を図面に基づいて説明
する。図2〜図10は本発明に係るデータ処理装置の一
実施例を示す図であり、例えば、ロボット等の関節モー
タの回転制御に用いられるデータ処理装置の例である。
Embodiments of the present invention will be described below with reference to the drawings. 2 to 10 are views showing an embodiment of a data processing device according to the present invention, and are examples of a data processing device used for controlling rotation of a joint motor of a robot or the like, for example.

【0012】まず、構成を説明する。図2において、2
0はデータ処理装置である。データ処理装置20は、C
PU(central processing unit)21、RAM(rando
m access memory)22、ROM(read only memory)
23、UART(universal asynchronous receiver tr
ansmitter)24、A/Dコンバータ25、タイマ2
6、PWM(pulse width modulation)27、積和演算
器(単に演算器と言うこともある)28、WDT(ウオ
ッチドックタイマ)29、I/Oポート30及び各種バ
ス(データバス、アドレスバス、コントロールバス)3
1等を含んで構成される。なお、このデータ処理装置2
0はワンチップで作られるものであってもよい。
First, the structure will be described. In FIG. 2, 2
Reference numeral 0 is a data processing device. The data processing device 20 is C
PU (central processing unit) 21, RAM (rando
m access memory) 22, ROM (read only memory)
23, UART (universal asynchronous receiver tr
ansmitter) 24, A / D converter 25, timer 2
6, PWM (pulse width modulation) 27, product-sum calculator (sometimes simply referred to as calculator) 28, WDT (watchdog timer) 29, I / O port 30, and various buses (data bus, address bus, control) Bus) 3
It is configured to include 1 and the like. In addition, this data processing device 2
0 may be made in one chip.

【0013】ここで、CPU21は、周知のように、そ
の内部に算術論理演算ユニット(ALU)やプログラム
カウンタ及び各種のレジスタ等を備え、プログラムカウ
ンタに示されたアドレスに従ってRAM22やROM2
3から命令を取り出し、これを逐次に実行するもので、
例えば、モータ制御プログラムの各命令を実行しなが
ら、ロボットの関節角度や角速度を所要の目標値に一致
させるのに必要な各種制御値を演算するものである。ま
た、RAM22はモータ制御プログラムの変数領域や作
業領域等を確保するための汎用メモリ、ROM23はモ
ータ制御プログラムやOS(operating system )及び
BIOS(basis input output system)等を格納する
ための読み出し専用メモリであり、これらのRAM22
及びROM23はCPU21内部のレジスタと共に記憶
空間を形成する。また、UART24は非同期式のシリ
アル通信機能を有するデバイスであり、その内部に送受
信部、シリアルデータとパラレルデータの双方向変換
部、送受信データフォーマット生成部及びデータ解読部
等を備え、図外の、例えばモータ回転角検出器からの検
出データを受信したり、モータ駆動部に対して駆動デー
タを送信したりするものである。なお、A/Dコンバー
タ25はアナログ検出データをディジタルデータに変換
するもの、タイマ26は基準クロック等を発生するも
の、PWM27はCPU21によって演算された制御値
に基づいてモータ駆動用の可変パルス幅信号を発生する
もの、WDT29は規定時間を越えてもCPU21で命
令実行がなされないときにプログラムの異常(暴走)を
判定するもの、I/Oポート30は図外の各種検出器や
モータ駆動部との間の信号インターフェイスをとるもの
である。
As is well known, the CPU 21 has an arithmetic logic unit (ALU), a program counter, various registers, etc. inside, and a RAM 22 and a ROM 2 according to an address indicated by the program counter.
It fetches instructions from 3, and executes them sequentially,
For example, while executing each command of the motor control program, various control values necessary for matching the joint angle and the angular velocity of the robot with a desired target value are calculated. The RAM 22 is a general-purpose memory for securing a variable area and a work area of the motor control program, and the ROM 23 is a read-only memory for storing the motor control program, an OS (operating system), a BIOS (basis input output system), and the like. And these RAM 22
The ROM 23 and the registers inside the CPU 21 form a storage space. Further, the UART 24 is a device having an asynchronous serial communication function, and includes a transmission / reception unit, a bidirectional conversion unit for serial data and parallel data, a transmission / reception data format generation unit, a data decoding unit, etc. For example, it receives the detection data from the motor rotation angle detector and transmits the drive data to the motor drive unit. The A / D converter 25 converts analog detection data into digital data, the timer 26 generates a reference clock, and the PWM 27 uses a variable pulse width signal for driving a motor based on a control value calculated by the CPU 21. Is generated, the WDT 29 judges a program abnormality (runaway) when the CPU 21 does not execute an instruction even after the stipulated time is exceeded, and the I / O port 30 is connected to various detectors and motor drive units (not shown). The signal interface between the two.

【0014】ここで、演算器28は、CPU21に代わ
って所定の演算処理(本例では積和演算処理)を専門に
実行するデバイス、すなわちCPU28を補助する機能
を有する周辺デバイスである。なお、周辺デバイスとし
ては、この演算器28の他にも、UART24、A/D
コンバータ25及びPWM27等が該当し、これらの周
辺デバイスには、あらかじめ固有のアドレスが割り当て
られている。
Here, the arithmetic unit 28 is a device that specially executes predetermined arithmetic processing (in this example, product-sum arithmetic processing) instead of the CPU 21, that is, a peripheral device having a function of assisting the CPU 28. As peripheral devices, in addition to the arithmetic unit 28, the UART 24, A / D
The converter 25 and the PWM 27 correspond to these peripheral devices, and their peripheral devices are assigned unique addresses in advance.

【0015】図3はCPU21、RAM22及び演算器
28を含む要部構成図である。この図において、31a
はコントロールバス、31bはnビット幅のデータバ
ス、31cは同じくnビット幅のアドレスバス、22a
はRAM22に設けられたアドレスデコーダ(以下、R
AM用アドレスデコーダと言う)、22bはRAM本
体、28aは演算器28に設けられたアドレスデコーダ
(以下、演算器用アドレスデコーダと言う)、28bは
領域指定レジスタ、28cは演算器本体である。
FIG. 3 is a configuration diagram of a main part including a CPU 21, a RAM 22 and a calculator 28. In this figure, 31a
Is a control bus, 31b is an n-bit wide data bus, 31c is also an n-bit wide address bus, 22a.
Is an address decoder (hereinafter referred to as R
An AM address decoder), 22b is a RAM main body, 28a is an address decoder provided in the arithmetic unit 28 (hereinafter, referred to as an arithmetic unit address decoder), 28b is an area designation register, and 28c is an arithmetic unit main body.

【0016】RAM用アドレスデコーダ22aは、アド
レスバス31c上のアドレス信号があらかじめ定められ
た特定のアドレス範囲(アドレスマップ上におけるRA
M22全体のアドレス範囲)に含まれるアドレスを表示
する場合に、RAM本体22bに対してリード又はライ
ト動作を許容するための信号を出力するもの、演算器用
アドレスデコーダ28aは、アドレスバス31c上のア
ドレス信号が、領域指定レジスタ28bによって指定さ
れた特定のアドレス範囲(例えば、アドレスマップ上に
おけるRAM22全体のアドレス範囲のうち入力変数領
域X0 〜X-3のアドレス範囲;図7参照)に含まれるア
ドレスを表示する場合、データバス31b上のデータを
演算器本体28cに転送させるものである。すなわち、
領域指定レジスタ28bの内容は、発明の要旨に記載の
第1の領域に対応するアドレス情報であり、この第1の
アドレス情報と、データバス31b上のアドレス信号と
が一致した場合に、該第1のアドレス情報で示された領
域(RAM22の入力変数領域)のアクセスと同時に、
演算器28をアクセスするようになっている。これは、
言い替えれば、アドレスマップ上に割り当てられた演算
器28のアドレスを同時にアクセスすることに相当す
る。
The RAM address decoder 22a has a specific address range (RA on the address map) in which the address signal on the address bus 31c is predetermined.
When an address included in the entire address range of M22 is displayed, a signal for permitting a read or write operation to the RAM main body 22b is output. The arithmetic unit address decoder 28a is an address on the address bus 31c. address included in; signal, specific address ranges specified (see FIG. 7 for example, the address range of the input variable region X 0 to X -3 of RAM22 entire address range on the address map) by the area designation register 28b Is displayed, the data on the data bus 31b is transferred to the arithmetic unit main body 28c. That is,
The content of the area designation register 28b is the address information corresponding to the first area described in the gist of the invention, and when the first address information and the address signal on the data bus 31b match, the first area information At the same time as accessing the area (input variable area of RAM 22) indicated by the address information of 1,
The arithmetic unit 28 is accessed. this is,
In other words, this corresponds to simultaneously accessing the addresses of the arithmetic units 28 assigned on the address map.

【0017】図4は、演算器本体28cの一例構成を示
す図である。この演算器本体28cは、演算器用アドレ
スデコーダ28aからの被乗数ライト信号に応答してデ
ータバス31b上のデータを取り込む被乗数レジスタA
と、同じく演算器用アドレスデコーダ28aからの乗数
ライト信号に応答してデータバス31b上のデータを取
り込む乗数レジスタBと、これら被乗数レジスタAと乗
数レジスタBの内容を掛け合わせる積演算部28d(B
oothのアルゴリズムとワレストリー構成を採用する
ものが望ましい)と、積演算部28dの出力と1回前の
加算結果(すなわちラッチ28fの内容)とを加算する
加算部28eと、加算結果を逐次更新してその総和を保
持するラッチ28fと、積演算部28dと加算部28e
の総演算遅延を考慮した時間ごとにラッチ信号を発生す
るタイミング制御部28gとを含んで構成される。
FIG. 4 is a diagram showing an example configuration of the arithmetic unit main body 28c. The arithmetic unit main body 28c receives the data on the data bus 31b in response to the multiplicand write signal from the arithmetic unit address decoder 28a and outputs the multiplicand register A.
Similarly, a multiplier register B that takes in data on the data bus 31b in response to a multiplier write signal from the arithmetic unit address decoder 28a and a product calculator 28d (B that multiplies the contents of the multiplicand register A and the multiplier register B
It is desirable to adopt the ooth algorithm and Wallace tree configuration), the addition unit 28e that adds the output of the product calculation unit 28d and the previous addition result (that is, the content of the latch 28f), and the addition result is sequentially updated. Latch 28f for holding the total sum, product calculation unit 28d and addition unit 28e
And a timing control unit 28g that generates a latch signal at each time in consideration of the total operation delay of.

【0018】図5はタイミング制御部28gの一例構成
を示す図である。この例では、演算器用アドレスデコー
ダ28aで作られた乗数ライト信号を、システムクロッ
クに同期する2個のD−FF28h、28iによって遅
延させ、その遅延信号とシステムクロックとのアンド論
理を取り、ラッチ信号としてアンドゲート28jから出
力している。
FIG. 5 is a diagram showing an example of the structure of the timing controller 28g. In this example, the multiplier write signal generated by the arithmetic unit address decoder 28a is delayed by the two D-FFs 28h and 28i which are synchronized with the system clock, and the AND signal between the delayed signal and the system clock is taken to obtain the latch signal. Is output from the AND gate 28j.

【0019】図6は演算器用アドレスデコーダの一例構
成を示す図である。この例では、アドレスバス31c上
のアドレス信号の上位ビット(例えば、A0 〜A7 まで
の8ビットアドレス信号の上位の6ビットA2 〜A7
を一方入力とし、領域指定レジスタ28bに格納された
データ(B2 〜B7 )を他方入力とする複数個のイクス
クルーシブノア(以下、ENOR)ゲート28k〜28
qと、各ENORゲート28k〜28qの出力が全てH
レベルのとき(A2 〜A7 =B0 〜B7 のとき)にHレ
ベルの乗数ライト信号及び被乗数ライト信号を出力する
多入力アンドゲート28rとを備えて構成する。
FIG. 6 is a diagram showing an example of the configuration of the address decoder for arithmetic unit. In this example, the upper bits of the address signal on the address bus 31c (e.g., A 0 6 high order bits of the 8-bit address signal to ~A 7 A 2 ~A 7)
To one of the inputs, and the data (B 2 to B 7 ) stored in the area designation register 28b to the other of the plurality of exclusive NOR gates 28k to 28.
q and the outputs of the ENOR gates 28k to 28q are all H
When the level (A 2 ~A 7 = when B 0 ~B 7) to configure a multi-input AND gate 28r which outputs a multiplier write signal and multiplicand write signal H level.

【0020】次に、作用を説明する。今、従来例で述べ
た4次のFIRフィルタ処理、すなわち、図12に示す
ように今回のサンプリング入力xi と係数h0 との積
(xi×h0 )を求め、1回前のサンプリング入力x-1
と係数h1 の積(x-1×h1 )を求め、2回前のサンプ
リング入力x-2と係数h2 の積(x-2×h2 )を求め、
3回前のサンプリング入力x-3と係数h3 の積(x-3×
3 )を求め、その後、これらの各演算結果の総和yi
(yi =xi ×h0 +x-1×h1 +x-2×h2 +x-3×
3 )を求める場合を考える。
Next, the operation will be described. Now, the fourth-order FIR filter processing described in the conventional example, that is, the product (x i × h 0 ) of the current sampling input x i and the coefficient h 0 is obtained as shown in FIG. Input x -1
And the coefficient h 1 (x −1 × h 1 ) are calculated, and the product (x −2 × h 2 ) of the sampling input x −2 two times before and the coefficient h 2 is calculated,
The product of the sampling input x -3 three times before and the coefficient h 3 (x -3 ×
h 3 ), and then the total sum y i of these calculation results
(Y i = x i × h 0 + x -1 × h 1 + x -2 × h 2 + x -3 ×
Consider the case of finding h 3 ).

【0021】ここで、図7に示すように、RAM22の
アドレス10h(hは16進数であることを表す)から
アドレス13hまでを係数h0 〜h3 を格納するための
変数領域(以下、係数変数領域)とし、アドレス14h
から17hまでを入力x0 〜x-3を格納するための変数
領域(以下、入力変数領域)として確保するものとす
る。
Here, as shown in FIG. 7, a variable area (hereinafter referred to as a coefficient) for storing the coefficients h 0 to h 3 from the address 10h (h represents a hexadecimal number) to the address 13h of the RAM 22. Variable area) and address 14h
1 to 17h are secured as variable areas (hereinafter, input variable areas) for storing the inputs x 0 to x -3 .

【0022】領域指定レジスタ28bには、入力変数領
域の範囲(14hから17hまで)を示す値が格納され
ている。図8はFIRフィルタ処理の要部フローチャー
トである。このフローチャートでは、4つのステップS
1 〜S4 毎に、係数h3 〜h0 を取り出して被乗数レジ
スタAにセットすると共に、入力x0 〜x-3を取り出し
て乗数レジスタBにセットし、かつ、この乗数レジスタ
Bへのセットと並行して、入力変数領域内部でのシフト
動作(x0 →x-1、x-1→x-2、x-2→x-3)を実行す
る。
The area designation register 28b stores a value indicating the range (14h to 17h) of the input variable area. FIG. 8 is a main part flowchart of the FIR filter process. In this flowchart, four steps S
For each 1 to S 4 , the coefficients h 3 to h 0 are taken out and set in the multiplicand register A, and the inputs x 0 to x -3 are taken out and set in the multiplier register B, and set in the multiplier register B. In parallel with this, the shift operation (x 0 → x -1 , x -1 → x -2 , x -2 → x -3 ) in the input variable area is executed.

【0023】図9は演算器28内部のタイムチャートで
ある。コントロールバス31a上のリードライト信号
(R/W)がライトモード(W)を示している間に、被
乗数ライト信号がHレベルになると、そのときのデータ
バス31b上のデータ(係数h 0 〜h3 の1つ)が被乗
数レジスタAに格納される。次いで、上記のシフト動作
を行うために、アドレスバス31c上のアドレス値が1
4h〜17h(入力変数領域のアドレス)の何れかに変
化すると、このアドレス信号と領域指定レジスタ28b
の内容とが一致し、乗数ライト信号がHレベルになっ
て、そのときのデータバス31c上のデータ(すなわち
シフト動作のために読み出された入力x0 〜x-3の1
つ)が同時に乗数レジスタBにもセットされる。
FIG. 9 is a time chart inside the arithmetic unit 28.
is there. Read / write signal on control bus 31a
(R / W) indicates the write mode (W),
When the multiplier write signal goes high, the data at that time
Data on bus 31b (coefficient h 0~ H3Is one of the
It is stored in the number register A. Then, the above shift operation
Address value on the address bus 31c is 1
Change to any of 4h to 17h (address of input variable area)
Then, the address signal and the area designation register 28b
And the multiplier write signal goes high.
Then, the data on the data bus 31c at that time (that is,
Input x read for shift operation0~ X-3Of 1
Are also set in the multiplier register B at the same time.

【0024】したがって、以上の構成によれば、RAM
22内部での入力x0 〜x-3のシフト動作と、乗数レジ
スタBへの入力x0 〜x-3のセット動作とを同時並行的
に行うことができるから、シフト動作を行うための独立
した処理ステップ(図10に示す従来例のFIRフィル
タ処理プログラムフローのステップSa〜Sc参照)を
不要にでき、それだけCPU21のアクセス回数を削減
して処理速度の向上を図ることができる。
Therefore, according to the above configuration, the RAM
22 The shift operation of the inputs x 0 to x -3 inside and the set operation of the inputs x 0 to x -3 to the multiplier register B can be performed simultaneously in parallel, so that the shift operation can be performed independently. The processing steps (see steps Sa to Sc in the FIR filter processing program flow of the conventional example shown in FIG. 10) can be eliminated, and the number of accesses of the CPU 21 can be reduced accordingly, and the processing speed can be improved.

【0025】なお、本実施例では、FIRフィルタ処理
の積和演算を例とし、その乗数レジスタBへのデータ格
納と、RAM22内部におけるデータのシフト動作とを
同時並行的に実行できるようにしているが、これに限る
ものではない。要は、CPUによってアドレスマップ上
の特定のアドレス(あるいは領域)をアクセスする際
に、少なくとも1つの他のアドレス(又は領域)を同時
にアクセスできるようにすればよく、これらの特定のア
ドレスや他のアドレスは、RAMやROM及びレジスタ
によって形成される記憶空間内の物理アドレス、また
は、各種の周辺デバイスに割り当てられたアドレスであ
ってもよいし、これらの組み合せであってもよい。
In this embodiment, the product sum operation of the FIR filter processing is taken as an example, and the data storage in the multiplier register B and the data shift operation in the RAM 22 can be executed simultaneously in parallel. However, it is not limited to this. In short, when a specific address (or area) on the address map is accessed by the CPU, at least one other address (or area) can be simultaneously accessed, and these specific address and other The address may be a physical address in a storage space formed by a RAM, a ROM and a register, an address assigned to various peripheral devices, or a combination thereof.

【0026】[0026]

【発明の効果】本発明によれば、特定のアドレスをアク
セスする場合には、あらかじめ定められた他の特定のア
ドレスを同時にアクセスできるようにしたので、CPU
によるアクセス回数を削減でき、処理時間の短縮化を図
ることができる。
According to the present invention, when a specific address is accessed, it is possible to simultaneously access other predetermined specific addresses.
It is possible to reduce the number of accesses due to, and to shorten the processing time.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の原理図である。FIG. 1 is a principle diagram of the present invention.

【図2】一実施例の全体ブロック図である。FIG. 2 is an overall block diagram of an embodiment.

【図3】一実施例のRAM及び演算器を含む要部構成図
である。
FIG. 3 is a configuration diagram of a main part including a RAM and an arithmetic unit according to an embodiment.

【図4】一実施例の演算器の構成図である。FIG. 4 is a configuration diagram of an arithmetic unit according to an embodiment.

【図5】一実施例のタイミング制御部の構成図である。FIG. 5 is a configuration diagram of a timing control unit according to an embodiment.

【図6】一実施例の演算器用アドレスデコーダの構成図
である。
FIG. 6 is a configuration diagram of an arithmetic unit address decoder according to an embodiment.

【図7】一実施例の変数領域の概念図である。FIG. 7 is a conceptual diagram of a variable area according to an embodiment.

【図8】一実施例の要部のプログラムフローである。FIG. 8 is a program flow of a main part of one embodiment.

【図9】一実施例の動作タイムチャートである。FIG. 9 is an operation time chart of an example.

【図10】比較のために示す従来例のプログラムフロー
である。
FIG. 10 is a program flow of a conventional example shown for comparison.

【図11】従来例の概略構成図である。FIG. 11 is a schematic configuration diagram of a conventional example.

【図12】4次のFIRフィルターの演算概念図であ
る。
FIG. 12 is a conceptual diagram of calculation of a 4th-order FIR filter.

【符号の説明】[Explanation of symbols]

10:記憶空間 111 〜11n :各種周辺デバイス 12:CPU 13:アドレスバス 14:データバス10: Storage space 11 1 to 11 n : Various peripheral devices 12: CPU 13: Address bus 14: Data bus

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】各々にアドレス(ア〜エ)が割り当てられ
た記憶空間(10)及び各種周辺デバイス(111 〜1
n )と、 前記記憶空間(10)及び各種周辺デバイス(111
11n )とCPU(12)との間を接続するアドレスバ
ス(13)及びデータバス(14)とを備え、 CPU(12)で発生したアドレス信号を前記アドレス
バス(13)を介して記憶空間(10)及び各種周辺デ
バイス(111 〜11n )に転送し、 割当アドレスが該転送アドレス信号に一致する記憶空間
(10)又は各種周辺デバイス(111 〜11n )を、
前記データバス(14)を介してCPU(12)からア
クセスするデータ処理装置において、 前記記憶空間(10)及び各種周辺デバイス(111
11n )に割り当てるアドレスの一部を重複(例えばエ
とウ)させたことを特徴とするデータ処理装置。
1. A storage space (10) to which addresses (A to D) are assigned, and various peripheral devices (11 1 to 1)
1 n ), the storage space (10) and various peripheral devices (11 1 ~
11 n ) and the CPU (12) are provided with an address bus (13) and a data bus (14), and an address signal generated in the CPU (12) is stored in the storage space via the address bus (13). (10) and various peripheral devices (11 1 to 11 n ), and a storage space (10) whose assigned address matches the transfer address signal or various peripheral devices (11 1 to 11 n ),
In a data processing device accessed from a CPU (12) via the data bus (14), the storage space (10) and various peripheral devices (11 1 ...
11 n ) part of the addresses assigned to ( n ) are overlapped (for example, d).
【請求項2】前記記憶空間及び各種周辺デバイスのそれ
ぞれのアドレスを含むアドレスマップ上の第1の領域に
対応する第1のアドレス情報を保持し、 該第1のアドレス情報と前記転送アドレス信号とを照合
して一致の場合に、前記アドレスマップ上の第1の領域
及び該第1の領域以外の第2の領域を同時にアクセス対
象とすることを特徴とする請求項1記載のデータ処理装
置。
2. Holding first address information corresponding to a first area on an address map including respective addresses of the storage space and various peripheral devices, the first address information and the transfer address signal. 2. The data processing apparatus according to claim 1, wherein if the two match, the first area on the address map and the second area other than the first area are simultaneously accessed.
【請求項3】前記第1及び第2の領域は、単一のアドレ
ス値で表現されるものであることを特徴とする請求項2
記載のデータ処理装置。
3. The first and second areas are represented by a single address value.
The described data processing device.
【請求項4】前記第1及び第2の領域は、何れか一方が
所定のアドレス範囲で表現されるものであることを特徴
とする請求項2記載のデータ処理装置。
4. The data processing apparatus according to claim 2, wherein one of the first and second areas is expressed in a predetermined address range.
JP4279859A 1992-10-19 1992-10-19 Data processor Withdrawn JPH06131241A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4279859A JPH06131241A (en) 1992-10-19 1992-10-19 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4279859A JPH06131241A (en) 1992-10-19 1992-10-19 Data processor

Publications (1)

Publication Number Publication Date
JPH06131241A true JPH06131241A (en) 1994-05-13

Family

ID=17616942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4279859A Withdrawn JPH06131241A (en) 1992-10-19 1992-10-19 Data processor

Country Status (1)

Country Link
JP (1) JPH06131241A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019097693A1 (en) * 2017-11-17 2019-05-23 三菱重工機械システム株式会社 Information processing system and information processing method to be executed by information processing system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019097693A1 (en) * 2017-11-17 2019-05-23 三菱重工機械システム株式会社 Information processing system and information processing method to be executed by information processing system
GB2581719A (en) * 2017-11-17 2020-08-26 Mitsubishi Heavy Ind Mach Systems Ltd Information processing system and information processing method to be executed by information processing system
JPWO2019097693A1 (en) * 2017-11-17 2020-11-26 三菱重工機械システム株式会社 Information processing system and information processing method by information processing system
US11249904B2 (en) * 2017-11-17 2022-02-15 Mitsubishi Heavy Industries Machinery Systems, Ltd. Information processing system and information processing method to be executed by information processing system
GB2581719B (en) * 2017-11-17 2022-03-09 Mitsubishi Heavy Ind Mach Systems Ltd Information processing system and information processing method to be executed by information processing system

Similar Documents

Publication Publication Date Title
JP3206704B2 (en) Data processing device with multiple on-chip memory buses
JPS6133546A (en) Information processor
JPH05100948A (en) Speed improvement type data processing system executing square arithmetic operation and method thereof
JP2806171B2 (en) Data arithmetic unit
JPH0412503B2 (en)
JPS623461B2 (en)
JPH06131241A (en) Data processor
US4870608A (en) Method and apparatus for floating point operation
JPS6266336A (en) Vm mode changing device
JPS63111535A (en) Data processor
JPS6349938A (en) Instruction prefetch control device
JPH10187659A (en) Product sum computing element
JPS62120542A (en) Information processor
JPH023821A (en) High speed arithmetic unit
JPS60237503A (en) High-speed processing system of sequence controller
JPS59188900A (en) Data processor
JP2659886B2 (en) Processor system
JPS63311569A (en) Co-processor arithmetic unit
JPH0588887A (en) Data processor
JPH01266668A (en) Information processor
JP2568760B2 (en) Product-sum operation circuit
JPH0234058B2 (en)
JPH0215089B2 (en)
JPH03104087A (en) Memory with arithmetic function
Sperry et al. A microprogrammed signal processor

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000104