JPH0414385B2 - - Google Patents

Info

Publication number
JPH0414385B2
JPH0414385B2 JP59026226A JP2622684A JPH0414385B2 JP H0414385 B2 JPH0414385 B2 JP H0414385B2 JP 59026226 A JP59026226 A JP 59026226A JP 2622684 A JP2622684 A JP 2622684A JP H0414385 B2 JPH0414385 B2 JP H0414385B2
Authority
JP
Japan
Prior art keywords
register
vmr
vector
result
complement
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
Application number
JP59026226A
Other languages
English (en)
Other versions
JPS59212958A (ja
Inventor
Richaado Watsuseru Edowaado
Josefu Watokinsu Jerarudo
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS59212958A publication Critical patent/JPS59212958A/ja
Publication of JPH0414385B2 publication Critical patent/JPH0414385B2/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/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • 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
    • 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
    • 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/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations

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)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔技術分野〕 本発明はコンピユータシステムとりわけ演算命
令を実行する間に当該演算命令の実行結果に係る
特定の情報を、続く演算命令のために記憶するこ
とによつて、演算命令の実行終了後ただちに前記
特定の情報を使用可能にしたコンピユータシステ
ムに関する。
〔背景技術〕
米国特許第4128880号または米国特許第4287566
号に示されるような従来のコンピユータシステム
では、演算命令の実行が終了するとその結果をレ
ジスタに記憶する場合がよくある。プロセツサが
演算の結果に係る特定の情報を要求する場合も多
い。
例えば演算命令として比較演算命令を考え、2
つの要素列(ベクトル)の各々の要素に対して比
較が行われ、第1のベクトルの要素が第2のベク
トルの要素よりも大きいかどうかを判定すると仮
定する。1つの要素は32ビツトの符号付き2進
値、短精度浮動小数点形式、もしくは長精度浮動
小数点形式によつて表わすことができる。比較の
結果を表わす第3のベクトル(結果ベクトル)は
2進値“1”および“0”のビツトストリング形
式によつてレジスタに記憶されるとしよう。第3
のベクトル(結果ベクトル)に係る特定情報を、
プロセツサが次の演算命令の実行期間中に要求す
る場合がある。第3のベクトルに係る特定の情報
の例を次に示す。
(イ) レジスタに記憶されている第3のベクトルを
構成するビツトストリングの“1”の個数また
は“0”の個数。
(ロ) レジスタに記憶されている第3のベクトルを
構成するビツトストリングの左より連続する
“0”の個数。
(ハ) レジスタに記憶されている第3のベクトルを
構成するビツトストリングの“1”の記憶場所
に関するアドレス情報、および“0”の記憶場
所に関するアドレス情報。
プロセツサが第3のベクトルを補数化してそれ
に対してさらに(イ)ないし(ハ)の情報を提供すること
もある。プロセツサが記憶装置からビツトベクト
ルを検索し、ビツトベクトルと第3のベクトルと
に対してAND、OR、またはEXCLUSIVEORを
とることもある。プロセツサが記憶装置からビツ
トベクトルを検索し、ビツトベクトルを第3のベ
クトルとして利用する場合もある。プロセツサが
第3のベクトルを読取つて記憶装置に記憶する場
合もある。
しかしながら従来のコンピユータシステムにお
いては、こうした演算命令が実行されてから(イ)な
いし(ハ)の情報が生成されるので、プロセツサがこ
うした情報を利用できるようになるまでに時間を
要していた。
〔発明の目的〕
本発明の目的は演算命令の実行終了後ただちに
その結果に係る特定の情報を使用可能にすること
を特徴としたコンピユータシステムを提供するこ
とにある。
〔発明の概要〕
本発明の目的は、コンピユータシステムに、演
算命令を実行しその結果を記憶する第1の手段
と、前記演算命令の実行時に前記結果の生成およ
び前記結果の記憶を監視し、前記結果に係る特定
の情報を生成し記憶する第2の手段とを備えるこ
とによつて達成できる。
演算命令の実行結果は2進値であつてもよい。
演算命令の実行結果が2進値であれば、前記結果
に係る特定の情報は、結果を構成する2進値
“1”の個数および2進値“0”の個数、ならび
に、結果を構成する2進数“1”および“0”の
記憶場所に関するアドレス情報である。
〔実施例の説明〕
第1図について説明する。第1図は本発明を利
用するコンピユータシステムの構成の一部を表わ
すブロツク図である。第1図に複数のベクトルレ
ジスタ10(VR0ないしVR15)を図示する。
各々のベクトルレジスタは要素列(ベクトル)を
有し、各々の要素は複数のビツトから成る。ゲー
ト12を各々のベクトルレジスタ10に接続して
ベクトルレジスタ10の1個以上の所望の要素を
パイプライン処理装置14へ送る。パイプライン
処理装置14もゲート12に接続される。パイプ
ライン処理装置14はゲート12を介してベクト
ルレジスタ10から要素を受け取つて、算術演算
のような演算を実行する。例えばパイプライン処
理装置14は1つのベクトルレジスタの要素の大
きさと別のベクトルレジスタの要素の大きさとを
比較する比較演算を実行することができる。記憶
処理装置16は演算の結果を記憶するベクトルマ
スクレジスタ(VMR)16aと、VMR16a
およびパイプライン処理装置14とに接続され演
算の結果を記憶する場所のアドレス指定を行うセ
レクタ16bとを有する。
次に第1図の動作について説明する。第1のベ
クトルレジスタVR0および第2のベクトルレジ
スタVR15に対して比較演算を実行すると考え
る。第1のベクトルレジスタVR0の要素の大き
さと第2のベクトルレジスタVR15の対応する
要素の大きさとを比較する。第1のベクトルレジ
スタVR0の要素が第2のベクトルレジスタVR
15の要素よりも大きい場合は“真数”条件をセ
ツトし、第1のベクトルレジスタVR0の要素が
第2のベクトルレジスタVR15の要素よりも小
さいかまたは等しい場合は“補数”条件をセツト
する。“真数”条件は2進値“1”を表わし、”補
数”条件は2進値“0”を表わす。ベクトルレジ
スタVR0およびVR15の対応する要素はゲー
ト12を介してパイプライン処理装置14に送ら
れる。ベクトルレジスタVR0およびVR15の
要素の数を128とする。ベクトルレジスタVR0
およびVR15の各々の要素がゲート12を介し
てパイプライン処理装置14に送られる。パイプ
ライン処理装置14はこうした要素に対して比較
演算を実行し、ベクトルレジスタVR0の要素が
ベクトルレジスタVR15の対応する要素と比べ
て、大きいか、小さいか、または等しいかを判定
する。比較演算が終わるとパイプライン処理装置
14は各要素対の比較結果を表わす出力を発生す
る。セレクタ16bは、2つの要素の大きさの比
較結果を記憶するVMR16aの記憶場所を決定
して、そこに“真数”または“補数”条件を表わ
す2進値“1”または“0”を記憶する。こうし
て比較演算の結果を表わす第3のベクトル(結果
ベクトル)がVMR16aに記憶される。
以上の演算の例として比較演算を示したが、比
較演算の代わりに、ベクトルレジスタ10に記憶
される要素を処理してVMR16aに結果を記憶
するような他の演算も例として考えられる。
演算の結果をVMR16aに記憶して、その結
果に対して他の様々な演算を実行しそれによつて
生じた結果を再びVMR16aに記憶する場合も
ある。例えば演算の結果を表わすベクトルが
VMR16aに記憶されていてプロセツサがこの
ベクトルと他のベクトルとの間でAND、OR、ま
たはEXCLUSIVE ORをとりその結果を再び
VMR16aに記憶する場合がある。プロセツサ
はまたベクトルの補数をとつてその結果をVMR
16aに記憶することもある。
さらにVMR16aに記憶されている演算の結
果から特定の情報が導かれる場合がある。例えば
そうした特定の情報とは演算の結果を表わすベク
トルの有する2進値“1”の個数である。あるい
はそうした情報はVMR16aに記憶されている
ベクトルの2進値“1”または2進値“0”の記
憶場所に係るアドレスの集合である。
従来は演算の結果をVMR16aに記憶した後
にこうした特定の情報を生成していた。従つて特
定の情報が利用できるようになるまでに時間がか
かつていた。
第2図について説明する。第1図に示した記憶
処理装置16はVMR16aに演算命令の実行結
果を記憶するのと同時に前述のような特定の情報
を生成する。従つてVMR16aに結果を記憶し
た後にただちに情報が利用できる。すなわちこう
した情報をただちにアクセスすることができる。
第2図においては、生成される特定の情報は
VMR16aに記憶されている2進値“1”の個
数、および2進値“0”の個数を有する。生成さ
れた情報はさらに、VMR16aに記憶されてい
る2進値“1”および2進値“0”の記憶場所に
対応するアドレスの集合を有する。
第2図において、VMR16aはパイプライン
処理装置14が実行した演算の結果を記憶する。
バツフアアドレスレジスタすなわちセレクタ16
bはアドレス指定手段として機能し、ベクトルレ
ジスタ10(VR0ないしVR15)の要素の選
択に同期してVMR16aのアドレス指定を行
う。VMR16aは真数カウントバツフア16a
1および補数カウントバツフア16a2を有す
る。真数カウントバツフア16a1は2進値
“1”の個数を記憶し、補数カウントバツフア1
6a2は2進値“0”の個数を記憶する。2進値
“1”および“0”は、VMR16aに記憶され
る結果ベクトルを構成する。
装置16は、命令の実行結果に係る特定の情報
を生成する生成手段と、生成された情報を記憶す
る記憶手段とを有する。これらについては後に述
べる。
読取りレジスタ18はVMR16aに接続され
ていてVMR16aの記憶しているベクトルの1
バイトのデータを読取る。実施例ではVMR16
aは16バイトから成る。真数/補数ゲート(T/
C)20は読取りレジスタ18に接続されてい
る。真数/補数制御装置(T/C CTRL)22
が発生する制御信号に応答してゲートの開閉が行
われる。活動VMRレジスタ24は真数/補数ゲ
ート20に接続されていて、1バイトのデータを
受取つて一時記憶する。VMR論理装置(LU)
26は活動VMRレジスタ24およびパイプライ
ン処理装置14(第1図)に接続されている。
VMR論理装置26はベクトルレジスタ10が記
憶している要素に対してなされた演算の結果に従
つて、活動VMRレジスタ24から受取つた1バ
イトのデータを1度に1ビツトずつ変更する。結
果レジスタ28はVMR論理装置26の出力に接
続されていてVMR論理装置26から変更された
データを1ビツトずつ受取つて記憶する。結果レ
ジスタ28はシフトレジスタとして作動し1バイ
トのデータが構成されるまで入力ビツトを左にシ
フトする。結果レジスタ28の1つの出力は
VMR論理装置26に接続されていて、ベクトル
レジスタ10が記憶している要素に対してなされ
た演算の結果に従つて変更されたデータをもう一
度変更する。書込みレジスタ30は結果レジスタ
28のもう1つの出力およびVMR16aに接続
されていて、結果レジスタ28から変更された1
バイトのデータを受取つてVMR16aへ書込
む。1バイトのデータは、VMR16aにおいて
読取りレジスタ18によつて読取りが行われるよ
りも前にそのデータがあつた場所に書込まれる。
VMR論理装置26の出力は結果レジスタ28に
接続されているだけでなく、カウンタ32および
アドレス記憶装置34にも接続されている。カウ
ンタ32はVMR論理装置26から、変更された
データを受取つて、2進値“1”および“0”の
個数をカウントする。アドレス記憶装置34は、
変更されたデータを構成する2進値“1”および
“0”の各々のアドレスを記憶する。
カウンタ32は真数カウンタ32aおよび補数
カウンタ32bを有する。真数カウンタ32aは
VMR論理装置26の出力に接続されていて、
VMR論理装置26からビツトデータを受取つ
て、そのビツトデータを構成している2進値の
“1”の個数をカウントする。補数カウンタ32
bはインバータ(N)3cを介してVMR論理装
置26の出力に接続されていて、VMR論理装置
26からビツトデータを受取つて、そのビツトデ
ータを構成している2進値の“0”の個数をカウ
ントする。各々のカウンタ32aおよび32b
は、カウント値を記憶するレジスタと、そのレジ
スタに接続され2進値“1”によつて、レジスタ
に記憶されているカウント値を増分する増分器と
を有する。
アドレス記憶装置34は補数一致バツフア34
cおよび真数一致バツフア34dを有する。補数
一致バツフア34cおよび真数一致バツフア34
dは、VMR16aに記憶されている2進値
“0”および“1”の記憶場所に係るアドレス情
報を、それぞれ記憶する。アドレス記憶装置34
はさらに補数アドレスレジスタ34aおよび真数
アドレスレジスタ34bを有し、これらは補数一
致バツフア34cおよび真数一致バツフア34d
のアドレス情報の記憶場所をアドレス指定する。
一致アドレスレジスタ34fは補数一致バツフア
34cおよび真数一致バツフア34dに接続され
ている。一致アドレスレジスタ34fは初めにア
ドレス情報を記憶しており、補数アドレスレジス
タ34aおよび真数アドレスレジスタ34bの行
うアドレス指定に応答して、補数一致バツフア3
4cおよび真数一致バツフア34dにそれぞれア
ドレス情報を提供する。一致アドレスレジスタ3
4fは、ベクトルレジスタ10からの要素の読取
り、およびVMR16aへの2進値(“0”およ
び“1”)の書込み、に同期してアドレス情報を
提供する。選択ゲート34eはVMR論理装置2
6の出力信号に従つて、補数アドレスレジスタ3
4aと補数一致バツフア34c、および真数アド
レスレジスタ34bと真数一致バツフア34d、
の接続を行う。選択ゲート34eは2つのポイン
タ34e1および34e2を有する。ポインタ3
4e1はVMR論理装置26の出力信号に応答し
て、補数アドレスレジスタ34aが行う補数一致
バツフア34cのアドレス指定を可能にする。ポ
インタ34e2はVMR論理装置26の出力信号
に応答して、真数アドレスレジスタ34bが行う
真数一致バツフア34dのアドレス指定を可能に
する。選択ゲート34eはさらに2つの選択入力
34e3および34e4を有する。選択入力34
e3はVMR論理装置26が出力する2進値
“0”を表わす信号に応答して、ポインタ34e
1を介し補数アドレスレジスタ34aと補数一致
バツフア34cとを接続する。選択入力34e4
はVMR論理装置26が出力する2進値“1”を
表わす信号に応答して、ポインタ34e2を介し
真数アドレスレジスタ34bと真数一致バツフア
34dとを接続する。インバータ34e5は選択
入力34e3に関係しVMR論理装置26の出力
信号“0”を“1”に変更する。そうして選択入
力34e3はポインタ34e1を介し補数アドレ
スレジスタ34aと補数一致バツフア34cとを
接続することができる。第2図においてはポイン
タ34e1および34e2は初めは互いに隣接し
て位置されている。ポインタ34e1および34
e2は互いに反対方向に移動して、ベクトルレジ
スタ10に記憶されているベクトルを構成する要
素が処理された際、および結果レジスタ28の出
力である変更されたバイトを構成するビツトデー
タがVMR16aの所望の記憶場所に記憶された
際に、補数一致バツフア34cおよび真数一致バ
ツフア34dの所望の記憶場所のアドレス指定を
可能にする。ポインタの初期位置に関する他の実
施例として、ポインタ34e1および34e2を
初めは互いに反対側の境界に位置させて、ポイン
タが互いに近づくように移動させることもでき
る。
以下に実施例の動作を詳細に説明する。
ベクトルレジスタVR0に記憶されているベク
トルとベクトルレジスタVR15に記憶されてい
るベクトルに対して要素ごとにある演算を行うと
仮定する。ある演算を比較演算と仮定すると、ベ
クトルレジスタVR0の0番目の要素とベクトル
レジスタVR15の0番目の要素の比較を行う。
ベクトルレジスタVR0の0番目の要素がベクト
ルレジスタVR15の0番目の要素よりも大きい
場合にパイプライン処理装置14は2進値“1”
を表わす信号を出力する。ベクトルレジスタVR
0の0番目の要素がベクトルレジスタVR15の
0番目の要素よりも小さいかまたは等しい場合に
パイプライン処理装置14は2進値“0”を表わ
す信号を出力する。同様にしてベクトルレジスタ
VR0の1番目の要素とベクトルレジスタVR1
5の1番目の要素との比較が行われ、パイプライ
ン処理装置14が2進値“1”または“0”を表
わす信号を出力する。以下も同様にして2番目か
ら127番目までのベクトルの要素に対して比較が
行われる。従つて第1および第2図に示す経路1
5に、パイプライン処理装置14が実行した比較
演算の結果を表わす2進値“1”および“0”が
順次出力される。こうした出力は第2図に示す
VMR論理装置26の入力として印加される。
ベクトルレジスタVR0およびVR15に記憶
されているベクトルの要素に対する演算の実行と
同時に、セレクタ16bがVMR16aの記憶場
所をアドレス指定する。第1の8つの要素(0番
目ないし7番目)に対して演算が実行されると、
1バイトのデータがVMR16aから読取られ
る。1バイトのデータは読取りレジスタ18およ
びゲート20を介して活動VMRレジスタ24に
転送され記憶される。
VMR16aは初めに複数のデータバイトを有
している。VMR論理装置26は前述のようにパ
イプライン処理装置14から経路15を介して出
力を受取る。活動VMRレジスタ24に記憶され
ている1バイトのデータを構成する各ビツトは、
1ビツトずつ左にシフトされる。こうしてVMR
論理装置26はパイプライン処理装置14の実行
した演算の結果を表わす2進値“1”または
“0”と、活動VMRレジスタ24に記憶されて
いる0番目の要素の1ビツトを表わす2進値
“1”または“0”とを同時に受取る。VMR論
理装置26は例えば、経路15を介して受取るビ
ツトデータが“1”である場合に“1”を出力
し、経路15を介して受取るビツトデータが
“0”である場合に“0”を出力することができ
る。
または、結果レジスタ28の出力するビツトデ
ータと、活動VMRレジスタ24の出力するビツ
トデータとに対して、VMR論理装置26は、
AND、OR、またはEXCLUSIVE OR演算を実
行することもできる。
ベクトルレジスタVR0およびVR15に記憶
されるベクトルの第1の8つの要素(0番目ない
し7番目)に対して実行された比較演算の結果を
表わす1バイトのデータ、結果レジスタ28に記
憶される。VMR論理装置26は、活動VMRレ
ジスタ24の代わりに結果レジスタ28に記憶さ
れているビツトデータに対しても前述のような演
算を実行することができる。
別の1バイトのデータを構成する各ビツトが結
果レジスタ28に記憶される際に、カウンタ32
およびアドレス記憶装置34がこのビツトを受取
る。カウンタ32およびアドレス記憶装置34の
機能について以下に説明する。
結果レジスタ28に記憶されるビツトが“1”
の場合は、真数カウンタ32aがカウント値を1
だけ増分する。ビツトが“0”の場合は、インバ
ータ32cによつて2進値“0”は反転されて、
補数カウンタ32bがカウント値を1だけ増分す
る。こうして真数カウンタ32aが2進値“1”
の個数をカウントし、補数カウンタ32bが2進
値“0”の個数をカウントする。
結果レジスタ28に記憶されるビツトが“1”
である場合は、選択入力34e4が選択ゲート3
4eの一部を付勢する。そうして真数アドレスレ
ジスタ34bが真数一致バツフア34dの記憶場
所をアドレス指定する。真数一致バツフア34d
の所望の記憶場所のアドレス指定が行われると、
アドレス情報(ベクトルレジスタ10の要素の記
憶場所に係るアドレス、およびVMR16aに記
憶される結果ビツトの記憶場所に係るアドレス)
が一致アドレスレジスタ34fから真数一致バツ
フア34dに転送されて、真数一致バツフア34
dの所望の記憶場所に記憶される。
結果レジスタ28に記憶されるビツトが“0”
である場合は、インバータ34e5によつて2進
値“0”は反転されて、選択入力34e3が選択
ゲート34eの他の部分を付勢する。そうして補
数アドレスレジスタ34aが補数一致バツフア3
4cの記憶場所をアドレス指定する。補数一致バ
ツフア34cの所望の記憶場所のアドレス指定が
行われると、アドレス情報が一致アドレスレジス
タ34fから補数一致バツフア34cに転送され
て、補数一致バツフア34cの所望の記憶場所に
記憶される。
ベクトルレジスタVR0およびVR15からベ
クトルの要素が順次読取られる際、これと同期し
てアドレス情報が一致アドレスレジスタ34fか
ら順次読取られる。2進値“0”および“1”に
応じて、選択入力34e3および34e4が、補
数アドレスレジスタ34aによる補数一致バツフ
ア34cのアドレス指定、および真数アドレスレ
ジスタ34bによる真数一致バツフア34dのア
ドレス指定をそれぞれ可能にする。
真数カウンタ32aおよび補数カウンタ32b
が例えばVMR16aに記憶される2進値“1”
および“0”の個数をそれぞれ記憶すると、書込
みレジスタ30が真数カウンタ32aおよび補数
カウンタ32bのカウント値を読取つて、真数カ
ウントバツフア16a1および補数カウントバツ
フア16a2にカウント値をそれぞれ記憶させ
る。
ここで前述のポインタ34e1および34e2
の初期位置と、補数一致バツフア34cおよび真
数一致バツフア34dの記憶場所の個数との関係
を説明する。ポインタ34e1および34e2の
初期位置に関する第1の実施例として、初めにポ
インタを互いに隣接させて反対方向に移動させる
場合に、今ベクトルレジスタ10がベクトルの要
素を128個(0番目ないし127番目)有すると仮定
すると、補数一致バツフア34cおよび真数一致
バツフア34dはそれぞれ少なくとも128個の記
憶場所を確保しなければならない。またポインタ
34e1および34e2の初期位置に関する第2
の実施例として、初めにポインタを互に反対側の
境界に位置させてポインタが近づくように移動さ
せる場合は、補数一致バツフア34cおよび真数
一致バツフア34dの記憶場所の個数はそれぞれ
127個以下でよい。ポインタの初期位置に関する
第1および第2の実施例を比較すると、第2の実
施例の方がコストは安い。
次の他の演算例としてVMR16aの内容の補
数化について考える。この補数化命令に応答して
VMR16aから1バイトのデータが読取られる
と、真数/補数制御装置22が1バイトのデータ
の補数化されていない2進値“1”および補数化
されていない2進値“0”を補数化してそれぞれ
“0”および“1”に変更する。補数化されたビ
ツトから成る1バイトのデータは後の使用に備え
て記憶される。補数化された2進値“1”
(VMR16aにおいて補数化されていない2進
値“0”に対応する)のアドレス情報が必要な場
合は、真数/補数制御装置22によつて補数一致
バツフア34c(真数一致バツフア34dではな
い)に記憶されている所望のアドレス情報が選択
される。何故ならば、この演算の実行の前は、補
数化された2進値“1”はVMR16a内におい
て補数化されていない2進値“0”であつたから
である。同様にして補数化された2進値“0”の
アドレス情報が必要な場合は、真数一致バツフア
34d(補数一致バツフア34cではない)に記
憶されている所望のアドレス情報が選択される。
【図面の簡単な説明】
第1図は本発明を利用するコンピユータシステ
ムの構成の一部を表わすブロツク図、第2図は本
発明の実施例の詳細を表わすブロツク図である。

Claims (1)

  1. 【特許請求の範囲】 1 演算命令を実行し、2進ビツトから成る該演
    算命令の実行結果を生成する演算実行手段と、 上記結果を記憶する第1記憶手段と、 上記演算実行手段による演算結果の生成に際し
    て該結果中の2進値の1の数及び0の数をカウン
    トするカウント手段と、 上記演算実行手段による演算結果の生成に際し
    て、上記2進値の1についての上記第1記憶手段
    中の記憶位置を表す第1のアドレスの集合を記憶
    する第2記憶手段と、 上記演算実行手段による演算結果の生成に際し
    て、上記2進値の0についての上記第1記憶手段
    中の記憶位置を表す第2のアドレスの集合を記憶
    する第3記憶手段と、 を含むことを特徴とするコンピユータ・システ
    ム。
JP59026226A 1983-05-18 1984-02-16 コンピユ−タシステム Granted JPS59212958A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/495,563 US4630192A (en) 1983-05-18 1983-05-18 Apparatus for executing an instruction and for simultaneously generating and storing related information
US495563 1990-03-16

Publications (2)

Publication Number Publication Date
JPS59212958A JPS59212958A (ja) 1984-12-01
JPH0414385B2 true JPH0414385B2 (ja) 1992-03-12

Family

ID=23969114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59026226A Granted JPS59212958A (ja) 1983-05-18 1984-02-16 コンピユ−タシステム

Country Status (4)

Country Link
US (1) US4630192A (ja)
EP (1) EP0126247B1 (ja)
JP (1) JPS59212958A (ja)
DE (1) DE3484147D1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4890220A (en) * 1984-12-12 1989-12-26 Hitachi, Ltd. Vector processing apparatus for incrementing indices of vector operands of different length according to arithmetic operation results
JPS6266377A (ja) * 1985-09-19 1987-03-25 Fujitsu Ltd マスクパタ−ン生成方式
US5109523A (en) * 1987-01-23 1992-04-28 Hitachi, Ltd. Method for determining whether data signals of a first set are related to data signal of a second set
US4989168A (en) * 1987-11-30 1991-01-29 Fujitsu Limited Multiplying unit in a computer system, capable of population counting
US4947359A (en) * 1988-02-17 1990-08-07 International Business Machines Corporation Apparatus and method for prediction of zero arithmetic/logic results
US4924422A (en) * 1988-02-17 1990-05-08 International Business Machines Corporation Method and apparatus for modified carry-save determination of arithmetic/logic zero results
CA2045773A1 (en) * 1990-06-29 1991-12-30 Compaq Computer Corporation Byte-compare operation for high-performance processor
US5258936A (en) * 1992-08-05 1993-11-02 Motorola, Inc. Method and apparatus for generating pseudo-random numbers
US5416783A (en) * 1993-08-09 1995-05-16 Motorola, Inc. Method and apparatus for generating pseudorandom numbers or for performing data compression in a data processor
US5586069A (en) * 1994-09-30 1996-12-17 Vlsi Technology, Inc. Arithmetic logic unit with zero sum prediction
US6070237A (en) * 1996-03-04 2000-05-30 Intel Corporation Method for performing population counts on packed data types
US6049864A (en) * 1996-08-20 2000-04-11 Intel Corporation Method for scheduling a flag generating instruction and a subsequent instruction by executing the flag generating instruction in a microprocessor
US5940625A (en) * 1996-09-03 1999-08-17 Cray Research, Inc. Density dependent vector mask operation control apparatus and method
US6418529B1 (en) 1998-03-31 2002-07-09 Intel Corporation Apparatus and method for performing intra-add operation
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction
US7392275B2 (en) * 1998-03-31 2008-06-24 Intel Corporation Method and apparatus for performing efficient transformations with horizontal addition and subtraction
WO2000048080A1 (en) * 1999-02-12 2000-08-17 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
US6282628B1 (en) * 1999-02-24 2001-08-28 International Business Machines Corporation Method and system for a result code for a single-instruction multiple-data predicate compare operation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51147932A (en) * 1975-06-02 1976-12-18 Ibm Sum detection logical circuit
JPS5587243A (en) * 1978-12-25 1980-07-01 Fujitsu Ltd Zero detection system of adder output

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3939455A (en) * 1971-10-01 1976-02-17 Hitachi, Ltd. Microprocessor having an interface for connection of external devices
US3815095A (en) * 1972-08-29 1974-06-04 Texas Instruments Inc General-purpose array processor
US4169212A (en) * 1975-04-14 1979-09-25 Datotek, Inc. Multi-mode digital enciphering system
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
JPS53128951A (en) * 1977-04-18 1978-11-10 Hitachi Ltd Arithmetic logic device
US4287566A (en) * 1979-09-28 1981-09-01 Culler-Harrison Inc. Array processor with parallel operations per instruction
US4371951A (en) * 1980-09-29 1983-02-01 Control Data Corporation Apparatus for converting serial input sparse vector format to parallel unpacked format for input to tandem arithmetic logic units
JPH0232663B2 (ja) * 1981-09-30 1990-07-23 Fujitsu Ltd Jokentsukihikakuenzansochi
US4486848A (en) * 1982-07-28 1984-12-04 Sperry Corporation Microprocessor parallel additive execution of a computer count ones instruction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51147932A (en) * 1975-06-02 1976-12-18 Ibm Sum detection logical circuit
JPS5587243A (en) * 1978-12-25 1980-07-01 Fujitsu Ltd Zero detection system of adder output

Also Published As

Publication number Publication date
JPS59212958A (ja) 1984-12-01
US4630192A (en) 1986-12-16
EP0126247A2 (en) 1984-11-28
EP0126247B1 (en) 1991-02-27
EP0126247A3 (en) 1988-01-20
DE3484147D1 (de) 1991-04-04

Similar Documents

Publication Publication Date Title
US5239642A (en) Data processor with shared control and drive circuitry for both breakpoint and content addressable storage devices
US3786432A (en) Push-pop memory stack having reach down mode and improved means for processing double-word items
JP2776132B2 (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
JPH0414385B2 (ja)
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
JPH0814801B2 (ja) プログラマブルアクセスメモリ
JPH0248931B2 (ja)
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US4133028A (en) Data processing system having a cpu register file and a memory address register separate therefrom
US5179691A (en) N-byte stack-oriented CPU using a byte-selecting control for enhancing a dual-operation with an M-byte instruction word user program where M<N<2M
JPH034936B2 (ja)
US4816992A (en) Method of operating a data processing system in response to an interrupt
JPS62156742A (ja) デ−タ書込み制御方式
JPS60134937A (ja) アドレス拡張装置
JP2716254B2 (ja) リストベクトル処理装置
JPS5821300B2 (ja) デンシケイサンキ ノ メモリアドレスシテイホウシキ
JP2798492B2 (ja) リストベクトル処理装置
US5894581A (en) Method for reducing control store space in a VLSI central processor
JPS5972545A (ja) マイクロプログラム制御システム
JPH10240525A (ja) 情報処理装置
JPS61194566A (ja) ベクトルデ−タ参照制御方式
JPH05108353A (ja) 情報処理装置
JPS5837885A (ja) マイクロプロセツサ装置