JPH0332829B2 - - Google Patents

Info

Publication number
JPH0332829B2
JPH0332829B2 JP58151327A JP15132783A JPH0332829B2 JP H0332829 B2 JPH0332829 B2 JP H0332829B2 JP 58151327 A JP58151327 A JP 58151327A JP 15132783 A JP15132783 A JP 15132783A JP H0332829 B2 JPH0332829 B2 JP H0332829B2
Authority
JP
Japan
Prior art keywords
vector
access
time
main memory
vector register
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 - Lifetime
Application number
JP58151327A
Other languages
Japanese (ja)
Other versions
JPS6043775A (en
Inventor
Hajime Matsumoto
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP15132783A priority Critical patent/JPS6043775A/en
Publication of JPS6043775A publication Critical patent/JPS6043775A/en
Publication of JPH0332829B2 publication Critical patent/JPH0332829B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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]

発明の属する技術分野 本発明は主メモリ上のデータをベクトルレジス
タに転速してこのベクトルレジスタに転送したデ
ータを使用してベクトル演算を行うデータ処理装
置に関する。 従来技術 第1図を参照すると、この種の従来のデータ処
理装置では主メモリ1から2本のアクセスパイプ
ライン6および7を介してメモリ制御装置2に各
要素のデータがそれぞれ1マシンサイクルに2要
素ずつ順次読出され、ベクトルレジスタ部3内の
ベクトルレジスタにセツトされる。このベクトル
レジスタの各要素のデータに対し、演算パイプラ
イン部4または5により、1マシンサイクルに2
要素ずつ順次演算が実行される。例えば、主メモ
リ上のベクトルデータA,BおよびCがそれぞれ
32の要素A(0),A(1),…A(30)およびA
(31);B(0),B(1),…B(30)およびB(31)

C(0),C(1),…C(30)およびC(31)からなる
とき、 C=A+B なるベクトル演算はベクトルレジスタVR0,
VR1およびVR2を用い4つのベクトル命令で
実行される。すなわち、 命令(1):VR0←A 命令(2):VR1←B 命令(3):VR2←VR0+VR1 命令(4):C←VR2 のようである。 命令(1)はアクセスパイプライン6を介して主メ
モリ1上のベクトルデータAの32個の要素をベク
トルレジスタ部3内のベクトルレジスタVR0に
セツトし、命令(2)はアクセスパイプライン7を介
して主メモリ1上のベクトルデータBの32個の要
素をベクトルレジスタ部3内のベクトルレジスタ
VR1にセツトする。命令(3)はベクトルレジスタ
部3内の2本のベクトルレジスタVR0および
VR1からデータを読出し演算パイプライン部4
で加算を実行し、和をベクトルレジスタ3内のベ
クトルレジスタVR2にセツトする。命令(4)はベ
クトルレジスタ3内のベクトルレジスタVR2の
32個の要素を読出しアクセスパイプライン6を介
して主メモリ1にベクトルデータCとして格納す
る。 一般に主メモリ1に使用するメモリ素子のサイ
クル時間はマシンサイクル時間より長く、数倍程
度長いこともめずらしくなく、主メモリをいくつ
かのパンクに分割することがしばしば行われてい
る。 例えば第2図を参照すると、主メモリ1は4つ
のモジユール11aないし11dに分かれ、各モ
ジユールは1マシンサイクルに1つのベクトル要
素を読出し/書込みできる。各モジユールは4つ
のバンク12aないし12dからなり、各バンク
は4マシンサイクルに1つのベクトル要素を読出
し/書込みできる。各バンクには#0ないし#15
のバンク番号が付与されており、#iのバンクに
は番地を16で割つたときの剰余がiであるデータ
が格納されている。ベクトルデータは隣接した要
素が主メモリ上に格納される番地の差を要素間距
離という。要素間距離は1とは限らない。例えば
35行35列の行列M(i,j)を行方向に主メモリ
に格納(M(0,0),M(1,0),…M(34,
0),M(0,1),M(1,1),…,M(34,1)

M(0,2)…)すると列ベクトルM(0,j),
M(1,j),…,M(34,j)の要素距離は1で
あるが、行ベクトルM(i,0),M(i,1),
…,M(i,34)の要素間距離は35である。 第3図を参照すると、ベクトルAの要素間距離
を1、ベクトルBの要素間距離を35とし、A(0)
B(0)ともにMB#0に格納されているとす
ると、A(1)はMB#1,A(2)はMB#2,…,A
(15)はMB(15)、A(16)はMB#0,…,A
(31)はMB#15に格納され、B(1)はMB#3、
B(2)はMB#6,…,B(6)はMB#2,…,B
(31)はMB#13に格納される。この時の主メモ
リ1に対する各要素のアクセスの状況を第3図に
示す。 まず命令1が発行され、1マシンサイクルに2
要素ずつ、A(0)とA(1)がMB#0とMB#1
から、A(2)とA(3)がMB#2とMB#3から、
…,と読出されていく。MB#0とMB#1は時
刻0から時刻3まで使用中となり、MB#2と
MB#3は時刻1から時刻4まで使用中となる。
命令(1)に引継き命令2が発行されB(0)とB(1)
を主メモリ1から読出す。B(0),B(1)はそれぞ
れMB#0,MB#3をアクセスしなければなら
ない。MB#3は命令(1)により時刻1から時刻4
まで使用中なのでB(0),B(1)のアクセス時刻5
から時刻8の間に行われる。B(2),B(3)のアクセ
スはMB#9が命令(1)で時刻7まで使用中のため
時刻8から時刻11の間に行われる。従つて、例え
ば、時刻5から時刻14の10マシンサイクルの間に
A(10)〜A(27),B(0)〜B(5)の24の要素のアク
セスが開始され、1マシンサイクルに4要素毎ア
クセスを開始する場合に比べ60%の効率しかな
い。 このように従来この種のデータ処理装置では要
素間距離の異るアクセスを同時に行うとメモリア
クセスの効率が著しく低下するという欠点があ
る。 発明の目的 本発明の目的は上述の欠点を除去しメモリバン
ク使用中によるメモリアクセスの待ち時間を減ら
しメモリアクセスの効率が高いデータ処理装置を
提供することにある。 発明の構成 本発明の装置は主メモリと、複数のベクトルレ
ジスタを有するベクトルレジスタ部と、主メモリ
とベクトルレジスタ部との間でデータ転送を行う
アクセスパイプライン部と、ベクトルレジスタの
要素に対して演算を行う演算パイプライン部を有
するデータ処理装置において、 主メモリをアクセスパイプライン部の1組のメ
モリアクセスポートに接続し、1つのベクトルレ
ジスタに対応するデータ転送を1マシンサイクル
に2m個の要素の割合で直列に実行し、ベクトル
レジスタ部をアクセスパイプライン部の2組のベ
クトルアクセスポートに接続し、1つのベクトル
レジスタに対応するデータ転送を1マシンサイク
ルにm個の要素の割合で並列に転送し、アクセス
パイプラインが2組のバツフアでできており、メ
モリアクセスポートで転送されるデータは要素毎
に交互に2組のバツフアのいずれかに対応し、2
組のベクトルアクセスポートは2×2クロスバー
で2組のバツフアと接続されているように構成さ
れている。 次に本発明について図面を参照して詳細に説明
する。第4図を参照すると、本発明の一実施例
は、主メモリ1、メモリ制御装置2、ベクトルレ
ジスタ部3、加算パイプライン部4、乗算パイプ
ライン部5およびアクセスパイプライン部8から
構成されている。主メモリ1とメモリ制御装置2
は4本の読出しラインと4本の書込みラインで接
続され、メモリ制御装置2は中央処理装置
(CPU)と入出力処理装置(LOP)とアクセスパ
イプライン部8からのメモリアクセスを制御し、
アクセスパイプライン部8とは4本の読出しライ
ンと4本の書込みラインで接続される。アクセス
パイプライン部8とベクトルレジスタ部3とはそ
れぞれ2本の読出しラインと2本の書込みライン
をもつ2つのポートで接続される。加算パイプラ
イン部4と乗算パイプライン部5とはそれぞれベ
クトルレジスタ部3から2本×2組のオペランド
の供給を受け2本の出力をベクトルレジスタ部3
に返す。 主メモリ1とメモリ制御部2との間の転送レー
トは読出し/書込みとも4語/マシンサイクル、
メモリ制御部2とアクセスパイプライン部8との
間の転送レートは読出し/書込みとも4語/マシ
ンサイクル、アクセスパイプライン部8とベクト
ルレジスタ部3との間の転送レートはポート当り
読出し/書込みとも2語/マシンサイクル、加算
パイプライン部と乗算パイプライン部の演算レー
トはともに2語/マシンサイクルである。 前記主メモリ1は第2図に示すように4つのモ
ジユール11aないし11dからなり、各モジユ
ールは4つのバンク12aないし12dからなつ
ている。 第5図を参照すると、アクセスパイプライン部
8は2つのバツフアBF0 81とEF1 82および2×
2クロスバ83から構成され、バツフアBF0 81と
BF1 82はそれぞれアクセスパイプライン部8の
読出しライン、書込みラインの半数のラインと接
続され、かつ、クロスバ83の一方のポート群
A,B,WおよびXに接続されている。クロスバ
83のもう一方のポート群C,D,YおよびZは
ベクトルレジスタ部と接続されている。 第6図を参照すると、主メモリの各バンクのサ
イクルが4マシンサイクルとし、ベクトルAの各
要素A(0),A(1),…,A(30)およびA(31)が
それぞれ主メモリのバンクMB#0、MB#1,
…,MB#30およびMB#31に格納されており、
ベクトルBの各要素B(0),B(1),…,B(30)
およびB(31)が3つ置きの主メモリのバンク
MB#0,MB#3,MB#6,…MB#8,MB
#11,MB#14に格納されている場合の主メモリ
1のバンクのサイクルの状態が示されている。時
刻のきざみはマシンサイクルであり、時刻0でA
(0),A(1),A(2)およびA(3)が格納されているバ
ンクMB#0,MB#1,MB#2およびMB
#3がアクセスされ、時刻0〜3の4マシンサイ
クルの間ビジーとなる。時刻1でA(4),A(5),A
(6)およびA(7)が格納されているバンクMB#4,
MB#5,MB#6およびMB#7がアクセスさ
れ、時刻1〜4の4マシンサイクルの間ビジーと
なる。同様にしてMB#8〜MB#11は時刻2〜
5の間、MB#12〜MB#15は時刻3〜6の間ビ
ジーとなる。時刻4でA(16)〜A(19)のアクセ
スを行うが、このときMB#0〜MB#3は先行
アクセスによるビジー期間を終了しているので、
バンクビジーによる待ち合せを行うことなくA
(16)〜A(19)のアクセスが行われる。A(20)
〜A(31)についても同様にバンクビジーによる
待合せなしにアクセスが行われる。 時刻7でベクトルAの全要素についてのアクセ
スが終了し時刻8でベクトルBのアクセスを開始
する。ベクトルBの最初の4要素B(0),B(1),
B(2)およびB(3)の格納されているメモリのバンク
はMB#0,MB#3,MB#6およびMB#9
であるが、MB#9が先行するアクセスのため時
刻6〜9の間ビジーのため、B(0)〜B(3)のア
クセスは2マシンサイクル遅れて時刻10に行われ
る。以後はバンクビジーによる待合せは発生せず
時刻17にB(28)〜B(31)が格納されているメモ
リバンクMB#5,MB#8,MB#11および
MB#14のアクセスが行われ、ベクトルBの全要
素についてのアクセスが終了する。 第7図はアクセスパイプライン部8におけるバ
ツフア動作を説明するものである。ここではA
(0)〜A(3)がアクセスパイプライン部8に到着
する時刻を0とした時間で表している。 時刻0でA(0)〜A(3)の4語がアクセスパイ
プライン部8に到着するが、そのうちA(0),A
(1)の2語をバツフアBF0にA(2),A(3)の2語をバ
ツフアBF1に格納する。時刻1でA(4)〜A(7)の
2語が到着するのでA(4),A(5)の2語をバツフア
BF0に、A(6),A(7)の2語をバツフアBF1に格
納する。同様にしてA(8),A(9),A(12),A
(13),…A(28),A(29)がバツフアBF0に、A
(10),A(11),…,A(30),A(31)がバツフアBF1
に格納される。ベクトルBのバツフアへの格納も
同様にして時刻10でB(0),B(1)がバツフアBF
0に、B(2),B(3)がバツフアBF1に格納され時
刻11でB(4),B(5)がバツフアBF0に、B(4),B
(5)がバツフアBF1に格納され、時刻17でB(28),
B(29)がバツフアBF0に、B(30),B(31)が
バツフアBF1に格納される。時刻1でバツフア
BF0からA(00),A(1)を時刻(2)でバツフアBF1
からA(2),A(3)を読出し以後バツフアBF0およ
びBF1から交互にAベクトルの要素を2語ずつ
読み出し、クロスバ83を制御してクロスバ83
のポートCにAベクトルの要素が2語/マシンサ
イクルの割合でベクトルレジスタ部3に送られ
る。 Aベクトルの要素がベクトルレジスタ部3に送
られている間にBベクトルがアクセスパイプライ
ン部8に送られてきており、時刻11から読郎し可
能となる。時刻11ではバツフアBF0の読出し
ポートはAベクトルのために占有されているので
B(0),B(1)のBF0からの読出しは時刻12に行
われる。続いて、時刻13にB(2),B(3)をバツフア
BF1から読出し、以後バツフアBF0とBF1か
ら交互にBベクトルの要素を2語ずつ読出し、ク
ロスバ83を制御してクロスバ83のポートDに
Bベクトルの要素が2語/マシンサイクルの割合
でベクトルレジスタ部3に送られる。 発明の効果 本発明にはアクセスパイプライン部を仲介し
て、主メモリとの間は1つのベクトルレジスタに
対応するデータ転送を直列に実行し、ベクトルレ
ジスタ部との間は2つのベクトルレジスタに対応
するデータ転送を並列に実行する構成をとること
により、主メモリのメモリアクセス効率の低減を
防ぐことができるという効果がある。
TECHNICAL FIELD The present invention relates to a data processing device that transfers data in a main memory to a vector register and performs vector operations using the data transferred to the vector register. Prior Art Referring to FIG. 1, in this type of conventional data processing device, data of each element is transferred from a main memory 1 to a memory control device 2 via two access pipelines 6 and 7, two times per machine cycle. The elements are sequentially read out and set in the vector register in the vector register section 3. The data in each element of this vector register is processed twice in one machine cycle by the arithmetic pipeline unit 4 or 5.
Operations are performed sequentially element by element. For example, vector data A, B, and C on main memory each have 32 elements A(0), A(1),...A(30) and A
(31); B(0), B(1),...B(30) and B(31)
;
When consisting of C(0), C(1),...C(30) and C(31), the vector operation such as C=A+B is performed by vector register VR0,
It is executed using four vector instructions using VR1 and VR2. That is, instruction (1): VR0←A instruction (2): VR1←B instruction (3): VR2←VR0+VR1 instruction (4): C←VR2. Instruction (1) sets 32 elements of vector data A in main memory 1 to vector register VR0 in vector register section 3 via access pipeline 6, and instruction (2) sets 32 elements of vector data A on main memory 1 to vector register VR0 in vector register section 3. The 32 elements of vector data B on main memory 1 are stored in the vector register in vector register section 3.
Set to VR1. Instruction (3) writes the two vector registers VR0 and
Read data from VR1 and calculation pipeline section 4
performs the addition and sets the sum in vector register VR2 in vector register 3. Instruction (4) reads vector register VR2 in vector register 3.
The 32 elements are stored as vector data C in the main memory 1 via the read access pipeline 6. Generally, the cycle time of the memory elements used in the main memory 1 is longer than the machine cycle time, and it is not uncommon for it to be several times longer, and the main memory is often divided into several blocks. For example, referring to FIG. 2, main memory 1 is divided into four modules 11a-11d, each module capable of reading/writing one vector element per machine cycle. Each module consists of four banks 12a-12d, each bank capable of reading/writing one vector element every four machine cycles. Each bank has #0 to #15
A bank number of #i is assigned, and data whose remainder when the address is divided by 16 is i is stored in the bank #i. For vector data, the difference in the addresses at which adjacent elements are stored in main memory is called the inter-element distance. The distance between elements is not necessarily 1. for example
A matrix M(i,j) of 35 rows and 35 columns is stored in the main memory in the row direction (M(0,0), M(1,0),...M(34,
0), M(0,1), M(1,1),..., M(34,1)

M(0,2)...) then the column vector M(0,j),
The element distance of M(1,j),...,M(34,j) is 1, but the row vectors M(i,0), M(i,1),
..., M(i, 34) has an inter-element distance of 35. Referring to Figure 3, the distance between elements of vector A is 1, the distance between elements of vector B is 35, and A(0)
Assuming that both B(0) are stored in MB#0, A(1) is stored in MB#1, A(2) is stored in MB#2, ..., A
(15) is MB(15), A(16) is MB#0,...,A
(31) is stored in MB#15, B(1) is stored in MB#3,
B(2) is MB#6,...,B(6) is MB#2,...,B
(31) is stored in MB#13. FIG. 3 shows the access status of each element to the main memory 1 at this time. First, instruction 1 is issued, and 2 instructions are issued in 1 machine cycle.
Element by element, A(0) and A(1) are MB#0 and MB#1
Therefore, A(2) and A(3) are from MB#2 and MB#3,
..., is read out. MB#0 and MB#1 are in use from time 0 to time 3, and MB#2 and MB#1 are in use from time 0 to time 3.
MB#3 is in use from time 1 to time 4.
Instruction 2 is issued to take over instruction (1) and B(0) and B(1)
is read from main memory 1. B(0) and B(1) must access MB#0 and MB#3, respectively. MB#3 changes from time 1 to time 4 by instruction (1)
Access time of B(0) and B(1) is 5 because it is in use until
and time 8. B(2) and B(3) are accessed between time 8 and time 11 because MB#9 is being used by instruction (1) until time 7. Therefore, for example, access to 24 elements A(10) to A(27) and B(0) to B(5) is started during 10 machine cycles from time 5 to time 14, and access is performed in one machine cycle. This is only 60% more efficient than starting access every 4 elements. As described above, conventional data processing devices of this type have the disadvantage that memory access efficiency is significantly reduced when accesses with different distances between elements are performed simultaneously. OBJECTS OF THE INVENTION It is an object of the present invention to provide a data processing device that eliminates the above-mentioned drawbacks, reduces the waiting time for memory access due to memory banks being in use, and has high efficiency in memory access. Structure of the Invention The device of the present invention includes a main memory, a vector register section having a plurality of vector registers, an access pipeline section that transfers data between the main memory and the vector register section, and an access pipeline section that transfers data between the main memory and the vector register section. In a data processing device that has an arithmetic pipeline section that performs arithmetic operations, the main memory is connected to a set of memory access ports of the access pipeline section, and data transfer corresponding to one vector register is performed with 2m elements in one machine cycle. The vector register section is connected to two sets of vector access ports in the access pipeline section, and the data transfer corresponding to one vector register is performed in parallel at a rate of m elements per machine cycle. The access pipeline is made up of two sets of buffers, and the data transferred at the memory access port alternately corresponds to one of the two sets of buffers for each element.
The set of vector access ports is configured to be connected to the two sets of buffers by a 2x2 crossbar. Next, the present invention will be explained in detail with reference to the drawings. Referring to FIG. 4, one embodiment of the present invention includes a main memory 1, a memory control device 2, a vector register section 3, an addition pipeline section 4, a multiplication pipeline section 5, and an access pipeline section 8. There is. Main memory 1 and memory control device 2
are connected by four read lines and four write lines, and the memory control unit 2 controls memory access from the central processing unit (CPU), input/output processing unit (LOP), and access pipeline unit 8,
It is connected to the access pipeline section 8 by four read lines and four write lines. The access pipeline section 8 and the vector register section 3 are connected through two ports each having two read lines and two write lines. The addition pipeline section 4 and the multiplication pipeline section 5 are each supplied with 2 x 2 sets of operands from the vector register section 3 and send two outputs to the vector register section 3.
Return to. The transfer rate between the main memory 1 and the memory control unit 2 is 4 words/machine cycle for both reading and writing.
The transfer rate between the memory control section 2 and the access pipeline section 8 is 4 words/machine cycle for both reading and writing, and the transfer rate between the access pipeline section 8 and the vector register section 3 is per port for both reading and writing. The calculation rate of both the addition pipeline section and the multiplication pipeline section is 2 words/machine cycle. As shown in FIG. 2, the main memory 1 consists of four modules 11a to 11d, each module consisting of four banks 12a to 12d. Referring to FIG. 5, the access pipeline unit 8 includes two buffers BF0 81 and EF1 82 and 2×
Consists of 2 crossbars 83, crossbars BF0 81 and
BF1 82 is connected to half of the read lines and half of the write lines of the access pipeline unit 8, and is also connected to one port group A, B, W, and X of the crossbar 83. The other port group C, D, Y, and Z of the crossbar 83 are connected to the vector register section. Referring to FIG. 6, the cycle of each bank of the main memory is 4 machine cycles, and each element A(0), A(1), ..., A(30) and A(31) of the vector A is the main memory Banks MB#0, MB#1,
..., stored in MB#30 and MB#31,
Each element of vector B B(0), B(1),..., B(30)
and B (31) every third main memory bank
MB#0, MB#3, MB#6, ...MB#8, MB
The state of the bank cycle of main memory 1 when stored in #11 and MB #14 is shown. The time increments are machine cycles, and at time 0 A
Banks MB#0, MB#1, MB#2 and MB where (0), A(1), A(2) and A(3) are stored
#3 is accessed and becomes busy for four machine cycles from times 0 to 3. A(4), A(5), A at time 1
Bank MB#4 where (6) and A(7) are stored,
MB#5, MB#6, and MB#7 are accessed and are busy for four machine cycles from times 1 to 4. Similarly, MB#8 to MB#11 are from time 2 to
During time 5, MB#12 to MB#15 are busy during time 3 to time 6. At time 4, A(16) to A(19) are accessed, but at this time MB#0 to MB#3 have finished their busy period due to advance access, so
A without waiting due to bank busy
Accesses (16) to A(19) are performed. A (20)
~A (31) is similarly accessed without waiting due to bank busy. Access to all elements of vector A ends at time 7, and access to vector B begins at time 8. The first four elements of vector B are B(0), B(1),
The memory banks where B(2) and B(3) are stored are MB#0, MB#3, MB#6 and MB#9.
However, since MB#9 is busy from time 6 to time 9 due to the preceding access, access to B(0) to B(3) is performed at time 10 with a delay of two machine cycles. After that, no waiting occurs due to bank busy, and at time 17, memory banks MB#5, MB#8, MB#11 and MB#11, which store B(28) to B(31)
MB#14 is accessed, and access to all elements of vector B is completed. FIG. 7 explains the buffer operation in the access pipeline unit 8. Here A
The time is expressed by setting the time when (0) to A(3) arrive at the access pipeline unit 8 as 0. At time 0, four words A(0) to A(3) arrive at the access pipeline section 8, of which A(0), A
Two words (1) are stored in buffer BF0, and two words A(2) and A(3) are stored in buffer BF1. Two words A(4) to A(7) arrive at time 1, so the two words A(4) and A(5) are buffered.
Two words A(6) and A(7) are stored in buffer BF1 in BF0. Similarly, A(8), A(9), A(12), A
(13),...A(28), A(29) are in buffer BF0, A
(10), A(11), ..., A(30), A(31) are buffer BF1
is stored in Similarly, vector B is stored in the buffer at time 10, and B(0) and B(1) are stored in the buffer BF.
0, B(2), B(3) are stored in buffer BF1, and at time 11, B(4), B(5) are stored in buffer BF0, B(4), B
(5) is stored in buffer BF1, and at time 17, B(28),
B(29) is stored in buffer BF0, and B(30) and B(31) are stored in buffer BF1. Batsuhua at time 1
Buffer BF1 from BF0 to A(00), A(1) at time (2)
After reading A(2) and A(3) from buffers BF0 and BF1, elements of the A vector are read two words at a time alternately from buffers BF0 and BF1, and the crossbar 83 is controlled.
The elements of the A vector are sent to the port C of the vector register unit 3 at a rate of 2 words/machine cycle. While the elements of the A vector are being sent to the vector register section 3, the B vector is being sent to the access pipeline section 8, and can be read from time 11. At time 11, the read port of buffer BF0 is occupied by the A vector, so B(0) and B(1) are read from BF0 at time 12. Next, at time 13, B(2) and B(3) are buffered.
The elements of the B vector are read from BF1, and then the elements of the B vector are read out alternately from the buffers BF0 and BF1, two words at a time, and the crossbar 83 is controlled so that the elements of the B vector are transferred to port D of the crossbar 83 at a rate of two words/machine cycle in the vector register section. Sent to 3. Effects of the Invention The present invention serially executes data transfer corresponding to one vector register between the main memory and the vector register section via the access pipeline section, and transfers data corresponding to two vector registers between the main memory and the vector register section. By adopting a configuration in which data transfers are executed in parallel, it is possible to prevent a reduction in memory access efficiency of the main memory.

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

第1図は従来技術を示す図、第2図は第1図お
よび第4図に示す主メモリ部分を示す図、第3図
は従来技術のメモリバンクのビジーの状態を示す
タイムチヤート、第4図は本発明の一実施例を示
す図、第5図は第4図に示したアクセスパイプラ
イン部を示す図、第6図は第4図の動作を説明す
るためのメモリバンクのビジーのタイムチヤート
および第7図はアクセスパイプライン部のバツフ
アおよびクロスバの動作を説明するためのタイム
チヤートである。 第1図から第7図において、1……主メモリ、
2……メモリ制御部、3……ベクトルレジスタ
部、4……加算パイプライン部、5……乗算パイ
プライン部、6〜8……アクセスパイプライン
部、11a〜11d……メモリモジユール、12
a〜12d……メモリバンク、81〜82……バ
ツフア、83……2×2クロスバ。
FIG. 1 is a diagram showing the prior art, FIG. 2 is a diagram showing the main memory portion shown in FIGS. 1 and 4, FIG. 3 is a time chart showing the busy state of the memory bank in the prior art, and FIG. 5 is a diagram showing an embodiment of the present invention, FIG. 5 is a diagram showing the access pipeline section shown in FIG. 4, and FIG. 6 is a diagram showing the busy time of the memory bank to explain the operation of FIG. 4. The chart and FIG. 7 are time charts for explaining the operations of the buffer and crossbar in the access pipeline section. In FIGS. 1 to 7, 1...main memory;
2...Memory control unit, 3...Vector register unit, 4...Addition pipeline unit, 5...Multiplication pipeline unit, 6-8...Access pipeline unit, 11a-11d...Memory module, 12
a-12d...memory bank, 81-82...buffer, 83...2x2 crossbar.

Claims (1)

【特許請求の範囲】 1 主メモリと、複数のベクトルレジスタを有す
るベクトルレジスタ部と、前記主メモリと前記ベ
クトルレジスタ部との間でデータ転送を行うアク
セスパイプライン部と、前記ベクトルレジスタの
要素に対して演算を行なう演算パイプライン部と
を有するデータ処理装置において、 前記アクセスパイプライン部は1組のメモリア
クセスポートと2組のベクトルアクセスポートを
もち、 前記アクセスパイプライン部は、前記メモリア
クセスポートに接続された主メモリと、ベクトル
レジスタ部の1つのベクトルレジスタに対応する
データ転送を順次実行し、 2組のベクトルアクセスポートに接続された前
記ベクトルレジスタ部は2つのベクトルレジスタ
に対応するデータ転送を同時に実行し、 1つの演算パイプラインが1マシンサイクルで
m語の結果を出力するときに前記アクセスパイプ
ライン部は、ベクトルアクセスポートの1つが1
マシンサイクルでm語の要素を転送し、メモリア
クセスポートが1マシンサイクルで2m語の要素
を転送することを特徴とするデータ処理装置。 2 前記アクセスパイプラインが2組のバツフア
を含みメモリアクセスポートで転送されるデータ
は要素毎に交互に2組のバツフアのいずれかに対
応し、2組のベクトルアクセスポートは2×2ク
ロスバーで2組のバツフアに接続されていること
を特徴とする特許請求の範囲第1項記載のデータ
処理装置。
[Claims] 1. A main memory, a vector register section having a plurality of vector registers, an access pipeline section that transfers data between the main memory and the vector register section, and an access pipeline section that transfers data between the main memory and the vector register section; A data processing device having an arithmetic pipeline section that performs arithmetic operations on the memory access ports, wherein the access pipeline section has one set of memory access ports and two sets of vector access ports; Data transfer corresponding to the main memory connected to the main memory and one vector register of the vector register section is sequentially executed, and the vector register section connected to the two sets of vector access ports transfers data corresponding to the two vector registers. are simultaneously executed, and one arithmetic pipeline outputs m-word results in one machine cycle.
A data processing device characterized in that m word elements are transferred in a machine cycle, and a memory access port transfers 2m word elements in one machine cycle. 2 The access pipeline includes two sets of buffers, and the data transferred by the memory access port alternately corresponds to one of the two sets of buffers for each element, and the two sets of vector access ports are arranged in a 2×2 crossbar. 2. The data processing device according to claim 1, wherein the data processing device is connected to two sets of buffers.
JP15132783A 1983-08-19 1983-08-19 Data processor Granted JPS6043775A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15132783A JPS6043775A (en) 1983-08-19 1983-08-19 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15132783A JPS6043775A (en) 1983-08-19 1983-08-19 Data processor

Publications (2)

Publication Number Publication Date
JPS6043775A JPS6043775A (en) 1985-03-08
JPH0332829B2 true JPH0332829B2 (en) 1991-05-14

Family

ID=15516178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15132783A Granted JPS6043775A (en) 1983-08-19 1983-08-19 Data processor

Country Status (1)

Country Link
JP (1) JPS6043775A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01284966A (en) * 1988-05-11 1989-11-16 Nec Corp Data processor
JPH01316871A (en) * 1988-06-17 1989-12-21 Nec Corp Vector processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5466727A (en) * 1977-11-07 1979-05-29 Fujitsu Ltd Access control system for buffer memory
JPS5491151A (en) * 1977-12-28 1979-07-19 Fujitsu Ltd Internal memory control system on array processor
JPS5798070A (en) * 1980-12-12 1982-06-18 Fujitsu Ltd Data processing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5466727A (en) * 1977-11-07 1979-05-29 Fujitsu Ltd Access control system for buffer memory
JPS5491151A (en) * 1977-12-28 1979-07-19 Fujitsu Ltd Internal memory control system on array processor
JPS5798070A (en) * 1980-12-12 1982-06-18 Fujitsu Ltd Data processing device

Also Published As

Publication number Publication date
JPS6043775A (en) 1985-03-08

Similar Documents

Publication Publication Date Title
US5956274A (en) Memory device with multiple processors having parallel access to the same memory area
US4891751A (en) Massively parallel vector processing computer
EP0424618A2 (en) Input/output system
US6948045B2 (en) Providing a register file memory with local addressing in a SIMD parallel processor
JPH0425586B2 (en)
JPH03211689A (en) Processor arrangement system
JPS618785A (en) Access control system for storage device
JPH0652530B2 (en) Vector processor
WO2002071239A2 (en) Data processing apparatus and system and method for controlling memory access
JP3086769B2 (en) Multi-port field memory
EP1314099B1 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
JPH0282330A (en) Move out system
JPH0332829B2 (en)
JP2002269067A (en) Matrix arithmetic unit
JP2547219B2 (en) Vector data access control apparatus and method
JP2855899B2 (en) Function memory
JP3628339B2 (en) Data access system
JPH08297652A (en) Array processor
JP2610500B2 (en) Parallel vector calculator
JP2655243B2 (en) Complex vector parallel computer
JPS626373A (en) Vector control system
JP3039043B2 (en) Parallel processor
JPH0368045A (en) Main memory control system
JP2020144449A (en) Vector processing device
JPS63209090A (en) Access memory