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
Application number
JP62118731A
Other languages
English (en)
Other versions
JP2612168B2 (ja
Inventor
グレンフオード・ジエイ・マイアース
コンラツド・レイ
マイケル・テイ・イメル
グレン・ヒントン
ロバート・リツチエス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JPS62286128A publication Critical patent/JPS62286128A/ja
Application granted granted Critical
Publication of JP2612168B2 publication Critical patent/JP2612168B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • G06F9/30127Register windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/451Stack 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つの面に従って、ある手続きに関連するレジ
スタセットのローカルレジスタカ、以前のフレームに対
するポインタおよび命令ポインタを含むリンケージ情報
を含んで、オフチップメモリを参照する必要なしにほと
んどの呼出し命令と戻り命令を実行することを可能にす
る。
本発明の利点は、サブルーチンの境界を交差する時に行
わねばならないレジスタの留保が大幅に減少することで
ある。
本発明の別の利点は、ローカルレジスタセットカ、t、
タックフレーム内にマツプされるから、スタックフレー
ム中に通常現われるリンケージ情報(たとえば、以前の
フレームに対するポインタ、留保された命令ポインタ)
がローカルレジスタに含まれる。このことは、オフチッ
プメモリを参照させることなしに、はとんどの呼出し命
令と戻り命令を実行することを意味する。
〔実施例〕
以下、図面を参照して本発明の詳細な説明する。
まず、第1図を参照して、マイクロプロセッサは、命令
フェッチユニット10と、命令デコーダ12と、マイク
ロ命令シーケンサ14と、翻訳ルックアサイド・バッフ
718と、浮動小数点ユニット22と、ローカルバスシ
ーケンサ20と、整数実行ユニット24との7つの主々
ユニットに論理的に分割される。
それら全てのユニットの間の通信路が32ビツトデータ
バスと、29ビツトマイクロ命令バス26と、マイクロ
命令受車信号バス28とを含む。マイクロ命令バスは独
立したユニットの動作を制御し、同期をとる。各ユニッ
トについて以下に簡単に説明する。
命令デコーダIDは命令(マクロ命令)を復号し、その
命令の実行を制御する。IDは命令を実行し、オペラン
ドの7ドレツシングとフエツチングを実行し、分岐命令
(すなわち、命令ポインタのマニピユレーション)全取
扱い、実行マイクロ命令(簡単な命令のための)を発生
し、またはマイクロプログラム流(複雑な命令のための
)をスタートさせる。
命令フエツチュニツ)(IFU)はIDが使用する命令
をメモリからフェッチし、予めフェッチし、そしてキャ
ッシュする。IFUは、ノくイブラインを通じて命令を
追従する6個の命令ポインタの維持も行う。170は最
近に使用した命令ブロックをキャッシュし、命令の流れ
を供給された命令デコーダを保持する。IFUはIOに
よシ制御される命令ポインタとオペランド減少ロジック
も含む。
マイクロ命令シーケンサ(MIS)は、チップの初期設
定、複雑すぎて直接取扱うことができないマクロ命令、
除外条件および割込み条件を取扱うためにマイクロコー
ドの流れの順序づけを行う。
MISは3KX42ビツトのマイクロコードROMと、
マイクロコードの流れのためのシーケンシングロジック
を含む。MISは、次のマイクロ命令を7エツチするこ
と、マイクロプログラムを分岐すること、例外条件を取
扱うこと、スコアボードをレジスタファイルに維持する
こと、よりとともにマイクロ命令境界およびトレース事
象を検出することを実行する。
整数実行二二ツ)(IEU)はIDとMISによ多発生
されたほとんどのマイクロ命令を実行する。
rEUはプログラマに見えるレジスタと、マイクロコー
ドにより使用されるスクラッチレジスタと、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)のだめのコープイ
ック・アルゴリズムを含む全ての浮動小数点演算とを実
行する。
翻訳ルックアサイドバッファ(TLB)は、仮想メモリ
メカニズムを実現するために必要なアドレス翻訳を実行
する。TLBは、格納記述子の連想衣とページ表エント
リーを用いてアドレス翻訳およびメモリの保護を実行す
る。TLBは48エントリー・キャッシュと、6ピツト
アドレス加算器と、メモリ保護点検ノ・−ドウエアとを
含む。アドレスキャッシュ内の各エントリーは27CA
M ビットと38RAMビットを含む。TLBは、各種
の従来のメカニズム(哀−ジンクまたはセグメンテーシ
ョン)からその種類のメモリ保護をユーザーが選択でき
るようにするために、いくつかのアドレス翻訳メカニズ
ムをサポートする。
ローカルバス・ジ−ケンサバ外部バスアクセスをパイプ
ラインし、順序をつける。ローカルバス・シーケンサは
外部ローカルバスに対するインターフェイス・ハードウ
ニアラ含ミ、ハスプロトコルを管理し、外部事象(たと
えば割込み、初期化)を認識スる。ローカルバスシーケ
ンサは出てゆく33ビツト幅のアドレスおよびデータF
IFOと、入来スる33ビツトのデータFIFOと、シ
ーケンサとを含む。出力されるFIFOにより3個まで
の要求をローカルバス・シーケンサ内で並べることがで
きるようにして、残りのプロセッサが、潜在メモリアク
セスとは独立に実行を続けることができるようにする。
入来するためのFIFOバッファは、データをそれの宛
先へ転送するために自由なサイクルを利用できるように
なるまで、外部メモリから戻るデータを読取る。
複数のグローバルレジスタ21が設けられる。
グローバルレジスタの1つは現在のフレームポインタを
含むフレームレジスタ・ポインタであり、残すのグロー
バルレジスタは現在のプロセスが汎用レジスタとして利
用できる。レジスタ(スタックフレーム)キャッシュ2
3が設けられる。このレジスタ・キャッシュは、複数の
レジスタセットで作られたレジスタセットプールで構成
される。
各レジスタセットはいくつかのローカルレジスタで構成
される。呼出し命令が復号されると、レジスタセットプ
ールからのレジスタセットが呼出された手続きに割当て
られ、フレームポインタ・レジスタが初期設定される。
戻夛命令が復号されると、以後の呼出し命令によシ呼出
された別の手続きにレジスタが自由に割当てられる。レ
ジスタセットプールが空にされると、以前の手続きに関
連するレジスタセットの内容が現在の手続きに割当てら
れる。ある手続きに関連するレジスタセットのローカル
レジスタが、以前のフレームに対するポインタと命令ポ
インタを含むリンケージ情報を含み、それにより、オフ
チップメモリを参照することなしにほとんどの呼出し命
令と戻り命令を実行できる。
〔命令セット〕
プロセスは32ビツトの序数でアドレスされた平らで、
リニヤなアドレススペースを見る。それからそのプロセ
スはデータ、命令およびスタックスペースを割当てる。
呼出し命令が、逐欠割轟てられるスタック上に新しいス
タックフレーム(起動レコード)を作成する。
マイクロプロセッサの命令セットは構造がRISC(命
令セットが減少されたコンピュータ)マシンの構造に類
似する。全ての命令の長さは32ビツトで、語境界上に
整列せねばならず、命令を参照メモリ(他の全ての参照
レジスタ)にロードし、格納し、分岐させるだけである
次に、実行時の環境を示す第2図を参照する。
実行環境は2xx32バイト・リニヤアドレススペース
30と、36個のレジスタとで構成される。
36個のレジスタのうち16個が32ビツトのグローバ
ルレジスタ32であシ、また16個が32ビツトのロー
カルレジスタ34であり、残ジの4個が80ビット浮動
小数点レジスタ36である。
ローカルレジスタにはスタックフレーム・キャッシュと
して知られているメカニズムが組合わされる。手続きが
呼出されると、新しいローカルレジスタセットがオンチ
ップレジスタのプールから割当てられ、戻り手続きによ
り自由にされる。本発明のこの実施例により4組(64
)のオンチップレジスタが与えられるが、その数はプロ
グラマにとつて明らかである。
レジスタモデルは16個のグローバルレジスタと、手続
き境界にまたがって留保される4個の浮動小数点レジス
タと、各スタックフレーム内に関連してマツプされる1
68のローカル(またはフレーム)レジスタの多重セッ
トとで構成される。
任意の時刻に、下記のようにして命令は36個のそれら
のレジスタをアドレスできる。
レジスタの種類      レジスタ名グローバルレジ
スタ     Go・・・015浮動小数点レジスタ 
    FPO・・・FP13(浮動小数点オペランド
) ローカルレジスタ      LO・・・L15任意の
時点に、32個の32ビツトレジスタと、4個の80ビ
ット浮動小数点レジスタ(32個のレジスタを浮動小数
点値を保持するために用いることもできる)とをアドレ
スできる。32個のレジスタのうち16個はグローバル
レジスタ、残)はローカルレジスタである。その違いは
、手続き境界を横切る時に16個のグローバルレジスタ
が影響を受けないことである(すなわち、それらのレジ
スタは、呼出し命令と戻り命令により影響される他のプ
ロセッサ・ローカルレジスタ内の「正常な」レジスタの
ように挙動する)。
呼出し命令が実行されると、プロセッサは、4個のレジ
スタセットのオンチップブールからの16個のローカル
レジスタの新しいセットを、呼出された手続きに割当て
る。プロセッサの4組のプールが空になると、プロセッ
サは、早い手続きに関連する1個のレジスタをとり、そ
のレジスタセットの内容をメモリに格納することによシ
、レジスタを自励的に割当てる。早期の手続きのレジス
タセットの内容が、メモリ内のその手続きのスタックフ
レームの初めの16語内に格納される。そのために、こ
のメカニズムはスタックフレーム・キャッシュと呼ぶ。
戻り命令は現在のローカルレジスタセットを自由にする
(以後の呼出しで使用するために)。
プロセスには16個のグローバルレジスタ32が組合わ
される。そのプロセスが実行されない時は、それらのレ
ジスタはプロセス制御ブロックに保持される。グローバ
ルレジスタはプロセス制御ブロック内に関連してマツプ
されない。
16個の32ビツトレジスタのうち、G15は現在のフ
レームポインタ(FP)を含み、GO・・・G14が汎
用レジスタである。FPは、現在の(1番上の)スタッ
クフレームに対する現在の実行環境内にリニヤアドレス
(ポインタ)を含む。スタックフレームは64バイト境
界に整列させらnているから、FPの下位6ビツトは無
視され、常に零であると解釈される。このレジスタは呼
出しで初期設定され、戻りで復帰させられる。
32ビツトよ)大きいオペランドとしてレジスタの参照
が、引き続くより高いレジスタ番号のレジスタを用いる
〔浮動小数点レジスタ〕
プロセスには4個の浮動小数点レジスタ(34)が組合
わされる。プロセスが実行されない時は、それらのレジ
スタはプロセス制御ブロックに格納される。浮動小数点
レジスタはプロセス制御ブロック内に関連してマツプさ
れない。
浮動小数点数が浮動小数点レジスタに拡張された実数フ
ォーマットで格納される。浮動小数点レジスタは浮動小
数点命令のオペランドとしてのみアクセスされる(しか
し、それらの命令は32ビツトのローカルレジスタとグ
ローバルレジスタも使用できる)。
〔算術制御器〕
算術制御器36は数値命令の算術および故障特性を制御
するため、および条件コードを格納するために用いられ
る。プロセスが中断されると、算術制御情報がプロセス
制御ブロックに格納される。
〔命令ポインタ〕
命令ポインタ38は、現在の命令の第1のバイトに対す
る現在のリニヤアドレス・スペース内のりニヤアドレス
(ポインタ)である。命令は語(4バイト)境界で開始
せねばならないから、IPの下位2ビツトが無視されて
、零であると見なされる。
〔ローカル(tたはフレーム)レジスタ3次に第3図を
参照する。ローカルレジスタLO・・・Li2は通常の
レジスタを示すものではない。
それらのレジスタは現在のフレームの初めの16語を示
す。したがって、レジスタLOはリニヤアドレスFP+
O〜FP+3にマツプされ、レジスタLlはリニヤアド
レスFP+41−FP+4 i+3 iCマツプされる
、等である。
多重スタックフレームのキャッシュが設けられる。高速
レジスタの多数のバンクがある。1つのパンクが1つの
手続き起動に割当てられる。プログラムはレジスタをは
つfj!、り保管および復帰する必要はない。
〔スタックフレーム〕
第3図に示されているスタックフレームは、データをス
タック状に含む現在のリニヤアドレス・スペースの隣接
する部分である。起動された1つの手続きごとに1つの
スタックフレームがある。
そのスタックフレームはローカル変数、パラメータおよ
びリンケージ情報を含む。呼出しオペレージョンは新し
いスタックフレームを得、戻りオペレーションがそのス
タックフレームを解放fる。
新しいフレームが得られたら、それは64バイト境界上
に整列させられる。
第3図のスタックフレーム内のフィールドは下記のよう
に定められる。
パディング領域。この領域42はFPを次の64バイト
境界に整列させるために用いられる。この領域の寸法は
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の時にフレームから戻ると、復帰オペレーション
に関連する動作が実行される前に、予復帰トレース事象
(イネイブルされたなら)が生ずる。このビットは呼出
の時に零に初期設定される。
以前のフレームポインタ、PPP(ピント6〜31)。
以前のフレームの第1のバイトに対するリニヤアドレス
42゜フレームは64バイト境界に整列させられるから
、FPの上位26ビツトのみが保持される。戻り状態が
サブシステムの転送を示したとすると、このフレームは
、呼出し前のこの呼出しスタック内のフレームの1番上
(最後)のフレームのリニヤアドレスの上位26ビツト
を含む。
他の時は、1番上のフレームは吃出しフレームである。
呼出し中は、フレーム状態の下位5ビツトは下記のよう
に初期設定される。
o ooo−・−ローカル呼出L、tたはスーパーバイ
ザ状態からのスーパーバイザ 呼出し 0001T・−ユーザーモードからのスーパーバイザ呼
出し 0010−−一割込み呼出し 0011−−一非サブシステム障害呼出し0100−−
−サブシステム呼出し 0110−−−アイドル状態すなわち停止されている状
態からの割込み呼出し Tは上記で定義したトレースビットの値である。
「−」は留保されているピントを示し、[刈は気にしな
い(do 1ot care)ビットを示すC全ての戻
りにおいて、ビットは下記のように解釈される。
1 xxxx −予復帰トレース発生 o ooox−一ローカル戻り実行 0001T−−スーパーバイザモードにおいては、スー
パーバイザ戻夛を実行。Tビ ットがプロセス制御中のトレース イネイブルビットに割当てられ、 実行モードビットがユーザーにセ ットされる。他の場合には、ロー カル戻りを実行する。
0010X −一割込み戻りを実行 0011X−障害戻り実行 0100X −−サブシステム戻り実行0101X −
−0PERATION、RETURN障害0110X−
−アイドル/停止された一割込み戻り実行 0111X −−0PERATION、RFXTURN
障害スタックポインタ、5P(Ll)。スタックの第1
のフリーバイトに対するリニヤアドレス(44)、すな
わち、スタック中の最後のアドレスプラス1゜SPハ呼
出しオペレーションによp、FPプラス64に対するポ
インタに初期設定される。
戻り命令ポインタ、RIP(L2)。新しいフレームに
対して呼出しオペレーションが実行された時に、戻D 
IP(46)がここに格納される。プロセスが中断され
た時は、次の命令の命令ポインタがここに格納される。
それは32ビツトのリニヤアドレスを含む。そのアドレ
スに対して、このフレームへ戻った後で制御は戻される
手続き呼出しが現在のフレームのレジスタKIPを格納
する。(障害および割込みのために)暗黙の手続き呼出
しが起ることがあるから、プログラムは他の目的にはこ
のレジスタを用いない。
スタックは低いアドレスから高いアドレスへ成長する(
第4図)。
第5図は、メモリ内のプログラムスタックへのマイクロ
プロセッサのレジスタセットのマツピングを示す。
フレームの最初の64バイトがマツプされるページ、ま
たは簡単なオブジェクトはローカル寿命でなければなら
ない。ページまたは簡単なオブジェクトの寿命は呼出し
中に調べられる。この制約は、ローカルレジスタ内での
AD、の効率の良い取扱いのために必要である。
第2図に示すように、各実行環境は32ビツトのリニヤ
アドレス・スペースを定める。そのリニヤアドレス・ス
ペースは4つの領域に区画される。
実行環境内の初めの3つの領域は現在のプロセスに特有
のものである(す々わち、プロセス制御ブロックによシ
定められる)。プロセスに特有の領域の組成はサブシス
テム呼出し/戻りにより変更できる。実行環境の第4の
領域は全てのプロセスによシ共用される(すなわち、プ
ロセッサ制御ブロックによシ定められる)。命令、スタ
ックフレームまたはデータがリニヤアドレス・スペース
に配置される場所には制約はない。
〔ローカル手続きメカニズム〕
手続きはリニヤアドレス・スペース内の任意の語アドレ
スで始まる。呼出しおよび戻カ手続きはリニヤアドレス
・スペース内のスタックを用いる。
命令 CALL CALL−EXTENDED CALLとCALL−EXTENDEDは指定されたア
ドレスにおいて手続きを呼出す。CALLは手続きをI
Pプラス24ビット符号付き変位として指定する。CA
LL−EXTENDEDは全体的なメモリ実効アドレス
を用いて手続きを指定する。CALI、−EXTEND
EDは、新しいフレームにおいてAP となるオペラン
呼出しオペレーション中に新しいスタックフレームが割
当てられ、制御の流れが指定された手続きへ転送される
。実行環境は不変のままである。
ETURN RETURN命令は制御を呼出し手続きのアドレッシン
グ環境へ戻し、呼出された手続きのスタックフレームを
放す。呼出し手続きのフレーム内のRIPによυ指定さ
れた命令において命令実行が継続される。
MOD I FY−AC CONVERT−ADDRESS 現在の算術制御を読出し、または修正するためにMOD
IFY−ACが用いらnる。領域ADは直接に7クセ、
’、で!&いかう、C0NVERT−ADDRESS命
令を用いてリニヤアドレスを仮想アドレスに変換できる
〔プロセス管理〕
ソフトウェアプロセスすなわちタスクはプロセス制御ブ
ロックにより表される。ブロセススイツ手段は2つの命
令(5ave、−processおよびresume、
−procesa)を介して行うもので、オペレーティ
ングシステムがプロセスを明らかに切換えることを許す
。別の手段は優先をペースとするプロセス・スケジュー
リングおよびディスパッチング機能であって、プロセッ
サに組込まれる後者のメカニズムを用いると、プロセッ
サはメモリ内の行列からプロセスを自動的に発生する。
プロセッサは各プロセスの累積実行時間を保持し、かつ
希望によっては時間スライス管理も行う。
その時間スライス管理のために、プロセスが指定された
時間より長い時間実行した時は、プロセッサは障害を常
に指示し、または利用できるプロセスの行列にプロセス
を常に並べ、別のプロセスを生ずる。
自動プロセス発生が用いられる時は、1組のプロセス間
通信命令が与えられる。それらの命令はソフトウェア・
オペレーティングシステム・カーネルで通常与えられる
サービスに類似する。それらの命令はプロセス間のメツ
セージの通信をサポートする。
〔トレーシングおよびICEサポート〕ソフトウェアの
デバッキングおよびトレーシングがトレース制御レジス
タにより行われる。そのソフトウェアのデバッキングお
よびトレーシングはプロセスの一部である。トレース制
御により下記の事象の任意の組合わせを検出できる。
命令実行(すなわち、単一ステップ)、行われた分岐命
令の実行、 呼出し命令の実行、 戻り命令の実行、 次の命令が戻り命令であることの検出、スーパーバイザ
呼出しまたはサブシステム呼出しの実行、 ブレークポイント(ハードウェア・ブレークポイントま
たはブレークポイント命令の実行)トレース事象が検出
されると、プロセッサはトレース障害を発生して、ソフ
トウェア・デバッガまたはソフトウェアモニタに制御を
与える。プロセッサは2つの命令ブレークポイントを含
み、デバッガはそれらのレジスタに2つの命令のアドレ
スを置くことができる。
〔外部バス〕
マイクロプロセッサのバスは、バースト転送性能を有す
る32ビツトの多重化バスである。バースト転送メカニ
ズム(これにより引き続くサイクルで多くの語を転送で
きる)によりバスを多重化バスと定めることができる。
バースト転送は1゜2.3または4語に対して行うこと
ができる。アドレスサイクル中に、下位の2アドレスビ
ツトで要求中の語の数を示す。たとえば、プロセッサが
4語を読出すことを望んだとすると、4個めREADY
を受けるまではバスのオペレーションは終了されない。
命令キャッシュを充すため、スタック=フレーム=キャ
ッシュ格納および復旧のため、多語ロードおよび格納の
ため、ストリングオペレーションのため等にバースト転
送オペレーションはプロセッサによシしばしば用いられ
る。
このマイクロプロセッサは高度にパイプライン化される
。任意の時刻において、パイプライン中の命令の種々の
段階には通常5個の命令がある。
与えられた任意のサイクルにおいては、命令n+4に対
する命令ポインタが計算され、命令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り /赤ニ

Claims (11)

    【特許請求の範囲】
  1. (1)主メモリに接続できるデータプロセッサに使用す
    るための前記データプロセッサ内のスタックフレームキ
    ャッシュおよびそれに用いる制御機構において、 複数のグローバルレジスタであつて、そのうちの1つが
    現在のフレームを指す現在のフレームポインタを含み、
    残りのグローバルレジスタが現在のプロセスに対する汎
    用レジスタとして利用できるような前記複数のグローバ
    ルレジスタと、おのおのがいくつかのローカルレジスタ
    で構成されている複数のレジスタセットで構成されたレ
    ジスタセットプールと、 呼出し命令の復号により起動され、前記レジスタセット
    プールからのローカルレジスタのレジスタセットを呼出
    された手続きに割当て、かつ前記フレームポインタレジ
    スタの1つを初期設定して現在のフレームを作る第1の
    制御手段と、 戻り命令が復号された時に起動されて、引き続く呼出し
    命令により呼出された別の手続きに前記レジスタセット
    を自由に割当てる第2の制御手段と、 を備えることを特徴とするスタックフレームキャッシュ
    およびそれに用いる制御機構。
  2. (2)特許請求の範囲第1項記載のスタックフレームキ
    ャッシュおよびそれに用いる制御機構であつて、前記制
    御手段は、以前の手続きに関連するレジスタセットの内
    容を前記主メモリに格納するために前記レジスタセット
    が空にされた時に動作して、前記レジスタセットを前記
    現在の手続きに割当てる手段を含むことを特徴とするス
    タックフレームキャッシュおよびそれに用いる制御機構
  3. (3)特許請求の範囲第1項記載のスタックフレームキ
    ャッシュおよびそれに用いる制御機構であつて、前記第
    1の制御手段は、前記フレームの作成に用いられる呼出
    し機構を記録し、戻りに使用する戻り機構を選択する戻
    り状態ビットを含むことを特徴とするスタックフレーム
    キャッシュおよびそれに用いる制御機構。
  4. (4)特許請求の範囲第1項記載のスタックフレームキ
    ャッシュおよびそれに用いる制御機構であつて、手続き
    に関連する前記レジスタセット中の前記ローカルレジス
    タは、以前のフレームに対するポインタと命令ポインタ
    を含むリンケージ情報を含むことを特徴とするスタック
    フレームキャッシュおよびそれに用いる制御機構。
  5. (5)特許請求の範囲第2項記載のスタックフレームキ
    ャッシュおよびそれに用いる制御機構であつて、手続き
    に関連する前記レジスタセット中の前記ローカルレジス
    タは、以前のフレームに対するポインタと命令ポインタ
    を含むリンケージ情報を含むことを特徴とするスタック
    フレームキャッシュおよびそれに用いる制御機構。
  6. (6)特許請求の範囲第1項記載のスタックフレームキ
    ャッシュおよびそれに用いる制御機構であつて、手続き
    に関連する前記レジスタセット中の前記ローカルレジス
    タは、フレームから戻つた時に使用すべき、呼出し後の
    フレームに関連する情報を記録するためにフレーム状態
    ビットを含むスタックフレームを含み、前記情報は、前
    記フレームの作成に用いられた呼出し機構を記録し、戻
    りに使用する戻り機構を選択するために戻り状態ビット
    を含むスタックフレームを含むことを特徴とするスタッ
    クフレームキャッシュおよびそれに用いる制御機構。
  7. (7)特許請求の範囲第1項記載のスタックフレームキ
    ャッシュおよびそれに用いる制御機構であつて、手続き
    に関連する前記レジスタセット中の前記ローカルレジス
    タは、以前のフレームの第1のバイトに対するリニヤア
    ドレスで構成された以前のフレームポインタビットを含
    むスタックフレームを含むことを特徴とするスタックフ
    レームキャッシュおよびそれに用いる制御機構。
  8. (8)特許請求の範囲第1項記載のスタックフレームキ
    ャッシュおよびそれに用いる制御機構であつて、手続き
    に関連する前記レジスタセット中の前記ローカルレジス
    タは、呼出し動作が新しいフレームに対して行われると
    いう条件で戻り命令ポインタを格納するため、およびプ
    ロセスが中断されている時に次の命令の命令ポインタを
    格納するために戻り命令ポインタフィールドを含むスタ
    ックフレームを含み、前記フィールドは、このフレーム
    へ戻つた後で制御が戻されるリニヤアドレスであること
    を特徴とするスタックフレームキャッシュおよびそれに
    用いる制御機構。
  9. (9)特許請求の範囲第2項記載のスタックフレームキ
    ャッシュおよびそれに用いる制御機構であつて、手続き
    に関連する前記レジスタセット中の前記ローカルレジス
    タは、フレームから戻つた時に使用すべき、呼出し後の
    フレームに関連する情報を記録するためにフレーム状態
    ビットを含むスタックフレームを含み、前記情報は、前
    記フレームの作成に用いられた呼出し機構を記録し、戻
    りに使用する戻り機構を選択するために戻り状態ビット
    を含むスタックフレームを含むことを特徴とするスタッ
    クフレームキャッシュおよびそれに用いる制御機構。
  10. (10)特許請求の範囲第2項記載のスタックフレーム
    キャッシュおよびそれに用いる制御機構であつて、手続
    きに関連する前記レジスタセット中の前記ローカルレジ
    スタは、以前のフレームの第1のバイトに対するリニヤ
    アドレスで構成された以前のフレームポインタビットを
    含むスタックフレームを含むことを特徴とするスタック
    フレームキャッシュおよびそれに用いる制御機構。
  11. (11)特許請求の範囲第2項記載のスタックフレーム
    キャッシュおよびそれに用いる制御機構であつて、手続
    きに関連する前記レジスタセット中の前記ローカルレジ
    スタは、呼出し動作が新しいフレームに対して行われる
    という条件で戻り命令ポインタを格納するため、および
    プロセスが中断されている時に次の命令の命令ポインタ
    を格納するために戻り命令ポインタフィールドを含むス
    タックフレームを含み、前記フィールドは、このフレー
    ムへ戻つた後で制御が戻されるリニヤアドレスであるこ
    とを特徴とするスタックフレームキャッシュおよびそれ
    に用いる制御機構。
JP62118731A 1986-05-16 1987-05-15 データプロセッサ Expired - Lifetime JP2612168B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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