JP2008041059A - Multiprocessor controller and information processor - Google Patents

Multiprocessor controller and information processor Download PDF

Info

Publication number
JP2008041059A
JP2008041059A JP2006218466A JP2006218466A JP2008041059A JP 2008041059 A JP2008041059 A JP 2008041059A JP 2006218466 A JP2006218466 A JP 2006218466A JP 2006218466 A JP2006218466 A JP 2006218466A JP 2008041059 A JP2008041059 A JP 2008041059A
Authority
JP
Japan
Prior art keywords
processor
reset
mask
setting means
address information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006218466A
Other languages
Japanese (ja)
Inventor
Masaaki Ikuta
正明 生田
Susumu Yamazaki
山崎  進
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006218466A priority Critical patent/JP2008041059A/en
Publication of JP2008041059A publication Critical patent/JP2008041059A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a controller which intermediates a reset operation between processors of an information processor comprised of multiprocessors. <P>SOLUTION: This processor controller has: first mask setting means in which whether or not to mask reset release instructions for instructing starting of processors also from other processors during reset of the processors; first default setting means for setting any one of the first mask setting means so as not to mask the reset release instructions when the whole device is in a reset state; second mask setting means in which whether or not to mask a reset instruction for instructing reset of peripheral devices are set from other processors and a processor controller which resets the peripheral devices to reset instructions from the respective processors based on results after being masked by the second mask setting means. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、マルチプロセッサの制御装置に関し、特にプロセッサと周辺装置のリセット制御に関する。   The present invention relates to a multiprocessor control device, and more particularly to reset control of a processor and peripheral devices.

近年の家電製品などではマルチメディア化が進み、より高度な処理能力が要求されるようになってきた。現在の製造技術でこれを補うために、一つの装置内に複数(マルチ)のプロセッサを搭載する情報処理装置が提案されている。   In recent home appliances and the like, multimedia processing has progressed, and higher processing power has been demanded. In order to compensate for this with the current manufacturing technology, an information processing apparatus in which a plurality of (multi) processors are mounted in one apparatus has been proposed.

しかしながら、周辺装置を扱う際の各プロセッサ間の調停など考慮すべき課題も多い。   However, there are many issues to consider such as arbitration between processors when handling peripheral devices.

たとえば読み込むブート用のプログラムコードを適宜入れ替えスレーブプロセッサの立ち上げを制御する方法が提案されている(特許文献1を参照)。
特開平8−161283号公報
For example, a method for controlling the startup of a slave processor by appropriately replacing boot program code to be read has been proposed (see Patent Document 1).
JP-A-8-161283

情報処理装置をマルチプロセッサとすることで、現行のプロセッサを用いながらも処理能力を高めることができる。   By using a multiprocessor as the information processing apparatus, it is possible to increase the processing capability while using the current processor.

しかしながら、たとえば情報処理装置のリセットをする場合、複数のプロセッサが勝手なタイミングで周辺装置をリセット及び再設定したのでは全体として正常な動作が行われない。 However, for example, when resetting the information processing apparatus, if a plurality of processors reset and reset peripheral devices at their own timing, normal operation is not performed as a whole.

本発明は上記問題に鑑みてなされたもので、マルチプロセッサで構成された情報処理装置のプロセッサ間のリセット動作を調停する制御装置を提供することを目的とする。   The present invention has been made in view of the above problems, and an object of the present invention is to provide a control device that arbitrates a reset operation between processors of an information processing device configured by a multiprocessor.

本発明にかかるプロセッサ制御装置とすれば、周辺装置を共有する複数のプロセッサ間を制御する装置であって、プロセッサ毎に設けられ、該プロセッサのリセット中、その起動を指示するリセット解除指示をマスクするか否かを、該他のプロセッサからも設定可能な第1のマスク設定手段と、前記装置全体がリセット状態にあるとき、前記第1のマスク設定手段のうちいずれか1つのマスク設定手段をマスクしないように設定する第1の初期設定手段と、プロセッサ毎に設けられ、該プロセッサが前記周辺装置のリセットを指示するためのリセット指示をマスクするか否かを、他のプロセッサからも設定可能な第2のマスク設定手段と、前記装置全体がリセット状態にあるとき、マスクしないように全ての前記第2のマスク設定手段を設定する第2の初期設定手段と、各プロセッサが指示する、前記第2のマスク設定手段でマスクされた後のリセット指示に基づいて、前記周辺装置に指示するリセット指示を生成する周辺装置リセット手段とを備えたことを特徴とするプロセッサ制御装置が提供される。   The processor control device according to the present invention is a device for controlling a plurality of processors sharing a peripheral device, provided for each processor, and masking a reset release instruction for instructing activation of the processor during reset. A first mask setting means capable of setting whether or not to perform from another processor, and when the entire apparatus is in a reset state, any one of the first mask setting means is provided. First initialization means for setting so as not to mask, and provided for each processor, whether or not the processor masks a reset instruction for instructing reset of the peripheral device can also be set from other processors Second mask setting means and all the second mask setting means not to mask when the entire apparatus is in a reset state. Second initial setting means, and peripheral device reset means for generating a reset instruction instructing the peripheral device based on a reset instruction instructed by each processor and masked by the second mask setting means A processor control device is provided.

また、本発明にかかる情報処理装置とすれば、複数のプロセッサと、前記プロセッサが共有する周辺装置と、プロセッサ毎に設けられ、該プロセッサのリセット後、その再起動を指示するリセット解除指示をマスクするか否かを、該他のプロセッサからも設定可能な第1のマスク設定手段と、全体がリセット状態にあるとき、前記第1のマスク設定手段のうちいずれか1つのマスク設定手段をマスクしないように設定する第1の初期設定手段と、プロセッサ毎に設けられ、該プロセッサが前記周辺装置のリセットを指示するためのリセット指示をマスクするか否かを、他のプロセッサからも設定可能な第2のマスク設定手段と、全体がリセット状態にあるとき、マスクしないように全ての前記第2のマスク設定手段を設定する第2の初期設定手段と、各プロセッサが指示する、前記第2のマスク設定手段でマスクされた後のリセット指示に基づいて、前記周辺装置に指示するリセット指示を生成する周辺装置リセット手段とを備えたことを特徴とする情報処理装置が提供される。   Further, according to the information processing apparatus of the present invention, a plurality of processors, peripheral devices shared by the processors, and a processor are provided for each processor. The first mask setting means that can also be set by other processors and whether the mask setting means is masked when one of the first mask setting means is in the reset state. A first initial setting means for setting the processor and each processor, and whether the processor masks a reset instruction for instructing the reset of the peripheral device can be set from another processor. 2 mask setting means and a second initial setting for setting all the second mask setting means not to mask when the whole is in a reset state And a peripheral device reset means for generating a reset instruction for instructing the peripheral device based on the reset instruction after being masked by the second mask setting means, which is instructed by each processor. An information processing apparatus is provided.

本発明によれば、マルチプロセッサで構成された情報処理装置のプロセッサ間のリセット動作を調停する制御装置を提供することで、マルチプロセッサ構成の情報処理装置を実現できる。   ADVANTAGE OF THE INVENTION According to this invention, the information processing apparatus of a multiprocessor structure is realizable by providing the control apparatus which arbitrates the reset operation between the processors of the information processing apparatus comprised by the multiprocessor.

図1は、本実施形態にかかる情報処理装置のブロック図の一例を示す図である。図1では、情報処理装置100、CPU0101、CPU1102、ブートアドレス変換部103、内部バス104、周辺装置部105、CPUリセット部106、周辺装置リセット部107及びデバッガ108が示されている。   FIG. 1 is a diagram illustrating an example of a block diagram of the information processing apparatus according to the present embodiment. In FIG. 1, an information processing apparatus 100, a CPU 0101, a CPU 1102, a boot address conversion unit 103, an internal bus 104, a peripheral device unit 105, a CPU reset unit 106, a peripheral device reset unit 107, and a debugger 108 are shown.

情報処理装置100は、たとえばパーソナルコンピュータ(PC)やテレビ、ビデオといった家電製品などに相当する。複数のCPU(Central Processing Unit)を内蔵し、あらかじめ記述されたプログラムコード(図示しない)を実行することで所定の処理を実現するように構成されている。   The information processing apparatus 100 corresponds to, for example, a home appliance such as a personal computer (PC), a television, or a video. A plurality of CPUs (Central Processing Units) are incorporated, and a predetermined process is realized by executing a program code (not shown) described in advance.

CPU0101及びCPU1102は、情報処理装置100に内蔵されたCPUであり、プログラムコードに従い情報処理装置100を制御する。本実施形態のCPU0101CPU1102は構成として同等のインタフェースを有し、どちらも情報処理装置100内のマスタプロセッサになることができる。このときマスタプロセッサとなったCPUのもう一方はスレーブプロセッサとなる。   The CPU 0101 and the CPU 1102 are CPUs built in the information processing apparatus 100 and control the information processing apparatus 100 according to the program code. The CPU 0101 and CPU 1102 of this embodiment have equivalent interfaces as configurations, and both can be master processors in the information processing apparatus 100. At this time, the other CPU which has become the master processor becomes a slave processor.

ブートアドレス変換部103は、CPU0101及びCPU1102のそれぞれ別個に設けられた、それぞれのCPUのブート時にそのCPUがプログラムコード(ブートコード)を読み出そうとするアドレスを変換する機能を有する。通常、CPUはリセット直後にはメモリ上のあらかじめ決まったアドレス(ブートアドレス)に記憶されたプログラムコードを自動的に読み出して、立ち上げプロセスを実行するように構成されている。このCPUの利用者は、リセット時にCPUに行わせたい処理を記述したブートコードを、そのブートアドレスに割り当てておくことで所望の動作をさせることができる。本実施形態のブートアドレス変換部103は、複数のCPUそれぞれで異なるブートコードを処理させたい場合に用いられる。   The boot address conversion unit 103 has a function that is provided separately for each of the CPU 0101 and the CPU 1102 and converts an address at which the CPU tries to read a program code (boot code) when each CPU is booted. Usually, the CPU is configured to automatically read out the program code stored at a predetermined address (boot address) on the memory immediately after resetting and execute the startup process. A user of this CPU can perform a desired operation by assigning a boot code describing a process to be performed by the CPU at the time of resetting to the boot address. The boot address conversion unit 103 of this embodiment is used when it is desired to process different boot codes for each of a plurality of CPUs.

内部バス104は、CPU0101やCPU1102と情報処理装置100内の構成モジュール間の通信を実現するバスである。   The internal bus 104 is a bus that realizes communication between the CPU 0101 or the CPU 1102 and the component modules in the information processing apparatus 100.

周辺装置部105は、たとえば磁気ディスク装置(HDD)やメモリなどの記憶装置や、ディスプレイ、キーボード、マウスなどの入出力装置に相当する。そしてこれらの装置はリセットが入力されると初期状態にリセットされる装置を想定している。リセット後に初期状態になると、CPUから改めてネゴシエーションや使用時の設定が行われてはじめて所望の使用状態にすることができる。情報処理装置100の全体もしくは一部分をLSI(Large Scale Integration)で実現する場合は、外部装置105の制御用回路等に内蔵されるCPUがこれを行う。   The peripheral device unit 105 corresponds to a storage device such as a magnetic disk device (HDD) or a memory, and an input / output device such as a display, a keyboard, or a mouse. These devices are assumed to be reset to an initial state when a reset is input. When the initial state is obtained after resetting, the CPU can be brought into a desired use state only after negotiation and setting for use are performed again by the CPU. When the whole or a part of the information processing apparatus 100 is realized by LSI (Large Scale Integration), a CPU built in a control circuit or the like of the external apparatus 105 performs this.

CPUリセット部106は、CPU0101及びCPU1102を選択的、あるいは同時にリセットする機能を有する。   The CPU reset unit 106 has a function of selectively or simultaneously resetting the CPU 0101 and the CPU 1102.

周辺装置リセット部107は、外部またはCPUからのリセット入力に基づいて周辺装置部105をリセットする機能を有する。   The peripheral device reset unit 107 has a function of resetting the peripheral device unit 105 based on a reset input from the outside or the CPU.

デバッガ108は、情報処理装置100の動作検証(デバッグ)の際に検証を支援するための装置である。情報処理装置100の通常の使用状態では必要としない。デバッガ108は、デバッグ時CPU0101、CPU1102に対し所定の指示を与える機能を有する。   The debugger 108 is a device for supporting verification during operation verification (debugging) of the information processing apparatus 100. This is not necessary in the normal use state of the information processing apparatus 100. The debugger 108 has a function of giving a predetermined instruction to the CPU 0101 and CPU 1102 during debugging.

図2は、本実施形態にかかるCPUリセット部106の回路図の一例を示す図である。図2ではマスタCPU選択入力とCPUリセット入力とから、CPU0リセット信号とCPU1リセット信号を生成する。ここでCPU0及びCPU1のリセットは、"L"信号がアサート(assert)、"H"信号がネゲート(negate)となっていることが前提となる。つまりリセット入力が"H"から"L"になるとリセットされ、その後この入力が"H"になることでリセット状態が解除され所定の立ち上げ動作が開始される。   FIG. 2 is a diagram illustrating an example of a circuit diagram of the CPU reset unit 106 according to the present embodiment. In FIG. 2, a CPU0 reset signal and a CPU1 reset signal are generated from a master CPU selection input and a CPU reset input. Here, the reset of CPU0 and CPU1 is based on the premise that the “L” signal is asserted and the “H” signal is negated. That is, when the reset input is changed from “H” to “L”, the reset is reset, and thereafter, this input is changed to “H” to release the reset state and start a predetermined start-up operation.

図中、FF200は入力に応じて出力をプリセットするリセット入力を備え、またCPU0101やCPU1102など複数のCPUから出力値を設定することが可能なフリップフロップ(Flip-Flop)である。CPUから出力値を設定するには、専用の命令を用いることで出力値が変化するCPUの信号線を接続する方法、あるいは内部バス104上で特定のアドレスを割り当て、その割り当てたアドレスへのアクセスをトリガにして値を設定する方法などが考えられる。ANDゲート201は、両方の入力が"H "のときだけ出力が"H"になる回路を示している。NOTゲート202は入力反転を示し、これは入力信号を反転出力するように機能する。 In the figure, an FF 200 is a flip-flop that has a reset input that presets an output according to an input, and that can set output values from a plurality of CPUs such as a CPU 0101 and a CPU 1102. To set the output value from the CPU, connect the signal line of the CPU whose output value changes by using a dedicated instruction, or assign a specific address on the internal bus 104, and access the assigned address A method of setting a value using as a trigger is conceivable. The AND gate 201 shows a circuit in which the output becomes “H” only when both inputs are “H”. NOT gate 202 exhibits input inversion, which functions to invert the input signal.

以下、動作の詳細を説明する。   Details of the operation will be described below.

マスタCPU選択入力はCPU0101あるいはCPU1102のどちらかをマスタプロセッサとするかを指示する入力である。この入力は2つのFF200に入力されるが、その一方にはNOTゲート202を介して伝達されるため、たとえば、この入力が"H"ならばCPU0101が、"L"ならばCPU1102がマスタプロセッサとなることを指示するように選択的に機能させることができる。     The master CPU selection input is an input for instructing which of CPU 0101 and CPU 1102 is the master processor. Since this input is input to two FFs 200, one of them is transmitted via the NOT gate 202. For example, if this input is "H", the CPU 0101 is the master processor, and if this input is "L", the CPU 1102 is the master processor. Can be selectively functioning to indicate that

マスタCPU選択入力が"H"、CPUリセット入力が"H"(ネゲート)のときを考える。CPU0リセット側について考えると、FF200は"H"が入力されることから"H"がANDゲート201に出力される。ANDゲート201の入力はそれぞれ"H"と"H"であるから"H"を出力する。この場合CPU0リセットはネゲート状態である。一方、CPU1リセット側は"L"となりアサート状態となる。   Consider the case where the master CPU selection input is "H" and the CPU reset input is "H" (negate). Considering the CPU0 reset side, since “H” is input to the FF 200, “H” is output to the AND gate 201. Since the inputs of the AND gate 201 are “H” and “H”, respectively, “H” is output. In this case, CPU0 reset is negated. On the other hand, the CPU1 reset side becomes “L” and is asserted.

このときCPUリセットをすべく、CPUリセット入力を"H"から"L"(アサート)に落とすと、FF200の出力する値はマスタCPU選択入力に基づく値にリセットされる。この場合であってもFF200が出力する値に関わらずCPU0リセットは"H"から"L"に、CPU1リセットは"L"を維持する。暫時の後、CPUリセット入力が"L"から"H"(ネゲート)になると、CPU0リセットは"L"から"H"(ネゲート)になるものの、CPU1側のFF200は"L"であるからCPU1リセットは"L"(アサート)のままにすることができる。   At this time, if the CPU reset input is dropped from "H" to "L" (asserted) to reset the CPU, the value output from the FF 200 is reset to a value based on the master CPU selection input. Even in this case, regardless of the value output by the FF 200, the CPU0 reset is maintained from "H" to "L", and the CPU1 reset is maintained at "L". After a while, when the CPU reset input changes from "L" to "H" (Negate), CPU0 reset changes from "L" to "H" (Negate), but the FF200 on the CPU1 side is "L". Reset can be left "L" (asserted).

マスタCPU選択入力の値を"L"としたときにはCPU0リセット、CPU1リセット信号の遷移の仕方が入れ替わる。   When the value of the master CPU selection input is “L”, the transition of the CPU0 reset and CPU1 reset signal transitions.

CPUリセット入力がネゲートされたときに、CPUリセット入力がネゲートされる側のCPUをマスタプロセッサとし、マスタプロセッサが然るべきタイミングでスレーブプロセッサ側のCPUに対応するFF200の出力値を"H"に書き換えれば、スレーブプロセッサの立ち上げタイミングをマスタプロセッサが自由に制御することが可能となる。   When the CPU reset input is negated, the CPU on which the CPU reset input is negated is the master processor, and the master processor rewrites the output value of the FF 200 corresponding to the CPU on the slave processor side to “H” at an appropriate timing. The master processor can freely control the startup timing of the slave processor.

このように構成すると、マスタプロセッサがスレーブプロセッサの立ち上げを任意の時期までマスクすることができる。 With this configuration, the master processor can mask the startup of the slave processor until an arbitrary time.

図3は、本実施形態にかかる周辺装置リセット部107の回路図の一例を示す図である。図3には、FF300、ORゲート301及びANDゲート302が示されている。   FIG. 3 is a diagram illustrating an example of a circuit diagram of the peripheral device reset unit 107 according to the present embodiment. FIG. 3 shows an FF 300, an OR gate 301, and an AND gate 302.

FF300は、先のFF200と同様、入力に応じて出力をプリセットするリセット入力を備えた、CPU0101やCPU1102など複数のCPUから出力値を設定することもできるフリップフロップ(Flip-Flop)である。ここでCPU0側のFF300と、CPU1側のFF300はそれぞれ別の出力値を設定可能である。ORゲート301は、どちらかの入力が"H"になると"H"を出力する回路を示している。ANDゲート302は、全ての入力が"H "のときだけ出力が"H"になる回路を示している。   The FF 300 is a flip-flop (Flip-Flop) that can set an output value from a plurality of CPUs such as the CPU 0101 and the CPU 1102 and has a reset input that presets an output according to the input, as in the previous FF 200. Here, different output values can be set for the FF 300 on the CPU0 side and the FF300 on the CPU1 side. The OR gate 301 is a circuit that outputs “H” when either input becomes “H”. The AND gate 302 shows a circuit in which the output becomes “H” only when all the inputs are “H”.

CPUリセット入力、コールドリセット入力の両方が"H"(ネゲート)の場合を考える。このときFF300は初期値が"L"、CPU0、CPU1からの信号は"H"(ネゲート)であると仮定する。   Consider the case where both the CPU reset input and cold reset input are "H" (negate). At this time, it is assumed that the initial value of FF300 is “L” and the signals from CPU0 and CPU1 are “H” (negate).

FF300の出力は"L"、CPU0またはCPU1からの信号は"H"であるため、ORゲート301は"H"となる。よってAND302の入力は全て"H"であるから周辺装置部リセットは"H"(ネゲート)となっている。   Since the output of the FF 300 is “L” and the signal from the CPU 0 or CPU 1 is “H”, the OR gate 301 becomes “H”. Therefore, since all inputs of the AND 302 are “H”, the peripheral device unit reset is “H” (negate).

CPUリセット入力が"H"から"L"(アサート)に落ちると、ANDゲート302の1つの入力が"L"となるため周辺装置部リセットは"L"、つまり周辺装置部105のリセットがアサート状態となる。暫時の後、CPUリセット入力が"L"から"H"(ネゲート)になると、周辺装置部105は初期状態で立ち上がる。   When the CPU reset input falls from “H” to “L” (asserted), one input of the AND gate 302 becomes “L”, so the peripheral device reset is “L”, that is, the peripheral device 105 is asserted. It becomes a state. When the CPU reset input changes from “L” to “H” (negate) after a while, the peripheral device unit 105 starts up in an initial state.

CPU0、CPU1からORゲート301に入っている信号は、各CPUがこの信号を"H"から"L"(アサート)にすることで、周辺装置部105をリセットすることを可能とする信号である。このときFF300の出力を"H"に設定すれば、そのFF300が割り当てられたCPUから周辺装置部105のリセットがアサートされてもORゲート301の出力は"H"(ネゲート)を維持する。よって所定のCPUからのリセット指示を他のCPUからマスクすることができる。   The signals entered from the CPU 0 and CPU 1 into the OR gate 301 are signals that enable each CPU to reset the peripheral device unit 105 by changing this signal from “H” to “L” (asserted). . At this time, if the output of the FF 300 is set to “H”, the output of the OR gate 301 maintains “H” (negate) even if the reset of the peripheral device unit 105 is asserted by the CPU to which the FF 300 is assigned. Therefore, a reset instruction from a predetermined CPU can be masked from another CPU.

コールドリセット入力が"H"から"L"(アサート)になると、FF300は設定された値に関わらず初期値"L"を出力するようにリセットされ、上記マスク状態は解除される。   When the cold reset input changes from “H” to “L” (asserted), the FF 300 is reset to output the initial value “L” regardless of the set value, and the mask state is released.

このように構成すると各CPUで共有する周辺装置部105のリセットをCPU毎に指示あるいはマスク制御することができる。   With this configuration, it is possible to instruct or mask-control the reset of the peripheral device unit 105 shared by each CPU for each CPU.

図4は、本実施形態にかかるブートアドレス変換部103のブロック図の一例を示す図である。ブートアドレス変換部103はCPU毎に設けられている。他のCPUでも同様な構成となるため、図4ではCPU0101に割り当てられたブートアドレス変換部103についてのみ説明している。比較器400、ブートアドレス変換情報設定レジスタ401、変換器402及びマルチプレクサ403が示されている。   FIG. 4 is a diagram illustrating an example of a block diagram of the boot address conversion unit 103 according to the present embodiment. The boot address conversion unit 103 is provided for each CPU. Since other CPUs have the same configuration, only the boot address conversion unit 103 assigned to the CPU 0101 is described in FIG. A comparator 400, a boot address conversion information setting register 401, a converter 402, and a multiplexer 403 are shown.

比較器400は、CPU0101が周辺装置部105をアクセスするために出力したアドレス情報を入力とし、そのアドレスがブートアドレス領域に含まれるか否かを比較する機能を有する。ここでいうブートアドレスにはある程度のサイズ(たとえば4MBなど)に渡ってブートアドレス領域と判断するようにしても良い。   The comparator 400 has a function of receiving address information output for the CPU 0101 to access the peripheral device unit 105 and comparing whether or not the address is included in the boot address area. The boot address here may be determined as a boot address area over a certain size (for example, 4 MB).

ブートアドレス変換情報設定レジスタ401は、CPUの設計上設定された本来のブートアドレスを変換するための情報を保持するレジスタである。初期値は変換後のアドレスが元のアドレスと同じ値になるように設定される。ここでいう初期値はアドレス変換の方法により異なるが、たとえば元のブートアドレスの該当ビットと同じビット列や、全ビットがゼロとなっている値などが考えられる。このレジスタは各CPUが他のCPUに割り当てられたレジスタを含め自由に設定することができる。   The boot address conversion information setting register 401 is a register that holds information for converting the original boot address set in the design of the CPU. The initial value is set so that the converted address is the same as the original address. The initial value here varies depending on the method of address conversion, but for example, the same bit string as the corresponding bit of the original boot address or a value in which all bits are zero can be considered. This register can be freely set by each CPU including registers assigned to other CPUs.

変換器402は、CPU0101が出力するアドレスをブートアドレス変換情報設定レジスタ401に保持したアドレス情報に基づいて変換する機能を有する。アドレス変換の方法は、たとえばアドレスの上位ビットの一部をレジスタに保持したアドレス情報に置換する方法や、そのアドレス情報の値と加算する方法などが考えられる。   The converter 402 has a function of converting the address output from the CPU 0101 based on the address information held in the boot address conversion information setting register 401. As a method of address conversion, for example, a method of replacing a part of the upper bits of the address with address information held in a register, a method of adding the value of the address information, or the like can be considered.

マルチプレクサ403は、比較器400からの信号に従ってCPU0が出力するアドレス情報か、変換器402が出力するアドレス情報のどちらかを選択し、アドレスバスに送出する機能を有する。このアドレス情報の選択は、比較器400がブートアドレスであると判断した場合には変換器402が出力する値を、それ以外の場合にはCPU0の出力するアドレス情報を選択するように構成される。   The multiplexer 403 has a function of selecting either address information output from the CPU 0 or address information output from the converter 402 in accordance with a signal from the comparator 400 and sending it to the address bus. This selection of address information is configured to select a value output from the converter 402 when the comparator 400 determines that it is a boot address, and to select address information output from the CPU 0 in other cases. .

情報処理装置100の立ち上げ初期の段階ではブートアドレス変換情報設定レジスタ401は初期値にリセットされており、各CPUとも出力したアドレス情報がそのままアドレスバスに送出される。   At the initial stage of starting the information processing apparatus 100, the boot address conversion information setting register 401 is reset to an initial value, and the address information output from each CPU is sent to the address bus as it is.

このときCPUリセット部106によりマスタプロセッサに指定されたCPUのみが立ち上がり、このCPUが他のスレーブプロセッサとなるべきCPUに割り当てられたブートアドレス変換情報設定レジスタ401を、変換器402でアドレス変換をすると所望のブートコードの置かれたアドレスになるような値に設定する。その後、CPUリセット部106の、スレーブプロセッサとなるべきCPUに割り当てられたFF200が"H"となるようにそのFF200を設定する。するとスレーブプロセッサとなるCPUを、マスタプロセッサが望むプログラムコードをブートコードとして立ち上げることができる。 At this time, only the CPU designated as the master processor by the CPU reset unit 106 is started, and when the boot address conversion information setting register 401 assigned to the CPU to be the other slave processor is converted by the converter 402, the CPU 402 converts the address. The value is set so as to be the address where the desired boot code is placed. After that, the CPU reset unit 106 sets the FF 200 so that the FF 200 assigned to the CPU to be the slave processor becomes “H”. Then, the CPU which becomes the slave processor can be started up with the program code desired by the master processor as the boot code.

