JPS6229816B2 - - Google Patents

Info

Publication number
JPS6229816B2
JPS6229816B2 JP56155016A JP15501681A JPS6229816B2 JP S6229816 B2 JPS6229816 B2 JP S6229816B2 JP 56155016 A JP56155016 A JP 56155016A JP 15501681 A JP15501681 A JP 15501681A JP S6229816 B2 JPS6229816 B2 JP S6229816B2
Authority
JP
Japan
Prior art keywords
loop
redefinition
index value
variable
value
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
Application number
JP56155016A
Other languages
English (en)
Other versions
JPS5856152A (ja
Inventor
Yukio Kamya
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 JP56155016A priority Critical patent/JPS5856152A/ja
Publication of JPS5856152A publication Critical patent/JPS5856152A/ja
Publication of JPS6229816B2 publication Critical patent/JPS6229816B2/ja
Granted 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 or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 本発明はプログラム変換装置に関し、特に並列
に動作できる複数の演算処理装置を具えて高スル
ープツトを狙う計算機に使用して効果をあげるた
めに、できるだけ並列処理可能な部分を多く含む
ようにプログラムを変換するものである。
例えば下記のようなDOループは一般によく現
われる。
DO10 I=1,N DO10 J=1,N A(J)=A(J)+B(J)〓A(I) 10 CONTINUE このようなプログラムを2台の演算器を有する
計算機で実行するとき、内側のDOループにおい
てもし変数A(I)を定数とみなせれば、2台の
演算器でJ=1〜NまでのNステツプを半分づつ
を分担させて並列処理させることができる。しか
し上記の例ではJがIと等しくなつたとき、A
(I)の値が変化(再定義)してしまう。つまり
JがIより大きい範囲と、JがIより小さい範囲
とではA(I)の値が異なる。従つて2台の演算
器に単純に分担させることができず、従来ではこ
のようなループは直列に処理していかざるを得な
かつた。
本発明はこのような従来の問題点を解決するこ
とを目的としており、以下図面により説明する。
図は本発明の一実施例ブロツク図であり、簡単
のために本発明に直接関係する部分のみ示してあ
るが、これにさらにコンパイラ機能等を追加して
もよい。
図において被変換プログラムは所定数のセンテ
ンスづつ入力バツフア1に入力される。入力セン
テンスの命令文の中からDO文検出手段2により
DO文の有無を検出する。DO文が無ければセレク
タ3を制御してORゲート9を介してそのまま出
力バツフア10へ出力する。
DO文が検出されるとそのセンテンス及びそれ
に続く実行文(等式など)をワークレジスタ4に
移す。そして再定義検出手段5によつて変数の再
定義の有無が検出される。再定義の有無は、例え
ば前記の例では等号(=)の両辺に同一変数名が
有るか否か、有つた場合にそのインデクスが異な
るにもかかわらずインデクス値が同一になる可能
性があるか否かを調べればよい。
尚、ここで「変数名」とは上記例におけるA
( )、B( )であり、「インデクス」とは、
I、Jであり「インデクス値」とはI、Jに具体
的数値を代入したものをいう。また単に「変数」
というときは具体的インデクス値で特定された変
数名の値をいう。
また再定義が生じ得るとしてもその再定義後の
変数が再び同一DOループで使用されなければ問
題はないので、その場合は再定義とみなされな
い。
このよにしてもし再定義がなければ、セレクタ
6を制御して出力バツフア10へ出力する。
再定義を生じている場合には、インデクス値検
出手段7によりその再定義を生じるステツプのイ
ンデクス値を算出し、その値にもとづいてDOル
ープ分割手段8によつて、複数のDOループを新
たに生成し、出力バツフア10に出力する。即ち
上記の例ではJ=1〜IまでのDOループとJ=
I+1〜NまでのDOループに分割し、元のDOル
ープと置換える。以下にその結果の例を示す。
DO10 I=1,N DO20 J=1,I A(J)=A(J)+B(J)〓A(I) 20 CONTINUE DO10 J=I+1,N A(J)=A(J)+B(J)〓A(I) 10 CONTINUE このようにすれば最初のDOループ(DO2O)
においては再定義は無いので、複数台の演算器で
分担して並列処理ができる。2番目のDOループ
(DO10)においても同様である。但し、DO2Oと
DO10とを並列処理することはできない。DO2O
が終らねばDO10における変数A(I)が定まら
ないからである。
また再定義される変数が2以上存在する場合に
は、DOループの分割数も3以上とすればよい。
以上の如く本発明によれば、既開発のプログラ
ム等における並列実行不可能な命令を並列実行可
能なものに変換し、並列動作可能な複数の演算器
を有する計算器システムの能力を有効に利用する
ことが可能となる。
【図面の簡単な説明】
図は本発明の一実施例ブロツク図であり、1は
入力バツフア、2はDO文検出手段、5は再定義
検出手段、7はインデクス値検出手段、8はDO
ループ分割手段、10は出力バツフアである。

Claims (1)

    【特許請求の範囲】
  1. 1 入力プログラム中にDOループの有無を検出
    する手段と、該DOループの中における変数の再
    定義の有無を検出する手段と、該再定義を生じる
    インデクス値を求める手段と、上記DOループを
    上記インデクス値までのDOループと、上記イン
    デクス値の次の値から始まるDOループとに分割
    する手段とを具えたことを特徴とするプログラム
    変換装置。
JP56155016A 1981-09-30 1981-09-30 プログラム変換装置 Granted JPS5856152A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56155016A JPS5856152A (ja) 1981-09-30 1981-09-30 プログラム変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56155016A JPS5856152A (ja) 1981-09-30 1981-09-30 プログラム変換装置

Publications (2)

Publication Number Publication Date
JPS5856152A JPS5856152A (ja) 1983-04-02
JPS6229816B2 true JPS6229816B2 (ja) 1987-06-29

Family

ID=15596830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56155016A Granted JPS5856152A (ja) 1981-09-30 1981-09-30 プログラム変換装置

Country Status (1)

Country Link
JP (1) JPS5856152A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2708405B2 (ja) * 1986-03-03 1998-02-04 株式会社日立製作所 コンパイラにおけるループ展開方法
JP3053092B2 (ja) * 1987-06-05 2000-06-19 株式会社日立製作所 並列化コンパイル方法
JPH02126322A (ja) * 1988-11-07 1990-05-15 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
JPS5856152A (ja) 1983-04-02

Similar Documents

Publication Publication Date Title
KR910010301A (ko) 명령 지정방법 및 실행장치
JPS6229816B2 (ja)
CN1337024A (zh) 跟踪数据的方法
JPH04350724A (ja) シフト量検出回路
JPS58109971A (ja) ベクトル演算処理方式
US4914581A (en) Method and apparatus for explicitly evaluating conditions in a data processor
JPH0378832A (ja) デ―タ処理装置
JPS63155264A (ja) ベクトル計算機用言語チユ−ニング処理方式
JPH05334465A (ja) 演算器・記憶装置・データ転送装置必要数計数装置
JPH0619700B2 (ja) 演算装置
JP2510295B2 (ja) レジスタ更新割出し制御装置
Wu et al. On detection of bounded global predicates
JPS6373335A (ja) 情報処理装置
KR960025145A (ko) 효율적인 퍼지로직 연산을 수행하기 위한 데이타처리시스템 및 그 방법
JPH0498421A (ja) マイクロ・プロセッサ
Matsuoka Nondeterministic linear logic
IChen et al. On detection of bounded global predicates
JPS6297031A (ja) 仮数部のビツト数整合方式
JPH0236423A (ja) 退避/復帰レジスタアドレス生成回路
JPS62160529A (ja) デ−タ処理装置
JPH022425A (ja) 多方向分岐演算の高速化方法
JPH02280239A (ja) プログラムダンプ出力方式
JPH0511982A (ja) 関数表による関数高速計算方式
JPH01303568A (ja) 発振回路の検出方式
JPH05181820A (ja) プログラム変換装置