JP2678183B2 - デジタルプロセッサ制御装置および実行時記憶割当ての方法 - Google Patents

デジタルプロセッサ制御装置および実行時記憶割当ての方法

Info

Publication number
JP2678183B2
JP2678183B2 JP61203568A JP20356886A JP2678183B2 JP 2678183 B2 JP2678183 B2 JP 2678183B2 JP 61203568 A JP61203568 A JP 61203568A JP 20356886 A JP20356886 A JP 20356886A JP 2678183 B2 JP2678183 B2 JP 2678183B2
Authority
JP
Japan
Prior art keywords
registers
register
location
operand
file
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.)
Expired - Fee Related
Application number
JP61203568A
Other languages
English (en)
Other versions
JPS6252637A (ja
Inventor
ブライアン・ダブリュ・ケイス
ロッド・ジー・フレック
ウィリアム・エム・ジョンソン
チェン・ガン・コン
オーレ・モラー
Original Assignee
アドバンスト・マイクロ・ディバイシズ・インコーポレーテッド
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 アドバンスト・マイクロ・ディバイシズ・インコーポレーテッド filed Critical アドバンスト・マイクロ・ディバイシズ・インコーポレーテッド
Publication of JPS6252637A publication Critical patent/JPS6252637A/ja
Application granted granted Critical
Publication of JP2678183B2 publication Critical patent/JP2678183B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Executing Machine-Instructions (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Saccharide Compounds (AREA)
  • Magnetically Actuated Valves (AREA)
  • Storage Device Security (AREA)

Description

【発明の詳細な説明】 この発明はデジタルコンピュータの記憶要素に関する
ものであって、特に、手順の間の容易なパラメータ通過
を提供する縮小命令セットコンピュータおよび多数のタ
スクを支持する保護機構とともに用いるための高速汎用
レジスタファイルに関するものである。 [発明の背景] 縮小命令セットコンピュータ(RISC)は、あまりしば
しば用いられないデータの記憶のための低速主要メモリ
に関連して、しばしば用いられるデータの記憶のための
1組の高速汎用レジスタを採用する利点を認める。プロ
グラムの実行時間の研究は、手順において最もしばしば
用いられるデータは典型的には単純な非配列変数であ
り、32を超えないようなこのような変数が手順とともに
用いられることを示す。Berkeley RISC機械RISC Iお
よびRISC IIと、Stanford MIPS機械と、IBM801とはRI
SCのアーキテクチャを代表する。 実行時には、ハイレベルの言語(HLL)の手順がそれ
ぞれ呼出されたりまたはそこから戻されたりするときは
いつでも、スタックが起動レコードを割当てる際と割当
てを解除する際に用いられる。起動レコードは入ってく
るパラメータ(変数)と、純粋にローカルの変数と、外
に出ていくパラメータ(変数)のための部分を含む。1
つの手順の1つの起動レコードの外に出ていくパラメー
タに割当てられた部分は、さらに別の手順の別の起動レ
コードの入ってくるパラメータに割当てられた部分に重
ねられてもよく、そのためパラメータの値は手順の間の
効果的に交信される。 HLLのためのコンパイラは手順内のデータ参照を配列
し、そのため大部分の参照は性能を改良するために高速
レジスタに対するものである。RISCアーキテクチャ機械
は、いかなる所与の手順内でもしばしば必要とされるデ
ータの記憶に必要な数を超えている、1組の高速レジス
タ、たとえば32個のレジスタを含む。Berkeley RISC機
械は手順にレジスタの定まった数(「ウインドウ」(wi
ndow))を割当てる。この数は一般に手順で実際に必要
とされるよりも大きいので、レジスタの無駄が避けられ
ない。 理想では、手順によって実際に必要とされるレジスタ
の数のみがそれに割りあてられるべきで、それらの必要
を超えるレジスタは手順の間のデータの授受すなわち交
信およびその他のタスクのために変数をストアするため
に用いられ得る。 [発明の要約] この発明の命令プロセッサは手順によって必要とされ
るレジスタの数のみがそれに割当てられる高速レジスタ
ファイルを提供する。所与の手順で必要とされるものを
超えるレジスタは他の手順またはタスクのための変数を
ストアするために用いられてもよい。多数手順の間の交
信がいわゆる「グローバル」レジスタのセットに含まれ
る変数を介して起こってもよく、一方所与の手順に必要
とされる変数はいわゆる「ローカル」レジスタのセット
にストアされ、各セットはそれ自身のアドレス空間を備
える。 パラメータはスタック機構を介して呼出手順から呼出
された手順へと進められてもよい。ローカルレジスタへ
のアクセスはレジスタ内にストアされたスタックポイン
タ値と関連している。呼出す手順および呼出された手順
によって用いられるレジスタのセットが重なり、その間
の交信は共通のレジスタを介するように、スタックポイ
ンタレジスタの内容物は調整されてもよい。 レジスタ保護機構は各々のタスクが他のタスクにおい
て発生するいかなる不所望の変化からも保全性を維持す
る多数タスキング環境を支持する。保護機構は特定の手
順またはタスクの実行の間、高速レジスタファイル内の
或るレジスタのアクセスを禁止する。レジスタファイル
は連続レジスタの多数の「ブロック」に分割される。保
護レジスタはその各ビット位置が特定のビット位置に対
応するブロックへのアクセスの許容または否定のどちら
かにセットされ得る2進のワードを含む。保護されたブ
ロック内のレジスタにアクセスする命令による試みは、
機械の「フォルト」を引き起こし、そして適切な矯正作
用がとられる。したがって、多数のタスクのための変数
はレジスタファイル内の別々のブロックにストアされる
ことができ、各タスクのための変数は他のタスクによる
アクセスから保護される。 [好ましい実施例の詳細な説明] この発明のレジスタファイルは第1図の、縮少命令セ
ットコンピュータ(RISC)に利用される命令プロセッサ
10の制御部分のブロック図を参照すると最善に理解され
る。レジスタファイルはここでプロセッサ10と関連して
説明されるが、これは当業者によって認められるよう
に、例示の目的のためのみであって、レジスタファイル
によって提供される利点および有利さは広範囲の応用に
おいて利用可能である。 第1図に示されるように、プロセッサ10は示されてい
ない命令キャッシュからフェッチされた2進の形のプロ
セッサ命令をストアする命令レジスタ12を含む。ほとん
どのプロセッサ命令は処理されるべきデータの2つのソ
ースである1対のオペランドと、結果として生じる値が
ストアされるべき行先である第3のオペランドを特定す
る。通常では、これらのオペランドはこの発明のレジス
タファイル14内に位置されるレジスタ内にある。好まし
い実施例でのファイルは、いくつかの手順に共通な単純
で、非配列の変数の記憶のための128個のいわゆる「グ
ローバル」レジスタと、1つの手順内に用いられる単純
な変数およびパラメータの記憶のための128個のいわゆ
る「ローカル」レジスタとを含む。レジスタファイル14
は以下に説明されるように、しばしば用いられるデータ
の記憶のために意図されている。 レジスタファイル14の外部に示されているが、プロセ
ッサ10はレジスタ番号3としてファイル14内に位置され
るスタックポインタ(SP)レジスタ16と、レジスタ番号
2の間接ポインタ(IP)レジスタ18を含む。レジスタフ
ァイル14はまたレジスタ番号1のレジスタを含み、これ
は命令内で特定されるとき、そのアドレスがIPレジスタ
18のビット位置2ないし8にストアされるファイル14内
のローカルレジスタがアクセスされることを引き起こ
す。番号0のファイル14内のレジスタは特定されると、
そのアドレスがIPレジスタのビット位置2ないし8にス
トアされるファイル14内のグローバルレジスタがアクセ
スされることを引き起こす。命令レジスタ12にストアさ
れた命令のオペランド部分を表わす信号は3つの2−入
力合計器の1つに導伝される、すなわち、第1の合計器
20は第1の入力でレジスタ12にストアされた命令の第1
のオペランドを表わす信号を受取り、そしてSPレジスタ
16の内容物を表わす信号の各ビットはANDゲート22を介
して他方の入力とAND演算をされ合計器20の第2の入力
に導伝される。ANDゲート22はまたレジスタ12にストア
された命令の第1のオペランドの最上位ビット(msb)
に対応する信号も受取る。 第2の合計器24および第3の合計器28は第1の入力で
レジスタ12にストアされた命令のそれぞれ第2および第
3のオペランドを表わす信号を受取り、そしてSPレジス
タ16の内容物を表わす信号の各ビットはそれぞれANDゲ
ート26および30を介して他方の入力とAND演算をされ合
計器24および28の第2の入力に導伝される。ANDゲート2
6およびANDゲート30もまたレジスタ12にストアされた命
令のそれぞれ第2および第3のオペランドのmsbに対応
する信号を受取る。 合計器20および24の出力で発生された信号はデコード
回路32へのそれぞれ第1および第2の入力に導伝される
のと同様、レジスタファイル14のそれぞれ第1および第
2の読出アドレス(READ_ADDR)入力に導伝される。合
計器28の出力で発生された信号はデコード回路32の第3
の入力に導伝されるのと同様、レジスタファイル14の書
込アドレス(WRITE_ADDR)入力に導伝される。 保護レジスタ34は第3図に関連して以下に説明される
ように、レジスタファイル14内の或るレジスタのどれが
レジスタ12にストアされた命令によってアクセスされて
もよいのかを特定する情報を含む。この保護情報を表わ
す信号は、またデコード回路32によって発生された信号
をも受取る、組合わせの選択回路36に導伝される。選択
回路36は出力で、レジスタ12の命令による、保護レジス
タ34の内容物に従って保護されるファイル14内の特定の
レジスタにアクセスする試みを示す信号を発生する。コ
ンピュータ「フォルト」はこの場合に検出され、適切な
処置がとられる。このようにして、多数タスク環境での
1つのタスクから別のタスクへの迅速な切換えが容易に
なされ、そのため各タスクに対する変数は第3図に関連
して以下に説明されるように、保護レジスタ34の特定ビ
ットパターンを特定することによって、ファイル14内の
或るレジスタのアクセスを禁止する能力によって他のタ
スクによるアクセスから守られる。 SPレジスタ16とIPレジスタ18の動作は以下の第I表に
関連して最良に説明される。ファイル14内のレジスタを
アドレスする4つのモードはプロセッサ制御10によって
可能にされ、そしてそれらはレジスタ12にストアされた
命令のオペランドによって特定されるように、第I表の
第1列に示される値nによって決定される。なお第I表
でたとえば「IP8-2」は、命令レジスタIPのビット8〜
ビット2で特定される数のことを指す。「(SP8-2
n)mod128」は、スタックポインタSPのビット8〜ビッ
ト2で特定される数にnを加え、さらにそれを128で割
った剰余を示す。 第I表 レジスタファイルアドレスモードレジスタ指定,n レジスタ 0 グローバルレジスタ[IP8-2] 1 ローカルレジスタ[IP8-2] 2から127 グローバルレジスタ[n] 128から255 ローカルレジスタ [(SP8-2 +n)mod 128] 2≦n≦127のオペランドnを有する命令はファイル1
4内のアドレスnに位置するファイル14内の「グローバ
ル」レジスタを参照する。nの8ビット2進表示のmsb
がこの場合「0」であるので、合計器20、24または28は
それぞれANDゲート22、26または30から「0」のセット
を受取り、したがってレジスタ12の命令のオペランドか
ら受取られる値nを表わす信号は合計器20、24または28
の出力で修正なしに発生されるであろう。こうして、フ
ァイル14内のグローバルレジスタnは、合計器20、24ま
たは28によって発生される信号が第I表の第3行目に従
ってファイル14の第1または第2のREAD_ADDR入力また
はファイル14のWRITE_ADDR入力に供給されるので、読出
しまたは書込みのために用いられるであろう。 128≦n≦255であるオペランドnを有する命令はmsb
が「1」である8ビット2進表示を有し、ANDゲート2
2、26または30はそれぞれSPレジスタ16の内容物に対応
する信号を合計器20、24または28の第2の入力に送る。
したがって、レジスタ12の命令のオペランドから受取ら
れる値nを表す信号にはそれぞれ合計器20、24または28
でSPレジスタ16の値が加算されるであろう。このように
して、ファイル14内の「ローカル」レジスタへの参照は
第I表の4行目に従ってSPレジスタ16の内容物と関連し
ている。こうして、1つの手順によって用いられるファ
イル14の連続レジスタのセットは、第2図に関連して以
下に説明されるように、さらに別の手順によって用いら
れるものと重なってもよいようにローカルレジスタへの
アクセスが調整される。 レジスタ12にストアされた命令で零のレジスタ値nを
特定することによって、参照は第I表の第1行に従っ
て、そのアドレスがIPレジスタ18のビット位置2ないし
8にストアされるファイル14内のグローバルレジスタに
対してなされる。そしてnに対して1の値を特定するこ
とによって、第I表の2行に従って、そのアドレスがIP
レジスタ18のビット位置2ないし8にストアされるファ
イル14内のローカルレジスタに対して参照がなされる。
この「間接」アドレスモードが実現される機構は当業者
にとって周知であり、ここでは説明されない。 1対のネストされた手順AおよびBによって用いられ
るファイル14内のローカルレジスタのセットは第2図を
参照して説明されるであろう。手順Aに入ると同時に、
SPレジスタ16の内容物が特定のローカルレジスタ100を
指すようにセットされる。第2図に例示される手順Aで
は、レジスタ100、102、104および106は手順Aに純粋に
ローカルな変数に対して割当てられる。そのようなわけ
で、手順Bに入ると、SPレジスタ16の内容物はローカル
レジスタ108を指すようにセットされる。しかしなが
ら、ローカルレジスタ108、110および112は両方の手順
Aおよび手順Bに共通である変数に対して手順Aに割当
てられた。したがって、これらの手順の間のデータの授
受すなわち交信はローカルレジスタ108、110および112
による。ローカルレジスタ114、116、…、130は手順B
に純粋にローカルな変数に対して割当てられるが、もし
手順Cが手順Bから呼出されるべきだったなら、130で
終わる後者のレジスタのセットが、ローカルレジスタ11
4、…、130を指すようにSPレジスタ16の内容物をセット
することによって手順BとCの間の交信に用いられても
よい。 第2図に例示される内部手順交信に加えて、多数手順
の間の交信はファイル14の「グローバル」レジスタ部分
すなわちアドレス2ないし127を有するファイル14内の
レジスタにストアされた変数を介して起こってもよい。 この発明のレジスタファイル14は、第3図に例示され
る保護レジスタ34によって与えられた保護機構と関連し
て好ましくは用いられる。好ましい実施例において、レ
ジスタファイル14は各々が16個の連続レジスタを有する
16ブロックに分割される256のレジスタからなる。保護
レジスタ34は特定のブロックがアクセスを禁止されるこ
とをたとえば、2進の「1」によって特定する16ビット
の2進の値をストアすることができる16ビットレジスタ
を含む。例示のコーディング技術は第3図に示され、そ
こではレジスタ34の最上位の位置15が0と15を含んだ0
から15までのファイル14のアドレスを有するレジスタの
ブロックに対応し、位置14が16から31までのアドレスを
有するレジスタのブロックに対応する等である。 レジスタ12にストアされた命令のデコーディングの
間、オペランドの実効アドレスはデコード回路32に導伝
され、そしてオペランドのアドレスとレジスタ34の内容
物によって特定された禁止されたアドレスとの間の比較
が選択回路36によってなされる。選択回路36はファイル
14内の禁止されたレジスタにアクセスする試みが検出さ
れると、保護違反信号を発生し、そして「フォルト」が
発生され、これは補修の動作がとられるようにプロセッ
サ10による命令の処理を妨害する。 このようにして多数のタスクに対する変数がレジスタ
ファイル14内の違うブロック内に同時にストアされても
よく、そして各タスクに対する変数はその他のタスクに
よるアクセスから守られるであろう。
【図面の簡単な説明】 第1図はこの発明のレジスタファイルを採用する命令プ
ロセッサのブロック図である。 第2図はこの発明のファイルにローカルレジスタを割当
てる際のスタックポインタの使用を例示する。 第3図はこの発明のレジスタファイルと関連して用いら
れる保護レジスタを例示する。 図において、10は命令プロセッサ、12は命令レジスタ、
14はレジスタファイル、16はスタックポインタレジス
タ、18は間接ポインタレジスタ、20は合計器、22、26お
よび30はANDゲート、24は第2の合計器、28は第3の合
計器、32はデコード回路、34は保護レジスタ、36は選択
回路、100、102、104、106、108、110、112、114、11
6、118、120、122、124、126、128および130はローカル
レジスタである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロッド・ジー・フレック アメリカ合衆国、カリフォルニア州、マ ウンティン・ヴューライト・アベニュ ー、928、ナンバー・304 (72)発明者 ウィリアム・エム・ジョンソン アメリカ合衆国、カリフォルニア州、サ ン・ホセ ロンダ・ドライブ、5064 (72)発明者 チェン・ガン・コン アメリカ合衆国、カリフォルニア州、サ ン・ホセ アグア・ヴィスタ・ドライ ブ、2822 (72)発明者 オーレ・モラー デンマーク王国、デ・ゴ・2990 ニーヴ ァ ローモゼン、310 (56)参考文献 特開 昭53−142843(JP,A) 特開 昭57−103198(JP,A) 特開 昭51−75340(JP,A) 特開 昭60−134940(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 1.複数個の命令をサイクル的に実行する際の、記憶ロ
    ケーションを示す信号を実行時に提供するデジタルプロ
    セッサ制御装置であって、前記複数個の命令の各々は複
    数個のオペランド部分を含み; 記憶ロケーションを示す信号を命令の実行時に発生する
    ためのスタック手段と; 前記記憶ロケーションを示す信号と前記複数個の命令オ
    ペランド部分の各々とに応答し、複数個の信号を発生す
    るための手段と、前記複数個の信号の各々は前記オペラ
    ンドのロケーションの1つを示し;さらに 複数個のレジスタを有するファイル手段とを含み、前記
    複数個のレジスタの各々はロケーション指示部を有し、
    前記ファイル手段は、前記複数個のオペランドロケーシ
    ョン信号に応答し、前記オペランドロケーション信号の
    うちの第1のオペランドロケーション信号であってかつ
    第1のロケーションを示すものを受取ると、前記第1の
    ロケーション指示部を有する前記レジスタの内容を読出
    し、前記オペランドロケーション信号のうちの第2のオ
    ペランドロケーション信号であってかつ第2のロケーシ
    ョンを示すものを受取ると、前記第2のロケーション指
    示部を有する前記レジスタに、前記命令によって指定さ
    れる内容を書込み; 前記スタック手段は、前記ファイル手段内の任意の記憶
    ロケーションを指す値に設定可能であり、 それによって、手順が必要とするレジスタのみが当該手
    順に割当てられる、デジタルプロセッサ制御装置。 2.前記ファイル手段内の前記複数個のレジスタが、連
    続のロケーション指示部を有する第1のセットと連続の
    ロケーション指示部を有する第2のセットとを含み、前
    記オペランドロケーション信号発生手段は; 前記複数個のオペランド部分に対応して設けられ、各々
    が前記記憶割当信号と前記複数個の命令オペランド部分
    のうちのそれぞれ特定のものの、前記第1のまたは第2
    のセットを指定する部分とに応答し、前記ファイル手段
    内の基準アドレスに対する相対ロケーション信号を発生
    するための複数個の論理回路手段と; 前記複数個のオペランド部分に対応して設けられ、各々
    が第1の入力で前記命令オペランド部分のうちの対応の
    オペランドアドレスを示す信号を受取り、第2の入力で
    前記論理回路手段のうちの対応のものによって発生され
    た前記相対ロケーション信号を受取り、オペランドロケ
    ーション信号を発生するための複数個の合計手段とを含
    む、特許請求の範囲第1項に記載のデジタルプロセッサ
    制御装置。 3.前記ファイル手段内の前記レジスタのうちユーザの
    選択可能なレジスタのアクセス保護をさらに提供するデ
    ジタルプロセッサ制御装置であって、前記複数個のオペ
    ランドロケーション信号と、前記ユーザの選択可能なレ
    ジスタアクセス保護を示す信号とに応答し、保護違反信
    号を発生するための手段をさらに含む、特許請求の範囲
    第1項に記載のデジタルプロセッサ制御装置。 4.前記ファイル手段内の前記レジスタのうちユーザの
    選択可能なレジスタのアクセス保護をさらに提供するデ
    ジタルプロセッサ制御装置であって、前記複数個のオペ
    ランドロケーション信号と、前記ユーザの選択可能なレ
    ジスタアクセス保護を示す信号とに応答し、保護違反信
    号を発生するための手段をさらに含む、特許請求の範囲
    第2項に記載のデジタルプロセッサ制御装置。 5.前記ファイル手段内の前記レジスタが、前記レジス
    タの数および1単位として保護が求められるレジスタ数
    に応じて予め定められた数のブロックに分割され、各ブ
    ロックは連続のロケーションに指示部を有する、1単位
    として保護が求められるレジスタ数と等しい数のレジス
    タを含み、前記保護違反信号発生手段が前記ユーザの選
    択したアクセス保護を示す複数ビットの値をストアする
    ための手段を含み、その各ビット位置はそれぞれ前記ブ
    ロックのうちの1つに対応する、特許請求の範囲第3項
    に記載のデジタルプロセッサ制御装置。 6.前記ファイル手段内の前記レジスタが、前記レジス
    タの数および1単位として保護が求められるレジスタ数
    に応じて予め定められた数のブロックに分割され、各ブ
    ロックは連続のロケーション指示部を有する、1単位と
    しての保護が求められるレジスタ数と等しい数のレジス
    タを含み、前記保護違反信号発生手段が前記ユーザの選
    択したアクセス保護を示す複数ビットの値をストアする
    ための手段を含み、その各ビット位置はそれぞれ前記ブ
    ロックのうちの1つに対応する、特許請求の範囲第4項
    に記載のデジタルプロセッサ制御装置。 7.前記ファイル手段内の前記レジスタのうち、特定の
    アドレスに対応するものが間接ポインタを格納するため
    のレジスタである、特許請求の範囲第1項記載のデジタ
    ルプロセッサ制御装置。 8.前記複数個のオペランド部分が第1および第2の読
    出オペランドおよび第1の書込オペランドを含む、特許
    請求の範囲第1項に記載のデジタルプロセッサ制御装
    置。 9.複数個の命令をサイクル的に実行するデジタルプロ
    セッサ制御装置による、記憶ロケーションを示す信号を
    実行時に発生するための実行時記憶割当の方法であっ
    て、前記複数個の命令の各々は複数個のオペランド部分
    を含み、前記複数個の命令は、ある機能を実現するため
    の手順を形成する順番で実行され、前記制御装置は複数
    のレジスタを含むファイルを有し、前記複数のレジスタ
    の各々はロケーション指示部を有し: a) 手順に入ると同時にスタックポインタをセットす
    る段階と; b) 前記手順内の前記命令の前記複数個のオペランド
    部分の各々に対して、前記スタックポインタに関する実
    効オペランドレジスタアドレスを計算する段階と;さら
    に c) 段階(a)で始められた前記手順によって呼出さ
    れた手順に入ると同時に、段階(c)で始められた手順
    に対して割当てられた記憶領域と、前記段階(a)で始
    められた前記手順によって呼出された前記手順に割当て
    られた記憶領域との間に、両手順間でデータを授受する
    ための共通部分を設けるように前記スタックポインタを
    リセットする段階とを含む、実行時記憶割当の方法。 10.前記レジスタのファイルが、前記レジスタの数
    と、1単位として保護が求められるレジスタ数とに応じ
    て予め定められた数のブロックに分割され、各ブロック
    は連続のロケーション指示部を有する、1単位として保
    護が求められるレジスタ数と等しい数のレジスタを含
    み: d) 所与の手順が実行されるに先立って、アクセスが
    禁止されたブロックとして前記ブロックのいくつかを指
    定する段階と; e) 段階(b)で実効アドレスを計算した後、当該実
    効アドレスが、前記アクセスが禁止されたブロックの1
    つ内に位置するアドレスを有するオペランド部分を有す
    る命令の実効を放棄する段階をさらに含む、特許請求の
    範囲第9項に記載の実行時記憶割当の方法。 11.前記デジタルプロセッサ制御装置は多数のタスク
    を実行することができ: f) 前記段階(d)は、前記多数のタスクの各々に対
    して、アクセスが禁止されたブロックとして、前記ブロ
    ックのうち相互に異なるものを指定する段階を含む、特
    許請求の範囲第10項に記載の実行時記憶割当の方法。 12.前記レジスタのファイルが連続のロケーション指
    示部の第1のセットと、連続のロケーション指示部の第
    2のセットとを有し、指示部の前記第1および第2のセ
    ットは、所定の方法に従って相互に交換できるように予
    め定められた数値関係を有し、段階(b)は前記予め定
    められた数値関係を参照することによって前記第2のセ
    ット内の実効オペランドレジスタアドレスの前記計算を
    行なう、特許請求の範囲第9項に記載の実行時記憶割当
    の方法。
JP61203568A 1985-08-30 1986-08-28 デジタルプロセッサ制御装置および実行時記憶割当ての方法 Expired - Fee Related JP2678183B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/771,311 US4777588A (en) 1985-08-30 1985-08-30 General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
US771311 1985-08-30

Publications (2)

Publication Number Publication Date
JPS6252637A JPS6252637A (ja) 1987-03-07
JP2678183B2 true JP2678183B2 (ja) 1997-11-17

Family

ID=25091411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61203568A Expired - Fee Related JP2678183B2 (ja) 1985-08-30 1986-08-28 デジタルプロセッサ制御装置および実行時記憶割当ての方法

Country Status (5)

Country Link
US (1) US4777588A (ja)
EP (1) EP0213843B1 (ja)
JP (1) JP2678183B2 (ja)
AT (1) ATE85713T1 (ja)
DE (1) DE3687724T2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2545789B2 (ja) * 1986-04-14 1996-10-23 株式会社日立製作所 情報処理装置
US5293594A (en) * 1986-05-24 1994-03-08 Hitachi, Ltd. Data processing system having a plurality of register groups and a logical or circuit for addressing one register of one of the register groups
US4853849A (en) * 1986-12-17 1989-08-01 Intel Corporation Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction
DE3726192A1 (de) * 1987-08-06 1989-02-16 Otto Mueller Stacksteuerung
US5513353A (en) * 1987-09-30 1996-04-30 Kabushiki Kaisha Toshiba Cache control system which permanently inhibits local but not global parameter data writes to main memory
JPH01263728A (ja) * 1988-04-14 1989-10-20 Sharp Corp 相対指示可能なレジスタ群を備えたマイクロプロセッサ
JP3034873B2 (ja) * 1988-07-01 2000-04-17 株式会社日立製作所 情報処理装置
US5321823A (en) * 1988-07-20 1994-06-14 Digital Equipment Corporation Digital processor with bit mask for counting registers for fast register saves
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
JPH0630063B2 (ja) * 1989-02-17 1994-04-20 株式会社東芝 マイクロプロセッサ
JP2655191B2 (ja) * 1989-07-05 1997-09-17 三菱電機株式会社 演算処理装置
JPH0353328A (ja) * 1989-07-20 1991-03-07 Hitachi Ltd レジスタ退避回復方法ならびに処理装置
JP2991242B2 (ja) * 1989-10-12 1999-12-20 テキサス インスツルメンツ インコーポレーテッド マルチプロセッサコンピュータシステム使用方法
US5428793A (en) * 1989-11-13 1995-06-27 Hewlett-Packard Company Method and apparatus for compiling computer programs with interproceduural register allocation
US5522072A (en) * 1990-09-04 1996-05-28 At&T Corp. Arrangement for efficiently transferring program execution between subprograms
US5226142A (en) * 1990-11-21 1993-07-06 Ross Technology, Inc. High performance register file with overlapping windows
US5696957A (en) * 1991-05-17 1997-12-09 Ricoh Company, Ltd Integrated circuit comprising a central processing unit for executing a plurality of programs
US5493687A (en) * 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
JP3730252B2 (ja) 1992-03-31 2005-12-21 トランスメタ コーポレイション レジスタ名称変更方法及び名称変更システム
JP3637920B2 (ja) 1992-05-01 2005-04-13 セイコーエプソン株式会社 スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法
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
GB2278698B (en) * 1993-05-05 1997-09-03 Hewlett Packard Co Multi-ported data storage device with improved cell stability
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.
US5655132A (en) * 1994-08-08 1997-08-05 Rockwell International Corporation Register file with multi-tasking support
US6086632A (en) * 1996-10-31 2000-07-11 Nec Corporation Register optimizing compiler using commutative operations
US7114056B2 (en) 1998-12-03 2006-09-26 Sun Microsystems, Inc. Local and global register partitioning in a VLIW processor
US6205543B1 (en) 1998-12-03 2001-03-20 Sun Microsystems, Inc. Efficient handling of a large register file for context switching
US7117342B2 (en) 1998-12-03 2006-10-03 Sun Microsystems, Inc. Implicitly derived register specifiers in a processor
JP2000353092A (ja) * 1999-06-09 2000-12-19 Nec Corp 情報処理装置及びそのレジスタファイル切替方法
JP2002182927A (ja) * 2000-12-13 2002-06-28 Hitachi Ltd 異種実行環境におけるレジスタの割当て方法、異種実行環境におけるソフトウェア開発方法、および、それを実行するプログラムが組み込まれたlsi
US20020099872A1 (en) * 2001-01-19 2002-07-25 Vinodha Ramasamy Allocating registers for use in programming code modification
JP3763518B2 (ja) * 2001-05-29 2006-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイラ、そのコンパイル方法およびプログラム
US7185329B1 (en) * 2003-03-28 2007-02-27 Applied Micro Circuits Corporation Use of different color sequences for variables of different sizes and different semantics
US7207032B1 (en) * 2003-03-28 2007-04-17 Applied Micro Circuits Corporation Expanding a software program by insertion of statements
US10839877B1 (en) * 2019-04-23 2020-11-17 Nxp Usa, Inc. Register protection circuit for hardware IP modules
US20240069920A1 (en) * 2022-08-26 2024-02-29 Texas Instruments Incorporated Securing registers across security zones

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3461433A (en) * 1967-01-27 1969-08-12 Sperry Rand Corp Relative addressing system for memories
US4037214A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
JPS53142843A (en) * 1977-05-19 1978-12-12 Toshiba Corp Data processor
JPS57103198A (en) * 1980-12-19 1982-06-26 Fujitsu Ltd Storage protection system
JPS6073762A (ja) * 1983-09-29 1985-04-25 Fujitsu Ltd 記憶保護方式
JPS6140650A (ja) * 1984-08-02 1986-02-26 Nec Corp マイクロコンピユ−タ

Also Published As

Publication number Publication date
DE3687724T2 (de) 1993-07-22
EP0213843B1 (en) 1993-02-10
ATE85713T1 (de) 1993-02-15
EP0213843A2 (en) 1987-03-11
JPS6252637A (ja) 1987-03-07
US4777588A (en) 1988-10-11
EP0213843A3 (en) 1989-03-29
DE3687724D1 (de) 1993-03-25

Similar Documents

Publication Publication Date Title
JP2678183B2 (ja) デジタルプロセッサ制御装置および実行時記憶割当ての方法
US4453212A (en) Extended address generating apparatus and method
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
US4432053A (en) Address generating apparatus and method
JPH0364890B2 (ja)
JPH07210381A (ja) プロセッサ及びコンピュータ・システム
EP0772819B1 (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
US8205032B2 (en) Virtual machine control structure identification decoder
JPH06236353A (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
JPS6055849B2 (ja) 命令制御方式
JP3618868B2 (ja) 二重モード変換索引バッファを利用したデータ処理システムにおける効率的メモリ管理の方法およびシステム
CA1115425A (en) Data processor with address extension
JP2535086B2 (ja) リング削減ロジック装置
KR960015231A (ko) 향상된 어드레스 지정 방법 및 시스템
JPS6051947A (ja) 仮想記憶計算機における命令先取方式
JPH01291327A (ja) 処理モード先取り制御方式
JP2915680B2 (ja) Riscプロセッサ
JP2798275B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JPH0666052B2 (ja) メモリ内容を機械レジスタに自動的に写像する計算機
JPH0219495B2 (ja)
JPH08328851A (ja) ロード・ストア命令処理装置及び方法
JPH0471219B2 (ja)
JP2942449B2 (ja) データ処理装置
JPS6351294B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees