(57)【要約】【課題】メモリへのアクセス衝突が起こらない情報処理装置及び情報処理方法を提供する。【解決手段】システムプログラム（図６）と処理プログラムと所定情報を格納する不揮発性メモリ１５と、揮発性メモリ１３と、不揮発性メモリに格納されたシステムプログラムに従って、所定情報の揮発性メモリへの複写処理と処理プログラムの処理とを同時に行なう際に、揮発性メモリにアクセスして、先に使用した揮発性メモリ中のデータを取得してキャッシュメモリ１２に保存（Ｓ３３）し、その後、不揮発性メモリから所定情報を読み出して揮発性メモリに複写（Ｓ３７）し、処理プログラムを用いてキャッシュメモリに保存したデータを処理（Ｓ３６）するべく制御するＣＰＵ１１をもつ情報処理装置。【選択図】図１
2008059155.tif 000002
【特許請求の範囲】
【請求項１】
システムプログラムと処理プログラムと所定情報を格納する不揮発性メモリと、
揮発性メモリと、
前記不揮発性メモリに格納された前記システムプログラムに従って、前記所定情報の前記揮発性メモリへの複写処理と前記処理プログラムの処理とを同時に行なう際に、
前記揮発性メモリにアクセスして、先に使用した前記揮発性メモリ中のデータを取得してキャッシュメモリに保存し、
その後、前記不揮発性メモリから前記所定情報を読み出し、前記揮発性メモリに複写し、
前記処理プログラムを用いて前記キャッシュメモリに保存したデータを処理するべく制御するＣＰＵと、を具備することを特徴とする情報処理装置。
【請求項２】
前記不揮発性メモリから前記所定情報を読み出して前記揮発性メモリに複写する際に用いるダイレクトメモリアクセスコントローラを更に有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記システムプログラムに従って、前記揮発性メモリにアクセスして、先に使用した前記揮発性メモリ中のデータを取得してキャッシュメモリに保存する工程の前に、前記ＣＰＵから前記不揮発性メモリへリードコマンドとアドレスを送信するべく制御することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記システムプログラムに従って、前記揮発性メモリにアクセスして、先に使用した前記揮発性メモリ中のデータを取得してキャッシュメモリに保存した後に、
前記不揮発性メモリがレディになるまで待った後、ダイレクトメモリアクセスコントローラにデータ読み出しの指示することを特徴とする請求項１記載の情報処理装置。
【請求項５】
システムプログラムと処理プログラムと所定情報を格納する不揮発性メモリと揮発性メモリとを有する情報処理システム内で行なわれる情報処理方法であって、
前記不揮発性メモリに格納された前記システムプログラムに従って、前記所定情報の前記揮発性メモリへの複写処理と前記処理プログラムの処理とを同時に行なう際に、
前記揮発性メモリにアクセスして、先に使用した前記揮発性メモリ中のデータを取得してキャッシュメモリに保存し、
その後、前記不揮発性メモリから前記所定情報を読み出し、前記揮発性メモリに複写し、
前記処理プログラムを用いて前記キャッシュメモリに保存したデータを処理するべく制御することを特徴とする情報処理方法。
【請求項６】
前記不揮発性メモリから前記所定情報を読み出して前記揮発性メモリに複写する際に用いるダイレクトメモリアクセスコントローラを用いることを特徴とする請求項５記載の情報処理方法。
【請求項７】
前記システムプログラムに従って、前記揮発性メモリにアクセスして、先に使用した前記揮発性メモリ中のデータを取得してキャッシュメモリに保存する工程の前に、前記ＣＰＵから前記不揮発性メモリへリードコマンドとアドレスを送信することを特徴とする請求項５記載の情報処理方法。
【請求項８】
前記システムプログラムに従って、前記揮発性メモリにアクセスして、先に使用した前記揮発性メモリ中のデータを取得してキャッシュメモリに保存した後に、
前記不揮発性メモリがレディになるまで待った後、ダイレクトメモリアクセスコントローラにデータ読み出しの指示することを特徴とする請求項５記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の情報処理を同時に行なう情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
最近、マイクロコンピュータが非常に普及してきており、その応用範囲は多岐に渡っている。又、フラッシュメモリや主メモリ等の複数のメモリを有しているマイクロコンピュータシステムが知られている。
【０００３】
特許文献１には、フラッシュメモリと主メモリ間のＤＭＡ転送を制御するＤＭＡＣ（Direct Memory Access Controller）を持ったマイクロコンピュータシステムが示されており、メモリ間のＤＭＡ転送処理とＣＰＵのプログラム処理とを同時に行なう処理が示されている。
【特許文献１】特開２００４−１１８５４４公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の従来技術では、メモリ間のＤＭＡ転送処理とＣＰＵのプログラム処理とを同時に行なう処理に際して、ＤＭＡ転送処理とプログラム処理とに由来する主メモリへのアクセスが衝突するという問題がある。
【０００５】
本発明は、プログラム処理と他の転送処理によるメモリへのアクセス衝突が起こらない情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願の一実施形態は、
システムプログラム（図５）と処理プログラムと所定情報を格納する不揮発性メモリ（１５）と、
揮発性メモリ（１３）と、
前記不揮発性メモリに格納された前記システムプログラムに従って、前記所定情報の前記揮発性メモリへの複写処理と前記処理プログラムの処理とを同時に行なう際に、
前記揮発性メモリにアクセスして、先に使用した前記揮発性メモリ中のデータを取得してキャッシュメモリ（１２）に保存し（Ｓ３３）、
その後、前記不揮発性メモリから前記所定情報を読み出し、前記揮発性メモリに複写し（Ｓ３７）、
前記処理プログラムを用いて前記キャッシュメモリに保存したデータを処理する（Ｓ３６）べく制御するＣＰＵ（１１）と、を具備することを特徴とする情報処理装置である。
【発明の効果】
【０００７】
主メモリである揮発性メモリへのプログラム処理と他の転送処理による複数のアクセスの衝突を回避して、円滑な複数の情報処理を実現する情報処理システムを提供する。
【発明を実施するための最良の形態】
【０００８】
以下、この発明の実施の形態について図面を参照して詳細に説明する。  
図１は、本発明の一実施形態に係る情報処理装置の構成の一例を示すブロック図である。図２は、本発明の一実施形態に係る情報処理装置が有する不揮発性メモリの構成の一例を示すブロック図である。図３は、本発明の一実施形態に係る情報処理装置が有する不揮発性メモリの読み出し処理の一例を示すフローチャート。図４は、本発明の特徴をもたない情報処理装置におけるデータ複写処理（ＤＭＡ）とプログラム処理（ＣＰＵ）の手順の一例を示すフローチャートである。図５は、本発明の特徴をもたない情報処理装置におけるデータ複写処理（ＤＭＡ）とプログラム処理（ＣＰＵ）の手順の一例を示すタイミングチャートである。図６は、本発明の一実施形態に係る情報処理装置におけるデータ複写処理（ＤＭＡ）とプログラム処理（ＣＰＵ）の手順の一例を示すフローチャートである。図７は、本発明の一実施形態に係る情報処理装置におけるデータ複写処理（ＤＭＡ）とプログラム処理（ＣＰＵ）の手順の一例を示すタイミングチャートである。
【０００９】
＜本発明の一実施形態である情報処理装置＞
（構成）
本発明の一実施形態である情報処理装置は、計算やデータの処理を行うＣＰＵ（中央演算処理装置）１１と、ＣＰＵがシステムプログラム、処理プログラム、データ等を格納するためのメインメモリ１３及び不揮発性メモリ１５と、不揮発性メモリ１５や外部の入出力部１６とメインメモリ１３の間でデータのやり取りを行うためのコントローラであるＤＭＡ１４とから成る。
【００１０】
又、メインメモリ１３とＣＰＵ１１の速度差が問題となっているため、高速かつ小容量のキャッシュメモリ１２をＣＰＵ１１内に持ち、頻繁に使用するデータをキャッシュメモリ１２へ格納する。外部の入出力部１６は必要に応じて接続するものとする。
【００１１】
データアクセス時の速度の問題から、システム起動時にシステムプログラムや処理プログラム、データは不揮発性メモリ１５からメインメモリ１３へ読み出される。又、計算結果についても一度メインメモリ１３へ格納された後、必要に応じて不揮発性メモリ１５へ書き込まれる。メインメモリ１３は揮発性メモリであるため、電源を切るとデータは消去される。
【００１２】
次に、図１に示した不揮発性メモリ１５の構成の一例を、図２を用いて説明する。不揮発性メモリ１５は、読み出しや書き込み時の制御を行うコントローラ２１、データを一時的に格納するためのデータバッファ２２、現在のステータス（コマンドを受け付けない状態などを示すためのもの）を保持するステータスレジスタ２３、データ格納部２４を有している。又、データ格納部２４では、固定長のデータをまとめたページ２５毎にデータが格納されている。
【００１３】
（不揮発性メモリの動作）
初めに、不揮発性メモリ１５の読み出し動作の一例について、図３のフローチャートを用いて説明する。
【００１４】
なお、以下の図３、図４、図６のフローチャートの各ステップは、回路ブロックに置き換えることができ、従って、各フローチャートのステップは、全てブロックに定義しなおすことが可能である。
【００１５】
不揮発性メモリ１５がＣＰＵ１１から読み出しコマンドを受け取ると、コントローラ２１が図３に示すフローチャートの手順に従って、逐次読み出し処理を開始する。まず、ＣＰＵ１１から送られてくるアドレスを不揮発性メモリ１５が受け取り、読み出すページを決定する（ステップＳ１１）。不揮発性メモリ１５がアドレスを受け取ると、該当するページからデータを読み出し、データバッファへ書き出す（ステップＳ１２）。尚、この間は不揮発性メモリ１５がビジィ状態（コマンド送信、データの読み出しなどを受け付けない状態）となる（ステップＳ１４）。
【００１６】
不揮発性メモリ１５は、要求されたデータが全て読み出されるまで（ステップＳ１３）、逐次読み出し処理を行う。尚、一度読み出しコマンドとアドレスを不揮発性メモリ１５へ送信すると、同一ページ内のデータを読み出すことができるが、異なるページのデータを読み出す場合は、改めて読み出しコマンドとアドレスを不揮発性メモリ１５へ送信する必要がある。
【００１７】
（本発明の特徴の一つの動作を行なわない場合のプログラム処理と複写処理）
次に、ＣＰＵ１１でのプログラム処理とＤＭＡ１４による複写処理とを同時に行なう場合、本発明の特徴の一つの動作では行なわないためにメインメモリへのアクセスが衝突する場合の動作の一例について、図４のフローチャート及び図５のタイミングチャートで説明する。
【００１８】
以下に説明する手順は、不揮発性メモリ１５からデータを読み出し、読み出したデータのチェック（ノイズ等の要因で発生したデータの誤りや、データ改竄を検知する目的で行う）及び圧縮されたデータの解凍や暗号化データの復号などの処理も考慮したものである。
【００１９】
なお、以下の動作は、一例として、不揮発性メモリ１５に格納されているシステムプログラムがメインメモリ１３に複写され、このシステムプログラムが処理されることにより実現するものでもよい。
【００２０】
初めに、ＣＰＵ１１はシステムプログラムに従って、不揮発性メモリ１５へ読み出しコマンドの送信（ステップＳ２１）及びアドレスの送信（ステップＳ２２）を行う。アドレス送信後に実際にデータを読み出し可能になるまでしばらくの間ビジー状態となるため（ステップＳ２９）、ＣＰＵ１１は、レディ状態（コマンド送信、及びデータバッファからの読み出しが可能な状態）になるまで待機する（ステップＳ２３）。レディ／ビジーの判断は、ステータスレジスタを繰り返し読み出すことで確認する（ステップＳ２６）。
【００２１】
レディ状態になるとＣＰＵ１１はＤＭＡ１４へデータ読み出しを指示し（ステップＳ２４）、読み出し終了まで待機する（ステップＳ２５）。読み出しが終了すると読み出したデータに対してデータチェック処理を行い（ステップＳ２６）、及び読み出したデータに対するプログラム処理（復号、解凍等）を行う（ステップＳ２７）。
【００２２】
読み出し必要な読み出しが完了していない場合は（ステップＳ２８のＮＯ）、別のページを読み出すためにステップＳ２１に戻って、再びアドレス送信以降の処理を繰り返すものである。
【００２３】
尚、ここで上げた実施形態では、データが暗号化又は圧縮化されていることが前提となるため、これらの工程においては別途復号、解凍などの処理を行う必要がある。又、復号、解凍処理の前に読み出したデータのチェックを行う必要がある。
【００２４】
ここで、上述した工程において、メインメモリ１３へのアクセスが衝突してしまう問題を図５のタイミングチャートで説明する。すなわち、図５において、ＤＭＡ１４、ＣＰＵ１１はそれぞれ独立して処理を行うことができるため、図５のページ２の読み出し処理Ｔ２とページ１のチェック処理Ｔ４とを同時に行なうことが可能である。
【００２５】
しかし、ページ２の読み出し処理Ｔ２とページ１のチェック処理Ｔ４とが同時に行なわれることにより、ＣＰＵ１１からメインメモリ１３へのアクセス処理とＤＭＡ１４からメインメモリ１３へのアクセス処理とが衝突してしまう。これにより、この同時アクセスがある場合は、ＣＰＵ１１、ＤＭＡ１４のどちらかのアクセスを一時停止する必要がある。従って、ＣＰＵ１１のプログラム処理又はＤＭＡ１４の複写処理の効率が低下（一例として数十パーセントの処理効率の低下）するという問題が生じる。
【００２６】
（本発明の特徴の一つとなる手順によるプログラム処理と複写処理）
次に、このようなアクセス処理の衝突を回避した本発明の特徴の一つとなる手順によるＤＭＡによる複写処理とプログラム処理とを図６のフローチャートを用いて説明する。
【００２７】
図６のフローチャートの特徴は、ステップＳ３３のメインメモリ中のページのデータのチェック処理とステップＳ３６の復号、解凍等のプログラム処理とを独立したタイミングで行なうことで、二つの処理に伴うメインメモリ１３へのアクセスを完全に分離したことである。
【００２８】
即ち、図６のフローチャートにおいて、この場合の手順を以下に詳細に説明する。なお、以下の動作は、一例として、不揮発性メモリ１５に格納されているシステムプログラムがメインメモリ１３に複写され処理されることにより実現するものでもよい。
【００２９】
初めに、ＣＰＵ１１はシステムプログラムに従って、不揮発性メモリ１５へ読み出しコマンドの送信（ステップＳ３１）及びアドレスの送信（ステップＳ３２）を行う。次に、ＣＰＵ１１は、前回読み出したメインメモリ１３中のページのデータをチェックして、キャッシュメモリ１２にデータを保存する（ステップＳ３３）。
【００３０】
その後、ＣＰＵ１１は、レディ状態（コマンド送信、及びデータバッファからの読み出しが可能な状態）になるまで待機する（ステップＳ３４）。レディ状態になると、ＣＰＵ１１はＤＭＡ１４へデータ読み出しを指示する（ステップＳ３５）。
【００３１】
そして、ＣＰＵ１１は、処理プログラムに従って前回読み出したページのデータに対するプログラム処理（復号、解凍等）を行う（ステップＳ３６）。これと同時に、ＤＭＡ１４が不揮発性メモリ１５からメインメモリ１３へデータの複写処理を行なう（ステップＳ３７）。その後、ＣＰＵ１１は、データの複写が終了しているかどうかを確認し（ステップＳ３８）、完了していれば（ステップＳ３９）、ステップＳ３１以降の処理を反復するものである。
【００３２】
このような手順を取ることにより、ステップＳ３３で行なわれるＣＰＵ１１からのメインメモリ１３へのアクセスと、ステップＳ３７のＤＭＡ１４からのメインメモリ１３へのアクセスとが衝突することを回避するものである。
【００３３】
このようなタイミングについて、図７のタイミングチャートを用いて説明すると、ページ１のチェック処理Ｔ１３において、ページ１のデータがメインメモリ１３からキャッシュメモリ上にコピーされる際に、ＣＰＵ１１からメインメモリ１３へのアクセスが行なわれる。そして、ページ２の読み出し処理Ｔ１２におけるＤＭＡ１４からメインメモリ１３へのアクセスは、チェック処理Ｔ１３が完了した後に行なわれるため、図４及び図５の場合のように二つのメインメモリ１３へのアクセスが衝突することはない。従って、メインメモリ１３をアクセスする処理の全てが、メインメモリ１３へのアクセス衝突に起因する遅延を回避することができる。
【００３４】
以上記載した様々な実施形態により、当業者は本発明を実現することができるが、更にこれらの実施形態の様々な変形例を思いつくことが当業者によって容易であり、発明的な能力をもたなくとも様々な実施形態へと適用することが可能である。従って、本発明は、開示された原理と新規な特徴に矛盾しない広範な範囲に及ぶものであり、上述した実施形態に限定されるものではない。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態に係る情報処理装置の構成の一例を示すブロック図。
【図２】本発明の一実施形態に係る情報処理装置が有する不揮発性メモリの構成の一例を示すブロック図。
【図３】本発明の一実施形態に係る情報処理装置が有する不揮発性メモリの読み出し処理の一例を示すフローチャート。
【図４】本発明の特徴をもたない情報処理装置におけるデータ複写処理（ＤＭＡ）とプログラム処理（ＣＰＵ）の手順の一例を示すフローチャート。
【図５】本発明の特徴をもたない情報処理装置におけるデータ複写処理（ＤＭＡ）とプログラム処理（ＣＰＵ）の手順の一例を示すタイミングチャート。
【図６】本発明の一実施形態に係る情報処理装置におけるデータ複写処理（ＤＭＡ）とプログラム処理（ＣＰＵ）の手順の一例を示すフローチャート。
【図７】本発明の一実施形態に係る情報処理装置におけるデータ複写処理（ＤＭＡ）とプログラム処理（ＣＰＵ）の手順の一例を示すタイミングチャート。
【符号の説明】
【００３６】
１…情報処理装置、１１…ＣＰＵ、１２…キャッシュメモリ、１３…メインメモリ、１４…ＤＭＡ、１５…不揮発性メモリ、１６…外部入出力部。
【図１】
2008059155.tif 000003
【図２】
2008059155.tif 000004
【図３】
2008059155.tif 000005
【図４】
2008059155.tif 000006
【図５】
2008059155.tif 000007
【図６】
2008059155.tif 000008
【図７】
2008059155.tif 000009