このように構成するとマスタプロセッサがスレーブプロセッサのブートアドレスを任意に設定することができ、異なるブートコードによるスレーブプロセッサの立ち上げを実現することができる。   With this configuration, the master processor can arbitrarily set the boot address of the slave processor, and can start up the slave processor with different boot codes.

図5は、本実施形態にかかるCPUリセット信号のタイミングの一例を示す図である。   FIG. 5 is a diagram illustrating an example of the timing of the CPU reset signal according to the present embodiment.

CPUリセット入力、CPU0リセット入力及びCPU1リセット入力の入力が時系列で示されている。 CPU reset input, CPU0 reset input, and CPU1 reset input are shown in time series.

ここでCPU0リセット入力は、図3で示すCPU0101から入力されるリセット信号であり、CPU1リセット入力は同じくCPU1102から入力されるリセット信号である。これらCPUから入力される信号は、たとえばデバッガ108がデバッグのためにCPUをリセットすることを指示するリセット信号と、CPUリセット部106から入力されるそのCPUのリセット信号の論理積により周辺装置部105のリセットを制御するケースが考えられる。   Here, the CPU0 reset input is a reset signal input from the CPU0101 shown in FIG. 3, and the CPU1 reset input is a reset signal similarly input from the CPU1102. These signals input from the CPU are, for example, a peripheral device unit 105 based on the logical product of a reset signal instructing the debugger 108 to reset the CPU for debugging and the reset signal of the CPU input from the CPU reset unit 106. The case where the reset of the control is controlled is considered.

まずCPUリセット入力がアサート("L")状態からネゲート("H")状態になると同時に、マスタプロセッサに指定されているCPU0101のリセット入力がネゲートされる。リセット入力がネゲートになったCPU0101は自身の立ち上げ処理を実行し、然るべき後、CPU1102に割り当てられたブートアドレス変換情報設定レジスタ401を所望の値に設定しCPU1102のマスクを解除する。この解除処理は、CPUリセット部106のCPU1102に割り当てられたFF200の出力を"H"となるように設定することで行われる。   First, at the same time as the CPU reset input changes from the assert ("L") state to the negate ("H") state, the reset input of the CPU 0101 designated as the master processor is negated. The CPU 0101 whose reset input is negated executes its own start-up process. After that, the boot address conversion information setting register 401 assigned to the CPU 1102 is set to a desired value and the mask of the CPU 1102 is released. This release process is performed by setting the output of the FF 200 assigned to the CPU 1102 of the CPU reset unit 106 to be “H”.

本実施形態のようにリセットの調停及びブートアドレス変換機能を備えることで、プロセッサのブートアドレスが固定されていたとしても、複数のプロセッサでメモリ空間あるいは周辺装置部を共有できる情報処理装置が実現可能となる。   By providing reset arbitration and boot address conversion functions as in this embodiment, it is possible to realize an information processing apparatus that can share a memory space or peripheral device section among multiple processors even if the processor boot address is fixed. It becomes.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

本実施形態にかかる情報処理装置のブロック図の一例を示す図である。It is a figure which shows an example of the block diagram of the information processing apparatus concerning this embodiment. 本実施形態にかかるCPUリセット部の回路図の一例を示す図である。It is a figure which shows an example of the circuit diagram of the CPU reset part concerning this embodiment. 本実施形態にかかる周辺装置リセット部の回路図の一例を示す図である。It is a figure which shows an example of the circuit diagram of the peripheral device reset part concerning this embodiment. 本実施形態にかかるブートアドレス変換部のブロック図の一例を示す図である。It is a figure which shows an example of the block diagram of the boot address conversion part concerning this embodiment. 本実施形態にかかるCPUリセット信号のタイミングの一例を示す図である。It is a figure which shows an example of the timing of the CPU reset signal concerning this embodiment.

符号の説明Explanation of symbols

100・・・情報処理装置、101・・・CPU0、102・・・CPU1、103・・・ブートアドレス変換部、104・・・内部バス、105・・・周辺装置部、106・・・CPUリセット部、107・・・周辺装置リセット部、108・・・デバッガ、200・・・FF、201・・・ANDゲート、202・・・NOTゲート、300・・・FF、301・・・ORゲート、302・・・ANDゲート、400・・・比較器、401・・・ブートアドレス変換情報設定レジスタ、402・・・変換器、403・・・マルチプレクサ
DESCRIPTION OF SYMBOLS 100 ... Information processing apparatus, 101 ... CPU0, 102 ... CPU1, 103 ... Boot address conversion part, 104 ... Internal bus, 105 ... Peripheral device part, 106 ... CPU reset 107, peripheral device reset unit 108, debugger, 200 ... FF, 201 ... AND gate, 202 ... NOT gate, 300 ... FF, 301 ... OR gate, 302 ... AND gate, 400 ... Comparator, 401 ... Boot address conversion information setting register, 402 ... Converter, 403 ... Multiplexer

Claims (8)

周辺装置を共有する複数のプロセッサ間を制御する装置であって、
プロセッサ毎に設けられ、該プロセッサのリセット中、その起動を指示するリセット解除指示をマスクするか否かを、該他のプロセッサからも設定可能な第1のマスク設定手段と、
前記装置全体がリセット状態にあるとき、前記第1のマスク設定手段のうちいずれか1つのマスク設定手段をマスクしないように設定する第1の初期設定手段と、
プロセッサ毎に設けられ、該プロセッサが前記周辺装置のリセットを指示するためのリセット指示をマスクするか否かを、他のプロセッサからも設定可能な第2のマスク設定手段と、
前記装置全体がリセット状態にあるとき、マスクしないように全ての前記第2のマスク設定手段を設定する第2の初期設定手段と、
各プロセッサが指示する、前記第2のマスク設定手段でマスクされた後のリセット指示に基づいて、前記周辺装置に指示するリセット指示を生成する周辺装置リセット手段と
を備えたことを特徴とするプロセッサ制御装置。
A device for controlling a plurality of processors sharing a peripheral device,
A first mask setting means provided for each processor and capable of setting from another processor whether or not to mask a reset release instruction for instructing activation during reset of the processor;
First initial setting means for setting any one of the first mask setting means so as not to be masked when the entire apparatus is in a reset state;
A second mask setting means provided for each processor, wherein the processor can set whether or not to mask a reset instruction for instructing reset of the peripheral device, from another processor;
A second initial setting means for setting all the second mask setting means so as not to mask when the entire apparatus is in a reset state;
Peripheral device reset means for generating a reset instruction for instructing the peripheral device based on a reset instruction after being masked by the second mask setting means, instructed by each processor. Control device.
前記第1のマスク設定手段によりリセット解除指示がマスクされていないプロセッサは起動後に、リセット解除指示をマスクするように設定された前記第1のマスク設定手段のうち少なくとも一つをマスクしないように設定することを特徴とする請求項1に記載のプロセッサ制御装置。   The processor whose reset release instruction is not masked by the first mask setting means is set not to mask at least one of the first mask setting means set to mask the reset release instruction after startup. The processor control device according to claim 1, wherein: 前記プロセッサ毎に設けられ、他のプロセッサからもアドレス情報を設定することが可能なアドレス情報設定手段と、
前記プロセッサがプログラムコードを読み出すアドレスを、該プロセッサ毎に設けられた前記アドレス情報設定手段に設定されたアドレス情報を用いて変換するアドレス変換手段と、
前記プロセッサが送出するアドレス情報が、リセット後再起動時に読み出すブートコードが格納されたブートアドレス領域に該当するか否かを判断し、ブートアドレス領域に含まれる場合には前記アドレス変換手段が変換したアドレス情報を、それ以外の場合には前記アドレス情報を、該プロセッサが送出するアドレス情報として選択しアドレスバスに送出するための、プロセッサ毎に設けられたマルチプレクサと、
をさらに備えたことを特徴とする請求項1に記載のプロセッサ制御装置。
Address information setting means provided for each processor and capable of setting address information from other processors;
Address conversion means for converting an address from which the processor reads the program code using address information set in the address information setting means provided for each processor;
It is determined whether or not the address information sent by the processor corresponds to a boot address area in which a boot code that is read at the time of restart after resetting is stored. If the address information is included in the boot address area, the address conversion means converts it. A multiplexer provided for each processor for selecting address information, otherwise the address information is sent as address information sent by the processor and sent to an address bus;
The processor control device according to claim 1, further comprising:
前記アドレス情報設定手段は、いずれかのプロセッサからアドレス情報を設定されるまでは、あらかじめ前記アドレス変換手段が変換後のアドレス情報が前記プロセッサの送出するアドレス情報と同じになる値を設定することを特徴とする、請求項3に記載のプロセッサ制御装置。   The address information setting means sets a value in advance so that the address conversion means sets the address information after the conversion to be the same as the address information sent by the processor until the address information is set by any processor. The processor control device according to claim 3, wherein the processor control device is characterized in that: 複数のプロセッサと、
前記プロセッサが共有する周辺装置と、
プロセッサ毎に設けられ、該プロセッサのリセット中、その起動を指示するリセット解除指示をマスクするか否かを、該他のプロセッサからも設定可能な第1のマスク設定手段と、
全体がリセット状態にあるとき、前記第1のマスク設定手段のうちいずれか1つのマスク設定手段をマスクしないように設定する第1の初期設定手段と、
プロセッサ毎に設けられ、該プロセッサが前記周辺装置のリセットを指示するためのリセット指示をマスクするか否かを、他のプロセッサからも設定可能な第2のマスク設定手段と、
全体がリセット状態にあるとき、マスクしないように全ての前記第2のマスク設定手段を設定する第2の初期設定手段と、
各プロセッサが指示する、前記第2のマスク設定手段でマスクされた後のリセット指示に基づいて、前記周辺装置に指示するリセット指示を生成する周辺装置リセット手段と
を備えたことを特徴とする情報処理装置。
Multiple processors,
Peripheral devices shared by the processor;
A first mask setting means provided for each processor and capable of setting from another processor whether or not to mask a reset release instruction for instructing activation during reset of the processor;
A first initial setting means for setting any one of the first mask setting means so as not to be masked when the entirety is in a reset state;
A second mask setting means provided for each processor, wherein the processor can set whether or not to mask a reset instruction for instructing reset of the peripheral device, from another processor;
Second initial setting means for setting all the second mask setting means so as not to mask when the whole is in a reset state;
Peripheral device reset means for generating a reset instruction for instructing the peripheral device based on a reset instruction after being masked by the second mask setting means, instructed by each processor Processing equipment.
前記第1のマスク設定手段によりリセット解除指示がマスクされていないプロセッサは、該プロセッサの再起動後に、リセット解除指示をマスクするように設定された前記第1のマスク設定手段のうち少なくとも一つをマスクしないように設定することを特徴とする請求項5に記載の情報処理装置。   A processor whose reset release instruction has not been masked by the first mask setting means has at least one of the first mask setting means set to mask the reset release instruction after the processor is restarted. 6. The information processing apparatus according to claim 5, wherein the information processing apparatus is set so as not to be masked. 前記プロセッサ毎に設けられ、他のプロセッサからもアドレス情報を設定することが可能なアドレス情報設定手段と、
前記プロセッサがプログラムコードを読み出すアドレスを、該プロセッサ毎に設けられた前記アドレス情報設定手段に設定されたアドレス情報を用いて変換するアドレス変換手段と、
前記プロセッサが送出するアドレス情報が、リセット後再起動時に読み出すブートコードが格納されたブートアドレス領域に該当するか否かを判断し、ブートアドレス領域に含まれる場合には前記アドレス変換手段が変換したアドレス情報を、それ以外の場合には前記アドレス情報を、該プロセッサが送出するアドレス情報として選択しアドレスバスに送出するための、プロセッサ毎に設けられたマルチプレクサと、
をさらに備えたことを特徴とする請求項5に記載の情報処理装置。
Address information setting means provided for each processor and capable of setting address information from other processors;
Address conversion means for converting an address from which the processor reads the program code using address information set in the address information setting means provided for each processor;
It is determined whether or not the address information sent by the processor corresponds to a boot address area in which a boot code that is read at the time of restart after resetting is stored. If the address information is included in the boot address area, the address conversion means converts it. A multiplexer provided for each processor for selecting address information, otherwise the address information is sent as address information sent by the processor and sent to an address bus;
The information processing apparatus according to claim 5, further comprising:
前記アドレス情報設定手段は、いずれかのプロセッサからアドレス情報を設定されるまでは、あらかじめ前記アドレス変換手段が変換後のアドレス情報が前記プロセッサの送出するアドレス情報と同じになる値を設定することを特徴とする、請求項7に記載の情報処理装置。
The address information setting means sets a value in advance so that the address conversion means sets the address information after the conversion to be the same as the address information sent by the processor until the address information is set by any processor. The information processing apparatus according to claim 7, wherein the information processing apparatus is characterized.
JP2006218466A 2006-08-10 2006-08-10 Multiprocessor controller and information processor Pending JP2008041059A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006218466A JP2008041059A (en) 2006-08-10 2006-08-10 Multiprocessor controller and information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006218466A JP2008041059A (en) 2006-08-10 2006-08-10 Multiprocessor controller and information processor

Publications (1)

Publication Number Publication Date
JP2008041059A true JP2008041059A (en) 2008-02-21

Family

ID=39175941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006218466A Pending JP2008041059A (en) 2006-08-10 2006-08-10 Multiprocessor controller and information processor

Country Status (1)

Country Link
JP (1) JP2008041059A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2290494A1 (en) * 2009-09-01 2011-03-02 Research In Motion Limited Mobile wireless communications device with reset function and related methods
JP2012137946A (en) * 2010-12-27 2012-07-19 Renesas Electronics Corp Semiconductor device
JP2012198806A (en) * 2011-03-22 2012-10-18 Denso Corp Control device
JP2012198805A (en) * 2011-03-22 2012-10-18 Denso Corp Control device
US8743128B2 (en) 2009-09-01 2014-06-03 Blackberry Limited Mobile wireless communications device with reset functions and related methods

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2290494A1 (en) * 2009-09-01 2011-03-02 Research In Motion Limited Mobile wireless communications device with reset function and related methods
US8743128B2 (en) 2009-09-01 2014-06-03 Blackberry Limited Mobile wireless communications device with reset functions and related methods
US9063885B2 (en) 2009-09-01 2015-06-23 Blackberry Limited Mobile wireless communications device with reset functions and related methods
JP2012137946A (en) * 2010-12-27 2012-07-19 Renesas Electronics Corp Semiconductor device
JP2012198806A (en) * 2011-03-22 2012-10-18 Denso Corp Control device
JP2012198805A (en) * 2011-03-22 2012-10-18 Denso Corp Control device

Similar Documents

Publication Publication Date Title
KR100733943B1 (en) Processor system, dma control circuit, dma control method, control method for dma controller, graphic processing method, and graphic processing circuit
JP6240745B2 (en) System and method for running multiple hypervisors
JP4855451B2 (en) Storage device access method and apparatus
JP6161301B2 (en) Interrupt spread method, interrupt request signal spreader circuit, and system-on-chip including the same
JP5445669B2 (en) Multi-core system and startup method
JP5131188B2 (en) Data processing device
JP5102789B2 (en) Semiconductor device and data processor
JP2008041059A (en) Multiprocessor controller and information processor
US9268577B2 (en) Information processing apparatus
JP2008090390A (en) Microcomputer debugging system and microcomputer
US8402260B2 (en) Data processing apparatus having address conversion circuit
JP6396715B2 (en) Data processing device
JP2015156196A (en) microcomputer
JP2009025896A (en) Data processing unit and data processing method
JP5641128B2 (en) Multi-core processor system, multi-core processor system control method, and multi-core processor system control program
JP2022072452A (en) Information processing device and program
JP2006285724A (en) Information processor and information processing method
JP2007219925A (en) Bus controller, bus control program and recording medium
JP2006195598A (en) Real-time processing system
JP2007207121A (en) Data processor and control method therefor
JP4437386B2 (en) Signal processing system
JP4580879B2 (en) Reconfigurable circuit
JP5002238B2 (en) Digital signal processor system and starting method of digital signal processor
JP2007058424A (en) Memory access controller
JP2007128336A (en) Parallel register access device and system lsi