JPH0677246B2 - マルチューザ処理提供回路 - Google Patents
マルチューザ処理提供回路Info
- Publication number
- JPH0677246B2 JPH0677246B2 JP58101854A JP10185483A JPH0677246B2 JP H0677246 B2 JPH0677246 B2 JP H0677246B2 JP 58101854 A JP58101854 A JP 58101854A JP 10185483 A JP10185483 A JP 10185483A JP H0677246 B2 JPH0677246 B2 JP H0677246B2
- Authority
- JP
- Japan
- Prior art keywords
- mode
- memory
- user
- processor
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/463—Program control block organisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 本発明はプロセツサと関連して使用される回路に関す
る。ここでプロセツサは予め形成された入出力導線の組
を有しており、インストラクシヨン・セツトを実行し、
インタラプト信号に応動してブロツクに分割された外部
メモリから提供されるベクトル・アドレスの制御の下で
現在実行中のインストラクシヨン・セツトから異なるイ
ンストラクシヨン・セツトにジヤンプするようになつて
いる。
る。ここでプロセツサは予め形成された入出力導線の組
を有しており、インストラクシヨン・セツトを実行し、
インタラプト信号に応動してブロツクに分割された外部
メモリから提供されるベクトル・アドレスの制御の下で
現在実行中のインストラクシヨン・セツトから異なるイ
ンストラクシヨン・セツトにジヤンプするようになつて
いる。
マルチ・ユーザ、マルチ・プロセス計算システムは周知
であり、広く応用されている。典型例ではこれらシステ
ムはプログラムと呼ばれるユーザのインストラクシヨン
・セツトに応動してマシンの機能を制御するオペレーテ
イング・システムを有している。オペレーテイング・シ
ステム(ベル電話研究所の登録商標であるUNIXオペレー
テイング・システムはその1つである)はホスト計算機
上に常駐し実行される。
であり、広く応用されている。典型例ではこれらシステ
ムはプログラムと呼ばれるユーザのインストラクシヨン
・セツトに応動してマシンの機能を制御するオペレーテ
イング・システムを有している。オペレーテイング・シ
ステム(ベル電話研究所の登録商標であるUNIXオペレー
テイング・システムはその1つである)はホスト計算機
上に常駐し実行される。
ホスト計算機は時分割で複数のユーザを取扱う能力を有
するよう設計されている。ユーザにとつては単純に見え
るこの能力を実現するには1人のユーザのフアイルを他
ユーザのフアイルと分離して保存するといつた多くの問
題を解決しなければならないので極めて複雑なシステム
となる。
するよう設計されている。ユーザにとつては単純に見え
るこの能力を実現するには1人のユーザのフアイルを他
ユーザのフアイルと分離して保存するといつた多くの問
題を解決しなければならないので極めて複雑なシステム
となる。
このようなマルチ・プロセス計算機で生じる他の問題と
して1人のユーザのプログラムが他のユーザのプログラ
ムまたはオペレーテイング・システム自体と干渉しない
ようにしなければならないことがあげられる。システム
が複雑となる他の原因の一つとして他のユーザが計算機
にアクセス出来なくなる程1人のユーザのプログラムが
計算機の制御権を獲得することを防止しなければならな
いことがあげられる。他の原因としてホスト計算機はユ
ーザが誤つたコマンドまたは故意によつてデイスク・フ
アイルまたはメモリを破壊または消去することを防止し
なければならないことがあげられる。
して1人のユーザのプログラムが他のユーザのプログラ
ムまたはオペレーテイング・システム自体と干渉しない
ようにしなければならないことがあげられる。システム
が複雑となる他の原因の一つとして他のユーザが計算機
にアクセス出来なくなる程1人のユーザのプログラムが
計算機の制御権を獲得することを防止しなければならな
いことがあげられる。他の原因としてホスト計算機はユ
ーザが誤つたコマンドまたは故意によつてデイスク・フ
アイルまたはメモリを破壊または消去することを防止し
なければならないことがあげられる。
他の問題としてメモリ空間の割当て、保護および制御の
問題が存在する。ユーザのデータが書き込まれるアドレ
スはマイクロプロセツサの内部レジスタ上に存在する。
各ユーザのプログラムはこれらレジスタに対し完全な制
御権を有しており、その結果1人のユーザのデータを他
のユーザが使用しているメモリ空間中に書き込むことが
出来る。
問題が存在する。ユーザのデータが書き込まれるアドレ
スはマイクロプロセツサの内部レジスタ上に存在する。
各ユーザのプログラムはこれらレジスタに対し完全な制
御権を有しており、その結果1人のユーザのデータを他
のユーザが使用しているメモリ空間中に書き込むことが
出来る。
大型計算機はこれら問題点の多くを解決したが、単一の
ユーザ用に設計された多数のマイクロプロセツサはユー
ザ間におけるメモリ空間のマネージメント能力や不注意
または故意による正当でない操作を防止する能力を有し
ていない。
ユーザ用に設計された多数のマイクロプロセツサはユー
ザ間におけるメモリ空間のマネージメント能力や不注意
または故意による正当でない操作を防止する能力を有し
ていない。
問題はこれらマイクロプロセツサが単純さを念頭に置い
て設計されており、特定の入出力は予め形成された導線
を介して行うよう設計されており、マイクロプロセツサ
との通信はすべてこれら特定の導線上のコマンド(0ま
たは1)を介して実行しなければならないことにある。
このため標準的なマイクロプロセツサを変更することな
く、かつソフトウエア制御または保護回路によるオーバ
ヘツドを増加させることなく単一ユーザ用のマイクロプ
ロセツサにマルチ・プロセス、マルチ・ユーザ動作を実
行させる回路が要望されている。
て設計されており、特定の入出力は予め形成された導線
を介して行うよう設計されており、マイクロプロセツサ
との通信はすべてこれら特定の導線上のコマンド(0ま
たは1)を介して実行しなければならないことにある。
このため標準的なマイクロプロセツサを変更することな
く、かつソフトウエア制御または保護回路によるオーバ
ヘツドを増加させることなく単一ユーザ用のマイクロプ
ロセツサにマルチ・プロセス、マルチ・ユーザ動作を実
行させる回路が要望されている。
前述の問題は本発明に従い少くとも第1および第2の動
作モードを形成する第1の回路と、第1のモード期間中
すべてではないが少くとも1つのメモリ・ブロツクはプ
ロセツサにより実行されるインストラクシヨンによつて
アクセス可能なように前記メモリを制御する第2の回路
より成り、前記第1の回路はインタラプト信号の制御の
下で第1のモードから第2のモードへ切換えるデバイス
を含み、第2の回路はプロセツサからの出力ビツトをデ
コードすることにより第2のモードを第1のモードに切
換えることを特徴とする回路により解決された。
作モードを形成する第1の回路と、第1のモード期間中
すべてではないが少くとも1つのメモリ・ブロツクはプ
ロセツサにより実行されるインストラクシヨンによつて
アクセス可能なように前記メモリを制御する第2の回路
より成り、前記第1の回路はインタラプト信号の制御の
下で第1のモードから第2のモードへ切換えるデバイス
を含み、第2の回路はプロセツサからの出力ビツトをデ
コードすることにより第2のモードを第1のモードに切
換えることを特徴とする回路により解決された。
本発明のマイクロプロセツサを用いたマルチ・ユーザ・
システムでは2つの基本動作モードを制御するのにモー
ド・マツプおよびマイクロプロセツサのインタラプト・
システムと関連してマイクロプロセツサからの予め形成
されたアドレス導線を使用している。ユーザ・モードお
よび核モードから成る2つの基本動作モードはインタラ
プト制御をオフとしたり、計算機をホールド状態とする
といつた計算機の重要な動作をユーザが制御することを
妨げる機能を有している。
システムでは2つの基本動作モードを制御するのにモー
ド・マツプおよびマイクロプロセツサのインタラプト・
システムと関連してマイクロプロセツサからの予め形成
されたアドレス導線を使用している。ユーザ・モードお
よび核モードから成る2つの基本動作モードはインタラ
プト制御をオフとしたり、計算機をホールド状態とする
といつた計算機の重要な動作をユーザが制御することを
妨げる機能を有している。
これらモードはまたメモリ保護を容易にする。メモリ・
マネージメントは12のメモリ・マツプを提供し、その各
々は最大64kBのメモリ空間を規定する。規定された64kB
のメモリ空間は更に8つの8kBセグメントに細分割され
る。各セグメントはメモリの64Bの境界のいずれに置く
ことも可能であり、読み出しアクセス、書き込みアクセ
スまたはその両者に適するよう構成され、その長さは64
Bを単位として最大8kBまで任意の長さであつてよい。12
のメモリ・マツプの内、5つのみがユーザ・モードにセ
ツトされたメモリ・マネージメント・フラグによつてア
クセスが許容されている。更にメモリ・マツプの内容そ
れ自体はメモリ・マネージメント・フラグが核モードに
セツトされているときにのみアクセス可能である。この
ようにフラグを使用することによりユーザ・プログラム
が動作している期間中メモリは完全に保護されることに
なる。
マネージメントは12のメモリ・マツプを提供し、その各
々は最大64kBのメモリ空間を規定する。規定された64kB
のメモリ空間は更に8つの8kBセグメントに細分割され
る。各セグメントはメモリの64Bの境界のいずれに置く
ことも可能であり、読み出しアクセス、書き込みアクセ
スまたはその両者に適するよう構成され、その長さは64
Bを単位として最大8kBまで任意の長さであつてよい。12
のメモリ・マツプの内、5つのみがユーザ・モードにセ
ツトされたメモリ・マネージメント・フラグによつてア
クセスが許容されている。更にメモリ・マツプの内容そ
れ自体はメモリ・マネージメント・フラグが核モードに
セツトされているときにのみアクセス可能である。この
ようにフラグを使用することによりユーザ・プログラム
が動作している期間中メモリは完全に保護されることに
なる。
これは、標準的なマイクロプロセツサと関連して動作
し、モード・マツプに応動してユーザ・モードにあつて
はある種の機能のみをユーザが実行することを許容する
回路を設計することにより実現される。計算機の動作に
とつて重要で、不適正に実行されると大きな被害を与え
る可能性のある他の機能は核モードにおいてのみ実行さ
れる。核モードにはある条件の下でセキユア・サービス
・ルーチン中に入つて来るインタラプトを使用した厳重
なプログラム制御の下でのみ入ることが可能である。
し、モード・マツプに応動してユーザ・モードにあつて
はある種の機能のみをユーザが実行することを許容する
回路を設計することにより実現される。計算機の動作に
とつて重要で、不適正に実行されると大きな被害を与え
る可能性のある他の機能は核モードにおいてのみ実行さ
れる。核モードにはある条件の下でセキユア・サービス
・ルーチン中に入つて来るインタラプトを使用した厳重
なプログラム制御の下でのみ入ることが可能である。
このようにして、重要な動作、例えばデイスクの読み出
しを実行しなければならないときには、ユーザ・プログ
ラムは予め形成された核プログラムのアドレスを有して
ソフトウエア・インタラプト・インストラクシヨンを実
行することによりデイスク・アクセスのコールを行う。
このコールが行なわれると、システムは核モードに入
り、ユーザは制御権を失い、呼び出された核プログラム
(これは理論的にエラーが無いとしている)は予め定め
られた仕方で所望の機能を実行する。
しを実行しなければならないときには、ユーザ・プログ
ラムは予め形成された核プログラムのアドレスを有して
ソフトウエア・インタラプト・インストラクシヨンを実
行することによりデイスク・アクセスのコールを行う。
このコールが行なわれると、システムは核モードに入
り、ユーザは制御権を失い、呼び出された核プログラム
(これは理論的にエラーが無いとしている)は予め定め
られた仕方で所望の機能を実行する。
システムがユーザ・モードであり、ユーザ・プログラム
が例えばインタラプト・オフ・コマンド(これは他のユ
ーザが計算機にアクセスすることを妨げる)の如き不当
なコマンドを送ると、システムはインタラプトをオンに
戻すことにより応動する。何らかの理由で正当な目的
(例えばインタラプト・サービス・ルーチンの開始時
点)のためにインタラプト能力をオフとしなければなら
ない場合、そのようなコマンドは核モードで走行してい
るプログラムからプロセツサに加えられねばならない。
このような事態が生じると、インタラプトは核プログラ
ムの制御の下でオフ状態に留まる。
が例えばインタラプト・オフ・コマンド(これは他のユ
ーザが計算機にアクセスすることを妨げる)の如き不当
なコマンドを送ると、システムはインタラプトをオンに
戻すことにより応動する。何らかの理由で正当な目的
(例えばインタラプト・サービス・ルーチンの開始時
点)のためにインタラプト能力をオフとしなければなら
ない場合、そのようなコマンドは核モードで走行してい
るプログラムからプロセツサに加えられねばならない。
このような事態が生じると、インタラプトは核プログラ
ムの制御の下でオフ状態に留まる。
このシステムは動的に再配置可能なメモリ・マツプの大
きな組を使用しており、そのため異なるメモリ空間(例
えばユーザ・インストラクシヨン、核データおよび核イ
ンストラクシヨン)の間での移動が容易であり、それに
よつてシステムはより効率的になり、プログラムもより
容易となる。これらメモリ・マツプは前述の予め形成さ
れたアドレス導線上のビツトおよびモード・マツプおよ
びユーザ/核フラグの制御の下で書き込まれる。核モー
ドはすべてのメモリ・マツプを使用し得るのに対し、ユ
ーザ・モードは幾つかの組に制限されており、メモリ・
マツプは核モード期間中においてのみ変更可能である。
きな組を使用しており、そのため異なるメモリ空間(例
えばユーザ・インストラクシヨン、核データおよび核イ
ンストラクシヨン)の間での移動が容易であり、それに
よつてシステムはより効率的になり、プログラムもより
容易となる。これらメモリ・マツプは前述の予め形成さ
れたアドレス導線上のビツトおよびモード・マツプおよ
びユーザ/核フラグの制御の下で書き込まれる。核モー
ドはすべてのメモリ・マツプを使用し得るのに対し、ユ
ーザ・モードは幾つかの組に制限されており、メモリ・
マツプは核モード期間中においてのみ変更可能である。
核モードからユーザ・モードへの切換えはマイクロプロ
セツサのインタラプト・システムにも通知される。従つ
てユーザ・モードから核モードへのモード変更の唯一の
方法はオペレーテイング・システム中のセキユア・サー
ビス・ルーチンに入ることによつて実行されるインタラ
プト・シーケンスを介する方法である。本発明はマイク
ロプロセツサのインタラプト・シーケンスから核モード
への遷移をトリガし、この臨界的な遷移期間中に生じる
読み出しまたは書き込みが適正に機能し、システムの安
全性が損われないことを保証することによりユーザ・モ
ードから核モードへ安全に遷移させる回路を含んでい
る。
セツサのインタラプト・システムにも通知される。従つ
てユーザ・モードから核モードへのモード変更の唯一の
方法はオペレーテイング・システム中のセキユア・サー
ビス・ルーチンに入ることによつて実行されるインタラ
プト・シーケンスを介する方法である。本発明はマイク
ロプロセツサのインタラプト・シーケンスから核モード
への遷移をトリガし、この臨界的な遷移期間中に生じる
読み出しまたは書き込みが適正に機能し、システムの安
全性が損われないことを保証することによりユーザ・モ
ードから核モードへ安全に遷移させる回路を含んでい
る。
本発明およびその目的、特徴利点は付図を参照した以下
の記述により更に完全に理解されよう。
の記述により更に完全に理解されよう。
第1図はマルチプロセシング計算機システムにおける本
発明の典型的な使用例を示す図である。本発明は中央処
理装置CPU10内で使用されている。CPU10はシステム・バ
ス18を介してシステムとインタフエースされており、図
では3つのメモリ・ボード11〜1〜11−Nが示されてい
る。デイスク15はデイスク・コントローラ12を介してCP
U10とインタフエースされている。ユーザ端末16−1、1
6−2および16−Mは端末コントローラ13を介してイン
タフエースされている。同様に遠隔計算機17はライン・
コントローラ14を介してインタフエースされている。
発明の典型的な使用例を示す図である。本発明は中央処
理装置CPU10内で使用されている。CPU10はシステム・バ
ス18を介してシステムとインタフエースされており、図
では3つのメモリ・ボード11〜1〜11−Nが示されてい
る。デイスク15はデイスク・コントローラ12を介してCP
U10とインタフエースされている。ユーザ端末16−1、1
6−2および16−Mは端末コントローラ13を介してイン
タフエースされている。同様に遠隔計算機17はライン・
コントローラ14を介してインタフエースされている。
第2図に示すように、メイン・システム・プロセツサ20
0は16ビツトCPUであつて、該CPUはクロツク発生器、バ
ス・コントローラ、インタラプト、コントローラ、タイ
マ、バス・ドライバおよびラツチを含んでいる。プロセ
ツサ・アドレスおよびデータ・バスは電源投入時のテス
トとブートストラツプ・プログラムを提供する2つのRO
M(第2図には図示せず)に接続されている。2つのUSA
RT(汎用同期/非同期受信/送信器=これも第2図には
示してない)がローデイングおよびテストのための直列
I/Oポートを提供するべくデータ・バスに接続されてい
る。プロセツサは核モードと呼ばれる特権モードまたは
ユーザ・モードと呼ばれる制約モードで動作する。プロ
セツサのモードは第2図のモード・フラグ121により制
御されている。プロセツサに電源が投入されるかまたは
リセツトされると、モード・フラグは核モードにセツト
され、プロセツサは電源投入時に動作する読み出し専用
メモリ(ROM=第2図には図示せず)中の予め定められ
たスタート・アドレスに一斉にセツトされる。ROMは第
8および9図に示すシステムが正しく動作しているか否
かをテストし、次いでオペレーテイング・システムをシ
ステム・デイスクからシステム・メモリに転送するプロ
グラムを含んでいる。この転送が行なわれる前に、メモ
リ・マネージメントRAM106に書き込みを行つてデイスク
およびシステム・メモリへのアクセスを許容する必要が
ある。
0は16ビツトCPUであつて、該CPUはクロツク発生器、バ
ス・コントローラ、インタラプト、コントローラ、タイ
マ、バス・ドライバおよびラツチを含んでいる。プロセ
ツサ・アドレスおよびデータ・バスは電源投入時のテス
トとブートストラツプ・プログラムを提供する2つのRO
M(第2図には図示せず)に接続されている。2つのUSA
RT(汎用同期/非同期受信/送信器=これも第2図には
示してない)がローデイングおよびテストのための直列
I/Oポートを提供するべくデータ・バスに接続されてい
る。プロセツサは核モードと呼ばれる特権モードまたは
ユーザ・モードと呼ばれる制約モードで動作する。プロ
セツサのモードは第2図のモード・フラグ121により制
御されている。プロセツサに電源が投入されるかまたは
リセツトされると、モード・フラグは核モードにセツト
され、プロセツサは電源投入時に動作する読み出し専用
メモリ(ROM=第2図には図示せず)中の予め定められ
たスタート・アドレスに一斉にセツトされる。ROMは第
8および9図に示すシステムが正しく動作しているか否
かをテストし、次いでオペレーテイング・システムをシ
ステム・デイスクからシステム・メモリに転送するプロ
グラムを含んでいる。この転送が行なわれる前に、メモ
リ・マネージメントRAM106に書き込みを行つてデイスク
およびシステム・メモリへのアクセスを許容する必要が
ある。
インターバル・タイマ、インタラプト・コントローラ、
USARTおよびメモリ・アレンジメントRAMが初期化された
後、オペレーテイング・システムはメイン・システム・
メモリに転送され、次いでオペレーテイング・システム
が実行を開始する。モード・マツプ110はプロセツサ200
からのアドレス・ビツトAA16−AA19を解釈する。これら
の線路上に存在するビツトに基づいて、モード・マツプ
はマネージング・メモリRAM106から特定の翻訳テーブル
を選択するかまたは以下で詳細に述べるデバイスへのア
クセスを選択する。モード・マツプ110はまた必要な場
合にはモード・フラグにコマンドを与えて核モードから
ユーザ・モードへ変化させる。モード・マツプは前記動
作をアドレス線路AA19、AA18、AA17およびAA16上でビツ
ト1100を受信したときに実行する。モード・マツプ110
が翻訳に使用するためにメモリ・マネージメントRAM106
の特定のセクシヨンを選択するとき、モード・マツプ11
0はまずモード・フラグを選択し、モードを選択される
メモリ・マネージメントRAMのエリアと比較し、モード
・フラグがユーザ・モードにセツトされているならば、
前記エリアがメモリ・マネージメントRAM106から選択さ
れたユーザ・エリアであるかどうかを確認する。
USARTおよびメモリ・アレンジメントRAMが初期化された
後、オペレーテイング・システムはメイン・システム・
メモリに転送され、次いでオペレーテイング・システム
が実行を開始する。モード・マツプ110はプロセツサ200
からのアドレス・ビツトAA16−AA19を解釈する。これら
の線路上に存在するビツトに基づいて、モード・マツプ
はマネージング・メモリRAM106から特定の翻訳テーブル
を選択するかまたは以下で詳細に述べるデバイスへのア
クセスを選択する。モード・マツプ110はまた必要な場
合にはモード・フラグにコマンドを与えて核モードから
ユーザ・モードへ変化させる。モード・マツプは前記動
作をアドレス線路AA19、AA18、AA17およびAA16上でビツ
ト1100を受信したときに実行する。モード・マツプ110
が翻訳に使用するためにメモリ・マネージメントRAM106
の特定のセクシヨンを選択するとき、モード・マツプ11
0はまずモード・フラグを選択し、モードを選択される
メモリ・マネージメントRAMのエリアと比較し、モード
・フラグがユーザ・モードにセツトされているならば、
前記エリアがメモリ・マネージメントRAM106から選択さ
れたユーザ・エリアであるかどうかを確認する。
線路AA19〜AA16上の特定のアドレス1100によりモード・
フラグは核モードからユーザ・モードとなるが、ユーザ
・モードから核モードへの変化は全く異なるメカニズム
で生じることに注意されたい。アドレス線路はどのよう
なプログラムを実行中であろうとも該プログラムを完全
に制御しているのでアドレス線路を用いてユーザ・モー
ドから核モードへ戻すことは出来ず、ユーザ・プログラ
ムは従つて任意の時点で核モードに変更することが可能
である。メモリ・マネージメント・システムは次によう
に設計されている。即ちユーザ・モードから核モードへ
の変化は、核モードへの変化が常に制御をオペレーテイ
ング・システムに切替えることにより実行されることを
保証するようオペレーテイング・システム中の予め定め
られたエリアへのインタラプト・ベクトルが生起するの
と同時点においてのみ生起するようになつている。この
ようにしてユーザ・モードから核モードへ切替えられた
直後にオペレーテイング・システムが制御を行うような
仕方でユーザ・モードから核モードへの切替えを行うメ
カニズムが使用されている。
フラグは核モードからユーザ・モードとなるが、ユーザ
・モードから核モードへの変化は全く異なるメカニズム
で生じることに注意されたい。アドレス線路はどのよう
なプログラムを実行中であろうとも該プログラムを完全
に制御しているのでアドレス線路を用いてユーザ・モー
ドから核モードへ戻すことは出来ず、ユーザ・プログラ
ムは従つて任意の時点で核モードに変更することが可能
である。メモリ・マネージメント・システムは次によう
に設計されている。即ちユーザ・モードから核モードへ
の変化は、核モードへの変化が常に制御をオペレーテイ
ング・システムに切替えることにより実行されることを
保証するようオペレーテイング・システム中の予め定め
られたエリアへのインタラプト・ベクトルが生起するの
と同時点においてのみ生起するようになつている。この
ようにしてユーザ・モードから核モードへ切替えられた
直後にオペレーテイング・システムが制御を行うような
仕方でユーザ・モードから核モードへの切替えを行うメ
カニズムが使用されている。
システムは256×32ビツトRAM106を含んでおり、該RAMは
以下で更に詳細に述べるページ・アドレスおよびページ
・デイスクリプタ情報を記憶している。該システムはプ
ロセツサの20ビツトのバーチヤル・アドレス出力を22ビ
ツトの物理的アドレス空間中にマツピングする。RAMか
らの16ビツト(SA16〜SA31)はプロセツサ出力アドレス
からの7ビツト(AA6〜AA12)と組合わされ、その結果
はプロセツサ出力アドレスからの下位6ビツト(A0〜A
5)と加算され、22ビツトの物理的アドレス(A0〜A21)
がシステム・アドレス・バスとして形成される。RAMか
らの他の16ビツト(SA0〜SA15)はメモリ・アクセス障
害論理回路130に加えられ、読み出し/書き込み信号を
制御し、イリーガルな読み出し/書き込みが生じたと
き、または割当てられたアドレス・レンジ外のメモリへ
のアクセスが生じたときにインタラプトを発生させるの
に使用される。
以下で更に詳細に述べるページ・アドレスおよびページ
・デイスクリプタ情報を記憶している。該システムはプ
ロセツサの20ビツトのバーチヤル・アドレス出力を22ビ
ツトの物理的アドレス空間中にマツピングする。RAMか
らの16ビツト(SA16〜SA31)はプロセツサ出力アドレス
からの7ビツト(AA6〜AA12)と組合わされ、その結果
はプロセツサ出力アドレスからの下位6ビツト(A0〜A
5)と加算され、22ビツトの物理的アドレス(A0〜A21)
がシステム・アドレス・バスとして形成される。RAMか
らの他の16ビツト(SA0〜SA15)はメモリ・アクセス障
害論理回路130に加えられ、読み出し/書き込み信号を
制御し、イリーガルな読み出し/書き込みが生じたと
き、または割当てられたアドレス・レンジ外のメモリへ
のアクセスが生じたときにインタラプトを発生させるの
に使用される。
プロセツサ200は1つのインタラプト入力を有してお
り、この1つのインタラプト入力はインタラプト・コン
トローラ(第2図には図示せず)によつて多数のインタ
ラプト入力に拡張されている。該インタラプト・コント
ローラは信号を受信するとプロセツサを起動してインタ
ラプト・プログラムの制御の下で特定の予めプログラム
されたルーチンを開始させる。このようなインタラプト
が生じると、制御は現在プロセツサ中に走つていたプロ
グラム・インストラクシヨンから取り上げられ、選択さ
れたインタラプト・プログラムに与えられることにな
る。最も簡単な形態としてはインタラプト信号はその出
力アドレス・バス上に特定のアドレスを提供することに
より現在実行されているインストラクシヨン・セツトか
ら新らしいインストラクシヨン・セツトへ強制的にジヤ
ンプさせる。この強制的に指示されたアドレスはメイン
・メモリ中に存在する前以つて書き込まれるインストラ
クシヨン・セツトの場所を示すことになる。このような
インタラプト・ルーチンはメモリ・マネージメント・ア
クセス違反、入出力デバイスおよびシステム・クロツク
に対しサービスを提供する等重要な役目を果している。
り、この1つのインタラプト入力はインタラプト・コン
トローラ(第2図には図示せず)によつて多数のインタ
ラプト入力に拡張されている。該インタラプト・コント
ローラは信号を受信するとプロセツサを起動してインタ
ラプト・プログラムの制御の下で特定の予めプログラム
されたルーチンを開始させる。このようなインタラプト
が生じると、制御は現在プロセツサ中に走つていたプロ
グラム・インストラクシヨンから取り上げられ、選択さ
れたインタラプト・プログラムに与えられることにな
る。最も簡単な形態としてはインタラプト信号はその出
力アドレス・バス上に特定のアドレスを提供することに
より現在実行されているインストラクシヨン・セツトか
ら新らしいインストラクシヨン・セツトへ強制的にジヤ
ンプさせる。この強制的に指示されたアドレスはメイン
・メモリ中に存在する前以つて書き込まれるインストラ
クシヨン・セツトの場所を示すことになる。このような
インタラプト・ルーチンはメモリ・マネージメント・ア
クセス違反、入出力デバイスおよびシステム・クロツク
に対しサービスを提供する等重要な役目を果している。
プロセツサはまたすべての処理を停止させるコマンドに
応動する能力も有している。インタラプト入力をオフと
し、実行中のプログラムは例えシステム・クロツクでも
インタラプト出来ないようにするコマンドも存在する。
インタラプトをオフとする機能を単にデイスエイブルす
ることは出来ない。何故ならばこの機能はマイクロプロ
セツサの基本構造として組み込まれているからである。
応動する能力も有している。インタラプト入力をオフと
し、実行中のプログラムは例えシステム・クロツクでも
インタラプト出来ないようにするコマンドも存在する。
インタラプトをオフとする機能を単にデイスエイブルす
ることは出来ない。何故ならばこの機能はマイクロプロ
セツサの基本構造として組み込まれているからである。
以下で分るように、本システムはシステムを保護するた
めに適当なプログラムが書き込まれている場合に限つて
インタラプトをオフとし、核モードから与えられたホー
ルド・コマンドを実行するよう設計されている。
めに適当なプログラムが書き込まれている場合に限つて
インタラプトをオフとし、核モードから与えられたホー
ルド・コマンドを実行するよう設計されている。
第3図はプロセツサ200の出力アドレスの利用目的を示
している。アドレス線路AA19〜AA16は以下で更に詳細に
述べるようにモード・マツプによつてデコードされ、外
部メモリをアクセスするための12のメモリ・マツプの内
の1つを選択し、核モードからユーザ・モードに抜け出
し、メモリ・マネージメントRAMに直接アクセスし、あ
る種のデバイスに直接アクセスし、また電源投入時に動
作するROMにアクセスするのに使用される。
している。アドレス線路AA19〜AA16は以下で更に詳細に
述べるようにモード・マツプによつてデコードされ、外
部メモリをアクセスするための12のメモリ・マツプの内
の1つを選択し、核モードからユーザ・モードに抜け出
し、メモリ・マネージメントRAMに直接アクセスし、あ
る種のデバイスに直接アクセスし、また電源投入時に動
作するROMにアクセスするのに使用される。
第8図に示すようにCPU10は複数の入力を介して該CPUに
提供されるインストラクシヨンによつて動作し、入力情
報の制御の下で加えられるデータに作用して新らしいデ
ータをその出力導線上に提供する。出力データはAD0〜A
D19として示す20本の導線の組によつて制御されてい
る。AD0〜AD15は多重化されたアドレス/データ・バス
を形成し、AD16およびAD19は付加的なアドレス・バスを
形成する。アドレス・ラツチ102は多重化されたバスか
らのアドレスをラツチし、多重化がほどかれたアドレス
・バスA0〜A5、AA6〜AA19を形成する。このアドレス・
バスの導線上のビツト(1および0)はシステムに対し
メイン・メモリ中のバーチヤル・アドレスを指示する。
次にこのバーチヤル・アドレスはメモリ・マネージメン
ト回路によつてメイン・メモリ内の特定のアドレス・ロ
ケーシヨンに翻訳されねばならない。これらアドレス導
線の内の4本、即ち導線AA16〜AA19はモード・マツプ11
0に加えられ、システム・メモリ、電源投入時に動作す
るROM111、メモリ・マネージメントRAM106、インタラプ
ト・コントローラ114、インターバル・タイマ113および
USART(図示せず)へのアクセスを許容する12のメモリ
・マツプの1つを選択する。既に議論した如く、これら
ビツトはモード・フラグ121を核モードからユーザ・モ
ードへ変化させる働きをする。
提供されるインストラクシヨンによつて動作し、入力情
報の制御の下で加えられるデータに作用して新らしいデ
ータをその出力導線上に提供する。出力データはAD0〜A
D19として示す20本の導線の組によつて制御されてい
る。AD0〜AD15は多重化されたアドレス/データ・バス
を形成し、AD16およびAD19は付加的なアドレス・バスを
形成する。アドレス・ラツチ102は多重化されたバスか
らのアドレスをラツチし、多重化がほどかれたアドレス
・バスA0〜A5、AA6〜AA19を形成する。このアドレス・
バスの導線上のビツト(1および0)はシステムに対し
メイン・メモリ中のバーチヤル・アドレスを指示する。
次にこのバーチヤル・アドレスはメモリ・マネージメン
ト回路によつてメイン・メモリ内の特定のアドレス・ロ
ケーシヨンに翻訳されねばならない。これらアドレス導
線の内の4本、即ち導線AA16〜AA19はモード・マツプ11
0に加えられ、システム・メモリ、電源投入時に動作す
るROM111、メモリ・マネージメントRAM106、インタラプ
ト・コントローラ114、インターバル・タイマ113および
USART(図示せず)へのアクセスを許容する12のメモリ
・マツプの1つを選択する。既に議論した如く、これら
ビツトはモード・フラグ121を核モードからユーザ・モ
ードへ変化させる働きをする。
システムがユーザ・モードにあると、プロセツサのイン
タラプトをオフにしようとしてもインタラプトは再びオ
ンとされ、プロセツサをホールトさせようとしても適当
な警報文がユーザに返されると共にプロセツサは直ちに
再スタートされる。
タラプトをオフにしようとしてもインタラプトは再びオ
ンとされ、プロセツサをホールトさせようとしても適当
な警報文がユーザに返されると共にプロセツサは直ちに
再スタートされる。
プロセツサはその中にプロセツサがデータを記憶してか
つそこからデータを取り出すフイールドを制御する12の
マツプを有している。従つて第4図に示すようにメモリ
・マネージメント制御回路は12の個別のフイールド(K0
〜K7およびU0〜U3)より成り、特定のフイールドはモー
ド・マツプ110によつて選択され、メモリ・マネージメ
ントRAM106内の特定のワードはアドレス・ビツトA15、A
14、A13およびA12により制御される。各フイールド内の
各ワードは16ビツトのPDRフイールドおよび16ビツトのP
ARフイールドを含んでいる。これらのフイールドはメモ
リ・アドレス・ビツトと共にメイン・メモリ内の特定の
ロケーシヨンを指定する。各フイールドは特定の型の情
報を記憶するように割当てられている。このようにフイ
ールドK1は核プログラムを、フイールドK2は核データを
記憶でき、一方フイールドU0(図示せず)はユーザ・プ
ログラムを、フイールドU1(図示せず)はユーザ・デー
タを記憶できる。特定のフイールドおよびモードは更に
詳細に議論する仕方でアドレス・ライン19〜16からのビ
ツトにより制約される。このデコーデイングを第5図に
示す。これら4つのビツトはデコードされ、選択された
フイールドへのアクセスが許容され、システムのモード
は核モードからユーザ・モードへ切換えられる。
つそこからデータを取り出すフイールドを制御する12の
マツプを有している。従つて第4図に示すようにメモリ
・マネージメント制御回路は12の個別のフイールド(K0
〜K7およびU0〜U3)より成り、特定のフイールドはモー
ド・マツプ110によつて選択され、メモリ・マネージメ
ントRAM106内の特定のワードはアドレス・ビツトA15、A
14、A13およびA12により制御される。各フイールド内の
各ワードは16ビツトのPDRフイールドおよび16ビツトのP
ARフイールドを含んでいる。これらのフイールドはメモ
リ・アドレス・ビツトと共にメイン・メモリ内の特定の
ロケーシヨンを指定する。各フイールドは特定の型の情
報を記憶するように割当てられている。このようにフイ
ールドK1は核プログラムを、フイールドK2は核データを
記憶でき、一方フイールドU0(図示せず)はユーザ・プ
ログラムを、フイールドU1(図示せず)はユーザ・デー
タを記憶できる。特定のフイールドおよびモードは更に
詳細に議論する仕方でアドレス・ライン19〜16からのビ
ツトにより制約される。このデコーデイングを第5図に
示す。これら4つのビツトはデコードされ、選択された
フイールドへのアクセスが許容され、システムのモード
は核モードからユーザ・モードへ切換えられる。
システムが丁度オンとなり、リセツト信号がCPU101に送
られたものと仮定する。CPUはアドレス・ラインAA19、A
A18、AA17およびAA16中にビツト1、1、1、1を有す
る予め定められたアドレスにジヤンプする。それと同時
に、リセツト信号はモード・フラグ121を核モードにセ
ツトする。アドレス・ラツチ102の出力のラインAA19、A
A18、AA17およびAA16上のビツト1、1、1、1はモー
ド・マツプ110に読み出し専用メモリ111を選択させる。
アドレス・ラインAA15〜AA0上の残りのビツトはROM111
中に存在する電源投入時に動作するルーチンの開始ロケ
ーシヨンを与える。モード・マツプ110はまたラインVML
上に1を加える。何故ならばメモリ・アドレスはCPUシ
ステム内部のものであつて、システム・バス上には出て
行かないからである。導線VML上の1は他のメモリ・ボ
ードに対するすべての外部信号を抑圧し、バーチヤル・
アドレスから物理的アドレスへの翻訳をデイスエイブル
し、メモリ・マネージメントRAM中のページ・デイスク
リプタ・レジスタによるアクセス・チエツクをデイスエ
イブルする。
られたものと仮定する。CPUはアドレス・ラインAA19、A
A18、AA17およびAA16中にビツト1、1、1、1を有す
る予め定められたアドレスにジヤンプする。それと同時
に、リセツト信号はモード・フラグ121を核モードにセ
ツトする。アドレス・ラツチ102の出力のラインAA19、A
A18、AA17およびAA16上のビツト1、1、1、1はモー
ド・マツプ110に読み出し専用メモリ111を選択させる。
アドレス・ラインAA15〜AA0上の残りのビツトはROM111
中に存在する電源投入時に動作するルーチンの開始ロケ
ーシヨンを与える。モード・マツプ110はまたラインVML
上に1を加える。何故ならばメモリ・アドレスはCPUシ
ステム内部のものであつて、システム・バス上には出て
行かないからである。導線VML上の1は他のメモリ・ボ
ードに対するすべての外部信号を抑圧し、バーチヤル・
アドレスから物理的アドレスへの翻訳をデイスエイブル
し、メモリ・マネージメントRAM中のページ・デイスク
リプタ・レジスタによるアクセス・チエツクをデイスエ
イブルする。
ROM中のプログラムはまずCPUの重要なシステム機能の自
己テストを実行することによりCPUシステムが正しい動
作をしているかどうかを確認する。自己テストの結果CP
Uシステムが正しく動作していることが分ると、ROM中の
プログラムは次にデイスク・ユニツトからメイン・シス
テム・メモリにプログラムをロードし、オペレーテイン
グ・システム全体がメイン・システム・メモリ中に入る
までプログラムのロードを続ける。しかし、メイン・シ
ステム・メモリまたはデイスクにアクセスする前に、メ
モリ・マネージメントRAM106にはベース・アドレスとア
クセスされるシステム・メモリに対するアクセス許容が
ロードされねばならない。メモリ・マネージメントRAM
はモード・フラグが核モード状態にあるときにのみ読み
出し書き込み可能である。メモリ・マネージメントRAM
に直接読み書きするためには、アドレス・ラインAA19、
AA18、AA17およびAA16はビツト1101(第5図)を含んで
いなければならない。
己テストを実行することによりCPUシステムが正しい動
作をしているかどうかを確認する。自己テストの結果CP
Uシステムが正しく動作していることが分ると、ROM中の
プログラムは次にデイスク・ユニツトからメイン・シス
テム・メモリにプログラムをロードし、オペレーテイン
グ・システム全体がメイン・システム・メモリ中に入る
までプログラムのロードを続ける。しかし、メイン・シ
ステム・メモリまたはデイスクにアクセスする前に、メ
モリ・マネージメントRAM106にはベース・アドレスとア
クセスされるシステム・メモリに対するアクセス許容が
ロードされねばならない。メモリ・マネージメントRAM
はモード・フラグが核モード状態にあるときにのみ読み
出し書き込み可能である。メモリ・マネージメントRAM
に直接読み書きするためには、アドレス・ラインAA19、
AA18、AA17およびAA16はビツト1101(第5図)を含んで
いなければならない。
モード・マツプ110がアドレス・ラインAA19、AA18、AA1
7およびAA16上のビツト1101を検出すると、モード・マ
ツプ110はラインEN38L上に0を加え、それによつてメモ
リ・マネージメント・コントローラ126を介してメモリ
・マネージメントRAM106へのアクセスが可能となる。モ
ード・マツプ110はまた導線VML上に1を加え、これによ
り先に議論した如く外部アクセスがデイスエイブルされ
る。導線VML上のこの1はまたアドレス・マルチプレク
サ104をして、メモリ・マネージメント・RAMがアドレス
・ラインAA13〜AA17、ラインK18(これは後で述べるよ
うにモード・マツプから来ている)およびラインAA19に
よつてバーチヤル・メモリから物理的メモリへの翻訳期
間中に通常実行されるようにアクセスされる代りに、ア
ドレス・ビツトAA2〜AA9がメモリ・マネージメントRAM
にアクセスすることを許容する。アドレスをこのように
多重化することによりメモリ・マネージメントRAMへの
逐次アクセスが可能となる。メモリ・マネージメントRA
M106は2つの全く異なる仕方でアクセスされることに注
意されたい。メモリ・マネージメント・RAMはバーチヤ
ル・アドレスから物理的アドレスへの翻訳期間中アドレ
スを計算し、アクセス許可をチエツクするのに必要な情
報を見出すためにアクセスされる。メモリ・マネージメ
ントRAMはまた該RAMの初期状態設定および更新期間中核
プログラムにより直接アクセスされる。メモリ・マネー
ジメント制御回路126はメモリ・マネージメントRAMをい
ずれの型のアクセスに対しても動作するようにする。タ
イミングおよびデータ幅(翻訳の場合には32ビツト、個
別アクセスの場合には16ビツト)の両方を調整する必要
がある。これらバツフアに対するタイミングおよび制御
信号はメモリ・マネージメント制御回路126によつて制
御されている。更に、メモリ・マネージメントRAMの32
ビツトの各ワード中にはそのセグメントがアクセスされ
ているか否か、およびどのようにしてアクセスされてい
るかを示す2ビツトが存在する。これらセグメントの1
つがアドレス翻訳に使用されているときは常に、アクセ
ス・ビツト(ビツト7)はメモリの相応するセグメント
が少くとも1回使用されていることを示すインデイケー
シヨンとしてページ・デイクリプタ・レジスタ中にセツ
トされている。またメモリの相応するセグメントが書き
込まれていることを示すのに使用されるビツトPDR(ビ
ツト6)が存在する。
7およびAA16上のビツト1101を検出すると、モード・マ
ツプ110はラインEN38L上に0を加え、それによつてメモ
リ・マネージメント・コントローラ126を介してメモリ
・マネージメントRAM106へのアクセスが可能となる。モ
ード・マツプ110はまた導線VML上に1を加え、これによ
り先に議論した如く外部アクセスがデイスエイブルされ
る。導線VML上のこの1はまたアドレス・マルチプレク
サ104をして、メモリ・マネージメント・RAMがアドレス
・ラインAA13〜AA17、ラインK18(これは後で述べるよ
うにモード・マツプから来ている)およびラインAA19に
よつてバーチヤル・メモリから物理的メモリへの翻訳期
間中に通常実行されるようにアクセスされる代りに、ア
ドレス・ビツトAA2〜AA9がメモリ・マネージメントRAM
にアクセスすることを許容する。アドレスをこのように
多重化することによりメモリ・マネージメントRAMへの
逐次アクセスが可能となる。メモリ・マネージメントRA
M106は2つの全く異なる仕方でアクセスされることに注
意されたい。メモリ・マネージメント・RAMはバーチヤ
ル・アドレスから物理的アドレスへの翻訳期間中アドレ
スを計算し、アクセス許可をチエツクするのに必要な情
報を見出すためにアクセスされる。メモリ・マネージメ
ントRAMはまた該RAMの初期状態設定および更新期間中核
プログラムにより直接アクセスされる。メモリ・マネー
ジメント制御回路126はメモリ・マネージメントRAMをい
ずれの型のアクセスに対しても動作するようにする。タ
イミングおよびデータ幅(翻訳の場合には32ビツト、個
別アクセスの場合には16ビツト)の両方を調整する必要
がある。これらバツフアに対するタイミングおよび制御
信号はメモリ・マネージメント制御回路126によつて制
御されている。更に、メモリ・マネージメントRAMの32
ビツトの各ワード中にはそのセグメントがアクセスされ
ているか否か、およびどのようにしてアクセスされてい
るかを示す2ビツトが存在する。これらセグメントの1
つがアドレス翻訳に使用されているときは常に、アクセ
ス・ビツト(ビツト7)はメモリの相応するセグメント
が少くとも1回使用されていることを示すインデイケー
シヨンとしてページ・デイクリプタ・レジスタ中にセツ
トされている。またメモリの相応するセグメントが書き
込まれていることを示すのに使用されるビツトPDR(ビ
ツト6)が存在する。
これを実現するためにはメモリ・マネージメントRAMは
アドレス翻訳期間中読み出して、変更を加えて、再び書
き込みを行う必要がある。これを行うための1時的デー
タはアクセス・ラツチ116中に記憶されている。このよ
うな仕方で修正されるのはメモリ・マネージメントRAM
の下位バイトのみであるで8ビツトのみをラツチすれば
良いことに注意されたい。この操作を行うタイミングは
またメモリ・マネージメント制御回路126により制御さ
れている。
アドレス翻訳期間中読み出して、変更を加えて、再び書
き込みを行う必要がある。これを行うための1時的デー
タはアクセス・ラツチ116中に記憶されている。このよ
うな仕方で修正されるのはメモリ・マネージメントRAM
の下位バイトのみであるで8ビツトのみをラツチすれば
良いことに注意されたい。この操作を行うタイミングは
またメモリ・マネージメント制御回路126により制御さ
れている。
オペレーテイング・システムが開始される前にインター
バル・タイマ113、インタラプト・コントローラ114およ
びUSART(図示せず)は初期設定されねばならない。こ
れらデバイスはアドレス・ラインAA19、AA18、AA17およ
びAA16上にビツト1110を加えることにより選択される。
モード・マツプはこれらビツトを取り出し、I/Oデバイ
スへのアクセスを許容する。これらI/Oデバイスはモー
ド・フラグが核モード状態にあるときにのみアクセス可
能である。すべてのI/Oデバイスおよびメモリ・マネー
ジメントRAMが初期化されると、オペレーテイング・シ
ステムが実行を開始し、制御はユーザ・プログラムに移
行される。この制御の移行の詳細は以下で議論する。
バル・タイマ113、インタラプト・コントローラ114およ
びUSART(図示せず)は初期設定されねばならない。こ
れらデバイスはアドレス・ラインAA19、AA18、AA17およ
びAA16上にビツト1110を加えることにより選択される。
モード・マツプはこれらビツトを取り出し、I/Oデバイ
スへのアクセスを許容する。これらI/Oデバイスはモー
ド・フラグが核モード状態にあるときにのみアクセス可
能である。すべてのI/Oデバイスおよびメモリ・マネー
ジメントRAMが初期化されると、オペレーテイング・シ
ステムが実行を開始し、制御はユーザ・プログラムに移
行される。この制御の移行の詳細は以下で議論する。
現在システムはユーザ・モードにあり、1組のビツトが
CPU101から第8図に示すアドレス・バス上に提供されて
いるものとする。ビツトAA16〜AA19はメモリ・マネージ
メント制御回路106内のマツプの1つを選択するために
第5図に示した仕方でモード・マツプ110により使用さ
れる。
CPU101から第8図に示すアドレス・バス上に提供されて
いるものとする。ビツトAA16〜AA19はメモリ・マネージ
メント制御回路106内のマツプの1つを選択するために
第5図に示した仕方でモード・マツプ110により使用さ
れる。
モード・フラグはユーザ・モードにセツトされているの
で、モード・マツプはユーザ・モードおよび核モードの
両方で使用されるK0およびU0、U1、U2ならびにU3なるユ
ーザ・マツプへのアクセスのみを許容する。他のマツプ
またはデバイスの1つが選択されると、信号USRGE(第
8図)がモード・マツプ110により発生される。USRGE信
号はアドレス・マルチプレクサおよびブロツク・ゲート
回路104に加えられ、該回路104はBLOKH信号を発生す
る。BLOKH信号はメモリおよびコントローラ選択デコー
ダ117からのエネイブル信号を抑圧することによりアク
セスを阻止する。BLOKH信号はまたインタラプト・コン
トローラ114にCPU101に対するインタラプトを発生させ
る。CPU101はインタラプト・アクノリジ信号で以つてイ
ンタラプトに応動する。このインタラプト・アクノリジ
信号はモード・フラグをユーザ・モードから核モードへ
変化させる。それと同時にCPU101はインタラプト・サー
ビス・ルーチン入り、誤りを処理し、ユーザに正しくな
いアクセスが行なわれたことを知らせ、制御を他のユー
ザ・プログラムに渡す。
で、モード・マツプはユーザ・モードおよび核モードの
両方で使用されるK0およびU0、U1、U2ならびにU3なるユ
ーザ・マツプへのアクセスのみを許容する。他のマツプ
またはデバイスの1つが選択されると、信号USRGE(第
8図)がモード・マツプ110により発生される。USRGE信
号はアドレス・マルチプレクサおよびブロツク・ゲート
回路104に加えられ、該回路104はBLOKH信号を発生す
る。BLOKH信号はメモリおよびコントローラ選択デコー
ダ117からのエネイブル信号を抑圧することによりアク
セスを阻止する。BLOKH信号はまたインタラプト・コン
トローラ114にCPU101に対するインタラプトを発生させ
る。CPU101はインタラプト・アクノリジ信号で以つてイ
ンタラプトに応動する。このインタラプト・アクノリジ
信号はモード・フラグをユーザ・モードから核モードへ
変化させる。それと同時にCPU101はインタラプト・サー
ビス・ルーチン入り、誤りを処理し、ユーザに正しくな
いアクセスが行なわれたことを知らせ、制御を他のユー
ザ・プログラムに渡す。
ここで適切なメモリ・マツプが選択されているものと仮
定すると、16ページのアドレス・レジスタ(PAR)ビツ
トが、次のメモリ・アクセスが行なわれるメイン・メモ
リ内の正確な物理的ロケーシヨンを決定するのに使用さ
れる。第4図はK0中の典型的なメモリ・マツプを示して
おり、多数の他の同様なマツプが構成される。これは第
7図に示すようにアドレス・バスからのビツトAA12〜AA
6を16ビツト加算器109に提供することにより実行され
る。これらビツトは選択されたモード・マツプからのPA
Rのビツト6〜0と加算される。加算されたビツトA21〜
A6とプロセツサ101からのアドレス・ビツト5〜0より
成る22ビツトの物理的アドレス(A0〜A21)はシステム
・アドレス・バスを介してシステム・メモリおよびコン
トローラ・ボードに提供される。
定すると、16ページのアドレス・レジスタ(PAR)ビツ
トが、次のメモリ・アクセスが行なわれるメイン・メモ
リ内の正確な物理的ロケーシヨンを決定するのに使用さ
れる。第4図はK0中の典型的なメモリ・マツプを示して
おり、多数の他の同様なマツプが構成される。これは第
7図に示すようにアドレス・バスからのビツトAA12〜AA
6を16ビツト加算器109に提供することにより実行され
る。これらビツトは選択されたモード・マツプからのPA
Rのビツト6〜0と加算される。加算されたビツトA21〜
A6とプロセツサ101からのアドレス・ビツト5〜0より
成る22ビツトの物理的アドレス(A0〜A21)はシステム
・アドレス・バスを介してシステム・メモリおよびコン
トローラ・ボードに提供される。
第4図に示すように、メモリ・マネージメントRAMの各
ワードは16ビツトのページ・デスクリプタ・レジスタ
(PDR)ワードを含んでおり、その各ビツトは第6図に
示すチヤートに従つて実行される機能を制御するのに使
用される。
ワードは16ビツトのページ・デスクリプタ・レジスタ
(PDR)ワードを含んでおり、その各ビツトは第6図に
示すチヤートに従つて実行される機能を制御するのに使
用される。
ページ・デスクリプタ・レジスタは試みられたメモリ・
アクセスと比較され、そのメモリ・アクセスが妥当なも
のであるかどうかが決定される。この比較は第9図の不
正アクセス・インタラプト107と名付けられたセクシヨ
ンで実行される。メモリ・アクセスが読み出し操作であ
るとすると、不正アクセス・インタラプト・セクシヨン
は読み出し許容がページ・デスクリプタ・レジスタ上に
存在するかどうかがチエツクされる。同様にメモリ・ア
クセスが書き込み操作であるとすると、書き込み許可が
チエツクされる。読み出し許可および書き込み許可のチ
エツクに加えて、メモリ・アクセスのアドレスはページ
・デスクリプタ・レジスタ中のページ長フイールドと比
較され、ページ・デスクリプタ・レジスタ中に割当てら
れたメモリのレンジ内にあるかどうかがチエツクされ
る。もし何らかのエラーが検出されると、不正アクセス
・インタラプト・セクシヨン107から信号ZZが発生され
る。
アクセスと比較され、そのメモリ・アクセスが妥当なも
のであるかどうかが決定される。この比較は第9図の不
正アクセス・インタラプト107と名付けられたセクシヨ
ンで実行される。メモリ・アクセスが読み出し操作であ
るとすると、不正アクセス・インタラプト・セクシヨン
は読み出し許容がページ・デスクリプタ・レジスタ上に
存在するかどうかがチエツクされる。同様にメモリ・ア
クセスが書き込み操作であるとすると、書き込み許可が
チエツクされる。読み出し許可および書き込み許可のチ
エツクに加えて、メモリ・アクセスのアドレスはページ
・デスクリプタ・レジスタ中のページ長フイールドと比
較され、ページ・デスクリプタ・レジスタ中に割当てら
れたメモリのレンジ内にあるかどうかがチエツクされ
る。もし何らかのエラーが検出されると、不正アクセス
・インタラプト・セクシヨン107から信号ZZが発生され
る。
信号ZZはアドレス・マルチプレクサおよびブロツク・ゲ
ート回路104に加えられ、該回路104はZZ信号を受信する
と、該回路がモード・マツプ110からUSRGE信号を受信し
た場合に関する先の例で述べたと同様にBLOKH信号を発
生する。BLOKH信号はボード・デコーダ117をしてボード
・エネイブル信号を抑圧させ、それによつてメモリ・ア
クセスを行うことを停止させると共にインタラプト・コ
ントローラ114に不正アクセス・インタラプト信号を加
え、それによつてCPU114をインタラプトする。
ート回路104に加えられ、該回路104はZZ信号を受信する
と、該回路がモード・マツプ110からUSRGE信号を受信し
た場合に関する先の例で述べたと同様にBLOKH信号を発
生する。BLOKH信号はボード・デコーダ117をしてボード
・エネイブル信号を抑圧させ、それによつてメモリ・ア
クセスを行うことを停止させると共にインタラプト・コ
ントローラ114に不正アクセス・インタラプト信号を加
え、それによつてCPU114をインタラプトする。
前と同様、CPU101はインタラプト・アクノリジ信号に応
動し、モード・フラグをユーザ・モードから核モードに
変化させると同時にCPUはインタラプト・サービス・ル
ーチンに入り、それによつて適当な動作を生じさせると
共に制御を他のユーザ・プログラムに戻す。
動し、モード・フラグをユーザ・モードから核モードに
変化させると同時にCPUはインタラプト・サービス・ル
ーチンに入り、それによつて適当な動作を生じさせると
共に制御を他のユーザ・プログラムに戻す。
制御が他のユーザ・プログラムに戻される前に、オペレ
ーテイング・システムはモード・フラグをユーザ・モー
ドに戻さねばならない。これはアドレス・ラインAA19、
AA18、AA17およびAA16にビツト1100を加え、新らしいユ
ーザ・プログラムのバーチヤル・アドレスを残りのアド
レス・ライン上に加えることにより実行される。モード
・マツプは1100パターン(第5図)を検出し、モード・
フラグをユーザ・モードに切換える。モード・フラグが
ユーザ・モードにある場合には、インタラプト・コント
ローラ114に対するインタラプト信号はインタラプト・
アクノリジに関して先に述べたと同様にモード・フラグ
をユーザ・モードから核モードに切換え、CPUはインタ
ラプト・サービス・ルーチンに入る。インタラプトがア
クセス・エラーまたはメモリ・パリテイ・エラーによつ
て生じた場合には、そのユーザのプログラムを終了させ
たり、異なるユーザ・プログラムを実行させるというよ
うな適当な動作が実行される。
ーテイング・システムはモード・フラグをユーザ・モー
ドに戻さねばならない。これはアドレス・ラインAA19、
AA18、AA17およびAA16にビツト1100を加え、新らしいユ
ーザ・プログラムのバーチヤル・アドレスを残りのアド
レス・ライン上に加えることにより実行される。モード
・マツプは1100パターン(第5図)を検出し、モード・
フラグをユーザ・モードに切換える。モード・フラグが
ユーザ・モードにある場合には、インタラプト・コント
ローラ114に対するインタラプト信号はインタラプト・
アクノリジに関して先に述べたと同様にモード・フラグ
をユーザ・モードから核モードに切換え、CPUはインタ
ラプト・サービス・ルーチンに入る。インタラプトがア
クセス・エラーまたはメモリ・パリテイ・エラーによつ
て生じた場合には、そのユーザのプログラムを終了させ
たり、異なるユーザ・プログラムを実行させるというよ
うな適当な動作が実行される。
ほとんどのインタラプトはエラー状態によるものではな
く、システムの平常動作の一部を成している。例えば、
インタバル・タイマ113はプロセッサを1/60秒毎に周期
的にインタラプトする。このインタラプトは時刻に追尾
するために使用されると共にオペレーテイング・システ
ムによつてすべてのユーザ・プログラムの状態をチエツ
クし、ユーザ当りのCPU使用状況に基づいて1人のユー
ザから他のユーザへの切換えが行なわれる。
く、システムの平常動作の一部を成している。例えば、
インタバル・タイマ113はプロセッサを1/60秒毎に周期
的にインタラプトする。このインタラプトは時刻に追尾
するために使用されると共にオペレーテイング・システ
ムによつてすべてのユーザ・プログラムの状態をチエツ
クし、ユーザ当りのCPU使用状況に基づいて1人のユー
ザから他のユーザへの切換えが行なわれる。
システムの他の部分からプロセツサに加えられている2
本のインタラプト・ラインがまた存在する。一方はLINT
と呼ばれるプライオリテイの低いインタラプトであり、
他方はINTと呼ばれるプライオリテイの高いインタラプ
トである。これらインタラプト・ラインはデイスク・コ
ントローラを介してのシステム・デイスク、端末コント
ローラを介してのユーザ端末、またはライン・コントロ
ーラを介しての他のプロセツサへの通信の如き外部入出
力デバイスにより利用されている。これらコントローラ
は第1図に示されている。
本のインタラプト・ラインがまた存在する。一方はLINT
と呼ばれるプライオリテイの低いインタラプトであり、
他方はINTと呼ばれるプライオリテイの高いインタラプ
トである。これらインタラプト・ラインはデイスク・コ
ントローラを介してのシステム・デイスク、端末コント
ローラを介してのユーザ端末、またはライン・コントロ
ーラを介しての他のプロセツサへの通信の如き外部入出
力デバイスにより利用されている。これらコントローラ
は第1図に示されている。
これらインタラプトの1つを受信すると、インタラプト
・コントローラはインタラプト信号をCPUに送信し、そ
れによつてCPUはインタラプト・アクノリジで応動し、
該インタラプト・アクノリジはモード・フラグをユーザ
・モードから核モードへ変化させ、次いでCPUは適当な
サービス・ルーチンに入る。入出力デバイスからのイン
タラプトの場合、CPUは核モードにある場合要求を処理
し、次いでCPUの利用状況および他の要因に基づいて制
御をユーザ・プログラムまたは異なるユーザ・プログラ
ムに戻す。
・コントローラはインタラプト信号をCPUに送信し、そ
れによつてCPUはインタラプト・アクノリジで応動し、
該インタラプト・アクノリジはモード・フラグをユーザ
・モードから核モードへ変化させ、次いでCPUは適当な
サービス・ルーチンに入る。入出力デバイスからのイン
タラプトの場合、CPUは核モードにある場合要求を処理
し、次いでCPUの利用状況および他の要因に基づいて制
御をユーザ・プログラムまたは異なるユーザ・プログラ
ムに戻す。
モード・フラグが核モードにあるときに入出力インタラ
プトが生じると、前と同様なインタラプト・ルーチンに
対するベクトルが生じる。この場合にはモード・フラグ
の状態を変化させ必要はない。しかしモード・フラグが
核モードにあるときにアクセス・エラーが生じると、オ
ペレーテイング・システムによつてアクセス・エラーが
生じることはないとされているので重大な問題が生じ
る。この場合には特別なパニツク・サービス・ルーチン
に入り、該ルーチンはシステムを停止させサービスを待
機させるか、またはオペレーテイング・システムの動作
を再開させることになる。
プトが生じると、前と同様なインタラプト・ルーチンに
対するベクトルが生じる。この場合にはモード・フラグ
の状態を変化させ必要はない。しかしモード・フラグが
核モードにあるときにアクセス・エラーが生じると、オ
ペレーテイング・システムによつてアクセス・エラーが
生じることはないとされているので重大な問題が生じ
る。この場合には特別なパニツク・サービス・ルーチン
に入り、該ルーチンはシステムを停止させサービスを待
機させるか、またはオペレーテイング・システムの動作
を再開させることになる。
ユーザがデイスクへの書き込み(この機能は核モードか
らのみアクセス可能な機能として予め指定されている)
の如き機能を実行したい場合、ユーザは高レベル・シス
テム・コールによつて適当な核プログラムをコールす
る。
らのみアクセス可能な機能として予め指定されている)
の如き機能を実行したい場合、ユーザは高レベル・シス
テム・コールによつて適当な核プログラムをコールす
る。
ユーザ・プログラムは要求されたシステム・コールの型
を表わす特定の番号を記憶することによりシステム・コ
ールを実行する。この番号はユーザ・スタツクと呼ばれ
るメモリ・エリア中に記憶されている。次にユーザはIN
Tインストラクシヨンを実行し、それによつてインタラ
プト・オフ・ビツトが立つ。これは不正アクセス・イン
タラプト・ユニツト107により前述の如く検出される。
インタラプト・ユニツト107はノン・マスカブル・イン
タラプトをCPU101に送信し、それによつてCPUはノンマ
スカブル・インタラプト・サービス・ルーチンの先頭番
地にジヤンプし、ユーザ・スタツクを調べることにより
どのシステム・コールが要求されたかを知り、その要求
を実行し、制御をユーザ・プログラムに戻す。
を表わす特定の番号を記憶することによりシステム・コ
ールを実行する。この番号はユーザ・スタツクと呼ばれ
るメモリ・エリア中に記憶されている。次にユーザはIN
Tインストラクシヨンを実行し、それによつてインタラ
プト・オフ・ビツトが立つ。これは不正アクセス・イン
タラプト・ユニツト107により前述の如く検出される。
インタラプト・ユニツト107はノン・マスカブル・イン
タラプトをCPU101に送信し、それによつてCPUはノンマ
スカブル・インタラプト・サービス・ルーチンの先頭番
地にジヤンプし、ユーザ・スタツクを調べることにより
どのシステム・コールが要求されたかを知り、その要求
を実行し、制御をユーザ・プログラムに戻す。
マイクロプロセツサからのステータス導線はステータス
・デコーダ103によつてデコードされ、ホールトおよび
インタラプト・オフ・ステータス状態はメモリ・マネー
ジメント制御装置106のモード・ステータス・ビツトと
比較される。例えばシステムがユーザ・モード状態にあ
る期間中に“インタラプト・オフ”ビツトが存在する
と、この状態は不正アクセス・インタラプト・ユニツト
107により検出され、信号がマイクロプロセツサ101のノ
ンマスカブル・インタラプト(NMI)入力に加えられ
る。このNMIはマイクロプロセツサを特定のアドレス
(これはNMIサービス・プログラムの開始アドレスであ
る)にジヤンプさせる。NIMが加えられた後、NMIサービ
ス・プログラムの第1のインストラクシヨンをフエツチ
する前にモード・フラグはユーザ・モードから核モード
へ切換えられる。これにより核メモリ・マツプによつて
のみアクセス可能なメモリ・エリア中に存在するプログ
ラムであるNMIサービス・プログラムへのアクセスが可
能となる。モード・マツプ110はモード・フラグが核モ
ードにセツトされているとき核メモリ・マツプへのアク
セスのみを許容する。
・デコーダ103によつてデコードされ、ホールトおよび
インタラプト・オフ・ステータス状態はメモリ・マネー
ジメント制御装置106のモード・ステータス・ビツトと
比較される。例えばシステムがユーザ・モード状態にあ
る期間中に“インタラプト・オフ”ビツトが存在する
と、この状態は不正アクセス・インタラプト・ユニツト
107により検出され、信号がマイクロプロセツサ101のノ
ンマスカブル・インタラプト(NMI)入力に加えられ
る。このNMIはマイクロプロセツサを特定のアドレス
(これはNMIサービス・プログラムの開始アドレスであ
る)にジヤンプさせる。NIMが加えられた後、NMIサービ
ス・プログラムの第1のインストラクシヨンをフエツチ
する前にモード・フラグはユーザ・モードから核モード
へ切換えられる。これにより核メモリ・マツプによつて
のみアクセス可能なメモリ・エリア中に存在するプログ
ラムであるNMIサービス・プログラムへのアクセスが可
能となる。モード・マツプ110はモード・フラグが核モ
ードにセツトされているとき核メモリ・マツプへのアク
セスのみを許容する。
次にNMIサービス・プログラムはオフとされているイン
タラプトの原因を決定する。インタラプトの原因は2つ
のクラス、即ちシステム・コールと不適正なインタラプ
ト・マスクに分類される。システム・コールの場合、ユ
ーザ・プログラムはオペレーテイング・システムによつ
て動作が実行されることを要求しており、オペレーテイ
ング・システムはインタラプトを意図的にオフとするこ
とによりそれを認知する。不適正なインタラプト・マス
クの場合には、ユーザ・プログラムは適当なシステム・
コールを実行することなしにインタラプトをオフとす
る。NMIサービス・プログラムがインタラプト・マスク
の原因を決定した後、該プログラムはもし存在する場合
には要求に対するサービスを提供し、インタラプトをオ
ン状態に戻すオペレーテイング・システム中の適当なハ
ンドリング・ルーチンにブランチする。
タラプトの原因を決定する。インタラプトの原因は2つ
のクラス、即ちシステム・コールと不適正なインタラプ
ト・マスクに分類される。システム・コールの場合、ユ
ーザ・プログラムはオペレーテイング・システムによつ
て動作が実行されることを要求しており、オペレーテイ
ング・システムはインタラプトを意図的にオフとするこ
とによりそれを認知する。不適正なインタラプト・マス
クの場合には、ユーザ・プログラムは適当なシステム・
コールを実行することなしにインタラプトをオフとす
る。NMIサービス・プログラムがインタラプト・マスク
の原因を決定した後、該プログラムはもし存在する場合
には要求に対するサービスを提供し、インタラプトをオ
ン状態に戻すオペレーテイング・システム中の適当なハ
ンドリング・ルーチンにブランチする。
システムはメモリ・マネージメント制御装置126中に12
の記憶場所を有していると共にシステムはユーザ・モー
ドおよび核モードを制御するステータス・フラグを有し
ているので、核モード状態にあるときにはモード・マツ
プがユーザ・データの記憶されている記憶場所を指示す
ることが可能なことに注意されたい。これにより核モー
ドのプログラムは、メイン・メモリからメモリ・マネー
ジメントRAMを再ロードしたり、従来のシステムで使用
されているような特殊なインストラクシヨンを用いるこ
となく必要な任意のデータにアクセスすることが出来
る。
の記憶場所を有していると共にシステムはユーザ・モー
ドおよび核モードを制御するステータス・フラグを有し
ているので、核モード状態にあるときにはモード・マツ
プがユーザ・データの記憶されている記憶場所を指示す
ることが可能なことに注意されたい。これにより核モー
ドのプログラムは、メイン・メモリからメモリ・マネー
ジメントRAMを再ロードしたり、従来のシステムで使用
されているような特殊なインストラクシヨンを用いるこ
となく必要な任意のデータにアクセスすることが出来
る。
以下の記述はその機能を第8および9図と関連して述べ
た種々の回路ブロツクの説明であり、これらは本発明の
一実施例であるが、他の実現法ももちろん可能である。
た種々の回路ブロツクの説明であり、これらは本発明の
一実施例であるが、他の実現法ももちろん可能である。
ボードに対するメイン・クロツクは第12図に示すように
12.288または14.7456MHz(F)の発振器IC1により提供
されている。このクロツクはIC2(第14図)によりカウ
ント・ダウンされ、(クロツク/4)の速度の信号RCLKが
バツフアIC43を通して他のメモリ・ボードに加えられ、
(クロツク/8)なる速度の信号BCLKがインターバル・タ
イマIC34(第15図)およびUSART(図示せず)に加えら
れる。発振器IC1はシフト・レジスタを構成するよう結
線されたHEXフリツプ・フロツプIC5(第14図)にクロツ
クを加える。T1信号はマイクロプロセツサのアドレスを
ラツチするのに使用されるアドレス・ラツチ・エネーブ
ル信号ALEにクロツクが加味された信号である。信号T2
〜T5は信号T1を約60nsずつ逐次遅延させた信号である。
メイン・クロツクはまたクロツク発生器およびドライバ
・チツプIC3(第14図)の外部周波数信号源として作用
する。該回路IC3は周波数を1/3に逓降し、F/3、1/3デユ
ーテイ・サイクルのクロツクをマイクロプロセツサIC11
およびバス・コントローラIC16に加える。
12.288または14.7456MHz(F)の発振器IC1により提供
されている。このクロツクはIC2(第14図)によりカウ
ント・ダウンされ、(クロツク/4)の速度の信号RCLKが
バツフアIC43を通して他のメモリ・ボードに加えられ、
(クロツク/8)なる速度の信号BCLKがインターバル・タ
イマIC34(第15図)およびUSART(図示せず)に加えら
れる。発振器IC1はシフト・レジスタを構成するよう結
線されたHEXフリツプ・フロツプIC5(第14図)にクロツ
クを加える。T1信号はマイクロプロセツサのアドレスを
ラツチするのに使用されるアドレス・ラツチ・エネーブ
ル信号ALEにクロツクが加味された信号である。信号T2
〜T5は信号T1を約60nsずつ逐次遅延させた信号である。
メイン・クロツクはまたクロツク発生器およびドライバ
・チツプIC3(第14図)の外部周波数信号源として作用
する。該回路IC3は周波数を1/3に逓降し、F/3、1/3デユ
ーテイ・サイクルのクロツクをマイクロプロセツサIC11
およびバス・コントローラIC16に加える。
CPUのリセツト信号およびレデイ同期信号はIC3により供
給される。このリセツト信号発生器はシユミツト・トリ
ガ入力(RES)およびリセツト・タイミングを発生する
同期フリツプ・フロツプを有している。入力信号はリセ
ツト=0とするかまたは電源を投入することにより加え
られる。リセツト信号はリセツト論理回路IC3から出て
来るクロツク信号の立下りエツジに同期している。リセ
ツト論理回路IC3(第14図)のレデイ出力は同期化され
たRDY1信号であるアクテイブ・ハイ信号である。入力は
プロセツサのクロツクとは非同期的に生起するので、所
望のセツト・アツプ時間を満足するために該入力をプロ
セツサに加える前に同期化することが必要である。リセ
ツト論理回路IC3はこの機能を実行すると共にレデイ信
号をクリアする前に要求された保持時間が生起すること
を保証する。
給される。このリセツト信号発生器はシユミツト・トリ
ガ入力(RES)およびリセツト・タイミングを発生する
同期フリツプ・フロツプを有している。入力信号はリセ
ツト=0とするかまたは電源を投入することにより加え
られる。リセツト信号はリセツト論理回路IC3から出て
来るクロツク信号の立下りエツジに同期している。リセ
ツト論理回路IC3(第14図)のレデイ出力は同期化され
たRDY1信号であるアクテイブ・ハイ信号である。入力は
プロセツサのクロツクとは非同期的に生起するので、所
望のセツト・アツプ時間を満足するために該入力をプロ
セツサに加える前に同期化することが必要である。リセ
ツト論理回路IC3はこの機能を実行すると共にレデイ信
号をクリアする前に要求された保持時間が生起すること
を保証する。
マイクロプロセツサIC11は16ビツトのアドレス/データ
・バスと、付加的な4ビツトのアドレス・バスと、3ビ
ツトのステータス・バスを有している。IC11からのステ
ータス・ビツトS0、S1およびS2はバス・コントローラIC
16によりラツチされてデコードされ、アドレス・ラツチ
・エネーブルALE、メモリ読み出しコマンドMRDC、アド
バンスト・メモリ書き込みコマンドAMWC、インタラプト
・アクノリジINTA、データ送受信DT/R等の制御信号を発
生する。
・バスと、付加的な4ビツトのアドレス・バスと、3ビ
ツトのステータス・バスを有している。IC11からのステ
ータス・ビツトS0、S1およびS2はバス・コントローラIC
16によりラツチされてデコードされ、アドレス・ラツチ
・エネーブルALE、メモリ読み出しコマンドMRDC、アド
バンスト・メモリ書き込みコマンドAMWC、インタラプト
・アクノリジINTA、データ送受信DT/R等の制御信号を発
生する。
マイクロプロセツサからの16本のアドレス/データ・ビ
ツトは第17および19図に示す2対の双方向性バス・ドラ
イバに加えられる。その一方の対IC63およびIC64(第17
図)はバツクプレーン上の16ビツトのメイン・データ・
バスに接続されている。他方の対IC15およびIC17(第19
図)は内部データ・バスID0〜15に接続されている。伝
送の方向はDT/Rにより制御されている。この導線上の高
レベルは送信(メモリへの書き込み)を表わし、低レベ
ルは受信、即ち読み出しを表わす。これら2対のバス・
ドライバは相補信号によりエネイブルされる出力を有し
ている。メイン・データ・バスからアドレス/データ
(AD)バスへの接続はLS2=VMH=DEN=1のときエネイ
ブルされる。
ツトは第17および19図に示す2対の双方向性バス・ドラ
イバに加えられる。その一方の対IC63およびIC64(第17
図)はバツクプレーン上の16ビツトのメイン・データ・
バスに接続されている。他方の対IC15およびIC17(第19
図)は内部データ・バスID0〜15に接続されている。伝
送の方向はDT/Rにより制御されている。この導線上の高
レベルは送信(メモリへの書き込み)を表わし、低レベ
ルは受信、即ち読み出しを表わす。これら2対のバス・
ドライバは相補信号によりエネイブルされる出力を有し
ている。メイン・データ・バスからアドレス/データ
(AD)バスへの接続はLS2=VMH=DEN=1のときエネイ
ブルされる。
マシン・サイクルの第1のクロツク期間中、ALE信号はI
C16(第14図)によつて発生され、20のアドレス・ビツ
ト、バス・エネイブル・ビツト(高レベル)、および3
つのステータス・ビツトをIC8、IC12およびIC14(第11
図)中にラツチする。第20図に示すように、ALEパルス
はまたフリツプ・フロツプIC44AおよびB、IC62Aのクロ
ツクとして加えられている。第22図に示すように、IC14
の3つのステータス出力LS0〜2はIC45によつてデコー
ドされ、ホールト(HALT)、インストラクシヨン・フエ
ツチ(INSTRF)、およびメモリへのデータ書き込み(WR
D)を指示する。IC11(第14図)の高レベルのバス・エ
ネイブル出力(BHEN)はアドレス・ビツトA0と共にメモ
リ・ボードによつて読み出すか又は書き込むべきメモリ
・ワードの適当なバイトを選択するのに使用される。
C16(第14図)によつて発生され、20のアドレス・ビツ
ト、バス・エネイブル・ビツト(高レベル)、および3
つのステータス・ビツトをIC8、IC12およびIC14(第11
図)中にラツチする。第20図に示すように、ALEパルス
はまたフリツプ・フロツプIC44AおよびB、IC62Aのクロ
ツクとして加えられている。第22図に示すように、IC14
の3つのステータス出力LS0〜2はIC45によつてデコー
ドされ、ホールト(HALT)、インストラクシヨン・フエ
ツチ(INSTRF)、およびメモリへのデータ書き込み(WR
D)を指示する。IC11(第14図)の高レベルのバス・エ
ネイブル出力(BHEN)はアドレス・ビツトA0と共にメモ
リ・ボードによつて読み出すか又は書き込むべきメモリ
・ワードの適当なバイトを選択するのに使用される。
20ビツトのアドレス・ラインAA0〜19の内(AA1〜AA12)
は第24図に示すように2つの電源投入時に動作する4k×
8なるROM IC10およびIC13をアドレス指定し、メモリ
・マネージメント回路に対する入力を提供する。更に導
線AA16〜19はモード・マツプROM IC9(第23図)をアド
レス指定する。モード・マツプの内容は第25図に示され
ている。
は第24図に示すように2つの電源投入時に動作する4k×
8なるROM IC10およびIC13をアドレス指定し、メモリ
・マネージメント回路に対する入力を提供する。更に導
線AA16〜19はモード・マツプROM IC9(第23図)をアド
レス指定する。モード・マツプの内容は第25図に示され
ている。
メモリ・マネージメント回路は20ビツトのバーチヤル・
アドレス・ビツトを、メモリ・マツプド・デバイス、25
6×32のメモリ・マネージメントRAMおよび電源投入時に
動作するROMに対する22ビツト+付加的アドレスより成
る物理的アドレス空間にマツピングする。第26図に示す
256×32のRAMアレイIC19、IC22、IC25およびIC23はペー
ジ・アドレスとページ・デイスククリプタ情報を記憶し
ている。16のビツトSA16〜31はマイクロプロセツサのア
ドレス(AA6〜AA12)の7ビツトに加算され、次いでAA0
〜AA5と組み合わされて第7図に示すように22ビツトの
物理的アドレスA0〜A21が形成される。(これについて
は既に述べた。) 前述のアドレス発生は第27図に示すようにA6〜A12に対
しては加算器IC47、IC49、IC51およびIC55ならびにルツ
ク・アヘツド・キヤリイ発生器IC56により、導線A0〜A5
に対しては第13図のバツフアIC68により実行される。IC
47からのキヤリイ信号はアドレス空間を超えたことを指
示するのに使用される。ページ・デイスクリプタ情報SA
0〜15は第6図に示されている。これらビツトの使用法
については後で述べる。
アドレス・ビツトを、メモリ・マツプド・デバイス、25
6×32のメモリ・マネージメントRAMおよび電源投入時に
動作するROMに対する22ビツト+付加的アドレスより成
る物理的アドレス空間にマツピングする。第26図に示す
256×32のRAMアレイIC19、IC22、IC25およびIC23はペー
ジ・アドレスとページ・デイスククリプタ情報を記憶し
ている。16のビツトSA16〜31はマイクロプロセツサのア
ドレス(AA6〜AA12)の7ビツトに加算され、次いでAA0
〜AA5と組み合わされて第7図に示すように22ビツトの
物理的アドレスA0〜A21が形成される。(これについて
は既に述べた。) 前述のアドレス発生は第27図に示すようにA6〜A12に対
しては加算器IC47、IC49、IC51およびIC55ならびにルツ
ク・アヘツド・キヤリイ発生器IC56により、導線A0〜A5
に対しては第13図のバツフアIC68により実行される。IC
47からのキヤリイ信号はアドレス空間を超えたことを指
示するのに使用される。ページ・デイスクリプタ情報SA
0〜15は第6図に示されている。これらビツトの使用法
については後で述べる。
アドレス・ビツトの上位6ビツトはまたこれらユニツト
上に別個のデコーデイング回路を設けることを回避する
ための種々のメモリ・コントローラおよび共通コントロ
ーラのメモリ選択信号を発生するのに使用される。
上に別個のデコーデイング回路を設けることを回避する
ための種々のメモリ・コントローラおよび共通コントロ
ーラのメモリ選択信号を発生するのに使用される。
前述のエネイブル信号は制御信号がVML=0、BLOKH=
0、MRQD=1なるときにアドレス導線からデコーダIC3
3、48および50(第28図)によつて発生される。
0、MRQD=1なるときにアドレス導線からデコーダIC3
3、48および50(第28図)によつて発生される。
マイクロプロセツサからの上位の4ビツトAA19〜A16
(メモリ・マツプ)は第5図に示すと共に既に述べたよ
うに核モードからユーザ・モードにとび出し、メモリ・
マネージメントRAMにアクセスし、種々のデバイスにア
クセスする。
(メモリ・マツプ)は第5図に示すと共に既に述べたよ
うに核モードからユーザ・モードにとび出し、メモリ・
マネージメントRAMにアクセスし、種々のデバイスにア
クセスする。
モード・マツプROM IC9(第23図)はAA19〜AA16および
モード・フラグをデコードし、前述の機能を実行する制
御信号を発生する。導線AA16〜19およびPSUP(PSUP=1
は核モードである)はROMをアドレス指定する。出力信
号は以下のように使用される。
モード・フラグをデコードし、前述の機能を実行する制
御信号を発生する。導線AA16〜19およびPSUP(PSUP=1
は核モードである)はROMをアドレス指定する。出力信
号は以下のように使用される。
K18:メモリ・マネージメントRAMをアドレス指定し、ユ
ーザ・モードにおいてユーザ・ブロツクU0〜U3の多重マ
ツピングを行う USRGE:1はユーザのイリーガルな核マツプまたはデバイ
スへのアクセスを表わす。
ーザ・モードにおいてユーザ・ブロツクU0〜U3の多重マ
ツピングを行う USRGE:1はユーザのイリーガルな核マツプまたはデバイ
スへのアクセスを表わす。
EXSUPER:1は核モードからユーザ・モードへ脱出させ
る。
る。
VML:0はアドレス翻訳およびシステム・バス上のメモリ
・アクセスに相応する。
・アクセスに相応する。
SEL I/O:0はメモリ要求(MPQ=0)と共にI/O選択デコ
ーダIC36(第16図)をエネイブルし、それによつてUSAR
T、インターバル・タイマまたはインタラプト・コント
ローラを選択する。
ーダIC36(第16図)をエネイブルし、それによつてUSAR
T、インターバル・タイマまたはインタラプト・コント
ローラを選択する。
EN38L:0はメモリ・マネージメントRAMへの読み出しおよ
び書き込みアクセスを許容する。
び書き込みアクセスを許容する。
SELROM:0は電源投入時、システム・リセツト時またはプ
ログラムのアクセス時にROM IC10および13を選択す
る。
ログラムのアクセス時にROM IC10および13を選択す
る。
モード・マツプROM IC19が第23図に示されており、モ
ード・マツプROMの内容は第25図に示されており、モー
ド・フラグは第20図に示されている。電源投入時または
リセツト時には初期化信号INTは0となり、これにより
J−Kフリツプ・フロツプIC44A、IC44B、およびIC62A
はプリセツトされる。IC62AのQ出力はPSUP=1とする
が、これは核モードに相応する。モード・マツプROMが1
100アドレスをデコードしてユーザ・モードに切換わる
まで、IC44BおよびIC62AのJ入力の状態とは無関係にEX
SUPERは0に、フリツプ・フロツプのQ出力はすべて1
に留まる。モード・マツプが1100、即ち核モードを脱出
するアドレスをデコードすると、EXSUPERは1レベルと
なり、ALEの立下りエツジでIC44A中に加えられる。これ
によりIC44AのQ出力は0にセツトされ、IC44Bはクリア
され、IC62Aもクリアされる。クリアされたフリツプ・
フロツプの出力の組によりPSUPは0となるが、これはユ
ーザ・モードに相応する。回路はインタラプト・アクノ
リジ(INTA=0)またはノンマスカブル・インタラプト
(NMI=0)が核モードへの切換えを開始するまでユー
ザ・モードに留まる。
ード・マツプROMの内容は第25図に示されており、モー
ド・フラグは第20図に示されている。電源投入時または
リセツト時には初期化信号INTは0となり、これにより
J−Kフリツプ・フロツプIC44A、IC44B、およびIC62A
はプリセツトされる。IC62AのQ出力はPSUP=1とする
が、これは核モードに相応する。モード・マツプROMが1
100アドレスをデコードしてユーザ・モードに切換わる
まで、IC44BおよびIC62AのJ入力の状態とは無関係にEX
SUPERは0に、フリツプ・フロツプのQ出力はすべて1
に留まる。モード・マツプが1100、即ち核モードを脱出
するアドレスをデコードすると、EXSUPERは1レベルと
なり、ALEの立下りエツジでIC44A中に加えられる。これ
によりIC44AのQ出力は0にセツトされ、IC44Bはクリア
され、IC62Aもクリアされる。クリアされたフリツプ・
フロツプの出力の組によりPSUPは0となるが、これはユ
ーザ・モードに相応する。回路はインタラプト・アクノ
リジ(INTA=0)またはノンマスカブル・インタラプト
(NMI=0)が核モードへの切換えを開始するまでユー
ザ・モードに留まる。
NMIまたは標準インタラプトに対するインタラプト・シ
ーケンス期間中、プロセツサはスタツク・ポインタと呼
ばれるプロセツサ中の内部レジスタにより指定されたア
ドレスのシステム・メモリにデータを書き込む。ユーザ
・プログラムはスタツク・ポインタを完全に制御してい
るので、モード・フラグはインタラプト・シーケンス期
間中に生じる書き込みが核モード・アクセス権を有して
生起することを許容してはならない。従つて、ユーザ・
モードと核モードの間の切換えはインタラプト・シーケ
ンスの後ではあるが次のインストラクシヨン・フエツチ
・メモリ・アクセスより前に行なわれねばならない。
ーケンス期間中、プロセツサはスタツク・ポインタと呼
ばれるプロセツサ中の内部レジスタにより指定されたア
ドレスのシステム・メモリにデータを書き込む。ユーザ
・プログラムはスタツク・ポインタを完全に制御してい
るので、モード・フラグはインタラプト・シーケンス期
間中に生じる書き込みが核モード・アクセス権を有して
生起することを許容してはならない。従つて、ユーザ・
モードと核モードの間の切換えはインタラプト・シーケ
ンスの後ではあるが次のインストラクシヨン・フエツチ
・メモリ・アクセスより前に行なわれねばならない。
インタラプト・アクノリジ(INTA=0)信号はJKフリツ
プ・フロツプIC44Aをプリセツトする。これによりJKフ
リツプ・フロツプIC44Bからクリア信号が除去され、導
線44AQ上に1が送られ、それによつてオフとされている
インタラプトの検出がデイスエイブルされる。IC44Aを
プリセツトすることによりメモリ書き込み(WRD=0)
期間中を除いてPSUP=1とされる。メモリ書き込み(WR
D=0)期間中はPSUPはJKフリツプ・フロツプIC62Aによ
り制御されている。何故ならばIC44AのゲートIC30への
入力はWRD=0によつてIC27Bには加えられないからであ
る。
プ・フロツプIC44Aをプリセツトする。これによりJKフ
リツプ・フロツプIC44Bからクリア信号が除去され、導
線44AQ上に1が送られ、それによつてオフとされている
インタラプトの検出がデイスエイブルされる。IC44Aを
プリセツトすることによりメモリ書き込み(WRD=0)
期間中を除いてPSUP=1とされる。メモリ書き込み(WR
D=0)期間中はPSUPはJKフリツプ・フロツプIC62Aによ
り制御されている。何故ならばIC44AのゲートIC30への
入力はWRD=0によつてIC27Bには加えられないからであ
る。
IC44Bは最早IC44Aによつてクリアされないので、IC44B
はIC31(第22図)からの次にデコードされたインストラ
クシヨン・フエツチ(INSTRF=1)によつてセツトさ
れ、これはALEによりJ入力に加えられる。このインス
トラクシヨン・フエツチはインタラプト・シーケンスの
一部である。またインタラプト・シーケンス期間中、メ
モリ書き込みがユーザ・スタツクに対して実行される。
これらメモリ書き込みはIC45(第22図)(WRD=0)に
よつてデコードされ、PSUPはIC62のQ出力(これはこの
時点ではユーザ・モードを表わす0である)に追従す
る。これらメモリ書き込み期間中PSUP=0とすることに
よりシステムのセキユリテイが保護される。
はIC31(第22図)からの次にデコードされたインストラ
クシヨン・フエツチ(INSTRF=1)によつてセツトさ
れ、これはALEによりJ入力に加えられる。このインス
トラクシヨン・フエツチはインタラプト・シーケンスの
一部である。またインタラプト・シーケンス期間中、メ
モリ書き込みがユーザ・スタツクに対して実行される。
これらメモリ書き込みはIC45(第22図)(WRD=0)に
よつてデコードされ、PSUPはIC62のQ出力(これはこの
時点ではユーザ・モードを表わす0である)に追従す
る。これらメモリ書き込み期間中PSUP=0とすることに
よりシステムのセキユリテイが保護される。
IC44BがセツトされるとIC62Aからクリア信号が除去され
る。IC62Aは次のインストラクシヨン・フエツチ(INSTR
F=1)によりセツトされ、該インストラクシヨン・フ
エツチはALEによりそのJ入力に加えられる。このイン
ストラクシヨン・フエツチはインタラプト・シーケンス
の終了を知らせる。これは核モードのインタラプト・サ
ービスの第1のインストラクシヨンのフエツチである。
このインストラクシヨン・フエツチはメモリ書き込み
(WRD=1)ではなく、従つてIC44Aはセツトされている
のでPSUPは1である。それと同時にIC62Aはこのインス
トラクシヨン・フエツチによつてセツトされ、メモリに
書き込みを含むすべての更なるメモリ・アクセスは、モ
ード・マツプROMが1100をデコードし、それによつて前
述の如くモードをユーザ・モードに戻すまで、PSUPが1
なる状態で実行される。
る。IC62Aは次のインストラクシヨン・フエツチ(INSTR
F=1)によりセツトされ、該インストラクシヨン・フ
エツチはALEによりそのJ入力に加えられる。このイン
ストラクシヨン・フエツチはインタラプト・シーケンス
の終了を知らせる。これは核モードのインタラプト・サ
ービスの第1のインストラクシヨンのフエツチである。
このインストラクシヨン・フエツチはメモリ書き込み
(WRD=1)ではなく、従つてIC44Aはセツトされている
のでPSUPは1である。それと同時にIC62Aはこのインス
トラクシヨン・フエツチによつてセツトされ、メモリに
書き込みを含むすべての更なるメモリ・アクセスは、モ
ード・マツプROMが1100をデコードし、それによつて前
述の如くモードをユーザ・モードに戻すまで、PSUPが1
なる状態で実行される。
256×32のメモリ・マネージメントRAMアレイIC19、IC2
2、IC25およびIC28(第26図)は第29図に示す如きデー
タ・マルチプレクサIC18、IC21およびIC24によつて選択
された信号の組の1つによりアドレス指定される。メイ
ン・システム・メモリ・アクセス(VML=0)期間中、
信号AA13〜17、K18、AA19はアドレスを形成する。メモ
リ・マネージメント書き込みアクセスを含むあらゆる他
の時点においては信号AA2〜AA9がアドレスを形成する。
メモリ・マネージメントRAMをアドレス指定するこれら
下位のビツトはRAMが逐次アドレスでアドレス指定され
ることを許容する。
2、IC25およびIC28(第26図)は第29図に示す如きデー
タ・マルチプレクサIC18、IC21およびIC24によつて選択
された信号の組の1つによりアドレス指定される。メイ
ン・システム・メモリ・アクセス(VML=0)期間中、
信号AA13〜17、K18、AA19はアドレスを形成する。メモ
リ・マネージメント書き込みアクセスを含むあらゆる他
の時点においては信号AA2〜AA9がアドレスを形成する。
メモリ・マネージメントRAMをアドレス指定するこれら
下位のビツトはRAMが逐次アドレスでアドレス指定され
ることを許容する。
メイン・メモリ・アクセス期間中、EN38L=1であり、
デマルチプレクサIC33(第28)はデイスエイブルされて
いる。出力DENLおよびDENUは高レベルに保持され、メモ
リ・マネージメントRAM(MMRAM)の3/4への書き込みを
阻止する。信号DENUおよびDENLまたは双方向性バツフア
IC23、IC26、IC29およびIC32(第31図)をデイスエイブ
ルする。ここで該バツフアは内部データ・バスID0〜16
とMMRAMデータ・ラインSA0〜31を接続している。MMRAM
の上部に対する書き込み信号WUおよびMMRAMの第2の1/4
区画に対する書き込み信号WLはゲートIC30Aおよび30B
(第30図)により高レベルに保持されている。VML=0
なるとき、IC28(第26図)はT4の終了時点で書き込まれ
る。メモリ・アクセス期間中下位8ビツトを書き換える
ことの目的は、1ページのメモリがアクセスされている
ならばSA7=1を書き込み、1ページのメモリが書き込
まれているならSA6=1を書き込むことにある。他のビ
ツトは不変の状態で再書き込みされる。メモリ・アクセ
ス期間中、IC28のSA0〜5出力はT2のパルスの終了時点
で低レベルとなるEN373によつてIC20(第18図)中にラ
ツチされる。メモリがAMWC=0またはSA6=1(メモリ
への先行する書き込み)なる状態に書き込まれている
と、SA6X=1がラツチされる。1がまたSA7に対してラ
ツチされ、メモリ・アクセスを指示する。次にラツチさ
れたデータは書き込み(WX)およびチツプ・エネイブル
(CEX)信号の組合せによりIC28(第26図)中に書き込
まれる。VML=0なるときVX信号はT2である。CEX信号は
マルチプレクサIC6(第3図)によつて発生されたT1お
よびT4パルスの組合せである。他の3つのRAMCE38に対
するエネイブルは基本的にはT1によつて行なわれる。
デマルチプレクサIC33(第28)はデイスエイブルされて
いる。出力DENLおよびDENUは高レベルに保持され、メモ
リ・マネージメントRAM(MMRAM)の3/4への書き込みを
阻止する。信号DENUおよびDENLまたは双方向性バツフア
IC23、IC26、IC29およびIC32(第31図)をデイスエイブ
ルする。ここで該バツフアは内部データ・バスID0〜16
とMMRAMデータ・ラインSA0〜31を接続している。MMRAM
の上部に対する書き込み信号WUおよびMMRAMの第2の1/4
区画に対する書き込み信号WLはゲートIC30Aおよび30B
(第30図)により高レベルに保持されている。VML=0
なるとき、IC28(第26図)はT4の終了時点で書き込まれ
る。メモリ・アクセス期間中下位8ビツトを書き換える
ことの目的は、1ページのメモリがアクセスされている
ならばSA7=1を書き込み、1ページのメモリが書き込
まれているならSA6=1を書き込むことにある。他のビ
ツトは不変の状態で再書き込みされる。メモリ・アクセ
ス期間中、IC28のSA0〜5出力はT2のパルスの終了時点
で低レベルとなるEN373によつてIC20(第18図)中にラ
ツチされる。メモリがAMWC=0またはSA6=1(メモリ
への先行する書き込み)なる状態に書き込まれている
と、SA6X=1がラツチされる。1がまたSA7に対してラ
ツチされ、メモリ・アクセスを指示する。次にラツチさ
れたデータは書き込み(WX)およびチツプ・エネイブル
(CEX)信号の組合せによりIC28(第26図)中に書き込
まれる。VML=0なるときVX信号はT2である。CEX信号は
マルチプレクサIC6(第3図)によつて発生されたT1お
よびT4パルスの組合せである。他の3つのRAMCE38に対
するエネイブルは基本的にはT1によつて行なわれる。
メモリ・マネージメント読み出し/書き込みアクセス期
間中、VML=1およびEN38L=0である。RAMに対するア
ドレスはAA2〜9であり、A1はデコーダI33B(第30図)
を介して上半分(DENU=0)または下半分(DENL=0)
を選択する。この“DEN"信号はMRQD=1によつてエネイ
ブルされ、それによつて双方向性バツフアIC23およびIC
26、またはIC29およびIC32(第31図)をエネイブルす
る。メモリ読み出し時(MRDC=0)、SA導線は入力であ
り、ID導線は出力である。それ以外の時点ではデータの
流れは逆方向である。内部データ・バスID0〜ID15から
のデータはWU=CE38=0のときIC19およびIC22に、WL=
CE38=0のときIC25に、WX=CEX=0のときIC28に書き
込まれる。
間中、VML=1およびEN38L=0である。RAMに対するア
ドレスはAA2〜9であり、A1はデコーダI33B(第30図)
を介して上半分(DENU=0)または下半分(DENL=0)
を選択する。この“DEN"信号はMRQD=1によつてエネイ
ブルされ、それによつて双方向性バツフアIC23およびIC
26、またはIC29およびIC32(第31図)をエネイブルす
る。メモリ読み出し時(MRDC=0)、SA導線は入力であ
り、ID導線は出力である。それ以外の時点ではデータの
流れは逆方向である。内部データ・バスID0〜ID15から
のデータはWU=CE38=0のときIC19およびIC22に、WL=
CE38=0のときIC25に、WX=CEX=0のときIC28に書き
込まれる。
インターバル・タイマIC34は内部データ・バス・ライン
ID0〜7を介してロード、読み出しが行なわれる。出力
の内2本はUSARTへのクロツクを提供し、第3の出力は
実時間クロツクを保持するためにインタラプト・コント
ローラへの周期的インタラプトを提供する。第3の出力
はユーザ・モードから核モードへの正常復帰を保証する
ためのものであることに注意されたい。
ID0〜7を介してロード、読み出しが行なわれる。出力
の内2本はUSARTへのクロツクを提供し、第3の出力は
実時間クロツクを保持するためにインタラプト・コント
ローラへの周期的インタラプトを提供する。第3の出力
はユーザ・モードから核モードへの正常復帰を保証する
ためのものであることに注意されたい。
プログラマブル・インタラプト・コントローラIC35(第
21図)はCPUに対する8つまでのベクトル化されたプラ
イオリテイ・インタラプトに対処出来る。インタラプト
要求ラインIR0〜7の内の1本が高レベルとなると、IC3
5は要求を評価して、INT=1をCPU(第14図)に送信す
る。CPUはINTA=0なる信号でアクノリジを返し、それ
によつてプライオリテイを決定するためインタラプトの
状態を凍結する。第2のINTA=0なるパルスによつてIC
35はID0〜7に介してプロセツサに1バイトのデータを
送る。
21図)はCPUに対する8つまでのベクトル化されたプラ
イオリテイ・インタラプトに対処出来る。インタラプト
要求ラインIR0〜7の内の1本が高レベルとなると、IC3
5は要求を評価して、INT=1をCPU(第14図)に送信す
る。CPUはINTA=0なる信号でアクノリジを返し、それ
によつてプライオリテイを決定するためインタラプトの
状態を凍結する。第2のINTA=0なるパルスによつてIC
35はID0〜7に介してプロセツサに1バイトのデータを
送る。
インタラプトIR3はインターバル・タイマからの周期的
インタラプトである。インタラプトIR4はハード・デイ
スク・コントローラからのものであり、IR6は残りの周
辺コントローラからのものである。インタラプトIR7は
ステータス・デコーダからのインタラプトであり、プロ
セツサがホールトしたことを示す。
インタラプトである。インタラプトIR4はハード・デイ
スク・コントローラからのものであり、IR6は残りの周
辺コントローラからのものである。インタラプトIR7は
ステータス・デコーダからのインタラプトであり、プロ
セツサがホールトしたことを示す。
インタラプトを生起させる多数のメモリ・アクセス状況
が存在する。コンパレータIC52およびIC53(第32図)は
ページ・サイズ(SA8〜14)が現在のアドレス・ビツトA
A6〜AA12に等しいときIC27Cの入力に1出力を加え、最
後に許容されたメモリのページがアクセスされているこ
とを指示する。警報ビツトSA2が1であると、IC27Cの出
力は1となり、T5の時点で、更なるスペースが割当てら
れないならば高々64の付加的アドレスしかアクセス出来
ないという警報インタラプトが発生される。信号WRNは
インタラプトIR2である。IC53のA<BおよびA>B出
力はセレクタIC54の入力となる。出力の選択はSA3によ
り行なわれる。(SA3=0だと上方に拡張され、SA3=1
だと下方に拡張される。)ページ・メモリが上方(A>
B出力=1、SA3=0)に超過するが、下方(A<B出
力=1、SA3=1)に超過すると、信号SAEは1となる。
信号SAEはNORゲートIC39A(第32図)に対する4つの入
力の内の1つである。いずれかの入力が高レベルとなる
と、出力ZZは低レベルとなる。メモリ・アクセス期間中
VML=0であり、ZZはデータ・セレクタIC21(第22図)
で反転され、BLOKH信号となる。BLOKH=1(ZZ=0)信
号はデコーダIC48(第28図)をデイスエイブルし、それ
によつてシステム・メモリおよびコントローラ・エネイ
ブル信号を阻止し、メモリ・アクセスを妨げる。BLOKH
=1信号はまた信号ACCによりインタラプトIR1を生じさ
せる。読み出し許可なし(SAO=0)にメモリ読み出しM
RDC=0を行うと、IC46A(第32図)の出力は高レベルと
なり、またZZ=0およびACCインタラプトを生じさせ
る。同様に書き込み許可なし(SA1=0)にメモリ書き
込みAMWC=0を行うとIC46B(第32図)の出力は高レベ
ルとなり、それによつてZZ=0となり、ACCインタラプ
トが生じる。最後にシステムのアドレス能力を超えたこ
とを指示する加算器(第27図)からのキヤリイはZZ=0
およびACCインタラプトを生じさせる。
が存在する。コンパレータIC52およびIC53(第32図)は
ページ・サイズ(SA8〜14)が現在のアドレス・ビツトA
A6〜AA12に等しいときIC27Cの入力に1出力を加え、最
後に許容されたメモリのページがアクセスされているこ
とを指示する。警報ビツトSA2が1であると、IC27Cの出
力は1となり、T5の時点で、更なるスペースが割当てら
れないならば高々64の付加的アドレスしかアクセス出来
ないという警報インタラプトが発生される。信号WRNは
インタラプトIR2である。IC53のA<BおよびA>B出
力はセレクタIC54の入力となる。出力の選択はSA3によ
り行なわれる。(SA3=0だと上方に拡張され、SA3=1
だと下方に拡張される。)ページ・メモリが上方(A>
B出力=1、SA3=0)に超過するが、下方(A<B出
力=1、SA3=1)に超過すると、信号SAEは1となる。
信号SAEはNORゲートIC39A(第32図)に対する4つの入
力の内の1つである。いずれかの入力が高レベルとなる
と、出力ZZは低レベルとなる。メモリ・アクセス期間中
VML=0であり、ZZはデータ・セレクタIC21(第22図)
で反転され、BLOKH信号となる。BLOKH=1(ZZ=0)信
号はデコーダIC48(第28図)をデイスエイブルし、それ
によつてシステム・メモリおよびコントローラ・エネイ
ブル信号を阻止し、メモリ・アクセスを妨げる。BLOKH
=1信号はまた信号ACCによりインタラプトIR1を生じさ
せる。読み出し許可なし(SAO=0)にメモリ読み出しM
RDC=0を行うと、IC46A(第32図)の出力は高レベルと
なり、またZZ=0およびACCインタラプトを生じさせ
る。同様に書き込み許可なし(SA1=0)にメモリ書き
込みAMWC=0を行うとIC46B(第32図)の出力は高レベ
ルとなり、それによつてZZ=0となり、ACCインタラプ
トが生じる。最後にシステムのアドレス能力を超えたこ
とを指示する加算器(第27図)からのキヤリイはZZ=0
およびACCインタラプトを生じさせる。
前述の回路は特定のマイクロプロセツサと関連して動作
する場合について説明したが、ここで述べた原理は本発
明の精神および範囲を逸脱することなく任意のマイクロ
プロセツサまたはプロセツサに適用し得ることに注意さ
れたい。
する場合について説明したが、ここで述べた原理は本発
明の精神および範囲を逸脱することなく任意のマイクロ
プロセツサまたはプロセツサに適用し得ることに注意さ
れたい。
第1図は本発明が使用されるシステムを示す図、第2図
は本発明の基本素子のブロツク図、第3図はアドレス導
線と関連したプロセツサの一部を示す図、第4〜7図は
メモリ・マツプ・アドレス制御の仕方を説明する図、第
8および9図は本発明の概略図、第10図は第8および9
図の配置の仕方を示す図、第11〜32図は第8および9図
に示す種々の素子の詳細を示す図である。 <主要部の符号の説明> 第1の回路……121 第2の回路……110 インタラプト・コントローラ……114
は本発明の基本素子のブロツク図、第3図はアドレス導
線と関連したプロセツサの一部を示す図、第4〜7図は
メモリ・マツプ・アドレス制御の仕方を説明する図、第
8および9図は本発明の概略図、第10図は第8および9
図の配置の仕方を示す図、第11〜32図は第8および9図
に示す種々の素子の詳細を示す図である。 <主要部の符号の説明> 第1の回路……121 第2の回路……110 インタラプト・コントローラ……114
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭54−107234(JP,A) 特開 昭51−141537(JP,A)
Claims (7)
- 【請求項1】シングルユーザモード・プロセッサと関連
して使用され、ユーザモード動作とカーネルモード動作
のマルチユーザ処理を提供する回路であって、該プロセ
ッサが予め形成された入出力導線の組を有しそしてイン
タラプトに応答して外部メモリから提供されたベクトル
・アドレスの制御の下に現在実行中のインストラクショ
ン・セットから異なるインストラクション・セットへと
ジャンプするよう動作するものであるマルチユーザ処理
提供回路において、 該モードのいずれか1つを設定する手段、 該外部メモリをブロックに分割する手段(106)、及
び、 該回路のユーザモードにおいては該プロセッサで実行さ
れるインストラクションにより該メモリブロックのある
限定されたグループがアクセス可能でなくそして該回路
のカーネルモードにおいては該プロセッサで実行される
インストラクションにより該メモリブロックの該限定さ
れたグループもアクセス可能であるよう該メモリを制御
する手段(104)とからなり、 該設定手段がインタラプトの制御の下に該ユーザモード
から該カーネルモードへと切換える第1の手段(121)
と該プロセッサからの出力アドレスビットを復号するこ
とにより該カーネルモードから該ユーザモードへと切換
える第2の手段(110)とを含むものであるマルチユー
ザ処理提供回路。 - 【請求項2】特許請求の範囲第1項記載の回路におい
て、該第2の手段は該プロセッサの該アドレス出力導線
上の該プロセッサからのピットを受信する手段を含むマ
ルチユーザ処理提供回路。 - 【請求項3】特許請求の範囲第1項記載の回路におい
て、該インタラプトは該回路が該カーネルモードにおい
てアクセス可能なメモリ中の予め形成されたアドレスに
該プロセッサがジャンプするようにしているマルチユー
ザ処理提供回路。 - 【請求項4】特許請求の範囲第3項記載の回路におい
て、該予め形成されたアドレスは、該回路の該ユーザモ
ードにおいて実行されるインストラクションでアクセス
可能な該外部メモリ内の特定のロケーションから得られ
るマルチユーザ処理提供回路。 - 【請求項5】特許請求の範囲第1項記載の回路におい
て、該プロセッサはプロセッサ内のレジスタによって制
御されるメモリ・アドレスにデータを送るよう動作し、
該インタラプト時に該プロセッサ内にあるデータが処理
されるまで該カーネルモードの設定を遅延させる手段を
含むマルチユーザ処理提供回路。 - 【請求項6】特許請求の範囲第1項記載の回路におい
て、 該プロセッサはインタラプト動作ディスエイブルする信
号に応答するよう構成されており、そして該プロセッサ
が該ユーザモードでインストラクションを実行している
ときはインタラプトのディスエイブルを禁止し、該プロ
セッサが該カーネルモードで動作しているときはインタ
ラプトのディスエイブルを許容する手段を含んでいるマ
ルチユーザ処理提供回路。 - 【請求項7】特許請求の範囲第6項記載の回路におい
て、 該禁止手段は該ユーザまたはカーネルモードのいずれか
に対してセットされる少なくとも1ビットを有するフラ
グ・レジスタを含み、各インストラクションを実行する
毎に該プロセッサの出力導線上のビットを前記フラグ・
レジスタのビットと比較する手段を有しているマルチユ
ーザ処理提供回路。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US386806 | 1982-06-09 | ||
| US06/386,806 US4519032A (en) | 1982-06-09 | 1982-06-09 | Memory management arrangement for microprocessor systems |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5963100A JPS5963100A (ja) | 1984-04-10 |
| JPH0677246B2 true JPH0677246B2 (ja) | 1994-09-28 |
Family
ID=23527127
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58101854A Expired - Lifetime JPH0677246B2 (ja) | 1982-06-09 | 1983-06-09 | マルチューザ処理提供回路 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4519032A (ja) |
| JP (1) | JPH0677246B2 (ja) |
| AU (1) | AU558400B2 (ja) |
| CA (1) | CA1182927A (ja) |
| DE (1) | DE3320858A1 (ja) |
| IT (1) | IT1167563B (ja) |
Families Citing this family (45)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4550368A (en) * | 1982-07-02 | 1985-10-29 | Sun Microsystems, Inc. | High-speed memory and memory management system |
| US4654790A (en) * | 1983-11-28 | 1987-03-31 | Amdahl Corporation | Translation of virtual and real addresses to system addresses |
| US4779187A (en) * | 1985-04-10 | 1988-10-18 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
| US4825358A (en) * | 1985-04-10 | 1989-04-25 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
| US4757533A (en) * | 1985-09-11 | 1988-07-12 | Computer Security Corporation | Security system for microcomputers |
| US4797853A (en) * | 1985-11-15 | 1989-01-10 | Unisys Corporation | Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing |
| US4761736A (en) * | 1986-01-02 | 1988-08-02 | Commodore Business Machines, Inc. | Memory management unit for addressing an expanded memory in groups of non-contiguous blocks |
| US4742447A (en) * | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system |
| US4774659A (en) * | 1986-04-16 | 1988-09-27 | Astronautics Corporation Of America | Computer system employing virtual memory |
| US5146575A (en) * | 1986-11-05 | 1992-09-08 | International Business Machines Corp. | Implementing privilege on microprocessor systems for use in software asset protection |
| US5293597A (en) * | 1987-03-09 | 1994-03-08 | At&T Bell Laboratories | Concurrent context memory management unit |
| US4980850A (en) * | 1987-05-14 | 1990-12-25 | Digital Equipment Corporation | Automatic sizing memory system with multiplexed configuration signals at memory modules |
| US5218712A (en) * | 1987-07-01 | 1993-06-08 | Digital Equipment Corporation | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption |
| US4839796A (en) * | 1987-07-16 | 1989-06-13 | Icon International, Inc. | Static frame digital memory |
| US4914577A (en) * | 1987-07-16 | 1990-04-03 | Icon International, Inc. | Dynamic memory management system and method |
| US5218684A (en) * | 1987-09-04 | 1993-06-08 | Digital Equipment Corporation | Memory configuration system |
| US5134700A (en) * | 1987-09-18 | 1992-07-28 | General Instrument Corporation | Microcomputer with internal ram security during external program mode |
| JP3023425B2 (ja) * | 1987-10-09 | 2000-03-21 | 株式会社日立製作所 | データ処理装置 |
| US5014191A (en) * | 1988-05-02 | 1991-05-07 | Padgaonkar Ajay J | Security for digital signal processor program memory |
| US5261084A (en) * | 1988-05-06 | 1993-11-09 | Nec Corporation | Error judgment method |
| US5063496A (en) * | 1988-06-01 | 1991-11-05 | International Business Machines Corporation | Signaling attempted transfer to protected entry point bios routine |
| JP2655615B2 (ja) * | 1988-12-08 | 1997-09-24 | 日本電気株式会社 | 情報処理装置 |
| US5063499A (en) * | 1989-01-09 | 1991-11-05 | Connectix, Inc. | Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing |
| JPH0476626A (ja) * | 1990-07-13 | 1992-03-11 | Toshiba Corp | マイクロコンピュータ |
| US5428758A (en) * | 1991-05-10 | 1995-06-27 | Unisys Corporation | Method and system for remapping memory from one physical configuration to another physical configuration |
| US5274834A (en) * | 1991-08-30 | 1993-12-28 | Intel Corporation | Transparent system interrupts with integrated extended memory addressing |
| US5537654A (en) * | 1993-05-20 | 1996-07-16 | At&T Corp. | System for PCMCIA peripheral to execute instructions from shared memory where the system reset signal causes switching between modes of operation by alerting the starting address |
| US5822786A (en) * | 1994-11-14 | 1998-10-13 | Advanced Micro Devices, Inc. | Apparatus and method for determining if an operand lies within an expand up or expand down segment |
| US5721877A (en) * | 1995-05-31 | 1998-02-24 | Ast Research, Inc. | Method and apparatus for limiting access to nonvolatile memory device |
| US6378023B1 (en) | 1996-02-14 | 2002-04-23 | Advanced Micro Devices, Inc. | Interrupt descriptor cache for a microprocessor |
| JP4522548B2 (ja) * | 2000-03-10 | 2010-08-11 | 富士通フロンテック株式会社 | アクセス監視装置及びアクセス監視方法 |
| US7073173B1 (en) * | 2000-12-04 | 2006-07-04 | Microsoft Corporation | Code and thread differential addressing via multiplex page maps |
| JP4182740B2 (ja) * | 2002-12-06 | 2008-11-19 | 沖電気工業株式会社 | マイクロコンピュータ |
| US7278062B2 (en) * | 2003-01-09 | 2007-10-02 | Freescale Semiconductor, Inc. | Method and apparatus for responding to access errors in a data processing system |
| US20040243783A1 (en) * | 2003-05-30 | 2004-12-02 | Zhimin Ding | Method and apparatus for multi-mode operation in a semiconductor circuit |
| US20130082232A1 (en) | 2011-09-30 | 2013-04-04 | Unity Semiconductor Corporation | Multi Layered Conductive Metal Oxide Structures And Methods For Facilitating Enhanced Performance Characteristics Of Two Terminal Memory Cells |
| US9058300B2 (en) * | 2005-03-30 | 2015-06-16 | Unity Semiconductor Corporation | Integrated circuits and methods to control access to multiple layers of memory |
| US7934073B2 (en) * | 2007-03-14 | 2011-04-26 | Andes Technology Corporation | Method for performing jump and translation state change at the same time |
| US7990762B2 (en) * | 2008-02-06 | 2011-08-02 | Unity Semiconductor Corporation | Integrated circuits to control access to multiple layers of memory |
| US9477834B2 (en) * | 2012-02-08 | 2016-10-25 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
| US9116711B2 (en) | 2012-02-08 | 2015-08-25 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
| US10210349B2 (en) | 2012-02-08 | 2019-02-19 | Arm Limited | Data processing apparatus and method using secure domain and less secure domain |
| US9213828B2 (en) | 2012-02-08 | 2015-12-15 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
| US9202071B2 (en) | 2012-02-08 | 2015-12-01 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
| CN107463856B (zh) * | 2017-08-01 | 2020-06-16 | 杭州中天微系统有限公司 | 一种基于可信内核的防攻击数据处理器 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3377624A (en) * | 1966-01-07 | 1968-04-09 | Ibm | Memory protection system |
| US3893084A (en) * | 1973-05-01 | 1975-07-01 | Digital Equipment Corp | Memory access control system |
| US3905023A (en) * | 1973-08-15 | 1975-09-09 | Burroughs Corp | Large scale multi-level information processing system employing improved failsaft techniques |
| FR2258112A5 (ja) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
| US3916385A (en) * | 1973-12-12 | 1975-10-28 | Honeywell Inf Systems | Ring checking hardware |
| JPS51141537A (en) * | 1975-05-31 | 1976-12-06 | Toshiba Corp | Memory access control device |
| US4035779A (en) * | 1976-04-30 | 1977-07-12 | International Business Machines Corporation | Supervisor address key control system |
| US4087856A (en) * | 1976-06-30 | 1978-05-02 | International Business Machines Corporation | Location dependence for assuring the security of system-control operations |
| US4104721A (en) * | 1976-12-30 | 1978-08-01 | International Business Machines Corporation | Hierarchical security mechanism for dynamically assigning security levels to object programs |
| JPS54107234A (en) * | 1978-02-10 | 1979-08-22 | Nec Corp | Information processing unit |
| DE2842548A1 (de) * | 1978-09-29 | 1980-04-10 | Siemens Ag | Programmierbare speicherschutzlogik fuer mikroprozessorsysteme |
| DE2846054C2 (de) * | 1978-10-23 | 1985-08-14 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors |
| US4328542A (en) * | 1979-11-07 | 1982-05-04 | The Boeing Company | Secure implementation of transition machine computer |
| US4442484A (en) * | 1980-10-14 | 1984-04-10 | Intel Corporation | Microprocessor memory management and protection mechanism |
-
1982
- 1982-06-09 US US06/386,806 patent/US4519032A/en not_active Expired - Lifetime
-
1983
- 1983-05-25 CA CA000428811A patent/CA1182927A/en not_active Expired
- 1983-06-08 IT IT21519/83A patent/IT1167563B/it active
- 1983-06-08 AU AU15479/83A patent/AU558400B2/en not_active Ceased
- 1983-06-09 DE DE19833320858 patent/DE3320858A1/de not_active Withdrawn
- 1983-06-09 JP JP58101854A patent/JPH0677246B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5963100A (ja) | 1984-04-10 |
| DE3320858A1 (de) | 1983-12-15 |
| IT8321519A0 (it) | 1983-06-08 |
| AU1547983A (en) | 1983-12-15 |
| CA1182927A (en) | 1985-02-19 |
| IT1167563B (it) | 1987-05-13 |
| AU558400B2 (en) | 1987-01-29 |
| US4519032A (en) | 1985-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0677246B2 (ja) | マルチューザ処理提供回路 | |
| KR100403405B1 (ko) | 분산형버스액세스및제어조정에따라다수개의내부신호버스를공유하는다수개의회로기능요소를갖는집적회로 | |
| US4547849A (en) | Interface between a microprocessor and a coprocessor | |
| US6952749B2 (en) | Multiprocessor interrupt handling system and method | |
| US5819087A (en) | Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events | |
| US4942606A (en) | Computer with improved keyboard password functions | |
| EP0464615B1 (en) | Microcomputer equipped with DMA controller | |
| CA2119401C (en) | Computer system which overrides write protection status during execution in system management mode | |
| EP0443557B1 (en) | Interrupt controller capable of realizing interrupt nesting function | |
| WO1983004117A1 (en) | Shared resource locking apparatus | |
| US4218739A (en) | Data processing interrupt apparatus having selective suppression control | |
| US5163143A (en) | Enhanced locked bus cycle control in a cache memory computer system | |
| JPH07334372A (ja) | エミュレートシステム及びエミュレート方法 | |
| JP3226055B2 (ja) | 情報処理装置 | |
| JPH02252008A (ja) | マイクロプロセッサ | |
| EP0617367B1 (en) | System management interrupt address bit correction circuit | |
| JP2011008760A (ja) | マイクロコンピュータ | |
| JP5737290B2 (ja) | データ処理装置および方法、そのプロセッサユニット | |
| EP0575171B1 (en) | Enhanced system management method and apparatus | |
| US6260132B1 (en) | Method and apparatus for secure address re-mapping | |
| US6938118B1 (en) | Controlling access to a primary memory | |
| US5857116A (en) | Circuit for disabling an address masking control signal when a microprocessor is in a system management mode | |
| JPS6074059A (ja) | 記憶装置アクセス制御方式 | |
| JPH07334373A (ja) | エミュレートシステム及びエミュレート方法 | |
| JP3323341B2 (ja) | エミュレーション用プロセッサおよびそれを搭載したエミュレータ |