JPH06324935A - Address generator and address generation system - Google Patents
Address generator and address generation systemInfo
- Publication number
- JPH06324935A JPH06324935A JP5109269A JP10926993A JPH06324935A JP H06324935 A JPH06324935 A JP H06324935A JP 5109269 A JP5109269 A JP 5109269A JP 10926993 A JP10926993 A JP 10926993A JP H06324935 A JPH06324935 A JP H06324935A
- Authority
- JP
- Japan
- Prior art keywords
- data
- scanning direction
- multiplexer
- cycle
- clock signal
- 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
Landscapes
- Image Input (AREA)
- Memory System (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】この発明は、デジタル・シグナル
・プロセッサ等で内部の画像メモリや外部の画像メモリ
をアクセスするための2次元アドレスを発生するアドレ
ス発生器およびアドレス発生システムに関するものであ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an address generator and an address generating system for generating a two-dimensional address for accessing an internal image memory or an external image memory by a digital signal processor or the like.
【0002】[0002]
【従来の技術】通常、画像データ等の2次元配置された
データも、メモリに格納する場合は1次元アドレス空間
にマッピングしなければならない。通常、画像データの
場合では画像をラスタ走査した順番で1次元アドレスに
マッピングされる。このデータを2次元データとして扱
う際には、ある矩形領域を切り出して用いることが多
い。2. Description of the Related Art Generally, data stored in a memory in a two-dimensional manner such as image data must be mapped in a one-dimensional address space. Normally, in the case of image data, the images are mapped to one-dimensional addresses in the order of raster scanning. When treating this data as two-dimensional data, a rectangular area is often cut out and used.
【0003】2次元データの典型的な例である画像デー
タの場合は、ある注目する画素の局所近傍領域を用いた
画像処理や、画像データの圧縮で用いられる全画像のブ
ロック画像への分割は、それぞれ3×3画素とか8×8
画素等の矩形領域を処理対象とする。図9および図10
に画像データが1次元アドレス空間にマッピングされて
いる様子を示す。図9および図10において、901は
アクセス対象矩形領域(M×N)、902は全体の画像
データ(Q×P)、903は実際のメモリ上のマッピン
グである。In the case of image data, which is a typical example of two-dimensional data, image processing using a local neighborhood of a pixel of interest or division of all images used in image data compression into block images is not possible. , 3 × 3 pixels or 8 × 8
A rectangular area such as a pixel is a processing target. 9 and 10
The image data is mapped in the one-dimensional address space. In FIGS. 9 and 10, 901 is an access target rectangular area (M × N), 902 is entire image data (Q × P), and 903 is actual mapping on a memory.
【0004】図9および図10に示すように、画像デー
タのある矩形領域はメモリ上で分割されて配列してお
り、矩形領域のデータを連続して取り出すためには、2
次元アドレスを発生するアドレス発生器が必要となる。
このアドレス発生器を用いて外部の画像メモリから内部
の画像メモリへのDMA(ダイレクト・メモリ・アクセ
ス)転送を行ったり、アドレス発生器によるメモリのア
クセスに同期してデジタル信号処理が行われる。As shown in FIGS. 9 and 10, a rectangular area containing image data is divided and arranged in a memory, and in order to continuously extract the data in the rectangular area, two areas are required.
An address generator is needed to generate the dimension address.
DMA (direct memory access) transfer from an external image memory to an internal image memory is performed using this address generator, and digital signal processing is performed in synchronization with memory access by the address generator.
【0005】従来のこの種のアドレス発生器としては、
例えば、図7に示すようなものがある。以下に、図7に
基づき従来のアドレス発生器の構成を説明する。この場
合、2次元データをある画像データとして説明する。図
7において、701はスタートアドレスレジスタ、70
2は主走査方向増分データレジスタ、703は副走査方
向増分データレジスタ、704は主走査方向データ個数
レジスタ、705は副走査方向データ個数レジスタ、7
06は第1のマルチプレクサ、707は加算器、708
は制御回路、709は第2のマルチプレクサ、710は
第3のマルチプレクサ、711は第1の累算レジスタ、
712は第2の累算レジスタ、713は第1制御信号、
714は第2制御信号、715は第3制御信号である。As a conventional address generator of this type,
For example, there is one as shown in FIG. The configuration of the conventional address generator will be described below with reference to FIG. In this case, the two-dimensional data will be described as certain image data. In FIG. 7, 701 is a start address register, and 70
2 is a main scanning direction increment data register, 703 is a sub scanning direction increment data register, 704 is a main scanning direction data number register, 705 is a sub scanning direction data number register, 7
06 is the first multiplexer, 707 is an adder, and 708
Is a control circuit, 709 is a second multiplexer, 710 is a third multiplexer, 711 is a first accumulation register,
712 is a second accumulation register, 713 is a first control signal,
Reference numeral 714 is a second control signal, and 715 is a third control signal.
【0006】以下、図7に基づき従来のアドレス発生器
の動作を説明する。M×Nの矩形領域をアクセス対象と
する。まず、第0サイクルから第4サイクルを利用し
て、スタートアドレスレジスタ701と主走査方向増分
データレジスタ702と副走査方向増分データレジスタ
703と主走査方向データ個数レジスタ704と副走査
方向データ個数レジスタ705の5個のレジスタに、ス
タートアドレスと主走査方向増分データと副走査方向増
分データと主走査方向データ個数と副走査方向データ個
数とを、任意の順序で1サイクル毎に1個ずつ設定す
る。以上の5つのサイクルで、各種データがレジスタ7
01〜705に設定される。The operation of the conventional address generator will be described below with reference to FIG. An M × N rectangular area is the access target. First, using the 0th to 4th cycles, a start address register 701, a main scanning direction increment data register 702, a sub scanning direction increment data register 703, a main scanning direction data number register 704, and a sub scanning direction data number register 705 are used. The start address, the increment data in the main scanning direction, the increment data in the sub-scanning direction, the number of data in the main scanning direction, and the number of data in the sub-scanning direction are set in each of the five registers, one by one, for each cycle. In the above five cycles, various data are registered in the register 7
It is set to 01 to 705.
【0007】この後、2次元アドレス発生の第0サイク
ル(上記のデータ設定の第0サイクルとは異なる)で
は、第2制御信号により第2のマルチプレクサ709で
スタートアドレスレジスタ701のスタートアドレスデ
ータを選択して、第1の累算レジスタ711と第2の累
算レジスタ712とに、初期値としてスタートアドレス
を設定する。After that, in the 0th cycle of the two-dimensional address generation (different from the 0th cycle of the above data setting), the second multiplexer 709 selects the start address data of the start address register 701 by the second control signal. Then, a start address is set as an initial value in the first accumulation register 711 and the second accumulation register 712.
【0008】つぎの第1サイクルでは、第1,第2およ
び第3の制御信号により、第1のマルチプレクサ706
で副走査方向増分データレジスタ703の副走査方向増
分データを選択し、第2のマルチプレクサ709で加算
器707の加算結果を選択し、第3のマルチプレクサ7
10で第1の累算レジスタ711のデータを選択して、
第1の累算レジスタ711のデータと副走査方向増分デ
ータレジスタ703の副走査方向増分データとを加算器
707により加算してこの加算結果を第1の累算レジス
タ711に書き込む。In the next first cycle, the first multiplexer 706 is operated by the first, second and third control signals.
To select the sub-scanning direction increment data in the sub-scanning direction increment data register 703, to select the addition result of the adder 707 in the second multiplexer 709, and to select the third multiplexer 7
Select the data of the first accumulation register 711 with 10,
The data in the first accumulation register 711 and the sub-scanning direction increment data in the sub-scanning direction increment data register 703 are added by the adder 707, and the addition result is written in the first accumulation register 711.
【0009】この後、第2サイクルから第M−1サイク
ルまでの各サイクルは、第1サイクルと同じ動作を続け
る。つぎに、第Mサイクルでは、第1,第2および第3
の制御信号により第1のマルチプレクサ706で主走査
方向増分データレジスタ702を選択し、第2のマルチ
プレクサ709で加算器707の加算結果を選択し、第
3のマルチプレクサ710で第2の累算レジスタ712
のデータを選択して、第2の累算レジスタ712のデー
タと主走査方向増分データレジスタ702の主走査方向
増分データとを加算器707により加算してこの加算結
果を第1の累算レジスタ711と第2の累算レジスタ7
12とに書き込む。After that, each cycle from the second cycle to the (M-1) th cycle continues the same operation as the first cycle. Next, in the Mth cycle, the first, second and third
Control signal of the first multiplexer 706 selects the increment data register 702 in the main scanning direction, the second multiplexer 709 selects the addition result of the adder 707, and the third multiplexer 710 selects the second accumulation register 712.
Data of the second accumulation register 712 and the main scanning direction increment data of the main scanning direction increment data register 702 are added by the adder 707, and the addition result is stored in the first accumulation register 711. And the second accumulation register 7
Write in 12 and.
【0010】同様に、第M+1サイクルから第2M−1
サイクルまで、…、第(N−1)M+1サイクルから第
NM−1サイクルまでの各サイクルでは、第1,第2お
よび第3の制御信号により、第1のマルチプレクサ70
6で副走査方向増分データレジスタ703の副走査方向
増分データを選択し、第2のマルチプレクサ709で加
算器707の加算結果を選択し、第3のマルチプレクサ
710で第1の累算レジスタ711のデータを選択し
て、第1の累算レジスタ711のデータと副走査方向増
分データレジスタ703の副走査方向増分データとを加
算器707により加算してこの加算結果を第1の累算レ
ジスタ711に書き込む制御を行う。Similarly, from the (M + 1) th cycle to the (2M-1) th cycle.
Up to the cycle, ... In each cycle from the (N−1) M + 1th cycle to the NM−1th cycle, the first multiplexer 70 is controlled by the first, second and third control signals.
6 selects the sub-scanning direction increment data of the sub-scanning direction increment data 703, the second multiplexer 709 selects the addition result of the adder 707, and the third multiplexer 710 selects the data of the first accumulation register 711. Is selected, the data of the first accumulation register 711 and the sub-scanning direction increment data of the sub-scanning direction increment data register 703 are added by the adder 707, and the addition result is written to the first accumulation register 711. Take control.
【0011】また、第Mサイクル、第2Mサイクル、
…、第(N−1)Mサイクルの各サイクルでは、第1,
第2および第3の制御信号により第1のマルチプレクサ
706で主走査方向増分データレジスタ702を選択
し、第2のマルチプレクサ709で加算器707の加算
結果を選択し、第3のマルチプレクサ710で第2の累
算レジスタ712のデータを選択して、第2の累算レジ
スタ712のデータと主走査方向増分データレジスタ7
04の主走査方向増分データとを加算してこの加算結果
を第1の累算レジスタ711と第2の累算レジスタ71
2とに書き込む制御を行う。The Mth cycle, the second M cycle,
..., in each cycle of the (N-1) Mth cycle,
The first and second control signals select the increment data register 702 in the main scanning direction by the second and third control signals, the second multiplexer 709 selects the addition result of the adder 707, and the third multiplexer 710 selects the second data. Data of the second accumulation register 712 and main scan direction increment data register 7 are selected.
No. 04 increment data in the main scanning direction and the addition result is added to the first accumulation register 711 and the second accumulation register 71.
2 and write control.
【0012】そして、第0サイクルから第NM−1サイ
クルに第1の累算レジスタ711のデータを出力する。
通常、デジタル・シグナル・プロセッサは、外部メモリ
に格納された2次元配列の画像データ等の内部メモリへ
の転送は、1個の外部メモリから1個の内部メモリへの
M×Nの矩形領域のデータ配列の転送であり、1サイク
ル毎に1個のデータをソース側のメモリ(外部メモリ)
から読み出し、読み出されたデータを1サイクル毎にデ
ステネーション側のメモリ(内部メモリ)に書き込むこ
とを特徴とする極めて簡単なアドレス発生システムであ
った。Then, the data of the first accumulation register 711 is output from the 0th cycle to the NM-1th cycle.
Normally, a digital signal processor transfers an image data of a two-dimensional array stored in an external memory to an internal memory in an M × N rectangular area from one external memory to one internal memory. This is a data array transfer, and one data is stored for each cycle in the source side memory (external memory).
It was an extremely simple address generation system characterized by reading data from the memory and writing the read data to the memory (internal memory) on the destination side every cycle.
【0013】従来のこの種のアドレス発生システムとし
ては、例えば図8に示すようなものがある。図8におい
て、801は外部メモリ、802はプロセッサ、803
は制御回路、804は外部メモリ用アドレス発生器、8
05は演算器、806は内部メモリ用アドレス発生器、
807は内部メモリ、808は第1クロック信号、80
9は外部メモリアドレス、810は外部メモリデータ、
811は第2クロック信号、812は内部メモリアドレ
ス、813は内部メモリデータを示す。なお、外部メモ
リ用アドレス発生器804および内部メモリ用アドレス
発生器806としては、図7のアドレス発生器がそれぞ
れ使用される。A conventional address generating system of this type is, for example, as shown in FIG. In FIG. 8, 801 is an external memory, 802 is a processor, and 803.
Is a control circuit, 804 is an external memory address generator, 8
05 is an arithmetic unit, 806 is an internal memory address generator,
807 is an internal memory, 808 is a first clock signal, 80
9 is an external memory address, 810 is external memory data,
Reference numeral 811 indicates a second clock signal, 812 indicates an internal memory address, and 813 indicates internal memory data. The address generator of FIG. 7 is used as the external memory address generator 804 and the internal memory address generator 806.
【0014】図8のアドレス発生システムの動作につい
て、図11を用いて説明する。図11は実際の画像デー
タのアクセスの様子を示す。図11において、1001
は外部メモリに格納されているアクセス対象矩形領域、
1002は外部メモリに格納されている全体の画像デー
タ、1003は内部メモリに格納されているアクセス対
象矩形領域、1004は内部メモリに格納されている全
体の画像データである。この場合、0から59が実際の
メモリのアドレスであり、(0)から(15)がアクセ
スする画素の番号を表す。The operation of the address generation system of FIG. 8 will be described with reference to FIG. FIG. 11 shows how the image data is actually accessed. In FIG. 11, 1001
Is the rectangular area to be accessed stored in the external memory,
Reference numeral 1002 is the entire image data stored in the external memory, 1003 is the access target rectangular area stored in the internal memory, and 1004 is the overall image data stored in the internal memory. In this case, 0 to 59 are the actual memory addresses, and (0) to (15) represent the pixel numbers to be accessed.
【0015】外部メモリ側では、副走査方向増分データ
として1、主走査方向増分データとして1ラインのデー
タ数10を設定する。第0サイクルでは、スタートアド
レスとして13を設定し、第1サイクルから第3サイク
ルまでの各サイクルでは、13に順次、副走査方向増分
データ1を加算してアドレス14,15,16を生成す
る。On the external memory side, 1 is set as the sub-scanning direction increment data, and the number of data of 1 line is set as 10 as the main scanning direction increment data. In the 0th cycle, 13 is set as the start address, and in each cycle from the 1st cycle to the 3rd cycle, the increment data 1 in the sub-scanning direction is sequentially added to 13 to generate the addresses 14, 15 and 16.
【0016】第4サイクルでは、第2の累算レジスタに
保持されているアドレス13に主走査方向増分データ1
0を加算してアドレス23を生成する。第5サイクルか
ら第7サイクルまでの各サイクルでは、23に順次、副
走査方向増分データ1を加算してアドレス24,25,
26を生成する。以下同様にして、アドレス33,3
4,35,36,43,44,45,46を順に生成
し、外部メモリ側の矩形領域1001のアクセスが実現
できる。In the fourth cycle, the increment data 1 in the main scanning direction is stored in the address 13 held in the second accumulation register.
0 is added to generate the address 23. In each cycle from the fifth cycle to the seventh cycle, 23 is sequentially added with the sub-scanning direction increment data 1 to add addresses 24, 25,
26 is generated. Similarly, the addresses 33, 3
4, 35, 36, 43, 44, 45, 46 are sequentially generated, and the rectangular area 1001 on the external memory side can be accessed.
【0017】また、内部メモリ側の矩形領域1003の
アドレス発生は、外部メモリ側と同様であるが、転送さ
れる各画素に対して発生するアドレスは内部メモリ側の
方が外部メモリ側より1サイクル遅れている。その状態
を図12に示す。図12には、第1クロック信号80
8,外部メモリアドレス809,外部メモリデータ81
0,第2クロック信号811,内部メモリアドレス81
2を示している。The address generation of the rectangular area 1003 on the internal memory side is similar to that on the external memory side, but the address generated for each pixel transferred is one cycle longer on the internal memory side than on the external memory side. Running late. The state is shown in FIG. In FIG. 12, the first clock signal 80
8, external memory address 809, external memory data 81
0, second clock signal 811, internal memory address 81
2 is shown.
【0018】また、外部メモリデータ810をパイプラ
イン化されている演算器805に入力し、演算器805
から内部メモリデータ813を出力して、転送データに
様々な処理を行うことも可能である。Further, the external memory data 810 is input to the pipelined arithmetic unit 805, and the arithmetic unit 805
It is also possible to output the internal memory data 813 from the device and perform various processes on the transfer data.
【0019】[0019]
【発明が解決しようとする課題】しかしながら、図7の
ようなアドレス発生器では、1つの矩形領域のアクセス
毎に、スタートアドレスレジスタ701と主走査方向増
分データレジスタ702と副走査方向増分データレジス
タ703と主走査方向データ個数レジスタ704と副走
査方向データ個数レジスタ705との5個のレジスタに
任意の順序で1サイクル毎に1個ずつデータを設定しな
ければならず、多くのサイクル数が必要である。However, in the address generator as shown in FIG. 7, the start address register 701, the main scanning direction increment data register 702, and the sub scanning direction increment data register 703 are accessed each time one rectangular area is accessed. The number of data in the main scanning direction data count register 704 and the data in the sub scanning direction data count register 705 must be set one by one in each cycle in any order, and a large number of cycles are required. is there.
【0020】その上、図8のようなアドレス発生システ
ムでは、内部メモリ807と外部メモリ801とのアク
セスを同期して行うようになっており、通常は外部メモ
リ801として動作速度が内部メモリ807より遅いメ
モリを利用せざるを得ないので、外部メモリ801のア
クセスサイクルに転送速度が制限される。したがって、
複数の外部メモリから同じアドレスの複数のデータを同
時に読み込むことにより動作速度を向上させることがで
きるが、そのデータの中には、有効と無効なデータが有
り、その区別を付けることが必要となる。In addition, in the address generation system as shown in FIG. 8, the internal memory 807 and the external memory 801 are accessed in synchronization with each other. Normally, the operating speed of the external memory 801 is lower than that of the internal memory 807. Since a slow memory has to be used, the transfer rate is limited to the access cycle of the external memory 801. Therefore,
The operation speed can be improved by reading multiple data of the same address from multiple external memories at the same time, but some of the data are valid and invalid, and it is necessary to distinguish between them. .
【0021】この発明の目的は、少ないサイクル数で2
次元データのアクセスの準備操作を可能とするアドレス
発生器を提供することである。この発明の他の目的は、
外部メモリの動作速度の任意の倍数でデータ転送を行う
ことを可能とするアドレス発生システムを提供すること
である。The object of the present invention is to reduce the number of cycles to 2
An object of the present invention is to provide an address generator that enables a preparatory operation for accessing dimension data. Another object of the present invention is to
An object of the present invention is to provide an address generation system capable of performing data transfer at an arbitrary multiple of the operation speed of an external memory.
【0022】[0022]
【課題を解決するための手段】この発明のアドレス発生
器は、実際に用いられるスタートアドレスデータと主走
査方向増分データと副走査方向増分データと主走査方向
データ個数と副走査方向データ個数とを、セレクタ構成
と制御信号により、予め保存されているデータから選択
して、複数のデータの設定を1サイクルで実行するとい
うものである。つまり、このアドレス発生器は、M×N
(M,Nは整数であってデータの個数またはメモリのア
ドレス個数を示す)の矩形領域のアドレスを発生するア
ドレス発生器であり、第1,第2および第3のマルチプ
レクサと、加算器と、第1および第2の累算レジスタ
と、スタートアドレスデータ記憶装置と、主走査方向増
分データ記憶装置と、副走査方向増分データ記憶装置
と、主走査方向データ個数記憶装置と、副走査方向デー
タ個数記憶装置と、制御回路とを備えている。SUMMARY OF THE INVENTION The address generator of the present invention stores start address data, main scanning direction increment data, sub scanning direction increment data, main scanning direction data number and sub scanning direction data number which are actually used. According to the selector configuration and the control signal, data selected in advance is selected and a plurality of data is set in one cycle. That is, this address generator is M × N
An address generator that generates an address of a rectangular area (M and N are integers and indicates the number of data or the number of memory addresses), and includes first, second and third multiplexers, an adder, First and second accumulation registers, start address data storage device, main scanning direction incremental data storage device, sub scanning direction incremental data storage device, main scanning direction data number storage device, and sub scanning direction data number A memory device and a control circuit are provided.
【0023】そして、制御回路からの制御信号により、
スタートアドレスデータ記憶装置と主走査方向増分デー
タ記憶装置と副走査方向増分データ記憶装置と主走査方
向データ個数記憶装置と副走査方向データ個数記憶装置
とに予め保存されているデータをそれぞれ1個ずつ選択
し、選択された主走査方向増分データと副走査方向増分
データとを第1のマルチプレクサに入力して第1のマル
チプレクサで主走査方向増分データと副走査方向増分デ
ータとの何れかを選択し、第1の累算レジスタのデータ
と第2の累算レジスタのデータとを第3のマルチプレク
サに入力して第3のマルチプレクサで第1の累算レジス
タのデータと第2の累算レジスタのデータとの何れかを
選択し、加算器により第1のマルチプレクサで選択され
たデータと第3のマルチプレクサで選択されたデータと
の加算を行い、この加算器の加算結果とスタートアドレ
スデータ記憶装置のスタートアドレスデータとを第2の
マルチプレクサに入力して第2のマルチプレクサで加算
器の加算結果とスタートアドレスデータ記憶装置のスタ
ートアドレスデータとの何れかを選択し、第2のマルチ
プレクサの出力を第1の累算レジスタと第2の累算レジ
スタとに入力する構成としている。Then, according to the control signal from the control circuit,
The start address data storage device, the main scanning direction incremental data storage device, the sub-scanning direction incremental data storage device, the main scanning direction data number storage device, and the sub-scanning direction data number storage device respectively store one data each in advance. The selected main scanning direction increment data and the sub scanning direction increment data are input to the first multiplexer, and either the main scanning direction increment data or the sub scanning direction increment data is selected by the first multiplexer. , The data of the first accumulation register and the data of the second accumulation register are input to the third multiplexer, and the data of the first accumulation register and the data of the second accumulation register are input by the third multiplexer. And the data selected by the first multiplexer and the data selected by the third multiplexer are added by the adder. The addition result of the adder and the start address data of the start address data storage device are input to the second multiplexer, and either the addition result of the adder or the start address data of the start address data storage device is input to the second multiplexer. The output of the second multiplexer is selected and input to the first accumulation register and the second accumulation register.
【0024】さらに、第0サイクルで、第2のマルチプ
レクサでスタートアドレスデータ記憶装置のスタートア
ドレスデータを選択し、第2のマルチプレクサの出力を
第1の累算レジスタと第2の累算レジスタとに設定し、
第1サイクルから第M−1サイクル、第M+1サイクル
から第2M−1サイクル、・・・、第(N−1)M+1
サイクルから第NM−1サイクルの各サイクルで、第3
のマルチプレクサで第1の累算レジスタのデータを選択
するとともに、第1のマルチプレクサで副走査方向増分
データを選択し、加算器で第1の累算レジスタのデータ
と副走査方向増分データとを加算してこの結果を第2の
マルチプレクサで選択して第1の累算レジスタに書き込
む制御を行い、第Mサイクル、第2Mサイクル、・・
・、第(N−1)Mサイクルの各サイクルで、第3のマ
ルチプレクサで第2の累算レジスタのデータを選択する
とともに、第1のマルチプレクサで主走査方向増分デー
タを選択し、加算器で第2の累算レジスタのデータと主
走査方向増分データとを加算してこの結果を第2のマル
チプレクサで選択して第1の累算レジスタと第2の累算
レジスタとの両方に書き込む制御を行い、第0サイクル
から第NM−1サイクルの各サイクルに第1の累算レジ
スタのデータを出力するようにしている。Further, in the 0th cycle, the start address data of the start address data storage device is selected by the second multiplexer, and the output of the second multiplexer is transferred to the first accumulation register and the second accumulation register. Set,
From the 1st cycle to the (M-1) th cycle, from the (M + 1) th cycle to the 2ndM-1 cycle, ..., (N-1) M + 1
In each cycle from the cycle to the NM-1th cycle, the third cycle
Multiplexer selects the data in the first accumulation register, the first multiplexer selects incremental data in the sub scanning direction, and the adder adds the data in the first accumulation register and the incremental data in the sub scanning direction. Then, the result is selected by the second multiplexer and written in the first accumulation register, and the control is performed. The Mth cycle, the second M cycle, ...
.. In each cycle of the (N-1) Mth cycle, the third multiplexer selects the data of the second accumulation register, the first multiplexer selects the increment data in the main scanning direction, and the adder Control for adding the data of the second accumulation register and the increment data in the main scanning direction, selecting the result by the second multiplexer, and writing the result in both the first accumulation register and the second accumulation register. The data of the first accumulation register is output in each cycle from the 0th cycle to the NM-1th cycle.
【0025】また、この発明のアドレス発生システム
は、外部メモリから読み出された有効なデータ以外の書
き込みを禁止する制御回路により内部メモリへデータ転
送を行うというものである。つまり、このアドレス発生
システムは、Y個(Yは整数を示す)の外部メモリと、
内部メモリと、外部メモリ用アドレス発生器(請求項1
記載の構成でも、従来例の構成でも、どちらでもよい)
と、内部メモリ用アドレス発生器(請求項1記載の構成
でも、従来例の構成でも、どちらでもよい)と、第1制
御回路および第2制御回路と、Y入力のマルチプレクサ
とを備えている。The address generating system of the present invention is such that data transfer to the internal memory is performed by a control circuit that prohibits writing of data other than valid data read from the external memory. In other words, this address generation system has Y (Y is an integer) external memory,
An internal memory and an external memory address generator (claim 1
Either the described configuration or the conventional configuration may be used.)
And an internal memory address generator (either the structure according to claim 1 or the structure according to the related art may be used), the first control circuit and the second control circuit, and the Y-input multiplexer.
【0026】そして、Y個の外部メモリにM×Nの2次
元データ配列が、副走査方向に連続しているY個のデー
タが1個ずつ別の外部メモリの同じアドレスとなるよう
にマッピングされていて、第1制御回路が第1クロック
信号を発生し、Y個の外部メモリの同じアドレスに依存
しているY個のデータを第1クロック信号の1サイクル
毎に同時に読み出し、読み出されたY個のデータをマル
チプレクサに入力し、第1制御回路が第1クロック信号
のY倍の速度の第2クロック信号を発生し、第1クロッ
ク信号の1サイクル内に第2クロック信号と同期して第
1外部メモリから第Y外部メモリの順序でマルチプレク
サに入力されたY個のデータを1個ずつ選択する構成と
なし、外部メモリ用アドレス発生器により望むL×N
(Lは整数を示す)の矩形領域を含むMY×N個(MY
mod L<X)のアドレスを発生して、そのアドレスに応
じたY個のデータを第1クロック信号の1サイクル毎に
同時に読み出しマルチプレクサによりY個の別のデータ
に分配し、第2制御回路に第2クロック信号を入力して
第2制御回路から第3クロック信号を発生させる構成と
し、マルチプレクサから出力されたMY×N個のデータ
の中から最初のN個の主走査方向のアドレスに依存して
いるY×Nのデータからなるデータ列の中の望むM×N
の矩形領域の範囲に含まれているデータと、最後のN個
の主走査方向のアドレスに依存しているY×Nのデータ
からなるデータ列の中の望むM×Nの矩形領域の範囲に
含まれているデータと、途中の複数のN個の主走査方向
のアドレスに依存しているY×Nのデータからなるデー
タ列の中の全てのデータとが内部メモリデータとして入
力される時のみ立ち上がりを有効とした第2クロック信
号を第3クロック信号として第2制御回路から発生さ
せ、内部メモリ用アドレス発生器により第3クロック信
号と同期して内部メモリの任意のL×Nの矩形領域に書
き込むようにしている。Then, an M × N two-dimensional data array is mapped to the Y external memories so that the Y continuous data in the sub-scanning direction become the same address of another external memory one by one. The first control circuit generates the first clock signal, and the Y pieces of data depending on the same address of the Y pieces of external memories are simultaneously read out and read out every one cycle of the first clock signal. The Y data is input to the multiplexer, the first control circuit generates the second clock signal at a speed Y times that of the first clock signal, and is synchronized with the second clock signal within one cycle of the first clock signal. The configuration is such that Y pieces of data input to the multiplexer in the order from the first external memory to the Yth external memory are selected one by one, and L × N desired by the external memory address generator is used.
MY × N (MY indicates an integer) rectangular area (MY
mod L <X) address is generated, and Y data corresponding to the address is simultaneously read out for each cycle of the first clock signal and distributed to Y different data by the multiplexer, and the second control circuit is provided. The configuration is such that the second clock signal is input to generate the third clock signal from the second control circuit, and it depends on the first N addresses in the main scanning direction from the MY × N data output from the multiplexer. Desired M × N in the data sequence consisting of Y × N data
Of the data contained in the range of the rectangular region and the last N of the data in the Y × N data depending on the address in the main scanning direction, within the range of the desired M × N rectangular region. Only when the included data and all the data in the data string consisting of Y × N data that depends on a plurality of N addresses in the main scanning direction on the way are input as internal memory data. A second clock signal whose rising edge is valid is generated as a third clock signal from the second control circuit, and is synchronized with the third clock signal by the internal memory address generator to generate an arbitrary L × N rectangular area of the internal memory. I try to write it.
【0027】なお、MYmod Lは、MY÷Lの剰余を意
味する。MYmod L means the remainder of MY ÷ L.
【0028】[0028]
【作用】この発明のアドレス発生器によると、従来は複
数のサイクルでスタートアドレスデータと主走査方向増
分データと副走査方向増分データと主走査方向データ個
数と副走査方向データ個数を1個ずつ設定したのが、ス
タートアドレスデータ記憶装置と主走査方向増分データ
記憶装置と副走査方向増分データ記憶装置と主走査方向
データ個数記憶装置と副走査方向データ個数記憶装置と
の各記憶装置に予めデータを格納しておき、各記憶装置
から各々1個ずつデータを選択することにより、2次元
データのアクセスの準備操作を1サイクルで実行するこ
とが可能となる。According to the address generator of the present invention, conventionally, the start address data, the main scanning direction increment data, the sub scanning direction increment data, the main scanning direction data number, and the sub scanning direction data number are set one by one in a plurality of cycles. This is because the start address data storage device, the main scanning direction incremental data storage device, the sub-scanning direction incremental data storage device, the main scanning direction data number storage device, and the sub-scanning direction data number storage device are preloaded with data. By storing the data and selecting one data from each storage device, it becomes possible to execute the preparation operation for accessing the two-dimensional data in one cycle.
【0029】また、この発明のアドレス発生システムに
よると、複数の外部メモリから複数のデータを同時に読
み出し、有効なデータのみ内部メモリへ書き込むことに
より、データ転送の速度を高めることが可能となる。Further, according to the address generating system of the present invention, it is possible to read a plurality of data from a plurality of external memories at the same time and write only valid data to the internal memory, thereby increasing the data transfer speed.
【0030】[0030]
〔実施例1〕図1にこの発明のアドレス発生器の一実施
例のブロック図を示す。図1に基づき、このアドレス発
生器の構成を説明する。ここでは、2次元データを画像
データとして説明する。図1において、101はスター
トアドレスデータ記憶装置、102は主走査方向増分デ
ータ記憶装置、103は副走査方向増分データ記憶装
置、104は主走査方向データ個数記憶装置、105は
副走査方向データ個数記憶装置、106は第1のマルチ
プレクサ、107は加算器、108は制御回路、109
は第2のマルチプレクサ、110は第3のマルチプレク
サ、111は第1の累算レジスタ、112は第2の累算
レジスタ、113は第1制御信号、114は第2制御信
号、115は第3制御信号、116は第4制御信号、1
17はフィールドアクセス対象パラメータである。[Embodiment 1] FIG. 1 shows a block diagram of an embodiment of the address generator of the present invention. The configuration of this address generator will be described with reference to FIG. Here, the two-dimensional data will be described as image data. In FIG. 1, 101 is a start address data storage device, 102 is a main scanning direction incremental data storage device, 103 is a sub scanning direction incremental data storage device, 104 is a main scanning direction data number storage device, and 105 is a sub scanning direction data number storage device. Device, 106 is a first multiplexer, 107 is an adder, 108 is a control circuit, 109
Is a second multiplexer, 110 is a third multiplexer, 111 is a first accumulation register, 112 is a second accumulation register, 113 is a first control signal, 114 is a second control signal, and 115 is a third control signal. Signal, 116 is the fourth control signal, 1
Reference numeral 17 is a field access target parameter.
【0031】そして、このアドレス発生器は、制御回路
108からの第1ないし第4制御信号(モード制御信
号)113,114,115,116により、スタート
アドレスデータ記憶装置101と主走査方向増分データ
記憶装置102と副走査方向増分データ記憶装置103
と主走査方向データ個数記憶装置104と副走査方向デ
ータ個数記憶装置105とに予め保存されているデータ
をそれぞれ1個ずつ選択し、選択された主走査方向増分
データと副走査方向増分データとを第1のマルチプレク
サ106に入力して第1のマルチプレクサ106で主走
査方向増分データと副走査方向増分データとの何れかを
選択し、第1の累算レジスタ111のデータと第2の累
算レジスタ112のデータとを第3のマルチプレクサ1
10に入力して第3のマルチプレクサ110で第1の累
算レジスタ111のデータと第2の累算レジスタ112
のデータとの何れかを選択し、加算器107により第1
のマルチプレクサ106で選択されたデータと第3のマ
ルチプレクサ110で選択されたデータとの加算を行
い、この加算器107の加算結果とスタートアドレスデ
ータ記憶装置101のスタートアドレスデータとを第2
のマルチプレクサ109に入力して第2のマルチプレク
サ109で加算器107の加算結果とスタートアドレス
データ記憶装置101のスタートアドレスデータとの何
れかを選択し、第2のマルチプレクサ109の出力を第
1の累算レジスタ111と第2の累算レジスタ112と
に入力する構成としている。This address generator stores the start address data storage device 101 and the main scanning direction incremental data storage by the first to fourth control signals (mode control signals) 113, 114, 115 and 116 from the control circuit 108. Device 102 and sub-scanning direction incremental data storage device 103
And the data stored in the main scanning direction data number storage device 104 and the sub scanning direction data number storage device 105 are selected one by one, and the selected main scanning direction increment data and sub scanning direction increment data are selected. The data is input to the first multiplexer 106 and either the main scanning direction increment data or the sub scanning direction increment data is selected by the first multiplexer 106, and the data of the first accumulation register 111 and the second accumulation register are selected. 112 data and the third multiplexer 1
10, the data of the first accumulation register 111 and the second accumulation register 112 are input to the third multiplexer 110.
Of the data, and the first by the adder 107
The data selected by the multiplexer 106 and the data selected by the third multiplexer 110 are added, and the addition result of the adder 107 and the start address data of the start address data storage device 101 are added to the second data.
To the first multiplexer 109, and the second multiplexer 109 selects either the addition result of the adder 107 or the start address data of the start address data storage device 101, and outputs the output of the second multiplexer 109 to the first accumulation. The arithmetic register 111 and the second accumulation register 112 are input.
【0032】以下、図1のアドレス発生器の動作を図4
を参照しながら説明する。図4において、401はメモ
リに格納されているアクセス対象矩形領域、402はメ
モリに格納されている全体の画像データ(10×6)で
ある。この場合、6×3の矩形領域をアクセス対象とす
る。まず、1サイクルでスタートアドレスデータ記憶装
置101に格納されている値12と主走査方向増分デー
タ記憶装置102に格納されている値20と副走査方向
増分データ記憶装置103に格納されている値1と主走
査方向データ個数記憶装置104に格納されている値3
と副走査方向データ個数記憶装置105に格納されてい
る値6を第1制御信号113により選択する。すなわ
ち、前記5個の記憶装置101〜105の全てについ
て、1サイクルでフィールドアクセス対象パラメータ1
17として予め保持されているデータの中からそれぞれ
1個ずつのデータを選択する。The operation of the address generator of FIG. 1 will be described below with reference to FIG.
Will be described with reference to. In FIG. 4, 401 is an access target rectangular area stored in the memory, and 402 is the entire image data (10 × 6) stored in the memory. In this case, the 6 × 3 rectangular area is the access target. First, in one cycle, the value 12 stored in the start address data storage device 101, the value 20 stored in the main scanning direction incremental data storage device 102, and the value 1 stored in the sub scanning direction incremental data storage device 103. And the value 3 stored in the main scanning direction data number storage device 104
And the value 6 stored in the sub scanning direction data number storage device 105 is selected by the first control signal 113. That is, for all of the five storage devices 101 to 105, the field access target parameter 1
One piece of data is selected from the data held in advance as 17.
【0033】2次元画像データの単位としてフレームが
あり、フィールドアクセスとは、フレームの副走査方向
データ列を主走査方向に上から下の順序で、主走査方向
の奇数番目の副走査方向データ列か、主走査方向の偶数
番目の副走査方向データ列のどちらかをまとめてアクセ
スする方式を示し、画像処理の分野ではよく利用されて
いる。There is a frame as a unit of two-dimensional image data, and field access means that a data row in the sub-scanning direction of a frame is an odd-numbered sub-scanning-direction data row in the main scanning direction from top to bottom. Or an even-numbered sub-scanning direction data string in the main scanning direction is collectively accessed, which is often used in the field of image processing.
【0034】アドレス発生の第0サイクルでは、第3制
御信号115により第2のマルチプレクサ109でスタ
ートアドレスデータ記憶装置101を選択して、第1の
累算レジスタ111と第2の累算レジスタ112とに、
初期値として、スタートアドレスの値12を設定する。
つぎの第1サイクルでは、第2,第3および第4の制御
信号により、第1のマルチプレクサ106で副走査方向
増分データ記憶装置103を選択し、第2のマルチプレ
クサ109で加算器107の加算結果を選択し、第3の
マルチプレクサ110で第1の累算レジスタ111を選
択して、第1の累算レジスタ111のデータと副走査方
向増分データレジスタ記憶装置103から選択された値
1とを加算器107により加算してこの結果を第1の累
算レジスタ111に書き込む。In the 0th cycle of address generation, the start address data storage device 101 is selected by the second multiplexer 109 by the third control signal 115, and the first accumulation register 111 and the second accumulation register 112 are selected. To
As the initial value, the value 12 of the start address is set.
In the next first cycle, the first multiplexer 106 selects the sub-scanning direction incremental data storage device 103 by the second, third, and fourth control signals, and the second multiplexer 109 selects the addition result of the adder 107. , The third multiplexer 110 selects the first accumulation register 111, and the data of the first accumulation register 111 and the value 1 selected from the sub-scanning direction increment data register storage device 103 are added. The value is added by the unit 107 and the result is written in the first accumulation register 111.
【0035】この後、第2サイクルから第5サイクルま
での各サイクルでは、第1サイクルと同じ動作を続け
る。つぎに、第6サイクルでは、第2,第3および第4
の制御信号により、第1のマルチプレクサ106で主走
査方向増分データ記憶装置102を選択し、第2のマル
チプレクサ109で加算器107の加算結果を選択し、
第3のマルチプレクサ110で第2の累算レジスタ11
2を選択して、第2の累算レジスタ112のデータと主
走査方向増分データ20とを加算器107により加算し
てこの加算結果を第1の累算レジスタ111と第2の累
算レジスタ112との両方に書き込む。Thereafter, in each cycle from the second cycle to the fifth cycle, the same operation as the first cycle is continued. Next, in the sixth cycle, the second, third and fourth
In accordance with the control signal of 1, the first multiplexer 106 selects the main scanning direction incremental data storage device 102, the second multiplexer 109 selects the addition result of the adder 107,
In the third multiplexer 110, the second accumulation register 11
2 is selected, the data of the second accumulation register 112 and the increment data 20 in the main scanning direction are added by the adder 107, and the addition result is the first accumulation register 111 and the second accumulation register 112. And write both.
【0036】同様にして、第7サイクルから第11サイ
クルまで、第13サイクルから第17サイクルまでの各
サイクルでは、第2,第3および第4の制御信号によ
り、第1のマルチプレクサ106で副走査方向増分デー
タ記憶装置103を選択し、第2のマルチプレクサ10
9で加算器107の加算結果を選択し、第3のマルチプ
レクサ110で第1の累算レジスタ111を選択して、
第1の累算レジスタ111のデータと副走査方向増分デ
ータ1とを加算器107により加算してこの加算結果を
第1の累算レジスタ111に書き込む制御を行う。Similarly, in each of the cycles from the seventh cycle to the eleventh cycle, and from the thirteenth cycle to the seventeenth cycle, the first, second, third, and fourth control signals cause the first multiplexer 106 to perform sub-scanning. Select the direction increment data storage device 103 to select the second multiplexer 10
9 selects the addition result of the adder 107, the third multiplexer 110 selects the first accumulation register 111,
The data of the first accumulation register 111 and the sub-scanning direction increment data 1 are added by the adder 107, and the addition result is controlled to be written in the first accumulation register 111.
【0037】また、第12サイクルでは、第2,第3お
よび第4の制御信号により、第1のマルチプレクサ10
6で主走査方向増分データ記憶装置102を選択し、第
2のマルチプレクサ109で加算器107の加算結果を
選択し、第3のマルチプレクサ110で第2の累算レジ
スタ112を選択して、第2の累算レジスタ112のデ
ータと主走査方向増分データ20とを加算してこの加算
結果を第1の累算レジスタ111と第2の累算レジスタ
112とに書き込む制御を行う。In the twelfth cycle, the first multiplexer 10 is controlled by the second, third and fourth control signals.
6 selects the main scanning direction incremental data storage device 102, the second multiplexer 109 selects the addition result of the adder 107, the third multiplexer 110 selects the second accumulation register 112, and the second The data of the accumulation register 112 and the increment data 20 in the main scanning direction are added, and the addition result is written in the first accumulation register 111 and the second accumulation register 112.
【0038】そして、第0サイクルから第17サイクル
までの各サイクルで、第1の累算レジスタ111のデー
タを出力する。このような動作によるデータの流れを図
4に示す。図4において、12から17まで、32から
37まで、52から57までが実際のメモリのアドレス
であり、(0)から(17)までがアクセスする画素の
番号を表す。この場合、副走査方向増分データとして
1、主走査方向増分データとして2ラインのデータ数2
0を設定する。Then, in each cycle from the 0th cycle to the 17th cycle, the data of the first accumulation register 111 is output. FIG. 4 shows a data flow due to such an operation. In FIG. 4, 12 to 17, 32 to 37, 52 to 57 are actual memory addresses, and (0) to (17) represent the pixel numbers to be accessed. In this case, the sub-scanning direction increment data is 1, and the main scanning direction increment data is 2 lines of data number 2
Set to 0.
【0039】第0サイクルでは、スタートアドレスとし
て12を設定し、第1から第5サイクルまでの各サイク
ルでは、12に順次、副走査方向増分データ1を加算し
てアドレス13,14,15,16,17を生成する。
第6サイクルでは、第2の累算レジスタ112に保持さ
れているアドレス12に主走査方向増分データ20を加
算してアドレス32を生成する。第7サイクルから第1
1サイクルまでの各サイクルでは、32に順次、副走査
方向増分データ1を加算してアドレス33,34,3
5,36,37を生成する。以下同様にして、第12サ
イクルから第17サイクルまでの各サイクルでは、アド
レス52,53,54,55,56,57を順に生成
し、矩形領域のアクセスが実現できる。In the 0th cycle, 12 is set as the start address, and in each cycle from the 1st to the 5th cycle, the increment data 1 in the sub-scanning direction is sequentially added to 12 and the addresses 13, 14, 15, 16 are added. , 17 are generated.
In the sixth cycle, the main scanning direction increment data 20 is added to the address 12 held in the second accumulation register 112 to generate the address 32. 7th cycle to 1st
In each cycle up to one cycle, the sub scan direction increment data 1 is sequentially added to 32 to add addresses 33, 34, 3
5, 36, 37 are generated. Similarly, in each cycle from the 12th cycle to the 17th cycle, the addresses 52, 53, 54, 55, 56, 57 are sequentially generated, and the rectangular area can be accessed.
【0040】この実施例のアドレス発生器によると、ス
タートアドレスデータ記憶装置101と主走査方向増分
データ記憶装置102と副走査方向増分データ記憶装置
103と主走査方向データ個数記憶装置104と副走査
方向データ個数記憶装置105との各記憶装置に予めデ
ータを格納しておき、各記憶装置から各々1個ずつデー
タを選択することにより、2次元データのアクセスの準
備操作を1サイクルで実行することが可能となる。According to the address generator of this embodiment, the start address data storage device 101, the main scanning direction incremental data storage device 102, the sub scanning direction incremental data storage device 103, the main scanning direction data number storage device 104, and the sub scanning direction. By pre-storing data in each storage device such as the data number storage device 105 and selecting one data from each storage device, the preparatory operation for accessing the two-dimensional data can be executed in one cycle. It will be possible.
【0041】〔実施例2〕図2および図3にこの発明の
アドレス発生システムの一実施例の構成を示す。まず、
図2に基づきこのアドレス発生システムの構成を説明す
る。図2において、201は第1外部メモリ、202は
第Y外部メモリ(Yは2以上の整数である)、203は
プロセッサ、204は第1制御回路、205は外部メモ
リ用アドレス発生器(この実施例では図1のアドレス発
生器を使用しているが、図7の従来例のアドレス発生器
を使用してもよい)である。206はマルチプレクサ、
207は第2制御回路、208は内部メモリ用アドレス
発生器(この実施例では図1のアドレス発生器を使用し
ているが、図7の従来例のアドレス発生器を使用しても
よい)である。209は演算器、210は内部メモリ、
211は第1クロック信号、212は外部メモリアドレ
ス、213は第1外部メモリデータ、214は第Y外部
メモリデータ、215は第2クロック信号、216はサ
ブアドレスレジスタへ書き込まれるサブアドレス信号、
217はマルチプレクサ出力、218は第3クロック信
号、219は内部メモリアドレス、220は内部メモリ
データである。[Embodiment 2] FIGS. 2 and 3 show the construction of an embodiment of the address generating system of the present invention. First,
The configuration of this address generation system will be described with reference to FIG. In FIG. 2, 201 is a first external memory, 202 is a Yth external memory (Y is an integer of 2 or more), 203 is a processor, 204 is a first control circuit, and 205 is an external memory address generator. In the example, the address generator of FIG. 1 is used, but the conventional address generator of FIG. 7 may be used). 206 is a multiplexer,
Reference numeral 207 denotes a second control circuit, and 208 denotes an internal memory address generator (in this embodiment, the address generator of FIG. 1 is used, but the conventional address generator of FIG. 7 may be used). is there. 209 is a computing unit, 210 is an internal memory,
Reference numeral 211 is a first clock signal, 212 is an external memory address, 213 is first external memory data, 214 is Y-th external memory data, 215 is a second clock signal, 216 is a sub-address signal written in a sub-address register,
217 is a multiplexer output, 218 is a third clock signal, 219 is an internal memory address, and 220 is internal memory data.
【0042】図2の第2制御回路207の構成は、例え
ば図3に示すようなものである。図3において、301
は第1カウンタ、302は第2カウンタ、303はサブ
アドレスレジスタ、304はデコーダ、305はコンパ
レータ、306はマルチプレクサ、307はORゲー
ト、308は制御信号、211は第1クロック信号、2
15は第2クロック信号、216はサブアドレス信号、
218は第3クロック信号である。The configuration of the second control circuit 207 in FIG. 2 is as shown in FIG. 3, for example. In FIG. 3, 301
Is a first counter, 302 is a second counter, 303 is a sub-address register, 304 is a decoder, 305 is a comparator, 306 is a multiplexer, 307 is an OR gate, 308 is a control signal, 211 is a first clock signal, 2
15 is the second clock signal, 216 is the sub-address signal,
218 is a third clock signal.
【0043】図2のアドレス発生器のシステムの動作を
図5を用いて説明する。図5は実際の画像データのアク
セスの様子を示している。図5において、501は複
数、例えば2個の外部メモリに格納されている6×4画
素のアクセス対象矩形領域、502は外部メモリのアク
セス対象矩形領域の第0データ列、503は外部メモリ
のアクセス対象矩形領域の第1データ列、504は外部
メモリのアクセス対象矩形領域の第2データ列、505
は複数、例えば2個の外部メモリに格納されている10
×12画素の全体の画像データ、506は内部メモリに
格納されている4×4のアクセス対象矩形領域、507
は内部メモリに格納されている10×6画素の全体の画
像データである。The operation of the address generator system of FIG. 2 will be described with reference to FIG. FIG. 5 shows how the image data is actually accessed. In FIG. 5, reference numeral 501 denotes an access target rectangular area of 6 × 4 pixels stored in a plurality of, for example, two external memories, 502 is a 0th data string of the access target rectangular area of the external memory, and 503 is access to the external memory. The first data string in the target rectangular area, 504 is the second data string in the rectangular area to be accessed in the external memory, 505
Is stored in a plurality of, for example, two external memories.
The entire image data of × 12 pixels, 506 is a 4 × 4 access target rectangular area stored in the internal memory, and 507.
Is the entire image data of 10 × 6 pixels stored in the internal memory.
【0044】0から59が実際のメモリのアドレスであ
り、(0)から(23)が外部メモリでアクセスする画
素の番号を表わし、(1)から(4)まで、(7)から
(10)まで、(13)から(16)まで、(19)か
ら(22)までが内部メモリに書き込むデータ番号であ
る。この場合、外部メモリ側では、副走査方向増分デー
タとして5、主走査方向増分データとして1を設定す
る。0 to 59 are the addresses of the actual memory, (0) to (23) represent the numbers of the pixels to be accessed in the external memory, and (1) to (4), (7) to (10). Up to (13) to (16) and (19) to (22) are data numbers to be written in the internal memory. In this case, on the external memory side, 5 is set as the sub scanning direction increment data and 1 is set as the main scanning direction increment data.
【0045】第0サイクルでは、スタートアドレスとし
て6を設定し、第1サイクルから第3サイクルまでの各
サイクルでは、6に順次、副走査方向増分データ5を加
算してアドレス11,16,21を生成する。したがっ
て、データ(0)と(1)、(6)と(7)、(12)
と(13)、(18)と(19)の順序で外部メモリの
アクセス対象矩形領域の第0データ列から1サイクル毎
に2個のデータが読み出される。In the 0th cycle, 6 is set as the start address, and in each cycle from the 1st cycle to the 3rd cycle, the increment data 5 in the sub-scanning direction is sequentially added to 6 to set the addresses 11, 16 and 21. To generate. Therefore, data (0) and (1), (6) and (7), (12)
In the order of (13), (18) and (19), two pieces of data are read from the 0th data string of the rectangular area to be accessed in the external memory every cycle.
【0046】第4サイクルでは、アドレス6に主走査方
向増分データ1を加算してアドレス7を生成する。第5
サイクルから第7サイクルまでの各サイクルでは、7に
順次、副走査方向増分データ5を加算してアドレス1
2,17,22を生成する。したがって、データ(2)
と(3)、(8)と(9)、(14)と(15)、(2
0)と(21)の順序で外部メモリのアクセス対象矩形
領域の第1データ列から1サイクル毎に2個のデータが
読み出される。In the fourth cycle, address 7 is generated by adding increment data 1 in the main scanning direction to address 6. Fifth
In each of the cycles from the 7th cycle to the 7th cycle, the subscanning direction increment data 5 is sequentially added to 7 to add the address 1
2, 17, and 22 are generated. Therefore, the data (2)
And (3), (8) and (9), (14) and (15), (2
In the order of 0) and (21), two pieces of data are read from the first data string of the rectangular area to be accessed in the external memory every cycle.
【0047】以下同様にして、アドレス8,13,1
8,23を順に生成し、データ(4)と(5)、(1
0)と(11)、(16)と(17)、(22)と(2
3)の順序で外部メモリのアクセス対象矩形領域の第2
データ列から1サイクル毎に2個のデータが読み出され
る。また、内部メモリ側の矩形領域のアドレス発生は、
外部メモリ側と異なっており、転送される各画素に対し
て発生されるアドレスは内部メモリ側の方が外部メモリ
側のY(=2)倍の速度で行われて、その上に、外部メ
モリ側から読み出されたデータの一部しか内部メモリ側
には書き込まない。内部メモリ側のアドレス発生とデー
タ書き込みは第3クロック信号218と同期して実行さ
れる。第3クロック信号218は、第2制御回路207
によって発生される。Similarly, addresses 8, 13, 1
8 and 23 are sequentially generated, and data (4), (5), and (1
0) and (11), (16) and (17), (22) and (2
2) of the rectangular area to be accessed in the external memory in the order of 3)
Two pieces of data are read from the data string every cycle. Also, the address generation of the rectangular area on the internal memory side is
Different from the external memory side, the address generated for each pixel to be transferred is performed on the internal memory side at a speed of Y (= 2) times that on the external memory side. Only part of the data read from the side is written to the internal memory side. Address generation and data writing on the internal memory side are executed in synchronization with the third clock signal 218. The third clock signal 218 is output to the second control circuit 207.
Generated by.
【0048】図6に基づき、この発明のアドレス発生シ
ステムの内部メモリアクセスを説明する。図6には、第
1クロック信号211,外部メモリアドレス212,外
部メモリデータ601(213,214),マルチプレ
クサ出力217,第2クロック信号215,第1カウン
タ出力301,第2カウンタ出力302,制御信号30
8,第3クロック信号218,内部メモリアドレス21
9を示している。The internal memory access of the address generation system of the present invention will be described with reference to FIG. In FIG. 6, the first clock signal 211, the external memory address 212, the external memory data 601 (213, 214), the multiplexer output 217, the second clock signal 215, the first counter output 301, the second counter output 302, the control signal. Thirty
8, third clock signal 218, internal memory address 21
9 is shown.
【0049】まず、外部メモリから読み出されたデータ
601を、マルチプレクサ206に通し、マルチプレク
サ206の入力レートのY(=2)倍の速度で1からY
(=2)番目のデータを出力し、これをマルチプレクサ
出力217に示す。第2クロック信号215は、第1ク
ロック信号211のY(=2)倍の速度である。第1カ
ウンタ301は外部メモリのアクセス対象矩形領域50
1の列番号を示し、第2カウンタ302は各マルチプレ
クサ出力に対応する外部メモリ番号を示す。サブアドレ
スレジスタ303は、0からY(=2)までの任意の値
設定が可能であり、これは、外部メモリのアクセス対象
矩形領域501の第0データ列の何番目の列からデータ
が有効であるということを示し、外部メモリのアクセス
対象矩形領域501の第2データ列、すなわち外部メモ
リのアクセス対象矩形領域501の最後の列の何番目の
列からデータが無効であるということを示す。First, the data 601 read from the external memory is passed through the multiplexer 206, and 1 to Y at a speed Y (= 2) times the input rate of the multiplexer 206.
The (= 2) th data is output and shown at the multiplexer output 217. The second clock signal 215 is Y (= 2) times faster than the first clock signal 211. The first counter 301 is the access target rectangular area 50 of the external memory.
The second counter 302 indicates the external memory number corresponding to each multiplexer output. The sub-address register 303 can be set to any value from 0 to Y (= 2), which means that data is valid from the 0th data column of the rectangular area 501 to be accessed in the external memory. This means that the data is invalid from the second data column of the access target rectangular area 501 of the external memory, that is, the number of the last column of the access target rectangular area 501 of the external memory.
【0050】この場合、サブアドレスレジスタ303は
1に設定されている。コンパレータ305には、第2カ
ウンタ302の値が「1」未満の時「0」、「1」以上
になると「1」を出力する正論理出力と、第2カウンタ
302の値が「1」未満の時「1」、「1」以上になる
と「0」を出力する負論理出力を設けている。マルチプ
レクサ306は、第1カウンタ301の出力が「0」の
時、すなわち外部メモリのアクセス対象矩形領域501
の最初の列の時、コンパレータ305の負論理出力を選
択し、第1カウンタ301の出力が「2」の時、すなわ
ち外部メモリのアクセス対象矩形領域501の最後の列
の時、コンパレータの正論理出力を選択し、それ以外の
時は「0」を選択し、制御信号308を発生する。In this case, the sub address register 303 is set to 1. The comparator 305 outputs a positive logic output that outputs “0” when the value of the second counter 302 is less than “1” and “1” when the value of the second counter 302 is more than “1”, and the value of the second counter 302 is less than “1”. In this case, a negative logic output is provided, which outputs "0" when the value is "1" or "1" or more. The multiplexer 306, when the output of the first counter 301 is “0”, that is, the access target rectangular area 501 of the external memory.
In the first column, the negative logic output of the comparator 305 is selected, and when the output of the first counter 301 is “2”, that is, in the last column of the access target rectangular area 501 of the external memory, the positive logic of the comparator is selected. The output is selected, otherwise "0" is selected and the control signal 308 is generated.
【0051】この制御信号308と第2クロック信号2
15とをORゲート307に入力し、第3クロック信号
218が出力され、この第3クロック信号218により
マルチプレクサ出力217が内部メモリ210に書き込
まれる。また、内部メモリアドレス219も第3クロッ
ク信号218と同期して発生し、この動作は図1の回路
と同様である。The control signal 308 and the second clock signal 2
15 is input to the OR gate 307, the third clock signal 218 is output, and the multiplexer output 217 is written to the internal memory 210 by the third clock signal 218. The internal memory address 219 is also generated in synchronization with the third clock signal 218, and this operation is similar to that of the circuit of FIG.
【0052】また、マルチプレクサ出力217をパイプ
ライン化されている演算器209に入力し、演算器20
9から内部メモリデータ220を出力して、転送データ
に様々な処理を行うことも可能である。Further, the multiplexer output 217 is inputted to the arithmetic unit 209 which is pipelined, and the arithmetic unit 20
It is also possible to output the internal memory data 220 from 9 and perform various processing on the transfer data.
【0053】[0053]
【発明の効果】この発明のアドレス発生器によれば、従
来は複数のサイクルでスタートアドレスデータと主走査
方向増分データと副走査方向増分データと主走査方向デ
ータ個数と副走査方向データ個数を設定したのが、1サ
イクルで2次元データのアクセスの準備操作を実行する
ことが可能となり、アドレス発生の準備操作が短縮され
る。According to the address generator of the present invention, conventionally, the start address data, the main scanning direction increment data, the sub scanning direction increment data, the main scanning direction data number, and the sub scanning direction data number are set in a plurality of cycles. However, the preparation operation for accessing the two-dimensional data can be executed in one cycle, and the preparation operation for address generation can be shortened.
【0054】この発明のアドレス発生システムによれ
ば、複数のソースメモリから複数のデータを同時に読み
込み、データ転送の速度を高める際に課題になっていた
無効データを取り込まずに有効なデータのみデスティネ
ーションメモリに書き込むことが可能となり、この発明
の実用的効果は大きい。According to the address generating system of the present invention, a plurality of data are simultaneously read from a plurality of source memories, and only valid data is received without taking in invalid data which has been a problem when increasing the data transfer speed. It becomes possible to write in the memory, and the practical effect of the present invention is great.
【図1】この発明のアドレス発生器の一実施例の構成図
である。FIG. 1 is a block diagram of an embodiment of an address generator of the present invention.
【図2】この発明のアドレス発生システムの一実施例の
構成図である。FIG. 2 is a block diagram of an embodiment of the address generation system of the present invention.
【図3】図2のアドレス発生システムの第2制御回路の
構成図である。3 is a configuration diagram of a second control circuit of the address generation system of FIG.
【図4】図1のアドレス発生器のアクセス対象矩形領域
を示す図である。4 is a diagram showing an access target rectangular area of the address generator of FIG. 1. FIG.
【図5】図2のアドレス発生システムのアクセス対象矩
形領域を示す図である。5 is a diagram showing a rectangular area to be accessed by the address generation system of FIG.
【図6】図2のアドレス発生システムの動作を示すタイ
ミングチャートである。FIG. 6 is a timing chart showing an operation of the address generation system of FIG.
【図7】アドレス発生器の従来例の構成図である。FIG. 7 is a configuration diagram of a conventional example of an address generator.
【図8】アドレス発生システムの従来例の構成図であ
る。FIG. 8 is a configuration diagram of a conventional example of an address generation system.
【図9】画像データの概念図である。FIG. 9 is a conceptual diagram of image data.
【図10】(a)は全体の画像データを示す図、(b)
はメモリ上のマッピングを示す図である。FIG. 10A is a diagram showing the entire image data, and FIG.
FIG. 4 is a diagram showing mapping on a memory.
【図11】図8のアドレス発生シテスムのアクセス対象
矩形領域を示す図である。11 is a diagram showing an access target rectangular area of the address generation system of FIG. 8;
【図12】図8のアドレス発生シテスムの動作を示すタ
イミングチャートである。12 is a timing chart showing the operation of the address generation system of FIG.
101 スタートアドレスデータ記憶装置 102 主走査方向増分データ記憶装置 103 副走査方向増分データ記憶装置 104 主走査方向データ個数記憶装置 105 副走査方向データ個数記憶装置 106 第1のマルチプレクサ 107 加算器 108 制御回路 109 第2のマルチプレクサ 110 第3のマルチプレクサ 111 第1の累算レジスタ 112 第2の累算レジスタ 113 第1制御信号 114 第2制御信号 115 第3制御信号 116 第4制御信号 117 フィールドアクセス対象パラメータ 201 第1外部メモリ 202 第Y外部メモリ 203 プロセッサ 204 第1制御回路 205 外部メモリ用アドレス発生器 206 マルチプレクサ 207 第2制御回路 208 内部メモリ用アドレス発生器 209 演算器 210 内部メモリ 211 第1クロック信号 212 外部メモリアドレス 213 第1外部メモリデータ 214 第Y外部メモリデータ 215 第2クロック信号 216 サブアドレス信号 217 マルチプレクサ出力 218 第3クロック信号 219 内部メモリアドレス 220 内部メモリデータ 301 第1カウンタ 302 第2カウンタ 303 サブアドレスレジスタ 304 デコーダ 305 コンパレータ 306 マルチプレクサ 307 ORゲート 308 制御信号 401 メモリに格納されているアクセス対象矩形領
域 402 メモリに格納されている全体の画像データ 501 複数の外部メモリに格納されているアクセス
対象矩形領域 502 第0データ列 503 第1データ列 504 第2データ列 505 複数の外部メモリに格納されている全体の画
像データ 506 内部メモリに格納されているアクセス対象矩
形領域 507 内部メモリに格納されている全体の画像デー
タ 601 外部メモリデータ101 Start Address Data Storage Device 102 Main Scan Direction Incremental Data Storage Device 103 Sub Scanning Direction Incremental Data Storage Device 104 Main Scanning Direction Data Number Storage Device 105 Sub Scanning Direction Data Number Storage Device 106 First Multiplexer 107 Adder 108 Control Circuit 109 Second multiplexer 110 Third multiplexer 111 First accumulation register 112 Second accumulation register 113 First control signal 114 Second control signal 115 Third control signal 116 Fourth control signal 117 Field access target parameter 201th 1 External Memory 202 Yth External Memory 203 Processor 204 First Control Circuit 205 External Memory Address Generator 206 Multiplexer 207 Second Control Circuit 208 Internal Memory Address Generator 209 Arithmetic Unit 210 In Memory 211 First clock signal 212 External memory address 213 First external memory data 214 Yth external memory data 215 Second clock signal 216 Sub-address signal 217 Multiplexer output 218 Third clock signal 219 Internal memory address 220 Internal memory data 301 First counter 302 second counter 303 sub-address register 304 decoder 305 comparator 306 multiplexer 307 OR gate 308 control signal 401 access target rectangular area stored in memory 402 overall image data stored in memory 501 stored in multiple external memories Access target rectangular area 502 0th data string 503 1st data string 504 2nd data string 505 Total of data stored in multiple external memories Entire image data 601 external memory data stored in the access target rectangular area 507 internal memory which is stored in the image data 506 internal memory
───────────────────────────────────────────────────── フロントページの続き (72)発明者 扇 俊之 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Toshiyuki Ogi 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd.
Claims (3)
個数またはメモリのアドレス個数を示す)の矩形領域の
アドレスを発生するアドレス発生器であって、 第1,第2および第3のマルチプレクサと、加算器と、
第1および第2の累算レジスタと、スタートアドレスデ
ータ記憶装置と、主走査方向増分データ記憶装置と、副
走査方向増分データ記憶装置と、主走査方向データ個数
記憶装置と、副走査方向データ個数記憶装置と、制御回
路とを備え、 前記制御回路からの制御信号により、前記スタートアド
レスデータ記憶装置と前記主走査方向増分データ記憶装
置と前記副走査方向増分データ記憶装置と前記主走査方
向データ個数記憶装置と前記副走査方向データ個数記憶
装置とに予め保存されているデータをそれぞれ1個ずつ
選択し、選択された主走査方向増分データと副走査方向
増分データとを前記第1のマルチプレクサに入力して前
記第1のマルチプレクサで前記主走査方向増分データと
副走査方向増分データとの何れかを選択し、前記第1の
累算レジスタのデータと前記第2の累算レジスタのデー
タとを前記第3のマルチプレクサに入力して前記第3の
マルチプレクサで前記第1の累算レジスタのデータと前
記第2の累算レジスタのデータとの何れかを選択し、前
記加算器により前記第1のマルチプレクサで選択された
データと前記第3のマルチプレクサで選択されたデータ
との加算を行い、この加算器の加算結果と前記スタート
アドレスデータ記憶装置のスタートアドレスデータとを
前記第2のマルチプレクサに入力して前記第2のマルチ
プレクサで前記加算器の加算結果と前記スタートアドレ
スデータ記憶装置のスタートアドレスデータとの何れか
を選択し、前記第2のマルチプレクサの出力を前記第1
の累算レジスタと前記第2の累算レジスタとに入力する
構成とし、 第0サイクルで、前記第2のマルチプレクサで前記スタ
ートアドレスデータ記憶装置のスタートアドレスデータ
を選択し、前記第2のマルチプレクサの出力を前記第1
の累算レジスタと前記第2の累算レジスタとに設定し、
第1サイクルから第M−1サイクル、第M+1サイクル
から第2M−1サイクル、・・・、第(N−1)M+1
サイクルから第NM−1サイクルの各サイクルで、前記
第3のマルチプレクサで前記第1の累算レジスタのデー
タを選択するとともに、前記第1のマルチプレクサで前
記副走査方向増分データを選択し、前記加算器で前記第
1の累算レジスタのデータと前記副走査方向増分データ
とを加算してこの結果を前記第2のマルチプレクサで選
択して前記第1の累算レジスタに書き込む制御を行い、
第Mサイクル、第2Mサイクル、・・・、第(N−1)
Mサイクルの各サイクルで、前記第3のマルチプレクサ
で前記第2の累算レジスタのデータを選択するととも
に、前記第1のマルチプレクサで前記主走査方向増分デ
ータを選択し、前記加算器で前記第2の累算レジスタの
データと前記主走査方向増分データとを加算してこの結
果を前記第2のマルチプレクサで選択して前記第1の累
算レジスタと前記第2の累算レジスタとの両方に書き込
む制御を行い、第0サイクルから第NM−1サイクルの
各サイクルに前記第1の累算レジスタのデータを出力す
るようにしているアドレス発生器。1. An address generator for generating an address of a rectangular area of M × N (where M and N are integers and represents the number of data or the number of memory addresses), the first, second and 3 multiplexer, adder,
First and second accumulation registers, start address data storage device, main scanning direction incremental data storage device, sub scanning direction incremental data storage device, main scanning direction data number storage device, and sub scanning direction data number A storage device and a control circuit are provided, and the start address data storage device, the main scanning direction increment data storage device, the sub-scanning direction increment data storage device, and the main scanning direction data number are controlled by a control signal from the control circuit. The data previously stored in the storage device and the sub-scanning direction data number storage device are selected one by one, and the selected main scanning direction increment data and sub-scanning direction increment data are input to the first multiplexer. Then, the first multiplexer selects either the main scanning direction increment data or the sub scanning direction increment data, and the first accumulation The register data and the data of the second accumulation register are input to the third multiplexer, and the data of the first accumulation register and the data of the second accumulation register are input by the third multiplexer. Any one of them is selected, and the data selected by the first multiplexer and the data selected by the third multiplexer are added by the adder, and the addition result of the adder and the start address data storage The start address data of the device is inputted to the second multiplexer, and the second multiplexer selects either the addition result of the adder or the start address data of the start address data storage device, and the second multiplexer The output of the multiplexer of the first
Of the start address data storage device is selected by the second multiplexer in the 0th cycle, and the start address data of the second multiplexer is selected. Output the first
And the second accumulation register,
From the 1st cycle to the (M-1) th cycle, from the (M + 1) th cycle to the 2ndM-1 cycle, ..., (N-1) M + 1
In each cycle from the cycle to the NM−1th cycle, the third multiplexer selects the data of the first accumulation register, the first multiplexer selects the increment data in the sub-scanning direction, and the addition is performed. The data in the first accumulation register and the increment data in the sub-scanning direction are added by a controller, the result is selected by the second multiplexer and written in the first accumulation register.
Mth cycle, 2nd M cycle, ..., (N-1) th cycle
In each cycle of M cycles, the third multiplexer selects the data of the second accumulation register, the first multiplexer selects the main scanning direction increment data, and the adder adds the second data. The data of the accumulation register and the increment data in the main scanning direction are added, and the result is selected by the second multiplexer and written to both the first accumulation register and the second accumulation register. An address generator for controlling and outputting the data of the first accumulation register in each cycle from the 0th cycle to the NM-1th cycle.
と、内部メモリと、外部メモリ用アドレス発生器と、内
部メモリ用アドレス発生器と、第1制御回路および第2
制御回路と、Y入力のマルチプレクサとを備え、 前記Y個の外部メモリにM×Nの2次元データ配列が、
副走査方向に連続しているY個のデータが1個ずつ別の
外部メモリの同じアドレスとなるようにマッピングされ
ていて、前記第1制御回路が第1クロック信号を発生
し、前記Y個の外部メモリの同じアドレスに依存してい
るY個のデータを前記第1クロック信号の1サイクル毎
に同時に読み出し、読み出されたY個のデータを前記マ
ルチプレクサに入力し、前記第1制御回路が前記第1ク
ロック信号のY倍の速度の第2クロック信号を発生し、
前記第1クロック信号の1サイクル内に前記第2クロッ
ク信号と同期して第1外部メモリから第Y外部メモリの
順序で前記マルチプレクサに入力されたY個のデータを
1個ずつ選択する構成となし、前記外部メモリ用アドレ
ス発生器により望むL×N(Lは整数を示す)の矩形領
域を含むMY×N個(MYmod L<X)のアドレスを発
生して、そのアドレスに応じたY個のデータを前記第1
クロック信号の1サイクル毎に同時に読み出し前記マル
チプレクサによりY個の別のデータに分配し、 前記第2制御回路に前記第2クロック信号を入力して前
記第2制御回路から第3クロック信号を発生させる構成
とし、前記マルチプレクサから出力されたMY×N個の
データの中から最初のN個の主走査方向のアドレスに依
存しているY×Nのデータからなるデータ列の中の望む
M×Nの矩形領域の範囲に含まれているデータと、最後
のN個の主走査方向のアドレスに依存しているY×Nの
データからなるデータ列の中の望むM×Nの矩形領域の
範囲に含まれているデータと、途中の複数のN個の主走
査方向のアドレスに依存しているY×Nのデータからな
るデータ列の中の全てのデータとが内部メモリデータと
して入力される時のみ前記立ち上がりを有効とした第2
クロック信号を第3クロック信号として前記第2制御回
路から発生させ、前記内部メモリ用アドレス発生器によ
り第3クロック信号と同期して前記内部メモリの任意の
L×Nの矩形領域に書き込むようにしたことを特徴とす
るアドレス発生システム。2. Y (where Y is an integer) external memories, an internal memory, an external memory address generator, an internal memory address generator, a first control circuit and a second control circuit.
A control circuit and a Y-input multiplexer are provided, and M × N two-dimensional data array is provided in the Y external memories.
Y data that are continuous in the sub-scanning direction are mapped one by one so as to have the same address in another external memory, and the first control circuit generates a first clock signal so that the Y data is generated. The Y pieces of data which depend on the same address of the external memory are simultaneously read every one cycle of the first clock signal, the read Y pieces of data are inputted to the multiplexer, and the first control circuit is arranged to Generate a second clock signal at a speed Y times that of the first clock signal,
In a cycle of the first clock signal, in synchronization with the second clock signal, Y data inputted to the multiplexer in order from the first external memory to the Yth external memory are selected one by one. , MY × N (MYmod L <X) addresses including the desired L × N (L is an integer) rectangular area are generated by the external memory address generator, and Y addresses corresponding to the addresses are generated. Data is the first
The clock signals are simultaneously read out for each cycle and distributed to Y different data by the multiplexer, and the second clock signal is input to the second control circuit to generate the third clock signal from the second control circuit. Of the MY × N data output from the multiplexer, and the desired M × N data in the data sequence consisting of the Y × N data depending on the first N main scanning direction addresses is selected. Included in the range of the desired M × N rectangular area in the data string consisting of the data included in the rectangular area and the last N pieces of Y × N data depending on the main scanning direction address. Only when the stored data and all the data in the data string consisting of Y × N data depending on the plurality of N addresses in the main scanning direction are input as internal memory data. Standing The second that made the rise effective
A clock signal is generated as a third clock signal from the second control circuit, and is written in an arbitrary L × N rectangular area of the internal memory in synchronization with the third clock signal by the internal memory address generator. An address generation system characterized in that
と、内部メモリと、請求項1記載の構成を有する外部メ
モリ用アドレス発生器と、請求項1記載の構成を有する
内部メモリ用アドレス発生器と、第1制御回路および第
2制御回路と、Y入力のマルチプレクサとを備え、 前記Y個の外部メモリにM×Nの2次元データ配列が、
副走査方向に連続しているY個のデータが1個ずつ別の
外部メモリの同じアドレスとなるようにマッピングされ
ていて、前記第1制御回路が第1クロック信号を発生
し、前記Y個の外部メモリの同じアドレスに依存してい
るY個のデータを前記第1クロック信号の1サイクル毎
に同時に読み出し、読み出されたY個のデータを前記マ
ルチプレクサに入力し、前記第1制御回路が前記第1ク
ロック信号のY倍の速度の第2クロック信号を発生し、
前記第1クロック信号の1サイクル内に前記第2クロッ
ク信号と同期して第1外部メモリから第Y外部メモリの
順序で前記マルチプレクサに入力されたY個のデータを
1個ずつ選択する構成となし、前記外部メモリ用アドレ
ス発生器により望むL×N(Lは整数を示す)の矩形領
域を含むMY×N個(MYmod L<X)のアドレスを発
生して、そのアドレスに応じたY個のデータを前記第1
クロック信号の1サイクル毎に同時に読み出し前記マル
チプレクサによりY個の別のデータに分配し、 前記第2制御回路に前記第2クロック信号を入力して前
記第2制御回路から第3クロック信号を発生させる構成
とし、前記マルチプレクサから出力されたMY×N個の
データの中から最初のN個の主走査方向のアドレスに依
存しているY×Nのデータからなるデータ列の中の望む
M×Nの矩形領域の範囲に含まれているデータと、最後
のN個の主走査方向のアドレスに依存しているY×Nの
データからなるデータ列の中の望むM×Nの矩形領域の
範囲に含まれているデータと、途中の複数のN個の主走
査方向のアドレスに依存しているY×Nのデータからな
るデータ列の中の全てのデータとが内部メモリデータと
して入力される時のみ前記立ち上がりを有効とした第2
クロック信号を第3クロック信号として前記第2制御回
路から発生させ、前記内部メモリ用アドレス発生器によ
り第3クロック信号と同期して前記内部メモリの任意の
L×Nの矩形領域に書き込むようにしたことを特徴とす
るアドレス発生システム。3. Y (where Y represents an integer) external memories, an internal memory, an external memory address generator having the configuration according to claim 1, and an internal memory having the configuration according to claim 1. An address generator, a first control circuit, a second control circuit, and a Y-input multiplexer are provided, and an M × N two-dimensional data array is provided in the Y external memories.
Y data that are continuous in the sub-scanning direction are mapped one by one so as to have the same address in another external memory, and the first control circuit generates a first clock signal so that the Y data is generated. The Y pieces of data which depend on the same address of the external memory are simultaneously read every one cycle of the first clock signal, the read Y pieces of data are inputted to the multiplexer, and the first control circuit is arranged to Generate a second clock signal at a speed Y times that of the first clock signal,
In a cycle of the first clock signal, in synchronization with the second clock signal, Y data inputted to the multiplexer in order from the first external memory to the Yth external memory are selected one by one. , MY × N (MYmod L <X) addresses including the desired L × N (L is an integer) rectangular area are generated by the external memory address generator, and Y addresses corresponding to the addresses are generated. Data is the first
The clock signals are simultaneously read out for each cycle and distributed to Y different data by the multiplexer, and the second clock signal is input to the second control circuit to generate the third clock signal from the second control circuit. Of the MY × N data output from the multiplexer, and the desired M × N data in the data sequence consisting of the Y × N data depending on the first N main scanning direction addresses is selected. Included in the range of the desired M × N rectangular area in the data string consisting of the data included in the rectangular area and the last N pieces of Y × N data depending on the main scanning direction address. Only when the stored data and all the data in the data string consisting of Y × N data depending on the plurality of N addresses in the main scanning direction are input as internal memory data. Standing The second that made the rise effective
A clock signal is generated as a third clock signal from the second control circuit, and is written in an arbitrary L × N rectangular area of the internal memory in synchronization with the third clock signal by the internal memory address generator. An address generation system characterized in that
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5109269A JPH06324935A (en) | 1993-05-11 | 1993-05-11 | Address generator and address generation system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5109269A JPH06324935A (en) | 1993-05-11 | 1993-05-11 | Address generator and address generation system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06324935A true JPH06324935A (en) | 1994-11-25 |
Family
ID=14505894
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5109269A Pending JPH06324935A (en) | 1993-05-11 | 1993-05-11 | Address generator and address generation system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06324935A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20000028546A (en) * | 1998-10-13 | 2000-05-25 | 다니구찌 이찌로오;기타오카 다카시 | Processor and memory control method |
| JP2020521198A (en) * | 2017-05-23 | 2020-07-16 | グーグル エルエルシー | Access data in multidimensional tensor using adder |
| US11184063B2 (en) | 2019-10-31 | 2021-11-23 | Cognitive Systems Corp. | Eliciting MIMO transmissions from wireless communication devices |
-
1993
- 1993-05-11 JP JP5109269A patent/JPH06324935A/en active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20000028546A (en) * | 1998-10-13 | 2000-05-25 | 다니구찌 이찌로오;기타오카 다카시 | Processor and memory control method |
| JP2020521198A (en) * | 2017-05-23 | 2020-07-16 | グーグル エルエルシー | Access data in multidimensional tensor using adder |
| US11184063B2 (en) | 2019-10-31 | 2021-11-23 | Cognitive Systems Corp. | Eliciting MIMO transmissions from wireless communication devices |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2446413B1 (en) | Apparatus and method for displaying a warped version of a source image | |
| EP0443551B1 (en) | A multidimensional address generator and a system for controlling the generator | |
| JP2000089748A (en) | Image processing apparatus and image processing method | |
| JPH07168754A (en) | Method for loading and reading of square picture | |
| US5675826A (en) | Image data storage | |
| EP0959428B1 (en) | Image processing apparatus, special effect apparatus and image processing method | |
| JPH06324935A (en) | Address generator and address generation system | |
| JP2000311241A (en) | Image processor | |
| JP2854420B2 (en) | Multidimensional address generator and its control method | |
| JPS6061853A (en) | Information processor | |
| JP2610887B2 (en) | Image data rotation processor | |
| JPS62175879A (en) | Generating device for data on binary picture similarity conversion picture element | |
| JPH05113928A (en) | Image memory device | |
| JPS60211690A (en) | Memory circuit | |
| JP2647378B2 (en) | Image processing device | |
| JP2537851B2 (en) | Image scaling processor | |
| RU1772806C (en) | Image processor | |
| JP2989193B2 (en) | Image memory interleaved input / output circuit | |
| JP2523687Y2 (en) | Image data processing device | |
| JPS60198652A (en) | Picture memory | |
| JP2647379B2 (en) | Image processing device | |
| JPH01255978A (en) | Sequential local parallel processing device | |
| JPH09251545A (en) | Picture processor | |
| JPH0362276B2 (en) | ||
| JPH0863595A (en) | Image rotation processing method and apparatus thereof |