JP2002508569A - マルチタスク・システムのためのメモリ保護システム - Google Patents

マルチタスク・システムのためのメモリ保護システム

Info

Publication number
JP2002508569A
JP2002508569A JP2000539423A JP2000539423A JP2002508569A JP 2002508569 A JP2002508569 A JP 2002508569A JP 2000539423 A JP2000539423 A JP 2000539423A JP 2000539423 A JP2000539423 A JP 2000539423A JP 2002508569 A JP2002508569 A JP 2002508569A
Authority
JP
Japan
Prior art keywords
memory
processor
address bits
application
generated
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
JP2000539423A
Other languages
English (en)
Other versions
JP3995883B2 (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.)
Micro Motion Inc
Original Assignee
Micro Motion 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 Micro Motion Inc filed Critical Micro Motion Inc
Publication of JP2002508569A publication Critical patent/JP2002508569A/ja
Application granted granted Critical
Publication of JP3995883B2 publication Critical patent/JP3995883B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Abstract

(57)【要約】 実行中であるアプリケーションが別のアプリケーションのためのデータを格納するメモリ・セグメントにデータを書込むことを阻止するためのマルチタスク・システムにおけるメモリ保護システム。メモリ保護システムは、メモリ・レジスタからメモリに対して、実行中であるアプリケーションのメモリ・セグメントを規定するm個の上位アドレスを伝送する。メモリ保護システムは、実行中であるアプリケーションが無効アドレスを生成する時点を検出し、データ動作を禁止して、実行中であるアプリケーションのためのデータを格納するメモリ・セグメントにおけるデータの破壊を阻止する。システムは、アプリケーションが完了された後のメモリ・レジスタにおけるm個の上位アドレス・ビットが完了したアプリケーションのメモリ・セグメントのm個の上位アドレス・ビットと等しいことを検査する。

Description

【発明の詳細な説明】
【0001】 発明の分野 本発明は、マルチタスク・システムのためのメモリ保護システムに関する。特
に、本発明は、アプリケーションが別のアプリケーションのためのデータを記憶
するメモリ・セグメントへ書込むことを防止するシステムに関する。また、本発
明のメモリ保護システムは、1つのアプリケーションが別のアプリケーションの
メモリ・セグメントへの書込みを試みる時点を検出する。
【0002】 課題 マルチタスク・システムは、コンピューティング技術において広く知られてい
る。マルチタスク・システムにおいては、プロセッサによって多数のアプリケー
ションが同時に実行される。マルチタスク・システムの利点は、多数の機能を実
施するのに要するリソースの量を最小化するため単一のプロセッサが同時に多数
の機能を実施できることである。
【0003】 典型的なマルチタスク・システムは、プロセッサ、該プロセッサに関連するメ
モリ、及び、アプリケーションの処理スケジュールをたてると共にメモリに対す
るデータの読出し及び書込みを管理するオペレーティング・システムを必要とす
る。当該システムは、複数のアプリケーションを走らせる。各アプリケーション
は、予め定めた時間量だけプロセッサにより実行される。アプリケーションの実
行の結果として得るデータは、メモリへ書込まれて将来の使用のため格納される
。プロセッサは、格納されたデータを用いて、後におけるアプリケーションの実
行を再開する。マルチタスク・システムは、第1のアプリケーションが第2のア
プリケーションのデータに重ね書きすることを防止するメモリ保護方式を含む。
さもなければ、アプリケーションの一方又は両方に対するデータが壊され、アプ
リケーションが動かないことになる。
【0004】 マルチタスク・システムの一例は、パーソナル・コンピュータ上で走るウイン
ドウズ・オペレーティング・システムである。ウインドウズ・オペレーティング
・システムにおいて開かれる各ウインドウは、そのときシステムにより走らせら
れている別のソフトウエア・アプリケーションである。当該オペレーティング・
システムは、予め定めた時間量だけ各アプリケーションを実行する中央処理装置
において各アプリケーションに対する処理時間をスケジュール化する。結果とし
て得るデータは、将来使用されるようにランダム・アクセス・メモリ(RAM)
に格納される。ウインドウズ・システムにおいては、オペレーティング・システ
ムが、1つのアプリケーションに対するデータを記憶しているRAMの1つの場
所へ別のアプリケーションがデータを書込むことを防止するメモリ管理方式を備
える。
【0005】 マルチタスク・システムは、マイクロプロセッサを用いて更に小さなスケール
で動作させられる。より小さなマルチタスク・システムの一例は、流量計を流れ
る流体の異なる特性を監視して複数のアプリケーションを同時に実行するマイク
ロプロセッサである。このようなマルチタスク・システムのオペレーティング・
システムは、一般に、マイクロプロセッサの能力に依存して、厳密なシステム動
作に限定される。これらの小さなシステムにおいては、プロセッサと関連するメ
モリは、一般に、複数のセグメントに分割される。各メモリ・セグメントは、オ
ペレーティング・システムにより要求されるメモリ管理を簡単にするため1つの
アプリケーションに対するデータを格納する。1つのアプリケーションが別のア
プリケーションのデータを格納するメモリ・セグメントへデータを書込むことを
防止することが課題である。
【0006】 このような課題に対処するため、幾つかのマイクロプロセッサは、内部又は外
部のメモリ保護機構を設けて、アプリケーションがその割当てられたメモリ・セ
グメント外のアドレスへデータを書込むことを防止する。しかし、メモリ保護機
構を備えるマイクロプロセッサは非常に高価であり、かつ単一のマイクロプロセ
ッサよりも複雑な回路を有する。コストと設計の配慮から、メモリ保護システム
を持たない高価でないマイクロプロセッサを使用することが望ましい。従って、
当技術分野には、メモリ保護機構を備えないマイクロプロセッサを含むマルチタ
スク・システムにメモリ保護を提供する、安価且つ簡単な方式に対する要求が存
在する。
【0007】 解決法 上記及び他の問題は、プロセッサが制御するマルチタスク・システムに対する
メモリ保護システムに関する本発明により解決され、当技術分野における進歩が
達成される。本発明によれば、プロセッサにより実行されるソフトウエアと該プ
ロセッサの外にある回路との組合わせによって、メモリ保護システムが提供され
る。本発明は、内部メモリ保護能力を持たないプロセッサと関連して使用される
べき、比較的簡単且つ安価なメモリ保護システムを提供する。
【0008】 マルチタスク・システムは、マイクロプロセッサと、該マイクロプロセッサと
関連するメモリと、オペレーティング・システムとを備える。メモリにおける各
場所は、n個の下位アドレス・ビットとm個の上位アドレス・ビットとにより規
定される。該メモリは複数のメモリ・セグメントへ分割され、各セグメントはm
個の上位アドレス・ビットの一義的な組合わせにより規定される。プロセッサに
より実行されている各アプリケーションには、当該アプリケーションに対するデ
ータを格納する1つのメモリ・セグメントが割当てられる。オペレーティング・
システムはプロセッサによるアプリケーションの実行を管理する。
【0009】 本発明によると、メモリ保護システムは、メモリ・アドレス・レジスタと、該
メモリ・レジスタからメモリへ延びる上位アドレス・バスと、プロセッサからメ
モリへ延びる下位アドレス・バスと、誤り検出回路とを備える。メモリ・レジス
タはm個のビットを格納する。マイクロプロセッサによりアプリケーションが実
行される前に、アプリケーションのメモリ・セグメントに対するm個の上位アド
レス・ビットがメモリ・レジスタへ書込まれる。アプリケーションが実行されて
いる間に、メモリ・レジスタに格納されたm個の上位ビットが上位アドレス・バ
スを介してメモリへ送られる。メモリ・レジスタからのm個の上位アドレス・ビ
ットの伝送は、アプリケーションがその割当てられたメモリ・セグメントの外に
あるアドレスへの書込みを防止する。
【0010】 各アプリケーションは、全ゼロのような定数に等しくセットされたm個の上位
アドレス・ビットとn個の下位アドレス・ビットとを持つ、読出し/書込み操作
のためのアドレスを生成するようにコンパイルされる。m個の上位アドレス・ビ
ットは誤り検出のため用いられ、n個の下位アドレス・ビットはアプリケーショ
ンの割当てられたメモリ・セグメントにおける記憶場所を示す。
【0011】 アプリケーションにより生成されるn個の下位アドレス・ビットは、下位アド
レス・バスを介してメモリへ伝送される。このn個の下位アドレス・ビットは、
メモリ・レジスタからのm個のアドレス・ビットと組合わされてアプリケーショ
ンの割当てられたメモリ・セグメントにおける記憶場所を指定する。結果として
生じるアドレスが読出し/書込み操作を行うために用いられる。
【0012】 メモリ・レジスタからのm個の上位アドレス・ビットは選択されたアプリケー
ションがその割当てられたメモリ・セグメント外での読出し/書込み操作を防止
するけれども、選択されたアプリケーションは、或る条件下では、その割当てら
れたメモリ・セグメント外での読出し/書込み操作を試みることがある。こうし
た条件の1つは、アプリケーションがそのメモリ・セグメントの容量を越えてデ
ータを格納することを必要とするスタック・オーバーフロー誤りである。データ
を格納するために、アプリケーションは、その割当てられたメモリ・セグメント
外のアドレスへの書込みを試みて、定数に等しくないm個の上位アドレス・ビッ
トを持つアドレスを生成する。しかし、メモリ・レジスタからのm個の上位アド
レス・ビットと生成されたn個の下位アドレス・ビットとの組合わせは、有効デ
ータを含むアプリケーションの割当てられたメモリ・セグメントにおけるアドレ
スとなる。読出し/書込み操作が進行すると、選択されたアプリケーションに対
する有効データが壊されることになる。
【0013】 アプリケーションの割当てられたメモリ・セグメントにおける有効データが壊
されるのを防ぐため、誤り検出回路は、アプリケーションにより生成されるm個
の上位アドレス・ビットが定数に等しいか否かを決定する。生成されたm個の上
位アドレス・ビットが定数に等しくなければ、本発明は誤り信号を生成する。こ
の誤り信号に応答して読出し/書込み操作を停止することができ、又は、誤り信
号により誤り割込みを行うことができる。
【0014】 メモリ・レジスタにおける誤りは、アプリケーションの実行が完了した後にオ
ペレーティング・システムによって検出される。メモリ・レジスタにおけるm個
の上位アドレス・ビットは、オペレーティング・システムにより読出される。メ
モリ・レジスタからのm個の上位アドレス・ビットは、完了したアプリケーショ
ンのメモリ・セグメントを規定するm個の上位アドレス・ビットと比較される。
完了したアプリケーションとメモリ・レジスタとのm個の上位アドレス・ビット
が等しくなければ、オペレーティング・システムは誤り割込みを生成する。この
テストは、メモリ・レジスタにおける誤動作によってはデータが壊されなかった
ことを保証する。
【0015】 詳細な記述 図1は、本発明のメモリ保護機構を備えるマルチタスク・システム100の望
ましい実施の形態を示している。プロセッサ101は複数のアプリケーションに
対する指令を実行する。指令は読出し専用メモリ(ROM)150に格納される
。プロセッサ101は、バス151によりROM150に接続されるデータ・バ
ス104を介してROM150から指令を受取る。RAM120のようなメモリ
が、複数のアプリケーションの各々を実行するため必要なデータを格納するよう
にプロセッサ101と関連させられる。RAM120における各アドレスは、m
個の上位アドレス・ビットとn個の下位アドレス・ビットとにより規定される。
RAM120は望ましい実施の形態においては64キロバイトのメモリであるが
、本発明は任意のサイズのメモリを用い得るようスケーリングすることが可能で
ある。
【0016】 メモリ・レジスタ102はmビットを格納し、m個の経路112〜114によ
りマルチプレクサ130に接続される。望ましい実施の形態において、メモリ・
レジスタ102はプロセッサ101の内部にある。しかし、メモリ・レジスタ1
02をプロセッサ101の外部に置いてもよい。保護信号は、アプリケーション
又はオペレーティング・システムが実行されているかどうかを示すため、メモリ
・レジスタ102により経路115上に出力される。望ましい実施の形態におい
ては、オペレーティング・システムが実行されているとき、保護信号は経路11
5においてハイ、即ち1である。アプリケーションが実行されているとき、経路
115上の保護信号はロー、即ち0である。望ましい実施の形態においては、経
路115上の保護信号はマルチプレクサ130がどの経路をRAM120に接続
するかを決定する。ハイの保護信号は、オペレーティング・システムが実行され
ているとき誤り検出回路を不動作状態にし、誤り信号が生成されることを防止す
る。
【0017】 保護信号が経路115上でローであるとき、マルチプレクサ130は、メモリ
・レジスタ102からのm個の経路112〜114をそれぞれm個の上位アドレ
ス線122〜124に接続する。経路115上の保護信号がハイであるとき、マ
ルチプレクサ130は、バス105からのm個の経路106〜108をm個の上
位アドレス線122〜124に接続する。バス105はアドレス・バス121か
ら分岐し、m個の上位アドレス・ビットをプロセッサ101から経路106〜1
08を介してマルチプレクサ130へ直接与える。m個の経路109〜111は
、バス105からm個の上位アドレス・ビットを受取り、m個の上位アドレス・
ビットをマルチタスク・システム100の誤り検出回路へ印加する。
【0018】 データ・バス104はプロセッサ101をRAM120と接続しており、デー
タをプロセッサ101とRAM120との間で転送する。RAM120により行
われるデータ操作の形式は、プロセッサ101から読出し/書込み経路103を
介してRAM120へ伝送される読出し/書込み信号により決定される。或るア
ドレスのn個の下位アドレス・ビットは、プロセッサ101により下位アドレス
・バス121を介してRAM120へ伝送される。m個の上位アドレス線122
〜124により表わされる上位アドレス・バスは、m個の上位アドレス・ビット
をマルチプレクサ130からRAM120へ与える。望ましい実施の形態におい
ては、下位アドレス・バス121は或るアドレスの13個の下位ビットを運び、
上位アドレス・バスは65キロバイト・メモリにおける16ビット・アドレスの
3つの上位アドレス・ビットを運ぶ。しかし、n個の下位アドレス・ビットとm
個の上位アドレス・ビットの数は、異なる設計パラメータにより動作するよう変
更することができる。
【0019】 誤り検出回路は、プロセッサ101により実行されているアプリケーションに
よる、割当てられたメモリ・セグメント外でのデータの読出し/書込みの試みを
検出する。アプリケーションがその割当てられたメモリ・セグメント外での読出
し/書込みを試みるならば、誤り検出回路は誤り信号を生成する。誤り信号の生
成は、データ操作を実施不能にするか、あるいは、プロセッサ101へ伝送され
て、アプリケーションが読出し/書込み操作を完了することを防止する誤り割込
みを生じさせる。
【0020】 ソフトウエア・アプリケーションは、定数に等しいm個の上位アドレス・ビッ
トを持つ読出し/書込み操作のためのメモリ・アドレスを生成するようにコンパ
イルされる。誤り検出回路は、m個の上位アドレス・ビットが当該定数に等しい
かどうかを決定する。m個の上位アドレス・ビットと当該定数とが等しくないと
き、誤り検出回路により誤り信号が生成される。
【0021】 望ましい実施の形態においては、アプリケーションにより生成されるm個の上
位アドレス・ビットの各々に対する定数は0である。誤り検出回路は、m個のビ
ットのどれかが1である時点を検出する。誤り検出回路は、ORゲート131、
133、135と、ラッチ132と、インバータ134とを備える。ORゲート
131は、プロセッサ101からm個の経路109〜111を介してm個の上位
アドレス・ビットを受取り、経路140を介して信号を印加する。ラッチ132
は、ORゲート131からの信号を経路140を介して受取り、プロセッサ10
1からのアドレス有効信号を経路141を介して受取る。アドレス有効信号は、
アプリケーションがメモリ・アドレスの生成を完了したならば、プロセッサ10
1によりラッチ141へ送られる。ラッチ132は、経路142を介してORゲ
ート133へ信号を送る。ORゲート133は、経路115を介して保護信号を
受取り、ラッチ132から経路142を介して信号を受取る。ORゲート133
からの出力信号は、経路143上をプロセッサ101へ送られる。経路147は
経路143から分岐し、ORゲート133からの信号をインバータ134へ印加
する。反転された信号は経路146を介してORゲート135へ送られる。OR
ゲート135は、経路146上で信号を受取り、経路144を介してチップ選択
信号を受取る。ORゲート135から結果として生じた信号は、経路145を介
してRAM120へ印加される。
【0022】 アプリケーションが無効アドレスを生成するならば、誤り検出回路は以下のよ
うに動作する。ORゲート131がm個の経路109〜111から信号を受取る
。受取られた信号の少なくとも1つが1を表わすハイであり、ハイの信号が経路
140を介してラッチ132へ印加される。ラッチ132は、経路141を介し
てプロセッサ101からハイのアドレス有効信号を受取ることにより、ハイの信
号を出力するようにセットされる。有効アドレス信号は、アプリケーションが読
出し/書込み操作に対するアドレスの生成を完了したことを示す。経路140を
介するハイ信号の受取りはラッチ132をストローブし、経路142にローの信
号を印加させる。ORゲート133は、プロセッサ101から経路115上でロ
ーの保護信号を受取り、ラッチ132から経路142上でローの信号を受取る。
保護信号115はローであり、プロセッサ101によりアプリケーションが実行
されていることを示す。このローの保護信号115は、ORゲート133により
ローのラッチ信号へOR出力される。結果として得られるローの信号は、ローの
誤り信号としてプロセッサ101へ経路142上で送られる。経路147は経路
143から分岐し、ローの信号をインバータ134へ印加する。インバータ13
4からのハイの信号は、ORゲート135へ印加される。読出し/書込み操作を
完了させるローのチップ選択信号は、経路144を介してORゲート135によ
り受取られる。ORゲート135は、ローのチップ選択信号とハイの信号とをO
R処理する。ハイの信号が経路145を介してRAM120へ送られる。このハ
イの信号は、読出し/書込み操作が完了されることを防止する。
【0023】 アプリケーションにより生成されるアドレスから誤りが生じなければ、誤り検
出回路は以下のように動作する。ORゲート131がm個の経路109〜111
から信号を受取る。受取られた全ての信号はローであり、ローの信号が経路14
0を介してラッチ132へ印加される。ラッチ132は、経路141を介してプ
ロセッサ101からハイの有効信号を受取ることにより、ハイの信号を出力する
ようにセットされる。ローの信号が経路140上で受取られるので、経路142
上の信号を、生成されたアドレスに誤りがないことを示すハイに維持する。OR
ゲート133は、経路115を介してプロセッサ101からローの保護信号を受
取り、経路142を介してラッチ132からハイの信号を受取る。ローの保護信
号115は、ORゲート133により経路142からのハイのラッチ信号に対し
てOR処理される。結果として生じるハイの信号は経路143を介してプロセッ
サ101へ送られ、アドレスが有効であることを示す。経路147は経路143
から分岐し、ハイの信号をインバータ134へ印加する。インバータ134から
ローの信号がORゲート135へ印加される。読出し/書込み操作を完了させる
ローのチップ選択信号は、経路144を介してORゲート135により受取られ
る。ORゲート135は、ローのチップ選択信号とローの信号とをOR処理する
。結果として得るローの信号は、ORゲート135により経路145を介してR
AM120へ送られる。このローの信号は読出し/書込み操作を完了させる。
【0024】 図2は、本発明の代替的な実施の形態を示している。マルチタスク・システム
200はマルチタスク・システム100と同じ要素からなるが、ORゲート13
1の前側に誤り検出回路に付加される、「より大きな」の比較器202を規定す
る論理ユニットと、「より小さな」の比較器203を規定する論理ユニットとを
有する。バス105は、少なくともm個の上位アドレス・ビットを誤り検出回路
に与える。n個の下位アドレス・ビットの全て又はその一部もまた、誤り検出回
路へ与えられる。「より大きな」の比較器202は、経路210上で少なくとも
m個の上位アドレス・ビットを受取り、「より小さな」の比較器203は、経路
211上で少なくともm個の上位アドレス・ビットを受取る。メモリ・レジスタ
102からのm個の上位アドレス・ビットは、バス213上で誤り検出回路へ送
られる。「より大きな」の比較器202は経路214を介してバス213からm
個の上位アドレス・ビットを受取り、「より小さな」の比較器203は経路21
5を介してバス213からm個の上位アドレス・ビットを受取る。「より大きな
」の比較器202は信号を経路205を介してORゲート131へ印加し、「よ
り小さな」の比較器203は信号を経路206を介してORゲート131へ印加
する。
【0025】 代替的な実施の形態においては、アプリケーションにより生成される各アドレ
スのm個の上位アドレス・ビットは、アプリケーションに対するデータを格納す
るメモリ・セグメントを規定するm個の上位アドレス・ビットの一義的な組合わ
せに等しい。代替的な実施の形態で生成することができる3つの形式のアドレス
、即ち、アプリケーション・メモリ・セグメントにおける最下位アドレスより小
さいアドレス、アプリケーション・メモリ・セグメント間のアドレス、及びアプ
リケーションのメモリ・セグメントの最上位アドレスより大きいアドレスが存在
する。生成されたアドレスがアプリケーション・メモリ・セグメントの最上位ア
ドレスより大きいか、あるいはアプリケーション・メモリ・セグメントの最下位
アドレスより小さいときに、誤りが生じる。
【0026】 メモリ・セグメントの最下位アドレスより小さなアドレスが生成されるとき、
誤り検出回路は以下のように動作する。生成されたm個の上位アドレス・ビット
は、経路210を介して「より大きな」の比較器202により受取られる。メモ
リ・レジスタ102からのm個の上位アドレス・ビットは、経路214を介して
「より小さな」の比較器202により受取られる。「より大きな」の比較器20
3は、生成されたm個の上位アドレス・ビットとメモリ・レジスタ102からの
m個の上位アドレス・ビットとを比較する。生成されたm個の上位アドレス・ビ
ットはメモリ・レジスタのm個の上位アドレス・ビットより小さいので、ローの
信号が経路205を介してORゲート131へ送られる。このローの信号は、生
成されたアドレスがメモリ・セグメントの最上位アドレスより小さく且つ有効ア
ドレスであることを示す。生成されたm個の上位アドレス・ビットは、経路21
1を介して「より小さな」の比較器203により受取られる。メモリ・レジスタ
102からのm個の上位アドレス・ビットは、経路215を介して「より小さな
」の比較器203により受取られる。「より小さな」の比較器203は、生成さ
れたm個の上位アドレス・ビットとメモリ・レジスタ102からのm個の上位ア
ドレス・ビットとを比較する。生成されたm個の上位アドレス・ビットはメモリ
・レジスタのm個の上位アドレス・ビットより小さく、ハイの信号が経路206
を介してORゲート131へ送られる。このハイの信号は、生成されたアドレス
がアドレス・セグメントにおける最下位アドレスと無効アドレスより小さいこと
を示す。経路205からのハイの信号と経路204からのローの信号とが、OR
ゲート131によりOR処理される。結果として生じるハイの信号は経路140
上に送られ、誤り検出回路の残りの部分は、図1において先に述べた如く、誤り
に対する操作を完了する。
【0027】 メモリ・セグメントにおける最上位アドレスより大きなアドレスが生成される
とき、誤り検出回路は以下のように動作する。生成されるm個の上位アドレス・
ビットは、経路210を介して「より大きな」の比較器202により受取られる
。メモリ・レジスタ102からのm個の上位アドレス・ビットは、経路214を
介して「より大きな」の比較器202により受取られる。「より大きな」の比較
器202は、生成されたm個の上位アドレス・ビットとメモリ・レジスタ102
からのm個の上位アドレス・ビットとを比較する。生成されたm個の上位アドレ
ス・ビットはメモリ・レジスタのm個の上位アドレス・ビットより大きく、ハイ
の信号が経路205を介してORゲート131へ送られる。このハイの信号は、
生成されたm個のアドレスが最上位のメモリ・セグメント・アドレスと無効アド
レスより大きいことを示す。また、生成されたm個の上位アドレス・ビットは、
経路211を介して「より小さな」の比較器203により受取られる。メモリ・
レジスタ102からのm個の上位アドレス・ビットは、経路215を介して「よ
り小さな」の比較器203により受取られる。「より小さな」の比較器203は
、生成されたm個の上位アドレス・ビットとメモリ・レジスタ102からのm個
の上位アドレス・ビットとを比較する。生成されたm個の上位アドレス・ビット
はメモリ・レジスタのm個の上位アドレス・ビットより大きく、ローの信号が経
路206を介してORゲート131へ送られる。このローの信号は、生成された
アドレスが最下位メモリ・セグメント・アドレスより大きいことを示す。経路2
05からのハイの信号と経路206からのローの信号とはOR処理される。結果
として得るハイの信号は経路140上で送られ、誤り検出回路の残りの部分は、
図1において先に述べたように、誤りに対する操作を完了する。
【0028】 最下位メモリ・セグメント・アドレスより大きく且つ最上位メモリ・セグメン
ト・アドレスより小さなアドレスが生成されるとき、誤り検出回路は以下のよう
に動作する。生成されたm個の上位アドレス・ビットは、経路210を介して「
より大きな」の比較器202により受取られる。メモリ・レジスタ102からの
m個の上位アドレス・ビットは、経路214を介して「より大きな」の比較器2
02により受取られる。「より大きな」の比較器202は、生成されたm個の上
位アドレス・ビットとメモリ・レジスタ102からのm個の上位アドレス・ビッ
トとを比較する。生成されたm個の上位アドレス・ビットは、メモリ・レジスタ
のm個の上位アドレス・ビットより小さく、ローの信号が経路205上でORゲ
ート131へ送られる。このローの信号は、生成されたアドレスが最上位セグメ
ント・アドレスより小さく且つ有効アドレスであることを示す。また、生成され
たm個の上位アドレス・ビットも、経路211を介して「より小さな」の比較器
203により受取られる。メモリ・レジスタ102からのm個の上位アドレス・
ビットは、経路215を介して「より小さな」の比較器203により受取られる
。「より小さな」の比較器203は、生成されたm個の上位アドレス・ビットと
メモリ・レジスタ102からのm個の上位アドレス・ビットとを比較する。生成
されたm個の上位アドレス・ビットはメモリ・レジスタのm個の上位アドレス・
ビットより小さく、ローの信号が経路206上をORゲート131へ送られる。
このローの信号は、生成されたアドレスが最下位セグメント・アドレスより大き
く且つ有効アドレスであることを示す。経路205からのローの信号と経路20
4からのローの信号とがOR処理される。結果として得るローの信号が経路14
0上で送られ、誤り検出回路の残りの部分は、図1において先に述べたように、
適切な生成アドレスに対する動作を完了する。
【0029】 図3は、複数のセグメント300〜307へ分割されるRAM120を示す。
セグメント300〜307の各々は、m個の上位アドレス・ビットの一義的な組
合わせにより規定される。要求されるmビットの数は、メモリにおけるセグメン
ト数により決定される。例えば、RAM120は64キロバイトであり、8つの
セグメントに分割される。mは3に等しく、各セグメントは上位3ビットの一義
的な組合わせで規定される。この例においては、セグメント300〜307の上
位3ビットは、それぞれ000、001、010、011、100、101、1
10及び111である。
【0030】 マルチタスク・システム100は、プロセッサ101により実行されるオペレ
ーティング・システムと複数のアプリケーションA〜Gとを走らせる。各アプリ
ケーションA〜Gとオペレーティング・システムは、図3に示されるように、R
AM120のセグメント300〜307の1つにデータを格納する。本発明は、
定数にセットされたm個の上位アドレス・ビットを有する、データ操作のための
アドレスを生成するように、各アプリケーションがコンパイルされることを必要
とする。例えば、アプリケーションA〜Gは、望ましい実施の形態においては、
m個の上位アドレス・ビットが0であるアドレスを生成する。本発明におけるオ
ペレーティング・システムは、本発明におけるアプリケーションA〜Gの実行を
スケジューリングすると共に、メモリ全体にアクセスしてデータをアプリケーシ
ョン間で転送する。
【0031】 本発明によるメモリ保護機構を備えるマルチタスク・システムの動作の概要が
、図4に示される。プロセス400は、アプリケーションA〜Gの1つを実行す
るようにオペレーティング・システムがシステムを初期設定するステップ401
から始まる。ステップ402において、アプリケーションAのような選択された
アプリケーションがプロセッサ101により実行される。オペレーティング・シ
ステムは、ステップ403において、メモリ・レジスタ102におけるm個の上
位アドレス・ビットがアプリケーションAのm個の上位アドレス・ビットと等し
いことを検査する。アプリケーションA〜Gがプロセッサ101により実行され
る毎に、プロセス400が反復される。
【0032】 ステップ401においてオペレーティング・システムにより行われるマルチタ
スク・システム100の初期設定は、図5におけるプロセス500によって示さ
れる。第一に、オペレーティング・システムはステップ501において、実行さ
れるべきアプリケーション、例えばアプリケーションAを選択する。ステップ5
02において、アプリケーションAに対するデータを格納するため割当てられる
メモリ・セグメントのm個の上位アドレス・ビット001が、オペレーティング
・システムによりメモリ・レジスタ102へ書込まれる。ステップ503におい
て、保護信号115がローにセットされ、アプリケーションAがプロセッサ10
1により実行されていることを示す。次いで、プロセス500は、図4における
プロセス400のステップ401へ戻る。
【0033】 図6は、プロセス400のステップ402においてアプリケーションAを実行
するプロセス600を示す。プロセス600は、アプリケーションAが実行され
ているステップ601で始まる。ステップ602において、アプリケーションA
はRAM120に対する読出し/書込み操作を行わなければならない。ステップ
603において、読出し/書込み操作を行うため、アドレスがアプリケーション
Aにより生成される。生成されたアドレスは、定数にセットされるm個の上位ア
ドレス・ビットを有する。望ましい実施の形態においては、m個の上位アドレス
・ビットの各々は0である。生成されたn個の下位アドレス・ビットは、ステッ
プ604において下位アドレス・バス121を介してRAM120へ送られる。
読出し/書込み操作のためのアドレスのm個の上位ビットは、経路122〜12
4により表わされる上位アドレス・バスを介してメモリ・レジスタ102からR
AM120に入力される。
【0034】 ステップ603において生成されたm個の上位アドレス・ビットは、ステップ
605において、プロセッサ101によりバス105と経路109〜111とを
介して誤り検出回路へ送られる。誤り検出回路は無効アドレスが生成されたかど
うかを決定する。読出し/書込み操作はステップ606において完了する。プロ
セス600は、アプリケーションの実行が完了したかどうかを決定するステップ
607において完了される。アプリケーションの実行が完了しなければ、ステッ
プ607が、ステップ601から始まるプロセス600を反復する。実行が完了
されると、プロセス600は図4のプロセス400のステップ402へ戻る。
【0035】 誤り検出回路は、ステップ605においてm個の上位アドレス・ビットを受取
り、図7に示されるプロセス700を完了する。プロセス700は、プロセス6
00において実行されているアプリケーションのためのデータを格納するメモリ
・セグメントにおけるデータを保護する。メモリ・レジスタ102は、実行され
ているアプリケーションのメモリ・セグメントのための固有のmビットを伝送し
、アプリケーションがそのメモリ・セグメント外でデータを書込むことを防止す
る。スタック・オーバーフロー誤りのような或る条件に応答して、アプリケーシ
ョンは、そのメモリ・セグメント外のアドレスを生成しようと試みる。しかし、
無効アドレスからのnビットとメモリ・レジスタ102からのmビットとの組合
わせが、有効データを含む、アプリケーションのメモリ・セグメント内のアドレ
スを生成する。誤り検出回路は、無効の上位アドレス・ビットを検出して、アプ
リケーションのメモリ・セグメントにおける有効データの破壊を防止するためデ
ータ操作を禁止しなければならない。
【0036】 プロセス700は、m個の上位ビットが定数に等しいかどうかを決定するステ
ップ701から始まる。望ましい実施の形態においては、アプリケーションによ
り生成されたmビットがそれぞれゼロであり、誤り検出回路はゼロに等しくない
ビットを検出する。m個のビットが定数に等しければ、プロセス700は図6に
示されるプロセス600のステップ605へ戻る。m個の上位アドレス・ビット
が当該定数に等しくなければ、プロセス700はステップ702において誤り信
号を生成する。誤り信号に応答して、ステップ703はチップ選択信号を禁止状
態にして読出し/書込み操作を止め、アプリケーションのメモリ・セグメントに
おけるデータの破壊を防止する。望ましい実施の形態においては、ステップ70
1〜703は、図1において先に述べた如き誤り検出回路により実行される。
【0037】 図7のステップ704において、ステップ702で生成された誤り信号がプロ
セッサ101へ送られる。ステップ705において、プロセッサ101は誤り割
込みを生じ、あるいは、誤り信号の受取りに応答して誤りフラグをセットする。
プロセッサ101の応答はオペレーティング・システムにより決定され、本発明
の製造者の設計上の選択である。誤り回復は本発明の範囲に含まれないため、ス
テップ703及びステップ704からの誤り回復については論述しない。
【0038】 図8は、プロセス400のステップ403においてオペレーティング・システ
ムにより実行される誤り検出プロセス800を示す。まず、保護信号115はス
テップ801においてハイの信号へセットされ、オペレーティング・システムが
実行中であることを示す。ステップ802において、メモリ・レジスタ102が
オペレーティング・システムにより読出される。ステップ803においてオペレ
ーティング・システムにより、メモリ・レジスタ102から読出されるm個の上
位アドレス・ビットが、完了したアプリケーションのメモリ・セグメントに対す
るm個の上位アドレス・ビットと比較される。m個の上位アドレス・ビットが等
しくなければ、ステップ804において誤り信号がオペレーティング・システム
により生成される。さもなければ、プロセス800は図4のプロセス400のス
テップ403へ戻る。
【0039】 本発明は、マルチタスク・システムにおけるメモリ保護の提供に関するもので
ある。本明細書では特定の例が例示的に開示されているが、当業者であれば、請
求項に含まれる代替的なメモリ保護システムを文言とおり又は均等論の下で設計
できることができよう。
【図面の簡単な説明】
【図1】 本発明のメモリ保護機構を備えたプロセッサ制御マルチタスク・システムの一
つの望ましい実施の形態を示すブロック図である。
【図2】 本発明のメモリ保護機構を備えたプロセッサ制御マルチタスク・システムの代
替的な実施の形態を示すブロック図である。
【図3】 複数のセグメントに分割された、マルチタスク・システムにおけるメモリを示
すブロック図である。
【図4】 図1の望ましい実施の形態の動作の概要を示すフロー図である。
【図5】 アプリケーションを望ましい実施の形態において実行するよう用意するプロセ
スのフロー図である。
【図6】 望ましい実施の形態におけるアプリケーション実行期間での読出し/書込み操
作を実行するプロセスのフロー図である。
【図7】 望ましい実施の形態においてアプリケーションが無効アドレスを生成したかど
うかを決定するプロセスのフロー図である。
【図8】 望ましい実施の形態においてアプリケーションの実行が完了した後にメモリ・
レジスタに格納されたm個の上位アドレス・ビットの変化を検出するプロセスの
フロー図である。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年1月18日(2000.1.18)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0003
【補正方法】変更
【補正内容】
【0003】 典型的なマルチタスク・システムは、プロセッサと、プロセッサに関連するメ
モリ、及び、アプリケーションの処理スケジュールをたてると共にメモリに対す
るデータの読出し及び書込みを管理するオペレーティング・システムを必要とす
る。当該システムは、複数のアプリケーションを走らせる。各アプリケーション
は、予め定めた時間量だけプロセッサにより実行される。アプリケーションの実
行の結果として得るデータは、メモリへ書込まれて将来の使用のため格納される
。プロセッサは、格納されたデータを用いて、後におけるアプリケーションの実
行を再開する。マルチタスク・システムは、第1のアプリケーションが第2のア
プリケーションのデータに重ね書きすることを防止するメモリ保護方式を含む。
さもなければ、アプリケーションの一方又は両方に対するデータが壊され、アプ
リケーションが動かないことになる。このようなプロセッサの一例は、インテル
社による386DXプロセッサ・マニュアルに記載されるような386DXプロ
セッサである。
【手続補正書】
【提出日】平成13年3月2日(2001.3.2)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 グリーン,トーマス・シー アメリカ合衆国コロラド州80301,ボール ダー,ハーウィッチ・ストリート 4709 Fターム(参考) 5B017 AA02 BA01 BB03 CA01 5B098 GA02 GA04 GD21

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 複数のアプリケーション(A〜G)を実行するプロセッサ(
    101)に接続されたメモリ(120)に格納されたデータの破壊を防止するメ
    モリ保護システム(100)であって、前記複数のアプリケーション(A〜G)
    の各々がm個の上位アドレス・ビット(0000h−FFFFh)の一義的な組
    合わせにより識別される前記メモリ(120)の複数のセグメント(300〜3
    07)の1つにデータを格納するメモリ保護システムにおいて、 前記プロセッサ(101)により実行されているアプリケーション(A〜G)
    のためのデータを格納する前記複数のセグメント(300〜307)の前記1つ
    を識別するm個の上位アドレス・ビットの前記一義的な組合わせを受取り且つ格
    納するメモリ・レジスタ(102)と、 前記メモリ(120)に対するデータ転送のため前記プロセッサ(101)に
    より生成されるn個の下位アドレス・ビットを伝送する下位アドレス・バス(1
    21)と、 前記アプリケーションが前記プロセッサ(101)により実行されていること
    を示す第1の信号に応答して前記メモリ・レジスタ(102)から前記m個の上
    位アドレス・ビットを選択的に伝送し、且つ、オペレーティング・システムが前
    記プロセッサ(101)により実行されていることを示す第2の信号の受取りに
    応答して前記プロセッサ(101)により生成される前記m個の上位アドレス・
    ビットを選択的に伝送するマルチプレクサ(130)と、 前記データ転送を行うため前記プロセッサ(101)により生成されるアドレ
    スにおける誤りを検出して、該誤りの検出に応答して誤り信号を生成する検出回
    路(132)と、 を備えることを特徴とするメモリ保護システム。
  2. 【請求項2】 生成中されている前記誤り信号に応答して前記データ転送を
    禁止する禁止回路(134〜135)を更に備えることを特徴とする請求項1記
    載のシステム(100)。
  3. 【請求項3】 前記検出回路(132)からの前記誤り信号が前記プロセッ
    サ(101)へ伝送され、該プロセッサが前記誤り信号の受取りに応答して誤り
    割込みを実行する請求項1記載のシステム(100)。
  4. 【請求項4】 前記検出回路(132)が、 前記1つのアプリケーションの実行期間に前記プロセッサ(101)により生
    成されるm個の上位アドレス・ビットを、そのとき実行されている前記アプリケ
    ーションのためのデータを格納する前記メモリにおける前記複数のセグメントの
    前記1つを識別する前記m個の上位アドレス・ビットと比較する比較回路(13
    1)を備えることを特徴とする請求項1記載のシステム(100)。
  5. 【請求項5】 前記比較回路(202、203、131)が前記メモリ・レ
    ジスタ(102)から前記m個の上位アドレス・ビットを受取る請求項4記載の
    システム(200)。
  6. 【請求項6】 前記比較回路(131)が、実行中の前記オペレーティング
    ・システムに応答して使用禁止される請求項5記載のシステム(200)。
  7. 【請求項7】 プロセッサ(101)に接続されたメモリ(120)の複数
    のセグメントに格納されたデータの破壊を防止する方法(400)であって、前
    記複数のセグメント(300〜307)の各々が、m個の上位アドレス・ビット
    (0000h−FFFFh)の一義的組合わせにより識別され、且つ、前記プロ
    セッサにより実行中である前記複数のアプリケーションの別の1つのためのデー
    タを格納する方法において、 前記複数のアプリケーションの実行されている1つに対して生成されるm個の
    上位アドレス・ビットを受取るステップ(603)と、 受取られた前記m個の上位アドレス・ビットをメモリ・レジスタに格納するス
    テップ(502)と、 複数の前記アプリケーション(A〜G)の実行されている前記1つに対するデ
    ータ転送を実行する前記プロセッサ(101)に応答して、前記m個の上位アド
    レス・ビットを前記メモリ・レジスタから前記メモリへ伝送するステップ(60
    4)と、 前記メモリ(120)に対する前記データ転送のため前記プロセッサ(101
    )により生成されるn個の下位アドレス・ビットを伝送するステップ(604)
    と、 前記データ転送のため前記プロセッサ(101)により生成されるアドレスに
    おける誤りを検出するステップ(700)と、 前記誤りの検出に応答して誤り信号を生成するステップ(702)と、 を備えることを特徴とする方法。
  8. 【請求項8】 前記誤り信号の生成に応答して前記データ転送を禁止するス
    テップ(703)を更に備えることを特徴とする請求項7記載の方法(400)
  9. 【請求項9】 前記誤り信号を前記プロセッサ(101)へ伝送するステッ
    プ(704)を更に備えることを特徴とする請求項7記載の方法(400)。
  10. 【請求項10】 前記誤り信号の受取りに応答して前記プロセッサ(101
    )において誤り割込みを生成するステップ(705)を更に備えることを特徴と
    する請求項9記載の方法(400)。
  11. 【請求項11】 前記誤りを検出する前記ステップ(700)が、 前記データ転送のため前記プロセッサにより生成されるm個の上位アドレス・
    ビットを、前記複数のアプリケーションの実行された前記1つのためのデータを
    格納する複数の前記セグメントの前記1つを識別する前記m個の上位アドレス・
    ビットと比較するステップ(701)を含む請求項7記載の方法(400)。
  12. 【請求項12】 前記検出するステップ(700)が、 前記m個の上位アドレス・ビットを格納するメモリ・レジスタ(102)から
    前記m個の上位アドレス・ビットを受取るステップを更に備えることを特徴とす
    る請求項11記載の方法(400)。
  13. 【請求項13】 実行中のオペレーティング・システムに応答して前記プロ
    セッサ(101)により生成される前記m個の上位アドレス・ビットを伝送する
    ステップを更に備えることを特徴とする請求項7記載の方法(400)。
  14. 【請求項14】 実行中の前記オペレーティング・システムに応答して前記
    誤り検出を禁止するステップを更に備えることを特徴とする請求項13記載の方
    法(400)。
JP2000539423A 1997-12-16 1998-12-07 マルチタスク・システムのためのメモリ保護システム Expired - Fee Related JP3995883B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/991,422 1997-12-16
US08/991,422 US5995750A (en) 1997-12-16 1997-12-16 Memory protection system for a multi-tasking system
PCT/US1998/025953 WO1999031595A1 (en) 1997-12-16 1998-12-07 Memory protection system for a multi-tasking system

Publications (2)

Publication Number Publication Date
JP2002508569A true JP2002508569A (ja) 2002-03-19
JP3995883B2 JP3995883B2 (ja) 2007-10-24

Family

ID=25537200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000539423A Expired - Fee Related JP3995883B2 (ja) 1997-12-16 1998-12-07 マルチタスク・システムのためのメモリ保護システム

Country Status (10)

Country Link
US (1) US5995750A (ja)
EP (1) EP1023666B1 (ja)
JP (1) JP3995883B2 (ja)
CN (1) CN1169056C (ja)
AR (1) AR014124A1 (ja)
AU (1) AU1715099A (ja)
DE (1) DE69817852T2 (ja)
HK (1) HK1032647A1 (ja)
MY (1) MY117539A (ja)
WO (1) WO1999031595A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460121B1 (en) * 1998-09-14 2002-10-01 Compaq Information Technologies Group, L.P. Method for providing an atomic memory read using a compare-exchange instruction primitive
US6883171B1 (en) * 1999-06-02 2005-04-19 Microsoft Corporation Dynamic address windowing on a PCI bus
US7631160B2 (en) * 2001-04-04 2009-12-08 Advanced Micro Devices, Inc. Method and apparatus for securing portions of memory
US6798711B2 (en) * 2002-03-19 2004-09-28 Micron Technology, Inc. Memory with address management
US7523455B2 (en) * 2002-05-03 2009-04-21 Hewlett-Packard Development Company, L.P. Method and system for application managed context switching
EP1820093B1 (de) * 2004-10-25 2018-08-15 Robert Bosch Gmbh Verfahren und einrichtung zum umschalten in einem computersystem mit mindestens zwei ausführungseinheiten
US7783896B2 (en) * 2005-09-06 2010-08-24 Research In Motion Limited System and method for management of plaintext data in a mobile data processing device
US20130166922A1 (en) * 2011-12-23 2013-06-27 Ati Technologies Ulc Method and system for frame buffer protection
US8788727B1 (en) * 2013-01-10 2014-07-22 Agilent Technologies, Inc. Electronic system subject to memory overflow condition
US10496398B2 (en) 2017-07-25 2019-12-03 Aurora Labs Ltd. Hot updates to ECU software using tool chain

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2902402B2 (ja) * 1987-09-30 1999-06-07 三菱電機株式会社 データ処理装置
JPH01219982A (ja) * 1988-02-29 1989-09-01 Hitachi Maxell Ltd Icカード
US5280614A (en) * 1990-08-21 1994-01-18 International Business Machines Corporation Apparatus and method for controlling access to data using domains
US5539899A (en) * 1992-04-03 1996-07-23 International Business Machines Corporation System and method for handling a segmented program in a memory for a multitasking data processing system utilizing paged virtual storage
US5590351A (en) * 1994-01-21 1996-12-31 Advanced Micro Devices, Inc. Superscalar execution unit for sequential instruction pointer updates and segment limit checks
US5440710A (en) * 1994-03-08 1995-08-08 Exponential Technology, Inc. Emulation of segment bounds checking using paging with sub-page validity
US5577219A (en) * 1994-05-02 1996-11-19 Intel Corporation Method and apparatus for preforming memory segment limit violation checks
JPH08272625A (ja) * 1995-03-29 1996-10-18 Toshiba Corp マルチプログラム実行制御装置及び方法
US5787492A (en) * 1996-04-09 1998-07-28 International Business Machines Corporation Address limit check apparatus with conditional carry logic

Also Published As

Publication number Publication date
AU1715099A (en) 1999-07-05
US5995750A (en) 1999-11-30
DE69817852T2 (de) 2004-05-06
CN1169056C (zh) 2004-09-29
HK1032647A1 (en) 2001-07-27
AR014124A1 (es) 2001-02-07
WO1999031595A1 (en) 1999-06-24
EP1023666B1 (en) 2003-09-03
EP1023666A1 (en) 2000-08-02
DE69817852D1 (de) 2003-10-09
MY117539A (en) 2004-07-31
CN1282430A (zh) 2001-01-31
JP3995883B2 (ja) 2007-10-24

Similar Documents

Publication Publication Date Title
EP0730230B1 (en) Method for prioritizing and handling errors in a computer system
CA2024444C (en) Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
US5717954A (en) Locked exchange FIFO
US6321314B1 (en) Method and apparatus for restricting memory access
US4985825A (en) System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer
EP0121373B1 (en) Multilevel controller for a cache memory interface in a multiprocessing system
JP4395425B2 (ja) 破損データ値を処理するためのデータ処理装置と方法
US4851991A (en) Central processor unit for digital data processing system including write buffer management mechanism
EP0636973A2 (en) Processor interface chip for dual-microprocessor processor system
US5671231A (en) Method and apparatus for performing cache snoop testing on a cache system
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
US7065681B2 (en) Flexible method for satisfying complex system error handling requirements via error promotion/demotion
JP2002508569A (ja) マルチタスク・システムのためのメモリ保護システム
US20030014697A1 (en) System and method for dynamically moving checksums to different memory locations
EP1278123B9 (en) High integrity cache directory
US6339823B1 (en) Method and apparatus for selective writing of incoherent MMX registers
US6324635B1 (en) Method and apparatus for address paging emulation
US5201052A (en) System for transferring first and second ring information from program status word register and store buffer
US6526496B1 (en) Burst instruction alignment method apparatus and method therefor
JPH01235100A (ja) 半導体記憶装置
EP0432807B1 (en) Microprocessor having internal cache memory
JPH04309137A (ja) メモリシステム
JPS6168663A (ja) 入出力制御装置
JPS61139836A (ja) パイプライン計算機の命令制御方式
JPS6325380B2 (ja)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050617

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050916

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070404

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070801

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees