JPH06175916A - アドレス生成処理方法 - Google Patents
アドレス生成処理方法Info
- Publication number
- JPH06175916A JPH06175916A JP32833292A JP32833292A JPH06175916A JP H06175916 A JPH06175916 A JP H06175916A JP 32833292 A JP32833292 A JP 32833292A JP 32833292 A JP32833292 A JP 32833292A JP H06175916 A JPH06175916 A JP H06175916A
- Authority
- JP
- Japan
- Prior art keywords
- address
- area
- task
- absolute
- offset
- 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
Links
Abstract
のアドレス障害によるシステム破壊が生じないようにし
た、アドレス生成処理方法を目的とする。 【構成】 所与のベースアドレスにオフセットアドレス
を加算して絶対アドレスを生成してタスク領域にアクセ
スする場合において、各該タスクは、該タスク領域の先
頭絶対アドレスを越えず、割当領域内であり、且つ該割
当領域の末尾の絶対アドレスから、該オフセットアドレ
スの最大値だけ若い絶対アドレスを越えない値を、該ベ
ースアドレスとして指定され(1)、該ベースアドレスと
該タスク領域の該先頭絶対アドレスとの差を先頭オフセ
ットアドレスとして指定され(2)、該タスクが該主記憶
領域へアクセスする場合に、該先頭オフセットアドレス
に所要のタスク領域内相対オフセットアドレスを加算し
た値を該ベースアドレスに加算して絶対アドレスを生成
する(3)ように構成する。
Description
れるタスクについて、主記憶領域の記憶保全のために、
アクセスを管理するためのアドレス生成処理方法に関す
る。
16ビット単位であり、主記憶の領域が1メガバイト(1メ
ガバイト=1024キロバイト、1キロバイト=1024バイ
ト) まである場合等に、主記憶にアクセスする場合に主
記憶領域のバイト位置を指定するアドレス (以下に絶対
アドレスという)には当然20ビットを要するので、その
ような絶対アドレスを生成するために次のような構成を
用いる場合がある。
ントアドレスとオフセットアドレスを、それぞれセグメ
ントレジスタ及びオフセットレジスタに保持し、アドレ
ス生成機構は、セグメントレジスタの内容を16倍(即ち
4ビット左(上位方向)にシフト)して20ビットのベー
スアドレスとし、このベースアドレスにオフセットアド
レスを加算して20ビットの絶対アドレスを生成する。
合に、主記憶領域は例えば図3に示すように、システム
領域及びエラー処理ルーチン領域がシステムによって確
保され、その間の記憶領域が各タスクにタスク領域を割
り当てるための割当領域とされる。
ペレーティングシステムの各種管理プログラム、システ
ム管理情報、割込ベクタテーブル等を保持し、エラー処
理ルーチン領域は、オペレーティングシステムでエラー
を検出した場合等に、エラーを処置するために必要なプ
ログラムを、その計算機のシステム構成に応じて保持す
るものであり、図3の例は128 キロバイトの主記憶を実
装するシステムで、システム領域を絶対アドレス00000
から039FF(16進表示、以下も同様)、エラー処理ルーチ
ン領域を絶対アドレス1F000 から1FFFF までにとり、中
間の絶対アドレス03A00から1EFFFまでを割当領域とす
る。
ングシステムの管理プログラムが、そのタスクに必要な
大きさの領域を割当領域から切り出し、当タスクのタス
ク領域として割り当てる。
に、例えば各タスク領域は16ビットのオフセットアドレ
スでアドレシング可能な64キロバイト以内に制限され、
割当領域を16バイト境界でタスク領域に割り当てて、タ
スク領域の先頭絶対アドレスをベースアドレスとするよ
うに、先頭絶対アドレスの下位4ビットを除いた16ビッ
トがセグメントアドレスとしてセグメントレジスタに設
定される。
スク領域を取った場合に、図の左側のセグメントアドレ
スの欄に示すようにセグメントアドレスが指定される。
オフセットアドレスは0から始まる。
ムをロードする領域とデータ領域が設けられ、タスクの
処理実行によってアクセスされる。タスクが処理を実行
して発生する主記憶アドレスは、16ビットのタスク領域
内相対アドレスであり、そのアドレスによって主記憶に
アクセスする場合には、相対アドレスを前記オフセット
アドレスとし、セグメントアドレスをシフトしたベース
アドレスに前記のように加算して絶対アドレスを生成す
る。
スク領域を64キロバイトに制限するシステムの場合に、
各タスクが必要とするタスク領域は一般に64キロバイト
より小さい。
る最小の大きさの領域を割当領域から切り出して、各タ
スク領域とし、要求に応じて、できるだけ多数のタスク
領域を割り当てることができるように管理する。
領域を割り当てた場合にも、ベースアドレスを基準とし
て64キロバイトの範囲の絶対アドレスの生成は可能であ
るので、もしタスクが何らかの原因で、誤ってタスク領
域を越えるオフセットアドレスを生成すると、割り当て
られたタスク領域を越えてアクセスが行われる。
のタスク領域外を変更するので、何らかの異常状態の要
因となる可能性がある。特に、そのタスク領域が図3の
タスクA等のようにエラー処理ルーチン領域に近接して
いる場合には、エラー処理ルーチンを書き換えてしま
い、システムの正常なエラー処理が保証できなくなるの
で、その影響がすべてのタスクに及ぶ可能性がある。
ステム破壊が生じないようにした、アドレス生成処理方
法を目的とする。
示す処理の流れ図である。図はアドレス生成処理方法の
処理の流れであって、一定ビット長の絶対アドレスでア
クセスされる主記憶領域の中に、連続した割当領域を設
け、該割当領域内の連続領域をタスク領域として各タス
クに割り当て、該タスクは当該タスク領域で実行され、
該タスク領域へアクセスする場合に、所与のベースアド
レスにオフセットアドレスを加算して該絶対アドレスを
生成し、該ベースアドレスは該絶対アドレスと同じビッ
ト長で表され、該オフセットアドレスは該ベースアドレ
スより短い一定ビット長で表される計算機の、該タスク
領域のアクセスに関する処理である。
に、該タスク領域の先頭絶対アドレスを越えず、該割当
領域内であり、且つ該割当領域の末尾の絶対アドレスか
ら、該オフセットアドレスを表すビット長で表される最
大値だけ若い絶対アドレスを越えない値を、該ベースア
ドレスとして指定される(処理ステップ1)。
先頭絶対アドレスとの差を、該タスク領域の先頭オフセ
ットアドレスとして指定される(処理ステップ2)。該
タスクが該主記憶領域へアクセスするための絶対アドレ
スを生成する場合に、該先頭オフセットアドレスに所要
のタスク領域内相対オフセットアドレスを加算した値を
該オフセットアドレスとして、該ベースアドレスに加算
する(処理ステップ3)。
オフセットアドレスを16ビット、即ち16進表示で0000か
らFFFFとした場合に、各タスク領域はベースアドレス+
オフセットアドレス0000から始まるのではない。
ットアドレスを設けて、タスク領域はベースアドレス+
先頭オフセットアドレスから始まるようにする。このよ
うにして、ベースアドレス+0000〜FFFFが割当領域を越
えてシステムの領域(前記システム領域及びエラー処理
ルーチン領域等)を指示する値にならないように、ベー
スアドレスの値を定める。
スを発生する何らかのエラーが生じたとしても、その結
果システムの領域を不当に書き換えるような事故の発生
は防ぐことができる。
レスを16倍したベースアドレスに、16ビットのオフセッ
トアドレスを加算して絶対アドレスを生成し、又主記憶
は例えば図3に示したようにシステム領域とエラー処理
ルーチン領域に挟まれた領域をタスク領域のための割当
領域とするシステムであるとして、実施例を説明する。
めのベースアドレスは割当領域内にあり、且つベースア
ドレスにオフセットアドレスの最大値FFFF(10進で6553
5)を加えて得る絶対アドレスが割当領域を越えないよう
に制御するから、割当領域は当然少なくとも64キロバイ
ト(65536バイト)より小さくしてはならないことは明ら
かである。
エラー処理ルーチン領域を取った後に、少なくとも64キ
ロバイトの割当領域が残るように、十分な大きさの主記
憶を実装したシステム構成として、割当領域を定めてお
く。
理の流れの一詳細例を示す図である。システムの管理プ
ログラムは、管理のために割当領域先頭アドレスHEAD、
割当領域末尾アドレスTAIL、及び割当領域末尾アドレス
TAILからオフセットアドレスの最大値FFFFを減じた値LI
MIT を保持する。前記の割当領域の大きさの条件からHE
AD≦LIMIT であることは明らかである。
バイトを最小単位として、16バイト境界で行われるもの
とする。図4は、タスクを起動するためにシステムの管
理プログラムがタスク領域を割り当て、タスクにベース
アドレスとなるセグメントアドレスと、タスク領域の先
頭オフセットアドレスとを渡すための処理であって、先
ず処理ステップ10で、割当領域内の空き領域先頭アドレ
スとLIMITの大きさを比較する。なお、空き領域先頭ア
ドレスは初め、割当領域先頭アドレスHEADの値に初期設
定されているものとする。
T 以下であれば、処理ステップ11で空き領域先頭アドレ
スを、タスク領域のベースアドレスとし、処理ステップ
12で先頭オフセットアドレスを0にする。
に、要求のタスク領域の大きさを加算して、空き領域先
頭アドレスを更新し、処理ステップ14で新しい空き領域
先頭アドレスを割当領域末尾アドレスTAILと比較する。
ILを越えていれば、タスク領域の割当ができないので、
割当不能の処置を行う適当な処理に入る。新空き領域先
頭アドレスをTAILを越えていなければ、タスク領域割当
成功であるので、処理ステップ15で前記で決定したタス
ク領域のベースアドレスの上位16ビットをセグメントア
ドレスとし、前記で決定した先頭オフセットアドレスと
共にタスクに渡して処理を終わる。
がLIMIT より大きいければ、処理ステップ16でLIMIT を
タスク領域のベースアドレスとし、処理ステップ17で空
き領域先頭アドレスからLIMIT を減じた差を先頭オフセ
ットアドレスとし、前記と同様に処理ステップ13以下の
処理を行う。
メントアドレスを使用し、オフセットアドレスを加算し
て絶対アドレスを生成するが、その場合に常にタスクの
プログラムが発行するオフセットアドレスに先頭オフセ
ットアドレスを加えた結果を、絶対アドレス生成のため
のオフセットアドレスとする。
スク領域の割当におけるセグメントアドレス及び先頭オ
フセットアドレスが図の右側の各欄に示すように設定さ
れる。即ち、この例の場合に、割当領域は前記のように
絶対アドレス03A00〜1EFFFであるので、LIMIT=1EFFF-FF
FF=0F000であり、タスクA及びBのタスク領域先頭は何
れもLIMIT より大きいので、LIMIT をベースアドレスと
され、且つ図示のように、0でない先頭オフセットアド
レスが指定される。
走をして、16ビットのオフセットアドレスがどのような
値になっても、エラー処理ルーチン領域にアクセスする
ことはできない。
よれば、計算機において、タスクのアドレス障害による
メモリ破壊によっても、システム破壊を生じないという
著しい工業的効果がある。
Claims (1)
- 【請求項1】 一定ビット長の絶対アドレスでアクセス
される主記憶領域の中に、連続した割当領域を設け、該
割当領域内の連続領域をタスク領域として各タスクに割
り当て、該タスクは当該タスク領域で実行され、該タス
ク領域へアクセスする場合に、所与のベースアドレスに
オフセットアドレスを加算して該絶対アドレスを生成
し、該ベースアドレスは該絶対アドレスと同じビット長
で表され、該オフセットアドレスは該ベースアドレスよ
り短い一定ビット長で表される計算機の、該タスク領域
のアクセスにおいて、 各該タスクは、該タスク領域割当の場合に、該タスク領
域の先頭絶対アドレスを越えず、該割当領域内であり、
且つ該割当領域の末尾の絶対アドレスから、該オフセッ
トアドレスを表すビット長で表される最大値だけ若い絶
対アドレスを越えない値を、該ベースアドレスとして指
定され(1)、 該ベースアドレスと該タスク領域の該先頭絶対アドレス
との差を、該タスク領域の先頭オフセットアドレスとし
て指定され(2)、 該主記憶領域へアクセスするための絶対アドレスを生成
する場合に、該先頭オフセットアドレスに所要のタスク
領域内相対オフセットアドレスを加算した値を該オフセ
ットアドレスとして、該ベースアドレスに加算する(3)
ように構成されていることを特徴とするアドレス生成処
理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32833292A JP3120606B2 (ja) | 1992-12-09 | 1992-12-09 | アドレス生成処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32833292A JP3120606B2 (ja) | 1992-12-09 | 1992-12-09 | アドレス生成処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06175916A true JPH06175916A (ja) | 1994-06-24 |
JP3120606B2 JP3120606B2 (ja) | 2000-12-25 |
Family
ID=18209053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32833292A Expired - Fee Related JP3120606B2 (ja) | 1992-12-09 | 1992-12-09 | アドレス生成処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3120606B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009524140A (ja) * | 2006-01-17 | 2009-06-25 | エヌエックスピー ビー ヴィ | 領域保護装置、命令セット、及びメモリ領域を保護する方法 |
US10185651B2 (en) | 2014-04-10 | 2019-01-22 | Hewlett Packard Enterprise Development Lp | Relocating a virtual address in a persistent memory |
-
1992
- 1992-12-09 JP JP32833292A patent/JP3120606B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009524140A (ja) * | 2006-01-17 | 2009-06-25 | エヌエックスピー ビー ヴィ | 領域保護装置、命令セット、及びメモリ領域を保護する方法 |
US10185651B2 (en) | 2014-04-10 | 2019-01-22 | Hewlett Packard Enterprise Development Lp | Relocating a virtual address in a persistent memory |
Also Published As
Publication number | Publication date |
---|---|
JP3120606B2 (ja) | 2000-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0213843B1 (en) | Digital processor control | |
US5852738A (en) | Method and apparatus for dynamically controlling address space allocation | |
CA1266532A (en) | Method to share copy on write segment for mapped files | |
US5144551A (en) | Computer memory management method utilizing segmentation and protection techniques | |
US6061773A (en) | Virtual memory system with page table space separating a private space and a shared space in a virtual memory | |
US5481688A (en) | Information processing system having an address translation table loaded with main/expanded memory presence bits | |
US5873127A (en) | Universal PTE backlinks for page table accesses | |
US5835961A (en) | System for non-current page table structure access | |
JPH0552540B2 (ja) | ||
JPS6136667B2 (ja) | ||
US6195107B1 (en) | Method and system for utilizing virtual memory in an embedded system | |
US4961135A (en) | Translation lookaside buffer control system | |
US6889296B2 (en) | Memory management method for preventing an operating system from writing into user memory space | |
JP3120606B2 (ja) | アドレス生成処理方法 | |
KR930009092B1 (ko) | 가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법 | |
JPH113105A (ja) | プログラマブルコントローラのプログラミング装置 | |
JPS6220583B2 (ja) | ||
KR100315500B1 (ko) | 메모리할당방법 | |
JPS595496A (ja) | メモリプロテクト方式 | |
JPS6035694B2 (ja) | 主記憶保護方式 | |
JPH0378052A (ja) | 仮想記憶管理方式 | |
JP2969776B2 (ja) | データ識別方式 | |
JP2982134B2 (ja) | 主記憶装置の割り当てサイズ決定方法 | |
JPH052669A (ja) | デイジタルカウンタ記憶方式 | |
JPH0934788A (ja) | アドレス変換装置及びアドレス変換方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000919 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071020 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081020 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081020 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |