JP5575947B2 - Multiprocessor device - Google Patents
Multiprocessor device Download PDFInfo
- Publication number
- JP5575947B2 JP5575947B2 JP2013078334A JP2013078334A JP5575947B2 JP 5575947 B2 JP5575947 B2 JP 5575947B2 JP 2013078334 A JP2013078334 A JP 2013078334A JP 2013078334 A JP2013078334 A JP 2013078334A JP 5575947 B2 JP5575947 B2 JP 5575947B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- processor
- processors
- external bus
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、複数のマルチプロセッサ群を同一LSIにインプリメントしたマルチプロセッサ装置の最適なバス構成およびレイアウト構成に関するものである。 The present invention relates to an optimal bus configuration and layout configuration of a multiprocessor device in which a plurality of multiprocessor groups are implemented in the same LSI.
同一のアーキテクチャ、およびCPUやDSPなどの異なるアーキテクチャの複数のマルチプロセッサを同一の半導体チップ上にインプリメントするマルチプロセッサ装置のバス構成は、下記非特許文献1に記載されているように1つのバスに全てのマルチプロセッサが接続されている構成と、下記非特許文献2に記載されているように同じプロトコルを持つマルチプロセッサとバスを接続するためにそれぞれのCPUごとにローカルバスを持ち、複数のローカルバス同士をブリッジ結合している構成であった。
The bus configuration of a multiprocessor device that implements a plurality of multiprocessors of the same architecture and different architectures such as CPU and DSP on the same semiconductor chip is as one bus as described in Non-Patent
1つのバスに全てのマルチプロセッサが接続されている場合は、外部バスI/FがLSIに一つであっても、複数ある場合であっても同一バス上に接続されている。 When all the multiprocessors are connected to one bus, the external bus I / F is connected to the same bus regardless of whether there is one LSI or a plurality of external bus I / Fs.
複数のバスに分けてバス同士をブリッジ結合している場合は、ローカルバスに接続されるプロセッサは一つであり、それぞれのローカルバスは一つのバスマスタに接続しており、外部バスI/Fに接続されているのは一つのバスである。 When the buses are divided into multiple buses and bridged together, only one processor is connected to the local bus, and each local bus is connected to one bus master and connected to the external bus I / F. One bus is connected.
しかしながら、一つのバスに複数のマルチプロセッサが接続されており、異なるアーキテクチャを含む場合、通常はプロセッサによって処理性能の速度差があるため、低速プロセッサによって高速プロセッサの動作が阻害され、高速プロセッサの性能が上がらないという問題があった。また、DSP,SIMD型超並列プロセッサなどのデータ処理を主に行うプロセッサを含む場合は、DSP,SIMD型超並列プロセッサは扱うデータ量が多いため、マルチプロセッサ側のバスアクセスが長く待たされ、マルチプロセッサによる性能向上の恩恵が受けられないという問題があった。 However, when multiple multiprocessors are connected to a single bus and include different architectures, there is usually a difference in processing performance due to the processor, so the operation of the high-speed processor is hindered by the low-speed processor, and the performance of the high-speed processor There was a problem that did not go up. If a processor that mainly processes data such as DSP and SIMD type massively parallel processors is included, the DSP and SIMD type massively parallel processors handle a large amount of data. There was a problem that the benefits of improved performance by the processor could not be received.
また、キャッシュのコヒーレンシーの問題に対し、同一アーキテクチャのマルチプロセッサの場合は保証されているが、異アーキテクチャの場合は保証されていないことがほとんどであり、整合性が取れていないという問題があった。 In addition, the problem of cache coherency is guaranteed in the case of multiprocessors of the same architecture, but is not guaranteed in the case of different architectures, and there is a problem that consistency is not achieved. .
また、マルチプロセッサ対応OSを実行する場合、異アーキテクチャのプロセッサは開発元が違うため、複数のプロセッサに対応するようなOSを作ることはほとんどなく、同一アーキテクチャのプロセッサにしかマルチプロセッサ対応OSは対応しないことがほとんどである。よって、異アーキテクチャのプロセッサには別のOSを備えることになるが、異なるOSが同一バス上にある場合、同一バス上にOSがよく知らないバスマスタIP接続されているのと同じことになり、マルチプロセッサ対応OSによるスケジューリングなどの性能向上が妨げられるという問題があった。 Also, when running a multiprocessor-compatible OS, developers of different architectures have different developers, so there is almost no need to create an OS that supports multiple processors, and multiprocessor-compatible OSs only support processors with the same architecture. Mostly not. Therefore, a processor of a different architecture will have a different OS, but if different OSs are on the same bus, it will be the same as a bus master IP connection that the OS is not familiar with on the same bus, There was a problem that performance improvement such as scheduling by multi-processor compatible OS was hindered.
また、複数のバスに分けてバス同士をブリッジ結合している場合であっても、それぞれのローカルバスはバスマスタが一つであるため、CPUとローカルバスを合わせて一つのCPUと考えられ、異アーキテクチャが同一バス上にあった場合の上記問題点と同一の問題があった。 Even if the buses are divided into multiple buses and bridged together, each local bus has a single bus master, so the CPU and local buses are considered to be a single CPU. There was the same problem as the above problem when the architecture was on the same bus.
また、外部バスI/FがLSIに一つであっても、複数ある場合であっても同一バス上に接続されていることから、外部バスI/Fが接続されている側のバスは、別のバスからの外部バスアクセスリクエストにより、頻繁に止められ、所望の性能が得られない。また、外部バスI/Fが接続されていない側のバスは、別のバスからの外部バスI/Fにアクセスする際の性能が落ちるという問題があった。 In addition, even if there is one or more external bus I / F in the LSI, the bus on the side to which the external bus I / F is connected is connected on the same bus, The external bus access request from another bus is frequently stopped and the desired performance cannot be obtained. In addition, there is a problem that the performance of the bus on the side to which the external bus I / F is not connected decreases when accessing the external bus I / F from another bus.
そこで本発明はかかる問題を解決するためになされたものであり、異なるアーキテクチャごとに独立したバスと外部バスI/Fを持つことで、高性能のマルチプロセッサ装置を得ることを目的としている。 Accordingly, the present invention has been made to solve such a problem, and an object thereof is to obtain a high-performance multiprocessor device by having an independent bus and an external bus I / F for each different architecture.
本発明の一実施形態における、マルチプロセッサ装置は、複数の第1のプロセッサと、複数の第2のプロセッサと、前記複数の第1のプロセッサが接続されている第1のバスと、前記複数の第2のプロセッサが接続されている第2のバスと、前記第1のバスが接続されている第1の外部バスI/Fと、前記第2のバスが接続されている第2の外部バスI/Fと、を一の半導体チップ上に備える。前記第1のプロセッサと前記第2のプロセッサは、別系統のクロックで制御され、周波数または位相が異なる。 In one embodiment of the present invention, a multiprocessor device includes a plurality of first processors, a plurality of second processors, a first bus to which the plurality of first processors are connected, and the plurality of the plurality of first processors. A second bus to which a second processor is connected, a first external bus I / F to which the first bus is connected, and a second external bus to which the second bus is connected I / F is provided on one semiconductor chip. The first processor and the second processor are controlled by different clocks and have different frequencies or phases.
本発明の一実施形態によれば、複数のマルチプロセッサ群を同一の半導体チップにインプリメントする場合、異なるアーキテクチャごとに独立したバスと外部バスI/Fを備える。この構成により、それぞれのマルチプロセッサ群がほとんど独立に動けるため、異なるアーキテクチャのプロセッサ間の調停やバスの取り合いが減り、高性能なマルチプロセッサシステムを、低コスト、低電力で実現できる。 According to an embodiment of the present invention, when a plurality of multiprocessor groups are implemented on the same semiconductor chip, an independent bus and an external bus I / F are provided for each different architecture. With this configuration, since each multiprocessor group can operate almost independently, arbitration between processors of different architectures and bus contention are reduced, and a high-performance multiprocessor system can be realized at low cost and low power.
[実施の形態1]
図1は本発明の実施の形態1におけるマルチプロセッサ装置を示す構成図であり、このマルチプロセッサ装置は一の半導体チップ上に形成されている。CPU1〜8の複数のプロセッサが並列に構成されており(第1のプロセッサ群)、SMP(Symmetric Multiple Processor)構成となっている。それぞれのCPUは内部に1次キャッシュ(I-cache,D-cache)、内部メモリ(U-LM)、MMU(メモリ管理)、SDI(デバッガ)を持っている。8個のCPUはCPUバス10(第1のバス)に接続され、CPUバス10はCPUバス制御部11を介して2次キャッシュ12に接続されている。2次キャッシュ12はDDR2 I/F13(第1の外部バスI/F)を介して外部バス1に接続されている。
[Embodiment 1]
FIG. 1 is a configuration diagram showing a multiprocessor device according to
CPU内部は最大533MHzで動作する。CPUはCPU内部のバスI/Fで周波数変換され、最大266MHzでCPUバス10と接続される。2次キャッシュ12およびDDR2 I/F13は最大266MHzで動作する。
The CPU operates at a maximum of 533MHz. The CPU frequency is converted by a bus I / F inside the CPU and is connected to the
また、本発明のLSIは同一半導体チップ上にCPUバス10の他に内部周辺バス14(第2のバス)を持っている。内部周辺バス14には、ICU(割り込みコントローラ),ITIM(定期的タイマ),UART(Universal Asynchronous Receiver Transmitter:クロック非同期型シリアルI/O),CSIO(クロック同期型シリアルI/O),CLKC(クロックコントローラ)などの周辺回路15、DMAC16(DMAコントローラ)、内蔵SRAM17、SMP構成のマトリクス型超並列プロセッサ(SIMD型超並列プロセッサ31,32、第2のプロセッサ群)、外部バス制御部18(第2の外部バスI/F)、別のアーキテクチャのCPU19が接続されている。内部周辺バス14は外部バス制御部18を介して外部バス2に接続され、SDRAM,ROM,RAM,IOなどの外部デバイスに接続するための外部バスアクセス経路を構成している。
The LSI of the present invention has an internal peripheral bus 14 (second bus) in addition to the
内部周辺バス14は最大133MHzで動作し、DMAC16、内蔵SRAM17、周辺回路15も最大133MHzで動作する。SIMD型超並列プロセッサ内部は最大266MHzで動作し、SIMD型超並列プロセッサ内部のバスI/Fで周波数変換され、内部周辺バス14と接続される。CPU19内部も最大266MHzで動作し、CPU19内部のバスI/Fで周波数変換され内部周波数バス7と接続する。このように処理性能に速度差があるため、それぞれのプロセッサ群は別系統のクロックで制御され、周波数、位相などが異なる。
The internal
CPUバス10と内部周辺バス14は2次キャッシュ12を通して接続されている。よってCPU1〜8は2次キャッシュ12を通してDDR2 I/F13から外部バス1にアクセスできるだけでなく、2次キャッシュ12を通して内部周辺バス14の資源へもアクセス可能である。従って、経路が遠く周波数も遅いのでデータ転送性能は上がらないが、CPU1〜8は外部バス制御部18を通して別の外部バス2へもアクセスできる。内部周辺バス14に接続される各モジュールは、外部バス制御部18を通して外部バス2にアクセスできるが、外部バス1へはアクセスできない。
The
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型超並列プロセッサのようなデータ処理向けプロセッサと同一バスにいた場合、データ処理が滞ってしまうため、本発明による効果は更に顕著になる。
Also, from the viewpoint of the SIMD massively parallel processor, the CPU mainly uses the path from the
CPU19はCPU1〜8に比べて動作速度や処理性能は落ちるが、消費電力や面積が小さいマイクロプロセッサである。周辺回路15を起動したり、タイマーをチェックしたり、CLKCを使ったパワーマネジメントなど演算処理性能が不要な処理を行うことができる。よってSIMD型超並列プロセッサと同一バス上に構成されていても、SIMD型超並列プロセッサの性能が落ちるという問題はない。
The
[実施の形態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のイメージ図である。
[Embodiment 2]
2 to 4 are diagrams showing layouts of the multiprocessor device according to the second embodiment of the present invention. FIG. 2 is a layout example in which each module of the first embodiment is configured on an actual silicon wafer. Fig. 3 shows the layout example of Fig. 2. CPU bus related modules (CPU1-8, CPU bus control) and internal peripheral bus related modules (SIMD type massively
図2のようなレイアウト構成にすることにより、内部周辺バス14、CPUバス10は図のように最短で結ぶことができるため、高速動作でかつ無理な配線交差による混雑も起こりにくいため、面積が小さくなり低コストになる。また、バス以外の信号線も交差する配線数が減り、配線混雑や長距離配線による速度低下が起こりにくくなるため、低消費電力かつ低コストのLSIを実現することができる。また、バス領域ごとにエリアを分割しているため、電源遮断などの制御をしやすい。
With the layout configuration shown in Fig. 2, the internal
また、内部周辺バス領域21とCPUバス領域20では動作周波数/演算処理能力に差があるため、消費電力に差がある。クロック周波数が速く消費電力の大きいCPUバス領域20は低インピーダンスの配線が必要であり、クロック周波数が遅く消費電力の小さい内部周辺バス領域21は比較的インピーダンスが高めでもよい。消費電力の大きい領域における低インピーダンスの配線は、配線幅を太くしたり、あるいは配線間隔を狭くしたりすることで実現できるが、代償として配線層のうち電源/GND配線22が占める面積が大きくなるために、他の信号線等が配線しにくくなり、結果としてLSI面積の増大、コストの増大や、信号配線迂回による配線容量増で消費電力が増える。それぞれの領域が混在している場合は、安定した動作を保証するためには全体を低インピーダンス配線にする必要があるが、面積が大きくなり高コストとなる。
Further, the internal
図3のように消費電力の大きいCPUバス領域20と消費電力の小さい内部周辺バス領域21とに分けた場合、低インピーダンスの電源/GND配線22はCPUバス領域20にだけ適用すればよい。例えば図4のようにCPUバス領域20は太い配線を密に、内部周辺バス領域21は細い配線を疎に配線すればよい。こうすることで、不必要な電源配線をなくして低コストにしながら安定した動作が保証できる。また、電源端子も同様であり、図4のようにCPUバス領域20の電源/GND端子23は密に、内部周辺バス領域21の電源/GND端子23は疎にすればよい。
As shown in FIG. 3, when the
図4の領域上に引かれている線は電源もしくはGND線で、チップ外縁にある丸は電源又はGND端子である。擬似的に幅の太い配線を数本引いているが、実際はもっと細い配線が数多く引かれる。例えば信号配線の最小幅が0.2μmの製造プロセスでは、CPUバス領域20には1μm幅の配線を4μmピッチで配線し、内部周辺バス領域21では0.4μm幅の配線を100μmピッチで配線する。こうすることで、不必要な電源/GND端子23をなくしながら、且つ安定した動作を保証することができる。図1からCPUバス領域20には外部バスが接続されていないので端子数は少なく、本実施の形態の配置を適用すれば、さほど大きな影響なく実現可能である。
The line drawn on the area in FIG. 4 is a power supply or GND line, and the circle on the outer edge of the chip is a power supply or GND terminal. Although several pseudo-wide wirings are drawn, many thinner wirings are actually drawn. For example, in a manufacturing process in which the minimum width of signal wiring is 0.2 μm, wiring of 1 μm width is routed at 4 μm pitch in the
また、本実施の形態では図2のように外部バス1と外部バス2がチップの上下に離れて配置されることになる。外部バス制御部18またはDDR2 I/F13は駆動能力が高いため消費電力が大きく電源ノイズ等を引き起こしやすい。しかし本実施の形態の配置では、大電流源になる外部バス制御部18、DDR2 I/F13、CPUが離れて配置されており局所的な電力集中が起こらないため、発熱も均一化される。また外部バス制御部18、DDR2I/F、CPUはノイズや温度変化に敏感であるが、放して配置することで互いのノイズや発熱の影響が減る。
In the present embodiment, as shown in FIG. 2, the
このように消費電力が大きくノイズに敏感なモジュールを離して配置することで、互いのノイズの影響が減るため、ノイズに対するマージンを少なく見積もって設計することができる。また、全体の消費電力が均一化され局所的な電力集中が起こらないため、電源配線が簡略化でき、さらに局所的な発熱がなく温度変化に対するマージンを少なく見積もって設計することができる。以上から安定した動作を保証しつつ、小面積、低コストで低電力のLSIが実現可能である。 By disposing modules that are large in power consumption and sensitive to noise as described above, the influence of each other's noise is reduced, so that it is possible to design with a small margin for noise. Further, since the overall power consumption is made uniform and local power concentration does not occur, the power supply wiring can be simplified, and there can be no local heat generation, and the design can be performed with a small margin for temperature change. From the above, it is possible to realize a small area, low cost, low power LSI while guaranteeing stable operation.
[実施の形態3]
図5は実施の形態1の実際のシリコンウエハ上に構成された各モジュールのレイアウト例である。実施の形態2と比較すると、CPUバス制御モジュールと周辺モジュールの位置関係、および内蔵SRAM17の位置と大きさ、CPU19および2次キャッシュ12の形状が変わっている。
[Embodiment 3]
FIG. 5 is a layout example of each module configured on the actual silicon wafer of the first embodiment. Compared to the second embodiment, the positional relationship between the CPU bus control module and peripheral modules, the position and size of the built-in
CPUバス制御モジュールと周辺モジュールの位置関係に関して、自動配線ツールを使用したレイアウトでは、図2のように厳密にエリアを分割したまっすぐな配線ではなく、図5のようにCPUバス制御モジュールに対してバスが配線されることが多い。その場合、多少内部周辺バス14との重複が発生するが、実施の形態2とほぼ同様の効果を得ることができる。また、図5のようにそれぞれのCPUと2次キャッシュ12との重心に近い場所にCPUバス制御モジュールを配置した方が良い場合もあり、例えば内蔵SRAM17が実施例2よりも小さくてよく、且つアクセス頻度も少なく動作速度にも余裕がある場合、図5のように柔軟に配置位置を変更した方が全体の面積を抑えることができ、低コスト化することができる。
With regard to the positional relationship between the CPU bus control module and peripheral modules, the layout using the automatic wiring tool is not a straight wiring with strictly divided areas as shown in Fig. 2, but instead of a straight line with divided areas as shown in Fig. 5. Buses are often wired. In that case, there is some overlap with the internal
内蔵SRAM17へのバス配線は、内部周辺バス14から分岐するところに図5のようにバッファ回路24を置く。こうすることで内部周辺バス14の配線長が長くなることによる、内部周辺バス14の速度劣化や電力増を防ぐことができる。内蔵SRAM17へのアクセスは速度に余裕があるため、バッファ回路24の挿入は問題にならない。
For bus wiring to the built-in
[実施の形態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を通してアクセスできる。
[Embodiment 4]
FIG. 6 is a block diagram showing a multiprocessor device according to the fourth embodiment of the present invention. The differences from the first embodiment will be described below. The
CPU1〜8は同一アーキテクチャのCPUである。1次/2次キャッシュのコヒーレンシーに関しては、1次/2次キャッシュメモリの内容がコヒーレンシ制御されて整合性が取れており、CPUが誤動作する心配がない。またマルチプロセッサ対応OSを使用した場合でも、CPUバス10上には同一アーキテクチャのCPU8個と2次キャッシュ12とBus bridge25しかなく、また、外部バス1へのアクセスは、内部周辺バス14に接続される各モジュールのアクセスは少なくほぼCPU1〜8からのアクセスであるため、高い性能を出せる。
その他の構成、効果は実施の形態1と同様のため説明を省略する。 Since other configurations and effects are the same as those of the first embodiment, description thereof is omitted.
[実施の形態5]
図7は本発明の実施の形態5におけるマルチプロセッサ装置を示す構成図である。実施の形態1と異なる点は、SIMD型超並列プロセッサ31,32の代わりにDSP41,42が接続されている点である。また、本実施の形態ではCPUバス10と内部周辺バス14のブリッジに2次キャッシュ12を使用したが、実施の形態4のように専用のBus bridge25を使用してもよい。その他の構成、効果は実施の形態1と同様のため説明を省略する。
[Embodiment 5]
FIG. 7 is a configuration diagram showing a multiprocessor device according to the fifth embodiment of the present invention. A difference from the first embodiment is that
[実施の形態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クロックを周波数比に従って分周したクロックである。
[Embodiment 6]
FIG. 8 is a timing chart showing the relationship between the CPU clock (CPU clock) and the CPU bus clock (bus clock) in the first to fifth embodiments. The frequency of the CPU clock and the CPU bus clock is considered when the CPU clock is faster than the bus clock. FIG. 8 shows an example in which the frequency ratio between the CPU clock and the bus clock is 1: 1, 2: 1, 4: 1, and 8: 1. The n-divided clock (n = 1, 2, 4, 8) is a clock obtained by dividing the CPU clock according to the frequency ratio.
本発明ではn分周クロックの代わりに、図8のバスクロックをCPUバス10(図1参照)のクロックとしている。n分周クロックを用いる場合のクロック供給回路を図9に、Sync.+バスクロックを用いる場合のクロック供給回路を図10に示す。図9の分周器、もしくは図10のSync.生成は、どちらもCLKCで生成される。CLKCは通常LSIに1つなので、CPUによってはn分周クロック、もしくはSync.は長い距離を接続することになり、実際はバッファなどが挿入される。 In the present invention, the bus clock of FIG. 8 is used as the clock of the CPU bus 10 (see FIG. 1) instead of the n-divided clock. FIG. 9 shows a clock supply circuit when the n-divided clock is used, and FIG. 10 shows a clock supply circuit when the Sync. + bus clock is used. Both the frequency divider of FIG. 9 and the Sync. Generation of FIG. 10 are generated by CLKC. Since there is usually one CLKC in the LSI, depending on the CPU, the n-divided clock or Sync. Will be connected over a long distance, and in fact a buffer will be inserted.
n分周クロックとSync.を比較すると、スイッチング回数(頻度)はどちらも同じだが、n分周クロックはCPUクロックと位相を厳密に合わせる必要があるのに対して、Sync.はその必要がないため、不必要に大きなバッファや無駄な遅延生成用バッファが不要になり、小面積、低コストで低消費電力なLSIを実現できる。 When comparing the n-divided clock and Sync., the switching frequency (frequency) is the same, but the n-divided clock needs to be exactly in phase with the CPU clock, but Sync. is not necessary Therefore, an unnecessarily large buffer and useless delay generation buffer are not required, and an LSI with a small area, low cost and low power consumption can be realized.
また、CPUバス10のクロックの品質については、図9ではCPUクロックとの分岐点が遠く、かつ分周器が挿入されているn分周クロックに対して、図10のバスクロックはCPUクロックとの分岐点が近く、かつAND回路のみ挿入されている。従ってCPUクロックとの位相差(スキュー)は図10の方が小さくすることができ、より高い周波数で動作することができる。またCPUとCPUバス10間の転送に対して、ホールド保証用のバッファが不要または少なくてすむ。従って、小面積、低コストで低消費電力なLSIを実現できる。
As for the quality of the clock of the
本実施の形態ではCPUとCPUバスクロックとの関係について説明したが、SIMD型超並列プロセッサと内部周辺バス14、CPU19と内部周辺バス14に関しても同様である。
Although the relationship between the CPU and the CPU bus clock has been described in the present embodiment, the same applies to the SIMD type massively parallel processor and the internal
[実施の形態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とのリソースの調整がほとんど無くなり、高い性能が出せる。
[Embodiment 7]
FIG. 11 is a block diagram of the software of the system using the first to sixth embodiments. Each processor has a device driver (driver) and an OS in the upper hierarchy. The
図12は図11からさらにCPU19用にOS3を別途持たせたものである。図11の効果があるほか、各OSは単一アーキテクチャのプロセッサしか扱わないため、さらに効率がよい。
FIG. 12 is obtained by additionally providing OS3 for the
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。 1 to 8, 19 CPU, 10 CPU bus, 11 CPU bus controller, 12 secondary cache, 13 DDR2 I / F, 14 internal peripheral bus, 15 peripheral circuit, 16 DMAC, 17 internal SRAM, 18 external bus controller, 20 CPU bus area, 21 internal peripheral bus area, 22 power supply / GND wiring, 23 power supply / GND terminal, 24 buffer, 25 Bus bridge, 31, 32 SIMD type massively parallel processor, 41, 42 DSP.
Claims (9)
複数の第2のプロセッサと、
前記複数の第1のプロセッサが接続されている第1のバスと、
前記複数の第2のプロセッサが接続されている第2のバスと、
第1の外部バスが接続可能な第1の外部バスI/Fと、
第2の外部バスが接続可能な第2の外部バスI/Fと、を一の半導体チップ上に備え、
前記第1のプロセッサと前記第2のプロセッサは、別系統のクロックで制御され、周波数または位相が異なり、
前記複数の第1のプロセッサは、前記第2のバスを介さずに前記第1のバス及び前記第1の外部バスI/Fを介して前記半導体チップの外に設けられる前記第1の外部バスにアクセス可能であり、
前記複数の第1のプロセッサは、前記第1のバス、前記第2のバス及び第2の外部バスI/Fを介して前記第2の外部バスにアクセス可能であり、
前記複数の第2のプロセッサは、前記第1のバスを介さずに前記第2のバス及び前記第2の外部バスI/Fを介して前記半導体チップの外に設けられる前記第2の外部バスにアクセス可能である、
ことを特徴とするマルチプロセッサ装置。 A first multiple processors,
A second multiple processors,
A first bus to which the plurality of first processors are connected;
A second bus to which the plurality of second processors are connected;
The first and the external bus I / F first external bus connectable,
A second external bus I / F second external bus can be connected, a provided on one semiconductor chip,
Said first processor and said second processor is controlled by a separate system clock, Ri frequency or phase Do different,
The plurality of first processors includes the first external bus provided outside the semiconductor chip via the first bus and the first external bus I / F without going through the second bus. Is accessible to
The plurality of first processors can access the second external bus via the first bus, the second bus, and a second external bus I / F,
The plurality of second processors include the second external bus provided outside the semiconductor chip via the second bus and the second external bus I / F without going through the first bus. Is accessible to the
A multiprocessor device characterized by that.
前記複数の第1のプロセッサは、前記2次キャッシュを介して前記第2の外部バスにアクセス可能である、請求項1記載のマルチプロセッサ装置。2. The multiprocessor device according to claim 1, wherein the plurality of first processors are accessible to the second external bus via the secondary cache.
前記複数の第1のプロセッサは、前記バスブリッジを介して前記第2の外部バスにアクセス可能である、請求項1記載のマルチプロセッサ装置。2. The multiprocessor device according to claim 1, wherein the plurality of first processors can access the second external bus via the bus bridge.
前記複数の第1のプロセッサは、前記2次キャッシュを介して前記第1の外部バスにアクセス可能である、請求項7記載のマルチプロセッサ装置。8. The multiprocessor device according to claim 7, wherein the plurality of first processors can access the first external bus via the secondary cache.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013078334A JP5575947B2 (en) | 2013-04-04 | 2013-04-04 | Multiprocessor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013078334A JP5575947B2 (en) | 2013-04-04 | 2013-04-04 | Multiprocessor device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011047212A Division JP5432199B2 (en) | 2011-03-04 | 2011-03-04 | Multiprocessor device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013140630A JP2013140630A (en) | 2013-07-18 |
JP5575947B2 true JP5575947B2 (en) | 2014-08-20 |
Family
ID=49037938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013078334A Active JP5575947B2 (en) | 2013-04-04 | 2013-04-04 | Multiprocessor device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5575947B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102550886B1 (en) * | 2018-04-03 | 2023-07-05 | 삼성전자주식회사 | System on chip and operating method thereof |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03263854A (en) * | 1990-03-14 | 1991-11-25 | Fujitsu Ltd | Gate array type semiconductor integrated circuit device |
US5768613A (en) * | 1990-07-06 | 1998-06-16 | Advanced Micro Devices, Inc. | Computing apparatus configured for partitioned processing |
JP3177464B2 (en) * | 1996-12-12 | 2001-06-18 | 株式会社日立製作所 | Input / output circuit cell and semiconductor integrated circuit device |
JP3900714B2 (en) * | 1997-10-31 | 2007-04-04 | セイコーエプソン株式会社 | Electro-optical device and electronic apparatus |
JPH11353232A (en) * | 1998-06-05 | 1999-12-24 | Nec Software Hokuriku Ltd | Cache control method of hierarchical bus constitution multiprocessor system |
JP3365488B2 (en) * | 1998-09-16 | 2003-01-14 | 日本電気株式会社 | Memory sharing type multiprocessor system |
JP2000347933A (en) * | 1999-06-08 | 2000-12-15 | Nec Kofu Ltd | Bus bridge, device and method for controlling cache coherence, processor unit and multiprocessor system |
JP2001014139A (en) * | 1999-06-28 | 2001-01-19 | Nec Corp | Multi-thread sort processing system and method using work file |
US6820161B1 (en) * | 2000-09-28 | 2004-11-16 | International Business Machines Corporation | Mechanism for allowing PCI-PCI bridges to cache data without any coherency side effects |
JP2004134599A (en) * | 2002-10-11 | 2004-04-30 | Renesas Technology Corp | Semiconductor device and lay-out method therefor |
JP4027874B2 (en) * | 2003-10-15 | 2007-12-26 | 富士通株式会社 | Clock change circuit |
-
2013
- 2013-04-04 JP JP2013078334A patent/JP5575947B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013140630A (en) | 2013-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5079342B2 (en) | Multiprocessor device | |
US11573726B1 (en) | Data processing engine arrangement in a device | |
US10635622B2 (en) | System-on-chip interface architecture | |
US20190303311A1 (en) | Device with data processing engine array | |
Gwennap | Alpha 21364 to ease memory bottleneck | |
KR102355989B1 (en) | Multi-node system low-power management | |
JP5102789B2 (en) | Semiconductor device and data processor | |
US20150095688A1 (en) | Early wake-warn for clock gating control | |
US11934313B2 (en) | Scalable system on a chip | |
JP2012252490A (en) | Multiprocessor and image processing system using the same | |
US7689758B2 (en) | Dual bus matrix architecture for micro-controllers | |
CN115221108A (en) | Multiple independent on-chip interconnects | |
US11403221B2 (en) | Memory access response merging in a memory hierarchy | |
JP5575947B2 (en) | Multiprocessor device | |
JP5432199B2 (en) | Multiprocessor device | |
US11972132B2 (en) | Data processing engine arrangement in a device | |
Zhang et al. | High performance and low area interconnect structure based on AXI | |
Bocchi et al. | Design and implementation of a reconfigurable heterogeneous multiprocessor SoC | |
Solnushkin et al. | Marrying many-core accelerators and infiniband for a new commodity processor | |
Fu et al. | Agent-Based Memory Access for Many-Core CMPs | |
Uchiyama et al. | Chip Implementations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130404 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140401 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140529 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140701 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140702 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5575947 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |