JPS623359A - 仮想記憶方式 - Google Patents

仮想記憶方式

Info

Publication number
JPS623359A
JPS623359A JP61111741A JP11174186A JPS623359A JP S623359 A JPS623359 A JP S623359A JP 61111741 A JP61111741 A JP 61111741A JP 11174186 A JP11174186 A JP 11174186A JP S623359 A JPS623359 A JP S623359A
Authority
JP
Japan
Prior art keywords
address
input
page
register
pages
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
Application number
JP61111741A
Other languages
English (en)
Other versions
JPH0654479B2 (ja
Inventor
Shii Betonaa Suteibun
ステイブン・シー・ベトナー
Aaru Burigu Uiriamu
ウイリアム・アール・ブリグ
Bui Jieimuzu Deibitsudo
デイビツド・ブイ・ジエイムズ
Riu Tsuokai
ツオカイ・リウ
Jiei Mahon Maikeru
マイケル・ジエイ・マホン
Shii Miraa Terensu
テレンス・シー・ミラー
Esu Uoorii Jiyunia Uiriamu
ウイリアム・エス・ウオーリイ.ジユニア
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.)
Hewlett Packard Japan Inc
Original Assignee
Yokogawa Hewlett Packard Ltd
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 Yokogawa Hewlett Packard Ltd filed Critical Yokogawa Hewlett Packard Ltd
Publication of JPS623359A publication Critical patent/JPS623359A/ja
Publication of JPH0654479B2 publication Critical patent/JPH0654479B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/206Memory mapped I/O

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は仮想記憶方式の改良に関する。
〔従来技術およびその問題点〕
従来技術においては、コンピュータ・システム上で走る
各プロセスは自身の仮想記憶空間を持っている。これに
よりシステムが非常に複雑になりまた最適な性能も得ら
れない。たとえば、プロセス毎に別々のベージ−テーブ
ルが必要になる。ページ・テーブルとは仮想メモリ・ア
ドレスをメモリ中の物理ロケーションヘマツビングする
ためのものである。更に各プロセスが自分自身の仮想記
憶空間を持っている場合、コンピュータ内でプロセスが
切替る毎に、これまで実行されていたプロセスに4 (
T L Bおよびキャッシュ・エントリが無効化されね
ばならない。
更に、従来の仮想記憶システムでは、入出力デバイスは
2つの方法のいずれかによってアクセスされる。第1の
方法では、コンピュータの命令セット中に、入出力デバ
イスを制御する命令が設けられる。第2の方法はメモリ
・マツブトI10と呼ばれるもので、メモリ・アドレス
の一部を各人出力デバイスに割当てる。各入出力デバイ
スに割当てられたアドレスはその入出力アドレス領域と
呼ばれる。メモリ・マツプトエ10では、プロセッサが
ある入出力デバイスの入出力アドレス領域内のアドレス
に読出し/書込みを行なSつとすると、その入出力装置
によって検出およびデコードされる。入出力装置内の各
レジスタにはそのアドレス領域内のアドレスが対応付け
られている。これらレジスタへのアクセス動作は、入出
力デバイスのアドレス領域内での読出しあるいは書込み
を行なうと、そのアドレス領域に対応付けられた入出力
デバイス内のレジスタの読出しあるいは書込みが行なわ
れるようになっている。このようにして、入出力デバイ
スに割当てられたアドレス領域のアドレスへの読出しあ
るいは書込みを、入出力デバイスの制御に用いることが
できる。
メモリ・マツブトI10システムを用いるひとつの利点
は、首級言語で書かれたプロン−ジャから入出力デバイ
スをアクセスできることである。
従来のいくつかのコンピューターアーキテクチャにおい
ては、アプリケーション・プログラムからコンピュータ
の入出力デバイスのアドレス領域の全であるいは一部分
に直接にアクセスすることができた。しかしながら、こ
のようにした場合、マルチタスクを行なおうとすると困
難な問題をひきおこすことがあった。たとえば、あるア
プリケーション−プログラムが、DMAを行なう入出力
デバイスを誤って始動させた場合、この入出力デバイス
は他のアプリケーション・プログラムに割当てられたメ
モリ領域上で読出しあるいは書込みを行なうかもしれず
、これによりシステムの安全性を危くする可能性があっ
た。
ある従来の方式によれば、マルチタスクを行なう場合の
システムの安全性上の危険を回避するため、アプリケー
ション・プログラムが入出力デバイスのアドレス領域に
直接的にアクセスするのを妨げていた。そりかわシ、全
入出力アドレスは、入出力ドライバと呼ばれる特権化さ
れたプロシージャを介してのみアクセスが可能であった
。これKよれば、高水準のシステムの安全性が得られる
のではあるが、他方多くのソフトウェア−オーバヘッド
をもたらし、非効率的でかつ制限が強いものであった。
〔発明の目的〕
本発明は上述した従来技術の問題点を解決し、効率的な
仮想記憶方式を提供することを目的とする。
〔発明の概要〕
本発明の仮想記憶方式の一実施例によれば、全域的な仮
想記は空間が与えられる。ここで全域的とは、どのプロ
セスがプロセッサ上で実行されているかにはかかわりな
(、物理メモリ・ロケーションは同じ仮想記憶空間ヘマ
ッピングされる、ということを意味する。書込み禁止ビ
ットがついたアクセス参コードを用いることによシ、プ
ロセスの各種のアドレスへのアクセスが制御される。
これに加えて、仮想記憶の特性が入出力デバイスのアド
レス領域へのアクセスの制御に用いられる。仮想記憶シ
ステムにおいては、プロセッサのアドレス空間内のペー
ジへのアクセス権はアプリケーション・プログラム毎に
割当てられる。このアクセス権はアドレス空間内にスト
アされている情報を読出す能力(読出しアクセス)であ
ってもよいし、またあるいはアドレス空間内にストアさ
れた情報を読出す能力とともにアドレス空間内に情報を
書込む能力(読出しアクセスおよび書込みアクセス)で
あってもよい。
本発明の一実施例においては、各入出力デバイスは2ペ
ージのアドレス領域を割当てられている。
一方のページは特権化されておシ、他方のページは特権
化されていない。1ページはかなり大きくてもよいので
(たとえば1ページに512個のレジスタ用のアドレス
・ロケーションを含んでよい)、各ページ内の多くのア
ドレスには入出力デバイスのレジスタが割当てられてい
なくてもよい。
しかしながら入出力デバイスの各レジスタに&転入出力
デバイスのアドレス領域としてとられた2ページの夫々
のページ中に1つずつのアドレスが割当てられる。単一
のレジスタに割当てられた夫々のページ内のアドレスは
、両ページ内で同一のページ内オフセットを持っている
。各レジスタは特権的あるいは非特権的であると見なさ
れる。もしあるレジスタが入出力デバイスのDM入動作
に関係したり、またプロセッサへの割込みに関係したり
、またあるいはシステムの安全性を危くするような他の
やり方で使われるかもしれないものである場合には、そ
のレジスタは特権的であると見なされる。
非特権なレジスタは特権化されたページおよび特権化さ
れていないページのどちらにおいても完全に備えられて
いてよい。ここで「完全に備えられている」とは、レジ
スタに対応付けられたアドレスでの読出し、書込みを行
なえば、そのレジスタの読出し、書込みが行なわれると
いうことである。
特権的なレジスタは特権化されたページ内のみで、上述
した意味において、完全に備えられている。特権的なレ
ジスタが特権化されていないページ上でどのような杉態
で現れるかは、システムの具体的な実現のやり方によっ
て変わるが、読出し可能だが書込み不可としてもよいし
、あるいは読出し蕾込みとも不可としてもよい。
〔発明の実施例〕
第1図に本発明の実施例のために用いることがテキルコ
ンピュータ・システムを示す、こノコンピュータa7ス
テムにはシステム・プロセッサ101゜システムΦメモ
リ102 、入出力デバイス103.104゜105.
106,107が含まれ、これらがバス100によって
結合されている。システム・プロセッサ101がこれら
入出力デバイス103ないし107と交信するには、各
入出力デバイス103ないし1071C割当てられたア
ドレス領域からデータを読出したりまたはデータなイ込
むことによって行なう。
第3図は、第1図中に示されたコンピュータ傘システム
のアドレス空間370がどのように割当てられているか
を示し−(いる。アドレス空間37oは2 バイトのデ
ータ(あるいは2 語のデータ)をアドレスできる。ア
ドレス空間370のうちの領域371はメモリ用のアド
レスとなっている。領域371中の部分領域371bは
メモリ用のアドレスとして確保されているがメモリは実
装されていない。
部分領域371aには実際にメモリが入ってSす、シス
テム−プロセッサ101上で走るオペレーティング・シ
ステムおよびユーザのアプリケークヨン・プログラムに
よって使用される。一般に部分領域371bは部分領域
371aに比較してかなり大きい。アドレス空間370
の領域373は入出力デバイス用に割当−〔られている
。アドレス空間370は全て、ページ301,302等
のページに分割されている。各ページには32ビット語
で512語が入っている。メモリのページへのアクセス
は、第7図に示された変換表550中のエントリに入っ
ているAID(アクセス識別直)によって制限すること
ができる。変換表550は仮想記憶ページ・アドレスを
、システム・メモリ102内の物理メモリ空間内のペー
ジ・アドレスに変換する。変換表550をシステム・メ
モリ102内に設けてよい。変換表550には一連のリ
ンク付きリスト(linked 11st )が含まれ
ている。たとえば変換表550中にはリンク付きリスト
ア02.703,704,705が示されている。リン
ク付きリストア02中のエントリ501.511を第5
図に示す。エンド1J501.511は夫々32ピント
語で4つのメモリ・ロケーションを占める。
エントリ501には、次のエントリ511を指示するア
ドレスが入っているロケーション503が含まれている
。エンドIJ 501にはまた、仮想ページ・アドレス
が入つ−〔いるロケーション504,505が含まれて
いる。変換表550中のどの位置にエントリ501が置
かれているかによって、システム・プロセッサ101は
ロケーション504,505に示すしている仮想記憶ペ
ージ・アドレスに対応する物理メモリ空間のアドレスを
知ることができる。エントリ5011cはまたロケーシ
ョン506が含まれ−〔いる。ロケーション506には
、16ビツトのアクセス権フィールド507、AIDを
含む15ピントのセクション508、および常時Oの1
ビツトのセクション509が含まれている。
エントリ511には、リンク付ぎリストア02上での次
のエン) IJを指示するアドレスが入っているロケー
ション513が含まれている。エントリ511には−f
た。仮想記憶ページ・アドレスが入っているロケーショ
ン514,515が含まれている。変換表550中のど
の位置にエントリ511が置かれているかによって、シ
ステム・アクセスt′101はロケ−ショア 514.
515 に示され−〔いる仮想記憶ページ・アドレスに
対応する物理メモリ空間のアートレスを知ることができ
る。エントリ511にはまたロケーション516が含ま
れる。ロケーション516には16ビツトのアクセス権
フィールド517、AIDを含んでいる15ビツトのセ
クション518、Hよび常時Oの1ビツトのセクション
519が含まれている。
システム−プロセッサ101には第6図に示す4個の制
御レジスタ601,611,621.631が設けられ
ている。制御レジスタ601.611,621,631
には現在実行中のプロセスのAIDが夫々入っている。
制御レジスタ601.611,621,631のセクシ
ョン602,612.622.632には夫々15ビツ
ト長のAIDがひとつずつ入っている。制御レジスタ6
01.611.621,631のセクション603.6
13.623.633には夫々1ビツトの書込み禁止直
が入つている。
システム・プロセッサ101上で実行中のあるプロセス
がメモリ・アクセスを要求した場合、仮想記憶のベージ
・アドレスが、変換表550を用いて物理ページ・アド
レスに変臭される。この変換過程において、第7図中に
示されている)・ンシュ・デバイス701が仮想アドレ
スを受は取つ一ζノ・ツシングし、変換表550中のあ
るリンク付きリストの先頭のエントリの物理アドレスを
生成する。たとえば、仮想ページ書アドレスなI・ツシ
ングすることにより、変換表550中のエントリ5日の
物理アドレスが生成されたとする。ハツシングされる前
の仮想ページ・アドレスはエンドIJ 501のロケー
ション504Sよび505にまたがって入っているひと
つの仮想ページ・アドレスと比較される。もし一致すれ
ば、エントリ501の変換表550中におけるディスプ
レースメントから対応する物理ページ・アドレスが求ま
る(たとえばディスプレースメントを所定ビット数にシ
フトすればよい)3斐に、アクセス潅フィールド507
中のアクセス・コードがチェックされる。アクセス・コ
ードは、読出し、書込λおよび/または実行が許される
にはプロセスはどのような特権レベルでなければならな
いかを示している。更にセクション508に入つ−〔い
るAIDがチェックされる。このAIDが0であるか、
あるいは制御レジスタ601.611,621.631
のいずれかに入っているAIDと一致した場合には、こ
のプロセスはメモリ中の物理ページへのアクセスを許さ
れる。ただし、一致するAIDを持っている制御レジス
タの書込み禁止直が1であれば、そのプロセスによる書
込みアクセスは拒否される。もし、ロケーション508
中のAIDが制御レジスタ601,611.621.6
31中のいずれのAIDとも一致せず、またこのAID
がOでもないのならば、そのプロセスはメモリ中の物理
ページへのアクセスを拒否される。
もしハツシングされた元の仮想アドレスがエントリ50
1中のロケーション504,505中の仮想アドレスと
一致しなかった場合は、リンク付きリス十702上の次
のエントリ、すなわちエントリ511が調べられる。つ
まりこの仮想アドレスがエントリ511中のロケーショ
ン514,515中の仮想アドレスと比較される。もし
一致すれば、アクセス権フィールド517中のアクセス
−コードが調べられ権 る。現在の特簀レベルが評価され、そのプロセスに対し
てどのようなアクセスの許可が与えられてよいのかが定
められる。そしてロケーション518中の入IDが制御
レジスタ601.611.621.631中の缶入ID
と比較される。以下同様の手順がくりかえされる。
第8図にはハツシュ・デバイス701と変換表550が
示されている。ハツシュ・デバイス701にはハツ7ユ
発生器720とハツシュ表801が含まれている。67
71表801もクステム・メモリ内に設けてよい3また
ハツシュ発生器720はソフトウェア、ハードウェアの
いずれで実現されてもよい。・・ツシュ発生器720は
仮想アドレスを受は取って/Sツシュ表アドレスを発生
する。この・・ツシュ表アドレスで指示されたハツシュ
表801の内容が調べられる。もしこの内容が空ポイン
タであれば、この仮想アドレスでアドレスされたデータ
は主記憶上にはない。またこのハツシュ表アドレスで指
示された内容が変換表550内のアドレスであれば、変
換表550内でこのアドレスから始まるリンク付きリス
トが順次サーチされる。このサーチは上に説明したよう
に、変換したい仮想アドレスが入っているエンドIJが
見つかるかあるいは空ボイ/りが見つかるまで続けられ
る。ここで空ポインタが見つかれば、それは、仮想アド
レスでアドレスされたデータは主記憶上に存在しないこ
とを意味している。アドレスされたデータが主記憶上に
存在しない場合には、ページ−フォルトが起り、一般に
ソフトウェアを用いてそのデータをディスクあるいは他
の記憶装置に取シ込む。
変換表550はページ・ディレクトリとして示されてい
る。エントリPIDROの位置が変換表550のベース
・アドレスである。エントリPIDROはアドレス空間
370の最下位のアドレスのページに対応し、それより
上のエントリPIDRI、PIDR2゜・・・・・−は
エントリPIDOに対応するページよりも1゜2、・・
・・・・だけ上位アドレス側のページに対応する。
このようにして、表550中でベース会アドレスに対し
て非負のオフセットを持ったエントリはアドレス空間中
の領域371中のページに対応する。アドレス空間37
0中の入出力デバイスのレジスタに対応する領域373
もまた変換表550中のエントリによってアドレス変換
される必要がある。しかしながらこの領域373に対応
するエントリも上述のようにして変換表550中に配置
するならば、変換表550が極め−〔大きくなるっなん
となればこの領域373のためのエントリは変換表55
0の上端に配置されるが、この部分とf換表550の下
端に配される部分領域371aのためのエンl−17群
との間に。
実際には使用されることのない部分領域371b用の極
めて大きなエン) IJ・スペースがとられてし1つか
らである。これを防止するため、変換表550中の領域
373用のエントリはベース・アドレスの下から負の方
向に配置される。たとえば、エンドIJ PDIR−I
  PDIR−2、・旧・・は夫々アドレス空間370
の最上位のページ(jなりち領域373の最上位のペー
ジでもある)、最上位側から数えて2番目のページJ・
・・・・・に対応する。このようにして。
アドレス空間370内の未使用の部分領域371bに対
応する大ぎなギャップを変換表550に持込むことなし
に、領域373に関するアドレス変換が可能となる。 
                       、]
・+3人図は、領域373を指示する物畦アドレス  
  7′・基 、℃ のビットがどのように割当てられているかを示す。  
  ;う稍 セクション381はアドレス380の最上位4ビツト 
    、;+5、。
を含む。アドレス空間380の上端256Mバイトが 
   1人出力デバイスのレジスタ用の領域373に割
当て    ′()□ られているので、領域373を指示するアドレスの  
  パ)マ セクション381の各ビットは1になる。セクショ  
   ;、:・ ン382はアドレス380のうちの16ビツトを含ん 
   ゛・゛、l ゛・: でいる。この16ビツトにより、どの入出力デバ   
  ・・′”′: イスがアドレスされているかが定められる。本実   
 11、.1 施例に3″′″1は・ 2 個(約65・000)+7
)入出力デ    ・、)バイスなアドレスできるだけ
の領域が与えられて    1.“いる。ピント383
により、特権化されたページが    ゛゛゛5゜ アドレスされ−〔いるのかそれとも特権化されてい  
  ゛゛ないベージがアドレスされているのかが示され
る。
アドレス380のセクション384は、入出力デバイス
内のどの特定のレジスタがアドレスされているのかが示
される。セクション385はアドレス380の最上位2
ビットを含む。セクション385内の2りのビレトはい
ずれも0である。なlしとなれば。
本実施例では各レジスタは32ビツトの語単位でアドレ
スされるのに対しアドレス空間370は8ビツトのバイ
ト単位でアドレスできるからである。
第4図には入出力デバイス107の構成が示されている
。入出力デバイス107には入出力アダプタ410とデ
バイス・インタフェース411が設ケられている。説明
しやすくするため、レジスタ400゜401、402.
403.404.405およびバッファ406が入出力
アダプタ410内に図示されている。レジスタ400に
はアドレスが入っており、そこへ書込みが行なわれた場
合、システム−プロセラf101に対する割込みが発生
するようになっている。レジスタ401は入出力デバイ
スに指示を与えるコマンドを受は取るレジスタである。
このコマンドによシ、たとえばデバイス・インタフェー
ス411を初期化したり、デバイスeインタフェース4
11からデータを読出したり、あるいはデバイス・イン
タフェース411にデータな赴込む指示な辱えるっレジ
スタ402には入出力アダプタ410がシステム・メモ
リ102上のDMA(直接メモリ・アクセス)転送を行
なう際の開始アドレスを示す数が入る。
レジスタ403には、DMA転送によりシステム・メモ
リ102で転送されるデータの量を示すバイト数が入る
。レジスタ404はDMA転送を開始させたりまたは終
了させるコマンドを受は取る。レジスタ405には、入
出力アダプタ410とクステムーメモリ402との間の
直前のDMA トランザクションのステータスに関する
情報が入っている。
第2A図は、入出力デバイス107に関連付けられた。
特+W化されていないベージ301を示している。第2
B図は、入出力デバイス107に関連付ゆられた特権化
されているベージ302を示している。
レジスタ400ないし405の各々にはベージ301お
よ・び302内のアドレスが関連付けられている。
たとえば、ベージ301については、 アドレスIPO・・・・・・レジスタ400アドレスI
P1・・・・・・レジスタ401アドレスIP2・・・
・・・レジスタ402アドレスIP3・・・・・・レジ
スタ403アドレスIP4・・・・・・レジスタ404
アドレスIP5・・・・・・Vラスタ405となってい
る。またベージ302については、アドレス2PO・・
・・・・レジスタ400アドレス2P1・・・・・・レ
ジスタ401アドンス2P2・・・・・・レジスタ40
2アドレス2P3・・・・・・レジスタ4o3アドレス
2P4・・・・・・レジスタ404アドレス2P5・・
・・・・レジスタ405となっている。特権化されてい
ないベージ301のjA#)のアドレスIP6−IP5
11、および特権化されたベージ302の残りのアドレ
ス2P6−2P511にはレジスタが対応付けられてお
らず従って実装され−〔いないアドレスとなってもよい
レジスタ400ないし405は夫々#権化されてぃない
ベージ301および特権化されたベージ302の両方の
アドレスに関連付ゆられているが、レジスタ400ない
し405が皆両ページで完全に備えられているわけでは
ない。たとえば、レジスタ400.402.403は特
権化されたベージ302内でのみ完全に備えることがで
きる。これらのレジスタに対して権限のないアクセスが
行なわれるならば、システムの安全性が損なわれるおそ
れがある。というのはレジスタ400はプロセッサに直
接に割込みをおこすために用いられ、またレジスタ40
2.403はシステム・メモリ102とのDMAトラン
ザクションに関係しているからである。実現形態によっ
ては、特権化されていないベージ301を介してのレジ
スタ400,402,403への読出しアクセスは許可
されてもよい。レジスタ401はデバイス・インタフェ
ース411と入出力アダプタ410との間のトランザク
ションに関係し−〔いる。これらのトランザクションを
行なう能力を与えたとしても別にシステムの安全をおび
やかさない。従ってレジスタ、401は特信化されてい
ないベージ301および特権化されたベージ3020両
方で完全に備えられてよい。レジスタ404%405は
DM入転送に用いられるのではあるが、システムが適切
に設計されていれば、これらのレジスタはシステムの安
全性を損なうことなしに使用されることができる。たと
えば、レジスタ403のような特権的なレジスタ内のビ
ットをDMA )ランザクジョンを付勢するのに用い、
これによって特権化されたプロセスによって付勢された
場合にのみ、DM入トランザクションが開始されるよう
にできる。
特権化されtこレジスタも特権化されていないレジスタ
も、これらのレジスタを読出すことによるシステム内で
の副作用を起さないように構成されなければならない。
たとえば読出しによって新たな入出力動作が起ってはな
らない。これにより。
ユーザ・プロセスは入出力動作を行なうデバイスに影響
を与えることなしに、入出力動作を観察し監視すること
が許される。
特権化されたレジスタSよび特権化されていないレジス
タは更に、実装されていないアドレスへの書込みは無視
されるか、あるいは定義されないデータが同じページ内
のある別の実装されているアドレスへ書込まれるのと等
価な効果を与えるように構成されなければならない。
上述の実施例はデバイスの割当てについての最大限の柔
軟性とこれに加えてシステムの保護を与えるものではあ
るが、これにかわる他の実現形態ジの2ページにマツピ
ングされるが、各レジスタは一方のページ忙のみ備えら
れてもよい。これはプロセッサのソフトウェアの性能に
影響を与える。
なんとなればこの方式ではひとつの入出力デバイ   
 ]゛□叱 スの全ての制御レジスタにアクセスしたい場合に   
 ベー′長 諷 kt、 2  < −−) f)71 *x ”181
