JP2005107938A - コンピュータの起動システム及びデータ記憶装置 - Google Patents

コンピュータの起動システム及びデータ記憶装置 Download PDF

Info

Publication number
JP2005107938A
JP2005107938A JP2003341312A JP2003341312A JP2005107938A JP 2005107938 A JP2005107938 A JP 2005107938A JP 2003341312 A JP2003341312 A JP 2003341312A JP 2003341312 A JP2003341312 A JP 2003341312A JP 2005107938 A JP2005107938 A JP 2005107938A
Authority
JP
Japan
Prior art keywords
computer
program
memory
startup
control 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.)
Granted
Application number
JP2003341312A
Other languages
English (en)
Other versions
JP4461760B2 (ja
Inventor
Kazuya Kawano
一也 川野
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2003341312A priority Critical patent/JP4461760B2/ja
Publication of JP2005107938A publication Critical patent/JP2005107938A/ja
Application granted granted Critical
Publication of JP4461760B2 publication Critical patent/JP4461760B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】コンピュータの起動システムにおける製造コストを削減する。
【解決手段】コンピュータの起動システム100は、コンピュータシステムのブートプログラムコードを、周辺デバイス51の制御レジスタ51aの初期値として設定しており、コンピュータの電源が投入されると、周辺デバイス51内の制御レジスタ51aからブートプログラムコードが読み出され、ブートプログラムの実行が開始される。そして、CPU41を含むシステムの初期化、フラッシュメモリ2及びDRAM3の初期化が行われ、フラッシュメモリ2に格納されているメインプログラムコードがDRAM3に転送される。ブートプログラムの実行が終了すると、制御レジスタ51aの設定値が、機能ブロック51bの動作仕様に合わせて書き換えられ、制御レジスタ51aの設定値に従って、機能ブロック51bの動作が行われる。
【選択図】図4

Description

本発明は、コンピュータの起動システム及びデータ記憶装置に関する。
CPU(Central Processing Unit)、メモリ及びその周辺デバイスから構成されるデジタルカメラ、携帯端末等のコンピュータでは、メモリーカード等の外部記録媒体を使用しなくてもある程度の容量のデータを保存することが可能であることから、プログラムを格納するための不揮発性メモリとして、プログラム格納に適したパラレル型フラッシュメモリの代わりに、大容量のデータ格納に適したシリアル型フラッシュメモリが使用されることが多い。
一般に、NAND型、AND型のフラッシュメモリに代表されるシリアル型の不揮発性メモリは、容量単価が安く、消去や書込み速度が速いことから、NOR型のフラッシュメモリに代表されるパラレル型の不揮発性メモリよりも大容量化に適している。しかしながら、シリアル型の不揮発性メモリは、ブロック単位での読み書きしかできないため、ランダムアクセスが非常に遅いという欠点がある。
CPUが直接アクセスするプログラム用メモリは、ランダムアクセスを高速で行う必要があるため、シリアル型の不揮発性メモリをプログラム格納用のメモリとして使用する場合には、電源投入直後に、ブートプログラム(起動プログラム)によって、シリアル型の不揮発性メモリに格納されたプログラムデータを、DRAM(Dynamic Random Access Memory)等の高速でのランダムアクセスが可能な揮発性メモリに全て転送してから、転送先のメモリ上でプログラムを実行させる必要がある(例えば、特許文献1及び特許文献2参照。)。
図8に、プログラム格納用メモリとしてシリアル型のフラッシュメモリを用いたコンピュータの起動システム300の構成を示す。起動システム300は、図8に示すように、ブートROM1、フラッシュメモリ2、DRAM3、CPU4、周辺デバイス5により構成される。図8において、フラッシュメモリ2は、シリアル型の不揮発性メモリであり、DRAM3は、パラレル型の揮発性メモリである。
ブートROM1は、不揮発性メモリであり、コンピュータシステムを立ち上げるためのブートプログラム(起動プログラム)を格納する。フラッシュメモリ2は、システムを動作させるためのメインプログラムを格納する。ブートROM1、フラッシュメモリ2及びDRAM3は、CPU4のアドレス空間にマッピングされている。CPU4は、チップセレクト信号CS0、CS1、CS2をアサートすることによって各々のメモリを選択し、選択されたメモリに対して、制御信号及びアドレス信号10により、データの読み出し動作、書き込み動作等の制御を行う。各メモリから読み出されたデータは、データバス11を経由して指定された転送先に転送される。なお、ここで「アサートする」とは、信号や論理を有効にすることをいい、上記では、各チップセレクト信号のうち処理を行う対象のICを有効にすることをいう。
周辺デバイス5は、画像処理等の機能を有する集積回路であり、内部動作を制御するための各種設定値を記憶するレジスタ及びメモリを備える。周辺デバイス5は、CPU4により、チップセレクト信号CS3がアサートされると、制御信号及びアドレス信号10に従って、読み出し、書き込み等の処理を行う。
図9に、起動システム300におけるフラッシュメモリ2及びDRAM3のアドレスマップを示す。コンピュータの電源が投入されると、CPU4によって、リセットベクタアドレスにマッピングされているチップセレクト信号CS0がアサートされ、ブートROM1のスタートアドレスからブートプログラムの実行が開始される。
ブートプログラムに従って、CPU4を含むシステムの初期化、フラッシュメモリ2及びDRAM3の初期化が行われた後、フラッシュメモリ2に格納されているメインプログラムコードがDRAM3に転送される。転送終了後、ブートプログラムの実行アドレスが、DRAM3に転送されたメインプログラムのスタートアドレスにジャンプされ、ブートプログラムの実行が終了する。ブートプログラムの実行が終了すると、DRAM3上のメインプログラムの実行が開始され、システムが動作する。
なお、図8の起動システム300では、ブートプログラムを格納するメモリとして、ROMを用いる例を示したが、周辺デバイス5がASIC(Application Specific Integrated Circuit)等の集積回路であって、汎用メモリの搭載が可能である場合には、周辺デバイス5内にブートプログラム格納用のROMが内蔵される場合もある。
シリアル型のフラッシュメモリの中には、起動直後に、コマンド・アドレス等のシリアル型特有の制御を行わなくても、ROMアクセスと同様の制御で、特定のブロックに格納されているデータを読み出すオートリード機能を有するものがある。図10に、オートリード機能を有するフラッシュメモリを用いたコンピュータの起動システム400の構成を示す。起動システム400を構成する各部のうち、図8に示した起動システム300と同一の構成部分には、同一の符号を付している。
起動システム400は、図10に示すように、オートリード機能を有するフラッシュメモリ20、DRAM3、CPU40、周辺デバイス5により構成されている。フラッシュメモリ20は、オートリード機能を有し、特定ブロックに、ブートプログラムコード(ブートプログラムのプログラムコード)を格納している。
図11に、起動システム400におけるフラッシュメモリ20及びDRAM3のアドレスマップを示す。コンピュータの電源が投入されると、CPU40によって、リセットベクタアドレスにマッピングされているチップセレクト信号CS0がアサートされ、フラッシュメモリ20に格納されたブートデータが、先頭データから順番にシーケンシャルに読み出され、ブートプログラムの実行が開始される。以降の動作は、起動システム300の動作と同様である。
特開平10−207712号公報 特開平11−219299号公報
しかしながら、従来の起動システムには以下のような問題があった。
図8に示した起動システム300では、ブートプログラムを格納するための専用の不揮発性メモリ(ブートROM1又は集積回路内のROM)を搭載しなければならないため、システム全体の製造コストが高くなってしまうという問題があった。また、図10に示した起動システム400では、フラッシュメモリ22に格納されたブートプログラムを、先頭データからシーケンシャルにしか読み出せないため、分岐命令を使用することができなかった。従って、例えば、DRAMのように、初期化にある程度複雑なシーケンスが必要なメモリにプログラムを転送する場合、全てのプログラムデータを転送できない可能性があった。
本発明の課題は、コンピュータの起動システムにおける製造コストを削減し、シリアル型不揮発性メモリに起動プログラムを格納している場合でも、分岐命令を使用可能にすることである。
上記課題を解決するため、請求項1に記載の発明は、コンピュータシステムの動作を制御する制御部と、前記制御部により実行される制御プログラムを格納するシリアル型の不揮発性メモリと、所定の処理を実行するための集積回路を備えるコンピュータの起動システムにおいて、前記集積回路は、前記所定の処理を実行するための設定値を格納する制御レジスタを有し、前記集積回路の制御レジスタは、コンピュータシステムの起動プログラムを当該制御レジスタの初期値として格納し、前記制御部は、コンピュータシステムの起動時、前記制御レジスタに格納された前記初期値を読み出すことにより、前記起動プログラムを実行することを特徴としている。
また、請求項2に記載の発明のように、請求項1に記載のコンピュータの起動システムにおいて、前記制御レジスタは、コンピュータシステムの起動動作の終了後に、当該レジスタの設定値を、前記初期値から前記所定の処理を実行するための設定値に書き換えるようにしてもよい。
請求項3に記載の発明は、コンピュータシステムの動作を制御する制御部と、前記制御部により実行されるコンピュータシステムの制御プログラム及び起動プログラムを格納するシリアル型の不揮発性メモリと、所定の処理を実行するための集積回路を備えるコンピュータの起動システムであって、前記集積回路は、コンピュータシステムの起動時に、前記起動プログラムの一部を格納する内蔵メモリを有し、前記制御部は、コンピュータシステムの起動時、前記シリアル型の不揮発性メモリから前記起動プログラムを読み出して、当該起動プログラムの一部を、前記集積回路の内蔵メモリに転送し、転送先の内蔵メモリ上で、当該起動プログラムを実行することを特徴としている。
また、請求項4に記載の発明のように、請求項3に記載のコンピュータの起動システムにおいて、前記制御部は、コンピュータシステムの起動動作の終了後に、前記集積回路の内蔵メモリに、前記所定の処理を実行するための設定値を書き込むようにしてもよい。
請求項5に記載の発明は、コンピュータに接続され、コンピュータによってデータを読み書きされるデータ記憶装置であって、電源投入時にデータ記憶装置に記憶されているデータを消去して初期化する初期化手段を備え、前記初期化手段は、前記記憶されているデータを、前記コンピュータによって実行可能なプログラムコードに初期化することを特徴としている。
請求項1に記載の発明によれば、所定の処理を実行するための集積回路の制御レジスタに、コンピュータシステムの起動プログラムを当該制御レジスタの初期値として格納し、コンピュータシステムの起動時、前記制御レジスタに格納された前記初期値を読み出して起動プログラムを実行するようにしたことにより、起動プログラムを格納するための専用のメモリを搭載する必要がなくなり、起動システムの製造コストを削減することができる。
請求項3に記載の発明によれば、コンピュータシステムの起動時、シリアル型の不揮発性メモリから起動プログラムを読み出して、当該起動プログラムの一部を、集積回路の内蔵メモリに転送し、転送先の内蔵メモリ上で、当該起動プログラムを実行するようにしたことにより、シリアル型の不揮発性メモリにコンピュータシステムの起動プログラムを格納していても、分岐命令の使用が可能になる。また、集積回路の内蔵メモリを、起動プログラムの一部を格納するメモリとして使用できるようにしたため、起動プログラムを格納するための専用のメモリを搭載する必要がなくなり、起動システムの製造コストを削減することができる。
請求項5に記載の発明によれば、電源投入時にデータ記憶装置に記憶されているデータを消去して、コンピュータによって実行可能なプログラムコードに初期化することにより、データ記録装置を非常に効率的に使用することが可能となる。
以下、図面を参照して、本発明の実施形態について詳細に説明する。
(実施形態1)
図1〜図4を参照して、本発明に係る実施形態1について詳細に説明する。まず、本実施形態1のシステム構成を説明する。
図1に、実施形態1のコンピュータの起動システム100の構成を示す。起動システム100は、デジタルカメラ、携帯電話等のコンピュータに搭載され、図1に示すように、フラッシュメモリ2、DRAM3、CPU41、周辺デバイス51により構成される。
フラッシュメモリ2は、シリアル型の不揮発性メモリであり、コンピュータシステムを動作させるためのメインプログラム(制御プログラム)と、各種プログラムの実行に必要なデータ等を格納する。DRAM3は、パラレル型の揮発性メモリであり、フラッシュメモリ2から転送されたメインプログラムを展開する。フラッシュメモリ2及びDRAM3は、CPU4のアドレス空間にマッピングされている。
CPU41は、制御信号及びアドレス信号10により、フラッシュメモリ2、DRAM3、周辺デバイス51の制御レジスタ51aにおける読み出し動作、書き込み動作を制御する。各メモリから読み出されたデータは、データバス11を経由して指定された転送先に転送される。
例えば、CPU41は、コンピュータシステムが起動されると、リセットベクタアドレスにマッピングされているチップセレクト信号CS0をアサートすることにより、周辺デバイス51の制御レジスタ51aを選択し、制御レジスタ51aからブートプログラムコード(ブートプログラムのプログラムコード)を読み出して、ブートプログラムを実行する。
また、CPU41は、チップセレクト信号CS1をアサートすることにより、フラッシュメモリ2を選択し、フラッシュメモリ2における読み出し動作、書き込み動作を制御する。具体的には、CPU41は、フラッシュメモリ2からメインプログラムを読み出して、DRAM3に転送させる。
CPU41は、チップセレクト信号CS2をアサートすることにより、DRAM3を選択し、DRAM3における読み出し動作、書き込み動作を制御する。具体的には、CPU41は、DRAM3上に展開されたメインプログラムを読み出して実行する。
周辺デバイス51は、画像処理等の機能を有する集積回路であり、制御レジスタ51a及び機能ブロック51bを備える。制御レジスタ51aは、制御信号及びアドレス信号10に従って、読み出し、書き込み等の処理を行う。制御レジスタ51aは、下記図2の説明にて述べるように、初期値がブートプログラムコードになるように設定されており、CPU41によりブートプログラムコードが読み出された後、メインプログラムに従って、機能ブロック51bの動作仕様に合わせて設定値を書き換える。機能ブロック51bは、制御レジスタ51aに設定された値に従って動作する。
図2に、制御レジスタ51aの内部の、あるアドレスに対応した記憶部(以下、「1バイトレジスタ」という。)の詳細な構成を示す。図2は、データバス11が8ビットのバス幅を有する場合の例である。制御レジスタは、図2に示すような1バイトレジスタを複数個有しており、ブートプログラムのプログラムコードを格納するのに充分な容量のレジスタを有しているものとする。制御レジスタ51aの内部の1バイトレジスタは、図2に示すように、8個のフリップフロップにより構成されている。各フリップフロップは、リセット信号が、それぞれのフリップフロップのセット端子若しくはリセット端子に接続されることにより1又は0にリセットされる。ここで、この各フリップフロップは、リセットベクタアドレスから順にこの制御レジスタ51aの記憶内容を読み出したときに、ちょうどブートプログラムのプログラムコードとなっているように、あらかじめリセット信号のセット/リセット端子への配線が調整されている。図2では、上位ビットDout[7]から順に、10100110、すなわち「A6H」の8ビットのデータが設定されるようになっている例を示している。
次に、本実施形態1における動作について説明する。
図3のフローチャート及び図4のアドレスマップを参照して、起動システム100により実行されるシステム起動処理について説明する。
コンピュータの電源が投入されると、CPU41によって、リセットベクタアドレスにマッピングされているチップセレクト信号CS0がアサートされ、周辺デバイス51内の制御レジスタ51aからブートROMコードが読み出され、ブートプログラムの実行が開始される(ステップS1)。ここで、本実施形態においては、周辺デバイス51内の制御レジスタ51aの、所定のアドレスのレジスタ(以下「実行開始アドレス」という。)から順に、ブートプログラムコードが読み出されて、ブートプログラムが実行されるようにするために、リセットベクタアドレスとして周辺デバイス51内の制御レジスタ51a内の、上記所定の実行開始アドレスを記憶しているように構成されている。
ブートプログラムの実行が開始されると、あらかじめリセット信号のセット/リセット端子への配線によって、ちょうどブートプログラムのプログラムコードとなるように設定されていた制御レジスタ51a内の各レジスタの初期値が、順次読み出されて実行されていき、CPU41を含むシステムの初期化、フラッシュメモリ2及びDRAM3の初期化が行われ(ステップS2)、フラッシュメモリ2に格納されているメインプログラムコードがDRAM3に転送される(ステップS3)。
メインプログラムの転送終了後、ブートプログラムの実行アドレスが、DRAM3に転送されたメインプログラムのスタートアドレスにジャンプされ(ステップS4)、ブートプログラムの実行が終了する。ブートプログラムの実行が終了すると、DRAM3上のメインプログラムの実行が開始され(ステップS5)、コンピュータシステムが動作する。
メインプログラムの実行が開始されると、制御レジスタ51aの設定値が、機能ブロック51bの動作仕様に合わせて書き換えられ、制御レジスタ51aの設定値に従って、機能ブロック51bの動作が行われる。すなわち、制御レジスタ51aの各レジスタは、必要に応じて値を書き換えられる等して使用されることになるが、ブートプログラムは電源投入時にのみ実行されれば足りるため、ブートプログラムの実行が終了した後は消去されても何ら問題は生じない。また、制御レジスタ51aの各レジスタは、通常、初期値に依存して使用される場合は少なく、初期値は不定であるとしてシステム全体が設計されている場合が多いため、初期値がブートプログラムのプログラムコードとなるように設定されていたとしても、その後のメインプログラムの実行に支障は来さない。従って、このように制御レジスタ51aを使用することにより、制御レジスタ51aを非常に効率的に使用することが可能となる。
以上のように、本実施形態1の起動システム100によれば、コンピュータシステムのブートプログラムを、周辺デバイス51が備える制御レジスタ51aの初期値として格納し、システム起動後、制御レジスタ51aを、機能ブロック51bを制御する通常のレジスタとして使用するようにしたことで、制御レジスタ51aを、システム起動用と、機能ブロック制御用の二通りの用途で使用可能になり、ブートプログラム格納用の不揮発性メモリ(例えば、図8のブートROM1)を搭載する必要がなくなる。従って、起動システム100の製造コストを削減することができる。
(実施形態2)
次に、図5〜図7を参照して、本発明に係る実施形態2について詳細に説明する。まず、本実施形態2のシステム構成を説明する。
図5に、実施形態2のコンピュータの起動システム200の構成を示す。起動システム200を構成する各部のうち、図1に示した起動システム100と同一の構成部分には、同一の符号を付している。起動システム200は、デジタルカメラ、携帯電話等のコンピュータに搭載され、図5に示すように、フラッシュメモリ21、DRAM3、CPU42、周辺デバイス52により構成される。
フラッシュメモリ21は、前述のオートリード機能を有するシリアル型の不揮発性メモリであり、コンピュータシステムを動作させるためのメインプログラム(制御プログラム)と、各種プログラムの実行に必要なデータ等を格納するとともに、上記オートリード機能によってシステムの起動直後に読み出される特定のブロックに、コンピュータシステムを立ち上げるためのブートプログラム(起動プログラム)を格納する。DRAM3は、パラレル型の揮発性メモリであり、フラッシュメモリ21から転送されたメインプログラムを展開する。
CPU42は、制御信号及びアドレス信号10により、フラッシュメモリ21、DRAM3、周辺デバイス52の内蔵メモリ52aにおける読み出し動作、書き込み動作を制御する。各メモリから読み出されたデータは、データバス11を経由して指定された転送先に転送される。
CPU42は、コンピュータシステムが起動されると、リセットベクタアドレスにマッピングされているチップセレクト信号CS0をアサートすることにより、フラッシュメモリ21を選択し、フラッシュメモリ21のオートリード機能を用いてブートプログラムをシーケンシャルに読み出してブートプログラムを実行する。このとき、CPU42は、ブートプログラムの一部の命令コードを周辺デバイス52の内蔵メモリ52aに転送させる。オートリード機能によってフラッシュメモリ21から読み出すことのできるプログラムコードの容量は限られている場合が多く、この容量だけでブートプログラムを全て格納できない場合があり、このような場合に、いったんブートプログラムのプログラムコードの一部の命令コードを、フラッシュメモリ21から周辺デバイス52の内蔵メモリ52aに転送させて、この内蔵メモリ52aからブートプログラムが実行されるようにするためである。ここで、ブートプログラムの一部の命令コードとは、DRAM3の初期化を指示するコードと、フラッシュメモリ21からDRAM3へのメインプログラムの転送を指示するコードである。
また、CPU42は、チップセレクト信号CS1をアサートすることにより、周辺デバイス52を選択して、周辺デバイス52における読み出し動作、書き込み動作を制御する。具体的には、CPU42は、周辺デバイス52の内蔵メモリ52aに格納された上記命令コードを読み出し、DRAM3を初期化させ、フラッシュメモリ21からDRAM3へメインプログラムを転送させる。
更に、CPU42は、チップセレクト信号CS2をアサートすることにより、DRAM3を選択し、DRAM3における読み出し動作、書き込み動作を制御する。具体的には、CPU42は、DRAM3上に展開されたメインプログラムを読み出して実行する。
また、CPU42は、コンピュータシステムの起動動作の終了後、メインプログラムに従って、内蔵メモリ52aに、機能ブロック52bの動作仕様に応じた設定値を書き込む。
周辺デバイス52は、画像処理等の機能を有する集積回路であり、内蔵メモリ52a及び機能ブロック52bを備える。内蔵メモリ52aは、SRAM(Static Random Access Memory)等により構成されており、ブートプログラムの一部の命令コードと、機能ブロック52bの動作に必要な各種設定値を格納する。なお、SRAMは、DRAM3と比較して、初期化が容易で初期化に必要なコードも少なく、また、ランダムアクセスが可能であることから、本実施形態では、ブートプログラムの一部を,フラッシュメモリ21からDRAM3にコピーするのではなく、SRAMにコピーして実行するようにしている。
内蔵メモリ52aは、制御信号及びアドレス信号10に従って、読み出し、書き込み等の処理を行う。具体的には、内蔵メモリ52aは、フラッシュメモリ21から転送されたブートプログラムの一部の命令コードの、書き込み動作、読み出し動作を行う。機能ブロック52bは、内蔵メモリ52aに設定された値に従って動作する。
次に、本実施形態2における動作について説明する。
図6のフローチャート及び図7のアドレスマップを参照して、起動システム200により実行されるシステム起動処理について説明する。
コンピュータの電源が投入されると、CPU42によって、リセットベクタアドレスにマッピングされているチップセレクト信号CS0がアサートされ、フラッシュメモリ21のオートリード機能により、ブートプログラムがシーケンシャルに読み出され、ブートプログラムの実行が開始される(ステップS11)。
すると、まず、内蔵メモリ52aが初期化された後に、フラッシュメモリ21から読み出されたブートプログラムの一部の命令コードが、内蔵メモリ52aに転送される(ステップS12)。ここで、ブートプログラムの一部の命令コードとは、DRAM3の初期化を指示するコードと、フラッシュメモリ21からDRAM3へのメインプログラムの転送を指示するコードである。DRAMの初期化コードに比べてSRAMの初期化コードは非常に少なくて済むことから、オートリード機能で読み出し可能な限られた容量のブートプログラムとして、内蔵メモリ52aの初期化のプログラムコードと、フラッシュメモリ21から読み出されたブートプログラムの一部の命令コードの内蔵メモリ52aへの転送処理のプログラムコードを記録しておき、その他のブートプログラムについては、転送された内蔵メモリ52a上のプログラムコードを用いて実行するようにしているものである。
次いで、ブートプログラムの実行アドレスが、内蔵メモリ52aに転送されたブートプログラムのスタートアドレスにジャンプされ、フラッシュメモリ21によるオートリードが終了する(ステップS13)。
ブートプログラムの実行が開始されると、内蔵メモリ52aに格納された命令コードに従って、CPU42を含むシステムの初期化、フラッシュメモリ21及びDRAM3の初期化が行われ(ステップS14)、フラッシュメモリ21に格納されているメインプログラムコードがDRAM3に転送される(ステップS15)。
メインプログラムの転送終了後、内蔵メモリ52aに格納された命令コードに従って、ブートプログラムの実行アドレスが、DRAM3に転送されたメインプログラムのスタートアドレスにジャンプされ(ステップS16)、ブートプログラムの実行が終了する。ブートプログラムの実行が終了すると、DRAM3上のメインプログラムの実行が開始され(ステップS17)、コンピュータシステムが動作する。
メインプログラムの実行が開始されると、内蔵メモリ52aの設定値が、機能ブロック52bの動作仕様に合わせて書き換えられ、内蔵メモリ52aの設定値に従って、機能ブロック52bの動作が行われる。
以上のように、本実施形態2の起動システム200によれば、シリアル型の不揮発性メモリ(フラッシュメモリ21)にブートプログラムを格納し、オートリード機能を用いてシーケンシャルにブートプログラムを読み出すとき、SRAM等のランダムアクセスが可能で初期化の容易なメモリ(周辺デバイス52の内蔵メモリ52a)にブートプログラムの一部を転送し、転送先のメモリ上で、DRAMの初期化及びメインプログラムの転送を行うようにしたため、分岐命令の使用が可能になり、全てのメインプログラムを確実にDRAMに転送することが可能になる。また、本来は、機能ブロック52bの動作に必要なテーブルやバッファとして使用する集積回路の内蔵メモリ52aを、一部のブートプログラムの格納用メモリとして使用可能にしたことにより、新たにブートプログラム格納用のメモリを搭載する必要がなく、起動システム200の製造コストを削減することができる。
なお、上記各実施の形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
本発明の実施形態1におけるコンピュータの起動システム100の構成を示す図。 周辺デバイス51内の制御レジスタ51a内に存在する、あるアドレスで示される1バイト分のレジスタの回路構成を示す図。 実施形態1の起動システム100において実行されるシステム起動処理を示すフローチャート。 実施形態1の起動システム100における各メモリのアドレスマップを示す図。 本発明の実施形態2におけるコンピュータの起動システム200の構成を示す図。 実施形態2の起動システム200において実行されるシステム起動処理を示すフローチャート。 実施形態2の起動システム200における各メモリのアドレスマップを示す図。 従来のコンピュータの起動システム300の構成を示す図。 従来の起動システム300における各メモリのアドレスマップを示す図。 従来のコンピュータの起動システム400の構成を示す図。 従来の起動システム400における各メモリのアドレスマップを示す図。
符号の説明
1 ブート用ROM
2、21 フラッシュメモリ
3 DRAM
41、42 CPU(制御部)
51、52 周辺デバイス(集積回路)
51a 制御レジスタ(データ記憶装置)
51b、52b 機能ブロック
52a 内蔵メモリ
10 制御信号、アドレス信号
11 データバス
100、200 コンピュータの起動システム
CS0、CS1、CS2 チップセレクト信号

Claims (5)

  1. コンピュータシステムの動作を制御する制御部と、前記制御部により実行される制御プログラムを格納するシリアル型の不揮発性メモリと、所定の処理を実行するための集積回路を備えるコンピュータの起動システムにおいて、
    前記集積回路は、前記所定の処理を実行するための設定値を格納する制御レジスタを有し、
    前記集積回路の制御レジスタは、コンピュータシステムの起動プログラムを当該制御レジスタの初期値として格納し、
    前記制御部は、コンピュータシステムの起動時、前記制御レジスタに格納された前記初期値を読み出すことにより、前記起動プログラムを実行することを特徴とするコンピュータの起動システム。
  2. 前記制御レジスタは、コンピュータシステムの起動動作の終了後に、当該レジスタの設定値を、前記初期値から前記所定の処理を実行するための設定値に書き換えることを特徴とする請求項1に記載のコンピュータの起動システム。
  3. コンピュータシステムの動作を制御する制御部と、前記制御部により実行されるコンピュータシステムの制御プログラム及び起動プログラムを格納するシリアル型の不揮発性メモリと、所定の処理を実行するための集積回路を備えるコンピュータの起動システムであって、
    前記集積回路は、コンピュータシステムの起動時に、前記起動プログラムの一部を格納する内蔵メモリを有し、
    前記制御部は、コンピュータシステムの起動時、前記シリアル型の不揮発性メモリから前記起動プログラムを読み出して、当該起動プログラムの一部を、前記集積回路の内蔵メモリに転送し、転送先の内蔵メモリ上で、当該起動プログラムを実行することを特徴とするコンピュータの起動システム。
  4. 前記制御部は、コンピュータシステムの起動動作の終了後に、前記集積回路の内蔵メモリに、前記所定の処理を実行するための設定値を書き込むことを特徴とする請求項3に記載のコンピュータの起動システム。
  5. コンピュータに接続され、コンピュータによってデータを読み書きされるデータ記憶装置であって、
    電源投入時にデータ記憶装置に記憶されているデータを消去して初期化する初期化手段を備え、
    前記初期化手段は、前記記憶されているデータを、前記コンピュータによって実行可能なプログラムコードに初期化することを特徴とするデータ記憶装置。
JP2003341312A 2003-09-30 2003-09-30 コンピュータの起動システム Expired - Fee Related JP4461760B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003341312A JP4461760B2 (ja) 2003-09-30 2003-09-30 コンピュータの起動システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003341312A JP4461760B2 (ja) 2003-09-30 2003-09-30 コンピュータの起動システム

Publications (2)

Publication Number Publication Date
JP2005107938A true JP2005107938A (ja) 2005-04-21
JP4461760B2 JP4461760B2 (ja) 2010-05-12

Family

ID=34535951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003341312A Expired - Fee Related JP4461760B2 (ja) 2003-09-30 2003-09-30 コンピュータの起動システム

Country Status (1)

Country Link
JP (1) JP4461760B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172026A (ja) * 2005-12-19 2007-07-05 Samsung Electronics Co Ltd スキュー補正機能を有する回路ブロック
JP2008015725A (ja) * 2006-07-05 2008-01-24 Alpine Electronics Inc 情報処理装置およびプログラム起動方法
WO2009016832A1 (ja) * 2007-07-31 2009-02-05 Panasonic Corporation 不揮発性記憶装置および不揮発性記憶システム
US8156320B2 (en) 2008-08-27 2012-04-10 Wireless Silicon Group, Llc Method and apparatus for fast booting a portable computing device allowing for immediate operation
US8281169B2 (en) 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172026A (ja) * 2005-12-19 2007-07-05 Samsung Electronics Co Ltd スキュー補正機能を有する回路ブロック
JP2008015725A (ja) * 2006-07-05 2008-01-24 Alpine Electronics Inc 情報処理装置およびプログラム起動方法
WO2009016832A1 (ja) * 2007-07-31 2009-02-05 Panasonic Corporation 不揮発性記憶装置および不揮発性記憶システム
JP5220747B2 (ja) * 2007-07-31 2013-06-26 パナソニック株式会社 不揮発性記憶装置および不揮発性記憶システム
US8527691B2 (en) 2007-07-31 2013-09-03 Panasonic Corporation Nonvolatile memory device and nonvolatile memory system with fast boot capability
US8156320B2 (en) 2008-08-27 2012-04-10 Wireless Silicon Group, Llc Method and apparatus for fast booting a portable computing device allowing for immediate operation
US8281169B2 (en) 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
US8713241B2 (en) 2008-08-27 2014-04-29 Wireless Silicon Group, Llc Method and apparatus for an active low power mode of a portable computing device

Also Published As

Publication number Publication date
JP4461760B2 (ja) 2010-05-12

Similar Documents

Publication Publication Date Title
US5479639A (en) Computer system with a paged non-volatile memory
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US7496377B2 (en) Memory device in mobile phone
CN110032520B (zh) 系统开机代码存储器管理方法、存储器装置及其制造方法
US7234052B2 (en) System boot using NAND flash memory and method thereof
TW556200B (en) Improved register interface for flash EEPROM memory arrays
JP2006502482A (ja) 非線形メモリからのブーティング
JPH0476626A (ja) マイクロコンピュータ
JP2004258946A (ja) メモリカード
TWI790456B (zh) 記憶體定址方法及相關聯的控制器
JP2008041098A (ja) メモリーカード及び該データ格納方法
KR20080099692A (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법
KR20100092752A (ko) 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법
JP4294894B2 (ja) メモリカード
JP4461760B2 (ja) コンピュータの起動システム
KR101620349B1 (ko) 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법
JP2011227730A (ja) マイクロコンピュータ
KR100223844B1 (ko) 옵션 자동 설정 회로
JP2002207640A (ja) 情報処理装置
JP4235624B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4334312B2 (ja) 起動時間短縮演算装置およびデータロード方法
JP2006127407A (ja) 半導体集積回路
JP2006178909A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2008065549A (ja) マイクロコンピュータ、情報処理システム、電子機器及びマイクロコンピュータの起動制御方法
JP5823000B2 (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4461760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees