(57)【要約】【課題】電源投入時に不揮発性メモリ６０から記憶手段２０，４０に対し、各プロセッサ１０，３０で実行されるプログラムＡ，Ｂを転送する際に、アドレス指定装置５０を介すことにより、プログラム転送の高速化が図れ、システムの起動時間を短縮することが可能となる。【解決手段】プログラムＡ，Ｂを格納する記憶手段２０，４０を有する複数のプロセッサ１０，３０と、各プロセッサ１０，３０からアクセス可能であり、各プロセッサ１０，３０で実行されるプログラムＡ，Ｂを格納する不揮発性メモリ６０と、各記憶手段２０，４０にアクセス可能なアドレス指定装置５０とを具備するものである。【選択図】図１
2009301319.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを格納する記憶手段を有する複数のプロセッサと、
各プロセッサからアクセス可能であり、各プロセッサで実行されるプログラムを格納する不揮発性メモリと、
各記憶手段にアクセス可能なアドレス指定装置とを具備することを特徴とするマルチプロセッサシステム。
【請求項２】
前記複数のプロセッサのうちひとつがマスタプロセッサとなって、電源投入時に、前記不揮発性メモリから前記記憶手段に対し、各プロセッサで実行されるプログラムを転送するマルチプロセッサシステムであって、
プログラムの転送時に前記アドレス指定装置を使用することを特徴とする請求項１記載のマルチプロセッサシステム。
【請求項３】
前記複数のプロセッサのうちひとつがマスタプロセッサとなって、電源投入時に、前記不揮発性メモリから前記記憶手段に対し、各プロセッサで実行されるプログラムを転送する際に、前記アドレス指定装置を介することにより、一度のアドレス指定で複数の記憶手段に対してアクセスできることを特徴とする請求項１記載のマルチプロセッサシステム。
【請求項４】
前記アドレス指定装置は、ひとつのアドレスアクセスに対し、複数のアドレスに同時にアクセスする手段を具備することを特徴とする請求項１記載のマルチプロセッサシステム。
【請求項５】
前記アドレス指定装置は、ひとつのアドレスアクセスに対し、アクセス対象となる複数のアドレスを登録する手段を具備することを特徴とする請求項１または４記載のマルチプロセッサシステム。
【請求項６】
前記アドレス指定装置は、ひとつのアドレスアクセスに対し、複数のアドレスにアクセスする機能のＯＮ／ＯＦＦを制御する手段を具備することを特徴とする請求項１または４記載のマルチプロセッサシステム。
【請求項７】
プログラムを格納する記憶手段を有するプロセッサと、
前記プロセッサからアクセス可能であり、前記プロセッサで実行されるプログラムを格納する外部の不揮発性メモリと、
内部・外部記憶手段にアクセス可能なアドレス指定装置とを具備することを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステムにおける高速起動に関するものである。
【背景技術】
【０００２】
デジタル家電の高性能化に伴い、複数のプロセッサを搭載するマルチプロセッサシステムが主流になっている。一般的に、各プロセッサで実行されるプログラムは、不揮発性メモリに保存され、システム起動時に不揮発性メモリからより高速なメモリへとプログラムの転送がなされ、以後は高速なメモリ上でプログラムが実行される。
【０００３】
システム起動時のプログラム転送の高速化において、例えば特許文献１のように、プログラム転送済みか否かのフラグ情報を転送先のメモリに設定しておき、次回起動時にそのフラグ情報を確認し、既にプログラムが転送済みであれば、プログラムの転送を行わない。といった方法が開示されている。
【特許文献１】特開平２−２８８５９号広報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、デジタル家電等のシステムでは、プログラムを実行する際のメモリは高速なSRAM(static random access memory)やDDR(double data rate synchronous dynamic random-access memory)といった揮発性メモリを利用しており、フラグ情報を揮発性のメモリに持つ場合は、上記特許文献１に開示された方法では、次回の電源投入時に揮発性メモリがリセットされるため、フラグ情報消え、結局はプログラムの転送が必要になるという課題がある。
【０００５】
昨今のデジタル家電等のシステムの高機能化、高性能化に伴い、プログラムの容量は増加の一途をたどり、その結果メモリへプログラムを転送する時間が長くなり、システム起動時間に大きなウェイトを占めるようになっている。特にデジタルカメラやデジタルビデオカメラなどのように、撮影したい場面を逃さず撮影するためには、撮影開始までの時間を極力短くする必要性があり、システムの起動時間の短縮化が課題となっていた。
【課題を解決するための手段】
【０００６】
本発明のマルチプロセッサシステムは、プログラムを格納する記憶手段を有する複数のプロセッサと、各プロセッサからアクセス可能であり、各プロセッサで実行されるプログラムを格納する不揮発性メモリと、各記憶手段にアクセス可能なアドレス指定装置とを具備するものである。
【０００７】
前記複数のプロセッサのうちひとつがマスタプロセッサとなって、電源投入時に、前記不揮発性メモリから前記記憶手段に対し、各プロセッサで実行されるプログラムを転送するマルチプロセッサシステムであって、プログラムの転送時に前記アドレス指定装置を使用するものである。
【０００８】
このように、電源投入時に前記不揮発性メモリから前記記憶手段に対し、各プロセッサで実行されるプログラムを転送する際に、前記アドレス指定装置を介すことにより、プログラム転送の高速化が図れ、システムの起動時間を短縮することが可能となる。
【０００９】
また、前記複数のプロセッサのうちひとつがマスタプロセッサとなって、電源投入時に、前記不揮発性メモリから前記記憶手段に対し、各プロセッサで実行されるプログラムを転送する際に、前記アドレス指定装置を介することにより、一度のアドレス指定で複数の記憶手段に対してアクセスできるものである。
【００１０】
前記アドレス指定装置は、ひとつのアドレスアクセスに対し、複数のアドレスに同時にアクセスする手段を具備するものである。
【００１１】
このように、前記アドレス指定装置はプロセッサから指定されたアドレスに対し、同時に複数のアドレスを指定することができ、記憶手段から記憶手段へのデータ転送の高速化が可能となる。
【００１２】
また、前記アドレス指定装置は、ひとつのアドレスアクセスに対し、アクセス対象となる複数のアドレスを登録する手段を具備するものである。
【００１３】
これにより、アドレス指定の組み合わせが可能となる。
【００１４】
また、前記アドレス指定装置は、ひとつのアドレスアクセスに対し、複数のアドレスにアクセスする機能のＯＮ／ＯＦＦを制御する手段を具備するものである。
【００１５】
これにより、システムを通常のアクセスで動作させたい場合は、機能をＯＦＦにすることが可能であり、システムに柔軟性を持たせることが可能となる。
【００１６】
本発明の半導体集積回路は、プログラムを格納する記憶手段を有するプロセッサと、前記プロセッサからアクセス可能であり、前記プロセッサで実行されるプログラムを格納する外部の不揮発性メモリと、内部・外部記憶手段にアクセスすることができるアドレス指定装置とを具備するものである。
【発明の効果】
【００１７】
本発明によるマルチプロセッサシステムによれば、プロセッサから一度のアクセスで複数のアドレスへの同時アクセスができるため、データ転送の高速化が図れ、これにより、電源投入時のプログラムロード時間の短縮化が図れ、システムの高速起動に有効である。また、データ転送の高速化に有効であるため、例えばデジタルビデオカメラにおける入力画像のバッファリング処理の高速化にも有効である。
【００１８】
また、本発明はマルチプロセッサシステムに関わらず、記憶手段を複数有するシステムにおいても同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００１９】
以下、マルチプロセッサシステムの実施の形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２０】
図１は、本発明の実施の形態におけるマルチプロセッサシステムの構成図を示すものである。
【００２１】
このシステムは、２つのプロセッサ、マスタプロセッサ１０とスレーブプロセッサ３０、不揮発性メモリ６０、記憶手段２０、記憶手段４０、及びアドレス指定装置５０からなり、これらがバス７０によって接続されている。
【００２２】
不揮発性メモリ６０にはリセット解除時に実行されるスタートアッププログラム（１００）、ＩＰＬ(initial program loader)（１０１）、各プロセッサのメインプログラムをロードするためのローダプログラム（１０２）、及び各プロセッサで実行されるメインプログラムＡ（１０３）、メインプログラムＢ（１０４）が格納されている。
【００２３】
記憶手段２０及び記憶手段４０は高速アクセスが可能なメモリであり、起動時に不揮発性メモリ６０から転送されたメインプログラムは、通常、記憶手段２０及び記憶手段４０で実行される。なお、本発明においては１つ以上のプロセッサ及び記憶手段の数はこれ以上でも実施可能であるが、本実施の形態では２つのプロセッサ及び２つの記憶手段として説明している。
【００２４】
図２は本実施の形態におけるマルチプロセッサシステムの起動フローを示すものである。図１の記号も併用し、本実施の形態におけるシステム起動時の動作について下記に説明する。
【００２５】
リセットが解除された時、マスタプロセッサ１０により不揮発性メモリ６０に格納されているスタートアッププログラム１００が実行され（Ｓ１０）、続いてＩＰＬ１０１が起動され（Ｓ２０）、この実行によりローディングプログラム１０２が記憶手段２０に転送される（Ｓ３０）。その後、プログラムの実行は記憶手段２０上での実行に移る（Ｓ４０）。
【００２６】
マスタプロセッサ１０は、アドレス指定装置５０に対し、同時にアクセスしたいアドレスの設定を行い、アドレス指定装置５０をアクティブにする（Ｓ５０）。本実施の形態で用いるシステムの場合、記憶装置２０と記憶装置４０のアドレスをアドレス指定装置５０に登録することになる。なお、アドレス指定装置５０へのアドレス登録に関する詳細については、図３の説明にて記載する。
【００２７】
続いてマスタプロセッサ１０は不揮発性メモリ６０に格納されているメインプログラムＡ及びメインプログラムＢを、それぞれ記憶手段２０及び記憶手段４０への転送処理を開始する（Ｓ６０）。  この時、マスタプロセッサ１０は、前記アドレス指定装置５０を介して記憶手段２０にアクセスすることにより、同時に記憶手段４０へもアクセスすることができる。尚、アドレス指定装置５０を介したメインプログラムＡ，Ｂの転送（Ｓ６０）に関する処理ステップの詳細は図５の説明にて記載する。
【００２８】
メインプログラムＡ、Ｂの転送が完了したらそれぞれのプログラムにジャンプし、それぞれのメインプログラムによりアプリケーションの起動がなされ一連の起動処理が完了する（Ｓ７０）。
【００２９】
図３にアドレス指定装置５０の構成を示す。アドレス指定装置５０は、アドレス指定装置５０の動作をアクティブにするか否かを指定するＯＮ／ＯＦＦ制御部５０１、管理テーブル部５０２、及びデータ転送時に一時的にデータをバッファリングするためのバッファメモリ部５０３から構成される。
【００３０】
図４はアドレス指定装置５０に構成される管理テーブル部５０２について説明したものである。管理テーブル部５０２では、同時アクセス対照となるアドレスセットの設定、対象領域の設定、及び同時アクセス動作時に使用するバッファメモリ面の設定を行うテーブルを有し、アドレス指定装置５０をアクティブにする前に、プロセッサから予め管理テーブル部５０２に各種設定を行うことになる。図４に示す例では、プロセッサから、指定アドレス0x10000番地から0xFFFF（64KB）分の領域へのアクセスがあった場合、0x10000番地から0xFFFF分の領域へのアクセスと同時に、0x20000番地から0xFFFF分の領域へのアクセスを行い、それぞれバッファ０とバッファ１を使用する、という内容が設定されている。
【００３１】
図５を用い、不揮発性メモリ６０上のアドレス0x10000番地から64kbyteの領域に配置されているメインプログラムＡを、記憶手段２０の0xA0000番地から64kbyteの領域に転送、及び、不揮発性メモリ上のアドレス0x50000番地から64kbyteの領域に配置されているメインプログラムＢを、記憶手段４０の0xD0000番地から64kbyteの領域に転送する場合を例に説明する。
【００３２】
まず、マスタプロセッサ１０にてアドレス指定装置５０の管理テーブル部５０２に対し、指定アドレス、変換後アドレス、領域、及び転送時に使用するバッファメモリの設定を行う。本実施の形態の場合、指定アドレス0x10000番地に対し、変換後アドレス0x10000番地、及び0x50000を登録している。また、指定アドレス0xA0000番地に対し、変換後アドレス0xA0000番地、及び0xD0000番地を登録している。さらに対象領域を定義するため、本実施の形態の場合はそれぞれ、0x10000(64kbyte)を登録している（Ｓ５１）。こうすることにより、0x10000番地から64kbyteの領域にアクセスがあった場合は、0x10000番地から64kbyteの領域と、0x50000番地から64kbyteの領域へ、同時アクセスすることができる。
【００３３】
また同様に、0xA0000番地から64kbyteの領域にアクセスがあった場合は、0xA0000番地から64kbyteの領域と、0xD0000番地から64kbyteの領域へ、同時アクセスすることができる。
【００３４】
管理テーブル部５０２への一通りの登録が終了したら、次にアドレス指定装置５０の動作をＯＮ（アクティブ状態）にする（Ｓ５２）。アドレス指定装置５０をＯＮにすることにより、管理テーブル部５０２に登録された指定アドレスへのアクセスがあった場合に、登録されている変換後アドレスに対する同時アクセスが有効になる。なお、アドレス指定装置５０がＯＦＦ（ノンアクティブ）の場合は、同時アクセス動作は無効、すなわち通常アクセスとなる。
【００３５】
なお、ハードリセット直後、アドレス指定装置５０はＯＦＦになっており、かつ管理テーブル部５０２には何も登録されていない状態であるため、アドレス指定装置５０をＯＮ（アクティブ）にする前に管理テーブル部５０２に対し、プロセッサから情報の登録が必要である。
【００３６】
また、管理テーブル部５０２は、プログラムの動作中はいつでも書き換えが可能であり、同時アクセスをさせたいケースが発生した時に、プロセッサが管理テーブル部５０２に対し、情報を登録することになる。
【００３７】
続いてマスタプロセッサ１０により、メインプログラムＡおよびメインプログラムＢの転送動作が行われる。マスタプロセサ１０としては、メモリTOメモリの命令が実行されていることになる。すなわち、本実施の形態の場合、0x10000番地から0xA0000番地へのデータ転送命令が実行されていることになる。本実施の形態において、この過程でアドレス指定装置５０を介すことにより以下に説明する動作が行われることになる。
【００３８】
マスタプロセッサ１０から0x10000番地へのリードアクセスに従い、アドレス指定装置５０は、管理テーブル部５０２の登録内容を確認し、予め登録されている指定アドレスへのアクセスである場合は、管理テーブル部５０２の登録内容に従ってアドレス変換を行う。本実施の形態の場合、0x10000番地から64kbyteの領域にアクセスがある場合、0x50000番地から64kbyteの領域に同時アクセスが行われることになる。
【００３９】
続いて、アドレス指定装置５０は、変換されたアドレス、すなわち0x10000番地と0x50000番地のデータを読み出し、読み出したデータをバッファメモリ部５０３に一時的に格納し（Ｓ５３，Ｓ５４）、続いて、バッファメモリ部５０３のそのデータを読み出し、0xA0000番地及び0xD0000番地に書き込む（Ｓ５５）。なお、この際に使用するバッファメモリは、管理テーブル部５０２に予め登録しておく。
【００４０】
マスタプロセッサ１０としては、0x10000番地から0xA0000番地、続いて0x10004番地から0xA0004番地、0x10008番地から0xA0008番地・・・とメモリtoメモリの命令を逐次実行することになるが、アドレス指定装置５０を介すことにより、それぞれ0x50000番地から0xD0000番地、続いて0x50004番地から0xD0004番地、0x50008番地から0xD0008番地・・・に同時に実行することができる。
【００４１】
このようにして、不揮発性メモリ６０に格納されている、メインプログラムＡ及びメインプログラムＢを、記憶手段２０及び記録手段４０に転送することになるが、従来であれば、記憶手段２０及び記憶手段４０への２回のアクセスが必要であるが、本実施の形態によるアドレス指定装置５０を介すことにより、１回のアクセスでデータ転送が可能なため、データ転送の高速化が図れる。
【００４２】
なお、以上の説明では、マルチプロセッサシステムの起動時のフローをもとに説明を行っているが、プログラムを格納する記憶手段を有するプロセッサと、前記プロセッサからアクセス可能であり、前記プロセッサで実行されるプログラムを格納する外部の不揮発性メモリ及び、内部・外部記憶手段にアクセスすることができるアドレス指定装置を具備することを特徴とする半導体集積回路においても同様の効果を得ることができる。
【００４３】
以上、本実施の形態によれば、ホストプロセッサから一度のアクセスで複数のアドレスへの同時アクセスができるため、データ転送の高速化が図れ、不揮発性メモリ６０から記憶手段２０，４０へのメインプログラムＡ，Ｂの転送時間の短縮化が図れ、その結果、システムの高速起動が可能となる。
【００４４】
また、本実施の形態によれば、データ転送の高速化が可能であるため、プログラムの転送以外に、メモリからメモリへバッファリング処理の高速化にも効果がある。
【産業上の利用可能性】
【００４５】
以上のように、本発明にかかるアドレス指定装置を使用することにより、データ転送の高速化が可能となり、システムの起動時間の短縮化に効果があり、例えばデジタルカメラやデジタルビデオカメラのような撮影機器において、電源スイッチをＯＮにしてから撮影開始できるまでの時間短縮に有効である。また、メモリからメモリへのバッファリング処理の高速化が可能なため、例えばデジタルビデオカメラにおける入力画像の高レート化にも有効である。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態におけるマルチプロセッサシステムの構成図
【図２】本発明の実施の形態におけるシステム起動時のフロー図
【図３】本発明の実施の形態におけるアドレス指定装置の構成図
【図４】本発明の実施の形態におけるアドレス指定装置が有する管理テーブル部の説明図
【図５】本発明の実施の形態におけるプログラム転送の説明図
【符号の説明】
【００４７】
１０  マスタプロセッサ
２０  記憶手段
３０  スレーブプロセッサ
４０  記憶手段
５０  アドレス指定装置
６０  不揮発性メモリ
５０１  アドレス指定装置内のON/OFF部
５０２  アドレス指定装置内の管理テーブル部
５０３  アドレス指定装置内のバッファメモリ部
【図１】
2009301319.tif 000003
【図２】
2009301319.tif 000004
【図３】
2009301319.tif 000005
【図４】
2009301319.tif 000006
【図５】
2009301319.tif 000007