JPS6252637A - デジタルプロセツサ制御 - Google Patents

デジタルプロセツサ制御

Info

Publication number
JPS6252637A
JPS6252637A JP61203568A JP20356886A JPS6252637A JP S6252637 A JPS6252637 A JP S6252637A JP 61203568 A JP61203568 A JP 61203568A JP 20356886 A JP20356886 A JP 20356886A JP S6252637 A JPS6252637 A JP S6252637A
Authority
JP
Japan
Prior art keywords
register
registers
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.)
Granted
Application number
JP61203568A
Other languages
English (en)
Other versions
JP2678183B2 (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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
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)

Abstract

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

Description

【発明の詳細な説明】
この発明はデジタルコンピュータの記憶要素に関するも
のであって、特に、手順の間の容易なパラメータ通過を
提供する減少命令セットコンピュータおよび多数のタス
クを支持する保護機構とともに用いるための高速汎用レ
ジスタファイルに関するものである。 [発明の背景〕 減少命令セットコンピュータ(RISC)は、あまりし
ばしば用いられないデータの記憶のための低速主要メモ
リに関連して、しばしば用いられるデータの記憶のため
の1組の高速汎用レジスタを採用づる利点を認める。プ
ログラムの実行時間の研究は、手順において最もしばし
ば用いられるデータは典型的には単純な非配列変数であ
り、32を超えないようなこのような変数が手順どとも
に用いられることを示す。13erkeley  RI
SG機械RISCIおよびRISCUと、5tanfo
rd  MIPS機械と、18M801とはRISCの
アーキテクチャ−を代表する。 実行時間で、ハイレベルの言語(1−ILL>の手順が
それぞれ呼出されたりまたはそこから戻されたりすると
きはいつでも、スタックが起動レコードを割当てる際と
割当てを解除する際に用いられる。起動レコードは入っ
て(るパラメータ(変数)と、純粋にローカルの変数と
、外に出ていくパラメータ(変数)のための部分を含む
。手順の1つの起動レコードの外に出ていくパラメータ
に割当てられた部分は、さらに別の手順の別の起動レコ
ードの入ってくるパラメータに割当てられた部分に重ね
られてもよく、その1ζめ1.<ラメータの値は手順の
間を効果的に交信される。 HLLのためのコンパイラは手順内のデータ参照を配列
し、そのため大部分の参照は性能を改良するために高速
レジスタに対でるものである。RrSCアーキテクチ1
機械は、いかなる所与の手順内でもしばしば必要どされ
るデータの記憶に必要な数を超えている、1相の高速レ
ジスタ、たとえば32個のレジスタを含む。3erke
leyRISC機械は手順にレジスタの定まった数(「
ウィンドウJ  (window) )を割当てる。こ
の数は一般に手順で実際に必要とされるよりも大きいの
で、レジスタの無駄が避けられない。 理想では、手順によって実際に必要とされるレジスタの
数のみがそれに割りあてられるべきで、それらの必要を
超えるレジスタは手順の間の交信およびその他のタスク
のために変数をストアするために用いられ得る。 L発明の要約] この発明の命令プロセッサは手順によって必要とされる
レジスタの数のみがそれに割当てられる高速レジスタフ
ァイルを提供する。所与の手順で必要とされるものを超
えるレジスタは他の手順またはタスクのための変数をス
トアするために用いられてもよい。多数手順の間の交信
がいわゆる「グローバルJレジスタのセラ1−に含まれ
る変数を介して起こってもよく、一方所与の手順に必要
とされる変数はいわゆる[ローカルコレジスタのセット
にストアされ、各セットはそれ自身のアドレス空間を備
える。 パラメータはスタック機構を介して押出手順から呼出さ
れた手順へと進められてもよい。ローカルレジスタへの
アクセスはレジスタ内にストアされたスタックポインタ
(直と関連している。呼出す手順および呼出された手順
によって用いられるレジスタのセットが臣なり、その間
の交信は共通のレジスタを介するように、スタックポイ
ンタレジスタの内容物は調整されてもよい。 レジスタ保護機構は各々のタスクが他のタスクにおいて
発生するいかなる不所望の変化からも保全せいを維持す
る多数タスキング環境を支持する。 保護機構は特定の手順またはタスクの実行の間、高速レ
ジスタファイル内の成るレジスタのアクセスを禁止する
。レジスタファイルは連続レジスタの多数の「ブロック
」に分割される。保護レジスタはその各ビット位置が特
定のビット位置に対応するブロックへのアクセスの許容
または否定のどちらかにヒツトされ1りる2進のワード
を含む。保護されたブロック内のレジスタにアクセスす
る命令による試みは、機械の「フォルト」を引き起こし
、そして適切な矯正作用がとられる。しIζがって、多
数のタスクのための変数はレジスタファイル内の別々の
ブロックにストアされることができ、各タスクのための
変数は他のタスクによるアクセスから保護される。 「好ましい実施例の詳細な説明] この発明のレジスタファイルは第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内のローカルレジスタがアクセスさ
れることを引き起こり。番号Oのファイル14内のレジ
スタは特定されると、そのアドレスがIPレジスタのビ
ット位置2ないし8にストアされるファイル14内のグ
ローバルレジスタがアクセスされることを引き起こす。 命令レジスタ12にストアされた命令のオペランド部分
を表わす信号は3つの2−人力金言I器の1つに導伝さ
れる、プなわら、第1の合計器20は第1の入力でレジ
スタ12にストアされlc命令の第1のオペランドを表
わす信号を受取り、そしてSPレジスタ16の内容物を
表わす信号はANDゲート22を介して合ε]器20の
第2の入力に導伝される。ANDゲート22はまたレジ
スタ12にストアされた命令の第1のオペランドの最上
位ビット(msb)に対応する信号も受取る。 第2の合計器24および第3の金品1器28は第1の入
力でレジスタ12にストアされた命令のそれぞれ第2お
よび第3のオペランドを表わす信号を受取り、そしてS
Pレジスタ16の内容物を表わす信号はそれぞれAND
ゲート26および30を介して合計器24および28の
第2の入力に導伝される。ANDゲート26およびAN
Dゲート30もまたレジスタ12にストアされた命令の
それぞれ第2および第3のオペランドのmsbに対応す
る信号を受取る。 合計器20および24の出力で発止された信号はデコー
ド回路32へのそれぞれ第1および第2の入力に導伝さ
れるのと同様、レジスタファイル14のそれぞれ第1お
よび第2の読出アドレス(READ−ADDR)入力に
導伝される。合削器28の出力で発生された信号はデコ
ード回路32の第3の入力に導伝されるのと同様、レジ
スタファイル14の書込アドレス(WRITE  AD
DR)入力に導伝される。 保護レジスタ34は第3図に関連して以下に説明される
ように、レジスタファイル14内の成るレジスタのどれ
がレジスタ12にストアされた命令によってアクセスさ
れてもよいのかを特定する情報を含む。この保護情報を
表わす信号は、またデコード回路32によって発生され
た信号をも受取る、組合わ「の選択回路36に導伝され
る。選択回路36は出力で、レジスタ12の命令による
、保護レジスタ34の内容物に従って保護されるファイ
ル14内の特定のレジスタにアクセスする試みを示を信
号を発生する。コンピュータ「フォルト」はこの場合に
検出され、適切な処置がとられる。このようにして、多
数タスク環境での1つのタスクから別のタスクへの迅速
な切換えが容易になされ、そのため各タスクに対する変
数は第3図に関連して以下に説明されるように、保護レ
ジスタ34の特定ピヅトパターンを特定することによっ
て、ファイル14内の成るレジスタのアクセスを禁止す
る能力によって他のタスクによるアクセスから守られる
。 SPレジスタ16とIPレジスタ18の動作は以下の第
1表に関連して最良に説明される。ファイル14内のレ
ジスタをアドレスする4つのモードはプロセッザ制tl
110によって可能にされ、そしてそれらはレジスタ1
2にストアされた命令のオペランドによって特定される
ように、第工表の第1列に示されるIn nによって決
定される。 第工表 レジスタファイルアドレスモード に2!」すL友よ」−レジスタ 0     グローバルレジスタ[IP、−2]1  
   ローカルレジスタ[I P、、]2から127 
 グローバルレジスタ[n1128から255 ローカ
ルレジスタ [(SP    ) mo6 128]t−z+ル 2≦11≦127のオペランドnを有する命令はファイ
ル14内のアドレスnに位置するファイル14内の「グ
ローバルレジスタを参照する。nの8ビツト2進表示の
msbがこの場合rOJであるので、合計器20,24
または28はそれぞれANDゲート22.26または3
0からrOJのセットを受取り、したがってレジスタ1
2の命令のオペランドから受取られる値nを表わず信号
は合計器20.24または28の出力で修正なしに発生
されるであろう。こうして、ファイル14内のグローバ
ルレジスタnは、合計器20.24または28によって
発生される信号が第工表の第3行目に従ってファイル1
4の第1または第2のRE A D  A D D R
入力またはファイル14のWRITE−△DDR入力に
供給されるので、読出しまたは書込みのために用いられ
るであろう。 128≦n≦255であるオペランドnを有する命令は
msbが「1」であるhビット2進表示を有し、AND
ゲート22.26または30はそれぞれSPレジスタ1
6の内容物に対応する信号を合計器20,24または2
8の第2の入力に送る。したがって、レジスタ12の命
令のオペランドから受取られる値nを示V信号はそれぞ
れ合計器20.24または28のSPレジスタ16の値
によって増加されるであろう。このようにしで、ファイ
ル14内の「ローカル」レジスタへの参照は第工表の4
行目に従ってSPレジスタ16の内容物と関連している
。こうして、1つの手順によって用いられるファイル1
4の連続レジスタのセットは、第2図に関連して以下に
説明されるように、さらに別の手順によって用いられる
ものと重なってもよいようにローカルレジスタへのアク
セスが調整される。 レジスタ12にストアされた命令で零のレジスタ値nを
特定プることによって、参照は第工表の第1行に従って
、そのアドレスがIPレジスタ18のビット位置2ない
し8にストアされるファイル14内のグローバルレジス
タに対してなされる。 モしてnに対して1の値を特定することによって、第工
表の2行に従って、そのアドレスがIPレジスタ18の
ビット位置2ないし8にストアされるファイル14内の
ローカルレジスタに対して参照がなされる。この「間接
」アドレスセードが実現される機構は当業者にとって周
知であり、ここでは説明されない。 1対のネストされた手順△およびBによって用いられる
ファイル14内のローカルレジスタのセットは第2図を
参照して説明されるであろう。手順△に入ると、SPレ
ジスタ16の内容物が特定のローカルレジスタ100を
指すようにセットされる。第2図に例示される手順へで
は、レジスタ100.102.104および106は手
順Aに純粋にローカルな変数に対して割当てられる。そ
のようなわけで、手順Bに入ると、SPレジスタ16の
内容物はローカルレジスタ108を指づようにセットさ
れる。しかしながら、ローカルレジスタ108.110
および112は両方の手順Aおよび手順Bに共通である
変数に対して手順Aに割当てられた。したがって、これ
らの手順の間の交信は
【コーカルレジスタ108.11
0および112による。ローカルレジスタ114.11
6、・・・、130は手順Bに純粋にローカルな変数に
対して割当てられるが、もし手順Cが手順Bから呼出さ
れるべきだったなら、130で終わる後布のレジスタの
セットが、ローカルレジスタ114、・・・、130を
指すようにSPレジスタ16の内容物をセットすること
によって手順BとCの間の交信に用いられてもよい。 第2図に例示される内部手順交信に加えて、多数手順の
間の交信はファイル14の「グローバルコレジス9部分
すなわらアドレス2ないし127を有するファイル14
内のレジスタにストアされた変数を介して起こってもよ
い。 この発明のレジスタファイル14は、第3図に例示され
る保護レジスタ371Iによって与えられた保1i11
fl構と関連して好ましくは用いられる。好ましい実施
例において、レジスタファイル14は16の連続レジス
タの各々の16ブロツクに分割される256のレジスタ
からなる。保護レジスタ34は特定のブロックがアクセ
スを禁止されることをたとえば、2進の「1」によって
特定覆る16ビツ1−の2進の値をストアすることがで
きる16ビツトレジスタを含む。例示のコーディング技
術は第3図に示され、そこではレジスタ34の最上位の
位置15が○と15を含んだOから15までのファイル
14のアドレスを有するレジスタのブに】ツクに対応し
、位置14が16から31までのアドレスを有するレジ
スタのブロックに対応する等である。 レジスタ12にストアされた命令のデコーディングの間
、オペランドの有効アドレスはデコード回路32に導伝
され、そしてオペランドのアドレスとレジスタ34の内
容物によって特定された禁止されたアドレスとの間の比
較が選択回路36によってなされる。選択回路36はフ
ァイル14内の禁止されたレジスタにアクセスする試み
が検出されると、保護違反信号を発生し、そして「フォ
ルト」が発生され、これは補瞭の動作がとられるように
プロセッサ10による命令の処理を妨害する。 このようにして多数のタスクに対する変数がレジスタフ
ァイル14内の違うブ■コック内に同時にストアされて
もよく、そして各タスクに対する変数はその他のタスク
によるアクセスから守られるであろう。
【図面の簡単な説明】
第1図はこの発明のレジスタファイルを採用ザる命令プ
ロセッサのブロック図である。 第2図はこの発明のファイルに1コーカルレジスタを割
当てる際のスタックポインタの使用を例示する。 第3図はこの発明のレジスタファイルとrltJ連して
用いられる保護レジスタを例示する。 図において、10は命令ブロセッナ、12は命令レジス
タ、14はレジスタファイル、16はスタックポインタ
レジスタ、18は間接ポインタレジスタ、20は合計器
、22.26および30はANDゲート、24は第2の
合計器、28は第3の合計器、32はデコード回路、3
4は保護レジスタ、36は選択回路、100,102.
104、106.108.110.112.114.1
16.118.120.122.124.126.12
8および130はローカルレジスタである。 特許出願人 アドバンスト・マイクロ・デイバイシズ・
インコーボレーテツド フ0ククター

Claims (12)

    【特許請求の範囲】
  1. (1)各々が複数個のオペランド部分を含む命令をサイ
    クル的に実行する実行時間の記憶割当てを提供するデジ
    タルプロセッサ制御であって;記憶割当信号の実行時間
    発生のためのスタック手段と; 前記記憶割当信号と前記複数個の命令オペランド部分の
    各々に応答し、各々が前記オペランドロケーションの1
    つを示す複数個の信号をそこから発生するための手段と
    ;さらに 各々がロケーション指示部を有する複数個のレジスタを
    有し、前記複数個のオペランドロケーション信号に応答
    し、前記第1のロケーションを示す前記オペランドロケ
    ーション信号の予め定められたものを受取ると、第1の
    ロケーション指示部を有する前記レジスタの内容物を読
    出し、そして前記第2のロケーションを示す前記オペラ
    ンドロケーション信号の予め定められたものを受取ると
    、第2のロケーション指示部を有する前記レジスタの内
    容物を書込むためのファイル手段とを含む、制御。
  2. (2)前記ファイル手段内の前記複数個のレジスタが連
    続のロケーション指示部を有する第1のセットと連続の
    ロケーション指示部を有する第2のセットを含み、指示
    部の前記第1および第のセットは互いに予め定められた
    数値関係を有し、前記オペランドロケーション信号発生
    手段は;各々が前記記憶割当信号と前記命令オペランド
    部分の予め定められたものの予め定められた部分に応答
    し、相対ロケーション信号を発生するための複数個の論
    理回路手段と; 各々が第1の入力で前記命令オペランド部分の予め定め
    られたものを示す信号を受取り、そして第2の入力で前
    記論理回路手段の予め定められたものによって発生され
    た前記相対ロケーション信号を受取り、オペランドロケ
    ーション信号の予め定められたものを発生するための複
    数個の合計手段とを含む、特許請求の範囲1項に記載の
    デジタルプロセッサ制御。
  3. (3)前記ファイル手段内の前記レジスタのユーザの選
    択可能なもののアクセス保護をさらに提供し、前記複数
    個のオペランドロケーション信号と、前記ユーザの選択
    可能なレジスタアクセス保護を示す信号とに応答し、保
    護違反信号を発生するための手段をさらに含む、特許請
    求の範囲第1項に記載のデジタルプロセッサ制御。
  4. (4)前記ファイル手段の前記レジスタのユーザの選択
    可能なもののアクセス保護をさらに提供し、前記複数個
    のオペランドロケーション信号と、前記ユーザの選択可
    能なレジスタアクセス保護を示す信号とに応答し、保護
    違反信号を発生するための手段をさらに含む、特許請求
    の範囲第2項に記載のデジタルプロセッサ制御。
  5. (5)前記ファイル手段内の前記レジスタが予め定めら
    れた数のブロックに分割され、各ブロックは連続のロケ
    ーション指示部を有する予め定められた数のレジスタを
    含み、そして前記保護違反信号発生手段が前記ユーザの
    選択されたアクセス保護を示す複数ビットの値をストア
    するための手段を含み、その各ビット位置は前記ブロッ
    クの予め定められたものに対応する、特許請求の範囲第
    3項に記載のデジタルプロセッサ制御。
  6. (6)前記ファイル手段内の前記レジスタが予め定めら
    れた数のブロックに分割され、各ブロックは連続のロケ
    ーション指示部を有する予め定められた数のレジスタを
    含み、そして前記保護違反信号発生手段が前記ユーザの
    選択したアクセス保護を示す複数ビットの値をストアす
    るための手段を含み、その各ビット位置は前記ブロック
    の予め定められたものに対応する、特許請求の範囲第4
    項に記載のデジタルプロセッサ制御。
  7. (7)前記ファイル手段内の前記レジスタの予め定めら
    れたものが間接ポインタである、特許請求の範囲第1項
    記載のデジタルプロセッサ制御。
  8. (8)前記複数個のオペランド部分が第1および第2の
    読出オペランドおよび第1の書込オペランドを含む、特
    許請求の範囲第1項に記載のデジタルプロセッサ制御。
  9. (9)各々が複数個のオペランド部分を含む命令をサイ
    クル的に実行するデジタルプロセッサ制御による実行時
    間記憶割当ての方法であって、前記命令の予め定められ
    たシーケンスは手順を形成し、前記制御は各々がロケー
    ション指示部を有するレジスタのファイルを有し: a)手順に入るとスタックポインタをセットする段階と
    ; b)前記手順内の前記命令の前記演算部分の各々に対し
    て、前記スタックポインタに関する有効なオペランドレ
    ジスタ行先を計算する段階と;さらに c)段階(a)で始められた前記手順によって呼出され
    た手順に入ると、前記スタックポインタを再びセットし
    、そのため段階(a)で始められた手順に対して割当て
    られた記憶と前記手順によって呼出された前記手順に割
    当てられた記憶との間に予め定められた交信のオーバラ
    ップを提供する、段階とを含む、方法。
  10. (10)前記レジスタのファイルが予め定められた数の
    ブロックに分割され、各ブロックが連続のロケーション
    指示部を有する予め定められた数のレジスタを含み、: d)禁止されたアクセスブロックとして前記ブロックを
    示し、; e)前記禁止されたアクセスブロックの1つ内の段階(
    b)で計算された有効アドレスを有するオペランド部分
    を有する命令の実行を放棄する、ユーザの選択可能なレ
    ジスタアクセス保護段階をさらに含む、特許請求の範囲
    第9項に記載の実行時間記憶割当方法。
  11. (11)前記デジタルプロセッサ制御が多数のタスクを
    実行することができ: f)前記多数のタスクの各タスクに対して、禁止された
    アクセスブロックとして前記ブロックの相互に排他的な
    ものを示す段階をさらに含む、特許請求の範囲第10項
    に記載の実行時間記憶割当方法。
  12. (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
US771311 1985-08-30
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

Publications (2)

Publication Number Publication Date
JPS6252637A true JPS6252637A (ja) 1987-03-07
JP2678183B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0199130A (ja) * 1987-08-06 1989-04-18 Otto Muller コンピュータのスタック制御装置
JPH01263728A (ja) * 1988-04-14 1989-10-20 Sharp Corp 相対指示可能なレジスタ群を備えたマイクロプロセッサ

Families Citing this family (37)

* 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
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
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
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
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
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
DE69311330T2 (de) 1992-03-31 1997-09-25 Seiko Epson Corp., Tokio/Tokyo Befehlsablauffolgeplanung von einem risc-superskalarprozessor
EP0638183B1 (en) 1992-05-01 1997-03-05 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
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
US7117342B2 (en) 1998-12-03 2006-10-03 Sun Microsystems, Inc. Implicitly derived register specifiers in a processor
US6205543B1 (en) 1998-12-03 2001-03-20 Sun Microsystems, Inc. Efficient handling of a large register file for context switching
US7114056B2 (en) 1998-12-03 2006-09-26 Sun Microsystems, Inc. Local and global register partitioning in a VLIW 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 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイラ、そのコンパイル方法およびプログラム
US7207032B1 (en) * 2003-03-28 2007-04-17 Applied Micro Circuits Corporation Expanding a software program by insertion of statements
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
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 記憶保護方式

Family Cites Families (3)

* 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
JPS6140650A (ja) * 1984-08-02 1986-02-26 Nec Corp マイクロコンピユ−タ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 記憶保護方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0199130A (ja) * 1987-08-06 1989-04-18 Otto Muller コンピュータのスタック制御装置
JPH01263728A (ja) * 1988-04-14 1989-10-20 Sharp Corp 相対指示可能なレジスタ群を備えたマイクロプロセッサ

Also Published As

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

Similar Documents

Publication Publication Date Title
JPS6252637A (ja) デジタルプロセツサ制御
US4446517A (en) Microprogram memory with page addressing and address decode in memory
JPH0248931B2 (ja)
CN113468079B (zh) 内存访问方法及装置
US5802598A (en) Data memory access control and method using fixed size memory sections that are sub-divided into a fixed number of variable size sub-sections
US6578139B1 (en) Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
CA1115425A (en) Data processor with address extension
JPH0630063B2 (ja) マイクロプロセッサ
US4301514A (en) Data processor for processing at one time data including X bytes and Y bits
US20040083350A1 (en) Zero delay data cache effective address generation
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
JPH09505428A (ja) ページアドレスモードを有するマイクロコントローラ
JPH0731608B2 (ja) 情報処理装置
JPS595496A (ja) メモリプロテクト方式
JP2860655B2 (ja) 並列命令実行型プロセッサ
JP2511063B2 (ja) パイプライン制御方式
JP2942449B2 (ja) データ処理装置
JPH0219495B2 (ja)
JPS6125168B2 (ja)
JPS6351294B2 (ja)
JPH04137138A (ja) 情報処理装置
JPS61289447A (ja) メモリバンクアクセス方式
JPS60175161A (ja) メモリアクセス方式
JPH0322052A (ja) メモリマッパ装置

Legal Events

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