JPS61114353A - 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体 - Google Patents

要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体

Info

Publication number
JPS61114353A
JPS61114353A JP60208549A JP20854985A JPS61114353A JP S61114353 A JPS61114353 A JP S61114353A JP 60208549 A JP60208549 A JP 60208549A JP 20854985 A JP20854985 A JP 20854985A JP S61114353 A JPS61114353 A JP S61114353A
Authority
JP
Japan
Prior art keywords
transfer
access
memory
program
data
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
JP60208549A
Other languages
English (en)
Other versions
JPH0260012B2 (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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPS61114353A publication Critical patent/JPS61114353A/ja
Publication of JPH0260012B2 publication Critical patent/JPH0260012B2/ja
Granted 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/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、一般に、デジタルデータ処理システムの分野
に係り、特に、保護リング環境において要求時ベージン
グの仮想アドレス機構を組み込んでいて、アプリケーシ
ョンプログラムとオペレーティングシステムプログラム
との間でデータのアクセスを調整するようなメモリ管理
構成体を備えたシステムに係る0本発明によれば、或る
プログラムが1回の転送でメモリ内の2つの別々のペー
ジからのデータを要求する時には、そのプログラムが両
ページのデータをアクセスするためのアクセス権がプロ
セッサによって判断された後に転送を行なうようにされ
る。又1本発明によれば、或るアクセスがメモリ内の2
つのページからのデータを要求しない時には、同じアク
セス権を有する多数のプログラムにページ内の全てのデ
ータが使用できるので、アクセスチェック手順は1回し
か実行されない。
従来の技術 デジタルデータ処理システムは、一般に、3つの基本的
な要素、即ち、メモリ要素と、1つ以上の入力/出力要
素と、プロセッサ要素とを備えており、これらは全て1
つ以上のバスによって相互に接続される。メモリ要素は
、アドレス可能な記憶位置にデータを記憶する。このデ
ータには。
オペランドと、これを処理するための命令とが含まれる
。プロセッサ要素は、メモリ要素からここにデータを転
送或いはフェッチさせ、入って来たデータが命令である
かオペランドであるか解釈し、そして命令に従ってオペ
ランドを処理する。その結果は、メモリ要素に記憶され
る。入力/出力要素も、メモリ要素と通信し、システム
にデータを転送すると共に、処理されたデータをシステ
ムから得る6通常、入力/出力要素は、プロセッサ要素
によって送られる制御情報に基づいて作動する。
入力/出力要素には、例えば、プリンタや、テレタイプ
ライタや、キーボード及びビデオ表示ターミナルが含ま
れ、更に、ディスク駆動装置又はテープ駆動装置といっ
た二次データ記憶装置も含まれる。
はとんどの近代的なデータ処理システムでは。
メモリ要素内に物理的に存在するアドレス可能な記憶位
置の数、即ち、アドレススペースは、アドレス可能な位
置の総数より一般に相当に少ない。
近代的なコンピュータシステムにおける潜在的なアドレ
ススペースは、16アドレスビツトのアドレスワードを
有するシステムの場合の64キロバイトから、32ビツ
トのアドレスワードを有するシステムの場合の4ギガバ
イトまでの範囲内のいずれかであるが、それ以上に達す
ることもある。
現在の近代的なシステムでは、64キロバイトのメモリ
を容易に含むことができるが、スペースやコスト面での
制約があるために、4ギガバイトのメモリは実用的でな
い、実際には、多くのコンピュータシステムでは、メモ
リ要素内に物理的に存在する記憶位置の最大数が10メ
ガバイト程度である。
コンピュータシステムに物理的に存在する以上のアドレ
ススペースをプログラマが使用できるようにするため、
仮想アドレス技術が使用される。
仮想アドレスを行なう場合には、仮想アドレススペース
及び物理アドレススペースの両方が「ページ」と称する
隣接記憶位置のブロックに分割され、仮想アドレススペ
ースのページは、物理アドレススペースのページと同じ
サイズであり、即ち、同数の位置を有している0本発明
の出願人によって使用されている仮想アドレスシステム
においては。
1つのページが、一般的に、仮想及び物理の藺メモリ内
゛の512バイトの記憶位置を表わしている。
使用されないページは、物理メモリ内ではなくてディス
ク駆動装置又はテープ駆動装置内に記憶される。従って
、メモリ要素は、現在使用されているページと、アプリ
ケーションプログラムによって最も最近使用されたペー
ジのみを含む。
或るプログラムにより、メモリ内に物理的に存在しない
ページのデータが要求された時には。
オペレーティングシステムが、そのデータのページを含
むディスクから、メモリ内のページへそのページ全体を
転送する。このオペレーションは、メモリ内に存在する
データの上に重畳書き込みを行なわせるものであるから
、オペレーティングシステムは、この重畳書き込みされ
るページのデータをディスクに転送しなければならない
、このプロセスは、「スワツピング」として知られてい
るが、これは、アプリケーションプログラムにとって本
質的に透過的である。即ち、オペレーションは、アプリ
ケーションプログラムではなく、オペレーティングシス
テムによって実行されるので。
アプリケーションプログラムは、メモリのサイズ又は形
態について知る必要もないし、ディスク駆動装置に必要
なデータを含んでいるページの位置について知る必要も
ない。
必要なページがメモリにロードされた後、プロセッサは
、アプリケーションプログラムに対しメモリ内のデータ
を探索できねばならない、プロセッサは、仮想アドレス
を含むページからアドレス変換を行なって、物理メモリ
内のページを識別する0本出願人によって採用されてい
る仮想アドレスシステムでは、この変換に、ページテー
ブルエントリの使用が含まれ、これは、ページフレーム
番号、即ち、メモリ内の物理的なページの識別を含んで
いる。各変換には通常多数のメモリアクセスが必要とさ
れるが、この変換に要する時間を短縮するために、プロ
セッサは、プロセッサモジュール自体に配置された変換
バッファを使用し、このバッファに1よ、最近使用され
た少数のページテーブルエントリが含まれている。
前記したように、データ処理システムで処理されるプロ
グラムは、アプリケーションプログラムとオペレーティ
ングシステムプログラムとに分類することができ、これ
らは、アプリケーションプログラムがオペレーティング
システムプログラムのための命令コードもしくはデータ
を変更したり或いはこれと反対にオペルーティングシス
テムプログラムがアプリケーションプログラムのための
命令コードもしくはデータを変更したりするのを防ぐた
めに、別々の保護リングを有している。
或るシステムにおいては、オペレーティングシステムプ
ログラムが、多数の形式のプログラムに更に分割される
1例えば、本出願人によって販売されているVMSオペ
レーティングシステムを用いたVAX−11プロセツサ
の場合には、オペレーティングシステムプログラムが、
カーナルプログラムと、スーパーバイザプログラムと、
実行プログラムとに分割され、その各々が別々の保護リ
ングを有しているa U n x xのような他のオペ
レーティングシステムでも、オペレーティングシステム
を形成する種々のプログラムが同様に分割される。
プロセッサが、或るプログラムに対し、メモリ内の位置
の内容をアクセスしようとする時には。
そのプログラムがオペレーティングシステムプログラム
であってもアプリケーションプログラムであっても、先
ず、プロセッサを作動しているプログラムがデータをア
クセスする権利を有しているかどうか判断しなければな
らない0例えば、プロセッサがユーザプログラムで作動
している場合。
通常は、オペレーティングシステムプログラムについて
のデータを含んでいるページからデータを検索したりデ
ータを書き込んだりすることはできない、典型的に、同
じアクセス権を有しているプログラムは、メモリ内のペ
ージの全てのデータを利用できる。即ち、各ページの全
てのデータが。
ユーザプログラム、カーナルプログラム、実行プログラ
ム或いはスーパーバイザプログラムに利用でき、従って
、別々の保護リング内プログラムによってアクセスでき
るデータは、同じページにはロードされない。然し乍ら
、別々のページのデータであれば、別々の保護リングの
プログラムによってアクセスすることができる。
多数の近代的なデータ処理システムでは、アドレスでき
る最小のデータ単位が8ビツトのバイトである。前記の
VAX−11プロセツサを含むシステムでは、4バイト
までのデータ、即ち、1つの長ワードが要求されて、一
度に検索されることがある。然し乍ら、最下位バイトの
アドレスが長ワード整列されるような長ワードが要求さ
れない限り、即ち、バイトアドレスの2つの最下位ビッ
トがゼロであるような長ワードが要求されない限り、メ
モリ内の隣接位置から2回の検索を行なって、要求され
たデータを得なければならない。
発明が解決しようとする問題点 従って、プロセッサがメモリをアクセスする時には、要
求されたデータを含んでいるページがメモリ内にあるか
どうかそして要求を発しているプログラムがそのデータ
をアクセスする権利を有しているかどうかといった多数
の事項をチェックしなければならない、公知のプロセッ
サにおいて、多数のメモリアクセスを必要とするような
メモリアクセス動作がプログラムによって要求された場
合には、プロセッサが、転送を行なう前に、全ての位置
についてのアクセスチェックを実行している。というの
は、アクセスが同じページ内の位置に対するものである
かどうかに拘りなく、転送を行なう前に、その要求を完
了できるようにすることが所望されているからである。
然し乍ら、アクセスが同じページ内の位置に関するもの
である場合には、全ての転送を実行できることを確認す
るのに1回のアクセスチェックだけで充分である。
というのは、プログラムが第1位置へのアクセス権を有
しそしてページがメモリ内にある場合には。
他の転送も実行できるからである。従って、全てのアク
セスが同じページに関するものでありそして第1のアク
セスチェックによって転送を行なえることが指示された
時に、マルチ転送のメモリアクセスの最初の転送を遅ら
せることは無益である。
問題点をM決するための手段 それ故、本発明は、プロセッサが、メモリ内の位置をア
クセスするプログラムからの要求に応答して、そのアク
セスが種々のページ内の多数の位置への転送を必要とす
るものであるかどうかを判断するテストを行なうような
構成体を提供する。
或る要求が同じページ内の位置への1回の転送又は多数
の転送を必要とする場合には、プロセッサは、そのペー
ジがメモリ内にありそしてプログラムがその位置をアク
セスする権利を有していることを確認するために第1の
位置についてアクセス照合チェックを行ない、このチェ
ックによってプログラムがそのページをアクセスできる
ことが確認された場合に、転送を実行する。その要求が
2以上のページへの転送を必要とするものである場合に
は、プロセッサは1両ページ内の位置についてアクセス
照合チェックを行ない、その後、転送を行なう。
本発明は、特許請求の範囲で特に指摘する。
本発明の上記及び他の目的並びに効果は、添付図面に関
連した以下の実施例の詳細な説明より理解されよう。
実施例 第1図に例示されたように1本発明によるデジタルデー
タ処理システムの基本的な要素は、中央気層ユニット(
プロセッサ)10と、メモリ制御器18及びメモリアレ
イ19を含むメモリ11と、参照番号12で一般的に示
された入力/出カニニットとを備えている。プロセッサ
10は、メモリ11のアレイ19内のアドレス可能な記
憶位置に記憶された命令を実行する。命令は、オペラン
ドに基づいて実行さるべきオペレーションを識別するも
ので、これらオベレンドもメモリのアドレス可能な位置
に記憶される。命令及びオペランドは、これらが必要と
される時にプロセッサ1゜によってフェッチされ、処理
されたデータは、メモリに返送されて記憶される。
又、プロセッサ1oは、制御情報を入カ/出カニニット
に送信して、これらユニットが選択されたオペレーショ
ンを実行し、例えば、メモリ11にデータを転送したり
メモリからデータを検索したりできるようにする。この
ようなデータは、メモリに送信される命令又はオペラン
ドであるが、或いは、メモリユニットから検索されて表
示もしくは記憶される処理済みデータである。
プロセッサ10に接続されたオペレータコンソール13
は、オペレータのインターフェイスとして働く、これに
より、オペレータは、データを検査及び記録したり、プ
ロセッサユニット1oの動作を停止したり、或いは、プ
ロセッサによって行なわ九るオペレーションを決定する
一連の命令を通じてプロセッサの作動ステップを進める
ことができる。更に、オペレータは、ブートストラップ
手順を介してシステムを初期化したり、データ処理シス
テム全体に対する種々の診断テストを実行したりするこ
とができる。
プロセッサ10は、インターフェイス15及び入力/出
力バス14を経てメモリ11及び入カ/出カニニット1
2と通信する。バス14 i!、例えば、1980年1
1月4日付けのジョン・ブイ・レビイ(John V、
 Levy)氏等の米国特許第4,232.366号、
或いは、1983年9月22日に出願された米国特許出
願筒534,829号に開示されたバスと同様のもので
ある。プログラムからの要求に応じて、プロセッサlo
内の処理回路は、バスインターフェイス15を作動可能
にし。
バス14に接続されたメモリ11及び入カ/出カニニッ
ト12に対してデータ及び制御情報をやり取りできるよ
うにする。
データ処理システムは、多数の形式の入カ/出カニニッ
ト12を含むことができる0周辺ユニット16として一
般的に示されたこれらのユニットは、ディスク及びテー
プの二次記憶要素、テレタイプライタ、キーボード及び
ビデオ表示ターミナル、等を備えている。これらの周辺
ユニット16は、各々のバス17を経て制御器20に接
続され、これらの制御器は、バス14とバス17とのプ
ロトコルの変換を行ない1周辺ユニット16の動作を制
御する。バス17は、例えば、1974年6月4日付け
のジョン・コーエン(John Cohen)氏等の米
国特許第3,815,099号及びジョン・ブイ・レビ
イ(John V、 Lavy)氏等の米国特許第3,
999,163号に開示されたバスと同様なものである
第1図に示されたシステムでは、プログラマが使用でき
るアドレススペース、即ち、記憶位置、の数が、一般に
、プロセッサ10内の1つのレジスタの内容によって識
別される位置の数に対応している0例えば、本出願人の
VAX−11シリーズのプロセッサにおいては、内部レ
ジスタの巾が32ビツトであり、プログラマが使用でき
るアドレススペース、即ち、アドレス可能な位置の数が
4ギガバイト程度である。然し乍ら、システムに実際に
存在する物理的な位置の数は、非常に少なく、典型的に
、メモリ11内の10メガバイト程度である。入力/出
カニニット12内の制御及び状態レジスタについては、
更に多くの位置が使用される。
全アドレススペースをプログラマに使用できるようにす
るため、第11!lのデータ処理システムは、仮想メモ
リ管理構成体を使用しており、この構成体においては、
プログラマの仮想アドレスがメモリ11内の物理的な位
置へとマツピングされる。第2図を説明すれば、仮想ア
ドレススペース及び物理アドレススペースは、ページ、
即ち、所定数のアドレス可能な位置のブロックに分割さ
れる。前記のVAX−11システムにおいては、512
の位置が仮想及び物理の藺アドレススペースに1つのペ
ージを形成する。アドレスの9個の下位ビットは、その
ページ内の各位置を識別し、本質的にそのページのアド
レス位置に対するオフセットとして働く、その他のアド
レスビットは、そのページを識別する。
第2図を説明すれば、プロセッサ10、特に、インター
フェイス15は、仮想/物理アドレス変換構成体を備え
ており、この構成体は、プロセッサ10内の処理回路か
ら仮想アドレスを受け取り。
このアドレスを物理アドレスに変換して、バス14を経
てメモリへ転送する。第2図には、このオペレーション
が概略的に示されている。第2図に示されたように、プ
ログラムの仮想アドレススペースに含まれたページ(N
)内の位置のアドレスが、物理アドレススペースの例え
ばページ(3)内のアドレスに変換される。即ち、仮想
アドレスページ(N)内のデータは、実際には、物理メ
モリスペースのページ(3)、即ち、メモリ11内にあ
る。同様に、仮想アドレススペースのページ(N+1)
内の位置は、メモリ11内の物理アドレススペースのペ
ージ(1)に物理的に位置され、そして仮想アドレスス
ペースのページ(N+2)内のアドレスは、物理アドレ
ススペースのページ(5)にある、物理アドレススペー
スのページ(0)、(2)及び(4)の内容は、現在は
、他のプログラムに割り当てられているか、或いは、こ
のプログラムの仮想アドレススペースの他のページ(図
示せず)に割り当てられている。仮想アドレススペース
のページ(N+3)の位置は、物理メモリ内には示され
ておらず、物理アドレススペース内の特定の位置を指し
ていない矢印によって示されている。仮想/物理アドレ
ス変換機構は。
ページ(N+3)内のアドレスを受け取ると、プロセッ
サ10が、要求されたページをディスクからメモリへ転
送できるようにする。
第1図に示されたデータ処理システムは、アプリケーシ
ョンプログラム及びオペレーティングシステムプログラ
ムを処理する。オペレーティングシステムプログラムは
、3組のプログラム、即ち、カーナルプログラム、実行
プログラム及びスーパーバイザプログラムに分類される
。これらの各プログラム並びにアプリケーションプログ
ラムは、或るデータをアクセスすることができる1例え
ば、アプリケーションプログラムが、オペレーティング
システムプログラムに対して指定された幾つかの位置か
らデータを読み取ったりこれらの位置にデータを書き込
んだりすることは望ましくない、第2図に関して上記し
た仮想/物理アドレス変換機構は、第4図に示すような
ページテーブルエントリを形成する。このページテーブ
ルエントリは、ページフレーム番号PFNを含み、これ
は、物理アドレスの上位ビットに対応し、特に、そのペ
ージテーブルエントリに関連した物理的なページを識別
する。又、ページテーブルエントリは、本発明には関係
のない有効ビットV及び変更ビットMと、そのページ内
のデータに対する種々のプログラムのアクセス権を識別
する保護フィールドPROTとを備えている。この保護
フィールドPROTは、要求されたページ内の位置をア
クセスすることのできるプログラムの保護レベルを示し
ている。
第1図に示されたシステムでは、プロセッサ10によっ
て処理されるプログラムは、メモリ11において一度に
多数の隣接記憶位置からのデータを要求する1例えば、
上記のレビイ氏等の特許第4,232,366号に開示
されたコンピュータシステムの場合、プロセッサ10に
よって実行されるプログラムは、一度に、1バイトのデ
ータ、1ワード(2バイト)のデータ、長ワード(4バ
イト)、クオドワード(8バイト)又は16バイトのデ
ータをアクセスする要求を発することがある。このシス
テムの入力/出力バスは、せいぜい一度に4バイトのデ
ータを転送するだけである。
プログラムが4バイト以下のデータのアクセスを要求す
る時には、データが畏ワード整列されていない限り、イ
ンターフェイス回路15は、プロセッサ10内の処理回
路によって要求された全てのデータを転送するために、
バス14を介して2回の転送を行なわなければならない
、8バイト又は16バイトがアクセスされる場合は、4
バイトアクセスで少なくとも2回のバス転送を行なうか
或いは、16バイトアクセスで4回のバス転送を行なう
ことが必要である。はとんどの場合、これらの転送は、
同じページ内の位置に関するものである。然し乍ら、或
る場合には、多数の転送がページの境界を横切ることが
必要とされる。
第3図は、本発明によって構成されたインターフェイス
回路15(第1図)のブロック図である。プロセッサ1
0内の処理回路がバス14を介して転送を開始する時に
は、マルチプレクサ100を経、ライン102を経て、
仮想アドレスレジスタ101へ仮想アドレスが転送され
る。又、処理回路は、データ長さ信号DATA  LE
Nをライン103に転送し、この信号は、データ長さレ
ジスタ104にラッチされる。又、ライン105を経て
転送シーケンサ106に転送信号XFERが送られる。
この転送信号XFERは、転送シーケンサ106を作動
可能にし、これにより、インターフェイス15が前記し
たバス転送シーケンスを実行することができる。
更に、処理回路は、読み取り/書き込み信号RD/WR
Tをライン110を経て転送シーケンサ106へ転送し
、転送作動が読み取り転送であるか書き込み転送である
かを指示する。更に、プロセッサ10内の処理回路は、
必要なりロックタイミング信号CLKをライン111に
送り、転送シーケンサ106をプロセッサ10内の他の
回路と同期させる。
転送が書き込み転送である場合には、プロセッサ10内
の処理回路は、書き込みデータを書き込みデータライン
112へ供給し、このラインは。
書き込みローデータ106の入力ターミナルに接続され
ている。転送が4バイト以上のものである場合には、処
理回路によってデータが4バイトのグループで与えられ
、インターフェイス回路15によって転送される。IF
き込みデータ信号は、仮想アドレスレジスタ101に記
憶された仮想アドレスの下位2ビツトに応答して、バイ
トで回転され、回転された書き込みデータ信号ROT 
 WRT  DATAとして送信される。これは1次い
で、転送シーケンサ106からの書き込みラッチ信号W
RT  LTHに応答して書き込みラッチ113にラッ
チされる。
第3A図は、書き込みデータライン112が4バイトの
巾を有していて仮想アドレスレジスタの下位ビットが値
(1,0)である時に書き込みローデータ106によっ
て実行さ九る書き込みデータ回転動作を示している。こ
の場合、2つの上位バイトが書き込みラッチ113に転
送されて、その2つの下位バイト位置に記憶される。書
き込みデータライン112の下位ラインからのデータバ
イトは、バイトラッチ113に転送されて、その上位バ
イト位置に記憶される。インターフェイス15(第1図
)は、次いで、1つ又は2つのバイトをメモリ11に転
送すべき場合には、1回の転送を実行し、3バイト以上
を転送すべき場合には、2回の転送を実行する。第1の
転送中には、2つの上位バイト位置のデータが転送され
、第2の転送中には、書き込みラッチ113の下位バイ
ト位置のデータが転送される。各転送中にデータを転送
するところのバイト位置は、データ長さレジスタ104
に記憶されたデータ長さと、仮想アドレスレジスタ10
1の2つの下位ビットとに応答してPLA(プログラム
可能な論理アレイ)114により発生されたMASK信
号で識別される。
データ長さレジスタ104の内容及び仮想アドレスレジ
スタ101の内容の2つの下位ビットに応答して、PL
A114は、2回以上のバス転送がメモリアクセスに要
求される場合に要求第2転送信号REQ  2D  X
FERを発生する。この信号は、要求された全てのデー
タが転送されてしまうまで供給され続ける。
更に、PLA114は、仮想アドレスレジスタ101の
内容の9個の下位ビットと、データ長さレジスタ104
の内容に応答し、再検査フラグ140がセットされてい
ない場合に、マイクロトラップ信号μTRAPを発生す
る。転送動作は。
一時的に停止され、インターフェイス回路は、マイクロ
トラップ動作を実行する。再検査フラグ140がセット
された場合には、μTRAP信号は発生されず、転送が
実行される。
PLA114によって発生されるMASK信号は、種々
の転送のたびに異なり、どの特定MASK信号が発生さ
れるかは、現在どの転送が行なわれているかを示すため
に転送シーケンサ106により発生される第1転送信号
IST  XFER及び第2転送信号2D  XFEH
によって決まることが明らかである。1つの特定の実施
例において、或る要求が5バイト以上の転送を必要とす
る場合には、長ワード整列して転送を行なわねばならず
、従って、これらの転送については、全てのマスク信号
が発生されねばならない、これらの場合には、マスク信
号が各転送ごとに同じである。
バス14を経て第1の転送を行なう間に、転送シーケン
サ106が第2の転送信号2D  XFERを否定にし
、これにより、仮想アドレスレジスタ101の内容をア
ドレスマルチプレクサ120を経て変換バッファ121
に送ることができる。
この変換バッファは、仮想アドレスレジスタ101から
受けた仮想アドレスを既知のやり方で物理アドレスに変
換する。変換バッファ121からの物理アドレス信号は
、ライン122を経て送られる。
本発明の譲受人に譲渡されたティ・アーモロビッチ(T
、 Ermolovich)氏等の米国特許第4,31
9.323号には5本発明の1つの特定の実施例に使用
される変換アルゴリズムが示されている。
この変換アルゴリズムは、仮想アドレススペースから物
理アドレススペースへのページマツピング(第2図)に
よってページを使用するものである。
仮想アドレスの上位ビットは、所望のデータを含む仮想
アドレスページを識別し、特に、所望のデータを含む物
理アドレススペース内の物理アドレスの上位ビットにペ
ージフレーム番号が対応するようなページテーブルエン
トリ(第4図)を識別する。仮想アドレスの下位ビット
は、物理アドレスの下位ビットとしてページフレーム番
号に連結される。
変換バッファ121は、メモリ11内の最近使用された
ページに対し、多数のページチー、プルエントリを記憶
する。仮想アドレスレジスタ101から受けた仮想アド
レスの上位ビットによって識別されたページに対するペ
ージテーブルエンドリを変換バッファが有していない場
合には、変換バッファは変換バッファミス信号TB  
MISSを転送シーケンサ106に送信する1次いで、
転送シーケンサは、プロセッサ10の処理回路に割込み
を行ない、プロセッサが前記のアー七ロビッチ氏等の特
許に開示されたようにページテーブルエントリを得られ
るようにするか、或いは、プロセッサが変換バッファを
再マツピングして必要なページテーブルエントリを与え
ることができるようにする。これらの動作は、どちらも
、従来の方法で実行される。
アドレス変換と同時に作用する変換バッファ121は、
ページテーブルエントリ、特に、その保護フィールドP
ROTを転送シーケンサ106に送信する0次いで、転
送シーケンサは、アクセス照合チェック作動を行ない、
要求を発しているプログラムが要求した位置をアクセス
できるかどうか判断する。要求を発しているプログラム
の保護レベルは、転送シーケンサ106に送られるプロ
セッサ状態長ワードに存在する現在作動モードフィール
ドCURMODEによって指示される。
お+7)CURMODE信号とPROT信号とがうまく
一致しない場合には、転送シーケンサが転送動作を停止
し、アクセスエラー信号ACCERRを発生する。
プログラムによって要求された全てのデータを転送する
ためにバス14を介してそれ以上の転送を行なうことが
必要とされる場合には、仮想アドレスレジスタ101か
らの仮想アドレス信号が加算器122の一方の入力に接
続される。加算器の和でメモリ11内の次の畏ワード位
置を識別できるように、一定値が選択される。加算器の
和は。
転送シーケンサ106からのラッチ信号VA2LTHに
応答してVA2レジスタ124へ送られて記憶される。
各法々の転送中に、VA2レジスタの内容が、2D  
XFER信号の制御のもとてアドレスマルチプレクサ1
20を経て変換バッファ121の入力端子に接続される
。変換動作は、第1の転送と同様に行なわれ、更に別の
転送が必要とされる時には、アドレスが増加され、VA
2レジスタに記憶される。
変換バッファは、1つの特定の実施例においては、変換
バッファのマツピングもチェックし。
その後の転送中に、転送シーケンサによってアクセス照
合チェックを行なうためにページテーブルエントリのP
ROTフィールドを送信する。然し乍ら、その後の転送
を行なえることを確認するには第1転送中の動作で充分
であるから、これらの作動は必要とされず、その後の転
送中にこれらの動作を禁止するために典型的にフラグが
必要とされる。
各転送中には、ライン122からの物理アドレスと、ラ
イン115からのMASK信号とが1組のバストランシ
ーバ130に送信される。動作が書き込み動作である場
合には、書き込みラッチ113からのデータ信号がトラ
ンシーバ130のデータ入力端子に送られ、トランシー
バは、読み取り/書き込み信号RD/WRTにより、デ
ータをデータバスラインに接続するように調整される。
転送シーケンサ106からの転送可能化信号XFERE
Nにより、トランシーバは、データ、マスク及び物理ア
ドレス信号を、適切な時間にバス14の各々のラインに
接続することができる。更に、この転送可能化信号XF
ERENにより。
トランシーバは、転送シーケンサ106からバスの各ラ
インにバス制御信号を接続できると共に。
バスの各ラインからバス制御信号を受け取ってこれらを
転送シーケンサ106に接続することができる2種々の
信号をバス14に接続する特定のタイミングは、特定の
バスにおいて使用される特定のプロトコルによって決定
される。信号プロトコルは1本発明に関するものではな
く、詳細には説明しない。
転送動作が読み取り動作である場合には、トランシーバ
130は、バスデータラインから読み取りデータを受け
取って、これを、転送シーケンサ106からの読み取り
ラッチ信号RD  LTHに応答してラッチ130に記
憶するように調整される。プログラムによって要求され
た全てのデータを検索するためにバス14を介して多数
の転送が必要とされる場合には、第1転送からのデータ
がラッチ130に記憶される。第2転送からのデータは
、読み取りローデータに直結され、これは、読み取りラ
ッチからのデータも受け取る0Mみ取りローデータ10
7は、VAレジスタ101に記憶された仮想アドレスの
2つの下位ビットと、データ長さレジスタ104の内容
との制御のもとで、第3A図について前記した書き込み
ローデータ106と同様にデータを回転させる。
前記したように、PLA114は、再検査フラグ140
がセットされない場合に、マイクロトラップ信号μTR
APを発生する。このマイクロトラップ信号μTRAP
が発生された場合には。
バス14を介して転送を行なえるようにする前に。
転送シーケンサは、両方のページがメモリ内にあり且つ
要求を発しているプログラムが両ページ内の位置をアク
セスする権利を有していることを確かめるためにチェッ
クを行なう、これは、バス転送を行なう前に行なわれる
マイクロトラップ動作においては、仮想アドレスレジス
タ101内の仮想アドレスがアドレスマルチプレクサ1
20を経て変換バッファ121へ接続される。変換バッ
ファは、そのページがメモリ内にあることを確認し、ペ
ージテーブルエントリ、特に、その保護フィールドPR
OTを変換シーケンサ106に送信する。仮想アドレス
の内容は、加算器122により一定値16だけ増加され
、この一定値は、転送シーケンサ106によって与えら
れる。その和は1発生されたμTRAP信号に応答して
調整されたマルチプレクサ100を経て仮想アドレスレ
ジスタ101へ返送される。
メモリアクセスが16バイトに対するものである場合に
も第2ページ内の位置に関してアクセスの照合を行なえ
るように定数が選択される。和は。
仮想アドレスレジスタ101に返送される。
ページテーブルエントリの保護フィールドPROT及び
プロセッサ状態長ワードの現在モードフィールドCUR
MODEが、プログラムがそのページをアクセスできる
ことを指示する場合には、仮想アドレスレジスタの内容
に関連してアクセスチェックが再び行なわれる。このア
クセスチェック動作においては、仮想アドレスレジスタ
がメモリ内の次のページ、即ち、第2転送についての位
置を含むページのアドレスを含んでいる。アドレスマル
チプレクサ120は、仮想アドレスレジスタ101の内
容を変換バッファに接続して。
そのページがメモリ内にあることを確認すると共に、そ
の位置に対するページテーブルエントリを得る。転送シ
ーケンサ106は、負の16の値を有するC0N5T信
号を加算器122へ送信する。
その和は、仮想アドレスレジスタ101に記憶され、マ
イクロトラップ動作の開始にその内容が仮想アドレスに
返送される。
第2のアクセスチェック動作により、ページテーブルエ
ントリの保護フィールドPROT及びプロセッサ状態長
ワードからの現在モードフィールドCURMODEが、
プログラムがそのページをアクセスできることを指示し
ていると判断された場合には、転送シーケンサ106が
再検査フラグセット信号RE−EX  SETを送信し
、これによって再検査フラグ140をセットする。又、
転送シーケンサ106がリセットされて、転送シーケン
スの開始となる。
転送シーケンサ106は、転送動作を始めから開始する
。再検査フラグ140がセットされると、PLA114
は、マイクロトラップ信号μTRAPを発生しない、マ
イクロトラップ信号が否定されると、転送シーケンサは
、マイクロトラップ動作を実行せず、バス14を介して
必要な転送を行なう。転送動作の終わりに、転送シーケ
ンサ106は、再検査フラグクリア信号RE−EXCL
Rを送信し、再検査フラグ140をリセットする。
効果 本発明の効果は、マルチ転送メモリアクセスの転送を行
なう前にその全ての転送が実行可能であるかどうかを判
断すべく最初にチェックを行なう公知のプロセッサとは
異なり1本発明の新規なプロセッサは、通常、第1の転
送について1回のチェック動作を行ない、これと同時に
、仮想/物現アドレス変換を行ない、その後、全ての転
送を行なうことにある。転送動作が別々のページに及ぶ
場合だけ、プロセッサは、転送の前に別々にアクセスチ
ェックを行ない1次いで、2つのページの位置について
のみチェックを行なう、これらの位置が同じページ内に
ある場合の転送は、これらの位置が異なったページ内に
ある場合の転送より遥かに多数であるから、公知のプロ
セッサよりも迅速に転送を行なうことができる。
本発明を特定の実施例に限定して以上に説明した。然し
乍ら、本発明は、色々な基本構造を有するデータ処理シ
ステムにおいて実施しても上記とは異なった内部回路を
用いたシステムにおいて実施しても本発明の効果の一部
又はその全部が達成できることは明らかである。それ故
9本発明の精神及び範囲内に入る全ての修正及び変更は
特許請求の範囲に包含されるものとする。
【図面の簡単な説明】
第1図は、本発明によって構成されたデジタルデータ処
理システムのブロック図、 第2図は、第1図に示されたデータ処理システムにおい
て仮想アドレススペースと物理アドレススペースとの関
係を示す図、 第3図は、第1図に示されたプロセッサに有用なバスイ
ンターフェイス回路のブロック図。 第3A図は、第3図に示されたバスインターフェイス回
路の一部分の動作を示す図、そして第4図は、第3図に
示されたバスインターフェイス回路の動作を理解する上
で有用なページテーブルエントリを示す図である。 10・・・中央処理ユニット(プロセッサ)11・・・
メモリ 12・・・入力/出カニニット 13・・・オペレータコンソール 14・・・入力/出力バス 15・・・バスインターフェイス 16・・・周辺ユニット 18・・・メモリ制御器 19・・・メモリアレイ 20・・・周辺制御器 FIG、2 智1込JP    s!込み S5込Jrf′ダ”   ’Q=?’f  106  
       %4113FIG、4 FIG、3

Claims (3)

    【特許請求の範囲】
  1. (1)デジタルデータ処理システムを構成するようにバ
    スを経てメモリに接続されるバスインターフェイスユニ
    ットを備えたプロセッサであって、このプロセッサは、
    複数のアクセス権モードのうちの選択されたモードを各
    々有しているプログラムを処理するための処理手段を備
    え、上記メモリは、複数の個々にアクセスできるバイト
    位置を各々含んでいる同数の複数のアドレス可能な記憶
    位置を備えており、これらの記憶位置は、選択された数
    の記憶位置を各々有する複数のページに分類され、各ペ
    ージは、1つのアクセス権モードを有し、上記バスイン
    ターフェイスユニットは、a、上記処理手段に応答して
    、上記バスを経ての2回の転送で、上記メモリ内の2つ
    の隣接したアドレス可能な位置へ上記バスを介してメモ
    リアクセスを開始するような転送手段と、 b、上記転送手段に接続され、上記プログラムのアクセ
    ス権モードが1つのアドレス可能な位置のアクセス権モ
    ードに対応するかどうかを判断するようにアクセス照合
    動作を実行するアクセス照合手段と、 c、トラップ手段とを備え、このトラップ手段は、 i、上記転送手段に接続されていて、転 送が別々のページに対するものであるかどうか判断する
    ページテスト手段と、 ii、このページテスト手段及び上記アク セス照合手段に接続されていて、上記アクセス照合手段
    が2回のアクセス照合動作を行なって、上記プログラム
    のアクセス権モードが両方のアドレス可能な位置のアク
    セス権モードに対応するかどうか判断できるようにする
    手段とを含んでいることを特徴とするプロセッサ。
  2. (2)デジタルデータ処理システムを構成するようにバ
    スを経てメモリに接続されるバスインターフェイスユニ
    ットを備えたプロセッサであって、上記メモリは、複数
    の個々にアドレスできる隣接サブ位置を各々有する複数
    のアドレス可能な記憶位置を備えており、上記メモリ内
    の位置は、所定数の記憶位置を各々有する複数のページ
    に分類され、上記バスは、アドレス転送ラインと、制御
    信号転送ラインと、或る位置に対するデータを転送する
    データ転送ラインとを含み、上記プロセッサは、複数の
    隣接するサブ位置とのデータ転送を要求するプログラム
    を処理するための処理手段を備えており、上記バスイン
    ターフェイスユニットは、a、上記処理手段によって処
    理されているプログラムに対する保護レベルモードを記
    憶するモード手段と、 b、上記処理手段に接続され、上記処理手段によって処
    理されているプログラムからのアドレスを受け取って記
    憶するアドレス記憶手段と、c、上記手段に接続されて
    いて、行なうべき転送について上記メモリ内の隣接する
    記憶サブ位置の数を示すデータ長さ情報を受け取って記
    憶するデータ長さ記憶手段と、 d、このデータ長さ記憶手段及び上記仮想アドレス記憶
    手段に記憶された仮想アドレスに応答して、そのプログ
    ラムで要求されたデータ転送を実行するために必要なバ
    スを介しての転送の回数を決定する転送回数識別手段と
    、 e、上記モード手段に接続されていて、上記アドレス記
    憶手段のアドレスによって識別された位置をそのプログ
    ラムがアクセスできるかどうか判断するアクセス照合手
    段と、 f、上記アドレス記憶手段、上記転送回数識別手段及び
    上記アクセス照合手段に接続されていて、上記プログラ
    ムが上記記憶手段内のアドレスで識別された位置をアク
    セスできることが上記アクセス照合手段によって決定さ
    れた時に、上記プログラムによって要求された転送を実
    行するための転送手段と、 g、上記アドレス記憶手段及び上記データ長さ記憶手段
    に接続され、アドレス及びデータ長さ情報に応答して、
    プログラムにより要求された転送が2つの異なったペー
    ジにおけるメモリへの転送を必要とするかどうかを判断
    するページ交差検出手段と、 h、上記ページ交差検出手段、上記アクセス照合手段及
    び上記転送手段に接続され、プログラムにより要求され
    た転送が2つの異なったページにおけるメモリへの転送
    を必要とすることが上記ページ交差検出手段によって検
    出されるのに応答して、そのプログラムが両ページの位
    置をアクセスできるかどうかを上記アクセス照合手段で
    判断できるようにすると共に、上記転送手段が要求され
    た転送を実行しないようにするトラップ手段とを備えた
    ことを特徴とするプロセッサ。
  3. (3)上記バスインターフェイスユニットは、更に、上
    記トラップ手段に接続された再検査フラグ手段を備え、
    この手段は、上記トラップ手段の作動に応じてセットさ
    れて、その後、上記転送手段が要求された転送を実行し
    てしまうまで上記トラップ手段の作動を禁止する特許請
    求の範囲第(2)項に記載のプロセッサ。
JP60208549A 1984-09-21 1985-09-20 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体 Granted JPS61114353A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65351184A 1984-09-21 1984-09-21
US653511 1984-09-21

Publications (2)

Publication Number Publication Date
JPS61114353A true JPS61114353A (ja) 1986-06-02
JPH0260012B2 JPH0260012B2 (ja) 1990-12-14

Family

ID=24621184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60208549A Granted JPS61114353A (ja) 1984-09-21 1985-09-20 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体

Country Status (11)

Country Link
US (1) US4821169A (ja)
EP (1) EP0175620B1 (ja)
JP (1) JPS61114353A (ja)
KR (1) KR860002759A (ja)
AU (1) AU578732B2 (ja)
BR (1) BR8504729A (ja)
CA (1) CA1237200A (ja)
DE (1) DE3587031T2 (ja)
IN (1) IN165278B (ja)
MX (1) MX158239A (ja)
ZA (1) ZA857240B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03242744A (ja) * 1990-02-21 1991-10-29 Fujitsu Ltd 命令処理方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023773A (en) * 1988-02-10 1991-06-11 International Business Machines Corporation Authorization for selective program access to data in multiple address spaces
US5301327A (en) * 1989-06-30 1994-04-05 Digital Equipment Corporation Virtual memory management for source-code development system
US5463778A (en) * 1989-11-16 1995-10-31 Texas Instruments Incorporated User controlled trap handler
US5075845A (en) * 1989-12-22 1991-12-24 Intel Corporation Type management and control in an object oriented memory protection mechanism
US5564052A (en) * 1991-06-27 1996-10-08 Integrated Device Technology, Inc. Logically disconnectable virtual-to-physical address translation unit and method for such disconnection
US5539899A (en) * 1992-04-03 1996-07-23 International Business Machines Corporation System and method for handling a segmented program in a memory for a multitasking data processing system utilizing paged virtual storage
US5548739A (en) * 1993-11-04 1996-08-20 Sun Microsystems, Inc. Method and apparatus for rapidly retrieving data from a physically addressed data storage structure using address page crossing predictive annotations
US5657445A (en) * 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
KR20000021076A (ko) * 1998-09-25 2000-04-15 김영환 네트워크 방식의 커넥션에 의한 디지털시스템의 다이나믹 제어장치
US7765581B1 (en) * 1999-12-10 2010-07-27 Oracle America, Inc. System and method for enabling scalable security in a virtual private network
GB2378005A (en) * 2001-07-27 2003-01-29 Chien-Tzu Hou Method for Controlling Paged Memory Access Attributes
US9390031B2 (en) * 2005-12-30 2016-07-12 Intel Corporation Page coloring to associate memory pages with programs
EP2911958B1 (en) 2012-10-25 2017-05-03 Rexnord Industries, LLC Active control roller top modular conveying assembly
US9908717B2 (en) 2012-10-25 2018-03-06 Rexnord Industries, Llc Non contact active control conveying assembly
CN107074449A (zh) 2014-10-31 2017-08-18 莱克斯诺工业有限公司 用于主动控制辊筒顶部输送组件的激活的可变高度辊筒
US10457495B2 (en) 2014-10-31 2019-10-29 Rexnord Industries, Llc Operation of an active control roller top conveying assembly
US10162694B2 (en) 2015-12-21 2018-12-25 Intel Corporation Hardware apparatuses and methods for memory corruption detection
EP3468902A4 (en) 2016-06-08 2020-03-11 Rexnord Industries, LLC DRIVE ASSEMBLY FOR A MODULAR CONVEYOR

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
US3916385A (en) * 1973-12-12 1975-10-28 Honeywell Inf Systems Ring checking hardware
US4300192A (en) * 1974-04-18 1981-11-10 Honeywell Information Systems Inc. Method and means for storing and accessing information in a shared access multiprogrammed data processing system
US4016545A (en) * 1975-07-31 1977-04-05 Harris Corporation Plural memory controller apparatus
US4092715A (en) * 1976-09-22 1978-05-30 Honeywell Information Systems Inc. Input-output unit having extended addressing capability
US4386399A (en) * 1980-04-25 1983-05-31 Data General Corporation Data processing system
JPS58149548A (ja) * 1982-03-02 1983-09-05 Hitachi Ltd メモリ制御方式
JPS6047624B2 (ja) * 1982-06-30 1985-10-22 富士通株式会社 アドレス変換制御方式
US4581702A (en) * 1983-01-10 1986-04-08 International Business Machines Corporation Critical system protection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03242744A (ja) * 1990-02-21 1991-10-29 Fujitsu Ltd 命令処理方法

