JPH0520197A - 記憶管理システム及びマイクロプロセツサ - Google Patents

記憶管理システム及びマイクロプロセツサ

Info

Publication number
JPH0520197A
JPH0520197A JP3194756A JP19475691A JPH0520197A JP H0520197 A JPH0520197 A JP H0520197A JP 3194756 A JP3194756 A JP 3194756A JP 19475691 A JP19475691 A JP 19475691A JP H0520197 A JPH0520197 A JP H0520197A
Authority
JP
Japan
Prior art keywords
physical
address
information
physical space
space management
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.)
Withdrawn
Application number
JP3194756A
Other languages
English (en)
Inventor
Katsuaki Takagi
克明 高木
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3194756A priority Critical patent/JPH0520197A/ja
Priority to US07/906,967 priority patent/US5440708A/en
Priority to KR1019920011995A priority patent/KR930002943A/ko
Publication of JPH0520197A publication Critical patent/JPH0520197A/ja
Withdrawn 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
    • 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
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Abstract

(57)【要約】 【目的】 物理空間に関する属性情報をシステムで要求
される分解能をもって管理すると共に、ページ共有やマ
ルチプロセッサシステムにおいても属性情報と関連させ
て物理空間を信頼性を以て管理することにある。 【構成】 仮想記憶をサポートするシステムにおいて、
複数領域の集合として把握される物理空間の夫々の領域
の属性情報を当該物理空間の領域と対応づけて保持する
ための物理空間管理テーブルPMTをマイクロプロセッ
サ1の外部に配置する。マイクロプロセッサ1には、そ
の物理空間管理テーブルPMTから属性情報を取得して
管理するための物理空間管理手段3を設ける。属性管理
のための処理の高速化のために、前記物理空間管理手段
3は、物理空間管理テーブル検索制御手段PSTと、こ
の物理空間管理テーブル検索制御手段PSTで得られた
属性情報と物理後アドレスとを対応づけて一次的に保持
する物理情報バッファ手段PIBとを含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は記憶管理システム並びに
同システムに利用されるマイクロプロセッサに関し、特
に物理空間の属性を物理空間管理テーブルで管理する技
術に関し、例えば、論理空間管理(仮想記憶管理)機構
をもつマルチプロセッサシステムに適用して有効な技術
に関するものである。
【0002】
【従来の技術】物理空間に関する属性の一例としてバス
のサイズがある。図13は物理空間上のメモリマップの
一例が示される。この例では、大部分のメモリはバスサ
イズが32ビットであるが、一部のROMは16ビッ
ト、入出力装置(I/Oで示す)は8ビットとなってい
る。このような可変バスサイズを実現する方法としてダ
イナミックバスサイジングと呼ばれる方法がある。この
方法では、プロセッサが外部バスに対してアクセスを行
うと、外部のバスコントローラがそのアドレスに対する
バスサイズを応答し、プロセッサ側は応答されたバスサ
イズに従って処理を行うようになっている。外部コント
ローラにバスサイズの情報が設定されているので、外部
バスに16ビットと32ビットのデバイス(メモリ等)
が混在していても、プログラムで意識することなくアク
セスすることができる。このようにダイナミックバスサ
イジングはバスサイズに関して融通性に富むが、外部の
バスコントローラからの応答によって次のバスサイクル
のアドレスが決まるのでり、高速化には向かない。一方
物理空間に関する属性の他の例としてアドレスパイプラ
インがある。この機能は現在のバスアクセスが完了する
前に次のアドレスを出すことによって、メモリのアクセ
ス時間を見掛け上小さくすることができる機能である。
従来のマイクロプロセッサではダイナミックバスサイジ
ングと同様、外部のバスコントローラが指定されたアド
レスに対してパイプラインができるかどうかをプロセッ
サに対し応答するようになっている。
【0003】バスサイズ指定を高速化する技術としては
特開昭62−232062号に開示されたものがある。
これは、図14に示されるように、プロセッサ上に物理
アドレスとバスサイズの関係を指定するレジスタを設
け、物理アドレスに対応してプロセッサ内部でバスサイ
ズを決定できるようにするものである。ポート幅保持レ
ジスタは物理アドレスを幾つかの領域に区分し、領域毎
のバスサイズを保持するレジスタである。物理アドレス
はアドレス判別回路に入力され、どの領域に属するかが
判別された後対応するポート幅保持レジスタからバスサ
イズ情報が読み出される。この結果に応じてバイト選択
制御装置が動作する。このようにしてプロセッサ内部で
バスサイズが決定された後バスアクセスが開始されるの
で、高速化しやすい。
【0004】物理空間に関する更に別の属性として論理
空間管理における物理ページの参照、変更情報がある。
これは物理アドレスでアクセスされるメモリを1次記
憶、磁気ディスク等を2次記憶とする論理空間システム
において、論理空間を2次記憶のページに対応付けてお
き、論理空間上のページが1次記憶上に存在しないと
き、オペレーティングシステムの介在によって2次記憶
上のページを1次記憶上に取り込み、実行するものであ
る。この場合1次記憶に空きがないときには一部のペー
ジを2次記憶に退避し、そこに新しいページを入れる必
要がある。このページの入れ替えのために使われる情報
が物理ページの参照、変更情報である。これらの情報は
一般に論理空間管理テーブル内に用意されている。この
情報は本来物理空間に対応付けて管理されるべきもので
あるが、既に論理空間管理テーブルが存在しているので
この中に設けると簡単であるため、論理空間管理テーブ
ル内に設けられていた。
【0005】
【発明が解決しようとする課題】前記アドレスパイプラ
インと可変バスサイズを同時に行おうとすると、外部の
バスコントローラが応答を返す方式では実現できない。
これはアドレスパイプラインでは次のサイクルのアドレ
スを予め用意しておき、バスコントローラからの応答が
返ってきたらすぐに次のバスサイクルを開始しなくては
ならないが、ダイナミックバスサイジングは外部のバス
コントローラからの応答によって次のバスサイクルのア
ドレスが決まり、その後アドレスの加算等の処理を行う
ので、アドレスパイプラインのバスタイミングには間に
合わないためである。
【0006】またバスサイズ指定の方法として知られて
いるような、プロセッサ内にバス幅保持レジスタをもつ
方法の場合、レジスタとして持てる本数は限られるた
め、管理対象の領域サイズが大きくなりすぎるという欠
点がある。例えば4Gバイトのアドレス空間があってレ
ジスタ16本で等分割して指定する場合、各領域サイズ
は256Mバイトとなる。しかし一般に実装されるメモ
リバイト数は時代と共に増大するものの全体で数Mバイ
トから数十Mバイト程度である。従ってレジスタ指定に
よる方法では物理空間の管理に本来要求される細かさで
制御することは困難である。
【0007】さらに、論理空間管理における物理ページ
の参照、変更情報は、従来論理空間管理テーブル内に用
意されているが、論理空間上の異なるアドレスに対して
同一の物理アドレスを割り付けるページ共有を行った場
合、およびマルチプロセッサ構成において各プロセッサ
が別々の論理空間管理テーブルを使用する場合、一つの
物理アドレスに対して複数の参照、変更情報が対応する
ことになる。従来このような場合の管理はオペレーティ
ングシステムに任されているが、特にマルチプロセッサ
における管理は複雑となり管理は容易ではない。
【0008】本発明の目的は、システムの要求仕様に応
じて物理空間をその用途に応じて如何様にも細かくマッ
ピングしても、バスサイズや仮想記憶システムにおける
ページ入れ替えのために利用される参照並びに変更情報
など物理空間に関する属性情報を、システムで要求され
る細かさ若しくは分解能をもって管理することができる
記憶管理システムならびに同システムに好適なマイクロ
プロセッサを提供することにある。さらに物理空間に関
する属性管理のための構成がマイクロプロセッサのチッ
プ面積増大をもたらさず、且つその属性情報を利用する
指示の生成処理速度を犠牲にしない記憶管理システム並
びに同システムに好適なマイクロプロセッサを提供する
ことにある。
【0009】また本発明の別の目的は、アドレスパイプ
ラインと可変バスサイズの処理とを並行して行うことが
できる記憶管理システム並びに同システムに好適なマイ
クロプロセッサを提供することにある。
【0010】本発明の更に別の目的は、論理空間上の異
なるアドレスに対して同一の物理アドレスを割り付ける
ページ共有を行った場合、およびマルチプロセッサ構成
において各プロセッサが別々の論理空間管理テーブルを
使用する場合、一つの物理アドレスに対して複数の参
照、変更情報が対応されることに起因する矛盾を生ぜ
ず、物理空間の管理が比較的簡単であって、且つ、ペー
ジ入れ替えなどに伴う処理を簡単化することができる記
憶管理システム並びに同システムに好適なマイクロプロ
セッサを提供することにある。
【0011】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0012】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0013】すなわち、仮想記憶をサポートするシステ
ムにおいて、複数領域の集合として把握される物理空間
の夫々の領域の属性情報を当該物理空間の領域と対応づ
けて保持するための物理空間管理テーブルをマイクロプ
ロセッサの外部に配置する。そして、マイクロプロセッ
サには、その物理空間管理テーブルから属性情報を取得
して管理するための物理空間管理手段を設けるものであ
る。
【0014】属性管理のための処理の高速化のために、
前記物理空間管理手段は、物理空間管理テーブル検索制
御手段と、この物理空間管理テーブル検索制御手段で得
られた属性情報と物理後アドレスとを対応づけて一次的
に保持する物理情報バッファ手段とを含むことができ
る。
【0015】前記属性情報が、可変バスサイズのための
バスサイズ情報などのようなシステムのハードウェア構
成に従って固定的に決定される属性情報である場合、物
理空間管理テーブル検索制御手段は、物理アドレスに対
応するエントリが前記物理情報バッファ手段に存在しな
い場合に、物理アドレスによる外部アクセスに先立って
当該物理アドレスに対応する属性情報を物理空間管理テ
ーブルから検索する機能を有する。
【0016】バスサイズ情報は、マイクロプロセッサの
バス制御部に供給され、バス制御部は、そのバスサイズ
情報に基づいてバスサイズを指定するための信号をマイ
クロプロセッサの内外に出力する。
【0017】1次記憶とされる物理空間と2次記憶とさ
れる周辺記憶装置との間のページ入れ替えを考慮したと
き、前記属性情報は、物理空間上の領域に対して情報を
参照したか否かを示す参照情報及び物理空間上の領域に
対して情報を変更したか否かを示す変更情報を含む。こ
のとき、前記物理空間管理テーブル検索制御手段は、物
理空間管理テーブル及び前記物理情報バッファ手段の情
報に含まれる属性情報を書き換える機能を有する。
【0018】物理空間管理テーブルのためのメモリ利用
効率を上げ、且つ、物理空間に対して属性情報の管理を
極めて細かく行うには、物理空間管理テーブルに対し
て、物理セクションテーブルや物理ページテーブルのよ
うな複数レベルのテーブル構造を採用するとよい。これ
にしたがって、前記物理空間管理テーブル検索制御手段
は、物理空間管理テーブルのアドレスを指定するための
単数若しくは複数のベースレジスタを有し、ベースレジ
スタの値と物理アドレスの一部との演算で得られる値、
又は/及び、この値と前記物理アドレスの残りの一部又
は全部との演算で得られる値に基づいて物理空間管理テ
ーブルを検索する機能を有する。
【0019】
【作用】上記した手段によれば、マイクロプロセッサの
外部に配置される物理空間管理テーブルには物理空間の
利用形態若しくはマッピング状態に応じ必要とされる如
何様な属性情報をも配置しておくことができ、且つ、マ
イクロプロセッサ内部の記憶手段の記憶容量に影響され
ない。このことは、システムの要求仕様に応じて物理領
域をその用途などに応じて如何様にも細かくマッピング
しても、バスサイズやページ入れ替えのために利用され
る参照並びに変更情報など物理空間に関する属性情報
を、システムで要求される細かさ若しくは分解能をもっ
て管理することを可能にする。
【0020】マイクロプロセッサは物理空間管理テーブ
ルから検索した属性情報を物理アドレスと対応づけて一
次的に保持するバッファ手段を有し、アクセス動作に際
してその物理アドレスに対応する有効なエントリが当該
バッファ手段にある場合にはその属性情報を利用する。
このことは、物理空間に関する属性管理のための構成が
マイクロプロセッサのチップ面積増大をもたらさず、且
つバスサイズ情報などその属性情報を利用するための指
示の生成を高速化するように作用する。
【0021】属性情報は物理空間に直接的に対応付けさ
れて管理され、論理空間上の異なるアドレスに対して同
一の物理アドレスを割り付けるページ共有を行った場
合、およびマルチプロセッサ構成において各プロセッサ
が別々の論理空間管理テーブルを使用する場合でも、一
つの物理アドレスに対して一つの参照、変更情報が対応
される。このことは、参照、変更情報と物理アドレスの
相互間で矛盾を生ぜず、且つ、参照、変更情報の管理を
極めて容易にする。
【0022】
【実施例】本発明に係る記憶管理システム及び物理空間
管理方式の実施例を順次項目に従って説明する。
【0023】〔1〕記憶管理の概要
【0024】図1には本発明が適用される記憶管理の概
要が示される。同図において100はアーキテクチャ上
の論理アドレス(仮想アドレス)によって表される仮想
の記憶空間としての論理空間(仮想記憶)、4はハード
ウェアとして存在して物理アドレス(実アドレス)で参
照される物理空間(実記憶)、5は磁気ディスク装置の
ような周辺記憶装置である。ATは論理空間上の論理ア
ドレスと物理空間上の物理アドレスとの対応関係を示す
論理空間管理テーブルであり、アドレス変換時にはその
論理空間管理テーブルATの内容を参照して論理アドレ
スを物理アドレスに変換する。この例の記憶管理では、
物理アドレスでアクセスされる物理空間4を1次記憶、
周辺記憶装置5を2次記憶とする。論理空間100は、
特に制限されないが、2次記憶5のページに対応付けら
れる。論理空間100上のページが1次記憶4上に存在
しないとき、例えばオペレーティングシステムの介在に
よって2次記憶5上のページを1次記憶4上に取り込
む。このとき1次記憶4に空きがないときは一部のペー
ジを2次記憶5に退避し、そこに新しいページを入れ
る。このページの入れ替えのために物理ページの参照情
報及び変更情報が利用される。参照情報は物理空間4上
で記憶情報を参照したか否かを示す情報とされ、変更情
報は1次記憶4上で記憶情報を書き換えられたか否かを
示す情報とされる。ページ入れ替えに際して、参照も変
更もされていないページが有ればその内容を待避するこ
となく当該ページを物理空間4から追い出し、変更され
ているページを追い出すときには待避を行う。これら物
理ページの参照並びに変更情報は、後述するバスサイズ
情報と共に物理空間101に関する属性情報とされる。
これら属性情報は物理アドレスに対応づけられて物理空
間管理テーブルPMTが保有する。この物理空間管理テ
ーブルPMTは、論理空間管理テーブルATとは独立に
物理空間4上に構成され、対応する物理アドレスへの書
き込みなどの状況に応じて所定の属性情報が更新され
る。
【0025】このようにそれら属性情報は物理空間4に
直接的に対応付けされて管理される。したがって、論理
空間上の異なるアドレスに対して同一の物理アドレスを
割り付けるページ共有を行った場合、およびマルチプロ
セッサ構成において各プロセッサが別々の論理空間管理
テーブルを使用する場合でも、一つの物理アドレスに対
して一つの参照、変更情報が対応されることになる。こ
れに対して従来のように論理空間管理における物理アド
レスの参照、変更情報を論理空間管理テーブル内で論理
アドレスに対応させて管理する場合に、ページ共有を行
ったり、マルチプロセッサ構成において各プロセッサが
別々の論理空間管理テーブルを使用したりするときに
は、一つの物理アドレスに対して複数の参照、変更情報
が対応されることになる。このことにより、本実施例の
記憶管理によれば、参照、変更情報と物理アドレスの相
互間で矛盾を生ぜず、参照、変更情報の管理が極めて簡
単になる。尚、前記ページ共有は、例えば小プロセスが
起動されたりすることによって同一物理ページに相互に
異なる論理ページが割り当てられることによって生ず
る。
【0026】〔2〕記憶管理システム
【0027】図2には図1に示した記憶管理を適用した
本発明の一実施例に係る記憶管理システムが示される。
1はマイクロプロセッサ、4は1次記憶としてのメイン
メモリ、5は2次記憶としての磁気ディスク装置であ
る。メインメモリ4はハードウェアとして存在して物理
アドレスで参照される物理空間として位置づけられ、同
図においては作業領域、データの一次記憶領域、及び周
辺回路のバッファ領域などを構成するメモリの総称とさ
れる。マイクロプロセッサ1は、アーキテクチャ上の論
理アドレスによって表される仮想の記憶空間としての論
理空間をサポートし、論理アドレスを物理アドレスに変
換したりする論理空間管理のための機構として論理空間
管理機構2を有する。さらに、前記物理ページの参照及
び変更情報、並びに後述するバスサイズ情報などの物理
空間に関する属性情報を物理アドレスに対応させて管理
したりするために物理空間管理機構3が設けられてい
る。論理空間管理のための前記論理空間管理テーブルA
T及び物理空間管理のための前記物理空間管理テーブル
PMTはそれぞれメインメモリ4の所定の記憶領域に配
置されている。
【0028】マイクロプロセッサ1において11で示さ
れる機能ブロックは、命令制御ユニット及び実行ユニッ
トを含む命令制御実行ユニットである。命令制御ユニッ
トは、所定の手順に従って命令をフェッチしてこれを解
読し、その解読結果に従って実行ユニットやその他の部
分に適切な制御信号を与える。実行ユニットは、演算装
置や記憶装置を有し、命令制御ユニットから与えられる
制御に従って各種演算等のデータ処理を行う。各種デー
タの処理に必要なデータはデータバスDBを介して外部
との間で転送される。そのためのデータ入力レジスタD
IR、データ出力レジスタDOR、アライナALNを有
する。例えばデータバスDBが32ビット、レジスタI
DR,DORのビット数が32ビットであるとき、前記
アライナALNは、その入力側と出力側との間で32ビ
ットに含まれる上位16ビットと下位16ビットとを入
れ換えたりする。なお、図2においてICは命令キャッ
シュメモリ、DCはデータキャッシュメモリ、PCKは
転送データをパリティーチェックするための回路であ
る。
【0029】バス制御部BIFは、有効なアドレス送出
を示すアドレスストローブ信号AS*(*はローイネー
ブルであることを意味する)、読み出しか書き込みかを
示すリード/ライト信号R/W*、バスのパイプライン
を行うかどうかを示すパイプライン信号PP*、データ
バス上において例えばバイト単位でデータの有効性を示
すバイトコントロール信号BCi(例えば32ビットバ
スの場合i=0〜3の4ビットの信号とされる)を出力
し、また、外部からのデータ転送完了を示すデータ転送
完了信号DC*を入力する。バス制御部BIFはその他
にプロセッサ内部の制御を行うための信号も出力する。
なお連続転送を行う場合にはバスサイズに応じてアドレ
ス加算機構ADDに加算情報を送り、アドレス出力レジ
スタAORの保持値を所定数だけ増加させ、次のバスサ
イクルで出力すべきアドレスを自動的に生成するように
なっている。バス制御部BIFには物理空間管理機構3
から所定の属性情報31が与えられ、例えば前記バイト
コントロール信号BCiの生成に利用される。
【0030】マイクロプロセッサ1からアドレスバスA
Bに出力されるアドレス信号及びバス制御部BIFから
出力されるバス制御信号によってメインメモリ4が読出
し動作されると、その読出しデータはデータバスDBを
介してマイクロプロセッサ1に取り込まれる。このデー
タはアライナALNでバス制御部BIFからのバスサイ
ズの情報に従ってデータバス上の有効な情報のみを抽出
されてデータ入力レジスタDIRに送りこまれる。また
データはキャッシュ取り込み許可状態のときデータキャ
ッシュDCにも取り込まれ、その後同一のアドレスでア
クセスが行われるときには外部アクセスを行わずデータ
キャッシュDCからデータが読み出されることになる。
なおキャッシュ取り込み許可/不許可状態は物理情報バ
ッファPIBから属性情報31のひとつとして指定する
ことができる。
【0031】マイクロプロセッサ1からアドレスバスA
Bに出力されるアドレス信号及びバス制御部BIFから
出力されるバス制御信号によってメインメモリ4に書き
込み動作が指示されると、書き込みデータはデータ出力
レジスタDORにセットされた後、アライナALNでバ
ス制御部BIFからのバスサイズ情報に従ってデータバ
ス上の有効なバイト位置に乗せられて出力される。また
データキャッシュDC上に書き込み先のアドレスが存在
する場合には同時にデータキャッシュDCにも書き込み
が行われる。なおパリティチェック機構PCKはデータ
読み込み時にはデータバスに関するパリティチェックを
行い、データ書き込み時にはデータバス上の情報に対し
てパリティビットを付加する機能を持つ。
【0032】命令読み込みの場合もデータ読み込みの場
合と同様の動作をする。但し図には示していないが一般
には命令はアライナALNを経由せずに命令制御ユニッ
トの命令取り込み機構に直接転送される場合が多い。ま
た命令キャッシュICやデータキャッシュDCには、特
に図示はしていないが、一般には物理アドレスが入力さ
れている。
【0033】〔3〕論理空間管理
【0034】前記命令制御実行ユニット11で生成され
るアドレス情報はアドレス出力レジスタAORにセット
される。論理空間管理を行っているときには、論理空間
管理機構2が機能する。この場合アドレス出力レジスタ
AORが保持するアドレス情報は論理アドレスと解釈さ
れ、論理空間管理機構2によって物理アドレスに変換さ
れる。
【0035】論理空間管理機構2は、図2に示されるよ
うに、論理アドレスと物理アドレスの変換表である論理
空間管理テーブル(アドレス変換テーブル)ATを検索
するための動的アドレス変換機構DATと、これにより
得られた論理アドレスと物理アドレスとの関係対を一時
的に記憶しておくアドレス変換バッファTLBとから構
成される。アドレス出力レジスタAORから出力される
論理アドレスはアドレス変換バッファTLBに取り込ま
れる。取り込まれた論理アドレスがアドレス変換バッフ
ァTLB内に登録されているものと一致する場合には、
対応する関係対から物理アドレスを得てアドレス変換バ
ッファTLBから物理アドレス21が出力される。ま
た、取り込まれた論理アドレスがアドレス変換バッファ
TLBに登録されていない場合には、動的アドレス変換
機構DATによってアドレス変換テーブルベースレジス
タATBRが指す論理空間管理テーブルATが検索さ
れ、検索によって得られた結果がデータバスDBを通し
てアドレス変換バッファTLBに登録され、その後、上
記と同様にしてアドレス変換バッファTLBから物理ア
ドレス21が出力される。尚、マイクロプロセッサ1が
論理空間管理を行っていないときには、1点鎖線の矢印
で示されるようにアドレス変換バッファTLBをバイパ
スする経路を通ってアドレス出力レジスタAORの内容
がそのまま物理アドレスとして出力される。このように
して得られた物理アドレス21はそのままアドレスバス
ABに出力される。
【0036】ここで、論理空間管理におけるアドレス変
換方式としては、特に制限されないが、図3に示される
ような2レベルページング方式を採用することができ
る。この方式は、論理空間を先ず大きなセグメントに分
割し、夫々を更にページ単位に区分するという2段階の
区分とされる。図3におけるセグメントテーブル及びペ
ージテーブルが前記論理空間管理テーブルATに構成さ
れている。
【0037】〔4〕物理空間管理
【0038】物理管理機構3は、前記論理空間管理で生
成される物理アドレス21若しくは命令制御実行ユニッ
ト11から出力される物理アドレス21を入力し、当該
物理アドレスに対応する属性情報を取得したり、属性情
報を必要に応じて修正したりする。物理空間管理機構3
は、物理アドレスと対応付けられる属性情報を含む物理
空間管理テーブルPMTを検索したり必要に応じて属性
情報を書換制御するための物理テーブル検索制御機構P
TSと、これによって得られた物理アドレスと属性情報
の関係対を一時的に記憶しておく物理情報バッファPI
Bとから構成される。物理情報バッファPIBは、これ
に供給される物理アドレス21が物理情報バッファPI
B内に登録されているものと一致するか否かを判定し、
一致する場合には、対応する関係対から得た属性情報3
1をバス制御部BIFなどに出力する。バス制御部BI
Fは、その属性情報などに従って、マイクロプロセッサ
1内部の制御や外部バスの制御信号を生成する。またそ
の物理アドレス21が物理情報バッファPIBに登録さ
れていない場合には物理アドレス21の出力が一時停止
され、物理テーブル検索制御機構PTSによって物理空
間管理テーブルベースレジスタPTBRが指す物理空間
管理テーブルPMTが検索され、その検索結果がデータ
バスDB並びに物理テーブル検索制御機構PTSを経由
して物理情報バッファPIBに登録され、その後、物理
アドレス21の出力を再開して上記と同様にして物理情
報バッファPIBから属性情報31を得てバス制御部B
IFに与える。物理アドレス信号21及びバス制御部B
IFから出力される制御信号によるメインメモリ4のア
クセスが行われると、そのアクセスが読出しか書き込み
かの種別により必要に応じて参照情報や変更情報といっ
た属性情報の書換を行う。このとき、物理情報バッファ
PIBと物理空間管理テーブルPMTとの内容の整合性
を維持するように考慮される。即ち、物理情報バッファ
PIBの属性情報を書き換えたときは必ずそれに対応す
る物理空間管理テーブルPMTの属性情報も変更する。
【0039】BWTはバスウォッチャであり、特に制限
されないが、外部バスマスタモジュールによる書き込み
サイクル時におけるアドレスバス上のアドレスを取り込
み、データキャッシュDCとメインメモリ4との記憶デ
ータの整合を保ったりするためのエントリ修正の指示を
生成する。
【0040】〔5〕物理空間管理テーブル
【0041】図4には物理空間管理テーブルPMTの構
造および検索方法の一例が示される。ここでは物理アド
レスは32ビット構成としている。物理アドレスを上位
側から2、8、10ビットに分割する。上位2ビットは
物理アドレス空間を1Gバイトずつの領域に分割する。
各領域には1本ずつ物理空間管理テーブルベースレジス
タPTBRが割当てられ、各領域に対応する物理空間管
理テーブルPMTの先頭アドレスを指定する。次の8ビ
ットは各領域内を4Mバイトずつのセクションに分割
し、更に次の10ビットは各セクション内を4kバイト
ずつのページに分割する。物理空間管理テーブルPMT
はこの例では物理セクションテーブルPSTと物理ペー
ジテーブルPPTの2段で構成される。物理空間管理テ
ーブルベースレジスタPTBRは物理セクションテーブ
ルPSTの先頭アドレスを指定する。また物理セクショ
ンテーブルPSTには物理ページテーブルPPTの先頭
アドレスが含まれている。ある物理アドレスに対するテ
ーブル検索は次のように行われる。まず物理アドレスの
上位2ビットRで4本の物理空間管理テーブルベースレ
ジスタPTBRのうち1本が選択される。ここに含まれ
る値と物理アドレスの次の8ビットSを加算したものが
物理セクションテーブルPST内の対応するエントリの
アドレスとなる。さらにこのエントリに含まれる値と物
理アドレスの次の10ビットPを加算したものが物理ペ
ージテーブルPPT内の対応するエントリのアドレスと
なる。この中に属性情報が記述されており、マイクロプ
ロセッサ1はこの内容を読み込んで物理アドレスと対に
して物理情報バッファPIBに保持して使用する。前記
加算演算は物理テーブル検索制御機構PTSが行う。な
お、この分割の場合、物理セクションテーブルPSTの
エントリ数は2の8乗で256エントリ、物理ページテ
ーブルPPTのエントリ数は2の10乗で1024エン
トリとなる。物理セクションテーブルPSTの一つのエ
ントリが4バイト、物理ページテーブルPPTの一つの
エントリが1バイトとすると、物理セクションテーブル
PSTと物理ページテーブルPPTのテーブルサイズは
共に1kバイトとなり、管理を行うには手頃な大きさに
なる。
【0042】〔6〕物理空間管理テーブルのエントリ構
成例
【0043】図5には物理空間管理テーブルを構成する
エントリの構造の一例が示される。物理空間管理テーブ
ルベースレジスタPTBRは32ビットあり、上位22
ビットには物理セクションテーブルPSTの先頭アドレ
スを示す物理セクションテーブルべースPSTBがセッ
トされている。物理セクションテーブルPSTをアクセ
スする場合には下位10ビットは0が入っているものと
みなす。従って物理セクションテーブルPSTは1kバ
イト単位に置くことが可能である。下位10ビットの内
訳は次のようになっている。
【0044】BSは2ビットありバスサイズを指定す
る。例えばBS=00は8ビット、01は16ビット、
10は32ビット、11は64ビットというような指定
が可能である。
【0045】WTは同様に2ビットありメモリアクセス
時のウェイトに関する指定を行う。例えばWT=00は
ウェイトなし、01は1ウェイト、10は2ウェイト、
11は外部機器からのデータ転送完了信号を待つという
ような指定が可能である。プロセッサが高速になるとデ
ータ転送完了信号を外部で作る余裕がなくなる。このた
めプロセッサおよびメモリ自体は高速動作可能であるに
もかかわらずウェイトを入れざるを得なくなる。このよ
うな場合に高速メモリに対して予めウェイト数を指定し
ておけば、プロセッサおよびメモリの最高性能を引き出
すことができる。
【0046】PPはバスのパイプライン動作(アドレス
パイプライン)を行うかどうかを指定する。PP=0な
らパイプライン動作しない、1ならパイプライン動作す
ることを示す。バスパイプラインを行う場合、例えばア
ドレスを2クロック以内に外部でラッチしてもらうこと
を要求する。したがって、マイクロプロセッサ1は所定
期間アドレスを出力するとバスサイクルの完了を待たず
に次のアドレスを出力することができる。外部機器にと
っては予め次のアドレスを知ることができるため早めに
応答準備を開始することができ、システム全体としての
高速化に有効である。
【0047】WEは書き込みアクセスの許可を指定す
る。WE=0なら書き込みは禁止される。また1なら許
可される。WE=0のアドレスに書き込みを行おうとす
るとプロセッサはメモリ保護違反例外を発生する。この
機能はデータの保護に有効である。
【0048】CBはキャッシュメモリのコピーバック
(ライトバック)を行うかどうかを指定する。CB=0
ならコピーバック禁止、1ならコピーバックすることを
示す。対象となるキャッシュメモリはマイクロプロセッ
サ1に内蔵のものでも外部に接続されるものでもよい。
例えば論理空間管理対象のメモリはコピーバック禁止、
スタックやタスク固有の情報はコピーバック対象とする
ことが考えられる。
【0049】NCはキャッシュへの取り込み制御であ
る。NC=0なら取り込み可能、1なら禁止を意味す
る。マルチプロセッサにおける共有メモリや、入出力装
置が割り当てられているアドレスはキャッシュへの取り
込みを禁止する必要がある。
【0050】PEはパリティイネーブルである。PE=
0のときパリティチェック及びパリティ付加は行わず、
1のときこれらを行うことを示す。
【0051】CTは物理セクションテーブルPSTがあ
るかどうかを示す。CT=0のときこのエントリに対す
る物理セクションテーブルPSTは存在しない。また1
のときは物理セクションテーブルPSTが続くことを示
す。CTを用いることによって物理空間管理テーブルベ
ースレジスタPTBR一本分の管理する1Gバイト全体
の属性が同一である場合、物理セクションテーブルPS
Tや物理ページテーブルPPTを用意する必要がなくな
り、メモリの節約になると共に、ユーザは同一内容のテ
ーブルを多数作成する煩わしさから開放される。CTが
1の場合、物理空間管理テーブルベースレジスタPTB
R内にあるBSからPEまでの情報は無視され次に続く
テーブルの内容が有効になる。
【0052】物理セクションテーブルエントリ(物理セ
クションテーブルPSTの一つのエントリ)PSTEは
物理空間管理テーブルベースレジスタPTBRと同一の
内容を持つが、上位22ビットが物理ページテーブルP
PTの先頭アドレスである点が異なる。なお後述するよ
うにBS,PEは物理ページテーブルエントリPPTE
から削除した。従ってこの情報についてはCTが1であ
っても物理セクションテーブルエントリPSTEの記述
内容が有効になる。
【0053】物理ページテーブルエントリ(物理ページ
テーブルPPTの一つのエントリ)PPTEはこれまで
のものと異なり、8ビット構成である。情報としては次
段のテーブルアドレスおよび次段への継続を示すビット
CTがなくなる。またページ毎に保持すべき論理空間関
連の属性情報として参照ビットR、変更ビットMが付加
される。この結果は11ビットになるが、ここでは更に
BS,PEの合計3ビットの情報を削って8ビットとな
るように構成にした。こうすることによって物理ページ
テーブルのサイズを半分の1kバイトに抑えることがで
きる。尚、ページテーブルエントリPPTEにおいて情
報BS,PEを削除することにより、これらは最少4M
バイト単位で管理されることになるが、一般の使用では
支障ないと判断される。
【0054】〔7〕バスサイジング
【0055】図6には物理空間管理テーブルPMTによ
ってバスサイズを管理するときのメモリの構成例が示さ
れる。メインメモリ4を構成するメモリ45、46、4
7はそれぞれバスサイズが32、16、8ビットであ
る。またメモリアドレスは、例えば16進表示でメモリ
45が0xx−xからBxx−xまで、メモリ46がC
xx−xからExx−xまで、メモリ47がFxx−x
に割り当てられている。マイクロプロセッサ1からはデ
ータバス上の有効なバイト位置を示すバイトコントロー
ル信号BC0〜BC3が各メモリに入力されている。メ
モリはバイトを単位として構成されており、メモリ45
はバイトコントロール信号BC0−BC3のそれぞれに
対して応答する機能を持っている。しかしメモリ46は
BC0とBC1に対してのみ応答する。
【0056】図7にはバスサイズ指定に対しマイクロプ
ロセッサ1内のデータがどのようにバスに出力されるか
を示す。例えばバスサイズ指定が16ビットであってプ
ロセッサ内のデータが32ビットかつアドレス出力レジ
スタAORにセットされた書き込みアドレスが−xx1
であるときを考える。バスサイズ指定が16ビットであ
ることからデータバスの有効なバイト位置はバイトコン
トロール信号BC0,BC1に対応するバイト位置とな
る。この場合のバスの動作は次のようになる。最初のバ
スサイクルではBC1のみアサートされデータバス上の
対応するバイトに最初の1バイトデータが出力される。
次にアドレス出力レジスタAORは+1され、BC0,
BC1がアサートされると共に対応するバイト位置に続
くデータが出力される。AORは+2され最後のバスサ
イクルでBC0のみアサートされると共に対応するバイ
ト位置にデータが最後の1バイト分出力される。なお書
き込みの場合について説明したが読み込みの場合の動作
も同様である。
【0057】図8は図6のメモリ構成に対するテーブル
設定の例である。同図の例はバスサイズ制御にのみ注目
した場合のテーブル設定例である。アドレス0xx−か
らBxx−まで3Gバイトの物理空間は図6に示される
ように32ビット幅となっており物理空間管理テーブル
ベースレジスタPTBR1本は1Gバイトを管理するた
め、このアドレス範囲に対してはPTBR0〜2のみで
バスサイズの指定が可能である。この設定例に従えば、
当該3Gバイトの物理空間に関しては物理空間管理テー
ブルは不要であり、CT=0と設定しておきレジスタ中
のBSにバスサイズを指定しておけばよい。
【0058】一方アドレスCxx−からExx−までの
768Mバイトは16ビット幅、Fxx−の256Mバ
イトは8ビット幅となっており、管理単位が1Gバイト
の物理空間管理テーブルベースレジスタPTBRだけで
は指定できない。従ってPTBR3においてCT=1と
して物理空間管理テーブルの使用を宣言すると共に、P
STBには物理セクションテーブルPSTの先頭アドレ
スを設定する。このときPTBR3の他の情報は無効に
なる。物理セクションテーブルPSTは1エントリの管
理範囲が4Mバイトである。従ってPSTE0〜PST
E191まではバスサイズ16ビット、PSTE192
〜PSTE255はバスサイズ8ビットを指定するよう
に設定を行う。この場合物理ページテーブルPPTは不
要なので各PSTEのCTは0としておけばよい。
【0059】尚、図8のテーブル設定例はバスサイズの
設定にのみ着目した例であり、実際にはその他の属性情
報が存在するためテーブルの構成も細分化される。この
とき、物理ページテーブルを必要としない物理領域、即
ち、物理セクションテーブル又は物理空間管理テーブル
ベースレジスタにおけるビットCTが0にされて管理さ
れる物理領域は、I/Oアドレスのように物理メモリ上
に固定的に存在していて欲しいところのページ入れ替え
対象外とされる。ページ入れ替え対象外とされるので、
本実施例に従えばその物理領域に対しては参照ビットR
と変更ビットMも不要とされている。
【0060】〔8〕アドレスパイプライン
【0061】図9は、図8の属性情報設定においてさら
にアドレスパイプライン有効と設定した場合のバスの動
作をタイミングチャートで示したものである。アドレス
aの値は16進表示でBFFFFFFFCであってバス
サイズが32ビットから16ビットに切り替わる境界の
アドレスである。また読み込みデータは連続転送するこ
とを仮定している。バスは2クロックで動作する。しか
しアドレスからデータ出力までは3クロック必要であ
り、アドレスパイプライン動作によってこのギャップを
解消している。クロック1ではアドレスaが出力される
と共に、アドレスストローブAS*、パイプライン信号
PP*がアサートされる。アドレスaはクロック2まで
出力された後データ転送の完了を待たずに次のアドレス
a+4の出力が開始される。データDi()はクロッ
ク3でマイクロプロセッサ1に到着し、この状態はデー
タ完了信号DC*でマイクロプロセッサ1に通知され
る。このような動作はメモリ側がアドレスパイプライン
動作に対応するためのアドレスラッチ機構などを備えた
構成となっているために可能になる。
【0062】この例ではバスサイズの切り替わりでもバ
スのパイプライン動作が可能にされる。これは、マイク
ロプロセッサ1内部のバス制御部BIFが物理情報バッ
ファPIBから出力されるバスサイズ情報をもらってバ
イトコントロールのための信号を形成して出力するから
である。ダイナミックバスサイジングの場合にはクロッ
ク2ないし3の時点でアドレスaに対するバス幅が外部
のバス制御回路から報告される。従ってアドレスの加算
が可能になるのは早くてもクロック3からであり、クロ
ック3から次のアドレスを発行することはできない。こ
のように物理アドレスのバスサイズ情報を物理空間管理
テーブルを介して予め指定することによってアドレスパ
イプラインとバスサイジングとの両立が可能になる。
【0063】
〔9〕マルチプロセッサシステム
【0064】図10には論理空間管理機構2を持つマル
チプロセッサのシステム構成例が示される。各マイクロ
プロセッサ1−1,1−2はローカルメモリ43−1,
43−2の他にバスインタフェース6−1,6−2を通
じて共有メモリ44をアクセスすることができる。また
共有メモリ44は論理空間管理の対象となっており2次
記憶装置5との間でページ単位で転送(ページ入れ替
え)が発生する。仮想記憶システムにおける論理空間は
一般的に2次記憶装置5に対応付けられており、ある論
理アドレスのページがメモリ上に用意されていない場
合、オペレーティングシステムの介在によって2次記憶
装置からのページの転送が発生する。この時オペレーテ
ィングシステムはメモリ上にあって最近参照されていな
いページをまず検索する。この機能をサポートするため
に前記参照ビットRが存在する。またそのページに書き
込みが行われたかどうかに従って2次記憶装置への書き
戻しを行うかどうかを決定する。書き込みが行われてい
なければ書き戻す必要はなく転送時間が節約できる。こ
の機能をサポートするために前記変更ビットMがある。
これらのビットR,Mは物理的なメモリ属性情報の一つ
であり、前記物理空間管理テーブルPMT上に用意され
ている。この図では共有メモリ44のページイメージが
物理空間管理テーブルPMTに1対1に対応して設けら
れている状態が一例として図示されている。
【0065】オペレーティングシステムの介在による前
記ページ入れ替えのための処理では、物理空間管理テー
ブルPMTの内容を順次スキャンして、参照ビットR及
び変更ビットMを調べていく。このとき、前記参照ビッ
ト及び変更ビットなどの属性情報は物理アドレスとを直
接対応づけ可能なように当該テーブルPMTに保有され
ているので、前記命令制御実行ユニット11で直接物理
アドレスを生成して当該スキャン動作を行うことがで
き、そのための処理は極めて簡単であり、オペレーティ
ングシステム若しくはソフトウェアへの負担が軽減され
て処理速度が向上する。
【0066】このシステム構成においてそれぞれのプロ
セッサ1は内部に物理空間管理テーブルPMTのコピー
である物理情報バッファPIBを持っており、そこには
変更ビットMもコピーされている。今プロセッサ1−2
が共有メモリ44に書き込みを行うことを考える。また
そのページに関する属性情報がそれぞれの物理情報バッ
ファPIB−1とPIB−2の両方に既にコピーされて
おり、変更ビットMは0になっている、即ちまだ書き込
みされていないことを意味しているものとする。ここで
プロセッサ1−2が共有メモリ44に書き込みを行う
と、物理管理テーブル検索制御機構PTS−2は物理空
間管理テーブルPMTの対応する属性情報関係対の変更
ビットMを1に書き換える。また同時にそのコピーであ
るプロセッサ1−2内の物理情報バッファPIB−2に
ついても該当するアドレスの関係対の変更ビットMを1
に書き換える。
【0067】マルチプロセッサシステムの場合、同一関
係対のコピーは更に他のプロセッサ即ちここではプロセ
ッサ1−1にも存在する。従ってプロセッサ1−1内の
物理情報バッファPIB−1の該当アドレスに対する関
係対の変更ビットMに対しても同様の書き換えを行う必
要がある。この方法にはプロセッサ1−2がプロセッサ
1−1に対して何等かの信号線により書き換えを知らせ
る方法と、プロセッサ1−1がバス上の情報を監視し、
共有メモリ44への書き込みが発生した場合にはそのア
ドレスをモニタし物理情報バッファPIB−1に反映さ
せる方法がある。本実施例では、前記バスウォッチャB
WTを利用して後者のバスモニタ形式を採用する。この
ようにして各プロセッサ1内の物理情報バッファPIB
の内容が物理空間管理テーブル41と同一になることを
保証することができる。
【0068】図11には図10のシステム構成において
論理空間管理を行うマルチプロセッサシステムにおける
ファイルの割当て状況の一例が示される。物理メモリ
(1次記憶44)は考察を簡単にするため図11の
(a)に示すように1〜4の4ページのみ存在するもの
とする。またファイル(2次記憶5)上にはa,b,
c,d等のページがあるものとする。プロセッサ1−1
とプロセッサ1−2は別々に論理空間管理されており、
論理空間上の論理ページ(仮想ページとも記す)とファ
イル上のページの対応も異なる。例えば、論理空間上で
のファイル割当において、論理空間上のページ5、6に
対し、プロセッサ1−1ではファイル上のページa,b
が対応し、プロセッサ1−2ではファイルのページe,
fが対応している。
【0069】図12には前記図11の(bに示される)
ファイル割付けのもとでの物理メモリの使用状況と変更
ビットMの設定状況が示される。図12の(a)におけ
る第1枠は経過時間を示し、第2枠はプロセッサ1−1
によるアクセス状況を示し、第3枠はプロセッサ1−2
によるアクセス状況を示す。第2及び3枠内の上段はア
クセスする論理空間上のページ番号であり、下段はその
アクセスが書き込み(W)であるか読み出し(R)であ
るかを示す。また第3乃至6枠は物理メモリの各ページ
に対して割り当てられるファイル上のページを示す。ハ
ッチングはファイルからメモリに転送された後メモリ上
のデータに対して書き込みが行われたことを意味する。
【0070】物理メモリの使用状況の推移は次のように
なる。物理メモリのページ3に注目する。物理メモリ3
へのファイルの取り込みは経過時間3で行われる。この
ときプロセッサ1−1は仮想ページ3からの読み出しを
行おうとしている。これはファイルのcに対応するがま
だメモリには取り込まれていない。従ってプロセッサ1
−1はページ不在例外を発生しファイルからページcの
読み込みを行う。転送先はまだ使用されていない物理ペ
ージ3である。この転送処理の後プロセッサ1−1は仮
想ページ3に対して読み出しアクセスを行いこれは実際
には物理ページ3へのアクセスとなる。次に経過時間4
においてプロセッサ1−2が仮想ページ3に対して書き
込みを行う。このページはファイル上のcであり物理ペ
ージ3に対応する。次に経過時間7ではプロセッサ1−
2が仮想ページ5からの読み出しを行おうとするがこれ
に対応するファイルのeはまだメモリ上に取り込まれて
いない。そこでプロセッサ1−2は現在いちばん使用さ
れていないページとして物理ページ3を選択し、この内
容をファイルに書き戻してここに新しくeをファイから
取り込む処理を行う。このようにして物理ページ3の内
容はファイル上のeに変更される。
【0071】ここでアドレス変換テーブル上に変更ビッ
トMがある場合の、経過時間6までの変更ビットMの状
況が図12の(b)に示される。この場合は仮想ページ
に対する書き込みのみ管理の対象とするものであるか
ら、プロセッサ1−1については物理ページ1に割り当
てられる同一内容aを持つ仮想ページ1と仮想ページ5
の夫々の変更ビットMが相互に異なる現象を生ずる。こ
れは、図1において概念的に示されるように、論理空間
100の論理ページ1,5が経時的に物理空間4の物理
ページ1に割り当てられた状態であり、論理ページ1,
5に対応する論理空間管理テーブルATの別々の場所に
変更ビットMが保有されるからである。また論理ページ
3はプロセッサ1−1とプロセッサ1−2とでは同一の
内容cに対するものであるにもかかわらず変更ビットM
の値が異なる。これも夫々のマイクロプロセッサ1−
1,1−2が個々に固有の論理空間管理機構2−1,2
−2を介して変更ビットMのような属性情報を論理空間
に対応づけて管理するからである。従ってオペレーティ
ングシステムはこのことを充分認識した上で論理空間管
理を行わなくてはならず。ページ入れ替えなどの処理が
複雑化し、且つその処理にも時間がかかる。
【0072】同様に物理空間管理テーブルPMTで変更
ビットMを管理するとき、時間6が経過するまでの変更
ビットMの状況が図12の(c)に示される。この場合
仮想ページに対してどのような書き込みが行われても物
理ページに対する実際の書き込みのみを管理するので上
記のような不一致が生じることはない。結果としては物
理ページの1、2、3が変更されていることを変更ビッ
トMを見ることによって知ることができる。なおこの場
合物理ページの管理単位は仮想ページの管理単位と一致
するかそれより小さいことが要求される。従って例えば
仮想ページのサイズが4kバイトの場合は物理ページの
サイズも4kバイトとすることが適当である。
【0073】上記実施例によれば以下の作用効果があ
る。
【0074】(1)マイクロプロセッサ1の外部に配置
される物理空間管理テーブルPMTには物理空間の利用
形態若しくはマッピング状態に応じ必要とされる如何様
な属性情報をも配置しておくことができ、且つ、マイク
ロプロセッサ1内部の記憶手段の記憶容量に影響されな
い。したがって、システムの要求仕様に応じて物理空間
をその用途などに応じて如何様に細かくマッピングして
も、バスサイズやページ入れ替えのために利用される参
照並びに変更情報など物理空間に関する属性情報を、シ
ステムで要求される細かさ若しくは分解能をもって管理
することができる。
【0075】(2)マイクロプロセッサ1は物理空間管
理テーブルPMTから検索した属性情報を物理アドレス
と対応づけて一次的に保持するバッファ手段PIBを有
し、アクセス動作に際してその物理アドレスに対応する
有効なエントリが当該バッファ手段PIBにある場合に
はその属性情報を利用する。したがって、物理空間に関
する属性管理のための構成がマイクロプロセッサ1のチ
ップ面積増大をもたらさず、且つバスサイズ情報などそ
の属性情報を利用するための指示の生成を高速化するこ
とができる。
【0076】(3)物理空間管理テーブルPMTに対し
て、物理セクションテーブルや物理ページテーブルのよ
うな複数レベルのテーブル構造を採用することにより、
また、物理空間管理テーブル検索制御手段PSTは、物
理空間管理テーブルPMTのアドレスを指定するための
単数若しくは複数のベースレジスタPTBRを有し、ベ
ースレジスタPTBRの値と物理アドレスの一部との演
算で得られる値、又は/及び、この値と前記物理アドレ
スの残りの一部又は全部との演算で得られる値に基づい
て物理空間管理テーブルを検索することにより、物理空
間管理テーブルPMTのためのメモリ利用効率を向上さ
せ、且つ、物理空間に対する属性情報の管理を極めて細
かく行うことを可能にする。
【0077】(4)物理アドレスのバスサイズ情報が物
理空間管理テーブルを介して予め指定され、マイクロプ
ロセッサ1内部のバス制御部BIFが物理情報バッファ
PIBから出力されるバスサイズ情報をもらってバイト
コントロールのための信号を形成するから、バスサイズ
の切り替わりでもアドレスパイプライン動作を確実に行
うことができる。
【0078】(5)属性情報は物理空間に直接的に対応
付けされて管理され、論理空間上の異なるアドレスに対
して同一の物理アドレスを割り付けるページ共有を行っ
た場合、およびマルチプロセッサ構成において各プロセ
ッサが別々の論理空間管理テーブルを使用する場合で
も、一つの物理アドレスに対して一つの参照、変更情報
が対応される。これにより、参照、変更情報と物理アド
レスの相互間で矛盾を生ぜず、且つ、参照、変更情報の
管理を極めて容易に行うことができる。
【0079】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
【0080】例えば上記実施例では論理空間管理機構を
マイクロプロセッサの内部に有する構造を一例として説
明したが、メモリマネージメントユニットのような論理
空間管理機構をマイクロプロセッサの外部に配置するシ
ステムであってもよい。また、物理空間管理テーブルの
構造は上記実施例の2レベル構造に限定されない。更に
属性情報は上記実施例で説明したものを全て含まなくて
もよく、また別の属性情報を含んでもよい。
【0081】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0082】すなわち、マイクロプロセッサの外部に配
置される物理空間管理テーブルには物理空間の利用形態
若しくはマッピング状態に応じ必要とされる如何様な属
性情報をも配置しておくことができ、且つ、マイクロプ
ロセッサ1内部の記憶手段の記憶容量に影響されないか
ら、システムの要求仕様に応じて物理空間をその用途な
どに応じて如何様に細かくマッピングしても、バスサイ
ズやページ入れ替えのために利用される参照並びに変更
情報など物理空間に関する属性情報を、システムで要求
される細かさ若しくは分解能をもって管理することがで
きるという効果がある。
【0083】マイクロプロセッサは物理空間管理テーブ
ルから検索した属性情報を物理アドレスと対応づけて一
次的に保持するバッファ手段を有し、アクセス動作に際
してその物理アドレスに対応する有効なエントリが当該
バッファ手段にある場合にはその属性情報を利用する。
したがって、物理空間に関する属性管理のための構成が
マイクロプロセッサのチップ面積増大をもたらさず、且
つバスサイズ情報などその属性情報を利用するための指
示の生成を高速化することができるという効果がある。
【0084】物理空間管理テーブルに対して、物理セク
ションテーブルや物理ページテーブルのような複数レベ
ルのテーブル構造を採用することにより、物理空間管理
テーブルのためのメモリ利用効率を向上させ、且つ、物
理空間に対する属性情報の管理を極めて細かく行うこと
ができるという効果がある。
【0085】物理アドレスのバスサイズ情報が物理空間
管理テーブルを介して予め指定され、マイクロプロセッ
サ内部のバス制御部が物理情報バッファから出力される
バスサイズ情報をもらってバイトコントロールのための
信号を形成するから、バスサイズの切り替わりでもアド
レスパイプライン動作を確実に行うことができるという
効果がある。
【0086】属性情報は物理空間に直接的に対応付けさ
れて管理され、論理空間上の異なるアドレスに対して同
一の物理アドレスを割り付けるページ共有を行った場
合、およびマルチプロセッサ構成において各プロセッサ
が別々の論理空間管理テーブルを使用する場合でも、一
つの物理アドレスに対して一つの参照、変更情報が対応
される。これにより、参照、変更情報と物理アドレスの
相互間で矛盾を生ぜず、且つ、参照、変更情報の管理を
極めて容易に行うことができるという効果がある。
【図面の簡単な説明】
【図1】図1は本発明が適用される記憶管理の概要を示
す一例説明図である。
【図2】図2は図1に示した記憶管理を適用した本発明
の一実施例に係る記憶管理システムのブロック図であ
る。
【図3】図3は論理空間管理におけるアドレス変換方式
の一例としての2レベルページング方式の説明図であ
る。
【図4】図4は物理空間管理テーブルの構造および検索
方法の一例説明図である。
【図5】図5は物理空間管理テーブルを構成するエント
リの一例構造説明図である。
【図6】図6は物理空間管理テーブルによってバスサイ
ズを管理するときのメモリの一例構成説明図である。
【図7】図7はバスサイズ指定に対しマイクロプロセッ
サ内のデータがどのようにバスに出力されるかを示す一
例説明図である。
【図8】図8は図6のメモリ構成に対する物理管理テー
ブルの設定例を示す説明図である。
【図9】図9はアドレスパイプラインとバスサイジング
とを並行させる場合の一例動作タイミングチャートであ
る。
【図10】図10は論理空間管理機構を持つマルチプロ
セッサシステムの一例ブロック図である。
【図11】図11は図10のシステム構成において論理
空間管理を行うマルチプロセッサシステムにおけるファ
イルの割当て状況の一例を示す説明図である。
【図12】図12は前記図11のファイル割付けのもと
での物理メモリの使用状況と変更ビットMの設定状況を
示す一例説明図である。
【図13】図13は物理空間上の一例メモリマッピング
図である。
【図14】図14は内蔵レジスタを利用してバスサイズ
を管理する従来技術の説明図である。
【符号の説明】
1 マイクロプロセッサ 11 命令制御及び実行ユニット 2 論理空間管理機構 21 物理アドレス TLB アドレス変換バッファ DAT 動的アドレス変換機構 AT 論理空間管理テーブル 3 物理空間管理機構 31 属性情報 BS バスサイズ情報 R 参照ビット M 変更ビット PIB 物理情報バッファ PTS 物理テーブル検索制御機構 PMT 物理空間管理テーブル PTBR 物理空間管理テーブルベースレジスタ PST 物理セクションテーブル PPT 物理ページテーブル 4 メインメモリ(1次記憶) 5 磁気ディスク装置(2次記憶) BIF バス制御部 BC0乃至BC3 バイトコントロール信号 IC 命令キャッシュ DC データキャッシュ PCK パリティチェック機構 AOR アドレスレジスタ ADD アドレス加算機構 DIR データ入力レジスタ DOR データ出力レジスタ ALN アライナ 6 バスインタフェース

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 仮想記憶としての論理空間に対応する論
    理アドレスを生成するマイクロプロセッサと、 論理空間に対応する物理空間としての物理空間と、 論理空間の論理アドレスを物理空間の実アドレスに変換
    する情報を保持するための論理空間管理テーブルと、 論理空間管理テーブルが保有する情報を利用して論理ア
    ドレスを実アドレスに変換するための論理空間管理手段
    と、 複数領域の集合として把握される物理空間の夫々の領域
    の属性情報を当該物理空間の領域と対応づけて保持する
    ために前記マイクロプロセッサの外部に配置された物理
    空間管理テーブルと、 この物理空間管理テーブルから属性情報を取得して管理
    するために前記マイクロプロセッサに設けられた物理空
    間管理手段と、 を有して成る記憶管理システム。
  2. 【請求項2】 前記物理空間管理手段は、物理アドレス
    による外部アクセスに先立って当該物理アドレスに対応
    する属性を含む情報を物理空間管理テーブルから検索す
    る機能を少なくとも有する物理空間管理テーブル検索制
    御手段と、前記物理空間管理テーブル検索制御手段で得
    られた情報を一次的に保持する物理情報バッファ手段と
    を有してなるものである請求項1記載の記憶管理システ
    ム。
  3. 【請求項3】 前記属性情報は、物理空間に割り当てら
    れるハードウェアとの間でデータ転送を行うために必要
    なバスのサイズを指定するためのバスサイズ情報を含む
    ものである請求項2記載の記憶管理システム。
  4. 【請求項4】 前記物理空間管理テーブル検索制御手段
    は、物理空間管理テーブル及び前記物理情報バッファ手
    段の情報に含まれる属性情報を書き換える機能を有する
    ものである請求項3記載の記憶管理システム。
  5. 【請求項5】 1次記憶とされる物理空間に対して2次
    記憶とされる周辺記憶装置を更に有し、このとき前記属
    性情報は、物理空間上の領域に対して情報を参照したか
    否かを示す参照情報及び物理空間上の領域に対して情報
    を変更したか否かを示す変更情報を含むものである請求
    項4記載の記憶管理システム。
  6. 【請求項6】 所定の手順に従ってフェッチした命令を
    解読し、これによって得られる制御信号に基づいて命令
    を実行する命令制御実行手段と、 内部で生成される論理アドレスを実アドレスに変換して
    出力するための論理空間管理手段と、 論理空間管理手段で生成される実アドレスの属性を管理
    するための物理空間管理手段とを含み、 前記物理空間管理手段は、物理空間の物理アドレスと当
    該物理アドレスによって特定される領域の属性情報とを
    対にした物理情報対を保持するための物理情報バッファ
    手段と、前記命令制御実行手段又は論理空間管理手段で
    生成された物理アドレスに対応する物理アドレスを含む
    物理情報対が前記物理情報バッファ手段に存在しない場
    合には、当該物理アドレスに対応する属性情報を外部か
    ら検索する物理空間管理テーブル検索制御手段とを含ん
    で、 成るものであるマイクロプロセッサ。
  7. 【請求項7】 前記物理情報バッファ手段は、前記命令
    制御実行手段又は論理空間管理手段で生成された物理ア
    ドレスに対応する物理アドレスを含む物理情報対が存在
    するか否かを判定し、存在しない場合にはその旨を前記
    物理空間管理テーブル検索制御手段に通知し、存在する
    場合には該当する属性情報を出力するものである請求項
    6記載のマイクロプロセッサ。
  8. 【請求項8】 前記物理情報バッファ手段から出力され
    る物理情報を受けて、外部とのデータ転送に必要なバス
    のサイズを指定するための信号を出力可能なバス制御部
    を更に含んで成る請求項7記載のマイクロプロセッサ。
  9. 【請求項9】 前記物理空間管理テーブル検索制御手段
    は、物理空間管理テーブルのアドレスを指定するための
    単数若しくは複数のベースレジスタを有し、ベースレジ
    スタの値と物理アドレスの一部との演算で得られる値、
    又は/及び、この値と前記物理アドレスの残りの一部又
    は全部との演算で得られる値に基づいて物理空間管理テ
    ーブルを検索するものである請求項6乃至8の何れか1
    項記載のマイクロプロセッサ。
  10. 【請求項10】 前記物理空間管理テーブル検索制御手
    段は、物理空間管理テーブル及び前記物理情報バッファ
    手段の情報に含まれる属性情報を整合させるために書き
    換える機能を有するものである請求項6乃至9の何れか
    1項記載の記憶管理システム。
JP3194756A 1991-07-09 1991-07-09 記憶管理システム及びマイクロプロセツサ Withdrawn JPH0520197A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP3194756A JPH0520197A (ja) 1991-07-09 1991-07-09 記憶管理システム及びマイクロプロセツサ
US07/906,967 US5440708A (en) 1991-07-09 1992-06-30 Microprocessor and storage management system having said microprocessor
KR1019920011995A KR930002943A (ko) 1991-07-09 1992-07-06 마이크로프로세서 및 그것을 갖는 기억관리시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3194756A JPH0520197A (ja) 1991-07-09 1991-07-09 記憶管理システム及びマイクロプロセツサ

Publications (1)

Publication Number Publication Date
JPH0520197A true JPH0520197A (ja) 1993-01-29

Family

ID=16329717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3194756A Withdrawn JPH0520197A (ja) 1991-07-09 1991-07-09 記憶管理システム及びマイクロプロセツサ

Country Status (3)

Country Link
US (1) US5440708A (ja)
JP (1) JPH0520197A (ja)
KR (1) KR930002943A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999024906A1 (fr) * 1997-11-06 1999-05-20 Hitachi, Ltd. Processeur de donnees et systeme de traitement de donnees
US6983374B2 (en) 2000-02-14 2006-01-03 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
JP2007179106A (ja) * 2005-12-26 2007-07-12 Fuji Xerox Co Ltd 処理システム
WO2011061948A1 (ja) * 2009-11-17 2011-05-26 株式会社ユビキタス プログラム、制御方法、並びに制御装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666509A (en) * 1994-03-24 1997-09-09 Motorola, Inc. Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof
US5537587A (en) * 1994-05-11 1996-07-16 International Business Machines Corporation File record maintenance in a data processing system by synchronization of menus with corresponding data files
US5630087A (en) * 1994-11-02 1997-05-13 Sun Microsystems, Inc. Apparatus and method for efficient sharing of virtual memory translations
JPH11203191A (ja) * 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
US6862635B1 (en) * 1998-11-13 2005-03-01 Cray Inc. Synchronization techniques in a multithreaded environment
JP2005222404A (ja) * 2004-02-06 2005-08-18 Hitachi Ltd 仮想記憶ユニットを備えた記憶制御サブシステム
JP6179355B2 (ja) * 2013-10-31 2017-08-16 富士通株式会社 情報処理装置、データ転送制御方法及びデータ転送制御プログラム
US9430329B2 (en) * 2014-04-03 2016-08-30 Seagate Technology Llc Data integrity management in a data storage device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
US4685082A (en) * 1985-02-22 1987-08-04 Wang Laboratories, Inc. Simplified cache with automatic update
JPS6226561A (ja) * 1985-07-26 1987-02-04 Toshiba Corp パ−ソナルコンピユ−タ
US4785398A (en) * 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
JPH0778780B2 (ja) * 1986-04-02 1995-08-23 日本電気株式会社 バス幅制御装置
US5123101A (en) * 1986-11-12 1992-06-16 Xerox Corporation Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5230045A (en) * 1986-11-12 1993-07-20 Xerox Corporation Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
KR920001282B1 (ko) * 1987-10-02 1992-02-10 가부시키가이샤 히타치세이사쿠쇼 버퍼메모리 제어장치
US5003459A (en) * 1988-04-01 1991-03-26 Digital Equipment Corporation Cache memory system
JPH0398145A (ja) * 1989-09-11 1991-04-23 Hitachi Ltd マイクロプロセッサ
US5226143A (en) * 1990-03-14 1993-07-06 International Business Machines Corporation Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager
US5249284A (en) * 1990-06-04 1993-09-28 Ncr Corporation Method and system for maintaining data coherency between main and cache memories
JPH0484253A (ja) * 1990-07-26 1992-03-17 Mitsubishi Electric Corp バス幅制御回路
US5265235A (en) * 1990-11-30 1993-11-23 Xerox Corporation Consistency protocols for shared memory multiprocessors
US5287473A (en) * 1990-12-14 1994-02-15 International Business Machines Corporation Non-blocking serialization for removing data from a shared cache
US5274730A (en) * 1992-11-05 1993-12-28 At&T Bell Laboratories Optical interconnection of photonic circuits

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999024906A1 (fr) * 1997-11-06 1999-05-20 Hitachi, Ltd. Processeur de donnees et systeme de traitement de donnees
JP3457644B2 (ja) * 1997-11-06 2003-10-20 株式会社日立製作所 データ処理装置およびデータ処理システム
US6983374B2 (en) 2000-02-14 2006-01-03 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
US7270193B2 (en) 2000-02-14 2007-09-18 Kabushiki Kaisha Toshiba Method and system for distributing programs using tamper resistant processor
US7353404B2 (en) 2000-02-14 2008-04-01 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
JP2007179106A (ja) * 2005-12-26 2007-07-12 Fuji Xerox Co Ltd 処理システム
WO2011061948A1 (ja) * 2009-11-17 2011-05-26 株式会社ユビキタス プログラム、制御方法、並びに制御装置
JP2011107925A (ja) * 2009-11-17 2011-06-02 Ubiquitous Corp プログラム、制御方法、並びに制御装置

Also Published As

Publication number Publication date
KR930002943A (ko) 1993-02-23
US5440708A (en) 1995-08-08

Similar Documents

Publication Publication Date Title
JP2833062B2 (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US6321314B1 (en) Method and apparatus for restricting memory access
US5379394A (en) Microprocessor with two groups of internal buses
JP3666689B2 (ja) 仮想アドレス変換方法
US20080270707A1 (en) Data processor
JPH0752404B2 (ja) メモリ・システム
JPH0520197A (ja) 記憶管理システム及びマイクロプロセツサ
JPH0313615B2 (ja)
JP2930071B2 (ja) 情報処理装置およびプロセッサ
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JPH04308953A (ja) 仮想アドレス計算機装置
JPH0519176B2 (ja)
JPS62222344A (ja) アドレス変換機構
JPH0327940B2 (ja)
US6324635B1 (en) Method and apparatus for address paging emulation
US6298355B1 (en) Computer system
JPS6237752A (ja) 別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム
EP0428079A2 (en) Translation look aside buffer with parallel exception checking and update bypass
JP3087279B2 (ja) マイクロコンピュータ・システム
JPS63240651A (ja) キヤツシユメモリ
JPH02101552A (ja) アドレス変換バッファ処理方式
JPH04205535A (ja) コピーオンライト方式
JP2002108702A (ja) マイクロコンピュータ及びデータ処理装置
JP2885168B2 (ja) マルチプロセッサシステムに於けるデータリプライ方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19981008