JP2003323313A - コンピュータ及びその処理方法 - Google Patents

コンピュータ及びその処理方法

Info

Publication number
JP2003323313A
JP2003323313A JP2002128882A JP2002128882A JP2003323313A JP 2003323313 A JP2003323313 A JP 2003323313A JP 2002128882 A JP2002128882 A JP 2002128882A JP 2002128882 A JP2002128882 A JP 2002128882A JP 2003323313 A JP2003323313 A JP 2003323313A
Authority
JP
Japan
Prior art keywords
memory
read
program
address
rom
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
JP2002128882A
Other languages
English (en)
Inventor
Isao Sasazaki
勲 笹崎
Masayuki Okamoto
雅之 岡本
Toshibumi Yamagami
俊文 山上
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002128882A priority Critical patent/JP2003323313A/ja
Publication of JP2003323313A publication Critical patent/JP2003323313A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 フラッシュメモリにおけるプログラムの更新
を容易且つ確実に行うようにする。 【解決手段】 ROM4の領域4a、4bを分割し、分
割した領域4a、4bごとにフラッシュROM3又はR
OM4の何れを読み出すかを設定する領域設定レジスタ
71を設けることにより、上記分割した領域4a、4b
ごとにブートプログラムBPの書き込みが正常に完了し
たか否かを判定するようにして、CPU2のアクセス空
間が狭い場合であっても、フラッシュROM3に対して
ブートプログラムBPを容易且つ確実に書き込むことが
できるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ及び
その処理方法に関し、特に、プログラムの更新を行うた
めに用いて好適なものである。
【0002】
【従来の技術】一般に、コンピュータに搭載される中央
処理装置(Central Processing Unit;以下、CPUと
称する)は、電源が投入されると、リセットベクタにお
ける命令から処理を開始する。このため、上記リセット
ベクタから命令が始まるブートプログラムは、電源が遮
断されても記憶内容を保持することができるROM(Re
ad only Memory)に記憶されることが多い。
【0003】しかしながら、上記ROMに記憶したブー
トプログラムを更新する場合には、上記ROMを基板か
ら外さなければならず、ブートプログラムの更新に際し
非常に多くの手間を要していた。
【0004】このような不都合を解消するために、上記
ROMの代わりにフラッシュROMを使用する技術が多
く用いられている。上記フラッシュROMは、プログラ
ムを電気的に再書き込みすることが可能である。したが
って、上記フラッシュROMを基板から外さなくてもプ
ログラムを更新することができ好ましい。
【0005】
【発明が解決しようとする課題】しかしながら、上記リ
セットベクタから始まるブートプログラムを記憶するた
めにフラッシュROMを使用したシステムでは、上記フ
ラッシュROMにプログラムが書き込まれていないとC
PUが動作を行えなくなってしまう。このため、基板に
取り付ける前に予めプログラムをフラッシュROMに書
き込まなければならず、手間を要してしまうという問題
点があった。
【0006】また、一般にフラッシュROMには基本入
出力システム(Basic Input OutputSystem;以下、BIOS
と称する)が存在しているため、上記フラッシュROM
に記憶したブートプログラムを更新するときに上記BIOS
も書き換えてしまう虞があり、その場合、CPUが暴走
してしまうという問題点があった。
【0007】このような問題点に対し、内蔵ROMに記
憶されているダウンロード用プログラムを起動させてフ
ラッシュROMにブートプログラムをダウンロードする
技術がある。図7に示すように、フラッシュROM20
0は、内蔵ROM100とアドレス空間を共有している
メモリ領域200aと、内蔵ROM100とアドレス空
間を共有していないメモリ領域200bとを有してい
る。このため、上記従来の技術では、上記内蔵ROM1
00とアドレス空間を共有しているメモリ領域200a
を、内蔵ROM100及びフラッシュROM200の何
れもが属していないアドレス空間に割り当ててフラッシ
ュROM200にブートプログラムを書き込むようにし
ていた。
【0008】しかしながら、上述したようにフラッシュ
ROM200のメモリ領域200aを別のアドレス空間
に割り当ててブートプログラムの書き込みを行うと、ブ
ートプログラムを更新するために必要なアドレス空間が
大きくなってしまうという問題点があった。
【0009】このように、ブートプログラムを更新する
ために必要なアドレス空間が大きくなってしまうと、C
PUが管理することのできるアドレス空間よりもブート
プログラムを更新するために必要なアドレス空間が大き
くなる虞があり、CPUがフラッシュROM200のメ
モリ領域200aの全部又は一部にアクセスすることが
できなくなってしまうなどの事態を招来してしまう虞が
あった。
【0010】本発明は、上述の問題点に鑑み、フラッシ
ュメモリ(フラッシュROM)におけるブートプログラ
ムの更新を容易且つ確実に行うようにすることを第1の
目的とする。
【0011】また、フラッシュメモリ(フラッシュRO
M)におけるブートプログラムの更新のために必要なア
ドレス空間を小さくすることができるようにすることを
第2の目的とする。
【0012】
【課題を解決するための手段】本発明は、上記の課題を
解決するため、以下の態様を備える。本発明の第1の態
様は、ブートプログラムを外部から入力するプログラム
入力手段と、書き込み用プログラムを記憶する読み出し
専用メモリと、上記読み出し専用メモリに対して一部又
は全部のアドレス空間を共有するフラッシュメモリと、
上記読み出し専用メモリから書き込み用プログラムを読
み出して実行することにより、上記読み出し専用メモリ
に対してアドレス空間を共有しているフラッシュメモリ
に、上記入力したブートプログラムを書き込むブートプ
ログラム書き込み手段とを有することを特徴としてい
る。
【0013】また、本発明の第2の態様は、ブートプロ
グラムを外部から入力するプログラム入力処理と、上記
プログラム入力処理により入力したブートプログラムを
書き込むための書き込み用プログラムを記憶している読
み出し専用メモリから書き込み用プログラムを読み出し
て実行し、上記読み出し専用メモリとアドレス空間を共
有しているフラッシュメモリに、上記入力したブートプ
ログラムを書き込むブートプログラム書き込み処理とを
行うことを特徴としている。
【0014】かかる第1及び第2の態様では、読み出し
専用メモリに記憶されている書き込み用プログラムを実
行すると、上記読み出し専用メモリとアドレス空間を共
有しているフラッシュメモリにブートプログラムが書き
込まれるようにする。
【0015】また、第1の態様の他の特徴とするところ
は、上記プログラム入力手段で入力したブートプログラ
ムを蓄積するバッファ用メモリと、上記読み出し専用メ
モリと上記フラッシュメモリが共有しているアドレス空
間を分割し、上記分割したアドレス空間それぞれに対し
て、フラッシュメモリ又は読み出し専用メモリのうち何
れが読み出し可能であるかを設定するメモリ設定手段
と、上記メモリ設定手段によりフラッシュメモリが読み
出し可能であると設定されたアドレス空間にアクセスし
て上記フラッシュメモリからブートプログラムを読み出
すとともに、上記バッファ用メモリに蓄積されたブート
プログラムを読み出して、上記読み出した各ブートプロ
グラムの一致又は不一致を判定する判定手段とをさらに
有する点にある。
【0016】かかる構成では、読み出し専用メモリとフ
ラッシュメモリとが共有しているアドレス空間を分割し
て得られる複数のアドレス空間それぞれに対して、フラ
ッシュメモリを読み出し可能にするか、読み出し専用メ
モリを読み出し可能にするかを設定して、上記読み出し
専用メモリとフラッシュメモリとが共有しているアドレ
ス空間について、フラッシュメモリと読み出し専用メモ
リのそれぞれの記憶内容を読み出すようにする。
【0017】また、本発明の第1の態様のその他の特徴
とするところは、上記メモリ設定手段は、上記分割する
個々のアドレス空間を異ならせて、上記読み出し専用メ
モリと上記フラッシュメモリが共有しているアドレス空
間を分割する点にある。
【0018】かかる構成では、分割する個々のアドレス
空間が可変になるようにする。
【0019】また、第1の態様のその他の特徴とすると
ころは、上記プログラム入力手段で入力したブートプロ
グラムを蓄積するバッファ用メモリと、上記読み出し専
用メモリと上記フラッシュメモリが共有しているアドレ
ス空間を分割し、上記分割したアドレス空間に対してプ
ログラムとして読み出すか又はデータとして読み出すか
を指定してアクセスし、データとして読み出すことを指
定してアクセスしたときに、上記読み出し専用メモリ及
び上記フラッシュメモリのうちフラッシュメモリを選択
して上記フラッシュメモリからブートプログラムを読み
だすとともに、上記バッファ用メモリに蓄積されたブー
トプログラムを読み出して、上記読み出した各ブートプ
ログラムの一致又は不一致を判定する判定手段とをさら
に有する点にある。
【0020】かかる構成では、プログラムとして読み出
すか又はデータとして読み出すかを指定して、読み出し
専用メモリとフラッシュメモリとが共有するアドレス空
間にアクセスし、データとして読み出すと指定したとき
にフラッシュメモリからブートプログラムを読み出して
バッファ用メモリのブートプログラムとの比較を行う。
【0021】
【発明の実施の形態】(第1の実施の形態)次に、添付
の図面を参照しながら、本発明の第1の実施の形態であ
るコンピュータ及びその処理方法について説明する。
【0022】図1は、本発明の第1の実施の形態を示
し、コンピュータの概略構成の一例を示したブロック図
である。図1において、コンピュータ1は、コンピュー
タ1を統括制御するCPU2と、フラッシュROM(フ
ラッシュメモリ)3と、読み出し専用メモリとして配設
されるROM4と、プログラム入力部5と、バッファ用
メモリとして配設されるRAM6と、アドレスデコーダ
7と、セレクタ8と、内部バス10とを有している。
【0023】そして、CPU2、フラッシュROM3、
ROM4、プログラム入力部5、RAM6、アドレスデ
コーダ7、及びセレクタ8は、内部バス10を介して電
気的に相互に接続されている。また、コンピュータ1の
外部に配設される表示器9は、内部バス10を介してコ
ンピュータ1に接続される。
【0024】また、本実施の形態のコンピュータ1で
は、外部に配設されているスイッチ11の操作に従って
生成される外部設定信号S1に基づいて、通常運用モー
ド及びダウンロードモードのうちの何れかのモードが選
択される。
【0025】ここで、通常運用モードとは、フラッシュ
ROM3に記憶されているブートプログラムBPを実行
して処理を行うモードである。また、ダウンロードモー
ドとは、外部からLAN12などの通信媒体を介してプ
ログラム入力部5に入力したブートプログラムの更新用
データBPをフラッシュROM3に書き込むなどの処理
を行うモードである。なお、以下では上記ブートプログ
ラムの更新用データBPを、ブートプログラムBPと称
する。
【0026】フラッシュROM3は、上述したように通
常運用モードにおいて実行されるブートプログラムBP
を記憶する機能を有する。ROM4は、上記ダウンロー
ドモードにおいて実行されるプログラムを記憶する機能
を有する。具体的に説明すると、ROM4は、外部から
プログラム入力部5に入力されてその後にRAM6に蓄
積されるブートプログラムBPを、フラッシュROM3
に書き込むときに実行される書き込み用プログラムDP
と、フラッシュROM3にブートプログラムBPが正常
に書き込まれたか否かを判定するときに実行される判定
用プログラムCP1、CP2とを記憶する機能を有す
る。なお、判定用プログラムCP1、CP2は、同様の
内容のものであり、ROM4の記憶領域4a、4bそれ
ぞれに記憶される(図2を参照)。
【0027】図2は、本実施の形態におけるフラッシュ
ROM3とROM4の記憶領域の概念図である。図2に
示すように、フラッシュROM3とROM4は、0番地
からFFFFF番地までアドレス空間を共有している。
そして、本実施の形態では、このフラッシュROM3と
ROM4とが共有しているアドレス空間を、0番地から
FFFF番地までのアドレス空間と、FFFF番地から
FFFFF番地までのアドレス空間の2つに分割してい
る。
【0028】このように、本実施の形態のコンピュータ
1では、フラッシュROM3の記憶領域3aとROM4
の記憶領域4aとが、0番地からFFFF番地までアド
レス空間を共有し、フラッシュROM3の記憶領域3b
とROM4の記憶領域4bとが、FFFF番地からFF
FFF番地までアドレス空間を共有している。また、フ
ラッシュROM3は、ROM4の記憶領域4a、4bと
アドレス空間を共有しない記憶領域3cを、FFFFF
番地から始まるアドレス空間に有している。
【0029】そして、上記フラッシュROM3とROM
4とが共有しているアドレス空間にはCPU2のリセッ
トベクタが1つ存在している。このリセットベクタは、
CPU2にリセット信号が入力した時やコンピュータ1
の立ち上げ時などにCPU2が最初にアクセスするアド
レスである。
【0030】次に、図1を参照しながら、フラッシュR
OM3又はROM4に記憶されているプログラムやデー
タの読み出しを行う際にコンピュータ1で行われる処理
について説明する。まず、CPU2は、アドレス信号A
SをフラッシュROM3、ROM4、RAM6、及びア
ドレスデコーダ7に出力する。
【0031】アドレスデコーダ7は、CPU2から入力
したアドレス信号ASに基づいてフラッシュROM3及
びROM4を選択するチップセレクト信号CS1を生成
して、フラッシュROM3及びROM4に出力する。そ
して、フラッシュROM3及びROM4は、上記チップ
セレクト信号CS1に基づいて上記アドレス信号ASで
示されるアドレス空間に記憶されているプログラムやデ
ータをセレクタ8に出力する。
【0032】また、アドレスデコーダ7は、領域設定レ
ジスタ71に設定されている内容に基づいて、フラッシ
ュROM3又はROM4の何れかを選択するセレクト信
号SSを生成してセレクタ8に出力する。
【0033】ここで、上記領域設定レジスタ71の構成
について説明する。図3は、領域設定レジスタ71の概
念図である。領域設定レジスタ71はビット71a、7
1bを有している。
【0034】ビット71aは、図2に示したフラッシュ
ROM3とROM4が共有するアドレス空間のうちの0
番地からFFFF番地までのアドレス空間について、R
OM4の記憶領域4aに記憶されている内容を読み出し
可能にするのか、又はフラッシュROM3の記憶領域3
aに記憶されている内容を読み出し可能にするのかを設
定するためのものである。本実施の形態では、ビット7
1aに1が設定されているときに0番地からFFFF番
地までのアドレス空間にアクセスすると、フラッシュR
OM3の記憶領域3aを読み出すことが可能になり、0
が設定されているときにアドレス0番地からFFFF番
地までのアドレス空間にアクセスすると、ROM4の記
憶領域4aを読み出すことが可能になるようにしてい
る。
【0035】ビット71bは、図2に示したフラッシュ
ROM3とROM4が共有するアドレス空間のうち、F
FFF番地からFFFFF番地までのアドレス空間につ
いて、ROM4の記憶領域4bに記憶されている内容を
読み出し可能にするのか、又はフラッシュROM3の記
憶領域3bに記憶されている内容を読み出し可能にする
のかを設定するためのものである。本実施の形態では、
ビット71bに1が設定されているときにFFFF番地
からFFFFF番地までのアドレス空間にアクセスする
と、フラッシュROM3の記憶領域3bを読み出すこと
が可能になり、0が設定されているときにアドレスFF
FF番地からFFFFF番地までのアドレス空間にアク
セスすると、ROM4の記憶領域4bを読み出すことが
可能になるようにしている。
【0036】このように、アドレスデコーダ7は、領域
設定レジスタ71のビット71a、71bに1が設定さ
れているときはフラッシュROM3を選択するセレクト
信号SSを生成し、0が設定されているときはROM4
を選択するセレクト信号SSを生成してセレクタ8に出
力する。なお、ビット71a、71bには、CPU2か
ら出力される領域設定データD3に基づいた値が書き込
まれる。
【0037】図1に戻り、セレクタ8は、上述したよう
にしてアドレスデコーダ7から出力されるセレクト信号
SSに基づいて、フラッシュROM3及びROM4のう
ち何れか一方に記憶されているプログラムやデータをC
PU2に出力する。こうして、CPU2は、フラッシュ
ROM3又はROM4に記憶されているプログラムやデ
ータを読み出す。
【0038】プログラム入力部5は、例えばシリアルポ
ートやパラレルポートであり、LAN12などの通信媒
体に電気的に接続され、フラッシュROM3に記憶され
るブートプログラムBPをLAN12から入力する機能
を有する。また、プログラム入力部5はステータスレジ
スタ5aを有しており、CPU2は、上記ステータスレ
ジスタ5aのステータスビットを参照することにより、
プログラム入力部5がブートプログラムBPを入力した
ことを認識する。
【0039】以下に、プログラム入力部5に入力したブ
ートプログラムBPをRAM6に蓄積し、上記蓄積した
ブートプログラムBPをフラッシュROM3に書き込む
ときにコンピュータ1で行われる処理について具体的に
説明する。まず、上記外部設定信号S1によってダウン
ロードモードであることが選択されると、アドレスデコ
ーダ7は、レディ信号RSをCPU2に出力しダウンロ
ードモードで処理を行うことをCPU2に伝える。
【0040】レディ信号を入力したCPU2は、ダウン
ロードモードで処理を行うことを認識し、書き込み用プ
ログラムDPが記憶されているアドレス空間を示すアド
レス信号ASをフラッシュROM3、ROM4、RAM
6、及びアドレスデコーダ7に出力する。また、CPU
2は、ROM4の書き込み用プログラムDPが記憶され
ている記憶領域を指定する領域設定データD3を生成し
てアドレスデコーダ7に出力する。
【0041】アドレスデコーダ7は、アドレス信号AS
に基づいてチップセレクト信号CS1を生成してフラッ
シュROM3及びROM4に出力する。ROM4は、上
記チップセレクト信号CS1に基づいて上記アドレス信
号ASで示されるアドレス空間に記憶されている書き込
み用プログラムDPをセレクタ8に出力する。
【0042】また、アドレスデコーダ7は、上記領域設
定データD3の内容に基づいて、領域設定レジスタ71
のビット71a及びビット71bに0を設定する。アド
レスデコーダ7は、この設定に基づいてROM4を選択
するセレクト信号SSを生成してセレクタ8に出力す
る。
【0043】さらに、アドレスデコーダ7は、セレクト
信号SSを出力してから所定時間が経過した後に、上記
レディ信号RSをCPU2に出力し、書き込み用プログ
ラムDPが出力されることをCPU2に伝える。
【0044】セレクタ8は、上記ROM4を選択するセ
レクト信号SSに基づいてROM4を選択して、ROM
4に記憶されている書き込み用プログラムDPをCPU
2に出力する。これにより、CPU2は書き込み用プロ
グラムDPの実行を開始する。
【0045】書き込み用プログラムDPの実行を開始し
たCPU2は、プログラム入力部5のステータスビット
5aを参照してプログラム入力部5にブートプログラム
BPが入力したことを認識すると、DRAMやSRAM
などにより構成されるRAM6にブートプログラムBP
を展開する。これにより、RAM6にブートプログラム
BPが蓄積される。
【0046】RAM6に更新用データが蓄積された後、
CPU2は、フラッシュROM3、ROM4、RAM
6、及びアドレスデコーダ7にRAM6を指定するアド
レス信号ASを出力する。アドレスデコーダ7は上記ア
ドレス信号ASに基づいてRAM6を指定するチップセ
レクト信号CS2を生成し、RAM6に出力する。RA
M6は、上記チップセレクト信号CS2に基づいて上記
アドレス信号ASで示されるアドレス空間に記憶されて
いるブートプログラムBPをCPU2に出力する。こう
して、CPU2はRAM6に蓄積されたブートプログラ
ムBPを読み出す。
【0047】そして、CPU2は、フラッシュROM3
の記憶領域3a〜3cに対応するアドレス空間を示すア
ドレス信号ASをフラッシュROM3、ROM4、RA
M6、及びアドレスデコーダ7に出力する。
【0048】アドレス信号ASを入力したアドレスデコ
ーダ7は、チップセレクト信号CS1を生成してフラッ
シュROM3及びROM4に出力し、出力後、所定時間
が経過してからレディ信号RSを出力する。レディ信号
ASを入力したCPU2は、RAM6から読み出したブ
ートプログラムBPをフラッシュROM3の記憶領域3
a〜3cに書き込む。このように、ブートプログラムB
Pは全てフラッシュROMの記憶領域3a〜3cに書き
込まれる。
【0049】なお、本実施の形態では、CPU2を用い
てブートプログラムBPをフラッシュROM3に書き込
むようにしたが、DMAC(Direct Memory Access Control
ler)などを用いてブートプログラムBPをRAM6に
蓄積し、フラッシュROM3に書き込むようにしてもよ
い。
【0050】次に、図1を参照しながら、フラッシュR
OM3に書き込まれたブートプログラムBPを実行する
通常運用モードにおける処理について具体的に説明す
る。まず、アドレスデコーダ7は、上記外部設定信号S
1によって通常運用モードであることが選択されている
と、レディ信号RSをCPU2に出力し通常運用モード
で処理を行うことをCPU2に伝える。
【0051】レディ信号を入力したCPU2は、通常運
用モードで処理を行うことを認識する。そして、CPU
2は、フラッシュROM3のブートプログラムBPが記
憶されている記憶領域に対応するアドレス空間を示すア
ドレス信号ASを、フラッシュROM3、ROM4、R
AM6、及びアドレスデコーダ7に出力する。
【0052】また、CPU2は、フラッシュROM3の
ブートプログラムBPが記憶されている記憶領域を指定
する領域設定データD3を生成してアドレスデコーダ7
に出力する。
【0053】アドレスデコーダ7は、上記領域設定デー
タD3の内容に基づいて、領域設定レジスタ71のビッ
ト71a及びビット71bに1を設定する。そして、ア
ドレスデコーダ7は、アドレス信号ASに基づいてチッ
プセレクト信号CS1を生成してフラッシュROM3及
びROM4に出力する。チップセレクト信号CS1を入
力したフラッシュROM3は、上記アドレス信号ASで
示されるアドレス空間に記憶されているブートプログラ
ムBPをセレクタ8に出力する。
【0054】また、アドレスデコーダ7は、CPU2か
ら入力したアドレス信号ASに基づいて、フラッシュR
OM3を選択するセレクト信号SSを生成してセレクタ
8に出力する。さらに、アドレスデコーダ7は、セレク
ト信号SSを出力してから所定時間が経過した後に、上
記レディ信号RSをCPU2に出力し、フラッシュRO
M3に記憶されているブートプログラムBPが出力され
ることをCPU2に伝える。
【0055】セレクタ8は、上記フラッシュROM3を
選択するセレクト信号SSに基づいてフラッシュROM
3を選択して、フラッシュROM3に記憶されているブ
ートプログラムBPをCPU2に出力する。これによ
り、CPU2はブートプログラムBPの実行を開始す
る。
【0056】次に、図1のブロック図及び図4のフロー
チャートを参照しながら、ダウンロードモードにおける
本実施の形態のコンピュータ1の動作について説明す
る。なお、外部から入力したブートプログラムBPをフ
ラッシュROM3に書き込む処理は上述した通りである
ので、ここでは、フラッシュROM3にブートプログラ
ムBPを書き込んだ後の処理を中心に説明する。
【0057】まず、最初のステップS1において、オペ
レータはスイッチ11を操作してダウンロードモードに
設定する。そして、アドレスデコーダ7はこのスイッチ
11の操作に従って生成される外部設定信号S1に基づ
いて、ダウンロードモードが選択されたことをCPU2
に通知する。
【0058】次に、ステップS2において、CPU2
は、上述したようにしてROM4に記憶されている書き
込み用プログラムDPを読み出して実行を開始する。な
お、上述したように、このステップS2の処理で領域設
定レジスタ71のビット71aとビット71bを0に設
定する。
【0059】次に、ステップS3において、CPU2
は、プログラム入力部5に入力したブートプログラムB
PをRAM6に蓄積する。次に、ステップS4におい
て、CPU2はRAM6に蓄積されたブートプログラム
BPをフラッシュROM3に書き込む。
【0060】次に、ステップS5において、CPU2
は、ROM4の領域4a内の判定用プログラムCP1が
記憶されている記憶領域に対応するアドレス空間を示す
アドレス信号ASをフラッシュROM3、ROM4、R
AM6、及びアドレスデコーダ7に出力する。
【0061】アドレスデコーダ7は、CPU2から入力
したアドレス信号ASに基づいてチップセレクト信号C
S1を生成してフラッシュROM3及びROM4に出力
する。チップセレクト信号CS1を入力したROM4
は、記憶領域4aに記憶されている判定用プログラムC
P1をセレクタ8に出力する。
【0062】さらに、アドレスデコーダ7は、ステップ
S2の処理で設定された領域設定レジスタ71を参照し
てビット71a、ビット71bに0が設定されているこ
とを確認し、ROM4を選択するセレクト信号SSを生
成してセレクタ8に出力する。
【0063】セレクタ8は、上記セレクト信号SSに基
づいてROM4を選択して、ROM4の記憶領域4aに
記憶されている判定用プログラムCP1をCPU2に出
力する。これにより、CPU2は判定用プログラムCP
1の実行を開始する。
【0064】そして、CPU2は、フラッシュROM3
の記憶領域3cに対応するアドレス空間を示すアドレス
信号ASをフラッシュROM3、ROM4、RAM6、
及びアドレスデコーダ7に出力する。
【0065】アドレスデコーダ7は、CPU2から入力
したアドレス信号ASに基づいてチップセレクト信号C
S1を生成してフラッシュROM3及びROM4に出力
する。チップセレクト信号CS1を入力したフラッシュ
ROM3は、記憶領域3cに記憶されているブートプロ
グラムBPをセレクタ8に出力する。
【0066】さらに、アドレスデコーダ7は、CPU2
から入力したアドレス信号ASに基づいてフラッシュR
OM3を選択するセレクト信号SSを生成してセレクタ
8に出力する。セレクタ8は、上記フラッシュROM3
を選択するセレクト信号SSに基づいて、フラッシュR
OM3の記憶領域3cに記憶されているブートプログラ
ムBPをCPU2にする。
【0067】そして、CPU2は、RAM6の記憶領域
に対応するアドレス空間を示すアドレス信号ASをフラ
ッシュROM3、ROM4、RAM6、及びアドレスデ
コーダ7に出力する。アドレスデコーダ7は、CPU2
から入力したアドレス信号ASに基づいてチップセレク
ト信号CS2を生成してRAM6に出力する。チップセ
レクト信号CS2を入力したRAM6は、ブートプログ
ラムBPをCPU2に出力する。
【0068】以上の動作により、CPU2は、フラッシ
ュROM3の記憶領域3cに書き込まれたブートプログ
ラムBPと、RAM6に蓄積されているブートプログラ
ムBPを読み出して比較し、両者が一致したか否かを判
定する。判定の結果、一致していればステップS6に進
み、一致していなければ後述するステップS13に進
む。
【0069】次に、ステップS6において、CPU2
は、ROM4の領域4a内の判定用プログラムCP1が
記憶されている記憶領域に対応するアドレス空間を示す
アドレス信号ASをフラッシュROM3、ROM4、R
AM6、及びアドレスデコーダ7に出力する。
【0070】アドレスデコーダ7は、CPU2から入力
したアドレス信号ASに基づいてチップセレクト信号C
S1を生成してフラッシュROM3及びROM4に出力
する。チップセレクト信号CS1を入力したROM4
は、記憶領域4aに記憶されているプログラム判定用プ
ログラムCP1をセレクタ8に出力する。
【0071】さらに、アドレスデコーダ7は、ステップ
S2の処理で設定された領域設定レジスタ71を参照し
てビット71a、71bに0が設定されていることを確
認し、ROM4を選択するセレクト信号SSを生成して
セレクタ8に出力する。
【0072】セレクタ8は、上記ROM4を選択するセ
レクト信号SSに基づいてROM4を選択して、ROM
4の記憶領域4aに記憶されている判定用プログラムC
P1をCPU2に出力する。これにより、CPU2は判
定用プログラムCP1の実行を開始する。
【0073】そして、CPU2は、フラッシュROM3
の記憶領域3bに対応するアドレス空間を示すアドレス
信号ASをフラッシュROM3、ROM4、RAM6、
及びアドレスデコーダ7に出力する。また、CPU2
は、フラッシュROM3の記憶領域3bを指定するため
の領域設定データD3を生成してアドレスデコーダ7に
出力する。
【0074】そして、アドレスデコーダ7は、上記領域
設定データD3の内容に基づいて、領域設定レジスタ7
1のビット71aを0に、ビット71bを1にそれぞれ
設定する。
【0075】また、アドレスデコーダ7は、CPU2か
ら入力したアドレス信号ASに基づいてチップセレクト
信号CS1を生成してフラッシュROM3及びROM4
に出力する。チップセレクト信号CS1を入力したフラ
ッシュROM3は、記憶領域3bに記憶されているブー
トプログラムBPをセレクタ8に出力する。
【0076】さらに、アドレスデコーダ7は、CPU2
から入力したアドレス信号ASに示されているアドレス
空間と、領域設定レジスタ71のビット71aに0、ビ
ット71bに1が設定されていることとを確認し、フラ
ッシュROM3を選択するセレクト信号SSを生成して
セレクタ8に出力する。セレクタ8は、上記フラッシュ
ROM3を選択するセレクト信号SSに基づいてフラッ
シュROM3を選択して、フラッシュROM3の記憶領
域3bに書き込まれているブートプログラムBPをCP
U2に出力する。
【0077】そして、CPU2は、RAM6の記憶領域
に対応するアドレス空間を示すアドレス信号ASをフラ
ッシュROM3、ROM4、RAM6、及びアドレスデ
コーダ7に出力する。
【0078】アドレスデコーダ7は、CPU2から入力
したアドレス信号ASに基づいてチップセレクト信号C
S2を生成してRAM6に出力する。チップセレクト信
号CS2を入力したRAM6はブートプログラムBPを
CPU2に出力する。
【0079】次に、ステップS7において、CPU2
は、フラッシュROM3の記憶領域3bに書き込まれた
ブートプログラムBPと、RAM6に蓄積されているブ
ートプログラムBPの内容とを比較し、両者が一致する
か否かを判定する。判定の結果、一致していればステッ
プS8に進み、一致していなければ後述するステップS
13に進む。
【0080】そして、ステップS8において、CPU2
は、ROM4の全領域を設定するための領域設定データ
D3を生成してアドレスデコーダ7に出力する。そし
て、アドレスデコーダ7は、上記出力された領域設定デ
ータD3の内容に基づいて、領域設定レジスタ71のビ
ット71a及びビット71bを0に設定する。
【0081】次に、ステップS9において、CPU2
は、判定用プログラムCP1の命令に基づいてROM4
の処理領域を記憶領域4aから記憶領域4bに移行し、
ROM4の記憶領域4bに記憶されている判定用プログ
ラムCP2を読み出すことが可能な状態にする。
【0082】次に、ステップS10において、CPU2
は、判定用プログラムCP2が記憶されているROM4
の記憶領域4bに対応するアドレス空間を示すアドレス
信号ASをフラッシュROM3、ROM4、RAM6、
及びアドレスデコーダ7に出力する。
【0083】アドレスデコーダ7は、CPU2から入力
したアドレス信号ASに基づいてチップセレクト信号C
S1を生成してフラッシュROM3及びROM4に出力
する。チップセレクト信号CS1を入力したROM4
は、記憶領域4bに記憶されているプログラムCP2を
セレクタ8に出力する。
【0084】さらに、アドレスデコーダ7は、領域設定
レジスタ71のビット71a及びビット71bに0が設
定されていることを確認し、ROM4を選択するセレク
ト信号SSを生成してセレクタ8に出力する。
【0085】セレクタ8は、上記ROM4を選択するセ
レクト信号SSに基づいてROM4を選択して、ROM
4の記憶領域4bに記憶されている判定用プログラムC
P2をCPU2に出力する。これにより、CPU2は判
定用プログラムCP2の実行を開始する。
【0086】そして、CPU2は、フラッシュROM3
の記憶領域3a内のブートプログラムBPが記憶されて
いる記憶領域に対応するアドレス空間を示すアドレス信
号ASをフラッシュROM3、ROM4、RAM6、及
びアドレスデコーダ7に出力する。また、CPU2は、
フラッシュROM3の記憶領域3aを指定するための領
域設定データD3を生成してアドレスデコーダ7に出力
する。
【0087】アドレスデコーダ7は、CPU2から入力
した領域設定データD3の内容に基づいて、領域設定レ
ジスタ71のビット71aを1に、ビット71bを0に
それぞれ設定する。
【0088】そして、アドレスデコーダ7は、CPU2
から入力したアドレス信号ASに基づいてチップセレク
ト信号CS1を生成してフラッシュROM3及びROM
4に出力する。チップセレクト信号CS1を入力したフ
ラッシュROM3は、記憶領域3aに記憶されているブ
ートプログラムBPをセレクタ8に出力する。
【0089】さらに、アドレスデコーダ7は、CPU2
から入力したアドレス信号ASに示されているアドレス
空間と、領域設定レジスタ71のビット71aに1、ビ
ット71bに0が設定されていることとを確認し、フラ
ッシュROM3を選択するセレクト信号SSを生成して
セレクタ8に出力する。セレクタ8は、上記フラッシュ
ROM3を選択するセレクト信号SSに基づいて、フラ
ッシュROM3を選択して、フラッシュROM3の記憶
領域3aに書き込まれているブートプログラムBPをC
PU2に出力する。
【0090】また、CPU2は、RAM6の記憶領域に
対応するアドレス空間を示すアドレス信号ASをフラッ
シュROM3、ROM4、RAM6及びアドレスデコー
ダ7に出力する。
【0091】アドレスデコーダ7は、CPU2から入力
したアドレス信号ASに基づいてチップセレクト信号C
S2を生成してRAM6に出力する。チップセレクト信
号CS2を入力したRAM6は、ブートプログラムBP
をCPU2に出力する。
【0092】次に、ステップS11において、CPU2
は、フラッシュROM3の記憶領域3aに書き込まれた
ブートプログラムBPと、RAM6に蓄積されているブ
ートプログラムBPの内容を比較し両者が一致するか否
かを判定する。判定の結果、一致していれば、ステップ
S12の処理に進み、CPU2は表示器9の緑色のLE
Dを発光させダウンロードが正常に完了したことを通報
し処理を終える。
【0093】一方、ステップS5、S7、S11におい
て、フラッシュROM3にダウンロードした内容とRA
M6の内容とが一致していなければステップS13に進
み、CPU2は表示器9の赤色のLEDを発行させダウ
ンロードが正常に完了しなかったことを通報し、ステッ
プS2の処理に戻り、再びブートプログラムBPの書き
込み処理を行う。
【0094】以上のように、本実施の形態では、外部か
ら入力したブートプログラムBPをRAM6に蓄積して
からフラッシュROM3に書き込み、書き込んだブート
プログラムBPを、領域設定レジスタ71の内容に基づ
いて読み出し、読み出したブートプログラムBPとRA
M6から読み出したブートプログラムBPとを比較して
フラッシュROM3にブートプログラムBPが正常に書
き込まれたか否かを判定するようにしたので、図7に示
した従来の技術のように、ROM100とアドレス空間
を共有するフラッシュROM200の領域200aを、
ROM100及びフラッシュROM200の何れもが属
していないアドレス空間に割り当てる必要がなくなる。
このため、CPU2のアクセス空間が狭い場合であって
も、フラッシュROM3に更新用データBPを容易且つ
確実にダウンロードすることができる。
【0095】また、フラッシュROM3へのダウンロー
ドが正常に完了しなかった場合でも、再度ROM4の書
き込み用プログラムDPを起動させ、書き込みを行うよ
うにしたので、コンピュータ1を迅速に正常な状態に復
帰させることができる。
【0096】なお、本実施の形態では、図4のステップ
S13において、ダウンロードが正常に完了しなかった
場合に、ステップS2の処理に戻るようにしたが、例え
ばステップS4の処理に戻るようにしてもよい。
【0097】また、本実施の形態では、アドレス共有領
域を2つに分割した場合について説明したが、アドレス
共有領域を3つ以上に分割してもよいということは言う
までもない。
【0098】さらに、本実施の形態では、ブートプログ
ラムBPが正常に書き込まれたか否かの判定をフラッシ
ュROM3の記憶領域3cから行うようにしたが、上記
判定の順序は本実施の形態で説明したものに限定されな
い。また、図1に示したコンピュータ1を半導体基板上
に集積化して、1つのLSI(Large Scale Integrated
circuit)として形成するようにしてもよい。
【0099】(第2の実施の形態)次に、本発明の第2
の実施の形態であるコンピュータ及びその処理方法につ
いて説明する。
【0100】本実施の形態のコンピュータは、上述した
第1の実施の形態のコンピュータ1におけるアドレスデ
コーダ7の内容が異なるだけである。したがって、上述
した第1の実施の形態と同一部分については図1に示し
た符号を付して詳細な説明を省略する。
【0101】本実施の形態のコンピュータは、アドレス
デコーダ7が上述した領域設定レジスタ71に加えて領
域設定ベースレジスタと領域設定レングスレジスタを備
える構成である。
【0102】図5は、上記領域設定レジスタ71、領域
設定ベースレジスタ72、及び領域設定レングスレジス
タ73の概念図である。図6は、図5で示す領域設定レ
ジスタ71、領域設定ベースレジスタ72、及び領域設
定レングスレジスタ73により設定されるフラッシュR
OM3とRAM4の領域を説明するための概念図であ
る。
【0103】図5において、領域設定ベースレジスタ7
2は、フラッシュROM3とROM4とが共有している
アドレス空間の所定のアドレス(以下、先頭アドレスと
称する)を設定するためのレジスタである。具体的に説
明すると、本実施の形態では、3つの先頭アドレス72
d〜72fを設定するようにしている。
【0104】また、領域設定レングスレジスタ73は、
上記各先頭アドレス72d〜72fに対応したアドレス
範囲73d〜73fを設定するためのレジスタである。
具体的に説明すると、先頭アドレス72dに対応するア
ドレス範囲73dと、先頭アドレス72eに対応するア
ドレス範囲73eと、先頭アドレス72fに対応するア
ドレス範囲73fとを設定するようにしている。
【0105】そして、領域設定レジスタ71は、上記領
域設定ベースレジスタ72で設定された先頭アドレス7
2d〜72fから領域設定レングスレジスタ73で設定
されたアドレス範囲73d〜73fにおけるアドレス空
間に対し、フラッシュROM3を読み出し可能にするの
か、それともROM4を読み出し可能にするのかを設定
する。具体的に説明すると、例えば、ビット71d〜7
1fに1を設定するとフラッシュROM3を読み出すこ
とが可能になり、0を設定するとROM4を読み出すこ
とが可能になるようにする。
【0106】このように、領域設定レジスタ72と領域
設定レングスレジスタ73により先頭アドレスとアドレ
ス範囲を設定するようにすれば、上述した図4のステッ
プS2、S8、S10において、任意のアドレス空間を
設定することができる。したがって、ブートプログラム
BPが正常にダウンロードしたか否かの判定を行うアド
レス空間を自由に選択することができる。
【0107】なお、本実施の形態では、領域設定レング
スレジスタ73でアドレスの範囲を設定するようにした
が、領域設定レングスレジスタ73で最後尾のアドレス
を直接設定するようにしてもよい。
【0108】また、本実施の形態では、3つの先頭アド
レス72d〜72fを設定するようにしたが、例えば、
図2に示した例では、0番地とFFFFF番地が決まっ
ているので、先頭アドレス72eと、先頭アドレス72
eに対応したアドレス範囲73eとを設定してROM4
の記憶領域を分割するようにしてもよい。すなわち、R
OM4の記憶領域を分割して得られる領域を特定するこ
とができれば、設定する先頭アドレスとアドレス範囲は
いくつであってもよい。
【0109】(第3の実施の形態)次に、添付の図面を
参照しながら、本発明の第3の実施の形態であるコンピ
ュータ及びその処理方法について説明する。
【0110】本実施の形態のコンピュータは、上述した
第1及び第2の実施の形態のコンピュータ1における領
域設定レジスタ71、領域設定ベースレジスタ72、及
び領域設定レングスレジスタ73を用いずに、フラッシ
ュメモリに書き込んだブートプログラムが正常に書き込
まれたか否かを判定するようにした構成である。したが
って、本実施の形態のコンピュータは、図1に示したC
PU2とアドレスデコーダ7の有する機能が異なり、そ
の他の構成については図1に示したコンピュータ1と同
様である。そこで、上述した第1の実施の形態と同一部
分については図1に示した符号を付して詳細な説明を省
略する。なお、以下では、上記CPU2及びアドレスデ
コーダ7に対応する部分を、CPU及びデコーダと称す
る。
【0111】本実施の形態のコンピュータに備えられて
いるCPUは、プログラムとして読み出すときには第1
のファンクションコードを用いてフラッシュROM3及
びRAM4にアクセスする一方、データとして読み出す
ときには第2のファンクションコードを用いてフラッシ
ュROM3及びRAM4にアクセスする機能を有してい
る。このような機能を有するCPUとしては、例えば6
8000系がある。
【0112】具体的な処理について説明すると、まず、
CPUは、プログラムとして読み出すときは第1のファ
ンクションコードを、アドレス信号ASとともにフラッ
シュROM3、RAM4、RAM6、及びデコーダに出
力する。すなわち、CPUは、判定用プログラムCP1
が記憶されている記憶領域に対応するアドレス空間を示
すアドレス信号ASを、第1のファンクションコードと
ともにフラッシュROM3、ROM4、RAM6、及び
デコーダに出力する(図2を参照)。そして、デコーダ
は上記アドレス信号ASと第1のファンクションコード
に基づいてチップセレクト信号CS1を生成し、フラッ
シュROM3及びROM4に出力する。チップセレクト
信号CS1を入力したROM4は、上記アドレス信号A
Sに基づいて、判定用プログラムCP1をセレクタ8に
出力する。
【0113】また、デコーダは、CPUから入力したア
ドレス信号ASと第1のファンクションコードに基づい
て、ROM4を選択するセレクト信号SSをセレクタ8
に出力する。セレクタ8は、上記ROM4を選択するセ
レクト信号SSに基づいて判定用プログラムCP1をC
PUに出力する。こうして、CPUは、判定用プログラ
ムCP1をプログラムとして読み出し、命令を実行す
る。このように本実施の形態では、CPUが第1のファ
ンクションコードをアドレス信号ASに付加してフラッ
シュROM3、ROM4、RAM6、及びデコーダに出
力することで、ROM4に記憶されている判定用プログ
ラムCP1を読み出すことを指定する。
【0114】そして、CPUは、データとして読み出す
ときはアドレス信号ASを、第2のファンクションコー
ドとともにフラッシュROM3、RAM4、RAM6、
及びデコーダに出力する。すなわち、CPUは、フラッ
シュROM3の記憶領域3cに対応するアドレス空間を
示すアドレス信号ASを、第2のファンクションコード
とともにフラッシュROM3、ROM4、RAM6、及
びデコーダ7に出力する。そして、デコーダは上記アド
レス信号ASと第2のファンクションコードに基づいて
チップセレクト信号CS1を生成し、フラッシュROM
3及びROM4に出力する。チップセレクト信号CS1
を入力したフラッシュROM3は、上記アドレス信号A
Sに基づいて、記憶領域3cに記憶されているブートプ
ログラムBPをセレクタ8に出力する。
【0115】そして、デコーダは、CPUから入力した
アドレス信号ASと第2のファンクションコードに基づ
いて、フラッシュROM3を選択するセレクト信号SS
をセレクタ8に出力する。セレクタ8は、上記フラッシ
ュROM3を選択するセレクト信号SSに基づいてブー
トプログラムBPをCPUに出力する。次に、CPU
は、RAM6からブートプログラムBPを読み出してフ
ラッシュROM3のブートプログラムBPと比較し、各
ブートプログラムBPの一致又は不一致の判定を行う。
【0116】このように本実施の形態では、第2のファ
ンクションコードをアドレス信号ASに付加してフラッ
シュROM3、ROM4、RAM6、及びデコーダに出
力することで、ブートプログラムBPをデータとしてフ
ラッシュROM3から読み出すことを指定する。
【0117】次に、CPUは、判定用プログラムCP1
が記憶されているROM4の記憶領域4aに対応するア
ドレス空間を、第1のファンクション信号とともにフラ
ッシュROM3、ROM4、RAM6、及びデコーダに
出力して、上述したのと同様にして判定用プログラムC
P1をプログラムとして読み出し、命令を実行する。
【0118】そして、CPUは、フラッシュROM3の
記憶領域3bに対応するアドレス空間を示すアドレス信
号ASを、第2のファンクションコードとともにフラッ
シュROM3、ROM4、RAM6、及びデコーダに出
力する。そして、デコーダは上記アドレス信号ASと第
2のファンクションコードに基づいてチップセレクト信
号CS1を生成し、フラッシュROM3及びROM4に
出力する。チップセレクト信号CS1を入力したフラッ
シュROM3は、上記アドレス信号ASに基づいて、記
憶領域3bに記憶されているブートプログラムBPをセ
レクタ8に出力する。
【0119】そして、デコーダは、CPUから入力した
アドレス信号ASと第2のファンクションコードに基づ
いて、フラッシュROM3を選択するセレクト信号SS
をセレクタ8に出力する。セレクタ8は、上記フラッシ
ュROM3を選択するセレクト信号SSに基づいてブー
トプログラムBPをCPUに出力する。次に、CPU
は、RAM6からブートプログラムBPを読み出してフ
ラッシュROM3のブートプログラムBPと比較し、各
ブートプログラムBPの一致又は不一致の判定を行う。
【0120】さらに、フラッシュROM3の記憶領域3
aに書き込まれたブートプログラムBPを読み出す場合
には、CPUは、判定用プログラムCP2が記憶されて
いる記憶領域に対応するアドレス空間を示すアドレス信
号ASを、第1のファンクションコードとともにフラッ
シュROM3、ROM4、RAM6、及びデコーダに出
力して、上述したのと同様に判定用プログラムCP2を
プログラムとして読み出し、実行する。
【0121】そして、CPUは、フラッシュROM3の
記憶領域3aに対応するアドレス空間を、第2のファン
クションコードとともにフラッシュROM3、ROM
4、RAM6、及びデコーダに出力して、上述したのと
同様にフラッシュROM3の記憶領域3aに記憶されて
いるブートプログラムBPをデータとして読み出す。
【0122】そして、CPUは、RAM6からブートプ
ログラムBPを読み出してフラッシュROM3のブート
プログラムBPと比較し、各ブートプログラムBPの一
致又は不一致の判定を行う。
【0123】このようにすれば、フラッシュROM3と
ROM4が共有しているアドレス空間に対して、プログ
ラムとして読み出す場合にはROM4の記憶領域を読み
出すことができ、データとして読み出す場合にはフラッ
シュROM3の記憶領域を読み出すことができる。した
がって、図4のフローチャートに示したステップS2、
S8、S10における領域設定レジスタ71の設定が不
要になる。これにより、上述した第1の実施の形態にお
ける領域設定レジスタ71や、第2の実施の形態におけ
る領域設定ベースレジスタ72及び領域設定レングスレ
ジスタ73を設けなくても、ブートプログラムBPがフ
ラッシュROM3に正しく書き込めたか否かを判定する
ことができ、コンピュータの構成を簡素化することがで
きる。
【0124】なお、本実施の形態では、実行中の判定用
プログラムCP1、CP2の記憶領域に対応するアドレ
ス空間を特定し、特定したアドレス空間と異なるアドレ
ス空間にアクセスしてブートプログラムBPを読み出す
ようにしたが、上記ブートプログラムBPを読み出すア
ドレス空間を上記判定用プログラムCP1、CP2の実
行前に予め指定し、指定した記憶領域と異なる記憶領域
に記憶されている判定用プログラムCP1、CP2を実
行させるようにしてもよい。
【0125】(本発明の他の実施形態)本発明の第1〜
第3の実施の形態は、コンピュータがプログラムを実行
することによって実現することができる。また、プログ
ラムをコンピュータに供給するための手段、例えばかか
るプログラムを記録したCD−ROM等のコンピュータ
読取可能な記録媒体、又はかかるプログラムを伝送する
伝送媒体も本発明の実施の形態として適用することがで
きる。また、上記プログラムを記録したコンピュータ読
取可能な記録媒体などのプログラムプロダクトも本発明
の実施の形態として適用することができる。上記のプロ
グラム、コンピュータ読取可能な記録媒体、伝送媒体及
びプログラムプロダクトは、本発明の範疇に含まれる。
【0126】なお、上述したコンピュータ読取可能な記
録媒体としては、具体的に、図2に示したROM4など
が挙げられる。また、上述した第1〜第3の実施の形態
におけるアドレスデコーダ7、セレクタ8などが有する
機能は、ハードウェアだけでなく上記プログラムにより
実現することができ、上記アドレスデコーダ7、セレク
タ8などをソフトウェアにより実現する場合の上記プロ
グラムも本発明の範疇に含まれる。
【0127】以下、本発明の諸態様を付記としてまとめ
て記載する。 (付記1) ブートプログラムを外部から入力するプロ
グラム入力手段と、書き込み用プログラムを記憶する読
み出し専用メモリと、上記読み出し専用メモリに対して
一部又は全部のアドレス空間を共有するフラッシュメモ
リと、上記読み出し専用メモリから書き込み用プログラ
ムを読み出して実行することにより、上記読み出し専用
メモリに対してアドレス空間を共有しているフラッシュ
メモリに、上記入力したブートプログラムを書き込むブ
ートプログラム書き込み手段とを有することを特徴とす
るコンピュータ。
【0128】(付記2) 上記プログラム入力手段で入
力したブートプログラムを蓄積するバッファ用メモリ
と、上記読み出し専用メモリと上記フラッシュメモリが
共有しているアドレス空間を分割し、上記分割したアド
レス空間それぞれに対して、フラッシュメモリ又は読み
出し専用メモリのうち何れが読み出し可能であるかを設
定するメモリ設定手段と、上記メモリ設定手段によりフ
ラッシュメモリが読み出し可能であると設定されたアド
レス空間にアクセスして上記フラッシュメモリからブー
トプログラムを読み出すとともに、上記バッファ用メモ
リに蓄積されたブートプログラムを読み出して、上記読
み出した各ブートプログラムの一致又は不一致を判定す
る判定手段とをさらに有することを特徴とする付記1に
記載のコンピュータ。
【0129】(付記3) 上記メモリ設定手段は、上記
分割するアドレス空間のアドレスを固定して上記読み出
し専用メモリと上記フラッシュメモリが共有しているア
ドレス空間を分割することを特徴とする付記2に記載の
コンピュータ。
【0130】(付記4) 上記メモリ設定手段は、上記
分割する個々のアドレス空間を異ならせて、上記読み出
し専用メモリと上記フラッシュメモリが共有しているア
ドレス空間を分割することを特徴とする付記2に記載の
コンピュータ。
【0131】(付記5) 上記メモリ設定手段は、上記
読み出し専用メモリの先頭アドレスと、上記先頭アドレ
スに続くアドレス領域を設定することを特徴とする付記
4に記載のコンピュータ。
【0132】(付記6) 上記読み出し専用メモリは、
上記メモリ設定手段により分割されたアドレス空間に対
応する記憶領域毎に、上記判定手段における判定動作を
実行するための判定用プログラムを記憶し、上記判定手
段は、上記メモリ設定手段により読み出し専用メモリが
読み出し可能と設定されたアドレス空間における読み出
し専用メモリから上記判定用プログラムを読み出して判
定動作の実行を開始することを特徴とする付記2に記載
のコンピュータ。
【0133】(付記7) 上記プログラム入力手段で入
力したブートプログラムを蓄積するバッファ用メモリ
と、上記読み出し専用メモリと上記フラッシュメモリが
共有しているアドレス空間を分割し、上記分割したアド
レス空間に対してプログラムとして読み出すか又はデー
タとして読み出すかを指定してアクセスし、データとし
て読み出すことを指定してアクセスしたときに、上記読
み出し専用メモリ及び上記フラッシュメモリのうちフラ
ッシュメモリを選択して上記フラッシュメモリからブー
トプログラムを読みだすとともに、上記バッファ用メモ
リに蓄積されたブートプログラムを読み出して、上記読
み出した各ブートプログラムの一致又は不一致を判定す
る判定手段とをさらに有することを特徴とする付記1に
記載のコンピュータ。
【0134】(付記8) 上記読み出し専用メモリは、
上記分割したアドレス空間に対応する記憶領域毎に、上
記判定手段における判定動作を実行するための判定用プ
ログラムを記憶し、上記判定手段は、上記分割したアド
レス空間に対し、プログラムとして読み出すことを指定
してアクセスしたときに、上記読み出し専用メモリ及び
上記フラッシュメモリのうち読み出し専用メモリを選択
して上記判定用プログラムを読み出して実行を開始し、
続いて上記アクセスしたアドレス空間と異なる上記分割
したアドレス空間に対し、データとして読み出すことを
指定してアクセスすることを特徴とする付記7に記載の
コンピュータ。
【0135】(付記9) 上記読み出し専用メモリに記
憶されている書き込み用プログラムを起動させて、上記
フラッシュメモリにブートプログラムを書き込む処理を
行うダウンロードモードと、上記フラッシュメモリに記
憶されているブートプログラムを起動させて処理を行う
通常運用モードのうちの何れか一方を、外部のスイッチ
操作に基づいて生成される信号に基づいて選択するモー
ド選択手段をさらに有することを特徴とする付記2に記
載のコンピュータ。
【0136】(付記10) ブートプログラムを外部か
ら入力するプログラム入力処理と、上記プログラム入力
処理により入力したブートプログラムを書き込むための
書き込み用プログラムを記憶している読み出し専用メモ
リから上記書き込み用プログラムを読み出して実行し、
上記読み出し専用メモリとアドレス空間を共有している
フラッシュメモリに、上記入力したブートプログラムを
書き込むブートプログラム書き込み処理とを行うことを
特徴とするコンピュータの処理方法。
【0137】(付記11) 上記プログラム入力処理で
入力したブートプログラムをバッファ用メモリに蓄積す
るブートプログラム蓄積処理と、上記読み出し専用メモ
リと上記フラッシュメモリが共有しているアドレス空間
を分割し、上記分割したアドレス空間それぞれに対し
て、フラッシュメモリ又は読み出し専用メモリのうち何
れが読み出し可能であるかを設定するメモリ設定処理
と、上記メモリ設定処理によりフラッシュメモリが読み
出し可能であると設定されたアドレス空間にアクセスし
て上記フラッシュメモリからブートプログラムを読み出
すとともに、上記バッファ用メモリに蓄積されたブート
プログラムを読み出して、上記読み出した各ブートプロ
グラムの一致又は不一致を判定する判定処理とをさらに
行うことを特徴とする付記10に記載のコンピュータの
処理方法。
【0138】(付記12) 上記メモリ設定処理は、上
記分割するアドレス空間のアドレスを固定して上記読み
出し専用メモリと上記フラッシュメモリが共有している
アドレス空間を分割することを特徴とする付記11に記
載のコンピュータの処理方法。
【0139】(付記13) 上記メモリ設定処理は、上
記分割する個々のアドレス空間のアドレス領域を異なら
せて、上記読み出し専用メモリと上記フラッシュメモリ
が共有しているアドレス空間を分割することを特徴とす
る付記11に記載のコンピュータの処理方法。
【0140】(付記14) 上記メモリ設定処理は、上
記読み出し専用メモリの先頭アドレスと、上記先頭アド
レスに続くアドレス領域を設定することを特徴とする付
記13に記載のコンピュータの処理方法。
【0141】(付記15) 上記判定処理は、上記メモ
リ設定処理により読み出し専用メモリが読み出し可能と
設定された読み出し専用メモリの記憶領域から上記判定
処理における判定動作を実行するための判定用プログラ
ムを読み出して判定動作の実行を開始することを特徴と
する付記13に記載のコンピュータの処理方法。
【0142】(付記16) 上記プログラム入力処理で
入力したブートプログラムをバッファ用メモリに蓄積す
るプログラム蓄積処理と、上記読み出し専用メモリと上
記フラッシュメモリが共有しているアドレス空間を分割
し、上記分割したアドレス空間に対してプログラムとし
て読み出すか又はデータとして読み出すかを指定してア
クセスし、データとして読み出すことを指定してアクセ
スしたときに、上記読み出し専用メモリ及び上記フラッ
シュメモリのうちフラッシュメモリを選択して上記フラ
ッシュメモリからブートプログラムを読みだすととも
に、上記バッファ用メモリに蓄積されたブートプログラ
ムを読み出して、上記読み出した各ブートプログラムの
一致又は不一致を判定する判定処理とをさらに行うこと
を特徴とする付記10に記載のコンピュータの処理方
法。
【0143】(付記17) 上記判定処理は、上記分割
したアドレス空間に対し、プログラムとして読み出すこ
とを指定してアクセスしたときに、上記読み出し専用メ
モリ及び上記フラッシュメモリのうち読み出し専用メモ
リを選択して読み出し専用メモリから判定用プログラム
を読み出して実行を開始し、続いて上記アクセスしたア
ドレス空間と異なる上記分割したアドレス空間に対し、
データとして読み出すことを指定してアクセスすること
を特徴とする付記16に記載のコンピュータの処理方
法。
【0144】(付記18) 上記読み出し専用メモリに
記憶されている書き込み用プログラムを起動させて、上
記フラッシュメモリにブートプログラムを書き込む処理
を行うダウンロードモードと、上記フラッシュメモリに
記憶されているブートプログラムを起動させて処理を行
う通常運用モードの設定を、外部のスイッチ操作に基づ
いて生成される信号に基づいて行うモード設定処理をさ
らに行うことを特徴とする付記11に記載のコンピュー
タの処理方法。
【0145】
【発明の効果】以上説明したように本発明によれば、書
き込み用プログラムを実行して、読み出し専用メモリと
アドレスを共有しているフラッシュメモリの記憶領域
に、ブートプログラムを書き込むようにしたので、ブー
トプログラムを容易且つ確実にフラッシュメモリに書き
込むことができる。
【0146】また、本発明の他の特徴によれば、読み出
し専用メモリとフラッシュメモリとが共有しているアド
レス空間を分割して得られる複数のアドレス空間それぞ
れに対して、読み出し専用メモリ又はフラッシュメモリ
の何れが読み出し可能であるかを設定して、上記フラッ
シュメモリに書き込まれたブートプログラムを読み出す
ようにしたので、フラッシュメモリにおけるブートプロ
グラムの更新のために必要なアドレス空間を小さくする
ことができる。
【0147】また、本発明のその他の特徴によれば、読
み出し専用メモリとフラッシュメモリとが共有するアド
レス空間を分割する際に、分割する個々のアドレス空間
を異ならせるようにしたので、ブートプログラムが正常
に書き込まれたか否かの判定を行う記憶領域の大きさを
自由に選択することができる。
【0148】また、本発明のその他の特徴によれば、上
記読み出し専用メモリと上記フラッシュメモリが共有し
ているアドレス空間に対し、データとして読み出すこと
を指定してアクセスして、上記フラッシュメモリからブ
ートプログラムを読み出すようにしたので、フラッシュ
メモリに書き込まれたブートプログラムを読み出すため
の設定を行わなくてよくなり、コンピュータの構成を簡
素化することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示し、コンピュー
タの構成の一例を示したブロック図である。
【図2】本発明の第1の実施の形態を示し、ROMとフ
ラッシュROMの概念図である。
【図3】本発明の第1の実施の形態を示し、レジスタの
概念図である。
【図4】本発明の第1の実施の形態を示し、プログラム
をダウンロードするときの動作を説明するフローチャー
トである。
【図5】本発明の第2の実施の形態を示し、レジスタの
概念図である。
【図6】本発明の第2の実施の形態を示し、ROMとフ
ラッシュROMの概念図である。
【図7】従来の技術を示し、ROMとフラッシュROM
の概念図である。
【符号の説明】
1 コンピュータ 3 フラッシュROM 4 ROM 5 プログラム入力部 6 RAM 7 アドレスデコーダ 71 領域設定レジスタ 72 領域設定ベースレジスタ 73 領域設定レングスレジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山上 俊文 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B060 MM01 MM11 5B076 EA02 EB03

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ブートプログラムを外部から入力するプ
    ログラム入力手段と、 書き込み用プログラムを記憶する読み出し専用メモリ
    と、 上記読み出し専用メモリに対して一部又は全部のアドレ
    ス空間を共有するフラッシュメモリと、 上記読み出し専用メモリから書き込み用プログラムを読
    み出して実行することにより、上記読み出し専用メモリ
    に対してアドレス空間を共有しているフラッシュメモリ
    に、上記入力したブートプログラムを書き込むブートプ
    ログラム書き込み手段とを有することを特徴とするコン
    ピュータ。
  2. 【請求項2】 上記プログラム入力手段で入力したブー
    トプログラムを蓄積するバッファ用メモリと、 上記読み出し専用メモリと上記フラッシュメモリが共有
    しているアドレス空間を分割し、上記分割したアドレス
    空間それぞれに対して、フラッシュメモリ又は読み出し
    専用メモリのうち何れが読み出し可能であるかを設定す
    るメモリ設定手段と、 上記メモリ設定手段によりフラッシュメモリが読み出し
    可能であると設定されたアドレス空間にアクセスして上
    記フラッシュメモリからブートプログラムを読み出すと
    ともに、上記バッファ用メモリに蓄積されたブートプロ
    グラムを読み出して、上記読み出した各ブートプログラ
    ムの一致又は不一致を判定する判定手段とをさらに有す
    ることを特徴とする請求項1に記載のコンピュータ。
  3. 【請求項3】 上記メモリ設定手段は、上記分割する個
    々のアドレス空間を異ならせて、上記読み出し専用メモ
    リと上記フラッシュメモリが共有しているアドレス空間
    を分割することを特徴とすることを特徴とする請求項2
    に記載のコンピュータ。
  4. 【請求項4】 上記プログラム入力手段で入力したブー
    トプログラムを蓄積するバッファ用メモリと、 上記読み出し専用メモリと上記フラッシュメモリが共有
    しているアドレス空間を分割し、上記分割したアドレス
    空間に対してプログラムとして読み出すか又はデータと
    して読み出すかを指定してアクセスし、データとして読
    み出すことを指定してアクセスしたときに、上記読み出
    し専用メモリ及び上記フラッシュメモリのうちフラッシ
    ュメモリを選択して上記フラッシュメモリからブートプ
    ログラムを読みだすとともに、上記バッファ用メモリに
    蓄積されたブートプログラムを読み出して、上記読み出
    した各ブートプログラムの一致又は不一致を判定する判
    定手段とをさらに有することを特徴とする請求項1に記
    載のコンピュータ。
  5. 【請求項5】 ブートプログラムを外部から入力するプ
    ログラム入力処理と、 上記プログラム入力処理により入力したブートプログラ
    ムを書き込むための書き込み用プログラムを記憶してい
    る読み出し専用メモリから書き込み用プログラムを読み
    出して実行し、上記読み出し専用メモリとアドレス空間
    を共有しているフラッシュメモリに、上記入力したブー
    トプログラムを書き込むブートプログラム書き込み処理
    とを行うことを特徴とするコンピュータの処理方法。
JP2002128882A 2002-04-30 2002-04-30 コンピュータ及びその処理方法 Withdrawn JP2003323313A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002128882A JP2003323313A (ja) 2002-04-30 2002-04-30 コンピュータ及びその処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002128882A JP2003323313A (ja) 2002-04-30 2002-04-30 コンピュータ及びその処理方法

Publications (1)

Publication Number Publication Date
JP2003323313A true JP2003323313A (ja) 2003-11-14

Family

ID=29542489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002128882A Withdrawn JP2003323313A (ja) 2002-04-30 2002-04-30 コンピュータ及びその処理方法

Country Status (1)

Country Link
JP (1) JP2003323313A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268827A (ja) * 2005-03-21 2006-10-05 Samsung Electronics Co Ltd マルチチップパッケージデバイス

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268827A (ja) * 2005-03-21 2006-10-05 Samsung Electronics Co Ltd マルチチップパッケージデバイス

Similar Documents

Publication Publication Date Title
JP3364495B2 (ja) 追加ボード
US6073206A (en) Method for flashing ESCD and variables into a ROM
US8112621B2 (en) Multi-core address mapping for selecting storage controller program
US20110088032A1 (en) Method and apparatus for configuring a hypervisor during a downtime state
JP5783809B2 (ja) 情報処理装置、起動方法およびプログラム
TWI783590B (zh) 晶片驗證系統及其驗證方法
US6973525B2 (en) System and method for managing bus numbering
JP4052265B2 (ja) 情報処理装置とデバイスドライバのロード方法並びにプログラム
US5961611A (en) Automatic option setting circuit
US6321332B1 (en) Flexible control of access to basic input/output system memory
US7827333B1 (en) System and method for determining a bus address on an add-in card
JP2003323313A (ja) コンピュータ及びその処理方法
CN116009899A (zh) 操作系统的镜像制作方法、装置、电子设备及存储介质
JP2009181579A (ja) 機能を呼び出す方法、サブシステムおよびシステム
JP3693240B2 (ja) 異なる操作モードを利用してアダプタ構成ルーチンを実行する方法およびシステム
JP4985483B2 (ja) 計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法
JP2001256044A (ja) データ処理装置
CN110941452B (zh) 一种配置方法、bios芯片和电子设备
JPH1185529A (ja) データ記憶システム及びコンピュータシステムの起動方法
JP6801531B2 (ja) 拡張装置設定方法、拡張装置設定プログラムおよび情報処理装置
JPH1049473A (ja) コンピュータシステムおよび同システムで使用されるハードウェア初期化方法
JPH08106377A (ja) プログラム登録方法
JPH11328089A (ja) Pciバスインタフェース用デバイスにおけるid情報書き込み回路
JPH09106370A (ja) メモリ制御装置及びその方法及び情報処理装置
JP2005056017A (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: 20050705