JPH01173243A - Memory protective device - Google Patents

Memory protective device

Info

Publication number
JPH01173243A
JPH01173243A JP62333251A JP33325187A JPH01173243A JP H01173243 A JPH01173243 A JP H01173243A JP 62333251 A JP62333251 A JP 62333251A JP 33325187 A JP33325187 A JP 33325187A JP H01173243 A JPH01173243 A JP H01173243A
Authority
JP
Japan
Prior art keywords
page
user
address data
access
segment
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
JP62333251A
Other languages
Japanese (ja)
Inventor
Ichiro Ando
安東 一郎
Tomoyuki Minamiyama
南山 智之
Shigeo Takahashi
重夫 高橋
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.)
Toyo Communication Equipment Co Ltd
Original Assignee
Toyo Communication Equipment Co 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 Toyo Communication Equipment Co Ltd filed Critical Toyo Communication Equipment Co Ltd
Priority to JP62333251A priority Critical patent/JPH01173243A/en
Priority to DE19883855338 priority patent/DE3855338T2/en
Priority to EP88302056A priority patent/EP0286240B1/en
Publication of JPH01173243A publication Critical patent/JPH01173243A/en
Priority to US07/711,122 priority patent/US5179715A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To protect a storage area by outputting a user name corresponding to input address data from a verification table and invalidating the access as an invalid access at the time of disaccord between this user name and a user name in input data. CONSTITUTION:With respect to address data AD from a processor, the user address value is checked by a '0' decoder 48. When it is not '0', an invalid access signal generating circuit 50 is driven. In parallel with this operation, an R/W control circuit 47 reads out a user name UN in the name area of a user descriptor 51 from page data of the address in a verification table memory 46 and gives it to a disaccord detecting circuit 49. An invalid signal FAIL is issued through the circuit 50 by the disaccord output. The control circuit 47 writes '1' in the inhibit bit of the user descriptor 51 to inhibit the use and closes a gate 45 to invalidate the current access and interrupts the processor to stop the access and selects the next user. By this constitution, destruction of a memory of another user due to erroneous access of one user is prevented.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、コンピュータシ・ステムの記憶保護装置に関
する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a storage protection device for a computer system.

(従来の技術) メモリ管理機能を有するマイクロプロセッサ・システム
では、ページ方式や、セグメント方式、ページ・セグメ
ント方式、ケーパヒリティーチェック方式等によって記
憶領域の管理を行なっている。
(Prior Art) In a microprocessor system having a memory management function, storage areas are managed by a page method, a segment method, a page/segment method, a capacity check method, or the like.

これらの方式のうち、ページ方式によるシステムは小さ
な主記憶メモリで大きなプログラムを処理し得るように
することを主目的にしており、第5図に示すように一定
バイト数毎に区分された仮想アドレス空間1と、一定バ
イト数毎に区分された主記憶領域2と、これらを管理す
るためのページ表3とを備えている。
Among these methods, the page method system is mainly aimed at processing large programs with a small main memory, and uses virtual addresses divided into a fixed number of bytes as shown in Figure 5. It includes a space 1, a main storage area 2 divided into a certain number of bytes, and a page table 3 for managing these areas.

この場合、ページ表3は仮想アドレス空間1上にあるペ
ージ6の数(区分数)と同じ数のページ記述子4を備え
ており、仮想アドレス空間1上にある各ページ6のうち
、主記憶類@2の各ページ枠(各区分領域)5に転送さ
れたものについては、転送済のページ6に対応するペー
ジ記述子4のページ・フォールト・ビット7に値+i 
0 ++が書込まれるととも、ベージ枠番号エリア8内
に転送先のベージ枠番号が書込まれる。
In this case, the page table 3 has the same number of page descriptors 4 as the number of pages 6 (number of divisions) on the virtual address space 1, and of each page 6 on the virtual address space 1, For those transferred to each page frame (each segmented area) 5 of type @2, the value +i is set in the page fault bit 7 of the page descriptor 4 corresponding to the transferred page 6.
0++ is written, and the page frame number of the transfer destination is also written in the page frame number area 8.

そして、論理アドレステータ(仮想アドレスデータ)A
Iが出力されたとき、ページ表3からこの仮想アドレス
テータA、のページアドレスデータPによって指定され
るページ記述子4が読み出され、そのページ・フォール
ト・ビット7が値“0”であるかがチエツクされる。そ
して、これが値“′0″であれは、前記ページ記述子4
のページ枠番号エリア8に書込まれたベージ枠番号に基
づいて主記憶領域2内にある1つのページ枠5が選択さ
れるとともに、このページ枠5内にある番地のうち前記
仮想アドレスデータA□のロケーションアドレスデータ
しによって指定された番地がアクセスされる。
And logical address data (virtual address data) A
When I is output, the page descriptor 4 specified by the page address data P of this virtual address data A is read from the page table 3, and whether the page fault bit 7 is the value "0" or not. is checked. If this is the value "'0", the page descriptor 4
One page frame 5 in the main storage area 2 is selected based on the page frame number written in the page frame number area 8 of The address specified by the location address data in □ is accessed.

また、仮想アドレスデータA、のページアドレスデータ
Pに対応するページ記述子4のページ・フォールト・ヒ
ツト7が値゛1”であれは、割り込みが発生してO5(
オペレーティング・システム)が起動させられる。
Furthermore, if the page fault hit 7 of the page descriptor 4 corresponding to the page address data P of the virtual address data A is the value "1", an interrupt occurs and O5 (
operating system) is started.

そして、このO8によって前記ページアドレスデータP
に対応するページ6の内容が仮想アドレス空間1から読
み出されて主記憶領域2の空いているページ枠5内に転
送されるとともに、このページ6に対応するページ記述
子4のページ・フォールト・ビット7が値“0”にされ
、さらにページ枠番号エリア8内に転送先のページ枠番
号が書込まれて割り込み動作が終了する。この後、上述
したようにして前記仮想アドレスデータA1に基ついて
主記憶領域2がアクセスされる。
Then, by this O8, the page address data P
The contents of the page 6 corresponding to this page 6 are read from the virtual address space 1 and transferred to the empty page frame 5 of the main storage area 2, and the page fault of the page descriptor 4 corresponding to this page 6 is read out from the virtual address space 1. The bit 7 is set to the value "0", and the page frame number of the transfer destination is further written in the page frame number area 8, and the interrupt operation ends. Thereafter, the main storage area 2 is accessed based on the virtual address data A1 as described above.

またこのとき、主記憶領域2上に空きページ枠5がない
場合には、すぐに使う予定がないページ枠5内の内容が
主記憶領域2側から仮想アドレス空間1側に転送されて
空きページ枠5が作られるとともに、仮想アドレス空間
1側から前記ページアドレスデータPに対応するページ
6の内容が読み出されて、これが前記空きベージ枠5内
に転送される。また、この動作と並行してこのページ6
に対応するページ記述子4の内容が更新される。
At this time, if there is no free page frame 5 on the main memory area 2, the contents of the page frame 5 that are not scheduled to be used immediately are transferred from the main memory area 2 side to the virtual address space 1 side, and the contents are transferred to the free page frame 5. While the frame 5 is created, the contents of the page 6 corresponding to the page address data P are read from the virtual address space 1 side and transferred into the empty page frame 5. Also, in parallel with this operation, this page 6
The contents of the page descriptor 4 corresponding to the page descriptor 4 are updated.

また、セグメント方式によるシステムは上述したページ
方式と同様に大きなプログラムを主記憶メモリ上で処理
し得るようにすることを主目的にしたものであり、第6
図に示すように論理情報単位毎のセグメント14に区分
された仮想アドレス空間11と、主記憶領域12と、こ
れらを管理するためのセグメント表13とを備えている
In addition, the main purpose of the segment method system is to be able to process large programs on the main memory, similar to the page method described above, and the system is based on the sixth method.
As shown in the figure, it includes a virtual address space 11 divided into segments 14 for each logical information unit, a main storage area 12, and a segment table 13 for managing these.

この場合、セグメント表13は仮想アドレス空間11上
にあるセグメント14の数(区分数)と同し数のセグメ
ント記述子15を備えており、仮想アドレス空間11上
にある各セグメント14のうち、主記憶領域12上に転
送されたものについては、転送済のセグメント14に対
応するセグメント記述子15のセグメント・フォールト
・ヒツト16jこ値゛0”が書込まれるととも、主記憶
内アドレスデータエリア17内に転送先の先頭アドレス
(主記憶領域12上の先頭アドレス)データASが書込
まれる。
In this case, the segment table 13 has the same number of segment descriptors 15 as the number of segments 14 (number of divisions) on the virtual address space 11. For those transferred to the storage area 12, the value ``0'' is written to the segment fault hit 16j of the segment descriptor 15 corresponding to the transferred segment 14, and the address data area 17 in the main memory is written. Data AS of the start address of the transfer destination (start address on the main storage area 12) is written within.

そして、論理アドレスデータ(仮想アドレスデータ)A
Iが出力されたとき、この仮想アドレスデータA1のセ
グメントアドレスデータSに基づいてセグメント表13
内のセグメント記述子15が読み出され、そのセグメン
ト・フォールト・ビット16が値“0”であるかどうか
がチエツクされ、これが値“0”であれば、前記セグメ
ント記述子15の主記憶内アドレスデータエリア17に
書込まれた先頭アドレスデータASと前記仮想アドレス
データA1のロケーティングアドレスデータLとに基づ
いて主記憶領域12内にある番地のうちの1つがアクセ
スされる。
And logical address data (virtual address data) A
When I is output, the segment table 13 is created based on the segment address data S of this virtual address data A1.
The segment descriptor 15 in the segment descriptor 15 is read out, and it is checked whether the segment fault bit 16 has the value "0". If it is the value "0", the main memory address of the segment descriptor 15 is read out. One of the addresses in the main storage area 12 is accessed based on the start address data AS written in the data area 17 and the locating address data L of the virtual address data A1.

また、仮想アドレスデータA1のセグメントアドレスデ
ータPに対応するセグメント記述子15のセグメント・
フォールト・ビット16が値“′1”であれば、割り込
みが発生してO8が起動させられる。
In addition, the segment of the segment descriptor 15 corresponding to the segment address data P of the virtual address data A1
If fault bit 16 has the value "'1", an interrupt is generated and O8 is activated.

そして、このO5によって前記セグメントアドレスデー
タSに対応するセグメント14の内容が仮想アドレス空
間11から読み出・されて主記憶領域11の空いている
領域に転送されるとともに、このセグメント14に対応
するセグメント記述子15のセグメント・フォールト・
ビット16が値“0”にされる。またこのとき、主記憶
内アドレスエリア17内に転送先の先頭アドレスデータ
ASが書込まれて割り込み動作が終了し、この後通常の
アクセス動作に戻る。
Then, by this O5, the contents of the segment 14 corresponding to the segment address data S are read out from the virtual address space 11 and transferred to a vacant area of the main storage area 11, and the contents of the segment 14 corresponding to this segment 14 are Descriptor 15 segment fault
Bit 16 is set to the value "0". Also, at this time, the start address data AS of the transfer destination is written into the address area 17 in the main memory, the interrupt operation ends, and then the normal access operation returns.

またこのとき、主記憶領域12上に空き領域がない場合
には、すぐに使う予定がないセグメントの内容が主記憶
領域12側から仮想アドレス空間11側に転送されて空
き領域が作られるとともに、仮想アドレス空間11側か
ら前記セグメントアドレスデータSに対応するセグメン
ト14の内容が読み出されてこれが前記空き領域に転送
される。
At this time, if there is no free space on the main storage area 12, the contents of segments that are not scheduled to be used immediately are transferred from the main storage area 12 side to the virtual address space 11 side, and a free space is created. The contents of the segment 14 corresponding to the segment address data S are read from the virtual address space 11 side and transferred to the free area.

またこれと並行してこれら各セグメント14に対応する
セグメント記述子15の内容が更新される。
In parallel with this, the contents of the segment descriptors 15 corresponding to these segments 14 are updated.

また、ページ・セグメント方式によるシステムは上述し
たページ方式やセグメント方式と同様に大きなプログラ
ムを主記憶領域上で処理し得るようにすることを主目的
にしたものであり、第7図に示すように仮想アドレス空
間21と、主記憶領域22領域と、これらを管理するた
めのセグメント表23と、ページ表群24を備えている
In addition, the system based on the page/segment method has the main purpose of being able to process large programs in the main storage area, similar to the above-mentioned page method and segment method, and as shown in Figure 7. It includes a virtual address space 21, a main storage area 22, a segment table 23 for managing these areas, and a page table group 24.

この場合、仮想アドレス空間21は、論理情報単位毎に
区分された複数のセグメント25を備えている。そして
、これら各セグメント25は一定の大きさ毎に区分され
てその各々がページ26を構成している。
In this case, the virtual address space 21 includes a plurality of segments 25 divided into logical information units. Each of these segments 25 is divided into predetermined sizes and each constitutes a page 26.

また、主記憶領域22は一定の大きさ毎に区分されてそ
の各々がページ枠27を構成している。
Further, the main storage area 22 is divided into sections of a certain size, each of which constitutes a page frame 27.

また、セグメント表23は仮想アドレス空間21上にあ
る25セグメントの数(区分数)と同し数のセグメント
記述子28を備えており、仮想アドレス空間21上にあ
るページ26のうち、主記憶領域22上に転送されたも
のについては、転送済のページ26を含んているセグメ
ント25に対応したセグメント記述子28のセグメント
・フォールト・ヒツト29に値“0”が書込まれるとと
も、ページアドレスエリア30内にこのページ26を管
理しているページ表31のアドレス(ページ表作24上
のアドレス)データA p sが書込まれる。
Furthermore, the segment table 23 has the same number of segment descriptors 28 as the number of 25 segments (number of divisions) on the virtual address space 21, and among the pages 26 on the virtual address space 21, the main storage area 22, the value "0" is written to the segment fault hit 29 of the segment descriptor 28 corresponding to the segment 25 that includes the transferred page 26, and Address data (address on page table 24) of page table 31 managing this page 26 (address on page table 24) A p s is written in 30 .

ページ表群24は仮想アドレス空間21内にあるセグメ
ント25の数と同じ数のページ表31を備えている。
The page table group 24 includes the same number of page tables 31 as the number of segments 25 in the virtual address space 21.

ページ表31は各々対応するセグメント25内にあるペ
ージ2Gの数と同じ数のページ記述子32を備えており
、仮想アドレス空間21上にある各ページ26のうち、
主記憶領域22の各ページ枠27内に転送されたものに
ついては、転送済のページ26に対応するページ記述子
32のページ・フォールト・ビット33に値゛′0”が
書込まれるととも、ページ枠番号エリア34内に転送先
のベージ枠番号AP、が書込まれる。
Each page table 31 has the same number of page descriptors 32 as the number of pages 2G in the corresponding segment 25, and among each page 26 on the virtual address space 21,
For those transferred to each page frame 27 of the main storage area 22, the value ``'0'' is written to the page fault bit 33 of the page descriptor 32 corresponding to the transferred page 26. The page frame number AP of the transfer destination is written in the page frame number area 34.

そして、論理アドレスデータ(仮想アドレスデータ)A
Iが出力されたとき、この仮想アドレスデータA1のセ
グメントアドレスデータSに基づいてセグメント表23
内のセグメント記述子28が読み出され、そのセグメン
ト・フォールト・ビット29が値“0”であるかどうか
がチエツクされる。そして、これが値“O”であれば、
このセグメント記述子28のページアドレスエリア30
内に書込まれているアドレスデータA P Sに基づい
てページ表群24内から1つのページ表31が選択され
る。
And logical address data (virtual address data) A
When I is output, the segment table 23 is created based on the segment address data S of this virtual address data A1.
The segment descriptor 28 within is read and it is checked whether its segment fault bit 29 has the value "0". And if this is the value “O”, then
Page address area 30 of this segment descriptor 28
One page table 31 is selected from the page table group 24 based on the address data A P S written therein.

この後、前記仮想アドレスデータA1のページアドレス
データPζこ基づいて前記ページ表31内のページ記述
子32が読み出され、そのページ・フォールト・ヒツト
33が値゛0”であるかどうかがチエツクされる。そし
て、これが値“0”であれば、このページ記述子32の
ページ枠番号エリア34内に書込まれているページ枠番
号A p pに基ついて主記憶領域22内にあるページ
枠27の1つが選択される。
After this, the page descriptor 32 in the page table 31 is read based on the page address data Pζ of the virtual address data A1, and it is checked whether the page fault hit 33 is the value "0". If this value is "0", the page frame 27 in the main storage area 22 is selected based on the page frame number A p written in the page frame number area 34 of this page descriptor 32. One of them is selected.

この後、前記仮想アドレスデータA1のロケーティング
アドレスデータLに基づいてこのベージ枠27内にある
番地のうちの1つがアクセスされる。
Thereafter, one of the addresses within this page frame 27 is accessed based on the locating address data L of the virtual address data A1.

また、仮想アドレスデータA1のセグメントアドレスデ
ータSに対応するセグメント記述子28のセグメント・
フォールト・ビット29やページ記述子32のページ・
フォールト・ビット33が値“1”であれは、割り込み
が発生してO8が起動させられる。
Also, the segment of the segment descriptor 28 corresponding to the segment address data S of the virtual address data A1
Fault bit 29 and page descriptor 32
If fault bit 33 has the value "1", an interrupt is generated and O8 is activated.

そして、このO5ここよって前記セグメントアドレスデ
ータSとページアドレスデータPとに対応するページ2
6の内容が仮想アドレス空間21から読み出されて主記
憶領域22の空いているページ枠27に転送されるとと
もここ、このセグメント25に対応するセグメント記述
子28のセグメント・フォールト・ビット29が値“0
”(こされる。
Then, the page 2 corresponding to the segment address data S and the page address data P is O5.
6 is read from the virtual address space 21 and transferred to the empty page frame 27 of the main storage area 22, and the segment fault bit 29 of the segment descriptor 28 corresponding to this segment 25 is set. Value “0”
” (Rubbed.

またこのとき、ページアドレスエリア30内にこのペー
ジ26を管理しているページ表31のアドレスデータA
 p sが書込まれるとともに、このページ26に対応
するページ記述子32のページ・フォールト・ヒツト3
3が値“0″にされ、またページ枠番号エリア34内に
転送先のページ枠番号A p pが書込まれる。この後
、割り込み動作が終了する。
Also, at this time, address data A of the page table 31 managing this page 26 is stored in the page address area 30.
ps is written and the page fault hit 3 of the page descriptor 32 corresponding to this page 26 is written.
3 is set to the value "0", and the page frame number A p p of the transfer destination is written in the page frame number area 34. After this, the interrupt operation ends.

また」−述したページ転送動作において、主記憶領域2
2上に空きページ枠27がない場合には、すくに使う予
定がない内容がページ枠単位で主記憶領域22側から仮
想アドレス空間21側に転送されて空きページ枠27が
作られるとともに、仮想アドレス空間21側から前記セ
グメントアドレスデータSとページアドレスデータPと
に対応するページ26の内容が読み出されてこれが前記
空きベージ枠27に転送される。またこれと並行してこ
れらの各セグメント25とページ26とに対応するセグ
メント記述子28の内容とページ記述子32の内容とが
更新される。
In addition, in the page transfer operation described above, the main storage area 2
If there is no free page frame 27 on the page frame 2, contents that are not scheduled to be used soon are transferred from the main memory area 22 side to the virtual address space 21 side in page frame units, an empty page frame 27 is created, and The contents of the page 26 corresponding to the segment address data S and page address data P are read from the address space 21 side and transferred to the empty page frame 27. In parallel with this, the contents of the segment descriptor 28 and the page descriptor 32 corresponding to each of these segments 25 and pages 26 are updated.

ところで、このような各方式はメモリ管理機能を持った
システムにおいて使用することかできるか、プロセス切
替え機能を有し、内gfl状態を出力しない若しくはメ
モリ管理機能を持たないマイクロプロセッサシステムで
はこれらの各方式を使用することができなかった。
By the way, can each of these methods be used in a system that has a memory management function? In a microprocessor system that has a process switching function and does not output the internal gfl status or does not have a memory management function, each of these methods cannot be used. method could not be used.

このため、このようなマイクロプロセッサシステムでは
複数のユーザによって実装メモリを区分して使用すると
き、1人のユーザの誤アクセスによって別のユーザのメ
モリ内容が破壊されることかあった。
For this reason, in such a microprocessor system, when the installed memory is divided and used by a plurality of users, erroneous access by one user may destroy the memory contents of another user.

(発明の目的) 本発明は上記の事情に鑑み、プロセス切替え機能を有し
、内部状態を出力しない若しくはメモリ管理機能を持た
ないマイクロプロセッサを用いるシステムにおいても記
憶領域保護を行なうことができる記憶保護装置を提供す
ることを目的としている。
(Object of the Invention) In view of the above circumstances, the present invention provides a memory protection system that can protect storage areas even in a system using a microprocessor that has a process switching function, does not output internal status, or does not have a memory management function. The purpose is to provide equipment.

(発明の概要) 上記の問題点を解決するために本発明による記憶保護装
置においては、マイクロプロセッサからアドレスデータ
が出力されたとき検証用テーブルからこのアドレスデー
タに対応したユーザ名称データを出力させて、これが前
記アドレスデータ中に含まれるユーザ名称データと一致
しているかどうかをチエツクし、これらが一致していな
い場合に正当なユーザによるアクセスではないと判定し
て今回のアクセスを無効にしている。
(Summary of the Invention) In order to solve the above problems, the memory protection device according to the present invention outputs user name data corresponding to the address data from the verification table when address data is output from the microprocessor. , checks whether this matches the user name data included in the address data, and if they do not match, it is determined that the access is not by a legitimate user and the current access is invalidated.

(実施例) 第1図は本発明による記憶保護装置の一実施例を適用し
たマイクロプロセッサシステムの一例を示す回路ブロッ
ク図である。
(Embodiment) FIG. 1 is a circuit block diagram showing an example of a microprocessor system to which an embodiment of the storage protection device according to the present invention is applied.

この図に示すマイクロプロセッサシステムは、マイクロ
プロセッサ40と、入出力装置4Jと、記憶装置42と
、記憶保護装置43とを備えており、複数のユーザによ
って時分割的に使用される。
The microprocessor system shown in this figure includes a microprocessor 40, an input/output device 4J, a storage device 42, and a storage protection device 43, and is used by a plurality of users in a time-sharing manner.

入出力装置41はキーボード等の入力装置とCRT(表
示器)等の出力装置とを備えており、入力装置を介して
入力されたデータや指令等をマイクロプロセッサ40に
供給したり、このマイクロプロセッサ40から出力され
た表示データ等を出力装置に表示させる。
The input/output device 41 includes an input device such as a keyboard and an output device such as a CRT (display), and supplies data, commands, etc. input via the input device to the microprocessor 40, The display data etc. output from 40 are displayed on the output device.

また、記憶装置42は第2図に示すように記憶領域がn
個のページ55a〜55nに区分されたメインメモリ4
4と、このメインメモリ44のデータ端子と前記マイク
ロプロセッサ40のデータ端子とを接続するゲート45
とを備えており、各ページ勿にユーザが定められている
Furthermore, the storage device 42 has a storage area of n as shown in FIG.
Main memory 4 divided into pages 55a to 55n
4, and a gate 45 connecting the data terminal of the main memory 44 and the data terminal of the microprocessor 40.
Of course, each page has a specified user.

そして、前記マイクロプロセッサ40からアドレスデー
タADが供給されたとき、メインメモリ44の前記アド
レスデータによって指定された番地がアクティブになり
、この番地に記憶されているデータか読み出されてマイ
クロプロセッサ40に供給され、或いはこのマイクロプ
ロセッサ40から供給されるデータか前記z地に書込ま
れる。またこのとき、不正当アクセス信号FAILが供
給されていれは、ケート45か閉じて、データの読出し
、書込みが禁止される。
When the address data AD is supplied from the microprocessor 40, the address specified by the address data in the main memory 44 becomes active, and the data stored at this address is read out and sent to the microprocessor 40. Data supplied or supplied from this microprocessor 40 is written to the z location. Further, at this time, if the illegal access signal FAIL is supplied, the gate 45 is closed and reading and writing of data is prohibited.

また、マイクロプロセッサ40はCPUや、各種タイミ
ンクジェネレータ、アドレスデコーダ等を備えており、
前記入出力装置41から人力された指令や、プコクラム
された手順等に基づいて第3図に示す形式のアドレスデ
ータADを発生して前記記憶装置42をアクセスし各種
の処理を行なう。
In addition, the microprocessor 40 includes a CPU, various timing generators, address decoders, etc.
Address data AD in the format shown in FIG. 3 is generated based on instructions manually inputted from the input/output device 41, written procedures, etc., and the storage device 42 is accessed to perform various processing.

また、不正当アクセス信号FAILが供給されたとき、
マイクロプロセッサ40に割り込みが発生して以後、こ
の不正アクセス当信号FAILの発生原因を作ったユー
ザの処理を無効にする。
Furthermore, when the illegal access signal FAIL is supplied,
After an interrupt occurs in the microprocessor 40, the processing of the user who caused the generation of this unauthorized access signal FAIL is invalidated.

また、記憶保護装置43は第2図に示すように検証用テ
ーブルメモリ46と、読出し・書込み制御回路47と、
“0″デコーダ48と、不一致検出回路49と、不正当
アクセス信号発生回路50とを備えており、前記マイク
ロプロセッサ40から出力されるアI・レスデータAD
によって指定されるアクセスが正当なユーザによるアク
セスかどうかをチエツクし、これが不当なアクセスであ
るとき不正当アクセス信号FAILを発生して、このユ
ーザの使用を禁止させる。
The storage protection device 43 also includes a verification table memory 46, a read/write control circuit 47, as shown in FIG.
It is equipped with a "0" decoder 48, a mismatch detection circuit 49, and an illegal access signal generation circuit 50.
It is checked whether the access specified by is by a legitimate user, and if it is an unauthorized access, an unauthorized access signal FAIL is generated to prohibit use by this user.

検証用テーブルメモリ46は第3図に示すように前記メ
インメモリ44のページ数と同し数のユーザ記述子51
を備えており、これら各ユーザ記述子51のユーザ名称
エリア52にはメインメモリ44の各ページ55a〜5
5■1を使用する各ユーザの名称(ユーザ名称UNンが
書込まれている。
As shown in FIG. 3, the verification table memory 46 stores the same number of user descriptors 51 as the number of pages of the main memory 44.
The user name area 52 of each user descriptor 51 includes each page 55a to 55 of the main memory 44.
5. Name of each user using 1 (user name UN is written.

そして、前記アドレスデータADのページアドレスデー
タPADが供給されている状態で、読出し信号R(第2
図参照)が供給されたとき、前記ページアドレスデータ
PADによって指定されたユーザ記述子51のユーザ名
称エリア52ここ書込まれているユーザ名称UNが読み
出されて、これが不一致検出回路49に供給される。
Then, while the page address data PAD of the address data AD is being supplied, the read signal R (second
) is supplied, the user name UN written in the user name area 52 of the user descriptor 51 specified by the page address data PAD is read out, and this is supplied to the mismatch detection circuit 49. Ru.

また前記アドレスデータADのページアドレスデータP
ADが供給されている状態で、書込み信号W(第2図参
照)が供給されたとき、前記ページアドレスデータPA
Dによって指定されたユーザ記述子51のユーザ名称エ
リア52に、前記マイクロプロセッサ40からのユーザ
名称データUDDによって示される名称がユーザ名称U
Nとして書込まれる。
Also, the page address data P of the address data AD
When the write signal W (see FIG. 2) is supplied while AD is being supplied, the page address data PA
In the user name area 52 of the user descriptor 51 specified by D, the name indicated by the user name data UDD from the microprocessor 40 is the user name U.
Written as N.

また、各ユーザ記述子51の使用禁止ビット53には最
初1、使用可能を示す値゛′0”が書込まれている。そ
して、不正当アクセス信号FAILが供給されている状
態で書込み信号Wが供給されたとき、このとき選択され
ているユーザ記述子51の使用禁止ビット53に使用禁
止を示す値パ1”が書込まれる。
In addition, the use prohibition bit 53 of each user descriptor 51 is initially written with 1 and a value ``0'' indicating that it can be used.Then, while the illegal access signal FAIL is being supplied, the write signal W is supplied, a value "P1" indicating use prohibition is written to the use prohibition bit 53 of the user descriptor 51 selected at this time.

また、10′”デコーダ48は前記アドレスデータのユ
ーザ名称データUNDが値“0″以外のとき、つまりシ
ステムのO8以外のユーザがこのマイクロプロセッザシ
ステムを使用するとき、これを検出してチエツク許可信
号(“0″信号) CIIENを生成し、これを不正当
アクセス信号発生回路50に供給する。
Furthermore, when the user name data UND of the address data has a value other than "0", that is, when a user other than O8 of the system uses this microprocessor system, the decoder 48 detects this and issues a check permission. A signal (“0” signal) CIIEN is generated and supplied to the illegal access signal generation circuit 50.

また、不一致検出回路49は、デジタル比較器等を備え
ており、前記アドレスデータADのユーザ名称データい
Dによって示されるユーザ名称UNと、前記検証用テー
ブルメモリ46から供給されるユーザ名称UNとが一致
していないとき不一致信号S1を発生して、これを不正
当アクセス信号発生回路50に供給する。
Further, the mismatch detection circuit 49 is equipped with a digital comparator and the like, and the user name UN indicated by the user name data D of the address data AD and the user name UN supplied from the verification table memory 46 are When they do not match, a mismatch signal S1 is generated and supplied to the illegal access signal generation circuit 50.

不正当アクセス信号発生回路50は、アンドヶ−1−5
4を備えており、前記“0′″デコーダ48からチエツ
ク許可信号CHENが供給されている状態で、前記不一
致検出回路49から不一致信号S1が供給されたとき不
正当アクセス信号FAILを発生してこれを読出し・書
込み制御回路47と記憶装置42のゲート45とマイク
ロプロセッサ40の割込み端子とに供給する。
The illegal access signal generation circuit 50 includes AND-1-5.
4, and when the mismatch signal S1 is supplied from the mismatch detection circuit 49 while the check enable signal CHEN is being supplied from the "0'' decoder 48, an illegal access signal FAIL is generated. is supplied to the read/write control circuit 47, the gate 45 of the storage device 42, and the interrupt terminal of the microprocessor 40.

また、読出し・書込み制御回路47は前記マイクロプロ
セッサ40から供給される読出し・書込み制御信号R/
Wに基づいて前記検証用テーブルメモリ46に読出し信
号Rや、書込み信号Wを供給する。
The read/write control circuit 47 also receives a read/write control signal R/W from the microprocessor 40.
A read signal R and a write signal W are supplied to the verification table memory 46 based on the signal W.

次に、第4図(a)〜(d)に示すタイミングチャート
を参照しながらこの実施例の動作を説明する。
Next, the operation of this embodiment will be explained with reference to the timing charts shown in FIGS. 4(a) to 4(d).

まず、第4図(a)に示す如くマイクロプロセッサ40
からアドレスデータADが出力されれば、“0”デコー
ダ48によってアドレスデータへDのユーザアドレステ
ータUNDの値がチエツクされる。
First, as shown in FIG. 4(a), the microprocessor 40
When address data AD is output from address data AD, the value of user address data UND of D is checked by the "0" decoder 48.

そして、この値が“0”以外であれは、“0”デコーダ
48はシステム以外のユーザによる使用であると判定し
てチエツク許可信号CI−IENを出力し不正当アクセ
ス信号発生回路50を動作状態にする。
If this value is other than "0", the "0" decoder 48 determines that the system is being used by a user other than the system, outputs the check permission signal CI-IEN, and puts the illegal access signal generation circuit 50 into the operating state. Make it.

またこの動作と並行して、読出し・書込み制御回路47
は検証用テーブルメモリ46を読出し動作にし、前記ア
ドレスデータADのページアドレスデータPADによっ
て指定されたユーザ記述子51のユーザ名称データ52
に書込まれているユーザ名称U Nを読み出させて、こ
れを不一致検出回路49に供給させる。
Also, in parallel with this operation, the read/write control circuit 47
sets the verification table memory 46 to read operation, and reads the user name data 52 of the user descriptor 51 specified by the page address data PAD of the address data AD.
The user name UN written in is read out and supplied to the mismatch detection circuit 49.

そして、この検証用テーブルメモリ46から出力される
ユーザ名称UNと、前記アドレスデータAOのユーザ名
称データIJNDによって示されるユーザ名称UNとか
一致していなけれは、不一致検出回路49によってこれ
が検出されて不正当アクセス信号発生回路50から第4
図(c)に示す如く不正当アクセス信号FAILが出力
さ□れる。
If the user name UN output from the verification table memory 46 does not match the user name UN indicated by the user name data IJND of the address data AO, the mismatch detection circuit 49 detects this and it is invalid. From the access signal generation circuit 50 to the fourth
The illegal access signal FAIL is output as shown in FIG. 3(c).

これにより、読出し・書込み制御回路47がこのとき選
択されているユーザ記述子51の使用禁止ヒツト53i
こ値“1”を書込ませて、以後このユーザの使用を禁止
するとともに、記憶装置42のゲート45が閉して、第
4図(b)に示す如く今回のアクセスが無効にされる。
As a result, the read/write control circuit 47 prohibits the use of the user descriptor 51 selected at this time 53i.
This value "1" is written to prohibit future use by this user, and the gate 45 of the storage device 42 is closed to invalidate the current access as shown in FIG. 4(b).

またこのとき、第4図(d)に示す如くマイクロプロセ
ッサ40に割込みがかけられて今回のアクセスが中止さ
せられるとともに、このマイクロプロセッサ40のプロ
セス切替え機能によって吹のユーザが自動的に選択され
る。
At this time, as shown in FIG. 4(d), an interrupt is applied to the microprocessor 40 to abort the current access, and the process switching function of the microprocessor 40 automatically selects the desired user. .

また、上述した動作において、検証用テーブルメモリ4
6から出力されるユーザ名称UNと、前記アドレスデー
タADのユーザ名称データUNDによって示されるユー
ザ名称UNとが一致していれは、今回のアクセスが正当
なユーザによるアクセスであると判定されて、記憶装置
42からデータが読み出されたり、この記憶装置42に
データが書込まれたりする。
In addition, in the above-described operation, the verification table memory 4
If the user name UN output from 6 and the user name UN indicated by the user name data UND of the address data AD match, the current access is determined to be an access by a legitimate user, and the data is stored. Data is read from the device 42 and data is written to the storage device 42.

このようにこの実施例においては、ユーザが予め決めら
れたページ以外のページをアクセスしようとしたとき、
このアクセスを無効にして以後このユーザの使用を禁止
するようにしたので、次に述べる効果を得ることができ
る。
As described above, in this embodiment, when the user attempts to access a page other than the predetermined page,
Since this access is disabled and future use by this user is prohibited, the following effects can be obtained.

(イ)従来のページ・セグメント方式等のようにアドレ
ス変換を行なっていないので、MMU(メモリ管理ユニ
ット)等の回路を用いることなく記憶装置が不正にアク
セスされるのを防止することかできる。
(a) Since address conversion is not performed as in the conventional page segment method, it is possible to prevent the storage device from being accessed illegally without using a circuit such as an MMU (memory management unit).

(ロ)またマイクロプロセッサ40のプロセス切替え機
能を用いてユーザの切替えを行なっているので、O8等
によってユーザを切替える場合等のようにユーザの切替
え時に不用なオーバヘッドが発生しないようにすること
ができる。
(b) Also, since the process switching function of the microprocessor 40 is used to switch users, it is possible to prevent unnecessary overhead from occurring when switching users, as is the case when switching users using O8, etc. .

また、上述した実施例においては各ユーザの名称(ユー
ザ名称データUND)を異ならせるたけで、これらの相
関関係をシステム設計者の裁量にまかせているが、これ
ら各ユーザ名称データUNDのハミング距離(符号間距
離)を大きくしてユーザチエツク時における誤判定が起
こりに<<シても良い。
Furthermore, in the embodiment described above, the names of each user (user name data UND) are simply made different, and the correlation between these is left to the discretion of the system designer; however, the Hamming distance ( It is also possible to increase the inter-symbol distance to reduce the possibility of misjudgment at the time of user check.

(発明の効果) 以上説明したように本発明によれは、従来不可能とされ
ていたメモリ管理機能を持たず、かつ内部状態を示す情
報を出力しないマイクロプロセッサにおいても、各ユー
ザのプログラムが互いに干渉しないようにすることがで
き、これによって各ユーザプログラムの動作を保証する
ことができるとともζこ、1人のユーザの誤アクセスに
よって別のユーザのメモリ内容が破壊されてしまうのを
防止することができる。
(Effects of the Invention) As explained above, according to the present invention, even in a microprocessor that does not have a memory management function, which was considered impossible in the past, and does not output information indicating the internal state, programs of each user can mutually communicate with each other. It is possible to prevent interference, thereby guaranteeing the operation of each user's program, and preventing one user's erroneous access from destroying another user's memory contents. be able to.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明による記憶保護装置の一実施例を適用し
たマイクロプロセッサシステムの一例を示す回路ブロッ
ク図、第2図は第1図に示す記憶装置、記憶保護装置の
詳細を示す回路ブロック図、第3図は第2図に示す記憶
保護装置を説明するための模式図、第4図(a)〜(d
)は各々同実施例の動作例を示すタイミングチャート、
第5図は従来のページ方式を説明するための模式図、第
6図は従来のセグメント方式を説明す毬ための模式図、
第7図は従来のページ・セグメント方式を説明するため
の模式図である。 40・・・マイクロプロセッサ、46・・・検証用テー
ブル(検証用テーブルメモリ)、49・・・判定部(不
一致検出回路)。 特許出願人 東洋通信機株式会社
FIG. 1 is a circuit block diagram showing an example of a microprocessor system to which an embodiment of the storage protection device according to the present invention is applied, and FIG. 2 is a circuit block diagram showing details of the storage device and storage protection device shown in FIG. 1. , FIG. 3 is a schematic diagram for explaining the storage protection device shown in FIG. 2, and FIGS. 4(a) to (d)
) are timing charts showing operation examples of the same embodiment,
FIG. 5 is a schematic diagram for explaining the conventional page method, and FIG. 6 is a schematic diagram for explaining the conventional segment method.
FIG. 7 is a schematic diagram for explaining the conventional page segment method. 40... Microprocessor, 46... Verification table (verification table memory), 49... Judgment unit (mismatch detection circuit). Patent applicant: Toyo Tsushinki Co., Ltd.

Claims (1)

【特許請求の範囲】[Claims] マイクロプロセッサによる記憶装置へのアクセスが正当
なユーザによるアクセスでない場合に、このアクセスを
無効にする記憶保護装置において、前記マイクロプロセ
ッサから出力されるアドレスデータを取込んで、このア
ドレスデータに対応したユーザ名称データを出力する検
証用テーブルと、この検証用テーブルから出力されるユ
ーザ名称データと前記アドレスデータ中に含まれるユー
ザ名称データとが一致しているかどうかを判定する判定
部とを備え、前記判定部の判定結果に基づいて記憶装置
へのアクセスの無効/有効を制御するようにしたことを
特徴とする記憶保護装置。
A memory protection device that disables access to a storage device by a microprocessor when the access is not by a legitimate user, and a user who takes in address data output from the microprocessor and responds to this address data. a verification table that outputs name data; and a determination unit that determines whether the user name data output from the verification table matches the user name data included in the address data; What is claimed is: 1. A storage protection device that controls invalidation/validity of access to a storage device based on a determination result of a storage device.
JP62333251A 1987-03-11 1987-12-28 Memory protective device Pending JPH01173243A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP62333251A JPH01173243A (en) 1987-12-28 1987-12-28 Memory protective device
DE19883855338 DE3855338T2 (en) 1987-03-11 1988-03-10 Computer system
EP88302056A EP0286240B1 (en) 1987-03-11 1988-03-10 Computer system
US07/711,122 US5179715A (en) 1987-03-11 1991-06-05 Multiprocessor computer system with process execution allocated by process managers in a ring configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62333251A JPH01173243A (en) 1987-12-28 1987-12-28 Memory protective device

Publications (1)

Publication Number Publication Date
JPH01173243A true JPH01173243A (en) 1989-07-07

Family

ID=18264016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62333251A Pending JPH01173243A (en) 1987-03-11 1987-12-28 Memory protective device

Country Status (1)

Country Link
JP (1) JPH01173243A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58139396A (en) * 1982-02-12 1983-08-18 Hitachi Ltd Memory protecting method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58139396A (en) * 1982-02-12 1983-08-18 Hitachi Ltd Memory protecting method

Similar Documents

Publication Publication Date Title
JP4295111B2 (en) Memory management system and memory access security grant method based on linear address
US6823433B1 (en) Memory management system and method for providing physical address based memory access security
US7664925B2 (en) Arrangements having security protection
US8631250B2 (en) Method and system for designating and handling confidential memory allocations
US20080201540A1 (en) Preservation of integrity of data across a storage hierarchy
JPS63502224A (en) Paged storage management unit that can selectively support multiple address spaces
JP2005521942A (en) System and method for providing domain granular, hardware controlled memory encryption
US20090031142A1 (en) System, Method and Computer Program Product for Processing a Memory Page
US7861095B2 (en) Data processing apparatus security
US20090019256A1 (en) Memory transaction handling in a data processing apparatus
JPS59130000A (en) Method of protecting virtual memory device
KR100995146B1 (en) System and method for handling device accesses to a memory providing increased memory access security
JP3454854B2 (en) Memory management device and method
KR20060006791A (en) Nodma cache
JP4799822B2 (en) System and method for controlling access between devices in a computer system
EP0425771A2 (en) An efficient mechanism for providing fine grain storage protection intervals
JP2000138917A5 (en)
CN106155940A (en) The System on Chip/SoC of code and the code protection method of System on Chip/SoC can be protected
JPH01173243A (en) Memory protective device
US6889308B1 (en) Method and apparatus for protecting page translations
CA2029628A1 (en) Translation look aside buffer with parallel exception checking and update bypass
US10990538B2 (en) Arithmetic processing device, information processing apparatus, and method for controlling arithmetic processing device
JPS63240657A (en) Memory protecting device
JPS6250863B2 (en)
JPS607819B2 (en) information processing equipment