JPH02187825A - コンピュータ - Google Patents

コンピュータ

Info

Publication number
JPH02187825A
JPH02187825A JP1006812A JP681289A JPH02187825A JP H02187825 A JPH02187825 A JP H02187825A JP 1006812 A JP1006812 A JP 1006812A JP 681289 A JP681289 A JP 681289A JP H02187825 A JPH02187825 A JP H02187825A
Authority
JP
Japan
Prior art keywords
register
counter
state
window
stack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1006812A
Other languages
English (en)
Inventor
Hideki Ando
秀樹 安藤
Hirohisa Machida
町田 浩久
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1006812A priority Critical patent/JPH02187825A/ja
Priority to US07/450,633 priority patent/US5233691A/en
Publication of JPH02187825A publication Critical patent/JPH02187825A/ja
Pending 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/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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータに関し、更に詳述すれば、縮小命
令セットを有するコンピュータ、所謂RISC(Red
uced In5truction Set Comp
uter)に関する・〔従来の技術〕 RISCは従来のコンビ・ユータの命令セントの内の使
用頻度が高い命令のみをハードウェア化することにより
処理の高速化を図ったコンピュータである。D、^、P
atterson and C,H0Sequin著”
A  VLSIRfSC″、Computer、vol
、15.No、9.pp8−22,5ept、 198
2によれば、RISCには以下のような特徴が挙げられ
る。即ち、 (1)1サイクル命令 (2)固定長命令フォント (3ンロード/ストアアーキテクチヤ (4)ワイアドロシック (5)オーバラップレジスタウィンド (6)コンパイラによるパイプラインのiJ化等である
本発明は上記の種々のRrSCの特徴の内のオーバラッ
プレジスタウィンドに関する。以下、従来のRISCに
おけるオーバラップレジスタウィンドについて図面を参
照して説明する。
第2図+alはRISCの物理的なレジスタファイルを
示す模式図である。
第2図において、アドレスO乃至7はグローバルレジス
タであり、またアドレス8乃至111はローカルレジス
タである。なお、グローバルレジスタとは、グローバル
変数のためのレジスタであり、ローカルレジスタとはロ
ーカル変数のためのレジスタである。
第2図(blは論理的なレジスタファイルを示している
。コンピュータは、物理的なレジスタファイルの内、あ
るプロシージャの実行に際してはレジスタウィンドと称
されるレジスタの一部のみを使用する。
たとえばいま、プロシージャ(PROC> Aを実行し
ているとすると、このプロシージャAはレジスタファイ
ルのアドレス0〜7をグローバルレジスタとしてまた同
じくアドレス24〜47をローカルレジスタとしてそれ
ぞれレジスタファイルを使用するものとする。
この状態から更に、−プロシージャAが他のプロシージ
ャ(PROC) Bをコールする場合、このプロシージ
ャBはレジスタファイルのアドレス40〜47に引数を
入れてコールする。そして、コールされたプロシージャ
Bはアドレスレジスタファイルの0〜7をグローバルレ
ジスタとしてまた同じくアドレス40から63をローカ
ルレジスタとしてそれぞれレジスタファイルを使用する
従来の通常のコンピュータにおいては、プロシージャコ
ールが生じると、コールされた環境をメモリ上に設定さ
れているスタックへ退避させる。
しかし、RISCにおいては、スタックへの退避は行わ
れず、レジスタウィンドの移動により処理される。しか
も、そのレジスタウィンドはオーバラップしているため
、そのオーバラップ部分をプロシージャ間で引き渡すた
めの引数レジスタとして使用している。
上述の例では、レジスタファイルのアドレス40〜47
は両プロシージャA、B間で共用されており、コール側
はそのアドレスに引数を用意する。プロシージャからの
リタンに際しても同様であり、レジスタウィンドをアド
レスの低い方向へ移動させる。そして、レジスタウィン
ドのアドレスの低い側のオーバラップ部分にリタン時の
引数を用意する。このようなオーバラップレジスタウィ
ンドは前述の如く、メモリへの変数の退避処理が不要で
ある。一般に、メモリはCPUに比して動作速度が遅い
ため、従来のコンピュータではこの変数の退避処理はオ
ーバヘッドになりがちであるが、[SCにおいてはこの
ようなオーバヘッドは生しない。
〔発明が解決しようとする課題〕
第2図に示した例では、レジスタウィンドは6つあるの
で、5回のプロシージャコールに対してまでは従来のコ
ンピュータにおいてみられたようなコール時の環境をメ
モリへ退避させる処理は不要である。しかし、6回目以
降のプロシージャコールが生じた場合には、最早レジス
タファイルには余裕が無いので、何等かの退避処理が必
要になる。RISCにおいても、レジスタファイルの残
容量が無くなった場合(以下、レジスタファイルのオー
バフローと称す)には、最も古いレジスタウィンドをメ
モリへ退避させる処理、所謂トラップルーチンが起動さ
れる。従って、RISCにおいては、レジスタのオーバ
フローが生じた場合には、従来の一般的なコンピュータ
と同等の性能しか得られなくなるというのが実情である
一般的に、RISCはVLS Iとして製作されるため
、チンプサイズを小さくすることは製造コストの低減に
寄与するが、レジスタファイルのオーバフローを回避す
るためにはチップ上に可能な限りのレジスタを配置して
おく必要がある。換言すれば、RISCのコスト低減の
要求と性能向上の要求とは相客れない関係にある。
本発明は以上のような事情に鑑みてなされたものであり
、レジスタウィンドの設定可能数が少なくとも、性能の
低下を回避し得るRISCタイプのコンピュータの提供
を目的とする。
〔課題を解決するための手段〕
本発明のコンピュータ(RISC)は、レジスタファイ
ルに対する アクセス及び外部バスの使用状況等に応じ
て、可能であるならばレジスタファイルのオーバフロー
が生じる以前の期間において、過去にコールされたプロ
シージャが使用していたレジスタウィンドをメモリのス
タックへ予め退避させておく制御を行うように構成され
ている。
〔作用〕
本発明のRISCでは、レジスタファイルにオーバフロ
ーが生じた場合にも、レジスタウィンドをメモリのスタ
ックへ退避させる処理が既に終了している可能性が高い
ため、その場合にはその時点でのレジスタウィンドのス
タックへの退避処理を行う必要が無い。
(以 下 余 白) 〔発明の実施例〕 以下、本発明をその実施例を示す図面に基づいて詳述す
る。
第3図はコンピュータの一般的なパイプライン処理機構
の構成を示すブロック図である。
即ち、命令をメモリからフェッチする第1ステージとし
ての命令フェッチステージ51.命令をデコードする第
2ステージとしての命令デコードステージ52及びAL
U演算またはデータのロード、ストアあるいはブランチ
ターゲットの計算を行う第3ステージとしての実行ステ
ージ53にて構成されている。
第1図は上述の命令デコードステージ52中の本発明に
関する部分の構成を示すブロック図である。
命令デコードステージ52はノンオーバラップ2相クロ
ツクTI、 T2により動作する。まず、命令フェッチ
ステージ51から命令がレジスタ1にランチされ、デコ
ーダ2によりデコードされて制御信号が発生する。
デコーダ2により発生された制御信号は制御論。
理回路3に与えられ、レジスタウィンドのストアのため
の制御信号を発生する。これらの各制御信号はレジスタ
4にラッチされる。また制御信号の大半はレジスタ4か
らカウンタ5に入力されてカウンタを動作させ、レジス
タ11を経てコンパレータ6から再度制御論理回路3に
入力される。
その他の制御信号は、トラップ状態を記憶するS−Rフ
リップフロップ14あるいはレジスタ12を経て制御論
理回路3に入力される。
カウンタ5は、レジスタウィンドをメモリ上のスタック
ヘスドアするための制御に必要な種々のポインタを保持
するが、各カウンタが保持するポインタの意味は以下の
如くである。
cw (Current Window)実行中のプロ
シージャが使用しているレジスタウィンドのベースアド
レスを保持する。
カウンタのアップ/ダウンは、次/前のウィンドのベー
スアドレスを指すように行われる。
stw (Stored Window)スタックへの
退避が完了したレジスタウィンドの次のレジスタウィン
ドのベースアドレスを保持する。カウンタのアップ/ダ
ウンは、次/前のウィンドのベースアドレスを指すよう
に行われる。
rfb (Register File Bottom
)レジスタファイルの論理的な底のアドレスを保持する
。レジスタファイルはサイクリックに使用されるため、
このカウンタrfbが指すワードがレジスタファイルの
先頭位置である。カウンタのアップ/ダウンは、次/前
のウィンドのベースアドレスを1旨すように行われる。
swt (Stacked Window Top)レ
ジスタウィンドはメモリ上のスタックへ退避されるが、
スタックに積まれたレジスタウィンドの内のトップのレ
ジスタウィンドの次のレジスタウィンドのアドレスを保
持する。
カウンタのアップ/ダウンは、ウィンドサイズ単位で行
われる。
rsw (ResLore Window Top)レ
ジスタファイルのアップフローが生じた場合に、スタッ
クからレジスタウィンドをリストアする必要が生じるが
、その際のスタ7り一ヒのリストアすべきウィンドの次
のアドレスを保持する。カウンタのアップ/ダウンは、
ウィンドサイズ単位で行われる。
st (Stack Top) スタックトップのアドレスを保持する。
wc (Word Counter) レジスタウィンドをスタックへ退避させた場合のワード
数をカウントする。
以上の各カウンタのポインタとレジスタファイル及びス
タックとの関係の概略を第4図に示す。
コンパレータ6は上述の各カウンタ値を比較してその結
果を制御論理回路3へ出力する。
デコーダ2は命令フェッチステージ51から入力される
命令をデコードして制御信号を発生するが、本発明に関
する命令は以下の通りである。
call       :命令がプロシージャコールで
あることを示す。
re turn      :命令がプロシージャから
のリタンであることを示す。
υse−me#I:命令がメモリアクセスであることを
示す。RISCでは基 本釣には命令がロードまた はストアであることを示す。
call−traρ−end   :コールのトラップ
処理が終了したことを示す。
return−traρ−end  :リタンのトラッ
プ処理が終了したことを示す。
状態レジスタ7は、レジスタウィンドストア制御の状態
を保持するためのレジスタであり、5状態を3ピントで
記憶する。この状態レジスタ7のセット/リセットは、
制御論理回路3の出力である5et−si+reset
−si(但し、i=o、1.2)により行われる。また
この状態レジスタ7が保持する5状態を以下のように称
し、それぞれの状態において実行される制御を説明する
初期状態(状態ピント−000) 命令がプロシージャコールであるかプロシ−ジャリタン
である場合、それによって状態を遷移させる。いずれで
もない場合はレジスタウィンドをスタックに退避するこ
とが可能か否かを判定し、可能である場合はその制御の
ための制御信号を出力する。
コールトラップ判定状態(状態ビット=001)プロシ
ージャコールが発生した場合に、トラップを発生させる
べきであるか否かを判定する。
リクントラップ判定状!3(状態ビット−010)プロ
シージャリタンが発生した場合に、トラップを発生させ
るべきであるか否かを判定する。
コールトラップ状態(状態ビット−011)コールのト
ラップ処理中。
リタントラップ状態(状態ビット=100)リタンのト
ラップ処理中。
制御論理回路3は、状態遷移、カウンタの制御。
その他の種々の制御信号を発生する。
第5図に示す表は各ブロックの入出力信号の一覧である
制御論理回路3の動作は本発明の中枢であり、第6図の
表に示すC言語表記による状態遷移表及び第7図fat
、 (bl、 (C)のフローチャートを参照して説明
する。
「初期状態」 (第7図(a)) fllハードウェアがリセットされると初期状態になる
。この状態で命令がプロシージャコールでもプロシージ
ャリタンでもメモリアクセスでもない場合に以下の制御
が行われる。
■カウンタ鵠がsthと等しくなく、且つWCがウィン
ドサイズ(WIND−5IZE)と等しくない状態、即
ちスタックへの退避を完了していないし・ジスタウイン
ドがレジスタファイルに残っている状態。
この状態ではカウンタst−をベースアドレスとし、w
cをオフセントアドレスとして計算されるレジスタファ
イルのワードをスタックブツシュさせる制御信号(pu
sh−ilord)を発生する。
カウンターC及びstは次のスタノクブ・/シュに備え
てインクリメントされる。
次状態は、レジスタウィンドのストアの可能性を判定す
る必要があるため、初期状態が維持される。
■カウンターCがウィンドサイズと等しい場合、st−
が指すレジスタウィンドはストアが完了しているので、
カウンタstw及びswtがインクリメントされ、WC
がリセットされる。
次状態は、レジスタウィンドのストアの可能性を判定す
る必要があるため、初期状態が維持される。
(2)命令がプロシージャコールであるfJJ 合。
■カウンタC−をインクリメントしてレジスタウィンド
を移動させ、トラップを発生させるか否かを判定するた
め、コールトラップ判定状態へ状態を遷移させる。
(3)命令がプロシーシャリクンである場合■カウンタ
cwとrfbとが等しければレジスタファイルがアッダ
フローしていることを示しているので、制御信号rf−
underflo−が発生される。
と共に、カウンタCWをデクリメントしてレジスタウィ
ンドを移動させる。
次状態は、トラップを発生させるため、リタントラップ
判定状態へ遷移される。
■カウンタcwとrfbとが等しくなければ、単にカウ
ンタ鵠をデクリメントしてレジスタウィンドを移動させ
る。
次状態は、スタックへのポインタを修正するために、リ
タントラップ判定状態へ遷移される。
「コールトラップ判定状態」(第7図(b))filカ
ウンタC−とrfbとが等しくない場合■レジスタファ
イルはオーバフロー状態ではないので、屯に状態を初期
状態へ遷移させるのみの制御が行われる。
(2)カウンタC−とrfbとが等しい場合■カウンタ
st−とr「bとが等しくなければ、カウンタ鵠が指す
レジスタファイルはすでにスタックへの退避を完了して
いるので、そのアドレスへのオーバライドが可能である
。従って、カウンタrfbをインクリメントしてレジス
タファイルの底を上げ、rsWをインクリメントしてレ
ジスタファイルにアッダフローが生じた際にリストアす
るスタック上のレジスタウィンドを一つ上げる。
次状態は初期状態へ遷移される。
■カウンタst−とrfbとが等しければ、カウンタC
−が指すレジスタファイルは未だスタックへの退避が完
了していないので、オーバライドは禁じられる。従って
、トラップを発生させてレジスタウィンドの退避処理を
起動させる必要があるので、このための制御信号cal
l−trap−startが発生される。
次状態はコールトラップ状態へ遷移される。
[リタントラップ判定状態](第7図(C))(1)レ
ジスタファイルがアッダフロー状態でない場合 ■カウンタCWがst−より大である場合は、カウンタ
cwが指すレジスタウィンドは未だレジスタファイルヘ
スドアされていない(スタックにある)ので、オーバラ
イド可能である。従って、次状態が初期状態へ遷移され
る処理のみが行われる。
■カウンタC−とst何とが等しければ、カウンタce
eがt旨すレジスタウィンドは未だレジスタファイルヘ
スドアされていないかあるいはストアの処理中である。
ストア処理中であれば、処理ストア処理を中止する必要
がある。従って、カウンターCをリセツトすると共に、
stをswtに戻す。
次状態は初期状態へ遷移される。
■カウンタC−がstwより小であれば、カウンタC−
が指すレジスタウィンドは既にレジスタファイルヘスド
アされているので、それキャンセルする必要がある。従
って、カウンタswtをデクリメントし、stをswt
にセットする。
次状態は初期状態へ遷移される。
(2)レジスタファイルがアッダフローである場合■ト
ラップを発生させ、スタック上のレジスタウィンドのり
ストアのルーチンを起動する必要がある。従って、制御
信号return4rap−startが発生される。
次状態はリタントラップ状態へ遷移される。
「コールトラップ状態」 ■このコールトラップ状態では、制御論理回路3による
レジスタウィンドのスタックへの退避処理は禁じられて
おり、トラップルーチンが実行される。トラップルーチ
ンが終了した時点で、次状態は初期状態へ遷移される。
「リタントラップ状態」 このコールトラップ状態では、制御論理回路3によるレ
ジスタウィンドのスタックへの退避処理は禁しられてお
り、トラップルーチンが実行される。トラップルーチン
が終了した時点で、次状態は初期状態へ遷移される。
第6図に示す表の状態遷移表に基づいて制1i111論
理回路3の出力信号を入力信号で表現することが可能で
ある。その結果の一例を第8図仕斗に示す。
この第8図#ジに示されているロジックを実現する第1
の方法としてPLA (Programmable L
ogicArray)を使用する方法が、また第2の方
法としてワイアドロシックがある。しかし、いずれを採
用するかは本発明の本質とは関係無く、第8図の表が得
られれば論理回路の基本的な設計は機械的に実現可能で
ある。
〔発明の効果〕
以上に詳述した如く、本発明のコンピュータでは、実行
予定の命令に応じてその間に可能であるならば、レジス
タファイルのオーバフローが発生する以前に、過去にコ
ールされたプロシージャにより使用されていたレジスタ
ウィンドを予めメモリのスタックへ退避させておくよう
に構成している。従って、レジスタファイルがオーバフ
ローした場合には、既にレジスタウィンドのメモリへの
退避が完了している可能性が高い。このため、レジスタ
ファイルがオーバフローした場合にも、レジスタウィン
ドの退避処理は行われない確率が高く、高速処理が実現
される。
【図面の簡単な説明】
第1図は本発明に係るコンピュータの命令デコードステ
ージの詳細な構成を示すブロック図、第2図はオーバラ
ップレジスタウィンドを説明するための模式図、第3図
はコンピュータの一般的なパイプライン処理機構を示す
ブロック図、第4図は本発明のコンピュータのポインタ
と各レジスタウィンド及びスタックの関係を示す模式図
、第5図は各ブロックの入出力信号の状態を示す表、第
6図は制御論理回路の制御の状!3遷移を示す表、第7
図はそのフローチャート、第8図は状態遷移を実現する
ための制御論理回路の入出力の関係を示す2である。 1・・・レジスタ  2・・・デコーダ  3・・・制
御論理回路  4・・・レジスタ  5・・・カウンタ
  6・・・コンパレータ  7・・・状態レジスタな
お、各図中同一符号は同−又は相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. (1)レジスタウィンドが設定可能なレジスタファイル
    を有し、レジスタファイルがレジスタウィンドの容量を
    オーバフローした場合に、設定された順にレジスタウィ
    ンドをスタックへ退避させるべくなしたコンピュータに
    おいて、 プロシージャコールの命令と、プロシージ ャリタンの命令と、主記憶装置のアクセスの命令と、プ
    ロシージャコールのトラップ処理の終了と、プロシージ
    ャリタンのトラップ処理の終了とをそれぞれ示す信号を
    発生するデコーダと、 初期状態である第1の状態と、コールのト ラップ状態とすべきか否かを判定する第2の状態と、リ
    タンのトラップ状態とすべきか否かを判定する第3の状
    態と、コールのトラップ状態であることを示す第4の状
    態と、リタンのトラップ状態であることを示す第5の状
    態とをそれぞれ記憶する3ビットの状態レジスタと、 実行中のプロシージャにより使用されてい るレジスタウィンドのベースアドレスを保持する第1の
    カウンタと、スタックに退避を完了したレジスタウィン
    ドの次のレジスタウィンドのベースアドレスを保持する
    第2のカウンタと、レジスタファイルの論理的な底のア
    ドレスを保持する第3のカウンタと、前記主記憶装置上
    にスタックされたレジスタウィンドの内のトップのレジ
    スタウィンドの次のレジスタウィンドのアドレスを保持
    する第4のカウンタと、レジスタファイルのアンダフロ
    ーが発生した際にスタックからレジスタウィンドにリス
    トアすべきウィンドの次のウィンドのアドレスを保持す
    る第5のカウンタと、スタックのトップのアドレスを保
    持する第6のカウンタと、スタックへ退避されたワード
    数を計数する第7のカウンタとを含むカウンタ群と、 前記第1のカウンタ値と前記第2のカウン タ値とを、前記第1のカウンタ値と前記第3のカウンタ
    値とを、前記第7のカウンタ値とレジスタウィンドのワ
    ード数とをそれぞれ比較するコンパレータ群と、 前記デコーダが発生している信号がプロシ ージャコールの命令でもプロシージャリタンの命令でも
    主記憶装置のアクセスの命令でもない間に、前記状態レ
    ジスタの記憶状態、及び前記コンパレータ群による前記
    カウンタ群のカウンタ値の比較結果に基づいて、前記レ
    ジスタファイルに設定されているレジスタウィンドをそ
    の設定順にワード単位で前記スタックへ退避させるべく
    制御する制御論理回路と を備えたことを特徴とするコンピュータ。
JP1006812A 1989-01-13 1989-01-13 コンピュータ Pending JPH02187825A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1006812A JPH02187825A (ja) 1989-01-13 1989-01-13 コンピュータ
US07/450,633 US5233691A (en) 1989-01-13 1989-12-13 Register window system for reducing the need for overflow-write by prewriting registers to memory during times without bus contention

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1006812A JPH02187825A (ja) 1989-01-13 1989-01-13 コンピュータ

Publications (1)

Publication Number Publication Date
JPH02187825A true JPH02187825A (ja) 1990-07-24

Family

ID=11648613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1006812A Pending JPH02187825A (ja) 1989-01-13 1989-01-13 コンピュータ

Country Status (2)

Country Link
US (1) US5233691A (ja)
JP (1) JPH02187825A (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2823767B2 (ja) * 1992-02-03 1998-11-11 松下電器産業株式会社 レジスタファイル
US5440714A (en) * 1992-12-14 1995-08-08 Industrial Technology Research Institute Method and system configuration for simplifying the decoding system for access to an register file with overlapping windows
JP3676411B2 (ja) * 1994-01-21 2005-07-27 サン・マイクロシステムズ・インコーポレイテッド レジスタファイル装置及びレジスタファイルアクセス方法
EP0676691A3 (en) * 1994-04-06 1996-12-11 Hewlett Packard Co Device for saving and restoring registers in a digital computer.
US6135650A (en) * 1995-12-22 2000-10-24 Sun Microsystems, Inc. Method and system for wrapper routine optimization
US5901317A (en) * 1996-03-25 1999-05-04 Sun Microsystems, Inc. Method and system for register allocation using multiple interference graphs
US5799166A (en) * 1996-06-17 1998-08-25 Sun Microsystems, Inc. Window delta from current window for fast register file address dependency checking
US5901316A (en) * 1996-07-01 1999-05-04 Sun Microsystems, Inc. Float register spill cache method, system, and computer program product
US6139200A (en) * 1997-06-30 2000-10-31 Sun Microsystems, Inc. Register resource allocation feedback
US6009272A (en) * 1997-06-30 1999-12-28 Sun Microsystems, Inc. Register allocation via selective spilling
US5987259A (en) * 1997-06-30 1999-11-16 Sun Microsystems, Inc. Functional unit switching for the allocation of registers
US6219783B1 (en) * 1998-04-21 2001-04-17 Idea Corporation Method and apparatus for executing a flush RS instruction to synchronize a register stack with instructions executed by a processor
US6167504A (en) * 1998-07-24 2000-12-26 Sun Microsystems, Inc. Method, apparatus and computer program product for processing stack related exception traps
CA2277636A1 (en) * 1998-07-30 2000-01-30 Sun Microsystems, Inc. A method, apparatus & computer program product for selecting a predictor to minimize exception traps from a top-of-stack cache
US6665793B1 (en) * 1999-12-28 2003-12-16 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for managing access to out-of-frame Registers
US20020083309A1 (en) * 2000-12-21 2002-06-27 Sun Microsystems, Inc. Hardware spill/fill engine for register windows
JP2006309508A (ja) * 2005-04-28 2006-11-09 Oki Electric Ind Co Ltd スタック制御装置およびその方法
US20070282928A1 (en) * 2006-06-06 2007-12-06 Guofang Jiao Processor core stack extension
CN101539976B (zh) * 2009-04-23 2011-08-31 南京大学 二进制程序内存腐烂攻击的实时检测系统
KR101927255B1 (ko) * 2011-12-27 2018-12-12 한국전자통신연구원 레지스터 윈도우 오버플로우/언더플로우 처리 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5023944A (ja) * 1973-06-26 1975-03-14
JPS59146344A (ja) * 1983-02-10 1984-08-22 Fujitsu Ltd 仮想スタツク先行制御方式
JPS6151243A (ja) * 1984-08-20 1986-03-13 Toshiba Corp レジスタ式演算処理装置
JPS62164134A (ja) * 1986-01-16 1987-07-20 Fujitsu Ltd ハ−ドウエアスタツク制御方式
JPS62242243A (ja) * 1986-04-14 1987-10-22 Hitachi Ltd 情報処理装置
JPS641033A (en) * 1987-06-24 1989-01-05 Toshiba Corp Computer device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4992934A (en) * 1986-12-15 1991-02-12 United Technologies Corporation Reduced instruction set computing apparatus and methods
DE3726192A1 (de) * 1987-08-06 1989-02-16 Otto Mueller Stacksteuerung
US4947366A (en) * 1987-10-02 1990-08-07 Advanced Micro Devices, Inc. Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities
US5159680A (en) * 1988-07-28 1992-10-27 Sun Microsystems, Inc. Risc processing unit which selectively isolates register windows by indicating usage of adjacent register windows in status register
US5083263A (en) * 1988-07-28 1992-01-21 Sun Microsystems, Inc. BISC with interconnected register ring and selectively operating portion of the ring as a conventional computer
US5107457A (en) * 1989-04-03 1992-04-21 The Johns Hopkins University Stack data cache having a stack management hardware with internal and external stack pointers and buffers for handling underflow and overflow stack

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5023944A (ja) * 1973-06-26 1975-03-14
JPS59146344A (ja) * 1983-02-10 1984-08-22 Fujitsu Ltd 仮想スタツク先行制御方式
JPS6151243A (ja) * 1984-08-20 1986-03-13 Toshiba Corp レジスタ式演算処理装置
JPS62164134A (ja) * 1986-01-16 1987-07-20 Fujitsu Ltd ハ−ドウエアスタツク制御方式
JPS62242243A (ja) * 1986-04-14 1987-10-22 Hitachi Ltd 情報処理装置
JPS641033A (en) * 1987-06-24 1989-01-05 Toshiba Corp Computer device

Also Published As

Publication number Publication date
US5233691A (en) 1993-08-03

Similar Documents

Publication Publication Date Title
JPH02187825A (ja) コンピュータ
JP5263844B2 (ja) パイプラインプロセッサにおける長い待ち時間命令の処理
US7386646B2 (en) System and method for interrupt distribution in a multithread processor
US20080276072A1 (en) System and Method for using a Local Condition Code Register for Accelerating Conditional Instruction Execution in a Pipeline Processor
EP0438961A2 (en) Hardware data string operation controller
JP2003523561A (ja) 組込み型プロセッサにおいてゼロタイムコンテクストスイッチを用いて命令レベルをマルチスレッド化するシステムおよび方法
JPH10505444A (ja) 処理システム、プロセッサ、命令ストリーム格納用メモリ及びコンパイラ
JPH0338728A (ja) 演算処理装置
US20070260857A1 (en) Electronic Circuit
JP4025493B2 (ja) 適切な発行先に命令を発行する命令発行装置
US4685058A (en) Two-stage pipelined execution unit and control stores
JPH10301779A (ja) デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置
JP2004206692A (ja) マルチスレッド化プロセッサ・システム上での実行のために、スレッドについての優先順位値を決定する方法および装置
US20030037227A1 (en) Processor enabling exception handling to be set by program
US7831979B2 (en) Processor with instruction-based interrupt handling
JP2008537248A (ja) デジタルシグナルプロセッサ上でのマルチタスクの実施
GB2372348A (en) A multi-mode, multi-tasking processor with reduction in context preservation and restoration to save processing time
US20010003201A1 (en) Pre-decoded stack pointer with post increment /decrement operation
US6266764B1 (en) Program controller for switching between first program and second program
JP4451010B2 (ja) プログラマブルコントローラ
JPH04104350A (ja) マイクロプロセッサ
JP3512707B2 (ja) マイクロコンピュータ
JPS5999552A (ja) マイクロコンピユ−タ
WO2005033873A2 (en) Method and system for processing a sequence of instructions
US20080215851A1 (en) Method and arrangement for the power-efficient control of processors