JPS63298652A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS63298652A JPS63298652A JP62136879A JP13687987A JPS63298652A JP S63298652 A JPS63298652 A JP S63298652A JP 62136879 A JP62136879 A JP 62136879A JP 13687987 A JP13687987 A JP 13687987A JP S63298652 A JPS63298652 A JP S63298652A
- Authority
- JP
- Japan
- Prior art keywords
- address
- entry
- instruction
- virtual
- access
- 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
- 238000012545 processing Methods 0.000 title claims description 25
- 238000013519 translation Methods 0.000 claims description 37
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000000034 method Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 101001090484 Homo sapiens LanC-like protein 2 Proteins 0.000 description 1
- 102100034723 LanC-like protein 2 Human genes 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、情報処理装置における中央処理装置に間する
ものであり、特に、仮想記憶環境下で、マルチプロセサ
構成をサポートする不可分更新命令の方式に関するもの
である。
ものであり、特に、仮想記憶環境下で、マルチプロセサ
構成をサポートする不可分更新命令の方式に関するもの
である。
[従来の技術]
計算機システムの発展にともない、計算機には高速な処
理のみならず、高度な処理も要求されるようになってき
ている。半導体技術を応用したマイクロプロセッサ(M
PUと略す)の分野でも高度な処理が要求されており、
特にその中でも32ピツ)MPUと呼ばれる分野におい
て、その傾向は顕著である。
理のみならず、高度な処理も要求されるようになってき
ている。半導体技術を応用したマイクロプロセッサ(M
PUと略す)の分野でも高度な処理が要求されており、
特にその中でも32ピツ)MPUと呼ばれる分野におい
て、その傾向は顕著である。
高度な処理の1つに、複数のMPUからなるマルチプロ
セッサ・システムがある。このシステムでは、複数のプ
ロセッサが同時に動作し処理を行うので、処理性能の向
上が図れる(負荷分散)こと、また異種のMPUを接続
することここより問題に適したMPUに処理を委託する
ことができる(機能分散)こと、などの利点がある。こ
の種のマルチプロセッサ環境では、MPUが資源にアク
セスするときに競合が起こることがある。たとえば、シ
ステムに1つのCRT装置しかないとき、複数のプロセ
ッサが同時にCRTへの出力要求を出すならば、画面に
は複数プロセッサの出力を重畳したイメージが表示され
てしまう。このとき、複数の要求を逐次化する機構が必
要である。通常は、マルチプロセサ環境での逐次化を実
現するために、テストとセット(TASI)命令などの
インターロック付きの命令が提供されている。これらの
命令では、あるメモリ領域の内容のリード・モディファ
イ・ライト(RMWと略す)のアクセスを単一の不可分
アクセスとして実現しており、複数のプロセッサが同時
に同じ領域にこのアクセスを行おうとしても、正しい結
果(逐次化された結果)が得られるようにしている。た
とえば、TASI 1ock byte という命令では、1ock byteという名称のメ
モリ中の情報に対するRMWアクセスを、他のプロセッ
サの介入を許すことなく不可分に行う。
セッサ・システムがある。このシステムでは、複数のプ
ロセッサが同時に動作し処理を行うので、処理性能の向
上が図れる(負荷分散)こと、また異種のMPUを接続
することここより問題に適したMPUに処理を委託する
ことができる(機能分散)こと、などの利点がある。こ
の種のマルチプロセッサ環境では、MPUが資源にアク
セスするときに競合が起こることがある。たとえば、シ
ステムに1つのCRT装置しかないとき、複数のプロセ
ッサが同時にCRTへの出力要求を出すならば、画面に
は複数プロセッサの出力を重畳したイメージが表示され
てしまう。このとき、複数の要求を逐次化する機構が必
要である。通常は、マルチプロセサ環境での逐次化を実
現するために、テストとセット(TASI)命令などの
インターロック付きの命令が提供されている。これらの
命令では、あるメモリ領域の内容のリード・モディファ
イ・ライト(RMWと略す)のアクセスを単一の不可分
アクセスとして実現しており、複数のプロセッサが同時
に同じ領域にこのアクセスを行おうとしても、正しい結
果(逐次化された結果)が得られるようにしている。た
とえば、TASI 1ock byte という命令では、1ock byteという名称のメ
モリ中の情報に対するRMWアクセスを、他のプロセッ
サの介入を許すことなく不可分に行う。
命令は1ock byteの読み込み、Oとの比較、
そして定数(例えば0xff)の書き込み、の3ステツ
プをインターロック付きて実現する。
そして定数(例えば0xff)の書き込み、の3ステツ
プをインターロック付きて実現する。
マルチプロセッサ環境での逐次化処理では、そのような
不可分の機構が提供されている必要性は言うまででもな
いが、その処理時間が短いことも重要である。とくに、
プロセッサ数が大きくなるにしたがって逐次化処理の頻
度が大きくなるため、高速の逐次化処理が必要となる。
不可分の機構が提供されている必要性は言うまででもな
いが、その処理時間が短いことも重要である。とくに、
プロセッサ数が大きくなるにしたがって逐次化処理の頻
度が大きくなるため、高速の逐次化処理が必要となる。
一方、最近のMPUでは、仮想記憶管理機構(例えばペ
ージング方式)を組み込んだものが現れてきている。仮
想記憶管理機構を採用することにより、実メモリの大き
さにとられれることなくプログラムの作成ができる(仮
想記憶)こと、あまり使用しないデータを含む領域を二
次記憶装置に保持することで実メモリの有効活用が図れ
ること、更に仮想記憶管理機構に特有のアクセス保護機
構により安全なシステム走行が実現できる(実行待安全
保証)ことなどの利点がある。1反想記憶管理機構では
、メモリ中の情報であるアドレス変換テーブルを頻繁に
書き換える。これは、あるページを二次記憶装置に追い
出したときにそのページがもはや実メモリ上にはないこ
とを記すとき、ページのアクセス情報(参照されたか、
書き換えられたか)を変更するとき、あるいはどのペー
ジを追い出すかの参照の頻度を記録するときなどの場合
である。このとき、オペレーティング・システム(O5
)がアドレス変換テーブルの内容を捜し出し書き換える
ときには仮想空間上でのアドレスでアクセスできれば便
利である。それは、ある仮想アドレスを含むページのア
ドレス変換情報(ページ・テーブル・エントリ; PT
Eと略す)にアクセスするのに、アーキテクチャが定義
するアドレス変換のパスに従ってPTEを捜し出すこと
をハードウェアが自動的に行うので、ソフトウェアがプ
ログラムにより捜し出すのに対して高速だからである。
ージング方式)を組み込んだものが現れてきている。仮
想記憶管理機構を採用することにより、実メモリの大き
さにとられれることなくプログラムの作成ができる(仮
想記憶)こと、あまり使用しないデータを含む領域を二
次記憶装置に保持することで実メモリの有効活用が図れ
ること、更に仮想記憶管理機構に特有のアクセス保護機
構により安全なシステム走行が実現できる(実行待安全
保証)ことなどの利点がある。1反想記憶管理機構では
、メモリ中の情報であるアドレス変換テーブルを頻繁に
書き換える。これは、あるページを二次記憶装置に追い
出したときにそのページがもはや実メモリ上にはないこ
とを記すとき、ページのアクセス情報(参照されたか、
書き換えられたか)を変更するとき、あるいはどのペー
ジを追い出すかの参照の頻度を記録するときなどの場合
である。このとき、オペレーティング・システム(O5
)がアドレス変換テーブルの内容を捜し出し書き換える
ときには仮想空間上でのアドレスでアクセスできれば便
利である。それは、ある仮想アドレスを含むページのア
ドレス変換情報(ページ・テーブル・エントリ; PT
Eと略す)にアクセスするのに、アーキテクチャが定義
するアドレス変換のパスに従ってPTEを捜し出すこと
をハードウェアが自動的に行うので、ソフトウェアがプ
ログラムにより捜し出すのに対して高速だからである。
[発明が解決しようとする問題点コ
上述のような、マルチプロセッサ環境では、これらアド
レス変換テーブルそのものが主記憶上にあるシステム資
源であるために、頻繁に逐次化処理が行われる。特に、
アドレス変換テーブルの内容を書き換えるときには必ず
不可分のRMWアクセスが必要となる。一般のMPUで
は、仮想記憶管理機構に関連した不可分RMW命令は提
供されておらず、仮想記憶管理を行う度毎にアドレス変
換テーブルのエントリを捜し出し、不可分アクセスを行
わなければならず、マルチプロセッサ環境では頻繁に起
こる不可分動作の速度を低下させるという問題点があっ
た。
レス変換テーブルそのものが主記憶上にあるシステム資
源であるために、頻繁に逐次化処理が行われる。特に、
アドレス変換テーブルの内容を書き換えるときには必ず
不可分のRMWアクセスが必要となる。一般のMPUで
は、仮想記憶管理機構に関連した不可分RMW命令は提
供されておらず、仮想記憶管理を行う度毎にアドレス変
換テーブルのエントリを捜し出し、不可分アクセスを行
わなければならず、マルチプロセッサ環境では頻繁に起
こる不可分動作の速度を低下させるという問題点があっ
た。
したがって、本発明の目的は中央処理装置の動作速度の
向上を図ることである。
向上を図ることである。
[問題点を解決するための手段および作用コ本発明は
仮想記憶システムを実現させるアドレス変換機構と、共
通のメモリに対する複数の中央処理装置のアクセスを制
御する不可分更新命令を実行可能な命令実現部と、仮想
アドレスから実アドレスへの変換を可能にするアドレス
変換部とを備えた中央処理装置において、上記共通のメ
モリに対する不可分排他的アクセスを可能にする制御信
号線を有し、上記アドレス変換部は仮想アドレスから実
アドレス変換するためのアドレス変換テーブルを有し、
該変換テーブルは仮想アドレスが指定する実アドレスを
持つ変換テーブル内ニジトリを有し、上記命令実現部は
変換テーブル内エントリ更新命令を実行可能であり、該
変換テーブル内エントリ更新命令の実行時には上記制那
信号線を活性化して上記共通メモリに対する不可分排他
的アクセスを可能にし、上記変換テーブル内エントリ更
新命令のオペランドが指定する仮想アドレスを実アドレ
スに変換する際に参照するアドレス変換テーブルエント
リを更新すべきテーブルエントリとして実行することを
特徴としている。
仮想記憶システムを実現させるアドレス変換機構と、共
通のメモリに対する複数の中央処理装置のアクセスを制
御する不可分更新命令を実行可能な命令実現部と、仮想
アドレスから実アドレスへの変換を可能にするアドレス
変換部とを備えた中央処理装置において、上記共通のメ
モリに対する不可分排他的アクセスを可能にする制御信
号線を有し、上記アドレス変換部は仮想アドレスから実
アドレス変換するためのアドレス変換テーブルを有し、
該変換テーブルは仮想アドレスが指定する実アドレスを
持つ変換テーブル内ニジトリを有し、上記命令実現部は
変換テーブル内エントリ更新命令を実行可能であり、該
変換テーブル内エントリ更新命令の実行時には上記制那
信号線を活性化して上記共通メモリに対する不可分排他
的アクセスを可能にし、上記変換テーブル内エントリ更
新命令のオペランドが指定する仮想アドレスを実アドレ
スに変換する際に参照するアドレス変換テーブルエント
リを更新すべきテーブルエントリとして実行することを
特徴としている。
[実施例コ
策上実皇団
本発明について、図面を用いつつ説明する。第1図は本
発明の第1実施例におけるシステム構成のブロック図で
ある。第1図において、100は1つのMPUを示す。
発明の第1実施例におけるシステム構成のブロック図で
ある。第1図において、100は1つのMPUを示す。
101はシステム・バスとの通信を制御するバス・イン
ターフェース部である。102は仮想アドレス・モード
で実行中に仮想アドレスから実アドレスへとアドレス変
換するアドレス変換部である。103は実行すべき命令
をデコードする命令デコーダである。104は実行すべ
き命令機能を実現する命令実行部である。
ターフェース部である。102は仮想アドレス・モード
で実行中に仮想アドレスから実アドレスへとアドレス変
換するアドレス変換部である。103は実行すべき命令
をデコードする命令デコーダである。104は実行すべ
き命令機能を実現する命令実行部である。
105はシステムに共通のシステム・バスである。
106はMPU100とシステム・バス1050間にあ
るデータ・バスである。107はMPU、100からシ
ステム・バス105へのアドレス・バスである。108
はシステム・バス105への排他的アクセス、すなわち
メモリへの不可分アクセスを制御するための制御信号線
である。109はマルチプロセッサ構成をとったときの
、他のMPUである。このMPUの構造はMPU100
と全く同じである。複数存在するが、代表を109とし
ている。110はそのMPU109とシステム・バスと
のあいだの排他制御のための信号線であり、排他制御信
号108と同じ働きをMPUl09のためにする。11
1はシステムに共通のデータを保持する主メモリ装置で
ある。
るデータ・バスである。107はMPU、100からシ
ステム・バス105へのアドレス・バスである。108
はシステム・バス105への排他的アクセス、すなわち
メモリへの不可分アクセスを制御するための制御信号線
である。109はマルチプロセッサ構成をとったときの
、他のMPUである。このMPUの構造はMPU100
と全く同じである。複数存在するが、代表を109とし
ている。110はそのMPU109とシステム・バスと
のあいだの排他制御のための信号線であり、排他制御信
号108と同じ働きをMPUl09のためにする。11
1はシステムに共通のデータを保持する主メモリ装置で
ある。
この図において、MPU100は主メモリ111内の命
令に、システム・バス105、データ・バス106、ア
ドレス・バス107、バス・インターフェース部101
等を経由しフェッチする。
令に、システム・バス105、データ・バス106、ア
ドレス・バス107、バス・インターフェース部101
等を経由しフェッチする。
フェッチした命令を命令デコーダ部103は解読し、実
際の命令機能の処理を実行部104にゆだねる。もし、
その命令がシステム資源への排他的な不可分アクセス″
を必要とするときには、主メモリ111内にある共通資
源制御のためのデータへのアクセスを、他のMPU10
9が中断したり横取りしないように、排他副側信号線1
08を用い排他制御を実現する。この時、MPU100
が仮想アドレス・モードで実行しているならば主メモリ
111へのアクセスを実アドレスで行うように、アドレ
ス変換部102を用いて仮想アドレスから実アドレスへ
の変換を行う。アドレス変換を高速に行うために、通常
この部分は高速変換緩衛機構(TLBと略す)で実現す
る。
際の命令機能の処理を実行部104にゆだねる。もし、
その命令がシステム資源への排他的な不可分アクセス″
を必要とするときには、主メモリ111内にある共通資
源制御のためのデータへのアクセスを、他のMPU10
9が中断したり横取りしないように、排他副側信号線1
08を用い排他制御を実現する。この時、MPU100
が仮想アドレス・モードで実行しているならば主メモリ
111へのアクセスを実アドレスで行うように、アドレ
ス変換部102を用いて仮想アドレスから実アドレスへ
の変換を行う。アドレス変換を高速に行うために、通常
この部分は高速変換緩衛機構(TLBと略す)で実現す
る。
第2図は、本実施例における、仮想アドレスから実アド
レスへの変換の様子を示したものである。
レスへの変換の様子を示したものである。
第2図において、200は仮想アドレスである。
201は仮想アドレス200のうち、セグメント・テー
ブル内のエントリ(セグメント・テーブル・エントリ;
STEと略す)206を指定する情報である。202
は仮想アドレス200のうち、ページ・テーブル内のエ
ントリ(ページ・テープル・エントリ; PTEと略す
)208を指定する情報である。203はアクセスする
データ2110ページ内オフセツトを指定する情報であ
る。204はアドレス変換テーブルのルートを指すレジ
スタである。テーブル・ルート・レジスタ(TRRと略
す)と呼ぶ。この場合、セグメント・テーブル2050
ベース・アドレスを保持する。205はセグメント・テ
ーブルである。アドレス変換テーブルの第1段となる。
ブル内のエントリ(セグメント・テーブル・エントリ;
STEと略す)206を指定する情報である。202
は仮想アドレス200のうち、ページ・テーブル内のエ
ントリ(ページ・テープル・エントリ; PTEと略す
)208を指定する情報である。203はアクセスする
データ2110ページ内オフセツトを指定する情報であ
る。204はアドレス変換テーブルのルートを指すレジ
スタである。テーブル・ルート・レジスタ(TRRと略
す)と呼ぶ。この場合、セグメント・テーブル2050
ベース・アドレスを保持する。205はセグメント・テ
ーブルである。アドレス変換テーブルの第1段となる。
TRRレジスタ204がそのベース・アドレスを保持す
る。206は201が指定するSTEである。207は
ページ・テーブルである。アドレス変換テーブルの第2
段となる。5TE206がそのベース・アドレスを指定
する。208は202が指定するPTEである。209
は主メモリである。210は主メモリの中のページ枠て
あり、PTE208がそのベース・アドレスを指定する
。211はアクセスすべきデータである。ページ内の位
置を203が指定する。
る。206は201が指定するSTEである。207は
ページ・テーブルである。アドレス変換テーブルの第2
段となる。5TE206がそのベース・アドレスを指定
する。208は202が指定するPTEである。209
は主メモリである。210は主メモリの中のページ枠て
あり、PTE208がそのベース・アドレスを指定する
。211はアクセスすべきデータである。ページ内の位
置を203が指定する。
第2図に示すように、仮想アドレスから実アドレスへの
アドレス変換は2段のテーブルを参照して行う。第1段
目をセグメント・テーブルと呼び、第2段目をページ・
テーブルと呼ぶ。それぞれのテーブルは、テーブル・エ
ントリからなる。セグメント・テーブルのエントリをセ
グメント・テーブル・エントリ(STE)と呼び、ペー
ジ・テーブルのエントリをページ・テーブル・エントリ
(PTE)と呼ぶ。
アドレス変換は2段のテーブルを参照して行う。第1段
目をセグメント・テーブルと呼び、第2段目をページ・
テーブルと呼ぶ。それぞれのテーブルは、テーブル・エ
ントリからなる。セグメント・テーブルのエントリをセ
グメント・テーブル・エントリ(STE)と呼び、ペー
ジ・テーブルのエントリをページ・テーブル・エントリ
(PTE)と呼ぶ。
従来の方式では、マルチプロセッサ構成をとる場合のア
ドレス変換テーブルへの排他的アクセスを2段階の課程
で処理していた。例としてPTEへの排他的RMWアク
セスをする場合を考える。
ドレス変換テーブルへの排他的アクセスを2段階の課程
で処理していた。例としてPTEへの排他的RMWアク
セスをする場合を考える。
最初の段階ではPTEを探し出すために第2図に従って
アドレス変換の手順と同一の手段をソフトウェアでたど
りPTEを特定する。次の段階では、PTE自身の内容
を更新するために不可分操作命令を使用して内容のロッ
ク付き書換えを行う。
アドレス変換の手順と同一の手段をソフトウェアでたど
りPTEを特定する。次の段階では、PTE自身の内容
を更新するために不可分操作命令を使用して内容のロッ
ク付き書換えを行う。
しかしこの方法では、ソフトウェア的に変換手順をたど
るために性能が低くなるだけでなく、第1段のアドレス
変換テーブル(セグメント・テーブル・エントリ)の内
容の書換えがもし同時に他のプロセッサにより行われた
場合、ソフトウェア的に変換手順をたどる際に正しいP
TEをアクセスできなくなる可能性がある。従ってPT
Eへの排他的アクセスは、STEをまずロックしページ
・テーブル全体へのアクセスの権利を確保したのちに行
わなくてはならない。
るために性能が低くなるだけでなく、第1段のアドレス
変換テーブル(セグメント・テーブル・エントリ)の内
容の書換えがもし同時に他のプロセッサにより行われた
場合、ソフトウェア的に変換手順をたどる際に正しいP
TEをアクセスできなくなる可能性がある。従ってPT
Eへの排他的アクセスは、STEをまずロックしページ
・テーブル全体へのアクセスの権利を確保したのちに行
わなくてはならない。
本実施例では、次のステップに従ってPTEへの排他的
アクセスを実現する。まず、命令機能としては TASPIV va、mask という命令を用意する。TASPIVは、Te5t
and set PTE 1nterl。
アクセスを実現する。まず、命令機能としては TASPIV va、mask という命令を用意する。TASPIVは、Te5t
and set PTE 1nterl。
cked with Virtual addr
eSS access の略てあり、この命令はP
TEへの排他的アクセスと書換えの機能を持つ。
eSS access の略てあり、この命令はP
TEへの排他的アクセスと書換えの機能を持つ。
オペランドは2つあり、第1オペランドはPTEを同定
するための仮想アドレスを指定するオペランドで、Va
が指定する仮想アドレスを変換するときに参照するPT
Eが実際にロックされる対象となる。第2オペランドは
、マスク・バタンを指定するオペランドで、PTEのう
ち書き換えるべきビットを指定する。例えばもしPTE
が32ビツト長であればマスクも32ビツト長である。
するための仮想アドレスを指定するオペランドで、Va
が指定する仮想アドレスを変換するときに参照するPT
Eが実際にロックされる対象となる。第2オペランドは
、マスク・バタンを指定するオペランドで、PTEのう
ち書き換えるべきビットを指定する。例えばもしPTE
が32ビツト長であればマスクも32ビツト長である。
この命令が実行される課程は次のとおりである。
第3図に命令実行フローを示す。
(1)排他的にアクセスするために、排他制御線108
により主メモリ111への排他的アクセス権を得る。
により主メモリ111への排他的アクセス権を得る。
(2)第1オペランドVaが指定するオペランド・デー
タを仮想アドレス200とみなし、第2図で示すアドレ
ス変換プロセスをたどり、TRR204、セグメント・
テーブル206、ページ・テーブルをアクセスし、PT
E208を特定する。
タを仮想アドレス200とみなし、第2図で示すアドレ
ス変換プロセスをたどり、TRR204、セグメント・
テーブル206、ページ・テーブルをアクセスし、PT
E208を特定する。
(3)特定したPTE208の内容を読みだし、マスク
をとり、書き換える。命令機能は、TMP −PTE
;PTEをフェッチする比較 = (OXFF
FFFFFF and(not mask))− (TMP and (no t mask)) ;マスク付きでオール1 のバタンと比較する PTE 4− TMP and (not
mask)):PTEを更新する というものである。ここでPTEはページ・テーブル・
エントリ208自身、maskは第2オペランドが指定
するマスク・バタンのデータである。
をとり、書き換える。命令機能は、TMP −PTE
;PTEをフェッチする比較 = (OXFF
FFFFFF and(not mask))− (TMP and (no t mask)) ;マスク付きでオール1 のバタンと比較する PTE 4− TMP and (not
mask)):PTEを更新する というものである。ここでPTEはページ・テーブル・
エントリ208自身、maskは第2オペランドが指定
するマスク・バタンのデータである。
(4)結果をPTE208の場所に書き込んだあとに排
他的アクセスが終了するので、排他制御線108により
主メモリ111への排他的アクセスを終らせる。
他的アクセスが終了するので、排他制御線108により
主メモリ111への排他的アクセスを終らせる。
策λ大崖1
次に、本発明の第2実施例について図面を用いつつ説明
する。
する。
第1の実施例では、2段の変換テーブルをアクセスしP
TEを不可分動作で更新する際に、PTEの処理がすべ
て終了するまでセグメント・テーブルへのアクセスがロ
ックされ禁止されているため、複数のMPUが同一のペ
ージ・テーブル内の複数のPTEを同時に更新しようと
しても、一度に1つのPTEしか更新できないという問
題がある。すなわち、2段の変換テーブル全体へのアク
セスを不可分としている。その間に他のMPUが横取り
(プリエンブション)をしようとしてもてきない。
TEを不可分動作で更新する際に、PTEの処理がすべ
て終了するまでセグメント・テーブルへのアクセスがロ
ックされ禁止されているため、複数のMPUが同一のペ
ージ・テーブル内の複数のPTEを同時に更新しようと
しても、一度に1つのPTEしか更新できないという問
題がある。すなわち、2段の変換テーブル全体へのアク
セスを不可分としている。その間に他のMPUが横取り
(プリエンブション)をしようとしてもてきない。
第2実施例として次に説明するものは、2段のアクセス
の最中に横取りを許す方法である。
の最中に横取りを許す方法である。
第4図は本発明の第2実施例におけるシステム構成のブ
ロック図である。第4図において、400は1つのMP
Uを示す。401はシステム・バスとの通信を制御する
バス・インターフェース部である。402は仮想アドレ
ス・モードで実行中に、仮想アドレスから実アドレスへ
と変換するアドレス変換部である。403は実行すべき
命令をデコードする命令デコーダである。404は実行
すべき命令機能を行う命令実行部である。405はシス
テムに共通のシステム・バスである。406はMPU4
00とシステム令バス405のあいだにあるデータ・バ
スである。407はMPU400からシステム・バス4
05へのアドレス・バスである。408はシステム・バ
ス405への排他的アクセスすなわちメモリへの不可分
アクセスを制御するための制御信号線である。409は
マルチプロセッサ構成をとったときの、他のMPUであ
る。このMPUの構造はMPU400と全く同じである
。複数存在するが、代表を409としている。410は
そのMPU409とシステム・バスとのあいだの排他制
御のための信号線であり、排他制御信号408と同じ働
きをMPU409のためにする。411はシステムに共
通のデータを保持する主メモリ装置である。
ロック図である。第4図において、400は1つのMP
Uを示す。401はシステム・バスとの通信を制御する
バス・インターフェース部である。402は仮想アドレ
ス・モードで実行中に、仮想アドレスから実アドレスへ
と変換するアドレス変換部である。403は実行すべき
命令をデコードする命令デコーダである。404は実行
すべき命令機能を行う命令実行部である。405はシス
テムに共通のシステム・バスである。406はMPU4
00とシステム令バス405のあいだにあるデータ・バ
スである。407はMPU400からシステム・バス4
05へのアドレス・バスである。408はシステム・バ
ス405への排他的アクセスすなわちメモリへの不可分
アクセスを制御するための制御信号線である。409は
マルチプロセッサ構成をとったときの、他のMPUであ
る。このMPUの構造はMPU400と全く同じである
。複数存在するが、代表を409としている。410は
そのMPU409とシステム・バスとのあいだの排他制
御のための信号線であり、排他制御信号408と同じ働
きをMPU409のためにする。411はシステムに共
通のデータを保持する主メモリ装置である。
第5図は、本実施例における、仮想アドレスから実アド
レスへの変換の様子を示したものである。
レスへの変換の様子を示したものである。
第5図において、500は仮想アドレスである。
501は仮想アドレス500のうち、セグメント・テー
ブル内のエントリ(セグメント・テーブル・エントリ;
STEと略す)506を指定する情報である。602
は仮想アドレス500のうち、ページ・テーブル内のエ
ントリ(ページ・テーブル・エントリ; PTEと略す
)5o8を指定する情報である。503はアクセスする
データ5110ページ内オフセツトを指定する情報であ
る。δ04はアドレス変換テーブルのルートを指すレジ
スタである。テーブル・ルート・レジスタ(TRRと略
す)と呼ぶ。この場合、セグメント・テーブル5050
ベース・アドレスを保持する。5゜5はセグメント・テ
ーブルである。アドレス変換テーブルの第1段となる。
ブル内のエントリ(セグメント・テーブル・エントリ;
STEと略す)506を指定する情報である。602
は仮想アドレス500のうち、ページ・テーブル内のエ
ントリ(ページ・テーブル・エントリ; PTEと略す
)5o8を指定する情報である。503はアクセスする
データ5110ページ内オフセツトを指定する情報であ
る。δ04はアドレス変換テーブルのルートを指すレジ
スタである。テーブル・ルート・レジスタ(TRRと略
す)と呼ぶ。この場合、セグメント・テーブル5050
ベース・アドレスを保持する。5゜5はセグメント・テ
ーブルである。アドレス変換テーブルの第1段となる。
TRRレジスタ504がそのベース・アドレスを保持す
る。506は501が指定するSTEである。507は
ページ・テーブルである。アドレス変換テーブルの第2
段となる。5TE506がそのベース・アドレスを指定
する。508は502が指定するPTEである。509
は主メモリである。510は主メモリの中のページ枠で
あり、PTE508がそのベース・アドレスを指定する
。511はアクセスすべきデータである。ページ内の位
置を503が指定する。第2実施例では、次のステップ
に従ってPTEへの排他的アクセスを実現する。まず、
命令機能としては TASPIV2 va、mask という命令を用意する。TASP I V2は、Te5
t and Set PTE 1nterlo
cked with Virtual addr
ess access、part2の略であり、この
命令はPTEへの排他的アクセスと書換えの機能を持つ
、オペランドの機能は、第1実施例と同じである。
る。506は501が指定するSTEである。507は
ページ・テーブルである。アドレス変換テーブルの第2
段となる。5TE506がそのベース・アドレスを指定
する。508は502が指定するPTEである。509
は主メモリである。510は主メモリの中のページ枠で
あり、PTE508がそのベース・アドレスを指定する
。511はアクセスすべきデータである。ページ内の位
置を503が指定する。第2実施例では、次のステップ
に従ってPTEへの排他的アクセスを実現する。まず、
命令機能としては TASPIV2 va、mask という命令を用意する。TASP I V2は、Te5
t and Set PTE 1nterlo
cked with Virtual addr
ess access、part2の略であり、この
命令はPTEへの排他的アクセスと書換えの機能を持つ
、オペランドの機能は、第1実施例と同じである。
第2実施例が第1実施例と異なる点は、変換テーブル・
アクセスの際に、アクセスを不可分とせず、途中でプリ
エンブションを許す点である。ただし論理的な矛盾が起
こらないように、セグメント・テーブル・エントリに使
用数カウンタを設は使用中かどうか、使用中の場合はい
くつのプロセスが使用しているかを記す。使用中でなけ
ればカウンタは0である。STEを更新する場合には、
PTEへのアクセスを禁止しなければならないのでST
E使用中という状態を、使用数カウンタが−1という値
で示す。PTEの更新の場合は、もしSTEの使用数カ
ウンタが−lであればアクセスできないので異常終了と
なる。
アクセスの際に、アクセスを不可分とせず、途中でプリ
エンブションを許す点である。ただし論理的な矛盾が起
こらないように、セグメント・テーブル・エントリに使
用数カウンタを設は使用中かどうか、使用中の場合はい
くつのプロセスが使用しているかを記す。使用中でなけ
ればカウンタは0である。STEを更新する場合には、
PTEへのアクセスを禁止しなければならないのでST
E使用中という状態を、使用数カウンタが−1という値
で示す。PTEの更新の場合は、もしSTEの使用数カ
ウンタが−lであればアクセスできないので異常終了と
なる。
この命令の実行フローを第6図に示す。
[発明の効果コ
上記の方法を採用することにより、
(1)−命令でページ・テーブル・エントリ(PTE)
への排他的リード・モディファイ・ライ)RMW)アク
セスができる (2)排他的アクセスの時間を短くてきるという効果が
得られる。
への排他的リード・モディファイ・ライ)RMW)アク
セスができる (2)排他的アクセスの時間を短くてきるという効果が
得られる。
すなわち、従来のMPUでは単にメモリ上にある逐次化
アクセスしなければならないデータに対する不可分RM
W命令が存在していたのみてあり、アドレス変換テーブ
ルのなかのエントリに対して仮想アドレスでアクセスし
、かつ不可分にRMWを行うという機能は提供していな
かフた。しかしながら、本発明では一命令でページ・エ
ントリ・テーブルへの排他的リード・モディファイ・ラ
イトが可能になった。
アクセスしなければならないデータに対する不可分RM
W命令が存在していたのみてあり、アドレス変換テーブ
ルのなかのエントリに対して仮想アドレスでアクセスし
、かつ不可分にRMWを行うという機能は提供していな
かフた。しかしながら、本発明では一命令でページ・エ
ントリ・テーブルへの排他的リード・モディファイ・ラ
イトが可能になった。
第1図りよ本発明の第1実施例における複数プロセッサ
構成のシステム構成と各中央処理装置の構成を示すブロ
ック図、第2図は本発明の第1実施例における仮想アド
レスと実アドレスとの対応を示すブロック図、第3図は
本発明の第1実施例における変換テーブルの更新を不可
分に行う命令の処理の手順を示すフローチャート図、第
4図は本発明の第2実施例における複数プロセッサ構成
のシステム構成と各中央処理装置の構成を示すブロック
図、第5図は本発明の第2実施例における仮想アドレス
と実アドレスとの対応を示すブロック図、第6図は本発
明の第2実施例における変換テーブルの更新を不可分に
行う命令の処理の手順を示すフローチャート図である。 100.400・・中マイクロブロセ・ソサ、101.
401・・・バスインターフェース部、102.402
・・・アドレス変換部、103.403・・・命令デコ
ーダ部、104.404・・・実行部、 105.405・・−システムバス、 106.408・・・データバス、 107.407・・φアドレスバス、 108.408・・・排他制御線、 109.409・バ−マイクロプロセッサ、110.4
10・・・排他制御線、 111.411・・ψメモリ。
構成のシステム構成と各中央処理装置の構成を示すブロ
ック図、第2図は本発明の第1実施例における仮想アド
レスと実アドレスとの対応を示すブロック図、第3図は
本発明の第1実施例における変換テーブルの更新を不可
分に行う命令の処理の手順を示すフローチャート図、第
4図は本発明の第2実施例における複数プロセッサ構成
のシステム構成と各中央処理装置の構成を示すブロック
図、第5図は本発明の第2実施例における仮想アドレス
と実アドレスとの対応を示すブロック図、第6図は本発
明の第2実施例における変換テーブルの更新を不可分に
行う命令の処理の手順を示すフローチャート図である。 100.400・・中マイクロブロセ・ソサ、101.
401・・・バスインターフェース部、102.402
・・・アドレス変換部、103.403・・・命令デコ
ーダ部、104.404・・・実行部、 105.405・・−システムバス、 106.408・・・データバス、 107.407・・φアドレスバス、 108.408・・・排他制御線、 109.409・バ−マイクロプロセッサ、110.4
10・・・排他制御線、 111.411・・ψメモリ。
Claims (1)
- 【特許請求の範囲】 仮想記憶システムを実現させるアドレス変換機構と、 共通のメモリに対する複数の中央処理装置のアクセスを
制御する不可分更新命令を実行可能な命令実現部と、 仮想アドレスから実アドレスへの変換を可能にするアド
レス変換部とを備えた中央処理装置において、 上記共通のメモリに対する不可分排他的アクセスを可能
にする制御信号線を有し、 上記アドレス変換部は仮想アドレスから実アドレスへア
ドレス変換するためのアドレス変換テーブルを有し、該
アドレス変換テーブルは仮想アドレスが指定する実アド
レスを持つ変換テーブル内エントリを有し、 上記命令実現部は変換テーブル内エントリ更新命令を実
行可能であり、該変換テーブル内エントリ更新命令の実
行時には上記制御信号線を活性化して上記共通メモリに
対する不可分排他的アクセスを可能にし、上記変換テー
ブル内エントリ更新命令のオペランドが指定する仮想ア
ドレスを実アドレスに変換する際に参照するアドレス変
換テーブル内エントリを更新すべきテーブルエントリと
して実行することを特徴とする中央処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62136879A JPH077365B2 (ja) | 1987-05-29 | 1987-05-29 | 情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62136879A JPH077365B2 (ja) | 1987-05-29 | 1987-05-29 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63298652A true JPS63298652A (ja) | 1988-12-06 |
| JPH077365B2 JPH077365B2 (ja) | 1995-01-30 |
Family
ID=15185673
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62136879A Expired - Fee Related JPH077365B2 (ja) | 1987-05-29 | 1987-05-29 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH077365B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20160076532A (ko) * | 2013-10-27 | 2016-06-30 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 입력/출력 메모리 맵 유닛 및 노스브리지 |
-
1987
- 1987-05-29 JP JP62136879A patent/JPH077365B2/ja not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20160076532A (ko) * | 2013-10-27 | 2016-06-30 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 입력/출력 메모리 맵 유닛 및 노스브리지 |
| JP2017502435A (ja) * | 2013-10-27 | 2017-01-19 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 入出力メモリマップユニット及びノースブリッジ |
| US10223280B2 (en) | 2013-10-27 | 2019-03-05 | Advanced Micro Devices, Inc. | Input/output memory map unit and northbridge |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH077365B2 (ja) | 1995-01-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6430657B1 (en) | Computer system that provides atomicity by using a tlb to indicate whether an exportable instruction should be executed using cache coherency or by exporting the exportable instruction, and emulates instructions specifying a bus lock | |
| US9218302B2 (en) | Page table management | |
| US7222221B1 (en) | Maintaining coherency of derived data in a computer system | |
| US6996698B2 (en) | Blocking processing restrictions based on addresses | |
| US4347565A (en) | Address control system for software simulation | |
| US8024506B1 (en) | Maintaining address translations during the software-based processing of instructions | |
| US6321314B1 (en) | Method and apparatus for restricting memory access | |
| US5280614A (en) | Apparatus and method for controlling access to data using domains | |
| US7467271B2 (en) | Operating system permitting limited access to a system page | |
| US20060036824A1 (en) | Managing the updating of storage keys | |
| US8140834B2 (en) | System, method and computer program product for providing a programmable quiesce filtering register | |
| JPS6248258B2 (ja) | ||
| JPH0619798A (ja) | セレクタの値のロードを回避する方法とシステム | |
| JPH03137747A (ja) | プロセツサおよび命令実行方法 | |
| JPS6122825B2 (ja) | ||
| JPH0583932B2 (ja) | ||
| US5745676A (en) | Authority reduction and restoration method providing system integrity for subspace groups and single address spaces during program linkage | |
| US6895583B1 (en) | Task control block for a computing environment | |
| US6862675B1 (en) | Microprocessor and device including memory units with different physical addresses | |
| JPH04155465A (ja) | ファイル共用方法 | |
| JP2001249848A (ja) | 先行特権レベルに基づく特権昇格 | |
| JP3554320B2 (ja) | オブジエクト指向メモリ保護メカニズムを採用するデータ処理システムで実行環境間の通信を実行するデータ処理システム | |
| JP2535086B2 (ja) | リング削減ロジック装置 | |
| US20080072009A1 (en) | Apparatus and method for handling interrupt disabled section and page pinning apparatus and method | |
| JPH077365B2 (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |