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

メモリコントローラ

Info

Publication number
JP2002342156A
JP2002342156A JP2001152454A JP2001152454A JP2002342156A JP 2002342156 A JP2002342156 A JP 2002342156A JP 2001152454 A JP2001152454 A JP 2001152454A JP 2001152454 A JP2001152454 A JP 2001152454A JP 2002342156 A JP2002342156 A JP 2002342156A
Authority
JP
Japan
Prior art keywords
memory
address
area
speed
cpu
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
JP2001152454A
Other languages
English (en)
Inventor
Shunichi Shichijo
俊一 七條
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan 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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2001152454A priority Critical patent/JP2002342156A/ja
Publication of JP2002342156A publication Critical patent/JP2002342156A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 簡単で且つ安価な構成でメモリに対する読み
書きを高速化し、コンピュータシステムの処理性能を向
上することができるメモリコントローラを提供するこ
と。 【解決手段】 CPUから発生するメモリアクセス信号
を受け、主記憶に対するデータ入出力を制御するメモリ
コントローラにおいて、主記憶手段の論理アドレス空間
のうち特定領域のアドレス情報を保持するアドレス保持
部と、特定領域を、主記憶手段の実メモリより高速にア
クセス可能な高速メモリに再配置するアドレス再配置部
と、CPUから発生するメモリアクセス信号のアドレス
とアドレス情報とを比較するアドレス比較部とを有し、
CPUから発生するメモリアクセス信号のアドレスが、
アドレス情報が示す領域内である場合には、特定領域を
再配置した高速メモリをアクセスすることによる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はCPU(Central Pr
ocessing Unit)からのメモリに対するデータの入出力
を管理するメモリコントローラに係り、特にコンピュー
タシステムの処理速度を向上させるためのメモリコント
ローラに関する。
【0002】
【従来の技術】コンピュータシステムの処理速度を向上
させるために、特に主記憶からCPUへのデータの読み
込みを高速化するために、CPUと主記憶の間にキャッ
シュメモリを設ける技術が実用化されており、例えば、
特開平7−64858号公報などに開示されている。
【0003】一般に、主記憶装置の書き込み/読み出し
速度は、CPUの処理速度よりも遅いため、CPUに待
ち時間が発生する。そのために、主記憶装置よりも高速
にアクセス可能なキャッシュメモリを設置し、CPUの
待ち時間を減らして、コンピュータシステム全体の処理
速度の向上を図っている。CPUが読み込んだデータは
キャッシュメモリへも同時に保存し、2回目からはキャ
ッシュメモリから読み込むことで、主記憶装置へのアク
セス頻度を低減させている。
【0004】図8は、従来の一般的なコンピュータシス
テムの構成を示した図である。メモリコントローラ10
5はシステムバス104を介してCPU101からアク
セス信号を受け、データバス108を介して主記憶10
9に対してアクセスを行う。主記憶109は、図9に例
示するように、物理的なデバイスであるROM(ReadOn
ly Memory)111やRAM(Random Access Memory)
112〜113等から構成され、特にRAMには比較的
低速であるが容量が大きく安価なDRAM(Dynamic RA
M)112〜113が多く用いられる。
【0005】CPU101は、その内部に高速・小容量
のL1キャッシュメモリ102(1次キャッシュ)と、
比較的大きなL2キャッシュメモリ103(2次キャッ
シュ)とを内蔵している。また、メモリコントローラ1
05は、キャッシュコントローラ106を内蔵し、キャ
ッシュ用データバス100を介してL3キャッシュメモ
リ107(3次キャッシュ)に対してアクセスを行う。
【0006】図8では、L1キャッシュメモリ102か
らL3キャッシュメモリ107まで装備した例を示した
が、コンピュータシステムよってキャッシュメモリの装
備の仕方は、次に例示するように様々考えられる。
【0007】(1)全くキャッシュメモリを装備しない
場合 (2)CPU内蔵のL1キャッシュメモリ102のみ有
する場合 (3)CPU内蔵のL1キャッシュメモリ102と外部
のL3キャッシュメモリ107を有する場合 (4)CPU内蔵のL1キャッシュメモリ102及びL
2キャッシュメモリ103を有する場合 (5)CPU内蔵のL1キャッシュメモリ102及びL
2キャッシュメモリ103と、外部のL3キャッシュメ
モリ107とを有する場合 上記(1)〜(5)の各コンピュータシステムの処理速
度は、おおむね次式によって表される。尚、次式におけ
る大小関係は、処理速度が高い程大きく、処理速度が低
い程小さいことを表している。
【0008】
【数1】(1)<(2)<(3)<(4)<(5) つまり、コンピュータシステムとしての処理能力は、C
PU内部、外部ともに全くキャッシュメモリを持たない
場合が最も低く、L1〜L3の全てのキャッシュメモリ
を装備した場合が最も高い。また、CPU内蔵のキャッ
シュメモリの方が、外部のキャッシュメモリよりアクセ
ス速度が速い。
【0009】
【発明が解決しようとする課題】しかしながら、このよ
うなキャッシュメモリを実現するためには、複雑な回路
を必要とし、回路規模の増大を招くため、特に、省コス
トを要求される組み込み機器等には不向きである。例え
ば、特開平10−187285号公報に記載されている
ように、CPUによっては大規模なキャッシュメモリを
内蔵したり、専用のキャッシュコントローラを提供した
りする方式もあるが、これらは非常に高価であり、組み
込み用途などの小規模のコンピュータシステム等には適
さない。
【0010】また、図10に例示するように、主記憶の
一部に、情報の読み書きを高速に行うことができるSR
AM(Static RAM)114を配置し、ある特定の論理ア
ドレス空間のアクセス速度を向上させる構成も考えられ
る。しかしながら、このような構成によれば、固定で且
つ連続した空間のみが高速領域として静的に割り当てら
れるため、プログラムの自由度が制限されるなど、コン
ピュータシステムの柔軟性に欠けるという問題があっ
た。
【0011】本発明はこのような事情に鑑みてなされた
ものであり、簡単で且つ安価な構成でメモリに対する読
み書きを高速化し、コンピュータシステムの処理性を向
上することができるメモリコントローラを提供すること
を目的とする。
【0012】
【課題を解決するための手段】上記課題を解決するため
に、本発明に係るメモリコントローラは、CPUから発
生するメモリアクセス信号を受け、主記憶手段に対する
データ入出力を制御するメモリコントローラにおいて、
前記主記憶手段の論理アドレス空間のうち特定領域のア
ドレス情報を保持するアドレス保持部と、前記特定領域
を、前記主記憶手段の実メモリより高速にアクセス可能
な高速メモリに再配置するアドレス再配置部と、CPU
から発生するメモリアクセス信号のアドレスと前記アド
レス情報とを比較するアドレス比較部とを有し、CPU
から発生するメモリアクセス信号のアドレスが、前記ア
ドレス情報が示す領域内である場合には、前記特定領域
を再配置した前記高速メモリをアクセスすることを特徴
とする。
【0013】この特徴によれば、特定領域のアドレス情
報を管理することで、主記憶空間のうち、任意の領域を
高速アクセス領域として割り当てることができ、しかも
キャッシュメモリのような書き戻し等の処理は不要であ
るため、回路規模も小さく安価にすることができる。
【0014】また、本発明に係るメモリコントローラ
は、前記CPUの内部あるいは外部にキャッシュメモリ
を有し、前記主記憶手段の論理アドレス空間がキャッシ
ュ領域および非キャッシュ領域に分割されている場合
に、前記非キャッシュ領域に前記特定領域の論理アドレ
ス空間を配置することを特徴とする。
【0015】この特徴によれば、キャッシュメモリと併
用する場合に、キャッシュメモリとオーバーラップする
ことない高速アクセス領域を得ることができる。
【0016】また、前記アドレス保持部のアドレス情報
は、前記CPUにて所定の命令を実行するコンピュータ
プログラムから動的に書き換え可能であることを特徴と
する。
【0017】この特徴によれば、アドレス保持部が保持
する特定領域のアドレス情報を、外部のプログラムから
動的に書き換えることで、設計仕様に柔軟に対応できる
コンピュータシステムを提供することができる。特に、
高速処理が要求されるリアルタイムデバイスの制御プロ
グラムにおけるコード領域や、使用頻度が高い、OS
(Operating System)やユーザプログラムにおけるスタ
ック領域、グローバル変数等のデータ領域、等々、設計
仕様やシステムの要求に応じて、コンピュータプログラ
ム側から特定高速領域の位置やサイズを自由に指定する
ことができるため、コンピュータシステムの処理能力を
最大限に活用することができる。
【0018】また、本発明に係るメモリコントローラ
は、前記高速メモリを内蔵することを特徴とし得る。
【0019】この特徴によれば、特定高速領域の物理的
なデバイスである、高速メモリをメモリコントローラに
内蔵することで、外部に高速メモリを設置した場合に比
較して、データバス等のインタフェースを介在しないた
め、より高速に動作することができる。
【0020】
【発明の実施の形態】以下、図面を参照しながら、本発
明の実施の形態を詳細に説明する。
【0021】〔第1の実施形態〕図1は、本実施形態に
おけるメモリコントローラ15を備えたコンピュータシ
ステムの構成例を模式的に示した図であり、CPU1
1、メモリコントローラ15、主記憶19、高速メモリ
31などから構成されている。図1に示した例では、C
PU1はその内部に、高速・小容量のL1キャッシュメ
モリ12(1次キャッシュ)と、比較的大きなL2キャ
ッシュメモリ13(2次キャッシュ)とを内蔵した構成
としているが、これに限定されず、更に別のキャッシュ
メモリを内蔵する構成や、あるいは全くキャッシュメモ
リを持たない構成も想定することができる。
【0022】メモリコントローラ15はシステムバス1
4を介してCPU11からアクセス信号を受け、メモリ
バス18を介して主記憶109に対して、あるいは高速
メモリバス32を介して主記憶19の実メモリより高速
にアクセス可能な第2のメモリ(高速メモリ31)に対
してアクセスを行う。尚、図示しないが、このメモリコ
ントローラ15に内蔵または独立した構成で、キャッシ
ュコントローラおよび外部キャッシュを備える場合があ
る。
【0023】システムバス14は、アドレスバス、デー
タバス及びリード/ライト等の制御信号で構成され、メ
モリバス18及び高速メモリバス32は、主記憶19及
び高速メモリ31の制御を行うための信号、すなわちア
ドレスバス、データバス、RAS(Row Address Strob
e)/CAS(Column Address Strobe)、CS(ChipSe
lect)等で構成される。
【0024】図2は、主記憶19及び高速メモリ31の
構成例を示しており、論理アドレス空間に対する実メモ
リの割付を例示している。主記憶19の論理アドレス空
間のうち、領域A,C,E,H,Jが高速アクセス領
域、領域B,D,F,G,I,K,Lが通常のアクセス
領域として定義されている。通常のアクセス領域B,
D,F,G,I,K,Lに対する実メモリは、ROM4
1やDRAM42〜43等を用いている。高速領域A,
C,E,H,Jに対する実メモリとしては、DRAM4
2〜43より高速にアクセス可能なSRAM31を、主
記憶19の論理アドレス空間とは独立した形で配置して
いる。つまり、通常のアクセス領域である領域B,D,
F,G,I,K,LはDRAM42〜43に割り当てら
れ、高速アクセス領域である領域A,C,E,H,Jは
DRAM42〜43に割り当てられる替わりにSRAM
31に割り当てられる。
【0025】図1に示したメモリコントローラ15は、
主記憶19の論理アドレス空間のうち、特定領域のアド
レス情報を保持するアドレス保持部21と、主記憶19
の実メモリより高速にアクセス可能な高速メモリ31に
特定領域を再配置するアドレス再配置部23と、CPU
11から発生するメモリアクセス信号のアドレスとアド
レス保持部21内のアドレス情報とを比較するアドレス
比較部22とを有している。
【0026】アドレス保持部21が保持するアドレス情
報は、高速アクセス領域の個々の領域A,C,E,H,
Jに関する、例えば開始アドレスと終了アドレス、また
は開始アドレスと領域のサイズなどの情報である。
【0027】メモリコントローラ15は、CPU11か
ら発生するメモリアクセス信号のアドレスがアドレス保
持部21のアドレス情報内に含まれるかどうか、アドレ
ス比較部22にて判定する。判定した結果、メモリアク
セス信号のアドレスがアドレス保持部21のアドレス情
報が示す領域内である場合には高速メモリ31に再配置
された特定領域をアクセスし、領域外である場合には通
常のアクセス領域が割り当てられているROM41やD
RAM42〜43をアクセスする。
【0028】本発明におけるメモリコントローラ15及
び高速メモリ31と、従来のキャッシュと異なる点は、
図2に示した高速アクセス領域である領域A,C,E,
H,Jの部分がCPU11の論理アドレス空間から完全
に分離され、SRAM31で代替されていることであ
る。従って、従来のキャッシュのように、書き戻しの判
断や実行の必要がないため、制御回路の大幅な簡素化が
可能である。
【0029】図3は、本実施形態におけるメモリコント
ローラ15によるメモリの再配置例を示しており、同図
(a)はCPU11の全論理アドレス空間のメモリマッ
プ、同図(b)は高速メモリ31の全論理アドレス空間
のメモリマップである。また、図4は、アドレス保持部
21が保持するアドレス情報の例である。
【0030】図3及び図4に示した例では、CPU11
の全メモリアドレス空間のサイズは1Mbyteであ
り、そのうち、主記憶の空間が0番地〜7FFFF番地
までの512Kbyte、空き領域の空間が80000
番地〜BFFFF番地までの256Kbyte、ROM
領域の空間がC0000番地〜FFFFF番地までの2
56Kbyteとして構成されている。また、図3
(b)の高速メモリ31のサイズは64Kbyteで、
その分割数(高速メモリ31に再配置される領域の数)
は「4」に設定されており、主記憶空間の領域のうち、
高速メモリ31に再配置される領域は領域A1〜A4で
ある。
【0031】再配置される第1の領域A1は、主記憶空
間の中の100番地〜40FF番地までの16Kbyt
e、第2の領域A2は、主記憶空間の中の8400番地
〜A3FF番地までの8Kbyte、第3の領域A3
は、主記憶空間の中の37000番地〜3EFFF番地
までの32Kbyte、第4の領域A4は、主記憶空間
の中の56500番地〜584FF番地までの8Kby
teである。そして、第1の領域A1は、高速メモリの
0番地〜3FFF番地までの16Kbyte、第2の領
域A2は、高速メモリの4000番地〜5FFF番地ま
での8Kbyte、第3の領域A3は、高速メモリの6
000番地〜DFFF番地までの32Kbyte、第4
の領域A4は、高速メモリのE000番地〜FFFF番
地までの8Kbyteに、それぞれ再配置される。
【0032】尚、図4では再配置される各領域のアドレ
ス情報として、開始アドレス、終了アドレス、サイズを
それぞれ有する例を示したが、開始アドレスと終了アド
レスのみ、あるいは開始アドレスとサイズのみを有する
構成でも良い。
【0033】図5は、本実施形態におけるメモリコント
ローラ15の処理動作を例示するフローチャートであ
る。ここで、メモリアクセス信号の変数として、変数C
ADDはCPU11が発生するメモリアドレス、変数D
ADDはメモリコントローラ15が発生する主記憶19
への物理アドレス、変数SADDはメモリコントローラ
15が発生する高速メモリ31への物理アドレス、変数
RADDはメモリコントローラ15が発生するROM4
1への物理アドレスとする。また、メモリコントローラ
15のアドレス保持部21が保持するアドレス情報の変
数として、変数DSADは主記憶19の開始アドレス、
変数DEADは主記憶19の終了アドレス、変数FSA
Dは空き領域の開始アドレス、変数FEADは空き領域
の終了アドレス、変数RSADはROM領域の開始アド
レス、変数READはROM領域の終了アドレス、変数
SSA1は再配置される第1の領域A1の開始アドレ
ス、変数SEA1はその終了アドレス、変数SSA2は
再配置される第2の領域A2の開始アドレス、変数SE
A2はその終了アドレス、変数SSA3は再配置される
第3の領域A3の開始アドレス、変数SEA3はその終
了アドレス、変数SSA4は再配置される第4の領域A
4の開始アドレス、変数SEA4はその終了アドレスと
する。
【0034】図5において、はじめに、メモリコントロ
ーラ15は、CPU11が発生するメモリアクセス信号
を受付け(Step01)、メモリアクセス信号に含まれてい
るメモリアドレスCADDが、主記憶19の領域内であ
るかどうか判定する(Step02)。具体的には、メモリア
ドレスCADDが主記憶空間の開始アドレスDSADと
終了アドレスDEADの範囲内にあるかどうか判定す
る。
【0035】Step02にて判定した結果、メモリアドレス
CADDが主記憶19の領域内でない場合には、メモリ
コントローラ15は、次に、メモリアドレスCADDが
ROM41の領域内であるかどうか、つまり、メモリア
ドレスCADDがROM41領域の開始アドレスRSA
Dと終了アドレスREADの範囲内にあるかどうか判定
する(Step03)。
【0036】Step03にて判定した結果、メモリアドレス
CADDがROM41の領域内である場合には、メモリ
コントローラ15が発生するROM41への物理アドレ
スRADDにメモリアドレスCADDをセットして、R
OM41に対してアクセスを行う(Step04)。
【0037】Step03にて判定した結果、メモリアドレス
CADDがROM41の領域外である場合には、メモリ
コントローラ15は、指定アドレス例外として、システ
ムエラーをCPU11に返す(Step05)。
【0038】Step02にて判定した結果、メモリアドレス
CADDが主記憶19の領域内である場合には、メモリ
コントローラ15は、次に、メモリアドレスCADDが
再配置される第1の領域A1内にあるかどうか、つま
り、メモリアドレスCADDが第1の領域A1の開始ア
ドレス変数SSA1とその終了アドレスSEA1の範囲
内にあるかどうか判定する(Step11)。
【0039】Step11にて判定した結果、メモリアドレス
CADDが第1の領域A1内である場合には、メモリコ
ントローラ15は、高速メモリ31への物理アドレスS
ADDに次式によりアドレス値をセットして、高速メモ
リ31に対してアクセスを行う(Step12)。
【0040】
【数2】 SADD=CADD−SSA1 ・・・(式1) Step11にて判定した結果、メモリアドレスCADDが第
1の領域A1内でない場合には、メモリコントローラ1
5は、次に、メモリアドレスCADDが再配置される第
2の領域A2内にあるかどうか、つまり、メモリアドレ
スCADDが第2の領域A2の開始アドレス変数SSA
2とその終了アドレスSEA2の範囲内にあるかどうか
判定する(Step13)。
【0041】Step12にて判定した結果、メモリアドレス
CADDが第2の領域A2内である場合には、メモリコ
ントローラ15は、高速メモリ31への物理アドレスS
ADDに次式によりアドレス値をセットして、高速メモ
リ31に対してアクセスを行う(Step14)。
【0042】
【数3】 SADD=CADD−SSA2+(SEA1+1−SSA1) ・・・(式 2) Step13にて判定した結果、メモリアドレスCADDが第
2の領域A2内でない場合には、メモリコントローラ1
5は、次に、メモリアドレスCADDが再配置される第
3の領域A3内にあるかどうか、つまり、メモリアドレ
スCADDが第3の領域A3の開始アドレス変数SSA
3とその終了アドレスSEA3の範囲内にあるかどうか
判定する(Step15)。
【0043】Step15にて判定した結果、メモリアドレス
CADDが第3の領域A3内である場合には、メモリコ
ントローラ15は、高速メモリ31への物理アドレスS
ADDに、次式によりアドレス値をセットして、高速メ
モリ31に対してアクセスを行う(Step16)。
【0044】
【数4】 SADD=CADD−SSA3+(SEA1+1−SSA1) +(SEA2+1−SSA2) ・・・(式 3) Step15にて判定した結果、メモリアドレスCADDが第
3の領域A3内でない場合には、メモリコントローラ1
5は、次に、メモリアドレスCADDが再配置される第
4の領域A4内にあるかどうか、つまり、メモリアドレ
スCADDが第4の領域A4の開始アドレス変数SSA
4とその終了アドレスSEA4の範囲内にあるかどうか
判定する(Step17)。
【0045】Step17にて判定した結果、メモリアドレス
CADDが第4の領域A4内である場合には、メモリコ
ントローラ15は、高速メモリ31への物理アドレスS
ADDに、次式によりアドレス値をセットして、高速メ
モリ31に対してアクセスを行う(Step18)。
【0046】
【数5】 SADD=CADD−SSA4+(SEA1+1−SSA1) +(SEA2+1−SSA2) +(SEA3+1−SSA3) ・・・(式 4) Step17にて判定した結果、メモリアドレスCADDが第
4の領域A4内でない場合、つまり、メモリアドレスC
ADDが第1の領域A1〜第4の領域A4のいずれの領
域の範囲内でない場合、メモリコントローラ15は、主
記憶19への物理アドレスDADDにメモリアドレスC
ADDをセットして、主記憶19に対してアクセスを行
う(Step19)。
【0047】尚、第1の領域A1〜第4の領域A4の開
始アドレスSSAnや終了アドレスSEAnが固定値の
場合、上記式2〜式3の(SEAn+1−SSAn)の
アドレス値も固定値となるため、その都度算出する必要
はない。その場合には、第1の領域A1〜第4の領域A
4の再配置時に、メモリコントローラ15内部に(SE
An+1−SSAn)のアドレス値を保持しておくこと
で、アドレス計算の負荷をより軽減することができる。
【0048】〔第2の実施形態〕図6は、第2の実施形
態におけるメモリコントローラ15を備えたコンピュー
タシステムの構成例を模式的に示した図である。尚、第
1の実施形態にて示した例と同一箇所には同一の符号を
附し、その詳細な説明を省略する。
【0049】第1の実施形態にて示した例と同様に、メ
モリコントローラ15は、主記憶19の論理アドレス空
間のうち、特定領域のアドレス情報を保持するアドレス
保持部21と、主記憶19の実メモリより高速にアクセ
ス可能な第2のメモリ(高速メモリ33)に特定領域を
再配置するアドレス再配置部23と、CPU11から発
生するメモリアクセス信号のアドレスとアドレス保持部
21内のアドレス情報とを比較するアドレス比較部22
とを有している。メモリコントローラ15は、CPU1
1から発生するメモリアクセス信号のアドレスがアドレ
ス保持部21のアドレス情報内に含まれるかどうか、ア
ドレス比較部22にて判定する。判定した結果、メモリ
アクセス信号のアドレスがアドレス保持部21のアドレ
ス情報が示す領域内である場合には、内蔵する高速メモ
リ33に再配置された特定領域をアクセスする。
【0050】本実施形態におけるメモリコントローラ1
5は、主記憶19の実メモリより高速にアクセス可能な
第2のメモリ(高速メモリ33)をメモリコントローラ
15に内蔵した点を特徴としている。従って、第1の実
施形態にて示したような高速メモリバス32を必要とし
ないため、高速メモリ33に対するアクセスをより高速
に行うことができ、更に、メモリコントローラ15の配
線ピンの数を削減することができる。
【0051】〔第3の実施形態〕本実施形態では、図1
及び図6に例示したように、CPU11がキャッシュメ
モリ12,13を内蔵する場合、あるいはCPU11外
部にキャッシュ機能を保有する場合など、本発明に係る
メモリコントローラ15と上記キャッシュ機能とを併用
する場合を例に説明する。
【0052】図7は、本実施形態のメモリコントローラ
15における主記憶の構成例を例示しており、この主記
憶の論理アドレス空間は、キャッシュ領域45と非キャ
ッシュ領域46とに分割されている。このような場合
に、高速メモリ31に再配置される領域は領域A,C,
E,H,Jの論理メモリ空間を、非キャッシュ領域46
に配置する。このように、特定アドレス領域A,C,
E,H,Jの論理メモリ空間を非キャッシュ領域46に
配置することによって、キャッシュ12,13と重複し
ない高速アクセス領域が得られる。
【0053】〔その他の実施形態〕本実施形態に係るメ
モリコントローラのアドレス保持部21のアドレス情報
を例えばレジスタ等で構成することで、CPU11にて
所定の命令を実行するコンピュータプログラム(図示せ
ず)側から動的に書き換えができるようにする。
【0054】アドレス保持部21が保持する高速アクセ
ス可能な領域のアドレス情報を、外部のプログラムから
動的に書き換えることで、設計仕様に柔軟に対応できる
コンピュータシステムを提供することができる。特に、
高速処理が要求されるリアルタイムデバイスの制御プロ
グラムにおけるコード領域や、使用頻度が高い、OS
(Operating System)やユーザプログラムにおけるスタ
ック領域、グローバル変数等のデータ領域、等々、設計
仕様やシステムの要求に応じて、コンピュータプログラ
ム側から特定高速領域の位置やサイズを自由に指定する
ことができるため、コンピュータシステムの処理能力を
最大限に活用することができる。
【0055】以上、本発明の実施形態について詳細に説
明したが、本発明は本実施例に限定されず、本発明の主
旨を逸脱しない範囲において、種々の改良や変更を成し
得るであろう。
【0056】例えば、本実施形態では、主記憶の物理デ
バイスとしてDRAM、高速メモリの物理デバイスとし
てSRAMを用いた例を説明したが、これに限定され
ず、例えば、EDORAM(Extended Data Out DRAM)
やSDRAM(Synchronous DRAM)など、他の半導体メ
モリ等によっても実現可能である。
【0057】
【発明の効果】本発明によれば、特定のメモリ領域のア
ドレス情報を管理することで、主記憶空間のうち、任意
の領域を高速アクセス領域として割り当てることがで
き、しかもキャッシュメモリのような書き戻し等の処理
が不要であるため、回路規模も小さく安価にすることが
できる。
【0058】また、キャッシュ機能の有無に関わらず、
高速処理が可能なコンピュータシステムが構成でき、特
に、キャッシュ機能と併用する場合に、キャッシュメモ
リとオーバーラップすることない高速アクセス領域を得
ることができる。
【0059】また、アドレス保持部が保持する特定領域
のアドレス情報を、外部のプログラムから動的に書き換
えることで、設計仕様に柔軟に対応できるコンピュータ
システムを提供することができる。特に、高速処理が要
求されるリアルタイムデバイスの制御プログラムにおけ
るコード領域や、使用頻度が高い、OS(OperatingSys
tem)やユーザプログラムにおけるスタック領域、グロ
ーバル変数等のデータ領域、等々、設計仕様やシステム
の要求に応じて、コンピュータプログラム側から特定高
速領域の位置やサイズを自由に指定することができるた
め、コンピュータシステムの処理能力を最大限に活用す
ることができる。
【0060】以上のように、本発明によれば、簡単で且
つ安価な構成でメモリに対する読み書きを高速化し、コ
ンピュータシステムの処理性を向上することができるメ
モリコントローラを提供することができる。従って、コ
スト削減を要求される、小容量キャッシュを内蔵したC
PUを用いた組み込みシステム等において、処理能力向
上を図る場合などに特に有効である。
【図面の簡単な説明】
【図1】第1実施形態におけるメモリコントローラを備
えたコンピュータシステムの構成例を模式的に示した図
である。
【図2】図1に示したコンピュータシステムにおける主
記憶及び高速メモリの構成例を示す図である。
【図3】第1実施形態におけるメモリの再配置例を示し
た図であり、(a)はCPUの全論理アドレス空間のメ
モリマップ、(b)は高速メモリの全論理アドレス空間
のメモリマップである。
【図4】第1実施形態におけるメモリコントローラのア
ドレス保持部が保持するアドレス情報の一例を示した図
である。
【図5】第1実施形態におけるメモリコントローラの処
理動作を例示するフローチャートである。
【図6】第2実施形態におけるメモリコントローラを備
えたコンピュータシステムの構成例を模式的に示した図
である。
【図7】第3実施形態のメモリコントローラを備えたコ
ンピュータシステムにおける主記憶及び高速メモリの構
成例を示す図である。
【図8】従来のコンピュータシステムの構成例を模式的
に示した図である。
【図9】従来のコンピュータシステムにおける主記憶の
構成例を示す図である。
【図10】従来のコンピュータシステムにおいて、処理
能力の向上を図った主記憶の構成例を示す図である。
【符号の説明】
11....CPU 12....L1キャッシュメモリ 13....L2キャッシュメモリ 14....システムバス 15....メモリコントローラ 18....メモリバス 19....主記憶 21....アドレス保持部 22....アドレス比較部 23....アドレス再配置部 31....高速メモリ(SRAM) 32....高速メモリバス 33....高速メモリ(メモリコントローラ内蔵) 41....ROM 42,43....DRAM 101....CPU 102....L1キャッシュメモリ 103....L2キャッシュメモリ 104....システムバス 105....メモリコントローラ 106....キャッシュメモリコントローラ 107....L3キャッシュメモリ 108....メモリバス 109....主記憶 111....ROM 112,113....DRAM 114....SRAM

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 CPUから発生するメモリアクセス信号
    を受け、主記憶手段に対するデータ入出力を制御するメ
    モリコントローラにおいて、 前記主記憶手段の論理アドレス空間のうち特定領域のア
    ドレス情報を保持するアドレス保持部と、 前記特定領域を、前記主記憶手段の実メモリより高速に
    アクセス可能な高速メモリに再配置するアドレス再配置
    部と、 CPUから発生するメモリアクセス信号のアドレスと前
    記アドレス情報とを比較するアドレス比較部とを有し、 CPUから発生するメモリアクセス信号のアドレスが、
    前記アドレス情報が示す領域内である場合には、前記特
    定領域を再配置した前記高速メモリをアクセスすること
    を特徴とするメモリコントローラ。
  2. 【請求項2】 請求項1に記載のメモリコントローラ
    は、 前記CPUの内部あるいは外部にキャッシュメモリを有
    し、前記主記憶手段の論理アドレス空間がキャッシュ領
    域および非キャッシュ領域に分割されている場合に、 前記非キャッシュ領域に前記特定領域の論理アドレス空
    間を配置することを特徴とするメモリコントローラ。
  3. 【請求項3】 請求項1ないし請求項2のいずれかに記
    載のメモリコントローラにおいて、 前記アドレス保持部のアドレス情報は、前記CPUにて
    所定の命令を実行するコンピュータプログラムから、動
    的に書き換え可能であることを特徴とするメモリコント
    ローラ。
JP2001152454A 2001-05-22 2001-05-22 メモリコントローラ Pending JP2002342156A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001152454A JP2002342156A (ja) 2001-05-22 2001-05-22 メモリコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001152454A JP2002342156A (ja) 2001-05-22 2001-05-22 メモリコントローラ

Publications (1)

Publication Number Publication Date
JP2002342156A true JP2002342156A (ja) 2002-11-29

Family

ID=18997119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001152454A Pending JP2002342156A (ja) 2001-05-22 2001-05-22 メモリコントローラ

Country Status (1)

Country Link
JP (1) JP2002342156A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012180A (ja) * 2004-06-10 2006-01-12 Marvell World Trade Ltd 主及び補助プロセッサを備えた低電力コンピュータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012180A (ja) * 2004-06-10 2006-01-12 Marvell World Trade Ltd 主及び補助プロセッサを備えた低電力コンピュータ

Similar Documents

Publication Publication Date Title
US5581736A (en) Method and system for dynamically sharing RAM between virtual memory and disk cache
KR101469512B1 (ko) 외부 컴퓨팅 디바이스의 성능 향상을 위한 어댑티브 메모리 시스템
US7613870B2 (en) Efficient memory usage in systems including volatile and high-density memories
JP3715714B2 (ja) 低電力メモリシステム
US7945737B2 (en) Memory hub with internal cache and/or memory access prediction
US5752275A (en) Translation look-aside buffer including a single page size translation unit
US6948033B2 (en) Control method of the cache hierarchy
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
JP3629519B2 (ja) プログラマブルsram及びdramキャッシュ・インタフェース
US20120017039A1 (en) Caching using virtual memory
US20110264866A1 (en) Technique for using memory attributes
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
MX2008014859A (es) Dispositivo de memoria hibrida con interfase individual.
US5293622A (en) Computer system with input/output cache
EP0509994B1 (en) Centralized reference and change table for a multiprocessor virtual memory system
US20070016807A1 (en) Method for reducing memory power consumption
US6748512B2 (en) Method and apparatus for mapping address space of integrated programmable devices within host system memory
JP3935873B2 (ja) プリフェッチ・バッファを用いたメモリ電力管理
US5727179A (en) Memory access method using intermediate addresses
US5835945A (en) Memory system with write buffer, prefetch and internal caches
KR20180078512A (ko) 반도체 장치
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치
JP2002342156A (ja) メモリコントローラ
US7533233B2 (en) Accommodating multiple operating systems and memory sizes on IA-32 platforms
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor