JPS6297039A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS6297039A JPS6297039A JP61252782A JP25278286A JPS6297039A JP S6297039 A JPS6297039 A JP S6297039A JP 61252782 A JP61252782 A JP 61252782A JP 25278286 A JP25278286 A JP 25278286A JP S6297039 A JPS6297039 A JP S6297039A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- field
- support device
- cop
- support
- 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
- 238000012545 processing Methods 0.000 claims description 56
- 230000010365 information processing Effects 0.000 claims description 47
- 238000012546 transfer Methods 0.000 abstract description 20
- 230000004044 response Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- OVSKIKFHRZPJSS-UHFFFAOYSA-N 2,4-D Chemical compound OC(=O)COC1=CC=C(Cl)C=C1Cl OVSKIKFHRZPJSS-UHFFFAOYSA-N 0.000 description 1
- 241001133287 Artocarpus hirsutus Species 0.000 description 1
- 208000032368 Device malfunction Diseases 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000855 fermentation Methods 0.000 description 1
- 230000004151 fermentation Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/30181—Instruction operation extension or modification
-
- 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
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
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)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、ソフトウェアの互換性を損うことなく、多数
の支援装置を容易に取付けることができる情報処理装置
に関する。支援装置はプロセッサの能力な拡張するハー
ドウェアである。本発明の情報処理装置はその設計時に
は定義されていない支援装置をサポートすることができ
る。この情報処理装置は基本命令セットの他に、一つあ
るいはより多くの拡張命令セットを実行することができ
る。拡張命令セットには基本信金セットに渾さない命令
が人っている。情報処理1titは、これら拡張命令を
、支援装置を用いて、ハードウェアで実行するか、ある
いはトラップな用いてソフトウェア・エミュレーション
で実行することができる。
の支援装置を容易に取付けることができる情報処理装置
に関する。支援装置はプロセッサの能力な拡張するハー
ドウェアである。本発明の情報処理装置はその設計時に
は定義されていない支援装置をサポートすることができ
る。この情報処理装置は基本命令セットの他に、一つあ
るいはより多くの拡張命令セットを実行することができ
る。拡張命令セットには基本信金セットに渾さない命令
が人っている。情報処理1titは、これら拡張命令を
、支援装置を用いて、ハードウェアで実行するか、ある
いはトラップな用いてソフトウェア・エミュレーション
で実行することができる。
従来技術では、情報処理装置の設計時に支援装置として
どのようなものを便うかが定められていなければ、支援
装置をそれに組込むことは不可能かあるいは非実用的で
あった。情報処理装置に支援装置を組込むと情報処理装
置内部のプロセッサのデータ・バスおよび制御に悪影響
をおよぼし、主処理装置と支援装置の双方について、速
さの要求を満足することができなかった。従ってもつと
実用的に支援装置を組込むことができるような別の機種
を新規に設計しなければならなかった。
どのようなものを便うかが定められていなければ、支援
装置をそれに組込むことは不可能かあるいは非実用的で
あった。情報処理装置に支援装置を組込むと情報処理装
置内部のプロセッサのデータ・バスおよび制御に悪影響
をおよぼし、主処理装置と支援装置の双方について、速
さの要求を満足することができなかった。従ってもつと
実用的に支援装置を組込むことができるような別の機種
を新規に設計しなければならなかった。
従来技術では、情報処理装置に非常に特別なアドオン支
援装置として浮動小数点加速器を組込むことが時々あっ
た。代表的な浮動小数点加速器は処理装置との間に非常
に特殊化されたインターフェースを備えているっこの非
常に特殊化すれたインターフェースでは異なる種類の支
援装置を組込むことができなかった。
援装置として浮動小数点加速器を組込むことが時々あっ
た。代表的な浮動小数点加速器は処理装置との間に非常
に特殊化されたインターフェースを備えているっこの非
常に特殊化すれたインターフェースでは異なる種類の支
援装置を組込むことができなかった。
従来技術では、非常にわずかな支援装置しか情報処理装
置に追加することができない限られた方法が考え出され
た。第1の主処理装置と第1の支援装置とを備えた第1
の情報処理装置のために書かれたソフトウェア−プログ
ラムは、第1の主処理装置を備えているが第1の支援装
置を備えていない第2の情報処理装置ではそのまま実行
することはできなかった。
置に追加することができない限られた方法が考え出され
た。第1の主処理装置と第1の支援装置とを備えた第1
の情報処理装置のために書かれたソフトウェア−プログ
ラムは、第1の主処理装置を備えているが第1の支援装
置を備えていない第2の情報処理装置ではそのまま実行
することはできなかった。
従来技術では、第1の情報処理装置は基本命令セットを
実行するように作られていた。第1の情報処理装置は後
日足義二へた拡張命令を実行できないという欠点を持っ
ていた。従って拡張命令を用いるためには、基本命令セ
ットと拡張命令セットを実行することができる第2のコ
ンピュータを設計しなければならなかった。このような
場合には上向きの互換性は存在しなかった。すなわち、
第2の情報処理装置は、第1の情報処理装置のために書
かれたプログラムを実行することはできるが、逆に第1
の情報処理装置は第2の情報処理装置のために書かれた
プログラムを実行することはできなかった。
実行するように作られていた。第1の情報処理装置は後
日足義二へた拡張命令を実行できないという欠点を持っ
ていた。従って拡張命令を用いるためには、基本命令セ
ットと拡張命令セットを実行することができる第2のコ
ンピュータを設計しなければならなかった。このような
場合には上向きの互換性は存在しなかった。すなわち、
第2の情報処理装置は、第1の情報処理装置のために書
かれたプログラムを実行することはできるが、逆に第1
の情報処理装置は第2の情報処理装置のために書かれた
プログラムを実行することはできなかった。
従来技術では、基本命令内に拡張命令用の多数の命令コ
ードを確保してSくという機構が考えられた。この機構
は最適というには程遠かったつというのは、現在定義さ
れていない拡張命令のために基本命令セットに過度に多
くの命令コード・スペースが確保されてしまうからであ
る。
ードを確保してSくという機構が考えられた。この機構
は最適というには程遠かったつというのは、現在定義さ
れていない拡張命令のために基本命令セットに過度に多
くの命令コード・スペースが確保されてしまうからであ
る。
今述べた機構の変形として、エスケープ(escape
)命令のため最小限の命令コード・スペースを基本命令
内に確保する別の機構が考えられた0エスケープ命令が
現れると、その後に続く命令を基本命令セットの一部と
してデコードするのではなく、別のエスケープ命令が現
われるまで、拡張命令としてデコードするということが
指示される。この第2の機構は拡張命令のために確保す
る命令コードが多すぎるという欠点は解決したが、第1
の情報処理装置はやはり拡張命令を実行することができ
ず、第2の情報処理装置を別に設計しなければならなか
った。
)命令のため最小限の命令コード・スペースを基本命令
内に確保する別の機構が考えられた0エスケープ命令が
現れると、その後に続く命令を基本命令セットの一部と
してデコードするのではなく、別のエスケープ命令が現
われるまで、拡張命令としてデコードするということが
指示される。この第2の機構は拡張命令のために確保す
る命令コードが多すぎるという欠点は解決したが、第1
の情報処理装置はやはり拡張命令を実行することができ
ず、第2の情報処理装置を別に設計しなければならなか
った。
別の従来技術では、情報処理装置は、アドオン支援装置
があってもなくても動作するように設計されていたっこ
のようなコンピュータではシステム構成内にアドオン支
援装置が存在していれば。
があってもなくても動作するように設計されていたっこ
のようなコンピュータではシステム構成内にアドオン支
援装置が存在していれば。
アドオン支援装置用の拡張命令を含んだプログラムはア
ドオン支援装置によりハードウェアで実行されるように
なっていた。システム構成内にアドオン支援装置が存在
していない場合には、拡張命令の代りに分岐命令を用い
てコードを書かなければならなかった。この分岐命令は
゛・F、張命令の実行をエミュレートするソフトウェア
シーチンにジャンプしていた。
ドオン支援装置によりハードウェアで実行されるように
なっていた。システム構成内にアドオン支援装置が存在
していない場合には、拡張命令の代りに分岐命令を用い
てコードを書かなければならなかった。この分岐命令は
゛・F、張命令の実行をエミュレートするソフトウェア
シーチンにジャンプしていた。
分岐命令を用いる方式の重大な久、Q・は、ソフトウェ
アの互換性が無いということである。アドオン支援装置
を組込んでいる第1の情報処理装置のために書かれたコ
ードは、コードを完全にコンパイルしなおさないかぎり
、アドオン支援装置を組込んでいない第2の情報処理装
置上でそのまま実行させることはできない。第2のコン
ピュータのために書かれたコードは、それを第1のコン
ピュータ上で最大限の効率で動作させようとする場せに
は、完全にコンパイルしなおさなければならないO 分岐命令を用いる方式の他の欠点は実行時の耐障害性が
ないことである。つ寸り、アドオン支援装置が故障して
も、実行時にかわりにエミュレーションを行うという選
択をすることができない。
アの互換性が無いということである。アドオン支援装置
を組込んでいる第1の情報処理装置のために書かれたコ
ードは、コードを完全にコンパイルしなおさないかぎり
、アドオン支援装置を組込んでいない第2の情報処理装
置上でそのまま実行させることはできない。第2のコン
ピュータのために書かれたコードは、それを第1のコン
ピュータ上で最大限の効率で動作させようとする場せに
は、完全にコンパイルしなおさなければならないO 分岐命令を用いる方式の他の欠点は実行時の耐障害性が
ないことである。つ寸り、アドオン支援装置が故障して
も、実行時にかわりにエミュレーションを行うという選
択をすることができない。
アドオン支援装置が実行時に故障すれば、第1の情報処
理装置のために書かれたコードは実行することができな
かった。
理装置のために書かれたコードは実行することができな
かった。
本発明は上述した従来技術の問題点を解消し、大きな拡
張性を有する情報処理装置を提供することを目的とする
。
張性を有する情報処理装置を提供することを目的とする
。
本発明の好ましい実施例によれば、主処理装置。
記憶装置、および支援装置な備えた情報処理装置が提供
される。この情報処理装置は追加支援装置を柔軟に組み
入れ、基本命令セットを柔軟に拡張できる。これにより
、支援装置を組込んでいない構成をも含めて色々な支援
装置を組込んだ情報処理装置間でのソフトウェアの互換
性が得られる。
される。この情報処理装置は追加支援装置を柔軟に組み
入れ、基本命令セットを柔軟に拡張できる。これにより
、支援装置を組込んでいない構成をも含めて色々な支援
装置を組込んだ情報処理装置間でのソフトウェアの互換
性が得られる。
支援装置があらかじめ定義したー・−ドウエア・プロト
コールに従う場合には、この支援装置を一組のバスを経
由して主処理装置に取付けるだけで、情報処理に組込む
ことができる。支援装置はそれ自身の命令をデコードす
るので、支援装置が実行8−際の機能動作は後日に定義
することができる。
コールに従う場合には、この支援装置を一組のバスを経
由して主処理装置に取付けるだけで、情報処理に組込む
ことができる。支援装置はそれ自身の命令をデコードす
るので、支援装置が実行8−際の機能動作は後日に定義
することができる。
ハードウェア働プロトコールの設定にあたっては、情報
処理装置に実際に組込1れている支援装置の個数−?特
定の支援装置が行う実際の機能動作に対しては、土弟M
JAfc1tが関知しないように定められる。ハード、
ウェア・プロトコールは、主処理装置が情報処4装置内
の特定の支援装置の有無に無関係に同じように動作でき
るようにするため、ソフトウェア・エミュレーションと
関連して動作する。
処理装置に実際に組込1れている支援装置の個数−?特
定の支援装置が行う実際の機能動作に対しては、土弟M
JAfc1tが関知しないように定められる。ハード、
ウェア・プロトコールは、主処理装置が情報処4装置内
の特定の支援装置の有無に無関係に同じように動作でき
るようにするため、ソフトウェア・エミュレーションと
関連して動作する。
主処理装置は、支援装置が便用するデータ・バスに基き
、以下で説明する二つの方法のいずれかで支援装置と接
続する。支援装置は、特殊機能ユニット(SFUと略す
)あるいはコプロセッ丈(COPと略す)として定義さ
れる。
、以下で説明する二つの方法のいずれかで支援装置と接
続する。支援装置は、特殊機能ユニット(SFUと略す
)あるいはコプロセッ丈(COPと略す)として定義さ
れる。
SFUは主処理装置のレジスタとの間でデータを送受す
る。SFUは主処理装置の内部レジスタ・バスに直接作
用するようにして情報処理装置に組込むことができる。
る。SFUは主処理装置の内部レジスタ・バスに直接作
用するようにして情報処理装置に組込むことができる。
主処理装置の内部レジスタ・バスと直接結合することに
よりSFUは非常に高い性能レベルを達成することがで
きる。主処理装置が1チツプ超大規模集積回路(VLS
I)のような、集積主処理装置の場合も、5FtJを外
部バスに取付けることにより組込むことができる。
よりSFUは非常に高い性能レベルを達成することがで
きる。主処理装置が1チツプ超大規模集積回路(VLS
I)のような、集積主処理装置の場合も、5FtJを外
部バスに取付けることにより組込むことができる。
この場合、性能レベルは低下するが、これ罠より主処理
装置の内部レジスタ・バスに直接作用する構成をとらな
くても良くなる。
装置の内部レジスタ・バスに直接作用する構成をとらな
くても良くなる。
COPは記憶装置との間でデータを送受する。
記憶装置は典型的には主記憶装置があるいは主記憶装置
と関連するキャッシュである。COPは処理装置の内部
レジスタ・バスに作用することなしに情報処理装置に組
込むことができる。COeは処理装置のソフトウェアの
レジスタ割付けや81M化の問題に影響を与えることな
く情報処理装置に組込むことができる。主処理装置はC
OPのためにアドレス計算、仮想記憶装置のアドレシン
グ、および仮想記憶保護のためのチェックを行う。
と関連するキャッシュである。COPは処理装置の内部
レジスタ・バスに作用することなしに情報処理装置に組
込むことができる。COeは処理装置のソフトウェアの
レジスタ割付けや81M化の問題に影響を与えることな
く情報処理装置に組込むことができる。主処理装置はC
OPのためにアドレス計算、仮想記憶装置のアドレシン
グ、および仮想記憶保護のためのチェックを行う。
支援装置の命令は支援装置と他のロケーションとの間で
許容されているあらゆるデータ移動を定義する。主処理
装置は支援装置命令中の処理装置フィールドをデコード
し、サポートする。第1のフィールドに必要なハードウ
ェアの制御とデータ・バスは情報処理装置内に作られる
。支援装置は支援装置命令中の支援装置フィールドをデ
コードし、サポートする。
許容されているあらゆるデータ移動を定義する。主処理
装置は支援装置命令中の処理装置フィールドをデコード
し、サポートする。第1のフィールドに必要なハードウ
ェアの制御とデータ・バスは情報処理装置内に作られる
。支援装置は支援装置命令中の支援装置フィールドをデ
コードし、サポートする。
支援命令の性格は一般的(generic) である
〇ここで一般的と言う意味は、支援命令は、支援装置が
そのデータに対して行う機能動作とは独立にデータ移動
を定義するということである。これにより、情報処理装
置はその設計時には動作を定義しておく心安のなかった
追加支援装置と容易に組会わせて構成できるようになる
。命令コード・スペースの一部は機能動作を後日定義す
ることができるように支援装置命令用に確保される。
〇ここで一般的と言う意味は、支援命令は、支援装置が
そのデータに対して行う機能動作とは独立にデータ移動
を定義するということである。これにより、情報処理装
置はその設計時には動作を定義しておく心安のなかった
追加支援装置と容易に組会わせて構成できるようになる
。命令コード・スペースの一部は機能動作を後日定義す
ることができるように支援装置命令用に確保される。
四つの基本命令コードが、あらゆる可能な命令セットの
拡張に備えて基本命令セット内に確保されている。一つ
の基本命令コードがSFU拡張命令のために、一つがC
OP拡張命令のために、二つがCOPのロード命令とス
トア命令のために。
拡張に備えて基本命令セット内に確保されている。一つ
の基本命令コードがSFU拡張命令のために、一つがC
OP拡張命令のために、二つがCOPのロード命令とス
トア命令のために。
確保されている。これら四つの基本命令コードのどれか
を使っている拡張命令を支援装置命令と呼ぶ。
を使っている拡張命令を支援装置命令と呼ぶ。
基本命令セットの拡張は、支援装置が行うことになって
いる機能動作のため、支援装置命令に確保されている命
令コード・スペースを定義することによって行うことが
できる。支援装置は基本命令セットの拡張を達成する機
能動作を行うように設計することができる。支援装置命
令がどの拡張命令セットを表しているかは、支援装置命
令の支援装置フィールド内のマツプ・フィールドで識別
することができる。マツプ・フィールドは、その支援装
置命令が対象としている支援装置によって検知される。
いる機能動作のため、支援装置命令に確保されている命
令コード・スペースを定義することによって行うことが
できる。支援装置は基本命令セットの拡張を達成する機
能動作を行うように設計することができる。支援装置命
令がどの拡張命令セットを表しているかは、支援装置命
令の支援装置フィールド内のマツプ・フィールドで識別
することができる。マツプ・フィールドは、その支援装
置命令が対象としている支援装置によって検知される。
支援装置命令のためのデータ転送は、情報処理装置でサ
ポートされるから、支援装置を情報処理装置に容易に組
込むことができるう本発明の情報処理装置は、特定の組
の支援装置を組込んで構成することができるので、支援
装置命令を特定のアプリケーションに対して定義し、仕
ヴて上げることができろう ・ 本発明では暗黙のうちの(つまり必要に応じて自動
的に行なわれる)エミュレーションが行なわれる。情報
処理装置が実行時に、存在しないかあるいは故障してい
て動作が不可能な支援装置用の支援装置命令に出逢うと
、主処理装置はエミュレーション・トラップを発生させ
る。この支援装置命令で定義された機能動作をソフトウ
ェアがエミュレートする。支援装置が動作可能であれば
、エミュレーション拳トラップは起らず、支援装置が支
援装置命令を実行する。
ポートされるから、支援装置を情報処理装置に容易に組
込むことができるう本発明の情報処理装置は、特定の組
の支援装置を組込んで構成することができるので、支援
装置命令を特定のアプリケーションに対して定義し、仕
ヴて上げることができろう ・ 本発明では暗黙のうちの(つまり必要に応じて自動
的に行なわれる)エミュレーションが行なわれる。情報
処理装置が実行時に、存在しないかあるいは故障してい
て動作が不可能な支援装置用の支援装置命令に出逢うと
、主処理装置はエミュレーション・トラップを発生させ
る。この支援装置命令で定義された機能動作をソフトウ
ェアがエミュレートする。支援装置が動作可能であれば
、エミュレーション拳トラップは起らず、支援装置が支
援装置命令を実行する。
エミュレーション・トラップは遅延付きの暗黙のうちに
起るトラップである。ハードウェア・プロトコールによ
り、支援装置に対し、その存在とそれが活動状態にある
ということを返答し、それによりエミュレーション・ト
ラップが起らないようにすることが要求される。支援装
置がその存在応答を返さないときには、それが存在しな
いと見ナサれ、エミュレーション・トラップが起る。
起るトラップである。ハードウェア・プロトコールによ
り、支援装置に対し、その存在とそれが活動状態にある
ということを返答し、それによりエミュレーション・ト
ラップが起らないようにすることが要求される。支援装
置がその存在応答を返さないときには、それが存在しな
いと見ナサれ、エミュレーション・トラップが起る。
支援装置命令とハードウェア・プロトコールを設けるこ
とにより、情報処理装置を一組の支援装置と組合わせて
構成し、かくして、命令セットの拡張をバー ドウエア
で実行させることができる。
とにより、情報処理装置を一組の支援装置と組合わせて
構成し、かくして、命令セットの拡張をバー ドウエア
で実行させることができる。
情報処理装置を特定の支援装置無しで構成したときは、
この組込まれていない特定の支援装置にマツプされる支
援装置命令に対するエミュレーション・トラップが起る
ので、これら支援命令はソフトウェアでエミュレートす
ることができる。
この組込まれていない特定の支援装置にマツプされる支
援装置命令に対するエミュレーション・トラップが起る
ので、これら支援命令はソフトウェアでエミュレートす
ることができる。
エミュレーション・トラップにより、特定の支援装置の
ない構成でもその支援装置にマツプされた特定の支援装
置命令を含むコードを実行することができるので、上向
きのソフトウェア互換性が得られる。暗黙のエミュレー
ション−トラップとハードウェア支援装置のプロトコー
ルにより、耐障害性も得られる。それは実行時に支援装
置が故障すると、エミュレーション・トラップが暗黙の
うちに、つまり自動的に起り、対応する支援装置命令を
ソフトウェアで実行するからである。これにより、性能
は低下するものの、実行は継続される。したがって1本
発明によれば、上向きのソフトウェア互換性ばかりでな
く耐障害性の向上という特徴も得られるっ 〔発明の実施例〕 第1図は1tFUとCOPを組込んで構成された情報処
理装置のブロック図である。主処理装置】03はデータ
・パス105を経由してSF’U107.C0P109
、および記憶袋#111と接続されている。
ない構成でもその支援装置にマツプされた特定の支援装
置命令を含むコードを実行することができるので、上向
きのソフトウェア互換性が得られる。暗黙のエミュレー
ション−トラップとハードウェア支援装置のプロトコー
ルにより、耐障害性も得られる。それは実行時に支援装
置が故障すると、エミュレーション・トラップが暗黙の
うちに、つまり自動的に起り、対応する支援装置命令を
ソフトウェアで実行するからである。これにより、性能
は低下するものの、実行は継続される。したがって1本
発明によれば、上向きのソフトウェア互換性ばかりでな
く耐障害性の向上という特徴も得られるっ 〔発明の実施例〕 第1図は1tFUとCOPを組込んで構成された情報処
理装置のブロック図である。主処理装置】03はデータ
・パス105を経由してSF’U107.C0P109
、および記憶袋#111と接続されている。
主処理装置103は制御ユニット115、処理装置機能
ユニット】17、レジスタ群119、および処理装置バ
ス・インターフェース125を備えている。
ユニット】17、レジスタ群119、および処理装置バ
ス・インターフェース125を備えている。
制御ユニット115は命令127を記憶装置111から
データ・バス105と処理装置バス・インターフェース
125を経由して受取る。
データ・バス105と処理装置バス・インターフェース
125を経由して受取る。
記憶装置1I1111は複数のメモリ・アドレス121
を備えている。複数のワードが記憶装置111 K記憶
されており、各ワードは対応するメモリ・アドレスにあ
るロケーションに置かれている。命令127は単に複数
のメモリ・アドレス121の中にある複数の命令中の一
つの命令である。複数のワード中一つのワードであるワ
ード169も複数のメモリ・アドレス121の中にある
。
を備えている。複数のワードが記憶装置111 K記憶
されており、各ワードは対応するメモリ・アドレスにあ
るロケーションに置かれている。命令127は単に複数
のメモリ・アドレス121の中にある複数の命令中の一
つの命令である。複数のワード中一つのワードであるワ
ード169も複数のメモリ・アドレス121の中にある
。
命令127は処理装置フィールド129と支援装置フィ
ールド131から成っている。制御ユニフト1】5は処
理装置フィールド129をデコードする。処理装置フィ
ールド129により、命令127が基本命令であること
が示されると、処理装置機能ユニット117は、必要な
オペランドまたは結果なレジスタ・ファイル119また
は記憶装置111にロードあるいはストアして、命令1
27を実行する。
ールド131から成っている。制御ユニフト1】5は処
理装置フィールド129をデコードする。処理装置フィ
ールド129により、命令127が基本命令であること
が示されると、処理装置機能ユニット117は、必要な
オペランドまたは結果なレジスタ・ファイル119また
は記憶装置111にロードあるいはストアして、命令1
27を実行する。
−がレジスタ群119の中の一つのレジスタに記憶され
る。命令127が入っているメモリ・アドレス161を
示す命令スペース(その命令が入っているアドレス空間
番号)と命令オフセント(命令スペース間でのオフセッ
ト)もレジスタ・ファイル119に記憶される。命令1
27の中でデータ参照が指定さnると、データ・アドレ
スを示すデータ・スペーストテータ・オフセットもレジ
スタ群119に記憶される。
る。命令127が入っているメモリ・アドレス161を
示す命令スペース(その命令が入っているアドレス空間
番号)と命令オフセント(命令スペース間でのオフセッ
ト)もレジスタ・ファイル119に記憶される。命令1
27の中でデータ参照が指定さnると、データ・アドレ
スを示すデータ・スペーストテータ・オフセットもレジ
スタ群119に記憶される。
命令127はまたSF’U107またはCOP 109
に転送される。制御ユニット115は処理装置フィール
ド】29で定義されたデータの転送を指揮する。
に転送される。制御ユニット115は処理装置フィール
ド】29で定義されたデータの転送を指揮する。
支援装置フィールド131はマツプ・フィールド131
を備えてSす、これにより命令127をS F U 1
07に、C0P109に、あるいは他の支援装置に割当
てる。
を備えてSす、これにより命令127をS F U 1
07に、C0P109に、あるいは他の支援装置に割当
てる。
5FUH)7はSF’U制御ユニット135、SFU機
能ユニット137、およびSF’Uパス・インターフェ
ース139を備えている。SFU機能ユニット137は
支援装置フィールド131を実行する。制御ユニット1
15は5FLJバス・インターフェース139に対し、
支援装置制御バス159を介して指令を与える。制御ユ
ニット115はまた、Vジスタ群119中のレジスタ1
63とSFUIIm能ユニソ)1370間でのデータ・
バス141な経由したデータ転送を指令する。
能ユニット137、およびSF’Uパス・インターフェ
ース139を備えている。SFU機能ユニット137は
支援装置フィールド131を実行する。制御ユニット1
15は5FLJバス・インターフェース139に対し、
支援装置制御バス159を介して指令を与える。制御ユ
ニット115はまた、Vジスタ群119中のレジスタ1
63とSFUIIm能ユニソ)1370間でのデータ・
バス141な経由したデータ転送を指令する。
COP 109はCOP制御ユニット143、COP機
能ユニット145、およびCOPバス・イノターフエー
ス147を備えている。COPバス・インターフェース
147は命令127をCOP制御ユニット143に伝え
る。COP機能ユニット145は支援製装置フィールド
131を実行する。制御ユニット115はCOPバス−
インターフェース147に対して支援装置制御バス15
9を経由して指示を与える。制御ユニット115はメモ
リ・アドレス151.!−COP機能ユニット145と
の間でデーターバス149を経由したデータ転送の指示
を辱える。
能ユニット145、およびCOPバス・イノターフエー
ス147を備えている。COPバス・インターフェース
147は命令127をCOP制御ユニット143に伝え
る。COP機能ユニット145は支援製装置フィールド
131を実行する。制御ユニット115はCOPバス−
インターフェース147に対して支援装置制御バス15
9を経由して指示を与える。制御ユニット115はメモ
リ・アドレス151.!−COP機能ユニット145と
の間でデーターバス149を経由したデータ転送の指示
を辱える。
データ・バス141は、レジスタ119の中の特定のレ
ジスタと複数の5FUfi能ユニツトの中の特定のSF
U機能ユニットとの間でデータを転送することができる
っまたデータ・バス149は、複数のメモリーアドレス
121の中の特定のメモリーアドレスと複数のCOP機
能ユニットの中の特定の1シJPfi!能ユニツトとの
間でデータを転送することができる。
ジスタと複数の5FUfi能ユニツトの中の特定のSF
U機能ユニットとの間でデータを転送することができる
っまたデータ・バス149は、複数のメモリーアドレス
121の中の特定のメモリーアドレスと複数のCOP機
能ユニットの中の特定の1シJPfi!能ユニツトとの
間でデータを転送することができる。
ワード169を記憶し−〔いるメモリーアドレス151
は複数のメモリ・アドレス121中に配置されている。
は複数のメモリ・アドレス121中に配置されている。
メモリ・アドレスは記憶装置バス・イノターフエース1
53を通してアクセスされる。このインターフェースは
制御ユニット115により記憶装置制御バス155を経
由して指令されるうエミュレーション・トラップ・ハン
ドラ157は記憶装置111の中に入っている。
53を通してアクセスされる。このインターフェースは
制御ユニット115により記憶装置制御バス155を経
由して指令されるうエミュレーション・トラップ・ハン
ドラ157は記憶装置111の中に入っている。
第2図は代表的なSFU命令203を詳細に説明するた
めの図である。SFU命令203は処理装置フィールド
205と支援装置フィールド207とを備えている。処
理装置フィールド205は主処理装置103によりデコ
ード/実行され、また支援装置フィールド2071ギS
FU]07によりデコード/実行される。処理装置フィ
ールド205は主命令フィールド209.レジスタ・タ
ーゲット−フィード211、および副命令コード・フィ
ールド225を備えている。支援装置フィールド207
はマツプ−フィールド213と機能コード・フィールド
215とを備えている。
めの図である。SFU命令203は処理装置フィールド
205と支援装置フィールド207とを備えている。処
理装置フィールド205は主処理装置103によりデコ
ード/実行され、また支援装置フィールド2071ギS
FU]07によりデコード/実行される。処理装置フィ
ールド205は主命令フィールド209.レジスタ・タ
ーゲット−フィード211、および副命令コード・フィ
ールド225を備えている。支援装置フィールド207
はマツプ−フィールド213と機能コード・フィールド
215とを備えている。
主命令コード・フィールド209はSFU命令127が
支援装置命令であることを示している。副命令コード・
フィールド225は行うべき特定の種類の一般的データ
転送、この例ではr S 、F Uからのストア」、を
示している。レジスタ“・ターゲット・フィールド21
1はレジスタ群119中のレジスタ217を指定する。
支援装置命令であることを示している。副命令コード・
フィールド225は行うべき特定の種類の一般的データ
転送、この例ではr S 、F Uからのストア」、を
示している。レジスタ“・ターゲット・フィールド21
1はレジスタ群119中のレジスタ217を指定する。
主命令コード皐フィールド209は主処理装置103
K作用して、支援装置から発するデ−タ・ワード219
をデータ・バス105からレジスタ217まで転送せし
める。主処理装置103はどの特定の支援装置からデー
タ・ワード219が発せられるかには関与しない。主処
理装置103は、任意の与えられた時点に0個から16
個までの支援装置をサポートするノ・−ドウエアープロ
トコールにより、すべての支援装置と通信する。・・−
ドウニア拳プロトコールについては、第6図と関連して
下に一層詳細に述べる。
K作用して、支援装置から発するデ−タ・ワード219
をデータ・バス105からレジスタ217まで転送せし
める。主処理装置103はどの特定の支援装置からデー
タ・ワード219が発せられるかには関与しない。主処
理装置103は、任意の与えられた時点に0個から16
個までの支援装置をサポートするノ・−ドウエアープロ
トコールにより、すべての支援装置と通信する。・・−
ドウニア拳プロトコールについては、第6図と関連して
下に一層詳細に述べる。
S F U 221はSE′U群223の中にある。マ
ツプ拳フイ・−ルド213はSFU命令203をS F
U 221にマツプすなわち割付ける。機能コード・
フィールド215はS F U 223に対し、指定さ
れた組のオペランドに関する指定された機能動作を実行
するよう指示する。主命令フィールド209と機能コー
ド・フィールド215はS F U 221に対し、デ
ータ・ワード219をデータバス105上に転送するよ
うに指示する。
ツプ拳フイ・−ルド213はSFU命令203をS F
U 221にマツプすなわち割付ける。機能コード・
フィールド215はS F U 223に対し、指定さ
れた組のオペランドに関する指定された機能動作を実行
するよう指示する。主命令フィールド209と機能コー
ド・フィールド215はS F U 221に対し、デ
ータ・ワード219をデータバス105上に転送するよ
うに指示する。
主処理装置103は、支援装置フィールド207をデコ
ードせず、また主処理装置1()3は各支援装置に対し
同じ態様でインターフェースされるので、将来筒2の支
援装置を設計して、データ・バス105および支援装置
制御バス159と容易に接続することができる。第2の
支援装置が主処理装置1()3と接続する際ハードウェ
ア・プロトコールにしたがう限り、機能コード・フィー
ルド215は現在定義されていない動作をこの第2の支
援装置に行Jフせることかできる。
ードせず、また主処理装置1()3は各支援装置に対し
同じ態様でインターフェースされるので、将来筒2の支
援装置を設計して、データ・バス105および支援装置
制御バス159と容易に接続することができる。第2の
支援装置が主処理装置1()3と接続する際ハードウェ
ア・プロトコールにしたがう限り、機能コード・フィー
ルド215は現在定義されていない動作をこの第2の支
援装置に行Jフせることかできる。
他のSFU命令は、同じ主命令コード・フィールド20
9を持つが、副命令コード・フィールド225は異なっ
ているという形で定義される。これにより、処理装置と
任意のSFUとの間での他の形態の一般的データ転送が
できるようにしているったとえば、このようにし−C定
義された他のSFU命令により、ゼロ、一つ、または二
つのワードをレジスタ・ファイル119中の処理装置レ
ジスタからSFU転送することができる。
9を持つが、副命令コード・フィールド225は異なっ
ているという形で定義される。これにより、処理装置と
任意のSFUとの間での他の形態の一般的データ転送が
できるようにしているったとえば、このようにし−C定
義された他のSFU命令により、ゼロ、一つ、または二
つのワードをレジスタ・ファイル119中の処理装置レ
ジスタからSFU転送することができる。
第3図は代表的なCOPロード・メモリ命令303の動
作を詳細に説明するための図である。COP命令303
は処理装置フィールド305と支援装置フィールド30
7とを備えている。処理装置フィールド305は主処理
装置103でデフ−4行されるが。
作を詳細に説明するための図である。COP命令303
は処理装置フィールド305と支援装置フィールド30
7とを備えている。処理装置フィールド305は主処理
装置103でデフ−4行されるが。
支援装置フィールド307はCOP 109によりデコ
ードされ実行されるつ処理装置フィールド305は主命
令コード警フィールド311、レジスタ・ソース・フィ
ールド3】3、レジスタ・インデクスーフイ・−ルド3
15、およびスペース・レジスタ指示子317を備えて
いる。支援装置フィールド307はマツプ・フィード3
19とレジスタ・ターゲット書フィールド321とを備
えている。
ードされ実行されるつ処理装置フィールド305は主命
令コード警フィールド311、レジスタ・ソース・フィ
ールド3】3、レジスタ・インデクスーフイ・−ルド3
15、およびスペース・レジスタ指示子317を備えて
いる。支援装置フィールド307はマツプ・フィード3
19とレジスタ・ターゲット書フィールド321とを備
えている。
レジスタ・ソース・フィールド313は主処理装置10
3内レジスタ群119の中のソース・レジスタ323を
指定する。レジスタ拳インテクスeフィールド315は
レジスタ群119の中のインデクス・レジスタ325を
指定する。スペース・レジスタ指示子317 ハスペー
ス拳レジスタ群327の中のスペース・レジスタ341
を指定する。
3内レジスタ群119の中のソース・レジスタ323を
指定する。レジスタ拳インテクスeフィールド315は
レジスタ群119の中のインデクス・レジスタ325を
指定する。スペース・レジスタ指示子317 ハスペー
ス拳レジスタ群327の中のスペース・レジスタ341
を指定する。
主処理装置103は、ソース・レジスタ323.インチ
フス−レジスタ325、スペース・レジスタ341、お
よび処理装置フィールド305中の他のデータに基いて
、実効アドレスを計算する。主処理装置103は実効ア
ドレスを計算して仮想アドレス指定の完全さと保護チェ
ックの完全さが確実に維持されるようにする。ここで実
効アドレスとは仮想アドレス・スペースとアドレス・オ
フセットとを連結したものである。仮想アドレス・スペ
ースはスペース・レジスタ341の中のデータと処理装
置フィールド305の中の他のデータとから計算される
。アドレス・オフセットはソース・レジスタ323、イ
ンデクス・レジスタ325の中のデータと処理装置フィ
ールド305中の他のデータから計算される。
フス−レジスタ325、スペース・レジスタ341、お
よび処理装置フィールド305中の他のデータに基いて
、実効アドレスを計算する。主処理装置103は実効ア
ドレスを計算して仮想アドレス指定の完全さと保護チェ
ックの完全さが確実に維持されるようにする。ここで実
効アドレスとは仮想アドレス・スペースとアドレス・オ
フセットとを連結したものである。仮想アドレス・スペ
ースはスペース・レジスタ341の中のデータと処理装
置フィールド305の中の他のデータとから計算される
。アドレス・オフセットはソース・レジスタ323、イ
ンデクス・レジスタ325の中のデータと処理装置フィ
ールド305中の他のデータから計算される。
ワード329は記憶装置内の上述のようにして得られた
実効アドレスに配置されている。COP 331は機能
ユニット333を備えており、これはレジスタ群339
を備えている。ワード329はレジスタ群329の中の
夕、−ゲット・レジスタ337にロードされる。COP
331はCOP群335に属しているっマツプ・フィ
ールド319はCOP命令303をC0P331にマツ
プする。ターゲット・レジスタ337はレジスタ・ター
ゲット・フィール321 Kより指定される。他のCO
F’ロード命令およびCOPストア命令は同様に定義さ
れるうただし、転送されるデータの量と、実効アドレス
な計算する方法が異なる。COPストア命令では、デー
タはCoPh1ら記憶装置111に転送されろう 第4図は第3図のものとは異なるCOP命令403を詳
細に説明するための図である。COP命令403は処l
1fla +tフィールド405と支援装置フィールド
409を備えている。処理装置フィールド405は主命
令コードから成る。支援装置フィールド409はマツプ
・フィールド411と機能コード・フィールド413と
を備えている。
実効アドレスに配置されている。COP 331は機能
ユニット333を備えており、これはレジスタ群339
を備えている。ワード329はレジスタ群329の中の
夕、−ゲット・レジスタ337にロードされる。COP
331はCOP群335に属しているっマツプ・フィ
ールド319はCOP命令303をC0P331にマツ
プする。ターゲット・レジスタ337はレジスタ・ター
ゲット・フィール321 Kより指定される。他のCO
F’ロード命令およびCOPストア命令は同様に定義さ
れるうただし、転送されるデータの量と、実効アドレス
な計算する方法が異なる。COPストア命令では、デー
タはCoPh1ら記憶装置111に転送されろう 第4図は第3図のものとは異なるCOP命令403を詳
細に説明するための図である。COP命令403は処l
1fla +tフィールド405と支援装置フィールド
409を備えている。処理装置フィールド405は主命
令コードから成る。支援装置フィールド409はマツプ
・フィールド411と機能コード・フィールド413と
を備えている。
COP 415はCOP群417中にある。マツプ・フ
ィールド411はCOP命令をCOP 415にマツプ
する。ffl能コード・フィールド413は指定された
オペランドに関する指定された機能動作をC0P415
に行わせる。
ィールド411はCOP命令をCOP 415にマツプ
する。ffl能コード・フィールド413は指定された
オペランドに関する指定された機能動作をC0P415
に行わせる。
第5図はエミュレーション・トラップに関連スる動作を
示すフローチャートである。主処理装置103はパイプ
ライン・モードで動作1−ることができるので、異なる
命令に対する複数のパイプライン・ステージが同時に行
われる。ステップ511で、主処理装置1()3が命令
を記憶装置からフェッチし。
示すフローチャートである。主処理装置103はパイプ
ライン・モードで動作1−ることができるので、異なる
命令に対する複数のパイプライン・ステージが同時に行
われる。ステップ511で、主処理装置1()3が命令
を記憶装置からフェッチし。
制御ユニット115が命令をデコード−「るっステップ
513で、制御ユニット1】5が、この命令は支援装置
命令ではなく基本命令であることを確認すると、処理装
置機能ユニツl−117はステップ515で基本命令を
実行する。主処理装置103はステップ511に戻る。
513で、制御ユニット1】5が、この命令は支援装置
命令ではなく基本命令であることを確認すると、処理装
置機能ユニツl−117はステップ515で基本命令を
実行する。主処理装置103はステップ511に戻る。
かくして他の命令が7エツチされデコードされる。
制御ユニット115がステップ513で、フェッチされ
た命令が支援命令であることを確認゛「ると。
た命令が支援命令であることを確認゛「ると。
ステップ517で支援命令およびこの支援命令のアドレ
スを示す情報が、レジスタ$119の中の割込みパラメ
ータ・レジスタに退避される。コプロセッサのロード命
令とストア命令との場合には、関連スるデータ・ワード
の実効アドレスを示す情報も割込みパラメータ・レジス
タに退避すれる。パイプライン方式の主処理袋#103
では、割込が実際に起ったとき、これら割込みパラメー
タ・レジスタに、割込みを起した命令に関する情報が含
まれるような形態で退避が行なわれる。ステップ51と
で、制御ユニット115は、コプロセッサ構成レジスタ
中の実行されるべき支援装置命令に対応する支援装置に
割当てられたビットがセットされているか否かを(11
認1−る。システムの初期設定時に、コプロセッサ構成
レジスタ中の、システムのハードウェア構成に含まれる
コプロセッサに対応スる全ピントがセットされる。コプ
ロセッサ構成レジスタはレジスタ群1]9の中の一つの
レジスタである。コプロセッサ構成レジスタ中の対応す
るビットがセントされていると、ステップ519に実行
が移る。そうでない場合は、主処理装置がステップ53
1でエミュレーション自トラップを起す。
スを示す情報が、レジスタ$119の中の割込みパラメ
ータ・レジスタに退避される。コプロセッサのロード命
令とストア命令との場合には、関連スるデータ・ワード
の実効アドレスを示す情報も割込みパラメータ・レジス
タに退避すれる。パイプライン方式の主処理袋#103
では、割込が実際に起ったとき、これら割込みパラメー
タ・レジスタに、割込みを起した命令に関する情報が含
まれるような形態で退避が行なわれる。ステップ51と
で、制御ユニット115は、コプロセッサ構成レジスタ
中の実行されるべき支援装置命令に対応する支援装置に
割当てられたビットがセットされているか否かを(11
認1−る。システムの初期設定時に、コプロセッサ構成
レジスタ中の、システムのハードウェア構成に含まれる
コプロセッサに対応スる全ピントがセットされる。コプ
ロセッサ構成レジスタはレジスタ群1]9の中の一つの
レジスタである。コプロセッサ構成レジスタ中の対応す
るビットがセントされていると、ステップ519に実行
が移る。そうでない場合は、主処理装置がステップ53
1でエミュレーション自トラップを起す。
ステップ519で、制御ユニット115は支援装置側(
財)バス159内に、エミュレーション信号を出す。
財)バス159内に、エミュレーション信号を出す。
あるいはこの信号は、支援v:、置制割バス159の当
該信号線をプルアンプすることにより通常量されている
ようにし−〔おく。支援装置命令はデータ・バス105
上に放送される。主処理装置103は暗黙の遅延トラッ
プを発するうこの暗黙の遅延トラップはエミレーション
・トラップでアル。エミュレーション・トラップは、成
る時間が経過してもなSエミュレーション信号が出され
ている場合に起る。支援装置命令が動作することかでき
ない支援装置にマッグされると、エミュレーション信号
は落されない、あるいはフル拳ダウンされない。
該信号線をプルアンプすることにより通常量されている
ようにし−〔おく。支援装置命令はデータ・バス105
上に放送される。主処理装置103は暗黙の遅延トラッ
プを発するうこの暗黙の遅延トラップはエミレーション
・トラップでアル。エミュレーション・トラップは、成
る時間が経過してもなSエミュレーション信号が出され
ている場合に起る。支援装置命令が動作することかでき
ない支援装置にマッグされると、エミュレーション信号
は落されない、あるいはフル拳ダウンされない。
支援装置命令が、動作することができる支援装置にマツ
プされると、この支援装置は、ステップ523で工<
:LL/−ジョン信号を落し支援装置命令を実行するこ
とにより主処理袋#103に知らせる。
プされると、この支援装置は、ステップ523で工<
:LL/−ジョン信号を落し支援装置命令を実行するこ
とにより主処理袋#103に知らせる。
エミュレーション信号な落すのは、主処理装置103が
支援装置命令についての遅延トラップを実際に起さない
ようにするためである。
支援装置命令についての遅延トラップを実際に起さない
ようにするためである。
主処理装置103がステップ525でエミュレーション
16号が今なお上ったままになっていることを確認する
と、主処理装置103はソフトウェア・エミュレーショ
ン・トラッフヲ起し、ステップ531でエミュレーショ
ン・トラップ・ハンドラ157カ匙って、支援装置命令
をエミュレートする。
16号が今なお上ったままになっていることを確認する
と、主処理装置103はソフトウェア・エミュレーショ
ン・トラッフヲ起し、ステップ531でエミュレーショ
ン・トラップ・ハンドラ157カ匙って、支援装置命令
をエミュレートする。
エミュレーション・トラップ・ハンドラ157ハ、支援
装置命令をエミュレートする適切な工はニレ−ジョン・
コードにジャンプするために、どの支援装置がマツプさ
れどの動作が望まれているかを判断スる。エミュレーシ
ョン・トラップ・ハンドラ157は支援装置命令を再フ
エツチしたりあるいは支援装置命令のアドレスや関連す
るデータ・ワードのアドレスを知るために時間を浪費し
ない。
装置命令をエミュレートする適切な工はニレ−ジョン・
コードにジャンプするために、どの支援装置がマツプさ
れどの動作が望まれているかを判断スる。エミュレーシ
ョン・トラップ・ハンドラ157は支援装置命令を再フ
エツチしたりあるいは支援装置命令のアドレスや関連す
るデータ・ワードのアドレスを知るために時間を浪費し
ない。
というのは適切な晴が既にレジスタ群119中の割込み
パラメーターレジスタに保存されているからである。仮
に割込みパラメータ・レジスタが設けられ−(いないと
すれば、主処理装置103がパイプライン方式である場
せには、このような情報はもはや主処理装置103の中
には存在しなくなってしまう。
パラメーターレジスタに保存されているからである。仮
に割込みパラメータ・レジスタが設けられ−(いないと
すれば、主処理装置103がパイプライン方式である場
せには、このような情報はもはや主処理装置103の中
には存在しなくなってしまう。
第6図は第1図に示した支援装置制御バス159の一例
を一層詳細に示すブロック図である。主処理装置103
.5FU107.およびCOP 109は、データ・バ
ス105を経由して記憶装置111に接続されている。
を一層詳細に示すブロック図である。主処理装置103
.5FU107.およびCOP 109は、データ・バ
ス105を経由して記憶装置111に接続されている。
主処理装置]03、S F” U 1(17、およびC
OP 109はまた支援装置制御バス159を経由して
互いに接続されている。支援装置制御バス159信号「
支援装置エミュレートJ 606 CjlMUと略す)
、信号「支援装置例外J 608 (AEXCと略す)
、信号1支援装置S効化J 610(ANULと略す)
、および信号1支援装置薄備完3’ j 612(AR
DYと略す)から成る。
OP 109はまた支援装置制御バス159を経由して
互いに接続されている。支援装置制御バス159信号「
支援装置エミュレートJ 606 CjlMUと略す)
、信号「支援装置例外J 608 (AEXCと略す)
、信号1支援装置S効化J 610(ANULと略す)
、および信号1支援装置薄備完3’ j 612(AR
DYと略す)から成る。
A I N I T 602は主処理装置103からの
信号で「支援サイクル」のタイミングを取り、寸たこの
サイクルであることを示すためのものである。
信号で「支援サイクル」のタイミングを取り、寸たこの
サイクルであることを示すためのものである。
ADTR604は主処理装置103からの信号で、支援
サイクルがデータ転送サイクルであるか命令サイクルで
あるかを識別する。ARDY612は支援装置からの応
答信号で、支援装置が継続動作する準備を完了している
ことを示す。
サイクルがデータ転送サイクルであるか命令サイクルで
あるかを識別する。ARDY612は支援装置からの応
答信号で、支援装置が継続動作する準備を完了している
ことを示す。
人gMU 606は支援装置からの応答信号で、支援装
置が構成内に存在し、したがってソフトウェアでエミュ
レートする必要がないことを示す。
置が構成内に存在し、したがってソフトウェアでエミュ
レートする必要がないことを示す。
入E X C608は支援装置からの応答信号で、動作
を酊尾よく完了することができないこと、および例外ト
ラップを起して何か必要な処理を行うべきことを示す。
を酊尾よく完了することができないこと、および例外ト
ラップを起して何か必要な処理を行うべきことを示す。
A N U T、 6]0は支援装置からの応答信号で
、次の命令を無効(たとえば1次の命令は実効されるの
だが、その結果のストアを抑止することにより実行され
たかったと同じになるようにすること)にすべきことを
示す。ANULfilOは一般に支援装置に条件を試験
させることと関連して使用される。つまりその条件が満
足された場合に次の分岐命令等を無効にするのに使用さ
れる。
、次の命令を無効(たとえば1次の命令は実効されるの
だが、その結果のストアを抑止することにより実行され
たかったと同じになるようにすること)にすべきことを
示す。ANULfilOは一般に支援装置に条件を試験
させることと関連して使用される。つまりその条件が満
足された場合に次の分岐命令等を無効にするのに使用さ
れる。
処理装置フィールド129により、命令127が支援装
置命令であることを制御ユニフト115が検知すると、
主処理装置1103は命令127を1クロンク、サイク
ルの間データ・バス上に置く。命令127は特定の支援
装置にマツプされる。この特定の支援装置は、もしそれ
がンステムに組込楕れており、かつ活性状態であれば、
命令127の中のマツプ・フ・イールド133中の特定
の1直を認識するようになっている。クロック・サイク
ルは命令サイクルと呼ばれる。主処理装置】03は命令
サイクルの前半にA I N I T 602 を出
す。命令サイクルの期間中、主処理装置103はAD’
rR14を落して、データ転送ではなく、支援装置命令
がデータ・バス105を通って到来していることを示す
。
置命令であることを制御ユニフト115が検知すると、
主処理装置1103は命令127を1クロンク、サイク
ルの間データ・バス上に置く。命令127は特定の支援
装置にマツプされる。この特定の支援装置は、もしそれ
がンステムに組込楕れており、かつ活性状態であれば、
命令127の中のマツプ・フ・イールド133中の特定
の1直を認識するようになっている。クロック・サイク
ルは命令サイクルと呼ばれる。主処理装置】03は命令
サイクルの前半にA I N I T 602 を出
す。命令サイクルの期間中、主処理装置103はAD’
rR14を落して、データ転送ではなく、支援装置命令
がデータ・バス105を通って到来していることを示す
。
応答サイクルと呼ばれるクロック・サイクルは命令サイ
クルに続く。応答サイクルの立下り縁で、主処理装置1
03はAEMU6(’16.ARDY612、AEXC
608、およびANUL610をサンプリングする。
クルに続く。応答サイクルの立下り縁で、主処理装置1
03はAEMU6(’16.ARDY612、AEXC
608、およびANUL610をサンプリングする。
マツプ・フィールド]33が命令127を存在しないか
あるいは故障している支援装置にマツプすると。
あるいは故障している支援装置にマツプすると。
どの支援装置はマツプ拳フィールド133を認識せず、
AI?:MU6ohは上った1まになっている。AEM
U 606が上ったままになっていると、主処理装置t
103はエミュレーション9トラツプを起し、支援装
置命令がソフトウェアでエミュレートされるっマノブー
フィールド133により命令127が存在し且つ生きて
いる支援装置にマツプされていると、このマツプされた
支援装置は人EMU 606を落す。
AI?:MU6ohは上った1まになっている。AEM
U 606が上ったままになっていると、主処理装置t
103はエミュレーション9トラツプを起し、支援装
置命令がソフトウェアでエミュレートされるっマノブー
フィールド133により命令127が存在し且つ生きて
いる支援装置にマツプされていると、このマツプされた
支援装置は人EMU 606を落す。
支援装置が人RDYfi12を上げていると、支援装置
は主処理装置103に対して、AIEXC608とAN
UL610 の喧が有効であること?示す。支援装置
はARDY6]2を上げて支援装置がデータ転送サイク
ルで動作を継続する準備が完了していることを示す。支
援装置が存在していても、継続の準備が完rし−〔いな
ければ、支援装置はARDY612とAgMU606を
落す。
は主処理装置103に対して、AIEXC608とAN
UL610 の喧が有効であること?示す。支援装置
はARDY6]2を上げて支援装置がデータ転送サイク
ルで動作を継続する準備が完了していることを示す。支
援装置が存在していても、継続の準備が完rし−〔いな
ければ、支援装置はARDY612とAgMU606を
落す。
ARDY612 が応答サイクル中に落ちると、主処理
装置103は一つ以上の待ちサイクルを実行する。各待
ちサイクルの中央で、主処理装置103はARDY61
2 をサンプリングする。ARDYfi12が支援装置
により上げられる1で待ちサイクルが継続し、主処理装
置103はサンプリングを続ける。
装置103は一つ以上の待ちサイクルを実行する。各待
ちサイクルの中央で、主処理装置103はARDY61
2 をサンプリングする。ARDYfi12が支援装置
により上げられる1で待ちサイクルが継続し、主処理装
置103はサンプリングを続ける。
待ちサイクルの後、主処理装置103は一つ以上めデー
タ転送サイクルを通じてADTR6n4を上げることに
より、支援装置命令ではなく、転送データがデータ・バ
ス105を通って到来していることを示す。土弟埋装#
103は最初のデータ転送サイクルの前半にAINI’
rfi02を上げる。
タ転送サイクルを通じてADTR6n4を上げることに
より、支援装置命令ではなく、転送データがデータ・バ
ス105を通って到来していることを示す。土弟埋装#
103は最初のデータ転送サイクルの前半にAINI’
rfi02を上げる。
命令127が5FU107にマツプされたrsF’tJ
へ17)ストアNよび動作J (5tore from
SFU andoperate)命令であるときは
、S 、F’ Uノ(ス・インターフェース139は支
援装置フィールド13]により指定されたデータをデー
タ・バス105に出力する。処理装置バス・インターフ
ェース125は指定されたデータをラッチし、このデー
タな処理装置フィールド129により指定されたレジス
タ163に転送する。
へ17)ストアNよび動作J (5tore from
SFU andoperate)命令であるときは
、S 、F’ Uノ(ス・インターフェース139は支
援装置フィールド13]により指定されたデータをデー
タ・バス105に出力する。処理装置バス・インターフ
ェース125は指定されたデータをラッチし、このデー
タな処理装置フィールド129により指定されたレジス
タ163に転送する。
命令127が5FU107にマツプされたrsFUヘノ
ロードおよび動作J (1oad to SFU a
ndoperate )命令であるとぎは、処理装置バ
ス・インターフェース125は処理装置フィールド12
9により指定されたレジスタ163に記憶されているデ
ータをデータ・バス105に出力する。SFUノくス・
インターフェース139はこのデータをランチしてこれ
をSFU機能ユニンl−137に転送する。
ロードおよび動作J (1oad to SFU a
ndoperate )命令であるとぎは、処理装置バ
ス・インターフェース125は処理装置フィールド12
9により指定されたレジスタ163に記憶されているデ
ータをデータ・バス105に出力する。SFUノくス・
インターフェース139はこのデータをランチしてこれ
をSFU機能ユニンl−137に転送する。
命令127は二つのワードを主処理装置103からSF
’Ulf17に転送するように指示を与えることができ
る。二つのワードは、データ・バス1050幅が充分広
ければ1データ伝送サイクル中に転送することができる
が、データ・バス105が1サイクルに一つのワードし
か転送できない場合には、二つのワードは2デ一タ転送
丈イクルで転送することになる。
’Ulf17に転送するように指示を与えることができ
る。二つのワードは、データ・バス1050幅が充分広
ければ1データ伝送サイクル中に転送することができる
が、データ・バス105が1サイクルに一つのワードし
か転送できない場合には、二つのワードは2デ一タ転送
丈イクルで転送することになる。
命令127がC0PJO9にマツプされたrcOPから
のストアJ (5tore from COP )命令
であるとぎは、ワード+69はcop@能エニット14
501らメモリeアドレス]51に転送されるうこの時
のメ七りとの交信タイミングは、ワードを主処理装置1
03からメモリeアドレス151にストアする基本命令
のものと同様である。処理装置フィールド129により
指定されたロケーションを処理装置機能ユニット】17
がメモリeアドレス151に変換するっ生娘4装置10
3は仮想アドレシングの計算と、仮想記憶装置保護チェ
ックとを行う、処理装置バス・インターフェース125
は最初のデータ転送サイクル中にメモリ会アドレス15
1をデータ・バス105に出力する。第2のデータ転送
サイクルに、COPバス・インターフェース147はワ
ードをデータ書バス105に出力し、このワードは記憶
装置111にストアされる。COPバス・インターフェ
ース】47は記憶装置制御バス】55をサンプリングす
ることにより、いつワード1fi9eデータ・バス10
5上から落してよいかを知る。記憶装置111が準備光
rしていなければ、記憶装(誰待ちサイクルが挿入され
る。
のストアJ (5tore from COP )命令
であるとぎは、ワード+69はcop@能エニット14
501らメモリeアドレス]51に転送されるうこの時
のメ七りとの交信タイミングは、ワードを主処理装置1
03からメモリeアドレス151にストアする基本命令
のものと同様である。処理装置フィールド129により
指定されたロケーションを処理装置機能ユニット】17
がメモリeアドレス151に変換するっ生娘4装置10
3は仮想アドレシングの計算と、仮想記憶装置保護チェ
ックとを行う、処理装置バス・インターフェース125
は最初のデータ転送サイクル中にメモリ会アドレス15
1をデータ・バス105に出力する。第2のデータ転送
サイクルに、COPバス・インターフェース147はワ
ードをデータ書バス105に出力し、このワードは記憶
装置111にストアされる。COPバス・インターフェ
ース】47は記憶装置制御バス】55をサンプリングす
ることにより、いつワード1fi9eデータ・バス10
5上から落してよいかを知る。記憶装置111が準備光
rしていなければ、記憶装(誰待ちサイクルが挿入され
る。
命令12773fCOP 109 K−f 77ルりr
c OPへのロードJ (1oad to COP
)命令であるときは、実行動作はrcopからのストア
J (storefromcOP)命令に対する実行動
作と同じである。ただし、ワード169ハメモリーアド
レス】51からCOP機酵機工ユニット145送される
。
c OPへのロードJ (1oad to COP
)命令であるときは、実行動作はrcopからのストア
J (storefromcOP)命令に対する実行動
作と同じである。ただし、ワード169ハメモリーアド
レス】51からCOP機酵機工ユニット145送される
。
命令127がC0Plf)9にマツプされた1倍長ワー
ドのCOPへのロードJ (1oad double
wordto COP ) 命令であるとぎは、実行
動作は「COPへのロード」茄令のものと同じであるう
ただし、一つではなく二つのワードが転送さnる。命令
127がC0P109にマツプされた「倍長ワードのc
oPへのストアJ (store double wo
rd t。
ドのCOPへのロードJ (1oad double
wordto COP ) 命令であるとぎは、実行
動作は「COPへのロード」茄令のものと同じであるう
ただし、一つではなく二つのワードが転送さnる。命令
127がC0P109にマツプされた「倍長ワードのc
oPへのストアJ (store double wo
rd t。
C0P)命令であるときは、実行動作はrcOPへのス
トア」命令のものと同じである。ただし一つではなく二
つのワードが転送される〇最終データ転送サイクルの次
に回復(recovery)サイクルを1サイクル置い
てもよいっこの単一の回復サイクルはデータ保持時間(
data hold time)を与え、バスが次の処
理装置サイクルとかち合わないようにする。COP命令
403のような、データ転送をともなわない支援装置命
令に対する応答サイクルの後にも単一回復サイクルが付
けられる。
トア」命令のものと同じである。ただし一つではなく二
つのワードが転送される〇最終データ転送サイクルの次
に回復(recovery)サイクルを1サイクル置い
てもよいっこの単一の回復サイクルはデータ保持時間(
data hold time)を与え、バスが次の処
理装置サイクルとかち合わないようにする。COP命令
403のような、データ転送をともなわない支援装置命
令に対する応答サイクルの後にも単一回復サイクルが付
けられる。
以上説明したように1本発明の情報処理装置を用いるこ
とにより、支援装置を追加することができるとともに、
互換性が損なわれることもない。
とにより、支援装置を追加することができるとともに、
互換性が損なわれることもない。
また耐障害性も向上する。
第1図は本発明の一実施例のブロック図、第2図ないし
第4図は本発明の一実施例における支援装置命令を説明
する図、第5図は本発明の一実施例において支援装置命
令を必要に応じてエミュレートするための動作を説明す
るための流れ図、第6図は本発明の一実施例にSける支
援装置制御バスについて説明するための図である。 101:情報処理装置、 】03:主処理装置、 105:データ−バス。 107:5FU1 1119 : COP。 1】1:記憶装置。
第4図は本発明の一実施例における支援装置命令を説明
する図、第5図は本発明の一実施例において支援装置命
令を必要に応じてエミュレートするための動作を説明す
るための流れ図、第6図は本発明の一実施例にSける支
援装置制御バスについて説明するための図である。 101:情報処理装置、 】03:主処理装置、 105:データ−バス。 107:5FU1 1119 : COP。 1】1:記憶装置。
Claims (1)
- 【特許請求の範囲】 基本命令と拡張命令とを実行可能な情報処理装置におい
て、 前記基本命令を実行可能な主処理装置と、 前記拡張命令の少なくとも一部を実行可能であり前記情
報処理装置に取付け可能な支援装置とを設け、 前記主処理装置は 前記支援装置に前記実行可能な拡張命令を実行せしめる
手段と、 前記支援装置が存在しないか動作できない場合には前記
実行可能な拡張命令をエミュレートする手段 を設けたことを特徴とする情報処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US790570 | 1985-10-23 | ||
US06/790,570 US4763242A (en) | 1985-10-23 | 1985-10-23 | Computer providing flexible processor extension, flexible instruction set extension, and implicit emulation for upward software compatibility |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6297039A true JPS6297039A (ja) | 1987-05-06 |
JP2685747B2 JP2685747B2 (ja) | 1997-12-03 |
Family
ID=25151102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61252782A Expired - Lifetime JP2685747B2 (ja) | 1985-10-23 | 1986-10-23 | 情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4763242A (ja) |
JP (1) | JP2685747B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5256510A (en) * | 1990-12-21 | 1993-10-26 | Eastman Kodak Company | Photoelectrographic imaging with near-infrared sensitizing dyes |
KR970062891A (ko) * | 1996-02-29 | 1997-09-12 | 다까노 야스아끼 | 연산 실행 방법 및 연산 실행 장치 |
JP2009037626A (ja) * | 2008-09-04 | 2009-02-19 | Panasonic Corp | コンパイラ |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62151971A (ja) * | 1985-12-25 | 1987-07-06 | Nec Corp | マイクロ・プロセツサ装置 |
JPS6362039A (ja) * | 1986-09-03 | 1988-03-18 | Mitsubishi Electric Corp | 計算機 |
US5210832A (en) * | 1986-10-14 | 1993-05-11 | Amdahl Corporation | Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle |
US5426767A (en) * | 1987-08-03 | 1995-06-20 | Compaq Computer Corporation | Method for distinguishing between a 286-type central processing unit and a 386-type central processing unit |
EP0306891A3 (en) * | 1987-09-11 | 1992-04-01 | National Semiconductor Corporation | Pipelined slave protocol for high performance cpu-fpu cluster |
US4943915A (en) * | 1987-09-29 | 1990-07-24 | Digital Equipment Corporation | Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit |
US4991078A (en) * | 1987-09-29 | 1991-02-05 | Digital Equipment Corporation | Apparatus and method for a pipelined central processing unit in a data processing system |
US4961133A (en) * | 1987-11-06 | 1990-10-02 | Visystems, Inc. | Method for providing a virtual execution environment on a target computer using a virtual software machine |
EP0389175A3 (en) * | 1989-03-15 | 1992-11-19 | Fujitsu Limited | Data prefetch system |
US5077657A (en) * | 1989-06-15 | 1991-12-31 | Unisys | Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor |
US5327567A (en) * | 1989-11-16 | 1994-07-05 | Texas Instruments Incorporated | Method and system for returning emulated results from a trap handler |
JPH03224037A (ja) | 1989-11-30 | 1991-10-03 | Digital Equip Corp <Dec> | サーバー拡張用アーキテクチャ |
JP3227542B2 (ja) * | 1991-06-17 | 2001-11-12 | サン・マイクロシステムズ・インコーポレーテッド | 特定のコンピュータ・ハードウェア・アーキテクチャのために作成されたソフトウェアのバージョンの互換性を確保する装置および方法 |
BR9402027A (pt) * | 1993-05-28 | 1994-12-13 | Xerox Corp | Processo para gerenciar uma configuração e assegurar compatibilidade entre componentes num sistema de computação, e, processo para eliminar incompatibilidades entre software residente e software de migração num sistema de computador automatizado |
US5542059A (en) * | 1994-01-11 | 1996-07-30 | Exponential Technology, Inc. | Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order |
US5481684A (en) * | 1994-01-11 | 1996-01-02 | Exponential Technology, Inc. | Emulating operating system calls in an alternate instruction set using a modified code segment descriptor |
US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
US5970237A (en) * | 1994-06-14 | 1999-10-19 | Intel Corporation | Device to assist software emulation of hardware functions |
US5685009A (en) * | 1994-07-20 | 1997-11-04 | Exponential Technology, Inc. | Shared floating-point registers and register port-pairing in a dual-architecture CPU |
US5481693A (en) * | 1994-07-20 | 1996-01-02 | Exponential Technology, Inc. | Shared register architecture for a dual-instruction-set CPU |
US5632028A (en) * | 1995-03-03 | 1997-05-20 | Hal Computer Systems, Inc. | Hardware support for fast software emulation of unimplemented instructions |
US6070236A (en) * | 1996-12-19 | 2000-05-30 | Deutsche Thomson-Brandt Gmbh | Apparatus for processing a sequence of control commands as well as a method for generating a sequence of control commands, and storage medium for storing control commands |
US5889978A (en) * | 1997-04-18 | 1999-03-30 | Intel Corporation | Emulation of interrupt control mechanism in a multiprocessor system |
US6505290B1 (en) * | 1997-09-05 | 2003-01-07 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US6075937A (en) * | 1998-03-18 | 2000-06-13 | International Business Machines Corporation | Preprocessing of stored target routines for controlling emulation of incompatible instructions on a target processor and utilizing target processor feedback for controlling non-sequential incompatible instruction emulation |
US6862563B1 (en) | 1998-10-14 | 2005-03-01 | Arc International | Method and apparatus for managing the configuration and functionality of a semiconductor design |
KR100731371B1 (ko) * | 1999-02-15 | 2007-06-21 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 구성가능 기능 유닛을 포함하는 프로세서를 사용해서 컴퓨터 프로그램을 실행하는 방법, 프로세서 및 컴퓨터 판독가능 기록 매체 |
US6560754B1 (en) * | 1999-05-13 | 2003-05-06 | Arc International Plc | Method and apparatus for jump control in a pipelined processor |
US6868490B1 (en) | 2000-06-21 | 2005-03-15 | Pts Corporation | Methods and apparatus for providing context switching between software tasks with reconfigurable control |
WO2000079394A1 (en) * | 1999-06-21 | 2000-12-28 | Bops Incorporated | Methods and apparatus for providing manifold array (manarray) program context switch with array reconfiguration control |
US6988154B2 (en) | 2000-03-10 | 2006-01-17 | Arc International | Memory interface and method of interfacing between functional entities |
US6691143B2 (en) * | 2000-05-11 | 2004-02-10 | Cyberguard Corporation | Accelerated montgomery multiplication using plural multipliers |
WO2001086432A2 (en) * | 2000-05-11 | 2001-11-15 | Netoctave, Inc. | Cryptographic data processing systems, computer program products, and methods of operating same, using parallel execution units |
GB0028079D0 (en) * | 2000-11-17 | 2001-01-03 | Imperial College | System and method |
US7010558B2 (en) * | 2001-04-19 | 2006-03-07 | Arc International | Data processor with enhanced instruction execution and method |
US20060095723A1 (en) * | 2001-11-05 | 2006-05-04 | Moyer William C | Method and apparatus for interfacing a processor to a coprocessor |
US7493470B1 (en) | 2001-12-07 | 2009-02-17 | Arc International, Plc | Processor apparatus and methods optimized for control applications |
US7278137B1 (en) | 2001-12-26 | 2007-10-02 | Arc International | Methods and apparatus for compiling instructions for a data processor |
EP1470476A4 (en) * | 2002-01-31 | 2007-05-30 | Arc Int | CONFIGURABLE DATA PROCESSOR WITH MULTI-LENGTH INSTRUCTION KIT ARCHITECTURE |
US7171546B2 (en) * | 2002-05-23 | 2007-01-30 | Adams Phillip M | CPU life-extension apparatus and method |
US20050049843A1 (en) * | 2003-08-29 | 2005-03-03 | Lee Hewitt | Computerized extension apparatus and methods |
GB0516454D0 (en) * | 2005-08-10 | 2005-09-14 | Symbian Software Ltd | Coprocessor support in a computing device |
US8127113B1 (en) | 2006-12-01 | 2012-02-28 | Synopsys, Inc. | Generating hardware accelerators and processor offloads |
US20080235493A1 (en) * | 2007-03-23 | 2008-09-25 | Qualcomm Incorporated | Instruction communication techniques for multi-processor system |
US7904696B2 (en) | 2007-09-14 | 2011-03-08 | Intel Corporation | Communication paths for enabling inter-sequencer communication following lock competition and accelerator registration |
US8615647B2 (en) | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
US9727388B2 (en) * | 2011-12-29 | 2017-08-08 | Intel Corporation | Migrating threads between asymmetric cores in a multiple core processor |
WO2013102280A1 (en) | 2012-01-06 | 2013-07-11 | Intel Corporation (A Corporation Of Delaware) | Method and apparatus for substituting compiler built-in helper functions with machine instructions |
CN110750304B (zh) * | 2019-09-30 | 2022-04-12 | 百富计算机技术(深圳)有限公司 | 提升任务切换效率的方法及终端设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4933532A (ja) * | 1972-07-26 | 1974-03-28 | ||
JPS59114637A (ja) * | 1982-12-22 | 1984-07-02 | Hitachi Ltd | デ−タ処理装置 |
JPS59225454A (ja) * | 1983-06-07 | 1984-12-18 | Fujitsu Ltd | オペランドフエツチ制御方式 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL286251A (ja) * | 1961-12-04 | |||
US4084235A (en) * | 1975-04-14 | 1978-04-11 | Honeywell Information Systems Inc. | Emulation apparatus |
US4205370A (en) * | 1975-04-16 | 1980-05-27 | Honeywell Information Systems Inc. | Trace method and apparatus for use in a data processing system |
US4104720A (en) * | 1976-11-29 | 1978-08-01 | Data General Corporation | CPU/Parallel processor interface with microcode extension |
CA1158775A (en) * | 1980-06-04 | 1983-12-13 | Thomas L. Phinney | Computer annotation system |
US4514803A (en) * | 1982-04-26 | 1985-04-30 | International Business Machines Corporation | Methods for partitioning mainframe instruction sets to implement microprocessor based emulation thereof |
US4484273A (en) * | 1982-09-03 | 1984-11-20 | Sequoia Systems, Inc. | Modular computer system |
DE3486465D1 (de) * | 1983-04-18 | 1998-04-02 | Motorola Inc | Verfahren und Vorrichtung zum Koordinieren einer Instruktionsausführung durch eine Zusatzdatenverarbeitungseinheit |
-
1985
- 1985-10-23 US US06/790,570 patent/US4763242A/en not_active Expired - Lifetime
-
1986
- 1986-10-23 JP JP61252782A patent/JP2685747B2/ja not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4933532A (ja) * | 1972-07-26 | 1974-03-28 | ||
JPS59114637A (ja) * | 1982-12-22 | 1984-07-02 | Hitachi Ltd | デ−タ処理装置 |
JPS59225454A (ja) * | 1983-06-07 | 1984-12-18 | Fujitsu Ltd | オペランドフエツチ制御方式 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5256510A (en) * | 1990-12-21 | 1993-10-26 | Eastman Kodak Company | Photoelectrographic imaging with near-infrared sensitizing dyes |
KR970062891A (ko) * | 1996-02-29 | 1997-09-12 | 다까노 야스아끼 | 연산 실행 방법 및 연산 실행 장치 |
JP2009037626A (ja) * | 2008-09-04 | 2009-02-19 | Panasonic Corp | コンパイラ |
Also Published As
Publication number | Publication date |
---|---|
JP2685747B2 (ja) | 1997-12-03 |
US4763242A (en) | 1988-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6297039A (ja) | 情報処理装置 | |
US6298434B1 (en) | Data processing device for processing virtual machine instructions | |
US4942519A (en) | Coprocessor having a slave processor capable of checking address mapping | |
EP0776504B1 (en) | Integrated circuit with multiple functions sharing multiple internal signal buses for distributing bus access control and arbitration control | |
US7873814B1 (en) | Microcode based hardware translator to support a multitude of processors | |
KR20010030587A (ko) | 데이터 처리장치 | |
US5249280A (en) | Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory | |
JP2008123545A (ja) | 複数の命令セットを用いるデータ処理 | |
JPH07117897B2 (ja) | データ処理システムのプリフェッチ回路 | |
US7089539B2 (en) | Program instruction interpretation | |
KR20010007031A (ko) | 데이터 처리장치 | |
JP2006313561A (ja) | データ処理装置 | |
US6907515B2 (en) | Configuration control within data processing systems | |
JPH07120338B2 (ja) | 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ | |
US6990567B1 (en) | Use of internal general purpose registers of a processor as a Java virtual machine top of stack and dynamic allocation of the registers according to stack status | |
EP0139254A2 (en) | Apparatus and method for direct memory to peripheral and peripheral to memory data transfer | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
US4814977A (en) | Apparatus and method for direct memory to peripheral and peripheral to memory data transfers | |
JP2680828B2 (ja) | ディジタル装置 | |
US20020004877A1 (en) | Method and system for updating user memory in emulator systems | |
US5187782A (en) | Data processing system | |
US6321319B2 (en) | Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction | |
JP2731618B2 (ja) | エミュレータ | |
JP2005353105A (ja) | データ処理装置及びマイクロコンピュータ | |
JP3097602B2 (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 |
|
EXPY | Cancellation because of completion of term |