17に、1−1z ″′6°        :′了こ
れに代えて、各ユーザ・デバイスは単一のべ−2,ニジ
にマツピングされてよい。これによれば、ひとつの入出
力デバイス中の全レジスタへのアクセスはひとつのペー
ジへのアクセスだけで行なえるが、    ゛非特、横
的なレジスタのみを持っている入出力デバ′イスについ
てしか安全性を確保できない。
〔発明の効果〕
以北説明したように、本発明によればシステムの構成が
簡単になるとともに、入出力制御等のオーバーヘッドを
少なくすることができるという効果が得られるっ
【図面の簡単な説明】
第1図は本発明の仮想記憶方式が適用されるコンピュー
ターシステムのブロック図、第2人図および第2B図は
本発明の一実施例における入出力デバイスの各レジスタ
の仮想記憶上のページ内の配置を示す図、第3図は第1
図のコンピュータ・システムのアドレス空間の割当てを
示す図、第3A図は入出力デバイス用の領域を指示する
物理アドレスの各ピントの割当てを示す図、第4図は入
出力デバイスの構成の概略図、第5図は変換表中のエン
トリの構成を示す図、第6図はシステム・プロセッサ内
の4個の制御レジスタの構成を示す図、第7図および第
8図は実施例におけるアドレス変臭のための構成を示す
図である。 101ニジステム・プロセッサ。 102 : 、、/xヶA @ ) % IJ、   
        :#103.104.105.106
.1o7:入出力デバイス、       。 301、302 :ページ、            
      400.402,403,404.405
 :レジスタ、410:入出力アダプタ、 411ニア’バイス・インタフェース、゛501、51
1 :エントリ、 550:変換表、 601、611.6□□、63□2,1゜v、72、 
         □[、″ 701ニア、ッッユ*fAイユ、          
   。 7o2.□03.704.705 : IJ 7 、、
(tよ1.オ1、       ;■ 801ニア、ッッーよ。              
   ・、′′。 、゛ □ 出願人 横筒叱ニーレット・パッヵード株式会社   
      “代理人 弁理士  長 谷 川  次 
 男        “二;; 、・ ・j

Claims (1)

  1. 【特許請求の範囲】 複数のプロセスを実行する処理手段と、 複数の物理記憶ロケーションを有する主記憶手段と、 複数の物理記憶ロケーションを有する2次記憶手段と、 前記複数のプロセスのいずれかによつてアクセスされる
    前記主記憶手段と前記2次記憶手段の各々の物理記憶ロ
    ケーションに仮想アドレスを割当てるマッピング手段 とを設け、 前記主記憶手段と前記2次記憶手段中の各々の物理記憶
    ロケーションの前記仮想アドレスは前記複数のプロセス
    に対して同じ値である 仮想記憶方式。
JP61111741A 1985-06-28 1986-05-15 仮想記憶方式 Expired - Lifetime JPH0654479B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US750578 1985-06-28
US06/750,578 US4777589A (en) 1985-06-28 1985-06-28 Direct input/output in a virtual memory system

Publications (2)

Publication Number Publication Date
JPS623359A true JPS623359A (ja) 1987-01-09
JPH0654479B2 JPH0654479B2 (ja) 1994-07-20

Family

ID=25018430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61111741A Expired - Lifetime JPH0654479B2 (ja) 1985-06-28 1986-05-15 仮想記憶方式

Country Status (8)

Country Link
US (1) US4777589A (ja)
EP (2) EP0208428B1 (ja)
JP (1) JPH0654479B2 (ja)
KR (1) KR930009062B1 (ja)
CN (1) CN1006096B (ja)
AU (2) AU583634B2 (ja)
CA (1) CA1261479A (ja)
DE (1) DE3689209T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03501176A (ja) * 1987-08-13 1991-03-14 ディジタル イクイプメント コーポレーション 高性能グラフィックスワークステーション
JPH03224918A (ja) * 1989-12-15 1991-10-03 Noriatsu Kojima 排水立て管継手

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
JP2507756B2 (ja) * 1987-10-05 1996-06-19 株式会社日立製作所 情報処理装置
US5297268A (en) * 1988-06-03 1994-03-22 Dallas Semiconductor Corporation ID protected memory with a readable/writable ID template
US5125086A (en) * 1989-06-29 1992-06-23 Digital Equipment Corporation Virtual memory paging apparatus with variable size in-page clusters
US5469556A (en) * 1989-12-12 1995-11-21 Harris Corporation Resource access security system for controlling access to resources of a data processing system
US5371890A (en) * 1991-10-30 1994-12-06 International Business Machines Corporation Problem state cross-memory communication using communication memory domains
US5627987A (en) * 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
JP2974526B2 (ja) * 1992-12-18 1999-11-10 富士通株式会社 データ転送処理方法及びデータ転送処理装置
JP3676411B2 (ja) * 1994-01-21 2005-07-27 サン・マイクロシステムズ・インコーポレイテッド レジスタファイル装置及びレジスタファイルアクセス方法
JPH0844655A (ja) * 1994-06-20 1996-02-16 Internatl Business Mach Corp <Ibm> マルチプル・バス情報処理システムのアドレス空間の拡張
CN100452071C (zh) * 1995-02-13 2009-01-14 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5623692A (en) * 1995-05-15 1997-04-22 Nvidia Corporation Architecture for providing input/output operations in a computer system
US5640591A (en) * 1995-05-15 1997-06-17 Nvidia Corporation Method and apparatus for naming input/output devices in a computer system
US5768618A (en) * 1995-12-21 1998-06-16 Ncr Corporation Method for performing sequence of actions in device connected to computer in response to specified values being written into snooped sub portions of address space
US5926648A (en) * 1996-08-22 1999-07-20 Zilog, Inc. I/O port and RAM memory addressing technique
CN1104504C (zh) * 2000-05-23 2003-04-02 厦门大学 一种海洋细菌胞外多糖的生产工艺
US6865665B2 (en) * 2000-12-29 2005-03-08 Stmicroelectronics, Inc. Processor pipeline cache miss apparatus and method for operation
US7337306B2 (en) * 2000-12-29 2008-02-26 Stmicroelectronics, Inc. Executing conditional branch instructions in a data processor having a clustered architecture
DE10127195A1 (de) * 2001-06-05 2002-12-19 Infineon Technologies Ag Prozessor mit interner Speicherkonfiguration
US7254720B1 (en) * 2002-02-13 2007-08-07 Lsi Corporation Precise exit logic for removal of security overlay of instruction space
US7206906B1 (en) * 2004-03-10 2007-04-17 Sun Microsystems, Inc. Physical address mapping framework
TWI368224B (en) * 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009072101A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
CN101470633B (zh) * 2007-12-24 2011-09-21 联想(北京)有限公司 一种虚拟机监视器、虚拟机系统及其内存处理方法
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8996790B1 (en) * 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
CN103970680A (zh) * 2014-04-28 2014-08-06 上海华为技术有限公司 内存管理方法、装置及嵌入式系统
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
CN105653478B (zh) * 2015-12-29 2019-07-26 致象尔微电子科技(上海)有限公司 串行闪存控制器、串行闪存控制方法及串行闪存控制系统
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US11061819B2 (en) 2019-05-28 2021-07-13 Micron Technology, Inc. Distributed computing based on memory as a service

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE758815A (fr) * 1969-11-28 1971-04-16 Burroughs Corp Systeme de traitement d'information presentant des moyens pour la preparation dynamique d'adresses de memoire
US4053948A (en) * 1976-06-21 1977-10-11 Ibm Corporation Look aside array invalidation mechanism
FR2431732A1 (fr) * 1978-07-19 1980-02-15 Materiel Telephonique Dispositif de conversion d'adresse virtuelle en adresse reelle
US4320456A (en) * 1980-01-18 1982-03-16 International Business Machines Corporation Control apparatus for virtual address translation unit
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4493023A (en) * 1981-05-22 1985-01-08 Data General Corporation Digital data processing system having unique addressing means and means for identifying and accessing operands
US4439830A (en) * 1981-11-09 1984-03-27 Control Data Corporation Computer system key and lock protection mechanism
US4477871A (en) * 1981-11-23 1984-10-16 Motorola, Inc. Global operation coordination method and circuit
US4654777A (en) * 1982-05-25 1987-03-31 Tokyo Shibaura Denki Kabushiki Kaisha Segmented one and two level paging address translation system
JPS6047624B2 (ja) * 1982-06-30 1985-10-22 富士通株式会社 アドレス変換制御方式
US4635189A (en) * 1984-03-01 1987-01-06 Measurex Corporation Real-time distributed data-base management system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03501176A (ja) * 1987-08-13 1991-03-14 ディジタル イクイプメント コーポレーション 高性能グラフィックスワークステーション
JPH03224918A (ja) * 1989-12-15 1991-10-03 Noriatsu Kojima 排水立て管継手

Also Published As

Publication number Publication date
AU3641089A (en) 1989-10-05
KR870000645A (ko) 1987-02-19
EP0208428B1 (en) 1993-10-27
CN86103675A (zh) 1986-12-24
AU5941386A (en) 1987-01-08
KR930009062B1 (ko) 1993-09-22
CN1006096B (zh) 1989-12-13
EP0551148A2 (en) 1993-07-14
US4777589A (en) 1988-10-11
EP0208428A2 (en) 1987-01-14
EP0551148A3 (en) 1993-09-15
AU583634B2 (en) 1989-05-04
EP0208428A3 (en) 1989-04-26
DE3689209D1 (de) 1993-12-02
DE3689209T2 (de) 1994-03-10
CA1261479A (en) 1989-09-26
JPH0654479B2 (ja) 1994-07-20
AU623146B2 (en) 1992-05-07

Similar Documents

Publication Publication Date Title
JPS623359A (ja) 仮想記憶方式
JP3920395B2 (ja) アドレス変換制御回路及びアドレス変換方法
JP5914145B2 (ja) メモリ保護回路、処理装置、およびメモリ保護方法
JP4639233B2 (ja) プロセッサ・リソースの仮想化のためのシステムおよび方法
CA2275970C (en) Object and method for providing efficient multi-user access to shared operating system kernal code using instancing
US4742450A (en) Method to share copy on write segment for mapped files
JPS6041379B2 (ja) 多重仮想アドレス空間式デ−タ処理システム
JP4156033B2 (ja) 連続するメモリのバッファを獲得し、ページテーブルを構築する方法
JP2005509946A (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
JPS6013501B2 (ja) 仮想計算機システムにおけるチヤネルアドレス制御方式
JPS6022377B2 (ja) アドレス制御方式
GB2322209A (en) Multi-tasking computer system has shared address space among multiple virtual address spaces
JPH077363B2 (ja) アクセス装置及び方法
JPS6248258B2 (ja)
JPS6341100B2 (ja)
JP2001051958A (ja) 多重プロセッサ多成分アーキテクチャのための統一メモリ管理システム
JPH03240134A (ja) オブジエクト指向メモリ保護メカニズムを採用するデータ処理システムで実行環境間の同期通信を実行する方法
JPS61160160A (ja) 仮想計算機システムにおけるアドレツシング制御装置
JPS63244152A (ja) 拡張記憶装置アクセス制御装置
GB1495729A (en) Apparatus and method for handling exceptions in a data processing system
JPH01228038A (ja) アクセス・レジスタ変換機構
JPS6336012B2 (ja)
JP3645671B2 (ja) 命令バッファを有するプロセッサ装置
EP0389886A2 (en) Ring reduction logic mechanism
JP2001075824A (ja) アクセス方法及びアクセス処理プログラムを記録した記録媒体

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term