JP2502406B2 - 記憶制御方式およびデ―タ処理装置 - Google Patents

記憶制御方式およびデ―タ処理装置

Info

Publication number
JP2502406B2
JP2502406B2 JP2210760A JP21076090A JP2502406B2 JP 2502406 B2 JP2502406 B2 JP 2502406B2 JP 2210760 A JP2210760 A JP 2210760A JP 21076090 A JP21076090 A JP 21076090A JP 2502406 B2 JP2502406 B2 JP 2502406B2
Authority
JP
Japan
Prior art keywords
access information
bit
data processing
main memory
requesters
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
JP2210760A
Other languages
English (en)
Other versions
JPH0496155A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2210760A priority Critical patent/JP2502406B2/ja
Publication of JPH0496155A publication Critical patent/JPH0496155A/ja
Application granted granted Critical
Publication of JP2502406B2 publication Critical patent/JP2502406B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、記憶制御方式に関し、さらに詳細には更新
ビットの制御に特徴を有するデータ処理装置に関する。
〔従来の技術〕
従来,情報処理装置において、主記憶装置(MS:Main
Storage)の更新の記録を目的として設けられている
主記憶キーの更新ビット(Cビット)は、第6図に示す
ように4Kバイトを管理単位としている。このMS4Kバイト
単位に設けられたCビットは、MSに格納されているデー
タを補助記憶装置(磁気ディスク装置、磁気テープ装置
等)に書き戻す処理(ページアウト又はスワップアウ
ト)を行うか否かの判定の際に利用される。このCビッ
トは、最初、補助記憶装置から主記憶装置にデータを転
送して格納した時(ページイン、又はスワップイン)
は、該格納エリアに対する全Cビットを“0"にしてお
く。該当する4Kバイトブロックへの命令プロセッサまた
は入出力プロセッサなどからストア処理があった場合に
は、ハードウェアにより対応するエリアのCビットが
“1"にセットされ、ストア処理がない場合は“0"のまま
とされる。したがって、該4Kバイトブロックを補助記憶
装置に書き戻すか否かは当該Cビットを見ればよい。す
なわち、ソフトウェアはこのCビットを見て“1"の時は
ストア処理により主記憶装置の内容が書き換えられたこ
とを意味しているので補助記憶装置に書き戻すが、“0"
の時はストア処理がなかったということなので、補助記
憶装置に保持されているデータと主記憶装置にあるデー
タとは同じものであり、主記憶装置にあるデータを補助
記憶装置に書き戻す必要がない。これにより主記憶装置
内のエリアを高速に他のプログラム実行のために渡すこ
とができる。
ところで管理単位が4Kバイトと規定された背景とし
て、IBM社の370アーキテクチャが規定された時には、補
助記憶装置とMSとのデータパススループットが比較的低
く、またMSの容量も現在に比べると、はるかに小さいも
のしか実現することができないという制約があった。こ
の小さいMSを効率良く管理するには、ブロックの大きさ
を細かくすることが要請された。そこで管理単位を4Kバ
イトとすることで、システム的に整合のとれた計算機シ
ステムを構成することができた、という経緯がある。
また、参照ビット(Reference bit:Rビット)に関し
ても上記Cビットと同様の問題がある。そもそもRビッ
トは、主記憶装置の中にとり込まれたデータが有効に使
われているかを示すものである。長時間中央処理装置や
入出力処理装置などにより参照されないで、ある量のデ
ータが主記憶上にとり込まれていることはシステム性能
上極めて問題である。すなわち主記憶を使う他のプログ
ラムにとって、使われないのにとり込まれている他の関
連のないプログラムのデータエリアのために、主記憶の
大きさが目減りして見えるからである。このようなこと
を防ぐ手段がRビットである。しかしRビットも従来で
は4Kバイト単位であるために、4Kバイトでしか主記憶の
有効利用の度合いを知ることができなかった。このため
主記憶装置から補助記憶装置への書き戻し指示も4Kバイ
ト単位にしかできなかった。
情報処理装置の高速化に伴う半導体技術等の向上によ
り、370アーキテクチャが規定された頃に比べて、大容
量のRAMが安価にできMSも大容量とすることが可能とな
ってきた。
MSの大容量化に伴い仮想記憶方式におけるページ(例
えば4KB)を管理するテーブルの個数が増え、記憶容量
とページ探索時間が増加することに鑑みて、従来より大
きなページサイズの論理ページの概念を導入し、その
際、同一論理ページに含まれる複数のストレージキーの
一貫性を保証するものとして、特開昭63−37445号公報
に記載の記憶方式がある。この方式は、論理ページに含
まれるすべてのストレージキーに対するアクセスを、常
に同一のストレージキー(代表ストレージキー)にアク
セスするようアドレス変換するものであり、このアドレ
ス変換は32KBのバンク対応にエントリを有するアドレス
マスクレジスタおよび論理積回路により実行される。
また、MSがある一定容量以上に大容量になった場合
に、R,Cビット格納用メモリの大容量化を防止するため
に、その一定容量以上の領域では、従来の小容量単位の
ものが2n個連続する領域からなる大容量単位にR,Cビッ
トを用意するようにした主メモリ管理方式が、特開昭64
−17138号公報に開示されている。この方式では、アク
セスしようとする実アドレスが前記一定容量以上の領域
の場合、大容量単位のR,Cビットを用い、一定容量未満
の領域であれば小容量単位のR,Cビットを用いる。
〔発明が解決しようとする課題〕
ところで、計算機システムを構成する部品であるLSI
も高密度実装化され、大量のデータパスの設置も可能と
なり、大容量転送が可能になった。その一例として、大
容量の半導体メモリで構成された、補助記憶装置として
の拡張記憶装置(ES:Extended Storage)が挙げられ
る。このように大容量、超高速転送が可能となった現
在、MSと補助記憶装置との4Kバイト単位のデータ転送
は、短時間で処理できるようになった。
このように4Kバイト単位のデータ転送が、短時間でで
きるようになった場合、4Kバイト単位に設けてあるCビ
ットを繰り返しチェックして補助記憶装置への書き戻し
処理の判断をしていては、転送処理全体の性能を著しく
落としてしまうことになる。
前記代表ストレージキーを設ける特開昭63−37445号
公報記載の技術では、Cビットの参照は大容量単位に行
なうので、Cビットの繰返しチェックは不要となるが、
アドレスマスクレジスタによるハードウエア量が増加
し、また、小容量単位のCビットが機能しなくなるとい
う問題がある。
また、前記一定容量以上の主記憶についてのみ大容量
単位のR,Cビットを用意する特開昭64−17138号公報記載
の方式では、主記憶が大容量単位で管理される領域と、
小容量単位で管理される領域とに分割されるので、主記
憶の使用上、融通性に欠けるという問題がある。すなわ
ち、前記一定容量未満の領域は大容量単位での管理がで
きず、逆に前記一定容量以上の領域は小容量単位での管
理ができない。
更に、技術計算を高速に処理することが可能なベクト
ルプロセッサ(VP:Vector Processor)はスカラプロセ
ッサ(SP:Scalar Processor)に比べ、MSへのリクエス
トパスを何本も並列に持ち、MSスループットが非常に高
くなっている。したがって、複数のリクエスタが同時に
Cビットにアクセスすることができず、リクエストネッ
クが生じるという問題がある。
なお、Rビットについても同様の問題がある。
本発明の目的は、主記憶装置内の大きな単位での補助
記憶装置へのデータエリアの退避・回復処理を高速に効
率よく行うことを可能にする記憶制御方式およびこれを
利用したデータ処理装置を提供することにある。
本発明の他の目的は、主記憶装置への高データスルー
プットを持つスーパーコンピュータ等において、主記憶
アクセス情報ビットの更新を、主記憶装置へのアクセス
性能を損なうことなく、また物理的にコンパクトに実現
することにある。
〔課題を解決するための手段〕
上記目的を達成するために、本発明は、アクセス情報
テーブル、すなわちRビットやCビットの管理テーブル
を従来の管理単位とは別に、従来より大きな管理単位の
テーブルも設けたものである。また、従来の管理単位の
大きさのRビットやCビットテーブルと、新しい管理単
位の大きさのRビットやCビットテーブルとを各々実記
憶分持ち、動作するプログラムの論理アドレスにより、
使用するRビットやCビットテーブルを切り替えて使う
ことにより、従来のプログラム管理との互換性を保つも
のである。
従来の管理単位に小さなRビットやCビットテーブル
に対するキー操作命令だけしかないデータ処理装置にお
いても、このようなキー操作命令を発行した場合、複数
の管理単位の大きさが異なるRビットやCビットテーブ
ル相互で、内容を反映させるようにしたものである。
さらには、従来よりは大きな管理単位のRビットやC
ビットに対するキー操作命令を設ける。これによりソフ
トウェア的には従来の小さな管理単位を対象とするキー
操作命令では、何度も実行しなくてはならなかった命令
も、一命令で処理可能となる。
〔作用〕
ベクトルプロセッサ専用のRビットやCビットテーブ
ルを管理単位が従来と同じ大きさのものと従来のものよ
り大きな管理単位のものの2種類設け、ベクトルプロセ
ッサが発行したMSアクセスリクエストで、論理アドレス
が特定の範囲を指示した時のみ従来のものより大きな単
位のRビットやCビットの管理テーブルのエントリを、
また、論理アドレスが上記特定の範囲以外を指示した時
は、従来と同じ大きさの単位のRビットやCビットの管
理テーブルのエントリを更新する。これはベクトルプロ
セッサからの論理アドレスを実アドレスにアドレス変換
して、RビットやCビットテーブル更新部に実アドレス
を送出するベクトルリクエスト制御装置のリクエスタに
よる情報で行う。すなわちアドレス変換前の論理アドレ
スが特定の範囲を指示するものであるか否かの情報もR
ビットやCビットテーブル更新部に送ることにより、R
ビットやCビットテーブル更新部は、更新すべきテーブ
ルを選択するのである。
また、ベクトルプロセッサで扱うデータは、基本的に
はプログラムにおいて論理アドレスで特定範囲に割付け
るようにする。
ここで、例として具体的な数字をあてはめて説明す
る。従来のRビット/Cビット管理テーブルの単位を4Kバ
イト、従来のものより大きな管理単位を1Mバイト、論理
アドレスの特定の範囲を16Mバイト以上とする。この場
合、ベクトルプロセッサからのストアリクエストではR
ビット/Cビット更新は1Mバイトに1回でよくなり、4Kバ
イト単位であると256回の更新や参照をしなくてはなら
ないことと比較して、更新処理回数が非常に少なくな
る。ここで、ベクトルプロセッサ側の主記憶装置へのリ
クエスト制御装置は、主記憶の論理アドレスを計算する
上で、4Kバイト範囲を初めて越すリクエストや、1Mバイ
ト範囲を初めて越すリクエストの時に更新要求を送出す
るようにしてある。
また、同一容量のMSエリアに対するRビット/Cビット
テーブルは、1Mバイト単位のテーブルの方が4Kバイト単
位のテーブルに比べ256分の1の容量で済む。その結
果、リクエストネックを解消するために多くのリクエス
トパスを持つベクトルプロセッサの各リクエスタにRビ
ットやCビットテーブルを設定しても全体としての物量
を大きくするものではない。また、極めて稀ではあるが
規模の小さなプログラム等では、ベクトルプロセッサで
扱うデータが16Mバイト未満に置かれる場合もある。ベ
クトルプロセッサから論理アドレスで16Mバイト未満の
データエリアに対してアクセスしようとした場合には、
4KバイトごとにRビットやCビットを更新する。この場
合の更新のスピードは遅いが、更新情報を正しく処理す
ることが可能である。
一方、RビットやCビットの登録・無効化は、先にも
記した通り特に1Mバイト単位キー操作命令がない限りIB
M370アーキテクチャでは4Kバイト単位用の命令で処理さ
れるので、4Kバイト単位のテーブルと、1Mバイト単位の
テーブルとを整合しながら処理する。これは、4Kバイト
単位エリアに対するRビットやCビットを読み出す命令
の時は、当該エリアに対する4Kバイト単位のRビットや
Cビットと、1Mバイト単位のRビットやCビットとをOR
すればよく、また書き込む命令の時は、まず1Mバイト単
位のRビットやCビットが“1"であれば、4Kバイト単位
のRビット/Cビットテーブルの同エリアに含まれる4Kバ
イト単位のRビット/Cビット256エントリ全てに“1"を
書き込む。その後、所望の書き込みデータを当該4Kバイ
トエリアのRビットやCビットのエントリ唯1つに書き
込み、1Mバイト単位のCビットテーブルの該エントリは
“0"にしておけばよい。
さらに1Mバイト単位を対象とするキー操作命令を設け
れば、主記憶上のある特定の1Mバイトの内容が中央処理
装置もしくは入出力処理装置などからアクセスされたこ
とを1命令で認識することや、設定することが可能とな
る。1Mバイトに対応するRビットやCビットを読み出す
場合には、主記憶上のある特定の1Mバイトに対応する、
1Mバイト単位のRビットやCビット管理テーブルの1エ
ントリを読み出し、また4Kバイト単位のRビットやCビ
ット管理テーブルも、256エントリをハードウェアで読
み出して論理和をとることにより行なえる。256回の読
み出しはソフトウェアの命令で256回読み出すのと異な
り、ハードウェアで行うことによりはるかに高速なもの
となる。一方、1Mバイトに対応するRビットやCビット
を設定する場合には、主記憶上のある特定の1Mバイトに
対応する、1Mバイト単位のRビットやCビット管理テー
ブルの1エントリに設定し、また、4Kバイト単位のRビ
ットやCビット管理テーブルも、256エントリにハード
ウェアで書き込み処理をすることにより行える。この場
合も256回の書き込みはソフトウェアの命令で256回行う
のとは異なり、ハードウェアで行うことによりはるかに
高速なものとなる。
本発明は、特に、拡張記憶装置のような大量のデータ
を従来よりはるかに高速にアクセスできる外部記憶装置
を備えた場合に有効である。また、TSS(Time Sharing
System)で稼働可能なスーパーコンピュータにおいて
は、従来より同時に処理すべきユーザの仕事が極端に増
加するので、ユーザプログラムの、外部記憶としての拡
張記憶と主記憶とのスワップイン・アウトを、効率良く
処理していく必要があり、本発明はこのような場合に顕
著な効果を奏する。
〔実施例〕
以下、本発明の実施例を示すが、本実施例では主記憶
装置アクセス情報テーブルの内容のうち、更新ビット
(Cビット:changeビット)についてのみ説明する。ア
クセス情報テーブルのうち他の構成要素である例えば参
照ビット(Rビット、referenceビット)などでも更新
ビットで示される実施例と同様の手法が有効である。
第1図は、本発明による情報処理装置の概略構成を示
すブロック図である。
同図において、1は記憶制御装置(SC:Storage Conto
roller)、2はベクトルリクエスト制御装置(VRC:Vect
or Request Controller),3はスカラリクエスト制御装
置(SRC:Scalar Request Controller),4は主記憶装置
(MS:Main Storage)、5は拡張記憶装置(ES:Exteded
Storage)、6は入出力処理装置(IOP:Input Output Pr
ocessor)、7はスカラ処理装置(SP:Scalar Processo
r)、8はベクトル処理装置(VP:Vector Processor)で
ある。また、10はSRC3,VRC2の複数のリクエスタからの
リクエストを制御するリクエスト制御装置、31はSRC3専
用に設けた主記憶キー(KS:Key Storage)、21A〜DはV
RC2が持つ複数のリクエスタの、各々のリクエスタに専
用に設けた管理単位の大きなCビットを持つKS、22はVR
C2が持つ複数のリクエスタ全部が共有して持つ管理単位
の小さなCビットを持つKS、70はスカラ命令デコード回
路(SD:Scalar Decoder)、80はベクトル命令デコード
回路(VD:Vector Decoder)、30はSRCが持つリクエス
タ、20A〜DはVRC2が持つ4つのリクエスタである。こ
こでKSはRAM(Random Access Memory)で構成されるこ
とを付記しておく。
第1の実施例を図面を参照しながら説明する。第1の
実施例は、大きな管理単位を対象とするキーに対するキ
ー操作命令が特別設けられておらず、従来までの4Kバイ
ト単位キーに対するキー操作命令のみで、キーを操作す
る場合についての例を示す。第1図において、SP7に対
しては管理単位を4KバイトとしたCビット用RAM31を設
けてある。一方、VP8には、管理単位を1Mバイトとした
Cビット用RAM21A〜Dと、4KバイトとしたCビット用RA
M22とを設けてある。SP70又はVP80からのストア命令が
発行されると、各々のリクエスタに専用に設けられたC
ビット用RAMであるKS0,KS10〜13,KS2に“1"が登録され
る。VRC2において4Kバイト管理単位のCビット用RAM22
は、管理単位が小さいためにRAM容量も多く必要とな
り、4つのリクエスタ20A〜Dで共用して1セットのみ
設ける。一方、1Mバイト管理単位のCビット用RAM21A〜
Dは、管理単位が大きいためにRAM容量もそれ程多く必
要とせず、4つのリクエスタ20A〜Dの各々に1セット
ずつ設ける。ベクトルジョブでは大量のデータを使用す
るため1Mバイト単位に、オペレーティングシステム(O
S)が実記憶エリアを割り当てるようにすれば、VRC2か
らの主記憶へのストアリクエストは、4つのリクエスタ
に唯一のセットしかない4Kバイト用のCビット用RAM22
にアクセスして“1"を書き込むのではなく、全てのリク
エスタに各々専用に設けられた1Mバイト単位のCビット
用RAMに対して“1"を書き込めばよいので、ベクトルジ
ョブに適した高速なCビット更新を行うことができる。
このVRC2での2種類の管理テーブルの使い分けは、従来
のプログラムに対する互換性も考えて論理アドレスの値
によって判断される。第5図において判るように論理ア
ドレス16Mバイト以上では、1Mバイト単位でCビットの
管理テーブルを全実記憶エリア分持ち、16Mバイト未満
では4Kバイト単位でCビットの管理テーブルを全実記憶
エリア分持っている。第2図に、リクエスタに入力され
る論理アドレスが16Mバイト以上か未満かで、更新する
Cビットのテーブルを選択する実際の回路を示す。な
お、本実施例では論理アドレスのあるアドレスを境にし
た上位と下位とで更新するCビットのデーブルを選択す
る場合を示すが、論理アドレスにおけるある一定のアド
レス範囲とその範囲以外とで更新するCビットのデーブ
ルを選択する場合も同様に実現することができる。
第2図において、80はベクトル命令デコード回路、20
A〜Dは第1図に示したVRCが持つリクエスタ、21A〜D
は同じく第1図に示したVRC2の各リクエスタで使用する
1Mバイト単位のKS用RAM、22も同じく第1図に示したVP
用の4Kバイト単位のKS用RAM、800A〜Dはベクトル命令
デコード回路80から各リクエスタに対してリクエストを
送出する為の信号線、801A〜Dは各リクエスタに対して
リクエスト論理アドレスデータを送出する為の信号線、
200A〜Dは各々のリクエスタを介して送出されたリクエ
スト信号を送る為の信号線、201A〜Dは各々のリクエス
タにおけるベクトル命令デコード回路からの論理アドレ
ス801A〜Dが16Mバイト以上か以下かの判断を送出する
為の信号線、202A〜Dは各々のリクエスタで実アドレス
にアドレス変換されたアドレスデータを送出する為の信
号線、23Aは4Kバイト単位のKS2に対するリクエストを調
停する回路、23Bは選択回路23Aの結果でアドレスを選択
する回路である。
ベクトル命令デコード回路80により、リクエスト信号
800A〜Dと論理アドレスデータ801A〜Dが各リクエスタ
20A〜Dに振り分けられる。リクエスタ20A〜Dでは、実
アドレスへのアドレス変換を行う前に論理アドレスが16
Mバイト以上か否かの判断がなされる。そして論理アド
レスはアドレス変換により実アドレスに変換される。リ
クエストはそのまま200A〜Dの信号線で送出される。論
理アドレス16Mバイト以上か否かの判断結果信号は、201
A〜Dの信号線で送出される。リクエストと論理アドレ
ス16Mバイト以上であるという信号の両者が有効な場合
にANDが取られると、1Mバイト単位のKS用RAMへのリクエ
スト信号が有効になる。逆にリクエストが有効であるが
論理アドレス16Mバイト以上であるという信号が無効の
場合に、ANDが取られると4Kバイト単位のKS用RAMへの信
号が有効になる。第2図の場合、4つのリクエスタ20A
〜Dに対して、4Kバイト単位のKS用RAMは1つだけであ
るのでリクエスト選択回路23Aや、実アドレスデータ選
択回路23Bにより、唯一のリクエストが選択されてKS22
にアクセスする。
このため、4Kバイト単位のCビットテーブルを更新す
るためには、処理スループット性能が4分の1に落ちて
しまうが、VPを使用するプログラムでは巨大空間を使用
する為、論理アドレスでも16Mバイト以上の大きい空間
を使い、4Kバイト単位のテーブルはプログラムで使用す
るデータが論理アドレス16Mバイト以下に納まる小さい
プログラム用のテーブルであり、その使用はほとんどな
い。この為、システムに与える影響はほとんど無視でき
る。
通常の動作で、新たに補助記憶装置からMS4にデータ
を格納(スワップ・イン)しようとした場合には、格納
しようとしているエリアに対応するCビットを読み出
し、それまでのプログラムによりデータの書き換えがあ
った場合、つまりVRC2又はSRC3によるストアリクエスト
によりCビットが“1"だった場合には、補助記憶装置に
書き戻さなければならない。しかし、Cビットが“0"の
場合には書き換えがなかったので、補助記憶装置にある
データとMS4が格納しているデータは同じものである。
従ってデータの書き戻し処理は行なう必要はなく、次に
同一エリアに割りつけられた別のデータを新たに主記憶
装置に書き込む処理を即座に開始することができる。
次に、4Kバイト単位の大きさのCビット用RAMの内容
を読み出す命令である、IBM社システム370アーキテクチ
ャに規定されているInsert Storage Key Extended(ISK
E)命令と、Reset Reference Bit Extended(RRBE)命
令、およびCビットRAMの内容を書き換える命令であるS
et Storage Key Extended(SSKE)命令をCビットの参
照・更新に用いる場合について、第3図を用いて説明す
る。
第3図において、第1図及び第2図と同一の要素には
同一の参照番号を付してある。25A〜Dは各ベクトルリ
クエスタに対応して設けてあるリクエストスタック、32
はSPからKEYに対する読み出し・書き込みリクエストを
受け、必要な場合ベクトルリクエスト制御装置内にある
KSに対する読み出し・書き込みを指示するKEY全体のリ
クエスト制御装置、36と26A〜Eはリクエスト制御装置3
2からの信号やリクエストスタック25A〜Dからの信号に
よって、リード(Read)又はライト(Write)処理の判
断を行うリードライト制御装置、23AはVPリクエストの
調停回路、23Bはアドレス選択回路、27はアドレスカウ
ントアップ回路、28は1Mバイト単位キーデータの4Kバイ
トデータへの反映を処理するカウントアップ制御回路、
29はスカラリクエスト制御回路からのデータを4Kバイト
キーに書き込む登録データ制御回路で、これら27,28,29
はSSKE命令時にKS22に対する制御を行うためのものであ
る。300はスカラリクエストアドレス信号線、301はスカ
ラリクエスト信号線、302は登録データ信号線、320はKS
Oに対するデータセレクトの為の信号線、321はライト又
はリード時にKS21A〜D,22に対する処理のセレクト信号
線、800A〜Dは各ベクトルリクエスタに対するリクエス
ト信号線、801A〜Dは各ベクトルリクエスタに対するリ
クエストアドレス信号線、200A〜Dは各ベクトルリクエ
スタを通過したリクエスト信号線、201A〜Dはリクエス
トアドレスが論理アドレスにおいて16Mバイト以上であ
ったか否かをデータとして送出する為の信号線、251A〜
Dについては200A〜Dと同じくリクエスト信号線、250A
〜Dはリクエストアドレスが論理アドレス16Mバイト未
満だったという信号があった場合に、調停回路23Aに対
して送出される信号線、231は各スタック25A〜Dに対し
て、リクエスト送出を止めさせる為の信号線、230は論
理アドレス16Mバイト未満リクエストのアドレスデータ
セレクトとKS22に対する書き込みを指示する信号線、21
0A〜Dはライト又はリード命令時に、各21A〜DのKSよ
り読み出されたデータを送出する為の信号線、220はリ
ード命令時にKS22より読み出されたデータを送出する為
の信号線、221はVPが持つKSに対するリード命令結果をS
RC3に対して送出する為の信号線、311は最終的なリード
命令結果をSP7に対して送出する為の信号線、280はカウ
ンタ制御信号の為の信号線、290はカウント終了信号を
送出する為の信号線である。
リード処理について説明する。まずKEY全体に対する
リクエスト制御装置32に対して、スカラリクエスタ30か
ら信号線301によりISKE・RRBE命令リクエストが送出さ
れる。これによりリクエスト制御装置32は信号線321の
信号を“High"にする。信号線321の信号を“High"にし
たことでベクトルリクエスト抑止信号252A〜Dが有効と
なり、スタック25A〜Dからの通常処理リクエスト・ア
ドレスデータを抑止し、またRAM36,26A〜Eへのリード
ライト制御装置にリード処理であることを伝える。KSに
対するリードアドレスデータはスカラリクエスタ30か
ら、信号線300により送出され、各々のKSが持つアドレ
スセレクト回路2100A〜Dで信号321をセレクト信号とし
てアドレス300が選択されアドレス信号線202A〜Dによ
って送出される。KS22に対してもセレクト信号230によ
ってアドレス信号線202Aを選択する。アドレスデータを
受け取ったKS21A〜Dでは1Mバイト単位でのCビット
を、KS31,22では4Kバイト単位での4Kバイトを各々読み
出す。結果は信号線210A〜DをORして信号211を生成
し、ベクトルリクエスト制御装置(VRC)2内のCビッ
ト結果は信号211と信号線220とをORした信号線221とし
て生成される。最終的な結果はスカラリクエスト制御装
置(SRC)3内の信号線310とORされて、信号311としてS
P7へ送られる。この結果データをISKEまたはRRBE命令の
実行結果とすることにより、当該4Kバイトブロックを補
助記憶装置に書き戻すか否かが決定されるのである。
次はライト処理について説明する。リード時と同じよ
うにスカラリクエスタ30から信号301によりSSKE命令の
リクエストと、アドレスデータがVRC2,SRC3に対して送
出され、VRC2に対する信号321を“High"にして通常リク
エストを抑止する。RAMへのリードライト制御装置36,26
A〜Eに対してはSSKE命令であることを伝える。ここでV
P用に4Kバイト単位と1Mバイト単位の2種類のCビット
管理テーブルを持ち、4Kバイト単位のCビットに対する
命令でその両方のテーブルを管理していることから、整
合をとらなければならない。これは、第7図のフローチ
ャートに示すように以下の手順で行う。第1の処理では
まずアドレスデータ300がアドレスセレクタ2100A〜Dに
より選ばれる。そのアドレスデータによりライトしよう
としている4Kバイトを含む1Mバイト単位でのデータの書
き換えがあったかどうかを調べるため、リードライト制
御装置26A〜DではKS21A〜Dが持つ1Mバイト単位のCビ
ットをリードする制御を行う(S71)。この処理は先に
述べたリード処理と同様の処理である。各々の結果は信
号線210A〜Dによって送出され、1Mバイト単位のCビッ
トの結果としては信号211が送出されることになる。第
2の処理はリード結果により次の2つの場合に分けられ
る(S72)。1Mバイト単位のリード結果が“0"であるとK
S22A〜Dには何も操作をせず、KS22に対して信号線302
からのライトデータを書き込む(S73)。一方、リード
結果が“1"であった場合は、4Kバイト単位であるSSKE命
令のライトデータ302をKS22のCビットに登録する前に
処理が必要である。すなわち1Mバイト単位のCビットに
対応する256エントリの4Kバイト単位のCビットに、1M
バイト単位のCビットの結果として得られた“1"を反映
させなければならない。そのためにKS22は該256エント
リに対してデータセレクト回路2200で選択されたデータ
“1"を登録する(S74)。1Mバイト単位のCビットが
“1"であるという情報と、SSKE命令であるという2つの
条件でANDがとられると、1Mバイト単位Cビットデータ
の4Kバイト単位Cビットデータへの反映を処理する制御
回路28が有効になる。その信号は信号線280のカウント
アップ信号となって、アドレスカウントアップ回路27に
対して256回送出される。アドレスカウントアップ回路2
7では最初は、SSKEアドレスデータを登録しようとして
いる4Kバイトを含む1Mバイトに対応する256エントリの
内の先頭エントリのアドレスに設定しておく。そして制
御回路28からのカウントアップ信号で、アドレスを変化
させながらKS22に対しアドレスデータを送出する。制御
回路28では256回の信号送出が終わると、SRC3からのデ
ータを4Kバイトキーに書き込む登録データ制御回路29に
対してトリガー信号を送出する。そしてKS22ではデータ
制御回路29からの信号線290によりデータセレクト回路2
200において、本来のSSKE命令による4Kバイト単位のC
ビットのデータ302が選択され、KS22にライト処理を行
うことになる(S73)。
1Mバイト単位のCビットのリード結果が“1"の場合に
はさらに第3の処理が必要で、これは第1の処理で読み
出した1Mバイト単位のCビットのエントリデータを“0"
に書き戻しておく処理である(S75)。というのはこの
場合、第2の処理で1Mバイト単位のCビットデータは4K
バイト単位のCビットテーブルの256エントリに反映さ
れているからである。
上記処理はKS21A〜Dがライトデータセレクタ2110A〜
Dを持つことで実現する。すなわち信号321が“High"で
あることにより、ライトデータは“0"を選択する。1Mバ
イト単位のCビット情報の、4Kバイト単位のCビットに
対する反映が終わり、信号線290が“High"になること
で、RAMへのリードライト制御装置26A〜Dはライト処理
であることを判断して制御信号をKS21A〜Dに対して送
出する。この結果、データセレクト回路2110A〜Dから
のデータを第1の処理でリードした時の同一アドレスに
対して書き込むのである。
以上のように4Kバイト単位のみでCビットを管理して
いたものに、1Mバイト単位のCビット管理を導入するこ
とにより、以下のような利点がある。まず、複数本ある
ベクトル用リクエスタ各々専用に、Cビット用RAMを設
けることができる。これは巨大空間を対象とするベクト
ルプログラム用の主記憶エリアに対するものであるた
め、粗い大きな単位のCビットでよく、この為各リクエ
スタ用に設けられたCビット用RAMも、エントリ数を抑
えることができるので各々のリクエスタ専用に設置して
も、Cビット用RAMの数量を抑えることができ、計算機
を作る上で現実的な実装規模のものとなる。また、ベク
トル用プログラムエリアの補助記憶装置への書き戻し
も、4Kバイトでなく1Mバイトという大きな単位で判断が
できるので、Cビットを調べる回数も減らすことができ
る。
第2の実施例は、第1の実施例に加えて1Mバイトの単
位で該エリアに対するCビットを操作する命令をサポー
トするケースで、第4図を用いて示す。第4図は基本的
には第1の実施例の中で示した第3図に対して、1Mバイ
ト単位でCビットを読み出したり、書き込んだりする操
作に必要な機能を加えたものである。主な追加機能は読
み出し時では4Kバイト単位のCビットを1Mバイト分集計
する処理を制御する制御回路38、4Kバイト単位Cビット
を256回集計する際にアドレスを生成するアドレスカウ
ントアップ回路37、256回にわたるデータ読み出しの毎
回の論理和をとるデータ保持回路2800,3800がある。書
き込み時にはスカラリクエスタが出力する書き込みデー
タを混ぜ込むためにデータセレクタ2110A〜E、2200Eの
機能を拡張し、また読み出し時に使用するアドレスカウ
ントアップ回路27,37も使用する。以下、1Mバイト単位
のCビットの読み出し、書き込み処理を示す。
読み出し処理ではまずスカラリクエスタ30がKS全体に
対するリクエスト制御装置32に対して1Mバイト分のCビ
ットを読み出す指示を出す。これを受けてKEYリクエス
ト制御装置32は信号321を“High"にしてスタック25A〜
Dからのリクエストを抑止する。またこの信号321によ
りKS21A〜D,22に対するリード処理であることをKSへの
リードライト制御回路26A〜Eに指示する。ここで、KS2
2,31を256回読み出すために、信号322によりカウントア
ップ制御回路28,38に1Mバイト分読み出す旨の指示をす
る。これらの制御回路28,38がアドレスカウントアップ
回路27,37に指示をして1Mバイト境界内4Kバイト単位の
アドレスを256回KS31,22に出力する。この時、出力され
る毎回の4Kバイト単位のCビットデータはそれぞれデー
タ保持回路2800,3800に入力され、論理和がとられてい
く。この結果は信号線220,221,311を伝わり、スカラプ
ロセッサ7に返される。
次に書き込み処理について説明する。VPからのリクエ
ストを抑止するための手段は読み出し処理時と同様で、
信号321によって行われる。1Mバイト単位のCビット書
き込みデータは信号線302により各KS31,21A〜D,22に伝
えられる。これらの各データはセレクト信号線320と322
によってKSの書き込みデータとして選択される。ここで
KS22,31に書き込む時は、指定された1Mバイト境界内の
全ての4Kバイト単位のCビットデータエントリ256個に
対して書き込みを行う必要がある。この256回の書き込
み制御を行うのが、読み出し時と同様、カウントアップ
制御回路28,38であり、アドレスカウントアップ回路27,
37である。当然ではあるがKS21A〜Dへの1Mバイト単位
のCビット書き込みは1回で終了する。
以上、読み出し、書き込みに256回の処理を必要とす
る場合を説明したが、ハードウェアによるとそれぞれデ
ータをまとめて複数ビット並列に処理することにより、
処理回数は減らすことができる。よってソフトウェアに
より毎回の4Kバイト単位のCビットの読み出しや書き込
みを処理する場合に比べ、1命令でハードウェアに指示
し、ハードウェアの並列処理の度合で高速、短時間な処
理が可能となる。
〔発明の効果〕
本発明によれば、異なる単位の複数のCビット管理テ
ーブルを持つことにより、特に複数のリクエスタを持つ
VP専用に大容量単位の管理テーブルを持つことにより、
複数のリクエスタ各々専用にCビット用RAMを備えて
も、RAMの数量を抑えることができる。また、VPの物量
削減に有効であり、計算機全体をコンパクトにして信号
遅延時間を短くし、性能を向上させることができる。ベ
クトルジョブの際の補助記憶装置への書き戻し判断も、
1Mバイトという大きな単位で行うことができるため、C
ビットを調べる回数、時間を大幅に削減できるという効
果がある。
【図面の簡単な説明】
第1図は本発明の対象となるデータ処理装置の一例を示
すブロック図、第2図は本発明の一実施例を示す制御系
ブロック図、第3図は本発明の第1の実施例におけるキ
ーの読み出し・書き込み制御を示す制御系ブロック図、
第4図は本発明の第2の実施例におけるキーの読み出し
・書き込み制御を示す制御系ブロック図、第5図は本発
明におけるアドレス変換の説明図、第6図は従来のキー
の情報の持ち方を示す説明図、第7図は第3図の実施例
におけるキーの書込み制御のフローチャートである。 1…記憶制御回路、2…ベクトルリクエスト制御装置、
3…スカラリクエスト制御装置、4…主記憶装置、5…
拡張記憶装置、6…入出力制御装置、7…スカラ処理装
置、8…ベクトル処理装置、31,21A〜D,22…主記憶キ
ー。

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】主記憶装置と、該主記憶装置に格納された
    データを処理するプロセッサと、前記プロセッサの前記
    主記憶装置へのアクセスを制御する複数のリクエスタ
    と、前記主記憶装置のアクセス情報を格納するアクセス
    情報テーブルとを備えたデータ処理装置における記憶制
    御方式であって、 前記アクセス情報テーブルとして、前記複数のリクエス
    タに共用される、小容量単位にアクセス情報を管理する
    第1のテーブルと、前記複数のリクエスタの各々に専用
    に備えた大容量単位にアクセス情報を管理する複数の第
    2のテーブルとを設け、論理アドレスが予め定めた一定
    値未満または、ある一定の範囲のとき前記第1のテーブ
    ルを更新し、一定値以上または、前記ある一定の範囲以
    外の範囲のとき前記第2のテーブルを更新するようにし
    たことを特徴とする記憶制御方式。
  2. 【請求項2】前記アクセス情報テーブルを参照する際、
    前記第1および複数の第2のテーブルの参照結果の論理
    和を取り、該論理和を参照結果として利用することを特
    徴とする請求項1記載の記憶制御方式。
  3. 【請求項3】前記アクセス情報は、少なくとも主記憶装
    置の当該記憶容量単位の内容が更新されたことを示す主
    記憶更新情報を含むことを特徴とする請求項1記載のデ
    ータ処理方式。
  4. 【請求項4】主記憶装置と、該主記憶装置に格納された
    データを処理するプロセッサと、前記プロセッサの前記
    主記憶装置へのアクセスを制御する複数のリクエスタ
    と、前記主記憶装置のアクセス情報を格納するアクセス
    情報テーブルとを備えたデータ処理装置において、 前記アクセス情報テーブルとして、前記複数のリクエス
    タについて共用される、小容量単位にアクセス情報を管
    理する第1のテーブルと、前記複数のリクエスタの各々
    に専用に備えた大容量単位にアクセス情報を管理する複
    数の第2のテーブルとを設けたことを特徴とするデータ
    処理装置。
  5. 【請求項5】前記第1のテーブルの参照結果と前記複数
    の第2のテーブルの参照結果との論理和を取る論理和手
    段を備えたことを特徴とする請求項4記載のデータ処理
    装置。
  6. 【請求項6】主記憶装置と、該主記憶装置に格納された
    データを処理するプロセッサと、前記主記憶装置のアク
    セス情報を格納するアクセス情報テーブルとを備えたデ
    ータ処理装置において、 前記アクセス情報テーブルとして、前記主記憶装置の全
    記憶エリアに対して第1の記憶容量単位にアクセス情報
    を保持する第1のテーブルと、前記主記憶装置の全記憶
    エリアに対して第2の記憶容量単位にアクセス情報を保
    持する第2のテーブルを設け、かつ、 前記第1および第2のテーブルの一方の内容を他方の内
    容へ反映させる手段を備えたことを特徴とするデータ処
    理装置。
  7. 【請求項7】論理アドレスが一定値以上か否かまたは、
    ある一定の範囲か否かを判別する手段と、該判別結果に
    応じて前記第1および第2のテーブルの一方を更新対象
    として選択する手段とを、前記各リクエスタに対して備
    えたことを特徴とする請求項4記載のデータ処理装置。
  8. 【請求項8】前記第1および第2のテーブルを操作する
    命令を、操作対象単位の大きさ毎に、異なる複数の命令
    として設けたことを特徴とする請求項4記載のデータ処
    理装置。
  9. 【請求項9】主記憶装置と、該主記憶装置に格納された
    データのリクエスタを発行する複数のリクエスタとを備
    えたデータ処理装置において、 大容量単位の主記憶装置アクセス情報を格納するアクセ
    ス情報テーブルを前記複数のリクエスタの各々に専用に
    備えると共に、小容量単位の主記憶アクセス情報テーブ
    ルを前記複数のリクエスタに共通に1個備えたことを特
    徴とするデータ処理装置。
  10. 【請求項10】主記憶装置と、該主記憶装置に格納され
    たデータを処理するスカラプロセッサと、前記主記憶装
    置に格納されたベクトルプロセッサとを備えたデータ処
    理装置において、 管理単位の大きさが異なる複数のアクセス情報テーブル
    を、前記スカラプロセッサ用とベクトルプロセッサ用と
    にそれぞれ専用に有することを特徴とするデータ処理装
    置。
JP2210760A 1990-08-08 1990-08-08 記憶制御方式およびデ―タ処理装置 Expired - Lifetime JP2502406B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2210760A JP2502406B2 (ja) 1990-08-08 1990-08-08 記憶制御方式およびデ―タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2210760A JP2502406B2 (ja) 1990-08-08 1990-08-08 記憶制御方式およびデ―タ処理装置

Publications (2)

Publication Number Publication Date
JPH0496155A JPH0496155A (ja) 1992-03-27
JP2502406B2 true JP2502406B2 (ja) 1996-05-29

Family

ID=16594677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2210760A Expired - Lifetime JP2502406B2 (ja) 1990-08-08 1990-08-08 記憶制御方式およびデ―タ処理装置

Country Status (1)

Country Link
JP (1) JP2502406B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239812A (ja) * 1994-02-28 1995-09-12 Sanyo Electric Co Ltd 情報処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0175398A3 (en) * 1984-08-17 1989-08-30 Koninklijke Philips Electronics N.V. Data processing system comprising a memory access controller which is provided for combining descriptor bits of different descriptors associated with virtual addresses

Also Published As

Publication number Publication date
JPH0496155A (ja) 1992-03-27

Similar Documents

Publication Publication Date Title
US10126964B2 (en) Hardware based map acceleration using forward and reverse cache tables
CA1124888A (en) Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
CA1322058C (en) Multi-processor computer systems having shared memory and private cache memories
EP0902922B1 (en) Method and apparatus for caching system management mode information with other information
US6202125B1 (en) Processor-cache protocol using simple commands to implement a range of cache configurations
JPS6117025B2 (ja)
EP0777183A1 (en) Computer cache system
US7133976B2 (en) Disk array device, method for controlling the disk array device and storage system
US5678025A (en) Cache coherency maintenance of non-cache supporting buses
US6952761B2 (en) Bus interface selection by page table attributes
US5452418A (en) Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
JP2502406B2 (ja) 記憶制御方式およびデ―タ処理装置
JPH0210446A (ja) バッファ記憶装置
JPH06103477B2 (ja) 並列キャッシュメモリ
JP3219810B2 (ja) データ処理装置
JPS603224B2 (ja) ペ−ジ・バツフア・メモリにおけるペ−ジ格納域数調整用デ−タ作成方式
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JPS61229142A (ja) 階層構成をなすバツフアメモリシステムにおけるリブレ−ス制御用アレイ管理装置
JP2791319B2 (ja) データ処理装置
JPS6213699B2 (ja)
JPH0414373B2 (ja)
JPH0612363A (ja) メモリ制御装置およびマルチプロセッサシステム
JPH0497459A (ja) キャッシュ一致処理方式
JPH04359336A (ja) キャッシュメモリのデータ置換回路
JPH05158782A (ja) 記憶装置