JPS62237541A - Two-dimensional address generator - Google Patents
Two-dimensional address generatorInfo
- Publication number
- JPS62237541A JPS62237541A JP8076786A JP8076786A JPS62237541A JP S62237541 A JPS62237541 A JP S62237541A JP 8076786 A JP8076786 A JP 8076786A JP 8076786 A JP8076786 A JP 8076786A JP S62237541 A JPS62237541 A JP S62237541A
- Authority
- JP
- Japan
- Prior art keywords
- address
- counter
- initial value
- register
- addresses
- 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
- 230000007423 decrease Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 1
Landscapes
- Image Input (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は1画像データのような2次元データを扱う信号
処理装置1例えば汎用画像処理プロセッサにおけるデー
タメモリ部のアドレス発生装置に関するものである。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an address generation device for a data memory section in a signal processing device 1 that handles two-dimensional data such as one-image data, for example, a general-purpose image processing processor.
従来、メモリ装置のアドレスは、中央演算処理装置(以
下CPU : Central Processing
Unitと叶ぷ)のような汎用演算装置によって計算
され2発生されていた。第2図に従来のアドレス発生回
路の例を示す。(9)はアドレス計算回路で、上に述べ
たCPUの1部に含まれ、 ALU :算術論理演算回
路。Conventionally, the address of a memory device is determined by the central processing unit (hereinafter referred to as CPU).
It was calculated and generated by a general-purpose arithmetic unit such as Unit and Kanopu. FIG. 2 shows an example of a conventional address generation circuit. (9) is an address calculation circuit, which is included in a part of the CPU mentioned above. ALU: Arithmetic logic operation circuit.
レジスタ等によって構成される。叫は(9)のアドレス
計算回路から発生されたアドレスをラッチするレジスタ
、■はメモリ装置へ人力されるメモリアドレスである。It consists of registers, etc. 1 is a register that latches the address generated from the address calculation circuit (9), and 2 is a memory address manually input to the memory device.
実際には・プログラムに従って・アドレス計算回路(9
)において、遂次アドレスが計算され、これによって発
生されたアドレスが、アドレスレジスタα■を介して次
々とメモリへ入力される。通常CPU等におけるアドレ
ス計算には、ALU等の演算回路が介在するため、基本
クロック数りロック分を要していた。従って、連続して
いくつかのアドレスを発生させる場合も、基本クロック
ごとに連続して発生させることは不可能で、数クロック
ごととなっていた。Actually, according to the program, the address calculation circuit (9
), addresses are successively calculated, and the addresses thus generated are successively input to the memory via the address register α■. Normally, address calculation in a CPU or the like involves an arithmetic circuit such as an ALU, and thus requires a lock equal to the number of basic clocks. Therefore, even when several addresses are to be generated consecutively, it is impossible to generate them consecutively every basic clock, but only every few clocks.
上記のような従来のアドレス発生装置では、上で述べた
ように、アドレスの発生に基本クロック。In conventional address generators such as those mentioned above, as mentioned above, a basic clock is used to generate addresses.
数クロック分を要する。アドレスの発生に要する時間は
2画像のような2次元データのアドレスの場合特に多く
なる。第3図は4点×4点の画像データの一般的なアド
レツシングを示した図で、数字はアドレスを示している
。この図を見ればわかるように・隣り合う横のデータの
アドレスは連続しているが、隣り合う縦のデータのアド
レスは飛び飛びとなっており、縦方向に連続してデータ
アクセスする場合は、横方向の場合に比べてアドレス計
算に長時間金製することになる。画像データ処理におい
ては・画像の近傍演算を行う場合が多く、データのアク
セスも縦又は横の連続的なものが多くなっている。従っ
て画像処理のような2次元データ処理の際に要する。ア
ドレス計算の時間は多大なものとなり、演算部の高速化
を討つ−〔も。It takes several clocks. The time required to generate an address is especially long in the case of an address for two-dimensional data such as two images. FIG. 3 is a diagram showing general addressing of image data of 4 points x 4 points, and the numbers indicate addresses. As you can see from this diagram, the addresses of adjacent horizontal data are consecutive, but the addresses of adjacent vertical data are discontinuous, and when accessing data consecutively in the vertical direction, horizontal Compared to the case of direction, it takes a long time to calculate the address. In image data processing, arithmetic operations are often performed in the vicinity of an image, and data access is often continuous vertically or horizontally. Therefore, it is necessary for two-dimensional data processing such as image processing. Address calculation takes a lot of time, so it is necessary to speed up the calculation section.
全体の処理時間1r、i 、アドレス計算時間によって
押さえられ−Cしまりという問題点を有していた。The problem is that the total processing time 1r,i is limited by the address calculation time, resulting in a -C limit.
この発明は、このような問題点を解消するためになされ
たもので1画像のような2次元データのアドレスを高速
に発生させ、メモリへのデータアクセスの間隔を短縮し
、全体としての処理時間を短縮することを目的とするも
のである。This invention was made to solve these problems. It generates addresses for two-dimensional data such as one image at high speed, shortens the interval between data accesses to memory, and reduces overall processing time. The purpose is to shorten the
この発明にかかわるアドレス発生装置は、2次元アドレ
スを発生するための、独立した2個のアドレスカウンタ
を用意し、それぞれ独立に設定できるアドレス初期値レ
ジスタと、ワードレングスカウンタやアドレスカウンタ
のキャリー金入力として、カウンタのスタート、ストッ
プ等のモードを制御するモードレジスタによって制御し
、高速な2次元データアクセスを可能にするものである
。The address generator according to the present invention has two independent address counters for generating two-dimensional addresses, an address initial value register that can be set independently, and a carry money input for the word length counter and address counter. It is controlled by a mode register that controls modes such as start and stop of the counter, and enables high-speed two-dimensional data access.
この発明においては、独立な2次元アドレスカウンタが
、2次元データのアドレス、列アドレス(以下ROWア
ドレスと呼ぶ)と行アドレス(以下COLUMNアドレ
スと呼ぶ)を別々に基本クロックごとに、連続的に発生
することにより、2次元データの任意の点から任意の連
続アドレスのメモリデータに対する高速アクセスが可能
となる。In this invention, an independent two-dimensional address counter continuously generates two-dimensional data addresses, a column address (hereinafter referred to as ROW address) and a row address (hereinafter referred to as COLUMN address), separately for each basic clock. This enables high-speed access to memory data at arbitrary consecutive addresses from any point in the two-dimensional data.
第1図は、この発明の1実施例を示すブロック図である
。tl、lFi、メモリへ入力されるROWメモリアド
レス、(2)はCOL 0MNメモリアドレスである。FIG. 1 is a block diagram showing one embodiment of the present invention. tl, lFi, ROW memory address input to memory, (2) is COL 0MN memory address.
[1)、 +21において、 ROW 、 COLUM
Nとアドレスの種類を、2次元イメージに分けているが
、実際のハードウェアでは両者は等価であり、同一の扱
い方をしてよい。(3)はROWメモリアドレスを発生
するROWアドレスカウンタ、同様に(4)はCOLU
MNアドレスを発生するCOLUMNアドレスカウンタ
、+51. (6+はそれぞれ、ROWアドレスカウン
タ+31. COLUMNアドレスカウンタ(4)の初
期値を定める。ROWアドレス初期値レジスタ、 CO
LUMNアドレス初期値vジスタである。+71 Fi
、前記ROWアドレスカウンタ(3)及びCOLUMN
アドレスカウンタ(4)、のスタート。[1), at +21, ROW, COLUM
Although the types of N and addresses are divided into two-dimensional images, in actual hardware they are equivalent and may be handled in the same way. (3) is a ROW address counter that generates a ROW memory address, and similarly (4) is a COLU
COLUMN address counter for generating MN address, +51. (6+ respectively determine the initial value of the ROW address counter + 31. COLUMN address counter (4). ROW address initial value register, CO
This is the LUMN address initial value v register. +71 Fi
, the ROW address counter (3) and COLUMN
Start of address counter (4).
ストップ等のモードftj13御を行う、モー ドレジ
スタ。Mode register that controls mode ftj13 such as stop.
(8)は、アドレス発生数音カウントし、モードレジス
タを制御する。ワードレングスカウンタである。(8) counts the number of addresses generated and controls the mode register. It is a word length counter.
アドレスカウンタは、前述したように、2つの独立した
アドレスカクンタ、ROWアドレスカウ/り(31,C
OL[3MNアドレスカウンタ(4)によって発生され
るので、それぞれカウンタの動作に従って基本クロック
ごとに連続したアドレスが出力可能でおる。アドレスは
、順に数が増大する方向、又は。As mentioned above, the address counter consists of two independent address counters, ROW address counter (31, C
Since it is generated by the OL[3MN address counter (4), consecutive addresses can be output for each basic clock according to the operation of each counter. The addresses are arranged in increasing numbers, or.
順に数が減少する方向に連続して出力されることになる
。2つのアドレスカウンタの初期値は、2つのアドレス
初期値レジスタ、即ち、ROWアドレス初期値レジスタ
+51. COLUMNアドレス初期値レジスタ(6)
によって設定される。つまり、アクセスを開始するメモ
リの2次元座標金、前記2つのアドレス初期値1/ジス
タによって設定する。前記2つのアドレスカウンタのカ
ウントアツプ、カウ/トダウン、スタート、ストップ、
アクセス方向等のモード制御はモードレジスタ(7)、
及びワードレングスカウンタ(8)によって行う。メモ
リアクセスの手順は以下のようになる。メモリへのアク
セス開始命令とともに前記2つのアドレス初期値レジス
タの値を、前記2つのアドレスカウンタへ、また、メモ
リアクセスワード長を、ワードレングスカウンタ(8)
にロードする。次にアドレスカウンタをカウントイネー
ブルにし、アドレスカウンタの出力は、カウントアツプ
又はカウントダウンのモードによって、増大又は減少し
始める。またワードレングスカウンタも、1アドレスを
発生するごとに、1カウントアツプする。以上のよりに
してアドレスの発生をスタートさせ、ワードレングスカ
ウンタ(8)がアドレス発生ワード数分のカウントが終
了し、キャリーがモードレジスタ(7)へ入力されると
、アドレスの発生をストップさせる。メモリアクセスの
方向、即ちROW方向又はCOLUMN方向も、モード
制御レジスタ(7)によって行われる。The output will be continued in the direction in which the number decreases. The initial values of the two address counters are stored in two address initial value registers, namely, ROW address initial value register +51. COLUMN address initial value register (6)
Set by. That is, the two-dimensional coordinates of the memory at which access is to be started are set by the two address initial values 1/register. Count up, count/down, start, stop of the two address counters,
Mode control such as access direction is performed using the mode register (7),
and word length counter (8). The memory access procedure is as follows. Along with the memory access start command, the values of the two address initial value registers are sent to the two address counters, and the memory access word length is sent to the word length counter (8).
Load into. Next, the address counter is enabled to count, and the output of the address counter starts to increase or decrease depending on the mode of count-up or count-down. The word length counter also increments by 1 each time one address is generated. Address generation is started as described above, and when the word length counter (8) finishes counting the number of address generation words and a carry is input to the mode register (7), address generation is stopped. The direction of memory access, ie ROW direction or COLUMN direction, is also controlled by the mode control register (7).
ROW方向のアクセスの場合、即ちROW方向にアドレ
スを動かし、 COLUMN方向のアドレスはIROW
のアクセスが終了するまで固定しておく。COLUMN
アドレスカウンタ(4)は、ROWアドレスカウンタ(
3)のキャリーで、1カウントアンプ又はカウントダウ
ンさせることになる。キャリーは、アドレスの最大値に
、アドレスカウンタ値が達した時に出力されるよう論理
を組んでおくものとする。逆のCOLUMN方向のアク
セスの場合も、ROWアドレスカウンタ+31. CO
LUMNアドレスカウンタ(4)の動作が逆になるだけ
で、ROW方向のアクセスの場合と全く同様である。In the case of access in the ROW direction, the address is moved in the ROW direction, and the address in the COLUMN direction is IROW.
It remains fixed until access ends. COLUMN
The address counter (4) is the ROW address counter (
The carry in 3) will cause a one-count amp or countdown. The logic is set so that the carry is output when the address counter value reaches the maximum address value. In the case of reverse access in the COLUMN direction, the ROW address counter +31. C.O.
The operation is exactly the same as the access in the ROW direction, only the operation of the LUMN address counter (4) is reversed.
この発明は以上説明した通り、2次元の独立したアドレ
スカウンタを備えることにより、2次元アドレスを高速
に発生することが可能になり、これによって2次元、即
ちROW方向、 COLUMN方向両方のメモリアクセ
スの高速化が計れ、トータルとして高速な2次元データ
処理装置9例えば画像処理装置を実現できる。As explained above, by providing a two-dimensional independent address counter, this invention enables two-dimensional addresses to be generated at high speed, which enables memory access in two dimensions, that is, in both the ROW direction and the COLUMN direction. The speed can be increased, and a two-dimensional data processing device 9, such as an image processing device, can be realized as a whole.
第1図は、この発明の一実施例を示すブロック図、第2
図は、従来のアドレス発生装置の一例を示すブロック図
、第3図は、4点×4点の画像データの一般的なアドレ
ツシングを示した図である。
図において、(1)はROWメモリアドレス、(2)は
C0LUbtNアドレス、(3)はROWアドレスカウ
ンタ。
(4)はCOLUMNアドレスカウンタ、(5)はRO
Wアドレス初期(mレジスタ、(6)はCOLUMNア
ドレス初期値レジスタ、(7)はモードレジスタ、 (
81はワードレングスカウンタ、(9)はアドレス計算
回路、 Qlはアドレスレジスタ、圓はメモリアドレス
である。FIG. 1 is a block diagram showing one embodiment of the present invention, and FIG.
The figure is a block diagram showing an example of a conventional address generation device, and FIG. 3 is a diagram showing general addressing of image data of 4 points x 4 points. In the figure, (1) is a ROW memory address, (2) is a C0LUbtN address, and (3) is a ROW address counter. (4) is COLUMN address counter, (5) is RO
W address initial (m register, (6) is COLUMN address initial value register, (7) is mode register, (
81 is a word length counter, (9) is an address calculation circuit, Ql is an address register, and circle is a memory address.
Claims (1)
アドレスカウンタ、ROWアドレスカウンタ、COLU
MNアドレスカウンタと、前記2つのアドレスカウンタ
の初期値を定めるそれぞれ独立のアドレス初期値レジス
タ、ROWアドレス初期値レジスタ、COLUMNアド
レス初期値レジスタと、前記2つのアドレスカウンタの
、カウントイネーブル初期値ロードを制御するモードレ
ジスタ、アドレス発生ワード数、すなわちメモリに対す
るデータ入出力ワード数をカウントし、前記2つのアド
レスカウンタのスタート、ストップを制御するワードレ
ングスカウンタとによって構成される2次元アドレス発
生装置。Two address counters, ROW address counter, and COLU to generate memory addresses two-dimensionally independently.
Controls loading of the count enable initial value of the MN address counter, each independent address initial value register that determines the initial values of the two address counters, the ROW address initial value register, the COLUMN address initial value register, and the two address counters. A two-dimensional address generation device comprising: a mode register for generating an address, a word length counter for counting the number of address generation words, that is, the number of data input/output words for the memory, and controlling start and stop of the two address counters.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8076786A JPS62237541A (en) | 1986-04-08 | 1986-04-08 | Two-dimensional address generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8076786A JPS62237541A (en) | 1986-04-08 | 1986-04-08 | Two-dimensional address generator |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62237541A true JPS62237541A (en) | 1987-10-17 |
Family
ID=13727574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8076786A Pending JPS62237541A (en) | 1986-04-08 | 1986-04-08 | Two-dimensional address generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62237541A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01124067A (en) * | 1987-11-09 | 1989-05-16 | Nec Corp | Image storage device |
-
1986
- 1986-04-08 JP JP8076786A patent/JPS62237541A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01124067A (en) * | 1987-11-09 | 1989-05-16 | Nec Corp | Image storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH053032B2 (en) | ||
JP2797435B2 (en) | Display controller | |
JPS62237541A (en) | Two-dimensional address generator | |
US4723258A (en) | Counter circuit | |
JPS6285343A (en) | Memory reading-out circuit | |
JPS5987523A (en) | Data storage unit | |
JP2886855B2 (en) | Image display device | |
JPH0668760B2 (en) | DMA controller for image editing device | |
KR0171156B1 (en) | Three-dimensional image data arithmetic unit | |
JP2976418B2 (en) | Pattern matching processing device | |
JP2852050B2 (en) | Image processing device | |
JPH0268672A (en) | Address generating part for picture processing processor | |
JPH0354665A (en) | Vector processor | |
JPH03184184A (en) | Image processor | |
JPH01112305A (en) | Sequence controller | |
JPS61131137A (en) | Continuous generating system of plural addresses | |
JPH0373073A (en) | Information processor with picture editing function | |
JPH01134530A (en) | Pipeline controller | |
JPS61240375A (en) | Image memory control device | |
JPH02204861A (en) | Vector data processor | |
JPS6210778A (en) | Multiwindown controller | |
JPH0398163A (en) | Vector data processor | |
JPS6354641A (en) | Memory device for image processing | |
JPH02126322A (en) | Information processor | |
JPH06208454A (en) | Bit operation circuit |