JP3087279B2 - マイクロコンピュータ・システム - Google Patents
マイクロコンピュータ・システムInfo
- Publication number
- JP3087279B2 JP3087279B2 JP02024096A JP2409690A JP3087279B2 JP 3087279 B2 JP3087279 B2 JP 3087279B2 JP 02024096 A JP02024096 A JP 02024096A JP 2409690 A JP2409690 A JP 2409690A JP 3087279 B2 JP3087279 B2 JP 3087279B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- management
- access
- memory
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータ・システムに関して、
特にメモリ部へのアクセスの際のアクセスのチェック等
のメモリ管理機能を有するマイクロコンピュータ・シス
テムに関する。
特にメモリ部へのアクセスの際のアクセスのチェック等
のメモリ管理機能を有するマイクロコンピュータ・シス
テムに関する。
マイクロコンピュータ・システムのメモリ管理は通
常、メモリマネージメント・ユニット(以下、MMUと記
す)をマイクロコンピュータに内蔵するか、専用のMMU
チップをマイクロコンピュータ外部に接続することで行
なっている。
常、メモリマネージメント・ユニット(以下、MMUと記
す)をマイクロコンピュータに内蔵するか、専用のMMU
チップをマイクロコンピュータ外部に接続することで行
なっている。
MMUは通常、アドレス,データのバス幅が広い高機能
マイクロコンピュータに適用される。特に、最近の32ビ
ットのマイクロコンピュータでは、MMUを標準的に内蔵
しているものが多い。
マイクロコンピュータに適用される。特に、最近の32ビ
ットのマイクロコンピュータでは、MMUを標準的に内蔵
しているものが多い。
MMUの本来の役割は、アドレスバス幅や、プログラム
やデータが配置されている物理的なアドレスなどを意識
せずにプログラム作成を可能にすることにある。そのた
めに、プログラムには論理アドレスを定義し、実際にメ
モリ部に対して出力させるアドレスを物理アドレスと
し、この論理アドレスと物理アドレスとを対応づけるテ
ーブルを用意する。このテーブルを管理するのがMMUで
ある。
やデータが配置されている物理的なアドレスなどを意識
せずにプログラム作成を可能にすることにある。そのた
めに、プログラムには論理アドレスを定義し、実際にメ
モリ部に対して出力させるアドレスを物理アドレスと
し、この論理アドレスと物理アドレスとを対応づけるテ
ーブルを用意する。このテーブルを管理するのがMMUで
ある。
論理アドレスを物理アドレスへ変換する手法は数々考
えられるが、マイクロコンピュータ・システムの分野で
はページング方式が一般的である。ページング方式と
は、例えば4KBを1ページとし、このページ単位に論理
アドレスを物理アドレスへ変換する方式である。この場
合、論理アドレス及び物理アドレスの4KBのベージ内オ
フセットは同じになる。
えられるが、マイクロコンピュータ・システムの分野で
はページング方式が一般的である。ページング方式と
は、例えば4KBを1ページとし、このページ単位に論理
アドレスを物理アドレスへ変換する方式である。この場
合、論理アドレス及び物理アドレスの4KBのベージ内オ
フセットは同じになる。
さらにMMUでは、アクセスの管理も行なう。アクセス
の管理とは、プログラク空間にデータライトしたり、デ
ータ空間からプログラムのフェッチを行なったりするな
どの例外的なアクセスが発生した場合、そのアクセスに
対するプログラム空間やデータ空間を保護することであ
る。通常、この管理単位も前述のページが当てられる。
ページ単位に、プログラム空間,データ空間のリード・
ライト可能、データ空間リードオンリなどの属性が与え
られ、論理アドレスでのアクセスの種類と、アクセスさ
れたページの属性の整合がとれない場合、例外と判断さ
れ割込みを発生するなどして通知する。このようにアク
セスの管理は、MMUの機能の一部として、論理アドレス
を物理アドレスに変換するページを管理単位とし、アド
レス変換と連動した形で実行されるのが一般的である。
以下、このページ毎の属性のこのをプロテクション情報
と記す。
の管理とは、プログラク空間にデータライトしたり、デ
ータ空間からプログラムのフェッチを行なったりするな
どの例外的なアクセスが発生した場合、そのアクセスに
対するプログラム空間やデータ空間を保護することであ
る。通常、この管理単位も前述のページが当てられる。
ページ単位に、プログラム空間,データ空間のリード・
ライト可能、データ空間リードオンリなどの属性が与え
られ、論理アドレスでのアクセスの種類と、アクセスさ
れたページの属性の整合がとれない場合、例外と判断さ
れ割込みを発生するなどして通知する。このようにアク
セスの管理は、MMUの機能の一部として、論理アドレス
を物理アドレスに変換するページを管理単位とし、アド
レス変換と連動した形で実行されるのが一般的である。
以下、このページ毎の属性のこのをプロテクション情報
と記す。
さらにマルチタスク動作環境においては、実行中のタ
スク(以下、カレントタスクと記す)が他のタスクのプ
ログラム空間,データ空間をアクセスしないように、タ
スクの識別番号(以下、TIDと記す)毎にアクセスの管
理を行う。論理アドレスを物理アドレスに変換する過程
で、予め設定したTIDとカレントタスクのTID(以下、CT
IDと記す)を比較し、不一致ならば割込みを発生して例
外であることを通知する。CTIDはタスクの入換え発生の
度にCPUによって書換えられる。
スク(以下、カレントタスクと記す)が他のタスクのプ
ログラム空間,データ空間をアクセスしないように、タ
スクの識別番号(以下、TIDと記す)毎にアクセスの管
理を行う。論理アドレスを物理アドレスに変換する過程
で、予め設定したTIDとカレントタスクのTID(以下、CT
IDと記す)を比較し、不一致ならば割込みを発生して例
外であることを通知する。CTIDはタスクの入換え発生の
度にCPUによって書換えられる。
以上説明したことを、第4図〜第7図を参照しながら
より詳しく説明していく。本例では、4GBの論理アドレ
スを4GBの物理アドレスへ変換するシステムで、ページ
を4KBとしている。またタスクの数は32個としている。
より詳しく説明していく。本例では、4GBの論理アドレ
スを4GBの物理アドレスへ変換するシステムで、ページ
を4KBとしている。またタスクの数は32個としている。
第4図は、従来のこの種のマイクロコンピュータ・シ
ステムの一例を示すブロック図で、マイクロコンピュー
タ100Cとメモリ部200とで構成される。マイクロコンピ
ュータ100Cとメモリ部200とは、32ビットのアドレスバ
ス82、32ビットのデータバス4とで接続される。
ステムの一例を示すブロック図で、マイクロコンピュー
タ100Cとメモリ部200とで構成される。マイクロコンピ
ュータ100Cとメモリ部200とは、32ビットのアドレスバ
ス82、32ビットのデータバス4とで接続される。
マイクロコンピュータ100Cは、CPU10Aとメモリマネー
ジメント・ユニット(MMU)40とバス制御ユニット(BC
U)20Cと割込みコントローラ(INTC)30Bとで構成され
る。
ジメント・ユニット(MMU)40とバス制御ユニット(BC
U)20Cと割込みコントローラ(INTC)30Bとで構成され
る。
CPU10Aからメモリマネージメント・ユニット40へは、
32ビットの論理アドレスLADが出力され、また、バス制
御ユニット20Cに対してはリプレース要求信号RPRQが出
力される。メモリマネージメント・ユニット40からバス
制御ユニット20Cへは、32ビットの物理アドレスPADと、
20ビットのページテーブル・オフセットデータPTOFD
と、2ビットのプロテクション情報PTIとが出力され
る。バス制御ユニット20Cは外部のメモリ部200と、32ビ
ットのアドレスバス2及び32ビットのデータバス4で接
続されている。また、メモリマネージメント・ユニット
40からは割込みコントローラ30Bに対し、割込み信号INT
A,INTBが出力され、バス制御ユニット20Cから割込みコ
ントローラ30Bに対し、割込み信号INTCが出力され、割
込みコントローラ30BからCPU10Aに対しては、割込み信
号INTDが出力される。また、CPU10A,メモリマネージメ
ント・ユニット40,バス制御ユニット20C,割込みコント
ローラ30Bは、32ビットの内部データバス3で相互に接
続されている。
32ビットの論理アドレスLADが出力され、また、バス制
御ユニット20Cに対してはリプレース要求信号RPRQが出
力される。メモリマネージメント・ユニット40からバス
制御ユニット20Cへは、32ビットの物理アドレスPADと、
20ビットのページテーブル・オフセットデータPTOFD
と、2ビットのプロテクション情報PTIとが出力され
る。バス制御ユニット20Cは外部のメモリ部200と、32ビ
ットのアドレスバス2及び32ビットのデータバス4で接
続されている。また、メモリマネージメント・ユニット
40からは割込みコントローラ30Bに対し、割込み信号INT
A,INTBが出力され、バス制御ユニット20Cから割込みコ
ントローラ30Bに対し、割込み信号INTCが出力され、割
込みコントローラ30BからCPU10Aに対しては、割込み信
号INTDが出力される。また、CPU10A,メモリマネージメ
ント・ユニット40,バス制御ユニット20C,割込みコント
ローラ30Bは、32ビットの内部データバス3で相互に接
続されている。
第5図はメモリマネージメント・ユニット40のブロッ
ク図である。
ク図である。
前述したように、32ビットの論理アドレスLADを32ビ
ットの物理アドレスPADへ変換するための変換情報は、
プロテクション情報PTI,TIDなどと共にメモリ部200上に
配置される。この変換情報とプロテクション情報TPIとT
IDとをまとめて以下、ディレクトリと記す。また、この
ディレクトリの集合をページ・テーブルと記す。このデ
ィレクトリは、ページ数分だけメモリ部200上にページ
テーブルとして配置されるわけであるが、CPU10Aからの
論理アドレスLADによるアクセスが発生する度にその論
理アドレスLADに対応したディレクトリをページテーブ
ルから読出し、プロテクション情報PTIのチェックや、T
IDとCTIDとの比較や、物理アドレスPADへの変換をし
て、はじめて物理アドレスPADをメモリ部200に対し出力
することができる。また、CTID記憶部44はタスクの入換
えが発生する度にCPU10Aによって書換えられる。
ットの物理アドレスPADへ変換するための変換情報は、
プロテクション情報PTI,TIDなどと共にメモリ部200上に
配置される。この変換情報とプロテクション情報TPIとT
IDとをまとめて以下、ディレクトリと記す。また、この
ディレクトリの集合をページ・テーブルと記す。このデ
ィレクトリは、ページ数分だけメモリ部200上にページ
テーブルとして配置されるわけであるが、CPU10Aからの
論理アドレスLADによるアクセスが発生する度にその論
理アドレスLADに対応したディレクトリをページテーブ
ルから読出し、プロテクション情報PTIのチェックや、T
IDとCTIDとの比較や、物理アドレスPADへの変換をし
て、はじめて物理アドレスPADをメモリ部200に対し出力
することができる。また、CTID記憶部44はタスクの入換
えが発生する度にCPU10Aによって書換えられる。
今、仮にマイクロコンピュータ100Cとメモリ部200と
の間の1回のアクセスにnクロック要するとすると、1
回の論理アドレスLADから物理アドレスPADへの変換は、
ページテーブルからのディレクトリの読出しにnクロッ
ク、物理アドレスPADによるメモリ部200へのアクセスに
nクロック、計2nクロックを要してしまう。この問題点
を解消するために、ページテーブルのコピーを小容量、
マイクロコンピュータ100Cのメモリマネージメントユニ
ット40内部に設け、論理アドレスLADが出力された際、
対応するディレクトリが内蔵のページテーブルのコピー
中に存在すれば、基本的に1クロックで、論理アドレス
LADを物理アドレスPADへ変換したり、プロテクション情
報PTIのチェックを実行することができる。この内蔵す
る小容量のコピーを格納する部分を、内部変換用記憶部
(TLB(Translation Lookaside Buffer))43と呼ぶ。
ページテーブルと内部変換用記憶部43とをどのように対
応づけるかには諸々の手法があるが、本例では、第5図
に示された一般的に実現されている2ウェイ・セット・
アソシアティブと呼ばれる手法について説明する。
の間の1回のアクセスにnクロック要するとすると、1
回の論理アドレスLADから物理アドレスPADへの変換は、
ページテーブルからのディレクトリの読出しにnクロッ
ク、物理アドレスPADによるメモリ部200へのアクセスに
nクロック、計2nクロックを要してしまう。この問題点
を解消するために、ページテーブルのコピーを小容量、
マイクロコンピュータ100Cのメモリマネージメントユニ
ット40内部に設け、論理アドレスLADが出力された際、
対応するディレクトリが内蔵のページテーブルのコピー
中に存在すれば、基本的に1クロックで、論理アドレス
LADを物理アドレスPADへ変換したり、プロテクション情
報PTIのチェックを実行することができる。この内蔵す
る小容量のコピーを格納する部分を、内部変換用記憶部
(TLB(Translation Lookaside Buffer))43と呼ぶ。
ページテーブルと内部変換用記憶部43とをどのように対
応づけるかには諸々の手法があるが、本例では、第5図
に示された一般的に実現されている2ウェイ・セット・
アソシアティブと呼ばれる手法について説明する。
メモリマネージメント・ユニット40は、マイクロコン
ピュータ100C内の他のユニットと内部データバス3で接
続され、CPU10Aより論理アドレスバス5経由で、32ビッ
トの論理アドレスLADを受取り、これを内蔵の内部変換
用記憶部43の情報により物理アドレスPADに変換し、32
ビットの物理アドレスバス1に出力する。またこの時、
2ビットのプロテクションPTIを出力する。内部変換用
記憶部43は64個のディレクトリDIを内蔵し、これを32個
ずつ、ディレクトリセットDS1,DS2の2つに分割してい
る。それぞれのディレクトリセットDS1,DS2は、論理ア
ドレスLAD中の5ビット情報によってアドレスされる。
論理アドレスLAD中の同じ5ビットのアドレスは、ディ
レクトリセットDS1,DS2の同じ位置を占めるディレクト
リDIを指定する。この構造故に、本方式は2ウェイ・セ
ット・アソシアティブと呼ばれる。
ピュータ100C内の他のユニットと内部データバス3で接
続され、CPU10Aより論理アドレスバス5経由で、32ビッ
トの論理アドレスLADを受取り、これを内蔵の内部変換
用記憶部43の情報により物理アドレスPADに変換し、32
ビットの物理アドレスバス1に出力する。またこの時、
2ビットのプロテクションPTIを出力する。内部変換用
記憶部43は64個のディレクトリDIを内蔵し、これを32個
ずつ、ディレクトリセットDS1,DS2の2つに分割してい
る。それぞれのディレクトリセットDS1,DS2は、論理ア
ドレスLAD中の5ビット情報によってアドレスされる。
論理アドレスLAD中の同じ5ビットのアドレスは、ディ
レクトリセットDS1,DS2の同じ位置を占めるディレクト
リDIを指定する。この構造故に、本方式は2ウェイ・セ
ット・アソシアティブと呼ばれる。
今、ページの単位を4KBとしているため、32ビットの
論理アドレスLADの下位12ビットはページ内のオフセッ
トとして、そのまま32ビットの物理アドレス中に下位12
ビットとなる。従って、215=32K個中いづれか2つのデ
ィレクトリが内部変換用記憶部43のいづれかのディレク
トリセットを占める形となる。32K個のプログラム,デ
ータに対して、32個のディレクトリは少なく思えるが、
実行のある一時点をとってみると、プログラムにしても
データにしても狭い範囲でのアクセスに限定される(こ
れをプログラムの局所性という)。4GBの物理アドレ
ス、ページ単の4KBのシステムに対し、64個のエントリ
という小規模の内部変換用記憶部43の情報だけで管理を
行なうのも、このプログラムの局所性を期待したものと
いえる。
論理アドレスLADの下位12ビットはページ内のオフセッ
トとして、そのまま32ビットの物理アドレス中に下位12
ビットとなる。従って、215=32K個中いづれか2つのデ
ィレクトリが内部変換用記憶部43のいづれかのディレク
トリセットを占める形となる。32K個のプログラム,デ
ータに対して、32個のディレクトリは少なく思えるが、
実行のある一時点をとってみると、プログラムにしても
データにしても狭い範囲でのアクセスに限定される(こ
れをプログラムの局所性という)。4GBの物理アドレ
ス、ページ単の4KBのシステムに対し、64個のエントリ
という小規模の内部変換用記憶部43の情報だけで管理を
行なうのも、このプログラムの局所性を期待したものと
いえる。
32ビットの論理アドレスLAD中の5ビットでアドレス
されたディレクトリセットDS1中のディレクトリDIと、
ディレクトリセットDS2中のディレクトリDIとは同時に
読出される。
されたディレクトリセットDS1中のディレクトリDIと、
ディレクトリセットDS2中のディレクトリDIとは同時に
読出される。
ディレクトリDIの構成は第6図に示され、42ビット構
成で、下位から20ビットの物理アドレスページ番号61、
2ビットのプロテクション情報62、5ビットのTID63、1
5ビットのアドレスタグ情報64となっている。2ビット
のプロテクション情報62は、“00"の時プログラム空間
であるとを、“01"の時データ空間リード・ライト可能
であることを、“10"の時データ空間リードオンリであ
ることをそれぞれ示している。
成で、下位から20ビットの物理アドレスページ番号61、
2ビットのプロテクション情報62、5ビットのTID63、1
5ビットのアドレスタグ情報64となっている。2ビット
のプロテクション情報62は、“00"の時プログラム空間
であるとを、“01"の時データ空間リード・ライト可能
であることを、“10"の時データ空間リードオンリであ
ることをそれぞれ示している。
第5図において、読出されたディレクトリDI中の上位
15ビットのアドレスタグ情報64は、32ビットの論理アド
レスLADの上位15ビットとそれぞれの比較記45B,45Dで比
較され、一致した場合(これをヒットと呼ぶ)一致信号
EQ1,EQ2を出力する。一致信号EQ1,EQ2はセレクタ46A,46
Bに入力される。セレクタ46Aは、一致信号EQ1がアクテ
ィブであれはディレクトリセットDS1のディレクトリDI
中の20ビットの物理アドレスページ番号61を選択し、一
致信号EQ2がアクティブであればディレクトリセットDS2
のディレクトリDI中の物理アドレスページ番号61を選択
する。32ビットの物理アドレスPADは、32ビットの論理
アドレスLADの下位12ビットとし、セレクタ46Aの20ビッ
トの出力とから合成される。
15ビットのアドレスタグ情報64は、32ビットの論理アド
レスLADの上位15ビットとそれぞれの比較記45B,45Dで比
較され、一致した場合(これをヒットと呼ぶ)一致信号
EQ1,EQ2を出力する。一致信号EQ1,EQ2はセレクタ46A,46
Bに入力される。セレクタ46Aは、一致信号EQ1がアクテ
ィブであれはディレクトリセットDS1のディレクトリDI
中の20ビットの物理アドレスページ番号61を選択し、一
致信号EQ2がアクティブであればディレクトリセットDS2
のディレクトリDI中の物理アドレスページ番号61を選択
する。32ビットの物理アドレスPADは、32ビットの論理
アドレスLADの下位12ビットとし、セレクタ46Aの20ビッ
トの出力とから合成される。
同様に、読出されたディレクトリDI中の5ビットのTI
D63はCTID記憶部44の情報と比較され、一致した場合に
一致信号EQ3,EQ4を出力する。
D63はCTID記憶部44の情報と比較され、一致した場合に
一致信号EQ3,EQ4を出力する。
一方、セレクタ46Bは、一致信号EQ1がアクティブであ
ればディレクトリセットDS1のディレクトリDI中の2ビ
ットのプロテクション情報62を選択し、一致信号EQ2が
アクティブであればディレクトリセットDS2のディレク
トリDI中の2ビットのプロテクション情報62を選択し、
プロテクション情報PTIDとしてバス制御ユニット20Cへ
出力する。
ればディレクトリセットDS1のディレクトリDI中の2ビ
ットのプロテクション情報62を選択し、一致信号EQ2が
アクティブであればディレクトリセットDS2のディレク
トリDI中の2ビットのプロテクション情報62を選択し、
プロテクション情報PTIDとしてバス制御ユニット20Cへ
出力する。
一致信号EQ1,EQ2が共にインアクティブの時は、ディ
レクトリセットDS1,DS2のどちらにも対象となるディレ
クトリDIが存在しないことになるため(これをミス・ヒ
ットと呼ぶ)、割込みコントローラ30Bに対し割込み信
号INTAが出力される。割込みコントローラ30Bは割込み
信号INTAを受け付けると、優先順位判別や割込み禁止判
別などを実行した後、CPU10Aに対し割込み信号INTDを出
力し、CPU10Aに対しミス・ヒットした際必要となるペー
ジテーブル内の所定のディレクトリと、内部変換用記憶
部43中のディレクトリの入換え作業を依頼する。CPU10A
は、この割込み信号INTDを受け付けるとリプレース要求
信号RPRQをバス制御ユニット20Cに対して出力し、内部
変換用記憶部43中のディレクトリ入換えを指示する。ま
たこの時メモリマネージメント・ユニット40からは、32
ビットの論理アドレスLADの上位20ビットがページテー
ブル・オフセットデータPTOFDとしてバス制御ユニット2
0Cに対し出力される。
レクトリセットDS1,DS2のどちらにも対象となるディレ
クトリDIが存在しないことになるため(これをミス・ヒ
ットと呼ぶ)、割込みコントローラ30Bに対し割込み信
号INTAが出力される。割込みコントローラ30Bは割込み
信号INTAを受け付けると、優先順位判別や割込み禁止判
別などを実行した後、CPU10Aに対し割込み信号INTDを出
力し、CPU10Aに対しミス・ヒットした際必要となるペー
ジテーブル内の所定のディレクトリと、内部変換用記憶
部43中のディレクトリの入換え作業を依頼する。CPU10A
は、この割込み信号INTDを受け付けるとリプレース要求
信号RPRQをバス制御ユニット20Cに対して出力し、内部
変換用記憶部43中のディレクトリ入換えを指示する。ま
たこの時メモリマネージメント・ユニット40からは、32
ビットの論理アドレスLADの上位20ビットがページテー
ブル・オフセットデータPTOFDとしてバス制御ユニット2
0Cに対し出力される。
また、一致信号EQ1,EQ2のどちらかがアクティブでデ
ィレクトリセットDS1,DS2のどちらかに対象とするディ
レクトリDIが存在しても、そのディレクトリDIのTID63
がCTID記憶部44の情報と異なる場合は、CPU10Aはカレン
トタスク以外のプログラム空間,データ空間にアクセス
要求しているので、割込みコントローラ30Bに対して割
込み信号INTBを発生する。
ィレクトリセットDS1,DS2のどちらかに対象とするディ
レクトリDIが存在しても、そのディレクトリDIのTID63
がCTID記憶部44の情報と異なる場合は、CPU10Aはカレン
トタスク以外のプログラム空間,データ空間にアクセス
要求しているので、割込みコントローラ30Bに対して割
込み信号INTBを発生する。
第7図はバス制御ユニット20Cのブロック図である。
このバス制御ユニット20Cは、制御部24C,32ビットの
ページテーブル・ベースポインタ201,加算器202,セレク
タ203,データバッファ26及びアドレスバッファ25から構
成される。
ページテーブル・ベースポインタ201,加算器202,セレク
タ203,データバッファ26及びアドレスバッファ25から構
成される。
メモリマネジメント・ユニット40でヒットし且つヒッ
トしたディレクトリのTIDとCTID記憶部44の情報とが一
致した場合、バス制御ユニット20はメモリマネジメント
・ユニット40から32ビットの物理アドレスPADと、2ビ
ットのプロテクション情報PTIを受け取る。制御部24Cは
プロテクション制御PTIから、データ空間からプログラ
ムフェッチを行なっていないか、リードオンリのデータ
空間にデータライト処理を行なっていないかなどを判別
し、もし誤ったアクセスを行なっている場合は、割込み
信号INTCを割込みコントローラ30Bに対し出力する。割
込みコントローラ30Bは割込み信号INTCを受け取ると諸
々の判別を行なった後、CPU10Aに対し割込み信号INTDを
出力し例外処理ルーチンの起動を要求する。
トしたディレクトリのTIDとCTID記憶部44の情報とが一
致した場合、バス制御ユニット20はメモリマネジメント
・ユニット40から32ビットの物理アドレスPADと、2ビ
ットのプロテクション情報PTIを受け取る。制御部24Cは
プロテクション制御PTIから、データ空間からプログラ
ムフェッチを行なっていないか、リードオンリのデータ
空間にデータライト処理を行なっていないかなどを判別
し、もし誤ったアクセスを行なっている場合は、割込み
信号INTCを割込みコントローラ30Bに対し出力する。割
込みコントローラ30Bは割込み信号INTCを受け取ると諸
々の判別を行なった後、CPU10Aに対し割込み信号INTDを
出力し例外処理ルーチンの起動を要求する。
一方、制御部24Cにおける判定の結果、アクセスに誤
りがないと判断されると、セレクタ203は物理アドレス
バス1側に選択し、アドレスバッファ25には物理アドレ
スPADが格納され、アドレスバス2に出力される。
りがないと判断されると、セレクタ203は物理アドレス
バス1側に選択し、アドレスバッファ25には物理アドレ
スPADが格納され、アドレスバス2に出力される。
次に、メモリマネジメント・ユニット40においてミス
・ヒットした場合の動作について説明する。
・ヒットした場合の動作について説明する。
バス制御ユニット20Cは、CPU10Aからのリプレース要
求信号RPRQと、メモリマネジメント・ユニット40からの
ページテーブル・オフセットデータPTOFDを受け取る。
制御部24Cがリプレース要求信号RPRQを受け取ると、ペ
ージテーブル指定信号PTDを出力する。この場合セレク
タ203は、加算器202の出力を選択しアドレスバッファ25
に格納する。一方、加算器52は、予め設定されているペ
ージテーブルのベースアドレスを指定するする32ビット
のページテーブル・ベースポインタ201の出力と20ビッ
トのページテーブル・オフセットデータPTOFDとを加算
し、リプレースの対象となるアドレスを算出する。つま
り、ミス・ヒットが発生すると論理アドレスは無効とな
り、予め設定されている物理アドレスであるページテー
ブル・ベースポインタ201の出力を利用することでペー
ジテーブルをアクセスする。
求信号RPRQと、メモリマネジメント・ユニット40からの
ページテーブル・オフセットデータPTOFDを受け取る。
制御部24Cがリプレース要求信号RPRQを受け取ると、ペ
ージテーブル指定信号PTDを出力する。この場合セレク
タ203は、加算器202の出力を選択しアドレスバッファ25
に格納する。一方、加算器52は、予め設定されているペ
ージテーブルのベースアドレスを指定するする32ビット
のページテーブル・ベースポインタ201の出力と20ビッ
トのページテーブル・オフセットデータPTOFDとを加算
し、リプレースの対象となるアドレスを算出する。つま
り、ミス・ヒットが発生すると論理アドレスは無効とな
り、予め設定されている物理アドレスであるページテー
ブル・ベースポインタ201の出力を利用することでペー
ジテーブルをアクセスする。
また、メモリマネジメント・ユニット40においてミス
・ヒットの時、ディレクトリセットDS1,DS2のどちらの
ディレクトリと、ページテーブル中のディレクトリとを
入換えるかを決定する方式にもいろいろあり、最も前に
入換えが発生したものを入換えの対象とする方式(FIF
O:First In First Out)や、最も前にアクセスを受けた
ものを入換えの対象とする方式(LRU:Least Recently U
sed)などがあるが、入換え機構は本発明の主旨に無関
係であるため、特に図示せず説明も省略する。
・ヒットの時、ディレクトリセットDS1,DS2のどちらの
ディレクトリと、ページテーブル中のディレクトリとを
入換えるかを決定する方式にもいろいろあり、最も前に
入換えが発生したものを入換えの対象とする方式(FIF
O:First In First Out)や、最も前にアクセスを受けた
ものを入換えの対象とする方式(LRU:Least Recently U
sed)などがあるが、入換え機構は本発明の主旨に無関
係であるため、特に図示せず説明も省略する。
(尚、更に詳細な構成,動作に関しては、80326ユー
ザズ・マニュアル,68020ユーザズ・マニュアル等参照) 〔発明が解決しようとする課題〕 上述した従来のマイクロコンピュータ・システムは、
メモリ部200へのアクセスを管理するために、論理アド
レスLADを物理アドレスPADへ変換するための機構を導入
し、変換の単位であるページをアクセスの管理単位とす
る方式となっているので、メモリマネジメント・ユニッ
ト40などのハードウェアや、かなり大掛かりな制御ロジ
ック部を内蔵しなければならず、マイクロコンピュータ
・システムの設計コストや製造コストを引上げるという
欠点があり、また、論理アドレスLADを物理アドレスPAD
へ変換する機構そのものを必要とせず、単にメモリアク
セスの際のチェック機能だけを必要とする利用者にとっ
てみれば、ページテーブルの設定や、ミス・ヒットした
際のディレクトリ入換えプログラムの作成などの、プロ
グラム作成に負担を強いられるという欠点がある。
ザズ・マニュアル,68020ユーザズ・マニュアル等参照) 〔発明が解決しようとする課題〕 上述した従来のマイクロコンピュータ・システムは、
メモリ部200へのアクセスを管理するために、論理アド
レスLADを物理アドレスPADへ変換するための機構を導入
し、変換の単位であるページをアクセスの管理単位とす
る方式となっているので、メモリマネジメント・ユニッ
ト40などのハードウェアや、かなり大掛かりな制御ロジ
ック部を内蔵しなければならず、マイクロコンピュータ
・システムの設計コストや製造コストを引上げるという
欠点があり、また、論理アドレスLADを物理アドレスPAD
へ変換する機構そのものを必要とせず、単にメモリアク
セスの際のチェック機能だけを必要とする利用者にとっ
てみれば、ページテーブルの設定や、ミス・ヒットした
際のディレクトリ入換えプログラムの作成などの、プロ
グラム作成に負担を強いられるという欠点がある。
本発明の目的は、メモリマネジメント・ユニット,制
御ロジック部等のハードウェアを削減して設計コストや
製造コストの低減をはかることができ、またメモリアク
セスの際のチェック機能だけを必要とする利用者に対し
ては、プログラム作成の負担を軽減するこができるマイ
クロコンピュータ・システムを提供することにある。
御ロジック部等のハードウェアを削減して設計コストや
製造コストの低減をはかることができ、またメモリアク
セスの際のチェック機能だけを必要とする利用者に対し
ては、プログラム作成の負担を軽減するこができるマイ
クロコンピュータ・システムを提供することにある。
本発明のマイクロコンピュータ・システムは、メモリ
部と;このメモリ部の全アドレス空間と対応する物理ア
ドレスの物理アドレスバスへの出力、内部データバスか
らのデータの処理、処理されたデータの前記内部データ
バスへの出力、及び入力された割込み信号に対する処理
を含む所定の処理を行うCPUと前記物理アドレスを一時
保持し前記メモリ部へ出力するアドレスバッファ、前記
メモリと接続するデータバスと前記内部データバスとの
間のデータを一時保持し伝達するデータバッファ、前記
メモリ部の全アドレス空間を所定の管理単位に分割しこ
れら管理単位に対するアクセスの管理情報を記憶してお
き、前記物理アドレスの所定のビットにより指定された
前記管理情報を出力するアクセス管理情報部、及びこの
アクセス管理情報部からの管理情報に従って前記管理単
位に対するアクセスの妥当性を判別しその結果に応じて
割込み信号を出力する制御部を備えたバス制御ユニット
と、このバス制御ユニットからの割込み信号に対し所定
の判断,処理を行いその結果に応じて前記CPUに対し割
込み信号を出力する割込みコントローラとを有し前記メ
モリ部に対するアクセス管理を行うマイクロコンピュー
タとを含み、このマイクロコンピュータに、全管理単位
のうちのアクセス管理を適用しかつメモリのページ単位
に、プログラム空間,データ空間のリード・ライト可
能、データ空間リードオンリなどの属性を与えるプロテ
クション情報により管理される所定の管理単位を指定す
る情報を格納しておくペースポインタ部を設け、このペ
ースポインタ部に格納されている情報と対応した管理単
位に対してアクセスの妥当性を判別するようにして構成
される。
部と;このメモリ部の全アドレス空間と対応する物理ア
ドレスの物理アドレスバスへの出力、内部データバスか
らのデータの処理、処理されたデータの前記内部データ
バスへの出力、及び入力された割込み信号に対する処理
を含む所定の処理を行うCPUと前記物理アドレスを一時
保持し前記メモリ部へ出力するアドレスバッファ、前記
メモリと接続するデータバスと前記内部データバスとの
間のデータを一時保持し伝達するデータバッファ、前記
メモリ部の全アドレス空間を所定の管理単位に分割しこ
れら管理単位に対するアクセスの管理情報を記憶してお
き、前記物理アドレスの所定のビットにより指定された
前記管理情報を出力するアクセス管理情報部、及びこの
アクセス管理情報部からの管理情報に従って前記管理単
位に対するアクセスの妥当性を判別しその結果に応じて
割込み信号を出力する制御部を備えたバス制御ユニット
と、このバス制御ユニットからの割込み信号に対し所定
の判断,処理を行いその結果に応じて前記CPUに対し割
込み信号を出力する割込みコントローラとを有し前記メ
モリ部に対するアクセス管理を行うマイクロコンピュー
タとを含み、このマイクロコンピュータに、全管理単位
のうちのアクセス管理を適用しかつメモリのページ単位
に、プログラム空間,データ空間のリード・ライト可
能、データ空間リードオンリなどの属性を与えるプロテ
クション情報により管理される所定の管理単位を指定す
る情報を格納しておくペースポインタ部を設け、このペ
ースポインタ部に格納されている情報と対応した管理単
位に対してアクセスの妥当性を判別するようにして構成
される。
また、マイクロコンピュータに、マルチタスク動作環
境における現在実行中のタスクを識別するための実行タ
スク識別手段と、前記マルチタスク動作環境のタスク数
分のアクセス管理情報部及びベースポインタ部とを設
け、前記実行タスク識別手段により識別されたタスクと
対応する前記アクセス管理情報部及びベースポインタ部
の出力情報により所定の管理単位のアクセス管理を行う
ようにした構成を有している。
境における現在実行中のタスクを識別するための実行タ
スク識別手段と、前記マルチタスク動作環境のタスク数
分のアクセス管理情報部及びベースポインタ部とを設
け、前記実行タスク識別手段により識別されたタスクと
対応する前記アクセス管理情報部及びベースポインタ部
の出力情報により所定の管理単位のアクセス管理を行う
ようにした構成を有している。
次に、本発明の実施例について図面を参照して説明す
る。
る。
第1図(a),(b)は本発明の第1実施例を示すブ
ロック図及びこの実施例のバス制御ユニットの内部ブロ
ック図である。
ロック図及びこの実施例のバス制御ユニットの内部ブロ
ック図である。
この実施例は、第1図(a)に示すように、マイクロ
コンピュータ100及びメモリ部200で構成され、マイクロ
コンピュータ100は、CPU10,バス制御ユニット(以下BCU
という)20,割込みコントローラ(以下INTCという)30
から構成され、それぞれのユニットは、内部データバス
3で相互に接続されている。また、CPU10からBCU20へは
32ビットの物理アドレスPADが出力されている。BCU20
は、INTC30に割込み信号INT1を出力し、INTC30はCPU10
に割込み信号INT2を出力する。また、BCU20とメモリ部2
00とは、32ビットのアドレスバス2と32ビットのデータ
バス4とで接続されている。
コンピュータ100及びメモリ部200で構成され、マイクロ
コンピュータ100は、CPU10,バス制御ユニット(以下BCU
という)20,割込みコントローラ(以下INTCという)30
から構成され、それぞれのユニットは、内部データバス
3で相互に接続されている。また、CPU10からBCU20へは
32ビットの物理アドレスPADが出力されている。BCU20
は、INTC30に割込み信号INT1を出力し、INTC30はCPU10
に割込み信号INT2を出力する。また、BCU20とメモリ部2
00とは、32ビットのアドレスバス2と32ビットのデータ
バス4とで接続されている。
BCU20は、第1図(b)に示すように、制御部24,アク
セス管理情報部としてのプロテクション情報部23,ベー
スポインタ部21,比較器22,データバッファ26,アドレス
バッファ25から構成される。
セス管理情報部としてのプロテクション情報部23,ベー
スポインタ部21,比較器22,データバッファ26,アドレス
バッファ25から構成される。
アドレスバッファ25には、物理アドレスバス1からの
内容が格納され、その出力がアドレスバス2に出力さ
れ、メモリ部200のアドレスを指定する。データバッフ
ァ26には、内部データバス3とデータバス4とが接続さ
れている。
内容が格納され、その出力がアドレスバス2に出力さ
れ、メモリ部200のアドレスを指定する。データバッフ
ァ26には、内部データバス3とデータバス4とが接続さ
れている。
メモリ部200のアクセス管理の単位であるページは4KB
とし、物理アドレスPADの上位20ビットとは、ページア
ドレスPGAとしてプロテクション情報部23と比較器22へ
入力される。ページアドレスPGAの20ビットのうち、下
位8ビットがプロテクション情報部23へ、上位12ビット
が比較器22へそれぞれ入力される。
とし、物理アドレスPADの上位20ビットとは、ページア
ドレスPGAとしてプロテクション情報部23と比較器22へ
入力される。ページアドレスPGAの20ビットのうち、下
位8ビットがプロテクション情報部23へ、上位12ビット
が比較器22へそれぞれ入力される。
プロテクション情報部23は、各ページ単位ごとの2ビ
ットのプロテクション情報PTIを256個分内蔵している。
このプロテクション情報PTIは、第6図で説明したディ
レクトリDIのプロテクション情報62の構成と同様のもの
を想定している。ページ単位が4KBで、最大256個のプロ
テクション情報PTIを設定できるため、最大1MBのメモリ
空間に対しプロテクション管理を適用することができ
る。
ットのプロテクション情報PTIを256個分内蔵している。
このプロテクション情報PTIは、第6図で説明したディ
レクトリDIのプロテクション情報62の構成と同様のもの
を想定している。ページ単位が4KBで、最大256個のプロ
テクション情報PTIを設定できるため、最大1MBのメモリ
空間に対しプロテクション管理を適用することができ
る。
ベースポインタ部21には、内部データバス3経由で、
プロテクションを適用するメモリ空間を4GB中のどの1MB
とするかを指定するアドレス情報が予め格納されてい
る。
プロテクションを適用するメモリ空間を4GB中のどの1MB
とするかを指定するアドレス情報が予め格納されてい
る。
32ビットの物理アドレスPADが与えられると、最上位
側の12ビットとベースポインタ部21の12ビットのアドレ
ス情報とを比較器103で比較し、これらが一致すると、
比較器22は一致信号EQを制御部24へ出力する。一方、プ
ロテクション情報部23からは、対応する2ビットのプロ
テクション情報PTIが制御部24へ出力される。
側の12ビットとベースポインタ部21の12ビットのアドレ
ス情報とを比較器103で比較し、これらが一致すると、
比較器22は一致信号EQを制御部24へ出力する。一方、プ
ロテクション情報部23からは、対応する2ビットのプロ
テクション情報PTIが制御部24へ出力される。
制御部24は、一致信号EQがアクティブである場合、プ
ロテクション情報PTIを判読し、従来例で説明したよう
にアクセスに誤りがあれば割込み信号INT1をINTC30に対
し出力する。以下、INTC30は割込み信号INT1に対する割
込み禁止判別処理等を行い、その結果に応じて割込み信
号INT2をCPU10に対し出力し、CPU10はこの割込み信号IN
T2に応じて所定の割込み処理等を行う。
ロテクション情報PTIを判読し、従来例で説明したよう
にアクセスに誤りがあれば割込み信号INT1をINTC30に対
し出力する。以下、INTC30は割込み信号INT1に対する割
込み禁止判別処理等を行い、その結果に応じて割込み信
号INT2をCPU10に対し出力し、CPU10はこの割込み信号IN
T2に応じて所定の割込み処理等を行う。
尚、この実施例においては、一致信号EQがインアクテ
ィブであるメモリ空間に対してプロテクションの管理を
実行せずアクセスを許すことを想定したが、これは1つ
の例であり、実際には他の方法を採ってもよい。
ィブであるメモリ空間に対してプロテクションの管理を
実行せずアクセスを許すことを想定したが、これは1つ
の例であり、実際には他の方法を採ってもよい。
第2図は本発明の第2の実施例のバス制御ユニットの
ブロック図である。
ブロック図である。
この実施例が第1の実施例と異なっている点は、バス
制御ユニット20Aに、プロテクション情報部23A,23B、ベ
ースポインタ部21A,21B、及び比較器22A,22Bのそれぞれ
2組ずつ設け、比較器22Aからの一致信号EQAがアクティ
ブの時にはプロテクション情報部23Aからのプロテクシ
ョン情報PTIAを、比較器22Bからの一致信号EQBがアクテ
ィブの時にはプロテクション情報部23Bからのプロテク
ション情報PTIBを選択し、2ビットのプロテクション情
報PTIを制御部24Aへ出力するセレクタ27を設け、また、
一致信号EQA,EQBが共にインアクティブである時、アク
ティブとなる不一致信号NEQを制御部24Aへ出力するゲー
ト回路G1を設けた点にある。
制御ユニット20Aに、プロテクション情報部23A,23B、ベ
ースポインタ部21A,21B、及び比較器22A,22Bのそれぞれ
2組ずつ設け、比較器22Aからの一致信号EQAがアクティ
ブの時にはプロテクション情報部23Aからのプロテクシ
ョン情報PTIAを、比較器22Bからの一致信号EQBがアクテ
ィブの時にはプロテクション情報部23Bからのプロテク
ション情報PTIBを選択し、2ビットのプロテクション情
報PTIを制御部24Aへ出力するセレクタ27を設け、また、
一致信号EQA,EQBが共にインアクティブである時、アク
ティブとなる不一致信号NEQを制御部24Aへ出力するゲー
ト回路G1を設けた点にある。
プロテクション情報部23A,23Bはそれぞれ、第1の実
施例と同様256個分のプロテクション情報PTIを内蔵して
いる。従って、ページが4KBで、最大256個のプロテクシ
ョン情報を設定できるため、これらで最大2MBの空間に
対しプロテクション管理を適用することができる。且
つ、ベースポインタ部21A,21Bには独立したベースポイ
ンタを設定することができるため、4GB中の2箇所に独
立した1MBのプロテクション管理空間を設定することが
できる。
施例と同様256個分のプロテクション情報PTIを内蔵して
いる。従って、ページが4KBで、最大256個のプロテクシ
ョン情報を設定できるため、これらで最大2MBの空間に
対しプロテクション管理を適用することができる。且
つ、ベースポインタ部21A,21Bには独立したベースポイ
ンタを設定することができるため、4GB中の2箇所に独
立した1MBのプロテクション管理空間を設定することが
できる。
制御部24Aは、一致信号EQA,EQBのいずれかがアクティ
ブである場合のみにプロテクション情報PTIのチェック
を行なう。
ブである場合のみにプロテクション情報PTIのチェック
を行なう。
第3図(a),(b)は本発明の第3の実施例を示す
ブロック図である。
ブロック図である。
この実施例は、バス制御ユニット20BからINTC30Aに対
して割込み信号INT11,INT12の2つの割込み信号を出力
している点が第1の実施例と異っている。また、この実
施例はマルチタスク動作環境を考慮し、そのタスクの数
を32個としている。
して割込み信号INT11,INT12の2つの割込み信号を出力
している点が第1の実施例と異っている。また、この実
施例はマルチタスク動作環境を考慮し、そのタスクの数
を32個としている。
この実施例のバス制御ユニット20Bは、制御部24B,プ
ロテクション情報部23C,ベースポインタ部21C,比較器2
2,実行タスク識別手段のカレントタスク識別番号部28,
データバッファ26,アドレスバッファ25から構成され
る。また、内部データバス3,データバス4とデータバッ
ファ26との接続、物理アドレスバス1,アドレスバス2と
アドレスバッファ25との接続は第1の実施例と同様であ
る。
ロテクション情報部23C,ベースポインタ部21C,比較器2
2,実行タスク識別手段のカレントタスク識別番号部28,
データバッファ26,アドレスバッファ25から構成され
る。また、内部データバス3,データバス4とデータバッ
ファ26との接続、物理アドレスバス1,アドレスバス2と
アドレスバッファ25との接続は第1の実施例と同様であ
る。
アクセス管理の単位であるページは4KBとし、物理ア
ドレスPADの上位20ビットは、ページアドレスPGAとして
プロテクション情報部23Cと比較器22とへ入力される。
プロテクション情報部201へはページアドレスPGAの下位
8ビットとカレントタスク識別番号部28からの5ビット
が、比較器22へはページアドレスPGAの上位12ビットと
ベースポインタ部21Cからの12ビットがそれぞれ入力さ
れる。
ドレスPADの上位20ビットは、ページアドレスPGAとして
プロテクション情報部23Cと比較器22とへ入力される。
プロテクション情報部201へはページアドレスPGAの下位
8ビットとカレントタスク識別番号部28からの5ビット
が、比較器22へはページアドレスPGAの上位12ビットと
ベースポインタ部21Cからの12ビットがそれぞれ入力さ
れる。
プロテクション情報部23Cは、256個分のプロテクショ
ン情報を32ブロック内蔵しており、従って32個の各タス
ク毎に独立に256個のプロテクション情報を設定でき
る。ベースポインタ部21Cには32個のタスクに対してそ
れぞれ独立したベースポインタを32個設定するとができ
るようになっており、従って4GB中の32箇所に独立した
プロテクこション管理空間を設定することができる。
ン情報を32ブロック内蔵しており、従って32個の各タス
ク毎に独立に256個のプロテクション情報を設定でき
る。ベースポインタ部21Cには32個のタスクに対してそ
れぞれ独立したベースポインタを32個設定するとができ
るようになっており、従って4GB中の32箇所に独立した
プロテクこション管理空間を設定することができる。
カレントタスク識別番号部28には、32個のタスクのう
ちの1つの情報が設定される。
ちの1つの情報が設定される。
32ビットの物理アドレスPADが与えられると、カレン
トタスク識別番号部28の情報でアドレスされるベースポ
イタ部21Cからのベースポインタ情報と、物理アドレスP
ADの上位の12ビットとを比較器22で比較する。一致する
と一致信号EQを制御24Bへ出力する。
トタスク識別番号部28の情報でアドレスされるベースポ
イタ部21Cからのベースポインタ情報と、物理アドレスP
ADの上位の12ビットとを比較器22で比較する。一致する
と一致信号EQを制御24Bへ出力する。
一方、プロテクション情報部23Cは、カレントタスク
識別番号部28の5ビットとページアドレスPGAの下位8
ビットとの合計13ビットでアドレスされるプロテクショ
ン情報PTIを制御部24Bへ出力する。
識別番号部28の5ビットとページアドレスPGAの下位8
ビットとの合計13ビットでアドレスされるプロテクショ
ン情報PTIを制御部24Bへ出力する。
制御部24Bは、一致信号EQがアクティブである場合の
みプロテクション情報PTIを判読し、従来例で説明した
ようにアクセスに誤りがあれば、割込み信号INT11をINT
C30Aに対し出力する。また一致信号EQがインアクティブ
の場合は、CPU10はカレントタスク以外のプログラム,
データ空間にアクセス要求をしているので、INTC30Aに
対して割込み信号INT12を発生し例外を通知する。以
下、INTC30A、CPU10の動作は前述の説明とほぼ同様であ
るため詳細な説明は省略する。
みプロテクション情報PTIを判読し、従来例で説明した
ようにアクセスに誤りがあれば、割込み信号INT11をINT
C30Aに対し出力する。また一致信号EQがインアクティブ
の場合は、CPU10はカレントタスク以外のプログラム,
データ空間にアクセス要求をしているので、INTC30Aに
対して割込み信号INT12を発生し例外を通知する。以
下、INTC30A、CPU10の動作は前述の説明とほぼ同様であ
るため詳細な説明は省略する。
以上説明したように本発明は、CPUからメモリ部への
アドレス指定、及びCPU,メモリ部間のデータの伝送は単
にバッファのみを介して行い、マイクロコンピュータ内
のバス制御ユニットに、管理単位ごとのアクセス管理情
報(プロテクション情報)を記載しておき、CPUからの
アドレスによりアクセス管理情報を読出してこのアクセ
ス管理情報を判別してメモリ部のアクセス管理を行い、
また、マルチタスク動作環境下においては実行タスク識
別手段を設けてそれぞれのタスクに対してメモリ部のア
クセス管理を行う構成とすることにより、従来のメモリ
マネジメント・ユニットや制御ロッジック部等のハード
ウェアを削減することができるので設計コスト及び製造
コストを低減することができ、また、メモリアクセスの
際のチェック機能だけを必要とする利用者に対しては、
ページテーブルの設定やミス・ヒットの際のディレクト
リ入換え等が不要となるので、プログラム作成の負担を
軽減することができる効果がある。
アドレス指定、及びCPU,メモリ部間のデータの伝送は単
にバッファのみを介して行い、マイクロコンピュータ内
のバス制御ユニットに、管理単位ごとのアクセス管理情
報(プロテクション情報)を記載しておき、CPUからの
アドレスによりアクセス管理情報を読出してこのアクセ
ス管理情報を判別してメモリ部のアクセス管理を行い、
また、マルチタスク動作環境下においては実行タスク識
別手段を設けてそれぞれのタスクに対してメモリ部のア
クセス管理を行う構成とすることにより、従来のメモリ
マネジメント・ユニットや制御ロッジック部等のハード
ウェアを削減することができるので設計コスト及び製造
コストを低減することができ、また、メモリアクセスの
際のチェック機能だけを必要とする利用者に対しては、
ページテーブルの設定やミス・ヒットの際のディレクト
リ入換え等が不要となるので、プログラム作成の負担を
軽減することができる効果がある。
第1図(a),(b)は本発明の第1の実施例を示すブ
ロック図、第2図は本発明の第2の実施例を示すブロッ
ク図、第3図(a),(b)は本発明の第3の実施例を
示すブロック図、第4図は従来のマイクロコンピュータ
・システムの一例を示すブロック図、第5図及び第6図
はそれぞれ第4図に示されたマイクロコンピュータ・シ
ステムのメモリマネジメント・ユニットの内部ブロック
図及びこのマイクロコンピュータ・システムで使用され
るディレクトリのデータフォーマット図、第7図は第4
図に示されたマイクロコンピュータ・システムのバス制
御ユニットの内部ブロック図である。 1……物理アドレスバス、2……アドレスバス、3……
内部データバス、4……データバス、5……論理アドレ
スバス、10,10A……CPU、20,20A〜20C……バス制御ユニ
ット、21,21A〜21C……ベースポインタ部、22,22A,22B
……比較器、23,23A〜23C……プロテクション情報部、2
4,24A〜24C……制御部、25……アドレスバッファ、26…
…データバッファ、27……セレクタ、28……カレントタ
スス識別番号部、30,30A,30B……割込みコントローラ、
40……メモリマネジメント・ユニット、41……アドレス
入力バッファ、42……アドレス出力バッファ、43……内
部変換用記憶部、44……CTID記憶部、45A〜45D……比較
器、46A,46B……セレクタ、47……割込み制御部、100,1
00B,100C……マイクロコンピュータ、200……メモリ
部、201……ページテーブル・ポインタ、202……加算
器、203……セレクタ。
ロック図、第2図は本発明の第2の実施例を示すブロッ
ク図、第3図(a),(b)は本発明の第3の実施例を
示すブロック図、第4図は従来のマイクロコンピュータ
・システムの一例を示すブロック図、第5図及び第6図
はそれぞれ第4図に示されたマイクロコンピュータ・シ
ステムのメモリマネジメント・ユニットの内部ブロック
図及びこのマイクロコンピュータ・システムで使用され
るディレクトリのデータフォーマット図、第7図は第4
図に示されたマイクロコンピュータ・システムのバス制
御ユニットの内部ブロック図である。 1……物理アドレスバス、2……アドレスバス、3……
内部データバス、4……データバス、5……論理アドレ
スバス、10,10A……CPU、20,20A〜20C……バス制御ユニ
ット、21,21A〜21C……ベースポインタ部、22,22A,22B
……比較器、23,23A〜23C……プロテクション情報部、2
4,24A〜24C……制御部、25……アドレスバッファ、26…
…データバッファ、27……セレクタ、28……カレントタ
スス識別番号部、30,30A,30B……割込みコントローラ、
40……メモリマネジメント・ユニット、41……アドレス
入力バッファ、42……アドレス出力バッファ、43……内
部変換用記憶部、44……CTID記憶部、45A〜45D……比較
器、46A,46B……セレクタ、47……割込み制御部、100,1
00B,100C……マイクロコンピュータ、200……メモリ
部、201……ページテーブル・ポインタ、202……加算
器、203……セレクタ。
Claims (3)
- 【請求項1】メモリ部と;このメモリ部の全アドレス空
間と対応する物理アドレスの物理アドレスバスへの出
力、内部データバスからのデータの処理、処理されたデ
ータの前記内部データバスへの出力、及び入力された割
込み信号に対する処理を含む所定の処理を行うCPUと、
前記物理アドレスを一時保持し前記メモリ部へ出力する
アドレスバッファ、前記メモリと接続するデータバスと
前記内部データバスとの間のデータを一時保持し伝達す
るデータバッファ、前記メモリ部の全アドレス空同を所
定の管理単位に分割しこれら管理単位に対するアクセス
の管理情報を記憶しておき、前記物理アドレスの所定の
ビットにより指定された前記管理情報を出力するアクセ
ス管理情報部、及びこのアクセス管理情報部からの管理
情報に従って前記管理単位に対するアクセスの妥当性を
判別しその結果に応じて割込み信号を出力する制御部を
備えたバス制御ユニットと、このバス制御ユニットから
の割込み信号に対し所定の判断,処理を行いその結果に
応じて前記CPUに対し割込み信号を出力する制込みコン
トローラとを有し前記メモリ部に対するアクセス管理を
行うマイクロコンピュータとを含み、このマイクロコン
ピュータに、全メモリ管理単位のうちのアクセス管理を
適用しかつメモリのページ単位に、プログラム空間,デ
ータ空間のリード・ライト可能、データ空間リードオン
リなどの属性を与えるプロテクション情報により管理さ
れる所定の管理単位を指定する情報を格納しておくペー
スポインタ部を設け、このペースポインタ部に格納され
ている情報と対応した管理単位に対してアクセスの妥当
性を判別するようにしたことを特徴とするマイクロコン
ピュータ・システム。 - 【請求項2】マイクロコンピュータのアクセス管理情報
部及びベースポインタ部をそれぞれ複数設け、全管理単
位のうちのアクセス管理の適用部分を複数、独立して設
定できるようにした請求項1記載のマイクロコンピュー
タ・システム。 - 【請求項3】マイクロコンピュータに、マルチタスク動
作環境における現在実行中のタスクを識別するための実
行タスク識別手段と、前記マルチタスク動作環境のタス
ク数分のアクセス管理情報部及びペースポインタ部とを
設け、前記実行タスク識別手段により識別されたタスク
と対応する前記アクセス管理情報部及びベースポインタ
部の出力情報により所定の管理単位のアクセス管理を行
うようにした請求項1記載のマイクロコンピュータ・シ
ステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02024096A JP3087279B2 (ja) | 1990-02-01 | 1990-02-01 | マイクロコンピュータ・システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02024096A JP3087279B2 (ja) | 1990-02-01 | 1990-02-01 | マイクロコンピュータ・システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03228156A JPH03228156A (ja) | 1991-10-09 |
JP3087279B2 true JP3087279B2 (ja) | 2000-09-11 |
Family
ID=12128844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02024096A Expired - Fee Related JP3087279B2 (ja) | 1990-02-01 | 1990-02-01 | マイクロコンピュータ・システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3087279B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05131781A (ja) * | 1991-10-15 | 1993-05-28 | Nissan Seimei Hoken Sougogashiya | 隠蔽ラベル付き葉書 |
-
1990
- 1990-02-01 JP JP02024096A patent/JP3087279B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05131781A (ja) * | 1991-10-15 | 1993-05-28 | Nissan Seimei Hoken Sougogashiya | 隠蔽ラベル付き葉書 |
Also Published As
Publication number | Publication date |
---|---|
JPH03228156A (ja) | 1991-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2833062B2 (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
JP5628404B2 (ja) | キャッシュされたメモリデータを伴うキャッシュメモリ属性インジケータ | |
JP3713312B2 (ja) | データ処理装置 | |
JP2635058B2 (ja) | アドレス変換方式 | |
US4763244A (en) | Paged memory management unit capable of selectively supporting multiple address spaces | |
US5119290A (en) | Alias address support | |
US6189074B1 (en) | Mechanism for storing system level attributes in a translation lookaside buffer | |
US5287475A (en) | Data processing apparatus operable in extended or unextended virtual address spaces without software modification | |
US5475827A (en) | Dynamic look-aside table for multiple size pages | |
US4763250A (en) | Paged memory management unit having variable number of translation table levels | |
US5666509A (en) | Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof | |
EP0408058A2 (en) | Microprocessor | |
JP2002539555A (ja) | 32ビット・マイクロプロセッサにおける4および8バイト・ページ・テーブル・エントリを使用した線形アドレス拡張および物理メモリへのマッピング | |
US20020156989A1 (en) | Method for sharing a translation lookaside buffer between CPUs | |
US20050027960A1 (en) | Translation look-aside buffer sharing among logical partitions | |
JPH079632B2 (ja) | アドレス変換装置および方法 | |
US5440708A (en) | Microprocessor and storage management system having said microprocessor | |
JP3087279B2 (ja) | マイクロコンピュータ・システム | |
JPH071489B2 (ja) | コンピュータ装置およびコンピュータ装置においてキャッシュデータアレイ内のデータの不一致を検出して修正する方法 | |
JPS6237752A (ja) | 別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム | |
CA2029628A1 (en) | Translation look aside buffer with parallel exception checking and update bypass | |
JPH11242633A (ja) | メモリ保護方式 | |
JPH05250262A (ja) | マスキングされた保護間接ページ記述子を用いたデ−タ・プロセッサにおけるアドレス変換の方法および装置 | |
JP2005108262A (ja) | データ処理装置 | |
JP3290682B2 (ja) | アドレス変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070714 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080714 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090714 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |