(57)【特許請求の範囲】
【請求項１】
複数の第1のプロセッサと、
複数の第2のプロセッサと、
前記複数の第1のプロセッサが接続されている第1のバスと、
前記複数の第2のプロセッサが接続されている第2のバスと、
前記第1のバスが接続されている第1の外部バスI/Fと、
前記第2のバスが接続されている第2の外部バスI/Fと、を一の半導体チップ上に備え、
前記第1のプロセッサと前記第2のプロセッサは、別系統のクロックで制御され、周波数または位相が異なり、
前記第1の外部バスI/Fは前記半導体チップの外の第1の外部バスに接続可能であり、
前記第2の外部バスI/Fは前記半導体チップの外の第2の外部バスに接続可能であり、
前記複数の第1のプロセッサは、前記第1のバス及び前記第1の外部バスI/Fを介して前記第1の外部バスにアクセス可能であり、
前記複数の第2のプロセッサは、前記第2のバス及び前記第2の外部バスI/Fを介して前記第2の外部バスにアクセス可能であり、
前記半導体チップは平面視して4辺を有する矩形の形状をなし、前記第1の外部バスI/F及び前記第2の外部バスI/Fは、前記半導体チップの前記4辺のそれぞれ異なる辺に隣接して配置されることを特徴とするマルチプロセッサ装置。
【請求項２】
前記第1のプロセッサと前記第2のプロセッサのうち、クロック周波数の速いプロセッサの領域の電源配線の配線密度は高くし、クロック周波数の遅いプロセッサの領域の電源配線の配線密度は低くする請求項1記載のマルチプロセッサ装置。
【請求項３】
前記第1のプロセッサと前記第2のプロセッサのうち、クロック周波数の速いプロセッサ群の領域の電源端子を多くし、クロック周波数の遅いプロセッサ群の領域の電源端子を少なくする請求項1から2のいずれか記載のマルチプロセッサ装置。
【請求項４】
前記第1のプロセッサまたは前記第2のプロセッサのうち、クロック周波数の速いプロセッサのCPU領域と外部バスI/Fは半導体チップ上に遠隔に配置される請求項1から3のいずれか記載のマルチプロセッサ装置。
【請求項５】
前記クロック周波数の速いプロセッサのCPUには速いクロックを供給し、前記外部バスI/Fとデータ処理を行うバスクロックには前記クロックの一部をゲーティングして生成する請求項4記載のマルチプロセッサ装置。
【請求項６】
前記複数の第1のプロセッサは、前記第1のバス、第2のバス及び前記第2の外部バスI/Fを介して前記第2の外部バスにもアクセス可能である、請求項1から5のいずれか記載のマルチプロセッサ装置。
【請求項７】
前記第1のバスと前記第2のバスとの間に設けられたバスブリッジを備え、
前記複数の第1のプロセッサは、前記第1のバス、前記バスブリッジ、前記第2のバス及び前記第2の外部バスI/Fを介して前記第2の外部バスにアクセスする、請求項6記載のマルチプロセッサ装置。
【請求項８】
前記第1のバスと前記第1の外部バスI/Fとの間に設けられた2次キャッシュを備え、
前記複数の第1のプロセッサは、前記第1のバス、前記2次キャッシュ及び前記第1の外部バスI/Fを介して前記第1の外部バスにアクセスする、請求項7記載のマルチプロセッサ装置。
【請求項９】
前記第1のバスと前記第2のバスとの間に設けられた2次キャッシュを備え、
前記複数の第1のプロセッサは、前記第1のバス、前記2次キャッシュ及び前記第1の外部バスI/Fを介して前記第1の外部バスにアクセスし、前記第1のバス、前記2次キャッシュ、前記第2のバス及び前記第2の外部バスI/Fを介して前記第2の外部バスにアクセスする、請求項6記載のマルチプロセッサ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマルチプロセッサ群を同一ＬＳＩにインプリメントしたマルチプロセッサ装置の最適なバス構成およびレイアウト構成に関するものである。
【背景技術】
【０００２】
同一のアーキテクチャ、およびCPUやDSPなどの異なるアーキテクチャの複数のマルチプロセッサを同一の半導体チップ上にインプリメントするマルチプロセッサ装置のバス構成は、下記非特許文献1に記載されているように1つのバスに全てのマルチプロセッサが接続されている構成と、下記非特許文献2に記載されているように同じプロトコルを持つマルチプロセッサとバスを接続するためにそれぞれのCPUごとにローカルバスを持ち、複数のローカルバス同士をブリッジ結合している構成であった。
【０００３】
1つのバスに全てのマルチプロセッサが接続されている場合は、外部バスI/FがLSIに一つであっても、複数ある場合であっても同一バス上に接続されている。
【０００４】
複数のバスに分けてバス同士をブリッジ結合している場合は、ローカルバスに接続されるプロセッサは一つであり、それぞれのローカルバスは一つのバスマスタに接続しており、外部バスI/Fに接続されているのは一つのバスである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】東芝、EmotionEngine，SCE/IBM/東芝、Cell、2005年2月9日、［2007年1月9日検索］、インターネット＜http://ascii24.com/news/i/tech/article/2005/02/09/654178-000.html＞
【非特許文献２】ルネサス、G1、2006年2月、ISSCC2006 Fig.29.5.1「A Power Manegement Scheme Controlling 20 Power Domains for a Single-Chip Mobile Processor」
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、一つのバスに複数のマルチプロセッサが接続されており、異なるアーキテクチャを含む場合、通常はプロセッサによって処理性能の速度差があるため、低速プロセッサによって高速プロセッサの動作が阻害され、高速プロセッサの性能が上がらないという問題があった。また、DSP,SIMD型超並列プロセッサなどのデータ処理を主に行うプロセッサを含む場合は、DSP,SIMD型超並列プロセッサは扱うデータ量が多いため、マルチプロセッサ側のバスアクセスが長く待たされ、マルチプロセッサによる性能向上の恩恵が受けられないという問題があった。
【０００７】
また、キャッシュのコヒーレンシーの問題に対し、同一アーキテクチャのマルチプロセッサの場合は保証されているが、異アーキテクチャの場合は保証されていないことがほとんどであり、整合性が取れていないという問題があった。
【０００８】
また、マルチプロセッサ対応OSを実行する場合、異アーキテクチャのプロセッサは開発元が違うため、複数のプロセッサに対応するようなOSを作ることはほとんどなく、同一アーキテクチャのプロセッサにしかマルチプロセッサ対応OSは対応しないことがほとんどである。よって、異アーキテクチャのプロセッサには別のOSを備えることになるが、異なるOSが同一バス上にある場合、同一バス上にOSがよく知らないバスマスタIP接続されているのと同じことになり、マルチプロセッサ対応OSによるスケジューリングなどの性能向上が妨げられるという問題があった。
【０００９】
また、複数のバスに分けてバス同士をブリッジ結合している場合であっても、それぞれのローカルバスはバスマスタが一つであるため、CPUとローカルバスを合わせて一つのCPUと考えられ、異アーキテクチャが同一バス上にあった場合の上記問題点と同一の問題があった。
【００１０】
また、外部バスI/FがLSIに一つであっても、複数ある場合であっても同一バス上に接続されていることから、外部バスI/Fが接続されている側のバスは、別のバスからの外部バスアクセスリクエストにより、頻繁に止められ、所望の性能が得られない。また、外部バスI/Fが接続されていない側のバスは、別のバスからの外部バスI/Fにアクセスする際の性能が落ちるという問題があった。
【００１１】
そこで本発明はかかる問題を解決するためになされたものであり、異なるアーキテクチャごとに独立したバスと外部バスI/Fを持つことで、高性能のマルチプロセッサ装置を得ることを目的としている。
【課題を解決するための手段】
【００１２】
本発明の一実施形態における、マルチプロセッサ装置は、複数の第1のプロセッサと、複数の第2のプロセッサと、前記複数の第1のプロセッサが接続されている第1のバスと、前記複数の第2のプロセッサが接続されている第2のバスと、前記第1のバスが接続されている第1の外部バスI/Fと、前記第2のバスが接続されている第2の外部バスI/Fと、を一の半導体チップ上に備える。前記第1のプロセッサと前記第2のプロセッサは、別系統のクロックで制御され、周波数または位相が異なる。
【発明の効果】
【００１３】
本発明の一実施形態によれば、複数のマルチプロセッサ群を同一の半導体チップにインプリメントする場合、異なるアーキテクチャごとに独立したバスと外部バスI/Fを備える。この構成により、それぞれのマルチプロセッサ群がほとんど独立に動けるため、異なるアーキテクチャのプロセッサ間の調停やバスの取り合いが減り、高性能なマルチプロセッサシステムを、低コスト、低電力で実現できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態1におけるマルチプロセッサ装置を示す構成図である。
【図２】本発明の実施の形態2におけるレイアウト図である。
【図３】本発明の実施の形態2におけるレイアウト図である。
【図４】本発明の実施の形態2におけるレイアウト図である。
【図５】本発明の実施の形態3におけるレイアウト図である。
【図６】本発明の実施の形態4におけるマルチプロセッサ装置を示す構成図である。
【図７】本発明の実施の形態5におけるマルチプロセッサ装置を示す構成図である。
【図８】本発明の実施の形態6におけるタイミングチャートである。
【図９】従来技術におけるクロック供給回路を示す図である。
【図１０】本発明の実施の形態6におけるクロック供給回路を示す図である。
【図１１】本発明の実施の形態7におけるソフトウェアのブロック図である。
【図１２】本発明の実施の形態7におけるソフトウェアのブロック図である。
【発明を実施するための形態】
【００１５】
［実施の形態1］
図1は本発明の実施の形態1におけるマルチプロセッサ装置を示す構成図であり、このマルチプロセッサ装置は一の半導体チップ上に形成されている。CPU1〜8の複数のプロセッサが並列に構成されており（第１のプロセッサ群）、SMP（Symmetric Multiple Processor）構成となっている。それぞれのCPUは内部に1次キャッシュ（I-cache，D-cache）、内部メモリ（U-LM）、MMU（メモリ管理）、SDI（デバッガ）を持っている。8個のCPUはCPUバス10（第１のバス）に接続され、CPUバス10はCPUバス制御部11を介して2次キャッシュ12に接続されている。2次キャッシュ12はDDR2 I/F13（第１の外部バスI/F）を介して外部バス1に接続されている。
【００１６】
CPU内部は最大533MHzで動作する。CPUはCPU内部のバスI/Fで周波数変換され、最大266MHzでCPUバス10と接続される。2次キャッシュ12およびDDR2 I/F13は最大266MHzで動作する。
【００１７】
また、本発明のLSIは同一半導体チップ上にCPUバス10の他に内部周辺バス14（第２のバス）を持っている。内部周辺バス14には、ICU（割り込みコントローラ），ITIM（定期的タイマ），UART（Universal Asynchronous Receiver Transmitter：クロック非同期型シリアルI/O），CSIO（クロック同期型シリアルI/O），CLKC（クロックコントローラ）などの周辺回路15、DMAC16（DMAコントローラ）、内蔵SRAM17、SMP構成のマトリクス型超並列プロセッサ（SIMD型超並列プロセッサ31，32、第２のプロセッサ群）、外部バス制御部18（第２の外部バスI/F）、別のアーキテクチャのCPU19が接続されている。内部周辺バス14は外部バス制御部18を介して外部バス2に接続され、SDRAM，ROM，RAM，IOなどの外部デバイスに接続するための外部バスアクセス経路を構成している。
【００１８】
内部周辺バス14は最大133MHzで動作し、DMAC16、内蔵SRAM17、周辺回路15も最大133MHzで動作する。SIMD型超並列プロセッサ内部は最大266MHzで動作し、SIMD型超並列プロセッサ内部のバスI/Fで周波数変換され、内部周辺バス14と接続される。CPU19内部も最大266MHzで動作し、CPU19内部のバスI/Fで周波数変換され内部周波数バス7と接続する。このように処理性能に速度差があるため、それぞれのプロセッサ群は別系統のクロックで制御され、周波数、位相などが異なる。
【００１９】
CPUバス10と内部周辺バス14は2次キャッシュ12を通して接続されている。よってCPU1〜8は2次キャッシュ12を通してDDR2 I/F13から外部バス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またはDDR2 I/F13は駆動能力が高いため消費電力が大きく電源ノイズ等を引き起こしやすい。しかし本実施の形態の配置では、大電流源になる外部バス制御部18、DDR2 I/F13、CPUが離れて配置されており局所的な電力集中が起こらないため、発熱も均一化される。また外部バス制御部18、DDR2I/F、CPUはノイズや温度変化に敏感であるが、放して配置することで互いのノイズや発熱の影響が減る。
【００２９】
このように消費電力が大きくノイズに敏感なモジュールを離して配置することで、互いのノイズの影響が減るため、ノイズに対するマージンを少なく見積もって設計することができる。また、全体の消費電力が均一化され局所的な電力集中が起こらないため、電源配線が簡略化でき、さらに局所的な発熱がなく温度変化に対するマージンを少なく見積もって設計することができる。以上から安定した動作を保証しつつ、小面積、低コストで低電力のLSIが実現可能である。
【００３０】
［実施の形態3］
図5は実施の形態1の実際のシリコンウエハ上に構成された各モジュールのレイアウト例である。実施の形態2と比較すると、CPUバス制御モジュールと周辺モジュールの位置関係、および内蔵SRAM17の位置と大きさ、CPU19および2次キャッシュ12の形状が変わっている。
【００３１】
CPUバス制御モジュールと周辺モジュールの位置関係に関して、自動配線ツールを使用したレイアウトでは、図2のように厳密にエリアを分割したまっすぐな配線ではなく、図5のようにCPUバス制御モジュールに対してバスが配線されることが多い。その場合、多少内部周辺バス14との重複が発生するが、実施の形態2とほぼ同様の効果を得ることができる。また、図５のようにそれぞれのCPUと2次キャッシュ12との重心に近い場所にCPUバス制御モジュールを配置した方が良い場合もあり、例えば内蔵SRAM17が実施例2よりも小さくてよく、且つアクセス頻度も少なく動作速度にも余裕がある場合、図5のように柔軟に配置位置を変更した方が全体の面積を抑えることができ、低コスト化することができる。
【００３２】
内蔵SRAM17へのバス配線は、内部周辺バス14から分岐するところに図5のようにバッファ回路24を置く。こうすることで内部周辺バス14の配線長が長くなることによる、内部周辺バス14の速度劣化や電力増を防ぐことができる。内蔵SRAM17へのアクセスは速度に余裕があるため、バッファ回路24の挿入は問題にならない。
【００３３】
［実施の形態4］
図6は本発明の実施の形態4におけるマルチプロセッサ装置を示す構成図である。以下に実施の形態1と異なる点について説明する。CPUバス10と内部周辺バス14がバスブリッジ回路（Bus bridge25）を通して接続されている。よってCPU1〜8は2次キャッシュ12を通してDDR2 I/F13から外部バス1にアクセスできるだけでなく、Bus bridge25を通して内部周辺バス14の資源へもアクセス可能である。従って、経路が遠く周波数も遅いので、データ転送性能は上がらないが、外部バス制御部18を通して別の外部バス2にもアクセスできる。ただし、Bus bridge25を外部バス2および内部周辺バス14へのアクセスは2次キャッシュ12のキャッシングの対象とならない。また、内部周辺バス14に接続される各モジュールも、外部バス制御部18を通して外部バス2にアクセスできるほか、外部バス1へもBus bridgeを通してアクセスできる。
【００３４】
CPU1〜8は同一アーキテクチャのCPUである。1次／2次キャッシュのコヒーレンシーに関しては、1次／2次キャッシュメモリの内容がコヒーレンシ制御されて整合性が取れており、CPUが誤動作する心配がない。またマルチプロセッサ対応OSを使用した場合でも、CPUバス10上には同一アーキテクチャのCPU8個と2次キャッシュ12とBus bridge25しかなく、また、外部バス1へのアクセスは、内部周辺バス14に接続される各モジュールのアクセスは少なくほぼCPU1〜8からのアクセスであるため、高い性能を出せる。
【００３５】
その他の構成、効果は実施の形態1と同様のため説明を省略する。
【００３６】
［実施の形態5］
図7は本発明の実施の形態5におけるマルチプロセッサ装置を示す構成図である。実施の形態1と異なる点は、SIMD型超並列プロセッサ31，32の代わりにDSP41，42が接続されている点である。また、本実施の形態ではCPUバス10と内部周辺バス14のブリッジに2次キャッシュ12を使用したが、実施の形態4のように専用のBus bridge25を使用してもよい。その他の構成、効果は実施の形態1と同様のため説明を省略する。
【００３７】
［実施の形態6］
図8は実施の形態1〜5のCPUのクロック（CPUクロック）とCPUバスクロック（バスクロック）の関係を示したタイミングチャートである。CPUクロックとCPUバスクロックの周波数は、CPUクロックの方がバスクロックより速い場合を考える。図8では、CPUクロックとバスクロックの周波数比が、1:1，2:1，4:1，8:1の場合を例にしている。n分周クロック（n＝1,2,4,8）は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型超並列プロセッサ31,32とCPU19はOS2が制御する。各OSは例えばOS1がLinuxなどの非リアルタイムOSで、OS2がITRONなどのリアルタイムOSが考えられる。OS1はCPUのアーキテクチャ向けに最適化されており、CPUバス10上には同一アーキテクチャのCPU8個と2次キャッシュ12とBus bridge25しかない。また、外部バス1へのアクセスも内部周辺バス14に接続される各モジュールのアクセスは少なく、ほぼCPU1〜8からのアクセスであるため、高い性能を出せる。また、OS1により1次／2次キャッシュメモリの内容がコヒーレンシ制御されて整合性が取れており、コヒーレンシーの問題も最適に対応できる。一方OS2側もOS1とは独立に外部バス2を持っているので、OS1とのリソースの調整がほとんど無くなり、高い性能が出せる。
【００４３】
図12は図11からさらにCPU19用にOS3を別途持たせたものである。図11の効果があるほか、各OSは単一アーキテクチャのプロセッサしか扱わないため、さらに効率がよい。
【符号の説明】
【００４４】
1〜8，19  CPU、10  CPUバス、11  CPUバス制御部、12  2次キャッシュ、13  DDR2 I/F、14  内部周辺バス、15  周辺回路、16  DMAC、17  内蔵SRAM、18  外部バス制御部、20  CPUバス領域、21  内部周辺バス領域、22  電源／GND配線、23  電源／GND端子、24  バッファ、25  Bus bridge、31，32  SIMD型超並列プロセッサ、41，42  DSP。
【図１】
0005432199.tif 000002
【図２】
0005432199.tif 000003
【図３】
0005432199.tif 000004
【図４】
0005432199.tif 000005
【図５】
0005432199.tif 000006
【図６】
0005432199.tif 000007
【図７】
0005432199.tif 000008
【図８】
0005432199.tif 000009
【図９】
0005432199.tif 000010
【図１０】
0005432199.tif 000011
【図１１】
0005432199.tif 000012
【図１２】
0005432199.tif 000013