JPS62197832A - ベクトル処理装置 - Google Patents
ベクトル処理装置Info
- Publication number
- JPS62197832A JPS62197832A JP61040785A JP4078586A JPS62197832A JP S62197832 A JPS62197832 A JP S62197832A JP 61040785 A JP61040785 A JP 61040785A JP 4078586 A JP4078586 A JP 4078586A JP S62197832 A JPS62197832 A JP S62197832A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- processing
- instruction
- processing device
- instructions
- 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.)
- Pending
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はベクトル処理装置に係り、特にハードウェア論
理が組み込まれていないベクトル命令の処理を実現する
エミュレーション機能に関する。
理が組み込まれていないベクトル命令の処理を実現する
エミュレーション機能に関する。
従来、汎用計算機においては、マイクロプログラムによ
って多くの命令が実行されている。このマイクロプログ
ラムによる命令のインプリメンテーション、およびエミ
ュレータプログラムについては、イー・アイ・オーガニ
ック、ジエー・ニー・ヒンズらによって、インタプリテ
ィング計算機(1978)の第1頁から第5頁(E 、
I 、Organick、 J 、 A 、 Hin
ds、 ” I nterpreting Machi
nes”。
って多くの命令が実行されている。このマイクロプログ
ラムによる命令のインプリメンテーション、およびエミ
ュレータプログラムについては、イー・アイ・オーガニ
ック、ジエー・ニー・ヒンズらによって、インタプリテ
ィング計算機(1978)の第1頁から第5頁(E 、
I 、Organick、 J 、 A 、 Hin
ds、 ” I nterpreting Machi
nes”。
North−Holland、 Inc、、 (197
8) PPI −5)において論じられている。
8) PPI −5)において論じられている。
一方、科学技術計算の高速処理のために、いく種類かの
ベクトル処理装置が開発されている。この種のベクトル
処理装置は、高速計算を実現するため独自のアーキテク
チャを持っており、命令セットの互換性はない。
ベクトル処理装置が開発されている。この種のベクトル
処理装置は、高速計算を実現するため独自のアーキテク
チャを持っており、命令セットの互換性はない。
ベクトル処理装置の普及によって多くのプログラムを異
機種のベクトル処理装置で実行する機会が増えるにつれ
、命令セットの互換性の必要が高っている。たとえば、
あるベクトル処理装置Aで単精度計算を行っていたプロ
グラムを、他のベクトル処理装置Bで実行する時、ベク
トル処理装置Bに単精度計算命令がなく倍精度計算命令
のみしか用意されていないことがあり得る。この場合、
ベクトル処理装置!1Bのコンパイラによって演算処理
を単純に倍精度のベクトル命令に変換すると。
機種のベクトル処理装置で実行する機会が増えるにつれ
、命令セットの互換性の必要が高っている。たとえば、
あるベクトル処理装置Aで単精度計算を行っていたプロ
グラムを、他のベクトル処理装置Bで実行する時、ベク
トル処理装置Bに単精度計算命令がなく倍精度計算命令
のみしか用意されていないことがあり得る。この場合、
ベクトル処理装置!1Bのコンパイラによって演算処理
を単純に倍精度のベクトル命令に変換すると。
計算の精度が異なるために、結果が異なる場合が起る。
特に非線形計算では1反復計算を数多く行うため、結果
の相異が拡大されて定性的な結論が逆転してしまう場合
ももずらしいことではない。
の相異が拡大されて定性的な結論が逆転してしまう場合
ももずらしいことではない。
まだ計算精度の相異がデータ表現手段の限界に関係する
と、単精度ならず実行でき計算が倍精度ではオーバフロ
ー等が発生し実行できなくなることがある。またこの逆
のケースが起りうる。
と、単精度ならず実行でき計算が倍精度ではオーバフロ
ー等が発生し実行できなくなることがある。またこの逆
のケースが起りうる。
このように、計算手段の相異が、計算精度、計算順序の
相異、データ表現のちがいによって、計算の実現可能性
まで変えてしまうことがあり得る。
相異、データ表現のちがいによって、計算の実現可能性
まで変えてしまうことがあり得る。
このため、ベクトル処理装置においても、他機種のエミ
ュレーションする必要性が高まりつ\ある。
ュレーションする必要性が高まりつ\ある。
従来のマイクロプログラム制御による他機種の命令エミ
ュレーション方式は、命令のデコードピッチを低下させ
るためベクトル処理装置にそのまN適用すると処理装置
の性能低下を招く、ベクトル処理装置を用いる主目的は
その高速性を利用することにあるから、エミュレーショ
ン操作による性能低下は極小化する必要がある。他機種
(以下、ターゲットマシンという)のベクトル命令をベ
クトル処理装置(以下、ホストマシンという)の単−又
は複数のベクトル命令で実行しようとする場合、このよ
うな処理は、命令解読回答がターゲットマシンのベクト
ル命令を解読した時にホストマシンのベクトル命令の組
合せに変換することだけでは達成されない。
ュレーション方式は、命令のデコードピッチを低下させ
るためベクトル処理装置にそのまN適用すると処理装置
の性能低下を招く、ベクトル処理装置を用いる主目的は
その高速性を利用することにあるから、エミュレーショ
ン操作による性能低下は極小化する必要がある。他機種
(以下、ターゲットマシンという)のベクトル命令をベ
クトル処理装置(以下、ホストマシンという)の単−又
は複数のベクトル命令で実行しようとする場合、このよ
うな処理は、命令解読回答がターゲットマシンのベクト
ル命令を解読した時にホストマシンのベクトル命令の組
合せに変換することだけでは達成されない。
ベクトル処理装置にはベクトル命令起動方式に関して2
種類の装置が開発されている。第1の方式はCRAY−
1(リチャード・エム・ラッセル。
種類の装置が開発されている。第1の方式はCRAY−
1(リチャード・エム・ラッセル。
rCRAY−1コンピユータシステム」、汎用大型コン
ピュータpp283〜295 (1982))で採用
されているようなスカラ、ベクトル命令の混在形を単一
の命令解読回路で解読し命令の実行を制御する方式であ
る。第2の方式はS−810(小高、小林、河辺、長島
、日経エレクトロニクスNQ314.PP159〜18
4 (1983))で採用されているスカシ、ベクトル
の2種類の命令を2個の命令解読回路で解読する方式で
ある。
ピュータpp283〜295 (1982))で採用
されているようなスカラ、ベクトル命令の混在形を単一
の命令解読回路で解読し命令の実行を制御する方式であ
る。第2の方式はS−810(小高、小林、河辺、長島
、日経エレクトロニクスNQ314.PP159〜18
4 (1983))で採用されているスカシ、ベクトル
の2種類の命令を2個の命令解読回路で解読する方式で
ある。
第1の方式にはスカシ命令とベクトル命令が混在してい
るため、スカシ処理とベクトル処理の順序性保証をはじ
めとする2系統の命令間の制御が容易に実現できる特徴
がある。第2の方式はスカシとベクトル命令の命令解読
部が分離されているので、2種類の命令は独立に実行で
き並列処理が実現できる。反面、スカシとベクトル処理
部が分離されているため、スカシ処理部によってベクト
ル処理部を起動する必要がある。また、このベクトル処
理部起動に際してベクトル処理開始時に必要な種々の情
報に全てスカシ処理部がセットアツプする。必要がある
。このようなベクトル処理方式の基本にもとすく相異に
より、ハードウェアの命令変換機能だけではエミュレー
ションすることができない。
るため、スカシ処理とベクトル処理の順序性保証をはじ
めとする2系統の命令間の制御が容易に実現できる特徴
がある。第2の方式はスカシとベクトル命令の命令解読
部が分離されているので、2種類の命令は独立に実行で
き並列処理が実現できる。反面、スカシとベクトル処理
部が分離されているため、スカシ処理部によってベクト
ル処理部を起動する必要がある。また、このベクトル処
理部起動に際してベクトル処理開始時に必要な種々の情
報に全てスカシ処理部がセットアツプする。必要がある
。このようなベクトル処理方式の基本にもとすく相異に
より、ハードウェアの命令変換機能だけではエミュレー
ションすることができない。
次に、ターゲットマシンの1ベクトル命令機能をホスト
マシンの複数の命令によってサポートする時、ホストマ
シンの中間結果を保持する手段が必要である。ベクトル
処理装置は、命令をベクトルレジスタ間の処理として実
行する。このベクトルレジスタはオブジェクトプログラ
ムから書込み読出しが制御されている。従って、1ベク
トル命令を複数のベクトル命令で表現するとき中間結果
をベクトルレジスタに書込む場合、このベクトルレジス
タはオブジェクトプログラムで用いないレジスタ番号の
レジスタを用いる必要がある。ベクトルレジスタを増設
して、増加分をソ、フトウェアから見せぬように制御を
行い、この増加分のべりトルレジスタを用いて、ベクト
ル命令のエミュレーションを行うことは可能である。し
かし、ベクトルレジスタはベクトル処理装置の性能に最
も大きく関与するので、実現できる最も進歩した実装系
を用いて設計されており、処理装置の原価に対する割合
は小さくない。従って、ベクトルレジスタを増加し、こ
れをエミュレーション機能にだけ使用することは論理的
には可能であっても処理装置の原価を増加させるので適
切ではない。
マシンの複数の命令によってサポートする時、ホストマ
シンの中間結果を保持する手段が必要である。ベクトル
処理装置は、命令をベクトルレジスタ間の処理として実
行する。このベクトルレジスタはオブジェクトプログラ
ムから書込み読出しが制御されている。従って、1ベク
トル命令を複数のベクトル命令で表現するとき中間結果
をベクトルレジスタに書込む場合、このベクトルレジス
タはオブジェクトプログラムで用いないレジスタ番号の
レジスタを用いる必要がある。ベクトルレジスタを増設
して、増加分をソ、フトウェアから見せぬように制御を
行い、この増加分のべりトルレジスタを用いて、ベクト
ル命令のエミュレーションを行うことは可能である。し
かし、ベクトルレジスタはベクトル処理装置の性能に最
も大きく関与するので、実現できる最も進歩した実装系
を用いて設計されており、処理装置の原価に対する割合
は小さくない。従って、ベクトルレジスタを増加し、こ
れをエミュレーション機能にだけ使用することは論理的
には可能であっても処理装置の原価を増加させるので適
切ではない。
現在のベクトル処理装置は、いずれもソフトウェア資源
としてコンパイラを備えている。ターゲットマシンのベ
クトル処理をエミュレーションするのに、ベクトル処理
装置の命令解読回路の命令変換作用まで該コンパイラで
行う方式も考えられる。しかし、全てのコンパイラで行
う方式を採用すると、ソースプログラムの規定している
処理をホストマシンのベクトル命令の組合せに変換する
場合、コンパイラの処理構造が著しく複雑になると同時
に出力コードの量も増大する。しかもターゲットマシン
の毎にコンパイラに新しい機能を追加する必要がある。
としてコンパイラを備えている。ターゲットマシンのベ
クトル処理をエミュレーションするのに、ベクトル処理
装置の命令解読回路の命令変換作用まで該コンパイラで
行う方式も考えられる。しかし、全てのコンパイラで行
う方式を採用すると、ソースプログラムの規定している
処理をホストマシンのベクトル命令の組合せに変換する
場合、コンパイラの処理構造が著しく複雑になると同時
に出力コードの量も増大する。しかもターゲットマシン
の毎にコンパイラに新しい機能を追加する必要がある。
従って、システムアーキテクチャとして適切な構成とは
いえない。
いえない。
本発明の目的は、ベクトル処理装置において、異機種の
ベクトル命令を実行する論理回路が組込まれていない時
に、異機種で行われていたベクトル処理を高速に実行す
る手段をコンパイラの処理を含めて実施できるベクトル
処理装置に提供することにある。
ベクトル命令を実行する論理回路が組込まれていない時
に、異機種で行われていたベクトル処理を高速に実行す
る手段をコンパイラの処理を含めて実施できるベクトル
処理装置に提供することにある。
本発明は、ベクトル処理装置において、ターゲットマシ
ンで実行していたベクトル処理を、コンパイラのクロス
コンパイル機能とベクトル処理装置のベクトル命令解読
回路に命令変換機能を具備させることによって実現する
ものである。
ンで実行していたベクトル処理を、コンパイラのクロス
コンパイル機能とベクトル処理装置のベクトル命令解読
回路に命令変換機能を具備させることによって実現する
ものである。
ベクトル処理装置がソフトウェア資源として備えている
。コンパイラは、ソースプログラム上に記述されている
D○ループを検出し、Doループの処理をベクトル命令
列に変換する。この時、ベクトル処理装置に固有のベク
トル命令起動処理の命令コードを出力する。この処理を
行う際、コンパイラはホストとしてのベクトル処理装置
のベクトルレジスタ本数、ベクトル命令セットを参照す
る。従って、ホストマシンでベクトル処理装置を行うの
に十分な数のベクトルレジスタが実装されているならば
、コンパイルを行う場合、実装されているベクトルレジ
スタの本数よりも少い本数のベクトルレジスタでコンパ
イルするように指定し、ターゲットマシンのベクトル命
令セットでコンパイルすると、得られたオブジェクトコ
ードは、ベクトル命令起動方式に関してはホストマシン
の方式と同じで、ベクトル命令列自身はターゲットマシ
ンのそれと同じ形式になる。たゾし、主記憶を参照する
ベクトル命令は、主機憶のアドレッシングに関するオペ
ランド部分だけはホストマシンのそれに合致させる必要
がある。ターゲットマシンに比ベクトル処理の実装され
ているベクトルレジスタの本数が少ない場合、エミュレ
ーションするターゲットマシンのベクトル命令の中間結
果は主機憶に格納し、必要に応じて主記憶からローディ
ングする必要がある。
。コンパイラは、ソースプログラム上に記述されている
D○ループを検出し、Doループの処理をベクトル命令
列に変換する。この時、ベクトル処理装置に固有のベク
トル命令起動処理の命令コードを出力する。この処理を
行う際、コンパイラはホストとしてのベクトル処理装置
のベクトルレジスタ本数、ベクトル命令セットを参照す
る。従って、ホストマシンでベクトル処理装置を行うの
に十分な数のベクトルレジスタが実装されているならば
、コンパイルを行う場合、実装されているベクトルレジ
スタの本数よりも少い本数のベクトルレジスタでコンパ
イルするように指定し、ターゲットマシンのベクトル命
令セットでコンパイルすると、得られたオブジェクトコ
ードは、ベクトル命令起動方式に関してはホストマシン
の方式と同じで、ベクトル命令列自身はターゲットマシ
ンのそれと同じ形式になる。たゾし、主記憶を参照する
ベクトル命令は、主機憶のアドレッシングに関するオペ
ランド部分だけはホストマシンのそれに合致させる必要
がある。ターゲットマシンに比ベクトル処理の実装され
ているベクトルレジスタの本数が少ない場合、エミュレ
ーションするターゲットマシンのベクトル命令の中間結
果は主機憶に格納し、必要に応じて主記憶からローディ
ングする必要がある。
このように、ベクトル処理のクロスコンパイルによって
生成してオブジェクトコードと、ベクトル処理装置の命
令解読回路におけるターゲットマシン用ベクトル命令の
複数ホストマシンベクトル命令変換機能によって、ベク
トル処理装置のエミュレーションが可能になる。
生成してオブジェクトコードと、ベクトル処理装置の命
令解読回路におけるターゲットマシン用ベクトル命令の
複数ホストマシンベクトル命令変換機能によって、ベク
トル処理装置のエミュレーションが可能になる。
本発明のベクトル装置におけるコンパイラとベクトル命
令解読回路の動作概要は以下の通りである。
令解読回路の動作概要は以下の通りである。
コンパイラ
(1)ベクトル処理基準処理をホストマシンの仕様に合
致させたオブジェクトコードを出力する。
致させたオブジェクトコードを出力する。
(2)主記憶参照を行うベクトル命令のアドレス指定方
式に関しては、ホストマシンの仕様に合わせたオブジェ
クトコードを出力する。
式に関しては、ホストマシンの仕様に合わせたオブジェ
クトコードを出力する。
(3)主記憶参照を行うベクトル命令のアドレス指定方
式に関する以外の処理をベクトル演算処理部分は、ター
ゲットマシンの仕様に合わせたオブジェクトコードを出
力する。
式に関する以外の処理をベクトル演算処理部分は、ター
ゲットマシンの仕様に合わせたオブジェクトコードを出
力する。
(4)ホストマシンに実装されているベクトルレジスタ
の本数がターゲットマシンのそれより多いならば、目的
とするベクトル処理実行のために実装されているベクト
ルレジスタよりも本数を使用してオブジェクトコードを
出力する。
の本数がターゲットマシンのそれより多いならば、目的
とするベクトル処理実行のために実装されているベクト
ルレジスタよりも本数を使用してオブジェクトコードを
出力する。
(5)ホストマシンに実装されているベクトルレジスタ
の本数がターゲットマシンのそれより少ならば、目的と
するベクトル処理実行のために、ターゲットマシンのベ
クトルレジスタを介する処理の一部をホストマシンでは
主記憶を介する処理に変換し、この時必要となる主記憶
を参照するベクトル命令をコンパイラがオブジェクトコ
ード中に出力する。
の本数がターゲットマシンのそれより少ならば、目的と
するベクトル処理実行のために、ターゲットマシンのベ
クトルレジスタを介する処理の一部をホストマシンでは
主記憶を介する処理に変換し、この時必要となる主記憶
を参照するベクトル命令をコンパイラがオブジェクトコ
ード中に出力する。
ベクトル命令解読回路
(1)ターゲットマシンのベクトル命令がホストマシン
のベクトル命令セットに存在するならば、オペレーショ
ンコードの変換を行う。
のベクトル命令セットに存在するならば、オペレーショ
ンコードの変換を行う。
(2)ターゲットマシンのベクトル命令がホストマシン
のベクトル命令セット内に存在しない場合、当該ベクト
ル命令を、複数のホストマシンのベクトル命令の組合せ
と、コンパイラの使用していないベクトルレジスタを使
用する命令列に変換する。
のベクトル命令セット内に存在しない場合、当該ベクト
ル命令を、複数のホストマシンのベクトル命令の組合せ
と、コンパイラの使用していないベクトルレジスタを使
用する命令列に変換する。
以下、本発明の一実施例について図面により説明する。
ベクトル処理装置は、ターゲットマシンのベクトル処理
を命令解読回路の命令変換機能によってホストマシンの
ベクトル命令セットに変換する。
を命令解読回路の命令変換機能によってホストマシンの
ベクトル命令セットに変換する。
たとえば、オブジェクトプログラム中に、Vector
Elamtwise Add Single VR2
←VRO+VR1なるコードが出力されていて、ホスト
マシンでこの単精度加算命令がサポートされていなかっ
たとする。この時、単精度加算命令とよく似た作用を持
つ命令たとえば倍精度加算命令と論理演算命令等とワー
ク用のベクトルレジスタを用いて、■Vector E
lcsytwise Add Double VR30
←VRO+VR1■Vector Elaentwis
e ANDVR31←VR30&、X’0OOOOOO
OFF−F’■Vector E1eM!ntwise
Graater ThanVMR32(−VR31:
X’000000007F・F’■Vector El
ementvise Add Double (Vec
tor Mask=VR32)VR33←VR30+X
’000000010・・・−・−0’■Vecto
r EleIIentwise ANDVRO4−VR
33& ’FFFFFFFF0−・−・−O’のような
ホストマシンのベクトル命令列に変換す。
Elamtwise Add Single VR2
←VRO+VR1なるコードが出力されていて、ホスト
マシンでこの単精度加算命令がサポートされていなかっ
たとする。この時、単精度加算命令とよく似た作用を持
つ命令たとえば倍精度加算命令と論理演算命令等とワー
ク用のベクトルレジスタを用いて、■Vector E
lcsytwise Add Double VR30
←VRO+VR1■Vector Elaentwis
e ANDVR31←VR30&、X’0OOOOOO
OFF−F’■Vector E1eM!ntwise
Graater ThanVMR32(−VR31:
X’000000007F・F’■Vector El
ementvise Add Double (Vec
tor Mask=VR32)VR33←VR30+X
’000000010・・・−・−0’■Vecto
r EleIIentwise ANDVRO4−VR
33& ’FFFFFFFF0−・−・−O’のような
ホストマシンのベクトル命令列に変換す。
る。この変換ではワークベクトルレジスタは、VR30
〜33(含マスクレジスタ)が用いられている。また、
この変換では単精度加算を倍精度の加算と四捨五入によ
って表現している。
〜33(含マスクレジスタ)が用いられている。また、
この変換では単精度加算を倍精度の加算と四捨五入によ
って表現している。
このようにターゲットマシンのベクトル命令をホストマ
シンのベクトル命令列のセットに写像することによって
目的とするベクトル処理を実現することができる。
シンのベクトル命令列のセットに写像することによって
目的とするベクトル処理を実現することができる。
次に、この写像方式の性能上の問題について考慮する。
ターゲットマシンのベクトル命令をホストマシンのベク
トル命令列に変換する際、一般にベクトル処理装置のベ
クトル命令解読ピッチは低下する。
トル命令列に変換する際、一般にベクトル処理装置のベ
クトル命令解読ピッチは低下する。
ベクトル処理装置のエミュレーション処理に於いて特に
留意する必要のあるのは処理性能の低下である。従って
、ベクトル命令解読ピッチの低下のベクトル処理性能に
及ぼす影響を考慮する必要がある。
留意する必要のあるのは処理性能の低下である。従って
、ベクトル命令解読ピッチの低下のベクトル処理性能に
及ぼす影響を考慮する必要がある。
第2図はスカシ、ベクトル両処理の性質を時間と命令処
理の相関図によって表示したものである。
理の相関図によって表示したものである。
第2図のデコードラインとは命令のデコードステージの
先頭を連結した線分であり、命令実行ラインとは命令の
実行ステージの終端を連結した線分である。第2図(a
)はスカラ命令群がスカシ処理装置の命令パイプライン
制御によって逐次的に処理されていくことを示す。第2
図(b)はベクトル処理のデコードラインと命令実行ラ
インを示している。
先頭を連結した線分であり、命令実行ラインとは命令の
実行ステージの終端を連結した線分である。第2図(a
)はスカラ命令群がスカシ処理装置の命令パイプライン
制御によって逐次的に処理されていくことを示す。第2
図(b)はベクトル処理のデコードラインと命令実行ラ
インを示している。
ベクトル処理装置とスカシ処理の相異は、第2図に示す
ようにベクトル処理に於いては先出の命令処理の完了が
後出の命令処理の完了よりも前であるとは限らないこと
、ベクトル処理の命令デコードラインと実行ラインがス
カシ処理の場合よりも離れていることである。
ようにベクトル処理に於いては先出の命令処理の完了が
後出の命令処理の完了よりも前であるとは限らないこと
、ベクトル処理の命令デコードラインと実行ラインがス
カシ処理の場合よりも離れていることである。
ベクトル命令列がn個のベクトル命令から構成されると
すると、ベクトル命令をデコードするのに要する時間は
約nマシンサイクル程度である。
すると、ベクトル命令をデコードするのに要する時間は
約nマシンサイクル程度である。
一方、当該ベクトル命令を実行するのに必要な時間はベ
クトル処理長をQとすると、ベクトル処理装置の資源が
十分に実装されている場合でも、n串Ωマシンサイクル
となる。一般にベクトル処理装置の資源は高々数個であ
るからnに比べて十分水さい、故に、ベクトル命令処理
時間)ベクトル命令解読時間なる関係が成立する。この
ような条件ではベクトル命令は解読が済んでも処理装置
の資源が空(まで待されている可能性が高い、従って、
ベクトル処理装置の命令解読処理が多少遅くなっても、
ベクトル処理が著しい遅延を起こすことはないと考えら
れる。しかし、ベクトル処理速度へのベクトル解読処理
のピッチ低下の影響が極小化されるように、ベクトル命
令続出制御をパイプライン化する必要がある。
クトル処理長をQとすると、ベクトル処理装置の資源が
十分に実装されている場合でも、n串Ωマシンサイクル
となる。一般にベクトル処理装置の資源は高々数個であ
るからnに比べて十分水さい、故に、ベクトル命令処理
時間)ベクトル命令解読時間なる関係が成立する。この
ような条件ではベクトル命令は解読が済んでも処理装置
の資源が空(まで待されている可能性が高い、従って、
ベクトル処理装置の命令解読処理が多少遅くなっても、
ベクトル処理が著しい遅延を起こすことはないと考えら
れる。しかし、ベクトル処理速度へのベクトル解読処理
のピッチ低下の影響が極小化されるように、ベクトル命
令続出制御をパイプライン化する必要がある。
このように、ターゲットマシンのベクトル命令をホスト
マシンのベクトル命令列にセットに写像する場合、ベク
トル処理装置の計算資源が命令変換処理のために、資源
起動遅延を起すことなく、命令変換アルゴリズムの持つ
固有の性能を損うことはない。
マシンのベクトル命令列にセットに写像する場合、ベク
トル処理装置の計算資源が命令変換処理のために、資源
起動遅延を起すことなく、命令変換アルゴリズムの持つ
固有の性能を損うことはない。
本発明のベクトル処理装置におけるベクトル命令解読部
の命令変換回路の一実施例を第1図に示す、第1図にお
いては、ベクトル命令はスカラ命令とは別個に解読され
るものとする。
の命令変換回路の一実施例を第1図に示す、第1図にお
いては、ベクトル命令はスカラ命令とは別個に解読され
るものとする。
スカラ命令解読部(図示せず)でベクトル処理起動命令
を検出すると、パス50を介してレジスタ1oにベクト
ル命令列の先頭アドレスがセットされる。該先頭アドレ
スは次のタイミングでカウンタ6にセットされる。以後
、セレクタ11はパス51と52を接続するように、ス
カラ命令解読部がパス53を介して制御する。レジスタ
12にはターゲットマシンのベクトル命令語長が格納さ
れている。カウンタ6は毎マシンサイクル、レジスタ1
2上の値を用いてベクトル命令アドレスをカウントし、
該ベクトル命令アドレスをレジスタ13にセットする。
を検出すると、パス50を介してレジスタ1oにベクト
ル命令列の先頭アドレスがセットされる。該先頭アドレ
スは次のタイミングでカウンタ6にセットされる。以後
、セレクタ11はパス51と52を接続するように、ス
カラ命令解読部がパス53を介して制御する。レジスタ
12にはターゲットマシンのベクトル命令語長が格納さ
れている。カウンタ6は毎マシンサイクル、レジスタ1
2上の値を用いてベクトル命令アドレスをカウントし、
該ベクトル命令アドレスをレジスタ13にセットする。
このベクトル命令アドレス生成はパス54を介してカウ
ント動作抑止が指示されるまで続けられる。
ント動作抑止が指示されるまで続けられる。
レジスタ13よりパス51に送出されたベクトル命令ア
ドレスは主記憶1に送られる。該アドレスが指示した主
記憶1上のアドレスからベクトル命令が読出され、パス
55.56にそれぞれコマンド、ベクトル命令が送出さ
れる。これらのコマンド、ベクトル命令はレジスタ14
.15にセットされる。レジスタ15上のベクトル命令
のオペレーションコード部の情報はRAM2.3にアド
レス情報として送出される。RAM2はターゲットマシ
ンのベクトル命令が何個のホストマシンのベクトル命令
によって表わされるかという情報を保持している。RA
M3はRAM4上に格納されているターゲットマシンの
ベクトル命令のホストマシンの命令による展開形のアド
レス情報を保持している。
ドレスは主記憶1に送られる。該アドレスが指示した主
記憶1上のアドレスからベクトル命令が読出され、パス
55.56にそれぞれコマンド、ベクトル命令が送出さ
れる。これらのコマンド、ベクトル命令はレジスタ14
.15にセットされる。レジスタ15上のベクトル命令
のオペレーションコード部の情報はRAM2.3にアド
レス情報として送出される。RAM2はターゲットマシ
ンのベクトル命令が何個のホストマシンのベクトル命令
によって表わされるかという情報を保持している。RA
M3はRAM4上に格納されているターゲットマシンの
ベクトル命令のホストマシンの命令による展開形のアド
レス情報を保持している。
RAM2から読出されたデータはレジスタ16にセット
された後、パス57を経由して比較回路7に入力される
。
された後、パス57を経由して比較回路7に入力される
。
一方、レジスタ14にセットされたコマンド信号(この
情報はベクトル命令が主記憶から読出さたことを示して
いる)は、パス59を通って、フリップフロップ19を
セットする。該フリップフロップ19の出力はパス54
を介して、ベクトル命令アドレスカウンタ6の動作を中
断させる。
情報はベクトル命令が主記憶から読出さたことを示して
いる)は、パス59を通って、フリップフロップ19を
セットする。該フリップフロップ19の出力はパス54
を介して、ベクトル命令アドレスカウンタ6の動作を中
断させる。
レジスタ14上のコマンドは、また、RAM 2 。
3の続出時間分レジスタ17で遅延させられた後、パス
58を通ってカウンタ5を起動する。カウンタ5は毎サ
イクル+1され、その出力はレジスタ18を介して比較
回路7に送られる。カウンタ5のカウント値がレジスタ
16の値に一致すると。
58を通ってカウンタ5を起動する。カウンタ5は毎サ
イクル+1され、その出力はレジスタ18を介して比較
回路7に送られる。カウンタ5のカウント値がレジスタ
16の値に一致すると。
比較回路7の出力信号が′″1″となり、フリップフロ
ップ19をリセットする。その結果、ベクトル命令アド
レスカウンタ6の動作は再開される。
ップ19をリセットする。その結果、ベクトル命令アド
レスカウンタ6の動作は再開される。
以上の動作によって、主記憶1から読み出されたターゲ
ットマシンのベクトル命令がn個のホストマシンのベク
トル命令に分解される間、主記憶1からターゲットマシ
ンのベクトル命令読出は抑止されたことになる。
ットマシンのベクトル命令がn個のホストマシンのベク
トル命令に分解される間、主記憶1からターゲットマシ
ンのベクトル命令読出は抑止されたことになる。
RAM3から読出されたホストマシンのベクトル命令列
(ターゲットマシンのベクトル命令の写像)の先頭アド
レスは、レジスタ20にセットされたのち、パス60を
通って加算器8に入力される。同時にカウンタ5の出力
もパス61を通って加算器8に入力される。加算器8で
は両者を加算して、RAM4上のホストマシンのベクト
ル命令のアドレスを生成する。該アドレスはレジスタ2
1に格納された後、RAM4のアドレス端子に入力され
る。RAM4から出力されたデータ、即ち。
(ターゲットマシンのベクトル命令の写像)の先頭アド
レスは、レジスタ20にセットされたのち、パス60を
通って加算器8に入力される。同時にカウンタ5の出力
もパス61を通って加算器8に入力される。加算器8で
は両者を加算して、RAM4上のホストマシンのベクト
ル命令のアドレスを生成する。該アドレスはレジスタ2
1に格納された後、RAM4のアドレス端子に入力され
る。RAM4から出力されたデータ、即ち。
ホストマシンのベクトル命令はレジスタ22に格納され
る。
る。
レジスタ23はベクトル処理装置のモード情報を保持し
ている。当該モード情報はエミュレーションを行うか否
かを示し、通常はオペレータコンソールからセットする
。レジスタ23の出力はセレクタ24に作用し、エミュ
レーションモードの時パス62と63を結合する。エミ
ュレーションモードでない時は、パス64と63を結合
する。
ている。当該モード情報はエミュレーションを行うか否
かを示し、通常はオペレータコンソールからセットする
。レジスタ23の出力はセレクタ24に作用し、エミュ
レーションモードの時パス62と63を結合する。エミ
ュレーションモードでない時は、パス64と63を結合
する。
この場合、主記憶1から読出されたベクトル命令は、変
換されずにベクトル処理装置の命令起動処理を行う論理
部に送出される。
換されずにベクトル処理装置の命令起動処理を行う論理
部に送出される。
以上のようにして、ターゲットマシンのベクトル命令は
複数のホストマシンのベクトル命令列に変換される。
複数のホストマシンのベクトル命令列に変換される。
次に、第3図を用いてスカラ命令の解読部のベクトル命
令起動処理に関する処理の概要を説明する。
令起動処理に関する処理の概要を説明する。
第3図においては、図面の簡約化のために命令アドレス
生成部は省略されている。スカラ命令列が主記憶1から
読出されてレジスタ101にセットされると、スカラ命
令のオペレーションコード部分はデコーダ102で解読
される。解読されたスカラ命令がベクトル処理を起動す
る命令であるとき、デコーダ102はパス110上に“
1″を送出する。この信号はレジスタ103に格納され
パス53上に送出される。パス53は第1図のセレクタ
11の選択信号として用いられる。さらに。
生成部は省略されている。スカラ命令列が主記憶1から
読出されてレジスタ101にセットされると、スカラ命
令のオペレーションコード部分はデコーダ102で解読
される。解読されたスカラ命令がベクトル処理を起動す
る命令であるとき、デコーダ102はパス110上に“
1″を送出する。この信号はレジスタ103に格納され
パス53上に送出される。パス53は第1図のセレクタ
11の選択信号として用いられる。さらに。
デコーダ102でベクトル処理起動命令が解読された際
、当該命令のオペランドフィールドのベクトル命令列先
頭アドレスはレジスタ104にセットされ、パス5oを
通って第1図のレジスタ10に送られる。
、当該命令のオペランドフィールドのベクトル命令列先
頭アドレスはレジスタ104にセットされ、パス5oを
通って第1図のレジスタ10に送られる。
ベクトル処理装置でエミュレーションモードとそれ以外
のモードの指定を、オペレータコンソールから第1図の
レジスタ23にセットする以外に。
のモードの指定を、オペレータコンソールから第1図の
レジスタ23にセットする以外に。
スカラ命令で設定したい場合、デコーダ102がモード
設定識別時にパス111に“1″を送出するようにする
。この出力信号をレジスタ105にセラ1−シ、パス1
12を介してベクトル処理部に送出し、第1図のレジス
タ23にセットする。
設定識別時にパス111に“1″を送出するようにする
。この出力信号をレジスタ105にセラ1−シ、パス1
12を介してベクトル処理部に送出し、第1図のレジス
タ23にセットする。
デコーダ102がベクトル処理起動命令又はエミュレー
ションモード設定以外の命令を検出した時、オペレーシ
ョンデコード情報とオペランド情報はそれぞれパス11
3,114を介して、ベクトル処理装置のスカラ処理部
に送出される。
ションモード設定以外の命令を検出した時、オペレーシ
ョンデコード情報とオペランド情報はそれぞれパス11
3,114を介して、ベクトル処理装置のスカラ処理部
に送出される。
以上が本発明のベクトル処理装置を構成するハードウェ
ア部分の概要である。以下、該処理装置ξのもう一つの
要素であるターゲットマシンのクロスコンパイル機能に
ついて説明する。
ア部分の概要である。以下、該処理装置ξのもう一つの
要素であるターゲットマシンのクロスコンパイル機能に
ついて説明する。
従来、装置の論理動作を規定するソフトウェア資産の説
明にはフローチャートが用いられている。
明にはフローチャートが用いられている。
しかし、ベクトル処理装置の如き計算機資源を複数個具
備する装置に対して、その動作を規定するためにブロー
チヤードを用いるのは適切ではない。
備する装置に対して、その動作を規定するためにブロー
チヤードを用いるのは適切ではない。
フローチャートは第4図(a)〜(c)に示すように、
処理、判定、ループの3種類の基本要素で表現されるが
、どの基本動作をとってみても、装置の任意の時刻を取
り出してみると、複数の処理が行われていることがない
。たとえば、第4図(b)の分岐の場合、パス1と2へ
同時に制御がパス3から移行することはない。また、第
4図(c)のループの場合では、分岐してもとにもどる
ループ4と処理5が同時刻に行われることない。
処理、判定、ループの3種類の基本要素で表現されるが
、どの基本動作をとってみても、装置の任意の時刻を取
り出してみると、複数の処理が行われていることがない
。たとえば、第4図(b)の分岐の場合、パス1と2へ
同時に制御がパス3から移行することはない。また、第
4図(c)のループの場合では、分岐してもとにもどる
ループ4と処理5が同時刻に行われることない。
このフローチャート図法の性質は従来の処理装置の計算
方法がS ingle I n5truction S
1dle D ata(SISD)型であったことを
反映しているように思われる。従って、第4図(d)で
示したような複数の入出力データを有する処理が成立せ
ず、第4図(a)の如き単一の入出力のみの処理形態し
た成立しない。故にフローチャートでSISDマシン上
のコンパイラのデータ処理手順を記述することは可能で
あるが、非5ISDマシンであるベクトル処理装置のデ
ータ処理手順を記述することに用いられるのは適切では
ない。
方法がS ingle I n5truction S
1dle D ata(SISD)型であったことを
反映しているように思われる。従って、第4図(d)で
示したような複数の入出力データを有する処理が成立せ
ず、第4図(a)の如き単一の入出力のみの処理形態し
た成立しない。故にフローチャートでSISDマシン上
のコンパイラのデータ処理手順を記述することは可能で
あるが、非5ISDマシンであるベクトル処理装置のデ
ータ処理手順を記述することに用いられるのは適切では
ない。
ベクトル処理装置は非5ISD型マシンである。
特にスカラ命令とベクトル命令を別個の命令解読部で行
う形式の処理装置、2種類のスカラ命令処理部を有する
型のベクトル処理装置(古勝、渡辺近藤、「最大性能1
.3 GFLOPS、マシンサイクル6nsのスーパー
コンピュータSxシステム」、日経エレクトロニクス1
984,11.19)ではMulti I n5tru
ction Multi Data (M I MD)
マシンと云うこともできる。このような非5ISD型マ
シン上でコンパイラの処理を実現した場合、第5図に示
した一般的コンパイラ処理を第6図のように変形するこ
とも不可能ではない、第6図では、第5図でシリアルに
実行されていた各処理のうち、診断情報出力部を他の処
理と並列に実行することを示している。この意味で第6
図は通常のフローチャートではない。
う形式の処理装置、2種類のスカラ命令処理部を有する
型のベクトル処理装置(古勝、渡辺近藤、「最大性能1
.3 GFLOPS、マシンサイクル6nsのスーパー
コンピュータSxシステム」、日経エレクトロニクス1
984,11.19)ではMulti I n5tru
ction Multi Data (M I MD)
マシンと云うこともできる。このような非5ISD型マ
シン上でコンパイラの処理を実現した場合、第5図に示
した一般的コンパイラ処理を第6図のように変形するこ
とも不可能ではない、第6図では、第5図でシリアルに
実行されていた各処理のうち、診断情報出力部を他の処
理と並列に実行することを示している。この意味で第6
図は通常のフローチャートではない。
このように、コンパイルの処理はクロスコンパイラを行
うホストマシンの命令処理型式によって変化スる。しか
し、コンパイラの処理は変化するが、データ処理形式は
変化しない、以下、コンパイラのクロスコンパイル時に
おけるデータ処理形式を説明する。
うホストマシンの命令処理型式によって変化スる。しか
し、コンパイラの処理は変化するが、データ処理形式は
変化しない、以下、コンパイラのクロスコンパイル時に
おけるデータ処理形式を説明する。
クロスコンパイル時におけるデータ処理形式は。
ターゲットマシンのアーキテクチャがどのようなもので
あれ、言語仕様に規定されているDOループのデータ処
理手順に従って、データ処理をホストマシンのベクトル
処理形式に展開することである。この方式は言語仕様に
規定されているDoループにデータ処理手順の「意味」
を不変にするという点において正当化される。
あれ、言語仕様に規定されているDOループのデータ処
理手順に従って、データ処理をホストマシンのベクトル
処理形式に展開することである。この方式は言語仕様に
規定されているDoループにデータ処理手順の「意味」
を不変にするという点において正当化される。
一般にベクトル処理対象となるD○ループ内には、複数
の文が存在している。これらの各々の文は1又は複数の
ベクトル命令に変換される場合と、複数の文が1又は複
数のベクトル命令に変換される場合がある。これらの変
換動作を通して、言語で記述されている処理は1対1で
はないが、ホストマシンのベクトル命令列に変換される
。この際、ホストマシンのハードウェア論理がサポート
されていないベクトル命令列に変換することも本発明の
ベクトル処理装置を用いる場合自由である。
の文が存在している。これらの各々の文は1又は複数の
ベクトル命令に変換される場合と、複数の文が1又は複
数のベクトル命令に変換される場合がある。これらの変
換動作を通して、言語で記述されている処理は1対1で
はないが、ホストマシンのベクトル命令列に変換される
。この際、ホストマシンのハードウェア論理がサポート
されていないベクトル命令列に変換することも本発明の
ベクトル処理装置を用いる場合自由である。
上記の変換の際、ベクトル命令処理はベクトルレジスタ
群上のデータに対して行われる。コンパイルの第1段階
では、各々のベクトル命令処理に対して仮のベクトルレ
ジスタ番号を割付ける。このようにして、Doループの
処理は第7図(a)の如きベクトル処理ブロック群に変
換される。第7図(a)の矩形内は1個のベクトル命令
処理をあられしている。第7図(a)ではベクトル処理
間の因果関係は処理対象ではないため、ベクトル処理群
は並列的にならんでいる。以下、第7図(a)のベクト
ル命令列の集合をAとよぶ。
群上のデータに対して行われる。コンパイルの第1段階
では、各々のベクトル命令処理に対して仮のベクトルレ
ジスタ番号を割付ける。このようにして、Doループの
処理は第7図(a)の如きベクトル処理ブロック群に変
換される。第7図(a)の矩形内は1個のベクトル命令
処理をあられしている。第7図(a)ではベクトル処理
間の因果関係は処理対象ではないため、ベクトル処理群
は並列的にならんでいる。以下、第7図(a)のベクト
ル命令列の集合をAとよぶ。
次に、D○ループ内の文の出現順序で規定されている実
行順序に従って、A集合内のベクトル命令の実行順序が
決定される。たとえば成る命令の結果を他の命令処理に
使用する場合、この2つの命令に因果関係が設定され、
第7図(a)の矩形口開が接続される。この接続の上記
の因果関係を媒介する実体はベクトルレジスタである。
行順序に従って、A集合内のベクトル命令の実行順序が
決定される。たとえば成る命令の結果を他の命令処理に
使用する場合、この2つの命令に因果関係が設定され、
第7図(a)の矩形口開が接続される。この接続の上記
の因果関係を媒介する実体はベクトルレジスタである。
このようにして、A集合は第7図(b)のB集合に変換
される。第7図(b)において、処理B工と82の結果
はB、によって処理される。また、B工の結果はB、で
もB、でも用いられる。B、の結果はB7で用いられる
が、B1−.の処理とBG〜7の処理は独立に実行され
る。
される。第7図(b)において、処理B工と82の結果
はB、によって処理される。また、B工の結果はB、で
もB、でも用いられる。B、の結果はB7で用いられる
が、B1−.の処理とBG〜7の処理は独立に実行され
る。
集合AをBに変換する際、ホストマシンのアーキテクチ
ャがこの変換動作に反映する。たとえばベクトル処理間
の因果関係を媒介するベクトルレジスタの性質が、ある
ホストマシンでは「ベクトルレジスタに対して書込と読
出の各々1アクセス動作のみが可能」で、他のホストマ
シンでは「ベクトルレジスタに対して複数の書込、読出
動作が可能」な場合では、B集合の要素は同一にはなら
ない。前者の如きベクトルレジスタに対するアクセス制
限が存在する場合、第7図(b)の88〜Bs処理はB
□〜B4処理と85処理の2つの要素に分離する。
ャがこの変換動作に反映する。たとえばベクトル処理間
の因果関係を媒介するベクトルレジスタの性質が、ある
ホストマシンでは「ベクトルレジスタに対して書込と読
出の各々1アクセス動作のみが可能」で、他のホストマ
シンでは「ベクトルレジスタに対して複数の書込、読出
動作が可能」な場合では、B集合の要素は同一にはなら
ない。前者の如きベクトルレジスタに対するアクセス制
限が存在する場合、第7図(b)の88〜Bs処理はB
□〜B4処理と85処理の2つの要素に分離する。
B集合において、処理B、間に接続関係が設定できると
いうことは、接続を媒介しているベクトルレジスタの番
号が集合Aのように自由に設定できなくなることである
。このことは、B集合の各要素において、使用するベク
トルレジスタの数が多くなることに等しい。ホストマシ
ンのベクトルレジスタの本数をNとするとき、B集合の
各要素のベクトルレジスタの使用本数がNを越えること
が起りつる。この場合も要素が分割する必要がある。こ
のときホストマシンベクトル命令変換を行うためにワー
クのベクトルレジスタを用意する必要があるとき、実装
されるベクトルレジスタの数Nより小さい値がホストマ
シンに実装されるでいるようにコンパイラに指示する。
いうことは、接続を媒介しているベクトルレジスタの番
号が集合Aのように自由に設定できなくなることである
。このことは、B集合の各要素において、使用するベク
トルレジスタの数が多くなることに等しい。ホストマシ
ンのベクトルレジスタの本数をNとするとき、B集合の
各要素のベクトルレジスタの使用本数がNを越えること
が起りつる。この場合も要素が分割する必要がある。こ
のときホストマシンベクトル命令変換を行うためにワー
クのベクトルレジスタを用意する必要があるとき、実装
されるベクトルレジスタの数Nより小さい値がホストマ
シンに実装されるでいるようにコンパイラに指示する。
この指示はコンパイラオプション指定によって行うこと
ができる。
ができる。
この指示があってもコンパイラの処理形態は不変である
。
。
以上のようにして、ホストマシンのアーキテクチャを反
映してA集合からB集合が構成される。
映してA集合からB集合が構成される。
第7図(b)のB集合は第7図(c)のように書くこと
ができる。第7図(c)では、ホストマシンの複数のベ
クトル処理は1つの矩形の処理ブロックで表わされてい
る。この矩形ブロックには複数の入出力パスが接続され
ていて、非5ISD型処理であるベクトル処理が本質が
表わされている。第7図(c)のブロックの入出力パス
の実体はベクトルレジスタであるから、このベクトルレ
ジスタにデータを主記憶からロード又はデータを主記憶
ヘスドアする必要がある。このためにはベクトルレジス
タの各要素を主記憶上の各番地上のデータに対応させる
手段が必要である。第7図(C)ではこの手段をC,で
示している。よってホストマシンの複数のベクトル処理
は該処理に対するソースとシンクが主記憶となり、1個
の主記憶に対する操作として位置づけられる。
ができる。第7図(c)では、ホストマシンの複数のベ
クトル処理は1つの矩形の処理ブロックで表わされてい
る。この矩形ブロックには複数の入出力パスが接続され
ていて、非5ISD型処理であるベクトル処理が本質が
表わされている。第7図(c)のブロックの入出力パス
の実体はベクトルレジスタであるから、このベクトルレ
ジスタにデータを主記憶からロード又はデータを主記憶
ヘスドアする必要がある。このためにはベクトルレジス
タの各要素を主記憶上の各番地上のデータに対応させる
手段が必要である。第7図(C)ではこの手段をC,で
示している。よってホストマシンの複数のベクトル処理
は該処理に対するソースとシンクが主記憶となり、1個
の主記憶に対する操作として位置づけられる。
ベクトル処理装置を主記憶に対するマクロな処理として
見る観点では、ベクトルレジスタの存在はデータ処理操
作という表現形式にはあられれない。この意味がホスシ
マシンのベクトルレジスタ数の大小はベクトル処理可能
性の問題について本質的なことではない、しかし、ベク
トルレジスタ数は第7図(b)のB集合の各要素に含ま
れるベクトル処理の大小を決定し、これはベクトル処理
装置の性能を左右する要因となっている。
見る観点では、ベクトルレジスタの存在はデータ処理操
作という表現形式にはあられれない。この意味がホスシ
マシンのベクトルレジスタ数の大小はベクトル処理可能
性の問題について本質的なことではない、しかし、ベク
トルレジスタ数は第7図(b)のB集合の各要素に含ま
れるベクトル処理の大小を決定し、これはベクトル処理
装置の性能を左右する要因となっている。
第7図(cンのCi処理は、ベクトル命令群の中では主
記憶に対するベクトルロード/ストア命令に対応してい
る。従って、ベクトルロード/ストア命令は第7図の表
現形式ではベクトル演算命令とは異質の命令群である。
記憶に対するベクトルロード/ストア命令に対応してい
る。従って、ベクトルロード/ストア命令は第7図の表
現形式ではベクトル演算命令とは異質の命令群である。
ベクトルロード/ストア命令がベクトル処理装置で処理
可能となるためには、主記憶のアドレスを該命令実行中
に生成するための何らかの手段が処理装置に用意されて
いなければならない6そうでなければその処理装置は不
備である。このアドレス生成手段のために、ベクトル処
理装置では、アドレス生成用のレジスタを持っている。
可能となるためには、主記憶のアドレスを該命令実行中
に生成するための何らかの手段が処理装置に用意されて
いなければならない6そうでなければその処理装置は不
備である。このアドレス生成手段のために、ベクトル処
理装置では、アドレス生成用のレジスタを持っている。
このようなアーキテクチャを採用したベクトル処理装置
では、当該アドレス計算用のレジスタに値をセットする
ための命令セットが必要である。このレジスタセットア
ツプ命令は、1操作に対し複数のデータが処理されるこ
とがなく、ベクトル命令群の一要素ではない、事実現在
までに発表されているベクトル処理装置の中で上記レジ
スタセットアツプ命令をベクトル処理部で実行するベク
トル処理装置はない。一般的に上記レジスタセットアツ
プ命令群はベクトル処理装置のスカシ命令処理部で実行
されている。またベクトル処理装置の中の処理結果がベ
クトルレジスタではない種類のレジスタに格納されてい
る場合、このレジスタ上の結果を用いたスカシ処理部が
処理を行うことがある。この処理のことを以下ベクトル
後処理という。このようにベクトル処理装置におけるベ
クトル処理は、スカシ処理と独立に。
では、当該アドレス計算用のレジスタに値をセットする
ための命令セットが必要である。このレジスタセットア
ツプ命令は、1操作に対し複数のデータが処理されるこ
とがなく、ベクトル命令群の一要素ではない、事実現在
までに発表されているベクトル処理装置の中で上記レジ
スタセットアツプ命令をベクトル処理部で実行するベク
トル処理装置はない。一般的に上記レジスタセットアツ
プ命令群はベクトル処理装置のスカシ命令処理部で実行
されている。またベクトル処理装置の中の処理結果がベ
クトルレジスタではない種類のレジスタに格納されてい
る場合、このレジスタ上の結果を用いたスカシ処理部が
処理を行うことがある。この処理のことを以下ベクトル
後処理という。このようにベクトル処理装置におけるベ
クトル処理は、スカシ処理と独立に。
自分自身で処理を行い、結果をベクトル処理命令群のみ
を用いて処理することはない。この意味において、現在
のベクトル処理装置は、スカシとベクトルの両系統の命
令解読部を持つ場合であっても、真のMIMD型マシン
ということはできない。
を用いて処理することはない。この意味において、現在
のベクトル処理装置は、スカシとベクトルの両系統の命
令解読部を持つ場合であっても、真のMIMD型マシン
ということはできない。
レジスタセットアツプ処理とベクトル後処理はベクトル
処理と異る種類の処理である。ホストマシンにおいて、
スカシとベクトルの両系統の命令解読部を具備する場合
、ソースコードで規定されているデータ処理をクロスコ
ンパイルした結果は、ベクトル命令群とレジスタセット
アツプ命令群とベクトル後処理命命群の集合に変換され
ている(こ\ではクロスコンパイルを実行したマシンが
ホストマシンであることは仮定していない)、本発明の
ベクトル処理装置が実現しうるものであるか否かは、プ
ログラムで規定されている論理を意味論的な「意味」を
不変に保ったまN、ホストマシン上で実現できるか否か
によっている。こNで注意しなければならない点は、論
理的な意味の不変条件には、処理を実行する時間という
概念が含まれていない点である。このことは、記号論理
系の研究でアレン・ニューウェルが明らかにしているよ
うに(ドナルド・A・ノーマン「認知科学の展望」佐伯
胛監訳産業図書(1984)、ppH8〜120)、記
号論理系による表現が可能であっても、実行できない場
合がありうるということである。ベクトル処理装置のク
ロスコンパイルについて、記号論理系による表現可能性
は「意味論的な意味の不変性を保ったベクトル命令群へ
の変換過程」に対応し、実行できない場合は「ホストマ
シン」で処理した場合、著しい性能低下が起る」という
ことに対応する。
処理と異る種類の処理である。ホストマシンにおいて、
スカシとベクトルの両系統の命令解読部を具備する場合
、ソースコードで規定されているデータ処理をクロスコ
ンパイルした結果は、ベクトル命令群とレジスタセット
アツプ命令群とベクトル後処理命命群の集合に変換され
ている(こ\ではクロスコンパイルを実行したマシンが
ホストマシンであることは仮定していない)、本発明の
ベクトル処理装置が実現しうるものであるか否かは、プ
ログラムで規定されている論理を意味論的な「意味」を
不変に保ったまN、ホストマシン上で実現できるか否か
によっている。こNで注意しなければならない点は、論
理的な意味の不変条件には、処理を実行する時間という
概念が含まれていない点である。このことは、記号論理
系の研究でアレン・ニューウェルが明らかにしているよ
うに(ドナルド・A・ノーマン「認知科学の展望」佐伯
胛監訳産業図書(1984)、ppH8〜120)、記
号論理系による表現が可能であっても、実行できない場
合がありうるということである。ベクトル処理装置のク
ロスコンパイルについて、記号論理系による表現可能性
は「意味論的な意味の不変性を保ったベクトル命令群へ
の変換過程」に対応し、実行できない場合は「ホストマ
シン」で処理した場合、著しい性能低下が起る」という
ことに対応する。
従って、クロスコンパイルした結果が、ベクトル命令群
とレジスタセットアツプ命令群とベクトル後処理群の集
合に変換されるならば、これらの命令群をホストマシン
のアーキテクチャを考慮して、最短の実行時間で処理す
るように、上記命令群の順序を再構成する必要がある。
とレジスタセットアツプ命令群とベクトル後処理群の集
合に変換されるならば、これらの命令群をホストマシン
のアーキテクチャを考慮して、最短の実行時間で処理す
るように、上記命令群の順序を再構成する必要がある。
第8図および第9図はこの命令群再構成過程の概念図を
示したものである。
示したものである。
第8図は、各命令群が時間の経過に従って、シリアルに
実行されていくことを期待した処理のための目的コード
のクロスコンパイルによって生成されたことを示したも
のである。第8図において。
実行されていくことを期待した処理のための目的コード
のクロスコンパイルによって生成されたことを示したも
のである。第8図において。
線分1はホストマシンの命令解読部における命令処理の
時間に対する世界線を示している。
時間に対する世界線を示している。
第9図はホストマシンの命令解読部がスカシとベクトル
処理部の2ケ所に存在する場合の処理の一例を示したも
のである。第9図において、線分901.902はそれ
ぞれホストマシンのスカシ。
処理部の2ケ所に存在する場合の処理の一例を示したも
のである。第9図において、線分901.902はそれ
ぞれホストマシンのスカシ。
ベクトル命令解読部を示し、9o3はスカシ処理部がベ
クトル処理部の動作と同期をとるための命令処理群を示
す。このスカシ、ベクトル処理同期命令処理群は、こN
ではスカシ処理部で処理されるものと仮定している。こ
の仮定は、2系統の処理系にとって不適切なものではな
いことは明らかである。命令群間の相互作用を示す90
4はホストマシンであるベクトル処理装置内のスカシ処
理部とベクトル処理部で制御を伝播させる媒体、レジス
タ又は信号線を表わす。
クトル処理部の動作と同期をとるための命令処理群を示
す。このスカシ、ベクトル処理同期命令処理群は、こN
ではスカシ処理部で処理されるものと仮定している。こ
の仮定は、2系統の処理系にとって不適切なものではな
いことは明らかである。命令群間の相互作用を示す90
4はホストマシンであるベクトル処理装置内のスカシ処
理部とベクトル処理部で制御を伝播させる媒体、レジス
タ又は信号線を表わす。
第9図の処理は第8図に比較して、同期制御からスカシ
命令列中に混入された分だけ実行時間が長くなる。この
点で第8図で示されている論理を単純にスカラ、ベクト
ル再処理部をもつ処理系に移行しただけでは意味がない
。しかし、第9図では、線分901の905の時間位置
において、スカシ処理部は何ら有効な処理を行っていな
い。従って、この時間位置にスカシ命令群中に他の処理
をプログラムの意味論的意味を不変に保ったまシ挿入す
ることができれば、ホスシマシンの実行処理時間短縮と
いう点で有効な処理を行ったことになる。従って、クロ
スコンパイル処理においても、処理を実行する時間の概
念の導入によって、生成する目的のプログラムのコード
は、プログラムの意味論的な意味不変原理から生成され
たコードから変化する。
命令列中に混入された分だけ実行時間が長くなる。この
点で第8図で示されている論理を単純にスカラ、ベクト
ル再処理部をもつ処理系に移行しただけでは意味がない
。しかし、第9図では、線分901の905の時間位置
において、スカシ処理部は何ら有効な処理を行っていな
い。従って、この時間位置にスカシ命令群中に他の処理
をプログラムの意味論的意味を不変に保ったまシ挿入す
ることができれば、ホスシマシンの実行処理時間短縮と
いう点で有効な処理を行ったことになる。従って、クロ
スコンパイル処理においても、処理を実行する時間の概
念の導入によって、生成する目的のプログラムのコード
は、プログラムの意味論的な意味不変原理から生成され
たコードから変化する。
以上、コンパイラのクロスコンパイル処理が実現し得な
いものでないことを示した。以下、現実の処理装置につ
いて、該クロスコンパイル処理が実現しうるものである
ことを示す。今までクロスコンパイルを行うマシン(以
下コンパイラマシンという)の命令実行形式については
、あえて明確にしなかった。これはクロスコンパイル処
理において、それを実現するためのハードウェアに依存
しない必要な基本的操作というものは何であるかを明示
するためである。従って、処理時間という概念をホスト
マシンで目的コードを実行する場合にだけ適用している
。
いものでないことを示した。以下、現実の処理装置につ
いて、該クロスコンパイル処理が実現しうるものである
ことを示す。今までクロスコンパイルを行うマシン(以
下コンパイラマシンという)の命令実行形式については
、あえて明確にしなかった。これはクロスコンパイル処
理において、それを実現するためのハードウェアに依存
しない必要な基本的操作というものは何であるかを明示
するためである。従って、処理時間という概念をホスト
マシンで目的コードを実行する場合にだけ適用している
。
クロスコンパイルを行うために必要な基本操作は次のよ
うである。
うである。
1、ソースプログラムからベクトル処理可能なりOルー
プ部を抽出する。
プ部を抽出する。
2)Doループの処理の基本要素(一般には1個の文)
をベクトル命令に変換する。この時ベクトル命令のオペ
ランドには適当なベクトルレジスタ番号は割付ける。
をベクトル命令に変換する。この時ベクトル命令のオペ
ランドには適当なベクトルレジスタ番号は割付ける。
3、DOループ内の基本要素間のベクトルレジスタ上の
データの授受について因果関係を調べ、データの授受を
媒介するレジスタ番号を一致するようにつけ換える。複
数のベクトル命令はブロッキングされる。
データの授受について因果関係を調べ、データの授受を
媒介するレジスタ番号を一致するようにつけ換える。複
数のベクトル命令はブロッキングされる。
4、ブロッキングされたベクトル命令列をとり出して、
ホストマシンの資源に関する諸元に基づいて、実行不可
能なブロックを分割し、実行できる命令列に変換する。
ホストマシンの資源に関する諸元に基づいて、実行不可
能なブロックを分割し、実行できる命令列に変換する。
5、各ブロックのベクトルレジスタ上のデータのソース
、シンクが未解決なデータを主記憶上の番地に対応させ
ることができるようにベクトルロード/ストア命令群を
各ブロックに付加させる。
、シンクが未解決なデータを主記憶上の番地に対応させ
ることができるようにベクトルロード/ストア命令群を
各ブロックに付加させる。
6、第5項のベクトルロード/ストア処理において主記
憶をアクセスするためのアドレス計算ができるように、
アドレス生成手段に対し必要な情報をセットするための
命令群を生成する。
憶をアクセスするためのアドレス計算ができるように、
アドレス生成手段に対し必要な情報をセットするための
命令群を生成する。
7、ベクトル処理の結果生成したデータを用いてDoル
ープ以外のデータ処理を行う命令群を生成する。
ープ以外のデータ処理を行う命令群を生成する。
8、第5項で生成したベクトル命令群、第6,7項で生
成した命令群間で、論理的な意味を変えないように命令
群の再配列を行う。
成した命令群間で、論理的な意味を変えないように命令
群の再配列を行う。
コンパイラマシンが5ISD型の汎用計算機ならば1以
上の処理をシリアルに行えばよい。もし。
上の処理をシリアルに行えばよい。もし。
コンパイラマシンがMIMD型ならば、第2,4゜5.
6項の内部の処理は並列処理することが可能である。し
かし上記の各項間では、前出の処理が完了してから次項
の処理に移るような処理のシリアルライズが必要である
。
6項の内部の処理は並列処理することが可能である。し
かし上記の各項間では、前出の処理が完了してから次項
の処理に移るような処理のシリアルライズが必要である
。
以上の処理によってコンパイラマシンがどのような命令
実行制御を行っているにせよ、生成された目的コードは
ホストマシンであるベクトル処理装置によって実施する
ことができる。
実行制御を行っているにせよ、生成された目的コードは
ホストマシンであるベクトル処理装置によって実施する
ことができる。
以上の説明から明らかな如く、本発明によれば、ターゲ
ットマシンのベクトル命令起動方式がホストマシンと見
る場合であっても、任意のターゲットマシンのベクトル
処理動作をエミュレーションすることができる。
ットマシンのベクトル命令起動方式がホストマシンと見
る場合であっても、任意のターゲットマシンのベクトル
処理動作をエミュレーションすることができる。
ベクトル処理装置がベクトル命令のエミュレーション機
能を持つことによって、コンパイラのデータ処理構造を
変えることなくDOループのベクトル処理対象範囲を拡
大することができる。たとえば、 INTEGER−2L(1000) Do 100 I=1.N 100 A (L(I)) =B(I)+・・・。
能を持つことによって、コンパイラのデータ処理構造を
変えることなくDOループのベクトル処理対象範囲を拡
大することができる。たとえば、 INTEGER−2L(1000) Do 100 I=1.N 100 A (L(I)) =B(I)+・・・。
のようなりoループで整数2バイトの主記憶アクセス命
令がサポートされていないベクトル処理装置では、コン
パイラが配列りをベクトルレジスタにロードし、ベクト
ルレジスタ上でデータの分解を行って配列Aをアドレッ
シングするリストベクトルLを作成する命令列を作り出
さなくてはならない。これはコンパイラの処理を著しく
増大させる。その上、将来ベクトル処理装置が2バイト
のアクセス命令を備えた時には、コンパイラのこのデー
タ処理変換配化は使用されてなくなる恐れがある。本発
明のエミュレーション機能を備えたベクトル処理装置に
よって上記のような不利益は回避される。
令がサポートされていないベクトル処理装置では、コン
パイラが配列りをベクトルレジスタにロードし、ベクト
ルレジスタ上でデータの分解を行って配列Aをアドレッ
シングするリストベクトルLを作成する命令列を作り出
さなくてはならない。これはコンパイラの処理を著しく
増大させる。その上、将来ベクトル処理装置が2バイト
のアクセス命令を備えた時には、コンパイラのこのデー
タ処理変換配化は使用されてなくなる恐れがある。本発
明のエミュレーション機能を備えたベクトル処理装置に
よって上記のような不利益は回避される。
また、ホストマシンで組込まれていない機能をみかけ上
実現するこができるので、複数の種類のマシン群でファ
ミリを構成していて、コンパイラは共通のものを使用し
たい場合、下位のモデルで一部の命令機能を削除して、
これをエミュレーション配化で代えプロセッサの原価を
おさえること可能である。
実現するこができるので、複数の種類のマシン群でファ
ミリを構成していて、コンパイラは共通のものを使用し
たい場合、下位のモデルで一部の命令機能を削除して、
これをエミュレーション配化で代えプロセッサの原価を
おさえること可能である。
第1図は本発明のベクトル処理装置におけるベクトル命
令変換回路の一実施例のブロック図、第2図はスカラ、
ベクトル両命令の処理を説明する図、第3図はスカセ命
令解読部の概略ブロック図。 第4図はフローチャート基本操作図、第5図及び第6図
は一致的なコンパイラの処理を示す図、第7図はコンパ
イラのベクトル処理解析を説明する図、第8図及び第9
図は複数種類命令群間の処理時間最適化を説明する図で
ある。 1・・・主記憶、 2,3.4・・・RAM、5.6・
・・カウンタ、 7・・・比較回路、8・・・加算器
。 パ〈〕シ′ 第2区 (α) 第7図 ヌηy、2tt′11?p へ゛り)>vP1’
Hp手続補正書(自発) 昭和61年5月22日 特許庁長官 宇 賀 道 部 殿 1、事件の表示 昭和61年特許願第40785号 2)発明の名称 ベクトル処理装置 3、補正をする者 事件との関係 出願人 住所 東京都千代田区神田駿河台四丁目6番地名称
(510) 株式会社 日立製作所代表者
三 1)勝 茂 (ほか1名)4、代理人 5、補正により増加する発明の数 なし7、補正の内
容 (1) 明細書第3頁16行目の「もずらしい」を「
めずらしい」に補正する。 (2)明細書第3頁17行目の「まだ」を「また」に補
正する。 (3)明細書第3頁18行目の「ならず」を「ならば」
に補正する。 (4)明細書第4頁5行目の「エミュレーション」に前
に「命令を」を挿入する。 (5)明細書簡6頁3行目の「情報に」を「情報は」に
補正する。 (6)明細書簡7頁15行目の「全ての」を「全てを」
に補正する。 (7)明細書第7頁20行目の「の毎に」を「毎に」に
補正する。 (8)明細書第8頁7行目の「に提供する」を「を提供
する」に補正する。 (9)明細書簡8頁17行目の「えている、」の「、」
を削除する。 (10)明細書第9頁4行目の「ベクトル処理装置」「
ベクトル処理」に補正する。 (11)明細書簡9頁14行目及び同頁20行目の「主
機憶」を「主記憶」に補正する。 (12)明細書簡10頁3行目の「生成して」を「生成
した」に補正する。 (13)明細書簡10頁12行目の「基準処理」を「準
備処理」に補正する。 (14)明細書第10頁18行目の「処理を」を「処理
と」に補正する。 (15)明細書簡11頁4行目の「本数を」の前に「少
ない」を挿入する。 (16)明細書簡13頁14〜15行目及び第14頁2
行目の「考慮する」を「考察する」に補正する。 (17)明細書第14頁14行目の「ベクトル処理装置
」を「ベクトル処理」に補正する。 (18)明細書第22頁13行目の「ことない。」を「
ことはない。」に補正する。 (19)明細書簡22.頁19〜20行目の「処理形態
した」を「処理形態しか」に補正する。 (20)明細書簡27頁9行目の「要素が」を「要素を
」に補正する。 (21)明細書第28頁19行目の「この意味が」を「
この意味で」に補正する。 (22)明細書簡33頁13〜14行目の「同期制御か
ら」を「同期制御が」に補正する。 (23)明細書第34頁2行目のrホスシマシン」を「
ホストマシン」に補正する。 (24)明細書第35頁8行目の「番号は」を「番号を
」に補正する。 (25)明細書簡38頁6行目及び同頁15行目の「配
化」を「機能」に補正する。 以上
令変換回路の一実施例のブロック図、第2図はスカラ、
ベクトル両命令の処理を説明する図、第3図はスカセ命
令解読部の概略ブロック図。 第4図はフローチャート基本操作図、第5図及び第6図
は一致的なコンパイラの処理を示す図、第7図はコンパ
イラのベクトル処理解析を説明する図、第8図及び第9
図は複数種類命令群間の処理時間最適化を説明する図で
ある。 1・・・主記憶、 2,3.4・・・RAM、5.6・
・・カウンタ、 7・・・比較回路、8・・・加算器
。 パ〈〕シ′ 第2区 (α) 第7図 ヌηy、2tt′11?p へ゛り)>vP1’
Hp手続補正書(自発) 昭和61年5月22日 特許庁長官 宇 賀 道 部 殿 1、事件の表示 昭和61年特許願第40785号 2)発明の名称 ベクトル処理装置 3、補正をする者 事件との関係 出願人 住所 東京都千代田区神田駿河台四丁目6番地名称
(510) 株式会社 日立製作所代表者
三 1)勝 茂 (ほか1名)4、代理人 5、補正により増加する発明の数 なし7、補正の内
容 (1) 明細書第3頁16行目の「もずらしい」を「
めずらしい」に補正する。 (2)明細書第3頁17行目の「まだ」を「また」に補
正する。 (3)明細書第3頁18行目の「ならず」を「ならば」
に補正する。 (4)明細書第4頁5行目の「エミュレーション」に前
に「命令を」を挿入する。 (5)明細書簡6頁3行目の「情報に」を「情報は」に
補正する。 (6)明細書簡7頁15行目の「全ての」を「全てを」
に補正する。 (7)明細書第7頁20行目の「の毎に」を「毎に」に
補正する。 (8)明細書第8頁7行目の「に提供する」を「を提供
する」に補正する。 (9)明細書簡8頁17行目の「えている、」の「、」
を削除する。 (10)明細書第9頁4行目の「ベクトル処理装置」「
ベクトル処理」に補正する。 (11)明細書簡9頁14行目及び同頁20行目の「主
機憶」を「主記憶」に補正する。 (12)明細書簡10頁3行目の「生成して」を「生成
した」に補正する。 (13)明細書簡10頁12行目の「基準処理」を「準
備処理」に補正する。 (14)明細書第10頁18行目の「処理を」を「処理
と」に補正する。 (15)明細書簡11頁4行目の「本数を」の前に「少
ない」を挿入する。 (16)明細書簡13頁14〜15行目及び第14頁2
行目の「考慮する」を「考察する」に補正する。 (17)明細書第14頁14行目の「ベクトル処理装置
」を「ベクトル処理」に補正する。 (18)明細書第22頁13行目の「ことない。」を「
ことはない。」に補正する。 (19)明細書簡22.頁19〜20行目の「処理形態
した」を「処理形態しか」に補正する。 (20)明細書簡27頁9行目の「要素が」を「要素を
」に補正する。 (21)明細書第28頁19行目の「この意味が」を「
この意味で」に補正する。 (22)明細書簡33頁13〜14行目の「同期制御か
ら」を「同期制御が」に補正する。 (23)明細書第34頁2行目のrホスシマシン」を「
ホストマシン」に補正する。 (24)明細書第35頁8行目の「番号は」を「番号を
」に補正する。 (25)明細書簡38頁6行目及び同頁15行目の「配
化」を「機能」に補正する。 以上
Claims (2)
- (1)命令解読部、ベクトルレジスタ、演算器等を備え
、ベクトル命令を処理するベクトル処理装置において、
命令解読部に該ベクトル処理装置で未サポートのベクト
ル命令をすでにサポートされている複数のベクトル命令
列に変換する手段を設け、エミュレーション機能を実現
することを特徴するベクトル処理装置。 - (2)特許請求の範囲第1項記載のベクトル処理装置に
おいて、当該ベクトル処理装置に実装されているベクト
ルレジスタの本数よりも少ないベクトルレジスタを用い
、該ベクトル処理装置でサポートしているベクトル命令
体系とは異なるベクトル命令体系を用いて、プログラム
を当該ベクトル処理装置で実行されるオブジェクトコー
ドに変換するコンパイラと組み合せて、エミュレーショ
ン機能を実現することを特徴とするベクトル処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61040785A JPS62197832A (ja) | 1986-02-26 | 1986-02-26 | ベクトル処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61040785A JPS62197832A (ja) | 1986-02-26 | 1986-02-26 | ベクトル処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS62197832A true JPS62197832A (ja) | 1987-09-01 |
Family
ID=12590277
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61040785A Pending JPS62197832A (ja) | 1986-02-26 | 1986-02-26 | ベクトル処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62197832A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006331415A (ja) * | 2005-05-09 | 2006-12-07 | Sony Computer Entertainment Europe Ltd | データプロセッサ、データ処理方法 |
| JP2020523693A (ja) * | 2017-06-12 | 2020-08-06 | 株式会社ソニー・インタラクティブエンタテインメント | Jitコンパイラを使用しかつ選択されたターゲットコードブロックの変換をバイパスするターゲットシステムのエミュレーション |
-
1986
- 1986-02-26 JP JP61040785A patent/JPS62197832A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006331415A (ja) * | 2005-05-09 | 2006-12-07 | Sony Computer Entertainment Europe Ltd | データプロセッサ、データ処理方法 |
| JP2020523693A (ja) * | 2017-06-12 | 2020-08-06 | 株式会社ソニー・インタラクティブエンタテインメント | Jitコンパイラを使用しかつ選択されたターゲットコードブロックの変換をバイパスするターゲットシステムのエミュレーション |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Kuck | Parallel processing of ordinary programs | |
| JP3592230B2 (ja) | データ処理装置 | |
| JP3180075B2 (ja) | 異なる命令コード相互間の動的変換装置及び方法 | |
| US6219775B1 (en) | Massively parallel computer including auxiliary vector processor | |
| US4187539A (en) | Pipelined data processing system with centralized microprogram control | |
| US5063497A (en) | Apparatus and method for recovering from missing page faults in vector data processing operations | |
| JP3120152B2 (ja) | コンピューターシステム | |
| JP2002024011A (ja) | プロセッサにおける命令の叙述された実行 | |
| JPS619760A (ja) | ベクトル処理システム | |
| Dewitt | A Machine Independent Approach To The Production Of Optimized Horizontal Microcode. | |
| JPS62197832A (ja) | ベクトル処理装置 | |
| Kuck | High-speed machines and their compilers | |
| US11886839B2 (en) | Non-transitory computer-readable recording medium, function generation method, and information processing device | |
| JP2000284964A (ja) | Vliwプロセッサにおける効率的なサブ命令エミュレーション | |
| Vishkin | From algorithm parallelism to instruction-level parallelism: An encode-decode chain using prefix-sum | |
| Lesser | Dynamic Control Structures and their use in Emulation | |
| JP3191263B2 (ja) | 最適オブジェクト選択実行処理装置 | |
| Dasgupta et al. | Towards a family of languages for the design and implementation of machine architectures | |
| JPH02308330A (ja) | 知識情報処理装置 | |
| JPH03135630A (ja) | 命令スケジューリング方式 | |
| JP3743155B2 (ja) | パイプライン制御型計算機 | |
| Shabanov et al. | Features of Dataflow Processor Emulator Implementing | |
| Geβner et al. | Synthesis of control units in a design environment for chip architecture | |
| Meggitt | A character computer for high-level language interpretation | |
| Lesser et al. | AN INTRODUCTION 910 THE DTRET EMULATION OF CONTROL STRXTURES BY A PARALLEL MICRO-COMPUTER~ |