JPS62276668A - ベクトルマスク演算制御ユニツト - Google Patents
ベクトルマスク演算制御ユニツトInfo
- Publication number
- JPS62276668A JPS62276668A JP61167245A JP16724586A JPS62276668A JP S62276668 A JPS62276668 A JP S62276668A JP 61167245 A JP61167245 A JP 61167245A JP 16724586 A JP16724586 A JP 16724586A JP S62276668 A JPS62276668 A JP S62276668A
- Authority
- JP
- Japan
- Prior art keywords
- address
- vector
- register
- mask
- circuit
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F15/8076—Details on data register access
- G06F15/8084—Special arrangements thereof, e.g. mask or switch
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
発明の詳細な説明
〔産業上の利用分野〕
本発明はマスク付ベクトル命令処理を実行するデータ処
理システムにおけるベクトルマスク演算制御ユニ2トに
関する。
理システムにおけるベクトルマスク演算制御ユニ2トに
関する。
従来、この攬のデータ処理システムはイノターナシ、ナ
ル・ビジネスΦマシノズφコーボレー7示されるシステ
ムは、中央処理装置とベクトル処理装置とを有する。こ
のシステムでは、マスクビ、トはベクトルレジスタへの
セ、・ト、および王記憶への記憶の抑止を制御するだけ
で、不要なオペラッドデータのめC出しおよび演算動作
の抑止を制御していない。
ル・ビジネスΦマシノズφコーボレー7示されるシステ
ムは、中央処理装置とベクトル処理装置とを有する。こ
のシステムでは、マスクビ、トはベクトルレジスタへの
セ、・ト、および王記憶への記憶の抑止を制御するだけ
で、不要なオペラッドデータのめC出しおよび演算動作
の抑止を制御していない。
この不要なオペラッドデータの胱出しおよび演算動作の
抑止を制御するため、このシステムでは、オペラッドデ
ータのアドレス生成時に演算、ロードあるいはアトア動
作の抑止されている要素数(へ)とベクトル要素間距離
アドレス(VI)との乗算を行ない、オペランドアドレ
スの増分(NxVX)を生成する必要がある。しかし、
この乗算のために使用される乗算器は多くの金物を必要
とする。
抑止を制御するため、このシステムでは、オペラッドデ
ータのアドレス生成時に演算、ロードあるいはアトア動
作の抑止されている要素数(へ)とベクトル要素間距離
アドレス(VI)との乗算を行ない、オペランドアドレ
スの増分(NxVX)を生成する必要がある。しかし、
この乗算のために使用される乗算器は多くの金物を必要
とする。
本発明の目的は金物量を増大することなくベクトルマス
ク用オペランドアドレス演算処理時間を短縮できるよう
にしたベクトルマスク演算制御ユニットを提供すること
にある。
ク用オペランドアドレス演算処理時間を短縮できるよう
にしたベクトルマスク演算制御ユニットを提供すること
にある。
本発明のベクトルマスク演算ff1lJ 8ユニットは
、マスク付ベクトル命令処理を実行するデータ処理シス
テムにおいて、マスクベクトル中の連続する演算抑止ビ
ットの個数をカウントするカウント手段と、このカウン
ト手段でカウントされた値を用いて2のべき乗倍された
アドレスインクリメント値を1個または2個発生する発
生手段と、この発生手段から発生された2のべき乗倍さ
れたアドレスイノクリメノト値とベクトルアドレスとを
加算しオペランドアドレスを求めるアドレス生成手段と
を言む0 〔芙翔例〕 第2図を参照すると、先行制御をおこなう中央処理装置
ILは、先行制御装置22.記憶制御装置21および演
算実行装置23から構成芒れ℃いる。この′@I!夫行
装貴行装置23バ、ファを備えているので、先行制御装
置22は演算実行とは非同期にオペランドの読出しが可
能である。オペラッド読出し動作では、前記先行制御装
置22は信号線1および2を介してオペラッドアドレス
およびアクセス要求を記憶制御装置21に送る0このア
ドレスおよびアクセス要求に応答して記憶側(財)装置
21はバッファ記憶もしくは主記憶からオペランドを読
み出し信号線3および4を介して先行制御装置22およ
び?yt算実行装置23にオペランドを送る。
、マスク付ベクトル命令処理を実行するデータ処理シス
テムにおいて、マスクベクトル中の連続する演算抑止ビ
ットの個数をカウントするカウント手段と、このカウン
ト手段でカウントされた値を用いて2のべき乗倍された
アドレスインクリメント値を1個または2個発生する発
生手段と、この発生手段から発生された2のべき乗倍さ
れたアドレスイノクリメノト値とベクトルアドレスとを
加算しオペランドアドレスを求めるアドレス生成手段と
を言む0 〔芙翔例〕 第2図を参照すると、先行制御をおこなう中央処理装置
ILは、先行制御装置22.記憶制御装置21および演
算実行装置23から構成芒れ℃いる。この′@I!夫行
装貴行装置23バ、ファを備えているので、先行制御装
置22は演算実行とは非同期にオペランドの読出しが可
能である。オペラッド読出し動作では、前記先行制御装
置22は信号線1および2を介してオペラッドアドレス
およびアクセス要求を記憶制御装置21に送る0このア
ドレスおよびアクセス要求に応答して記憶側(財)装置
21はバッファ記憶もしくは主記憶からオペランドを読
み出し信号線3および4を介して先行制御装置22およ
び?yt算実行装置23にオペランドを送る。
先行1」御装置22は命令を解読したデコード消報寺を
信号線5を介して演算実行装置23に送る。
信号線5を介して演算実行装置23に送る。
このデコード情報により指示された演算の演算結果が演
算実行装置23から信号線6および7を介して、先行制
御装置22および記憶制御装置21に送られ、アドレス
計算用汎用レジスタや記憶装置の内容が更新される0 本発明は先行制御装置が解読した命令語がマスク付ベク
トル命令のとき特に有用である。
算実行装置23から信号線6および7を介して、先行制
御装置22および記憶制御装置21に送られ、アドレス
計算用汎用レジスタや記憶装置の内容が更新される0 本発明は先行制御装置が解読した命令語がマスク付ベク
トル命令のとき特に有用である。
ベクトルオペランドの処理は、演算実行装置23で実行
できるし、また米国特許第4128880号で示される
ベクトル処理のために特別に設計されたグロセ2丈でも
実行できる。
できるし、また米国特許第4128880号で示される
ベクトル処理のために特別に設計されたグロセ2丈でも
実行できる。
第2図は、マスク付ベクトル命令を処理できる先行制御
装置Q)アドレス計算部の周辺構成を示す0第1図を参
照すると、本発明の一実施例は命令レジスタ101.命
令デコーダおよびベクトルオペランド先取り制御回路1
02.汎用レジスタファイル103.入力レジスタ10
4.ベクトルアドレスインクリメントレジスタ105.
ベクトルアドレスレジスタ106.セレクタA107.
セレクタ8108.セレクタC109,アドレス加算器
110.ベクトルマスクレジスタ111.桁合せ回路1
12.連続マスクピット数カクノト回路113.ベクト
ル寸スク111IJ#回路114.および2n倍数発生
回路A115およびB116から構成されている0先行
制御装置22は直接または間接アドレ、クングにより得
られたベクトルオペ2ンドの第0資素のアドレス(VH
)をベクトルアドレスレジスタ106に格納するととも
に、ベクトルの要素間距離アドレス(Vl)をベクトル
インクサメ/ドアドレスレジスタ105に格納する。
装置Q)アドレス計算部の周辺構成を示す0第1図を参
照すると、本発明の一実施例は命令レジスタ101.命
令デコーダおよびベクトルオペランド先取り制御回路1
02.汎用レジスタファイル103.入力レジスタ10
4.ベクトルアドレスインクリメントレジスタ105.
ベクトルアドレスレジスタ106.セレクタA107.
セレクタ8108.セレクタC109,アドレス加算器
110.ベクトルマスクレジスタ111.桁合せ回路1
12.連続マスクピット数カクノト回路113.ベクト
ル寸スク111IJ#回路114.および2n倍数発生
回路A115およびB116から構成されている0先行
制御装置22は直接または間接アドレ、クングにより得
られたベクトルオペ2ンドの第0資素のアドレス(VH
)をベクトルアドレスレジスタ106に格納するととも
に、ベクトルの要素間距離アドレス(Vl)をベクトル
インクサメ/ドアドレスレジスタ105に格納する。
この操作はベクトル命令の第1ベクトルオペラツド、第
2ベクトルオペ2ンドおよび第3ベクトルオベラ/ドに
対しておこなわれる。ただしベクトル命令のなかには第
2ベクトルオベラ/ドおよび第3ベクトルオペ−)/ド
の両方もしくは一万を必賛としないものがあシ、そのと
きは命令実行に心安なベクトルオペランドに対してのみ
おこなわれる。本実施例では、ベクトルオペランドの第
0喪索りアドレス(VH)およびベクトルの要素間距離
アドレス(VI)がともに命令隷中で示されるような命
令セットの場合を想定している。
2ベクトルオペ2ンドおよび第3ベクトルオベラ/ドに
対しておこなわれる。ただしベクトル命令のなかには第
2ベクトルオベラ/ドおよび第3ベクトルオペ−)/ド
の両方もしくは一万を必賛としないものがあシ、そのと
きは命令実行に心安なベクトルオペランドに対してのみ
おこなわれる。本実施例では、ベクトルオペランドの第
0喪索りアドレス(VH)およびベクトルの要素間距離
アドレス(VI)がともに命令隷中で示されるような命
令セットの場合を想定している。
第1図および第2図を参照すると、記憶制御装置21か
ら読み出された命令語中のアドレス計算情報は命令′ジ
3夕101に設定される0このアドレス計算情報をもと
に汎用レジスタ103からインデックスおよびベース値
が読み出される0このイノデ、クスおよびベース値と命
令語中で直接指定されるディスプレースメノトをもとに
アドレス加算器110において生成されたアドレスがベ
クトルアドレスレジスタ106に設定嘔れる。このとき
アドレスは生成されるが、記憶アクセス要求は出力され
ない0これとともに、入力レジスタ104に命令語中の
ベクトル要素間距離アドレス(Vりが設定され、ベクト
ルアドレスレジスタ106に対応するベクトルアドレス
インクリメントレジスタ105に転送される0こCv操
作がベクトルオペランドq〕数だけ繰り返されベクトル
アドレスレジスタ106.ベクトルアドレスインクリメ
ントレジスタ105にベクトルオペランドの第0袂素り
アドレス(VH)、およびペクトA/要素間距離アドレ
ス(Vりがすべて設定されるQマスク語も命令語中uJ
アドレス計算情報をもとに記憶装置(図示せず)または
、記憶制御装置21から入力レジスタ104を介してベ
クトルマスクレジスタ111に設定される。本実施例で
はマスク語が00ときマスク嘔れていて演算が抑止され
ると仮定する。ベクトルマスクレジスタ111に設定さ
れたマスク語は桁合せ回路1】2を通シ連続マスクビッ
ト数カクノト回路113に入力される。桁合せ回路11
2はベクトルマスク制御回路1140制御によシ桁合せ
数が変化する。
ら読み出された命令語中のアドレス計算情報は命令′ジ
3夕101に設定される0このアドレス計算情報をもと
に汎用レジスタ103からインデックスおよびベース値
が読み出される0このイノデ、クスおよびベース値と命
令語中で直接指定されるディスプレースメノトをもとに
アドレス加算器110において生成されたアドレスがベ
クトルアドレスレジスタ106に設定嘔れる。このとき
アドレスは生成されるが、記憶アクセス要求は出力され
ない0これとともに、入力レジスタ104に命令語中の
ベクトル要素間距離アドレス(Vりが設定され、ベクト
ルアドレスレジスタ106に対応するベクトルアドレス
インクリメントレジスタ105に転送される0こCv操
作がベクトルオペランドq〕数だけ繰り返されベクトル
アドレスレジスタ106.ベクトルアドレスインクリメ
ントレジスタ105にベクトルオペランドの第0袂素り
アドレス(VH)、およびペクトA/要素間距離アドレ
ス(Vりがすべて設定されるQマスク語も命令語中uJ
アドレス計算情報をもとに記憶装置(図示せず)または
、記憶制御装置21から入力レジスタ104を介してベ
クトルマスクレジスタ111に設定される。本実施例で
はマスク語が00ときマスク嘔れていて演算が抑止され
ると仮定する。ベクトルマスクレジスタ111に設定さ
れたマスク語は桁合せ回路1】2を通シ連続マスクビッ
ト数カクノト回路113に入力される。桁合せ回路11
2はベクトルマスク制御回路1140制御によシ桁合せ
数が変化する。
第3図にを参照すると、桁合せ畝り制御をするベクトル
マスク制御回路114では、マスクカウントレジスタ3
04の値だけ第1図り桁合せ回路112が左シフトして
桁合せをする0また、桁合せ回路112はマスクカウン
トレジスタ304および完了7ラグフリ、プフロ、プ3
07がすべて@0”のとき以外は最上位出カビ、トを強
制的に「0」におきかえる回路(図示せず)が組込まれ
ている。こり回路は以下Ct)要請から必要とされる。
マスク制御回路114では、マスクカウントレジスタ3
04の値だけ第1図り桁合せ回路112が左シフトして
桁合せをする0また、桁合せ回路112はマスクカウン
トレジスタ304および完了7ラグフリ、プフロ、プ3
07がすべて@0”のとき以外は最上位出カビ、トを強
制的に「0」におきかえる回路(図示せず)が組込まれ
ている。こり回路は以下Ct)要請から必要とされる。
まず、例とし℃マスクが「10010」の場合を想定す
る。マスク処理が開始されると、桁合せ回路112は0
ビ、トのシフトレフトであるため、連続マスクビット数
カウント回路113かラバ「0」が出力される0こり結
果、第3図のマスクカウントレジスタ304.セレクト
レジスタ305.およびセレクトレジスタ307には「
0」が格納される。なお、完了フラグフリ、170.プ
には「1」がセットされる。こり結果、第1図のアドレ
ス加算器110ではVH+OV1+0VI=V11のア
ドレス計算が行なわれ、ベクトルオペランどの第0要素
のアドレス(VH)でアクセスされる。この結果、次の
アドレス計算においても第3図のマスクカウントレジス
タ304にはl’−OJ#;セットされ桁合せ回路11
2は0ビ、トク7トレフトで前回と同じ動作を繰返す。
る。マスク処理が開始されると、桁合せ回路112は0
ビ、トのシフトレフトであるため、連続マスクビット数
カウント回路113かラバ「0」が出力される0こり結
果、第3図のマスクカウントレジスタ304.セレクト
レジスタ305.およびセレクトレジスタ307には「
0」が格納される。なお、完了フラグフリ、170.プ
には「1」がセットされる。こり結果、第1図のアドレ
ス加算器110ではVH+OV1+0VI=V11のア
ドレス計算が行なわれ、ベクトルオペランどの第0要素
のアドレス(VH)でアクセスされる。この結果、次の
アドレス計算においても第3図のマスクカウントレジス
タ304にはl’−OJ#;セットされ桁合せ回路11
2は0ビ、トク7トレフトで前回と同じ動作を繰返す。
この繰返しを防止するため処理の終了した要素に対応す
るマスクビットはリセ、トシなければならない。すなわ
ち桁合せ回路112の出力の第0ビ、ト目、すなわち一
番左のビットを強制的にrOJにする。また、強制的に
「0」にしてはいけないのはマスクベクトルレジスタ1
11の第0ビ、トすなわち左端の処理をするときのみで
おる。そこでマスクカウントレジスタ304と完了7ラ
グ307がすべて「0」のとき、すなわち初回のみ、桁
合せ回路112の出力の第0ビ、トすなわち一番左端の
ビットな有効にする操作が行なわれる。
るマスクビットはリセ、トシなければならない。すなわ
ち桁合せ回路112の出力の第0ビ、ト目、すなわち一
番左のビットを強制的にrOJにする。また、強制的に
「0」にしてはいけないのはマスクベクトルレジスタ1
11の第0ビ、トすなわち左端の処理をするときのみで
おる。そこでマスクカウントレジスタ304と完了7ラ
グ307がすべて「0」のとき、すなわち初回のみ、桁
合せ回路112の出力の第0ビ、トすなわち一番左端の
ビットな有効にする操作が行なわれる。
11に初マスクカウントレジスタ304くは、「O」が
設定されておル、桁合せ回路112からベクトルマスク
レジスタ111の値そのものが出力されるO この出力は連続マスクビット数カウント回路113に与
えられ、連続、マスクビット数が出力される。すなわち
、連続マスクビット数カウント回路113は、ベクトル
マスクレジスタ111からの数において、左側から連続
した@O#の数を、連続して演算が抑止されている要素
数として出力する。このような連続マスクビット数カウ
ノト回路113はプライオリティエンコーダで構成され
る。このようにして得られた連続マスクビット数をNと
すると、次に演算されるベクトルオペランド要素のアド
レスはベクトルオペランドの第O要素のアドレス(VH
)十連続マスクビy ) tX (N) x ヘクトル
の要素間距離アドレス(Vりの式で与えられる。ここで
Nは2のべき乗の和で表すことがでキルo 例工Id
N = 6 ノトキ’w’l 6vX=22VI +
2 ’Vlとなる。そこで2n倍数発生回路を用いてN
XVxを求めることができる。本実施例では2°倍数発
生回路の一例として、第4図に示す2n倍数発生回路1
15および116を用いている。
設定されておル、桁合せ回路112からベクトルマスク
レジスタ111の値そのものが出力されるO この出力は連続マスクビット数カウント回路113に与
えられ、連続、マスクビット数が出力される。すなわち
、連続マスクビット数カウント回路113は、ベクトル
マスクレジスタ111からの数において、左側から連続
した@O#の数を、連続して演算が抑止されている要素
数として出力する。このような連続マスクビット数カウ
ノト回路113はプライオリティエンコーダで構成され
る。このようにして得られた連続マスクビット数をNと
すると、次に演算されるベクトルオペランド要素のアド
レスはベクトルオペランドの第O要素のアドレス(VH
)十連続マスクビy ) tX (N) x ヘクトル
の要素間距離アドレス(Vりの式で与えられる。ここで
Nは2のべき乗の和で表すことがでキルo 例工Id
N = 6 ノトキ’w’l 6vX=22VI +
2 ’Vlとなる。そこで2n倍数発生回路を用いてN
XVxを求めることができる。本実施例では2°倍数発
生回路の一例として、第4図に示す2n倍数発生回路1
15および116を用いている。
第4図を参照すると 21’1倍数発生回路A115は
、2ビツトシフトレフト(×4)機能を有するシック、
3ビツトシフトレフト(X8)機能を有するシフタ、4
ビ、トシフトレフト(X16)機能を有するシフタ、お
よび5ビ、トン7トレフト(X32)機能を有するシッ
クのどれか1つを選択でき、どれも選択しないときに(
家10”を出力する。
、2ビツトシフトレフト(×4)機能を有するシック、
3ビツトシフトレフト(X8)機能を有するシフタ、4
ビ、トシフトレフト(X16)機能を有するシフタ、お
よび5ビ、トン7トレフト(X32)機能を有するシッ
クのどれか1つを選択でき、どれも選択しないときに(
家10”を出力する。
2n倍数発生回路B116は1ビ、トン7トレフト(x
z)機能を有するシフタおよびOビ、トシ7トレ7)(
XI)機能を有するシフタのどちらか一方を選択でき、
どれも選択しないときには10″が出力される。ところ
が、この構成では2ビツトシフトレフト(X4)機能を
有する77タおよび4ビ、ドア7トL/フト(XI 6
)機能を有するブックは同時に選択すること力tできず
、PJ様に1ビツトシフトレフト(×2)機能を有する
ン7りおよびOビットシフトレフト(×1)機能を有す
るシフタも同時に選択すること(=できない〇七こで、
第3図に示す論理回路301を用いて2n倍数発生回路
115および116において、2ビ、トシフトレフト(
×4)機能を有するシック。
z)機能を有するシフタおよびOビ、トシ7トレ7)(
XI)機能を有するシフタのどちらか一方を選択でき、
どれも選択しないときには10″が出力される。ところ
が、この構成では2ビツトシフトレフト(X4)機能を
有する77タおよび4ビ、ドア7トL/フト(XI 6
)機能を有するブックは同時に選択すること力tできず
、PJ様に1ビツトシフトレフト(×2)機能を有する
ン7りおよびOビットシフトレフト(×1)機能を有す
るシフタも同時に選択すること(=できない〇七こで、
第3図に示す論理回路301を用いて2n倍数発生回路
115および116において、2ビ、トシフトレフト(
×4)機能を有するシック。
3ビ、トシフトレ7ト(X8)機能を有すルク7り、4
ビツトシフトレフト(X16)機能を有するシック、5
ビ、トシフトレフト(X32)機能を有する7フタおよ
び10”出力回路の組、およびlビ、トン7トレフト(
×2)機能を有するシ7り、0ビ、)77)レフト(×
1)機能を有するシフタおよび′″O”出力回路の組の
うちで同じ組の中で同時に選択できなくなる組合せが発
生しないようにし℃いる0 ところで同時に出力できない組合せがもともとなかった
ときには、第3図に示す論理回路302を用いて同時に
出力できない組合せがないことを検出して完了フラグ7
す、プフロ、グ307をセ、) スルo 例LtdN
= 2777) トキ、27VI=2’Vl +23V
I +2’VI +2°Vr テh;ho ?ニー(D
トキ4ビ、トシフトレ7) (XI 6 )機能を有
するシ7り、および3ビ、トシフトレフト(×8)機能
ヲ有スるブックの組合せが2n倍数発生回路115で同
時に選択できない0また、1ビツトシフトレフト(×2
)機能を有する7フタおよびOビ、ト7フトレフト(×
1)機能を有するシフタの組合せも2n倍数発生回路1
16で同時に選択できない。連続マスクビット数カウン
ト回路113から27すなわち2進数@011011
”が出力されると、論理回路301は4ビ、トン7トレ
フト(X16)機能を有する77タおよび3ビ、トシフ
トレフ) (X8 )機能を有するシックの組合せおよ
び1ビ、ト7フトレ71− (X2 )機能を有するシ
ックおよびOビ、トシフトレフト(XI ’)機能を有
する組合せが発生しないよ5に18すなわち2進数″″
010010 ′″を出力する0また論理回路302は
連続マスクビット数カウント回路113の出力に2n倍
数発生回路115および116で同時に7フタの選択が
できない組合せがあるかどうかを検出する。
ビツトシフトレフト(X16)機能を有するシック、5
ビ、トシフトレフト(X32)機能を有する7フタおよ
び10”出力回路の組、およびlビ、トン7トレフト(
×2)機能を有するシ7り、0ビ、)77)レフト(×
1)機能を有するシフタおよび′″O”出力回路の組の
うちで同じ組の中で同時に選択できなくなる組合せが発
生しないようにし℃いる0 ところで同時に出力できない組合せがもともとなかった
ときには、第3図に示す論理回路302を用いて同時に
出力できない組合せがないことを検出して完了フラグ7
す、プフロ、グ307をセ、) スルo 例LtdN
= 2777) トキ、27VI=2’Vl +23V
I +2’VI +2°Vr テh;ho ?ニー(D
トキ4ビ、トシフトレ7) (XI 6 )機能を有
するシ7り、および3ビ、トシフトレフト(×8)機能
ヲ有スるブックの組合せが2n倍数発生回路115で同
時に選択できない0また、1ビツトシフトレフト(×2
)機能を有する7フタおよびOビ、ト7フトレフト(×
1)機能を有するシフタの組合せも2n倍数発生回路1
16で同時に選択できない。連続マスクビット数カウン
ト回路113から27すなわち2進数@011011
”が出力されると、論理回路301は4ビ、トン7トレ
フト(X16)機能を有する77タおよび3ビ、トシフ
トレフ) (X8 )機能を有するシックの組合せおよ
び1ビ、ト7フトレ71− (X2 )機能を有するシ
ックおよびOビ、トシフトレフト(XI ’)機能を有
する組合せが発生しないよ5に18すなわち2進数″″
010010 ′″を出力する0また論理回路302は
連続マスクビット数カウント回路113の出力に2n倍
数発生回路115および116で同時に7フタの選択が
できない組合せがあるかどうかを検出する。
この例で)ま4ビツトシフトレフト(X16)!能を有
するシックおよび3ビ、トン7トレフト(×8)機能を
為するシフタの組合せ、および1ビツトシフトレフト(
×2)機能を有するシフタおよびOビ、トシフトレ7ト
(XI)機能を有するシックの組合せは同時に選択でき
ないため、″0”が選択出力される。
するシックおよび3ビ、トン7トレフト(×8)機能を
為するシフタの組合せ、および1ビツトシフトレフト(
×2)機能を有するシフタおよびOビ、トシフトレ7ト
(XI)機能を有するシックの組合せは同時に選択でき
ないため、″0”が選択出力される。
再び第3図を参照すると、論理回路301の出力トマス
クカクンルジスタ304の出力とは右目算器303にお
いて加算され、その加算結果はマスクカワントVンスタ
304にセットされる。この加算動作と並行して前記論
理(ロ)路301の出力はセレクトレジスタA305お
よびセレクトレジスタB506に格納される。この例で
は2進数1oioo”がセレクトレジスタA305に格
納され、2進数110#がセレクトレジスタB506に
格納され、2進数@】0”がセレクトレジスタB506
に格納される。この格納動作と並行して論理回路302
の出力が完了フラグフリ、170゜プ307をセットす
る。この例では、クリップフロ、グ307は10′がセ
ットされる0次に第6図を参照すると、第1図の21倍
数発生回路115は@3図のセレクトレジスタA305
の値により第4図の4と、ト7フトレフト(X16)機
能を有する7フタが選択され】6×ベクトル要素間距離
アドレス(Vx)の演算結果が出力される0これと同時
に第1図の2 倍数発生回路116は第3図のセレクト
レジスタB506の値により第4図の1ビ、ト/フトレ
フト(×2)機能を有する77タが選択され2Xベクト
ル公葉間距離(Ml )の演算結果が出力される。
クカクンルジスタ304の出力とは右目算器303にお
いて加算され、その加算結果はマスクカワントVンスタ
304にセットされる。この加算動作と並行して前記論
理(ロ)路301の出力はセレクトレジスタA305お
よびセレクトレジスタB506に格納される。この例で
は2進数1oioo”がセレクトレジスタA305に格
納され、2進数110#がセレクトレジスタB506に
格納され、2進数@】0”がセレクトレジスタB506
に格納される。この格納動作と並行して論理回路302
の出力が完了フラグフリ、170゜プ307をセットす
る。この例では、クリップフロ、グ307は10′がセ
ットされる0次に第6図を参照すると、第1図の21倍
数発生回路115は@3図のセレクトレジスタA305
の値により第4図の4と、ト7フトレフト(X16)機
能を有する7フタが選択され】6×ベクトル要素間距離
アドレス(Vx)の演算結果が出力される0これと同時
に第1図の2 倍数発生回路116は第3図のセレクト
レジスタB506の値により第4図の1ビ、ト/フトレ
フト(×2)機能を有する77タが選択され2Xベクト
ル公葉間距離(Ml )の演算結果が出力される。
第1図を参照すると、ベクトルオペラ先取光取シ制御回
路102の指示に応答して、セレクタ107Kl)ベク
トルアドレスレジスタ106の出力、すなわちベクトル
オペランドの第0景素のアドレス(VH)が選択され、
セレクタ108により2n倍数発生回路A115の出力
、すなわち16×ベクトル要素間距離(Vx )が選択
され、セレクタ109によシ2n倍数発生回路B1】6
の出力、すなわち2×ベクトル要素間距離(vH)が選
択される。これら選択された値はアドレス加算器110
で加算され加算結果VH+18VIが出力される0この
加算結果は中間結果でありVHが設定されていたベクト
ルアドレスレジスタ106に設定される。この操作によ
シベクトルオペランドごとに加算が行なわれる。
路102の指示に応答して、セレクタ107Kl)ベク
トルアドレスレジスタ106の出力、すなわちベクトル
オペランドの第0景素のアドレス(VH)が選択され、
セレクタ108により2n倍数発生回路A115の出力
、すなわち16×ベクトル要素間距離(Vx )が選択
され、セレクタ109によシ2n倍数発生回路B1】6
の出力、すなわち2×ベクトル要素間距離(vH)が選
択される。これら選択された値はアドレス加算器110
で加算され加算結果VH+18VIが出力される0この
加算結果は中間結果でありVHが設定されていたベクト
ルアドレスレジスタ106に設定される。この操作によ
シベクトルオペランドごとに加算が行なわれる。
次に第3図に示すマスクカウントレジスタ304の値に
より第1図の桁合せ回路112ij18ビットシフトレ
フト動作をおこなう。この出力で連続マスクビット数カ
ウ/ト回路113−工(27−18)=9を出力する。
より第1図の桁合せ回路112ij18ビットシフトレ
フト動作をおこなう。この出力で連続マスクビット数カ
ウ/ト回路113−工(27−18)=9を出力する。
この出力9、すなわち2進数10010011は、2n
倍+[1aljl&A 115 オヨび2n倍数発生回
路8116の組合せで同時に選択できない組合せがない
ため、第3図の論理回路301はそのままの値で通過し
、マスクカウントレジスタ304には値@27”、セレ
クトレジスタ人305には2進数の’0010”が設定
され、セレクトレジスタ8306には28&”01”が
設定される。これとともに、完了7−)グアす、プフロ
、グ307には、論理回路302の出力@1′がセット
され出力される。
倍+[1aljl&A 115 オヨび2n倍数発生回
路8116の組合せで同時に選択できない組合せがない
ため、第3図の論理回路301はそのままの値で通過し
、マスクカウントレジスタ304には値@27”、セレ
クトレジスタ人305には2進数の’0010”が設定
され、セレクトレジスタ8306には28&”01”が
設定される。これとともに、完了7−)グアす、プフロ
、グ307には、論理回路302の出力@1′がセット
され出力される。
2n倍数発生回路A115ではセレクトレジスタA30
5の出力の指示によシ8Xベクトル要素間距離(Vりが
求められ 2f1倍数発生回路B116ではセレクトレ
ジスタ8306の出力の指示によシ1×ベクトル要素間
距離(Vりが求められる0ベクトルアドレスレジスタ1
06からは先に設定した値VH+18vlが出力される
。2n倍数発生回路A1]5の出力8XVI、2’倍数
発生回路B116の出力1xvr、 およびベクトル
アドレスレジスタ106の出力vH+18■Iはアドレ
ス加算器116に与えられ、加算される0加算結果VH
+27VI はオペ2ノドアドレスとしてベクトルア
ドレスレジスタ106にセットδれるとともに記憶制御
装置16にも送られる0ただし、今回は読出し要求が1
1”になる点が前回と異なる0記憶読出し要求は完了7
ラグフリ、グフロ、プ307の出力をもとにベクトルオ
ペランド先取り制御回路102で作成される。
5の出力の指示によシ8Xベクトル要素間距離(Vりが
求められ 2f1倍数発生回路B116ではセレクトレ
ジスタ8306の出力の指示によシ1×ベクトル要素間
距離(Vりが求められる0ベクトルアドレスレジスタ1
06からは先に設定した値VH+18vlが出力される
。2n倍数発生回路A1]5の出力8XVI、2’倍数
発生回路B116の出力1xvr、 およびベクトル
アドレスレジスタ106の出力vH+18■Iはアドレ
ス加算器116に与えられ、加算される0加算結果VH
+27VI はオペ2ノドアドレスとしてベクトルア
ドレスレジスタ106にセットδれるとともに記憶制御
装置16にも送られる0ただし、今回は読出し要求が1
1”になる点が前回と異なる0記憶読出し要求は完了7
ラグフリ、グフロ、プ307の出力をもとにベクトルオ
ペランド先取り制御回路102で作成される。
第5図を参照すると、OPコードを解読し、マスク付ベ
クトル命令やベクトルオペランド数等を出力する命令デ
コーダ501.この命令デコーダ501からのベクトル
オペランド数をセットするオペランドカウントレジスタ
502.&1図のベクトルアドレスレジスタ106のリ
ードレジスタ番号を指定するり一ドアドンスレジスタ5
09゜およびベクトルアドレスレジスタ106のライト
レジスタ番号を指定するライトアドレスレジスタ510
を含む。前記リードアドレスレジスタ509は“0”か
らカウントア、グブれ、ラ−f )アドレスレジスタ5
10はリードアドレスレジスタ509の値をうけて使用
する。リードアドレスレジスタ509の値とオペランド
カウントレジスタ502にセットされているベクトルオ
ペランド数とが一致検出回路504で一致したら、セレ
クタ508で@O”が選択されリードアドレスレジスタ
509に@O”が設定される0これとともに一致検出回
路504からの一致信号は、マスク付ベクトル命令7ラ
グ7す、プ70ツブ503にセット信号として与えられ
る。このフリッグ70.グ503には第1図の命令レジ
スタ101内の命令がマスク付ベクトル命令であるか否
かという命令デコーダ501で鱗読された情報が設定さ
れる0この7す、プ70.プ503の出力″1”に応答
して、第1図のセレクタ人107.セレクタ8108.
およびセレクタC】09においてベクトルアドレスレジ
スタ105,2r1倍数発生回路λ115および20倍
数発生回路8116の出力が選択される。
クトル命令やベクトルオペランド数等を出力する命令デ
コーダ501.この命令デコーダ501からのベクトル
オペランド数をセットするオペランドカウントレジスタ
502.&1図のベクトルアドレスレジスタ106のリ
ードレジスタ番号を指定するり一ドアドンスレジスタ5
09゜およびベクトルアドレスレジスタ106のライト
レジスタ番号を指定するライトアドレスレジスタ510
を含む。前記リードアドレスレジスタ509は“0”か
らカウントア、グブれ、ラ−f )アドレスレジスタ5
10はリードアドレスレジスタ509の値をうけて使用
する。リードアドレスレジスタ509の値とオペランド
カウントレジスタ502にセットされているベクトルオ
ペランド数とが一致検出回路504で一致したら、セレ
クタ508で@O”が選択されリードアドレスレジスタ
509に@O”が設定される0これとともに一致検出回
路504からの一致信号は、マスク付ベクトル命令7ラ
グ7す、プ70ツブ503にセット信号として与えられ
る。このフリッグ70.グ503には第1図の命令レジ
スタ101内の命令がマスク付ベクトル命令であるか否
かという命令デコーダ501で鱗読された情報が設定さ
れる0この7す、プ70.プ503の出力″1”に応答
して、第1図のセレクタ人107.セレクタ8108.
およびセレクタC】09においてベクトルアドレスレジ
スタ105,2r1倍数発生回路λ115および20倍
数発生回路8116の出力が選択される。
第5図のリードアドレスレジスタ509の出力とライト
アドレスレジスタ510の出力との一致が一致検出回路
511で検出されると、この回路511の出力は第1図
のアドレス加算器110の出力をセレクタAで選択する
よう指示する0これはベクトルオペランドが1個の場合
、連続してアドレス計算を行なうための機能である0第
1図のベクトルマスク制御回路114の第i因の完了7
ラグフリ、プ70.プ307の出力と第5図のマスク付
ベクトル命令72グフリツグフロ、グ503の出力との
論理積がとられ、第5図のメモリリクエスト7ラグフリ
、プフロ、プ506に設定される0 メモリリクエストフラグ7す、グア0.プ506の出力
は記憶アクセス兼求としてアドレスと併行して第2図の
記憶制御装f121に送られる。このようにして演算抑
止きれていないベクトル袂素についてのアドレス計算が
行なわれ、記憶アクセスが可能となる。今連続マスクビ
ット数Nを30とし、第4図に示す2 倍数発生回路A
115および2n倍数発生回路8116での演算を説明
する。
アドレスレジスタ510の出力との一致が一致検出回路
511で検出されると、この回路511の出力は第1図
のアドレス加算器110の出力をセレクタAで選択する
よう指示する0これはベクトルオペランドが1個の場合
、連続してアドレス計算を行なうための機能である0第
1図のベクトルマスク制御回路114の第i因の完了7
ラグフリ、プ70.プ307の出力と第5図のマスク付
ベクトル命令72グフリツグフロ、グ503の出力との
論理積がとられ、第5図のメモリリクエスト7ラグフリ
、プフロ、プ506に設定される0 メモリリクエストフラグ7す、グア0.プ506の出力
は記憶アクセス兼求としてアドレスと併行して第2図の
記憶制御装f121に送られる。このようにして演算抑
止きれていないベクトル袂素についてのアドレス計算が
行なわれ、記憶アクセスが可能となる。今連続マスクビ
ット数Nを30とし、第4図に示す2 倍数発生回路A
115および2n倍数発生回路8116での演算を説明
する。
まず、2 倍数発生回路A115で4ビ、トシフトレフ
ト(X16)機能を有するシックが選択され2’VIが
発生する。これとともに2 倍数発生回路8116で1
ビツト7フトノツト(×2)機能を有するシフタが選択
され2 VIか発生する0これらの値、2 ’VIと2
VIおよびベクトルオペランドの第0要素のアドレ
ス(VH)は第1図のアドレス加算器110で加算され
、加算結果Vド+16V1+2VIが生成される。この
値は第1回目の中間結果として2回目の加算に使用され
る。
ト(X16)機能を有するシックが選択され2’VIが
発生する。これとともに2 倍数発生回路8116で1
ビツト7フトノツト(×2)機能を有するシフタが選択
され2 VIか発生する0これらの値、2 ’VIと2
VIおよびベクトルオペランドの第0要素のアドレ
ス(VH)は第1図のアドレス加算器110で加算され
、加算結果Vド+16V1+2VIが生成される。この
値は第1回目の中間結果として2回目の加算に使用され
る。
次に第4図の2n倍数発生回路A115で3ビツトシフ
トレフト(×8)機能を有するシフタが選択され23V
Iが発生する。これとともに2n倍数発生回路B116
ではどの77タも選択されないため′O#が発生する。
トレフト(×8)機能を有するシフタが選択され23V
Iが発生する。これとともに2n倍数発生回路B116
ではどの77タも選択されないため′O#が発生する。
これらの値、23Vlと0および第1回目の中間結果V
u+16VI+2VIが第1図のアドレス加算器110
で加算され、加算結果■■+16VI+8V1+2VI
が生成される。
u+16VI+2VIが第1図のアドレス加算器110
で加算され、加算結果■■+16VI+8V1+2VI
が生成される。
この値は第2回目の中間結果として3回目の加算に使用
される。次に第4図の2n倍数発生回路A115で2ビ
ツトシフトレフト(×4)機能を有するシフタが選択さ
れ22Vrが発生される。これとともに20倍数発生回
路B116ではどのシフタも選択されないため0”が発
生する。これらの値4VI とOおよび第2回目の中間
結果Vw+16VI +8Vr +2VIが第1図のア
ドレス加算5110 テ加NAt1..7JOgMi
VH+ 16 V I +8 Vr + 4 Vr +
2 Vl #”lE成gtLルo コレi! Vu+
30 vI であり所望の加算結果であるが、3回の加
算動作を必要とする0これは 2n倍数発生回路B11
6に2ビット以上の77ト機能を有するシフタを備えて
いないからである0 次に、第4図の回路で311inの加算動作を必景とし
た30VIの計算を、2回の加算動作で実現する伽を詳
細に説明する0 第8図を参照すると、2n倍数発生回路A】15の他の
例でi’z、oビットシフトレフ)(XI)機能を有す
るシック、1ビ、トシフトレフト(X2)機能を有する
シ7り、2ビ、トンフトレフト(×4)機能を有するシ
ック、3ビ、トシフトレ7ト(X8)機能を有するシッ
ク、および5ビ、トクフトレフト(X32)機能を有す
るシフタのうちどれか1つを選択でき、どれも選択しな
いときには”0”を出力する。また、2f″倍数発生回
路8116の他の例では、0ビ、トシフトレフト(×1
)機能を有する7フタ、1と、ト7フトレフト(×2)
機能を有するシフタ。2ビ、トシ7トレフト(X4)機
能を有するシック、3ビ、トシフトレ7ト(X8)機能
を有するシック、および4ビ、トンフトレフト(X16
)機能を有するシフタのうちどれか1つを選択でき、ど
れも選択しないときは@01を出力する。
される。次に第4図の2n倍数発生回路A115で2ビ
ツトシフトレフト(×4)機能を有するシフタが選択さ
れ22Vrが発生される。これとともに20倍数発生回
路B116ではどのシフタも選択されないため0”が発
生する。これらの値4VI とOおよび第2回目の中間
結果Vw+16VI +8Vr +2VIが第1図のア
ドレス加算5110 テ加NAt1..7JOgMi
VH+ 16 V I +8 Vr + 4 Vr +
2 Vl #”lE成gtLルo コレi! Vu+
30 vI であり所望の加算結果であるが、3回の加
算動作を必要とする0これは 2n倍数発生回路B11
6に2ビット以上の77ト機能を有するシフタを備えて
いないからである0 次に、第4図の回路で311inの加算動作を必景とし
た30VIの計算を、2回の加算動作で実現する伽を詳
細に説明する0 第8図を参照すると、2n倍数発生回路A】15の他の
例でi’z、oビットシフトレフ)(XI)機能を有す
るシック、1ビ、トシフトレフト(X2)機能を有する
シ7り、2ビ、トンフトレフト(×4)機能を有するシ
ック、3ビ、トシフトレ7ト(X8)機能を有するシッ
ク、および5ビ、トクフトレフト(X32)機能を有す
るシフタのうちどれか1つを選択でき、どれも選択しな
いときには”0”を出力する。また、2f″倍数発生回
路8116の他の例では、0ビ、トシフトレフト(×1
)機能を有する7フタ、1と、ト7フトレフト(×2)
機能を有するシフタ。2ビ、トシ7トレフト(X4)機
能を有するシック、3ビ、トシフトレ7ト(X8)機能
を有するシック、および4ビ、トンフトレフト(X16
)機能を有するシフタのうちどれか1つを選択でき、ど
れも選択しないときは@01を出力する。
この第8図に示す回路を用いて連続マスクピ。
ト数30の演算を行なう動作を以下説明する。
1ず、2n倍数発生回路人115で3と、トシフトレ7
)(X8)機能を有するシックが選択され23Vrが発
生する。これとともに2n倍数発生回路B116で4と
、トク7トレフト(X16)機能を有するシフタが選択
され2vKが発生する。
)(X8)機能を有するシックが選択され23Vrが発
生する。これとともに2n倍数発生回路B116で4と
、トク7トレフト(X16)機能を有するシフタが選択
され2vKが発生する。
これらの@2”VIと2’Vxおよびベクトルオペラン
ドの第0袈素のアドレス(V!りは第1図のアドレス加
算器110で加算され加算結果■■+8Vr+16Vr
が生成嘔れる。この値は第1回目の中間結果として
2回目の加算に使用される。次に2n倍数発生回路人1
15で2ピ、トシ7トレ7)(X4)機能を有するシフ
タが選択され22VIが発生する。これとともに2f1
倍数発生回路B116で1ビ、トシフトレフト(×2)
機能を有するシフタが選択され2!V!が発生する。こ
れらの値2”Vrと2’V rおよび第1回目の中間結
果VH+16VI+8Vr が7Jlされ、lJQkM
果VH+] 6VI+8vI+4■!+2vIが生成さ
れる。これはVPf+30VIであシ第8図の回路では
所望の結果を得るため2回の加算動作ですむ。
ドの第0袈素のアドレス(V!りは第1図のアドレス加
算器110で加算され加算結果■■+8Vr+16Vr
が生成嘔れる。この値は第1回目の中間結果として
2回目の加算に使用される。次に2n倍数発生回路人1
15で2ピ、トシ7トレ7)(X4)機能を有するシフ
タが選択され22VIが発生する。これとともに2f1
倍数発生回路B116で1ビ、トシフトレフト(×2)
機能を有するシフタが選択され2!V!が発生する。こ
れらの値2”Vrと2’V rおよび第1回目の中間結
果VH+16VI+8Vr が7Jlされ、lJQkM
果VH+] 6VI+8vI+4■!+2vIが生成さ
れる。これはVPf+30VIであシ第8図の回路では
所望の結果を得るため2回の加算動作ですむ。
このシック選択のための第1I511のベクトルマスク
制御回路114は第7図の構成が盛装となる。
制御回路114は第7図の構成が盛装となる。
第3図に示す回路と第7図の回路との主な相違点は論理
回路301および302である。これは、第8図の20
倍数発生回路A115および同回路8116のセクタの
構成が第4図の回路のセクタの構成と異なるためである
。
回路301および302である。これは、第8図の20
倍数発生回路A115および同回路8116のセクタの
構成が第4図の回路のセクタの構成と異なるためである
。
以上説明したように、本発FjAはマスク付ベクトル命
令の処理で、カク/トシた値を用いてベクトルアドレス
インクリメント値の2のべき乗倍を1個または2個発生
する手段を設けることによシ、マスク抑止ビットに対応
するオペ2ンドの不要な読出しおよび演算をおこなわな
いように制御してマスク付ベクトル命令を効率よく処理
でき、また専用乗算器は必要としないため金物量の増加
なふせぐという効果がある0
令の処理で、カク/トシた値を用いてベクトルアドレス
インクリメント値の2のべき乗倍を1個または2個発生
する手段を設けることによシ、マスク抑止ビットに対応
するオペ2ンドの不要な読出しおよび演算をおこなわな
いように制御してマスク付ベクトル命令を効率よく処理
でき、また専用乗算器は必要としないため金物量の増加
なふせぐという効果がある0
第1図は本発明の一実施例を示す図、第2図は本発明の
適用される中央処理装置を示す図、第3図は第1図のベ
クトルマスク制御回路114の一構成例を示す図、第4
図は第1図の2n倍数発生回路の一構成例を示す図、第
5図は第1図のベクトルオベラ/ド先取制御回路102
の構成を示す図、第6図は本発明の一実施例の動作を説
明するための図、第7図は第1図のベクトルマスク制御
回路114の他の構成例を示す図、および第8図1言第
1図の2n倍数発生回路の他の構成例を示す図でおる。 図において、 21・・・・・・記憶制御装置、22・・・・・・先行
制御装置、23・・・・・・演算実行装置、101・・
・・・・命令レジスタ、102・・・・・命令デコーダ
およびベクトルオペランド先取シ制御回路、103・・
−・・・汎用レジスタファイル、104・・−・・・入
力レジスタ、105・・・・・・ベクトルアドレスイッ
クリメントレジスタ、106・・・・・・ベクトルアド
レスレジスタ、107・・・・・・セレクタA、]08
・・・・・・セレクタB、109・・・・・・セレクタ
C,110・・・・・・アドレス加算器、111・・・
・・・ベクトルアドレスレジスタ、112・・・・・・
桁合せ回路、113・・・・・・連続マスクビット数カ
ウント回路、114・・・・・・ベクトルマスク制御回
路、115・・・・・・2n倍数発生回路A、116・
・・・・・2n倍数発生回路B0rゝ・ 代理人 弁理士 内 原 皆、 。 \・、。 手続補正書(方式) 61.;0.i4
適用される中央処理装置を示す図、第3図は第1図のベ
クトルマスク制御回路114の一構成例を示す図、第4
図は第1図の2n倍数発生回路の一構成例を示す図、第
5図は第1図のベクトルオベラ/ド先取制御回路102
の構成を示す図、第6図は本発明の一実施例の動作を説
明するための図、第7図は第1図のベクトルマスク制御
回路114の他の構成例を示す図、および第8図1言第
1図の2n倍数発生回路の他の構成例を示す図でおる。 図において、 21・・・・・・記憶制御装置、22・・・・・・先行
制御装置、23・・・・・・演算実行装置、101・・
・・・・命令レジスタ、102・・・・・命令デコーダ
およびベクトルオペランド先取シ制御回路、103・・
−・・・汎用レジスタファイル、104・・−・・・入
力レジスタ、105・・・・・・ベクトルアドレスイッ
クリメントレジスタ、106・・・・・・ベクトルアド
レスレジスタ、107・・・・・・セレクタA、]08
・・・・・・セレクタB、109・・・・・・セレクタ
C,110・・・・・・アドレス加算器、111・・・
・・・ベクトルアドレスレジスタ、112・・・・・・
桁合せ回路、113・・・・・・連続マスクビット数カ
ウント回路、114・・・・・・ベクトルマスク制御回
路、115・・・・・・2n倍数発生回路A、116・
・・・・・2n倍数発生回路B0rゝ・ 代理人 弁理士 内 原 皆、 。 \・、。 手続補正書(方式) 61.;0.i4
Claims (1)
- 先行制御装置により解読されたマスク付ベクトル命令処
理を実行するデータ処理システムにおいて、ベクトルオ
ペランドを1対1でそれぞれマスクする複数ビット中の
連続する演算抑止ビットの個数をカウントするカウント
手段と、このカウント手段でカウントされた値を用いて
2のべき乗倍されたアドレスインクリメント値を1個ま
たは2個発生する発生手段と、この発生手段から発生さ
れた2のべき乗倍されたアドレスインクリメント値とベ
クトルアドレスとを加算しオペランドアドレスを求める
アドレス生成手段とを含むことを特徴とするベクトルマ
スク演算制御ユニット。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60-167447 | 1985-07-31 | ||
| JP16744785 | 1985-07-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62276668A true JPS62276668A (ja) | 1987-12-01 |
| JPH0470662B2 JPH0470662B2 (ja) | 1992-11-11 |
Family
ID=15849870
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61167245A Granted JPS62276668A (ja) | 1985-07-31 | 1986-07-15 | ベクトルマスク演算制御ユニツト |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US4852049A (ja) |
| JP (1) | JPS62276668A (ja) |
| FR (1) | FR2585859B1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015516618A (ja) * | 2012-03-15 | 2015-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | データを動的に判断されたメモリ境界までロードする方法、システムおよびコンピュータ・プログラム |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1327080C (en) * | 1987-05-26 | 1994-02-15 | Yoshiko Yamaguchi | Reduced instruction set computer (risc) type microprocessor |
| US5553309A (en) * | 1991-11-08 | 1996-09-03 | Japan Atomic Energy Research Institute | Device for high speed evaluation of logical expressions and high speed vector operations |
| JP2665111B2 (ja) * | 1992-06-18 | 1997-10-22 | 日本電気株式会社 | ベクトル処理装置 |
| US5832290A (en) * | 1994-06-13 | 1998-11-03 | Hewlett-Packard Co. | Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems |
| US5940625A (en) * | 1996-09-03 | 1999-08-17 | Cray Research, Inc. | Density dependent vector mask operation control apparatus and method |
| US7197625B1 (en) * | 1997-10-09 | 2007-03-27 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
| US6347354B1 (en) * | 1997-10-10 | 2002-02-12 | Rambus Incorporated | Apparatus and method for maximizing information transfers over limited interconnect resources |
| US6782467B1 (en) * | 2001-06-29 | 2004-08-24 | Cypress Semiconductor Corp. | Method and apparatus for fast limited core area access and cross-port word size multiplication in synchronous multiport memories |
| US6789180B1 (en) * | 2001-09-28 | 2004-09-07 | Cypress Semiconductor Corp. | Method and apparatus for mask and/or counter address registers readback on the address bus in synchronous single and multi-port memories |
| US7796464B1 (en) | 2003-06-27 | 2010-09-14 | Cypress Semiconductor Corporation | Synchronous memory with a shadow-cycle counter |
| US20090172348A1 (en) * | 2007-12-26 | 2009-07-02 | Robert Cavin | Methods, apparatus, and instructions for processing vector data |
| US9454367B2 (en) | 2012-03-15 | 2016-09-27 | International Business Machines Corporation | Finding the length of a set of character data having a termination character |
| US9710266B2 (en) | 2012-03-15 | 2017-07-18 | International Business Machines Corporation | Instruction to compute the distance to a specified memory boundary |
| US9280347B2 (en) | 2012-03-15 | 2016-03-08 | International Business Machines Corporation | Transforming non-contiguous instruction specifiers to contiguous instruction specifiers |
| US9459864B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Vector string range compare |
| US9454366B2 (en) | 2012-03-15 | 2016-09-27 | International Business Machines Corporation | Copying character data having a termination character from one memory location to another |
| US9268566B2 (en) | 2012-03-15 | 2016-02-23 | International Business Machines Corporation | Character data match determination by loading registers at most up to memory block boundary and comparing |
| US9715383B2 (en) | 2012-03-15 | 2017-07-25 | International Business Machines Corporation | Vector find element equal instruction |
| US9588762B2 (en) | 2012-03-15 | 2017-03-07 | International Business Machines Corporation | Vector find element not equal instruction |
| US9459867B2 (en) * | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a specified memory boundary indicated by the instruction |
| US9176999B2 (en) * | 2012-09-13 | 2015-11-03 | International Business Machines Corporation | Multiplication-based method for stitching results of predicate evaluation in column stores |
| US9501276B2 (en) | 2012-12-31 | 2016-11-22 | Intel Corporation | Instructions and logic to vectorize conditional loops |
| US10228938B2 (en) * | 2016-12-30 | 2019-03-12 | Intel Corporation | Apparatus and method for instruction-based flop accounting |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4179737A (en) * | 1977-12-23 | 1979-12-18 | Burroughs Corporation | Means and methods for providing greater speed and flexibility of microinstruction sequencing |
| JPS5822446A (ja) * | 1981-08-04 | 1983-02-09 | Hitachi Ltd | ベクトル・マスク演算制御方式 |
| JPS58214963A (ja) * | 1982-06-09 | 1983-12-14 | Hitachi Ltd | ベクトル処理装置 |
| JPS59170971A (ja) * | 1983-03-17 | 1984-09-27 | Nec Corp | ベクトル命令制御装置 |
| JPS6015771A (ja) * | 1983-07-08 | 1985-01-26 | Hitachi Ltd | ベクトルプロセッサ |
-
1986
- 1986-07-15 JP JP61167245A patent/JPS62276668A/ja active Granted
- 1986-07-30 FR FR8611046A patent/FR2585859B1/fr not_active Expired
- 1986-07-30 US US06/891,574 patent/US4852049A/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015516618A (ja) * | 2012-03-15 | 2015-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | データを動的に判断されたメモリ境界までロードする方法、システムおよびコンピュータ・プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2585859B1 (fr) | 1988-11-04 |
| FR2585859A1 (fr) | 1987-02-06 |
| US4852049A (en) | 1989-07-25 |
| JPH0470662B2 (ja) | 1992-11-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0470662B2 (ja) | ||
| CA1205564A (en) | Program counter stacking method and apparatus for nested subroutines and interrupts | |
| US4675809A (en) | Data processing system for floating point data having a variable length exponent part | |
| EP0083209B1 (en) | A microcomputer for processing instructions of different types | |
| US20120197954A1 (en) | Floating point multiplier circuit with optimized rounding calculation | |
| WO2017060667A1 (en) | Floating point number rounding | |
| US5426600A (en) | Double precision division circuit and method for digital signal processor | |
| US5957996A (en) | Digital data comparator and microprocessor | |
| KR20170097618A (ko) | 큰 정수 산술 연산을 수행하기 위한 방법 및 장치 | |
| US3751650A (en) | Variable length arithmetic unit | |
| KR0142334B1 (ko) | 확장된 비트 슬라이스 프로세서 산술논리 연산 유니트 | |
| JPS5847053B2 (ja) | デ−タ処理装置 | |
| US4336599A (en) | Circuit for performing a square root calculation | |
| JPS6061864A (ja) | 並列ベクトル・プロセツサ | |
| US5363322A (en) | Data processor with an integer multiplication function on a fractional multiplier | |
| US4771376A (en) | Processor | |
| US5991872A (en) | Processor | |
| JPS6227412B2 (ja) | ||
| EP0594969B1 (en) | Data processing system and method for calculating the sum of a base plus offset | |
| JPS61103241A (ja) | 情報処理装置 | |
| JPH0380324A (ja) | 中央演算処理装置 | |
| JPH0346024A (ja) | 浮動小数点演算器 | |
| US6202078B1 (en) | Arithmetic circuit using a booth algorithm | |
| Vassiliadis et al. | Brief communication Condition code predictor for fixed-point arithmetic units | |
| EP0265948B1 (en) | Data processor capable of immediately calculating branch address in relative address branch |