JPH04311233A - アドレス変換装置 - Google Patents

アドレス変換装置

Info

Publication number
JPH04311233A
JPH04311233A JP3104879A JP10487991A JPH04311233A JP H04311233 A JPH04311233 A JP H04311233A JP 3104879 A JP3104879 A JP 3104879A JP 10487991 A JP10487991 A JP 10487991A JP H04311233 A JPH04311233 A JP H04311233A
Authority
JP
Japan
Prior art keywords
address
information
page
physical
memory
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.)
Pending
Application number
JP3104879A
Other languages
English (en)
Inventor
Hiroshi Katayama
博史 片山
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP3104879A priority Critical patent/JPH04311233A/ja
Publication of JPH04311233A publication Critical patent/JPH04311233A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、周辺コントローラにお
けるアドレス変換装置に利用され、特に、グラフィック
スコントローラで、仮想記憶やマルチタスクを用いたコ
ンピュータシステムにおける描画アドレスのアドレス変
換装置に関する。
【0002】
【従来の技術】近年、パーソナルコンピュータにおいて
も仮想記憶制御をサポートしたオペレーティングシステ
ムが登場してきた。これは、マイクロプロセッサの処理
能力の向上やアドレス空間の拡大とともに、メモリ管理
ユニット{以下、MMU(MemoryManagem
ent  Unit)という。}がプロセッサへ内蔵さ
れたことが寄与している。
【0003】仮想記憶制御を行うシステムの場合、アド
レス変換の機構が必要となる。すなわち、プロセッサ等
のバスマスタ(アドレスを出力する装置)が出力する論
理アドレスを、実際にメモリ等においてアクセスされる
物理アドレスに変換する必要がある。このアドレス変換
を行うのがMMUであるが、最近のプロセッサでは内蔵
している場合が多い。この場合、プロセッサから出力さ
れるアドレスは物理アドレスとなる。
【0004】ここで、代表的な仮想記憶管理方式である
ページング方式について図7を用いて簡単に説明する。 ページング方式では、論理アドレス33を複数の部分(
図7の場合は三つ)に分け、それぞれエリアID、ペー
ジID、およびページ内オフセットとよぶ。最初エリア
テーブル35からエリアIDに対応するページテーブル
アドレスを得る。次に、このページテーブルアドレスに
よって示されるページテーブル36からページIDに対
応する物理ページ番号を得る。物理アドレス34は、こ
の物理ページ番号とページ内オフセットを結合すること
によって得られる。
【0005】しかし、エリアテーブル35やページテー
ブル36はメモリ32上に格納されているので、メモリ
アクセスの都度このようなテーブル参照を繰り返すので
は非常に遅いシステムになってしまう。そこで、変換参
照バッファ{以下、TLB(Translation 
 Look−aside  Buffer)という。}
