JPS6234242A - デ−タ処理システム - Google Patents

デ−タ処理システム

Info

Publication number
JPS6234242A
JPS6234242A JP61158131A JP15813186A JPS6234242A JP S6234242 A JPS6234242 A JP S6234242A JP 61158131 A JP61158131 A JP 61158131A JP 15813186 A JP15813186 A JP 15813186A JP S6234242 A JPS6234242 A JP S6234242A
Authority
JP
Japan
Prior art keywords
vector
instruction
register
pair
registers
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.)
Pending
Application number
JP61158131A
Other languages
English (en)
Inventor
ワーナー・ブツクホルツ
ロナルド・モートン・スミス
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 JPS6234242A publication Critical patent/JPS6234242A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

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)
  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は成るプログラムから別のプログラムへの切替え
に伴って、プログラムが使用していた特殊レジスタ(例
えばベクトル・レジスタ)の内容を保管したり復元した
りする技術に関する。
B、従来技術 一般に、ベクトル命令を使用するプログラムはその実行
完了までに比較的長い時間を要するが、プログラム切替
えに伴うオーバーヘッド(時間)を最小にするため、長
時間にわたる実行継続を許される。プログラムが切替え
られるのは、ベクトル命令が完了したときだけであり、
ベクトル命令の実行が中断されることはない。
ベクトル処理については、例えば1981年にマグロ−
ヒル・アンド・ヘミスフイア社から出版されたP、 M
、 Kogge著の” Architecture o
fPipelined Computers”に詳しい
1982年1月に発行されたIBM Technica
lDisclosure Bulletin、第24巻
、第8号の第4431〜4432頁には、状況データの
保管、復元及び変更を行うサービスが記載されている。
それによれば、プロセッサで実行される作業単位は自身
の状況の保管、復元又は変更を要求することができ、ま
た保管後は他の作業に進むことができる。
スカラー量に関する割込みについての一般的な記載は、
例えば” I B Mシステム/370解説書”(資料
番号N:GA22−7000)に見られる。
C0発明が解決しようとする問題点 従来においてプログラム切替えに時間がかかつていたの
は、すべてのベクトル・レジスタの内容を保管及び復元
していたからである。
従って本発明の目的は、実際に使用されているベクトル
・レジスタ等の特殊レジスタだけを保管及び復元の対象
とすることによって、プログラム切替えに要する時間を
短縮することにある。
D3問題点を解決するための手段 本発明は、メモリと、複数の特殊レジスタを有する処理
装置とを備えたデータ処理システムにおいて、これらの
特殊レジスタが使用中かどうかを示す使用中ビットを含
むレジスタを設け、このレジスタで使用中ビットがセッ
トされている特殊レジスタだけを保管命令等の所定の命
令に応答して保管又は復元するようにしたことを特徴に
している。
E、実施例 最初に、以下の説明で使用する略語の意味を明らかにし
ておく。
CPU :中央処理装置 I PPF :命令前処理装置 VCH:ベクトル変更ビット VC:T :ベクトル・カウント VIU:ベクトル使用中ビット VIX:ベクトル割込みインデックス VMR:ベクトル・モード・レジスタ vpu:ベクトル処理装置 vR:ベクトル・レジスタ VRA:ベクトル・レジスタ・アレイ VSR:ベクトル状況レジスタ 本発明を実施し得るデータ処理システムの構成を第1図
に示す。このシステム1oはVPUI2を含んでいる。
VPU12以外のメモリ14、CPU16、チャネル1
8及びコンソール19は通常のデータ処理システムを構
成するものである。
以下、VPUI2を除いた部分を基本システムと呼ぶこ
とにする。システム操作員はコンソール19を用いて、
初期設定プログラム等の種々の制御プログラムと対話で
きる。
メモリ14は記憶装置20及び記憶装置制御機構(PS
CF)22を含み、プログラム命令やデータ・オペラン
ドを記憶するのに用いる。データ・オペランドには、V
PUI2で処理されるベクトル・オペランドが含まれる
。記憶装置制御機構22は記憶装置20から一連の命令
を取出し、CPU16へのデータ・オペランド転送を開
始する。
CPU16は、高速バッファ(図示せず)、命令を解読
するlPPF24、及びlPPF24から転送されてき
た命令を実行する実行装置26を含む、これらの各装置
の詳細は米国特許第4200927号明細書に記載され
ているが、本発明との関連において簡単に説明しておく
と、まずlPPF24は、実行装置26及びVPtJ1
2で実行すべきすべての命令をメモリ14から取出して
解読する。ベクトル・オペランドの取出しく及び記憶)
はマイクロコード及びlPPF24によって開始され、
一方ベクトル命令の実行はVPUI2によって制御され
る。上記米国特許にも記載されているように、実行装置
26はデータ・バス28を介してメモリ14に接続され
、非ベクトル処理命令を実行する。実行装置26は命令
実行制御信号を発生するマイクロプログラム制御記憶装
置(図示せず)を含む。実行装置26による命令実行の
結果はlPPF24に戻され、lPPF24はそれに基
いて命令実行シーケンスを制御する。
VPUI2は、I PPF24及び実行装置26の機能
を拡張するものである。VPtJ12と基本システムの
相互接続は、インタフェース・バス30及び32を介し
て行われる。バス30は実行装置26に接続され、バス
32はlPPF24に接続される。VPUI 2で処理
すべきベクトル・データ・オペランドは、必要なときに
高速バッファから実行装置26を介してVPUI2に取
出される。
インタフェース・バス32は両方向性であり、ベクトル
命令○PコードをlPPF24にある待ち行列からVP
UI2のベクトル命令レジスタ及びベクトル命令バッフ
ァ(共に図示せず)へ転送する。インタフェース・バス
32は、ALUプツトアウェイ・レジスタ(図示せず)
と汎用ストライド・レジスタ40との間でアドレス情報
を転送するのにも用いる。これらのレジスタ及びバッフ
ァの詳細は1985年6月17日付の米国特許出願第7
45040号に記載されている。
ベクトル命令バッファは、インタフェース・バッファ3
2を介して送られてきたベクトル命令OPコード及びベ
クトル・レジスタ・アドレスを保持する。これらの情報
は命令実行時にVPU12の解読回路で使用される。
VPUI2とメモリ14との間のデータ転送は、データ
・バスを介して行われる6具体的に云うと、メモリ14
から読出されたデータはデータ・バス28、実行装置2
6及びインタフェース・バス30を介してVPU12の
データ・レジスタ(図示せず)に送られる。このデータ
・レジスタは読出しデータ保持のためのバッファとして
働く。vPU12からメモリ14ヘデータを転送する場
合は、VPU12のステージ入レジスタ(図示せず)か
らインタフェース・バス3oを介して実行装置26のレ
ジスタへデータが転送される。
VPU12(7)詳細を第2図に示す。VPU12は、
Oから15までの番号を付けられた16個のベクトル・
レジスタから成るVRA48を含む。
第3図に示すように、各ベクトル・レジスタは0からZ
−1までの2個のベクトル要素記憶位置を有している。
Zはデータ処理システムによって決まる一定の数値であ
り、ここではZ=128とする。汎用レジスタや浮動小
数点レジスタとは異なり、ベクトル・レジスタは多目的
レジスタであって、2進データ(算術データ又は論理デ
ータ)のベクトルの他に浮動小数点データのベクトルも
記憶することができる。ベクトル・レジスタは、算術演
算、比較、論理演算、ロード及び記憶のために1以上の
ベクトル・オペランドを保持する。どのようなオペレー
ションを行うかに応じて、ベクトルは各32ビツト幅の
2個の要素記憶位置を有する単一のベクトル・レジスタ
を占めるか、又はダブルワード(64ビツト)オペラン
ドの場合は隣接する偶数番及び奇数番のベクトル・レジ
スタ(ベクトル・レジスタ対)を占める。ベクトル・レ
ジスタにはVMR(ベクトル・マスク・レジスタ)及び
ベクトル・データ・レジスタが含まれる。
ベクトル・オペランドはベクトル・データ・レジスタに
保持される。
第2図において、VRA48から読出されたベクトル・
オペランド(データ)はステージ入レジスタ44及びス
テージBレジスタ50へ送られる。
ステージ入レジスタ44はVMRからライン52を介し
て送られてきたデータも受取る。ZビットのVMRはベ
クトル比較演算のターゲット、ビット・ベクトルに対す
る論理演算のソース及びターゲット、並びにマスクされ
た被制御動作のためのマスクのソースとして用いられる
。ステージ入レジスタ44にあるデータはインタフェー
ス・バス30を介して実行装置26へ送られる。ラムダ
・レジスタ46もステージ入レジスタ44にあるデータ
を受取る。ラムダ・レジスタ46は、ステージ入レジス
タ44から実行装置26へ送られるデータのための遅延
レジスタ及びバックアップ・レジスタとして使用される
。データの遅延は、VRA48を適切にアクセスするの
に必要である。
浮動小数点演算の場合、データはALUシフト・レジス
タ53A及び53B、並びにALU入力レジスタ55A
及び55Bで適切なシフト及び整列を行った後、ALU
54へ送られる。ALU54は、短精度及び良精度の2
進ベクトル・オ゛ペランドの加算及び減算を行う並列2
進加算器であるが、AND、OR及び排他的ORの論理
演算並びに論理シフト(1,2又は3ビツトの左シフト
)も可能である。演算結果はALUレジスタ56へ送ら
れる。ALUプツトアウェイ・レジスタ58は、ALU
レジスタ56にあるデータをライン71を介して再びA
LU54へ入力する際に遅延レジスタとして働く。VR
A48へ帯層すべきデータは、データ・バス70を介し
てVRAプツトアウェイ・レジスタ60へ送られる。A
LUプツトアウェイ・レジスタ58及びライン71は、
ALUパイプを介するベクトル・データの循環を要求す
る命令のために使用される。このような命令の一例とし
て、ベクトルを累算してスカシにするものがある。AL
U54の演算は、当該ベクトル内の他の要素との和をと
るためレジスタ53Aへ循環される。累算の部分結果は
、各マシン・サイクルの[■に、VRAプツトアウェイ
・レジスタ60を介してVRA48に書込まれる。なお
、ALU及びVRAのプツトアウェイ・レジスタ58及
び60は浮動小数点演算の結果として正規化された論理
入力を受取る。
ベクトル命令バッファ36は、インタフェース・バス3
2を介して受取ったベクトル命令OPコード及びベクト
ル・レジスタ・アドレスを保持する。
これらの情報は命令実行時にVPU12の各種解読回路
で使用される。
ALU54で演算すべきオペランド・データはvRA4
8から、又はCPU16からレジスタ42を介して得ら
れる。2つのオペランドがVRA48から供給される場
合、取出された第1のベクトル要素はステージ入レジス
タ44へ送られ、次いでALU54で処理された後、A
LUプツトアウェイ・レジスタ58及びVRAプツトア
ウェイ・レジスタ60へ送られる(A画データ経路)。
取出された第2のベクトル要素はステージBレジスタ5
0へ送られ、次いでALU54で処理された後、ALU
プツトアウェイ・レジスタ58及びVRAプツトアウェ
イ・レジスタ60へ送られる(B画データ経路)。
もう少し具体的に説明すると、A画データ経路における
オペランドの最初の要素は、B画データ経路におけるオ
ペランドの最初の要素よりも1マシン・サイクル早<V
RA48から読出される。
従って2サイクル後には、A側オペランドの最初の要素
はラムダ・レジスタ46にあり、B側オペランドの最初
の要素はステージBレジスタ50にあり、A側オペラン
ドの2番目の要素はステージ入レジスタ44にある。こ
のような、A画データ経路及びB画データ経路における
要素の初期オフセットはVRA48の入出力インタフェ
ース・チップを適応させる。このオフセットは、いずれ
のサイクルにおいてもアレイ・チップの読出しを1回し
か行わないことを保証する。従って、VRAプツトアウ
ェイ・レジスタ6oにあるベクトル(ベクトル演算の結
果)は各マシン・サイクルの間にVRA48に書込まれ
る。
要約すると、オペランド要素対がALUパイプ内で処理
され、その結果が各マシン・サイクルの間にVRA48
に書込まれる。このようなパイプライン方式を用いれば
、ベクトル要素の演算を実行した場合、サイクル毎に演
算結果をVRA48に書込むことができる。なお、図に
は示していないが、VPU12はA画データ経路及びB
画データ経路に接続された乗除算装置及び関連するレジ
スタも含んでいる。
演算を実行すべき2つのベクトル・オペランドのうち、
一方がメモリ14から供給され且つ他方がVRA48か
ら供給される場合、後者のベクトル・オペランドはステ
ージBレジスタ50を含むB画データ経路を介して送ら
れる。メモリ14がら実行装ff!26を介して送られ
てくるベクトル・オペランドは一旦データ・レジスタ4
2にロードされ1次いでB画データ経路を介して送られ
る。
演算結果はVRA48中の宛先ベクトル・レジスタに書
込まれる。
ベクトル・オペランド及びスカシ・オペランドを用いて
演算を実行する場合、スカシ・オペランドはまずデータ
・レジスタ42にロードされ、次いでALUレジスタ5
3Aに送られて 命令が完了するまでそこに保持される
なお1本明細書で「演算」と云えば、記憶装置20から
のデータの取出し並びに記憶装置へのデータ及び結果の
書込みも包含する。また「結果」は、ベクトル・レジス
タ及びベクトル・マスク・レジスタの内容に対する算術
演算及び論理演算の結果だけでなく、ベクトル・レジス
タ及びベクトル・マスク・レジスタのローディングも包
含する。
結果はベクトル・レジスタ、スカシ・レジスタ又は記憶
装置に書込まれる。ベクトル・レジスタにロードされた
ベクトル要素は記憶装置20に書戻すことができる。
ベクトル・オペランドを構成する一連のベクトル要素を
メモリ14からVPUI2へ転送する場合、ベクトル・
ロード命令のためのデータ転送経路は、CPU16内の
レジスタが起点となり、インタフェース・バス30を介
してVPUI 2内のデータ・レジスタ42に至る。ベ
クトル要素はデータ・レジスタ42からVRA48の特
定のベクトル・レジスタに書込まれる。1つの要素がベ
クトル・レジスタに書込まれる度に、汎用アドレス・レ
ジスタにあるベクトル要素アドレスが、1つの要素を構
成するバイトの数(例えば2,4又は8)だけ増分され
る。CPU16は取出される各ベクトル要素の記憶装置
アドレスを計算し、その要素記憶位置へサイクル当り最
大1つの要素の割合でデータを転送する。実行装置26
は、マイクロコードの制御のもとに、最初のベクトル要
素のアドレスを生成し、それをlPPF24へ送る。l
PPF24はこのアドレスを順次に増分しながら連続す
るベクトル要素を取出す。
ベクトル記憶命令を実行するときは、VPUI2はVR
A48中のロードされていたベクトル・レジスタのデー
タをステージAレジスタ44及びインタフェース・バス
30を介してCPU16へ転送する。
VPUI2は、長短両方の浮動小数点のバク1〜ル及び
2進整数のベクトルに対して演算を実行する6また、一
般にマスク・ビットとして使用される個々のビットのベ
クトルの演算も行う。演算の対象となるオペランドは、
記憶装置20、ベクトル・レジスタ(対の場合もある)
又はスカシ・レジスタから取出される。オペランドはそ
れぞれ異なったとこめからのものでもよい。例えば、記
憶装置20からの第1オペランド及びベクトル・レジス
タからの第2オペランドに対して演算を実行することが
できる。云うまでもないことであるが、例えば2つのベ
クトル・レジスタ・オペランド間の演算も可能である。
また、一方のソース・オペランドがスカシで、他方がベ
クトルでもよい。その場合、スカシをベクトル・オペラ
ンドと同数の要素を持ったベクトルとして取扱うとベク
トル結果が得られる。同様にしてスカシ結果を得ること
もできる。マスク・ビットを用いる命令は一般にVMR
中の暗黙オペランドを指定する。また、記憶装置オペラ
ンド及びベクトル・レジスタ・オペランドを指定するこ
ともある。
VPUI2に関する説明は特開昭60−103482号
公報にも見られる。
ベクトル ′ レジスタ VSR 実行装w26は、ベクトル・レジスタ及びベクトル・マ
スク・レジスタの現状況を示す情報フィールドを含むV
SRを備えている。VSRの内容は一括して、VSR保
管命令により検査され、またVSR復元命令により変更
される。大部分の命令では、VSRは命令開始時に読取
られ、あとでの処理に備えて、両方向インタフェース・
バス30を介してVPUI2内のレジスタへ送られる。
VSRを変更する場合は、その値がVPUI2内のシフ
タを通され、CPUIe内のアレイに帯層される。
第4図に示すように、VSRはVIU (ベクトル使用
中ビット)及びVCH(ベクトル変更ビット)を含んで
いる0本実施例では、VIUフィールドは8ビット幅で
ある。これらのビットは、VRA48の隣接する偶数番
及び奇数番のベクトル・レジスタ対(全部で8対ある)
にそれぞれ関連しており、どのベクトル・レジスタ対を
VR保管命令及びVR復元命令によって保管及び復元す
るかを示す。ベクトル・レジスタを用いる命令の実行中
に、v工Uビットは関連するベクトル・レジスタ対の一
方又は両方にある任意の要素がロード又は変更されると
きにマイクロコードによって1にセットされる。VIU
をセットするかどうかは命令のオペランドによる。
本実施例ではVCHフィールドも8ビット幅であり、そ
のビットはVRA48のベクトル・レジスタ対にそれぞ
れ関連している。VCHビットは、どのベクトル・レジ
スタ対を被変更VR保管命令によって保管するかを示す
。ベクトル・レジスタを用いる命令(VR復元命令を除
く)の実行中に、VCHビットは関連する。ベクトル・
レジスタ対の一方又は両方にある任意の要素がロード又
は変更されるときにマイクロコードによって1にセット
される。VCHをセットするかどうかは命令のオペラン
ドによる。
上述のように、VSRの変更された内容は命令の終了時
にCPUl6中のアレイに帯層される。
VIUビット及びVCHビットの検査はVPUI2で行
う。
1農 ここで幾つかの用語の定義をしておく。
マシン・チェック:装置の誤動作を示す割込みの1つ。
ただしプログラミング・エラーは含まない。
特権命令: CPUが監視プログラム状態にあるときに
だけ有効な命令。
監視プログラム状態ニブログラム状況ワード(PSW)
のビット15がOであればCPUは監視プログラム状態
にあり、その間はすべての命令が有効である。
問題プログラム状態:PSWのビット15が1であれば
CPUは問題プログラム状態にある。
「問題」に対して意味のある情報を与える命令だけが有
効である。(r問題」とはシステムの完全性に影響を及
ぼさないアプリケーション・プログラムを意味する。問
題プログラムは、オペレーティング・システムの制御の
もとに、問題プログラム状態においてのみ走行する。) 非特権命令:問題プログラム状態及び監視プログラム状
態のいずれにおいても有効な命令。非特権命令はPSW
のビット15をセットしない。
づン仁ヒ〃1ムとも よく知られているように、一般に割込みがあると現ps
wが旧PSWとして保管され、割込みの原因を示す情報
が保管され、そして新しいPSWが取出される。以後の
処理は、新PSWに含まれているアドレスのとこるから
始まる命令によって指定される。それらの処理の1つに
、ベクトル処理で使用されたレジスタの保管がある。
記憶装置又はベクトル・レジスタにある算術ベクトルの
複数の要素に対して演算を実行できるすべてのベクトル
命令について、実行中に例外条件が検出されると、要素
間で割込みをかけることができる。例外条件は、入出力
動作等の外部原因やプログラム実行エラー等の内部原因
により生じる。
例えば、CPU (又はVPU)が問題プログラム状態
にあるときに特権命令が出されると、特権命令例外が認
識され、プログラム割込みが生じる。
内部原因には、ページ不在等の記憶装置アクセス例外、
並びに非正規化オペランド、指数桁あふれ及びOによる
除算等の算術演算例外が含まれる。
すべてのベクトル要素の処理が完了する前に命令の実行
が中断されると、旧PSWにある命令アドレスは更新さ
れず、従って次に実行すべき命令を指示しない。
割込みの原因となる例外条件が生じると、VSR中のベ
クトル割込みインデックス(V I X)は、割込み終
了後に処理すべき次の要素を含むベクトル・レジスタの
位置を指示する。記憶装置20にあるベクトル要素のア
ドレスを含む汎用レジスタは、命令再開時に処理すべき
次のベクトル要素のアドレスを含む(指示する)ように
更新される。
ベクトル命令は少なくとも見かけ上は順次に実行され、
単一ベクトル命令のベクトル・オペランドの要素は少な
くとも見かけ上は順次に処理され、そして結果としての
例外は少なくとも見かけ上は順次に認識される。もし実
行が順次的でなく、パフォーマンスを上げるために幾つ
かのオペレーションが同時に行われるのであれば、ハー
ドウェアは正確な割込み点のところまですべてのレジス
タを復元するに十分な情報を保持する(オペレーション
が完全に順次的であった場合と同じ)。どのプログラム
割込みも、認識され且つ割込みが許される最初の例外に
起因している。割込まれたベクトル命令(又は後続のベ
クトル命令)が割込み終了後になすべき記憶位置又はレ
ジスタ内容の変更は1割込み時には行われない。
新しいプログラムによる割込み処理が完了して。
割込まれたプログラムを再開できるようになると、保管
されていたレジスタの内容を復元する必要がある・次い
で1割込まれた命令が再び出され1割込み点すなわち処
理すべき次の要素のところからベクトル処理が開始され
る。その際、割込み時に使用されていたベクトル・レジ
スタ及び記憶装置アドレスはそれぞれVIX及び汎用レ
ジスタによって示される。よく知られているように現P
SW中の命令アドレスは、CPU16が取出すべきワー
ド(半ワード)を指定する。(割込まれたベクトル命令
は単に再発行されるだけであるから、VIXを含む全レ
ジスタの内容が復元されて初めて割込み点のところから
実行が再開される。)割込まれたベクトル命令で得られ
ていた前の結果は保管されているので、命令実行の再開
によってそれが乱されることはない。実際、単一ベクト
ル命令の実行中に、それぞれ異なった要素位置のところ
で且つ異なった原因による多重割込みが生じても、前に
得られていた結果は失われない。ベクトル・オペレーシ
ョンの場合、正確な割込みのためには、例外が認識され
たときの命令及び要素の両方を識別する必要がある。
スカシの保管又は復元の場合、必要な記憶域は200バ
イトもあれば十分であるが、ベクトルの場合は数千バイ
トにも達するので、ベクトル・レジスタの保管及び復元
にはかなりの時間がかかる。
従って、VPU12のレジスタの保管及び復元はパフォ
ーマンスの低下につながる0本発明は保管命令、復元命
令及びクリア命令と共に使用中ビット及び変更ビットを
利用することによって、保管及び復元の時間を短縮する
。本発明によれば、不を用のベクトル・レジスタの保管
及び復元、並びに変更されていないベクトル・レジスタ
の保管が省略されるので、パフォーマンスが改善される
プログラム切替え 割込みによって成るプログラムから別のプログラムに切
替える場合、一方のプログラムでベクトル処理のために
使用していたレジスタが保管、復元又は(特定の条件の
もとて)クリアされる。割込みは、2以上のプログラム
が同じベクトル機構を共用するのを可能にする。プログ
ラム切替え時には、割込まれたプログラムが使用してい
たvPUレジスタの内容を保管すると共に1割込んだプ
ログラムの以前の内容を復元する必要がある。割込まれ
たプログラムが使用していたレジスタで次のプログラム
が使用しないものはクリアされる。
復元命令は、実行時に各ベクトル・レジスタ対に関連す
るベクトル使用中ビット及びベクトル変更ビットを調べ
、それに基いて必要な処理を行う。
第4図のVSRに含まれるVIUビットは8つあり、V
RA48のベクトル・レジスタ対にそれぞれ対応してい
て、VR保管命令及びVR復元命令によってどのベクト
ル・レジスタ対を保管及び復元するかを示す。これらの
命令は、VIUビットがOであるベクトル・レジスタ対
を無視する。
VCHビットは特権命令の1つである被変更VR保管命
令によって保管すべきベクトル・レジスタ対を示す。こ
の命令は、VCHビットが1であるベクトル・レジスタ
対を保管する。その後■CHビットは0にリセットされ
る。VCHビットは。
関連するベクトル・レジスタ対のV、IUビビッがVR
クリア命令又はVSR復元命令によって0にリセットさ
れた場合にも、0にリセットされる。
VCHビットを参照することにより、プログラムは同じ
記憶域への重複した保管を避けることができる。(ベク
トル・レジスタ対の内容が変更される前にプログラムが
何回かにわたって割込まれた場合には、・このような重
複した保管が生じ得る。)VR、VRTjVSRW悲匠 第5a〜5d図は1問題プログラム状態又は監視プログ
ラム状態で走行しているプログラムに関して、ベクトル
・レジスタ(VR)及びベクトル状況レジスタ(V S
 R)の内容を保管するときに生じ得る事象を示したも
のである。
第5a図の最初の判断ブロック250で、VIUが1か
どうかが調べられ、もし1であれば、■R保管命令の実
行により、関連するベクトル・レジスタ(VR)対の内
容が保管域中の指示された次要素アドレス位置にある連
続するダブルワードに置かれる(ブロック252)。V
IUが0であれば、VR対の内容は保管域に書込まれな
い。いずれにしても、数要素アドレス(ポインタ)は次
のVR対の保管記憶位置へ増分される(ブロック254
)。非特権命令であるVR保管命令によるVR対の保管
は、当該VR対が最後に復元されたところと同じ記憶位
置に対して行わなくても差支えない。
特権命令である被変更VR保管命令を使えば、ベクトル
・レジスタの内容を前と同じ記憶域に保管することがで
きる。この命令は、保管記憶域を同じにする必要がある
ときにのみ使用する。この命令が出されると、第5b図
に示したように、ブロック261及び260でVIUビ
ット及びVCHビットの状態がそれぞれ調へられる。こ
れらがいずれも1にセットされていると、関連するVR
対の内容が保管域中の指定された記憶位置(連続するダ
ブルワード位置)に保管される(ブロック262)。こ
の記憶位置は、当該VR対が以前に保管され復元された
ところである。保管が終るとVCHビットはOにリセッ
トされる(ブロック264)。V CHビットがOであ
った場合には例えVIUビットが1であっても、関連す
るVR対の保管は行わない。いずれにしても、最後に、
数要素アドレス(ポインタ)が次のVR対の保管記憶位
置を指し示すように増分される(ブロック266)。
VR保管命令又は被変更VR保管命令の実行に続いて、
VCHビットが0にリセットされているVSRの内容を
保管する必要がある。VSRは、別の保管命令中のオペ
ランドによって指定されたダブルワード位置に置かれる
vSR′−びVR復−の例 第5c図はVSR復元命令が出されたときの事象を示し
ている。
ベクトル・レジスタを用いる命令の実行中に、成るVR
対の一方又は両方のレジスタにおいて何れかの要素が初
めてロードされるか、又はその後変更されると、当該V
R対に関連するVIUビットが1にセットされる。VI
Uビットは関連するレジスタのクリアによりリセット(
0にセット)される。
VSR復元命令が出されると、最初の判断ブロック20
0でVIUをどちらにセットするかが調べら九る。実際
には、これはVSR復元命令のオペランドによって指定
される。1にセットする場合はブロック202に進み、
このとき問題プログラム状態にあれば、対応するVCH
も1にセットする(ブロック204)。監視プログラム
状態でVIUを1にセットする場合は、VCHはこの命
令のオペランドで指定されたようにセットされる。
VIUをリセットするのであれば、その前にVIUの以
前のセット状態が調べられる(ブロック206)。以前
のセット状態が1であったならば。
関連するVR対のすべての要素位置がOにクリアされ(
ブロック208)、次にVIU及び対応するVCHがO
にセットされる(ブロック210)。
VIUの以前のセット状態がOであったならば、関連す
るVR対はクリアされないが、VIU及び対応するVC
Hは0にセットされる(ブロック210)。
VR対は第5d図に示したようにVR復元命令によって
復元される。ただしその前に、関連するVIUをVSR
復元命令によってセットしておかねばならない。復元す
べきVR対に関連するVIUが判断ブロック212で1
と判断されると、このVR対の以前に保管された内容が
復元される(ブロック214)。(VR対の復元は、そ
の内容を保管域中の数要素アドレスによって指定された
連続するダブルワードで置換えることを意味する。偶数
番の汎用レジスタは数要素アドレスを含み、奇数番の汎
用レジスタは数要素番号及びVR対を指定する。)VI
Uが1のときにCPUが問題プログラム状態にあれば(
判断ブロック215)、アプリケーション・プログラム
による命令の誤用を避けるため、VCHが1にセットさ
れる(ブロック217)。VIUが1のときにCPUが
監視プログラム状態にあれば、VCHは最新のvSR復
元命令の実行後の状態を保つ。VIUが0であれば、V
R対の内容は復元されない。VR対はクリアされたまま
である。いずれにしても、数要素アドレス(ポインタ)
は次のVR対の保管記憶位置を指し示すように増分され
る(ブロック216)。例えば、VR対2又は3が復元
されたとすると、奇数番の汎用レジスタはVR対4又は
5を指し示すように2だけ更新される。次要素アドレス
はVR対4及び5の保管記憶位置、すなわちVR対2及
び3の保管記憶位置の終了点に続くアドレスを指し示す
ように更新される。数要素番号は0になる。
クリア動作 ベクトル・レジスタのすべての又は選択された対をクリ
アし且つそれらに関連するVIU及びVCHを0にリセ
ットする場合は、VRクリア命令が使用される。例えば
、VPUI 2が問題プログラム状態で新しいプログラ
ムを走行させる前にすべてのベクトル・レジスタをクリ
アしておくため、制御プログラムは監視プログラム状態
においてこの命令を使用することができる。また、不必
要になった又はしばらくの間使わないVR対をクリアす
る場合にも1問題プログラム状態において使用すること
ができる。いずれにしても、クリアされたベクトル・レ
ジスタは使用中でないものとして識別されるので、ベク
トル・レジスタの不必要な保管及び復元が避けられる。
VR対がクリアされると、そのすべての要素は0になる
が、それらの要素はオペランドとしては有効である。ク
リアされたベクトル・レジスタをソース・オペランドと
して使用する場合は、関連するVIUが1にセットされ
ることはない。クリアされたベクトル・レジスタの1以
上の要素が変更されると、関連するVIU及びVCHは
1にセットされる。その場合、0の値のロードも変更と
みなされる。
諾]υ1作 問題プログラム状態又は監視プログラム状態で走行する
プログラムは、後述のプログラム・ループでVR保管命
令を泪いることにより、VIUが1であるすべてのVR
対の内容全体を保管することができる。
また、VPUI2を使用するプログラムが割込まれて、
ベクトル・レジスタを以前に復元された保管域に保管さ
せる場合、監視プログラム状態で走行する割込みハンド
ラは特権命令である被変更VR保管命令を使用できる。
ベクトル・レジスタの保管後、VCHを0として保管す
るために■sR保管命令が出される。(被変更VR保管
命令は、変更されたVR対を保管した後、VIUをクリ
アする。) ベクトル・レジスタを前と同じ場所に保管しなくてもよ
いのであれば、被変更VR保管命令の代りにVR保管命
令を使用できる。例えば、VR保管命令はマシン・チェ
ック割込みを処理する際に使用される。
1元夏走 VSR及びVR対を復元する場合はまずV S R復元
命令が出される。この命令は、VIUが1で且つそれを
OにセットしなければならないVR対をクリアする。
VIUが既に0であれば、VRクリア命令又はVSR復
元命令は関連するVR対を再度クリアすることはない。
何れかの命令が割込まれて後で再び出されたときは、そ
の命令は最初から再実行される。しかし1割込み前にク
リアされてそのままに保たれているレジスタの処理に時
間を使うことはない。
ベクトル  中ビット VIU ベクトル・レジスタを使用する命令の実行中に成るVR
対の一方又は両方のレジスタにおいて何れかの要素がロ
ード又は変更されると、関連するVIUが1にセットさ
れる。ベクトル・レジスタをオペランドのソースとして
使う場合は、そのVIUは変更されない。
VIUはVSR復元命令によってセットされる。
VSR復元命令がVIUを1から0に変更すると、対応
するVR対は0にクリアされる。その場合、クリアされ
るVR対の内容が前に記憶装置20に保管されていても
それを取出すことなくクリアされる。VIUは、対応す
るVR対がVRクリア命令によってOにクリアされた場
合にも、0にセットされる。
VIUの主たる目的は、プログラム切替えに伴う時間を
短縮することにある。VIUが0であるVR対に関して
は、保管又は復元は行われない。
そのようなVR対は使用されておらず、またいずれにし
てもOしか含んでいないからである。
ぞ(クードフヒU東旦ッ ト (VCH,jベクトル・
レジスタを使用する命令(VR復元命令を除く)の実行
中に、成るVR対の一方又は両方のレジスタにおいて何
れかの要素がロード又は変更されると、そのVR対に関
連するVCHが1にセットされる。ベクトル・レジスタ
をオペランドのソースとして使う場合は、そのVCHは
変更されない。監視プログラム状態でVR復元命令を実
行してもVCHは変更されない。(VR復元命令を問題
プログラム状態で実行するとVCHは1にセットされる
が、プログラム切替えは監視プログラム状態で実行され
るシステム制御プログラムが制御する。問題プログラム
状態においてはVCHは不要である。) VIUが0であれば、対応するVCHも常にOである。
VCHが1にセットされると、対応するベクトルVIU
も1にセットされる。
VCHは、プログラム切替え時間を更に短縮するのに役
立つ。というのは、使用中のVR対であっても、その内
容が保管域から最後に復元されたときから変わっていな
ければ、プログラム切替え時に保管が行われないからで
ある。云い換えれば、VIUが1であっても対応するV
CHがOであれば、前に復元された内容は依然として有
効である。
VCHはベクトル・レジスタの復元には関係せず、従っ
て復元時間を短縮する働きはない。プログラム切替えに
伴うベクトル・レジスタ対の復元は変更とはみなされず
、関連するベクトル変更ビットはそのままに保たれる。
VR復元命令、被変更VR保管命令及びVR保管命令は
いずれも割込み可能であり、命令が出される度に単一の
VR対だけを保管又は復元する。
2以上のVR対を保管又は復元する場合は、次のように
して、プログラミング・ループにおいて適切な命令を使
用する必要がある。
1、命令によって指定される第1の汎用レジスタがベク
トル・レジスタ保管域の開始点を指し示す。
2、最初にクリアされる第2の汎用レジスタが次要素の
番号及び次に保管又は復元すべきVR対の番号を含む。
3、保管命令又は復元命令が出される。
4、最後のVR対が保管又は復元されてしまうまで保管
命令又は復元命令への分岐を許す条件付き分岐ステート
メントが上記1の命令に続く。
次要素番号及び保管域アドレスは、各ベクトル要素の保
管又は復元に伴って増分される。命令の実行が完了する
と、次要素番号は0にセットされ、次のVR対の番号は
増分され、保管域アドレスは次のVR対のための保管域
を指し示す。
保管命令又は復元命令の実行中に割込みが生じた場合、
その再実行は同じVR対において割込みが生じたベクト
ル要素のところから開始される。
このプログラム・ループは、VIUが1である各VR対
を保管又は復元させ、VIUがOであるVR対は無視さ
れる。
VCH,VIU  び合4 第6a図及び第6b図は、ベクトル命令がどこから取出
され、その実行がどのようにして制御され、そしてどこ
で実行されるかを示したものである。第6a図において
、ベクトル命令はI PPF24に受取られ、解釈され
る。ただし、ベクトル命令を実行するのはCPU12の
実行装置26又はVPUI2に設けられている同様な装
置(以下、実行装置26と区別するため命令実行装置と
云う)。
命令実行装置は実行装置26の拡張部に相当し、ハード
ウェアによって制御される。これに対し、命令解釈手段
として働<lPPF24はマイクロコードによって制御
される。
ベクトル命令は命令制御ビット13が1 (オン)にセ
ットされている場合にのみ実行される。このビットはC
PU16にある特定の制御レジスタによって与えられる
(例えば制御レジスタOのビット14)。命令制御ビッ
トがO(オフ)のときにベクトル命令を実行しようとす
ると、ベクトル・オペレーション例外が認識される。ベ
クトル・オペレーション例外はオペレーションを無効化
(ベクトル命令の実行を阻止)シ、プログラムに割込み
がかかる。ベクトル・オペレーションが無効化されると
、VR対を保管又は復元する必要がなくなる。命令制御
ピッj・13は、監視プログラム状態でのみ実行される
特権命令によってセット又はリセットされる。命令制御
ビット13がセットされるのは、VPU12がCPUl
6に取付けられてユーザが使用できるようになったとき
である。
命令制御ビット13がセットされると、ベクトル命令の
解釈及び実行が可能になる。
次に第6b図を参照しながら、ベクトル命令の実行につ
いて説明する。
2 vR保管命令 この特権命令が出されたときに指定されたVR対に関連
するVCHが1にセットされていると、次要素アドレス
によって指定された記憶装置20の連続するダブルワー
ド位置にVR対の内容が書込まれる。云い換えれば、被
変更VR保管命令が取出されて解読され且つVCHがセ
ットされていると、第6b図においてライン268及び
29’0が共に付勢され、その結果ゲート270がライ
ン271に出力信号を発生し、271aを介して命令実
行装置での被変更VR保管命令の実行を可能にする。ゲ
ート270の出力信号はライン271bにも送られ、僅
かな遅延の後にVCHをOにリセットする。1にセット
されていたVCHに対応するVR対の内容は、被変更V
R保管命令の実行により、VRA48からライン304
を介して記憶装置20に書込まれる。この後VCHは0
にリセットされる。勿論、VCHが0であったならばゲ
ート270が出力信号を発生しないので、命令は実行さ
れず、関連するVR対の保管は行われない。従って、V
R対は、自身を指定する被変更VR保管命令が最後に使
用されてからロード又は変更された場合にのみ、保管さ
れる。(VR対のロード又は変更は、ライン274a及
び274bを介して対応するVCH及びVIUをセット
させる。
VCH及びVIUは、VRクリア命令が出されるとライ
ン275a及び275bを介してリセットされる。上述
のように、VCHは被変更VR保管命令が実行されると
きにもリセットされる。)VIU及びVCHは、lPP
F24に受取られて解釈された命令の型に応じて、マイ
クロコード(又はラフ1−ウェア)によりセット又はリ
セットされる。その際lPPF24は、受取った命令が
ロード、変更、VRクリア又は被変更VR保管であった
ならば、VIU又はVCHをセット又はリセットすべき
ことをマイクロコード(又はソフトウェア)に知らせる
VRクリア命令 この命令が出されると、指定された1以上のVR対がク
リアされ、関連するVIU及びVCHがOにセットされ
、そしてVIXが0にセットされる。前にクリアされた
VR対は、関連するVIUがOのままである限り、再度
クリアされることはない。云い換えれば、VRクリア命
令が取出されて解読され(lPPF24)且つVIUが
セットされていれば、第6b図においてライン276及
び277が付勢され、その結果ゲート280がライン2
81に出力信号を発生して、VRクリア命令の実行を可
能にする。VIUがセットされているVR対の内容は、
VRクリア命令の実行により、VRA48において0に
クリアされる。勿論、VIUが0であったならばゲート
280が出力信号を発生しないので、命令は実行されず
、関連するVR対はクリアされない。従って、VR対が
クリアされるのは、それが使用中であった場合だけであ
る。
■J」Ib1隻 VR保管命令が出されたときに指定されたVR対に関連
するVIUが1にセットされていると、次要素アドレス
によって指定された記憶装置20の連続するダブルワー
ド位置(どの記憶域にあってもよい)にVR対の内容が
書込まれる。云い換えれば、VR保管命令がlPPF2
4により取出されて解読され且つVIUがセットされて
いると、ライン284及び285が付勢され、その結果
ゲート282がライン283に出力信号を発生し、VR
保管命令の実行を可能にする。VIUが1にセラ1へさ
れているVR対の内容は、vR保管命令の実行により、
VRA48から記憶装置20に書込まれる。勿論、V 
I Uが0であったならばゲー1−282が出力信号を
発生しないので、命令は実行されず、関連するV R対
の保管は行われない。
L入蓮元金介 VR復元命令が出されたときに指定されたVR対に関連
するVIUが1にセットされていると、このVR対の内
容は、次要素アドレスによって指定された記憶域(当該
VR対の保管域)からの連続するダブルワードが置換え
られる。云い換えれば、VR復元命令が取出されて解読
され且つVIUが1にセットされていると、ライン28
6及び287が付勢され、その結果ゲート290がライ
ン29]に出力信号を発生して、VR復元命令の実行を
可能にする。ただし、そのとき同じVR対がロード中又
は変更中であれば、ゲート300の働きによって当該V
R対の復元は阻止される(逆も同様)。ゲート300が
線298に発生する出力信号は、VR復元命令又はロー
ド(若しくは変更)命令の一方を実行させる。勿論、V
IUがOであったならば、ゲート290が出力信号を発
生しないので、V R復元命令は実行されない。従って
、VIUが0であるVR対は変更されない。
VR復元命令の実行が完了すると、この命令によって指
定された偶数番のレジスタにある次要素アドレスが次の
VR対のための保管記憶位置へ更新される。次要素番号
はOにセットされ、VR対を指し示すポインタは2だけ
増分される。VR復元命令の実行開始時には、このポイ
ンタの値は0から14までの間の偶数でなければならず
、VR復元命令によって指定された奇数番のレジスタに
ある次要素番号はセクション・サイズ、すなわち1つの
ベクトル・レジスタ中の要素位置の数(第3図の例では
Z)より小さくなっていなければならない。また、記憶
装置20がアクセスされるか否かに関係なく、現VR対
のための保管域開始アドレスは、8Zの整数倍である境
界の上になければならない。さもなければ指定例外が認
識される。
(VR復元命令が実行されると、ライン302を介して
記憶装置20がアクセスされ、その中の保管域にあるデ
ータがライン304を介してVRA48中の関連するV
R対にロードされる。)保管域 VPUI 2のレジスタの保管及び復元を行うプログラ
ムは現セクション・サイズを調べ、それに基いて保管域
を生成する。
現VR対及び次VR対のための保管域の開始アドレスは
次式で与えられる。
5AC=NEA−8XNEN SAN=SAC+8XZ SAC:現VR対のための保管域の開始アドレス。
NEA :次要素アドレス・フィールドの内容。
NEN:次要素番号フィールドの内容。
SAN:次VR対のための保管域の開始アドレス。
ベクトル命令は、多くの場合、ベクトル・レジスタを対
にして使用するので、クリア、保管及び復元に関するこ
れまでの説明では、ベクトル・レジスタを対にして扱っ
てきたが、プログラム切替えに伴うベクトル・レジスタ
の処理に関する限り。
対ではなくて1つのベクトル・レジスタであっても同じ
である。更に、クリア、保管又は復元すべきベクトル・
レジスタ対(又はバク1〜ル・レジスタ)が2以上のこ
ともあるが、前述と同様にして処理できる。ベクトル使
用中ビット(V I U)及びベクトル変更ビット(V
C:H)に関しては、クリア、保管又は復元すべき単位
が対ではなくて1つのベクトル・レジスタであった場合
には、ベクトル・レジスタの数(前述の実施例では16
)だけ設けておく必要がある。
F0発明の効果 本発明によれば、プログラム切替えに伴う特殊レジスタ
の保管等を最小限に抑えられるので、プログラム切替え
時間を短縮することができる。
【図面の簡単な説明】
第1図は本発明に従うデータ処理システムの概略を示す
ブロック図。 第2図はVPUI2の構成を示すブロック図。 第3図はVRA48の構成を示すブロック図。 第4図はベクトル状況レジスタのフィールドを示す図。 第5a図乃至第5d図はベクトル・レジスタの保管及び
復元を示す流れ図。 第6a図及び第6b図はベクトル命令を取出して実行す
る論理を示すブロック図。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  頓  宮  孝  −(外1名) 第3図 第4図    VSR

Claims (1)

    【特許請求の範囲】
  1. メモリと、複数の特殊レジスタを有する処理装置とを具
    備するデータ処理システムにして、前記特殊レジスタが
    使用中かどうかを示す使用中ビットを含むレジスタを設
    け、該レジスタにおいて前記使用中ビットがセットされ
    ている特殊レジスタだけを所定の命令に応答して保管又
    は復元するようにしたことを特徴とするデータ処理シス
    テム。
JP61158131A 1985-08-07 1986-07-07 デ−タ処理システム Pending JPS6234242A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/763,167 US4740893A (en) 1985-08-07 1985-08-07 Method for reducing the time for switching between programs
US763167 1985-08-07

Publications (1)

Publication Number Publication Date
JPS6234242A true JPS6234242A (ja) 1987-02-14

Family

ID=25067060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61158131A Pending JPS6234242A (ja) 1985-08-07 1986-07-07 デ−タ処理システム

Country Status (4)

Country Link
US (1) US4740893A (ja)
EP (1) EP0211152A3 (ja)
JP (1) JPS6234242A (ja)
CA (1) CA1256216A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219938A (ja) * 2006-02-17 2007-08-30 Seiko Epson Corp プロセッサ
JP2009163751A (ja) * 2002-12-19 2009-07-23 Intel Corp バーチャルマシン動作においてマシン状態を管理する方法及びシステム
JP2019510313A (ja) * 2016-03-23 2019-04-11 エイアールエム リミテッド ベクトル命令の処理

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0622035B2 (ja) * 1985-11-13 1994-03-23 株式会社日立製作所 ベクトル処理装置
JP2545789B2 (ja) * 1986-04-14 1996-10-23 株式会社日立製作所 情報処理装置
JPS6314275A (ja) * 1986-07-04 1988-01-21 Nec Corp ベクトル演算プロセツサのスカラデ−タ演算方式
US4974198A (en) * 1986-07-16 1990-11-27 Nec Corporation Vector processing system utilizing firm ware control to prevent delays during processing operations
US5218712A (en) * 1987-07-01 1993-06-08 Digital Equipment Corporation Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
US5142677A (en) * 1989-05-04 1992-08-25 Texas Instruments Incorporated Context switching devices, systems and methods
EP0306891A3 (en) * 1987-09-11 1992-04-01 National Semiconductor Corporation Pipelined slave protocol for high performance cpu-fpu cluster
US5043867A (en) * 1988-03-18 1991-08-27 Digital Equipment Corporation Exception reporting mechanism for a vector processor
US5008812A (en) * 1988-03-18 1991-04-16 Digital Equipment Corporation Context switching method and apparatus for use in a vector processing system
US5210834A (en) * 1988-06-01 1993-05-11 Digital Equipment Corporation High speed transfer of instructions from a master to a slave processor
JPH0337723A (ja) * 1989-07-05 1991-02-19 Hitachi Ltd 情報処理装置
US5095526A (en) * 1990-01-26 1992-03-10 Apple Computer, Inc. Microprocessor with improved interrupt response with interrupt data saving dependent upon processor status
WO1992012727A1 (en) * 1991-01-25 1992-08-06 Regents Of The University Of Minnesota Laminin a chain domain vi polypeptides
JP2665111B2 (ja) * 1992-06-18 1997-10-22 日本電気株式会社 ベクトル処理装置
US5852726A (en) * 1995-12-19 1998-12-22 Intel Corporation Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner
US6219779B1 (en) * 1997-06-16 2001-04-17 Matsushita Electric Industrial Co., Ltd. Constant reconstructing processor which supports reductions in code size
US5893159A (en) * 1997-10-22 1999-04-06 International Business Machines Corporation Methods and apparatus for managing scratchpad memory in a multiprocessor data processing system
US6513107B1 (en) 1999-08-17 2003-01-28 Nec Electronics, Inc. Vector transfer system generating address error exception when vector to be transferred does not start and end on same memory page
US6813701B1 (en) * 1999-08-17 2004-11-02 Nec Electronics America, Inc. Method and apparatus for transferring vector data between memory and a register file
US6625720B1 (en) * 1999-08-17 2003-09-23 Nec Electronics, Inc. System for posting vector synchronization instructions to vector instruction queue to separate vector instructions from different application programs
WO2001082059A2 (en) * 2000-04-27 2001-11-01 Sun Microsystems, Inc. Method and apparatus to improve context switch times in a computing system
US20030088761A1 (en) * 2001-11-02 2003-05-08 Paver Nigel C. Register context usage indicator
EP1313014B1 (en) * 2001-11-15 2010-03-03 Texas Instruments France Interruptible and re-entrant instruction for cleaning a region of a cache memory
US20030177342A1 (en) * 2002-03-15 2003-09-18 Hitachi Semiconductor (America) Inc. Processor with register dirty bits and special save multiple/return instructions
US20060277396A1 (en) * 2005-06-06 2006-12-07 Renno Erik K Memory operations in microprocessors with multiple execution modes and register files
US9436477B2 (en) 2012-06-15 2016-09-06 International Business Machines Corporation Transaction abort instruction
US9740549B2 (en) 2012-06-15 2017-08-22 International Business Machines Corporation Facilitating transaction completion subsequent to repeated aborts of the transaction
US9336046B2 (en) 2012-06-15 2016-05-10 International Business Machines Corporation Transaction abort processing
US10437602B2 (en) 2012-06-15 2019-10-08 International Business Machines Corporation Program interruption filtering in transactional execution
US8682877B2 (en) 2012-06-15 2014-03-25 International Business Machines Corporation Constrained transaction execution
US9361115B2 (en) * 2012-06-15 2016-06-07 International Business Machines Corporation Saving/restoring selected registers in transactional processing
US8688661B2 (en) 2012-06-15 2014-04-01 International Business Machines Corporation Transactional processing
US9348642B2 (en) 2012-06-15 2016-05-24 International Business Machines Corporation Transaction begin/end instructions
US9772854B2 (en) 2012-06-15 2017-09-26 International Business Machines Corporation Selectively controlling instruction execution in transactional processing
US20130339680A1 (en) 2012-06-15 2013-12-19 International Business Machines Corporation Nontransactional store instruction
US9384004B2 (en) 2012-06-15 2016-07-05 International Business Machines Corporation Randomized testing within transactional execution
US9448796B2 (en) 2012-06-15 2016-09-20 International Business Machines Corporation Restricted instructions in transactional execution
US9898330B2 (en) * 2013-11-11 2018-02-20 Intel Corporation Compacted context state management
US10248426B2 (en) * 2016-05-24 2019-04-02 International Business Machines Corporation Direct register restore mechanism for distributed history buffers

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4916350A (ja) * 1972-05-19 1974-02-13
JPS57105045A (en) * 1980-12-23 1982-06-30 Fujitsu Ltd Program call control system
JPS60195646A (ja) * 1984-03-16 1985-10-04 Hitachi Ltd デ−タ処理装置
JPS61235985A (ja) * 1985-04-11 1986-10-21 Nec Corp ベクトルプロセツサ

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3440619A (en) * 1967-07-14 1969-04-22 Ibm Control system for maintaining register contents during interrupt and branch conditions in a digital computer
DE2214240C2 (de) * 1972-03-23 1974-03-28 Siemens Ag, 1000 Berlin U. 8000 Muenchen Verfahren zur Abspeicherung von Steuerdaten bei Programmunterbrechung in einem Verarbeitungssystem
JPS54107645A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Information processor
JPS57134774A (en) * 1981-02-13 1982-08-20 Hitachi Ltd Vector operating device
US4484274A (en) * 1982-09-07 1984-11-20 At&T Bell Laboratories Computer system with improved process switch routine
JPS6015771A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd ベクトルプロセッサ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4916350A (ja) * 1972-05-19 1974-02-13
JPS57105045A (en) * 1980-12-23 1982-06-30 Fujitsu Ltd Program call control system
JPS60195646A (ja) * 1984-03-16 1985-10-04 Hitachi Ltd デ−タ処理装置
JPS61235985A (ja) * 1985-04-11 1986-10-21 Nec Corp ベクトルプロセツサ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163751A (ja) * 2002-12-19 2009-07-23 Intel Corp バーチャルマシン動作においてマシン状態を管理する方法及びシステム
JP2012074074A (ja) * 2002-12-19 2012-04-12 Intel Corp バーチャルマシン動作においてマシン状態を管理する方法及びシステム
JP2007219938A (ja) * 2006-02-17 2007-08-30 Seiko Epson Corp プロセッサ
JP2019510313A (ja) * 2016-03-23 2019-04-11 エイアールエム リミテッド ベクトル命令の処理

Also Published As

Publication number Publication date
CA1256216A (en) 1989-06-20
EP0211152A2 (en) 1987-02-25
EP0211152A3 (en) 1989-07-26
US4740893A (en) 1988-04-26

Similar Documents

Publication Publication Date Title
JPS6234242A (ja) デ−タ処理システム
US4745547A (en) Vector processing
US5051896A (en) Apparatus and method for nullifying delayed slot instructions in a pipelined computer system
US5280593A (en) Computer system permitting switching between architected and interpretation instructions in a pipeline by enabling pipeline drain
US5113521A (en) Method and apparatus for handling faults of vector instructions causing memory management exceptions
JP3870973B2 (ja) スーパースケーラマイクロプロセサ
US4970641A (en) Exception handling in a pipelined microprocessor
US7603497B2 (en) Method and apparatus to launch write queue read data in a microprocessor recovery unit
JPH0766329B2 (ja) 情報処理装置
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JPH09152973A (ja) カウント/リンク・レジスタ変更命令の投機実行をサポートする方法及び装置
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US5745780A (en) Method and apparatus for source lookup within a central processing unit
US5729723A (en) Data processing unit
EP1039376B1 (en) Sub-instruction emulation in a VLIW processor
EP0212132A1 (en) Method and digital computer for recovering from errors
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
EP0510429A2 (en) Millicode register management system
JPH0222413B2 (ja)
EP0211487A1 (en) Conditional operations in computers
JP2856784B2 (ja) 電子計算機
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JPH06332700A (ja) 情報処理装置
EP0634717B1 (en) Data processing unit
JPH04338825A (ja) 演算処理装置