JPH077365B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH077365B2
JPH077365B2 JP62136879A JP13687987A JPH077365B2 JP H077365 B2 JPH077365 B2 JP H077365B2 JP 62136879 A JP62136879 A JP 62136879A JP 13687987 A JP13687987 A JP 13687987A JP H077365 B2 JPH077365 B2 JP H077365B2
Authority
JP
Japan
Prior art keywords
address
memory
entry
instruction
virtual
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 - Fee Related
Application number
JP62136879A
Other languages
English (en)
Other versions
JPS63298652A (ja
Inventor
陽一 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP62136879A priority Critical patent/JPH077365B2/ja
Publication of JPS63298652A publication Critical patent/JPS63298652A/ja
Publication of JPH077365B2 publication Critical patent/JPH077365B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、情報処理装置に関するものであり、特に、仮
想記憶環境下で、マルチプロセサ構成をサポートする不
可分更新命令の方式に関するものである。
[従来の技術] 計算機システムの発展にともない、計算機には高速な処
理のみならず、高度な処理も要求されるようになってき
ている。半導体技術を応用したマイクロプロセッサ(MP
Uと略す)の分野でも高度な処理が要求されており、特
にその中でも32ビットMPUと呼ばれる分野において、そ
の傾向は顕著である。
高度な処理の1つに、複数のMPUからなるマルチプロセ
ッサ・システムがある。このシステムでは、複数のプロ
セッサが同時に動作し処理を行うので、処理性能の向上
が図れる(負荷分散)こと、また異種のMPUを接続する
ことにより問題に適したMPUに処理を委託することがで
きる(機能分散)こと、などの利点がある。この種のマ
ルチプロセッサ環境では、MPUが資源にアクセスすると
きに競合が起こることがある。たとえば、システムに1
つのCRT装置しかないとき、複数のプロセッサが同時にC
RTへの出力要求を出すならば、画面には複数プロセッサ
の出力を重畳したイメージが表示されてしまう。このと
き、複数の要求を逐次化する機構が必要である。通常
は、マルチプロセサ環境での逐次化を実現するために、
テストとセット(TASI)命令などのインターロック付き
の命令が提供されている。これらの命令では、あるメモ
リ領域の内容のリード・モディファイ・ライト(RMWと
略す)のアクセスを単一の不可分アクセスとして実現し
ており、複数のプロセッサが同時に同じ領域にこのアク
セスを行おうとしても、正しい結果(逐次化された結
果)が得られるようにしている。たとえば、 TASI lock_byte という命令では、lock_byteという名称のメモリ中の情
報に対するRMWアクセスを、他のプロセッサの介入を許
すことなく不可分に行う。命令はlock byteの読み込
み、0との比較、そして定数(例えば0xff)の書き込
み、の3ステップをインターロック付きで実現する。マ
ルチプロセッサ環境での逐次化処理では、そのような不
可分の機構が提供されている必要性は言うまででもない
が、その処理時間が短いことも重要である。とくに、プ
ロセッサ数が大きくなるにしたがって逐次化処理の頻度
が大きくなるため、高速の逐次化処理が必要となる。一
方、最近のMPUでは、仮想記憶管理機構(例えばページ
ング方式)を組み込んだものが現れてきている。仮想記
憶管理機構を採用することにより、実メモリの大きさに
とらわれることなくプログラムの作成ができる(仮想記
憶)こと、あまり使用しないデータを含む領域を二次記
憶装置に保持することで実メモリの有効活用が図れるこ
と、更に仮想記憶管理機構に特有のアクセス保護機構に
より安全なシステム走行が実現できる(実行時安全保
証)ことなどの利点がある。仮想記憶管理機構では、メ
モリ中の情報であるアドレス変換テーブルを頻繁に書き
換える。これは、あるページを二次記憶装置に追い出し
たときにそのページがもはや実メモリ上にはないことを
記すとき、ページのアクセス情報(参照されたか、書き
換えられたか)を変更するとき、あるいはどのページを
追い出すかの参照の頻度を記録するときなどの場合であ
る。このとき、オペレーティング・システム(OS)がア
ドレス変換テーブルの内容を捜し出し書き換えるときに
は仮想空間上でのアドレスでアクセスできれば便利であ
る。それは、ある仮想アドレスを含むページのアドレス
変換情報(ページ・テーブル・エントリ;PTEと略す)に
アクセスするのに、アーキテクチャが定義するアドレス
変換のパスに従ってPTEを捜し出すことをハードウエア
が自動的に行うので、ソフトウェアがプログラムにより
捜し出すのに対して高速だからである。
[発明が解決しようとする問題点] 上述のような、マルチプロセッサ環境では、これらアド
レス変換テーブルそのものが主記憶上にあるシステム資
源であるために、頻繁に逐次化処理が行われる。特に、
アドレス変換テーブルの内容を書き換えるときには必ず
不可分のRMWアクセスが必要となる。一般のMPUでは、仮
想記憶管理機構に関連した不可分RMW命令は提供されて
おらず、仮想記憶管理を行う度毎にアドレス変換テーブ
ルのエントリを捜し出し、不可分アクセスを行わなけれ
ばならず、マルチプロセッサ環境では頻繁に起こる不可
分動作の速度を低下させるという問題点があった。
したがって、本発明の目的は中央処理装置の動作速度の
向上を図ることである。
[問題点を解決するための手段および作用] 本発明は、仮想記憶システムを実現させるアドレス変換
機構と、 メモリに対するアクセスを制御する不可分更新命令を実
行可能な命令実現部と、仮想アドレスから実アドレスへ
の変換を可能にするアドレス変換部とをそれぞれ備えた
複数の中央処理装置を含む情報処理装置において、 メモリに対する各中央処理装置の排他的アクセスを可能
にする制御線を有し、上記各中央処理装置のアドレス変
換部は仮想アドレスから実アドレスへアドレス変換する
際に参照する上記メモリ内の第1アドレス変換テーブル
に対応する第2アドレス変換テーブルを有し、 上記第1アドレス変換テーブルは仮想アドレスと実アド
レスの関係を保持する変換テーブル内エントリを有し、 一の中央処理装置の命令実行部は上記変換テーブル内エ
ントリに対する不可分更新命令の実行時に上記制御線を
活性化して上記メモリに対する排他的アクセスを実行
し、上記メモリの変換テーブル内エントリに対応する第
2アドレス変換テーブルの変換テーブル内エントリを更
新すると共に、上記メモリの変換テーブル内エントリも
更新することを特徴とする情報処理装置。
[実施例] 第1実施例 本発明について、図面を用いつつ説明する。第1図は本
発明の第1実施例におけるシステム構成のブロック図で
ある。第1図において、100は1つのMPUを示す。101は
システム・バスとの通信を制御するバス・インターフェ
ース部である。102は仮想アドレス・モードで実行中に
仮想アドレスから実アドレスへとアドレス変換するアド
レス変換部である。103は実行すべき命令をデコードす
る命令デコーダである。104は実行すべき命令機能を実
現する命令実行部である。105はシステムに共通のシス
テム・バスである。106はMPU100とシステム・バス105の
間にあるデータ・バスである。107はMPU100からシステ
ム・バス105へのアドレス・バスである。108はシステム
・バス105への排他的アクセス、すなわちメモリへの不
可分アクセスを制御するための制御信号線である。109
はマルチプロセッサ構成をとったときの、他のMPUであ
る。このMPUの構造はMPU100と全く同じである。複数存
在するが、代表を109としている。110はそのMPU109とシ
ステム・バスとのあいだの排他制御のための信号線であ
り、排他制御信号108と同じ働きをMPU109のためにす
る。111はシステムに共通のデータを保持する主メモリ
装置である。
この図において、MPU100は主メモリ111内の命令に、シ
ステム・バス105、データ・バス106、アドレス・バス10
7、バス・インターフェース部101等を経由しフェッチす
る。フェッチした命令を命令デコーダ部103は解読し、
実際の命令機能の処理を実行部104にゆだねる。もし、
その命令がシステム資源への排他的な不可分アクセスを
必要とするときには、主メモリ111内にある共通資源制
御のためのデータへのアクセスを、他のMPU109が中断し
たり横取りしないように、排他制御信号線108を用い排
他制御を実現する。この時、MPU100が仮想アドレス・モ
ードで実行しているならば主メモリ111へのアクセスを
実アドレスで行うように、アドレス変換部102を用いて
仮想アドレスから実アドレスへの変換を行う。アドレス
変換を高速に行うために、通常この部分は高速変換緩衝
機構(TLBと略す)で実現する。
第2図は、本実施例における、仮想アドレスから実アド
レスへの変換の様子を示したものである。第2図におい
て、200は仮想アドレスである。201は仮想アドレス200
のうち、セグメント・テーブル内のエントリ(セグメン
ト・テーブル・エントリ;STEと略す)206を指定する情
報である。202は仮想アドレス200のうち、ページ・テー
ブル内のエントリ(ページ・テーブル・エントリ;PTEと
略す)208を指定する情報である。203はアクセスするデ
ータ211のページ内オフセットを指定する情報である。2
04はアドレス変換テーブルのルートを指すレジスタであ
る。テーブル・ルート・レジスタ(TRRと略す)と呼
ぶ。この場合、セグメント・テーブル205のベース・ア
ドレスを保持する。205はセグメント・テーブルであ
る。アドレス変換テーブルの第1段となる。TRRレジス
タ204がそのベース・アドレスを保持する。206は201が
指定するSTEである。207はページ・テーブルである。ア
ドレス変換テーブルの第2段となる。STE206がそのベー
ス・アドレスを指定する。208は202が指定するPTEであ
る。209は主メモリである。210は主メモリの中のページ
枠であり、PTE208がそのベース・アドレスを指定する。
211はアクセスすべきデータである。ページ内の位置を2
03が指定する。
第2図に示すように、仮想アドレスから実アドレスへの
アドレス変換は2段のテーブルを参照して行う。第1段
目をセグメント・テーブルと呼び、第2段目をページ・
テーブルと呼ぶ。それぞれのテーブルは、テーブル・エ
ントリからなる。セグメント・テーブルのエントリをセ
グメント・テーブル・エントリ(STE)と呼び、ページ
・テーブルのエントリをページ・テーブル・エントリ
(PTE)と呼ぶ。
従来の方式では、マルチプロセッサ構成をとる場合のア
ドレス変換テーブルへの排他的アクセスを2段階の課程
で処理していた。例としてPTEへの排他的RMWアクセスを
する場合を考える。最初の段階ではPTEを探し出すため
に第2図に従ってアドレス変換の手順と同一の手段をソ
フトウェアでたどりPTEを特定する。次の段階では、PTE
自身の内容を更新するために不可分操作命令を使用して
内容のロック付き書換えを行う。
しかしこの方法では、ソフトウェア的に変換手順をたど
るために性能が低くなるだけでなく、第1段のアドレス
変換テーブル(セグメント・テーブル・エントリ)の内
容の書換えがもし同時に他のプロセッサにより行われた
場合、ソフトウェア的に変換手順をたどる際に正しいPT
Eをアクセスできなくなる可能性がある。従ってPTEへの
排他的アクセスは、STEをまずロックしページ・テーブ
ル全体へのアクセスの権利を確保したのちに行わなくて
はならない。
本実施例では、次のステップに従ってPTEへの排他的ア
クセスを実現する。まず、命令機能としては TASPIV va,mask という命令を用意する。TASPIVは、Test and set PT
E interlocked with Virtual address access の
略であり、この命令はPTEへの排他的アクセスと書換え
の機能を持つ。オペランドは2つあり、第1オペランド
はPTEを同定するための仮想アドレスを指定するオペラ
ンドで、vaが指定する仮想アドレスを変換するときに参
照するPTEが実際にロックされる対象となる。第2オペ
ランドは、マスク・パタンを指定するオペランドで、PT
Eのうち書き換えるべきビットを指定する。例えばもしP
TEが32ビット長であればマスクも32ビット長である。
この命令が実行される過程は次のとおりである。第3図
に命令実行フローを示す。
(1)排他的にアクセスするために、排他制御線108に
より主メモリ111への排他的アクセス権を得る。
(2)第1オペランドvaが指定するオペランド・データ
を仮想アドレス200とみなし、第2図で示すアドレス変
換プロセスをたどり、TRR204、セグメント・テーブル20
6、ベージ・テーブルをアクセスし、PTE208を特定す
る。
(3)特定したPTE208の内容を読みだし、マスクをと
り、書き換える。命令機能は、 TMP ← PTE ;PTEをフェッチする 比較 ← (OXFFFFFFFF and(not mask))−(TMP
and(not mask));マスク付きでオール1のパタン
と比較する PTE ← TMP and (not mask));PTEを更新する というものである。ここでPTEはページ・テーブル・エ
ントリ208自身、maskは第2オペランドが指定するマス
ク・パタンのデータである。
(4)結果をPTE208の場所に書き込んだあとに排他的ア
クセスが終了するので、排他制御線108により主メモリ1
11への排他的アクセスを終らせる。
第2実施例 次に、本発明の第2実施例について図面を用いつつ説明
する。
第1の実施例では、2段の変換テーブルをアクセスしPT
Eを不可分動作で更新する際に、PTEの処理がすべて終了
するまでセグメント・テーブルへのアクセスがロックさ
れ禁止されているため、複数のMPUが同一のページ・テ
ーブル内の複数のPTEを同時に更新しようとしても、一
度に1つのPTEしか更新できないという問題がある。す
なわち、2段の変換テーブル全体へのアクセスを不可分
としている。その間に他のMPUが横取り(ブリエンプシ
ョン)をしようとしてもできない。
第2実施例として次に説明するものは、2段のアクセス
の最中に横取りを許す方法である。
第4図は本発明の第2実施例におけるシステム構成のブ
ロック図である。第4図において、400は1つのMPUを示
す。401はシステム・バスとの通信を制御するバス・イ
ンターフェース部である。402は仮想アドレス・モード
で実行中に、仮想アドレスから実アドレスへと変換する
アドレス変換部である。403は実行すべき命令をデコー
ドする命令デコーダである。404は実行すべき命令機能
を行う命令実行部である。405はシステムに共通のシス
テム・バスである。406はMPU400とシステム・バス405の
あいだにあるデータ・バスである。407はMPU400からシ
ステム・バス405へのアドレス・バスである。408はシス
テム・バス405への排他的アクセスすなわちメモリへの
不可分アクセスを制御するための制御信号線である。40
9はマルチプロセッサ構成をとったときの、他のMPUであ
る。このMPUの構造はMPU400と全く同じである。複数存
在するが、代表を409としている。410はそのMPU409とシ
ステム・バスとのあいだの排他制御のための信号線であ
り、排他制御信号408と同じ働きをMPU409のためにす
る。411はシステムに共通のデータを保持する主メモリ
装置である。
第5図は、本実施例における、仮想アドレスから実アド
レスへの変換の様子を示したものである。第5図におい
て、500は仮想アドレスである。501は仮想アドレス500
のうち、セグメント・テーブル内のエントリ(セグメン
ト・テーブル・エントリ;STEと略す)506を指定する情
報である。502は仮想アドレス500のうち、ページ・テー
ブル内のエントリ(ページ・テーブル・エントリ;PTEと
略す)508を指定する情報である。503はアクセスするデ
ータ511のページ内オフセットを指定する情報である。5
04はアドレス変換テーブルのルートを指すレジスタであ
る。テーブル・ルート・レジスタ(TRRと略す)と呼
ぶ。この場合、セグメント・テーブル505のベース・ア
ドレスを保持する。505はセグメント・テーブルであ
る。アドレス変換テーブルの第1段となる。TRRレジス
タ504がそのベース・アドレスを保持する。506は501が
指定するSTEである。507はページ・テーブルである。ア
ドレス変換テーブルの第2段となる。STE506がそのベー
ス・アドレスを指定する。508は502が指定するPTEであ
る。509は主メモリである。510は主メモリの中のページ
枠であり、PTE508がそのベース・アドレスを指定する。
511はアクセスすべきデータである。ページ内の位置を5
03が指定する。第2実施例では、次のステップに従って
PTEへの排他的アクセスを実現する。まず、命令機能と
しては TASPIV2 va,mask という命令を用意する。TASPIV2は、Test and Set P
TE interlocked with Virtual address access,pa
rt2の略であり、この命令はPTEへの排他的アクセスと書
換えの機能を持つ、オペランドの機能は、第1実施例と
同じである。
第2実施例が第1実施例と異なる点は、変換テーブル・
アクセスの際に、アクセスを不可分とせず、途中でプリ
エンプションを許す点である。ただし論理的な矛盾が起
こらないように、セグメント・テーブル・エントリに使
用数カウンタを設け使用中かどうか、使用中の場合はい
くつのプロセスが使用しているかを記す。使用中でなけ
ればカウンタは0である。STEを更新する場合には、PTE
へのアクセスを禁止しなければならないのでSTE使用中
という状態を、使用数カウンタが−1という値で示す。
PTEの更新の場合は、もしSTEの使用数カウンタが−1で
あればアクセスできないので異常終了となる。
この命令の実行フローを第6図に示す。
[発明の効果] 上記の方法を採用することにより、 (1)一命令でページ・テーブル・エントリ(PTE)へ
の排他的リード・モディファイ・ライトRMW)アクセス
ができる (2)排他的アクセスの時間を短くできるという効果が
得られる。
すなわち、従来のMPUでは単にメモリ上にある逐次化ア
クセスしなければならないデータに対する不可分RMW命
令が存在していたのみであり、アドレス変換テーブルの
なかのエントリに対して仮想アドレスでアクセスし、か
つ不可分に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,406……データバス、 107,407……アドレスバス、 108,408……排他制御線、 109,409……マイクロプロセッサ、 110,410……排他制御線、 111,411……メモリ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】仮想記憶システムを実現させるアドレス変
    換機構と、 メモリに対するアクセスを制御する不可分更新命令を実
    行可能な命令実現部と、仮想アドレスから実アドレスへ
    の変換を可能にするアドレス変換部とをそれぞれ備えた
    複数の中央処理装置を含む情報処理装置において、 メモリに対する各中央処理装置の排他的アクセスを可能
    にする制御線を有し、上記各中央処理装置のアドレス変
    換部は仮想アドレスから実アドレスへアドレス変換する
    際に参照する上記メモリ内の第1アドレス変換テーブル
    に対応する第2アドレス変換テーブルを有し、 上記第1アドレス変換テーブルは仮想アドレスと実アド
    レスの関係を保持する変換テーブル内エントリを有し、 一の中央処理装置の命令実行部は上記変換テーブル内エ
    ントリに対する不可分更新命令の実行時に上記制御線を
    活性化して上記メモリに対する排他的アクセスを実行
    し、上記メモリの変換テーブル内エントリに対応する第
    2アドレス変換テーブルの変換テーブル内エントリを更
    新すると共に、上記メモリの変換テーブル内エントリも
    更新することを特徴とする情報処理装置。
  2. 【請求項2】上記メモリの変換テーブル内エントリは上
    記不可分更新命令のオペランドが指定する仮想アドレス
    に基づきアドレス指定される特許請求の範囲1項記載の
    情報処理装置。
