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
Links
- 239000013598 vector Substances 0.000 claims description 81
- 239000000872 buffer Substances 0.000 claims description 27
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector 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
発明の属する技術分野
本発明は主メモリ上のデータをベクトルレジス
タに転速してこのベクトルレジスタに転送したデ
ータを使用してベクトル演算を行うデータ処理装
置に関する。 従来技術 第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つのベクトルレジスタに対応
するデータ転送を並列に実行する構成をとること
により、主メモリのメモリアクセス効率の低減を
防ぐことができるという効果がある。
タに転速してこのベクトルレジスタに転送したデ
ータを使用してベクトル演算を行うデータ処理装
置に関する。 従来技術 第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つのベクトルレジスタに対応
するデータ転送を並列に実行する構成をとること
により、主メモリのメモリアクセス効率の低減を
防ぐことができるという効果がある。
第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クロスバ。
よび第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クロスバ。
Claims (1)
- 【特許請求の範囲】 1 主メモリと、複数のベクトルレジスタを有す
るベクトルレジスタ部と、前記主メモリと前記ベ
クトルレジスタ部との間でデータ転送を行うアク
セスパイプライン部と、前記ベクトルレジスタの
要素に対して演算を行なう演算パイプライン部と
を有するデータ処理装置において、 前記アクセスパイプライン部は1組のメモリア
クセスポートと2組のベクトルアクセスポートを
もち、 前記アクセスパイプライン部は、前記メモリア
クセスポートに接続された主メモリと、ベクトル
レジスタ部の1つのベクトルレジスタに対応する
データ転送を順次実行し、 2組のベクトルアクセスポートに接続された前
記ベクトルレジスタ部は2つのベクトルレジスタ
に対応するデータ転送を同時に実行し、 1つの演算パイプラインが1マシンサイクルで
m語の結果を出力するときに前記アクセスパイプ
ライン部は、ベクトルアクセスポートの1つが1
マシンサイクルでm語の要素を転送し、メモリア
クセスポートが1マシンサイクルで2m語の要素
を転送することを特徴とするデータ処理装置。 2 前記アクセスパイプラインが2組のバツフア
を含みメモリアクセスポートで転送されるデータ
は要素毎に交互に2組のバツフアのいずれかに対
応し、2組のベクトルアクセスポートは2×2ク
ロスバーで2組のバツフアに接続されていること
を特徴とする特許請求の範囲第1項記載のデータ
処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15132783A JPS6043775A (ja) | 1983-08-19 | 1983-08-19 | デ−タ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15132783A JPS6043775A (ja) | 1983-08-19 | 1983-08-19 | デ−タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6043775A JPS6043775A (ja) | 1985-03-08 |
JPH0332829B2 true JPH0332829B2 (ja) | 1991-05-14 |
Family
ID=15516178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15132783A Granted JPS6043775A (ja) | 1983-08-19 | 1983-08-19 | デ−タ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6043775A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01284966A (ja) * | 1988-05-11 | 1989-11-16 | Nec Corp | データ処理装置 |
JPH01316871A (ja) * | 1988-06-17 | 1989-12-21 | Nec Corp | ベクトル処理装置 |
Citations (3)
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 |
-
1983
- 1983-08-19 JP JP15132783A patent/JPS6043775A/ja active Granted
Patent Citations (3)
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 (ja) | 1985-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5956274A (en) | Memory device with multiple processors having parallel access to the same memory area | |
EP0424618A2 (en) | Input/output system | |
US6948045B2 (en) | Providing a register file memory with local addressing in a SIMD parallel processor | |
JPH0425586B2 (ja) | ||
JPH03211689A (ja) | プロセッサ配列システム | |
JPS618785A (ja) | 記憶装置アクセス制御方式 | |
JPH0652530B2 (ja) | ベクトル・プロセッサ | |
WO2002071239A2 (en) | Data processing apparatus and system and method for controlling memory access | |
JP3086769B2 (ja) | マルチポートフィールドメモリ | |
JPH0531176B2 (ja) | ||
EP1314099B1 (en) | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner | |
JPH0332829B2 (ja) | ||
JPS6042516B2 (ja) | デ−タ処理装置 | |
JP2002269067A (ja) | 行列演算装置 | |
JP2547219B2 (ja) | ベクトルデータのアクセス制御装置及び方法 | |
JP2855899B2 (ja) | 機能メモリ | |
JP3628339B2 (ja) | データアクセスシステム | |
JPH08297652A (ja) | アレイプロセッサ | |
JP2610500B2 (ja) | 並列ベクトル計算機 | |
JP2655243B2 (ja) | 複合化ベクトル並列計算機 | |
JPS626373A (ja) | ベクトル制御方式 | |
JP3039043B2 (ja) | 並列プロセッサ | |
JPH0368045A (ja) | 主記憶制御方式 | |
US7930518B2 (en) | Method for manipulating data in a group of processing elements to perform a reflection of the data | |
JP2020144449A (ja) | ベクトル処理装置 |