JP2771683B2 - 並列処理方式 - Google Patents

並列処理方式

Info

Publication number
JP2771683B2
JP2771683B2 JP2188997A JP18899790A JP2771683B2 JP 2771683 B2 JP2771683 B2 JP 2771683B2 JP 2188997 A JP2188997 A JP 2188997A JP 18899790 A JP18899790 A JP 18899790A JP 2771683 B2 JP2771683 B2 JP 2771683B2
Authority
JP
Japan
Prior art keywords
instruction
processing
execution
processing element
sorting
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.)
Expired - Lifetime
Application number
JP2188997A
Other languages
English (en)
Other versions
JPH0475159A (ja
Inventor
隆 児玉
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2188997A priority Critical patent/JP2771683B2/ja
Priority to US07/674,689 priority patent/US5287466A/en
Priority to DE4122385A priority patent/DE4122385C2/de
Publication of JPH0475159A publication Critical patent/JPH0475159A/ja
Application granted granted Critical
Publication of JP2771683B2 publication Critical patent/JP2771683B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は各プロセッシングエレメントで命令を並列
的に実行する並列計算機における並列処理方式に関する
ものである。
〔従来の技術〕 第4図は命令群がn列のプロセッシングエレメントに
おいて処理される並列計算機の基本概念図であり、図中
の1は命令群、2はプロセッシングエレメントである。
第5図は従来の並列計算機の基本的な処理概念図であ
り、図中の1aは上記命令群1が行単位に整然と並べられ
た命令群、3は命令キュー、2はプロセッシングエレメ
ントである。命令群1aの各命令は命令キュー3に送ら
れ、その後各プロセッシングエレメント2に送られ処理
される。
次に従来の並列処理方式の動作について説明する。プ
ロセッシングエレメント2に入力され処理される命令群
1は、例えばn×n行列とした場合行単位にまとめられ
て命令群1aとし、処理されるべきプロセッシングエレメ
ント2が任意に決定される。各行単位の命令群1aは一旦
命令キュー3に格納され、プロセッシングエレメント2
が空くのを待つ。前命令処理が各プロセッシングエレメ
ント2にて実行が完了すると、命令キュー3より命令が
プロセッシングエレメント2に送られ、命令処理が実行
される。
〔発明が解決しようとする課題〕
従来の並列処理方式では、例えばn×n行列の命令群
を実行する場合、n×nの命令配列については順序等は
考慮していなかったため、行単位に命令群を見ると各行
(各プロセッサ)当り処理時間が著しく異なる場合が多
く、効率よくプロセッシングエレメントを使用できない
などの問題点があった。
この発明は、上記のような問題点を解消するためにな
されたもので、命令実行時間が平均化する様に命令群を
配列しなおすとともに、再配列時間を命令実行時間の平
均値に合わせることにより再配列時間が処理のオーバー
ヘッドにならない様にし、かつ各プロセッシングエレメ
ントに係る負荷を均一化することで、並列計算機全体と
して効率のよい並列処理を実行できる並列処理方式を得
ることを目的とする。
〔課題を解決するための手段〕
この発明に係る並列処理方式は、命令フィールド部30
に命令の実行予測カウント情報を付加し、上記実行予測
カウント情報を基に命令群を並び替えるソート回路5a〜
5e,6a〜6eを備え、先取り処理として上記命令群と列単
位で数ブロックに分割し、先取り列に対し上記実行予測
カウント情報のうちの最大値を示すブロックのソート及
び最小値を示すブロックのソートを交互に上記ソート回
路5a〜5e,6a〜6eによって実施するものである。
〔作用〕
先取り処理として、ソート回路5a〜5e,6a〜6eは、命
令群を列単位で数ブロックに分割し、先取り列に対し実
行予測カウント情報のうちの最大値を示すブロックのソ
ート及び最小値を示すブロックのソートを交互に実施す
る。
〔実施例〕
第1図はこの発明の一実施例に係る並列処理方式を説
明するための要部構成を示すブロック図である。第1図
において2a〜2eは並列計算機に備えられる演算処理部の
プロセッシングエレメント、3a〜3e及び4a〜4eは分割さ
れたプロセッシングエレメント2a〜2eに命令を供給する
命令キュー、5a〜5e及び6a〜6eは命令フィールド部に付
加された命令の実行予測カウント情報に基いて命令群を
並び替えるソート回路である。ソート回路5a〜5eは実行
予測カウント情報のうちの最大値を示すブロックのソー
トを行なうもので、ソート回路6a〜6eは実行予測カウン
ト情報のうちの最小値を示すブロックのソートを行なう
ものである。上記ブロックとは先取り処理として命令群
を列単位で分割した命令列のことである。
第2図はこの実施例を説明するために第1図中の構成
要素を抜き出したブロック図である。第2図中の7はソ
ート回路5a,6aに送出する命令群を一時格納する命令キ
ューである。
第3図はこの実施例における命令フィールド部の構成
図である。命令フィールド部30にはオペレーションコー
ドフィールド32の前に命令実行予測カウント情報を示す
命令実行カウントフィールド31が付加されている。即
ち、命令フィールド部30の先頭に命令実行カウントフィ
ールド31が設けられている。
本実施例の基本的な考え方として、以下の4項目に従
っている。
(1) ランダムな命令群を各プロセッシングエレメン
トに入力することは、負荷がかたより効率的でない。命
令群を列単位に最大値ソート,最小値ソートに交互に実
施したものを合わせることで、プロセッシングエレメン
トの各々の負荷は、かなりの点で平均化される。
(2) 各プロセッシングエレメントの命令平均実行時
間と、命令群再配列平均時間が等しいか、命令実行時間
の方が大きければ、再配列によるオーバーヘッドは起こ
らない。
(3) 本並列計算機の並列度をnとしたとき、先取り
列数をAとすれば、先取り命令要素数Anだがこれと並列
度n自体を分割して、Bm(mは1ブロック中の命令要素
数、Bはブロック数)とすると、A及びmが命令群再配
列平均時間を決定する要因となる。
(4) クイックソートアルゴリズムにおけるソート実
行平均時間は、ソート対象がn個であれば、2n log nで
ある。
ここで、上記(3)項に関して特に説明を加える。
まず、並列度nをn=100と仮定する。下記Tは基本
クロックである。
(i)2列同時のソート(最大値及び最小値ソート)を
実施した場合 ソート平均実行時間/列は、 2n log n/2=200Tである。
(ii)4列同時ソートの場合 ソート平均実行時間/列は、 2n log n/4=100Tである。
(iii)n=4mとして、4ブロックに列を分割かつ2列
同時にソートを実施した場合 ソート平均実行時間/列は、 2m log m/2=34.95Tである。
(iv)n=10mとして10ブロックに列を分割かつ4列同
時にソートを実施した場合 ソート平均実行時間/列は、 2m log m/4=5Tである。
以上の様に(3)項におけるA,m合わせてnが、命令
群再配列実行時間を決定する要因となるのである。
以下、本実施例の動作について説明するが、第1図及
び第2図においては、先に説明した(3)項でA=4,m
=10として設定した構成となっている。n=100とすれ
ば(iv)の状態である。(i)〜(iv)で説明した様
に、(3)項のA,mをパラメータにして命令群再配列実
行時間を制御することができる。この値をプロセッシン
グエレメント2a〜2eの命令平均実行時間に合わせれば効
率的に並列計算機が動作していることになるのである。
まず、第2図に関して動作説明するが、以降の説明の
設定状態としてn=100とし、構成が(iv)の状態にな
っているとする。
100行×100列の命令群の4列の上位10個を、一時命令
キュー7に格納し、次にソート回路5a,6aに命令群を送
出する。この実施例のソート回路としては、上述したよ
うに最大値ソート回路5a及び最小値ソート回路6aの2種
類の各2列分の2回路を備え、命令群4列の同時ソート
を実現している。これにより、ソート平均実行時間/列
を5Tとしている。このソート結果を命令キュー3aに格納
する。各命令キューは、命令群の4列分格納でき、この
説明の場合、2個の命令キュー3a,4aが存在する。これ
らの命令キュー3a,4aはあくまでプロセッシングエレメ
ント2aの入力に対するバッファの役割を演じるものであ
り、命令に切れ目なくプロセッシングエレメント2aに送
るため、一方の命令キューよりプロセッシングエレメン
ト2aに命令を送っている場合、もう一方の命令キュー
は、ソート回路5a,6aからのソート結果の格納に使用さ
れる。プロセッシングエレメント2aは、命令キュー3a,4
aより送られた命令に従い命令処理を実行する。
第1図では第2図にて説明した命令キュー,ソート回
路,プロセッシングエレメントが集合して、並列計算機
を構成している状態を示している。
プロセッシングエレメント10個単位(つまり第2図の
構成)が一ブロックとなり、n=100の場合そのブロッ
クが10個集合して並列計算機を構成していることにな
る。
以上説明したようにこの実施例の並列計算機は、各ブ
ロックに対する処理を行なうソート回路5a〜5e,6a〜6
e、命令キュー3a〜3e,4a〜4e、プロセッシングエレメン
ト2a〜2e等を備え、パイプライン方式にて命令を処理
し、特定のプロセッシングエレメントに対して負荷が集
中することを回避し、負荷分散すること及びプロセッシ
ングエレメントの命令平均実行時間に合わせた先取り処
理(命令群をプロセッシングエレメントに切れ目なく供
給する機構)が可能である。
上記実施例によれば、命令先取り列数とその列内の分
割ブロック数をパラメータにしてソート平均実行時間が
決定できるので、ソート平均実行時間と命令平均実行時
間を合わせることが定量的にでき、したがって並列計算
機内の各プロセッシングエレメントにかかる負荷が平均
化でき、またプロセッシングエレメントの性能に合わせ
て最適化できる並列計算機を提供できる。
なお、上記実施例ではプロセッシングエレメントが10
個単位で、かつ、4列分の先取り処理を実施したが、プ
ロセッシングエレメントの構成単位はいくつでもよく、
また先取り段数も4列分である必要はなく、いくつでも
よい。また、プロセッシングエレメントの処理対象を命
令としたが、命令により実行されるタスクでもよく、こ
の場合も同様の効果を奏する。
なお、命令群を(n×n)の正方行列と見なしたが、
この必要はなくm×nであってよく、mをより大きくと
ることにより先取りの準備時間が無視できる様になりよ
り効果的である。
〔発明の効果〕
以上のように本発明によれば、先取り処理として命令
群を列単位で数ブロックに分割し、先取り列に対し実行
予測カウント情報のうちの最大値を示すブロックのソー
ト及び最小値を示すブロックのソートを交互に実施する
ようにしたので、命令実行時間が平均化するように命令
群を配列し直すことができるとともに、再配列時間を命
令実行時間の平均値に合わせることにより再配列時間が
処理のオーバーヘッドにならず、したがって各プロセッ
シングエレメントに係る負荷は均一化され、並列計算機
全体として効率の良い並列処理を行えるという効果が得
られる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係る並列処理方式を説明
するための要部構成を示すブロック図、第2図はこの実
施例を説明するために第1図中の構成要素を抜き出した
ブロック図、第3図はこの実施例における命令フィール
ド部の構成図、第4図は命令群がn列のプロセッシング
エレメントにおいて処理される並列計算機の基本概念
図、第5図は従来の並列計算機の基本的な処理概念図で
ある。 5a〜5e,6a〜6e……ソート回路、30……命令フィールド
部。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 JOIS DIALOG

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】命令フィールド部に命令の実行予測カウン
    ト情報を付加し、上記実行予測カウント情報を基に命令
    群を並び替えるソート回路を備え、先取り処理として上
    記命令群を列単位で数ブロックに分割し、先取り列に対
    し上記実行予測カウント情報のうちの最大値を示すブロ
    ックのソート及び最小値を示すブロックのソートを交互
    に上記ソート回路によって実施することを特徴とする並
    列処理方式。
JP2188997A 1990-07-17 1990-07-17 並列処理方式 Expired - Lifetime JP2771683B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2188997A JP2771683B2 (ja) 1990-07-17 1990-07-17 並列処理方式
US07/674,689 US5287466A (en) 1990-07-17 1991-03-25 Method and apparatus for parallel loads equalizing utilizing instruction sorting by columns based on predicted instruction execution time
DE4122385A DE4122385C2 (de) 1990-07-17 1991-07-04 Verfahren und Vorrichtung zur Zuführung von Befehlen an die Verarbeitungseinheiten eines Parallelrechners

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2188997A JP2771683B2 (ja) 1990-07-17 1990-07-17 並列処理方式

Publications (2)

Publication Number Publication Date
JPH0475159A JPH0475159A (ja) 1992-03-10
JP2771683B2 true JP2771683B2 (ja) 1998-07-02

Family

ID=16233570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2188997A Expired - Lifetime JP2771683B2 (ja) 1990-07-17 1990-07-17 並列処理方式

Country Status (3)

Country Link
US (1) US5287466A (ja)
JP (1) JP2771683B2 (ja)
DE (1) DE4122385C2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2771683B2 (ja) 1990-07-17 1998-07-02 三菱電機株式会社 並列処理方式
CA2067576C (en) * 1991-07-10 1998-04-14 Jimmie D. Edrington Dynamic load balancing for a multiprocessor pipeline
US5450550A (en) * 1991-08-09 1995-09-12 Sony Corporation Parallel processing system for parallel prefetching of identical packet having two rendering commands and processing second command prior to completion of processing the first command
US6704861B1 (en) * 1993-06-17 2004-03-09 Hewlett-Packard Development Company, L.P. Mechanism for executing computer instructions in parallel
US5564028A (en) * 1994-01-11 1996-10-08 Texas Instruments Incorporated Pipelined data processing including instruction trace
US5828904A (en) * 1995-05-09 1998-10-27 Apple Computer, Inc. System for data retrieval by scheduling retrieval if number of units scheduled equals or less than predetermined number and retrieving before or at time elapsed
JP3095163B2 (ja) * 1995-07-19 2000-10-03 株式会社日立製作所 自動ログオン機能の制御方法
US5887174A (en) * 1996-06-18 1999-03-23 International Business Machines Corporation System, method, and program product for instruction scheduling in the presence of hardware lookahead accomplished by the rescheduling of idle slots
US5802386A (en) * 1996-11-19 1998-09-01 International Business Machines Corporation Latency-based scheduling of instructions in a superscalar processor
US6553476B1 (en) * 1997-02-10 2003-04-22 Matsushita Electric Industrial Co., Ltd. Storage management based on predicted I/O execution times
US6144986A (en) * 1997-03-27 2000-11-07 Cybersales, Inc. System for sorting in a multiprocessor environment
US6044222A (en) * 1997-06-23 2000-03-28 International Business Machines Corporation System, method, and program product for loop instruction scheduling hardware lookahead
US5898852A (en) * 1997-06-26 1999-04-27 Sun Microsystems, Inc. Load instruction steering in a dual data cache microarchitecture
US6748589B1 (en) 1999-10-20 2004-06-08 Transmeta Corporation Method for increasing the speed of speculative execution
WO2001077818A2 (en) * 2000-04-05 2001-10-18 Infineon Technologies North America Corp. Method for predicting the instruction execution latency of a de-coupled configurable co-processor
US7395399B2 (en) * 2000-08-25 2008-07-01 Stmicroelectronics S.A. Control circuit to enable high data rate access to a DRAM with a plurality of areas
US20040210730A1 (en) * 2000-08-25 2004-10-21 Stmicroelectronics S.A. Dram control circuit
US8990547B2 (en) * 2005-08-23 2015-03-24 Hewlett-Packard Development Company, L.P. Systems and methods for re-ordering instructions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287466A (en) 1990-07-17 1994-02-15 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for parallel loads equalizing utilizing instruction sorting by columns based on predicted instruction execution time

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5932045A (ja) * 1982-08-16 1984-02-21 Hitachi Ltd 情報処理装置
US4858176A (en) * 1982-10-13 1989-08-15 Honeywell Bull Inc. Distributor of machine words between units of a central processor
US4497023A (en) * 1982-11-04 1985-01-29 Lucasfilm Ltd. Linked list of timed and untimed commands
US4807115A (en) * 1983-10-07 1989-02-21 Cornell Research Foundation, Inc. Instruction issuing mechanism for processors with multiple functional units
US4847755A (en) * 1985-10-31 1989-07-11 Mcc Development, Ltd. Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
US4903196A (en) * 1986-05-02 1990-02-20 International Business Machines Corporation Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor
EP0255118B1 (en) * 1986-07-30 1999-06-09 Hitachi, Ltd. Pattern generator
JPS63131230A (ja) * 1986-11-21 1988-06-03 Hitachi Ltd 情報処理装置
JP3070744B2 (ja) * 1987-04-10 2000-07-31 株式会社日立製作所 ベクトル処理装置
US4916652A (en) * 1987-09-30 1990-04-10 International Business Machines Corporation Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
US5051885A (en) * 1988-10-07 1991-09-24 Hewlett-Packard Company Data processing system for concurrent dispatch of instructions to multiple functional units
US5129067A (en) * 1989-06-06 1992-07-07 Advanced Micro Devices, Inc. Multiple instruction decoder for minimizing register port requirements

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287466A (en) 1990-07-17 1994-02-15 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for parallel loads equalizing utilizing instruction sorting by columns based on predicted instruction execution time

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
電子通信学会技術研究報告

Also Published As

Publication number Publication date
DE4122385C2 (de) 1994-01-20
JPH0475159A (ja) 1992-03-10
US5287466A (en) 1994-02-15
DE4122385A1 (de) 1992-01-30

Similar Documents

Publication Publication Date Title
JP2771683B2 (ja) 並列処理方式
JP4339381B2 (ja) 共有メモリ型マルチプロセッサシステム及びその情報処理方法
EP0334844B1 (en) Virtual processor techniques in a multiprocessor array
US5179699A (en) Partitioning of sorted lists for multiprocessors sort and merge
US20030061601A1 (en) Data processing apparatus and method, computer program, information storage medium, parallel operation apparatus, and data processing system
US20120072704A1 (en) "or" bit matrix multiply vector instruction
US20160171030A1 (en) Sorting an array consisting of a large number of elements
US20080288756A1 (en) "or" bit matrix multiply vector instruction
JP2022543332A (ja) データ処理
US6618804B1 (en) System and method for rearranging bits of a data word in accordance with a mask using sorting
US11200056B2 (en) Parallel union control device, parallel union control method, and storage medium
JP3333779B2 (ja) 行列演算装置
EP4095719A1 (en) Sparse matrix multiplication in hardware
CN115115044A (zh) 基于通道融合的可配置稀疏卷积硬件加速方法和系统
JP2007133576A (ja) ソート処理方法及びプログラム
US6163324A (en) Median calculation using SIMD operations
McGregor et al. Architectural techniques for accelerating subword permutations with repetitions
JP2009199439A (ja) マージソート処理方法、マージソート処理装置、及びマージソート処理プログラム
JP2740469B2 (ja) タスク管理方式
JPH1063647A (ja) 行列演算装置
JP2760649B2 (ja) 情報処理装置
JPH01288920A (ja) データソート装置
CN114546943A (zh) 基于多进程调用的数据库文件排序优化方法及装置
JPH09190336A (ja) ベクトル演算装置を用いたバケットソート処理方式
JPH03148730A (ja) プロセスキュー処理方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20080922

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20080922

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20090922

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20100922

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20100922

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20100922

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20110922

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20120922

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 12

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 12

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130922

Year of fee payment: 13