[go: up one dir, main page]

JPH04311233A - Address translating device - Google Patents

Address translating device

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
Japanese (ja)
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/en
Publication of JPH04311233A publication Critical patent/JPH04311233A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To make a memory which is controlled for a virtual storage accessible by translating a logical address generated by means of a peripheral controller into a physical address. CONSTITUTION:A translation reference buffer (TLB) 7 is constituted by combining plural pieces of address translating information 5 respectively constituted to store a set of logical address information 16 and physical address information 18 and selects suitable one out of plural address translating information and outputs the physical address information contained in the selected address translating information to a memory 2 against address information 14 inputted from a graphics control unit 4. When the suitable address translating information cannot be selected, the TLB 7 outputs a mis-hit signal to a processor 1. Therefore, a graphics controller can translates a logical address into a physical address and a graphics system corresponding to a virtual storage can be realized.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、周辺コントローラにお
けるアドレス変換装置に利用され、特に、グラフィック
スコントローラで、仮想記憶やマルチタスクを用いたコ
ンピュータシステムにおける描画アドレスのアドレス変
換装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an address translation device for a peripheral controller, and more particularly to an address translation device for a drawing address in a computer system using virtual memory or multitasking in a graphics controller.

【0002】0002

【従来の技術】近年、パーソナルコンピュータにおいて
も仮想記憶制御をサポートしたオペレーティングシステ
ムが登場してきた。これは、マイクロプロセッサの処理
能力の向上やアドレス空間の拡大とともに、メモリ管理
ユニット{以下、MMU(MemoryManagem
ent  Unit)という。}がプロセッサへ内蔵さ
れたことが寄与している。
2. Description of the Related Art In recent years, operating systems that support virtual memory control have appeared on personal computers as well. Along with improving the processing power and expanding the address space of microprocessors, this has led to the development of memory management units (hereinafter referred to as MMUs).
ENT Unit). } is built into the processor, which contributes to this.

【0003】仮想記憶制御を行うシステムの場合、アド
レス変換の機構が必要となる。すなわち、プロセッサ等
のバスマスタ(アドレスを出力する装置)が出力する論
理アドレスを、実際にメモリ等においてアクセスされる
物理アドレスに変換する必要がある。このアドレス変換
を行うのがMMUであるが、最近のプロセッサでは内蔵
している場合が多い。この場合、プロセッサから出力さ
れるアドレスは物理アドレスとなる。
[0003] In the case of a system that performs virtual memory control, an address translation mechanism is required. That is, it is necessary to convert a logical address output by a bus master (a device that outputs an address) such as a processor into a physical address that is actually accessed in a memory or the like. The MMU performs this address conversion, and modern processors often have it built-in. In this case, the address output from the processor becomes a physical address.

【0004】ここで、代表的な仮想記憶管理方式である
ページング方式について図7を用いて簡単に説明する。 ページング方式では、論理アドレス33を複数の部分(
図7の場合は三つ)に分け、それぞれエリアID、ペー
ジID、およびページ内オフセットとよぶ。最初エリア
テーブル35からエリアIDに対応するページテーブル
アドレスを得る。次に、このページテーブルアドレスに
よって示されるページテーブル36からページIDに対
応する物理ページ番号を得る。物理アドレス34は、こ
の物理ページ番号とページ内オフセットを結合すること
によって得られる。
[0004] Here, the paging method, which is a typical virtual memory management method, will be briefly explained using FIG. In the paging method, the logical address 33 is divided into multiple parts (
In the case of FIG. 7, it is divided into three parts), which are called area ID, page ID, and intra-page offset. First, a page table address corresponding to the area ID is obtained from the area table 35. Next, the physical page number corresponding to the page ID is obtained from the page table 36 indicated by this page table address. The physical address 34 is obtained by combining this physical page number and the intra-page offset.

【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キロバイトの間に設定される。
However, since the area table 35 and page table 36 are stored in the memory 32, repeating such table references every time the memory is accessed results in a very slow system. Therefore, the translation reference buffer {hereinafter referred to as TLB (Translation
Look-aside Buffer). }
37 is used. The TLB 37 is composed of an associative memory, uses a portion (area ID, page ID) obtained by removing the intra-page offset from the logical address 33 as a key input, and has a physical page number corresponding to the input as an output. If the same value as the key input is registered in the TLB 37, the corresponding physical page number is immediately output and the physical address 34 can be generated. If the key input value is not registered in the TLB 37, a miss-hit signal 38 is output. When the processor 31 receives this miss-hit signal 38, it refers to the area table 35 and page table 36 to obtain the physical page number. The obtained physical page number is used to generate the physical address 34 and is registered in the TLB 37 in combination with the area ID and page ID values. Therefore, when accessing a certain page, the table is referenced once and the TL
If you register on B37, access from the second time is on TL.
This can be done quickly through B37. The size of one page is usually set between 1 and 16 kilobytes.

【0006】図3は論理アドレス空間と物理アドレス空
間の対応の例である。ここでは、1ページを4キロバイ
トとしている。このように、ページング方式では、連続
する論理ページが離散した物理ページに対応する。
FIG. 3 is an example of the correspondence between logical address space and physical address space. Here, one page is 4 kilobytes. In this way, in the paging method, consecutive logical pages correspond to discrete physical pages.

【0007】さて、一般のアプリケーションレベルのソ
フトウェアは論理アドレスに基づいて動作し、その論理
アドレスがどの物理アドレスに対応しているかは通常知
ることはできない。MMUを操作し、論理アドレスと物
理アドレスの対応付けを行うことができるのは、特権レ
ベルあるいはスーパバイザと呼ばれるモードで動作する
オペレーティングシステム(以下、OSという。)のみ
である。
Now, general application level software operates based on logical addresses, and it is usually impossible to know which physical address the logical address corresponds to. Only an operating system (hereinafter referred to as OS) operating at a privileged level or in a mode called supervisor can operate the MMU and associate logical addresses with physical addresses.

【0008】ここで問題となるのが、プロセッサの外に
存在し、かつバスマスタとなる周辺コントローラの扱い
である。仮想記憶でないシステムの場合は、プロセッサ
、周辺コントローラ、およびそれらを制御するソフトウ
ェアは全て同じアドレス情報を基に動作していた。しか
し、仮想記憶制御の下では、プロセッサや周辺コントロ
ーラがバスを駆動するアドレスは物理アドレスであり、
ソフトウェアが管理するアドレスは論理アドレスである
。このとき、プロセッサ自身はMMUによって自動的に
論理アドレスと物理アドレスの変換が行われるが、周辺
コントローラはMMUを持たないのでそのような変換を
行うことができない。必然的にそのままでは仮想記憶シ
ステムに対応できない。このようなバスマスタになるこ
とのできる周辺コントローラとして、DMAC(Dir
ect  MemoryAccess  Contro
ller)とグラフィックスコントローラが挙げられる
The problem here is how to handle a peripheral controller that exists outside the processor and serves as a bus master. In non-virtual memory systems, the processor, peripheral controllers, and the software that controls them all operate based on the same address information. However, under virtual memory control, the addresses at which processors and peripheral controllers drive the bus are physical addresses;
Addresses managed by software are logical addresses. At this time, the processor itself automatically converts logical addresses and physical addresses using the MMU, but the peripheral controller cannot perform such conversion because it does not have an MMU. Naturally, it cannot support virtual memory systems as is. As a peripheral controller that can become such a bus master, DMAC (Dir
ect MemoryAccess Control
ller) and graphics controllers.

【0009】DMACでは、例えば、68450(モト
ローラ)や82258(インテル)等が仮想記憶に対応
できる製品として発表されているが、グラフィックスコ
ントローラはいまだ仮想記憶に対応していない。DMA
Cにおける仮想記憶への対応といっても、離散化してい
る物理ページを連続してアクセスするための機構を有す
るのみで、DMACに与えるアドレス情報は全て物理ア
ドレスでなければならず、そのためのアドレス変換処理
はプロセッサが行う必要がある。しかし、DMACの場
合はアクセスするアドレスがあらかじめ決定できるので
それでもよいが、グラフィックスコントローラの場合は
、実際にアクセスが行われるまで描画アドレス(=論理
アドレス)を知ることが困難なため、プロセッサがあら
かじめ論理アドレスを物理アドレスに変換しておいて、
グラフィックスプロセッサへ物理アドレスに即した描画
パラメータを設定することは不可能である。そのため、
従来は、仮想記憶システムにおいて、グラフィックスを
描画するために、次のような方式を取ってきた。
Regarding DMAC, for example, the 68450 (Motorola) and 82258 (Intel) have been announced as products compatible with virtual memory, but graphics controllers are not yet compatible with virtual memory. D.M.A.
Although it supports virtual memory in C, it only has a mechanism for continuously accessing discretized physical pages, and all the address information given to DMAC must be physical addresses, and the address information for that purpose is The conversion process must be performed by the processor. However, in the case of a DMAC, this is fine because the address to be accessed can be determined in advance, but in the case of a graphics controller, it is difficult to know the drawing address (=logical address) until the access is actually performed, so the processor Convert the logical address to a physical address,
It is impossible to set drawing parameters to a graphics processor that correspond to physical addresses. Therefore,
Conventionally, the following methods have been used to draw graphics in virtual memory systems.

【0010】第一は、仮想記憶を行わないようにしたグ
ラフィックス描画専用のメモリ領域を用意し、グラフィ
ックスコントローラはその領域にしか描画を行わないよ
うにする方式。
The first is a method in which a memory area dedicated to graphics drawing is prepared without virtual storage, and the graphics controller draws only in that area.

【0011】第二は、仮想記憶が行われている領域へグ
ラフィックスを描画するときには、グラフィックスコン
トローラを使用せずにプロセッサが描画を行う方式。
The second method is that when drawing graphics in an area where virtual storage is performed, the processor performs the drawing without using a graphics controller.

【0012】すなわち、仮想記憶管理された領域へグラ
フィックスコントローラによって描画を行うことはほと
んど不可能であった。しかし、今後は仮想記憶システム
の普及とともに、マルチタスク処理やウィンドウ表示機
能の必要性も増加すると考えられるが、このときにはシ
ステムメモリの全体にわたって、グラフィックスコント
ローラが高速に描画を行える必要がある。
[0012] That is, it is almost impossible for a graphics controller to draw in an area where virtual memory is managed. However, as virtual memory systems become more widespread in the future, the need for multitasking and window display functions is expected to increase, and in this case the graphics controller will need to be able to draw at high speed throughout the entire system memory.

【0013】[0013]

【発明が解決しようとする課題】以上説明したように、
従来のグラフィックスコントローラでは仮想記憶によっ
て管理されたメモリ領域に対して描画を行うことができ
なかった。これは、グラフィックスコントローラに制御
情報を与えるソフトウェアが論理アドレスに基づいて設
計されるのに対し、グラフィックスコントローラがアク
セスするアドレスは物理アドレスでなければならないこ
とに起因する。さらに、仮想記憶がページング方式によ
って行われる場合、論理アドレス上では連続する領域が
物理アドレス上では離散した領域としてマッピングされ
ることが、仮想記憶への対応をさらに困難なものにして
いる。
[Problem to be solved by the invention] As explained above,
Conventional graphics controllers cannot draw in memory areas managed by virtual memory. This is because the software that provides control information to the graphics controller is designed based on logical addresses, whereas the addresses accessed by the graphics controller must be physical addresses. Furthermore, when virtual storage is performed using a paging method, continuous areas on logical addresses are mapped as discrete areas on physical addresses, making it even more difficult to handle virtual storage.

【0014】また、仮想記憶システムの上ではマルチタ
スクやマルチウィンドウ等の処理が行われる場合が多い
。マルチタスクにおいて各タスクがそれぞれ独立に何ら
かのグラフィックスを表示しようとしたとき、直接にフ
レーム領域(この領域の内容がCRT等に表示される。 通常この領域は仮想記憶管理を行わない)へ描画を行う
と、表示の優先順位が崩れるなどの混乱が生ずるので、
一たんワークエリアへ描画を行い、次いでその描画結果
から表示すべき部分のみをフレーム領域に転送して表示
を行う方式が取られる場合がある。このような場合、各
タスクが使用する描画用のワークエリアは、一般にシス
テム領域(仮想記憶管理された領域)に獲得する必要が
ある。この場合、仮想記憶領域を自由にアクセスできる
ことは必須条件であり、そのような機能を有するグラフ
ィックスコントローラの必要性は非常に高い。
[0014] Furthermore, multitasking, multiwindow, and other processes are often performed on virtual storage systems. When each task tries to display some kind of graphics independently in multitasking, it draws directly to the frame area (the contents of this area are displayed on a CRT, etc.. Normally, virtual memory management is not performed in this area). If you do so, confusion will occur such as the display priority order being broken, so
In some cases, a method is used in which drawing is performed once in the work area, and then only the portion to be displayed based on the drawing result is transferred to the frame area and displayed. In such a case, the drawing work area used by each task generally needs to be acquired in a system area (an area where virtual memory is managed). In this case, being able to freely access the virtual storage area is an essential condition, and there is a great need for a graphics controller that has such a function.

【0015】前記のような課題は、グラフィックスコン
トローラがプロセッサが有するのと同等なMMUを内蔵
すれば解決できるが、一方、仮想記憶の実現方法はMM
Uのハードウェア構成やOSによってさまざまであり、
特定の方式のみをサポートすることは汎用性を失わせる
結果となる。また、グラフィックスコントローラにMM
Uを内蔵するためには、グラフィックスコントローラ自
身がページテーブル等を参照してアドレス変換情報を作
る必要があり、そのためのファームウエア等が必要とな
る。さらに、テーブルの参照にはOSによって保護され
るべきシステム領域のアクセスが必要となるが、周辺コ
ントローラがプロセッサの管理を離れてこのようなシス
テム領域へアクセスを行うことは危険であり、好ましく
ない。
The above problems can be solved if the graphics controller incorporates an MMU equivalent to that of the processor, but on the other hand, the method for realizing virtual memory is
It varies depending on the hardware configuration and OS of the U.
Supporting only a specific method results in loss of versatility. Also, the graphics controller has MM
In order to incorporate U, it is necessary for the graphics controller itself to create address conversion information by referring to a page table, etc., and firmware, etc. for this purpose is required. Furthermore, referring to the table requires accessing a system area that should be protected by the OS, but it is dangerous and undesirable for a peripheral controller to access such a system area without being under the control of the processor.

【0016】本発明の目的は、前記の課題を解決するこ
とにより、周辺コントローラ、特に、グラフィックスコ
ントローラにおいて論理アドレスと物理アドレスの変換
を行うことができ、仮想記憶に対応したグラフィックス
システムを構成できるアドレス変換装置を提供すること
にある。
An object of the present invention is to solve the above-mentioned problems, thereby making it possible to convert logical addresses and physical addresses in peripheral controllers, especially graphics controllers, and constructing a graphics system compatible with virtual memory. The purpose of the present invention is to provide an address translation device that can perform the following tasks.

【0017】[0017]

【課題を解決するための手段】本発明は、プロセッサか
ら入力されるデータにより論理アドレス情報を生成する
論理アドレス発生手段と、この生成された論理アドレス
情報を物理アドレス情報に変換しメモリに対して出力す
る変換参照バッファとを備えたアドレス変換装置におい
て、前記変換参照バッファは、前記論理アドレス情報と
前記物理アドレス情報とを一組として記憶するように構
成したアドレス変換情報を複数個組み合わせて構成され
、入力される前記論理アドレス情報に対し、前記複数の
アドレス変換情報の中から適合した一つのアドレス変換
情報を選択し当該アドレス変換情報に含まれる物理アド
レス情報を前記メモリに対して出力し、適合したアドレ
ス変換情報を選択できないときはミスヒット信号を前記
プロセッサに対して出力する手段を含むことを特徴とす
る。
[Means for Solving the Problems] The present invention provides a logical address generation means for generating logical address information from data input from a processor, and a means for converting the generated logical address information into physical address information for use in a memory. In an address translation device including a translation reference buffer for outputting, the translation reference buffer is configured by combining a plurality of pieces of address translation information configured to store the logical address information and the physical address information as a set. , select one piece of address translation information that matches the input logical address information from among the plurality of address translation information, output the physical address information included in the address translation information to the memory, and The present invention is characterized in that it includes means for outputting a miss signal to the processor when the address conversion information that has been selected cannot be selected.

【0018】また、本発明は、前記変換参照バッファは
、前記アドレス変換情報として前記論理アドレス情報お
よび前記物理アドレス情報のほかに、変換処理を制御す
る制御情報を含み、この制御情報に対する処理手段を含
むことを特徴とする。
Further, in the present invention, the conversion reference buffer includes control information for controlling conversion processing in addition to the logical address information and the physical address information as the address conversion information, and a processing means for this control information is provided. It is characterized by containing.

【0019】[0019]

【作用】変換参照バッファ(TLB)は、論理アドレス
情報と物理アドレス情報とを一組として記憶しており、
論理アドレス情報が入力されると、それに適合した論理
アドレス情報を探し、もしあれば当該論理アドレス情報
と組になっている物理アドレス情報を取り出してメモリ
に対して出力する。そして、もし適合するものが登録さ
れていないときは、ミスヒット信号をプロセッサに対し
て出力する。
[Operation] The translation reference buffer (TLB) stores logical address information and physical address information as a set.
When logical address information is input, logical address information matching the logical address information is searched for, and if any, physical address information paired with the logical address information is extracted and output to the memory. If a matching one is not registered, a miss signal is output to the processor.

【0020】従って、本発明によれば、グラフィックス
コントローラにおいて、論理アドレスと物理アドレスの
変換ができ、仮想記憶に対応したグラフィックスシステ
ムを構成することが可能となる。
Therefore, according to the present invention, it is possible to convert logical addresses and physical addresses in the graphics controller, and it is possible to configure a graphics system compatible with virtual memory.

【0021】さらに、論理アドレス情報および物理アド
レス情報のほかに、制御情報として、例えば、タスク番
号、アクセスモード制御情報またはページサイズ情報を
付加することにより、マルチタスク処理への対応を簡単
にしたり、不正なメモリアクセスを禁止したり、あるい
は使用するアクセス変換情報の数を削減することが可能
となる。
Furthermore, by adding control information such as a task number, access mode control information, or page size information in addition to the logical address information and physical address information, it is possible to easily support multitasking processing. It becomes possible to prohibit illegal memory access or reduce the number of access conversion information to be used.

【実施例】以下、本発明の実施例について図面を参照し
て説明する。
Embodiments Hereinafter, embodiments of the present invention will be described with reference to the drawings.

【0022】図1は本発明の第一実施例を示すブロック
構成図で、本発明をグラフィックシステムに適用した場
合を示す。また図2はそのアドレス変換情報の構成を示
す説明図および図3はその仮想記憶によるメモリマップ
を示す説明図である。
FIG. 1 is a block diagram showing a first embodiment of the present invention, in which the present invention is applied to a graphics system. Further, FIG. 2 is an explanatory diagram showing the structure of the address translation information, and FIG. 3 is an explanatory diagram showing the memory map based on the virtual memory.

【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
に対して出力する手段を含んでいる。
The first embodiment uses a drawing address generator (A
G) Graphics control unit 4 including 21
In the graphics controller 3 as an address conversion device equipped with a TLB 7 that converts the drawing address 14 into physical address information and outputs it to the memory 2, the TLB 7 is a feature of the present invention. The page ID 16 as the physical address information and the physical page number 18 as the physical address information are configured by combining four pieces of address conversion information 5. Select one matching address translation information 5 from among the address translation information 5, output the physical page number 18 as physical address information included in the address translation information 5 to the memory 2, and select the matching address translation information 5. 5
When the processor 1 cannot select the miss hit signal 19,
It includes means for outputting to.

【0024】なお、図1において、4はグラフィックス
コントローラ手段を有するグラフィックスコントロール
ユニットであり、プロセッサ1から入力されるデータに
基づいて描画アドレス14を生成出力する描画アドレス
発生器(AG)21を含んでいる。また、10はプロセ
ッサ1がメモリ2やグラフィックスコントローラ3をア
クセスするためのシステムアドレスバス、11はシステ
ムデータバス、12はグラフィックスコントローラ3が
メモリ2をアクセスするためのグラフィックスアドレス
バス、13はグラフィックスデータバス、および17は
描画アドレス14の一部でページ内オフセットである。
In FIG. 1, reference numeral 4 denotes a graphics control unit having a graphics controller means, which includes a drawing address generator (AG) 21 that generates and outputs a drawing address 14 based on data input from the processor 1. Contains. Further, 10 is a system address bus for the processor 1 to access the memory 2 and the graphics controller 3, 11 is a system data bus, 12 is a graphics address bus for the graphics controller 3 to access the memory 2, and 13 is a system address bus for the processor 1 to access the memory 2 and the graphics controller 3. A graphics data bus, and 17 are part of the drawing address 14 and an offset within the page.

【0025】ここで、描画アドレス14は、ページID
16とページ内オフセット17に分けられ、ページID
16はTLB7への入力として用いられ、ページ内オフ
セット17はTLB7の出力である物理ページ番号18
と結合されてグラフィックスアドレスバス12を構成す
る。本第一実施例では、アドレスバスは24ビットであ
り、ページID16およびページ内オフセット17はと
もに12ビットである。従って、1ページは4キロバイ
トである。
[0025] Here, the drawing address 14 is the page ID
16 and intra-page offset 17, page ID
16 is used as input to TLB7, and in-page offset 17 is the physical page number 18 which is the output of TLB7.
The graphics address bus 12 is combined with the graphics address bus 12. In the first embodiment, the address bus is 24 bits, and the page ID 16 and intra-page offset 17 are both 12 bits. Therefore, one page is 4 kilobytes.

【0026】ここで、システムアドレスバス10とグラ
フィックスアドレスバス12とは物理アドレスであり、
描画アドレス14は論理アドレスである。
Here, the system address bus 10 and the graphics address bus 12 are physical addresses,
The drawing address 14 is a logical address.

【0027】次に、本第一実施例の動作について説明す
る。最初、プロセッサ1はグラフィックスコントローラ
3に対して、使用するメモリの割付や座標の設定等を行
う。図3の場合では、論理アドレス空間の202000
H〜204FFFH番地までをワークエリアとして使用
し、その中で描画を行うように設定している。
Next, the operation of the first embodiment will be explained. First, the processor 1 allocates memory to be used, sets coordinates, etc. to the graphics controller 3. In the case of Figure 3, 202000 in the logical address space
The area from addresses H to 204FFFH is used as a work area, and drawing is performed within that area.

【0028】次に、プロセッサ1は必要に応じて直線や
円弧等のグラフィックス描画、あるいは指定領域を別の
領域にコピーするなどの処理を指示する。グラフィック
スコントローラ3はこの指示を受けると、描画アドレス
や描画データを発生する。従来のグラフィックスコント
ローラはここで発生した描画アドレスをそのまま用いて
メモリアクセスを行っていた。しかし、ここで得られる
描画アドレス14は論理アドレスなので、仮想記憶シス
テムではこれを物理アドレスに変換する必要がある。そ
のために、一たん描画アドレス14を下位12ビットの
ページ内オフセット17と上位12ビットのページID
16に分け、ページID16をTLB7に入力する。描
画アドレス14の示す値が203123H番地とすると
、ページID16は203H、ページ内オフセット17
は123Hである。
Next, the processor 1 instructs processing such as drawing graphics such as straight lines and arcs, or copying the specified area to another area, as necessary. When the graphics controller 3 receives this instruction, it generates a drawing address and drawing data. Conventional graphics controllers accessed memory using the drawing address generated here as is. However, since the drawing address 14 obtained here is a logical address, it is necessary to convert this into a physical address in the virtual memory system. To do this, we need to set the drawing address 14 to the in-page offset 17 of the lower 12 bits and the page ID of the upper 12 bits.
The page ID 16 is input into the TLB7. If the value indicated by the drawing address 14 is address 203123H, the page ID 16 is 203H, and the offset within the page is 17.
is 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に登録する
[0029] Initially, nothing is registered in TLB7. There, the page ID 16 (20) of the first drawing address 14
3H) is input as a key, the address translation information corresponding to this key input does not exist in the TLB 7, so a miss signal 19 is output, causing an interrupt in the processor 1. At the same time, the graphics controller 3 suspends its execution. When the processor 1 recognizes the miss-hit signal 19 from the TLB 7, it reads the page ID 16 of the drawing address that caused the miss from the graphics controller 3, and obtains the corresponding physical page number (206H). This physical page number 1
The algorithm for calculating 8 depends on the processor and OS used.
The graphics processor is not concerned with this. After the address translation information 5 shown in FIG. 2 is created using the obtained physical page number 18 and page ID 16, the processor 1 registers the information in the TLB 7.

【0030】この登録を待って、グラフィックスプロセ
ッサ3が動作を再開すると、TLB7は入力のページI
D16(203H)に対して物理ページ番号18(35
6H)を出力する。そして、物理ページ番号18(35
6H)とページ内オフセット17(123H)を結合し
た356123Hを物理アドレスとしてグラフィックス
アドレスバス12へ出力し、描画のためのメモリアクセ
スを行う。
When the graphics processor 3 resumes operation after waiting for this registration, the TLB 7 registers the input page I.
Physical page number 18 (35
6H) is output. And physical page number 18 (35
6H) and intra-page offset 17 (123H) is output to the graphics address bus 12 as a physical address, and memory access for drawing is performed.

【0031】以降、TLB7に登録されたと同じページ
IDを持つ描画アドレス14に対しては、即座に物理ペ
ージ番号18を得ることができる。TLB7に登録され
ていないページIDを持つ描画アドレスの場合は、再び
ミスヒット信号19を出力し、プロセッサ1に新しいア
ドレス変換情報5を登録してもらう。
From now on, the physical page number 18 can be immediately obtained for the drawing address 14 having the same page ID as that registered in the TLB 7. If the drawing address has a page ID that is not registered in the TLB 7, the miss-hit signal 19 is outputted again and the processor 1 is asked to register new address conversion information 5.

【0032】もし、TLB7に新しいアドレス変換情報
5を登録する余地がなくなったときは、すでに登録され
ているアドレス変換情報5の一つを選び、その情報を削
除して、その部分に新しい変換情報を登録する。プロセ
ッサ1が論理アドレスと物理アドレスの対応を変更した
り、物理ページをスワップアウト(メモリ上のあるペー
ジを補助記憶に待避し、その部分を新しいページとして
使用すること)した場合は、その変更をTLB7にも反
映させる必要がある。このとき、削除すべきアドレス変
換情報5の決定や、アドレス変換情報5を任意の位置に
登録する操作は、全てプロセッサ1が行う。そのため、
プロセッサ1はTLB7の内容をメモリ2を読み出しま
たは書き込みするのと同様に自由にアクセスできる。
[0032] If there is no room to register new address translation information 5 in TLB 7, select one of the address translation information 5 that has already been registered, delete that information, and replace the new address translation information in that part. Register. When processor 1 changes the correspondence between logical addresses and physical addresses, or swaps out physical pages (saving a certain page in memory to auxiliary storage and using that part as a new page), the change is It is necessary to reflect this in TLB7 as well. At this time, the processor 1 performs all operations such as determining the address translation information 5 to be deleted and registering the address translation information 5 in an arbitrary position. Therefore,
Processor 1 can freely access the contents of TLB 7 in the same way as reading or writing memory 2.

【0033】以上のように、従来のグラフィックスコン
トローラのアドレス出力をTLBで変換することによっ
て、論理アドレスである描画アドレスを物理アドレスに
変換でき、仮想記憶に対応することができる。TLBの
操作は全てプロセッサが行うので、仮想記憶の実現方法
としては任意の方式を取ることができる。TLBの大き
さやその内容がプロセッサ側のMMUのTLBと一致し
ている必要はない。ただし、プロセッサ側のMMUが管
理するページの大きさとグラフィックスコントローラ側
のTLBによるページの大きさは一致している必要があ
る。
As described above, by converting the address output of a conventional graphics controller using the TLB, a drawing address, which is a logical address, can be converted to a physical address, and it is possible to correspond to virtual memory. Since all TLB operations are performed by the processor, any method can be used to implement the virtual memory. It is not necessary that the size of the TLB or its contents match the TLB of the MMU on the processor side. However, the size of the page managed by the MMU on the processor side and the size of the page according to the TLB on the graphics controller side must match.

【0034】また、本第一実施例のように簡単な構成の
TLBの場合、それ自体ではタスク間のメモリ保護機能
はないが、その場合プロセッサでのタスクが切り替わる
ごとにTLBの内容を無効にすることで、不正なアクセ
スを防ぐことができる。また、各タスクごとにメモリ上
にTLBのコピーを持ち、タスクの実行中は当該タスク
に関するアドレス変換情報しかTLBに存在しないよう
にTLBを入れ換えることでもよい。
Furthermore, in the case of a TLB with a simple configuration as in the first embodiment, it does not have a memory protection function between tasks by itself, but in that case, the contents of the TLB are invalidated every time the task in the processor is switched. This can prevent unauthorized access. Alternatively, each task may have a copy of the TLB in memory, and the TLB may be replaced so that only the address translation information regarding the task exists in the TLB while the task is being executed.

【0035】図4は本発明の第二実施例を示すブロック
構成図で、図1の第一実施例において、TLBにマルチ
タスクへの対応とメモリ保護手段を付加した場合を示す
。また、図5はそのアドレス変換情報の構成を示す説明
図、および図6はその仮想記憶によるメモリマップを示
す説明図である。
FIG. 4 is a block diagram showing a second embodiment of the present invention, showing a case where multitasking support and memory protection means are added to the TLB in the first embodiment of FIG. 1. Further, FIG. 5 is an explanatory diagram showing the structure of the address translation information, and FIG. 6 is an explanatory diagram showing the memory map based on the virtual memory.

【0036】本第二実施例は、本発明の特徴とするとこ
ろの、TLB8は、アドレス変換情報6として、図5に
示すように、エリアID15およびページID16から
なる論理アドレス情報と、物理ページ番号18からなる
物理アドレス情報とのほかに、変換処理を制御する制御
情報としての、アクセスモードフラグと、ページサイズ
フラグと、タスク番号とを含み、その処理手段として、
描画を依頼したタスクの番号を格納するタスク番号レジ
スタ(TR)9を含んでいる。なお、TLB8のエント
リー数(登録可能なアドレス変換情報の数)は8である
The second embodiment is characterized in that the TLB 8 contains, as address translation information 6, logical address information consisting of an area ID 15 and a page ID 16, and a physical page number, as shown in FIG. In addition to the physical address information consisting of 18, it includes an access mode flag, a page size flag, and a task number as control information for controlling the conversion process, and as a processing means,
It includes a task number register (TR) 9 that stores the number of the task that requested drawing. Note that the number of entries in TLB8 (the number of address translation information that can be registered) is eight.

【0037】TLB8は三つのキー入力フィールドと2
ビットのフラグ情報、および一つの出力フィールドから
なる。それに対応して、描画アドレス14はエリアID
15、ページID16、およびページ内オフセット17
の三つの部分に分けられ、エリアID15とページID
16はキーとしてTLB8へ入力される。図4では、エ
リアID15は12ビット、ページID16は8ビット
、ページ内オフセット17は12ビットである。さらに
、タスク番号レジスタ9もTLB8へのキー入力として
用いる。これは、マルチタスク処理の場合、アドレス変
換情報が自タスクの変換情報であることを確認できなけ
れば、他のタスクのアドレス変換情報にヒットして他の
タスクの領域を破壊する可能性が生ずるからである。
TLB8 has three key input fields and two
Consists of bits of flag information and one output field. Correspondingly, the drawing address 14 is the area ID
15, page ID 16, and intra-page offset 17
It is divided into three parts, area ID 15 and page ID
16 is input to TLB8 as a key. In FIG. 4, the area ID 15 is 12 bits, the page ID 16 is 8 bits, and the intra-page offset 17 is 12 bits. Furthermore, the task number register 9 is also used as a key input to the TLB 8. This means that in the case of multi-task processing, if it cannot be confirmed that the address translation information is that of the own task, there is a possibility that the address translation information of another task will be hit and the area of the other task destroyed. It is from.

【0038】TLB8の変換情報に付属する2種類のフ
ラグ情報は、以下のような意味を持つ。アクセスモード
フラグが「1」のアドレス変換情報6はリードアクセス
のみが可能で、ライトアクセスは不許可であることを意
味し、アクセスモードフラグが「0」のアドレス変換情
報6はリードおよびライトともに許可されていることを
意味する。
The two types of flag information attached to the conversion information of TLB8 have the following meanings. Address conversion information 6 with an access mode flag of "1" means that only read access is possible and write access is not permitted, and address conversion information 6 with an access mode flag of "0" allows both read and write access. means that it has been

【0039】ページサイズフラグが「1」であるアドレ
ス変換情報6はページID16のキー入力を無視してT
LB8を参照し、1ページの大きさをページID16と
ページ内オフセット17を合わせた20ビット(=1メ
ガバイト)とする。ページサイズフラグが「0」である
アドレス変換情報6は、エリアID15とページID1
6の両方でTLB8を参照し、1ページの大きさはペー
ジ内オフセット17の12ビット(4キロバイト)とす
る。これは、フレーム領域やフォント情報など、物理ア
ドレス空間に既に連続してマッピングされている領域に
ついては、1ページの大きさを大きく取ることによって
、TLB8のエントリー使用量を少なくするためである
Address conversion information 6 whose page size flag is "1" ignores the key input of page ID 16 and converts to T.
Referring to LB8, the size of one page is set to 20 bits (=1 megabyte), which is the sum of page ID 16 and intra-page offset 17. Address conversion information 6 whose page size flag is "0" has area ID 15 and page ID 1.
6 refer to TLB 8, and the size of one page is 12 bits (4 kilobytes) at intra-page offset 17. This is to reduce the amount of entries used in the TLB 8 by increasing the size of one page for areas that are already mapped continuously in the physical address space, such as frame areas and font information.

【0040】次に、本第二実施例におけるアドレス変換
方法を図6を用いて説明する。
Next, the address conversion method in the second embodiment will be explained with reference to FIG.

【0041】最初、各タスクは描画用のワークエリアと
して任意の大きさのアドレス空間をOSに要求し、それ
を獲得する。図6では、タスク1が300000H〜3
02FFFHを、タスク2が2FE000H〜2FFF
FFHを割り当てられている。各タスクは、獲得したワ
ークエリアに対し描画座標系やその他パラメータを設定
する。これ以降、タスクはここで定義されたワークエリ
アに対して描画を行う。
First, each task requests an address space of an arbitrary size from the OS as a work area for drawing, and obtains it. In Figure 6, task 1 is 300000H~3
02FFFH, task 2 is 2FE000H~2FFF
Assigned FFH. Each task sets the drawing coordinate system and other parameters for the acquired work area. From now on, the task will draw in the work area defined here.

【0042】各タスクでの描画要求は、OSを通してグ
ラフィックスコントローラ3へ送られる。このとき、O
Sはグラフィックスコントローラ3へその描画を要求し
たタスクの番号をタスク番号レジスタ9へ設定する。グ
ラフィックスコントロールユニット4が生成した描画ア
ドレス14は、エリアID15、ページID16、およ
びページ内オフセット17の三つの部分に分けられ、前
二者はTLB8へ入力される。
A drawing request for each task is sent to the graphics controller 3 through the OS. At this time, O
S sets the number of the task that requested the graphics controller 3 to draw in the task number register 9. The drawing address 14 generated by the graphics control unit 4 is divided into three parts: an area ID 15, a page ID 16, and an intra-page offset 17, and the first two are input to the TLB 8.

【0043】TLB8では、以下の全ての条件を満たす
アドレス変換情報6が存在すれば、その描画アドレスは
ヒットしたもので、対応する変換情報の物理ページ番号
18を出力する。もし、その条件を満たすアドレス変換
情報6が存在しなければ、ミスヒット信号19を出力す
る。 (a)タスク番号レジスタ9の値とTLB8のタスク番
号フィールドの値が等しい。またはタスク番号レジスタ
9の値が000Hである。またはTLB8のタスク番号
フィールドの値が0FFFHである。 (b)描画アドレスのエリアID15の値がTLB8の
エリアIDフィールドの値と等しい。 (c)ページサイズフラグの値が「0」で、かつ描画ア
ドレスのページID16の値がTLB8のページIDフ
ィールドの値と等しい。またはページサイズフラグの値
が「1」である。
In the TLB 8, if there is address conversion information 6 that satisfies all of the following conditions, the drawing address is a hit, and the physical page number 18 of the corresponding conversion information is output. If address translation information 6 that satisfies the condition does not exist, a miss-hit signal 19 is output. (a) The value of the task number register 9 and the value of the task number field of TLB 8 are equal. Or the value of task number register 9 is 000H. Or the value of the task number field of TLB8 is 0FFFH. (b) The value of area ID15 of the drawing address is equal to the value of area ID field of TLB8. (c) The value of the page size flag is "0" and the value of page ID16 of the drawing address is equal to the value of the page ID field of TLB8. Or the value of the page size flag is "1".

【0044】ヒットした場合、ページサイズフラグが「
0」のときは物理ページ番号とページ内オフセットを結
合して物理アドレスを得る。ページサイズフラグが「1
」のときは、物理ページ番号にページIDとページ内オ
フセットを加え、物理アドレスとする。例えば、TLB
が図6に示すような状態で描画アドレスが301234
Hの場合、対応するアドレス変換情報のページサイズフ
ラグが「0」であるので、物理ページ番号(356H)
とページ内オフセット(234H)を結合した3562
34Hが物理アドレスとなる。一方、描画アドレスが6
54321Hの場合、対応するアドレス変換情報のペー
ジサイズフラグが「1」であるので、物理ページ番号(
D00H)にページID(54H)とページ内オフセッ
ト(321H)を結合したD54321Hが物理アドレ
スとなる。
[0044] If there is a hit, the page size flag is set to "
0'', the physical address is obtained by combining the physical page number and the intra-page offset. The page size flag is "1"
'', the page ID and intra-page offset are added to the physical page number to obtain the physical address. For example, T.L.B.
In the state shown in Figure 6, the drawing address is 301234.
In the case of H, the page size flag of the corresponding address translation information is "0", so the physical page number (356H)
3562, which is the combination of and in-page offset (234H)
34H becomes the physical address. On the other hand, the drawing address is 6
In the case of 54321H, the page size flag of the corresponding address translation information is "1", so the physical page number (
D54321H, which is a combination of page ID (54H) and intra-page offset (321H), becomes the physical address.

【0045】ミスヒットの場合は、グラフィックスコン
トローラ3は一たん処理を中断し、ミスヒット信号19
によってプロセッサ1に処理を引き渡す。プロセッサ1
では、グラフィックスコントローラ3からミスヒットを
引き起こしたタスク番号と論理アドレスを読み出し、そ
れらに従ってテーブル参照を行い、アドレス変換情報の
作成、およびアクセスモードフラグやページサイズフラ
グの設定を行い、これらの情報をTLB8へ登録する。
In the case of a mishit, the graphics controller 3 temporarily interrupts processing and sends a mishit signal 19.
The process is handed over to processor 1. processor 1
Now, read the task number and logical address that caused the miss from the graphics controller 3, refer to the table according to them, create address conversion information, set the access mode flag and page size flag, and use this information. Register to TLB8.

【0046】なお、タスク番号は任意に定めてよいが、
特別な値として000Hと0FFFHを用いる。000
Hは特権レベルのタスクを表し、この値を持つタスクは
全ての論理アドレス空間をアクセスできる。0FFFH
は共通タスク領域を表し、この値を持つアドレス変換情
報は全てのタスクからアドレスが可能である。
[0046] Although the task number may be arbitrarily determined,
000H and 0FFFH are used as special values. 000
H represents a privileged level task, and tasks with this value can access all logical address spaces. 0FFFFH
represents a common task area, and address translation information having this value can be addressed from all tasks.

【0047】さらに、描画アドレスに対してTLBがヒ
ットした場合でも、そのアクセスがライトアクセスで、
かつヒットしたエントリーのRフラグが「1」であった
場合は、不正アクセスとなる。これはフォント情報など
変更されては困る領域やROMエリアへのライトアクセ
スを防止するためである。当該アクセスがリードアクセ
スかライトアクセスかはグラフィックスコントロールユ
ニット4が出力するリードライト信号20によって識別
する。
Furthermore, even if the TLB hits a drawing address, the access is a write access,
If the R flag of the hit entry is "1", this is an unauthorized access. This is to prevent write access to areas that should not be changed, such as font information, or the ROM area. Whether the access is a read access or a write access is identified by the read/write signal 20 output by the graphics control unit 4.

【0048】また、第一実施例のように、TLBの構成
の中にメモリの保護機能を取り入れた場合は、アドレス
変換情報を登録する段階でOSが管理するメモリ保護機
能を取り入れ、不正なアクセスを防止することが可能で
ある。この場合には、グラフィックスコントローラは、
プロセッサから描画指示を受け取った後はプロセッサと
は独立に処理を行うことが可能になるので、プロセッサ
とグラフィックスコントローラが別々のタスクの処理を
同時に行うことも可能である。
Furthermore, as in the first embodiment, when a memory protection function is incorporated into the TLB configuration, the memory protection function managed by the OS is incorporated at the stage of registering address translation information to prevent unauthorized access. It is possible to prevent this. In this case, the graphics controller
After receiving a drawing instruction from the processor, it becomes possible to perform processing independently of the processor, so it is also possible for the processor and graphics controller to process different tasks at the same time.

【0049】なお、以上の本発明の実施例ではグラフィ
ックスコントローラについて説明を行ったが、本発明に
よるアドレス変換装置の目的は、周辺コントローラが生
成する論理アドレスを物理アドレスに変換することによ
り仮想記憶制御されたメモリへのアクセスを可能にする
ことである。このことから、本発明がグラフィックスコ
ントローラに限らずDMAコントローラや通信コントロ
ーラ、ディスクコントローラなど、仮想記憶されたメモ
リをアクセスする必要がある周辺コントローラに適用が
可能であることは明らかである。
Although the graphics controller has been explained in the above embodiments of the present invention, the purpose of the address translation device according to the present invention is to convert the logical addresses generated by the peripheral controller into physical addresses to convert virtual memory. The goal is to allow controlled access to memory. From this, it is clear that the present invention is applicable not only to graphics controllers but also to peripheral controllers that need to access virtualized memory, such as DMA controllers, communication controllers, and disk controllers.

【0050】[0050]

【発明の効果】以上説明したように、本発明は、例えば
、周辺コントローラとして、グラフィックスコントロー
ラにおいて、論理アドレスと物理アドレスの変換を行う
ことができ、仮想記憶に対応したグラフィックスシステ
ムを構成することができる効果がある。
[Effects of the Invention] As explained above, the present invention is capable of converting logical addresses and physical addresses in a graphics controller as a peripheral controller, and configures a graphics system compatible with virtual memory. There is an effect that can be done.

【0051】また、本発明によるグラフィックスコント
ローラのアドレス変換装置では、グラフィックスコント
ローラにはMMUの一部であるTLBのみを内蔵させる
というわずかなハードウェア増設と、他の処理はOSに
よって行うことによって、自由度が高く、かつ高速に論
理アドレスと物理アドレスを変換することができ、さら
に、マルチアクセスに対応したり、不正アクセスを防止
したり、アドレス変換情報の数を削減することもでき、
その効果は大である。
Furthermore, in the graphics controller address translation device according to the present invention, a slight hardware addition is required in which only the TLB, which is a part of the MMU, is built into the graphics controller, and other processing is performed by the OS. , can convert logical addresses and physical addresses at high speed with a high degree of freedom, and can also support multiple accesses, prevent unauthorized access, and reduce the number of address conversion information.
The effect is huge.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】  本発明の第一実施例を示すブロック構成図
FIG. 1 is a block configuration diagram showing a first embodiment of the present invention.

【図2】  そのアドレス変換情報の構成を示す説明図
FIG. 2 is an explanatory diagram showing the structure of the address translation information.

【図3】  その仮想記憶によるメモリマップを示す説
明図。
FIG. 3 is an explanatory diagram showing a memory map based on the virtual memory.

【図4】  本発明の第二実施例を示すブロック構成図
FIG. 4 is a block configuration diagram showing a second embodiment of the present invention.

【図5】  そのアドレス変換情報の構成を示す説明図
FIG. 5 is an explanatory diagram showing the structure of the address translation information.

【図6】  その仮想記憶によるメモリマップを示す説
明図。
FIG. 6 is an explanatory diagram showing a memory map based on the virtual memory.

【図7】  従来例を示すブロック構成図。FIG. 7 is a block configuration diagram showing a conventional example.

【符号の説明】[Explanation of symbols]

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  ページテーブル
1, 31 Processor 2, 32 Memory 3 Graphics controller 4 Graphics control unit 5, 6
Address conversion information 7, 8, 37 Translation reference buffer (TLB) 9 Task number register (TR) 10 System address bus 11 System data bus 12 Graphics address bus 13 Graphics data bus 14 Drawing address 15 Area ID 16 Page ID 17 Page Internal offset 18 Physical page numbers 19, 38 Mishit signal 20 Read/write signal 21 Drawing address generator (AG) 33 Logical address 34 Physical address 35 Area table 36 Page table

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】  プロセッサから入力されるデータによ
り論理アドレス情報を生成する論理アドレス発生手段と
、この生成された論理アドレス情報を物理アドレス情報
に変換しメモリに対して出力する変換参照バッファとを
備えたアドレス変換装置において、前記変換参照バッフ
ァは、前記論理アドレス情報と前記物理アドレス情報と
を一組として記憶するように構成したアドレス変換情報
を複数個組み合わせて構成され、入力される前記論理ア
ドレス情報に対し、前記複数のアドレス変換情報の中か
ら適合した一つのアドレス変換情報を選択し当該アドレ
ス変換情報に含まれる物理アドレス情報を前記メモリに
対して出力し、適合したアドレス変換情報を選択できな
いときはミスヒット信号を前記プロセッサに対して出力
する手段を含むことを特徴とするアドレス変換装置。
1. A logical address generation means for generating logical address information based on data input from a processor, and a conversion reference buffer for converting the generated logical address information into physical address information and outputting it to a memory. In the address translation device, the translation reference buffer is configured by combining a plurality of pieces of address translation information configured to store the logical address information and the physical address information as a set, and the translation reference buffer is configured by combining a plurality of pieces of address translation information configured to store the logical address information and the physical address information as a set, and When one suitable piece of address translation information is selected from among the plurality of address translation information and the physical address information included in the address translation information is output to the memory, and the matching address translation information cannot be selected. An address translation device comprising means for outputting a mishit signal to the processor.
【請求項2】  請求項1に記載のアドレス変換装置に
おいて、前記変換参照バッファは、前記アドレス変換情
報として前記論理アドレス情報および前記物理アドレス
情報のほかに、変換処理を制御する制御情報を含み、こ
の制御情報に対する処理手段を含むことを特徴とするア
ドレス変換装置。
2. The address translation device according to claim 1, wherein the translation reference buffer includes, as the address translation information, control information for controlling translation processing in addition to the logical address information and the physical address information. An address translation device comprising processing means for this control information.
JP3104879A 1991-04-09 1991-04-09 Address translating device Pending JPH04311233A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3104879A JPH04311233A (en) 1991-04-09 1991-04-09 Address translating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3104879A JPH04311233A (en) 1991-04-09 1991-04-09 Address translating device

Publications (1)

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

Family

ID=14392485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3104879A Pending JPH04311233A (en) 1991-04-09 1991-04-09 Address translating device

Country Status (1)

Country Link
JP (1) JPH04311233A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252983A (en) * 2003-02-18 2004-09-09 Microsoft Corp System and method for enhancing performance of coprocessor
JP2004272894A (en) * 2003-02-18 2004-09-30 Microsoft Corp Multithread kernel of graphics processing unit
US7487367B2 (en) 2002-11-18 2009-02-03 Arm Limited Apparatus and method for managing access to a memory
JPWO2008155848A1 (en) * 2007-06-20 2010-08-26 富士通株式会社 Computer, TLB control method, and TLB control program
JP4772795B2 (en) * 2004-09-30 2011-09-14 インテル コーポレイション Address translation performance improvement using a translation table that covers a large address capacity
JP2012088894A (en) * 2010-10-19 2012-05-10 Renesas Electronics Corp Data processor

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 (en) * 2003-02-18 2004-09-09 Microsoft Corp System and method for enhancing performance of coprocessor
JP2004272894A (en) * 2003-02-18 2004-09-30 Microsoft Corp Multithread kernel of graphics processing unit
JP2010020803A (en) * 2003-02-18 2010-01-28 Microsoft Corp System and method for enhancing performance of coprocessor
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 (en) * 2004-09-30 2011-09-14 インテル コーポレイション Address translation performance improvement using a translation table that covers a large address capacity
JPWO2008155848A1 (en) * 2007-06-20 2010-08-26 富士通株式会社 Computer, TLB control method, and TLB control program
US8190853B2 (en) 2007-06-20 2012-05-29 Fujitsu Limited Calculator and TLB control method
JP4998554B2 (en) * 2007-06-20 2012-08-15 富士通株式会社 Arithmetic processing apparatus, information processing apparatus, and control method for arithmetic processing apparatus
JP2012088894A (en) * 2010-10-19 2012-05-10 Renesas Electronics Corp Data processor

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
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 (en) Memory management system and memory access security grant method based on linear address
TW376488B (en) Virtual memory system with local and global virtual address translation
JPS6013501B2 (en) Channel address control method in virtual computer system
US5182805A (en) Method and system for determining copy-on-write condition
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
JPH10228419A (en) Method and device for preloading various default address conversion attributes
US20020046305A1 (en) Method for effective binary translation between different instruction sets using emulated supervisor flag and multiple page tables
JPH0652511B2 (en) Address conversion method for information processing equipment
JPS6122825B2 (en)
EP0766177A1 (en) Information handling system including effective address translation for one or more auxiliary processors
EP0976048A1 (en) Page table walker which positions a sliding field in a virtual address using page size
JPS6248258B2 (en)
US6606697B1 (en) Information processing apparatus and memory control method
JPH05257811A (en) Memory controller
JPH04311233A (en) Address translating device
CA2029628A1 (en) Translation look aside buffer with parallel exception checking and update bypass
JPH06332803A (en) Tlb control method in virtual computer system
JPH0793221A (en) Virtual computer system and control method thereof
JPS5619153A (en) Virtual computer system
US20160259310A1 (en) Initialising control data for a device