JP3693873B2 - マスクビット数演算装置、ベクトル処理装置、情報処理装置 - Google Patents
マスクビット数演算装置、ベクトル処理装置、情報処理装置 Download PDFInfo
- Publication number
- JP3693873B2 JP3693873B2 JP35415599A JP35415599A JP3693873B2 JP 3693873 B2 JP3693873 B2 JP 3693873B2 JP 35415599 A JP35415599 A JP 35415599A JP 35415599 A JP35415599 A JP 35415599A JP 3693873 B2 JP3693873 B2 JP 3693873B2
- Authority
- JP
- Japan
- Prior art keywords
- mask
- vector
- mask bit
- result
- vector length
- 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 - Fee Related
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
【発明の属する技術分野】
本発明はベクトル演算処理装置に関し、特にマスクビット生成命令実行時のベクトル長と有効なマスクビットの数を数える演算の高速化に関する。
【0002】
【従来の技術】
従来、ベクトルレジスタの各ワード毎に対応しベクトルデータの演算有効又は無効を判別するマスクビットに対して、マスクビットの数を数える演算(以後PCNT演算とする)演算において加算カウンタ手段を用いた場合は、マスクビット生成処理が入力データとある値を比較して有効か無効かを示す事からマスクビット生成処理中に加算処理を行っていた。または、マスクビット一括演算手段を用いていた。
【0003】
特開平7−271765号公報「ベクトル演算装置」には,マスクデータの全ビットに対して先頭ビットから有効ベクトル長で指定された値のビットまでのマスクデータはそのまま出力し、有効ベクトル長で指定された値のビットから最大有効長ビットまでのマスクデータをそのまま出力し、有効ベクトル長で
指定された値のビットから最大有効長ビットまでのマスクデータは”0”に差し替え出力する有効ビット判定部と、有効ビット判定済みのすべてのマスクデータに対して値が”1”であるビット数を計算するビット”1”カウント演算部を有するベクトル演算装置が開示されている。
【0004】
【発明が解決しようとする課題】
従来、ベクトルレジスタの各ワード毎に対応しベクトルデータの演算有効又は無効を判別するマスクビットに対して、PCNT演算において加算カウンタ手段を用いた場合は、マスクビット生成処理が入力データとある値を比較して有効か無効かを示す事からマスクビット生成処理中に加算処理を行う事ができるが、ベクトル長が変化した場合、再度加算カウンタ手段で計算を行わなければならないという問題点があった。他方マスクビット一括演算手段を用いた場合は、マスクビット生成処理が完了した後、ベクトル長の変化を考慮し再計算する事無く一括して演算を行う事が出来るが、ベクトル長が変化しない場合はマスクビット生成処理中にカウンタを用いて行った演算と比較し、低速であるという欠点があった。
【0005】
特開平7−271765号公報「ベクトル演算装置」には,ベクトル長の変化を考慮していない。
【0006】
【課題を解決するための手段】
本発明第一のマスクビット数演算装置は、複数の構成要素からなるベクトルの前記要素の有効無効を表すマスクビットを格納する複数のマスクレジスタを有するマスクビット数演算装置であって、演算対象となる前記要素に対応した前記要素の有効無効を表すマスクビット生成命令実行時のベクトル長と有効な前記マスクビットの数を数える演算での前記ベクトル長を比較し、前記マスクデータを要素の所定の値との比較結果毎に順次加算処理を行い、前記ベクトル長が一致した場合に前記加算処理の結果を出力することを特徴とするマスクビット数演算装置。
【0007】
本発明第二のマスクビット数演算装置は、複数の構成要素からなるベクトルの前記要素の有効無効を表すマスクビットを格納する複数のマスクレジスタを有するマスクビット数演算装置であって、演算対象となる前記要素に対応した前記要素の有効無効を表すマスクビット生成命令実行時のベクトル長と有効な前記マスクビットの数を数える演算での前記ベクトル長を比較し、前記ベクトル長が一致しない場合に前記マスクビットの前記有効な前記マスクビットの数を数える演算を一括して前記マスクビット一括演算手段で行う。
【0008】
本発明第三のマスクビット数演算装置は、複数の構成要素からなるベクトルの前記要素の有効無効を表すマスクビットを格納する複数のマスクレジスタを有するマスクビット数演算装置であって、前記マスクビット数演算装置は、上位装置より出力された演算対象となるそれぞれの前記要素に対応し前記要素の有効無効を所定の値と比較して判別しマスクビットを生成するマスクビット生成手段と、前記マスクビット生成手段より生成された前記マスクビットを格納する複数のマスクレジスタと、前記マスクレジスタより出力された所定の値と比較してマスクビットをベクトル長を考慮して一括して有効な前記マスクビットの数を数える演算を行うマスクビット一括演算手段を有し、前記マスクレジスタ対応に設けられ前記マスクビットを生成した時の命令で指定された前記ベクトル長を格納保持するベクトル長保持手段Aと、前記マスクビット生成手段より出力された前記マスクデータと前記要素を前記所定の値と比較し、比較結果毎に順次加算処理を行う加算カウンタ手段と、前記加算カウンタ手段の結果を格納し保持する結果保持手段と、前記加算カウンタ手段で加算処理を行った前記有効な前記マスクビットの数を数える演算命令に対応する前記ベクトル長を格納するベクトル長保持手段Bと、前記有効な前記マスクビットの数を数える演算処理実行時に前記ベクトル長保持手段Aと前記ベクトル長保持手段Bに格納された前記ベクトル長の比較を行う結果選択制御手段とを有し、前記結果選択制御手段での比較結果によって一致した場合は前記結果保持手段より出力される結果を、不一致の場合は前記マスクレジスタに格納されている対応する全ての前記マスクビットの前記有効な前記マスクビットの数を数える演算を一括して前記マスクビット一括演算手段で行い、出力される結果を前記結果選択手段で選択し前記有効な前記マスクビットの数を数える演算の演算結果とする。
【0009】
本発明第四のマスクビット数演算装置は、 本発明第三のマスクビット数演算装置であって、前記結果選択制御手段、前記加算カウンタ手段、前記ベクトル長保持手段A、前記ベクトル長保持手段B、前記マスクビット一括演算手段、前記結果選択制御手段をハードウエア制御とした。
【0010】
本発明のベクトル処理装置は、本発明第一、第二、第三または第四のマスクビット数演算装置とベクトル命令処理装置を有する。
【0011】
本発明の情報処理装置は入出力装置と中央処理装置と主記憶装置と本発明のベクトル処理装置をバスで接続した。
【0012】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0013】
図1は、本発明実施の形態のマスクビット数演算装置の構成を示すブロック図である。図1を参照すると、主記憶装置1はベクトルデータが格納されている。主記憶装置1は格納されているベクトルデータをベクトルレジスタ21に対して出力する。
【0014】
マスクビット生成命令はベクトル命令処理装置22により解釈される。マスクビット生成命令により、マスクビット生成手段233はベクトルレジスタ21より出力されたベクトルデータの要素が有効であるか無効であるかを各要素に対して比較する。マスクビット生成手段233は、各要素の比較処理が出来次第、比較結果として逐次マスクビットを出力する。加算カウンタ手段236は、マスクビット生成処理中に次処理対象命令として有効なマスクビットの数を数える演算(以後PCNT演算とする)を行う場合、マスクビット生成手段233より逐次出力されているマスクビットの値を逐次累積加算する。ベクトル長保持手段B238は、PCNT演算処理のベクトル長を格納し保持するレジスタを有する。結果保持手段237は、加算カウンタ手段236の結果を格納し保持するレジスタを有する。マスクビット生成命令時にマスクビット生成手段233からマスクレジスタ234に対してマスクビットが格納されるが、ベクトル長保持手段A235は、マスクレジスタ234に格納されたマスクビットと対応しマスク生成命令のベクトル長を格納する。
【0015】
結果選択制御手段231では、マスクビット生成命令終了時にベクトル長保持手段A235に保持してあるマスクビット生成命令のベクトル長と、ベクトル長格納手段B238に保持してあるベクトル長の比較を行う。比較の結果ベクトル長が一致した場合、結果選択制御手段231は、結果保持手段237に保持された値を選択し、不一致の場合は、マスクビット一括演算手段239の出力を選択する。マスクビット一括演算手段239は、結果選択手段232で不一致となった場合にあらためてマスクレジスタ234より格納されている全てのマスクビットを読み出し、PCNT演算のベクトル長に従い、PCNT演算を行う。
【0016】
次に、本発明の実施の形態の動作について図面を参照して説明する。マスクビット生成命令はベクトル命令処理装置22により解釈される。マスクビット生成命令により、主記憶装置1からベクトルデータが複数のベクトルレジスタ21に対して出力される。この時、マスクビット生成命令のベクトル長をベクトル長格納保持手段A235に格納する。ベクトルレジスタ21より出力されたベクトルデータの要素が有効であるか無効であるかを各要素に対して比較するマスクビット生成手段233は、各要素の比較処理が出来次第、比較結果として逐次マスクビットを出力する。
【0017】
マスクビット生成命令処理実行中にPCNT演算を発行した場合、加算カウンタ手段236は、逐次出力される各要素に対するマスクビットの累積加算処理を行う。同時に当該PCNT演算のベクトル長をベクトル長保持手段B238に格納し保持しておく。また、マスクレジスタに対してはPCNT演算の有無に関わらずマスクビット生成手段233での比較生成されたマスクビットが出来次第、値を格納する。
【0018】
マスクビット生成手段233において全ての要素に対する比較が終わった時点で、PCNT命令が発行されていた場合、加算カウンタ手段236では、全ての要素に対する累積加算処理は完了する。結果保持手段237は、加算カウンタ手段236の累積加算結果を格納する。同時に結果選択制御手段231は、ベクトル長保持手段A235に格納されているマスクデータ生成命令のベクトル長とベクトル長保持手段B238に格納されているPCNT演算のベクトル長の比較を行う。
【0019】
比較結果が一致していた場合、即ちマスクビット生成命令とPCNT演算の有効ベクトル長が同一の場合は、加算カウンタ手段236で累積加算した結果をPCNT演算の結果と出来る事から、結果選択手段232に対して結果保持手段237の値を選択する。
【0020】
比較結果が不一致の場合は、加算カウンタ手段236で累積加算した結果をPCNT演算の結果とできない為、改めてマスクレジスタ234より当該マスク生成命令結果として格納された全てのマスクビットを読み出し指示を行う。マスクビット一括演算手段239では、PCNT演算の指示を受けた時、該命令のベクトル長を適用し、マスクレジスタ234より読み出されたマスクデータのに対して一括演算処理を行う。結果選択手段232は、改めてマスクビット一括演算手段239でPCNT演算を行った場合、この結果をPCNT演算の結果とし結果選択手段232に対してマスクビット一括演算手段239の値を選択する様指示する。
【0021】
図2は、本発明実施の形態のベクトル処理装置の構成を示すブロック図である。ベクトル処理装置2は、上位装置9から命令とベクトルレジスタ21を経由してデータの供給を受け、ベクトル命令処理装置22で命令を処理し、マスクビット数演算装置23で演算し、結果をベクトル命令処理装置22へ返す。ベクトル命令処理装置22はされに上位装置9へ結果を転送する。
【0022】
図3は、本発明の実施の形態の情報処理装置を示すブロック図である。
【0023】
本発明の情報処理装置は、ベクトル演算装置2、中央処理装置3、主記憶装置1、入出力装置4、およびそれぞれを接続するバス5から構成される。中央処理装置3は入出力装置4および主記憶装置1とバス5で接続されている。また、主記憶装置1は、中央処理装置3および入出力装置4とバス5で接続されている。中央処理装置3は主記憶装置1内に格納された制御プログラムを読み出し、その指示に従って入出力装置4あるいはベクトル演算装置2に対し指示を出し、入出力装置4からの情報をバス5を経由して主記憶装置1へストアしまたは主記憶装置1内の情報を読み出し入出力装置4へ書き込む。
【0024】
【発明の効果】
この様にマスクビットの逐次累積加算処理を行う加算カウンタ手段236と、ベクトル長保持手段A235とベクトル長保持手段B238、および結果選択制御手段231と結果選択制御手段231を用いる事により、ベクトル長保持手段A235に格納されたマスクデータ生成命令のベクトル長とベクトル長保持手段B238に格納されたPCNT演算のベクトル長を比較する事により、マスクビット生成命令処理が完了した時点でPCNT演算結果が求められる事から、両ベクトル長が一致した場合はマスクビット一括演算手段239のみでPCNT演算を行う装置より高速にPCNT演算の結果を出力する事が出来るという効果を有する。
【図面の簡単な説明】
【図1】本発明実施の形態のマスクビット数演算装置の構成を示すブロック図である。
【図2】本発明実施の形態のベクトル処理装置の構成を示すブロック図である。
【図3】本発明実施の形態の情報処理装置の構成を示すブロック図である。
【符号の説明】
1 主記憶装置
2 ベクトル処理装置
3 中央処理装置
4 入出力装置
5 バス
9 上位装置
21 ベクトルレジスタ
22 ベクトル命令処理装置
23 マスクビット数演算装置
231 結果選択制御手段
232 結果選択手段
233 マスクビット生成手段
234 マスクレジスタ
235 ベクトル長保持手段A
236 加算カウンタ手段
237 結果保持手段
238 ベクトル長保持手段B
239 マスクビット一括演算手段
Claims (6)
- 複数の構成要素からなるベクトルの前記要素の有効無効を表すマスクビットを格納する複数のマスクレジスタを有するマスクビット数演算装置であって、演算対象となる前記要素に対応した前記要素の有効無効を表すマスクビット生成命令実行時のベクトル長と有効な前記マスクビットの数を数える演算での前記ベクトル長を比較し、前記マスクデータを要素の所定の値との比較結果毎に順次加算処理を行い、前記ベクトル長が一致した場合に前記加算処理の結果を出力することを特徴とするマスクビット数演算装置。
- 複数の構成要素からなるベクトルの前記要素の有効無効を表すマスクビットを格納する複数のマスクレジスタを有するマスクビット数演算装置であって、演算対象となる前記要素に対応した前記要素の有効無効を表すマスクビット生成命令実行時のベクトル長と有効な前記マスクビットの数を数える演算での前記ベクトル長を比較し、前記ベクトル長が一致しない場合に有効な前記マスクビットの数を数える演算を一括して前記マスクビット一括演算手段で行うことを特徴とするマスクビット数演算装置。
- 複数の構成要素からなるベクトルの前記要素の有効無効を表すマスクビットを格納する複数のマスクレジスタを有するマスクビット数演算装置であって、
前記マスクビット数演算装置は、上位装置より出力された演算対象となるそれぞれの前記要素に対応し前記要素の有効無効を所定の値と比較して判別しマスクビットを生成するマスクビット生成手段と、前記マスクビット生成手段より生成された前記マスクビットを格納する複数のマスクレジスタと、前記マスクレジスタより出力された所定の値と比較してマスクビットをベクトル長を考慮して一括して有効な前記マスクビットの数を数える演算を行うマスクビット一括演算手段を有し、
前記マスクレジスタ対応に設けられ前記マスクビットを生成した時の命令で指定された前記ベクトル長を格納保持するベクトル長保持手段Aと、前記マスクビット生成手段より出力された前記マスクデータと前記要素を前記所定の値と比較し、比較結果毎に順次加算処理を行う加算カウンタ手段と、前記加算カウンタ手段の結果を格納し保持する結果保持手段と、前記加算カウンタ手段で加算処理を行った有効な前記マスクビットの数を数える演算命令に対応する前記ベクトル長を格納するベクトル長保持手段Bと、前記有効な前記マスクビットの数を数える演算処理実行時に前記ベクトル長保持手段Aと前記ベクトル長保持手段Bに格納された前記ベクトル長の比較を行う結果選択制御手段とを有し、
前記結果選択制御手段での比較結果によって一致した場合は前記結果保持手段より出力される結果を、不一致の場合は前記マスクレジスタに格納されている対応する全ての前記マスクビットの前記有効な前記マスクビットの数を数える演算を一括して前記マスクビット一括演算手段で行い、出力される結果を前記結果選択手段で選択し前記有効な前記マスクビットの数を数える演算の演算結果とする事を特徴とするマスクビット数演算装置。 - 請求項3記載のマスクビット数演算装置において、前記結果選択制御手段、前記加算カウンタ手段、前記ベクトル長保持手段A、前記ベクトル長保持手段B、前記マスクビット一括演算手段、前記結果選択制御手段をハードウエア制御としたことを特徴とするマスクビット数演算装置。
- 請求項1、2、3または4記載のマスクビット数演算装置とベクトル命令処理装置を有することを特徴とするベクトル処理装置。
- 入出力装置と中央処理装置と主記憶装置と請求項5記載のベクトル処理装置をバスで接続したことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35415599A JP3693873B2 (ja) | 1999-12-14 | 1999-12-14 | マスクビット数演算装置、ベクトル処理装置、情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35415599A JP3693873B2 (ja) | 1999-12-14 | 1999-12-14 | マスクビット数演算装置、ベクトル処理装置、情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001167083A JP2001167083A (ja) | 2001-06-22 |
JP3693873B2 true JP3693873B2 (ja) | 2005-09-14 |
Family
ID=18435665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35415599A Expired - Fee Related JP3693873B2 (ja) | 1999-12-14 | 1999-12-14 | マスクビット数演算装置、ベクトル処理装置、情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3693873B2 (ja) |
-
1999
- 1999-12-14 JP JP35415599A patent/JP3693873B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001167083A (ja) | 2001-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3188467B2 (ja) | 最小値・最大値検索装置 | |
US8199910B2 (en) | Signature generation apparatus and signature verification apparatus | |
JPH0444970B2 (ja) | ||
JPH03286332A (ja) | デジタルデータ処理装置 | |
JP5979966B2 (ja) | 回路設計支援装置及び回路設計支援方法及びプログラム | |
CN115129297B (zh) | 多点乘运算系统、方法、图形处理器、电子装置及设备 | |
JP3693873B2 (ja) | マスクビット数演算装置、ベクトル処理装置、情報処理装置 | |
JPH02206867A (ja) | 分類学習装置 | |
EP0969370A2 (en) | Computer system having a cache memory and a tracing function | |
US5854919A (en) | Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit | |
JP3696625B2 (ja) | データ駆動型情報処理装置 | |
JP2989830B2 (ja) | ベクトル処理方法 | |
JP3067161B2 (ja) | ファジィ演算処理装置 | |
JPH0477349B2 (ja) | ||
JPH0520353A (ja) | ベクトルデータ処理装置 | |
JP2908117B2 (ja) | ベクトル演算処理装置 | |
JP4784514B2 (ja) | リストベクトル処理装置及び方法 | |
JPH01284926A (ja) | 演算装置の命令読出方式 | |
JPS60178540A (ja) | 情報処理装置におけるバイパス制御方式 | |
JPS6120907B2 (ja) | ||
JP2019028918A (ja) | 情報処理装置、方法、及びプログラム | |
Iwamoto et al. | Translational lemmas for alternating TMs and PRAMs | |
JPH05181642A (ja) | 演算装置 | |
JPH0398163A (ja) | ベクトルデータ処理装置 | |
JPH02266438A (ja) | ベクトル演算装置のチェック回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041019 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041202 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050314 |
|
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: 20050607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050622 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |