JP4293086B2 - Multiprocessor system and processor control method - Google Patents

Multiprocessor system and processor control method Download PDF

Info

Publication number
JP4293086B2
JP4293086B2 JP2004223468A JP2004223468A JP4293086B2 JP 4293086 B2 JP4293086 B2 JP 4293086B2 JP 2004223468 A JP2004223468 A JP 2004223468A JP 2004223468 A JP2004223468 A JP 2004223468A JP 4293086 B2 JP4293086 B2 JP 4293086B2
Authority
JP
Japan
Prior art keywords
processor
external device
access cycle
access
external
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.)
Expired - Fee Related
Application number
JP2004223468A
Other languages
Japanese (ja)
Other versions
JP2006040224A (en
Inventor
進 兼子
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2004223468A priority Critical patent/JP4293086B2/en
Publication of JP2006040224A publication Critical patent/JP2006040224A/en
Application granted granted Critical
Publication of JP4293086B2 publication Critical patent/JP4293086B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、相互関係のある複数のプロセッサを有するマルチプロセッサシステム及びプロセッサの制御方法に関する。   The present invention relates to a multiprocessor system having a plurality of interrelated processors and a processor control method.

近年、コンピュータにおいて演算処理や制御処理を高速化させるべく、複数のプロセッサを用いて演算処理、制御処理を行うマルチプロセッサシステムを搭載したコンピュータが使われている。   In recent years, in order to speed up arithmetic processing and control processing in a computer, a computer equipped with a multiprocessor system that performs arithmetic processing and control processing using a plurality of processors has been used.

相互関係にある複数のプロセッサを有するマルチプロセッサシステムでは、ある1つのプロセッサが動作を停止しても、他のプロセッサは動作し続けるので、停止したプロセッサとの相互関係が崩れてしまう。そこで、プロセッサ間の関係を保つために、各々のプロセッサの始動/停止を同期化させる必要がある。
従来のマルチプロセッサシステムでは、プロセッサ間の始動/停止の同期を取るために、プロセッサ間の停止要求信号を接続し、プロセッサ自身を停止させることで同期化を実現していた。
In a multiprocessor system having a plurality of interrelated processors, even if a certain processor stops operating, other processors continue to operate, and the interrelationship with the stopped processor is lost. Therefore, in order to maintain the relationship between the processors, it is necessary to synchronize the start / stop of each processor.
In the conventional multiprocessor system, in order to synchronize the start / stop between the processors, the stop request signal between the processors is connected, and the synchronization is realized by stopping the processors themselves.

例えば、特許文献1には、ネットワークを介して相互に接続された複数のプロセッサと、これらのプロセッサを制御するホスト計算機と、により構成され、ホスト計算機上において自己を制御している計算機環境に対する割り込み要求に対して、割り込みに関わるメッセージを送出するマルチプロセッサシステムに関する技術が開示されている。   For example, Patent Document 1 discloses an interrupt to a computer environment configured by a plurality of processors connected to each other via a network and a host computer that controls these processors and controlling itself on the host computer. A technique related to a multiprocessor system that sends a message related to an interrupt in response to a request is disclosed.

また、特許文献2には、2つのCPUが共有メモリを介してワードデータの授受を行うマルチプロセッサシステムにおいて、各CPUの共有メモリに対するアクセスの調停を行う共有メモリのアクセス調停装置に関する技術が開示されている。   Patent Document 2 discloses a technique related to an access arbitration device for a shared memory that arbitrates access to the shared memory of each CPU in a multiprocessor system in which two CPUs exchange word data via the shared memory. ing.

また、特許文献3には、外部からのウェイト信号の入力により、メモリなどの周辺I/Oへのアクセスタイミングを可変できるマイクロプロセッサを備える制御装置に関する技術が開示されている。
特開平1−118953号公報 特開平5−324577号公報 特許第3204743号公報
Patent Document 3 discloses a technique related to a control device including a microprocessor that can change access timing to peripheral I / O such as a memory by inputting a wait signal from the outside.
Japanese Patent Laid-Open No. 1-118953 JP-A-5-324577 Japanese Patent No. 3204743

しかしながら、従来のマルチプロセッサシステムにおいては、以下のような問題を抱えていた。
(イ)プロセッサ自身を停止するためには、専用の回路を設けなければならないという問題があった。特に、動作周波数やアーキテクチャの異なる複数のプロセッサでマルチプロセッサシステムを構成する場合には、この専用回路が複雑となり、複数のプロセッサの始動/停止を同期化させるマルチプロセッサシステムを実現することが困難であった。
However, the conventional multiprocessor system has the following problems.
(A) In order to stop the processor itself, there is a problem that a dedicated circuit must be provided. In particular, when a multiprocessor system is configured by a plurality of processors having different operating frequencies and architectures, this dedicated circuit becomes complicated, and it is difficult to realize a multiprocessor system that synchronizes the start / stop of the plurality of processors. there were.

(ロ)このような背景において、マルチプロセッサシステムの開発においては、ICE(In-Circuit Emulator)等の開発ツールを用いて、プロセッサの動作を制御し、プロセッサの始動/停止や内部状態、実行状態等の確認を行い、開発効率の向上を図っていた。
しかしながら、前記(イ)で説明した問題があるため、マルチプロセッサシステムにおいて、あるプロセッサと1対1でICEを接続し、該プロセッサの動作を制御しながら、さらに他のプロセッサの制御を行う開発環境を構築することは容易ではなかった。
(B) Against this background, in the development of a multiprocessor system, a development tool such as ICE (In-Circuit Emulator) is used to control the operation of the processor and to start / stop the processor, internal state, and execution state. In order to improve the development efficiency.
However, because of the problem described in (a) above, in a multiprocessor system, a development environment in which an ICE is connected to a certain processor on a one-to-one basis, and the other processor is controlled while controlling the operation of the processor. It was not easy to build.

(ハ)また、近年、携帯電話機やPDA(Personal Digital Assistance)などの携帯型の情報処理装置(携帯型コンピュータ)においても、データ処理性能を向上させるべく、マルチプロセッサ化が進んでいる。そして、携帯型のコンピュータという性質上、小型かつ省電力を実現したマルチプロセッサシステムを搭載する必要がある。その際、携帯型コンピュータの構造上の問題(例えば、空間的な問題)を考慮してプロセッサを選択する必要がある。あるいは、該コンピュータで処理されるデータの特性(例えば、携帯電話機における、音声通話データの処理や電子メール/インターネット等のデータ処理等)に応じて、個々のプロセッサを適切に選択しなければならない。すなわち、動作周波数やアーキテクチャの異なるプロセッサを用いてマルチプロセッサシステムを構成し、それを携帯型コンピュータに搭載する必要がある。そして、複数のプロセッサの組み合わせパターンは、非常に多岐にわたっている。
このような背景におけるマルチプロセッサシステムの開発においては、前記(ロ)で示した問題は非常に顕著であり、開発効率の低下、生産コストの増大という形で問題が浮き彫りにされていた。
(C) In recent years, in a portable information processing apparatus (portable computer) such as a mobile phone or a PDA (Personal Digital Assistance), multiprocessors have been developed in order to improve data processing performance. In addition, due to the nature of a portable computer, it is necessary to mount a multiprocessor system that is small and saves power. At that time, it is necessary to select a processor in consideration of a structural problem (for example, a spatial problem) of the portable computer. Alternatively, each processor must be appropriately selected in accordance with the characteristics of data processed by the computer (for example, processing of voice call data or data processing such as e-mail / Internet in a mobile phone). That is, it is necessary to configure a multiprocessor system using processors having different operating frequencies and architectures and mount the system on a portable computer. And the combination pattern of a plurality of processors is very diverse.
In the development of a multiprocessor system in such a background, the problem described in (b) above is very remarkable, and the problem has been highlighted in the form of a decrease in development efficiency and an increase in production cost.

本発明は上記事情を鑑みてなされたものであり、あるプロセッサが始動/停止の動作を行う際に、該プロセッサから他のプロセッサが保有する外部アクセス・サイクルを延長させるWait機能を制御し、他のプロセッサの、メモリや外部入出力デバイスなどに対する外部アクセス・サイクルの延長を行うことにより、複数のプロセッサの始動/停止を同期化させるマルチプロセッサシステムを提供することを目的とする。また、プロセッサの制御方法を提供することを目的とする。   The present invention has been made in view of the above circumstances, and when a certain processor performs a start / stop operation, controls a Wait function for extending an external access cycle held by the other processor from the other processor. It is an object of the present invention to provide a multiprocessor system that synchronizes the start / stop of a plurality of processors by extending the external access cycle of the processors to a memory, an external input / output device, or the like. Moreover, it aims at providing the control method of a processor.

前記課題を解決するために、請求項1記載の発明は、相互関係のある複数のプロセッサにより構成されるマルチプロセッサシステムであって、第1のプロセッサに接続された第1の外部デバイスからの停止要求により前記第1のプロセッサの動作を停止する第1の停止手段と、前記第1のプロセッサに接続された第2のプロセッサに対して、該第2のプロセッサに接続された第2の外部デバイスに対する外部アクセスWait要求信号を第1のレベルで出力する第1の出力手段と、前記第1のレベルの外部アクセスWait要求信号を検知することにより、前記第2の外部デバイスに対するアクセス・サイクルを停止する第2の停止手段と、を有し、さらに、第1のプロセッサに接続された第1の外部デバイスからの動作開始要求により前記第1のプロセッサの動作を開始する第1の開始手段と、前記第1のプロセッサに接続された第2のプロセッサに対して、該第2のプロセッサに接続された第2の外部デバイスに対する外部アクセスWait要求信号を第2のレベルで出力する第2の出力手段と、前記第2のレベルの外部アクセスWait要求信号を検知することにより、前記第2の外部デバイスに対するアクセス・サイクルを開始する第2の開始手段と、を有することを特徴とする。   In order to solve the above-mentioned problem, the invention according to claim 1 is a multiprocessor system including a plurality of interrelated processors, and is stopped from a first external device connected to the first processor. First stop means for stopping the operation of the first processor upon request, and a second external device connected to the second processor with respect to the second processor connected to the first processor The first output means for outputting the external access wait request signal to the first level at the first level, and the access cycle for the second external device is stopped by detecting the first level external access wait request signal And a second stop means, and in response to an operation start request from a first external device connected to the first processor First start means for starting operation of one processor, and external access Wait for a second external device connected to the second processor for the second processor connected to the first processor A second output means for outputting a request signal at a second level; and a second output means for starting an access cycle for the second external device by detecting the external access wait request signal at the second level. And starting means.

請求項2記載の発明は、前記第2の停止手段は、前記第2の外部デバイスに対して、アクセス・サイクル中であるか否かを識別する第1の識別手段と、前記第1の識別手段で、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス・サイクル中であると識別した場合には、該アクセス・サイクルを延長する手段と、前記第1の識別手段で、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス前であると識別した場合には、次に実行するアクセス・サイクルを延期し、待機状態へ移行する手段と、を有し、さらに、前記第2の開始手段は、前記第2の外部デバイスに対して、アクセス・サイクルが延期されているか否かを識別する第2の識別手段と、前記第2の識別手段で、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス・サイクルを延期していると識別した場合には、該アクセス・サイクルを再開する手段と、前記第2の識別手段で、前記第2のプロセッサがアクセス・サイクルの待機状態であると識別した場合には、該待機状態を解除し、外部デバイスへのアクセス・サイクルを開始する手段と、を有することを特徴とする。   The invention according to claim 2 is characterized in that the second stopping means is configured to identify whether the second external device is in an access cycle, and the first identification means. When the means identifies that the second processor is in an access cycle to the second external device, the means for extending the access cycle, and the first identification means, Means for deferring an access cycle to be executed next and shifting to a waiting state when the second processor identifies that the second external device is not yet accessed; and The second starting means includes a second identifying means for identifying whether or not an access cycle is postponed for the second external device, and the second identifying means. A processor is connected to the second external When it is identified that the access cycle has been postponed to the device, the second processor is configured to resume the access cycle and the second identification unit to wait for the access cycle. And means for canceling the standby state and starting an access cycle to the external device when it is identified.

請求項3記載の発明は、前記外部デバイスは、該外部デバイスに接続されたプロセッサが実行する命令を記憶したメモリであることを特徴とする。   The invention according to claim 3 is characterized in that the external device is a memory storing instructions executed by a processor connected to the external device.

請求項4記載の発明は、相互関係にある複数のプロセッサにより構成されるマルチプロセッサシステムにおけるプロセッサの制御方法であって、第1のプロセッサに接続された第1の外部デバイスからの停止要求により前記第1のプロセッサの動作を停止する第1の停止ステップと、前記第1のプロセッサに接続された第2のプロセッサに対して、該第2のプロセッサに接続された第2の外部デバイスに対する外部アクセスWait要求信号を第1のレベルで出力する第1の出力ステップと、前記第1のレベルの外部アクセスWait要求信号を検知することにより、前記第2の外部デバイスに対するアクセス・サイクルを停止する第2の停止ステップと、を有し、さらに、第1のプロセッサに接続された第1の外部デバイスからの動作開始要求により前記第1のプロセッサの動作を開始する第1の開始ステップと、前記第1のプロセッサに接続された第2のプロセッサに対して、該第2のプロセッサに接続された第2の外部デバイスに対する外部アクセスWait要求信号を第2のレベルで出力する第2の出力ステップと、前記第2のレベルの外部アクセスWait要求信号を検知することにより、前記第2の外部デバイスに対するアクセス・サイクルを開始する第2の開始ステップと、を有することを特徴とする。   The invention according to claim 4 is a method of controlling a processor in a multiprocessor system including a plurality of mutually related processors, wherein the stop request is sent from a first external device connected to the first processor. A first stop step for stopping the operation of the first processor, and external access to a second external device connected to the second processor for the second processor connected to the first processor A first output step for outputting a wait request signal at a first level; and a second step for stopping an access cycle for the second external device by detecting the external access wait request signal at the first level. And an operation start from a first external device connected to the first processor. A first start step for starting the operation of the first processor in response to a request, and a second external device connected to the second processor with respect to a second processor connected to the first processor A second output step of outputting an external access wait request signal for the second external device at a second level, and an access cycle for the second external device is started by detecting the external access wait request signal of the second level And a second starting step.

請求項5記載の発明は、前記第2の停止ステップは、前記第2の外部デバイスに対して、アクセス・サイクル中であるか否かを識別する第1の識別ステップと、前記第1の識別ステップで、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス・サイクル中であると識別した場合には、該アクセス・サイクルを延長するステップと、前記第1の識別ステップで、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス前であると識別した場合には、次に実行するアクセス・サイクルを延期し、待機状態へ移行するステップと、を有し、さらに、前記第2の開始ステップは、前記第2の外部デバイスに対して、アクセス・サイクルが延期されているか否かを識別する第2の識別ステップと、前記第2の識別ステップで、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス・サイクルを延期していると識別した場合には、該アクセス・サイクルを再開するステップと、前記第2の識別ステップで、前記第2のプロセッサがアクセス・サイクルの待機状態であると識別した場合には、該待機状態を解除し、外部デバイスへのアクセス・サイクルを開始するステップと、を有することを特徴とする。   According to a fifth aspect of the present invention, the second stop step includes a first identification step for identifying whether the second external device is in an access cycle, and the first identification. If the second processor identifies that the second external device is in an access cycle, the step of extending the access cycle and the first identifying step include: If the second processor identifies that it is before accessing the second external device, the method includes deferring the next access cycle to be executed and shifting to a standby state, The second start step includes a second identification step for identifying whether an access cycle is postponed for the second external device, and the second identification step. When the second processor identifies that the access cycle is postponed to the second external device, the step of restarting the access cycle and the second identification step include: When the two processors identify that they are waiting for an access cycle, the waiting state is released and an access cycle to an external device is started.

請求項6記載の発明は、前記外部デバイスは、該外部デバイスに接続されたプロセッサが実行する命令を記憶したメモリであることを特徴とする。   The invention according to claim 6 is characterized in that the external device is a memory storing instructions executed by a processor connected to the external device.

本発明によれば、以下の説明から明らかなように、相互関係のある複数のプロセッサを有するマルチプロセッサシステムにおいて、プロセッサが保有する外部アクセス・サイクルを延長させるWait機能を用いることにより、マルチプロセッサシステムにおける、動作周波数やアーキテクチャの異なる複数のプロセッサ同士の始動(動作再開)/停止の同期化を容易に行うことが可能である。
また、これにより、動作周波数や種類の異なる複数のプロセッサで構成されるマルチプロセッサシステムの開発環境も容易に構築することが可能であり、これによって、マルチプロセッサシステムの開発効率の向上、あるいはマルチプロセッサシステムの製造コストの削減を図ることができる。
According to the present invention, as will be apparent from the following description, in a multiprocessor system having a plurality of interrelated processors, by using a Wait function for extending an external access cycle held by the processor, the multiprocessor system It is possible to easily synchronize the start (resumption of operation) / stop between a plurality of processors having different operating frequencies and architectures.
This also makes it possible to easily build a development environment for a multiprocessor system composed of a plurality of processors having different operating frequencies and types, thereby improving the development efficiency of the multiprocessor system or the multiprocessor. System manufacturing costs can be reduced.

次に、添付図面を参照しながら、本発明の実施形態を説明する。
図1は、本発明の実施形態であるマルチプロセッサシステムの概要を示した図である。
マルチプロセッサシステム10は、複数のプロセッサ1a,1bを含む形で構成されている。なお、マルチプロセッサシステム10に外部デバイス2を含む形でもよい。
プロセッサ1a,1bは相互関係にあり、互いにデータやメッセージのやり取りを行い、それにより個々の実行状態が変化する。例えば、プロセッサ1aが処理を行ったデータをプロセッサ1bに渡し、プロセッサ1bが別の処理を行う、あるいは、プロセッサ1bからプロセッサ1aにメッセージを転送し、プロセッサ1aがそのメッセージに基づいて命令を実行する、という具合に、互いのやり取りで状態が変化する関係(相互関係)にある。
Next, embodiments of the present invention will be described with reference to the accompanying drawings.
FIG. 1 is a diagram showing an outline of a multiprocessor system according to an embodiment of the present invention.
The multiprocessor system 10 includes a plurality of processors 1a and 1b. The multiprocessor system 10 may include the external device 2.
The processors 1a and 1b have a mutual relationship, and exchange data and messages with each other, thereby changing individual execution states. For example, the data processed by the processor 1a is passed to the processor 1b, and the processor 1b performs another processing, or transfers a message from the processor 1b to the processor 1a, and the processor 1a executes an instruction based on the message. , And so on, there is a relationship (mutual relationship) in which the state changes by mutual exchange.

なお、プロセッサ1a,1bは、同一のプロセッサに限定される必要はない。
例えば、プロセッサ1a,1bは、同様の演算・制御を行うことができるものの、その動作クロックが異なっていても構わない。あるいは、プロセッサ1a,1bは、互いに異なる演算・制御を行うことが可能なプロセッサ、すなわち、アーキテクチャが異なるプロセッサであっても構わない。
The processors 1a and 1b need not be limited to the same processor.
For example, the processors 1a and 1b can perform the same calculation and control, but their operation clocks may be different. Alternatively, the processors 1a and 1b may be processors that can perform different operations and controls, that is, processors having different architectures.

このような相互関係にあるマルチプロセッサシステムにおいて、あるプロセッサを外部からの要求により始動/停止させる際、該プロセッサの始動/停止と、他方のプロセッサの始動/停止を同期させている。
すなわち、図2のフローチャートで示すように、プロセッサ1aは、外部デバイス2aからの停止要求20によりその動作を停止し(ステップS1)、同時に、プロセッサ1bに対して外部アクセスWait要求信号21を出力する(ステップS2)。
プロセッサ1bは、外部アクセスWait要求信号21を受信し(ステップS3)、外部デバイス2bに対するアクセスの状態を調べる(ステップS4)。アクセス・サイクル中の場合(ステップS4/Yes)は、そのサイクルを延長する(ステップS5)。アクセス前である場合(ステップS4/No)は、次に実行するアクセスを延期し、待機状態となる。
In such a multiprocessor system having an interrelationship, when a certain processor is started / stopped by an external request, the start / stop of the processor is synchronized with the start / stop of the other processor.
That is, as shown in the flowchart of FIG. 2, the processor 1a stops its operation in response to a stop request 20 from the external device 2a (step S1), and simultaneously outputs an external access wait request signal 21 to the processor 1b. (Step S2).
The processor 1b receives the external access wait request signal 21 (step S3), and checks the state of access to the external device 2b (step S4). If the access cycle is in progress (step S4 / Yes), the cycle is extended (step S5). If it is before the access (step S4 / No), the next access to be executed is postponed and a standby state is entered.

また、図3のフローチャートで示すように、マルチプロセッサシステムの再動作開始においては、プロセッサ1aは、外部デバイス2aから再動作開始要求22を受けることによりその動作を再開し(ステップS11)、同時に、プロセッサ1bに対して外部アクセスWait要求信号21の出力を停止する(ステップS12)。
プロセッサ1bは、外部アクセスWait要求信号21の停止を検知することにより(ステップS13)、外部デバイス2bへのアクセス状態を調べる(ステップS14)。アクセス・サイクルが延長されていた場合(ステップS14/Yes)は、外部デバイス2bへのアクセスを実行する(ステップS15)。待機状態である場合(ステップS14/No)は、待機状態を解除し、次に実行する外部デバイス2bへのアクセスを開始する(ステップS16)。
As shown in the flowchart of FIG. 3, in starting the re-operation of the multiprocessor system, the processor 1a resumes its operation by receiving the re-operation start request 22 from the external device 2a (step S11). The output of the external access wait request signal 21 to the processor 1b is stopped (step S12).
The processor 1b checks the access state to the external device 2b by detecting the stop of the external access wait request signal 21 (step S13) (step S14). If the access cycle has been extended (step S14 / Yes), access to the external device 2b is executed (step S15). When it is in the standby state (step S14 / No), the standby state is canceled and access to the external device 2b to be executed next is started (step S16).

なお、上記に示した実施の形態は、本発明の好適な実施形態の一例である。しかしながら、本発明の実施形態はこれらに限定されるものでなく、本発明の要旨を逸脱しない範囲で、様々な変形が可能である。以下に、その例を示す。   The embodiment described above is an example of a preferred embodiment of the present invention. However, the embodiments of the present invention are not limited to these, and various modifications can be made without departing from the gist of the present invention. An example is shown below.

図4は、本発明の一実施例であるマルチプロセッサシステムの構成を示した図である。
マルチプロセッサシステム10はプロセッサ1a,1bを有する。プロセッサ1aは、該プロセッサが実行する命令を記憶したメモリ3aとバス接続されている。また、プロセッサ1bも、プロセッサ1aと同様に、該プロセッサが実行する命令を記憶したメモリ3bとバス接続されている。プロセッサ1a,1bは、互いにデータやメッセージの転送が行えるようにバス接続され、さらに、プロセッサ1bがメモリ3bとのアクセス・サイクルを延長するための外部アクセスWait要求信号を発信するための経路が接続されている。
FIG. 4 is a diagram showing a configuration of a multiprocessor system according to an embodiment of the present invention.
The multiprocessor system 10 includes processors 1a and 1b. The processor 1a is bus-connected to a memory 3a that stores instructions executed by the processor. Similarly to the processor 1a, the processor 1b is also bus-connected to a memory 3b that stores instructions executed by the processor. The processors 1a and 1b are connected by a bus so that data and messages can be transferred to each other, and further, a path for the processor 1b to transmit an external access wait request signal for extending the access cycle with the memory 3b is connected. Has been.

なお、プロセッサ1a,1bは、同一のプロセッサに限定される必要はない。
例えば、プロセッサ1a,1bは、同様の演算・制御を行うことができるものの、その動作クロックが異なっていても構わない。あるいは、プロセッサ1a,1bは、互いに異なる演算・制御を行うことが可能なプロセッサ、すなわち、アーキテクチャが異なるプロセッサであっても構わない。
The processors 1a and 1b need not be limited to the same processor.
For example, the processors 1a and 1b can perform the same calculation and control, but their operation clocks may be different. Alternatively, the processors 1a and 1b may be processors that can perform different operations and controls, that is, processors having different architectures.

また、プロセッサ1aには、マルチプロセッサシステム10の外部からICE(In-Circuit Emulator)4が接続されている。
マルチプロセッサシステムの開発においては、ICE等の開発ツールを用いて、プロセッサの動作を制御し、プロセッサの始動/停止や内部状態、実行状態等の確認を行い、開発効率の向上を図っている。
An ICE (In-Circuit Emulator) 4 is connected to the processor 1a from the outside of the multiprocessor system 10.
In the development of a multiprocessor system, a development tool such as ICE is used to control the operation of the processor and check the start / stop of the processor, the internal state, the execution state, and the like to improve the development efficiency.

図5,図6のタイミングチャートを用いて、マルチプロセッサシステムの動作を説明する。図5は、プロセッサ1aの動作が停止した場合に、プロセッサ1bのアクセス・サイクルを延長する場合のタイミングチャートであり、図6は、プロセッサ1bのアクセス・サイクルを待機する場合のタイミングチャートである。
マルチプロセッサシステム10の動作を開始させると、プロセッサ1aはメモリ3aに格納されている命令を順次実行する(プロセッサ1aの左側「動作」状態)。
同様に、プロセッサ1bもメモリ3bに格納されている命令を順次実行する。ここで、「アクセス・サイクル」とは、プロセッサが外部デバイス(メモリ等)を動作させるために、該デバイスにアクセスしている期間であり、一般的にプロセッサの方が外部デバイスよりも高速に動作することから、2つのアクセス・サイクル間には、プロセッサの待ち時間が生じる。
なお、プロセッサ1aもプロセッサ1bと同様の動作を行うが、図5,図6では省略して説明している。
The operation of the multiprocessor system will be described with reference to the timing charts of FIGS. FIG. 5 is a timing chart in the case where the access cycle of the processor 1b is extended when the operation of the processor 1a is stopped, and FIG. 6 is a timing chart in the case of waiting for the access cycle of the processor 1b.
When the operation of the multiprocessor system 10 is started, the processor 1a sequentially executes the instructions stored in the memory 3a (the “operation” state on the left side of the processor 1a).
Similarly, the processor 1b sequentially executes instructions stored in the memory 3b. Here, the “access cycle” is a period during which the processor accesses the external device (memory or the like) in order to operate the external device. In general, the processor operates faster than the external device. Thus, there is a processor latency between the two access cycles.
The processor 1a performs the same operation as the processor 1b, but is omitted from FIGS.

ICE4は、プロセッサ1aに対して、任意のタイミングでプロセッサ1aの始動(動作再開)/停止の要求を行うことが可能である。
ICE4がプロセッサ1aに対し停止要求を行うと、プロセッサ1aは、該停止要求を受けて、自身の動作を停止する。これと同時に、プロセッサ1aは、プロセッサ1bに対して外部アクセスWait要求信号21をHighレベルにする。
プロセッサ1bは、該Highレベルを認識(検知)し、メモリ3bに対してアクセス・サイクル中である場合には、該アクセス・サイクルの延長を行う。すなわち、該アクセス・サイクルを一時的に停止する(図5参照)。
また、メモリ3bに対してアクセス・サイクル中でない場合には、次のアクセス実行(アクセス・サイクル)を延期する(図6参照)。
The ICE 4 can request the processor 1a to start (resume operation) / stop the processor 1a at an arbitrary timing.
When the ICE 4 makes a stop request to the processor 1a, the processor 1a receives the stop request and stops its own operation. At the same time, the processor 1a sets the external access wait request signal 21 to the high level for the processor 1b.
The processor 1b recognizes (detects) the High level, and extends the access cycle when the memory 3b is being accessed. That is, the access cycle is temporarily stopped (see FIG. 5).
If the memory 3b is not being accessed, the next access execution (access cycle) is postponed (see FIG. 6).

ICE4よりプロセッサ1aに対して動作再開要求を行うと、プロセッサ1aは動作を再開すると同時に、外部アクセスWait要求信号21をLowレベルに戻す。プロセッサ1bは、該Lowレベルを認識し、延長しているメモリ3bへのアクセス・サイクルを実行する(図5参照)か、または、延期していた次のアクセスを実行する(図6参照)。
この動作により、プロセッサ1a,1bの始動(動作再開)/停止を同期化することができる。
When the ICE 4 makes an operation resumption request to the processor 1a, the processor 1a resumes the operation and simultaneously returns the external access wait request signal 21 to the low level. The processor 1b recognizes the low level and executes the access cycle to the extended memory 3b (see FIG. 5) or executes the next access that has been postponed (see FIG. 6).
By this operation, the start (resumption of operation) / stop of the processors 1a and 1b can be synchronized.

なお、本発明に係るマルチプロセッサシステムにおけるプロセッサの数は、本発明で示した2プロセッサに限らず、3プロセッサ以上でも構わない。   The number of processors in the multiprocessor system according to the present invention is not limited to two processors shown in the present invention, and may be three or more processors.

また、携帯電話機やPDA(Personal Digital Assistance)などの携帯型コンピュータに対してマルチプロセッサシステムを搭載する際に、構造上の問題(例えば、空間的な問題)や該コンピュータで処理されるデータの特性(例えば、携帯電話機における、音声データの処理やメール/インターネット等のデータ処理等)などに応じて、最適なプロセッサを選択しなければならないという観点から、特に、本発明に係るマルチプロセッサシステムを携帯型コンピュータに適用するのが効果的である。
しかしながら、本発明の適用は、これに限らず、より一般的なコンピュータ(PCやワークステーション、あるいはサーバ等)に適用しても、同様の効果が得られる。
In addition, when a multiprocessor system is installed in a portable computer such as a mobile phone or a PDA (Personal Digital Assistance), structural problems (for example, spatial problems) and characteristics of data processed by the computer In particular, the multiprocessor system according to the present invention is carried from the viewpoint that an optimum processor must be selected in accordance with (for example, voice data processing in a mobile phone, data processing such as mail / Internet). It is effective to apply to the type computer.
However, the application of the present invention is not limited to this, and the same effect can be obtained when applied to a more general computer (PC, workstation, server, etc.).

また、本発明に係るマルチプロセッサシステムは、各プロセッサのアーキテクチャは同一である必要性はないことから、1つの基盤上に複数のプロセッサを搭載した形態に限らず、異なる基盤上に搭載された各々のプロセッサが相互関係を有するマルチプロセッサシステムでも構わない。
例えば、あるコンピュータの基盤(例えば、マザーボード)上に搭載されたプロセッサ(例えば、CISC方式のプロセッサ)と、前記基盤にバス接続により搭載された別の基盤(例えば、PCIボード)に搭載されたプロセッサ(例えば、RISC方式のプロセッサ)とが、相互関係を有するマルチプロセッサシステムでも構わない。
In addition, the multiprocessor system according to the present invention does not need to have the same architecture of each processor. Therefore, the multiprocessor system is not limited to a mode in which a plurality of processors are mounted on one base, but each mounted on a different base. A multiprocessor system in which these processors have a mutual relationship may be used.
For example, a processor (for example, a CISC processor) mounted on a certain computer base (for example, a motherboard) and a processor mounted on another base (for example, a PCI board) mounted on the base by a bus connection. (For example, a RISC processor) may be a multiprocessor system having a mutual relationship.

本発明の実施形態であるマルチプロセッサシステムの概要を示した図である。It is the figure which showed the outline | summary of the multiprocessor system which is embodiment of this invention. マルチプロセッサシステムにおける動作停止の処理の流れを示した図である。It is the figure which showed the flow of the process of operation stop in a multiprocessor system. マルチプロセッサシステムにおける再動作開始の処理の流れを示した図である。It is the figure which showed the flow of the process of a re-operation start in a multiprocessor system. 本発明の一実施例であるマルチプロセッサシステムの構成を示した図である。It is the figure which showed the structure of the multiprocessor system which is one Example of this invention. マルチプロセッサシステムの動作を示したタイミングチャートである(アクセス・サイクル延長の場合)。6 is a timing chart showing the operation of the multiprocessor system (in the case of extended access cycle). マルチプロセッサシステムの動作を示したタイミングチャートである(アクセス・サイクル待機の場合)。6 is a timing chart showing the operation of the multiprocessor system (in the case of an access cycle wait).

符号の説明Explanation of symbols

1 プロセッサ
2 外部デバイス
3 メモリ
4 ICE(In-Circuit Emulator)
10 マルチプロセッサシステム
20 停止要求信号
21 外部アクセスWait要求信号
22 再動作開始要求信号(始動要求信号)
1 Processor 2 External Device 3 Memory 4 ICE (In-Circuit Emulator)
10 Multiprocessor System 20 Stop Request Signal 21 External Access Wait Request Signal 22 Reoperation Start Request Signal (Start Request Signal)

Claims (6)

相互関係のある複数のプロセッサにより構成されるマルチプロセッサシステムであって、
第1のプロセッサに接続された第1の外部デバイスからの停止要求により前記第1のプロセッサの動作を停止する第1の停止手段と、
前記第1のプロセッサに接続された第2のプロセッサに対して、該第2のプロセッサに接続された第2の外部デバイスに対する外部アクセスWait要求信号を第1のレベルで出力する第1の出力手段と、
前記第1のレベルの外部アクセスWait要求信号を検知することにより、前記第2の外部デバイスに対するアクセス・サイクルを停止する第2の停止手段と、を有し、
さらに、第1のプロセッサに接続された第1の外部デバイスからの動作開始要求により前記第1のプロセッサの動作を開始する第1の開始手段と、
前記第1のプロセッサに接続された第2のプロセッサに対して、該第2のプロセッサに接続された第2の外部デバイスに対する外部アクセスWait要求信号を第2のレベルで出力する第2の出力手段と、
前記第2のレベルの外部アクセスWait要求信号を検知することにより、前記第2の外部デバイスに対するアクセス・サイクルを開始する第2の開始手段と、を有することを特徴とするマルチプロセッサシステム。
A multiprocessor system comprising a plurality of interrelated processors,
First stop means for stopping the operation of the first processor in response to a stop request from a first external device connected to the first processor;
First output means for outputting, to a second processor connected to the first processor, an external access wait request signal for the second external device connected to the second processor at a first level. When,
Second stop means for stopping an access cycle for the second external device by detecting the first level external access wait request signal;
A first starter configured to start the operation of the first processor in response to an operation start request from a first external device connected to the first processor;
Second output means for outputting, to the second processor connected to the first processor, an external access wait request signal for the second external device connected to the second processor at a second level. When,
And a second start means for starting an access cycle for the second external device by detecting the second level external access wait request signal.
前記第2の停止手段は、前記第2の外部デバイスに対して、アクセス・サイクル中であるか否かを識別する第1の識別手段と、
前記第1の識別手段で、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス・サイクル中であると識別した場合には、該アクセス・サイクルを延長する手段と、
前記第1の識別手段で、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス前であると識別した場合には、次に実行するアクセス・サイクルを延期し、待機状態へ移行する手段と、を有し、
さらに、前記第2の開始手段は、前記第2の外部デバイスに対して、アクセス・サイクルが延期されているか否かを識別する第2の識別手段と、
前記第2の識別手段で、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス・サイクルを延期していると識別した場合には、該アクセス・サイクルを再開する手段と、
前記第2の識別手段で、前記第2のプロセッサがアクセス・サイクルの待機状態であると識別した場合には、該待機状態を解除し、外部デバイスへのアクセス・サイクルを開始する手段と、を有することを特徴とする請求項1記載のマルチプロセッサシステム。
The second stopping means is first identifying means for identifying whether the second external device is in an access cycle; and
Means for extending the access cycle if the first identification means identifies that the second processor is in an access cycle for the second external device;
When the first identifying unit identifies that the second processor is not accessing the second external device, the access cycle to be executed next is postponed and the standby state is entered. Means,
Furthermore, the second starting means includes second identifying means for identifying whether or not an access cycle is postponed for the second external device;
Means for resuming the access cycle if the second identification means identifies that the second processor has postponed the access cycle to the second external device;
A means for releasing the waiting state and starting an access cycle to an external device when the second identifying means identifies that the second processor is in a waiting state for an access cycle; The multiprocessor system according to claim 1, further comprising:
前記外部デバイスは、該外部デバイスに接続されたプロセッサが実行する命令を記憶したメモリであることを特徴とする請求項1または2に記載のマルチプロセッサシステム。   The multiprocessor system according to claim 1, wherein the external device is a memory that stores instructions executed by a processor connected to the external device. 相互関係にある複数のプロセッサにより構成されるマルチプロセッサシステムにおけるプロセッサの制御方法であって、
第1のプロセッサに接続された第1の外部デバイスからの停止要求により前記第1のプロセッサの動作を停止する第1の停止ステップと、
前記第1のプロセッサに接続された第2のプロセッサに対して、該第2のプロセッサに接続された第2の外部デバイスに対する外部アクセスWait要求信号を第1のレベルで出力する第1の出力ステップと、
前記第1のレベルの外部アクセスWait要求信号を検知することにより、前記第2の外部デバイスに対するアクセス・サイクルを停止する第2の停止ステップと、を有し、
さらに、第1のプロセッサに接続された第1の外部デバイスからの動作開始要求により前記第1のプロセッサの動作を開始する第1の開始ステップと、
前記第1のプロセッサに接続された第2のプロセッサに対して、該第2のプロセッサに接続された第2の外部デバイスに対する外部アクセスWait要求信号を第2のレベルで出力する第2の出力ステップと、
前記第2のレベルの外部アクセスWait要求信号を検知することにより、前記第2の外部デバイスに対するアクセス・サイクルを開始する第2の開始ステップと、を有することを特徴とするプロセッサの制御方法。
A method for controlling a processor in a multiprocessor system including a plurality of interrelated processors,
A first stop step of stopping the operation of the first processor in response to a stop request from a first external device connected to the first processor;
A first output step of outputting, to a second processor connected to the first processor, an external access wait request signal for the second external device connected to the second processor at a first level. When,
A second stop step of stopping an access cycle for the second external device by detecting the first level external access wait request signal;
A first start step of starting the operation of the first processor in response to an operation start request from a first external device connected to the first processor;
A second output step of outputting, to a second processor connected to the first processor, an external access wait request signal for a second external device connected to the second processor at a second level; When,
And a second start step of starting an access cycle for the second external device by detecting the second level external access wait request signal.
前記第2の停止ステップは、前記第2の外部デバイスに対して、アクセス・サイクル中であるか否かを識別する第1の識別ステップと、
前記第1の識別ステップで、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス・サイクル中であると識別した場合には、該アクセス・サイクルを延長するステップと、
前記第1の識別ステップで、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス前であると識別した場合には、次に実行するアクセス・サイクルを延期し、待機状態へ移行するステップと、を有し、
さらに、前記第2の開始ステップは、前記第2の外部デバイスに対して、アクセス・サイクルが延期されているか否かを識別する第2の識別ステップと、
前記第2の識別ステップで、前記第2のプロセッサが前記第2の外部デバイスに対してアクセス・サイクルを延期していると識別した場合には、該アクセス・サイクルを再開するステップと、
前記第2の識別ステップで、前記第2のプロセッサがアクセス・サイクルの待機状態であると識別した場合には、該待機状態を解除し、外部デバイスへのアクセス・サイクルを開始するステップと、を有することを特徴とする請求項4記載のプロセッサの制御方法。
The second stop step includes a first identification step for identifying whether or not an access cycle is being performed for the second external device;
If the first identifying step identifies that the second processor is in an access cycle for the second external device, extending the access cycle;
In the first identification step, when the second processor identifies that the second external device is not yet accessed, the next access cycle to be executed is postponed and the standby state is entered. And having steps,
Further, the second starting step includes a second identifying step for identifying whether or not an access cycle is postponed for the second external device;
Resuming the access cycle if the second identification step identifies that the second processor is deferring an access cycle for the second external device;
When the second identifying step identifies that the second processor is in an access cycle waiting state, the step of releasing the waiting state and starting an access cycle to an external device includes: 5. The processor control method according to claim 4, further comprising:
前記外部デバイスは、該外部デバイスに接続されたプロセッサが実行する命令を記憶したメモリであることを特徴とする請求項4または5に記載のプロセッサの制御方法。   The processor control method according to claim 4, wherein the external device is a memory that stores an instruction to be executed by a processor connected to the external device.
JP2004223468A 2004-07-30 2004-07-30 Multiprocessor system and processor control method Expired - Fee Related JP4293086B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004223468A JP4293086B2 (en) 2004-07-30 2004-07-30 Multiprocessor system and processor control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004223468A JP4293086B2 (en) 2004-07-30 2004-07-30 Multiprocessor system and processor control method

Publications (2)

Publication Number Publication Date
JP2006040224A JP2006040224A (en) 2006-02-09
JP4293086B2 true JP4293086B2 (en) 2009-07-08

Family

ID=35905103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004223468A Expired - Fee Related JP4293086B2 (en) 2004-07-30 2004-07-30 Multiprocessor system and processor control method

Country Status (1)

Country Link
JP (1) JP4293086B2 (en)

Also Published As

Publication number Publication date
JP2006040224A (en) 2006-02-09

Similar Documents

Publication Publication Date Title
TWI454905B (en) Constrained boot techniques in multi-core platforms
JP2014517401A (en) Reduced power consumption of processor non-core circuits
TWI275945B (en) Optimization of SMI handling and initialization
US20210200582A1 (en) Data transmission method and device
KR20140127341A (en) Method and system for scheduling requests in a portable computing device
CN101454755A (en) Computer system with increased operating efficiency
US6789183B1 (en) Apparatus and method for activation of a digital signal processor in an idle mode for interprocessor transfer of signal groups in a digital signal processing unit
EP1821211A2 (en) Cooperative multitasking method in a multiprocessor system
JP3866749B2 (en) Microprocessor
US7966481B2 (en) Computer system and method for executing port communications without interrupting the receiving computer
JP4168281B2 (en) Parallel processing system, interconnection network, node and network control program
JP4293086B2 (en) Multiprocessor system and processor control method
US6708259B1 (en) Programmable wake up of memory transfer controllers in a memory transfer engine
JP2010146117A (en) Information processor, information processing method and information processing program
JPS60218152A (en) Microprocessor
US20110231637A1 (en) Central processing unit and method for workload dependent optimization thereof
JPH02211534A (en) Parallel processor
WO2007088581A1 (en) Procedure calling method in shared memory multiprocessor, procedure calling program and recording medium
JP2008299740A (en) Asynchronous microprocessor and electronic information device
JP2008191840A (en) Control system and control method
JP5002238B2 (en) Digital signal processor system and starting method of digital signal processor
JP5593195B2 (en) Data processing device
JPH09218859A (en) Multiprocessor control system
JPH07325800A (en) Data flow processor
JP3120203B2 (en) Soft timer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

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: 20090317

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090330

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130417

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130417

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140417

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees