JPH0425579B2 - - Google Patents

Info

Publication number
JPH0425579B2
JPH0425579B2 JP56216089A JP21608981A JPH0425579B2 JP H0425579 B2 JPH0425579 B2 JP H0425579B2 JP 56216089 A JP56216089 A JP 56216089A JP 21608981 A JP21608981 A JP 21608981A JP H0425579 B2 JPH0425579 B2 JP H0425579B2
Authority
JP
Japan
Prior art keywords
signal
memory
address
page
data
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
JP56216089A
Other languages
English (en)
Other versions
JPS57135493A (en
Inventor
Bii Baroo Aasaa
Eitsuchi Chiangu Horesu
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.)
Wang Laboratories Inc
Original Assignee
Wang Laboratories Inc
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 Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of JPS57135493A publication Critical patent/JPS57135493A/ja
Publication of JPH0425579B2 publication Critical patent/JPH0425579B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

Description

記憶する物理メモリ20,16 を具備しており、 前記物理メモリ20,16は、 前記バスラインに接続され、それぞれのページ
が複数のデータ信号を含んでいる複数のページを
提供する比較的低速アクセスの2次メモリ20、
及び 前記バスライン15に接続されてデータ信号及
びアドレス信号を受け取りかつ供給する比較的高
速アクセスの主メモリであつて、前記2次メモリ
に含まれる複数のデータ信号と同一の数のデータ
信号を有する事ができるように構成された複数の
ページフレームを具備し、ページフレーム番号信
号及びオフセツト信号からなる物理アドレス信号
によつてアドレス指定されるよう構成されている
主メモリ16 を含んでおり、 前記中央プロセツサ12、制御記憶装置14、
及びバスライン15は、前記2次メモリ20の複
数のデータ信号をページ毎に主メモリのアドレス
指定されたページフレームへ転送複写しかつその
逆方向へ転送複写するよう制御する手段を構成
し、 前記多重タスクデータ処理装置10は、前記物
理メモリ20,16に記憶されたマクロ指令をあ
らわすデータ信号のあるものに応答して動作する
よう構成されており、 前記中央プロセツサ12及び制御記憶装置14
は、特定の読出/書込メモリアクセスのマクロ指
令をあらわす信号に応答して、セグメント番号信
号、ページ番号信号、オフセツト信号を含む仮想
アドレス信号を発生し、かつ該仮想アドレス信号
を前記ラツチ回路38に供給するよう構成されて
おり、 前記中央プロセツサ12及び制御記憶装置14
はさらに、前記メモリアクセスのマクロ指令に応
答して、前記仮想アドレス信号から物理アドレス
メモリ信号への変換を実行するよう構成され、前
記セグメント番号信号、ページ番号信号を前記主
メモリ16に供給してページフレーム番号信号を
含んでいる主メモリの特定部分をアドレス指定
し、かつ該主メモリからのページフレーム番号信
号、前記ラツチ回路38からのオフセツト信号を
前記アドレスレジスタ28へ伝送する事により前
記変換を実行するように構成されており、 前記中央プロセツサ12及び制御記憶装置14
は、さらに読出メモリアドレスのマクロ指令をあ
らわす信号に応答して、前記データレジスタ40
に主メモリのアドレス指定されたページフレーム
からのデータ信号を供給し、かつ書込メモリアク
セスをあらわす信号に応答して、前記データレジ
スタからの信号を主メモリのアドレス指定された
ページフレームに供給するよう構成されており、 前記中央プロセツサ12は、前記ラツチ回路3
8の出力の特定のものに接続されたインデキシン
グ手段を有する索引ランダムアクセスメモリ42
を具備しており、 前記アドレスレジスタ28の入力には2組の入
力を有するマルチプレクサ手段の出力が接続され
ており、前記ランダムアクセスメモリの出力が該
マルチプレクサ手段の第1の組の入力に接続さ
れ、前記ラツチ回路の出力が該マルチプレクサ手
段38の第2の組の入力に接続されており、 前記中央プロセツサ12及び制御記憶装置14
は、メモリアクセスのマクロ指令をあらわす信号
に応答して、仮想アドレス信号のページ番号をあ
らわす前記ラツチ回路38からのページ番号信号
を前記ランダムアクセスメモリのインデキシング
手段42に供給し、前記ページフレーム番号信号
及び2つの状態の1つを有する障害信号を含んで
いるインデツクスされた位置に記憶された信号を
前記ランダムアクセスメモリから出力するよう構
成されており、 前記マルチプレクサ手段52は、前記障害信号
の第1の状態に応答して、前記ランダムアクセス
メモリ42からのインデツクスされたページフレ
ーム番号信号を前記アドレスレジスタ28に主メ
モリ16のアドレス指定のために伝送し、前記障
害信号の第2の状態に応答して、前記ラツチ回路
38から出力される仮想アドレス信号を前記アド
レスレジスタに変換のために伝送するよう構成さ
れており、 前記中央プロセツサ12及び制御記憶装置14
は、さらに前記障害信号の第2の状態に応答し
て、仮想アドレス信号の物理アドレス信号への変
換を実行しかつ該変換されたページフレーム番号
信号を前記第1の状態の前記障害信号と共に前記
ランダムアクセスメモリ42内のインデツクスさ
れた位置に供給するよう構成されており、 前記中央プロセツサはさらに、 前記多重タスクデータ処理装置10の動作状態
を指示するための複数の設定可能な状態ピツトを
有する状態レジスタ42、及び 前記主メモリ16におけるそれぞれのページフ
レームに対して設定可能な参照ビツト及び変更ビ
ツトを提供する索引参照・変更テーブル50を具
備しており、 前記参照・変更テーブル50は、前記ページフ
レーム番号によつて前記テーブルをインデツクス
するように前記ランダムアクセスメモリ42の出
力に接続されており、 前記中央プロセツサ12及び制御記憶装置14
は、メモリアクセスのマクロ指令をあらわすデー
タ信号に応答して、インデツクスされた前記参照
ビツトを設定し、かつ書込メモリアクセスのマク
ロ指令を表すデータ信号に応答してインデツクス
された前記変更ビツトを設定するよう構成されて
おり、 前記参照・変更テーブル50の出力は、前記状
態レジスタ46に接続されて、インデツクスされ
た前記参照ビツト及び変更ビツトの状態に応じ
て、前記状態ビツトの特定のものを設定するよう
構成されている 事を特徴とする多重タスクデータ処理装置。
2 複数のセグメントを有する仮想メモリを支持
している多重タスクデータ処理装置10におい
て、 ラツチ回路38、メモリアドレスレジスタ2
8、メモリデータレジスタ40を有する中央プロ
セツサ12、 前記中央プロセツサ12に接続された制御記憶
装置14、 前記中央プロセツサ12に接続され、前記メモ
リアドレスレジスタ28からのアドレス信号を受
け取るアドレス信号ライン、前記メモリデータレ
ジスタ40からデータ信号を受け取りかつ該メモ
リデータレジスタにデータ信号を供給するデータ
信号ラインを有するバスライン15、及び データ及びマクロ指令をあらわすデータ信号を
記憶する物理メモリ20,16 を具備しており、 前記物理メモリは、 前記バスラインに接続され、それぞれのページ
が複数のデータ信号を含んでいる複数のページを
提供する比較的低速アクセスの2次メモリ20、
及び 前記バスライン15に接続されてデータ信号及
びアドレス信号を受け取りかつ供給する比較的高
速アクセスの主メモリ16であつて、前記2次メ
モリに含まれる複数のデータ信号と同一の数のデ
ータ信号を有する事ができるように構成された複
数のページフレームを具備し、ページフレーム番
号信号及びオフセツト信号からなる物理アドレス
信号によつてアドレス指定されるよう構成されて
いる主メモリ を含んでおり、 前記中央プロセツサ12、制御記憶装置14、
及びバスライン15は、前記2次メモリ20の複
数のデータ信号をページ毎に主メモリのアドレス
指定されたページフレームへ転送複写しかつその
逆方向へ転送複写するよう制御する手段を構成
し、 前記多重タスクデータ処理装置10は、前記物
理メモリ20,16に記憶されたマクロ指令をあ
らわすデータ信号のあるものに応答して動作する
よう構成されており、 前記中央プロセツサ12及び制御記憶装置14
は、特定の読出/書込メモリアクセスのマクロ指
令をあらわす信号に応答して、セグメント番号信
号、ページ番号信号、オフセツト信号を含む仮想
アドレス信号を発生し、かつ該仮想アドレス信号
を前記ラツチ回路38に供給するよう構成されて
おり、 前記中央プロセツサ12及び制御記憶装置14
はさらに、前記メモリアクセスのマクロ指令に応
答して、前記仮想アドレス信号から物理アドレス
メモリ信号への変換を実行するよう構成され、前
記セグメント番号信号、ページ番号信号を前記主
メモリ16に供給してページフレーム番号信号を
含んでいる主メモリの特定部分をアドレス指定
し、かつ該主メモリからのページフレーム番号信
号、前記ラツチ回路38からのオフセツト信号を
前記アドレスレジスタ28へ伝送する事により前
記変換を実行するように構成されており、 前記中央プロセツサ12及び制御記憶装置14
は、さらに読出メモリアドレスのマクロ指令をあ
らわす信号に応答して、前記データレジスタ40
に主メモリのアドレス指定されたページフレーム
からのデータ信号を供給し、かつ書込メモリアク
セスをあらわす信号に応答して、前記データレジ
スタからの信号を主メモリのアドレス指定された
ページフレームに供給するよう構成されており、 前記中央プロセツサ12は、前記ラツチ回路3
8の出力の特定のものに接続されたインデキシン
グ手段を有する索引ランダムアクセスメモリ42
を具備しており、 前記アドレスレジスタ28の入力には2組の入
力を有するマルチプレクサ手段38の出力が接続
されており、前記ランダムアクセスメモリの出力
が該マルチプレクサ手段の第1の組の入力に接続
され、前記ラツチ回路の出力が該マルチプレクサ
手段の第2の組の入力に接続されており、 前記中央プロセツサ12及び制御記憶装置14
は、メモリアクセスのマクロ指令をあらわす信号
に応答して、仮想アドレス信号のページ番号をあ
らわす前記ラツチ回路38からのページ番号信号
を前記ランダムアクセスメモリのインデキシング
手段42に供給し、前記ページフレーム番号信号
及び2つの状態の1つを有する障害信号を含んで
いるインデツクスされた位置に記憶された信号を
前記ランダムアクセスメモリから出力するよう構
成されており、 前記マルチプレクサ手段52は、前記障害信号
の第1の状態に応答して、前記ランダムアクセス
メモリ42からのインデツクスされたページフレ
ーム番号信号を前記アドレスレジスタ28に主メ
モリ16のアドレス指定のために伝送し、前記障
害信号の第2の状態に応答して、前記ラツチ回路
38から出力される仮想アドレス信号を前記アド
レスレジスタに変換のために伝送するよう構成さ
れており、 前記中央プロセツサ12及び制御記憶装置14
は、さらに前記障害信号の第2の状態に応答し
て、仮想アドレス信号の物理アドレス信号への変
換を実行しかつ該変換されたページフレーム番号
信号を前記第1の状態の前記障害信号と共に前記
ランダムアクセスメモリ42内のインデツクスさ
れた位置に供給するよう構成されており、 前記マルチタスクデータ処理装置10はさら
に、 それぞれの前記仮想メモリセグメントに関連し
て前記主メモリ16に設けられた監視ビツトであ
つて、2つの状態のいずれかの状態をとる監視ビ
ツト及び 前記中央プロセツサ12に設けられたスタツク
信号記憶手段 を具備しており、 前記中央プロセツサ12及び制御記憶装置14
は、前記障害信号の第2の状態及び前記仮想アド
レスセグメント番号信号に応答して、前記仮想ア
ドレスの変換が実行されている間、前記セグメン
トに対する前記監視ビツトをアドレス指定しかつ
その状態をテストするよう構成されており、 前記中央プロセツサ12及び制御記憶装置14
は、前記監視ビツトの第1の状態に応答して、前
記仮想アドレスページ番号信号を前記スタツク信
号記憶手段に記憶のために供給するよう構成され
ており、 前記中央プロセツサ12及び制御記憶装置14
は、多重タスクデータ処理装置の動作中にタスク
の切り替えに応答して、前記スタツク信号記憶手
段からの前記仮想アドレルページ番号信号を検索
しかつ該ページ番号信号を供給して前記ランダム
アクセスメモリのインデツクスを実行し、前記障
害信号を第2の状態に設定するために前記ランダ
ムアクセスメモリのインデツクスを実行するよう
構成されている多重タスクデータ処理装置。
【発明の詳細な説明】
本発明はデータ処理装置におけるメモリ管理に
関する。
本発明は特に、仮想(バーチヤル)メモリを支
持するデータ処理装置におけるメモリ管理の改良
に関する。
一般に、データ処理装置に用いられる物理的な
記憶又は蓄積構成においては、記憶のためコスト
(蓄積の単位当り)は蓄積における1単位がアク
セスされることができる所要時間に反比例的に関
係する。非常に迅速なアクセスのメモリは、より
長いアクセス時間を必要とするメモリよりも高価
である。その結果として、経済的なデータ処理装
置を設計しようとする試みのなかで、多くのデー
タ処理装置はメモリのヒエラルキーを備えてお
り、該メモリのうちの幾つかは低速ではあるが大
容量であり、他のものは高速ではあるが小容量で
ある。データ処理装置が動作している間、メモリ
の内容は、要求に応じてメモリ間において転送さ
れ又は複写される。
特に、データ処理装置は一般的に、「主メモリ」
を具備しており、該主メモリはデータ処理装置の
なかに位置し、該データ処理装置の中央プロセツ
サにより直接にアクセス可能である。この主メモ
リは典型的には、ダイナミツクなランダムアクセ
スメモリにより構成される。
さらに、前述のデータ処理装置は一般的には、
「2次メモリ」(又は「フアイル」)を有しており、
該2次メモリは磁気テープ又は磁気デイスクのよ
うな周辺装置に設けられている。主メモリのアク
セス時間は典型的には500nsであり、磁気デイス
クのアクセス時間は典型的には20msである。
最後に、前述のデータ処理装置は一般的には、
制御蓄積装置(control store)であつて該主メ
モリから隔離されているか又は該主メモリの書込
み保護部分であるもの、および、非常に高速のキ
ヤツシメモリ(cache memory)であつて主メモ
リの内容の時間可変式サブセツトを包含するも
の、を有している。該キヤツシメモリは一般的に
は、中央プロセツサのなかに位置している。
もしデータ処理装置により使用されつつあるデ
ータ(マイクロプログラムを含むことがあり得
る)が主メモリにおいて利用可能である記憶容量
よりも大なる記憶容量を必要とするならば、追加
の記憶容量は2次メモリにより提供される。実際
のメモリが開発される前には、データはプログラ
マにより区分に分割されたのであり、該区分はオ
ーバレイと呼ばれ、該オーバレイの各個は主メモ
リに適合していた。オーバレイは、データ処理装
置が動作している間、同時には1個だけ主メモリ
へ導入され、後から導入されるデータ部分は主メ
モリに前に導入されたデータ部分の上に書き込ま
れる。プログラマは、プログラマの担当に係るデ
ータをオーバレイに分割することについて責任を
有し、その場合に、2次メモリの何処にオーバレ
イの各個を収容すべきかを決定し、新しい、オー
バレイの各個を導入するために必要なトラツクを
確保し、オーバレイが主メモリ、2次メモリ間で
転送させられるようにし、そして、一般に、デー
タ処理装置からなんら援助を受けずにオーバレイ
処理の全体を管理する。
仮想メモリが開発されたことにより、前述の管
理は、プログラマがプロセスに制御することを必
要とせず又はプロセスの制御に気がつくことさえ
なく、データ処理装置により遂行されることが可
能になつた。この開発にともない大きなアドレス
スペースが規定され、データ処理装置の中央プロ
セツサによりアドレス可能であり、これは仮想ア
ドレススペースと呼ばれる。この仮想アドレスス
ペースは主メモリにおいて利用可能である物理的
蓄積スペースよりもずつと大であることが可能で
ある。データは、2次メモリに、一般的に同一の
寸法の、ベージと呼ばれる、ブロツクに蓄積さ
れ、同時には1つのベージが主メモリへ転送され
る。主メモリはページと同一の寸法のページフレ
ームと呼ばれるブロツクに分解される。データの
1ページは、始端と終端を位置合わせして、1ペ
ージプレームに蓄積される。
データ処理装置の動作時に、メモリアクセスの
必要が生ずると、仮想メモリアドレスをあらわす
信号が中央プロセツサにより発生させられる。仮
想アドレスは、必要な項目を包含するページを指
示するページ番号、および、該ページにおける該
項目の位置を指示し、オフセツトと呼ばれる、ア
ドレス量を具備する。メモリアクセスを完全に遂
行するために、仮想アドレスページ番号は主メモ
リにおける物理的スペースを参照しつつ、物理的
アドレスページフレーム番号に翻訳されねばなら
ぬ。該データがすでに主メモリ内に存在するなら
ば、該データは物理的位置から入手され、データ
処理は継続進行する。(この場合、さらに、該デ
ータが高速キヤツシメモリに存在するか否かを点
検し、存在するときは、該データを該キヤツシメ
モリから直接に入手する後続の過程を経る場合が
あり得るが、本発明はこの後続の過程には関与し
ない。)該データが主メモリ内に存在しないなら
ば、データ処理装置は必要な項目を包含するデー
タベージを2次メモリから入手し、主メモリへ導
入せねばならず、該導入の後に、必要な項目は該
ページから入手され、そしてデータ処理は継続進
行する。
このような設計は、実用的であるとされてお
り、その理由は、プログラムの大多数におけるデ
ータ処理の論理流れは、前プログラムが、プログ
ラムの実行時に、常時主メモリに存在する必要が
無いという性質のものだからである。例えば、初
期処理および終期処理のルーチンは1つのプログ
ラムの動作において1回だけ実行されるのであ
る。例外を処理する過程、例えばエラールーチン
のような過程は、そのような例外状態が生起した
ときのみ必要である。換言すれば、プログラムの
実行における任意の時点において、参照される必
要があるのは前プログラムのうちの1つのサブセ
ストのみであり、該サブセツトの諸要素は一般的
には相互に近隣の位置にある。このことは、プロ
グラムの「参照の局地性(locality of
reference)」特性と呼ばれることがある。
仮想メモリを設けることは、メモリ管理におけ
る大きな有利性を提供し、プログラマを、オーバ
レイの管理の仕事から、および、データ処理装置
の利用可能な主メモリの超過動作に関する懸念か
ら、開放する。さらに、仮想メモリを使用するデ
ータ処理装置は比較的大容量で比較的低安価(低
速)の2次メモリおよび比較的小容量で比較的高
価格(高速)の主メモリと協働して動作すること
ができ、このことはデータ処理装置の価格を低減
させる。
しかし、仮想メモリを使用することは、仮想ア
ドレスから物理的アドレスを入手するための適切
な指令を実行するためにある程度のの動作時間を
必要とする。仮想アドレスから物理的アドレスの
翻訳、即ち変更は、ページテーブルへのアクセス
を必要とし、該ページテーブルはセグメント番号
により規定され主メモリに蓄積されているもので
あり、該主メモリは現に支持されている仮想アド
レススペースのそのセグメントにおけるすべての
ページについての、主メモリにおける位置の情報
を包含する。ページテーブルにおける希望される
入力を位置ぎめするために、ページテーブルは仮
想ページ番号によりアドレスされる。ページテー
ブルへの入力の各個の故障ビツトを包含し、該故
障ビツトは該ページが主メモリに導入されたか否
かをあらわすものである。さらに、ページテーブ
ルへの入力は、保護ビツトおよび、もし該ページ
が主メモリに存在するならば何処に存在するかを
あらわすページフレーム番号(物理的主メモリを
参照しつつ)を包含する。
それゆえ、翻訳動作は下記の諸過程を伴うこと
になるが、該過程はプロセツサ(マイクロプログ
ラムを実行する)により、又は、プロセツサにお
ける指定されたハードウエアによつて遂行されね
ばならぬ。該過程とは、セグメント番号を印加し
ページテーブルを位置ぎめすること、仮想ページ
番号を印加しページテーブルへの入力をアドレス
すること、ページテーブル入力を入手すること、
故障ビツトの状態を点検すること、および、(も
し該ページが主メモリに存在すれば)ページフレ
ーム番号を仮想アドレスからのオフセツトと組み
合わせ合理的アドレスを形成すること、である。
それゆえ、翻訳動作は、該翻訳動作が遂行され
る毎に、一定の動作所要時間を必要とする。もし
メモリアクセスが生起する毎に翻訳動作が遂行さ
れねばならぬならば、データ処理装置のメモリ動
作はかなり速度低下させられるであろう。それゆ
え、必要な翻訳時間を減少させることが望ましい
ことになる。
この問題に対する対応策の1つは、中央プロセ
ツサの外部に(メモリ制御装置内に)小さいバツ
フアレジスタを設け、最近に翻訳されたアドレス
をあらわす信号を蓄積することであつて、このバ
ツフアレジスタは、例えば、8ないし32の協働的
レジスタ1組として設計されたが、該レジスタは
2つのフイールドを包含する。第1のフイールド
は、最近に翻訳された仮想メモリのアダドレスの
ページ番号をあらわす信号を包含する。第2のフ
イールドは、現在、仮想メモリのページに指定さ
れつつあるページフレームをあらわす信号を包含
する。指令の実行時において、仮想メモリのアド
レスが翻訳される毎に、仮想メモリのアドレスペ
ージ番号およびその結果として仮想メモリアドレ
スページフレーム番号をあらわす信号がこのバツ
フアレジスタに導入される。「最近に最も少く用
いられた」ということによつて決定するという基
準が、新しい翻訳を導入(古い翻訳を置き換え
て)すべきレジスタを選択するのに用いられる。
データ処理装置の動作過程において、仮想アド
レスにより特定された1つのメモリ基準が要求さ
れると、8個のレジスタは同時に(並列に)探索
される。レジスタの各個における仮想ページ番号
をあらわす信号は、現行のメモリ動作の仮想アド
レスの仮想ページ番号をあらわす信号と比較され
る。もし一致すれば、該レジスタからページフレ
ーム番号が取り出されオフセツト信号と組み合わ
されて物理的アドレスが形成される。もし一致し
なければ、正規の翻訳動作が遂行される。
この構成は幾つかの不利益性をともなう。第1
に、並列探索(協働的アドレス動作)は迅速では
あるが、このような並列探索は高価である。ま
た、アドレス動作用回路は物理的に複雑なものと
なり、この複雑度は探索されるべきレジスタの数
の増大とともに非常に急速に増大する。それゆ
え、実際には、バツフアレジスタの可能な寸法に
ついては、価格と複雑度の両面から課せられる、
明瞭な制限が存在する。その結果として、最近に
翻訳されたアドレスの非常に制限されたサブセツ
トのみが維持され得る。
さらに、多重タスクデータ処理装置において
は、全バツフアレジスタ(8ないし32のレジス
タ)の内容は、該データ処理装置が任務を切換え
たときは、クリアされねばならぬ。このことは非
常に頻繁に生起する可能性がある。この要求は2
つの不利な結果をもたらす。第1に、バツフアレ
ジスタをクリアするには時間がかかることであ
る。第2に、バツフアレジスタがクリアされたと
きは、利用可能な翻訳されたアドレスが存在しな
いことになり、ひきつづくメモリアクセスの各個
において、バツフアレジスタは、該バツフアレジ
スタが充満させられるまで、探索された上で新し
く翻訳されたアドレスが書き込まれねばならぬこ
とである。このことは、さらに時間がかかること
になる。以上のように従来の装置では、、T/
RAM(トランスレーシヨンRAM)は、いくつか
のエントリは次のユーザーにとつても有効である
のに拘らず、すべてのエントリをクリアしていた
ために、非能率であつた。これらの有効なエント
リとは、例えば、オペレーテイングシステムフア
イル管理サービスやデータベース管理サービスな
どである。従来の装置では、有効なエントリでも
クリアされてしまうので、そのクリアされたエン
トリのために変換(仮想/物理アドレス交換)が
繰り返され、T/RAMに再び格納されねばなら
ない。したがつて、処理時間の無駄が生じてしま
う、という不都合があつた。
したがつて、本発明の目的の1つは、仮想メモ
リを用いるデータ処理装置の動作の効率および速
度を、アドレス翻訳に要求される全時間を減少さ
せることにより、改善する手段を提供することに
ある。
本発明は、複数個のセグメントを具備する仮想
メモリを支持する多重タスクデータ処理装置に関
係がある。該データ処理装置は、ラツチを包含す
る中央プロセツサ、メモリアドレスレジスタ、お
よびメモリデータレジスタを有する。該中央プロ
セツサには制御蓄積装置が接続される。該中央プ
ロセツサに接続されるバスは、メモリアドレスレ
ジスタからのアドレス信号を受入れるアドレス信
号ライン、およびメモリデータレジスタからデー
タ信号を受入れメモリテータレジスタへデータ信
号を導入するデータ信号ラインを具備する。デー
タ処理装置は、データおよびマクロ指令をあらわ
すデータ信号を蓄積するのに適合した物理的メモ
リを備えている。
物理的メモリは、比較的低速アクセスの2次メ
モリであつて、バスに接続され均一の寸法(バイ
ド数)のページの複数個を備えており各頁はデー
タ信号の複数個を包含するもの、および、比較的
高速アクセスの主メモリであつて、バスに接続さ
れデータ信号を受入れかつ提供しアドレス信号を
受入れるもの、を具備する。該主メモリは、ペー
ジフレームの複数個を備え、該ページフレームの
各個の2次メモリのページに包含されるデータ信
号を同じ複数個を包含するよう適合しており、ま
た該主メモリはページフレーム番号の信号および
オフセツト信号を具備する物理的アドレス信号に
よりアドレス可能である。該中央プロセツサ、制
御蓄積装置およびバスは、2次メモリのデータ信
号のページサイズの複数個を物理的アドレス信号
によりアドレスされた特定の主メモリページフレ
ームへ複写することおよびその逆の方向に複写す
ることを制御する手段を提供する。
該データ処理装置は、物理的メモリに蓄積され
たマクロ支持をあらわす或るデータ信号に応答し
て動作するように適合しており、中央プロセツサ
および制御蓄積装置は特性の読出しおよび書込み
メモリアクセスマクロ指令をあらわす信号に応答
し、セグメント番号信号、ページ番号信号および
オフセツト信号を具備する仮想アドレス信号を発
生させ、該仮想アドレス信号をラツチに供給す
る。中央プロセツサおよび制御蓄積装置はさら
に、メモリアクセスのマクロ指令に応答して仮想
アドレス信号の対応する物理的アドレス信号への
翻訳を遂行する。翻訳は、主メモリへセグメント
番号およびページ番号の信号を印加し、ページフ
レーム番号の信号を包含する主メモリの特定の部
分をアドレスすること、および、主メモリからの
ベージフレーム番号の信号を、ラツチからのオフ
セツト信号とともに、メモリアドレスレジスタへ
伝送することを具備する。
中央プロセツサおよび制御蓄積装置はさらに、
読取りメモリアクセスのマクロ指令に応答してア
ドレスされた主メモリページフレームからのデー
タ信号をメモリデータレジスタに印加し、また、
書込みメモリアクセスのマクロ指令に応答してメ
モリデータレジスタからの信号をアドレスされた
主メモリページフレームに印加する。
本発明においては、複数のセグメントを具備す
る仮想メモリを支持する多重タスクデータ処理装
置が提供され、多重タスクデータ処理装置は、 ラツチ回路、メモリアドレスレジスタ、メモリ
データレジスタを有する中央プロセツサ、 前記中央プロセツサに接続された制御記憶装
置、 前記中央プロセツサに接続され、前記メモリア
ドレスレジスタからのアドレス信号を受け取るア
ドレス信号ライン、及び前記メモリデータレジス
タからデータ信号を受け取りかつ該メモリデータ
レジスタにデータ信号を供給するデータ信号ライ
ンを有するバスライン、及び データ及びマクロ指令をあらわすデータ信号を
記憶する物理メモリ を具備しており、 前記物理メモリは、 前記バスラインに接続され、それぞれのページ
が複数のデータ信号を含んでいる複数のページを
提供する比較的低速アクセスの2次メモリ、及び 前記バスラインに接続されてデータ信号及びア
ドレス信号を受け取りかつ供給する比較的高速ア
クセスの主メモリであつて、それぞれが前記2次
メモリに含まれる複数のデータ信号と同一のデー
タ信号を有する事ができるように構成された複数
のページフレームを具備し、ページフレーム番号
信号及びオフセツト信号からなる物理アドレス信
号によつてアドレス指定されるよう構成されてい
る主メモリ を含んでおり、 前記中央プロセツサ、制御記憶装置、及びバス
ラインは、前記2次メモリの複数のデータ信号を
ページ毎に主メモリのアドレス指定されたページ
フレームへ転送複写しかつその逆方向へ転送複写
するよう制御する手段を構成し、 前記マルチタスクデータ処理装置は、前記物理
メモリに記憶されたマクロ指令をあらわすデータ
信号のあるものに応答して動作するよう構成され
ており、 前記中央プロセツサ及び制御記憶装置は、特定
の読出/書込みメモリアクセスのマクロ指令をあ
らす信号に応答して、セグメント番号信号、ペー
ジ番号信号、オフセツト信号を含む仮想アドレス
信号を発生し、かつ該仮想アドレス信号を前記ラ
ツチ回路に供給するよう構成されており、 前記中央プロセツサ及び制御記憶装置はさら
に、前記メモリアクセスのマクロ指令に応答し
て、前記仮想アドレス信号から物理アドレスメモ
リ信号への変換を実行するよう構成され、前記セ
グメント番号信号、ページ番号信号を前記主メモ
リに供給してページフレーム番号信号を含んでい
る主メモリの特定部分をアドレス指定し、かつ該
主メモリからのページフレーム番号信号、前記ラ
ツチ回路からのオフセツト信号を前記アドレスレ
ジスタへ伝送する事により前記変換を実行するよ
うに構成されており、 前記中央プロセツサ及び制御記憶装置は、さら
に読出メモリアドレスのマクロ指令をあらわす信
号に応答して、前記データレジスタに主メモリの
アドレス指定されたページフレームからのデータ
信号を供給し、かつ書込メモリアクセスをあらわ
す信号に応答して、前記データレジスタからの信
号を主メモリのアドレス指定されたページフレー
ムに供給するよう構成されており、 前記中央プロセツサは、前記ラツチ回路の出力
の特定のものに接続されたインデキシング手段を
有する索引ランダムアクセスメモリを具備してお
り、 前記アドレスレジスタの入力には2組の入力を
有するマルチプレクサ手段の出力が接続されてお
り、前記ランダムアクセスメモリの出力が該マル
チプレクサ手段の第1の組の入力に接続され、前
記ラツチ回路の出力が該マルチプレクサ手段の第
2の組の入力に接続されており、 前記中央プロセツサ及び制御記憶装置は、メモ
リアクセスのマクロ指令をあらわす信号に応答し
て、仮想アドレス信号のページ番号をあらわす前
記ラツチ回路からのページ番号信号を前記ランダ
ムアクセスメモリのインデキシンク手段に供給
し、前記ページフレーム番号信号及び2つの状態
の1つを有する障害信号を含んでいるインデツク
スされた位置に記憶された信号を前記ランダムア
クセスメモリから出力するよう構成されており、 前記マルチプレクサ手段は、前記障害信号の第
1の状態に応答して、前記ランダムアクセスメモ
リからのインデツクスされたページフレーム番号
信号を前記アドレスレジスタに主メモリのアドレ
ス指定のために伝送し、前記障害信号の第2の状
態に応答して、前記ラツチ回路から出力される仮
想アドレス信号を前記アドレスレジスタに変換の
ために伝送するよう構成されており、 前記中央プロセツサ及び制御記憶装置は、さら
に前記障害信号の第2の状態に応答して、仮想ア
ドレス信号の物理アドレス信号への変換を実行し
かつ該変換されたページフレーム番号信号を前記
第1の状態の前記障害信号と共に前記ランダムア
クセスメモリ内のインデツクスされた位置に供給
するよう構成されており、 前記中央プロセツサはさらに、 前記マルチタスクデータ処理装置の動作状態を
指示するための複数の設定可能な状態ビツトを有
する状態レジスタ、及び 前記主メモリにおけるそれぞれのページフレー
ムに対して設定可能な参照ビツト及び変更ビツト
を提供する索引参照・変更テーブル を具備しており、 前記参照・変更テーブルは、前記ページフレー
ム番号によつて前記テーブルをインデツクスする
ように前記ランダムアクセスメモリの出力に接続
されており、 前記中央プロセツサ及び制御記憶装置は、メモ
リアクセスのマクロ指令をあらわすデータ信号に
応答して、インデツクスされた前記参照ビツトを
設定し、かつ書込メモリアクセスのマクロ指令を
表すデータ信号に応答してインデツクスされた前
記変更ビツトを設定するよう構成されており、 前記参照・変更テーブルの出力は、前記状態レ
ジスタに接続されて、インデツクスされた前記参
照ビツト及び変更ビツトの状態に応じて、前記状
態ビツトの特定のものを設定するよう構成されて
いる事を特徴としている。
また第2の発明における多重タスクデータ処理
装置においては、 ラツチ回路、メモリアドレスレジスタ、メモリ
データレジスタを有する中央プロセツサ、 前記中央プロセツサに接続された制御記憶装
置、 前記中央プロセツサに接続され、前記メモリア
ドレスレジスタからのアドレス信号を受け取るア
ドレス信号ライン、及び前記メモリデータレジス
タからデータ信号を受け取りかつ該メモリデータ
レジスタにデータ信号を供給するデータ信号ライ
ンを有するバスライン、及び データ及びマクロ指令をあらわすデータ信号を
記憶する物理メモリ を具備しており、 前記物理メモリは、 前記バスラインに接続され、それぞれのページ
が複数のデータ信号を含んでいる複数のページを
提供する比較的低速アクセスの2次メモリ、及び 前記バスラインに接続されてデータ信号及びア
ドレス信号を受け取りかつ供給する比較的高速ア
クセスの主メモリであつて、それぞれが前記2次
メモリに含まれる複数のデータ信号と同一のデー
タ信号を有する事ができるように構成された複数
のページフレームを具備し、ページフレーム番号
信号及びオフセツト信号からなる物理アドレス信
号によつてアドレス指定されるよう構成されてい
る主メモリ を含んでおり、 前記中央プロセツサ、制御記憶装置、及びバス
ラインは、2次メモリの複数のデータ信号をペー
ジ毎に主メモリのアドレス指定されたページフレ
ームへ転送複写しかつその逆方向へ転送複写する
よう制御する手段を構成し、 前記多重タクスデータ処理装置は、前記物理メ
モリに記憶されたマクロ指令をあらわすデータ信
号のあるものに応答して動作するよう構成されて
おり、 前記中央プロセツサ及び制御記憶装置は、特定
の読出/書込みメモリアクセスのマクロ指令をあ
ら信号に応答して、セグメント番号信号、ページ
番号信号、オフセツト信号を含む仮想アドレス信
号を発生し、かつ該仮想アドレス信号を前記ラツ
チ回路に供給するよう構成されており、 前記中央プロセツサ及び制御記憶装置はさら
に、前記メモリアクセスのマクロ指令に応答し
て、前記仮想アドレス信号から物理アドレスメモ
リ信号への変換を実行するよう構成され、前記セ
グメント番号信号、ページ番号信号を前記主メモ
リに供給してページフレーム番号信号を含んでい
る主メモリの特定部分をアドレス指定し、かつ該
主メモリからのページフレーム番号信号、前記ラ
ツチ回路からのオフセツト信号を前記アドレスレ
ジスタへ伝送する事により前記変換を実行するよ
うに構成されており、 前記中央プロセツサ及び制御記憶装置は、さら
に読出メモリアドレスのマクロ指令を表す信号に
応答して、前記データレジスタに主メモリのアド
レス指定されたページフレームからのデータ信号
を供給し、かつ書込メモリアクセスをあらわす信
号に応答して、前記データレジスタからの信号を
主メモリのアドレス指定されたページフレームに
供給するよう構成されており、 前記中央プロセツサは、前記ラツチ回路の出力
の特定のものに接続されたインデキシング手段を
有する索引ランダムアクセスメモリを具備してお
り、 前記アドレスレジスタの入力には2組の入力を
有するマルチプレクサ手段の出力が接続されてお
り、前記ランダムアクセスメモリの出力が該マル
チプレクサ手段の第1の組の入力に接続され、前
記ラツチ回路の出力が該マルチプレクサ手段の第
2の組の入力に接続されており、 前記中央プロセツサ及び制御記憶装置は、メモ
リアクセスのマクロ指令をあらわす信号に応答し
て、仮想アドレス信号のページ番号をあらわす前
記ラツチ回路からのページ番号信号を前記ランダ
ムアクセスメモリのインデキシンク手段に供給
し、前記ページフレーム番号信号及び2つの状態
の1つを有する障害信号を含んでいるインデツク
スされた位置に記憶された信号を前記ランダムア
クセスメモリから出力するよう構成されており、 前記マルチプレクサ手段は、前記障害信号の第
1の状態に応答して、前記ランダムアクセスメモ
リからのインデツクスされたページフレーム番号
信号を前記アドレスレジスタに主メモリのアドレ
ス指定のために伝送し、前記障害信号の第2の状
態に応答して、前記ラツチ回路から出力される仮
想アドレス信号を前記アドレスレジスタに変換の
ために伝送するよう構成されており、 前記中央プロセツサ及び制御記憶装置は、さら
に前記障害信号の第2の状態に応答して、仮想ア
ドレス信号の物理アドレス信号への変換を実行し
かつ該変換されたページフレーム番号信号を前記
第1の状態の前記障害信号と共に前記ランダムア
クセスメモリ内のインデツクスされた位置に供給
するよう構成されており、 前記マルチタスクデータ処理装置はさらに、 それぞれの前記仮想メモリセグメントに関連し
て前記主メモリに設けられたモニタビツトであつ
て、2つの状態のいずれかの状態をとるモニタビ
ツト、及び 前記中央プロセツサに設けられたスタツク信号
記憶手段 を具備しており、 前記中央プロセツサ及び制御手段は、前記障害
信号の第2の状態及び前記仮想アドレスセグメン
ト番号信号に応答して、前記仮想アドレスの変換
が実行されている間、前記セグメントにたいして
前記モニタビツトをアドレス指定しかつその状態
をテストするよう構成されており、 前記中央プロセツサ及び制御蓄積装置は、前記
モニタビツトの第1の状態に応答して、前記仮想
アドレスページ番号信号を前記スタツク信号記憶
手段に記憶のために供給するよう構成されてお
り、 前記中央プロセツサ及び前記制御手段は、マル
チタスクデータ処理装置の動作中にタスクの切り
替えに応答して、前記スタツク信号記憶手段から
の前記仮想アドレスページ番号信号を検索しかつ
該ページ番号信号を供給して前記ランダムアクセ
スメモリのインデツクスを実行し、前記障害信号
を第2の状態に設定するために前記ランダムアク
セスメモリのインデツクスを実行するよう構成さ
れている事を特徴としている。以上のように本願
の特許請求の範囲第12頁に記載された第1の発明
によれば、仮想アドレス信号から物理アドレス信
号への変換(翻訳)が実行されたときにのみ参
照/変更/ビツトの設定が行われ、メモリの参照
毎にその設定が行われるものではない。また、参
照/変更(変換)テーブルを直接的にアドレス指
定するためにトランスレーシヨンRAM(T/
RAM42)からのページフレーム番号を使用し
ており、これにより、処置装置の動作を高速化し
て高能率化する事ができるという作用効果を奏す
る事ができる。
また本願の特許請求の範囲第2項に記載された
第2の発明によれば、T/RAMのその時点のユ
ーザに関連するエントリ(開始アドレス)を選択
的に監視し、該ユーザのプログラム及び日付等に
関するT/RAMのエントリを選択的にクリアし
て次の新しい使用者のタイムスライスの為の準備
をし、これにより、次の使用者に対して大きな
T/RAMのスペースを用意する。そしてこれ
は、次の使用者に対しても有効なエントリをクリ
アする事なく達成される。
さらに詳述すると監視ビツトは各セグメントに
関連付けられている。ユーザのセグメントに対し
てはモニタがセツトされる(監視ビツトは1)。
オペレーテイングセグメントに対してはモニタは
セツトされない(監視ビツトは0)。もしセグメ
ント制御レジスタ内の監視ビツトがセツトされて
いるならば、中央処理装置は、ランダムアクセス
メモリフオールト(障害)を生じる度に、フオー
ルト仮想アドレスをスタツクのモニタ領域内に格
納する。そしてタスクの切り替えの間に、T/
RAMエントリのクリアが要求されると、中央処
理装置は、前記のモニタ領域に記憶されたフオー
ルト仮想アドレスにアクセスする事ができ、該特
定のモニタされたエントリーは、生じてのT/
RAMをクリアする事なく、それらのT/RAM
ロケーシヨンから素早くクリアされる。モニタさ
れていないエントリ、例えばオペレーテイングシ
ステムのアドレスは、クリアされる必要はなく、
次回のアクセス時に再度ロードされる必要もな
い。よつて、これにより、さらにオペレーテイン
グ時間の短縮が図られるという作用効果を奏する
事ができる。
以上のように、本願発明では、フオールト処理
に関し、特に、マルチタスク仮想メモリデータ処
理システムにおいて、仮想/物理アドレス変換の
間に生じる処理遅延を減少させ、処理装置の処理
速度及び動作効率を向上させるという効果を奏す
るものである。
本発明のその他の目的、特徴および利点は添付
図面を参照しての下記の本発明の詳細な記述によ
り了解されるであらう。
以下図面を参照して本発明について述べるがま
ず第1図には仮想(virtual)記憶装置を用いる
データ処理装置が概略的に図示されている。デー
タ処置装置10には1つの中央処理装置(CPU)
12が設けられ、該中央処理装置は制御信号記憶
装置14を直接アクセスし、該制御信号記憶装置
は該データ処理装置ハードウエアの動作を制御す
る制御信号群を包含する。制御信号の特定の群
は、周辺機器から入力された指令に応答してアク
セスされ、又は中央処理装置の内部にある現在の
動作状態に応答してアクセスされ、これらの全て
は従来良く知られている方法において行なわれ
る。
データ処理装置10にはさらに、主記憶装置1
6および記憶制御装置18が設けられており、該
記憶制御装置の機能としては中央処理装置と周辺
機器との間のメモリアクセスを割り当てることで
ある。周辺機器としては、2次記憶装置20およ
び他の機器70、例えばキーボード、陰極線管表
示器、プリンタ、通信用インターフエース、その
他類似の機器がある。主記憶装置16は、バス1
5(データおよびアドレスラインから成る)およ
び記憶制御装置18を通して中央処理装置により
アドレス指定される。
主記憶装置16は、8メガバイト(8388608バ
イト)の容量を有し、1ワードの語長は32ビツト
(4バイト)である。主記憶装置16は24本のラ
インによりアドレス指定され、該24本のラインは
24ビツトの物理的なアドレスを提供する。主記憶
装置16の内部はページフレームに分割されるよ
うに考慮されている。ページフレームの大きさは
2Kバイトである。第8図を参照すると、24ビツ
トの物理的なアドレスのフオーマツトが13ビツト
のページフレームナンバおよびページフレームの
内部のバイトを規定する11ビツトのオフセツトか
ら成ることが示されている。(ページフレームナ
ンバにおける(高次の)余分のビツトは2の因数
ごと将来の記憶容量の増大を可能にする。) フアイル又は2次記憶装置20の内容はページ
に分割されるように考慮されており、各個のペー
ジは主記憶装置16におけるページフレームと同
じ大きさ、即ち2Kバイトになつている。データ
は、2次記憶装置と主記憶装置との間でブロツク
ごと、特定的にはページごと転送される。この転
送が実施される特定的な方法が本発明の特徴部分
を形成するものではない。
第2図について述べると、本発明に関連のある
中央処理装置12の或る要素が第1図に示したも
のよりもより詳細な形のブロツク回路図として図
示されている。特に、中央処理装置12には従来
形式の設計による演算ユニツト(ALU)22が
設けられ、該演算ユニツトは2つの32ビツト入力
バス、すなわちAバス21およびBバス23を有
し、該演算ユニツトの出力は32ビツトのデイステ
イネーシヨンバス、すなわちCバス24へ印加さ
れる。Cバス24は、種々の宛先(distination)
の中でもとりわけ、256個の32ビツトのレジスタ
を具備するスタツク30、Cバス・メモリマルチ
プレクサ32、T・RAMアドレスラツチ回路3
8および24ビツトのバーチヤルアドレスレジスタ
26に対する入力である。スタツク30の1つの
部分にはモニタエリア34が指定されており、該
モニタエリアは各々32ビツトから成る128ワード
を包含するレジスタを具備する。後述するよう
に、モニタエリア34は、最も新しく翻訳
(translate)された仮想的な(virtual)アドレス
のリストを記憶するのに用いられる。モニタエリ
アの機能については、特に第19図に関する記述
との関連において後述する。
スタツク30の次の部分36は、セグメントデ
イスクリプタのテーブルを呼出した信号の組を記
憶するのに用いられる。該テーブルには8つのセ
グメントデイスクリプタが存在し、仮想的なアド
レス空間の各個のセグメントの或るものが任意の
或る時間においてハードウエアにより支持され
る。該セグメントデイスクリプタのフオーマツト
が第7図に図示されるが、その使用方法について
は第19図に関する記述との関連において後述す
る。
Cバス・メモリマルチプレクサ32は、主記憶
装置16からのデータ又はCバス24からのデー
タのいずれかを伝送するために、本発明の関心の
対象ではないメモリ制御信号により切換えられ、
該マルチプレクサ32の出力は5個のメモリデー
タレジスタ(0〜4)40の1組に印加される。
メモリデータレジスタ40の出力は、データバツ
フア44を通り主記憶装置16へ至るもの、又は
ワークレジスタ、およびシフトおよびマルチプラ
イ・ロジツク回路へ至るもののいずれかであり、
後者については本発明の関心の対象ではないので
特に詳細な回路配置については図示しない。
32ビツトのステータスレジスタ46はA、B又
はCバスへは接続されず、そのビツトはデータ処
理装置の動作中、CPU12のハードウエアによ
り独立してセツトおよびセンスされる。本発明に
おいて関心の対象とする特定の状態を示すビツト
は、「M2H」および「M2B」、および「STATE」
であり、前者の2つのビツトは後述する方法にお
いて第17図に示す回路によりセツトされ、後者
のビツトは第14図に示す回路への入力である。
「STATE」ビツトは「システム状態」(STATE
=0)又は「ユーザー状態」(STATE=1)の
いずれかを示すものであり、オプレーテイングシ
ステムは「システム状態」において動作し、全て
のプログラムは「ユーザー状態」において動作す
る。或るデータ処理装置の機能は1つ又は他の状
態において用いられることはでき得ないが、その
詳細に関しては本発明の関心の対象ではない。
主記憶装置16は、符号28が付された3個の
メモリアドレスレジスタ(MAR0〜2)の1組
を通してアドレス指定される。MAR28は
MARマルチプレキサ52から信号が供給されて
装荷され、該MARマルチプレクサは第21図に
おいて詳細に示される。該3個の独立したMAR
レジスタはそれぞれが24、32および32ビツト長で
ある。3個のメモリアドレスレジスタの独立した
各個のCPU12における相異なる機能を実行す
るために選択されるが、このような選択について
は本発明の関心の対象とするところではないので
下記においても明記されぬ。MAR28の出力は
Bバス23およびメモリアドレスラツチ回路(図
示せず)へ印加され、該MARから出力される
(物理的な)アドレス信号は主記憶装置16のア
ドレスを指定するための出力であるが、このアド
レス指定は従来形式の方法において行なわれるも
のであつて本発明の特徴部を成すものではない。
本発明の記憶装置の管理における利益を提供す
るために、中央処理装置12にはさらに、ローカ
ルにランダムアクセスメモリ42が設けられ、該
ランダムアクセスメモリは翻訳RAM又はT・
RAMと呼ばれ、各個が16ビツトから成る4K
(4096)ワードを有する。T・RAM42は12ビ
ツトのインデツクス(索引)を提供する12本のラ
インによりインデツクス付けされる。T・RAM
42は、任意の時間においてハードウエアにより
支持された全部で8メガバイトの仮想的なアドレ
ス空間のために、1ページごと1つのエントリ
(見出し)を保持する(各ページは2Kバイトを包
含する)。
多重タスク実行形のデータ処理装置において
は、仮想的なアドレス空間はセグメントに細分さ
れるように考慮されることができる。ここで述べ
た特定的な装置においては、仮想的なアドレス空
間は8つのセグメントに分割され、該セグメント
の各個の1メガバイドである。第3図について述
べると、任意の或る時間においてハードウエアに
より支持された仮想的なアドレス空間が概念的に
第3図に示される。セグメント0はデータ処理装
置のオペレーテイングシステムを収納し、セグメ
ント1はユーザープログラムを収納し、セグメン
ト2はユーザーデータを収納し、その他のセグメ
ントは拡張用に利用できる。データ処理装置の各
利用者は、8個のセグメントから成る1つの仮想
的なアドレス空間があり、そのような空間の各個
におけるセグメント0にはオプレーテイングシス
テム、セグメント1には利用者自身のプログラム
およびデータは残りのセグメントに収納されるこ
とを見出す。
24ビツトの仮想的なアドレスフオーマツトが第
5図に示される。該仮想的なアドレス信号におけ
る最初の(高次の)ビツト(V0)はアドレスの
無効状態(INVALID)を示すビツトであり、23
ビツトのアドレスが有効(VARID)である場合
には該ビツトは「0」に等しく、もし該ビツトが
「1」に等しい場合には該アドレスが許可される
範囲よりも大であることを示す。(24ビツトを用
いている仮想的なアドレスフオーマツトは、支持
される仮想的なアドレス空間が将来拡張できるよ
うに考慮している)。高次のビツトV0の状態は、
下記に述べる如くデータ処理装置内のハードウエ
アにより検査される。ビツトV1〜V12はT・
RAMインデツクスを呼び出した1つのユニツト
を包含する。該アドレスのこの部分は、中央処理
装置の動作中において、2つの部分、すなわちセ
グメントナンバおよびページナンバに論理的に分
割される。しかしながら、別個のハードウエアが
形成されるということではない。仮想的なアドレ
スを物理的なアドレスにマツピングする過程にお
いて、後述するようにT・RAMインデツクスが
翻訳される。仮想的なアドレスの残りの部分
(V13〜V23)は11ビツトのオフセツト又はペー
ジ内のバイトのロケーシヨンを示すものである。
アドレスのこの部分は翻訳されない、というのは
仮想的なアドレスと物理的なアドレスとが同じ値
にされているからである。
T・RAMにおける信号を記憶するために又は
T・RAMから信号を検索するために、T・
RAMは、T・RMAアドレスラツチ回路38か
ら出力される12個の「T・RAMインデツクス」
信号によりインデツクス付けされ、該T・RAM
アドレスラツチ回路はCバス24から(第5図に
図示の如く)24個の仮想的なアドレス信号を受け
入れる。データ処理装置の動作中において、T・
RAMには下記に述べる方法において、バーチヤ
ルアドレスレジスタ26から1度に1つのエント
リが装荷される。
T・RAMエントリのフオーマツトが第4図に
示される。全エントリは16ビツトから成り、ビツ
ト10は障害(fault)を示すビツトであり、ビツ
ト1は読出保護(read protect)を示すビツトで
あり、ビツト2は書込保護(write protect)を
示すビツトであり、ビツト3〜15はページ・フレ
ームナンバを包含する。再び第2図を参照する
と、1つのアドレス指定されたエントリのページ
フレームナンバ信号がT・RAM42から読み出
されてT・RAMマルチプレクサ54に印加さ
れ、該T・RAMマルチプレクサはまた、T・
RAMアドレスラツチ回路38からの出力を入力
として受け入れる。T・RAMマルチプレクサ5
4の動作形態については第16図との関連におい
て述べる。
T・RAM42の出力のページフレームナンバ
の部分(ビツト3〜15)はまた、インデツクス付
けするために参照・変更(reference/change)
テーブル50に印加され、該テーブルは1つのペ
ージフレームナンバごと2ビツトから成る1組の
エントリを包含する。参照・変更テーブルの使用
方法については、一般に良く知られており、ここ
では詳細には記述しない。該テーブルの2つのビ
ツトは1つの参照ビツトおよび1つの変更ビツト
から成り、参照ビツトは主記憶装置における該当
するページフレームに対する参照を指示するため
に「高」がセツトされ、変更ビツトは主記憶装置
における該参照に対応するエントリが変更を指示
するために「高」がセツトされる。「ハウスキー
ピング」動作を行うものの1部分としてのオペレ
ーテイングシステムは変更ビツトを参照し、2次
記憶装置の対応する部分に再び書込み、それによ
り主記憶装置と記憶内容が一致するように維持す
る。参照ビツト又は変更ビツトは翻訳が行なわれ
るときのみセツトされ、各個の記憶の参照ごとに
はセツトされぬ。(記憶装置の参照の翻訳が発生
しない場合については後述する。)参照ビツトお
よび変更ビツトは、ページフレームが再利用され
るとき、すなわち、2次記憶装置の相異なる部分
が主記憶装置のページフレーム内に読み出される
とき、通常はデータ処理装置がタスクを切換える
そのとき、リセツトされる。
本発明に関連する範囲においては、メモリアド
レスレジスタ28は2つの方法において入力を受
け入れる。第1の方法としては、後述する「T・
RAM障害」が発生した場合、(仮想的な)ペー
ジナンバ信号をT・RAMアドレスラツチ回路3
8から受け入れる。第2の方法としてはT・
RAM障害が存在していないとき、(物理的な)
ページフレームナンバ信号をT・RAMマルチプ
レクサ54から受け入れる。両者がいずれの場合
においても、オフセツト信号(低次の11ビツト)
をT・RAMアドレスラツチ回路38から受け入
れる。
次に特に第9図について述べると、制御信号記
憶装置14は制御信号を包含し、該制御信号は48
本の並列ライン上の48個の出力信号を1群まとめ
てアクセスされる。該並列ラインの各個のライン
上の信号は「高(1)」又は「低(0)」のいずれかで
あり得り、中央制御装置12の動作を制御するた
め該信号が中央制御装置のハードウエア回路へ直
接印加される。該ライン上の信号については、特
定のものだけが本発明に関係している。該関係す
るこれらは信号0〜6であり、該信号は1群まと
めてデコーダ回路(第10図)へ印加されて簡略
記号で示した「LT・RAM」(T・RAMへエン
トリを装荷する)、「TRCT」(参照・変更テーブ
ルを検査する)および「RRCT」(参照・変更テ
ーブルをリセツトする)により固定された制御信
号の1つを導出するものであり、信号22および
23について述べると、該信号は3個のMARレ
ジスタ28のうちの1つを選択するものであり、
その用途については後述され、さらに信号27〜
29について述べると、これらの信号は1群ごと
デコーダ回路(第10図)へ印加されて簡略記号
で示した「WT」(書込み形の翻訳動作)および
「TRAN」(翻訳)により固定される翻訳制御信
号の1つ又は2つを導出する。導出された制御信
号の特定的な用途については後述される。
マクロ命令およびデータ処理装置の状態に応答
する制御信号の特定の群をアクセスする一般的な
方法は、本発明の特徴部分を成すものではなく、
従来のデータ処理装置の処理方法において良く理
解される。本発明で関心の対象とする特定の群の
アクセス方法について下記に述べる。
第11図を参照すると、第11図にはT・
RAMアドレスラツチ38の回路が詳細に図示さ
れている。32ビツトのCバス24からのビツト8
〜31は24ビツトの仮想的なアドレスを包含するも
のであり、該ラツチ回路38への入力である。ラ
ツチ回路38は制御信号およびクロツク信号から
成る「CK」における信号の入力により制御され、
該制御信号は前述のTRAM、LT・RAM、
TRCT又はRRCTを論理演算した結果の1つの
信号であり、TRANなどの信号の導出について
は第10図に示されており、一方クロツク信号は
「T2」(第18図)である。クロツク信号が発せ
られると、ラツチ回路はビツト0〜13を伝送し、
該ビツトはV0ビツト(「IVA」)および仮想的な
アドレスの12ビツトのT・RAMインデツクス
(第5図参照)から成る。ラツチ回路38の残り
の出力は11ビツトのオフセツト信号(第5図参
照)から成り、MARマルチプレクサ52へ印加
される。
第12図について述べると、第12図にはT・
RAM42の回路が詳細に示されている。ラツチ
回路38から出力された12個のT・RAMインデ
ツクスビツトが(第11図)印加され、入力又は
出力のいずれかのためにT・RAMをインデツク
スづける。T・RAMエントリを表わす信号は、
制御信号「LT・RAM」(第10図に図示の回路
からの信号)とクロツク信号T2(第18図参
照)とが一緒に適用された状態において、バーチ
ヤルアドレスレジスタ26からのデータイン
(「DI」)部においてT・RAMへ印加される。該
T・RAMエントリを表わす信号がインデツクス
されたロケーシヨンに記憶される。インデツクス
されたエントリを表わす信号はデータアウト
(「DO」)部における出力であり、(ページフレー
ムナンバを表わす)ビツト3〜15がT・RAMマ
ルチプレクサ54(第16図)へ印加されるが、
この動作形態については後述する。
第4図について述べると、T・RAMエントリ
として記憶された信号は、障害ビツト(F)、読
出保護ビツト(RP)、書込保護ビツト(WP)お
よび13ビツトのページフレームナンバから成る。
第12図において図示の如く、これらの16個の信
号はT・RAM42のデータアウト(DO)部に
おける出力である。第13図を参照すると、T・
RAMアドレスラツチ回路38(第11図)から
の「IVA」ビツトと一諸の障害ビツト、制御信
号記憶装置14からの制御信号CM22および2
3(MAR選択信号)およびTRAN(第10図に
図示の回路からの出力)が翻訳トラツプ論理回路
56へ印加され、該論理回路は2つの可能なトラ
ツプ信号、TT0およびTT1のうちの1つを発
生させる。これらの信号は両者とも翻訳を検知す
るものであり、メモリアドレスレジスタに依存す
る両者間の差異はアドレス信号を受け入れること
にあり、この差異は本発明の関心の対象ではな
い。
第14図について述べると、T・RAM42か
らのWPおよびRPビツトがSTATEビツト(第2
図)、およびWTおよびTRAN制御信号(第10
図からの出力信号)と共に保護トラツプ論理回路
58へ印加される。この論理回路はトラツプ信号
TT2を発生させる。保護ビツトの使用について
は一般によく知られており、ここでは述べない。
3つのトラツプ信号が第15図に図示の回路6
0へ印加され、もしくはトラツプ信号が発生され
ぬ場合には(すなわち、T・RAMの障害および
保護の障害のいずれも存在せぬ場合には)、該回
路は「トラツプ無し」制御信号TTを発生する。
3つのトラツプ信号のその他の機能については後
述する。
第16図について述べると、制御信号TTがク
ロツク信号T1と共にT・RAMマルチプレクサ
54へ印加され、該マルチプレクサの2つの入力
(各個の入力が1組のライン)の1つを選択させ
る。もしトラツプ信号が存在しない場合には、
T・RAM42のT・RAMエントリ読み出し部
の13ビツトページフレームナンバ(物理的なアド
レス)がマルチプレクサ54によりラインTR0
〜12上に乗せられMARマルチプレクサ52へ
伝送される(第2図参照)。一方、トラツプ信号
が存在する場合には、Cバスのビツト(仮想的な
アドレス)がラインTR0〜12に乗せられて
MARマルチプレクサ52へ伝送される。
第17図について述べると、第17図には参
照・変更テーブルが詳細に図示されている。この
テーブルの動作を制御する制御信号は、簡略記号
WT(書込形翻訳動作)、RRCT(参照・変更テー
ブルのリセツト)、RF(参照ビツトのセツト)お
よびTRCT(参照・変更テーブルの検査)、これ
らは全て第10図に示した回路からの出力、第1
3図に示した回路からの出力信号TRAN(翻訳)、
第15図に示した回路からの出力信号TT(トラ
ツプ無し)、第9図に示した回路からの出力信号
CM22(MAR選択制御信号の1つ)、および
CL9およびCL10であり、CL9およびCL10
はT・RAMラツチ回路38(第11図)からの
出力信号である。クロツク信号T1およびTA
(第18図)はさらに、参照・変更データの動作
を制御する。信号RRCTは、T・RAMビツト3
〜15によりインデツクス付けされた2ビツトのエ
ントリ信号を「00」にリセツトする(両ビツトと
も「低」にセツトされる)。信号RFはインデツク
ス付けされたエントリ高を示す「参照」ビツトを
セツトする。信号TTを有する信号WTはインデ
ツクス付けされたエントリ高を示す「変更」ビツ
トをセツトする。T・RAM42からインデツク
ス参照・変更テーブル50へページフレームナン
バを用いることは、データ処理装置の速度の向上
および動作効率の向上を提供するためにある。
信号TRCT、ステータスレジスタ46におけ
る状態を示すビツト「M2H」および「M2B」
(第2図参照)がアドレス指定されたエントリの
参照および変更ビツトの値に対応させてセツトさ
れるべきであるようにする。該状態ビツトは後で
オペレーテイングシステムにより検査され、それ
により2次記憶装置の内容を主記憶装置の内容に
一致させることを維持するため2次記憶装置のあ
る部分が、再書込みされるべき必要があるかどう
かを決定する。この手順はデータ処理装置の動作
形態に関する従来技術としてよく知られており、
本発明の特徴部分を成すものではない。
第9図を参照すると、トラツプ信号tt0,tt1
およびtt2は制御信号記憶装置において記憶され
た制御信号の特定の群をアクセスするように示さ
れている。示された機能を遂行する特定の制御信
号の詳細については、使用されるべきデータ処理
装置の詳細な構造に依存する場合が多く、そのよ
うな特定の制御信号をどのように選択するかとい
うことに関しては、データ処理装置の設計者の技
術的な選択の範囲内のことである。それゆえ、デ
ータ処理装置の動作を述べるに当つては、T・
RAMに装荷するために要求される信号を除いて
は制御信号の詳細についてはここでは触れず一般
的に記述する。
一般に、スタツク30の部分36(セグメント
デイスクプタのテーブル)からメモリデータレジ
スタ40の1つにコピーするためのCPUを制御
する制御信号のT・RAM障害操作信号群は、仮
想的なアドレス信号を示すT・RAMインデツク
スのセグメント部分(高次の3ビツト)により指
示された特定のセグメントデイスクプタを代表す
る信号となるものであり、メモリアドレスレジス
タ28からBバス23を通してワークレジスタへ
伝送される。
第7図を参照すると、各個のセグメントデイス
クリプタは32ビツトから成り、そのビツト0は後
述する「監視(monitor)ビツト」と呼ばれ、ビ
ツト1〜10はセグメント用のページテーブル長を
表わし、ビツト11〜30はセグメント用のページテ
ーブルのアドレスを表わし、そしてビツト31は
「仮想的又は物理的」ビツトであり、アドレスが
仮想的であるか物理的であるかを示すものであ
る。ページテーブルアドレスが物理的な場合には
アドレスは翻訳される必要はなく、ページテーブ
ルアドレスが仮想的な場合にはアドレスは処理す
る前に翻訳されねばならぬ。
セグメントデイスクリプタ信号のページテーブ
ルアドレス部分は、主記憶装置16においてペー
ジテーブルをアドレス指示するために用いられ
る。ページテーブルエントリのフオーマツトは第
6図に示されており、T・RAMエントリのフオ
ーマツトと同一になつていることが見出される。
ページテーブル内にある特定のページテーブルが
仮想的なアドレス信号(すでにワークレジスタ内
にある)のT・RAMインデツクス部分(ビツト
V1〜V13)から成るページ部分を用いることに
よりアドレス指定される。アドレス指定されたペ
ージテーブルエントリを表わす信号は主記憶装置
からバーチヤルアドレスレジスタ26へ移送され
る。PTEの障害ビツトが検査される。障害ビツ
ト=1の場合にはページは記憶装置には存在せ
ず、従来の手段により移送されねばならず、そし
て障害ビツトが「0」にリセツトされる。障害ビ
ツト=0の場合には、制御信号LT・RAM(第1
0図)は、障害ビツト「0」にセツトすると共
に、ページテーブルエントリ信号をインデツクス
付けされたロケーシヨンにおけるT・RAMに装
荷し、またその状態が本発明とは無関係な方法に
より決められる保護ビツトも障害ビツトと共に
「0」にセツトされる。
第19図について述べると、セグメントデイス
クリプタ信号の「監視ビツト」が回路62により
検査される。もし監視ビツトが低であるべきこと
が見出されると、マクロ命令の解約
(interprete)が再開される。もし監視ビツトが
高であるべきことが見出されると、制御信号
「MOVE VA」がワークレジスタからスタツク3
0へ印加されるべき仮想的なアドレス信号を生じ
させる出力信号を出力する。スタツクアドレス論
理回路64はスタツクのモニタエリア34内のロ
ケーシヨンにアドレス指定し、仮想的なアドレス
信号がモニタエリア内に記憶される。128個まで
の仮想的なアドレスがモニタエリア内に記憶され
得る。該アドレスの計数値が保存され、さらに仮
想的にアドレスを装荷する場合においてスタツク
アドレス論理回路64において用いられる。仮想
的なアドレス信号がモニタエリア34の内部に記
憶された後、マクロ命令の解釈が再開される。
モニタエリア34に記憶された仮想的なアドレ
ス信号はT・RAM42における特定のエントリ
をクリアするのに使用可能である。このことは
種々の方法において実施され得るが、本発明とは
関連のない動作状態に依存する。特に、データ処
理装置が或るタスクから他のタスクへ切換える場
合、監視されたエントリがオペレーテイングシス
テムによりクリアされ、オペレーテイングシステ
ムはタスクの切換えとの関連により実施される他
の「ハウスキーピング」動作と関連しており、該
監視されたエントリはその他の点に関しては本発
明の関心の対象ではない。第9図を参照すると、
「タスクスイツチ」信号は、該監視されたエント
リをクリアするために制御信号記憶装置の内部に
ある特定の制御信号をアクセスする。
T・RAMエントリのクリア処理中、第20図
に示した概念的な図から判るように、スタツク3
0のモニタエリア34に記憶された仮想的なアド
レス信号がT・RAMアドレスラツチ回路38へ
印加され、クリアされるべき特定のエントリをイ
ンデツクス付ける。エントリの高次の(故障)ビ
ツトが「高」にセツトされ、残りのビツトがエン
トリをクリアするためインデツクス付けられたロ
ケーシヨンにおいて「低」にセツトされる。モニ
タ・エリアからのアドレス信号を用いることによ
り、特定の監視されたエントリが全部のT・
RAMをクリアする必要なしに迅速にクリアされ
ることができる。丁度その時、(例えばオペレー
テイングシステムのセグメントに対するアドレス
を表わす信号として)監視されぬエントリはT・
RAM内に残り、次のメモリアクセスに関してク
リアされる必要はない又は再装荷される必要はな
い。このことは次の動作状態を保存する。
例えば、仮想的なアドレス空間のセグメント1
(第3図)の使用について考えてみる。データ処
理装置の動作が開始するとき、セグメント1の仮
想的なアドレス空間用のT・RAMにおける有効
なエントリは全く存在しない。オペレーテイング
システムは最初に、M=1(監視することを示す、
第7図参照)としてセグメント1用のセグメント
デイスクリプタを装荷する。それからセグメント
1を使用するタスクの動作が開始する。
タスクの実行が割込れる前に、このタスクの実
行がセグメント1の9つのページに関係するメモ
リを必要とする場合を想定する。これらのページ
の各個がアクセスされると、その仮想的なアドレ
スはセグメントデイスクリプおよびページテーブ
ルを参照することにより翻訳され、各個の参照に
際し、監視ビツトの状態が考慮され、そして物理
的なアドレスの各個がT・RAMに記憶される
と、仮想的なアドレスがモニタエリア34に記憶
される。タスクがそのタスク実行中に割込まれる
と、セグメント1のT・RAMエントリはクリア
されねばならぬ。この例示においては、この時点
において、9つのスタツク30のモニタ・エリア
34に記憶された仮想的なアドレスが存在し得
る。それゆえ、この9つのT・RAMエントリの
みがクリアされる必要がある。動作形態について
述べると、翻訳機能が、CPU12の動作中、マ
クロ命令に応答して呼び出される、すなわち、プ
ログラムの一部分を形成する命令がデータ処理装
置により実行される。CPU12マクロ命令の各
込を解釈し、CPU12のハードウエア要素は規
定された動作を実行するためにその解釈にもとづ
いて動作する。マクロ命令のそのようなハードウ
エアの解釈は一般に、従来においても良く理解さ
れており、下記に述べることを除いてはその詳細
については本発明の特徴部分を形成するものでは
ない。
マクロ命令の解釈中、もしCPU12がメモリ
アクセス動作が規定されたことを認識すると、そ
れに応答してCPU12は制御信号記憶装置14
からの特定の制御信号をアクセスし、特定の信号
がラインCM27〜29(第10図)に包含され
る。
記憶装置に対する毎回のアクセスごと翻訳動作
は要求されぬ。しばしば記憶装置の隣接するロケ
ーシヨンに対する連続したメモリアクセス動作が
あり、この場合には連続したメモリアクセス動作
の各個のために23ビツト全部のアドレスを発生さ
せるよりもむしろ、次のメモリアクセス動作のた
めのロケーシヨンを規定するためにすでに発生さ
れた(そしてすでにMAR28に現存する)アド
レスを増加させる又は減少させることが可能であ
る。このような増加又は減少させる段階は「リツ
プル」動作として引用され、ここで述べたデータ
処理装置においては、「リツプル」機能は、第1
0図に示したものとは相異なるラインCM27〜
29の制御信号との組合せにより規定される。制
御信号記憶装置の中の制御信号の「リツプル」又
は「翻訳」群の選択はCPU12におけるマクロ
命令の他の解釈方法により制御されるが、これは
本発明の関心の対象ではない。
もし次の物理的なアドレスが「リツプル」によ
つてよりも翻訳により決定されるべきであり、読
み出し又は書き込み動作のいずれかが包含される
ような場合には、3本のラインCM27〜29上
の出力信号は「翻訳と共に主記憶装置の内容を読
み出す(read main memory with
translation)」動作(RTRAN)又は「翻訳と共
に主記憶装置に書き込む(write main memory
With translation)」動作(WTRAN)のいずれ
かを制御する。「RTRAN」動作には或る動作状
態に依存する2種類のものが設けられるが、それ
は本発明の関心の対象ではない。
ラインCM27〜29上の信号と組み合せられ
て用いられるRTRAN又はWTRANを包含する
制御信号の群はまた、Cバスデイステイネーシヨ
ン制御信号を包含し、該デイステイネーシヨン制
御信号は、メモリアクセスが存在する時点におい
て、Cバス24上に形成され配置されるべき、そ
してCバス24からバーチヤルアドレスレジスタ
26およびT・RAMアドレスラツチ回路38へ
印加される仮想的なアドレスを示す信号を発生さ
せる。制御信号TRANはT・RAMアドレスラツ
チ回路38からT・RAM42へ仮想的なアドレ
ス信号のT・RAMインデツクス部をラツチす
る。インデツクス付けされたT・RAMエントリ
はT・RAM42のデータアウト部における出力
信号を取り込む。障害および保護ビツト(TR0
〜TR2)は第13図および第14図に示したト
ラツプ回路へ印加され、一方ページフレームナン
バビツト(TR3〜15)はT・RAMマルチプレク
サ54(第16図)へ印加される。トラツプが存
在しない場合において、「トラツプ無し」信号
TTはマルチプレクサ54を切換え、ページフレ
ームナンバ信号をMARマルチプレクサ52(第
2図)へ伝送し、MARマルチプレクサはオフセ
ツト信号V14〜23と共に該ページフレームナ
ンバ信号をMAR28へ伝送し、物理的なアドレ
スを表わす信号の組が形成される。参照・変更デ
ーブル50におけるインデツクス付けされたエン
トリがこのとき更新される。
反対にもしT・RAM障害が存在すると、第1
3図に示した回路56への障害ビツト(TR0)
入力は発生されるべき翻訳トラツプ信号tt0又は
tt1を生じさせる。回路60(第15図)の出力
がマルチプレクサ54を切換え、Cバス24から
MARマルチプレクサ52へT・RAMアドレス
信号を出力する。翻訳トラツプ信号は制御信号記
憶装置14内にある制御信号の特定の群をアクセ
スし、該制御信号記憶装置は、セグメント用のペ
ージセーブルを主記憶装置16内にアドレス指定
するために用いられるべきスタツク30のテーブ
ル36におけるセグメントデイスクリプタを生じ
させる。ページテーブルエントリはセグメントペ
ージテーブル内に見出され、そして特別に解読さ
れた制御信号LT・RAM(第10図)は、T・
RAMアドレスラツチ回路38からのT・RAM
インデツクス信号により示されたロケーシヨンに
おいてV MAR26からT・RAM42(第1
2図)に装荷されるべきページテーブルエントリ
信号を生じさせる。セグメントデイスクリンプタ
の「監視ビツト」は回路62により検査され、そ
してもし「監視ビツト」が「高」であると、仮想
的なアドレス信号がスタツク30のモニタエリア
34に記憶され、後でT・RAMエントリのクリ
アを選択する際に用いられる。
それから、マクロ命令の解釈が再開される。
WTRAM又はRTRAM制御信号が再び第10図
に示した回路に印加され、インデツクス付けした
エントリ信号がT・RAM42から読み出され
る。このときは障害ビツト=0であり、翻訳され
たページフレームナンバ信号がMAR28に置か
れるべきことを許可することにより、マクロ命令
により規定された読出又は書込動作を実行させ
る。このとき参照・変更テーブル50がページフ
レームナンバ信号(第17図)によりインデツク
ス付けされたロケーシヨンにおいて更新される。
もし第14図に示した回路54により検出され
た保護障害があると、保護トラツプ信号tt2が制
御信号記憶装置14の内部に記憶された特定の制
御信号(第9図)をアクセスしCPU12の適切
な動作を生じさせるが、この方法については本発
明の関心の対象ではない。
T・RAM42はインデツクス付けのタイミン
グチヤートが第22図に示されている。この図か
ら判るように、中央処理装置(CP)の1サイク
ルが4つのタイミング間隔TA、T0、T1およ
びT2(これらの信号は第18図に見出されるよ
うに発生される)から成る。翻訳動作の各個は2
つのCPサイクル、すなわち1つの「MOVE」お
よび1つの「TRAN」が必要である。このタイ
ミングは、T・RAM障害が存在するか否かに拘
らず同じである。
タイミング信号T2はT・RAMアドレスラツ
チ回路(第11図)への入力信号であり、仮想的
なアドレス信号をCバス24T・RAM42をイ
ンデツクス付けするようにラツチさせる。T・
RAM出力信号のF、WPおよびRPビツトは第1
3図および第14図に示した回路に印加されてト
ラツプ信号を発生させ、タイミング信号T1を有
する回路60の出力信号(第15図)がT・
RAMマルチプレクサ54へ印加される。T・
RAM障害が存在する場合には、仮想的なアドレ
ス信号がMARマルチプレクサ52へ伝送される
一方、ページフレームナンバ(物理的なアドレ
ス)信号も伝送される。MARマルチプレクサ5
2の出力信号(第23図)がタイミング信号T2
においてMAR28に装荷される。最終的に参
照・変更テーブル50が、(もしT・RAM障害
が存在しなならば)次のタイミング信号T1にお
いて更新される。
以上に述べたように、T・RAM障害が存在す
る場合には、トラツプ信号が制御信号記憶装置1
4に印加され、障害を処理するための適切な制御
信号がアクセスされる。そのようにしてアクセス
された制御信号から導出された信号の1つが
LT・RAM(T・RAMを装荷する、第10図)
であり、以上に述べたように、このLT・RAは
T・RAMに装荷させるべきページフレームナン
バ信号を生じさせる。T・RAMの障害発生後に
1つのエントリをT・RAM42に装荷するタイ
ミングチヤートが第23図に示されている。
データ処理装置が第1の利用者のプログラムの
或る部分を実行した後、データ処理装置は他の利
用者のプログラムを実行させるために切換える。
このことは、新しいデータがフアイル(2次記憶
装置、第1図)から主記憶装置へ移送され得るに
際しての普通の方法を意味し得る。(第2の利用
者の仮想的なアドレス空間のセグメントの各個用
の)ページテーブルがオペレーテイングシステム
により構成され、主記憶装置における特定のペー
ジフレームに記録され、2次記憶装置の特定のペ
ージが主記憶装置内に書き込れる。これらのペー
ジテーブルは、第2の利用者により参照されるも
のとしての仮想的なメモリのために仮想的なアド
レスを物理的なアドレスに翻訳するために用いら
れ得る。前者の利用者のシステム用のページテー
ブルが有効であるとは限らないが(第2の利用者
のプログラム又はデータが現時点では第1の利用
者により前に用いられたページフレーム内に配置
されている可能性があるので)、第1のページテ
ーブルを参照するT・RAMにおけるエントリは
無効状態にされねばならぬ。
オペレーテイングシステムは、数多くの「ハウ
スキーピング」動作を実行する際にこのタスク切
換動作に応答しページテーブルが指示され、「ハ
ウスキーピング」動作には新しいセグメントデイ
スクリプタを主記憶装置からスタツク30の部分
36へ移送する際の新しいページテーブルの駆動
動作をも包含する。このような動作の間、オペレ
ーテイングシステムは、以上に述べた方法におい
て、スタツク30のモニタエリア34に記憶され
た仮想的なアドレスを用いて、第20図に示した
如くT・RAMからの監視されたエントリをクリ
アする。しかしながら、T・RAMにある全ての
エントリが無効であるということではなく、オペ
レーテイングシステムのセグメント(セグメント
0)を参照するエントリは依然として有効状態と
して残る。そのようなオペレーテイングシステム
の部分としては、例えば、スケジユーラ・モジユ
ール、ページ決めモジユール、フアイルマネージ
メントサービス又はデータベースマネージメント
サービス等である。このような場合においては、
これらのモジユールを包含するセグメント用のセ
グメントデイスクリプタは「低」にセツトされた
監視ビツトを有することができ、その結果とし
て、このセグメント内の仮想的なアドレスはモニ
タエリア34には記憶され得ない。それゆえ、こ
のセグメント用のT・RAMエントリのいずれも
がタスク切換に依存してクリアされるということ
はない。本発明によれば、新しいタスクが駆動さ
れるとき、監視されたセグメント用のページテー
ブルからのエントリのみが無効状態にされる。
本発明の実施にあたつては、前述の実施例のほ
か、本発明の技術的思想および実施態様項に記載
の範囲において、種々の変形形態をとることが可
能である。
【図面の簡単な説明】
第1図は、本発明の一実施例としてのデータ処
理装置を示す線図、第2図は、第1図のデータ処
理装置における中央プロセツサを示す線図、第3
図は、第1図のデータ処理装置における仮想アド
レススペースを示す概念的な図、第4図は、第1
図のデータ処理装置における翻訳RAMにおける
入力のフオーマツトを示す図、第5図は、仮想ア
ドレスのフオーマツトを示す図、第6図は、ペー
ジテーブル入力のフオーマツトを示す図、第7図
は、セグメント制御レジスタのフオーマツトを示
す図、第8図は、物理的アドレスのフオーマツト
を示す図、第9図は、制御メモリおよびその出力
を示す図、第10図は、制御メモリの出力のうち
の或るものから特定の制御信号を取り出す回路を
示す図、第11図は、翻訳RAMアドレスラツチ
の回路の詳細を示す図、第12図は、翻訳RAM
の回路の詳細を示す図、第13、第14および第
15図は特定の制御信号を取り出す回路を示す
図、第16図は、翻訳RAMマルチプレクサの回
路を示す図、第17図は、基準/変化テーブルの
回路の詳細を示す図、第18図は、第1図のデー
タ処理装置の動作を制御するのに用いられるタイ
ミング信号を示す図、第19図は、監視機能に関
連する中央プロセツサの要素の詳細を示す図、第
20図は、翻訳RAMにおける監視された入力を
クリアする過程を概念的に示す図、第21図は、
メモリアドレスレジスタマルチプレクサの回路の
詳細を示す図、第22図および第23図は、第1
図装置における翻訳RAMをアクセスするタイミ
ングおよび翻訳RAMへの入力を導入するタイミ
ングを示す図である。 (符号の説明)、10……データ処理装置、1
2……中央処理装置、14……制御信号記憶装
置、15……バス、16……主記憶装置、18…
…主記憶制御装置、20……2次記憶装置、21
……Aバス、22……演算ユニツト、23……B
バス、24……Cバス、26……バーチヤルアド
レスレジスタ、28……メモリアドレスレジス
タ、30……スタツク、32……Cバスメモリマ
ルチプレクサ、34……モニタエリア、38……
T・RAMアドレスラツチ回路、40……メモリ
データレジスタ、42……T・RAM、46……
ステータスレジスタ、50……参照・変更テーブ
ル、52……MARマルチプレクサ、54……
T・RAMマルチプレクサ、56……変換トラツ
プ論理回路、58……保護トラツプ論理回路。

Claims (1)

  1. 【特許請求の範囲】 1 複数のセグメントを有する仮想メモリを支持
    している多重タスクデータ処理装置10におい
    て、 ラツチ回路38、メモリアドレスレジスタ2
    8、メモリデータレジスタ40を有する中央プロ
    セツサ12、 前記中央プロセツサ12に接続された制御記憶
    装置14、 前記中央プロセツサ12に接続され、前記メモ
    リアドレスレジスタ28からのアドレス信号を受
    け取るアドレス信号ライン、及び前記メモリデー
    タレジスタ40からデータ信号を受け取りかつ該
    メモリデータレジスタにデータ信号を供給するデ
    ータ信号ラインを有するバスライン15、及び データ及びマクロ指令をあらわすデータ信号を
JP56216089A 1980-12-29 1981-12-29 Data processor Granted JPS57135493A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/220,902 US4410941A (en) 1980-12-29 1980-12-29 Computer having an indexed local ram to store previously translated virtual addresses

Publications (2)

Publication Number Publication Date
JPS57135493A JPS57135493A (en) 1982-08-21
JPH0425579B2 true JPH0425579B2 (ja) 1992-05-01

Family

ID=22825488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56216089A Granted JPS57135493A (en) 1980-12-29 1981-12-29 Data processor

Country Status (11)

Country Link
US (1) US4410941A (ja)
JP (1) JPS57135493A (ja)
BE (1) BE891653A (ja)
CA (1) CA1165898A (ja)
CH (1) CH657218A5 (ja)
DE (1) DE3151745A1 (ja)
FR (1) FR2497374B1 (ja)
GB (1) GB2090448B (ja)
IT (1) IT1145635B (ja)
NL (1) NL192144C (ja)
SE (1) SE445269B (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4464713A (en) * 1981-08-17 1984-08-07 International Business Machines Corporation Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store
US4525778A (en) * 1982-05-25 1985-06-25 Massachusetts Computer Corporation Computer memory control
JPS6047624B2 (ja) * 1982-06-30 1985-10-22 富士通株式会社 アドレス変換制御方式
US4513371A (en) * 1982-07-29 1985-04-23 Ncr Corporation Computer interface apparatus using split-cycle lookahead addressing for faster access to paged memory
US4926316A (en) * 1982-09-29 1990-05-15 Apple Computer, Inc. Memory management unit with overlapping control for accessing main memory of a digital computer
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
JPH0658646B2 (ja) * 1982-12-30 1994-08-03 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション デ−タ持続性が制御される仮想記憶アドレス変換機構
DE3300223A1 (de) * 1983-01-05 1984-07-05 Siemens AG, 1000 Berlin und 8000 München Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage
US4580217A (en) * 1983-06-22 1986-04-01 Ncr Corporation High speed memory management system and method
US4538241A (en) * 1983-07-14 1985-08-27 Burroughs Corporation Address translation buffer
US4747043A (en) * 1984-02-10 1988-05-24 Prime Computer, Inc. Multiprocessor cache coherence system
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US4873629A (en) * 1984-06-20 1989-10-10 Convex Computer Corporation Instruction processing unit for computer
US4757438A (en) * 1984-07-12 1988-07-12 Texas Instruments Incorporated Computer system enabling automatic memory management operations
EP0182501A3 (en) * 1984-11-20 1988-01-20 Tektronix, Inc. Memory mapping method and apparatus
EP0452991A3 (en) * 1985-05-29 1992-04-15 Kabushiki Kaisha Toshiba Cache system adopting an lru system
US4972338A (en) * 1985-06-13 1990-11-20 Intel Corporation Memory management for microprocessor system
US4698749A (en) * 1985-10-18 1987-10-06 Gte Communication Systems Corporation RAM memory overlay gate array circuit
JPH0814803B2 (ja) * 1986-05-23 1996-02-14 株式会社日立製作所 アドレス変換方式
US4930065A (en) * 1987-08-20 1990-05-29 David Computer Corporation Automatic data channels for a computer system
US4937736A (en) * 1987-11-30 1990-06-26 International Business Machines Corporation Memory controller for protected memory with automatic access granting capability
US5155834A (en) * 1988-03-18 1992-10-13 Wang Laboratories, Inc. Reference and change table storage system for virtual memory data processing system having a plurality of processors accessing common memory
US5155826A (en) * 1988-12-05 1992-10-13 Fadem Richard J Memory paging method and apparatus
US5099415A (en) * 1989-02-15 1992-03-24 International Business Machines Guess mechanism for virtual address translation
US5644787A (en) * 1993-08-03 1997-07-01 Seiko Epson Corporation Apparatus for controlling data transfer between external interfaces through buffer memory using table data having transfer start address transfer count and unit selection parameter
US5479628A (en) * 1993-10-12 1995-12-26 Wang Laboratories, Inc. Virtual address translation hardware assist circuit and method
US5842225A (en) * 1995-02-27 1998-11-24 Sun Microsystems, Inc. Method and apparatus for implementing non-faulting load instruction
US5838893A (en) 1996-12-26 1998-11-17 Microsoft Corporation Method and system for remapping physical memory
US5956754A (en) * 1997-03-03 1999-09-21 Data General Corporation Dynamic shared user-mode mapping of shared memory
KR100546403B1 (ko) * 2004-02-19 2006-01-26 삼성전자주식회사 감소된 메모리 버스 점유 시간을 가지는 시리얼 플레쉬메모리 컨트롤러
US7506009B2 (en) * 2005-01-28 2009-03-17 Dell Products Lp Systems and methods for accessing a shared storage network using multiple system nodes configured as server nodes
GB0505289D0 (en) * 2005-03-15 2005-04-20 Symbian Software Ltd Computing device with automated page based rem shadowing and method of operation
US20070039060A1 (en) * 2005-08-12 2007-02-15 Jamieson Georges E Methods and systems for programming secure data into programmable and irreversible cells
US9588902B2 (en) * 2012-12-04 2017-03-07 Advanced Micro Devices, Inc. Flexible page sizes for virtual memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53121538A (en) * 1977-03-31 1978-10-24 Fujitsu Ltd Information processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3829840A (en) * 1972-07-24 1974-08-13 Ibm Virtual memory system
JPS51115737A (en) * 1975-03-24 1976-10-12 Hitachi Ltd Adress conversion versus control system
US3976978A (en) * 1975-03-26 1976-08-24 Honeywell Information Systems, Inc. Method of generating addresses to a paged memory
JPS52149444A (en) * 1976-06-08 1977-12-12 Fujitsu Ltd Multiplex virtual space processing data processing system
DE2641722C3 (de) * 1976-09-16 1981-10-08 Siemens AG, 1000 Berlin und 8000 München Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53121538A (en) * 1977-03-31 1978-10-24 Fujitsu Ltd Information processor

Also Published As

Publication number Publication date
CH657218A5 (de) 1986-08-15
JPS57135493A (en) 1982-08-21
NL192144C (nl) 1997-02-04
IT1145635B (it) 1986-11-05
BE891653A (fr) 1982-04-16
FR2497374B1 (fr) 1988-05-06
FR2497374A1 (fr) 1982-07-02
SE445269B (sv) 1986-06-09
GB2090448B (en) 1984-11-28
SE8107831L (sv) 1982-06-30
CA1165898A (en) 1984-04-17
DE3151745A1 (de) 1982-08-19
US4410941A (en) 1983-10-18
DE3151745C2 (ja) 1991-05-16
NL8105849A (nl) 1982-07-16
IT8168706A0 (it) 1981-12-29
GB2090448A (en) 1982-07-07
NL192144B (nl) 1996-10-01

Similar Documents

Publication Publication Date Title
JPH0425579B2 (ja)
US5335334A (en) Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US4747070A (en) Reconfigurable memory system
US3569938A (en) Storage manager
US4831520A (en) Bus interface circuit for digital data processor
US5826057A (en) Method for managing virtual address space at improved space utilization efficiency
JP2635058B2 (ja) アドレス変換方式
US4888679A (en) Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US4334269A (en) Data processing system having an integrated stack and register machine architecture
US4851991A (en) Central processor unit for digital data processing system including write buffer management mechanism
JPS624745B2 (ja)
US4520441A (en) Data processing system
US4079453A (en) Method and apparatus to test address formulation in an advanced computer system
JPH0364890B2 (ja)
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
JPH0348541B2 (ja)
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JPS604493B2 (ja) マイクロプログラム化データ処理システム
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US4338662A (en) Microinstruction processing unit responsive to interruption priority order
US3840864A (en) Multiple memory unit controller
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
JPH0192856A (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法