"複数の第1のプロセッサと、複数の第2のプロセッサと、前記複数の第1のプロセッサが接続されている第1のバスと、前記複数の第2のプロセッサが接続されている第2のバスと、前記第1のバスが接続されている第1の外部バスIFと、前記第2のバスが接続されている第2の外部バスIFと、を一の半導体チップ上に備え、前記第1のプロセッサと前記第2のプロセッサは、別系統のクロックで制御され、周波数または位相が異なることを特徴とするマルチプロセッサ装置。前記第1のプロセッサと前記第2のプロセッサのうち、クロック周波数の速いプロセッサの領域の電源配線の配線密度は高くし、クロック周波数の遅いプロセッサの領域の電源配線の配線密度は低くする請求項1記載のマルチプロセッサ装置。前記第1のプロセッサと前記第2のプロセッサのうち、クロック周波数の速いプロセッサ群の領域の電源端子を多くし、クロック周波数の遅いプロセッサ群の領域の電源端子を少なくする請求項1から2のいずれか記載のマルチプロセッサ装置。前記第1のプロセッサまたは前記第2のプロセッサのうち、クロック周波数の速いプロセッサのCPU領域と外部バスIFは半導体チップ上に遠隔に配置される請求項1から3のいずれか記載のマルチプロセッサ装置。前記クロック周波数の速いプロセッサのCPUには速いクロックを供給し、前記外部バスIFとデータ処理を行うバスクロックには前記クロックの一部をゲーティングして生成する請求項4記載のマルチプロセッサ装置。しかしながら、一つのバスに複数のマルチプロセッサが接続されており、異なるアーキテクチャを含む場合、通常はプロセッサによって処理性能の速度差があるため、低速プロセッサによって高速プロセッサの動作が阻害され、高速プロセッサの性能が上がらないという問題があった。また、DSPSIMD型超並列プロセッサなどのデータ処理を主に行うプロセッサを含む場合は、DSPSIMD型超並列プロセッサは扱うデータ量が多いため、マルチプロセッサ側のバスアクセスが長く待たされ、マルチプロセッサによる性能向上の恩恵が受けられないという問題があった。また、キャッシュのコヒーレンシーの問題に対し、同一アーキテクチャのマルチプロセッサの場合は保証されているが、異アーキテクチャの場合は保証されていないことがほとんどであり、整合性が取れていないという問題があった。また、マルチプロセッサ対応OSを実行する場合、異アーキテクチャのプロセッサは開発元が違うため、複数のプロセッサに対応するようなOSを作ることはほとんどなく、同一アーキテクチャのプロセッサにしかマルチプロセッサ対応OSは対応しないことがほとんどである。よって、異アーキテクチャのプロセッサには別のOSを備えることになるが、異なるOSが同一バス上にある場合、同一バス上にOSがよく知らないバスマスタIP接続されているのと同じことになり、マルチプロセッサ対応OSによるスケジューリングなどの性能向上が妨げられるという問題があった。また、複数のバスに分けてバス同士をブリッジ結合している場合であっても、それぞれのローカルバスはバスマスタが一つであるため、CPUとローカルバスを合わせて一つのCPUと考えられ、異アーキテクチャが同一バス上にあった場合の上記問題点と同一の問題があった。また、外部バスIFがLSIに一つであっても、複数ある場合であっても同一バス上に接続されていることから、外部バスIFが接続されている側のバスは、別のバスからの外部バスアクセスリクエストにより、頻繁に止められ、所望の性能が得られない。また、外部バスIFが接続されていない側のバスは、別のバスからの外部バスIFにアクセスする際の性能が落ちるという問題があった。そこで本発明はかかる問題を解決するためになされたものであり、異なるアーキテクチャごとに独立したバスと外部バスIFを持つことで、高性能のマルチプロセッサ装置を得ることを目的としている。本発明の一実施形態における、マルチプロセッサ装置は、複数の第1のプロセッサと、複数の第2のプロセッサと、前記複数の第1のプロセッサが接続されている第1のバスと、前記複数の第2のプロセッサが接続されている第2のバスと、前記第1のバスが接続されている第1の外部バスIFと、前記第2のバスが接続されている第2の外部バスIFと、を一の半導体チップ上に備える。前記第1のプロセッサと前記第2のプロセッサは、別系統のクロックで制御され、周波数または位相が異なる。本発明の一実施形態によれば、複数のマルチプロセッサ群を同一の半導体チップにインプリメントする場合、異なるアーキテクチャごとに独立したバスと外部バスIFを備える。この構成により、それぞれのマルチプロセッサ群がほとんど独立に動けるため、異なるアーキテクチャのプロセッサ間の調停やバスの取り合いが減り、高性能なマルチプロセッサシステムを、低コスト、低電力で実現できる。[実施の形態1]図1は本発明の実施の形態1におけるマルチプロセッサ装置を示す構成図であり、このマルチプロセッサ装置は一の半導体チップ上に形成されている。CPU1~8の複数のプロセッサが並列に構成されており第1のプロセッサ群、SMPSymmetricMultipleProcessor構成となっている。それぞれのCPUは内部に1次キャッシュIcache,Dcache、内部メモリULM、MMUメモリ管理、SDIデバッガを持っている。8個のCPUはCPUバス10第1のバスに接続され、CPUバス10はCPUバス制御部11を介して2次キャッシュ12に接続されている。2次キャッシュ12はDDR2IF13第1の外部バスIFを介して外部バス1に接続されている。CPU内部は最大533MHzで動作する。CPUはCPU内部のバスIFで周波数変換され、最大266MHzでCPUバス10と接続される。2次キャッシュ12およびDDR2IF13は最大266MHzで動作する。また、本発明のLSIは同一半導体チップ上にCPUバス10の他に内部周辺バス14第2のバスを持っている。内部周辺バス14には、ICU割り込みコントローラ,ITIM定期的タイマ,UARTUniversalAsynchronousReceiverTransmitter:クロック非同期型シリアルIO,CSIOクロック同期型シリアルIO,CLKCクロックコントローラなどの周辺回路15、DMAC16DMAコントローラ、内蔵SRAM17、SMP構成のマトリクス型超並列プロセッサSIMD型超並列プロセッサ31,32、第2のプロセッサ群、外部バス制御部18第2の外部バスIF、別のアーキテクチャのCPU19が接続されている。内部周辺バス14は外部バス制御部18を介して外部バス2に接続され、SDRAM,ROM,RAM,IOなどの外部デバイスに接続するための外部バスアクセス経路を構成している。内部周辺バス14は最大133MHzで動作し、DMAC16、内蔵SRAM17、周辺回路15も最大133MHzで動作する。SIMD型超並列プロセッサ内部は最大266MHzで動作し、SIMD型超並列プロセッサ内部のバスIFで周波数変換され、内部周辺バス14と接続される。CPU19内部も最大266MHzで動作し、CPU19内部のバスIFで周波数変換され内部周波数バス7と接続する。このように処理性能に速度差があるため、それぞれのプロセッサ群は別系統のクロックで制御され、周波数、位相などが異なる。CPUバス10と内部周辺バス14は2次キャッシュ12を通して接続されている。よってCPU1~8は2次キャッシュ12を通してDDR2IF13から外部バス1にアクセスできるだけでなく、2次キャッシュ12を通して内部周辺バス14の資源へもアクセス可能である。従って、経路が遠く周波数も遅いのでデータ転送性能は上がらないが、CPU1~8は外部バス制御部18を通して別の外部バス2へもアクセスできる。内部周辺バス14に接続される各モジュールは、外部バス制御部18を通して外部バス2にアクセスできるが、外部バス1へはアクセスできない。CPU1~8は同一アーキテクチャのCPUである。1次/2次キャッシュのコヒーレンシーに関しては、1次/2次キャッシュメモリの内容がコヒーレンシ制御されて整合性が取れており、CPUが誤動作する心配がない。またマルチプロセッサ対応OSを使用した場合でも、CPUバス10上には同一アーキテクチャのCPU8個と2次キャッシュ12しかなく、また、外部バス1へのアクセスもCPU1~8からのアクセスに限られるため、高い性能を出せる。特にSIMD型超並列プロセッサはCPUに比べ動作速度が遅く、データ処理時には大量のデータを扱うため、バスを長時間占領してしまいがちだが、SIMD型超並列プロセッサは内部周辺バス14を通して外部バス2へアクセスするので、CPUバス10側への影響はない。また、SIMD型超並列プロセッサから見れば、CPUは主にはCPUバス10から外部バス1の経路を使用するので、データ転送中にCPUのために内部周辺バス14を開放する必要がなくなり、効率的なデータ転送ができる。特にCPUが複数構成されるマルチプロセッサなので、その効果は顕著であり、本発明例では8個のCPUであるが16個,32個それ以上のプロセッサがSIMD型超並列プロセッサのようなデータ処理向けプロセッサと同一バスにいた場合、データ処理が滞ってしまうため、本発明による効果は更に顕著になる。CPU19はCPU1~8に比べて動作速度や処理性能は落ちるが、消費電力や面積が小さいマイクロプロセッサである。周辺回路15を起動したり、タイマーをチェックしたり、CLKCを使ったパワーマネジメントなど演算処理性能が不要な処理を行うことができる。よってSIMD型超並列プロセッサと同一バス上に構成されていても、SIMD型超並列プロセッサの性能が落ちるという問題はない。[実施の形態2]図2から図4は本発明の実施の形態2におけるマルチプロセッサ装置のレイアウトを示した図である。図2は実施の形態1の各モジュールを実際のシリコンウエハ上に構成したレイアウト例である。図3は図2のレイアウト例をCPUバス関連モジュールCPU1~8、CPUバス制御と内部周辺バス関連モジュールSIMD型超並列プロセッサ31,32,CPU19,内蔵SRAM17,周辺回路15,外部バス制御部18,DMAC16をそれぞれCPUバス領域20と内部周辺バス領域21にまとめた図である。図4は実施の形態2における電源/GND配線22のイメージ図である。図2のようなレイアウト構成にすることにより、内部周辺バス14、CPUバス10は図のように最短で結ぶことができるため、高速動作でかつ無理な配線交差による混雑も起こりにくいため、面積が小さくなり低コストになる。また、バス以外の信号線も交差する配線数が減り、配線混雑や長距離配線による速度低下が起こりにくくなるため、低消費電力かつ低コストのLSIを実現することができる。また、バス領域ごとにエリアを分割しているため、電源遮断などの制御をしやすい。また、内部周辺バス領域21とCPUバス領域20では動作周波数/演算処理能力に差があるため、消費電力に差がある。クロック周波数が速く消費電力の大きいCPUバス領域20は低インピーダンスの配線が必要であり、クロック周波数が遅く消費電力の小さい内部周辺バス領域21は比較的インピーダンスが高めでもよい。消費電力の大きい領域における低インピーダンスの配線は、配線幅を太くしたり、あるいは配線間隔を狭くしたりすることで実現できるが、代償として配線層のうち電源/GND配線22が占める面積が大きくなるために、他の信号線等が配線しにくくなり、結果としてLSI面積の増大、コストの増大や、信号配線迂回による配線容量増で消費電力が増える。それぞれの領域が混在している場合は、安定した動作を保証するためには全体を低インピーダンス配線にする必要があるが、面積が大きくなり高コストとなる。図3のように消費電力の大きいCPUバス領域20と消費電力の小さい内部周辺バス領域21とに分けた場合、低インピーダンスの電源/GND配線22はCPUバス領域20にだけ適用すればよい。例えば図4のようにCPUバス領域20は太い配線を密に、内部周辺バス領域21は細い配線を疎に配線すればよい。こうすることで、不必要な電源配線をなくして低コストにしながら安定した動作が保証できる。また、電源端子も同様であり、図4のようにCPUバス領域20の電源/GND端子23は密に、内部周辺バス領域21の電源/GND端子23は疎にすればよい。図4の領域上に引かれている線は電源もしくはGND線で、チップ外縁にある丸は電源又はGND端子である。擬似的に幅の太い配線を数本引いているが、実際はもっと細い配線が数多く引かれる。例えば信号配線の最小幅が0.2μmの製造プロセスでは、CPUバス領域20には1μm幅の配線を4μmピッチで配線し、内部周辺バス領域21では0.4μm幅の配線を100μmピッチで配線する。こうすることで、不必要な電源/GND端子23をなくしながら、且つ安定した動作を保証することができる。図1からCPUバス領域20には外部バスが接続されていないので端子数は少なく、本実施の形態の配置を適用すれば、さほど大きな影響なく実現可能である。また、本実施の形態では図2のように外部バス1と外部バス2がチップの上下に離れて配置されることになる。外部バス制御部18またはDDR2IF13は駆動能力が高いため消費電力が大きく電源ノイズ等を引き起こしやすい。しかし本実施の形態の配置では、大電流源になる外部バス制御部18、DDR2IF13、CPUが離れて配置されており局所的な電力集中が起こらないため、発熱も均一化される。また外部バス制御部18、DDR2IF、CPUはノイズや温度変化に敏感であるが、放して配置することで互いのノイズや発熱の影響が減る。このように消費電力が大きくノイズに敏感なモジュールを離して配置することで、互いのノイズの影響が減るため、ノイズに対するマージンを少なく見積もって設計することができる。また、全体の消費電力が均一化され局所的な電力集中が起こらないため、電源配線が簡略化でき、さらに局所的な発熱がなく温度変化に対するマージンを少なく見積もって設計することができる。以上から安定した動作を保証しつつ、小面積、低コストで低電力のLSIが実現可能である。[実施の形態3]図5は実施の形態1の実際のシリコンウエハ上に構成された各モジュールのレイアウト例である。実施の形態2と比較すると、CPUバス制御モジュールと周辺モジュールの位置関係、および内蔵SRAM17の位置と大きさ、CPU19および2次キャッシュ12の形状が変わっている。CPUバス制御モジュールと周辺モジュールの位置関係に関して、自動配線ツールを使用したレイアウトでは、図2のように厳密にエリアを分割したまっすぐな配線ではなく、図5のようにCPUバス制御モジュールに対してバスが配線されることが多い。その場合、多少内部周辺バス14との重複が発生するが、実施の形態2とほぼ同様の効果を得ることができる。また、図5のようにそれぞれのCPUと2次キャッシュ12との重心に近い場所にCPUバス制御モジュールを配置した方が良い場合もあり、例えば内蔵SRAM17が実施例2よりも小さくてよく、且つアクセス頻度も少なく動作速度にも余裕がある場合、図5のように柔軟に配置位置を変更した方が全体の面積を抑えることができ、低コスト化することができる。内蔵SRAM17へのバス配線は、内部周辺バス14から分岐するところに図5のようにバッファ回路24を置く。こうすることで内部周辺バス14の配線長が長くなることによる、内部周辺バス14の速度劣化や電力増を防ぐことができる。内蔵SRAM17へのアクセスは速度に余裕があるため、バッファ回路24の挿入は問題にならない。[実施の形態4]図6は本発明の実施の形態4におけるマルチプロセッサ装置を示す構成図である。以下に実施の形態1と異なる点について説明する。CPUバス10と内部周辺バス14がバスブリッジ回路Busbridge25を通して接続されている。よってCPU1~8は2次キャッシュ12を通してDDR2IF13から外部バス1にアクセスできるだけでなく、Busbridge25を通して内部周辺バス14の資源へもアクセス可能である。従って、経路が遠く周波数も遅いので、データ転送性能は上がらないが、外部バス制御部18を通して別の外部バス2にもアクセスできる。ただし、Busbridge25を外部バス2および内部周辺バス14へのアクセスは2次キャッシュ12のキャッシングの対象とならない。また、内部周辺バス14に接続される各モジュールも、外部バス制御部18を通して外部バス2にアクセスできるほか、外部バス1へもBusbridgeを通してアクセスできる。CPU1~8は同一アーキテクチャのCPUである。1次/2次キャッシュのコヒーレンシーに関しては、1次/2次キャッシュメモリの内容がコヒーレンシ制御されて整合性が取れており、CPUが誤動作する心配がない。またマルチプロセッサ対応OSを使用した場合でも、CPUバス10上には同一アーキテクチャのCPU8個と2次キャッシュ12とBusbridge25しかなく、また、外部バス1へのアクセスは、内部周辺バス14に接続される各モジュールのアクセスは少なくほぼCPU1~8からのアクセスであるため、高い性能を出せる。その他の構成、効果は実施の形態1と同様のため説明を省略する。[実施の形態5]図7は本発明の実施の形態5におけるマルチプロセッサ装置を示す構成図である。実施の形態1と異なる点は、SIMD型超並列プロセッサ31,32の代わりにDSP41,42が接続されている点である。また、本実施の形態ではCPUバス10と内部周辺バス14のブリッジに2次キャッシュ12を使用したが、実施の形態4のように専用のBusbridge25を使用してもよい。その他の構成、効果は実施の形態1と同様のため説明を省略する。[実施の形態6]図8は実施の形態1~5のCPUのクロックCPUクロックとCPUバスクロックバスクロックの関係を示したタイミングチャートである。CPUクロックとCPUバスクロックの周波数は、CPUクロックの方がバスクロックより速い場合を考える。図8では、CPUクロックとバスクロックの周波数比が、11,21,41,81の場合を例にしている。n分周クロックn=1248はCPUクロックを周波数比に従って分周したクロックである。本発明ではn分周クロックの代わりに、図8のバスクロックをCPUバス10図1参照のクロックとしている。n分周クロックを用いる場合のクロック供給回路を図9に、Syncバスクロックを用いる場合のクロック供給回路を図10に示す。図9の分周器、もしくは図10のSync生成は、どちらもCLKCで生成される。CLKCは通常LSIに1つなので、CPUによってはn分周クロック、もしくはSyncは長い距離を接続することになり、実際はバッファなどが挿入される。n分周クロックとSyncを比較すると、スイッチング回数頻度はどちらも同じだが、n分周クロックはCPUクロックと位相を厳密に合わせる必要があるのに対して、Syncはその必要がないため、不必要に大きなバッファや無駄な遅延生成用バッファが不要になり、小面積、低コストで低消費電力なLSIを実現できる。また、CPUバス10のクロックの品質については、図9ではCPUクロックとの分岐点が遠く、かつ分周器が挿入されているn分周クロックに対して、図10のバスクロックはCPUクロックとの分岐点が近く、かつAND回路のみ挿入されている。従ってCPUクロックとの位相差スキューは図10の方が小さくすることができ、より高い周波数で動作することができる。またCPUとCPUバス10間の転送に対して、ホールド保証用のバッファが不要または少なくてすむ。従って、小面積、低コストで低消費電力なLSIを実現できる。本実施の形態ではCPUとCPUバスクロックとの関係について説明したが、SIMD型超並列プロセッサと内部周辺バス14、CPU19と内部周辺バス14に関しても同様である。[実施の形態7]図11は実施の形態1~6を使用したシステムのソフトウェアのブロック図である。各プロセッサごとにデバイスドライバdriverがあり、その上位階層にOSがある。CPU1~8はOS1が制御し、SIMD型超並列プロセッサ3132とCPU19はOS2が制御する。各OSは例えばOS1がLinuxなどの非リアルタイムOSで、OS2がITRONなどのリアルタイムOSが考えられる。OS1はCPUのアーキテクチャ向けに最適化されており、CPUバス10上には同一アーキテクチャのCPU8個と2次キャッシュ12とBusbridge25しかない。また、外部バス1へのアクセスも内部周辺バス14に接続される各モジュールのアクセスは少なく、ほぼCPU1~8からのアクセスであるため、高い性能を出せる。また、OS1により1次/2次キャッシュメモリの内容がコヒーレンシ制御されて整合性が取れており、コヒーレンシーの問題も最適に対応できる。一方OS2側もOS1とは独立に外部バス2を持っているので、OS1とのリソースの調整がほとんど無くなり、高い性能が出せる。図12は図11からさらにCPU19用にOS3を別途持たせたものである。図11の効果があるほか、各OSは単一アーキテクチャのプロセッサしか扱わないため、さらに効率がよい。"