JPH0577096B2 - - Google Patents

Info

Publication number
JPH0577096B2
JPH0577096B2 JP63121665A JP12166588A JPH0577096B2 JP H0577096 B2 JPH0577096 B2 JP H0577096B2 JP 63121665 A JP63121665 A JP 63121665A JP 12166588 A JP12166588 A JP 12166588A JP H0577096 B2 JPH0577096 B2 JP H0577096B2
Authority
JP
Japan
Prior art keywords
address
register
control signals
sequence
memory address
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
JP63121665A
Other languages
English (en)
Other versions
JPS647145A (en
Inventor
Efu Joisu Toomasu
Pii Kerii Richaado
Shen Jiannkuo
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.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Bull Inc
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 Honeywell Bull Inc filed Critical Honeywell Bull Inc
Publication of JPS647145A publication Critical patent/JPS647145A/ja
Publication of JPH0577096B2 publication Critical patent/JPH0577096B2/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
    • 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/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理分野に関し、特に命令の
実行開始前に中央処理装置があつた状態に復帰さ
せるため部分的に実行されたソフトウエアのアン
ドウを行なう装置に関する。
〔従来の技術および解決しようとする課題〕
仮想メモリーのアドレス指定方式を用いるデー
タ処理システムにおいては、ソフトウエア命令に
よりアドレス指定されるオペランドが物理的メモ
リーに存在せず従つてソフトウエアのルーチンに
より物理的メモリーに読込まねばならないという
条件が、ソフトウエア命令の実行中に生じ得る。
前記ソフトウエア・ルーチンを実行できるように
するためには、その時のソフトウエア命令の実行
は、一旦不明のオペランドが物理的メモリー内に
持込まれた後これを再開することを許容するよう
に中断されねばならない。
システムの処理能力を改善するため、仮想メモ
リーのアドレスは、次のメモリー・サイクルの間
に使用できるように仮想メモリーへ転送された直
後に増分あるいは減分される。もしこのオペラン
ドが見出されなければ、不明のオペランドが見出
されて物理的メモリーに格納される時、前の仮想
メモリーのアドレスが再び構成されて使用されね
ばならない。このため、あるものは元の仮想アド
レスを格納しまた他のものは増分あるいは減分さ
れた仮想アドレスを格納する別のレジスタが必要
となろう。このことは、典型的には24または32ビ
ツトの大きなレジスタを代償として改善された処
理量を保証することになろう。
無論、仮想アドレスの増分または減分に先立
ち、オペランドが物理的メモリーから読出される
まで待つことにしてもよい。この試みはまた、シ
ステムの性能に有害な衝撃を与えることにもなろ
う。
別の試みは、フアームウエアによる排他的アン
ドウ(UNDO)操作を行なうことである。これ
もまた性能に対してマイナスの影響を及ぼすこと
になろう。
〔課題を解決するための手段〕
(発明の目的) 従つて、本発明の目的は、ソフトウエア命令を
アンドウする改善された装置を提供して増大した
システム処理能力は依然として維持することにあ
る。
(発明の要約) 仮想メモリーのアドレス指定方式を用いるデー
タ処理システムにおいては、あるソフトウエア命
令が基底レジスタに格納されるべき仮想アドレス
を呼出す。基底レジスタに格納されたこの仮想ア
ドレスは、次のオペランドのアドレス指定のため
前のオペランドの読出しサイクルの間に増分ある
いは減分される。もしオペランドが物理的メモリ
ーに存在しなければ、基底レジスタの内容はその
元の値に復元される。
これは、プツシユ−ポツプ(PUSH−POP)・
スタツクに、基底レジスタからの32ビツトの仮想
アドレスの下位の3ビツト、典型的にはレジス
タ・フアイルに格納される基底レジスタのアドレ
ス、および前記基底レジスタの内容が増分された
かあるいは減分されたかを示すビツトを格納する
ことにより行なわれる。ソフトウエア命令は3つ
までの記述子を含み得るため、先入れ先出し方式
におけるスタツクは、これら記述子を3つの場所
に収容することができる。
もし仮想アドレスがオペランドを見出さなけれ
ば、基底レジスタの内容は、仮想アドレスが減分
されることを要求したソフトウエア命令の実行中
に増分されねばならず、あるいはソフトウエア・
アドレスの実行が仮想アドレスが増分されること
を要求したならば減分されねばならない。
ほとんどの場合、要求されることの全ては3つ
の仮想アドレス・ビツトを基底レジスタへ転送す
ることである。しかし、もし4番目の下位ビツト
位置から桁上げまたは借りが行なわれたならば、
そして仮想アドレスが増分されたならば、2進数
「1」が4番目の下位ビツトがその時残りの仮想
アドレスの下位ビツトである仮想アドレスから差
引かれなければならない。仮想アドレス・ビツト
が0乃至31であるとすれば、下位ビツト29,30,
31はプツシユ−ポツプ・スタツクに格納されて、
基底レジスタに再び格納されねばならない。この
2進数「1」は、ビツト0乃至28により指定され
る仮想アドレスの部分から差引かれる。
同様に、もし仮想アドレスが減分され仮想アド
レスのビツト28の位置から借りがあつたとすれ
ば、2進数「1」はビツト0乃至28により指定さ
れる仮想アドレスの部分へ加算される。
ビツト28から桁上げまたは借りがあつたかどう
かの判定は、増分あるいは減分された下位の3ビ
ツトの値から仮想アドレスの元の3つの下位ビツ
トを差引くことである。もし桁上げが生じるなら
ば、基底レジスタの内容のビツト0乃至28は増分
操作のための調整を要求する。もし桁上げが生じ
なければ、基底レジスタの内容のビツト0乃至28
は減分操作への調整を要求する。
〔実施例〕
第1図は、選択された位置の基本的なオペレー
テイング・システム命令、商業計算命令および科
学計算命令のアンドウ部分を実行するデータ処理
システムの一部のブロツク図を示している。
仮想メモリー管理装置(VMMU)34、キヤ
ツシユ・メモリー36および主記憶装置50は全
て32ビツトのBPバス32と接続されている。
VMMU34は、実行される命令において記述
される仮想アドレスを主記憶装置50の物理アド
レスに翻訳する。この仮想アドレスは、リング番
号、セグメント番号および変位を含む。これは、
VMMU34に格納されたプロセスを見出して、
VMMU34が物理アドレスをBPバス32から
主記憶装置50に対し、また直接VMMU34か
らキヤツシユ36に対して送出することを可能に
する。もし物理アドレスにより指定される場所が
オペランドを格納しなければ、ページまたはセグ
メントの誤りを示すVMMU割込み信号がフオー
マツト分岐装置20へ与えられる。VMMU34
およびキヤツシユ36の操作は、本発明の理解の
目的のためには周知のものである。
レジスタ・フアイル2は、64個の32ビツト・レ
ジスタを含む。レジスタ・フアイル2の多数のプ
ログラム・ビジブルなレジスタをロードして、
色々な命令により読出すことができる。
7つのソフトウエア・ビジブルな汎用ワードの
オペランド・レジスタR1乃至R7があり、これら
は長さが16ビツトであり、汎用レジスタ、アキユ
ムレータあるいは指標レジスタとして作動するこ
とができる。7つのソフトウエア・ビジブルな32
ビジブルの2倍ワード・オペランド・レジスタ
K1乃至K7が汎用レジスタ、アキユムレータある
いは指標レジスタとして使用される。7つのソフ
トウエア・ビジブルな基底レジスタB1乃至B7
が、あるプロセスの仮想メモリーにおける命令、
データあるいは任意の場所を指示するアドレスの
様式化のための情報を格納している。また、多数
の他のレジスタが含まれている。
レジスタ・フアイル2は、Ai入力ポートにお
ける32ビツトのBIバス30、およびBi入力ポー
トにおけるシフタ8からオペランドを受取る。レ
ジスタ・フアイル2における場所から読出された
オペランドは、Ao出力ポートから32ビツトのA
バス40へ、またBo出力ポートから32ビツトの
Bバス28へ転送される。レジスタ・フアイル2
における各場所は、Aアドレス信号またはBアド
レス信号によりアドレス指定することができる。
Ao出力ポートは、レジスタ・フアイル2におけ
るある場所がAアドレス信号によりアドレス指定
される時、読出し操作中に活動状態になる。類似
の、Bo出力ポートは、この場所がBアドレス信
号によりアドレス指定される時活動状態になる。
2進演算論理装置(BALU)4は、それぞれ
A″オペランド入力ポートおよびB″オペランド入
力ポートにおいてAバス40およびBバス28か
ら32ビツトのオペランドを受取る。BALU4は、
32ビツトのA′オペランドをBIバス30へ、また
32ビツトのB′オペランドをシフタ8へ与える。
BALU4は、種々のRDR信号により指定される
如きA″およびB″オペランドについて2進算術論
理演算を行なう。
先取り装置18は、BPバス32上でVMMU
34またはキヤツシユ36から次の命令および装
置16内のデータを受取る。この命令はアセンブ
ルされ、次いでフオーマツト分岐装置20へ送ら
れる。ここで、命令コードが復号され、多数の命
令コード信号RFが生成される。
制御ストア(ROS)38がフオーマツト分岐
装置20からアドレス信号を受取つてROS38
の場所の内容を読出し、システムが命令を実行す
ることを許容する。各場所の内容は、更に104ビ
ツトのROSデータ・レジスタ39に格納される。
RDR信号として識別されるこの104の出力信号の
組合せは、第1図の各装置へ与えられてアンドウ
操作を行なう。
本発明の場合は、レジスタB1乃至B7における
基底アドレスあるいはレジスタR1乃至R7に格納
された指標値は、レジスタ・フアイル2、Ao出
力ポートおよびAバス40からBALU4のA″オ
ペランド入力ポートへ与えられることになる。こ
のBALU4は、基底レジスタまたは指標値を増
分もしくは減分して、この増分あるいは減分され
たアドレスまたは指標値をレジスタ・フアイル2
における同じレジスタに再び格納し、これからこ
れがBALU4を介してA′オペランド即ちポート、
BIバス30および入力ポートへ読込まれる。
Qレジスタ6およびシフタ8は、BALU4と
共に作動して、RDR信号の制御下で2進乗算お
よび除算を含む種々の算術演算および論理演算を
行なう。
プツシユ−ポツプ・アンドウ・スタツク10
は、それぞれ8ビツトの3つの場所と、スタツク
10へ書込まれた同じ順序でこの3つの場所を読
出させる先入れ先出し(FIFO)論理ポインタと
を有する。第3図に示されるように、各場所にお
ける8ビツトは、レジスタ・フアイル2から読出
されたレジスタの内容の下位の3ビツトを含み、
1ビツトがBALU4がレジスタの内容を増分も
しくは減分したかを示し、4ビツトはレジスタを
識別する。
もし実行中の命令が2ワードまたは3ワードの
命令であるならば、スタツク10の2つの場所あ
るいは3つの場所がそれぞれ適当な情報を格納す
る。第1の記述子が第1のオペランドを見出し、
第2の記述子が第2のオペランドを見出し、第3
の記述子が第1と第2の記述子について行なわれ
た演算結果が格納される場所を与える商業命令を
実行する時、このことは特に重要となる。
多数の制御ビツト信号の復号である信号
SPLTRがスタツク10をリセツトする。
Qレジスタ6が一定の16進数7を格納し、これ
はスタツク10から読出された各ワードを処理す
る時1ビツトの位置ずつ右へシフトされる。
もしある命令の実行中にフオーマツト分岐装置
20がVMMU34から要求されたオペランドが
セグメントまたはページにないことを示す割込み
信号を受取るならば、命令の実行は打切られ、ア
ンドウ操作が開始される。
(動作の説明) 第2図のレジスタ・ロード命令(LDR)を仮
定しよう。この命令は、アドレスのシラブル・ビ
ツト9乃至15により指定される主記憶装置50の
有効アドレスの内容をビツト1乃至3により指定
されるRレジスタに格納する。ビツト0が2進数
1ならば、命令があるアドレス・シラブル(AS)
を含むことを指示する。ビツト1乃至3が2進数
「0」でなければ、2倍オペランド命令を指示す
る。ビツト4乃至7は、16進数8の如き上位の命
令コード番号を指示する。ビツト8は、命令コー
ド番号の下位を2進数「0」として指示する。
アドレス・シラブルのビツト9乃至11が8進数
7ならば、ビツト13乃至15が、オペランドの場所
の主記憶装置のアドレスを格納する単一の基底レ
ジスタB1乃至B7を指示することを示す。
アドレス信号RFA0乃至RFA5はレジスタ・フ
アイル2に与えられ、この場所の内容を読出す。
信号RFA0,RFA1およびRFA2は選択された
RDR信号であり、信号RFA3乃至RFA5はLDR命
令ビツト13乃至15(RF信号)と等価である。アド
レス指定されたBレジスタの内容はAバス40上
に現われ、BALU4のAオペランド・ポートに
与えられる。BALU4においては、アドレスは
1だけ増分され、信号RFA0乃至RFA5により指
定される同じ場所におけるレジスタ・フアイル2
に再び格納される。もしこの時プツシユ信号が付
勢されるならば、アドレス指定されたBレジスタ
の内容の下位の3ビツト29,30および31、Aアド
レス信号RFA2乃至RFA5の下位の4ビツト、お
よびBレジスタの内容が増分されたことを示すビ
ツトが、スタツク10に格納される。また、この
サイクルの間、アドレス指定されたBレジスタの
内容がVMMU32に与えられて、主記憶装置5
0のアドレスを生成する。もしこのアドレス指定
された場所がメモリー50またはキヤツシユ36
のあるページのあるセグメントに存在しなけれ
ば、レジスタ・ロード命令の実行は、フオーマツ
ト分岐装置20に与えられるVMMU割込み信号
により割込みされ、アドレス指定されたレジスタ
の内容はその元の値まで減分される。
スタツク10は、アドレス指定されたBレジス
タ1乃至7から読出される如き下位の3ビツト、
即ちビツト29乃至31を格納する。アドレス指定さ
れたBレジスタの内容は、2進数「1」によつて
増分された。ここで、LDR位領域の実行に割込
みが生じたものとすれば、ポツプ操作が要求され
る。アドレス指定されたBレジスタの内容は、元
の値へ減分されなければならない。ほとんどの場
合、スタツク10からのビツト5乃至7(RA)
の転送、およびアドレス指定されたBレジスタの
ビツト位置29乃至31へのこれらビツトの格納がこ
れを行なう。しかし、増分操作の間アドレス指定
されたBレジスタのビツト位置28への桁上げが行
なわれた場合、ビツト0乃至28により表わされる
アドレス部分は減分されねばならない。
LDR命令の結果、アドレス指定されたBレジ
スタが増分されることになる。ある命令の操作
が、減分されるべきアドレス指定されたBレジス
タの内容を呼出す。従つて、アンドウ操作はアド
レス指定されたBレジスタの内容を増分し、これ
をその前の値へ復元する。
レジスタ・フアイル2におけるアドレス指定さ
れたBレジスタの増分または減分は、第4図のフ
ローチヤートに関連して述べるフオームウエアに
よつて行なわれる。第5図は、種々の作業レジス
タの内容を示している。
ブロツクA08はQレジスタ6に一定の16進数
7を格納し、ビツトQ29,Q30およびQ31を2進
数1に強制する。この一定の16進数7は、Bバス
28、BALU4およびシフタ8を介してQレジ
スタ6へロードされる。
スタツク10の3つの記憶場所は常に読出され
る。各読出しの後、Qレジスタ6の内容は1つの
位置だけシフトされ、下位のビツトQ31が2進数
「0」についてテストされてスタツク10の3つ
の場所が読出されたことを示す。
ブロツクA09は、アドレス信号RFA0〜5に
より指定される場所のビツト位置0〜7に、レジ
スタフアイル2の作業レジスタAW5内の第1の
スタツク10の場所の内容を格納する。これは第
5図に示される。また、Qレジスタ6の内容はシ
フト8により1ビツト場所だけ右にシフトされ
る。
ブロツクA02は、マルチプレクサ(MUX)
5、BALU4、シフタ8を介してBバスに対し
作業レジスタAW5の内容を読込み、作業レジス
タAW5に再び格納される。AW5は、第5図に
示されるように、ビツト0乃至7を作業レジスタ
AW5のビツト位置24乃至31へシフトした。この
ブロツクにおいては、作業レジスタAW5がアド
レス信号RFB0〜5によりアドレス指定されて、
レジスタ・フアイル2のBポートを使用可能状態
にする。アドレス信号RFB0〜5は選択された
RFおよびRDR信号によつて生成された。
ブロツクA03は、作業レジスタAW4をRA
フイールドでロードする。これは、BALU4の
A″オペランド・ポートに与えられた作業レジス
タAW5の内容、およびBALU4のB″オペラン
ド・ポートに与えられた16進数7の論理和演算に
よつて行なわれる。その結果は、レジスタ・フア
イル2における作業レジスタAW4に格納され
る。
ブロツクA04は、レジスタ・フアイル2のB
ポートからの作業レジスタAW5の内容をBALU
4のB″オペランド・ポートへ読込むことにより、
CT2カウンタ12におけるスタツク10の場所の
RFAフイールドをBALU4のB″オペランド・ポ
ートに格納して、シフタ8において結果を4ビツ
ト場所だけ右にシフトし、このシフトされた結果
RFAをカウンタ12に格納する。
ブロツクA78は、アドレス指定されたBレジ
スタの内容および16進数7について論理和演算を
行ない、その結果をレジスタ・フアイル2の作業
レジスタAW3に格納する。Bレジスタは、
RFAアドレスを格納するCT2カウンタ12の内
容によりアドレス指定される。作業レジスタAW
3は、アドレス指定されたBレジスタの増分され
た内容の下位ビツトであるBoXビツト29,30,
31を格納する。カウンタ12におけるRFAアド
レスは、BALU4のA″オペランド・ポートにB
レジスタの内容を読込む。16進数7はBバス28
からB″オペランド・ポートに与えられ、3ビツ
トの論理和の結果は作業レジスタAW3に格納さ
れる。
ブロツクA79は、カウンタ12の内容
(RFA)および16進数FFFFFFF8によりアドレ
ス指定されたBレジスタの内容について論理和演
算を行なう。その結果のビツト0乃至28はBレジ
スタに再び格納される。ビツト29,30,31は論理
値「0」となる。
ブロツクA7Aは、16進数8を作業レジスタ
AW2に格納し、作業レジスタAW5からのIお
よびRAフイールドのビツト28乃至31をカウンタ
12に格納する。
ブロツクA7Bは、作業レジスタAW4の内容
(RA)から作業レジスタAW3の内容(BoX)
を差引く。アドレス信号RFA0〜5は、場所AW
3およびBALU4のA″オペランド・ポートに与
えられる内容をアドレス指定する。同じサイクル
において、アドレス信号RFB0〜5が場所AW4
およびBALU4のB″オペランド・ポートに与え
られる内容をアドレス指定する。もしBoXがRA
より大きくかつこれが論理値「1」におけるカウ
ンタ12のビツト4で示される如き増分操作であ
るならば、桁上げは結果として生じない。
ブロツクA0Dにおいては、作業レジスタAW
5の内容がカウンタ12に格納され、BALU4
の桁上げ信号はフオーマツト分岐装置20に与え
られる。BoXがRAより大きいため、ブロツクA
5Eにおいては、Bレジスタの内容は作動レジス
タAW4の内容でORされ、その結果はカウンタ
12の内容RFAによりアドレス指定されるRレ
ジスタに格納される。
増分操作において桁上げ信号が検出されるなら
ば、RAがBoXより大きかつたことがテストされ
ることを示す。BoXより大きなRAは、アドレス
指定されたBレジスタのビツト28の位置に桁上げ
が生じたことを示し、次いでブロツクA56にお
いて、作動レジスタAW2の内容がBALU4にお
けるアドレス指定されたBレジスタのビツト0〜
28の内容から差引かれ、その結果がアドレス指定
されたBレジスタに再び格納される。(これが2
進数「1」をビツト位置28から差引くことに注
意) 次いで、ブロツクA5Eにおいては、作業レジ
スタAW4の内容、即ちRAがBALU4において
アドレス指定されたBレジスタの内容でORさ
れ、その結果である元のメモリーのアドレスが再
びアドレス指定されたBレジスタに格納される。
もしブロツクA7Bにおいて、カウンタ12の
「4ビツト」が減分操作を示すならば、BoXが
RAより大きければ桁上げが生じることになる。
従つて、バツフアA02において、作業レジスタ
AW2の内容がアドレス指定されたレジスタ内容
に加算される。(2進数「1」をビツト位置28に
加算) また、ブロツクA06においては、レジスタ
AW4の内容即ちRAがアドレス指定されたBレ
ジスタの内容でORされ、その結果である元のメ
モリーのアドレスが再びアドレス指定されたBレ
ジスタに格納される。
両ブロツクA06およびA5EがQレジスタ6
のQ31ビツトをテストする。もしこのビツトが2
進数「0」でありこれがスタツク10における第
3のエントリであることを示すならば、ブロツク
A01はアンドウ操作を終了し、フオームウエア
はバツクグラウンド・モードへ戻る。さもなけれ
ば、もしQ31が2進数「1」であつたとすれ
ば、フオームウエアはブロツクA09へ分岐して
アンドウ操作を続行する。
もしこれが3つの記述子の命令でありかつ第1
と第2の両方のオペランドがメモリーから受取ら
れるも、その結果の第3のオペランドの場所がメ
モリーになかつたならば、命令は依然として打切
られることになり、前記の3つの基底レジスタが
その元の状態へ復帰される3つのオペランドの場
所を格納することに注意されたい。
本発明についてはその望ましい実施態様に関し
て本文に示し記述したが、当業者にはその形態お
よび細部における上記および他の変更が本発明の
主旨および範囲から逸脱することなく可能である
ことが理解されよう。
【図面の簡単な説明】
第1図はアンドウ操作を行なうロジツクのブロ
ツク図、第2図は典型的な仮想アドレス・ソフト
ウエア命令のフオーマツト、第3図はプツシユ−
ポツプ・スタツクにおける場所の内容を示す図、
第4図はアンドウ操作を実現するステツプを示す
フオームウエアのブロツク図、および第5図はレ
ジスタ・フアイルの種々のレジスタ内容を示す図
である。 2……レジスタ・フアイル、4……2進演算論
理装置(BALU)、5……マルチプレクサ、6…
…Qレジスタ、8……シフタ、10……プツシユ
−ポツプ(PUSH−POP)・アンドウ・スタツ
ク、12……CT2カウンタ、16……データ・イ
ン装置、20……フオーマツト分岐装置、28…
…Bバス、30……BIバス、32……BPバス、
34……仮想メモリー管理装置(VMMU)、3
6……キヤツシユ・メモリー、38……制御スト
ア(ROS)、39……ROSデータ・レジスタ、4
0……Aバス、50……主記憶装置。

Claims (1)

  1. 【特許請求の範囲】 1 命令によつて特定されたオペランドを処理す
    るためのデータ処理システムにおいて、処理が打
    切られた命令の実行を初期化する装置であつて、 前記命令によつて特定された、前記システムの
    動作を制御するための制御信号のシーケンスを格
    納する制御ストア手段を設け、該制御ストア手段
    はアドレス入力として前記命令を受け取るように
    接続されたアドレス入力と前記制御信号のシーケ
    ンスを供給するための出力とを有し、前記命令の
    実行を制御するための前記制御信号の第1のシー
    ケンスを前記出力から供給するために前記命令に
    よつてアドレスされ、 前記制御ストア手段の制御信号出力と接続され
    たアドレス入力と、オペランドのメモリー・アド
    レスを格納し受け取るためのデータ入力及びデー
    タ出力とを有し、第1のオペランドに対する第1
    のメモリー・アドレスを格納し供給するために前
    記制御信号の第1のシーケンスの制御信号出力に
    よつてアドレスされるレジスタ・フアイル手段を
    設け、前記第1のメモリー・アドレスは第1の下
    位部分と第1の上位部分とを有し、 前記レジスタ・フアイル手段のデータ出力と接
    続されたデータ入力と、前記制御信号出力と接続
    されたアドレス入力とを有し、前記第1のメモリ
    ー・アドレスの前記第1の下位部分を格納するた
    めに、前記第1のシーケンスの制御信号によつて
    アドレスされるスタツク手段と、 前記レジスタ・フアイル手段のデータ出力と接
    続されたアドレス入力を有し、前記メモリー・ア
    ドレスを受取り、もし前記第1のオペランドが前
    記メモリー手段に格納されていなければ、割込み
    信号を生成するメモリー手段を設け、該割込み信
    号は前記命令の処理が打切られたことを表し、 前記レジスタ・フアイル手段の前記データ出力
    に接続されたデータ入力と、前記レジスタ・フア
    イル手段の前記データ入力に接続されたデータ出
    力と、前記制御信号出力に接続された制御入力と
    を有する演算手段を設け、 該演算手段は、前記第1のシーケンスの前記制
    御信号によつて制御されて前記メモリー・アドレ
    スを受け取り、該第1のメモリー・アドレスを前
    記制御信号によつて制御された時増分または減分
    して前記メモリー手段に格納された第2のオペラ
    ンドの第2のメモリー・アドレスを生成し、該第
    2のメモリー・アドレスは第2の下位部分と第2
    の上位部分とを有し、 前記レジスタ・フアイル手段は、前記制御信号
    の前記第1のシーケンスの前記制御信号出力によ
    つてアドレスされて前記第1のメモリー・アドレ
    スの格納場所に前記第2のメモリー・アドレスを
    格納し、 前記制御ストア手段は、前記割込み信号を受け
    取るために前記メモリー手段に接続されたアドレ
    ス入力を有し、割込み信号によつてアドレスされ
    て制御信号の第2のシーケンスを供給し、 前記演算手段のデータ入力は更に、前記スタツ
    ク手段のデータ出力に接続され、前記スタツク手
    段と前記レジスタ・フアイル手段は前記第2のシ
    ーケンスの前記制御信号によつてアドレスされて
    夫々前記第1の下位部分と前記第2のメモリー・
    アドレスからの第2の下位部分を前記演算手段の
    前記データ入力に供給し、前記演算手段は前記制
    御信号の第2のシーケンスの制御信号によつて制
    御されて前記第1の下位部分と第2の下位部分と
    を受け取つて、それらの大小関係に従つて異なつ
    た状態を有する桁上げ信号を生成し、 前記制御ストア手段は、前記桁上げ信号を受け
    取るように接続されたアドレス入力を有し、該桁
    上げ信号によつてアドレスされて制御信号の第3
    のシーケンスを供給し、 前記レジスタ・フアイル手段は、前記制御信号
    の第3のシーケンスによつてアドレスされて、前
    記レジスタ・フアイル手段における前記第2のメ
    モリー・アドレスを前記第1のメモリー・アドレ
    スにより置換する ことを特徴とする装置。 2 前記レジスタ・フアイル手段が、 基底レジスタをアドレス指定するためのアドレ
    ス指定手段と、複数の作業レジスタとを含み、該
    基底レジスタは更に前記第1のメモリー・アドレ
    スと前記第2のメモリー・アドレスとを格納する
    ことを特徴とする請求項1記載の装置。 3 前記スタツク手段が、 複数の記憶場所を有する先入れ先出しスタツク
    を含み、該記憶場所の各々は、前記第1の下位部
    分と、前記基底レジスタの記憶場所を指定するア
    ドレス指定ビツトと、前記第1のメモリー・アド
    レスが前記第2のメモリー・アドレスを生成する
    ため増分されたか減分されたかを特定する標識ビ
    ツトとを格納することを特徴とする請求項2記載
    の装置。 4 前記演算手段が、 前記制御信号入力によつて制御されて前記第1
    の下位部分から前記第2の下位部分を差引いて、
    もし前記第1の下位部分が前記第2の下位部分よ
    りも大きな値を有するならば第1の状態を有し、
    もし前記第1の下位部分が前記第2の下位部分よ
    り小さな値を有するならば第2の状態を有する前
    記桁上げ信号を生成する手段を含むことを特徴と
    する請求項3記載の装置。 5 前記制御ストア手段が前記桁上げ信号と前記
    標識ビツトを受け取るように接続されたアドレス
    入力を有し、前記第1の状態の前記桁上げ信号
    と、前記第2のメモリー・アドレスを生成するた
    めに前記第1のメモリー・アドレスが増分された
    ことを特定する状態の前記標識ビツトによつてア
    ドレスされて、前記制御信号の第3のシーケンス
    を供給し、 前記演算手段が、前記制御信号の前記第3のシ
    ーケンスの制御信号によつて制御され、前記基底
    レジスタが前記第3のシーケンスの前記制御信号
    によつてアドレスされて前記基底レジスタにおけ
    る前記第2のメモリー・アドレスの第2の上位部
    分から予め定めた数を差引き、前記基底レジスタ
    における第1のメモリー・アドレスの第1の上位
    部分を生成することを特徴とする請求項4記載の
    装置。 6 前記スタツク手段および前記レジスタ・フア
    イル手段が、前記制御信号の第3のシーケンスの
    制御信号によつてアドレスされて、前記スタツク
    手段から前記第1の下位部分を前記基底レジスタ
    の下位部分へ転送することを特徴とする請求項5
    記載の装置。 7 前記制御ストア手段が第2の状態における前
    記桁上げ信号と、前記第2のメモリー・アドレス
    を生成するために前記第1のメモリー・アドレス
    が増分されたことを特定する状態の前記標識ビツ
    トとによつてアドレスされて前記制御信号の前記
    第3のシーケンスを供給し、 前記スタツク手段および前記レジスタ・フアイ
    ル手段が、前記制御信号の第3のシーケンスの前
    記制御信号によつてアドレスされて、前記第1の
    下位部分を前記基底レジスタの下位部分へ転送す
    ることを特徴とする請求項4記載の装置。 8 前記制御ストア手段が前記第1の状態におけ
    る前記桁上げ信号と、前記第2のメモリー・アド
    レスを生成するために前記第1のメモリー・アド
    レスが減分されたことを特定する状態の前記標識
    ビツトとによつてアドレスされて前記制御信号の
    前記第3のシーケンスを供給し、 前記スタツク手段および前記レジスタ・フアイ
    ル手段が、前記制御信号の第3のシーケンスの前
    記制御信号によつてアドレスされて、前記第1の
    下位部分を前記基底レジスタの下位部分へ転送す
    ることを特徴とする請求項4記載の装置。 9 前記制御ストア手段が前記第2の状態におけ
    る前記桁上げ信号と、前記第2のメモリー・アド
    レスを生成するために前記第1のメモリー・アド
    レスが減分されたことを特定する状態の前記標識
    ビツトとによつてアドレスされて前記制御信号の
    前記第3のシーケンスを供給し、 前記演算手段は、前記制御信号の第3のシーケ
    ンスの前記制御信号によつて制御されて、予め定
    めた数を第2の上位部分に加算して第1の上位部
    分を生成することを特徴とする請求項4記載の装
    置。 10 処理が打切られた命令の実行の初期化(ア
    ンドウ操作)を行なう方法において、 A 基底レジスタのアドレスと、該基底レジスタ
    に格納された第1のアドレスの下位部分と、増
    分または減分操作を示すビツトとを先入れ先出
    しスタツクに格納し、前記ビツトの状態に従つ
    て前記基底レジスタの内容について増分または
    減分操作を行なつて第2のアドレスを生成し、 B 割込み信号についてテストして、アンドウ操
    作へ分岐し、 C 前記第2のアドレスの下位部分を前記第1の
    アドレスの下位部分から差引き、 D 桁上げをテストし、 E もし前記ビツトが増分操作を示しかつ桁上げ
    があつたことを示すならば、16進数8を基底レ
    ジスタの内容から差引き、 F もし前記ビツトが減分操作を示しかつ桁上げ
    がなかつたことを示すならば、16進数8を基底
    レジスタの内容に加算し、 G 前記第1のアドレスの下位部分を前記基底レ
    ジスタに格納することにより、該基底レジスタ
    の元の内容を復元する ステツプからなることを特徴とする方法。 11 データ処理装置において、命令の実行が割
    り込まれ、その後命令のアドレスが第1の予め決
    められた大きさで変更され、変更されたアドレス
    が第1のレジスタに記憶されているとき、命令の
    初期化をする方法であつて、 A 前記命令のアドレスの下位部分を前記変更と
    同時に第2のレジスタに記憶し、 B 前記割り込みの後に、前記下位部分を前記第
    2のレジスタから、前記変更された命令のアド
    レスの下位部分を前記第1のレジスタから取り
    出し、該両下位部分において減算処理を実行
    し、 C 前記減算処理の結果としてキヤリーが起こつ
    たかどうかを決定するテストを実行し、 D 前記テストで特定の結果が決定されたとき、
    前記変更された命令のアドレス上位部分を第2
    の予め決められた大きさで変更し、 E 前記変更された命令のアドレスの上位部分と
    前記第2のレジスタに保持された命令のアドレ
    スの下位部分を結合する、 ことを特徴とする方法。
JP63121665A 1987-05-19 1988-05-18 Software instruction endowing apparatus method for microprogramming system Granted JPS647145A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/052,108 US4901222A (en) 1987-05-19 1987-05-19 Method and apparatus for backing out of a software instruction after execution has begun

Publications (2)

Publication Number Publication Date
JPS647145A JPS647145A (en) 1989-01-11
JPH0577096B2 true JPH0577096B2 (ja) 1993-10-26

Family

ID=21975526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63121665A Granted JPS647145A (en) 1987-05-19 1988-05-18 Software instruction endowing apparatus method for microprogramming system

Country Status (8)

Country Link
US (1) US4901222A (ja)
EP (1) EP0292791B1 (ja)
JP (1) JPS647145A (ja)
KR (1) KR930003399B1 (ja)
AU (1) AU599484B2 (ja)
CA (1) CA1287177C (ja)
DE (1) DE3852209T2 (ja)
NO (1) NO174027C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101640101B1 (ko) * 2015-03-19 2016-07-18 한국단자공업 주식회사 커넥터용 와이어커버

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398330A (en) * 1992-03-05 1995-03-14 Seiko Epson Corporation Register file backup queue
US5440703A (en) * 1993-09-20 1995-08-08 International Business Machines Corporation System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified
US6356918B1 (en) 1995-07-26 2002-03-12 International Business Machines Corporation Method and system for managing registers in a data processing system supports out-of-order and speculative instruction execution
JP3480698B2 (ja) 1999-05-27 2003-12-22 兼次 安彦 高温における強度−延性バランスに優れるCr基合金
US9972109B2 (en) * 2015-07-30 2018-05-15 Adobe Systems Incorporated Implementing out of order access to reversal operations in images

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3162841A (en) * 1961-11-14 1964-12-22 Ibm Instruction counter system
US4641305A (en) * 1984-10-19 1987-02-03 Honeywell Information Systems Inc. Control store memory read error resiliency method and apparatus
US4670835A (en) * 1984-10-19 1987-06-02 Honeywell Information Systems Inc. Distributed control store word architecture
JPS623347A (ja) * 1985-06-28 1987-01-09 Yokogawa Hewlett Packard Ltd エラ−回復情報退避方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101640101B1 (ko) * 2015-03-19 2016-07-18 한국단자공업 주식회사 커넥터용 와이어커버

Also Published As

Publication number Publication date
US4901222A (en) 1990-02-13
NO882133D0 (no) 1988-05-16
EP0292791A2 (en) 1988-11-30
JPS647145A (en) 1989-01-11
DE3852209D1 (de) 1995-01-12
NO882133L (no) 1988-11-21
NO174027B (no) 1993-11-22
DE3852209T2 (de) 1995-07-20
CA1287177C (en) 1991-07-30
EP0292791A3 (en) 1992-03-25
NO174027C (no) 1994-03-02
KR880014473A (ko) 1988-12-23
AU599484B2 (en) 1990-07-19
EP0292791B1 (en) 1994-11-30
AU1605288A (en) 1988-11-24
KR930003399B1 (ko) 1993-04-26

Similar Documents

Publication Publication Date Title
US8001359B2 (en) Mapping an N-bit application ported from an M-bit application to an N-bit architecture
JPH0242569A (ja) ベクター処理システムに用いる文脈スイッチング方法及び装置
JPH0564815B2 (ja)
US5752273A (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
US5717910A (en) Operand compare/release apparatus and method for microinstrution sequences in a pipeline processor
US4620274A (en) Data available indicator for an exhausted operand string
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
JPH0414385B2 (ja)
JPS61210477A (ja) ベクトル型連想メモリシステム
JPH0577096B2 (ja)
US4598359A (en) Apparatus for forward or reverse reading of multiple variable length operands
US4608633A (en) Method for decreasing execution time of numeric instructions
US5148530A (en) Method for reexecuting instruction by altering high bits of instruction address based upon result of a subtraction operation with stored low bits
US4575795A (en) Apparatus for detecting a predetermined character of a data string
US20040044885A1 (en) Performing repeat string operations
RU2066067C1 (ru) Центральный процессор для многопроцессорной вычислительной системы
EP0915416B1 (en) System for allowing a two word instruction to be executed in a single cycle and method therefor
JPH0552539B2 (ja)
JPH0385636A (ja) 命令先行制御装置
JPS6051738B2 (ja) マイクロプログラム制御方式
JPH01255933A (ja) 掃出し制御方式
JPH02168332A (ja) データ処理装置
JPH0235331B2 (ja)
JPH036735A (ja) データ処理装置
JPH0281242A (ja) データ処理装置