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

データ処理装置

Info

Publication number
JPH0658630B2
JPH0658630B2 JP61061030A JP6103086A JPH0658630B2 JP H0658630 B2 JPH0658630 B2 JP H0658630B2 JP 61061030 A JP61061030 A JP 61061030A JP 6103086 A JP6103086 A JP 6103086A JP H0658630 B2 JPH0658630 B2 JP H0658630B2
Authority
JP
Japan
Prior art keywords
microprogram
sequence
data processing
address
slow
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
JP61061030A
Other languages
English (en)
Other versions
JPS61221936A (ja
Inventor
リチヤード イートン ジヨン
Original Assignee
インターナシヨナル コンピユーターズ リミテツド
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 インターナシヨナル コンピユーターズ リミテツド filed Critical インターナシヨナル コンピユーターズ リミテツド
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; 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/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; 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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

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)

Description

【発明の詳細な説明】 この発明はマイクロインストラクシヨンのシーケンスに
より機械レベル命令を実行するデータ処理装置に関す
る。
データ処理装置の動作期間中、特定の例外条件が、例え
ば、プログラムの誤りの結果として発生する可能性があ
る。例えば、ある命令は現在禁止されまたは利用できな
い記憶領域にアクセスしようとするかも知れない。マイ
クロプログラムは、これらの例外を検出してそれを解決
するように、即ち、その例外の正確な原因を決定して適
切な補正作用を開始するように、(または、もしも補正
作用が不可能ならば、少なくともその例外の性質をオペ
レータに知らせるように)構成することができる。しか
しながら、これによりマイクロインストラクシヨンのシ
ーケンスの長さが増大する傾向があり、したがつて、機
械レベル命令の実行速度が遅くなる。
本発明の目的はこの問題を軽減することである。
発明の要約 本発明によれば、マイクロインストラクシヨンのシーケ
ンスにより機械レベル命令を実行するためのマイクロプ
ログラム手段を有するデータ処理装置であつて、迅速モ
ードを示す第1の状態と緩慢モードを示す第2の状態を
持つモード選択手段を有し、前記機械レベル命令の少な
くとも幾つかが、前記選択手段の状態にしたがつて選択
される二者択一的な迅速及び緩慢マイクロプログラム・
シーケンスを持ち、前記迅速マイクロプログラム・シー
ケンスが例外条件を解決せずにこれらの例外条件を検出
するに有効であり、そして、前記緩慢マイクロプログラ
ム・シーケンスが例外条件の検出及び解決の両方に有効
であり、迅速シーケンスの期間に例外条件を検出した
時、現在の機械レベル命令が放棄されて再び始動され、
そして、前記選択手段が前記第2の状態に設定されこの
選択手段が緩慢マイクロプログラム・シーケンスの実行
に続いて前記第1の状態にリセツトされることを特徴と
するデータ処理装置が提供される。
したがつて、本発明は迅速モード及び緩慢モードを有す
ることによつて、上記の問題を回避することであるとい
うことがわかる。通常、機械レベル命令は迅速マイクロ
プログラム・シーケンスにより実行される。これらの迅
速マイクロプログラム・シーケンスは例外条件を解決す
る用件によつては拘束されないので、これらのシーケン
スは非常に短く、したがつて、非常に迅速になし得る。
例外条件が検出されると、問題の命令は、例外条件を解
決する対応の緩慢マイクロプログラム・シーケンスを用
いて再度試みられる。例外条件は一般的に比較的めつた
に起るものではないので、このシーケンスの速度が遅い
ことはデータ処理装置の性能には重要な影響を及ぼさな
い。
迅速及び緩慢モードを持つ別の利点はこれら2つのモー
ドが一般的に、別々のハードウエアを用いて異なるルー
トで、要求された動作で実施するということである。し
たがつて、ハードウエアの欠陥のために命令が迅速モー
ドを欠く場合、この命令は緩慢モードで実行するように
もできる。これによりシステムの融通性が増大される。
本発明による1つのデータ処理装置を次に添付図面に関
し例示的に説明する。
発明の実施例の説明 第1図を見ると、データ処理装置はアドレス装置(mil
l)10、従属記憶部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、記述子
レジスタDR、局部名称基礎レジスタLNB、及びスタ
ツク・フロント・レジスタSFが含まれる。
データ処理装置の動作は、各々がマイクロインストラク
シヨンを記憶することができる16K(=16384)の個
々にアドレス可能な場所を持つマイクロプログラム記憶
部20により制御される。その最初の4Kの場所は下方
のマイクロプログラム記憶部21と呼ばれ、そして、残
りの場所は上方のマイクロプログラム記憶部22と呼ば
れる。下方のマイクロプログラム記憶部21の中の各々
のマイクロインストラクシヨンは下方のマイクロプログ
ラム記憶部延長部23と呼ばれる領域に保持される延長
部を有している。
データ処理装置の機械レベル命令はマイクロインストラ
クシヨンのシーケンスにより実行される。各シーケンス
の最初のマイクロインストラクシヨンは常に下方のマイ
クロプログラム記憶部21にあり、そして、その命令の
延長部は、通常上方のマイクロプログラム記憶部22に
存在するシーケンス内の第2のマイクロインストラクシ
ヨンを示すジヤンプ・アドレスXAを含んでいる。上方
のマイクロプログラム記憶部の中のマイクロインストラ
クシヨンに対するアドレツシングは順次行なわれるもの
である。
マイクロプログラム記憶部のためのアドレスは、第2図
に関して以下にさらに詳しく記載するマイクロプログラ
ム順序付け論理回路24に発生される。
マイクロプログラム記憶部20から読み出された各マイ
クロインストラクシヨンは、アドレス装置と従属記憶部
に対し制御信号AとVを直接提供する。マイクロインス
トラクシヨンは、また、デコーダ25により復号化され
て、シフタ、局部レジスタ、主装置、及びチエツク装置
のための制御信号S、R、M、及び、Cを発生する。デ
コーダ25は、また、ジヤンプ制御信号Jと、種々の状
態レジスタを設定するための種々の制御信号(図示せ
ず)を発生する。これらの状態レジスタの1つは迅速ま
たは緩慢動作モードのいずれかを特定する、以下に記載
される、モード・ビツトを含んでいる。
制御信号A、V、S等の各々は問題の機能ユニツトの動
作を特定するために複数のビツトを含んでいるというこ
とが理解されよう。例えば、制御信号Mは次の制御フィ
ールドからなる: (a) 主装置により実施される動作(加算、減算等)を
特定する機能制御分野。
(b) 主装置のためのオペランドのソースを特定するオ
ペランド選択分野。これらのソースは、例えば、レジス
タ・フアイル18、従属記憶部11の出力、または、ア
ドレス装置10の出力にすることができる。
(c) 要求された場合、主装置により使用されるレジス
タ・フアイル18内の場所を選択するレジスタ・フアイ
ル・アドレス。
ジヤンプ制御信号Jは次の制御分野からなる: JCON:これは、ジヤンプを実施するための基準として特
定のビツトを選択するように条件論理回路26を制御す
るジヤンプ条件である。例えば、このビツトはチエツク
装置15からのキヤリー・ビツトであることができるの
で、ジヤンプは、もしもこのキヤリー出力が1に等しい
場合にジヤンプは行なわれる。条件論理回路26は、選
択された条件が満足される場合に出力信号OBJMPを発生
し、ジヤンプが行なわれるべきであることを示す。
JADD:これはジヤンプの目的地アドレスを特定する。
JFN:これはジヤンプの形式、例えば、絶対または相対
ジヤンプを特定する。絶対ジヤンプ(JFN=1)は、
ジヤンプアドレスJADDが、ジヤンプの目的地の、マ
イクロプログラム記憶部の、実際のアドレスであるとい
うことを意味する。相対ジヤンプ(JFN=0)は、J
ADDが、実際のジヤンプの目的地を発生するために現
在のマイクロプログラム・アドレスに加えられなければ
ならないということを示す。
ゼロ・アドレスを持つ相対ジヤンプ(そうでなければ意
味がない)は特定のジヤンプGFE(迅速誤りルーチン
にいく)の指定のために使用される。このジヤンプの目
的は以下に記載する。
全体で、データ処理装置のための種々の制御信号を形成
する制御ビツトは180個ある。これらのビツトは本出
願人の現在係属中のヨーロツパ特許出願第85 30
0459号に記載したような何らかの適当な圧縮手段に
より32ビツトのマイクロインストラクシヨン・フオー
マツトに圧縮される。結果として、180個の制御ビツ
トの内の32個の制御ビツトのみが単一のマイクロイン
ストラクシヨンによつて特定することができ、残りのビ
ツトは所定のデフオルト値、例えば、0を与えられる。
したがつて、与えられたマイクロインストラクシヨンは
全ての機能ユニツトのための制御信号を特定することは
できずに、それらの中の小さい組のための機能ユニツト
の制御信号を特定することができるだけである。特に、
長いジヤンプ・アドレス・フイールドJADDはマイク
ロインストラクシヨンの28ビツトを占め、そして、こ
のためマイクロインストラクシヨンにより特定できる他
の制御信号の数が制限される。これとは対称的に上述の
GFEジヤンプは、ジヤンプ・アドレス及びジヤンプ機
能符号が0であるので4ビツトだけを占める。
パイプライン動作 制御信号AとVは、直接、アドレス装置と従属記憶部に
加えられる。制御信号SとRはパイプラインレジスタ2
7の中で1クロツク・ビートだけ遅らせてシフタと局部
レジスタへ送られる。制御信号MとCはパイプラインレ
ジスタ27と28内で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図はマイクロプログラム順序付け回路24を詳細に
示す。この論理回路は現在の機械レベル命令を保持する
インストラクシヨン・バツフア30を有している。この
命令はデコーダ回路31により復号化されて下方のマイ
クロプログラム記憶部21内の場所を示すマイクロプロ
グラム開始アドレスを発生する。このアドレスは2つの
値(FASTとSLOW)を持つモード・レジスタ32
からのMODEビツトにより変えられる。MODE=F
ASTの時、マイクロプログラム開始アドレスの第3番
目の最上位の桁のビツトは0にされるので、アドレスは
マイクロプログラム記憶部の最初の2K個の場所に存在
する。MODE=SLOWの時、その第3番目のビツト
は強制的に1にされるので、次に、アドレスは次の2K
個の場所の対応する1つを示す。したがつて、任意の与
えられた機械レベル命令の場合、2つの二者択一的な開
始アドレスの内の1つが、MODEビツトの値にしたが
つて発生される。
マイクロプログラム順序付け論理回路は、また、割込み
が継続中ということを示す信号INTによつて制御され
るマルチプレクサ33を有している。いかなる割込みも
継続していない場合(INT=0)、マルチプレクサは
デコーダ31から開始アドレスを選択する。もし割込み
が継続している場合は、マルチプレクサは割込み取扱い
ルーチンの開始を示す一定のアドレスINTAを選択す
る。
第2図に示すように、マイクロプログラム記憶部20は
マイクロプログラム・アドレス・レジスタ34からの1
4ビツトのアドレスMPAによりアドレスされる。各ク
ロツク・ビート毎にこのレジスタはマルチプレクサ35
からの新しいアドレスで更新される。このマルチプレク
サは次の如く8個の入力0〜7を有している: 入力0:仮想上の記憶部の割込みを取扱うためのシーケ
ンスの開始を示す一定のアドレスVSIA。
入力1:これは、絶対ジヤンプの場合にはジヤンプ・ア
ドレスJADDを選択するマルチプレクサ36、また
は、相対ジヤンプの場合には加算器37の出力からく
る。加算器37は現在のマイクロプログラム・アドレス
MPAとジヤンプ・アドレスJADDの和を形成する。
入力2 は迅速誤りジヤンプ(GFE)を取扱うための
シーケンスを示す一定のアドレスFASTERRであ
る。
入力3と4 は本発明には関係するものではない。
入力5 は最初のマイクロインストラクシヨンをシーケ
ンスで示すマルチプレクサ33からのマイクロプログラ
ム開始アドレスMPSAである。
入力6 は第2のマイクロインストラクシヨンをシーケ
ンスで示す下方のマイクロプログラム記憶部延長部から
のジヤンプ・アドレスXAである。
ジヤンプ7 はインクリメンタ回路38から得られて、
MPA+1に等しい。
マルチプレクサ35は、7つの入力0〜6(入力0は最
高の優先順位である)を持つ優先順位エンコーダ回路3
9の出力により制御される。優先順位エンコーダ回路3
9の入力の1つがエネイブルされると、対応のマルチプ
レクサ35の入力が選択されるということがわかる。優
先順位エンコーダ回路39への1つより多くの入力がエ
ネイブルされると、より高い優先順位を持つもののみが
有効となる。どの入力もエネイブルされない場合は、優
先順位エンコーダ回路39はマルチプレクサ35の入力
7を選択するデフオルト値7を発生する。
優先順位エンコーダ回路39への入力は次のとおりであ
る。
入力0 はAUT16からの仮想上の記憶部割込み信号
VSIである。
入力1 は条件論理回路26からのジヤンプ信号OBJ
MPである。
入力2 は迅速誤りジヤンプ信号GFEである。
入力3と4 は本発明に関係ない。
入力5 はマイクロプログラムのシーケンスが終了する
と発生される信号STTSKであつて、次のシーケンス
の開始アドレスが供給されなければならないということ
を示す。
入力6 はデコーダ40からくる信号LMPであつて、
現在のマイクロプログラム・アドレスMPAが4Kより
少ない、即ち、現在のマイクロインストラクシヨンが下
方のマイクロプログラム記録部21に存在するというこ
とを示す。
要約すると、マイクロプログラムのシーケンスが完了す
るときは、いつも、次のシーケンスの開始アドレスはM
PSAにより供給される。これは、現在の機械レベル命
令から得られる開始アドレスかまたた割込みアドレスI
NTAのいずれかである。いずれの場合にも、そのシー
ケンスの第2のマイクロインストラクシヨンのアドレス
はXAによつて下方のマイクロプログラム記憶部延長部
23から供給される。
このアドレス(XA)は、通常は、上方のマイクロプロ
グラム記憶部22内にある、そのシーケンスの第2の
(即ち次の)マイクロ命令を示している。上方のマイク
ロプログラム記憶部の中の続くマイクロインストラクシ
ヨンのためのアドレスはインクリメンタ38から与えら
れるので連続的なものである。ジヤンプ命令が守られる
と、次のマイクロインストラクシヨンは、JADDによ
るか、または、迅速誤りジヤンプの場合には、FAST
ERRにより特定されるアドレスにある。上記の可能性
の全ては仮想上の記憶部割込みにより無効にされる。
迅速及び緩慢シーケンス 以上において、一般的に、機械レベル命令はMODEビ
ツトの状態によつて2つの二者択一的なマイクロプログ
ラム・シーケンスの1つを開始するということが示され
た。緩慢モードで選択されたマイクロプログラムは、プ
ログラムの誤りまたは他の例外条件を検出して解決する
ための試験を含んでいる。迅速モードで選択されたマイ
クロプログラムは例外条件を検出するがそれらを解決す
るのではない。結果として、迅速マイクロプログラム・
シーケンスは緩慢マイクロプログラム・シーケンスより
概してかなり短く、したがつて迅速である。
例えば、オペランドを読取つてそれに対しある操作を行
なうことに関する代表的な機械レベル命令を考える。第
3図は、この命令を実施するための緩慢マイクロプログ
ラム・シーケンスを示し、そして、第4図は対応する迅
速マイクロプログラム・シーケンスを示す。これらの図
では、時間は縦軸により表わされ、そして、パイプライ
ン段は水平軸によつて表わされる。したがつて、各マイ
クロインストラクシヨンは左から右へ向つて下方に傾斜
する傾斜列の箱により表わされる。
第3図から分かるように、緩慢マイクロプログラム・シ
ーケンスでは、最初のマイクロインストラクシヨンはオ
ペランドのアドレスを計算するアドレス装置の動作、及
びそのアドレスを(例えば、それをスタツク・フロント
・レジスタSFの内容と比較することにより)チエツク
するチエツク装置の動作を特定する。次のマイクロイン
ストラクシヨンは、アドレス・チエツクが欠けた場合に
守られるべき絶対ジヤンプ命令である。第3のマイクロ
インストラクシヨンは従属記憶部からオペランドを読取
つてそれを一時的なレジスタの中に記憶する。第4のマ
イクロインストラクシヨンは0である。即ち、それは操
作をしない。シーケンスの中の第5のマイクロインスト
ラクシヨンは従属記憶部からシフタへオペランドをバツ
フアし、そして、主装置の中でオペランドに必要な処理
を行なう。最終のマイクロインストラクシヨンはもう1
つの0である。アドレス・チエツクが欠ける場合シーケ
ンス内の第2のマイクロインストラクシヨンにより、割
込みパラメータを発生するシーケンス(図示せず)の他
の部分へのジヤンプが行なわれて、その誤りの正確な性
質を特定する。次に、誤り取扱いルーチンは後に記載す
るように開始される。
このシーケンスでは、主装置動作は、(第2のマイクロ
インストラクシヨンの最終段における)ジヤンプの決定
の後の第2のクロツク・ビートまでは開始されないとい
うことが分かる。これにより、ジヤンプ命令が守られる
場合に、主装置動作、及び、従属記憶部動作から発生す
る任意の主記憶部の活動が生じるのを防止するための十
分な時間が与えられる。また、(破線により示される)
次のマイクロプログラム・シーケンスは、ジヤンプの決
定が成された後まで開始することはできない。これらの
両手段は、誤り条件が検出された時に、この誤り条件が
充分に解決し得るということを保証するために必要なも
のである。
次に第4図をみると、対応する迅速マイクロプログラム
・シーケンスは丁度2つのマイクロインストラクシヨン
からなる。その最初のマイクロインストラクシヨンは、
アドレス装置、主装置及びチエツク装置の動作、及びま
た、迅速誤りジヤンプGFEを特定する。その第2のマ
イクロインストラクシヨンは0であつて、データ処理装
置の最小のシーケンスの長さが2ビートであるために設
けられている。上述のように、迅速誤りジヤンプGFE
は、それを特定するための多くのビツトを必要としない
ので、アドレス装置、従属記憶部、主装置、及びチエツ
ク装置のための制御分野と同じマイクロインストラクシ
ヨンに含めることができる。
迅速マイクロプログラム・シーケンスは緩慢マイクロプ
ログラム・シーケンスよりも一層短く、したがつて、よ
り迅速であるということが分かる。これらの両シーケン
スは特定のプログラム誤り条件(例えばスタツク・フロ
ントよりも大きいアドレス)を検出することができる。
緩慢マイクロプログラム・シーケンスも、この誤りを、
この誤りの正確な特性を示すパラメータを形成する特定
のシーケンスへジヤンプすることによつて解決すること
ができる。これとは対照的に、迅速マイクロプログラム
・シーケンスが誤りを検出すると、それは、全ての例外
条件に共通な迅速誤りアドレスFASTERRへジヤン
プするだけである。したがつて、マイクロプログラムが
このアドレスに到達した時、マイクロプログラムはいか
にしてそこに到達したかについては情報を有していず、
おそらく幾つかの例外条件の内のどれか任意のものの結
果としてそこに存在しえ得たのであろう。したがつて、
迅速プログラム・シーケンスはその誤りを解決すること
はできないので、後述するように、命令をロールバツク
させて緩慢マイクロプログラム・モードでそれを再び行
なつてみることが必要である。
機械レベル命令のもう1つの例として、浮動点加算の場
合を考える。この命令を実行するための緩慢マイクロプ
ログラム・シーケンスによりオペランドが取出されてそ
の規格化を確実にするためにそのオペランドはテストさ
れる。もしもオペランドが規格化されていない場合に
は、緩慢マイクロプログラム・シーケンスはそれらの規
格化のために必要なシフトを行なう。最後に、加算が行
なわれる。最後に、加算が行なわれる。こうして、緩慢
マイクロプログラム・シーケンスは例外条件(未規格化
オペランド)を検出し、そしてまた(その規格化を行な
うことにより)それを解決する。一方、迅速マイクロプ
ログラム・シーケンスにより、オペランドは取出されて
試験されずに並列に加算される。したがつて、オペラン
ドが規格化されたかどうかはそのシーケンスの終りまで
知られないが、その時までに加算は既に行なわれてい
る。これにより再び迅速誤りアドレスへのジヤンプが行
なわれ、そして、命令の実行は緩慢モードで再びみ試み
られる。
動作 次に第5図を見ると、この図はマイクロプログラムの全
体構造を示すフローチヤートである。最初、モード・ビ
ツトがMODE=FASTとなるように設定されると仮
定する。
各機械レベル命令の実行はボツクス50で始まる。この
時まで継続している割込みが存在しない場合、これによ
り命令の実行のための迅速マイクロプログラム・シーケ
ンス(ボツクス51)が開始される。例外が存在しない
場合は、命令は非常に迅速に実行されて、マイクロプロ
グラムはボツクス50、即ち、次の機械レベル命令の開
始点に帰る。
しかし、例外が検出されると、マイクロプログラムは迅
速誤りアドレスFASTERR(ボツクス52)へジヤ
ンプする。これにより割込みパラメータは0にセツトさ
れ、誤り取扱いルーチン(ボツクス53)にジヤンプが
行なわれる。誤り取扱いルーチンは、問題の機械命令の
開始時の状態にデータ処理装置を復旧させるロールバツ
クルーチンである。例えば、このルーチンにより、命令
の開始時に局部レジスタ13に保存されていたコピーに
より装置のレジスタの内容は置換される。次に、その誤
り取扱いルーチンにより、MODEビツトはSLOWに
設定されて遅延された割込み信号DINTが発生され
る。
次に、マイクロプログラム手段はボツクス50へ帰る。
ボツクス53で発生された割込み信号DINTは遅延さ
れた割込みであつたので、それはまだ効果的でなく、し
たがつて、マイクロプログラムは、対応する緩慢プログ
ラム・シーケンスを用いて、命令を再び実行し始める
(ボツクス54)。
この緩慢マイクロプログラム・シーケンスはプログラム
の誤りを検出する。プログラムの誤りが検出されない場
合は、このシーケンスは命令を実行してボツクス50へ
帰る。ボツクス53で以前発生された遅延割込みDIN
Tは今度は有効であつてマイクロプログラムを割込みル
ーチンへジヤンプさせる(ボツクス55)。その割込み
パラメータは0であるので、このルーチンは単にMOD
EビツトをFASTに設定し直すだけでボツクス50へ
帰る。次に動作は迅速モードで続行する。
一方、緩慢マイクロプログラム・シーケンス(ボツクス
54)がプログラムの誤りを検出すると、このシーケン
スはその誤りの正確な種類を特定する割込みパラメータ
を発生して誤りルーチン(ボツクス53)へジヤンプす
る。前述のように、このルーチンは命令をその最初の状
態に後退させる。今度は、MODE=SLOWであるか
ら、このルーチンは非遅延割込み信号をINTを発生す
る。次、マイクロプログラムがボツクス50へ帰ると、
割込みは有効であつて割込みルーチン(ボツクス55)
にジヤンプを行なわせる。前述の様に、割込みルーチン
はMODEビツトをFASTにリセツトし直す。次に、
割込みルーチンは、(緩慢マイクロプログラム・シーケ
ンスにより発生された)割込みパラメータを調査してプ
ログラムの誤りを取扱う適切な操作を行なう。次に、マ
イクロプログラムは次の命令を始めるようにボツクス5
0に帰る。
仮想上の記憶部割込み 上述のように、VSIによりマイクロプログラムはVS
Iシーケンスの開始点に直ちにジヤンプさせられる(ボ
ツクス56)。これより特定のVSIパラメータが生じ
て命令を後退させる誤りルーチン(ボツクス53)にジ
ヤンプが行なわれる。
MODE=FASTの場合は、誤りルーチンによりモー
ドはSLOWに設定され、そして、遅延された割込みD
INTが発生される。次に、マイクロプログラムはボツ
クス50に帰る。DINTはまだ有効ではないので、割
込みは発生されず、マイクロプログラムは、対応するS
LOWシーケン(ボツクス54)を用いて、命令の実行
を再び試みる。緩慢マイクロプログラム・シーケンスが
オペランドに再びアクセスしようとしてボツクス56に
またジヤンプを行なわせる時、この緩慢マイクロプログ
ラム・シーケンスの期間に再びVSIが発生する。
もう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、 レジスタ・フアイル……18、 マイクロプログラム記憶部……20、 下方のマイクロプログラム記録部……21、 上方のマイクロプログラム記憶部……22、 下方のマイクロプログラム記憶部延長部……23、 マイクロプログラム順序付け論理回路……24、 デコーダ……25、条件論理回路……26、 パイプラインレジスタ……27、28、29、 命令バツフア……30、デコーダ回路……31、 モード・レジスタ……32、 マルチプレクサ……33、 マイクロプログラム・アドレス・レジスタ……34、 マルチプレクサ……35、36、 加算器……37、 インクリメンタ回路……38、 優先順位エンコーダ回路……39、 デコーダ……40。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】マイクロインストラクションのシーケンス
    により機械レベル命令を実行するためのマイクロプログ
    ラム手段(20,24)を有するデータ処理装置であっ
    て、迅速モードを示す第1の状態と緩慢モードを示す第
    2の状態を持つモード選択手段(32)を有し、前記機
    械レベル命令の少なくとも幾つかが、前記選択手段の状
    態にしたがって選択される二者択一的な迅速及び緩慢マ
    イクロプログラム・シーケンスを持ち、前記迅速マイク
    ロプログラム・シーケンスが例外条件を解決せずにこれ
    らの例外条件を検出するに有効であり、そして、前記緩
    慢マイクロプログラム・シーケンスが例外条件の検出及
    び解決の両方に有効であり、迅速シーケンスの期間に例
    外条件を検出した時、現在の機械レベル命令が放棄され
    て再び始動され、そして、前記選択手段が前記第2の状
    態に設定され、この選択手段が緩慢マイクロプログラム
    ・シーケンスの実行に続いて前記第1の状態にリセット
    されることを特徴とするデータ処理装置。
  2. 【請求項2】特許請求の範囲第1項に記載のデータ処理
    装置において、前記マイクロインストラクションが圧縮
    された形で記憶され、そして、本装置のための制御信号
    を発生させるために各マイクロインストラクションの圧
    縮状態を解除するためのデコーダ手段(25)が設けら
    れていることを特徴とするデータ処理装置。
  3. 【請求項3】特許請求の範囲第1項または第2項に記載
    のデータ処理装置において、部分的に一致する仕方で連
    続するマイクロインストラクションを実行するためのパ
    イプラインを形成する複数の処理段階(10〜15)を
    有することを特徴とするデータ処理装置。
  4. 【請求項4】特許請求の範囲第1項乃至第3項のいずれ
    かに記載のデータ処理装置において、迅速マイクロプロ
    グラム・シーケンスの期間に例外条件を検出した時、前
    記マイクロプログラム手段(20,24)が、全ての例
    外条件に対して同一であり所定のマイクロプログラム・
    アドレス(FASTERR)にマイクロプログラムのジャンプ
    を行うことを特徴とするデータ処理装置。
  5. 【請求項5】特許請求の範囲第4項に記載のデータ処理
    装置において、前記所定のマイクロプログラム・アドレ
    ス(FASTERR)が、所定値に割込みパラメータを設定す
    るマイクロプログラム・シーケンスの開始を示し、そし
    て次に、現在の機械レベル命令の開始時に、その状態に
    本装置を復旧させるとともにその第2の状態に前記モー
    ド選択手段を設定する復旧シーケンスを開始することを
    特徴とするデータ処理装置。
  6. 【請求項6】特許請求の範囲第1項乃至第5項のいずれ
    かに記載のデータ処理装置において、緩慢マイクロプロ
    グラム・シーケンスの期間に例外条件を検出した時、そ
    のシーケンスが特定の例外条件に特有のマイクロプログ
    ラム・アドレスにマイクロプログラムのジャンプを開始
    することを特徴とするデータ処理装置。
  7. 【請求項7】特許請求の範囲第1項乃至第6項のいずれ
    かに記載のデータ処理装置において、マイクロプログラ
    ム開始アドレスを発生するために機械レベル命令を復号
    化するための命令デコーダ(31)を有し、前記モード
    選択手段(32)が、前記機械レベル命令に関する前記
    迅速及び緩慢マイクロプログラム・シーケンスのための
    マイクロプログラム開始アドレスに対応する2つの異な
    る値の1つを発生するようにそのマイクロプログラム開
    始アドレスを変えるに有効であることを特徴とするデー
    タ処理装置。
  8. 【請求項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 JPS61221936A (ja) 1986-10-02
JPH0658630B2 true 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
JPS61221936A (ja) 1986-10-02
AU577455B2 (en) 1988-09-22
EP0196736A2 (en) 1986-10-08
EP0196736B1 (en) 1991-11-06
US4736289A (en) 1988-04-05
ZA86575B (en) 1986-09-24
DE3682307D1 (de) 1991-12-12
AU5502086A (en) 1986-09-25
GB8507610D0 (en) 1985-05-01
EP0196736A3 (en) 1989-08-23

Similar Documents

Publication Publication Date Title
US4635193A (en) Data processor having selective breakpoint capability with minimal overhead
JP2539199B2 (ja) デジタルプロセッサ制御装置
US4524415A (en) Virtual machine data processor
US6564314B1 (en) Computer instruction compression
US5073855A (en) Resource conflict detection method and apparatus included in a pipelined processing unit
JP2846406B2 (ja) 分岐処理方法及び分岐処理装置
EP0128156B1 (en) Data processor version validation
US4488228A (en) Virtual memory data processor
EP0405495B1 (en) Instruction unit logic management apparatus included in a pipelined processing unit and method therefor
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPH03116236A (ja) 例外処理方法及び例外処理装置
JPH02234229A (ja) ソース・リスト、ポインタ・キューおよび結果キュー
JPH0578050B2 (ja)
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPH0658630B2 (ja) データ処理装置
US4559596A (en) History memory control system
US4742449A (en) Microsequencer for a data processing system using a unique trap handling technique
JPH031231A (ja) マイクロプログラム制御装置
EP0201848A2 (en) Information processing system with enhanced instruction execution and support control
CA1223079A (en) Data processor having selective breakpoint capability with minimal overhead
JP2570846B2 (ja) 先取り制御ユニット
JPS60193047A (ja) マイクロプログラムのロ−ドチエツク方式
JPH1055289A (ja) デバッグ情報生成回路、およびそれを用いた情報処理装置
JPH0464093B2 (ja)
JPS61213938A (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

EXPY Cancellation because of completion of term