JP2003316645A - Information processor and memory management method - Google Patents
Information processor and memory management methodInfo
- Publication number
- JP2003316645A JP2003316645A JP2003044586A JP2003044586A JP2003316645A JP 2003316645 A JP2003316645 A JP 2003316645A JP 2003044586 A JP2003044586 A JP 2003044586A JP 2003044586 A JP2003044586 A JP 2003044586A JP 2003316645 A JP2003316645 A JP 2003316645A
- Authority
- JP
- Japan
- Prior art keywords
- address
- area
- direct map
- map area
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Record Information Processing For Printing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、情報処理装置及び
メモリ管理方法に係り、特に仮想アドレス機能を利用す
る情報処理装置及びメモリ管理方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus and a memory management method, and more particularly to an information processing apparatus and a memory management method using a virtual address function.
【0002】[0002]
【従来の技術】パソコン等の情報処理装置は、様々な情
報処理にそれぞれ対応する1つ以上のソフトウェアを実
行させることで様々な情報処理を行わせるものである。
従来の情報処理装置では、各ソフトウェアを実行するこ
とで生成されるプロセスが、必要なメモリを別個に獲得
していた。2. Description of the Related Art Information processing devices such as personal computers perform various information processing by executing one or more software corresponding to various information processing.
In a conventional information processing apparatus, a process generated by executing each software separately acquires a necessary memory.
【0003】また、情報処理装置の応用例としての画像
形成装置は、プリンタ,コピー,ファクシミリおよびス
キャナなどの各装置の機能を1つの筐体内に収納してい
る。画像形成装置は、1つの筐体内に表示部,印刷部お
よび撮像部などを設けると共に、プリンタ,コピー,フ
ァクシミリおよびスキャナにそれぞれ対応する4種類の
ソフトウェアを設け、そのソフトウェアを切り替えるこ
とより、プリンタ,コピー,ファクシミリおよびスキャ
ナとして動作させるものである。An image forming apparatus as an application example of an information processing apparatus has the functions of each device such as a printer, a copier, a facsimile and a scanner housed in one housing. The image forming apparatus is provided with a display unit, a printing unit, an image pickup unit, and the like in one housing, and four types of software corresponding to a printer, a copy, a facsimile, and a scanner, respectively, are provided, and the software is switched to change the printer, It operates as a copy machine, a facsimile machine, and a scanner.
【0004】融合機は、プリンタ,コピー,ファクシミ
リおよびスキャナにそれぞれ対応するソフトウェアを設
けている。したがって、各ソフトウェアを実行すること
で生成されるプロセスは、必要なメモリを別個に獲得し
ていた。The compound machine is provided with software corresponding to a printer, a copy machine, a facsimile machine, and a scanner, respectively. Therefore, the process generated by executing each software separately acquired the required memory.
【0005】ところで、情報処理装置および画像形成装
置が実行するソフトウェアは、オペレーティングシステ
ム(以下、OSという)上で動作する場合、OSにより
メモリ管理がなされる。マルチプロセスを実現するOS
は、例えば仮想アドレス機能を用いてアドレス管理を行
い、各プロセスごとに別の仮想アドレス空間を提供す
る。By the way, when the software executed by the information processing apparatus and the image forming apparatus operates on an operating system (hereinafter referred to as OS), the OS manages memory. OS that realizes multi-process
Performs address management using, for example, the virtual address function, and provides another virtual address space for each process.
【0006】仮想アドレス機能では、他のプロセスのア
クセスからメモリを保護するためにページングの手法を
用いている。ページングとは、プロセスに提供した仮想
アドレス空間と物理メモリのある物理アドレス空間とを
プロセッサにより決められる所定サイズのページに区切
り、仮想アドレス空間内のページと物理アドレス空間内
のページとの対応関係を管理し、仮想アドレスを物理ア
ドレスに変換する手法をいう。The virtual address function uses a paging technique to protect the memory from access by other processes. Paging divides the virtual address space provided to the process and the physical address space with physical memory into pages of a predetermined size determined by the processor, and associates the page in the virtual address space with the page in the physical address space. A method of managing and converting a virtual address into a physical address.
【0007】また、ページングの手法では、ページテー
ブルを使用して仮想アドレス空間のページと物理アドレ
ス空間のページとの対応関係を管理している。ページテ
ーブルは、仮想アドレス空間を提供したプロセスごとに
必要となる。In the paging method, the page table is used to manage the correspondence between the pages of the virtual address space and the pages of the physical address space. A page table is required for each process that has provided virtual address space.
【0008】ページングの手法を用いる場合、全てのメ
モリアクセスに対して仮想アドレスを物理アドレスに変
換するアドレス変換が必要となるため、実行速度の点か
らハードウェアによるサポートが必須であった。このア
ドレス変換は、プロセッサのメモリ管理部(以下、MM
Uという)により行われ、その対応がプロセッサごとに
異なっている。In the case of using the paging method, since address conversion for converting a virtual address into a physical address is required for all memory accesses, hardware support is essential from the viewpoint of execution speed. This address conversion is performed by the memory management unit of the processor (hereinafter, MM
U), and the correspondence differs from processor to processor.
【0009】例えば一のプロセッサのMMUでは、制御
レジスタにページテーブルの物理アドレスをセットして
おくことで、メモリアクセスを行うときに自動的にメモ
リ上にあるページテーブルを検索して物理アドレスへの
変換を行う。この場合、プロセスを切り替えるときに別
のページテーブルの物理アドレスが制御レジスタにセッ
トされる。For example, in the MMU of one processor, by setting the physical address of the page table in the control register, the page table in the memory is automatically searched when the memory is accessed, and the physical address to the physical address is set. Do the conversion. In this case, the physical address of another page table is set in the control register when switching processes.
【0010】また、他のプロセッサのMMUではページ
テーブルを自動的に検索することはなく、トランスレー
ション・ルックアサイド・バッファ(以下、TLBとい
う)と呼ばれるプロセッサ内の変換テーブルのみを検索
して物理アドレスへの変換を行う。この場合、メモリア
クセスを行いたい仮想アドレス用のエントリがTLBに
なかったときにTLB例外エラーが発生し、このTLB
例外エラーのハンドラによりソフトウェア的にページテ
ーブルが検索される。そして、その検索結果に基づくエ
ントリがTLBに追加される。Further, the MMU of another processor does not automatically search the page table, but searches only the translation table inside the processor called a translation lookaside buffer (hereinafter referred to as TLB) to search the physical address. Conversion to. In this case, a TLB exception error occurs when there is no virtual address entry to be accessed in the TLB.
The page table is searched by software by the exception error handler. Then, an entry based on the search result is added to the TLB.
【0011】特許文献1には、ページテーブルの共有に
関する技術が記載されている。特許文献2には、仮想メ
モリ上の1つのセグメントを共通領域と固有領域とに分
割する技術が記載されている。[0011] Patent Document 1 describes a technique relating to sharing a page table. Patent Document 2 describes a technique of dividing one segment on a virtual memory into a common area and a unique area.
【0012】[0012]
【特許文献1】特開平7−160583号公報[Patent Document 1] JP-A-7-160583
【0013】[0013]
【特許文献2】特公平6−58649号公報[Patent Document 2] Japanese Patent Publication No. 6-58649
【0014】[0014]
【発明が解決しようとする課題】ページングの手法を用
いるアドレス管理では、ハードウェアによるサポートに
より実質的な実行速度を得ている。しかしながら、デマ
ンドページングと呼ばれる手法を用いるアドレス管理で
は、以下のような問題があった。In the address management using the paging method, a substantial execution speed is obtained by the hardware support. However, the address management using a method called demand paging has the following problems.
【0015】まず、プロセスの生成時は物理メモリが割
り当てられないために、ページテーブルの内容が全て無
効状態となっている。そして、プロセスの実行時にメモ
リアクセスが行われてページテーブル例外エラーが発生
し、このページテーブル例外エラーのハンドラにより物
理メモリを獲得してページテーブルの内容が作成され
る。First, since no physical memory is allocated when a process is created, the contents of the page table are all invalid. Then, when the process is executed, memory access is performed and a page table exception error occurs, and the handler for the page table exception error acquires the physical memory and creates the contents of the page table.
【0016】したがって、物理メモリに余裕がある場合
でもメモリアクセスの際に一定のオーバーヘッドが発生
してしまうという問題があった。このオーバーヘッド
は、画像形成処理のような大量のメモリを使用する情報
処理のプロセスの実行時に問題となる。Therefore, even if the physical memory has a margin, there is a problem that a certain overhead is generated during the memory access. This overhead becomes a problem when executing an information processing process that uses a large amount of memory such as an image forming process.
【0017】また、仮想メモリに対応する物理メモリの
アドレスは、物理メモリの柔軟な管理を行うため、ペー
ジテーブルによりページ単位で設定される。したがっ
て、連続した仮想アドレスに書き込んだデータはページ
単位に分割されて不連続な物理アドレスに書き込まれて
しまう恐れがあり、ダイレクト・メモリ・アクセス(以
下、DMAという)を利用したデバイスとのデータ交換
が煩雑になることがあるという問題があった。The address of the physical memory corresponding to the virtual memory is set in page units by the page table for flexible management of the physical memory. Therefore, data written to consecutive virtual addresses may be divided into page units and written to discontinuous physical addresses, and data exchange with a device using direct memory access (hereinafter, DMA) is performed. There was a problem that could be complicated.
【0018】なお、特許文献1および2に記載されてい
る内容は、メモリアクセスの際に発生するオーバーヘッ
ドを軽減するものではない。The contents described in Patent Documents 1 and 2 do not reduce the overhead generated during memory access.
【0019】本発明は、上記の点に鑑みなされたもの
で、メモリアクセスの際に発生するオーバーヘッドを軽
減しつつメモリの使用効率を向上させることが可能な情
報処理装置及びメモリ管理方法を提供することを目的と
する。The present invention has been made in view of the above points, and provides an information processing apparatus and a memory management method capable of improving the memory usage efficiency while reducing the overhead generated during memory access. The purpose is to
【0020】[0020]
【課題を解決するための手段】そこで、上記課題を解決
するため、請求項1にかかる発明は、情報処理を行うア
プリケーションのプロセスにメモリをマップする画像形
成装置であって、前記メモリ上に、前記プロセスによっ
て直接マップ可能な直接マップ領域を少なくとも獲得す
る領域獲得手段と、前記直接マップ領域の物理アドレス
と、仮想メモリ領域上に含まれる直接マップ領域用の仮
装アドレスとを対応付けたアドレス変換手段とを有する
ことを特徴とする。In order to solve the above problems, an invention according to claim 1 is an image forming apparatus for mapping a memory to a process of an application which performs information processing, wherein: An area acquisition unit that acquires at least a direct map area that can be directly mapped by the process, an address conversion unit that associates a physical address of the direct map area with a temporary address for the direct map area included in the virtual memory area. And having.
【0021】このような情報処理装置では、メモリ上に
直接マップ領域を少なくとも獲得し、その直接マップ領
域の物理アドレスと仮想メモリ領域上に含まれる直接マ
ップ領域用の仮装アドレスとを対応付けておくことによ
り、アドレス変換手段による例外エラーの発生を減少さ
せることができ、直接マップ領域に対するメモリアクセ
スのオーバーヘッドを軽減することが可能である。In such an information processing apparatus, at least a direct map area is acquired in the memory, and the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other. As a result, it is possible to reduce the occurrence of exception errors due to the address conversion means, and it is possible to reduce the memory access overhead for the direct map area.
【0022】また、請求項2にかかる発明は、前記仮想
メモリ領域が、所定サイズのページごとに管理されるこ
とを特徴とする。The invention according to claim 2 is characterized in that the virtual memory area is managed for each page of a predetermined size.
【0023】このような情報処理装置では、仮想メモリ
領域を所定サイズのページ単位で管理することができ、
メモリの管理をページ単位で行うオペレーティングシス
テムのアーキテクチャに適合させることが可能である。
したがって、メモリの使用効率を向上させることが可能
である。In such an information processing apparatus, the virtual memory area can be managed in units of pages of a predetermined size,
It is possible to adapt to the architecture of the operating system that manages memory on a page-by-page basis.
Therefore, it is possible to improve the memory usage efficiency.
【0024】また、請求項3にかかる発明は、前記直接
マップ領域の物理アドレスと前記仮想メモリ領域上に含
まれる直接マップ領域用の仮装アドレスとを対応付けた
アドレス変換手段の内容を仮想記憶システムを介さずに
書き換えるアドレス書換手段を更に有することを特徴と
する。According to a third aspect of the present invention, the contents of the address conversion means for associating the physical address of the direct map area with the temporary address for the direct map area included in the virtual memory area are stored in the virtual storage system. It is characterized in that it further comprises an address rewriting means for rewriting without intervening.
【0025】このような情報処理装置では、直接マップ
領域の物理アドレスと仮想メモリ領域上に含まれる直接
マップ領域用の仮装アドレスとを対応付けたアドレス変
換手段の内容を、仮想記憶システムを介さずに書き換え
ることにより、仮想記憶システムによるオーバーヘッド
を避けつつハードウェアの仮想アドレス変換機能を利用
することが可能である。In such an information processing apparatus, the contents of the address converting means in which the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other without passing through the virtual storage system. By rewriting to, it is possible to use the virtual address conversion function of the hardware while avoiding the overhead of the virtual memory system.
【0026】また、請求項4にかかる発明は、前記アド
レス書換手段が、前記アプリケーションの各プロセスの
起動時に前記アドレス変換手段の内容を書き換えること
を特徴とする。Further, the invention according to claim 4 is characterized in that the address rewriting means rewrites the contents of the address converting means when each process of the application is activated.
【0027】このような情報処理装置では、アプリケー
ションの各プロセスの起動時にアドレス変換手段の内容
を書き換えることにより、各プロセスの実行時にアドレ
ス変換手段による例外エラーの発生を減少させることが
でき、直接マップ領域に対するメモリアクセスのオーバ
ーヘッドを軽減することが可能である。In such an information processing apparatus, by rewriting the contents of the address converting means at the time of starting each process of the application, it is possible to reduce the occurrence of an exception error by the address converting means at the time of executing each process, and to directly map It is possible to reduce the overhead of memory access to the area.
【0028】また、請求項5にかかる発明は、前記領域
獲得手段が、情報処理装置の起動時に、前記直接マップ
領域を獲得することを特徴とする。The invention according to claim 5 is characterized in that the area acquisition means acquires the direct map area when the information processing apparatus is activated.
【0029】このような情報処理装置では、情報処理装
置の起動時に、直接マップ領域を獲得することにより、
アプリケーションの各プロセスの起動時に直接マップ領
域の物理アドレスと仮想メモリ領域上に含まれる直接マ
ップ領域用の仮装アドレスとを対応付けておくことがで
きる。In such an information processing apparatus, when the information processing apparatus is activated, the map area is directly acquired,
When each process of the application is activated, the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area can be associated with each other.
【0030】また、請求項6にかかる発明は、前記アド
レス変換手段が、前記アプリケーションの各プロセスご
とに、前記直接マップ領域の物理アドレスと前記仮想メ
モリ領域上に含まれる直接マップ領域用の仮装アドレス
とを対応付けたカーネル内のアドレス変換テーブルであ
ることを特徴とする。According to a sixth aspect of the present invention, the address translation means is configured such that, for each process of the application, the temporary map address for the direct map area included in the physical address of the direct map area and the virtual memory area. It is characterized in that it is an address conversion table in the kernel in which and are associated with each other.
【0031】このような情報処理装置では、カーネル内
のアドレス変換テーブルを自動的に検索して物理アドレ
スへの変換を行うプロセッサについて、例外エラーの発
生を減少させることができ、直接マップ領域に対するメ
モリアクセスのオーバーヘッドを軽減することが可能で
ある。In such an information processing apparatus, the occurrence of an exception error can be reduced in the processor that automatically searches the address translation table in the kernel and translates into the physical address, and the memory for the direct map area is reduced. It is possible to reduce the access overhead.
【0032】また、請求項7にかかる発明は、前記アド
レス変換手段が、前記アプリケーションの各プロセスご
とに、前記直接マップ領域の物理アドレスと前記仮想メ
モリ領域上に含まれる直接マップ領域用の仮装アドレス
とを対応付けたプロセッサ内のアドレス変換テーブルで
あることを特徴とする。According to a seventh aspect of the present invention, the address conversion means is configured such that, for each process of the application, the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area. And an address translation table in the processor in which
【0033】このような情報処理装置では、プロセッサ
内のアドレス変換テーブルを自動的に検索して物理アド
レスへの変換を行うプロセッサについて、例外エラーの
発生を減少させることができ、直接マップ領域に対する
メモリアクセスのオーバーヘッドを軽減することが可能
である。In such an information processing apparatus, the occurrence of an exception error can be reduced in the processor which automatically searches the address translation table in the processor and translates into the physical address, and the memory for the direct map area is reduced. It is possible to reduce the access overhead.
【0034】また、請求項8にかかる発明は、前記アド
レス変換手段が、前記プロセッサ内のアドレス変換テー
ブルのうち上書きの対象とならない部分に、前記直接マ
ップ領域の物理アドレスと前記仮想メモリ領域上に含ま
れる直接マップ領域用の仮装アドレスとを対応付けてお
くことを特徴とする。Further, in the invention according to claim 8, the address translation means sets a physical address of the direct map area and a virtual memory area in a portion of the address translation table in the processor which is not to be overwritten. It is characterized in that it is associated with the temporary address for the included direct map area.
【0035】このような情報処理装置では、プロセッサ
内のアドレス変換テーブルに格納した直接マップ領域の
物理アドレスと仮想メモリ領域上に含まれる直接マップ
領域用の仮装アドレスとの対応付けが上書きにより消去
されてしまうことを避けることができる。In such an information processing apparatus, the correspondence between the physical address of the direct map area stored in the address conversion table in the processor and the temporary address for the direct map area included in the virtual memory area is erased by overwriting. It can be avoided.
【0036】また、請求項9にかかる発明は、前記アド
レス変換手段が、前記仮想メモリ領域上に含まれる直接
マップ領域用の仮装アドレスが連続しているとき、その
仮装アドレスに対応する前記直接マップ領域の物理アド
レスが連続するように、前記直接マップ領域の物理アド
レスと前記仮想メモリ領域上に含まれる直接マップ領域
用の仮装アドレスとを対応付けることを特徴とする。According to a ninth aspect of the present invention, when the temporary address for the direct map area included in the virtual memory area is continuous, the address translation means corresponds to the direct map corresponding to the temporary address. The physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated so that the physical addresses of the area are continuous.
【0037】このような情報処理装置では、仮想メモリ
領域上に含まれる直接マップ領域用の仮装アドレスで連
続している領域を、直接マップ領域の連続した物理アド
レスに割り当てることができる。したがって、ダイレク
ト・メモリ・アクセスを利用したデバイスとのデータ交
換が煩雑になることを避けることができ、一度のダイレ
クト・メモリ・アクセスにより大量のデータを転送する
ことが可能となる。In such an information processing apparatus, an area contiguous with the temporary address for the direct map area included in the virtual memory area can be assigned to the continuous physical address of the direct map area. Therefore, it is possible to avoid complicated data exchange with a device using direct memory access, and it is possible to transfer a large amount of data by one direct memory access.
【0038】また、請求項10にかかる発明は、前記ア
ドレス変換手段が、前記直接マップ領域を複数のプロセ
スで共有するように、前記直接マップ領域の物理アドレ
スと前記仮想メモリ領域上に含まれる直接マップ領域用
の仮装アドレスとを対応付けることを特徴とする。According to a tenth aspect of the present invention, the address conversion means includes a physical address of the direct map area and a direct address included in the virtual memory area so that the direct map area is shared by a plurality of processes. It is characterized in that it is associated with a temporary address for the map area.
【0039】このような情報処理装置では、複数のプロ
セスが直接マップ領域を共有するように、直接マップ領
域の物理アドレスと仮想メモリ領域上に含まれる直接マ
ップ領域用の仮装アドレスとを対応付けておくことによ
り、複数のプロセスでメモリを共有できる。In such an information processing apparatus, the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other so that a plurality of processes share the direct map area. By setting, the memory can be shared by multiple processes.
【0040】また、請求項11にかかる発明は、前記仮
想メモリ領域が、前記仮想記憶システムにより管理され
るユーザプログラム領域およびスタック領域と、前記仮
想記憶システムにより管理されない直接マップ領域とを
有し、前記直接マップ領域が前記仮想メモリ領域のうち
前記ユーザプログラム領域またはスタック領域として使
用されない未使用領域に獲得されることを特徴とする。According to an eleventh aspect of the present invention, the virtual memory area has a user program area and a stack area managed by the virtual memory system, and a direct map area not managed by the virtual memory system. The direct map area may be acquired in an unused area that is not used as the user program area or the stack area in the virtual memory area.
【0041】このような情報処理装置では、仮想メモリ
領域のうち仮想記憶システムにより管理されない未使用
領域に直接マップ領域を獲得することにより、仮想記憶
システムを介さずにハードウェアの仮想アドレス変換機
能を直接利用して仮想アドレスから物理アドレスへの変
換を行うことができる。In such an information processing apparatus, the map area is directly acquired in an unused area which is not managed by the virtual memory system in the virtual memory area, so that the virtual address conversion function of the hardware can be realized without going through the virtual memory system. It can be used directly to convert virtual addresses to physical addresses.
【0042】また、請求項12にかかる発明は、情報処
理を行うアプリケーションのプロセスにメモリをマップ
する情報処理装置のメモリ管理方法であって、前記メモ
リ上に、前記プロセスによって直接マップ可能な直接マ
ップ領域を少なくとも獲得する領域獲得段階と、前記直
接マップ領域の物理アドレスと、仮想メモリ領域上に含
まれる直接マップ領域用の仮装アドレスとを対応付ける
アドレス変換段階とを有することを特徴とする。A twelfth aspect of the present invention is a memory management method of an information processing apparatus for mapping a memory to a process of an application which performs information processing, wherein the memory is directly mapped on the memory by the process. The present invention is characterized by including an area acquisition step of acquiring at least an area, and an address conversion step of associating a physical address of the direct map area with a temporary address for the direct map area included in the virtual memory area.
【0043】このようなメモリ管理方法では、メモリ上
に直接マップ領域を少なくとも獲得し、その直接マップ
領域の物理アドレスと仮想メモリ領域上に含まれる直接
マップ領域用の仮装アドレスとを対応付けておくことに
より、仮想アドレスから物理アドレスに変換するときに
発生する例外エラーを減少させることができ、直接マッ
プ領域に対するメモリアクセスのオーバーヘッドを軽減
することが可能である。In such a memory management method, at least a direct map area is acquired in the memory, and the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other. As a result, it is possible to reduce the exception error that occurs when the virtual address is converted to the physical address, and it is possible to reduce the memory access overhead for the direct map area.
【0044】また、請求項13にかかる発明は、前記仮
想メモリ領域が、所定サイズのページごとに管理される
ことを特徴とする。The invention according to claim 13 is characterized in that the virtual memory area is managed for each page of a predetermined size.
【0045】このようなメモリ管理方法では、仮想メモ
リ領域を所定サイズのページ単位で管理することがで
き、メモリの管理をページ単位で行うオペレーティング
システムのアーキテクチャに適合させることが可能であ
る。したがって、メモリの使用効率を向上させることが
可能である。In such a memory management method, the virtual memory area can be managed in page units of a predetermined size, and the memory management can be adapted to the architecture of the operating system that manages pages in page units. Therefore, it is possible to improve the memory usage efficiency.
【0046】また、請求項14にかかる発明は、前記ア
ドレス変換段階が、直接マップ領域の物理アドレスと前
記仮想メモリ領域上に含まれる直接マップ領域用の仮装
アドレスとを対応付けた内容を、仮想記憶システムを介
さずに書き換えることを特徴とする。According to a fourteenth aspect of the present invention, in the address translation step, the contents in which the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other is virtualized. It is characterized by rewriting without going through a storage system.
【0047】このようなメモリ管理方法では、直接マッ
プ領域の物理アドレスと仮想メモリ領域上に含まれる直
接マップ領域用の仮装アドレスとを対応付けた内容を仮
想記憶システムを介さずに書き換えることにより、仮想
記憶システムによるオーバーヘッドを避けつつハードウ
ェアの仮想アドレス変換機能を利用することが可能であ
る。In such a memory management method, by rewriting the contents in which the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other without passing through the virtual storage system, It is possible to use the virtual address conversion function of hardware while avoiding the overhead of the virtual memory system.
【0048】また、請求項15にかかる発明は、前記ア
ドレス変換段階が、前記アプリケーションの各プロセス
の起動時に、直接マップ領域の物理アドレスと前記仮想
メモリ領域上に含まれる直接マップ領域用の仮装アドレ
スとを対応付けた内容を書き換えることを特徴とする。Further, in the invention according to claim 15, in the address translation step, when each process of the application is started, a physical address of the direct map area and a temporary address for the direct map area included in the virtual memory area are provided. It is characterized in that the contents associated with and are rewritten.
【0049】このようなメモリ管理方法では、アプリケ
ーションの各プロセスの起動時に、直接マップ領域の物
理アドレスと仮想メモリ領域上に含まれる直接マップ領
域用の仮装アドレスとを対応付けた内容を書き換えるこ
とにより、仮想アドレスから物理アドレスに変換すると
きに発生する例外エラーが各プロセスの実行時に発生し
ないようする。したがって、直接マップ領域に対するメ
モリアクセスのオーバーヘッドを軽減することが可能で
ある。In such a memory management method, when each process of the application is activated, the contents in which the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other is rewritten. , Exception error that occurs when converting from virtual address to physical address should not occur when each process is executed. Therefore, the overhead of memory access to the direct map area can be reduced.
【0050】また、請求項16にかかる発明は、前記領
域獲得段階が、画像形成装置の起動時に、前記直接マッ
プ領域を獲得することを特徴とする。The invention according to claim 16 is characterized in that, in the area acquisition step, the direct map area is acquired when the image forming apparatus is started.
【0051】このようなメモリ管理方法では、情報処理
装置の起動時に、直接マップ領域を獲得することによ
り、アプリケーションの各プロセスの起動時に直接マッ
プ領域の物理アドレスと仮想メモリ領域上に含まれる直
接マップ領域用の仮装アドレスとを対応付けておくこと
ができる。In such a memory management method, the direct map area is acquired when the information processing apparatus is started, so that the physical address of the direct map area and the direct map included in the virtual memory area are acquired when each process of the application is started. It can be associated with the temporary address for the area.
【0052】また、請求項17にかかる発明は、前記ア
ドレス変換段階が、前記アプリケーションの各プロセス
ごとに、前記直接マップ領域の物理アドレスと前記仮想
メモリ領域上に含まれる直接マップ領域用の仮装アドレ
スとを対応付けたカーネル内のアドレス変換テーブルを
書き換えることを特徴とする。According to a seventeenth aspect of the present invention, in the address translation step, the temporary address for the direct map area included in the physical address of the direct map area and the virtual memory area is included in each process of the application. It is characterized by rewriting the address conversion table in the kernel which is associated with.
【0053】このようなメモリ管理方法では、カーネル
内のアドレス変換テーブルを自動的に検索して物理アド
レスへの変換を行うプロセッサについて、例外エラーの
発生を減少させることができ、直接マップ領域に対する
メモリアクセスのオーバーヘッドを軽減することが可能
である。With such a memory management method, it is possible to reduce the occurrence of an exception error in a processor that automatically searches the address translation table in the kernel and translates into a physical address, and it is possible to reduce the memory for the direct map area. It is possible to reduce the access overhead.
【0054】また、請求項18にかかる発明は、前記ア
ドレス変換段階が、前記アプリケーションの各プロセス
ごとに、前記直接マップ領域の物理アドレスと前記仮想
メモリ領域上に含まれる直接マップ領域用の仮装アドレ
スとを対応付けたプロセッサ内のアドレス変換テーブル
を書き換えることを特徴とする。According to the eighteenth aspect of the present invention, in the address translation step, the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are included in each process of the application. It is characterized by rewriting the address translation table in the processor in which the and are associated with each other.
【0055】このようなメモリ管理方法では、プロセッ
サ内のアドレス変換テーブルを自動的に検索して物理ア
ドレスへの変換を行うプロセッサについて、例外エラー
の発生を減少させることができ、直接マップ領域に対す
るメモリアクセスのオーバーヘッドを軽減することが可
能である。With such a memory management method, it is possible to reduce the occurrence of an exception error in a processor which automatically searches the address translation table in the processor and translates into a physical address, and the memory for the direct map area is reduced. It is possible to reduce the access overhead.
【0056】また、請求項19にかかる発明は、前記ア
ドレス変換段階が、前記プロセッサ内のアドレス変換テ
ーブルのうち上書きの対象とならない部分に、前記直接
マップ領域の物理アドレスと前記仮想メモリ領域上に含
まれる直接マップ領域用の仮装アドレスとを対応付ける
ことを特徴とする。According to a nineteenth aspect of the present invention, in the address translation step, the physical address of the direct map area and the virtual memory area are provided in a portion of the address translation table in the processor that is not overwritten. It is characterized in that it is associated with the temporary address for the included direct map area.
【0057】このようなメモリ管理方法では、プロセッ
サ内のアドレス変換テーブルに格納した直接マップ領域
の物理アドレスと仮想メモリ領域上に含まれる直接マッ
プ領域用の仮装アドレスとの対応付けが上書きにより消
去されてしまうことを避けることができる。In such a memory management method, the correspondence between the physical address of the direct map area stored in the address conversion table in the processor and the temporary address for the direct map area included in the virtual memory area is erased by overwriting. It can be avoided.
【0058】また、請求項20にかかる発明は、前記ア
ドレス変換段階が、前記仮想メモリ領域上に含まれる直
接マップ領域用の仮装アドレスが連続しているとき、そ
の仮装アドレスに対応する前記直接マップ領域の物理ア
ドレスが連続するように、前記直接マップ領域の物理ア
ドレスと前記仮想メモリ領域上に含まれる直接マップ領
域用の仮装アドレスとを対応付けることを特徴とする。According to the twentieth aspect of the present invention, when the temporary address for the direct map area included in the virtual memory area is continuous in the address converting step, the direct map corresponding to the temporary address is provided. The physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated so that the physical addresses of the area are continuous.
【0059】このようなメモリ管理方法では、仮想メモ
リ領域上に含まれる直接マップ領域用の仮装アドレスで
連続している領域を、直接マップ領域の連続した物理ア
ドレスに割り当てることができる。したがって、ダイレ
クト・メモリ・アクセスを利用したデバイスとのデータ
交換が煩雑になることを避けることができ、一度のダイ
レクト・メモリ・アクセスにより大量のデータを転送す
ることが可能となる。In such a memory management method, an area contiguous with the temporary address for the direct map area included in the virtual memory area can be assigned to the continuous physical address of the direct map area. Therefore, it is possible to avoid complicated data exchange with a device using direct memory access, and it is possible to transfer a large amount of data by one direct memory access.
【0060】また、請求項21にかかる発明は、前記ア
ドレス変換段階が、前記直接マップ領域を複数のプロセ
スで共有するように、前記直接マップ領域の物理アドレ
スと前記仮想メモリ領域上に含まれる直接マップ領域用
の仮装アドレスとを対応付けることを特徴とする。According to a twenty-first aspect of the present invention, in the address translation step, the physical address of the direct map area and the direct address included in the virtual memory area are shared so that the direct map area is shared by a plurality of processes. It is characterized in that it is associated with a temporary address for the map area.
【0061】このようなメモリ管理方法では、複数のプ
ロセスが直接マップ領域を共有するように、直接マップ
領域の物理アドレスと仮想メモリ領域上に含まれる直接
マップ領域用の仮装アドレスとを対応付けておくことに
より、複数のプロセスでメモリを共有できる。In such a memory management method, the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other so that a plurality of processes share the direct map area. By setting, the memory can be shared by multiple processes.
【0062】また、請求項22にかかる発明は、前記仮
想メモリ領域が、前記仮想記憶システムにより管理され
るユーザプログラム領域およびスタック領域と、前記仮
想記憶システムにより管理されない直接マップ領域とを
有し、前記直接マップ領域が前記仮想メモリ領域のうち
前記ユーザプログラム領域またはスタック領域として使
用されない未使用領域に獲得されることを特徴とする。According to a twenty-second aspect of the present invention, the virtual memory area has a user program area and a stack area managed by the virtual memory system, and a direct map area not managed by the virtual memory system. The direct map area may be acquired in an unused area that is not used as the user program area or the stack area in the virtual memory area.
【0063】このようなメモリ管理方法では、仮想メモ
リ領域のうち仮想記憶システムにより管理されない未使
用領域に直接マップ領域を獲得することにより、仮想記
憶システムを介さずにハードウェアの仮想アドレス変換
機能を直接利用して仮想アドレスから物理アドレスへの
変換を行うことができる。In such a memory management method, by directly acquiring the map area in an unused area which is not managed by the virtual memory system in the virtual memory area, the virtual address conversion function of the hardware can be realized without going through the virtual memory system. It can be used directly to convert virtual addresses to physical addresses.
【0064】[0064]
【発明の実施の形態】次に、本発明の実施の形態につい
て図面に基づいて説明する。BEST MODE FOR CARRYING OUT THE INVENTION Next, embodiments of the present invention will be described with reference to the drawings.
【0065】図1は、本発明による情報処理装置の一実
施例の構成図である。情報処理装置1000は、ハード
ウェア資源1100と,ソフトウェア群1200とを含
むように構成される。FIG. 1 is a block diagram of an embodiment of an information processing apparatus according to the present invention. The information processing device 1000 is configured to include a hardware resource 1100 and a software group 1200.
【0066】ハードウェア資源1100は、メモリ装置
1110,入力装置1120,表示装置1130,その
他のハードウェアリソース1140等を含む。ソフトウ
ェア群1200は、アプリケーション1210−1〜1
210−n,UNIX(登録商標)などのOS123
0,BIOS1240,デバイスドライバ1250等を
含む。The hardware resources 1100 include a memory device 1110, an input device 1120, a display device 1130, other hardware resources 1140 and the like. The software group 1200 includes applications 1210-1 to 121-1.
210-n, OS 123 such as UNIX (registered trademark)
0, BIOS 1240, device driver 1250 and the like.
【0067】情報処理装置1000は、電源投入時にO
S1230のプログラムを補助記憶装置から読み出し、
読み出したプログラムをメモリ装置1110に転送して
起動する。また、情報処理装置1000は電源投入時ま
たはオペレータからの起動指示によりアプリケーション
1210−1〜1210−nのプログラムを補助記憶装
置から読み出し、読み出したプログラムをメモリ装置1
110に転送して起動する。The information processing apparatus 1000 is turned off when the power is turned on.
The program of S1230 is read from the auxiliary storage device,
The read program is transferred to the memory device 1110 and activated. Further, the information processing apparatus 1000 reads the programs of the applications 1210-1 to 1210-n from the auxiliary storage device when the power is turned on or in response to a start instruction from the operator, and the read program is read from the memory device 1.
Transfer to 110 and start.
【0068】アプリケーション1210−1〜1210
−nは、情報処理装置1000に様々な情報処理を行わ
せるものである。BIOS1240は、ハードウェア資
源1100を制御するプログラムである。また、デバイ
スドライバ1250はハードウェア資源1100に含ま
れる周辺機器等を管理するプログラムである。Applications 1210-1 to 1210
-N causes the information processing apparatus 1000 to perform various types of information processing. The BIOS 1240 is a program that controls the hardware resource 1100. The device driver 1250 is a program that manages peripheral devices included in the hardware resource 1100.
【0069】0S1230は、API(Application Pr
ogram Interface )1220を利用してアプリケーショ
ン1210−1〜1210−nからの要求を受信する。
API1220は予め定義されている関数により、アプ
リケーション1210−1〜1210−nからの要求を
受信するために利用される。0S1230 is an API (Application Pr
gram interface) 1220 is used to receive requests from the applications 1210-1 to 1210-n.
The API 1220 is used to receive a request from the applications 1210-1 to 1210-n by a predefined function.
【0070】OS1230は、アプリケーション121
0−1〜1210−nの各ソフトウェアをプロセスとし
て並列制御する。また、OS1230はBIOS124
0,デバイスドライバ1250を利用してハードウェア
資源1100に対する要求を行う。The OS 1230 is the application 121
Each software of 0-1 to 1210-n is controlled in parallel as a process. Also, the OS 1230 is the BIOS 124
0, the device driver 1250 is used to make a request to the hardware resource 1100.
【0071】次に、情報処理装置1000のハードウェ
ア構成について説明する。図2は、本発明による情報処
理装置の一実施例のハードウェア構成図である。情報処
理装置1000は、それぞれバスBで相互に接続されて
いる入力装置1510,表示装置1520,補助記憶装
置1530,メモリ装置1540および演算処理装置1
550を有するように構成される。Next, the hardware configuration of the information processing apparatus 1000 will be described. FIG. 2 is a hardware configuration diagram of an embodiment of the information processing apparatus according to the present invention. The information processing device 1000 includes an input device 1510, a display device 1520, an auxiliary storage device 1530, a memory device 1540, and an arithmetic processing device 1 which are connected to each other by a bus B.
550.
【0072】入力装置1510はキーボード及びマウス
などで構成され、様々な操作指示を入力するために用い
られる。表示装置1520は、操作に必要な各種ウイン
ドウやデータ等を表示する。補助記憶装置1530は、
情報処理装置1000に係る処理を行わせるプログラム
を格納すると共に、そのプログラムの処理に必要な各種
ファイルやデータ等を格納している。The input device 1510 is composed of a keyboard and a mouse, and is used for inputting various operation instructions. The display device 1520 displays various windows and data necessary for operation. The auxiliary storage device 1530 is
It stores a program that causes the information processing apparatus 1000 to perform processing, and also stores various files and data necessary for processing the program.
【0073】メモリ装置1540は、情報処理装置10
00の起動時に補助記憶装置1530からプログラムを
読み出して格納する。演算処理装置1550は、メモリ
装置1540に格納されたプログラムに従って処理を実
行する。The memory device 1540 is used by the information processing device 10.
00 is started, the program is read from the auxiliary storage device 1530 and stored. The arithmetic processing unit 1550 executes processing according to a program stored in the memory device 1540.
【0074】次に、本発明による情報処理装置の応用例
としての画像形成装置について説明する。なお、本実施
例で説明する画像形成装置は、プリンタ,コピー,ファ
クシミリおよびスキャナ等の各装置の機能を1つの筐体
内に収納しているため、融合機とも呼ばれる。Next, an image forming apparatus as an application example of the information processing apparatus according to the present invention will be described. The image forming apparatus described in this embodiment is also called a compound machine because the functions of the printer, copier, facsimile, scanner, and other devices are housed in one housing.
【0075】図3は、本発明による融合機の一実施例の
構成図を示す。融合機1は、ハードウェア資源10と,
ソフトウェア群20と,融合機起動部50とを含むよう
に構成される。ハードウェア資源10は、白黒レーザプ
リンタ11と,カラーレーザプリンタ12と,スキャナ
やファクシミリなどのハードウェアリソース13とを有
する。また、ソフトウェア群20は、UNIX(登録商
標)などのオペレーティングシステム(以下、OSとい
う)上に起動されているアプリケーション30とプラッ
トフォーム40とを有する。FIG. 3 is a block diagram of an embodiment of the compound machine according to the present invention. The compound machine 1 includes a hardware resource 10,
It is configured to include a software group 20 and a multi-function peripheral activation unit 50. The hardware resource 10 includes a monochrome laser printer 11, a color laser printer 12, and a hardware resource 13 such as a scanner or a facsimile. Further, the software group 20 has an application 30 and a platform 40 activated on an operating system (hereinafter referred to as OS) such as UNIX (registered trademark).
【0076】プラットフォーム40は、アプリケーショ
ン30からの処理要求を解釈してハードウェア資源10
の獲得要求を発生するコントロールサービス51と、1
つ以上のハードウェア資源10の管理を行ってコントロ
ールサービス51からの獲得要求を調停するシステムリ
ソースマネージャ(以下、SRMという)43と、SR
M43からの獲得要求に応じてハードウェア資源10の
管理を行うハンドラ層52とを有するように構成されて
いる。The platform 40 interprets the processing request from the application 30 and interprets the hardware resource 10
Control service 51 that issues a request to obtain
A system resource manager (hereinafter referred to as SRM) 43 that manages one or more hardware resources 10 and arbitrates an acquisition request from the control service 51;
A handler layer 52 that manages the hardware resource 10 in response to the acquisition request from M43.
【0077】コントロールサービス51は、システムコ
ントロールサービス(以下、SCSという)42,エン
ジンコントロールサービス(以下、ECSという)4
4,メモリコントロールサービス(以下、MCSとい
う)45,オペレーションパネルコントロールサービス
(以下、OCSという)46,ファックスコントロール
サービス(以下、FCSという)47,ネットワークコ
ントロールサービス(以下、NCSという)48,など
一つ以上のサービスモジュールを有するように構成され
ている。The control service 51 includes a system control service (hereinafter referred to as SCS) 42 and an engine control service (hereinafter referred to as ECS) 4
4, memory control service (hereinafter referred to as MCS) 45, operation panel control service (hereinafter referred to as OCS) 46, fax control service (hereinafter referred to as FCS) 47, network control service (hereinafter referred to as NCS) 48, etc. It is configured to have the above service modules.
【0078】なお、プラットフォーム40は予め定義さ
れている関数によりアプリケーション30からの処理要
求を受信可能とするアプリケーションプログラムインタ
ーフェース(以下、APIという)53を有するように
構成されている。OSは、プラットフォーム40および
アプリケーション30の各ソフトウェアをプロセスとし
て並列実行する。The platform 40 is configured to have an application program interface (hereinafter, referred to as API) 53 that can receive a processing request from the application 30 by a predefined function. The OS executes each software of the platform 40 and the application 30 in parallel as a process.
【0079】SRM43のプロセスは、SCS42と共
にシステムの制御およびリソースの管理を行うものであ
る。例えばSRM43のプロセスは、スキャナ部やプリ
ンタ部などのエンジン,メモリ,HDDファイル,ホス
トI/O(セントロI/F,ネットワークI/F,IE
EE1394 I/F,RS232C I/Fなど)の
ハードウェア資源10を利用する上位層からの要求に従
って調停を行い、実行制御する。The SRM 43 process controls the system and manages resources together with the SCS 42. For example, the SRM 43 process includes an engine such as a scanner unit and a printer unit, a memory, an HDD file, a host I / O (Centro I / F, a network I / F, an IE).
Arbitration is performed and execution control is performed according to a request from an upper layer that uses the hardware resource 10 such as the EE1394 I / F and the RS232C I / F.
【0080】具体的に、SRM43は要求されたハード
ウェア資源10が利用可能であるか(他の要求により利
用されていないかどうか)を判定し、利用可能であれば
要求されたハードウェア資源10が利用可能である旨を
上位層に通知する。また、SRM43は上位層からの要
求に対してハードウェア資源10の利用スケジューリン
グを行い、例えばプリンタエンジンによる紙搬送と作像
動作,メモリ獲得,ファイル生成などの要求内容を直接
実施している。Specifically, the SRM 43 determines whether the requested hardware resource 10 is available (whether it is not used by another request), and if it is available, the requested hardware resource 10 is available. Notify upper layer that is available. Further, the SRM 43 schedules the use of the hardware resource 10 in response to a request from the upper layer, and directly executes the request contents such as paper conveyance and image forming operation by the printer engine, memory acquisition, and file generation.
【0081】SCS42のプロセスは、アプリケーショ
ン管理,操作部制御,システム画面表示,LED表示,
リソース管理,割り込みアプリケーション制御を行う。
ECS44のプロセスは、白黒レーザプリンタ11,カ
ラーレーザプリンタ12,その他のハードウェアリソー
ス13のエンジンの制御を行う。The SCS 42 process includes application management, operation unit control, system screen display, LED display,
Performs resource management and interrupt application control.
The process of the ECS 44 controls the engine of the monochrome laser printer 11, the color laser printer 12, and other hardware resources 13.
【0082】MCS45のプロセスは、画像メモリの取
得および解放,ハードディスク装置(HDD)の利用,
画像データの圧縮および伸張などを行う。OCS46の
プロセスは、オペレータと本体制御との間の情報伝達手
段となるオペレーションパネルの制御を行う。The process of MCS 45 includes acquisition and release of image memory, use of hard disk device (HDD),
It compresses and decompresses image data. The process of OCS 46 controls the operation panel which is a means for transmitting information between the operator and the main body control.
【0083】FCS47のプロセスは、システムコント
ローラの各アプリケーション層からPSTNまたはIS
DN網を利用したファクシミリ送受信,BKM(バック
アップSRAM)で管理されている各種ファクシミリデ
ータの登録/引用,ファクシミリ読み取り,ファクシミ
リ受信印刷,融合送受信を行うためのアプリケーション
を提供する。The FCS 47 process is executed by the PSTN or IS from each application layer of the system controller.
An application is provided for performing facsimile transmission / reception using a DN network, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, and fusion transmission / reception.
【0084】NCS48のプロセスは、ネットワークI
/Oを必要とするアプリケーション30に対し、共通に
利用できるサービスを提供するものであり、ネットワー
ク側から各プロトコルによって受信したデータを各アプ
リケーション30に振り分けたり、アプリケーション3
0からのデータをネットワーク側に送信する際の仲介を
行う。The NCS 48 process uses the network I
A service that can be used in common is provided to applications 30 that require I / O. Data received by each protocol from the network side is distributed to each application 30, and
It acts as an intermediary when transmitting data from 0 to the network side.
【0085】また、ハンドラ層52は後述するファック
スコントロールユニット(以下、FCUという)の管理
を行うファックスコントロールユニットハンドラ(以
下、FCUHという)54と、各プロセスに対するメモ
リの割り振り、各プロセスに割り振ったメモリの管理,
後述する直接マップ領域の管理などを行うイメージメモ
リハンドラ(以下、IMHという)55とを含む。The handler layer 52 includes a fax control unit handler (hereinafter referred to as FCUH) 54 for managing a fax control unit (hereinafter referred to as FCU) described later, memory allocation for each process, and memory allocated to each process. Management of
An image memory handler (hereinafter referred to as IMH) 55 that manages a direct map area, which will be described later, is included.
【0086】SRM43,FCUH54およびIMH5
5は、予め定義されている関数によりハードウェア資源
10に対する処理要求を送信するエンジンI/F56を
利用してハードウェア資源10に対する処理要求を行
う。SRM43, FCUH54 and IMH5
5 makes a processing request to the hardware resource 10 by using an engine I / F 56 that transmits a processing request to the hardware resource 10 by a predefined function.
【0087】また、アプリケーション30は、プリン
タ,コピー,ファクシミリ,スキャナなどの画像形成処
理にかかるユーザサービスにそれぞれ固有の処理を行う
ものである。Further, the application 30 performs processing unique to each user service relating to image forming processing such as printer, copy, facsimile, and scanner.
【0088】アプリケーション30は、ページ記述言語
(PDL,PCL)およびポストスクリプト(PS)を
有するプリンタ用のアプリケーションであるプリンタア
プリ31と,コピー用アプリケーションであるコピーア
プリ32と,ファクシミリ用アプリケーションであるフ
ァックスアプリ33と,スキャナ用アプリケーションで
あるスキャナアプリ34とを有している。The application 30 is a printer application 31 which is an application for a printer having a page description language (PDL, PCL) and Postscript (PS), a copy application 32 which is a copying application, and a fax which is a facsimile application. It has an application 33 and a scanner application 34 which is a scanner application.
【0089】図4は、本発明による融合機の一実施例の
ハードウェア構成図を示す。図4の融合機1は、コント
ローラ60と,オペレーションパネル70と,ファック
スコントロールユニット(以下、FCUという)80
と,USBデバイス90と,IEEE1394デバイス
100と,エンジン部110とを有する。FIG. 4 is a hardware configuration diagram of an embodiment of the compound machine according to the present invention. The compound machine 1 of FIG. 4 includes a controller 60, an operation panel 70, and a fax control unit (hereinafter referred to as FCU) 80.
A USB device 90, an IEEE 1394 device 100, and an engine unit 110.
【0090】また、コントローラ60は、CPU61
と,MEM−P62と,ノースブリッジ(以下、NBと
いう)63と,サウスブリッジ(以下、SBという)6
4と,ASIC66と,MEM−C67と,HDD68
と,ネットワークI/Fコントローラ69とを有する。The controller 60 has a CPU 61
, MEM-P62, North Bridge (hereinafter referred to as NB) 63, South Bridge (hereinafter referred to as SB) 6
4, ASIC 66, MEM-C 67, HDD 68
And a network I / F controller 69.
【0091】オペレーションパネル70は、コントロー
ラ60のASIC66に直接接続されている。また、F
CU80,USBデバイス90,IEEE1394デバ
イス100およびエンジン部110は、コントローラ6
0のASIC66にPCIバスなどで接続されている。The operation panel 70 is directly connected to the ASIC 66 of the controller 60. Also, F
The CU 80, the USB device 90, the IEEE 1394 device 100 and the engine unit 110 are the controller 6
0 ASIC 66 is connected by a PCI bus or the like.
【0092】コントローラ60は、ASIC66にME
M−C67,HDD68,ネットワークI/Fコントロ
ーラ69などが接続されると共に、CPU61とASI
C66とがCPUチップセットのNB63を介して接続
されている。このように、NB63を介してCPU61
とASIC66とを接続すれば、CPU61のインター
フェースが公開されていない場合に対応できる。The controller 60 uses the ASIC 66 as the ME.
The M-C67, the HDD 68, the network I / F controller 69, etc. are connected, and the CPU 61 and the ASI are connected.
C66 is connected via the NB63 of the CPU chip set. In this way, the CPU 61 via the NB 63
By connecting the ASIC 66 and the ASIC 66, it is possible to cope with the case where the interface of the CPU 61 is not open to the public.
【0093】ここで、ASIC66とNB63とはPC
Iバスを介して接続されているのでなく、AGP(Acce
lerated Graphics Port )65を介して接続されてい
る。このように、図3のプラットフォーム40やアプリ
ケーション30を形成する一つ以上のプロセスを実行制
御するため、ASIC66とNB63とを低速のPCI
バスでなくAGP65を介して接続し、パフォーマンス
の低下を防いでいる。Here, the ASIC 66 and the NB 63 are PCs.
IGP (Acce
lerated Graphics Port) 65. As described above, in order to control the execution of one or more processes forming the platform 40 and the application 30 of FIG. 3, the ASIC 66 and the NB 63 are connected to the low-speed PCI.
The connection is not via the bus, but via AGP 65 to prevent performance degradation.
【0094】CPU61は、融合機1の全体制御を行う
ものである。CPU61は、OS上でプラットフォーム
40を形成するSCS42,SRM43,ECS44,
MCS45,OCS46,FCS47,NCS48,F
CUH54およびIMH55をそれぞれプロセスとして
起動して実行させると共に、アプリケーション30を形
成するプリンタアプリ31,コピーアプリ32,ファッ
クスアプリ33,スキャナアプリ34を起動して実行さ
せる。なお、CPU61はページテーブルの自動参照機
能を持っている。The CPU 61 controls the entire compound machine 1. The CPU 61 includes SCS42, SRM43, ECS44, which forms the platform 40 on the OS.
MCS45, OCS46, FCS47, NCS48, F
The CUH 54 and the IMH 55 are respectively activated and executed as processes, and the printer application 31, the copy application 32, the fax application 33, and the scanner application 34 forming the application 30 are activated and executed. The CPU 61 has a page table automatic reference function.
【0095】NB63は、CPU61,MEM−P6
2,SB64およびASIC66を接続するためのブリ
ッジである。MEM−P62は、融合機1の描画用メモ
リなどとして用いるシステムメモリである。SB64
は、NB63とROM,PCIバス,周辺デバイスとを
接続するためのブリッジである。The NB63 is composed of the CPU 61 and MEM-P6.
2, a bridge for connecting the SB 64 and the ASIC 66. The MEM-P 62 is a system memory used as a drawing memory of the multi-function peripheral 1. SB64
Is a bridge for connecting the NB 63 to the ROM, PCI bus, and peripheral devices.
【0096】MEM−C67は、コピー用画像バッフ
ァ,符号バッファとして用いるローカルメモリである。
ASIC66は、画像処理用のハードウェア要素を有す
る画像処理用途向けのICである。HDD68は、画像
データの蓄積,プログラムの蓄積,フォントデータの蓄
積,フォームの蓄積を行うためのストレージである。ま
た、オペレーションパネル70は、オペレータからの入
力操作を受け付けると共に、オペレータに向けた表示を
行う操作部である。The MEM-C 67 is a local memory used as a copy image buffer and a code buffer.
The ASIC 66 is an IC for image processing applications having a hardware element for image processing. The HDD 68 is a storage for accumulating image data, programs, font data, and forms. In addition, the operation panel 70 is an operation unit that receives an input operation from an operator and performs a display for the operator.
【0097】図3の融合機起動部50は、融合機1の電
源投入時に最初に実行され、プラットフォーム40やア
プリケーション30を起動するものである。図5は、融
合機起動部の一例の構成図を示す。融合機起動部50
は、ROMモニタ121と,プログラム起動部122と
を有する。The multi-function peripheral activation unit 50 of FIG. 3 is first executed when the power of the multi-function peripheral 1 is turned on, and activates the platform 40 and the application 30. FIG. 5 is a block diagram of an example of the compound machine starting unit. Fusion machine start-up section 50
Has a ROM monitor 121 and a program starting unit 122.
【0098】ROMモニタ121は電源投入時に実行さ
れ、ハードウェアの初期化,コントローラボードの診
断,ソフトウェアの初期化,OSの起動などを行う。プ
ログラム起動部122はOSから呼び出されるものであ
り、MEM−P62,MEM−C67上にメモリ領域を
獲得する。そして、プログラム起動部122は、コント
ロールサービス51やアプリケーション30のプログラ
ムをROMから読み出し、読み出した各プログラムをM
EM−P62,MEM−C67上に獲得したメモリ領域
に転送して起動するものである。The ROM monitor 121 is executed when the power is turned on, and performs hardware initialization, controller board diagnosis, software initialization, OS startup, and the like. The program activation unit 122 is called from the OS and acquires a memory area on the MEM-P62 and MEM-C67. Then, the program activation unit 122 reads out the programs of the control service 51 and the application 30 from the ROM, and reads each of the read out programs M
The data is transferred to the memory area acquired on the EM-P62 and MEM-C67 and activated.
【0099】以下、本発明による情報処理装置の応用例
としての融合機の処理を中心に説明する。図6は、融合
機におけるメモリ管理の一例について説明する図を示
す。Hereinafter, the processing of the compound machine as an application example of the information processing apparatus according to the present invention will be mainly described. FIG. 6 is a diagram illustrating an example of memory management in the compound machine.
【0100】例えばMEM−P62およびMEM−C6
7のメモリマップは、図6(b)のように表される。M
EM−P62およびMEM−C67は、例えばOSなど
が使用するカーネル領域と,各種アプリケーション30
や各種コントロールサービス51が使用する汎用領域
と,後述する直接マップ領域とが獲得される。なお、カ
ーネル領域および汎用領域は、OSにより管理される。For example, MEM-P62 and MEM-C6
The memory map of No. 7 is represented as shown in FIG. M
The EM-P62 and the MEM-C67 are, for example, a kernel area used by the OS and various applications 30.
A general-purpose area used by the various control services 51 and a direct map area described later are acquired. The kernel area and the general-purpose area are managed by the OS.
【0101】また、仮想メモリ領域のメモリマップは、
図6(a)のように表される。仮想メモリ領域は、ユー
ザプログラム領域と,後述する直接マップ領域と,スタ
ック領域とが獲得される。仮想メモリ領域は、プリンタ
アプリ31,コピーアプリ32などのアプリケーション
30のプロセスごと、およびECS44,MCS45な
どのコントロールサービス51のプロセスごとに割り当
てられる。The memory map of the virtual memory area is
It is expressed as shown in FIG. As the virtual memory area, a user program area, a direct map area described later, and a stack area are acquired. The virtual memory area is allocated for each process of the application 30 such as the printer application 31 and the copy application 32, and for each process of the control service 51 such as the ECS 44 and MCS 45.
【0102】なお、ユーザプログラム領域およびスタッ
ク領域は、仮想記憶システムにより管理される。したが
って、ユーザプログラム領域およびスタック領域に対す
るページテーブルの内容は、仮想記憶システムによって
作成または変更される。The user program area and the stack area are managed by the virtual storage system. Therefore, the contents of the page table for the user program area and the stack area are created or changed by the virtual storage system.
【0103】まず、ページテーブルの自動参照機能を持
ったプロセッサを利用する第1実施例について説明す
る。図7は、ページアクセス処理の一例のフローチャー
トを示す。ここでは、ページテーブルの内容が無効状態
となっている場合のページアクセス処理について説明す
る。First, a first embodiment using a processor having a page table automatic reference function will be described. FIG. 7 shows a flowchart of an example of the page access process. Here, the page access processing when the content of the page table is invalid will be described.
【0104】新しいページへのアクセスがあると、CP
U61はステップS10に進み、アクセスするページの
仮想アドレスがページテーブル内に登録されているか否
かを判定する。ページテーブルの内容が無効状態となっ
ている場合、CPU61はアクセスするページの仮想ア
ドレスがページテーブル内に登録されていないと判定し
(S11においてNO)、ステップS13に進む。When a new page is accessed, CP
The U61 proceeds to step S10 and determines whether the virtual address of the page to be accessed is registered in the page table. When the content of the page table is invalid, the CPU 61 determines that the virtual address of the page to be accessed is not registered in the page table (NO in S11), and proceeds to step S13.
【0105】ステップS13では、アクセスするページ
の仮想アドレスがページテーブル内に登録されていない
と判定されたためにページテーブル例外エラーが発生す
る。ステップS13に続いてステップS14に進み、C
PU61はページテーブル例外エラーが発生した仮想ア
ドレスを取得する。In step S13, a page table exception error occurs because it is determined that the virtual address of the page to be accessed is not registered in the page table. After step S13, the process proceeds to step S14, where C
The PU 61 acquires the virtual address where the page table exception error has occurred.
【0106】ステップS14に続いてステップS15に
進み、仮想記憶システムはステップS14で取得された
仮想アドレスがメモリにマップされている範囲内である
か否かを判定する。取得された仮想アドレスがメモリに
マップされている範囲内であると判定すると(S16に
おいてYES)、仮想記憶システムはステップS18に
進み、1ページ分の物理メモリを獲得する。なお、取得
した仮想アドレスがメモリにマップされている範囲内で
ないと判定すると(S16においてNO)、仮想記憶シ
ステムはステップS17に進み、プロセスに不正アドレ
スアクセスエラーを通知する。In step S15 following step S14, the virtual storage system determines whether the virtual address acquired in step S14 is within the range mapped in the memory. If it is determined that the acquired virtual address is within the range mapped in the memory (YES in S16), the virtual storage system proceeds to step S18 and acquires one page of physical memory. If it is determined that the acquired virtual address is not within the range mapped in the memory (NO in S16), the virtual storage system proceeds to step S17 to notify the process of an illegal address access error.
【0107】ステップS18に続いてステップS19に
進み、仮想記憶システムはステップS18で獲得した物
理メモリのアドレスをページテーブルに登録することで
ページテーブルの内容を作成する。ステップS20に続
いてステップS10に進み、CPU61はアクセスする
ページの仮想アドレスがページテーブル内に登録されて
いるか否かを判定する。In step S19 following step S18, the virtual storage system creates the contents of the page table by registering the address of the physical memory acquired in step S18 in the page table. In step S10 following step S20, the CPU 61 determines whether the virtual address of the page to be accessed is registered in the page table.
【0108】ステップS19でページテーブルの内容を
作成しているため、CPU61はアクセスするページの
仮想アドレスがページテーブル内に登録されていると判
定し(S11においてYES)、ステップS12に進
む。そして、ステップS12では、ページテーブル例外
エラーが発生せず、新しいページへのアクセスが成功す
ることとなる。このようなページアクセス処理では、物
理メモリに余裕がある場合でもメモリアクセスの際に一
定のオーバーヘッドが発生してしまう。Since the contents of the page table are created in step S19, the CPU 61 determines that the virtual address of the page to be accessed is registered in the page table (YES in S11), and proceeds to step S12. Then, in step S12, the page table exception error does not occur, and the access to the new page is successful. In such a page access process, a certain overhead occurs during memory access even if the physical memory has a margin.
【0109】そこで、本発明では仮想メモリ領域に直接
マップ領域を作成し、この直接マップ領域に対応するペ
ージテーブルの内容をプロセス生成時またはユーザプロ
セス実行時のシステムコールの発行により作成するよう
にした。図8は、直接マップ領域の一例のメモリマップ
を示す。図8に表されるように、直接マップ領域は、プ
リンタアプリ31,コピーアプリ32などのアプリケー
ションのプロセス、ECS44,MCS45などのコン
トロールサービスのプロセスごとに割り当てられる。Therefore, in the present invention, a direct map area is created in the virtual memory area, and the contents of the page table corresponding to the direct map area are created by issuing a system call when a process is created or when a user process is executed. . FIG. 8 shows a memory map of an example of the direct map area. As shown in FIG. 8, the direct map area is allocated for each application process such as the printer application 31 and the copy application 32 and each control service process such as the ECS 44 and MCS 45.
【0110】なお、本発明では仮想記憶システムの起動
時に、物理メモリの仮想メモリ領域以外の未使用領域を
直接マップ領域として獲得する。したがって、直接マッ
プ領域に対応するページテーブルの内容は、仮想記憶シ
ステムによって作成または変更されない。According to the present invention, an unused area other than the virtual memory area of the physical memory is directly acquired as the map area when the virtual storage system is activated. Therefore, the contents of the page table corresponding to the direct map area are not created or modified by the virtual storage system.
【0111】図9は、直接マップ領域に対するメモリ管
理方法について説明するための図を示す。なお、図9で
は説明に関係のない構成を適宜省略している。FIG. 9 is a diagram for explaining the memory management method for the direct map area. It should be noted that, in FIG. 9, components not related to the description are appropriately omitted.
【0112】カーネルは、仮想記憶へのアクセスを処理
する仮想記憶処理部133と、仮想記憶の使用領域を、
ページテーブルを用いてページ毎に管理するページテー
ブル管理部134と、仮想記憶へのアクセスの例外処理
を行う例外処理部135とを有している。なお、仮想記
憶処理部133,ページテーブル管理部134及び例外
処理部135が仮想記憶システムを構成する。The kernel stores a virtual memory processing unit 133 for processing access to the virtual memory and a virtual memory use area.
It has a page table management unit 134 that manages each page using a page table, and an exception processing unit 135 that performs exception processing for access to virtual memory. The virtual storage processing unit 133, the page table management unit 134, and the exception processing unit 135 form a virtual storage system.
【0113】OS内の直接マップ領域獲得部131は、
仮想記憶システムの起動時に物理メモリの直接マップ領
域に対応した仮想メモリ領域上に含まれる直接マップ領
域用の仮装アドレスを設定する。また、メモリマップ部
132はプロセスの生成時またはユーザプロセス実行時
のシステムコールの発行時に、IMH55からの指示に
応じてプロセス用のメモリを直接マップ領域にマップす
る。言い換えれば、メモリマップ部132は直接マップ
領域の物理アドレスと、仮想メモリ領域上に含まれる直
接マップ領域用の仮装アドレスとを関連付けるように、
ページテーブル管理部134が管理するページテーブル
の内容を書き換える。The direct map area acquisition unit 131 in the OS is
When the virtual storage system is activated, a temporary address for the direct map area included in the virtual memory area corresponding to the direct map area of the physical memory is set. In addition, the memory map unit 132 directly maps the memory for the process to the map area according to the instruction from the IMH 55 when the process is generated or the system call is issued when the user process is executed. In other words, the memory map unit 132 associates the physical address of the direct map area with the temporary address for the direct map area included in the virtual memory area,
The contents of the page table managed by the page table management unit 134 are rewritten.
【0114】なお、直接マップ領域獲得部131は特許
請求の範囲に記載した領域獲得手段に相当する。ページ
テーブル管理部134の管理するページテーブルは特許
請求の範囲に記載したアドレス変換手段に相当する。メ
モリマップ部132は特許請求の範囲に記載したアドレ
ス書換手段に相当する。The direct map area acquisition unit 131 corresponds to the area acquisition means described in the claims. The page table managed by the page table management unit 134 corresponds to the address conversion unit described in the claims. The memory map unit 132 corresponds to the address rewriting unit described in the claims.
【0115】ここで、図7を利用して直接マップ領域に
対するページアクセス処理について説明する。直接マッ
プ領域に含まれるページへのアクセスがあると、CPU
61はステップS10に進み、アクセスするページの仮
想アドレスがページテーブル内に登録されているか否か
を判定する。The page access processing for the direct map area will be described with reference to FIG. When the page directly included in the map area is accessed, the CPU
The process proceeds to step S10 to determine whether the virtual address of the page to be accessed is registered in the page table.
【0116】直接マップ領域に対応するページテーブル
の内容はプロセス生成時またはユーザプロセス実行時の
システムコールの発行により既に作成されているため、
CPU61はアクセスするページの仮想アドレスがペー
ジテーブル内に登録されていると判定し(S11におい
てYES)、ステップS12に進む。そして、ステップ
S12では、ページテーブル例外エラーが発生せず、直
接マップ領域に含まれるページへのアクセスが成功する
こととなる。Since the contents of the page table corresponding to the direct map area have already been created by issuing a system call when the process is created or when the user process is executed,
The CPU 61 determines that the virtual address of the page to be accessed is registered in the page table (YES in S11), and proceeds to step S12. Then, in step S12, the page table exception error does not occur, and the access to the page directly included in the map area is successful.
【0117】つまり、ページテーブルの自動参照機能を
持ったプロセッサが直接マップ領域に含まれるページに
アクセスした場合、ページテーブル例外エラーが発生せ
ず、プロセッサにより自動的にページテーブルが参照さ
れて仮想アドレスから物理アドレスへの変換が行われ
る。That is, when a processor having a page table automatic reference function directly accesses a page included in the map area, a page table exception error does not occur and the processor automatically refers to the page table to generate a virtual address. Is converted to a physical address.
【0118】したがって、仮想記憶システムは直接マッ
プ領域に対するアクセスが起こったことを知ることがな
く、仮想メモリ領域を管理するための処理も行わない。
このようなページアクセス処理では、仮想記憶システム
によるオーバーヘッドが発生することなく、ページにア
クセスすることが可能となる。Therefore, the virtual memory system does not know that the direct map area is accessed and does not perform the processing for managing the virtual memory area.
In such a page access process, it is possible to access a page without the overhead of the virtual storage system.
【0119】第1実施例では、仮想メモリ領域のユーザ
プログラム領域とスタック領域との間であって、仮想記
憶システムが使用していないユーザアドレス空間を直接
マップ領域として利用している。通常、仮想メモリ領域
に含まれるユーザアドレス空間は実際に使用されるアド
レス空間に比べて十分に大きいため、仮想記憶システム
が使用していないユーザアドレス空間を直接マップ領域
として利用しても問題ない。In the first embodiment, the user address space between the user program area of the virtual memory area and the stack area, which is not used by the virtual memory system, is directly used as the map area. In general, the user address space included in the virtual memory area is sufficiently larger than the address space actually used, so there is no problem in directly using the user address space not used by the virtual memory system as the map area.
【0120】次に、ページテーブルの自動参照機能を持
たず、TLBによるアドレス変換機能を持ったプロセッ
サを利用する第2実施例について説明する。Next, a second embodiment will be described in which a processor having an address conversion function by TLB is used without the page table automatic reference function.
【0121】CPU61のキャッシュメモリには、CP
U61によって管理されるTLBが設けられている。T
LBは、プロセスごとに仮装アドレスと物理アドレスと
を対応付けて保持しており、プロセスが仮装アドレスを
指定してメモリにアクセスしようとしたときに、指定さ
れた仮装アドレスを物理アドレスに変換するものであ
る。このTLBは、仮装アドレスと物理アドレスとの組
を所定数(例えば、48個,64個など)だけ保持して
いる。図10は、TLBと各プロセスのページテーブル
との関係について説明するための図を示す。図10に表
したように、各ページテーブルは各プロセス独自の仮装
アドレスを使用しており、その仮装アドレスに対応する
物理アドレスを管理している。また、TLBは各プロセ
スがアクセスした仮装アドレスと、その仮装アドレスに
対応する物理アドレスとをプロセスID(以下、PID
という)ごとに保持している。In the cache memory of the CPU 61, the CP
There is a TLB managed by U61. T
The LB holds a temporary address and a physical address in association with each other for each process, and converts the specified temporary address into a physical address when the process attempts to access the memory by specifying the temporary address. Is. This TLB holds a predetermined number (for example, 48, 64, etc.) of sets of temporary addresses and physical addresses. FIG. 10 is a diagram for explaining the relationship between the TLB and the page table of each process. As shown in FIG. 10, each page table uses a temporary address unique to each process, and manages a physical address corresponding to the temporary address. In addition, the TLB stores a temporary address accessed by each process and a physical address corresponding to the temporary address as a process ID (hereinafter, PID).
Hold) for each.
【0122】例えばプリンタアプリ31のプロセスが仮
装アドレス1100番地に対してアクセスすると、CP
U61はプリンタアプリ31のPIDの中から仮装アド
レス1100番地を検索し、プリンタアプリ31の仮装
アドレス1100番地に対応する物理アドレス130番
地を使用する。For example, when the process of the printer application 31 accesses the temporary address 1100, the CP
U61 searches the PID of the printer application 31 for the temporary address 1100, and uses the physical address 130 corresponding to the temporary address 1100 of the printer application 31.
【0123】一方、プリンタアプリ31のプロセスが仮
装アドレス1000番地に対してアクセスすると、CP
U61はプリンタアプリ31のPIDの中から仮装アド
レス1000番地を検索する。しかし、図10のTLB
にはプリンタアプリ31の仮装アドレス1000番地が
登録されていない。このためにTLB例外エラーが発生
し、CPU61はプリンタアプリ31のページテーブル
を参照する。そして、プリンタアプリ31の仮装アドレ
ス1000番地に対応する物理アドレス30番地を取得
して、TLBに「PID:プリンタアプリ,物理アドレ
ス:30番地,仮装アドレス:1000番地」のエント
リを追加する。On the other hand, when the process of the printer application 31 accesses the temporary address 1000, the CP
U61 searches the PID of the printer application 31 for the temporary address 1000. However, the TLB of FIG.
The temporary address 1000 of the printer application 31 is not registered in. Therefore, a TLB exception error occurs, and the CPU 61 refers to the page table of the printer application 31. Then, the physical address 30 corresponding to the temporary address 1000 of the printer application 31 is acquired, and an entry of “PID: printer application, physical address: 30, temporary address: 1000” is added to the TLB.
【0124】しかし、TLBが保持できるエントリの数
はプロセッサにより決まっているため、新たにエントリ
を追加するときに以前のエントリが上書きされる場合が
生じる。このように、TLBのエントリは上書きされて
内容が変わってしまう場合があるが、頻繁に使用する重
要なエントリを固定的な使用のために上書きから保護す
る機能がある。However, since the number of entries that the TLB can hold is determined by the processor, the previous entry may be overwritten when a new entry is added. As described above, the TLB entry may be overwritten and its contents changed, but there is a function of protecting an important entry that is frequently used from being overwritten for fixed use.
【0125】図11は、TLBの一例の構成図を示す。
図11のTLBでは、所定数のエントリを上書きの対象
とならない固定的に使用されるエントリとし、残りのエ
ントリを上書きの対象となる動的に使用されるエントリ
としている。固定的に使用されるエントリを利用するこ
とにより、重要なエントリが上書きの対象とならないよ
うに保護することができる。FIG. 11 is a block diagram showing an example of TLB.
In the TLB of FIG. 11, a predetermined number of entries are fixedly used entries that are not overwritten, and the remaining entries are dynamically used entries that are overwritten. By using the fixedly used entries, it is possible to protect important entries from being overwritten.
【0126】そこで、本発明では第1実施例と同様に、
仮想メモリ領域に直接マップ領域を作成し、直接マップ
領域の仮想アドレス及びその仮想アドレスに対応する物
理アドレスをプロセス生成時またはユーザプロセス実行
時のシステムコールの発行により図11の固定的に使用
されるエントリに書き込むようにした。なお、本発明で
は仮想記憶システムの起動時に、物理メモリの仮想メモ
リ領域以外の未使用領域を直接マップ領域として獲得す
る。したがって、直接マップ領域に対するTLBの内容
は、仮想記憶システムによって作成または変更されな
い。Therefore, in the present invention, as in the first embodiment,
A direct map area is created in the virtual memory area, and the virtual address of the direct map area and the physical address corresponding to the virtual address are fixedly used in FIG. 11 by issuing a system call when a process is created or when a user process is executed. I wrote it in the entry. According to the present invention, an unused area other than the virtual memory area of the physical memory is directly acquired as a map area when the virtual storage system is activated. Therefore, the contents of the TLB for the direct map area are not created or modified by the virtual storage system.
【0127】なお、第2実施例の場合、図8のメモリマ
ップ部132は直接マップ領域の物理アドレスと、仮想
メモリ領域上に含まれる直接マップ領域用の仮装アドレ
スとを関連付けるように、CPU61が管理するTLB
の固定的に使用されるエントリに書き込む。In the case of the second embodiment, the memory map unit 132 of FIG. 8 causes the CPU 61 to associate the physical address of the direct map area with the temporary address for the direct map area included in the virtual memory area. TLB to manage
Write to a permanently used entry in.
【0128】この状態で直接マップ領域に含まれるペー
ジへのアクセスがあると、TLBに対する仮装アドレス
の検索は必ずヒットし、CPU61は仮装アドレスに対
応する物理アドレスを取得することができる。このよう
に、TLB例外エラーが発生しないため、仮想記憶シス
テムは直接マップ領域に対するアクセスが起こったこと
を知ることがなく、仮想メモリ領域を管理するための処
理も行わない。したがって、仮想記憶システムによるオ
ーバーヘッドが発生することなく、ページにアクセスす
ることが可能となる。When a page directly included in the map area is accessed in this state, the search for the temporary address in the TLB always hits, and the CPU 61 can obtain the physical address corresponding to the temporary address. As described above, since the TLB exception error does not occur, the virtual storage system does not know that the direct map area is accessed, and does not perform the processing for managing the virtual memory area. Therefore, it is possible to access the page without incurring the overhead of the virtual memory system.
【0129】第2実施例では、仮想メモリ領域のユーザ
プログラム領域とスタック領域との間であって、仮想記
憶システムが使用していないユーザアドレス空間を直接
マップ領域として利用している。通常、仮想メモリ領域
に含まれるユーザアドレス空間は実際にしようされるア
ドレス空間に比べて十分に大きいため、仮想記憶システ
ムが使用していないユーザアドレス空間を直接マップ領
域として利用しても問題ない。In the second embodiment, the user address space between the user program area of the virtual memory area and the stack area, which is not used by the virtual memory system, is directly used as the map area. Normally, the user address space included in the virtual memory area is sufficiently larger than the address space actually used, so there is no problem in directly using the user address space not used by the virtual memory system as the map area.
【0130】また、1つのエントリで指定できるアドレ
ス範囲には制限があるため、その制限を越えたアドレス
範囲を直接マップ領域として使用する場合には複数のエ
ントリをTLBの固定的に使用されるエントリに書き込
んでおく必要がある。Since the address range that can be specified by one entry is limited, when an address range exceeding the limit is directly used as a map area, a plurality of entries are fixedly used in the TLB. Need to be written in.
【0131】前述の第1実施例および第2実施例は、ハ
ードウェアによるサポートを直接に利用して図6のよう
な直接マップ領域を実現している。そこで、本発明の融
合機1は直接マップ領域の仮想アドレスに対する物理ア
ドレスが連続するようにページテーブルまたはTLBを
作成することにより、仮想アドレス空間でアドレスが連
続している領域を物理メモリ上でもアドレスが連続して
いるように対応付けることが可能である。In the above-mentioned first and second embodiments, the direct map area as shown in FIG. 6 is realized by directly utilizing the support by hardware. Therefore, the multi-function peripheral 1 of the present invention creates a page table or TLB so that the physical addresses corresponding to the virtual addresses in the direct map area are continuous, so that the areas where the addresses are continuous in the virtual address space are also addressed in the physical memory. It is possible to associate such that they are continuous.
【0132】通常、デバイスが行うDMAによるデータ
交換は、物理アドレス空間で行われている。したがっ
て、仮想アドレス空間で作成したデータをDMAにより
デバイスに転送する場合に、物理メモリ上でもアドレス
が連続しているという保証があれば、一度のDMAによ
り大量のデータをデバイスに転送することができる。Usually, data exchange by DMA performed by devices is performed in the physical address space. Therefore, when the data created in the virtual address space is transferred to the device by DMA, a large amount of data can be transferred to the device by one DMA if there is a guarantee that the addresses are continuous on the physical memory. .
【0133】また、本発明の融合機1は複数のプロセス
でデータを共有する場合に、メモリを共有することが可
能となる。図12は、複数のプロセスによりメモリを共
有するときの一例のメモリマップを示す。Further, the multi-functional peripheral 1 of the present invention can share a memory when data is shared by a plurality of processes. FIG. 12 shows an example memory map when a memory is shared by a plurality of processes.
【0134】図12のメモリマップでは、プロセスAの
仮想メモリ領域に含まれる領域aとプロセスBの仮想メ
モリ領域に含まれる領域bとが同じ物理メモリ領域を使
用するように、領域aおよび領域bに対応するページテ
ーブルまたはTLBの内容が書き換えられている。した
がって、プロセスAおよびプロセスBは仮想記憶システ
ムによるオーバーヘッドがほとんど発生することなく、
物理メモリ領域を共有することができる。In the memory map of FIG. 12, the areas a and b are arranged so that the area a included in the virtual memory area of the process A and the area b included in the virtual memory area of the process B use the same physical memory area. The content of the page table or TLB corresponding to is rewritten. Therefore, the process A and the process B have almost no overhead caused by the virtual memory system,
The physical memory area can be shared.
【0135】例えば図12のメモリマップを利用して複
数のプロセスでメモリを共有する処理を図13を参照し
つつ説明する。図13は、複数のプロセスによりメモリ
を共有するときの一例のシーケンス図を示す。A process of sharing a memory with a plurality of processes using the memory map of FIG. 12 will be described with reference to FIG. FIG. 13 shows a sequence diagram of an example when a memory is shared by a plurality of processes.
【0136】図13中、ステップS30ではプロセスA
がIMH49に対して仮想メモリ領域aの獲得を要求す
る。ステップS30に続いてステップS31に進み、I
MH49はプロセスAからの要求に応じて物理メモリ領
域を獲得し、獲得した物理メモリ領域に対応する仮装ア
ドレスAをプロセスAに通知する。例えばプロセスAは
画像を作成し、作成した画像を獲得した仮装アドレスA
に書き込む。In FIG. 13, the process A is performed in step S30.
Requests the IMH 49 to acquire the virtual memory area a. In step S31 following step S30, the I
The MH 49 acquires a physical memory area in response to a request from the process A, and notifies the process A of the temporary address A corresponding to the acquired physical memory area. For example, the process A creates an image, and the temporary address A that acquired the created image
Write in.
【0137】ステップS31に続いてステップS32に
進み、プロセスAは画像を書き込んだ仮装アドレスAを
プロセス間通信によりプロセスBに通知する。なお、プ
ロセスAの仮想メモリ領域に含まれる領域aとプロセス
Bの仮想メモリ領域に含まれる領域bとが同じ物理メモ
リ領域を使用するように、領域aおよび領域bに対応す
るページテーブルまたはTLBの内容が書き換えられて
いるしたがって、プロセスBはプロセスAから通知され
た仮装アドレスAから画像を読み出し、読み出した画像
を例えばプリンタに出力できる。ステップS32に続い
てステップS33に進み、プロセスBは画像を読み込ん
でプリンタに出力した旨をプロセス間通信によりプロセ
スAに通知する。ステップS33に続いてステップS3
4に進み、プロセスAはIMH49に対して物理アドレ
スの解放を要求して処理を終了する。Progressing to step S32 following step S31, the process A notifies the process B of the temporary address A in which the image is written by interprocess communication. Note that the area a included in the virtual memory area of the process A and the area b included in the virtual memory area of the process B use the same physical memory area so that the page table or the TLB corresponding to the areas a and b is used. Therefore, the process B can read the image from the temporary address A notified from the process A and output the read image to, for example, a printer. Progressing to step S33 following step S32, the process B notifies the process A that the image has been read and output to the printer by interprocess communication. After step S33, step S3
4, the process A requests the IMH 49 to release the physical address and ends the process.
【0138】本実施例では、融合機1の処理を中心に説
明したが、図1及び図2に示した情報処理装置1000
に応用が容易に可能である。情報処理装置1000で
は、図8のIMH55に代わり、アプリケーション12
10−1〜1210−n,その他のプログラムが、プロ
セスの生成時などにメモリマップ部132に指示を出す
こととなる。In this embodiment, the processing of the multi-function peripheral 1 has been mainly described, but the information processing apparatus 1000 shown in FIGS.
It can be easily applied to. In the information processing apparatus 1000, the application 12 is used instead of the IMH 55 of FIG.
10-1 to 1210-n and other programs give instructions to the memory map unit 132 when a process is generated.
【0139】[0139]
【発明の効果】上述の如く、本発明によれば、メモリア
クセスのときに例外エラーがほとんど発生しないため、
直接マップ領域に対するメモリアクセスのオーバーヘッ
ドを軽減することが可能である。As described above, according to the present invention, since an exception error hardly occurs at the time of memory access,
It is possible to reduce the overhead of memory access to the direct map area.
【0140】また、本発明によれば、仮想メモリ領域上
に含まれる直接マップ領域用の仮装アドレスで連続して
いる領域を、直接マップ領域の連続した物理アドレスに
割り当てることができるため、ダイレクト・メモリ・ア
クセスを利用したデバイスとのデータ交換が煩雑になら
ず、一度のダイレクト・メモリ・アクセスにより大量の
データを転送することが可能となる。Further, according to the present invention, since the area contiguous with the temporary address for the direct map area contained in the virtual memory area can be allocated to the continuous physical address of the direct map area, Data exchange with a device using memory access is not complicated, and a large amount of data can be transferred by one direct memory access.
【0141】また、本発明によれば、複数のプロセスが
直接マップ領域を共有するように直接マップ領域の物理
アドレスと仮想メモリ領域上に含まれる直接マップ領域
用の仮装アドレスとを対応付けておくことができるた
め、複数のプロセスでメモリを共有することが可能とな
る。According to the present invention, the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other so that a plurality of processes share the direct map area. Therefore, the memory can be shared by a plurality of processes.
【0142】[0142]
【図1】本発明による情報処理装置の一実施例の構成図
である。FIG. 1 is a configuration diagram of an embodiment of an information processing device according to the present invention.
【図2】本発明による情報処理装置の一実施例のハード
ウェア構成図である。FIG. 2 is a hardware configuration diagram of an embodiment of an information processing device according to the present invention.
【図3】本発明による融合機の一実施例の構成図であ
る。FIG. 3 is a configuration diagram of an embodiment of a compound machine according to the present invention.
【図4】本発明による融合機の一実施例のハードウェア
構成図である。FIG. 4 is a hardware configuration diagram of an embodiment of the compound machine according to the present invention.
【図5】融合機起動部の一例の構成図である。FIG. 5 is a configuration diagram of an example of a compound machine starting unit.
【図6】融合機におけるメモリ管理の一例について説明
する図である。FIG. 6 is a diagram illustrating an example of memory management in the multi-function peripheral.
【図7】ページアクセス処理の一例のフローチャートで
ある。FIG. 7 is a flowchart of an example of page access processing.
【図8】直接マップ領域の一例のメモリマップである。FIG. 8 is a memory map of an example of a direct map area.
【図9】直接マップ領域に対するメモリ管理方法につい
て説明するための図である。FIG. 9 is a diagram for explaining a memory management method for a direct map area.
【図10】TLBと各プロセスのページテーブルとの関
係について説明するための図である。FIG. 10 is a diagram for explaining a relationship between a TLB and a page table of each process.
【図11】TLBの一例の構成図である。FIG. 11 is a block diagram of an example of TLB.
【図12】複数のプロセスによりメモリを共有するとき
の一例のメモリマップである。FIG. 12 is a memory map of an example when a memory is shared by a plurality of processes.
【図13】複数のプロセスによりメモリを共有するとき
の一例のシーケンス図である。FIG. 13 is a sequence diagram of an example when a memory is shared by a plurality of processes.
1 融合機
10,1100 ハードウェア資源
11 白黒レーザプリンタ
12 カラーレーザプリンタ
13,1140 ハードウェアリソース
20,1200 ソフトウェア群
30,1210−1〜1210−n アプリケーショ
ン
40 プラットフォーム
42 システムコントロールサービス(SCS)
43 システムリソースマネージャ(SRM)
44 エンジンコントロールサービス(ECS)
45 メモリコントロールサービス(MCS)
46 オペレーションパネルコントロールサービス
(OCS)
47 ファックスコントロールサービス(FCS)
48 ネットワークコントロールサービス(NCS)
50 融合機起動部
51 コントロールサービス
52 ハンドラ層
53,1220 アプリケーションプログラムインタ
ーフェース(API)
54 ファックスコントロールユニットハンドラ(F
CUH)
55 イメージメモリハンドラ(IMH)
56 エンジンI/F
60 コントローラ
61 CPU
62 システムメモリ(MEM−P)
63 ノースブリッジ(NB)
64 サウスブリッジ(SB)
65 AGP(Accelerated Graphics Port)
66 ASIC
67 ローカルメモリ(MEM−C)
68 ハードディスク装置(HDD)
69 ネットワークI/Fコントローラ
70 オペレーションパネル
80 ファックスコントロールユニット(FCU)
90 USBデバイス
100 IEEE1394デバイス
110 エンジン部
121 ROMモニタ
122 プログラム起動部
131 直接マップ領域獲得部
132 メモリマップ部
133 仮想記憶処理部
134 ページテーブル管理部
135 例外処理部
1000 情報処理装置
1110 メモリ装置
1120 入力装置
1130 表示装置
1230 オペレーティングシステム(OS)
1240 BIOS
1250 デバイスドライバ1 Fusion machine 10,1100 Hardware resource 11 Monochrome laser printer 12 Color laser printer 13,1140 Hardware resource 20,1200 Software group 30,1210-1-1210-n Application 40 Platform 42 System control service (SCS) 43 System resource Manager (SRM) 44 Engine Control Service (ECS) 45 Memory Control Service (MCS) 46 Operation Panel Control Service (OCS) 47 Fax Control Service (FCS) 48 Network Control Service (NCS) 50 Multifunction Machine Startup Unit 51 Control Service 52 Handler Layers 53, 1220 Application Program Interface (API) 54 Ax control unit handler (F
CUH) 55 Image memory handler (IMH) 56 Engine I / F 60 Controller 61 CPU 62 System memory (MEM-P) 63 Northbridge (NB) 64 Southbridge (SB) 65 AGP (Accelerated Graphics Port) 66 ASIC 67 Local memory (MEM-C) 68 Hard disk device (HDD) 69 Network I / F controller 70 Operation panel 80 Fax control unit (FCU) 90 USB device 100 IEEE 1394 device 110 Engine section 121 ROM monitor 122 Program activation section 131 Direct map area acquisition section 132 Memory map unit 133 Virtual memory processing unit 134 Page table management unit 135 Exception processing unit 1000 Information processing device 1110 Memory device 1120 On Device 1130 display device 1230 operating system (OS) 1240 BIOS 1250 device driver
Claims (22)
セスにメモリをマップする情報処理装置であって、 前記メモリ上に、前記プロセスによって直接マップ可能
な直接マップ領域を少なくとも獲得する領域獲得手段
と、 前記直接マップ領域の物理アドレスと、仮想メモリ領域
上に含まれる直接マップ領域用の仮装アドレスとを対応
付けたアドレス変換手段とを有することを特徴とする情
報処理装置。1. An information processing apparatus that maps a memory to a process of an application that performs information processing, comprising: an area acquisition unit that acquires at least a direct map area that can be directly mapped by the process on the memory; An information processing apparatus comprising: an address conversion unit that associates a physical address of a map area with a temporary address for a direct map area included in a virtual memory area.
ージごとに管理されることを特徴とする請求項1記載の
情報処理装置。2. The information processing apparatus according to claim 1, wherein the virtual memory area is managed for each page of a predetermined size.
記仮想メモリ領域上に含まれる直接マップ領域用の仮装
アドレスとを対応付けたアドレス変換手段の内容を仮想
記憶システムを介さずに書き換えるアドレス書換手段を
更に有することを特徴とする請求項1又は2記載の情報
処理装置。3. An address rewriting means for rewriting the contents of an address converting means in which a physical address of the direct map area and a temporary address for the direct map area included in the virtual memory area are associated with each other without going through a virtual storage system. The information processing apparatus according to claim 1, further comprising:
ーションの各プロセスの起動時に前記アドレス変換手段
の内容を書き換えることを特徴とする請求項3記載の情
報処理装置。4. The information processing apparatus according to claim 3, wherein the address rewriting unit rewrites the contents of the address converting unit when each process of the application is activated.
動時に、前記直接マップ領域を獲得することを特徴とす
る請求項1乃至4何れか一項記載の情報処理装置。5. The information processing apparatus according to claim 1, wherein the area acquisition unit acquires the direct map area when the information processing apparatus is activated.
ーションの各プロセスごとに、前記直接マップ領域の物
理アドレスと前記仮想メモリ領域上に含まれる直接マッ
プ領域用の仮装アドレスとを対応付けたカーネル内のア
ドレス変換テーブルであることを特徴とする請求項1乃
至5何れか一項記載の情報処理装置。6. The address conversion means is provided in a kernel in which a physical address of the direct map area and a temporary address for the direct map area included in the virtual memory area are associated with each other for each process of the application. The information processing apparatus according to claim 1, wherein the information processing apparatus is an address conversion table.
ーションの各プロセスごとに、前記直接マップ領域の物
理アドレスと前記仮想メモリ領域上に含まれる直接マッ
プ領域用の仮装アドレスとを対応付けたプロセッサ内の
アドレス変換テーブルであることを特徴とする請求項1
乃至5何れか一項記載の情報処理装置。7. The address conversion means is provided in a processor in which a physical address of the direct map area and a temporary address for the direct map area included in the virtual memory area are associated with each other for each process of the application. An address translation table is provided.
5. The information processing device according to any one of 5 to 5.
サ内のアドレス変換テーブルのうち上書きの対象となら
ない部分に、前記直接マップ領域の物理アドレスと前記
仮想メモリ領域上に含まれる直接マップ領域用の仮装ア
ドレスとを対応付けておくことを特徴とする請求項7記
載の情報処理装置。8. The address conversion means is a temporary map area direct address included in the physical address of the direct map area and the virtual memory area in a portion of the address conversion table in the processor which is not to be overwritten. The information processing apparatus according to claim 7, wherein the information processing apparatus is associated with an address.
リ領域上に含まれる直接マップ領域用の仮装アドレスが
連続しているとき、その仮装アドレスに対応する前記直
接マップ領域の物理アドレスが連続するように、前記直
接マップ領域の物理アドレスと前記仮想メモリ領域上に
含まれる直接マップ領域用の仮装アドレスとを対応付け
ることを特徴とする請求項1乃至8何れか一項記載の情
報処理装置。9. The address converting means, when the temporary address for the direct map area included in the virtual memory area is continuous, the physical address of the direct map area corresponding to the temporary address is continuous. 9. The information processing apparatus according to claim 1, wherein a physical address of the direct map area is associated with a temporary address for the direct map area included in the virtual memory area.
セスが前記直接マップ領域を共有するように、前記直接
マップ領域の物理アドレスと前記仮想メモリ領域上に含
まれる直接マップ領域用の仮装アドレスとを対応付ける
ことを特徴とする請求項1乃至9何れか一項記載の情報
処理装置。10. The address conversion means sets a physical address of the direct map area and a temporary address for the direct map area included in the virtual memory area so that a plurality of processes share the direct map area. The information processing apparatus according to claim 1, wherein the information processing apparatus is associated with each other.
システムにより管理されるユーザプログラム領域および
スタック領域と、前記仮想記憶システムにより管理され
ない直接マップ領域とを有し、前記直接マップ領域が前
記仮想メモリ領域のうち前記ユーザプログラム領域また
はスタック領域として使用されない未使用領域に獲得さ
れることを特徴とする請求項3乃至10何れか一項記載
の情報処理装置。11. The virtual memory area has a user program area and a stack area managed by the virtual storage system, and a direct map area not managed by the virtual storage system, and the direct map area is the virtual memory. 11. The information processing apparatus according to claim 3, wherein the information processing apparatus is acquired in an unused area that is not used as the user program area or the stack area among the areas.
ロセスにメモリをマップする情報処理装置のメモリ管理
方法であって、 前記メモリ上に、前記プロセスによって直接マップ可能
な直接マップ領域を少なくとも獲得する領域獲得段階
と、 前記直接マップ領域の物理アドレスと、仮想メモリ領域
上に含まれる直接マップ領域用の仮装アドレスとを対応
付けるアドレス変換段階とを有することを特徴とするメ
モリ管理方法。12. A memory management method of an information processing apparatus for mapping a memory to a process of an application which performs information processing, wherein an area acquisition step of acquiring at least a direct map area directly mappable by the process on the memory And an address conversion step of associating a physical address of the direct map area with a temporary address for the direct map area included in the virtual memory area.
ページごとに管理されることを特徴とする請求項12記
載のメモリ管理方法。13. The memory management method according to claim 12, wherein the virtual memory area is managed for each page of a predetermined size.
領域の物理アドレスと前記仮想メモリ領域上に含まれる
直接マップ領域用の仮装アドレスとを対応付けた内容を
仮想記憶システムを介さずに書き換えることを特徴とす
る請求項12又は13記載のメモリ管理方法。14. The address translation step includes rewriting the content in which the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other without going through a virtual storage system. The memory management method according to claim 12 or 13, characterized in that.
ケーションの各プロセスの起動時に、直接マップ領域の
物理アドレスと前記仮想メモリ領域上に含まれる直接マ
ップ領域用の仮装アドレスとを対応付けた内容を書き換
えることを特徴とする請求項14記載のメモリ管理方
法。15. The address translation step rewrites the contents in which the physical address of the direct map area and the temporary address for the direct map area included in the virtual memory area are associated with each other when each process of the application is activated. 15. The memory management method according to claim 14, wherein:
起動時に、前記直接マップ領域を獲得することを特徴と
する請求項12乃至15何れか一項記載のメモリ管理方
法。16. The memory management method according to claim 12, wherein in the area acquisition step, the direct map area is acquired when the information processing apparatus is activated.
ケーションの各プロセスごとに、前記直接マップ領域の
物理アドレスと前記仮想メモリ領域上に含まれる直接マ
ップ領域用の仮装アドレスとを対応付けたカーネル内の
アドレス変換テーブルを書き換えることを特徴とする請
求項12乃至16何れか一項記載のメモリ管理方法。17. The address conversion step is performed in a kernel in which a physical address of the direct map area and a temporary address for the direct map area included in the virtual memory area are associated with each other for each process of the application. 17. The memory management method according to claim 12, wherein the address conversion table is rewritten.
ケーションの各プロセスごとに、前記直接マップ領域の
物理アドレスと前記仮想メモリ領域上に含まれる直接マ
ップ領域用の仮装アドレスとを対応付けたプロセッサ内
のアドレス変換テーブルを書き換えることを特徴とする
請求項12乃至16何れか一項記載のメモリ管理方法。18. The address translation step in a processor in which a physical address of the direct map area and a temporary address for the direct map area included in the virtual memory area are associated with each other for each process of the application. 17. The memory management method according to claim 12, wherein the address conversion table is rewritten.
ッサ内のアドレス変換テーブルのうち上書きの対象とな
らない部分に、前記直接マップ領域の物理アドレスと前
記仮想メモリ領域上に含まれる直接マップ領域用の仮装
アドレスとを対応付けることを特徴とする請求項18記
載のメモリ管理方法。19. In the address translation step, a temporary address for the direct map area included in the physical address of the direct map area and the virtual memory area is provided in a portion of the address translation table in the processor which is not to be overwritten. 19. The memory management method according to claim 18, wherein the memory management method is associated with an address.
モリ領域上に含まれる直接マップ領域用の仮装アドレス
が連続しているとき、その仮装アドレスに対応する前記
直接マップ領域の物理アドレスが連続するように、前記
直接マップ領域の物理アドレスと前記仮想メモリ領域上
に含まれる直接マップ領域用の仮装アドレスとを対応付
けることを特徴とする請求項12乃至19何れか一項記
載のメモリ管理方法。20. In the address converting step, when the temporary address for the direct map area included in the virtual memory area is continuous, the physical addresses of the direct map area corresponding to the temporary address are continuous. 20. The memory management method according to claim 12, wherein the physical address of the direct map area is associated with the temporary address for the direct map area included in the virtual memory area.
セスが前記直接マップ領域を共有するように、前記直接
マップ領域の物理アドレスと前記仮想メモリ領域上に含
まれる直接マップ領域用の仮装アドレスとを対応付ける
ことを特徴とする請求項12乃至20何れか一項記載の
メモリ管理方法。21. In the address conversion step, a physical address of the direct map area and a temporary address for the direct map area included in the virtual memory area are shared so that a plurality of processes share the direct map area. 21. The memory management method according to claim 12, wherein the memory management method is associated with each other.
システムにより管理されるユーザプログラム領域および
スタック領域と、前記仮想記憶システムにより管理され
ない直接マップ領域とを有し、前記直接マップ領域が前
記仮想メモリ領域のうち前記ユーザプログラム領域また
はスタック領域として使用されない未使用領域に獲得さ
れることを特徴とする請求項14乃至21何れか一項記
載のメモリ管理方法。22. The virtual memory area includes a user program area and a stack area managed by the virtual storage system, and a direct map area not managed by the virtual storage system, and the direct map area is the virtual memory. 22. The memory management method according to claim 14, wherein the memory is acquired in an unused area that is not used as the user program area or the stack area among the areas.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003044586A JP4263920B2 (en) | 2002-02-25 | 2003-02-21 | Information processing apparatus and memory management method |
US10/370,726 US7055015B2 (en) | 2002-02-25 | 2003-02-24 | Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002048514 | 2002-02-25 | ||
JP2002-48514 | 2002-02-25 | ||
JP2003044586A JP4263920B2 (en) | 2002-02-25 | 2003-02-21 | Information processing apparatus and memory management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003316645A true JP2003316645A (en) | 2003-11-07 |
JP4263920B2 JP4263920B2 (en) | 2009-05-13 |
Family
ID=29551939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003044586A Expired - Fee Related JP4263920B2 (en) | 2002-02-25 | 2003-02-21 | Information processing apparatus and memory management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4263920B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006085393A (en) * | 2004-09-15 | 2006-03-30 | National Institute Of Information & Communication Technology | High-speed transfer method for data from device, and data processor |
JP2007174068A (en) * | 2005-12-20 | 2007-07-05 | Ricoh Co Ltd | Image forming apparatus |
WO2008084531A1 (en) * | 2007-01-10 | 2008-07-17 | Netcleus Systems Corporation | Memory management apparatus |
US9858085B2 (en) | 2014-01-28 | 2018-01-02 | Nec Corporation | Information processing including BIOS apparatus, information processing method thereof, and storage medium |
WO2018084024A1 (en) * | 2016-11-02 | 2018-05-11 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
-
2003
- 2003-02-21 JP JP2003044586A patent/JP4263920B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006085393A (en) * | 2004-09-15 | 2006-03-30 | National Institute Of Information & Communication Technology | High-speed transfer method for data from device, and data processor |
JP2007174068A (en) * | 2005-12-20 | 2007-07-05 | Ricoh Co Ltd | Image forming apparatus |
WO2008084531A1 (en) * | 2007-01-10 | 2008-07-17 | Netcleus Systems Corporation | Memory management apparatus |
US8060723B2 (en) | 2007-01-10 | 2011-11-15 | Kernelon Silicon Inc. | Memory management device |
US9858085B2 (en) | 2014-01-28 | 2018-01-02 | Nec Corporation | Information processing including BIOS apparatus, information processing method thereof, and storage medium |
WO2018084024A1 (en) * | 2016-11-02 | 2018-05-11 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
US10967813B2 (en) | 2016-11-02 | 2021-04-06 | Hitachi Automotive Systems, Ltd. | Vehicle control device |
Also Published As
Publication number | Publication date |
---|---|
JP4263920B2 (en) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7055015B2 (en) | Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory | |
JP5213539B2 (en) | Image processing apparatus and memory management method for image processing apparatus | |
US20090217265A1 (en) | Information processing apparatus, method of controlling therefor, and program | |
JP2008077144A (en) | Virtualization system, memory management method and control program | |
US7715028B2 (en) | Card type memory, image forming apparatus, and starting method therefor | |
JP4263919B2 (en) | Image forming apparatus and memory management method | |
US20090219569A1 (en) | Information processing apparatus, information processing system, and information processing method | |
US7911639B2 (en) | Image forming device | |
JP4101004B2 (en) | Image forming apparatus | |
EP1308793B1 (en) | Image forming device having a memory assignment unit | |
JP3798353B2 (en) | Electronic equipment | |
JP4263920B2 (en) | Information processing apparatus and memory management method | |
JPH05303553A (en) | Complex machine controller | |
US8526039B2 (en) | Image processing apparatus, and control method thereof and program | |
JP2018063676A (en) | Information processing device, control method thereof, and program | |
US20050086450A1 (en) | Information processing apparatus and file management method | |
JP4136397B2 (en) | Image forming apparatus and memory management method | |
JP2003196110A (en) | Image forming device | |
JP2005028687A (en) | Image processor, information processor, and memory disk managing method | |
JP4128468B2 (en) | Information processing apparatus and memory map method | |
JP4128467B2 (en) | Image forming apparatus and memory map method | |
JP3857598B2 (en) | Data transfer method, device control module using the data transfer method, and image forming apparatus | |
JP2011188411A (en) | Image processing apparatus and image processing system | |
JP2012221326A (en) | Electronic apparatus | |
JP4959477B2 (en) | Client device, network system, print control method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050822 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080819 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090107 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090120 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090213 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140220 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |