JPS62286128A - データプロセッサ - Google Patents
データプロセッサInfo
- Publication number
- JPS62286128A JPS62286128A JP62118731A JP11873187A JPS62286128A JP S62286128 A JPS62286128 A JP S62286128A JP 62118731 A JP62118731 A JP 62118731A JP 11873187 A JP11873187 A JP 11873187A JP S62286128 A JPS62286128 A JP S62286128A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- mechanism used
- stack frame
- cache
- control mechanism
- 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
- 230000007246 mechanism Effects 0.000 title claims description 41
- 238000000034 method Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 31
- 238000007667 floating Methods 0.000 description 19
- 238000004886 process control Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- GSDSWSVVBLHKDQ-UHFFFAOYSA-N 9-fluoro-3-methyl-10-(4-methylpiperazin-1-yl)-7-oxo-2,3-dihydro-7H-[1,4]oxazino[2,3,4-ij]quinoline-6-carboxylic acid Chemical compound FC1=CC(C(C(C(O)=O)=C2)=O)=C3N2C(C)COC3=C1N1CCN(C)CC1 GSDSWSVVBLHKDQ-UHFFFAOYSA-N 0.000 description 1
- 238000012369 In process control Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
- G06F9/30127—Register windows
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/451—Stack data
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
3、発明の詳細な説明
〔産業上の利用分野〕
本発明は処理装置に関するものでアシ、更に詳しくいえ
ば、呼出し命令/戻や命令の実行中に開始される主メモ
リの参照を最少にする装置に関するものである。
ば、呼出し命令/戻や命令の実行中に開始される主メモ
リの参照を最少にする装置に関するものである。
VLS I技術および設計技術の急速な進歩により、マ
イクロコンピュータがスーパーミニコンピユータの性能
に接近できるようになってきた。プロセッサが高速にな
るにつれて、プロセッサとオフチップ主メモリの間の交
信が増大して性能向上の障害となってきた。従来の装置
においては、頻繁に用いられるメモリデータを格納する
ために、ローカル・オンチップメモリ(キャッシュと呼
ば几ている)を用いることにより、その障害を軽減して
いる。プロセッサが必要とするデータがキャッシュにあ
る時は、データをキャッシュから直接フェッチできるか
ら、オフチップメモリからの読出しは避けられる。キャ
ッシュの構成が命令フェッチを含む壕でに拡張されるの
であるならば、メモリとの交信を一層減少できる。たと
えば、呼出し命令と戻し命令に関連する情報をチップ上
でローカルに得ることができるものとすると、呼出し命
令と戻し命令をオフチップメモリを参照することなしに
実行できる。それによって減少したメモリ・ぐストラフ
イックのために、ロード命令または格納命令がメモリバ
スの空きを待たねばならない確率が低くなる。
イクロコンピュータがスーパーミニコンピユータの性能
に接近できるようになってきた。プロセッサが高速にな
るにつれて、プロセッサとオフチップ主メモリの間の交
信が増大して性能向上の障害となってきた。従来の装置
においては、頻繁に用いられるメモリデータを格納する
ために、ローカル・オンチップメモリ(キャッシュと呼
ば几ている)を用いることにより、その障害を軽減して
いる。プロセッサが必要とするデータがキャッシュにあ
る時は、データをキャッシュから直接フェッチできるか
ら、オフチップメモリからの読出しは避けられる。キャ
ッシュの構成が命令フェッチを含む壕でに拡張されるの
であるならば、メモリとの交信を一層減少できる。たと
えば、呼出し命令と戻し命令に関連する情報をチップ上
でローカルに得ることができるものとすると、呼出し命
令と戻し命令をオフチップメモリを参照することなしに
実行できる。それによって減少したメモリ・ぐストラフ
イックのために、ロード命令または格納命令がメモリバ
スの空きを待たねばならない確率が低くなる。
したがって、本発明の目的は、呼出し命令/戻し命令の
実行中に行われる主メモリの参照する回数をできるだけ
少くすることである。
実行中に行われる主メモリの参照する回数をできるだけ
少くすることである。
要約すれば、上記の目的は、マイクロプロセッサチップ
に複数のグローバルレジスタを設けることにより、本発
明に従って達成される。グローノくルレジスタの1つは
現在のフレームポインタを含むフレームポインタレジス
タであり、残りのグローバルレジスタは現在のプロセス
のために汎用レジスタとして利用できる。複数のレジス
タセットで作られたレジスタセットプールでスタックフ
レームキャッシュ機構が構成される。各レジスタセット
はチップ上のいくつかのローカルレジスタで構成される
。呼出し命令が復号されると、レジスタセットプールか
らのレジスタセットが呼出された手続きに割当てられ、
フレームポインタレジスタが初期化される。戻り命令が
復号されると、レジスタセットは、以後の呼出し命令に
より呼出される別の手続きに自由に割当てられる。レジ
スタセットプールが空にされると、以前の手続きに関連
するレジスタセットの内容が主メモリに格納され、その
レジスタセットは現在の手続きに割当てられる。
に複数のグローバルレジスタを設けることにより、本発
明に従って達成される。グローノくルレジスタの1つは
現在のフレームポインタを含むフレームポインタレジス
タであり、残りのグローバルレジスタは現在のプロセス
のために汎用レジスタとして利用できる。複数のレジス
タセットで作られたレジスタセットプールでスタックフ
レームキャッシュ機構が構成される。各レジスタセット
はチップ上のいくつかのローカルレジスタで構成される
。呼出し命令が復号されると、レジスタセットプールか
らのレジスタセットが呼出された手続きに割当てられ、
フレームポインタレジスタが初期化される。戻り命令が
復号されると、レジスタセットは、以後の呼出し命令に
より呼出される別の手続きに自由に割当てられる。レジ
スタセットプールが空にされると、以前の手続きに関連
するレジスタセットの内容が主メモリに格納され、その
レジスタセットは現在の手続きに割当てられる。
本発明の1つの面に従って、ある手続きに関連するレジ
スタセットのローカルレジスタカ、以前のフレームに対
するポインタおよび命令ポインタを含むリンケージ情報
を含んで、オフチップメモリを参照する必要なしにほと
んどの呼出し命令と戻り命令を実行することを可能にす
る。
スタセットのローカルレジスタカ、以前のフレームに対
するポインタおよび命令ポインタを含むリンケージ情報
を含んで、オフチップメモリを参照する必要なしにほと
んどの呼出し命令と戻り命令を実行することを可能にす
る。
本発明の利点は、サブルーチンの境界を交差する時に行
わねばならないレジスタの留保が大幅に減少することで
ある。
わねばならないレジスタの留保が大幅に減少することで
ある。
本発明の別の利点は、ローカルレジスタセットカ、t、
タックフレーム内にマツプされるから、スタックフレー
ム中に通常現われるリンケージ情報(たとえば、以前の
フレームに対するポインタ、留保された命令ポインタ)
がローカルレジスタに含まれる。このことは、オフチッ
プメモリを参照させることなしに、はとんどの呼出し命
令と戻り命令を実行することを意味する。
タックフレーム内にマツプされるから、スタックフレー
ム中に通常現われるリンケージ情報(たとえば、以前の
フレームに対するポインタ、留保された命令ポインタ)
がローカルレジスタに含まれる。このことは、オフチッ
プメモリを参照させることなしに、はとんどの呼出し命
令と戻り命令を実行することを意味する。
以下、図面を参照して本発明の詳細な説明する。
まず、第1図を参照して、マイクロプロセッサは、命令
フェッチユニット10と、命令デコーダ12と、マイク
ロ命令シーケンサ14と、翻訳ルックアサイド・バッフ
718と、浮動小数点ユニット22と、ローカルバスシ
ーケンサ20と、整数実行ユニット24との7つの主々
ユニットに論理的に分割される。
フェッチユニット10と、命令デコーダ12と、マイク
ロ命令シーケンサ14と、翻訳ルックアサイド・バッフ
718と、浮動小数点ユニット22と、ローカルバスシ
ーケンサ20と、整数実行ユニット24との7つの主々
ユニットに論理的に分割される。
それら全てのユニットの間の通信路が32ビツトデータ
バスと、29ビツトマイクロ命令バス26と、マイクロ
命令受車信号バス28とを含む。マイクロ命令バスは独
立したユニットの動作を制御し、同期をとる。各ユニッ
トについて以下に簡単に説明する。
バスと、29ビツトマイクロ命令バス26と、マイクロ
命令受車信号バス28とを含む。マイクロ命令バスは独
立したユニットの動作を制御し、同期をとる。各ユニッ
トについて以下に簡単に説明する。
命令デコーダIDは命令(マクロ命令)を復号し、その
命令の実行を制御する。IDは命令を実行し、オペラン
ドの7ドレツシングとフエツチングを実行し、分岐命令
(すなわち、命令ポインタのマニピユレーション)全取
扱い、実行マイクロ命令(簡単な命令のための)を発生
し、またはマイクロプログラム流(複雑な命令のための
)をスタートさせる。
命令の実行を制御する。IDは命令を実行し、オペラン
ドの7ドレツシングとフエツチングを実行し、分岐命令
(すなわち、命令ポインタのマニピユレーション)全取
扱い、実行マイクロ命令(簡単な命令のための)を発生
し、またはマイクロプログラム流(複雑な命令のための
)をスタートさせる。
命令フエツチュニツ)(IFU)はIDが使用する命令
をメモリからフェッチし、予めフェッチし、そしてキャ
ッシュする。IFUは、ノくイブラインを通じて命令を
追従する6個の命令ポインタの維持も行う。170は最
近に使用した命令ブロックをキャッシュし、命令の流れ
を供給された命令デコーダを保持する。IFUはIOに
よシ制御される命令ポインタとオペランド減少ロジック
も含む。
をメモリからフェッチし、予めフェッチし、そしてキャ
ッシュする。IFUは、ノくイブラインを通じて命令を
追従する6個の命令ポインタの維持も行う。170は最
近に使用した命令ブロックをキャッシュし、命令の流れ
を供給された命令デコーダを保持する。IFUはIOに
よシ制御される命令ポインタとオペランド減少ロジック
も含む。
マイクロ命令シーケンサ(MIS)は、チップの初期設
定、複雑すぎて直接取扱うことができないマクロ命令、
除外条件および割込み条件を取扱うためにマイクロコー
ドの流れの順序づけを行う。
定、複雑すぎて直接取扱うことができないマクロ命令、
除外条件および割込み条件を取扱うためにマイクロコー
ドの流れの順序づけを行う。
MISは3KX42ビツトのマイクロコードROMと、
マイクロコードの流れのためのシーケンシングロジック
を含む。MISは、次のマイクロ命令を7エツチするこ
と、マイクロプログラムを分岐すること、例外条件を取
扱うこと、スコアボードをレジスタファイルに維持する
こと、よりとともにマイクロ命令境界およびトレース事
象を検出することを実行する。
マイクロコードの流れのためのシーケンシングロジック
を含む。MISは、次のマイクロ命令を7エツチするこ
と、マイクロプログラムを分岐すること、例外条件を取
扱うこと、スコアボードをレジスタファイルに維持する
こと、よりとともにマイクロ命令境界およびトレース事
象を検出することを実行する。
整数実行二二ツ)(IEU)はIDとMISによ多発生
されたほとんどのマイクロ命令を実行する。
されたほとんどのマイクロ命令を実行する。
rEUはプログラマに見えるレジスタと、マイクロコー
ドにより使用されるスクラッチレジスタと、ALUと、
バレルシフタと、それの命令を実行するために必要なロ
ジックとを含む。工Wは112個の32ビツトレジスタ
と、32ビツトALUと、32ビツトバレルシツクとを
含む。IEUは、1サイクルに1回の速さでALUを動
作させるALUバイパス路を特徴とする。IEUは単一
ポートレジスタファイルも含む。以前のオペレーション
の結果を、現在のオペレーションのために7エツチされ
ている新しいオペランドと同じサイクルで格納できるよ
うに、1サイクルに2回アクセスできる単一ポートレジ
スタファイルも含む。
ドにより使用されるスクラッチレジスタと、ALUと、
バレルシフタと、それの命令を実行するために必要なロ
ジックとを含む。工Wは112個の32ビツトレジスタ
と、32ビツトALUと、32ビツトバレルシツクとを
含む。IEUは、1サイクルに1回の速さでALUを動
作させるALUバイパス路を特徴とする。IEUは単一
ポートレジスタファイルも含む。以前のオペレーション
の結果を、現在のオペレーションのために7エツチされ
ている新しいオペランドと同じサイクルで格納できるよ
うに、1サイクルに2回アクセスできる単一ポートレジ
スタファイルも含む。
浮動小数点演算ツ) (FPU)は、浮動小数点演算と
、整数の乗除算を行うために必要なロジックを含む。F
PUは4個の浮動小数点レジスタと、いくつかの一時的
レジスタと、両側へ16ビツトtで桁送りできる68ビ
ツトシフタと、69ビツト・マンテイツサ加算器と、上
位ビットファインダと、マンテイツサROMと、2個の
内部69ビツトデータ路と、自身の16ビツト加算器お
よびレジスタを含も別々の指数データ路とを含む。FP
Uは整数の乗除算と、超越命令(transc@nd@
ntalinstructions)のだめのコープイ
ック・アルゴリズムを含む全ての浮動小数点演算とを実
行する。
、整数の乗除算を行うために必要なロジックを含む。F
PUは4個の浮動小数点レジスタと、いくつかの一時的
レジスタと、両側へ16ビツトtで桁送りできる68ビ
ツトシフタと、69ビツト・マンテイツサ加算器と、上
位ビットファインダと、マンテイツサROMと、2個の
内部69ビツトデータ路と、自身の16ビツト加算器お
よびレジスタを含も別々の指数データ路とを含む。FP
Uは整数の乗除算と、超越命令(transc@nd@
ntalinstructions)のだめのコープイ
ック・アルゴリズムを含む全ての浮動小数点演算とを実
行する。
翻訳ルックアサイドバッファ(TLB)は、仮想メモリ
メカニズムを実現するために必要なアドレス翻訳を実行
する。TLBは、格納記述子の連想衣とページ表エント
リーを用いてアドレス翻訳およびメモリの保護を実行す
る。TLBは48エントリー・キャッシュと、6ピツト
アドレス加算器と、メモリ保護点検ノ・−ドウエアとを
含む。アドレスキャッシュ内の各エントリーは27CA
M ビットと38RAMビットを含む。TLBは、各種
の従来のメカニズム(哀−ジンクまたはセグメンテーシ
ョン)からその種類のメモリ保護をユーザーが選択でき
るようにするために、いくつかのアドレス翻訳メカニズ
ムをサポートする。
メカニズムを実現するために必要なアドレス翻訳を実行
する。TLBは、格納記述子の連想衣とページ表エント
リーを用いてアドレス翻訳およびメモリの保護を実行す
る。TLBは48エントリー・キャッシュと、6ピツト
アドレス加算器と、メモリ保護点検ノ・−ドウエアとを
含む。アドレスキャッシュ内の各エントリーは27CA
M ビットと38RAMビットを含む。TLBは、各種
の従来のメカニズム(哀−ジンクまたはセグメンテーシ
ョン)からその種類のメモリ保護をユーザーが選択でき
るようにするために、いくつかのアドレス翻訳メカニズ
ムをサポートする。
ローカルバス・ジ−ケンサバ外部バスアクセスをパイプ
ラインし、順序をつける。ローカルバス・シーケンサは
外部ローカルバスに対するインターフェイス・ハードウ
ニアラ含ミ、ハスプロトコルを管理し、外部事象(たと
えば割込み、初期化)を認識スる。ローカルバスシーケ
ンサは出てゆく33ビツト幅のアドレスおよびデータF
IFOと、入来スる33ビツトのデータFIFOと、シ
ーケンサとを含む。出力されるFIFOにより3個まで
の要求をローカルバス・シーケンサ内で並べることがで
きるようにして、残りのプロセッサが、潜在メモリアク
セスとは独立に実行を続けることができるようにする。
ラインし、順序をつける。ローカルバス・シーケンサは
外部ローカルバスに対するインターフェイス・ハードウ
ニアラ含ミ、ハスプロトコルを管理し、外部事象(たと
えば割込み、初期化)を認識スる。ローカルバスシーケ
ンサは出てゆく33ビツト幅のアドレスおよびデータF
IFOと、入来スる33ビツトのデータFIFOと、シ
ーケンサとを含む。出力されるFIFOにより3個まで
の要求をローカルバス・シーケンサ内で並べることがで
きるようにして、残りのプロセッサが、潜在メモリアク
セスとは独立に実行を続けることができるようにする。
入来するためのFIFOバッファは、データをそれの宛
先へ転送するために自由なサイクルを利用できるように
なるまで、外部メモリから戻るデータを読取る。
先へ転送するために自由なサイクルを利用できるように
なるまで、外部メモリから戻るデータを読取る。
複数のグローバルレジスタ21が設けられる。
グローバルレジスタの1つは現在のフレームポインタを
含むフレームレジスタ・ポインタであり、残すのグロー
バルレジスタは現在のプロセスが汎用レジスタとして利
用できる。レジスタ(スタックフレーム)キャッシュ2
3が設けられる。このレジスタ・キャッシュは、複数の
レジスタセットで作られたレジスタセットプールで構成
される。
含むフレームレジスタ・ポインタであり、残すのグロー
バルレジスタは現在のプロセスが汎用レジスタとして利
用できる。レジスタ(スタックフレーム)キャッシュ2
3が設けられる。このレジスタ・キャッシュは、複数の
レジスタセットで作られたレジスタセットプールで構成
される。
各レジスタセットはいくつかのローカルレジスタで構成
される。呼出し命令が復号されると、レジスタセットプ
ールからのレジスタセットが呼出された手続きに割当て
られ、フレームポインタ・レジスタが初期設定される。
される。呼出し命令が復号されると、レジスタセットプ
ールからのレジスタセットが呼出された手続きに割当て
られ、フレームポインタ・レジスタが初期設定される。
戻夛命令が復号されると、以後の呼出し命令によシ呼出
された別の手続きにレジスタが自由に割当てられる。レ
ジスタセットプールが空にされると、以前の手続きに関
連するレジスタセットの内容が現在の手続きに割当てら
れる。ある手続きに関連するレジスタセットのローカル
レジスタが、以前のフレームに対するポインタと命令ポ
インタを含むリンケージ情報を含み、それにより、オフ
チップメモリを参照することなしにほとんどの呼出し命
令と戻り命令を実行できる。
された別の手続きにレジスタが自由に割当てられる。レ
ジスタセットプールが空にされると、以前の手続きに関
連するレジスタセットの内容が現在の手続きに割当てら
れる。ある手続きに関連するレジスタセットのローカル
レジスタが、以前のフレームに対するポインタと命令ポ
インタを含むリンケージ情報を含み、それにより、オフ
チップメモリを参照することなしにほとんどの呼出し命
令と戻り命令を実行できる。
プロセスは32ビツトの序数でアドレスされた平らで、
リニヤなアドレススペースを見る。それからそのプロセ
スはデータ、命令およびスタックスペースを割当てる。
リニヤなアドレススペースを見る。それからそのプロセ
スはデータ、命令およびスタックスペースを割当てる。
呼出し命令が、逐欠割轟てられるスタック上に新しいス
タックフレーム(起動レコード)を作成する。
タックフレーム(起動レコード)を作成する。
マイクロプロセッサの命令セットは構造がRISC(命
令セットが減少されたコンピュータ)マシンの構造に類
似する。全ての命令の長さは32ビツトで、語境界上に
整列せねばならず、命令を参照メモリ(他の全ての参照
レジスタ)にロードし、格納し、分岐させるだけである
。
令セットが減少されたコンピュータ)マシンの構造に類
似する。全ての命令の長さは32ビツトで、語境界上に
整列せねばならず、命令を参照メモリ(他の全ての参照
レジスタ)にロードし、格納し、分岐させるだけである
。
次に、実行時の環境を示す第2図を参照する。
実行環境は2xx32バイト・リニヤアドレススペース
30と、36個のレジスタとで構成される。
30と、36個のレジスタとで構成される。
36個のレジスタのうち16個が32ビツトのグローバ
ルレジスタ32であシ、また16個が32ビツトのロー
カルレジスタ34であり、残ジの4個が80ビット浮動
小数点レジスタ36である。
ルレジスタ32であシ、また16個が32ビツトのロー
カルレジスタ34であり、残ジの4個が80ビット浮動
小数点レジスタ36である。
ローカルレジスタにはスタックフレーム・キャッシュと
して知られているメカニズムが組合わされる。手続きが
呼出されると、新しいローカルレジスタセットがオンチ
ップレジスタのプールから割当てられ、戻り手続きによ
り自由にされる。本発明のこの実施例により4組(64
)のオンチップレジスタが与えられるが、その数はプロ
グラマにとつて明らかである。
して知られているメカニズムが組合わされる。手続きが
呼出されると、新しいローカルレジスタセットがオンチ
ップレジスタのプールから割当てられ、戻り手続きによ
り自由にされる。本発明のこの実施例により4組(64
)のオンチップレジスタが与えられるが、その数はプロ
グラマにとつて明らかである。
レジスタモデルは16個のグローバルレジスタと、手続
き境界にまたがって留保される4個の浮動小数点レジス
タと、各スタックフレーム内に関連してマツプされる1
68のローカル(またはフレーム)レジスタの多重セッ
トとで構成される。
き境界にまたがって留保される4個の浮動小数点レジス
タと、各スタックフレーム内に関連してマツプされる1
68のローカル(またはフレーム)レジスタの多重セッ
トとで構成される。
任意の時刻に、下記のようにして命令は36個のそれら
のレジスタをアドレスできる。
のレジスタをアドレスできる。
レジスタの種類 レジスタ名グローバルレジ
スタ Go・・・015浮動小数点レジスタ
FPO・・・FP13(浮動小数点オペランド
) ローカルレジスタ LO・・・L15任意の
時点に、32個の32ビツトレジスタと、4個の80ビ
ット浮動小数点レジスタ(32個のレジスタを浮動小数
点値を保持するために用いることもできる)とをアドレ
スできる。32個のレジスタのうち16個はグローバル
レジスタ、残)はローカルレジスタである。その違いは
、手続き境界を横切る時に16個のグローバルレジスタ
が影響を受けないことである(すなわち、それらのレジ
スタは、呼出し命令と戻り命令により影響される他のプ
ロセッサ・ローカルレジスタ内の「正常な」レジスタの
ように挙動する)。
スタ Go・・・015浮動小数点レジスタ
FPO・・・FP13(浮動小数点オペランド
) ローカルレジスタ LO・・・L15任意の
時点に、32個の32ビツトレジスタと、4個の80ビ
ット浮動小数点レジスタ(32個のレジスタを浮動小数
点値を保持するために用いることもできる)とをアドレ
スできる。32個のレジスタのうち16個はグローバル
レジスタ、残)はローカルレジスタである。その違いは
、手続き境界を横切る時に16個のグローバルレジスタ
が影響を受けないことである(すなわち、それらのレジ
スタは、呼出し命令と戻り命令により影響される他のプ
ロセッサ・ローカルレジスタ内の「正常な」レジスタの
ように挙動する)。
呼出し命令が実行されると、プロセッサは、4個のレジ
スタセットのオンチップブールからの16個のローカル
レジスタの新しいセットを、呼出された手続きに割当て
る。プロセッサの4組のプールが空になると、プロセッ
サは、早い手続きに関連する1個のレジスタをとり、そ
のレジスタセットの内容をメモリに格納することによシ
、レジスタを自励的に割当てる。早期の手続きのレジス
タセットの内容が、メモリ内のその手続きのスタックフ
レームの初めの16語内に格納される。そのために、こ
のメカニズムはスタックフレーム・キャッシュと呼ぶ。
スタセットのオンチップブールからの16個のローカル
レジスタの新しいセットを、呼出された手続きに割当て
る。プロセッサの4組のプールが空になると、プロセッ
サは、早い手続きに関連する1個のレジスタをとり、そ
のレジスタセットの内容をメモリに格納することによシ
、レジスタを自励的に割当てる。早期の手続きのレジス
タセットの内容が、メモリ内のその手続きのスタックフ
レームの初めの16語内に格納される。そのために、こ
のメカニズムはスタックフレーム・キャッシュと呼ぶ。
戻り命令は現在のローカルレジスタセットを自由にする
(以後の呼出しで使用するために)。
(以後の呼出しで使用するために)。
プロセスには16個のグローバルレジスタ32が組合わ
される。そのプロセスが実行されない時は、それらのレ
ジスタはプロセス制御ブロックに保持される。グローバ
ルレジスタはプロセス制御ブロック内に関連してマツプ
されない。
される。そのプロセスが実行されない時は、それらのレ
ジスタはプロセス制御ブロックに保持される。グローバ
ルレジスタはプロセス制御ブロック内に関連してマツプ
されない。
16個の32ビツトレジスタのうち、G15は現在のフ
レームポインタ(FP)を含み、GO・・・G14が汎
用レジスタである。FPは、現在の(1番上の)スタッ
クフレームに対する現在の実行環境内にリニヤアドレス
(ポインタ)を含む。スタックフレームは64バイト境
界に整列させらnているから、FPの下位6ビツトは無
視され、常に零であると解釈される。このレジスタは呼
出しで初期設定され、戻りで復帰させられる。
レームポインタ(FP)を含み、GO・・・G14が汎
用レジスタである。FPは、現在の(1番上の)スタッ
クフレームに対する現在の実行環境内にリニヤアドレス
(ポインタ)を含む。スタックフレームは64バイト境
界に整列させらnているから、FPの下位6ビツトは無
視され、常に零であると解釈される。このレジスタは呼
出しで初期設定され、戻りで復帰させられる。
32ビツトよ)大きいオペランドとしてレジスタの参照
が、引き続くより高いレジスタ番号のレジスタを用いる
。
が、引き続くより高いレジスタ番号のレジスタを用いる
。
プロセスには4個の浮動小数点レジスタ(34)が組合
わされる。プロセスが実行されない時は、それらのレジ
スタはプロセス制御ブロックに格納される。浮動小数点
レジスタはプロセス制御ブロック内に関連してマツプさ
れない。
わされる。プロセスが実行されない時は、それらのレジ
スタはプロセス制御ブロックに格納される。浮動小数点
レジスタはプロセス制御ブロック内に関連してマツプさ
れない。
浮動小数点数が浮動小数点レジスタに拡張された実数フ
ォーマットで格納される。浮動小数点レジスタは浮動小
数点命令のオペランドとしてのみアクセスされる(しか
し、それらの命令は32ビツトのローカルレジスタとグ
ローバルレジスタも使用できる)。
ォーマットで格納される。浮動小数点レジスタは浮動小
数点命令のオペランドとしてのみアクセスされる(しか
し、それらの命令は32ビツトのローカルレジスタとグ
ローバルレジスタも使用できる)。
算術制御器36は数値命令の算術および故障特性を制御
するため、および条件コードを格納するために用いられ
る。プロセスが中断されると、算術制御情報がプロセス
制御ブロックに格納される。
するため、および条件コードを格納するために用いられ
る。プロセスが中断されると、算術制御情報がプロセス
制御ブロックに格納される。
命令ポインタ38は、現在の命令の第1のバイトに対す
る現在のリニヤアドレス・スペース内のりニヤアドレス
(ポインタ)である。命令は語(4バイト)境界で開始
せねばならないから、IPの下位2ビツトが無視されて
、零であると見なされる。
る現在のリニヤアドレス・スペース内のりニヤアドレス
(ポインタ)である。命令は語(4バイト)境界で開始
せねばならないから、IPの下位2ビツトが無視されて
、零であると見なされる。
〔ローカル(tたはフレーム)レジスタ3次に第3図を
参照する。ローカルレジスタLO・・・Li2は通常の
レジスタを示すものではない。
参照する。ローカルレジスタLO・・・Li2は通常の
レジスタを示すものではない。
それらのレジスタは現在のフレームの初めの16語を示
す。したがって、レジスタLOはリニヤアドレスFP+
O〜FP+3にマツプされ、レジスタLlはリニヤアド
レスFP+41−FP+4 i+3 iCマツプされる
、等である。
す。したがって、レジスタLOはリニヤアドレスFP+
O〜FP+3にマツプされ、レジスタLlはリニヤアド
レスFP+41−FP+4 i+3 iCマツプされる
、等である。
多重スタックフレームのキャッシュが設けられる。高速
レジスタの多数のバンクがある。1つのパンクが1つの
手続き起動に割当てられる。プログラムはレジスタをは
つfj!、り保管および復帰する必要はない。
レジスタの多数のバンクがある。1つのパンクが1つの
手続き起動に割当てられる。プログラムはレジスタをは
つfj!、り保管および復帰する必要はない。
第3図に示されているスタックフレームは、データをス
タック状に含む現在のリニヤアドレス・スペースの隣接
する部分である。起動された1つの手続きごとに1つの
スタックフレームがある。
タック状に含む現在のリニヤアドレス・スペースの隣接
する部分である。起動された1つの手続きごとに1つの
スタックフレームがある。
そのスタックフレームはローカル変数、パラメータおよ
びリンケージ情報を含む。呼出しオペレージョンは新し
いスタックフレームを得、戻りオペレーションがそのス
タックフレームを解放fる。
びリンケージ情報を含む。呼出しオペレージョンは新し
いスタックフレームを得、戻りオペレーションがそのス
タックフレームを解放fる。
新しいフレームが得られたら、それは64バイト境界上
に整列させられる。
に整列させられる。
第3図のスタックフレーム内のフィールドは下記のよう
に定められる。
に定められる。
パディング領域。この領域42はFPを次の64バイト
境界に整列させるために用いられる。この領域の寸法は
Oから63パイ)1で変化する。呼出しオペレーション
が行われると、呼出した方のSPを次の64バイト境界
へ循環させて、このフレームのためのF’Pを形成する
ためにパディング領域が付加される。
境界に整列させるために用いられる。この領域の寸法は
Oから63パイ)1で変化する。呼出しオペレーション
が行われると、呼出した方のSPを次の64バイト境界
へ循環させて、このフレームのためのF’Pを形成する
ためにパディング領域が付加される。
フレーム状態(LO)。フレーム状態(42)は、フレ
ームからの戻りに使用することに関連する情報を、呼出
しの後で記録する。フレーム状態のフィールドは下記の
ようにして定められる。
ームからの戻りに使用することに関連する情報を、呼出
しの後で記録する。フレーム状態のフィールドは下記の
ようにして定められる。
トレース・イネイブル、T(ビット0)。スーパーバイ
ザ呼出しにおいては、このビットは、呼出し時に、トレ
ースイネイブルビットを記録する。
ザ呼出しにおいては、このビットは、呼出し時に、トレ
ースイネイブルビットを記録する。
戻りの時には、このビットは、戻りフレームの実行モー
ドがスーパーバイザであれば、プロセス中の呼出す側の
トレースイネイブルビットを復帰させるために用いられ
る。
ドがスーパーバイザであれば、プロセス中の呼出す側の
トレースイネイブルビットを復帰させるために用いられ
る。
戻り状態、RRR(ビット1〜3)。この3ビツトフイ
ールドは、このフレームの作成に用いられる呼出しメカ
ニズムを記録し、かつ戻りで用いる戻υメカニズムを選
択するために用いられる。このフィールドの符号化は次
の通りである。
ールドは、このフレームの作成に用いられる呼出しメカ
ニズムを記録し、かつ戻りで用いる戻υメカニズムを選
択するために用いられる。このフィールドの符号化は次
の通りである。
000 ローカル
001 スーパーバイザ
010 割込み
011 非サブシステム障害
100 サブシステム
101 留保
110 アイドル/停止された割込み
111 留保
予復帰トレース、R(ビット4)c予復帰トレースビッ
トが1の時にフレームから戻ると、復帰オペレーション
に関連する動作が実行される前に、予復帰トレース事象
(イネイブルされたなら)が生ずる。このビットは呼出
の時に零に初期設定される。
トが1の時にフレームから戻ると、復帰オペレーション
に関連する動作が実行される前に、予復帰トレース事象
(イネイブルされたなら)が生ずる。このビットは呼出
の時に零に初期設定される。
以前のフレームポインタ、PPP(ピント6〜31)。
以前のフレームの第1のバイトに対するリニヤアドレス
42゜フレームは64バイト境界に整列させられるから
、FPの上位26ビツトのみが保持される。戻り状態が
サブシステムの転送を示したとすると、このフレームは
、呼出し前のこの呼出しスタック内のフレームの1番上
(最後)のフレームのリニヤアドレスの上位26ビツト
を含む。
42゜フレームは64バイト境界に整列させられるから
、FPの上位26ビツトのみが保持される。戻り状態が
サブシステムの転送を示したとすると、このフレームは
、呼出し前のこの呼出しスタック内のフレームの1番上
(最後)のフレームのリニヤアドレスの上位26ビツト
を含む。
他の時は、1番上のフレームは吃出しフレームである。
呼出し中は、フレーム状態の下位5ビツトは下記のよう
に初期設定される。
に初期設定される。
o ooo−・−ローカル呼出L、tたはスーパーバイ
ザ状態からのスーパーバイザ 呼出し 0001T・−ユーザーモードからのスーパーバイザ呼
出し 0010−−一割込み呼出し 0011−−一非サブシステム障害呼出し0100−−
−サブシステム呼出し 0110−−−アイドル状態すなわち停止されている状
態からの割込み呼出し Tは上記で定義したトレースビットの値である。
ザ状態からのスーパーバイザ 呼出し 0001T・−ユーザーモードからのスーパーバイザ呼
出し 0010−−一割込み呼出し 0011−−一非サブシステム障害呼出し0100−−
−サブシステム呼出し 0110−−−アイドル状態すなわち停止されている状
態からの割込み呼出し Tは上記で定義したトレースビットの値である。
「−」は留保されているピントを示し、[刈は気にしな
い(do 1ot care)ビットを示すC全ての戻
りにおいて、ビットは下記のように解釈される。
い(do 1ot care)ビットを示すC全ての戻
りにおいて、ビットは下記のように解釈される。
1 xxxx −予復帰トレース発生
o ooox−一ローカル戻り実行
0001T−−スーパーバイザモードにおいては、スー
パーバイザ戻夛を実行。Tビ ットがプロセス制御中のトレース イネイブルビットに割当てられ、 実行モードビットがユーザーにセ ットされる。他の場合には、ロー カル戻りを実行する。
パーバイザ戻夛を実行。Tビ ットがプロセス制御中のトレース イネイブルビットに割当てられ、 実行モードビットがユーザーにセ ットされる。他の場合には、ロー カル戻りを実行する。
0010X −一割込み戻りを実行
0011X−障害戻り実行
0100X −−サブシステム戻り実行0101X −
−0PERATION、RETURN障害0110X−
−アイドル/停止された一割込み戻り実行 0111X −−0PERATION、RFXTURN
障害スタックポインタ、5P(Ll)。スタックの第1
のフリーバイトに対するリニヤアドレス(44)、すな
わち、スタック中の最後のアドレスプラス1゜SPハ呼
出しオペレーションによp、FPプラス64に対するポ
インタに初期設定される。
−0PERATION、RETURN障害0110X−
−アイドル/停止された一割込み戻り実行 0111X −−0PERATION、RFXTURN
障害スタックポインタ、5P(Ll)。スタックの第1
のフリーバイトに対するリニヤアドレス(44)、すな
わち、スタック中の最後のアドレスプラス1゜SPハ呼
出しオペレーションによp、FPプラス64に対するポ
インタに初期設定される。
戻り命令ポインタ、RIP(L2)。新しいフレームに
対して呼出しオペレーションが実行された時に、戻D
IP(46)がここに格納される。プロセスが中断され
た時は、次の命令の命令ポインタがここに格納される。
対して呼出しオペレーションが実行された時に、戻D
IP(46)がここに格納される。プロセスが中断され
た時は、次の命令の命令ポインタがここに格納される。
それは32ビツトのリニヤアドレスを含む。そのアドレ
スに対して、このフレームへ戻った後で制御は戻される
。
スに対して、このフレームへ戻った後で制御は戻される
。
手続き呼出しが現在のフレームのレジスタKIPを格納
する。(障害および割込みのために)暗黙の手続き呼出
しが起ることがあるから、プログラムは他の目的にはこ
のレジスタを用いない。
する。(障害および割込みのために)暗黙の手続き呼出
しが起ることがあるから、プログラムは他の目的にはこ
のレジスタを用いない。
スタックは低いアドレスから高いアドレスへ成長する(
第4図)。
第4図)。
第5図は、メモリ内のプログラムスタックへのマイクロ
プロセッサのレジスタセットのマツピングを示す。
プロセッサのレジスタセットのマツピングを示す。
フレームの最初の64バイトがマツプされるページ、ま
たは簡単なオブジェクトはローカル寿命でなければなら
ない。ページまたは簡単なオブジェクトの寿命は呼出し
中に調べられる。この制約は、ローカルレジスタ内での
AD、の効率の良い取扱いのために必要である。
たは簡単なオブジェクトはローカル寿命でなければなら
ない。ページまたは簡単なオブジェクトの寿命は呼出し
中に調べられる。この制約は、ローカルレジスタ内での
AD、の効率の良い取扱いのために必要である。
第2図に示すように、各実行環境は32ビツトのリニヤ
アドレス・スペースを定める。そのリニヤアドレス・ス
ペースは4つの領域に区画される。
アドレス・スペースを定める。そのリニヤアドレス・ス
ペースは4つの領域に区画される。
実行環境内の初めの3つの領域は現在のプロセスに特有
のものである(す々わち、プロセス制御ブロックによシ
定められる)。プロセスに特有の領域の組成はサブシス
テム呼出し/戻りにより変更できる。実行環境の第4の
領域は全てのプロセスによシ共用される(すなわち、プ
ロセッサ制御ブロックによシ定められる)。命令、スタ
ックフレームまたはデータがリニヤアドレス・スペース
に配置される場所には制約はない。
のものである(す々わち、プロセス制御ブロックによシ
定められる)。プロセスに特有の領域の組成はサブシス
テム呼出し/戻りにより変更できる。実行環境の第4の
領域は全てのプロセスによシ共用される(すなわち、プ
ロセッサ制御ブロックによシ定められる)。命令、スタ
ックフレームまたはデータがリニヤアドレス・スペース
に配置される場所には制約はない。
手続きはリニヤアドレス・スペース内の任意の語アドレ
スで始まる。呼出しおよび戻カ手続きはリニヤアドレス
・スペース内のスタックを用いる。
スで始まる。呼出しおよび戻カ手続きはリニヤアドレス
・スペース内のスタックを用いる。
命令
CALL
CALL−EXTENDED
CALLとCALL−EXTENDEDは指定されたア
ドレスにおいて手続きを呼出す。CALLは手続きをI
Pプラス24ビット符号付き変位として指定する。CA
LL−EXTENDEDは全体的なメモリ実効アドレス
を用いて手続きを指定する。CALI、−EXTEND
EDは、新しいフレームにおいてAP となるオペラン
呼出しオペレーション中に新しいスタックフレームが割
当てられ、制御の流れが指定された手続きへ転送される
。実行環境は不変のままである。
ドレスにおいて手続きを呼出す。CALLは手続きをI
Pプラス24ビット符号付き変位として指定する。CA
LL−EXTENDEDは全体的なメモリ実効アドレス
を用いて手続きを指定する。CALI、−EXTEND
EDは、新しいフレームにおいてAP となるオペラン
呼出しオペレーション中に新しいスタックフレームが割
当てられ、制御の流れが指定された手続きへ転送される
。実行環境は不変のままである。
ETURN
RETURN命令は制御を呼出し手続きのアドレッシン
グ環境へ戻し、呼出された手続きのスタックフレームを
放す。呼出し手続きのフレーム内のRIPによυ指定さ
れた命令において命令実行が継続される。
グ環境へ戻し、呼出された手続きのスタックフレームを
放す。呼出し手続きのフレーム内のRIPによυ指定さ
れた命令において命令実行が継続される。
MOD I FY−AC
CONVERT−ADDRESS
現在の算術制御を読出し、または修正するためにMOD
IFY−ACが用いらnる。領域ADは直接に7クセ、
’、で!&いかう、C0NVERT−ADDRESS命
令を用いてリニヤアドレスを仮想アドレスに変換できる
。
IFY−ACが用いらnる。領域ADは直接に7クセ、
’、で!&いかう、C0NVERT−ADDRESS命
令を用いてリニヤアドレスを仮想アドレスに変換できる
。
ソフトウェアプロセスすなわちタスクはプロセス制御ブ
ロックにより表される。ブロセススイツ手段は2つの命
令(5ave、−processおよびresume、
−procesa)を介して行うもので、オペレーティ
ングシステムがプロセスを明らかに切換えることを許す
。別の手段は優先をペースとするプロセス・スケジュー
リングおよびディスパッチング機能であって、プロセッ
サに組込まれる後者のメカニズムを用いると、プロセッ
サはメモリ内の行列からプロセスを自動的に発生する。
ロックにより表される。ブロセススイツ手段は2つの命
令(5ave、−processおよびresume、
−procesa)を介して行うもので、オペレーティ
ングシステムがプロセスを明らかに切換えることを許す
。別の手段は優先をペースとするプロセス・スケジュー
リングおよびディスパッチング機能であって、プロセッ
サに組込まれる後者のメカニズムを用いると、プロセッ
サはメモリ内の行列からプロセスを自動的に発生する。
プロセッサは各プロセスの累積実行時間を保持し、かつ
希望によっては時間スライス管理も行う。
希望によっては時間スライス管理も行う。
その時間スライス管理のために、プロセスが指定された
時間より長い時間実行した時は、プロセッサは障害を常
に指示し、または利用できるプロセスの行列にプロセス
を常に並べ、別のプロセスを生ずる。
時間より長い時間実行した時は、プロセッサは障害を常
に指示し、または利用できるプロセスの行列にプロセス
を常に並べ、別のプロセスを生ずる。
自動プロセス発生が用いられる時は、1組のプロセス間
通信命令が与えられる。それらの命令はソフトウェア・
オペレーティングシステム・カーネルで通常与えられる
サービスに類似する。それらの命令はプロセス間のメツ
セージの通信をサポートする。
通信命令が与えられる。それらの命令はソフトウェア・
オペレーティングシステム・カーネルで通常与えられる
サービスに類似する。それらの命令はプロセス間のメツ
セージの通信をサポートする。
〔トレーシングおよびICEサポート〕ソフトウェアの
デバッキングおよびトレーシングがトレース制御レジス
タにより行われる。そのソフトウェアのデバッキングお
よびトレーシングはプロセスの一部である。トレース制
御により下記の事象の任意の組合わせを検出できる。
デバッキングおよびトレーシングがトレース制御レジス
タにより行われる。そのソフトウェアのデバッキングお
よびトレーシングはプロセスの一部である。トレース制
御により下記の事象の任意の組合わせを検出できる。
命令実行(すなわち、単一ステップ)、行われた分岐命
令の実行、 呼出し命令の実行、 戻り命令の実行、 次の命令が戻り命令であることの検出、スーパーバイザ
呼出しまたはサブシステム呼出しの実行、 ブレークポイント(ハードウェア・ブレークポイントま
たはブレークポイント命令の実行)トレース事象が検出
されると、プロセッサはトレース障害を発生して、ソフ
トウェア・デバッガまたはソフトウェアモニタに制御を
与える。プロセッサは2つの命令ブレークポイントを含
み、デバッガはそれらのレジスタに2つの命令のアドレ
スを置くことができる。
令の実行、 呼出し命令の実行、 戻り命令の実行、 次の命令が戻り命令であることの検出、スーパーバイザ
呼出しまたはサブシステム呼出しの実行、 ブレークポイント(ハードウェア・ブレークポイントま
たはブレークポイント命令の実行)トレース事象が検出
されると、プロセッサはトレース障害を発生して、ソフ
トウェア・デバッガまたはソフトウェアモニタに制御を
与える。プロセッサは2つの命令ブレークポイントを含
み、デバッガはそれらのレジスタに2つの命令のアドレ
スを置くことができる。
マイクロプロセッサのバスは、バースト転送性能を有す
る32ビツトの多重化バスである。バースト転送メカニ
ズム(これにより引き続くサイクルで多くの語を転送で
きる)によりバスを多重化バスと定めることができる。
る32ビツトの多重化バスである。バースト転送メカニ
ズム(これにより引き続くサイクルで多くの語を転送で
きる)によりバスを多重化バスと定めることができる。
バースト転送は1゜2.3または4語に対して行うこと
ができる。アドレスサイクル中に、下位の2アドレスビ
ツトで要求中の語の数を示す。たとえば、プロセッサが
4語を読出すことを望んだとすると、4個めREADY
を受けるまではバスのオペレーションは終了されない。
ができる。アドレスサイクル中に、下位の2アドレスビ
ツトで要求中の語の数を示す。たとえば、プロセッサが
4語を読出すことを望んだとすると、4個めREADY
を受けるまではバスのオペレーションは終了されない。
命令キャッシュを充すため、スタック=フレーム=キャ
ッシュ格納および復旧のため、多語ロードおよび格納の
ため、ストリングオペレーションのため等にバースト転
送オペレーションはプロセッサによシしばしば用いられ
る。
ッシュ格納および復旧のため、多語ロードおよび格納の
ため、ストリングオペレーションのため等にバースト転
送オペレーションはプロセッサによシしばしば用いられ
る。
このマイクロプロセッサは高度にパイプライン化される
。任意の時刻において、パイプライン中の命令の種々の
段階には通常5個の命令がある。
。任意の時刻において、パイプライン中の命令の種々の
段階には通常5個の命令がある。
与えられた任意のサイクルにおいては、命令n+4に対
する命令ポインタが計算され、命令n+3が命令キャッ
シュから読出され、命令H+2が復号されてマイクロ命
令バスへ出され、命令n+lが実行され、命令nの結果
がレジスタファイルに格納される。
する命令ポインタが計算され、命令n+3が命令キャッ
シュから読出され、命令H+2が復号されてマイクロ命
令バスへ出され、命令n+lが実行され、命令nの結果
がレジスタファイルに格納される。
第1図は本発明が実施されるマイクロプロセッサの主な
各部品の機能ブロック図、第2図は第1図に示す装置で
命令を実行している時の実行環境のブロック図、第3図
は第2図に示す実行環境の現在のリニヤアドレス・スペ
ース内のスタックフレームの構造を示す線図、第4図は
第2図に示す実行環境の現在のリニヤアドレス・スペー
ス内の呼出しスタックの構造を示す線図、第5図はメモ
リ内のプログラムスタック中へのマイクロプロセッサの
レジスタセットのマツピングを示す線図である。 10・・・・命令フェッチユニット、12・・・・命令
デコーダ、14・・・・マイクロ命令シーケンサ、18
・・・・翻訳ルックアサイド・バッファ、20・・・・
ローカルバス・シーケンサ、22・・・・浮動小数点ユ
ニット、24・・・・整数実行ユニット。 特許出願人 インテル・コーポレーション代理人 山
川政樹(tビ為2名) FIG、 1 FIG、5 ズ7・y7り /赤ニ
各部品の機能ブロック図、第2図は第1図に示す装置で
命令を実行している時の実行環境のブロック図、第3図
は第2図に示す実行環境の現在のリニヤアドレス・スペ
ース内のスタックフレームの構造を示す線図、第4図は
第2図に示す実行環境の現在のリニヤアドレス・スペー
ス内の呼出しスタックの構造を示す線図、第5図はメモ
リ内のプログラムスタック中へのマイクロプロセッサの
レジスタセットのマツピングを示す線図である。 10・・・・命令フェッチユニット、12・・・・命令
デコーダ、14・・・・マイクロ命令シーケンサ、18
・・・・翻訳ルックアサイド・バッファ、20・・・・
ローカルバス・シーケンサ、22・・・・浮動小数点ユ
ニット、24・・・・整数実行ユニット。 特許出願人 インテル・コーポレーション代理人 山
川政樹(tビ為2名) FIG、 1 FIG、5 ズ7・y7り /赤ニ
Claims (11)
- (1)主メモリに接続できるデータプロセッサに使用す
るための前記データプロセッサ内のスタックフレームキ
ャッシュおよびそれに用いる制御機構において、 複数のグローバルレジスタであつて、そのうちの1つが
現在のフレームを指す現在のフレームポインタを含み、
残りのグローバルレジスタが現在のプロセスに対する汎
用レジスタとして利用できるような前記複数のグローバ
ルレジスタと、おのおのがいくつかのローカルレジスタ
で構成されている複数のレジスタセットで構成されたレ
ジスタセットプールと、 呼出し命令の復号により起動され、前記レジスタセット
プールからのローカルレジスタのレジスタセットを呼出
された手続きに割当て、かつ前記フレームポインタレジ
スタの1つを初期設定して現在のフレームを作る第1の
制御手段と、 戻り命令が復号された時に起動されて、引き続く呼出し
命令により呼出された別の手続きに前記レジスタセット
を自由に割当てる第2の制御手段と、 を備えることを特徴とするスタックフレームキャッシュ
およびそれに用いる制御機構。 - (2)特許請求の範囲第1項記載のスタックフレームキ
ャッシュおよびそれに用いる制御機構であつて、前記制
御手段は、以前の手続きに関連するレジスタセットの内
容を前記主メモリに格納するために前記レジスタセット
が空にされた時に動作して、前記レジスタセットを前記
現在の手続きに割当てる手段を含むことを特徴とするス
タックフレームキャッシュおよびそれに用いる制御機構
。 - (3)特許請求の範囲第1項記載のスタックフレームキ
ャッシュおよびそれに用いる制御機構であつて、前記第
1の制御手段は、前記フレームの作成に用いられる呼出
し機構を記録し、戻りに使用する戻り機構を選択する戻
り状態ビットを含むことを特徴とするスタックフレーム
キャッシュおよびそれに用いる制御機構。 - (4)特許請求の範囲第1項記載のスタックフレームキ
ャッシュおよびそれに用いる制御機構であつて、手続き
に関連する前記レジスタセット中の前記ローカルレジス
タは、以前のフレームに対するポインタと命令ポインタ
を含むリンケージ情報を含むことを特徴とするスタック
フレームキャッシュおよびそれに用いる制御機構。 - (5)特許請求の範囲第2項記載のスタックフレームキ
ャッシュおよびそれに用いる制御機構であつて、手続き
に関連する前記レジスタセット中の前記ローカルレジス
タは、以前のフレームに対するポインタと命令ポインタ
を含むリンケージ情報を含むことを特徴とするスタック
フレームキャッシュおよびそれに用いる制御機構。 - (6)特許請求の範囲第1項記載のスタックフレームキ
ャッシュおよびそれに用いる制御機構であつて、手続き
に関連する前記レジスタセット中の前記ローカルレジス
タは、フレームから戻つた時に使用すべき、呼出し後の
フレームに関連する情報を記録するためにフレーム状態
ビットを含むスタックフレームを含み、前記情報は、前
記フレームの作成に用いられた呼出し機構を記録し、戻
りに使用する戻り機構を選択するために戻り状態ビット
を含むスタックフレームを含むことを特徴とするスタッ
クフレームキャッシュおよびそれに用いる制御機構。 - (7)特許請求の範囲第1項記載のスタックフレームキ
ャッシュおよびそれに用いる制御機構であつて、手続き
に関連する前記レジスタセット中の前記ローカルレジス
タは、以前のフレームの第1のバイトに対するリニヤア
ドレスで構成された以前のフレームポインタビットを含
むスタックフレームを含むことを特徴とするスタックフ
レームキャッシュおよびそれに用いる制御機構。 - (8)特許請求の範囲第1項記載のスタックフレームキ
ャッシュおよびそれに用いる制御機構であつて、手続き
に関連する前記レジスタセット中の前記ローカルレジス
タは、呼出し動作が新しいフレームに対して行われると
いう条件で戻り命令ポインタを格納するため、およびプ
ロセスが中断されている時に次の命令の命令ポインタを
格納するために戻り命令ポインタフィールドを含むスタ
ックフレームを含み、前記フィールドは、このフレーム
へ戻つた後で制御が戻されるリニヤアドレスであること
を特徴とするスタックフレームキャッシュおよびそれに
用いる制御機構。 - (9)特許請求の範囲第2項記載のスタックフレームキ
ャッシュおよびそれに用いる制御機構であつて、手続き
に関連する前記レジスタセット中の前記ローカルレジス
タは、フレームから戻つた時に使用すべき、呼出し後の
フレームに関連する情報を記録するためにフレーム状態
ビットを含むスタックフレームを含み、前記情報は、前
記フレームの作成に用いられた呼出し機構を記録し、戻
りに使用する戻り機構を選択するために戻り状態ビット
を含むスタックフレームを含むことを特徴とするスタッ
クフレームキャッシュおよびそれに用いる制御機構。 - (10)特許請求の範囲第2項記載のスタックフレーム
キャッシュおよびそれに用いる制御機構であつて、手続
きに関連する前記レジスタセット中の前記ローカルレジ
スタは、以前のフレームの第1のバイトに対するリニヤ
アドレスで構成された以前のフレームポインタビットを
含むスタックフレームを含むことを特徴とするスタック
フレームキャッシュおよびそれに用いる制御機構。 - (11)特許請求の範囲第2項記載のスタックフレーム
キャッシュおよびそれに用いる制御機構であつて、手続
きに関連する前記レジスタセット中の前記ローカルレジ
スタは、呼出し動作が新しいフレームに対して行われる
という条件で戻り命令ポインタを格納するため、および
プロセスが中断されている時に次の命令の命令ポインタ
を格納するために戻り命令ポインタフィールドを含むス
タックフレームを含み、前記フィールドは、このフレー
ムへ戻つた後で制御が戻されるリニヤアドレスであるこ
とを特徴とするスタックフレームキャッシュおよびそれ
に用いる制御機構。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US863878 | 1986-05-16 | ||
US06/863,878 US4811208A (en) | 1986-05-16 | 1986-05-16 | Stack frame cache on a microprocessor chip |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62286128A true JPS62286128A (ja) | 1987-12-12 |
JP2612168B2 JP2612168B2 (ja) | 1997-05-21 |
Family
ID=25341994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62118731A Expired - Lifetime JP2612168B2 (ja) | 1986-05-16 | 1987-05-15 | データプロセッサ |
Country Status (9)
Country | Link |
---|---|
US (1) | US4811208A (ja) |
JP (1) | JP2612168B2 (ja) |
KR (1) | KR870011524A (ja) |
CN (1) | CN1009592B (ja) |
DE (1) | DE3716229C2 (ja) |
FR (1) | FR2598835B1 (ja) |
GB (1) | GB2190521B (ja) |
HK (1) | HK57590A (ja) |
SG (1) | SG34990G (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007025022A (ja) * | 2005-07-13 | 2007-02-01 | Hitachi Via Mechanics Ltd | 描画装置及びそれを搭載した露光装置 |
JP2008065734A (ja) * | 2006-09-11 | 2008-03-21 | Meidensha Corp | レジスタファイルの書き込み/読み出し方式 |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5043870A (en) * | 1982-02-24 | 1991-08-27 | At&T Bell Laboratories | Computer with automatic mapping of memory contents into machine registers during program execution |
JP2545789B2 (ja) * | 1986-04-14 | 1996-10-23 | 株式会社日立製作所 | 情報処理装置 |
JPS63259727A (ja) * | 1987-04-17 | 1988-10-26 | Hitachi Ltd | コプロセツサのインタ−フエイス方式 |
JP2982875B2 (ja) * | 1987-12-28 | 1999-11-29 | 株式会社日立製作所 | スレーブ制御装置 |
ATE109910T1 (de) * | 1988-01-20 | 1994-08-15 | Advanced Micro Devices Inc | Organisation eines integrierten cachespeichers zur flexiblen anwendung zur unterstützung von multiprozessor-operationen. |
US5136691A (en) * | 1988-01-20 | 1992-08-04 | Advanced Micro Devices, Inc. | Methods and apparatus for caching interlock variables in an integrated cache memory |
US5025366A (en) * | 1988-01-20 | 1991-06-18 | Advanced Micro Devices, Inc. | Organization of an integrated cache unit for flexible usage in cache system design |
US5101344A (en) * | 1988-01-28 | 1992-03-31 | Motorola, Inc. | Data processor having split level control store |
US5220669A (en) * | 1988-02-10 | 1993-06-15 | International Business Machines Corporation | Linkage mechanism for program isolation |
US4905188A (en) * | 1988-02-22 | 1990-02-27 | International Business Machines Corporation | Functional cache memory chip architecture for improved cache access |
GB2254714B (en) * | 1988-03-22 | 1992-12-23 | Digital Equipment Corp | Cross-domain call system in a capability based digital data processing system |
US5210874A (en) * | 1988-03-22 | 1993-05-11 | Digital Equipment Corporation | Cross-domain call system in a capability based digital data processing system |
US5101341A (en) * | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
US5226166A (en) * | 1989-02-10 | 1993-07-06 | Mitsubishi Denki K.K. | Parallel operation processor with second command unit |
US5293500A (en) * | 1989-02-10 | 1994-03-08 | Mitsubishi Denki K.K. | Parallel processing method and apparatus |
US5155820A (en) * | 1989-02-21 | 1992-10-13 | Gibson Glenn A | Instruction format with designations for operand lengths of byte, half word, word, or double word encoded in address bits |
US5093908A (en) * | 1989-04-17 | 1992-03-03 | International Business Machines Corporation | Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor |
US5185694A (en) * | 1989-06-26 | 1993-02-09 | Motorola, Inc. | Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies |
JP2655191B2 (ja) * | 1989-07-05 | 1997-09-17 | 三菱電機株式会社 | 演算処理装置 |
JPH0353328A (ja) * | 1989-07-20 | 1991-03-07 | Hitachi Ltd | レジスタ退避回復方法ならびに処理装置 |
US5179681A (en) * | 1989-11-16 | 1993-01-12 | Sun Microsystems, Inc. | Method and apparatus for current window cache with switchable address and out cache registers |
US5075842A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism |
US5075848A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Object lifetime control in an object-oriented memory protection mechanism |
GB2239334B (en) * | 1989-12-22 | 1994-07-06 | Intel Corp | Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism |
US5157777A (en) * | 1989-12-22 | 1992-10-20 | Intel Corporation | Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism |
US5093917A (en) * | 1990-01-17 | 1992-03-03 | Ag Communication Systems Corporation | Method for passing data parameters between a calling program and a called subroutine in a command analysis table of a computer stored data base system |
EP0592404B1 (en) * | 1990-03-15 | 1998-09-16 | Sun Microsystems, Inc. | Apparatus and method for providing a stall cache |
US5179682A (en) * | 1990-05-15 | 1993-01-12 | Sun Microsystems, Inc. | Method and apparatus for improved current window cache with switchable address in, out, and local cache registers |
US5493687A (en) * | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
EP1526446A3 (en) * | 1991-07-08 | 2007-04-04 | Seiko Epson Corporation | Extensible RISC microprocessor architecture |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
JPH0831041B2 (ja) * | 1991-09-06 | 1996-03-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プログラム条件処理方法およびコンピュータ・システム |
US5448707A (en) * | 1991-10-29 | 1995-09-05 | Intel Corporation | Mechanism to protect data saved on a local register cache during inter-subsystem calls and returns |
EP0636256B1 (en) * | 1992-03-31 | 1997-06-04 | Seiko Epson Corporation | Superscalar risc processor instruction scheduling |
DE69308548T2 (de) * | 1992-05-01 | 1997-06-12 | Seiko Epson Corp | Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor. |
US5491793A (en) * | 1992-07-31 | 1996-02-13 | Fujitsu Limited | Debug support in a processor chip |
US5628021A (en) * | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
DE69330889T2 (de) * | 1992-12-31 | 2002-03-28 | Seiko Epson Corp | System und Verfahren zur Änderung der Namen von Registern |
US6151661A (en) * | 1994-03-03 | 2000-11-21 | International Business Machines Corporation | Cache memory storage space management system and method |
US5893148A (en) * | 1994-03-03 | 1999-04-06 | International Business Machines Corporation | System and method for allocating cache memory storage space |
EP0676691A3 (en) * | 1994-04-06 | 1996-12-11 | Hewlett Packard Co | Device for saving and restoring registers in a digital computer. |
US5636362A (en) * | 1994-09-28 | 1997-06-03 | Intel Corporation | Programmable high watermark in stack frame cache using second region as a storage if first region is full and an event having a predetermined minimum priority |
US5564111A (en) * | 1994-09-30 | 1996-10-08 | Intel Corporation | Method and apparatus for implementing a non-blocking translation lookaside buffer |
US5532947A (en) * | 1995-01-25 | 1996-07-02 | International Business Machines Corporation | Combined decoder/adder circuit which provides improved access speed to a cache |
DE69628326D1 (de) * | 1995-10-06 | 2003-06-26 | Patriot Scient Corp | Architektur für einen risc-mikroprozessor |
US6532531B1 (en) | 1996-01-24 | 2003-03-11 | Sun Microsystems, Inc. | Method frame storage using multiple memory circuits |
KR100529416B1 (ko) * | 1996-01-24 | 2006-01-27 | 선 마이크로시스템즈 인코퍼레이티드 | 스택기반컴퓨터를위한명령폴딩방법및장치 |
US6038643A (en) * | 1996-01-24 | 2000-03-14 | Sun Microsystems, Inc. | Stack management unit and method for a processor having a stack |
US6167488A (en) * | 1997-03-31 | 2000-12-26 | Sun Microsystems, Inc. | Stack caching circuit with overflow/underflow unit |
US6289418B1 (en) | 1997-03-31 | 2001-09-11 | Sun Microsystems, Inc. | Address pipelined stack caching method |
US6131144A (en) * | 1997-04-01 | 2000-10-10 | Sun Microsystems, Inc. | Stack caching method with overflow/underflow control using pointers |
US6067602A (en) * | 1997-06-23 | 2000-05-23 | Sun Microsystems, Inc. | Multi-stack-caching memory architecture |
US6138210A (en) * | 1997-06-23 | 2000-10-24 | Sun Microsystems, Inc. | Multi-stack memory architecture |
US6092152A (en) * | 1997-06-23 | 2000-07-18 | Sun Microsystems, Inc. | Method for stack-caching method frames |
US6058457A (en) * | 1997-06-23 | 2000-05-02 | Sun Microsystems, Inc. | Method for storing method frames in multiple stacks |
US5930158A (en) * | 1997-07-02 | 1999-07-27 | Creative Technology, Ltd | Processor with instruction set for audio effects |
US6170050B1 (en) | 1998-04-22 | 2001-01-02 | Sun Microsystems, Inc. | Length decoder for variable length data |
US6237086B1 (en) | 1998-04-22 | 2001-05-22 | Sun Microsystems, Inc. | 1 Method to prevent pipeline stalls in superscalar stack based computing systems |
US6108768A (en) * | 1998-04-22 | 2000-08-22 | Sun Microsystems, Inc. | Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system |
US6275903B1 (en) | 1998-04-22 | 2001-08-14 | Sun Microsystems, Inc. | Stack cache miss handling |
US6145123A (en) * | 1998-07-01 | 2000-11-07 | Advanced Micro Devices, Inc. | Trace on/off with breakpoint register |
US20050149939A1 (en) * | 2001-12-21 | 2005-07-07 | Carsten Noeske | Method and device for managing resources in a computer system |
JP4837247B2 (ja) * | 2003-09-24 | 2011-12-14 | パナソニック株式会社 | プロセッサ |
US9323571B2 (en) * | 2004-02-06 | 2016-04-26 | Intel Corporation | Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor |
US20060112226A1 (en) | 2004-11-19 | 2006-05-25 | Hady Frank T | Heterogeneous processors sharing a common cache |
US7840845B2 (en) * | 2005-02-18 | 2010-11-23 | Intel Corporation | Method and system for setting a breakpoint |
US7237149B2 (en) * | 2005-02-25 | 2007-06-26 | Freescale Semiconductor, Inc. | Method and apparatus for qualifying debug operation using source information |
US8429634B2 (en) * | 2006-07-26 | 2013-04-23 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, memory circuit, and machine language program generation device, and method for operating semiconductor device and memory circuit |
CN101216756B (zh) * | 2007-12-28 | 2011-03-23 | 中国科学院计算技术研究所 | 一种risc处理器装置及其模拟浮点栈操作的方法 |
US9501285B2 (en) * | 2010-05-27 | 2016-11-22 | International Business Machines Corporation | Register allocation to threads |
KR20200077287A (ko) * | 2018-12-20 | 2020-06-30 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5474651A (en) * | 1977-11-28 | 1979-06-14 | Toshiba Corp | Stack control system |
JPS5576448A (en) * | 1978-12-05 | 1980-06-09 | Nippon Telegr & Teleph Corp <Ntt> | Multi-group register control system |
JPS57143643A (en) * | 1981-03-03 | 1982-09-04 | Toshiba Corp | Data processing device |
JPS57162031A (en) * | 1981-03-31 | 1982-10-05 | Fujitsu Ltd | Address stack control system |
JPS5814253A (ja) * | 1981-07-17 | 1983-01-27 | Nec Corp | 中央処理装置の割込方式 |
JPS5843043A (ja) * | 1981-09-08 | 1983-03-12 | Oki Electric Ind Co Ltd | デ−タ処理装置の呼び出し命令方式 |
JPS5875250A (ja) * | 1981-10-29 | 1983-05-06 | Toshiba Corp | デジタル情報処理装置 |
JPS616747A (ja) * | 1984-06-21 | 1986-01-13 | Matsushita Electric Ind Co Ltd | メモリ装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1426273A (en) * | 1973-04-13 | 1976-02-25 | Int Computers Ltd | Data processing |
US4435780A (en) * | 1981-06-16 | 1984-03-06 | International Business Machines Corporation | Separate stack areas for plural processes |
US4445173A (en) * | 1981-09-11 | 1984-04-24 | Data General Corporation | Improved system for saving and restoring state in call and return operations |
US4516203A (en) * | 1981-09-11 | 1985-05-07 | Data General Corporation | Improved apparatus for encaching data whose value does not change during execution of an instruction sequence |
EP0075633B1 (en) * | 1981-09-30 | 1987-09-09 | Unisys Corporation | Register allocation apparatus |
WO1983001318A1 (en) * | 1981-09-30 | 1983-04-14 | Burroughs Corp | Microprogrammed digital data processing system employing tasking at a microinstruction level |
US4530049A (en) * | 1982-02-11 | 1985-07-16 | At&T Bell Laboratories | Stack cache with fixed size stack frames |
CA1187200A (en) * | 1982-02-24 | 1985-05-14 | David R. Ditzel | Computer with automatic mapping of memory contents into machine registers |
US4652996A (en) * | 1982-09-27 | 1987-03-24 | Data General Corporation | Encachment apparatus using multiple frames and responding to a key to obtain data therefrom |
-
1986
- 1986-05-16 US US06/863,878 patent/US4811208A/en not_active Expired - Lifetime
- 1986-11-25 GB GB8628175A patent/GB2190521B/en not_active Expired - Lifetime
- 1986-12-31 FR FR868618432A patent/FR2598835B1/fr not_active Expired - Lifetime
-
1987
- 1987-01-21 KR KR870000472A patent/KR870011524A/ko not_active Application Discontinuation
- 1987-01-26 CN CN87100507A patent/CN1009592B/zh not_active Expired
- 1987-05-14 DE DE3716229A patent/DE3716229C2/de not_active Expired - Fee Related
- 1987-05-15 JP JP62118731A patent/JP2612168B2/ja not_active Expired - Lifetime
-
1990
- 1990-05-18 SG SG34990A patent/SG34990G/en unknown
- 1990-08-02 HK HK575/90A patent/HK57590A/xx not_active IP Right Cessation
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5474651A (en) * | 1977-11-28 | 1979-06-14 | Toshiba Corp | Stack control system |
JPS5576448A (en) * | 1978-12-05 | 1980-06-09 | Nippon Telegr & Teleph Corp <Ntt> | Multi-group register control system |
JPS57143643A (en) * | 1981-03-03 | 1982-09-04 | Toshiba Corp | Data processing device |
JPS57162031A (en) * | 1981-03-31 | 1982-10-05 | Fujitsu Ltd | Address stack control system |
JPS5814253A (ja) * | 1981-07-17 | 1983-01-27 | Nec Corp | 中央処理装置の割込方式 |
JPS5843043A (ja) * | 1981-09-08 | 1983-03-12 | Oki Electric Ind Co Ltd | デ−タ処理装置の呼び出し命令方式 |
JPS5875250A (ja) * | 1981-10-29 | 1983-05-06 | Toshiba Corp | デジタル情報処理装置 |
JPS616747A (ja) * | 1984-06-21 | 1986-01-13 | Matsushita Electric Ind Co Ltd | メモリ装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007025022A (ja) * | 2005-07-13 | 2007-02-01 | Hitachi Via Mechanics Ltd | 描画装置及びそれを搭載した露光装置 |
JP4617210B2 (ja) * | 2005-07-13 | 2011-01-19 | 日立ビアメカニクス株式会社 | 描画装置及びそれを搭載した露光装置 |
JP2008065734A (ja) * | 2006-09-11 | 2008-03-21 | Meidensha Corp | レジスタファイルの書き込み/読み出し方式 |
Also Published As
Publication number | Publication date |
---|---|
FR2598835A1 (fr) | 1987-11-20 |
GB2190521B (en) | 1990-01-10 |
GB2190521A (en) | 1987-11-18 |
KR870011524A (ko) | 1987-12-24 |
DE3716229C2 (de) | 1996-08-14 |
DE3716229A1 (de) | 1987-11-19 |
CN1009592B (zh) | 1990-09-12 |
JP2612168B2 (ja) | 1997-05-21 |
SG34990G (en) | 1990-09-07 |
CN87100507A (zh) | 1987-11-25 |
FR2598835B1 (fr) | 1993-09-03 |
GB8628175D0 (en) | 1986-12-31 |
HK57590A (en) | 1990-08-10 |
US4811208A (en) | 1989-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62286128A (ja) | データプロセッサ | |
US5517651A (en) | Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes | |
US4794524A (en) | Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit | |
US5764969A (en) | Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization | |
US5095526A (en) | Microprocessor with improved interrupt response with interrupt data saving dependent upon processor status | |
US5157777A (en) | Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism | |
US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
US5889982A (en) | Method and apparatus for generating event handler vectors based on both operating mode and event type | |
US4814975A (en) | Virtual machine system and method for controlling machines of different architectures | |
US5949985A (en) | Method and system for handling interrupts during emulation of a program | |
US5574873A (en) | Decoding guest instruction to directly access emulation routines that emulate the guest instructions | |
US5623617A (en) | Method for decoding sequences of guest instructions for a host computer | |
JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
US20060174094A1 (en) | Systems and methods for providing complementary operands to an ALU | |
US5987600A (en) | Exception handling in a processor that performs speculative out-of-order instruction execution | |
JPH0242569A (ja) | ベクター処理システムに用いる文脈スイッチング方法及び装置 | |
US5187791A (en) | Microprocessor with improved interrupt response with data saving dependent upon processor status using status flag | |
US11010168B2 (en) | Effectiveness and prioritization of prefetches | |
US5815701A (en) | Computer method and apparatus which maintains context switching speed with a large number of registers and which improves interrupt processing time | |
JPH10143494A (ja) | スカラ/ベクトル演算の組み合わせられた単一命令複数データ処理 | |
US5448707A (en) | Mechanism to protect data saved on a local register cache during inter-subsystem calls and returns | |
EP0726516A1 (en) | Method and system for selective support of non-architected instructions within a superscalar processor system | |
US6012128A (en) | Microcontroller having a page address mode | |
Chai et al. | Real-time Java processor optimized for RTSJ | |
Sloss | Interrupt handling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080227 Year of fee payment: 11 |