WO1987005419A1 - Concurrently processing computer - Google Patents

Concurrently processing computer Download PDF

Info

Publication number
WO1987005419A1
WO1987005419A1 PCT/JP1987/000117 JP8700117W WO8705419A1 WO 1987005419 A1 WO1987005419 A1 WO 1987005419A1 JP 8700117 W JP8700117 W JP 8700117W WO 8705419 A1 WO8705419 A1 WO 8705419A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
unit
operation unit
common
slave
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.)
Ceased
Application number
PCT/JP1987/000117
Other languages
English (en)
French (fr)
Inventor
Fumio Takahashi
Yukio Nagaoka
Iwao Harada
Yoshihiro Nishihara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to EP87901649A priority Critical patent/EP0273051B1/en
Priority to DE3789861T priority patent/DE3789861T2/de
Publication of WO1987005419A1 publication Critical patent/WO1987005419A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Definitions

  • the present invention relates to a parallel processing computer, and more particularly to a mint '(ulitiple Instruction Multiple Data) type parallel processing computer suitable for finding a numerical solution of a differential equation of fluid dynamics or the like by parallel processing.
  • This computer is a MIMD-type parallel processing computer in which arithmetic units are connected to a one-dimensional grid.Each arithmetic unit has its own program, so that arithmetic units such as processing of boundary conditions are used. It has a special feature that can handle different processes with different units.
  • JP-A-58-146952 no consideration is given to the case where the amount of operation in the loop is large and exceeds the program memory capacity of the operation unit, and the number of repetitions is small. If there are many small loops, distribution must be performed frequently, and the time required for distribution increases.
  • Figure 2 shows a flow chart of two-dimensional viscous flow analysis as an example of fluid numerical analysis.
  • (1), (3), (4), and (6) are double loops to calculate for each two-dimensional grid point, and (5) are triple loops with an iterative solution loop added. It is a loop.
  • (2) to (6) are included in the loop for updating the time.
  • a method of performing parallel processing is generally performed by sharing a partial region of a space to one arithmetic unit. Shortening of the calculation time is realized by increasing the number of arithmetic units and reducing the number of grid points shared by one arithmetic unit. In other words, in a parallel processing computer with a large number of arithmetic units, the number of loop iterations (2) to (6) is small.
  • the method disclosed in Japanese Patent Application Laid-Open No. Sho 58-146952 is not suitable for parallel processing of fluid numerical analysis.
  • An object of the present invention is to perform an algorithm for sequentially executing a plurality of loop processes in parallel with a small memory capacity as in the above-described example of the fluid numerical analysis.- VI IMD type parallel Processing computer.
  • the present invention has its own program in the arithmetic unit
  • the instruction sequence of the basic calculation part (hereinafter referred to as “common instruction”), which is the common processing between the operation units, and the boundary value setting, which is individual processing
  • the common instruction is broadcast for each instruction. It was born by focusing on the fact that the memory capacity can be reduced regardless of the number of repetitions and the amount of computation.
  • the arithmetic unit in the arithmetic unit has a program counter that uses a Neumann control method and indicates the address where the instruction is stored.
  • the memory bank of the common instruction is separated from the memory bank of the other instruction, and for one instruction, it is stored in the memory in the operation unit.
  • a FIFO First In First Memory
  • the common instruction can be used.
  • (5) is divided into a main processing unit (Master Processing Unit; MP) and a plurality of slave processing units (Slave Processing Unit; SP), and a common instruction is stored in the main processing unit. If the operation unit of the main processing unit fetches a common instruction and broadcasts it to the sub-processing unit, it is not necessary for the control unit to monitor the execution state of the processing unit. Led to the present invention by focusing on the point that
  • Both the master and slave units share part of the parallel processing, with the master and the common unit storing common and individual instructions, and the slave unit storing individual instructions. .
  • the arithmetic unit of the main processing unit fetches the common instruction from the address indicated by the program counter before executing the common instruction, and then releases the fetched instruction to the slave processing unit. And store it in the instruction queue.
  • the arithmetic unit of the slave arithmetic unit fetches and executes a common instruction from the instruction queue, so that there is no need to store a common instruction in each arithmetic unit.
  • FIG. 1 is a block diagram of a one-dimensionally arranged parallel processing computer of the present invention.
  • Fig. 2 is a flowchart of two-dimensional viscous flow numerical analysis.
  • Fig. 3 is a block diagram of a two-dimensionally arranged parallel processing computer of the present invention.
  • FIG. 4 is a block diagram of the arithmetic unit shown in FIG. 1
  • FIG. 5 is a memory map in the arithmetic unit shown in FIG. 4
  • FIG. 7 is a timing chart of the arithmetic unit in FIG. 4
  • FIG. 8 is a diagram showing the execution time of the arithmetic unit in FIG. 4
  • FIG. FIG. 2 is a flowchart for calculating the pressure in the two-dimensional viscous flow analysis in parallel.
  • FIG. 10 is a block diagram of a parallel processing computer according to an embodiment of the present invention.
  • FIG. 1 is a configuration diagram of a parallel processing computer according to the present invention, showing an example in which a plurality of arithmetic units are connected one-dimensionally.
  • 1 is a main operation unit (M?)
  • 2 is a slave operation unit (SP)
  • 3 is a data transfer network
  • 12 is an operation device
  • 13 is a memory.
  • Reference numeral 14 denotes a memory link
  • reference numeral 15 denotes an instruction queue composed of FIF 0
  • a main operation unit 1 includes an arithmetic unit 12, a memory link 13, and a memory.
  • a groove is formed at the link 14.
  • Slave operation unit 2 is composed of arithmetic unit 12, memory bank 14, and instruction queue 15.
  • the main operation unit 1 and the sub operation unit 2 are connected by the instruction broadcast bus 102 in the direction of the arrow.
  • the main processing unit 1 and the slave processing unit 2 are connected by the data signal 113 of the data transfer network 3.
  • Fig. 3 shows an embodiment in which MX arithmetic units are arranged on a two-dimensional grid and connected to the data transfer network 3 for each row and each column.
  • the instruction broadcast bus 102 is connected to the slave operation unit 2 of the communication system.
  • the configuration of the main operation unit 1 and the sub operation unit 2 is the same as the one-dimensional arrangement.
  • FIG. 4 is a configuration diagram in the arithmetic unit. Since the main operation unit 1 and the sub operation unit 2 can be made with much of the hardware using a common design, switching between the main operation unit 1 and the main operation unit 1 An example that can be changed to the slave operation unit 2 is shown below.
  • the arithmetic unit includes an arithmetic unit 12, a memory bank 13, a memory bank 14, an instruction queue 15, and a switch circuit 16.
  • the bank 14 is connected by the address data signal 101, and the arithmetic unit 12 and the switch circuit 16 are connected by the address data signal 104. 16 and the memory sink 13 are connected by an address data signal 105.
  • the instruction queue 15 and the switch circuit 16 are connected by a data signal line 103, and the instruction broadcast bus is provided outside the operation unit by the switch circuit 16. 10 2 is output, and the instruction broadcast bus 10 2 is input to the instruction queue 15.
  • the switch circuit 16 selects the address data line 105 and the instruction transfer bus 102, and the memory bank 13 is mounted to make it the main operation unit. Operates as a switch circuit. 16 operates as a slave operation unit by selecting data line 103.
  • Figure 5 is the main operating unit 1 and shows a sub operation unit 2 of ⁇ de Re Suma' flop, Note Li Roh down add-on click ⁇ 3 Les scan 0-2 16 - 1, MEMO Li Roh a de Re vinegar down click 1 4 2 1S ⁇ 2 17 - 1 are assigned to.
  • the FIFO is in the instruction queue 1 5 of the slave operation Yuni' door 2, the output port of the FIFO of the arithmetic unit 1 2 add-less 0-2 18 - that are assigned to 1.
  • the arithmetic unit 12 a Neumann-type arithmetic unit that stores an instruction sequence in a memory and fetches the instruction from the memory when executing the instruction is used.
  • a Neumann-type arithmetic unit has a program counter, and fetches instructions from the addressing power indicated by the program counter.
  • the value of the program counter is uniquely determined by the history of execution of the sequence. Therefore, a FIFO is used for the instruction queue 15 of the slave unit 2, and the common instruction fetched by the arithmetic unit 12 of the main unit 1 is written to the instruction queue 15 and the slave unit is written.
  • the program counter indicates the address of the common instruction, and the slave unit 2 executes the common instruction by fetching the instruction from the instruction queue 15. Can be executed by tracking the main operation unit 1.
  • FIG. 6 is a circuit diagram in the arithmetic unit, where 61 is a delay circuit, 102 A is a data signal, and 102 B is a write control.
  • Control signal (command broadcast bus 102); 103A is a data signal; 103B is a read control signal (data signal line 103); 104A is a data signal; Address signal, 104C is a read control signal (address data signal 104); 1 15A is a data signal, 105B is an address signal, and 105C is a read control signal (address signal).
  • Signal 105 In the switch circuit 1 S, there is a switch in which the main processing unit 1 selects the slave processing unit 2. By connecting the contacts U and MP, the main processing unit 1 is switched. Is selected, and the slave operation unit 2 is selected by connecting the contact point U and the contact point SP.
  • the memory bank 13 stores instructions common to the arithmetic units, and the memory link 14 stores individual instructions and data. However, the instruction and data memory banks can be separated, in which case a separate memory bank for data is provided and the memory bank 14 is a separate instruction.
  • the write control signal 102B is composed of a write enable signal and a write signal. The write enable signal is output when the instruction queue 15 of all slave operation units 2 is not full and the instruction can be written. It is generated by taking the logical product at the slave operation unit of the processor, and is input as a read enable signal to the arithmetic unit 12 via the read control signal 105C and the read control signal 104C. You.
  • Arithmetic unit 1 and 2 are read While the enable signal is being issued, the address storing the common instruction is output to the address signal 104 B, and the read signal is output to the read control signal 104 C.
  • Read control signal 105 C is input to memory bank 13 as a read signal. From memory link 13, a common instruction is output to data signal 105 A in synchronization with the read signal, and data signal 104 A is output to arithmetic unit 12 and data signal The signal is sent to slave unit 2 via signal 102A.
  • the arithmetic unit 12 sends the read signal output to the read control signal 104C to the slave operation unit through the delay circuit 61 through the write control signal 102B in addition to the instruction. Delay and output as write signal. Therefore, while the instruction queue 15 of the sub-operation unit 2 is not full, the main operation unit 1 fetches a common instruction and broadcasts the same instruction to the sub-operation unit 2.
  • the read control signal 103B is composed of a read enable signal and a read signal.
  • the read enable signal is output while the instruction is in the instruction queue 15 and passes through the read control signal 104C to the arithmetic unit 1 Input to 2 as a read enable signal.
  • the arithmetic unit 12 outputs the address of the common instruction to the address signal 104 B in the same manner as the arithmetic unit 12 of the main arithmetic unit 1 while the read enable signal is input, Read Outputs a read signal to the control signal 104C.
  • the read signal passes through the read control signal
  • slave operation unit 2 is the main operation unit.
  • the common instruction can be fetched and executed by tracking the execution of the first common instruction.
  • Fig. 7 is a timing chart for fetching and executing common instructions of the main processing unit 1 and the sub-processing unit 2, and has an instruction prefetch mechanism as the processing unit 12.
  • the main processing unit 1 the instructions (1), (2), and (3), which are common to the main processing unit and the slave processing unit, are fetched and broadcast to the command broadcasting bus 102 at the same time.
  • the slave operation unit the instruction is fetched after the instruction enters the instruction queue. Therefore, the fetch and execution times of the common instruction are delayed by the slave unit 2 relative to the master unit 1.
  • this delay time does not accumulate with the execution of the instruction, and the delay time is at most the signal propagation time of the instruction broadcast bus 102 and the access time of the instruction queue 15. This is time, and there is almost no difference in the time required for instruction fetching compared to the conventional MIMD-type parallel processing computer that stores all instructions in an operation unit.
  • Fig. 8 shows alternate execution of the common instruction sequence and the dry instruction sequence
  • the program at the time is shown.
  • the memory link 13 of the main processing unit 1 is assigned addresses 0 to 21 S -1 to store the common instruction and the branch instruction, and the main processing unit 1 and the slave processing unit. Addresses 2 0 to 2 17 — 1 are assigned to the memory link 14 of unit 2 and individual instructions and branch instructions are recorded.
  • the branch instruction is an instruction that changes the value of the program counter of the arithmetic unit 12 to point to a different memory link
  • the branch instruction ⁇ is the program instruction of the arithmetic unit 12. The counter is changed to point to the individual instruction ⁇ , and the branch instruction ⁇ ⁇ ⁇ is changed to the program counter to point to the common instruction ( ⁇ ).
  • the slave operation unit 2 can track the main operation unit 1 and execute the common instruction.
  • the following describes how to divide common instructions and individual instructions.
  • computerized programs are the mainstream as computer programs.
  • the sculpture program has three basic forms
  • the Neumann condition is given, and the Jaeobi method is used as the iterative method.
  • Fourteen (4 ⁇ 4) arithmetic units are arranged in a one-dimensional array, and one arithmetic unit is assigned 4 ⁇ 2 grid points.
  • the array P i (i 0, 1, 2, 3, 4, 5; j-0,
  • (1) and (2) are treated as common instructions.
  • (3), (4), and (5) are handled as individual instructions because the processing differs depending on the operation unit.
  • (6) whether or not convergence differs depending on the arithmetic unit, so it is treated as an individual instruction.
  • common instructions and individual instructions can be separated for the other parts of FIG. Therefore, in the parallel processing computer according to the present invention, the program is separated into common instructions and individual instructions in each operation unit, and the common instruction is stored in one main processing unit 1 and is synchronized with the execution of the instruction. Since it is sent to the sub-operation unit, it is not necessary to store it in the sub-operation unit 2. Column processing is possible.
  • the main operation unit 1 writes a common instruction to the instruction queue L5 of the plurality of slave operation units 2, so that the output level to the instruction broadcast bus 102 is changed. Needs to be set large according to the upper limit of the number of slave processing units 2. If FIF 0, which has a short access time, is used as the instruction queue 15, the configuration shown in Fig. 10 can be realized, and the instruction of the main processing unit 1 to the instruction broadcast bus 102 can be output. It is possible to reduce the power level and to arbitrarily change the number of arithmetic units.
  • 1 is a main processing unit
  • 2 is a slave unit
  • 3 is a data transfer network
  • 3 is a data transfer network
  • 12 is a processing unit allocation
  • 13 is a memory module.
  • Link, 14 is a memory link
  • 15 is a valid queue
  • 102 is a command broadcasting bus
  • 120 is data
  • the command queue 15 is a data signal 1 They are linked by 20.
  • Arithmetic unit 12 of main operation unit 1 is a memory link
  • a common instruction is assigned to each slave operation unit.
  • the broadcast is transmitted to the sub-operation unit at the same time, and the instruction of the instruction queue 15 is transmitted to the sub-operation unit 2 in accordance with the distance from the main operation unit.
  • the delay of the access time is accumulated and the instruction is taken in.
  • FIF 0 with a short access time is used for the instruction queue 15
  • the delay of the instruction fetch time of the slave processing unit 2 due to the separation from the main processing unit 1 is reduced. Since the accumulation is negligible, the same performance as that of the embodiment shown in Fig. 1 can be obtained, the output of the main processing unit 1 to the instruction broadcasting bus 102 can be reduced, and the number of processing units can be arbitrarily changed. You.
  • the MIMD-type parallel processing computer can store an instruction common to each arithmetic unit in one arithmetic unit, and can be shared by other arithmetic units. This has the effect of reducing the capacity.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

(1) 明 細 書
発明の名称 並列処理計算機
〔産業上の利用分野〕
本発明は並列処理計算機に係 り 、 特に流体力学等の儒 微分方程式の数値解を並列処理によ リ 求めるの に好適な ミ ン ト' ( ulitiple Instruction Multiple Data ) 型並 列処理計算機に関する。
〔従来の技術〕
従来、 複数台の演算ユニッ ト によって並列に処理する 計算機が発表されている。 特に偏微分方程式を解く ため に適した並列処理計算機がエイ · シ 一 · ェム ト ラ ン サ ク シ ヨ ン ズ オ ン コ ン ピュー タ シ ステ ム ズ 1 巻 3 号 1 9 8 3年 8 月 1 9 5頁一 2 2 1 頁 ( A C M
Transactions on Computer , Vol. 1 , α 3, August 1 9 8 3 , ρ 1 9 5'— 2 2 1 ) に提案されて い る 。 こ の 計算機は、 演算ユニッ ト を一次元格子に接続した MIMD型 並列処理計算機であ り 、 個々 の演算ユニッ ト に 自身のプ ロ グラム を持たせているため、 境界条件の処理等、 演算 ュニッ 卜で異なる処理にも対応でき る特徵を持っている。
一方、 ミ ン ド ( M I M D ) 型並列処理計算機では、 共 通の処理のため各演算ュニッ 卜に共通のプロ グラム を持 たせる こ と が冗長であ り 、 メモ リ容量が多く なる とい う 欠点があ る 。 こ の問題点の一つ の解決方法が、 特開昭 58 — 14695 2号公報に記載されている。 この計算機では、 ί寅 算ュニッ ト を制御する制御ュニッ 卜 に、 各演算ュニッ ト のプロ グラム を記憶し、 演算ュニッ 卜のプロ グラ ムの実 行に合わせて、 プロ グラムの 1 部分だけを制御ユニッ ト から演算ユニッ トへ分配する こ と によ り 、 プロ グラム記 憶の冗長を少な く し、 メモ リ容量の削減を意図 している, また、 ループ処理を分配する単位と し、 分配の回数およ び時間を少な く してお り 、 ループ内の演算が少な く 、 ル ープ内の く り返し数が多い問題に有効である。
〔発明が解決し ょ う とする問題点〕
上記、 特開昭 58— 14695 2では、 ループ内の演算量が多 く 、 演算ユニッ トのプロ グラ ムメ モ リ容量を越えるよ う な場合について配慮されておらず、 また、 く り返し数が 少ないループが多数あ る場合、 頻繁に分配を行なう必要 が有 り、 分配に関する時間が増える問題がある。
流体数値解析では、 ループの個数が多く 、 またル一プ 内の演算量も多い。 第 2 図に、 流体数値解析の例と して、 2次元粘性流解析の流れ図を示す。
( 1 ) 各格子点で流速 u, V の初期値 u ) , V ( ° ) を設 定する。
( 2 ) 終了判定
( 3 ) 各格子点で時刻 t + S t の u , V の中間値"^, ^"を 計算する。 (4) 各格子点で質量残差 d を計算する。
(5) 各格子点の圧力 P を反復求解する。
(6) 時刻 t + S t の u , V の値 u (v+ , V (v+ L)を補正 計算する 。
(1) , (3) , (4) , (6) は 2 次元の各格子点について計 算するため 2重のループ、 また(5) については、 反復求 解のループが加わ り 3 重のループと なっている。 さ ら に、 (2)〜(6)は時刻を更新するループに含まれている。 一方、 格子状に接続した並列処理計算機では、 一般に空間の部 分領域を 1 台の演算ュニ 'ン 卜へ分担させる こ と に よ り並 列処理する方法が行なおれる。 計算時間の短縮は、 演算 ユニッ トの台数を増や し、 1 台の演算ユニッ トの分担す る格子点を減らすこ と で実現される 。 すなわち、 演算ュ ニッ トの台数の多い並列処理計算機では、 (2)〜(6)のル ープの く り返 し数は小さ く なる。 以上の理由によ り 、 上 記特開昭 58— 146952の方法は、 流体数値解析の並列処理 には適していなレ、。
本発明の 目的は、 流体数値解析の上記例のよ う に、 複 数のループ処理を頫次実行する アル ゴ リ ズム を少ないメ モ リ容量で並列処理するのに適した - VI I M D型並列処理 計算機を提供する こ と にある。
〔問題点を解決するため の手段〕
本発明は、 演算ユニッ ト内に 自身のプロ グラム を持つ M I M D型並列処理計算機において、 流体数値解析を並 列処理する と き、 各演算ユニッ ト間で共通の処理である 基本計算部分の命令列 (以下、 共通命令) と個別の処理 である境界値設定等の部分を'記述する命令列 (以下、 個 別命令) を分離し、 共通命令に関 しては 1 命令毎に';寅算 ユニッ ト に放送する こ と によ り 、 ループの個数、 く り返 し回数、 演算量にかかわらずメモ リ 容量を削減できる と いう点に着眼する こ と によ り生まれた。
演算ユニッ ト内の演算装置は、 ノ イ マン型の制御方法 を と り 命令が格鈉されているア ド レ スを示す、 プロ グラ ムカ ウ ンタ を持つ。 この場合、 共通命令と爾別命令の メ モ リバンク を分離し、 1酉別命令に閡 しては、 演算ュニッ ト内のメモ リ に記憶させ、 共通命令に間 しては、 命 ^キ ユーと して フ ィ フォ ( F I F 0 : F ir s t In Fir st O u t Memo ry ) を用い、 F I F Oの出力 を共通命令の ア ド レ ス 空間へ対応させる こ と によ り 、 共通命令に関 しては、 演 算ユニッ トの実行状態に合わせて、 命令を放送すれば、 共通命令のメモ リ容量を少なく できる - 演算ユニッ トの実行状態に合わせて、 共通命令を放送 する方法と して、 制御ュニッ 卜 にその機能を分担する場 合、 制御ユニッ トでは、 ループの く り返し回数のカ ウ ン ト等の演算ユニッ トの実行状態を監視する必要があ り 、 そのため時間がかかる。 発明者は、 複数の演算ユニッ ト 1
(5) を主演算ユニッ ト (Master Processing Unit ; M P ) と 複数の従演算ユニッ ト (Slave Processing Unit ; S P ) に分け主演算ュニッ ト に共通命令を記憶させる と と も に、 並列処理の一部分を分担させ、 主演算ユニッ トの演算装 置が共通命令が取 り込む時に、 従演算ュニ ジ 卜へ放送す れば、 制御ユニッ ト によ る演算ユニッ トの実行状態の監 視が不要となる とい う点に着目 し本発明に至った - 〔作用〕
主演算ユニッ ト と従演算ユニッ トはと も に、 並列処理 の一部分を分担し、 主演算ユニ ッ ト には、 共通命令と個 別命令を、 従演算ユニッ ト内には個別命令を記憶する。
主演算ユニッ トの演算装置は、 共通命令の実行の前に、 プロ グラムカ ウ ンタ の示すァ ド レスから共通命令を取 り 込み、 こ の時、 取 り込まれる命令を従演算ユニッ トへ放 送し、 命令キューへ格納する。 従演算ユニッ トの演算装 置は、 命令キューから共通命令を取 り込み、 実行するの で、 各演算ユニッ トで共通の命令を記憶する必要がない。 〔図面の簡単な説明〕
第 1 図は本発明の一次元配置した並列処理計算機の構 成図、 第 2 図は 2次元粘性流数値解析の流れ図、 第 3 図 は本発明の二次元配置した竝列処理計算機の構成図、 第 4 図は第 1 図の演算ユニッ トの構成図、 第 5 図は第 4 図 の演算ユニッ ト内のメ モ リ マップ、 第 S 図は第 4 図の演 算ユニッ トの回路図、 第 7 図は第 4 図の演算装置のタ イ ミ ングチャー ト図、 第 8 図は第 4 図の演算装置の命令の 実行)頃を示す図、 第 9 図は第 2 図の 2次元粘性流解析の 圧力を並列計算する流れ図、 第 1 0 図は本発明の一実施 例の並列処理計算機の構成図である。
〔実施例〕
以下、 本発明の一実施例を図面を用いて説明する。 第 1 図は本発明の並列処理計算機の構成図であ り 、 複 数の演算ユニッ ト每を一次元に接続した例を示す。 第 1 図において、 1 は主演算ユニッ ト ( M ? ) 、 2 は従 ·演算 ユニッ ト ( S P ) 、 3 はデータ転送ネ ッ ト ワ ー ク 、 1 2 は演算装置、 1 3 はメ モ リ ノ ン ク 、 1 4 はメ モ リ ノ ン ク 1 5 は F I F 0 からなる命令キューであ り 、 主演算ュニ ッ ト 1 は演算装置 1 2 , メ モ リ ノ ン ク 1 3 , メ モ リ ノ ン ク 1 4 で溝成する。 従演算ユニッ ト 2 は演算装置 1 2, メ モ リ バ ン ク 1 4 , 命令キュー 1 5 から搆成する。
主演算ュニッ ト 1 と従演算ュニッ ト 2 は单方向の命令 放送バス 1 0 2 で接続される。 また、 主演算ユニッ ト 1 と従演算ュニッ ト 2 はデータ転送ネッ ト ワ ーク 3 のデー タ信号 1 1 3 によ り接続される。
第 3 図は M X 台の演算ユニッ ト を二次元格子に配置 し、 行毎と列毎にデータ 転送ネッ ト ワーク 3 に接続した 実施例を示す。 主演算ユニッ ト 1 からは、 -M X N— 1 台 の従演算ュニッ ト 2へ命令放送バス 1 0 2 が接続される。 演算ユニッ ト を二次元配置する実施例においても、 主 演算ュニッ ト 1 と従演算ュニッ ト 2 の構成は一次元配置 と同様である。
第 4図は演算ユニッ ト内の構成図である 。 主演算ュニ ッ ト 1 と従演算ュニッ ト 2 はハ一 ド ウエアの多く を共通 の設計で作る こ と ができ るので、 スィ ッチの切換によ り 、 主演算ュニ ッ ト 1 から従演算ュニッ ト 2へ変更でき る実 施例を示す。
演算ユニッ トは演算装置 1 2 , メ モ リ バン ク 1 3 , メ モ リ バン ク 1 4 , 命令キュー 1 5 , スィ ッチ回路 1 6 力、 ら構成され、 演算装置 1 2 と メ モ リ バ ン ク 1 4はァ ド レ スデータ信号 1 0 1 によ り 接続され、 演算装置 1 2 と ス イ ッチ回路 1 6 はア ド レ スデータ信号 1 0 4 によ り 、 ス イ ッチ回路 1 6 と メ モ リ ノ Sン ク 1 3 はア ド レ スデータ信 号 1 0 5 によ り接続される。 また、 命令キュー 1 5 と ス イ ッチ回路 1 6 は、 データ信号線 1 0 3 によ り接続され、 また、 演算ユニッ トの外にはスィ ッチ回路 1 6 よ り 、 命 令放送バス 1 0 2 が出力 され、 命令キュー 1 5 には命令 放送バス 1 0 2 が入力される。
スィ ッチ回路 1 6 がア ド レスデータ線 1 0 5 と命令放 送バス 1 0 2 を選択し、 メ モ リ バ ン ク 1 3 を実装する こ と によ り 、 主演算ユニッ ト と して動作し、 スィ ッチ回路 1 6 がデータ線 1 0 3 を選択する こ と に よ り従演算ュニ ッ ト と して動作する。
第 5図は、 主演算ユニッ ト 1 と従演算ユニッ ト 2のァ ド レ スマッ プを示 し 、 メ モ リ ノ ン ク 丄 3 に ア ド レ ス 0〜 216 - 1 , メ モ リ ノ ン ク 1 4 に ア ド レ ス 21S〜 217— 1 を割り 当てている。 従演算ュニッ ト 2の命令キュー 1 5 には F I F O を用い、 F I F Oの出力ポー ト を演算装置 1 2の ア ド レスの 0〜 218— 1 に割 り 当ててい る 。 演算 装置 1 2 には、 命令列を メ モ リ上に記憶し、 命令の実行 時に命令を メモ リ から取 り込むノ イ マン型の演算装置を 用いる。 一般に、 ノ イマン型の演算装置は、 プロ グラム カ ウ ン タ を持ち、 プロ グラ ム カ ウ ン タ の示すア ド レ ス力、 ら、 命令を取 り込む。 プロ グラムカ ウ ン タ の値は、 命 列の実行の璦歴によ り 唯一定ま る。 したがって、 従演算 ユニッ ト 2 の命令キュー 1 5 に F I F Oを用い、 主滾算 ュニ ッ ト 1 の演算装置 1 2 が取 り込んだ共通命令を頗に 命令キュー 1 5 に書き込み、 従演算ユニッ ト 2の演算装 置 1 2では、 プロ グラムカ ウンタ が共通命令のア ド レ ス を示し、 命令キュー 1 5 から命令を敢 リ込むこ と に よ り 、 従演算ュニッ ト 2は共通命令の実行を主演算ュニッ ト 1 を追尾して実行する こ と がで き る 。
第 6図は、 演算ユニッ ト内の回路図であ り 、 6 1 は遅 延回路、 1 0 2 Aはデータ信号、 1 0 2 B は書き込み制 御信号 (命令放送バス 1 0 2 ) ; 1 0 3 Aはデータ 信号、 1 0 3 B は読み込み制御信号 (データ信号線 1 0 3 ) ; 1 0 4 Aはデータ信号、 1 0 4 B はア ド レ ス信号、 104C は読み込み制御信号 (ア ド レ スデータ信号 1 0 4 ) ; 1 〇 5 Aはデータ信号、 1 0 5 Bはア ド レ ス信号、 105C は読み込み制御信号 (ア ド レ ス信号 1 0 5 ) である。 ス イ ッチ回路 1 S 内には、 主演算ユニッ ト 1 が従演算ュニ ッ 卜 2 を選択するスィ ッチがあ り 、 接点 Uと接点 M Pの 接続によ り 、 主演算ユニッ ト 1 が選択され、 接点 Uと接 点 S Pの接続によ リ従演算ュニッ ト 2 が選択される,
以下、 第 6図を用い主演算ユニッ ト 1 の動作を示す。 メ モ リバンク 1 3 には、 演算ユニッ ト間で共通と なる命 令を記憶し、 メ モ リ ノ ン ク 1 4 には個別の命令とデータ を記憶させる。 ただし、 命令とデータ の メ モ リ バン ク を 分離する こ と も可能であ り 、 その場合、 データ用の メ モ リ バ ン ク を別に設けメ モ リ バン ク 1 4 には個別の命令だ けを記憶する。 書き込み制御信号 1 0 2 Bは書き込み許 可信号と書き込み信号からな り 、 書き込み許可信号は、 全ての従演算ュニッ ト 2の命令キュー 1 5 が満杯でな く 、 命令の書き込みが可能の時に全ての従演算ュニッ トで論 理積を と る こ と によ リ生成され、 読み込み制御信号 105C、 読み込み制御信号 1 0 4 C をへて、 演算装置 1 2へ読み 込み許可信号と して入力される。 演算装置 1 2は読み込 み許可信号が発行されてい る間、 ア ド レ ス信号 1 0 4 B に共通の命令の格鈉されるア ド レ スを出力 し、 読み込み 制御信号 1 0 4 Cへ読み込み信号を出力 し、 読み込み制 御信号 1 0 5 Cをへて、 メ モ リ バン ク 1 3へ読み込み信 号と して入力される。 メモ リ ノ ンク 1 3 からは、 読み込 み信号に同期して、 データ信号 1 0 5 Aに、 共通の命令 が出力され、 データ信号 1 0 4 Aをへて演算ユニッ ト 1 2へ、 データ信号 1 0 2 Aをへて従滾算ユニッ ト 2へ 送られる。 従演算ユニッ トへは、 命令の他に書き込み制 御信号 1 0 2 B を通して、 演算装置 1 2 が、 読み込み制 御信号 1 0 4 Cへ出力 し た読 込み信号を遅延回路 6 1 によ り 遅延させ、 書き込み信号と し.て出力する。 したが つて、 主演算ユニッ ト 1 は従演算ユニッ ト 2 の命令キュ 一 1 5 が満杯でない間、 共通の命令を取 り込み、 従演算 ュニッ ト 2へ同一の命令を放送する 。
次に、 第 6図を用い、 従演算ユニッ ト 2 の動作を示す。 読み込み制御信号 1 0 3 Bは読み込み許可信号と読み込 み信号からな り 、 読み込み許可信号は、 命令キュー 1 5 に命令が入っている間出力され、 読み込み制御信号 104C をへて、 演算装置 1 2へ読み込み許可信号と して入力さ れる。 演算装置 1 2は、 読み込み許可信号が入力される 間主演算ユニッ ト 1 の演算装置 1 2 と同様に、 ア ド レ ス 信号 1 0 4 B に、 共通命令のア ド レ スを出力 し、 読み込 み制御信号 1 0 4 C に読み込み信号を出力する。 読み込 み信号は読み込み制御信号 1 0 3 B を経て、 命令キュー
1 5 へ出力され、 命令キュー 1 5 から、 主演算ユニッ ト
1 が放送した命令が出力され、 演算装置 1 2 へ読み込ま れる。 したがって、 従演算ユニッ ト 2 は主演算ユニッ ト
1 の共通命令の実行を追尾して共通命令を取り 込み、 実 行する こ と がで き る 。
第 7 図は、 主演算ユニッ ト 1 と従演算ユニッ ト 2 の共 通命令の取 り込みと実行の タ イ ムチャー トであ り 、 演算 装置 1 2 と して命令の先取 り機構を有するもの を用いた 実施例である。 主演算ユニッ ト 1 では主演算ユニッ ト と 従演算ユニッ ト共通の命令①, 命令 , 命令③を頌次取 り込み、 取 り込むと同時に命令放送バス 1 0 2 へ放送す る。 従演算ユニッ トでは、 命令キューに命令が入った後 で命令を取 り 込む。 従って、 共通命令の取 り込みと実行 の時刻は、 従演算ユニッ ト 2 が主演算ュニ ジ ト 1 に対し て遅れている。 し かし、 この遅れている時間は、 命令の 実行に ともない累積する こ と がな く 、 遅れ時間は高々 命 令放送バス 1 0 2 の信号の伝播時間と命令キュー 1 5 の ア ク セ ス時間であ り 、 従来の全ての命令を演算ュニッ ト に記憶する M I M D型並列処理計算機と比べ、 命令の取 り込みに要する時間に差はほと んどない。
第 8 図は、 共通命令列と涸別命令列を交互に実行する と きのプロ グラム を示す。 主演算ユニッ ト 1 のメモ リ ノ ン ク 1 3 はア ド レ ス 0 から 2 1 S - 1 が割 り 当て られ共通 命令と分岐命令が記憶され、 主演算ユニッ ト 1 と従演算 ュニ ッ 卜 2 の メ モ リ ノ ン ク 1 4 にはア ド レ ス 2 1 0か ら 2 1 7 — 1 が割 り 当て られ個別命令と分岐命令が記億され る。 この例において、 分岐命令は演算装置 1 2.のプロ グ ラムカ ウ ンタ の値を、 異なる メモ リ ノ ンク を指し示すよ う に変える命令であ り 、 分岐命令①は、 演算装置 1 2 の プロ グラムカ ウ ンタ を個別命令①を指し示すよ う に変え、 分岐命令②は、 プロ グラムカ ウ ン タ を共通命令 Γ Γπ) を指し示すよ う に変える。 従演算ユニッ ト 2 は、 共通命 令と分岐命令' I)を命令キュー 1 5 から読み込むこ と に よ リ 、 主演算ユニッ ト 1 を追尾し共通命令を実行できる。 以下、 共通命令と個別命令を分難する方法を述べる。 現在計算機プロ グラム と して、 搆造化プ□ グラムが主流 となっている。 搆造化プロ グラムは、 3 つの基本形
( ( a ) 処理の頗序を示す連接, ( b ) ある条件の成立 する間は処理を く リ返す反復、 ( c ) ある条件に徒って 二つの処理の一方を選ぶ選択) から構成される。' 構造化 プロ グラムにおいては、 プロ グラムの論理構成が明確と なるため、 共通命令と個別命令を分離する こ と が容易と なる。 本実旅例の並列処理計算機で、 流体数値解析を行 なう 時、 演算ユニッ トは、 解析する領域の部分領域を受 87/00117
(13) け持つ。 部分領域を受け持つ格子点が複数の場合、 格子 点毎の演算は同一のため、 この部分は ( b ) 反復によ り 記述される。 各演算ユニッ ト が受け持つ部分領域の格子 点数を互いに等し く する制限すれば、 反復回数を演算ュ ニッ トで等し く でき、 この部分を共通命令と して取 り扱 う 。 境界値の設定は、 格子点が境界に含まれる かどう か によって異なるため、 ( c ) 選択によって記述され、 こ れは、 演算ユニッ ト毎に異なるため、 個別命令と して取 り扱う 。
以下、 並列計算例を説明する。 計算^と して、 第 2 図 に示した 2 次元粘性解析の う ち、 圧 を反復求解する部 分を並列処理する場合を示す。 解析する領域は、 1 6 X 8 の格子点を持つ長方形領域を考え、 周囲 を境界とする。 圧力の境界条件と して法線方向の微係数が 0 と なる
Neumann 条件を与え、 また、 反復法と して Jaeobi法を用 いる。 演算ユニッ ト が 4 X 4 の 1 6台が 1 次元に配列さ れているものを用い、 1 台の演算ユニッ ト には 4 X 2 の 格子点が分担される。
1 台の演算ュニッ トでは、 圧力 P のデ一タ エ リ ア と し て配列 P i ( i = 0, 1 , 2, 3, 4, 5 ; j - 0,
1, 2, 3 ) を と る。 1 = 0 , 5 または i = 0, 3 は演 算ュニッ 卜 によって境界値か隣の演算ュニッ 卜で計算さ れた値が格納される。 第 9 図に処理の流れを示す。 (1) Kの更新
(2) 各格子点で次ステップの圧力値 P i, (k+つを計算す る。
(3) 隣に演算ユニッ トが有れば、 隣の演算ユニッ ト に接 する格子点の圧力値を送出する。
(4) 鹩に演算ユニッ ト が有れば、 饑から送られた圧力値 を配列へ格納する。
(5) 境界に接していれば、 境界の値を境界要素に代入す る。
(6) 演算ユニッ ト内の格子点について、 収束したかを判 定し、' さ ら に全ての演算ュニッ 卜で収束したかを判定 する。
ここで、 (1), (2)については、 共通命令と して取 り扱 う 。 (3) , (4), (5)については演算ユニッ トで処理が異 なるため個別命令と して取 り扱う 。 (6) についても、 収 束したかどう かは、 演算ユニッ トによ り異なるため個別 命令と して取 り扱う 。 第 2図の他の部分に対しても、 同 様に共通命令と個別命令が分離できる。 したがって、 本 発明の並列処理計算機では、 プロ グラム を各演算ュニッ 卜で共通の命令と個別の命令に分離し、 共通の命令を 1 台の主演算ユニッ ト 1 に記憶し、 命令の実行に合わせて 従演算ュニッ トへ送るので従演算ュニッ ト 2 には記憶さ せる必要な く 、 流体数値解析等を少ないメモ リ容量で並 列処理でき る。
なお、 並列処理計算機では、 解く 問題の規模に対応し て、 演算ユニッ トの台数を増減でき る こ と が必要である。 そのために、 第 1 図の実施例によれば、 主演算ユニッ ト 1 は複数の従演算ュニッ ト 2 の命令キュー L 5 へ共通命 令を書き込むため、 命令放送バス 1 0 2 への出力 レ ベル を、 従演算ユニッ ト 2 の台数の上限に合わせて大き く と つておく 必要がある。 命令キュー 1 5 と して、 ア ク セ ス 時間の短かい F I F 0 を使えば、 第 1 0 図の構成が可能 とな り 、 主演算ユニッ ト 1 の命令放送バ ス 1 0 2 への出 カ レベルを小さ く し、 かつ演算ュ ニ ノ 卜 の台数を任意に 変える こ と が可能と なる。
第 1 0 図において 1 は主演算ユニッ ト、 2 は従';寅算ュ ニ ッ ト 、 3 はデー タ 転送ネ ッ ト ワ ー ク 、 1 2 は演算装蠹、 1 3 は メ モ リ ノく ン ク 、 1 4 は メ モ リ ノく ン ク 、 1 5 は命合 キュー、 1 0 2 は命令放送バス、 1 2 0 はデー タ ;' で あ り 、 命令キュー 1 5 をデータ信号 1 2 0 で連結してい る。 主演算ユ ニ ッ ト 1 の演算装置 1 2 はメ モ リ ノく ン ク
1 3 から共通命令を取 り込む時、 同時に命令放送バス
1 〇 2 へ共通命令を放送する。 従演算ユニッ ト 2 の演算 装置 1 2 が、 命令キュー 1 5 から命令を取 り込む時、 同 時に隣の命令キュー 1 5 へ書き込む 第 1 図の実施例と の違いは、 第 1 図の実施例では共通命令を各従演算ュニ ッ トへ同時刻に放送するのに対し、 第 1 0 図の実施例で は、 主演算ユニッ ト から離れるのに従がい、 従演算ュニ ッ ト 2 へは、 命令キュー 1 5 のア ク セス時間分の遅れが 累積され命令が取り込まれる。 し かし、 命令キュー 1 5 にアクセス時間の短かい F I F 0 を用いれば、 主演算ュ ニッ ト 1 から離れる こ と に よ る、 従演算ユニッ ト 2 の命 令の取 り込み時刻の遅れの累積は無視できるため、 第 1 図の実施例と同様の性能を得、 かつ主演算ユニッ ト 1 の 命令放送バス 1 0 2への出力 を小さ く し、 演算ユニッ ト の台数も任意に変更でき る。
〔発明の効果〕
本発明によ .れば、 M I M D型並列処理計算機で各演算 ュニッ ト間で共通の命令を 1 台の演算ュニッ 卜 に記億し、 他の演算ユニッ トで共用でき るので、 総メ モ リ容量を さ く できる効果がある。

Claims

請求の範囲
1 . 主演算ユニッ ト と複数の従演算ユニッ ト から構成さ れる並列処理計算機において、 主演算ユニッ トは、 命 令を メモ リ から取 り込む演算装置、 共通命令用メ モ リ バン ク 、 猫別命令用メ モ リ バ ン ク を持ち、 従演算ュニ ッ トは、 上記演算装置、 F I F 〇 からなる命令キュー、 個別命令用 メ モ リ バ ン ク か らな り 、 主演算ユニッ ト の 共通命令用 メ モ リ バ ン ク を従演算ュニッ 卜の命含キュ 一に接続する こ と を特徵とする並列処理計算機。
2 . 特許請求の範囲第 1項記載の並列処理計算機おいて、 主演算ュニ ッ 卜 と従演算ュニッ 卜は並列処 '理の一部を 分担し、 主演算ユニッ トの演算装證が命令を共通命令 用 メ モ リ バ ン ク か ら取 り込むと き、 同命令を従演算ュ ニッ トへ放送し、 従演算ユニッ トでは演算装置が、 放 送された命令を命令キューから取 '' J込むこ と を 徵と する並列処理計算機。
PCT/JP1987/000117 1986-02-26 1987-02-23 Concurrently processing computer Ceased WO1987005419A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP87901649A EP0273051B1 (en) 1986-02-26 1987-02-23 Parallel processing computer
DE3789861T DE3789861T2 (de) 1986-02-26 1987-02-23 Parallel-rechner.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP3923386A JPS62197859A (ja) 1986-02-26 1986-02-26 並列処理計算機
JP61/39233 1986-02-26

Publications (1)

Publication Number Publication Date
WO1987005419A1 true WO1987005419A1 (en) 1987-09-11

Family

ID=12547408

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1987/000117 Ceased WO1987005419A1 (en) 1986-02-26 1987-02-23 Concurrently processing computer

Country Status (4)

Country Link
EP (1) EP0273051B1 (ja)
JP (1) JPS62197859A (ja)
DE (1) DE3789861T2 (ja)
WO (1) WO1987005419A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58146952A (ja) * 1982-02-26 1983-09-01 Toshiba Corp 並列計算機方式
JPH05168749A (ja) * 1991-12-24 1993-07-02 Sophia Co Ltd パチンコ機の変動入賞装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3544973A (en) * 1968-03-13 1970-12-01 Westinghouse Electric Corp Variable structure computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58146952A (ja) * 1982-02-26 1983-09-01 Toshiba Corp 並列計算機方式
JPH05168749A (ja) * 1991-12-24 1993-07-02 Sophia Co Ltd パチンコ機の変動入賞装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0273051A4 *

Also Published As

Publication number Publication date
JPH0424744B2 (ja) 1992-04-27
EP0273051A1 (en) 1988-07-06
EP0273051B1 (en) 1994-05-18
DE3789861T2 (de) 1994-09-22
DE3789861D1 (de) 1994-06-23
JPS62197859A (ja) 1987-09-01
EP0273051A4 (en) 1990-01-29

Similar Documents

Publication Publication Date Title
US4541048A (en) Modular programmable signal processor
US5230057A (en) Simd system having logic units arranged in stages of tree structure and operation of stages controlled through respective control registers
US3462742A (en) Computer system adapted to be constructed of large integrated circuit arrays
US5197130A (en) Cluster architecture for a highly parallel scalar/vector multiprocessor system
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
JPH0472272B2 (ja)
EP0402891B1 (en) Multiprocessor system with vector pipelines
JPH0616270B2 (ja) 自己補修形大規模集積回路
GB1445714A (en) Array processors
CN1010259B (zh) 分布控制存贮器字的体系结构
JP2899986B2 (ja) データ格納方法,ベクトルデータバッファ装置およびベクトルデータ処理装置
WO1987005419A1 (en) Concurrently processing computer
US5765012A (en) Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5465369A (en) Network structure for parallel software processing
Shively Architecture of a programmable digital signal processor
WO1986007174A1 (en) Super-computer system architectures
US20180349061A1 (en) Operation processing apparatus, information processing apparatus, and method of controlling operation processing apparatus
EP4195027B1 (en) Computational circuit with hierarchical accumulator
Katona FOR A 16-STATE CELLPROCESSOR
JP2655243B2 (ja) 複合化ベクトル並列計算機
Huttenhoff et al. Arithmetic unit of a computing element in a global, highly parallel computer
JP2000099496A (ja) キャッシュ記憶装置
JP2910108B2 (ja) ベクトルデータバッファ装置
JPH05324584A (ja) ハイパーキューブの割当方法
CN118689542A (zh) 一种采用三输入加法器的并行计算架构

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 1987901649

Country of ref document: EP

AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): DE GB

WWP Wipo information: published in national office

Ref document number: 1987901649

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1987901649

Country of ref document: EP