JPH09259113A - 4バイトベクトルデータペアロード方式 - Google Patents

4バイトベクトルデータペアロード方式

Info

Publication number
JPH09259113A
JPH09259113A JP8092016A JP9201696A JPH09259113A JP H09259113 A JPH09259113 A JP H09259113A JP 8092016 A JP8092016 A JP 8092016A JP 9201696 A JP9201696 A JP 9201696A JP H09259113 A JPH09259113 A JP H09259113A
Authority
JP
Japan
Prior art keywords
vector
vector data
byte
register
instruction
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
Application number
JP8092016A
Other languages
English (en)
Inventor
Kiyoshi Asai
浅井  清
Kenji Higuchi
健二 樋口
浩一 ▲高▼山
Koichi Takayama
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.)
NEC Corp
Japan Atomic Energy Agency
Original Assignee
Japan Atomic Energy Research Institute
NEC 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 Japan Atomic Energy Research Institute, NEC Corp filed Critical Japan Atomic Energy Research Institute
Priority to JP8092016A priority Critical patent/JPH09259113A/ja
Publication of JPH09259113A publication Critical patent/JPH09259113A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 1回のベクトルデータロード命令の実行で2
つの4バイトベクトルデータをそれぞれ異なるベクトル
レジスタに同時にロードする。 【解決手段】 命令発行制御回路123はデータ転送開
始アドレス,要素間距離および要素数をメモリユニット
11に送信する。メモリユニット11は4バイトベクト
ルデータペアを出力する。また、命令発行制御回路12
3はチャネル切替制御回路122にオペレーションコー
ドと2つのベクトルレジスタ13iおよび13jを示す
Xオペランドとを与える。チャネル切替制御回路122
は、チャネル切替機構121を制御してメモリユニット
11から出力された4バイトベクトルデータペアの上位
4バイトベクトルデータをベクトルレジスタ13iに、
下位4バイトベクトルデータをベクトルレジスタ13j
にロードする。上記処理がベクトル長レジスタ124に
格納された要素数回だけ繰り返される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はベクトル演算処理を
行うベクトルプロセッサに関し、特にベクトルプロセッ
サにおける4バイトベクトルデータペアロード方式に関
する。
【0002】
【従来の技術】従来のベクトルプロセッサにおけるベク
トル演算処理に関して、ベクトル演算に必要なデータ
(以下、ベクトルデータという)のロード処理は、ベク
トルデータが8バイトであるか4バイトであるかを問わ
ず、必要とするベクトルデータの要素数回だけ実行され
ていた。
【0003】具体的には、メモリユニット上の連続した
8バイトのメモリ領域に格納された2つの4バイトのベ
クトルデータに関するベクトル演算を行う場合、ベクト
ルユニットは、一旦、メモリユニットから4バイトのベ
クトルデータを8バイトのデータパスを介して8バイト
のベクトルレジスタにロードし、次に同様にしてメモリ
ユニットから4バイトのベクトルデータを8バイトのデ
ータパスを介して別の8バイトのベクトルレジスタにロ
ードしていた。
【0004】なお、特開昭64−73458号公報で
は、ベクトル演算装置と主記憶装置との間で複数種の同
一のデータ幅を有する一連のベクトルデータを主記憶装
置からベクトルレジスタにロード、もしくはベクトルレ
ジスタから主記憶装置にストアするためのベクトルデー
タのアクセス制御方式に関し、主記憶装置とロード/ス
トアデータレジスタ間のベクトルデータのブロック転送
時のベクトルデータ数をベクトルデータ長に応じて増減
させ、ベクトルデータ長が最大バイト長以下の場合にそ
れに応じて上記レジスタを空けて他のユニットによる主
記憶装置のアクセスを可能にし、また主記憶装置と上記
レジスタおよび該レジスタとアクセスパイプライン間の
アクセス頻度を等しくすることにより、アクセス制御を
単純化することのできるベクトルデータのアクセス制御
方式を提供することを目的としている。
【0005】また、特開昭60−134974号公報で
は、ベクトルデータを保持する複数のベクトルレジスタ
と、該複数のベクトルレジスタに並列にベクトルデータ
を入力する入力手段と、該複数のベクトルレジスタに各
々設けられ、対応するベクトルレジスタのベクトル命令
で指定された位置からベクトルデータを読み出す手段と
を有することにより、配列データを何カ所かの異なる要
素から部分的に参照するとき、上記の如く重複する要素
データを有するいくつかのベクトルデータを個別にベク
トルレジスタにロードすることを避け、配列データの部
分参照を効率よく処理する手段を持つベクトル処理装置
を提供することを目的としている。
【0006】さらに、特開昭60−186964号公報
では、ベクトルレジスタの有効エレメントデータからさ
らにエレメント内有効データを選択し、該有効データを
所定数ずつまとめて圧縮データとして主記憶に書き込む
手段と、主記憶から前記圧縮データを読み出し、その有
効データをそれぞれのエレメントデータに伸張してベク
トルレジスタに転送する手段とを有することにより、一
度に転送できるデータ量が増加し、主記憶へのリクエス
ト回数が減少し、ベクトル処理の高速化を目的とする。
【0007】さらにまた、特開平1−224873号公
報では、浮動小数点倍精度用のプロセッサに用いられる
コプロセッサを有するシステムに関して、コプロセッサ
は倍精度データを格納する1つのフォーマットを用い、
プロセッサは倍精度データを記憶する第2のフォーマッ
トを用い、プロセッサ−コプロセッサ間の通信は同時に
は単精度幅に限られる場合、プロセッサは増分ソースと
終着ディスティネーションアドレスに関するループ命令
を用い、それぞれのコマンドはプロセッサ内のソースア
ドレスからコプロセッサ内のディスティネーションアド
レスに送信され倍精度演算を実行可能とする。それぞれ
のコマンドは、またそのコマンドに関する倍精度表示を
備えている。
【0008】また、特開平1−284966号公報で
は、複数のベクトルレジスタと、マルチポートを有する
バンク構成の主記憶を備え、該主記憶装置から複数のベ
クトルデータを読み出して対応するベクトルレジスタに
先頭の要素から順にロードしこれら複数のベクトルデー
タの要素間で所定の演算を行うデータ処理装置に関し、
主記憶装置に対する各回のアクセスを、読み出すべきベ
クトルデータの関係から同時にアクセス可能なすべての
メモリバンクに対して行い、各回のアクセスにおいて読
み出されたベクトルデータの各要素をベクトルレジスタ
ヘのロード順に行うように整列した後、整列された要素
を、ロードすべきベクトルレジスタに巡回的に割り当て
ロードするようにデータ処理部に対して指示する手段を
有することによって、単一ベクトルアクセスでありなが
ら、あるベクトルレジスタの集合の巡回アクセスと組み
合わせて見かけ上マルチストリームアクセス化すること
により、チェイニングの早期開始を可能とし、ポートの
競合率を低下させることを目的としている。
【0009】
【発明が解決しようとする課題】上述した従来の技術で
は、ベクトル演算に必要なベクトルデータが8バイトで
あるか4バイトであるかにかかわらず、ベクトル演算に
必要なベクトルデータの要素数回だけベクトルデータロ
ード命令を実行する必要があったので、ベクトルデータ
の転送効率が悪く、ベクトル演算処理の高速化を図るこ
とができないという問題点があった。その理由は、1つ
のベクトルデータロード命令は、8バイトまたは4バイ
トのベクトルデータを1つのベクトルレジスタに対して
のみロードすることが可能であったからである。
【0010】本発明の目的は、1回のベクトルデータロ
ード命令の実行において、アプリケーションプログラム
に依存してメモリユニット上の連続した8バイトのメモ
リ領域に書き込まれた2つの4バイトのベクトルデータ
(以下、4バイトベクトルデータペアという)をそれぞ
れ異なる2つのベクトルレジスタに同時にロードするこ
とによって、ベクトルデータの転送効率を高め、ベクト
ル演算処理の高速化を図るようにした4バイトベクトル
データペアロード方式を提供することにある。
【0011】
【課題を解決するための手段】本発明の4バイトベクト
ルデータペアロード方式は、ベクトル演算処理を行うベ
クトルプロセッサにおいて、ベクトルデータを格納する
メモリユニットと、このメモリユニットと8バイトのデ
ータパスを介して接続されベクトル演算を実行するため
にベクトルデータを格納する複数のベクトルレジスタ
と、8バイトベクトルデータの上位4バイトおよび下位
4バイトの転送先のベクトルレジスタを切り替えるチャ
ネル切替機構と、このチャネル切替機構を制御するチャ
ネル切替制御回路と、命令を受けて命令の発行制御を行
う命令発行制御回路と、ベクトルデータの要素数をセッ
トするベクトル長レジスタとを備え、アプリケーション
プログラムに依存して前記メモリユニット上の連続した
8バイトのメモリ領域に格納された4バイトベクトルデ
ータペアを8バイトベクトルデータとして読み出し、該
8バイトベクトルデータのうちの上位4バイトベクトル
データおよび下位4バイトベクトルデータをそれぞれ異
なるベクトルレジスタにロードすることを特徴とする。
【0012】また、本発明の4バイトベクトルデータペ
アロード方式は、ベクトル演算処理を行うベクトルプロ
セッサにおいて、ベクトルデータを格納するメモリユニ
ットと、このメモリユニットと8バイトのデータパスを
介して接続されベクトル演算を実行するためにベクトル
データを格納する複数のベクトルレジスタと、ベクトル
データの要素数をセットするベクトル長レジスタと、前
記メモリユニットから読み出された8バイトのベクトル
データの上位4バイトおよび下位4バイトの転送先のベ
クトルレジスタを切り替えるチャネル切替機構と、発行
された命令が4バイトベクトルデータペアロード命令で
ある場合、前記メモリユニットから読み出された8バイ
トの上位4バイトおよび下位4バイトを4バイトベクト
ルデータペアロード命令で指定されたそれぞれ異なるベ
クトルレジスタに転送するように前記チャネル切替機構
を制御するチャネル切替制御回路と、4バイトベクトル
データペアロード命令を受けてアプリケーションプログ
ラムに依存してメモリユニット上の連続した8バイトの
メモリ領域に格納された4バイトベクトルデータペアを
8バイトベクトルデータとして読み出し、該8バイトベ
クトルデータのうちの上位4バイトベクトルデータおよ
び下位4バイトベクトルデータをそれぞれ異なるベクト
ルレジスタにロードする処理を前記ベクトル長レジスタ
にセットされたベクトルデータの要素数だけ繰り返すよ
うに制御する命令発行制御回路とを有することを特徴と
する。
【0013】また、本発明の4バイトベクトルデータペ
アロード方式は、前記4バイトベクトルデータペアロー
ド命令が4バイトベクトルデータペア移送命令の場合、
Xオペランドに2つの転送先ベクトルレジスタ番号を、
Yオペランドに要素間距離を格納したスカラレジスタ番
号を、Zオペランドにデータ転送開始アドレスを格納し
たスカラレジスタ番号をセットし、連続した8バイトの
メモリ領域に格納された4バイトベクトルデータペアが
前記要素間距離毎に規則的に前記メモリユニット上に配
置された4バイトベクトルデータペア群の上位4バイト
ベクトルデータおよび下位4バイトベクトルデータをそ
れぞれ異なるベクトルレジスタにパイプライン処理でロ
ードする。
【0014】また、本発明の4バイトベクトルデータペ
アロード方式は、前記4バイトベクトルデータペアロー
ド命令が4バイトベクトルデータペア収集命令の場合、
Xオペランドに2つの転送先ベクトルレジスタ番号を、
Yオペランドにベクトルデータを収集する先頭メモリア
ドレス群を格納したベクトルレジスタのレジスタ番号を
セットし、連続した8バイトのメモリ領域に格納された
4バイトベクトルデータペアが前記メモリユニット上の
前記先頭メモリアドレス群のメモリ位置に配置された4
バイトベクトルデータペア群の上位4バイトベクトルデ
ータおよび下位4バイトベクトルデータをそれぞれ異な
るベクトルレジスタにパイプライン処理でロードする。
【0015】
【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。
【0016】図1は、本発明の一実施の形態に係る4バ
イトベクトルデータペアロード方式の構成を示す回路ブ
ロック図である。本実施の形態に係る4バイトベクトル
データペアロード方式は、ベクトルデータを格納するメ
モリユニット11と、メモリユニット11と8バイトの
データパスを介して接続されベクトル演算を実行するベ
クトルユニット12とから、その主要部が構成されてい
る。
【0017】メモリユニット11には、アプリケーショ
ンプログラムに依存して、4バイトベクトルデータペア
が連続した8バイトのメモリ領域に格納されるととも
に、要素数分の4バイトベクトルデータペアが規則的な
要素間距離を空けてメモリユニット11上に配置され
る。あるいは、メモリユニット11には、アプリケーシ
ョンプログラムに依存して、4バイトベクトルデータペ
アが連続した8バイトのメモリ領域に格納されるととも
に、要素数分の4バイトベクトルデータペアがメモリユ
ニット11上の不規則なメモリ位置に配置される。
【0018】ベクトルユニット12は、ベクトル演算を
実行するためにベクトルデータを一時的に格納する複数
のベクトルレジスタ130〜13n(nは任意の正整
数;以下、符号13によってベクトルレジスタを総称す
る)と、4バイトベクトルデータペアのうちの上位4バ
イトのベクトルデータ(以下、上位4バイトベクトルデ
ータという)および下位4バイトのベクトルデータ(以
下、下位4バイトベクトルデータという)の転送先のベ
クトルレジスタ13を切り替えるチャネル切替機構12
1と、チャネル切替機構121を制御するチャネル切替
制御回路122と、命令の発行制御を行う命令発行制御
回路123と、ベクトルデータの要素数をセットするベ
クトル長レジスタ124とを含んで構成されている。
【0019】チャネル切替機構121は、メモリユニッ
ト11から読み出された8バイトのベクトルデータを、
複数のベクトルレジスタ130〜13nのうちから、4
バイトベクトルデータペアロード命令で指定されたベク
トルレジスタ13i(0≦i≦n)および13j(0≦
j≦n)に格納するため、メモリユニット11から読み
出された8バイトのベクトルデータの上位4バイトベク
トルデータおよび下位4バイトベクトルデータの転送先
のベクトルレジスタ13を切り替える。
【0020】チャネル切替制御回路122は、発行され
た命令が4バイトベクトルデータペアロード命令である
場合、命令発行制御回路123からベクトルデータの転
送先のベクトルレジスタ番号を受けて、4バイトベクト
ルデータペアロード命令中に指定された異なるベクトル
レジスタ13iおよび13jに上位4バイトベクトルデ
ータおよび下位4バイトベクトルデータを別々に転送す
るようにチャネル切替機構121を制御する。
【0021】ベクトル長レジスタ124は、ベクトル演
算において取り扱うベクトルデータの要素数を格納する
レジスタである。
【0022】図2を参照すると、本実施の形態に係る4
バイトベクトルデータペアロード方式で用いられる命令
のフォーマットは、先頭1バイトの命令機能を示すオペ
レーションコード21と、後続3バイトの3種類のXオ
ペランド22,Yオペランド23およびZオペランド2
4が格納されたオペランド部とから構成されていると仮
定する。なお、命令セット長および命令セットフォーマ
ットに関しては、本願発明の本質ではない。以下、オペ
レーションコード21は、従来からある8バイトベクト
ルデータ移送命令の場合には“01”、従来からある8
バイトベクトルデータ収集命令の場合には“02”、本
発明で初めて導入された4バイトベクトルデータペア移
送命令の場合には“03”、同様に本発明で初めて導入
された4バイトベクトルデータペア収集命令の場合には
“04”であるものとする。なお、8バイトベクトルデ
ータ移送命令および8バイトベクトルデータ収集命令を
総称して、8バイトベクトルデータロード命令という。
また、4バイトベクトルデータペア移送命令および4バ
イトベクトルデータペア収集命令を総称して、4バイト
ベクトルデータペアロード命令という。
【0023】オペレーションコード21が4バイトベク
トルデータペア移送命令を示す“03”の場合、Xオペ
ランド22の上位4ビットおよび下位4ビットには上位
4バイトベクトルデータおよび下位4バイトベクトルデ
ータのそれぞれの転送先のベクトルレジスタ番号が、Y
オペランド23には要素間距離を格納したスカラレジス
タ番号が、Zオペランド24にはデータ転送開始アドレ
スを格納したスカラレジスタ番号がセットされるものと
する。
【0024】また、オペレーションコード21が4バイ
トベクトルデータペア収集命令を示す“04”の場合、
Xオペランド22の上位4ビットおよび下位4ビットに
は上位4バイトベクトルデータおよび下位4バイトベク
トルデータのそれぞれの転送先のベクトルレジスタ番号
が、Yオペランド23の上位4ビットにはアクセスする
先頭メモリアドレス群を格納したベクトルレジスタ番号
がセットされるものとする。ただし、Yオペランド23
の上位4ビット“k”で指定されるベクトルレジスタ1
3kは、Xオペランド22の上位4ビット“i”および
下位4ビット“j”で指定されるベクトルレジスタ13
iおよび13jとは異なるものであるものとする(0≦
k≦n,k≠i,k≠j)。
【0025】図3を参照すると、チャネル切替機構12
1は、例えば、8バイトのベクトルデータの上位4バイ
トをどのベクトルレジスタ13に送出するかを選択する
セレクタ1211と、8バイトのベクトルデータの下位
4バイトをどのベクトルレジスタ13に送出するかを選
択するセレクタ1212と、各ベクトルレジスタ130
〜13nの前段に各ベクトルレジスタ130〜13nの
下位4バイトに8バイトのベクトルデータの上位4バイ
ト/下位4バイトのいずれを格納するかを選択するよう
に設けられたセレクタS0〜Snとから構成されてい
る。
【0026】同じく、図3を参照すると、チャネル切替
制御回路122は、例えば、Xオペランド22の上位4
ビットをデコードしてセレクタ1211および1212
の選択信号を生成するデコーダ1221と、Xオペラン
ド22の下位4ビットをデコードしてセレクタ1212
の選択信号を生成するデコーダ1222と、オペレーシ
ョンコード21をデコードしてセレクタ1225の選択
信号およびデコーダ1224への制御情報を生成するデ
コーダ1223と、デコーダ1221からの選択信号お
よびデコーダ1223からの制御情報を入力して各セレ
クタS0〜Snの選択信号を生成するデコーダ1224
と、デコーダ1221からの選択信号またはデコーダ1
222からの選択信号を選択的にセレクタ1212に送
出するセレクタ1225とから構成されている。
【0027】次に、このように構成された本実施の形態
に係る4バイトベクトルデータペアロード方式の動作に
ついて、図1〜図3を参照して詳細に説明する。
【0028】(1) 4バイトベクトルデータペア移送
命令の場合
【0029】アプリケーションプログラムに依存して連
続した8バイトのメモリ領域に格納された4バイトベク
トルデータペアが要素間距離毎に規則的にメモリユニッ
ト11上に配置された4バイトベクトルデータペア群の
上位4バイトベクトルデータおよび下位4バイトベクト
ルデータに対してベクトル演算を施す場合を考える。こ
のとき、4バイトベクトルデータペア移送命令のオペレ
ーションコード21には“03”が、Xオペランド22
には2つの転送先のベクトルレジスタ番号を示す“i
j”が、Yオペランド23には要素間距離を格納したス
カラレジスタ番号が、Zオペランド24にはデータ転送
開始アドレスを格納したスカラレジスタ番号がセットさ
れているものとする。
【0030】まず、ベクトルユニット12の命令発行制
御回路123は、Zオペランド24が示すスカラレジス
タに格納されたデータ転送開始アドレスと、Yオペラン
ド23が示すスカラレジスタに格納された要素間距離
と、ベクトル長レジスタ124にセットされたベクトル
データの要素数とを、メモリユニット11に送信する。
【0031】すると、メモリユニット11は、ベクトル
ユニット12から受信したデータ転送開始アドレスから
連続した8バイトのメモリ領域に格納された4バイトベ
クトルデータペアを、8バイトのデータパスを介してベ
クトルユニット12に出力する。
【0032】また、命令発行制御回路123は、チャネ
ル切替制御回路122にオペレーションコード21“0
3”およびXオペランド22“ij”を与える。
【0033】チャネル切替制御回路122は、命令発行
制御回路123からオペレーションコード21“03”
およびXオペランド22“ij”を受けると、メモリユ
ニット11から読み出された4バイトベクトルデータペ
アのうちの上位4バイトベクトルデータをXオペランド
22“ij”の上位4ビット“i”に示されたベクトル
レジスタ番号のベクトルレジスタ13iに、また下位4
バイトベクトルデータをXオペランド22“ij”の下
位4ビット“j”に示されたベクトルレジスタ番号のベ
クトルレジスタ13jに転送するようにチャネル切替機
構121を制御する。
【0034】詳しくは、デコーダ1223は、命令発行
制御回路123からオペレーションコード21“03”
を受信すると、4バイトベクトルデータペアのうちの上
位4バイトベクトルデータをベクトルレジスタ13の下
位4バイトに格納するように指示する制御情報をデコー
ダ1224に出力するとともに、セレクタ1225にデ
コーダ1222の出力信号をセレクタ1212に出力す
るように指示する選択信号を出力する。
【0035】また、デコーダ1221は、命令発行制御
回路123からXオペランド22“ij”の上位4ビッ
ト“i”を受信すると、Xオペランド22“ij”の上
位4ビット“i”をデコードし、4バイトベクトルデー
タペアのうちの上位4バイトベクトルデータをベクトル
レジスタ番号“i”のベクトルレジスタ13iに出力す
るようにセレクタ1211を選択する選択信号を出力す
るとともに、この選択信号をデコーダ1224にも出力
する。
【0036】また、デコーダ1222は、命令発行制御
回路123からXオペランド22“ij”の下位4ビッ
ト“j”を受信すると、Xオペランド22“ij”の下
位4ビット“j”をデコードし、セレクタ1225を介
して4バイトベクトルデータペアの下位4バイトベクト
ルデータをベクトルレジスタ番号“j”のベクトルレジ
スタ13jに出力するようにセレクタ1212を選択す
る選択信号を出力する。
【0037】デコーダ1223からの4バイトベクトル
データペアのうちの上位4バイトベクトルデータをベク
トルレジスタ13の下位4バイトに格納するように指示
する制御情報およびデコーダ1221からのベクトルレ
ジスタ番号“i”を示す選択信号を受けて、デコーダ1
224は、4バイトベクトルデータペアのうちの上位4
バイトベクトルデータをベクトルレジスタ13iの下位
4バイトに格納するようにセレクタSiを選択する選択
信号を出力する。
【0038】また、セレクタ1211は、デコーダ12
21からの選択信号を受けて、メモリユニット11から
読み出された4バイトベクトルデータペアのうちの上位
4バイトベクトルデータをXオペランド22“ij”の
上位4ビット“i”で指定されたベクトルレジスタ番号
のベクトルレジスタ13iに対して出力する。
【0039】セレクタ1211から出力された4バイト
ベクトルデータペアの上位4バイトベクトルデータは、
セレクタSiを介してベクトルレジスタ13iの下位4
バイトに格納される。
【0040】一方、セレクタ1212は、セレクタ12
25を介してデコーダ1222からの選択信号を受け
て、メモリユニット11から読み出された4バイトベク
トルデータペアのうちの下位4バイトベクトルデータを
Xオペランド22“ij”の下位4ビット“j”で指定
されたベクトルレジスタ番号のベクトルレジスタ13j
に対して出力する。
【0041】セレクタ1212から出力された4バイト
ベクトルデータペアのうちの下位4バイトベクトルデー
タは、セレクタSjを介してベクトルレジスタ13jの
下位4バイトに格納される。
【0042】メモリユニット11は、パイプライン処理
で、前回のデータ転送開始アドレスから要素間距離だけ
離れた新たな先頭メモリアドレスを算出し、この先頭メ
モリアドレスで始まる連続した8バイトのメモリ領域に
格納された4バイトベクトルデータペアをベクトルユニ
ット12に出力する。
【0043】ベクトルユニット12は、上述したのと同
様の処理を行う。
【0044】上記動作は、ベクトル長レジスタ124に
セットされたベクトルデータの要素数だけ繰り返され
る。
【0045】(2) 4バイトベクトルデータペア収集
命令の場合
【0046】アプリケーションプログラムに依存して連
続した8バイトのメモリ領域に格納された4バイトベク
トルデータペアがメモリユニット11上の不規則なメモ
リ位置に配置された4バイトベクトルデータペア群の上
位4バイトベクトルデータおよび下位4バイトベクトル
データに対してベクトル演算を施す場合を考える。この
とき、4バイトベクトルデータペア収集命令のオペレー
ションコード21には“04”が、Xオペランド22に
は2つの転送先のベクトルレジスタ番号を示す“ij”
が、Yオペランド23にはアクセスする先頭メモリアド
レス群を格納したベクトルレジスタ13kのベクトルレ
ジスタ番号“0k”がセットされているものとする。
【0047】まず、ベクトルユニット12の命令発行制
御回路123は、Yオペランド23にセットされたベク
トルレジスタ番号“0k”のベクトルレジスタ13kを
参照し、ベクトルレジスタ13kに格納された先頭メモ
リアドレスを順にメモリユニット11に送信する。
【0048】すると、メモリユニット11は、ベクトル
ユニット12から受信した先頭メモリアドレスから連続
した8バイトのメモリ領域に格納された4バイトベクト
ルデータペアを、8バイトのデータパスを介してベクト
ルユニット12に出力する。
【0049】また、命令発行制御回路123は、チャネ
ル切替制御回路122にオペレーションコード21“0
4”およびXオペランド22“ij”を与える。
【0050】チャネル切替制御回路122は、命令発行
制御回路123からオペレーションコード21“04”
およびXオペランド22“ij”を受けると、メモリユ
ニット11から読み出された4バイトベクトルデータペ
アのうちの上位4バイトベクトルデータをXオペランド
22“ij”の上位4ビットに示されたベクトルレジス
タ番号のベクトルレジスタ13iに、また下位4バイト
ベクトルデータをXオペランド22“ij”の下位4ビ
ット“j”に示されたベクトルレジスタ番号のベクトル
レジスタ13jに転送するようにチャネル切替機構12
1を制御する。
【0051】チャネル切替制御回路122およびチャネ
ル切替機構121の詳しい動作は、上記(1)で説明し
た4バイトベクトルデータペア格納命令の場合と同様で
あるので、ここでは詳述しない。
【0052】メモリユニット11からの4バイトベクト
ルデータペアの読み出し動作に並列して、ベクトルユニ
ット12は、パイプライン処理で、ベクトルレジスタ1
3kに格納された次の先頭メモリアドレスをメモリユニ
ット11に送信する。
【0053】メモリユニット11は、ベクトルユニット
12から受信した先頭メモリアドレスから連続した8バ
イトのメモリ領域に格納された4バイトベクトルデータ
ペアを、8バイトのデータパスを介してベクトルユニッ
ト12に出力する。
【0054】ベクトルユニット12は、上述したのと同
様の処理を行う。
【0055】上記動作は、ベクトル長レジスタ124に
セットされたベクトルデータの要素数だけ繰り返され
る。
【0056】(3) 8バイトベクトルデータ移送命令
の場合
【0057】アプリケーションプログラムに依存して連
続した8バイトのメモリ領域に格納された8バイトベク
トルデータが要素間距離毎に規則的にメモリユニット1
1上に配置された8バイトベクトルデータ群に対してベ
クトル演算を施す場合を考える。このとき、8バイトベ
クトルデータ移送命令のオペレーションコード21には
“01”が、Xオペランド22の上位4ビットには転送
先のベクトルレジスタ番号を示す“i0”が、Yオペラ
ンド23には要素間距離を格納したスカラレジスタ番号
が、Zオペランド24にはデータ転送開始アドレスを格
納したスカラレジスタ番号がセットされているものとす
る。
【0058】まず、ベクトルユニット12の命令発行制
御回路123は、Zオペランド24が示すスカラレジス
タに格納されたデータ転送開始アドレスと、Yオペラン
ド23が示すスカラレジスタに格納された要素間距離
と、ベクトル長レジスタ124にセットされたベクトル
データの要素数とを、メモリユニット11に送信する。
【0059】すると、メモリユニット11は、ベクトル
ユニット12から受信したデータ転送開始アドレスから
連続した8バイトのメモリ領域に格納された8バイトベ
クトルデータを、8バイトのデータパスを介してベクト
ルユニット12に出力する。
【0060】また、命令発行制御回路123は、チャネ
ル切替制御回路122にオペレーションコード21“0
1”およびXオペランド22“i0”を与える。
【0061】チャネル切替制御回路122は、命令発行
制御回路123からオペレーションコード21“01”
およびXオペランド22“i0”を受けると、メモリユ
ニット11から読み出された8バイトベクトルデータを
Xオペランド22“i0”の上位4ビット“i”に示さ
れたベクトルレジスタ番号のベクトルレジスタ13iに
転送するようにチャネル切替機構121を制御する。
【0062】詳しくは、デコーダ1223は、命令発行
制御回路123からオペレーションコード21“01”
を受信すると、8バイトベクトルデータを1つのベクト
ルレジスタ13に格納するように指示する制御情報をデ
コーダ1224に出力するとともに、セレクタ1225
にデコーダ1221の出力信号をセレクタ1212に出
力するように指示する選択信号を出力する。
【0063】また、デコーダ1221は、命令発行制御
回路123からXオペランド22“i0”の上位4ビッ
ト“i”を受信すると、Xオペランド22“i0”の上
位4ビット“i”をデコードし、8バイトベクトルデー
タをベクトルレジスタ番号“i”のベクトルレジスタ1
3iに出力するようにセレクタ1211を選択する選択
信号を出力するとともに、この選択信号をデコーダ12
24にも出力する。
【0064】また、デコーダ1222は、命令発行制御
回路123からXオペランド22“i0”の下位4ビッ
ト“0”を受信してデコードするが、セレクタ1225
に阻止されてその出力信号はセレクタ1212には出力
されない。
【0065】デコーダ1223からの8バイトベクトル
データを1つのベクトルレジスタ13に格納するように
指示する制御情報およびデコーダ1221からのベクト
ルレジスタ番号“i”を示す選択信号を受けて、デコー
ダ1224は、8バイトベクトルデータの下位4バイト
をベクトルレジスタ13iの下位4バイトに格納するよ
うにセレクタSiを選択する選択信号を出力する。
【0066】また、セレクタ1211および1212
は、デコーダ1221からの選択信号を受けて、メモリ
ユニット11から読み出された8バイトベクトルデータ
の上位4バイトおよび下位4バイトを、Xオペランド2
2“i0”の上位4ビット“i”で指定されたベクトル
レジスタ番号のベクトルレジスタ13iの上位4バイト
および下位4バイトに対して出力する。
【0067】セレクタ1211から出力された8バイト
ベクトルデータの上位4バイトはセレクタSiを介する
ことなしにベクトルレジスタ13iの上位4バイトに格
納され、セレクタ1212から出力された8バイトベク
トルデータの下位4バイトはセレクタSiを介してベク
トルレジスタ13iの下位4バイトに格納される。
【0068】メモリユニット11は、パイプライン処理
で、前回のデータ転送開始アドレスから要素間距離だけ
離れた新たな先頭メモリアドレスを算出し、この先頭メ
モリアドレスで始まる連続した8バイトのメモリ領域に
格納された4バイトベクトルデータペアをベクトルユニ
ット12に出力する。
【0069】ベクトルユニット12は、上述したのと同
様の処理を行う。
【0070】上記動作は、ベクトル長レジスタ124に
セットされたベクトルデータの要素数回だけ繰り返され
る。
【0071】(4) 8バイトベクトルデータ収集命令
の場合
【0072】アプリケーションプログラムに依存して連
続した8バイトのメモリ領域に格納された8バイトベク
トルデータがメモリユニット11上の不規則なメモリ位
置に配置された8バイトベクトルデータ群に対してベク
トル演算を施す場合を考える。このとき、8バイトベク
トルデータ収集命令のオペレーションコード21には
“02”が、Xオペランド22には転送先のベクトルレ
ジスタ番号を示す“i0”が、Yオペランド23にはア
クセスする先頭メモリアドレス群を格納したベクトルレ
ジスタ13kのベクトルレジスタ番号“0k”がセット
されているものとする。
【0073】まず、ベクトルユニット12の命令発行制
御回路123は、Yオペランド23にセットされたベク
トルレジスタ番号“0k”のベクトルレジスタ13kを
参照し、ベクトルレジスタ13kに格納された先頭メモ
リアドレスを順にメモリユニット11に送信する。
【0074】すると、メモリユニット11は、ベクトル
ユニット12から受信した先頭メモリアドレスから連続
した8バイトのメモリ領域に格納された8バイトベクト
ルデータを、8バイトのデータパスを介してベクトルユ
ニット12に出力する。
【0075】また、命令発行制御回路123は、チャネ
ル切替制御回路122にオペレーションコード21“0
2”およびXオペランド22“i0”を与える。
【0076】チャネル切替制御回路122は、命令発行
制御回路123からオペレーションコード21“02”
およびXオペランド22“i0”を受けると、メモリユ
ニット11から読み出された8バイトベクトルデータを
Xオペランド22“i0”の上位4ビット“i”に示さ
れたベクトルレジスタ番号のベクトルレジスタ13iに
転送するようにチャネル切替機構121を制御する。
【0077】チャネル切替制御回路122およびチャネ
ル切替機構121の詳しい動作は、上記(3)で説明し
た8バイトベクトルデータ移送命令の場合と同様である
ので、ここでは詳述しない。
【0078】メモリユニット11からの8バイトベクト
ルデータの読み出し動作に並列して、ベクトルユニット
12は、パイプライン処理で、ベクトルレジスタ13k
に格納された次の先頭メモリアドレスをメモリユニット
11に送信する。
【0079】メモリユニット11は、ベクトルユニット
12から受信した先頭メモリアドレスから連続した8バ
イトのメモリ領域に格納された8バイトベクトルデータ
を、8バイトのデータパスを介してベクトルユニット1
2に出力する。
【0080】ベクトルユニット12は、上述したのと同
様の処理を行う。
【0081】上記動作は、ベクトル長レジスタ124に
セットされたベクトルデータの要素数回だけ繰り返され
る。
【0082】このように、上記実施の形態では、上記
(1)および(2)で述べたように、4バイトベクトル
データペアを、それぞれ異なるベクトルレジスタ13i
および13jの下位4バイトにロードする場合、メモリ
ユニット11上の連続した8バイトのメモリ領域に、ア
プリケーションプログラムに依存して、4バイトのベク
トルデータをペアに格納することによって、4バイトベ
クトルデータペアを読み出し、命令発行制御回路123
がオペレーションコード21およびオペランド部をデコ
ードし、チャネル切替制御機構121が読み出された8
バイトのベクトルデータの出力経路を上位4バイト/下
位4バイト毎に分割し、異なる2つのベクトルレジスタ
13iおよび13jに同時に格納する。このため、4バ
イトベクトルデータロード命令を2回実行することな
く、1回の4バイトベクトルデータペアロード命令の実
行で同様の結果を得ることが可能となる。また、アクセ
スするメモリのアドレス計算等によるオーバーヘッドも
削減される。
【0083】
【発明の効果】以上説明したように、本発明の効果は、
1回のベクトルデータロード命令の実行で、アプリケー
ションプログラムに依存してメモリユニット上の連続し
た8バイトのメモリ領域に書き込まれた4バイトベクト
ルデータペアをそれぞれ異なる2つのベクトルレジスタ
に同時にロードすることが可能となり、ベクトルデータ
の転送効率を高め、ベクトル演算処理の高速化を図るこ
とができる点である。
【0084】また、本発明の効果は、Xオペランドに2
つの転送先ベクトルレジスタ番号を、Yオペランドに要
素間距離を格納したスカラレジスタ番号を、Zオペラン
ドにデータ転送開始アドレスを格納したスカラレジスタ
番号をセットして4バイトベクトルデータペア移送命令
を実行することにより、連続した8バイトのメモリ領域
に格納された4バイトベクトルデータペアが要素間距離
毎に規則的にメモリユニット上に配置された4バイトベ
クトルデータペア群の上位4バイトベクトルデータおよ
び下位4バイトベクトルデータをそれぞれ異なるベクト
ルレジスタにパイプライン処理でロードできる点であ
る。
【0085】さらに、本発明の効果は、Xオペランドに
2つの転送先ベクトルレジスタ番号を、Yオペランドに
ベクトルデータを収集する先頭メモリアドレス群を格納
したベクトルレジスタのレジスタ番号をセットして4バ
イトベクトルデータペア収集命令を実行することによ
り、連続した8バイトのメモリ領域に格納された4バイ
トベクトルデータペアがメモリユニット上の先頭メモリ
アドレス群のメモリ位置に配置された4バイトベクトル
データペア群の上位4バイトベクトルデータおよび下位
4バイトベクトルデータをそれぞれ異なるベクトルレジ
スタにパイプライン処理でロードできる点である。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る4バイトベクトル
データペアロード方式の構成を示す回路ブロック図であ
る。
【図2】本実施の形態に係る4バイトベクトルデータペ
アロード方式で用いられる命令のフォーマットを説明す
る図である。
【図3】図1中のチャネル切替機構およびチャネル切替
制御回路をより詳細に示す回路ブロック図である。
【符号の説明】
11 メモリユニット 12 ベクトルユニット 13,130〜13n ベクトルレジスタ 21 オペレーションコード 22 Xオペランド 23 Yオペランド 24 Zオペランド 121 チャネル切替機構 122 チャネル切替制御回路 123 命令発行制御回路 124 ベクトル長レジスタ 1211,1212,1225 セレクタ 1221〜1224 デコーダ S0〜Sn セレクタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ▲高▼山 浩一 東京都港区芝五丁目7番1号 日本電気株 式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 ベクトル演算処理を行うベクトルプロセ
    ッサにおいて、 ベクトルデータを格納するメモリユニットと、このメモ
    リユニットと8バイトのデータパスを介して接続されベ
    クトル演算を実行するためにベクトルデータを格納する
    複数のベクトルレジスタと、8バイトベクトルデータの
    上位4バイトおよび下位4バイトの転送先のベクトルレ
    ジスタを切り替えるチャネル切替機構と、このチャネル
    切替機構を制御するチャネル切替制御回路と、命令を受
    けて命令の発行制御を行う命令発行制御回路と、ベクト
    ルデータの要素数をセットするベクトル長レジスタとを
    備え、 アプリケーションプログラムに依存して前記メモリユニ
    ット上の連続した8バイトのメモリ領域に格納された4
    バイトベクトルデータペアを8バイトベクトルデータと
    して読み出し、該8バイトベクトルデータのうちの上位
    4バイトベクトルデータおよび下位4バイトベクトルデ
    ータをそれぞれ異なるベクトルレジスタにロードするこ
    とを特徴とする4バイトベクトルデータペアロード方
    式。
  2. 【請求項2】 ベクトル演算処理を行うベクトルプロセ
    ッサにおいて、 ベクトルデータを格納するメモリユニットと、 このメモリユニットと8バイトのデータパスを介して接
    続されベクトル演算を実行するためにベクトルデータを
    格納する複数のベクトルレジスタと、 ベクトルデータの要素数をセットするベクトル長レジス
    タと、 前記メモリユニットから読み出された8バイトのベクト
    ルデータの上位4バイトおよび下位4バイトの転送先の
    ベクトルレジスタを切り替えるチャネル切替機構と、 発行された命令が4バイトベクトルデータペアロード命
    令である場合、前記メモリユニットから読み出された8
    バイトの上位4バイトおよび下位4バイトを4バイトベ
    クトルデータペアロード命令で指定されたそれぞれ異な
    るベクトルレジスタに転送するように前記チャネル切替
    機構を制御するチャネル切替制御回路と、 4バイトベクトルデータペアロード命令を受けてアプリ
    ケーションプログラムに依存してメモリユニット上の連
    続した8バイトのメモリ領域に格納された4バイトベク
    トルデータペアを8バイトベクトルデータとして読み出
    し、該8バイトベクトルデータのうちの上位4バイトベ
    クトルデータおよび下位4バイトベクトルデータをそれ
    ぞれ異なるベクトルレジスタにロードする処理を前記ベ
    クトル長レジスタにセットされたベクトルデータの要素
    数だけ繰り返すように制御する命令発行制御回路とを有
    することを特徴とする4バイトベクトルデータペアロー
    ド方式。
  3. 【請求項3】 前記4バイトベクトルデータペアロード
    命令が4バイトベクトルデータペア移送命令の場合、X
    オペランドに2つの転送先ベクトルレジスタ番号を、Y
    オペランドに要素間距離を格納したスカラレジスタ番号
    を、Zオペランドにデータ転送開始アドレスを格納した
    スカラレジスタ番号をセットし、連続した8バイトのメ
    モリ領域に格納された4バイトベクトルデータペアが前
    記要素間距離毎に規則的に前記メモリユニット上に配置
    された4バイトベクトルデータペア群の上位4バイトベ
    クトルデータおよび下位4バイトベクトルデータをそれ
    ぞれ異なるベクトルレジスタにパイプライン処理でロー
    ドする請求項1または2記載の4バイトベクトルデータ
    ペアロード方式。
  4. 【請求項4】 前記4バイトベクトルデータペアロード
    命令が4バイトベクトルデータペア収集命令の場合、X
    オペランドに2つの転送先ベクトルレジスタ番号を、Y
    オペランドにベクトルデータを収集する先頭メモリアド
    レス群を格納したベクトルレジスタのレジスタ番号をセ
    ットし、連続した8バイトのメモリ領域に格納された4
    バイトベクトルデータペアが前記メモリユニット上の前
    記先頭メモリアドレス群のメモリ位置に配置された4バ
    イトベクトルデータペア群の上位4バイトベクトルデー
    タおよび下位4バイトベクトルデータをそれぞれ異なる
    ベクトルレジスタにパイプライン処理でロードする請求
    項1または2記載の4バイトベクトルデータペアロード
    方式。
JP8092016A 1996-03-21 1996-03-21 4バイトベクトルデータペアロード方式 Pending JPH09259113A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8092016A JPH09259113A (ja) 1996-03-21 1996-03-21 4バイトベクトルデータペアロード方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8092016A JPH09259113A (ja) 1996-03-21 1996-03-21 4バイトベクトルデータペアロード方式

Publications (1)

Publication Number Publication Date
JPH09259113A true JPH09259113A (ja) 1997-10-03

Family

ID=14042739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8092016A Pending JPH09259113A (ja) 1996-03-21 1996-03-21 4バイトベクトルデータペアロード方式

Country Status (1)

Country Link
JP (1) JPH09259113A (ja)

Similar Documents

Publication Publication Date Title
US5887183A (en) Method and system in a data processing system for loading and storing vectors in a plurality of modes
EP0138451B1 (en) Vector data processing system for indirect address instructions
US4745547A (en) Vector processing
US4740893A (en) Method for reducing the time for switching between programs
EP0240032A2 (en) Vector processor with vector data compression/expansion capability
CA1319997C (en) Specialized communication processor for layered protocols
US8335812B2 (en) Methods and apparatus for efficient complex long multiplication and covariance matrix implementation
EP0054888A2 (en) Data-processing system with main and buffer storage control
JPS6363945B2 (ja)
JPH0463430B2 (ja)
US7383419B2 (en) Address generation unit for a processor
JPH0728761A (ja) 非対称ベクトルマルチプロセッサ
JP2003044273A (ja) データ処理装置及びデータ処理方法
EP0521486B1 (en) Hierarchical structure processor
US7340591B1 (en) Providing parallel operand functions using register file and extra path storage
JP5112627B2 (ja) プロセッサ・アーキテクチャ
JPS6042516B2 (ja) デ−タ処理装置
JPS59114677A (ja) ベクトル処理装置
JPH09259113A (ja) 4バイトベクトルデータペアロード方式
EP1251425A2 (en) Very long instruction word information processing device and system
US20040123073A1 (en) Data processing system having a cartesian controller
JP3771682B2 (ja) ベクトル処理装置
US4805133A (en) Processor memory element and a new computer architecture
JPH07325805A (ja) ベクトル処理装置
JP2755769B2 (ja) データ駆動型データ処理装置