JP3157507B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP3157507B2
JP3157507B2 JP06530690A JP6530690A JP3157507B2 JP 3157507 B2 JP3157507 B2 JP 3157507B2 JP 06530690 A JP06530690 A JP 06530690A JP 6530690 A JP6530690 A JP 6530690A JP 3157507 B2 JP3157507 B2 JP 3157507B2
Authority
JP
Japan
Prior art keywords
address
banks
bank
bit
entry
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 - Fee Related
Application number
JP06530690A
Other languages
English (en)
Other versions
JPH03263242A (ja
Inventor
昌幸 田中
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP06530690A priority Critical patent/JP3157507B2/ja
Publication of JPH03263242A publication Critical patent/JPH03263242A/ja
Application granted granted Critical
Publication of JP3157507B2 publication Critical patent/JP3157507B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、アレイ形データによる間接アドレッシング
に関し、特に、複数個のメモリバンクより成る主記憶装
置と、ベクトルレジスタと呼ばれるベクトルデータ(ア
レイ形データの一種,スカラー形データを一つの要素と
する複数個の要素の並び)保持用のレジスタを持ち、ベ
クトルレジスタに保持されているベクトルデータの各要
素をアドレスと見なして(リストベクトルと云う)主記
憶装置の各アドレスよりデータを読出すという、一般に
はリストベクトル処理と称される特殊なベクトルアクセ
スが行なわれるデータ処理装置に関する。
[従来の技術] 従来、この種のデータ処理装置は、各アドレス要素を
アクセスする際、メモリアクセスの順をリストベクトル
の要素の並びの順に行っており、従って処理の過程で何
らかのアクセス続行不可要因が発生すると、その要因が
消滅するまで処理を中断していた。例えば処理の過程で
あるアドレス要素がバンクビジーに遭遇すると、ビジー
が解けるまで待ち合わせを行い、それ以降の要素の並び
の中にアクセス可能なものが在ったとしても、順を追い
越して処理をすることはしていなかった。
第12図は上述したデータ処理装置の構成概念図、第13
図はその制御の流れ図である。
主バッファ12よりアドレス情報を読出し(ステップ3
1)、バンクビジーかどうかバンクビジーチェック部14
で判断する(ステップ32)。バンクビジーであれば、退
避バッファ17が満杯かどうか判断し(ステップ33)、満
杯であればバンクフリー待ちし(ステップ34)、満杯で
なければ退避バッファ17にアドレス情報を退避し(ステ
ップ35)、ステップ32に戻る。ステップ32でバンクビジ
ーでなければ、リクエスト生成部15でリクエストを生成
し、記憶装置16に送出する(ステップ36)。次に、主バ
ッファ12が空かどうかを判断し(ステップ37)、空でな
ければステップ31に戻り、空であれば退避バッファ17が
空かどうか判断し(ステップ38)、空であれば処理を終
了する。空でなければ、退避バッファ17よりアドレス情
報を読出し(ステップ39)、バンクビジーかチェックし
(ステップ40)、ビジーであればバンクフリー待ちし
(ステップ41)、バンクビジーでなければリクエストを
送出し(ステップ42)、再び退避バッファ17が空かどう
か判定し(ステップ43)、空でなければステップ40に戻
り、空であれば処理を終了する。
[発明が解決しようとする課題] 上述した従来のメモリアクセス制御方式は、処理の過
程であるアドレス要素がバンクビジーに遭遇すると、ビ
ジーが解けるまで待ち合わせを行い、それ以降の要素の
並びの中にアクセス可能なものがあったとしても、順を
追い越して処理をすることはしていないため、そのまま
の状態でスループットを高めようとして、アクセス処理
サイクルを短縮する等して単位時間当たりのアクセス量
を増加させて行っても、しだいにバンクビジーに遭遇す
る確率が上昇し、スループットが十分高まらないうちに
スループットの上限が押さえられてしまうという欠点が
ある。また、追い越して処理を行えば、バンクビジーの
影響が軽減されスループットが向上することは容易に推
測されてはいたが、単に追い越すといってもその制御は
通常の手段(例えば追い越し用のバッファ数エントリ分
用意し、アクセス不可のアドレスを退避させておいて次
の要素のアドレスの処理に移行し、後でその退避したア
ドレスのアクセスを行う等…第12図,第13図参照)では
一般に非常に複雑、かつ困難とされ、ハードウエア,制
御論理の複雑さ等の増加量に見合った効果を得ることは
疑問視されて来た。
本発明の目的は、バンクビジーの頻発する環境下にお
いてもバンクビジーによる影響が最小限に抑えられ、結
果として高いリストベクトル処理のスループットを確保
できるデータ処理異装置を提供することである。
[課題を解決するための手段] 本発明のデータ処理装置は、複数のバンクを有する記
憶手段と、それぞれが複数のアドレス格納部を有する複
数のエントリを有し、前記複数のバンクに対する複数の
メモリアクセス要求のアクセス先アドレスを各前記エン
トリの前記複数のアドレス格納部に保持するためのアド
レス情報保持手段と、このアドレス情報保持手段から前
記複数のエントリのうちの先頭のエントリの複数の前記
アドレス格納部に保持されている複数のアクセス先アド
レスを読み出し、読み出された各アクセス先アドレスに
より指定される各前記バンクがアクセス可能な状態にあ
るか否かを同時に検査する検査手段と、この検査手段の
検査に基づき、当該エントリの複数のアクセス先アドレ
スに係る複数のメモリアクセス要求の中から、前記複数
のバンクに送出可能な少なくとも1つの前記メモリアク
セス要求を選択し該当する該複数のバンクに送出すると
ともに、該複数のバンクへ送出不可能な少なくとも1つ
の前記メモリアクセス要求を選択し該当する該複数のバ
ンクへの送出を抑止し当該送出不可能な少なくとも1つ
のメモリアクセス要求のアクセス先アドレスを前記アド
レス情報保持手段の最後尾のエントリに保持させるよう
制御する制御手段とを含む。
[作用] 第10図は本発明のデータ処理装置の概略構成図、第11
図はその制御の流れ図である。
本発明は、リストベクトルの各アドレス要素をアクセ
スする際、各要素のアドレス情報をバッファ12に保持し
た状態で、順次取り出し(ステップ21)、アドレス情報
に対応するバンクがアクセス可能状態か否かをバンクビ
ジー部14で検査し(ステップ22)、アクセス可能である
ならばリクエスト生成部15でリクエストを生成し、主記
憶装置16に送出し(ステップ24)、直ちにアクセスを行
い、アクセス可能でないならば、セレクタ11を通してそ
のアドレスをバッファ12に再書込みし(ステップ23)、
そのアクセスを後回しにして次の要素のアドレスの処理
に移行するという動作をバッファ12が空になるまで繰り
返す(ステップ25)ものである。
これにより、バッファの再利用を図り、追い越し処理
時のアドレス退避用のバッファを不要とし、かつ、条件
分岐の殆ど無い制御シーケンスで、バンクビジーの頻発
する環境下においてもバンクビジーによる影響が最小限
に抑えられ、結果として高いリストベクトル処理のスル
ープットを確保することが可能となる。
[実施例] 次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明の一実施例データ処理装置の構成図、
第2図は第1図のリストアドレス・バッファ120の、V
ビット部1ビット巾分を構成することができるVビット
・バッファを示す図、第3図は第2図のVビット・バッ
ファで、Vビットを記憶するのに使用されているフリッ
プ・フロップ1ビット分の制御信号を示す図、第4図は
リストアドレス・バッファ120のVビット部を第2図の
Vビット・バッファを用いて構成した図、第5図は第1
図の実行制御部900を詳細に示す図、第6図は、第1図
のリクエスト生成部140を詳細に示す図、第7図は、第
1図のライトアドレス・カウンタ930を詳細に示す図、
第8図は、第1図の書き戻し制御部910の論理構成を詳
細に示す図、第9図は本実施例の動作を示すタイムチャ
ートである。
本装置においては、同時に最大4個までのアドレス要
素の処理が可能であり、しかも、A,B,Cの各ステージを
持つパイプライン処理を行っている。ただし、特許請求
範囲中の、アドレス情報保持手段に相当するバッファに
保持されるアドレス要素は生のアドレスそのものであ
り、従って、特許請求範囲におけるアドレス生成手段は
単なるレジスタで構成されている。また、本装置は全体
に渡り、全ての記憶要素(フリップ・フロップ,メモリ
等)が唯一つのクロックに同期して更新される、いわゆ
る単相の順序回路により構成されている。まず各部の説
明をする。主記憶装置110は、同時に1個のメモリリク
エストを受け付けることが可能な#0〜#7の8個のメ
モリポート800〜807と、内部に#0〜#15の16個のバン
ク810〜825を持っており、バンクサイクルタイム(ある
バンクが一旦アクセスされてから、次に同一のバンクが
アクセス可能となるまでの時間)は、4Tで、#xのメモ
リポートはmod8がx(8で除した剰余がx)であるアド
レスのデータ転送を受け持ち、#xのバンクはmod16が
x(16で除した剰余がx)のアドレスが割り当てられて
いるものとする。リストアドレス・バッファ120はアド
レス要素部とVビット部から構成されており、アドレス
要素部は#0〜#3のアドレス要素4個分の記憶ワード
(以後、アドレス要素ワードと呼ぶ)16エントリ、Vビ
ット部はそのアドレス要素ワード内のアドレス要素#そ
れぞれに対応した有効ビット(以下、Vビットと呼ぶ)
4ビットV0〜V3を含むワード(以後、Vビット・ワード
と呼ぶ)16エントリよりなり、両方ともリードおよびラ
イトの同時動作が可能で、アドレスはリード,ライト共
両方に共通である。また、アドレス要素部は各アドレス
要素個別にストローブ可能で、アドレス要素ワード内で
あればアドレス要素単位で部分書込み可能であり、Vビ
ット部は、一旦リードされるとそのアドレスの4ビット
は全てリセットされ、ライトに関しては4ビット個別に
セット指定可能であるものとする。なお、アドレス要素
部はレジスタ・ファイル、Vビット部は通常のランダム
・ロジック等により容易に構成可能である。リードアド
レス・カウンタ830は、リストアドレス・バッファ120に
対し読出しアドレスを指定し、値0〜15を巡回的にカウ
ントするように機能するが、メモリポート競合(後述)
時にはアドレス要素ワード内の各アドレス要素を複数回
に分けて処理するので、これを待ち合わせるためにホー
ルド状態となる。ライトアドレス・カウンタ930は、リ
ストアドレス・バッファ120に対し書込みアドレスの指
定し、値0〜15を巡回的にカウントする様に機能する
が、カウントアップのタイミングは線631からのメモリ
リクエストの不許可履歴信号(後述)と、線551からの
アドレス要素ワード内処理終了信号(後述)により指示
を受ける。レジスタ840はリストアドレス・バッファ120
のアドレス要素部より読出されたアドレス要素をAステ
ージで保持するレジスタであり、メモリポート競合(後
述)時には保持しているアドレス要素を複数回に分けて
処理するためにホールド状態となる。レジスタ850,860
はレジスタ840にて保持されているAステージのアドレ
ス要素をそれぞれ線841および線851を介してB,Cスデー
ジにて順次受けるレジスタである。セレクタ920は、リ
ストベクトル処理開始前に、初期アドレス要素データを
リストアドレス・バッファ120のアドレス要素部にロー
ドするためのパス921と、リストベクトル処理開始後、
リストアドレス・バッファ120のアドレス要素部より読
出されたアドレス要素をレジスタ840,850を経て再びリ
ストアドレス・バッファ120のアドレス要素部に保持し
直させるためのパス851のどちらかを選択し、リストア
ドレス・バッファ120のライトデータ入力線へ接続する
セレクタである。セレクタ・アレイ870はレジスタ860に
保持されている#0〜#3の4個のアドレス要素の内の
何れか1個を選択できる、それぞれ独立動作可能な8個
の4ウェイのセレクタを内部に有する。バンクビジー・
チェック部130は、過去にアクセスされたバンクアドレ
スを登録してバンクサイクルタイム分の期間保持し、ア
ドレス要素を線121より、Vビットを線122より受け、ア
クセスしようとしている(Vビットが‘1'のアドレス要
素の)アドレスのバンクがビジーであるか否かをチェッ
クするもので、同時に最大4個までのアドレスについて
バンクビジーか否かのチェックが可能で、かつ同時に最
大4個までのバンクアドレスの登録が可能である。バン
クフリー・インジケータ880はバンクビジー・チェック
部130のチェック結果をBステージで保持するもので、
4ビットのレジスタにより構成され、各ビットはアドレ
ス要素ワード内の4個のアドレス要素に対応している。
リクエスト生成部140は、バンクフリー・インジケータ8
80からのバンクビジー・チェック結果と、実行制御部90
0(後述)からの処理対象アドレス要素情報と、レジス
タ850からの各アドレス要素のポートアドレス情報を受
け、各メモリポート800〜807対応のメモリリクエストを
生成する。リクエストレジスタ890は、リクエスト生成
部140で生成されたメモリリクエストを線621を介して受
け、メモリポート800〜807に対し、それぞれビットRQ0
〜RQ7によりCステージのメモリリクエストを保持す
る。書き戻し制御部910は、リクエスト生成部140からの
メモリリクエスト抑止情報と、実行制御部900(後述)
からの処理対象アドレス要素情報を受け、メモリリクエ
ストの抑止されたアドレス要素をリストアドレス・バッ
ファ120のアドレス要素部へ書き戻すべく、アドレス要
素部のストローブとVビット部のセット信号を制御す
る。実行制御部900はリストアドレス・バッファ120のア
ドレス要素部よりも各アドレス要素のメモリポート・ア
ドレスを、Vビット部よりVビットを受け、メモリポー
トの競合を加味し、処理対象アドレス要素を選定し、リ
クエスト生成部140と書き戻し制御部910に通知し、ま
た、アドレス要素ワード内のアドレス要素全ての処理
(メモリリクエストもしくは書き戻し)が終了するタイ
ミングをA,B両ステージにて検出し、前者はリードアド
レス・カウンタ830,レジスタ840にホールド指示,後者
はライトアドレス・カウンタ930にカウントアップタイ
ミングとして通知する。以上が各部の概略説明である
が、以下の動作説明の都合上、さらに必要に応じ詳細に
説明する。リストアドレス・バッファ120のVビット部
は、その16エントリ×1ビット分を分担するVビット・
バッファ4個で構成されている。Vビット・バッファ
は、第2図に示すように、内部に16個のフリップフロッ
プ210〜225と、デコーダ230,240(230はイネーブル入力
付き)と、16ウエイのセレクタ250を有している。フリ
ップフロップ210〜225は第3図の制御信号を持つ形式の
ものであり、リード動作については線201よりリードア
ドレスを受け、デコーダ240によりデコードし、セレク
タ250を制御してそのアドレスに割り当てられたフリッ
プフロップの出力を選択すると同時に、そのフリップフ
ロップをリセットするように動作し、ライト動作につい
ては線202よりライトアドレスを、線203よりセット指示
信号を受け、デコーダ230によりライトアドレスをデコ
ードし、セット指示信号が有効となった時点でデコーダ
230にデコード結果を出力し、そのアドレスに割り当て
られたフリップフロップをセットする様に動作するもの
である。リストアドレス・バッファ120のVビット部は
上記のVビット・バッファ4個を第4図のように接続し
て構成されている。なお、リード動作とライト動作の同
時動作が可能である。実行制御部900は、第5図に示す
ように、Aステージのアドレス要素ワード(レジスタ84
0に保持されている)内の未処理アドレス要素を示し、
4ビットのVビットVA0〜VA3(アドレス要素#0〜#3
に対応する)より成るAステージのVビットレジスタで
あるVAR510と、Aステージのアドレス要素間において、
同一メモリポートからメモリアクセスを行うアドレス要
素に対し優先制御(アドレス要素#の若い順に処理す
る)をし、次に処理するアドレス要素を決定して線521
に出力する優先ロジック520と、その出力をBステージ
でそのまま受けるVPBR540と、アドレス要素ワード内処
理の終了を検出し、線531に出力する比較器530と、その
検出情報をBステージで保持する1ビットのフリップフ
ロップよりなるエンド・インジケータ550を内部に有し
ている。ここで、優先ロジック520の出力はアドレス要
素ワード内で次に処理するアドレス要素を示す、4ビッ
トのVビットVPA0〜VPA3(アドレス要素#0〜#3に対
応する)であり、VPBR540はそれを内部の4VビットVPB0
〜VPB3に受けるBステージのVビットレジスタである。
表1〜表4は優先ロジック520の論理機能を示してい
る。同一アドレス要素ワード内では、メモリポートが競
合した場合は最若番のアドレス要素が優先されるように
構成されている。表1〜表4はそれぞれのアドレス要素
(#0〜3)につき、自分より若番のアドレス要素が自
分と同一のメモリポートを持っているかどうか調べ、持
っていないときに線521の対応ビットを真とすることを
示している。
比較器530は、優先ロジック520が出力している次に処
理するアドレス要素と、VAR510に保持されている未処理
アドレス要素が一致したことを検出することによりアド
レス要素ワード内処理の終了を検出して線531に出力す
るが、VAR510はこれを受けて次のアドレス要素ワードの
Vビットをリストアドレス・バッファ120のVビットよ
り取り込むように動作する。一方、比較器530で終了が
検出されないケースは、Aステージのアドレス要素ワー
ド中に処理して、なお未処理のアドレス要素が残ること
を意味し、その場合、VAR510中の次に処理するアドレス
要素に対応したVビットを、線521上に優先ロジック520
の出力を用いて個別にリセットする。リクエスト生成部
140は第6図に示すように、メモリリクエスト許可ロジ
ック610とメモリリクエスト生成ロジック620とリクエス
ト・サプレス履歴インジケータ630を内部に有してい
る。メモリリクエスト許可ロジック610はバンクチェッ
ク結果を線601より、VPBR540の出力(今から処理しよう
としているアドレス要素ワード中のアドレス要素を示す
Vビット)を線602より受け、全ての処理対象アドレス
要素についてバンクフリーか否かを検出し、もし全部が
バンクフリーならば線611を真(線612を偽)とし、線61
3〜616の処理対象アドレス要素位置(アドレス要素#0
〜#3の順に対応)を真とする様動作し、もし1個でも
バンクフリーでない(即ち、バンクビジー)アドレス要
素が有れば、線611を偽(線612を真)とし、線613〜616
を全て偽とする様動作する。つまり線611上の信号は代
表メモリリクエスト許可信号であり、線613〜616上の信
号はアドレス要素単位のメモリリクエスト許可信号とい
うことになる。メモリリクエスト生成ロジック260は、
線603より今から処理しようとしている各要素アドレス
(#0〜#3)の下位3ビット(メモリポート・アドレ
ス)を受け、それぞれをイネーブル入力付きデコーダ64
0〜670にてデコードし、それらの4組のデコード結果各
8ビット間で対応する4ビット同士で論理和をとり、線
621を介してそれぞれ各メモリポートへメモリリクエス
トとして送出するが、各デコーダ共メモリリクエスト許
可ロジック610から、アドレス要素単位のメモリリクエ
スト許可信号を線613〜616よりそれぞれのイネーブル入
力に受けており、許可されたアドレス要素のメモリリク
エストのみ真となるものである。最終的には各メモリポ
ートへのリクエストは4つのデコーダの対応出力の論理
和をとったものとして出力しているが、メモリポートが
競合した時は老番のアドレス要素のデコーダのイネーブ
ルが偽となり、論理和入力は高々1個のみ真とならな
い。リクエスト・サプレス履歴インジケータ630は線612
上の信号が真という条件でセット、線604上の信号が真
という条件でリセット(リセット優先)されるが、線60
4にはエンド・インジケータ550の出力が入力される。つ
まりリクエスト・サプレス履歴インジケータ550は、一
旦メモリリクエストの送出が不許可(書き戻しが発生)
にされた時点で点灯し、アドレス要素ワード内のアドレ
ス要素全ての処理が終了した時点で消灯するものであ
る。線631は線612上の信号とリクエスト・サプレス履歴
インジケータ550の出力の論理和をとった信号が出力さ
れているが、これは現在処理中のアドレス要素・ワード
内でメモリリクエストの不許可の履歴の有無を示す信号
である。ライトアドレス・カウンタ930は、第7図に示
すように、線703によりストローブ可能なカウンタであ
るが、ストローブのタイミングは線701上のリクエスト
・サプレス履歴インジケータ630の点灯時(書き戻し発
生)、線702上のエンド・インジケータ550が点灯したタ
イミングでカウントアップされる(リクエスト・サプレ
ス履歴インジケータ630はこの時点で消灯する)。書き
戻し制御部910は第8図に示すように単純なロジックで
構成され、リストアドレス・バッファ120のアドレス要
素対応のストロープ(アドレス要素部,Vビット部共通)
を生成するが、線801よりVPBR540の出力(Bステージの
処理対象アドレス要素のVビット)を受け、線802から
のメモリリクエスト不許可報告(書き戻し指示)により
VPBR出力を有効とし、線803に送出する様に論理が構成
されている。以上、必要に応じ各部を詳細に説明した
が、装置は上記説明の他、リストアドレス・バッファ12
0に初期アドレス要素をロードする制御機能、およびア
ドレス要素処理開始時に各制御部をイニシャライズして
スタートさせる機能と全アドレス要素処理の両を検出
し、各制御部を停止させる機能を持つが、本発明とは何
等関係をもたず、また、構成するに際しても全く困難さ
を伴わないので省略した。
次に、本実施例の動作を説明する。
まず、セレクタ920で線921の側を選択し、適当な制御
によりリストアドレス・バッファ120のアドレス要素部
に初期アドレス要素をロードし、Vビット部に初期Vビ
ート・ワードを設定し、各種をイニシャライズする(84
0,850860,880,890,510,540,550,630,830,930を全てクリ
アする)。ここで、ロードされたアドレス要素を表5に
示す。
次に、アドレス要素の処理に移行するが、バンク810
〜825(#0〜#15のバンク)は全てフリー状態にある
ものとする。本装置は先に説明した通り、パイプライン
動作するが、分かり易さのため、アドレス要素ワード単
位の処理を先頭から順に説明する。まず、リードアドレ
ス・カウンタ830は番地0をアドレス指定し、リストア
ドレス・バッファ120のアドレス要素部よりアドレス要
素をレジスタ840へ、Vビット部よりVビットをVAR510
へ読出す(この時番地0のVビットはリセットされ
る)。ここで、VA0〜VA3=‘1111'で、#0〜#3のア
ドレス要素メモリポート・アドレスはそれぞれ#1,#3,
#4,#6で、何れも異るので、優先ロッジ520の出力521
は‘1111'となり、比較器530の出力531は真となる。一
方、バンクビジー・チェック部130でそれぞれのアドレ
ス要素に対応するバンクの状態をチェックするが、バン
クは全てフリー状態なので当然バンクフリー・インジケ
ータ880へは‘1111'が出力される。リクエスト生成部14
0ではこれらを受け、処理対象アドレス要素が#0〜#
3でバンクフリー・インジケータ880が‘1111'であるの
を見てメモリリクエスト許可ロジック610は線611を真と
し、バンクビジー・チェック部130に#0〜#3のアド
レス要素に対応したバンクアドレスを登録させ、セレク
タ・アレイ870はCステージのアドレス要素を保持して
いるレジスタ860より各アドレス要素を受け取り、該当
するメモリポート(即ち、要素#0〜#3に対応し、#
1,#3,#4,#6)を接続する。これにて、まず最初のア
ドレス要素ワードの処理が終了した。
次に、二番目のアドレス要素ワードの処理の説明をす
る。まずリードアドレス・カウンタ830(前アドレス要
素ワードの読出しの直後にカウントアップされてい
る。)は番地1をアドレス指定し、リストアドレス・バ
ッファ120のアドレス要素部よりアドレス要素をレジス
タ840へ、Vビット部よりVビットをVAR510へ読出す
(この時番地1のVビットは全てリセットされる)。こ
こで、VA0〜VA3=‘1111'で、#0〜#3のアドレス要
素のメモリポート・アドレスはそれぞれ#2,#2,#6,#
6で#0と#1および#2と#3が一致しているので、
優先ロッジ520の出力521は‘1010'となり、比較器530の
出力531は偽となり次タイミングでVAR510のVA0,VA2をリ
セットし、リードアドレス・カウンタ830とレジスタ840
をホールド状態とする。一方、バンクビジー・チェック
部130でそれぞれのアドレス要素に対応するバンクの状
態をチェックするが、ビジーのバンクは#1,#11,#4,
#6であり(この時点では未登録だがバンク登録される
可能性が有るのでビジー扱いする)、バンクフリー・イ
ンジケータ880へは‘1111'が出力される。リクエスト生
成部140ではこれらを受け、処理対象アドレス要素が#
0,#2でバンクフリー・インジケータ880が‘1111'であ
るのを見てメモリリクエスト許可ロジック610は線611を
真とし、バンクビジー・チェック部130に#0,#2のア
ドレス要素に対応したバンクアドレスを登録させ、セレ
クタ・アレイ870はCステージのアドレス要素を保持し
ているレジスタ860より各アドレス要素を受け取り、該
当するメモリポート(即ち、要素#0,#2に対応し、#
2,#6)を接続する。次に、同一アドレス要素内の残り
のアドレス要素について、VA0〜VA3=‘0101'であり、
#1と#3のアドレス要素のメモリポート・アドレスは
異るので、優先ロジック520の出力521は‘0101'とな
り、比較器530の出力531は真となりリードアドレス・カ
ウンタ830とレジスタ840のホールドを解除すると共に、
次タイミングでエンド・インジケータ550を点灯させ
る。一方、バンクビジー・チェック部130でそれぞれの
アドレス要素に対応するバンクの状態をチェックする
が、#1,#3のバンクが両方共ビジーであり、バンクフ
リー・インジケータ880へは‘0000'が出力される。リク
エスト生成部140ではこれらを受け、処理対象アドレス
要素が#1,#3でバンクフリー・インジケータ880が‘0
100'であるのを見てメモリリクエスト許可ロジックは線
611を偽(612を真)とし、バンクビジー・チェック部13
0には何れのバンクアドレスの登録も指示しない。一
方、書き戻し制御部910では線612によりメモリリクエス
トが不許可になったという報告を受けるとパターン‘01
01'のストローブを発生させ、リストアドレス・バッフ
ァ120のライトアドレス・カウンタ930の指示しているア
ドレスである番地0のアドレス要素部に#1,#3のアド
レス要素を書込み、Vビット部のV1,V3をセットする。
さらに、ライトアドレス・カウンタ930は線631が真(現
在のアドレス要素ワード内処理において書き戻し処理が
あった)で、かつ、エンド・インジケータ550の出力551
が真(現在のアドレス要素ワード処理が終了した)であ
ることを受け、次の書き戻し処理に備え次のタイミング
でカウントアップされる。以上で二番目のアドレス要素
ワードの処理が終了した。
次に、三番目のアドレス要素ワードの処理の説明をす
る。まず、リードアドレス・カウンタ830(前アドレス
要素ワードの読出しの直後にカウントアップされてい
る。)は番地2をアドレス指定し、リストアドレス・バ
ッファ120のアドレス要素部よりアドレス要素をレジス
タ840へ、Vビット部よりVビットをVAR510へ読出す
(この時番地1のVビットは全てリセットされる)。こ
こでVA0〜VA3=‘1111'で、#0〜#3のアドレス要素
のメモリポート・アドレスはそれぞれ#6,#0,#0,#6
で、#0と#3および#1と#2が一致しているので、
優先ロッジ520の出力521は‘1100'となり、比較器530の
出力531は偽となり次タイミングでVAR510のVA0,VA1をリ
セットし、リードアドレス・カウンタ830とレジスタ840
をホールド状態とする。一方、バンクビジー・チェック
部130でそれぞれのアドレス要素に対応するバンクの状
態をチェックするが、ビジーのバンクは#1,#11,#4,
#6,#2,#14,#10であり(#10はこの時点では未登録
だがバンク登録される可能性が有るのでビジー扱いす
る)バンクフリー・インジケータ880へは‘0100'が出力
される。リクエスト生成部140ではこれらを受け、処理
対象アドレス要素が#0,#1でバンクフリー・インジケ
ータ880が‘0100'であるのを見てメモリリクエスト許可
ロジック610は線611を偽(線612を真)とし、バンクビ
ジー・チェック部130には何れのバンクアドレスの登録
も指示しない。一方、書き戻し制御部910では線612によ
りメモリリクエストが不許可になったという報告を受け
るとパターン‘1100'のストローブを発生させ、リスト
アドレス・バッファ120のライトアドレス・カウンタ930
の指示しているアドレスである番地1のアドレス要素部
に#0,#1のアドレス要素を書込み、Vビット部のV0,V
1をセットする。次に、同一アドレス要素内の残りのア
ドレス要素について、VA0〜VA3=‘0011'であり、#2
と#3のアドレス要素のメモリポート・アドレスは異る
ので、優先ロジック520の出力521は‘0011'となり、比
較器530の出力531は真となりリードアドレス・カウンタ
830とレジスタ840をホールドを解除すると共に、次タイ
ミングでエンド・インジケータ550を点灯させる。一
方、バンクビジー・チェック部130でそれぞれのアドレ
ス要素に対応するバンクの状態をチェックするが、#2,
#3のバンクが両方共ビジーであり、バンクフリー・イ
ンジケータ880へは‘0000'が出力される。リクエスト生
成部140ではこれらを受け、処理対象アドレス要素が#
2,#3でバンクフリー・インジケータ880が‘0000'であ
るのを見てメモリリクエスト許可ロジック610は線611を
偽(612を真)とし、バンクビジー・チェック部130には
何れのバンクアドレスの登録も指示しない。一方、書き
戻し制御部910では線612によりメモリリクエストが不許
可になったという報告を受けるとパターン‘0011'のス
トローブを発生させ、リストアドレス・バッファ120の
ライトアドレス・カウンタ930の指示しているアドレス
である番地1のアドレス要素部に#2,#3のアドレス要
素を書込み、Vビット部のV2,V3をセットする。さら
に、ライトアドレス・カウンタ930はリクエスト・サプ
レス履歴インジケータ630の出力631が真(現在のアドレ
ス要素ワード内処理において書き戻し処理があった)
で、かつエンド・インジケータ550の出力551が真(現在
のアドレス要素ワード処理が終了した)であることを受
け、次の書き戻し処理に備え次のタイミングでカウント
アップされる。以上で二番目のアドレス要素ワードの処
理が終了した。
以上、最初から三番目までのアドレス要素ワードの処
理を示したが、これらはパイプライン処理され時間的に
オーバラップして処理される。以後同様にこれ以降のア
ドレス要素ワードも処理されるが、リードアドレス・カ
ウンタ830とライトアドレス・カウンタ930は番地15から
番地0へ巡回し、全てのアドレス要素についてメモリリ
クエストさせるまで処理は続けられる。この様子を第9
図に示す。また、この時点でのリストアドレス・バッフ
ァ120の内容を表6に示す。
[発明の効果] 以上説明したように本発明は、リストベクトルの各ア
ドレス要素をアクセスする際、各要素のアドレス情報を
バッファに保持した状態で、順次取り出し、アドレス情
報に対応するバンクがアクセス可能状態か否かを検査
し、アクセス可能であるなら直ちにアクセスを行い、ア
クセス可能でないならば、そのアドレスをバッファに再
書込みし、そのアクセスを後回しにして次の要素のアド
レスの処理に移行するという動作を繰り返すことによ
り、バッファの再利用を図り、追い越し処理時のアドレ
ス退避用のバッファを不要とし、かつ、条件分岐の殆ど
無い制御シーケンスで、バンクビジーの頻発する環境下
においてもバンクビジーによる影響が最小限に抑えら
れ、結果として高いリストベクトル処理のスループット
を確保することが可能となるという効果が有り、また、
アドレス要素読出し…バンクビジー検査…メモリリクエ
スト(バンクビジーの場合は再書込み)という各動作を
パイプライン処理することが非常に簡単に実現でき、経
過としてリストベクトル処理のスループット向上が一段
と容易となる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のデータ処理装置の構成図、
第2図は第1図のリストアドレス・バッファ120の、V
ビット部1ビット巾分を構成することができるVビット
・バッファを示す図、第3図は第2図のVビット・バッ
ファで、Vビットを記憶するのに使用されているフリッ
プ・フロップ1ビット分の制御信号を示す図、第4図は
リストアドレス・バッファ120のVビット部を第2図の
Vビット・バッファを用いて構成した図、第5図は第1
図の実行制御部900を詳細に示す図、第6図は、第1図
のリクエスト生成部140を詳細に示す図、第7図は、第
1図のライトアドレス・カウンタ930を詳細に示す図、
第8図は、第1図の書き戻し制御部910の論理構成を詳
細に示す図、第9図は本実施例の動作を示すタイムチャ
ート、第10図は本発明のデータ処理装置の概略構成図、
第11図は、その制御の流れ図、第12図は従来のデータ処
理装置の概略構成図、第13図はその制御の流れ図であ
る。 110……主記憶装置 120……リストアドレス・バッファ 130……バンクビジー・チェック部 140……リクエスト生成部 210〜225……フリップ・フロップ 230,240……デコータ 250……セレクタ 510……AステージのVビットレジスタVAR 520……優先ロジック 530……比較器 540……優先ロジック520の出力をBステージでそのまま
受けたレジスタ、 550……エンド・インジケータ 610……メモリリクエスト許可ロジック 620……メモリリクエスト生成ロジック 630……リクエスト・サプレス履歴インジケータ 800〜807……メモリポート 810〜825……バンク 830……リードアドレス・カウンタ 840,850,860……レジスタ 870……セレクタ・アレイ 880……バンクフリー・インジケータ 890……リクエストレジスタ 900……実行制御部 920……セレクタ 930……ライトアドレス・カウンタ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のバンクを有する記憶手段と、 それぞれが複数のアドレス格納部を有する複数のエント
    リを有し、前記複数のバンクに対する複数のメモリアク
    セス要求のアクセス先アドレスを各前記エントリの前記
    複数のアドレス格納部に保持するためのアドレス情報保
    持手段と、 このアドレス情報保持手段から前記複数のエントリのう
    ちの先頭のエントリの複数の前記アドレス格納部に保持
    されている複数のアクセス先アドレスを読み出し、読み
    出された各アクセス先アドレスにより指定される各前記
    バンクがアクセス可能な状態にあるか否かを同時に検査
    する検査手段と、 この検査手段の検査に基づき、当該エントリの複数のア
    クセス先アドレスに係る複数のメモリアクセス要求の中
    から、前記複数のバンクに送出可能な少なくとも1つの
    前記メモリアクセス要求を選択し該当する該複数のバン
    クに送出するとともに、該複数のバンクへ送出不可能な
    少なくとも1つの前記メモリアクセス要求を選択し該当
    する該複数のバンクへの送出を抑止し当該送出不可能な
    少なくとも1つのメモリアクセス要求のアクセス先アド
    レスを前記アドレス情報保持手段の最後尾のエントリに
    保持させるよう制御する制御手段とを含むことを特徴と
    するデータ処理装置。
  2. 【請求項2】前記アドレス情報保持手段は、各前記エン
    トリの各アドレス格納部に対応して設けられ当該エント
    リの各アドレス格納部に保持されている各アクセス先ア
    ドレスが有効か否かを示す有効ビットを格納する有効ビ
    ット格納部を有し、 前記制御手段は、少なくとも1つのメモリアクセス要求
    の前記複数のバンクへの送出を抑止した場合に、当該エ
    ントリの内容を最後尾のエントリに転送し、当該最後尾
    のエントリに転送された複数のアクセス先アドレスのう
    ち前記複数のバンクへの送出が抑止されたものが有効と
    なるよう前記有効ビットを生成し対応する前記有効ビッ
    ト格納部に格納し、 前記検査手段は前記アドレス情報格納手段から読み出し
    たエントリの各アドレス格納部に対応する有効ビット格
    納部の内容に基づいて検査を行うことを特徴とする請求
    項1記載のデータ処理装置。
JP06530690A 1990-03-14 1990-03-14 データ処理装置 Expired - Fee Related JP3157507B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06530690A JP3157507B2 (ja) 1990-03-14 1990-03-14 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06530690A JP3157507B2 (ja) 1990-03-14 1990-03-14 データ処理装置

Publications (2)

Publication Number Publication Date
JPH03263242A JPH03263242A (ja) 1991-11-22
JP3157507B2 true JP3157507B2 (ja) 2001-04-16

Family

ID=13283093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06530690A Expired - Fee Related JP3157507B2 (ja) 1990-03-14 1990-03-14 データ処理装置

Country Status (1)

Country Link
JP (1) JP3157507B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016123929A (ja) * 2014-12-26 2016-07-11 株式会社クオン 水質改良方法及び水質改良装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149857B2 (en) * 2002-05-14 2006-12-12 Micron Technology, Inc. Out of order DRAM sequencer

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5621174B2 (ja) * 1974-12-12 1981-05-18
JPS58137182A (ja) * 1982-02-10 1983-08-15 Nec Corp メモリアクセス制御方式
JPS6191740A (ja) * 1984-10-12 1986-05-09 Fujitsu Ltd メモリ・アクセス制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016123929A (ja) * 2014-12-26 2016-07-11 株式会社クオン 水質改良方法及び水質改良装置

Also Published As

Publication number Publication date
JPH03263242A (ja) 1991-11-22

Similar Documents

Publication Publication Date Title
US4142234A (en) Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
US4866603A (en) Memory control system using a single access request for doubleword data transfers from both odd and even memory banks
EP0380855B1 (en) Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
US4214304A (en) Multiprogrammed data processing system with improved interlock control
US5142638A (en) Apparatus for sharing memory in a multiprocessor system
GB1579061A (en) Random access memory modules for digital data processing systems
US8954681B1 (en) Multi-stage command processing pipeline and method for shared cache access
EP0125855B1 (en) Buffer-storage control system
US20040098540A1 (en) Cache system and cache memory control device controlling cache memory having two access modes
JPH0195346A (ja) バスマスタ
US6507899B1 (en) Interface for a memory unit
US6782463B2 (en) Shared memory array
US5157776A (en) High speed memory for microcomputer systems
JPS5938620B2 (ja) メモリ−コントロ−ラ用優先順位指定装置
US5202970A (en) Method for sharing memory in a multiprocessor system
WO1998013763A2 (en) Multiport cache memory with address conflict detection
JP2561261B2 (ja) バッファ記憶アクセス方法
JP3157507B2 (ja) データ処理装置
US5359557A (en) Dual-port array with storage redundancy having a cross-write operation
US6446170B1 (en) Efficient store machine in cache based microprocessor
US5586336A (en) Microcomputer capable of monitoring internal resources from external
US4802125A (en) Memory access control apparatus
US6374344B1 (en) Methods and apparatus for processing load instructions in the presence of RAM array and data bus conflicts
US6829692B2 (en) System and method for providing data to multi-function memory
US6484238B1 (en) Apparatus and method for detecting snoop hits on victim lines issued to a higher level cache

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees