JPS5864688A - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS5864688A JPS5864688A JP56162687A JP16268781A JPS5864688A JP S5864688 A JPS5864688 A JP S5864688A JP 56162687 A JP56162687 A JP 56162687A JP 16268781 A JP16268781 A JP 16268781A JP S5864688 A JPS5864688 A JP S5864688A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- access
- cache
- address
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は、複数のプロセッサによって共通して;吏用さ
れるアドレス変換装置を、主記憶装置に接続されたメモ
リコントローラに設けた仮想記憶方式のデータ処理装置
に関し、特に、命令を実行するために仮想アドレスでメ
モリアクセスを行うジョブプロセッサが、キャッシュメ
モリを有するデータ処理装置に関する。
れるアドレス変換装置を、主記憶装置に接続されたメモ
リコントローラに設けた仮想記憶方式のデータ処理装置
に関し、特に、命令を実行するために仮想アドレスでメ
モリアクセスを行うジョブプロセッサが、キャッシュメ
モリを有するデータ処理装置に関する。
このような、アドレス変換装置を複数のプロセッサが共
有するものでは、アドレス変換装置を各プロセッサが個
々に持った場合に比較してハード量の削減が図れ、また
アドレス変換装置間の情報めずれが生じることがないた
めに制御が簡略化できる。又キャッシュメモリはイ固々
のプロセッサに行別される構成となる。
有するものでは、アドレス変換装置を各プロセッサが個
々に持った場合に比較してハード量の削減が図れ、また
アドレス変換装置間の情報めずれが生じることがないた
めに制御が簡略化できる。又キャッシュメモリはイ固々
のプロセッサに行別される構成となる。
しかしながら、このような構成では、キャッシュメモリ
とアドレス変換装置の羨続が通常の場合と逆転している
ために幾つかの問題点が生じる′。
とアドレス変換装置の羨続が通常の場合と逆転している
ために幾つかの問題点が生じる′。
その問題点のひとつとして、ページフォールトが発生し
た場合のキャッシュメモリの制御がある。
た場合のキャッシュメモリの制御がある。
仮想メモリ方式で、ページをロールアウトをする場合に
は、アドレス変換テーブルを更新する。
は、アドレス変換テーブルを更新する。
この時にキャッシュメモリにロールアウトの対象となる
ページを記憶している可1ヒ性があるが、このためにキ
ャッシュメモリをスキャンして該当するブロックの無効
化を行うことは、性能面で致命的な低下をまねくことに
なり、現実的でない。
ページを記憶している可1ヒ性があるが、このためにキ
ャッシュメモリをスキャンして該当するブロックの無効
化を行うことは、性能面で致命的な低下をまねくことに
なり、現実的でない。
そこで、参照されるデータがたとえ主記憶装置(以下主
メモリと略称する)に存在しなくても、キャッシュメモ
リに存在すれば゛、このブータラ更うようにする。これ
はキャッシュメモリを、単に主メモリの一部コピーでは
なく、補助メモリ番含めた仮想メモリ全体の一部コピー
と考えれば良いわけで問題は生じない。以上のような使
用法で。
メモリと略称する)に存在しなくても、キャッシュメモ
リに存在すれば゛、このブータラ更うようにする。これ
はキャッシュメモリを、単に主メモリの一部コピーでは
なく、補助メモリ番含めた仮想メモリ全体の一部コピー
と考えれば良いわけで問題は生じない。以上のような使
用法で。
リード(R,EAD)時にキャッシュミスが発生し、L
メモリにアクセスに行った時にページフォールトが発生
した場合のキャッシュメモリの制御、さらにライト(W
RJTE)時にページフォールトが発生した1合の制御
を、矛盾なく行うことが本発明の目的である。
メモリにアクセスに行った時にページフォールトが発生
した場合のキャッシュメモリの制御、さらにライト(W
RJTE)時にページフォールトが発生した1合の制御
を、矛盾なく行うことが本発明の目的である。
キャッシュメモリには、主メモリのコピーの単位である
ブロックが有効であるが否かを示す有効表示部がある。
ブロックが有効であるが否かを示す有効表示部がある。
キャッシュミスで主メモリにアクセスする場合には、ま
ず有効表示部を11」 (セット)にしてから主メモリ
のアクセスヲ行う。この理由は、他のプロセッサが同じ
主メモリエリヤに書込んだ時に、該ブロックを以後1史
用できぬ様に有効表示部を「0」(クリア)にする7化
めである。これをアクセスが完了してから有効表示部を
「1」にすると、起動をかけた後で、他のプロセッサが
書込んでも、正しいデータを保持しているように間違え
てしまうことになる。
ず有効表示部を11」 (セット)にしてから主メモリ
のアクセスヲ行う。この理由は、他のプロセッサが同じ
主メモリエリヤに書込んだ時に、該ブロックを以後1史
用できぬ様に有効表示部を「0」(クリア)にする7化
めである。これをアクセスが完了してから有効表示部を
「1」にすると、起動をかけた後で、他のプロセッサが
書込んでも、正しいデータを保持しているように間違え
てしまうことになる。
以上のような制御をしなければならないために、REA
D時にページフォールトが起った場合にlよ、該当する
有効表示部をクリアして、該当ブロックが1吏用できな
いようにする必要がある。また、WRITE時にも該当
ブロックがキャッシュメモリ内にある場合には、ページ
フォールト信号を受取って有効表示部をクリアしなけれ
ばならない。
D時にページフォールトが起った場合にlよ、該当する
有効表示部をクリアして、該当ブロックが1吏用できな
いようにする必要がある。また、WRITE時にも該当
ブロックがキャッシュメモリ内にある場合には、ページ
フォールト信号を受取って有効表示部をクリアしなけれ
ばならない。
本発明の特徴は、以上の制御を行うコントローラをキャ
ッシュメモリに有する点である。
ッシュメモリに有する点である。
以下、本発明の一実施例を図面を参照して詳細に説明す
る。
る。
第1図は本発明が適用されるデータ処理装置の全本構成
の一例を示す図である。
の一例を示す図である。
g1図において、10はプログラムおよびデータを洛納
する主メモリで、メモリバス11.メモリコントローラ
(MCU)12を介して共通バス50に接続されている
。
する主メモリで、メモリバス11.メモリコントローラ
(MCU)12を介して共通バス50に接続されている
。
20は、主メモリ10に格納されるべきプログラムおよ
びデータを洛納する外部メモリで、外部メモリバス21
.ファイルプロセッサ(FCP)22を介して共通バス
50に接続されている。
びデータを洛納する外部メモリで、外部メモリバス21
.ファイルプロセッサ(FCP)22を介して共通バス
50に接続されている。
30は入出カプロセッサ(IOP)であシ、図示しない
各種入出力装置とのデータ転送の制御を行う。
各種入出力装置とのデータ転送の制御を行う。
40はジョブプロセッサ(JOBP)であり、ここでは
1つだけを示しているが、プログラム(命令)の美行を
行う。
1つだけを示しているが、プログラム(命令)の美行を
行う。
ジョブプロセッサ40は、命令キャッシュ41゜データ
キャッシュ42.■ユニット43およびEユニットによ
り構成され、命令キャッシュ41と■ユニット43はバ
ス45で接続され、データキャツシュ42とEユニット
44はバス46f妾続され、Iユニット43とEユニッ
ト44はバス47で接続されている。
キャッシュ42.■ユニット43およびEユニットによ
り構成され、命令キャッシュ41と■ユニット43はバ
ス45で接続され、データキャツシュ42とEユニット
44はバス46f妾続され、Iユニット43とEユニッ
ト44はバス47で接続されている。
このように、ファイルプロセッサ22.入出力プロセッ
サ30およびジョブプロセッサ40はいずれも共通バス
50に接、続され、メモリコントローラ12を介して主
メモリ10をアクセス可能になっている。
サ30およびジョブプロセッサ40はいずれも共通バス
50に接、続され、メモリコントローラ12を介して主
メモリ10をアクセス可能になっている。
ジョブプロセッサ4は、■ユニット43.!:Eユニッ
ト44でパイプライン処理をする°もので、前述の如く
それぞれのユニットに対して命令キャッシュ41とデー
タキャッシュ44を有する。
ト44でパイプライン処理をする°もので、前述の如く
それぞれのユニットに対して命令キャッシュ41とデー
タキャッシュ44を有する。
尚プログラム(命令)が扱うデータはオペランドとも呼
ばれ、このデータキャッジのことをオペランドキャッシ
ュと呼ぶ場合がある。
ばれ、このデータキャッジのことをオペランドキャッシ
ュと呼ぶ場合がある。
次に実行すべき命令語をIユニット43がアクセスする
場合、まず、命令キャッシュ41上にその命令語が存在
するか否かチェックされ、存在する場合にはそのデータ
が命令語としてバス45を介して■ユニット43へ送ら
れる。存在しない場合は、命令語の仮想アドレスを共通
バス50を介シテメモリコントローラ12へ送出する。
場合、まず、命令キャッシュ41上にその命令語が存在
するか否かチェックされ、存在する場合にはそのデータ
が命令語としてバス45を介して■ユニット43へ送ら
れる。存在しない場合は、命令語の仮想アドレスを共通
バス50を介シテメモリコントローラ12へ送出する。
メモリコントローラ12では、仮想アドレスを物理アド
レスに変換してメモリバス11を介して主メモリ10を
アクセスする。得られたデータ(命令)は、共通バス5
0を介して、命令キャッシュ41へ送られ、さらにバス
45を介して■ユニット43へ送られ、■ユニット43
で処理されると同時に、命令キャッシュ41へ貯わえら
れる。
レスに変換してメモリバス11を介して主メモリ10を
アクセスする。得られたデータ(命令)は、共通バス5
0を介して、命令キャッシュ41へ送られ、さらにバス
45を介して■ユニット43へ送られ、■ユニット43
で処理されると同時に、命令キャッシュ41へ貯わえら
れる。
■ユニット43では、この得られた命令を解読し、Eユ
ニット44に対して「何を為すべきか」を指示する。E
ユニット44は、この指令に基づき、必要なデータを内
部のレジスタやデータキャッシュ42なら(データキャ
ッシュ42上にない場合は、命令キャッシュと同様に主
メモリ10から)渠め、演算処理し、その結果を内部の
レジスタか主メモリ10に格納する。後者の主メモリ1
0に結果を格納する際には、該当する位置のデータが既
にデータキャッシュ42内に取込まれているならば、そ
のデータも更新する。
ニット44に対して「何を為すべきか」を指示する。E
ユニット44は、この指令に基づき、必要なデータを内
部のレジスタやデータキャッシュ42なら(データキャ
ッシュ42上にない場合は、命令キャッシュと同様に主
メモリ10から)渠め、演算処理し、その結果を内部の
レジスタか主メモリ10に格納する。後者の主メモリ1
0に結果を格納する際には、該当する位置のデータが既
にデータキャッシュ42内に取込まれているならば、そ
のデータも更新する。
次に共通バス50の構成例について説明する。
共通バス50は第2図に示す様に、実際に情報を転送す
るのに使用される起動バス55、データバス56、応答
バス57と、これらのバス55〜57をそれぞれどのプ
ロセッサあるいはメモリコントローラが使用するかを決
めるのに必要な起動バス占有要求線51、データバス占
有要求線52、応答バス占有要求線53とインタロック
信号線54を含んであり、時分割で使用される。
るのに使用される起動バス55、データバス56、応答
バス57と、これらのバス55〜57をそれぞれどのプ
ロセッサあるいはメモリコントローラが使用するかを決
めるのに必要な起動バス占有要求線51、データバス占
有要求線52、応答バス占有要求線53とインタロック
信号線54を含んであり、時分割で使用される。
各バス55〜57の情報の中味は次の通りである。
(1)起動バス55
(a) アドレス
(b) アクセスの種類(例えばリードアクセスであ
るから/ライトアクセスであるか、また何バイトアクセ
スするか、等) (C) アクセスキー(MCU12で行うプロテクシ
ョンチェックに使用する。) (2) データバス56 (a) ライトデータ (11リードデータ (3)応答バス57 (荀 終了信号 (b) リターンコード(アクセス中に1発生したエ
ラー及びページフォールトの情報) などである。
るから/ライトアクセスであるか、また何バイトアクセ
スするか、等) (C) アクセスキー(MCU12で行うプロテクシ
ョンチェックに使用する。) (2) データバス56 (a) ライトデータ (11リードデータ (3)応答バス57 (荀 終了信号 (b) リターンコード(アクセス中に1発生したエ
ラー及びページフォールトの情報) などである。
これらのバス55〜57が、どの様に・使用されるかを
第3図で示す。
第3図で示す。
この図で示される様に、
(1)aのリード要求とbのリード応答(ti) a
のリード要求とdのライト応答OiD cのライト要
求とdのライト応答の3つの組み合せの転送が、同一の
タイムスロットで同時に可能となる。
のリード要求とdのライト応答OiD cのライト要
求とdのライト応答の3つの組み合せの転送が、同一の
タイムスロットで同時に可能となる。
次にバス55〜57の吏用の様子を第4図で示す。この
図では、タイムスロット0でJOBP40がMCU12
にメモリリード起動をかけ、それに対するリードデータ
がタイムスロットNとN+1で返され゛て来ておシ、ま
たタイムスロット1でl0P30がMCU12にメモリ
ライト起動をかけ、それに対する応答がタイムスロツ)
N+2で返されている。この1乗に共通バス50では、
起動と応答を分離した、ムわゆるスプリット転送を行う
。!た、主メモリ10は捩dのメモリアクセスを処理出
来る溝成となっている。
図では、タイムスロット0でJOBP40がMCU12
にメモリリード起動をかけ、それに対するリードデータ
がタイムスロットNとN+1で返され゛て来ておシ、ま
たタイムスロット1でl0P30がMCU12にメモリ
ライト起動をかけ、それに対する応答がタイムスロツ)
N+2で返されている。この1乗に共通バス50では、
起動と応答を分離した、ムわゆるスプリット転送を行う
。!た、主メモリ10は捩dのメモリアクセスを処理出
来る溝成となっている。
以上、述べてきたバス55〜57の転送を行うに当って
、その前に占有16I]御を行う必要がある。
、その前に占有16I]御を行う必要がある。
これは転送を希望するプロセッサやメモリコントローラ
が、転送の1タイムスロツト前に、転送に1更用するバ
スに対する占yrq(71求51〜53を出し、これに
対して優先順位を付けて転送を許可することによって行
う。この優先順位の付は方は、色々な方法が考えられる
が、ここではその詳細については省略する。ただし、応
答による占■要求は、起動による占有要求より優先レベ
ルを上げる。というのは、起動による占有要求によって
応答が返せない事態になると、メモリコントローラ上で
起動の処理が詰まってしまい、デッドロック状態となる
からである。列えば1本実癩−の場合、第3図に示すb
のデータリード応答と、Cのデータライト起動による占
有要求が競合した場合には前者が優先される。
が、転送の1タイムスロツト前に、転送に1更用するバ
スに対する占yrq(71求51〜53を出し、これに
対して優先順位を付けて転送を許可することによって行
う。この優先順位の付は方は、色々な方法が考えられる
が、ここではその詳細については省略する。ただし、応
答による占■要求は、起動による占有要求より優先レベ
ルを上げる。というのは、起動による占有要求によって
応答が返せない事態になると、メモリコントローラ上で
起動の処理が詰まってしまい、デッドロック状態となる
からである。列えば1本実癩−の場合、第3図に示すb
のデータリード応答と、Cのデータライト起動による占
有要求が競合した場合には前者が優先される。
以上の占有制御の様子を簡略化して第5図に示している
。タイムスロット0ではJOBP40とl0P30がリ
ード起動をしようとして、各々が起動バス占有要求51
を出している。この内、JOBP40の方がTOP30
より優先レベルが高いものとすると、タイムスロット1
でJOBP40は起動バス55を使用してリードの起動
を行い、同時に占有要求を止める。一方、l0P30は
占有が許可されなかったので、タイムスロット1でも起
動バス占有要求51を出したままとする。このスロット
1では、JOBP40からの占有要求がなくなるので、
タイムスロット2でl0P30はリード起動が可能とな
る。
。タイムスロット0ではJOBP40とl0P30がリ
ード起動をしようとして、各々が起動バス占有要求51
を出している。この内、JOBP40の方がTOP30
より優先レベルが高いものとすると、タイムスロット1
でJOBP40は起動バス55を使用してリードの起動
を行い、同時に占有要求を止める。一方、l0P30は
占有が許可されなかったので、タイムスロット1でも起
動バス占有要求51を出したままとする。このスロット
1では、JOBP40からの占有要求がなくなるので、
タイムスロット2でl0P30はリード起動が可能とな
る。
この様なシステムにおいて各プロセッサが他のプロセッ
サからのアクセスを排除して、すなわちインタロックし
て主メモリ10をアクセスする場合には、廻動バス55
を他のプロセッサに使用させない様にする。というのは
、起動バス55を占有することで、他のプロセッサから
今後発生する起動を排除し、また既に主メモリ10内で
処理中のメモリ起動に対しては、データバス56.応答
バス57を使用して応答を返すことを可能にするためで
ある。もし、これらの応答が返せないと、メモリコント
ローラ12上で起動の処理が詰まってしまい、デッドロ
ック状態になってしまうからである。
サからのアクセスを排除して、すなわちインタロックし
て主メモリ10をアクセスする場合には、廻動バス55
を他のプロセッサに使用させない様にする。というのは
、起動バス55を占有することで、他のプロセッサから
今後発生する起動を排除し、また既に主メモリ10内で
処理中のメモリ起動に対しては、データバス56.応答
バス57を使用して応答を返すことを可能にするためで
ある。もし、これらの応答が返せないと、メモリコント
ローラ12上で起動の処理が詰まってしまい、デッドロ
ック状態になってしまうからである。
次に、この起動バス55の占有方法の一例を説明する。
メモリコントローラ12をインタロックしてアクセスし
ようとするプロセッサは、第6図に示す様に起動バス占
有要求51が受付けられ。
ようとするプロセッサは、第6図に示す様に起動バス占
有要求51が受付けられ。
起動バス55に情報を転送するタイムスロットで、起動
バス55を占有1.ていることを示すインタロック信号
54を出す。そして、この信号により也のプロセッサか
らの起動バス占有要求51が受付けられない様に制御J
する。これは列えば第7図の回路によって実現される。
バス55を占有1.ていることを示すインタロック信号
54を出す。そして、この信号により也のプロセッサか
らの起動バス占有要求51が受付けられない様に制御J
する。これは列えば第7図の回路によって実現される。
この図では、各占有要求51〜53の優先判定回路61
は各プロセッサごとに分散して持ち、インタロック信号
線54はオープン・コレクタの信号線としている。まず
、インタロックの信号54が出てない場合は、各占有要
求51〜53を優先判定回461でチェックし、自分の
出した4助パス占有要求51の優先度が一萱高い場合に
は、アンドゲート62、オアゲ−) 6.3 ’i通し
て起動バス55の占有許可信号64が出る。−従って、
このプロセッサは次のタイムスロットで、起動バス55
に対して情報の転送が0]′止である。また、この際プ
ロセッサからインタロック要求信号65が出されている
と、アントゲ−168を介してJ−にフリップフロップ
66がセットされ、インタロック信号54が出力される
。このインタロック信号54は、インタロック解除信号
67が出されるまで、出力されており、この間このプロ
セッサは起動バス55を占有したままとなる。次に、他
のプロセッサからインタロック信号54が出されている
場合には、アンドゲート62で1優先判定回461の出
力が禁止されるので、起動バス占有許可信号64が出な
いため、起動バス55が吏用できず、従ってメモリ起動
も出来ない。
は各プロセッサごとに分散して持ち、インタロック信号
線54はオープン・コレクタの信号線としている。まず
、インタロックの信号54が出てない場合は、各占有要
求51〜53を優先判定回461でチェックし、自分の
出した4助パス占有要求51の優先度が一萱高い場合に
は、アンドゲート62、オアゲ−) 6.3 ’i通し
て起動バス55の占有許可信号64が出る。−従って、
このプロセッサは次のタイムスロットで、起動バス55
に対して情報の転送が0]′止である。また、この際プ
ロセッサからインタロック要求信号65が出されている
と、アントゲ−168を介してJ−にフリップフロップ
66がセットされ、インタロック信号54が出力される
。このインタロック信号54は、インタロック解除信号
67が出されるまで、出力されており、この間このプロ
セッサは起動バス55を占有したままとなる。次に、他
のプロセッサからインタロック信号54が出されている
場合には、アンドゲート62で1優先判定回461の出
力が禁止されるので、起動バス占有許可信号64が出な
いため、起動バス55が吏用できず、従ってメモリ起動
も出来ない。
次にMCU12について説明する。
MCU12は、通常のメモリアクセスの処理の他、仮想
アドレスから物理アドレスへのアドレス変換ヤ、プロテ
クンヨンのチェックを行う。
アドレスから物理アドレスへのアドレス変換ヤ、プロテ
クンヨンのチェックを行う。
また、各プロセッサ間で共通にI重用され、高いスルー
プットが要求されるため、リード処理とライト処理は第
8図(A)、(B)に示すように、いくつかのステージ
■〜■又は■〜■に分かれており、複数個のアクセスを
第8図(C)に水子ようにオーバラップさせて処理出来
るようになっている。
プットが要求されるため、リード処理とライト処理は第
8図(A)、(B)に示すように、いくつかのステージ
■〜■又は■〜■に分かれており、複数個のアクセスを
第8図(C)に水子ようにオーバラップさせて処理出来
るようになっている。
第9図は、MCU12の1輯成の一例を示しtものであ
るが、第8図(A) 、 (B)に示した各処理ステー
ジでは次のような動作を行う。
るが、第8図(A) 、 (B)に示した各処理ステー
ジでは次のような動作を行う。
(A):リード処理ステージの動作
■ 共通バス50からリード起動受信
起動バス55上の仮想アドレス(VA)、アクセスの種
類(FU’N)、アクセスキー(AKEY )を共通バ
ス受信用レジスタ71に取込む。
類(FU’N)、アクセスキー(AKEY )を共通バ
ス受信用レジスタ71に取込む。
■ アドレス変換とプロテクションチェックアドレス変
換装置75により、仮想アドレス(VA)で示されるペ
ージが、主メモリ10にあるか否かの判定を行い、ある
場合には物理アドレス(PA)に変換する。ない場合は
、いわゆるページフォールトとなる。
換装置75により、仮想アドレス(VA)で示されるペ
ージが、主メモリ10にあるか否かの判定を行い、ある
場合には物理アドレス(PA)に変換する。ない場合は
、いわゆるページフォールトとなる。
また、との詩プロテクションチェック回路76で、その
アクセスが許可されているものか否かの判定を行う。
アクセスが許可されているものか否かの判定を行う。
このアドレス変換装置75とプロテクンヨンチェック回
路76については、後で詳細に述べる。
路76については、後で詳細に述べる。
これらのプロテクノヨンチェックの結果と、ページフォ
ールト情報は、他のエラー情報と共にリターンコード(
RC)として、アクセスの種類(FUNC)や物理アド
レス(PA)と共にアクセスレジスタ72にセットされ
る。
ールト情報は、他のエラー情報と共にリターンコード(
RC)として、アクセスの種類(FUNC)や物理アド
レス(PA)と共にアクセスレジスタ72にセットされ
る。
■ メモリリード起動
アクセスレジスタ72にあるアクセスにエラーやページ
フォールトが発生していない場合には、メモリコントロ
ーラ77が、アクセスレジスタ72上の物理アドレス(
PA)で主メモリ1oにメモリ起動151をかけ、主メ
モIJ 10がその起動を受取ったら、アクセスの種類
(FUNC)とリターンコード(RC)を一時記憶レジ
スタフ3へ移す。
フォールトが発生していない場合には、メモリコントロ
ーラ77が、アクセスレジスタ72上の物理アドレス(
PA)で主メモリ1oにメモリ起動151をかけ、主メ
モIJ 10がその起動を受取ったら、アクセスの種類
(FUNC)とリターンコード(RC)を一時記憶レジ
スタフ3へ移す。
また、アクセスレジスタ72にあるアクセスが、既にエ
ラーやページフォールトの発生を示している場合には、
タモ9フ 時記憶レジスタフ3へ移t。
ラーやページフォールトの発生を示している場合には、
タモ9フ 時記憶レジスタフ3へ移t。
■ リードデータ受信とデータ、応答バス占有要゛求
主メモリlOからメモリバス11を介してIJ−ドデー
タ154を受取ると共に、アクセスの種類( FUNC
)とリターンコード(RC)を共通バス送出用レジス
タ74へ移す。
タ154を受取ると共に、アクセスの種類( FUNC
)とリターンコード(RC)を共通バス送出用レジス
タ74へ移す。
一方、共通バス50に対してはデータバス占有要求52
と応答バス占有要求53を出力する。
と応答バス占有要求53を出力する。
■ リードデータ、応答バス転送
■の占有要求52.53が受付けられたら、リードデー
タ(154)をバス155を介してデータバス56に転
送し、また、終了信号とリターンコード(RC)をバス
156を介して応答バス57に転送し、それぞれアクセ
ス元のプロセッサに返す。
タ(154)をバス155を介してデータバス56に転
送し、また、終了信号とリターンコード(RC)をバス
156を介して応答バス57に転送し、それぞれアクセ
ス元のプロセッサに返す。
(B)ニライト処理ステージの動作
U 共通バス50からライト起動受信
起動バス55上の仮想アドレス(VA)、”アクセスの
種類(、 FUNC )’ 、アクセスキー(AKEY
)及びデータバス56上のライトデータ(WD’) 全
共通バス受信用レジスタ1に取込む。
種類(、 FUNC )’ 、アクセスキー(AKEY
)及びデータバス56上のライトデータ(WD’) 全
共通バス受信用レジスタ1に取込む。
■′ アドレス変換とプロテクションチェックライトデ
ータ(WD)をアクセスレジスタ72にセットすること
を除いて、リード処理ステージ(A)の■と同じ動作を
する。
ータ(WD)をアクセスレジスタ72にセットすること
を除いて、リード処理ステージ(A)の■と同じ動作を
する。
■′ メモリライト起動
ライトデータ(WD)153を主メモリ10に転送する
ことを除いて、リード処理ステージ(A)の■と同じで
ある。
ことを除いて、リード処理ステージ(A)の■と同じで
ある。
■′応答パス占有要求
アクセスの種類(FUNC)とリターンコード(FLC
)を共通バス送出用レジスタ74へ移す。
)を共通バス送出用レジスタ74へ移す。
一方、共通バス50に対しては、応答バス占有要求53
を出力する。
を出力する。
σ 応答バス転送
■′の占有要求53が受付けられたら、終了信号とリタ
ーンコード(RC)をバス156を介して応答バス57
に転送し、アクセス元のプロセッサに返す。
ーンコード(RC)をバス156を介して応答バス57
に転送し、アクセス元のプロセッサに返す。
以上の様に、リードとライトの処理は各ステージに分け
られており、異なるアクセスの処理の異なる番号のステ
ージは、第8図(C)にポす様に並行して処理可能であ
る。この図では、共通バス50から(イ)4BYte
リード起動、(ロ)Byte ライト起動。
られており、異なるアクセスの処理の異なる番号のステ
ージは、第8図(C)にポす様に並行して処理可能であ
る。この図では、共通バス50から(イ)4BYte
リード起動、(ロ)Byte ライト起動。
(ハ)16 BYte リード起動を、それぞれタイム
スロッ)0,1.2で受取って処理している。そしてタ
イムスロット2の場合を見ると、(イ)のメモリリード
起動■と、(ロ)のアドレス変換とプロテクションのチ
ェック■′と、(ハ)の共通ノ(スからのリード起動受
信■を並行して行っている。ここで、(ハ)の16 B
yte リードは(イ)の4B)’te リードに
比べて。
スロッ)0,1.2で受取って処理している。そしてタ
イムスロット2の場合を見ると、(イ)のメモリリード
起動■と、(ロ)のアドレス変換とプロテクションのチ
ェック■′と、(ハ)の共通ノ(スからのリード起動受
信■を並行して行っている。ここで、(ハ)の16 B
yte リードは(イ)の4B)’te リードに
比べて。
■〜■のステージを4回繰り返しているが、これは4F
ffteを単位としたメモリインタリーブを行っている
ためである。以下、これについて説明する。
ffteを単位としたメモリインタリーブを行っている
ためである。以下、これについて説明する。
第1O図は主メモI710の構成の一例を示した図であ
り、メモリボード(MB)14(14a 〜14d)は
4Byteのデータ幅で構成され、各メモリボード1.
4a、14b、14C,14dは4BYte単位に付刀
口されたアドレスの下位2 bitが00.01,10
.11であるデータを持っている。そして16Bleの
データは、J BYteずつのデータがメモリボード1
4a、14b、14C。
り、メモリボード(MB)14(14a 〜14d)は
4Byteのデータ幅で構成され、各メモリボード1.
4a、14b、14C,14dは4BYte単位に付刀
口されたアドレスの下位2 bitが00.01,10
.11であるデータを持っている。そして16Bleの
データは、J BYteずつのデータがメモリボード1
4a、14b、14C。
14d上にあるため、16 BYte IJ−ドではメ
モリボード14で構台をおこすこと無く、第8図(C)
の様に連続してメモリボードを起動し、リードデータを
読み出して来ることが可能となる。この様な16 B)
’te リードは、主にキャッシュミス時にキャッシュ
メモリへデータを送るブロック転送に使用される。
モリボード14で構台をおこすこと無く、第8図(C)
の様に連続してメモリボードを起動し、リードデータを
読み出して来ることが可能となる。この様な16 B)
’te リードは、主にキャッシュミス時にキャッシュ
メモリへデータを送るブロック転送に使用される。
■ユニット43やEユニット44が命令キャッシュ41
やデータキャッシュ42をアクセスする場合は、16B
)’te より(′つと小さな単位(この例では4BY
teとする。)で行うので、この1613yte リー
ド時には1.ユニット43やEユニット44が必要とし
た4BYteのデータが残りのデータより早く渡゛され
る様に制御し、アクセス時間を短縮する。そしてこのた
めには、第10図(B)のごとくアドレスに応じて、M
CU12から起動をかけるメモリボード14の順番を変
更すれば良い。
やデータキャッシュ42をアクセスする場合は、16B
)’te より(′つと小さな単位(この例では4BY
teとする。)で行うので、この1613yte リー
ド時には1.ユニット43やEユニット44が必要とし
た4BYteのデータが残りのデータより早く渡゛され
る様に制御し、アクセス時間を短縮する。そしてこのた
めには、第10図(B)のごとくアドレスに応じて、M
CU12から起動をかけるメモリボード14の順番を変
更すれば良い。
次に、アドレス変換とプロテクションチェックについて
詳細に説明する。
詳細に説明する。
第11図は、第9図のアドレス変換装置75を中心とし
て更に詳細に示した構成図であり、第12図は、アドレ
ス変換の動作フローを示したものである。仮想アドレス
から物理アドレスへの変換テーブル130は、そのメモ
リ容量が大きいので、主メモリ10の一部に置かれてい
る。しかし、メモリアクセスが発生するたびに、仮想ア
ドレスを物理アドレスに変換するために、主メモリ10
をアクセスしていてはオーバーヘッドが大きくなるため
、最近アクセスしたアドレス変換情報を格納してお(T
LBIIOがMCU12に設けられている。
て更に詳細に示した構成図であり、第12図は、アドレ
ス変換の動作フローを示したものである。仮想アドレス
から物理アドレスへの変換テーブル130は、そのメモ
リ容量が大きいので、主メモリ10の一部に置かれてい
る。しかし、メモリアクセスが発生するたびに、仮想ア
ドレスを物理アドレスに変換するために、主メモリ10
をアクセスしていてはオーバーヘッドが大きくなるため
、最近アクセスしたアドレス変換情報を格納してお(T
LBIIOがMCU12に設けられている。
TLBIIOには、アドレス変換テーブル130の内、
最近使用されたページの内容が格納されており、高速に
アドレス変換が行なえるようになっている。TLBII
Oにおける各ページの内容i1有効ビア ) (V)
111、コネクト(C)ヒツト112、仮想アドレスの
一部(VPA)113.物理アドレスの一部(PPA)
114.実行プロテクションピツト(EP)115およ
びストレージキーi 5KEY)116からなっている
。■ビット111とCビット112は、該当ページの現
在の状態を示し、■ビット111が「0」の場合は、T
LBlloの該当ページの内容が有効なデータでない(
無効)ことを示す。
最近使用されたページの内容が格納されており、高速に
アドレス変換が行なえるようになっている。TLBII
Oにおける各ページの内容i1有効ビア ) (V)
111、コネクト(C)ヒツト112、仮想アドレスの
一部(VPA)113.物理アドレスの一部(PPA)
114.実行プロテクションピツト(EP)115およ
びストレージキーi 5KEY)116からなっている
。■ビット111とCビット112は、該当ページの現
在の状態を示し、■ビット111が「0」の場合は、T
LBlloの該当ページの内容が有効なデータでない(
無効)ことを示す。
vビット111とCビット112が共に「1」の場合は
、該当ページが、現在主メモリ10と外部メモリ20と
の間で転送されていること、すなわち、ページング中で
あることを示し、Vピット111が「1」で、Cビット
112が「0」の場合は、該当ページが主メモリ10に
あり、メモリアクセス可能なことを示している。
、該当ページが、現在主メモリ10と外部メモリ20と
の間で転送されていること、すなわち、ページング中で
あることを示し、Vピット111が「1」で、Cビット
112が「0」の場合は、該当ページが主メモリ10に
あり、メモリアクセス可能なことを示している。
このように、ページング中である状態を付加しているの
は、ページングを行っているエリアをFCP22からの
ページングアクセス以外のアクセスができないようにす
るためである。
は、ページングを行っているエリアをFCP22からの
ページングアクセス以外のアクセスができないようにす
るためである。
本システムでは、仮想アドレスから物理アドレスへのア
ドレス変換を、MCU12で、各プロセッサに共通に行
なわせているので、FCP22によりページングを行な
っているアク七′スであっても、同じアドレス変換装置
75を経由することになり、そのページング中のエリア
を他のプロセッサがアクセスすることを許可すると、デ
ータの破壊や喪失につながる。従って、上記した如く、
Vビット111とCピット112が共に「1」を示して
いる場合には、FCP22からのページングアクセスの
み許可することにより、上記の不都合を解決しているの
である。
ドレス変換を、MCU12で、各プロセッサに共通に行
なわせているので、FCP22によりページングを行な
っているアク七′スであっても、同じアドレス変換装置
75を経由することになり、そのページング中のエリア
を他のプロセッサがアクセスすることを許可すると、デ
ータの破壊や喪失につながる。従って、上記した如く、
Vビット111とCピット112が共に「1」を示して
いる場合には、FCP22からのページングアクセスの
み許可することにより、上記の不都合を解決しているの
である。
次に仮想アドレスの一部(VPA)113は。
TLB 110でアドレス変換を行う際に、該当する仮
想アドレス(VA)の変換対がTLB 110に登録さ
れているか否かをチェックするためのものであシ、また
、物理アドレスの一部(PPA)114はTLBIIO
に変換対があった時に、物理アドレス(PA)を作成す
るためのものである。
想アドレス(VA)の変換対がTLB 110に登録さ
れているか否かをチェックするためのものであシ、また
、物理アドレスの一部(PPA)114はTLBIIO
に変換対があった時に、物理アドレス(PA)を作成す
るためのものである。
仮想アドレス(VA)は、セグメントアドレス(8A)
12−1゜、ページアドレス(PA)122、ページ内
アドレス(DISP)123からなり、上記の物理アド
レスの一部(PPA)114は、ページ内アドレス(D
ISP’)123と連なって物理アドレス(PA)を作
る。
12−1゜、ページアドレス(PA)122、ページ内
アドレス(DISP)123からなり、上記の物理アド
レスの一部(PPA)114は、ページ内アドレス(D
ISP’)123と連なって物理アドレス(PA)を作
る。
実行プロテクンヨンピット1.15(EP)は、データ
に対し誤まって命令読出し、実行することを防ぐための
ものであり、プロテクションチェック回路76でこのピ
ットが「1」のエリアに対して命令読出しすると実行プ
ロテクトエラーとなる。
に対し誤まって命令読出し、実行することを防ぐための
ものであり、プロテクションチェック回路76でこのピ
ットが「1」のエリアに対して命令読出しすると実行プ
ロテクトエラーとなる。
従って本構成例の様に、JOBP40で命令キャッシュ
41とデータキャッシュ42が分かれている場合には、
命令キャッシュ41からのこのエリアに対するアクセス
は、全て実行プロテクトエラーとなる。
41とデータキャッシュ42が分かれている場合には、
命令キャッシュ41からのこのエリアに対するアクセス
は、全て実行プロテクトエラーとなる。
ストレージキー(5KEY) 116は、ライトプロテ
クションを行うためのもので、要求元プロセッサから転
送されてきたアクセスキー(AKEY)と共にプロテク
ションチェック回路76により、ライトアクセスが許可
されるか、禁止されるかを調べられ、後者の場合はライ
トプロテクトエラーとなる。
クションを行うためのもので、要求元プロセッサから転
送されてきたアクセスキー(AKEY)と共にプロテク
ションチェック回路76により、ライトアクセスが許可
されるか、禁止されるかを調べられ、後者の場合はライ
トプロテクトエラーとなる。
アクセスキ−(AKEY)は、この様に5KEY116
との比較によるライトプロテクトエラーのチェックに使
う他、ECP22からのページングアクセスか否かの情
報や、命令読出しであるか否かの情報を含んでおり、こ
れらのプロテクトチェックにも使用する。
との比較によるライトプロテクトエラーのチェックに使
う他、ECP22からのページングアクセスか否かの情
報や、命令読出しであるか否かの情報を含んでおり、こ
れらのプロテクトチェックにも使用する。
次に、変換過程を、第12図のフローチャートを参照し
て順次説明する。
て順次説明する。
メモリアクセスの種類は大きく次の2つに分けれる。す
なわち、 (1) 一般のプロセッサによるメモリアクセス(2
)FCP22によるページング時のメモリアクセス の2つである。この(1)、 (2)のアクセスの区別
は、アクセスキーAKBY上にあシ、信号a140を経
由してアドレス変換コントローラ125に伝えられる。
なわち、 (1) 一般のプロセッサによるメモリアクセス(2
)FCP22によるページング時のメモリアクセス の2つである。この(1)、 (2)のアクセスの区別
は、アクセスキーAKBY上にあシ、信号a140を経
由してアドレス変換コントローラ125に伝えられる。
まず、′般的な(1)の場合のメモリアクセスのアドレ
ス変換やアクセスの許可の判定について説明する。
ス変換やアクセスの許可の判定について説明する。
あるプロセッサ(JOBP40又はl0P30)から出
力された仮想アドレスは、共通バス50を経由してMC
U12内の共通パス受信用レジスタ71内の仮想アドレ
スレジスタ120にセットされる。この仮想アドレスレ
ジスタ120にセットされた仮想アドレスは、セグメン
トアドレス(SA)121及びページアドレスリP−4
) 122の一部分120−2をアドレスとしてまずT
LBlloをアクセスする。これにより読み出されたT
LBIIOのエントリのVビット111およびCビット
112は、アドレス変換コントローラ125に伝えられ
、そのパターンにより、その後の処理が次の■〜■のよ
うに3つに分かれる。
力された仮想アドレスは、共通バス50を経由してMC
U12内の共通パス受信用レジスタ71内の仮想アドレ
スレジスタ120にセットされる。この仮想アドレスレ
ジスタ120にセットされた仮想アドレスは、セグメン
トアドレス(SA)121及びページアドレスリP−4
) 122の一部分120−2をアドレスとしてまずT
LBlloをアクセスする。これにより読み出されたT
LBIIOのエントリのVビット111およびCビット
112は、アドレス変換コントローラ125に伝えられ
、そのパターンにより、その後の処理が次の■〜■のよ
うに3つに分かれる。
これは、第12図のフローのステップ(FO5)に相当
している。
している。
■ vビット111=0.Cビット112=Oの時。
これは、第12図で、ro、OJと表示したところであ
り、前述した如く、TLB 110の該当ベーン(エン
トリ)は無効であり、主メモリ10上の変換テーブル1
30を読み出す。(FIO)この時、すなわち、TLB
ミス時の詳°細な動作は後述する。
り、前述した如く、TLB 110の該当ベーン(エン
トリ)は無効であり、主メモリ10上の変換テーブル1
30を読み出す。(FIO)この時、すなわち、TLB
ミス時の詳°細な動作は後述する。
■ vピットtxt=t、Cビット112=1の時。
第12図で「l、1」の時であるが、この時、仮想アド
レスの一部分120−1とTLBIIOの仮想アドレス
の一部分VPA113をコンバレー月24で比較した結
−1一致し、TLBヒツト信号141が出力されていれ
ば(F205)、該当ページは現在ベージング中である
ことを示しているので、そのメモリアクセスを禁止し、
アドレス変換コントローラ125よりミッシングベージ
フォールト信号142を出力する。(F’45)TLB
ビット信号141が出力されていない時は、TLBミス
であるので■と同様に、主メモリ10上の変換テーブル
130を読み出す。(FIO)■ Vビット111=1
.Cビット112=0の時。
レスの一部分120−1とTLBIIOの仮想アドレス
の一部分VPA113をコンバレー月24で比較した結
−1一致し、TLBヒツト信号141が出力されていれ
ば(F205)、該当ページは現在ベージング中である
ことを示しているので、そのメモリアクセスを禁止し、
アドレス変換コントローラ125よりミッシングベージ
フォールト信号142を出力する。(F’45)TLB
ビット信号141が出力されていない時は、TLBミス
であるので■と同様に、主メモリ10上の変換テーブル
130を読み出す。(FIO)■ Vビット111=1
.Cビット112=0の時。
第12図で、[、OJQ時であるが、まず、TLBビッ
ト信号141がチェックされ、(F2O)出力されてい
ない時は、プロテクションチェック回路76からのフ”
ロテクトエラー信号143をチェックし、エラーが発生
していなければ、仮想アドレスレジスタ120のページ
内アドレス部123とTLB 110上の物理アドレス
の一部114を連結して物理アドレスをセレクタ128
を介しア ・クセスレジスタフ2上に作成し、その物
理アドレスをメモリアドレスバス152に送り、主メモ
リIOをアクセスするためメモリコントローラ77より
メモリ起動信号151を出力する。(F2O)次に(2
)のFCP22によるページング時のメモリアクセスに
ついて説明する。
ト信号141がチェックされ、(F2O)出力されてい
ない時は、プロテクションチェック回路76からのフ”
ロテクトエラー信号143をチェックし、エラーが発生
していなければ、仮想アドレスレジスタ120のページ
内アドレス部123とTLB 110上の物理アドレス
の一部114を連結して物理アドレスをセレクタ128
を介しア ・クセスレジスタフ2上に作成し、その物
理アドレスをメモリアドレスバス152に送り、主メモ
リIOをアクセスするためメモリコントローラ77より
メモリ起動信号151を出力する。(F2O)次に(2
)のFCP22によるページング時のメモリアクセスに
ついて説明する。
FCP22より出力された仮想アドレスは、共通バス5
0を経由してMCU12内の仮想アドレスレジスタ12
0に七ッ卜される。
0を経由してMCU12内の仮想アドレスレジスタ12
0に七ッ卜される。
この場合も、まずTLB 110をアクセスし。
アクセスしたTLBIIOのエントリのvビット111
及びCビット112のノくターンにより、先程と同様に
その後の処理が3つに分かれる。
及びCビット112のノくターンにより、先程と同様に
その後の処理が3つに分かれる。
■ Vピット111=O,Cビット112二〇の時
主メモリ10の変換テーブル130の読み出しを行う。
(FIO)
■ Vビット111=1.Cビット112=1(7)時
この時、TLBビット信号141がチェックさレル。(
F2O)TLBビットを示していれば、アクセスレジス
タ72上で作成された物理アドレスで主メモリ10をア
クセスする。(F2O)TLBピット信号が出ていない
場合は、主メモリ10の変換テーブル130を読み出す
。(FIO)■ Vビア )=1. Cヒy ) 11
2=06D時TLBビット信号141がチェックされる
。
F2O)TLBビットを示していれば、アクセスレジス
タ72上で作成された物理アドレスで主メモリ10をア
クセスする。(F2O)TLBピット信号が出ていない
場合は、主メモリ10の変換テーブル130を読み出す
。(FIO)■ Vビア )=1. Cヒy ) 11
2=06D時TLBビット信号141がチェックされる
。
(F215)
TLBビット信号141が出ている時は、禁止区域をア
クセスしていることになるので、FCP22にエン−を
知らせる。(F、220)次に、TI、Bミスの場合の
、主メモリ10上の変換テーブル130を読み出す時の
処理を説明する。
クセスしていることになるので、FCP22にエン−を
知らせる。(F、220)次に、TI、Bミスの場合の
、主メモリ10上の変換テーブル130を読み出す時の
処理を説明する。
変換テーブル130は、テーブルに必要なメモリ容量を
減らすため、アドレス変換に必要な情報を有するページ
テーブル132と、そのページテーブル132の先頭ア
ドレスを保持するセグメントテーブル131から成る。
減らすため、アドレス変換に必要な情報を有するページ
テーブル132と、そのページテーブル132の先頭ア
ドレスを保持するセグメントテーブル131から成る。
TLBミス時には、まずセグメントテーブルの先頭アド
レスを保持す 。
レスを保持す 。
るレジスタ126 (5TOR)の内容と、仮想アドレ
スレジスタ120のセグメントアドレス(SA)121
をアダー127で加算して物理アドレスを作り、それで
セグメントテーブル131の該当する位置の内容をリー
ドデータバス155上に読み出して来る。このデータに
は、ページテーブル[132の先頭アドレスが保持され
ており、この値と、仮想アドレスレジスタ120のペー
ジアドレス(PA)122をアダー127で加算してア
ドレス変換シ、ページテーブル132から変換に必要な
情、報を読み出す。(FIO) このページテーブル132には、Mピットの他、TLB
llo内の、■ビット111と仮想アドレスの一部11
3 (VPA)を除く情報を含んでおり、このMピット
とCビットがリードデータバス、155の一部155−
1を介してアドレス変換コントローラ125に入力され
、これらのビットパターンにより次の様な処理を取る。
スレジスタ120のセグメントアドレス(SA)121
をアダー127で加算して物理アドレスを作り、それで
セグメントテーブル131の該当する位置の内容をリー
ドデータバス155上に読み出して来る。このデータに
は、ページテーブル[132の先頭アドレスが保持され
ており、この値と、仮想アドレスレジスタ120のペー
ジアドレス(PA)122をアダー127で加算してア
ドレス変換シ、ページテーブル132から変換に必要な
情、報を読み出す。(FIO) このページテーブル132には、Mピットの他、TLB
llo内の、■ビット111と仮想アドレスの一部11
3 (VPA)を除く情報を含んでおり、このMピット
とCビットがリードデータバス、155の一部155−
1を介してアドレス変換コントローラ125に入力され
、これらのビットパターンにより次の様な処理を取る。
■ Mビット−O,Cビット=0の時
該当ページは主メモリ10−ヒに無く、外部メモリ20
上にあることを示しており、このページのアクセス要求
に対してはミッシングページフォールト信号142を出
して、該当プロセッサにページフォールトを知らせる。
上にあることを示しており、このページのアクセス要求
に対してはミッシングページフォールト信号142を出
して、該当プロセッサにページフォールトを知らせる。
(F45)
■ Mビット=0.Cピット=1の時
該当ビットは現在ベージング中であることを示している
ので、FCP22以外のメモリアクセスに対してはその
メモリアクセスを禁止し、ミッシングページフォールト
信号142を出す。(F45)FCP22からのメモリ
アクセスの場合は、TLBlloに登・録してアクセス
を行う。(F20)QCMピット;1.Cビット二〇〇
時 読み出されたリードデータの一部155−2と仮想アド
レスの一部120−1、及びVピット「1」がTLBI
10に登録され、(F20)V。
ので、FCP22以外のメモリアクセスに対してはその
メモリアクセスを禁止し、ミッシングページフォールト
信号142を出す。(F45)FCP22からのメモリ
アクセスの場合は、TLBlloに登・録してアクセス
を行う。(F20)QCMピット;1.Cビット二〇〇
時 読み出されたリードデータの一部155−2と仮想アド
レスの一部120−1、及びVピット「1」がTLBI
10に登録され、(F20)V。
Cビットのチェックルーチンに戻る。
以上述べたように、アドレス変換装置75は、各プロセ
ッサからの仮想アドレスによるメモリ:アクセスに対し
、仮想アドレスから物理アドレスへのアドレス変換を集
中して実施することが可能でアドレス変換の制御が単純
となる。
ッサからの仮想アドレスによるメモリ:アクセスに対し
、仮想アドレスから物理アドレスへのアドレス変換を集
中して実施することが可能でアドレス変換の制御が単純
となる。
t7’c、FCP22から−のアクセスと、他のプロセ
ッサからのアクセスとの制御方式を変更することにより
、ぺ゛−ジング中のページに対する他のプロセッサから
のアクセスを禁止することが可能でデータの保全が可能
となる。
ッサからのアクセスとの制御方式を変更することにより
、ぺ゛−ジング中のページに対する他のプロセッサから
のアクセスを禁止することが可能でデータの保全が可能
となる。
次に、ミッシングページフォールト時の動作について説
明する。
明する。
ページフォールト信号を要求元プロセッサが受取った時
には、その時に実行していたタスクを中断し、要求した
アドレスを含むページを主メ゛モリ10にロードするた
めに、FCP22に起動をかける。FCP22はこの起
動を受けて、該当ページを読み出し、これが完了すると
終了割込みを発生する。この時には必要なページは主°
メモリ10上にロールインされているために、前記中断
されたタスクを再開する。このタスクが中断されている
間、当該プロセッサは他のタスクを実行する。
には、その時に実行していたタスクを中断し、要求した
アドレスを含むページを主メ゛モリ10にロードするた
めに、FCP22に起動をかける。FCP22はこの起
動を受けて、該当ページを読み出し、これが完了すると
終了割込みを発生する。この時には必要なページは主°
メモリ10上にロールインされているために、前記中断
されたタスクを再開する。このタスクが中断されている
間、当該プロセッサは他のタスクを実行する。
次に命令キャッシュ41とデータキャッシュ42につい
て説明する。第13図は命令キャッシュ41の構成例を
示した図である。主メモリ10からコヒーシて来たデー
タがキャッシュデータ部81−I上にあり、そのデータ
のアドレスがディレクトリイ82−Iと無効化ディレク
トリイ83−Iにあり、またこれらが有効か否かを示す
情報が有効ビットレジスタ84−■にある。ディ°レク
トリイ82−Iと無効化ディレクトリイ83−1の内容
は同じであシ、性能を高めるため分けである。前者は■
ユニット43がアクセスしたデータがキャッシュデータ
部81−Iにあるが否かのチェックニ使用し、後者は他
のプロゼッサカ主メモ1月0.!に書込んだデー!がキ
ャーヅーシュデータ部81−Iに取込まれている場合に
、既にそのデータは古くなっているので無効化しなけれ
ばならない(これを無効化処理と呼ぶ)4が、そのため
のチェックに使用する。
て説明する。第13図は命令キャッシュ41の構成例を
示した図である。主メモリ10からコヒーシて来たデー
タがキャッシュデータ部81−I上にあり、そのデータ
のアドレスがディレクトリイ82−Iと無効化ディレク
トリイ83−Iにあり、またこれらが有効か否かを示す
情報が有効ビットレジスタ84−■にある。ディ°レク
トリイ82−Iと無効化ディレクトリイ83−1の内容
は同じであシ、性能を高めるため分けである。前者は■
ユニット43がアクセスしたデータがキャッシュデータ
部81−Iにあるが否かのチェックニ使用し、後者は他
のプロゼッサカ主メモ1月0.!に書込んだデー!がキ
ャーヅーシュデータ部81−Iに取込まれている場合に
、既にそのデータは古くなっているので無効化しなけれ
ばならない(これを無効化処理と呼ぶ)4が、そのため
のチェックに使用する。
次に、この命令キャッシュ41の動作について説明する
。なお、命令キャッシュ41はチー タキャッシュ42
とは異ガ、す、ライトアクセスは処理゛しない。
。なお、命令キャッシュ41はチー タキャッシュ42
とは異ガ、す、ライトアクセスは処理゛しない。
第14図はリードアクセス9キヤツシユミス時のフロー
、第15図は無効化処理のフローを示している。
、第15図は無効化処理のフローを示している。
(1) υ〜ドアクセス(第14図門照)■ ■ユニ
ット43から起動信号91−■が来たら、仮想アドレス
92−Iの一部、ここではピッ)(18−27)でディ
レクトリイ82−■と有効ビットレジスタ84−Iの内
容を読み出し、ディレクトリイ82−Iの内容と仮想ア
ドレス92−■のビット(0−17)をコンノぐレータ
160−■で一致チェックを行い、またその内容をノ;
リテイチェッカー161−Iでチェックする。そしてコ
ンパレータ160−Iが一致を示し、ノ;リテイエラー
が発生してなく、かつ有効ビットレジスタ84−Iが有
効でるることを示して偽るならば。
ット43から起動信号91−■が来たら、仮想アドレス
92−Iの一部、ここではピッ)(18−27)でディ
レクトリイ82−■と有効ビットレジスタ84−Iの内
容を読み出し、ディレクトリイ82−Iの内容と仮想ア
ドレス92−■のビット(0−17)をコンノぐレータ
160−■で一致チェックを行い、またその内容をノ;
リテイチェッカー161−Iでチェックする。そしてコ
ンパレータ160−Iが一致を示し、ノ;リテイエラー
が発生してなく、かつ有効ビットレジスタ84−Iが有
効でるることを示して偽るならば。
ゲート169−Iを介してキャッシュビット信号170
− I カ命令キャッシュコントローラ162−Iに出
され、命令キャッシュコントローラ162−Iは、仮想
アドレスのビット(18−29)でアクセスされたキャ
ッシュデータ部81−■の内容を、リードデータノ;ス
94−Iに乗せると共に、■ユニット43に対して終了
信号93−■を返す。
− I カ命令キャッシュコントローラ162−Iに出
され、命令キャッシュコントローラ162−Iは、仮想
アドレスのビット(18−29)でアクセスされたキャ
ッシュデータ部81−■の内容を、リードデータノ;ス
94−Iに乗せると共に、■ユニット43に対して終了
信号93−■を返す。
■ キャッシュミスの場合は、命令キャッジz−1ント
ローラ162−Iは、起動、(ス占有要求51を出す。
ローラ162−Iは、起動、(ス占有要求51を出す。
■ 占有要求51が許可されたら、ゲート85−■を開
き、起動バス55に仮想アドレス(VA)、アクセスの
種類(FUNC)、アクセスキー(AKEY)を転送す
る。なお、このアクセスキー(AKEY)には命令読み
出しであることを付加する。
き、起動バス55に仮想アドレス(VA)、アクセスの
種類(FUNC)、アクセスキー(AKEY)を転送す
る。なお、このアクセスキー(AKEY)には命令読み
出しであることを付加する。
■ セーット・信号172−Iにより、仮想アドレスの
ビット(0〜17)をディレクトリイ82−I。
ビット(0〜17)をディレクトリイ82−I。
無効化ディレクトリイ83−Iへ書き込み、有効ピット
レジスタ84−1セットする。本処理をこの時点で行う
理由は後で述べる。
レジスタ84−1セットする。本処理をこの時点で行う
理由は後で述べる。
■ MCU12からデータバス56を介して、リードデ
ータ(RD)が、また応答バス57を介して終了信号と
リターンコード(アクセス中に発生したエラー及びペー
ジフォールトの情報) (RC)が送られてきたらレジ
スタ86−Iにラッチする。
ータ(RD)が、また応答バス57を介して終了信号と
リターンコード(アクセス中に発生したエラー及びペー
ジフォールトの情報) (RC)が送られてきたらレジ
スタ86−Iにラッチする。
MCU12の説明でも述べたように、最初に送られて来
たデータは、■ユニット43がアクセスしたデータであ
るので、リターンコード(R,C)が次の(1)〜(3
)の状態を示している時(第14図(B)に示す条件(
イ)成立時)は、Iユ;ット43に終了信号93−Iと
リードデータ94−■とリターンコード95−Iを返す
。
たデータは、■ユニット43がアクセスしたデータであ
るので、リターンコード(R,C)が次の(1)〜(3
)の状態を示している時(第14図(B)に示す条件(
イ)成立時)は、Iユ;ット43に終了信号93−Iと
リードデータ94−■とリターンコード95−Iを返す
。
(1) NOError (−r−ラーが発生して
ない時)(21Page Fau日(ヘー シフ 、t
−ル) カ発生1.fc時) (3) 80ft Error (ソフトによるエラ
ー、例えばプロテクションエラーが発生した時) また、Hard Error (ハードが原因のエラー
)の場合は、再度主メモリ10をアクセスすることによ
って、救える場合が多いので、リトライを行う。この為
、上記の信号を返さないが、IJ )ライ回数が規足回
数を越えた場合、すなわち、リトライオーバーの場合に
は、エラー報告を行うために、上記の信号を返す。そし
て、主メモリ10から読み出して来たリードデータをキ
ャッシュデータ部81−Hに書き込む。
ない時)(21Page Fau日(ヘー シフ 、t
−ル) カ発生1.fc時) (3) 80ft Error (ソフトによるエラ
ー、例えばプロテクションエラーが発生した時) また、Hard Error (ハードが原因のエラー
)の場合は、再度主メモリ10をアクセスすることによ
って、救える場合が多いので、リトライを行う。この為
、上記の信号を返さないが、IJ )ライ回数が規足回
数を越えた場合、すなわち、リトライオーバーの場合に
は、エラー報告を行うために、上記の信号を返す。そし
て、主メモリ10から読み出して来たリードデータをキ
ャッシュデータ部81−Hに書き込む。
■、■、■ MCU12から送られてくる残りのリード
データをキャッシュデータ部81−■に書込む。■のス
テージで既にIユニット43に対しては終了信号93−
■を戻しであるので、この間。
データをキャッシュデータ部81−■に書込む。■のス
テージで既にIユニット43に対しては終了信号93−
■を戻しであるので、この間。
■ユニット43は別な動作が可能である。■の段階では
これに加えて、■〜■のステージでエラーやページフォ
ールトが発生したかをチェックし・発生してない場合に
は命令キャッシュ41の動作を止める。
これに加えて、■〜■のステージでエラーやページフォ
ールトが発生したかをチェックし・発生してない場合に
は命令キャッシュ41の動作を止める。
■ エラーやページフォールトが発生している場合には
、■のステージでセットした有効ビットレジスタ84−
Iに対し、命令キャッシュコントローラ162−Iより
有効ビットクリア信号171−Iを出して、クリアしキ
ャッシュデータ部81−■の該当データをぜ用出来ない
様にする。また、■のステージでHard Error
を起こし且つリトライオーバしてない場合には(第14
図(B)に示す条件(7)成立)、リトライを行うため
■のステージに飛ぶ。
、■のステージでセットした有効ビットレジスタ84−
Iに対し、命令キャッシュコントローラ162−Iより
有効ビットクリア信号171−Iを出して、クリアしキ
ャッシュデータ部81−■の該当データをぜ用出来ない
様にする。また、■のステージでHard Error
を起こし且つリトライオーバしてない場合には(第14
図(B)に示す条件(7)成立)、リトライを行うため
■のステージに飛ぶ。
以上がリードアクセスの処理手順であるが、・先程述べ
た様にキャッシュ(命令、データキャッシュ共)では、
いわゆる無効化処理が必要となる。
た様にキャッシュ(命令、データキャッシュ共)では、
いわゆる無効化処理が必要となる。
以下、その手順を説明する。
(2)無効化処理(第15図参照)
■ 起動ハス55転送中の仮想アドレス(VA)とアク
セスの種類(FUNC)を毎回レジスタ87に取込む。
セスの種類(FUNC)を毎回レジスタ87に取込む。
■ 上記仮想アドレスのピッ)(18−271で無効化
ディレクトリイ83−■の内容を読み出し、無効化する
必要があるか否かを無効化判定回路165−Iでチェッ
クすると共に、そのアドレスのビット(18−27)を
レジスタ88−■にセットする。
ディレクトリイ83−■の内容を読み出し、無効化する
必要があるか否かを無効化判定回路165−Iでチェッ
クすると共に、そのアドレスのビット(18−27)を
レジスタ88−■にセットする。
■ そして無効化が必要な場合は、し゛ラスタ88−■
のアドレスで該当の有効ピッ)84−Iをクリアする。
のアドレスで該当の有効ピッ)84−Iをクリアする。
このため無効化判定回路165−1から有効ピットクリ
ア言号171−Iを出す。
ア言号171−Iを出す。
次に、無効化が必要な場合を詳細に説明する。
まず、無効化は、起動バス55から取込んだアクセスの
種類(FUNC)がライトアクセスを示し、それが他か
らのものである時行う。そして、次に示す条件のいずれ
かを満たした時に無効化を行う。
種類(FUNC)がライトアクセスを示し、それが他か
らのものである時行う。そして、次に示す条件のいずれ
かを満たした時に無効化を行う。
(a) レジスタ87−Hのアドレスのビット(18
−27)で無効化ディレクトリイ83−Iを読み出し、
その内容とアドレスのビット(〇−17)をコンパレー
タ163−Iで比較し、一致した時。
−27)で無効化ディレクトリイ83−Iを読み出し、
その内容とアドレスのビット(〇−17)をコンパレー
タ163−Iで比較し、一致した時。
(b) 無効化ディレクトリイ83−Iを読み出した
際に、パリティチェッカ164−Iでパリティエラーが
検出された時。
際に、パリティチェッカ164−Iでパリティエラーが
検出された時。
(C) 無効化ディレクトリイ83−■をJOBPd
内で使用している時。(■にチェックが出来ないため) 以上無効化処理について述べたが、次に(1)のリード
アクセスの■ステージでディレクトリイ82−I、無効
化ディレクトソイ83−■ヘアドレスを書込み、有効ビ
ットレジスタ84−Iをセットしなければならない理由
を明らかにする。
内で使用している時。(■にチェックが出来ないため) 以上無効化処理について述べたが、次に(1)のリード
アクセスの■ステージでディレクトリイ82−I、無効
化ディレクトソイ83−■ヘアドレスを書込み、有効ビ
ットレジスタ84−Iをセットしなければならない理由
を明らかにする。
第16図はリードアクセスがキャッシュミスになり、主
メモリ10をリードに行く場合と、主メモリ10に対し
て他からライトアクセスが行われた場合のキャッシュの
無効化処理が競合した時に、各部分がどの様に使用され
るかをタイムチャートで示している。無効化処理につい
ては斜線で示してあり、それぞれタイムスロツ)1と3
で起動バス55、データバス56を転送中のライトアク
セスに対して、タイムスロット2と4で無効化ディレク
トリイ83−■のチェックを行い、タイムスロット3と
5の前半で有効ビットレジスタ84−Iをクリアし無効
化している。一方、キャッシュミスとなったリードアク
セスは、タイムスロット2で起動バス55にアドレスを
転送しているので、主メモリ10へのアクセスの順番と
しては、タイムスロット1で起動バス55を転送ギのラ
イトアクセスより後で、タイムスロット3で起動バス5
5を転送中のライトアクセスより前となる。従ってキャ
ッシュと主メモリ10のデータの一致を保つためには、
ライトアクセスが無効化ディレクトリイ83−■をチェ
ックするタイムスロット2と4の間で、キャッシュミス
を起こしたリードアクセスのアドレスを無効化ディレク
トリイ83−■に書込まなければならないし、またチェ
ックの結果、有効ビットレジスタ84−Iを無効化する
rタイムスロット3と5の間で、有効ビットレジスタ8
4−Iをセットする必要がある。これらの制御が必要な
理由は、主メモリ10で複数のメモリアクセスを同時に
処理しているからである。
メモリ10をリードに行く場合と、主メモリ10に対し
て他からライトアクセスが行われた場合のキャッシュの
無効化処理が競合した時に、各部分がどの様に使用され
るかをタイムチャートで示している。無効化処理につい
ては斜線で示してあり、それぞれタイムスロツ)1と3
で起動バス55、データバス56を転送中のライトアク
セスに対して、タイムスロット2と4で無効化ディレク
トリイ83−■のチェックを行い、タイムスロット3と
5の前半で有効ビットレジスタ84−Iをクリアし無効
化している。一方、キャッシュミスとなったリードアク
セスは、タイムスロット2で起動バス55にアドレスを
転送しているので、主メモリ10へのアクセスの順番と
しては、タイムスロット1で起動バス55を転送ギのラ
イトアクセスより後で、タイムスロット3で起動バス5
5を転送中のライトアクセスより前となる。従ってキャ
ッシュと主メモリ10のデータの一致を保つためには、
ライトアクセスが無効化ディレクトリイ83−■をチェ
ックするタイムスロット2と4の間で、キャッシュミス
を起こしたリードアクセスのアドレスを無効化ディレク
トリイ83−■に書込まなければならないし、またチェ
ックの結果、有効ビットレジスタ84−Iを無効化する
rタイムスロット3と5の間で、有効ビットレジスタ8
4−Iをセットする必要がある。これらの制御が必要な
理由は、主メモリ10で複数のメモリアクセスを同時に
処理しているからである。
なお本構成例では、アドレス情報を2ケ所、すなわちデ
ィレクトリイ82−■と無効化ディレ2トリイ88−I
に持っているため、無効化ディレクトリイ83−Iの方
しか上記の制約を受けないが、ディレクトリイを1ケ所
に持つ場合は、当然上記の制約を受ける。
ィレクトリイ82−■と無効化ディレ2トリイ88−I
に持っているため、無効化ディレクトリイ83−Iの方
しか上記の制約を受けないが、ディレクトリイを1ケ所
に持つ場合は、当然上記の制約を受ける。
次にデータキャッシュ42について説明する。
第17図はデータキャッシュ42の構成例を示した図で
あり、無効化処理の回路180−Dは命令キャッシュ4
1と同じであるため省略しである。
あり、無効化処理の回路180−Dは命令キャッシュ4
1と同じであるため省略しである。
尚、第13図と第17図でサフィックスが違うだけのも
のは相当物である。第13図の命令キャッシュではサフ
ィックスに■、第17図のデータキャッシュではサフィ
ックスにDを使用している。
のは相当物である。第13図の命令キャッシュではサフ
ィックスに■、第17図のデータキャッシュではサフィ
ックスにDを使用している。
命令キャッシュ41との大きな違いは、ライトアクセス
をサポートしなければならない点であり、このライトア
クセス時間を短縮するために共通ノくス送出用バッファ
89−Dを設け、ライト時には仮想アドレス92−D、
ライトデータ95−D。
をサポートしなければならない点であり、このライトア
クセス時間を短縮するために共通ノくス送出用バッファ
89−Dを設け、ライト時には仮想アドレス92−D、
ライトデータ95−D。
制御hl[96−Dをこのバッファ89−Dにセットし
ただけで、終了信号93−DをEユニット44に返し、
Eユニット44が次の処理を出来る様に制御している。
ただけで、終了信号93−DをEユニット44に返し、
Eユニット44が次の処理を出来る様に制御している。
次に、このデータキャッシュ42の動作について説明す
る。但し、リードアクセスの処理は命令キャッシュ41
と同じであるので省略する。
る。但し、リードアクセスの処理は命令キャッシュ41
と同じであるので省略する。
(3) ライトアクセス(第18図参照)■ Eユニ
ット44から起動信号91−Dが来たら、仮想アドレス
92−D、ライトデータ95−D1制御情報96−D(
アクセスの種類、アクセスキー等)を共通バス送出用バ
ッファ89−Dにセットし、Eユニット44に対して終
了信号93−Dを返す。この際、ディレクトリイ82−
Dと有効ピットレジスタ84−Dをチェックしキャッシ
ュピット(信号170−Dが出てる)ならば、キャッシ
ュデータ部81の仮想アドレスのビット(18−27)
で示される位置にデータを書込む。
ット44から起動信号91−Dが来たら、仮想アドレス
92−D、ライトデータ95−D1制御情報96−D(
アクセスの種類、アクセスキー等)を共通バス送出用バ
ッファ89−Dにセットし、Eユニット44に対して終
了信号93−Dを返す。この際、ディレクトリイ82−
Dと有効ピットレジスタ84−Dをチェックしキャッシ
ュピット(信号170−Dが出てる)ならば、キャッシ
ュデータ部81の仮想アドレスのビット(18−27)
で示される位置にデータを書込む。
■ データキャッシュコントローラ162−Dより起動
バス占有要求51、データバス占有要求52を出す。
バス占有要求51、データバス占有要求52を出す。
■ 両方の占有要求が許可されたら、ゲート85−Dを
開き起動バス55に仮想アドレス(VA)、アクセスの
種類(FUNC)、アクセスキー−8(AKEY)を転
送し、データバス56にはライトデータを転送する。
開き起動バス55に仮想アドレス(VA)、アクセスの
種類(FUNC)、アクセスキー−8(AKEY)を転
送し、データバス56にはライトデータを転送する。
■ MCU12から応答バス57を通して終了信号とリ
ターンコードが送られヤきたらレジスタ86−Dにラッ
チする。そしてリターンコードをチェックし、エラーや
ページフォールトを起こしてない時には共通バス送出用
バッファ89−Dからそのアクセスを取り除き、処理を
終了する。一方、第14図(B)に示した(7)の条件
、すなわちHBrd Error が発生しかつリト
ライオーバしてない時には、リトライを行うため■のス
テージに飛ぶ。
ターンコードが送られヤきたらレジスタ86−Dにラッ
チする。そしてリターンコードをチェックし、エラーや
ページフォールトを起こしてない時には共通バス送出用
バッファ89−Dからそのアクセスを取り除き、処理を
終了する。一方、第14図(B)に示した(7)の条件
、すなわちHBrd Error が発生しかつリト
ライオーバしてない時には、リトライを行うため■のス
テージに飛ぶ。
■ 上記以外の場合には、共通バス送出用バッファ89
−Dのアドレスで有効ピットレジスタ84−Dをクリア
させると共に、Eユニット44に対してエラーページフ
ォールトの発生を報告する。
−Dのアドレスで有効ピットレジスタ84−Dをクリア
させると共に、Eユニット44に対してエラーページフ
ォールトの発生を報告する。
有効ピットレジスタ84−Dをクリアする理由は、列え
ばプロテクションエラーの場合は、簀込んではならない
キャッシュデータ部81−Dのデータに対して、既に■
のステージで書込みを行っているためである。
ばプロテクションエラーの場合は、簀込んではならない
キャッシュデータ部81−Dのデータに対して、既に■
のステージで書込みを行っているためである。
尚データキャッシュ42から主メモリ10にライト起動
したアドレスも起動バス55からデータキャッシュのレ
ジスタ87−D(無効化処理の回路180−Dに含まれ
ている)にセットされるが、それに対しては、自分自身
が出したものであるかラテータキャツンユコントローラ
162−Dl無効化処理の回路180−Dに対して信号
173−Dを送り無効化を行なわない様に制御する。命
令キャッシュ41はライトアクセスは行なわないので、
この信号173−Dに相当するものはない。
したアドレスも起動バス55からデータキャッシュのレ
ジスタ87−D(無効化処理の回路180−Dに含まれ
ている)にセットされるが、それに対しては、自分自身
が出したものであるかラテータキャツンユコントローラ
162−Dl無効化処理の回路180−Dに対して信号
173−Dを送り無効化を行なわない様に制御する。命
令キャッシュ41はライトアクセスは行なわないので、
この信号173−Dに相当するものはない。
以上詳細に説明したように、本発明によれば、アドレス
変換装置を共有する仮想記憶方式のデータ処理装置であ
ってジョブプロセッサがキャッシュメモリを有するもの
で、リード時にキャッシュミスが発生し、主メモリにア
クセスに行った時にページフォールトが発生した場合の
キャッシュメモリの制御、さらにライト時にページフォ
ールトが発生した場合の制御を矛盾なく行うことができ
る。
変換装置を共有する仮想記憶方式のデータ処理装置であ
ってジョブプロセッサがキャッシュメモリを有するもの
で、リード時にキャッシュミスが発生し、主メモリにア
クセスに行った時にページフォールトが発生した場合の
キャッシュメモリの制御、さらにライト時にページフォ
ールトが発生した場合の制御を矛盾なく行うことができ
る。
第1図は本発明が適用されるデータ処理装置の全体rs
成を示した図、第2図は第1図の共通バスの構成例を示
した図、第3図はアクセスごとに共通バスのどの部分を
使用するかを示した図、第4図は共通バスの使用例を示
す図、第5図は共通バスの占有制御の様子を示した図、
第6図はインタロック信号が出ている時の共通バスの占
有制御の様子を示した図、第7図は占有制御回路の構成
例を示した図、第8図(Al〜CC)はMCUでの処理
フローの列及びMCUで複数のアクセスをオーバラップ
させて処理していることを示した図、第9図はM C−
Uの構成例を示した図、第10図(A)、 (B)はメ
モリボードの構成例及び16 Byteリード時のデー
タ返送の順番を示した図、第11図はTLBによるアド
レス変換装置を示した図、第12図はアドレス変換のフ
ローを示した図、第13図は命令キャッシュの構成例を
示した図、第14図はキャッシュへのリードアクセス時
の処理フローの説明図、第15図はキャッシュ無効化の
処理フローの説明図、第16図はキャッシュ各部分の使
用タイミングの例を示した図、第17図はデータキャッ
シュの構成例を示した図、第18図はライトアクセスの
処理フローの説明図である。 10・・・主記憶装置、12・・・メモリアクセスコン
トローラ、41・・・命令キャッシュ、42・・・デー
タキャッ’/ユ、43・・・■ユニツ)、44・・・E
ユニット。 50・・・共通バス、75・・・アドレス変換装置、8
1・・・キャッシュデータ部、82・・・ディレクトリ
イ、162・・・キャッシュコントローラ。 代理人 弁理士 高橋明 も 1 z 招 ? 凹 治 3 z ○ 1寥4灸用 第 5 図 タイ4ス0ゾト タルハスロフト も ] 区 島 3 口 (A) リー¥力r!ス1−リ° ライト%理ス
テージ(C) (04FSyteリード[コ2Σ]=7!「■=ζ5=
丁mΣ](0)4kttyイト +Σ丁[高 9
z 晃 1・O巳 (A) も 10 口 (b) ¥111 い 第 12 の も 13 (3 η 14 [D (A) リートイクtス(キマソシ、t1) 蔓 Is i ’4. IG (211 タイム70・/1 712,7.7.(36) ’E2ZE2Zl
区=区高 11 口 h 12 ? 11頁の続き 0発 明 者 加藤猛 日立重大みか町5丁目2番1号 株式会社日立製作所大みか工場 内 ■出願 人 日立エンジニアリング株式会社日立市幸
町3丁目2番1号
成を示した図、第2図は第1図の共通バスの構成例を示
した図、第3図はアクセスごとに共通バスのどの部分を
使用するかを示した図、第4図は共通バスの使用例を示
す図、第5図は共通バスの占有制御の様子を示した図、
第6図はインタロック信号が出ている時の共通バスの占
有制御の様子を示した図、第7図は占有制御回路の構成
例を示した図、第8図(Al〜CC)はMCUでの処理
フローの列及びMCUで複数のアクセスをオーバラップ
させて処理していることを示した図、第9図はM C−
Uの構成例を示した図、第10図(A)、 (B)はメ
モリボードの構成例及び16 Byteリード時のデー
タ返送の順番を示した図、第11図はTLBによるアド
レス変換装置を示した図、第12図はアドレス変換のフ
ローを示した図、第13図は命令キャッシュの構成例を
示した図、第14図はキャッシュへのリードアクセス時
の処理フローの説明図、第15図はキャッシュ無効化の
処理フローの説明図、第16図はキャッシュ各部分の使
用タイミングの例を示した図、第17図はデータキャッ
シュの構成例を示した図、第18図はライトアクセスの
処理フローの説明図である。 10・・・主記憶装置、12・・・メモリアクセスコン
トローラ、41・・・命令キャッシュ、42・・・デー
タキャッ’/ユ、43・・・■ユニツ)、44・・・E
ユニット。 50・・・共通バス、75・・・アドレス変換装置、8
1・・・キャッシュデータ部、82・・・ディレクトリ
イ、162・・・キャッシュコントローラ。 代理人 弁理士 高橋明 も 1 z 招 ? 凹 治 3 z ○ 1寥4灸用 第 5 図 タイ4ス0ゾト タルハスロフト も ] 区 島 3 口 (A) リー¥力r!ス1−リ° ライト%理ス
テージ(C) (04FSyteリード[コ2Σ]=7!「■=ζ5=
丁mΣ](0)4kttyイト +Σ丁[高 9
z 晃 1・O巳 (A) も 10 口 (b) ¥111 い 第 12 の も 13 (3 η 14 [D (A) リートイクtス(キマソシ、t1) 蔓 Is i ’4. IG (211 タイム70・/1 712,7.7.(36) ’E2ZE2Zl
区=区高 11 口 h 12 ? 11頁の続き 0発 明 者 加藤猛 日立重大みか町5丁目2番1号 株式会社日立製作所大みか工場 内 ■出願 人 日立エンジニアリング株式会社日立市幸
町3丁目2番1号
Claims (1)
- 【特許請求の範囲】 1、複数のプロセッサによって共通して開用されるアド
レス変換装置を、主記憶装置に凄続されたメモリコント
ローラに設けた仮想記憶方式のデータ処理装置であって
、命令を実行するために仮想アドレスでメモリアクセス
を行う少なくとも1つのジョブプロセッサを有し、該ジ
ョブプロセッサに仮想アドレスでアクセスされるキャッ
シュメモリを設け、該キャッシュメモリは、仮想アドレ
スに対応するデータブロックの有効表示部を有し、該有
効表示部の内容を考慮してリードアクセス時には、当該
キャッシュメモリ内に該当するデータブロックがあれば
これを読み出して返送しなければアドレス変換装置に仮
想アドレスを送出し、ライトアクセス時には当該キャッ
シュメモリに該当するデータブロックがあれば、ここに
書込むと同時に主記憶装置への書込みも行い、なければ
主記憶装置へのみ書込むように制御するキャッシュメモ
リコントローラを有するものにおいて、該キャッシュメ
モリコントローラは、主記憶装置へのリードアクセス時
にページフォールトが発生した時には、該仮想アドレス
に対応するデータブロックの有効表示部をクリアし、ラ
イトアクセス時にページフォールトが発生した時には、
該当するデータブロックが当該キャッシュメモリ内にあ
れば、当該データブロックの有効表示部をクリヤするよ
うにしたことを特徴とするデータ処理装置。 2、キャラ・/ユメモリコントローラは、リードアクセ
ス時にキャッシュミスが発生した場合には、主記憶装置
に対してメモリ起動信号を出力すると共に、該当ブロッ
クの有効表示部をセットし、アドレス変換装置からのペ
ージフォールト信号全受信した鴫合、該当の有効表示部
をクリアするようにした特許請求の範囲第1項記載のデ
ータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56162687A JPS5864688A (ja) | 1981-10-14 | 1981-10-14 | デ−タ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56162687A JPS5864688A (ja) | 1981-10-14 | 1981-10-14 | デ−タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5864688A true JPS5864688A (ja) | 1983-04-18 |
JPS6138504B2 JPS6138504B2 (ja) | 1986-08-29 |
Family
ID=15759386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56162687A Granted JPS5864688A (ja) | 1981-10-14 | 1981-10-14 | デ−タ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5864688A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6054057A (ja) * | 1983-09-02 | 1985-03-28 | Hitachi Ltd | キャッシュメモリ制御装置 |
JPS6079446A (ja) * | 1983-10-06 | 1985-05-07 | Hitachi Ltd | 多重仮想記憶デ−タ処理装置 |
JPS62202247A (ja) * | 1985-11-25 | 1987-09-05 | Nec Corp | キヤツシユメモリ内容一致処理方式 |
-
1981
- 1981-10-14 JP JP56162687A patent/JPS5864688A/ja active Granted
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6054057A (ja) * | 1983-09-02 | 1985-03-28 | Hitachi Ltd | キャッシュメモリ制御装置 |
JPH057740B2 (ja) * | 1983-09-02 | 1993-01-29 | Hitachi Seisakusho Kk | |
JPS6079446A (ja) * | 1983-10-06 | 1985-05-07 | Hitachi Ltd | 多重仮想記憶デ−タ処理装置 |
JPH055137B2 (ja) * | 1983-10-06 | 1993-01-21 | Hitachi Seisakusho Kk | |
JPS62202247A (ja) * | 1985-11-25 | 1987-09-05 | Nec Corp | キヤツシユメモリ内容一致処理方式 |
JPH0519176B2 (ja) * | 1985-11-25 | 1993-03-16 | Nippon Electric Co |
Also Published As
Publication number | Publication date |
---|---|
JPS6138504B2 (ja) | 1986-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7360054B2 (en) | Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems | |
US5226150A (en) | Apparatus for suppressing an error report from an address for which an error has already been reported | |
JPH0345407B2 (ja) | ||
JP5039913B2 (ja) | ロッキング・キャッシュを用いる直接的保存 | |
JPH0430053B2 (ja) | ||
JPH0227441A (ja) | コンピュータ・システム | |
JPH0526217B2 (ja) | ||
JPH03212755A (ja) | マルチプロセッサ・システムおよび割り込み方法 | |
JPS61114353A (ja) | 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体 | |
TW200300885A (en) | System and method for handling device accesses to a memory providing increased memory access security | |
JPH05265861A (ja) | 仮想記憶方式のデータ処理装置及び方法 | |
JP2001222468A (ja) | マイクロプロセッサのロード/ストア命令制御回路、およびロード/ストア命令制御方法 | |
JP3814521B2 (ja) | データ処理方法および装置 | |
JPS5864688A (ja) | デ−タ処理装置 | |
JPS5864690A (ja) | キヤツシユメモリ制御方法 | |
JPH0245845A (ja) | データ処理システム | |
JP2004185610A (ja) | メモリ複製オペレーション時の不正確なキャッシュ・ライン保護機構 | |
JPS5858666A (ja) | デ−タ処理装置 | |
JPH0715667B2 (ja) | データ処理装置 | |
JPH056706B2 (ja) | ||
US6401172B1 (en) | Recycle mechanism for a processing agent | |
JP3425355B2 (ja) | 多重書き込み記憶装置 | |
JP2587468B2 (ja) | ロツクデータ設定装置 | |
JPS58125128A (ja) | 計算機システム | |
JPH0795311B2 (ja) | 二重化処理装置 |