JP4461760B2 - Computer boot system - Google Patents
Computer boot system Download PDFInfo
- Publication number
- JP4461760B2 JP4461760B2 JP2003341312A JP2003341312A JP4461760B2 JP 4461760 B2 JP4461760 B2 JP 4461760B2 JP 2003341312 A JP2003341312 A JP 2003341312A JP 2003341312 A JP2003341312 A JP 2003341312A JP 4461760 B2 JP4461760 B2 JP 4461760B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- memory
- computer
- registers
- stored
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、コンピュータの起動システム及びデータ記憶装置に関する。 The present invention relates to a computer startup system and a data storage device.
CPU(Central Processing Unit)、メモリ及びその周辺デバイスから構成されるデジタルカメラ、携帯端末等のコンピュータでは、メモリーカード等の外部記録媒体を使用しなくてもある程度の容量のデータを保存することが可能であることから、プログラムを格納するための不揮発性メモリとして、プログラム格納に適したパラレル型フラッシュメモリの代わりに、大容量のデータ格納に適したシリアル型フラッシュメモリが使用されることが多い。 Computers such as CPUs (Central Processing Units), memories and their peripheral devices, digital cameras, and portable terminals can store a certain amount of data without using an external recording medium such as a memory card. Therefore, as a nonvolatile memory for storing a program, a serial flash memory suitable for storing a large amount of data is often used instead of a parallel flash memory suitable for storing a program.
一般に、NAND型、AND型のフラッシュメモリに代表されるシリアル型の不揮発性メモリは、容量単価が安く、消去や書込み速度が速いことから、NOR型のフラッシュメモリに代表されるパラレル型の不揮発性メモリよりも大容量化に適している。しかしながら、シリアル型の不揮発性メモリは、ブロック単位での読み書きしかできないため、ランダムアクセスが非常に遅いという欠点がある。 In general, serial type nonvolatile memory represented by NAND type and AND type flash memory has a low capacity unit price and high erasing and writing speed. Therefore, parallel type nonvolatile memory represented by NOR type flash memory. Suitable for larger capacity than memory. However, the serial type nonvolatile memory has a drawback that random access is very slow because it can only read and write in block units.
CPUが直接アクセスするプログラム用メモリは、ランダムアクセスを高速で行う必要があるため、シリアル型の不揮発性メモリをプログラム格納用のメモリとして使用する場合には、電源投入直後に、ブートプログラム(起動プログラム)によって、シリアル型の不揮発性メモリに格納されたプログラムデータを、DRAM(Dynamic Random Access Memory)等の高速でのランダムアクセスが可能な揮発性メモリに全て転送してから、転送先のメモリ上でプログラムを実行させる必要がある(例えば、特許文献1及び特許文献2参照。)。
Since the program memory directly accessed by the CPU needs to perform random access at high speed, when using a serial type nonvolatile memory as a program storage memory, a boot program (startup program) immediately after power-on To transfer all program data stored in the serial type non-volatile memory to a volatile memory such as DRAM (Dynamic Random Access Memory) that allows random access at high speed, and then program it on the destination memory. (For example, see
図8に、プログラム格納用メモリとしてシリアル型のフラッシュメモリを用いたコンピュータの起動システム300の構成を示す。起動システム300は、図8に示すように、ブートROM1、フラッシュメモリ2、DRAM3、CPU4、周辺デバイス5により構成される。図8において、フラッシュメモリ2は、シリアル型の不揮発性メモリであり、DRAM3は、パラレル型の揮発性メモリである。
FIG. 8 shows a configuration of a
ブートROM1は、不揮発性メモリであり、コンピュータシステムを立ち上げるためのブートプログラム(起動プログラム)を格納する。フラッシュメモリ2は、システムを動作させるためのメインプログラムを格納する。ブートROM1、フラッシュメモリ2及びDRAM3は、CPU4のアドレス空間にマッピングされている。CPU4は、チップセレクト信号CS0、CS1、CS2をアサートすることによって各々のメモリを選択し、選択されたメモリに対して、制御信号及びアドレス信号10により、データの読み出し動作、書き込み動作等の制御を行う。各メモリから読み出されたデータは、データバス11を経由して指定された転送先に転送される。なお、ここで「アサートする」とは、信号や論理を有効にすることをいい、上記では、各チップセレクト信号のうち処理を行う対象のICを有効にすることをいう。
The
周辺デバイス5は、画像処理等の機能を有する集積回路であり、内部動作を制御するための各種設定値を記憶するレジスタ及びメモリを備える。周辺デバイス5は、CPU4により、チップセレクト信号CS3がアサートされると、制御信号及びアドレス信号10に従って、読み出し、書き込み等の処理を行う。
The
図9に、起動システム300におけるフラッシュメモリ2及びDRAM3のアドレスマップを示す。コンピュータの電源が投入されると、CPU4によって、リセットベクタアドレスにマッピングされているチップセレクト信号CS0がアサートされ、ブートROM1のスタートアドレスからブートプログラムの実行が開始される。
FIG. 9 shows an address map of the
ブートプログラムに従って、CPU4を含むシステムの初期化、フラッシュメモリ2及びDRAM3の初期化が行われた後、フラッシュメモリ2に格納されているメインプログラムコードがDRAM3に転送される。転送終了後、ブートプログラムの実行アドレスが、DRAM3に転送されたメインプログラムのスタートアドレスにジャンプされ、ブートプログラムの実行が終了する。ブートプログラムの実行が終了すると、DRAM3上のメインプログラムの実行が開始され、システムが動作する。
After initialization of the system including the
なお、図8の起動システム300では、ブートプログラムを格納するメモリとして、ROMを用いる例を示したが、周辺デバイス5がASIC(Application Specific Integrated Circuit)等の集積回路であって、汎用メモリの搭載が可能である場合には、周辺デバイス5内にブートプログラム格納用のROMが内蔵される場合もある。
In the
シリアル型のフラッシュメモリの中には、起動直後に、コマンド・アドレス等のシリアル型特有の制御を行わなくても、ROMアクセスと同様の制御で、特定のブロックに格納されているデータを読み出すオートリード機能を有するものがある。図10に、オートリード機能を有するフラッシュメモリを用いたコンピュータの起動システム400の構成を示す。起動システム400を構成する各部のうち、図8に示した起動システム300と同一の構成部分には、同一の符号を付している。
Some serial flash memory auto-reads data stored in a specific block with the same control as ROM access without the need for serial type specific control such as command and address immediately after startup. Some have a lead function. FIG. 10 shows a configuration of a
起動システム400は、図10に示すように、オートリード機能を有するフラッシュメモリ20、DRAM3、CPU40、周辺デバイス5により構成されている。フラッシュメモリ20は、オートリード機能を有し、特定ブロックに、ブートプログラムコード(ブートプログラムのプログラムコード)を格納している。
As shown in FIG. 10, the
図11に、起動システム400におけるフラッシュメモリ20及びDRAM3のアドレスマップを示す。コンピュータの電源が投入されると、CPU40によって、リセットベクタアドレスにマッピングされているチップセレクト信号CS0がアサートされ、フラッシュメモリ20に格納されたブートデータが、先頭データから順番にシーケンシャルに読み出され、ブートプログラムの実行が開始される。以降の動作は、起動システム300の動作と同様である。
しかしながら、従来の起動システムには以下のような問題があった。
図8に示した起動システム300では、ブートプログラムを格納するための専用の不揮発性メモリ(ブートROM1又は集積回路内のROM)を搭載しなければならないため、システム全体の製造コストが高くなってしまうという問題があった。また、図10に示した起動システム400では、フラッシュメモリ22に格納されたブートプログラムを、先頭データからシーケンシャルにしか読み出せないため、分岐命令を使用することができなかった。従って、例えば、DRAMのように、初期化にある程度複雑なシーケンスが必要なメモリにプログラムを転送する場合、全てのプログラムデータを転送できない可能性があった。
However, the conventional startup system has the following problems.
In the start-
本発明の課題は、コンピュータの起動システムにおける製造コストを削減し、シリアル型不揮発性メモリに起動プログラムを格納している場合でも、分岐命令を使用可能にすることである。 An object of the present invention is to reduce the manufacturing cost in a computer boot system and to enable a branch instruction even when a boot program is stored in a serial nonvolatile memory.
請求項1に記載の発明は、CPU、メモリおよび周辺デバイスを含んで構成され、該CPUにリセット信号を入力することにより所定のアドレスからプログラムの実行を開始するコンピュータの起動システムであって、複数のレジスタの各々に対して、前記所定のアドレスから順番に個別のアドレスが割り振られ、各レジスタに記憶されているデータをランダムに読み書きすることが可能な複数レジスタの組を備え、前記複数レジスタの組は、複数のフリップフロップ回路により構成され、前記所定のアドレスから順番に記憶内容を読み出したときに、起動プログラムのプログラムコードに初期化されるように、前記リセット信号が各々のフリップフロップ回路のセット端子またはリセット端子に接続されており、前記リセット信号を入力することによって各レジスタに記憶されている複数のデータを同時に起動プログラムのプログラムコードに初期化することが可能なように構成されていることを特徴とする。
The invention according to
請求項2に記載の発明は更に、前記初期化した状態で前記複数レジスタの組に記憶されているプログラムは、前記コンピュータシステムの起動時に実行される起動プログラムであり、前記コンピュータシステムの起動時に前記リセット信号を出力して前記複数レジスタの組を初期化するとともに、この初期化した状態で前記複数レジスタの組に記憶されている前記起動プログラムを、前記所定のアドレスから順番に実行させることを特徴とする。
In the invention described in
請求項3に記載の発明は更に、前記メモリは、前記コンピュータシステムの起動後の動作を制御する制御プログラムを記憶するメモリであり、前記複数レジスタの組に記憶されている起動プログラムによって前記コンピュータシステムを起動した後は、前記メモリに記憶されている制御プログラムを実行することを特徴とする。
Furthermore the invention according to
請求項4に記載の発明は更に、前記複数レジスタの組に記憶されている起動プログラムから前記メモリに記憶されている制御プログラムに制御を移した後は、前記複数レジスタの組に含まれる各レジスタのデータ内容を書き換えることで前記周辺デバイスが各種処理を実行するのを制御することを特徴とする。
Furthermore the invention according to
請求項5に記載の発明は更に、前記メモリは、前記制御プログラムが記録された不揮発性メモリと揮発性メモリとで構成され、前記起動プログラムは、前記不揮発性メモリに記憶されている制御プログラムを前記揮発性メモリに転送するプログラムを含み、前記起動プログラムによって前記不揮発性メモリから前記揮発性メモリへと制御プログラムが転送された後に、前記揮発性メモリ上で該制御プログラムを実行することを特徴とする。
請求項6に記載の発明は更に、前記不揮発性メモリは、シリアルアクセスを行うメモリであり、前記揮発性メモリは、ランダムアクセスを行うメモリであることを特徴とする。
請求項7に記載の発明は更に、前記周辺デバイスは、前記複数レジスタの組を内蔵し、該複数レジスタの組に含まれるレジスタを利用して所定の処理を実行し、前記コンピュータシステムの起動動作の終了後に、前記複数レジスタの組に含まれる各レジスタの設定値を、前記初期化された初期値から前記所定の処理を実行するための設定値に書き換えることを特徴とする。
According to a fifth aspect of the present invention, the memory further includes a nonvolatile memory and a volatile memory in which the control program is recorded, and the startup program is a control program stored in the nonvolatile memory. and characterized in that said comprises a program to be transferred to the volatile memory, after which the control program to the volatile memory from the nonvolatile memory has been transferred by the activation program and executes the control program on the volatile memory To do.
According to a sixth aspect of the present invention, the nonvolatile memory is a memory that performs serial access, and the volatile memory is a memory that performs random access.
Furthermore the invention according to
本発明によれば、リセット信号を入力することにより所定のアドレスからプログラムの実行を開始するコンピュータの起動システムであって、複数のレジスタの各々に対して個別のアドレスが割り振られ、各レジスタに記憶されているデータをランダムに読み書きすることが可能な複数レジスタの組を備え、前記複数レジスタの組は、前記リセット信号を入力することによって各レジスタに記憶されている複数のデータを同時に初期化することが可能なように構成されるとともに、各レジスタには、前記リセット信号を入力することによりプログラムの実行を開始する前記所定のアドレスから順番にアドレスが割り振られるようにしたことにより、起動プログラムを格納するための専用のメモリを搭載する必要がなくなり、起動システムの製造コストを削減することができる。 According to the present invention, there is provided a computer activation system that starts execution of a program from a predetermined address by inputting a reset signal, and an individual address is allocated to each of a plurality of registers and stored in each register. A plurality of register sets that can read and write the data being read at random, and the plurality of register sets simultaneously initialize a plurality of data stored in each register by inputting the reset signal. In addition, each register is assigned an address in order from the predetermined address that starts execution of the program by inputting the reset signal. There is no need to install a dedicated memory to store the boot system. It is possible to reduce the cost.
以下、図面を参照して、本発明の実施形態について詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(実施形態1)
図1〜図4を参照して、本発明に係る実施形態1について詳細に説明する。まず、本実施形態1のシステム構成を説明する。
(Embodiment 1)
図1に、実施形態1のコンピュータの起動システム100の構成を示す。起動システム100は、デジタルカメラ、携帯電話等のコンピュータに搭載され、図1に示すように、フラッシュメモリ2、DRAM3、CPU41、周辺デバイス51により構成される。
FIG. 1 shows a configuration of a
フラッシュメモリ2は、シリアル型の不揮発性メモリであり、コンピュータシステムを動作させるためのメインプログラム(制御プログラム)と、各種プログラムの実行に必要なデータ等を格納する。DRAM3は、パラレル型の揮発性メモリであり、フラッシュメモリ2から転送されたメインプログラムを展開する。フラッシュメモリ2及びDRAM3は、CPU4のアドレス空間にマッピングされている。
The
CPU41は、制御信号及びアドレス信号10により、フラッシュメモリ2、DRAM3、周辺デバイス51の制御レジスタ51aにおける読み出し動作、書き込み動作を制御する。各メモリから読み出されたデータは、データバス11を経由して指定された転送先に転送される。
The
例えば、CPU41は、コンピュータシステムが起動されると、リセットベクタアドレスにマッピングされているチップセレクト信号CS0をアサートすることにより、周辺デバイス51の制御レジスタ51aを選択し、制御レジスタ51aからブートプログラムコード(ブートプログラムのプログラムコード)を読み出して、ブートプログラムを実行する。
For example, when the computer system is activated, the
また、CPU41は、チップセレクト信号CS1をアサートすることにより、フラッシュメモリ2を選択し、フラッシュメモリ2における読み出し動作、書き込み動作を制御する。具体的には、CPU41は、フラッシュメモリ2からメインプログラムを読み出して、DRAM3に転送させる。
Further, the
CPU41は、チップセレクト信号CS2をアサートすることにより、DRAM3を選択し、DRAM3における読み出し動作、書き込み動作を制御する。具体的には、CPU41は、DRAM3上に展開されたメインプログラムを読み出して実行する。
The
周辺デバイス51は、画像処理等の機能を有する集積回路であり、制御レジスタ51a及び機能ブロック51bを備える。制御レジスタ51aは、制御信号及びアドレス信号10に従って、読み出し、書き込み等の処理を行う。制御レジスタ51aは、下記図2の説明にて述べるように、初期値がブートプログラムコードになるように設定されており、CPU41によりブートプログラムコードが読み出された後、メインプログラムに従って、機能ブロック51bの動作仕様に合わせて設定値を書き換える。機能ブロック51bは、制御レジスタ51aに設定された値に従って動作する。
The
図2に、制御レジスタ51aの内部の、あるアドレスに対応した記憶部(以下、「1バイトレジスタ」という。)の詳細な構成を示す。図2は、データバス11が8ビットのバス幅を有する場合の例である。制御レジスタは、図2に示すような1バイトレジスタを複数個有しており、ブートプログラムのプログラムコードを格納するのに充分な容量のレジスタを有しているものとする。制御レジスタ51aの内部の1バイトレジスタは、図2に示すように、8個のフリップフロップにより構成されている。各フリップフロップは、リセット信号が、それぞれのフリップフロップのセット端子若しくはリセット端子に接続されることにより1又は0にリセットされる。ここで、この各フリップフロップは、リセットベクタアドレスから順にこの制御レジスタ51aの記憶内容を読み出したときに、ちょうどブートプログラムのプログラムコードとなっているように、あらかじめリセット信号のセット/リセット端子への配線が調整されている。図2では、上位ビットDout[7]から順に、10100110、すなわち「A6H」の8ビットのデータが設定されるようになっている例を示している。
FIG. 2 shows a detailed configuration of a storage unit (hereinafter referred to as “1-byte register”) corresponding to a certain address in the
次に、本実施形態1における動作について説明する。
図3のフローチャート及び図4のアドレスマップを参照して、起動システム100により実行されるシステム起動処理について説明する。
Next, the operation in the first embodiment will be described.
With reference to the flowchart in FIG. 3 and the address map in FIG. 4, system activation processing executed by the
コンピュータの電源が投入されると、CPU41によって、リセットベクタアドレスにマッピングされているチップセレクト信号CS0がアサートされ、周辺デバイス51内の制御レジスタ51aからブートROMコードが読み出され、ブートプログラムの実行が開始される(ステップS1)。ここで、本実施形態においては、周辺デバイス51内の制御レジスタ51aの、所定のアドレスのレジスタ(以下「実行開始アドレス」という。)から順に、ブートプログラムコードが読み出されて、ブートプログラムが実行されるようにするために、リセットベクタアドレスとして周辺デバイス51内の制御レジスタ51a内の、上記所定の実行開始アドレスを記憶しているように構成されている。
When the computer is turned on, the
ブートプログラムの実行が開始されると、あらかじめリセット信号のセット/リセット端子への配線によって、ちょうどブートプログラムのプログラムコードとなるように設定されていた制御レジスタ51a内の各レジスタの初期値が、順次読み出されて実行されていき、CPU41を含むシステムの初期化、フラッシュメモリ2及びDRAM3の初期化が行われ(ステップS2)、フラッシュメモリ2に格納されているメインプログラムコードがDRAM3に転送される(ステップS3)。
When the execution of the boot program is started, the initial values of the respective registers in the
メインプログラムの転送終了後、ブートプログラムの実行アドレスが、DRAM3に転送されたメインプログラムのスタートアドレスにジャンプされ(ステップS4)、ブートプログラムの実行が終了する。ブートプログラムの実行が終了すると、DRAM3上のメインプログラムの実行が開始され(ステップS5)、コンピュータシステムが動作する。
After the transfer of the main program is completed, the execution address of the boot program is jumped to the start address of the main program transferred to the DRAM 3 (step S4), and the execution of the boot program is completed. When execution of the boot program is completed, execution of the main program on the
メインプログラムの実行が開始されると、制御レジスタ51aの設定値が、機能ブロック51bの動作仕様に合わせて書き換えられ、制御レジスタ51aの設定値に従って、機能ブロック51bの動作が行われる。すなわち、制御レジスタ51aの各レジスタは、必要に応じて値を書き換えられる等して使用されることになるが、ブートプログラムは電源投入時にのみ実行されれば足りるため、ブートプログラムの実行が終了した後は消去されても何ら問題は生じない。また、制御レジスタ51aの各レジスタは、通常、初期値に依存して使用される場合は少なく、初期値は不定であるとしてシステム全体が設計されている場合が多いため、初期値がブートプログラムのプログラムコードとなるように設定されていたとしても、その後のメインプログラムの実行に支障は来さない。従って、このように制御レジスタ51aを使用することにより、制御レジスタ51aを非常に効率的に使用することが可能となる。
When the execution of the main program is started, the set value of the
以上のように、本実施形態1の起動システム100によれば、コンピュータシステムのブートプログラムを、周辺デバイス51が備える制御レジスタ51aの初期値として格納し、システム起動後、制御レジスタ51aを、機能ブロック51bを制御する通常のレジスタとして使用するようにしたことで、制御レジスタ51aを、システム起動用と、機能ブロック制御用の二通りの用途で使用可能になり、ブートプログラム格納用の不揮発性メモリ(例えば、図8のブートROM1)を搭載する必要がなくなる。従って、起動システム100の製造コストを削減することができる。
As described above, according to the
(実施形態2)
次に、図5〜図7を参照して、本発明に係る実施形態2について詳細に説明する。まず、本実施形態2のシステム構成を説明する。
(Embodiment 2)
Next,
図5に、実施形態2のコンピュータの起動システム200の構成を示す。起動システム200を構成する各部のうち、図1に示した起動システム100と同一の構成部分には、同一の符号を付している。起動システム200は、デジタルカメラ、携帯電話等のコンピュータに搭載され、図5に示すように、フラッシュメモリ21、DRAM3、CPU42、周辺デバイス52により構成される。
FIG. 5 shows the configuration of a
フラッシュメモリ21は、前述のオートリード機能を有するシリアル型の不揮発性メモリであり、コンピュータシステムを動作させるためのメインプログラム(制御プログラム)と、各種プログラムの実行に必要なデータ等を格納するとともに、上記オートリード機能によってシステムの起動直後に読み出される特定のブロックに、コンピュータシステムを立ち上げるためのブートプログラム(起動プログラム)を格納する。DRAM3は、パラレル型の揮発性メモリであり、フラッシュメモリ21から転送されたメインプログラムを展開する。
The
CPU42は、制御信号及びアドレス信号10により、フラッシュメモリ21、DRAM3、周辺デバイス52の内蔵メモリ52aにおける読み出し動作、書き込み動作を制御する。各メモリから読み出されたデータは、データバス11を経由して指定された転送先に転送される。
The
CPU42は、コンピュータシステムが起動されると、リセットベクタアドレスにマッピングされているチップセレクト信号CS0をアサートすることにより、フラッシュメモリ21を選択し、フラッシュメモリ21のオートリード機能を用いてブートプログラムをシーケンシャルに読み出してブートプログラムを実行する。このとき、CPU42は、ブートプログラムの一部の命令コードを周辺デバイス52の内蔵メモリ52aに転送させる。オートリード機能によってフラッシュメモリ21から読み出すことのできるプログラムコードの容量は限られている場合が多く、この容量だけでブートプログラムを全て格納できない場合があり、このような場合に、いったんブートプログラムのプログラムコードの一部の命令コードを、フラッシュメモリ21から周辺デバイス52の内蔵メモリ52aに転送させて、この内蔵メモリ52aからブートプログラムが実行されるようにするためである。ここで、ブートプログラムの一部の命令コードとは、DRAM3の初期化を指示するコードと、フラッシュメモリ21からDRAM3へのメインプログラムの転送を指示するコードである。
When the computer system is activated, the
また、CPU42は、チップセレクト信号CS1をアサートすることにより、周辺デバイス52を選択して、周辺デバイス52における読み出し動作、書き込み動作を制御する。具体的には、CPU42は、周辺デバイス52の内蔵メモリ52aに格納された上記命令コードを読み出し、DRAM3を初期化させ、フラッシュメモリ21からDRAM3へメインプログラムを転送させる。
The
更に、CPU42は、チップセレクト信号CS2をアサートすることにより、DRAM3を選択し、DRAM3における読み出し動作、書き込み動作を制御する。具体的には、CPU42は、DRAM3上に展開されたメインプログラムを読み出して実行する。
Further, the
また、CPU42は、コンピュータシステムの起動動作の終了後、メインプログラムに従って、内蔵メモリ52aに、機能ブロック52bの動作仕様に応じた設定値を書き込む。
In addition, after the startup operation of the computer system is completed, the
周辺デバイス52は、画像処理等の機能を有する集積回路であり、内蔵メモリ52a及び機能ブロック52bを備える。内蔵メモリ52aは、SRAM(Static Random Access Memory)等により構成されており、ブートプログラムの一部の命令コードと、機能ブロック52bの動作に必要な各種設定値を格納する。なお、SRAMは、DRAM3と比較して、初期化が容易で初期化に必要なコードも少なく、また、ランダムアクセスが可能であることから、本実施形態では、ブートプログラムの一部を,フラッシュメモリ21からDRAM3にコピーするのではなく、SRAMにコピーして実行するようにしている。
The
内蔵メモリ52aは、制御信号及びアドレス信号10に従って、読み出し、書き込み等の処理を行う。具体的には、内蔵メモリ52aは、フラッシュメモリ21から転送されたブートプログラムの一部の命令コードの、書き込み動作、読み出し動作を行う。機能ブロック52bは、内蔵メモリ52aに設定された値に従って動作する。
The built-in
次に、本実施形態2における動作について説明する。
図6のフローチャート及び図7のアドレスマップを参照して、起動システム200により実行されるシステム起動処理について説明する。
Next, the operation in the second embodiment will be described.
A system activation process executed by the
コンピュータの電源が投入されると、CPU42によって、リセットベクタアドレスにマッピングされているチップセレクト信号CS0がアサートされ、フラッシュメモリ21のオートリード機能により、ブートプログラムがシーケンシャルに読み出され、ブートプログラムの実行が開始される(ステップS11)。
When the computer is turned on, the
すると、まず、内蔵メモリ52aが初期化された後に、フラッシュメモリ21から読み出されたブートプログラムの一部の命令コードが、内蔵メモリ52aに転送される(ステップS12)。ここで、ブートプログラムの一部の命令コードとは、DRAM3の初期化を指示するコードと、フラッシュメモリ21からDRAM3へのメインプログラムの転送を指示するコードである。DRAMの初期化コードに比べてSRAMの初期化コードは非常に少なくて済むことから、オートリード機能で読み出し可能な限られた容量のブートプログラムとして、内蔵メモリ52aの初期化のプログラムコードと、フラッシュメモリ21から読み出されたブートプログラムの一部の命令コードの内蔵メモリ52aへの転送処理のプログラムコードを記録しておき、その他のブートプログラムについては、転送された内蔵メモリ52a上のプログラムコードを用いて実行するようにしているものである。
Then, first, after the
次いで、ブートプログラムの実行アドレスが、内蔵メモリ52aに転送されたブートプログラムのスタートアドレスにジャンプされ、フラッシュメモリ21によるオートリードが終了する(ステップS13)。
Next, the execution address of the boot program is jumped to the start address of the boot program transferred to the built-in
ブートプログラムの実行が開始されると、内蔵メモリ52aに格納された命令コードに従って、CPU42を含むシステムの初期化、フラッシュメモリ21及びDRAM3の初期化が行われ(ステップS14)、フラッシュメモリ21に格納されているメインプログラムコードがDRAM3に転送される(ステップS15)。
When execution of the boot program is started, the system including the
メインプログラムの転送終了後、内蔵メモリ52aに格納された命令コードに従って、ブートプログラムの実行アドレスが、DRAM3に転送されたメインプログラムのスタートアドレスにジャンプされ(ステップS16)、ブートプログラムの実行が終了する。ブートプログラムの実行が終了すると、DRAM3上のメインプログラムの実行が開始され(ステップS17)、コンピュータシステムが動作する。
After the transfer of the main program is finished, the execution address of the boot program is jumped to the start address of the main program transferred to the
メインプログラムの実行が開始されると、内蔵メモリ52aの設定値が、機能ブロック52bの動作仕様に合わせて書き換えられ、内蔵メモリ52aの設定値に従って、機能ブロック52bの動作が行われる。
When the execution of the main program is started, the set value of the
以上のように、本実施形態2の起動システム200によれば、シリアル型の不揮発性メモリ(フラッシュメモリ21)にブートプログラムを格納し、オートリード機能を用いてシーケンシャルにブートプログラムを読み出すとき、SRAM等のランダムアクセスが可能で初期化の容易なメモリ(周辺デバイス52の内蔵メモリ52a)にブートプログラムの一部を転送し、転送先のメモリ上で、DRAMの初期化及びメインプログラムの転送を行うようにしたため、分岐命令の使用が可能になり、全てのメインプログラムを確実にDRAMに転送することが可能になる。また、本来は、機能ブロック52bの動作に必要なテーブルやバッファとして使用する集積回路の内蔵メモリ52aを、一部のブートプログラムの格納用メモリとして使用可能にしたことにより、新たにブートプログラム格納用のメモリを搭載する必要がなく、起動システム200の製造コストを削減することができる。
As described above, according to the
なお、上記各実施の形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。 Note that the description content in each of the above embodiments can be changed as appropriate without departing from the spirit of the present invention.
1 ブート用ROM
2、21 フラッシュメモリ
3 DRAM
41、42 CPU(制御部)
51、52 周辺デバイス(集積回路)
51a 制御レジスタ(データ記憶装置)
51b、52b 機能ブロック
52a 内蔵メモリ
10 制御信号、アドレス信号
11 データバス
100、200 コンピュータの起動システム
CS0、CS1、CS2 チップセレクト信号
1 Boot ROM
2, 21
41, 42 CPU (control unit)
51, 52 Peripheral devices (integrated circuits)
51a Control register (data storage device)
51b,
Claims (7)
複数のレジスタの各々に対して、前記所定のアドレスから順番に個別のアドレスが割り振られ、各レジスタに記憶されているデータをランダムに読み書きすることが可能な複数レジスタの組を備え、
前記複数レジスタの組は、複数のフリップフロップ回路により構成され、前記所定のアドレスから順番に記憶内容を読み出したときに、起動プログラムのプログラムコードに初期化されるように、前記リセット信号が各々のフリップフロップ回路のセット端子またはリセット端子に接続されており、前記リセット信号を入力することによって各レジスタに記憶されている複数のデータを同時に起動プログラムのプログラムコードに初期化することが可能なように構成されていることを特徴とするコンピュータの起動システム。 A computer startup system comprising a CPU, a memory and peripheral devices, and starting execution of a program from a predetermined address by inputting a reset signal to the CPU ,
For each of a plurality of registers, an individual address is allocated in order from the predetermined address, and a set of a plurality of registers capable of randomly reading and writing data stored in each register is provided,
The set of the plurality of registers is composed of a plurality of flip-flop circuits, and when the stored contents are read sequentially from the predetermined address, the reset signal is initialized to the program code of the activation program. It is connected to the set terminal or reset terminal of the flip-flop circuit, and by inputting the reset signal, a plurality of data stored in each register can be simultaneously initialized to the program code of the activation program computer boot system, characterized in that it is configured.
前記コンピュータシステムの起動時に前記リセット信号を出力して前記複数レジスタの組を初期化するとともに、この初期化した状態で前記複数レジスタの組に記憶されている前記起動プログラムを、前記所定のアドレスから順番に実行させることを特徴とする請求項1に記載のコンピュータの起動システム。 The program stored in the set of the plurality of registers in the initialized state is a startup program that is executed when the computer system is started,
When the computer system is started, the reset signal is output to initialize the plurality of register sets, and the startup program stored in the plurality of register sets in the initialized state is started from the predetermined address. The computer activation system according to claim 1, wherein the computer activation system is executed in order.
前記複数レジスタの組に記憶されている起動プログラムによって前記コンピュータシステムを起動した後は、前記メモリに記憶されている制御プログラムを実行することを特徴とする請求項2に記載のコンピュータの起動システム。 The memory is a memory for storing a control program for controlling the operation after start of the computer system,
Wherein the after starting the computer system by a plurality registers set to the stored boot program, the computer boot system according to claim 2, characterized by executing a control program stored in the memory.
前記起動プログラムは、前記不揮発性メモリに記憶されている制御プログラムを前記揮発性メモリに転送するプログラムを含み、
前記起動プログラムによって前記不揮発性メモリから前記揮発性メモリへと制御プログラムが転送された後に、前記揮発性メモリ上で該制御プログラムを実行することを特徴とする請求項3または4に記載のコンピュータの起動システム。 The memory is composed of a nonvolatile memory and a volatile memory in which the control program is recorded,
The startup program includes a program for transferring a control program stored in the nonvolatile memory to the volatile memory,
5. The computer according to claim 3, wherein the control program is executed on the volatile memory after the control program is transferred from the nonvolatile memory to the volatile memory by the startup program. Boot system.
前記揮発性メモリは、ランダムアクセスを行うメモリであることを特徴とする請求項5に記載のコンピュータの起動システム。 The nonvolatile memory is a memory that performs serial access,
6. The computer startup system according to claim 5, wherein the volatile memory is a memory that performs random access.
前記コンピュータシステムの起動動作の終了後に、前記複数レジスタの組に含まれる各レジスタの設定値を、前記初期化された初期値から前記所定の処理を実行するための設定値に書き換えることを特徴とする請求項3乃至6のいずれかに記載のコンピュータの起動システム。 The peripheral device has a built-in set of multiple registers, executes various processes using a register included in the set of said plurality of registers,
And wherein the rewriting after the end of the start-up operation of the computer system, the set values of the registers included in the set of multiple registers, the set value for executing the predetermined processing from the initialization initial value The computer activation system according to any one of claims 3 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003341312A JP4461760B2 (en) | 2003-09-30 | 2003-09-30 | Computer boot system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003341312A JP4461760B2 (en) | 2003-09-30 | 2003-09-30 | Computer boot system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005107938A JP2005107938A (en) | 2005-04-21 |
JP4461760B2 true JP4461760B2 (en) | 2010-05-12 |
Family
ID=34535951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003341312A Expired - Fee Related JP4461760B2 (en) | 2003-09-30 | 2003-09-30 | Computer boot system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4461760B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4819493B2 (en) * | 2005-12-19 | 2011-11-24 | 三星電子株式会社 | Circuit system |
JP2008015725A (en) * | 2006-07-05 | 2008-01-24 | Alpine Electronics Inc | Information processor and program activating method |
WO2009016832A1 (en) * | 2007-07-31 | 2009-02-05 | Panasonic Corporation | Nonvolatile storage device and nonvolatile storage system |
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) |
-
2003
- 2003-09-30 JP JP2003341312A patent/JP4461760B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005107938A (en) | 2005-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8185728B2 (en) | System boot using NAND flash memory and method thereof | |
US8433363B2 (en) | Memory device in mobile phone | |
US7340566B2 (en) | System and method for initializing a memory device from block oriented NAND flash | |
US5479639A (en) | Computer system with a paged non-volatile memory | |
JP5290516B2 (en) | Memory device, system having memory device, and method of operating embedded device | |
TW556200B (en) | Improved register interface for flash EEPROM memory arrays | |
US7240146B2 (en) | Random access interface in a serial memory device | |
JP5090819B2 (en) | Memory card and data storage method | |
JP2006502482A (en) | Booting from nonlinear memory | |
TWI790456B (en) | Memory addressing methods and associated controller | |
KR20100092752A (en) | Nonvolatile memory device having a buffer ram and boot code management method thereof | |
JP4461760B2 (en) | Computer boot system | |
US8745363B2 (en) | Bootable volatile memory device, memory module and processing system comprising bootable volatile memory device, and method of booting processing system using bootable volatile memory device | |
JP2011227730A (en) | Microcomputer | |
JP4235624B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP2002207640A (en) | Information processor | |
JP2006178909A (en) | Memory controller, flash memory system and method for controlling flash memory | |
JP2007310927A (en) | Nonvolatile memory, memory controller, and nonvolatile storage device and system | |
JP2012099015A (en) | Nonvolatile semiconductor memory device | |
JP2008065549A (en) | Microcomputer, information processing system, electronic equipment and start control method for microcomputer | |
JP2004273117A (en) | Semiconductor device mounting composite flash memory thereon, and portable device | |
JP2007317078A (en) | Nonvolatile memory, memory controller, nonvolatile storage device, and nonvolatile storage system | |
JP2005190312A (en) | Multi-chip package type memory system and computer system | |
JP5823000B2 (en) | Microcomputer | |
TWI602185B (en) | Memory device and operating method of the same |
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 |