JPH0644270B2 - ベクトルプロセッサの制御処理方式 - Google Patents

ベクトルプロセッサの制御処理方式

Info

Publication number
JPH0644270B2
JPH0644270B2 JP59121235A JP12123584A JPH0644270B2 JP H0644270 B2 JPH0644270 B2 JP H0644270B2 JP 59121235 A JP59121235 A JP 59121235A JP 12123584 A JP12123584 A JP 12123584A JP H0644270 B2 JPH0644270 B2 JP H0644270B2
Authority
JP
Japan
Prior art keywords
vector
register
vector operation
processing method
calculated
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
JP59121235A
Other languages
English (en)
Other versions
JPS6116362A (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.)
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 JP59121235A priority Critical patent/JPH0644270B2/ja
Publication of JPS6116362A publication Critical patent/JPS6116362A/ja
Publication of JPH0644270B2 publication Critical patent/JPH0644270B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトルプロセッサの制御処理方式、特に入力
されたデータのベクトル長を分割して1つのベクトル演
算を複数のベクトル演算に置き換えることによって、レ
ジスタの競合による実行時間の遅れおよびパイプライン
の空きを少なくすること等により、実質上実行速度の向
上を図るベクトルプロセッサの制御処理方式に関するも
のである。
〔従来の技術と発明が解決しようとする問題点〕
浮動小数点演算等の高速化を図るために、加算/減算、
乗算/除算を行うのに夫々の演算パイプライン機構を通
して行うベクトルプロセッサがある。該ベクトルプロセ
ッサは、例えば浮動小数点演算等を実行する過程を幾つ
かのステージに分け、当該ステージの数よりも充分長い
オペランドを順次つながる形でいわゆるパイプライン処
理を行うことにより、事実上1クロックに1つの演算処
理を行う態様に構成して高速に演算処理を行うものであ
る。
しかし、入力された一連の長いベクトル演算処理を一括
して一度に全部を実行する場合、当該一連の長いデータ
をレジスタにストアした後、パイプライン処理の実行を
開始する必要がある。そして、一連の演算処理が終了す
るまで当該レジスタを次の処理のために使用できない。
このため、当該一連の長いベクトル演算と関係のある他
のベクトル演算を行なおうとしても、当該ベクトル演算
が終了しない限り、他のベクトル演算を行うことが出来
ないというレジスタの競合が生じ易い問題点があった。
また、当該一連の長いベクトル演算が行われている間、
当該ベクトル演算を行うのに必要なパイプラインが占有
される状態となり、パイプラインの有効活用を図るいわ
ゆるスケジューリングを行う余地が少なくなってしま
い、使用されていない他のパイプラインがいわば空き状
態となり易い問題点があった。
〔問題点を解決するための手段〕
本発明は、前記問題点を解決することにあり、入力され
たデータのベクトル長を分割して1つのベクトル演算を
複数のベクトル演算に置き換えた形に形成し、パイプラ
インのスケジューリングを行い易い形に構成することに
より、レジスタの競合による実行時間の遅れを少なくす
ると共にパイプラインの有効利用を図り、実質上実行速
度の向上を図ることにある。そのため、本発明のベクト
ルプロセッサの制御処理方式は,並行して動作可能な複
数の同種のパイプラインを少なくともそなえたベクトル
プロセッサの制御処理方式において,入力されたデータ
のベクトル演算を行うビジー数を算出するビジー数算出
手段と,該ビジー数算出手段によって算出したビジー数
と入力されたデータのベクトル長とを用いてベクトル演
算すべきデータのための分割数を算出する分割数算出手
段と,該分割数算出手段によって算出された分割数に対
応するベクトル演算列を生成するベクトル演算列生成手
段とを備え,前記入力されたデータのベクトル演算列を
前記ベクトル演算列生成手段を用いて複数個のベクトル
演算列に生成し,該生成された複数個のベクトル演算列
をそれぞれ上記複数の同種のパイプラインに割り付けて
並行して実行されるように演算のスケジューリングを行
うことを特徴としている。
〔実施例〕
以下図面を参照しつつ本発明の実施例を詳細に説明す
る。
第1図は本発明を用いた1実施例構成図、第2図は第1
図図示本発明の1実施例構成に用いるレジスタの構成
図、第3図ないし第7図は第1図および第2図図示本発
明の1実施例構成の動作を説明する動作説明図、第8図
は本発明の具体的応用例を示す。
図中、1は主記憶装置、2は主記憶制御装置、3はチャ
ネル・プロセッサ、4は外部記憶装置、5はベクトル・
プロセッサ、6は汎用レジスタ、7はベクトル・レジス
タ、8はマスク・レジスタ、9はベクトル長レジスタを
表す。
第1図において、図中主記憶装置(MSU)1は、プロ
グラム、データ等を格納するためのものである。該主記
憶装置1は図示主記憶制御装置(MCU)2によってア
クセス制御されるものであり、図示チャネル・プロセッ
サ(CHP)3を介して大容量の外部記憶装置4に接続
されている。また、図示ベクトル・プロセッサ(VP)
5は、前記主記憶装置1に格納されているプログラム、
データ等を主記憶制御装置2を介して順次読み出し、例
えば前述した浮動小数点演算からなるベクトル演算処理
等を実行するためのものである。
第2図は第1図図示ベクトル・プロセッサ5内に設けら
れているレジスタの構成図を示す。
図中汎用レジスタ(FR)6は1つのデータを複数個格
納し、汎用的に使用するためのものである。
図中ベクトル・レジスタ(VR)7は、複数データを複
数組格納するためのものであり、後述する如く任意の要
素数からなるベクトルデータを夫々格納するためのもの
である。また、該ベクトル・レジスタ7は、必要に応じ
て任意の要素数からなる複数組のレジスタに再構成する
ことができる。例えば後述する要素数1024個からな
る8組、あるいは要素数128個からなる64組等の如
く所望のレジスタ構成を行うことができる。このため、
後述する如く1つのベクトル演算を複数のベクトル演算
に置き換えを行い、該置き換えを行った新たなベクトル
演算に合致したレジスタ構成を再配置することができ
る。このような再構成可能な当該レジスタ構成を採用し
ているため、レジスタの競合を少なくし、かつパイプラ
インの有効利用を図ることによってベクトル演算の速度
を向上させることができる。
図中マスク・レジスタ(MR)8は、前記ベクトル・レ
ジスタ7に格納したベクトルデータを演算処理する際
に、演算する個別のデータ(要素)に対してマスク、即
ち演算処理を行わせる、あるいは行わせないかについて
の指示を与えるためのものである。
図中ベクトル長レジスタ(VL)9は、前記ベクトル・
レジスタ7に格納したベクトルデータの長さを格納して
おくためのものである。
次ぎに第3図を参照して本発明の実施例に用いるVP
(ベクトルプロセッサ)用の FORTRANコンパイラを用い
た全体の流れを説明する。
図中ソースプログラムは、第1図図示外部記憶装置4
内に格納された元(ソース)となる FORTRAN文によって
記述されたプログラムを示す。
図中ソース解釈部は、図中ソースプログラムを読み
出し、文解釈した結果を中間コード(テキスト)に展開
するためものである。
図中記憶域割付け部は、図中ソースプログラム中に
出現する各種データに対して記憶領域(番地)を割り当
てるためのものである。
図中ベクトル化部は、図中ソースプログラム中のル
ープ構造を検出し、並列実行可能な部分を認識すると共
に前記中間コードの変更を行うためのものである。
図中中間コード最適化部は、前記図中ベクトル化部
によって求めた中間コードのレベルでVP(ベクトルプ
ロセッサ)のハードウエアを有効に利用するための最適
化を施すためのものである。これは、高速にベクトル演
算処理を行うために、例えば本発明に係わる長い一連の
データからなるベクトル演算を複数のベクトル演算の形
に最適化を施すことである。
図中レジスタ使用決定部は、前記図中中間コード最
適化部によって最適化が行われた中間コードに現われた
データに対して実際のレジスタ等の資源を割り当てるた
めのものである。
図中目的プログラム出力部は、前記中間コードを機械
命令語に変換して外部記憶装置4に出力すると共に命令
語レベルにおける最適化を施すためのものである。
図中目的プログラムは、図中目的プログラム出力部
によって変換処理および最適化処理が行われた機械命令
語を外部記憶装置4内に格納したものである。以上説明
した如くしてソースプログラムが、ベクトル演算を行う
に際して最適な機械命令語レベルの目的プログラムに変
換されたことになる。
第4図は第3図図中中間コード最適化部によって行わ
れる本発明に係わるベクトル長の最適化処理を説明する
動作説明図を示す。
図中はVL制御範囲のビジー数を求める状態を示す。
ここで、VL制御範囲は第2図図示ベクトル・レジスタ
7内に一回のベクトル長の設定によって動作可能なベク
トル命令の範囲を表す。例えば、後述する第8図(A)
あるいは(B)図示する範囲である。ビジー数はVL制
御範囲内で各種ベクトル演算を行う際に同時に使用する
ベクトル・レジスタの最大個数である。例えば第5図図
中直線を用いてベクトル・レジスタが使用されている状
態を表した場合に、図示および点線の時刻に最大3
個のレジスタが同時に使用されているから、当該VL制
御範囲のビジー数は“3”である。
図中はビジー数とベクトル長とから分割数(m)を求
める状態を示す。以下ベクトル長“90”、ビジー数
“3”の場合に、分割数“m”を算出する動作につい
て、第6図および第7図を用いて具体的に説明する。
第1に、 ビジー数≦レジスタ構成数 となるレジスタ構成を第6図から求める。
第6図はベクトル・レジスタの構成数と最大ベクトル長
との関係を表す図を示す。図中左欄に示す“レジスタ構
成”は、該欄の下に示す範囲内の数のベクトル・レジス
タ7が必要な場合に適用される。例えば図示“1〜8”
は1個ないし8個のベクトル・レジスタ7が必要な場合
に適用される範囲を示す。図中右欄“最大ベクトル長”
は、ベクトル・レジスタ7に格納することが可能な最大
の要素数を示す。例えば“VP200”システムを用
い、レジスタ構成を“1〜8”とした場合、図示“10
24”の要素を最大ベクトル長として夫々格納すること
ができる。当然ながら、レジスタ構成を多くした場合、
例えば“33〜64”のレジスタ構成とした場合、前記
最大ベクトル長は反比例した形で“128”の要素を最
大ベクトル長として夫々格納することができる。従っ
て、本具体例にいうビジー数が“3”(同時に使用され
るベクトル・レジスタ7の最大数が3)であるから、第
6図図示“VP200”システムを用いたレジスタ構成
数(分割数)は“8”となる。
第2に、ベクトル長の約数であって、かつ第1のステッ
プで求めたベクトル・レジスタ7のレジスタ構成数(分
割数)よりも小さい数を求める。
第7図はベクトル長の約数とベクトル長“x”との関係
を示す。本具体例にいうベクトル長“900”の場合、
ベクトル長の約数は図示の如く“2”、“3”、
“4”、“5”および“6”が得られる。
第3に、前記第6図図示レジスタ構成から得られた最大
のベクトル長を“l”とすると、 l≧x・・・・・・・・・・・・・・(2) となる最大の分割数“m”の値を求める。本具体例の場
合には、既述した如くl=1024であるから、最大の
分割数である“m”が“6”の場合にx=150とな
り、式(2)の条件を満足する。従って、求める分割数
“m”は“6”となる。
尚、第3のステップで、 l<x・・・・・・・・・・・・・・(3) となった場合、即ち第6図図示レジスタ構成から得られ
た最大のベクトル長“l”よりも該ベクトル長“x”が
大きい場合には、該ベクトル長“x”の約数でもって除
算した値が最大のベクトル長“l”以下となる前記約数
の内、最小の数を分割数“m”として求める。これによ
り、元のベクトルデータがベクトル・レジスタ7に格納
し得る形のベクトル長に分割されることになる。
第4図図中はVL制御範囲内の演算列をm個生成する
状態を示す。これは、前記求めた分割数“m”に対応す
る処理を行うための演算命令を生成することを意味す
る。例えば第8図(A)に分割前の演算命令を示し、第
8図(B)に説明を簡単にするために分割数“m”を
“2”とした場合の分割後の演算命令を示す。即ち、ソ
ースプログラム Z(x)=(A(*)+B(*))*C(*) をベクトル化した前述した中間コードの形として例えば
第8図(A)が得られる。該得られた中間コードを2分
割した形で記述すると第8図(B)図示の如き形とな
る。図中“VL=900”、“VL=450”はベクト
ル長を夫々示す。
〔発明の効果〕
以上説明した如く、本発明によれば、ベクトル長を分割
して1つのベクトル演算を複数のベクトル演算に置き換
えた形に形成し、パイプラインのスケジューリングを行
い易い形に構成しているため、ベクトル・レジスタの競
合による実行時間の遅れを少なくすると共にパイプライ
ンの有効利用を図り、実質上実行速度の向上を図ること
が可能となる。
【図面の簡単な説明】
第1図は本発明を用いた1実施例構成図、第2図は第1
図図示本発明の1実施例構成に用いるレジスタの構成
図、第3図ないし第7図は第1図および第2図図示本発
明の1実施例構成の動作を説明する動作説明図、第8図
は本発明の具体的応用例を示す。 図中、1は主記憶装置、2は主記憶制御装置、3はチャ
ネル・プロセッサ、4は外部記憶装置、5はベクトル・
プロセッサ、6は汎用レジスタ、7はベクトル・レジス
タ、8はマスク・レジスタ、9はベクトル長レジスタを
表す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鈴木 一彦 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭58−149565(JP,A) 「日経エレクトロニクス」1983年4月11 日号、PP151−152

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】並行して動作可能な複数の同種のパイプラ
    インを少なくともそなえたベクトルプロセッサの制御処
    理方式において,入力されたデータのベクトル演算を行
    うビジー数を算出するビジー数算出手段と,該ビジー数
    算出手段によって算出したビジー数と入力されたデータ
    のベクトル長とを用いてベクトル演算すべきデータのた
    めの分割数を算出する分割数算出手段と,該分割数算出
    手段によって算出された分割数に対応するベクトル演算
    列を生成するベクトル演算列生成手段とを備え,前記入
    力されたデータのベクトル演算列を前記ベクトル演算列
    生成手段を用いて複数個のベクトル演算列に生成し,該
    生成された複数個のベクトル演算列をそれぞれ上記複数
    の同種のパイプラインに割り付けて並行して実行される
    ように演算のスケジューリングを行うことを特徴とする
    ベクトルプロセッサの制御処理方式。
JP59121235A 1984-06-13 1984-06-13 ベクトルプロセッサの制御処理方式 Expired - Lifetime JPH0644270B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59121235A JPH0644270B2 (ja) 1984-06-13 1984-06-13 ベクトルプロセッサの制御処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59121235A JPH0644270B2 (ja) 1984-06-13 1984-06-13 ベクトルプロセッサの制御処理方式

Publications (2)

Publication Number Publication Date
JPS6116362A JPS6116362A (ja) 1986-01-24
JPH0644270B2 true JPH0644270B2 (ja) 1994-06-08

Family

ID=14806254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59121235A Expired - Lifetime JPH0644270B2 (ja) 1984-06-13 1984-06-13 ベクトルプロセッサの制御処理方式

Country Status (1)

Country Link
JP (1) JPH0644270B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098265B2 (en) * 2012-07-11 2015-08-04 Arm Limited Controlling an order for processing data elements during vector processing
KR101893814B1 (ko) * 2014-03-26 2018-10-04 인텔 코포레이션 3 소스 피연산자 부동 소수점 가산 프로세서, 방법, 시스템, 및 명령어

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103462B2 (ja) * 1982-02-27 1994-12-14 富士通株式会社 ベクトル・レングス制御範囲分割処理方式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「日経エレクトロニクス」1983年4月11日号、PP151−152

Also Published As

Publication number Publication date
JPS6116362A (ja) 1986-01-24

Similar Documents

Publication Publication Date Title
CN111381880B (zh) 一种处理器、介质和处理器的操作方法
CN111381939B (zh) 多线程处理器中的寄存器文件
US5903769A (en) Conditional vector processing
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
US20070271325A1 (en) Matrix multiply with reduced bandwidth requirements
Kulkarni et al. Systolic processing and an implementation for signal and image processing
US5247696A (en) Method for compiling loops having recursive equations by detecting and correcting recurring data points before storing the result to memory
US6026486A (en) General purpose processor having a variable bitwidth
US5770894A (en) Parallel processing method having arithmetical conditions code based instructions substituted for conventional branches
JP2518293B2 (ja) デ−タフロ−プロセツサ
US4598358A (en) Pipelined digital signal processor using a common data and control bus
Anantharaman et al. A hardware accelerator for speech recognition algorithms
Kratz et al. A microprogrammed approach to signal processing
JPS6314378B2 (ja)
JPH0644270B2 (ja) ベクトルプロセッサの制御処理方式
US8479179B2 (en) Compiling method, compiling apparatus and computer system for a loop in a program
JPH07110769A (ja) Vliw型計算機
JP5786719B2 (ja) ベクトルプロセッサ
JP2654451B2 (ja) データ出力方法
JPH0241562A (ja) ベクトル演算列分割処理方式
JPH06103462B2 (ja) ベクトル・レングス制御範囲分割処理方式
JPH03135630A (ja) 命令スケジューリング方式
JPS5925264B2 (ja) ベクトル命令処理方式
Schauble Vector Computing: An Introduction
JPS6252899B2 (ja)