JPH0585925B2 - - Google Patents

Info

Publication number
JPH0585925B2
JPH0585925B2 JP21084883A JP21084883A JPH0585925B2 JP H0585925 B2 JPH0585925 B2 JP H0585925B2 JP 21084883 A JP21084883 A JP 21084883A JP 21084883 A JP21084883 A JP 21084883A JP H0585925 B2 JPH0585925 B2 JP H0585925B2
Authority
JP
Japan
Prior art keywords
instruction
access
area
address
register
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 - Lifetime
Application number
JP21084883A
Other languages
English (en)
Other versions
JPS60105043A (ja
Inventor
Kenichi Wada
Osamu Onodera
Kazunori Kuryama
Akira Yamaoka
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP21084883A priority Critical patent/JPS60105043A/ja
Publication of JPS60105043A publication Critical patent/JPS60105043A/ja
Publication of JPH0585925B2 publication Critical patent/JPH0585925B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、情報処理方式に関し、特に主メモリ
のハードウエア領域とソフトウエア領域に分割
し、ハードウエア領域には特定の命令が要求する
複雑な処理を実行する命令列を格納した装置にお
ける情報処理方式に関するものである。
〔発明の背景〕
従来のマイクロプログラム制御の情報処理装置
においては、命令は固定論理回路または制御記憶
装置に格納されているマイクロプログラムにより
処理されている。命令には、非常に使用頻度の低
い命令や、非常に複雑多岐にわたる処理により実
行される命令等があるが、これらの命令を従来の
マイクロプログラム制御の情報処理装置で実行し
ようとすると、固定論理回路が非常に複雑になつ
たり、あるいはマイクロプログラムが増大したり
する。また、上記のような情報処理装置において
は、新しい命令を追加することがきわめて困難で
ある。
そこで、上記の欠点を改善するため、主記憶の
一部に複数種類の命令列をあらかじめ格納してお
き、演算装置が特定の命令(以下では複合命令と
も呼ぶ)を実行する際に、または特定の事象が生
起した際に対応する命令列(以下では命令実行手
順とも呼ぶ)を実行するような情報処理装置が提
案された(特開昭56−21237号、特開昭56−
124952号各公報参照)。上記の命令実行手順は主
記憶のハードウエア領域に格納され、オペレーテ
イング・システムから見ることのできるプログラ
ムは、ソフトウエア領域と呼ばれる領域に格納さ
れる。
このような装置では、上記ハードウエア領域の
命令実行手順内の主記憶装置をアクセスする命令
として、ソフトウエア領域をアクセスする命令、
ハードウエア領域をアクセスする命令を使用でき
なければならない。しかも、ソフトウエア領域に
アクセスする命令の場合には、上記命令実行手順
の命令列に制御が渡る直前のプログラム状態語
(PSW)が指定する、主記憶アクセスに関する動
作モード(例えば、アドレス変換をするか否かを
指定するモード)にしたがつて、主記憶アクセス
を行う必要がある。またハードウエア領域にアク
セスする命令場合には、実アドレスで行うととも
に、記憶保護を禁止する必要がある。
このため、上記従来の情報処理装置において
は、主記憶へのアクセスに2種類のアクセス・モ
ードを設け、第1のアクセス・モードでは、主記
憶のアクセスを実アドレスで行うとともに記憶保
護を禁止し、第2のアクセス・モードでは、いず
れかの命令実行手順に制御が渡る割込みが起る直
前のプログラ状態語内の主記憶アクセスに関する
動作モードにしたがつて、主記憶にアクセスを行
つている。このためには、上記命令列中の命令に
よる主記憶装置へのアクセスが、ソフトウエア領
域へのアクセスであるか、あるいはハードウエア
領域へのアクセスであるかを指定する必要があ
る。そのため、上記従来の装置では、命令実行手
順でこれを指定する方法として、オペランド・ア
ドレスの指定の一部を使つて指定している。例え
ば、上記の情報処理装置の場合には、ベース・レ
ジスタ内のビツト0の位置にあるモードビツトを
用いていた。しかし、この指定方法では、オペラ
ンド・アドレス情報の1ビツトをアドレス以外の
指定に使用するため、オペランド・アドレスの指
定範囲が狭くなるとい欠点がある。さらに、この
方法では、各ベース・レジスタには、ビツト0の
位置へのモードビツトとそれ以外のビツト位置へ
のアドレス情報とをマージして、格納しなければ
ならず、そのために余分の命令を実行しなければ
ならず、それだけ処理速度が遅くなる。
さらに、上記従来の情報処理装置で問題となる
ことは、記憶保護が不十分であることである。す
なわち、以上の説明から分かる通り、ハードウエ
ア領域とハードウエア領域へのアクセスの方法が
異なるので、ソフトウエア領域へアクセスすべき
命令がソフトウエア領域をアクセスしたりあるい
はこの逆のことが生じた場合、その命令の実行結
果は、主記憶装置の不適切な内容の読み出し、あ
るいはその内容の破壊など不適切な結果をもたら
す。しかし、この従来技術では、第1のアクセ
ス・モードは、ハードウエア領域にアクセスする
命令の実行時に使用されるモードであるが、その
命令が誤つてソフトウエア領域にもアクセスしよ
うとした場合、このアクセスを防止できない。ま
た、第2のアクセス・モードは、ソフトウエア領
域にアクセスする命令の実行時に使用されるモー
ドであるが、この命令が誤つて、ハードウエア領
域をアクセスしようとした場合、これを禁止する
ことができない。
さらに、上述の公報には、ハードウエアの領域
の命令実行手順が使用するオペランド・アドレス
の指定方法について、何も開示されていない。
〔発明の目的〕
本発明の目的は、このような従来の欠点を除去
し、主メモリのハードウエア領域に特足の命令を
処理するための命令列が格納され、ソフトウエア
領域にはプログラムが格納されている情報処理装
置において、いずれの領域へのアクセスかのモー
ドの指定をより簡単にできる情報処理装置を提供
することにある。
〔発明の概要〕
上記目的を達成するため、本発明の情報処理装
置は、上記命令列の中の主記憶アクセス命令の実
行時に、ベースフイールドの値にしたがつて第1
または第2のアクセス・モードを選択し、上記第
1のアクセス・モードでは、実アドレスでアクセ
スし、かつ、記憶保護を禁止するとともに、上記
第2のアクセス・モードでは、上記命令実行手順
の列に制御が渡る割込みの直前のプログラム状態
語のモードにしたがつてアクセスするとともに、
ハードウエア領域へのアクセスを禁止することに
特徴がある。
さらに、ソフトウエア領域にアクセスすべき命
令の場合に、その命令が誤つてハードウエア領域
にアクセスしたときには、アクセス例外として処
理し、ハードウエア領域をアクセスすべき命令の
場合、その命令が誤つてソフトウエア領域にアク
セスするときには、アクセス例外として処理する
ことにより保護機構を高めることができる。
〔発明の実施例〕
以下、本発明の実施例を、図面により説明す
る。
第1図は、本発明の実施例に適用される主記憶
装置の分割された領域の説明図である。
第1図に示すように、主記憶装置はハードウエ
ア領域(HA)とソフトウエア領域(SA)とに
分割されている。ハードウエア領域(HA)に
は、固定領域(HPXA)が設けられ、同じよう
にソフトウエア領域(SA)にも固定領域
(SPXA)が設けられており、これらはいずれも
プリフイクス領域である。ハードウエア領域に
は、ソフトウエア領域に格納されている特定の命
令を処理するための命令列や、特定の事象が生起
したときに行うべき処理のための命令列等が格納
されている。固定領域(HPXA)および固定領
域(SPXA)には、それぞれ新PSW(Program
Status Woard)と旧PSWが格納される。境界ア
ドレス(BADR)は、ハードウエア領域(HA)
とソフトウエア領域(SA)とを区分するアドレ
スである。
第2は、本実施例で用いる新設命令および公知
の命令の命令形式を示す図である。
これらの命令形式はIBM社のシステム/370の
データ処理システムで用いられている命令形式で
あるので、詳細はIBMマニユアルGA−7000
「IBM System/370 Principles of Operation」
参照されたい。
aはS形式とよばれ、16ビツトのオペレーシヨ
ンコード、ベースアドレスを記憶している1つの
汎用レジスタ(ベースレジスタとよぶ)の番号を
指定するB2フイールド(ベースフイールドとも
ろぶ)、およびこのベースアドレスに加算される
12ビツトの変位値を含む変位フイールドD2から
構成される。使用されるオペランド(主記憶に存
在する)はB2フイールドおよびD2フイールドの
内容により間接的に指定される。
cはRX形式とよばれ、8ビツトのオペレーシ
ヨンコード、1つのオペランドを記憶している汎
用レジスタを指定するR1フイールド、インデク
スアドレスを記憶している1つの汎用レジスタ
(インデツクスレジスタ)の番号を指定するX2フ
イールド、ベースアドレスを記憶している1つの
汎用レジスタ(ベースレジスタ)の番号を指定す
るB2フイールド(ベースフイールドとも呼ぶ)、
およびこのインデクスアドレスとベースアドレス
に加算される12ビツトの変位値を含む変位フイー
ルドD2から構成される。使用されるもう一方の
オペランド(主記憶に存在する)はX2フイール
ド、B2フイールドおよびD2フイールドの内容に
より間接的に指定される。
dはRS形式とよばれ、8ビツトのオペラレー
シヨンコード、1つのオペランドを記憶している
汎用レジスタを指定するR1、R3フイールド、ベ
ースアドレスを記憶している1つの汎用レジスタ
(ベースレジスタ)の番号を指定するB2フイール
ド(ベースフイールドとも呼ぶ)、およびこのベ
ースアドレスに加算される12ビツトの変位値を含
む変位フイールドD2から構成される。使用され
るもう一方のオペランド(主記憶に存在する)は
B2フイールドおよびD2フイールドの内容により
間接的に指定される。
eはST形式とよばれ、8ビツトのオペレーシ
ヨンコード、1つの8ビツトオペランドそのもの
を含む12フイールド、ベースアドレスを記憶して
いる1つの汎用レジスタ(ベースレジスタ)の番
号を指定するB1フイールドおよびこのベースア
ドレスに加算される12ビツトの変位値を含む変位
フイールドD1から構成される。使用さ使用され
るもう一方のオペランド(主記憶に存在す)は
B1フイールドおよびD1フイールドの内容により
間接的に指定される。
fへSS形式とよばれ、8ビツトのオペレーシ
ヨンコード、オペランド長を指定するLフイール
ド、1つのベースアドレスを記憶している汎用レ
ジスタ(ベースレジスタ)の番号を指定するB1
フイールド、およびこのベースアドレスに加算さ
れる12ビツトの偏位値を含む変位フイールドD1、
もう一方のベースアドレスを記憶している汎用レ
ジスタ(ベースレジスタ)の番号を指定するB2
フイールド、およびこのベースアドレスに加算さ
れる12ビツトの変位値を含む変位フイールドD2
から構成される。使用される1つのオペランド
(主記憶に存在する)はB1フイールドおよびD1
フイールドの内容により間接的に指定され、もう
1つのオペランド(主記憶に存在する)はB2フ
イールドおよびD2フイールドの内容により間接
的に指定される。
第2図a,c〜fで主記憶アクセスを行なう場
合、必ずベースフイールド(B1フイールドまた
はB2フイールド)の指定を伴うことに注意され
たい。
bは本実施例で用いる新設命令のEPD命令の
命令形式を示す。新設命令は、ハードウエア領域
の命令としてのみ実行され、ハードウエア領域内
の上記命令列を実行中であるという動作モード
(以下、マクロモードと呼ぶ)を、その命令列の
実行終了時にリセツトするためのエンドマクロモ
ード(EMD)命令である。
EMD命令はオペランド指定フイールドを有し
ない。
第3図は、特定の複合命令を検出したときの動
作説明図、第4図は本実施例の一実施例を示す情
報処理装置の全体ブロツク図、第5図は第4図の
先行制御ユニツトの詳細ブロツク図、第6図は第
5図のアドレス生成手段の詳細ブロツク図、第7
図、第8図は、それぞれ第5図のメモリ・アクセ
ス制御手段および第4図の記憶制御ユニツトのメ
モリ・アクセス制御回路の詳細図である。
第3図においては、主記憶装置とPSWレジス
タと汎用レジスタ12が示されており、主記憶装
置は第1図から明らかなように、境界アドレス
(BADR)の上方にソフトウエア領域(SA)、下
方にハードウエア領域(HA)を有している。ソ
フトウエア領域(SA)の一部には、複合命令が
格納され、ハードウエア領域(HA)の固定領域
(HPXA)にはアドレスが28番の8バイトの大き
さの旧PSW退避領域、アドレスが68番の8バイ
トの大きさの新PSW格納領域があり、その他の
領域には命令実行手順が格納されている。
第4図の実施例では、情報処理装置は演算ユニ
ツト7、先行制御ユニツト4、記憶制御ユニツト
5および入出力装置6から構成され、記憶制御ユ
ニツト5には主記憶装置が、入出力装置6には入
出力コントローラがそれぞれ含まれている。
第4図の先行制御ユニツト4は、第5図に示す
ように、命令バツフア30、命令レジスタ31、
命令キユー32、デコーダ33、汎用レジスタ群
34、アドレス生成手段35、メモリ・アクセス
制御手段36、および境界アドレス・レジスタ3
7を具備している。
演算ユニツト7内には、上記汎用レジスタ群3
4に対応する他の汎用レジスタ群(図示せず)が
含まれている。この、他の汎用レジスタ群は基本
的には、汎用レジスタ群34のデータと同値を有
するレジスタからなる。
ソフトウエア領域(SA)のプログラムは、第
4図の記憶制御ユニツト5から読み出され、線1
15を経由して先行制御ユニツト4に送られる。
先行制御ユニツト4では、第5図に示すように、
線115を介して送られたプログラムが命令バツ
フア30にセツトされ、1命令ずつ切り出されて
命令レジスタ31に保持される。命令レジスタ3
1に保持された命令のOPコード・フイールドは
デコーダ33によりデコーダされる。この命令
が、主記憶装置をアクセスする命令の場合、この
命令のインデツクス・フイールドは線301を経
由して汎用レジスタ群34に送られそのフイール
ドで指定される番号のインデツクスレジスタから
読み出されたインデツクスアドレスが線121を
経由してアドレス生成手段35に送出される。
また、命令のベース・フイールドは、線302
を経由して汎用レジスタ群34に送られ、そのフ
イールドで指定される番号のベースレジスタから
読み出されたベースアドレスが線120を経由し
てアドレス生成手段35に送出され、さらに命令
のデイスプレースメント・フイールドが線303
を経由して直接、アドレス生成手段35に送出さ
れる。
アドレス生成手段35では、線120を経由し
て送られたベースアドレスが、第6図に示すよう
に、アンド・ゲートA、ベース入力レジスタ2を
経て3入力加算器1の入力端子に送出される。一
方、線121を経由して送られたインデツクスア
ドレスは、インデツクス入力レジスタ3を経て3
入力加算器1の他方の入力端子に、また線303
を経由して送られたデイスプレーメント(D)は
3入力加算器1の残りの入力端子に、それぞれ送
出される。そして、3入力加算器1でアドレス計
算を行つて、オペランド・アドレスを生成し、そ
の結果を線110を経由して記憶制御ユニツト5
に送出する。記憶制御ユニツト5では、線110
のアドレスを用いて主記憶装置よりオペランドを
読み出し、線205を介して演算ユニツト7に送
出する。
命令レジスタ31に保持された命令は、デコー
ダ33でデコードされ、デコード結果が線201
を経由してメモリ・アクセス制御手段36に送ら
れる。また、この命令のベースフイールドでの指
定されるベースレジスタ番号の上位1ビツトが線
202を経由してメモリアクセス制御手段36に
送られる。メモリ・アクセス制御手段36では、
後述するように、線203を経由してHAアクセ
ス信号を記憶制御ユニツト5に送出する。記憶制
御ユニツト5では、線203とアドレス線110
の信号を用いてアドレス例外か否かを判定し、ア
ドレス例外信号を線204を経由して演算ユニツ
ト7に送出する。
命令レジスタ31に保持された命令は、命令キ
ユー32にセツトされ、定められた時刻に線30
0経由で演算ユニツト7に送られる。演算ユニツ
ト7では、線300から送られてきた命令が演算
に用いるオペランドを保持する汎用レジスタを指
定する命令の場合、すなわち、前述のR1フイー
ルドを有する場合、演算ユニツト7内にある他の
汎用レジスタ群内のそのR1フイールドで指定さ
れた番号の汎用レジスタの内容を読み出す。記憶
制御ユニツト5から送られたオペランドと上記他
の汎用レジスタ群から読み出されたオペランドに
対して、演算ユニツト7で演算し、その結果を線
310経由で先行制御ユニツト4に送り、汎用レ
ジスタ群34内のその番号のレジスタに書き込
む。また、演算ユニツト7内の対応する汎用レジ
スタ(図示せず)にも、その結果を書き込む。
本実施例の特徴は、アドレス生成手段35、メ
モリ・アクセス制御手段36、および記憶制御ユ
ニツト5内の各メモリ・アクセス制御回路にあ
る。
第7図はメモリ・アクセス制御手段36内のメ
モリ・アクセス制御回路を示しており、第8図は
記憶制御ユニツト5内のメモリ・アクセス制御回
路を示している。
次に、これらのメモリ・アクセス制御回路の動
作を説明する。
ソフトウエア領域(SA)のプログラムを実行
しているときに、そのプログラム中に特定の複合
命令が存在する場合、その複合命令も同じように
読み出され、線120を経由して命令レジスタ3
1に保持される。複合命令は、その後、命令キユ
ー32にセツトされてから、線300を経由して
演算ユニツト7に送出される。演算ユニツト7で
は、複合命令の演算の実行結果として、割込み信
号、およびマクロモード・セツト信号の“1”を
それぞれ線101、線200に送出する。先行制
御ユニツト4のメモリ・アクセス制御手段36で
は、第7図に示すように、線200を介して送ら
れた信号によりマクロモード・フリツプ・フロツ
プ10をセツトし、マクロモード信号線100を
“1”にする。
次に、第6図のアドレス生成手段35では、定
数“28”がインデツクス入力レジスタ3に入力さ
れる。また、マクロモード信号線100が“1”、
割込み信号線101が“1”になるので、境界ア
ドレスの内容が線122経由でベース入力レジス
タ2にセツトされる。第5図の境界アドレス・レ
ジスタ37には、システムの初期状態セツト動作
により、例えばスキヤン・インによつて値がセツ
トされている。そして、ベース入力レジスタ2お
よびインデツクス入力レジスタ3の内容は第6図
の3入力加算器1で加算され、その加算結果が記
憶制御ユニツト(Sユニツト)5に送られる。3
入力加算器1から出力される加算結果は、固定領
域(HPXA)の中のプログラム割込みに対する
旧PSWのアドレスを示しており、記憶制御ユニ
ツト5の制御によつて現PSWが旧PSW領域にセ
ツトされる。(第3図のの参照)。次に、定数
“68”がインデツクス入力レジスタ3に入力され
ると、同じようにしてベース入力レジスタ2の内
容とインデツクス入力レジスタ3の内容が3入力
加算器1により加算される。この加算結果は、固
定領域(HPXA)の新PSWのアドレスを示して
おり、これによつて現PSWレジスタに割り込み
処理用の、今の例では、この特定命令に対する、
ハードウエア領域内の特定の命令列を実行するた
めの新PSWがセツトされる(第3図の参照)。
置換前の現PSWと置換後の現PSWとは命令ア
ドレスを異にするが、記憶保護キーやモード・ビ
ツト等のその他の部分はほぼ同じである。
次に定数“00”がインデツクス入力レジスタ3
に入力され、同じようにしてベース・レジスタ2
の内容とインデツクス入力レジスタ3の内容が、
3入力加算器1により加算される。この加算結果
は、固定領域(HPXA)の退避エリアを示して
おり、これにより汎用レジスタ12が退避エリア
退避される(第3図の参照)。
次に、境界アドレスが読み込まれ、汎用レジス
タ12に格納される(第3図の参照)。
その後、この特定命令に対応する命令列がハー
ドウエア領域(HA)から読出されて実行され
る。この命令列では、汎用レジスタ12をベー
ス・レジスタとして用いることができる。
つの命令列の実行が終了すると、第2図dに示
すEMD命令が実行されるようになつている。こ
の命令により固定領域(HPXA)の旧PSWが現
PSWにセツトされる(第3図の参照)。EMD
命令が命令レジスタ31に保持されるとデコーダ
33により認識され、リターン信号の“1”が線
201に出力される。この結果、第7図のメモ
リ・アクセス制御手段36のフリツプ・フリツプ
10がリセツトされるので、マクロモード信号線
100が“0”になる。このようにして、ソフト
ウエア領域(SA)内の特定の複合命令に対応す
るハードウエア領域(HA)内の命令列の実行が
終了する。
以上の説明は、特定の複合命令が検出されたと
き、割込みによつてハードウエア領域(HA)内
の対応する命令列が実行される例であつたが、特
定の事象が検出された場合においてもハードウエ
ア領域(HA)内の対応する命令列が実行され
る。
ハードウエア領域(HA)内の命令列の実行に
おいては、マクロモード信号線100は“1”で
あるが、EMD命令を除いては線101は“0”
であるので、ベースレジスタの内容が線120を
介してベース入力レジスタ2に入力される。
このように、ハードウエア領域(HA)内の命
令列の実行時においては、マクロモード信号線1
00は“1”である。
ベースフイールドの上位1ビツトが線202を
経由してメモリアクセス制御手段36に送られ
る。
ベースフイールドは第2図で示したように4ビ
ツトより構成されている。線202が“1”、即
ちベースフイールドの値が8〜15の場合、第7図
の回路によりHAアクセス信号線203は“1”
となる。
HAアクセス信号線203が“1”のとき、ア
ドレス情報であり、記憶保護は禁止される。
第8図のメモリ・アクセス制御回路において、
アドレス・レジスタ20の内容が境界アドレス2
1の内容以内にある場合には、比較器22の比較
結果として〔アドレス<境界アドレス〕が出力さ
れ、アドレス例外条件が発生するので、オペレー
テイング・システムに通知される。このことは、
ベースフイールドに8〜15な指定した命令がハー
ドウエア領域(HA)内の命令列として実行され
る場合、ソフトウエア領域(SA)をアクセスす
ることを禁止し、ハードウエア領域(HA)のみ
にアクセスできることを示している。
線202が“0”、即ちベースフイールドの値
が0〜7の場合、第7の回路によりHAアクセス
信号線203は“0”となる。HAアクセス信号
線203が“0”の場合、そのアドレス情報が実
アドレス情報であるか、あるいは論理アドレスで
あるかは現PSWに従うことを意味している。
第8図のメモリ・アクセス制御回路において、
HAアクセス信号線203が“0”の場合、アド
レス・レジスタ20の内容が境界アドレス21の
内容を越えると、比較器22の出力として〔アド
レス>境界レジスタ〕が出力され、アドレス例外
の発生がオペレーテイング・システムに通知され
る。このことは、ベースフイールドに0〜7を指
定した命令がハードウエア領域(HA)内の命令
列として実行される場合、ソフトウエア領域
(SA)をアクセスでき、ハードウエア領域
(HA)のアクセスが禁止されることを示してい
る。
ソフトウエア領域(SA)の命令を実行してい
る場合は、上述のように、マクロモード信号線1
00は“0”となつているので、第7図の回路に
おいて、HAアクセス信号線203は“0”とな
る。HAアクセス信号線203が“0”の場合の
動作は、上述の説明の通りである。
HAアクセス信号線203が“0”のときで
も、または“1”のときでも、アクセス・アドレ
スが主記憶装置の最大容量を越えた場合には、ア
ドレス例外条件の発生がオペレーテイング・シス
テムに通知される。
以上のように、ハードウエア領域(HA)の命
令実行手順の主記憶アクセスは、HAアクセス信
号線203によつて制御され、HAアクセス信号
が“0”の場合には、現PSWにしたがつて主記
憶アクセスが行われ、ソフトウエア領域(SA)
へのアクセスは許されるが、ハードウエア領域
(HA)へのアクセスは禁止される。これに対し
て、HAアクセス信号が“1”の場合には、実ア
ドレスとして主記憶アクセスが行われ、ハードウ
エア領域(HA)へのアクセスは許されるが、ソ
フトウエア領域(SA)へのアクセスは禁止され
る。これより、それぞれの領域へのアクセスに対
して定めたアクセス方法以外の方法でのアクセス
を禁止することができ、不当なアクセスによる不
適切なメモリデータの読み出しあるいは破壊等を
防止できる。また、HAアクセス信号が“0”か
“1”かは、ベースフイールドにしたがつて規定
されるので、オペランド・アドレスの指定範囲を
狭くするものではない。また、ハードウエア領域
をアクセスするか、ソフトウエア領域をアクセス
するかがベースレジスタ番号により決まるので、
プログラム作成が容易であり、従来技術で述べた
ようなマージ処理も不要である。さらに、同一の
種類の命令でもベースフイールドの値をかえるこ
とによつて、ソフトウエア領域(SA)およびハ
ードウエア領域(HA)の両方をアクセスでき
る。
ハードウエア領域(HA)内の一連の命令実行
手順の列は、ソフトウエア領域の1個の特定の複
合命令に対応するものである。この一連の命令実
行手順の列を、1個の複合命令と同一の取扱いに
するため、この一連の命令実行手順の実行中は、
ハードマシン・チエツクおよびプログラム割込み
以外の割込みを禁止する。特定の事象に対応する
命令実行手順の列を実行している場合において
も、同じようにハードマシン・チエツクおよびプ
ログラム割込み以外の割込みを禁止する。
〔発明の効果〕
以上説明したように、本実施例によれば、ハー
ドウエア領域へアクセスするか、ソフトウエア領
域にアクセスするかを、オペランドアドレスの算
出のために命令が指定するレジスタの番号で指定
できるので、きわめて簡単に指定でき、かつオペ
ランド・アドレスの指定範囲を狭くすることがな
い。さらに、ソフトウエア領域にアクセスする場
合には、ソフトウエア領域へのアクセスを禁止
し、またソフトウエア領域にアクセスする場合に
は、ハードウエア領域へのアクセスを禁止するの
で、従来に比べ改善された保護機構を具備するこ
とができる。さらに、ベース・レジスタとして汎
用レジスタ12を指定することによりハードウエ
ア領域(HA)上のオペランド・アドレスを容易
に指示でき、その場合に特別なハードウエアの追
加は下要である。そして、新しい命令を簡単に追
加できるとともに、固定論理回路を複雑にするこ
とがなく、またマイクロプログラムを増大するこ
となく、複雑多岐にわたる処理によつて実行され
る命令や、使用頻度の小さい命令を実行すること
ができる。
【図面の簡単な説明】
第1図は本発明の実施例に適用される主記憶装
置の分割された領域の説明図、第2図は実施例で
用いる新設命令の命令形式を示す図、第3図は特
定の複合命令を検出したときの動作説明図、第4
図は実施例を示す情報処理装置の全体ブロツク
図、第5図は第4図の先行制御ユニツトの詳細ブ
ロツク図、第6図は第5図のアドレス生成手段の
詳細ブロツク図、第7図はそれぞれメモリ・アク
セス制御手段内のメモリ・アクセス制御回路の詳
細図、第8図は記憶制御ユニツトのメモリ・アク
セス制御回路の詳細ブロツク図である。 1…3入力加算器、2…ベース・レジスタ、3
…インデツクス・レジスタ、4…先行制御ユニツ
ト、5…記憶制御ユニツト、6…入出力装置、7
…演算ユニツト、10…フリツプ・フロツプ。

Claims (1)

  1. 【特許請求の範囲】 1 主記憶装置のソフトウエア領域にはプログラ
    ムを、またハードウエア領域には、特定の命令を
    処理するときあるいは特定の事象が生起したとき
    に割込み処理として実行される命令列を、それぞ
    れ格納する情報処理装置において、上記命令列の
    中の該主記憶装置内のオペランドをアクセスする
    命令の実行時に、オペランドアドレスの計算に使
    用するレジスタの、該命令が指定する番号にした
    がつて第1または第2のアクセス・モードを選択
    し、上記第1のアクセス・モードが選択されたと
    きには、該レジスタの内容を用いて計算したオペ
    ランドアドレスを実アドレスとして該ハードウエ
    ア領域をアクセスするとともに、該主記憶装置に
    対する記憶保護を禁止し、上記第2のアクセス・
    モードが選択されたときには、上記命令列に制御
    が渡る割込みの直前のプログラム状態語が指定す
    る、該主記憶のアクセス動作に関するモードが指
    定する手順にしたがつて該オペランドアドレスを
    用いて該ソフトウエア領域をアクセスすることを
    特徴とする情報処理方式。 2 該第1のアクセス・モードでは、該オペラン
    ドアドレスが該ソフトウエア領域に属するときに
    は、そのアクセスを禁止し、該第2のアクセス・
    モードでは、該オペランドアドレスが該ハードウ
    エア領域に属するときには、そのアクセスを禁止
    する第1項の情報処理方式。
JP21084883A 1983-11-11 1983-11-11 情報処理方式 Granted JPS60105043A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21084883A JPS60105043A (ja) 1983-11-11 1983-11-11 情報処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21084883A JPS60105043A (ja) 1983-11-11 1983-11-11 情報処理方式

Publications (2)

Publication Number Publication Date
JPS60105043A JPS60105043A (ja) 1985-06-10
JPH0585925B2 true JPH0585925B2 (ja) 1993-12-09

Family

ID=16596106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21084883A Granted JPS60105043A (ja) 1983-11-11 1983-11-11 情報処理方式

Country Status (1)

Country Link
JP (1) JPS60105043A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62140158A (ja) * 1985-12-16 1987-06-23 Hitachi Ltd 情報処理装置
JPH03233630A (ja) * 1990-02-08 1991-10-17 Nec Corp 情報処理装置
JPH05108488A (ja) * 1991-10-16 1993-04-30 Fujitsu Ltd フアームウエアプログラム格納領域保護制御方法およびフアームウエアプログラム格納領域保護制御装置

Also Published As

Publication number Publication date
JPS60105043A (ja) 1985-06-10

Similar Documents

Publication Publication Date Title
US4347565A (en) Address control system for software simulation
US4715013A (en) Coprocessor instruction format
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
JPH06168179A (ja) 非同期コプロセッサによるデータ移動方法および装置
EP0248436B1 (en) Method of and apparatus for processing data
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JP3707581B2 (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
US5021991A (en) Coprocessor instruction format
EP0523758B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
JPH0585925B2 (ja)
JPS599937B2 (ja) 情報処理装置
US4994961A (en) Coprocessor instruction format
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0192843A (ja) データ処理装置
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JPS59172044A (ja) 命令制御方式
JP3140028B2 (ja) サブルーチンの引数の受け渡し方式
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0567973B2 (ja)
JPS63120336A (ja) メモリアクセスモ−ド切替え方式