JPH0470662B2 - - Google Patents

Info

Publication number
JPH0470662B2
JPH0470662B2 JP61167245A JP16724586A JPH0470662B2 JP H0470662 B2 JPH0470662 B2 JP H0470662B2 JP 61167245 A JP61167245 A JP 61167245A JP 16724586 A JP16724586 A JP 16724586A JP H0470662 B2 JPH0470662 B2 JP H0470662B2
Authority
JP
Japan
Prior art keywords
vector
address
register
circuit
shifter
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
Application number
JP61167245A
Other languages
English (en)
Other versions
JPS62276668A (ja
Inventor
Noriaki Sakai
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
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Publication of JPS62276668A publication Critical patent/JPS62276668A/ja
Publication of JPH0470662B2 publication Critical patent/JPH0470662B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8076Details on data register access
    • G06F15/8084Special arrangements thereof, e.g. mask or switch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマスク付ベクトル命令処理を実行する
データ処理システムにおけるベクトルマスク演算
制御ユニツトに関する。
〔従来の技術〕
従来、この種のデータ処理システムはインター
ナシヨナル・ビジネス・マシンズ・コーポレーシ
ヨンから出願された特開昭60−103482号公報を参
照できる。この公報で示されるシステムは、中央
処理装置のベクトル処理装置とを有する。このシ
ステムでは、マスクビツトはベクトルレジスタへ
のセツト、および主記憶への記憶の抑止を制御す
るだけで、不要なオペランドデータの読出しおよ
び演算動作の抑止を制御していない。
〔発明が解決しようとする問題点〕
この不要なオペランドデータの読出しおよび演
算動作の抑止を制御するため、このシステムで
は、オペランドデータのアドレス生成時に演算、
ロードあるいはアトア動作の抑止されている要素
数(N)とベクトル要素間距離アドレス(VI
との乗算を行ない、オペランドアドレスの増分
(N×VI)を生成する必要がある。しかし、この
乗算のために使用される乗算器は多くの金物を必
要とする。本発明の目的は金物量を増大すること
なくベクトルマスク用オペランドアドレス演算処
理時間を短縮できるようにしたベクトルマスク演
算制御ユニツトを提供することにある。
〔問題点を解決するための手段〕
本発明のベクトルマスク演算制御ユニツトは、
マスク付ベクトル命令処理を実行するデータ処理
システムにおいて、マスクベクトル中の連続する
演算抑止ビツトの個数カウントするカウント手段
と、このカウント手段でカウントされた値を用い
て2のべき乗倍されたアドレスインクリメント値
を1個または2個発生する発生手段と、この発生
手段から発生された2のべき乗倍されたアドレス
インクリメント値とベクトルアドレスとを加算し
オペランドアドレスを求めるアドレス生成手段と
を含む。
〔実施例〕
第2図を参照すると、先行制御をおこなう中央
処理装置は、先行制御装置22、記憶制御装置2
1および演算実行装置23から構成されている。
この演算実行装置23は入力バツフアを備えてい
るので、先行制御装置22は演算実行とは非同期
にオペランドの読出しが可能である。オペランド
読出し動作では、前記先行制御装置22は信号線
1および2を介してオペランドアドレスおよびア
クセス要求を記憶制御装置21に送る。このアド
レスおよびアクセス要求に応答して記憶制御装置
21はバツフア記憶もしくは主記憶からオペラン
ドを読み出し信号線3および4を介して先行制御
装置22および演算実行装置23にオペランドを
送る。先行制御装置22は命令を解読したデコー
ド情報等を信号線5を介して演算実行装置23に
送る。このデコード情報により指示された演算の
演算結果が演算実行装置23から信号線6および
7を介して、先行制御装置22および記憶制御装
置21に送られ、アドレス計算用汎用レジスタや
記憶装置の内容が更新される。
本発明は先行制御装置が解読した命令語がマス
ク付ベクトル命令のとき特に有用である。
ベクトレオペランドの処理は、演算実行装置2
3で実行できるし、また米国特許第4128880号で
示されるベクトル処理のため特別に設計されたプ
ロセツサでも実行できる。
第2図は、マスク付ベクトル命令を処理できる
先行制御装置のアドレス計算部の周辺構成を示
す。
第1図を参照すると、本発明の一実施例は命令
レジスタ101、命令デコーダおよびベクトルオ
ペランド先取り制御回路102、汎用レジスタフ
アイル103、入力レジスタ104、ベクトルア
ドレスインクリメントレジスタ105、ベクトル
アドレスレジスタ106、セレクタA107、セ
レクタB108、セレクタC109、アドレス加
算器110、ベクトルマスクレジスタ111、桁
合せ回路112、連続マスクビツト数カウント回
路113、ベクトルマスク制御回路114、およ
び2n倍発生回路A115およびB116から構成
されている。先行制御装置22は直接または間接
アドレツシングにより得られたベクトルオペラン
ドの第0要素のアドレス(VH)をベクトルアド
レスレジスタ106に格納するとともに、ベクト
ルの要素間距離アドレス(VI)をベクトルイン
クリメントアドレスレジスタ105に格納する。
この操作はベクトル命令の第1ベクトルオペラン
ド、第2ベクトルオペランドおよび第3ベクトル
オペラドに対しておこなわれる。ただしベクトル
命令のなかには第2ベクトロペランドおよび第3
ベクトルオペランドの両方もしくは一方を必要と
しないものがあり、そのときは命令実行に必要な
ベクトルオペランドに対してのみおこなわれる。
本実施例では、ベクトルオペランドの第0要素の
アドレス(VH)およびベクトルの要素時間距離
アドレス(V〓)がともに命令語中で示されるよ
うな命令セツトの場合を想定している。
第1図および第2図を参照すると、記憶制御装
置21から読み出された命令語中のアドレス計算
情報は命令レジスタ101に設定される。このア
ドレス計算情報をもとに汎用レジスタ103から
インデツクスおよびベース値が読み出される。こ
のインデツクスおよびベース値と命令語中で直接
指定されるデイスプレースメントをもとにアドレ
ス加算器110において生成されたアドレスがベ
クトルアドレスレジスタ106に設定される。こ
のときアドレスは生成されるが、記憶アクセス要
求は出力されない。これとともに、入力レジスタ
104に命令語中のベクトル要素間距離アドレス
(VI)が設定され、ベクトルアドレスレジスタ1
06に対応するベクトルアドレスインクリメント
レジスタ105に転送される。この操作がベクト
ルオペランドの数だけ繰り返されベクトルアドレ
スレジスタ106、ベクトルアドレスインクリメ
ントレジスタ105にベクトルオペランドの第0
要素のアドレス(VH)、およびベクトル要素間距
離アドレス(VI)がすべて設定される。マスク
語も命令語中のアドレス計算情報をもとに記憶装
置(図示せず)または、記憶制御装置21から入
力レジスタ104を介してベクトルマスクレジス
タ111に設定される。本実施例ではマスク語が
0のときマスクされていて演算が抑止されると仮
定する。ベクトルマスクレジスタ111に設定さ
れたマスク語は桁合せ回路112を通り連続マス
クビツト数カウント回路113に入力される。桁
合せ回路112はベクトルマスク制御回路114
の制御により桁合せ数が変化する。
第3図を参照すると、桁合せ数の制御をするベ
クトルマスク制御回路114では、マスクカウン
トレジスタ304の値だけ第1図の桁合せ回路1
12が左シフトして桁合せをする。また、桁合せ
回路112はマスクカウントレジスタ304およ
び完了フラグフリツプフロツプ307がすべて
“0”のとき以外は最上位出力ビツトを強制的に
「0」におきかえる回路(図示せず)が組込まれ
ている。この回路は以下の要請から必要とされ
る。まず、例としてマスク「10010」の場合を想
定する。マスク処理が開始されると、桁合せ回路
112は0ビツトのシフトレフトであるため、連
続マスクビツト数カウント回路113からは
「0」が出力される。この結果、第3図のマスカ
ウントレジスタ304、セレクトレジスタ30
5、およびセレクトレジスタ307には「0」が
格納される。なお、完了フラグフリツプフロツプ
には「1」がセツトされる。この結果、第1図の
アドレス加算器110ではVH+0VI+0VI=VH
アドレス計算が行なわれ、ベクトルオペランドの
第0要素のアドレス(VH)でアクセスされる。
この結果、次のアドレス計算においても第3図の
マスクカウントレジスタ304には「0」がセツ
トされ桁合せ回路112は0ビツトシフトレフト
で前回と同じ動作を繰返す。この繰返しを防止す
るため処理の終了した要素に対応するマスクビツ
トはリセツトしなければならない。すなわち桁合
せ回路112の出力の第0ビツト目、すなわち一
番左のビツトを強制的に「0」にする。また、強
制的に「0」にしてはいけないのはマスクベクト
ルレジスタ111の第0ビツトすなわち左端の処
理をするときのみである。そこでマスクカウント
レジスタ304と完了フラグ307がすべて
「0」のとき、すなわち初回のみ、桁合せ回路1
12の出力の第0ビツトすなわち一番左端のビツ
トを有効にする操作が行なわれる。
最初マスクカウントレジスタ304には、「0」
が設定されており、桁合せ回路112からはベク
トルマスクレジスタ111の値そのものが出力さ
れる。
この出力は連続マスビツト数カウント回路11
3に与えられ、連続マスクビツト数が出力され
る。すなわち、連続マスクビツト数カウント回路
113は、ベクトルマスクレジスタ111からの
数において、左側から連続した“0”の数を、連
続して演算が抑止されている要素数として出力す
る。このような連続マスクビツト数カウント回路
113はブライオリテイエンコーダで構成され
る。このようにして得られた連続マスクビツト数
をNとすると、次に演算されるベクトルオペラン
ド要素のアドレスはスペクトルオペランドの第0
要素アドレス(VH)+連続マスクビツト数(N)
×ベクトルの要素間距離アドレス(VI)の式で
与えられる。ここでNは2のべき乗の和で表すこ
とができる。例えばN=6のときは6VI=22VI
21VIとなる。そこで2n倍数発生回路を用いてN×
VIを求めることができる。本実施例では2n倍数発
生回路の一例として、第4図に示す2n倍数発生回
路115および116を用いている。
第4図を参照すると、2n倍数発生回路A115
は、2ビツトシフトレフト(×4)機能を有する
シフタ、3ビツトシフトレフト(×8)機能を有
するシフタ、4ビツトシフトレフト(×16)機能
を有するシフタ、および5ビツトシフトレフト
(×32)機能を有するシフタのどれか1つを選択
でき、どれも選択しないときは“0”を出力す
る。
2n倍数発生回路B116は1ビツトシフトレフ
ト(×2)機能を有するシフタおよび0ビツトシ
フトレフト(×1)機能を有するシフタのどちら
か一方を選択でき、どれも選択しないときには
“0”が出力される。ところが、この構成では2
ビツトシフトレフト(×4)機能を有するシフタ
および4ビツトシフトレフト(×16)機能を有す
るシフタは同時に選択することができず、同様に
1ビツトシフトレフト(×2)機能を有するシフ
タおよび0ビツトシフトレフト(×1)機能を有
するシフタも同時に選択することはできない。そ
こで、第3図に示す論理回路301を用いて2n
数発生回路115および116において、2ビツ
トシフトレフト(×4)機能を有するシフタ、3
ビツトシフトレフト(×8)機能を有するシフ
タ、4ビツタシフトレフト(×16)機能を有する
シフタ、5ビツトシフトレフト(×32)機能を有
するシフタおよび“0”出力回路の組、および1
ビツトシフトレフト(×2)機能を有するシフ
タ、0ビツトシフトレフト(×1)機能を有する
シフタおよび“0”出力回路の組のうちで同じ組
の中で同時に選択できなくなる組合せが発生しな
いようにしている。
ところで同時に出力できない組合せがもともと
なかつたときには、第3図に示す論理回路302
を用いて同時に出力できない組合せがないことを
検出して完了フリツプフロツプ307をセツトす
る。例えばN=27のとき、27VI=24VI+23VI
21VI+20VIである。このとき4ビツトシフトレフ
ト(×16)機能を有するシフタ、および3ビツト
シフトレフト(×8)機能を有するシフタの組合
せが2n倍数発生回路115で同時に選択できな
い。また、1ビツトシフトレフト(×2)機能を
有するシフタおよび0ビツトシフトレフト(×
1)機能を有するシフタの組合せも2n倍数発生回
路116で同時に選択できない。連続マスクビツ
ト数カウント回路113から27すなわち2進数
“011011”が出力されると、論理回路301は4
ビツトシフトレフト(×16)機能を有するシフタ
および3ビツトシフトレフト(×8)機能を有す
るシフタの組合せおよび1ビツトシフトレフト
(×2)機能を有するシフタおよび0ビツトシフ
トレフト(×1)機能を有する組合せが発生しな
いように18すなわち2進数“010010”を出力す
る。また論理回路302は連続マスクビツト数カ
ウント回路113の出力2n倍数発生回路115お
よび116で同時にシフタの選択ができない組合
せがあるかどうかを検出する。
この例では4ビツトシフトレフト(×16)機能
を有するシフタおよび3ビツトシフトレフト(×
8)機能を有するシフタの組合せ、および1ビツ
トシフトレフト(×2)機能を有するシフタおよ
び0ビツトシフトレフト(×1)機能を有するシ
フタの組合せは同時に選択できないため、“0”
が選択出力される。
再び第3図を参照すると、論理回路301の出
力とマスクカウントレジスタ304の出力とは加
算器303において加算され、その加算結果はマ
スクカウントレジスタ304にセツトされる。こ
の加算動作と並行して前記論理回路301の出力
はセレクトレジスタA305およびセレクトレジ
スタB306に格納される。この例では2進数
“0100”がセレクトレジスタA305に格納され、
2進数“10”がセレクトレジスタB306に格納
され、2進数“10”がセレクトレジスタB306
に格納される。この格納動作と並行して論理回路
302の出力が完了フラグフリツプフロツプ30
7をセツトする。この例では、フリツプフロツプ
307は“0”がセツトされる。
次に第6図を参照すると、第1図の2n倍数発生
回路115は第3図のセレクトレジスタA305
の値より第4図の4ビツトシフトレフト(×16)
機能を有するシフタが選択され16×ベクトル要素
間距離アドレス(VI)の演算結果が出力される。
これと同時に第1図の2n倍数発生回路116は第
3図のセレクトレジスタB306の値により第4
図の1ビツトシフトレフト(×2)機能を有する
シフタが選択され2×ベクトル要素間距離(VI
の演算結果が出力される。
第1図を参照すると、ベクトルオペランド先取
り制御回路102の指示に応答して、セレクタ1
07によりベクトルアドレスレジスタ106の出
力、すなわちベクトルオペランドの第0要素のア
ドレス(VH)が選択され、セレクタ108によ
り2n倍数発生回路A115の出力、すなわち16×
スペクトル要素間距離(VI)が選択され、セレ
クタ109により2n倍数発生回路B116の出
力、すなわち2×ベクトル要素間距離(VH)が
選択される。これら選択された値はアドレス加算
器110で加算され加算結果VH+18VIが出力さ
れる。この加算結果は中間結果でありVHが設定
されていたベクトルアドレスレジスタ106に設
定される。この操作によりベクトルオペランドご
とに加算が行なわれる。
次に第3図に示すマスクカウトレジスタ304
の値により第1図の桁合せ回路112は18ビツト
シフトレフト動作をおこなう。この出力で連続マ
スクビツト数カウント回路113は(27−18)=
9を出力する。この出力9、すなわち2進数
“001001”は、2n倍数発生回路A115および2n
倍数発生回路B116の組合せで同時に選択でき
ない組合せがないため、第3図の論理回路301
はそのままの値で通過し、マスクカウントレジス
タ304には値“27”、セレクトレジスタA30
5には2進数の“0010”が設定され、セレクトレ
ジスタB306には2進数“01”が設定される。
これとともに、完了フラグフリツプフロツプ30
7には、論理回路302の出力“1”がセツトさ
れ出力される。
2n倍数発生回路A115ではセレクトレジスタ
A305の出力の指示により8×ベクトル要素間
距離(VI)が求められ、2n倍数発生回路B116
ではセレクトレジスタB306の出力の指示によ
り1×ベクトル要素間距離(VI)が求められる。
ベクトルアドレスレジスタ106からは先に設定
した値VH+18VIが出力される。2n倍数発生回路
A115の出力8×VI、2n倍数発生回路B116
の出力1×VI、およびベクトルアドレスレジス
タ106の出力VH+18VIはアドレス加算器11
6に与えられ、加算される。加算結果VH+27VI
はオペランドアドレスとしてベクトルアドレスレ
ジスタ106にセツトされるとともに記憶制御装
置16にも送られる。ただし、今回は読出し要求
が“1”になる点が前回と異なる。記憶読出し要
求は完了フラグフリツプフロツプ307の出力を
もとにベクトルオペランド先取り制御回路102
で作成される。
第5図を参照すると、OPコードを解読し、マ
スク付ベクトル命令やベクトルオペランド数等を
出力する命令デコーダ501、この命令デコーダ
501からのベクトルオペランド数をセツトする
オペランドカウントレジスタ502、第1図のベ
クトルアドレスレジスタ106のリードレジスタ
番号を指定するリードアドレスレジスタ509、
およびベクトルアドレスレジスタ106のライト
レジスタ番号を指定するライトアドレスレジスタ
510を含む。前記リードアドレスレジスタ50
9は“0”からカウントアツプされ、ライトアド
レスレジスタ510はリードアドレスレジスタ5
09の値をうけて使用する。リードアドレスレジ
スタ509の値とオペランドカウントレジスタ5
02にセツトされているベクトルオペランド数と
が一致検出回路504で一致したら、セレクタ5
08で“0”が選択されリードアドレスレジスタ
509に“0”が設定される。これとともに一地
検出回路504からの一致信号は、マスク付ベク
ル命令フラグフリツプフロツプ503にセツト信
号として与えられる。このフリツプフロツプ50
3には第1図の命令レジスタ101内の命令がマ
スク付ベクトル命令であるか否かという命令デコ
ーダ501で解読された情報が設定される。この
フリツプフロツプ503の出力“1”に応答し
て、第1図のセレクタA107、セレクタB10
8、およびセレクタC109においてベクトルア
ドレスレジスタ106、2n倍数発生回路A115
および2n倍数発生回路B116の出力が選択され
る。第5図のリードアドレスレジスタ509の出
力とライトアドレスレジスタ510の出力との一
致が一致検出回路511で検出されると、この回
路511の出力は第1図のアドレス加算器110
の出力をセレクトAで選択するよう指示する。こ
れはベクトルオペランドが1個の場合、連続して
アドレス計算を行なうための機能である。
第1図のベクトルマスク制御回路114の第3
図の完了フラグフリツプフロツプ307の出力と
第5図のマスク付ベクトル命令フラグフリツプフ
ロツプ503の出力との論理積がとられ、第5図
のメモリリクエストフラグフリツプフロツプ50
6に設定される。
メモリリクエストフラグフリツプフロツプ50
6の出力は記憶アクセス要求としてアドレスと併
行して第2図の記憶制御装置21に送られる。こ
のようにして演算抑止されていないベクトル要素
についてのアドレス計算が行なわれ、記憶アクセ
スが可能となる。今連続マスクビツト数(N)を
30とし、第4図に示す2n倍数発生回路A115お
よび2n倍数発生回路B116での演算を説明す
る。まず、2n倍数発生回路A115で4ビツトシ
フトレフト(×16)機能を有するシフタが選択さ
れ24VIが発生する。これとともに2n倍数発生回路
B116で1ビツトシフトレフト(×2)機能を
有するシフタが選択され21VIが発生する。これら
の値、24VIと21VIおよびベクトルオペランドの第
0要素のアドレス(VH)は第1図のアドレス加
算器110で加算され、加算結果VH+16VI+2VI
が生成される。この値は第1回目の中間結果とし
て2回目の加算に使用される。次に第4図の2n
倍数発生回路A115で3ビツトシフトレフト
(×8)機能を有するシフタが選択され23VIが発
生する。これとともに2n倍数発生回路B116で
はどのシフタも選択されてないため“0”が発生
する。これらの値、23VIと0および第1回目の中
間結果VH+2VIが第1図のアドレス加算器110
で加算され、加算結果VH+16VI+8VI+2VIが生
成される。この値は第2回目の中間結果として3
回目の加算に使用される。次に第4図の2n倍数発
生回路A115で2ビツトシフトレフト(×4)
機能を有するシフタが選択され22VIが発生され
る。これとともに2n倍数発生回路B116ではど
のシフタも選択されないため“0”が発生する。
これらの値4VIと0および第2回目の中間結果VH
+16VI+8VI+2VIが第1図のアドレス加算器1
10で加算され、加算結果VH+16VI+8VI+4VI
+2VIが生成される。これはVH+30VIであり所望
の加算結果であるが、3回の加算動作を必要とす
る。それは、2n倍数発生回路B116に2ビツト
以上のシフト機能を有するシフタを備えていない
からである。
次に、第4図の回路で3回の加算動作を必要と
した30VIの計算を、2回の加算動作で実現する
例を詳細に説明する。
第8図を参照すると、2n倍数発生回路A115
の他の例では、0ビツトシフトレフト(×1)機
能を有するシフタ、1ビツトシフトレフト(×
2)機能を有するシフタ、2ビツトシフトレフト
(×4)機能を有するシフタ、3ビツトシフトレ
フト(×8)機能を有するシフタ、および5ビツ
トシフトレフト(×32)機能を有するシフタのう
ちどれか1つを選択でき、どれも選択しないとき
には“0”を出力する。また、2n倍数発生回路B
116の他の例では、0ビツトシフトレフト(×
1)機能を有するシフタ、1ビツトシフトレフト
(×2)機能を有するシフタ、2ビツトシフトレ
フト(×4)機能を有するシフタ、3ビツトシフ
トレフト(×8)機能を有するシフタ、および4
ビツトシフトレフト(×16)機能を有するシフタ
のうちどれか1つを選択でき、どれも選択しない
ときは“0”を出力する。
この第8図に示す回路を用いて連続マスクビツ
ト数30の演算を行なう動作を以下説明する。
まず、2n倍数発生回路A115で3ビツトシフ
トレフト(×8)機能を有するシフタが選択され
23VIが発生する。これとともに2n倍数発生回路B
116で4ビツトシフトレフト(×16)機能を有
するシフタが選択され24VIが発生する。これらの
値23VIと24VIおよびベクトルオペランド第0要素
のアドレス(VH)は第1図のアドレス加算器1
10で加算され加算結果VH+8VI+16VIが生成さ
れる。この値は第1回目の中間結果として2回目
の加算に使用される。次に2n倍数発生回路A11
5で2ビツトシフトレフト(×4)機能を有する
シフタが選択され22VIが発生する。これとともに
2n倍数発生回路B116で1ビツトシフトレフト
(×2)機能を有するシフタが選択され21VIが発
生する。これらの値22VIと21VIおよび第1回目の
中間結果VH+16VI+8VIが加算され、加算結果
VH+16VI+8VI+4VI+2VIが生成される。これ
はVH+30VIであり第8図の回路では所望の結果
を得るため2回の加算動作ですむ。
このシフタ選択のため第1図のベクトルマスク
制御回路114は第7図の構成が必要となる。
第3図に示す回路と第7図の回路との主な相違
点は論理回路301および302である。これ
は、第8図の2n倍数発生回路A115および同回
路B116のセクタの構成が第4図の回路のセク
タの構成と異なるためである。
〔発明の効果〕
以上説明したように、本発明はマスク付ベクト
ル命令の処理で、カウントした値を用いてベクト
ルアドレスインクリメント値の2のべき乗倍を1
個または2個発生する手段を設けることにより、
マスク抑止ビツトに対応するオペランドの不要な
読出しおよび演算をおこなわないように制御して
マスク付ベクトル命令を効率よく処理でき、また
専用乗算器は必要としないため金物量の増加をふ
せぐという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図は
本発明の適用される中央処理装置を示す図、第3
図は第1図のベクトルマスク制御回路114の一
構成例を示す図、第4図は第1の2n倍数発生回路
の一構成例を示す図、第5図は第1図のベクトル
オペランド先取制御回路102の構成を示す図、
第6図は本発明の一実施例の動作を説明するため
の図、第7図は第1図のベクトルマスク制御回路
114の他の構成例を示す図、および第8図は第
1図2のn倍数発生回路の他の構成例を示す図で
ある。図において、 21……記憶制御装置、22……先行制御装
置、23……演算実行装置、101……命令レジ
スタ、102……命令デコーダおよびベクトルオ
ペランド先取り制御回路、103……汎用レジス
タフアイル、104……入力レジスタ、105…
…ベクトルアドレスインクリメントレジスタ、1
06……ベクトルアドレスレジスタ、107……
セレクタA、108……セレクタB、109……
セレクタC、110……アドレス加算器、111
……ベクトルアドレスレジスタ、112……桁合
せ回路、113……連続マスクビツト数カウント
回路、114……ベクトルマスク制御回路、11
5……2n倍数発生回路A、116……2n倍数発生
回路B。

Claims (1)

    【特許請求の範囲】
  1. 1 先行制御装置により解読されたマスク付ベク
    トル命令処理を実行するデータ処理システムにお
    いて、ベクトルオペランドを1対1でそれぞれマ
    スクする複数ビツト中の連続する演算抑止ビツト
    の個数をカウントするカウント手段と、このカウ
    ント手段でカウントされた値を用いて2のべき乗
    倍されたアドレスインクリメント値を1個または
    2個発生する発生手段と、この発生手段から発生
    された2のべき乗倍されたアドレスインクリメン
    ト値とベクトルアドレスとを加算しオペランドア
    ドレスを求めるアドレス生成手段とを含むことを
    特徴とするベクトルマスク演算制御ユニツト。
JP61167245A 1985-07-31 1986-07-15 ベクトルマスク演算制御ユニツト Granted JPS62276668A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP16744785 1985-07-31
JP60-167447 1985-07-31

Publications (2)

Publication Number Publication Date
JPS62276668A JPS62276668A (ja) 1987-12-01
JPH0470662B2 true 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)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
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
US9459864B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Vector string range compare
US9280347B2 (en) 2012-03-15 2016-03-08 International Business Machines Corporation Transforming non-contiguous instruction specifiers to contiguous instruction specifiers
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
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
US9715383B2 (en) 2012-03-15 2017-07-25 International Business Machines Corporation Vector find element equal instruction
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
US9459868B2 (en) * 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a dynamically determined memory boundary
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)

* Cited by examiner, † Cited by third party
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 ベクトルプロセッサ

Also Published As

Publication number Publication date
FR2585859B1 (fr) 1988-11-04
US4852049A (en) 1989-07-25
FR2585859A1 (fr) 1987-02-06
JPS62276668A (ja) 1987-12-01

Similar Documents

Publication Publication Date Title
JPH0470662B2 (ja)
US5832288A (en) Element-select mechanism for a vector processor
US4363091A (en) Extended address, single and multiple bit microprocessor
US4903228A (en) Single cycle merge/logic unit
US4891754A (en) Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner
US5957996A (en) Digital data comparator and microprocessor
KR0142334B1 (ko) 확장된 비트 슬라이스 프로세서 산술논리 연산 유니트
US4336599A (en) Circuit for performing a square root calculation
US5363322A (en) Data processor with an integer multiplication function on a fractional multiplier
JPS6014338A (ja) 計算機システムにおける分岐機構
JPS6227412B2 (ja)
JP3556252B2 (ja) オフセット合計を計算するデータ処理システムとその方法
US4691282A (en) 16-bit microprocessor system
JPH034936B2 (ja)
US4991086A (en) Microprogram controlled microprocessor having a plurality of internal buses and including transfer register designation system
US4641278A (en) Memory device with a register interchange function
US6021487A (en) Method and apparatus for providing a signed integer divide by a power of two
US3681762A (en) Auto-sequencing associative store
JP3433588B2 (ja) マスクデータ生成回路及びビットフィールド操作回路
JP2006072961A (ja) 演算処理装置のメモリ回路
US5001629A (en) Central processing unit with improved stack register operation
EP0408464B1 (en) Bit field logic operation unit and monolithic microprocessor comprising said unit
JPS638971A (ja) 多項式ベクトル演算実行制御装置
US4723258A (en) Counter circuit
TW200428226A (en) Address offset generation within a data processing system