【発明の詳細な説明】〔発明の技術分野〕本発明は、データ処理装置に係如、特に複数のプログラ
ムを異なった実行レベルで時分割処理することの出来る
データ処理装置に於いて、実行レベルの異なるプログラ
ムによる誤った記憶装置アクセスの検出及び防止を高速
に実行することの出来る記憶保護方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a data processing device, particularly a data processing device capable of time-sharing processing of a plurality of programs at different execution levels. The present invention relates to a storage protection method that can quickly detect and prevent erroneous access to a storage device by different programs.
第1図はデータ処理システムの1構成例を示す図である
。第1図において%01は制御記憶、02はマイクロコ
ード処理装置、03は主記憶装置、04は中央処理装置
、05と06はチャネル装置を示す。FIG. 1 is a diagram showing one configuration example of a data processing system. In FIG. 1, %01 is a control memory, 02 is a microcode processing unit, 03 is a main memory, 04 is a central processing unit, and 05 and 06 are channel units.
従来から多重処理の可能な計算機システムの中央処理装
置には、プログラムによる主記憶装置のアクセス例外を
検出する目的で、主記憶装置に対する記憶保護の機構が
採用されている。一般的に知られている方式の1つは、
プログラムに特定のアクセス・キーを保持させると共に
、主記憶装置の一定のアドレス範囲毎に同様のアクセス
・キーとそのアクセス・キーによって保護されるアクセ
スの種類を保持する手段とを設け、主記憶装置アクセス
時にアクセス・キーの比較によってアクセスの可否を決
定するものである。この方式によれば、汎用性に優れた
有用な手段が得られる。しかしながら、特定の用途用に
設計されたデータ処理装置、すなわち、汎用性を追求さ
れない装置であって、更に記憶装置アクセスに高速性を
要求される場合には、前記手段による方法は1回路の応
答特性、繁雑さ、及びコストの面で種々の欠点を有して
いる。BACKGROUND ART Conventionally, central processing units of computer systems capable of multiprocessing have adopted a memory protection mechanism for the main memory for the purpose of detecting access exceptions to the main memory by a program. One of the commonly known methods is
In addition to allowing a program to hold a specific access key, a means for holding a similar access key and the type of access protected by the access key for each fixed address range of the main storage is provided. At the time of access, access is determined by comparing access keys. According to this method, a useful means with excellent versatility can be obtained. However, in the case of a data processing device designed for a specific purpose, that is, a device for which general versatility is not pursued, and high-speed access to a storage device is required, the above-mentioned method requires only one circuit response. It has various drawbacks in terms of performance, complexity, and cost.
前記のような装置の応用の1例は、マイクロコードを用
いて第1図に示すようなデータ処理システムを構成する
場合におけるマイクロコード処理装置である。この場合
、第1図に示すデータ処理システムを構成するだめの中
央処理装置04.チャネル装置05,06.入出力制御
装置(図示せず)と云った各種機能部分を実現するため
のマイクロコードを同一のマイクロコード処理装置02
を用いて時分割で実行するように構成することがよく行
われる。マイクロコードは、マイクロコード処理装置0
2によって参照される制御記憶01に格納されるが、制
御記憶01のアクセス動作は、中央処理装置04による
主記憶装置03のアクセスに比較してはるかに高速な動
作特性を要求される。更に前記各種の機能部分を担当す
るマイクロコードがこの制御記憶01を制御データの一
時記憶領域として1例えばチャネル装置05はサブチャ
ネル格納領域として使用することが一般的である。この
場合、ある機能部分のマイクロコードの誤ったデータ格
納動作によって、制御記憶01上の意図しない部分1例
エバマイクロコードの格納されている領域を破壊するこ
とは絶対に回避しなければならない、何故ならば、制御
記憶01上のマイクロコードを失うことは、ハードウェ
ア中枢部分の固定故障と同等であり、データ処理システ
ム全体の機能を致命的に損うからである。このような事
例に於いて、制御記憶01のアクセスに対する有効なチ
ェック手段を具備することは、極めて重要な関心事であ
ると云える。One example of the application of such a device is a microcode processing device in the case where a data processing system as shown in FIG. 1 is configured using microcode. In this case, the central processing unit 04. which constitutes the data processing system shown in FIG. Channel devices 05, 06. Microcodes for realizing various functional parts such as an input/output control device (not shown) are processed by the same microcode processing device 02.
It is often used to configure the system to be executed in a time-sharing manner. Microcode is microcode processing device 0
The access operation of the control memory 01 requires much faster operation characteristics than the access of the main memory 03 by the central processing unit 04. Furthermore, microcodes in charge of the various functional parts generally use the control memory 01 as a temporary storage area for control data, and the channel device 05, for example, as a subchannel storage area. In this case, it is absolutely necessary to avoid destroying the area in which an unintended part of the control memory 01 is stored, such as the Eva microcode, due to an erroneous data storage operation of the microcode of a certain functional part. If so, the loss of the microcode in the control memory 01 is equivalent to a permanent failure of the central part of the hardware, and will fatally impair the functionality of the entire data processing system. In such cases, it can be said that having effective checking means for accessing the control store 01 is of extremely important concern.
本発明は、上記の考察に基づくものであって。The present invention is based on the above consideration.
時分割で実行される複数のプログラム毎にアクセス可能
な記憶装置の領域を設定出来る機能を設け。A function is provided that allows you to set an accessible area of the storage device for each of multiple programs that are executed in a time-sharing manner.
記憶装置アクセス時のアドレス値からアクセス動作の可
否を高速に判別することの出来る記憶保護方式を提供す
ることを目的とするものである。It is an object of the present invention to provide a storage protection method that can quickly determine whether or not an access operation is possible based on an address value when accessing a storage device.
そのために本発明の記憶保護方式は、命令とデータ若し
くはそのいずれかを格納するための記憶装置と、実行レ
ベルの異なる複数のプログラムを時分割で実行し得るデ
ータ処理装置とを備えたデータ処理システムに於いて、
前記記憶装置を複数ブロックに分割し、各ブロックに対
応した記憶保護フラグの集合からなる記憶保護レジスタ
を前記データ処理装置の有するプログラム実行レベル毎
に設け、前記データ処理装置が前記記憶装置へのアクセ
スを実行する際に、そのアクセス・アドレスから前記記
憶装置のブロック番号を算出し、処理中のプログラムの
実行レベルに対応する前記記憶保護レジスタ内の前記ブ
ロック番号に対応する記憶保護フラグの値により、前記
記憶装置アクセス動作の禁止又は許可の制御を行うこと
を特徴とするものである。To this end, the storage protection method of the present invention provides a data processing system that includes a storage device for storing instructions and/or data, and a data processing device that can execute multiple programs with different execution levels in a time-sharing manner. In the
The storage device is divided into a plurality of blocks, and a storage protection register consisting of a set of storage protection flags corresponding to each block is provided for each program execution level of the data processing device, so that the data processing device can access the storage device. When executing, calculate the block number of the storage device from the access address, and use the value of the storage protection flag corresponding to the block number in the storage protection register that corresponds to the execution level of the program being processed. The present invention is characterized in that prohibition or permission of the storage device access operation is controlled.
以下1本発明の実施例を図面を参照しつつ説明する。An embodiment of the present invention will be described below with reference to the drawings.
第2図は本発明の1実施例構成を示す図である。FIG. 2 is a diagram showing the configuration of one embodiment of the present invention.
第2図において、■はアドレス・レジスタ、1aはアド
レス・レジスタの上位ビット部分、2はデコード回路、
3はプログラム実行レベル決定回路。In FIG. 2, ■ is an address register, 1a is the upper bit part of the address register, 2 is a decoding circuit,
3 is a program execution level determination circuit.
4は実行レベル・レジスタ、5は記憶保護レジスタ、6
−Oないし6−15はアンド回路、7はオア回路を示す
。4 is the execution level register, 5 is the memory protection register, 6
-O to 6-15 represent an AND circuit, and 7 represents an OR circuit.
□本発明は、一般的なマイクロコード処理装置の一部を
成すものとして、第1図に示す回路によって以下に説明
するが、マイクロコード処理装置で本発明に直接関係し
ない部分については第2図に図示されていない、以下の
説明において、マイクロコード処理装置は、16にワー
ドの制御記憶を有しており1本発明による記憶保護機構
を実施するために、制御記憶は、各々IKワードからな
る16個のブロックに分割されるものとする。そして制
御記憶は、ワード単位にアクセスされ、読出し/書込み
が可能である。又、マイクロコード処理装置は、 A、
13. CとDの4レベルのプログラム実行レベルを持
っており、実行要求に従って各レベルのプログラムを時
分割で処理するものとする。□The present invention will be explained below using the circuit shown in FIG. 1 as a part of a general microcode processing device, but parts of the microcode processing device that are not directly related to the present invention will be explained as shown in FIG. In the following description, which is not shown in the drawings, the microcode processing device has a control memory of 16 words, each consisting of an IK word to implement the storage protection mechanism according to the invention. It is assumed that it is divided into 16 blocks. The control memory is accessed word by word and can be read/written. Also, the microcode processing device is A.
13. It is assumed that there are four program execution levels, C and D, and programs at each level are processed in a time-sharing manner according to execution requests.
第1図において、アドレス・レジスタ1は、制御記憶ア
クセス時のアドレスを保持するものであって、16にワ
ードの制御記憶をアクセスするため14ビツトから構成
される。アドレス・レジスタの上位ビット部分1aは、
アドレス・レジスタ1の上位側4ビツトよりなシ、アド
レス値に対応する制御記憶のブロックを決定する。すな
わち。In FIG. 1, address register 1 holds an address when accessing control memory, and is composed of 14 bits for accessing 16 words of control memory. The upper bit part 1a of the address register is
The upper 4 bits of address register 1 determine the control storage block corresponding to the address value. Namely.
デコード回路2は、アドレス値の上位4ビツトをデコー
ドし、ブロック識別信号lOの何れか1っの信号を出力
する。プログラム実行レベル決定回路3は、優先順位比
較論理を含み、実行要求信号8を入力して処理すべきプ
ログラムの実行レベルを決定すると共に、その結果を実
行レベル・レジスタ4に転送する。記憶保護レジスタ5
は、5a。The decoding circuit 2 decodes the upper four bits of the address value and outputs one of the block identification signals IO. The program execution level determination circuit 3 includes priority comparison logic, inputs the execution request signal 8, determines the execution level of the program to be processed, and transfers the result to the execution level register 4. Memory protection register 5
5a.
5b、5C,5dがそれぞれプログラム実行レベルA、
B、 C,Dに対応する。記憶保護レジスタ5のそれ
ぞれは、制御記憶の各ブロックに1ビツトを対応させ、
計16ビツトで構成され、各ビットは。5b, 5C, and 5d are program execution level A, respectively.
Corresponds to B, C, and D. Each of the memory protection registers 5 has one bit corresponding to each block of control memory,
It consists of a total of 16 bits, and each bit is .
対応する制御記憶ブロックに対する書込許可フラグであ
る。すなわち、′11のセットされたビット位置に対応
する制御記憶のブロックのみがその記憶保護レジスタに
対応する実行レベルのプログラムから書込み可能となる
。実行レベル・レジスタ4の自答は、決定されたプログ
ラム実行レベルに対応する記憶保護レジスタ5の1つを
選択するために使用される。そして、アンド回路6−0
ないし6−15及びオア回路7は1選択された記憶保護
レジスタ5の各ビットとデコード回路2によって出力さ
れるブロック識別信号10との間で、ビット毎の演算を
実行し、書込許可信号9を生成する。書込許可信号9は
1図示しない回路によって。This is a write permission flag for the corresponding control storage block. That is, only the block of control storage corresponding to the bit position set to '11' is writable by the program at the execution level corresponding to that storage protection register. The self of the execution level registers 4 is used to select one of the storage protection registers 5 corresponding to the determined program execution level. And AND circuit 6-0
to 6-15 and the OR circuit 7 execute a bit-by-bit operation between each bit of the selected memory protection register 5 and the block identification signal 10 output by the decoding circuit 2, and output the write permission signal 9. generate. The write permission signal 9 is provided by a circuit not shown.
制御記憶への書込パルス信号の生成東件の1つとなると
共に、書込許可されていないブロックへの書込命令が実
行されたことを示す記憶保護例外信号を生成するために
使用される。This is one of the conditions for generating a write pulse signal to the control memory, and is also used to generate a memory protection exception signal indicating that a write instruction has been executed to a block for which writing is not permitted.
なお1以上の説明では、記憶保護レジスタ5を構成する
5aないし5dの記憶保護フレグは、制御記憶の各ブロ
ックに対応する書込許可フラグ・ビットからのみ構成し
たが、記憶保護フラグを複数ビットとして1例えば命令
の読出し、データの読出し、データの書込みと云った異
なるアクセスの種類を個別にチェックするように構成す
ることも出来ることは勿論である。又、1ビツトのみの
記憶保論フラグであっても、W込許可のみに限定せず、
幾つかのアクセス9タイプに対して適用しても良いこと
は云うまでもない。Note that in the above explanation, the memory protection flags 5a to 5d constituting the memory protection register 5 are composed only of write permission flag bits corresponding to each block of control memory, but the memory protection flags may be made up of multiple bits. 1. It is of course possible to configure the system to individually check different types of accesses, such as command read, data read, and data write, for example. Also, even if the memory guarantee flag is only 1 bit, it is not limited to W-inclusion permission only.
It goes without saying that the present invention may be applied to several access 9 types.
更に、記憶保護制御の対象となる記憶装置のアドレス範
囲は、処理装置のアクセス可能な記憶装置の一部の領域
に限定することも可能であり、それによって記憶装置ブ
ロックの分割の細分化又は記憶保護レジスタのビット数
の削減を図ることができる。Furthermore, the address range of the storage device that is subject to storage protection control can be limited to a part of the storage device that can be accessed by the processing device. The number of bits of the protection register can be reduced.
更に別の応用例に於いては、処理装置の有する特定のプ
ログラム実行レベルは、記憶保護制御の対象外とするこ
とも容易に実現することが出来る。In yet another application example, a specific program execution level of a processing device can easily be excluded from storage protection control.
又、プログラムの指定あるいは何らかの外部手段等によ
シ、記憶保護回路の動作あるいはその出力信号を無効化
する手段を具備させても良い。Further, means may be provided for invalidating the operation of the memory protection circuit or its output signal by designation of the program or by some external means.
以上の説明から明らかなように1本発明によれば、比較
的簡単な回路忙よって高速応答の可能な記憶保護機構を
データ処理装置に付加することができるので、特にマイ
クロコード処理装置のような応用例においては、データ
処理システムの信頼度とデータ保全性を向上させる効果
がある。As is clear from the above description, according to the present invention, a memory protection mechanism capable of high-speed response can be added to a data processing device using a relatively simple circuit. In some applications, it has the effect of improving reliability and data integrity of data processing systems.
第1図はデータ処理システムの1構成例を示す図、第2
図は本発明の1実施例構成を示す図である。01・・・制御記憶、02・・・マイクロコード処理装
置、03・・・主記憶装置、04・・・中央処理装置、
05と06・・・チャネル装置、1・・・アドレス拳レ
ジスタ、la・・・アドレス響レジスタの上位ビット部
分、2・・・デコード回路、3・・・プログラム実行レ
ベル決定回路。4・・・実行レベル・レジスタ、5・・・記憶保護レジ
スタ、6−0ないし6−15・・・アンド回路、7・・
・オア回路、8・・・実行要求信号、9・・・書込許可
信号。10・・・ブロック識別信号。特許出願人 富士通株式会社代理人弁理士 京 谷 四 部ケ1図Figure 1 is a diagram showing an example of the configuration of a data processing system;
The figure is a diagram showing the configuration of one embodiment of the present invention. 01... Control memory, 02... Microcode processing device, 03... Main storage device, 04... Central processing unit,
05 and 06...Channel device, 1...Address register, la...Higher bit part of address register, 2...Decode circuit, 3...Program execution level determination circuit. 4... Execution level register, 5... Memory protection register, 6-0 to 6-15... AND circuit, 7...
- OR circuit, 8... Execution request signal, 9... Write permission signal. 10...Block identification signal. Patent Applicant: Fujitsu Ltd. Representative Patent Attorney Kyotani Shibuke 1 Figure 1
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58181164AJPS6073762A (en) | 1983-09-29 | 1983-09-29 | Memory protection method |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58181164AJPS6073762A (en) | 1983-09-29 | 1983-09-29 | Memory protection method |
| Publication Number | Publication Date |
|---|---|
| JPS6073762Atrue JPS6073762A (en) | 1985-04-25 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58181164APendingJPS6073762A (en) | 1983-09-29 | 1983-09-29 | Memory protection method |
| Country | Link |
|---|---|
| JP (1) | JPS6073762A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6252637A (en)* | 1985-08-30 | 1987-03-07 | アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド | Digital processor control |
| JPH02222035A (en)* | 1989-02-23 | 1990-09-04 | Nec Corp | Microprogram controller |
| JP2004537786A (en)* | 2001-06-08 | 2004-12-16 | ヒューレット・パッカード・カンパニー | A secure machine platform that interfaces with the operating system and customized control programs |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6252637A (en)* | 1985-08-30 | 1987-03-07 | アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド | Digital processor control |
| JPH02222035A (en)* | 1989-02-23 | 1990-09-04 | Nec Corp | Microprogram controller |
| JP2004537786A (en)* | 2001-06-08 | 2004-12-16 | ヒューレット・パッカード・カンパニー | A secure machine platform that interfaces with the operating system and customized control programs |
| Publication | Publication Date | Title |
|---|---|---|
| JPH0242528A (en) | IC memory card | |
| KR970012145A (en) | How to work with the data processor, how to run its debugging operations, and how to modify its breakpoint values | |
| KR100791815B1 (en) | Computer system and how to run instructions on it | |
| JPS6073762A (en) | Memory protection method | |
| US4124892A (en) | Data processing systems | |
| JPS6319058A (en) | memory device | |
| JPS6074059A (en) | Storage device access control method | |
| KR100525537B1 (en) | Applied Program Bungle Detection Apparatus and Method by Interrupt | |
| JP3028567B2 (en) | Microcomputer with built-in EEPROM | |
| KR970006411B1 (en) | How to Display Message of Operating System Kernel Using Shared Memory | |
| JPS595496A (en) | Memory protect system | |
| US4916703A (en) | Handling errors in the C bit of a storage key | |
| JPH01123342A (en) | Writing protecting circuit for memory | |
| JPS62251857A (en) | Memory control system | |
| JPS60193046A (en) | Instruction exception detection method | |
| JPS5834856B2 (en) | Kiokuseigiyosouchi | |
| JP2581057B2 (en) | Evaluation microcomputer | |
| JPH0434185B2 (en) | ||
| JPS63250753A (en) | Memory access check method | |
| JPS6197761A (en) | Memory protection method | |
| JPS6139142A (en) | Main storage protection system | |
| JPS59113599A (en) | Memory protection system | |
| JPH01258054A (en) | Access control system for storage device | |
| JPH0219508B2 (en) | ||
| JPS62217483A (en) | Memory device |