JP62136879A 1987-05-29 1987-05-29 情報処理装置 Expired - Fee Related JPH077365B2 (ja)

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 JPS63298652A (ja) 1988-12-06
JPH077365B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102114941B1 (ko) * 2013-10-27 2020-06-08 어드밴스드 마이크로 디바이시즈, 인코포레이티드 입력/출력 메모리 맵 유닛 및 노스브리지

Also Published As

Publication number Publication date
JPS63298652A (ja) 1988-12-06

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
CA2024444C (en) Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
US4347565A (en) Address control system for software simulation
US6321314B1 (en) Method and apparatus for restricting memory access
JP6202543B2 (ja) 動的アドレス変換テーブルを管理する方法、システムおよびコンピュータ・プログラム
US4742450A (en) Method to share copy on write segment for mapped files
US9218302B2 (en) Page table management
JP6284130B2 (ja) ローカル・クリア制御
US8386750B2 (en) Multiprocessor system having processors with different address widths and method for operating the same
US8140834B2 (en) System, method and computer program product for providing a programmable quiesce filtering register
JPS6248258B2 (ja)
JP4668166B2 (ja) ゲストがメモリ変換されたデバイスにアクセスする方法及び装置
EP0902922A1 (en) Method and apparatus for caching system management mode information with other information
US5745676A (en) Authority reduction and restoration method providing system integrity for subspace groups and single address spaces during program linkage
US6865651B2 (en) Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment
US5459872A (en) Software control of hardware interruptions
EP0550283A2 (en) Invoking hardware recovery actions via action latches
US4991083A (en) Method and system for extending address space for vector processing
US5802397A (en) System for storage protection from unintended I/O access using I/O protection key by providing no control by I/O key entries over access by CP entity
US6862675B1 (en) Microprocessor and device including memory units with different physical addresses
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPS63298652A (ja) 情報処理装置
US20240311152A1 (en) Translation lookaside buffer maintenance method and related device
JP2535086B2 (ja) リング削減ロジック装置
JPS6113261B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees