JPH06231046A - メモリアクセス制御方式 - Google Patents

メモリアクセス制御方式

Info

Publication number
JPH06231046A
JPH06231046A JP5012501A JP1250193A JPH06231046A JP H06231046 A JPH06231046 A JP H06231046A JP 5012501 A JP5012501 A JP 5012501A JP 1250193 A JP1250193 A JP 1250193A JP H06231046 A JPH06231046 A JP H06231046A
Authority
JP
Japan
Prior art keywords
memory
address
logical address
logical
type
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
JP5012501A
Other languages
English (en)
Inventor
Masahiko Abe
雅彦 阿部
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP5012501A priority Critical patent/JPH06231046A/ja
Publication of JPH06231046A publication Critical patent/JPH06231046A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 ページング方式により、TLB(Trans
lation Look−aside Buffer)
を参照しながら論理アドレスを物理アドレスに変換し、
フレームメモリ等のメモリをアクセスする際、なるべく
TLBミスの発生を抑えメモリアクセスの高速化が図れ
るメモリアクセス制御方式を提供する。 【構成】 アドレス変換手段M1が論理アドレスLAを
物理アドレスPAに変換し、種別判定手段M2があらか
じめ同一のメモリ位置に対し付与されている複数の論理
アドレスLAについて、いずれの種類の論理アドレスL
Aが指定されたのであるかを判定する。位置決定手段M
3は、種別判定手段M2が判定した種別及びアドレス変
換手段M1が変換した物理アドレスPAとに基づいてア
クセスすべきメモリ位置を決定し、メモリアクセス手段
M4は位置決定手段M3が決定したメモリ位置のメモリ
をアクセスする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ページング方式によ
り、TLB(Translation Look−as
ide Buffer)を参照しながら論理アドレスを
物理アドレスに変換し、例えばディスプレイ装置のフレ
ームメモリ等のメモリアクセスを行なうメモリアクセス
制御方式に関するものである。
【0002】
【従来の技術】従来より、仮想記憶方式が採用されてい
るコンピュータ等の情報処理装置が存在する。
【0003】仮想記憶方式とは、物理的なメモリの容量
を気にせずにプログラムを作成できるようにする等のた
めに仮想的な論理アドレス空間を提供する方式であり、
メモリをアクセスするたびに論理アドレスをメモリ上の
物理アドレスに変換する必要がある。このアドレス変換
を実現するための一つにページング方式が採用されてい
る。ページング方式では、論理アドレスと物理アドレス
との対応を示すページテーブルが用意されている。ペー
ジテーブルは通常主メモリ上に置かれており、1回のア
ドレス変換に通常は数回のメモリ参照が発生する。この
ため、メモリ参照回数を減少させて性能向上を図る手法
の一つとして、一般にはページテーブルが置かれている
主メモリよりも高速アクセスが可能なメモリ上にTLB
(Translation Look−aside B
uffer)と呼ばれる機構が設けられている。
【0004】ページング方式における論理アドレスから
物理アドレスへの変換の一例を図9に基づいて以下に説
明する。論理アドレスはページ番号とページ内相対アド
レスの組で表されている。始めに、与えられた論理アド
レスの内のページ番号に相当する部分をキーとしてTL
Bを検索する。TLB内に一致したページ番号が存在す
れば当該ページ番号と対応してTLB内に存在する、当
該ページの先頭物理アドレスを取り出す。そして、取り
出したページの先頭物理アドレスに当該ページ内相対ア
ドレス(この相対アドレスは、前述の与えられた論理ア
ドレスの内の、ページ内相対アドレスに相当する部分で
ある)を組み合わせて物理アドレスを決定する。
【0005】一方、TLB内に一致したページ番号が存
在しなければ、ページテーブルの存在するメモリの位置
をページテーブルポインタにより求め、ページ番号をイ
ンデックスとしてページテーブル内に設定されている、
当該ページの先頭物理アドレスを取り出す。これ以降の
処理は、TLB内に一致したページ番号が存在する場合
と同一である。
【0006】従って、TLB内に一致したページ番号が
存在する限りページテーブルを参照しなくても済み、T
LB内に無いページの論理アドレスをアクセスするとき
のみページテーブルを参照すれば良い。また、一般には
ページテーブルを参照したときに当該ページをTLB内
に登録する処理を行なっている。
【0007】ところで、例えばCRTディスプレイ等の
表示装置を備える情報処理装置においては、その表示装
置に表示するデータ(画素データ)を取り込んで記憶し
ておく手段としてフレームメモリを有する場合がある。
表示装置に文字や図形を表示する際には、情報処理装置
における画素表示ハードウェアが、フレームメモリの内
容を読み出して映像信号を生成し、それを表示装置に表
示させるようにしており、現在の情報処理装置の多く
は、画面の1点(これをピクセルと呼ぶ)をフレームメ
モリの1から数ビット(例えば、モノクロ表示の場合に
は1ビット、カラー表示の場合には数ビット等)に対応
させる構成をとっている。
【0008】即ち、フレームメモリに表示したい図形等
の情報を書込むことによって画面上に前述の図形等を表
示させることができるものである。
【0009】ページング方式を採用している情報処理装
置においては、フレームメモリに対しても、表示処理を
行なうプログラム等を記憶している主メモリと同様、フ
レームメモリを一定のサイズのブロック、即ちページに
分割し、このページ単位で論理アドレスから物理アドレ
スに変換する処理を行なっている。
【0010】
【発明が解決しようとする課題】ところで、最近の表示
装置においては例えば縦が1024ピクセル、横が12
80ピクセルというように大量のピクセルで画面を構成
するものも存在する。この例でのフレームメモリは1ピ
クセル当り仮に1バイトを使用するとすれば、1メガバ
イトを超える大容量のメモリである。ところが、TLB
内に保持できるページの数は限られており、一般的には
容量1メガバイト分を超える範囲をカバーする分のペー
ジ全てをTLB内に保持しきれない。従って、描画プロ
グラム等が描画処理にてフレームメモリに表示情報を書
込んだりするような、所定のアドレスのメモリをアクセ
スする際に当該所定のアドレスに対応するページがTL
B内に存在しない場合(いわゆるTLBミス)が発生す
る可能性がある。TLBミスが発生すると、前述したよ
うにページテーブルを参照することによって当該ページ
の物理アドレスを把握しなければならず、TLBミス発
生の頻度が多くなるとオーバーヘッドが多量に発生する
事態となる。特に、最近においてはフレームメモリが大
容量化する傾向にあり、この大容量化に伴ってオーバー
ヘッド発生の可能性が大きくなりつつある。
【0011】本発明は、上記問題点に鑑みてなされたも
のであり、その目的は例えば描画時におけるフレームメ
モリ等のメモリをアクセスするに際し、なるべくTLB
ミスの発生を抑えメモリアクセスの高速化が図れるメモ
リアクセス制御方式を提供することにある。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明に係るメモリアクセス制御方式は、ページン
グ方式により、TLBを参照しながら論理アドレスを物
理アドレスに変換し、メモリアクセスを行なうメモリア
クセス制御方式において、あらかじめ同一のメモリ位置
に対し付与されている複数種別の論理アドレスについ
て、いずれの種別の論理アドレスが指定されたのである
かを判定する種別判定手段と、前記論理アドレスを物理
アドレスに変換するアドレス変換手段と、前記種別判定
手段が判定した種別及び前記アドレス変換手段が変換し
た物理アドレスとに基づいて、アクセスすべきメモリ位
置を決定する位置決定手段と、前記位置決定手段が決定
したメモリ位置に対応するメモリをアクセスするメモリ
アクセス手段とを備えることとしたものである。
【0013】
【作用】本発明によれば、まずアドレス変換手段が論理
アドレスを物理アドレスに変換する。
【0014】一方、種別判定手段は、前述の論理アドレ
スについて、あらかじめ同一のメモリ位置に対し付与さ
れている複数種別の論理アドレスのうちのいずれの種別
の論理アドレスが指定されたのであるかを判定する。次
に、位置決定手段は、種別判定手段が判定した種別及び
アドレス変換手段が変換した物理アドレスとに基づい
て、アクセスすべきメモリ位置を決定する。この後、メ
モリアクセス手段は、位置決定手段が決定したメモリ位
置に対応するメモリをアクセスする。
【0015】
【実施例】以下、本発明の実施例について図面を用いて
詳細に説明する。
【0016】図1は本発明の概念図、図2は本実施例の
ブロック図、図3は本実施例のハードウェア構成図、図
4はメモリアクセス制御装置の構成図、図5はフレーム
メモリの構成例、図6はバイトスワップの関係図、図7
はピクセルによる図面の構成例、図8はピクセル座標と
アドレスの対応図、図9は論理アドレスから物理アドレ
スへの変換説明図である。
【0017】本実施例においては、表示装置104の画
面Sに文字や図形等を描画する目的で、表示情報を書込
むためにフレームメモリ103をアクセスすることを中
心にして説明するが、本発明はこの場合に限定されるも
のではない。
【0018】本発明は次の基本的思想に基づいて創作さ
れたものである。即ち、本発明が適用される情報処理装
置は仮想記憶方式を採用しておりさらにページング方式
にて制御される。フレームメモリ103をあらかじめ付
与されている所定の論理アドレスにてアクセスする際、
なるべく当該所定の論理アドレスに対応するページがT
LB内に存在しているようにしたい。このためにはフレ
ームメモリ103の、ある論理アドレスをアクセスした
際、次にフレームメモリ103の他の論理アドレスをア
クセスするときに、当該論理アドレスが前述のある論理
アドレスとはなるべく同一ページ内になっていることが
望ましい。ある図形等を描画する際には、通常、連続な
点に従い順次描画していく処理を行なうこと、即ち、あ
る点を描画した時に次の点を描画するのは通常は当該あ
る点の近傍の処理を行なうことが多い。本発明は以上の
ことに着目したものであり、その基本的思想は、描画さ
れる図形等の種類はある程度事前に分かっている場合が
多いので、これらの図形等の種別毎に、当該図形等のあ
る点の論理アドレスの近傍点の論理アドレスは、なるべ
く同一ページ内になるように論理アドレスを設定してお
く。そして、描画プログラム等により、論理アドレスの
種別と共に論理アドレスを指定されると、この指定され
た種別と論理アドレスとに基づき最終的には記憶素子及
び当該記憶素子内の位置を決定し、この位置に対応した
記憶素子の部分をアクセスするようにしたものである。
【0019】上記のことを図1に基づいて以下に説明す
る。
【0020】即ち、まずアドレス変換手段M1が論理ア
ドレスLAを物理アドレスPAに変換する。
【0021】一方、種別判定手段M2は、前述の論理ア
ドレスLAについて、あらかじめ同一のメモリ位置に対
し付与されている複数種別の論理アドレスLAのうちの
いずれの種別の論理アドレスLAが指定されたのである
かを判定する。次に、位置決定手段M3は、種別判定手
段M2が判定した種別及びアドレス変換手段M1が変換
した物理アドレスPAとに基づいて、アクセスすべきメ
モリ位置を決定する。この後、メモリアクセス手段M4
は、位置決定手段M3が決定したメモリ位置に対応する
メモリをアクセスする。
【0022】描画の典型的な場合として、画面Sに横線
と縦線を引く例について以下に説明する。
【0023】準備として、画面Sの構成とフレームメモ
リ103の論理アドレス付与について説明する。図7に
基づいて画面Sの構成について以下に説明する。画面S
は縦が1024ピクセル、横が1280ピクセル、画面
S全体が1310720(1024×1280)ピクセ
ルで構成されている。個々のピクセルPにはピクセル座
標PCとして(X,Y)(以下、X,Yの値を16進数
で示す)が付されていて、上左端のピクセル座標は
(0,0)であり、水平右方向に順次(1,0)、
(2,0)・・・となり、上右端のピクセル座標は(4
FF,0)である。最上行の次の行については、左端の
ピクセル座標が(0,1)であり、右方向に順次Xの値
が増加していき、右端のピクセル座標は(4FF,1)
である。
【0024】以下、同様に行が下方向に移行するに従
い、順次Y座標の値が増加していく。従って最下行につ
いては、左端のピクセル座標は(0,3FF)、右端の
ピクセル座標は(4FF,3FF)となる。
【0025】図5はフレームメモリ103の構成を示し
たものである。本実施例においては1ピクセル分の表示
情報(色情報等)を格納するために8ビット(1バイ
ト)が使用される。従って、上述の画面Sについてのフ
レームメモリ103は1024×1280バイト分の容
量を有している。
【0026】次にフレームメモリ103の論理アドレス
付与について説明する。図8はピクセル座標PCと当該
ピクセルPに対応するフレームメモリ103の位置(バ
イト単位)に付与された論理アドレスLAとの対応を示
している。
【0027】論理アドレスLAについては水平型、垂直
型の2種類が用意されており、いずれを選択するか指定
が可能である(どのように指定するかは後述する)。こ
の指定は原始的にはメモリ102に記憶されている描画
処理プログラム等によりなされ、CPU101がこれを
解読し、対応する物理アドレスPA(なお、本実施例に
おいては、説明を容易にするために論理アドレスLAと
物理アドレスPAは同一の値と仮定する。一般的には論
理アドレスLAと物理アドレスPAとは異なっている。
論理アドレスLAから物理アドレスPAへの変換はあら
かじめ与えられた条件に従ってCPU101が対応付け
を行なう。)にCPU101により変換されて信号線A
31〜A2に出力されるものである。
【0028】図8の左側の値(16進数)は、水平型を
指定された場合の論理アドレスLAを示しているのでこ
れを説明する。アドレス付与の概要としては、ピクセル
PのY座標の値が同一ならばX座標の値の小さい順に、
Y座標の値が異なるならばY座標の値の小さい順に順次
増加させていくものである。具体的に説明するとピクセ
ル座標(0,0)に対応する論理アドレスが00000
000(以下、論理アドレスLAの値は16進数で示
す)、座標(1,0)に対応する論理アドレスが000
00001というように、X座標増加方向に順次論理ア
ドレスが増加していき、画面右端一つ手前のピクセル座
標(4FE,0)に対応する論理アドレスが00000
4FE、画面右端のピクセル座標(4FF,0)に対応
するアドレスが000004FFである。以上が画面1
行目のピクセルに対応する論理アドレスである。
【0029】画面2行目のピクセルに対応するアドレス
については、画面左端のピクセル座標(0,1)に対応
する論理アドレスが00000800となる。なお、画
面1行目の右端のピクセルと画面2行目左端のピクセル
に対応する論理アドレスが連続していないのはメモリア
クセス制御を容易にするためであり、連続するようにし
てもかまわない。画面2行目左端の次のピクセル座標
(1,1)に対応する論理アドレスは00000801
であり、以下順次画面2行目の右のピクセルになるに従
い、順次論理アドレスが1ずつ増加していく。
【0030】画面3行目のピクセルに対応する論理アド
レスについても2行目と同様である。即ち、画面3行目
左端のピクセルに対応する論理アドレスは、画面2行目
左端のピクセルに対応する論理アドレスよりも0800
増加して、00001000となる。以下順次画面3行
目の右のピクセルになるに従い、順次論理アドレスが1
ずつ増加していく。
【0031】画面4行目以降のピクセルに対応する論理
アドレスについても上記と同様である。ちなみに、ピク
セル座標(0,3FD)、(0,3FE)、(0,3F
F)に対応する論理アドレスはそれぞれ001FE10
0、001FF000、001FF800となり、ピク
セル座標(4FE,3FF)、(4FF,3FF)に対
応する論理アドレスはそれぞれ001FFCFE、00
1FFCFFとなる。
【0032】次に垂直型が指定された場合を説明する。
図8において右側の値が、垂直型指定された場合の論理
アドレスLAを示している。論理アドレス付与の概要と
しては、ピクセルPのX座標の値が同一ならばY座標の
値の小さい順に、X座標の値が異なるならばX座標の値
の小さい順に順次増加させていくものである。具体的に
説明するとピクセル座標(0,0)に対応する論理アド
レスが00400000、座標(0,1)に対応する論
理アドレスが00400001というように、Y座標増
加方向に順次論理アドレスが増加していき、画面下端2
つ手前のピクセル座標(0,3FD)に対応する論理ア
ドレスが004003FD、画面下端1つ手前のピクセ
ル座標(0,3FE)に対応する論理アドレスが004
003FE、画面下端のピクセル座標(0,3FF)に
対応する論理アドレスが004003FFである。以上
が画面1列目のピクセルに対応する論理アドレスであ
る。
【0033】画面2列目のピクセルに対応する論理アド
レスについては、画面上端のピクセル座標(1,0)に
対応する論理アドレスが00400800となる。な
お、画面1列目下端のピクセルと画面2列目上端のピク
セルに対応する論理アドレスが連続していないのはメモ
リアクセス制御を容易にするためであり、連続するよう
にしてもかまわない。画面2列目上端の次のピクセル座
標(1,1)に対応する論理アドレスは0040080
1であり、以下順次画面2列目の下のピクセルになるに
従い、順次論理アドレスが1ずつ増加していく。
【0034】画面3列目のピクセルに対応する論理アド
レスについても2列目と同様である。即ち、画面3列目
上端のピクセルに対応する論理アドレスは、画面2列目
上端のピクセルに対応する論理アドレスより0800増
加して、00401000となる。以下順次画面3列目
の下のピクセルになるに従い、順次アドレスが1ずつ増
加していく。
【0035】画面4列目以降のピクセルに対応する論理
アドレスについても上記と同様である。ちなみに、ピク
セル座標(4FE,0)、(4FE,3FF)に対応す
る論理アドレスはそれぞれ0067F000、0067
F3FFとなり、ピクセル座標(4FF,0)、(4F
F,3FF)に対応するアドレスはそれぞれ0067F
800、0067FBFFとなる。
【0036】以上で、画面Sの構成とフレームメモリ1
03の論理アドレス付与についての説明を終了したの
で、次に画面Sに横線と縦線を引く例について説明す
る。
【0037】例として、上端1行分及び左端1列分の直
線を描画する場合について説明する。
【0038】この直線の描画は、あらかじめメモリ10
1に記憶されている描画処理プログラムの制御により行
なわれる。まず、上端1行分を描画するために、描画処
理プログラムはフレームメモリ103の論理アドレスを
水平型にてアクセスする旨の命令を出すとCPU101
がこれを解読し、メモリコントローラ1に水平型による
型指定信号を発生する。これにより、描画処理プログラ
ムは、水平型の論理アドレスにてフレームメモリ103
のアクセスが可能となる。ただし、本実施例においては
前述の型指定信号は物理アドレスを示す信号であるA2
2を使用しており、A22の信号が0であることをもっ
て水平型であることを示している。物理アドレスを示す
信号線とは別の信号線を備えているわけではない。
【0039】描画処理プログラムが上端1行分の直線を
描画するためには、ピクセル座標(0,0)から(4F
F,0)までに対応するフレームメモリ103に、例え
ば色等を含む所定の表示情報を書込む必要がある。これ
らのピクセル座標に対応する論理アドレスは00000
000〜000004FFであるので、描画処理プログ
ラムは前述の論理アドレスを順次指定して、必要とする
表示情報を書込んで行く。
【0040】ところで、本実施例においては1ページは
4096(16進数では1000)バイト分としている
ので、前述の1行分の論理アドレスの範囲は1ページ分
内に収まっている。従って、論理アドレス000000
00をアクセスする際に、当該論理アドレスに対応する
ページ(即ち、0ページ)がTLB内に無いとしても、
当該論理アドレスをアクセスする際に当該論理アドレス
に対応するページ及び当該ページの先頭に対応する物理
アドレスをTLB内に一度作成しておけば、他の要因に
より当該ページの情報がTLB内から失われない限り、
前述の1行分に対応する論理アドレスをアクセスする際
には必ずTLB内に当該ページの情報が存在するので、
ページテーブルを参照するというオーバヘッドは発生し
ない。
【0041】次に左端1列分の直線を描画する場合につ
いて説明する。
【0042】水平型を指定したままで描画することも勿
論可能であるが、垂直型に指定を切替えて描画する。
【0043】ちなみに、水平型指定のままで描画すると
次の様な問題がある。即ち、左端1列分のピクセル座標
(0,0)から(0,3FF)までの論理アドレスは0
0000000から001FF800の範囲になりペー
ジに換算すると200(16進数)ページ分にもなる
(仮に論理アドレスを連続に付与しても320(10進
数)ページにもなる)ので、一般的にはTLB内に前述
のすべてのページの情報を収容することは困難である。
従って、ページテーブルを参照せざるを得なくなり、横
線を描画する場合に比較して、ページテーブルを参照す
ることによるオーバヘッドが発生するため、表示情報の
書込みが遅くなり、結果として描画速度が低下する。
【0044】上記問題を避けるため、垂直型指定を行な
った後、左端1列分の直線を描画する。
【0045】左端1列分を描画するために、描画処理プ
ログラムはフレームメモリ103の論理アドレスを垂直
型にてアクセスする旨の命令を出すとCPU101がこ
れを解読し、メモリコントローラ1に垂直型による型指
定信号を発生する。これにより、描画処理プログラム
は、垂直型の論理アドレスにてフレームメモリ103の
アクセスが可能となる。ただし、本実施例においては前
述の型指定信号は物理アドレスを示す信号であるA22
を使用しており、A22の信号が1であることをもって
垂直型であることを示している。物理アドレスを示す信
号線とは別の信号線を備えているわけではない。
【0046】描画処理プログラムが左端1列分の直線を
描画するためには、ピクセル座標(0,0)から(0,
3FF)までに対応するフレームメモリ103に例えば
色等を含む所定の表示情報を書込む必要がある。これら
のピクセル座標に対応する論理アドレスは004000
00〜004003FFであるので、描画処理プログラ
ムは前述の論理アドレスを順次指定して、必要とする表
示情報を書込んで行く。
【0047】ところで、前述したように本実施例におい
ては1ページは4096(16進数では1000)バイ
ト分としているので、前述の1列分の論理アドレスの範
囲は1ページ分内に収まっている。従って、論理アドレ
ス00400000をアクセスする際に、当該論理アド
レスに対応するページがTLB内に無いとしても、当該
論理アドレスをアクセスする際に当該論理アドレスに対
応するページ及び当該ページの先頭に対応する物理アド
レスをTLB内に一度作成しておけば、他の要因により
当該ページの情報がTLB内から失われない限り、前述
の1列分に対応する論理アドレスをアクセスする際には
必ずTLB内に当該ページの情報が存在するので、ペー
ジテーブルを参照するというオーバヘッドは発生しな
い。従って、この場合即ち垂直型指定によるアクセスで
は、水平型指定によるアクセスと異なり、ページテーブ
ルを参照するというオーバヘッドは発生しない。
【0048】以上で水平及び垂直指定による描画及びフ
レームメモリ103のアクセスについて説明した。次
に、具体的なメモリアクセスの詳細について以下に説明
する。
【0049】図3は本発明の一実施例として示すハード
ウェアの構成図である。
【0050】このハードウェアは、32ビットのバス1
05を介して互いに接続されたCPU101、メモリ1
02、フレームメモリ103、及びこのフレームメモリ
103に接続された表示装置104と、これら各装置1
01、102、103にバスインタフェース106及び
入出力(I/O)バス107を介して接続されたキーボ
ード108並びにディスク109等でなり、又キーボー
ド108と入出力バス107との間にはキーボードイン
タフェース110が介装されていると共に、ディスク1
09と入出力バス107との間にディスクインタフェー
ス111が介装されている。
【0051】図2は図3に示したフレームメモリ103
の駆動を制御するためのフレームメモリ制御装置の一例
を示すブロック図である。図2において、このフレーム
メモリ制御装置は、メモリコントローラ1と、制御信号
のバッファ2、フレームメモリ103、CRTコントロ
ーラ(映像信号のタイミング発生回路)4、バイトスワ
ッパ5、映像信号生成回路6等で構成されている。
【0052】そして、フレームメモリ制御装置の構成で
は、CPU101からの読み/書き要求はメモリコント
ローラ1によって処理され、フレームメモリ103への
制御信号となる。又、この制御信号はバッファ2を通過
してフレームメモリ103に達し、読み書きが行なわれ
る。このとき、CRTコントローラ4からは映像信号の
タイミング信号が発生され、合わせてフレームメモリ1
03から読み出して表示するメモリのアドレスが生成さ
れる。
【0053】一方、フレームメモリ103から読み出さ
れたデータは、映像信号生成回路6により映像信号に変
換されて表示装置104へと送られる。
【0054】ここでのフレームメモリ103の構造は図
5に示したように1ピクセル分として8ビット(1バイ
ト)を使用し、1280×1024バイトの容量を有し
ている。
【0055】図4はメモリアクセス制御装置のより詳細
な構成を示したものである。
【0056】ここでA31〜A0は、32ビットの物理
アドレスPA(なお、本実施例では、説明を容易にする
ため論理アドレスLAそのものの値が物理アドレスPA
として与えられると仮定する)を示す信号線であり、物
理アドレス信号はバス105を介してCPU101より
与えられる。A31が最上位ビットで、A0が最下位ビ
ットである。なお、実際の記憶素子上の位置を決定する
際にはA1とA0は使用しないため図示していない。使
用しない理由は、メモリをアクセスする物理アドレスは
下の2ビットが必ず0であるアドレスを単位とするから
である。これはバス幅を32ビット(4バイト)として
いるため、必ず4バイト分のデータの読み書きを行なう
ことによる。当該4バイトのデータをデータ信号D31
〜D0のどのバイト位置と対応させるかはバイトイネー
ブル線BE0〜BE3の信号に従う。バイトイネーブル
信号はバス105を介しCPU101より与えられる。
【0057】D31〜D0は記憶素子とCPU101と
の間での書込み及び読み込み対象となるデータを示す3
2ビットの信号線であり、バス105を介しCPU10
1とデータの授受を行なうためのものである。D31が
最上位ビットで、D0が最下位ビットである。
【0058】A22は水平型指定か垂直型指定かを示す
ための信号線である。本実施例では型指定の信号は1ビ
ットであり、アドレス信号で代用しているが、型の種類
数に応じてビット数を増加したりアドレス信号とは別の
特別な信号線を追加したりしても良い。
【0059】以上を基に記憶素子への書込みについて概
要を説明すると次のようである。即ち、アドレス信号A
31〜A2(そのうち、A22は型指定信号)及びバイ
トイネーブル信号BE3〜BE0とに基づいて記憶素子
及び当該記憶素子内のバイト位置を特定する。一方、記
憶対象データはD31〜D0信号により与えられるの
で、前述の特定された位置に、MBE0〜MBE3の信
号によるバイト位置を対応させて記憶させる。
【0060】記憶素子からの読み込みも書込みと同様の
考え方である。即ち、アドレス信号A31〜A2及びバ
イトイネーブル信号BE3〜BE0とに基づいて記憶素
子及び当該記憶素子内のバイト位置を特定する。この特
定された位置からデータを読取り、MBE3〜MBE0
の信号によるバイト位置を対応させて当該データをD3
1〜D0に与えるものである。
【0061】次に記憶部分に関する説明を行なう。本実
施例においては、各記憶素子は8ビット単位でアクセス
可能なものと仮定している。CPU101から一度に与
えられるデータは4バイトなので(即ち、D31〜D0
が32ビットなので)前述の記憶素子を4つ並列に並べ
て32ビット分のデータを記憶する。
【0062】記憶素子21(0)〜21(N)はMD3
1〜MD24に対応する情報、記憶素子22(0)〜2
2(N)はMD23〜MD16に対応する情報、記憶素
子23(0)〜23(N)はMD15〜MD8に対応す
る情報、記憶素子24(0)〜24(N)はMD7〜M
D0に対応する情報を記憶する。
【0063】以上を基に詳細を説明する。メモリコント
ローラ1はその内部にアドレス入れ換えを行なうアドレ
ス入換部11と、アドレス線A12,A11及びバイト
イネーブル線(BE3〜BE0)からの信号とアドレス
入換部11からの信号MA12が入力されてバイトスワ
ッパ5及びメモリ制御部12を制御するバイト位置制御
部13と、アドレス入換部11からの選択信号MA13
〜MA21、MA2〜MA10等(MA21が最上位ビ
ット、MA0が最下位ビットを示す)及びバイト位置制
御部13からの信号に基づいて実際の記憶素子21
(0)〜21(N)、22(0)〜22(N)、23
(0)〜23(N)、24(0)〜24(N)における
記憶素子の特定及び記憶素子内のバイト位置の特定及び
書込み/読取制御等を行なうメモリ制御部12から成り
立っている。
【0064】まず、水平型指定の場合(A22信号が0
の場合)を説明する。
【0065】水平型指定の場合には、CPU101から
与えられた物理アドレス及びバイトイネーブル情報はそ
のままメモリ制御部12に与えられる。即ち、まず、ア
ドレス入換部11についていえば、信号線A31〜A2
の信号がそのまま選択信号MA21〜MA10(なお、
MA12,MA11に対応する信号はアドレス入換部1
1から与えられるのではなく、後述するようにバイト位
置制御部13から与えられる。)の信号になる。なお、
信号線A31〜A22に対応する信号は使用しない(本
実施例の付与物理アドレスでは必ず0になるため)。
【0066】次にバイト位置制御部13についていえ
ば、信号A12,A11はそのままMA12,MA11
としての信号となる。また、バイトイネーブル線(BE
0〜BE3)の信号はそのままMBE3〜MBE0にそ
れぞれ対応した信号が設定されてバイトスワッパ5に与
えられる。
【0067】メモリ制御部12ではアドレス入換部11
及びバイト位置制御部13から与えられた信号MA21
〜MA2に基づいて記憶素子及び記憶素子内のバイト位
置を決定する。即ち、水平型指定の場合にはアドレス変
換は何も行なわず、通常の物理アドレスを付与されたメ
モリ、例えばプログラムを構成する命令やデータを記憶
しておくメモリ102をアクセスするのと同様にアクセ
スする。
【0068】具体的な例としてアドレス0000000
0に12345678を格納する場合を説明すると、M
BE0が1の場合では、12が21(0)〜21(N)
の記憶素子に、34が22(0)〜22(N)の記憶素
子に、56が23(0)〜23(N)の記憶素子に、7
8が24(0)〜24(N)の記憶素子に格納される。
アドレス00000001〜00000003を指定し
ても記憶位置は00000000と同一である。MBE
1が1の場合では、12が24(0)〜24(N)の記
憶素子に、34が21(0)〜21(N)の記憶素子
に、56が22(0)〜22(N)の記憶素子に、78
が23(0)〜23(N)の記憶素子に格納される。
【0069】次に、垂直型指定の場合(A22信号が1
の場合)を説明する。
【0070】垂直型指定の場合には、CPU101から
与えられた物理アドレスを水平型が指定された場合の物
理アドレスに変換した後、当該水平型での物理アドレス
にて上述した方法にて記憶素子間と格納及び読取処理を
行なうものである。
【0071】このアドレス入れ換えに関する部分を詳細
に説明すると次のとおりである。即ち、基本的にはX座
標を表す部分とY座標を表す部分とを交換することを行
なう。具体的には、MA21〜MA13に対してはA1
0〜A2の信号を設定し、MA10〜MA2に対しては
A21〜A13の信号を設定する。またMA12及びM
A11に対してはBE3〜BE0の信号をエンコードし
て2ビットを生成して設定する。具体的には、BE0が
1のときMA12が0でMA11が0、BE1が1のと
きMA12が1でMA11が0、BE2が1のときMA
12が0でMA11が1、BE3が1のときMA12が
1でMA11が1の信号を設定する。
【0072】また、バイトスワッパ5に送出するバイト
イネーブル信号は次のように設定する。即ち、A12が
0でA11が0のときMBE0が1、A12が1でA1
1が0のときMBE1が1、A12が0でA11が1の
ときMBE2が1、A12が1でA11が1のときMB
E3が1の信号を設定する。
【0073】さらに、垂直型指定の場合にはバイトスワ
ップが必要で、垂直方向にアクセスする場合には、例え
ばMD24〜MD31、MD16〜MD23、MD8〜
MD15、MD0〜MD7にそれぞれ接続されている記
憶素子21(0)〜21(N)、22(0)〜22
(N)、23(0)〜23(N)、24(0)〜24
(N)の内容をバイトイネーブル線(MBE0〜MBE
3)の状態に応じてD0〜D7、D8〜D15、D16
〜D23、D24〜D31の位置に出力できる状態にし
ている。又、バイトの対応はアドレス線のA11,A1
2番とバイトイネーブル線(MBE0〜MBE3)で決
るもので、この関係を図6に示す。
【0074】なお、上記に説明した垂直方向でのアクセ
スは同一記憶素子群(例えば、21(0)〜21
(N))をアクセスすることになり、また一度にアクセ
ス可能な情報は本実施例における記憶素子ではバイト単
位であるため、同一記憶素子群について同時には1バイ
ト分の情報しかMDの信号線(例えば、MD31〜MD
24)に設定することができない。このような制限付き
であっても、垂直型指定ができず水平型のみしか有して
いない場合と比較すると、例えばピクセル幅が1の線の
描画が多用される場合等においては、垂直方向の処理は
バイト単位の処理にせざるを得ないので、当該制限を設
けても改善される。
【0075】上述の制限を無くし、水平型の指定と同じ
ように1〜4バイトのサイズでの読取を可能にするに
は、メモリコントローラ1にて複数のバイトサイズに応
じたメモリサイクル数を発生させると共にバイトスワッ
パ5にて必要数のバイトデータをラッチし、必要数のバ
イトデータが揃った時点でD31〜D0の信号に設定す
るようにすれば良い。
【0076】以上、上述の実施例においては、水平型指
定と垂直型指定の両方が指定可能な場合について説明し
た。これは縦と横の方向の直線を描画するケースが多い
ことに着目したものである。
【0077】しかし、本発明は水平型と垂直型のみに限
定されるものではなく、種々の型が採用可能である。ピ
クセル座標PCと論理アドレスLAとの対応で説明すれ
ば、例えば他の第1の例としてはピクセル座標(0,
0)を先頭論理アドレスとし、順次、第1行分〜右端列
分〜最下行分(右から左方向)〜最左端列分(下から上
方向)〜第2行分(右端を除く)というように、以下順
次右回り渦巻き状にアドレスを付与しても良い。
【0078】第2の例としては、ピクセル座標(4F
F,0)を先頭論理アドレスとし、次の論理アドレスを
座標(4FE,0)、次の論理アドレスを座標(4F
F,1)、その次の論理アドレスを座標(4FD,0)
というように、以下順次対角線方向に論理アドレスを付
与しても良い。
【0079】また、第3の例として第2例の対角線とは
別の対角線方向である、ピクセル座標(0,0)を先頭
論理アドレスとし、次の論理アドレスを座標(1,
0)、次の論理アドレスを座標(0,1)、その次の論
理アドレスを座標(2,0)というように論理アドレス
を付与しても良い。
【0080】さらに他の例としては、ある特定のピクセ
ル座標を中心としたある円周上の点に順次連続した論理
アドレスを付与しても良い。この例では、円を多く描画
する装置等において有用である。
【0081】なお、上記の例ではある一つの型におい
て、同一のピクセルPに対してはただ一つの論理アドレ
スLAを付与するようにしているが、このことは本質的
な制限ではなく、同一のピクセルPに複数の論理アドレ
スLAを付与しても良い。即ち、論理アドレスLAを指
定することにより、ピクセル座標PCが特定可能である
ように付与すれば良い。
【0082】以上の又はこれら以外の型のどれを選定す
るかは、本発明が適用される情報処理装置等を使用する
目的に合わせて最適なものとすれば良い。
【0083】垂直型以外の上述した論理アドレスLAか
ら実際の記憶素子及び記憶素子内の記憶位置を特定する
方法は次の通りである。即ち、基本的には垂直型指定の
場合と考え方は同様であり、型の指定と共にCPU10
1から与えられた物理アドレスPAを水平型が指定され
た場合の物理アドレスPAに変換した後、当該水平型で
の物理アドレスPAに基づいて記憶素子に格納及び読取
を行なうものである。
【0084】このアドレス入れ換えに関する部分を説明
すると次の通りである。まず、何の型が指定されている
かを判定する。これは、垂直型の場合に説明したのと同
様、A31〜A2のうちのある単数もしくは複数の特定
の信号が1になっていることにより判定しても良いし、
型の指定を示す新たな信号を設け、メモリコントローラ
1に入力させるようにし、この信号に基づいて判定して
も良い。次に、指定された型が判明すると当該型の物理
アドレスから水平型の物理アドレスに変換する(なお、
変換される方の型は水平型に限定されるわけではな
い)。この変換は垂直型を水平型に変換する場合と異な
り単に信号線を入れ換えするだけでは済まないが、A3
1〜A2及び必要に応じバイトイネーブル信号BE3〜
BE0を用いてアドレス入換部11及び/又はバイト位
置制御部13が、例えば当該型の物理アドレスと水平型
の物理アドレスとの対応関係を表現するアドレス変換テ
ーブルを設けこのテーブルを参照したり、対応関係に基
づく所定の演算を施す等により変換処理を行ない、その
結果をMA21〜MA2に出力する。
【0085】合わせて、バイト位置制御部13はA31
〜A2及び必要に応じバイトイネーブル信号BE3〜B
E0を用いて、テーブルの参照や演算等を行なって、そ
の結果をMBE3〜MBE0に出力する。
【0086】これ以降の処理は垂直型の変換の場合と同
様に、例えば記憶素子からの読取であれば、必要に応じ
必要数分のバイトデータのラッチを行なって必要数のバ
イトデータの組み立てを行ない、D31〜D0の信号に
読み取った情報を設定する等の処理を行なうことにな
る。
【0087】
【発明の効果】以上説明したとおり、ページング方式に
より、TLBを参照しながら論理アドレスを物理アドレ
スに変換し、メモリアクセスを行なうメモリアクセス制
御方式において、あらかじめ同一のメモリ位置に対し付
与されている複数種別の論理アドレスのうちのいずれの
種別の論理アドレスが指定されたのであるかを判定し、
判定した種別及び論理アドレスから変換された物理アド
レスとに基づいて、アクセスすべきメモリ位置を決定
し、当該メモリ位置に対応するメモリをアクセスするこ
ととしたので、指定が予想される論理アドレスの種別を
あらかじめ複数設定しておき、例えばアプリケーション
プログラム等が処理に応じた最適の種別を選択し、この
選択した論理アドレスに基づいて、例えば描画時におけ
るフレームメモリ等のメモリをアクセスすることができ
るので、論理アドレスから物理アドレスへの変換に際
し、TLBミスの発生が減少しメモリアクセスを高速化
できる。合わせて、アプリケーションプログラム等にと
って処理のし易い論理アドレスを選択することができる
ので、アプリケーションプログラム等の作成が容易とな
る効果もある。
【図面の簡単な説明】
【図1】本発明の概念図である。
【図2】本実施例のブロック図である。
【図3】本実施例のハードウェア構成図である。
【図4】メモリアクセス制御装置の構成図である。
【図5】フレームメモリの構成例である。
【図6】バイトスワップの関係図である。
【図7】ピクセルによる画面の構成例である。
【図8】ピクセル座標とアドレスの対応図である。
【図9】論理アドレスから物理アドレスへの変換説明図
である。
【符号の説明】
1 メモリコントローラ 11 アドレス入換部 12 メモリ制御部 13 バイト位置制御部 5 バイトスワッパ 103 フレームメモリ LA 論理アドレス PA 物理アドレス M1 アドレス変換手段 M2 種別判定手段 M3 位置決定手段 M4 メモリアクセス手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ページング方式により、TLB(Tra
    nslationLook−aside Buffe
    r)を参照しながら論理アドレスを物理アドレスに変換
    し、メモリアクセスを行なうメモリアクセス制御方式に
    おいて、 あらかじめ同一のメモリ位置に対し付与されている複数
    種別の論理アドレスについて、いずれの種別の論理アド
    レスが指定されたのであるかを判定する種別判定手段
    と、 前記論理アドレスを物理アドレスに変換するアドレス変
    換手段と、 前記種別判定手段が判定した種別及び前記アドレス変換
    手段が変換した物理アドレスとに基づいて、アクセスす
    べきメモリ位置を決定する位置決定手段と、 前記位置決定手段が決定したメモリ位置に対応するメモ
    リをアクセスするメモリアクセス手段とを備えることを
    特徴とするメモリアクセス制御方式。
JP5012501A 1993-01-28 1993-01-28 メモリアクセス制御方式 Pending JPH06231046A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5012501A JPH06231046A (ja) 1993-01-28 1993-01-28 メモリアクセス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5012501A JPH06231046A (ja) 1993-01-28 1993-01-28 メモリアクセス制御方式

Publications (1)

Publication Number Publication Date
JPH06231046A true JPH06231046A (ja) 1994-08-19

Family

ID=11807119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5012501A Pending JPH06231046A (ja) 1993-01-28 1993-01-28 メモリアクセス制御方式

Country Status (1)

Country Link
JP (1) JPH06231046A (ja)

Similar Documents

Publication Publication Date Title
JP3172950B2 (ja) 予測キャッシングシステム
US5990902A (en) Apparatus and method for prefetching texture data in a video controller of graphic accelerators
US5430841A (en) Context management in a graphics system
JP3776202B2 (ja) アドレス衝突検出回路
JPH0212523A (ja) コンピユータ・デイスプレイ・システム
JPS58102381A (ja) バツフアメモリ
JPH0355832B2 (ja)
US5477242A (en) Display adapter for virtual VGA support in XGA native mode
JPS62231382A (ja) イメ−ジ処理方法及び装置
US6563505B1 (en) Method and apparatus for executing commands in a graphics controller chip
JPH0553909A (ja) 画像データ処理におけるキヤツシユメモリ制御方式
JPH06231046A (ja) メモリアクセス制御方式
JPH04153753A (ja) キャッシュメモリ制御方式
JP2954589B2 (ja) 情報処理装置
JPH09101915A (ja) キャッシュメモリの制御方法
JP3187035B2 (ja) メモリアクセス回路
JP2829051B2 (ja) 文字表示方式
JP2773458B2 (ja) ベクトル制御装置
JP2964504B2 (ja) 文書処理装置
JP2704043B2 (ja) 画像処理装置
JPH10154230A (ja) 画像処理装置
JPS6134643A (ja) バツフア制御方式
JPH0415885A (ja) 描画装置
JPH0550013B2 (ja)
JPH0352105B2 (ja)