JPS6320683A - ベクトル代入最適化処理方式 - Google Patents

ベクトル代入最適化処理方式

Info

Publication number
JPS6320683A
JPS6320683A JP16572886A JP16572886A JPS6320683A JP S6320683 A JPS6320683 A JP S6320683A JP 16572886 A JP16572886 A JP 16572886A JP 16572886 A JP16572886 A JP 16572886A JP S6320683 A JPS6320683 A JP S6320683A
Authority
JP
Japan
Prior art keywords
assignment
array
program
processing
vector
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
Application number
JP16572886A
Other languages
English (en)
Other versions
JPH056227B2 (ja
Inventor
Hiroshi Nagakura
長倉 浩士
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP16572886A priority Critical patent/JPS6320683A/ja
Publication of JPS6320683A publication Critical patent/JPS6320683A/ja
Publication of JPH056227B2 publication Critical patent/JPH056227B2/ja
Granted 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/8053Vector processors

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)
  • Devices For Executing Special Programs (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 配列処理プログラムのベクトル化における、代入処理の
最適化を強化する処理方式である。
配列データの領域にベクトルレジスタの内容を代入する
2処理が同名の配列について続き、少なくとも一方にマ
スク指定がある組合わせがある場合に、両配列データ領
域が−敗し、画処理間に分岐命令が無い等の条件により
、2代入処理を1代入処理と所要のレジスタ間転送処理
等によって置換する。
この方式により、主記憶装置へのアクセスを減少し目的
プログラムの実行効率を改善する。
〔産業上の利用分野〕
本発明は、ベクトル処理装置5こよって実行されるため
の配列処理プログラムのベクトル化における、ベクトル
化プログラムの最適化処理方式に関する。
ベクトル処理装置は、配列データに関する演算を、いわ
ゆるパイプライン制御方式によって連続的に処理して、
亮速処理を実現する処理装置である。
従って、ベクトル処F L5 、Zを有効に利用するた
めには、データをできるだけ大きな1次元ベクトルとし
て扱えるように、FORTRANプログラミング言語等
で記述された原プログラムを所謂ベクトル化して、ベク
トル命令に対応するようなベクトル化プログラムを生成
する処理を行う。
この隔世せて、プログラムの実行効率を改善するように
プログラムを修正する、いわゆる最適化処理が行われる
〔従来の技術〕
第2図は、計算幾システムの一構成分りを示すプロ、り
図である。
ベクトル処理装置1は、主起・厖装置2にある配列デー
タの所要部分を、主記憶装置2から読み出して、アクセ
ス制御部6を経てベクトルレジスタ3の所要レジスタに
ロードする。
演算はベクトルレジスタ3上のデータについて実行され
、ベクトルレジスタ3上のデータを1演算パイプライン
4によって処理し、処理結果はベクトルレジスタ3へ格
納される。
原プログラム上における、配列に指定のデータを代入す
る処理は、主記憶装置2にある配列データCDRb1へ
、ベクトルレジスタ3から所要のデータを格納する処理
として、アクセス制御部6により実行される。
マスクレジスタ7は、ベクトル要素データ↓こ対応する
マスクビットを保持するレジスタである。
ベクトル処理の各種命令で、マスクの指定がある場合、
被処理ベクトルの要素データと同期して、マスクレジス
タ7から指定のマスクビットが読み出される。
マスクビットは、例えばオンであれば対応する要素デー
タについて当該処理を実行し、オフであれば処理実行を
抑止する制御に使用される。
ベクトル処理装置1で実行されるロード、演算、代入処
理等のベクトル命令は、命令制′4″#部5で制”(l
され、演算命令による所要の制′41■情報は、ベクト
ルレジスタ3及び演算パイプライン4へ送られ、主記憶
装置2に対するアクセス命令の場合には、アクセス先ア
ドレスに関する情報と所要の制御情報がアクセス制御部
6へ送られる。
ベクトル処理装置1で実行されるべきプログラムは、は
じめFORTRAN言語等で記述された原プログラムと
して作成され、いわゆるコンパイラがベクトル化及び翻
訳処理を行って、目的プログラムを生成する。
例えば第3図(a)はFORTRAN言語による原プロ
グラムの例であり、このプログラムの意味は公知のよう
に、配列Mの要素旧■)が真(例えば1)であれぼ、配
列要素A(1)に値0.0を代入し、M(1)が偽(例
えば0)であれば、値1.0を代入するという処理を、
■・1から128までの128要素について行うことを
指定している。
従って、通常のいわゆるスカラ処理装置でこのプログラ
ムを実行する場合には、公知のように、主記憶装置2か
らM(1)を1要素読んで、その内容により0.0を代
入するか、1.0を代入するか決定し、A(1)への代
入を実行するl要素ごとの処理シーケンスを128回反
復するようにされる。
このプログラムをベクトル処理装置で実行する場合には
、第3図(b)に概念的に示すようにベクトル化され、
各配列データに連続的に同種の処理を実行するベクトル
命令を有効に使用できるように構成される。
第3図tb)において、Vtl、vt2等はベクトルレ
ジスタ3の一部をなす所要レジスタ群を指定し、mtl
、mt2等はマスクレジスタ7のビット群の指定であり
、配列の添字中の*は、ベクトルとして処理する指定の
範囲を意味する。なお、それらを定義する部分のプログ
ラムは図示していない。
従って、プログラム文10はマスクレジスタ7のiil
に配列Mlのデータをロードするベクトル命令、プログ
ラム文11はマスクレジスタ7のmt2に、mtlの否
定値(各マスクビットの反転値)を転送するヘクトル演
算命令を意味する。
なお、配列旧は、前記原プログラムの配列Mの要素に対
応する値を有するビットを、各要素とする配列であって
、図示外のプログラムで別途準備されているものとする
プログラム文12.13は、それぞれベクトルレジスタ
3のvtl及びvt2の全要素に、指定の常数を設定す
るベクトルロード命令を示す。
プログラム文14.15は、何れも配列Aへの代入処理
であり、それぞれベクトルレジスタのvtl又はvt2
の内容を、マスクレジスタのmtl又はmt2の制j■
によって選択的に代入するベクトル代入命令に対応する
〔発明が解決しようとする問題点〕
第3図(1))のプログラムにより、原プログラムの配
列Aへの代入処理が、プログラム文14におけるmtl
によりマスクされた要素への0.0の代入と、プログラ
ム文15における、プログラム文14で代入されない要
素への1.0の代入とで構成される。
このように、配列の連続する要素への代入処理の形にベ
クトル化されることによって、ベクトル処理装置lによ
り、一般にスカラ処li1装置によるより高速の処理が
可能になる。
しかし、2代入処理が同一領域に行われるので、各要素
には何れか一方の値が代入されることが口約であるのに
、各要素に2回の参照が必要となり、実行効率改善の余
地を有する。
〔問題点を解決するための手段〕
第1図は、本発明の構成を示すブロック間である。
図の19はコンパイラの代入最適化処理部を示し、代入
最適化処理部19の、20は代入組合わせ検出部、21
は置換条件検査部、22は重なり検査部、23は置換処
理部である。
〔作 用〕
最適化処理において、代入最適化処理部19の代入組合
わせ検出部20はベクトル化プログラムから、同じ配列
名の配列に関して続く代入文の組合わせを検出し、代入
最適化候補の組合わせのリストを作る。
置換条件検査部21は、候補リストから分岐文が中間に
無いこと等の所定の条件に合う組合わせを選択し、有効
な組合わせとしてリストに残す。
重なり検査部22は、候補リストに残る各組合わせにつ
いて、2代入文の両配列の指定領域が一致し、且つ両代
入文の中間にあるプログラム文で参照される同名の配列
の領域と重なりが無い組合わせを、最適化の対象として
決定する。
置換処理部23は、決定した各組合わセについて、2代
入文をTr 70して、所要のベクトルレジスタ間転送
処理、所要のマスクレジスタ設定処理、及び1個の代入
文にする。
以上により、主記憶装置へのアクセスを減少することに
よる実行効率改善が得られる。
〔実施例〕
コンパイラの代入最適化処理において、第1図の代入組
合わせ検出部20はベクトル化したプログラム文を走査
し、同じ配列名の配列への代入文が続いている組合わせ
、例えば第3図tblの例において、プログラム文14
からプログラム文15までの区間の配列Aを検出し、代
入最適化候補の組合わせの候補リスト25を作る。
なお、この例で該当の2代入文は隣接し、両プログラム
文の間に他のプログラム文が無いが、2代入文が隣接す
ることは必要な条件では無い。
置換条件検査部21は、候補リスト25の各題名わせに
ついて、例えば2代入文の間のプログラムに分岐文が無
いこと等の所定の条件を検査し、それらの条件を満足す
る組合わせのみを、有効な組合わせとしてリストに残す
重なり検査部22は、候÷iトJスト25に残る各組合
わせについて、例えば重なり情報24を参照して、肩代
人文の配列の指定領域が一致すること、及び肩代人文の
間のプログラムに同名の配列を参照するプログラム文が
ある場合には、それらの何れの配列の領域とも重なりが
無いことを条件として、最適化の対象とする組合わせを
決定する。
重なり情報24は、例えば原プログラムのベクトル化処
理等においても、必要とされる情報であって、プログラ
ム上の各同名配列ごとに、それらの配列間について、プ
ログラム上で指定されている添字を照合することにより
、指定領域の重なり状態を、「完全に重なる」、「重な
りあり」、「重なり無しヨのように表示するものである
前記第3図の例の場合、プログラム文14とプログラム
文15との配列Aは全く同一の添字記号が指定されてい
るので「完全に重なる」表示となっていて、肩代人文の
間にはこれと重なる領域を参照するプログラム文は無い
ので、重なり検査部22は前記条件から、この組合わせ
を最適化の対象と決定する。
置換処理部23は、前記で決定した組合わせについて置
換を実行するために、ベクトルレジスタ3に置換のため
のベクトルレジスタ(v t 10とする)を設け、置
換対象の代入文に対応して、代入光からvtlQへのレ
ジスタ間転送文を生成する。
又、該代入文のマスク制御指定におけるマスク情報の論
理和マスク情報(mtloとする)を作るプログラム文
、及びmtlOによるマスク制御のちとに、vtlOを
代入する代入文を生成して、それら生成したプログラム
文で元の2代入文を置き喚えて処理を終わる。
その結果第3図(1+)のプログラム例の場合には、第
3図(C)のように1摸したプログラムになる。図にお
いて、プログラム文30〜33が、(b)のプログラム
文14.15を置換するために生成される。
なお、前記の置換処理部23の処理において、2代入文
の一方のみマスク制御がある場合には、生成する代入文
のマスク制御は不要になり、従って前記のmtloを作
るプログラム文も不要になる。
又、後の代入文にマスク制御が無い場合には、指定領域
の全配列要素が、後の代入文で更新されるので、単に前
の代入文を削除すればよく、前記のvtlQへのレジス
タ間転送も不要となる。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、ベク
トル処理装置で実行するプログラムの最適化処理におい
て、配列への代入処理における皇紀tα装置へのアクセ
スを減少する最適化が強化されるので、実行効率を向上
する目的プログラムが得られるという著しい工業的効果
がある。
【図面の簡単な説明】
第1図は本発明の構成を示すブロック図、第2図はベク
トル処理装置の一構成例ブロック図、第3図はプログラ
ム例の説明図 である。 図において、 1はベクトル処理装置、2は主記憶装置、3はベクトル
レジスタ、4は演算パイプライン、5は命令制御部、 
  6はアクセス制御部、7はマスクレジスタ、 10〜15.30〜33はプログラム文、19は代入最
適化処理部、20は代入組合わせ検出部、21は置換条
件検査部、 22は重なり検査部、23は置換処理部、
    24は重なり情報、25は候補リスト 本発明の構成を示すブロック図 第1図 ベクトル処理装置の一構成例ブロック図第2図 プログラム例の説明図

Claims (1)

  1. 【特許請求の範囲】 配列処理プログラムより、ベクトルレジスタを有するベ
    クトル処理装置によって実行するためのベクトル化プロ
    グラムを生成する処理を行う計算機において、 該ベクトル化プログラム上の同名の配列に関して続いて
    行われる代入処理であって、少なくとも一方の該代入処
    理にマスクによる代入配列要素の選択が指定され、所定
    の条件を満足する2代入処理の組合わせを検出する手段
    (20、21)、該組合わせの代入先配列の配列データ
    領域の重なり状態を検査して、該両配列データ領域が一
    致し、且つ該両代入処理の中間で該配列を参照する処理
    がある場合には、該参照の配列データ領域と重なりが無
    い前記組合わせを決定する手段(22)、及び、該決定
    した組合わせの前記2代入処理を、1個の代入処理、及
    び所要のベクトルレジスタ間転送処理及びマスク情報生
    成処理に置換する手段(23)を有することを特徴とす
    るベクトル代入最適化処理方式。
JP16572886A 1986-07-15 1986-07-15 ベクトル代入最適化処理方式 Granted JPS6320683A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16572886A JPS6320683A (ja) 1986-07-15 1986-07-15 ベクトル代入最適化処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16572886A JPS6320683A (ja) 1986-07-15 1986-07-15 ベクトル代入最適化処理方式

Publications (2)

Publication Number Publication Date
JPS6320683A true JPS6320683A (ja) 1988-01-28
JPH056227B2 JPH056227B2 (ja) 1993-01-26

Family

ID=15817945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16572886A Granted JPS6320683A (ja) 1986-07-15 1986-07-15 ベクトル代入最適化処理方式

Country Status (1)

Country Link
JP (1) JPS6320683A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186467A (ja) * 2009-02-10 2010-08-26 Internatl Business Mach Corp <Ibm> コンピュータにより実施される方法、コンピュータ可読ストレージ媒体およびシステム(simdアーキテクチャの条件付きデータ選択のための高速ベクトル・マスキング・アルゴリズム)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57146376A (en) * 1981-03-06 1982-09-09 Hitachi Ltd Vector operation processor with mask

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57146376A (en) * 1981-03-06 1982-09-09 Hitachi Ltd Vector operation processor with mask

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186467A (ja) * 2009-02-10 2010-08-26 Internatl Business Mach Corp <Ibm> コンピュータにより実施される方法、コンピュータ可読ストレージ媒体およびシステム(simdアーキテクチャの条件付きデータ選択のための高速ベクトル・マスキング・アルゴリズム)

Also Published As

Publication number Publication date
JPH056227B2 (ja) 1993-01-26

Similar Documents

Publication Publication Date Title
US6272596B1 (en) Data processor
EP0260433A2 (en) Multi-address space control method
US5729711A (en) Data driven information processing system using address translation table to keep coherent cache and main memories and permitting parallel readings and writings
US20020099922A1 (en) Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline
JPH0522936B2 (ja)
US5710932A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JP3261239B2 (ja) データ転送の一括化処理方法
US6279152B1 (en) Apparatus and method for high-speed memory access
EP0214870A2 (en) System for controlling a data transfer instruction with an extension storage device
EP0480657B1 (en) Information processing apparatus
JPH056227B2 (ja)
EP0609903B1 (en) Program language compiling system
JP2727947B2 (ja) アドレストレース方式
JPH03119424A (ja) 情報処理方式及び装置
JP2003196259A (ja) データ駆動型情報処理装置およびデータ処理方法
JPS5919287A (ja) メモリアクセス命令による入出力処理方式
JPS62202264A (ja) ベクトル演算処理方式
JPH04365133A (ja) プレロード命令実行装置及びプログラム修正装置
JP2506591B2 (ja) 補助処理装置
JPH053030B2 (ja)
JPS62254237A (ja) インタプリタ方式の分岐命令実行方式
JPH0279122A (ja) 浮動小数点演算機構
JPH0344779A (ja) パターン認識プロセッサ
JPH027129A (ja) 演算処理装置
Collesidis et al. Control of multiprocessor SPS-1000 configurations using principles of data-flow architecture

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees