JPH0241070B2 - - Google Patents
Info
- Publication number
- JPH0241070B2 JPH0241070B2 JP56122024A JP12202481A JPH0241070B2 JP H0241070 B2 JPH0241070 B2 JP H0241070B2 JP 56122024 A JP56122024 A JP 56122024A JP 12202481 A JP12202481 A JP 12202481A JP H0241070 B2 JPH0241070 B2 JP H0241070B2
- Authority
- JP
- Japan
- Prior art keywords
- mask
- bit
- bits
- array
- vector
- 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
Links
- 239000013598 vector Substances 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 6
- 230000001629 suppression Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector 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図はマスク・ベクトルによる演算制御の一
例で、アレイA()の各エレメントの値にした
がい、アレイA()の一部のエレメントを、ア
レイB()、C()の対応するエレメント同志
の加算結果に置き換える、条件付きの繰返し処理
の例である。第1図では、特にアレイA()中
の0より小のエレメントについて、アレイB
()、C()の対応するエレメントの加算結果
と置き換える例を示している。まず、アレイA
()の各エレメント対応に、A()>0の場合
は“0”、A()<0の場合は“1”の値を示す
ビツト列を作成する。これがマスク・ベクトルで
あり、その各ビツトをマスク・ビツトと呼んでい
る。次に、このマスク・ベクトルにしたがい、値
が“1”であるマスク・ビツトに対応するアレイ
B(),C()のエレメント同志を加算し、結
果をA()の対応するエレメントに書き込む。
それ以外のアレイA()のエレメントは変化さ
せない。
例で、アレイA()の各エレメントの値にした
がい、アレイA()の一部のエレメントを、ア
レイB()、C()の対応するエレメント同志
の加算結果に置き換える、条件付きの繰返し処理
の例である。第1図では、特にアレイA()中
の0より小のエレメントについて、アレイB
()、C()の対応するエレメントの加算結果
と置き換える例を示している。まず、アレイA
()の各エレメント対応に、A()>0の場合
は“0”、A()<0の場合は“1”の値を示す
ビツト列を作成する。これがマスク・ベクトルで
あり、その各ビツトをマスク・ビツトと呼んでい
る。次に、このマスク・ベクトルにしたがい、値
が“1”であるマスク・ビツトに対応するアレイ
B(),C()のエレメント同志を加算し、結
果をA()の対応するエレメントに書き込む。
それ以外のアレイA()のエレメントは変化さ
せない。
第2図に、これをハードウエアで処理する方法
の概念図を示す。第2図において、1はデータア
レイが格納される記憶装置、100は演算の実行
や記憶装置1の読み書書きの制御などを行う演算
制御装置である。演算制御装置100では、ま
ず、記憶装置1よりアレイA()のエレメン
ト・データを順次読み出し、比較演算によりマス
ク・データ(マスク・ベクトル:m()を生成
し、マスク・レジスタ2に格納していく。このマ
スク・データ生成後またはマスク・データ生成を
行いながら、記憶装置1よりアレイB()、C
()を順次読み出して、マスク・レジスタ2の
対応するマスク・ビツトとともに加算器3へ供給
する。加算器3は、マスク・ビツトが“1”であ
るときのみB()+C()の演算を実行し、そ
れ以外は演算を抑止する。演算結果は、対応する
マスク・ビツトとともに記憶装置1へ転送され、
アレイA()へ書き込まれるが、マスク・ビツ
トが“0”であれば書き込みは抑止される。
の概念図を示す。第2図において、1はデータア
レイが格納される記憶装置、100は演算の実行
や記憶装置1の読み書書きの制御などを行う演算
制御装置である。演算制御装置100では、ま
ず、記憶装置1よりアレイA()のエレメン
ト・データを順次読み出し、比較演算によりマス
ク・データ(マスク・ベクトル:m()を生成
し、マスク・レジスタ2に格納していく。このマ
スク・データ生成後またはマスク・データ生成を
行いながら、記憶装置1よりアレイB()、C
()を順次読み出して、マスク・レジスタ2の
対応するマスク・ビツトとともに加算器3へ供給
する。加算器3は、マスク・ビツトが“1”であ
るときのみB()+C()の演算を実行し、そ
れ以外は演算を抑止する。演算結果は、対応する
マスク・ビツトとともに記憶装置1へ転送され、
アレイA()へ書き込まれるが、マスク・ビツ
トが“0”であれば書き込みは抑止される。
以上の通り、マスク・ベクトルによる演算抑制
によつて、条件にしたがうアレイ処理を行うこと
ができる。しかし、従来はマスク・ビツトの値に
関係なく記憶装置よりアレイを順次読み出してい
たゝめ、例えばマスク・ベクトル中に大半の
“0”のビツトが含まれていたとしても、、制御に
より無効な演算が抑止されるのみで、処理に要す
る時間は、マスク・ベクトルの大部分が“1”の
場合と変らず、必らずアレイのエレメント数に比
例した時間を必要としていた。これはマスク・ベ
クトルが多くの“0”を含む性格(スパース性)
の場合、処理に無駄な時間を多く費やしているこ
とになる。
によつて、条件にしたがうアレイ処理を行うこと
ができる。しかし、従来はマスク・ビツトの値に
関係なく記憶装置よりアレイを順次読み出してい
たゝめ、例えばマスク・ベクトル中に大半の
“0”のビツトが含まれていたとしても、、制御に
より無効な演算が抑止されるのみで、処理に要す
る時間は、マスク・ベクトルの大部分が“1”の
場合と変らず、必らずアレイのエレメント数に比
例した時間を必要としていた。これはマスク・ベ
クトルが多くの“0”を含む性格(スパース性)
の場合、処理に無駄な時間を多く費やしているこ
とになる。
本発明の目的は、上記のような従来の問題点を
解決するものであり、マスク・ベクトルの一定個
数のビツト群毎に、該ビツト群中の全ビツトが演
算抑止を示している場合、当該ビツト群に対応す
る分のオペランドの無効な演算を飛ばすように制
御し、スペース性の強いマスク・ベクトルを用い
るアレイ処理の時間を短縮することのできるベク
トル・マスク演算制御方式を提供することにあ
る。
解決するものであり、マスク・ベクトルの一定個
数のビツト群毎に、該ビツト群中の全ビツトが演
算抑止を示している場合、当該ビツト群に対応す
る分のオペランドの無効な演算を飛ばすように制
御し、スペース性の強いマスク・ベクトルを用い
るアレイ処理の時間を短縮することのできるベク
トル・マスク演算制御方式を提供することにあ
る。
しかして、本発明は、各々連続するアドレスに
格納された一連のデータ群からなる複数のアレ
イ・オペランドを保持する記憶装置、及び、複数
の前記アレイ・オペランドの対応するオペランド
間の演算の実行/抑止を示す一連のビツト列から
なるマスク・ベクトルを保持する手段と、前記記
憶装置から各アレイ・オペランドを読み出し、前
記マスク・ベクトルのビツト値に従い、対応する
オペランド間の演算を行い、演算結果を前記記憶
装置内の連続するアドレスへ書込む手段とを含む
演算制御装置を具備してなるデータ処理装置にお
いて、前記演算制御装置に、前記マスク・ベクト
ルの一定個数のビツト群毎に、該ビツト群中の全
てのビツトが演算抑止状態であるか否かを示す情
報(椅下マスク・ゼロ情報という)を出力する手
段と、前記マスク・ゼロ情報が、前記マスク・ベ
クトルの一定個数のビツト群中に全ビツト演算抑
止状態であることを示していると、該ビツト群に
対応する各アレイ・オペランドの読出しアドレス
と演算結果の書込みアドレス及びマスク・ベクト
ルのビツト位置を飛越し制御する手段と、前記マ
スク・ゼロ情報が、前記マスク・ベクトルの一定
個数のビツト群中の1ビツト以上が演算抑止状態
でないことを示していると、該ビツト群に対応す
る各アレイ・オペランドの読出しアドレスと演算
結果の書込みアドレス及びマスク・ベクトルのビ
ツト位置を順次更新する手段とを設けたことを特
徴とする。
格納された一連のデータ群からなる複数のアレ
イ・オペランドを保持する記憶装置、及び、複数
の前記アレイ・オペランドの対応するオペランド
間の演算の実行/抑止を示す一連のビツト列から
なるマスク・ベクトルを保持する手段と、前記記
憶装置から各アレイ・オペランドを読み出し、前
記マスク・ベクトルのビツト値に従い、対応する
オペランド間の演算を行い、演算結果を前記記憶
装置内の連続するアドレスへ書込む手段とを含む
演算制御装置を具備してなるデータ処理装置にお
いて、前記演算制御装置に、前記マスク・ベクト
ルの一定個数のビツト群毎に、該ビツト群中の全
てのビツトが演算抑止状態であるか否かを示す情
報(椅下マスク・ゼロ情報という)を出力する手
段と、前記マスク・ゼロ情報が、前記マスク・ベ
クトルの一定個数のビツト群中に全ビツト演算抑
止状態であることを示していると、該ビツト群に
対応する各アレイ・オペランドの読出しアドレス
と演算結果の書込みアドレス及びマスク・ベクト
ルのビツト位置を飛越し制御する手段と、前記マ
スク・ゼロ情報が、前記マスク・ベクトルの一定
個数のビツト群中の1ビツト以上が演算抑止状態
でないことを示していると、該ビツト群に対応す
る各アレイ・オペランドの読出しアドレスと演算
結果の書込みアドレス及びマスク・ベクトルのビ
ツト位置を順次更新する手段とを設けたことを特
徴とする。
次に本発明の一実施例について図面を用いて詳
細に説明する。
細に説明する。
第3図および第4図は本発明の一実施例の構成
図である。本実施例では、アレイのエレメントの
番号を0〜7、8〜15、16〜23、…のように8ビ
ツト境界で8個ずつに区切り、マスク・ビツトの
対応する8ビツト境界間が全て“0”である時、
そのアレイ・オペランドの読出しと無効演算を飛
ばす(以後スキツプと呼ぶ)ことを可能とする例
が示されている。
図である。本実施例では、アレイのエレメントの
番号を0〜7、8〜15、16〜23、…のように8ビ
ツト境界で8個ずつに区切り、マスク・ビツトの
対応する8ビツト境界間が全て“0”である時、
そのアレイ・オペランドの読出しと無効演算を飛
ばす(以後スキツプと呼ぶ)ことを可能とする例
が示されている。
第3図において、比較演算によつて生成された
マスク・データは、生成マスク線7を通して1ビ
ツトずつ順次、マスク・レジスタ(VMR)2中
のマスク書込みアドレス・レジスタ(MWAR)
5で指定されるビツト位置0,1,2,…へ収納
される。マスク書込アドレス・レジスタ5の内容
は、このマスク・データが1ビツト収納されるた
びに1ずつ増加される。マスク・ゼロ・レジスタ
(MZR)4はマスク・データの8ビツト境界間が
全て“0”であるかどうかを示すレジスタで、マ
スク・レジスタ2の1/8のビツト数で構成さ
れ、該マスク・レジスタ2の毎8ビツトに対応し
て1ビツトが関係づけられる。
マスク・データは、生成マスク線7を通して1ビ
ツトずつ順次、マスク・レジスタ(VMR)2中
のマスク書込みアドレス・レジスタ(MWAR)
5で指定されるビツト位置0,1,2,…へ収納
される。マスク書込アドレス・レジスタ5の内容
は、このマスク・データが1ビツト収納されるた
びに1ずつ増加される。マスク・ゼロ・レジスタ
(MZR)4はマスク・データの8ビツト境界間が
全て“0”であるかどうかを示すレジスタで、マ
スク・レジスタ2の1/8のビツト数で構成さ
れ、該マスク・レジスタ2の毎8ビツトに対応し
て1ビツトが関係づけられる。
生成マスク線7のマスク・データはマスク・ゼ
ロ・レジスタ4にも供給されるが、この時、該マ
スク・ゼロ・レジスタ4の書込みビツト位置はマ
スク書込アドレス・レジスタ5の下位3ビツトを
除いた上位ビツトで指定される。又、このマス
ク・ゼロ・レジスタ4は1度“1”が書き込まれ
ると、以後、そのビツトは“1”状態を保持する
ものとする。従つて、マスタ・ゼロ・レジスタ4
のビツト位置0,1,2,…には、8ビツト境界
間の対応する8ビツトのマスク・データが全て
“0”のときのみ“0”が、それ以外のとき“1”
がセツトされる。即ち、マスク・ゼロ・レジスタ
4には、マスク・レジスタ2の毎8ビツトが全て
“0”か否かの情報が集約して保持される。
ロ・レジスタ4にも供給されるが、この時、該マ
スク・ゼロ・レジスタ4の書込みビツト位置はマ
スク書込アドレス・レジスタ5の下位3ビツトを
除いた上位ビツトで指定される。又、このマス
ク・ゼロ・レジスタ4は1度“1”が書き込まれ
ると、以後、そのビツトは“1”状態を保持する
ものとする。従つて、マスタ・ゼロ・レジスタ4
のビツト位置0,1,2,…には、8ビツト境界
間の対応する8ビツトのマスク・データが全て
“0”のときのみ“0”が、それ以外のとき“1”
がセツトされる。即ち、マスク・ゼロ・レジスタ
4には、マスク・レジスタ2の毎8ビツトが全て
“0”か否かの情報が集約して保持される。
マスク・データがマスク・レジスタ2にすべて
収納されると、あるいは収納動作と並行して、該
マスク・レジスタ2からは、順次、マスク読出ア
ドレス・レジスタ(MMAR)6の指定するビツ
ト位置の値が読み出され、読出マスク線8へ現わ
れる。通常、マスク読出アドレス・レジスタ6の
内容は、演算の実行が指示されるたびに1ずつ増
加される。このマスク・データの読出しと同時
に、マスク読出アドレス・レジスタ6の下位3ビ
ツトを無視した上位アドレスでマスク・ゼロ・レ
ジスタ4の内容を読み出すことにより、マスク・
レジスタの該当ビツト位置を含む8ビツト境界間
のマスク・データが全て“0”か否かを示す値
(マスク・ゼロ検出値)が、反転回路Nを通して
マスク・ゼロ検出線9へ現われる。マスク・ゼロ
検出値はスキツプ動作に用いられるもので、以
後、スキツプ信号s区呼ぶ。このスキツプ信号
は、8ビツト境界間の8ビツトのマスク・データ
が全て“0”のとき“1”、それ以外のとき“0”
である。
収納されると、あるいは収納動作と並行して、該
マスク・レジスタ2からは、順次、マスク読出ア
ドレス・レジスタ(MMAR)6の指定するビツ
ト位置の値が読み出され、読出マスク線8へ現わ
れる。通常、マスク読出アドレス・レジスタ6の
内容は、演算の実行が指示されるたびに1ずつ増
加される。このマスク・データの読出しと同時
に、マスク読出アドレス・レジスタ6の下位3ビ
ツトを無視した上位アドレスでマスク・ゼロ・レ
ジスタ4の内容を読み出すことにより、マスク・
レジスタの該当ビツト位置を含む8ビツト境界間
のマスク・データが全て“0”か否かを示す値
(マスク・ゼロ検出値)が、反転回路Nを通して
マスク・ゼロ検出線9へ現われる。マスク・ゼロ
検出値はスキツプ動作に用いられるもので、以
後、スキツプ信号s区呼ぶ。このスキツプ信号
は、8ビツト境界間の8ビツトのマスク・データ
が全て“0”のとき“1”、それ以外のとき“0”
である。
第4図はベクトル・マスク演算制御の全体のブ
ロツク図である。実行制御線11によつて演算の
実行(INC)が指示されるたびに、マスク読出ア
ドレス・レジスタ6の内容が1ずつ増加され、読
出マスク線8とマスク・ゼロ出線9にマスク・ビ
ツトm、スキツプ信号sが順次現われる。これと
同時に、記憶装置1の読出しアドレスを指示する
データ・アドレス・レジスタ120,121も1ず
つ増加され、記憶装置1からアレイ・オペランド
B()、C()のエレメントが順次読み出され
て、演算器3へ与えられる。演算器3では、マス
ク・ビツトmが“1”であるときのみ、アレイ・
オペランドB()、C()の対応するエレメン
ト同志の演算が実行され、マスク・ビツトmが
“0”であるときは演算が抑止される。又、実行
制御線11の制御信号INCと読出マスク線8のマ
スク・ビツトmは、遅延回路10により前記演算
器3での演算時間と同じ時間遅れを受けた後、該
制御信号INCは記憶装置1の書込みアドレスを指
示するデータ・アドレス・レジスタ122を順次
1ずつ増加するのに用いられ、該制御信号INCと
マスク・ビツトmのアンド信号は書込み信号とし
て記憶装置1へ印加される。これにより、演算器
3の演算結果は、データ・アドレス・レジスタ2
2で指示される記憶装置1のアレイ・オペランド
A()の該当エレメントに順次書込まれる。も
し、マスク・ビツトが“0”であれば、アレイ・
オペランドA()への書込みは抑止される。
ロツク図である。実行制御線11によつて演算の
実行(INC)が指示されるたびに、マスク読出ア
ドレス・レジスタ6の内容が1ずつ増加され、読
出マスク線8とマスク・ゼロ出線9にマスク・ビ
ツトm、スキツプ信号sが順次現われる。これと
同時に、記憶装置1の読出しアドレスを指示する
データ・アドレス・レジスタ120,121も1ず
つ増加され、記憶装置1からアレイ・オペランド
B()、C()のエレメントが順次読み出され
て、演算器3へ与えられる。演算器3では、マス
ク・ビツトmが“1”であるときのみ、アレイ・
オペランドB()、C()の対応するエレメン
ト同志の演算が実行され、マスク・ビツトmが
“0”であるときは演算が抑止される。又、実行
制御線11の制御信号INCと読出マスク線8のマ
スク・ビツトmは、遅延回路10により前記演算
器3での演算時間と同じ時間遅れを受けた後、該
制御信号INCは記憶装置1の書込みアドレスを指
示するデータ・アドレス・レジスタ122を順次
1ずつ増加するのに用いられ、該制御信号INCと
マスク・ビツトmのアンド信号は書込み信号とし
て記憶装置1へ印加される。これにより、演算器
3の演算結果は、データ・アドレス・レジスタ2
2で指示される記憶装置1のアレイ・オペランド
A()の該当エレメントに順次書込まれる。も
し、マスク・ビツトが“0”であれば、アレイ・
オペランドA()への書込みは抑止される。
以上はスキツプ信号sが“0”の場合で、従来
のベクトル・マスク制御と同じであるが、マス
ク・ゼロ・レジスタ4より送出されるスキツプ信
号sが“1”で、マスク・ビツトが8ビツト連続
して“0”であることを示していると、これに対
応するアレイ・オペランドおよびマスク・データ
の読出しをスキツプすべく、データ・アドレス・
レジスタ120,121を8エレメント分だけ増加
させ、同様にマスク・アドレス・レジスタ6も8
だけ増加させる。これにより、マスク・ビツトが
“0”に対応するアレイ・オペランドが8エレメ
ント分読み飛ばされて、次のサイクルでは、その
先のエレメントがマスク・ビツトm、スキツプ信
号sとゝもに読み出される。もし、こゝでもスキ
ツプ信号sが“1”であると、続けて読み飛ばし
が生じる。また、スキツプ信号sは演算時間と同
じ時間遅れを生じさせる遅延回路10を通つた
後、記憶装置1の書込みデータ・アドレス・レジ
スタ122へ供給され、該データ・アドレス・レ
ジスタ122の8エレメント分のアドレス増加を
指示する信号となる。これにより、読み飛ばしに
対応した書き飛ばしが生じて、以後、正しいアド
レスに書込みを行うことを保証する。
のベクトル・マスク制御と同じであるが、マス
ク・ゼロ・レジスタ4より送出されるスキツプ信
号sが“1”で、マスク・ビツトが8ビツト連続
して“0”であることを示していると、これに対
応するアレイ・オペランドおよびマスク・データ
の読出しをスキツプすべく、データ・アドレス・
レジスタ120,121を8エレメント分だけ増加
させ、同様にマスク・アドレス・レジスタ6も8
だけ増加させる。これにより、マスク・ビツトが
“0”に対応するアレイ・オペランドが8エレメ
ント分読み飛ばされて、次のサイクルでは、その
先のエレメントがマスク・ビツトm、スキツプ信
号sとゝもに読み出される。もし、こゝでもスキ
ツプ信号sが“1”であると、続けて読み飛ばし
が生じる。また、スキツプ信号sは演算時間と同
じ時間遅れを生じさせる遅延回路10を通つた
後、記憶装置1の書込みデータ・アドレス・レジ
スタ122へ供給され、該データ・アドレス・レ
ジスタ122の8エレメント分のアドレス増加を
指示する信号となる。これにより、読み飛ばしに
対応した書き飛ばしが生じて、以後、正しいアド
レスに書込みを行うことを保証する。
第5図は上記読み出しのスキツプ動作を説明す
るためのタイム・チヤートである。エレメントが
0〜7番目までは、マスク・ビツトが全て“0”
ではないため、スキツプ信号sは送出されず、オ
ペランドおよびマスク・ビツトは順次読み出され
て演算器3へ送出される。マスク・レジスタ
(VMR)6が8番目を指示すると、8〜16まで
のマスク・ビツトが“0”であることを示すスキ
ツプ信号sが送出されて、次サイクルでマスク読
出アドレス・レジスタ6およびデータ・アドレ
ス・レジスタ120,121は“16”を指示する。
これにより、無効なエレメントの読み出しのスキ
ツプ動作が行なわれる。
るためのタイム・チヤートである。エレメントが
0〜7番目までは、マスク・ビツトが全て“0”
ではないため、スキツプ信号sは送出されず、オ
ペランドおよびマスク・ビツトは順次読み出され
て演算器3へ送出される。マスク・レジスタ
(VMR)6が8番目を指示すると、8〜16まで
のマスク・ビツトが“0”であることを示すスキ
ツプ信号sが送出されて、次サイクルでマスク読
出アドレス・レジスタ6およびデータ・アドレ
ス・レジスタ120,121は“16”を指示する。
これにより、無効なエレメントの読み出しのスキ
ツプ動作が行なわれる。
第6図は、書き込みのスキツプ動作を説明する
ための図である。記憶装置1に到着した演算結果
は、これに対応するマスク・ビツトの値にしたが
い書き込みが行われる。もし、スキツプ信号sが
検出されゝば、書き込みのデータ・アドレス・レ
ジスタ122を8ワード分増加させることにより、
正しい書き込みアドレスを保証する。
ための図である。記憶装置1に到着した演算結果
は、これに対応するマスク・ビツトの値にしたが
い書き込みが行われる。もし、スキツプ信号sが
検出されゝば、書き込みのデータ・アドレス・レ
ジスタ122を8ワード分増加させることにより、
正しい書き込みアドレスを保証する。
上記実施例では、マスクの8ビツト境界間の連
続する8個の演算抑止ビツトを検出したが、個数
は8に限らず、他の適当な個数を検出しても良
く、さらに何種か並用することも可能である。ま
た、マスク・ゼロ・レジスタ9は、マスク・レジ
スタ2に付随して、この連続するマスク・ビツト
の“0”を検出する組合回路で置き換えても良
い。
続する8個の演算抑止ビツトを検出したが、個数
は8に限らず、他の適当な個数を検出しても良
く、さらに何種か並用することも可能である。ま
た、マスク・ゼロ・レジスタ9は、マスク・レジ
スタ2に付随して、この連続するマスク・ビツト
の“0”を検出する組合回路で置き換えても良
い。
以上の説明から明らかな如く、本発明ではマス
ク・ベクトルの一定個数(例えば1バイト)のビ
ツト群毎に、該ビツト群中の全ビツトが演算抑止
ビツトであることを検出して、該ビツト群に対応
するオペランドの無効な演算を飛ばすように制御
するのでスペース性の強いマスク・ベクトルを用
いるアレイ処理の時間を短縮することができる。
ク・ベクトルの一定個数(例えば1バイト)のビ
ツト群毎に、該ビツト群中の全ビツトが演算抑止
ビツトであることを検出して、該ビツト群に対応
するオペランドの無効な演算を飛ばすように制御
するのでスペース性の強いマスク・ベクトルを用
いるアレイ処理の時間を短縮することができる。
第1図はマスク・ベクトルによる演算例を示す
図、第2図はベクトル・マスク演算制御のハード
ウエア構成の概念図、第3図及び第4図は本発明
の一実施例のブロツク図、第5図及び第6図は本
発明実施例の動作を説明するためのタイミング図
である。 1…記憶装置、2…マスク・レジスタ、3…演
算器、4…マスク・ゼロ・レジスタ、6…マスク
読出アドレス・レジスタ、8…読出マスク線、9
…マスク・ゼロ検出線、10…遅延回路、120,
121,122…データ・アドレス・レジスタ、1
00…演算制御装置。
図、第2図はベクトル・マスク演算制御のハード
ウエア構成の概念図、第3図及び第4図は本発明
の一実施例のブロツク図、第5図及び第6図は本
発明実施例の動作を説明するためのタイミング図
である。 1…記憶装置、2…マスク・レジスタ、3…演
算器、4…マスク・ゼロ・レジスタ、6…マスク
読出アドレス・レジスタ、8…読出マスク線、9
…マスク・ゼロ検出線、10…遅延回路、120,
121,122…データ・アドレス・レジスタ、1
00…演算制御装置。
Claims (1)
- 【特許請求の範囲】 1 各々連続するアドレスに格納された一連のデ
ータ群からなる複数のアレイ・オペランドを保持
する記憶装置と、 複数の前記アレイ・オペランドの対応するオペ
ランド間の演算の実行/抑止を示す一連のビツト
列からなるマスク・ベクトルを保持する手段と、
前記記憶装置から各アレイ・オペランドを読み出
し、前記マスク・ベクトルのビツト値に従い、対
応するオペランド間の演算を行い、演算結果を前
記記憶装置内の連続するアドレスへ書込む手段と
を含む演算制御装置と、 を具備してなるデータ処理装置において、前記演
算制御装置に、 前記マスク・ベクトルの一定個数のビツト群毎
に、該ビツト群中の全てのビツトが演算抑止状態
であるか否かを示す情報(以下、マスク・ゼロ情
報という)を出力する手段と、 前記マスク・ゼロ情報が、前記マスク・ベクト
ルの一定個数のビツト群中の全ビツトが演算抑止
状態であることを示していると、該ビツト群に対
応する各アレイ・オペランドの読出しアドレスと
演算結果の書込みアドレス及びマスク・ベクトル
のビツト位置を飛越し制御する手段と、 前記マスク・ゼロ情報が、前記マスク・ベクト
ルの一定個数のビツト群中の1ビツト以上が演算
抑止状態でないことを示していると、該ビツト群
に対応する各アレイ・オペランドの読出しアドレ
スと演算結果の書込みアドレス及びマスク・ベク
トルのビツト位置を順次更新する手段と、 を設けたことを特徴とするベクトル・マスク演算
制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56122024A JPS5822446A (ja) | 1981-08-04 | 1981-08-04 | ベクトル・マスク演算制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56122024A JPS5822446A (ja) | 1981-08-04 | 1981-08-04 | ベクトル・マスク演算制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5822446A JPS5822446A (ja) | 1983-02-09 |
JPH0241070B2 true JPH0241070B2 (ja) | 1990-09-14 |
Family
ID=14825693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56122024A Granted JPS5822446A (ja) | 1981-08-04 | 1981-08-04 | ベクトル・マスク演算制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5822446A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6015771A (ja) * | 1983-07-08 | 1985-01-26 | Hitachi Ltd | ベクトルプロセッサ |
JPS62276668A (ja) * | 1985-07-31 | 1987-12-01 | Nec Corp | ベクトルマスク演算制御ユニツト |
GB2476800A (en) * | 2010-01-07 | 2011-07-13 | Linear Algebra Technologies Ltd | Sparse matrix vector multiplier using a bit map of non-zero elements to control scheduling of arithmetic operations |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5094841A (ja) * | 1973-12-22 | 1975-07-28 | ||
JPS5668864A (en) * | 1979-11-09 | 1981-06-09 | Fujitsu Ltd | Instruction control system |
-
1981
- 1981-08-04 JP JP56122024A patent/JPS5822446A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5094841A (ja) * | 1973-12-22 | 1975-07-28 | ||
JPS5668864A (en) * | 1979-11-09 | 1981-06-09 | Fujitsu Ltd | Instruction control system |
Also Published As
Publication number | Publication date |
---|---|
JPS5822446A (ja) | 1983-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0248931B2 (ja) | ||
JP2889845B2 (ja) | 情報処理装置 | |
EP0113398B1 (en) | Indexed-indirect addressing method using prefix codes in a data processor | |
JPH0786826B2 (ja) | 整数除算回路 | |
US4028670A (en) | Fetch instruction for operand address calculation | |
JPH034936B2 (ja) | ||
JPH0241070B2 (ja) | ||
JP2703884B2 (ja) | データ書込み制御方式 | |
US6230238B1 (en) | Method and apparatus for accessing misaligned data from memory in an efficient manner | |
US4212058A (en) | Computer store mechanism | |
JPH02126321A (ja) | 命令コードのデコード装置 | |
JPH0831033B2 (ja) | データ処理装置 | |
JPH0544049B2 (ja) | ||
JPS6148174B2 (ja) | ||
JPH06162067A (ja) | ベクトル命令制御装置および制御方法 | |
JPS6017131B2 (ja) | メモリ制御回路 | |
JPS6212532B2 (ja) | ||
JP2671161B2 (ja) | レジスタ干渉チェック方式 | |
JPS61110247A (ja) | 記憶装置 | |
JPS6320631A (ja) | レジスタ選択方式 | |
JPS60218146A (ja) | 記憶装置アドレス制御方式 | |
JPH05250156A (ja) | Riscプロセッサ | |
JPS59129995A (ja) | 記憶装置 | |
JPS62210541A (ja) | レジスタ選択方式 | |
JPH03119431A (ja) | エラー検出抑止回路 |