JPH11110290A - メモリコントローラ - Google Patents

メモリコントローラ

Info

Publication number
JPH11110290A
JPH11110290A JP27571397A JP27571397A JPH11110290A JP H11110290 A JPH11110290 A JP H11110290A JP 27571397 A JP27571397 A JP 27571397A JP 27571397 A JP27571397 A JP 27571397A JP H11110290 A JPH11110290 A JP H11110290A
Authority
JP
Japan
Prior art keywords
address
mode
memory
bit
register
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
JP27571397A
Other languages
English (en)
Inventor
Masahiko Koyama
雅彦 小山
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 Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP27571397A priority Critical patent/JPH11110290A/ja
Publication of JPH11110290A publication Critical patent/JPH11110290A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 リアルモードのままメインメモリの上位空間
に割り当てられたメモリのアクセスを可能とする。 【解決手段】 ベースアドレスレジスタ1−9には予め
メインメモリの上位空間に割り当てられたアドレスの上
位12ビットが格納される。CPU3−2からのリアル
モードによる20ビットのアクセスアドレスが入力アド
レスレジスタ1−4に、プロテクトモードを示す”1
“がモードレジスタ1−1に夫々格納されると、選択制
御回路1−7はベースアドレスレジスタに格納された上
位12ビットと入力アドレスレジスタに格納された20
ビットのアドレスをセレクタ回路1−8に合成させ32
ビットのアドレスを生成する。この32ビットのアドレ
スによりメインメモリの上位空間に割り当てられたメモ
リのアクセスが可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はメモリコントローラ
に関し、特にリアルモード及びプロテクトモードにてメ
モリアクセスを制御するメモリコントローラに関する。
【0002】
【従来の技術】一般に86系プロセッサ(CPU)とい
われるIntel社製80X86CPUには、リアルモ
ード(real mode)とプロテクトモード(pr
otected mode)があり、80386以上の
32ビットCPUにおいて、各モードでアクセス可能な
メモリ空間を以下に示す。
【0003】リアルモードではCPUからアクセスでき
る物理メモリの大きさは1Mバイト(00000h〜F
FFFFh)であり、プロテクトモードは4Gバイト
(00000000h〜FFFFFFFFh)の物理メ
モリにアクセスが可能である。この物理メモリへのアク
セスには、リアルモードの場合、20ビットのアドレス
指定が必要であり、プロテクトモードでは、32ビット
アドレス指定する必要がある。
【0004】このプロテクトモード/リアルモードは、
次のような設定により移行することができる。通常、8
0X86CPUでOS(operating syst
em)を動作させると、OSの互換性を維持するため
に、リアルモード動作にてスタートする仕組みになって
いる。
【0005】リアルモードからプロテクトモードへの移
行手順を示すフローチャートを図2に示す。リアルモー
ドから、セグメント(segment:物理メモリを管
理する単位)設定(S1),割込み設定(S2),アド
レス制限解除(S3)を行い、CPUのレジスタである
CR0の最下位ビットに1を設定することにより、プロ
テクトモードに移行する(S4)。
【0006】また、プロテクトモードからリアルモード
への移行手順を示すフローチャートを図3に示す。プロ
テクトモードから、割込みの設定(S11),セグメン
トの設定(S12),CPUの最下位ビットに0を設定
し(S13)、アドレス制限の設定を行うことにより、
リアルモードに移行する(S14)。
【0007】一般のOSのシステムコール(syste
m call)は、リアルモードでのみ実行可能であ
り、プロテクトモードで動作している場合は、この手順
によりリアルモードに移行を行い、システムコールを実
行する。
【0008】86系CPUを搭載し、PCIバス(Pe
ripheral ComponentInter−c
onnection bus)を持つシステムにおい
て、PCIオプションの実装されている場合の構成例を
図4に示す。図4は従来のメモリコントローラの一例の
構成図である。
【0009】同図にはメモリコントローラのみならず周
辺装置も含み表示されている。システム3−1は、CP
U3−2と、メモリコントローラ3−3と、メインメモ
リ3−4とからなり、オプション3−5は、ローカルメ
モリ3−6と、コントローラ3−7とからなる。
【0010】即ち、アクセス対象のメモリはメインメモ
リ3−4とローカルメモリ3−6との2つが存在する。
【0011】メモリアクセス(メインメモリ3−4又は
PCIバス3−10に接続されているオプション3−5
内のローカルメモリ3−6)を行う場合、CPU3−2
から出力される制御信号P11とアドレス信号P12を
メモリコントローラ3−3が受け、メインメモリ3−4
に対し、メモリ制御信号P13とアドレス信号P14を
出力する。
【0012】また、オプション3−5のローカルメモリ
3−6へのアクセスの場合には、PCIバス3−10上
にPCI制御信号P15とアドレス信号P16を出力
し、オプション3−5内のコントローラ3−7がこれら
の信号P15,P16を受け、コントローラ3−7がロ
ーカルメモリ3−6に対し、メモリ制御信号P17とア
ドレス信号P18を出力する。なお、アドレス信号に対
応するデータ信号が同図に示すように出力される。
【0013】図5はメインメモリとローカルメモリの構
成図である。同図には一例としてシステム3−1内のメ
インメモリ3−4が4Gバイトのメモリ空間を有し、オ
プション3−5内のローカルメモリ3−6が1Mバイト
の容量を有する場合が示されている。
【0014】PCIバス3−10を持つシステム3−1
では、PCIバス3−10に接続されるローカルメモリ
3−6を持つオプション3−5に対し、PCIの自動コ
ンフィグレーション(configuration)機
能により、システム3−1のアクセス可能な4Gバイト
のメモリ空間の上位に、ローカルメモリ3−6のオフセ
ットアドレス(セグメント先頭からの位置を示すアドレ
ス)を割当て、オプション3−5内に持つPCIコンフ
ィグレジスタ3−8にオフセット数値を書込む。
【0015】オプション3−5のローカルメモリ3−6
が1Mバイトと仮定すると、オプション3−5のローカ
ルメモリ3−6にアクセスするためには、ローカルメモ
リ3−6の物理アドレス値でアクセスするのではなく、
プロテクトモードによる32ビットアドレスを指定する
必要がある。
【0016】また、通常は1Mバイト全てをメインメモ
リ3−4に割当てるのではなく、図5のようにオプショ
ンのローカルメモリ3−6を128個のバンクに分割
し、1バンク=8kバイトを上位メモリ空間に割当て、
バンク切替えによりローカルメモリ4−2のアクセスを
行っている。
【0017】即ち、アクセスされた32ビットアドレス
に応じてこの1バンク(8Kバイト)の領域がメインメ
モリ空間3−4の4Gバイト内に設定されるのである。
【0018】
【発明が解決しようとする課題】しかし、前述したよう
にメインメモリの上位空間に割り当てられたローカルメ
モリにアクセスを行う場合、一般のOS上で動作するプ
ログラムがシステムコールする場合にはリアルモードか
らプロテクトモードへの移行を行わなければならない。
【0019】この移行を行う場合、前述した手順(図2
及び図3参照)に従う必要があり、このため長時間を要
し、システム全体のパフォーマンスが低下するという問
題があった。
【0020】この種のリアルモードとプロテクトモード
を有するメモリコントローラの一例が特開平3−253
955号公報に開示されている。この公報記載の技術
は、プロテクトモードアドレス空間の最終位置に強制配
置されたROMをCPUリセット直後以後にリアルモー
ド空間の最終位置に再配置するというものである。
【0021】又、特開平1−502221号公報にリア
ルモードないしこれと互換性のあるモードで動作しつ
つ、拡張メモリ空間に窓を設定することにより拡張メモ
リ空間の機能を利用する技術が開示されている。
【0022】しかし、これらの公報に開示された技術は
いずれもリアルモードからプロテクトモードへの移行を
容易にするための技術ではない。
【0023】そこで本発明の目的は、リアルモードのま
まメインメモリの上位空間に割り当てられたメモリにア
クセスが可能で、もってリアルモードからプロテクトモ
ードへの移行手順を省略することが可能なメモリコント
ローラを提供することにある。
【0024】
【課題を解決するための手段】前記課題を解決するため
に本発明は、ビット数n(nは正の整数)のアドレスで
メモリアクセスを行う第1のモードと、前記nにm(m
は正の整数)を加算したビット数のアドレスでメモリア
クセスを行う第2のモードとを含むメモリコントローラ
であって、上位装置からの前記ビット数nのアドレスを
保持する第1の保持手段と、前記第2のモードでアクセ
スすべきアドレスの上位mビットを保持する第2の保持
手段と、前記上位装置からの前記第1及び第2のモード
のいずれによるメモリアクセスかの判別情報を保持する
第3の保持手段と、この第3の保持手段に保持された判
別情報に基づき前記第1の保持手段に保持されたビット
数nのアドレスと前記第2の保持手段に保持された上位
mビットのアドレスとを合成するアドレス合成手段と、
このアドレス合成手段より出力されるアドレスによりメ
モリアクセスを行うメモリアクセス手段とを含むことを
特徴とする。
【0025】本発明によれば、ビット数nのアドレス、
即ち第1のモード(リアルモード)によるアクセスと、
第2のモード(プロテクトモード)であることを示す判
別情報が上位装置よりメモリコントローラへ入力される
と、メモリコントローラはまず、そのビット数nのアド
レスを第1の保持手段に、その判別情報を第3の保持手
段に夫々保持させる。
【0026】一方、メモリコントローラはメインメモリ
の上位メモリ空間をアクセスするために必要なアドレス
の上位mビットを予め保持する第2の保持手段を有して
いる。
【0027】そこで、アドレス合成手段は判別情報が第
2のモードであるのでビット数nのアドレスと上位mビ
ットのアドレスとを合成し第2のモード(プロテクトモ
ード)のアクセスアドレスを生成する。
【0028】これにより、リアルモードにてメインメモ
リの上位メモリ空間をアクセスすることが可能となる。
【0029】
【発明の実施の形態】以下、本発明の実施の形態につい
て添付図面を参照しながら説明する。図1は本発明に係
るメモリコントローラの最良の実施の形態の構成図であ
る。なお、便宜上図1にはメモリコントローラの周辺装
置も表示されている。又、従来例(図4)と同様の構成
部分については同一番号を付し、その説明を省略する。
【0030】図1のシステム1−0はCPU3−2とメ
モリコントローラ1−1とメインメモリ3−4で構成さ
れ、PCIバス3−10にはオプション3−5が接続さ
れる。
【0031】メモリコントローラ1−1には入力アドレ
スレジスタ1−4と出力アドレスレジスタ1−5と、選
択制御回路1−7とセレクタ回路1−8と、ベースアド
レスレジスタ1−9とモードレジスタ1−10により構
成され、また、第2のメモリコントローラ1−6を含ん
でいる。
【0032】入力アドレスレジスタ1−4は、CPU3
−2から入力するアドレス信号を一時格納するためのレ
ジスタである。出力アドレスレジスタ1−5はセレクタ
回路1−8で生成されたアドレス信号を一時格納してお
くためのレジスタである。
【0033】ベースアドレスレジスタ1−9は、PCI
オプション3−5のコントローラ3−7内にあるコンフ
ィグレーションレジスタ3−8(図5参照)のベースア
ドレスレジスタと同じ値を格納するためのものである。
【0034】モードレジスタ1−10は、CPU3−2
からの制御コマンドP1によりセットされる。選択制御
回路1−7はモードレジスタ1−10の値により、アド
レス生成の切替信号をセレクタ回路1−8に出力する。
セレクタ回路1−8は、選択制御回路1−7からの信号
を受け、ベースアドレスレジスタ1−9と入力アドレス
レジスタ1−4により出力アドレスを生成するものであ
る。
【0035】PCIオプション3−5をシステム1−0
に実装し電源を入れると、PCIの自動コンフィグレー
ションにより、オプション3−5内のローカルメモリ3
−6が、システム1−0のアクセス可能なメモリ空間3
−4(図5参照)の上位アドレスに割当てられる。この
時、オプション3−5内のコントローラ3−7が持つコ
ンフィグレーションレジスタ3−8(図5参照)にベー
スアドレスがセットされる。同時に、このベースアドレ
スの値のうち、上位12ビットの数値をメモリコントロ
ーラ1−1内のベースアドレスレジスタ1−9にセット
する。
【0036】CPU3−2の動作モードは、リアルモー
ドで起動するものとして、20ビットのアドレス指定に
て32ビットアドレスを生成する場合について説明す
る。
【0037】20ビットのアドレス指定にて32ビット
アドレスを生成する場合、即ち、プロテクトモード時の
アクセスを行う場合、CPU3−2は制御コマンドP1
として”1“をモードレジスタ1−10へ出力する。
【0038】この”1“の制御コマンドP1がモードレ
ジスタ1−10へ出力されると、モードレジスタ1−1
0は”1“にセットされる。
【0039】これとほぼ同時にCPU3−2はメモリア
クセスするための任意の20ビットのアドレスを入力ア
ドレスレジスタ1−4へ出力する。入力アドレスレジス
タ1−4はこの20ビットのアドレスを格納する。
【0040】選択制御回路1−7はモードレジスタ1−
10を監視し、モードレジスタ1−10が”1“にセッ
トされているためベースアドレスレジスタ1−9による
アドレス生成を行うと判定し、セレクタ回路1−8にベ
ースアドレスレジスタを有効にする通知を行う。
【0041】セレクタ回路1−8は、選択制御回路1−
7からの通知に従い、ベースアドレスレジスタ1−9を
有効にして、入力アドレスレジスタ1−4のうち、格納
されている下位20ビットと合成し、32ビットアドレ
スを生成し、出力アドレスレジスタ1−5に格納する。
【0042】そして、出力アドレスレジスタ1−5の値
を第2のメモリコントローラ1−6に出力することによ
りメインメモリ3−4に割当てられたローカルメモリ3
−6に対してアクセスを行う。
【0043】このローカルメモリ3−6がアクセスされ
たことにより、メインメモリ3−4の4Gバイトのメモ
リ空間のうちの上位がアクセスされたことになる。
【0044】次に、20ビットのアドレス指定で20ビ
ットアドレスを指定する場合について説明する。
【0045】20ビットのアドレス指定にて20ビット
アドレスを生成する場合、即ち、リアルモードのアクセ
スを行う場合、CPU3−2は制御コマンドP1とし
て”0“をモードレジスタ1−10へ出力する。
【0046】この”0“の制御コマンドP1がモードレ
ジスタ1−10へ出力されると、モードレジスタ1−1
0は”0“にリセットされる。
【0047】これとほぼ同時にCPU3−2はメモリア
クセスするための任意の20ビットのアドレスを入力ア
ドレスレジスタ1−4へ出力する。入力アドレスレジス
タ1−4はこの20ビットのアドレスを格納する。
【0048】選択制御回路1−7はモードレジスタ1−
10を監視し、モードレジスタ1−10が”0“にリセ
ットされているためベースアドレスレジスタ1−9によ
るアドレス生成を行わないと判定し、セレクタ回路1−
8にベースアドレスレジスタを無効にする通知を行う。
【0049】セレクタ回路1−8は、選択制御回路1−
7からの通知に従い、ベースアドレスレジスタを無効に
して、入力アドレスレジスタ1−4に格納されている2
0ビットのアドレスのみをそのまま出力レジスタ1−5
に格納する。
【0050】そして、出力レジスタ1−5の値を第2の
メモリコントローラ1−6に出力することによりメイン
メモリ3−4に割り当てられた下位の1Mバイトに対し
てアクセスを行う。
【0051】なお、従来どおり、32ビットのアドレス
指定にてメモリ空間4Gバイトの上位アドレスにアクセ
スするためには、入力アドレスレジスタ1−4に32ビ
ットのアドレスが入力されたことを検出する検出部をこ
のメモリコントローラ1−1内に追加し、この検出部で
32ビットのアドレスが入力されたことが検出されると
セレクタ回路1−8がその32ビットのアドレスをその
まま出力レジスタ1−5へ出力するように構成する必要
がある。
【0052】なお、メインメモリ3−4のメモリ空間と
して4Gバイト、ローカルメモリ3−6のメモリ容量と
して1Mバイトを割り当てたが、これに限定されるもの
ではなく任意のバイト数にて実現が可能である。ただ
し、メインメモリ3−4のメモリ空間の大きさをローカ
ルメモリ3−6のメモリ容量より大きくすることが必要
であることはいうまでもない。
【0053】
【発明の効果】本発明によれば、ビット数n(nは正の
整数)のアドレスでメモリアクセスを行う第1のモード
と、前記nにm(mは正の整数)を加算したビット数の
アドレスでメモリアクセスを行う第2のモードとを含む
メモリコントローラであって、そのメモリコントローラ
を、上位装置からの前記ビット数nのアドレスを保持す
る第1の保持手段と、前記第2のモードでアクセスすべ
きアドレスの上位mビットを保持する第2の保持手段
と、前記上位装置からの前記第1及び第2のモードのい
ずれによるメモリアクセスかの判別情報を保持する第3
の保持手段と、この第3の保持手段に保持された判別情
報に基づき前記第1の保持手段に保持されたビット数n
のアドレスと前記第2の保持手段に保持された上位mビ
ットのアドレスとを合成するアドレス合成手段と、この
アドレス合成手段より出力されるアドレスによりメモリ
アクセスを行うメモリアクセス手段とを含み構成したた
め、リアルモード(第1のモード)のままメインメモリ
の上位空間に割り当てられたメモリにアクセスが可能
で、もってリアルモード(第1のモード)からプロテク
トモード(第2のモード)への移行手順を省略すること
が可能となる。これにより、システム全体のパフォーマ
ンスの低下を防止することができる。
【図面の簡単な説明】
【図1】本発明に係るメモリコントローラの最良の実施
の形態の構成図である。
【図2】リアルモードからプロテクトモードへの移行手
順を示すフローチャートである。
【図3】プロテクトモードからリアルモードへの移行手
順を示すフローチャートである。
【図4】従来のメモリコントローラの一例の構成図であ
る。
【図5】メインメモリとローカルメモリの構成図であ
る。
【符号の説明】
1−1 メモリコントローラ 1−4 入力アドレスレジスタ 1−6 第2メモリコントローラ 1−7 選択制御回路 1−8 セレクタ回路 1−9 ベースアドレスレジスタ 1−10 モードレジスタ 3−4 メインメモリ 3−6 ローカルメモリ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 ビット数n(nは正の整数)のアドレス
    でメモリアクセスを行う第1のモードと、前記nにm
    (mは正の整数)を加算したビット数のアドレスでメモ
    リアクセスを行う第2のモードとを含むメモリコントロ
    ーラであって、 上位装置からの前記ビット数nのアドレスを保持する第
    1の保持手段と、前記第2のモードでアクセスすべきア
    ドレスの上位mビットを保持する第2の保持手段と、前
    記上位装置からの前記第1及び第2のモードのいずれに
    よるメモリアクセスかの判別情報を保持する第3の保持
    手段と、この第3の保持手段に保持された判別情報に基
    づき前記第1の保持手段に保持されたビット数nのアド
    レスと前記第2の保持手段に保持された上位mビットの
    アドレスとを合成するアドレス合成手段と、このアドレ
    ス合成手段より出力されるアドレスによりメモリアクセ
    スを行うメモリアクセス手段とを含むことを特徴とする
    メモリコントローラ。
  2. 【請求項2】 前記アドレス合成手段は前記第3の保持
    手段に保持される判別情報が第2のモードを選択する情
    報の場合に前記ビット数nのアドレスと前記上位mビッ
    トのアドレスとを合成することを特徴とする請求項1記
    載のメモリコントローラ。
  3. 【請求項3】 前記アドレス合成手段は前記第3の保持
    手段に保持される判別情報が第1のモードを選択する情
    報の場合に前記ビット数nのアドレスのみを出力するこ
    とを特徴とする請求項1記載のメモリコントローラ。
  4. 【請求項4】 前記第2のモードでアクセス可能なメモ
    リ空間のうち少なくとも前記第2のモードでアクセスし
    たアドレスが割り当てられる第2のメモリを有し、前記
    アドレス合成手段で合成されたアドレスにより前記第2
    のメモリがアクセスされることを特徴とする請求項1〜
    3いずれかに記載のメモリコントローラ。
JP27571397A 1997-10-08 1997-10-08 メモリコントローラ Withdrawn JPH11110290A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27571397A JPH11110290A (ja) 1997-10-08 1997-10-08 メモリコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27571397A JPH11110290A (ja) 1997-10-08 1997-10-08 メモリコントローラ

Publications (1)

Publication Number Publication Date
JPH11110290A true JPH11110290A (ja) 1999-04-23

Family

ID=17559344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27571397A Withdrawn JPH11110290A (ja) 1997-10-08 1997-10-08 メモリコントローラ

Country Status (1)

Country Link
JP (1) JPH11110290A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285798A (ja) * 2005-04-01 2006-10-19 Ark Joho Systems:Kk リアルモードにて1M以上のメインメモリを利用するx86系計算機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285798A (ja) * 2005-04-01 2006-10-19 Ark Joho Systems:Kk リアルモードにて1M以上のメインメモリを利用するx86系計算機

Similar Documents

Publication Publication Date Title
US6226732B1 (en) Memory system architecture
US5721874A (en) Configurable cache with variable, dynamically addressable line sizes
US6321314B1 (en) Method and apparatus for restricting memory access
EP0902922B1 (en) Method and apparatus for caching system management mode information with other information
RU2427892C2 (ru) Способ и устройство для установки политики кэширования в процессоре
JPS6136667B2 (ja)
US9146879B1 (en) Virtual memory management for real-time embedded devices
US6851036B1 (en) Method and apparatus for controlling external devices through address translation buffer
US6842790B2 (en) Host computer virtual memory within a network interface adapter
US6952761B2 (en) Bus interface selection by page table attributes
US6321332B1 (en) Flexible control of access to basic input/output system memory
JPH11110290A (ja) メモリコントローラ
US6324635B1 (en) Method and apparatus for address paging emulation
US20010029561A1 (en) Apparatus for extending the available number of configuration registers
US6243775B1 (en) System for extending the available number of configuration registers
JPH10293684A (ja) コンピュータシステムおよびその立ち上げ制御方法
JPH07334420A (ja) 拡張メモリ制御回路
JPH05313999A (ja) メモリ制御装置
JPS6120160A (ja) アドレツシング例外検出方式
JPH04324194A (ja) Rom回路
JP2853736B2 (ja) クラスタ番号変換回路
JPH10247150A (ja) データ処理システム
JPH077353B2 (ja) アドレス選択方式
JP3242847B2 (ja) データ制御装置
JP2003196087A (ja) マイクロコントローラのメモリアドレッシング方法及びページマッピング装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050104