(57)【要約】【課題】使用時にブートプログラムに基づいた初期化が必要なシリアルバスを用いてもプロセッサの個数の増加に従ってブートＲＯＭの個数を増加することなくシリアルバスを初期化することができるデータ処理装置を提供する。【解決手段】データ処理装置１は、ブートプログラムＰに基づいた初期化を行うプロセッサ２−１，．．．２−ｎと、ブートプログラムＰを記憶したメモリ４ａ−１，．．．４ａ−ｍ及びブートプログラムＰを読み出すメモリコントローラ４ｂを有するチップセット３と、メモリコントローラ４ｂとプロセッサ２−１，．．．２−ｎとの間に介在し、使用時にブートプログラムに基づいた初期化が不要なブートバス５−１，．．．，５−ｎと、プロセッサ２−１，．．．２−ｎに接続され、使用時にブートプログラムＰに基づいた初期化が必要なシリアルバス３−１，．．．，３−ｎと、を備える。【選択図】図１
2014149598.tif 000002
【特許請求の範囲】
【請求項１】
電源投入後の初期化を行うための第１のブートプログラムに基づいた初期化を行う１個以上の第１の個数の第１のプロセッサと、
前記第１のプロセッサに接続され、使用時に前記第１のブートプログラムに基づいた初期化が必要である第１のバスと、
前記第１のブートプログラムを記憶した１個以上かつ前記第１の個数以下の第２の個数の第１のメモリ及び前記第１のメモリに記憶された第１のブートプログラムを読み出すメモリコントローラを有するチップセットと、
前記メモリコントローラが読み出した第１のブートプログラムを前記第１のプロセッサに供給するために前記メモリコントローラと前記第１のプロセッサとの間に介在し、使用時に前記第１のブートプログラムに基づいた初期化が不要である前記第１の個数の第２のバスと、
を備えることを特徴とするデータ処理装置。
【請求項２】
前記チップセットは、前記第１のプロセッサの起動のタイミングの制御、前記第１のプロセッサの再起動のタイミングの制御及び前記第２のバスへのアクセス制御のうちの少なくとも一つを行うブート制御部を更に有する、請求項１に記載のデータ処理装置。
【請求項３】
電源投入後の初期化を行うための第２のブートプログラムを記憶した不揮発性の第２のメモリと、
前記第２のメモリに記憶した第２のブートプログラムを前記第１のプロセッサに供給するために前記第２のメモリと前記第１のプロセッサとの間に介在し、使用時に前記第１のプロセッサによるブートプログラムに基づいた初期化が不要である第３のバスと、
を更に備え、
前記ブート制御部は、前記第１のプロセッサが前記第１のブートプログラムと前記第２のブートプログラムのうちのいずれか一方を起動時に実行するために、前記第１のメモリに記憶された第１のブートプログラムと前記第２のメモリに記憶された第２のブートプログラムのうちのいずれか一方を選択する、請求項２に記載のデータ処理装置。
【請求項４】
電源投入後の初期化を行うための第２のブートプログラムを記憶した不揮発性の第２のメモリを更に備え、
前記第２のバスのうちの少なくとも一つは、前記メモリコントローラが読み出した第１のブートプログラムを前記第１のプロセッサに供給するために前記メモリコントローラと前記第１のプロセッサとの間に介在する第１の部分と、前記第２のメモリに記憶した第２のブートプログラムを前記第１のプロセッサに供給するために前記第１の部分と前記第１のプロセッサとの間に介在する第２の部分と、を有し、
前記ブート制御部は、前記第１のプロセッサが前記第１のブートプログラムと前記第２のブートプログラムのうちのいずれか一方を起動時に実行するために、前記第１のメモリに記憶された第１のブートプログラムと前記第２のメモリに記憶された第２のブートプログラムのうちのいずれか一方を選択する、請求項２に記載のデータ処理装置。
【請求項５】
電源投入後の初期化を行うための第２のブートプログラムを記憶した不揮発性の第２のメモリと、
前記第２のメモリに記憶した第２のブートプログラムを前記第１のプロセッサに供給するために前記第２のメモリと前記メモリコントローラとの間に介在し、使用時に前記第１のプロセッサによるブートプログラムに基づいた初期化が不要である第３のバスと、
を更に備え、
前記ブート制御部は、前記第１のプロセッサが前記第１のブートプログラムと前記第２のブートプログラムのうちのいずれか一方を起動時に実行するために、前記第１のメモリに記憶された第１のブートプログラムと前記第２のメモリに記憶された第２のブートプログラムのうちのいずれか一方を選択する、請求項２に記載のデータ処理装置。
【請求項６】
前記第１のブートプログラムは、前記第２のメモリに前記第２のブートプログラムの書き込みを行うプログラムである請求項３から５のうちのいずれか１項に記載のデータ処理装置。
【請求項７】
前記第１のメモリは、前記メモリコントローラによる書換えが可能なメモリであり、
１個以上の第３の個数の第２のプロセッサと、
前記メモリコントローラが前記第１のメモリに書き込む第１のブートプログラムを前記第２のプロセッサから前記メモリコントローラに供給するために前記第２のプロセッサと前記メモリコントローラとの間に介在する前記第３の個数の第４のバスと、
を更に備える、請求項１から６のうちのいずれか１項に記載のデータ処理装置。
【請求項８】
前記第１のメモリは、前記メモリコントローラによる書換えが可能なメモリであり、
１個以上の第４の個数のＬＳＩと、
前記ＬＳＩと前記メモリコントローラとの間に介在する第５のバスと、
を更に備え、前記メモリコントローラが前記第１のメモリに書き込む第１のブートプログラムを前記ＬＳＩから前記第５のバスを介して前記メモリコントローラに供給する、請求項１から７のうちのいずれか１項に記載のデータ処理装置。
【請求項９】
無線又は有線による通信を行うトランシーバを更に備え、前記第１のブートプログラムを格納した外部機器から送信された前記第１のブートプログラムを、前記トランシーバが受信して前記ＬＳＩ、前記第５のバス及び前記メモリコントローラを介して前記第１のメモリに格納し、外部機器から送信された指令を、前記トランシーバが受信して前記ＬＳＩ及び前記第５のバスを介して前記ブート制御部に伝達し、前記第１のプロセッサは、前記指令に従って前記第１のブートプログラムを実行する請求項８に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使用時に初期化が必要なシリアルバスを備えるデータ処理装置に関する。
【背景技術】
【０００２】
ＣＮＣ（数値制御装置）、ロボットコントローラ等に代表されるデータ処理装置は、１個以上のプロセッサ、プロセッサと共同して所定の機能を実現するチップセット、プロセッサとチップセットとの間のデータのやり取りを行うためのバス、データ処理装置の電源投入後の初期化を行うためのブートプログラムを格納したブートＲＯＭ等を備える。このようなデータ処理装置が備えるバスとしては、パラレルバスが従来用いられている（例えば、特許文献１，２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１４０２０５号公報
【特許文献２】特開２００３−１１４８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、プロセッサとチップセットとの間のデータのやり取りを更に迅速に行うために、パラレルバスの代わりにＰＣＩ  Ｅｘｐｒｅｓｓ等のシリアルバスがデータ処理装置のバスとして用いられる傾向がある。プロセッサをルートコンプレックスとするＰＣＩ  Ｅｘｐｒｅｓｓに代表されるシリアルバスは、使用時にチップセット側からの初期化ができないことがあり、使用時にプロセッサがブートプログラムに基づいて初期化する必要があるので、プロセッサは、当該シリアルバスを通じてブートプログラムを取得することができない。したがって、プロセッサがデータ処理装置の電源投入後に初期化を行うためには、使用時にブートプログラムに基づいた初期化が不要であるブートバスを用いてプロセッサにブートＲＯＭを外付けする必要がある。
【０００５】
使用時にブートプログラムに基づいた初期化が必要なシリアルバスをデータ処理装置で用いた場合、シリアルバスを初期化するためには、データ処理装置に設けられるプロセッサの個数の増加に従ってブートＲＯＭの個数が増加する必要があり、このために、ブートＲＯＭの実装面積及びコストが増大するという不都合がある。
【０００６】
本発明の目的は、使用時にブートプログラムに基づいた初期化が必要なシリアルバスを用いてもプロセッサの個数の増加に従ってブートＲＯＭの個数を増加することなくシリアルバスを初期化することができるデータ処理装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明によるデータ処理装置は、電源投入後の初期化を行うための第１のブートプログラムに基づいた初期化を行う１個以上の第１の個数の第１のプロセッサと、第１のプロセッサに接続され、使用時に第１のブートプログラムに基づいた初期化が必要である第１のバスと、第１のブートプログラムを記憶した１個以上かつ第１の個数以下の第２の個数の第１のメモリ及び第１のメモリに記憶された第１のブートプログラムを読み出すメモリコントローラを有するチップセットと、メモリコントローラが読み出した第１のブートプログラムを第１のプロセッサに供給するためにメモリコントローラと第１のプロセッサとの間に介在し、使用時に第１のブートプログラムに基づいた初期化が不要である第１の個数の第２のバスと、を備えることを特徴とする。
【０００８】
好適には、チップセットは、第１のプロセッサの起動のタイミングの制御、第１のプロセッサの再起動のタイミングの制御及び第２のバスへのアクセス制御のうちの少なくとも一つを行うブート制御部を更に有する。
【０００９】
好適には、本発明によるデータ処理装置は、電源投入後の初期化を行うための第２のブートプログラムを記憶した不揮発性の第２のメモリと、第２のメモリに記憶した第２のブートプログラムを第１のプロセッサに供給するために第２のメモリと第１のプロセッサとの間に介在し、使用時に第１のプロセッサによるブートプログラムに基づいた初期化が不要である第３のバスと、を更に備え、ブート制御部は、第１のプロセッサが第１のブートプログラムと第２のブートプログラムのうちのいずれか一方を起動時に実行するために、第１のメモリに記憶された第１のブートプログラムと第２のメモリに記憶された第２のブートプログラムのうちのいずれか一方を選択する。
【００１０】
好適には、本発明によるデータ処理装置は、電源投入後の初期化を行うための第２のブートプログラムを記憶した不揮発性の第２のメモリを更に備え、第２のバスのうちの少なくとも一つは、メモリコントローラが読み出した第１のブートプログラムを第１のプロセッサに供給するためにメモリコントローラと第１のプロセッサとの間に介在する第１の部分と、第２のメモリに記憶した第２のブートプログラムを第１のプロセッサに供給するために第１の部分と第１のプロセッサとの間に介在する第２の部分と、を有し、ブート制御部は、第１のプロセッサが第１のブートプログラムと第２のブートプログラムのうちのいずれか一方を起動時に実行するために、第１のメモリに記憶された第１のブートプログラムと第２のメモリに記憶された第２のブートプログラムのうちのいずれか一方を選択する。
【００１１】
好適には、本発明によるデータ処理装置は、電源投入後の初期化を行うための第２のブートプログラムを記憶した不揮発性の第２のメモリと、第２のメモリに記憶した第２のブートプログラムを第１のプロセッサに供給するために第２のメモリとメモリコントローラとの間に介在し、使用時に第１のプロセッサによるブートプログラムに基づいた初期化が不要である第３のバスと、を更に備え、ブート制御部は、第１のプロセッサが第１のブートプログラムと第２のブートプログラムのうちのいずれか一方を起動時に実行するために、第１のメモリに記憶された第１のブートプログラムと第２のメモリに記憶された第２のブートプログラムのうちのいずれか一方を選択する。
【００１２】
好適には、前記第１のブートプログラムは、前記第２のメモリに前記第２のブートプログラムの書き込みを行うプログラムである。
【００１３】
好適には、第１のメモリは、メモリコントローラによる書換えが可能なメモリであり、１個以上の第３の個数の第２のプロセッサと、メモリコントローラが第１のメモリに書き込む第１のブートプログラムを第２のプロセッサからメモリコントローラに供給するために第２のプロセッサとメモリコントローラとの間に介在する第３の個数の第４のバスと、を更に備える。
【００１４】
好適には、前記第１のメモリは、メモリコントローラによる書換えが可能なメモリであり、１個以上の第４の個数のＬＳＩと、ＬＳＩとメモリコントローラとの間に介在する第５のバスと、を更に備え、メモリコントローラが第１のメモリに書き込む第１のブートプログラムをＬＳＩから第５のバスを介してメモリコントローラに供給する。
【００１５】
好適には、無線又は有線による通信を行うトランシーバを更に備え、前記第１のブートプログラムを格納した外部機器から送信された前記第１のブートプログラムを、前記トランシーバが受信して前記ＬＳＩ、前記第５のバス及び前記メモリコントローラを介して前記第１のメモリに格納し、外部機器から送信された指令を、前記トランシーバが受信して前記ＬＳＩ及び前記第５のバスを介して前記ブート制御部に伝達し、前記第１のプロセッサは、前記指令に従って前記第１のブートプログラムを実行する。
【発明の効果】
【００１６】
本発明によれば、使用時にブートプログラムに基づいた初期化が必要なシリアルバスを用いてもプロセッサの個数の増加に従ってブートＲＯＭの個数を増加することなくシリアルバスを初期化することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明によるデータ処理装置の第１の実施の形態のブロック図である。
【図２】本発明によるデータ処理装置の第２の実施の形態のブロック図である。
【図３】本発明によるデータ処理装置の第３の実施の形態のブロック図である。
【図４】本発明によるデータ処理装置の第４の実施の形態のブロック図である。
【図５】本発明によるデータ処理装置の第５の実施の形態のブロック図である。
【図６】本発明によるデータ処理装置の第６の実施の形態のブロック図である。
【図７】本発明によるデータ処理装置の第７の実施の形態のブロック図である。
【発明を実施するための形態】
【００１８】
本発明によるデータ処理装置を、図面を参照しながら説明する。図面中、同一構成要素には同一符号を付す。
図１は、本発明によるデータ処理装置の第１の実施の形態のブロック図である。図１に示すデータ処理装置１は、ＣＮＣであり、第１の個数としてのｎ（ｎは２以上の整数）個の第１のプロセッサとしてのプロセッサ２−１，．．．，２−ｎと、ｎ個の第１のバスとしてのシリアルバス３−１，．．．，３−ｎと、チップセット４と、ｎ個の第２のバスとしてのブートバス５−１，．．．，５−ｎと、を備える。
【００１９】
プロセッサ２−１，．．．，２−ｎはそれぞれ、データ処理装置１の電源投入後の初期化を行うための後に説明する第１のブートプログラムとしてのブートプログラムＰ１，．．．，Ｐｍに基づいた初期化、プロセッサ２−１，．．．，２−ｎによって実行されるプログラム（例えば、ブートプログラムＰ１，．．．，Ｐｍ）に障害があるか否かを調べる試験プログラムに基づいた試験等を含む各種処理を行う。本実施の形態では、プロセッサ２−ｎがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。シリアルバス３−１，．．．，３−ｎは、プロセッサ２−１，．．．，２−ｎがＲＡＭ等の外部回路６とデータのやり取りを行うために対応するプロセッサ２−１，．．．，２−ｎ及び外部回路６に接続した外部バスとして機能する。また、シリアルバス３−１，．．．，３−ｎは、使用時にプロセッサによるブートプログラムに基づいた初期化が必要であるシリアルバスによって構成される。例えば、シリアルバス３−１，．．．，３−ｎはＰＣＩ  Ｅｘｐｒｅｓｓであり、プロセッサ２−１，．．．，２−ｎはＰＣＩ ＥｘｐｒｅｓｓのＲｏｏｔ  Ｃｏｍｐｌｅｘである。ＰＣＩ ＥｘｐｒｅｓｓはＲｏｏｔ Ｃｏｍｐｌｅｘのみにより初期化されるシリアルバスである。また、ブートプログラムＰ１，．．．，Ｐｍは、全て同一でもよく、全て同一でなくてもよい。
【００２０】
チップセット４は、プロセッサと共同してデータの読出し及び書込み等の所定の機能を実現し、第２の個数としてのｍ（ｍは２以上かつｎ未満の整数）個の第１のメモリとしてのメモリ４ａ−１，．．．，４ａ−ｍと、メモリコントローラ４ｂと、ブート制御部４ｃと、を有する。
【００２１】
メモリ４ａ−１，．．．，４ａ−ｍはそれぞれ、ブートプログラムＰ１，．．．，Ｐｍを記憶する。また、メモリ４ａ−１，．．．，４ａ−ｍはそれぞれ、ＤＲＡＭ、ＳＲＡＭ等の書換え可能なメモリによって構成される。メモリコントローラ４ｂは、メモリ４ａ−１，．．．，４ａ−ｍからブートプログラムＰ１，．．．，Ｐｍの命令コードを読み出す。ブート制御部４ｃは、プロセッサ２−１，．．．，２−ｎの起動のタイミングの制御、プロセッサ２−１，．．．，２−ｎの再起動のタイミングの制御及びブートバス５−１，．．．，５−ｎへのアクセス制御のうちの少なくとも一つを行う。
【００２２】
本実施の形態では、メモリ４ａ−１，．．．，４ａ−ｍをチップセット４に内蔵することによって、メモリ４ａ−１，．．．，４ａ−ｍの実装面積及びコストを節約することができる。
【００２３】
ブートバス５−１，．．．，５−ｎは、メモリコントローラ４ｂが読み出したブートプログラムＰ１，．．．，Ｐｍの命令コードをプロセッサ２−１，．．．，２−ｎにそれぞれ供給するためにメモリコントローラ４ｂとプロセッサ２−１，．．．，２−ｎとの間に介在する。また、ブートバス５−１，．．．，５−ｎは、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。ブートバス５−１，．．．，５−ｎは、ＳＰＩ，Ｉ2Ｃ等のシリアルバスとＮＯＲ型フラッシュメモリのインタフェース等に用いられる８ビット汎用バス、１６ビット汎用バス等のパラレルバスのいずれであってもよい。
【００２４】
本実施の形態では、プロセッサ２−１，．．．，２−ｎはそれぞれ、シリアルバス３−１，．．．，３−ｎの使用時に対応するプロセッサ２−１，．．．，２−ｎの起動時に、ブートバス５−１，．．．，５−ｎを通じてメモリコントローラ４ｂにブートプログラム読出し要求を出す。メモリコントローラ４ｂは、ブートプログラム読出し要求に応じて、ブートプログラムＰ１，．．．，Ｐｍの命令コードを、メモリ４ａ−１，．．．，４ａ−ｍのうちの対応するメモリからそれぞれ読み出し、読み出した命令コードをブートバス５−１，．．．，５−ｎを通じてプロセッサ２−１，．．．，２−ｎにそれぞれ供給する。そして、プロセッサ２−１，．．．，２−ｎはそれぞれ、ブートプログラムＰ１，．．．，Ｐｍを実行することによってシリアルバス３−１，．．．，３−ｎの初期化を行う。プロセッサ２−１，．．．，２−ｎがメモリ４ａ−１，．．．，４ａ−ｍのうちのどのメモリからブートプログラムを読み出すかについては、予め決定され又はチップセットの設定等に応じて決定される。
【００２５】
また、本実施の形態では、ブートプログラム読出し要求を出すために、ブート制御部４ｃは、プロセッサ２−１，．．．，２−ｎの起動のタイミングの制御、プロセッサ２−１，．．．，２−ｎの再起動のタイミングの制御及びブートバス５−１，．．．，５−ｎへのアクセス制御のうちの少なくとも一つを行う。このために、ブート制御部４ｃは、プロセッサ２−１，．．．，２−ｎの起動のタイミングの制御、プロセッサ２−１，．．．，２−ｎの再起動のタイミングの制御及びブートバス５−１，．．．，５−ｎへのアクセス制御のうちの少なくとも一つをそれぞれ行うためのブート制御信号Ｖ１，．．．，Ｖｎを、信号ラインＳ１−１，．．．，Ｓ１−ｎとブートバス５−１，．．．，５−ｎのうちの少なくとも一方を介してプロセッサ２−１，．．．，２−ｎにそれぞれ供給する。ブート制御信号Ｖ１，．．．，Ｖｎとしては、プロセッサ２−１，．．．，２−ｎへのリセット信号とプロセッサ２−１，．．．，２−ｎからブートバス５−１，．．．，５−ｎへのアクセスを許可するブートバス使用許可信号のうちの少なくとも一方を用いる。図１では、リセット信号として用いられるブート制御信号Ｖ１，．．．，Ｖｎが信号ラインＳ１−１，．．．，Ｓ１−ｎを介してブート制御部４ｃからプロセッサ２−１，．．．，２−ｎに供給される場合について示すが、ブート制御信号Ｖ１，．．．，Ｖｎとしてブートバス使用許可信号を用いる場合には、ブート制御信号Ｖ１，．．．，Ｖｎがブートバス５−１，．．．，５−ｎを介してブート制御部４ｃからプロセッサ２−１，．．．，２−ｎに供給される。また、ブート制御部４ｃがプロセッサ２−１，．．．，２−ｎの起動のタイミングの制御、プロセッサ２−１，．．．，２−ｎの再起動のタイミングの制御及びブートバス５−１，．．．，５−ｎへのアクセス制御のうちの少なくとも一つを行うために、メモリコントローラ４ｂとブート制御部４ｃとの間の情報のやり取りを、信号ラインＳ２を介して行う。
【００２６】
ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号のみを使用する場合、ブート制御部４ｃがリセット信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを停止し、プロセッサ２−１，．．．，２−ｎの内部状態は初期状態に移行する。プロセッサ２−１，．．．，２−ｎの内部状態が初期状態であるときに、メモリコントローラ４ｂは、命令コードの読出し停止時にレジスタ及びメモリ（いずれも図示せず）に記憶されていたデータからなるブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００２７】
一方、ブート制御部４ｃがリセット信号をネゲート（パワーオンリセット解除）することによって、プロセッサ２−１，．．．，２−ｎは、ブートバス５−１，．．．，５−ｎに読み出し要求を出す。メモリコントローラ４ｂは、読出し要求に応じて、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍから読み出す。読み出されたブートプログラムＰ１，．．．，Ｐｍは、ブートバス５−１，．．．５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎに供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍを実行することによって、シリアルバス３−１，．．．，３−ｎの初期化を行う。
【００２８】
ブート制御信号Ｖ１，．．．，Ｖｎとしてブートバス使用許可信号のみを使用する場合、ブート制御部４ｃがブートバス使用許可信号をネゲートすることによって、メモリコントローラ４ｂは、プロセッサ２−１，．．．，２−ｎが実行中のプログラムの命令コードの読出しを一時的に停止する。命令コードの読出しの一時的な停止中に、メモリコントローラ４ｂはブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００２９】
一方、ブート制御部４ｃがブートバス使用許可信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは、ブートバス５−１，．．．，５−ｎに読み出し要求を出す。メモリコントローラ４ｂは、読出し要求に応じて、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍから読み出す。読み出されたブートプログラムＰ１，．．．，Ｐｍは、ブートバス５−１，．．．，５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎに供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍを実行することによって、シリアルバス３−１，．．．，３−ｎの初期化を行う。
【００３０】
ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号とブートバス使用許可信号の両方を使用する場合、ブート制御部４ｃがブートバス使用許可信号をネゲートすることによって、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを一時的に停止し、その後、ブート制御部４ｃがリセット信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎの内部状態は初期状態に移行する。プロセッサ２−１，．．．，２−ｎの内部状態が初期状態であるときにメモリコントローラ４ｂは、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００３１】
一方、ブート制御部４ｃがリセット信号をネゲートし、その後、ブート制御部４ｃがブートバス使用許可信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは、ブートバス５−１，．．．，５−ｎに読み出し要求を出す。メモリコントローラ４ｂは、読出し要求に応じて、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍから読み出す。読み出されたブートプログラムＰ１，．．．，Ｐｍは、ブートバス５−１，．．．５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎに供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍを実行することによって、シリアルバス３−１，．．．，３−ｎの初期化を行う。
【００３２】
本実施の形態によれば、シリアルバス３−１，．．．，３−ｎの初期化を行うために、プロセッサに外付けされるブートＲＯＭの代わりにチップセット４に内蔵されたメモリ４ａ−１，．．．，４ａ−ｍを用いている。したがって、プロセッサの個数の増加に従ってブートＲＯＭの個数を増加することなくシリアルバスを初期化することができ、プロセッサの個数の増加に伴うブートＲＯＭの個数の増加による実装面積及びコストの増大を回避することができる。
【００３３】
図２は、本発明によるデータ処理装置の第２の実施の形態のブロック図である。図２に示すデータ処理装置１ａは、ＣＮＣであり、プロセッサ２−１，．．．，２−ｎと、シリアルバス３−１，．．．，３−ｎと、チップセット４と、ブートバス５−１，．．．，５−ｎと、第２のメモリとしてのメモリ６と、第３のバスとしてのブートバス７と、を備える。本実施の形態では、プロセッサ２−ｎがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。
【００３４】
メモリ６は、電源投入後の初期化を行うための第２のブートプログラムとしてのブートプログラムＰ’の命令コードが記憶された不揮発性のメモリである。メモリ６にブートプログラムＰ’の命令コードを記憶するために、ブートプログラムＰ’の命令コードが予め記憶されている書換えのできないメモリと、ブートプログラムＰ’の命令コードがプロセッサ２−ｎによって書き込まれる書換え可能なメモリのいずれを用いてもよい。メモリ６としてブートプログラムＰ’の命令コードがプロセッサ２によって書き込まれる書き換え可能なメモリを用いる場合、ブートプログラムＰ１，．．．，Ｐｍは、メモリ６にブートプログラムＰ’を書き込むプログラムの役割も果たす。プログラムＰ’は、プログラムＰと同一のプログラム又はプログラムＰと異なるプログラムであり、プログラムＰ’がプログラムＰと異なる場合、プロセッサ２−ｎは、異なる初期化プログラムを実行することができる。
【００３５】
ブートバス７は、メモリ６に記憶したブートプログラムＰ’の命令コードをプロセッサ２−ｎに供給するためにメモリ６とプロセッサ２−ｎとの間に介在する。また、ブートバス７は、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。
【００３６】
本実施の形態では、ブート制御部４ｃは、プロセッサ２−ｎがメモリ４ａ−１，．．．，４ａ−ｍのうちの対応するメモリに記憶されたブートプログラムＰ１，．．．，Ｐｍとメモリ６に記憶されたブートプログラムＰ’のうちのいずれか一方を起動時に実行するために、メモリ４ａ−１，．．．，４ａ−ｍのうちの対応するメモリに記憶されたブートプログラムＰとメモリ６に記憶されたブートプログラムＰ’のうちのいずれか一方を選択する。このために、ブート制御部４ｃは、メモリ４ａ−１，．．．，４ａ−ｍのうちの対応するメモリに記憶されたブートプログラムＰ１，．．．，Ｐｍとメモリ６に記憶されたブートプログラムＰ’のうちのいずれか一方を選択するためのブートプログラム選択信号Ｖｓを、ブートバス５−１，．．．，５−ｎを介してプロセッサ２−１，．．．，２−ｎにそれぞれ供給する。図２において、明瞭のためにブート制御部４ｃからプロセッサ２−１，．．．，２−ｎへのブートプログラム選択信号Ｖｓの供給を信号ラインＳ３で示す。例えば、メモリ６が故障しているためにプロセッサ２−ｎがブートプログラムＰ’を読み出せない場合、ブートプログラムＰ１，．．．，Ｐｍ（例えば、メモリ４ａ−１，．．．，４ａ−ｍのうちの対応するメモリに記憶されたブートプログラムＰ１，．．．，Ｐｍ）を選択する。
【００３７】
メモリ６が故障し、ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号のみを使用する場合、ブート制御部４ｃがリセット信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを停止し、プロセッサ２−１，．．．，２−ｎの内部状態は初期状態に移行する。プロセッサ２−１，．．．，２−ｎの内部状態が初期状態であるときに、メモリコントローラ４ｂは、ブートプログラムＰ１，．．．，Ｐｍを対応するメモリ４ａ−１，．．．，４ａ−ｍに格納する。
【００３８】
一方、ブート制御部４ｃがリセット信号をネゲート（パワーオンリセット解除）することによって、プロセッサ２−１，．．．，２−ｎは、ブートバス５−１，．．．，５−ｎに読み出し要求を出す。メモリコントローラ４ｂは、読出し要求に応じて、ブートプログラムＰ１，．．．，Ｐｍを対応するメモリから読み出す。読み出されたこれらの命令コード及びデータは、ブートバス５−１，．．．，５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎにそれぞれ供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍをそれぞれ実行することによって、シリアルバス３−１，．．．，３−ｎの初期化をそれぞれ行う。
【００３９】
メモリ６が故障し、ブート制御信号Ｖ１，．．．，Ｖｎとしてブートバス使用許可信号のみを使用する場合、ブート制御部４ｃがブートバス使用許可信号をネゲートすることによって、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを一時的に停止する。命令コードの読出しの一時的な停止中に、メモリコントローラ４ｂはブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００４０】
一方、ブート制御部４ｃがブートバス使用許可信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは、ブートバス５−１，．．．，５−ｎに読み出し要求を出す。メモリコントローラ４ｂは、読出し要求に応じて、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍから読み出す。読み出されたブートプログラムＰ１，．．．，Ｐｍは、ブートバス５−１，．．．，５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎに供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍを実行することによって、シリアルバス３−１，．．．，３−ｎの初期化を行う。
【００４１】
メモリ６が故障し、ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号とブートバス使用許可信号の両方を使用する場合、ブート制御部４ｃがブートバス使用許可信号をネゲートすることによって、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを一時的に停止し、その後、ブート制御部４ｃがリセット信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎの内部状態は初期状態に移行する。プロセッサ２−１，．．．，２−ｎの内部状態が初期状態であるときにメモリコントローラ４ｂは、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００４２】
一方、ブート制御部４ｃがリセット信号をネゲートし、その後、ブート制御部４ｃがブートバス使用許可信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは、ブートバス５−１，．．．，５−ｎに読み出し要求を出す。メモリコントローラ４ｂは、読出し要求に応じて、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍから読み出す。読み出されたブートプログラムＰ１，．．．，Ｐｍは、ブートバス５−１，．．．５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎに供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍを実行することによって、シリアルバス３−１，．．．，３−ｎの初期化を行う。
【００４３】
本実施の形態によれば、メモリ６が故障した場合でも、プロセッサ２−１，．．．，２−ｎは、メモリ４ａ−１，．．．，４ａ−ｍに格納されたブートプログラムＰ１，．．．，Ｐｍを実行することができるので、シリアルバス３−１，．．．，３−ｎの初期化を行うことができる。これによって、メモリ６が故障したか否かに関係なくプロセッサ２−１，．．．，２−ｎに任意の試験プログラムを実行させることができ、プロセッサ２−１，．．．，２−ｎによって実行されるプログラムの障害箇所を特定することができる。
【００４４】
図３は、本発明によるデータ処理装置の第３の実施の形態のブロック図である。図３に示すデータ処理装置１ｂは、ＣＮＣであり、プロセッサ２−１，．．．，２−ｎと、シリアルバス３−１，．．．，３−ｎと、チップセット４と、ブートバス５−１，．．．，５’−ｎと、メモリ６と、を備える。本実施の形態では、プロセッサ２−ｎがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。
【００４５】
ブートバス５’−ｎは、メモリコントローラ４ｂが読み出したブートプログラムＰ１，．．．，Ｐｍをプロセッサ２−ｎに供給するためにメモリコントローラ４ｂとプロセッサ２−ｎとの間に介在する第１の部分５’−ｎ−１と、メモリ６に記憶したブートプログラムＰ’をプロセッサ２−ｎに供給するためにメモリ６とプロセッサ２−ｎとの間に介在する第２の部分５’−ｎ−２と、を有する。また、ブートバス５’−ｎは、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。
【００４６】
本実施の形態によれば、上記第３の実施の形態と同様に、メモリ６が故障した場合でも、プロセッサ２−１，．．．，２−ｎは、メモリ４ａ−１，．．．，４ａ−ｍに格納されたブートプログラムＰ１，．．．，Ｐｍを実行することができるので、シリアルバス３−１，．．．，３−ｎの初期化を行うことができる。これによって、メモリ６が故障したか否かに関係なくプロセッサ２−１，．．．，２−ｎに任意の試験プログラムを実行させることができ、プロセッサ２−１，．．．，２−ｎによって実行されるプログラムの障害箇所を特定することができる。
【００４７】
図４は、本発明によるデータ処理装置の第４の実施の形態のブロック図である。図４に示すデータ処理装置１ｃは、ＣＮＣであり、プロセッサ２−１，．．．，２−ｎと、シリアルバス３−１，．．．，３−ｎと、チップセット４と、ブートバス５−１，．．．，５−ｎと、第２のメモリとしてのメモリ８と、第３のバスとしてのブートバス９と、を備える。本実施の形態では、プロセッサ２−ｎがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。
【００４８】
メモリ８は、ブートプログラムＰ’の命令コードが記憶された不揮発性のメモリである。メモリ８にブートプログラムＰ１，．．．，Ｐｍの命令コードを記憶するために、ブートプログラムＰ’の命令コードが予め記憶されている書換えのできないメモリと、ブートプログラムＰ’の命令コードがプロセッサ２−ｎによって書き込まれる書換え可能なメモリのいずれを用いてもよい。メモリ８としてブートプログラムＰ’の命令コードがプロセッサ２によって書き込まれる書き換え可能なメモリを用いる場合、ブートプログラムＰ１，．．．，Ｐｍは、メモリ８にブートプログラムＰ’を書き込むプログラムの役割も果たす。
【００４９】
ブートバス９は、メモリ１０に記憶したブートプログラムＰ’をメモリコントローラ４ｂに供給するためにメモリ１０とメモリコントローラ４ｂとの間に介在する。また、ブートバス９は、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。
【００５０】
本実施の形態では、ブート制御部４ｃは、プロセッサ２−ｎがブートプログラムを起動時に実行するためにメモリ４ａ−１，．．．，４ａ−ｍのうちの対応するメモリに記憶されたブートプログラムＰ１，．．．，Ｐｍとメモリ８に記憶されたブートプログラムＰ’のうちのいずれか一方を選択する。例えば、メモリ８が故障しているためにプロセッサ２−ｎがブートプログラムＰ’を読み出せない場合、ブートプログラムＰ１，．．．，Ｐｍ（例えば、メモリ４ａ−１，．．．，４ａ−ｍのうちの対応するメモリに記憶されたブートプログラムＰ１，．．．，Ｐｍ）を選択する。
【００５１】
メモリ８が故障し、ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号のみを使用する場合、ブート制御部４ｃがリセット信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを一時的に停止する。命令コードの読出しの一時的な停止中に、メモリコントローラ４ｂは、ブートプログラムＰ１，．．．，Ｐｍを対応するメモリに格納する。
【００５２】
一方、ブート制御部４ｃがリセット信号をネゲート（パワーオンリセット解除）することによって、プロセッサ２−１，．．．，２−ｎは、ブートバス５−１，．．．５−ｎに読み出し要求を出す。メモリコントローラ４ｂは、読出し要求に応じて、ブートプログラムＰ１，．．．，Ｐｍを対応するメモリから読み出す。読み出されたこれらの命令コード及びデータは、ブートバス５−１，．．．，５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎにそれぞれ供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍをそれぞれ実行することによって、シリアルバス３−１，．．．，３−ｎの初期化をそれぞれ行う。
【００５３】
メモリ８が故障し、ブート制御信号Ｖ１，．．．，Ｖｎとしてブートバス使用許可信号のみを使用する場合、ブート制御部４ｃがブートバス使用許可信号をネゲートすることによって、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを一時的に停止する。命令コードの読出しの一時的な停止中に、メモリコントローラ４ｂはブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００５４】
一方、ブート制御部４ｃがブートバス使用許可信号をアサートすることによって、メモリコントローラ４ｂは、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍから読み出す。読み出されたブートプログラムＰ１，．．．，Ｐｍは、ブートバス５−１，．．．，５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎに供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍを実行することによって、シリアルバス３−１，．．．，３−ｎの初期化を行う。
【００５５】
メモリ８が故障し、ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号とブートバス使用許可信号の両方を使用する場合、ブート制御部４ｃがブートバス使用許可信号使用許可信号をネゲートすることによって、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを一時的に停止し、その後、ブート制御部４ｃがリセット信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎの内部状態は初期状態に移行する。プロセッサ２−１，．．．，２−ｎの内部状態が初期状態であるときにメモリコントローラ４ｂは、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００５６】
一方、ブート制御部４ｃがリセット信号をネゲートし、その後、ブート制御部４ｃがブートバス使用許可信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは、ブートバス５−１，．．．５−ｎに読み出し要求を出す。メモリコントローラ４ｂは、読出し要求に応じて、ブートプログラムＰ１，．．．，Ｐｍをメモリ４ａ−１，．．．，４ａ−ｍから読み出す。読み出されたこれらの命令コード及びデータは、ブートバス５−１，．．．５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎに供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍを実行することによって、シリアルバス３−１，．．．，３−ｎの初期化を行う。
【００５７】
本実施の形態によれば、メモリ４ａ−１，．．．，４ａ−ｍに記憶されたブートプログラムＰ１，．．．，Ｐｍとメモリ８に記憶されたブートプログラムＰ’のうちのいずれか一方に誤りがある場合でも、プロセッサ２−１，．．．，２−ｎはシリアルバス３−１，．．．，３−ｎの初期化を行うことができ、これによって、プロセッサ２−１，．．．，２−ｎによって実行されるプログラムの障害箇所を特定することができる。
【００５８】
図５は、本発明によるデータ処理装置の第５の実施の形態のブロック図である。図５に示すデータ処理装置１ｄは、ＣＮＣであり、プロセッサ２−１，．．．，２−ｎと、シリアルバス３−１，．．．，３−ｎと、チップセット４と、ブートバス５−１，．．．，５−ｎと、第３の個数としてのｌ（ｌは１以上の整数）個の第２のプロセッサとしてのプロセッサ１０−１，．．．，１０−ｌと、ｌ個の第４のバスとしてのバス１２−１，．．．，１１−ｌと、メモリ１２と、ブートバス１３と、を備える。
【００５９】
プロセッサ１０−１，．．．，１０−ｌはそれぞれ、データ処理装置１ｄの電源投入後の初期化を行うためのブートプログラムＰに基づいた初期化、プロセッサ１０−１，．．．，１０−ｌによって実行されるプログラム（例えば、ブートプログラムＰ）に障害があるか否かを調べる試験プログラムに基づいた試験等を含む各種処理を行う。本実施の形態では、プロセッサ２−１，．．．，２−ｎは、デジタルシグナルプロセッサ（ＤＳＰ）として機能し、プロセッサ１０−ｌは、メインプロセッサとして機能し、それ以外のプロセッサは、サブプロセッサとして機能する。バス１１−１，．．．，１１−ｌは、メモリコントローラ４ｂがメモリ４ａ−１，．．．，４ａ−ｍに書き込むブートプログラムＰ１，．．．，Ｐｍをプロセッサ１０−ｌからメモリコントローラ４ｂに供給するためにプロセッサ１０−ｌとメモリコントローラ４ｂとの間に介在する。また、バス１１−１，．．．，１１−ｌは、使用時にプロセッサによるブートプログラムに基づいた初期化が必要であっても不要であってもよく、シリアルバスであってもパラレルバスであってもよい。
【００６０】
メモリ１２は、ブートプログラムＰの命令コードが記憶された不揮発性のメモリである。メモリ１２にブートプログラムＰの命令コードを記憶するために、ブートプログラムＰの命令コードが予め記憶されている書換えのできないメモリと、ブートプログラムＰの命令コードがプロセッサ１０−ｌによって書き込まれる書換え可能なメモリのいずれを用いてもよい。
【００６１】
ブートバス１３は、メモリ１２に記憶したブートプログラムＰをプロセッサ１０−ｌに供給するためにメモリ１２とプロセッサ１０−ｌとの間に介在する。また、ブートバス１３は、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。
【００６２】
また、メモリコントローラ４ｂに供給されたプログラムＰの命令コード及びメモリコントローラ４ｂが読み出した更新ブートプログラムのデータは、ブートバス５−１，．．．，５−ｎを介してメモリコントローラ４ｂからプロセッサ２−１，．．．，２−ｎにそれぞれ供給され、プロセッサ２−１，．．．，２−ｎがブートプログラムＰ１，．．．，Ｐｍ及び更新ブートプログラムをそれぞれ実行することによって、シリアルバス３−１，．．．，３−ｎの初期化をそれぞれ行う。
【００６３】
本実施の形態によれば、メモリ１２に記憶されたブートプログラムＰを、ＲＯＭライタ等の専用の設備及び専用の設備を用いた書込み作業を行うことなくメモリ４ａ−１，．．．，４ａ−ｍに書き込むことができる。
【００６４】
図６は、本発明によるデータ処理装置の第６の実施の形態のブロック図である。図６に示すデータ処理装置１ｅは、ＣＮＣであり、プロセッサ２−１，．．．，２−ｎと、シリアルバス３−１，．．．，３−ｎと、チップセット４と、ブートバス５−１，．．．，５−ｎと、第４の個数としての１個の第２のＬＳＩ１４−１と、第５のバスとしてのシステムバス１５と、プロセッサ１６と、メモリ１７と、バス１８と、ブートバス１９と、を備える。
【００６５】
ＬＳＩ１４−１は、バス１９とシステムバス１５の間のブリッジとして機能し、ＬＳＩ１４−１をスレーブとするバス１９上のトランザクションの全部又は一部を、ＬＳＩ１４−１をマスタとするシステムバス１５上のトランザクションに変換する。また、ＬＳＩ１４−１をスレーブとするシステムバス１５上のトランザクションの全部又は一部を、ＬＳＩ１４−１をマスタとするバス１９上のトランザクションに変換する。
【００６６】
システムバス１５は、メモリコントローラ４ｂがメモリ４ａ−１，．．．，４ａ−ｍに書き込むブートプログラムＰ１，．．．，Ｐｍの命令コードをＬＳＩ１４−１からメモリコントローラ４ｂに供給するためにＬＳＩ１４−１とメモリコントローラ４ｂとの間に介在する。また、システムバス１５には、図６に示すようにＬＳＩ１４−１以外のＬＳＩ１４−２，１４−３も接続されていてもよい。
【００６７】
プロセッサ１６は、データ処理装置１ｅの電源投入後の初期化を行うためのブートプログラムＰに基づいた初期化、プロセッサ１６によって実行されるプログラム（例えば、ブートプログラムＰ）に障害があるか否かを調べる試験プログラムに基づいた試験等を含む各種処理を行う。本実施の形態では、プロセッサ２−１，．．，２−ｎは、ＤＳＰとサブプロセッサのうちのいずれか一方として機能し、プロセッサ１６は、メインプロセッサとして機能する。
【００６８】
メモリ１７は、メモリ４ａ−１，．．．，４ａ−ｍに書き込むブートプログラムＰ１，．．．，Ｐｍのいずれかに対応するブートプログラムＰの命令コードが記憶された不揮発性のメモリである。メモリ１７にブートプログラムＰの命令コードを記憶するために、ブートプログラムＰの命令コードが予め記憶されている書換えのできないメモリと、ブートプログラムＰの命令コードがメモリコントローラ４ｂによって書き込まれる書換え可能なメモリのいずれを用いてもよい。
【００６９】
ブートバス１８は、メモリ１７に記憶したブートプログラムＰの命令コードをプロセッサ１６に供給するためにメモリ１７とプロセッサ１６との間に介在する。バス１９は、プロセッサ１６に供給されたブートプログラムＰの命令コードをＬＳＩ１４−１に供給するためにプロセッサ１６とＬＳＩ１４−１との間に介在する。また、ブートバス１８は、使用時にプロセッサ１６によるブートプログラムＰに基づいた初期化が不要である。
【００７０】
本実施の形態では、ブートプログラム読出し要求を出すために、ブート制御部４ｃは、プロセッサ１６からのバス１９、ＬＳＩ１４−１及びシステムバス１５を経由した指令により、プロセッサ２−１，．．．，２−ｎの起動のタイミングの制御、プロセッサ２−１，．．．，２−ｎの再起動のタイミングの制御及びブートバス５−１，．．．，５−ｎへのアクセス制御のうちの少なくとも一つを行う。このために、ブート制御部４ｃは、プロセッサ２−１，．．．，２−ｎの起動のタイミングの制御、プロセッサ２−１，．．．，２−ｎの再起動のタイミングの制御及びブートバス５−１，．．．，５−ｎへのアクセス制御のうちの少なくとも一つをそれぞれ行うためのブート制御信号Ｖ１，．．．，Ｖｎを、信号ラインＳ１−１，．．．，Ｓ１−ｎを介してプロセッサ２−１，．．．，２−ｎにそれぞれ供給する。ブート制御信号Ｖ１，．．．，Ｖｎとしては、プロセッサ２−１，．．．，２−ｎへのリセット信号とプロセッサ２−１，．．．，２−ｎからブートバス５−１，．．．，５−ｎへのアクセスを許可するブートバス使用許可信号のうちの少なくとも一方を用いる。また、ブート制御部４ｃがプロセッサ２−１，．．．，２−ｎの起動のタイミングの制御、プロセッサ２−１，．．．，２−ｎの再起動のタイミングの制御及びブートバス５−１，．．．，５−ｎへのアクセス制御のうちの少なくとも一つを行うために、メモリコントローラ４ｂとブート制御部４ｃとの間の情報のやり取りを、信号ラインＳ２を介して行う。
【００７１】
ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号のみを使用する場合、プロセッサ１６からのバス１９、ＬＳＩ１４−１及びシステムバス１５を経由した指令に応じて、ブート制御部４ｃがリセット信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを停止し、プロセッサ２−１，．．．，２−ｎの内部状態は初期状態に移行する。プロセッサ２−１，．．．，２−ｎの内部状態が初期状態であるときに、システムバス１５上のデバイスに内蔵されたＤＭＡコントローラとプロセッサコアのうちのいずれか一方又はプロセッサ１６は、不揮発性メモリ１７から又はシステムバス１５上のデバイスに内蔵又は接続された不揮発性メモリからメモリコントローラ４ｂへブートプログラムＰを転送する。メモリコントローラ４ｂはブートプログラムＰをメモリ４ａ−１，．．．，４ａ−ｍの全部又は一部に格納する。
【００７２】
一方、プロセッサ１６からのバス１９、ＬＳＩ１４−１及びシステムバス１５を経由した指令に応じて、ブート制御部４ｃがリセット信号をネゲート（パワーオンリセット解除）すると、プロセッサ２−１，．．．，２−ｎは、ブートプログラムＰ１，．．．，Ｐｍの命令コードを、ブートバス５−１，．．．，５−ｎを介してメモリ４ａ−１，．．．，４ａ−ｍから読み出して実行することによって、シリアルバス３−１，．．．，３−ｎの初期化をそれぞれ行う。
【００７３】
ブート制御信号Ｖ１，．．．，Ｖｎとしてブートバス使用許可信号のみを使用する場合、プロセッサ１６からのバス１９、ＬＳＩ１４−１及びシステムバス１５を経由した指令に応じて、ブート制御部４ｃがブートバス使用許可信号をネゲートすると、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを停止する。プロセッサ２−１，．．．，２−ｎが命令コードの読み出しを停止している間に、システムバス１５上のデバイスに内蔵されたＤＭＡコントローラとプロセッサコアのうちのいずれか一方又はプロセッサ１６は、不揮発性メモリ１７から又はシステムバス１５上のデバイスに内蔵又は接続された不揮発性メモリからメモリコントローラ４ｂへブートプログラムＰを転送する。メモリコントローラ４ｂはブートプログラムＰをメモリ４ａ−１，．．．，４ａ−ｍの全部又は一部に格納する。
【００７４】
一方、プロセッサ１６からのバス１９とＬＳＩ１４−１とシステムバス１５を経由した指令に応じて、ブート制御部４ｃがブートバス使用許可信号をアサートすると、プロセッサ２−１，．．．，２−ｎは、ブートプログラムＰ１，．．．，Ｐｍの命令コードを、ブートバス５−１，．．．，５−ｎを介してメモリ４ａ−１，．．．，４ａ−ｍから読み出して実行することによって、シリアルバス３−１，．．．，３−ｎの初期化をそれぞれ行う。
【００７５】
ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号とブートバス使用許可信号の両方を使用する場合、プロセッサ１６からのバス１９、ＬＳＩ１４−１及びシステムバス１５を経由した指令に応じて、ブート制御部４ｃがブートバス使用許可信号をネゲートすると、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを一時的に停止する。その後、ブート制御部４ｃがリセット信号をアサートすると、プロセッサ２−１，．．．，２−ｎの内部状態は初期状態に移行する。プロセッサ２−１，．．．，２−ｎの内部状態が初期状態であるときに、システムバス１５上のデバイスに内蔵されたＤＭＡコントローラとプロセッサコアのうちのいずれか一方又はプロセッサ１６は、不揮発性メモリ１７から又はシステムバス１５上のデバイスに内蔵又は接続された不揮発性メモリからメモリコントローラ４ｂへブートプログラムＰを転送する。メモリコントローラ４ｂは、ブートプログラムＰをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００７６】
一方、プロセッサ１６からのバス１９、ＬＳＩ１４−１及びシステムバス１５を経由した指令に応じて、ブート制御部４ｃがリセット信号をネゲートし、その後、ブート制御部４ｃがブートバス使用許可信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは、ブートプログラムＰ１，．．．，Ｐｍの命令コードを、ブートバス５−１，．．．，５−ｎを介してメモリ４ａ−１，．．．，４ａ−ｍから読み出して実行することによって、シリアルバス３−１，．．．，３−ｎの初期化をそれぞれ行う。
【００７７】
本実施の形態によれば、メモリ１７に記憶されたブートプログラムＰ又はシステムバス１５上のデバイスに内蔵又は接続された不揮発性メモリに記憶されたブートプログラムＰ１，．．．，Ｐｍの命令コードを、ＲＯＭライタ等の専用の設備及び専用の設備を用いた書込み作業を行うことなくメモリ４ａ−１，．．．，４ａ−ｍに書き込むことができる。
【００７８】
図７は、本発明によるデータ処理装置の第７の実施の形態のブロック図である。図７に示すデータ処理装置１ｆは、ＣＮＣであり、プロセッサ２−１，．．．，２−ｎと、シリアルバス３−１，．．．，３−ｎと、チップセット４と、ブートバス５−１，．．．，５−ｎと、ＬＳＩ１４−１と、システムバス１５と、トランシーバ２０と、を備える。本実施の形態では、プロセッサ２−ｎがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。
【００７９】
外部機器としてのパーソナルコンピュータ２１に格納されたブートプログラムＰは、メモリ４ａ−１，．．．，４ａ−ｍに書き込むブートプログラムＰ１，．．．，Ｐｍのいずれかに対応する。パーソナルコンピュータ２１に格納されたブートプログラムＰをＬＳＩ１４−１、システムバス１５及びメモリコントローラ４ｂを介してメモリ４ａ−１，．．．，４ａ−ｍに格納するとともに、パーソナルコンピュータ２１から送信された指令をＬＳＩ１４−１及びシステムバス１５を介してブート制御部４ｃに伝達するために、トランシーバ２０は、有線による通信経路２２を介して、パーソナルコンピュータ２１とデータの送受信を行う。これによって、プロセッサ２−１，．．．，２−ｎは、パーソナルコンピュータ２１から送信された指令に従ってブートプログラムＰ１，．．．，Ｐｍの命令コードを実行する。
【００８０】
例えば、ＬＳＩ１４−１は、高速シリアル通信（ＨＳＳＢ）制御ＬＳＩであり、トランシーバ２０は、光コネクタであり、通信経路２２は、高速シリアル通信バスである。
【００８１】
ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号のみを使用する場合、パーソナルコンピュータ２１からの通信経路２２、トランシーバ２０、ＬＳＩ１４−１及びシステムバス１５を経由した指令に応じて、ブート制御部４ｃがリセット信号をアサートすると、プロセッサ２−１，．．．，２−ｎは実行中のプログラムの命令コードの読出しを停止して、プロセッサ２−１，．．．，２−ｎの内部状態は初期状態に移行する。プロセッサ２−１，．．．，２−ｎの内部状態が初期状態であるときに、システムバス１５上のデバイスに内蔵されたＤＭＡコントローラとプロセッサコアのうちのいずれか一方又はパーソナルコンピュータ２１は、システムバス１５上のデバイスから又はパーソナルコンピュータ２１に内蔵又は接続された不揮発性メモリからメモリコントローラ４ｂへブートプログラムＰを転送する。メモリコントローラ４ｂはブートプログラムＰをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００８２】
一方、パーソナルコンピュータ２１からの通信経路２２、トランシーバ２０、ＬＳＩ１４−１及びシステムバス１５を経由した指令に応じて、ブート制御部４ｃがリセット信号をネゲート（パワーオンリセット解除）すると、プロセッサ２−１，．．．，２−ｎは、ブートプログラムＰ１，．．．，Ｐｍの命令コードを、ブートバス５−１，．．．，５−ｎを介してメモリ４ａ−１，．．．，４ａ−ｍから読み出して実行することによって、シリアルバス３−１，．．．，３−ｎの初期化をそれぞれ行う。
【００８３】
ブート制御信号Ｖ１，．．．，Ｖｎとしてブートバス使用許可信号のみを使用する場合、パーソナルコンピュータ２１からの通信経路２２、トランシーバ２０、ＬＳＩ１４−１及びシステムバス１５を経由した指令に応じて、ブート制御部４ｃがブートバス使用許可信号をネゲートすると、プロセッサ２−１，．．．，２−ｎは、実行中のプログラムの命令コードの読出しを停止する。プロセッサ２−１，．．．，２−ｎが命令コードの読み出しを停止している間に、システムバス１５上のデバイスに内蔵されたＤＭＡコントローラとプロセッサコアのうちのいずれか一方又はパーソナルコンピュータ２１は、システムバス１５上のデバイスから又はパーソナルコンピュータ２１に内蔵又は接続された不揮発性メモリからメモリコントローラ４ｂへブートプログラムＰを転送する。メモリコントローラ４ｂはブートプログラムＰをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００８４】
一方、パーソナルコンピュータ２１からの通信経路２２とトランシーバ２０、ＬＳＩ１４−１、システムバス１５を経由した指令に応じて、ブート制御部４ｃがブートバス使用許可信号をアサートすると、プロセッサ２−１，．．．，２−ｎは、ブートプログラムＰ１，．．．，Ｐｍの命令コードを、ブートバス５−１，．．．，５−ｎを介してメモリ４ａ−１，．．．，４ａ−ｍから読み出して実行することによって、シリアルバス３−１，．．．，３−ｎの初期化をそれぞれ行う。
【００８５】
ブート制御信号Ｖ１，．．．，Ｖｎとしてリセット信号とブートバス使用許可信号使用許可信号の両方を使用する場合、パーソナルコンピュータ２１からの通信経路２２、トランシーバ２０、ＬＳＩ１４−１及びシステムバス１５を経由した指令に応じて、ブート制御部４ｃがブートバス使用許可信号をネゲートすると、プロセッサ２−１，．．．，２−ｎは、実行中のプログラムの命令コードの読出しを一時的に停止し、その後、ブート制御部４ｃがリセット信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎの内部状態は初期状態に移行する。プロセッサ２−１，．．．，２−ｎの内部状態が初期状態であるときに、システムバス１５上のデバイスに内蔵されたＤＭＡコントローラとプロセッサコアのうちのいずれか一方又はパーソナルコンピュータ２１は、システムバス１５上のデバイスから又はパーソナルコンピュータ２１に内蔵又は接続された不揮発性メモリからメモリコントローラ４ｂへブートプログラムＰを転送する。メモリコントローラ４ｂは、ブートプログラムＰをメモリ４ａ−１，．．．，４ａ−ｍにそれぞれ格納する。
【００８６】
一方、パーソナルコンピュータ２１からの通信経路２２とトランシーバ２０、ＬＳＩ１４−１、システムバス１５を経由した指令に応じて、ブート制御部４ｃがリセット信号をネゲートし、その後、ブート制御部４ｃがブートバス使用許可信号をアサートすることによって、プロセッサ２−１，．．．，２−ｎは、ブートプログラムＰ１、．．．，Ｐｍの命令コードを、ブートバス５−１，．．．，５−ｎを介してメモリ４ａ−１，．．．，４ａ−ｍから読み出して実行することによって、シリアルバス３−１，．．．，３−ｎの初期化をそれぞれ行う。
【００８７】
本実施の形態によれば、プロセッサ２−１，．．．，２−ｎを、パーソナルコンピュータ２１から供給するブートプログラムＰ１，．．．，Ｐｍで起動することができる。また、図７に示さない図２のメモリ６又は図４のメモリ８にブートプログラムＰ’を書き込むプログラムをブートプログラムとして実行させることにより、ＲＯＭライタ等の専用の設備及び専用の設備を用いた書込み作業を行うことなくメモリ６又はメモリ８に書き込むことができる。
【００８８】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。例えば、上記第１〜７の実施の形態において、データ処理装置１，１ａ，１ｂ，１ｃ，１ｄ，１ｅ，１ｆがＣＮＣである場合について説明したが、データ処理装置１，１ａ，１ｂ，１ｃ，１ｄ，１ｅ，１ｆは、ロボットコントローラ等であってもよい。
【００８９】
上記第１〜７の実施の形態において、ｎが２以上の整数である場合について説明したが、ｎは１であってもよい。また、上記第１〜７の実施の形態において、ｍが２以上かつｎ未満の整数である場合について説明したが、ｍは１又は２以上かつｎと同一の整数であってもよい。また、上記第５の実施の形態において、ｌが２以上の整数である場合について説明したが、ｌは１であってもよい。
【００９０】
また、上記第１〜７の実施の形態において、シリアルバス３−１，．．．，３−ｎをチップセット４に接続する場合について説明したが、シリアルバス３−１，．．．，３−ｎをチップセット４以外の構成要素に接続することもできる。
【００９１】
プロセッサ２−１，．．．，２−ｎ，１０−１，．．．，１０−ｌ，１７を、プロセッサコア又はＤＭＡコントローラを内蔵したＳｏＣ(System-on-a-chip)によって構成することもできる。この場合、プロセッサ２−１，．．．，２−ｎからシリアルバス３−１，．．．，３−ｎにアクセスするために、プロセッサコア又はＤＭＡコントローラからシリアルバス３−１，．．．，３−ｎにアクセスする。
【００９２】
上記第１の実施の形態において、メモリ４ａ−１，．．．，４ａ−ｍがそれぞれＤＲＡＭ、ＳＲＡＭ等の書換え可能なメモリによって構成する場合について説明したが、メモリ４ａ−１，．．．，４ａ−ｍをそれぞれ書換え可能でないメモリによって構成することもできる。
【００９３】
ブート制御信号Ｖ１，．．．，Ｖｎ，Ｖｌ’としてリセット信号とブートバス使用許可信号の両方を使用する際に、ブートバス使用許可信号のアサート、リセット信号のネゲート、ブートバス使用許可信号のネゲート及びリセット信号のアサートを順に行う場合について説明したが、ブートバス使用許可信号のネゲート、リセット信号のアサート、リセット信号のネゲート及びブートバス使用許可信号のアサートを順に行い、リセット信号のアサート、ブートバス使用許可信号のネゲート、リセット信号のネゲート及びブートバス使用許可信号のアサートを順に行うこともできる。また、電源投入直後のデフォルトの状態がブートバス使用許可信号がネゲートであるとともにリセット信号がアサートである状態であるときに、リセット信号のネゲート及びブートバス使用許可信号のアサートを順に行うこともでき、電源投入直後のデフォルトの状態がブートバス使用許可信号及びリセット信号がネゲートであるときに、ブートバス使用許可信号のアサートを行うことができる。
【００９４】
上記第１〜７の実施の形態において、シリアルバス３−１，．．，３−ｎが同一プロトコルである場合について説明したが、シリアルバス３−１，．．，３−ｎが同一プロトコルでなくてもよい。また、ブート制御信号Ｖ１，．．．，Ｖｎ，Ｖｌ’として、プロセッサの電源準備完了信号、ブートバスのデータ準備完了信号、バスのクロック信号等を用いることもできる。
【００９５】
プロセッサ２−１，．．．，２−ｎ，１０−１，．．．，１０−ｌ，１７に２本のブートバスが接続される場合には、ブートバス使用許可信号として、一方のブートバスのみを制御する信号、２本のブートバスを個別に制御する信号及び２本のブートバスを同時に制御する信号のうちのいずれの信号を用いてもよい。また、上記第１〜７の実施の形態において、プロセッサ２−１，．．．，２−ｎ，１０−１，．．．，１０−ｌ，１７に１本又は２本のブートバスを接続する場合について説明したが、プロセッサ２−１，．．．，２−ｎ，１０−１，．．．，１０−ｌ，１７に３本以上のブートバスを接続することもできる。
【００９６】
上記第２〜４の実施の形態において、ブートプログラムＰを記憶した不揮発性のメモリをプロセッサ２−ｎのみにブートバスを介して接続した場合について説明したが、ブートプログラムＰを記憶した不揮発性のメモリをプロセッサ２−ｎ以外のプロセッサのうちの少なくとも一つにブートバスを介して接続することもできる。また、上記第５〜７の実施の形態において、ブートプログラムＰを記憶した不揮発性のメモリをプロセッサ２−１，．．．，２−ｎのうちの少なくとも一つにブートバスを介して接続することができる。
【００９７】
上記第５〜７の実施の形態において、ブートプログラムＰの命令コードをバス１１−１，．．．，１１−ｌ又はシステムバス１５を介してメモリコントローラ４ｂに供給する場合について説明したが、ブートプログラムＰ以外のプログラム（例えば、試験プログラム）の命令コード、各種データ等を、ブートプログラムＰの命令コードと同時又はブートプログラムＰの命令コードとは別にバス１１−１，．．．，１１−ｌ又はシステムバス１５を介してメモリコントローラ４ｂに供給することもできる。
【００９８】
上記第６及び７の実施の形態において、ブートプログラムＰを、ＬＳＩ１４−１に接続された不揮発性メモリ、ＬＳＩ１４−１に内蔵された不揮発性メモリ、ＬＳＩ１４−２とＬＳＩ１４−３のうちのいずれか一方に接続された不揮発性メモリ又はＬＳＩ１４−２とＬＳＩ１４−３のうちのいずれか一方に内蔵された不揮発性メモリから読み出すことができ、メモリコントローラ４ｂに対するメモリ４ａ−１，．．．，４ａ−ｍへのブートプログラムＰの書込み指示を、ＬＳＩ１４−１に内蔵されたＤＭＡコントローラ、チップセット４に内蔵されたＤＭＡコントローラ又はＬＳＩ１４−２とＬＳＩ１４−３のうちのいずれか一方に内蔵されたＤＭＡコントローラによって行うこともできる。
【００９９】
上記第６の実施の形態において、プロセッサ１６を、ＬＳＩ１４−１に内蔵されるプロセッサコアの形態とすることもでき、メモリ１７をＬＳＩ１４−１又はプロセッサ１６に内蔵することもでき、メモリ１７をプロセッサ１６の代わりにＬＳＩ１４−１に接続することもできる。また、上記第６の実施の形態において、データ処理装置１ｅは、図６に示すＬＳＩ１４−１、第５のバスとしてのシステムバス１５、プロセッサ１６、メモリ１７、バス１８及びブートバス１９を備えることができる。また、上記第７の実施の形態において、有線による通信経路２２の代わりに無線による通信経路を設けることもできる。さらに、上記第６の実施の形態において、データ処理装置１ｅは、図７に示すＬＳＩ１４−１、システムバス１５及びトランシーバ２０を備えることができる。
【符号の説明】
【０１００】
１，１ａ，１ｂ，１ｃ，１ｄ，１ｅ，１ｆ    データ処理装置
２−１，．．．，２−ｎ，１０−１，．．．，１０−ｌ，１６    プロセッサ
３−１，．．，３−ｎ    シリアルバス
４    チップセット
４ａ−１，．．．，４ａ−ｍ，６，８，１２，１７    メモリ
４ｂ    メモリコントローラ
４ｃ    ブート制御部
５−１，．．．，５−ｎ，５−ｎ’，７，９，１３，１９    ブートバス
５’−ｎ−１    第１の部分
５’−ｎ−２    第２の部分
１０−１，．．．，１０−ｌ，１８    バス
１４−１，１４−２，１４−３    ＬＳＩ
１５    システムバス
２０    トランシーバ
２１    通信路
２２    パーソナルコンピュータ
Ｐ，Ｐ’，Ｐ１，．．．，Ｐｍ    ブートプログラム
Ｓ１−１，．．．，Ｓ１−ｎ，Ｓ２    信号ライン
Ｖ１，．．．，Ｖｎ    ブート制御信号
Ｖｓ    ブートプログラム選択信号
【図１】
2014149598.tif 000003
【図２】
2014149598.tif 000004
【図３】
2014149598.tif 000005
【図４】
2014149598.tif 000006
【図５】
2014149598.tif 000007
【図６】
2014149598.tif 000008
【図７】
2014149598.tif 000009