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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/206—Memory 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およびキャッシュ・エントリが無効化されね
ばならない。
各プロセスは自身の仮想記憶空間を持っている。これに
よりシステムが非常に複雑になりまた最適な性能も得ら
れない。たとえば、プロセス毎に別々のベージ−テーブ
ルが必要になる。ページ・テーブルとは仮想メモリ・ア
ドレスをメモリ中の物理ロケーションヘマツビングする
ためのものである。更に各プロセスが自分自身の仮想記
憶空間を持っている場合、コンピュータ内でプロセスが
切替る毎に、これまで実行されていたプロセスに4 (
T L Bおよびキャッシュ・エントリが無効化されね
ばならない。
更に、従来の仮想記憶システムでは、入出力デバイスは
2つの方法のいずれかによってアクセスされる。第1の
方法では、コンピュータの命令セット中に、入出力デバ
イスを制御する命令が設けられる。第2の方法はメモリ
・マツブトI10と呼ばれるもので、メモリ・アドレス
の一部を各人出力デバイスに割当てる。各入出力デバイ
スに割当てられたアドレスはその入出力アドレス領域と
呼ばれる。メモリ・マツプトエ10では、プロセッサが
ある入出力デバイスの入出力アドレス領域内のアドレス
に読出し/書込みを行なSつとすると、その入出力装置
によって検出およびデコードされる。入出力装置内の各
レジスタにはそのアドレス領域内のアドレスが対応付け
られている。これらレジスタへのアクセス動作は、入出
力デバイスのアドレス領域内での読出しあるいは書込み
を行なうと、そのアドレス領域に対応付けられた入出力
デバイス内のレジスタの読出しあるいは書込みが行なわ
れるようになっている。このようにして、入出力デバイ
スに割当てられたアドレス領域のアドレスへの読出しあ
るいは書込みを、入出力デバイスの制御に用いることが
できる。
2つの方法のいずれかによってアクセスされる。第1の
方法では、コンピュータの命令セット中に、入出力デバ
イスを制御する命令が設けられる。第2の方法はメモリ
・マツブトI10と呼ばれるもので、メモリ・アドレス
の一部を各人出力デバイスに割当てる。各入出力デバイ
スに割当てられたアドレスはその入出力アドレス領域と
呼ばれる。メモリ・マツプトエ10では、プロセッサが
ある入出力デバイスの入出力アドレス領域内のアドレス
に読出し/書込みを行なSつとすると、その入出力装置
によって検出およびデコードされる。入出力装置内の各
レジスタにはそのアドレス領域内のアドレスが対応付け
られている。これらレジスタへのアクセス動作は、入出
力デバイスのアドレス領域内での読出しあるいは書込み
を行なうと、そのアドレス領域に対応付けられた入出力
デバイス内のレジスタの読出しあるいは書込みが行なわ
れるようになっている。このようにして、入出力デバイ
スに割当てられたアドレス領域のアドレスへの読出しあ
るいは書込みを、入出力デバイスの制御に用いることが
できる。
メモリ・マツブトI10システムを用いるひとつの利点
は、首級言語で書かれたプロン−ジャから入出力デバイ
スをアクセスできることである。
は、首級言語で書かれたプロン−ジャから入出力デバイ
スをアクセスできることである。
従来のいくつかのコンピューターアーキテクチャにおい
ては、アプリケーション・プログラムからコンピュータ
の入出力デバイスのアドレス領域の全であるいは一部分
に直接にアクセスすることができた。しかしながら、こ
のようにした場合、マルチタスクを行なおうとすると困
難な問題をひきおこすことがあった。たとえば、あるア
プリケーション−プログラムが、DMAを行なう入出力
デバイスを誤って始動させた場合、この入出力デバイス
は他のアプリケーション・プログラムに割当てられたメ
モリ領域上で読出しあるいは書込みを行なうかもしれず
、これによりシステムの安全性を危くする可能性があっ
た。
ては、アプリケーション・プログラムからコンピュータ
の入出力デバイスのアドレス領域の全であるいは一部分
に直接にアクセスすることができた。しかしながら、こ
のようにした場合、マルチタスクを行なおうとすると困
難な問題をひきおこすことがあった。たとえば、あるア
プリケーション−プログラムが、DMAを行なう入出力
デバイスを誤って始動させた場合、この入出力デバイス
は他のアプリケーション・プログラムに割当てられたメ
モリ領域上で読出しあるいは書込みを行なうかもしれず
、これによりシステムの安全性を危くする可能性があっ
た。
ある従来の方式によれば、マルチタスクを行なう場合の
システムの安全性上の危険を回避するため、アプリケー
ション・プログラムが入出力デバイスのアドレス領域に
直接的にアクセスするのを妨げていた。そりかわシ、全
入出力アドレスは、入出力ドライバと呼ばれる特権化さ
れたプロシージャを介してのみアクセスが可能であった
。これKよれば、高水準のシステムの安全性が得られる
のではあるが、他方多くのソフトウェア−オーバヘッド
をもたらし、非効率的でかつ制限が強いものであった。
システムの安全性上の危険を回避するため、アプリケー
ション・プログラムが入出力デバイスのアドレス領域に
直接的にアクセスするのを妨げていた。そりかわシ、全
入出力アドレスは、入出力ドライバと呼ばれる特権化さ
れたプロシージャを介してのみアクセスが可能であった
。これKよれば、高水準のシステムの安全性が得られる
のではあるが、他方多くのソフトウェア−オーバヘッド
をもたらし、非効率的でかつ制限が強いものであった。
本発明は上述した従来技術の問題点を解決し、効率的な
仮想記憶方式を提供することを目的とする。
仮想記憶方式を提供することを目的とする。
本発明の仮想記憶方式の一実施例によれば、全域的な仮
想記は空間が与えられる。ここで全域的とは、どのプロ
セスがプロセッサ上で実行されているかにはかかわりな
(、物理メモリ・ロケーションは同じ仮想記憶空間ヘマ
ッピングされる、ということを意味する。書込み禁止ビ
ットがついたアクセス参コードを用いることによシ、プ
ロセスの各種のアドレスへのアクセスが制御される。
想記は空間が与えられる。ここで全域的とは、どのプロ
セスがプロセッサ上で実行されているかにはかかわりな
(、物理メモリ・ロケーションは同じ仮想記憶空間ヘマ
ッピングされる、ということを意味する。書込み禁止ビ
ットがついたアクセス参コードを用いることによシ、プ
ロセスの各種のアドレスへのアクセスが制御される。
これに加えて、仮想記憶の特性が入出力デバイスのアド
レス領域へのアクセスの制御に用いられる。仮想記憶シ
ステムにおいては、プロセッサのアドレス空間内のペー
ジへのアクセス権はアプリケーション・プログラム毎に
割当てられる。このアクセス権はアドレス空間内にスト
アされている情報を読出す能力(読出しアクセス)であ
ってもよいし、またあるいはアドレス空間内にストアさ
れた情報を読出す能力とともにアドレス空間内に情報を
書込む能力(読出しアクセスおよび書込みアクセス)で
あってもよい。
レス領域へのアクセスの制御に用いられる。仮想記憶シ
ステムにおいては、プロセッサのアドレス空間内のペー
ジへのアクセス権はアプリケーション・プログラム毎に
割当てられる。このアクセス権はアドレス空間内にスト
アされている情報を読出す能力(読出しアクセス)であ
ってもよいし、またあるいはアドレス空間内にストアさ
れた情報を読出す能力とともにアドレス空間内に情報を
書込む能力(読出しアクセスおよび書込みアクセス)で
あってもよい。
本発明の一実施例においては、各入出力デバイスは2ペ
ージのアドレス領域を割当てられている。
ージのアドレス領域を割当てられている。
一方のページは特権化されておシ、他方のページは特権
化されていない。1ページはかなり大きくてもよいので
(たとえば1ページに512個のレジスタ用のアドレス
・ロケーションを含んでよい)、各ページ内の多くのア
ドレスには入出力デバイスのレジスタが割当てられてい
なくてもよい。
化されていない。1ページはかなり大きくてもよいので
(たとえば1ページに512個のレジスタ用のアドレス
・ロケーションを含んでよい)、各ページ内の多くのア
ドレスには入出力デバイスのレジスタが割当てられてい
なくてもよい。
しかしながら入出力デバイスの各レジスタに&転入出力
デバイスのアドレス領域としてとられた2ページの夫々
のページ中に1つずつのアドレスが割当てられる。単一
のレジスタに割当てられた夫々のページ内のアドレスは
、両ページ内で同一のページ内オフセットを持っている
。各レジスタは特権的あるいは非特権的であると見なさ
れる。もしあるレジスタが入出力デバイスのDM入動作
に関係したり、またプロセッサへの割込みに関係したり
、またあるいはシステムの安全性を危くするような他の
やり方で使われるかもしれないものである場合には、そ
のレジスタは特権的であると見なされる。
デバイスのアドレス領域としてとられた2ページの夫々
のページ中に1つずつのアドレスが割当てられる。単一
のレジスタに割当てられた夫々のページ内のアドレスは
、両ページ内で同一のページ内オフセットを持っている
。各レジスタは特権的あるいは非特権的であると見なさ
れる。もしあるレジスタが入出力デバイスのDM入動作
に関係したり、またプロセッサへの割込みに関係したり
、またあるいはシステムの安全性を危くするような他の
やり方で使われるかもしれないものである場合には、そ
のレジスタは特権的であると見なされる。
非特権なレジスタは特権化されたページおよび特権化さ
れていないページのどちらにおいても完全に備えられて
いてよい。ここで「完全に備えられている」とは、レジ
スタに対応付けられたアドレスでの読出し、書込みを行
なえば、そのレジスタの読出し、書込みが行なわれると
いうことである。
れていないページのどちらにおいても完全に備えられて
いてよい。ここで「完全に備えられている」とは、レジ
スタに対応付けられたアドレスでの読出し、書込みを行
なえば、そのレジスタの読出し、書込みが行なわれると
いうことである。
特権的なレジスタは特権化されたページ内のみで、上述
した意味において、完全に備えられている。特権的なレ
ジスタが特権化されていないページ上でどのような杉態
で現れるかは、システムの具体的な実現のやり方によっ
て変わるが、読出し可能だが書込み不可としてもよいし
、あるいは読出し蕾込みとも不可としてもよい。
した意味において、完全に備えられている。特権的なレ
ジスタが特権化されていないページ上でどのような杉態
で現れるかは、システムの具体的な実現のやり方によっ
て変わるが、読出し可能だが書込み不可としてもよいし
、あるいは読出し蕾込みとも不可としてもよい。
第1図に本発明の実施例のために用いることがテキルコ
ンピュータ・システムを示す、こノコンピュータa7ス
テムにはシステム・プロセッサ101゜システムΦメモ
リ102 、入出力デバイス103.104゜105.
106,107が含まれ、これらがバス100によって
結合されている。システム・プロセッサ101がこれら
入出力デバイス103ないし107と交信するには、各
入出力デバイス103ないし1071C割当てられたア
ドレス領域からデータを読出したりまたはデータなイ込
むことによって行なう。
ンピュータ・システムを示す、こノコンピュータa7ス
テムにはシステム・プロセッサ101゜システムΦメモ
リ102 、入出力デバイス103.104゜105.
106,107が含まれ、これらがバス100によって
結合されている。システム・プロセッサ101がこれら
入出力デバイス103ないし107と交信するには、各
入出力デバイス103ないし1071C割当てられたア
ドレス領域からデータを読出したりまたはデータなイ込
むことによって行なう。
第3図は、第1図中に示されたコンピュータ傘システム
のアドレス空間370がどのように割当てられているか
を示し−(いる。アドレス空間37oは2 バイトのデ
ータ(あるいは2 語のデータ)をアドレスできる。ア
ドレス空間370のうちの領域371はメモリ用のアド
レスとなっている。領域371中の部分領域371bは
メモリ用のアドレスとして確保されているがメモリは実
装されていない。
のアドレス空間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つのメモリ・ロケーションを占める。
テム−プロセッサ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が含まれている。
ドレスが入っているロケーション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が含まれている。
のエン) 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が設けられ
ている。制御レジスタ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ビツトの書込み禁止直
が入つている。
ョン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でもないのならば、そのプロセスはメモリ中の物理
ページへのアクセスを拒否される。
がメモリ・アクセスを要求した場合、仮想記憶のベージ
・アドレスが、変換表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
と比較される。以下同様の手順がくりかえされる。
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が
見つかるかあるいは空ボイ/りが見つかるまで続けられ
る。ここで空ポインタが見つかれば、それは、仮想アド
レスでアドレスされたデータは主記憶上に存在しないこ
とを意味している。アドレスされたデータが主記憶上に
存在しない場合には、ページ−フォルトが起り、一般に
ソフトウェアを用いてそのデータをディスクあるいは他
の記憶装置に取シ込む。
示されている。ハツシュ・デバイス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、・・
・・・・だけ上位アドレス側のページに対応する。
る。エントリ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群
との間に。
て非負のオフセットを持ったエントリはアドレス空間中
の領域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・
・・・・・に対応する。このようにして。
めて大きなエン) 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、。
応する大ぎなギャップを変換表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゜ アドレスされ−〔いるのかそれとも特権化されてい
゛゛ないベージがアドレスされているのかが示され
る。
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しとなれば。
内のどの特定のレジスタがアドレスされているのかが示
される。セクション385はアドレス380の最上位2
ビットを含む。セクション385内の2りのビレトはい
ずれも0である。なlしとなれば。
本実施例では各レジスタは32ビツトの語単位でアドレ
スされるのに対しアドレス空間370は8ビツトのバイ
ト単位でアドレスできるからである。
スされるのに対しアドレス空間370は8ビツトのバイ
ト単位でアドレスできるからである。
第4図には入出力デバイス107の構成が示されている
。入出力デバイス107には入出力アダプタ410とデ
バイス・インタフェース411が設ケられている。説明
しやすくするため、レジスタ400゜401、402.
403.404.405およびバッファ406が入出力
アダプタ410内に図示されている。レジスタ400に
はアドレスが入っており、そこへ書込みが行なわれた場
合、システム−プロセラf101に対する割込みが発生
するようになっている。レジスタ401は入出力デバイ
スに指示を与えるコマンドを受は取るレジスタである。
。入出力デバイス107には入出力アダプタ410とデ
バイス・インタフェース411が設ケられている。説明
しやすくするため、レジスタ400゜401、402.
403.404.405およびバッファ406が入出力
アダプタ410内に図示されている。レジスタ400に
はアドレスが入っており、そこへ書込みが行なわれた場
合、システム−プロセラf101に対する割込みが発生
するようになっている。レジスタ401は入出力デバイ
スに指示を与えるコマンドを受は取るレジスタである。
このコマンドによシ、たとえばデバイス・インタフェー
ス411を初期化したり、デバイスeインタフェース4
11からデータを読出したり、あるいはデバイス・イン
タフェース411にデータな赴込む指示な辱えるっレジ
スタ402には入出力アダプタ410がシステム・メモ
リ102上のDMA(直接メモリ・アクセス)転送を行
なう際の開始アドレスを示す数が入る。
ス411を初期化したり、デバイスeインタフェース4
11からデータを読出したり、あるいはデバイス・イン
タフェース411にデータな赴込む指示な辱えるっレジ
スタ402には入出力アダプタ410がシステム・メモ
リ102上のDMA(直接メモリ・アクセス)転送を行
なう際の開始アドレスを示す数が入る。
レジスタ403には、DMA転送によりシステム・メモ
リ102で転送されるデータの量を示すバイト数が入る
。レジスタ404はDMA転送を開始させたりまたは終
了させるコマンドを受は取る。レジスタ405には、入
出力アダプタ410とクステムーメモリ402との間の
直前のDMA トランザクションのステータスに関する
情報が入っている。
リ102で転送されるデータの量を示すバイト数が入る
。レジスタ404はDMA転送を開始させたりまたは終
了させるコマンドを受は取る。レジスタ405には、入
出力アダプタ410とクステムーメモリ402との間の
直前のDMA トランザクションのステータスに関する
情報が入っている。
第2A図は、入出力デバイス107に関連付けられた。
特+W化されていないベージ301を示している。第2
B図は、入出力デバイス107に関連付ゆられた特権化
されているベージ302を示している。
B図は、入出力デバイス107に関連付ゆられた特権化
されているベージ302を示している。
レジスタ400ないし405の各々にはベージ301お
よ・び302内のアドレスが関連付けられている。
よ・び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にはレジスタが対応付けられてお
らず従って実装され−〔いないアドレスとなってもよい
。
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入トランザクションが開始されるよう
にできる。
ベージ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ページにマツピ
ングされるが、各レジスタは一方のページ忙のみ備えら
れてもよい。これはプロセッサのソフトウェアの性能に
影響を与える。
軟性とこれに加えてシステムの保護を与えるものではあ
るが、これにかわる他の実現形態ジの2ページにマツピ
ングされるが、各レジスタは一方のページ忙のみ備えら
れてもよい。これはプロセッサのソフトウェアの性能に
影響を与える。
なんとなればこの方式ではひとつの入出力デバイ
]゛□叱 スの全ての制御レジスタにアクセスしたい場合に
ベー′長 諷 kt、 2 < −−) f)71 *x ”181
17に、1−1z ″′6° :′了こ
れに代えて、各ユーザ・デバイスは単一のべ−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
ターシステムのブロック図、第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)
- 【特許請求の範囲】 複数のプロセスを実行する処理手段と、 複数の物理記憶ロケーションを有する主記憶手段と、 複数の物理記憶ロケーションを有する2次記憶手段と、 前記複数のプロセスのいずれかによつてアクセスされる
前記主記憶手段と前記2次記憶手段の各々の物理記憶ロ
ケーションに仮想アドレスを割当てるマッピング手段 とを設け、 前記主記憶手段と前記2次記憶手段中の各々の物理記憶
ロケーションの前記仮想アドレスは前記複数のプロセス
に対して同じ値である 仮想記憶方式。
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)
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)
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> | マルチプル・バス情報処理システムのアドレス空間の拡張 |
CN100452072C (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 | 厦门大学 | 一种海洋细菌胞外多糖的生产工艺 |
US7337306B2 (en) * | 2000-12-29 | 2008-02-26 | Stmicroelectronics, Inc. | Executing conditional branch instructions in a data processor having a clustered architecture |
US6865665B2 (en) * | 2000-12-29 | 2005-03-08 | Stmicroelectronics, Inc. | Processor pipeline cache miss apparatus and method for operation |
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 |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | 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 |
WO2009072104A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
CN101470633B (zh) * | 2007-12-24 | 2011-09-21 | 联想(北京)有限公司 | 一种虚拟机监视器、虚拟机***及其内存处理方法 |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
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 |
US8621321B2 (en) | 2010-07-01 | 2013-12-31 | 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 |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
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 |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies 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 |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
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 |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | 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)
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 |
-
1985
- 1985-06-28 US US06/750,578 patent/US4777589A/en not_active Expired - Lifetime
-
1986
- 1986-05-15 JP JP61111741A patent/JPH0654479B2/ja not_active Expired - Lifetime
- 1986-06-02 CN CN86103675.1A patent/CN1006096B/zh not_active Expired
- 1986-06-12 DE DE86304492T patent/DE3689209T2/de not_active Expired - Fee Related
- 1986-06-12 EP EP86304492A patent/EP0208428B1/en not_active Expired - Lifetime
- 1986-06-12 EP EP19930104861 patent/EP0551148A3/en not_active Withdrawn
- 1986-06-26 CA CA000512587A patent/CA1261479A/en not_active Expired
- 1986-06-27 AU AU59413/86A patent/AU583634B2/en not_active Ceased
- 1986-06-27 KR KR1019860005176A patent/KR930009062B1/ko not_active IP Right Cessation
-
1989
- 1989-06-14 AU AU36410/89A patent/AU623146B2/en not_active Ceased
Cited By (2)
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 |
---|---|
CA1261479A (en) | 1989-09-26 |
EP0551148A2 (en) | 1993-07-14 |
DE3689209D1 (de) | 1993-12-02 |
AU623146B2 (en) | 1992-05-07 |
KR930009062B1 (ko) | 1993-09-22 |
CN86103675A (zh) | 1986-12-24 |
DE3689209T2 (de) | 1994-03-10 |
AU5941386A (en) | 1987-01-08 |
JPH0654479B2 (ja) | 1994-07-20 |
EP0208428A3 (en) | 1989-04-26 |
US4777589A (en) | 1988-10-11 |
CN1006096B (zh) | 1989-12-13 |
AU583634B2 (en) | 1989-05-04 |
EP0208428B1 (en) | 1993-10-27 |
KR870000645A (ko) | 1987-02-19 |
AU3641089A (en) | 1989-10-05 |
EP0208428A2 (en) | 1987-01-14 |
EP0551148A3 (en) | 1993-09-15 |
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 | |
JPS6248258B2 (ja) | ||
JPS6341100B2 (ja) | ||
JP2001051958A (ja) | 多重プロセッサ多成分アーキテクチャのための統一メモリ管理システム | |
JPH03240134A (ja) | オブジエクト指向メモリ保護メカニズムを採用するデータ処理システムで実行環境間の同期通信を実行する方法 | |
JPH0548500B2 (ja) | ||
JPS61160160A (ja) | 仮想計算機システムにおけるアドレツシング制御装置 | |
JPH01228038A (ja) | アクセス・レジスタ変換機構 | |
JPS6336012B2 (ja) | ||
JP3645671B2 (ja) | 命令バッファを有するプロセッサ装置 | |
EP0389886A2 (en) | Ring reduction logic mechanism | |
JP2001075824A (ja) | アクセス方法及びアクセス処理プログラムを記録した記録媒体 | |
JPS6345669A (ja) | マルチプロセツサシステム | |
JPH03113548A (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 |