[go: up one dir, main page]

JP2015022373A - CONTROL DEVICE, ITS START-UP METHOD, AND IMAGE FORMING APPARATUS PROVIDED WITH THE CONTROL DEVICE - Google Patents

CONTROL DEVICE, ITS START-UP METHOD, AND IMAGE FORMING APPARATUS PROVIDED WITH THE CONTROL DEVICE Download PDF

Info

Publication number
JP2015022373A
JP2015022373A JP2013147962A JP2013147962A JP2015022373A JP 2015022373 A JP2015022373 A JP 2015022373A JP 2013147962 A JP2013147962 A JP 2013147962A JP 2013147962 A JP2013147962 A JP 2013147962A JP 2015022373 A JP2015022373 A JP 2015022373A
Authority
JP
Japan
Prior art keywords
code
control device
demand paging
data
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013147962A
Other languages
Japanese (ja)
Inventor
隆志 大沢
Takashi Osawa
隆志 大沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2013147962A priority Critical patent/JP2015022373A/en
Publication of JP2015022373A publication Critical patent/JP2015022373A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable high-speed start using demand paging processing even in a RAM execution system.SOLUTION: A boot loader stored in a mask ROM 20 loads, from codes and data of a program to be loaded to RAM 17, only necessary ones to perform demand paging, such as the entry point of the program and the code to initialize a page table to the RAM 17. The boot loader jumps to the entry point of the program to perform the initialization of interruption processing and initialization of the page table, and thereby enabling the demand paging processing in the subsequent processing.

Description

本発明は、デマンドページング機能を有する制御装置及びその起動処理方法、並びにその制御装置を備えた画像形成装置に関する。   The present invention relates to a control device having a demand paging function, an activation processing method thereof, and an image forming apparatus including the control device.

画像形成装置などの電子機器を起動する際に、デマンドページング処理を利用して、起動時間を短縮する技術が存在する。デマンドページング処理とは、必要になったときに不揮発性メモリからRAMにプログラムのコードもしくはデータをページ単位でロードする処理のことである。デマンドページング処理を利用すれば、必要最低限のコードもしくはデータのみをロードすればよいため、起動時間を短縮することが可能である。デマンドページング機能を利用した起動高速化技術は既に知られている(特許文献1)。   There is a technique for reducing the startup time by using demand paging processing when starting an electronic apparatus such as an image forming apparatus. The demand paging process is a process of loading program codes or data from a nonvolatile memory to a RAM in units of pages when necessary. If demand paging processing is used, only the minimum necessary code or data needs to be loaded, so that the startup time can be shortened. A startup acceleration technique using a demand paging function is already known (Patent Document 1).

しかしながら、今までのデマンドページング処理を利用した起動高速化技術は、ROM実行を前提としたシステムで動作するというシステム制約があり、RAM実行のシステムには適用できないという問題がある。   However, the conventional startup speed-up technology using demand paging processing has a problem that it cannot be applied to a RAM execution system due to a system restriction that it operates in a system premised on ROM execution.

ROM実行とは、マスクROMやNORフラッシュROMなどの直接コードを実行することが可能なROMを搭載するシステムにおいて採用される方式で、コードをROMからRAMに展開せず、直接ROM上のコードを実行することである。また、RAM実行とは、NANDフラッシュROMやシリアルフラッシュROMなどの直接コードを実行することができないROMを搭載するシステムにおいて採用される方式で、コードをROMからRAMに展開してからRAM上のコードを実行することである。   ROM execution is a method adopted in a system equipped with a ROM capable of executing a direct code, such as a mask ROM or a NOR flash ROM, and the code on the ROM is not directly expanded from the ROM to the RAM. Is to do. In addition, RAM execution is a method adopted in a system including a ROM such as a NAND flash ROM or a serial flash ROM that cannot directly execute a code. The code on the RAM is expanded after the code is expanded from the ROM to the RAM. Is to execute.

ROM実行は、RAMを削減できるためコスト面では有利であるが、速度面では不利なため、コストが重要な電子機器では採用されるものの、画像形成装置など、速度が要求される電子機器においてはRAM実行が採用されることが殆どである。   ROM execution is advantageous in terms of cost because it can reduce RAM, but is disadvantageous in terms of speed, so it is used in electronic devices where cost is important, but in electronic devices that require speed, such as image forming apparatuses. In most cases, RAM execution is employed.

特許文献1に記載された発明では、リード時間を短縮する目的で、デマンドページング処理によりROM上のデータをRAMに展開している。しかし、この発明は、コードをROM実行し、データはRAMアクセスするというシステムを前提としており、RAM実行のシステムには適用できない。   In the invention described in Patent Document 1, the data on the ROM is expanded in the RAM by demand paging processing for the purpose of shortening the read time. However, the present invention assumes a system in which code is executed in ROM and data is accessed in RAM, and is not applicable to a system that executes RAM.

本発明は、このような問題を解決するためになされたものであり、その目的は、RAM実行のシステムでも、デマンドページング処理を利用した起動の高速化を実現することである。   The present invention has been made to solve such a problem, and an object of the present invention is to realize high-speed startup using demand paging processing even in a RAM execution system.

本発明は、制御装置であって、プログラムのコード及びデータが格納される不揮発性の第1の記憶部と、前記プログラムの作業領域となる第2の記憶部と、デマンドページング処理に必要なコード及びデータを前記第1の記憶部から前記第2の記憶部へロードする手段と、該ロードされたコード及びデータを用いて、デマンドページング処理に必要な初期化処理を行う手段と、を有する制御装置である。   The present invention is a control device, a non-volatile first storage unit for storing program codes and data, a second storage unit serving as a work area for the program, and codes necessary for demand paging processing And means for loading data from the first storage unit to the second storage unit, and means for performing initialization processing required for demand paging processing using the loaded code and data Device.

本発明によれば、RAM実行のシステムでも、デマンドページング処理を利用した起動の高速化を実現することができる。   According to the present invention, even in a RAM execution system, it is possible to realize high-speed startup using demand paging processing.

本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。1 is a block diagram illustrating a hardware configuration of an image forming apparatus according to an embodiment of the present invention. 図1におけるコントローラボードの起動処理を示すフローチャートである。It is a flowchart which shows the starting process of the controller board in FIG. 図2のフローにおいて、ブートローダがデマンドページング処理に必要なコード及びデータをRAMにロードした時点でのRAMマップを示す図である。FIG. 3 is a diagram showing a RAM map at the time when a boot loader loads code and data necessary for demand paging processing into the RAM in the flow of FIG. 2. 図2のフローにおいて、ページング設定が行われた後のRAMのアクセス属性について説明するための図である。FIG. 3 is a diagram for explaining an access attribute of a RAM after paging setting is performed in the flow of FIG. 2. 図2のフローにおいて、デマンドページング処理により初期化コード及びデータがロードされていく様子について説明するための図である。FIG. 3 is a diagram for explaining a state in which initialization codes and data are loaded by demand paging processing in the flow of FIG. 2. 本発明の実施形態に係る画像形成装置において、低優先度タスクがRAMに読み出しアクセスを行うことによって起動をより高速化する手法について説明するための図である。FIG. 6 is a diagram for explaining a method of speeding up the activation by a low priority task performing read access to a RAM in the image forming apparatus according to the embodiment of the present invention.

以下、本発明の実施形態について図面を参照して説明する。
<画像形成装置のハードウェア構成>
図1は、本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。
Embodiments of the present invention will be described below with reference to the drawings.
<Hardware configuration of image forming apparatus>
FIG. 1 is a block diagram showing a hardware configuration of an image forming apparatus according to an embodiment of the present invention.

この画像形成装置1は、コントローラボード10と、それぞれがコントローラボード10に接続されたスキャナ30、プロッタ40、及び操作(オペレーション)パネル50を備えている。   The image forming apparatus 1 includes a controller board 10, a scanner 30, a plotter 40, and an operation panel 50 each connected to the controller board 10.

スキャナ30は、原稿などの画像を読み取り、画像データを生成する画像入力手段である。プロッタ40は、画像データに基づいて、用紙などの印刷媒体に画像を形成する画像出力手段である。操作パネル50は、各種ボタン、LCDなどの表示デバイス、及び表示デバイス上に配置されたタッチパネルなどを備えており、ユーザがこの画像形成装置1に各種指示を入力するための操作入力手段である。   The scanner 30 is an image input unit that reads an image such as a document and generates image data. The plotter 40 is an image output unit that forms an image on a print medium such as paper based on image data. The operation panel 50 includes various buttons, a display device such as an LCD, a touch panel arranged on the display device, and the like, and is an operation input unit for a user to input various instructions to the image forming apparatus 1.

制御装置としてのコントローラボード10は、この画像形成装置1の全体を制御する機能を持ち、バス21と、それぞれがバス21に接続されたCPU11、スキャナI/F(インタフェース)12、パネルI/F13、画像処理H/W(ハードウェア)14、プロッタI/F15、不揮発性メモリ16、RAM17、ネットワークI/F18、USBI/F19、及びマスクROM20を備えている。   The controller board 10 as a control device has a function of controlling the entire image forming apparatus 1, and includes a bus 21, a CPU 11 connected to the bus 21, a scanner I / F (interface) 12, and a panel I / F 13. , Image processing H / W (hardware) 14, plotter I / F 15, nonvolatile memory 16, RAM 17, network I / F 18, USB I / F 19, and mask ROM 20.

CPU11は、この画像形成装置1の全体を制御するために各種処理や演算などを実行する演算処理手段である。また、CPU11は、デマンドページング処理時にアドレス変換などのメモリ管理を実行するMMU(Memory Management Unit:メモリ管理ユニット)11aを内蔵している。   The CPU 11 is an arithmetic processing unit that executes various processes and arithmetic operations in order to control the entire image forming apparatus 1. In addition, the CPU 11 has a built-in MMU (Memory Management Unit) 11a that executes memory management such as address conversion during demand paging processing.

パネルI/F13は、操作パネル50とのインタフェース手段である。画像処理H/W14は、スキャナ30から入力された画像データ、ネットワークI/F18から入力された画像データ、USBI/F19から入力された画像データに対して、所定の画像処理を施す。プロッタI/F15は、プロッタ40とのインタフェース手段である。   The panel I / F 13 is an interface unit with the operation panel 50. The image processing H / W 14 performs predetermined image processing on the image data input from the scanner 30, the image data input from the network I / F 18, and the image data input from the USB I / F 19. The plotter I / F 15 is an interface unit with the plotter 40.

不揮発性メモリ16は、NANDフラッシュROM、シリアルフラッシュROMなどからなり、画像形成装置としてのサービスを提供するプログラム(コピーアプリやFAXアプリなどのアプリケーションプログラム)を格納している。RAM17は、不揮発性メモリ16からロードされたプログラムの作業領域(ワークエリア)などとして使用される主記憶部(メインメモリ)である。マスクROM20は、ブートローダを格納している。   The nonvolatile memory 16 includes a NAND flash ROM, a serial flash ROM, and the like, and stores programs (application programs such as a copy application and a FAX application) that provide services as an image forming apparatus. The RAM 17 is a main storage unit (main memory) used as a work area (work area) for programs loaded from the nonvolatile memory 16. The mask ROM 20 stores a boot loader.

ネットワークI/F18は、LANなどのネットワークとのインタフェース手段である。USBI/F19は、USBに対応した不揮発性メモリ(USBメモリ)などのUSBデバイスとのインタフェース手段である。   The network I / F 18 is an interface unit with a network such as a LAN. The USB I / F 19 is an interface unit with a USB device such as a nonvolatile memory (USB memory) compatible with USB.

以上の構成を備えた画像形成装置1において、起動時には、CPU11によって、マスクROM20に格納されているブートローダが実行される。ブートローダは、スキャナ30やプロッタ40、操作パネル50を制御し、画像形成装置1としてのサービスを提供するプログラムを不揮発性メモリ16から読み出し、RAM17にロードする。   In the image forming apparatus 1 having the above-described configuration, the boot loader stored in the mask ROM 20 is executed by the CPU 11 at startup. The boot loader controls the scanner 30, the plotter 40, and the operation panel 50, reads a program that provides a service as the image forming apparatus 1 from the nonvolatile memory 16, and loads it into the RAM 17.

RAM17にロードされたプログラムにはエントリーポイントと呼ばれるプログラムの開始点があり、ブートローダはそこにジャンプして、プログラムの実行を開始する。プログラムの初期化コードにより、ソフトウェア内部データや、スキャナ30やプロッタ40等のハードウェアが初期化され、初期化が完了すると、画像形成装置1は、コピーや印刷などの指示を受け付けることができるようになる。   The program loaded in the RAM 17 has a program start point called an entry point, and the boot loader jumps to the program start point to start execution of the program. Software initialization data and hardware such as the scanner 30 and the plotter 40 are initialized by the initialization code of the program. When the initialization is completed, the image forming apparatus 1 can accept instructions such as copying and printing. become.

ブートローダが不揮発性メモリ16からRAM17にプログラムをロードする際、プログラム全体をロードしてからエントリーポイントにジャンプすると、起動時間が長くなってしまう。そこで、プログラムを部分的にRAM17にロードして起動時間を短縮する方法について以降で説明する。   When the boot loader loads a program from the nonvolatile memory 16 to the RAM 17, if the entire program is loaded and then jumps to the entry point, the startup time becomes long. Therefore, a method for partially loading the program into the RAM 17 and reducing the startup time will be described below.

<コントローラボードの起動処理>
図2は、図1におけるコントローラボード10の起動処理を示すフローチャートである。ブートローダは、画像形成装置1の電源が入ると最初に実行される(ステップS101)。
<Start-up processing of controller board>
FIG. 2 is a flowchart showing a startup process of the controller board 10 in FIG. The boot loader is executed first when the image forming apparatus 1 is powered on (step S101).

ブートローダは、RAM17にロードするプログラムのうち、デマンドページング処理を行うのに必要なコード及びデータのみをRAM17にロードする(ステップS102)。   The boot loader loads only the code and data necessary for performing the demand paging process among the programs loaded to the RAM 17 (step S102).

ここで、デマンドページング処理を行うのに必要なコード及びデータとは、プログラムのエントリーポイント(以下、プログラムエントリーポイント)、ページテーブルを初期化するコード(以下、ページテーブル初期化コード)、ベクターテーブル、不揮発性メモリのデバイスドライバ(以下、不揮発性メモリデバイスドライバ)、デマンドページング処理コード、及び割り込み処理コードである。この不揮発性メモリは、コントローラボード10上の不揮発性メモリ16(NANDフラッシュROM、シリアルフラッシュROMなど)である。また、SSD、HDD、USBメモリ等も可能である。   Here, the code and data necessary for performing the demand paging process are a program entry point (hereinafter referred to as a program entry point), a code for initializing a page table (hereinafter referred to as a page table initialization code), a vector table, These are a non-volatile memory device driver (hereinafter, non-volatile memory device driver), demand paging processing code, and interrupt processing code. This nonvolatile memory is the nonvolatile memory 16 (NAND flash ROM, serial flash ROM, etc.) on the controller board 10. An SSD, HDD, USB memory, etc. are also possible.

図3は、ブートローダがデマンドページング処理に必要なコード及びデータをRAM17にロードした時点、即ちステップS102が終了した時点でのRAMマップを示す図である。   FIG. 3 is a diagram showing a RAM map when the boot loader loads code and data necessary for the demand paging process into the RAM 17, that is, when step S102 is completed.

RAM17の先頭部分のRAM領域171にベクターテーブル、プログラムエントリーポイント、ページテーブル初期化コード、不揮発性メモリデバイスドライバ、デマンドページング処理コード、及び割り込み処理コードがロードされている。一方、それ以外のRAM領域172には何もロードされておらず、不定値のままである。   A vector table, a program entry point, a page table initialization code, a nonvolatile memory device driver, a demand paging processing code, and an interrupt processing code are loaded in the RAM area 171 at the top of the RAM 17. On the other hand, nothing is loaded in the RAM area 172 other than that, and it remains an indefinite value.

図示のように、ベクターテーブル、プログラムエントリーポイント、ページテーブル初期化コード、不揮発性メモリデバイスドライバ、デマンドページング処理コード、及び割り込み処理コードを、最も低位のアドレスを0x0として連続して配置する。これは、プログラムのビルド時に使用されるリンカースクリプトを適切に記述することによって行うことができる。リンカースクリプトはプログラムのRAMマップを決定する設定ファイルであり、テキストファイルで記述されているので、ソフトウェア開発者が自由にRAMマップのレイアウトを変更することができる。   As shown in the figure, a vector table, a program entry point, a page table initialization code, a nonvolatile memory device driver, a demand paging processing code, and an interrupt processing code are sequentially arranged with the lowest address being 0x0. This can be done by properly writing a linker script that is used when building the program. The linker script is a setting file that determines the RAM map of the program, and is written in a text file. Therefore, the software developer can freely change the layout of the RAM map.

図2の説明に戻る。ステップS102でブートローダがデマンドページング処理を行うのに必要なだけのコード及びデータをRAM17にロードした後、プログラムエントリーポイントにジャンプし(ステップS103)、割り込み処理の初期化、ページテーブルの初期化、不揮発性メモリデバイスドライバの初期化を行う(ステップS104)。これにより、以降の処理でデマンドページング処理が可能になる。   Returning to the description of FIG. In step S102, after the code and data necessary for the boot loader to perform demand paging processing are loaded into the RAM 17, the program jumps to the program entry point (step S103), interrupt processing initialization, page table initialization, non-volatile The memory device driver is initialized (step S104). Thereby, demand paging processing becomes possible in the subsequent processing.

図4は、ページング設定、即ちステップS104におけるページテーブルの初期化が行われた後のRAM17のアクセス属性について説明するための図である。   FIG. 4 is a diagram for explaining the access attributes of the RAM 17 after the paging setting, that is, the page table is initialized in step S104.

ページテーブルの初期化により、RAM17全体のアクセス属性が決定する。アクセス属性としては、一般的なCPUでは、書き込みアクセス禁止、読み書きアクセス禁止、アクセス禁止なしを設定することができる。   The access attribute of the entire RAM 17 is determined by the initialization of the page table. As an access attribute, a general CPU can set write access prohibition, read / write access prohibition, and no access prohibition.

アクセス属性は、ページ単位で設定することができる。図4においては、斜線を付した部分(以下、斜線部分)174を読み書きアクセス禁止属性としている。この斜線部分174に読み出しアクセスや書き込みアクセスが発生すると、ページフォールト例外が発生し、これを契機にデマンドページング処理が行われる。   Access attributes can be set on a page basis. In FIG. 4, a hatched portion (hereinafter, hatched portion) 174 is a read / write access prohibition attribute. When read access or write access occurs in the shaded portion 174, a page fault exception occurs, and demand paging processing is performed in response to this.

図4において、白抜きの部分(以下、白抜き部分)には、書き込みアクセス禁止属性、もしくはアクセス禁止なし属性を設定する。書き込みアクセス禁止属性を設定した領域は、読み出しアクセスは成功するが、書き込みアクセスをした場合にはページフォールト例外が発生する。アクセス禁止なし属性を設定した領域は、読み出しアクセスも書き込みアクセスも成功する。ここでは、白抜き部分のうち、デマンドページング処理を行うのに必要なだけのコード及びデータをロードした領域171は書き込みアクセス禁止属性に、ページテーブルを含むデータ部分173はアクセス禁止なし属性を設定すればよい。   In FIG. 4, a write access prohibition attribute or an access prohibitionless attribute is set in a white portion (hereinafter, white portion). In the area where the write access prohibition attribute is set, the read access succeeds, but a page fault exception occurs when the write access is made. The read access and the write access succeed in the area in which the no access prohibition attribute is set. Here, among the white portions, the area 171 loaded with the code and data necessary for the demand paging process is set to the write access prohibition attribute, and the data portion 173 including the page table is set to the no access prohibition attribute. That's fine.

図2の説明に戻る。デマンドページング処理を行うために必要な初期化(ステップS104)を行った後は、通常初期化処理(プログラムの初期化処理)を行う。通常初期化処理を行うためのコード及びデータはまだRAM17にロードされていないため、通常初期化処理コードを実行しようとすると(ステップS105)、ページフォールト例外が発生する(ステップS106:YES)。   Returning to the description of FIG. After performing the initialization necessary for performing the demand paging process (step S104), the normal initialization process (program initialization process) is performed. Since the code and data for performing the normal initialization process are not yet loaded in the RAM 17, when a normal initialization process code is executed (step S105), a page fault exception occurs (step S106: YES).

ページフォールト例外を契機として、デマンドページング処理が行われる(ステップS107)。即ち、プログラムのコード及びデータが格納された不揮発性メモリ16から必要なコード及びデータを読み出し、RAM17に展開する。このデマンドページング処理は、OS(オペレーティングシステム)とMMU11aにより実行される。   Demand paging processing is performed in response to the page fault exception (step S107). That is, the necessary code and data are read from the nonvolatile memory 16 in which the program code and data are stored, and developed in the RAM 17. This demand paging process is executed by the OS (operating system) and the MMU 11a.

デマンドページング処理が完了したら、元のプログラムに戻って、通常初期化処理を再開する(ステップS108:YES→ステップS105)。この過程を通常初期化処理を全て実行し終わるまで繰り返す(ステップS108:NO→起動完了)。   When the demand paging process is completed, the process returns to the original program and the normal initialization process is resumed (step S108: YES → step S105). This process is repeated until all the normal initialization processes have been executed (step S108: NO → start-up complete).

通常初期化処理の中には、デマンドページング処理を行わずに済むものもある(ステップS106:NO)。これは、以前の通常初期化処理によってデマンドページング処理が行われた際に、現在実行中の通常初期化処理のコード及びデータがついでに読み込まれたケースである。   Some normal initialization processes do not require the demand paging process (step S106: NO). In this case, when the demand paging process is performed by the previous normal initialization process, the code and data of the normal initialization process currently being executed are subsequently read.

図5は、デマンドページング処理により初期化コード及びデータがロードされていく様子について説明するための図である。   FIG. 5 is a diagram for explaining a state in which initialization codes and data are loaded by demand paging processing.

RAMアクセス属性がアクセス禁止属性に設定されている斜線部分174内の領域に対して、コード実行もしくはデータアクセスが行われると、デマンドページング処理が行われる。この結果、その領域は書き込みアクセス禁止属性(コードの場合)、もしくはアクセス禁止なし属性(データの場合)が設定される。   When code execution or data access is performed on the area within the shaded portion 174 in which the RAM access attribute is set to the access prohibition attribute, demand paging processing is performed. As a result, the write access prohibition attribute (in the case of code) or the access prohibitionless attribute (in the case of data) is set in the area.

図5において、白抜き部分の領域175及び176が、初期化コードがロードされた領域を表し、白抜き部分の領域177及び178が、初期化データがロードされた領域を表す。デマンドページング処理により、初期化コード及び初期化データのロードが進むにつれて、白抜き部分が増えていく。   In FIG. 5, white areas 175 and 176 represent areas loaded with initialization codes, and white areas 177 and 178 represent areas loaded with initialization data. As the initialization code and the initialization data are loaded by the demand paging process, white portions increase.

<低優先度タスクの読み出しによる起動の高速化>
図6は、低優先度タスクがRAMに読み出しアクセスを行うことによって起動をより高速化する手法について説明するための図である。
<High speed startup by reading low priority tasks>
FIG. 6 is a diagram for explaining a method of speeding up the activation by the low priority task performing read access to the RAM.

初期化処理の最中に、低優先度タスク(優先度の低いタスク)200を1つ生成し、実行する。この低優先度タスク200は、RAM17に対して、ページ単位で読み出しアクセスする役割を持つ。読み出しアクセスの範囲は、デマンドページング処理に必要なコード及びデータが配置されている領域171の直後のアドレスから、RAM17の終端アドレスまでである。   During the initialization process, one low priority task (low priority task) 200 is generated and executed. The low priority task 200 has a role of reading and accessing the RAM 17 in units of pages. The range of read access is from the address immediately after the area 171 where the code and data necessary for demand paging processing are arranged to the end address of the RAM 17.

アクセス単位は1バイトであり、ページ単位で順次読み出しアクセスを行う。ページサイズはCPUに依存する。仮にページサイズを4KBとし、読み出しアクセスを開始するアドレスを0x4000とすると、この低優先度タスク200は、0x4000,0x5000,0x6000,0x7000…に対して読み出しアクセスを行う。RAM17の終端アドレスまでの読み出しアクセスを完了すると、このタスクは終了する。   The access unit is 1 byte, and read access is sequentially performed in page units. The page size depends on the CPU. If the page size is 4 KB and the address for starting read access is 0x4000, the low priority task 200 performs read access to 0x4000, 0x5000, 0x6000, 0x7000. When the read access to the end address of the RAM 17 is completed, this task ends.

このタスクの効果について、以下に述べる。
初期化処理の中には、待ち時間を必要とする処理が行われる可能性がある。例えば、周辺デバイスの初期化を行うコードにおいて、周辺デバイスのステータスが変化することを待つ処理が挙げられる。このような待ち時間には、CPUは有効な処理を行うことができず、アイドル状態になるだけである。
The effect of this task is described below.
In the initialization process, there is a possibility that a process requiring a waiting time is performed. For example, in the code for initializing the peripheral device, there is a process of waiting for the status of the peripheral device to change. During such a waiting time, the CPU cannot perform effective processing, and only enters an idle state.

そこで、この間に、低優先度タスクを動かしておけば、RAMアドレスに読み出しアクセスを行うことによってデマンドページング処理を引き起こすことができる。これにより、将来のデマンドページング処理を先取りすることができる可能性があり、デマンドページング処理時間の短縮に繋がる。また、このタスクは優先度が低いため、初期化処理が実行されている際には、その初期化処理の実行を邪魔することがない。   Therefore, if the low priority task is moved during this period, the demand paging process can be caused by performing read access to the RAM address. As a result, there is a possibility that future demand paging processing can be anticipated, leading to a reduction in demand paging processing time. Further, since this task has a low priority, it does not interfere with the execution of the initialization process when the initialization process is being executed.

このようにCPUがアイドル状態になる時に、少しでもデマンドページング処理を進めることにより、トータルの起動時間を短縮させることができる。   Thus, when the CPU enters the idle state, the total startup time can be shortened by advancing the demand paging process as much as possible.

以上詳細に説明したように、本発明の実施形態に係る画像形成装置1によれば、起動時に、不揮発性メモリ16に格納されているプログラムのコード及びデータのうち、デマンドページング処理を行うのに必要なコード及びデータ(必要最低限のコード及びデータ)だけをRAM17にロードすることによって、ロード時間を短縮することができる。
その後、ロードしたプログラムのエントリーポイントにジャンプし、割り込み処理の初期化、ページテーブルの初期化、および不揮発性メモリのデバイスドライバの初期化を行うことによって、デマンドページング処理が可能になる。この後は、デマンドページング処理により、随時必要なコード、データが不揮発性メモリ16からRAM17にロードされる。
このように、デマンドページング処理を行うことができるだけのロード及び初期化を実行しておけば、デマンドページング機能を提供することが出来、その結果、起動高速化を実現することができる。
即ち、RAM実行のシステムであっても起動高速化を実現できる。
また、バックグラウンドで低優先度のタスクにより意図的にデマンドページングを引き起こすことによってトータルの起動時間をさらに短縮することができる。
As described above in detail, according to the image forming apparatus 1 according to the embodiment of the present invention, the demand paging process is performed among the code and data of the program stored in the nonvolatile memory 16 at the time of startup. By loading only the necessary code and data (minimum necessary code and data) into the RAM 17, the load time can be shortened.
Thereafter, jumping to the entry point of the loaded program, initialization of the interrupt process, initialization of the page table, and initialization of the device driver of the nonvolatile memory enables the demand paging process. Thereafter, necessary code and data are loaded from the nonvolatile memory 16 to the RAM 17 by demand paging processing.
Thus, if the load and initialization that can perform the demand paging process are executed, the demand paging function can be provided, and as a result, the startup speed can be increased.
In other words, even a RAM execution system can achieve high startup speed.
In addition, the total startup time can be further shortened by intentionally causing demand paging by a low priority task in the background.

なお、以上説明した実施形態は、本発明を画像形成装置に適用したものであるが、本発明は、例えばデジタルカメラ、スマートフォン、タブレット端末、パーソナルコンピュータ等の電子機器にも適用することができる。   In the embodiment described above, the present invention is applied to an image forming apparatus. However, the present invention can also be applied to electronic devices such as a digital camera, a smartphone, a tablet terminal, and a personal computer.

1…画像形成装置、10…コントローラボード、11…CPU、11a…MMU、16…不揮発性メモリ、17…RAM、20…マスクROM、200…低優先度タスク。   DESCRIPTION OF SYMBOLS 1 ... Image forming apparatus, 10 ... Controller board, 11 ... CPU, 11a ... MMU, 16 ... Non-volatile memory, 17 ... RAM, 20 ... Mask ROM, 200 ... Low priority task.

特許第4732432号公報Japanese Patent No. 4732432

Claims (8)

プログラムのコード及びデータが格納される不揮発性の第1の記憶部と、
前記プログラムの作業領域となる第2の記憶部と、
デマンドページング処理に必要なコード及びデータを前記第1の記憶部から前記第2の記憶部へロードする手段と、
該ロードされたコード及びデータを用いて、デマンドページング処理に必要な初期化処理を行う手段と、を有する制御装置。
A nonvolatile first storage unit for storing program codes and data;
A second storage unit serving as a work area for the program;
Means for loading code and data required for demand paging processing from the first storage unit to the second storage unit;
And a control unit having an initialization process necessary for the demand paging process using the loaded code and data.
請求項1に記載された制御装置において、
前記デマンドページング処理に必要なコード及びデータは、プログラムのエントリーポイント、ページテーブルを初期化するコード、ベクターテーブル、前記第1の記憶部のデバイスドライバ、デマンドページング処理コード、及び割り込み処理コードである、制御装置。
The control device according to claim 1,
The code and data necessary for the demand paging process are a program entry point, a code for initializing a page table, a vector table, a device driver for the first storage unit, a demand paging process code, and an interrupt process code. Control device.
請求項1又は2に記載された制御装置において、
前記デマンドページング処理に必要なコード及びデータが、前記第2の記憶部の連続したアドレスの領域に配置されている、制御装置。
In the control device according to claim 1 or 2,
A control device, wherein code and data necessary for the demand paging process are arranged in a continuous address area of the second storage unit.
請求項3に記載された制御装置において、
前記領域のアドレスは、プログラムのビルド時に使用されるリンカースクリプトの記述により設定される、制御装置。
The control device according to claim 3,
The address of the area is set by a description of a linker script used when building a program.
請求項3又は4に記載された制御装置において、
最も低位のアドレスが0x0である、制御装置。
In the control device according to claim 3 or 4,
The control unit whose lowest address is 0x0.
請求項1〜5のいずれかに記載された制御装置において、
前記初期化処理を行っている最中に、優先度の低いタスクを起動しておき、そのタスクに、デマンドページング処理が行われていない最も低位のアドレスから終端アドレスまで、ページ単位で順次読み出しアクセスさせることにより、バックグラウンドでデマンドページングを引き起こす、制御装置。
In the control device according to any one of claims 1 to 5,
During the initialization process, a task with a low priority is started, and the task is sequentially read and accessed in page units from the lowest address where the demand paging process is not performed to the end address. A control device that causes demand paging in the background.
請求項1〜6のいずれかに記載された制御装置を備えた画像形成装置。   An image forming apparatus comprising the control device according to claim 1. プログラムのコード及びデータが格納される不揮発性の第1の記憶部と、前記プログラムの作業領域となる第2の記憶部と、を有する制御装置の起動処理方法であって、
デマンドページング処理に必要なコード及びデータを前記第1の記憶部から前記第2の記憶部へロードする工程と、
該ロードされたコード及びデータを用いて、デマンドページング処理に必要な初期化処理を行う工程と、
を有する制御装置の起動処理方法。
A control device activation processing method comprising: a nonvolatile first storage unit storing program codes and data; and a second storage unit serving as a work area for the program,
Loading code and data required for demand paging processing from the first storage unit to the second storage unit;
Using the loaded code and data to perform initialization processing required for demand paging processing;
A processing method for starting a control device having
JP2013147962A 2013-07-16 2013-07-16 CONTROL DEVICE, ITS START-UP METHOD, AND IMAGE FORMING APPARATUS PROVIDED WITH THE CONTROL DEVICE Pending JP2015022373A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013147962A JP2015022373A (en) 2013-07-16 2013-07-16 CONTROL DEVICE, ITS START-UP METHOD, AND IMAGE FORMING APPARATUS PROVIDED WITH THE CONTROL DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013147962A JP2015022373A (en) 2013-07-16 2013-07-16 CONTROL DEVICE, ITS START-UP METHOD, AND IMAGE FORMING APPARATUS PROVIDED WITH THE CONTROL DEVICE

Publications (1)

Publication Number Publication Date
JP2015022373A true JP2015022373A (en) 2015-02-02

Family

ID=52486801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013147962A Pending JP2015022373A (en) 2013-07-16 2013-07-16 CONTROL DEVICE, ITS START-UP METHOD, AND IMAGE FORMING APPARATUS PROVIDED WITH THE CONTROL DEVICE

Country Status (1)

Country Link
JP (1) JP2015022373A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501321A (en) * 2007-10-26 2011-01-06 クゥアルコム・インコーポレイテッド Progressive boot for wireless devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501321A (en) * 2007-10-26 2011-01-06 クゥアルコム・インコーポレイテッド Progressive boot for wireless devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
西田 亙: "「configure;make;make install」だけでは終わらせない! GCCプログラミン", UNIX USER, vol. 第12巻,第8号, JPN6017015025, 1 August 2003 (2003-08-01), JP, pages 131 - 140, ISSN: 0003547051 *

Similar Documents

Publication Publication Date Title
KR101636870B1 (en) Method and apparatus for generating minimal boot image
JP5783809B2 (en) Information processing apparatus, activation method, and program
KR101673299B1 (en) Operating system recovery method and apparatus, and terminal device
JP2017228010A (en) Storage control means, information processing apparatus including storage control means, storage control method, and program therefor
JP2005157528A (en) Memory device
KR101285204B1 (en) Information processing apparatus and control method for information processing apparatus
KR102116984B1 (en) Method for controlling memory swap operation and data processing system adopting the same
JP5970867B2 (en) Information processing apparatus, image forming apparatus, and program
JP5870043B2 (en) Start control device, information device, and start control method
JP2015022373A (en) CONTROL DEVICE, ITS START-UP METHOD, AND IMAGE FORMING APPARATUS PROVIDED WITH THE CONTROL DEVICE
JP2018078485A (en) Information processing apparatus and method for starting information processing apparatus
JP5232728B2 (en) Image forming apparatus
JP2006268377A (en) Program start-up controller and program start-up control method
JP2008225608A (en) Memory controller for controlling memory, memory module, and memory control method
JP2006155391A (en) Image forming apparatus
JP2005258967A (en) Data processing device
JP5826220B2 (en) Electronic equipment and suspend control program
JP4548505B2 (en) Information processing apparatus, information processing method, and computer program
JP4594889B2 (en) Method for tracing program executed on a system including a plurality of processing devices, and system including a plurality of processing devices
JP4334312B2 (en) Start-up time reduction computing device and data loading method
CN115129526B (en) A BIOS dynamic debugging method, system, storage medium and device
CN113438380B (en) Image forming apparatus and computer-readable recording medium
JP2006126987A (en) Image processing device
JP2011203843A (en) Information processing apparatus
JP2023128642A (en) Information processing device, control method for information processing device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171107