JPH0460727A - 仮想記憶管理方式 - Google Patents
仮想記憶管理方式Info
- Publication number
- JPH0460727A JPH0460727A JP2171203A JP17120390A JPH0460727A JP H0460727 A JPH0460727 A JP H0460727A JP 2171203 A JP2171203 A JP 2171203A JP 17120390 A JP17120390 A JP 17120390A JP H0460727 A JPH0460727 A JP H0460727A
- Authority
- JP
- Japan
- Prior art keywords
- segment descriptor
- register
- base register
- segment
- base
- 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的コ
(産業上の利用骨!!F)
この発明は、セグメンテーション方式による仮想記憶管
理機構を有する計算機システムに好適な仮想記憶管理方
式に関する。
理機構を有する計算機システムに好適な仮想記憶管理方
式に関する。
(従来の技術)
セグメンテーション方式による仮想記憶管理機構を有す
る計算機システムにおいては、仮想空間はセグメントと
呼ばれるブロックに分割され、セグメントの仮想空間上
での開始アドレスとセグメントの大きさを示す情報がセ
グメントディスクリプタと呼ばれるデータブロックに保
持される。
る計算機システムにおいては、仮想空間はセグメントと
呼ばれるブロックに分割され、セグメントの仮想空間上
での開始アドレスとセグメントの大きさを示す情報がセ
グメントディスクリプタと呼ばれるデータブロックに保
持される。
仮想空間に対するアクセスは、セグメントの開始アドレ
スとセグメント開始アドレスからの相対位置であるセグ
メント内相対アドレスとを加算して仮想空間内での絶対
位置を示す仮想アドレスを生成することによって行なわ
れる。セグメントディスクリプタを指定する情報(セグ
メントディスクリプタ指定情報)はCPU (中央処理
装置)内部に設けられたベースレジスタに保持される。
スとセグメント開始アドレスからの相対位置であるセグ
メント内相対アドレスとを加算して仮想空間内での絶対
位置を示す仮想アドレスを生成することによって行なわ
れる。セグメントディスクリプタを指定する情報(セグ
メントディスクリプタ指定情報)はCPU (中央処理
装置)内部に設けられたベースレジスタに保持される。
このベースレジスタには、さらにセグメント内相対アド
レスも保持される。一般には、ベースレジスタによって
指定されるセグメントディスクリプタによって示される
セグメント開始アドレスと、ベースレジスタによって示
されるセグメント内相対アドレスと、命令語によって与
えられる値の3つを加算することで仮想アドレスが生成
される。
レスも保持される。一般には、ベースレジスタによって
指定されるセグメントディスクリプタによって示される
セグメント開始アドレスと、ベースレジスタによって示
されるセグメント内相対アドレスと、命令語によって与
えられる値の3つを加算することで仮想アドレスが生成
される。
一般にセグメントディスクリプタは仮想空間上に置かれ
ているが、仮想アドレスの生成を高速にするために、ベ
ースレジスタ(に保持されて0るセグメントディスクリ
プタ指定情報)によって指定されるセグメントディスク
リプタを保持するためのレジスタ(セグメントディスク
リプタレジスタ)が各ベースレジスタに対応して設けら
れ、仮想アドレス生成時にはこのセグメントディスクリ
プタレジスタが高速に参照される。このようなセグメン
トディスクリプタレジスタを用いたシステムでは、ベー
スレジスタの内容が変更される毎にセグメントディスク
リプタが読み出され、そのベースレジスタに対応するセ
グメントディスクリプタレジスタに保持される。
ているが、仮想アドレスの生成を高速にするために、ベ
ースレジスタ(に保持されて0るセグメントディスクリ
プタ指定情報)によって指定されるセグメントディスク
リプタを保持するためのレジスタ(セグメントディスク
リプタレジスタ)が各ベースレジスタに対応して設けら
れ、仮想アドレス生成時にはこのセグメントディスクリ
プタレジスタが高速に参照される。このようなセグメン
トディスクリプタレジスタを用いたシステムでは、ベー
スレジスタの内容が変更される毎にセグメントディスク
リプタが読み出され、そのベースレジスタに対応するセ
グメントディスクリプタレジスタに保持される。
さて、プログラムの実行中に手続き呼び出しが起こると
、呼び出された手続きの処理中では、他のセグメントを
アクセスするためにベースレジスタの内容を変更するこ
とがある。また、同じセグメントを参照する場合でも、
ベースレジスタ中のセグメント内相対アドレスを変更す
ることがある。このため、手続き呼び出しの前に使って
いたベースレジスタの内容が呼び出した手続中で破壊さ
れる場合に備えて、手続き呼び出しに先立って、ベース
レジスタの内容をスタック領域中に保存する処理が行な
われる。そして手続きの処理が終了したときには、ベー
スレジスタの内容が手続き呼び出しの前とは変わってい
る可能性があるため、スタック領域に保存しておいたベ
ースレジスタの内容を用いてベースレジスタが復元され
る。このとき、復元されるベースレジスタの内容に含ま
れるセグメントディスクリプタ指定情報で指定されるセ
グメントディスクリプタが、セグメントディスクリプタ
レジスタに読み出される。
、呼び出された手続きの処理中では、他のセグメントを
アクセスするためにベースレジスタの内容を変更するこ
とがある。また、同じセグメントを参照する場合でも、
ベースレジスタ中のセグメント内相対アドレスを変更す
ることがある。このため、手続き呼び出しの前に使って
いたベースレジスタの内容が呼び出した手続中で破壊さ
れる場合に備えて、手続き呼び出しに先立って、ベース
レジスタの内容をスタック領域中に保存する処理が行な
われる。そして手続きの処理が終了したときには、ベー
スレジスタの内容が手続き呼び出しの前とは変わってい
る可能性があるため、スタック領域に保存しておいたベ
ースレジスタの内容を用いてベースレジスタが復元され
る。このとき、復元されるベースレジスタの内容に含ま
れるセグメントディスクリプタ指定情報で指定されるセ
グメントディスクリプタが、セグメントディスクリプタ
レジスタに読み出される。
(発明が解決しようとする課題)
上記したように、仮想アドレスの生成を高速にするため
に、ベースレジスタ(に保持されているセグメントディ
スクリプタ指定情報)によって指定されるセグメントデ
ィスクリプタを保持するためのレジスタ(セグメントデ
ィスクリプタレジスタ)が各ベースレジスタに対応して
設けられたシステムでは、プログラムの実行中に手続き
呼び出しが起こると、手続き呼び出しの前に使っていた
ベースレジスタの内容をスタック領域中に保存する処理
が必要となる。そして手続き処理が終了して元の処理に
戻るときには、ベースレジスタの内容が手続き呼び出し
の前とは変わっている可能性があるために、従来は、ベ
ースレジスタの内容の復元と、ベースレジスタに復元さ
れるセグメントディスクリプタ指定情報によって指定さ
れるセグメントディスクリプタのセグメントディスクリ
プタレジスタへの読み出しとが必ず行なわれていた。と
ころが、セグメントディスクリプタには、セグメントの
開始アドレスと大きさの情報の他にもセグメントの性質
に関する情報が含まれており、読み出しに時間がかかる
。このため、手続き処理が終了して元の処理に戻る際に
、ベースレジスタの内容の復元に伴ってセグメントディ
スクリプタの読み出しが必ず行なわれていた従来の仮想
記憶管理方式では、プログラムの実行が遅くなるという
問題があった。
に、ベースレジスタ(に保持されているセグメントディ
スクリプタ指定情報)によって指定されるセグメントデ
ィスクリプタを保持するためのレジスタ(セグメントデ
ィスクリプタレジスタ)が各ベースレジスタに対応して
設けられたシステムでは、プログラムの実行中に手続き
呼び出しが起こると、手続き呼び出しの前に使っていた
ベースレジスタの内容をスタック領域中に保存する処理
が必要となる。そして手続き処理が終了して元の処理に
戻るときには、ベースレジスタの内容が手続き呼び出し
の前とは変わっている可能性があるために、従来は、ベ
ースレジスタの内容の復元と、ベースレジスタに復元さ
れるセグメントディスクリプタ指定情報によって指定さ
れるセグメントディスクリプタのセグメントディスクリ
プタレジスタへの読み出しとが必ず行なわれていた。と
ころが、セグメントディスクリプタには、セグメントの
開始アドレスと大きさの情報の他にもセグメントの性質
に関する情報が含まれており、読み出しに時間がかかる
。このため、手続き処理が終了して元の処理に戻る際に
、ベースレジスタの内容の復元に伴ってセグメントディ
スクリプタの読み出しが必ず行なわれていた従来の仮想
記憶管理方式では、プログラムの実行が遅くなるという
問題があった。
この発明は上記事情に鑑みてなされたものでその目的は
、セグメンテーション方式による仮想記憶管理機構を有
する計算機システムにおいて、手続き呼び出しの際に必
ず行なわれていたセグメントディスクリプタの読み出し
が特定の条件下では省略でき、もってプログラム処理の
高速化が図れる仮想記憶管理方式を提供することにある
。
、セグメンテーション方式による仮想記憶管理機構を有
する計算機システムにおいて、手続き呼び出しの際に必
ず行なわれていたセグメントディスクリプタの読み出し
が特定の条件下では省略でき、もってプログラム処理の
高速化が図れる仮想記憶管理方式を提供することにある
。
E発明の構成コ
(課題を解決するための手段)
この発明は、CPU中の各ベースレジスタに対応して、
そのベースレジスタの内容の一部であるセグメントディ
スクリプタ指定情報を保持するための第1の保持手段(
セグメントディスクリプタ指定レジスタ)を設けると共
に、第1の保持手段にセグメントディスクリプタ指定情
報か保持されている有効状態を保持するための第2の保
持手段(セグメントディスクリプタ指定レジスタ有効フ
ラグ)と、新たなベースレジスタの内容のうちのセグメ
ントディスクリプタ指定情報と、同レジスタに対応して
第1の保持手段に保持されているセグメントディスクリ
プタ指定情報とを比較して一致の有無を判別する比較手
段(比較器)と、この比較手段の比較結果を比較対象と
なったベースレジスタに対応して保持するための第3の
保持手段(セグメントディスクリプタ有効フラグ)とを
設け、手続き処理から戻るためにスタック領域に保存さ
れていたベースレジスタの内容を元のベースレジスタに
復元させる場合に、第2の保持手段に保持されている情
報が有効状態を示し、且つ復元されるベースレジスタに
対応する第3の保持手段に保持されている情報が一致有
りを示しているならば、そのベースレジスタに対応する
セグメントディスクリプタレジスタへのセグメントディ
スクリプタ読み出しを省略するようにしたことを特徴と
するものである。
そのベースレジスタの内容の一部であるセグメントディ
スクリプタ指定情報を保持するための第1の保持手段(
セグメントディスクリプタ指定レジスタ)を設けると共
に、第1の保持手段にセグメントディスクリプタ指定情
報か保持されている有効状態を保持するための第2の保
持手段(セグメントディスクリプタ指定レジスタ有効フ
ラグ)と、新たなベースレジスタの内容のうちのセグメ
ントディスクリプタ指定情報と、同レジスタに対応して
第1の保持手段に保持されているセグメントディスクリ
プタ指定情報とを比較して一致の有無を判別する比較手
段(比較器)と、この比較手段の比較結果を比較対象と
なったベースレジスタに対応して保持するための第3の
保持手段(セグメントディスクリプタ有効フラグ)とを
設け、手続き処理から戻るためにスタック領域に保存さ
れていたベースレジスタの内容を元のベースレジスタに
復元させる場合に、第2の保持手段に保持されている情
報が有効状態を示し、且つ復元されるベースレジスタに
対応する第3の保持手段に保持されている情報が一致有
りを示しているならば、そのベースレジスタに対応する
セグメントディスクリプタレジスタへのセグメントディ
スクリプタ読み出しを省略するようにしたことを特徴と
するものである。
(作 用)
この発明においては、プログラム実行中に手続き呼び出
しが発生して、その前に使っていたベースレジスタの内
容がスタック領域に保存される際には、そのベースレジ
スタの内容のうちのセグメントディスクリプタ指定情報
がそのベースレジスタに対応して設けられたセグメント
ディスクリプタ指定レジスタに保持され、さらにセグメ
ントディスクリプタ指定レジスタ有効フラグがセットさ
れる。また、呼び出された手続き中でベースレジスタへ
の書き込みが発生すると、ベースレジスタに書き込まれ
る情報(即ち新たなベースレジスタの内容)のうちのセ
グメントディスクリプタ指定情報と、同ベースレジスタ
に対応して設けられたセグメントディスクリプタ指定レ
ジスタの保持情報(セグメントディスクリプタ指定情報
)とが比較器により比較され、両情報が一致しているか
否かが判別される。もし、比較器によって上記両情報が
一致していることが判別された場合、即ち新たなベース
レジスタの内容によって指定されるセグメントディスク
リプタとセグメントディスクリプタ指定レジスタによっ
て指定されるセグメントディスクリプタとが同一のもの
であることが判別された場合には、比較対象となったベ
ースレジスタに対応するセグメントディスクリプタ有効
フラグがセットされる。そして、手続き処理から戻ると
きの処理において、従来てあれば、スタック領域に保存
しておいたベースレジスタの内容を元のベースレジスタ
に復元(ロード)させると共に、そのベースレジスタに
対応するセグメントディスクリプタレジスタに仮想空間
上のセグメントディスクリプタを読み出す処理が行なわ
れる。これに対して本発明では、ベースレジスタを復元
する際には、セグメントディスクリプタ指定レジスタ有
効フラグと復元されるベースレジスタに対応するセグメ
ントディスクリプタ有効フラグが参照され、両フラグが
共にセット状態にあれば、復元されるベースレジスタの
内容によって指定されるセグメントディスクリプタと、
セグメントディスクリプタ指定レジスタによって指定さ
れるセグメントディスクリプタ(したがってセグメント
ディスクリプタレジスタの内容)とが同一のものである
ものとして、セグメントディスクリプタレジスタへのセ
グメントディスクリプタの読み出しが省略される。
しが発生して、その前に使っていたベースレジスタの内
容がスタック領域に保存される際には、そのベースレジ
スタの内容のうちのセグメントディスクリプタ指定情報
がそのベースレジスタに対応して設けられたセグメント
ディスクリプタ指定レジスタに保持され、さらにセグメ
ントディスクリプタ指定レジスタ有効フラグがセットさ
れる。また、呼び出された手続き中でベースレジスタへ
の書き込みが発生すると、ベースレジスタに書き込まれ
る情報(即ち新たなベースレジスタの内容)のうちのセ
グメントディスクリプタ指定情報と、同ベースレジスタ
に対応して設けられたセグメントディスクリプタ指定レ
ジスタの保持情報(セグメントディスクリプタ指定情報
)とが比較器により比較され、両情報が一致しているか
否かが判別される。もし、比較器によって上記両情報が
一致していることが判別された場合、即ち新たなベース
レジスタの内容によって指定されるセグメントディスク
リプタとセグメントディスクリプタ指定レジスタによっ
て指定されるセグメントディスクリプタとが同一のもの
であることが判別された場合には、比較対象となったベ
ースレジスタに対応するセグメントディスクリプタ有効
フラグがセットされる。そして、手続き処理から戻ると
きの処理において、従来てあれば、スタック領域に保存
しておいたベースレジスタの内容を元のベースレジスタ
に復元(ロード)させると共に、そのベースレジスタに
対応するセグメントディスクリプタレジスタに仮想空間
上のセグメントディスクリプタを読み出す処理が行なわ
れる。これに対して本発明では、ベースレジスタを復元
する際には、セグメントディスクリプタ指定レジスタ有
効フラグと復元されるベースレジスタに対応するセグメ
ントディスクリプタ有効フラグが参照され、両フラグが
共にセット状態にあれば、復元されるベースレジスタの
内容によって指定されるセグメントディスクリプタと、
セグメントディスクリプタ指定レジスタによって指定さ
れるセグメントディスクリプタ(したがってセグメント
ディスクリプタレジスタの内容)とが同一のものである
ものとして、セグメントディスクリプタレジスタへのセ
グメントディスクリプタの読み出しが省略される。
ところで、プログラムの実行においてアクセスされるセ
グメントの数は、実行過程の短い期間をみるならば、通
常はそれほど多くなく、手続き呼び出しを行なう場合に
おいても、手続き呼び出しの前後でアクセスされるセグ
メントが大幅に異なってしまうことは少ない。このため
、ベースレジスタによりて指定されるセグメントディス
クリプタ(で示されるセグメント)のうちの幾つかは手
続き呼び出しの前後で共通のものであることが多い。し
たがって本発明のように、ベースレジスタによって指定
されるセグメントディスクリプタが手続き呼び出し時の
ものと異なるか否かを比較器によって検査して、セグメ
ントディスクリプタ有効フラグに保持しておき、手続き
を終了して元の処理に戻るときに、このフラグの状態に
よって同じセグメントディスクリプタがセグメントディ
スクリプタレジスタに既に存在していることが判る場合
には、セグメントディスクリプタの読み出しを省略する
ことによって、処理の高速化を図ることが可能となる。
グメントの数は、実行過程の短い期間をみるならば、通
常はそれほど多くなく、手続き呼び出しを行なう場合に
おいても、手続き呼び出しの前後でアクセスされるセグ
メントが大幅に異なってしまうことは少ない。このため
、ベースレジスタによりて指定されるセグメントディス
クリプタ(で示されるセグメント)のうちの幾つかは手
続き呼び出しの前後で共通のものであることが多い。し
たがって本発明のように、ベースレジスタによって指定
されるセグメントディスクリプタが手続き呼び出し時の
ものと異なるか否かを比較器によって検査して、セグメ
ントディスクリプタ有効フラグに保持しておき、手続き
を終了して元の処理に戻るときに、このフラグの状態に
よって同じセグメントディスクリプタがセグメントディ
スクリプタレジスタに既に存在していることが判る場合
には、セグメントディスクリプタの読み出しを省略する
ことによって、処理の高速化を図ることが可能となる。
(実施例)
第1図はこの発明を適用する計算機システムの仮想記憶
管理機構の一実施例を示すブロック構成図である。同図
において、10.10・・・はセグメントディスクリプ
タを指定する情報(セグメントディスクリプタ指定情報
)11およびセグメント内相対アドレス12の対を保持
するためのベースレジスタ、13.13・・・はベース
レジスタ10.10・・・に対応して設けられたセグメ
ントディスクリプタレジスタである。セグメントディス
クリプタレジスタ13は、従来の技術の項で述べたよう
に仮想アドレス生成の高速化のために設けられたもので
、対応するベースレジスタ10に保持されているセグメ
ントディスクリプタ指定情報11で指定される(仮想空
間上の)セグメントディスクリプタを保持するのに用い
られる。14.14・・・はベースレジスタ10.10
・・・に対応して設けられたセグメントディスクリプタ
指定レジスタであり、対応するベースレジスタ10の保
持内容のうちのセグメントディスクリプタ指定情報11
を保持するのに用いられる。15はセグメントディスク
リプタ指定レジスタ14の群に有効なセグメントディス
クリプタ指定情報が保持されているか否かを示すための
フラグ(以下、セグメントディスクリプタ指定レジスタ
有効フラグと称する)、16はベースレジスタ10への
書き込みが発生した場合に、そのベースレジスタlOの
保持内容のうちのセグメントディスクリプタ指定情報1
1と、そのベースレジスタlOに対応するセグメントデ
ィスクリプタ指定レジスタ14の保持内容とを比較する
比較器である。この比較器16の比較結果は、書き込み
が行なわれたベースレジスタ1(lと同レジスタlOに
対応するセグメントディスクリプタ指定レジスタ14と
が同一のセグメントディスクリプタを指定しているか否
かを示す。17.17・・・はベースレジスタ10.1
0・・に対応して設けられた、したがってセグメントデ
ィスクリプタレジスタ13.13・・・に対応して設け
られたフラグ(以下、セグメントディスクリプタ有効フ
ラグと称する)である。このセグメントディスクリプタ
有効フラグ17は、対応するベースレジスタlOを対象
とする比較器16の比較結果を保持するのに用いられる
。
管理機構の一実施例を示すブロック構成図である。同図
において、10.10・・・はセグメントディスクリプ
タを指定する情報(セグメントディスクリプタ指定情報
)11およびセグメント内相対アドレス12の対を保持
するためのベースレジスタ、13.13・・・はベース
レジスタ10.10・・・に対応して設けられたセグメ
ントディスクリプタレジスタである。セグメントディス
クリプタレジスタ13は、従来の技術の項で述べたよう
に仮想アドレス生成の高速化のために設けられたもので
、対応するベースレジスタ10に保持されているセグメ
ントディスクリプタ指定情報11で指定される(仮想空
間上の)セグメントディスクリプタを保持するのに用い
られる。14.14・・・はベースレジスタ10.10
・・・に対応して設けられたセグメントディスクリプタ
指定レジスタであり、対応するベースレジスタ10の保
持内容のうちのセグメントディスクリプタ指定情報11
を保持するのに用いられる。15はセグメントディスク
リプタ指定レジスタ14の群に有効なセグメントディス
クリプタ指定情報が保持されているか否かを示すための
フラグ(以下、セグメントディスクリプタ指定レジスタ
有効フラグと称する)、16はベースレジスタ10への
書き込みが発生した場合に、そのベースレジスタlOの
保持内容のうちのセグメントディスクリプタ指定情報1
1と、そのベースレジスタlOに対応するセグメントデ
ィスクリプタ指定レジスタ14の保持内容とを比較する
比較器である。この比較器16の比較結果は、書き込み
が行なわれたベースレジスタ1(lと同レジスタlOに
対応するセグメントディスクリプタ指定レジスタ14と
が同一のセグメントディスクリプタを指定しているか否
かを示す。17.17・・・はベースレジスタ10.1
0・・に対応して設けられた、したがってセグメントデ
ィスクリプタレジスタ13.13・・・に対応して設け
られたフラグ(以下、セグメントディスクリプタ有効フ
ラグと称する)である。このセグメントディスクリプタ
有効フラグ17は、対応するベースレジスタlOを対象
とする比較器16の比較結果を保持するのに用いられる
。
次に、第1図の構成の動作を説明する。
まず、プログラム実行中に手続き呼び出しが発生すると
、ベースレジスタ10.10・・・の内容を主記憶(図
示せず)に確保されたスタック領域に保存(退避)する
のに並行して、そのベースレジスタ10.10・・・の
内容のうちのセグメントディスクリプタ指定情報11を
、同レジスタ10.10・・・に対応して設けられたセ
グメントディスクリプタ指定レジスタ14.14・・・
に保存する処理が行なわれる。このとき、セグメントデ
ィスクリプタ指定レジスタ有効フラグ15がセット(オ
ン)される。
、ベースレジスタ10.10・・・の内容を主記憶(図
示せず)に確保されたスタック領域に保存(退避)する
のに並行して、そのベースレジスタ10.10・・・の
内容のうちのセグメントディスクリプタ指定情報11を
、同レジスタ10.10・・・に対応して設けられたセ
グメントディスクリプタ指定レジスタ14.14・・・
に保存する処理が行なわれる。このとき、セグメントデ
ィスクリプタ指定レジスタ有効フラグ15がセット(オ
ン)される。
次に、手続き実行中にベースレジスタ10への書き込み
が起こると、書き込まれたベースレジスタIOの内容の
うちのセグメントディスクリプタ指定情報11と、この
書き込みが起こったベースレジスタ10に対応するセグ
メントディスクリプタ指定レジスタ14に保存されてい
るセグメントディスクリプタ指定情報とが、比較器18
によって比較され、画情報の一致/不一致が検出される
。この比較器1Bの比較結果は、比較された両セグメン
トディスクリプタ指定情報が同一のセグメントディスク
リプタを指定している(一致検出時)か否(不一致検出
時)かを示しており、比較の対象となったベースレジス
タ10に対応するセグメントディスクリプタ有効フラグ
17に保持される。これにより同フラグ17はセット(
比較器16で一致が検出された場合)/リセット(比較
器16で不一致が検出された場合)される。
が起こると、書き込まれたベースレジスタIOの内容の
うちのセグメントディスクリプタ指定情報11と、この
書き込みが起こったベースレジスタ10に対応するセグ
メントディスクリプタ指定レジスタ14に保存されてい
るセグメントディスクリプタ指定情報とが、比較器18
によって比較され、画情報の一致/不一致が検出される
。この比較器1Bの比較結果は、比較された両セグメン
トディスクリプタ指定情報が同一のセグメントディスク
リプタを指定している(一致検出時)か否(不一致検出
時)かを示しており、比較の対象となったベースレジス
タ10に対応するセグメントディスクリプタ有効フラグ
17に保持される。これにより同フラグ17はセット(
比較器16で一致が検出された場合)/リセット(比較
器16で不一致が検出された場合)される。
さて、手続き処理が終了して元の処理に戻る際には、ス
タック領域に保存しておいたベースレジスタ内容をベー
スレジスタ10.10・・・に書き戻して元の状態に復
元する周知のベースレジスタ復元処理が行なわれる。こ
の際、セグメントディスクリプタ指定レジスタ有効フラ
グ15か参照され、同フラグ15がセットされていない
場合には、ベースレジスタ10.10・・・を復元する
と共に、復元されるベースレジスタ10.10・・・の
内容のうちのセグメントディスクリプタ指定情報11に
よって指定されるセグメントディスクリプタを、同レジ
スタ10.10・・・に対応するセグメントディスクリ
プタレジスタ13、13・・・に読み込む処理が行なわ
れる。
タック領域に保存しておいたベースレジスタ内容をベー
スレジスタ10.10・・・に書き戻して元の状態に復
元する周知のベースレジスタ復元処理が行なわれる。こ
の際、セグメントディスクリプタ指定レジスタ有効フラ
グ15か参照され、同フラグ15がセットされていない
場合には、ベースレジスタ10.10・・・を復元する
と共に、復元されるベースレジスタ10.10・・・の
内容のうちのセグメントディスクリプタ指定情報11に
よって指定されるセグメントディスクリプタを、同レジ
スタ10.10・・・に対応するセグメントディスクリ
プタレジスタ13、13・・・に読み込む処理が行なわ
れる。
これに対して、セグメントディスクリプタ指定レジスタ
有効フラグ15がセットされている場合には、ベースレ
ジスタ10を復元する際に、そのベースレジスタ10に
対応するセグメントディスクリプタ有効フラグ17が参
照される。もしセグメントディスクリプタ有効フラグ1
7がセットされているならば、復元されるベースレジス
タ10に対応するセグメントディスクリプタレジスタ1
3の内容は、復元されるベースレジスタ10の内容(の
うちのセグメントディスクリプタ指定情報11)によっ
て指定されるセグメントディスクリプタと同一であるは
ずであり、したがって復元されるベースレジスタ10に
対応するセグメントディスクリプタレジスタ13へのセ
グメントディスクリプタの読み込みを省略する。一方、
セグメントディスクリプタ有効フラグ17がセットされ
ていない場合には、従来と同様にセグメントディスクリ
プタレジスタ13へのセグメントディスクリプタ読み込
み行なう。以上の動作は、復元されるベースレジスタ毎
に行なわれる。そして、全てのベースレジスタIOへの
復元処理が終了すると、セグメントディスクリプタ指定
レジスタ有効フラグ15がリセット(オフ)される。
有効フラグ15がセットされている場合には、ベースレ
ジスタ10を復元する際に、そのベースレジスタ10に
対応するセグメントディスクリプタ有効フラグ17が参
照される。もしセグメントディスクリプタ有効フラグ1
7がセットされているならば、復元されるベースレジス
タ10に対応するセグメントディスクリプタレジスタ1
3の内容は、復元されるベースレジスタ10の内容(の
うちのセグメントディスクリプタ指定情報11)によっ
て指定されるセグメントディスクリプタと同一であるは
ずであり、したがって復元されるベースレジスタ10に
対応するセグメントディスクリプタレジスタ13へのセ
グメントディスクリプタの読み込みを省略する。一方、
セグメントディスクリプタ有効フラグ17がセットされ
ていない場合には、従来と同様にセグメントディスクリ
プタレジスタ13へのセグメントディスクリプタ読み込
み行なう。以上の動作は、復元されるベースレジスタ毎
に行なわれる。そして、全てのベースレジスタIOへの
復元処理が終了すると、セグメントディスクリプタ指定
レジスタ有効フラグ15がリセット(オフ)される。
[発明の効果]
以上詳述したようにこの発明によれば、ベースレジスタ
によって指定されるセグメントディスクリプタが手続き
呼び出し時のものと異なるか否かを検査し、手続きを終
了して元の処理に戻るときに、同じセグメントディスク
リプタがセグメントディスクリプタレジスタに既に存在
している場合にはセグメントディスクリプタの読み出し
を省略するようにしたので、プログラム処理の高速化を
図ることができる。
によって指定されるセグメントディスクリプタが手続き
呼び出し時のものと異なるか否かを検査し、手続きを終
了して元の処理に戻るときに、同じセグメントディスク
リプタがセグメントディスクリプタレジスタに既に存在
している場合にはセグメントディスクリプタの読み出し
を省略するようにしたので、プログラム処理の高速化を
図ることができる。
第1図はこの発明の一実施例を示すブロック構成図であ
る。 10・・・ベースレジスタ、13・・・セグメントディ
スクリプタレジスタ、 14・・・セグメントディスク
リプタ指定レジスタ、15・・・セグメントディスクリ
プタ指定レジスタ有効フラグ、16・・・比較器、17
・・・セグメントディスクリプタ有効フラグ。 出願人代理人 弁理士 鈴江武彦
る。 10・・・ベースレジスタ、13・・・セグメントディ
スクリプタレジスタ、 14・・・セグメントディスク
リプタ指定レジスタ、15・・・セグメントディスクリ
プタ指定レジスタ有効フラグ、16・・・比較器、17
・・・セグメントディスクリプタ有効フラグ。 出願人代理人 弁理士 鈴江武彦
Claims (1)
- 【特許請求の範囲】 仮想アドレスの生成を高速にするために、仮想空間上の
セグメントディスクリプタを指定するセグメントディス
クリプタ指定情報を含む情報を保持するための複数のベ
ースレジスタに対応して、同ベースレジスタによって指
定されるセグメントディスクリプタを保持するためのセ
グメントディスクリプタレジスタをそれぞれ備え、プロ
グラムの実行中に手続き呼び出しが発生した場合に、手
続き呼び出しの前に使っていたベースレジスタの内容を
スタック領域に保存し、手続き処理が終了して元の処理
に戻るときには、前記スタック領域に保存してあるベー
スレジスタの内容を復元すると共にそのベースレジスタ
に対応するセグメントディスクリプタレジスタへのセグ
メントディスクリプタ読み出しを行う、セグメンテーシ
ョン方式による仮想記憶管理機構を有する計算機システ
ムにおいて、 前記手続き呼び出し時に前記スタック領域に保存される
ベースレジスタの内容のうちの前記セグメントディスク
リプタ指定情報を各ベースレジスタ毎に保持するための
第1の保持手段と、この第1の保持手段に前記セグメン
トディスクリプタ指定情報が保持されている有効状態を
示す情報を保持するための第2の保持手段と、呼び出さ
れた手続き中で前記ベースレジスタへの書き込みが発生
したときに同レジスタに書き込まれる情報のうちのセグ
メントディスクリプタ指定情報と、同レジスタに対応し
て前記第1の保持手段に保持されているセグメントディ
スクリプタ指定情報とを比較して一致の有無を判別する
比較手段と、 この比較手段の比較結果を示す情報を各ベースレジスタ
毎に保持するための第3の保持手段と、を具備し、手続
き処理から戻るために前記スタック領域に保存された内
容を前記ベースレジスタに復元させる場合に、前記第2
の保持手段に保持されている情報が有効状態を示し、且
つ復元されるベースレジスタに対応して前記第3の保持
手段に保持されている情報が一致有りを示しているなら
ば、そのベースレジスタに対応するセグメントディスク
リプタレジスタへのセグメントディスクリプタ読み出し
を省略するようにしたことを特徴とする仮想記憶管理方
式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2171203A JPH0460727A (ja) | 1990-06-28 | 1990-06-28 | 仮想記憶管理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2171203A JPH0460727A (ja) | 1990-06-28 | 1990-06-28 | 仮想記憶管理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0460727A true JPH0460727A (ja) | 1992-02-26 |
Family
ID=15918935
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2171203A Pending JPH0460727A (ja) | 1990-06-28 | 1990-06-28 | 仮想記憶管理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0460727A (ja) |
-
1990
- 1990-06-28 JP JP2171203A patent/JPH0460727A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5481688A (en) | Information processing system having an address translation table loaded with main/expanded memory presence bits | |
| JPH0414385B2 (ja) | ||
| JPH09128267A (ja) | データ処理装置およびデータ処理方法 | |
| IE61306B1 (en) | Method and device to execute two instruction sequences in an order determined in advance | |
| JPH0460727A (ja) | 仮想記憶管理方式 | |
| JP2508280B2 (ja) | 分岐ヒストリテ―ブル制御方式 | |
| JP2715988B2 (ja) | プログラムシミュレータ装置及びプログラムデバッグ方法 | |
| JP2702943B2 (ja) | 半導体記憶装置 | |
| JP2671160B2 (ja) | 例外処理方式 | |
| JP2954666B2 (ja) | メモリチェック方式 | |
| GB2037466A (en) | Computer with cache memory | |
| JP2990609B2 (ja) | 計算機システム | |
| JP2716254B2 (ja) | リストベクトル処理装置 | |
| JP3130798B2 (ja) | バス転送装置 | |
| JP2504151B2 (ja) | デ―タ処理装置 | |
| JP3047992B2 (ja) | 主記憶キー制御方法 | |
| JPH02310750A (ja) | ミッシングページ処理方式 | |
| KR920005232B1 (ko) | 정보처리장치 | |
| JPH0210435A (ja) | アドレストラップ回路 | |
| JPH01175053A (ja) | セグメンテーション方式のデータ処理装置 | |
| JPH04190426A (ja) | メモリアクセス装置 | |
| JPS6047613B2 (ja) | マイクロプログラム制御方式 | |
| JPH0216652A (ja) | ミッシングページ処理方式 | |
| JPS6168648A (ja) | ブランチトレ−スアドレス記憶方式 | |
| JPH07104993A (ja) | 開発支援装置 |