JP3268310B2 - Memory management method - Google Patents

Memory management method

Info

Publication number
JP3268310B2
JP3268310B2 JP50293493A JP50293493A JP3268310B2 JP 3268310 B2 JP3268310 B2 JP 3268310B2 JP 50293493 A JP50293493 A JP 50293493A JP 50293493 A JP50293493 A JP 50293493A JP 3268310 B2 JP3268310 B2 JP 3268310B2
Authority
JP
Japan
Prior art keywords
memory
rom
address space
address
method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP50293493A
Other languages
Japanese (ja)
Other versions
JPH06508952A (en
Inventor
スピア,ダン
メイヤー,ラリー
Original Assignee
クウオーターデッキ コーポレーション
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
Priority to US07/730,244 priority Critical patent/US5237669A/en
Priority to US730,244 priority
Application filed by クウオーターデッキ コーポレーション filed Critical クウオーターデッキ コーポレーション
Priority to PCT/US1992/005925 priority patent/WO1993002417A1/en
Publication of JPH06508952A publication Critical patent/JPH06508952A/ja
Application granted granted Critical
Publication of JP3268310B2 publication Critical patent/JP3268310B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Fee Related legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Description

【発明の詳細な説明】 [発明の背景] (1)技術分野 本発明は一般的にはコンピュータ・メモリ・システムの分野に関係し、具体的にはコンピュータ・メモリの使用を制御し最適化するためのメモリ管理システムに関係するものである。 DETAILED DESCRIPTION OF THE INVENTION BACKGROUND OF THE INVENTION (1) Technical Field The present invention generally relates to the field of computer memory systems, in particular controlling and optimizing the use of computer memory it is related to the memory management system for.

(2)背景技術 典型的なコンピュータ・システムは複数のモジュール又は要素から構成される。 (2) Background Art A typical computer system consists of a plurality of modules or elements. コンピュータ・システムにはマイクロプロセッサなどの中央処理装置(CPU)を典型的に含む。 The computer system typically includes a central processing unit such as a microprocessor (CPU). マイクロプロセッサは命令の取得、復号及び実行を行うプログラム制御される装置である。 Microprocessor obtains the instruction is a device which is program-controlled for decoding and execution. コンピュータ・システムはシステム・オペレーティング・ソフトウェア、アプリケーション・プログラム命令及びデータを記憶するための記憶要素も含む。 The computer system also includes storage elements for storing system operating software, application program instructions and data. これらの記憶要素は読み出し専用メモリ(ROM),ランダム・アクセス・メモリ(RAM),ディスク記憶装置又はテープ記憶装置もしくは他の適当な記憶手段とすることができる。 These storage elements may be a read-only memory (ROM), a random access memory (RAM), disk storage or tape storage or other suitable storage means.

コンピュータ・システムは外部装置をマイクロプロセッサに接続するための入出力(I/O)要素も典型的に含む。 Computer system output for connecting an external device to the microprocessor (I / O) elements are also typically contain. メモリ管理ユニットやコプロセッサなどの専用部品もコンピュータ・システムの一部となり得る。 Dedicated components such as memory management units or co-processors may also be part of a computer system.

コンピュータはデータの処理に使用される。 The computer is used to process the data. データの処理を可能にするためには中央処理装置(CPU)が入力データを使用するまで、その入力データを記憶しなければならない。 To enable processing of data to the central processing unit (CPU) uses the input data must store the input data. また、データを処理した後に出力データを記憶しなければならない。 It must also store the output data after processing the data. いくつかの処理動作の間、データに対して命令を実行している間にCPUがデータの一時的な記憶を必要とする場合がある。 During some processing operations, there is a case where CPU requires temporary storage of data while executing instructions on the data. さらに、処理を制御するアプリケーション・プログラムや、その下でプログラムが走行するオペレーティング・システムをCPUからアクセスできなければならない。 Furthermore, and application programs for controlling the process, must be accessible from the CPU to the operating system program under its travels. 「メイン・メモリ」 "Main memory"
と呼ばれる資源にこの情報を記憶することによってCPU CPU by storing this information in the resource called
からこの情報を使用できるようになる。 It will be able to use this information from.

メイン・メモリと呼ばれるメモリ要素はユーザ、データ、プログラム又はプロセスに動的にアロケートされる希少な資源である。 Memory elements called main memory is a scarce resource that the user, data is dynamically allocated to a program or process. メイン・メモリは通常はRAMなどのシリコン・ベースのメモリである。 The main memory is usually a silicon-based memory such as RAM. 多くの応用例ではメイン・メモリとしてダイナミック・ランダム・アクセス・メモリ(Dymamic Random Access Memory:DRAM)が使用される。 Many applications in the dynamic random access memory as main memory (Dymamic Random Access Memory: DRAM) is used. プロセッサのメイン・メモリは「バイト」編成になっている。 The main memory of the processor is in a "byte" organization. すなわち、メモリは8ビット・バイトのシーケンスとして構成され、このバイトがメモリからアクセスされる情報の最小単位になる。 That is, the memory is configured as a sequence of 8-bit bytes, the byte is the smallest unit of information accessed from memory. ある規約によれば、1つのロウ全体がロウ・アドレスによって選択され、カラムが8ビットのグループでアクセスされる。 According to one convention, one entire row is selected by row address, the column is accessed by 8-bit groups. 実施によっては16ビット・ワード(2バイト)又は32ビット・ワード(4バイト)を1回でアクセスするものもある。 Depending implementation and some to access 16-bit words (2 bytes) or 32-bit words (4 bytes) in one portion.

メイン・メモリをCPUからアクセスできるようにするためにはメイン・メモリをCPUに直接又は間接に接続しなければならない。 In order that the main memory can be accessed from the CPU must be connected directly or indirectly to the main memory to the CPU. 中央処理装置に直接接続できるメイン・メモリの量はCPUのアドレス・バスの幅によって制限される。 The amount of main memory that can be directly connected to the central processing unit is limited by the address bus width of the CPU. アドレス・バスはCPUとメモリの間に接続される。 Address bus is connected between the CPU and memory. メモリをアクセスするため、CPUは1つのメモリ・ロケーションだけをユニークに表現する値をアドレス・バスに置くことができる。 In order to access the memory, CPU is able to put a value that represents the unique only one memory location to the address bus. アドレス・バスに置くことのできるユニークな値の数はアドレス・バスの幅に応じて変化する。 The number of unique values ​​which may be placed on the address bus varies according to the width of the address bus. 特定のマイクロプロセッサなど特定のタイプのCPUのアドレス・バスの幅は普通は固定されているので、CPUによってアドレッシングできるメモリ・ロケーションの数には限界がある。 Since the width of the address bus for a particular type of CPU, such as a particular microprocessor is usually is fixed, the number of memory locations addressable by the CPU is limited.

CPUによってアドレッシングできる以上のメモリをCPU CPU or more of memory that can be addressed by CPU
に接続することが望ましい場合がある。 It may be desirable to connect to. 追加のメモリを接続できるようにするためにある方法を使用して追加メモリをCPUに間接的に結合する。 Additional memory using the method in order to be able to connect additional memory indirectly coupled to the CPU. 8088や8086などのマイクロプロセッサのアドレス・バスは20ビットである。 Address bus of the microprocessor, such as 8088 and 8086 is 20 bits. n
ビットのアドレス・バスによってアドレッシングできるメモリ・ロケーションの数は2 nであるから20ビットのアドレス・バスによってアドレッシングできるメモリ・ロケーションの数は2 20 、すなわち、約100万(1M)である。 Memory location number 2 20 number of memory locations which can be addressed by 20-bit address bus since it is 2 n that can be addressed by bits of the address bus, that is, approximately one million (1M). CPUから直接アクセスできるようにするためにはすべてのメモリをアドレス・バスのビットによって表現できるユニークな値の数を越えないサイズの連続ブロックの中に配置しなければならない。 It must be placed in a contiguous block of a size not exceeding the number of unique values ​​that can represent all the memory by the bits of the address bus in order to be accessible directly from the CPU. 20ビットのアドレス・ 20-bit address
バスの場合すべてのメモリを1Mの連続ブロックの中に置かなければならない。 It must be placed all of the memory when the bus in a contiguous block of 1M.

理論的には間接的な方法によって追加メモリをアクセスすることもできるが、ほとんどのオペレーティング・ Theoretically it is also possible to access additional memory by indirect methods, most operating
システムはメモリへの直接アクセスだけをサポートする。 System supports only direct access to memory. オペレーティング・システムが間接的に追加メモリをアクセスする方法をサポートしない場合、アプリケーション・プログラムとそのデータのすべてを、必要なシステム・ソフトウェアのすべてとともに直接アクセスできる連続ブロックの中に格納しなければならない。 If the operating system does not support how to access indirectly additional memory, all of the data and the application program must be stored in a contiguous block directly accessible with all necessary system software.

アドレス・バスの幅によって、直接アクセスできるメモリの量が制限されるが、システム・ソフトウェアの占有するメモリの量によって、アプリケーション・プログラムが使用できる空きメモリの量が制限される。 The width of the address bus, the amount of memory that can be accessed directly is limited, by the amount of memory occupied by the system software, application programs amount of free memory available is limited. したがって、アプリケーション・プログラムが使用できるメモリの量は直接アクセスできるメモリの総量より少ない。 Accordingly, the amount of memory that an application program can use less than the total amount of memory that can be accessed directly.
アプリケーション・プログラムが、使用可能な量以上のメモリを必要とする時には簡単にアクセスできる使用可能メモリの量を増加するための方法を見い出さなければならない。 Application program, must find a way to increase the amount of available memory for easy access when requiring more memory available quantities.

従来技術では使用可能メモリの量を増やすために多くの試みが行われてきた。 Many attempts have been made to the prior art to increase the amount of available memory. 従来技術で使用された方法の1 One method used in the prior art
つがエクスパンデッド・メモリ仕様(Expanded Memory One is-expanded memory specification (Expanded Memory
Specification:EMS)として知られている。 Specification: known as EMS). EMSは直接アクセスできないエクステンデッド・メモリの一部をエクスパンデッド・メモリとして使用するために予約し、ページに分割する。 EMS is reserved for the use of part of the not directly accessible Extended memory as-expanded memory is divided into pages. EMSではこのエクスパンデッド・メモリを1回に1ページずつCPUが直接アクセスできるアドレス空間に切り替えることによって事実上無制限の量のメモリをアクセスできる。 CPU, one page at a time can access a virtually unlimited amount of memory by switching to the address space that can be accessed directly in the EMS this-expanded memory once. しかし、EMSではページの変更に時間がかかる。 However, it takes time to change the page in EMS. 望みのデータが直接アクセスできるメモリ内に配置されたEMSページ・フレーム内にない場合、EMSではページ・フレームの現在の内容をページ・ If desired data is not in the EMS page frame disposed directly accessible memory, the page of the current contents of page frames in EMS
アウトし、望みのデータを含むページをエクスパンデッド・メモリからページ・インしなければならない。 And out, it must be a page in the page that contains the desired data from-expanded memory. このようなページ変更は時間を要するのでコンピュータの処理速度が低下する。 Since such a page change requires time computer processing speed is lowered. また、EMSはすべてのアプリケーション・ソフトウェアに一般的に適用可能ではない。 In addition, EMS is not generally applicable to all of the application software. EMS EMS
を使用できる場合にそれを利用するよう特別にアプリケーション・ソフトウェアを作成しなければならない。 Specially must create an application software to take advantage of it if it can be used.

従来技術のもう1つの方法はLOADALL命令に頼る方法である。 Another prior art method is a method relying on LOADALL instruction. LOADALL命令は80286マイクロプロセッサだけに具えられた非サポート命令である。 LOADALL instruction is a non-supported command, which is equipped only 80286 microprocessor. LOADALL命令は80286 LOADALL instruction 80286
だけに具えられているのでこの従来技術の方法は80286 Because it provided for only in the process of the prior art 80286
マイクロプロセッサに基づくコンピュータでなければ役に立たない。 Useless unless a computer based on a microprocessor.

従来技術のもう1つの方法はシステムROMに含まれるシステム・ソフトウェアの検査と再プログラミングを含む。 Another prior art method includes testing and reprogramming of the system software contained in the system ROM. この方法では最小の量のメモリを占有しながらその機能を実行するようにシステムROMを再プログラミングすることができる。 While occupying a minimum amount of memory in this way able to reprogram the system ROM to perform its function. この方法によればROMプログラミングが非効率的なために浪費されていたメモリ空間を他の目的に使用できるようになる。 ROM programming According to this method will be able to use the memory space that was wasted because inefficient for other purposes. しかし、この方法ではこの方法に使用できるROMのそれぞれのすべての改訂版を人間がプログラミングし直す必要がある。 However, in this method it is necessary that each of the human beings all of the revised version of the ROM which can be used in this method is re-programming.

これらの従来技術の方法のどれにも不便な点がある。 To any of these prior art methods have disadvantages.
これらの方法の中のあるものは追加メモリを提供するが、望みのデータをアクセス可能にするのに必要なステップのせいでコンピュータ・システムの性能を低下させるものがある。 Some of the middle of these methods provide additional memory, but there is to reduce the performance of the computer system because of the steps required to enable access to desired data. 特定の中央処理装置に基づくシステムでなければ使えない方法もある。 There is also a method which does not use unless a system based on a particular central processing unit. ROM固有でありROMのそれぞれの改訂版ごとに別々に実施しなければならないものもあれば、特定のアプリケーション・プログラムに固有でありすべてのアプリケーション・プログラムに一般的に適用することができないものもある。 Some are that must be performed separately for each revision of ROM-unique and ROM, and some that can not be generally applicable to all application programs are specific to a particular application program .

発明の概要 本発明はCPUの直接アクセス可能なアドレス空間内に追加の使用可能メモリを提供する。 The present invention provides additional available memory directly accessible address space of the CPU. 本発明はCPU固有,RO The present invention is CPU-specific, RO
M固有又はアプリケーション・プログラム固有のどれでもなく、従来技術の方法ほど性能を低下させないので、 M-specific or application-program not one unique, does not reduce the higher the methods of the prior art performance,
従来技術の欠点がなく、より一般的に適用可能であると同時によりよい性能を提供する。 No disadvantages of the prior art, provides a more simultaneously better performance and is generally applicable.

本発明ではROMに格納されたシステム・ソフトウェアをその通常のアドレス空間から移動し、そのアドレス空間を他の目的に使用する。 The present invention moves the system software stored in the ROM from its normal address space, uses the address space for other purposes. 本発明はROMアドレス空間を他の目的に使用でき、なおかつROMに格納されたソフトウェアにアクセスできる形でメモリを管理する。 The present invention can use a ROM address space for other purposes, yet manages the memory in a form that can access the software stored in the ROM.

本発明の好ましい実施例ではシステム・ソフトウェアを含むROMをエクステンデッド・メモリのアドレス空間にマッピングし、プロテクト・モードでアクセスする。 In a preferred embodiment of the present invention maps the ROM containing system software into the address space of the Extended Memory is accessed in protected mode.
その後、元々ROMが配置されていたアドレス空間にエクステンデッドRAMをマッピングする。 Thereafter, it maps the extended RAM originally address space ROM has been arranged. 本発明の好ましい実施例ではROMアクセスの試みのすべてを再配置されたR R In a preferred embodiment of the present invention rearranged all attempts ROM access
OMイメージに方向変更し、元はROMであったアドレス空間にマッピングされたエクステンデッドRAMをアプリケーション・プログラムなど他の目的に使用できるようにする。 Change direction OM image originally to be able to use extended RAM mapped into the address space was ROM for other purposes such as an application program.

本発明の好ましい実施例はCPUの通常のメモリ・アドレッシング範囲内でアドレッシング可能であり、このようにしてデータに直接に簡単にアクセスできるメモリの量を増やすための方法である。 Preferred embodiments of the present invention is addressable within the normal memory addressing range of CPU, a method for increasing the amount of memory that can direct easily access data in this way. 本発明の好ましい実施例ではシステムROMとビデオROMを再配置するが、他のROM In a preferred embodiment of the present invention to reposition the system ROM and video ROM, but other ROM
にもこの方法を適用できる。 You can also apply this method to.

本発明では初期設定ルーチンを実行してROMをメモリ外部アドレス空間にマッピングする。 The present invention maps the ROM performs an initial setting routine in memory external address space. インターセプト・ Intercept
ルーチンをインストールしてROMアクセスをすべてインターセプトする。 All to intercept ROM access to install the routine. エクステンデッドRAMの位置を突き止め、アロケートして、以前にROMが占有していたアドレス空間に配置する。 Locate the Extended RAM, and allocated previously in the ROM is arranged in an address space that has been occupied. インストールが終わったならば、普通のアプリケーション・プログラムをこのコンピュータ・システムで実行できる。 If the installation is finished, you can run the normal application program in the computer system. 元々ROMがあったアドレス空間に配置される追加RAMはアプリケーション・プログラムが使用するためにアロケートしたり、常駐終了(Term Additional RAM, which is located in the original address space there is a ROM or to allocate to the application program to be used, terminate and stay resident (Term
inate−and−Stay Resident:TSR)プログラムの再配置を含む(それに限定されるわけではない)他の目的のためにアロケートできる。 inate-and-Stay Resident: TSR) includes relocation programs (but not limited to) can be allocated for other purposes. ROMへのアクセスがある場合にはROMアクセス・インターセプト・ルーチンがそのアクセスをインターセプトし、再配置されたROMイメージに方向変更する。 Intercepts the access ROM access interception routine if there is access to the ROM, redirecting the ROM image rearranged. 再配置されたROMルーチンを呼び出す時にはその実行を監視して、元のROMアドレス空間にあるR When calling a ROM routines rearranged to monitor its execution, R in the original ROM address space
OMデータ・テーブルやROMサブルーチンをアクセスしたりしないようにする。 We do not want to access the OM data tables and ROM subroutine. というのはこのアクセスが行われるとシステムがクラッシュするはずだからである。 Because since should the system crashes this access is performed. 再配置されたROMルーチンの実行が完了した後にこのROM実行の結果のすべてを検査し、調節して、システムのエラーやクラッシュをもたらす可能性のある不正確なデータを除く。 Check all the results of the ROM executed after the execution of the ROM routines rearranged is completed, adjusted to, excluding incorrect data that may result in errors or system crash. 性能をさほど低下させず、特定のCPU,特定のROM Less without reducing the performance, certain CPU, the particular ROM
又は特定のアプリケーション・プログラムに限定されない形で動作することによって本発明はコンピュータ・システム内のCPUから簡単にアクセスできる使用可能メモリの量を増やすためのはるかに効率的で一般的に適用できる方法を提供する。 Or the present invention by operating in a manner not limited to any particular application program a method that can be much more efficiently generally applicable to increase the amount of available memory that can be easily accessed by the CPU in the computer system provide.

図面の簡単な説明 第1図 典型的なコンピュータ・システムの構造を示すブロック図。 Block diagram showing a brief description the structure of Figure 1 a typical computer system of the drawing.

第2図 コンピュータ・システムの可能なメモリ編成を示すメモリ・マップ。 Memory map showing possible memory organization of Figure 2 the computer system.

第3図 あるマイクロプロセッサのリアル・モードで使用されるアドレッシング方法を示す図。 It shows the addressing method used in a real mode of the microprocessor in Figure 3.

第4図 あるマイクロプロセッサのプロテクト・モードで使用されるアドレッシング方法を示す図。 It shows the addressing method used in a protected mode of the microprocessor in Figure 4.

第5図 典型的なコンピュータ・システムのメモリ編成を示すメモリ・マップ。 Memory map showing the memory organization of Figure 5 a typical computer system.

第6図 従来技術の第1の方法を示すメモリ・マップ。 Memory map showing a first method of FIG. 6 prior art.

第7図 従来技術の第2の方法を示すメモリ・マップ。 Memory map showing a second method of FIG. 7 prior art.

第8図 従来技術の第4の方法を示すメモリ・マップ。 Memory map showing a fourth method of Figure 8 prior art.

第9図 従来技術の第3の方法を示すメモリ・マップ。 Memory map showing a third method of FIG. 9 prior art.

第10図 従来技術の第5の方法を使用する典型的なコンピュータ・システムの構造を示すブロック図。 Block diagram illustrating the structure of a typical computer system using a fifth method of FIG. 10 prior art.

第11図 従来技術の第5の方法を使用するコンピュータ・システムの可能なメモリ編成を示すメモリ・マップ。 Memory map showing possible memory organization of a computer system using a fifth method of Figure 11 prior art.

第12図 従来技術の第5の方法を示すメモリ・マップ。 Memory map showing a fifth method of Figure 12 prior art.

第13図 本発明のプロテクト・モード実施例とマッピング実施例を示すメモリ・マップ。 Memory map showing the protected mode embodiment and the mapping embodiment of Figure 13 the present invention.

第14図 本発明のプロテクト・モード実施例の初期設定ルーチンを示す流れ図。 Flow chart illustrating an initialization routine for protected mode embodiment of Figure 14 the present invention.

第15図 本発明のプロテクト・モード実施例の初期設定ハンドラを示す流れ図。 Flow diagram illustrating the initialization handler of the protected mode embodiment of Figure 15 the present invention.

第16図 本発明の初期設定ルーチンのマッピング実施例を示す流れ図。 Flow diagram illustrating the mapping embodiment of the initialization routine of Figure 16 the present invention.

第17図 本発明の初期設定ハンドラのマッピング実施例を示す流れ図。 Flow diagram illustrating the mapping embodiment of the initialization handler of FIG. 17 the present invention.

発明の詳細な説明 コンピュータ・システム内で簡単にアクセスできる追加メモリを提供する方法を説明する。 How to provide additional memory for easy access in the detailed description a computer system of the invention will be described. 以下の説明では本発明の完全な説明を提供するためコンピュータ・システムのタイプ,メモリ・アドレス・ロケーション,メモリの量やバス幅など多数の特定の詳細を記載する。 The following description describes the type of computer system for providing a memory address locations, amounts of memory and bus widths, etc. numerous specific details complete description of the present invention. しかし、これらの特定の詳細なしで本発明を実施できることは当業者には明白であろう。 However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details. それ以外の場合では本発明を無用に不明瞭にしないために周知の特徴を詳細に説明することはしない。 It will not be described in detail well-known features in order not to unnecessarily obscure the present invention in other cases.

典型的なコンピュータ・アーキテクチャを第1図に示す。 A typical computer architecture shown in Figure 1. このコンピュータ・システムにはCPU101,RAM(メイン・メモリ)102,ROM(読み取り専用メモリ)103、及び CPU101 in the computer system, RAM (main memory) 102, ROM (read only memory) 103 and,
I/O(入出力)104が含まれ、これらのすべてがシステム・バス107に結合される。 I / O (input and output) 104 contains, all of which are coupled to the system bus 107. I/Oブロック104はバス105を介して、大容量記憶装置106などの他のシステムへのアクセスを提供する。 I / O block 104 via the bus 105, it provides access to other systems such as mass storage device 106.

CPU101はコンピュータを制御し、命令を実行し、データを処理する。 CPU101 controls the computer, executes instructions and processes data. CPU101はシステム・バス107を介して他の要素と通信する。 CPU101 communicates with other elements through a system bus 107. CPUはシステム・バス107を介してコンピュータの他の要素から入力データを受け取り、システム・バスを介してコンピュータの他の要素へ出力データを送る。 The CPU receives input data from the other elements of the computer via the system bus 107, sends the output data to the other elements of the computer through a system bus. システム・バス107には普通アドレス・バス、データ・バス及び他のさまざまな制御線が含まれる。 The system bus 107 common address bus, and data bus and various other control lines. アドレス・バスとデータ・バスの幅ならびに制御線の数とタイプはコンピュータ・システムごとに異なる。 The number and type of width and control lines of the address bus and data bus are different for each computer system.

RAM102,ROM103及びメモリ・マップドI/O104を含むコンピュータ・システムの各要素に複数の別個のメモリ・ RAM 102, a plurality of separate memory to ROM103 and the elements of a computer system including a memory-mapped I / O 104
ロケーションが含まれる。 Location is included. CPU101がこれらのロケーションをアクセスできるようにするために各ロケーションに固有のアドレスを割り当てる。 CPU101 assigns a unique address to each location in order to be able to access these locations. アドレスのそれぞれはアドレス・バスを介して送ることのできる2進値の固有の組合せである。 Each address is a unique combination of binary values ​​that can be sent over the address bus. ほとんどのメモリ・デバイスに複数のロケーションが含まれるので、1つのメモリ・デバイスのロケーションのすべてのアドレスが通常は連続ブロックとして割り当てられる。 Since a plurality of locations included in most memory devices, all addresses locations of one memory device is usually assigned as a contiguous block. これらのブロックに連続した形でアドレスが割り当てられる(メモリにマッピングされる)場合が多い。 Address these blocks to a sequential manner is assigned (mapped into memory) often. しかし、割り当てられていないアドレスや将来の使用のために予約されたアドレスでギャップができていてもよい。 However, at the address reserved for the assigned we have not address or the future use may be made of the gap.

メモリ・マップはコンピュータ・システムのメモリの編成を理解するのに役立つ。 Memory map helps to understand the organization of the memory of the computer system. 典型的なメモリ・マップはマイクロプロセッサがアクセスできる最下位アドレスから始まり、マイクロプロセッサがアクセスできる最上位アドレスまで延びる。 A typical memory map begins at the lowest address that the microprocessor can access, extends to the highest address microprocessor can access. メモリ・マップの1例を第2図に示す。 An example of a memory map shown in Figure 2. 第2図のマップのメモリの最下位アドレスは領域 Lowest address of the memory map of FIG. 2 the area
201として示されるが、メイン・メモリRAM102にアロケートされる。 It is shown as 201, but is allocated to the main memory RAM 102. 領域202として示される次のアドレスはI/O The next address indicated as region 202 I / O
104にアロケートされる。 104 is allocated to. 領域203として示されるメモリ・アドレスは未使用である。 Memory address, shown as region 203 are unused. 未使用アドレスの上位にある領域204にはROMにアロケートされたメモリ・アドレスが含まれる。 The region 204 at the upper unused address includes a memory address which is allocated for ROM. 領域205は追加RAMにアロケートされるメモリ・アドレスであり、領域206は追加ROMにアロケートされるメモリ・アドレスである。 Region 205 is a memory address that is allocated to the additional RAM, area 206 is a memory address that is allocated to the additional ROM. 第2図はコンピュータ・ FIG. 2 is a computer
システムのメモリ・アーキテクチャを設計する際の自由度を示すためあくまで1例として提供した図である。 It is a diagram provided only as an example to show the degree of freedom in designing the memory architecture of the system. これは特定のコンピュータ・システムの実際のメモリ・マップを表現したものではない。 This is not a representation of the actual memory map of a particular computer system.

コンピュータ・システムの動作は「オペレーティング・システム」として知られる一連の命令によって制御される。 Operation of the computer system is controlled by a series of instructions known as the "operating system". オペレーティング・システムは入出力などコンピュータ・システムの基本機能を制御するのに使用され、 The operating system is used to control the basic functions of a computer system, such as input and output,
通常はROM103などの永久記憶要素に記憶される。 It is usually stored in a permanent storage element such as ROM 103. オペレーティング・システムの例にMS−DOS(登録商標)又はP Examples of the operating system MS-DOS (registered trademark) or P
C−DOSが含まれる。 It includes C-DOS.

コンピュータ・システムはアプリケーション・プログラムを実行するのに使用される。 The computer system used to execute the application program. アプリケーション・プログラムの例に含まれるのがワード・プロセッサ,スプレッドシート,ドローイング・プログラム,データベースなどである。 Word processor that is included in the examples of the application program, a spreadsheet, drawing programs, databases, and the like. アプリケーション・プログラムによってはROMに格納されるものもある。 It is by the application program while others are stored in the ROM. しかし、一般的にはアプリケーション・プログラムはディスク・ドライブなどの大容量記憶装置に記憶される。 However, in general an application program is stored in mass storage devices such as disk drives.

コンピュータ・システムの初期設定の時にCPU101によって実行されるアプリケーション・プログラムも大容量記憶装置106からRAM102に転送される。 Application program executed by CPU101 during initialization of the computer system is also transferred from the mass storage device 106 in the RAM 102. CPU101が操作するデータもRAM102に格納される。 CPU101 data to be operated is also stored in the RAM 102.

アプリケーション・プログラムのサイズと量,オペレーティング・システムのサイズ及びCPU101からアクセスできるデータの量はメイン・メモリのサイズによって制限される。 The size and amount of application programs, the amount of data that can be sized and access from CPU101 operating system is limited by the size of the main memory. 無限の量のメモリがあれば理想的だが経済的にも技術的にも不可能である。 It is ideal if there is an infinite amount of memory, but it is impossible to be technical to the economic. まず、ユーザが購入できるメモリの量に限界がある。 First, there is a limit to the amount of memory that can be purchased by the user. 次に、特定のコンピュータがサポートできるメモリの量に技術的な限界がある。 Next, there is a technical limitation on the amount of memory which a particular computer can support. 特定のコンピュータがサポートするメモリの量はそのコンピュータのベースとなる特定のCPUのタイプに依存する。 The amount of memory which a particular computer supports depends on the particular type of CPU as a base of the computer.

たとえば、IBMのパーソナルコンピュータは8088マイクロプロセッサをベースとしている。 Example, IBM's personal computer are based on 8088 microprocessor. 8088マイクロプロセッサのアドレス・バスは20ビットである。 8088 address bus of the micro-processor is 20-bit. あるコンピュータがアドレッシングできるメモリの量はそのアドレス・バスの幅の関数である。 The amount of memory that the computer can addressing is a function of the width of the address bus. nビットのアドレス・バスを備えたCPUは2 nバイト又は2 nワードのメモリを直接アクセスできる。 CPU with an n-bit address bus can access the memory of 2 n bytes or 2 n words directly. したがって、8088マイクロプロセッサは約100万バイト又は100万ワード(1M)を直接アクセスできる。 Thus, 8088 microprocessor can directly access approximately one million bytes or 1,000,000 words (1M). CPUのアドレス・バスの限界を越えて追加メモリを間接アクセスできるようにするための方法が開発されてはいるが、このような方法は扱いにくくて非効率的である場合が多い。 A method for enabling indirect access to additional memory beyond the address bus limits the CPU has the been developed, such methods often are cumbersome and inefficient. したがって、アプリケーション・ソフトウェアが使用できる直接アクセス可能なメモリ空間ができる限り多い状態を保って、アプリケーション・ソフトウェアが可能な限り効率的に動作できるようにすることが望ましい。 Therefore, while maintaining the high state as possible directly accessible memory space application software is available, it is desirable to application software can operate efficiently as possible.

できる限り多くの直接アクセス可能なメモリ空間をアプリケーション・ソフトウェア用に予約し直接アクセス可能なメモリ空間に収まるようにアプリケーション・ソフトウェアをできる限り小さくすることが理想的であるが、これが必ず達成できるとは限らない。 As long as it is possible to reduce as much as possible many of the reserves directly accessible memory space for the application software application software to fit in the direct access memory space is ideal, not always this is sure to be achieved that can be . システム・ソフトウェアはアプリケーション・ソフトウェアの管理と制御のために必要であるからやはりメモリに常駐しなければならない。 System software must still reside in memory because it is necessary for the management and control of the application software. また、アプリケーション・ソフトウェアの複雑さとユーザ・データの量が増加するにつれてアプリケーション・ソフトウェアに必要なメモリが増加する。 Further, the memory required by the application software as the amount of complexity and user data of the application software is increased to increase.

さらに、TSR(常駐終了)として知られるプログラムがコンピュータ・システム上で使用される場合が多い。 Furthermore, in many cases program known as TSR (resident termination) is used on a computer system.
このようなプログラムは「ホット・キー」と「ポップアップ・ウィンドウ」を提供し、ビデオ・ディスプレイの隅に時計を表示したりディスク・ドライブの活動を監視するなどバックグラウンド・タスクの実行に使用される。 Such a program provides a "pop-up window" and "hot key", is used to perform background tasks, such as monitoring the activities of the video display to display the clock in the corner or disk drive . TSRは他の多くの応用分野のために作成されており、ユーザが自分のコンピュータに複数のTSRを同時に常駐させることもしばしばである。 TSR is created for many other applications, it is often the user to simultaneously reside a plurality of TSR to their computers. TSRのそれぞれが自分の配置されるメモリ空間を必要とするのでシステムに The system Since each TSR requires memory space their arrangement
TSRを追加するとメモリ必要量が増加する。 When you add a TSR memory required amount is increased.

第5図は典型的なコンピュータ、すなわち、8088/808 Figure 5 is a typical computer, namely, 8088/808
6ファミリのマイクロプロセッサに基づいて、MS−DOSの下で動作するIBMのパーソナル・コンピュータなどのコンピュータのメモリ・マップを示す図である。 6 based on the microprocessor family is a diagram showing a memory map of a computer such as an IBM personal computer operating under MS-DOS. 第5図のメモリ・マップは可能な唯一のメモリ・マップではなく、典型的なメモリ・マップの1例である。 Instead of the memory map only possible memory map of FIG. 5 is an example of a typical memory map. このメモリ・マップは一番下のメモリ・ロケーション0(501)から一番上のメモリ内で最上位のロケーションまでという形で編成されている。 The memory map is organized in the form of up to the top-level location within the memory of the top from the memory location 0 of the bottom (501). このメモリ・マップには3つの基本領域がある。 This memory map there are three basic areas. 第1領域には最下位640Kのメモリが含まれ、コンベンショナル・メモリ502と呼ばれる。 The first region contains the memory of the lowest 640K, called conventional memory 502. コンベンショナル・メモリ502は読み取り動作と書き込み動作の両方が可能なRAMだけから構成される。 Conventional memory 502 consists only RAM capable both read and write operations. ただし、すべてのシステムが640K全体を含むわけではなく、メモリ空間の一部が未使用のままであってもよい。 However, all systems are not necessarily include the entire 640K, part of the memory space may be left unused.

初期のマイクロコンピュータのアドレス・バスは16ビットであり、これによって64Kのアドレス空間がもたらされた。 Address bus early microcomputer is 16 bits, this 64K address space is provided by. アプリケーションの必要とするメモリの量が増加するにつれてマイクロコンピュータに16ビット・アドレス・バスの制限を克服する必要が生じた。 A need to overcome the 16-bit address bus to the microcomputer limit occurs as the amount of memory required by the application is increased. したがって、IBMのパーソナルコンピュータは20ビット・アドレス・バスをサポートするセグメント・アドレス方式と共に市場に導入された。 Thus, IBM's personal computer have been introduced to the market with the segment address mode supporting 20-bit address bus. 20ビット・アドレス・バスは1024 20-bit address bus 1024
K又は1Mのアドレス空間を提供するが、これは16ビット・バスの16倍のスペースである。 Providing address space K or 1M, which is a 16 times the space of the 16-bit bus. 1Mは16ビット・アドレス・バスを備えるコンピュータの64Kと比較して膨大な量のメモリであると思われた。 1M seemed to be a huge amount of memory as compared to the computers with 16-bit address bus 64K. さらに、当時のメモリ回路は高価であったのでRAMメモリに関する人為的な制限が640Kに設けられた。 Further, the memory circuit at that time because there was a expensive artificial restrictions on RAM memory provided in the 640K. 640Kから1Mまでの384Kのアドレス空間は将来の使用、主にROMのために予約されていた。 Address space of 384K from 640K to 1M had been reserved for future use, mainly ROM.
後続モデルのコンピュータはオリジナルのIBM PCと後方互換であり同一のPC−DOS/MS−DOSオペレーティング・システムを使用するように設計されたので640Kの制限が現代のコンピュータ上でアプリケーションに使用可能なメモリの量を制約し続けている。 Subsequent model computer is the original IBM PC and backward compatible same PC-DOS / MS-DOS because it was designed to use an operating system 640K restrictions available for application on modern computer memory It continues to constrain the amount of.

コンベンショナル・メモリ502はコンピュータ・システムの重要な部分である。 Conventional memory 502 is an important part of the computer system. コンベンショナル・メモリはシステム・ソフトウェア,アプリケーション・ソフトウェア,ユーザ・データ及びTSRやデバイス・ドライバを含む他のコードとデータを記憶するのに使用される。 Conventional memory is used to store other code and data, including system software, application software, user data and TSR or device driver. 第5図に示すように、MS−DOSはメモリの最下位部分を使用してそれ自体のコード506と関連データ507を格納する。 As shown in Figure 5, MS-DOS stores the relevant data 507 with its own code 506 using the least significant portion of the memory. MS−DOSはその上位にアプリケーション・ソフトウェア,TSR及びデバイス・ドライバ(全体を要素512として図示)を格納する。 MS-DOS stores application software to the upper, TSR and device driver (shown generally as element 512).

メモリの第2の基本領域が384Kの予約済みメモリ503 The second basic area of ​​384K reserved memory 503 of memory
である。 It is. これは640KのRAM限界の上位、1024Kまでのメモリ・アドレスにある。 This is the top of RAM limit of 640K, the memory address of up to 1024K. 予約済みメモリ領域503は主に読み取り専用デバイスであるROMによって占められる。 Reserved memory area 503 is occupied mainly by ROM is a read-only device. 予約済みメモリ領域にあるROMにはシステムROM504,ビデオ In ROM in the reserved memory area is system ROM504, video
ROM505とおそらくはハード・ディスク・ドライブやネットワーク・インターフェースなどの他の周辺装置用のRO ROM505 and possibly RO for other peripheral devices, such as hard disk drives and network interface
M514が含まれる。 M514 is included. システムROM504にはコンピュータの基本機能をサポートするコードとデータが格納される。 Code and data that support the basic functions of the computer is stored in the system ROM 504. ビデオROM505にはビデオ表示を伴う動作をサポートするためのコードとデータが格納される。 The video ROM505 stores code and data to support operations involving display video. 他の周囲機器用のRO RO for other surrounding equipment
M514はそれらの装置の動作をサポートする。 M514 is to support the operation of these devices.

ROMの他に予約済みメモリ領域503には他のタイプの特殊メモリも含まれる。 In addition to the reserved memory area 503 of the ROM is also included special memory of other types. 予約済みメモリ領域503にあるメモリのタイプの1つがビデオ・フレーム・バッファに使用されるRAMである。 One type of memory in the reserved memory area 503 is a RAM used for video frame buffers. ビデオ・フレーム・バッファは現在ビデオ・ディスプレイに表示されている情報を格納するのに使用される。 Video frame buffer is used to store information currently being displayed on the video display. 一般にビデオ・フレーム・バッファから情報を読み取ることと書き込むことの両方が可能であるが、ビデオ・フレーム・バッファは通常は一般情報の記憶には使用できない。 In general it is possible both to write and to read information from the video frame buffer, video frame buffer is usually the storage of general information can not be used. というのはビデオ・フレーム・バッファがアクティブでなくその状態のままになるのでない限り、ビデオ・フレーム・バッファに情報を書き込むとビデオ・ディスプレイの外見が変化するからである。 Because since the video frame buffer unless the remains in that state not active, appearance of the video display is changed by writing information to the video frame buffer.

予約済み領域503のうちでビデオ・フレーム・バッファのために使用される領域は特定のコンピュータ・システムにインストールされたビデオ・ディスプレイ・アダプタの特定のタイプによって変化する。 Vary with the particular type of video display adapter region used is installed on a particular computer system for video frame buffers among the reserved area 503. 第5図に示すように、EGA又はVGAのビデオ・アダプタをインストールする場合、グラフィックス用の64Kのビデオ・フレーム・ As shown in FIG. 5, when installing the EGA or VGA video adapter, 64K video frame for graphics
バッファ508が640Kから704Kまでのメモリ空間を占有する。 Buffer 508 occupies memory space from 640K to 704K. EGA又はVGAのアダプタはテキスト表示のために32K 32K EGA or VGA adapters for text display
のビデオ・フレーム・バッファも使用する。 Also use the video frame buffer. この32Kのビデオ・フレーム・バッファはモノクローム表示の場合には704Kから736Kまで、カラー表示の場合には736Kから From 704K to 736K if the video frame buffer of the 32K display of monochrome, from 736K in the case of a color display
768Kまでに配置される。 It is placed in up to 768K. MDAビデオ・アダプタをインストールする場合16Kのビデオ・フレーム・バッファ509が Video frame buffer 509 of the case 16K to install the MDA video adapter
704Kから720Kまでのメモリ空間を占有する。 It occupies a memory space of up to 720K from 704K. ハーキュリーズ・ビデオ・アダプタをインストールする場合、64K If you want to install the Hercules video adapter, 64K
のビデオ・フレーム・バッファが704Kから768Kまでのメモリ空間を占有する。 Video frame buffer occupies memory space from 704K to 768K. CGAビデオ・アダプタをシステムにインストールする場合、ビデオ・フレーム・バッファ CGA If you want to install a video adapter to the system, the video frame buffer
510が736Kから768Kまでの32Kのメモリ空間を占有する。 510 occupies the memory space of 32K from 736K to 768K.
EGA又はVGAのビデオ・アダプタをインストールする場合、追加のメモリがビデオROMのために使用される。 When installing the EGA or VGA video adapter, additional memory is used for video ROM. 典型的には768Kから784Kまでの16Kのメモリ空間がEGA又は Typically the memory space of 16K from 768K to 784K EGA or
VGAのビデオROM505のために使用される。 It is used for the VGA video ROM505. ただし、ビデオROM505はサイズが異なる場合もあり、異なるアドレス空間に配置される場合もある。 However, video ROM505 is also when the size is different, the program may be arranged in different address spaces.

システムROM504はコンピュータの基本動作をサポートするが典型的にはたとえば960Kから1024Kまでの予約済みメモリ領域503の最上位64Kを占有する。 System ROM504 occupy uppermost 64K of the reserved memory area 503 of the supporting basic operation of the computer from but typically for example 960K to 1024K. 予約済みメモリ領域503の残りのスペースは未使用か、周辺装置をサポートするROMやEMSページ・フレームを含む他の目的に使用されるかのどちらかである。 The rest of the space in the reserved memory area 503 is not used either, it is whether either be used for other purposes, including the ROM and the EMS page frame that supports a peripheral device.

メモリの第3の基本領域は1Mを越えるすべてのメモリを含むエクステンデッド・メモリ511である。 The third basic area of ​​memory is extended memory 511 containing all the memory exceeding 1M. 8088/8086 8088/8086
マイクロプロセッサはアドレス・バスが20ビットしかないので1Mのメモリしかアドレッシングできず、エクステンデッド・メモリ511を簡単にはサポートできない。 The microprocessor is only a memory of 1M can not addressing since the address bus is only 20 bits, can not be easy to support the Extended memory 511. 802 802
86など24ビットのアドレッシング能力を持つマイクロプロセッサは予約済みメモリ503とコンベンショナル・メモリ502の1Mの他に、15Mのエクステンデッド・メモリ51 Etc. In addition to the 1M microprocessors reserved memory 503 and conventional memory 502 with 24-bit addressing capability 86, 15M of Extended Memory 51
1を含む16Mまでのメモリをアドレッシングできる。 1 can addressing the memory of up to 16M, including. 8038 8038
6や80486など32ビットのアドレッシング能力を持つマイクロプロセッサは予約済みメモリ503とコンベンショナル・メモリ502の1Mの他に4095Mのエクステンデッド・メモリ511を含む4Gまでのメモリをアドレッシングできる。 Microprocessor with 6 and 80486, etc. 32-bit addressing capability addressable memory to 4G including addition to 4095M Extended Memory 511 of 1M of reserved memory 503 and conventional memory 502.

エクステンデッド・メモリ511のうちで1Mの直上に置かれる領域をハイ・メモリ・エリア513と呼ぶ場合がある。 Sometimes the area to be placed directly above the 1M among the extended memory 511 is referred to as high memory area 513. ハイ・メモリ・エリア513は従来技術のハイ・メモリ技法を使用してアドレッシングできる65520個のメモリ・ワードから構成される。 High memory area 513 consists of 65520 pieces of memory words that can be addressed by using the high-memory techniques of the prior art.

第5図の従来技術のメモリ・マッピング・システムの欠点は1メガバイトのメモリしか直接アクセスできないことである。 The disadvantages of the prior art memory mapping system of Figure 5 is that can only one megabyte of memory directly accessible. その1メガバイトの中にRAMアドレッシングに関して640Kの人為的な制限が設けられている。 Artificial limit of 640K are provided with respect to RAM addressing in its one megabyte. しばしば、ユーザは640Kを越えるRAMを直接アドレッシングできることを必要とする。 Often, the user needs to be able to address the RAM exceeding 640K directly. RAMアドレッシングの人為的な640K制限を変更できないので追加RAMを提供しようとする従来技術の試みはRAMカットオフと1メガバイト限界の間の384Kの予約メモリの利用に焦点を置いている。 The prior art attempts to provide additional RAM can not change the artificial 640K limit of RAM addressing is focused on the use of the reserved memory of 384K between the RAM cut off and the one megabyte limit.
いくつかの従来技術の方法を以下で説明する。 Some prior art methods of described below.

[従来技術] 従来技術の第1の方法では追加のコンベンショナル・ PRIOR ART In a first method of the prior art additional conventional &
メモリとして使用するためコンベンショナル・メモリ60 Conventional memory 60 for use as a memory
2の640K限界の真上の予約メモリ603をアロケートする。 Allocating the reserved memory 603 immediately above the second 640K limit.
第5図を参照すると、要素601として示される640Kから7 Referring to FIG. 5, 7 640K, shown as element 601
04Kまでの予約メモリ・アドレス空間がEGA/VGAビデオ・ Reserved memory address space of up to 04K is EGA / VGA video
フレーム・バッファのためにアロケートされる。 It is allocated for the frame buffer. 704Kから736Kまでの予約メモリはMDA/ハーキュリーズ・ビデオ・フレーム・バッファのためにアロケートされる。 Reserved memory from 704K to 736K is allocated for the MDA / Hercules video frame buffer. 736K 736K
から768Kまでの予約メモリ・アドレス空間はCGAビデオ・フレーム・バッファのためにアロケートされる。 Reserved memory address space from up to 768K is allocated for the CGA video frame buffer. しかし、ほとんどのコンピュータ・システムには1種類のビデオ・ディスプレイ・アダプタしかない。 However, most of the computer system there is only one type of video display adapter. あるコンピュータ・システムにCGA又はMDA/ハーキュリーズのビデオ・アダプタがあるがEGA/VGAビデオ・アダプタがない場合、要素601として図示されるEGA/VGAビデオ・フレーム・バッファのためにアロケートされる640Kから704Kまでのメモリは未使用のままになり、コンベンショナル・メモリ602の拡張としてアプリケーション・プログラムが使用するために再アロケートすることができる。 If in the computer system has CGA or MDA / Hercules video adapter, but no EGA / VGA video adapter, 704K from 640K to be allocated for the EGA / VGA video frame buffer to be shown as element 601 memory up will remain unused, can be re-allocated to the application program uses as an extension of conventional memory 602. あるコンピュータ・システムにCGAビデオ・アダプタがあるがM M there is a CGA video adapter to a computer system
DA/ハーキュリーズ又はEGA/VGAのアダプタがない場合、 If there is no DA / Hercules or EGA / VGA adapter,
MDA/ハーキュリーズとEGA/VGAのビデオ・フレーム・バッファのためにアロケートされる640Kから736Kまでのメモリ空間が未使用のままになりコンベンショナル・メモリ602を736Kまで拡張できる。 Memory space from 640K to be allocated to 736K for video frame buffers of MDA / Hercules and EGA / VGA can extend the conventional memory 602 remain unused until 736K.

コンベンショナル・メモリ602の限界を640Kの上に押し上げるためには、まず、そのシステムにインストールされているビデオ・ディスプレイ・アダプタのタイプを判定しなければならない。 To push the limits of conventional memory 602 over 640K must first determine the type of video display adapters installed on the system. 存在するビデオ・ディスプレイ・アダプタのタイプに応じて外部メモリから適当な量の未使用RAMを640Kを越えて640Kと連続している未使用のアドレス空間にマッピングしなければならない。 It must be mapped an appropriate amount of unused RAM from external memory to an unused address space contiguous with 640K beyond 640K, depending on the type of video display adapters present. その後、アプリケーション・ソフトウェアやTSRにメモリを供給するためのメモリ・アロケーション手続きを修正して640K限界を越えるメモリをアロケートできるようにしなければならない。 Thereafter, it must be able to allocate memory beyond the 640K limit to modify the memory allocation procedures for providing memory to application software and TSR.

この方法は簡単にアクセスできるメモリの量を増加させるが、複数の欠点がある。 This method increases the amount of memory that can be easily accessible, there are several drawbacks. 第1に、この方法はますます一般的になりつつあるEGAディスプレイ又はVGAディスプレイを備えたコンピュータ・システムでは役に立たない。 First, this method is not useful in computer systems with EGA display or VGA display is becoming increasingly common. 第2に、EGAディスプレイ又はVGEディスプレイのないシステムであってもこの方法によって使用可能にできるメモリの量はごくわずかである。 Second, the amount of memory that can be enabled even EGA display or VGE display systems without by this method is negligible. MDAディスプレイ又はハーキュリーズ・ディスプレイのあるシステムでは64 MDA 64 is a display or a Hercules display system
Kを使用可能にすることしかできない。 It is only possible to enable K. MGAディスプレイしかないシステムであっても96Kを使用可能にすることしかできない。 MGA display can only be to enable the 96K even there is only system.

従来技術の第2の方法は第1の方法に似ている。 The second prior art method is similar to the first method. この方法にも第6図に示されるようにコンベンショナル・メモリの640K限界を予約メモリ領域に押し上げることが含まれる。 In this method involves pushing the reserved memory area 640K limit of conventional memory as shown in Figure 6. しかし、この方法は他の目的に使用されている予約メモリの再配置も行われるという点が従来技術の第1の方法と異なる。 However, this method is that relocation of reserved memory which is being used for other purposes are also made different from the first method of the prior art. この方法を使用することからもたらされるメモリ・マップを第7図に示す。 The memory map resulting from the use of this method is shown in Figure 7. この方法を用いるとビデオRAM703及びビデオROM704ならびに入出力(I/ Using this method the video RAM703 and video ROM704 and output (I /
O)メモリ705及びTSRメモリ706を予約メモリ領域内でできる限り上位のメモリ・ロケーションに再配置してできる限り多くの未使用の予約メモリ・アドレス空間をコンベンショナル・メモリ701と640K境界に連続して使用可能にすることができる。 O) in succession many unused reserved memory address space as possible to reposition the upper memory location as possible in the reserved memory area of ​​memory 705 and TSR memory 706 into conventional memory 701 and 640K boundary it can be made available. 実際に、コンベンショナル・メモリ701の640K限界を900Kまで押し上げることができる。 Indeed, it is possible to push the 640K limit of conventional memory 701 to 900 K.

この方法を実施するためには、まず、そのシステムにインストールされているビデオ・ディスプレイ・アダプタのタイプを判定しなければならない。 To implement this method, you must first determine the type of video display adapters installed on the system. やはり予約メモリ領域708の一部を占有する他のI/Oデバイスも判定しなければならない。 Again other I / O device that occupies a portion of the reserved memory area 708 must also be determined. その後、ビデオRAM703,ビデオROM704, After that, the video RAM703, video ROM704,
他のI/Oメモリ705及びTSRメモリ706を予約メモリ領域70 Book other I / O memory 705 and TSR memory 706 a memory area 70
8の最上位にあるシステムROM707の真下の領域に再マッピングしなければならない。 8 must be remapped to the area just below the system ROM707 at the top. その後、ビデオRAM703,ビデオROM704,I/Oメモリ705及びTSRメモリ706を指す割り込みポインタその他すべてのポインタをリダイレクト(宛先変更)して、このメモリが再配置された新しいメモリ空間を反映させなければならない。 Then, the video RAM 703, an interrupt pointer all other pointers to the video ROM 704, I / O memory 705 and TSR memory 706 redirect (diversion), this memory must reflect the new memory space rearranged . 次に、640Kと連続する予約メモリ・アドレス空間の使用可能ブロックに外部メモリから適当な量の未使用RAMをマッピングしなければならない。 It must then mapped an appropriate amount of unused RAM from external memory to an available block of reserved memory address space contiguous with 640K. 最後に、アプリケーション・ソフトウェアとTSRのためのメモリ・アロケーション手続きを修正してフィル・メモリ702と呼ばれる640Kの上位にある予約メモリのうちで使用可能にされた部分をアロケートできるようにしなければならない。 Finally, it must be able to allocate portions available among the reserved memory higher in the 640K called application software and fill memory 702 to modify the memory allocation procedures for TSR.

この従来技術の第2の方法にも欠点がある。 There also are disadvantages to the second method of the prior art. この方法では多くとも260Kの予約メモリしかアクセスできない。 You can only access the reserved memory of 260K at most in this way.
また、ビデオRAM703はしばしばアプリケーション・ソフトウェアが直接アクセスするので、アクセスの試みのすべてをつかまえビデオRAM703が再配置されたメモリ空間にリダイレクトすることは困難である。 The video RAM703 so often application software to access directly, it is difficult to redirect memory space video RAM703 catch all access attempts are rearranged.

従来技術の第3の方法は初めの2つとは多少異なる形で動作する。 Conventional third method technology operates somewhat differently than two first. これを第8図に示す。 This is shown in Figure 8. TSR,デバイス・ドライバ及びネットワーク・インターフェース・プログラム TSR, device drivers and network interface programs
803は普通は640K未満のコンベンショナル・メモリ801に配置されるが、そうでなければアプリケーション・ソフトウェアが使用できるはずのコンベンショナル・メモリの一部を占有するので、これらのプログラムをコンベンショナル・メモリ801の外部に移動できるならばより多くのメモリをアプリケーション・ソフトウェアが使用できるはずである。 803 is usually are placed into conventional memory 801 below 640K, since occupies a portion of the conventional memory that should be used unless the application software so, external conventional memory 801 these programs if you can move the more memory the application software should be used to. 従来技術の第3の方法ではTSR,デバイス・ドライバ及びネットワーク・インターフェース・プログラム803をコンベンショナル・メモリ801から予約メモリ802に移動することによってアプリケーション・ソフトウェアが使用できるコンベンショナル・メモリ801 TSR In the third method of the prior art, conventional memory 801 for application software can be used by moving the device drivers and network interface programs 803 from conventional memory 801 to reserved memory 802
の量を増やす。 Increase the amount of.

この方法を実施するためには、まず、未使用の予約メモリ806の量を判定しなければならない。 To carry out this method must first determine the amount of reserved memory 806 unused. また、TSR,デバイス・ドライバ及びネットワーク・インターフェース・ドライバ803が占有するコンベンショナル・メモリの量も判定しなければならない。 Further, TSR, device drivers and network interface drivers 803 must be determined the amount of conventional memory occupied. その後、予約メモリ領域にエクステンデッド・メモリから十分な量のアロケートされていないRAMをマッピングしてTSR,デバイス・ドライバ及びネットワーク・インターフェース・プログラムのためのメモリ空間を供給しなければならない。 Thereafter, TSR mapping the RAM that have not been allocated a sufficient amount reserved memory area from the Extended Memory must provide memory space for device drivers and network interface programs. 次に、 next,
TSR,デバイス・ドライバ及びネットワーク・インターフェース・プログラム803を予約メモリ802内の使用可能メモリ806に再配置しなければならない。 TSR, must relocate the device drivers and network interface programs 803 the available memory 806 in the reserved memory 802.

この従来技術の第3の方法にも欠点がある。 There is also a drawback in the third method of the prior art. まず、この方法ではアロケートされていない予約メモリ空間806 First of all, it has not been allocated in this way reserved memory space 806
しか使用できない。 Only it can not be used. この方法ではROM,ビデオ・フレーム・バッファ又は他の用途にアロケートされている予約メモリ空間807を使用できない。 In this way state ROM, available reserved memory space 807 which is allocated to the video frame buffer, or other applications. また、TSR,デバイス・ドライバ及びネットワーク・インターフェース・プログラム803の再配置はそれらに対する参照のすべてが確実に新しいロケーション804,805にリダイレクトされるようにするために注意深く行わなければならない。 Further, TSR, relocation of device drivers and network interface programs 803 must be done carefully to ensure that all references to them are redirected to ensure the new location 804, 805.

従来技術の第4の方法はいわゆるハイ・メモリ・エリアに関連する方法である。 A fourth prior art method is a method related to so-called high memory area. この方法を使用することからもたらされるメモリ・マップを第9図に示す。 The memory map resulting from the use of this method is shown in Figure 9. この方法は80286で実施されたセグメント・アドレッシング方式の例外に基づいている。 This method is based on the exception of the segment addressing scheme implemented in 80286. セグメント・アドレッシング方式では16ビットのセグメントと16ビットのオフセットを組み合わせて20ビットのアドレスを生成する。 The segment addressing scheme produces a 20-bit address by combining the 16-bit segment and 16-bit offset. 20ビットのアドレスは理論的には1Mまでに制限されるばずであるが、セグメントとオフセットの特定の組合せを用いると Although 20-bit address is theoretically buzz is limited to 1M, the use of certain combinations of segments and offsets
1M限界を越えるアドレスを得ることができる。 It is possible to obtain the address of over 1M limit. 8088及び 8088 and
8086マイクロプロセッサは可能なアドレスの範囲を1Mまでに制限するよう設計されたが80286マイクロプロセッサにはそのような保護機構がない。 8086 microprocessor is the range of possible addresses designed to limited to 1M no such protection mechanisms to 80286 microprocessor. 80286マイクロプロセッサはメモリ・アドレスに対する1M制限を厳格に維持するわけではないのでこの方法を80286プロセッサと共に使用すると、ハイ・メモリ・エリア(HMA)903と呼ばれる、1Mの真上に位置する追加の64Kのメモリをアクセスできるようになる。 80286 When the microprocessor uses this method with 80286 processor because it does not strictly maintain the 1M limit on memory addresses, called high memory area (HMA) 903, additional 64K located directly above the 1M consisting of the memory to be able to access.

この方法を使用するためには、まず、セグメント・アドレッシング方式を使用する時に最初の16ビットのセグメントを格納するのに使用される「セグメント・レジスタ」と呼ばれるレジスタにFFFFHをロードする。 To use this method, first, loads to FFFFH register called "segment register" used to store the first 16 bit segment when using the segment addressing scheme. その後、「オフセット・レジスタ」と呼ばれるレジスタに10 Then, 10 to register referred to as "offset registers"
HとFFFFHの間の値をロードする。 To load a value between H and FFFFH. そうすると、マイクロプロセッサはコンベンショナル・メモリ901へのアクセスであるかのようにハイ・メモリのアクセスを実行する。 Then, the microprocessor executes a high memory access as if it were accessing a conventional memory 901.

この従来技術の第4の方法にはそれに関連する欠点がある。 The fourth method of the prior art have drawbacks associated therewith. この方法は8088又は8086マイクロプロセッサに基づくコンピュータでは機能しないので、初期のPCやその互換機では使用できない。 Since this method does not work with computers based on 8088 or 8086 microprocessor, not available in the early PC and compatibles. また、この方法によってもたらされるメモリの量は64Kに限られる。 The amount of memory provided by this method is limited to 64K. さらに、アプリケーション・ソフトウェアはHMAをアロケートし、アクセスするよう特別に作成しなければならず、セグメント計算やHMAへの直接のディスク読み書きを含むHMAアクセスに関する制約に違反してはならない。 In addition, to allocate the application software HMA, must be specially created to access, it should not be in violation of the constraints on HMA access, including direct disk reading and writing to the segment calculation and HMA. また、この方法は広く知られており、この方法を使用してより多くのメモリを取得するソフトウェアが作成されているので、この方法によってもたらされるメモリはおそらくほとんどのコンピュータ・システムで他の用途に使用することができない。 Further, this method is widely known, because the software to obtain more memory using this method has been created, in other applications in memory is probably most computer systems provided by this method can not be used.

従来技術の第5の方法ではメモリをページに分割し、 In the fifth method of the prior art by dividing the memory into pages,
データをアクセスする時にその望みのデータを含むページがアクセス可能なメモリに確実に含まれるようにする。 Page containing the data of the desired when accessing the data to be included in reliably accessible memory. この方法には2つのバリエーションがある。 This method has two variations. 第1のバリエーションはエクスパンデッド・メモリ仕様(Expa The first variation is-expanded memory specification (Expa
nded Memory Specification:EMS)と呼ばれる。 nded Memory Specification: EMS) to be called. EMSを第 The EMS first
12図に示す。 12 shown in FIG. EMSはエクステンデッド・メモリから予約メモリ領域1202内のページ・フレーム1203にバンク切換してどの時点でも1M未満のメモリ空間に1つ又は少数のページしか存在しないのに大量のエクステンデッド・メモリを使用できるようにする。 EMS is to be able to use a large amount of Extended memory to there is only one or a small number of pages in the memory space of less than 1M at any point in time the bank switching to the page frame 1203 of the reserved memory area in 1202 from the Extended Memory to. EMSと共に使用する時にはエクステンデッド・メモリをエクスパンデッド・メモリ1204と呼ぶ。 When used in conjunction with the EMS is called the Extended Memory and Expanded memory 1204. 第2のバリエーションは仮想メモリと呼ばれる。 The second variation is called virtual memory. 仮想メモリを第10図に示す。 Shows the virtual memory in FIG. 10. 仮想メモリを用いるシステムの可能なメモリ・マップの1つを第11図に示す。 It shows one possible memory map of a system using a virtual memory in FIG. 11. 仮想メモリを使用すると物理メモリ1002に格納できない情報をハード・ディスク・ドライブなどのI/Oデバイスに記憶できるようになる。 It made that can not be stored in physical memory 1002 by using the virtual memory information to be stored in the I / O devices, such as hard disk drives. データはページに分割されCPU1001が必要とする時だけにディスク・ドライブから物理メモリにロードされる。 Data is only loaded from the disk drive to a physical memory when needed by the CPU1001 is divided into pages. したがって、大量のデータ・ページをハード・ディスクに記憶できるとともに物理メモリ1002にわずかのページを保持するだけでよい。 Therefore, it is only necessary to hold a small pages in physical memory 1002 together may be stored on the hard disk of large amounts of data pages.

EMSを使用するためにはエクスパンデッド・メモリ120 Expanded memory 120 in order to use the EMS is
4をページに分割しなければならない。 4 must be divided into pages. また、予約メモリ内の1領域をページ・フレーム1203として使用するためにアロケートしなければならない。 In addition, it must be allocated in order to use the first region in the reserved memory as a page frame 1203. ページの内容とエクスパンデッド・メモリ内でのロケーションを含むページのディレクトリを維持しなければならない。 The contents of the page and Aix must maintain a directory of the page that contains the location of the Pan dead in the memory. 一旦EMS Once EMS
が初期設定され動作状態になったならば、EMSをサポートするソフトウェアは望みのEMSデータがEMSページ・フレーム1203に含まれるようにするためにメモリ・アクセスを監視しなければならない。 If There now initially set operating state, the software that supports the EMS desired EMS data must monitor memory accesses to be included in EMS page frame 1203. 望みのEMSデータがアクセスの時点でEMSページ・フレーム1203に含まれない場合、EMSをサポートするソフトウェアは望みのデータのための余地を作るためにページ・フレーム1203のうちのどのページをページ・フレームからバンク切り替えして追い出すかを決定しなければならない。 If the hope of EMS data is not included in the EMS page frame 1203 at the time of access, the page frame which pages of the page frame 1203 in order to make room for the software is desired data to support EMS It must decide expel and bank switching from. その後、このソフトウェアはエクスパンデッド・メモリ1204から適当なページを見つけなければならない。 Then, this software must find the appropriate page from-expanded memory 1204. その後、この適当なページをページ・フレーム1203のうちの使用可能なページにロードしなければならない。 Then, you must load the appropriate page on the available page of the page frame 1203. その後、ページ・フレーム1203内の適当なアドレスへメモリ・アクセスをリダイレクトして望みのデータを読み書きできるようにしなければならない。 Then, it must be able to read and write the desired data to redirect memory access to the appropriate address of the page frame in 1203.

仮想メモリ・システムを使用するためにはハード・ディスク上にアロケートされた仮想メモリ1003をページに分割しなければならない。 In order to use the virtual memory system must split the virtual memory 1003, which is allocated on the hard disk to the page. ページの内容とメモリ内のロケーションを含むページのディレクトリを維持しなければならない。 Location of the content and in the memory of the page must maintain a directory of the page containing the. 一旦仮想メモリ・システムが初期設定され動作状態になったならば、仮想メモリ・システムは望みのデータが物理メモリ1002に含まれるようにするためにメモリ・アクセスを監視しなければならない。 Once the virtual memory system has become the initial setting operation state, the virtual memory system must memory access monitoring to ensure that the desired data is included in the physical memory 1002. 望みの仮想メモリ・データがアクセスの時点で物理メモリ1002に含まれない場合、仮想メモリ・システムは将来アクセスされる可能性が最も低いメモリのページを判定しなければならず、それらをハード・ディスクに書き戻さなければならない。 If virtual memory data desired is not included in the physical memory 1002 at the time of access, the virtual memory system must determine the page of lowest memory may be accessed in the future, they hard disk It must be written back to. その後、仮想メモリ・システムはハード・ Then, the virtual memory system is hard
ディスクの仮想メモリ1003から適当なページを見つけなければならない。 You must find the appropriate page from the virtual memory 1003 of the disk. その後、適当なページを物理メモリ10 Then, the physical memory 10 the appropriate page
02の選択されたページにロードしなければならない。 02 of the selected page must be loaded. その後、新たにロードされたページ内の適当なアドレスにメモリ・アクセスをリダイレクトして望みのデータを読み書きできるようにしなければならない。 Then, it must be new to redirect the memory access to the appropriate address in the loaded page to be able to read and write the desired data.

EMSと仮想メモリ・システムには類似性があるが、仮想メモリ・システムは一般にEMSよりはるかに自動的にアプリケーション・ソフトウェアに対して透明に動作する。 The EMS and virtual memory systems have similarities, but the virtual memory system is generally much more automatically operated transparent to the application software from the EMS to. アプリケーション・ソフトウェアは、仮想メモリ・ Application software, virtual memory
システムの場合、その存在すら意識せずにコンピュータ・システム上でアクティブになる場合があるが、EMSの場合、アプリケーション・ソフトウェアはEMSの存在を認識するだけではなく特別にEMSをサポートしEMSの動作を指令しなければならない。 In the case of system, there is a case to become active on a computer system without being aware of even its existence, EMS of the case, the application software is specially supports the EMS operation of the EMS not only to recognize the presence of EMS It must direct the.

この従来技術の第5の方法は理論的にはより大量のメモリのアクセスを可能にする能力を持っているが欠点もある。 Fifth method of the prior art has the ability to allow a greater amount of memory access in theory there are drawbacks. この方法を用いるとメモリ管理にCPUタイムを割かなければならないのでメモリ・アクセス・タイムが増加する。 Since the use of this method must be devoted the CPU time in memory management memory access time is increased. 記録を継続的に更新してページ・フレーム1203 Record continuously updated to the page frame 1203
とエクスパンデッド・メモリ1204の両方でのページの位置とその内容を示さなければならない。 And Aix must show the location and the contents of the page in both bread dead memory 1204. これらの動作は These operations
CPUが他のタスクに当てることのできるはずのタイムを奪い、したがって、性能を低下させる。 CPU stole the time that would can shed to other tasks, thus, degrading the performance.

従来技術の第6の方法ではROMの圧縮と最適化を使用する。 In the sixth method of the prior art use compressed and optimization of ROM. この方法は一般的に適用することができず、ROM This method can not be generally applicable, ROM
のそれぞれの改訂版ごとに人間が実行しなければならない。 Of that it must be performed by human beings for each revision. この方法の目的はROMの占有するメモリ空間の量を減らし、その結果ROMにアロケートされているが未使用のメモリ空間を他の目的のために再アロケートできるようにすることである。 The purpose of this method is to reduce the amount of memory space occupied by the ROM, has been allocated to the result ROM is to be able to re-allocate the memory space unused for other purposes. 非効率的なコードとROMのうちで絶対にアクセスされない部分とを発見し除去することによって、ROMが占有するメモリ空間を減らす。 By discovering the absolutely accessed not part of the non-efficient code and ROM to remove, reduce the memory space for ROM occupies.

この方法は特定のROMのそれぞれに別々の形で適用しなければならないのでこの方法の詳細を一般的に説明することはできない。 This method can not be described in detail in commonly this method since they must be applied in different forms to each particular ROM. この方法を使用するためには既存の Of existing in order to use this method
ROMのコードとデータを注意深く検査し、変更又は削除しなければならない領域を突き止めなければならない。 The ROM code and data carefully examined, must locate the area that must be modified or deleted.
その後、これらの変更を行った後にROMのコードとデータを再アセンブルしなければならない。 Then, it must be re-assemble the ROM code and data after making these changes. その後、小さくなった新しいROMコードを元のROMの部分の上にマッピングしなければならない。 Then, must be mapped on the part of the basis of the new ROM code becomes smaller ROM. また、この方法によって使用可能にされたメモリ空間を他の目的に使用できるようにするための用意も必要である。 Further, it provided to allow use of memory space made available by this method for other purposes also necessary.

この方法の明らかな欠点は一般的に適用できないことである。 The obvious drawback of this method is that it can not generally applicable. この方法に基づく製品は新しいROM改訂版が発表された途端に旧式になる。 The product will be obsolete as soon as was announced new ROM revision is based on this method. また、ROMのそれぞれの各改訂版の圧縮と最適化を実行するにはかなりの時間と労力と技能が必要である。 Further, to perform the respective compression and optimization of each revision of ROM is required considerable time and effort and skill.

従来技術の第7の方法では予約メモリ領域に常駐することになるTSRの初期設定のために予約メモリ領域内に追加のメモリを一時的に供給する。 Temporarily supplying additional memory in the reserved memory area for conventional in the seventh method technology will be resident in the reserved memory area TSR initialization. 予約メモリ領域にマッピングされているメモリ内にTSRを置くことによって、そうでなければそれらのTSRが使用するばずのコンベンショナル・メモリ空間をアプリケーション・プログラムが使用できる。 By placing TSR in memory that is mapped to the reserved memory area, otherwise Buzz conventional memory space application programs their TSR use can be used. しかしながら、TSRは典型的に初期設定されるときに単に常駐している時よりも多くのメモリを必要とする。 However, TSR typically require more memory than when simply resides when it is initialized. 時にはEMSをインストールしそのページ・フレームが予約メモリ領域内のメモリ空間を占有する時などにある、TSRを初期設定するのに十分な使用可能予約メモリ空間がない場合がある。 Sometimes, such as when you install the EMS is the page frame occupies the memory space of the reserved memory area, there may not be enough available reserved memory space to initialize the TSR. 従来技術のこの方法はEMSページ・フレームのためにアロケートされた予約メモリ空間からスペースを借りることによってこの問題を克服する。 This method of the prior art to overcome this problem by renting the space from the allocated reservation memory space for the EMS page frame. TSRがその初期設定を完了し、そのスペースがもはや不要になった後にそのスペースがEMSに返される。 TSR has completed its initial configuration, the space after the space has become no longer required is returned to the EMS.

従来技術のこの方法にも、欠点がある。 In this prior art method, there are drawbacks. まず、この方法はTSRにしか適用できない。 First, this method can not be applied only to the TSR. TSRのないシステムやごく小数のTSRしかないシステムがあり、これらのシステムではこの方法からはほとんど利益を得られない。 There are TSR systems without or only very small number of TSR system, not obtained little benefit from this method in these systems. また、 Also,
この方法から得られる利益の量はTSRによって変化する。 The amount of benefit derived from this method varies depending TSR. あるTSRが初期設定のために追加のメモリを必要としない場合、この方法からはほとんど利益を得られない。 If there TSR does not require additional memory for initialization, not little benefit from this method.

従来技術の第8の方法ではLOADALLコマンドを使用してリアル・モード・プログラムを80286マイクロプロセッサのプロテクト・モードで走らせる。 Conventional In the eighth of the method of the technology using the LOADALL command to run real-mode program in protected mode of the 80286 microprocessor. その目的は8028 Its purpose is 8028
6マイクロプロセッサにリアル・モードでの固有のメモリ・マッピング能力がないという事実にもかかわらずEM 6 EM Despite the fact that there is no specific memory mapping capabilities in real mode to the microprocessor
Sをエミュレートすることである。 The S is to emulate. リアル・モード・プログラムがセグメント・レジスタをロードしようとする時に一般保護例外が発生する。 General protection exception occurs when a real-mode program attempts to load a segment register. この方法は一般保護例外ハンドラを使用してセグメント・レジスタをセレクタに変換し、予期されないプロセッサ・モードをプログラムに対して透明にする。 This method converts the segment register to the selector using a general protection exception handler to clear the unexpected processor mode for the program. これらの能力を80286マイクロプロセッサで実現するためにこの方法はLOADALL命令に頼る。 The way to achieve these capabilities at 80286 microprocessor relies on LOADALL instruction.

LOADALLコマンドは80286マイクロプロセッサの非公開・非サポートの機能である。 LOADALL command is a function of the private and non-support of the 80286 microprocessor. これは8088,8086,80386又は80486マイクロプロセッサではサポートされない。 This is not supported in 8088,8086,80386 or 80486 microprocessor. これは明らかにマイクロプロセッサの製造と試験を助けるものとして80286マイクロプロセッサだけに実施されたコマンドである。 This is clearly was conducted only on 80286 microprocessor as an aid to manufacturing and testing of the microprocessor commands. したがって、LOADALL命令は将来に製造される80286マイクロプロセッサでサポートされるという保証すらない。 Therefore, not even guarantee that LOADALL instruction is supported by the 80286 microprocessor manufactured in the future. LOADALL命令はシステム・ソフトウェア又はアプリケーション・ソフトウェアでの使用を目的としたものではない。 LOADALL instruction is not intended for use by system software or application software.

従来技術の第8の方法を使用するためには以下の処理を実行しなければならない。 In order to use the eighth method of the prior art must perform the following processing. 第1に、割り込みを禁止しなければならない。 In the first, you must disable interrupts. 第2に、ロケーション00800Hから始まる102バイトをセーブしなければならない。 In the second, it must save the 102 bytes starting at location 00800H. 第3に、 Third,
全レジスタをセーブしなければならない。 We must save all registers. 次に、アクセスしようとする外部メモリの領域を指定するディスクリプタ・キャッシュ・ベース・アドレスを含む望みのレジスタ値をロケーション00800Hから始まる102バイトのメモリにロードしなければならない。 Then, you must load the register values ​​of hope, including the descriptor cache base address to specify the area of ​​the external memory to be accessed in 102 bytes of memory starting at location 00800H. この後に、LOADALL After this, LOADALL
オペコード(0FH 05H)を実行しなければならない。 You must perform the opcode (0FH 05H). 次に、エクステンデッド・メモリの読み取り又は書き込みを実行するが、この時にはアドレス・オフセットだけを使用しセグメント・ベース・アドレスを変更してはならない。 Next, perform read or write of Extended Memory, at this time should not change the segment base address using only the address offset. この後に、記憶しておいた全レジスタの値を取り出し、ロケーション00800Hから始まる102バイトのメモリにロードしなければならない。 After this, take out the value of all the registers, which had been stored, it must be loaded into the 102 bytes of memory starting at location 00800H. 次に、LOADALLオペコード(0FH 05H)を実行してレジスタとディスクリプタ・キャッシュの以前の内容を復元しなければならない。 Then we shall restore the previous contents of the running LOADALL opcode (0FH 05H) register and descriptor cache.
その後、00800Hから始まるメモリの102バイトの内容を取り出し、復元しなければならない。 Then, take out the 102 bytes of the contents of the memory starting from 00800H, it must be restored. 最後に、割り込みを許可し直さなければならない。 Finally, it must re-enable interrupts.

従来技術の第8の方法には多数の欠点がある。 The eighth method of the prior art have a number of drawbacks. まず、 First of all,
LOADALL命令は80286ベースのコンピュータ・システムでなければ機能せず8088,8086,80386又は80486ベースのコンピュータ・システムでは機能しない。 LOADALL instruction does not work with 8088,8086,80386 or 80486-based computer system does not function unless a 80286-based computer system. LOADALL命令は非公開で非サポートであるからLOADALL命令が将来に製造される80286マイクロプロセッサで機能するという保証はない。 LOADALL instruction guaranteed to work with 80286 microprocessor LOADALL instruction because it is not supported privately is manufactured in the future are not. 一般に非公開又は非サポートのハードウェア機能に頼るのは受け入れられない行動である。 In general, it is the unacceptable behavior of relying on hardware features of the private or non-support. さらに、 further,
LOADALL命令は絶対メモリ・アドレス00800Hにあるデータの操作を必要とする。 LOADALL instruction requires the operation of the data in the absolute memory address 00800H. LOADALL命令を実行する前にこの領域のメモリに含まれるデータを保存するために何らかの手だてを講じない限りシステム・ソフトウェアがダメージを受ける可能性がある。 System software unless taken some Tedate to store data contained in the memory of the area before executing the LOADALL instruction may be damaged. また、この方法によればすべてのタイプのシステム動作の間に一般保護例外が発生する。 Further, general protection exception occurs during all types of system operation according to this method. この例外をサービスする必要があるがこれには It is necessary to service the exception to this is
CPUタイムというコストがかかり、したがって、ほとんどのタイムでシステム性能がかなり低下する。 It takes a cost of CPU time, therefore, the system performance is considerably reduced in most of the time.

従来技術のもう1つの方法はアップルIIコンピュータで使用する16K−RAMカードに関連するものである。 Another prior art method is related to 16K-RAM card used in the Apple II computer. アップルIIコンピュータは6502マイクロプロセッサをベースとする。 Apple II computer is based on the 6502 microprocessor. 6502マイクロプロセッサのアドレス・バスは16 6502 address of the microprocessor bus 16
ビットであり64Kのアドレス空間をサポートする。 To support the 64K of address space a bit. しかし、アップルIIが市場に導入された時点ではRAMデバイスのコストが高かったので下位48Kのアドレス空間だけがRAMを用いて使用するようになっていた。 However, since the cost of RAM device was high at the time the Apple II was introduced to the market only the address space of the lower 48K was adapted to be used with RAM. この48KのRA RA of this 48K
Mの上位に、I/Oメモリに当てられた4Kの領域があった。 The M upper, there was a 4K area devoted to I / O memory.
残りの12Kはアドレス空間の最上位領域にありROMを用いて使用するようになっていた。 The remaining 12K was supposed to use with a ROM is at the top area of ​​the address space.

アプリケーション・ソフトウェアが徐々に大量のRAM Gradually a large amount of RAM application software
を必要とするようになるのにつれてその48Kの限界を越えてRAMを拡張する方法が必要になった。 How to extend RAM beyond the limits of its 48K as becoming to require is needed. RAMの量を増やすために16K−RAMカードが導入された。 16K-RAM card has been introduced in order to increase the amount of RAM. 16K−RAMカードには16KのRAMが搭載され、このRAMは64Kアドレス空間の上位16Kにマッピングでき、4KのI/Oメモリと12KのROMと入れ替えることができた。 The 16K-RAM card is mounted RAM of 16K, this RAM can be mapped to a higher 16K of 64K address space, it was possible to replace the ROM of 4K of I / O memory and 12K. 追加の16KのRAMを使用できるようにするためには、まず、I/OメモリとROMをアドレス空間の上位16Kから取り除かなければならなかった。 In order that the RAM of the additional 16K available, first had to remove the I / O memory and ROM from the upper 16K of address space. これはメモリ・デバイスに関連するアドレス復号ロジックを変更することによって達成できた。 This was achieved by changing the address decoding logic associated with the memory device. その後、16KのRAM After that, 16K of RAM
のアドレス復号ロジックをイネーブルすることによってそのRAMを16Kのアドレス空間にマッピングできた。 It could map the RAM address space of 16K by enabling the address decoding logic.

16K−RAMカードをイネーブルすると64Kのアドレス空間が64KのRAMで満たされた。 64K of address space was filled with 64K of RAM When enabled 16K-RAM card. その時点では4KのI/Oメモリも12KのROMもアクセスできなかった。 Did not have access ROM of 4K of I / O memory is also 12K at that time. I/OメモリとROM I / O memory and ROM
が使用できないのでアプリケーション・ソフトウェアは Application software so but it can not be used
16K−RAMカードがイネーブルされている間にコンピュータ・システムの完全な制御を維持しなければならず、制御を解放する前にI/OメモリとROMを確実にイネーブルし直さなければならなかった。 Must maintain full control of the computer system while the 16K-RAM card is enabled, it had to be re-enabled to ensure the I / O memory and ROM before releasing control. また、アプリケーション・ In addition, the application
ソフトウェアは16K−RAMカードがイネーブルされている間にI/OデバイスやROMルーチンをアクセスすることができなかった。 The software could not access I / O devices or ROM routines while the 16K-RAM card is enabled. 16K−RAMカードがイネーブルされている間にアプリケーション・ソフトウェアが制御を解放するか Or application software releases control while 16K-RAM card is enabled
I/Oデバイス又はROMルーチンをアクセスしようとしたならば、システムがクラッシュした。 If you try to access I / O devices or ROM routines system crashes. というのはその時点で望みのI/OデバイスもシステムROMもそのコンピュータ・システムのアドレス空間に存在しなかったからである。 This is because not present in the desired I / O device is also the system ROM also address space of the computer system at that time because. この方法はアプリケーション・ソフトウェアによるこのような注意深い制御と監視を必要としたので確かにアプリケーション・ソフトウェアの動作に対して透明ではなかった。 This method was not indeed transparent to the operation of the application software since such a careful control of application software requires monitoring. 16K−RAMカードの存在を特に認識しその特徴を注意深く使用するようにアプリケーション・ソフトウェアを作成しなければならなかった。 Especially recognize the presence of 16K-RAM card had to create an application software to carefully use its features.

本発明はアプリケーション・ソフトウェアに透明な形でROMアドレス空間を再利用するための方法を提供することによって、この従来技術の方法の制限を克服する。 The present invention by providing a method for reusing ROM address space in a clear form on the application software, overcomes the limitations of the prior art method.
本発明を特にサポートするようにアプリケーション・ソフトウェアを記述する必要はなく、本発明の存在や動作を意識する必要もない。 It is not necessary to write the application software to specifically support the present invention, there is no need to be aware of the existence and operation of the present invention. したがって、本発明は従来技術の方法よりはるかに役に立ち、用途の広い、ROMアドレス空間再利用方法を提供する。 Accordingly, the present invention is much useful than prior art methods, versatile, providing a ROM address space recycling method.

[本発明] 本発明はROMメモリ・アドレスを640Kバイトと1メガバイトの間の予約メモリ領域に再割り振りすることによってRAMをサポートするために使用できる追加のメモリ・アドレス空間を提供する。 [Invention] The present invention provides additional memory address space that can be used to support RAM by reallocating ROM memory addresses in the reserved memory area between 640K bytes and 1 megabyte. この場合、元のメモリ・アドレスをRAMに格納されているアプリケーション,TSRなどをアドレスするために使用できる。 In this case, it can be used to address applications, TSR and stored the original memory address in RAM.

たとえば、8088/8086ファミリーのマイクロプロセッサ(80286,80386及び80486マイクロプロセッサを含むがこれらに限定されるものではない)をベースとし、MS− For example, based on (but not limited to including the 80286, 80386 and 80486 microprocessors) microprocessors 8088/8086 family, MS-
DOSないしPC−DOSオペレーティング・システムの下で作動するコンピュータ・システムに適用されたものとして本発明を説明する。 DOS to illustrate the present invention as applied to a computer system operating under PC-DOS operating system. しかしながら、本発明の用途はこのようなコンピュータ・システムに限定されるものではない。 However, application of the present invention is not limited to such a computer system. 本発明は特定のビデオ・ディスプレイ・アダプタの構成を必要とするものではなく、すべてのビデオ・ディスプレイ・アダプタで作動する。 The present invention does not require the configuration of a specific video display adapter, work with all video display adapters. さらに、本発明は特定のROMの特定の改訂版に限定されるものではなく一般的にほとんどのROMに適用できるものである。 Furthermore, the present invention is applicable to a specific commonly most ROM is not limited to the particular revision of ROM. さらに、本発明は特定のアプリケーション・ソフトウェアとともに使用することに限定されるものではなくほとんどのアプリケーション・ソフトウェアに透過的に使用できる。 Furthermore, the present invention is transparently be used for most application software is not limited to use with specific application software. また、本発明は全体的なシステム・パフォーマンスの相当程度の低下を回避する。 Further, the present invention avoids the lowering of considerable overall system performance. このようにして、本発明はコンピュータ・システムで利用可能なメモリの量を増加させる従来技術の方法を大幅に改善するものである。 Thus, the present invention is to significantly improve the prior art method for increasing the amount of memory available in the computer system.

本発明を典型的なMS−DOSコンピュータに適用したものを第13図に示す。 A material obtained by applying the present invention to a typical MS-DOS computer shown in FIG. 13. システムROM1301及びビデオROM1302 System ROM1301 and video ROM1302
の位置はエクステンデッド・メモリ1303に移動されており、これらが占めていたスペースは割り振り解放(deal The position has been moved to the Extended Memory 1303, the space they had occupied allocation release (deal
located)されている。 located) it has been. したがって、未使用予約メモリ1 Therefore, unused reserved memory 1
304の量は増加し未使用予約メモリ1305となっている。 The amount of 304 is increased and has become a unused reserved memory 1305.
本発明によればROM1306及びビデオROM1307にプロテクト・モードであるいは予約メモリへマップすることによってアクセス可能である。 It is accessible by mapping the ROM1306 and video ROM1307 According to the present invention into protected mode or in the reserved memory.

本発明はコンピュータ・システムで使用されているマイクロプロセッサのセグメント化アドレス指定「リアル」モード及び「プロテクト」モードを利用する。 The present invention utilizes a segmented addressing, "real" mode and "protected" mode of microprocessors that are used in computer systems. セグメント化アドレス指定ならびにリアル・モード及びプロテクト・モードについては後で詳述する。 Will be described in detail later segmented addressing, as well as real-mode and protected mode.

セグメント化アドレス指定を第3図に示す。 The segmented addressing shown in Figure 3. セグメント化アドレス指定において、アドレスは2つの部分で指定される。 In segmented addressing, an address is specified in two parts. 最初の部分はセグメント301と呼ばれ、16ビットの2進値である。 The first part is called a segment 301, a binary value of 16 bits. 第2の部分はオフセット302と呼ばれ、これも16ビットの2進値である。 The second part is called the offset 302, which is also a binary value of 16 bits. アクセスする物理メモリ306内で指定されたアドレスを決定するためにマイクロプロセッサはまずセグメント・レジスタの内容に10Hを乗算する(303)がこれはセグメントの内容を左へ4ビットシフトすることと等価である。 By equivalent microprocessor to determine the address specified in the physical memory 306 to be accessed first multiplying 10H to the contents of the segment register (303) is It to 4-bit shift the contents of the segment to the left is there. 次いで、この値をオフセット・レジスタの内容に加算する(304)。 Then adding this value to the contents of the offset register (304).
セグメント・レジスタをシフトしてからオフセット・レジスタに加算することにより、幅20ビットのアドレスが生成される。 By adding a segment register after shifting to the offset register, the width 20-bit address is generated. 20ビットのアドレス・バスを通じてCPUにアクセス可能なメモリの量は2 20であり、これは1024Kバイトすなわち1Mバイトに等しい。 The amount of memory accessible to the CPU through a 20-bit address bus is 2 20, which is equal to 1024K bytes or 1M bytes. このアドレス指定方法は80286,80386及び80486が「リアル」モードで作動している場合にこれらによっても使用される。 This addressing method is also used by those in the case of the 80286, 80386 and 80486 is operating in "real" mode.

80286,80386及び80486マイクロプロセッサは「リアル」モードでも「プロテクト」モードでも作動可能である。 80286, 80386 and 80486 microprocessor is operable even in the "protected" mode in "real" mode. プロテクト・モードにはリアル・モードにはない各種の利点がある。 In protected mode there is a variety of advantages over real mode. まず、80286ではプロテクト・モードで16Mバイトにアクセスすることができ、これはリアル・モードでアクセス可能なメモリの量の16倍である。 First, it is possible to access to 16M bytes in protected mode in the 80286, which is 16 times the amount of accessible memory in real mode. 80 80
386及び80486ではプロテクト・モードはアドレス指定限度をさらに増加させる。 386 and 80486 in protected mode further increases the addressing limits. プロテクト・モードにおいて80 In protected mode 80
386及び80486は4096Mバイトすなわち4Gバイトをアドレスすることができこれは約40億メモリ・ワードにあたる。 386 and 80486 is able to address the 4096M bytes or 4G bytes This is equivalent to 4 billion memory word.

本発明は「プロテクト・モード」の実施例と呼ばれるもの、あるいは「マッピング」の実施例呼ばれるものにおいて実現可能である。 The present invention can be implemented in what is called example of what are referred to as examples of the "protected mode", or "mapping".

[プロテクト・モード] プロテクト・モードにおけるアドレス指定を第4図に示す。 Showing the addressing in Protect Mode] protected mode in Figure 4. 16ビットのセグメント・レジスタの代わりに、プロテクト・モードは16ビットのセレクタ401を使用する。 Instead of 16-bit segment register, protected mode uses a 16-bit selector 401. セレクタはディスクリプタ・テーブル404の項目403 Item selector descriptor table 404 403
をポイントする。 To point to. ディスクリプタ・テーブルはベース・ Descriptor table is based
アドレスを指定するディスクリプタを含んでいる。 It contains descriptors that specify the address. 8028 8028
6のディスクリプタは24ビットのベース・アドレスを備えており、80386及び80486のディスクリプタは32ビットのベース・アドレスを備えている。 6 descriptor has a base address of 24 bits, the descriptor of the 80386 and 80486 is provided with the base address of 32 bits. これらのベース・アドレスは8088/8086のセグメントと同じ機能を果たすがより用途が広いものである。 These base addresses serve the same function as the segments of the 8088/8086, but those more versatile. アクセスするメモリ406内で指定されたアドレス405を決定するために8088/8086で使用しているものと同様なオフセット402をディスクリプタ・テーブル404からベース・アドレスに追加する。 Add those similar offset 402 that are used in 8088/8086 to determine the address 405 specified in the memory 406 to be accessed from the descriptor table 404 to the base address.

80386及び80486は「仮想86(V86)」モードという付加的な機能を有している。 80386 and 80486 have the additional function of "virtual 86 (V86)" mode. 仮想モードにおいてマイクロプロセッサが計算したアドレスはアドレス・バスにおかれる実際のアドレスではないことがある。 Address the microprocessor in the virtual mode is calculated may not be the actual address placed on the address bus. 80386又は804 80386 or 804
86が仮想モードでアドレスを計算する場合、32ビットの線形アドレスのみを計算する。 86 When calculating the addresses in the virtual mode, to calculate only 32 bits of the linear address. 線形アドレスは次いで、 Linear address is then,
マイクロプロセッサのページング機構に渡され、該機構は付加的な計算を行って物理メモリにおける最終アドレスを決定する。 It is passed to the paging mechanism of a microprocessor, the mechanism to determine the final address in physical memory by performing additional calculations. ページング機構によって実際の物理メモリのものと異なる構成でメモリをマップすることが可能となる。 It is possible to map the memory different from that of the actual physical memory configuration by the paging mechanism. 物理メモリをページに分割することによって仮想モードは物理メモリの各4Kバイトのブロックがそれ自体の仮想アドレスを有することを可能とする。 Virtual mode by dividing the physical memory page block of each 4K bytes of physical memory makes it possible to have a virtual address itself. 以下の説明において「リアル・モード」という語は「仮想モード」と言い換えることができる。 The term "real-mode" in the following description can be referred to as "virtual mode". 好ましい実施例において本発明は仮想モードを利用する。 The present invention in a preferred embodiment utilizes virtual mode.

