JP2012137946A - Semiconductor device - Google Patents
Semiconductor device Download PDFInfo
- Publication number
- JP2012137946A JP2012137946A JP2010290025A JP2010290025A JP2012137946A JP 2012137946 A JP2012137946 A JP 2012137946A JP 2010290025 A JP2010290025 A JP 2010290025A JP 2010290025 A JP2010290025 A JP 2010290025A JP 2012137946 A JP2012137946 A JP 2012137946A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- power
- information
- address
- reset
- 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
Images
Abstract
Description
本発明は、半導体装置に係り、特に複数のデータプロセッサを内蔵する大規模集積回路に適用して有効な技術に関する。 The present invention relates to a semiconductor device, and more particularly to a technique effective when applied to a large-scale integrated circuit incorporating a plurality of data processors.
近年、携帯電話機や携帯型ナビゲーション装置、業務用携帯端末等の小型情報機器の高性能化及び多機能化に伴い、画像や音声の圧縮及び伸張等の特定機能を高速で実行するための専用回路モジュール、システムの中核を担うCPU(Central Processing Unit)、及び当該CPUとは異なる命令セットを持つ他品種のCPU等を、同一パッケージ内に複数個内蔵した大規模集積回路(以下、「マルチプロセッサ」とも称する。)の開発が進んでいる。例えば携帯電話用のマルチプロセッサシステムでは、通話やメール送信等のベースバンド処理を主に実行する通信部や動画再生等のための処理を実行するアプリケーション部、及びその他のシステム部等の各処理部は、特定の機能を実現するためのCPUと専用回路モジュールを有しており、全体として複数個のCPUを搭載したマルチプロセッサを構成している。このようなマルチプロセッサシステムでは、特定のCPUを他のCPUを管理するためのマスタCPUとし、それ以外のCPUをスレーブCPUとした構成をとる場合が多い。いずれのCPUをマスタCPUとするかは、例えば最終製品の仕様に合わせて決定され、前述した携帯電話機用のマルチプロセッサシステムの場合は、通信部のCPUがマスタCPUとされ、その他のCPUがスレーブCPUとして構成されるものがあり、その逆とされるものもある。 In recent years, dedicated circuits for high-speed execution of specific functions such as compression and decompression of images and voices in accordance with high performance and multi-functionality of small information devices such as mobile phones, portable navigation devices, and portable terminals for business use. A large-scale integrated circuit (hereinafter referred to as “multiprocessor”) that incorporates multiple modules, CPUs (Central Processing Unit) that play the core role of the system, and other types of CPUs with different instruction sets from the CPU in the same package Also called development). For example, in a multiprocessor system for a mobile phone, each processing unit such as a communication unit that mainly performs baseband processing such as a call or mail transmission, an application unit that executes processing for video playback, and other system units Has a CPU and a dedicated circuit module for realizing a specific function, and constitutes a multiprocessor having a plurality of CPUs as a whole. Such a multiprocessor system often has a configuration in which a specific CPU is a master CPU for managing other CPUs, and other CPUs are slave CPUs. Which CPU is the master CPU is determined according to, for example, the specifications of the final product. In the case of the above-described multiprocessor system for mobile phones, the CPU of the communication unit is the master CPU, and the other CPUs are slaves. Some are configured as CPUs, and some are vice versa.
システム上でマスタとスレーブを切り替える技術の一つとして、例えば特許文献1に開示がある。特許文献1の技術は、複数のデータ信号制御回路のうち、一つのデータ信号制御回路をデータバスの制御権を有するマスタとし、他のデータ信号制御回路をスレーブとした場合において、マスタに不具合が発生したとき、マスタとスレーブを切り替えることでシステムの全面停止を回避する技術である。
One technique for switching between a master and a slave on the system is disclosed in, for example,
ところで、マルチプロセッサシステムを使用する製品開発の初期段階におけるデバッグや専用処理用のソフトウェアの開発において、マスタとされるCPUが固定されていると、そのマスタCPUのブートコードが必要となる。前述の携帯電話機用のマルチプロセッサシステムを用いた製品開発において、例えば製品開発者が過去のソフトウェア資源としてアプリケーション部のCPUに係るブートコードを有しているが、通信部のCPUのブートコードを有していない場合、ブートコードのあるアプリケーション部のCPUから起動させて、その後通信部のCPUを起動させる方が開発は容易となる。しかしながら、マスタCPUが通信部のCPUに固定されていると、当該CPUを他のCPUよりも先に起動させる必要があるので、通信部のCPUのブートコードを新たに開発する必要がある。このことはブートコードの開発コストの増大を招く。 By the way, in the development of software for debugging and dedicated processing in the initial stage of product development using a multiprocessor system, if the CPU as the master is fixed, the boot code of the master CPU is required. In product development using the aforementioned multiprocessor system for mobile phones, for example, a product developer has a boot code related to the CPU of the application unit as a past software resource, but has a boot code of the CPU of the communication unit. If not, development is facilitated by starting from the CPU of the application unit having the boot code and then starting the CPU of the communication unit. However, if the master CPU is fixed to the CPU of the communication unit, it is necessary to start the CPU before other CPUs, so it is necessary to newly develop a boot code for the CPU of the communication unit. This leads to an increase in the boot code development cost.
更には、今後マルチプロセッサの設計開発において、開発コストの低減を図るため、他の製品に流用できるような汎用性の高い半導体製品を開発する必要もある。しかしながら、前述した特許文献1の技術は、システム起動時にどのデータ信号制御回路をマスタに設定するか、どのデータ信号制御回路を先に起動させるか等について考慮されていない。
Furthermore, in future multi-processor design and development, it is necessary to develop a highly versatile semiconductor product that can be used for other products in order to reduce development costs. However, the technique of
本発明の目的は、要求される仕様に対して柔軟に対応できるマルチプロセッサシステムを提供することにある。 An object of the present invention is to provide a multiprocessor system that can flexibly cope with required specifications.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
すなわち、半導体装置は、パワーオンリセットに際して入力される第1情報に基づいて起動させるデータプロセッサを指示する起動指示部と、パワーオンリセットに際して入力される第2情報に基づいてマスタとされるデータプロセッサを指示するマスタ指示部と、パワーオンリセットに際して入力される第3情報又はパワーオンリセット後に起動されたデータプロセッサから設定される第4情報に基づいて、起動が指示されたデータプロセッサが実行するプログラム領域の先頭アドレスの情報を指示するアドレス指示部とを有する。 That is, the semiconductor device includes a start instruction unit for instructing a data processor to be started based on first information input at the time of power-on reset, and a data processor to be a master based on second information input at the time of power-on reset And a program executed by the data processor instructed to start based on the third information input at the time of power-on reset or the fourth information set by the data processor started up after the power-on reset And an address instruction unit for instructing information on the head address of the area.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、本半導体装置によれば、要求仕様に対して柔軟に対応することができる。 That is, according to this semiconductor device, it is possible to flexibly cope with the required specifications.
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. First, an outline of a typical embodiment of the invention disclosed in the present application will be described. Reference numerals in the drawings referred to in parentheses in the outline description of the representative embodiments merely exemplify what are included in the concept of the components to which the reference numerals are attached.
〔1〕(マスタCPUと起動させるCPUを選択可能とする半導体装置)
本発明の代表的な実施の形態に係る半導体装置(10)は、複数のデータプロセッサ(1〜3)と、パワーオンリセットに際して入力される第1情報(720)に基づいて起動させる前記データプロセッサを指示する起動指示部(72)と、パワーオンリセットに際して入力される第2情報(730)に基づいてマスタとされる前記データプロセッサを指示するマスタ指示部(73)と、パワーオンリセットに際して入力される第3情報(740)又はパワーオンリセット後に起動された前記データプロセッサから設定される第4情報(746、751)に基づいて、起動の指示された前記データプロセッサが実行するプログラム領域の先頭アドレスの情報を指示するアドレス指示部(74、75)と、を有する。
[1] (Semiconductor device capable of selecting a master CPU and a CPU to be activated)
A semiconductor device (10) according to a typical embodiment of the present invention includes a plurality of data processors (1 to 3) and the data processor that is activated based on first information (720) input at the time of power-on reset. A start instruction unit (72) for instructing the data processor, a master instruction unit (73) for instructing the data processor to be a master based on the second information (730) input at the time of power-on reset, and an input at the time of power-on reset Of the program area executed by the data processor instructed to start based on the third information (740) to be executed or the fourth information (746, 751) set from the data processor started after the power-on reset. And an address instruction section (74, 75) for instructing address information.
これによれば、開発するシステムの仕様に応じて、起動させるデータプロセッサとマスタとするデータプロセッサを自由に選択することができ、既存のハードウェア資源とソフトウェア資源の有効活用に資する。例えば、起動させるデータプロセッサを選択可能とすることで、そのシステムに必要な前記データプロセッサを選択して使用することが可能となるから、ハードウェア資源を有効活用できる。しかしながら、それだけでは既存のソフトウェア資源を有効することができない場合が多い。そこで、当該半導体装置によれば、パワーオン時のマスタとされるデータプロセッサを選択することができ、且つパワーオンリセットに際しての前記先頭アドレスとパワーオンリセット後の前記先頭アドレスを別々に指示することができるから、例えばパワーオン時にスレーブとして起動させた前記データプロセッサをマスタとして再起動させたり、マスタとして起動させた前記データプロセッサをスレーブとして再起動させたりすることができる。一例として、過去のソフトウェア資産として通常動作時にスレーブとされるCPUのブートコードはあるが、通常動作時にマスタとされるCPUのブートコードがない状況において本半導体装置を適用する場合を考える。この場合、初めに通常時にスレーブとされる前記データプロセッサをマスタとして起動させ、起動した前記データプロセッサにより通常時にマスタとされる前記データプロセッサをスレーブとして起動させる。その後、スレーブとして起動した前記データプロセッサが実行するプログラム領域の先頭アドレスをマスタ用のプログラム領域の先頭アドレスに切り替えることで、スレーブとして起動した前記データプロセッサをマスタとして再起動させることができる。これによれば、本来マスタとして動作する前記データプロセッサのブートコードを新たに開発する必要がなく、既存のソフトウェア資産を有効に活用することができるから、ブートコードの開発コストを抑えることが可能となる。 According to this, it is possible to freely select a data processor to be activated and a data processor as a master according to the specifications of the system to be developed, which contributes to the effective use of existing hardware resources and software resources. For example, by making it possible to select a data processor to be activated, it becomes possible to select and use the data processor necessary for the system, so that hardware resources can be effectively utilized. However, in many cases, existing software resources cannot be used by themselves alone. Therefore, according to the semiconductor device, it is possible to select a data processor to be a master at power-on, and separately designate the head address at the time of power-on reset and the head address after the power-on reset. Therefore, for example, the data processor started as a slave at power-on can be restarted as a master, or the data processor started as a master can be restarted as a slave. As an example, consider a case where the present semiconductor device is applied in a situation where there is a CPU boot code that is a slave during normal operation as a past software asset, but there is no CPU boot code that is a master during normal operation. In this case, first, the data processor that is normally set as a slave is activated as a master, and the activated data processor causes the data processor that is normally set as a master to be activated as a slave. Thereafter, by switching the start address of the program area executed by the data processor activated as the slave to the start address of the master program area, the data processor activated as the slave can be restarted as the master. According to this, it is not necessary to newly develop the boot code of the data processor that originally operates as a master, and the existing software assets can be effectively used, so that the development cost of the boot code can be suppressed. Become.
〔2〕(外部端子により選択可能)
項1の半導体装置において、データが入力される外部端子(P1〜P12)を更に有し、前記第1情報乃至第3情報は、前記外部端子から入力されるデータである。
[2] (Selectable by external terminal)
The semiconductor device according to
これによれば、起動させるデータプロセッサとマスタとするデータプロセッサを容易に選択することができる。 According to this, it is possible to easily select the data processor to be activated and the master data processor.
〔3〕(ヒューズから読み出された値により選択可能)
項1の半導体装置において、データが格納される不揮発性の記憶部を更に有し、前記第1情報乃至第3情報は、前記記憶部から入力されるデータである。
[3] (Selectable by the value read from the fuse)
The semiconductor device according to
これによれば、起動させるデータプロセッサとマスタとするデータプロセッサを容易に選択することができ、且つ外部端子を設ける必要がない。 According to this, it is possible to easily select the data processor to be activated and the master data processor, and it is not necessary to provide an external terminal.
〔4〕(アドレス指示部の動作)
項1乃至3のいずれかの半導体装置において、前記アドレス指示部は、パワーオンリセットに応答して、起動が指示された前記データプロセッサに対し前記第3情報に基づいた前記先頭アドレスを指示し、パワーオンリセット後のシステムリセットに応答して、起動が指示された前記データプロセッサに対し前記第4情報に基づいた前記先頭アドレスを指示する。
[4] (Operation of address instruction unit)
In the semiconductor device according to any one of
これによれば、例えばシステムリセット解除後に実行するプログラムとパワーオンリセット解除後に実行するプログラムとを別々のプログラムとすることができる。 According to this, for example, a program to be executed after canceling the system reset and a program to be executed after canceling the power-on reset can be made different programs.
〔5〕(任意のアドレスが指定可能)
項4の半導体装置において、前記アドレス指示部は、マスタとされる前記データプロセッサにより指定されたアドレス情報が格納される起動アドレス制御部(75)を更に有し、前記第4情報は、前記起動アドレス制御部に格納されたアドレス情報に基づいて前記先頭アドレスを指示することを示す情報を含む。
[5] (Any address can be specified)
In the semiconductor device according to Item 4, the address instruction unit further includes an activation address control unit (75) in which address information specified by the data processor as a master is stored, and the fourth information is the activation It includes information indicating that the head address is designated based on the address information stored in the address control unit.
これによれば、CPUがシステムリセット後に実行するプログラム領域の先頭アドレスを、マスタCPUが指定する任意のアドレスとすることが可能となるから、プログラムマッピングの自由度が増す。 According to this, since the start address of the program area executed by the CPU after the system reset can be set to an arbitrary address designated by the master CPU, the degree of freedom of program mapping is increased.
〔6〕(アドレスは固定)
項4又は5の半導体装置において、前記第4情報は、予め固定されたアドレスを前記先頭アドレスとすることを指示する情報を含む。
[6] (Address is fixed)
In the semiconductor device according to
〔7〕(第4情報が設定されるラッチ回路)
項4乃至6のいずれかの半導体装置において、前記アドレス指示部は、前記第4情報が設定されるラッチ回路(742)を有する。
[7] (Latch circuit in which the fourth information is set)
In the semiconductor device according to any one of Items 4 to 6, the address instruction unit includes a latch circuit (742) in which the fourth information is set.
これによれば、起動された前記データプロセッサが一度前記第4情報を出力すれば、その値が前記ラッチ回路に設定されるから、前記データプロセッサがその都度前記第4情報を出力しなくてもよい。 According to this, once the activated data processor outputs the fourth information, the value is set in the latch circuit, so that the data processor does not need to output the fourth information each time. Good.
〔8〕(電源供給制御)
項1乃至7のいずれかの半導体装置において、前記データプロセッサに供給する電源を管理するための電源制御部(71)を更に有し、前記電源制御部は、前記起動指示部からの指示に基づいて選択した前記データプロセッサへ電源を供給させる。
[8] (Power supply control)
The semiconductor device according to any one of
これによれば、パワーオン時に指定された前記データプロセッサを起動させることが容易となる。 According to this, it becomes easy to start the data processor specified at the time of power-on.
〔9〕(電源遮断制御)
項8の半導体装置において、前記電源制御部は、起動された前記データプロセッサからの指示に基づいて選択した前記データプロセッサへの電源の供給を停止させる。
[9] (Power shutdown control)
In the semiconductor device according to
これによれば、起動させた前記データプロセッサを停止させることができるから、例えば、データプロセッサによる特定の処理が終了した後にそのデータプロセッサの電源供給を停止すれば、電源を落とさないスタンバイ状態に比べてより低消費電力化に資する。 According to this, since the activated data processor can be stopped, for example, if the power supply of the data processor is stopped after the specific processing by the data processor is finished, compared with a standby state in which the power is not turned off. This contributes to lower power consumption.
〔10〕(電源復帰制御)
項8又は9の半導体装置において、前記電源制御部は、起動された前記データプロセッサからの指示に基づいて選択した前記データプロセッサへ電源を供給させる。
[10] (Power recovery control)
In the semiconductor device according to
これによれば、一旦電源の供給を停止した前記データプロセッサを再度動作させることが可能となるとともに、パワーオン時に起動させなかったデータプロセッサを後から起動させることも可能となり、よりシステム開発の自由度が増す。 According to this, it is possible to operate the data processor once the power supply has been stopped, and to start the data processor that was not started at the time of power-on later. The degree increases.
〔11〕(クロック信号の供給と停止)
項1乃至10のいずれかの半導体装置において、起動が指示された前記データプロセッサへのクロック信号の供給を制御するクロック信号制御部(743、76)を更に有し、前記クロック信号制御部は、パワーオンリセットに際して入力される前記第1情報、又はマスタとされる前記データプロセッサからの指示に基づいて選択した前記データプロセッサに対し、クロック信号の供給と停止を制御する。
[11] (Clock signal supply and stop)
Item 12. The semiconductor device according to any one of
これによれば、前記半導体装置の省電力化に資することができ、且つ前記データプロセッサへの電源供給を停止させた場合に比べて動作を再開させるのに要する時間を短縮することができる。例えば前記データプロセッサの動作を停止させるために電源供給を停止させた場合、前記データプロセッサを再動作させるためには再度電源を供給する必要があるが、電源を供給してから電圧が安定するまでに時間を要する場合があり、その分、動作復帰までの時間が増えることになる。それに対して項11の半導体装置によれば、電源供給させた状態でクロック信号の停止と供給を行うから、動作を再開させるのに要する時間を短縮することが可能となる。
According to this, it is possible to contribute to power saving of the semiconductor device, and it is possible to shorten the time required for restarting the operation compared to the case where the power supply to the data processor is stopped. For example, when the power supply is stopped to stop the operation of the data processor, it is necessary to supply the power again to restart the data processor, but until the voltage stabilizes after the power is supplied. It may take time to increase the time until the operation is restored. On the other hand, according to the semiconductor device of
また、項11の半導体装置によれば、起動が指示された前記データプロセッサにのみクロック信号を供給することが可能となり、無駄なクロック信号の供給を抑止することが可能となる。更にパワーオン時に起動させなかった前記データプロセッサをその後に起動させた場合であっても、その起動に応じてクロック信号を供給することが可能となる。
Also, according to the semiconductor device of
〔12〕(クロック信号の供給)
項11の半導体装置において、前記クロック信号制御部は、パワーオンリセットに際して入力される前記第1情報、又はマスタとされる前記データプロセッサからの指示に基づいて選択した前記データプロセッサへクロック信号を供給させる。
[12] (Clock signal supply)
14. The semiconductor device according to
〔13〕(電源状態の管理)
項1乃至12のいずれかの半導体装置において、前記電源制御部は、前記データプロセッサに対する電源供給状態を示す情報が保持される電源管理レジスタを有し、前記電気管理レジスタは、パワーオンリセット解除後は前記第1情報に応じた値が保持され、マスタとされる前記データプロセッサからの電源の供給又は停止に係る指示に応じて値が更新される。
[13] (Power status management)
Item 12. The semiconductor device according to any one of
これによれば、夫々の前記データプロセッサへの電源供給状態を把握することが可能となる。 According to this, it becomes possible to grasp the power supply state to each of the data processors.
〔14〕(アーキテクチャの異なるデータプロセッサ)
項1乃至13のいずれかの半導体装置において、前記複数のデータプロセッサは、アーキテクチャの異なるデータプロセッサを含む。
[14] (Data processors with different architectures)
〔15〕(通信用及び画像処理用のデータプロセッサ)
項1乃至14のいずれかの半導体装置において、前記複数のデータプロセッサは、通信に係るデータ処理を実行するデータプロセッサ(1)と、画像に係るデータ処理を実行するデータプロセッサ(3)とを含む。
[15] (Data processor for communication and image processing)
2.実施の形態の詳細
実施の形態について更に詳述する。
2. Details of Embodiments Embodiments will be further described in detail.
≪マイクロプロセッサ10の構成≫
図1は、本発明に係る半導体装置の一実施の形態として、複数のCPUを内蔵したマイクロプロセッサのブロック図である。同図に示されるマイクロプロセッサ10は、特に制限されないが、公知のCMOS集積回路の製造技術によって1個の単結晶シリコンのような半導体基板に形成されている。マイクロプロセッサ10は、例えば通信機能を備えたカーナビゲーションシステム用のLSIである。
<< Configuration of
FIG. 1 is a block diagram of a microprocessor incorporating a plurality of CPUs as an embodiment of a semiconductor device according to the present invention. The
マイクロプロセッサ10は、複数のCPUを備えたマルチプロセッサを構成する。CPUの数には特に制限はなく、ここでは一例として、マイクロプロセッサ10にはアーキテクチャの異なる3つのCPUがあるものとし、夫々のCPUをCPU1、CPU2、及びCPU3とする。CPU1〜3は、例えば内蔵ROM7、内蔵RAM8、外付けメモリ14、及び周辺回路4〜6とバス15により共通接続される。外付けメモリ14は例えばフラッシュメモリであり、図示されないメモリインターフェース等を介してバス15と接続されている。周辺回路4〜6は、CPU1〜3によって処理条件等の設定等の制御がなされ、CPU1〜3の代わりに特定の処理を実行する専用処理回路である。周辺回路4〜6は、例えばDMAC(Direct Memory Access Controler)や音楽再生のための専用処理回路等である。
The
CPU1〜3は、内蔵ROM7、内蔵RAM8、又は外部メモリ14に格納されたプログラムに基づいて処理を実行する。夫々のCPUは、カーナビゲーションシステムにおける各種データ処理を分担して実行する。例えば、CPU1は主にW−CDMA等の無線アクセス機能に係る処理を実行する通信用のCPUであり、CPU2は主にカーナビゲーションシステムを搭載した自車両の走行情報や地図情報に基づいて自車両の位置情報等を演算するためのCPUであり、CPU3は主に地図情報や前記演算結果等に基づいて地図情報をモニタに描画するための処理を実行する画像処理用のCPUである。マイクロプロセッサ10では、CPU1〜3のうちいずれかのCPUがマスタCPUとされ、その他のCPUはスレーブCPUとされる。マスタCPUはスレーブCPUを自らの管理下に置き、各スレーブCPUにおけるデータ処理の実行及び停止を制御するとともにデータ処理状態の管理等を行う。またマスタCPUは、後述する制御部7の各種レジスタのアクセス権を有し、スレーブCPUの電源供給の制御やクロック信号供給の制御等を行う。
The
CPU1〜3は、プログラム処理の実行主体であるCPUコア部と、そのCPUコア部の代わりに特定の処理を高速で実行するための周辺回路とを有する。例えばCPU1は、CPUコア部11と周辺回路12を備え、周辺回路12はCPUコア部11によって設定された条件に従って特定の処理を実行する。周辺回路12は、例えばベースバンド処理を行う専用回路等である。同様に、CPU2はCPUコア部21と周辺回路22から構成され、CPU3はCPUコア部31と周辺回路32から構成される。周辺回路13は、例えば画像データの圧縮・伸長の処理を行う専用回路等である。また上記CPUコア部11、21、及び31と、周辺回路12、22及び32と、周辺回路4〜6は電源スイッチ16_1〜16_9を備え、後述する制御部7によって電源スイッチ16_1〜16_9のオン・オフが制御されることにより、各回路への電源電圧の供給と停止が制御される。これにより回路毎に独立した電源管理が可能とされる。
The
マイクロプロセッサ10は更に制御部7を有する。制御部7は、マスタCPUや外部端子からの設定により、電源電圧及びクロック信号の供給と停止によるCPU1〜3の起動制御、マスタCPUの選択、及びパワーオンリセット解除後とシステムリセット解除後のプログラム領域の先頭アドレスの指定等の制御を実行する。制御部7は、マイクロプロセッサ10に外部から電源電圧が供給(パワーオン)されると、常時電源が供給される。制御部7は、電源制御部71、起動CPU選択部72、マスタCPU選択部73、リセット制御部74、起動アドレス制御部75、及びクロック制御部76を有する。以下、制御部7の各機能部について詳細に説明する。
The
(1)起動CPU選択部72
起動CPU選択部72は、外部端子P1〜P3から入力された、起動させるCPUを示す情報720に基づいて、マイクロプロセッサ10におけるCPU1〜3のうち起動させるCPUを指示する選択信号722を出力する。具体的には、起動CPU選択部72は内部にラッチ回路(レジスタ)721を有し、パワーオンリセットに際し外部端子P1〜P3から入力された情報720をレジスタ721に保持し、その値に基づいて選択信号722を出力する。これにより、起動するCPUを予め選択することが可能となる。なお、レジスタ721に保持される前記情報720は外部端子P1〜P3から取り込む方法に限られず、例えば、起動させるCPUを示す情報720を格納したプログラムヒューズのような不揮発性の記憶装置をマイクロプロセッサ10に内蔵しておき、パワーオンリセットに際しそのプログラムヒューズから情報720を読み出してレジスタ721に格納してもよい。また、外部端子P1〜P3から入力される情報720は、パワーオンリセットに際してレジスタ721に格納されればよいので、その後は外部端子P1〜P3を他の信号の入出力端子として用いることも可能である。
(1) Activation
The activation
起動するCPUの選択方法の一例を図2及び図3に示す。なお、図2及び図3では説明の便宜上、CPU1とCPU2の2つのCPUがある場合を一例として説明する。 An example of a method for selecting the CPU to be activated is shown in FIGS. 2 and 3, for convenience of explanation, a case where there are two CPUs, CPU1 and CPU2, will be described as an example.
図2は、CPU1とCPU2を起動する場合の説明図である。同図では、例えばマイクロプロセッサ10が実装される基板200に設けられたスイッチ100が外部端子P1〜P3に接続され、当該スイッチから外部端子P1〜P3に入力された情報720により、CPU1とCPU2が起動される場合が示される。同図におけるスイッチ100は、例えば、スイッチオン(ON)のとき外部端子P1〜P3はプルアップとされ、スイッチオフ(OFF)のとき外部端子P1〜P3はプルダウンとされる。
FIG. 2 is an explanatory diagram when the
図3は、CPU2を起動する場合の一例を示す説明図である。同図では、スイッチ100から外部端子P1〜P3に入力された情報720により、CPU2のみが起動される場合が示される。
FIG. 3 is an explanatory diagram showing an example when the
(2)マスタCPU選択部73
マスタCPU選択部73は、外部端子P4〜P6から入力された、マスタとするCPUを示す情報730に基づいて、マイクロプロセッサ10におけるCPU1〜3のうち起動時にマスタとするCPUを指示する選択信号732を出力する。具体的には、マスタCPU選択部73は内部にラッチ回路(レジスタ)731を有し、パワーオンリセットに際し外部端子P4〜P6に入力された情報730をレジスタ731に保持し、その値に基づいて選択信号732を出力する。これにより、マスタとするCPUを予め選択することが可能となる。なお、レジスタ731に保持される前記情報730は外部端子P4〜P6から取り込む方法に限らず、前記情報720と同様にプログラムヒューズから読み出してレジスタ731に格納する方法でもよい。また、外部端子P1〜P3と同様に外部端子P4〜P6もパワーオンリセット後に他の信号の入出力端子として用いることも可能である。
(2) Master
Based on the
起動時にマスタとするCPUの選択方法を図4及び図5に示す。なお、以下に説明する図4〜図7では説明の便宜上、CPU1とCPU2の2つのCPUがある場合を一例として説明する。 A method for selecting a CPU to be a master at the time of startup is shown in FIGS. 4 to 7 described below, as an example, a case where there are two CPUs, CPU1 and CPU2, will be described for convenience of explanation.
図4は、CPU1をマスタとして起動させる場合の説明図である。同図では、例えばマイクロプロセッサ10が実装される基板200に設けられたスイッチ101が外部端子P4〜P6に接続され、当該スイッチから外部端子P4〜P6に入力された情報730により、CPU1がマスタとして起動し、CPU2がスレーブとして起動する場合が示される。スイッチ101は、同図では切り替えスイッチとして表されているが、ここでは例えば、選択されていない外部端子にはロー(Low)の信号が入力され、選択されている外部端子にはハイ(High)が入力されるものとする。
FIG. 4 is an explanatory diagram when the
図5は、CPU3をマスタとして起動させる場合を示す説明図である。同図では、スイッチ101から外部端子P4〜P6に入力された情報730により、CPU2がマスタとして起動され、CPU1がスレーブとして起動される場合が示される。
FIG. 5 is an explanatory diagram showing a case where the
図6〜図9に起動させるCPUとマスタとするCPUの組み合わせの一例を示す。 FIG. 6 to FIG. 9 show an example of a combination of a CPU to be activated and a CPU as a master.
図6は、CPU1及びCPU2を共に起動させ、CPU1をマスタとする場合を示す説明図である。同図では、スイッチ100からCPU1とCPU2の起動を指示する情報720が外部端子P1〜P3に入力され、スイッチ101からCPU1をマスタとすることを指示する情報730が外部端子P4〜P6に入力される。これにより、CPU1はマスタCPUとして起動し、CPU2はスレーブCPUとして起動する。
FIG. 6 is an explanatory diagram showing a case where both the
図7は、CPU1のみを起動させる場合を示す説明図である。同図では、スイッチ100からCPU1のみ起動することを指示する情報720が外部端子P1〜P3に入力される。一方、マスタとされるCPUを指定する情報730は外部端子P4〜P6に入力されない。この場合、起動させるのはCPU1のみであるから、必然的にマスタはCPU1となるため、スイッチ101からの入力はなくてもよい。これによれば、例えばCPU1しか使用しないシステムにおいては、スイッチ101からの入力を受け付ける外部端子P4〜P6は不要となり、マイクロプロセッサ1のチップ面積の低減を図ることができる。
FIG. 7 is an explanatory diagram showing a case where only the
図8は、CPU1〜3を起動させ、そのうちCPU1をマスタとして起動する場合の説明図である。同図では、スイッチ100からCPU1〜3の起動を指示する情報720が外部端子P1〜P3に入力され、スイッチ101からCPU1をマスタとすることを指示する情報730が外部端子P4〜P6に入力される。これにより、CPU1はマスタCPUとして起動し、CPU2及びCPU3はスレーブCPUとして起動する。
FIG. 8 is an explanatory diagram in a case where the
図9は、図8の場合において起動CPU選択部72とマスタCPU選択部73を含めて表した説明図である。同図では、スイッチ100からCPU1〜3の起動を指示する情報720が外部端子P1〜P3に入力され、起動CPU選択部72のラッチ回路721に保持される。起動CPU選択部72は、保持された値に基づいて選択信号722を電源制御部71に与え、選択信号722を受け取った電源制御部71はCPU1〜3に電源を供給する。また、スイッチ101からCPU1をマスタとすることを指示する情報730が外部端子P4〜P6に入力され、マスタCPU選択部73のラッチ回路731に保持される。マスタCPU選択部73は、保持された値に基づいて選択信号732をCPU1に与える。これにより、CPU1はマスタCPUとして起動し、CPU2及びCPU3はスレーブCPUとして起動する。
FIG. 9 is an explanatory diagram including the activation
(3)電源制御部71
電源制御部71は、CPU1〜CPU3、周辺回路4〜6、その他内部回路の電源電圧の供給を制御する。具体的には、各回路に対する電源電圧の遮断、電源電圧の供給、及び電源供給状態のモニタリング等を行う。ここでは、CPU1〜3に対する電源制御に関わる部分を中心に説明する。
(3) Power
The power
図10は、電源制御部71の内部構成の一例を示すブロック図である。同図に示されるように、電源制御部71は、電源管理部711、電源遮断部712、電源復帰部713、電源状態部714、電源領域排他制御部715、及び制御信号生成部716を有する。
FIG. 10 is a block diagram illustrating an example of the internal configuration of the power
電源管理部711は、内部にレジスタ7111を有し、CPU1〜3、周辺回路4〜6、及びその他の回路が夫々存在するチップ上の領域(以下、「電源領域」とも称する。)への電源遮断と電源供給の制御を許可するか否かを示す情報が電源領域毎に当該レジスタに設定される。電源管理部711に対する設定は、マスタCPUにより行われる。例えば、マスタCPUが電源管理部711のレジスタ7111のCPU1に係る電源領域(CPUコア部11及び周辺回路12)を示す部分に“1”を書き込むことによって、CPU1に係る電源領域に対する電源遮断と電源供給の制御は禁止される。
The
電源遮断部712は、内部に備えるレジスタ7121に設定された値に応じて、各電源領域への電源遮断を要求する。電源遮断部712に対する設定はマスタCPUにより行われる。例えば、マスタであるCPU1によりレジスタ7121のCPU3に係る電源領域(CPUコア部31及び周辺回路32)を示す部分に“1”が書き込まれると、電源遮断部712は当該電源領域に対する遮断指示を発行し、電源遮断後、その値を“0”にクリアする。
The power shut-off
電源復帰部713は、内部に備えるレジスタ7131に設定された値に応じて、各電源領域への電源供給の再開を要求する。電源復帰部713に対する設定はマスタCPUにより行われる。例えば、マスタとされるCPU1によりレジスタ7131のCPU3に係る電源領域(CPUコア部31及び周辺回路32)を示す部分に“1”が書き込まれると、電源復帰部713は当該電源領域に対する復帰指示を発行する。そして、電源供給の再開後その値を“0”にクリアする。
The
電源状態部714は、内部にレジスタ7141を有し、当該レジスタに各電源領域の電源供給状態を示す値が設定される。これにより、CPU1〜CPU3の各電源領域の電源状態がモニタリングされる。
The power
電源領域排他制御部715は、内部にレジスタ7151を有し、CPU1〜3の電源領域毎に電源供給の遮断を許可するか否かを示す情報が当該レジスタに設定される。レジスタ7151は、マスタCPU1〜3により設定される。例えばCPU1が処理を実行しているときは、レジスタ7151のCPU1に係る部分に“1”が設定されることで電源供給の遮断を許可しないことが示され、CPU1における処理が完了したときは、レジスタ7151のCPU1に係る部分に“0”が設定されることで電源供給の遮断を許可することが示される。これにより、電源遮断部712から電源遮断の要求が発行された場合であっても、その要求に係るCPUの処理が完了するまでは電源遮断は許可されない。
The power supply area
制御信号生成部716は、前記レジスタ7111、7121、7131、7141、及び7151の設定に応じて電源制御信号700を出力し、各回路の電源スイッチ16_1〜16_7を制御する。更にパワーオン時に起動CPU選択部72からの選択信号722を入力し、当該選択信号722によって指定されたCPU1〜3の電源領域の電源スイッチ16_1〜16_6を制御して電源を供給する。
The
外部電源投入時の電源制御部71による電源制御の流れについて説明する。
A flow of power control by the
図11は、電源投入時のマイクロプロセッサ10の動作の流れを示すフロー図である。
FIG. 11 is a flowchart showing the operation flow of the
外部からマイクロプロセッサ10に電源電圧が供給されると(S101)、後述するリセット制御部74によるパワーオンリセットにより各回路のレジスタ等の値が初期化され、所要のノードの電圧が最適な値となるのを待ってパワーオンリセットが解除される(S102)。パワーオンリセット解除後、外部端子P1〜P12に入力された情報が各ラッチ回路に取り込まれる(S103)。電源制御部71の制御信号生成部716は、起動CPU選択部72からの選択信号722によって指示されたCPUに係る電源領域と、内蔵ROMや内蔵RAM及び周辺回路4〜6に電源供給を行う(S104)。これにより起動されるCPUが動作可能となる。その後、周辺回路4〜6や内蔵RAM9等のリソースの初期化が行われる(S105)。なお、周辺回路4〜6への電源投入は、CPU1〜3が起動した後にソフトウェアによって個別に電源供給を行ってもよい。以上により電源投入時の処理が完了する。
When the power supply voltage is supplied from the outside to the microprocessor 10 (S101), the values of the registers and the like of each circuit are initialized by a power-on reset by the
次にパワーオンリセット後に、電源遮断及び電源復帰を行う場合の制御方法について説明する。ここでは、スレーブとされるCPU2の電源遮断と電源復帰を行う場合を一例として説明する。
Next, a control method in the case where the power is shut off and the power is restored after the power-on reset will be described. Here, a case where the power source of the
図12は、パワーオンリセット後に電源遮断を行う場合の説明図である。 FIG. 12 is an explanatory diagram when the power is shut off after the power-on reset.
同図では、パワーオンに際し、スイッチ100からCPU1〜CPU3の起動を指示する情報720が外部端子P1〜P3に入力され、スイッチ101からCPU1をマスタとすることを指示する情報730が外部端子P4〜P6に入力される。これによりCPU1がマスタCPUとして起動し、CPU2及びCPU3がスレーブCPUとして起動する。この状態において、マスタとされるCPU1が電源遮断部712にアクセスし、電源遮断部712のレジスタ7121の値を、例えば“000”から“010”に書き換えることでCPU2の電源遮断を要求する。これにより、電源遮断部712からCPU2の電源遮断指示が発行され、当該指示を受けた制御信号生成部716が、電源制御信号700によりCPU2の電源供給を停止させる。その後、電源遮断部712のレジスタ7121の値は“000”にリセットされる。
In the figure, when power is turned on,
図13は、上記電源遮断の制御の流れを示すフロー図である。 FIG. 13 is a flowchart showing a flow of control of the power shutdown.
マスタとされるCPU1が所定のプログラムを実行することにより、CPU2の電源供給を停止するための電源遮断処理が開始される(S201)。CPU1は先ず電源状態部714を参照し、CPU2の電源領域の電源供給状態を確認する(S202)。これによりCPU2に電源が供給されていないことが確認された場合には電源遮断処理を終了する(S209)。一方、CPU2に電源が供給されていることが確認された場合には、CPU1は電源管理部711を参照し、CPU2の電源領域の電源制御が許可されているか否かを判別する(S203)。ここでCPU2の電源領域の電源制御が許可されていない場合には、電源遮断処理を終了する(S209)。一方CPU2の電源領域の電源制御が許可されている場合には、CPU1は電源領域排他制御部715を参照し、CPU2の電源遮断が可能な状態であるか否かを判別する(S204)。例えばCPU2がデータ処理中であり電源遮断が許可されていないときは、CPU1は電源遮断が許可されるまで待機する。その後CPU2の電源遮断が許可されたら、CPU1は電源遮断部712を制御するアクセス権を取得し、電源遮断部712のレジスタ7121の値を“000”から“010”に書き換える(S205)。これにより電源遮断部712から電源の遮断指示が発行され、CPU2のパワーダウンのための処理が開始される(S206)。先ずCPU2へのクロック信号の供給が停止され(S207)、その後、制御信号生成部716によりCPU2の電源領域の電源供給が停止される(S208)。以上により、電源遮断処理が終了する(S209)。なお、クロック信号の供給を停止する方法の詳細は後述する。
When the
図14は、パワーオンリセット後に電源復帰を行う場合の説明図である。 FIG. 14 is an explanatory diagram in the case where power is restored after a power-on reset.
同図では、前述した図12及び図13の方法によってCPU2の電源供給を遮断した後に、再度CPU2に電源を供給する場合を一例として示している。この場合において、マスタとされるCPU1が電源復帰部713にアクセスし、レジスタ7131の値を、例えば“000”から“010”に書き換えると、電源復帰部713からCPU2の電源復帰指示が発行される。電源復帰指示を受けた制御信号生成部716は、電源制御信号700によりCPU2に電源を供給する。その後、電源復帰部713のレジスタ7131の値は“000”にリセットされる。
In the figure, as an example, the power supply to the
図15は、上記電源復帰の制御の流れを示すフロー図である。 FIG. 15 is a flowchart showing the flow of control for power recovery.
マスタとされるCPU1が所定のプログラムを実行することにより、CPU2の電源を供給するための電源復帰処理が開始される(S301)。CPU1は電源状態部714を参照し、CPU2の電源領域の電源供給状態を確認する(S302)。CPU2にすでに電源が供給されていることが確認できた場合には電源復帰処理を終了する(S309)。一方、CPU2に電源が供給されていないことが確認できた場合には、CPU1は電源管理部711を参照し、CPU2の電源領域の電源制御が許可されているか否かを判別する(S303)。ここで、CPU2の電源領域の電源制御が許可されていない場合には、電源復帰処理を終了する(S309)。一方、CPU2の電源領域の電源制御が許可されている場合には、CPU1は電源領域排他制御部715を参照し、CPU2の電源の供給が可能な状態であるか否かを判別する(S304)。CPU2の電源供給が許可されていない場合には、CPU1は電源供給が許可されるまで待機する。その後、CPU2の電源供給が許可された場合には、CPU1は電源復帰部713を制御するアクセス権を取得し、電源復帰部713のレジスタ7131の値を“000”から“010”に書き換える(S305)。これにより電源復帰部713から電源の復帰指示が発行され、制御信号生成部716によりCPU2の電源領域に電源が供給される(S306)。その後、CPU2へクロック信号が供給され(S307)、CPU2の電源領域のリセットが解除される(S308)。以上により、電源復帰処理が終了する(S309)。
When the
図16に、本実施の形態に係るマイクロプロセッサ10の比較例として、電源遮断機能を有しないマイクロプロセッサの状態遷移図の一例を示す。同図に示されるように当該マイクロプロセッサには、命令実行状態300、リセット状態301、及びスタンバイ状態302を有する。命令実行状態300は、CPUがプログラム処理を実行している状態である。リセット状態301は、CPUがパワーオンリセットやシステムリセットにより、プログラムカウンタや各種レジスタの値がリセットされる状態である。リセット状態301へはリセット信号の発生により遷移し、リセット信号の解除によりリセット状態301から命令実行状態300に遷移する。スタンバイ状態302は、CPUに電源が供給された状態において、クロック信号の供給が停止されること等によりCPUが動作を停止している状態である。スタンバイ状態302へはスリープ命令の実行等により遷移し、外部からの割り込みやタイマによる割り込みの発生によりスタンバイ状態302から命令実行状態300に遷移する。またリセット信号の発生により、スタンバイ状態302からリセット状態301に遷移する。
FIG. 16 shows an example of a state transition diagram of a microprocessor having no power shut-off function as a comparative example of the
図17に本実施の形態に係るマイクロプロセッサ10の状態遷移図の一例を示す。同図に示されるように、マイクロプロセッサ10は、図16に示される3つの状態に加え、電源遮断状態303を有する。電源遮断状態303は、前述したように電源供給を停止してCPUの動作を停止する状態である。これにより、マイクロプロセッサ10は、電源遮断機能を有しないマルチプロセッサに比べてより低消費電力化に資する。
FIG. 17 shows an example of a state transition diagram of the
(4)クロック制御部76
クロック制御部76は、CPU1〜3に対するクロック信号の供給と停止を制御する。クロック制御部76は、例えばクロックパルス発生回路(CPG)であり、後述するリセット制御部74におけるクロック制御レジスタ743の値に応じて、各CPUに対するクロック信号の供給と停止を制御する。
(4) Clock control unit 76
The clock control unit 76 controls supply and stop of the clock signal to the
(5)リセット制御部74、起動アドレス制御部75
リセット制御部74は、CPU1〜3及び周辺回路4〜6等に対するリセット信号の生成、クロック制御部76を制御することによるクロック信号の供給と停止の制御、及びCPU1〜3が実行するプログラム領域の先頭アドレスの指定等を行う。リセット制御部74は、内部に複数のラッチ回路(レジスタ)を有する。具体的には、リセット制御部74は、起動対象メモリ指定レジスタ741、起動アドレス指定レジスタ742、クロック制御レジスタ743、及びシステムリセット制御レジスタ744を有する。以下、各レジスタ741〜744とそれらを利用したリセット制御部74の動作について詳細に説明する。
(5)
The
起動対象メモリ指定レジスタ741は、パワーオンリセット解除後の各CPU1〜3の実行するプログラムの読み出し先を示すレジスタである。CPU1〜3がパワーオンリセット解除後に実行するプログラムの読み出し先のメモリを指定する情報740が外部端子P7〜P12から入力され、パワーオンリセットに際し、当該情報740が起動対象メモリ指定レジスタ741に格納される。
The activation target
図18は、起動対象メモリ指定レジスタ741の説明図である。図18の(A)に示されるように、起動対象メモリ指定レジスタ741は、CPU1〜3毎に2ビットが割り当てられる。起動対象メモリ指定レジスタ741の設定例が図18の(B)〜(D)に示される。具体的には、図18の(B)に示すように、例えばレジスタ741の値が“00”のときは、パワーオンリセット解除後にCPU1が実行するプログラムの読み出し先のメモリは外部メモリ14とされる。この場合、リセット制御部74は外部メモリ14の所定のアドレスをプログラムの開始アドレスとしてCPU1にアドレス指定745を行う。前記外部メモリ14の所定のアドレスは、例えば外部メモリ14の先頭アドレスである。またレジスタ741の値が“01”のときは読み出し先のメモリは内蔵ROM8とされる。この場合、リセット制御部74は内蔵ROM8の所定のアドレスをプログラムの開始アドレスとしてCPU1にアドレス指定745を行う。前記内蔵ROM8の所定のアドレスは、例えば内蔵ROM8の先頭アドレスである。更にレジスタ741の値が“10”のときは読み出し先のメモリは内蔵RAM9とされる。この場合、リセット制御部74は内蔵RAM9の所定のアドレスをプログラムの開始アドレスとしてCPU1にアドレス指定745を行う。前記内蔵RAM19の所定のアドレスは、例えば内蔵RAM9の先頭アドレスである。上記の例は、CPU2及びCPU3の場合も同様である。
FIG. 18 is an explanatory diagram of the activation target
図19は、起動時の読み出し先のメモリが指定される場合の説明図である。 FIG. 19 is an explanatory diagram when a memory to be read at the time of activation is designated.
同図では、実装基板200上に設置されたスイッチ102が外部端子P7〜P12に接続され、スイッチ102からパワーオンリセット解除後のメモリを指示する情報740が外部端子P7〜P12に入力され、前述のスイッチ101からCPU1をマスタとすることを指示する情報730が外部端子P4〜P6に入力される。同図におけるスイッチ102は、例えば、スイッチオン(ON)のとき外部端子P7〜P12はプルアップとされ、スイッチオフ(OFF)のとき外部端子P7〜P12はプルダウンとされる。これにより、CPU1がマスタCPUとして起動し、CPU2及びCPU3がスレーブCPUとして起動する。また、リセット制御部74のレジスタ741に情報740(“000101”)が取り込まれることにより、CPU1のパワーオンリセット解除後のプログラムの読み出し先のメモリは外部メモリ14とされ、CPU2及びCPU3の読み出し先のメモリは内蔵ROMとされ、各CPU1〜3にアドレス指定745される。
In the figure, the
起動アドレス指定レジスタ742は、マスタCPUにより、システムリセット後の各CPU1〜3の実行するプログラムの読み出し方法を示す情報746が設定されるレジスタである。当該レジスタの値により、パワーオンリセット解除後に実行するプログラムの読み出し先とシステムリセット後に実行するプログラムの読み出し先を別々に設定することが可能となる。具体的には、マスタCPUとして起動したCPUをシステムリセット後にスレーブCPUに切り替える場合等に利用される。例えば、マスタCPUとしての起動プログラムとスレーブCPUとしての起動プログラムを夫々メモリに格納しておき、CPU1にパワーオンリセット解除後はマスタCPUとしての起動プログラムを読み出させ、システムリセット後は当該レジスタ742によりスレーブCPUとしての起動プログラムを読み出させる。これによりマスタとして起動したCPU1をシステムリセット後にスレーブとして動作させることができる。
The activation
図20は、起動アドレス指定レジスタ742の説明図である。図20の(A)に示されるように、起動アドレス指定レジスタ742は、CPU1〜3毎に2ビットが割り当てられ、例えば、パワーオンリセット解除後は、初期値として起動対象メモリ指定レジスタ741の値が設定される。
FIG. 20 is an explanatory diagram of the activation
図20の(B)〜(D)には、起動アドレス指定レジスタ742の設定例が示される。
20B to 20D show setting examples of the activation
図20の(B)の場合において、起動アドレス指定レジスタ742に例えば“11”以外の値が設定された場合、すなわち起動対象メモリ指定レジスタ741の値(初期値)が設定されている場合には、リセット制御部74は、システムリセット後に実行するプログラムの先頭アドレスの変更は行わず、パワーオンリセット後に実行するプログラムの先頭アドレスと同じアドレスをアドレス指定する。例えば、リセット制御部74は、レジスタ742の値が“00”のときは外部メモリ14の先頭アドレスを指定し、レジスタ742の値が“01”のときは内蔵ROM8の先頭アドレスを指定し、“10”のときは内蔵RAM9の先頭アドレスをシステムリセット後に実行するプログラムの先頭アドレスとして指定する。
In the case of FIG. 20B, when a value other than “11”, for example, is set in the activation
一方、レジスタ742に例えば“11”の値が設定された場合には、リセット制御部74は、システムリセット後に実行するプログラムの先頭アドレスをパワーオンリセット解除後に実行するプログラムの先頭アドレスから変更する。具体的には、リセット制御部74は、マスタCPUによって起動アドレス制御部75に設定されたアドレス情報751に基づいて、システムリセット後に実行するプログラムの先頭アドレスを指定する。ここで、システムリセット後に実行するプログラムの先頭アドレスの変更方法について、起動アドレス制御部75の機能とともに詳細に説明する。
On the other hand, when a value of “11”, for example, is set in the
起動アドレス制御部75は、システムリセット後にCPU1〜3が実行するプログラム領域の先頭アドレスを指定するためのアドレス情報751が設定されるレジスタを有する。
The activation
図21は、起動アドレス制御部75の説明図である。図21の(A)に示されるように、システムリセット後の先頭アドレスを指定するためのアドレス情報751がCPU1〜3毎に対応されて設定される。当該アドレス情報751はマスタCPUによって設定される。設定されるアドレス情報751は、例えばシステムリセット後にCPU1〜3が実行するプログラム領域として指定される先頭アドレスの上位ビットの値である。例えば、システムリセット後に実行するプログラムの先頭アドレスとして指定するアドレスが32ビットである場合、そのアドレスの上位20ビット(31ビット〜112ビット)がアドレス情報751として設定される。
FIG. 21 is an explanatory diagram of the activation
リセット制御部74は、起動アドレス指定レジスタ742の所定のCPUに係る部分に“11”が設定された場合、起動アドレス制御部75に設定されたアドレス情報751に基づいてアドレスを生成する。例えば図21の(B)に示されるように、リセット制御部74は、上位20ビットを前記起動アドレス制御部75に設定されたアドレス情報751の値とし、下位12ビット(11ビット〜0ビット)をすべて“0”としたアドレスをシステムリセット後に実行するプログラムの先頭アドレスとして生成し、生成したアドレスを対象とされるCPUに対してアドレス指定754を行う。これにより、マスタCPUが指定したアドレスを先頭アドレスとした新たなプログラムを実行させることが可能となる。なお、パワーオンリセット解除後は、前記アドレス情報751の初期値として全ビットに“0”が設定される。
The
クロック制御レジスタ743は、CPU1〜3へのクロック信号の供給と停止を示すレジスタである。
The clock control register 743 is a register that indicates supply and stop of the clock signal to the
図22は、クロック制御レジスタ743の説明図である。図22の(A)に示されるように、クロック制御レジスタ743はCPU1〜3毎に1ビットが割り当てられる。図22の(B)に示されるように、レジスタ743の値が“0”のとき、リセット制御部74はCPU1へのクロック信号の供給を停止するようにクロック制御部76を制御する。一方、レジスタ743の値が“1”のとき、リセット制御部74はCPU1へのクロック信号を供給するようにクロック制御部76を制御する。CPU2及びCPU3の場合も図22の(C)及び(D)に示されるように、CPU1の場合と同様である。
FIG. 22 is an explanatory diagram of the clock control register 743. As shown in FIG. 22A, the clock control register 743 is assigned 1 bit for each of the
クロック制御レジスタ743は、パワーオンリセット解除後、起動CPU選択部72のレジスタ721の値が初期値として設定される。これにより、起動されるCPUに対してクロック信号が供給され、起動されないCPUに対してはクロック信号が供給されない。パワーオンリセット後は、マスタとされるCPU又はアクセス権が与えられたスレーブCPUによって値が設定される。例えば、スレーブとして動作しているCPU2をスタンバイ状態にする場合、マスタであるCPU1がクロック制御レジスタ743を制御することにより、CPU2に対するクロック信号の供給を停止させる。また、パワーオンリセット後にマスタであるCPU1がスレーブとして起動させたCPU2の起動シーケンスの開始のタイミングを制御する場合、CPU1がクロック制御レジスタ743を制御してCPU2のクロック信号の供給を開始するタイミングを調整する。更に、前述の図13及び図15に示したCPUの電源の遮断処理や電源の復帰処理に際し、当該処理を要求したCPUがクロック制御レジスタ743を制御することにより、処理対象のCPUへのクロック信号の供給及び停止を行う。なお、この場合は、CPUの代わりに電源制御部71の制御信号生成部716が制御レジスタ743を制御してクロック信号の供給と停止を行ってもよい。
In the clock control register 743, after the power-on reset is canceled, the value of the
システムリセット制御レジスタ744は、システムリセットにおけるリセット信号のアサートとネゲートを示すレジスタである。 The system reset control register 744 is a register indicating assertion and negation of a reset signal in system reset.
図23は、システムリセット制御レジスタ744の説明図である。図23の(A)に示されるように、システムリセット制御レジスタ744はCPU1〜3毎に1ビットが割り当てられる。図23の(B)に示されるように、レジスタ744の値が“0”のとき、リセット制御部74はCPU1へのリセット信号をネゲートする。一方、レジスタ744の値が“1”のとき、リセット制御部74はCPU1へのリセット信号をアサートする。リセット信号がアサートされてから一定時間経過後、再びレジスタ744の値が“0”にリセットされ、リセット信号がネゲートされる。CPU2及びCPU3の場合も図23の(C)及び(D)に示されるようにCPU1と同様である。
FIG. 23 is an explanatory diagram of the system reset control register 744. As shown in FIG. 23A, the system reset control register 744 is assigned 1 bit for each of the
システムリセット制御レジスタ744は、パワーオンリセット解除後、初期値として“0”が設定される。パワーオンリセット後は、マスタとされるCPUによって値が設定される。例えば、スレーブとして動作しているCPU2をリセット状態にする場合、マスタであるCPU1がシステムリセット制御レジスタ744を制御することにより、CPU2に対するリセット信号をアサートする。
The system reset control register 744 is set to “0” as an initial value after canceling the power-on reset. After the power-on reset, the value is set by the master CPU. For example, when the
次に、制御部7を利用したマイクロプロセッサ10の動作の一例として、スレーブCPUをマスタCPUに切り替える処理について説明する。
Next, as an example of the operation of the
図24は、スレーブCPUをマスタCPUに切り替える場合の処理の流れの一例を示したフロー図である。同図には、パワーオン時にCPU1がマスタCPUとして起動し、CPU2がスレーブCPUとして起動した状態において、マスタCPUをCPU1からCPU2に切り替える場合の処理を一例として示す。
FIG. 24 is a flowchart illustrating an example of a process flow when the slave CPU is switched to the master CPU. This figure shows, as an example, processing when the
マスタCPUの切り替えに係る処理は、マスタであるCPU1が、CPU2をマスタCPUとするプログラムを実行することにより開始される(S401)。先ず、CPU1は、制御部7における起動アドレス指定レジスタ742と起動アドレス制御部75にアクセスする。すなわち、CPU1は、起動アドレス制御部75の値の有効化のために起動アドレス指定レジスタ742の値を変更し、CPU2がシステムリセット後に実行するプログラムの先頭アドレスを設定するために、起動アドレス制御部75に値を設定する(S402)。例えば、CPU1は起動アドレス指定レジスタ742の値を“11”に変更し、起動アドレス制御部75には、CPU2のマスタCPUとしての起動プログラムの先頭アドレスの上位アドレスをアドレス情報751として設定する。
The processing related to the switching of the master CPU is started when the
次に、CPU1は制御部7における電源状態部714を参照し、CPU1の電源領域の電源供給状態を確認する(S403)。更にCPU1は電源管理部711にアクセスし、CPU1の電源領域の電源制御を許可する(S404)。そして、CPU1は、CPU2に対しCPU1の電源領域の停止を指示する(S405)。指示を受けたCPU2は電源領域排他制御部715を参照し、CPU1の電源遮断が可能な状態であるか否かを判別する(S406)。例えばCPU1がデータ処理中であり電源遮断が許可されていない場合には、CPU2は電源遮断が許可されるまで待機する。その後、CPU1の電源遮断が許可された場合には、CPU2は電源遮断部712を制御するアクセス権を取得し、電源遮断部712のレジスタ7121の値を“000”から“100”に書き換える(S407)。これにより、電源遮断部712から電源の遮断指示が発行されCPU1のパワーダウンのための処理が開始される(S408)。当該処理が開始されると、CPU1へのクロック信号の供給が停止され(S409)、その後、制御信号生成部716によりCPU1の電源領域の電源供給が停止される(S410)。次に、CPU2は制御部7のシステムリセット制御レジスタ744にアクセスし、当該レジスタのCPU2に対応する部分に“1”を設定し、リセット信号をアサートする(S411)。システムリセット後、リセット制御部74は起動対象メモリ指定レジスタ741と起動アドレス指定レジスタ742と起動アドレス制御部75の設定内容に基づいてCPU2に対して実行するプログラムの先頭アドレスを指定する(S412)。ここでは前述したように、ステップ402において起動アドレス指定レジスタ742のCPU2に対応する部分に“11”が設定されているため、リセット制御部74は起動アドレス制御部75のアドレス情報745に基づいて生成したアドレスをCPU2に対しアドレス指定する。アドレス指定745を受けたCPU2は、指定されたアドレスを先頭アドレスとしたプログラムを実行することにより、マスタCPUとして再起動される(S413)。その後、CPU2はCPU1をスレーブとして起動させるか否か判断し(S414)、復帰させる場合には前述の図15で示した処理を実行する(S415)。CPU1を復帰させない場合には、マスタCPUの切り替え処理を完了する(S416)。以上により、マスタCPUの切り替えがなされる。
Next, the
≪マイクロプロセッサ10を適用したシステムの動作例≫
上記マイクロプロセッサ10を、携帯電話機能(インターネットアクセス機能)を備えるカーナビゲーションシステムに適用した場合のシステム全体の動作について説明する。ここでは、上記カーナビゲーションシステムの起動後、周辺の地図情報や交通情報をダウンロードして地図データを描画する場合を一例として、マイクロプロセッサ10による一連の動作を説明する。
<< Operation example of system to which
The operation of the entire system when the
(1)CPU1の単独起動
当該カーナビゲーションシステムは、起動後、地図情報や交通情報等のダウンロードを行うため、CPU1を起動させる。前述したようにCPU1はW−CDMA等の無線アクセス機能を専門に扱うことができるので、カーナビゲーションシステムはCPU1を単独で起動させる。このとき、CPU1はマスタとして起動される。CPU1がマスタとして起動するためには、マスタとして起動するための起動プログラムが必要となる。起動プログラムの格納先は以下である。
(1) Single activation of
図25は、CPU1〜3のマスタ用の起動プログラム(以下、「マスタ用ブートコード」とも称する。)とスレーブ用の起動プログラム(以下、「スレーブ用ブートコード」とも称する。)の格納先の一例を示す説明図である。本説明では、同図に示されるように、CPU1のマスタ用ブートコードは外部メモリ14の先頭アドレスから始まる領域に格納されているものとする。また、CPU1のスレーブ用ブートコードやCPU2及びCPU3のブートコードも同図に示されるように外部メモリ14に格納されているものとする。
FIG. 25 shows an example of a storage location of a master start program (hereinafter also referred to as “master boot code”) and a slave start program (hereinafter also referred to as “slave boot code”) of
CPU1を単独で起動させるための起動時のマイクロプロセッサ10の設定は以下となる。外部端子P1〜P3に接続された起動CPU選択手段としてのスイッチ100からデータ“100”が入力され、外部端子P4〜P6に接続されたマスタCPU選択手段としてのスイッチ101からデータ“100”が入力され、更に外部端子P7〜P12に接続された起動対象メモリ選択手段としてのスイッチ102からデータ“000000”が入力される。これにより、マイクロプロセッサ10のパワーオンリセットに際し、“100”が起動CPU選択部72のレジスタ721に格納され、“100”がマスタCPU選択部73のレジスタ731に格納され、“000000”がリセット制御部74の起動対象メモリ指定レジスタ741に格納されることにより、CPU1がマスタCPUとして起動される。
The setting of the
(2)CPU2の起動
次に前記カーナビゲーションシステムは、簡単な初期起動用画面をモニタに表示するために、CPU1によってCPU2を起動させる。CPU1は、起動アドレス指定レジスタ742と起動アドレス制御部75にアクセスし、これらのレジスタのCPU2に対応する部分に値を設定する。具体的には、CPU1は起動アドレス指定レジスタ742に“00”を設定するとともに、起動アドレス制御部75には図25に示されるCPU2のスレーブ用ブートコードが格納されているメモリ領域の先頭アドレスの情報を設定する。その後、CPU1が電源制御部71の電源復帰部7131をアクセスすることにより、CPU2がスレーブとして起動する。
(2) Activation of
(3)CPU1によるダウンロード開始
前記カーナビゲーションシステムは、周辺地図(ナビゲーション画面用)データや交通情報のデータのダウンロードをCPU1に実行させ、内蔵RAM9や外部メモリ14にダウンロードしたデータを格納させる。
(3) Download Start by
(4)CPU2による演算
前記カーナビゲーションシステムは、当該カーナビゲーションシステムを搭載した自車両の位置を把握するため、CPU2に対し処理を実行させる。具体的には、CPU2はCPU1によりダウンロードされたデータに基づいて自車両の位置情報等を演算により算出する。そしてCPU2は、地図描画用CPUであるCPU3に自車両の位置とその周辺の地図をモニタに描画させるため、自車両の位置付近の地図データを内蔵RAM9又は外付けの共用RAMに展開し、それ以外の地図データ等は外部メモリ14に格納する。その後もCPU2は、自車位置と地図データを監視しながら、必要に応じて自車両の位置情報の算出と地図データの内蔵RAM9又は共用RAMへの展開を行う。
(4) Calculation by
(5)CPU3の起動
前記カーナビゲーションシステムは、データをダウンロードしているとき、CPU1にダウンロード状況を監視させる。そして、ナビゲーション情報をモニタに描画するための地図データ等が十分に取得できた時点で、マスタであるCPU1からCPU3を起動させる。CPU1は先ず、起動アドレス指定レジスタ742と起動アドレス制御部75にアクセスし、これらのレジスタのCPU3に対応する部分に値を設定する。例えば、CPU1は起動アドレス指定レジスタ742に“00”を設定するとともに、起動アドレス制御部75には図25に示されるCPU3のスレーブ用ブートコードが格納されているメモリ領域の先頭アドレスの情報を設定する。その後、CPU1が電源制御部71の電源復帰部7131をアクセスすることにより、CPU3の電源復帰指示がなされ、CPU3がスレーブとして起動する。
(5) Activation of
(6)CPU3によるナビゲーション画面の描画開始
前記カーナビゲーションシステムは、新たに起動したCPU3により、CPU2によりRAMに展開された地図データをモニタに描画させる。このときCPU3は、画像処理用の専用回路である周辺回路6を制御してナビゲーション画面を描画するための処理を実行させてもよい。
(6) Start of Drawing of Navigation Screen by
(7)マスタCPUをCPU1からCPU3に切り替え
前記カーナビゲーションシステムは、CPU1による必要なデータのダウンロードが完了すると、CPU1の電源供給を停止させる。この際、CPU1はマスタCPUとして起動しているため、その他のCPUをマスタとする必要がある。そこで、ダウンロード完了後はカーナビゲーションシステムとしての主な処理が地図データの描画やメディア再生となることから、その処理を主に担うCPU3をマスタとするための処理が実行される。
(7) Switching the master CPU from
先ずCPU1が、起動アドレス指定レジスタ742と起動アドレス制御部75にアクセスし、これらのレジスタのCPU3に対応する部分に値を設定する。具体的には、CPU1は起動アドレス指定レジスタ742に“00”を設定するとともに、起動アドレス制御部75には図25に示されるCPU3のマスタ用ブートコードが格納されているメモリ領域の先頭アドレスの情報を設定する。その後、前述した図24の手順に従って処理が実行されることにより、CPU1は電源供給が停止され、CPU3がマスタCPUとなる。そして、CPU3はマスタCPU選択部73のレジスタ731の値を“100”から“001”に変更し、電源管理部711をはじめとする各種レジスタのアクセス権を取得する。なお、CPU3がマスタCPUに切り替わるための処理実行中は、ナビゲーション画面の描画処理をCPU2によって実行させてもよい。
First, the
(8)CPU1の再起動
前記カーナビゲーションシステムは、ナビゲーション画面の描画処理中は、CPU2により地図データと自車両の位置を計算させ、描画するためのナビゲーション情報が不足しないように監視させる。自車両の移動や周囲の交通状態の変化等により地図データや交通情報等の補充が必要と判断されたら、データの不足が発生する前に、必要なデータをダウンロードさせるためCPU1を再起動させる。CPU1を再起動させるための処理は、マスタCPUであるCPU3に実行させる。
(8) Restart of CPU1 During the navigation screen rendering process, the car navigation system causes the
CPU3は先ず、起動アドレス指定レジスタ742と起動アドレス制御部75にアクセスし、これらのレジスタのCPU1に対応する部分に値を設定する。具体的には、CPU3は起動アドレス指定レジスタ742に“00”を設定するとともに、起動アドレス制御部75には図25に示されるCPU1のスレーブ用ブートコードが格納されているメモリ領域の先頭アドレスの情報を設定する。その後、CPU3が電源制御部71の電源復帰部7131をアクセスすることにより、CPU1がスレーブとして起動する。なお、予めCPU1のスレーブ用の起動コードの設定とCPU1のクロック供給停止の設定を行い、システムリセットを発行した状態にしておき、その後CPU1の起動要求が発行された場合には、クロック制御レジスタ743の設定をクロック停止から供給に書き換えるだけで再起動させることも可能である。
First, the
(9)CPU1によるダウンロード開始とCPU2による演算
前記カーナビゲーションシステムは、CPU3により地図描画を実行させながら、CPU1により周辺地図のデータや交通情報のデータのダウンロードを実行させ、内蔵RAM9や外部メモリ14にダウンロードしたデータを格納させる。そして、上記(4)と同様にCPU2によってダウンロードしたデータを基に自車両の位置情報等を算出させる。
(9) Start of download by
(10)CPU1の電源遮断
前記カーナビゲーションシステムは、不足データ取得後、マスタであるCPU3によりCPU1の電源遮断を実行させる。電源遮断の方法は、前述した図13に示した方法と同様である。
(10) Power-off of CPU1 The said car navigation system makes CPU1 power-off by CPU3 which is a master after acquisition of insufficient data. The method for shutting off the power is the same as the method shown in FIG.
以上、本実施の形態に係るマイクロプロセッサ10によれば、外部端子やプログラムヒューズ等により起動させるCPUとマスタとされるCPUを予め選択することができる。また、パワーオンリセット後にCPUに実行させるプログラムの先頭アドレスとパワーオンリセット後にCPUに実行させるプログラムの先頭アドレスを別々に指示することができるから、例えばパワーオン時にスレーブとして起動させたCPUをマスタとして動作させたり、マスタとして起動させたCPUをスレーブとして動作させたりすることが可能となる。これにより、開発するシステムの仕様に応じて、起動させるデータプロセッサとマスタとするデータプロセッサを自由に選択することができ、既存のハードウェア資源とソフトウェア資源の有効活用に資する。更に、マイクロプロセッサ10の起動後も、起動されたCPUによって選択的にCPUへの電源供給と電源遮断を行うことができる。これにより、電源を落とさないスタンバイ状態に比べてより低消費電力化に資する。
As described above, according to the
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。 Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.
例えば、上記説明ではマイクロプロセッサ10に内蔵されるCPUの数を3つとしたが、CPUの数に応じて各種レジスタのビット数等を変更すれば搭載されるCPUの数に制限はない。また、上記説明ではアーキテクチャが異なるCPUを複数備えるマイクロプロセッサに適用する場合を一例として示したが、同一のアーキテクチャのCPUを複数備えるマイクロプロセッサにも適用可能である。
For example, although the number of CPUs built in the
CPUを起動させるか否かは、電源制御部71により電源を供給するか否かにより行うことを一例として示したが、クロック制御部76によりクロック信号を供給するか否かにより行うことも可能である。これによれば、電源供給を停止させる場合に比べて低消費電力化の面では劣るが、CPUを復帰させるために電源を再投入する場合よりも早く復帰させることができる。
Whether or not to activate the CPU is shown as an example of whether or not power is supplied from the
電源制御部71やリセット制御部74の各種レジスタの設定等をマスタCPUが行うことを一例として示したが、これに限られず、マスタCPUから指示を受けたスレーブCPUが代わりに設定してもよい。例えば電源遮断を行うために電源遮断部712のレジスタにアクセスするのはマスタCPUに限らず、マスタCPUからその指示を受けたスレーブCPUが行ってもよい。
As an example, the setting of various registers of the power
図21に示した起動アドレス制御部75に格納されるアドレス情報751を、CPUが指定する先頭アドレスの上位20ビットの値としたが、これに限られず、先頭アドレスの全ビットの値としてもよい。
The
図24に示したマスタCPUの切り替えに係る処理について、マスタであるCPUがプログラムを実行することで当該処理が開始される場合を一例として示したが、これに限られずマスタとなる予定のスレーブCPUが当該プログラムを実行することで開始させてもよい。 For the process related to the switching of the master CPU shown in FIG. 24, the case where the process is started by the CPU as the master executing the program is shown as an example, but the present invention is not limited to this, and the slave CPU that is scheduled to become the master May be started by executing the program.
起動対象メモリ指定レジスタ741の値をCPU1〜3毎に2ビットとしたが、これに限られず、プログラムを格納している記憶部に応じてビット数を変更してもよい。また、起動アドレス指定レジスタ742のCPU1〜3毎のビット数も2ビットに限られず、システムリセット後のプログラムの先頭アドレスの変更が指示されたか否かの判断ができれば、ビット数は特に限定されない。
Although the value of the activation target
更に、上記説明では、起動アドレス指定レジスタ742の値が“11”以外のときは、システムリセット後のプログラムの先頭アドレスをパワーオンリセット解除後のプログラムの先頭アドレスと同一のアドレスとする場合を一例として示したが、これに限られない。例えば、起動アドレス指定レジスタ742の“11”以外の値とパワーオンリセット解除後のプログラムの先頭アドレスとは異なる別の固定アドレスを対応させておき、リセット制御部74が、その値に応じた固定アドレスをアドレス指定するようにしてもよい。
Furthermore, in the above description, when the value of the activation
10 マイクロプロセッサ
1〜3 CPU
P1〜P12 外部端子
11、21、31 CPUコア部
4〜6、12、22、32 周辺回路
8 内蔵ROM
9 内蔵RAM
14 外部メモリ(フラッシュメモリ)
15 共通バス
16_1〜16_9 電源スイッチ
7 制御部
700 電源制御信号
71 電源制御部
711 電源管理部
712 電源遮断部
713 電源復帰部
714 電源状態部
715 電源領域排他制御部
716 制御信号生成部
7111、7121、7131、7141、7151 レジスタ
72 起動CPU選択部
720 起動させるCPUを示す情報
721 ラッチ回路(レジスタ)
722、732 選択信号
73 マスタCPU選択部
730 マスタとされるCPUを示す情報
731 ラッチ回路(レジスタ)
300 命令実行状態
301 リセット状態
302 スタンバイ状態
303 電源遮断状態
74 リセット制御部
740 パワーオンリセット解除後のプログラムの読み出し先のメモリを示す情報
741 起動対象メモリ指定レジスタ
742 起動アドレス指定レジスタ
743 クロック制御レジスタ
744 システムリセット制御レジスタ
745 アドレス指定
746 システムリセット後のプログラムの読み出し方法を示す情報
75 起動アドレス制御部
751 アドレス情報
76 クロック制御部
10 Microprocessor 1-3 CPU
P1 to P12
9 Built-in RAM
14 External memory (flash memory)
DESCRIPTION OF
722, 732
300
Claims (14)
パワーオンリセットに際して入力される第1情報に基づいて、起動させる前記データプロセッサを指示する起動指示部と、
パワーオンリセットに際して入力される第2情報に基づいて、マスタとされる前記データプロセッサを指示するマスタ指示部と、
パワーオンリセットに際して入力される第3情報、又はパワーオンリセット後に起動された前記データプロセッサから設定される第4情報に基づいて、起動の指示された前記データプロセッサが実行するプログラム領域の先頭アドレスの情報を指示するアドレス指示部と、を有する半導体装置。 Multiple data processors;
An activation instructing unit for instructing the data processor to be activated based on the first information input at the time of power-on reset;
A master instructing unit for instructing the data processor as a master based on the second information input at the time of power-on reset;
Based on the third information input at the time of power-on reset or the fourth information set by the data processor started after the power-on reset, the start address of the program area executed by the data processor instructed to start An address instruction unit for instructing information.
前記第1情報乃至第3情報は、前記外部端子から入力されるデータである、請求項1記載の半導体装置。 It further has an external terminal for inputting data,
The semiconductor device according to claim 1, wherein the first information to the third information are data input from the external terminal.
前記第1情報乃至第3情報は、前記記憶部から入力されるデータである、請求項1記載の半導体装置。 A non-volatile storage unit for storing data;
The semiconductor device according to claim 1, wherein the first information to the third information are data input from the storage unit.
前記第4情報は、前記起動アドレス制御部に格納されたアドレス情報に基づいて前記先頭アドレスを指示することを示す情報を含む、請求項4記載の半導体装置。 The address instruction unit further includes an activation address control unit in which address information designated by the data processor as a master is stored,
The semiconductor device according to claim 4, wherein the fourth information includes information indicating that the start address is designated based on address information stored in the activation address control unit.
前記電源制御部は、前記起動指示部からの指示に基づいて選択した前記データプロセッサへ電源を供給させる、請求項7記載の半導体装置。 A power control unit for managing power supplied to the data processor;
The semiconductor device according to claim 7, wherein the power control unit supplies power to the data processor selected based on an instruction from the start instruction unit.
前記クロック信号制御部は、パワーオンリセットに際して入力される前記第1情報、又はマスタとされる前記データプロセッサからの指示に基づいて選択した前記データプロセッサに対し、クロック信号の供給と停止を制御する、請求項10記載の半導体装置。 A clock signal control unit that controls supply of a clock signal to the data processor instructed to start;
The clock signal control unit controls supply and stop of a clock signal to the data processor selected based on the first information input at the time of power-on reset or an instruction from the data processor as a master. The semiconductor device according to claim 10.
前記電気管理レジスタは、パワーオンリセット解除後は前記第1情報に応じた値が保持され、マスタとされる前記データプロセッサからの電源の供給又は停止に係る指示に応じて値が更新される、請求項11記載の半導体装置。 The power control unit includes a power management register that stores information indicating a power supply state to the data processor;
The power management register holds a value according to the first information after the power-on reset is released, and the value is updated according to an instruction related to supply or stop of power from the data processor as a master. The semiconductor device according to claim 11.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010290025A JP5636276B2 (en) | 2010-12-27 | 2010-12-27 | Semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010290025A JP5636276B2 (en) | 2010-12-27 | 2010-12-27 | Semiconductor device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012137946A true JP2012137946A (en) | 2012-07-19 |
JP5636276B2 JP5636276B2 (en) | 2014-12-03 |
Family
ID=46675307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010290025A Expired - Fee Related JP5636276B2 (en) | 2010-12-27 | 2010-12-27 | Semiconductor device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5636276B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016528593A (en) * | 2014-05-22 | 2016-09-15 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | Apparatus and method for providing configuration data |
JP2017016639A (en) * | 2015-06-27 | 2017-01-19 | インテル・コーポレーション | Hardware apparatuses and methods for performing transactional power management |
JP2019164553A (en) * | 2018-03-19 | 2019-09-26 | 富士ゼロックス株式会社 | Information processor and circuit device |
JP2019185527A (en) * | 2018-04-13 | 2019-10-24 | 株式会社デンソーテン | Microcomputer device and method for controlling microcomputer device |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5487148A (en) * | 1977-12-23 | 1979-07-11 | Nec Corp | Data processing system by multiplex processor |
JPS6375869A (en) * | 1986-09-18 | 1988-04-06 | Fujitsu Ltd | Initialization system for processor |
US5142684A (en) * | 1989-06-23 | 1992-08-25 | Hand Held Products, Inc. | Power conservation in microprocessor controlled devices |
JPH0816534A (en) * | 1994-06-29 | 1996-01-19 | Mitsubishi Electric Corp | Multiprocessor system |
JP2002236527A (en) * | 2001-02-08 | 2002-08-23 | Hitachi Ltd | Multiprocessor system and processor control method |
JP2005085164A (en) * | 2003-09-10 | 2005-03-31 | Sharp Corp | Control method for multiprocessor system, and multiprocessor system |
JP2007328461A (en) * | 2006-06-06 | 2007-12-20 | Matsushita Electric Ind Co Ltd | Asymmetric multiprocessor |
JP2008041059A (en) * | 2006-08-10 | 2008-02-21 | Toshiba Corp | Multiprocessor controller and information processor |
JP2009075910A (en) * | 2007-09-21 | 2009-04-09 | Seiko Epson Corp | Processor switching device, information display device, and multiprocessor system |
-
2010
- 2010-12-27 JP JP2010290025A patent/JP5636276B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5487148A (en) * | 1977-12-23 | 1979-07-11 | Nec Corp | Data processing system by multiplex processor |
JPS6375869A (en) * | 1986-09-18 | 1988-04-06 | Fujitsu Ltd | Initialization system for processor |
US5142684A (en) * | 1989-06-23 | 1992-08-25 | Hand Held Products, Inc. | Power conservation in microprocessor controlled devices |
JPH0816534A (en) * | 1994-06-29 | 1996-01-19 | Mitsubishi Electric Corp | Multiprocessor system |
US5583987A (en) * | 1994-06-29 | 1996-12-10 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for initializing a multiprocessor system while resetting defective CPU's detected during operation thereof |
JP2002236527A (en) * | 2001-02-08 | 2002-08-23 | Hitachi Ltd | Multiprocessor system and processor control method |
JP2005085164A (en) * | 2003-09-10 | 2005-03-31 | Sharp Corp | Control method for multiprocessor system, and multiprocessor system |
JP2007328461A (en) * | 2006-06-06 | 2007-12-20 | Matsushita Electric Ind Co Ltd | Asymmetric multiprocessor |
JP2008041059A (en) * | 2006-08-10 | 2008-02-21 | Toshiba Corp | Multiprocessor controller and information processor |
JP2009075910A (en) * | 2007-09-21 | 2009-04-09 | Seiko Epson Corp | Processor switching device, information display device, and multiprocessor system |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016528593A (en) * | 2014-05-22 | 2016-09-15 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | Apparatus and method for providing configuration data |
JP2017016639A (en) * | 2015-06-27 | 2017-01-19 | インテル・コーポレーション | Hardware apparatuses and methods for performing transactional power management |
KR101804677B1 (en) | 2015-06-27 | 2017-12-04 | 인텔 코포레이션 | Hardware apparatuses and methods to perform transactional power management |
US10768680B2 (en) | 2015-06-27 | 2020-09-08 | Intel Corporation | Hardware apparatuses and methods to perform transactional power management |
JP2019164553A (en) * | 2018-03-19 | 2019-09-26 | 富士ゼロックス株式会社 | Information processor and circuit device |
US11327522B2 (en) | 2018-03-19 | 2022-05-10 | Fujifilm Business Innovation Corp. | Information processing apparatus and circuit device |
JP7087509B2 (en) | 2018-03-19 | 2022-06-21 | 富士フイルムビジネスイノベーション株式会社 | Information processing equipment and circuit equipment |
JP2019185527A (en) * | 2018-04-13 | 2019-10-24 | 株式会社デンソーテン | Microcomputer device and method for controlling microcomputer device |
Also Published As
Publication number | Publication date |
---|---|
JP5636276B2 (en) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5323828B2 (en) | Virtual machine control device, virtual machine control program, and virtual machine control circuit | |
TWI506559B (en) | Dynamic and selective core disablement and reconfiguration in a multi-core processor | |
JP4621113B2 (en) | Semiconductor integrated circuit device | |
JP5610566B2 (en) | Semiconductor device and data processing system | |
JP2004086912A (en) | Apparatus and method for storing and restoring working context | |
JP2007206885A (en) | Computer system and system starting method | |
JP2002215597A (en) | Multiprocessor device | |
JP2014157508A (en) | Arithmetic device, array type arithmetic device and control method thereof, and information processing system | |
US20140013140A1 (en) | Information processing apparatus and computer program product | |
JP5636276B2 (en) | Semiconductor device | |
US9268577B2 (en) | Information processing apparatus | |
JP4421390B2 (en) | Semiconductor integrated circuit | |
JP2008186357A (en) | Data processor | |
JP5622429B2 (en) | Microcomputer | |
JP6047033B2 (en) | LSI and information processing system | |
US20130132659A1 (en) | Microcontroller and method of controlling microcontroller | |
JP5775398B2 (en) | Semiconductor integrated circuit device | |
JP2011013775A (en) | Information-processing device, method for controlling information-processing device, and program | |
US6993674B2 (en) | System LSI architecture and method for controlling the clock of a data processing system through the use of instructions | |
JP2013045382A (en) | Information apparatus | |
JP5783348B2 (en) | Control device, control program, and image forming apparatus | |
JP6396715B2 (en) | Data processing device | |
JP6252799B2 (en) | Arithmetic processing device and control method thereof | |
JP2011013836A (en) | Memory arrangement management device and microprocessor | |
JP2011070290A (en) | Data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130917 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140725 |
|
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: 20141002 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141020 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5636276 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |