JPH01503340A - データ処理ユニット - Google Patents
データ処理ユニットInfo
- Publication number
- JPH01503340A JPH01503340A JP63502738A JP50273888A JPH01503340A JP H01503340 A JPH01503340 A JP H01503340A JP 63502738 A JP63502738 A JP 63502738A JP 50273888 A JP50273888 A JP 50273888A JP H01503340 A JPH01503340 A JP H01503340A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data processing
- processing unit
- arithmetic
- exception
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
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)
- Image Processing (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
複数の命令を同時に実行するパイプライン化実行ユニットを有する中央演算処理
装置において算術的例外を同期化する装置および方法
麗鳳工!
本願は以下に挙げる特許出願に関連するものであり、これらの特許出願はすべて
本願の出願日前に合衆国特許・商標局に出願されたものである。
David N、 Cutler、David A、 0rbits、 Dil
eep Bhandarkar。
Wayne Car4oza、 Richard T、 1iitekか発明し
、通し番号069゜372を有し、1987年3月20日に出願され、本願の譲
り受け人にamされj: APPAl’1ATL!S ANI) IAET)1
01) FOI’l RECOVEFIIIIGFROM MISSING P
AGE FAULTS IN VECTORDATA PROCESSINGO
PERAT■GNS。
David N、 Cutler%Davjd A、 0rbits、 Dil
eep Bhandarkar、Wayne Cardoza、 Richar
d T、 Witekが発明し、通し番号069゜365を有し、1987年3
月20日に出願され1本願の譲り受け人に譲渡された APPARATLIS
AND METHOD FORPROVIDING ANEXTENDED P
ROCESSING ENVIRONMENT FORNON−MICROCO
DED DATAPROCESSING 5YSTE補S。
及里9五旦
1、発明の分野
本発明は大雑把にはデータ処理システム、一層詳しくは、システム・アーキテク
チャが複数の命令の平行処理を可能としているデータ処理システムに関する。
このデータ処理システムの作動中、現在実行しているプログラムを完了するのに
必要な明示活動外の成る種の手続きの実行を迫る事象かシステム内に生じること
がある。これらの事象か主として現在実行しているプログラムに関係している場
合には、普通は、システム応答は現行プログラムと同じ文脈で実行される成る種
のソフトウェア手続きを呼び出すことになる。このような事象の通告を例外と呼
ぶ、この事象が主として他のソフトウェア手続きあるいはシステム全体に関わる
ものであるときには、システム・ワイド文脈で応答を処理しなければならない、
この後者のタイプの事象についての通告は中断と呼ぶ0本発明は算術的例外と呼
ばれる一組の例外に関する。
2、関連技術の説明
成る種のデータ処理システムで高性能を得るには、1つの方法としては、複数の
命令を平行して実行する(すなわち、命令の実行が時間的にオーバーラツプする
こと)装置を用いることがある。しかしながら、現在実行している命令のうち1
つまたはそれ以上の命令が算術的例外となった場合、たとえば、整数桁あふれ、
指数桁あふれ、下位桁あふれ等がある場合、算術的例外を生じた命令の正確な位
置の決定が非常に難しいことがある。加えて、可能性のある例外起点が多様であ
るため、これら算術的例外に効率良く応答するためのソフトウェア環境を創り出
さなければならない。
DECVAXデータ処理システムやIBM System/370データ処理シ
ステムのようなコンピュータ・アーキテクチャは成る例外条件を通知するw41
の命令の後に開始したすべての命令を打ち切ることによって算術的例外に応答す
る。命令実行速度の差のような種々の理由のために、複数の命令を平行して実行
する環境でこの技術を実施するのは難しい。
他の高性能データ処理アーキテクチャ、たとえば、CDC−7600データ処理
システムやCray−1、Cray−XMP。
Cray−2データ処理システムでは、単に、プログラム環境の都合の良い点て
命令の実行を止めるだけであり1例外条件を通知した命令を識別する方法を与え
ているわけてはない、さらに、これらのアーキテクチャは算術的例外の識別に応
答すべく命令実行を発生した環境に同期させる機構をまったく持っていない。
したがって、複数の命令を同時に実行できるデータ処理装置て算術的例外の識別
に組織的に応答したり、これら算術的例外そのものに応答したりする技術の必要
性が考えられていた。
え豆9竺量
本発明の一目的は改良したデータ処理ユニットを提供することにある。
本発明の一特徴は複数の命令を同時に実行できる改良したデータ処理システムを
提供することにある。
本発明のまた別の特徴は現在実行中の命令を完了させ得る命令を提供することに
ある。
本発明のまたさらに別の特徴は複数の命令を同時に実行できるデータ処理システ
ム環境て算術的例外に同期応答するのを助ける命令を提供することにある。
a里り迷1
本発明によれば、上記の特徴および他の特徴は、成る命令(以後、DRAIN命
令と呼ぶ)およびこの命令を支援する装置であって、実行を開始してしまってい
るが、DRAIN命令が開始されたときにはまだ完了していないすべての命令を
、さらなる命令がデータ処理システムで実行される前に完了させ得る装置な提供
することによって達成される0本発明は、また、スケーラ・レジスタ、ベクトル
・レジスタのいずれが例外結果を受け取ったかを示す算術的例外サマリ・マスク
を提供する。DRAIN命令は算術的例外を識別したデータ処理文脈環境内での
その算術的例外の検出に応答するのに用いられる。異な9たデータ処理文脈環境
における同じ算術的例外は異なった含意を持ち得る。
本発明のこれらおよび他の特徴は図面と一緒に以下の説明を読めば理解して貰え
よう。
図面の簡単な説明
第1A図および第1B図は本発明を利用てきるデータ処理システムを例示するブ
ロック図である。
第2図は本発明を有効に利用てきる中央@算処理装置の一例を示すブロック図で
ある。
第3図は多段実行ユニット環境において算術的例外の検出から回復することの複
雑さを説明する概略タイミング図である。
第4図は本発明を実施するのに必要な装置を説明するブロック図である。
第5図は本発明によるDRAIN命令の動作を説明する図である。
第6A図、第6B図および第6C図は本発明による算術式例外の識別の結果とし
て発生したフレームを説明する図である。
ましい 雄側の詳細な説
1、図の詳細な説明
まず第1A図および第1B図を参照して、ここには本発明な使用することのてき
るデータ処理システムの2つの例が示しである。第1A図において、中央演算処
理装!!($1)11はシステム・バス19に接続しである。他の中央演算処理
装H(たとえば、#N)12もシステム・バス19に接続てきる。中央演算処理
装置11(なレル12)は中央演算処理装置制御プログラムとの関連において中
央演算処理装置構造に従って論理信号のグループを処理する。制御プログラムは
中央演算処理装置(すなわち、ファームウェア装置)に入つた、あるいは、そこ
に常駐する論理信号のグループからなる。非常駐論理信号のグJレープζよ、普
通は、主記憶装置15内に格納されており、システム・ノ\ス19を経て中央演
算処理装置の内外へ転送される。入出力装置(#1)16(なレル(in)17
)が大容量記憶装置、ユーザー側端子装置および通信装置のような装置をシステ
ム・/<ス19を介してデータ処理システムに接続している。大容量記憶装置は
データ処理ユニットによって要求される論理信号グループを格納してし)る、中
央演算処理装置16〜17の動作に必要なしλくつ力)のセットの論理信号グル
ープ(普通は、データのベージて示される)は比較的遅い接近速度を有する大容
量記憶装置力)ら主記憶装置(これへの中央演算処理装置による接近が比較的速
)s)へ転送される。このバス指向性システムはそれを再構成するの力く比較的
容易であるという利点を宥するか、各システム構成要素力(システム・バス19
とのインターフェースとなる制御装置を必要とするとし1う欠点も有する0次に
第1B図を参照して、ここに示すデータ処理システムでは、中央演算処理装置1
1 (給1し12)および入出力装置16(なレル17)が記憶制御装置44を
介して主記憶装置15に接続してあり、この記憶制御装3114は第1B図に示
すデータ処理システム形態のシステム1バス19にとりて代わっており、制御機
能は第1図のバス指向形態における個々のデータ処理システム構成要素によって
果たされる。記憶fJl#装置14は、第1A図のバス指向形態よりは効率は良
し)が融通性は落ちる、論理信号グループ転送の集中制御・監視機能を与える。
次に第2図を参照して、ここには本発明を効果的に利用できる中央演算処理装置
の一例が示しである0発行ユニット22は、スケーラ演算アドレス発生ユニット
24.少なくとも1つの実行ユニット($1) 25 (ないし実行ユニット(
#Q) 26)およびベクトル演算ユニット28からなる複数の特殊化実行ユニ
ットに(復号した)命令を与えるように応答できる。ベクトル演算ユニットはベ
クトル演算処理ユニット28A、ベクトル演算アドレス発生ユニット28Bおよ
びベクトル演算レジスタ28Cを包含する。実行ユニットによって処理される論
理信号グループは、普通は、スケーラ・レジスタ23またはベクトル・レジスタ
28Cから抽出される。実行ユニットからの出力論理信号グループはスケーラ・
レジスタ23、ベクトル・レジスタ28Cまたはデータ・キャッシュ記憶装@2
7に記憶される。データ・キャッシュ記憶装置27は主記憶装2115と中央@
算処理装置111の間のインターフェースとなるキャッシュ記憶装置と見ること
もできる。(データ・キャッシュ記憶装置27は第2図においては主記憶装置に
直結した状態で示しであるが、第1A図および第1B図に示すように、実際の接
続ではデータ処理装置を介在させてもよい、)発行ユニット22はどの実行ユニ
ットか選定した信号グループを処理することになるかを決定しかつこの選定され
た実行ユニットが論理信号グループを処理するのに役立つかどうかを決定する装
置を包含する。この後者の決定ては、目的の記憶場所が処理された論理信号グル
ープを格納するのに利用てきるかどうかを確認にることも行なう、命令キャッシ
ュ記憶装置21は発行ユニット22によって復号され、適当な実行ユニットに送
られた命令を記憶する0発行ユニット22は実行ユニットの処理作業な最大限に
するように試みる装置を有する。したかつて、発行ユニット22は適切な命令(
任意のブランチ命令を含む)が必要に応じて確実に発行ユニット22て利用でき
るようにする先取り装置とアルゴリズムを包含する。これら複数の実行ユニット
は、スケーラ演算アドレス発生ユニット24およびベクトル演算ユニット28て
示すように、各々成る種のクラスの処理作業を取り扱える特殊化した処理装置で
ある。たとえば、成る実行ユニットは浮動小数点演算、整数算術演算等を扱う構
成とすることができる0発行ユニット22には、プログラムの実行に必要な、あ
るいは、データ処理演算の記録を行なうのに必要な論理信号グループを記憶する
ことのできるスケーラ・レジスタ23が組合わせである。
たとえば、成るレジスタは、実行プログラム命令シーケンスて処理されることに
なっている次の命令の(仮想)アドレスを記憶するPrograrn Coun
terレジスタである。スケーラ演算アドレス発生ユニット24は仮想アドレス
を主記憶装置15の物理的な場所に変換するのに使用される0発行ユニット22
は実行ユニットが異なった速度で命令を処理しているときに正しいシーケンスで
実行ユニットから出てくる論理信号グループを再配列するようにも応答できる。
このデータ処理システムの処理速度を高めるために、実行ユニットは複数の命令
の平行実行を行なうのに加えてパイプライン化技術を用いて実現される。この実
現技術はバイブライン式プロセスの特徴を示す第3図を参照すれば理解できる。
命令シーケンスにおける実行ユニット処理命令#nは、実際に、5ステージ(各
々rTJの時間を要する)で対応した演算を行なう、同じ技術ではあるが、複数
のステージなしに演算を行なうのに必要な時間を超える可使性のある対応した演
算を行なうためにはT0〜T4の合計、すなわち、5x rTJの時間を要する
。バイブライン化遂行から生じる利点は、成る命令が各rTJ時間て実行ユニッ
トによりて完了し得るということにある。「T」時間か非バイブライン化演算の
時間よりもいくらか短い場合、命令シーケンスはより迅速に実行され得る。
再び第3図を参照して、命令#nが算術演算を実施する成る実行ユニットに与え
られ2時間T0中この命令によって識別される活動を開始したとき、各々時間r
TJを要する準演算のシーケンスの後、命令の結果は図示の5ステージ・バイブ
ライン化プロセッサ・ユニットのために時間T4中利用できる。しかしながら、
通常の演算途中ては、発行ユニットは時間T、中は新しい命令#n+1を1時間
T2中は命令#n+2を、時間T3中は命令#n+3を与えることになり、これ
らの命令#n+1、#n+2および#n+3はすべて実行ユニットに与えられ、
その後に、命令#nについての実行ユニット結果およびそれに対応した可能性の
ある算術的例外は時間T4中利用てきる。処理環境をさらに複雑にするには、異
なった実行ユニットが成る命令の実行を完了するのに異なった時間を持ってもよ
い(たとえば、バイブライン化したステージの数が異なっていてもよい)、シた
がって。
たとえば、命令#n+2についての実行ユニットの結果および可使性のある算術
的例外は命令#nについて実行ユニット結果および回部性のある算術的例外が検
出される前に利用できる。
次に第4図を参照して、本発明を実施するのに必要な装置がここに示しである0
発行ユニット22には命令レジスタ221が設けてあり、この命令レジスタでは
、現行の命令が復号され、適切な実行ユニットに与えられる0本発明のDRAI
N命令が命令レジスタ22!に入ったとき、決定ネットワーク222かこの命令
に応答するには、次の命令が命令レジスタ221に入るのを阻止し1次の命令の
復号または次の命令の発行を阻止する任意他の活動を許さず、現在実行されてい
るすべての命令は算術的例外の識別なしに完了する。その間、各実行ユニット2
5は発行ユニット22の決定ネットワーク222に、その実行ユニットて実行し
ている任意の命令か完了したことを示す、信号装置253からの信号を与える0
発行ユニット22は、完了していない実行活動のファイルを維持しているので、
すべての活動か完了したときにはそれを決定することができる。さらに、実行ユ
ニット25ては、例外装置252か実行ユニット25の出力装置251に接続さ
れている。
次に第5図を参照して、ここては、$3図に示すように時間子、中に発行ユニッ
ト22から与えられる命令#n+3の代わりに、DRAIN命令かこの時点で与
えられる。それ故、時間T。
では、次の命令は成る例外か検出されたときに検出済みの算術例外に応答する手
続きか、あるいは、算術的例外がまったく検出されないときの次に続く命令とな
る。
次いて第6A図、第6B図および第6C図を参照して、ここには、好ましい実施
例に従って成る算術的例外か識別されたときに発生する算術的例外フレームが示
しである。第6A図の算術的例外フレーム600ては、その最初のロングワード
(すなわち、4バイトの論理信号)601が例外合計情報(たとえば1例外合計
レジスタからの情報)を記憶する。このパラメータまたはロングワードの内容を
以下に説明する。二番目のロングワード602はベクトル・レジスタ書込みマス
クを記憶し、ロングワード603.604はスケーラ・レジスタ書込みマスクを
記憶する。ロングワード602.603.604のレジスタ書込みマスクは算術
的例外と識別された結果を書込んだレジスタを識別する。マスクのビットの位置
と例外結果を受け取ることのできるレジスタの間には1対1の対応がある。たと
えば、好ましい実施例では、64偏のスケーラ・レジスタが存在し、ロングワー
ド604.605の各フィールド・ビ・ントは1つのスケーラ・レジスタ、すな
わち、スケーラ・レジスタO〜63のうちの1つと組み合される。ロングワード
605のパラメータはプロセッサ状況(すなわち、プロセッサ状況レジスタの内
容)であり、これについては以下に説明する。ロングワード606ては1次の命
令の仮想アドレスが記憶される。パラメータ606のこのアドレスはDRAIN
命令に続く命令のアドレスである。
次に第6B図を参照して、ここには例外合計パラメータ601の定義が示しであ
る。第6B図にFUNて示すビ・シト0位置611は浮動小数点算術演算または
変換演算が宛先指数を下位桁あふれさせたことを示している。ビット1位置61
2(FDZ)は浮動小数点演算で零除算が試みられたことを示している。
ビット2位置613 (FR3)は浮動小数点算術演算、変換演算または比較演
算を実施する試みがなされたことを示している。
ビット3位置614 (FOV)は浮動小数点算術または変換算術を実施する試
みが宛先指数のあぶれを生じさせたことを示している。ビット4位置615(I
DZ)は零除数で整数除算を実施する試みがなされたことを示す、ビット5位置
616(IOV)は整数算術演算または浮動小数点フォーマットから整数フォー
マットへの変換が宛先場所で利用できる精度をあふれさせたことを示す、ビット
6位置617 (COE)はコプロセッサ例外が識別されたときにトラップ・イ
ネーブル・セットでのコプロセッサ読み取りまたは書込みが実行されたことを示
す。
第6C図ては、プロセッサ状況パラメータ605か識別される。これらのパラメ
ータについて、ビット0位1i621 (CM)は、「0」論理信号が特権演算
モートを示し、「l」論理信号が非特権すなわちユーザー演算モードを示す現在
実行中のプログラムのアクセス・モードを示している。ビット1位置622(V
MM)は本発明に直接関係のないプロセッサ実行モードを示している。ビット2
位置623 (VRF)はベクトル・リスタート・フレームが成る例外の開始時
に退避したときにプロセッサ状況パラメータにセットされる。ビット3位M62
4 (VEN)はベクトル命令が実行できるかどうかを制御する。この位置に1
つの信号がセットされているときには、通常はベクトル命令が発行され得る。さ
もなければ、ベクトル命令を発行する試みはベクトル演算イネーブルのエラーと
なる。ビット4〜6位置624 (IPL)は現行のプロセッサ実行活動につい
ての中断優先レベルを定める。
2、好ましい実施例の動作
第2図のパイプライン化した実行ユニットを有する中央演算処理装置がいくつか
の制約を受ける好ましい実施例で実施された。
しかしながら、他の設計の構成でも本発明を利用できる。この中央演算処理装置
は複数の実行ユニットを包含し、各実行ユニットは成るクラスの命令を実行する
ようになっている。たとえば、1つの実行ユニット(スケーラ・アドレス発生ユ
ニット24)は中央演算処理装置と主記憶装置15の間での論理信号グループの
転送を制御する。すなわち、ロード/記憶命令を実行する。成る実行ユニットが
データ信号グループ・シフト作業を実行するようになフていてもよいし、成る実
行ユニットは整数、浮動小数点乗算を行なうようになっていてもよいし、成る実
行ユニットは整数、浮動小数点除算を行なうようになっていてもよい、これら特
殊化した実行ユニットはバイブライン化形態で実施てきるが、必ずしもそうであ
る必要はない、中央演算処理装置の他の特徴は次の通りである。現在実行中の命
令シーケンスのうちの命令は命令キャッシュ記憶装置21から発行ユニット22
に転送される0発行ユニット22ては、命令はその構成要素に分解され、データ
従属制御信号およびアドレス信号がそこから発生する。しかしながら、成る命令
の実行か開始する(すなわち、発行される)前に、いくつかの制約が満たされな
ければならない、この命令についてソース・レジスタおよび宛先レジスタのすべ
てが利用てきなければならない、すなわち、必要なレジスタへの書込み作業が未
解決となることかない、レジスタ書込み経路はこの命令が処理された量を記憶す
ることになる将来のサイクルて利用できなければならない、1サイクルあたりの
レジスタにただ1つの結果のみを記憶することがてきる。すべての命令(キャッ
シュ記憶装置ヒツトに基いて予測されるロード作業の例外を持つ)は一定のデー
タ独立実行時間を有する。実行中に命令を処理するのに必要とされる実行ユニッ
トは演算を実施するのに利用できなければならない。そこですべてのユニット(
除算実行ユニットの例外を持つ)はパイプライン化され、マシン・サイクル毎に
新しいスケーラ命令を受けることができる。除算実行ユニットは反復性てあり、
先の除算作業が完了したときにのみ新しい除算を実行てきる。ベクトル演算ユニ
ットに関しては、ベクトル演算はそれを持続させるために実行ユニットを予約す
る。記憶ロード/記憶命令がキャッシュ記憶装置みすを経験したとき、ロート/
記憶装置ビジー・フラグかキャッシュ記憶ミス応答が完了するまて続くロード/
記憶命令を遅らせることになる。1つの命令が与えられたとき、その結果につい
ての宛先レジスタおよび書込み経路サイクルか予約される。
オペランド・セットアツプ中、すべての命令独立レジスタ・アドレスか発生させ
られ、オペランドか読み取り、記憶され、データ従属制御信号が発生させられる
。命令オペランドおよび制御信号は対応した実行ユニットに送られる。この実行
ユニットで発生した結果はレジスタ・ファイルに、あるいは、データ・キャッシ
ュ記憶装置15に、適宜記憶される。ひとたび命令が発すると、処理の結果はい
くつかのマシン・サイクルに利用できない、その間、次のマシン・サイクルでは
、次の命令が復号され、必要な発行条件が満足されたとき発行され得る。したか
って、命令は通常の命令シーケンスて復号され1発行されるが、その結果は異な
った順序で記憶され得る。これは実行ユニットの命令の実行時間が異なるからで
ある。この処理演算結果の順不同の記憶は例外処理と失敗した命令の再試行を複
雑にする可能性がある。しかしながら、このような事象は比較的まれてあり、順
不同の記憶でも実行、ハードウェアについての利点は得ることがてきる。
DRAIN命令の実行により、現在データ処理システムで実行されているすべて
の命令は次の命令が実行される前に完了することになる。したかって、原則的に
は、DRAIN命令は文脈環境における変化の間にある。すべての活動命令が完
了したとき、次の命令が発行されるか、あるいは、算術的例外手続きの実行が開
始されることになる。この選択は、先に発行されたがまだ完了していない命令か
ら発生するすべての算術的例外が一貫したソフトウェア環境かあるいは処理文脈
で処理される。
算術的例外の存在は、算術的例外を生じさせるデータ信号グループか不完全であ
ることを必ずしも意味しない、データ処理文脈環境は算術的例外を生じさせるデ
ータ信号グループが不完全であるかどうかを決定する。この関係は適切なデータ
処理文脈環境での算術的例外の処理がなぜ重要であるかを示している。たとえば
、プログラムまたはルーチンは算術的な桁あふれおよび下位桁あぶれが予測結果
となるように実行される可能性がある。この文脈環境での算術的例外の存在は例
外的な条件を回避する試みにおいてサブルーチンあるいはプログラムにデータ信
号グループを計数させる可能性がある。しかしながら、データ処理文脈環境が算
術的例外の識別とその結果生じた応答との間て変化したとき、算術的例外につい
ての応答は不適当となる可能性がある。
算術的例外の識別に対する応答を容易にするために、ひとたび実行命令が完了し
たならば1例外と識別された結果(すなわち、算術的例外状態のために誤った結
果)を受け取ワた(スケーラ。
ベクトル)レジスタを識別する例外サマリ・マスクが開発されている。このサマ
リ・マスクは継続プログラム・カウンタと一緒に特権演算システム・ソフトウェ
アに利用てきるように構成される。サマリ・マスクおよび継続プログラム・カウ
ンタ内容により、演算システム例外取り扱い用ソフトウェアが算術的例外状態を
生じさせる命令を識別することがてきる。
データ処理システム設計分野の当業者には明らかなように、DRAIN命令(お
よびこのDRAIN命令を実行する装M)はデータ処理システム回路設計のハー
ドウェア実現性を確認するのに使用てきるし、ソフトウェア・プログラムの確認
の助けとなるように使用することもできる。DRAIN命令は問題が予想される
命令の直後に実行中のプログラム命令シーケンスに挿入できる。こうして、DR
AIN命令の場所に対する命令シーケンスの結果を確認できる。プログラムがデ
バッキングのために翻訳されたときに高レベル・プログラミング言語コンパイラ
でDRAIN命令を使用できる。この用途ては、DRAIN命令は高レベル言語
ステートメントの翻訳を含むプログラム命令のグループの間に位置する。命令シ
ーケンスが算術的例外を発生したとき、確認(デバッキング)手続きて算術的例
外に結果するソース・プログラムにおけるステートメントを識別できる。
以上、好ましい実旅例の動作を説明したが、これは発明の範囲を限定することを
意味していない0発明の範囲は以下の請求の範囲によってのみ限定されるべきで
ある。上記の説明から2発明の精神、範囲に含まれる多くの変更が当業者には明
らかであろう。
浄書(内容に変更なし)
FIG、−IA
特表平1−503340 (5)
FIG、−6A
FIG、−6C
平成 年 月 日
特許庁長官 吉 1)文 毅 殿 直
1、事件の表示 PCT/US 88/ 008153、補正をする者
7、補正の内容 別紙のとおり
国際調査報告
Claims (15)
- 1.複数の命令を同時に実行できるデータ処理システムのデータ処理ユニットに おいて前記データ処理システムの少なくとも1つの所定の状況に応答する状況応 答装置であって、予め選定した筋違信号グルーブに応答して現在実行中の命令の 完了を許すと共に前記現在実行中の命令が完了するまで追加の命令の実行を阻止 する第1の手段と、前記予め選定した節理信号グループおよび前記少なくとも1 つの所定の状況に応答して前記少なくとも1つの所定の状況が存在しないときに は次の命令を実行し、前記少なくとも1つの所定の状況が存在するときには応答 手続きを実行する第2の手段と を包含することを特徴とする状況応答装置。
- 2.請求項1記載の状況応答装置において、前記少なくとも1つの所定の状況が 算術的例外状況であることを特徴とする状況応答装置。
- 3.請求項2記載の状況応答装置において、前記予め選定した信号グループを用 いて前記命令の実行が完了した後に選定したレジスタからの信号を記憶するレジ スタ手段をさらに包含することを特徴とする状況応答装置。
- 4.請求項3記載の状況応答装置において、前記予め選定した信号グルーブが前 記データ処理システムで奥行されているプログラムに含まれており、前記データ 処理ユニットにおける前記少なくとも1つの所定の状況の検出に潜在的に琵果す るプログラム命令の後に次の順番のプログラム暢所に含まれることを特徴とする 状況応答装置。
- 5.請求項4記載の状況応答装置において、前記予め選定した信号グルーブがD RAIN命令であることを特徴とする状況応答装置。
- 6.データ処理システムの多段実行ユニット式中央決算処理装置における算術的 例外に応答する方法であって、所定の命令を与える段階を包含し、この段階の結 果として、 前記所定の命令が開始されたときにすべての命令を実行、完了させる段階と、 これら実行中の命令がすべて完了するまで次の順番の命令の実行開始を阻止する 段階と を生じさせることを特徴とする方法。
- 7.請求項6記載の、算術的例外状況に応答する方法において、前記実行中の命 令の完了前に発生した算術的例外状況に応答する手続きを与える段階をさらに包 含することを特徴とする方法。
- 8.請求項7記載の、算術的例外状況に応答する方法において、前記実行命令の 完了前になんら算術的誤りがないときに次の順番のプログラム命令を実行する段 階をさらに包含することを特徴とする方法。
- 9.請求項8記載の、算術的例外状況に応答する方法において、算術的例外を発 生させる可能性のある命令の後に前記所定の命令を置くことによってプログラム をテストする段階をさらに包含することを特徴とする方法。
- 10.少なくとも1つの中央演算処理装置を包含し、この中央演算処理装置が 命令シーケンスの実行を制得する発行ユニットと、前記命令シーケンスを処理す る複数の実行ユニットとを包含し、各実行ユニットが算術的例外を前記発行ユニ ットに知らせる信号手段を包含し、前記発行ユニットが所定の命令に応答して前 記実行ユニットに現在実行中の命令を完了させる装置を包含し、前記所定の命令 が前記現在実行中の名来信完了するまで前記発行ユニットから命令が発行される のを阻止することを特徴とするデータ処理システム。
- 11.請求項10記載のデータ処理ユニットにおいて、前記所定の命令がDRA IN命令であることを特徴とするデータ処理ユニット。
- 12.請求項11記載のデータ処理ユニットにおいて、さらに例外取り扱い手段 を包含し、前記現在実行中の命令の少なくとも1つが算術的例外を生じさせたと きに前記所定の命令が前記例外取り扱い手段に或る手続きを実行させることを特 徴とするデータ処理ユニット。
- 13.請求項12記載のデータ処理ユニットにおいて、前記現在実行中の命令が 算術的例外を生じさせないときに前記所定の命令が前記命令シーケンスにおける 次の命令を発行させることを特徴とするデータ処理ユニット。
- 14.請求項13記載のデータ処理ユニットにおいて、前記例外取り扱い手段が 算術的例外の発生時にデータ処理ユニットの文脈を記憶することを特徴とするデ ータ処理ユニット。
- 15.請求項13記載のデータ処理ユニットにおいて、各算術的例外に前記例外 取り扱い手段が応答する毎に前記発行ユニットが次の順番の命令を発行すること を特徴とするデータ処理ユニット。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US2824887A | 1987-03-20 | 1987-03-20 | |
| US028,248 | 1987-03-20 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01503340A true JPH01503340A (ja) | 1989-11-09 |
| JP2778717B2 JP2778717B2 (ja) | 1998-07-23 |
Family
ID=21842385
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63502738A Expired - Lifetime JP2778717B2 (ja) | 1987-03-20 | 1988-03-18 | データ処理ユニット |
Country Status (10)
| Country | Link |
|---|---|
| EP (1) | EP0307448B1 (ja) |
| JP (1) | JP2778717B2 (ja) |
| AT (1) | ATE85853T1 (ja) |
| AU (1) | AU615438B2 (ja) |
| CA (1) | CA1304823C (ja) |
| DE (1) | DE3878513T2 (ja) |
| DK (1) | DK647888D0 (ja) |
| HK (1) | HK2296A (ja) |
| IE (1) | IE62074B1 (ja) |
| WO (1) | WO1988007239A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05173783A (ja) * | 1991-04-24 | 1993-07-13 | Internatl Business Mach Corp <Ibm> | 命令パイプラインをドレーンさせるためのシステムおよび方法 |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5197133A (en) * | 1988-12-19 | 1993-03-23 | Bull Hn Information Systems Inc. | Control store addressing from multiple sources |
| US5075840A (en) * | 1989-01-13 | 1991-12-24 | International Business Machines Corporation | Tightly coupled multiprocessor instruction synchronization |
| EP0510429A3 (en) * | 1991-04-24 | 1993-12-01 | Ibm | Millicode register management system |
| US6044456A (en) * | 1998-01-05 | 2000-03-28 | Intel Corporation | Electronic system and method for maintaining synchronization of multiple front-end pipelines |
| US8078843B2 (en) | 2008-01-31 | 2011-12-13 | International Business Machines Corporation | Facilitating processing in a computing environment using an extended drain instruction |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS564844A (en) * | 1979-06-26 | 1981-01-19 | Nec Corp | Information processor |
| JPS61285541A (ja) * | 1985-06-13 | 1986-12-16 | Nec Corp | 情報処理装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6043535B2 (ja) * | 1979-12-29 | 1985-09-28 | 富士通株式会社 | 情報処理装置 |
| US5063497A (en) * | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
| IN170672B (ja) * | 1987-07-01 | 1992-05-02 | Digital Equipment Corp |
-
1988
- 1988-03-18 DE DE8888903101T patent/DE3878513T2/de not_active Expired - Lifetime
- 1988-03-18 AU AU14908/88A patent/AU615438B2/en not_active Ceased
- 1988-03-18 AT AT88903101T patent/ATE85853T1/de not_active IP Right Cessation
- 1988-03-18 IE IE81888A patent/IE62074B1/en unknown
- 1988-03-18 EP EP88903101A patent/EP0307448B1/en not_active Expired - Lifetime
- 1988-03-18 WO PCT/US1988/000815 patent/WO1988007239A1/en not_active Ceased
- 1988-03-18 JP JP63502738A patent/JP2778717B2/ja not_active Expired - Lifetime
- 1988-03-18 CA CA000561849A patent/CA1304823C/en not_active Expired - Fee Related
- 1988-11-18 DK DK647888A patent/DK647888D0/da not_active Application Discontinuation
-
1996
- 1996-01-04 HK HK2296A patent/HK2296A/en not_active IP Right Cessation
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS564844A (en) * | 1979-06-26 | 1981-01-19 | Nec Corp | Information processor |
| JPS61285541A (ja) * | 1985-06-13 | 1986-12-16 | Nec Corp | 情報処理装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05173783A (ja) * | 1991-04-24 | 1993-07-13 | Internatl Business Mach Corp <Ibm> | 命令パイプラインをドレーンさせるためのシステムおよび方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| IE62074B1 (en) | 1994-12-14 |
| ATE85853T1 (de) | 1993-03-15 |
| HK2296A (en) | 1996-01-12 |
| IE880818L (en) | 1988-09-20 |
| JP2778717B2 (ja) | 1998-07-23 |
| WO1988007239A1 (en) | 1988-09-22 |
| AU1490888A (en) | 1988-10-10 |
| DK647888A (da) | 1988-11-18 |
| DE3878513D1 (de) | 1993-03-25 |
| EP0307448A1 (en) | 1989-03-22 |
| AU615438B2 (en) | 1991-10-03 |
| EP0307448B1 (en) | 1993-02-17 |
| DK647888D0 (da) | 1988-11-18 |
| CA1304823C (en) | 1992-07-07 |
| DE3878513T2 (de) | 1993-09-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5341482A (en) | Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions | |
| US5063497A (en) | Apparatus and method for recovering from missing page faults in vector data processing operations | |
| US5003462A (en) | Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means | |
| EP0087978B1 (en) | Information processing unit | |
| US5113521A (en) | Method and apparatus for handling faults of vector instructions causing memory management exceptions | |
| CA1297591C (en) | Exception reporting mechanism for a vector processor | |
| EP0213842A2 (en) | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor | |
| EP0377991A2 (en) | Data processing systems | |
| JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
| JP3207124B2 (ja) | カウント/リンク・レジスタ変更命令の投機実行をサポートする方法及び装置 | |
| JPH01310441A (ja) | データ処理装置 | |
| EP0497485A2 (en) | Computer for implementing two-operand instructions | |
| JP2778717B2 (ja) | データ処理ユニット | |
| US5278840A (en) | Apparatus and method for data induced condition signalling | |
| US5784606A (en) | Method and system in a superscalar data processing system for the efficient handling of exceptions | |
| CN1021604C (zh) | 在向量数据处理运算中从缺页故障中恢复的设备和方法 | |
| CN118860494A (zh) | 地址生成系统 | |
| JPS581246A (ja) | 命令処理順序制御方式 | |
| JPH0754467B2 (ja) | データ処理装置 | |
| JPH07219766A (ja) | 演算処理装置 | |
| JPH0668725B2 (ja) | データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法 | |
| EP0297890B1 (en) | Apparatus and method for data induced condition signaling | |
| JPH0524537B2 (ja) | ||
| JP2793396B2 (ja) | 電子計算機の演算ステータス保持装置 | |
| JP2901573B2 (ja) | スーパースカラー方式の情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |