JP2007094528A - Method for using memory of multiprocessor system - Google Patents
Method for using memory of multiprocessor system Download PDFInfo
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
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
従来例としては、例えば特許文献1をあげることが出来る。
前記システムLSI1を機器に組み込む場合、機器全体の性能に大きく影響を与えるものにメインプロセッサ10による外部RAM22へのサブプロセッサ11用プログラム書き込みがある。例えば、サブプロセッサ11用プログラム書き込み回数が1回のみなら、機器全体に与える影響は最小限であるが、これを実現するには一旦サブプロセッサ11用プログラムが書き込まれた領域は、変更しないよう十分な容量の外部RAM22が必要となり機器のコストを増大させる問題がある。
When the system LSI 1 is incorporated in a device, the
また、サブプロセッサ11の停止時に、サブプロセッサ11用プログラムが書き込まれた領域をメインプロセッサ10が変更可能なように解放すると、サブプロセッサ11を再起動する際、サブプロセッサ11用プログラム書き込みも行わねばならず、サブプロセッサ11の起動に時間がかかり、機器全体の性能を低下させる問題がある。
When the
本発明は、このような問題を解決するためになされたもので、機器全体の性能を著しく低下させることなく、外部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
サブプロセッサ11は、システムの電源投入直後はリセット状態で停止している。メインプロセッサ10によってリセットが解除されると、RAM22からプログラムをロードして実行する。所定の動作が終わるとメインプロセッサ10へ終了通知し、再びメインプロセッサ10によってリセット状態に設定される。
The
ROMコントローラ12は、メインプロセッサ10が外部のROM21のデータを読み込めるようにROM21を制御する。
The
RAMコントローラ13は、メインプロセッサ10とサブプロセッサ11が外部のRAM22へデータを読み書きできるようにRAM22を制御する。
The
サブプロセッサ制御回路14は、サブプロセッサ11のリセット信号の制御やサブプロセッサ11からメインプロセッサ10への通知機能を有する。
The sub
ROM21は、メインプロセッサ10とサブプロセッサ11のプログラム等が保存されている不揮発性メモリである。
The
RAM22は、システム動作中はデータを保持できる揮発性メモリである。メインプロセッサ10及びサブプロセッサ11のプログラムの格納やワークエリアとして使用される。
The
図2はROM21に保存されているサブプロセッサ11のプログラムである。
FIG. 2 shows a program for the
サブプロセッサ11のプログラムは、サブプロセッサ11起動時に1度だけ実行される初期化部分31、特定の動作に依存せず各動作時に共通で実行される各動作共通部分32、特定の動作に依存して実行される各動作固有部分33に分割されている。
The program of the
次に動作について説明する。 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
システム動作中は、メインプロセッサ10が各種回路の制御を行いながら、必要に応じてサブプロセッサ11を起動し、所定の処理をさせ、停止させる行為を繰り返す。例えば、画像処理のようなプロセッサに負荷のかかる処理が必要な場合は、サブプロセッサ11にその処理を行わせ、終了したら停止させる。このようにサブプロセッサ11を制御することで、サブプロセッサ11の動作による消費電力を抑えることができる。
While the system is operating, the
図3は、サブプロセッサ11の起動から停止までのフローチャートである。
FIG. 3 is a flowchart from start to stop of the
メインプロセッサ10は、サブプロセッサ11の起動が1回目かどうかを判定する(ステップS11)。起動1回目の場合(ステップS11のYES)は、ROM21からサブプロセッサプログラムの初期化部分31と各動作共通部分32をロードし、RAM22の所定の領域へ格納する(ステップS12)。この処理において、RAM22へ格納されたサブプロセッサプログラムは、システム動作中変更されることはない。よって起動2回目以降である場合(ステップS11のNO)は、前述の処理は省略されるためサブプロセッサ11の起動処理が短縮される。
The
次に、サブプロセッサ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
サブプロセッサプログラムの動作固有部分を一旦格納したRAM22の領域は、サブプロセッサ11が停止中にメインプロセッサ10が使用することを許可する、また、次回サブプロセッサ起動の動作固有部分ロードの際、上書きを許可することでRAM22を効率的に使用することができ、システムに搭載するRAM22の容量を小さくすることができる。
The area of the
上記説明はサブプロセッサが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 1チップのシステムLSI
10 メインプロセッサ
11 サブプロセッサ
12 ROMコントローラ
13 RAMコントローラ
14 サブプロセッサ制御回路
21 ROM
22 RAM
31 サブプロセッサプログラムの初期化部分
32 サブプロセッサプログラムの各動作共通部分
31 サブプロセッサプログラムの各動作固有部分
1 1-chip system LSI
10
22 RAM
31 Initialization part of
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.
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)
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 |
-
2005
- 2005-09-27 JP JP2005280114A patent/JP2007094528A/en not_active Withdrawn
Cited By (3)
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 | |
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 | |
JP2007206885A (en) | Computer system and system starting method | |
US20060064575A1 (en) | Multi chip system and its boot code fetch method | |
JP2015156205A (en) | Information processing device, and control method therein | |
JP2006020058A (en) | Image forming apparatus | |
JP2007094528A (en) | Method for using memory of multiprocessor system | |
JP2007207074A (en) | Operation system, thread control mechanism and information processor | |
TWI605332B (en) | Method and device for advanced configuration and power interface (acpi) sleep-state support using cpu-only reset | |
US20150317181A1 (en) | Operating system switching method | |
JP4876459B2 (en) | Multiprocessor system, multiprocessor system activation method, and portable terminal | |
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 | |
JP2001256055A (en) | Program download system | |
JP2009301319A (en) | Multiprocessor system | |
JP2005209178A (en) | Memory protection unit, memory protection method, and memory protection program | |
JP2006261996A (en) | Information processor | |
GB2304209A (en) | Starting up a processor 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 |