JPH10320269A - 搭載メモリサイズの検出方法 - Google Patents
搭載メモリサイズの検出方法Info
- Publication number
- JPH10320269A JPH10320269A JP9132408A JP13240897A JPH10320269A JP H10320269 A JPH10320269 A JP H10320269A JP 9132408 A JP9132408 A JP 9132408A JP 13240897 A JP13240897 A JP 13240897A JP H10320269 A JPH10320269 A JP H10320269A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- size
- cpu
- read
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【課題】 汎用メモリを搭載した装置上において、その
搭載メモリサイズを正確に検出することである。 【解決手段】 ハードウェアのデコードの簡略化によリ
CPU1から異なったアドレスをアクセスしても、同−
のメモリ3の物理アドレスをアクセスしてしまうミラー
アクセスを使用して搭載メモリサイズを検出する。
搭載メモリサイズを正確に検出することである。 【解決手段】 ハードウェアのデコードの簡略化によリ
CPU1から異なったアドレスをアクセスしても、同−
のメモリ3の物理アドレスをアクセスしてしまうミラー
アクセスを使用して搭載メモリサイズを検出する。
Description
【0001】
【発明の属する技術分野】本発明は汎用メモリを搭載し
た装置上において、その搭載メモリサイズを検出する方
法に関する。
た装置上において、その搭載メモリサイズを検出する方
法に関する。
【0002】
【従来の技術】汎用メモリ等を搭載している装置上にお
いて、その搭載メモリを検出する方法として、ハードウ
ェアにて、特定のレジスタを設け、そのIDによって、
判定する方法や簡易的な診断によって判定する方法が考
えられる。
いて、その搭載メモリを検出する方法として、ハードウ
ェアにて、特定のレジスタを設け、そのIDによって、
判定する方法や簡易的な診断によって判定する方法が考
えられる。
【0003】
【発明が解決しようとする課題】第1の問題点は、ハー
ドウェアによって判定する場合、特別に、検出を行うた
めのハードウェア上の細工が必要になる。
ドウェアによって判定する場合、特別に、検出を行うた
めのハードウェア上の細工が必要になる。
【0004】その理由は、汎用メモリ自体は、搭載容量
を表すIDを持っていないためである。
を表すIDを持っていないためである。
【0005】第2の問題点は、ソフトウェアによって判
定する場合、搭載されるメモリの境界をすべてアクセス
し、エラーの発生により判定をする方法が考えられる
が、この方法だけでは、正常に検出できなかったり、無
駄が生じることがある。
定する場合、搭載されるメモリの境界をすべてアクセス
し、エラーの発生により判定をする方法が考えられる
が、この方法だけでは、正常に検出できなかったり、無
駄が生じることがある。
【0006】その理由は、実際の境界線がはっきりしな
いためである。
いためである。
【0007】本発明は上記の点にかんがみてなされたも
ので、汎用メモリを搭載した装置上において、その搭載
メモリサイズを正確に検出することを目的とする。
ので、汎用メモリを搭載した装置上において、その搭載
メモリサイズを正確に検出することを目的とする。
【0008】搭載メモリサイズを検出する方法として、
ソフトウェアにて簡易的な診断を用いて検出を行う。
ソフトウェアにて簡易的な診断を用いて検出を行う。
【0009】検出方法は、ハードウェアのメモリに対す
るデコードの簡略化仕様により、CPUから異なったア
ドレスをアクセスしても、実際には、同一のメモリ物理
アドレスをアクセスしてしまうミラーアクセスを利用し
て行う。
るデコードの簡略化仕様により、CPUから異なったア
ドレスをアクセスしても、実際には、同一のメモリ物理
アドレスをアクセスしてしまうミラーアクセスを利用し
て行う。
【0010】ミラーアクセスの実行結果により、考えら
れる搭載メモリサイズを絞り込め、且つ無駄な判定処理
を省略でき、メモリサイズ検出をより高速化、高信頼性
化することができる。
れる搭載メモリサイズを絞り込め、且つ無駄な判定処理
を省略でき、メモリサイズ検出をより高速化、高信頼性
化することができる。
【0011】
【課題を解決するための手段】本発明は上記の目的を達
成するために、本発明の搭載メモリサイズ検出方法は、
ハードウェアのデコードの簡略化(図1)によリCPU
から異なったアドレスをアクセスしても、同−のメモリ
物理アドレスをアクセスしてしまうミラーアクセス(図
2)を使用することを特徴とする。
成するために、本発明の搭載メモリサイズ検出方法は、
ハードウェアのデコードの簡略化(図1)によリCPU
から異なったアドレスをアクセスしても、同−のメモリ
物理アドレスをアクセスしてしまうミラーアクセス(図
2)を使用することを特徴とする。
【0012】[作用]本発明によれば、上述のミラーア
クセスを使用して、CPUからの2つの異なったアドレ
スをアクセスすると同−のメモリ物理アドレスをアクセ
スすることを使用してメモリのサイズを検出している。
クセスを使用して、CPUからの2つの異なったアドレ
スをアクセスすると同−のメモリ物理アドレスをアクセ
スすることを使用してメモリのサイズを検出している。
【0013】このため、CPUからメモリのある一個所
に書き込みを行った情報を、異なったCPUアドレスで
も読み出すことができることを利用すれば、容易にメモ
リサイズを検出することができる。
に書き込みを行った情報を、異なったCPUアドレスで
も読み出すことができることを利用すれば、容易にメモ
リサイズを検出することができる。
【0014】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
て図面を参照して詳細に説明する。
【0015】図1を参照すると、CPU1とメモリ3の
間をアドレスバスが接続され、CPU1からは、A4、
A3、A2、A1、A0の5本のアドレスバス2が出力
されており、メモリ3の、A3、A2、A1、A0の4
本のアドレスバス4に接続されている。
間をアドレスバスが接続され、CPU1からは、A4、
A3、A2、A1、A0の5本のアドレスバス2が出力
されており、メモリ3の、A3、A2、A1、A0の4
本のアドレスバス4に接続されている。
【0016】この場合、図2に示すとおり、メモリの物
理アドレス(A3、A2、A1、A0)が、(0、1、
0、0、0)のエリア7は、CPU1からは、アドレス
(A4、A3、A2、A1、A0)が(1、1、0、
0、0)のエリア5および、(0、1、0、0、0)の
エリア6にマッピングされて見ることができる。
理アドレス(A3、A2、A1、A0)が、(0、1、
0、0、0)のエリア7は、CPU1からは、アドレス
(A4、A3、A2、A1、A0)が(1、1、0、
0、0)のエリア5および、(0、1、0、0、0)の
エリア6にマッピングされて見ることができる。
【0017】つまり、CPU1のアドレス空間がメモリ
3の物理アドレスの2倍あるために、本現象が発生す
る。
3の物理アドレスの2倍あるために、本現象が発生す
る。
【0018】これを使用して、メモリのサイズを検出す
ることが可能である。
ることが可能である。
【0019】
【実施例】次に、本発明の実施例について図面を参照し
て詳細に説明する。
て詳細に説明する。
【0020】実施例として搭載される汎用メモリの容量
が8Mbyte、16Mbyte、32Mbyte、6
4Mbyteのいずれかである装置について、その搭載
メモリ容量の検出手順を説明する。
が8Mbyte、16Mbyte、32Mbyte、6
4Mbyteのいずれかである装置について、その搭載
メモリ容量の検出手順を説明する。
【0021】図3に、本実施例のCPU ADDRES
S MAP8と16Mbyteのメモリ ADDRES
S MAP9を示す。
S MAP8と16Mbyteのメモリ ADDRES
S MAP9を示す。
【0022】図3にそれぞれ、CPU ADDRESS
=00000000番地10からの8Mbyte境界1
1、16Mbyte境界12、32Mbyte境界1
3、64Mbyte境界14、および、16Mbyte
のメモリが搭載されている場合のメモリマップと検出フ
ローチャートを示す。
=00000000番地10からの8Mbyte境界1
1、16Mbyte境界12、32Mbyte境界1
3、64Mbyte境界14、および、16Mbyte
のメモリが搭載されている場合のメモリマップと検出フ
ローチャートを示す。
【0023】以下、フローチャートを用いて詳細を説明
する。
する。
【0024】まず、CPU ADDRESSの最大搭載
量64Mbyteの境界線14に識別子Xを書き込む
(参照番号17)。
量64Mbyteの境界線14に識別子Xを書き込む
(参照番号17)。
【0025】この場合、必ず64Mbyteを超える領
域であるので必ず、メモリの物理アドレスは、ミラー領
域となり、実際は、メモリの00000000番地16
に書き込まれる。
域であるので必ず、メモリの物理アドレスは、ミラー領
域となり、実際は、メモリの00000000番地16
に書き込まれる。
【0026】そこで、搭載されたメモリが、64Mby
te未満かどうかを調べる。
te未満かどうかを調べる。
【0027】CPU ADDRESS=0200000
0番地13を読み出し、読み出した値を変数Yに代入す
る(参照番号18)。
0番地13を読み出し、読み出した値を変数Yに代入す
る(参照番号18)。
【0028】この場合、実際のメモリの容量が16Mb
yteなので、アクセスされたメモリのアドレスは、0
0000000番地16になるので変数Yは、識別子X
に一致する。
yteなので、アクセスされたメモリのアドレスは、0
0000000番地16になるので変数Yは、識別子X
に一致する。
【0029】ここで、搭載されたメモリが、64Mby
te未満であることがわかる。
te未満であることがわかる。
【0030】次に、搭載されたメモリが32Mbyte
未満かどうかを調べる。
未満かどうかを調べる。
【0031】CPU ADDRESS=0100000
0番地12を読み出し、読み出した値を変数Yに代入す
る(参照番号19)。
0番地12を読み出し、読み出した値を変数Yに代入す
る(参照番号19)。
【0032】この場合も、実際のメモリ容量は16Mb
yteなので、アクセスされたメモリのアドレスは、0
0000000番地16になるので、変数Yは、識別子
Xに一致する。
yteなので、アクセスされたメモリのアドレスは、0
0000000番地16になるので、変数Yは、識別子
Xに一致する。
【0033】ここで、搭載されたメモリが、32Mby
te未満であることがわかる。
te未満であることがわかる。
【0034】最後に、搭載されたメモリが16Mbyt
e未満かどうかを調べる。
e未満かどうかを調べる。
【0035】CPU ADDRESS=0080000
0番地11を読み出し、読み出した値を変数Yに代入す
る(参照番号20)。
0番地11を読み出し、読み出した値を変数Yに代入す
る(参照番号20)。
【0036】この場合、実際のメモリ容量は16Mby
teなので、アクセスされたメモリのアドレスも008
00000番地15になるので、変数Yは、識別子Xに
一致しない。
teなので、アクセスされたメモリのアドレスも008
00000番地15になるので、変数Yは、識別子Xに
一致しない。
【0037】ここで、搭載されたメモリが、16Mby
teであることがわかる。
teであることがわかる。
【0038】本手順により、搭載メモリの容量が検索さ
れる(参照番号21)。
れる(参照番号21)。
【0039】次に、本発明の第2の実施例について図面
を参照して説明する。
を参照して説明する。
【0040】本発明の第2の実施例として図4に示すよ
うな手順も考えられる。
うな手順も考えられる。
【0041】搭載される汎用メモリの容量が8Mbyt
e、16Mbyte、32Mbyte、64Mbyte
のいずれかである装置について、その搭載メモリ容量の
検出手順を説明する。
e、16Mbyte、32Mbyte、64Mbyte
のいずれかである装置について、その搭載メモリ容量の
検出手順を説明する。
【0042】図4に本実施例のCPU ADDRESS
MAP22と32Mbyteのメモリ ADDRES
S MAP23を示す。
MAP22と32Mbyteのメモリ ADDRES
S MAP23を示す。
【0043】図4にそれぞれ、CPU ADDRESS
=00000000番地24からの8Mbyte境界2
5、16Mbyte境界26、32Mbyte境界2
7、64Mbyte境界28、および、32Mbyte
のメモリが搭載されている場合のメモリマップと検出フ
ローチャートを示す。
=00000000番地24からの8Mbyte境界2
5、16Mbyte境界26、32Mbyte境界2
7、64Mbyte境界28、および、32Mbyte
のメモリが搭載されている場合のメモリマップと検出フ
ローチャートを示す。
【0044】以下、フローチャートを用いて詳細を説明
する。
する。
【0045】まず、CPU ADDRESSの0000
0000番地24に識別子Xを書き込む(参照番号3
2)。
0000番地24に識別子Xを書き込む(参照番号3
2)。
【0046】そこで、搭載されたメモリが、8Mbyt
eより大きいかどうかを調べる。
eより大きいかどうかを調べる。
【0047】CPU ADDRESS=0080000
0番地25を読み出し、読み出した値を変数Yに代入す
る(参照番号33)。
0番地25を読み出し、読み出した値を変数Yに代入す
る(参照番号33)。
【0048】この場合、実際のメモリの容量が32Mb
yteなので、アクセスされたメモリのアドレスは、0
0800000番地30になるので変数Yは、識別子X
に一致しない。
yteなので、アクセスされたメモリのアドレスは、0
0800000番地30になるので変数Yは、識別子X
に一致しない。
【0049】ここで、搭載されたメモリが、8Mbyt
eより大きいことがわかる。
eより大きいことがわかる。
【0050】次に、搭載されたメモリが16Mbyte
より大きいかどうかを調べる。
より大きいかどうかを調べる。
【0051】CPU ADDRESS=0100000
0番地26を読み出し、読み出した値を変数Yに代入す
る(参照番号34)。
0番地26を読み出し、読み出した値を変数Yに代入す
る(参照番号34)。
【0052】この場合も、実際のメモリ容量は32Mb
yteなので、アクセスされたメモリのアドレスは、0
1000000番地29になるので、変数Yは、識別子
Xに一致しない。
yteなので、アクセスされたメモリのアドレスは、0
1000000番地29になるので、変数Yは、識別子
Xに一致しない。
【0053】ここで、搭載されたメモリが、16Mby
teより大きいことがわかる。
teより大きいことがわかる。
【0054】最後に、搭載されたメモリが32Mbyt
eより大きいかどうかを調べる。
eより大きいかどうかを調べる。
【0055】CPU ADDRESS=0200000
0番地27を読み出し、読み出した値を変数Yに代入す
る(参照番号35)。
0番地27を読み出し、読み出した値を変数Yに代入す
る(参照番号35)。
【0056】この場合、実際のメモリ容量は32Mby
teなので、アクセスされたメモリのアドレスは、00
000000番地31になるので、変数Yは、識別子X
に一致する。ここで、搭載されたメモリが、32Mby
teであることがわかる。
teなので、アクセスされたメモリのアドレスは、00
000000番地31になるので、変数Yは、識別子X
に一致する。ここで、搭載されたメモリが、32Mby
teであることがわかる。
【0057】本手順により、搭載メモリの容量が検索さ
れる(参照番号36)。
れる(参照番号36)。
【0058】
【発明の効果】以上説明したように、本発明による第1
の効果は、ハードウェアの使用の簡素化によリメモリへ
ミラー領域を用いてアクセスすることができ、そのた
め、搭載メモリの容量を容易に検出することができる。
の効果は、ハードウェアの使用の簡素化によリメモリへ
ミラー領域を用いてアクセスすることができ、そのた
め、搭載メモリの容量を容易に検出することができる。
【0059】その理由は、ミラーアクセスを使用して、
CPUからの2つの異なったアドレスをアクセスすると
同一のメモリ物理アドレスをアクセスすることを使用し
てメモリのサイズを検出することができるからである。
CPUからの2つの異なったアドレスをアクセスすると
同一のメモリ物理アドレスをアクセスすることを使用し
てメモリのサイズを検出することができるからである。
【図1】本発明の実施の形態を説明するためのハードウ
ェア構成図である。
ェア構成図である。
【図2】図1のハードウェア構成の場合のCPUおよび
メモリのアドレスマップを示す図である。
メモリのアドレスマップを示す図である。
【図3】第1の実施例を説明するためのアドレスマップ
とフローチャートである。
とフローチャートである。
【図4】第2の実施例を説明するためのアドレスマップ
とフローチャートである。
とフローチャートである。
1 CPU 2 アドレスバス 3 メモリ 4 アドレスバス
Claims (4)
- 【請求項1】 メモリを搭載した装置上でソフトウェア
による簡易診断を行うことによって前記搭載したメモリ
のサイズを検出することを特徴とする搭載メモリサイズ
の検出方法。 - 【請求項2】 ミラーアクセスを利用することによって
前記搭載したメモリのサイズを検出することを特徴とす
る請求項1に記載の搭載メモリサイズの検出方法。 - 【請求項3】 前記搭載されるメモリの容量が8Mby
te、16Mbyte、32Mbyte、64Mbyt
eのいずれかであり、 CPU ADDRESSの最大搭載量64Mbyteの
境界線に所定の識別子を書き込み、 CPU ADDRESS=02000000番地を読み
出し、該読み出した値と前記識別子とを比較し、該比較
結果が一致しなかった場合には前記搭載したメモリのサ
イズが64Mbyteであるとし、一致した場合には、 CPU ADDRESS=01000000番地を読み
出し、該読み出した値を前記識別子とを比較し、該比較
結果が一致しなかった場合には前記搭載したメモリのサ
イズが32Mbyteであるとし、一致した場合には、 CPU ADDRESS=00800000番地を読み
出し、該読み出した値を前記識別子とを比較し、該比較
結果が一致しなかった場合には前記搭載したメモリのサ
イズが16Mbyteであるとし、一致した場合には前
記搭載したメモリのサイズが8Mbyteであるとする
ことを特徴とする請求項2に記載の搭載メモリサイズの
検出方法。 - 【請求項4】 前記搭載されるメモリの容量が8Mby
te、16Mbyte、32Mbyte、64Mbyt
eのいずれかであり、 CPU ADDRESSの00000000番地に所定
の識別子を書き込み、 CPU ADDRESS=00800000番地を読み
出し、該読み出した値と前記識別子とを比較し、該比較
結果が一致した場合には前記搭載したメモリのサイズが
8Mbyteであるとし、一致しなかった場合には、 CPU ADDRESS=01000000番地を読み
出し、該読み出した値と前記識別子とを比較し、該比較
結果が一致した場合には前記搭載したメモリのサイズが
16Mbyteであるとし、一致しなかった場合には、 CPU ADDRESS=02000000番地を読み
出し、該読み出した値と前記識別子とを比較し、該比較
結果が一致した場合には前記搭載したメモリのサイズが
32Mbyteであるとし、一致しなかった場合には前
記搭載したメモリのサイズが64Mbyteであるとす
ることを特徴とする請求項2に記載の搭載メモリサイズ
の検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9132408A JPH10320269A (ja) | 1997-05-22 | 1997-05-22 | 搭載メモリサイズの検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9132408A JPH10320269A (ja) | 1997-05-22 | 1997-05-22 | 搭載メモリサイズの検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10320269A true JPH10320269A (ja) | 1998-12-04 |
Family
ID=15080698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9132408A Pending JPH10320269A (ja) | 1997-05-22 | 1997-05-22 | 搭載メモリサイズの検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10320269A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013117932A (ja) * | 2011-12-05 | 2013-06-13 | Canon Inc | コントローラ、記録装置及びその処理方法 |
-
1997
- 1997-05-22 JP JP9132408A patent/JPH10320269A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013117932A (ja) * | 2011-12-05 | 2013-06-13 | Canon Inc | コントローラ、記録装置及びその処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6226732B1 (en) | Memory system architecture | |
US5606662A (en) | Auto DRAM parity enable/disable mechanism | |
KR20060051898A (ko) | 비휘발성 컴퓨터 메모리를 독출하기 위한 시스템 및 방법 | |
JP3202700B2 (ja) | 信号処理装置 | |
JPH10320269A (ja) | 搭載メモリサイズの検出方法 | |
JP2003345669A (ja) | メモリアクセスエラーを防止するシステム及び方法 | |
US20050050276A1 (en) | System and method for testing a memory | |
JP3419392B2 (ja) | メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体 | |
JP3145765B2 (ja) | 情報処理装置 | |
JP2002032352A (ja) | マルチプロセッサシステム | |
JPH04243446A (ja) | キャッシュ登録制御装置 | |
JPS58201157A (ja) | バンクメモリの制御回路 | |
JP3036449B2 (ja) | メモリ診断装置 | |
JP3047839B2 (ja) | シングルチップ・マイクロコンピュータ | |
JPH03294950A (ja) | 接続装置 | |
JPH05165658A (ja) | 情報処理システム | |
JPS62237545A (ja) | メモリアクセス制御装置 | |
JPH0689199A (ja) | キャッシュ機能診断方法 | |
JPS59139199A (ja) | 記憶保護方式 | |
JPH04167154A (ja) | 情報処理装置用増設記憶装置の記憶容量検出方法 | |
JPH0398112A (ja) | ミラードディスクシステム | |
JPH04235647A (ja) | Ramカードのメモリ容量検出装置 | |
JPH01219933A (ja) | バスウィンドウ回路 | |
JPH08221330A (ja) | メモリモジュール容量判別方式 | |
JPH0659900A (ja) | メモリ書込装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19991207 |