[go: up one dir, main page]

JPH05204744A - Two-dimensionally arranged data access device - Google Patents

Two-dimensionally arranged data access device

Info

Publication number
JPH05204744A
JPH05204744A JP4034060A JP3406092A JPH05204744A JP H05204744 A JPH05204744 A JP H05204744A JP 4034060 A JP4034060 A JP 4034060A JP 3406092 A JP3406092 A JP 3406092A JP H05204744 A JPH05204744 A JP H05204744A
Authority
JP
Japan
Prior art keywords
unit
data
memory
units
array data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4034060A
Other languages
Japanese (ja)
Other versions
JP2887369B2 (en
Inventor
Toshio Kondo
利夫 近藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP4034060A priority Critical patent/JP2887369B2/en
Publication of JPH05204744A publication Critical patent/JPH05204744A/en
Application granted granted Critical
Publication of JP2887369B2 publication Critical patent/JP2887369B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Memory System (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Abstract

PURPOSE:To realize the more compact two-dimensionally arranged data access device without lowering high-speed rotation. CONSTITUTION:This device is composed of plural memory units 20, a address translater 21 to generate addresses mutually different and a common address for all respective memory units, a rotary unit 10 equipped with a function to rotate arranged data for the unit of a block by 90 deg. while enabling mutual access between the memory units, and a means to transfer the arranged data of the unit of the block held in the respective rotary units to the memory unit different from an access source. Thus, assuming that the rotation by 90 deg. is parallelly executed for the unit of the block, the rearrangement of data and the address translation of the unit memory can be wholly executed for the unit of the block. Therefore, two-dimensional access is realized for the unit of 90 deg. rotation, data arranged in the shape of laterally long slips (corresponding to rows) or data arranged in the shape of longitudinally long slips (corresponding to columns).

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、高速でかつ小型経済的
な画像処理装置,パターン認識装置等の実現に必要とな
る2次元配列データアクセス装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a two-dimensional array data access device required for realizing a high-speed, compact and economical image processing device, pattern recognition device and the like.

【0002】[0002]

【従来の技術】画像処理,パターン認識,行列計算等で
は、2次元配列データに対し、行単位のアクセスだけで
なく、列単位のアクセスがしばしば必要となる。従っ
て、これらの分野への適用を目指す処理装置の性能向上
には、行,列両方向のアクセス機能、あるいは列を行と
して(あるいは行を列として)アクセスするための行,
列間の変換、すなわち2次元配列データの90度回転の
高速化が必須といえる。従来、行,列両方向のアクセス
機構としては、2次元アクセスメモリ(文献:元岡他
「二次元記憶を用いた連想処理システム」信学技報EC
76−80)が知られている。また、高速な90度回転
機構としては、行単位で順次入力した2次元配列データ
を列単位で順次出力する機能(あるいは列単位で入力し
た2次元データを行単位で出力する機能)を有する直並
列変換形の回転器(文献:特願昭57-121753 )が用いら
れている。以下、本発明と関係の深い、これらについて
説明する。
2. Description of the Related Art In image processing, pattern recognition, matrix calculation, etc., it is often necessary to access not only row units but also column units for two-dimensional array data. Therefore, in order to improve the performance of a processor aiming at application to these fields, a row and column bidirectional access function, or a row for accessing a column as a row (or a row as a column),
It can be said that conversion between columns, that is, speeding up rotation of two-dimensional array data by 90 degrees is essential. Conventionally, a two-dimensional access memory has been used as a two-dimensional access mechanism (reference: Motooka et al. "Associative processing system using two-dimensional memory", IEICE Tech.
76-80) is known. Further, as a high-speed 90-degree rotation mechanism, a direct function having a function of sequentially outputting the two-dimensional array data sequentially input in the row unit in the column unit (or a function of outputting the two-dimensional data input in the column unit in the row unit) is provided. A parallel conversion type rotator (reference: Japanese Patent Application No. 57-121753) is used. These will be described below, which are closely related to the present invention.

【0003】はじめに、2次元アクセスメモリについて
説明する。図20は、2次元アクセスメモリのブロック
構成図である。この2次元アクセスメモリでは、各メモ
リユニット20の要素データの並びをデータ並べ替えネ
ットワーク5により適当に置換するとともに、各メモリ
のアドレスをアドレス変換器(ADC)21で適当に変
換することにより任意の列あるいは行を1マシンサイク
ルでアクセスできる。以下、その動作を、アドレス変換
器21が加算型でデータ並べ替えネットワーク5がバレ
ルシフタで構成される2次元アクセスメモリに、図20
に示すように1行ごとに要素1個分ずつずらして格納さ
れる2次元配列データ(D00〜D77)から、行あるいは
列をアクセスする場合(要素単位のスキュードアレイ
〔SkewedArray〕方式)について説明する。
First, the two-dimensional access memory will be described. FIG. 20 is a block diagram of the two-dimensional access memory. In this two-dimensional access memory, the arrangement of element data of each memory unit 20 is appropriately replaced by the data rearrangement network 5, and the address of each memory is appropriately converted by the address converter (ADC) 21. A column or row can be accessed in one machine cycle. The operation will be described below with reference to a two-dimensional access memory in which the address converter 21 is an addition type and the data rearrangement network 5 is a barrel shifter.
When a row or column is accessed from the two-dimensional array data (D 00 to D 77 ) that is stored by shifting one element for each row as shown in, (element-wise skewed array [Skewed Array] method) Will be described.

【0004】図20の2次元配列データの並びから明ら
かなように、各メモリユニット(MU)20の配列全体
に共通のアドレスADを変換なしで与えれば、メモリユ
ニット内の上から(AD+1)行目の行データがアクセ
スでき、i番目のメモリユニット20に(AD+i)の
アドレスが行くようにアドレス変換器21を加算器とし
て動作させれば、同図における右下がりの斜め方向の並
びの一つ、すなわち(9−AD)列目がアクセスできる
ことがわかる。但し、このままでアクセスされるデータ
は巡回的にシフトされた形になっているのでデータ並べ
替えネットワーク5で正規の形に戻してやる必要があ
る。ここで、9列目以降は、8で割った余りの列目を意
味している。なお、図20中太い一点鎖線はそれぞれ共
通のアドレス,個別のアドレスの信号線を示している。
As is apparent from the arrangement of the two-dimensional array data in FIG. 20, if a common address AD is given to the entire array of each memory unit (MU) 20 without conversion, (AD + 1) rows from the top in the memory unit. If the address converter 21 is operated as an adder so that the row data of the eye can be accessed and the address (AD + i) goes to the i-th memory unit 20, one of the diagonally downward-sloping rows in FIG. That is, it can be seen that the (9-AD) th column can be accessed. However, since the data accessed as it is is in a cyclically shifted form, it is necessary to restore it to a normal form in the data rearrangement network 5. Here, the 9th and subsequent columns mean the remaining columns divided by 8. It should be noted that thick chain lines in FIG. 20 indicate signal lines of a common address and individual addresses, respectively.

【0005】次に、直並列変換形回転器を用いた90度
回転機構について説明する。図21は、その回転機構の
一例を示しており、2次元配列データの記憶手段である
アクセス幅がWのメモリ2、2次元配列データの行,列
を変換する手段であるサイズがW×Wの直並列変換型回
転器1等からなる。その90度回転の動作は、W×Wの
2次元配列データをW幅の行単位でメモリ2から読み出
し、それを、左側から列として、順次、回転器1に入力
した後、今度は下側からW幅の行単位に順次取り出し
て、メモリ2に書き込むことである。同図中19はメモ
リ,回転器間パスを示している。
Next, a 90-degree rotating mechanism using a serial-parallel conversion type rotator will be described. FIG. 21 shows an example of the rotating mechanism. The memory 2, which is a storage unit for the two-dimensional array data, has an access width of W, and the size, which is a unit for converting rows and columns of the two-dimensional array data, is W × W. The serial-parallel conversion type rotator 1 and the like. The operation of rotating by 90 degrees is such that the W × W two-dimensional array data is read from the memory 2 in units of W width rows, and is sequentially input to the rotator 1 as columns from the left side. Is sequentially taken out in units of W width lines and written in the memory 2. Reference numeral 19 in the figure indicates a path between the memory and the rotator.

【0006】この動作から明らかなように、W×Wの2
次元配列データの回転の所要マシンサイクル数SW は、
メモリから回転器への読み出しにWマシンサイクル、回
転器からメモリへの書き込みにWマシンサイクルで、合
わせて SW =2W ・・・・・(1) となる。但し、W幅の行単位のメモリアクセス,回転器
1に対する入出力は、いずれも1マシンサイクルで実現
できるものとしている。これにより、メモリ2内に格納
されているA×A(AはWの整数倍)の大規模な2次元
配列データを、W×W単位の回転を繰り返して実現する
場合、全体の所要マシンサイクル数ST は ST =(A2/W2)×2W =2A2/W ・・・・・(2) となり、回転の処理速度はWに比例することがわかる。
As is apparent from this operation, W × W 2
The required machine cycle number S W for rotation of the dimensional array data is
In the W machine cycle for reading from the memory to the rotator and in the W machine cycle for writing from the rotator to the memory, S W = 2W (1). However, it is assumed that the memory access for each W width row and the input / output to / from the rotator 1 can be realized in one machine cycle. As a result, when the large-scale two-dimensional array data of A × A (A is an integer multiple of W) stored in the memory 2 is realized by repeating the rotation in W × W units, the entire required machine cycle The number S T is S T = (A 2 / W 2 ) × 2W = 2A 2 / W (2), and it can be seen that the processing speed of rotation is proportional to W.

【0007】[0007]

【発明が解決しようとする課題】しかし、これらのいず
れも、列あるいは行のアクセス幅を広げて速度向上を図
ろうとすると、ハードウェア規模が著しく増大する欠点
がある。例えば、2次元アクセスメモリでは、図20に
示すブロック構成から明かなように、行あるいは列の要
素ごとに対応するメモリユニット20とアドレス変換器
21を持たねばならないのに加え、データ並べ替え用ネ
ットワーク5として、ハードウェア規模が行あるいは列
のアクセス幅に比例する以上の割合で増大するバレルシ
フタ,シャッフルネットワーク等を必要とする。また、
直並列変換型の回転器1を用いる90度回転機構も、図
21から明らかなように、行あるいは列のアクセス幅W
の2乗に比例して、ハードウェア規模が著しく増大す
る。
However, all of these have a drawback that the hardware scale is remarkably increased when the access width of a column or a row is widened to increase the speed. For example, in the two-dimensional access memory, as is apparent from the block configuration shown in FIG. 20, in addition to having to have the memory unit 20 and the address converter 21 corresponding to each row or column element, the data rearrangement network 5, a barrel shifter, a shuffle network, etc., whose hardware scale increases at a rate larger than that of the row or column access width, are required. Also,
As is clear from FIG. 21, the 90-degree rotation mechanism using the serial / parallel conversion type rotator 1 has an access width W of a row or a column.
The hardware scale increases significantly in proportion to the square of.

【0008】本発明は以上の点に鑑み、上記のような課
題を解決するためになされたもので、その目的は、画像
やパターンなどの2次元配列データを高速に処理する装
置を小型経済的に実現するため、回転速度を低下させる
ことなくハードウェア規模をよりコンパクトに実現可能
にした2次元配列データアクセス装置を提供することに
ある。
In view of the above points, the present invention has been made to solve the above problems, and an object thereof is to reduce the size and cost of an apparatus that processes two-dimensional array data such as images and patterns at high speed. In order to realize the above, it is an object of the present invention to provide a two-dimensional array data access device capable of realizing a more compact hardware scale without lowering the rotation speed.

【0009】[0009]

【課題を解決するための手段】上記の目的を達成するた
め、本発明では、従来の2次元アクセスメモリのように
データの並べ替え,メモリユニットのアドレスの変換を
要素単位で行うのではなく、ブロック単位の90度回転
の並列実行を前提に、データの並べ替え,メモリユニッ
トのアドレスの変換を、すべてブロック単位で行うこと
によって、90度回転,あるいは横長の短冊状配列デー
タ(行に対応)、縦長の短冊状配列データ(列に対応)
を単位とする2次元アクセスを実現する。
In order to achieve the above object, the present invention does not perform data rearrangement and memory unit address conversion in element units as in a conventional two-dimensional access memory. 90 degree rotation or horizontally long strip-shaped array data (corresponding to rows) by rearranging data and converting memory unit addresses in block units, assuming parallel execution of 90-degree rotation in block units , Vertical strip array data (corresponding to columns)
Realizes two-dimensional access in units of.

【0010】具体的には、全体に共通なアドレスと互い
に異なるアドレスとをアクセスできるメモリユニットの
アレイと、その各メモリユニットからアクセスされるブ
ロック単位の配列データを同時に90度回転することの
できる90度回転ユニットのアレイと、各回転ユニット
が保持するブロック単位の配列データを、アクセス元と
は異なるメモリユニットへ転送する手段とで、2次元配
列データアクセス装置を構成するものである。
Specifically, an array of memory units that can access an address that is common to the whole and addresses that are different from each other, and array data in block units accessed from each of the memory units can be simultaneously rotated 90 degrees. A two-dimensional array data access device is configured by an array of degree rotation units and means for transferring the block-unit array data held by each rotation unit to a memory unit different from the access source.

【0011】[0011]

【作用】本発明においては、各90度回転ユニットが、
対応する各メモリユニットの所定(2次元配列データを
回転するのか、縦長,横長の短冊状配列データをアクセ
スするのかによって決まる。配列全体に共通の場合とメ
モリユニットごとに異なる場合がある。)のアドレスか
らブロック単位の配列データを読み出し、続いてこの各
ブロック単位の配列データを、必要に応じて90度回転
ユニット配列で並列に90度回転して、さらにその各ブ
ロック単位の配列データを転送手段を介して、やはり所
定のメモリユニットの互いに異なるアドレスに書込むこ
とにより、2次元配列データの90度回転,あるいは2
次元配列データに対する横長の短冊状配列データおよび
縦長の短冊状配列データのアクセスが可能となる。これ
によって、回転の処理速度を低下させることなく、デー
タ並べ替え用ネットワークの単純化,アドレス変換器の
低減等によるハードウェア規模の低減がはかれる。
In the present invention, each 90-degree rotating unit is
Predetermined for each corresponding memory unit (determined by whether to rotate two-dimensional array data or to access vertically and horizontally elongated strip array data. This may be common to the entire array or may be different for each memory unit). The array data in block units is read from the address, the array data in each block unit is subsequently rotated in parallel by 90 ° in a 90 ° rotation unit array, if necessary, and the array data in each block unit is further transferred. Also, the two-dimensional array data is rotated by 90 degrees by writing to different addresses of a predetermined memory unit via
It is possible to access the horizontally long strip-shaped array data and the vertically long strip-shaped array data with respect to the dimensional array data. As a result, the hardware scale can be reduced by simplifying the data rearranging network and reducing the address translator without reducing the rotation processing speed.

【0012】[0012]

【実施例】【Example】

実施例1 図1は本発明の第1の実施例であり、この実施例は、図
1に示すように、回転ユニット(RU1〜RU4)10,
セレクタ(SEL1〜SEL4)12,アクセス幅がW/
N(本実施例ではN=4)のメモリユニット(MU1
MU4)20,アドレス変換器(ADC1〜ADC4)2
1等の1次元配列、および制御部30から構成される。
ここで、符号19は各メモリユニット,回転ユニット間
パスであり、太い実線はアクセス幅がW/4のデータ転
送用信号線、太い破線は読み,書き,転送等の制御のた
めの共通の制御信号線、細い破線は個別の制御信号線、
太い一点鎖線はアドレス信号線である。
Embodiment 1 FIG. 1 is a first embodiment of the present invention. This embodiment, as shown in FIG. 1, includes rotating units (RU 1 to RU 4 ) 10,
Selector (SEL 1 to SEL 4 ) 12, access width is W /
N (N = 4 in this embodiment) memory units (MU 1 to
MU 4 ) 20, address converter (ADC 1 to ADC 4 ) 2
It is composed of a one-dimensional array such as 1 and a control unit 30.
Here, reference numeral 19 is a path between each memory unit and a rotary unit, a thick solid line is a data transfer signal line with an access width of W / 4, and a thick broken line is a common control for controlling read, write, transfer, etc. Signal lines, thin broken lines are individual control signal lines,
The thick one-dot chain line is an address signal line.

【0013】また、図2は回転ユニット(RU1〜R
4)10の構成を示しており、記憶回路(MC)13
の2次元配列、行単位に設けている入力バス14、出力
バス15、列単位に設けている出力バス16、セレクタ
(SEL)17等からなる。なお、本実施例の2次元配
列データアクセス装置を外部からアクセスするためのメ
モリユニット配列あるいは回転ユニット配列に対するパ
スは簡単のため図示していない。以下、本実施例によ
り、図3に示す2次元配列データを90度回転する場合
について説明する。
Further, FIG. 2 shows a rotary unit (RU 1 -R).
U 4 ) 10 of the memory circuit (MC) 13
2), an input bus 14 provided in a row unit, an output bus 15, an output bus 16 provided in a column unit, a selector (SEL) 17, and the like. The path to the memory unit array or the rotation unit array for externally accessing the two-dimensional array data access device of this embodiment is not shown for simplicity. Hereinafter, the case where the two-dimensional array data shown in FIG. 3 is rotated by 90 degrees according to the present embodiment will be described.

【0014】図3の回転対象の2次元配列データは、ブ
ロック単位の配列データのA〜Pから構成されており、
メモリユニット20の配列に、図4に示すようにA,
E,I,Mの先頭の行からD,H,L,Pの末尾の行ま
でが、メモリユニット20の配列のAD0〜(AD0+
W−1)番地に格納されているものとする。この2次元
配列データを次のような手順で処理することにより、下
側のAD1〜(AD1+W−1)番地の格納エリアに回
転後の2次元配列データを順次形成することで、90度
回転を実現する。
The two-dimensional array data to be rotated in FIG. 3 is composed of array data A to P in block units,
In the arrangement of the memory units 20, as shown in FIG.
From the first row of E, I, M to the last row of D, H, L, P, AD0- (AD0 +) of the array of the memory unit 20 is displayed.
It is assumed to be stored in the address W-1). By processing the two-dimensional array data in the following procedure, the two-dimensional array data after rotation is sequentially formed in the storage areas of the lower addresses AD1 to (AD1 + W-1), so that the 90-degree rotation can be performed. To be realized.

【0015】ステップ1 A,H,K,Nの各ブロック単位の配列データを、図5
に示すように、90度回転を行いながら回転ユニット1
0の配列に読み出す。この処理は、各メモリユニット2
0から順次読み出すW/4幅の行単位のデータを、各回
転ユニット10で最右列から左側に向かって順次書込む
ことで行う。この際、メモリユニット(MU)20に与
えるアドレスは、制御部30で順次生成するAD0〜
(AD0+W/4−1)のアドレスADDを、さらにア
ドレス変換器21で、左からi番目のメモリユニットM
iに対するアドレスADDiが ADDi=AD0+mod((ADD−AD0+W−(i−1)W/4)/W ) ・・・・・(3) となるように変換することで生成する。また、回転ユニ
ット10内のセレクタ(SEL)17はメモリユニット
20からの入力が選ばれるように設定する。さらに、各
回転ユニット10への書込みは、2次元配列の記憶回路
(MC)13に対する行方向の入力バス14からの書込
みを、最右列から最左列に向かって列単位で順次活性化
することで行う。
Step 1 The array data for each block unit of A, H, K and N is shown in FIG.
Rotating unit 1 while rotating 90 degrees as shown in
Read to array 0. This process is performed by each memory unit 2
Data is sequentially read from 0 in units of W / 4 width rows by sequentially writing data from the rightmost column to the left side in each rotary unit 10. At this time, the addresses given to the memory unit (MU) 20 are AD0 to AD0 sequentially generated by the control unit 30.
The address ADD of (AD0 + W / 4-1) is further converted by the address converter 21 into the i-th memory unit M from the left.
Address ADD i for U i is generated by converting so that ADD i = AD0 + mod (( ADD-AD0 + W- (i-1) W / 4) / W) ····· (3). Further, the selector (SEL) 17 in the rotary unit 10 is set so that the input from the memory unit 20 is selected. Further, the writing to each rotary unit 10 sequentially activates the writing from the input bus 14 in the row direction to the memory circuit (MC) 13 of the two-dimensional array from the rightmost column to the leftmost column in column units. Do that.

【0016】ステップ2 回転ユニット(RU)10内のブロック単位の配列デー
タを図6に示すように左側に回転ユニット1個分シフト
する。これは、i番目のセレクタ12つまりSEL
iを、i+1番目の回転ユニットRUi+1からの入力が選
ばれるように設定し、各回転ユニット10内のセレクタ
17をセレクタ12つまりSELi からの入力が選ばれ
るように設定するとともに、回転ユニット10内の記憶
回路(MC)13の行方向バス15に対する出力、およ
び行方向バス14からの入力(バス14からの記憶回路
13に対する書込み)を、各記憶回路13内で列単位に
順次活性化することで行う。
Step 2 The array data in block units in the rotation unit (RU) 10 is shifted to the left by one rotation unit as shown in FIG. This is the i-th selector 12 or SEL
i is set so that the input from the (i + 1) th rotation unit RU i + 1 is selected, and the selector 17 in each rotation unit 10 is set so that the input from the selector 12, that is, SEL i is selected. The output of the memory circuit (MC) 13 in the unit 10 to the row direction bus 15 and the input from the row direction bus 14 (writing from the bus 14 to the memory circuit 13) are sequentially activated in each memory circuit 13 in units of columns. By converting.

【0017】ステップ3 各回転ユニット10内のA,H,K,Nのブロック単位
の配列データを、図7に示すようにメモリユニット20
内の回転後の格納エリアに書込み。この処理は、回転ユ
ニット10内のメモリユニット20に向かう列方向バス
16に対する記憶回路13の出力を、行単位で、上側か
ら下側に向かって順次活性化し、これによって読み出さ
れるデータをメモリユニット20に順次書込むことで行
う。この際、メモリユニット(MU)20に与えるアド
レスは、ステップ1と同様、制御部30で順次生成する
AD1〜(AD1+W/4−1)のアドレスADDを、
さらにアドレス変換器21で、左からi番目のメモリユ
ニットMUi に対するアドレスADDiが ADDi=AD1+mod((ADD−AD1+i×W/4)/W)・・・(4) となるように変換することで生成する。
Step 3 A, H, K, N block unit array data in each rotary unit 10 is stored in the memory unit 20 as shown in FIG.
Write to the storage area after rotation. In this process, the output of the memory circuit 13 to the column-direction bus 16 toward the memory unit 20 in the rotation unit 10 is sequentially activated row by row from the upper side to the lower side, and the data read by this is activated. It writes by sequentially writing in. At this time, the address given to the memory unit (MU) 20 is the address ADD of AD1 to (AD1 + W / 4-1) sequentially generated by the control unit 30, as in step 1.
Further the address converter 21 converts such that the address ADD i for the i-th memory units MU i from the left ADD i = AD1 + mod (( ADD-AD1 + i × W / 4) / W) ··· (4) To generate.

【0018】以上のステップ1からステップ3の一連の
サイクルを、次のサイクルに入るごとに制御部30から
生成するアドレスADDをW/4だけ大きくするととも
に、ステップ2における左方向へのシフト量を、セレク
タ12のセレクタの設定を切り換えることで、回転ユニ
ット1個分ずつ大きくしながら、さらに3回繰り返す
と、{B,E,L,O}、{C,F,I,P}、{D,
G,J,M}のブロック単位の配列データの各組が順次
変換され、図8に示すように、回転後の格納エリアに9
0度回転結果が得られる。
In the series of cycles from step 1 to step 3 described above, the address ADD generated from the control unit 30 is increased by W / 4 each time the next cycle is entered, and the shift amount to the left in step 2 is increased. , By switching the selector setting of the selector 12 and increasing the rotation unit by one unit, and further repeating three times, {B, E, L, O}, {C, F, I, P}, {D ,
Each set of block data of G, J, M} is sequentially converted, and as shown in FIG.
A 0 degree rotation result is obtained.

【0019】続いて、本実施例による縦長の短冊状配列
データ,横長の短冊状配列データを単位とする2次元ア
クセスについて説明する。アクセス対象の2次元配列デ
ータ(図3に示すものと同一とする)が、あらかじめ、
図9に示すように2次元配列データが(W/4)×(W
/4)のブロックを単位とするスキュードアレイ形式で
格納されているものとする。
Next, the two-dimensional access in units of vertically long strip-shaped array data and horizontally long strip-shaped array data according to this embodiment will be described. The two-dimensional array data to be accessed (identical to that shown in FIG. 3) is
As shown in FIG. 9, the two-dimensional array data is (W / 4) × (W
It is assumed that the data is stored in the skewed array format with the block of / 4) as a unit.

【0020】この図9から容易にわかるように、従来の
2次元アクセスメモリの行に対応する横長の短冊状配列
データは、制御部30で生成する全体に共通のアドレス
で、そのまま回転ユニット10に読み出し(図10参
照)、その後、回転ユニット10間で所定量だけシフト
することで、回転ユニット10の配列上に読み出すこと
ができる(図11参照)。行単位のデータが必要な場合
には、各回転ユニット10の対応する行を活性化し、列
方向のバスを介して読み出せばよい。書込みは、この逆
で、対象とする横長の短冊状配列データを所定量回転ユ
ニット10間でシフトした後、制御部30で生成する共
通のアドレスでメモリユニット20に書込むことで実現
される。
As can be easily understood from FIG. 9, the horizontally long strip-shaped array data corresponding to the rows of the conventional two-dimensional access memory is the address common to the whole generated by the control unit 30, and is directly stored in the rotary unit 10. By reading out (see FIG. 10) and then shifting by a predetermined amount between the rotating units 10, it is possible to read out on the array of the rotating units 10 (see FIG. 11). If row-wise data is required, the corresponding row of each rotary unit 10 may be activated and read out via the bus in the column direction. Writing is performed in reverse, by shifting the target horizontally long strip-shaped array data between the rotation units 10 by a predetermined amount, and then writing the same in the memory unit 20 at a common address generated by the control unit 30.

【0021】これに対し、列に対応する縦長の短冊状配
列データの読み出しは、共通のアドレスをアドレス変換
器21で個別に変換するとともに、回転をかけながら回
転ユニット10に読み出すことで行う。具体的には、先
の90度回転の場合同様、はじめに、制御部30より供
給されるAD0〜(AD0+W−1)の共通のアドレス
ADDをアドレス変換器21で変換して生成したアドレ
スADDi ADDi=AD0+mod(ADD−AD0+W−(i−1)W/4)/W) ・・・・・(5) により、各メモリユニット20から順次読み出される
(W/4)幅の行単位のデータを、回転ユニット10の
列として右側から順に格納する(図12参照)。
On the other hand, the reading of the vertically long strip-shaped array data corresponding to the column is performed by individually converting the common address by the address converter 21 and reading it to the rotating unit 10 while rotating. Specifically, as in the case of the above 90-degree rotation, first, the address ADD i ADD generated by converting the common address ADD of AD0 to (AD0 + W-1) supplied from the control unit 30 by the address converter 21. i = AD0 + mod (ADD-AD0 + W- (i-1) W / 4) / W) (5), the (W / 4) width row unit data sequentially read from each memory unit 20 is read. , Are sequentially stored as columns of the rotation unit 10 from the right side (see FIG. 12).

【0022】続いて、回転ユニット10の配列上のデー
タを、回転ユニット10の所定の個数分シフトすること
で、回転ユニット配列上に目的の縦長の短冊状配列デー
タを得ることができる(図13参照)。書込みは、この
読み出しの手順を全く逆に行うことで実現できる。ただ
し、この場合必要となるメモリユニット20に回転をか
けながら書込む処理は、回転ユニット10内で記憶回路
13の行方向バス15に対する出力を列単位で活性化す
ることで読み出されるW/4の幅のデータを、左側から
メモリユニット20に向かうパス19を介して転送する
ことで行う。
Subsequently, by shifting the data on the array of the rotary units 10 by a predetermined number of the rotary units 10, it is possible to obtain the desired vertically elongated strip-shaped array data on the rotary unit array (FIG. 13). reference). Writing can be realized by completely reversing the reading procedure. However, the process of writing while rotating the memory unit 20, which is required in this case, is a W / 4 read by activating the output to the row direction bus 15 of the memory circuit 13 in the rotation unit 10 in column units. The width data is transferred by transferring the data from the left side to the memory unit 20 via the path 19.

【0023】実施例2 次に、回転ユニット10を2次元のシフトレジスタで構
成する本発明の第2の実施例について説明する。この第
2の実施例の構成で、第1の実施例と異なるのは、回転
ユニット11のみである。そこで、図14に、その第2
の実施例の回転ユニット11の構成を示す。第1の実施
例の回転ユニット10との違いは、バスの代りに、各記
憶回路(MC)13が隣接する記憶回路13との間で、
左から右方向,および下から上方向にシフト転送用のパ
スを設けていることである。
Second Embodiment Next, a second embodiment of the present invention in which the rotary unit 10 is composed of a two-dimensional shift register will be described. The configuration of the second embodiment differs from the first embodiment only in the rotating unit 11. Therefore, in FIG. 14, the second
The structure of the rotation unit 11 of the said Example is shown. The difference from the rotating unit 10 of the first embodiment is that each memory circuit (MC) 13 is adjacent to a memory circuit 13 instead of the bus.
This is to provide shift transfer paths from left to right and from bottom to top.

【0024】動作についても、回転ユニット11に対す
る読み書きを、記憶回路13を列あるいは行単位で活性
化して行う代りに、記憶回路13間で、保持データある
いは入力データを上あるいは右方向に順次シフトするこ
とで行う点が、第1の実施例と異なるだけである。この
第2の実施例のように回転ユニット11をシフトレジス
タ形式で構成する利点は、列単位あるいは行単位の活性
制御が不要となり、その分制御が単純化されることであ
る。
Regarding the operation, instead of performing the reading and writing of the rotary unit 11 by activating the memory circuits 13 in units of columns or rows, the held data or the input data is sequentially shifted between the memory circuits 13 in the upward or rightward direction. This is the only difference from the first embodiment. The advantage of configuring the rotation unit 11 in the shift register format as in the second embodiment is that the activation control in column units or in row units is not necessary and the control is simplified accordingly.

【0025】実施例3 図15に本発明の第3の実施例を示す。この実施例は、
第1,第2の実施例のセレクタ12を省略し、回転ユニ
ット10をリング状に接続することで構成したものであ
る。この実施例の動作は、先のステップ2のブロック単
位の配列データの回転ユニット間のシフトをすべて右方
向の単位シフトで行う点が、第1,第2の実施例と異な
る。従って、シフト量が大きい場合に単位シフトの繰り
返しが必要となり、全体の回転時間が増加する欠点があ
る。しかし、セレクタ12が不要となる分ハードウェア
規模が低減されるのに加え、メモリユニット(MUi
20,回転ユニット(RUi)10,アドレス変換器
(ADCi)21等を1つのモジュールとして構成する
場合、モジュール間の接続線が、モジュール数N(この
実施例では4)分の1に低減される利点がある。端子数
の制約が厳しいLSIやボードをモジュールとする場
合、この利点は、極めて有効である。
Embodiment 3 FIG. 15 shows a third embodiment of the present invention. This example
This is configured by omitting the selector 12 of the first and second embodiments and connecting the rotary unit 10 in a ring shape. The operation of this embodiment is different from that of the first and second embodiments in that the shift between the rotation units of the block-unit array data in step 2 is all performed by the right unit shift. Therefore, when the shift amount is large, it is necessary to repeat the unit shift, and there is a drawback that the total rotation time increases. However, since the selector 12 is unnecessary, the hardware scale is reduced, and the memory unit (MU i )
When the 20, rotation unit (RU i ) 10, address converter (ADC i ) 21 and the like are configured as one module, the number of connection lines between the modules is reduced to 1 / N (four in this embodiment). There are advantages. This advantage is extremely effective when an LSI or a board having a severe restriction on the number of terminals is used as a module.

【0026】なお、単位シフトのみでブロック単位の配
列データをシフトする場合、容易に理解できるように、
シフト方向を双方向化することで、全体のシフト量は半
減できる。また、図面による説明は割愛するが、互いに
隣接するモジュールの構成ユニットである回転ユニット
10とメモリユニット20との間で、双方向パスを介し
て、データのアクセスができるようにして、回転と単位
シフトを並行して行うことで、さらにシフト量を低減す
ることができる。
When the array data in block units is shifted only by unit shift, as can be easily understood,
By making the shift directions bidirectional, the total shift amount can be halved. Although not described with reference to the drawings, data can be accessed through a bidirectional path between the rotation unit 10 and the memory unit 20, which are constituent units of modules adjacent to each other, so that rotation and unit can be performed. By performing the shifts in parallel, the shift amount can be further reduced.

【0027】実施例4 ところで、本発明をプロセッサアレイ型の並列プロセッ
サに組込む場合、プロセッシングエレメント(PE)の
演算機能を利用することで、アドレス変換器をより単純
に構成することができる。図16は、この考え方に基づ
いた本発明の第4の実施例である。ここで、回転ユニッ
ト(RUi〜RU4)18は、前述した回転ユニット1
0,11の中間的な構成をとっており、図17に示すよ
うに、各記憶回路(MC)13の上下方向に列単位のバ
スを設けると共に、左右方向にはシフト転送用の双方向
のパスを設けている。但し、この図17から明らかなよ
うに、この回転ユニット18は、プロセッシングエレメ
ントが隣接プロセッシングエレメント間のデータ移動用
レジスタを内蔵する場合、省略可能である。これは、回
転ユニットの機能がデータ移動用レジスタの並びでエミ
ュレートできるからである。
Embodiment 4 By the way, when the present invention is incorporated into a processor array type parallel processor, the address translator can be constructed more simply by utilizing the arithmetic function of the processing element (PE). FIG. 16 is a fourth embodiment of the present invention based on this concept. Here, the rotation unit (RU i to RU 4 ) 18 is the rotation unit 1 described above.
As shown in FIG. 17, a column unit bus is provided in the vertical direction of each storage circuit (MC) 13, and a bidirectional shift transfer is provided in the horizontal direction. There is a pass. However, as is apparent from FIG. 17, the rotation unit 18 can be omitted when the processing element has a built-in register for moving data between adjacent processing elements. This is because the function of the rotating unit can be emulated by the arrangement of the data moving registers.

【0028】PEアレイ401〜404は、(W/4)個
のプロセッシングエレメントからなるプロセッサアレイ
である。このプロセッシングエレメントPEj は、回転
ユニット18内のj番目の列方向バスに接続されてお
り、PEアレイ401〜404は、各回転ユニット18の
保持データを行単位でアクセスすることができる。従っ
て、回転ユニット18の各列は、それが列バスを介して
接続されるプロセッシングエレメントPEのローカルな
レジスタとして機能させることができる。また、セレク
タ(SEL1〜SEL4)22は、各メモリユニット(M
1 〜MU4)20に供給するアドレスを、回転ユニッ
ト(RU1 〜RU4)18から出力される列単位のデー
タとするか、制御部30から出力される全体に共通のア
ドレス信号とするかを選択するためのアドレス変換器に
相当するセレクタである。
The PE arrays 40 1 to 40 4 are processor arrays composed of (W / 4) processing elements. The processing element PE j is connected to the j-th column-direction bus in the rotation unit 18, and the PE arrays 40 1 to 40 4 can access the data held in each rotation unit 18 in units of rows. Therefore, each column of the rotation unit 18 can function as a local register of the processing element PE to which it is connected via the column bus. In addition, the selectors (SEL 1 to SEL 4 ) 22 are connected to the memory units (M
The address supplied to U 1 to MU 4 ) 20 is set as column unit data output from the rotation unit (RU 1 to RU 4 ) 18 or is an address signal output from the control unit 30 and common to all. It is a selector corresponding to an address converter for selecting either.

【0029】本実施例の動作は、回転ユニット18のメ
モリユニット20に対するデータのアクセスに特徴があ
り、その他の動作については上記実施例1及び2と同じ
なので説明を割愛する。すなわち、このアクセス(読み
出し)は以下の手順で行う。 あらかじめ各PEで保持しているPEアレイ401
404ごとのベースアドレスADbi (=AD0+mo
d((W−(i−1)(W/4))/W)と、やはり、
あらかじめ各PEで保持しているPEのアレイ内アドレ
スj−1とから、ADDij(例えば、=ADb+(j−
1))を各PEで求め、結果を、各PEに接続される回
転ユニット18内の記憶回路(MC)13の列に転送す
る(図18参照)。
The operation of this embodiment is characterized by the data access to the memory unit 20 of the rotating unit 18, and the other operations are the same as those of the above-mentioned first and second embodiments, and therefore the explanation thereof is omitted. That is, this access (reading) is performed in the following procedure. PE array 40 1 to be held in advance by each PE
Base address ADb i (= AD0 + mo for each 40 4
d ((W- (i-1) (W / 4)) / W)
Based on the in-array address j−1 of the PE previously held in each PE, ADD ij (for example, = ADb + (j−
1)) is obtained by each PE, and the result is transferred to the column of the storage circuit (MC) 13 in the rotation unit 18 connected to each PE (see FIG. 18).

【0030】回転ユニット18で左から右に順次保持
データをシフトさせ、出力のADDijでメモリユニット
20をアドレシングしながら、これによってメモリユニ
ット20から読み出されるデータ〔ADDij〕を、同時
に順次回転ユニット18の左側から入力する。この際、
セレクタ22を回転ユニット18からの出力ADDij
選択されるように、回転ユニット18内のセレクタ17
をメモリユニット20からの入力が選択されるように、
それぞれ設定しておく。
The rotation unit 18 sequentially shifts the held data from left to right, and while addressing the memory unit 20 with the output ADD ij , the data [ADD ij ] read from the memory unit 20 is simultaneously and sequentially rotated. Input from the left side of 18. On this occasion,
The selector 17 in the rotary unit 18 is selected so that the output ADD ij from the rotary unit 18 is selected.
So that the input from the memory unit 20 is selected,
Set each separately.

【0031】これによりの処理を(W/4)回繰り返
すことで、図19に示すように、メモリユニット20内
のデータ〔ADDi0〕〜〔ADDi((W/4)-1)〕が、回転
ユニット18に読み出され、実施例1のステップ1と等
価な処理が実現される。このように、本実施例では、ア
ドレス変換器が、プロセッサの演算機能と回転ユニット
のシフト機能を利用することで、実効的にセレクタ22
のみで構成される。
By repeating the above process (W / 4) times, as shown in FIG. 19, the data [ADD i0 ] to [ADD i ((W / 4) -1) ] in the memory unit 20 are stored. , And is read by the rotation unit 18, and a process equivalent to step 1 of the first embodiment is realized. As described above, in this embodiment, the address translator effectively uses the arithmetic function of the processor and the shift function of the rotary unit to effectively select the selector 22.
Composed of only.

【0032】なお、実施例1のステップ3のメモリユニ
ット20への書込みの処理は、回転途中のデータを、一
旦、回転ユニットからプロセッシングエレメントPEに
移しておき、と同様にしてアドレスを生成しながら、
列バスを介して、プロセッシングエレメントPEからメ
モリユニットへ直接データを転送することで行う。ここ
で、一旦、回転途中のデータを回転ユニットからプロセ
ッシングエレメントPEに移すのは回転ユニットを、メ
モリユニットに対するアドレスデータADDijの生成用
に空けるためのである。
In the writing process to the memory unit 20 in step 3 of the first embodiment, the data in the middle of rotation is temporarily transferred from the rotation unit to the processing element PE, and the address is generated in the same manner as described above. ,
Data is directly transferred from the processing element PE to the memory unit via the column bus. Here, the reason why the data in the middle of rotation is once transferred from the rotation unit to the processing element PE is to free the rotation unit for generation of the address data ADD ij for the memory unit.

【0033】ここで、90度回転に関し、本発明の最も
単純な構成の実施例である第4の実施例のモジュール数
をNとする一般的な場合について、ハードウェア規模,
所要マシンサイクル数等を、従来方式と比較して評価す
る。はじめに、ハードウェア規模について評価する。図
1の構成から明らかなように、メモリ部分については
(W/N)の幅のメモリユニットに分割されているだけ
であり、アドレス変換器についてもセレクタのみで構成
されるので、従来方式に対するハードウェア規模の増加
は無視できる程度である。
Here, regarding the 90 degree rotation, the hardware scale in the general case where the number of modules of the fourth embodiment, which is the embodiment of the simplest configuration of the present invention, is N,
Evaluate the number of required machine cycles, etc. in comparison with the conventional method. First, we evaluate the hardware scale. As is apparent from the configuration of FIG. 1, the memory portion is only divided into memory units having a width of (W / N), and the address converter is also configured by only the selector. The increase in wear scale is negligible.

【0034】これに対し、90度回転器の部分について
は、本発明では、(W/N)×(W/N)のサイズの回
転ユニットがN個で構成されるので、回転ユニットとし
て従来例と同一のものを用いるとすれば、そのハードウ
ェア規模はW2 /Nと従来方式W2 に比べ1/Nにな
る。また、第4の実施例のように、プロセッサアレイ型
の並列プロセッサに組込む場合は、回転ユニットの配列
を各プロセッシングエレメントに内蔵する隣接プロセッ
シングエレメント間のデータ移動用レジスタでエミュレ
ートすることもできるので、ハードウェア規模低減の量
はさらに大きいと言える。
On the other hand, with respect to the 90-degree rotator portion, in the present invention, since N rotating units each having a size of (W / N) × (W / N) are formed, a conventional rotating unit is used. If the same one is used, the hardware scale is W 2 / N, which is 1 / N as compared with the conventional method W 2 . Further, when the processor is incorporated in a processor array type parallel processor as in the case of the fourth embodiment, the arrangement of the rotation units can be emulated by a data transfer register between adjacent processing elements incorporated in each processing element. It can be said that the amount of hardware scale reduction is even greater.

【0035】しかし、所要なマシンサイクル数について
は、若干増加する。以下、この所要マシンサイクル数を
算出する。まず、ステップ1のブロック単位の配列デー
タを、各回転ユニットに読み出す処理では、メモリユニ
ットからの読み出しと回転ユニットへの格納が共に同一
マシンサイクル内で実行できるとすると、その所要マシ
ンサイクル数S1は、ブロック単位の配列データの構成
行数に等しく、 S1=W/N ・・・・・(6) となる。
However, the number of machine cycles required is slightly increased. Hereinafter, the required number of machine cycles will be calculated. First, in the process of reading the array data in block units in step 1 to each rotary unit, if both reading from the memory unit and storage in the rotary unit can be executed within the same machine cycle, the required machine cycle number S 1 Is equal to the number of constituent rows of array data in block units, and S 1 = W / N (6)

【0036】これに続く、ステップ2の回転ユニット間
のブロック単位の配列データのシフトに要するマシンサ
イクル数S2 は、ブロック単位の配列データのアクセス
位置により異なるが、平均すると S2=(N/4)×W/N =W/4 ・・・・・(7) となる。ただし、これは、双方向のシフトおよびステッ
プ1での回転と逆方向シフトの並列実行等により、シフ
ト量の低減を図った場合の値である。ここで、Nは偶
数、回転ユニット間の列単位のデータのシフトは、1マ
シンサイクルで実行できるものとしている。
The number S 2 of machine cycles required for shifting the array data in block units between the rotation units in the subsequent step 2 differs depending on the access position of the array data in block units, but on average S 2 = (N / 4) × W / N = W / 4 (7) However, this is the value when the shift amount is reduced by the bidirectional shift and the parallel execution of the rotation in step 1 and the reverse shift. Here, N is an even number, and the shift of the data in units of columns between the rotation units can be executed in one machine cycle.

【0037】さらに、これに続く、ステップ3の各メモ
リユニットへの書込みの処理の所要マシンサイクル数S
3 は、回転ユニットからメモリへの行単位の書込みが1
マシンサイクルで実行できるとすると、 S3=W/N ・・・・・(8) となる。従って、W行×W列の2次元配列データ全体
を、90度回転するための所要サイクル数STは、 ST=N×(S1+S2+S3) =2W+(N×W/4) ・・・・・(9) となる。
Further, the number S of machine cycles required for the subsequent write processing to each memory unit in step S
3 is the number of writing from the rotary unit to the memory is 1
If it can be executed in a machine cycle, S 3 = W / N (8) Therefore, the required number of cycles S T for rotating the entire two-dimensional array data of W rows × W columns by 90 degrees is: S T = N × (S 1 + S 2 + S 3 ) = 2W + (N × W / 4) (9)

【0038】このトータルの所要マシンサイクル数ST
は、W×Wの従来の90度回転器に比べると、第2項の
ステップ2の回転ユニット間のブロック単位の配列デー
タのシフトに起因する分が増加している。しかし、ハー
ドウェア規模、すなわちコストを考慮した回転器部分の
性能/コストでは、回転器のハードウェア規模が1/N
に低減されることから、かなり改善される。例えば、N
=8の場合では、(9)式より、性能/コストは従来の4
倍にもなる。
The total number of required machine cycles S T
In comparison with the conventional 90 ° rotator of W × W, the amount due to the shift of the array data in block units between the rotation units in step 2 of the second term is increased. However, in terms of the hardware scale, that is, the performance / cost of the rotor part considering the cost, the hardware scale of the rotor is 1 / N.
It is considerably improved because it is reduced to. For example, N
= 8, the performance / cost is 4 compared with
It doubles.

【0039】一方、本発明の2次元アクセスメモリとし
ての従来装置との比較,評価は、本発明の2次元アクセ
スが、短冊状の2次元配列データに対して実現される点
で機能が若干低下することから、数値化することが難し
いので割愛する。しかし、プロセッサアレイ型の並列プ
ロセッサに組込む場合には、アドレス変換器が実効的に
不要になること、回転ユニットの配列がプロセッシング
エレメント内のデータ移動用レジスタを流用することで
構成できること等と、並列プロセッサのハードウェア規
模をほとんど増加させることなく、従来の2次元アクセ
スに近い機能を実現できる点で、2次元アクセスを必要
とする並列プロセッサの小型化、経済化に大きく寄与す
るものと考えられる。
On the other hand, the comparison and evaluation with the conventional device as the two-dimensional access memory of the present invention is slightly deteriorated in that the two-dimensional access of the present invention is realized for strip-shaped two-dimensional array data. Since it is difficult to quantify it, I will omit it. However, when it is incorporated in a processor array type parallel processor, the address converter is effectively unnecessary, and the arrangement of the rotation unit can be configured by diverting the data movement register in the processing element. Since it is possible to realize a function close to that of the conventional two-dimensional access without increasing the hardware scale of the processor, it is considered that the parallel processor that requires the two-dimensional access can greatly contribute to the downsizing and the economical efficiency.

【0040】なお、以上の説明では、メモリのアクセス
幅,列行変換型回転ユニットのサイズ等の単位について
は触れていないが、これは2次元配列データの要素の語
長によって決まる。すなわち、2次元配列データの要素
の語長が1ビット(2値データ)ならば、単位はビット
となる(この場合、例えば幅がWとは、幅がWビットの
ことである。)。要素の語長が、wならば、単位はw倍
されたwビットとなる(この場合、例えば幅がWとは、
幅が(W×w)ビットのことである。)。また、各ユニ
ットにから読み出したブロック単位の配列データを回転
ユニットで回転する場合、その回転方向は+90度,−
90度のいずれでもよく、90度の奇数倍回転が可能で
ある。
In the above description, the unit such as the memory access width and the size of the column / row conversion type rotation unit is not mentioned, but this is determined by the word length of the element of the two-dimensional array data. That is, if the word length of the element of the two-dimensional array data is 1 bit (binary data), the unit is bit (in this case, for example, the width W means that the width is W bits). If the word length of the element is w, the unit is w bits multiplied by w (in this case, for example, if the width is W,
The width is (W × w) bits. ). Also, when the block unit array data read from each unit is rotated by the rotation unit, the rotation direction is +90 degrees, −.
It may be any of 90 degrees, and an odd multiple of 90 degrees is possible.

【0041】[0041]

【発明の効果】以上説明したように本発明は、全体に共
通なアドレスと互いに異なるアドレスとをアクセスでき
るメモリユニットのアレイと、その各メモリユニットか
らアクセスされるブロック単位の配列データを同時に9
0度回転することのできる90度回転ユニットのアレイ
と、各回転ユニットが保持するブロック単位の配列デー
タを、アクセス元とは異なるメモリユニットへ転送する
手段から構成することにより、従来のように行あるいは
列のアクセス幅に対し比例以上或は2乗に比例して大規
模化した2次元データアクセス装置を、回転速度を低下
させることなく、回転器のハードウェア規模を大きく低
減できる。また、従来の2次元アクセスメモリに近い機
能も提供できる。さらに、各メモリユニット,回転ユニ
ット等の構成ユニットを同一モジュールの規則的な配列
で構成できるので、速度向上のためのメモリアクセス幅
拡大が容易に実現できる利点もある。従って、2次元配
列データの90度回転を多用する画像処理装置,パター
ン認識装置等に、本発明を適用すれば、高速化と小型、
経済化の両立が可能となる。
As described above, according to the present invention, an array of memory units that can access an address common to the whole and addresses different from each other and array data in block units accessed from each memory unit can be simultaneously used.
By constructing an array of 90-degree rotating units that can be rotated by 0 degree and a unit that transfers the array data in block units held by each rotating unit to a memory unit different from the access source, the conventional arrangement can be achieved. Alternatively, the hardware scale of the rotator can be greatly reduced without lowering the rotation speed of the two-dimensional data access device that is scaled up in proportion to the column access width or proportional to the square. Further, it is possible to provide a function close to that of the conventional two-dimensional access memory. Further, since the constituent units such as the memory unit and the rotating unit can be configured by the regular arrangement of the same module, there is also an advantage that the memory access width can be easily expanded to improve the speed. Therefore, if the present invention is applied to an image processing device, a pattern recognition device, or the like that frequently uses 90-degree rotation of two-dimensional array data, the speed and size are reduced.
It is possible to achieve both economic efficiency.

【0042】また、本発明は、プロセッシングエレメン
トが隣接間のデータ移動用レジスタを内蔵するプロセッ
サアレイ型の並列プロセッサに、簡単に組み込むことが
できる。これは、データ移動用のレジスタの並びを回転
ユニットに流用することにより、セレクタなどのわずか
なハードウェアの追加で、本発明の2次元配列データア
クセス装置が実現されるからである。従って、本発明は
2次元アクセスや90度回転を高速に実行する汎用的な
プロセッサアレイ型並列プロセッサの小型経済化技術と
しても極めて有用である。
Further, the present invention can be easily incorporated in a processor array type parallel processor in which a processing element has a register for moving data between adjacent processing elements. This is because the two-dimensional array data access device of the present invention can be realized by adding a small amount of hardware such as a selector by diverting the arrangement of registers for moving data to the rotation unit. Therefore, the present invention is extremely useful as a technology for miniaturizing a general-purpose processor array parallel processor that executes two-dimensional access and 90-degree rotation at high speed.

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

【図1】本発明の第1の実施例のブロック構成図であ
る。
FIG. 1 is a block configuration diagram of a first embodiment of the present invention.

【図2】本発明の第1の実施例の回転ユニットの構成図
である。
FIG. 2 is a configuration diagram of a rotating unit according to the first embodiment of the present invention.

【図3】被回転イメージデータを示す図である。FIG. 3 is a diagram showing rotated image data.

【図4】本発明の第1の実施例による回転処理を説明し
た図である。
FIG. 4 is a diagram illustrating a rotation process according to the first embodiment of the present invention.

【図5】本発明の第1の実施例による回転処理を説明し
た図である。
FIG. 5 is a diagram illustrating a rotation process according to the first embodiment of the present invention.

【図6】本発明の第1の実施例による回転処理を説明し
た図である。
FIG. 6 is a diagram illustrating a rotation process according to the first embodiment of the present invention.

【図7】本発明の第1の実施例による回転処理を説明し
た図である。
FIG. 7 is a diagram illustrating a rotation process according to the first embodiment of the present invention.

【図8】本発明の第1の実施例による回転処理を説明し
た図である。
FIG. 8 is a diagram illustrating a rotation process according to the first embodiment of the present invention.

【図9】本発明の第1の実施例による2次元アクセスを
説明した図である。
FIG. 9 is a diagram illustrating two-dimensional access according to the first embodiment of the present invention.

【図10】本発明の第1の実施例による2次元アクセス
を説明した図である。
FIG. 10 is a diagram illustrating two-dimensional access according to the first embodiment of the present invention.

【図11】本発明の第1の実施例による2次元アクセス
を説明した図である。
FIG. 11 is a diagram illustrating two-dimensional access according to the first embodiment of the present invention.

【図12】本発明の第1の実施例による2次元アクセス
を説明した図である。
FIG. 12 is a diagram illustrating two-dimensional access according to the first embodiment of the present invention.

【図13】本発明の第1の実施例による2次元アクセス
を説明した図である。
FIG. 13 is a diagram illustrating two-dimensional access according to the first embodiment of the present invention.

【図14】本発明の第2の実施例の回転ユニットの構成
を示す図である。
FIG. 14 is a diagram showing a configuration of a rotary unit according to a second embodiment of the present invention.

【図15】本発明の第3の実施例のブロック構成図であ
る。
FIG. 15 is a block configuration diagram of a third embodiment of the present invention.

【図16】プロセッサアレイ型並列プロセッサに組込ん
だ本発明の第4の実施例のブロック構成図である。
FIG. 16 is a block configuration diagram of a fourth embodiment of the present invention incorporated in a processor array type parallel processor.

【図17】本発明の第4の実施例の回転ユニットの構成
を示す図である。
FIG. 17 is a diagram showing a configuration of a rotating unit according to a fourth embodiment of the present invention.

【図18】本発明の第4の実施例によるメモリユニット
から回転ユニットへ読み出しを説明した図である。
FIG. 18 is a diagram for explaining reading from the memory unit to the rotary unit according to the fourth embodiment of the present invention.

【図19】本発明の第4の実施例によるメモリユニット
から回転ユニットへ読み出しを説明した図である。
FIG. 19 is a diagram for explaining reading from the memory unit to the rotary unit according to the fourth embodiment of the present invention.

【図20】従来例による2次元アクセスメモリの構成図
である。
FIG. 20 is a configuration diagram of a conventional two-dimensional access memory.

【図21】従来の直並列変換型回転器を用いた90度回
転機構を説明した図である。
FIG. 21 is a diagram illustrating a 90-degree rotation mechanism using a conventional serial-parallel conversion type rotator.

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

10,11,15,18 回転ユニット(RU) 12,17,22 セレクタ(SEL) 13 記憶回路(MC) 14 行方向入力バス 15 行方向入力バス 16 列方向入力バス 19 メモリユニット,回転ユニット間パス 20 メモリユニット(MU) 21 アドレス変換器(ADC) 30 制御部 40 プロセッシングエレメント配列(PEアレイ) 10, 11, 15, 18 Rotating unit (RU) 12, 17, 22 Selector (SEL) 13 Storage circuit (MC) 14 Row direction input bus 15 Row direction input bus 16 Column direction input bus 19 Memory unit, rotation unit path 20 memory unit (MU) 21 address converter (ADC) 30 control unit 40 processing element array (PE array)

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 全体に共通のアドレスをアクセスする機
能とユニットごとに異なるアドレスをアクセスする機能
とを兼備する複数のメモリユニットと、前記各メモリユ
ニットから読み出したブロック単位の配列データを同時
に90度回転する手段と、そのブロック単位の配列デー
タをアクセス元のメモリユニットとは異なるメモリユニ
ットに転送する手段とを持つことを特徴とする2次元配
列データアクセス装置。
1. A plurality of memory units having both a function of accessing a common address as a whole and a function of accessing a different address for each unit, and array data in block units read from each of the memory units at 90 degrees at the same time. A two-dimensional array data access device having a rotating means and a means for transferring the array data in block units to a memory unit different from the memory unit of the access source.
【請求項2】 請求項1記載の2次元配列データアクセ
ス装置において、90度回転する手段として、ブロック
単位の配列データから、列単位,行単位のいずれでもア
クセス可能な記憶回路の2次元配列からなる回転ユニッ
トを用いることを特徴とする2次元配列データアクセス
装置。
2. The two-dimensional array data access device according to claim 1, wherein as means for rotating by 90 degrees, from a two-dimensional array of storage circuits that can be accessed in either column units or row units from array data in block units. A two-dimensional array data access device using a rotating unit.
【請求項3】 請求項1記載の2次元配列データアクセ
ス装置において、メモリユニットごとの個別のアドレス
信号を、メモリユニットからアクセスする2次元配列デ
ータの回転手段に、メモリユニットからデータを読み込
む際に、同時にその回転手段より出力されるデータから
生成することを特徴とする2次元配列データアクセス装
置。
3. The two-dimensional array data access device according to claim 1, wherein the individual address signal for each memory unit is read from the memory unit by the rotating means of the two-dimensional array data accessed from the memory unit. A two-dimensional array data access device, which is generated at the same time from the data output from the rotating means.
【請求項4】 請求項2記載の2次元配列データアクセ
ス装置において、ブロック単位の配列データを、アクセ
ス元のメモリユニットとは異なるメモリユニットへ転送
する手段として、記憶回路の2次元配列からなる回転ユ
ニットをリング状に接続して構成することを特徴とする
2次元配列データアクセス装置。
4. The two-dimensional array data access device according to claim 2, wherein the rotation data composed of a two-dimensional array of storage circuits is provided as means for transferring array data in block units to a memory unit different from the memory unit of the access source. A two-dimensional array data access device comprising units connected in a ring shape.
JP4034060A 1992-01-27 1992-01-27 Two-dimensional array data access device Expired - Fee Related JP2887369B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4034060A JP2887369B2 (en) 1992-01-27 1992-01-27 Two-dimensional array data access device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4034060A JP2887369B2 (en) 1992-01-27 1992-01-27 Two-dimensional array data access device

Publications (2)

Publication Number Publication Date
JPH05204744A true JPH05204744A (en) 1993-08-13
JP2887369B2 JP2887369B2 (en) 1999-04-26

Family

ID=12403732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4034060A Expired - Fee Related JP2887369B2 (en) 1992-01-27 1992-01-27 Two-dimensional array data access device

Country Status (1)

Country Link
JP (1) JP2887369B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386703B2 (en) 2003-11-18 2008-06-10 International Business Machines Corporation Two dimensional addressing of a matrix-vector register array
JP2015087856A (en) * 2013-10-29 2015-05-07 富士通株式会社 Data processing device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386703B2 (en) 2003-11-18 2008-06-10 International Business Machines Corporation Two dimensional addressing of a matrix-vector register array
US7496731B2 (en) 2003-11-18 2009-02-24 International Business Machines Corporation Two dimensional addressing of a matrix-vector register array
US7949853B2 (en) 2003-11-18 2011-05-24 International Business Machines Corporation Two dimensional addressing of a matrix-vector register array
JP2015087856A (en) * 2013-10-29 2015-05-07 富士通株式会社 Data processing device

Also Published As

Publication number Publication date
JP2887369B2 (en) 1999-04-26

Similar Documents

Publication Publication Date Title
EP0390907B1 (en) Parallel data processor
US4215401A (en) Cellular digital array processor
KR100280854B1 (en) Data processing device and data processing method
US6968442B2 (en) Parallel computer with improved access to adjacent processor and memory elements
JPS60153088A (en) Memory data shifter
JPH05282437A (en) Picture rotating circuit
EP1792258B1 (en) Interconnections in simd processor architectures
JP2887369B2 (en) Two-dimensional array data access device
JPH04295953A (en) Parallel data processor with built-in two-dimensional array of element processor and sub-array unit of element processor
JP2824976B2 (en) 2D array data rotation device
US10664241B2 (en) Memory systems including support for transposition operations and related methods and circuits
JP2001117909A (en) Transposing circuit for matrix form data
JP2855899B2 (en) Function memory
JP2003208415A (en) Data array conversion system
JPH10116226A (en) Address array device of semiconductor storage device
CN101263562B (en) Semiconductor memory having data rotation/interleave function
JP2580501B2 (en) Parallel data processing device
JP2005022387A (en) Image data rotation processing device
KR100341399B1 (en) Parallel Shuffle Memory Circuit Based on Parallel Input/Output Structure
JPH061449B2 (en) Image memory for image editing
JPH0467280A (en) Parallel data processor
CN119301679A (en) Memory Architecture
JPS62151987A (en) Multi-port memory for image processing
JPH037977B2 (en)
JPH028336B2 (en)

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090219

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090219

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100219

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110219

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees