JPH08241302A - ベクトル処理装置及び乗算器 - Google Patents

ベクトル処理装置及び乗算器

Info

Publication number
JPH08241302A
JPH08241302A JP7046763A JP4676395A JPH08241302A JP H08241302 A JPH08241302 A JP H08241302A JP 7046763 A JP7046763 A JP 7046763A JP 4676395 A JP4676395 A JP 4676395A JP H08241302 A JPH08241302 A JP H08241302A
Authority
JP
Japan
Prior art keywords
vector
register
data
adder
processing device
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
JP7046763A
Other languages
English (en)
Other versions
JP3691538B2 (ja
Inventor
Koji Kuroda
浩二 黒田
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 JP04676395A priority Critical patent/JP3691538B2/ja
Publication of JPH08241302A publication Critical patent/JPH08241302A/ja
Application granted granted Critical
Publication of JP3691538B2 publication Critical patent/JP3691538B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】本発明は、ベクトル加算処理を高速に実行でき
るようにするベクトル処理装置の提供と、そのベクトル
処理装置のベクトル加算処理を使って実行するベクトル
乗算処理で用いるのに好適な乗算器の提供とを目的とす
る。 【構成】少なくとも、ベクトルレジスタ12とマスクレ
ジスタ13と加算器14とを備えて、ベクトル処理を実
行するベクトル処理装置において、加算器14に対し
て、ベクトルオペランドの加数と被加数の他に、マスク
レジスタ13のデータを入力し、かつ、加算器14の算
出するキャリーアウトデータをマスクレジスタ13へ出
力する構成を採る。また、乗算器15が、入力される2
つのmビットデータの乗算値となる2mビットデータを
算出する機能を持つとともに、命令に応答して、乗算値
の上位mビットデータか下位mビットデータのいずれか
一方を選択して出力するセレクタを持つように構成す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ベクトル加算処理を高
速に実行できるようにするベクトル処理装置と、そのベ
クトル処理装置のベクトル加算処理を使って実行するベ
クトル乗算処理で用いるのに好適な乗算器とに関する。
【0002】ベクトル処理装置では、ベクトル加算処理
やベクトル乗算処理を実行する。このようなベクトル演
算処理は高速に実行できるようにする必要がある。
【0003】
【従来の技術】従来のベクトル処理装置では、ベクトル
加算処理を実行するときには、桁上げの発生を考慮し
て、ベクトルシフト命令を実行しながらベクトル加算命
令を実行していくという構成を採っていた。
【0004】次に、160ビットの被加数と160ビッ
トの加数との加算処理を例にとって、この従来技術を詳
細に説明する。加算器が64ビット同士の加算処理を実
行する場合には、従来では、図13に示すように、64
ビットの3つのレジスタ(vr00,vr01,vr02)か
らなる被加数用のレジスタと、64ビットの3つのレジ
スタ(vr03,vr04,vr05)からなる加数用のレジ
スタとを用意して、例えば、図14に示す形式、すなわ
ち、図15に図式化する形式に従って、その被加数用の
レジスタに160ビットの被加数を格納するとともに、
加数用のレジスタに160ビットの加数を格納する。
【0005】そして、図16に示すベクトル命令列を発
行することで、160ビットの被加数と160ビットの
加数との加算処理を実行する。ここで、 「VA vr1,vr2,vr3」 は、ベクトルレジスタvr1とベクトルレジスタvr2
との加算結果をベクトルレジスタvr3に格納しろとい
うベクトル加算命令であり、 「VSR vr1,SC,vr3」 は、ベクトルレジスタvr1のデータをSCビット右シ
フトしてベクトルレジスタvr3に格納しろというベク
トルシフト命令であり、 「VSL vr1,SC,vr3」 は、ベクトルレジスタvr1のデータをSCビット左シ
フトしてベクトルレジスタvr3に格納しろというベク
トルシフト命令である。
【0006】すなわち、図16に示すベクトル命令列に
従い、先ず最初に、(1) のベクトル加算命令VAに従っ
て、ベクトルレジスタvr02の被加数部分と、ベクトル
レジスタvr05の加数部分とを加算してベクトルレジス
タvr10に格納する。このとき、桁上げが発生する可能
性があるので、続いて、(2) のベクトルシフト命令VS
Rに従って、ベクトルレジスタ10の格納データを60ビ
ット右シフトすることでその桁上げ値(キャリーアウト
データ)を取り出して、それをベクトルレジスタ15に格
納する。
【0007】続いて、(3) のベクトル加算命令VAに従
って、ベクトルレジスタvr01の被加数部分と、ベクト
ルレジスタvr04の加数部分とを加算してベクトルレジ
スタvr20に格納する。
【0008】続いて、(4) のベクトル加算命令VAに従
って、下位部分の加算処理により発生したキャリーアウ
トデータを加算すべく、ベクトルレジスタvr15の格納
するキャリーアウトデータと、ベクトルレジスタvr20
の格納データとを加算してベクトルレジスタvr20に格
納する。このとき、桁上げが発生する可能性があるの
で、続いて、(5) のベクトルシフト命令VSRに従っ
て、ベクトルレジスタ20の格納データを60ビット右シ
フトすることでそのキャリーアウトデータを取り出し
て、それをベクトルレジスタvr25に格納する。
【0009】続いて、(6) のベクトル加算命令VAに従
って、ベクトルレジスタvr00の被加数部分と、ベクト
ルレジスタvr03の加数部分とを加算してベクトルレジ
スタvr30に格納する。
【0010】続いて、(7) のベクトル加算命令VAに従
って、下位部分の加算処理により発生したキャリーアウ
トデータを加算すべく、ベクトルレジスタvr25の格納
するキャリーアウトデータと、ベクトルレジスタvr30
の格納データとを加算してベクトルレジスタvr6 に格
納する。
【0011】続いて、ベクトルレジスタvr10に格納さ
れる60ビットの有効データを取り出すべく、(8) のベ
クトルシフト命令VSLに従って、ベクトルレジスタ10
の格納データを4ビット左シフトして、それをベクトル
レジスタvr10に格納し、(9) のベクトルシフト命令V
SRに従って、そのベクトルレジスタvr10の格納デー
タを4ビット右シフトしてベクトルレジスタvr8 に格
納することで、上位4ビットにゼロ値を持つその60ビ
ットの有効データをベクトルレジスタvr8 に格納す
る。
【0012】続いて、ベクトルレジスタvr20に格納さ
れる60ビットの有効データを取り出すべく、(10)のベ
クトルシフト命令VSLに従って、ベクトルレジスタ20
の格納データを4ビット左シフトして、それをベクトル
レジスタvr20に格納し、(11)のベクトルシフト命令V
SRに従って、そのベクトルレジスタvr20の格納デー
タを4ビット右シフトしてベクトルレジスタvr7 に格
納することで、上位4ビットにゼロ値を持つその60ビ
ットの有効データをベクトルレジスタvr7 に格納す
る。
【0013】このように、従来のベクトル処理装置で
は、ベクトル加算処理を実行するときには、桁上げの発
生を考慮して、ベクトルシフト命令を実行しながらベク
トル加算命令を実行していくという構成を採っていたの
である。
【0014】一方、従来のベクトル処理装置の備える乗
算器では、64ビット×64ビットのような入力仕様を
持つ場合にあっても、ハードウェア量の削減を図るため
に、64ビット×16ビットのような少ないビット数の
乗算機能を持つ構成を採っていた。
【0015】そして、入力仕様の64ビット同士の乗算
処理を実現するために、乗数を16ビット単位に4分割
し、64ビット×16ビット乗算機能を使って、それら
の16ビットの乗数部分と64ビットの被乗数とを乗算
することで部分積を求め、それらの部分積を16ビット
シフトしつつ加算して、その加算結果の示す64ビット
部分を乗算結果として出力するという構成を採ってい
た。
【0016】例えば、64ビット同士の乗算処理の上位
64ビットが必要となる場合には、命令指示に従って、
図17に示すように、4分割した乗数を下位側から順番
に選択して部分積を求め、それらの部分積を16ビット
左シフトしつつ加算していくことで乗算処理の上位64
ビットを得て出力していた。また、64ビット同士の乗
算処理の下位64ビットが必要となる場合には、命令指
示に従って、4分割した乗数を上位側から順番に選択し
て部分積を求め、それらの部分積を16ビット右シフト
しつつ加算していくことで乗算処理の下位64ビットを
得て出力していた。
【0017】
【発明が解決しようとする課題】しかしながら、従来技
術のように、ベクトル加算処理を実行するときに、桁上
げの発生を考慮して、ベクトルシフト命令を実行しなが
らベクトル加算命令を実行していくという構成を採って
いると、命令数が多くなることから高速にベクトル加算
処理を実行できないという問題点があった。
【0018】また、従来技術の乗算器では、内部で実行
する乗算回数が多くなるとともに、内部に、部分積をシ
フトし加算する機能(ループ構成を使用している)を持
たなくてはならないという問題点があった。
【0019】本発明はかかる事情に鑑みてなされたもの
であって、ベクトル加算処理を高速に実行できるように
するベクトル処理装置の提供と、そのベクトル処理装置
のベクトル加算処理を使って実行するベクトル乗算処理
で用いるのに好適な乗算器の提供とを目的とする。
【0020】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は本発明を具備するベクトル処理
装置であって、CPU10と、ベクトル命令制御機構1
1と、ベクトルレジスタ12と、マスクレジスタ13
と、加算器14と、乗算器15とを備える。
【0021】このCPU10は、ベクトル命令を発行す
る。ベクトル命令制御機構11は、ベクトル命令の実行
を制御する。ベクトルレジスタ12は、ベクトルデータ
を格納する。マスクレジスタ13は、ベクトル処理で使
用するマスクデータを格納する。加算器14は、ベクト
ル加算命令を実行する。乗算器15は、ベクトル乗算命
令を実行する。
【0022】本発明を実現するために、加算器14は、
ベクトルオペランドの加数と被加数の他に、マスクレジ
スタ13に格納されるキャリーアウトデータを入力する
とともに、算出結果のキャリーアウトデータをマスクレ
ジスタ13へ出力する構成を採る。このとき、マスクオ
ペランドの増加により命令で指定するレジスタ数が増え
る場合には、命令で指定するレジスタ数を抑えるべく、
入力用のマスクレジスタと出力用のマスクレジスタとし
て同一のものを使用する構成を採ることが好ましい。
【0023】一方、本発明を実現するために、乗算器1
5は、入力される2つのmビットデータの乗算値となる
2mビットデータを算出する機能を有するとともに、命
令に応答して、乗算値の上位mビットデータか下位mビ
ットデータのいずれか一方を選択して出力するセレクタ
を持つ構成を採る。
【0024】更に、本発明のベクトル処理装置1では、
レジスタからの入力を指示する命令の指定するレジスタ
番号が、特定のベクトルレジスタ12あるいは特定のマ
スクレジスタ13を指すときには、そのレジスタからの
データをゼロ値として扱って入力処理を実行し、レジス
タへの出力を指示する命令の指定するレジスタ番号が、
特定のベクトルレジスタ12あるいは特定のマスクレジ
スタ13を指すときには、そのレジスタへのデータ出力
処理を実行しないように構成する。
【0025】この構成を採ることで、特定のレジスタを
指定すれば、同じ命令でも色々な実行ができるために命
令数を抑えることができるようになる。そして、レジス
タの初期化が不要になるとともに、レジスタの使用数を
抑えることもできるようになる。
【0026】
【作用】本発明の加算器14は、ベクトルオペランドの
被加数と加数の他に、マスクレジスタ13に書き込まれ
るキャリーアウトデータを入力として加算処理を実行し
て、その加算結果により生ずるキャリーアウトデータを
マスクレジスタ13に書き込んでいく。
【0027】このように、キャリーアウトデータをマス
クレジスタ13に格納していく構成を採ることから、従
来技術のように、ベクトルシフト命令を実行しながらベ
クトル加算命令を実行していくという構成を採る必要が
なくなり、少ない命令数でもって高速にベクトル加算命
令を実行できるようになる。
【0028】また、本発明の乗算器15は、入力される
2つのmビットデータの乗算値となる2mビットデータ
を算出する機能を有する。すなわち、従来の乗算器で
は、部分積を求め、それらをシフトしつつ加算すること
で、入力される2つのmビットデータの乗算値となるm
ビットデータを算出する構成を採っているのに対して、
本発明の乗算器15では、部分積を求めることなく、直
接、乗算値となる2mビットデータを算出する構成を採
っている。例えば、64ビットのデータと、64ビット
のデータとを乗算して、128ビットの乗算結果のデー
タを算出するのである。
【0029】これから、従来の乗算器では、内部で実行
する乗算回数が多くなるとともに、内部に、部分積をシ
フトし加算する機能を持たなくてはならないという問題
点があったが、本発明の乗算器15では、これを解決で
きることになる。
【0030】しかるに、乗算器15に入力されるデータ
がmビット構成であるときには、加算器14に入力され
るデータもmビット構成を採るので、乗算器15が2m
ビットのデータを出力したのでは整合性を保てない。こ
れから、本発明の乗算器15では、命令に応答して、乗
算値の上位mビットデータか下位mビットデータのいず
れか一方を選択して出力するセレクタを持つ構成を採る
ことで、これに対処している。
【0031】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。図1で説明したように、本発明の加算器14は、ベ
クトルオペランドの被加数と加数の他に、マスクレジス
タ13に書き込まれるキャリーアウトデータを入力とし
て加算処理を実行して、その加算結果により生ずるキャ
リーアウトデータをマスクレジスタ13に書き込む構成
を採っている。
【0032】すなわち、図2に示すように、ベクトルレ
ジスタ12から読み込む被加数と、ベクトルレジスタ1
2から読み込む加数と、マスクレジスタ13から読み込
むキャリーアウトデータとを入力して加算処理を実行し
て、その加算値をベクトルレジスタ12に書き込むとと
もに、その加算処理により生じたキャリーアウトデータ
をマスクレジスタ13に書き込む構成を採るのである。
【0033】マスクレジスタ13から読み込むキャリー
アウトデータは、1ビットのデータであることから、こ
の加算処理は簡単なハードウェア構成により実現できる
ことになる。
【0034】一方、図1で説明したように、本発明の乗
算器15は、入力される2つのmビットデータの乗算値
となる2mビットデータを算出する機能を有するととも
に、命令に応答して、乗算値の上位mビットデータか下
位mビットデータのいずれか一方を選択して出力するセ
レクタを持つ構成を採る。
【0035】すなわち、図3に示すように、ベクトルレ
ジスタ12から読み込むmビットの被乗数と、ベクトル
レジスタ12から読み込むmビットの乗数とを入力とし
て乗算処理を実行して、その乗算値の2mビットのデー
タをラッチし、命令に応答して、その乗算値の上位mビ
ットデータか下位mビットデータのいずれか一方を選択
して出力するセレクタを持つ構成を採るのである。
【0036】次に、本発明の加算器14を用いて実行さ
れるベクトル加算処理について、160ビットの被加数
と160ビットの加数との加算処理を例にして説明す
る。加算器14が64ビット同士の加算処理を実行する
場合には、図10で示したように、64ビットの3つの
レジスタ(vr00,vr01,vr02)からなる被加数用
のレジスタと、64ビットの3つのレジスタ(vr03,
vr04,vr05)からなる加数用のレジスタとを用意し
て、図4に示す形式、すなわち、図5に図式化する形式
に従って、その被加数用のレジスタに160ビットの被
加数を格納するとともに、加数用のレジスタに160ビ
ットの加数を格納する。
【0037】そして、図6に示すベクトル命令列を発行
することで、160ビットの被加数と160ビットの加
数との加算処理を実行する。ここで、 「VAC vr1,vr2,mr1,vr3,mr
2」 は、ベクトルレジスタvr1とベクトルレジスタvr2
とマスクレジスタmr1との加算結果をベクトルレジス
タvr3に格納するとともに、そのとき発生するキャリ
ーアウトデータをマスクレジスタmr2に格納しろとい
うベクトル加算命令である。
【0038】すなわち、図6に示すベクトル命令列に従
い、先ず最初に、(1) のベクトル加算命令VACに従っ
て、ベクトルレジスタvr02の被加数部分と、ベクトル
レジスタvr05の加数部分と、初期値としてゼロ値を格
納するマスクレジスタmr00の格納データとを加算して
ベクトルレジスタvr08に格納するとともに、このとき
発生する桁上げ値のキャリーアウトデータをマスクレジ
スタmr01に格納する。
【0039】続いて、(2) のベクトル加算命令VACに
従って、ベクトルレジスタvr01の被加数部分と、ベク
トルレジスタvr04の加数部分と、マスクレジスタmr
01に格納されるキャリーアウトデータとを加算してベク
トルレジスタvr07に格納するとともに、このとき発生
する桁上げ値のキャリーアウトデータをマスクレジスタ
mr02に格納する。
【0040】最後に、(3) のベクトル加算命令VACに
従って、ベクトルレジスタvr00の被加数部分と、ベク
トルレジスタvr03の加数部分と、マスクレジスタmr
02に格納されるキャリーアウトデータとを加算してベク
トルレジスタvr06に格納するとともに、このとき発生
する桁上げ値のキャリーアウトデータをマスクレジスタ
mr00に格納する。
【0041】このように、本発明の加算器14を用いる
ベクトル処理装置1では、図7に示すように、マスクレ
ジスタmr00,01,02を使いつつ、3個のベクトル加算命
令を発行することで、160ビットの被加数と160ビ
ットの加数との加算値を算出できることになる。これに
対して、従来技術に従っていると、図13で説明したよ
うに、11個のベクトル加算命令/ベクトルシフト命令
を発行しなければならない。
【0042】次に、本発明の乗算器15を用いて実行さ
れるベクトル乗算処理について説明する。図8に示すよ
うに、4倍精度データでは、112ビットの仮数を持っ
ている。これから、4倍精度の乗算処理では、乗算結果
の仮数を求めるために、図9に示すオペランドの乗算処
理を実行する必要がある。
【0043】これから、本発明の乗算器15を用いて実
行されるベクトル乗算処理について、128ビットの被
乗数と128ビットの乗数との乗算処理を例にして説明
する。
【0044】乗算器15が64ビット同士の乗算処理を
実行する場合には、図10に示すように、128ビット
の被乗数用のレジスタ(上位64ビット部分を“0
1”、下位64ビット部分を“02”で表してある)
と、128ビットの乗数用のレジスタ(上位64ビット
部分を“03”、下位64ビット部分を“04”で表し
てある)とを用意して、その被乗数レジスタに128ビ
ットの被乗数(上位64ビット部分をA1、下位64ビ
ット部分をA2で表してある)を格納するとともに、そ
の乗数レジスタに128ビットの乗数(上位64ビット
部分をB1、下位64ビット部分をB2で表してある)
を格納する。
【0045】そして、図11に示すベクトル命令列を発
行することで、図12に図式化する乗算過程に従いつ
つ、128ビットの被乗数と128ビットの乗数との乗
算処理を実行する。ここで、 「VML vr1,vr2,vr3」 は、ベクトルレジスタvr1とベクトルレジスタvr2
との乗算結果の下位64ビットをベクトルレジスタvr
3に格納しろというベクトル乗算命令であり、 「VMU vr1,vr2,vr3」 は、ベクトルレジスタvr1とベクトルレジスタvr2
との乗算結果の上位64ビットをベクトルレジスタvr
3に格納しろというベクトル乗算命令であり、 「VAC vr1,vr2,mr1,vr3,mr
2」 は、ベクトルレジスタvr1とベクトルレジスタvr2
とマスクレジスタmr1との加算結果をベクトルレジス
タvr3に格納するとともに、そのとき発生するキャリ
ーアウトデータをマスクレジスタmr2に格納しろとい
うベクトル加算命令である。
【0046】すなわち、図11に示すベクトル命令列に
従い、先ず最初に、(1) のベクトル乗算命令VMLに従
って、ベクトルレジスタvr02の被乗数部分A2と、ベ
クトルレジスタvr04の乗数部分B2とを乗算して、乗
算器15のセレクタを制御することで出力されるその乗
算結果の下位64ビットのA2B2Lをベクトルレジス
タvr23に格納する。
【0047】続いて、(2) のベクトル乗算命令VMUに
従って、ベクトルレジスタvr02の被乗数部分A2と、
ベクトルレジスタvr04の乗数部分B2とを乗算して、
乗算器15のセレクタを制御することで出力されるその
乗算結果の上位64ビットのA2B2Uをベクトルレジ
スタvr05に格納する。
【0048】続いて、(3) のベクトル乗算命令VMLに
従って、ベクトルレジスタvr01の被乗数部分A1と、
ベクトルレジスタvr04の乗数部分B2とを乗算して、
乗算器15のセレクタを制御することで出力されるその
乗算結果の下位64ビットのA1B2Lをベクトルレジ
スタvr06に格納する。
【0049】続いて、(4) のベクトル加算命令VACに
従って、ベクトルレジスタvr05に格納されるA2B2
Uと、ベクトルレジスタvr06に格納されるA1B2L
と、初期値としてゼロ値を格納するマスクレジスタmr
00の格納データとを加算してベクトルレジスタvr07に
格納するとともに、このとき発生する桁上げ値のキャリ
ーアウトデータをマスクレジスタmr01に格納する。
【0050】続いて、(5) のベクトル乗算命令VMLに
従って、ベクトルレジスタvr02の被乗数部分A2と、
ベクトルレジスタvr03の乗数部分B1とを乗算して、
乗算器15のセレクタを制御することで出力されるその
乗算結果の下位64ビットのA2B1Lをベクトルレジ
スタvr08に格納する。
【0051】続いて、(6) のベクトル加算命令VACに
従って、ベクトルレジスタvr07の格納データと、ベク
トルレジスタvr08に格納されるA2B1Lと、初期値
としてゼロ値を格納するマスクレジスタmr00の格納デ
ータとを加算してベクトルレジスタvr22に格納すると
ともに、このとき発生する桁上げ値のキャリーアウトデ
ータをマスクレジスタmr02に格納する。
【0052】続いて、(7) のベクトル乗算命令VMUに
従って、ベクトルレジスタvr01の被乗数部分A1と、
ベクトルレジスタvr04の乗数部分B2とを乗算して、
乗算器15のセレクタを制御することで出力されるその
乗算結果の上位64ビットのA1B2Uをベクトルレジ
スタvr10に格納する。
【0053】続いて、(8) のベクトル乗算命令VMUに
従って、ベクトルレジスタvr02の被乗数部分A2と、
ベクトルレジスタvr03の乗数部分B1とを乗算して、
乗算器15のセレクタを制御することで出力されるその
乗算結果の上位64ビットのA2B1Uをベクトルレジ
スタvr11に格納する。
【0054】続いて、(9) のベクトル加算命令VACに
従って、ベクトルレジスタvr10に格納されるA1B2
Uと、ベクトルレジスタvr11に格納されるA2B1U
と、マスクレジスタmr01に格納されるキャリーアウト
データとを加算してベクトルレジスタvr12に格納する
とともに、このとき発生する桁上げ値のキャリーアウト
データをマスクレジスタmr00に格納する。
【0055】続いて、(10)のベクトル乗算命令VMLに
従って、ベクトルレジスタvr01の被乗数部分A1と、
ベクトルレジスタvr03の乗数部分B1とを乗算して、
乗算器15のセレクタを制御することで出力されるその
乗算結果の下位64ビットのA1B1Lをベクトルレジ
スタvr13に格納する。
【0056】続いて、(11)のベクトル加算命令VACに
従って、ベクトルレジスタvr12の格納データと、ベク
トルレジスタvr13に格納されるA1B1Lと、マスク
レジスタmr02に格納されるキャリーアウトデータとを
加算してベクトルレジスタvr21に格納するとともに、
このとき発生する桁上げ値のキャリーアウトデータをマ
スクレジスタmr03に格納する。
【0057】続いて、(12)のベクトル乗算命令VMUに
従って、ベクトルレジスタvr01の被乗数部分A1と、
ベクトルレジスタvr03の乗数部分B1とを乗算して、
乗算器15のセレクタを制御することで出力されるその
乗算結果の上位64ビットのA1B1Uをベクトルレジ
スタvr15に格納する。
【0058】最後に、(13)のベクトル加算命令VACに
従って、初期値としてゼロ値を格納するマスクレジスタ
vr00の格納データと、ベクトルレジスタvr15に格納
されるA1B1Uと、マスクレジスタmr03に格納され
るキャリーアウトデータとを加算してベクトルレジスタ
vr20に格納するとともに、このとき発生する桁上げ値
のキャリーアウトデータをマスクレジスタmr00に格納
する。
【0059】このように、本発明の乗算器15を用いる
ベクトル処理装置1では、64ビット同士の乗算処理に
より求まる128ビットの乗算結果の上位64ビットか
下位64ビットのいずれかを取り出しながら、本発明の
加算器14を用いつつ、128ビットの被乗数と128
ビットの乗数との乗算値を算出していくのである。
【0060】なお、この構成にあって、マスクレジスタ
mr00やベクトルレジスタvr00には、ゼロ値を格納し
ておく必要はなく、そのようなレジスタ番号が指定され
るときには、ゼロ値の入力指定があったと見なしていく
構成を採ってもよい。また、mr00へ書き込むキャリー
アウトデータは、実際には後で使用するものではない。
これから、そのようなレジスタ番号が指定されるときに
は、実際の書込処理を行わないことで、元のデータを壊
さないようにする構成を採ってもよい。また、ベクトル
加算命令VACでは、5個のレジスタを指定しなければ
ならないが、入力と出力とでマスクレジスタを共通にす
れば、4個のレジスタの指定で済むことになる。
【0061】
【発明の効果】以上説明したように、本発明のベクトル
処理装置によれば、キャリーアウトデータをマスクレジ
スタに格納していく構成を採ることから、従来技術のよ
うに、ベクトルシフト命令を実行しながらベクトル加算
命令を実行していくという構成を採る必要がなくなり、
少ない命令数でもって高速にベクトル加算命令を実行で
きるようになる。
【0062】また、本発明の乗算器では、入力される2
つのmビットデータの乗算値となる2mビットデータを
算出する機能を有するとともに、命令に応答して、乗算
値の上位mビットデータか下位mビットデータのいずれ
か一方を選択して出力するセレクタを持つ構成を採るこ
とから、従来技術の問題点を解決できるようになるとと
もに、ベクトル処理装置の持つmビットのレジスタや、
mビット入力仕様の加算器との整合性を保てることにな
る。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の加算器の一実施例である。
【図3】本発明の乗算器の一実施例である。
【図4】被加数及び加数の格納処理の説明図である。
【図5】被加数及び加数の格納処理の説明図である。
【図6】本発明で発行するベクトル加算命令の説明図で
ある。
【図7】本発明の加算処理の説明図である。
【図8】4倍精度データのデータフォーマットの説明図
である。
【図9】4倍精度乗算処理のオペランドの説明図であ
る。
【図10】被乗数及び乗数の格納処理の説明図である。
【図11】本発明で発行するベクトル乗算命令の説明図
である。
【図12】本発明の乗算処理の説明図である。
【図13】従来技術の説明図である。
【図14】従来技術の説明図である。
【図15】従来技術の説明図である。
【図16】従来技術の説明図である。
【図17】従来技術の説明図である。
【符号の説明】
1 ベクトル処理装置 10 CPU 11 ベクトル命令制御機構 12 ベクトルレジスタ 13 マスクレジスタ 14 加算器 15 乗算器

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも、ベクトルレジスタとマスク
    レジスタと加算器とを備えて、ベクトル処理を実行する
    ベクトル処理装置において、 加算器に対して、ベクトルオペランドの加数と被加数の
    他に、マスクレジスタのデータを入力する構成を採るこ
    とを、 特徴とするベクトル処理装置。
  2. 【請求項2】 少なくとも、ベクトルレジスタとマスク
    レジスタと加算器とを備えて、ベクトル処理を実行する
    ベクトル処理装置において、 加算器の算出するキャリーアウトデータをマスクレジス
    タへ出力する構成を採ることを、 特徴とするベクトル処理装置。
  3. 【請求項3】 少なくとも、ベクトルレジスタとマスク
    レジスタと加算器とを備えて、ベクトル処理を実行する
    ベクトル処理装置において、 加算器に対して、ベクトルオペランドの加数と被加数の
    他に、マスクレジスタのデータを入力し、かつ、加算器
    の算出するキャリーアウトデータをマスクレジスタへ出
    力する構成を採り、 更に、加算器入力用のマスクレジスタと加算器出力用の
    マスクレジスタとして、同一のものを使用する構成を採
    ることを、 特徴とするベクトル処理装置。
  4. 【請求項4】 入力される2つのmビットデータの乗算
    値となる2mビットデータを算出する乗算器であって、 命令に応答して、乗算値の上位mビットデータか下位m
    ビットデータのいずれか一方を選択して出力するセレク
    タを持つことを、 特徴とする乗算器。
  5. 【請求項5】 少なくとも、ベクトルレジスタとマスク
    レジスタと加算器と乗算器とを備えて、ベクトル処理を
    実行するベクトル処理装置において、 乗算器として、入力される2つのmビットデータの乗算
    値となる2mビットデータを算出するとともに、命令に
    応答して、乗算値の上位mビットデータか下位mビット
    データのいずれか一方を選択して出力するセレクタを持
    つものを使用し、 更に、加算器に対して、上記セクレタの出力するデータ
    を加数、被加数として入力するとともに、その他に、マ
    スクレジスタのデータを入力し、かつ、加算器の算出す
    るキャリーアウトデータをマスクレジスタへ出力する構
    成を採ることを、 特徴とするベクトル処理装置。
  6. 【請求項6】 請求項5記載のベクトル処理装置におい
    て、 加算器入力用のマスクレジスタと加算器出力用のマスク
    レジスタとして、同一のものを使用する構成を採ること
    を、 特徴とするベクトル処理装置。
  7. 【請求項7】 ベクトルレジスタとマスクレジスタとベ
    クトル演算器とを備えて、ベクトル処理を実行するベク
    トル処理装置において、 レジスタからの入力を指示する命令の指定するレジスタ
    番号が、特定のベクトルレジスタあるいは特定のマスク
    レジスタを指すときには、該レジスタからのデータをゼ
    ロ値として扱って入力処理を実行し、 レジスタへの出力を指示する命令の指定するレジスタ番
    号が、特定のベクトルレジスタあるいは特定のマスクレ
    ジスタを指すときには、該レジスタへのデータ出力処理
    を実行しないよう構成を採ることを、 特徴とするベクトル処理装置。
JP04676395A 1995-03-07 1995-03-07 ベクトルデータ加算方法及びベクトルデータ乗算方法 Expired - Fee Related JP3691538B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04676395A JP3691538B2 (ja) 1995-03-07 1995-03-07 ベクトルデータ加算方法及びベクトルデータ乗算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04676395A JP3691538B2 (ja) 1995-03-07 1995-03-07 ベクトルデータ加算方法及びベクトルデータ乗算方法

Publications (2)

Publication Number Publication Date
JPH08241302A true JPH08241302A (ja) 1996-09-17
JP3691538B2 JP3691538B2 (ja) 2005-09-07

Family

ID=12756384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04676395A Expired - Fee Related JP3691538B2 (ja) 1995-03-07 1995-03-07 ベクトルデータ加算方法及びベクトルデータ乗算方法

Country Status (1)

Country Link
JP (1) JP3691538B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021507348A (ja) * 2017-12-13 2021-02-22 エイアールエム リミテッド ベクトル・キャリー付き加算命令

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8667042B2 (en) * 2010-09-24 2014-03-04 Intel Corporation Functional unit for vector integer multiply add instruction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021507348A (ja) * 2017-12-13 2021-02-22 エイアールエム リミテッド ベクトル・キャリー付き加算命令

Also Published As

Publication number Publication date
JP3691538B2 (ja) 2005-09-07

Similar Documents

Publication Publication Date Title
US7724261B2 (en) Processor having a compare extension of an instruction set architecture
US6742012B2 (en) Apparatus and method for performing multiplication operations
JPH0749772A (ja) 除算及び開平算に関して修正ニュートン−ラプソン技術を用いる浮動小数点演算装置
JP3418460B2 (ja) 倍精度除算回路および方法
JPS6347874A (ja) 算術演算装置
JPH0850575A (ja) プログラマブルプロセッサ、前記プログラマブルプロセッサを用いてデジタル信号処理を行なうための方法およびその改良
JPH0863353A (ja) 掛け算累算命令を使用したデータ処理
JP2002149400A (ja) 複数レジスタ指定が可能なsimd演算方式
JPH0659861A (ja) 3−1論理演算装置
JP3476960B2 (ja) 算術論理演算装置及び制御方法
JPH0477932B2 (ja)
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
JP3723115B2 (ja) 単一命令多重データ処理
JP3691538B2 (ja) ベクトルデータ加算方法及びベクトルデータ乗算方法
JP4601544B2 (ja) 入力値に逆数演算を実施して結果値を作り出すデータ処理装置および方法
JP2003241960A (ja) プロセッサ、該プロセッサにおける演算命令処理方法及び演算制御方法
JPH04172526A (ja) 浮動小数点除算器
US7237000B2 (en) Speed of execution of a conditional subtract instruction and increasing the range of operands over which the instruction would be performed correctly
EP1163591A4 (en) PROCESSOR OF A COMPARISON EXPANSION OF A COMMAND SET ARCHITECTURE
JP3583443B2 (ja) 演算装置および演算方法
WO2000048080A9 (en) Processor having a compare extension of an instruction set architecture
JPS61173345A (ja) 計算機システム
JPH0445860B2 (ja)
JP2625510B2 (ja) 計算機システム
JP2001092633A (ja) 複数の結果を出力する命令を有する演算装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050616

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130624

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees