JP2000099330A - コンピュ―タ・プロセッサ・システム - Google Patents

コンピュ―タ・プロセッサ・システム

Info

Publication number
JP2000099330A
JP2000099330A JP11119367A JP11936799A JP2000099330A JP 2000099330 A JP2000099330 A JP 2000099330A JP 11119367 A JP11119367 A JP 11119367A JP 11936799 A JP11936799 A JP 11936799A JP 2000099330 A JP2000099330 A JP 2000099330A
Authority
JP
Japan
Prior art keywords
instruction
stosm
logic
stnsm
execution
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
JP11119367A
Other languages
English (en)
Inventor
J Sleegal Timothy
ティモシー・ジェー・スレゲル
F Webb Charles
チャールズ・エフ・ウェブ
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 JP2000099330A publication Critical patent/JP2000099330A/ja
Pending 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/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation 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/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30101Special purpose 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 IBM ESA/390のSTOSM命令と
STNSM命令をオーバーラップさせて実行することが
可能で、STOSM命令またはSTNSM命令の後に、
プロセッサの直列化や後続の命令の遅延を大抵の場合は
必要とせずにSTOSM命令とSTNSM命令の実行を
可能にする装置を含み、したがってパフォーマンスを向
上できるコンピュータ・プロセッサを提供する。 【解決手段】 前記プロセッサは、前記命令の実行後に
サイクルを計数する機構を含み、計数の間、非同期割込
みを禁止する。本発明は、SIE環境におけるプロセッ
サの実行中にSTOSM命令とSTNSM命令の実行を
処理する能率的な機構も含んでいる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ESA(エンター
プライズ・システム・アーキテクチャ)/390の命令
STOSMおよびSTNSMを、システム非同期割込み
論理中に保持される機能の待ち時間を見ておくために、
STOSMまたはSTNSMの実行後に行われる直列化
を必要とせずに、オーバーラップ可能なとき、新しいC
MOSマシンに実装するためのシステムおよび方法に関
する。
【0002】用語 STNSMは、STORE THEN OR SYSTEM MASKを意味する
ESA/390命令である。
【0003】STOSMは、STORE THEN AND SYSTEM MA
SKを意味するESA/390命令である。
【0004】SIEは、START INTERPRETIVE EXECUTION
を意味するESA/390命令である。
【0005】SIE状態記述子内のXPIEビットは、
PSWのビット6〜7が1になるという事象も含め、様
々な事象にとってSIE介入チェックが必要であるかど
うかを決める。
【0006】これらは、ESA/390の解説書(たと
えば、SA22−7201−00)に定義されている。
【0007】
【従来の技術】IBM ESA/390アーキテクチャ
は、STNSM命令およびSTOSM命令に関して非常
に厳密な実装要件を持っている。これらの命令はPSW
(プログラム状況ワード)内のシステム・マスク・フィ
ールドを変更する。
【0008】以前のIBM S/390プロセッサ設計
においては、マイクロコード/ミリコードで命令を実行
するか、またはSTOSMもしくはSTNSM命令の実
行後にプロセッサを無条件に直列化することによって、
この問題を解決していた。プロセッサを直列化するとい
うのは、先取りまたはデコードされたが実行が完了して
いないすべての命令を廃棄して、命令の取出しを再開始
することを意味する。これにより、非同期割込み論理に
は、PSW内のビットの更新されたコピーに基づいて、
入出力割込みまたは外部割込みが本当に存在するかどう
か正確に判断する時間が得られよう。しかし、このプロ
セッサの直列化は、サイクルを浪費し、プロセッサ・パ
フォーマンスを低下させる。他の解決策としては、更新
されたPSWビットに基づいて、非同期割込み論理が任
意の割込みを処理できるように、STOSM命令および
STNSM命令の実行時間を人為的に長くすることが考
えられる。しかし、この場合も、プロセッサのパフォー
マンスが低下する。
【0009】米国特許第5,345,567号で開示さ
れているIBM ESA/9000シリーズは、STO
SM/STNSMに続く直列化を最小化する方法を採っ
ていた。ただし実行中いつでも命令を無効化できたた
め、命令を完全にオーバーラップさせてSTOSMを処
理するための簡単な機構を持っていた。しかし、他のプ
ロセッサ設計の場合には、命令の実行が開始した後で
は、その命令を無効化することは不可能である。したが
って、本発明がなかったらSTOSM命令とSTNSM
命令を完全にオーバーラップさせて実行することは不可
能であると考えられる。そこで、システム・アーキテク
チャの安定性を維持しながら、新しいマシンのタイミン
グを改善する必要が生じる。
【0010】米国特許第5,345,567号にも開示
されているが、S/390のCPUでは、STOSM命
令およびSTNSM命令は、PSWのビット0〜7(シ
ステム・マスクと呼ばれる)を変更するために使用され
ている。STOSMはシステム・マスク内のビットをオ
ンにすることしかできず、STNSMはビットをオフに
することしかできない。これらの命令は、入出力割込み
または外部割込み(PSWのビット6〜7)をすばやく
許可したり禁止したりするために一般的に使用される。
明らかにビット0〜5もこれらの命令によって変更でき
るので、ビット6〜7の変更に比べてパフォーマンスへ
の影響が低いとはいえ、インプリメンテーションはビッ
ト0〜5の変更も扱えなければならない。
【0011】
【発明が解決しようとする課題】ESA/390アーキ
テクチャは非常に厳密な実装要件を持っている。たとえ
ば、外部割込みが保留中であるが、PSWのビット7が
0である場合を考えてみる。ここで、プロセッサが、ビ
ット7を1に設定するSTOSM命令を実行すると仮定
する。ESA/390アーキテクチャでは、、STOS
M命令の実行後次の順次命令を実行する前にただちに外
部割込みをかける必要がある。そのため、STOSM命
令を能率的に実装するのが困難となる。
【0012】同様に、STNSM命令の実行中に外部割
込みが保留状態になった直後の場合を考えてみる。ここ
で、このSTNSM命令がPSWのビット7を0に設定
すると仮定する。ESA/390アーキテクチャでは、
STNSM命令がPSWのビット7をオフにした後は外
部割込みを起こすことはできない。
【0013】STOSM命令に関係するSIE環境にも
厄介なことがある。STOSM命令によってPSWのビ
ット6または7がオンに設定されたときにSIE介入チ
ェックを実行するよう、SIE状態記述子内のXPIE
ビットによって指示される場合、STOSM命令の完了
後ただちにSIE介入チェックを実行しなければならな
い。この介入チェックは一般に非常に複雑で配線論理で
は実行できないため、本発明の好ましい実施形態で説明
するプロセッサの場合のように、通常はマイクロコード
またはミリコードで実行される。このマイクロコード/
ミリコード・ルーチンを呼び出すための割込みには数サ
イクル必要であり、SIE介入チェックを実行する必要
があるかどうか決まるまで、他の命令をブロックしなけ
ればならない。
【0014】
【課題を解決するための手段】本発明は、直列化プロセ
スを制御するための終了カウンタ機構を提供する。本発
明における改良により、STOSM命令またはSTNS
M命令の実行後にほとんどの場合プロセッサの直列化が
回避され、したがってパフォーマンスが向上する。
【0015】また、本発明は、STOSM命令の実行
後、後続のESA/390命令が実行される前に、SI
E介入チェックが必要かどうか検出し、それをマイクロ
コード/ミリコードへの割込みとして提示する手段も提
供する。
【0016】
【発明の実施の形態】好ましい実施形態の詳細な検討に
移る前に、必要なアーキテクチャについて理解すべき点
を指摘しておくのが有意義であろう。
【0017】この実施形態を検討する際、パイプライン
の待ち時間がある上に、非同期割込み論理が変更された
システム・マスクに基づいて割込みを発生するのにも時
間が必要なので、非同期割込み論理が更新されたPSW
マスクに基づいて割込みの必要性を再評価する前に次の
命令の実行が開始されている(または完了している)可
能性のあることを忘れてはならない。したがって、ST
OSM命令またはSTNSM命令の実行時には、非同期
割込み論理が割込み生成の必要性を再評価し終えるまで
後続する命令の実行を抑止する機構が必要である。
【0018】ほとんどの場合、STOSM命令またはS
TNSM命令の実行中には非同期割込みは保留されてい
ないことに留意されたい。しかし、比較的まれではある
が非同期割込みが保留されていることもあるので、その
場合にも正しい結果が得られるようにハードウェアを設
計しなければならない。
【0019】SIEがアクティブな環境でSTOSMを
能率的に実装する上では、さらに厄介な点がある。ST
OSM命令の実行に伴ってPSWのビット6〜7が1に
なることがよくあり、SIE状態記述子内のXPIEビ
ットは、その場合にSIE介入チェックが必要かどうか
制御する。さらに、SIE介入バイパス・ビットが1
(通常の状態)でない場合、任意のSTOSM命令の実
行後に、SIEアーキテクチャは強制的な介入チェック
を必要とする(システム内の別のCPUによって変更さ
れている可能性のある記憶域内のSIE状態記述子をピ
ックアップするために)。
【0020】本発明によるSTOSM命令およびSTN
SM命令の実装機構は、通常の場合、無駄なサイクルを
使用しない。能率的な機構でSTOSM命令およびST
NSM命令を実装する方法は、比較的小規模な追加を行
うだけで、SIEの元でSTOSMを実装するためにも
使用することができる。
【0021】次に、本発明で使用する論理式とその使用
法について説明する。
【0022】 命令終了/割込み論理 ASYNC_PROHIB_CNT_REG(0:1) <= "01" when (STORM_EX or STNSM) else "00" when (ASYNC_PROHIB_CNT_REG="00") else ASYNC_PROHIB_CNT_REG + "01"; ASYNC_PROHIB <= (STORM_EX or STNSM_EX) or (ASYNC_PROHIB_CNT_REG /= "00"); STOSM_FRC_SRLZ <= (CHANGE_IN_SYS_MASK_0_5 and (STORM_EX or STNSM_EX)) or (SIE_ACTIVE and (not SIE_INTV_BYPASS) and STOSM_EX) or (ASYNC_PROHIB and (ASYNC_PENDING or POS_IO_EXT_IRPT)); SIE_CHECK_XPIE <= STOSM_EX and (NEW_SYS_MASK(6) or NEW_SYS_MASK(7) or (not SIE_INTV_BYPASS));
【0023】 非同期割込み論理 POS_IO_EXT_IRPT <= POS_IO_IRPT_PENDING or POS_EXT_IRPT_PENDING or SIE_INTV_CHECK_REQD; SIE_XPIE_IRPT <= SIE ACTIVE and (SIE_CHECK XPIE and SIE_INTV_CHECK_REQD); ここで、SIE_CHECK_XPIEは、終了論理から非同期割込み
論理への信号であり、SIE介入チェックを必要とする
可能性のある命令が実行中であることを示す。STOSM_EX
は、現在STOSM命令が実行を終了しつつあることを
意味する。STNSM_EXは、現在STNSM命令が実行を終
了しつつあることを意味する。NEW_SYS_MASKは、設定さ
れる新しいPSW(0〜7)である。SIE_INTV_BYPASS
は、SIE状態記述子内のECA.1である。ASYNC_PR
OHIB_CNT_REGは、本発明の好ましい実施形態において、
特定の非同期割込みを禁止する時期を指示するために使
用される2ビット・カウンタである。ASYNC_PROHIBは、
STOSM命令またはSTNSM命令が実行され、現在
非同期割込みが禁止されていることを示すために使用さ
れる中間信号である。STOSM_FRC_SRLZは、プロセッサの
直列化論理に対してパイプライン内のすべての命令を廃
棄し命令の取出しを再開するよう指示する信号である。
CHANGE_IN_SYS_MASK_0_5は、STOSM命令またはST
NSM命令がPSW内のビット6〜7以外を変更するこ
とを示す。SIE_ACTIVEは、現在プロセッサがSIEのG
uest1またはGuest2モードで実行しているこ
とを意味する。ASYNC_PENDINGは、何らかの非同期割込
みが保留中であることを意味する(入出力割込みまたは
外部割込みの場合、PSWビット6〜7のマスキングが
含まれる)。POS_IO_EXT_IRPTは、非同期割込み論理か
らの信号であり、PSWビット6〜7によって提供され
るマスキングとは無関係に、入出力割込みまたは外部割
込みが保留中であることを示す。POS_IO_IRPT_PENDING
は、PSWビット6におけるマスキングとは無関係に、
入出力割込みが保留中であることを意味する。POS_EXT_
IRPT_PENDINGは、PSWビット7におけるマスキングと
は無関係に、外部割込みが保留中であることを示す。SI
E_INTV_CHECK_REQDは、SIE状態記述子内のIビット
とEビットとの論理和のバッファされたコピーである。
SIE_XPIE_IRPTは、SIE介入チェックを実行するため
にはマイクロコード/ミリコードへの非同期割込みが必
要なことを示す。
【0024】STOSM命令またはSTNSM命令の実
行時には、プロセッサの終了論理が3サイクル・カウン
タを始動する。このカウンタはサイクルのウィンドウを
反映し、このウィンドウ上では、非同期割込み論理から
新しいシステム・マスクが見える必要があり、保留中の
入出力割込みと外部割込みが新しく評価される必要があ
る。他のインプリメンテーションでは、このカウンタは
3サイクル以下の場合も以上の場合もあるが、最終結果
は同じである。
【0025】下記の3つの条件のいずれかが満たされれ
ば、おそらく2回以上、プロセッサの終了論理がプロセ
ッサを直列化する。 ・ STOSMまたはSTNSMがシステム・マスクの
ビット0〜5を変更した。これは稀な事象なので、全体
的なパフォーマンスに対する影響は取るに足らないもの
である。 ・ STOSMがSIEの元で実行され、SIE割込み
バイパスが0(ゼロ)であった。この場合、SIEアー
キテクチャは、記憶装置内の状態記述子に対する強制的
な介入チェックを必要とする。プロセッサの直列化によ
って、非同期割込み論理には、この割込みを発生する時
間的余裕が得られる。 ・ 最近STOSMまたはSTNSMが実行された。
(ASYNC_PROHIB_CNT_REGがゼロでなく)、かつ1)シス
テム・マスクのビット6〜7の古い状態も考慮に入れて
非同期割込みが保留中であるか、または2)システム・
マスクのビット6〜7の古い状態とは無関係に、入出力
割込みもしくは外部割込みが保留中である。終了論理
は、このウィンドウ内で命令が実行されるのをブロック
するために、カウンタが計数を終了するまでに、連続し
たサイクルで複数のプロセッサ直列化事象を生成するこ
とができる。
【0026】好ましい実施形態が後続する命令の実行を
抑止するために直列化機構を使用しているのは、これが
便利だからということに留意されたい。また、プロセッ
サ内においてこれを達成するどんな機構も、非同期割込
み論理に、保留中の命令が許容可能かどうかの再評価を
許しているということを理解されたい。
【0027】また、STOSM命令が実行中であれば、
終了論理は、1)PSWのビット6〜7が非ゼロになる
か、または2)SIE割込みバイパスがオフになる(こ
の場合には強制的な介入チェックが必要)ことを非同期
割込み論理に通知する。
【0028】同期割込み論理は、PSWのビット6〜7
によって提供されるマスキングを考慮に入れずに、入出
力割込みまたは外部割込みが可能であるかどうかを非終
了論理に通知する。これとASYNC_PROHIB_CNT_REGによ
り、終了論理は、システム・マスクの変更が非同期割込
み論理によって反映されるまで、次の順次命令の実行が
進行するのをブロックすることができる。
【0029】最後に、非同期割込み論理は、SIE_CHECK_
XPIEがアクティブになり、SIE介入チェックが必要な
場合(バッファされた状態記述子内のIビットまたはE
ビットが1である場合)、マイクロコード/ミリコード
への割込みを発生する。
【0030】次に、本発明を詳細に検討する。図1は好
ましい実施形態を示すものであり、典型的なプロセッサ
および本発明に関連のあるコンポーネントを図示してい
る。L1キャッシュ(1)は、最近使用された命令およ
びオペランド・データを含んでおり、命令デコード論理
(2)に命令文を供給する。この論理は、命令を解析
し、関係のあるコンポーネントを命令待ち行列(3)に
渡す。命令は実行準備が整うまで待ち行列内に保持され
る。命令がデコードされると、オペランド・アドレスが
計算され、当該命令のためのオペランドがL1キャッシ
ュから取り出され、命令の実行準備が整うまでオペラン
ド・バッファ(4)に保持される。汎用レジスタ(5)
および浮動小数点レジスタ(6)もオペランドを実行装
置に供給する。所与の命令のためのすべてのオペランド
が得られると、一般に固定小数点実行装置(7)または
浮動小数点実行装置(8)が、当該命令のためのオペラ
ンドに対して演算を実行する。当該命令の実行が終了す
ると、その結果が汎用レジスタ(5)または浮動小数点
レジスタ(6)に書き込まれる。命令がストア・タイプ
の命令である場合には、結果はストア・バッファ(1
0)に入れられ、最終的にはL1キャッシュ(1)に書
き戻される。結果は、汎用レジスタ(5)または浮動小
数点レジスタ(6)への書込みと並行して、任意の時点
におけるプロセッサの完全なマイクロアーキテクチャ状
態を含む回復装置(9)内のレジスタにも書き込まれ
る。制御レジスタによっては、プロセッサの命令装置や
実行装置などにローカル・シャドー・コピーを持つこと
もあるが、それらの制御レジスタのマスタ・コピーは常
に回復装置(9)にある。上記のすべてのオペレーショ
ンに並行して、終了/割込み論理(11)が、すべての
命令の実行完了と結果の書込みを連続的にモニタし、制
御している。また、非同期割込み論理(12)が、保留
中の非同期割込みがないか連続的にモニタし、あれば終
了/割込み論理(11)に提示する。PSW実行装置
(13)は、PSWにロードするデータを固定小数点実
行装置(7)から受け取る。同装置は、システム・マス
ク・ビットの変更をモニタする論理を含んでいる。ST
OSM命令またはSTNSM命令が実行中であれば、同
装置は、終了カウンタを含む終了/割込み論理(11)
に通知する。
【0031】図2はESA/390のSTOSM命令
(201)を実装するための方法を図示する流れ図であ
る。PSW実行装置は、STOSM命令が実行中である
かどうか検出し(202)、実行中であればASYNC_PROH
IBカウンタを始動する(203)。PSW実行装置は、
PSWのビット0〜5に変更があるかどうかもチェック
し(208)、あれば終了論理に、プロセッサを無条件
に直列化するように通知する。また、新しいPSWのビ
ット6〜7が1であるかどうかも判断し(208)、1
であれば、XPIEチェックが必要かもしれないことを
非同期割込み論理に通知する。STOSM命令の実行が
完了するたびに、そのサイクルでの非同期割込みが禁止
される(207)。終了/割込み論理はASYNC_PROHIBカ
ウンタを含んでおり、同カウンタがゼロであるかどうか
判断するために、常に同カウンタをモニタしている(2
04)。そして、ゼロであれば、同カウンタはそのまま
保持される(205)。そうでない場合には、各サイク
ルごとに同カウンタが増分され(206)、非同期割込
みが禁止される(207)。予め定義された最大値に達
すると、カウンタはゼロにリセットされる。上記の動作
と並行して、非同期割込み論理は、PSWビット6およ
び7の状態とは無関係に、入出力割込みまたは外部割込
みがないかどうかモニタする(209)。必要なら、非
同期割込み論理はSIE介入チェックを生成し(21
0)、それによりマイクロコード/ミリコードが呼び出
されてこのチェックを実行する。さらに、上記と並行し
て、終了/割込み論理は、ASYNC_PROHIBカウンタがゼロ
でないか、またはSTOSM命令に関連した他の任意の
理由によって、プロセッサを直列化する必要があるかど
うか判断し(211)、必要がある場合には、プロセッ
サを直列化する(212)。
【0032】図3はESA/390のSTNSM命令
(301)を実装するための方法を図示する流れ図であ
る。PSW実行装置は、STNSM命令が実行中である
かどうか検出し(302)、実行中であればASYNC_PROH
IBカウンタを始動する(303)。PSW実行装置は、
PSWのビット0〜5に変更があるかどうかもチェック
し(308)、あれば終了論理に、プロセッサを無条件
に直列化するように通知する。STNSM命令の実行が
完了するたびに、そのサイクルでの非同期割込みが禁止
される(307)。終了/割込み論理はASYNC_PROHIBカ
ウンタを含んでおり、同カウンタがゼロであるかどうか
判断するために、常に同カウンタをモニタしている(3
04)。そして、ゼロであれば、同カウンタはそのまま
保持される(305)。そうでない場合には、各サイク
ルごとに同カウンタが増分され(306)、非同期割込
みが禁止される(307)。予め定義された最大値に達
すると、カウンタはゼロにリセットされる。上記の動作
と並行して、非同期割込み論理は、PSWビット6およ
び7の状態とは無関係に、入出力割込みまたは外部割込
みがないかどうかモニタする(309)。必要なら、非
同期割込み論理はSIE介入チェックを生成し(31
0)、それによりマイクロコード/ミリコードが呼び出
されてこのチェックを実行する。さらに、上記と並行し
て、終了/割込み論理は、ASYNC_PROHIBカウンタがゼロ
でないか、またはSTNSM命令に関連した他の任意の
理由によって、プロセッサを直列化する必要があるかど
うか判断し(311)、必要がある場合には、プロセッ
サを直列化する(312)。
【0033】図2および図3で説明したシーケンスは、
STOSM命令およびSTNSM命令を別々に扱う。し
かし、たとえば、STNSM命令のすぐ後にSTOSM
命令が続くような場合、上記の説明は同じように適用さ
れる。その場合、シーケンス内の2番目の命令が実行さ
れる際に、ASYNC_PROHIBカウンタは、再び初期の開始値
に設定される。したがって、非同期割込みが禁止されて
いる時間の合計は長くなる。これは、連続したSTOS
M命令およびSTNSM命令の任意の組合せに一般化で
きる。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態の概要を図示し、特
に本発明の好ましい特定の実施形態による典型的な中央
処理装置(CP)の主要なコンポーネントを図示するブ
ロック図である。
【図2】STOSM命令の実行を示す流れ図である。
【図3】STNSM命令の実行を示す流れ図である。
【符号の説明】
1 L1キャッシュ 2 命令デコード論理 3 命令待ち行列 4 オペランド・バッファ 5 汎用レジスタ 6 浮動小数点レジスタ 7 固定小数点実行装置 8 浮動小数点実行装置 9 回復装置 10 ストア・バッファ 11 終了/割込み論理 12 非同期割込み論理 13 PSW実行装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャールズ・エフ・ウェブ アメリカ合衆国12603 ニューヨーク州ポ ーキープシー マイネッティ・ドライブ 4

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】命令を取り出し、デコードする命令装置
    と、 前記命令装置の動作と並行して命令を実行する実行装置
    と、 プログラム状況ワードのシステム・マスク・フィールド
    を変更する特定の命令を直列化なしに実行させるための
    終了/割込み論理とを有するコンピュータ・プロセッサ
    ・システム。
  2. 【請求項2】前記特定の命令の実行時にリセットされ、
    リセット後にマシン・サイクルの計数を開始し、予め定
    義された値に達するまで、各プロセッサ・クロック・サ
    イクルごとに増分されるカウンタと、 前記カウンタの動作中は前記カウンタが予め定義された
    最大値に達するまで非同期割込みを禁止する機構とを備
    える請求項1に記載のコンピュータ・プロセッサ・シス
    テム。
  3. 【請求項3】前記特定の命令がエンタープライズ・シス
    テム・アーキテクチャ(ESA)/390のSTOSM
    命令またはSTNSM命令である、請求項1または2に
    記載のコンピュータ・プロセッサ・システム。
JP11119367A 1998-04-30 1999-04-27 コンピュ―タ・プロセッサ・システム Pending JP2000099330A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/070,199 US6088791A (en) 1998-04-30 1998-04-30 Computer processor system for implementing the ESA/390 STOSM and STNSM instructions without serialization or artificially extending processor execution time
US09/070199 1998-04-30

Publications (1)

Publication Number Publication Date
JP2000099330A true JP2000099330A (ja) 2000-04-07

Family

ID=22093775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11119367A Pending JP2000099330A (ja) 1998-04-30 1999-04-27 コンピュ―タ・プロセッサ・システム

Country Status (2)

Country Link
US (1) US6088791A (ja)
JP (1) JP2000099330A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633940B1 (en) * 1999-10-11 2003-10-14 Ati International Srl Method and apparatus for processing interrupts in a computing system
US9075600B2 (en) * 2010-06-24 2015-07-07 International Business Machines Corporation Program status word dependency handling in an out of order microprocessor design

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891749A (en) * 1983-03-28 1990-01-02 International Business Machines Corporation Multiprocessor storage serialization apparatus
JPH06103494B2 (ja) * 1986-11-18 1994-12-14 株式会社日立製作所 ベクトル処理装置の制御方式
JPH0810437B2 (ja) * 1987-05-11 1996-01-31 株式会社日立製作所 仮想計算機システムのゲスト実行制御方式
EP0374419A3 (en) * 1988-12-21 1991-04-10 International Business Machines Corporation Method and apparatus for efficient loop constructs in hardware and microcode
JPH07101410B2 (ja) * 1990-01-17 1995-11-01 インターナショナル、ビジネス、マシーンズ、コーポレーション データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法
US5257354A (en) * 1991-01-16 1993-10-26 International Business Machines Corporation System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results
JPH04306735A (ja) * 1991-04-04 1992-10-29 Toshiba Corp 非同期割込み禁止機構
US5345567A (en) * 1991-06-10 1994-09-06 International Business Machines Corporation System and method for modifying program status word system mask, system access key, and address space code with overlap enabled
EP0529303A3 (en) * 1991-08-29 1993-09-22 International Business Machines Corporation Checkpoint synchronization with instruction overlap enabled
US5410660A (en) * 1992-12-24 1995-04-25 Motorola, Inc. System and method for executing branch on bit set/clear instructions using microprogramming flow
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
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals

Also Published As

Publication number Publication date
US6088791A (en) 2000-07-11

Similar Documents

Publication Publication Date Title
US5822602A (en) Pipelined processor for executing repeated string instructions by halting dispatch after comparision to pipeline capacity
JP5539432B2 (ja) ベクトルマスク設定技術
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
US7725685B2 (en) Intelligent SMT thread hang detect taking into account shared resource contention/blocking
US20070186081A1 (en) Supporting out-of-order issue in an execute-ahead processor
JPH0778734B2 (ja) プログラム・ステータス・ワードを変更するサブシステム及び方法
JP2001521215A (ja) マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置
US7293163B2 (en) Method and apparatus for dynamically adjusting the aggressiveness of an execute-ahead processor to hide memory latency
JP2633475B2 (ja) 選択的セーブ方法及びシステム
GB2318194A (en) Power saving in asynchronous data processing apparatus
US20070136562A1 (en) Decoupling register bypassing from pipeline depth
US5996085A (en) Concurrent execution of machine context synchronization operations and non-interruptible instructions
US7634641B2 (en) Method and apparatus for using multiple threads to spectulatively execute instructions
JP2000122848A (ja) コンピュ―タ動作方法
JP2004511042A (ja) プログラム可能なプロセッサのリセット
US7610470B2 (en) Preventing register data flow hazards in an SST processor
US6721878B1 (en) Low-latency interrupt handling during memory access delay periods in microprocessors
US6088792A (en) Avoiding processor serialization after an S/390 SPKA instruction
JP2000099330A (ja) コンピュ―タ・プロセッサ・システム
US5761492A (en) Method and apparatus for uniform and efficient handling of multiple precise events in a processor by including event commands in the instruction set
JP3146058B2 (ja) 並列処理型プロセッサシステムおよび並列処理型プロセッサシステムの制御方法
JPH06202868A (ja) マルチスカラー・プロセッサ・システムにおける高速浮動小数点例外起動式操作の方法およびシステム
JP2000235489A (ja) プロセッサ
US7124285B2 (en) Peak power reduction when updating future file
JP2885548B2 (ja) パイプライン制御方式