JPS61221936A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPS61221936A
JPS61221936A JP61061030A JP6103086A JPS61221936A JP S61221936 A JPS61221936 A JP S61221936A JP 61061030 A JP61061030 A JP 61061030A JP 6103086 A JP6103086 A JP 6103086A JP S61221936 A JPS61221936 A JP S61221936A
Authority
JP
Japan
Prior art keywords
microprogram
data processing
sequence
processing device
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.)
Granted
Application number
JP61061030A
Other languages
English (en)
Other versions
JPH0658630B2 (ja
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.)
ICL PLC
Original Assignee
ICL PLC
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 ICL PLC filed Critical ICL PLC
Publication of JPS61221936A publication Critical patent/JPS61221936A/ja
Publication of JPH0658630B2 publication Critical patent/JPH0658630B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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/3861Recovery, 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)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 この発明はマイクロインストラクションのシーケンスに
より機械レベル命令を実行するデータ処理装置に関する
データ処理装置の動作期間中、特定の例外条件が、例え
ば、プログラムの誤りの結果として発生する可能性があ
る。例えば、ある命令は現在禁止されまたは利用できな
い記憶領域にアクセスしようとするかも知れない。マイ
クロプログラムは、これらの例外を検出してそれを解決
するように、即ち、その例外の正確な原因を決定して適
切な補正作用を開始するように、(または、もしも補正
作用が不可能ならば、少なくともその例外の性質をオペ
レータに知らせるように)構成することができる。しか
しながら、これによりマイクロインストラクションのシ
ーケンスの長さが増大する傾向があり、したがって、機
械レベル命令の実行速度が遅くなる。
+瑯11F1の口紡針とハ曲園ル蘇補す入とμである。
発明の要約 本発明によれば、マイクロインストラクションのシーケ
ンスにより機械レベル命令を実行するためのマイクロプ
ログラム手段を有するデータ処理装置であって、迅速モ
ードを示す第1の状態と緩慢モードを示す第2の状態を
持つモード選択手段を有し、前記機械レベル命令の少な
くとも幾つかが、前記選択手段の状態にしたがって選択
される二者択一的な迅速及び緩慢マイクロプログラム・
シーケンスを持ち、前記迅速マイクロプログラム・シー
ケンスが例外条件を解決せずにこれらの例外条件を検出
するに有効であり、そして、前記緩慢マイクロプログラ
ム・シーケンスが例外条件の検出及び解決の両方に有効
であり、迅速シーケンスの期間に例外条件を検出した時
、現在の機械レベル命令が放棄されて再び始動され、そ
して、前記選択手段が前記第2の状態に設定され、この
選択手段が緩慢マイクロプログラム・シーケンスの実行
に続いて前記第1の状態にリセットされることを特徴と
するデータ処理装置が提供される。
したがって、本発明は迅速モード及び緩慢モードを有す
ることによって、上記の問題を回避することであるとい
うことがわかる。通常、機械レベル命令は迅速マイクロ
プログラム・シーケンスにより実行される。これらの迅
速マイクロプログラム・シーケンスは例外条件を解決す
る用件によっては拘束されないので、これらのシーケン
スは非常に短く、シたがって、非常に迅速になし得る。
例外条件が検出されると、問題の命令は、例外条件を解
決する対応の緩慢マイクロプログラム・シーケンスを用
いて再度試みられる。例外条件は一般的に比較的めった
に起るものではないので、このシーケンスの速度が遅い
ことはデータ処理装置の性能には重要な影響を及ぼさな
い。
迅速及び緩慢モードを持つ別の利点はこれら2つのモー
ドが一般的に、別々のハードウェアを用いて異なるルー
トで、要求された動作を実施するということである。し
たがって、ハードウェアの欠陥のために命令が迅速モー
ドを欠く場合、この命令は緩慢モードで実行するように
もできる。これによりシステムの融通性が増大される。
本発明による1つのデータ処理装置を次に添付図面に関
し例示的に説明する。
発明の詳細な説明 第1図を見ると、データ処理装置はアドレス装置(mi
ll )  1 G、従属記憶部11、シフタ12、局
部レジスタ13、主装置14及びチェック装置15を有
する複数の機能ユニットを備えている。
アドレス装置10は基本レジスタに対し変移値を加える
ようなアドレスを発生するための算術演算を行なう。
従属記憶部11は、データ処理装置により現在使用され
ているオペランド、命令、及びアドレスのコピーを保持
する迅速アクセス・バッハとして動作する。この従属記
憶部11はアドレス装置10の出力によってアドレスさ
′れる。もしも、要求されたデータが従属記憶部11に
存在しない場合、仮想上のアドレスであるアドレスはア
ドレス翻訳ユニットATU(16)によって翻訳されて
実際のアドレスが形成される。次に、この実際のアドレ
スは、所望のデータを従属記憶部内へ入れるように主記
憶部17に加えられる。もしも、ATUが翻訳に必要な
情報を保持していないためにアドレスの翻訳が失敗する
と、仮想上の記憶部割込みVSIと呼ばれる割込み信号
を発生することができ、これによ!+、ATUに記憶さ
れた情報を更新するための特別のプログラムが開始され
る。従属記憶部、主記憶部及びATUの組合せは公知で
あるのでこれ以上詳しくは記載しない。
シフタ12はオペランド及びアドレスのシフト動作を行
なうか、または、従属記憶部11と主装置14とチェッ
ク装置15との間のバッハとしてのみ動作することがで
きる。
局部レジスタ13はデータ処理装置の種々のレジスタの
内容の後援コピーを含む種々のデータ・アイテムを記憶
する。これらのデータ・アイテムは、命令の実行が放棄
された場合、首尾一貫性ある状態にデータ処理装置を復
旧させるために使用することができる。
主装置14はデータ処理装置のための主算術及び論理演
算を行ない、一方、チェック装置15は例外条件を検出
するために特定の動作チェックを行なうために使用され
る。例えば、チェック装置はアドレス装置からのアドレ
スが特定の限界より大きいか否かを試験するために使用
することができる。
アドレス装置、主装置、及びチェック装置は、データ処
理装置の主レジスタを含むレジスタ・ファイル18に対
するアクセスを共有すると共に、これらの主レジスタに
は、例えば、アキムレータ・レジスタACC,記述子し
ジスタDR1局部名称基礎レジスタLNB。
及びスタック・フロント・レジスタSFが含まれる。
データ処理装置の動作は、各々がマイクロインストラク
ションを記憶することができる1 6 K (= 16
384 )  の個々にアドレス可能な場所を持つマイ
クロプログラム記憶部20により制御される。その最初
の4にの場所は下方のマイクロプログラム記憶部21と
呼ばれ、そして、残りの場所は上方のマイクロプログラ
ム記憶部22と呼ばれる。下°方のマイクロプログラム
記憶部21の中の各々のマイクロインストラクションは
下方のマイクロプログラム記憶部延長部23と呼ばれる
領域に保持される延長部を有している。
データ処理装置の機械レベル命令はマイクロインストラ
クションのシーケンスにより実行される。各シーケンス
の最初のマイクロインストラクションは常に下方のマイ
クロプログラム記憶部21にあり、そして、その命令の
延長部は、通常上方のマイクロプログラム記憶部22に
存在するシーケンス内の第2のマイクロインストラクシ
ョンを示すジャンプ・アドレスXAを含んでいる。上方
のマイクロプログラム記憶部の中のマイクロインストラ
クションに対するアドレッシングは順次行なわれるもの
である。
マイクロプログラム記憶部のためのアドレスは、第2図
に関して以下にさらに詳しく記載するマイクロプログラ
ム順序付は論理回路24に発生される。
マイクロプログラム記憶部20から読み出された各セイ
クロインストラクションは、アドレス装置と従属記憶部
に対し制御信号AとVを直接提供する。マイクロインス
トラクションは、また、デコーダ25により復号化され
て、シフタ、局部レジスタ、主装置、及びチェック装置
のための制御信号S、R,M。
及び、Cを発生する。デコーダ25は、また、:二七・
ノボ鉗11#n潰8 v J−盾々の分岐しS5ス々を
設定するための種々の制御信号(図示せず)を発生する
。これらの状態レジスタの1つは迅速または緩慢動作モ
ードのいずれかを特定する、以下に記載される、モード
・ビットを含んでいる。
制御信号A、V、S等の各々は問題の機能ユニットの動
作を特定するために複数のビットを含んでいるというこ
とが理解されよう。
例えば、制御信号Mは次の制御分野からなる:(a) 
   主装置により実施される動作(加算、減算等)を
特定する機能制御分野。
(b)    主装置のためのオペランドのソースを特
定するオペランド選択分野。こ れらのソースは、例えば、レジスタ ・ファイル18、従属記憶部11の 出力、または、アドレス装置10の 出力にすることができる。
(c)    要求された場合、主装置により使用され
るレジスタ・ファイル18内の 場所を選択するレジスタ・フ、アイル ・アドレス。
ジャンプ制御信号Jは次の制御分野からなる: JCON :これは、ジャンプを実施するための基準と
して特定のビットを選択する ように条件論理回路26を制御する ジャンプ条件である。例えば、この ビットはチェック装置15からのキ ャリー・ビットであることができる ので、ジャンプは、もしもこのキャ リー出力が1に等しい場合にジャン プは行なわれる。条件論理回路26 は、選択された条件が満足される場 合に出力信号OBJMP  を発生し、ジャンプが行な
われるべきであること を示す。
JAI;)D :これはジャンプの目的地アドレスを特
定する。
JFN :  これはジャンプの形式、例えば、絶対ま
たは相対ジャンプを特定する。
絶対ジャンプ(JFN=1)は、ジ ャンプアドレスJADDが、ジャンプ の目的地の、マイクロプログラム記 憶部の、実際のアドレスであるとい うことを意味する。相対ジャンプ (JFN=O)は、JADDが、実際 のジャンプの目的地を発生するため に現在のマイクロプログラム・アド レスに加えられなければならないと いうことを示す。
ゼロ・アドレスを持つ相対ジャンプ(そうでなければ意
味がない)は特定のジャンプGFE(迅速誤シル−チン
にいく)の指定のために使用される。このジャンプの目
的は以下に記載する。
全体で、データ処理装置のための種々の制御信号を形成
する制御ビットは180個ある。
これらのビットは本出願人の現在係属中のヨーロッパ特
許出願筒85300459号に記載したような何らかの
適当な圧縮手段により32ビツトのマイクロインストラ
クション・フォーマットに圧縮される。結果として、1
80個の制御ビットの内の32個の制御ビットのみが単
一のマイクロインストラクションによって特定すること
ができ、残りのビットは所定のデフォルト値、例えば、
Oを与えられる。
したがって、与えられたマイクロインストラクションは
全ての機能ユニットのための制御信号を特定することは
できずに、それらの中の小さい組のための機能ユニット
の制御信号を特定する。ことができるだけである。特に
、長いジャンプ・アドレス・フィールドJADDはマイ
クロインストラクションの28ビツトを占め、そして、
このためマイクロインストラクションにより特定できる
他の制御信号の数が制限される。これとは対称的に上述
のGFEジャンプは、ジャンプ・アドレス及びジャンプ
機能符号がOであるので4ビツトだけを占める。
制御信号AとVは、直接、アドレス装置と従属記憶部に
加えられる。制御信号SとRは管路レジスタ27の中で
1クロツク・ビートだけ遅らされてシフタと局部レジス
タへ送られる。制御信号MとCは管路レジスタ27と2
8内で2クロツク・ビートだけ遅らされて主装置とチェ
ック装置に送られる。ジャンプ制御信号Jは3つの管路
レジスタ27.28.29を通るので、マイクロインス
トラクションの最初の復号化の後に有効な3つのビート
となる。
したがって、各マイクロインストラクションは取出され
て6段階の管路構造で且つ6クロツク・ビートで次のご
とく実行される。
段1: 次のマイクロインストラクションのアドレスは
マイクロプログラム順序 付は論理回路24により発生される。
段2: マイクロプログラム記憶部20はマイクロイン
ストラクションを読み出 すためにアクセスされる。
段3: 命令はデコーダ25で復号化される。
同時に、制御信号AとVは、アドレ ス装置に従属記憶部のための制御を 行なわせかつ設定させるようにアド レス装置と従属記憶部に加えられる。
段4: シフタと局部レジスタはこの段で動作して従属
記憶部は読取られる。
段5: 主装置とチェック装置はこの段で動作し、そし
て、従属記憶部への書込 みが行なわれる。
段6: ジャンプ制御はこの段で動作し、そして、レジ
スタ・ファイル18と局 部レジスタ13への書込みが実行さ れる。
各シーケンスの最終マイクロインストラクションは、ま
た前記レジスタの値がレジスタ記憶部に書込まれる第7
番目の段を通る。
連続のマイクロインストラクションの取出し及び実行は
、6個までのマイクロインストラクションが同時にデー
タ処理装置内で有効となるように管路の中で一部重複さ
れる。管路付きの処理装置は当業界で公知であるので管
路構造をこれ以上詳細に記載する必要はない。
第2図はマイクロプログラム順序付は回路241!e詳
細に示す。この論理回路は現在の機械レベル命令を保持
するインストラクション・バッファ30を有している。
この命令はデコーダ回路31により復号化されて下方の
マイクロプログラム記憶部21内の場所を示すマイクロ
プログラム開始アドレスを発生する。
このアドレスは2つの値(FASTと5LOW)を持つ
モード・レジスタ32からのMODEピットにより変見
られる。MODE=FASTO時、マイクロプログラム
開始アドレスの第3番目の最上位の桁のビットはOにさ
れるので、アドレスはマイクロプログラム記憶部の最初
の2に個の場所に存在する。MODE=SLOWの時、
その第3番目のビットは強制的にIKされるので、次に
、アドレスは次の2に個の場所の対応する1つを示す。
したがって、任意の与えられた機械レベル命令の場合、
2つの二者択一的な開始アドレスの内の1つが、MOD
Eビットの値にしたがって発生される。
マイクロプログラム順序付は論理回路は、また、割込み
が継続中ということを示す信号INTによって制御され
るマルチプレクサ33を有している。いかなる割込みも
継続していない場合、(INT=0)、マルチプレクサ
はデコーダ31から開始アドレスを選択する。もし割込
みが継続している場合は、マルチプレクサは割込み取扱
いルーチンの開始を示す一定のアドレスINTAを選択
する。
第2図に示すように、マイクロプログラム記憶部20は
マイクロプログラム・アドレス・レジスタ34からの1
4ビツトのアドレスMPAによりアドレスされる。各ク
ロック・35からの新しいアドレスで更新される。この
マルチプレクサは次の如く8個の入力θ〜7を有してい
る: 入力O:仮想上の記憶部の割込みを取扱うだめのシーケ
ンスの開始を示す一定の アドレスvSIA0 人力1:これは、絶対ジャンプの場合にはジャンプ・ア
ドレスJADDを選択す るマルチプレクサ36、または、相 対ジャンプの場合には加算器37の 出力からくる。加算器37は現在の マイクロプログラム・アドレスMP Aとジャンプ・アドレスJADDの 和を形成する。
入力2 は迅速誤りジャンプ(GFE)を取扱うための
シーケンスを示す一定の アドレスFASTERRである。
入力3と4 は本発明には関係するものではない。
ンをシーケンスで示すマルチプレク サ33からのマイクロプログラム開 始アドレスMPSAである。
入力6 は第2のマイクロインストラクションをシーケ
ンスで示す下方のマイク ロプログラム記憶部延長部からのジ ャンプ・アドレスXAである。
ジャン″プ7 はインクリメンタ回路38から得られて
、MPA+1に等しい。
マルチプレクサ35は、7つの入力0〜6(入力Oは最
高の優先順位である)を持つ優先順位エンコーダ回路3
9の出力により制御される。優先順位エンフーダ回路3
9の入力の1つがエネイブルされると、対応のマルチプ
レクサ35の入力が選択されるということがわかる。優
先順位エンコーダ回路39への1つより多くの入力がエ
ネイブルされると、よシ高い優先順位を持つもののみが
有効となる。どの入力もエネイブルされない場合は、優
先順位エンコーダ回路39はマルチプレクサ35の入カ
フを選択するデフォルト値7を発生する。
優先順位エンコーダ回路39への入力は次のとおりであ
る。
入力0   はATU16からの仮想上の記憶部割込み
信号VSIである。
入力1   は条件論理回路26からの行なわれたジャ
ンプ信号OB JMP である。
入力2   は迅速誤りジャンプ信号GFEである。
入力3と4 は本発明に関係はない。
入力5   はマイクロプログラムのシーケンスが終了
すると発生される信 号5TTSKでおって、次のシ ーケンスの開始アドレスが供給 されなければならないというこ とを示す。
入力6   はデコーダ40からくる信号LMPであっ
て、現在のマイクロ プログラム−アドレスMPAが 4により少ない、即ち、現在の マイクロインストラクションが 下方のマイクロプログラム記憶 部21に存在するということを 示す。
要約すると、マイクロプログラムのシーケンスが完了す
るときは、いつも、次のシーケンスの開始アドレスはM
PSAにより供給される。これは、現在の機械レベル命
令から得られる開始アドレスかまた九割込みアドレスI
NTAのいずれかである。いずれの場合にも、そのシー
ケンスの第2のマイクロインストラクションのアドレス
はXAによって下方のマイクロプログラム記憶部延長部
23から供給される。これは、通常は、上方のマイクロ
プログラム記憶部を示す。上方のマイクロプログラム記
憶部の中の続くマイクロインストラクションのためのア
ドレスはインクリメンタ38から与えられるので連続的
なものである。ジャンプ命令が守られると、次のマイク
ロインストラクションは、JADDによるか、または、
迅速誤シジャンプの場合には、FASTERRにより特
定されるアドレスにある。上記の可能性の全ては仮想上
の記憶部割込みにより無効にされる。
迅速及び緩慢シーケンス 以上において、一般的に、機械レベル命令はMODEビ
ットの状態によって2つの二者択一的なマイクロプログ
ラム会シーケンスの1つを開始するということが示され
た。緩慢モードで選択されたマイクロプログラムは、プ
ログラムの誤りまたは他の例外条件を検出して解決する
ための試験を含んでいる。迅速モードで選択されたマイ
クロプログラムは例外条件を検出するがそれらを解決す
るのではない。結果として、迅速マイクロプログラム・
シーケンスは緩慢マイクロプログラム啼シーケンスより
概してかなり短く、シたがって迅速である。
例えば、オペランドを読取ってそれに対しある操作を行
なうことに関する代表的な機械レベル命令を考える。第
3図は、この命令を実施するための緩慢マイクロプログ
ラム・シーケンスを示し、そして、第4図は対応する迅
速マイクロプログラム・シーケンスを示す。
これらの図では、時間は縦軸により表わされ、そして、
管路段は水平軸によって表わされる。
したがって、各マイクロインストラクションは左から右
へ向って下方に傾斜する傾斜列の箱により表わされる。
第3図から分るように、緩慢マイクロプログラム・シー
ケンスでは、最初のマイクロインストラクションはオペ
ランドのアドレスを計算するアドレス装置の動作、及び
そのアドレスを(例えば、それをスタック・フロント・
レジスタSFの内容と比較することにより)チェックす
るチェック装置の動作を特定する。
次のマイクロインストラクションは、アドレス・チェッ
クが欠けた場合に守られるべき絶対ジャンプ命令である
。第3のマイクロインストラクションは従属記憶部から
オペランドを読取ってそれを一時的なレジスタの中に記
憶する。第4のマイクロインストラクションは0である
。即ち、それは操作をしない。シーケンスの中の第5の
マイクロインストラクションは従属記憶部からシフタヘ
オペランドをバッファし、そして、主装置の中でオペラ
ンドに必要な処理を行なう。最終のマイクロインストラ
クションはもう1つの0である。
アドレス・チェックが欠ける場合シーケンス内の第2の
マイクロインストラクションにより、割込みパラメータ
を発生するシーケンス(図示せず)の他の部分へのジ、
ヤングが行なわれて、その誤りの正確な性質を特定する
次に、誤り取扱いルーチンは後で記載するように開始さ
れる。
このシーケンスでは、主装置動作は、(第2のマイクロ
インストラクションの最終段における)ジャンプの決定
の後の第2のクロック・ビートまでは開始されないとい
うことが分かる。これにより、ジャンプ命令が守られる
場合に、主装置動作、及び、従属記憶部動作から発生す
る任意の主記憶部の活動が生じるのを防止するための十
分な時間が与えられる。また、(破線により示される)
次のマイクロプログラム・シーケンスは、ジャンプの決
定が成された後まで開始することはできない。これらの
両手段は、誤り条件が検出された時に、この誤シ条件が
充分に解決し得るということを保証するため必要なもの
である。
次に第4図をみると、対応する迅速マイクロプログラム
−シーケンスは丁度2つのマイクロインストラクション
からなる。その最初のマイクロインストラクションは、
アドレス装置、主装置及びチェック装置の動作、及びま
た、迅速誤シジャンプGFEを特定する。
その第2のマイクロインストラクションはOであって、
データ処理装置の最小のシーケンスの長さが2ビートで
あるために設けられている。上述のように、迅速誤りジ
ャンプGFEは、それを特定するための多くのビットを
必要としないので、アドレス装置、従属記憶部、主装置
、及びチェック装置のための制御分野と同じマイクロイ
ンストラクションに含めることができる。
迅速マイクロプログラム・シーケンスは緩慢マイクロプ
ログラム・シーケンスよりも一層短く、シたがって、よ
シ迅速であるということが分かる。これらの両シーケン
スは特定のプログラム誤り条件(例えばスタック・フロ
ントよりも大きいアドレス)を検出することができる。
緩慢マイクロプログラム・シーケンスも、この誤りを、
この誤りの正確な特性を示すパラメータを形成する特定
のシーケンスへジャンプすることによって解決すること
ができる。これとは対照的に、迅速マイクロプログラム
・シーケンスが誤シを検出すると、それは、全ての例外
条件に共通な迅速誤りアドレスFASTERRヘジャン
プするだけである。したがって、マイクロプログラムが
このアドレスに到達した時、マイクロプログラムはいか
にしてそこに到達したかについては情報を有していす、
おそらく幾つかの例外条件の内のどれか任意のものの結
果としてそこに存在しえ得たのであろう。したがって、
迅速プログラム・シーケンスはその誤りを解決すること
はできないので、後述するように、命令を後退させて緩
慢マイクロプログラム・モードでそれを再び行なってみ
ることが必要である。
機械レベル命令のもう1つの例として、浮動点加算の場
合を考える。この命令を実行するための緩慢マイクロプ
ログラム・シーケンスにより・オペランドが取出されて
その規格化を確実にするためにそのオペランドはテスト
される。もしもオペランドが規格化されていない場合に
は、緩慢マイクロプログラム・シーケンスはそれらの規
格化のために必要なシフトを行なう。最後に、加算が行
なわれる。
最後に、加算が行なわれる。こうして、緩慢マイクロプ
ログラム・シーケンスは例外条件(未規格化オペランド
)を検出し、そしてまた(その規格化を行なうことによ
り)それを解決する。一方、迅速マイクロプログラム・
シーケンスにより、オペランドは取出されて試験されず
に並列に加算される。したがって、オペランドが規格化
されたかどうかはそのシーケンスの終りまで知られない
が、その時までに加算は既に行なわれている。これによ
り再び迅速誤シアドレスへのジャンプが行なわれ、そし
て、命令の実行は緩慢モードで再び試みられる。
動作 次に第5図を見ると、この図はマイクロプログラムの全
体構造を示すフローチャートである。最初、モード・ビ
ットがMOD E=FASTとなるように設定されると
仮定する。
各機械レベル命令の実行はボックス50で始まる。この
時まで継続の割込みが存在しない場合、これによ−り命
令の実行のための迅速マイクロプログラム・シーケンス
(ボックス51)が開始される。例外が存在しない場合
は、命令は非常に迅速に実行されて、マイクロプログラ
ムはボックス50、即ち、次の機械レベル命令の開始点
に帰る。
しかし、例外が検出されると、マイクロプログラムは迅
速誤りアドレスFASTERR(ボックス52)ヘジャ
ンプする。これにより割込みパラメータはOにセットさ
れ、誤シ取扱いルーチン(ボックス53)にジャンプが
行なわれる。誤り取扱いルーチンは、問題の機械命令の
開始時の状態にデータ処理装置を復旧させる後退ルーチ
ンである。例えば、このルーチンにより、命令の開始時
に局部レジスタ13に保存されていたコピーにより機械
レジスタは置換される。次に、その誤り取扱いルーチン
により、MODEビットは5LOWに設定されて遅延さ
れた割込み信号DINTが発生される。
次に、マイクロプログラムはボックス50へ帰る。ボッ
クス53で発生された割込み信号DINTは遅延された
割込みであったので、それはまだ効果的ではなく、シた
がって、マイクロプログラムは、対応する緩慢プログラ
ム・シーケンスを用いて、命令を再び実行し始める(ボ
ックス54)。
この緩慢マイクロプログラム・シーケンスハフログラム
の誤シを検出する。プログラムの誤シが検出されない場
合は、このシーケンスは命令を実行してボックス50へ
帰る。ボックス53で以前発生された遅延割込みDIN
Tは今度は有効であってマイクロプログラムを割込みル
ーチンへジャンプさせる(ボックス55)。その割込み
パラメータはOであるので、このルーチンは単にMOD
EビットをFASTに設定し直すだけでボックス50へ
帰る。次に動作は迅速モードで続行する。
一方、緩慢マイクロプログラム・シーケンス(ボックス
54)がプログラムの誤りを検出すると、このシーケン
スはその誤りの正確な種類を特定する割込みパラメータ
を発生して誤シル−チン(ボックス53)ヘジャンプす
る。前述のように、このルーチンは命令をその最初の状
態に後退させる。今度は、MODE=SLOWであるか
ら、このルーチンは非遅延割込み信号をINTを発生す
る。次、マイクロプログラムがボックス50へ帰ると、
割込みは有効であって割込みルーチン(ボックス55)
にジャンプを行なわせる。前述の様に、割込みルーチン
はMODEビットをFASTにリセットし直す。次に、
割込みルーチンは、(緩慢マイクロプログラム・シーケ
ンスにより発生された)割込みパラメータを調査してプ
ログラムの誤シを取扱う適切な操作を行なう。次に、マ
イクロプログラムは次の命令を始めるようにボックス5
0に帰る。
仮想上の記憶部割込み 上述のように、vSIによりマイクロプログラムはV8
Iシーケンスの開始点に直ちにジャンプさせられる(ボ
ックス56)。これより特定のVSIパラメータが生じ
て命令を後退させる誤シル−チン(ボックス53)にジ
ャンプが行なわれる。
MODE=FASTの場合は、誤りルーチンによりモー
ドは5LOWに設定され、そして、遅延された割込みD
INTが発生される。
次に、マイクロプログラムはボックス50に帰る。DI
NTはまだ有効ではないので、割込みは発生されず、マ
イクロプログラムは、対応する5LOWシーケンス(ボ
ックス54)を用いて、命令の実行を再び試みる。緩慢
マイクロプログラム・シーケンスがオペランドに再びア
クセスしようとしてボックス56にまたジャンプを行な
わせる時、この緩慢マイクロプログラム・シーケンスの
期間に再びVSlが発生する。
もう1度、vSIシーケンスはVSIパラメータを発生
して誤りルーチンにジャンプし、この誤りルーチンは、
再び命令を後退させる。
この時は、MODE=SLOWであるから、誤りルーチ
ンは非遅延割込みINTを発生する。したがって、マイ
クロプログラムがボックス50に帰る時、割込みは有効
であり、そして、割込みルーチン(ボックス55)にジ
ャンプが行なわれる。これによりモードはFASTにリ
セットされてこれがVSIであるということを発見する
ために割込みパラメータが調査される。したがって、割
込みルーチンは、ボックス50に帰る前に、vSI(即
ち、適切なアドレス翻訳情報をATUに格納すること)
を扱う適切な処置を行なう。
こうして、VSIがFASTモードで見られる時は、v
SIは無視されて命令は後退され、そして、vSIの取
扱いを試みる前に緩慢モードで再び試みられるというこ
とがわかる。これにより、迅速モードで発生されたVS
Iを取扱う場合の難点が回避される。
【図面の簡単な説明】
第1図は本データ処理装置のブロック図、第2図は本デ
ータ処理装置の一部を形成するマイクロプログラム順序
付は論理回路の図、第3図と第4図は緩慢マイクロプロ
グラム・シーケンスと対応する迅速マイクロプログラム
・シーケンスを示す図、 第5図はマイクロプログラムの動作を要約するフローチ
ャートである。 〔主要部分の符号の説明〕 アドレス装置・・・10、 従属記憶部・・・11、  シフタ・・・12、局部レ
ジスタ・・・13、主装置・・・14、チェック装置・
・・15、 アドレス翻訳ユニット・・・16、 主記憶部・・・17、 レジスタ・ファイル・・・1B、 マイクロプログラム記憶部・・・20、下方のマイクロ
プログラム記憶部・・・21、上方のマイクロプログラ
ム記憶部・・・22、下方のマイクロプログラム記憶部
延長部・・・23、マイクロプログラム順序付は論理回
路・・・24、デコーダ・・・25、 条件論理回路・
・・26、管路レジスタ・・・27.28.29、命令
バッハ・・・30、デコーダ回路・・・31、モード・
レジスタ・・・32、 マルチプレクサ・・・33、 マイクロプログラム・アドレス拳レジスタ・・・・・・
34、 マルチプレクサ・・・35.36、 加算器・・・37、 インクリメンタ回路・・・38、 優先順位エンコーダ回路・・・39、 デコーダ・・・4G。 Fで・1 L

Claims (1)

  1. 【特許請求の範囲】 1、マイクロインストラクションのシーケンスにより機
    械レベル命令を実行するための マイクロプログラム手段(20、24)を 有するデータ処理装置であつて、迅速モー ドを示す第1の状態と緩慢モードを示す第 2の状態を持つモード選択手段(32)を 有し、前記機械レベル命令の少なくとも幾 つかが、前記選択手段の状態にしたがつて 選択される二者択一的な迅速及び緩慢マイ クロプログラム・シーケンスを持ち、前記 迅速マイクロプログラム・シーケンスが例 外条件を解決せずにこれらの例外条件を検 出するに有効であり、そして、前記緩慢マ イクロプログラム・シーケンスが例外条件 の検出及び解決の両方に有効であり、迅速 シーケンスの期間に例外条件を検出した時、現在の機械
    レベル命令が放棄されて再び始 動され、そして、前記選択手段が前記第2 の状態に設定され、この選択手段が緩慢マ イクロプログラム・シーケンスの実行に続 いて前記第1の状態にリセットされること を特徴とするデータ処理装置。 2、特許請求の範囲第1項に記載のデータ処理装置にお
    いて、前記マイクロインストラ クションが圧縮された形で記憶され、そし て、本装置のための制御信号を発生させる ために各マイクロインストラクションの圧 縮状態を解除するためのデコーダ手段(25)が設けら
    れていることを特徴とするデータ 処理装置。 3、特許請求の範囲第1項または第2項に記載のデータ
    処理装置において、部分的に一 致する仕方で連続するマイクロインストラ クションを実行するための管路を形成する 複数の処理段階(10〜15)を有するこ とを特徴とするデータ処理装置。 4、特許請求の範囲第1項乃至第3項のいずれかに記載
    のデータ処理装置において、迅 速マイクロプログラム・シーケンスの期間 に例外条件を検出した時、前記マイクロプ ログラム手段(20、24)が、全ての例 外条件に対して同一であり所定のマイクロ プログラム・アドレス(FASTERR)にマイクロプ
    ログラムのジャンプを行なうこと を特徴とするデータ処理装置。 5、特許請求の範囲第4項に記載のデータ処理装置にお
    いて、前記所定のマイクロプロ グラム・アドレス(FASTERR)が、所定値に割込
    みパラメータを設定するマイクロ プログラム・シーケンスの開始を示し、そ して次に、現在の機械レベル命令の開始時 に、その状態に本装置を復旧させると共に その第2の状態に前記モード選択手段を設 定する復旧シーケンスを開始することを特 徴とするデータ処理装置。 6、特許請求の範囲第1項乃至第5項のいずれかに記載
    のデータ処理装置において、緩 慢マイクロプログラム・シーケンスの期間 に例外条件を検出した時、そのシーケンス が特定の例外条件に特有のマイクロプログ ラム・アドレスにマイクロプログラムのジ ャンプを開始することを特徴とするデータ 処理装置。 7、特許請求の範囲第1項乃至第6項のいずれかに記載
    のデータ処理装置において、マ イクロプログラム開始アドレスを発生する ために機械レベル命令を復号化するための 命令デコーダ(31)を有し、前記モード 選択手段(32)が、前記機械レベル命令 に関する前記迅速及び緩慢マイクロプログ ラム・シーケンスのためのマイクロプログ ラム開始アドレスに対応する2つの異なる 値の1つを発生するようにそのマイクロプ ログラム開始アドレスを変えるに有効であ ることを特徴とするデータ処理装置。 8、特許請求の範囲第7項に記載のデータ処理装置にお
    いて、前記マイクロプログラム ・シーケンスを記憶するマイクロプログラ ム記憶部(20)、この記憶部をアドレス するためのマイクロプログラム・アドレス ・レジスタ(34)、及び次のソース、す なわち、 (a)前記命令デコーダ(31)により発生される開始
    アドレス、 (b)前記マイクロプログラム・アドレス・レジスタの
    内容をインクリメントする加算 回路(38)の出力、及び、 (c)迅速マイクロプログラム・シーケンスの期間に発
    生する例外条件を取扱うための マイクロプログラム・シーケンスの開始を 示す所定のアドレス(FASTERR)の1つから前記
    マイクロプログラム・アドレス・ レジスタに格納される次のマイクロプログ ラム・アドレスを選択するためのマルチプ レクサ(35)を有していることを特徴と するデータ処理装置。
JP61061030A 1985-03-23 1986-03-20 データ処理装置 Expired - Lifetime JPH0658630B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8507610 1985-03-23
GB858507610A GB8507610D0 (en) 1985-03-23 1985-03-23 Data processing apparatus

Publications (2)

Publication Number Publication Date
JPS61221936A true JPS61221936A (ja) 1986-10-02
JPH0658630B2 JPH0658630B2 (ja) 1994-08-03

Family

ID=10576531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61061030A Expired - Lifetime JPH0658630B2 (ja) 1985-03-23 1986-03-20 データ処理装置

Country Status (7)

Country Link
US (1) US4736289A (ja)
EP (1) EP0196736B1 (ja)
JP (1) JPH0658630B2 (ja)
AU (1) AU577455B2 (ja)
DE (1) DE3682307D1 (ja)
GB (1) GB8507610D0 (ja)
ZA (1) ZA86575B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0344951A3 (en) * 1988-05-31 1991-09-18 Raytheon Company Method and apparatus for controlling execution speed of computer processor
JP2552738B2 (ja) * 1989-09-19 1996-11-13 富士通株式会社 データ処理装置
JPH03233630A (ja) * 1990-02-08 1991-10-17 Nec Corp 情報処理装置
US5132745A (en) * 1990-10-05 1992-07-21 General Electric Company Thin film transistor having an improved gate structure and gate coverage by the gate dielectric
US6209083B1 (en) * 1996-02-28 2001-03-27 Via-Cyrix, Inc. Processor having selectable exception handling modes
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US6681322B1 (en) * 1999-11-26 2004-01-20 Hewlett-Packard Development Company L.P. Method and apparatus for emulating an instruction set extension in a digital computer system
US6654875B1 (en) * 2000-05-17 2003-11-25 Unisys Corporation Dual microcode RAM address mode instruction execution using operation code RAM storing control words with alternate address indicator
WO2003029960A1 (en) * 2001-10-01 2003-04-10 Benjamin Cooper General purpose fixed instruction set (fis) bit-slice feedback processor unit/computer system
US7698597B2 (en) * 2006-02-28 2010-04-13 International Business Machines Corporation Method of isolating erroneous software program components
CN103168225B (zh) 2010-10-25 2015-11-25 阿库里赛托梅特斯公司 用于收集流式细胞仪中的数据集的系统和用户接口
US20120226890A1 (en) * 2011-02-24 2012-09-06 The University Of Tokyo Accelerator and data processing method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4179737A (en) * 1977-12-23 1979-12-18 Burroughs Corporation Means and methods for providing greater speed and flexibility of microinstruction sequencing
US4438492A (en) * 1980-08-01 1984-03-20 Advanced Micro Devices, Inc. Interruptable microprogram controller for microcomputer systems
US4571673A (en) * 1983-09-29 1986-02-18 Tandem Computers Incorporated Enhanced CPU microbranching architecture

Also Published As

Publication number Publication date
EP0196736A3 (en) 1989-08-23
AU577455B2 (en) 1988-09-22
AU5502086A (en) 1986-09-25
EP0196736B1 (en) 1991-11-06
JPH0658630B2 (ja) 1994-08-03
GB8507610D0 (en) 1985-05-01
ZA86575B (en) 1986-09-24
US4736289A (en) 1988-04-05
EP0196736A2 (en) 1986-10-08
DE3682307D1 (de) 1991-12-12

Similar Documents

Publication Publication Date Title
US4734852A (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
US3988719A (en) Microprogrammed data processing systems
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPS58219644A (ja) 命令実行方式
US4446517A (en) Microprogram memory with page addressing and address decode in memory
JPS61221936A (ja) データ処理装置
JPS63226732A (ja) シーケンサ回路
JPH0682320B2 (ja) データ処理装置
JPH031231A (ja) マイクロプログラム制御装置
JPH0192856A (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
JPH0192843A (ja) データ処理装置
AU1490888A (en) Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units
JP3507193B2 (ja) ロード・ストア命令処理装置
JPS5931733B2 (ja) 可変長さの命令を実行する中央処理装置
JP3157242B2 (ja) マイクロ・プログラム制御におけるエラー処理方法
CA1223079A (en) Data processor having selective breakpoint capability with minimal overhead
EP0110613B1 (en) Digital data processing system
JP3057732B2 (ja) 情報処理装置
EP0312183A2 (en) Digital data processing system
JPS6212545B2 (ja)
JPS58213349A (ja) 情報処理装置
JPS60193047A (ja) マイクロプログラムのロ−ドチエツク方式
JPS63123137A (ja) アドレス一致信号発生方式
JPS63150730A (ja) マイクロプログラムシステム
EP0309068A2 (en) Digital data processing system

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

EXPY Cancellation because of completion of term