JPS59502159A - 仮想マシンデ−タプロセツサ - Google Patents
仮想マシンデ−タプロセツサInfo
- Publication number
- JPS59502159A JPS59502159A JP83503566A JP50356684A JPS59502159A JP S59502159 A JPS59502159 A JP S59502159A JP 83503566 A JP83503566 A JP 83503566A JP 50356684 A JP50356684 A JP 50356684A JP S59502159 A JPS59502159 A JP S59502159A
- Authority
- JP
- Japan
- Prior art keywords
- access
- data processor
- instruction
- error
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 6
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 235000015115 caffè latte Nutrition 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013519 translation Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 3
- 235000013405 beer Nutrition 0.000 description 3
- LMDZBCPBFSXMTL-UHFFFAOYSA-N 1-ethyl-3-(3-dimethylaminopropyl)carbodiimide Chemical compound CCN=C=NCCCN(C)C LMDZBCPBFSXMTL-UHFFFAOYSA-N 0.000 description 2
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 210000002784 stomach Anatomy 0.000 description 2
- 241001455214 Acinonyx jubatus Species 0.000 description 1
- 241000239290 Araneae Species 0.000 description 1
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241000282693 Cercopithecidae Species 0.000 description 1
- 101000836337 Homo sapiens Probable helicase senataxin Proteins 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 102100027178 Probable helicase senataxin Human genes 0.000 description 1
- 241000700159 Rattus Species 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 235000021162 brunch Nutrition 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 201000003740 cowpox Diseases 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 210000003608 fece Anatomy 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000010871 livestock manure Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000008775 paternal effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- IMRYETFJNLKUHK-UHFFFAOYSA-N traseolide Chemical compound CC1=C(C(C)=O)C=C2C(C(C)C)C(C)C(C)(C)C2=C1 IMRYETFJNLKUHK-UHFFFAOYSA-N 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F9/3863—Recovery, 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)
- Retry When Errors Occur (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
仮想マシンデータプロセッサ
技術的分野
不発88は、データプロセッサに関するものであシ2%に仮想マシン環境を支援
するデータプロセッサに関する。
背景孜術
テジタルデータ処理システムは典型的な場合には特徴的な論理アドレス空間を有
するデータプロセッサ、物理アドレス空間内で直接にアクセスできる限られた容
量の一部メモリ、1つ又は複数の周辺制御装置の援助がある場合にのみアクセス
できるはるかに大きい容量の二次メモリ、および多数の通例の入力/出力デバイ
スのうちの任意のテバイスを含む。特に大きな論理アドレス空間を有するデータ
プロセッサを含むシステムにおいては、ユーザは彼の応用例がきわめてタイム・
クリティカル(timtcritical) であるので同等量の比較的高価な
一部メモリを備えることが正当化されるという決定を下してもよい。
しかし、ユーザはそれよシもしばしばはるかに大きな容量の比較的安価な二次メ
モリを備えるためにこれらの資データのスワツピング部分がプロセッサによって
必要とされた場合にそれらの部分に伴う時間的不才1」を受け入れる。一般に、
スワツピング動作の効率は才能のあるプログラマがアプリケーションプログラム
を一連の相互に関係はめるかある程度自律的なオーバレイに賢明に区分化するこ
とにかかつている。そのような経験のあるプログラマを発見又は開発するという
問題をある程度解決し大きな区分化されたプロ、ダラムを完成させるのに不米か
かる費用をめる程度少なくするために、各アプリケーションプログラムが対応す
る物理アドレス空間か現在プ〒、ダラムに割当てられているか又は−次メモリに
実際に存在するかに関係なくプロセッサの全馳理アドレス空間に直接的アクセス
を有ずするようにみぜかけることができるスーパバイザプログラムが開発された
。そのような1仮想メモリ”スーパバイサブログラムは典型的にはプログラムに
割当てられた物理アドレス空間の部分の境界の外側で現在実行しつつあるプログ
ラムによってアクセスを検出するため連想メモリマツビングツ・−ドウエアに依
存する。そのような1誤り (faults) ”に応答して、プロセッサ′仮
想”アラセスを認識し、もし適当な場合には必要とされるプログラムコード/デ
ータを二次メモリから一部メモリにロードするスーパバイサブログラムの誤シ取
扱い部分へ分岐する前に伺らかの必要な状態(Stαte)情報を記憶する。所
望するならば、スーノク/<イザはプログラムコード/データの一部を一部メモ
リから二次メモリに移動させて新しいコード/データのだめの余地を作ることか
でさる。代表的な場合には次にスーパバイザプログラムは、誤り(lautt)
か起きた時にプロセッサが実行しつつあった特定の命令”4Mひ実行する。どれ
ほど多くの情報がスタックオフ(stack off) され外ければ、ならな
いかということや、プロセッサが″誤った”命令を再実行する準備をするために
スーパバイサブログラムによって用いられる’f)54構(mechanism
) ’D、マシンによって異った。
一部の設計では、プロセッサはあたかも割込みが起きたかのように糎々のユーザ
レジスタ、命令レジスタ、プログラムカウンタおよび現在の状態情報の内容を記
憶するたけであった。スーパバイザプログラム、は必要ならばプログラムカウン
タを“バックアップ”してプロセッサがどんな命令を実行しつつあるかを発見し
4次に誤った命令が最初に開始された場合にはできるだけプロセッサの状態に近
づけるためにレジスタおよび状態ヒツトを再構成しなければならなかった。プロ
セッサ命令セットが比較的に規則的で予測しうるものであるシステムにおいてさ
えも、スーパパイザブ・ログラムにかかる負担は非常に大きなものであった。更
に複雑なシステムでは、このアプローチは実施不可能なことがしばしばあった。
ソフトウェアにかかる負担が耐えられないほどになった時に、命令実行シーケン
スの各ステップの完了を17−り”することによって命令実行シーケンスを追跡
するために追加のハードウニ°アが付加された。誤りが起きると、マーク情報が
レジスタおよび状態情報とともにスタツク芒れた。スーパバイザプログラムはな
お誤りか起きた時にどの命令をプロセッサか実行しつつあるかを決足し、その後
でハードウェアに対してその命令を再ひ実行するように命令しなければならなか
った。しかし、スーパバイサブログラムは“古い”マーク情報をハードウェアに
供給できた。ハードウニアカ実行シーケンスの各ステップを進み、その進行をい
つものようにするにつれて。
追加制薊回路は′現在の”マーク情報と・古い”マーク情報とを比較する。特定
のステップが誤りが起きる前にすでに実行されたことを制御回路が決定すると、
制御回路はそのステップの結果のみを抑制し2次に実行シーケンスが続行できる
ようにする。ひとたび“現在の”マーク情報と1古い”マーク情報とか一致しプ
ロセッサが誤りの起きたステップに達したことを示すと、制御回路は実行シーケ
ンスのその後のステップの実際の実行を干渉するのをやめた。この方法により、
誤った命令を再び開始する負担はソフトウェアとハードウェアに分配された。
勿論、誤ろた命令の再開を試みる前にその#シの根底にある原因をはつきりさせ
ることは依然としてスーパバイサブログラムの責任であった。
仮想メモリの使用を単一プロセッサシステムに制限する仮想メモリ概念本来の制
約はない。事実1つのプロセッサが出会った誤シか並列プロセッサへの割込みを
発生させる多重プロセッサシステムが提案ぢnている。割込みに応答して後者の
プロセッサはもう一方のプロセッサの誤シの原因となった問題をはつきシさせよ
うと試みる。
一方、誤ったプロセッサはその誤シが解決さ九るのを待ちつつけているにすぎな
い。その誤9がもう一方のプロセッサによってう1く解決されると、誤ったプロ
セッサはアクセス誤りが起きたことも知らすに目らの道を進む。
誤りをはつきシさせる仕事を行うプロセッサのスーパバイザプログラムは、誤っ
たプロセッサによって実行されている命令に関する情報を必要としないという点
に注目すべきである。しかしそのスーパバイザプログラムは誤った論理アドレス
の明細に対するアクセス、および誤シに出会ったプログラムのアドレス空間につ
いてのある程度の情報を持たなければならない。そのような情報は各の情報は#
シが起きた時に利用できる。少なくとも2つのプロセッサおよび追加ラッチおよ
び割込み発生ノ・−ドウエアを必要とするはA・に、この仮想メモリ技術は誤っ
たプロセッサをもう一方のプロセッサがその畝りを訂正するまで待恢させ、=謬
りを解決している間に二重のプロセッサを結びつける。
多重処理システムにおいては、そのシステムの任意のプロセッサが実行を待って
いる任意のプログラムを実行できることが一般に望ましい。このことは割込み又
は時分割による制約の故に一時的に中断されているプログラムの相・開を含ひ。
いくつかのプロセッサが同じ命令セットを肩する限シにおいては、そのような配
列を妨けるハードウェアの市す豹はない。この技鞘か拡張されて命令の実行過程
における誤り状態によって中断されているプログラムの実行の再開を含むように
なった場合に問題が起きる。そのようなCP断されたプログラムの実行を適切に
′P+Hするために、そのことを試みようとするプロセッサはそのプログラムを
最初に実行しつつあったプロセッサと同一シーケンスにある同一命令セットを実
行しなければならない。さも々いと誤った命令が適切に光子するという保証はな
い。各プロセッサのスーパバイザはそのような非互俣性(incompatib
ilities)を検出しようと試みることはできるが、その同じスーパバイザ
プログラムは同時にいくつかのプロセッサについて実行中であるかもしれず、従
ってプロセッサ特性に関する情報についてはメモリを基礎にした資源データベー
スの保全性に依存し力ければならない。そのようなソフトウェア制御システムに
おいては、誤ったプログラムの非互換性プロセッサ再開が検出されずに行われる
というかなりの危険が依然として存在する。
仮想マシン環境においては、データプロセッサは真のおよび存在し、ないシステ
ム資源の両方に対するユーザプログラムアクセスを叉後できんけれはならない。
一般的に云って、仮想メモリデータプロセッサはユーザプログラムの論理アドレ
ス空間内におけるデータ/昔令へのアクセスの大部分を支援するためにそのよう
なシステムに使用できる。しかし、そのようなプロセッサは存在し方いシステム
資源へのアクセスを支援することはできない。
従って、スーパバイザはそのようなオし用できない資源へのアクセスを阻止し、
システム内で実際に第1]用できる1侠5のめる資m’a−用いてアクセスをシ
ミュレートスルニすきなかった。次に、スーパバイザは、誤った命令に対して存
在しない資源へのアクセスが15y、功したように思わせた。
発明の少約
従って2本発明の目的は、誤りの原因が解決されつつある間は誤った命令が中断
されその後誤りに出合ったアクセスの開始時に再開される仮想マシン環境を支援
できるデータプロセッサを提供することである。
不発明のもう1つの目的は、誤シの原因が解決されつつありその誤ったアクセス
が実行されている間は誤った命令が中断されその後誤ったアクセスが底功したか
のように誤った命令が再開される仮想マシンデータプロセッサを提供することで
ある。
本発明のこれらの、およびその他の目的は。
データプロセッサの外部にるる資源へのアクセスを与える外部アクセス+段と。
外部アクセス手段を介して動源へのアクセスを必要とする少なくとも1つの命令
のデータプロセッサによる実行を制御する命令実行制御手段と。
アクセス誤9が検出された時点における命令実行制御手段の状態を示す情報を記
憶し、アクセス誤9が発生した後に記憶された状態情報を用いて命令実行制御手
段の状態を初元するアクセス誤り回後手段とを有するデータプロセッサにおいて
達成される。本発明において、データプロセッサは、アクセス誤シ回復手段が命
令実行制御手段が命令の実行を再開できるようにした場合に、しかしアクセスが
再実行されるべきであることを示す再実行信号にのみ応答して外部アクセス手段
が誤ったアクセスを再実行できるようにするアクセス再実行制御手段を含む。
1面の簡単な説明
第1図は1本発明の仮想メモリデータプロセッサを有する仮想メモリデータ処理
システムのブロック図である。
第2図は、第1図の仮想メモリデータプロセッサのブロック図でるる。
第3図に、第2図の仮想メモリデータプロセッサの実行装置(ユニツ°ト)のブ
ロック図でめる。
第4図に、第3図の実行装置(ユニット)の高セクションのブロック図である。
婬5−μ、第311の実行装置(ユニット)の低セクションのブロック図でるる
。
第63に、第3図の実行装置(ユニット)のデータセクションのブロック図であ
る。
氏7図に、第2凶の仮想メモリデータプロセッサのフィールド翻訳装置(ユニッ
ト)とそこにあるその他の機能装置との関係を示すブロック図である。
発明の詳細な説明
第1図に示しであるのは、仮想メモリデータプロセッサ(VMDP)12によシ
発行された論理アドレス(LADDR) カ物理バス(PBUS) 16上の出
力に対する対応する物理アドレス(PADDR)にメモリ管理装置(ユニット)
(MarU)14によってマツプされる仮想データ処理システムである。同時
に、アクセスを制御するためにVMDP12によって与えらtした樵々の論理ア
クセス制御信号(LCNTL )は、 MMU14の制シの下で震央子装置(n
totiifigr unit) 18によって過当に計時された?I埋アクセ
ス番、シ@勺(PCNTL )に張−候される。
特定′#、咄の物理アドレス(PADDR)に比、谷して、メモリ20 μエラ
ー検出および訂正回路(znAc) 22と協動してPBUS 16上の物理ア
クセス市伽信号(PCNTL )と同期してVMDP 12とデータ(DATA
) を女侠する。データにエラーか恒出さnると、EDAC22rCエラーの柚
知に応じてバスエラーを信号で知らゼる〃・、又はVMDP12に対して交換を
再試行(RETRY)するように要求する。
別の%J址子アドレス応答して大答量記悌装置インタフェース24μyDMP
12と励県してデータを大宕酋記憶装置26へ、又に大容輩記憶装置26刀−ら
転送する。もしエラーが転送中に起きると、インタフェース24ir、バスエラ
ー (BErtR) を信号で知らせる〃1.又rr、適当な吊台には再試行(
RETRY)を要求してもよい。
更に別の物理アドレスに応答して、直接メモリアクセス制御装置(DMAC)
28はVA(DP12 からデータを受けとシデータ転送オペレーションを定義
する。そのオペレーションを行うために解放されるとDMAC2Bは適当なP
CNT L緑を用いてVMDP12に対してバスの匍j御を放棄するように定期
的に女釆する。バスのtT制御が与えられるとDMAC28はメモリ20円で、
又はメモリ20 と太答量記憶装置26との間でデータブロックを転送する。そ
のような転迭期山」干にEDAC22又は太容童記憶装置インタフェース24に
よってエラーが検出されると、DMAC28はEERRが信号で知らnたか又は
RETRY ’X)−信号で知らされたかによって転送を打切るρ≧又に褥試行
するっMMU14が特定の処理アドレス(LADDR)を対応する物理アドレス
(PADDR)にマツプすることができない場合にはM4%4U14uアクセス
良シ(FAULT)を信号で知らぞる。MMU14に対するチェックとして、ま
た同じ(DMAC28に対するチェックとして、ウオッチドックタイマ30を伽
え。
もし物理テバイスが物理アクセス制御信号(PCNTL )に関えして適当な時
雨1円に物理アドレス(PADDR)に応答しなけnにバスエラー(BERR)
を信号で知らせてもよい。
データアクセスバスサイクルの期間中にRETRYが要求さnると、オアケート
323よひ34はそれぞれI’MDP12のBEEflおよびIIALT <停
止)入力を起動さゼる。VMDPバヌサイクルの期間中のそのBEER入力およ
びHALT入力の両方の同時起動に足、谷してVMDP 12は現在のバスサイ
クルを打切J 、 RETRY信号が終了するとその、サイクルを再実行する。
所望するならば、VMDP12のオペレーションはHALT信号の慎重な使用に
よって外部的に制御してもよい。オアゲート64ヲ介してのHALT入力のみの
起動に応答してVMDP I2は現在のバスサイクルの終了時に停止し、 HA
LT信号の終了によってのみ万ベレーションを再開する。
プロセッサt、 hサイクルのAJi NI中のそのBEER入力のみの起動に
応答して、VMDP12は現在のバスサイクルを打切シ、状恕レジスタの内容を
内部に侠管し、スーパバイザ状轢に入シ、追跡状態がオンであればそれをオフに
し、バスエラーベクトルナンバーを発生させる。次にVMDP 12はプロセッ
サの現代の円部文脈(coルtext’)を反映する情報フロックをメモリ2o
のスーパバイザスタックv域内にスタックし、ベクトルナンバーを用いてスー
パバイザプログラムのエラー処理部へ分岐する。
この時点までl−J VMDP 12のオペレーションはモトローラ社のM06
8000マイクロプロセッサのオペレーションと同一である。しかし、VMDP
12がMC68000と異なる主な点は、BEItFの町足(asserti
on)に応答してスタックされるτ九報の量である。MC68oOOにょシスタ
ックされる情報は保管された状態レジスタ、プログラムカウンタの現在の内容2
通常は現在実行中の命令の第1語である命令レジスタの内容、打切られたバスサ
イクルによってアクセスされつつあった論理アドレス、および打切られたバスサ
イクルの特性、即ち読出/書込、命令/データおよび稜itコードからなる。上
記の情報に加えてVMDP 12は内部マシン状態についてはるかに多い情報を
スタックするように作られている。例外ハンドラがエラーの解決に成功すると、
その最後の命令扛VMDP 12の制御を打切られたプログラムに戻す。この命
令の実行中に、追加のスタックされた情報に枳紫嘔れVMDP12の迎白な部分
にロードされ、バスエラーか起きた時に存在した状態を俵元する。
アクセスが存在しない周辺り飯に対して試みられた場合のような一部の状況の下
では、スーパバイザに要求されたアクセスを行うが異なる資源を木−用すること
を逆折してもよい。誤ったアクセスが成田であれば、スーパバイザにアクセスさ
れた情報をスタックにおける適当な位置に記憶することができる。あたかも存在
しない周辺装置が実りにえ答したように誤った命令にみえるようにするために、
スーパバイザにスタックにフラグをセットしアクセス力・すでに行われたことを
示すことができる。誤った命令の実行を査開する直前にV、4(DP 12はフ
ラグをチェックすることができ、もしセット嘔れていればろたかもそのアクセス
が1尾よく冗了したかのように命令実行を再開できる。従って、誤ったプログラ
ムはアクセスされた資源が実際には存在しtいことに気づかない。
VMDP12の好ましいオペレーションをVMDP I20マイクロプログラマ
ブル実m例の内部編地を示す第2図を参照して下記に説明する。i’MDP 1
20図示されている形に下記に引用するいくつかの米国特許に詳細に記述されて
いるモトローラ社の&C680oo K非常によく似ているので。
共通のオペレーション上の局坑を@鴫することにする。
ひとたびvhtDP12のろbアーキテクチャの一般的理解がえらttfc;e
らに、VMDP12fMC68000と区別してI/MDP12 が仮セメモリ
を叉援てさるようにする8%な偏に鮫。
狗の重点をおくことにする。
vmDP 12 ia yc68000と同殊にバイ1ラインマイクロプログラ
ムドテータプロセツサである。パイプラインプロセッサにおいてに、谷曾令は典
型的には前の命令の実行〒に取出さn(、fetch)、重比された命令の翻訳
(i露tarprg−txtion )に61の命令が終る前に通當始する。マ
イクロプログラムドデータプロセッサにおいてに、各命令は命令によって定番さ
れた小さいいくつかのオペレーションを行う一連のマイクロ加令として実行され
る。もしE1望するならは、ユーザ命令はマイクロ命令との従乱をさけるために
マイクロ命令と考えてもよい。MC6BGOOおよびVtDP12においては、
各マイクロ命令はマイクロ命令項圧付けおよび徴龍=−ド発生を制御するマイク
ロワード。
およびb罷装置間の情報の実際の経路指定およびVMDP12 円の特殊な5ロ
r装置の起動を側御する対応するナノワードヲ宮む。このことを心に留めておい
て、典型的な命令実行ブイクルを下記に訛町する。
各命令の実行中の適当な時に、先ル(シ(pref4tch)マイクロ命令が実
行される。そのマイクロワード部ニマイクロRO,%/36からマイクロROM
出力ラッテ38 にロードされると9機能コードバッファ40 が論理アドレス
(LADDR)の蜘龍コード(FC)部を出力して命令サイクルを示すことカニ
できるようにする。伸」埒にナノROM42がらナノROM出力ラッチ44にロ
ードされると対応するナノワード鉱バス匍、#装置46に対して命令取出しバス
サイクル・を行うように要ふし、大行装置48に対して次の命令の第1語の成子
アドレスをアドレスバッファ50に与えるように命令する。PRUS 16の市
・、仁を得るとバス側体I装置46はアドレスバッファ50 ′PbMアドレス
(LADDR)のアドレス都ヲ出力できるようにする。そのケ間もなくしてバス
W11i 1!11・装置46は適当なデータストローフ(LCNTL 1言号
の一占、)を与えてメモリ20を起動さゼる。メモリ2oが蚤求された情報を与
えると、バスft+++’ 伽i 直46は命令レジスタ捕鉤(IRC)52力
ニ次の命令の第1語をPRUS16がら入力できるようにするう現在の命令の実
行のその後のし点において、別のマイクロ命令か実行されて次の命令の躬1飴を
IRC52がら命令レジスタ(IR) 54に1迭し2次の語をメモリ20から
IRC52にロードする。1R54の命令の株類に応じ工、IRC52の語は即
値データ、オペランドのアドレス又はその後の命令の第1語となる。命令セット
およびそのマイクロ命令シーケンスの詳細は、1982年4月13日付でグンタ
ーらに発行された8マイクロプログラムドテータブロセツサ用2レベルfhi+
N記t=it−と題する米国%i!T第4,325,121号に詳述されてい
る。
次の命令の第1細かlR54にロードされるやいなやアドレス1テコーダ56に
その命令の−もbの制釣フイールトの仮S′才区、丸し、lR54におりる船足
の都令の鰍初のマイクロシーケンスにおける第1マイクロ脅令のマイクロアドレ
スを決定する。同時に、違法命令デコーダ58はlR54における命令形式の憔
五を開始する。その形式が正しくないこ、とか決定され゛ると、違法扁令テコー
ダ58は違法命令シーケンスの第1マイクロ館令のマイクロアドレスを与える。
プレ式エラーに応答して例外紋理6oはマルチプレクサ62にアドレス1テコー
ダ56によって与えられたマイクロアドレスの代シに違法命令デコーダ58によ
って与えらnたマイクロアドレスを使用させる。従って、現在実行中の命令の最
後のマイクロ命令が実行されると、そのマイクロワードんはマルチプレクサ62
が適桶なアドレスをマイクロアドレスラッテ64に与える、ことがでさるように
し、−万そのナノワード部は命令レジスタデコーダ(IRD)66が次の命令の
ν1語をlR54からロードできるようにする。選択されたマイクロアドレスが
マイクロアドレスラッチ64にロードされると、マイクロROM56はそれぞれ
のマイクロワードをマイクロROM出力ラッチ38に出力し、ナノROM 42
は対応するナノワード會ナノROM出力ラツテ44に出力する。
一般的に云って、マイクロROM出力ラッチ68にロードされる各マイクロワー
ドの一台分は実行される次のマイクロ命令のマイクロアドレスを指定する一力、
別の部分は代替のマイクロアドレスのうちのどnρFマルチプレクプ62によっ
て選択されマイクロアドレスラッテ64に入力さA、2)刀・を決定する。一部
の衡合においてに、指定すした1ベレーシヨンk”A戚するために2つ以上のマ
イクロシーケンス刀・実行さnなければならない。iS3]飯アドレス分か(r
ssolati。りのようなタスクは一般に命令内の追加市、2iIX、フィー
ルド上用いて括足芒れる。これらの追加マイクロシーケンスに対する第1マイク
ロ命令のマイクロアドレス!−2:lR54に2ける姐伽濱報を用いてアドレス
先デコーダ68 によって展開(dg++5lo7+)される。より簡単な形の
命令にふいては、第1マイクqシーケンスは代表かじな46合には色らがの準備
タスクを行い2次にマルチフレフサ62カアドレスhデコーダ68のアドレス3
flJ分によって展開芒れるような実際のオペレーションを行うマイクロシーケ
ンスのマイクロアドレスを選択できるようにする。よシフ鈴な形の命令において
は、第1マイクロシーケンスは第1準輔タスクを行い2次にマルチプレクサ62
が゛アドレス穐デコーダ68のアドレス部分によって展開さnるような次の4備
マイクロシーケンスのマイクロアドレスを過択できるようにする。この追加準備
タスクが行われると1次に第2マイクロシーケンスはマルチプレクサ62がアド
レスちデコーダ゛68のアドレス3部分によって展開されるような実際のオペレ
ーションを行うマイクロシーケンスのマイクロアドレスラッチできるようにする
。いずれの場合にも、谷節今の最後のマイクロシーケンスの重体のマイクロ會j
令はマルチプレクサ62がアドレス1テコータ゛56によって継關烙才し、るよ
う々次や命令の第1マイクロ館令のマイクロアドレスを選択できるようにする。
この力性によって各命令の実行に過当なシーケンスのマイクロ命令を通じて進行
する。マイクロアドレスシーケンス辿択伝籠のより先金な説明は。
1982年7月27日付でトレテンニックらに発行されたlマイクロプログラム
ドデータプロセッサ用命令しジスタシーケンステコーダ2と題する米IF、i
’If許第4,342,078号に述べられている。
マイクロワードとは対照的に、ナノROM出力ラッテ44にロードざするナノワ
ードは、レジスタ制御(高)70およびレジスタ制御(低およびデータ)72に
対して匍i釧をおよは丁ことによって実行装置48円のいくつかのレジスタ日へ
の、そしてもし必貴ならばそTLらのレジスタ間におけるオペランドの経路指定
を間接的に制御するっ一郡の状況の下でに、ナノワードにフィールド翻訳i&7
4がIRD66の命令から特定のビットフィールドを抽田して実行装置48 に
対して入力できるようにするうナノワードはまたAU制#76あ−よびALU制
御78に制御音およぼすことによって実行1t48門の有効アドレス計算および
実際のオペランド耐真を間接的に制御する。適当な状況の下でにナノワードはA
L(J−制御78が実行装置48による谷オペランド計舅−のに来生じる条件コ
ードを粗悪レジスタSRに!恒でさるようにする。ΔLU 市ii h 78の
更に詳しい説明は、1982年1月19日付でグンターらに発行された1テータ
プロセツサ用ALU ’it?よひ栄件コード節1−装置″と題する本国特許第
4,312,034号に述べられている。
第3図から判るように、VMDP12の実行装置48にMC68000の実行装
置と同様にそnぞれアドレスおよびデータバス80 >よぴ82のそれぞれのセ
グメントにJJE的にエヒできる高セクション48A、低セクシヨン48Eおよ
びデータセクション48Cを含む。実行装置48は米−将許第4,296,46
9−fEjに記述されているMC680[10の実行装置ときわめてよく似てい
るので、共通の扮舵装誼についてはごく簡単に説明するだけにしておいて、その
彼にVDMP12がFi、想メモリを支援でさるようにする新たな素子について
よシ詳しく説明することにする。
第4図に示すように、関セクション48Aは62と、ットアドレスオベランドの
最上位16ビツトを記憶するための1セツト9つの高アドレスレジスタAOH−
A7’H,32ビツトテータ万ペランドの最上位16 ビットを記憶するための
1セツト8つの高データレジスタDOH−D7H,−F!!f扁アドレスレジス
タATIf 、一時高データレジスタDTH、アドレスおよびデータバス80お
よび82の高セクションに与えらnたオペランドについて具備計算を行うための
演算”fc 置fj6 AUH、16ビツトオペランドについて62 ビットオ
ベレーションを巧匪にするための行+f孤張回路84.およびプログラムカウン
タPCBおよびアドレス出力バッファAOEHの最上位16ビツトから王として
iA取される。第5図に示すように、低セクション48B u 52 ヒツトア
ドレスオペランドの最下位16 ビットを記憶するための1セツト9つの世、ア
ドレスレジスタAOL−A7’L、アドレスおよびデータバス80および82の
低セクションに与えら′n友オペランドに関する算術計算を行うための演算装置
低AUL 、 多ル、レジスタ移艮オペレーションに用いられる優先rlji位
エンコーダレジスタPER,およびプログラムカウンタPCLおよびアドレス出
力バッファAOBLの最下位16ビツト〃・ら主として昏厄される。第5図はl
たフィールドみ、j訳装置74のFTU レジスタ部とアドレスおよびデータバ
ス80お・よひ82の低セツションとの関係を示す。第6図に示すように、デー
タセクション48Cは62 ヒツトデータオペランドの最下位16 ビットでも
よい16 ビットオペランドを記憶するための1セツト8つの低データレジスタ
DOL−D7L、16ビツトオベランドマークを発生さゼるデコーダレジスタD
CR,アドレスおよびデータバス80および82のデータセクションに与えられ
るオペランドに関する算術および論理演算を行うための演算および論理装置AL
U、 ALUバッファレジスタ、4LUE、マルチワードシフト万ベレーション
丸のALU拡張レジスタ、および多重化データ入力および出力バッファDBIN
およびDOEρ・ら王として1=:H’9 rL−る。
これlでのところはVMDP12を、vC68000と共通なハードウェア%徴
の点から肌明してきた。p′Δ!DIi12にまたMC68000にヤや似た力
泳でエラー条件に比・各する。MMU14は誤シ(FAULT)信号を宛主芒ぜ
てアドレスエラーを1g号で知らせるか、その他の向辺装飽回路にEERA信号
kmしてバスエラーを報告する。いずれの場合にも。
V;MDP12はオアケート62ケ介してBEERも号を受信する。EERI?
信号に応答してバス心制御製飯46はエラーをか(外−理60に知らせ1次に
誤シバスサイクルを規則正しく廐了さぞる。次にf’+ /A、m% fM 6
0にマルチプレクサ62ニハス= ラ、−%J 外ハンドラマイクロシーケンス
のマイクロアドレスを与えてマイクロアドレスラッチ64に入れさせる。この時
点において、MC68GOOは例外論理60に工って与χらr−タマイクロアド
レスをマイクロアドレスラッテ64にロードするだけでめシ、 ftti制御は
仙1外ハンドラマイクロシーケンスに移って下記の情報をスタックアウト(−1
ack oat) する◇
SWE %殊システム状態語バス□
AO#1アクセスアドレス高
AOBLアクセスアドレス低
IRD 館令レジスタデコード
SR状態レジスタ
PCE プログラムカウンタ筒
PCL プログラムカウンタ低
この情報は垣常にエラーの原因を次足するのに十分であるが、この官報にエラー
か解決烙rした俊に現在の状態が儀九でさるようにするには不十分でるる。従っ
て。
1’MDP 12 D ?j’りtハンドラマイクロシーケンスのマイクロアド
レスをロートする前に、その92仕の伝慝にンする迫力0情報全門名9に株魁す
る。このことを連成するために。
VMDP 12に必☆な状辺:悄ちを3N硲するためいく口かの迫力ijレジヌ
タを有してお)、いくつ力の追加アクセス経路が一部の現存のレジスタに与えら
れるっ例えば、第2図に示すように、F′MDP12は誤シが赳、@た町にマイ
クロアドレスヶマイクロアドレスラツナに記憶するためマイクロアドレス括犯ラ
ッテ86 を有する。フィールド翻訳装置74円には昇化7区に示すように千手
殊セ、慇詣円E (SSWZ)レジスタB B <、t、’:jiえら北ていて
下記を保管する;PR(’p−::外赫、理60〃−ら)トラップ特権vI外ラ
ッチTR(i”i外嗣理60から)トラツブトレースV」タトラツテTP (S
Ri−ラ)トレースベンディングラッチLP ループモードラッチ(新しいビッ
ト)11X (ALUから)みえないX状態ヒツトARx (PERから)優先
rlD位エンコーダ比カレジスタセレクタ
TVN (例外舖蛙60から)トラップベクトルナンバーランチ
兄に、 /、rC68000にふ・いてにEi’lJ E 比/ ’に込CR,
i’+9’ 、) >よひFC絶ったアクセスに対するJcT5!症=・−ドの
みをt4e宮したフィールド郵訳装置74V3の特殊状態語バス(−’;WE)
レジスタ90に今度に下記を保管する。
IF 1ツノでoA4ビットNl;tc (JRC八−の加令増員し)DFナノ
ROMビットNDB / CDB ItVへのデータ取出し)Li2 欽出−変
更−頁込サイクル
BD ナノROMビットstog (DaBからの、又にDBhVへの尚バイト
払込)
BY バイト/ワード転送
ひとたひこの退加彷辺:τh婦〃・ラッチでれると、VMDP12ハ例外−理6
0によって与えらrt二マイクロアドレスをマイクロアドレスラッテ64にシー
ドし、シ1外ノ\ンドラマイクロシーケンヌの実行を開始する。y、wvP12
のv++ %ハンドラマイクロシーケンスにおいて最初のマイクロ命令は男性装
置48に2けるアドレス計算h゛よひ出力細路をクリアしなげれはならないので
、Zタンクアドレスに安全に計算されMMU14に寿えら几る。従って、父性装
置48にはいくつかの追7+7ルジスタ炉俯えらfしていて椀在めるアドレス、
データおよび開俵情報を記憶し、第4図に示して必る筒セクション48Aには6
つの仮想アドレス−峙felHレシスl P A T ’! B −V AT
6Hカ侃えらiていてAUIIの出力およびAOBHにおけるアドレスの抽残を
促遠し、第5図に示してりる低セクション48BKは5つの仮想アドレス一時世
レジスタVAT1L −VAT6L が餉えらγしていてAULの出力およびA
OBLにおりるアドレスの捕獲を可能にし、第6区に示してるるデータセクショ
ン48Cには2つの仮想チータ一時レジスタVDT14DTが覚えられていて節
岨情報をFTUに肥tU Lデータ金DOBにB[冒する。実行装置48をクリ
アした佐に、セ1.タχハンドラはスタックアドレスを計興し、下肥の1δ−を
スタックする。
SR状紛レジスタ
PCB プログラムカウンタ高
PCL グログンムカウンタ低
VORスタックフレーム形式↓・よびベクトル号=7セツト55 W’B特殊シ
ステム状態語バス
AOEB アクセスアドレス高
AOBl、アクセスアドレス低
j)ORデータ出力バツファ
DIB データ人力バッファ
JRC館令しジスタ抽獲
MAL マイクロアドレス捕獲ラッチ
AtUB ALUE f)内容
FTU フィールド翻訳矢龜レジスタ
ATII アドレス−詩画
ALU ALU出力ラツテ
ATL アドレス一時世
At/HAUラッテ高
JUL Altラッチ低
DCRLテニータラッテ
Pk、EL PER出力レジしタ
SSw工栃殊ゲ塾語ろiβ
JR命令レジスフ
DTHチーター峙高
DTL データ一時低
IRD 命令レジスタテコード
ALUE 1LUEレジスタ
次ニγ・2外ハンドラマイクロシーケンスζスーパバイサブログラム甲のエラー
l仏ルーテンの方向にVC3jかう。スタックさγシタ状迎情廠を用いてスーパ
バイザプログラムに岨夛の原因を級足でき、もしh当ならば問題の硲足(1ix
)2試みること〃二できる。9・jえは、郊応するも刊↓アドレスを持たない7
Aアドレスへのアクセスは、プログラム/データのプログラムを太按景L 惚
”A 匝26からメモリ20 にロードすることを#3才するに丁ざないことが
ある。勿ふゴその他の処理を誤ったプログラムの再開前に行ってもよい。
中断さγしたプログラムへ市1・伽を戻すためにl &C68000およびVM
DP12の両刀のスーパバイサブログシムは例外からの復帰(RTB)命令を実
行する。&C68000においてにこの命令に、七のザ・1外カニ館惰視界で起
きたね類のものでaつだ一合にの−Jj−夾lfTδnる。促って、この命令に
対テるマイクロシーケンスはスタック刀、ら状衷゛レジスタSR2よびプログラ
ムカウンタPcE−PCL t P−乙・ロードし。
次にそのアドレスが70グラム刀ウンタにある命令に市・制御を送シ靭るた灯で
るる。VMDP 12においてにこの命令にlた命令の矢行甲に兵型的に起きる
アクセス誤シ9・らの似帰にも用いられる。従って、このマイクロシーケンスの
初ルjのマイクロ命令にスタックからVORilaを取出しスタックフレーム形
式を決定テる。短い形式〃・示されると、マイクロシーケンスDAiC6800
0におけるように進行する。他力、長い水式が示でrしると、いくつかの他の語
がスタック〃・ら取比さnて全フレームがメモリにおいて使用でさることを保証
する。フレーム形式が短くも長くもないと、 i’MDP 12にスタックフレ
ームがT%l違っているか、又は互T5+、性のない型のプロセッサによって発
生させられたものと仮定して、制徊ヲスタックフレーム形式エラー91外ハンド
ラマイクロシーケンスに送る。この段階ニオいて別の%j)が発生してスタック
フレームの一部がメモリ20から恢然にヌワップさrしたことを示すと、同じア
クセス1p処坦手btがスタックの鉄シを恢索するのに用いらtLる。
状態悄@1をスタツフアるマイクロシーケンスの期間甲に、マイクロアドレス両
独ラッテ86に言まれるマイクロアドレスに第7区1に示すようにECバスの一
乱ヲ介してFTU Kね合’g tL 40回時に、は正妥桶注恢丘装置(Jl
/υyalidator) 92 D VMDP12 (’3に含1れるマイク
ロコードのバージョンを独特の75法で詠別するコードfBcバスのオー用爬n
巳な舊2分に一7刀a (impress)する。この組合せ耐に七の恢実行装
置48のデータセクション48CのDOBに転送ぢnデータバッファ94ヲ介し
てメモリ20に出力さILる。命令紅萩マイクロシーケンスの妥当牡伍食秩階の
四に、 MAL語はスタック刀・ら取出さfし、実行装置48のデータセクショ
ン4scvこおけるIRC52とI)BINの両方にロードさγしる。MALに
DBINからFTU、に転送され、ECバスにボ2合される。次に改正妥当注恢
五宸直92はMALのバージョンナンバ一部分とVf<バージョンナンバーとを
比Cする。それらのバージョンナンバー力・胛Jじてな1才しに、改正妥活性伎
喧装膚92はブランチ計言tモ装龜96に慴号全出して市!J飢をスタックフレ
ーム形式例外ノ・ンドラマイクロシーケンスに転送する。芒もなけれに改正妥当
託恢’Jck直92 BマイクロシーケンスカニM、uのマイクロアドレス部分
をアドレス4ラツチ98にロードできるようにするに丁き′ない。
ひとたびスタックフレームが妥肖であることか決定さnると、マイクロシーケン
スはクリティカル段階に入9゜この段階に2いてほい〃・なるfj、、、シも二
重ミシと考えられ2VMDIM2に夕%に的にリセットされるまで処理をやのる
。
この反階の同じ、スタックの1π報の外!llζ取出さnて。
もとの泣直又にいくっ刀−の−6寸レジスタにゼテひロートさlしる。hえば、
マイクロアドレス湘獲ラッテ86 によって剥4M −(! i’したマイクロ
アドレスラッテ64の門谷ハアドレス4ラッチ98 にロードさnる。し刀・し
、敲俊のスタックアクセスのνこにのみ、AUu−AULおよびSRの円餐〃ニ
ー吋レジスタかラレ元妊γしる。この詰合rb k”yマイクロシーケンスの最
後のマイクロ缶令i AOBH,AOEL、 FTUおよυDOBの内容をし元
し、バス゛セロか、鋏り、46に信号を出して55;FB90にある付j報を用
いて誤ったバスサイクルを再し、シ、マルテフレクプ62に対してアドレス4ラ
ツチ98のマイクロアドレスに2択するように恢)する。
灯lしい形に2いては、5SWB 90の央実行ヒツトRR′!f″柾立するこ
とによって命令軽iマイクロシーケンスの最後のマイクロ命令によって与えられ
る再開信号に応答する。スーパバイザかスタックにおけるRRヒツトをセットし
てないと、バス1健J装置46は5SIFB9G内のその他の情報の制御
次にそのサイクルか首尾よく完了した時を例外酩理60に信号で知らせる。他方
,スーパバイザがRRビヒツをセットすると,バス1餌・装置46はバスサイク
ルを再実行せずに,サイクルが完了したことを9:」外輪理60に信号で知らせ
るに丁さない。サイクル完了信号に応答して。
9+4外4b 60 rmmマルチフレフサ為子アドレス4ラツチマイクロアト
レスをマイクロアドレスラッチ64に出力できるようにする。次に誤った節今ほ
ろだかもムシか起さなかった刀・のようにVMDP12のfi]・jりjを古島
する。
VMPD12ほ’.e * 、4(C680tlOと違って埃在災行甲のユーザ
ツーログラム刀・スーパバイザuMで夫行宇であるという埋寛全つくり吊子こと
かできるっこのことは,状態レジスタに2σるスーバハイザ/ユーサビット全ア
クセスするすべての詰合ヲ行伝6丘令にすることによって行われる。
鼓って,スーパバイV/ユーブビットを外史又は抗田す緘み〃;ユーザプログラ
ムによって行わCると,制修ハ必ず自」的にスーパバイザに戻る。次に,スーパ
バイザ(rz 5Bの適当に多一更さ1したイメージを草俯しそれをユーザプロ
グラムに我子ことかでさる.、次に,具のSR刀)ら絶縁てれているユーザプロ
グラムはそれがスーパバイザでめる刀ユのように思わせることができる。真のス
ーパバイザの叉板金うけてこの2,一仁ノスーババイサにその他のユーザプログ
ラムの実行を市,fノできる。ユーザプログラムから真の,および存在しない貨
ωへのアクセスを1稜1するこの舵力に,兵のユーザでわれ,多像スーパバイザ
であれ。
ユーザがV,イDP12を用いて仮想マシン壌境をつくシ出すことかできるよう
にする。
F’IC,3
国際調査報告
\
Claims (1)
- 1.データプロセッサの外部にある資源へのアクセスを与える外部アクセス手段 と。 前記外部アクセス手段に結合され、前記外部アクセス手段を介して前記資源への アクセスを必要とする少なく(i1j+する命令実行制御手段と。 前記外部アクセス手段および前記命令実行制御手段にm1合され、アクセス誤り が検出された時点における前記焔令火打艶御手段の状態を示す情報を記憶し、n (1記アクセス誤υが訂正された後に前記の記憶された状態情報を用いて前記命 令実行制御手段の状態を復元するアクセス誤!11回復手段とを含むデータプロ セッサにおいて。 前記外部アクセス手段および前りロアクセス誤り回復手段に結合され、前記アク セス誤シ回復手段が前記命令実行制御手段が前記1つの命令の実行を再開できる ようにした場合に、しかし前記アクセスが再実行されるべきであることを示す再 実行信号のみに応答して前記外部アクセス手段が前記の誤ったアクセスを再実行 できるようにするアクセス善果行制御手段、を具えるデータプロセッサ。 2、前記アクセスP−実行手段は前記の記憶された状態情報にるる飢記再実行信 号に応答する′@記論求の範囲第1項のデータプロセッサ。 6、前記命令実行制御手段および前記アクセス誤シ回復手段に結合され、前記命 令実行制御1手段か選択された命令シーケンスの前記データプロセッサによる実 行全制御でさるようにし、前記アクセス19回後手段が前記状態情報を記憶した 後に検出されたアクセス誤りを訂正する例外処理手段を更に含む前記詑末の範囲 第1項のデータプロセッサ。 4、前記例外処理手段はまた前記誤りを訂正した後に前記の誤ったアクセスを完 了し、その結果を前記の記憶された状態情報と一緒に記憶し1次に前記再実行信 号を前記アクセス再果行制御手段に与えて前記アクセスが再実行されるへきでは 彦いことな示す前記請求の範囲第3項のデータプロセッサ。 5、アクセス誤りを検出すると前記データプロセッサの状態を示す情報を記憶す るステップと。 前記誤りが訂正され水抜に前記の記憶された状態情報ヲJiイテ前記データプロ セッサの状態を復元するステップと。 前記データプロセッサが前記の1つの命令の実行を再開したμ合に、しかし前記 アクセスが再実行されるべきであるということを示す貴実行信号のみに応答して 前記の誤ったアクセスを再実行するステップとを含む。 削icデータプロセッサによる命令の実行中にシステム資源へのデータプロセッ サによる誤ったアクセスから回復する方法。 6、前記の記憶された状態情報における前記再実行信号を与えるステップを更に 含む前記請求の範囲第5項の方法。 7、前記データプロセッサが選択された命令シーケンスを実行できるようにし、 前記状態清報が記憶された後に検出されたアクセス誤シを訂正するステップを更 に含む前記「h求の範囲第5項の方法。 8、前記の選択された命令シーケンスは前記誤シを訂正した後に前記の誤ったア クセスを完了し、その箱果と前6口の記憶された状態情報とを一緒に記憶し2次 に前記再実行信号を前記アクセス再火打制徊手段に与えて前記アクセ゛スが再実 行されるべきではないことを示す前記請求の範囲第5項のデータプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/447,721 US4524415A (en) | 1982-12-07 | 1982-12-07 | Virtual machine data processor |
US447721NLEGB | 1982-12-07 | ||
PCT/US1983/001621 WO1984002410A1 (en) | 1982-12-07 | 1983-10-17 | Virtual machine data processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59502159A true JPS59502159A (ja) | 1984-12-27 |
Family
ID=23777474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP83503566A Pending JPS59502159A (ja) | 1982-12-07 | 1983-10-17 | 仮想マシンデ−タプロセツサ |
Country Status (4)
Country | Link |
---|---|
US (1) | US4524415A (ja) |
EP (1) | EP0128155A4 (ja) |
JP (1) | JPS59502159A (ja) |
WO (1) | WO1984002410A1 (ja) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4744049A (en) * | 1984-10-15 | 1988-05-10 | Motorola, Inc. | Microcode testing of a cache in a data processor |
US4745574A (en) * | 1984-10-15 | 1988-05-17 | Motorola, Inc. | Microcode testing of PLA's in a data processor |
DE3588007T2 (de) * | 1985-01-11 | 1995-10-26 | Wang Laboratories | Verwaltungssystem für relationale datenbank. |
JPH0668739B2 (ja) * | 1985-01-28 | 1994-08-31 | 株式会社日立製作所 | データ処理装置 |
JPS625441A (ja) * | 1985-02-18 | 1987-01-12 | Nec Corp | 情報処理装置 |
US4703481A (en) * | 1985-08-16 | 1987-10-27 | Hewlett-Packard Company | Method and apparatus for fault recovery within a computing system |
US4794515A (en) * | 1986-01-17 | 1988-12-27 | International Business Machines Corporation | Protection of data in a multiprogramming data processing system |
EP0256267B1 (en) * | 1986-08-12 | 1994-03-02 | Hitachi, Ltd. | Microprocessor for retrying data transfer |
CA1293819C (en) * | 1986-08-29 | 1991-12-31 | Thinking Machines Corporation | Very large scale computer |
DE3735828C2 (de) * | 1986-10-24 | 1994-11-10 | Hitachi Ltd | Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung |
US5146569A (en) * | 1986-10-24 | 1992-09-08 | Hitachi, Ltd. | System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension |
US4926320A (en) * | 1987-04-07 | 1990-05-15 | Nec Corporation | Information processing system having microprogram-controlled type arithmetic processing unit |
US4920477A (en) * | 1987-04-20 | 1990-04-24 | Multiflow Computer, Inc. | Virtual address table look aside buffer miss recovery method and apparatus |
US5148530A (en) * | 1987-05-19 | 1992-09-15 | Bull Hn Information Systems Inc. | Method for reexecuting instruction by altering high bits of instruction address based upon result of a subtraction operation with stored low bits |
US5535331A (en) * | 1987-09-04 | 1996-07-09 | Texas Instruments Incorporated | Processor condition sensing circuits, systems and methods |
US5084814A (en) * | 1987-10-30 | 1992-01-28 | Motorola, Inc. | Data processor with development support features |
US5247628A (en) * | 1987-11-30 | 1993-09-21 | International Business Machines Corporation | Parallel processor instruction dispatch apparatus with interrupt handler |
US4924466A (en) * | 1988-06-30 | 1990-05-08 | International Business Machines Corp. | Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system |
US5119483A (en) * | 1988-07-20 | 1992-06-02 | Digital Equipment Corporation | Application of state silos for recovery from memory management exceptions |
JPH02208740A (ja) * | 1989-02-09 | 1990-08-20 | Fujitsu Ltd | 仮想計算機制御方式 |
US5167030A (en) * | 1989-08-23 | 1992-11-24 | Helix Software Company, Inc. | System for dynamically allocating main memory to facilitate swapping of terminate and stay resident communication program to increase available memory space |
CA2025197C (en) * | 1989-10-19 | 1998-04-21 | Michael H. Kelley | Method and system for dynamically controlling the operation of a program |
JPH0820975B2 (ja) * | 1990-03-29 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムおよびコンピュータ上で実行されるトレース方法 |
RU1804645C (ru) * | 1991-03-27 | 1993-03-23 | Институт Точной Механики И Вычислительной Техники Им.С.А.Лебедева | Центральный процессор |
US5699553A (en) * | 1991-12-10 | 1997-12-16 | Fujitsu Limited | Memory accessing device for a pipeline information processing system |
US5363503A (en) * | 1992-01-22 | 1994-11-08 | Unisys Corporation | Fault tolerant computer system with provision for handling external events |
JP3657665B2 (ja) * | 1995-02-14 | 2005-06-08 | 富士通株式会社 | 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法 |
JP3196004B2 (ja) * | 1995-03-23 | 2001-08-06 | 株式会社日立製作所 | 障害回復処理方法 |
US6094528A (en) * | 1996-10-24 | 2000-07-25 | Sun Microsystems, Inc. | Method and apparatus for system building with a transactional interpreter |
DE69820027T2 (de) * | 1997-10-02 | 2004-07-08 | Koninklijke Philips Electronics N.V. | Vorrichtung zur ausführung virtueller maschinenbefehle |
US7523455B2 (en) * | 2002-05-03 | 2009-04-21 | Hewlett-Packard Development Company, L.P. | Method and system for application managed context switching |
US8522253B1 (en) | 2005-03-31 | 2013-08-27 | Guillermo Rozas | Hardware support for virtual machine and operating system context switching in translation lookaside buffers and virtually tagged caches |
US7376807B2 (en) * | 2006-02-23 | 2008-05-20 | Freescale Semiconductor, Inc. | Data processing system having address translation bypass and method therefor |
WO2007143278A2 (en) | 2006-04-12 | 2007-12-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US7401201B2 (en) * | 2006-04-28 | 2008-07-15 | Freescale Semiconductor, Inc. | Processor and method for altering address translation |
CN101627365B (zh) | 2006-11-14 | 2017-03-29 | 索夫特机械公司 | 多线程架构 |
US7984483B2 (en) * | 2007-04-25 | 2011-07-19 | Acxess, Inc. | System and method for working in a virtualized computing environment through secure access |
WO2012037491A2 (en) | 2010-09-17 | 2012-03-22 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
CN103635875B (zh) | 2011-03-25 | 2018-02-16 | 英特尔公司 | 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段 |
EP2689327B1 (en) | 2011-03-25 | 2021-07-28 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
KR101620676B1 (ko) | 2011-03-25 | 2016-05-23 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트 |
TWI666551B (zh) | 2011-05-20 | 2019-07-21 | 美商英特爾股份有限公司 | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 |
WO2012162189A1 (en) | 2011-05-20 | 2012-11-29 | Soft Machines, Inc. | An interconnect structure to support the execution of instruction sequences by a plurality of engines |
CN104040491B (zh) | 2011-11-22 | 2018-06-12 | 英特尔公司 | 微处理器加速的代码优化器 |
EP2783280B1 (en) | 2011-11-22 | 2019-09-11 | Intel Corporation | An accelerated code optimizer for a multiengine microprocessor |
US8930674B2 (en) | 2012-03-07 | 2015-01-06 | Soft Machines, Inc. | Systems and methods for accessing a unified translation lookaside buffer |
US9916253B2 (en) | 2012-07-30 | 2018-03-13 | Intel Corporation | Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput |
US9229873B2 (en) | 2012-07-30 | 2016-01-05 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load and store accesses of a cache |
US9740612B2 (en) | 2012-07-30 | 2017-08-22 | Intel Corporation | Systems and methods for maintaining the coherency of a store coalescing cache and a load cache |
US9430410B2 (en) | 2012-07-30 | 2016-08-30 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load accesses of a cache in a single cycle |
US9710399B2 (en) | 2012-07-30 | 2017-07-18 | Intel Corporation | Systems and methods for flushing a cache with modified data |
US9678882B2 (en) | 2012-10-11 | 2017-06-13 | Intel Corporation | Systems and methods for non-blocking implementation of cache flush instructions |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
KR102083390B1 (ko) | 2013-03-15 | 2020-03-02 | 인텔 코포레이션 | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
KR101708591B1 (ko) | 2013-03-15 | 2017-02-20 | 소프트 머신즈, 인크. | 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2269148B1 (ja) * | 1974-04-25 | 1978-01-20 | Honeywell Bull Soc Ind | |
US3976978A (en) * | 1975-03-26 | 1976-08-24 | Honeywell Information Systems, Inc. | Method of generating addresses to a paged memory |
US4010450A (en) * | 1975-03-26 | 1977-03-01 | Honeywell Information Systems, Inc. | Fail soft memory |
US4044337A (en) * | 1975-12-23 | 1977-08-23 | International Business Machines Corporation | Instruction retry mechanism for a data processing system |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US4124891A (en) * | 1976-11-18 | 1978-11-07 | Honeywell Information Systems Inc. | Memory access system |
US4288496A (en) * | 1979-01-16 | 1981-09-08 | Phillips Petroleum Company | Silicone polymer-based release coating agents having organic titanates as stabilizers and tapes |
US4315310A (en) * | 1979-09-28 | 1982-02-09 | Intel Corporation | Input/output data processing system |
US4321666A (en) * | 1980-02-05 | 1982-03-23 | The Bendix Corporation | Fault handler for a multiple computer system |
US4415969A (en) * | 1980-02-07 | 1983-11-15 | Intel Corporation | Macroinstruction translator unit for use in a microprocessor |
US4348722A (en) * | 1980-04-03 | 1982-09-07 | Motorola, Inc. | Bus error recognition for microprogrammed data processor |
JPS6053339B2 (ja) * | 1980-10-09 | 1985-11-25 | 日本電気株式会社 | 論理装置のエラ−回復方式 |
US4410941A (en) * | 1980-12-29 | 1983-10-18 | Wang Laboratories, Inc. | Computer having an indexed local ram to store previously translated virtual addresses |
US4407016A (en) * | 1981-02-18 | 1983-09-27 | Intel Corporation | Microprocessor providing an interface between a peripheral subsystem and an object-oriented data processor |
-
1982
- 1982-12-07 US US06/447,721 patent/US4524415A/en not_active Expired - Lifetime
-
1983
- 1983-10-17 EP EP19830903689 patent/EP0128155A4/en not_active Withdrawn
- 1983-10-17 WO PCT/US1983/001621 patent/WO1984002410A1/en not_active Application Discontinuation
- 1983-10-17 JP JP83503566A patent/JPS59502159A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0128155A4 (en) | 1987-09-22 |
EP0128155A1 (en) | 1984-12-19 |
WO1984002410A1 (en) | 1984-06-21 |
US4524415A (en) | 1985-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS59502159A (ja) | 仮想マシンデ−タプロセツサ | |
US4493035A (en) | Data processor version validation | |
US4635193A (en) | Data processor having selective breakpoint capability with minimal overhead | |
US4488228A (en) | Virtual memory data processor | |
US5119483A (en) | Application of state silos for recovery from memory management exceptions | |
KR101148495B1 (ko) | 파이프라인 프로세서에서 조건 명령 실행을 촉진시키기 위해 로컬 조건 코드 레지스터를 이용하기 위한 방법 및 장치 | |
JPH02232737A (ja) | パイプライン方式コンピューターシステムにおいてエラーを検出し訂正する方法及び装置 | |
US20080148022A1 (en) | Marking registers as available for register renaming | |
JPH01161448A (ja) | 開発支援特徴を具えるデータプロセツサ | |
JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
WO1985000453A1 (en) | Data processing system | |
EP0405495A2 (en) | Instruction unit logic management apparatus included in a pipelined processing unit | |
JP3154660B2 (ja) | 条件レジスタ・データを一時的にバッファリングする方法およびシステム | |
US4556951A (en) | Central processor with instructions for processing sequences of characters | |
JP2638581B2 (ja) | 命令及びオペランドをプロセッサに提供する取り出し機構 | |
US4559596A (en) | History memory control system | |
JP3170472B2 (ja) | レジスタ・リマップ構造を有する情報処理システム及び方法 | |
US4742449A (en) | Microsequencer for a data processing system using a unique trap handling technique | |
JPH0355851B2 (ja) | ||
JPS58154043A (ja) | 情報処理装置 | |
JPH0282344A (ja) | マルチプロセッサシステムにおけるプログラムのデバッギングの方法 | |
CA1223079A (en) | Data processor having selective breakpoint capability with minimal overhead | |
JPS58166454A (ja) | デ−タ処理装置 | |
JPH07152594A (ja) | 制御プロセッサのリトライ制御方式 | |
JPS63191239A (ja) | 命令再開処理方法および装置 |