【特許請求の範囲】
【請求項1】
CPUと、前記CPUに接続されているネットワークインタフェースと、スタティックスケジューリング時に転送されるデータを格納する第1メモリと、を備える複数のプロセッシングエレメントと、
前記各プロセッシングエレメントに接続され、前記各プロセッシングエレメントによって共有される第2メモリと、を備えることを特徴とするマルチプロセッサ。
【請求項2】
前記第2メモリは、ダイナミックスケジューリング時に前記各プロセッシングエレメントによって共通に使用されるデータを格納することを特徴とする請求項1に記載のマルチプロセッサ。
【請求項3】
前記第1メモリは、他の前記プロセッシングエレメントからアクセス可能な分散共有メモリであることを特徴とする請求項1又は2に記載のマルチプロセッサ。
【請求項4】
前記分散共有メモリは、送信側の前記CPUによって転送されるデータ及び同期フラグを書き込むことを特徴とする請求項3に記載のマルチプロセッサ。
【請求項5】
前記分散共有メモリは、デュアルポートメモリで構成され、
前記マルチプロセッサは、前記分散共有メモリの一つのポートに接続されるデータ転送コントローラを備えることを特徴とする請求項3に記載のマルチプロセッサ。
【請求項6】
前記プロセッシングエレメントは、当該プロセッシングエレメントだけからアクセス可能なローカルメモリを備えることを特徴とする請求項3に記載のマルチプロセッサ。
【請求項7】
前記ローカルメモリは、L1キャッシュとして使用でき、前記L1キャッシュのデータは同期するように制御されることを特徴とする請求項6に記載のマルチプロセッサ。
【請求項8】
前記第2メモリは、L2キャッシュとして使用できることを特徴とする請求項3に記載のマルチプロセッサ。
【請求項9】
前記第1メモリは、前記第1メモリを備えるプロセッシングエレメントだけからアクセス可能なローカルメモリであることを特徴とする請求項1又は2に記載のマルチプロセッサ。
【請求項10】
前記プロセッシングエレメントは、他の前記プロセッシングエレメントからアクセス可能な分散共有メモリを備えることを特徴とする請求項9に記載のマルチプロセッサ。
【請求項11】
前記分散共有メモリは、送信側の前記CPUによって転送されるデータ及び同期フラグがセットされることを特徴とする請求項10に記載のマルチプロセッサ。
【請求項12】
前記分散共有メモリは、デュアルポートメモリで構成され、
前記マルチプロセッサは、前記分散共有メモリの一つのポートに接続されるデータ転送コントローラを備えることを特徴とする請求項10に記載のマルチプロセッサ。
【請求項13】
前記ローカルメモリは、L1キャッシュとして使用できることを特徴とする請求項9に記載のマルチプロセッサ。
【請求項14】
前記第2メモリは、L2キャッシュとして使用できることを特徴とする請求項9に記載のマルチプロセッサ。
【請求項15】
前記CPU及び前記ネットワークインタフェースに直接接続され、将来実行すべき命令を前記第1メモリから先読みするアジャスタブルプリフェッチ命令キャッシュをさらに備えることを特徴とする請求項1又は2に記載のマルチプロセッサ。
【請求項16】
前記アジャスタブルプリフェッチ命令キャッシュは、予め決められたウェイに、将来実行される命令列を事前読み出しでき、指定された複数のウェイを先読みできるエリアとして使用可能であることを特徴とする請求項15に記載のマルチプロセッサ。
【請求項17】
前記アジャスタブルプリフェッチ命令キャッシュは、データキャッシュとして使用できることを特徴とする請求項15に記載のマルチプロセッサ。
【請求項18】
前記各プロセッシングエレメントに接続されており、前記各プロセッシングエレメントによって共有されるグローバルレジスタファイルをさらに備えることを特徴とする請求項1又は2に記載のマルチプロセッサ。
【請求項19】
前記マルチプロセッサで実行されるコンパイラの指示によって前記第1メモリへデータが転送されることを特徴とする請求項1又は2に記載のマルチプロセッサ。
【請求項20】
前記コンパイラは、粗粒度並列処理時と近細粒度タスク処理時とで、前記第1メモリへのデータの転送を異ならせることを特徴とする請求項19に記載のマルチプロセッサ。
【請求項21】
前記マルチプロセッサは、複数の前記プロセッシングエレメントを含む複数のシングルチップマルチプロセッサと、入出力を制御する入出力制御用プロセッサと、を備え、
前記第2メモリは、前記シングルチップマルチプロセッサとは別のチップに構成され、前記CPUとネットワークを介して接続されることによって前記シングルチップマルチプロセッサに共有されることを特徴とする請求項1又は2に記載のマルチプロセッサ。
【請求項22】
CPU及びデータを格納する第1メモリを備える複数のプロセッシングエレメントを備えるマルチプロセッサであって、
前記第1メモリは、当該プロセッシングエレメントだけからアクセス可能なローカルメモリとして用いられるモードと、データキャッシュとして使用されるモードとを切替可能であり、
前記マルチプロセッサは、前記各プロセッシングエレメントに接続され、前記各プロセッシングエレメントによって共有される第2メモリを備えることを特徴とするマルチプロセッサ。
[Claims]
[Claim 1]
A CPU, and a network interface connected to said CPU, a first memory for storing data to be transferred during the static scheduling, a plurality of processing elements comprising,
Which is connected to each processing element, multi-processor, characterized in that it comprises a second memory that will be shared by the respective processing elements.
2.
The multiprocessor according to claim 1, wherein the second memory stores data commonly used by each of the processing elements during dynamic scheduling.
3.
The multiprocessor according to claim 1 or 2, wherein the first memory is a distributed shared memory accessible from another processing element.
4.
The multiprocessor according to claim 3, wherein the distributed shared memory writes data transferred by the CPU on the transmitting side and a synchronization flag.
5.
The distributed shared memory is composed of dual port memory.
The multiprocessor according to claim 3, wherein the multiprocessor includes a data transfer controller connected to one port of the distributed shared memory.
6.
The multiprocessor according to claim 3, wherein the processing element includes a local memory that can be accessed only from the processing element.
7.
The multiprocessor according to claim 6, wherein the local memory can be used as an L1 cache, and the data in the L1 cache is controlled to be synchronized.
8.
The multiprocessor according to claim 3, wherein the second memory can be used as an L2 cache.
9.
The multiprocessor according to claim 1 or 2, wherein the first memory is a local memory that can be accessed only from a processing element including the first memory.
10.
The multiprocessor according to claim 9, wherein the processing element includes a distributed shared memory accessible from another processing element.
11.
The multiprocessor according to claim 10, wherein the distributed shared memory is set with data transferred by the CPU on the transmitting side and a synchronization flag.
12.
The distributed shared memory is composed of dual port memory.
The multiprocessor according to claim 10, wherein the multiprocessor includes a data transfer controller connected to one port of the distributed shared memory.
13.
The multiprocessor according to claim 9, wherein the local memory can be used as an L1 cache.
14.
The multiprocessor according to claim 9, wherein the second memory can be used as an L2 cache.
15.
The multiprocessor according to claim 1 or 2, further comprising an adjustable prefetch instruction cache that is directly connected to the CPU and the network interface and pre-reads instructions to be executed in the future from the first memory.
16.
The 15th aspect of the present invention, wherein the adjustable prefetch instruction cache can pre-read an instruction sequence to be executed in the future into a predetermined way, and can be used as an area in which a plurality of designated ways can be pre-read. Multiprocessor.
17.
The multiprocessor according to claim 15, wherein the adjustable prefetch instruction cache can be used as a data cache.
18.
The multiprocessor according to claim 1 or 2, further comprising a global register file connected to each of the processing elements and shared by each of the processing elements.
19.
The multiprocessor according to claim 1 or 2, wherein data is transferred to the first memory according to an instruction of a compiler executed by the multiprocessor.
20.
The multiprocessor according to claim 19, wherein the compiler makes the transfer of data to the first memory different between coarse-grained parallel processing and near-fine-grained task processing.
21.
The multiprocessor includes a plurality of single-chip multiprocessors including the plurality of processing elements, and an input / output control processor for controlling input / output.
The second memory is configured on a chip different from the single-chip multiprocessor, and is shared by the single-chip multiprocessor by being connected to the CPU via a network. 2. The multiprocessor according to 2.
22.
A multiprocessor having a plurality of processing elements including a CPU and a first memory for storing data.
The first memory can switch between a mode used as a local memory accessible only from the processing element and a mode used as a data cache.
The multiprocessor is a multiprocessor that is connected to each of the processing elements and includes a second memory shared by each of the processing elements.
【0006】
【課題を解決するための手段】
本発明は、CPUと、前記CPUに接続されているネットワークインタフェースと、スタティックスケジューリング時に転送されるデータを格納する第1メモリと、を備える複数のプロセッシングエレメントと、前記各プロセッシングエレメントに接続され、前記各プロセッシングエレメントによって共有される第2メモリと、を備えることを特徴とするマルチプロセッサを提供する。
0006
[Means for solving problems]
The present invention comprises a plurality of processing elements including a CPU, a network interface connected to the CPU, and a first memory for storing data transferred at the time of static scheduling, and connected to each of the processing elements. Provided is a multiprocessor characterized by comprising a second memory shared by each processing element.
また、本発明の前記第1メモリは、他の前記プロセッシングエレメントからアクセス可能な分散共有メモリ、又は、前記第1メモリを備えるプロセッシングエレメントだけからアクセス可能なローカルメモリであり、前記第2メモリは、ダイナミックスケジューリング時に前記各プロセッシングエレメントによって共通に使用されるデータを格納することを特徴とする。 Further, the first memory of the present invention is a distributed shared memory accessible from another processing element, or a local memory accessible only from a processing element including the first memory, and the second memory is a second memory. It is characterized in that data commonly used by each of the processing elements is stored during dynamic scheduling.