37を用いる。TLB37は連想メモリで構成されてい
て、論理アドレス33からページ内オフセットを除いた
部分(エリアID、ページID)をキー入力として用い
、その入力に対応する物理ページ番号を出力として持つ
。キー入力と同じ値がTLB37に登録されていた場合
は、直ちに対応する物理ページ番号を出力し、物理アド
レス34を生成することができる。もし、キー入力値が
TLB37に登録されていなかった場合は、ミスヒット
信号38を出力する。プロセッサ31は、このミスヒッ
ト信号38を受け取るとエリアテーブル35やページテ
ーブル36を参照し、物理ページ番号を求める。得られ
た物理ページ番号は、物理アドレス34の生成に用いら
れるとともに、エリアIDおよびページIDの値と組に
してTLB37へ登録される。従って、あるページへの
アクセスの場合、最初に一度テーブル参照を行ってTL
B37に登録しておくと、2回目からのアクセスはTL
B37を通じて高速に行うことができる。1ページの大
きさは通常1〜16キロバイトの間に設定される。
【0006】図3は論理アドレス空間と物理アドレス空
間の対応の例である。ここでは、1ページを4キロバイ
トとしている。このように、ページング方式では、連続
する論理ページが離散した物理ページに対応する。
【0007】さて、一般のアプリケーションレベルのソ
フトウェアは論理アドレスに基づいて動作し、その論理
アドレスがどの物理アドレスに対応しているかは通常知
ることはできない。MMUを操作し、論理アドレスと物
理アドレスの対応付けを行うことができるのは、特権レ
ベルあるいはスーパバイザと呼ばれるモードで動作する
オペレーティングシステム(以下、OSという。)のみ
である。
【0008】ここで問題となるのが、プロセッサの外に
存在し、かつバスマスタとなる周辺コントローラの扱い
である。仮想記憶でないシステムの場合は、プロセッサ
、周辺コントローラ、およびそれらを制御するソフトウ
ェアは全て同じアドレス情報を基に動作していた。しか
し、仮想記憶制御の下では、プロセッサや周辺コントロ
ーラがバスを駆動するアドレスは物理アドレスであり、
ソフトウェアが管理するアドレスは論理アドレスである
。このとき、プロセッサ自身はMMUによって自動的に
論理アドレスと物理アドレスの変換が行われるが、周辺
コントローラはMMUを持たないのでそのような変換を
行うことができない。必然的にそのままでは仮想記憶シ
ステムに対応できない。このようなバスマスタになるこ
とのできる周辺コントローラとして、DMAC(Dir
ect  MemoryAccess  Contro
ller)とグラフィックスコントローラが挙げられる
【0009】DMACでは、例えば、68450(モト
ローラ)や82258(インテル)等が仮想記憶に対応
できる製品として発表されているが、グラフィックスコ
ントローラはいまだ仮想記憶に対応していない。DMA
Cにおける仮想記憶への対応といっても、離散化してい
る物理ページを連続してアクセスするための機構を有す
るのみで、DMACに与えるアドレス情報は全て物理ア
ドレスでなければならず、そのためのアドレス変換処理
はプロセッサが行う必要がある。しかし、DMACの場
合はアクセスするアドレスがあらかじめ決定できるので
それでもよいが、グラフィックスコントローラの場合は
、実際にアクセスが行われるまで描画アドレス(=論理
アドレス)を知ることが困難なため、プロセッサがあら
かじめ論理アドレスを物理アドレスに変換しておいて、
グラフィックスプロセッサへ物理アドレスに即した描画
パラメータを設定することは不可能である。そのため、
従来は、仮想記憶システムにおいて、グラフィックスを
描画するために、次のような方式を取ってきた。
【0010】第一は、仮想記憶を行わないようにしたグ
ラフィックス描画専用のメモリ領域を用意し、グラフィ
ックスコントローラはその領域にしか描画を行わないよ
うにする方式。
【0011】第二は、仮想記憶が行われている領域へグ
ラフィックスを描画するときには、グラフィックスコン
トローラを使用せずにプロセッサが描画を行う方式。
【0012】すなわち、仮想記憶管理された領域へグラ
フィックスコントローラによって描画を行うことはほと
んど不可能であった。しかし、今後は仮想記憶システム
の普及とともに、マルチタスク処理やウィンドウ表示機
能の必要性も増加すると考えられるが、このときにはシ
ステムメモリの全体にわたって、グラフィックスコント
ローラが高速に描画を行える必要がある。
【0013】
【発明が解決しようとする課題】以上説明したように、
従来のグラフィックスコントローラでは仮想記憶によっ
て管理されたメモリ領域に対して描画を行うことができ
なかった。これは、グラフィックスコントローラに制御
情報を与えるソフトウェアが論理アドレスに基づいて設
計されるのに対し、グラフィックスコントローラがアク
セスするアドレスは物理アドレスでなければならないこ
とに起因する。さらに、仮想記憶がページング方式によ
って行われる場合、論理アドレス上では連続する領域が
物理アドレス上では離散した領域としてマッピングされ
ることが、仮想記憶への対応をさらに困難なものにして
いる。
【0014】また、仮想記憶システムの上ではマルチタ
スクやマルチウィンドウ等の処理が行われる場合が多い
。マルチタスクにおいて各タスクがそれぞれ独立に何ら
かのグラフィックスを表示しようとしたとき、直接にフ
レーム領域(この領域の内容がCRT等に表示される。 通常この領域は仮想記憶管理を行わない)へ描画を行う
と、表示の優先順位が崩れるなどの混乱が生ずるので、
一たんワークエリアへ描画を行い、次いでその描画結果
から表示すべき部分のみをフレーム領域に転送して表示
を行う方式が取られる場合がある。このような場合、各
タスクが使用する描画用のワークエリアは、一般にシス
テム領域(仮想記憶管理された領域)に獲得する必要が
ある。この場合、仮想記憶領域を自由にアクセスできる
ことは必須条件であり、そのような機能を有するグラフ
ィックスコントローラの必要性は非常に高い。
【0015】前記のような課題は、グラフィックスコン
トローラがプロセッサが有するのと同等なMMUを内蔵
すれば解決できるが、一方、仮想記憶の実現方法はMM
Uのハードウェア構成やOSによってさまざまであり、
特定の方式のみをサポートすることは汎用性を失わせる
結果となる。また、グラフィックスコントローラにMM
Uを内蔵するためには、グラフィックスコントローラ自
身がページテーブル等を参照してアドレス変換情報を作
る必要があり、そのためのファームウエア等が必要とな
る。さらに、テーブルの参照にはOSによって保護され
るべきシステム領域のアクセスが必要となるが、周辺コ
ントローラがプロセッサの管理を離れてこのようなシス
テム領域へアクセスを行うことは危険であり、好ましく
ない。
【0016】本発明の目的は、前記の課題を解決するこ
とにより、周辺コントローラ、特に、グラフィックスコ
ントローラにおいて論理アドレスと物理アドレスの変換
を行うことができ、仮想記憶に対応したグラフィックス
システムを構成できるアドレス変換装置を提供すること
にある。
【0017】
【課題を解決するための手段】本発明は、プロセッサか
ら入力されるデータにより論理アドレス情報を生成する
論理アドレス発生手段と、この生成された論理アドレス
情報を物理アドレス情報に変換しメモリに対して出力す
る変換参照バッファとを備えたアドレス変換装置におい
て、前記変換参照バッファは、前記論理アドレス情報と
前記物理アドレス情報とを一組として記憶するように構
成したアドレス変換情報を複数個組み合わせて構成され
、入力される前記論理アドレス情報に対し、前記複数の
アドレス変換情報の中から適合した一つのアドレス変換
情報を選択し当該アドレス変換情報に含まれる物理アド
レス情報を前記メモリに対して出力し、適合したアドレ
ス変換情報を選択できないときはミスヒット信号を前記
プロセッサに対して出力する手段を含むことを特徴とす
る。
【0018】また、本発明は、前記変換参照バッファは
、前記アドレス変換情報として前記論理アドレス情報お
よび前記物理アドレス情報のほかに、変換処理を制御す
る制御情報を含み、この制御情報に対する処理手段を含
むことを特徴とする。
【0019】
【作用】変換参照バッファ(TLB)は、論理アドレス
情報と物理アドレス情報とを一組として記憶しており、
論理アドレス情報が入力されると、それに適合した論理
アドレス情報を探し、もしあれば当該論理アドレス情報
と組になっている物理アドレス情報を取り出してメモリ
に対して出力する。そして、もし適合するものが登録さ
れていないときは、ミスヒット信号をプロセッサに対し
て出力する。
【0020】従って、本発明によれば、グラフィックス
コントローラにおいて、論理アドレスと物理アドレスの
変換ができ、仮想記憶に対応したグラフィックスシステ
ムを構成することが可能となる。
【0021】さらに、論理アドレス情報および物理アド
レス情報のほかに、制御情報として、例えば、タスク番
号、アクセスモード制御情報またはページサイズ情報を
付加することにより、マルチタスク処理への対応を簡単
にしたり、不正なメモリアクセスを禁止したり、あるい
は使用するアクセス変換情報の数を削減することが可能
となる。
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0022】図1は本発明の第一実施例を示すブロック
構成図で、本発明をグラフィックシステムに適用した場
合を示す。また図2はそのアドレス変換情報の構成を示
す説明図および図3はその仮想記憶によるメモリマップ
を示す説明図である。
【0023】本第一実施例は、MMUを内蔵したプロセ
ッサ1から入力されたデータにより論理アドレスとして
の描画アドレス14を出力する描画アドレス発生器(A
G)21を含むグラフィックスコントロールユニット4
と、描画アドレス14を物理アドレス情報に変換しメモ
リ2に対して出力するTLB7を備えたアドレス変換装
置としてのグラフィックスコントローラ3において、本
発明の特徴とするところの、TLB7は、前記論理アド
レス情報としてのページID16と前記物理アドレス情
報としての物理ページ番号18とを一組として記憶する
ように構成したアドレス変換情報5を4個組み合わせて
構成され、入力される前記論理アドレス情報に対し、前
記複数のアドレス変換情報5の中から適合した一つのア
ドレス変換情報5を選択し当該アドレス変換情報5に含
まれる物理アドレス情報としての物理ページ番号18を
メモリ2に対して出力し、適合したアドレス変換情報5
を選択できないときミスヒット信号19をプロセッサ1
に対して出力する手段を含んでいる。
【0024】なお、図1において、4はグラフィックス
コントローラ手段を有するグラフィックスコントロール
ユニットであり、プロセッサ1から入力されるデータに
基づいて描画アドレス14を生成出力する描画アドレス
発生器(AG)21を含んでいる。また、10はプロセ
ッサ1がメモリ2やグラフィックスコントローラ3をア
クセスするためのシステムアドレスバス、11はシステ
ムデータバス、12はグラフィックスコントローラ3が
メモリ2をアクセスするためのグラフィックスアドレス
バス、13はグラフィックスデータバス、および17は
描画アドレス14の一部でページ内オフセットである。
【0025】ここで、描画アドレス14は、ページID
16とページ内オフセット17に分けられ、ページID
16はTLB7への入力として用いられ、ページ内オフ
セット17はTLB7の出力である物理ページ番号18
と結合されてグラフィックスアドレスバス12を構成す
る。本第一実施例では、アドレスバスは24ビットであ
り、ページID16およびページ内オフセット17はと
もに12ビットである。従って、1ページは4キロバイ
トである。
【0026】ここで、システムアドレスバス10とグラ
フィックスアドレスバス12とは物理アドレスであり、
描画アドレス14は論理アドレスである。
【0027】次に、本第一実施例の動作について説明す
る。最初、プロセッサ1はグラフィックスコントローラ
3に対して、使用するメモリの割付や座標の設定等を行
う。図3の場合では、論理アドレス空間の202000
H〜204FFFH番地までをワークエリアとして使用
し、その中で描画を行うように設定している。
【0028】次に、プロセッサ1は必要に応じて直線や
円弧等のグラフィックス描画、あるいは指定領域を別の
領域にコピーするなどの処理を指示する。グラフィック
スコントローラ3はこの指示を受けると、描画アドレス
や描画データを発生する。従来のグラフィックスコント
ローラはここで発生した描画アドレスをそのまま用いて
メモリアクセスを行っていた。しかし、ここで得られる
描画アドレス14は論理アドレスなので、仮想記憶シス
テムではこれを物理アドレスに変換する必要がある。そ
のために、一たん描画アドレス14を下位12ビットの
ページ内オフセット17と上位12ビットのページID
16に分け、ページID16をTLB7に入力する。描
画アドレス14の示す値が203123H番地とすると
、ページID16は203H、ページ内オフセット17
は123Hである。
【0029】TLB7には最初何も登録されていない。 そこへ最初の描画アドレス14のページID16(20
3H)をキーとして入力すると、このキー入力に対応す
るアドレス変換情報はTLB7内に存在しないのでミス
ヒット信号19が出力され、プロセッサ1の割込みを引
き起こす。同時に、グラフィックスコントローラ3はそ
の実行を一時停止する。プロセッサ1は、TLB7から
のミスヒット信号19を認識したら、グラフィックスコ
ントローラ3からミスヒットの原因となった描画アドレ
スのページID16を読み出し、それに対応する物理ペ
ージ番号(206H)を求める。この物理ページ番号1
8を求めるアルゴリズムは、使用するプロセッサやOS
によって定められるもので、グラフィックスプロセッサ
は関知しない。求められた物理ページ番号18とページ
ID16により図2に示すアドレス変換情報5が作成さ
れたら、プロセッサ1はその情報をTLB7に登録する
【0030】この登録を待って、グラフィックスプロセ
ッサ3が動作を再開すると、TLB7は入力のページI
D16(203H)に対して物理ページ番号18(35
6H)を出力する。そして、物理ページ番号18(35
6H)とページ内オフセット17(123H)を結合し
た356123Hを物理アドレスとしてグラフィックス
アドレスバス12へ出力し、描画のためのメモリアクセ
スを行う。
【0031】以降、TLB7に登録されたと同じページ
IDを持つ描画アドレス14に対しては、即座に物理ペ
ージ番号18を得ることができる。TLB7に登録され
ていないページIDを持つ描画アドレスの場合は、再び
ミスヒット信号19を出力し、プロセッサ1に新しいア
ドレス変換情報5を登録してもらう。
【0032】もし、TLB7に新しいアドレス変換情報
5を登録する余地がなくなったときは、すでに登録され
ているアドレス変換情報5の一つを選び、その情報を削
除して、その部分に新しい変換情報を登録する。プロセ
ッサ1が論理アドレスと物理アドレスの対応を変更した
り、物理ページをスワップアウト(メモリ上のあるペー
ジを補助記憶に待避し、その部分を新しいページとして
使用すること)した場合は、その変更をTLB7にも反
映させる必要がある。このとき、削除すべきアドレス変
換情報5の決定や、アドレス変換情報5を任意の位置に
登録する操作は、全てプロセッサ1が行う。そのため、
プロセッサ1はTLB7の内容をメモリ2を読み出しま
たは書き込みするのと同様に自由にアクセスできる。
【0033】以上のように、従来のグラフィックスコン
トローラのアドレス出力をTLBで変換することによっ
て、論理アドレスである描画アドレスを物理アドレスに
変換でき、仮想記憶に対応することができる。TLBの
操作は全てプロセッサが行うので、仮想記憶の実現方法
としては任意の方式を取ることができる。TLBの大き
さやその内容がプロセッサ側のMMUのTLBと一致し
ている必要はない。ただし、プロセッサ側のMMUが管
理するページの大きさとグラフィックスコントローラ側
のTLBによるページの大きさは一致している必要があ
る。
【0034】また、本第一実施例のように簡単な構成の
TLBの場合、それ自体ではタスク間のメモリ保護機能
はないが、その場合プロセッサでのタスクが切り替わる
ごとにTLBの内容を無効にすることで、不正なアクセ
スを防ぐことができる。また、各タスクごとにメモリ上
にTLBのコピーを持ち、タスクの実行中は当該タスク
に関するアドレス変換情報しかTLBに存在しないよう
にTLBを入れ換えることでもよい。
【0035】図4は本発明の第二実施例を示すブロック
構成図で、図1の第一実施例において、TLBにマルチ
タスクへの対応とメモリ保護手段を付加した場合を示す
。また、図5はそのアドレス変換情報の構成を示す説明
図、および図6はその仮想記憶によるメモリマップを示
す説明図である。
【0036】本第二実施例は、本発明の特徴とするとこ
ろの、TLB8は、アドレス変換情報6として、図5に
示すように、エリアID15およびページID16から
なる論理アドレス情報と、物理ページ番号18からなる
物理アドレス情報とのほかに、変換処理を制御する制御
情報としての、アクセスモードフラグと、ページサイズ
フラグと、タスク番号とを含み、その処理手段として、
描画を依頼したタスクの番号を格納するタスク番号レジ
スタ(TR)9を含んでいる。なお、TLB8のエント
リー数(登録可能なアドレス変換情報の数)は8である
【0037】TLB8は三つのキー入力フィールドと2
ビットのフラグ情報、および一つの出力フィールドから
なる。それに対応して、描画アドレス14はエリアID
15、ページID16、およびページ内オフセット17
の三つの部分に分けられ、エリアID15とページID
16はキーとしてTLB8へ入力される。図4では、エ
リアID15は12ビット、ページID16は8ビット
、ページ内オフセット17は12ビットである。さらに
、タスク番号レジスタ9もTLB8へのキー入力として
用いる。これは、マルチタスク処理の場合、アドレス変
換情報が自タスクの変換情報であることを確認できなけ
れば、他のタスクのアドレス変換情報にヒットして他の
タスクの領域を破壊する可能性が生ずるからである。
【0038】TLB8の変換情報に付属する2種類のフ
ラグ情報は、以下のような意味を持つ。アクセスモード
フラグが「1」のアドレス変換情報6はリードアクセス
のみが可能で、ライトアクセスは不許可であることを意
味し、アクセスモードフラグが「0」のアドレス変換情
報6はリードおよびライトともに許可されていることを
意味する。
【0039】ページサイズフラグが「1」であるアドレ
ス変換情報6はページID16のキー入力を無視してT
LB8を参照し、1ページの大きさをページID16と
ページ内オフセット17を合わせた20ビット(=1メ
ガバイト)とする。ページサイズフラグが「0」である
アドレス変換情報6は、エリアID15とページID1
6の両方でTLB8を参照し、1ページの大きさはペー
ジ内オフセット17の12ビット(4キロバイト)とす
る。これは、フレーム領域やフォント情報など、物理ア
ドレス空間に既に連続してマッピングされている領域に
ついては、1ページの大きさを大きく取ることによって
、TLB8のエントリー使用量を少なくするためである
【0040】次に、本第二実施例におけるアドレス変換
方法を図6を用いて説明する。
【0041】最初、各タスクは描画用のワークエリアと
して任意の大きさのアドレス空間をOSに要求し、それ
を獲得する。図6では、タスク1が300000H〜3
02FFFHを、タスク2が2FE000H〜2FFF
FFHを割り当てられている。各タスクは、獲得したワ
ークエリアに対し描画座標系やその他パラメータを設定
する。これ以降、タスクはここで定義されたワークエリ
アに対して描画を行う。
【0042】各タスクでの描画要求は、OSを通してグ
ラフィックスコントローラ3へ送られる。このとき、O
Sはグラフィックスコントローラ3へその描画を要求し
たタスクの番号をタスク番号レジスタ9へ設定する。グ
ラフィックスコントロールユニット4が生成した描画ア
ドレス14は、エリアID15、ページID16、およ
びページ内オフセット17の三つの部分に分けられ、前
二者はTLB8へ入力される。
【0043】TLB8では、以下の全ての条件を満たす
アドレス変換情報6が存在すれば、その描画アドレスは
ヒットしたもので、対応する変換情報の物理ページ番号
18を出力する。もし、その条件を満たすアドレス変換
情報6が存在しなければ、ミスヒット信号19を出力す
る。 (a)タスク番号レジスタ9の値とTLB8のタスク番
号フィールドの値が等しい。またはタスク番号レジスタ
9の値が000Hである。またはTLB8のタスク番号
フィールドの値が0FFFHである。 (b)描画アドレスのエリアID15の値がTLB8の
エリアIDフィールドの値と等しい。 (c)ページサイズフラグの値が「0」で、かつ描画ア
ドレスのページID16の値がTLB8のページIDフ
ィールドの値と等しい。またはページサイズフラグの値
が「1」である。
【0044】ヒットした場合、ページサイズフラグが「
0」のときは物理ページ番号とページ内オフセットを結
合して物理アドレスを得る。ページサイズフラグが「1
」のときは、物理ページ番号にページIDとページ内オ
フセットを加え、物理アドレスとする。例えば、TLB
が図6に示すような状態で描画アドレスが301234
Hの場合、対応するアドレス変換情報のページサイズフ
ラグが「0」であるので、物理ページ番号(356H)
とページ内オフセット(234H)を結合した3562
34Hが物理アドレスとなる。一方、描画アドレスが6
54321Hの場合、対応するアドレス変換情報のペー
ジサイズフラグが「1」であるので、物理ページ番号(
D00H)にページID(54H)とページ内オフセッ
ト(321H)を結合したD54321Hが物理アドレ
スとなる。
【0045】ミスヒットの場合は、グラフィックスコン
トローラ3は一たん処理を中断し、ミスヒット信号19
によってプロセッサ1に処理を引き渡す。プロセッサ1
では、グラフィックスコントローラ3からミスヒットを
引き起こしたタスク番号と論理アドレスを読み出し、そ
れらに従ってテーブル参照を行い、アドレス変換情報の
作成、およびアクセスモードフラグやページサイズフラ
グの設定を行い、これらの情報をTLB8へ登録する。
【0046】なお、タスク番号は任意に定めてよいが、
特別な値として000Hと0FFFHを用いる。000
Hは特権レベルのタスクを表し、この値を持つタスクは
全ての論理アドレス空間をアクセスできる。0FFFH
は共通タスク領域を表し、この値を持つアドレス変換情
報は全てのタスクからアドレスが可能である。
【0047】さらに、描画アドレスに対してTLBがヒ
ットした場合でも、そのアクセスがライトアクセスで、
かつヒットしたエントリーのRフラグが「1」であった
場合は、不正アクセスとなる。これはフォント情報など
変更されては困る領域やROMエリアへのライトアクセ
スを防止するためである。当該アクセスがリードアクセ
スかライトアクセスかはグラフィックスコントロールユ
ニット4が出力するリードライト信号20によって識別
する。
【0048】また、第一実施例のように、TLBの構成
の中にメモリの保護機能を取り入れた場合は、アドレス
変換情報を登録する段階でOSが管理するメモリ保護機
能を取り入れ、不正なアクセスを防止することが可能で
ある。この場合には、グラフィックスコントローラは、
プロセッサから描画指示を受け取った後はプロセッサと
は独立に処理を行うことが可能になるので、プロセッサ
とグラフィックスコントローラが別々のタスクの処理を
同時に行うことも可能である。
【0049】なお、以上の本発明の実施例ではグラフィ
ックスコントローラについて説明を行ったが、本発明に
よるアドレス変換装置の目的は、周辺コントローラが生
成する論理アドレスを物理アドレスに変換することによ
り仮想記憶制御されたメモリへのアクセスを可能にする
ことである。このことから、本発明がグラフィックスコ
ントローラに限らずDMAコントローラや通信コントロ
ーラ、ディスクコントローラなど、仮想記憶されたメモ
リをアクセスする必要がある周辺コントローラに適用が
可能であることは明らかである。
【0050】
【発明の効果】以上説明したように、本発明は、例えば
、周辺コントローラとして、グラフィックスコントロー
ラにおいて、論理アドレスと物理アドレスの変換を行う
ことができ、仮想記憶に対応したグラフィックスシステ
ムを構成することができる効果がある。
【0051】また、本発明によるグラフィックスコント
ローラのアドレス変換装置では、グラフィックスコント
ローラにはMMUの一部であるTLBのみを内蔵させる
というわずかなハードウェア増設と、他の処理はOSに
よって行うことによって、自由度が高く、かつ高速に論
理アドレスと物理アドレスを変換することができ、さら
に、マルチアクセスに対応したり、不正アクセスを防止
したり、アドレス変換情報の数を削減することもでき、
その効果は大である。
【図面の簡単な説明】
【図1】  本発明の第一実施例を示すブロック構成図
【図2】  そのアドレス変換情報の構成を示す説明図
【図3】  その仮想記憶によるメモリマップを示す説
明図。
【図4】  本発明の第二実施例を示すブロック構成図
【図5】  そのアドレス変換情報の構成を示す説明図
【図6】  その仮想記憶によるメモリマップを示す説
明図。
【図7】  従来例を示すブロック構成図。
【符号の説明】
1、31  プロセッサ 2、32  メモリ 3  グラフィックスコントローラ 4  グラフィックスコントロールユニット5、6  
アドレス変換情報 7、8、37  変換参照バッファ(TLB)9  タ
スク番号レジスタ(TR) 10  システムアドレスバス 11  システムデータバス 12  グラフィックスアドレスバス 13  グラフィックスデータバス 14  描画アドレス 15  エリアID 16  ページID 17  ページ内オフセット 18  物理ページ番号 19、38  ミスヒット信号 20  リードライト信号 21  描画アドレス発生器(AG) 33  論理アドレス 34  物理アドレス 35  エリアテーブル 36  ページテーブル

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  プロセッサから入力されるデータによ
    り論理アドレス情報を生成する論理アドレス発生手段と
    、この生成された論理アドレス情報を物理アドレス情報
    に変換しメモリに対して出力する変換参照バッファとを
    備えたアドレス変換装置において、前記変換参照バッフ
    ァは、前記論理アドレス情報と前記物理アドレス情報と
    を一組として記憶するように構成したアドレス変換情報
    を複数個組み合わせて構成され、入力される前記論理ア
    ドレス情報に対し、前記複数のアドレス変換情報の中か
    ら適合した一つのアドレス変換情報を選択し当該アドレ
    ス変換情報に含まれる物理アドレス情報を前記メモリに
    対して出力し、適合したアドレス変換情報を選択できな
    いときはミスヒット信号を前記プロセッサに対して出力
    する手段を含むことを特徴とするアドレス変換装置。
  2. 【請求項2】  請求項1に記載のアドレス変換装置に
    おいて、前記変換参照バッファは、前記アドレス変換情
    報として前記論理アドレス情報および前記物理アドレス
    情報のほかに、変換処理を制御する制御情報を含み、こ
    の制御情報に対する処理手段を含むことを特徴とするア
    ドレス変換装置。
JP3104879A 1991-04-09 1991-04-09 アドレス変換装置 Pending JPH04311233A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3104879A JPH04311233A (ja) 1991-04-09 1991-04-09 アドレス変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3104879A JPH04311233A (ja) 1991-04-09 1991-04-09 アドレス変換装置

Publications (1)

Publication Number Publication Date
JPH04311233A true JPH04311233A (ja) 1992-11-04

Family

ID=14392485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3104879A Pending JPH04311233A (ja) 1991-04-09 1991-04-09 アドレス変換装置

Country Status (1)

Country Link
JP (1) JPH04311233A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252983A (ja) * 2003-02-18 2004-09-09 Microsoft Corp コプロセッサの性能を強化するシステムおよび方法
JP2004272894A (ja) * 2003-02-18 2004-09-30 Microsoft Corp グラフィックス処理ユニットのマルチスレッド式カーネル
US7487367B2 (en) 2002-11-18 2009-02-03 Arm Limited Apparatus and method for managing access to a memory
JPWO2008155848A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 計算機、tlb制御方法およびtlb制御プログラム
JP4772795B2 (ja) * 2004-09-30 2011-09-14 インテル コーポレイション 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上
JP2012088894A (ja) * 2010-10-19 2012-05-10 Renesas Electronics Corp データ処理装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487367B2 (en) 2002-11-18 2009-02-03 Arm Limited Apparatus and method for managing access to a memory
JP2004252983A (ja) * 2003-02-18 2004-09-09 Microsoft Corp コプロセッサの性能を強化するシステムおよび方法
JP2004272894A (ja) * 2003-02-18 2004-09-30 Microsoft Corp グラフィックス処理ユニットのマルチスレッド式カーネル
JP2010020803A (ja) * 2003-02-18 2010-01-28 Microsoft Corp コプロセッサの性能を強化するシステムおよび方法
US8671411B2 (en) 2003-02-18 2014-03-11 Microsoft Corporation Multithreaded kernel for graphics processing unit
US9298498B2 (en) 2003-02-18 2016-03-29 Microsoft Technology Licensing, Llc Building a run list for a coprocessor based on rules when the coprocessor switches from one context to another context
JP4772795B2 (ja) * 2004-09-30 2011-09-14 インテル コーポレイション 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上
JPWO2008155848A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 計算機、tlb制御方法およびtlb制御プログラム
US8190853B2 (en) 2007-06-20 2012-05-29 Fujitsu Limited Calculator and TLB control method
JP4998554B2 (ja) * 2007-06-20 2012-08-15 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
JP2012088894A (ja) * 2010-10-19 2012-05-10 Renesas Electronics Corp データ処理装置

Similar Documents

Publication Publication Date Title
US5852738A (en) Method and apparatus for dynamically controlling address space allocation
US5317705A (en) Apparatus and method for TLB purge reduction in a multi-level machine system
EP0208428B1 (en) Direct input/output in a virtual memory system
US4459661A (en) Channel address control system for a virtual machine system
CN1993683B (zh) 体系结构事件期间维持处理器资源
US5301287A (en) User scheduled direct memory access using virtual addresses
US5463739A (en) Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold
JP4295111B2 (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
TW376488B (en) Virtual memory system with local and global virtual address translation
US5182805A (en) Method and system for determining copy-on-write condition
JPH10228419A (ja) 様々なデフォルト・アドレス変換属性を事前ロードする方法および装置
US20020046305A1 (en) Method for effective binary translation between different instruction sets using emulated supervisor flag and multiple page tables
JPH0652511B2 (ja) 情報処理装置のアドレス変換方式
JPS6122825B2 (ja)
EP0766177A1 (en) Information handling system including effective address translation for one or more auxiliary processors
WO1998044422A1 (en) Page table walker which positions a sliding field in a virtual address using page size
JPS6248258B2 (ja)
US6606697B1 (en) Information processing apparatus and memory control method
JPH04242848A (ja) 走行モード別キャッシュメモリ制御方式
JPH05257811A (ja) メモリ管理装置
CA2029628A1 (en) Translation look aside buffer with parallel exception checking and update bypass
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPH0793221A (ja) 仮想計算機システム及びその制御方法
JPS5619153A (en) Virtual computer system
US11009841B2 (en) Initialising control data for a device