JPH0370255B2 - - Google Patents

Info

Publication number
JPH0370255B2
JPH0370255B2 JP4777281A JP4777281A JPH0370255B2 JP H0370255 B2 JPH0370255 B2 JP H0370255B2 JP 4777281 A JP4777281 A JP 4777281A JP 4777281 A JP4777281 A JP 4777281A JP H0370255 B2 JPH0370255 B2 JP H0370255B2
Authority
JP
Japan
Prior art keywords
memory
unit
vector
data
control unit
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
JP4777281A
Other languages
English (en)
Other versions
JPS57161955A (en
Inventor
Mikio Ito
Naoaki Kasuya
Hiroshi Tamura
Keiichiro Uchida
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4777281A priority Critical patent/JPS57161955A/ja
Publication of JPS57161955A publication Critical patent/JPS57161955A/ja
Publication of JPH0370255B2 publication Critical patent/JPH0370255B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明は、ベクトル・ユニツトを備える計算機
システムにおいて、ベクトル・ユニツトが主メモ
リの連続した大きなアドレス領域を毎サイクルに
わたつてアクセスすることが出来るようにしたメ
モリ制御方式に関するものである。
従来一般にデータ処理システムにおける主メモ
リは、例えば第1図に図示する如く、複数個のメ
モリ・ユニツト1−0,1−1,1−2,1−3
を具備し、かつ各メモリ・ユニツト1−0,1−
1,1−2,1−3は夫々複数個のメモリ・バン
ク2−0ないし2−3,2−4ないし2−7,2
−8ないし2−11,2−12ないし2−15を
具備している。ここでメモリ・バンク2−0ない
し2−15は全体として連続したアドレス空間を
形成するよう予めアドレス割り付けがなされてい
る。なお図中の符号3−0ないし3−3は夫々コ
ントロール部、4はメモリ・コントロール・ユニ
ツト、5はリクエスト・アドレス転送回路、6は
ストア・データ転送処理およびエラー・チエツ
ク・コード発生処理を行う回路、7はフエツチ・
データ受信処理、エラー・チエツク・コード・チ
エツク処理およびエラー訂正処理を行う回路を
夫々表わしている。
ところで、この種の主メモリおよびメモリ・コ
ントロール・ユニツト4を用いたデータ処理シス
テムにおいて、ベクトル・ユニツトを備えベクト
ル処理を行うものが知られている。このベクトル
処理は一般に、主メモリ上の比較的大きな連続し
たアドレス領域をアクセスしベクトル処理を行
う。ところが、第1図のような構成を採用する
と、連続した大きなアドレス領域を毎サイクルに
わたつてアクセスすることが出来ず、ベクトル・
ユニツトからの要求に応えることが出来ない。
本発明は、上記の考察に基づくものであつて、
ベクトル・ユニツトを有する計算機システムにお
いて、ベクトル・ユニツトが大量のデータを毎サ
イクルにわたつてアクセスできるようにしたメモ
リ制御方式を提供することを目的としている。そ
してそのため、本発明のメモリ制御方式は、 複数のバンクを有する主メモリと、 該主メモリとアクセス要求源間のデータ転送を
制御するメモリ・コントロール・ユニツトと、 該メモリ・コントロール・ユニツトと接続され
たベクトル・ユニツトと を有する計算機システムにおいて、 上記主メモリを複数のバンクを有するメモリ・
ユニツトの複数個で構成し、 アドレス順に対応して付けられたバンク番号を
メモリ・ユニツト数で割つたときの余りが同じ値
をとるバンク番号をもつ複数のバンクを同一のメ
モリ・ユニツトに割付け、 各メモリ・ユニツトと上記メモリ・コントロー
ル・ユニツトをそれぞれ1組のバスで接続し、 上記ベクトル・ユニツトと上記メモリ・コント
ロール・ユニツトの間を複数組のバスで接続し、 上記複数のメモリ・ユニツトからデータを1サ
イクル内で同時に読み出し得ると共に複数のメモ
リ・ユニツトに1サイクル内で同時にデータを書
込み得るように構成した ことを特徴とするものである。以下、本発明を図
面を参照しつつ説明する。
第2図は本発明の1実施例のシステム構成を示
すものであつて、1′−0ないし1′−3はメモ
リ・ユニツト、2−0ないし2−15はメモリ・
バンク、3′−0ないし3′−3はコントロール
部、4′はメモリ・コントロール・ユニツト、
VUはベクトル・ユニツト、SUはスカラー・ユ
ニツト、CUはチヤネル・ユニツトをそれぞれ示
している。
メモリ・ユニツト1′−0ないし1′−3は全体
として主メモリを構成するものであり、主メモリ
はバンク2−0ないし2−15から構成されてい
るものである。各メモリ・ユニツト1′−0,
1′−1,1′−2,1′−3のそれぞれは、メモ
リ・コントロール・ユニツト4′に1組のバスで
接続されている。ベクトル・ユニツトVUはベク
トル演算を行うものであり、メモリ・コントロー
ル・ユニツト4′との間に例えば4組のバスが張
られている。なお、第2図に示すようにメモリ・
ユニツト数(MSU#0〜3)とMCU−MSU
(#0〜3)間のバス本数は同数であるが、ベク
トル・ユニツトとMCU間のバスの本数はメモ
リ・ユニツト数(MSU#0〜3)と必ずしも対
応する必要はない。但し、ベクトル・ユニツト
VUとMCU間のバスの本数よりもメモリ・ユニ
ツト数(MSU#0〜3)の方が多いか又は同数
の必要がある。さもないと、ベクトル・ユニツト
VUとMCU間のバスのスループツトが確保でき
ないことになる。メモリ・ユニツト数がベクト
ル・ユニツトとMCU間のバスの本数よりも多い
場合は、ベクトル・ユニツトとMCU間のバス上
のリクエスト・アドレスに基づいて当該リクエス
トを送るメモリ・ユニツトを決定すれば良い。チ
ヤネル・ユニツトCUはチヤネルを制御するもの
であり、メモリ・コントロール・ユニツト4′と
の間には例えば1組のバスが張られている。スカ
ラー・ユニツトSUは通常の中央処理装置であり、
スカラー・ユニツトSUとメモリ・コントロー
ル・ユニツト4′との間には例えば1組のバスが
張られている。
第3図はバンク番号と主メモリ・アドレスとの
対応を示すものであつて、例えばバンク2−0に
はアドレス128Nないし128N+7が割付けられ、
バンク2−1にはアドレス128N+8ないし128N
+15が割付けられる。たゞし、Nは0を含む正の
整数である。バンク内のデータ幅を8バイトとし
たのは、1エレメントが8バイト又は8バイト単
位でECCコードを持つためであり、別に8バイ
ト幅に限られるわけではない。
第3図のようにバンク番号にアドレスを割付け
ると、連続したアドレスをアクセスするために
は、連続したアドレスに対応する各バンクがそれ
ぞれ異なるバスに接続される必要がある。例え
ば、アドレス0ないし31番地を持つバンク2−
0,2−1,2−2,2−3は異なるメモリ・ユ
ニツトに配置されなければならない。そのために
は、メモリ・ユニツト1′−0にはバンク番号4n
(nは0,1,2……)メモリ・ユニツト1′−1
にはバンク番号4n+1、メモリ・ユニツト1′−
2には4n+2、メモリ・ユニツト1′−3には4n
+3を割付ければ良い。この場合の“4”はバス
の本数を示す。
第4図はメモリ・コントロール・ユニツト4′
の詳細を示すものであつて、5−0ないし5−3
は夫々第1図図示のリクエスト・アドレス転送回
路に対応するもの、6−0ないし6−3は夫々第
1図図示の回路6に対応するもの、7−0ないし
7−3は夫々第1図図示の回路7に対応するも
の、8−0ないし8−3および8′−0ないし
8′−3は夫々転送バスを夫々表わしている。
第4図から判るように、各メモリ・ユニツト
1′−0,1′−1,1′−2,1′−3のそれぞれ
に対して専用にリクエスト・アドレス転送回路、
ストア・データ転送回路、フエツチ・データ受信
回路等が設けられている。例えば、メモリ・ユニ
ツト1′−0に対しては、リクエスト・アドレス
転送回路5−0、ストア・データ転送回路6−
0、フエツク・データ受信回路7−0が設けら
れ、これらの回路5−0,6−0,7−0は専用
のバス8−0を介してメモリ・ユニツト1′−0
に接続され、また専用のバス8′−0を介してベ
クトル・ユニツトVUに接続されている。ベクト
ル・ユニツトVUは、0ないし31番地のデータを
フエツチする場合、バス8′−0に0ないし7番
地のデータをフエツチすること、バス8′−1に
8ないし15番地のデータをフエツチすること、バ
ス8′−2に16ないし23番地のデータをフエツチ
すること、バス8′−3に23ないし31番地のデー
タをフエツチすることを指令する信号を送出す
る。
コントロール部3′−0は第5図に図示する如
く構成される。第5図における符号9−0はリク
エスト・アドレス受信レジスタ、10−0はスト
ア・データ受信レジスタ、11−0はフエツチ・
データ送信レジスタ、12−0,12−4,12
−8および12−12は夫々メモリ・バンク2−
0,2−4,2−8および2−12に応するアド
レス・レジスタ、13−0,13−4,13−
8,13−12は夫々メモリ・バンク2−0,2
−4,2−8および2−12に対応するストア・
レジスタ、14−0,14−4,14−8および
14−12はフエツチ・データ・レジスタをそれ
ぞれ示している。
フエツチ・アクセスを行う場合、リクエスト・
アドレスがリクエスト受信レジスタ9−0を介し
てアドレス・レジスタ12−0,12−4,12
−8,12−12にセツトされ、リードが起動さ
れると、リクエスト・アドレスで定まるバンク2
−i(i=0,4,8,12)からデータが読出さ
れ、フエツチ・データ・レジスタ14−iおよび
フエツチ・データ送信レジスタ11−0を介して
フエツチ・データ受信回路7−0に送られる。
ストア・アクセスを行う場合、リクエスト・ア
ドレスがリクエスト・アドレス受信レジスタ9−
0を介してアドレス・レジスタ12−0,12−
4,12−8にセツトされ、ストア・データがス
トア・データ受信レジスタ10−0を介してスト
ア・レジスタ14−0,14−4,14−8,1
4−12にセツトされる。ライトが起動される
と、リクエスト・アドレスで定まるバンク2−i
の該当する番地にデータが書込まれる。
なお上述した実施例においては、フエツチ・デ
ータ用転送バスとストア・データ用転送バスとを
別個に設けた構成を示したが、本発明はこれに限
定されるものではなく、双方向性転送バスを介し
てデータ転送を行うようにしてもよいことは言う
までもない。
第6図はベクトル・ユニツトの構成例を説明す
る図である。同図において、15はアライン回
路、16はロード/ストア・レジスタ・スタツ
ク、17はベクトル・レジスタ、18は加減算パ
イプライン、19は乗算パイプライン、20は除
算パイプライン、21はアドレス発生回路、22
はバツフア・ストレージ、23はスカラ・レジス
タ、24はスカラ演算器をそれぞれ示している。
先ず、ベクトル命令の実行方法について説明す
る。
ベクトル命令とは、1つの命令によつて複数の
データ(4バイト又は8バイトのデータ)を処理
する様に定義されている。例えば、ベクトル・ロ
ード命令は、1命令によつて複数のデータを主メ
モリから取り出し、ベクトル・レジスタに17に
格納する命令である。このデータ数はプログラム
によつて指定されるが、数十個から数百個が通常
である。また、ベクトル・ストア命令は、複数の
データをベクトル・レジスタ17から取り出し
て、主メモリに格納する命令である。ベクトル演
算命令は代表的なものとして加算、減算、乗算、
除算がある。例えば、加算を例にとると、ベクト
ル・レジスタから2組の複数個のデータが順に取
り出され(一方の組のデータをA1,A2,…,Ao
とし、他方の組のデータをB1,B2,…,Boとす
る)、加減算パイプライン18にA1とB1,A2
B2,…,AoとBoの順でデータが入力され、A1
B1,A2+B2,…,Ao+Boの順で加算結果が加減
算パイプライン18から出力され、ベクトル・レ
ジスタ17に格納される。
同様に、ベクトル乗算命令は乗算パイプライン
19で処理され、ベクトル除算命令は除算パイプ
ライン20で処理される。
一般的なプログラムでは、ベクトル・ロード命
令によつて主メモリからデータが取り出されてベ
クトル・レジスタ17に格納され、ベクトル演算
(加減乗除)命令によつて、ベクトル・レジスタ
17のデータが演算パイプラインにて実行されて
演算結果ベクトル・レジスタ17に格納され、ベ
クトル・ストア命令にてベクトル・レジスタ17
の中の演算結果データが主メモリにストアされ
る。
次に、ベクトル・ロード/ストア命令について
詳しく説明する。
ベクトル・ロード命令は、複数のデータ(D1
D2,…,Do)を1命令で指定された主メモリ内
の番地(A1,A2,…,Aoとする)から読み出し
てベクトル・レジスタ17に格納する命令であ
る。この主メモリのアドレスは命令によつて指定
されるが、或る指定されたアドレスから連続した
番地に割り付けられていたり、指定先頭アドレス
から一定の距離をあけて順に指定されていたり
種々のケースがある。ベクトル・ロード命令はア
ドレス発生器21によつて解読され、A1,A2
…,Aoのアドレスが発生させられ、アドレスバ
スAB0ないしAB3を介して主メモリに送られる。
これらのアドレス・バスAB(iは0,1,2,
3)は、転送バス8′−i(第4図参照)のREQ
ADRSに接続されている。主メモリより読み出さ
れたデータは、転送バス8′−0ないし8′−4の
Fetch Dataからデータ・バスDB0ないしDB3を
通つてアライン回路15に送られる。
アライン回路15は、メモリ・ユニツト1−0
ないし1−3から送られて来たデータ(メモリ・
ユニツト番号によつて送られて来るバスが定まつ
ている)をD1,D2,…,Doのデータ順に並び替
えるマルチプレクサ回路である。アライン回路1
5で並び替えられたデータは、ロード/ストア・
レジスタ・スタツフ16にバツフアリングされつ
つ4個揃つた順にベクトル・レジスタ17に書き
込まれる。n個の全てが書き込まれて命令は完了
する。なお、複数個のエレメント・データを同時
にアクセスできるベクトル・ユニツトにおいて
は、アライン回路は当然に必要である。アライン
回路自体は、言うまでもなく公知である。
ベクトル・ストア命令では、ベクトル・ロード
命令と逆のフローとなり、ベクトル・レジスタ内
の複数個のデータ(D1,D2,…,Do)が主メモ
リのアドレス(A1,A2,…,Ao)にストアされ
る。
ベクトル・レジスタ17のデータ(D1,D2
…,Do)はロード/ストア・レジスタ・スタツ
ク16に読み出され、アライン回路15を通して
メモリ・コントロール・ユニツト4′に送られる。
また、同時にアドレス発生器21によつてA1
A2,…,Aoのアドレスが発生され、メモリ・コ
ントロール・ユニツト4′に送られる。
スカラ・ユニツトSUは、バツフア・ストレー
ジ22、スカラ・レジスタ23、スカラ演算器2
4等を有している。バツフア・ストレージ22
は、キヤツシユ・メモリとも言われるものであ
り、主メモリのデータのコピーを保持する。スカ
ラ・レジスタ23は、スカラ・ユニツトのデータ
を格納するレジスタであり、汎用レジスタや浮動
小数点レジスタの総称である。スカラ演算器24
は、スカラ・データの加減乗除を行う。
以上の説明から明らかなように、本発明によれ
ば、主メモリの連続したアドレス領域に毎サイク
ルにわたつて大量のデータを書込み得ると共に、
主メモリの連続したアドレス領域から毎サイクル
にわたつて大量のデータを読出すことが出来る。
【図面の簡単な説明】
第1図は従来のメモリ制御方式を示す図、第2
図は本発明の1実施例のシステム構成を示す図、
第3図はバンク番号と主メモリ・アドレスの対応
を示す図、第4図はメモリ・コントロール・ユニ
ツトの1実施例構成を示す図、第5図はメモリ・
ユニツトのコントロール部の1実施例構成を示す
図、第6図はベクトル・ユニツトの構成例を説明
する図である。 図中、1′−0ないし1′−3は夫々メモリ・ユ
ニツトであり主メモリの構成要素となるもの、2
−0ないし2−15は夫々メモリ・バンク、4′
はメモリ・コントロール・ユニツト、8−0ない
し8−3は夫々転送バスを夫々表わす。

Claims (1)

  1. 【特許請求の範囲】 1 複数のバンクを有する主メモリと、 該主メモリとアクセス要求源間のデータ転送を
    制御するメモリ・コントロール・ユニツトと、 該メモリ・コントロール・ユニツトと接続され
    たベクトル・ユニツトと を有する計算機システムにおいて、 上記主メモリを複数のバンクを有するメモリ・
    ユニツトの複数個で構成し、 アドレス順に対応して付けられたバンク番号を
    メモリ・ユニツト数で割つたときの余りが同じ値
    をとるバンク番号をもつ複数のバンクを同一のメ
    モリ・ユニツトに割付け、 各メモリ・ユニツトと上記メモリ・コントロー
    ル・ユニツトをそれぞれ1組のバスで接続し、 上記ベクトル・ユニツトと上記メモリ・コント
    ロール・ユニツトの間を複数組のバスで接続し、 上記複数のメモリ・ユニツトからデータを1サ
    イクル内で同時に読み出し得ると共に複数のメモ
    リ・ユニツトに1サイクル内で同時にデータを書
    込み得るように構成した ことを特徴とするメモリ制御方式。
JP4777281A 1981-03-30 1981-03-30 Memory control system Granted JPS57161955A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4777281A JPS57161955A (en) 1981-03-30 1981-03-30 Memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4777281A JPS57161955A (en) 1981-03-30 1981-03-30 Memory control system

Publications (2)

Publication Number Publication Date
JPS57161955A JPS57161955A (en) 1982-10-05
JPH0370255B2 true JPH0370255B2 (ja) 1991-11-07

Family

ID=12784665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4777281A Granted JPS57161955A (en) 1981-03-30 1981-03-30 Memory control system

Country Status (1)

Country Link
JP (1) JPS57161955A (ja)

Also Published As

Publication number Publication date
JPS57161955A (en) 1982-10-05

Similar Documents

Publication Publication Date Title
JP4045062B2 (ja) ロード命令を実行する方法、プロセッサ、およびシステム
US4706191A (en) Local store for scientific vector processor
US5832290A (en) Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
US7882332B1 (en) Memory mapped register file
US4789925A (en) Vector data logical usage conflict detection
US7240159B2 (en) Data processor having cache memory
US4293941A (en) Memory access control system in vector processing system
EP0328721A2 (en) Dynamic multiple instruction stream multiple data multiple pipeline floatingpoint unit
EP0155211A2 (en) System for by-pass control in pipeline operation of computer
US5491829A (en) Method and system for indexing the assignment of intermediate storage buffers in a superscalar processor system
JPH0581935B2 (ja)
US6477635B1 (en) Data processing system including load/store unit having a real address tag array and method for correcting effective address aliasing
JPS63201851A (ja) バッファ記憶アクセス方法
US4827407A (en) Vector processing system
US4791560A (en) Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program
JPS62102344A (ja) バツフア・メモリ制御方式
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
EP0187713B1 (en) System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
JPH0370255B2 (ja)
US4737908A (en) Buffer memory control system
JPH02236652A (ja) 仮想アドレスから物理アドレスへの翻訳機構ならびに仮想記憶空間を備えたコンピュータシステム及び翻訳バッファのローディング方法
EP0211613A2 (en) Scientific processor vector file organization
JPS6058487B2 (ja) デ−タ処理装置
JP3128843B2 (ja) 情報処理装置
JP2643116B2 (ja) 主記憶制御装置