Also Published As

Publication number Publication date
AU578732B2 (en) 1988-11-03
EP0175620B1 (en) 1993-01-27
DE3587031D1 (de) 1993-03-11
JPH0260012B2 (ja) 1990-12-14
BR8504729A (pt) 1986-07-22
EP0175620A3 (en) 1989-09-20
MX158239A (es) 1989-01-17
IN165278B (ja) 1989-09-09
AU4743285A (en) 1986-03-27
KR860002759A (ko) 1986-04-28
EP0175620A2 (en) 1986-03-26
US4821169A (en) 1989-04-11
ZA857240B (en) 1986-05-28
CA1237200A (en) 1988-05-24
DE3587031T2 (de) 1993-08-19

Similar Documents

Publication Publication Date Title
JPS61114353A (ja) 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体
US6754793B2 (en) Method for flashing ESCD and variables into a ROM
US5418927A (en) I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines
US5511227A (en) Method for configuring a composite drive for a disk drive array controller
EP0523764A2 (en) Computer system having direct bus attachment between processor and dynamic main memory, and having in-processor DMA control with respect to a plurality of data exchange means also connected to said bus, and central processor for use in such computer system
JPS58212694A (ja) メモリシステム
JPS5821353B2 (ja) チヤネル対メモリ書込み装置
GB1579064A (en) Random access memory module
JPS6259822B2 (ja)
US6581137B1 (en) Data storage system
JPS5821308B2 (ja) ルツクアヘツド・コントロ−ル装置
US5287482A (en) Input/output cache
US5161219A (en) Computer system with input/output cache
CA1304522C (en) Memory address generation apparatus
CN111742303A (zh) 用于在调试设备时访问元数据的装置和方法
US7302532B2 (en) Central processing unit
US6757775B2 (en) Batch method for accessing IDE device task registers
US20060059358A1 (en) Method and apparatus to preserve a hash value of an executable module
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor
US6915394B1 (en) Microprocessor interface
EP0302926B1 (en) Control signal generation circuit for arithmetic and logic unit for digital processor
JPH0526218B2 (ja)
JPS5922977B2 (ja) 入出力装置によるペ−ジメモリ呼び出し方法
JPH0944413A (ja) ページ境界試験方法
CA1090924A (en) Memory arrangement for use in a digital data processing system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term