本発明のプロテクト・モードの実施例によって本来システム504及びビデオROM505に割り振られている予約メモリ領域503のメモリ空間の再割り振り(reallocatio Reallocation of the memory space in the reserved memory area 503 allocated to the original examples of protected mode of the present invention system 504 and video ROM505 (reallocatio
n)が可能となる。 n) is possible. プロテクト・モードでROMからの読み込みを行うことによって本発明はROMのアドレス空間をリアル・モードにおいて他の目的に使用することを可能とする。 The present invention by performing reading from the ROM in protected mode makes it possible to use for other purposes the address space of the ROM in the real mode.

システム構成を初期化し、元のROMのアドレス空間を再割り振りして、他の目的に利用できるようにし、ROM The system configuration and initialization, to reallocate the address space of the original ROM, to make it available for other purposes, ROM
のアクセスをインターセプトして、これらのアクセスが再割り振りされたROMのアドレス空間に送られるようにし、かつROMのアクセスを処理して、ROMのアクセスが完了し、システムがROMのアクセス後に実行を継続できるようにすることによって、本発明は実施される。 Intercepts the access, as these access are sent to the address space of the reallocated ROM, and processing the access ROM, and ROM access is completed, continue to run the system after access ROM by be so, the present invention is carried out.

本発明のコンピュータ・システムの初期化を第14図の流れ図に関して説明する。 The initialization of the computer system of the present invention will be described with respect to the flow diagram of Figure 14. 初期化ルーチンはステップ14 The initialization routine step 14
01から始まる。 Starting at 01. ステップ1401において移動対象のROMは第5図の予約メモリ領域503の元のアドレス空間におかれている。 ROM of a mobile object is placed on the original address space of the reserved memory area 503 of FIG. 5 in step 1401. ステップ1403においてROMのコードにアクセスする割り込みハンドラが確認される。 The interrupt handler to access the code ROM is confirmed in step 1403.

ステップ1404においてROMのデータ・テーブル・アドレス及び長さが確認される。 Data table address and length of the ROM is confirmed in step 1404. ステップ1405において再割り振りされたROMが使用する適切な割り振りされていない(unallocated)プロテクト・モード・アドレス空間が確認される。 Reallocated ROM is not suitable allocation for use in step 1405 (unallocated) protected mode address space is verified. このアドレス空間は連続していなければならず、またROMのアドレス指定を完全にサポートするのに適切なサイズのものでなければならない。 This address space must be contiguous, also must be of appropriate size to fully support the addressing of the ROM. このアドレス空間は再割り振りされたROMが実行されるところである。 This address space is where reallocated ROM is executed.

ステップ1406において、エクステンデッド・メモリ内の確認されたアドレス空間がROMに割り振られるので、 In step 1406, the confirmation address space Extended memory is allocated to ROM,
他の目的のためのアドレス空間を使用することによる衝突が防止される。 Collision by using the address space for other purposes is prevented. ROMは割り振られたメモリ・アドレス空間にマップされる。 ROM is mapped to a memory address space allocated.

オプションのステップ1407においてグローバル及びローカル・ディスクリプタ・テーブル(GDT/LDT)がROMがマップされている新しいアドレス空間に対して事前に割り振りされる。 Global and local descriptor table in step 1407 of options (GDT / LDT) are allocated in advance for the new address space ROM is mapped.

ステップ1408においてコンベンショナル・メモリがRO Conventional memory in step 1408 RO
Mデータ・テーブルのコピーを保持するために割り振られる。 Allocated to hold a copy of the M data tables. ステップ1409においてROMデータ・テーブルがコンベンショナル・メモリにコピーされる。 ROM data tables are copied into conventional memory at step 1409. ステップ1410 Step 1410
においてコンベンショナル・メモリ内のアドレス空間が割り込みハンドラ・ルーチンに割り振られる。 Address space conventional within memory is allocated to the interrupt handler routine in. ステップ Step
1411において割り込みハンドラ・ルーチンが割り振られたアドレス空間にインストールされる。 The interrupt handler routine is installed in the allocated address space in 1411. ステップ1412においてROMデータ・テーブルに対するポインタがコンベンショナル・メモリ内のコピーにリダイレクトされる。 Pointers to ROM data tables are redirected to the copy in conventional within the memory at step 1412.

オプションのステップ1413においてROMのアドレスはエクステンデッド・メモリによってオーバーレイされる。 The ROM addresses in optional step 1413 is overlaid by Extended Memory. ステップ1414において制御がオペレーティング・システムに戻される。 Control is returned to the operating system in step 1414.

ROMデータ・テーブルに対する照会がすべて見つからなかった場合あるいはこれらがすべて見つからないようなことを回避したい場合には上記の手順の変形を行う。 If the inquiry for the ROM data tables can not be found, all or if they want to avoid such things as missing all perform variation of the above procedure.
その位置に関して公表されている情報を照会するかあるいはROMの内容の分析によるかのいずれかによってROMデータ・テーブルの位置を捜し出してから、元のROMアドレス空間のこれらが占める部分をこれらに予約されているものとすることができる。 After locate the position of the ROM data tables depending on whether any of the analysis by the content of the or ROM to display the information that is published for that location is reserved to those parts to which they occupied in the original ROM address space it can be assumed that. 次いで、プロテクト・モードの機能を使用してROMデータ・テーブルを元のROMアドレス空間内の元の位置に復元することができる。 Then, it is possible to restore the ROM data tables with features protected mode to the original position in the original ROM address space. ROMデータ・テーブルは元のROMアドレス空間の元の位置にマップされる。 ROM data tables are mapped to the original position in the original ROM address space. マイクロプロセッサはプロテクト・モードのリング・ゼロにおかれている。 The microprocessor is placed in the ring zero of the protected mode. グローバル及びローカル両方のディスクリプタ・テーブル(GDT/LDT)はROMデータ・テーブルが占める元のROMアドレス空間の部分に設定される。 Global and local both descriptor table (GDT / LDT) are set to a portion of the original ROM address space occupied by the ROM data tables. プロセッサはプロテクト・モードを終了し、リアル・モードへ戻るようになされる。 Processor terminates the protected mode, is made to return to real mode. ROMデータ・テーブルが占める部分以外の元のROMアドレス空間は割り振り解放され、他のリアル・モードでの目的に使用できるようになる。 The original ROM address space other than the portion occupied by the ROM data tables are allocated released, made available for the purposes of the other real-mode. 割り振りされていない適切なエクステンデッドRAMを見つけだし、元のROMアドレス空間を割り振り解放済みの予約メモリ503に収める必要がある。 Find the appropriate Extended RAM that have not been allocated, it is necessary to keep the original ROM address space allocation release the reserved memory 503.
このRAMは次いで予約メモリ内の元のROMアドレス空間に割り振られ、マップされる。 This RAM is then allocated to the original ROM address space in reserved memory is mapped.

必要なステップをすべて行って本発明のプロテクト・ Protection of the present invention is carried out all the necessary steps -
モードの実施例で使用するためにコンピュータ・システムを初期化した後、予約メモリ503内の元のROMアドレス空間にマップされているRAMをTSR,デバイス・ドライバ又はネットワーク・インタフェース・プログラムの再配置を含む各種の目的に使用することができる。 After the computer system is initialized for use in the embodiment of mode, a RAM that is mapped to the original ROM address space in reserved memory 503 TSR, relocation device drivers or network interface programs it can be used for various purposes, including. ROMの呼出しを含めコンピュータ・システムの作動のすべてのフェーズの間新しいRAMは元のROMアドレス空間にマップされたままとなる。 The new RAM during all phases of operation of the computer system, including the call of the ROM will remain mapped into the original ROM address space.

システムが再構成され予約メモリ503内の元のROMアドレス空間の再割り振りが可能となってからROMアクセス・インタセプタが使用される。 System ROM access interceptor after reallocation is enabled in the original ROM address space in reserved memory 503 is re-configuration is used. システムの何らかのソフトウェアがROMへのアクセスを試みた場合、ROMアクセス・インタセプタが試みられたアクセスをインターセプトし、ROMアクセス・ハンドラを活性化してROMのコード又はデータにアクセスできるようにしなければならない。 If any software system attempts to access the ROM, intercepts access the ROM access interceptor is attempted, must be able to access the ROM code or data by activating the ROM access handler.
ほとんどのROMのルーチンがソフトウェア割り込みによってアクセスされるものであるから、ROMのアクセスをインターセプトするもっとも簡単な方法は上述のように割り込みテーブルを変更することである。 Since those most ROM routines are accessed via software interrupts, the easiest way to intercept access ROM is to modify the interrupt table as described above. アプリケーション・ソフトウェアの中には割り込みを使用せずに直接 Some of the application software directly, without using an interrupt
ROMへのアクセスを試みるものがあるため、ROMのアドレスに対する照会についてアプリケーション・ソフトウェアを調べ、これらの照会をリダイレクトして、アプリケーション・ソフトウェアがエクステンデッド・メモリ内の新しいROMイメージにアクセスするようにすることが望ましい。 Since there is an attempt to access the ROM, the query for the address of the ROM examine application software, and redirect these queries, the application software to access the new ROM image Extended memory It is desirable

もちろん、ROMデータ・テーブルを元の位置に保持しておくという上述の代替手順を使用した場合にはROMデータ・テーブルにアクセスしようとするROMアクセスを行うことができ、インターセプト及びリダイレクトは行われない。 Of course, when using the above alternative procedure that holds the ROM data tables to their original position can be performed ROM access attempts to access the ROM data tables, intercept and redirect is not performed .

ROMアクセス・ハンドラはエクステンデッド・メモリ内の新しいROMイメージにアクセスし、ROMの実行を収納し、ROMアクセスの完了後にアプリケーション・ソフトウェアの実行を継続できる状態にコンピュータ・システムを復元する方法を提供する。 ROM access handler accesses the new ROM image in Extended memory, accommodating the execution of ROM, provides a method for restoring a computer system is ready to continue execution of the application software after the completion of the ROM access.

ROMアクセス・ハンドラの作動を示す流れ図を第15図に示す。 A flow diagram illustrating the operation of the ROM access handler shown in Figure 15. プロセスはステップ1501から始まる。 The process begins at step 1501. ステップ Step
1502においてアクセスされる特定の割り込みサービス・ Specific interrupt service accessed in 1502,
ルーチンに対するROMアクセス・ハンドラはCPUをリング・ゼロというプロテクト・レベルでプロテクト・モードにする。 ROM access handler for the routine in protected mode the CPU in protected level of the ring zero. オプションのステップ1503において割り込みのサービスはROMへ行かずに行われ、制御が呼出しプログラムに戻される。 Service interruption at step 1503 of options is performed without going to ROM, control is returned to the calling program. オプションのステップを実行しない場合、プロセスは次のようになる。 If you do not perform optional step, the process is as follows.

ステップ1504において必要ならば新しいプロテクト・ New protected if necessary in step 1504,
モード・セレクタを反映するように入力リアル・モード・セグメント・レジスタが調節される。 The input real mode segment registers are adjusted to reflect the mode selector. ステップ1505において、ROMが戻るアドレスがプロテクト・モード・スタックに設定される。 In step 1505, ROM return address is set to the protected mode stack.

ステップ1506においてリング・スリー・プロテクト・ Ring Three protected in step 1506,
モードのCS:IPを変更し、再配置されたROM入口点をポイントするようにする。 Mode CS: Change the IP, so as to point to the ROM entry point rearranged. ステップ1507において該当するIO IO that fall in step 1507
PLを設定する。 Setting the PL. ステップ1508において再配置されたROM Relocated ROM in step 1508
入口点でリング・スリー・プロテクト・モードに移行する。 At the entry point to migrate to the ring three-protect mode.

ステップ1509においてROMは実行可能とされ、障害があればそれを処理する。 In step 1509 ROM is executable to process the, if any failure. ステップ1510においてROMは制御をステップ1505で設定されたアドレスに戻す。 ROM revert to address set control at step 1505 in step 1510. ステップ1511において再度プロテクト・モードへ移行し、ルーチンを終了する。 Again it shifts to protected mode in step 1511, to end the routine.

ステップ1512においてリアル・モードのCS:IPを変更し、呼出しプログラムの戻りアドレスをポイントするようにする。 In step 1512 of real-mode CS: Change the IP, so as to point the return address of the calling program. 必要に応じステップ1513において戻りポインタを変更し、リダイレクトされたROMデータをポイントするようにする。 Change the pointer returned at step 1513 as necessary, so as to point to the redirected ROM data. ステップ1514において呼出しプログラムの戻りアドレスでリアル・モードに移行する。 It shifts to real mode on the return address of the calling program in step 1514.

[マッピングの実施例] 本発明のマッピングの実施例も当初ROMに割り振られていた予約メモリ503のアドレス空間を他の用途に再割り振りすることを可能とする。 The address space of the reserved memory 503 embodiment of mappings was originally allocated to ROM of the present invention [Example of Mapping it possible to reallocate to other applications. しかしながら、本発明のマッピングの実施例はプロテクト・モードを使用することを必要とするものではなく、したがって、プロテクト・モードの作動をサポートしていない8088及び8086マイクロプロセッサとの互換性を有し、プロテクト・モード動作をサポートしない。 However, embodiments of the mapping of the present invention does not require the use of protected mode, therefore, it has a compatibility with the 8088 and 8086 microprocessors that do not support the operation of the protected mode, do not support protected-mode operation. 本発明のマッピングの実施例は Example of mapping of the present invention
80386又は80486マイクロプロセッサのプロテクト・モードを必要としないがメモリ空間を再マップする機能は必要である。 It does not require the protected mode of the 80386 or 80486 microprocessor ability to remap memory space is required. 80386及び80486においてこの機能はV86仮想モードによって提供される。 The functions in the 80386 and 80486 are provided by the V86 virtual mode. 8088、8086及び80286マイクロプロセッサにおいてこの機能はエクスパンデッド・ 8088,8086 and 80286 this feature in microprocessor-expanded
メモリ仕様(EMS)ボード又はその他のメモリ管理ハードウェアのいずれかによって提供される。 It is provided by any of the memory specification (EMS) board or other memory management hardware.

本発明の初期化ルーチンのマッピングの実施例を示す流れ図を第16図に示す。 A flow diagram illustrating an example of mapping initialization routine of the present invention shown in FIG. 16. プロセスはステップ1601から始まる。 The process begins at step 1601. ステップ1602においてアドレス空間が再割り振りされるROMを捜し出す。 Locate ROM address space is re-allocated in step 1602.

ステップ1603においてROMコードにアクセスする割り込みハンドラが確認される。 The interrupt handler to access the ROM code is confirmed in step 1603. ステップ1604においてROM ROM in step 1604
データ・テーブルのアドレス及び長さが確認される。 Address and length of the data table is confirmed.

ステップ1605においてROMが実行されるEMSのページ・ EMS of the page ROM is executed in step 1605,
フレームのリアル・モード・アドレス空間が割り振られる。 Real-mode address space of the frame is allocated. オプションのステップ1606においてROMのアドレスをオーバーレイするために使用するエクステンデッド・ Extended used to overlay ROM addresses in step 1606 optional
メモリが割り振られる。 Memory is allocated.

ROMのデータ・テーブルはステップ1607においてコンベンショナル・メモリにコピーされる。 ROM data tables are copied into conventional memory at step 1607. ステップ1608において割り込みハンドラのインターセプトが配置される。 Intercepting the interrupt handler is arranged in a step 1608. ステップ1609においてROMデータに対するポインタがコンベンショナル・メモリ内のデータのコピーをポイントするようにリダイレクトされる。 In step 1609 a pointer to ROM data are redirected to point to the copy of the data in conventional memory. オプションでステップ1610においてROMアドレスがエクステンデッド・メモリによってオーバーレイされる。 ROM address in step 1610 optionally is overlaid by Extended Memory. 制御はステップ1611 Control step 1611
においてオペレーティング・システムに戻される。 It is returned to the operating system in.

ROMデータ・テーブルに対する照会がすべて見つからなかった場合、あるいはこれらがすべて見つからないようなことを回避したい場合には上記の手順の変形を行う。 If the inquiry for the ROM data tables can not be found all, or if they want to avoid such things as missing all perform variation of the above procedure. その位置に関して公表されている情報を照会するか、あるいはROMの内容の分析によるかのいずれかによってROMデータ・テーブルの位置を捜し出してから、元のROMアドレス空間のこれらが占める部分をこれらに予約されているものとすることができる。 Or to display the information that is published for that position, or from locate the position of the ROM data tables depending on whether any of Analysis of the content of the ROM, reserved to those parts to which they occupied in the original ROM address space it can be assumed to be. ROMデータ・テーブルは元のROMアドレス空間の元の位置にマップされる。 ROM data tables are mapped to the original position in the original ROM address space. ROMデータ・テーブルが占めるスペース以外の予約メモリ内の元のROMアドレス空間は割り振り解放され、 The original ROM address space reserved in memory other than the space occupied by the ROM data table is the allocation release,
他のリアル・モードでの目的に使用できるようになる。 So it can be used for the purposes of the other real-mode.
割り振りされていない適切なエクステンデッドRAMを見つけだし、元のROMアドレス空間を割り振り解放済みの予約メモリ503に収める必要がある。 Find the appropriate Extended RAM that have not been allocated, it is necessary to keep the original ROM address space allocation release the reserved memory 503. このRAMを次いで割り振らなければならない。 Following this RAM must be allocated. このRAMを予約メモリ503内の割り込み解除されたROMアドレス空間にマップしなければならない。 You must map the RAM to the interrupt-released ROM address space in reserved memory 503.

第16図の初期化ルーチンが一回完了すると、コンピュータを正常に使用することができ、また当初ROMが占めていたメモリ空間をTSR,デバイス・ドライバ及びネットワーク・インターフェース・プログラムの再配置を含む他の用途に割り振ることができる。 Other including the initialization routine of Figure 16 is completed once, it is possible to use the computer successfully and TSR memory space that was occupied by the original ROM, and a rearrangement of the device drivers and network interface programs it can be allocated to applications.

マッピングの実施例のROMアクセス・インタセプタはR ROM access interceptor examples of mapping R
OMを照会するすべての命令をインターセプトし実行が混乱するのを防止しなければならない。 Intercept all of the instruction to query the OM execution must be prevented from confusion. ほとんどのアプリケーション・ソフトウェアがソフトウェア割り込みによってROMコードにアクセスしているため割り込みテーブルを修正することによって、ROMコードに対する呼出しをインターセプトし、リダイレクトすることが可能である。 Most application software by modifying the interrupt tables for accessing the ROM code via software interrupts, intercept calls to ROM code, it is possible to redirect. ROMデータ・テーブルに対する照会をリダイレクトすることが望ましいので、ソフトウェアを調べ、ROMデータ・テーブルに対するアクセスの試みを捜し出さなければならず、またROMデータ・テーブル・ポインタに対する変更を行って、アクセスが適切にリダイレクトされるようにしなければならない。 Since it is desirable to redirect queries for ROM data tables, examine the software must Sagashidasa the attempt to access ROM data tables, also make changes for the ROM data table pointers, access right It must be redirected to. ROMデータ・テーブルを元の位置に保持しておくという上述の代替手順を使用した場合にはROMデータ・テーブルにアクセスしようとするROMアクセスを行うことができ、インターセプト及びリダイレクトは行われない。 When using the above alternative procedures that holds the ROM data tables to their original position can be performed ROM access attempts to access the ROM data tables, intercept and redirect is not performed. ROMアクセス・インタセプタはROMアクセスの試みをインターセプトした場合には実行をROMアクセス・ハンドラに渡す。 ROM access interceptor is if you intercept attempts ROM access pass execution to the ROM access handler.

本発明のROMアクセス・ハンドラのマッピングの実施例を第17図の流れ図に示す。 EXAMPLE mapping ROM access handler of the present invention shown in the flowchart of FIG. 17. 流れ図はステップ1701から操作を開始する。 Flow diagram begins operation at step 1701.

ステップ1702においてアクセスされる特定の割り込みサービス・ルーチンのためのハンドラに対するプロテクト・モードへの移行が行われる。 Handler transition to protected mode for for a particular interrupt service routine being accessed in step 1702 are performed. オプションのステップ Optional step
1703においてROMへ進むことなくサービスが行われ、システムは次いで呼出しプログラムに戻る。 Service without proceeding to the ROM in 1703 is performed, the system then returns to the calling program. オプションのステップ1703を行わない場合にはプロセスは次のように継続する。 If you do not perform the optional step 1703, the process continues in the following manner.

ステップ1704においてページ・フレームの現行のマッピングが呼出しプログラムのリアル・モード・スタックにオプションでセーブされる。 The current mapping of the page frame is saved as an option to the real-mode stack of the calling program in step 1704. ステップ1705においてRO RO in step 1705
Mが戻るアドレスがリアル・モード・スタックに設定される。 M return address is set in the real-mode stack. ステップ1706においてリアル・モードCS:IPを変更し、再配置されたROM入口点をポイントする。 In step 1706 real mode CS: Change the IP, point to ROM entry point rearranged. ステップ1707においてROMがページ・フレームにマップされる。 ROM is mapped to the page frame in step 1707. ステップ1708において再配置されたROM入口点におけるリアル・モードへの移行が行われる。 Transition to real mode at relocated ROM entry point is performed in step 1708. ROMはステップ1709において実行可能となる。 ROM is allowed executed in step 1709.

ステップ1710において制御はステップ1705で設定されたアドレスに戻される。 Control at step 1710 is returned to the address set in step 1705. システムはプロテクト・モードへ再移行し、ステップ1711でルーチンを終了する。 The system re-transition to protected mode, and the routine is terminated in step 1711. ステップ1712においてリアル・モードCS:IPを変更し、呼出しプログラムの戻りアドレスをポイントする。 In step 1712 real mode CS: Change the IP, it points to the return address of the calling program.

必要に応じステップ1713において戻りポインタを修正し、リダイレクトされたROMデータをポイントするようにする。 Fixed pointer returned at step 1713 as necessary, so as to point to the redirected ROM data. ページ・フレームの元のマッピングはステップ Original of the mapping step of the page frame
1714において呼出しプログラムのリアル・モード・スタックに格納されているデータからオプションで復元される。 It is restored in options from the data that is stored in the real-mode stack of the calling program in 1714. ステップ1715においてシステムは呼出しプログラムの戻りアドレスでリアル・モードに再移行する。 In step 1715 the system will re-migrate to the real-mode with the return address of the calling program.

CPUのプロテクト・モードを使用した本発明の実施形態は多数の利点をもたらすものであるが、ROMは通常プロテクト・モードではなくリアル・モード(又はV86モード)で作動している。 Embodiments of the present invention using protected mode of the CPU is one in which provides a number of advantages, ROM is operating in real mode rather than the normal protected mode (or V86 mode). ROMにはリアル・モードでアクセスするものとしているシステム・ソフトウェア及びアプリケーション・ソフトウェアとの互換性を維持するため、プロテクト・モードでアクセスされるROMに対してリアル・モードの作動をシミュレートするステップを行わなければならない。 Because the ROM to maintain compatibility with system software and application software are assumed to be accessed in real mode, the step of simulating the operation of the real mode for ROM which is accessed in protected mode It must be made.

本発明をセグメント・レジスタのローディング時の試みをトラップする方法を含むように実施することができる。 It may be implemented to include a method of trapping attempts at loading of the present invention segment registers. CPUがプロテクト・モードであるときにセグメント・レジスタをロードしようとする試みをCPUによって検出し、一般保護例外ハンドラ(general protection exc Attempts CPU tries to load a segment register when in protected mode detected by CPU, general protection exception handler (general protection exc
eption handler)に対する呼出しを自動的に行う。 Automatically makes a call to the eption handler). 一般保護例外ハンドラはプロテクト・モードの規則に違反する命令の位置を戻す。 General protection exception handler returns the location of the instruction that violates the rules of the protected mode.

これが発生するのを補うために一般保護例外ハンドラが指定した位置にある命令を調べデコードする。 This decodes examines instructions in a position general protection exception handler specified to compensate for occurring. デコーディングはすべての命令のオペコード(opcode)を含んでいるルックアップ・テーブルにある命令のオペコードを調べることによって行われる。 Decoding is performed by examining the opcode of the instruction in the look-up table containing an opcode (opcode) of all instructions. 命令の分析によりリアル・モードにおいて命令が意図している効果を判断することができ、かつ意図している効果をプロテクト・モードでエミュレートすることができる。 Can determine the effect of the instruction in the real mode has been contemplated by the analysis of the instruction, and it is possible to emulate Intended effects in protected mode. 意図している効果がもたらされるので障害をもたらしたコードを適切に動作させることができ、実行がそのコードに渡されそのコードを完了することが可能となる。 Since Intended effects leads can be operated properly code that led to failure, execution is passed to the code it is possible to complete the code.

本発明が適切に作動できるようにするため、I/O命令をトラップしI/O特権レベル(I/O Privelege Level)IO Order that the present invention can properly operate to trap I / O instructions I / O privilege level (I / O Privelege Level) IO
PLの特権レベルを高くできるので(低い特権レベル番号で表される)IOPLセンシティブI/O命令を実行しようという試みは一般保護例外障害をもたらす。 Because it increases the privilege level of the PL (low expressed in privilege level number) IOPL Sensitive I / O instruction attempts to execute generally results protection exception fault. 発生した障害を処理し、これが本発明の動作と衝突しないようにすることができる。 Process the failure occurred, this can be prevented from colliding with the operation of the present invention.

いくつかのマイクロプロセッサの割り込みフラグは注意をほとんど必要としない態様で作動するが、I/O命令をトラップする場合などのようにI/O特権が拒否された場合、割り込みフラグの動作が異なるものとなることがある。 Although the interrupt flag several microprocessors operating in a manner which requires little attention, if the I / O privilege such as when to trap I / O instructions are rejected, that the operation of the interrupt flag is different it may become. 割り込みフラグに関連したある種のマイクロプロセッサの命令はI/Oレベルに敏感である(IOPL−sensiti Instruction of certain microprocessor associated with the interrupt flag is sensitive to the I / O level (IOPL-sensiti
ve)。 ve). 80286又は80386マイクロプロセッサ・ベースのシステムにおいて、I/O特権が拒否された場合に割り込み可能フラグ・クリア(clear interrupt enable flag)C In 80286 or 80386 microprocessor-based systems, the interrupt flag clear when I / O privileges are denied (clear interrupt enable flag) C
LI命令又は割り込み可能フラグ設定(set interrupt en LI instruction or interrupt flag set (The set interrupt en
able flag)STI命令の実行を試みると一般保護例外障害が生じる。 able flag) general protection exception failure occurs and try to run the STI instruction.

本発明は割り込みフラグを変更するソフトウェアによる試みの監視、ならびに適切な割り込みフラグの挙動のエミュレーションの問題を解決する方法も含んでいる。 The present invention also includes a method for solving the interrupt flag monitoring attempts by the software to change, as well as emulation problems of the behavior of the appropriate interrupt flag.
これらの問題はプロテクト・モードにおけるPOPF及び割り込み戻り(interrupt return)IRET命令の不適切な動作によって生じる。 These problems caused by improper operation of the POPF and interrupt return (interrupt return) IRET instruction in protected mode. POPF命令は最上位のワードをスタックから取り出し、その内容をCPUのフラグ・レジスタに入れるものであると考えられる。 POPF instructions taken from the stack the words top-level, considered to be put its contents into the flag register of the CPU. IRET命令は上位3ワードをスタックから取り出し、そのワードの内容をCPUフラグ・レジスタに入れる。 IRET instruction retrieves the top three words from the stack, put the contents of the word in the CPU flag register. しかしながら、プロテクト・ However, protect
モードではPOPF命令もIRET命令も割り込みフラグを変更しないし、また一般保護例外も発生しない。 It does not change even interrupt flag POPF instructions also IRET instruction mode, also is not generated a general protection exception. それ故、コンピュータがプロテクト・モードのときに割り込みフラグのリアル・モードでの挙動をエミュレートするために一般保護例外ハンドラを使用すると完全なエミュレーションは行われず、適正な作動が行われなくなる。 Therefore, the computer is not performed a complete emulation when the behavior in real mode interrupt flag uses a general protection exception handler to emulate when the protected mode, proper operation is not performed.

従来、POPF命令をトラップできなかったため、満足できるリアル・モードのエミュレーションを提供できたものは誰もいない。 Conventional, because it could not trap the POPF instruction, no one that can provide emulation of real mode that can be satisfied. 「DOS Protected Mode Interface Spe "DOS Protected Mode Interface Spe
cification,Version 1.0」には次のように記載されている。 cification, it has been described as follows in Version 1.0 ". 「...クライアントはIRET(D)又はPOPFを使用して、割り込みフラグを変更できないが、これはこれらの命令が物理的割り込みフラグにアクセスするものであり、クライアントの特権レベルのためCPUによって無視されるからである。」 本発明の特徴の1つはPOPF及びIRET命令に一般保護例外を発生させることである。 "... client uses IRET (D) or POPF, but can not change the interrupt flag, which is intended to these instructions access the physical interrupt flag, ignored by the client privilege level for CPU this is because the. "one of the features of the present invention is to generate a general protection exception POPF and IRET instructions. 本発明は一般保護例外ハンドラのみに依存する代わりに、代替方法を使用してPOPF Instead the present invention is dependent only on the general protection exception handler, POPF using an alternative method
命令又はIRET命令をトラップすることによってプロテクト・モード時にリアル・モードの挙動の適切なエミュレーションを提供する。 To provide the appropriate emulation of the behavior of the real mode to protected mode at the time by trapping the instruction or IRET instruction.

POPF命令又はIRET命令が普通、プログラム内のコードの予測可能なシーケンスの一部として使用されているので、本発明はこの規則性を利用してPOPF命令をトラップする。 POPF instruction or IRET instruction usually because it is being used as part of a predictable sequence of code in the program, the present invention is to trap the POPF instruction by utilizing the regularity.

普通は、プログラムはPUSHF命令を使用してフラグ・ Normally, the program uses the PUSHF instruction flag
レジスタの内容をセーブし、CLI又はSTI命令を使用して割り込みをロックし、割り込みがロックされている間に各種のコードを実行し、その後、POPF命令を使用してフラグ・レジスタの内容を復元している。 Saving the contents of the register, using the CLI or STI instruction locks the interrupt, interrupt executes various code while locked, then restore the contents of the flag register using the POPF instruction doing.

POPF命令をトラップするためにCLI又はSTI命令の実行によってもたらされる一般保護例外が生じる場合には、 When the general protection exception caused by the execution of the CLI or STI instruction to trap POPF instruction occurs,
常にスタックの限界を現行のスタック・ポインタと等しく設定する。 Always set equal to the limit of the stack and the current stack pointer. このようなスタックの限界を設けた場合、 If provided the limitations of such a stack,
POPF又はIRETを実行するとスタックの限界を越え、これによって、一般保護例外が発生する。 Beyond the limits of the stack when executing the POPF or IRET, thereby, general protection exception occurs.

本発明は第5図に示すようにマップされたメモリ・アドレスを有するコンピュータ・システムに限定されるものではない。 The present invention is not limited to the computer system having a memory address that is mapped as shown in Figure 5. たとえば、ROM用に予約されたメモリ・アドレスが他の位置にあることがある。 For example, there is a memory address that is reserved for ROM is in the other position. たとえば、PS/2などのオペレーティングシステムの場合、ROM用のメモリ・アドレスは0E000などの位置に予約されている。 For example, in the case of operating systems such as PS / 2, a memory address for the ROM is reserved position such 0E000.

本発明はマッピング方法にプロテクト・モードを利用しているが、これは必須ではない。 Although the present invention has been use of the protected mode to the mapping method, but this is not essential. マッピング方法のためにプロテクト・モードとすることを必要としない他のメモリ管理システムを使用することができる。 Other memory management system that does not require the protected mode for the mapping method may be used.

したがって、パフォーマンスを大幅に劣化させることがなく、またCPU,ROM又はアプリケーションのいずれにも特有のものではない態様で容易にアクセスできるメモリをより多く利用可能にする方法が提供される。 Therefore, performance without greatly deteriorating and CPU, readily accessible way to more available memory in a manner not specific to any ROM or application is provided.

フロントページの続き (56)参考文献 小高輝真,“用途別最適RAM利用 術”,月刊アスキー,株式会社アスキ ー,平成3年6月,第15巻,第6号, p. Of the front page Continued (56) references Kodaka TeruShin, "application-specific optimal RAM utilization surgery", Monthly ASCII, Ltd. ascii over, 1991 June, Vol. 15, No. 6, p. 218−219 (58)調査した分野(Int.Cl. 7 ,DB名) G06F 12/00 - 12/06 218-219 (58) investigated the field (Int.Cl. 7, DB name) G06F 12/00 - 12/06

Claims (5)

    (57)【特許請求の範囲】 (57) [the claims]
  1. 【請求項1】リアル・モード及びプロテクト・モードで作動可能なプロセッサを有し、読み取り専用メモリ(RO 1. A includes a processor operable in real mode and protected mode, a read only memory (RO
    M)のために予約されているメモリ・アドレス空間を含む第1の範囲のメモリ・アドレス空間、コンベンショナル・メモリとして指定されているメモリ・アドレス空間およびエクステンデッド・メモリ・アドレス空間とを有するコンピュータ・システムにおいて、前記プロセッサによって前記の第1範囲のメモリ・アドレス空間を利用する方法において: 前記第1範囲のメモリ・アドレス空間内のROMのアドレスを確認し; 前記ROMにアクセスするための割り込みハンドラを確認し; 前記ROMに格納されているROMデータ・テーブルのアドレスを確認し; 前記第1範囲のメモリ・アドレス空間にある前記ROMを前記エクステンデッド・メモリ・アドレス空間に割り振るとともにマツプし; 前記ROMデータ・テーブルを前記コンベンショナル・メモリにコ Computer system having a first range memory address space of the memory address space and extended memory address space is specified as conventional memory including a memory address space that is reserved for the M) in a method of utilizing a memory address space of the first range of the by the processor: to check the address of the ROM in the memory address space of the first range; check the interrupt handler for accessing the ROM teeth; check the address of the ROM data table stored in the ROM; and Matsupu with allocating the ROM in the memory address space of the first range to the extended memory address space; the ROM data child table in the conventional memory ーし; 前記割り込みハンドラに対するアドレス空間を前記コンベンショナル・メモリ内に割り振り; 前記割り込みハンドラを前記割り振られたアドレス空間にコピーし; 前記コピーされた割り込みハンドラと、前記コンベンショナル・メモリ内にコピーされた前記ROMデータ・テーブルとを対応付けし; 前記第1範囲のメモリ・アドレス空間内の前記ROMアドレスをエクステンデッド・メモリによってオーバーレイする; ステップからなる方法。 Over to; the allocation of address space in the conventional-memory for an interrupt handler; copies said interrupt handler in said allocated address space; and the copied interrupt handler, the copied to the conventional within memory and associates the ROM data tables; overlaying by the ROM address Extended memory of the memory address space of the first range; method comprising steps.
  2. 【請求項2】前記ROMに対するグローバル及びローカルディスクリプタ・テーブル自体を前記エクステンデッド・メモリ・アドレス空間内に作成するステップをさらに含んでいる特許請求の範囲第1項記載の方法。 2. A global and method of the local descriptor table itself said extended memory address range first term of further comprising and claims the step of creating in the space according to said ROM.
  3. 【請求項3】前記プロセッサを第1保護レベルのプロテクト・モードにし; 戻りアドレスを前記プロテクト・モードのスタック上に設定し; コードセグメント:命令ポインタ(CS:IP)を変更して、再配置されたROM入口点をポイントするようにし; 前記プロセッサを前記プロテクト・モードの第2保護レベルとし; 前記ROMアクセスを実行し; 制御を前記戻りアドレスに戻し; 前記CS:IPを呼び出しプログラムの戻りアドレスに変更し; 前記ROMアクセスの実行の出力を調べ、必要に応じ、該出力を修正し; 前記プロセッサを前記リアル・モードとする; ステップをさらに含んでいる特許請求の範囲第1項記載の方法。 The method according to claim 3, wherein the processor in the first protection level protected mode; the return address set on the stack of the protected mode; code segment: instruction pointer: Change the (CS IP), are relocated and to point to the ROM entry point; the processor as a second protection level of said protected mode; executing said ROM access; returns control to the return address; the CS: the return address of IP calls program changed; the examined output of execution of the ROM access, if necessary, correct the output; method further comprise that the claims claim 1 wherein step; said processor and said real mode.
  4. 【請求項4】リアル・モード及びプロテクト・モードで作動可能なプロセッサを有し、読み取り専用メモリ(RO 4. A includes a processor operable in real mode and protected mode, a read only memory (RO
    M)のために予約されているメモリ・アドレス空間を含む第1の範囲のメモリ・アドレス空間、コンベンショナル・メモリとして指定されているメモリ・アドレス空間およびエクステンデッド・メモリ・アドレス空間とを有するコンピュータ・システムにおいて、前記プロセッサによって前記の第1範囲のメモリ・アドレス空間を利用する方法において: 前記第1範囲のメモリ・アドレス空間内のROMのアドレスを確認し; 前記ROMにアクセスするための割り込みハンドラを確認し; 前記ROM内のROMデータ・テーブルのアドレスを確認し; ROMが実行されるエクスパンデッド・メモリ仕様(EMS) Computer system having a first range memory address space of the memory address space and extended memory address space is specified as conventional memory including a memory address space that is reserved for the M) in a method of utilizing a memory address space of the first range of the by the processor: to check the address of the ROM in the memory address space of the first range; check the interrupt handler for accessing the ROM teeth; to confirm the address of the ROM data table in the ROM; Expanded memory specification ROM is executed (EMS)
    ページ・フレームに対するリアル・モードのアドレスを割り振り; 前記ROMデータ・テーブルをコンベンショナル・メモリにコピーし; 前記コンベンショナル・メモリ内のアドレス空間を前記割り込みハンドラに割り振り; 前記ROMデータ・テーブルに対する前記割り込みハンドラ内のポインタを修正し、前記コンベンショナル・メモリ内の前記ROMデータ・テーブルのコピーをポイントするようにし; 前記第1範囲のメモリ・アドレス空間内の前記ROMアドレスをエクステンデッド・メモリによってオーバーレイする ステップからなる方法。 Allocating addresses of real mode for the page frame; the ROM data table copied into conventional memory; the conventional-allocated address space in memory to the interrupt handler; said interrupt handler in respect to the ROM data table the method comprises the step of overlaying by the ROM address Extended memory of the memory address space of the first range; of Fixed pointer, the ROM a copy of the data table to point of the conventional-memory .
  5. 【請求項5】前記プロセッサを第1保護レベルのプロテクト・モードにし; 前記EMSページ・フレームの現行のマッピングをセーブし; 戻りアドレスを前記リアル・モードのスタック上に設定し; コード・セグメント:命令ポインタ(CS:IP)を変更して、再配置されたROM入口点をポイントするようにし; 前記プロセッサを前記リアル・モードとし; 前記ROM内のコードを実行し; 制御を前記戻りアドレスに戻し; 前記CS:IPを呼び出しプログラムの戻りアドレスに変更し; 前記ROMアクセスの実行の出力を調べ、必要に応じ、該出力を修正し; 前記ページ・フレームの元のマッピングを復元し; 前記プロセッサを前記リアル・モードとする; ステップをさらに含んでいる特許請求の範囲第4項記載の方法。 Wherein the said processor the first protection level protected mode of; the saving the current mapping of the EMS page frame; a return address is set on the stack of the real mode; code segment: instruction pointer (CS: IP) to change, to point to ROM entry point rearranged; and said processor said real mode; returns control to the return address; executing code in said ROM; wherein CS: change the return address of IP calls program; examine the output of the execution of said ROM access, if necessary, correct the output; restores the original mapping of said page frame; wherein the processor the real mode; further include a range of at which claims a method of paragraph 4 wherein the step.
JP50293493A 1991-07-15 1992-07-15 Memory management method Expired - Fee Related JP3268310B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US07/730,244 US5237669A (en) 1991-07-15 1991-07-15 Memory management method
US730,244 1991-07-15
PCT/US1992/005925 WO1993002417A1 (en) 1991-07-15 1992-07-15 Memory management method

Publications (2)

Publication Number Publication Date
JPH06508952A JPH06508952A (en) 1994-10-06
JP3268310B2 true JP3268310B2 (en) 2002-03-25

Family

ID=24934552

Family Applications (2)

Application Number Title Priority Date Filing Date
JP50293493A Expired - Fee Related JP3268310B2 (en) 1991-07-15 1992-07-15 Memory management method
JP2001150838A Expired - Fee Related JP3571667B2 (en) 1991-07-15 2001-05-21 The interrupt flag management method

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2001150838A Expired - Fee Related JP3571667B2 (en) 1991-07-15 2001-05-21 The interrupt flag management method

Country Status (11)

Country Link
US (2) US5237669A (en)
EP (1) EP0595880B1 (en)
JP (2) JP3268310B2 (en)
KR (1) KR0132696B1 (en)
AT (1) AT174137T (en)
AU (1) AU2339592A (en)
BR (1) BR9206286A (en)
CA (1) CA2113565C (en)
DE (2) DE69227774T2 (en)
FI (1) FI940168A (en)
WO (1) WO1993002417A1 (en)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202994A (en) * 1990-01-31 1993-04-13 Hewlett-Packard Company System and method for shadowing and re-mapping reserved memory in a microcomputer
US5640507A (en) * 1992-03-02 1997-06-17 Microsoft Corporation Method and apparatus for identifying read only memory
US5404438A (en) * 1992-03-03 1995-04-04 Compaq Computer Corporation Method and apparatus for operating text mode software in a graphics mode environment
EP0559220A3 (en) * 1992-03-06 1994-01-19 Microsoft Corp
US5455919A (en) * 1992-11-03 1995-10-03 International Business Machines Corporation Installation and use of plural expanded memory managers
US5596755A (en) * 1992-11-03 1997-01-21 Microsoft Corporation Mechanism for using common code to handle hardware interrupts in multiple processor modes
US5371867A (en) * 1992-11-10 1994-12-06 International Business Machines Corporation Method of using small addresses to access any guest zone in a large memory
JPH0773046A (en) * 1992-12-07 1995-03-17 Intel Corp Method for emulating circuit by computer system and device therefor
US5835926A (en) * 1992-12-15 1998-11-10 Siemens Business Communication Systems, Inc. Multiple memory addressing using adjustable chip select
EP0688449A4 (en) * 1993-03-09 1997-08-27 Novell Inc Method and apparatus for memory management
US6147696A (en) * 1993-06-24 2000-11-14 Nintendo Co. Ltd. Electronic entertainment and communication system
US6762733B2 (en) 1993-06-24 2004-07-13 Nintendo Co. Ltd. Electronic entertainment and communication system
US5959596A (en) 1993-06-24 1999-09-28 Nintendo Co., Ltd. Airline-based video game and communications system
US5581270A (en) * 1993-06-24 1996-12-03 Nintendo Of America, Inc. Hotel-based video game and communication system
US6684261B1 (en) 1993-07-19 2004-01-27 Object Technology Licensing Corporation Object-oriented operating system
US5473777A (en) * 1993-07-19 1995-12-05 Moeller; Christopher P. Wrapper for enabling an object otented application to maintain virtual memory using procedural function calls
US5379432A (en) 1993-07-19 1995-01-03 Taligent, Inc. Object-oriented interface for a procedural operating system
US5537597A (en) * 1993-09-27 1996-07-16 Intel Corporation Method and apparatus for supporting real mode card services clients with a protected mode card services implementation
US5526503A (en) * 1993-10-06 1996-06-11 Ast Research, Inc. Virtual addressing buffer circuit
US5517651A (en) * 1993-12-29 1996-05-14 Intel Corporation Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes
US5577221A (en) * 1994-04-14 1996-11-19 Industrial Technology Research Institute Method and device for expanding ROM capacity
JPH07302254A (en) * 1994-05-06 1995-11-14 Mitsubishi Electric Corp Microcomputer system
US5664139A (en) * 1994-05-16 1997-09-02 Compaq Computer Corporation Method and a computer system for allocating and mapping frame buffers into expanded memory
US5699542A (en) * 1994-09-30 1997-12-16 Intel Corporation Address space manipulation in a processor
AUPN105495A0 (en) * 1995-02-10 1995-03-09 Aristocrat Leisure Industries Pty Ltd Dram emulator
WO1996038784A1 (en) * 1995-06-02 1996-12-05 Systemsoft Corporation Digital data processing method and apparatus for peripheral device control
US5829012A (en) * 1996-04-19 1998-10-27 Unisys Corporation System for programmably providing modified read signals within a ROM-based memory
US6081664A (en) * 1996-09-30 2000-06-27 Intel Corporation Method for monitoring a BIOS
US5940850A (en) * 1996-10-31 1999-08-17 International Business Machines Corporation System and method for selectively enabling load-on-write of dynamic ROM data to RAM
US5983310A (en) 1997-02-13 1999-11-09 Novell, Inc. Pin management of accelerator for interpretive environments
JP3011120B2 (en) * 1997-02-13 2000-02-21 日本電気株式会社 Layout information generating apparatus and the layout information generating method
US5987581A (en) * 1997-04-02 1999-11-16 Intel Corporation Configurable address line inverter for remapping memory
US5978882A (en) * 1997-04-25 1999-11-02 Novell, Inc. Real-mode, 32-bit, flat-model execution apparatus and method
US7441254B1 (en) 1997-07-09 2008-10-21 International Business Machines Corporation Simulation of memory-mapped I/O
US6330010B1 (en) 1997-11-21 2001-12-11 Xsides Corporation Secondary user interface
US6639613B1 (en) * 1997-11-21 2003-10-28 Xsides Corporation Alternate display content controller
US6018332A (en) * 1997-11-21 2000-01-25 Ark Interface Ii, Inc. Overscan user interface
US6686936B1 (en) 1997-11-21 2004-02-03 Xsides Corporation Alternate display content controller
US6337717B1 (en) 1997-11-21 2002-01-08 Xsides Corporation Alternate display content controller
US7024512B1 (en) * 1998-02-10 2006-04-04 International Business Machines Corporation Compression store free-space management
US6141732A (en) * 1998-03-24 2000-10-31 Novell, Inc. Burst-loading of instructions into processor cache by execution of linked jump instructions embedded in cache line size blocks
US6356996B1 (en) 1998-03-24 2002-03-12 Novell, Inc. Cache fencing for interpretive environments
US6578193B1 (en) 1998-03-24 2003-06-10 Novell, Inc. Endian-neutral loader for interpretive environment
JP2995030B2 (en) * 1998-03-31 1999-12-27 三洋電機株式会社 Computer system, and method of correcting the program and data in a computer system
US6637023B1 (en) * 1999-03-03 2003-10-21 Microsoft Corporation Method and system for updating read-only software modules
US6590592B1 (en) 1999-04-23 2003-07-08 Xsides Corporation Parallel interface
WO2000072123A2 (en) 1999-05-21 2000-11-30 Xsides Corporation Parallel graphical user interface
US6282647B1 (en) * 1999-06-02 2001-08-28 Adaptec, Inc. Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code
US6543006B1 (en) * 1999-08-31 2003-04-01 Autodesk, Inc. Method and apparatus for automatic undo support
US6727918B1 (en) 2000-02-18 2004-04-27 Xsides Corporation Method and system for controlling a complementary user interface on a display surface
US20040226041A1 (en) * 2000-02-18 2004-11-11 Xsides Corporation System and method for parallel data display of multiple executing environments
US6630943B1 (en) 1999-09-21 2003-10-07 Xsides Corporation Method and system for controlling a complementary user interface on a display surface
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
US6884171B2 (en) * 2000-09-18 2005-04-26 Nintendo Co., Ltd. Video game distribution network
US7058177B1 (en) 2000-11-28 2006-06-06 Xilinx, Inc. Partially encrypted bitstream method
US7818808B1 (en) * 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US6834384B2 (en) * 2001-03-14 2004-12-21 General Instrument Corporation Methods and apparatus for upgrading firmware in an embedded system
US6938111B2 (en) * 2002-04-19 2005-08-30 Siemens Aktiengesellschaft Method for operating automation control equipment applications
US7171546B2 (en) * 2002-05-23 2007-01-30 Adams Phillip M CPU life-extension apparatus and method
US7305680B2 (en) * 2002-08-13 2007-12-04 Sharp Laboratories Of America, Inc. Listening module for asynchronous messages sent between electronic devices of a distributed network
US7134006B2 (en) * 2003-06-03 2006-11-07 Gateway Inc. Method and system for changing software access level within or outside a host protected area
US7451267B1 (en) * 2003-09-23 2008-11-11 Netlogic Microsystems, Inc. Method and apparatus for learn and related operations in network search engine
US7403936B2 (en) * 2004-03-05 2008-07-22 Siemens Medical Solutions Usa, Inc. Optimizing database access for record linkage by tiling the space of record pairs
US7764183B2 (en) * 2005-04-22 2010-07-27 Infratab, Inc. Apparatus and method for monitoring and communicating data associated with a product
US7495558B2 (en) 2004-04-27 2009-02-24 Infratab, Inc. Shelf-life monitoring sensor-transponder system
US7380095B2 (en) * 2004-06-30 2008-05-27 Intel Corporation System and method for simulating real-mode memory access with access to extended memory
US7840962B2 (en) 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US7738484B2 (en) * 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US7734741B2 (en) 2004-12-13 2010-06-08 Intel Corporation Method, system, and apparatus for dynamic reconfiguration of resources
CN100561446C (en) * 2004-12-31 2009-11-18 北京中星微电子有限公司 Expanded memory space access method and access device thereof
US20080126590A1 (en) * 2006-06-29 2008-05-29 Rothman Michael A Semiconductor based host protected addressing in computing devices
US8032687B2 (en) * 2009-02-12 2011-10-04 Unisys Corporation Method, system, and apparatus for supporting limited address mode memory access
JP2011003072A (en) * 2009-06-19 2011-01-06 Toshiba Corp Multi-core processor system
US9128625B1 (en) * 2012-03-26 2015-09-08 Emc Corporation Method and system for physical memory reservation for user-space programs
WO2014059048A1 (en) 2012-10-09 2014-04-17 Infratab, Inc. Inference electronic shelf life dating system for perishables

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4141068A (en) * 1977-03-24 1979-02-20 Xerox Corporation Auxiliary ROM memory system
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4386773A (en) * 1981-06-22 1983-06-07 Bronstein John M TV Game cartridge with expandable memory
JPH0228179B2 (en) * 1983-09-22 1990-06-21 Fujitsu Ltd
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US4761736A (en) * 1986-01-02 1988-08-02 Commodore Business Machines, Inc. Memory management unit for addressing an expanded memory in groups of non-contiguous blocks
US5109521A (en) * 1986-09-08 1992-04-28 Compaq Computer Corporation System for relocating dynamic memory address space having received microprocessor program steps from non-volatile memory to address space of non-volatile memory
US4831522A (en) * 1987-02-17 1989-05-16 Microlytics, Inc. Circuit and method for page addressing read only memory
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
US5091850A (en) * 1987-09-28 1992-02-25 Compaq Computer Corporation System for fast selection of non-cacheable address ranges using programmed array logic
JP3046310B2 (en) * 1988-09-13 2000-05-29 株式会社東芝 Memory system
US5125087A (en) * 1988-11-07 1992-06-23 Microsoft Corporation Method of resetting sequence of access to extended memory disrupted by interrupt processing in 80286 compatible system using code segment register
US5083259A (en) * 1988-12-07 1992-01-21 Xycom, Inc. Computer bus interconnection device
US5123098A (en) * 1989-02-28 1992-06-16 Hewlett-Packard Company Method for executing programs within expanded memory of a computer system using MS or PC DOS
US4985871A (en) * 1989-11-13 1991-01-15 Chips And Technologies, Inc. Memory controller for using reserved dram addresses for expanded memory space

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小高輝真,"用途別最適RAM利用術",月刊アスキー,株式会社アスキー,平成3年6月,第15巻,第6号,p.218−219

Also Published As

Publication number Publication date
FI940168A0 (en) 1994-01-13
CA2113565A1 (en) 1993-01-16
JPH06508952A (en) 1994-10-06
AU2339592A (en) 1993-02-23
EP0595880A4 (en) 1997-07-02
DE69227774D1 (en) 1999-01-14
WO1993002417A1 (en) 1993-02-04
JP2002024003A (en) 2002-01-25
FI940168A (en) 1994-03-04
BR9206286A (en) 1994-11-08
EP0595880B1 (en) 1998-12-02
AT174137T (en) 1998-12-15
KR0132696B1 (en) 1998-04-24
DE69227774T2 (en) 1999-07-22
FI940168D0 (en)
JP3571667B2 (en) 2004-09-29
US5237669A (en) 1993-08-17
EP0595880A1 (en) 1994-05-11
US5367658A (en) 1994-11-22
CA2113565C (en) 1998-05-05

Similar Documents

Publication Publication Date Title
Engler et al. Exterminate all operating system abstractions
US8078792B2 (en) Separate page table base address for minivisor
US5598553A (en) Program watchpoint checking using paging with sub-page validity
US10114767B2 (en) Virtualizing physical memory in a virtual machine system using a hierarchy of extended page tables to translate guest-physical addresses to host-physical addresses
US5291585A (en) Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format
US7127548B2 (en) Control register access virtualization performance improvement in the virtual-machine architecture
US8078827B2 (en) Method and apparatus for caching of page translations for virtual machines
US7318141B2 (en) Methods and systems to control virtual machines
US5418956A (en) Method and system for avoiding selector loads
US7467271B2 (en) Operating system permitting limited access to a system page
US4787031A (en) Computer with virtual machine mode and multiple protection rings
US7278030B1 (en) Virtualization system for computers having multiple protection mechanisms
US7020738B2 (en) Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US5628023A (en) Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
US8418175B2 (en) Data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuirty
Bershad et al. Extensibility safety and performance in the SPIN operating system
US7111145B1 (en) TLB miss fault handler and method for accessing multiple page tables
US5136711A (en) System for multiple access hard disk partitioning
US4814975A (en) Virtual machine system and method for controlling machines of different architectures
JP5812245B2 (en) Computer readable program code logic to facilitate pageable guest management of storage of a computing environment that supports, methods and systems,
US5274834A (en) Transparent system interrupts with integrated extended memory addressing
EP2035936B1 (en) An apparatus and method for memory address re-mapping of graphics data
US4761737A (en) Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system
US20160062703A1 (en) Facilitating processing within computing environments supporting pageable guests
US5301302A (en) Memory mapping and special write detection in a system and method for simulating a CPU processor

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080118

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090118

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090118

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100118

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees