JP2007094528A - Method for using memory of multiprocessor system - Google Patents

Method for using memory of multiprocessor system Download PDF

Info

Publication number
JP2007094528A
JP2007094528A JP2005280114A JP2005280114A JP2007094528A JP 2007094528 A JP2007094528 A JP 2007094528A JP 2005280114 A JP2005280114 A JP 2005280114A JP 2005280114 A JP2005280114 A JP 2005280114A JP 2007094528 A JP2007094528 A JP 2007094528A
Authority
JP
Japan
Prior art keywords
processor
sub
memory
program
stored
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.)
Withdrawn
Application number
JP2005280114A
Other languages
Japanese (ja)
Inventor
Masahiro Ito
正博 伊藤
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005280114A priority Critical patent/JP2007094528A/en
Publication of JP2007094528A publication Critical patent/JP2007094528A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multiprocessor system having a main processor and a plurality of subprocessors and whose costs can be reduced, the processors sharing memory with one another. <P>SOLUTION: The program of the subprocessors is divided into an initialized part, a common part to different operations, and characteristic parts for the different operations. The overwrite of the initialized part and the common part is inhibited once they are stored in memory. Of the characteristic parts, only those required for the operations of the subprocessors are stored in memory. The overwrite of the characteristic parts stored in memory is permitted when the subprocessors stop. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、メインプロセッサと複数のサブプロセッサを備え、各プロセッサ間でメモリを共有するマルチプロセッサシステムにおいて、特にメモリの使用方法に関する。   The present invention relates to a method for using a memory, particularly in a multiprocessor system that includes a main processor and a plurality of sub-processors and shares the memory among the processors.

近年のシステムLSIは、高機能及び高性能を実現するために、複数のプロセッサを搭載するものも一般的になっている。このようなシステムの例として、図1のようなものがある。1チップとして実現されるシステムLSI1には、メインプロセッサ10とサブプロセッサ11が搭載され、それぞれ独立したバスを介してRAMコントローラ13及び外部RAM22を共有する。電源投入時は、メインプロセッサ10のみが動作し、ROMコントローラ12を経由して外部ROM21から、プログラムをロードして実行する。メインプロセッサ10は、サブプロセッサ11の起動・停止の制御、及び、外部RAM22へサブプロセッサ11用プログラムの格納を行う。サブプロセッサ11は、メインプロセッサ10による起動命令により、外部RAM22からプログラムをロードして実行する。また、サブプロセッサ11は、消費電力を抑えるために、処理が必要な時のみ起動し、処理が終了したら停止する。   In recent years, system LSIs are generally equipped with a plurality of processors in order to realize high functions and high performance. An example of such a system is shown in FIG. A system LSI 1 implemented as a single chip includes a main processor 10 and a sub processor 11, and shares a RAM controller 13 and an external RAM 22 via independent buses. When the power is turned on, only the main processor 10 operates, and a program is loaded from the external ROM 21 via the ROM controller 12 and executed. The main processor 10 controls the start / stop of the sub processor 11 and stores the program for the sub processor 11 in the external RAM 22. The sub processor 11 loads and executes a program from the external RAM 22 in response to a start command from the main processor 10. Further, the sub-processor 11 is activated only when processing is necessary to suppress power consumption, and stops when the processing is completed.

従来例としては、例えば特許文献1をあげることが出来る。
特開平11−338833号公報
For example, Patent Document 1 can be cited as a conventional example.
JP 11-338833 A

前記システムLSI1を機器に組み込む場合、機器全体の性能に大きく影響を与えるものにメインプロセッサ10による外部RAM22へのサブプロセッサ11用プログラム書き込みがある。例えば、サブプロセッサ11用プログラム書き込み回数が1回のみなら、機器全体に与える影響は最小限であるが、これを実現するには一旦サブプロセッサ11用プログラムが書き込まれた領域は、変更しないよう十分な容量の外部RAM22が必要となり機器のコストを増大させる問題がある。   When the system LSI 1 is incorporated in a device, the main processor 10 writes the program for the sub processor 11 to the external RAM 22 that greatly affects the performance of the entire device. For example, if the number of times the program for the sub processor 11 is written is only one, the influence on the entire device is minimal. To realize this, it is sufficient not to change the area in which the program for the sub processor 11 is once written. A large capacity external RAM 22 is required, which increases the cost of the equipment.

また、サブプロセッサ11の停止時に、サブプロセッサ11用プログラムが書き込まれた領域をメインプロセッサ10が変更可能なように解放すると、サブプロセッサ11を再起動する際、サブプロセッサ11用プログラム書き込みも行わねばならず、サブプロセッサ11の起動に時間がかかり、機器全体の性能を低下させる問題がある。   When the sub processor 11 is stopped, if the main processor 10 releases the area in which the sub processor 11 program is written so that the main processor 10 can be changed, the sub processor 11 must be written when the sub processor 11 is restarted. In other words, there is a problem that it takes time to start up the sub processor 11 and the performance of the entire apparatus is lowered.

本発明は、このような問題を解決するためになされたもので、機器全体の性能を著しく低下させることなく、外部RAMを効率的に使用することで、低コスト化が可能なマルチプロセッサシステムを提供することを目的とする。   The present invention has been made to solve such a problem. A multiprocessor system capable of reducing the cost by efficiently using an external RAM without significantly degrading the performance of the entire device is provided. The purpose is to provide.

請求項1記載の発明に係るマルチプロセッサシステムのメモリ使用方法は、メインプロセッサと、複数のサブプロセッサと、各プロセッサ間で共有するメモリを備え、前記サブプロセッサは前記メモリからプログラムを読み込み動作し、かつ、前記サブプロセッサのプログラムは前記メインプロセッサのみが前記メモリに格納可能であり、かつ、前記サブプロセッサはシステム動作中に起動、動作、停止を繰り返すマルチプロセッサシステムにおいて、前記サブプロセッサのプログラムを初期化部分、各動作共通部分、各動作固有部分に分割し、前記初期化部分、各動作共通部分は1度前記メモリに格納されたら上書きを禁止し、前記各動作固有部分は前記サブプロセッサの動作に必要なもののみ前記メモリに格納し、前記メモリに格納された動作固有部分は前記サブプロセッサが停止したら上書きを許可することを特徴とする。   A method for using a memory of a multiprocessor system according to claim 1 comprises a main processor, a plurality of sub-processors, and a memory shared among the processors, and the sub-processor reads a program from the memory and operates. In addition, the sub-processor program can be stored in the memory only by the main processor, and the sub-processor program is initialized in a multiprocessor system that repeatedly starts, operates, and stops during system operation. The initializing part and each operation common part are prohibited from being overwritten once stored in the memory, and each operation specific part is an operation of the sub-processor. Is stored in the memory, only what is necessary for the The operation specific part is permitted to be overwritten when the sub-processor is stopped.

これにより、サブプロセッサの2度目以降の起動時にメインプロセッサは、初期化部分、各動作共通部分を除く動作固有部分のみメモリに格納すればよいので、サブプロセッサの起動時間を短縮できる。   As a result, when the sub processor is started for the second time or later, the main processor only needs to store the initialization portion and the operation specific portion excluding each operation common portion in the memory, so that the start time of the sub processor can be shortened.

また、動作固有部分はサブプロセッサが停止したら他のプロセッサに使用を許可するので、メモリを効率的に使用でき、搭載するメモリの容量を大きくしなくてもよい。   Further, since the operation specific part is permitted to be used by other processors when the sub processor is stopped, the memory can be used efficiently, and the capacity of the mounted memory does not have to be increased.

請求項1記載のマルチプロセッサシステムにおけるメモリ使用方法によれば、
システムに搭載するメモリの容量を増大させなくても、サブプロセッサの起動時間を短縮することができ、性能が著しく低下しない低コストなマルチプロセッサシステムを実現できる。
According to the memory usage method in the multiprocessor system according to claim 1,
Even if the capacity of the memory mounted on the system is not increased, the startup time of the sub-processor can be shortened, and a low-cost multiprocessor system can be realized in which the performance is not significantly reduced.

以下、図面を参照して本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は本発明のメモリ使用方法を応用したマルチプロセッサシステムを示す構成図である。   FIG. 1 is a block diagram showing a multiprocessor system to which the memory usage method of the present invention is applied.

1は複数のプロセッサや各種回路を1チップとして構成したシステムLSIである。   Reference numeral 1 denotes a system LSI in which a plurality of processors and various circuits are configured as one chip.

メインプロセッサ10は、システムLSI1全体を制御し、システムの電源投入直後にリセット解除され動作を開始し、システム動作中は停止することはない。起動時は、ROMコントローラ12を介して外部のROM21からプログラムをロードし実行する。起動後は、RAMコントローラ13を介して外部のRAM22へプログラムを格納し、RAM22からプログラムをロードして実行することもできる。   The main processor 10 controls the entire system LSI 1, reset is released immediately after the system power is turned on, starts its operation, and does not stop during system operation. At startup, a program is loaded from the external ROM 21 via the ROM controller 12 and executed. After startup, the program can be stored in the external RAM 22 via the RAM controller 13 and loaded from the RAM 22 for execution.

サブプロセッサ11は、システムの電源投入直後はリセット状態で停止している。メインプロセッサ10によってリセットが解除されると、RAM22からプログラムをロードして実行する。所定の動作が終わるとメインプロセッサ10へ終了通知し、再びメインプロセッサ10によってリセット状態に設定される。   The sub-processor 11 is stopped in a reset state immediately after the system is turned on. When the reset is released by the main processor 10, the program is loaded from the RAM 22 and executed. When the predetermined operation ends, the main processor 10 is notified of the end, and the main processor 10 sets the reset state again.

ROMコントローラ12は、メインプロセッサ10が外部のROM21のデータを読み込めるようにROM21を制御する。   The ROM controller 12 controls the ROM 21 so that the main processor 10 can read data in the external ROM 21.

RAMコントローラ13は、メインプロセッサ10とサブプロセッサ11が外部のRAM22へデータを読み書きできるようにRAM22を制御する。   The RAM controller 13 controls the RAM 22 so that the main processor 10 and the sub processor 11 can read and write data to the external RAM 22.

サブプロセッサ制御回路14は、サブプロセッサ11のリセット信号の制御やサブプロセッサ11からメインプロセッサ10への通知機能を有する。   The sub processor control circuit 14 has a function of controlling a reset signal of the sub processor 11 and a notification function from the sub processor 11 to the main processor 10.

ROM21は、メインプロセッサ10とサブプロセッサ11のプログラム等が保存されている不揮発性メモリである。   The ROM 21 is a nonvolatile memory in which programs for the main processor 10 and the sub processor 11 are stored.

RAM22は、システム動作中はデータを保持できる揮発性メモリである。メインプロセッサ10及びサブプロセッサ11のプログラムの格納やワークエリアとして使用される。   The RAM 22 is a volatile memory that can hold data during system operation. It is used as a program storage or work area for the main processor 10 and the sub processor 11.

図2はROM21に保存されているサブプロセッサ11のプログラムである。   FIG. 2 shows a program for the sub-processor 11 stored in the ROM 21.

サブプロセッサ11のプログラムは、サブプロセッサ11起動時に1度だけ実行される初期化部分31、特定の動作に依存せず各動作時に共通で実行される各動作共通部分32、特定の動作に依存して実行される各動作固有部分33に分割されている。   The program of the sub processor 11 depends on the initialization portion 31 that is executed only once when the sub processor 11 is started, the operation common portions 32 that are executed in common during each operation without depending on the specific operation, and the specific operation. It is divided into each operation specific part 33 to be executed.

次に動作について説明する。   Next, the operation will be described.

本発明のメモリ使用方法を応用したマルチプロセッサシステムは、システムの電源投入後メインプロセッサ10のリセットが解除され、ROM21に保存されているプログラムを実行し、システム全体の初期化を開始する。初期化処理においてメインプロセッサ10は、各種回路の初期化、RAM22の自身が使用する領域の初期化等を行う。   In the multiprocessor system to which the memory usage method of the present invention is applied, the reset of the main processor 10 is released after the system is turned on, the program stored in the ROM 21 is executed, and the initialization of the entire system is started. In the initialization process, the main processor 10 initializes various circuits, initializes an area used by the RAM 22 itself, and the like.

システム動作中は、メインプロセッサ10が各種回路の制御を行いながら、必要に応じてサブプロセッサ11を起動し、所定の処理をさせ、停止させる行為を繰り返す。例えば、画像処理のようなプロセッサに負荷のかかる処理が必要な場合は、サブプロセッサ11にその処理を行わせ、終了したら停止させる。このようにサブプロセッサ11を制御することで、サブプロセッサ11の動作による消費電力を抑えることができる。   While the system is operating, the main processor 10 controls the various circuits, and starts up the sub-processor 11 as necessary to perform predetermined processing and stop the operation. For example, when a processor-intensive process such as image processing is necessary, the sub-processor 11 performs the process, and stops when the process is completed. By controlling the sub processor 11 in this way, power consumption due to the operation of the sub processor 11 can be suppressed.

図3は、サブプロセッサ11の起動から停止までのフローチャートである。   FIG. 3 is a flowchart from start to stop of the sub processor 11.

メインプロセッサ10は、サブプロセッサ11の起動が1回目かどうかを判定する(ステップS11)。起動1回目の場合(ステップS11のYES)は、ROM21からサブプロセッサプログラムの初期化部分31と各動作共通部分32をロードし、RAM22の所定の領域へ格納する(ステップS12)。この処理において、RAM22へ格納されたサブプロセッサプログラムは、システム動作中変更されることはない。よって起動2回目以降である場合(ステップS11のNO)は、前述の処理は省略されるためサブプロセッサ11の起動処理が短縮される。   The main processor 10 determines whether or not the sub processor 11 is activated for the first time (step S11). In the first activation (YES in step S11), the initialization portion 31 and each operation common portion 32 of the sub processor program are loaded from the ROM 21 and stored in a predetermined area of the RAM 22 (step S12). In this process, the sub processor program stored in the RAM 22 is not changed during system operation. Therefore, in the case of the second or subsequent activation (NO in step S11), the above-described process is omitted, and the activation process of the sub processor 11 is shortened.

次に、サブプロセッサ11に所定の動作を行わせるために、プログラムの動作固有部分33から必要なものをRAM22へ格納する(ステップS13)。メインプロセッサ10は、サブプロセッサ制御回路14を操作してサブプロセッサ11のリセットを解除する(ステップS14)。メインプロセッサ10は、サブプロセッサ11の動作中他の処理を行いつつ、サブプロセッサ11の動作終了通知を待つ(ステップS15)。サブプロセッサ11は、所定の動作が終了するとサブプロセッサ制御回路14を介してメインプロセッサ10へ終了を通知する。メインプロセッサ10は、サブプロセッサ11の動作終了通知を受け(ステップS15のYES)、サブプロセッサ制御回路14を操作してサブプロセッサ11をリセット状態にする(ステップS16)。   Next, in order to cause the sub-processor 11 to perform a predetermined operation, a necessary part from the operation specific part 33 of the program is stored in the RAM 22 (step S13). The main processor 10 operates the sub processor control circuit 14 to release the reset of the sub processor 11 (step S14). The main processor 10 waits for an operation end notification of the sub processor 11 while performing other processes during the operation of the sub processor 11 (step S15). When the predetermined operation ends, the sub processor 11 notifies the main processor 10 of the end via the sub processor control circuit 14. The main processor 10 receives an operation end notification from the sub processor 11 (YES in step S15), and operates the sub processor control circuit 14 to reset the sub processor 11 (step S16).

サブプロセッサプログラムの動作固有部分を一旦格納したRAM22の領域は、サブプロセッサ11が停止中にメインプロセッサ10が使用することを許可する、また、次回サブプロセッサ起動の動作固有部分ロードの際、上書きを許可することでRAM22を効率的に使用することができ、システムに搭載するRAM22の容量を小さくすることができる。   The area of the RAM 22 in which the operation specific part of the sub processor program is temporarily stored is allowed to be used by the main processor 10 while the sub processor 11 is stopped. By permitting, the RAM 22 can be used efficiently, and the capacity of the RAM 22 installed in the system can be reduced.

上記説明はサブプロセッサが1つの場合であるが、複数になった場合においても、本発明のメモリ使用方法は同様に適応できる。   The above description is for the case where there is one sub-processor, but the memory usage method of the present invention can be similarly applied even when there are a plurality of sub-processors.

本発明のメモリ使用方法を応用したマルチプロセッサシステムを示す構成図1 is a configuration diagram showing a multiprocessor system to which a memory usage method of the present invention is applied. ROM21に保存されているサブプロセッサ11のプログラムSub-processor 11 program stored in ROM 21 サブプロセッサ11の起動から停止までのフローチャートFlow chart from start to stop of sub-processor 11

符号の説明Explanation of symbols

1 1チップのシステムLSI
10 メインプロセッサ
11 サブプロセッサ
12 ROMコントローラ
13 RAMコントローラ
14 サブプロセッサ制御回路
21 ROM
22 RAM
31 サブプロセッサプログラムの初期化部分
32 サブプロセッサプログラムの各動作共通部分
31 サブプロセッサプログラムの各動作固有部分
1 1-chip system LSI
10 Main processor 11 Sub processor 12 ROM controller 13 RAM controller 14 Sub processor control circuit 21 ROM
22 RAM
31 Initialization part of subprocessor program 32 Common operation part of subprocessor program 31 Specific operation part of subprocessor program

Claims (1)

メインプロセッサと、
複数のサブプロセッサと、
各プロセッサ間で共有するメモリを備え、
前記サブプロセッサは前記メモリからプログラムを読み込み動作し、かつ、
前記サブプロセッサのプログラムは前記メインプロセッサのみが前記メモリに格納可能であり、かつ、
前記サブプロセッサはシステム動作中に起動、動作、停止を繰り返すマルチプロセッサシステムにおいて、
前記サブプロセッサのプログラムを初期化部分、各動作共通部分、各動作固有部分に分割し、
前記初期化部分、各動作共通部分は1度前記メモリに格納されたら上書きを禁止し、
前記各動作固有部分は前記サブプロセッサの動作に必要なもののみ前記メモリに格納し、
前記メモリに格納された動作固有部分は前記サブプロセッサが停止したら上書きを許可する
ことを特徴とするマルチプロセッサシステムのメモリ使用方法。
A main processor;
Multiple sub-processors;
It has a memory shared between each processor,
The sub-processor reads and operates a program from the memory; and
The sub processor program can be stored in the memory only by the main processor, and
In the multiprocessor system in which the sub-processor is repeatedly started, operated, and stopped during system operation,
The sub processor program is divided into an initialization part, an operation common part, and an operation specific part,
The initialization part and each operation common part are prohibited from overwriting once stored in the memory,
Each operation specific part is stored in the memory only for the operation of the sub-processor,
A method of using a memory in a multiprocessor system, wherein the operation specific part stored in the memory is allowed to be overwritten when the sub processor is stopped.
JP2005280114A 2005-09-27 2005-09-27 Method for using memory of multiprocessor system Withdrawn JP2007094528A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005280114A JP2007094528A (en) 2005-09-27 2005-09-27 Method for using memory of multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005280114A JP2007094528A (en) 2005-09-27 2005-09-27 Method for using memory of multiprocessor system

Publications (1)

Publication Number Publication Date
JP2007094528A true JP2007094528A (en) 2007-04-12

Family

ID=37980213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005280114A Withdrawn JP2007094528A (en) 2005-09-27 2005-09-27 Method for using memory of multiprocessor system

Country Status (1)

Country Link
JP (1) JP2007094528A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049675A (en) * 2013-08-30 2015-03-16 株式会社ソニー・コンピュータエンタテインメント Peripheral device controller and information processing device
JP2018151717A (en) * 2017-03-10 2018-09-27 日立オートモティブシステムズ株式会社 Automobile electronic control device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049675A (en) * 2013-08-30 2015-03-16 株式会社ソニー・コンピュータエンタテインメント Peripheral device controller and information processing device
US9727495B2 (en) 2013-08-30 2017-08-08 Sony Interactive Entertainment Inc. Peripheral equipment control device and information processing
JP2018151717A (en) * 2017-03-10 2018-09-27 日立オートモティブシステムズ株式会社 Automobile electronic control device

Similar Documents

Publication Publication Date Title
JP2007299404A (en) System which executes high-speed boot wake-up
JP5229326B2 (en) Power consumption control method, power consumption control program and information processing system in multi-core CPU
JP3884464B2 (en) BIOS data storage device for computer system and driving method thereof
JP4422136B2 (en) Storage device and activation method
JP2006004108A (en) Semiconductor integrated circuit and method for controlling power saving of the same
KR20070082229A (en) Multi-processor system and method of initializing thereof
US7711941B2 (en) Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
JP2007219581A (en) Memory controller, and electronic equipment mounted therewith
JP2007122627A (en) Information processor and memory initialization method
US20060064575A1 (en) Multi chip system and its boot code fetch method
JP2015156205A (en) Information processing device, and control method therein
JP2005071303A (en) Program starting device
JP2007094528A (en) Method for using memory of multiprocessor system
JP2007207074A (en) Operation system, thread control mechanism and information processor
JP2008226111A (en) Duplication controller system and operation system controller
TW201435567A (en) Method and device for advanced configuration and power interface (ACPI) sleep-state support using CPU-only reset
JP4334312B2 (en) Start-up time reduction computing device and data loading method
US20150317181A1 (en) Operating system switching method
JP2008102761A (en) Method for updating embedded firmware
JP2006127407A (en) Semiconductor integrated circuit
JP2006260092A (en) Information processor or data transfer controller
US20240126559A1 (en) Processor control method and associated system-on-chip
JP2005276104A (en) Microcomputer
JP4876459B2 (en) Multiprocessor system, multiprocessor system activation method, and portable terminal
JP2001256055A (en) Program download system

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081202