Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH037976B2 - - Google Patents
[go: Go Back, main page]

JPH037976B2 - - Google Patents

Info

Publication number
JPH037976B2
JPH037976B2 JP15715884A JP15715884A JPH037976B2 JP H037976 B2 JPH037976 B2 JP H037976B2 JP 15715884 A JP15715884 A JP 15715884A JP 15715884 A JP15715884 A JP 15715884A JP H037976 B2 JPH037976 B2 JP H037976B2
Authority
JP
Japan
Prior art keywords
vector
permutation
linear
address
output
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.)
Expired
Application number
JP15715884A
Other languages
Japanese (ja)
Other versions
JPS6136865A (en
Inventor
Takenori Makino
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP15715884A priority Critical patent/JPS6136865A/en
Publication of JPS6136865A publication Critical patent/JPS6136865A/en
Publication of JPH037976B2 publication Critical patent/JPH037976B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、大規模な数値計算を支援するための
高性能な外部メモリ装置の方式に係る。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a high-performance external memory device system for supporting large-scale numerical calculations.

(従来技術とその問題点) いわゆるスーパーコンピユータでは、大規模な
数値計算をサポートするために高速の外部メモリ
が提供されている。
(Prior art and its problems) So-called supercomputers are provided with high-speed external memory to support large-scale numerical calculations.

提供されている外部メモリのアーキテクチヤ
は、通常、デイスクデバイスと同様、ブロツクラ
ンダムアクセスを採用している。ブロツクランダ
ムアクセスとは、例えばベクトル{vi}は、ブロ
ツクに分けられ、v0v1…vo-1,vovo+1…v2o-1,v3o
…というように長さnのブロツクとして、外部メ
モリに格納される。このアーキテクチヤの採用
は、従来のプログラムの書き換えやオペレーシヨ
ンシステムの大幅な変更を避けることを目的とし
ている。
The external memory architectures provided typically employ block random access, similar to disk devices. Block random access means that, for example, vector {v i } is divided into blocks, v 0 v 1 ... v o-1 , v o v o+1 ... v 2o-1 , v 3o
... is stored in the external memory as a block of length n. The purpose of adopting this architecture is to avoid rewriting existing programs or making major changes to the operating system.

しかし、ブロツクランダムアーキテクチヤは、
数値計算では、不適当なケースがある。例えば、
2次元アレイ{Aij}を考えよう。このアレイが
A00A01…A0o-1,A0o…,A10A11…というように
(i,j)の順でブロツクに分けられ、格納され
ているとする。いま{Aij|j∈〔0,m〕}i、
すなわち、iを固定し、jだけ0,1,2…と変
えて得られるベクトルAi0,Ai1,…Aio-1,Aio
を入出力する場合、ブロツク単位に転送すること
で、効率の良い入力、出力を行うことができる。
しかし、一方、{Aij|i∈〔0,m〕}iで表わ
されるベクトルA0j,A1j,A2j…については、そ
れぞれの要素を入出力する場合、それぞれ別のブ
ロツクを参照する必要があり、長さmのベクトル
の入力又は出力にともなつて、最悪で、mブロツ
クの入力または出力を必要とする。このようなア
クセスパターンは、例えば、偏微分方程式の差分
解法の1つである陰解法では、異なつた軸による
スキヤンが必要なため、必然的に存在する。その
他にも多次元FETや行列の積にも現われる。す
なわち、数値計算では、このようなアクセスパタ
ーンは、ごく普通に現われると考えてよい。した
がつて、ブロツクランダムアクセスの外部メモリ
を、効率良く使用するには、プログラムを工夫す
る努力が必要で、また、そうした努力によつても
高い性能を引き出せないことがある。
However, block random architecture
There are cases where numerical calculations are inappropriate. for example,
Consider a two-dimensional array {A ij }. This array
It is assumed that the blocks are divided and stored in the order of (i, j), such as A 00 A 01 . . . A 0o -1 , A 0o . . . , A 10 A 11 . Now {A ij |j∈[0,m]}i,
That is, vectors A i0 , A i1 , ... A io -1 , A io ... obtained by fixing i and changing only j to 0, 1, 2, etc.
When inputting and outputting data, efficient input and output can be achieved by transferring it in blocks.
However, on the other hand, for the vectors A 0j , A 1j , A 2j . With input or output of a vector of length m, in the worst case, m blocks of input or output are required. Such an access pattern necessarily exists because, for example, in the implicit method, which is one of the differential resolution methods for partial differential equations, scans using different axes are required. It also appears in multidimensional FETs and matrix products. In other words, it can be considered that such an access pattern appears quite commonly in numerical calculations. Therefore, in order to use block random access external memory efficiently, it is necessary to make efforts to devise programs, and even with such efforts, high performance may not be obtained.

(発明の目的) 本発明の目的は、語単位の処理を可能にするこ
とにより、きわめて高性能で、かつ柔軟なアクセ
スを実現する外部メモリ装置を提供することにあ
る。
(Object of the Invention) An object of the present invention is to provide an external memory device that achieves extremely high performance and flexible access by enabling word-by-word processing.

(発明の構成) 本発明によれば、計算システムからの指令にも
とずきデータの転送を行なう外部メモリ装置であ
つて、素数個のメモリモジユールと前記計算シス
テムからのベクトルデータを保持する入力バツフ
アと、前記計算システムからのベクトルデータを
保持する出力バツフアと、前記メモリモジユール
の出力を線形置換し前記出力バツフアに送る線形
置換手段と、前記入力バツフアの出力を逆線形置
換し前記メモリモジユールに送る逆線形置換手段
と、前記計算システムからの指令を解釈し、前記
メモリモジユールへのアドレスは書き込み読み出
し指令の生成を行うとともに、前記線形置換手段
と前記逆線形置換手段に対して制御パラメータを
送る制御部とから構成されることを特徴とする外
部メモリ装置が得られる。
(Structure of the Invention) According to the present invention, there is provided an external memory device that transfers data based on instructions from a computing system, which retains a prime number of memory modules and vector data from the computing system. an input buffer, an output buffer for holding vector data from the calculation system, linear permutation means for linearly permuting the output of the memory module and sending it to the output buffer, and linear permutation means for linearly permuting the output of the input buffer and transmitting it to the memory An inverse linear replacement means to send to the module and a command from the calculation system are interpreted, and an address to the memory module is used to generate a write/read command, and to send the address to the memory module to the linear replacement means and the inverse linear replacement means. There is obtained an external memory device characterized in that it is comprised of a controller that sends control parameters.

(発明の原理) つぎに、本発明の原理について説明する。ま
ず、2次元アレイ{Aij}を考える。このアレイ
の要素へのアクセスは、計算アルゴリズムに依存
するが、代表的なアクセスは、列方向か行方向、
あるいは対角方向が想定される。簡単のため、こ
のアレイのサイズをA(4,4)とする。メモリ
には次のように格納されているとする。
(Principle of the invention) Next, the principle of the invention will be explained. First, consider a two-dimensional array {A ij }. Access to the elements of this array depends on the computational algorithm, but typical access is column-wise or row-wise.
Alternatively, a diagonal direction is assumed. For simplicity, the size of this array is assumed to be A(4,4). Suppose that the following is stored in memory:

A00 A01 A02 A03 A10 A11 A12 A13 A20 A21 A22 A23 A30 A31 A32 A33 このアレイの列方向のデータ要素は隣り合つて
格納されている。この場合を1−順序ベクトル形
式、または簡単に順序ベクトルと呼ぶ。一方行方
向のデータ要素A00,A10,A20,A30やA01,A11
A21,A31といつたベクトルは、4要素はなれた
要素に対するアクセスとなる。また、対向要素
A00,A11,A22,A33は、5要素はなれた要素に
対するアクセスとなる。それらを各々4−順序ベ
クトル、5−順序ベクトルに対するアクセスと呼
ぶ。
A 00 A 01 A 02 A 03 A 10 A 11 A 12 A 13 A 20 A 21 A 22 A 23 A 30 A 31 A 32 A 33The data elements in the column direction of this array are stored next to each other. This case is called a 1-ordered vector format, or simply an ordered vector. One-row data elements A 00 , A 10 , A 20 , A 30 , A 01 , A 11 ,
Vectors such as A 21 and A 31 access elements four elements apart. Also, the opposing element
A 00 , A 11 , A 22 , and A 33 are accesses to elements five elements apart. These are called accesses to 4-ordered vectors and 5-ordered vectors, respectively.

3次元データアレイについても同様、A(n1
n2,n3)について(ここでn1,n2,n3はサイズを
表わす)Aijkのkを0,1,2,…と変えて得ら
れるベクトルは順序ベクトルであり、jを変えて
得られるベクトルはn3−順序ベクトル、iを変え
て得られるベクトルは、n2・n3−順序ベクトルで
ある。
Similarly, for the three-dimensional data array, A(n 1 ,
n 2 , n 3 ) (where n 1 , n 2 , n 3 represent the size), the vector obtained by changing k of A ijk to 0, 1, 2, ... is an ordinal vector, and the vector obtained by changing j The vector obtained by changing i is an n 3 -ordered vector, and the vector obtained by changing i is an n 2 ·n 3 -ordered vector.

一般的には、外部メモリから計算システムへの
データの転送はn−順序ベクトルを順序ベクトル
に置換し転送することであり、外部メモリへの書
き込みは、順序ベクトルをn−順序ベクトルに置
換し、転送することに対応する。もう少し具体的
に説明するため、線形置換Ldを次のように定義
する。
Generally, data is transferred from an external memory to a computing system by replacing an n-ordered vector with an ordered vector, and writing to an external memory is performed by replacing an ordinal vector with an n-ordered vector. Corresponds to transfer. To explain more specifically, linear permutation L d is defined as follows.

Ld:b+d・i→i (mod M) また、その逆置換L-1 dは L-1 d:i→b+d・i (mod M) ここで、bとdは定数であり、dはd−順序ベ
クトルに対応する定数である。
L d :b+d・i→i (mod M) Also, its inverse substitution L -1 d is L -1 d :i→b+d・i (mod M) Here, b and d are constants, and d is d - is a constant corresponding to an ordinal vector.

bとdはつぎのように与えられる。あるプログ
ラムを例として考える。以下の例において、添字
i1,i2,i3は0から始まり、各々n1−1,n2−1,
n3−1で終るものとする。
b and d are given as follows. Consider a program as an example. In the example below, the subscript
i 1 , i 2 , i 3 start from 0, and are respectively n 1 -1, n 2 -1,
Assume that it ends with n 3 −1.

ここで、i1,i2,i3は定数であり、kはindex変
数である。アレイAがアドレスaから格納されて
いるとすると、A(i1,i2,k)のアドレスはa+
n2・n3・i1+n3・i2+kであるから、b=a+
n2・n3・i1+n3・i2,d=1である。同様にA(i1
k,i3)についてはb=a+n2・n3・i1+i3,d=
n3である。
Here, i 1 , i 2 , i 3 are constants, and k is an index variable. Assuming that array A is stored starting from address a, the address of A(i 1 , i 2 , k) is a+
Since n 2・n 3・i 1 +n 3・i 2 +k, b=a+
n 2 · n 3 · i 1 + n 3 · i 2 , d=1. Similarly, A(i 1 ,
k, i 3 ), b=a+n 2・n 3・i 1 +i 3 , d=
n3 .

つぎに、メモリへの格納を説明する。高速の転
送を行うには、並列処理が本質的であり、メモリ
は複数のメモリモジユールに分けられる。アレイ
データはメモリモジユールに沿つてベクトルとし
て格納される。例えば、Aijは、メモリモジユー
ル0にA11、モジユール1にA12、モジユール2
にA13,…というように格納される。
Next, storage in memory will be explained. Parallel processing is essential for high-speed transfer, and memory is divided into multiple memory modules. Array data is stored as vectors along the memory module. For example, A ij is A 11 in memory module 0, A 12 in module 1, and A 12 in module 2.
A 13 , etc. are stored in A 13 , etc.

メモリモジユールがM個あるとすると、アドレ
スAddのモジユール番号、モジユール内アドレス
は、それぞれ Add mod M,〔Add/M〕 である。
Assuming that there are M memory modules, the module number and address within the module of the address Add are Add mod M and [Add/M], respectively.

また、転送すべきベクトル要素のアドレスは、
第i番目のアドレスについて書けば、b+d・i
であり、モジユール番号、モジユール内アドレス
はそれぞれ、 (b+d・i)mod M,〔(b+d・i)/
M〕 と表わされる。ここで〔x〕はxより小さくかつ
最大の整数を表わす。
Also, the address of the vector element to be transferred is
If we write about the i-th address, then b+d・i
The module number and address within the module are (b+d・i) mod M, [(b+d・i)/
M]. Here, [x] represents the largest integer smaller than x.

ここで、=b(mod M),=d(mod M)
とすれば第i番目のモジユール番号は (+・i)mod M と表わすことができる(整数論より既知)。
Here, = b (mod M), = d (mod M)
Then, the i-th module number can be expressed as (+·i) mod M (known from number theory).

線形置換は (+・i)→i(mod M) であり、この置換は、(,M)=1、すなわち、
bとMが互いに素であるとき、競合なしに行われ
る。したがつて、Mは素数から選ばれることが望
ましいが、競合を解決する手段を併用すれば、素
数に限定する必要はない。
The linear permutation is (+・i)→i(mod M), and this permutation is (,M)=1, that is,
This is done without contention when b and M are relatively prime. Therefore, although it is desirable that M be selected from prime numbers, it is not necessary to limit it to prime numbers if a means for resolving conflicts is also used.

線形置換はつぎのように実行される。まずに
対応し、−順序ベクトルを順序ベクトルに変換
し、つぎにに対応し、得られた順序ベクトルを
回転置換する。この置換を例で説明する。いま、
メモリモジユールが5つあるとし、アレイAのサ
イズが8×8であり、アドレス0から格納されて
いるとする。A(1,2),A(2,2),A(3,
2),A(4,2)というベクトルはb=(A1,
2)のアドレス)とし、d=8とすることで要素
のアドレスが得られる。A(1,2)のアドレス
は10であり、=10mod5=0,=8mod5=3
である。各要素のアドレスはA(1,2),A(2,
2)の順で 10,18,26,34 であり、それぞれ、メモリモジユール0,3,
1,4に入つている。
The linear permutation is performed as follows. First, the -order vector is converted into an order vector, and then the obtained order vector is rotated and permuted. This replacement will be explained with an example. now,
Assume that there are five memory modules, that the size of array A is 8×8, and that array A is stored starting from address 0. A(1,2), A(2,2), A(3,
2), the vector A(4,2) is b=(A1,
2), and by setting d=8, the address of the element can be obtained. The address of A(1,2) is 10, =10mod5=0,=8mod5=3
It is. The address of each element is A(1,2), A(2,
2) are 10, 18, 26, and 34 in the order of memory modules 0, 3, and 3, respectively.
It's in 1 and 4.

各モジユールから読み出されたベクトルはA
(1,2),A(3,2),−,A(2,2),A(4

2)の順であり、 0 3 1 4 0 1 2 3 の置換が行われなければならない。このため、
=0すなわち、回転置換を0ポジシヨン行う。得
られるベクトルは A(1,2),A(3,2),−,A(2,2),A
(4,2) である。このベクトル要素を3要素飛びに集める
と A(1,2),A(2,2),A(3,2),A(4

2),− となり、順序ベクトルが得られる。この置換をス
キツプ置換という。
The vector read from each module is A
(1,2), A(3,2), -, A(2,2), A(4

2), and the following substitutions must be made: 0 3 1 4 0 1 2 3. For this reason,
=0, that is, rotational replacement is performed at 0 position. The resulting vectors are A(1,2), A(3,2), -, A(2,2), A
(4,2). If we collect these vector elements in 3-element intervals, we get A(1,2), A(2,2), A(3,2), A(4

2), -, and an ordered vector is obtained. This replacement is called skip replacement.

このように、回転置換と、スキツプ置換を組み
合せることで線形置換を実現できる。
In this way, linear permutation can be realized by combining rotational permutation and skip permutation.

一方逆置換L-1 dは、以上述べた線形置換の逆置
換であり、まず、スキツプ置換を行い、ついて回
転置換を行うことで達成される。この場合のスキ
ツプ置換、回転置換に与えられるパラメータb′,
d′は b′=M−b(mod M) d′・d=1(mod M) から得られる。
On the other hand, the inverse permutation L -1 d is an inverse permutation of the linear permutation described above, and is achieved by first performing a skip permutation and then performing a rotation permutation. Parameters b′ given to skip permutation and rotation permutation in this case,
d' is obtained from b'=M-b(mod M) d'・d=1(mod M).

(実施例) つぎに図面を用いて詳細に説明する。第1図は
本発明の一実施例を示すシステム構成図である。
計算システム1は、外部メモリ装置2に、転送線
18を介して指令を、転送バス13,71を介し
てベクトルデータの入出力を行う。計算システム
1は次の形式のコマンド(指令)を制御プロセツ
サ8に送る。
(Example) Next, a detailed explanation will be given using the drawings. FIG. 1 is a system configuration diagram showing an embodiment of the present invention.
The calculation system 1 inputs and outputs commands to and from the external memory device 2 via the transfer line 18 and vector data via the transfer buses 13 and 71. Computing system 1 sends commands of the following format to control processor 8.

command(b,d,n) ここでcommandはreadかwriteであり、bは
ベクトルのベースアドレス、dはスキツプ距離、
nは転送すべきベクトル長である。
command (b, d, n) where command is read or write, b is the vector base address, d is the skip distance,
n is the vector length to be transferred.

まず、ベクトルデータの書き込みについて説明
する。転送線18を介してwrite(b,d,n)の
指令が制御プロセツサ8に送られる。制御プロセ
ツサ8は(b,d)にもとづいて、b′,d′を計算
する。(この計算は原理の説明で説明した)。計算
されたb′,d′は転送線84を介して、逆線形置換
手段4に送られ、入力バツフア3とメモリモジユ
ール51〜5nの間のデータの転送パスが確立され
る。また、制御プロセツサは〔(b+d・i)/
M〕の計算を行い、各モジユール内アドレスを計
算し、計算されたアドレスは転送線83を介し
て、入力バツフア3に送られ、転送線341〜3
n、逆線形置換手段4、転送線451〜45n
へてメモリモジユール51〜5nに送られるととも
に、制御プロセツサ8はメモリモジユール51
nにwrite指令を転送線85を介して送る。これ
でアドレスの設定がされる。つぎに計算システム
1から送られてきたベクトルデータを入力バツフ
アに取り込み、転送線341〜34n、逆線形置換
手段4、転送線451〜45nを介してメモリモジ
ユール51〜5nに送られ書き込まれる。ベクトル
長nは、書き込むべきベクトルの範囲を示すもの
で、入力バツフア3において、この情報により、
マスクビツトが生成され、不正な書込みを防止す
る方式(図示せず)がとられる。
First, writing of vector data will be explained. A write (b, d, n) command is sent to the control processor 8 via the transfer line 18. The control processor 8 calculates b' and d' based on (b, d). (This calculation was explained in the explanation of the principle). The calculated b' and d' are sent to the inverse linear permutation means 4 via the transfer line 84, and a data transfer path between the input buffer 3 and the memory modules 51 to 5n is established. In addition, the control processor is [(b+d・i)/
M], and calculates the addresses within each module. The calculated addresses are sent to the input buffer 3 via the transfer line 83, and are transferred to the transfer lines 34 1 to 3.
4 n , the inverse linear substitution means 4 and the transfer lines 45 1 to 45 n to the memory modules 5 1 to 5 n , and the control processor 8
5 Sends a write command to n via the transfer line 85. The address is now set. Next, the vector data sent from the calculation system 1 is taken into the input buffer and sent to the memory modules 5 1 - 5 n via the transfer lines 34 1 - 34 n , the inverse linear substitution means 4, and the transfer lines 45 1 - 45 n . sent to and written to. The vector length n indicates the range of vectors to be written, and the input buffer 3 uses this information to
Mask bits are generated and a method (not shown) is taken to prevent unauthorized writing.

つぎに読み出しについて説明する。計算システ
ム1からはread(b,d,n)のコマンドが送ら
れてくる。制御プロセツサ8は書き込みと同様に
して、各メモリモジユール51〜5nにアドレスを
生成し送る。そして転送線85を介して各メモリ
モジユール51〜5nに読み出し指令を送り、ベク
トルデータとして、読み出されたデータを転送線
561〜56nを介して線形置換手段6に送る。こ
の前に制御プロセツサ8は転送線86を介し、線
形置換手段6に(b,d)から(,)を生成
し、転送パスを確立している。線形置換手段6に
よりデータベクトルの置換が行われ、転送線67
〜67nを介して出力バツフア7にデータは送ら
れる。ベクトル長nは、有効なベクトルの範囲を
示すために用いられる(図示せず)。出力バツフ
ア7の内容は転送バス71を介し、計算システム
に送られる。
Next, reading will be explained. A read (b, d, n) command is sent from the computing system 1. The control processor 8 generates and sends addresses to each memory module 5 1 to 5 n in the same manner as in writing. Then, a read command is sent to each memory module 5 1 to 5 n via the transfer line 85, and the read data is sent as vector data to the linear replacement means 6 via the transfer lines 56 1 to 56 n . Before this, the control processor 8 generates (,) from (b, d) to the linear replacement means 6 via the transfer line 86, thereby establishing a transfer path. The data vector is replaced by the linear replacement means 6, and the transfer line 67
The data is sent to the output buffer 7 via 1 to 67n . Vector length n is used to indicate the range of valid vectors (not shown). The contents of the output buffer 7 are sent to the computing system via a transfer bus 71.

以上のように計算システムと外部メモリの間で
データの転送が行われる。
As described above, data is transferred between the computing system and the external memory.

つぎに、第2図に線形置換手段の構成例をブロ
ツク図で示す。回転置換手段61は転送線86を
介して送られてくる(,)のうち、に対応
して、bポジシヨン回転置換を実行するものでシ
フトレジスタにより実現される。出力は、転送線
11〜61nを介してスキツプ置換手段62に送ら
れる。スキツプ置換手段62は(,)のうち、
dに対応して、−飛びのスキツプ置換を行う。
このスキツプ置換は、Swanson,R.C.
(“Interconnections for Parallel Memories to
Unscramblep−ordered Vectors,”IEEE,
Trans on Comput,Vol.C−23,NO.11,
pp1105〜1115(1974))に述べられているk−
apart interconnection(k−飛び相互結合)によ
り容易に実現できる。
Next, FIG. 2 shows a block diagram of an example of the configuration of the linear replacement means. The rotation permutation means 61 executes b-position rotation permutation corresponding to (,) sent through the transfer line 86, and is realized by a shift register. The outputs are sent to the skip replacement means 62 via transfer lines 611 to 61n . Skip replacement means 6 2 is (,),
Corresponding to d, - skip substitution is performed.
This skip substitution is based on Swanson, R.C.
(“Interconnections for Parallel Memories to
Unscramblep−ordered Vectors,” IEEE,
Trans on Comput, Vol.C−23, No.11,
pp1105-1115 (1974))
This can be easily realized by apart interconnection (k-interconnection).

(発明の効果) 以上に述べたように、本発明によれば、数値計
算で現われる大規模なデータ構造(主として行列
やアレイ)に対する柔軟アクセスが可能になり、
さらに並列処理により高速の処理が可能となる。
(Effects of the Invention) As described above, according to the present invention, flexible access to large-scale data structures (mainly matrices and arrays) that appear in numerical calculations is possible.
Furthermore, parallel processing enables high-speed processing.

また、メモリモジユールの数を素数としたこと
でメモリの競合をなくすことができ、非常に簡単
な制御で、また簡素なシステム構成で高性能な外
部メモリ装置を可能にしている。
Furthermore, by making the number of memory modules a prime number, it is possible to eliminate memory contention, making it possible to create a high-performance external memory device with extremely simple control and a simple system configuration.

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

第1図は本発明の一実施例を示す外部メモリ装
置のシステム構成図、第2図は外部メモリ装置の
一部である線形置換手段のブロツク図である。 図において、1……計算システム、2……外部
メモリ装置、3……入力バツフア、4……逆線形
置換手段、51〜5n……メモリモジユール、6…
…線形置換手段、7……出力バツフア、8……制
御プロセツサ、をそれぞれ示す。
FIG. 1 is a system configuration diagram of an external memory device showing one embodiment of the present invention, and FIG. 2 is a block diagram of linear replacement means which is a part of the external memory device. In the figure, 1... calculation system, 2... external memory device, 3... input buffer, 4... inverse linear replacement means, 5 1 to 5 n ... memory module, 6...
. . . linear replacement means, 7 . . . output buffer, 8 . . . control processor, respectively.

Claims (1)

【特許請求の範囲】[Claims] 1 素数個のメモリモジユールと、計算システム
からのベクトルデータを保持する入力バツフア
と、前記計算システムからのベクトルデータを保
持する出力バツフアと、前記メモリモジユールの
出力を線形置換し前記出力バツフアに送る線形置
換手段と、前記入力バツフアの出力を逆線形置換
し前記メモリモジユールに送る逆線形置換手段
と、前記計算システムからの指令を解読し、前記
メモリモジユールへのアドレスや書き込み読み出
し指令の生成を行なうとともに、前記線形置換手
段と前記逆線形置換手段に対して制御パラメータ
を送る制御部とから構成されることを特徴とする
外部メモリ装置。
1 A prime number of memory modules, an input buffer that holds vector data from a computing system, an output buffer that holds vector data from the computing system, and linearly permutes the output of the memory module to the output buffer. a linear permutation means for inverse linear permutation of the output of the input buffer and sending it to the memory module; and an inverse linear permutation means for decoding the command from the calculation system and converting the address and write/read command to the memory module. An external memory device comprising: a control section that generates control parameters and sends control parameters to the linear replacement means and the inverse linear replacement means.
JP15715884A 1984-07-30 1984-07-30 External memory device Granted JPS6136865A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15715884A JPS6136865A (en) 1984-07-30 1984-07-30 External memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15715884A JPS6136865A (en) 1984-07-30 1984-07-30 External memory device

Publications (2)

Publication Number Publication Date
JPS6136865A JPS6136865A (en) 1986-02-21
JPH037976B2 true JPH037976B2 (en) 1991-02-04

Family

ID=15643449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15715884A Granted JPS6136865A (en) 1984-07-30 1984-07-30 External memory device

Country Status (1)

Country Link
JP (1) JPS6136865A (en)

Also Published As

Publication number Publication date
JPS6136865A (en) 1986-02-21

Similar Documents

Publication Publication Date Title
US5956274A (en) Memory device with multiple processors having parallel access to the same memory area
EP0263924B1 (en) On-chip bit reordering structure
EP0248906A1 (en) Multi-port memory system
JP2002518730A (en) Register and method for accessing register used in single instruction multiple data system
KR100503094B1 (en) DSP having wide memory bandwidth and DSP memory mapping method
US4736442A (en) System and method for orthogonal image transformation
EP1217581A2 (en) Processing of an image organized in pixel tiles
KR100772287B1 (en) Method and apparatus for connecting a massively parallel processor array to the memory array in bit-serial fashion
JPH037976B2 (en)
JPH04295953A (en) Parallel data processor with built-in two-dimensional array of element processor and sub-array unit of element processor
JPH037977B2 (en)
JPS6149246A (en) Image rotation processing system
JP2025511246A (en) Memory Architecture
JPH0117183B2 (en)
JP2855899B2 (en) Function memory
JPS6333348B2 (en)
JPH04360425A (en) semiconductor storage device
JPS6125192B2 (en)
CN121858473A (en) A fast transposition method and apparatus based on DMA hardware
JPS62133575A (en) Memory device
JPH0467280A (en) Parallel data processor
JPS6059622B2 (en) Image memory data exchange device
JPS62226380A (en) Image rotating circuit
JPS59186057A (en) Access processing system in image memory system
JPH0236008B2 (en)

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term