JP2007264872A - Computer using synchronized stack memory and computer system - Google Patents
Computer using synchronized stack memory and computer system Download PDFInfo
- Publication number
- JP2007264872A JP2007264872A JP2006086989A JP2006086989A JP2007264872A JP 2007264872 A JP2007264872 A JP 2007264872A JP 2006086989 A JP2006086989 A JP 2006086989A JP 2006086989 A JP2006086989 A JP 2006086989A JP 2007264872 A JP2007264872 A JP 2007264872A
- Authority
- JP
- Japan
- Prior art keywords
- input
- processor
- memory
- computer
- data storage
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、ストリームプロセッサアーキテクチャにおいて、処理を高速化する計算機に関し、シンクロナイズドスタックメモリを用いた計算機に関するものである。 The present invention relates to a computer that speeds up processing in a stream processor architecture, and to a computer that uses a synchronized stack memory.
現在汎用CPUは、次のような制限を受け、性能向上を阻んでいる。
(1) ALUは非常に高速に処理できるが、メモリとのやりとりにおいて、データ読み出し、書き込みに時間がかかるため、全体として演算能力が制限される。
(2) 遅いデータ転送をカバーするためのキャッシュの増加がコントロール回路を複雑にしてオーバーヘッドを増加させている。
At present, general-purpose CPUs are restricted from the following limitations due to the following limitations.
(1) Although an ALU can be processed at a very high speed, since it takes time to read and write data in the exchange with the memory, the calculation capacity as a whole is limited.
(2) The increase in cache to cover slow data transfer complicates the control circuit and increases overhead.
これらCPUの欠点を防ぐ新しいアーキテクチャとして、STREAM PROCESSORが提案されており、これは処理のパイプライン化、並列化、メモリアクセスの制御、ストリームデータ等を特徴とするものである。
これは、特定の単純計算を高速に処理することは有利であるが、しかし、プロセッサがメモリに対しランダムにデータを書き込み読み出しすることができなく、やや複雑な処理では、計算の中間データを保持することができず、処理能力を低下させてしまう場合がある。
メモリアクセスを高速に行うためには、メモリに制限(ランダムにリード、ライトできないようにする)を持たせることが考えられるが、あるプロセスの計算結果を、現在のプロセスの入力として使う場合、出力結果を入力メモリにコピーする処理が必要となっている。
STREAM PROCESSOR has been proposed as a new architecture that prevents these CPU defects, and is characterized by processing pipelines, parallelization, memory access control, stream data, and the like.
This is advantageous for processing a specific simple calculation at high speed, but the processor cannot write / read data randomly to / from the memory, and the intermediate data of the calculation is retained in somewhat complicated processing. In some cases, the processing ability cannot be reduced.
In order to perform memory access at high speed, it may be possible to limit the memory (so that it cannot be read or written randomly), but if the calculation result of a process is used as the input of the current process, output It is necessary to copy the result to the input memory.
本発明は、汎用のプロセッサ(フォンノイマンアーキテクチャ)に比較して、高い計算能力を持つストリームプロセッサアーキテクチャにおいて、計算結果であるストリームデータを複数ステップ(プロセッサ動作の時刻方向の1区切り単位)分保持することにより、処理を高速化することを目的とする。 The present invention holds stream data, which is a calculation result, for a plurality of steps (one delimiter unit in the time direction of processor operation) in a stream processor architecture having a higher calculation capacity than a general-purpose processor (von Neumann architecture). The purpose is to speed up the processing.
上記課題を解決するため請求項1に係るシンクロナイズドスタックメモリを用いた計算機は、(n−1)入力1出力のプロセッサの構成において、前記プロセッサに接続するn個の入出力データ格納用メモリのうち(n−1)個を前記プロセッサの(n−1)入力に接続し、1個の入出力データ格納用メモリを1出力に接続し、プロセッサの1プロセス毎にプロセッサと入出力データ格納用メモリとの接続を順次1入出力データ格納用メモリ毎に循環させて切替接続するに際し、1プロセス前に出力と接続していた入出力データ格納用メモリをプロセッサの第1番目の入力に接続し、順次入出力データ格納用メモリを第2〜(n−1)番目の入力に順次切替接続すると同時に、第(n−1)番目の入力に接続していた入出力データ格納用メモリをプロセッサの出力に切替接続するようにしたことを特徴とするものである。
In order to solve the above problem, a computer using a synchronized stack memory according to
請求項2に係るシンクロナイズドスタックメモリを用いた計算機は、請求項1に記載のものにおいて、プロセッサがプログラム可能であり、各ステップでの演算内容を示し、ステップ毎に切り替え可能とするセグメントを有するセグメント構造としたことを特徴とするものである。
A computer using a synchronized stack memory according to
請求項3に係るシンクロナイズドスタックメモリを用いた計算機は、請求項1又は2のいずれかに記載のものにおいて、プロセッサに接続し、静的なデータを格納するためのパラメータ設定メモリを有することを特徴とするものである。
The computer using the synchronized stack memory according to
請求項4に係るシンクロナイズドスタックメモリを用いた計算機は、請求項3に記載のものにおいて、選択されたパラメータ設定メモリから複数の静的データをプロセッサのセグメントに入力する選択手段を備えたことを特徴とするものである。
A computer using a synchronized stack memory according to claim 4 is the computer according to
請求項5に係るシンクロナイズドスタックメモリを用いた計算機は、請求項1〜4のいずれか1に記載のものにおいて、入出力データ格納用メモリへのプロセッサ出力の書き込みは、連続アドレスにより行うことを特徴とするものである。
The computer using the synchronized stack memory according to
請求項6に係るシンクロナイズドスタックメモリを用いた計算機は、請求項1〜5のいずれか1に記載のものにおいて、プロセッサに接続する入出力データ格納用メモリは、アドレス毎に複数の段数を持ち、それぞれについて独立した計算をセグメントにおいて実施することを特徴とするものである。
The computer using the synchronized stack memory according to claim 6 is the computer according to any one of
請求項7に係るシンクロナイズドスタックメモリを用いた計算機は、請求項1〜6のいずれか1に記載のものにおいて、入出力データ格納用メモリの段数を可変としたことを特徴とするものである。 A computer using a synchronized stack memory according to a seventh aspect of the present invention is the computer according to any one of the first to sixth aspects, wherein the number of stages of the input / output data storage memory is variable.
請求項8に係るシンクロナイズドスタックメモリを用いた計算機は、請求項1〜7のいずれか1に記載のものにおいて、入出力データ格納用メモリの要素数(M×N)を任意に設定することを特徴とするものである。
The computer using the synchronized stack memory according to claim 8 is the computer according to any one of
請求項9に係るシンクロナイズドスタックメモリを用いた計算機は、請求項3〜8のいずれか1に記載のものにおいて、パラメータ設定メモリは、アドレス毎に複数の段数を持つことを特徴とするものである。
The computer using the synchronized stack memory according to claim 9 is the computer according to any one of
請求項10に係るシンクロナイズドスタックメモリを用いた計算機は、請求項3〜9のいずれか1に記載のものにおいて、パラメータ設定メモリの段数を可変としたことを特徴とするものである。 A computer using a synchronized stack memory according to a tenth aspect of the present invention is the computer according to any one of the third to ninth aspects, wherein the number of stages of the parameter setting memory is variable.
請求項11に係るシンクロナイズドスタックメモリを用いた計算機は、請求項3〜10のいずれか1に記載のものにおいて、パラメータ設定メモリの要素数(M×N)を任意に設定することを特徴とするものである。 A computer using a synchronized stack memory according to an eleventh aspect is characterized in that in the one according to any one of the third to tenth aspects, the number of elements (M × N) of the parameter setting memory is arbitrarily set. Is.
請求項12に係るシンクロナイズドスタックメモリを用いた計算機システムは、請求項1〜11のいずれか1に記載の計算機を構成する複数プロセッサを備え、分割した処理領域を前記各プロセッサのそれぞれに分担させ、当該複数プロセッサが並行処理することを特徴とするものである。
A computer system using a synchronized stack memory according to
請求項13に係るシンクロナイズドスタックメモリを用いた計算機システムは、請求項1〜11のいずれか1に記載の計算機を構成する複数プロセッサを備え、独立に処理可能な処理を前記各プロセッサのそれぞれに分担させ、当該複数プロセッサが並行処理することを特徴とするものである。 A computer system using a synchronized stack memory according to a thirteenth aspect includes a plurality of processors constituting the computer according to any one of the first to eleventh aspects, and divides processing that can be independently processed into each of the processors. The plurality of processors perform parallel processing.
請求項1に係るシンクロナイズドスタックメモリを用いた計算機によると、入力側に接続する入出力データ格納用メモリへプロセッサの処理結果をコピーすることなく、出力側に接続する入出力データ格納用メモリへの接続を仮想的に回転させてプロセス毎に順次循環的に切り替え、入出力データ格納用メモリの書き込みを順次変更し、これに伴い残りの入出力データ格納用メモリを読み込み用にしてその内容をプロセッサの入力とする。このようにして、出力を順次複数ステップ分保持して1プロセス毎に、複数分フィードバックして次のプロセスの入力にするようにして簡単に高速処理の計算機構成を実現することができる。
過去のストリームデータを複数保持することができ、これを現プロセスの入力して得ることができる。
According to the computer using the synchronized stack memory according to
A plurality of past stream data can be held and can be obtained by inputting the current process.
請求項2に係るシンクロナイズドスタックメモリを用いた計算機によると、プロセッサをプログラム可能とし、ステップ毎にセグメントすなわち演算内容を変えることができる。 According to the computer using the synchronized stack memory according to the second aspect, the processor can be programmed, and the segment, that is, the calculation content can be changed for each step.
請求項3に係るシンクロナイズドスタックメモリを用いた計算機によると、プロセッサ内の演算においてパラメータ設定メモリに格納する静的なデータを変更して、演算内容の変更に対応することができる。 According to the computer using the synchronized stack memory according to the third aspect, the static data stored in the parameter setting memory can be changed in the calculation in the processor to cope with the change in the calculation contents.
請求項4に係るシンクロナイズドスタックメモリを用いた計算機によると、プロセッサ内の演算においてパラメータ設定メモリに格納する静的なデータを設定又は変更するに際し、選択手段により選択することができる。 According to the computer using the synchronized stack memory of the fourth aspect, when setting or changing the static data stored in the parameter setting memory in the calculation in the processor, it can be selected by the selection means.
請求項5に係るシンクロナイズドスタックメモリを用いた計算機によると、入出力データ格納用メモリへのプロセッサ出力の書き込みは、連続アドレスにより行うことにより、書き込み、読み出し処理を高速にすることができる。 According to the computer using the synchronized stack memory according to the fifth aspect, the writing of the processor output to the input / output data storage memory is performed by the continuous address, thereby speeding up the writing and reading processing.
請求項6に係るシンクロナイズドスタックメモリを用いた計算機によると、プロセッサに接続する入出力データ格納用メモリは、アドレス毎に複数の段数を持ち、それぞれについて独立した計算をセグメントにおいて実施することができる。 According to the computer using the synchronized stack memory according to the sixth aspect, the input / output data storage memory connected to the processor has a plurality of stages for each address, and can perform independent calculation for each of the segments.
請求項7に係るシンクロナイズドスタックメモリを用いた計算機によると、入出力データ格納用メモリの段数を可変とし、入出力データの性質に応じて格納することができる。 According to the computer using the synchronized stack memory of the seventh aspect, the number of stages of the input / output data storage memory can be made variable and stored according to the nature of the input / output data.
請求項8に係るシンクロナイズドスタックメモリを用いた計算機によると、入出力データ格納用メモリの要素数(M×N)を任意に設定して、入出力データの大きさに応じて格納することができる。 According to the computer using the synchronized stack memory according to claim 8, the number of elements (M × N) of the input / output data storage memory can be arbitrarily set and stored according to the size of the input / output data. .
請求項9に係るシンクロナイズドスタックメモリを用いた計算機によると、パラメータ設定メモリは、アドレス毎に複数の段数を持ち、複数段数が必要なパラメータ設定用の静的データを格納することができる。 According to the computer using the synchronized stack memory according to the ninth aspect, the parameter setting memory has a plurality of stages for each address, and can store static data for parameter setting that requires a plurality of stages.
請求項10に係るシンクロナイズドスタックメモリを用いた計算機によると、パラメータ設定メモリの段数を可変とし、パラメータ設定用の静的データに応じて格納することができる。 According to the computer using the synchronized stack memory of the tenth aspect, the number of stages of the parameter setting memory can be made variable and stored according to the static data for parameter setting.
請求項11に係るシンクロナイズドスタックメモリを用いた計算機によると、パラメータ設定メモリの要素数(M×N)を任意に設定して、パラメータ設定用の静的データの大きさに応じて格納することができる。 According to the computer using the synchronized stack memory according to claim 11, the number of elements (M × N) of the parameter setting memory can be arbitrarily set and stored according to the size of the static data for parameter setting. it can.
請求項12に係るシンクロナイズドスタックメモリを用いた計算機システムによると、複数プロセッサを備え、分割した処理領域を前記各プロセッサのそれぞれに分担させ、当該複数プロセッサが並行処理して、大きな処理領域を同時に処理することができる。
According to the computer system using the synchronized stack memory according to
請求項13に係るシンクロナイズドスタックメモリを用いた計算機システムによると、複数プロセッサを備え、独立に処理可能な処理を前記各プロセッサのそれぞれに分担させ、当該複数プロセッサが並行処理して、各プロセッサが独立かつ同時に処理させることができる。
According to the computer system using the synchronized stack memory according to
図1は、本発明の実施例1としてシンクロナイズドスタックメモリを用いた計算機の一実施例の機能ブロック図である。図1において、101は(n−1)入力1出力のプロセッサ、102は入出力データ格納用メモリ、1031,1032,1033…103nはパラメータ設定メモリ、104は前記パラメータ設定メモリ1031,1032,1033,1034を読み出すためのアドレス生成部、105は例えば本発明を連立一次方程式解法に適応した場合に用いるベクトル要素のアドレス部である。
FIG. 1 is a functional block diagram of an embodiment of a computer using a synchronized stack memory as
プロセッサ101は、以下のような特徴を持つ。
(1)高速処理のため、パイプライン処理となっている。(n−1)の入力データを所定の手順により演算処理して1個の出力とする。
(2)処理のプログラムは可能であり、複数種類の計算処理を実装することができる。
(3)これら複数種類の処理は、切り替え可能である。
(4)プロセッサから見ると入出力データ格納用メモリは、読み込み専用、書き込み専用となる。
The
(1) Pipeline processing is used for high-speed processing. The input data of (n-1) is arithmetically processed by a predetermined procedure to produce one output.
(2) Processing programs are possible, and multiple types of calculation processing can be implemented.
(3) These plural types of processing can be switched.
(4) From the viewpoint of the processor, the input / output data storage memory is read-only and write-only.
入出力データ格納用メモリ102は、以下のような特徴を持つ。
(1)入出力データ格納用メモリ102は複数すなわちn個のメモリを仮想的なリング状に配置する。
(2)そのうちの1個をプロセッサ101の出力101OUTに接続して、その出力を受けて接続されているメモリ部分の内容を書き替える。言い換えれば、プロセッサ101の出力101OUTに接続する入出力データ格納用メモリは書き込み専用として設定される。
(3)残りの(n−1)個をプロセッサ101の入力101IN1〜101IN(n−1)に、前記出力101OUTに接続した入出力データ格納用メモリの隣から順次接続して、当該入出力データ格納用メモリ内容を読み出しプロセッサ101に入力する。言い換えれば、プロセッサ101の入力101IN1〜101IN(n−1)に接続する入出力データ格納用メモリは読み出し専用として設定される。
(4)プロセッサ101に接続される各入出力データ格納用メモリ102はプロセッサ101の1プロセス(各ステップの中での計算処理)毎に仮想的に回転させるように接続を同時に切り替え、循環させる。すなわち、プロセッサ101の出力101OUTに接続しているメモリ部分をプロセッサ101の入力101IN1に接続を切り替え、プロセッサ101の入力101IN1に接続しているメモリ部分をプロセッサ101の入力101IN2に接続を切り替え、以下同様にして、プロセッサ101の入力101IN(n−1)に接続しているメモリ部分をプロセッサ101の出力101OUTに接続を切り替える。言い換えれば、各入出力データ格納用メモリは書き込み専用、読み込み専用が1プロセス毎に同時に切り替える。このプロセッサ101への接続切替は、入出力データ格納用メモリ102の各メモリにおいて「同時」にすなわち「同期(シンクロナイズド)」して行う。
図1において、各入出力データ格納用メモリ102は、0から(n−1)のn個で構成していて、このnは任意に設定可能である。また、入出力データ格納用メモリ102の各々がアドレス毎に4段に構成されている場合は、これは例えば、各段に画像データのRGB及び透明度データを入力するものである。但し、この段数(データの深さ)は任意に設定可能であり、そのアドレス毎に複数の段数(データの深さ)を持つように設定可能であり、変更可能である。また、各入出力データ格納用メモリの要素数(M×N)は扱うデータの大きさ等により任意に変更することができる。これら各入出力データ格納用メモリ102の数(0から(n−1)のn)n、段数、要素数(M×N)の変更は、プログラムにより変え、大容量が必要な場合は仮想記憶方式により実現することができる。
The input / output
(1) The input / output
(2) One of them is connected to the output 101OUT of the
(3) The remaining (n-1) pieces are connected to the inputs 101IN1 to 101IN (n-1) of the
(4) Each input / output
In FIG. 1, each input / output
パラメータ設定メモリ1031,1032,1033,…103nには、静的なデータすなわち演算処理する際の書き替えが必要のない数あるいはパラメータ例えば定数を予め入力しておき、そのデータは演算処理の途中で必要に応じて読み出される。その数nは、処理計算に必要な数に応じて任意の数を設定することができ、そのアドレス毎に複数の段数(データの深さ)を持つように設定可能であり、変更可能である。また、パラメータ設定メモリ1031,1032,1033,…103nの要素数(M×N)は任意に設定可能である。これらパラメータ設定メモリ1031,1032,1033,…103nの数n、段数、要素数(M×N)の変更は、プログラムにより変え、大容量が必要な場合は仮想記憶方式により実現することができる。
In the
図2は、入出力データ格納用メモリ102が3個のリング状に構成した場合に、3ステップについて、その接続の切り替えを説明する図である。
時刻T=0において、
入出力データ格納用メモリ102M0はプロセッサ101の出力101OUTに接続し、
入出力データ格納用メモリ102M1はプロセッサ101の入力101IN2に接続し、
入出力データ格納用メモリ102M2はプロセッサ101の入力101IN1に接続し、
プロセッサ101は、入出力データ格納用メモリ102M2,M1が読み出したデータを各入力101IN1,101IN2より得て、T=0における計算処理をし、その結果を出力101OUTに出力する。
入出力データ格納用メモリ102M0はこのデータを書き込む。
この処理が終了すると、時刻T=1において、入出力データ格納用メモリ102が仮想的に回転して、
入出力データ格納用メモリ102M0はプロセッサ101の入力101IN1に接続し、
入出力データ格納用メモリ102M1はプロセッサ101の出力101OUTに接続し、
入出力データ格納用メモリ102M2はプロセッサ101の入力101IN2に接続し、
プロセッサ101は、入出力データ格納用メモリ102M0が読み出したデータ(1ステップ前の計算処理結果)と、入出力データ格納用メモリ102M2が読み出したデータを各入力101IN1,101IN2より得て、T=1における計算処理をし、その結果を出力101OUTに出力する。
入出力データ格納用メモリ102M1はこのデータを書き込む。
この処理が終了すると、時刻T=2において、入出力データ格納用メモリ102が仮想的に回転して、
入出力データ格納用メモリ102M0はプロセッサ101の入力101IN2に接続し、
入出力データ格納用メモリ102M1はプロセッサ101の入力101IN1に接続し、
入出力データ格納用メモリ102M2はプロセッサ101の出力101OUTに接続し、
プロセッサ101は、入出力データ格納用メモリ102M1が読み出したデータ(1ステップ前(T=1のとき)の計算処理結果)と、入出力データ格納用メモリ102M0が読み出したデータ(2ステップ前(T=0のとき)の計算処理結果)を各入力101IN1,101IN2より得て、T=2における計算処理をし、その結果を出力101OUTに出力する。
入出力データ格納用メモリ102M2はこのデータを書き込む。
プロセッサ101出力の入出力データ格納用メモリ102における所定メモリ部分への書き込みは、連続アドレスによるものとして、高速アクセスを可能としている。
FIG. 2 is a diagram for explaining switching of connections for three steps when the input / output
At time T = 0,
The input / output data storage memory 102M0 is connected to the output 101OUT of the
The input / output data storage memory 102M1 is connected to the input 101IN2 of the
The input / output data storage memory 102M2 is connected to the input 101IN1 of the
The
The input / output data storage memory 102M0 writes this data.
When this process ends, at time T = 1, the input / output
The input / output data storage memory 102M0 is connected to the input 101IN1 of the
The input / output data storage memory 102M1 is connected to the output 101OUT of the
The input / output data storage memory 102M2 is connected to the input 101IN2 of the
The
The input / output data storage memory 102M1 writes this data.
When this process ends, at time T = 2, the input / output
The input / output data storage memory 102M0 is connected to the input 101IN2 of the
The input / output data storage memory 102M1 is connected to the input 101IN1 of the
The input / output data storage memory 102M2 is connected to the output 101OUT of the
The
The input / output data storage memory 102M2 writes this data.
Writing to a predetermined memory portion in the input / output
図3にある処理の計算過程を示す。図3にある「セグメント(エントリ名)」は、図2において説明した時刻あるいはステップに相当し、特定のプロセス(各ステップの中での計算処理)を与えられた1ステップについていい、それぞれ独立した計算を各セグメントにおいて実施する。プログラム可能なプロセッサにより、セグメント構造を可能としている。各セグメントはステップ毎に切り替えている。
セグメント1において入出力データ格納用メモリ102M0に処理結果を書き込み、次のセグメント2において入出力データ格納用メモリ102M1にその処理結果を書き込む。セグメント3においては、入力101IN2から入力したセグメント1の結果と入力101IN1から入力したセグメント2の結果とにより計算された処理結果を入出力データ格納用メモリ102M2に書き込む。さらにセグメント4において入出力データ格納用メモリ102M0に処理結果を書き込み、セグメント5においては、入力101IN2から入力したセグメント3の結果と入力101IN1から入力したセグメント4の結果とにより計算された処理結果を入出力データ格納用メモリ102M1に書き込む。以下所定の手順に従って処理が進行する。
The calculation process of the process in FIG. 3 is shown. “Segment (entry name)” in FIG. 3 corresponds to the time or step described in FIG. 2, and refers to one step given a specific process (calculation processing in each step), and is independent of each other. Calculations are performed on each segment. A programmable processor enables a segment structure. Each segment is switched at every step.
In
図4は、本発明の実施例2としてシンクロナイズドスタックメモリを用いた計算機の一実施例の機能ブロック図である。図4は、パラメータ設定メモリ1031,1032,1033,1034…103nとプロセッサ101との間に選択手段として読込元メモリ選択スイッチ401を設けたものであり、その他は、図1に示したものと同様である。
読込元メモリ選択スイッチ401はパラメータ設定メモリ1031,1032,1033,1034…103nを選択し、それらに格納されている複数の静的データを同時にプロセッサ101のセグメントに入力する。
FIG. 4 is a functional block diagram of an embodiment of a computer using a synchronized stack memory as
The reading source
図5は、本発明の実施例3としてシンクロナイズドスタックメモリを用いた計算機システムの一実施例の説明図である。図5において、5011,5012,5013,5014は実施例1又は実施例2として説明した計算機を4台用いた場合における各計算機1、計算機2、計算機3及び計算機4の処理経過を示す。502は処理領域全体を示し、例えば、移動体シミュレータの当該移動体から見た1画面の情景データを示す。処理領域全体を計算機1〜4の台数分だけ4分割し、計算機1に分割領域5021、計算機2に分割領域5022、計算機3に分割領域5023及び計算機4に分割領域5024を分担させ、それぞれを並列処理させる。各計算機1〜4はそれぞれの処理経過においてそれぞれのセグメント1〜l、セグメント1〜m、セグメント1〜n、セグメント1〜oを処理する。これらの処理過程において、各計算機1〜4はそれぞれが担当する領域の境界データについての処理を、隣接する領域を担当する計算機間で調整する。統合処理503においては、計算機で処理した画像データの境界部分の表示が自然になるようにする。このとき、例えば、計算機1においてこの統合処理を行う。
FIG. 5 is an explanatory diagram of an embodiment of a computer system using a synchronized stack memory as
図6は、本発明の実施例4としてシンクロナイズドスタックメモリを用いた計算機システムを説明する一実施例の説明図であり、順次実施する必要のない処理を複数計算機に並列処理するものである。1個のプロセッサを備える計算機を用いた場合、図6(a)に示すように各処理を行う。すなわち、まず、例えば、セグメント1、セグメント2の一連の処理により結果を得てこの結果データをメモリ601に格納しておく。ついで、セグメントA、セグメントBの一連の処理により結果を得てこの結果データをメモリ602に格納しておく。さらに、セグメントa、セグメントbの一連の処理により結果を得てこの結果データをメモリ603に格納しておく。また、セグメントα、セグメントβの一連の処理により結果を得てこの結果データをメモリ604に格納しておく。統合処理605aにおいて各メモリ601,602,603,604の結果データを統合して、次の処理に用いる。
この場合において、各一連の処理は他の一連の処理の結果に依存せず独立して処理するが、他の一連の処理が済んでから順次処理するものがあり、高速処理を実現することができない。
図6(b)においては、実施例1,実施例2として説明した計算機を複数(図6において4台であるが任意の複数台数で構成することができる。)用いる。
例えば、計算機1において、セグメント1、セグメント2の一連の処理により結果を得る。一方、計算機2において、セグメントA、セグメントBの一連の処理により結果を得る。また、計算機3において、セグメントa、セグメントbの一連の処理により結果を得る。同様に、計算機4において、セグメントα、セグメントβの一連の処理により結果を得る。統合処理605bにおいて各計算機1〜4の処理結果データを統合して、次の処理を行う。
このように各計算機1,2,3,4において各独立に処理を行い、他の計算機処理の遂行状況によらず処理することができ、高速処理を実現することができる。
FIG. 6 is an explanatory diagram of an embodiment for explaining a computer system using a synchronized stack memory as an embodiment 4 of the present invention, in which processing which does not need to be sequentially performed is processed in parallel by a plurality of computers. When a computer including one processor is used, each process is performed as shown in FIG. That is, first, for example, a result is obtained by a series of processing of
In this case, each series of processes is processed independently without depending on the result of the other series of processes, but some processes are sequentially performed after the other series of processes is completed, and high-speed processing can be realized. Can not.
In FIG. 6B, a plurality of computers described as the first embodiment and the second embodiment (four in FIG. 6 but can be configured by any plural number) are used.
For example, in the
In this way, each
図7は、実施例1を実現する前に検討したシンクロナイズドスタックメモリを用いた計算機の一実施例の機能ブロック図である。図7において、701は(n−1)入力1出力のプロセッサ、7021,7022は入出力データ格納用メモリ、7031,7032,7033,7034はパラメータ設定メモリ、704は前記パラメータ設定メモリ703を読み出すためのアドレス生成部、705は例えば本発明を連立一次方程式解法に適応した場合に用いるベクトル要素のアドレス部である。
入出力データ格納用メモリ7021,7022は、以下のような特徴を持つ。
(1)入出力データ格納用メモリ7021,7022のそれぞれは複数すなわちn個のメモリを仮想的なリング状に配置する。
(2)入出力データ格納用メモリ7022のn個のなかから1個をプロセッサ701の出力701OUTに接続して、その出力を受けて接続されているメモリ部分の内容を書き替える。言い換えれば、プロセッサ701の出力側に位置する入出力データ格納用メモリ7022は書き込み専用として設定される。
(3)入出力データ格納用メモリ7021のn個のなかから(n−1)個をプロセッサ701の入力701IN1〜701IN(n−1)に順次接続して、当該メモリ内容を読み出しプロセッサ701に入力する。言い換えれば、プロセッサ701の入力側に位置する入出力データ格納用メモリ7021は読み出し専用として設定される。
(4)プロセッサ701に接続される各入出力データ格納用メモリ7021,7022はプロセッサ701の1プロセス毎に同期して仮想的に回転させるように接続を切り替え、循環させる。
すなわち、プロセッサ701の出力701OUTに接続している入出力データ格納用メモリ7022を回転させるとともに、入力側の入出力データ格納用メモリ7021を同期して回転させて、その部分をプロセッサ701の入力701IN1に接続を切り替え、
プロセッサ701の入力701IN1に接続している入出力データ格納用メモリ7021の部分をプロセッサ701の入力701IN2に接続を切り替え、
以下同様にして、プロセッサ701のプロセッサ701の入力701IN(n−1)に接続しているメモリ部分をプロセッサ701への接続を離す。このようにして、入出力データ格納用メモリ7021,7022の各メモリは1プロセス毎にその接続を切り替える。
FIG. 7 is a functional block diagram of an embodiment of a computer using a synchronized stack memory studied before realizing the
The input / output
(1) Each of the input / output
(2) One of the n input / output
(3) (n-1) of the n input / output
(4) The input / output
That is, the input / output
Switch the connection of the input / output
Similarly, the memory portion connected to the input 701IN (n−1) of the
図8は、入出力データ格納用メモリ7021,7022のそれぞれが3個のリング状に構成した場合に、3ステップについて、その接続の切り替えを説明する図である。
時刻T=0において、
入出力データ格納用メモリ7022M0はプロセッサ701の出力701OUTに接続し、入出力データ格納用メモリ7021M0はプロセッサ701の入力に接続せず、
入出力データ格納用メモリ7022M1,7022M2はプロセッサ701の出力701OUTに接続せず、
入出力データ格納用メモリ7021M1はプロセッサ701の入力701IN2に接続し、
入出力データ格納用メモリ7021M2はプロセッサ701の入力701IN1に接続し、
プロセッサ701は、入出力データ格納用メモリ7022M2より転送され入出力データ格納用メモリ7021M2が読み出したデータ、入出力データ格納用メモリ7022M1より転送され7021M1が読み出したデータを各入力701IN1,701IN2より得て、T=0における計算処理をし、その結果を出力701OUTに出力する。
入出力データ格納用メモリ7022M0はこのデータを書き込む。
この処理が終了すると、時刻T=1において、入出力データ格納用メモリ7021,7022が同期して仮想的に回転して、
入出力データ格納用メモリ7021M0はプロセッサ701の入力701IN1に接続し、
入出力データ格納用メモリ7021M1はプロセッサ701の入力に接続せず、
入出力データ格納用メモリ7021M2はプロセッサ701の入力701IN2に接続し、
入出力データ格納用メモリ7022M0はプロセッサ701の出力に接続せず、
入出力データ格納用メモリ7022M1はプロセッサ701の出力701OUTに接続し、
入出力データ格納用メモリ7022M2はプロセッサ701の出力に接続せず、
プロセッサ701は、入出力データ格納用メモリ7022M0より転送され入出力データ格納用メモリ7021M0が読み出したデータ(1ステップ前の計算処理結果)と、入出力データ格納用メモリ7022M2より転送され入出力データ格納用メモリ7021M2が読み出したデータを各入力701IN1,701IN2より得て、T=1における計算処理をし、その結果を出力701OUTに出力する。
入出力データ格納用メモリ7022M1はこのデータを書き込む。
この処理が終了すると、時刻T=2において、入出力データ格納用メモリ7021,7022が同期して仮想的に回転して、
入出力データ格納用メモリ7021M0はプロセッサ701の入力701IN2に接続し、
入出力データ格納用メモリ7021M1はプロセッサ701の入力701IN1に接続し、
入出力データ格納用メモリ7021M2はプロセッサ701の入力に接続せず、
入出力データ格納用メモリ7022M0,入出力データ格納用メモリ7022M1はプロセッサ701の出力に接続せず、
入出力データ格納用メモリ7022M2はプロセッサ701の出力701OUTに接続し、
プロセッサ701は、入出力データ格納用メモリ7022M1より転送され入出力データ格納用メモリ7021M1が読み出したデータ(1ステップ前(T=1のとき)の計算処理結果)と、入出力データ格納用メモリ7022M0より転送され入出力データ格納用メモリ7021M0が読み出したデータ(2ステップ前(T=0のとき)の計算処理結果)を各入力701IN1,701IN2より得て、T=2における計算処理をし、その結果を出力701OUTに出力する。
入出力データ格納用メモリ7022M2はこのデータを書き込む。
実施例1において、図3により説明した計算について同様に動作する。
FIG. 8 is a diagram for explaining switching of connections for three steps when each of the input / output
At time T = 0,
The input / output data storage memory 7022M0 is connected to the output 701OUT of the
The input / output data storage memories 7022M1 and 7022M2 are not connected to the output 701OUT of the
The input / output data storage memory 7021M1 is connected to the input 701IN2 of the
The input / output data storage memory 7021M2 is connected to the input 701IN1 of the
The
The input / output data storage memory 7022M0 writes this data.
When this processing ends, at time T = 1, the input / output
The input / output data storage memory 7021M0 is connected to the input 701IN1 of the
The input / output data storage memory 7021M1 is not connected to the input of the
The input / output data storage memory 7021M2 is connected to the input 701IN2 of the
The input / output data storage memory 7022M0 is not connected to the output of the
The input / output data storage memory 7022M1 is connected to the output 701OUT of the
The input / output data storage memory 7022M2 is not connected to the output of the
The
The input / output data storage memory 7022M1 writes this data.
When this processing ends, at time T = 2, the input / output
The input / output data storage memory 7021M0 is connected to the input 701IN2 of the
The input / output data storage memory 7021M1 is connected to the input 701IN1 of the
The input / output data storage memory 7021M2 is not connected to the input of the
The input / output data storage memory 7022M0 and the input / output data storage memory 7022M1 are not connected to the output of the
The input / output data storage memory 7022M2 is connected to the output 701OUT of the
The
The input / output data storage memory 7022M2 writes this data.
In the first embodiment, the calculation described with reference to FIG.
101…(n−1)入力1出力のプロセッサ、102…入出力データ格納用メモリ、103…パラメータ設定メモリ、104…アドレス生成部、105…画素のアドレス部。
DESCRIPTION OF
Claims (13)
プロセッサの1プロセス毎にプロセッサと入出力データ格納用メモリとの接続を順次1入出力データ格納用メモリ毎に循環させて切替接続するに際し、
1プロセス前に出力と接続していた入出力データ格納用メモリをプロセッサの第1番目の入力に接続し、
順次入出力データ格納用メモリを第2〜(n−1)番目の入力に順次切替接続すると同時に、
第(n−1)番目の入力に接続していた入出力データ格納用メモリをプロセッサの出力に切替接続するようにしたことを特徴とするシンクロナイズドスタックメモリを用いた計算機。 (N-1) In the configuration of an input / output processor, (n-1) of n input / output data storage memories connected to the processor are connected to the (n-1) input of the processor, Connect one input / output data storage memory to one output,
When switching the connection between the processor and the input / output data storage memory for each process of the processor by sequentially circulating the connection to the input / output data storage memory,
Connect the input / output data storage memory that was connected to the output one process before to the first input of the processor,
At the same time, the sequential input / output data storage memory is sequentially connected to the 2nd to (n-1) th inputs,
A computer using a synchronized stack memory, wherein the input / output data storage memory connected to the (n-1) th input is switched and connected to the output of the processor.
A synchronized system comprising a plurality of processors constituting the computer according to claim 1, wherein each of the processors is assigned a process that can be independently processed, and the plurality of processors perform parallel processing. Computer system using stack memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006086989A JP4724031B2 (en) | 2006-03-28 | 2006-03-28 | Computer and computer system using synchronized stack memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006086989A JP4724031B2 (en) | 2006-03-28 | 2006-03-28 | Computer and computer system using synchronized stack memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007264872A true JP2007264872A (en) | 2007-10-11 |
JP4724031B2 JP4724031B2 (en) | 2011-07-13 |
Family
ID=38637822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006086989A Active JP4724031B2 (en) | 2006-03-28 | 2006-03-28 | Computer and computer system using synchronized stack memory |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4724031B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003015862A (en) * | 2001-07-05 | 2003-01-17 | Fujitsu Ltd | Arithmetic unit and receiver |
JP2005250951A (en) * | 2004-03-05 | 2005-09-15 | Mitsubishi Electric Corp | Data column shaping device |
JP2006040254A (en) * | 2004-06-21 | 2006-02-09 | Sanyo Electric Co Ltd | Reconfigurable circuit and processor |
-
2006
- 2006-03-28 JP JP2006086989A patent/JP4724031B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003015862A (en) * | 2001-07-05 | 2003-01-17 | Fujitsu Ltd | Arithmetic unit and receiver |
JP2005250951A (en) * | 2004-03-05 | 2005-09-15 | Mitsubishi Electric Corp | Data column shaping device |
JP2006040254A (en) * | 2004-06-21 | 2006-02-09 | Sanyo Electric Co Ltd | Reconfigurable circuit and processor |
Also Published As
Publication number | Publication date |
---|---|
JP4724031B2 (en) | 2011-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3974959B1 (en) | Hardware accelerated machine learning | |
US20200327079A1 (en) | Data processing method and device, dma controller, and computer readable storage medium | |
EP3220274B1 (en) | Method and apparatus for memory access | |
US20230394615A1 (en) | Task execution in a simd processing unit with parallel groups of processing lanes | |
US4939642A (en) | Virtual bit map processor | |
CN106960412B (en) | Memory device including a plurality of buffers and method of driving a memory | |
WO2022047403A1 (en) | Memory processing unit architectures and configurations | |
JP3971535B2 (en) | SIMD type processor | |
JP4724031B2 (en) | Computer and computer system using synchronized stack memory | |
US20140195776A1 (en) | Memory access for a vector processor | |
JP7186212B2 (en) | Vector interleaving in data processors | |
JP7061742B2 (en) | Processor device | |
JP2812292B2 (en) | Image processing device | |
JP2004334297A (en) | Parallel operation processor and parallel operation processing method | |
JP2008541259A (en) | Image processing circuit having buffer memory capable of block access | |
JPH0435792B2 (en) | ||
KR20100033979A (en) | Addressing device for parallel processor | |
KR102290229B1 (en) | Data generating device for parallel processing | |
JP4413905B2 (en) | SIMD type processor | |
WO2018207883A1 (en) | Data processing device | |
EP4133368A1 (en) | Device and method for data processing | |
JP2020140625A (en) | Image processing device and image processing method | |
JP2015108972A (en) | Calculation device, determination method of calculation device, and program | |
JP2013191081A (en) | Microprocessor and processor system | |
JPS61248170A (en) | Memory reading system for picture information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070123 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090210 |
|
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: 20110324 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110408 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4724031 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |