JPH05127895A - 汎用レジスタへの書込みプロテクト方式 - Google Patents

汎用レジスタへの書込みプロテクト方式

Info

Publication number
JPH05127895A
JPH05127895A JP3286606A JP28660691A JPH05127895A JP H05127895 A JPH05127895 A JP H05127895A JP 3286606 A JP3286606 A JP 3286606A JP 28660691 A JP28660691 A JP 28660691A JP H05127895 A JPH05127895 A JP H05127895A
Authority
JP
Japan
Prior art keywords
register
general
purpose register
instruction
specific
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
JP3286606A
Other languages
English (en)
Inventor
Takayuki Yagi
孝幸 矢木
Yoichiro Takeuchi
陽一郎 竹内
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3286606A priority Critical patent/JPH05127895A/ja
Publication of JPH05127895A publication Critical patent/JPH05127895A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】システム全体に関係する特定情報の格納先に汎
用レジスタを用いることにより、処理の高速化並びにハ
ードウェア,ファームウェアの設計量の低減を図りなが
ら、その特定情報が誤って書換えられるのを防止できる
ようにする。 【構成】メモリ20から命令レジスタ30にフェッチさ
れた命令がレジスタ書込み命令の場合、レジスタ書込み
検出・操作機構41が起動される。この機構41は、レ
ジスタ書込み命令の指定する書込み対象レジスタが汎用
レジスタ11のような特定汎用レジスタであるならば、
命令21のような特定汎用レジスタ書込み命令である場
合に限り、その特定汎用レジスタへの書込みを実行し、
命令22のような通常の汎用レジスタ書込み命令の場合
には書込みをキャンセルする。汎用レジスタ11を特定
汎用レジスタとする指定は、特定汎用レジスタ指定/解
除機構50によりレジスタ書込み検出・操作機構41に
対して行われる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、汎用レジスタ群を備
えた計算機システムに係り、特に汎用レジスタ群中の特
定の汎用レジスタを特定の情報保持用に割当てた場合に
好適な汎用レジスタへの書込みプロテクト方式に関す
る。
【0002】
【従来の技術】計算機システムの中枢をなすCPUには
汎用レジスタ群(汎用レジスタファイル)が設けられて
いるのが一般的である。これら汎用レジスタの値は、タ
スクの遷移、OS(オペレーティングシステム)の動作
において、その汎用レジスタを書込み先として指定する
レジスタ書込み命令の実行により自由に書換えることが
可能であった。このため、演算結果の書込みやメモリか
らのレジスタ値書戻しにより、本来変更されては困る汎
用レジスタ値が書換えられる虞があった。
【0003】そこで従来は、システムトレース情報、R
AS(reliability ,availability,serviceability)
情報、性能情報採取のオン/オフなど、システム全体に
関係する各種の情報については、誤って書換えられるこ
とを防止するために、タスク共有のメモリ空間上か、特
殊レジスタ上に配置せざるを得なかった。
【0004】
【発明が解決しようとする課題】上記したように従来
は、システム全体に関係するような各種の特定情報は、
誤って書換えられることを防ぐために、タスク共有のメ
モリ空間上か、特殊レジスタ上に配置されていた。
【0005】しかし、頻繁に使用される特定情報がタス
ク共有のメモリ空間上に配置された場合には、そのメモ
リ空間へのアクセスのためにオーバヘッドが大きくなっ
て高速処理が行えないという問題があり、また、特殊レ
ジスタに配置された場合には、ハードウェア,ファーム
ウェアの設計量が増えることから信頼性の低下、性能低
下を招くといった問題があった。
【0006】この発明は上記事情に鑑みてなされたもの
でその目的は、システム全体に関係するような各種の特
定情報の格納先に汎用レジスタを用いることにより、処
理の高速化並びにハードウェア,ファームウェアの設計
量の低減を図りながら、その特定情報が誤って書換えら
れるのを防止できる汎用レジスタへの書込みプロテクト
方式を提供することにある。
【0007】
【課題を解決するための手段】この発明は、汎用レジス
タ群を備えた計算機システムにおいて、システム全体に
関係するような特定の情報の格納先として汎用レジスタ
群中の特定の汎用レジスタを割当て、この特定汎用レジ
スタへの書込みについては特定のレジスタ書込み命令に
よる場合だけ許可するようにし、この特定レジスタ書込
み命令以外のレジスタ書込み命令による特定汎用レジス
タの保持内容の変更を防ぐようにしたことを特徴とする
ものである。
【0008】
【作用】上記の構成では、演算や、リストア,ポップな
どメモリ(スタック)からのレジスタ値の書戻しを行う
回復動作における汎用レジスタ書込みには、通常のレジ
スタ書込み命令が用いられる。また、システム全体に関
係するような特定の情報の格納先には特定汎用レジスタ
が用いられ、この特定汎用レジスタへの書込みには特定
レジスタ書込み命令が用いられる。
【0009】システム内には、レジスタ書込み検出・操
作機構が設けられており、レジスタ書込み命令の実行に
際しては、その書込み先レジスタが特定汎用レジスタで
あるか否かがチェックされ、その書込み先が特定汎用レ
ジスタであって且つレジスタ書込み命令が特定レジスタ
書込み命令でない場合(通常のレジスタ書込み命令であ
る場合)には、同命令の指定によるレジスタ書込みがキ
ャンセルされる。これにより、特定汎用レジスタの特定
情報が誤って変更されることが防止できる。一方、書込
み先が特定汎用レジスタであっても、特定レジスタ書込
み命令による書込み指定である場合には、その特定汎用
レジスタへの書込みが許可される。
【0010】
【実施例】図1はこの発明を適用する計算機システムの
一実施例を示す要部の機能ブロック構成図である。
【0011】図1において、10は複数の汎用レジスタ
からなる汎用のレジスタファイルである。レジスタファ
イル10は、演算や、リストア,ポップなどメモリ(ス
タック)からのレジスタ値の書戻しを行う回復動作にお
ける書込み先として用いられる。またレジスタファイル
10は、システムトレース情報、RAS情報など、シス
テム全体に関係する情報の書込み先としても用いられ
る。11は、このシステム全体に関係する特定の情報の
書込み先として後述する特定汎用レジスタ指定/解除機
構50により指定されたレジスタファイル10内の特定
の汎用レジスタである。
【0012】20は命令群からなる各種プログラム等が
格納されるメモリ、21はメモリ20に格納された特定
汎用レジスタ書込み命令である。この特定汎用レジスタ
書込み命令21は、特定汎用レジスタ11など、特定汎
用レジスタ指定/解除機構50により特定汎用レジスタ
として指定されたレジスタファイル10内の汎用レジス
タに対する書込みに用いられる新規なレジスタ書き込み
命令である。22はメモリ20に格納された通常の汎用
レジスタ書込み命令であり、レジスタファイル10内の
特定汎用レジスタ以外のレジスタに対する書込みに用い
られる。23はレジスタファイル10内の汎用レジスタ
からの読出しを特定汎用レジスタであるか否かに無関係
に指示するための通常の(従来と同様の)汎用レジスタ
読出し命令である。
【0013】30はメモリ20から読出された命令を保
持するための命令レジスタ、40は命令レジスタ30に
保持された命令が汎用レジスタ書込みまたは汎用レジス
タ読出しを指示している場合に起動されてレジスタファ
イル10をアクセスするレジスタ操作機構である。この
レジスタ操作機構40は、命令レジスタ30に保持され
た命令を解読するデコード機構(図示せず)の一部とし
て設けられたものであっても、デコード機構から独立に
設けられたものであっても構わない。
【0014】レジスタ操作機構40は、レジスタ書込み
検出・操作機構41およびレジスタ読出し操作機構42
を有している。レジスタ書込み検出・操作機構41は、
レジスタファイル10内の汎用レジスタへの書込み操作
を行う機能に加え、通常の汎用レジスタ書込み命令で特
定汎用レジスタへの書込みが指定されている場合にこれ
を検出し、その特定汎用レジスタへの書込みを禁止(防
止)する機能を持つ。一方、レジスタ読出し操作機構4
2は、汎用レジスタ読出し命令に従ってレジスタファイ
ル10内の指定レジスタからの読出しを行う機能を持
つ。
【0015】50はレジスタファイル10内のいずれの
汎用レジスタを特定汎用レジスタとするかをレジスタ書
込み検出・操作機構41に対して指定(通知)するため
の特定汎用レジスタ指定/解除機構である。この特定汎
用レジスタ指定/解除機構50は、特定汎用レジスタ指
定の解除をも司る。
【0016】次に、図1の構成の動作を、図2のフロー
チャートを参照して説明する。まず、特定汎用レジスタ
指定/解除機構50からレジスタ操作機構40内のレジ
スタ書込み検出・操作機構41に対し、レジスタファイ
ル10内の汎用レジスタ11を特定汎用レジスタとする
ことが、例えばシステム立上げ時に指定されているもの
とする。なお、特定汎用レジスタとして指定される汎用
レジスタの数は1つに限らない。
【0017】このような状態で、メモリ20から特定汎
用レジスタ書込み命令21あるいは通常の汎用レジスタ
書込み命令22が読出され、命令レジスタ30に保持さ
れたものとする。命令レジスタ30に保持された命令
が、上記のように特定汎用レジスタ書込み命令21ある
いは通常の汎用レジスタ書込み命令22といったレジス
タ書込み命令の場合、レジスタ操作機構40内のレジス
タ書込み検出・操作機構41が起動される。
【0018】レジスタ書込み検出・操作機構41は、命
令レジスタ30に保持されたレジスタ書込み命令の指定
する書込み対象レジスタが、特定汎用レジスタ指定/解
除機構50によって特定汎用レジスタとして指定された
汎用レジスタ(ここでは汎用レジスタ11)であるか否
かをチェックする(ステップS1)。
【0019】もし、書込み対象レジスタが特定汎用レジ
スタであるならば、レジスタ書込み検出・操作機構41
は、該当するレジスタ書込み命令が特定汎用レジスタ書
込み命令であるか否かをチェックし(ステップS2)、
特定汎用レジスタ書込み命令であれば同命令で指定され
た特定の汎用レジスタへの書込みを実行する(ステップ
S3)。
【0020】これに対し、特定汎用レジスタを書込み対
象レジスタとして指定した汎用レジスタ書込み命令が特
定汎用レジスタ書込み命令でなければ、即ち通常の汎用
レジスタ書込み命令であるならば、レジスタ書込み検出
・操作機構41は、特定汎用レジスタが誤って書込み先
として指定されたものと判断し、指定レジスタ(特定汎
用レジスタ)への書込みをキャンセルする(ステップS
4)。
【0021】したがって、例えば特定の汎用レジスタ1
1を書込み先として指定する特定汎用レジスタ書込み命
令21が命令レジスタ30にフェッチされた場合には、
その特定汎用レジスタ11への書込み操作が行われるこ
とになる。これに対し、通常の汎用レジスタ書込み命令
22が命令レジスタ30にフェッチされ、しかも同命令
22の指定する書込み先が例えば特定汎用レジスタ11
であった場合には、その旨がレジスタ書込み検出・操作
機構41によって検出され、同命令22の指定する汎用
レジスタ書込みがキャンセルされる。
【0022】一方、命令レジスタ30に保持されたレジ
スタ書込み命令の指定する書込み対象レジスタが特定汎
用レジスタでないならば、レジスタ書込み検出・操作機
構41はステップS1からステップS5に進み、その指
定レジスタへの書込みを実行する。したがって、通常の
汎用レジスタ書込み命令21であっても、特定汎用レジ
スタ(汎用レジスタ11)以外の汎用レジスタを書込み
先として指定している限りは、指定の汎用レジスタへの
書込みが行われる。
【0023】このように本実施例によれば、通常の汎用
レジスタ書込み命令を用いて特定汎用レジスタへの書込
みを行おうとした場合には、その書込みがレジスタ書込
み検出・操作機構41によって防止される。
【0024】このため、一般のロード,リストア,ポッ
プなどにおけるメモリ(スタック)から汎用レジスタへ
の値(レジスタ値)の書戻しや、演算結果の汎用レジス
タへの書込みなどによって、特定汎用レジスタ(汎用レ
ジスタ11)の値が書換えられ虞はなくなる。したがっ
て、特定汎用レジスタに格納されたシステム全体に関係
するような特定の情報が、プロセス切換えや、OSの処
理などによって破壊されることはない。
【0025】なお、特定汎用レジスタ指定/解除機構5
0は、汎用レジスタ11を特定汎用レジスタとして指定
する他、その指定内容を解除することもできる。また、
汎用レジスタ11以外のレジスタファイル10内の汎用
レジスタを特定汎用レジスタとして指定することもでき
る。
【0026】次に、メモリ20から命令レジスタ30に
汎用レジスタ読出し命令23がフエッチされた場合につ
いて説明する。この場合、レジスタ読出し操作機構42
が起動され、汎用レジスタ読出し命令23の指定する汎
用レジスタからのレジスタ値読出しが、特定汎用レジス
タであるか否かに無関係に行われる。したがって、汎用
レジスタ読出し命令23によって特定の汎用レジスタ1
1が読出し対象レジスタとして指定されていた場合で
も、この特定汎用レジスタ11の値を読出すことができ
る。即ち本実施例では、特定汎用レジスタの読出し(特
定情報の読出し)には通常(従来と同様)の汎用レジス
タ読出し命令をそのまま用いることができ、特定汎用レ
ジスタ読出しのためのオーバヘッドや、ハードウェア,
ファームウェアの設計量の増加はない。
【0027】
【発明の効果】以上詳述したようにこの発明によれば、
汎用レジスタ群中の特定の汎用レジスタへの書込みにつ
いては特定のレジスタ書込み命令による場合だけ許可
し、特定レジスタ書込み命令以外のレジスタ書込み命令
による特定汎用レジスタの保持内容の変更を防ぐように
したので、システム全体に関係するような特定の情報の
格納先として汎用レジスタ群中の特定の汎用レジスタを
用いることが可能となり、これにより次のような効果を
得ることができる。
【0028】(1)タスク共有のメモリ空間へのアクセ
スを必要とする従来方式(タスク共有のメモリ空間上に
特定情報を配置する従来方式)と異なり、特定情報のロ
ード,ストアによるオーバヘッドが削減でき、処理の高
速化が図れる。 (2)特殊レジスタに特定情報を保持する別の従来方式
と比較して、ハードウェア,ファームウェアの設計量を
低減することができる。
【0029】(3)特定汎用レジスタ読出し(特定情報
読出し)に通常の汎用レジスタ読出し命令がそのまま使
用でき、そのためのオーバヘッドや、ハードウェア,フ
ァームウェアの設計量の増加はない。
【図面の簡単な説明】
【図1】この発明を適用する計算機システムの一実施例
を示す要部の機能ブロック構成図。
【図2】同実施例における汎用レジスタ書込み処理を説
明するためのフローチャート。
【符号の説明】
10…レジスタファイル、11…汎用レジスタ(特定汎
用レジスタ)、20…メモリ、21…特定汎用レジスタ
書込み命令、22…(通常の)汎用レジスタ書込み命
令、23…汎用レジスタ読出し命令、30…命令レジス
タ、40…レジスタ操作機構、41…レジスタ書込み検
出・操作機構、42…レジスタ読出し操作機構、50…
特定汎用レジスタ指定/解除機構。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】汎用レジスタ群を備えた計算機システムに
    おいて、 特定の情報を保持するために前記汎用レジスタ群中の特
    定の汎用レジスタを割当て、前記汎用レジスタ群のうち
    前記特定汎用レジスタへの書込みについては特定のレジ
    スタ書込み命令による場合だけ許可するようにし、前記
    特定レジスタ書込み命令以外のレジスタ書込み命令によ
    る前記特定汎用レジスタの保持内容の変更を防ぐように
    したことを特徴とする汎用レジスタへの書込みプロテク
    ト方式。
JP3286606A 1991-10-31 1991-10-31 汎用レジスタへの書込みプロテクト方式 Pending JPH05127895A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3286606A JPH05127895A (ja) 1991-10-31 1991-10-31 汎用レジスタへの書込みプロテクト方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3286606A JPH05127895A (ja) 1991-10-31 1991-10-31 汎用レジスタへの書込みプロテクト方式

Publications (1)

Publication Number Publication Date
JPH05127895A true JPH05127895A (ja) 1993-05-25

Family

ID=17706594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3286606A Pending JPH05127895A (ja) 1991-10-31 1991-10-31 汎用レジスタへの書込みプロテクト方式

Country Status (1)

Country Link
JP (1) JPH05127895A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104999A (ja) * 1993-10-07 1995-04-21 Nec Corp マイクロコンピュータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104999A (ja) * 1993-10-07 1995-04-21 Nec Corp マイクロコンピュータ

Similar Documents

Publication Publication Date Title
US5950221A (en) Variably-sized kernel memory stacks
US20050240701A1 (en) Interrupt control apparatus
US5701493A (en) Exception handling method and apparatus in data processing systems
US5675725A (en) Computer backup system operable with open files
US5634046A (en) General purpose use of a stack pointer register
US20070266209A1 (en) Adapting RCU for Real-Time Operating System Usage
US20160063242A1 (en) Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains
JPH0619798A (ja) セレクタの値のロードを回避する方法とシステム
US5873124A (en) Virtual memory scratch pages
US6038631A (en) Data processing system and method using virtual storage system
US20040243986A1 (en) Interpreter and native code execution method
US7680999B1 (en) Privilege promotion based on check of previous privilege level
JP2850808B2 (ja) データ処理装置およびデータ処理方法
JP4275451B2 (ja) 不正メモリアクセス検知方法及びそのプログラム
JPH05127895A (ja) 汎用レジスタへの書込みプロテクト方式
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
WO1990005951A1 (en) Method of handling unintended software interrupt exceptions
KR100928865B1 (ko) 컴퓨터 시스템에서의 스택 확장 및 보호 방법과 그 장치
US7269830B2 (en) Methods and hardware for safe memory allocation in arbitrary program environments
JPS62232054A (ja) スタツクフレ−ム記述子の管理方式
JPH0212443A (ja) 二重化処理装置
GB2324179A (en) Preventing access to a hard disc in a computer on booting-up from a floppy disc
AU695339C (en) Computer backup system operable with open files
JP2933569B2 (ja) 中央演算処理装置
JPS62154166A (ja) マイクロコンピユ−タ