JP2007172311A - Processor - Google Patents

Processor Download PDF

Info

Publication number
JP2007172311A
JP2007172311A JP2005369442A JP2005369442A JP2007172311A JP 2007172311 A JP2007172311 A JP 2007172311A JP 2005369442 A JP2005369442 A JP 2005369442A JP 2005369442 A JP2005369442 A JP 2005369442A JP 2007172311 A JP2007172311 A JP 2007172311A
Authority
JP
Japan
Prior art keywords
processor
task
unit
executed
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
JP2005369442A
Other languages
Japanese (ja)
Inventor
Mitsunari Todoroki
晃成 轟
Katsuya Tanaka
克哉 田中
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005369442A priority Critical patent/JP2007172311A/en
Publication of JP2007172311A publication Critical patent/JP2007172311A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a processor in which a conventional operating system used for a single processor is applied to a multi-processor, and processors included in the multi-processor are operated in parallel by the plurality of operating systems. <P>SOLUTION: The processor is constituted of unit processors P0 and P3 for executing tasks by an OS part, unit processors P1 and P2 for executing tasks by a multi-processor corresponding OS and a task arbitration part 210 and an interface area 220 for delivering/receiving task information relating to tasks to be executed by the unit processors P0 and P3 and tasks to be executed by the unit processors P1 and P2 to/from the other tasks. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、プロセッサにかかり、特に複数のプロセッサが複数のオペレーティングシステムによって動作するマルチプ方式のプロセッサに関する。   The present invention relates to a processor, and more particularly to a multiple processor in which a plurality of processors are operated by a plurality of operating systems.

特定の装置に用いられるプロセッサは、組込みシステムと呼ばれている。近年では、組込みシステムにマルチプロセッサやマルチスレッドプロセッサが採用されることも多い。マルチプロセッサの採用は、装置の低クロック化や応答性の向上に有利である。また、特に携帯型の装置では、消費電力を低減することにも有利であるためマルチプロセッサを採用することが望まれている。   A processor used in a specific device is called an embedded system. In recent years, multiprocessors and multithread processors are often employed in embedded systems. The use of a multiprocessor is advantageous for reducing the clock of the device and improving the response. In particular, in a portable device, it is advantageous to reduce power consumption, and therefore it is desired to employ a multiprocessor.

ところで、新たに開発したプロセッサが正常に動作するか否かの判断に時間及びコストがかかる。このため、ソフトウェアの分野では、使用した結果実績のあるプロセッサが流用可能であるならば、これを流用することが望ましいとされている。したがって、組込みシステムをマルチプロセッサ化する場合、先に使用されていたシングルプロセッサのソフトウェアを流用する要求がある。   By the way, it takes time and cost to determine whether or not a newly developed processor operates normally. For this reason, in the field of software, if a processor with a proven track record as a result of use can be diverted, it is desirable to divert it. Therefore, when an embedded system is made into a multiprocessor, there is a demand for diverting the previously used single processor software.

シングルプロセッサをマルチプロセッサに流用する従来技術として、例えば、特許文献1がある。特許文献1の発明は、μITRON(登録商標)をベースにしたシングルプロセッサ用のオペレーティングシステムをマルチプロセッサに移植するものである。
特開平8−297581号公報
For example, Patent Document 1 discloses a conventional technique for diverting a single processor to a multiprocessor. In the invention of Patent Document 1, an operating system for a single processor based on μITRON (registered trademark) is ported to a multiprocessor.
JP-A-8-2977581

しかしながら、上記した特許文献1の発明は、マルチプロセッサのシステムをSMP(Symmetric Multi Processor)型のみのプロセッサで構築すると、シングルプロセッサの資産であるアプリケーションの移植作業の作業量が膨大になるという欠点がある。一方、マルチプロセッサを機能分散型のオペレーティングシステムのみで動作させた場合、複数のプロセッサを並列的に動作させることが困難である。   However, the above-described invention of Patent Document 1 has a drawback in that when a multiprocessor system is constructed with only a SMP (Symmetric Multi Processor) type processor, the amount of work of porting an application, which is a single processor asset, becomes enormous. is there. On the other hand, when a multiprocessor is operated only by a function distribution type operating system, it is difficult to operate a plurality of processors in parallel.

また、複数のプロセッサを並列的に動作させるためには、複数のオペレーティングシステムを動作させることが考えられる。しかし、従来技術では、複数のオペレーティングシステムをマルチプロセッサ上で動作させることは考えられていなかった。従来のシングルプロセッサの技術では、複数のオペレーティングシステムを動作させる場合にオペレーティングシステムを動的に切替える。このため、オペレーティングシステム切替えのためのロス時間が発生することになる。   In order to operate a plurality of processors in parallel, it is conceivable to operate a plurality of operating systems. However, in the prior art, it has not been considered to operate a plurality of operating systems on a multiprocessor. In the conventional single processor technology, when operating a plurality of operating systems, the operating systems are dynamically switched. For this reason, a loss time for switching the operating system occurs.

本発明は、以上の点に鑑みて行われたものであって、従来のシングルプロセッサに使用されていたオペレーティングシステムをマルチプロセッサに流用し、マルチプロセッサに含まれるプロセッサを複数のオペレーティングシステムによって並列に動作させることができるプロセッサを提供することを目的とする。   The present invention has been made in view of the above points, and an operating system used in a conventional single processor is diverted to a multiprocessor, and the processors included in the multiprocessor are parallelized by a plurality of operating systems. An object is to provide a processor that can be operated.

以上の課題を解決するため、本発明のプロセッサは、第1オペレーティングシステムによってタスクを実行する第1プロセッサ及び第2オペレーティングシステムによってタスクを実行する第2プロセッサと、前記第1プロセッサによって実行されるタスク、前記第2プロセッサによって実行されるタスクにかかるタスク情報を他のタスクとの間で授受するタスク情報通信手段と、を備えることを特徴とする。   In order to solve the above problems, a processor of the present invention includes a first processor that executes a task by a first operating system, a second processor that executes a task by a second operating system, and a task that is executed by the first processor And task information communication means for exchanging task information concerning a task executed by the second processor with another task.

このような発明によれば、複数のプロセッサが互いに異なるOSを使ってタスクを処理する場合にもタスク間通信することができる。このため、1のプロセッサに組み込まれる複数のプロセッサを別個のOSを使って並列に動作させることができる。したがって、本発明のプロセッサは、複数のプロセッサを組み合わせ、かつ各々のプロセッサのOSとして実績のあるOSを使用して動作させることができる。このような本発明は、従来のシングルプロセッサに使用されていたオペレーティングシステムをマルチプロセッサに流用し、マルチプロセッサに含まれるプロセッサを複数のオペレーティングシステムによって並列に動作させることができるプロセッサを提供することができる。   According to such an invention, inter-task communication can be performed even when a plurality of processors process tasks using different OSs. Therefore, a plurality of processors incorporated in one processor can be operated in parallel using separate OSs. Therefore, the processor of the present invention can be operated by combining a plurality of processors and using a proven OS as the OS of each processor. The present invention provides a processor capable of diverting an operating system used for a conventional single processor to a multiprocessor and allowing the processors included in the multiprocessor to operate in parallel by a plurality of operating systems. it can.

また、本発明のプロセッサは、前記タスク情報通信手段が、前記第1オペレーティングシステムによって実行されるタスク間、前記第2オペレーティングシステムによって実行されるタスク間でタスク情報を授受することを特徴とする。
このような発明によれば、一のOSによって実行されるタスク同士でタスク間通信が可能になる。この発明は、タスクの内容やプロセッサの構成等に応じてタスク間通信を行うタスクの範囲を任意に設定することを可能にする。
The processor according to the present invention is characterized in that the task information communication means exchanges task information between tasks executed by the first operating system and between tasks executed by the second operating system.
According to such an invention, inter-task communication is possible between tasks executed by one OS. The present invention makes it possible to arbitrarily set a range of tasks for performing inter-task communication according to task contents, processor configuration, and the like.

また、本発明のプロセッサは、前記タスク情報通信手段が、前記第1オペレーティングシステムによって実行されるタスクと前記第2オペレーティングシステムによって実行されるタスクとの間でタスク情報を授受することを特徴とする。
このような発明によれば、複数のOSの間でタスク間通信が可能になる。この発明は、タスクの内容やプロセッサの構成等に応じてタスク間通信を行うタスクの範囲を任意に設定することを可能にする。
The processor according to the present invention is characterized in that the task information communication means exchanges task information between a task executed by the first operating system and a task executed by the second operating system. .
According to such an invention, inter-task communication can be performed between a plurality of OSs. The present invention makes it possible to arbitrarily set a range of tasks for performing inter-task communication according to task contents, processor configuration, and the like.

また、本発明のプロセッサは、前記タスク情報通信手段が、前記第1オペレーティングシステム、前記第2オペレーティングシステムを識別する識別情報を前記タスク情報に付与することによってタスク情報が授受されるタスクの範囲を設定することを特徴とする。
また、本発明のプロセッサは、前記タスク情報通信手段が、前記第1プロセッサ、前記第2プロセッサのいずれもが情報の読み取り及び書込みが可能な記憶領域を備えることを特徴とする。
このような発明によれば、第1プロセッサ、第2プロセッサが記憶領域を介して互いに通信することができる。この発明は、比較的簡単な構成によって本発明のプロセッサを実現することを可能にする。
In the processor of the present invention, the task information communication means assigns identification information for identifying the first operating system and the second operating system to the task information, so that the task information can be transmitted and received. It is characterized by setting.
The processor according to the present invention is characterized in that the task information communication means includes a storage area in which both the first processor and the second processor can read and write information.
According to such an invention, the first processor and the second processor can communicate with each other via the storage area. The present invention makes it possible to implement the processor of the present invention with a relatively simple configuration.

また、本発明のプロセッサは、前記第1プロセッサ、第2プロセッサのうちのいずれかが対称型マルチプロセッサであって、他方が機能分散型プロセッサを構成することを特徴とする。
このような発明によれば、対称型マルチプロセッサ、機能分散型プロセッサを組み合わせてマルチプロセッサを構成し、組み合わされたプロセッサを各々従前のマルチプロセッサ対応OS、シングルプロセッサ用OSを使って動作させることができる。
The processor according to the present invention is characterized in that one of the first processor and the second processor is a symmetric multiprocessor, and the other constitutes a function distribution type processor.
According to such an invention, it is possible to configure a multiprocessor by combining a symmetric multiprocessor and a function-distributed processor, and to operate the combined processor using a conventional multiprocessor-compatible OS and a single processor OS. it can.

以下、図を参照して本発明に係るプロセッサの一実施の形態を説明する。なお、本実施形態は、本実施形態のプロセッサを、携帯電話に適用される組込みシステムとして構成したものとする。
図1は、本発明にかかる携帯電話1の機能構成を示すブロック図である。図1において、携帯電話1は、CPU(Central Processing Unit)10と、フラッシュROM20と、メモリ30と、バッファ40と、無線部50と、IrDA(Infrared Data Association)部60と、オーディオ(Audio)部70と、タイマ(Timer)80と、USB(Universal Serial Bus)インターフェース部90と、キー(KEY)操作部100と、LCD(Liquid Crystal Display)110と、カメラ(Camera)部120を含んで構成され、CPU10、フラッシュROM20、メモリ30及びバッファ40は、バスによって接続されている。また、無線部50、IrDA部60、オーディオ部70、タイマ80、USBインターフェース部90、キー操作部100、LCD110及びカメラ部120は、CPU10と直接接続されている。
Hereinafter, an embodiment of a processor according to the present invention will be described with reference to the drawings. In the present embodiment, it is assumed that the processor of the present embodiment is configured as an embedded system applied to a mobile phone.
FIG. 1 is a block diagram showing a functional configuration of a mobile phone 1 according to the present invention. In FIG. 1, a mobile phone 1 includes a CPU (Central Processing Unit) 10, a flash ROM 20, a memory 30, a buffer 40, a radio unit 50, an IrDA (Infrared Data Association) unit 60, and an audio unit. 70, a timer 80, a USB (Universal Serial Bus) interface unit 90, a key operation unit 100, an LCD (Liquid Crystal Display) 110, and a camera unit 120. The CPU 10, the flash ROM 20, the memory 30, and the buffer 40 are connected by a bus. The wireless unit 50, IrDA unit 60, audio unit 70, timer 80, USB interface unit 90, key operation unit 100, LCD 110, and camera unit 120 are directly connected to the CPU 10.

CPU10は、複数のタスクを並列的に処理しながら携帯電話1全体を制御するもので、キー操作部100から入力される各種の指示信号に応じて、フラッシュROM30に記憶されたオペレーティングシステムプログラム(OS:Operating System)や各種アプリケーションプログラムを読み出して実行したり、無線部50、オーディオ部70あるいはカメラ部120等の周辺チップから入力される割込み信号に応じて、割込みハンドラを実行したりする。   The CPU 10 controls the entire mobile phone 1 while processing a plurality of tasks in parallel, and an operating system program (OS) stored in the flash ROM 30 according to various instruction signals input from the key operation unit 100. : Operating System) and various application programs are read and executed, or an interrupt handler is executed in response to an interrupt signal input from a peripheral chip such as the wireless unit 50, the audio unit 70, or the camera unit 120.

例えば、CPU10は、アプリケーションにより生成されたタスクを並行して処理する。さらに、周辺チップから割込み信号が入力された場合、割込みハンドラを実行することにより、割込みに対応するプログラムを実行する。なお、アプリケーションによる処理は、OSのタスクスケジューラによって管理されるタスクとして実行されるため、OSのサービスコールを呼び出すことができ、一方、割込み処理は、タスクスケジューラによって管理されない処理(非タスク処理)である。
また、CPU10は、各種処理結果をフラッシュROM20あるいはメモリ30に格納する。
For example, the CPU 10 processes tasks generated by the application in parallel. Further, when an interrupt signal is input from the peripheral chip, the program corresponding to the interrupt is executed by executing the interrupt handler. Since processing by an application is executed as a task managed by the OS task scheduler, an OS service call can be called. On the other hand, interrupt processing is processing that is not managed by the task scheduler (non-task processing). is there.
Further, the CPU 10 stores various processing results in the flash ROM 20 or the memory 30.

図2は、CPU10の内部構成を示すブロック図である。図2において、CPU10は、複数の単位プロセッサP0〜P3と、割込み制御部11と、メモリ制御部12と、ハードウェアセマフォ部13とを含んで構成される。なお、ハードウェアセマフォ部13は、いずれかの単位プロセッサにOSになる権利であるセマフォ(本実施形態ではハードウェアセマフォと記す)を付与する構成である。   FIG. 2 is a block diagram showing an internal configuration of the CPU 10. 2, the CPU 10 includes a plurality of unit processors P0 to P3, an interrupt control unit 11, a memory control unit 12, and a hardware semaphore unit 13. Note that the hardware semaphore unit 13 is configured to give a semaphore (referred to as a hardware semaphore in this embodiment) that is a right to become an OS to any unit processor.

単位プロセッサ0〜3は、このうちのいずれかが対称型マルチプロセッサ(以降SMP)を構成し、他が機能分散型プロセッサとなる。SMPとは、複数のプロセッサが同等な立場で処理を分担するマルチプロセッサである。本来、SMPでは、タスクがどのプロセッサで実行されるかを意識する必要がない。一方、機能分散型プロセッサとは、例えば通信制御、イメージ処理といった特定の処理に特化して動作するシングルプロセッサである。機能分散型プロセッサでは、タスクの割込みもプロセッサごとに処理される。   One of the unit processors 0 to 3 constitutes a symmetric multiprocessor (hereinafter referred to as SMP), and the other becomes a function distributed processor. SMP is a multiprocessor in which a plurality of processors share processing from an equivalent standpoint. Originally, in SMP, it is not necessary to be aware of which processor the task is executed on. On the other hand, the function-distributed processor is a single processor that operates specifically for specific processing such as communication control and image processing. In the function-distributed processor, task interrupts are processed for each processor.

本実施形態では、単位プロセッサP0、単位プロセッサP3が機能分散型プロセッサであって、単位プロセッサP1、単位プロセッサP2がSMP5を構成するものとする。
SMPと機能分散型プロセッサとが混在する本実施形態のプロセッサは、後述するように、プロセッサが複数種類のOSを有している。このため、ハードウェアセマフォ部13には複数のハードウェアセマフォがある。単位プロセッサP0〜P3は、各々自身に対応するOSを取得する。
In this embodiment, the unit processor P0 and the unit processor P3 are function distributed processors, and the unit processor P1 and the unit processor P2 constitute the SMP5.
As will be described later, the processor of this embodiment in which SMP and function-distributed processors coexist has a plurality of types of OSs. For this reason, the hardware semaphore unit 13 has a plurality of hardware semaphores. Each of the unit processors P0 to P3 acquires an OS corresponding to itself.

また、本実施形態のプロセッサは、単位プロセッサP0〜P3の共有エリアとなるメモリ30と、メモリ30を制御するメモリ制御部12とを備えている。本実施形態では、メモリ30及びメモリ制御部12をタスク情報通信手段として使用し、タスクの実行状態を示す情報(タスク情報)を単位プロセッサP0〜P3間で授受する。メモリ制御部12のうち、特にタスク情報の授受にかかる構成を、タスク調停部210として示す。また、メモリ30のうちのタスク情報の授受に使用される領域をインターフェイスエリア220として示す。
なお、タスク調停部210、インターフェイスエリア220によるタスク情報の授受については後に詳述する。
Further, the processor of the present embodiment includes a memory 30 serving as a shared area for the unit processors P0 to P3, and a memory control unit 12 that controls the memory 30. In this embodiment, the memory 30 and the memory control unit 12 are used as task information communication means, and information (task information) indicating the task execution state is exchanged between the unit processors P0 to P3. Of the memory control unit 12, a configuration related to the exchange of task information in particular is shown as a task arbitration unit 210. An area used for exchanging task information in the memory 30 is shown as an interface area 220.
Note that task information exchange by the task arbitration unit 210 and the interface area 220 will be described in detail later.

次に、単位プロセッサP0〜P3の内部構成について説明する。単位プロセッサP0〜P3は同様に構成されているため、代表として、単位プロセッサP0の内部構成について説明する。
単位プロセッサP0は、フェッチ部101と、デコード部102と、ALU(Arithmetic and Logical Unit)103と、レジスタファイル104と、プログラム制御部105とを含んで構成される。フェッチ部101は、後述するプログラム制御部105のプログラムカウンタが示すメモリアドレスから命令コードを読み出し、デコード部102に出力する。
Next, the internal configuration of the unit processors P0 to P3 will be described. Since the unit processors P0 to P3 are configured similarly, the internal configuration of the unit processor P0 will be described as a representative.
The unit processor P0 includes a fetch unit 101, a decode unit 102, an ALU (Arithmetic and Logical Unit) 103, a register file 104, and a program control unit 105. The fetch unit 101 reads out an instruction code from a memory address indicated by a program counter of the program control unit 105 described later, and outputs the instruction code to the decoding unit 102.

デコード部102は、フェッチ部101によって入力された命令コードをデコードし、デコード結果(命令内容及びソースレジスタ、デスティネーションレジスタのアドレス等)をALU103に出力する。
ALU103は、デコード部102によって入力されたデコード結果に応じて、所定の演算を行い、演算結果をレジスタファイル104に書き込む、あるいは分岐命令等の演算結果であるブランチ先のアドレスをプログラム制御部105に出力する。
The decoding unit 102 decodes the instruction code input by the fetch unit 101, and outputs a decoding result (instruction content, source register, destination register address, etc.) to the ALU 103.
The ALU 103 performs a predetermined operation in accordance with the decoding result input by the decoding unit 102 and writes the operation result to the register file 104 or the branch destination address that is the operation result of a branch instruction or the like to the program control unit 105. Output.

レジスタファイル104は、ロード命令によってメモリ30から読み出されたデータや、ALU103の演算結果であるデータを記憶するレジスタ群である。
プログラム制御部105は、単位プロセッサP0全体を制御するものであり、単位プロセッサP0のステータス(例えば、割込みの可否状態、単位プロセッサP0におけるオーバーフローの発生状態等)を記憶するステータスレジスタ(PSR)と、単位プロセッサP0が次に実行するべき命令が格納されたメモリアドレスを記憶するプログラムカウンタ(PC)とを含んで構成される。そして、プログラム制御部105は、単位プロセッサP0が割込み処理に移行する時点で、PSRの値を割込み処理の禁止状態に変更したり、分岐命令が実行された場合に、プログラムカウンタの値を分岐先のアドレスに変更したりする。
The register file 104 is a register group that stores data read from the memory 30 by a load instruction and data that is an operation result of the ALU 103.
The program control unit 105 controls the entire unit processor P0, and stores a status register (PSR) that stores the status of the unit processor P0 (for example, an interrupt enabled / disabled state, an overflow occurrence state in the unit processor P0), The unit processor P0 includes a program counter (PC) that stores a memory address in which an instruction to be executed next is stored. Then, when the unit processor P0 shifts to interrupt processing, the program control unit 105 changes the value of the program counter to the branch destination when the PSR value is changed to the interrupt processing prohibited state or a branch instruction is executed. Or change the address to

また、プログラム制御部105は、実行中のタスクによってハードウェアセマフォの取得要求が出力された場合、先ず、ハードウェアセマフォの取得結果を受け取り、ステータスレジスタにおけるハードウェアセマフォの取得結果を示す領域(以下、「セマフォ取得結果レジスタ」という。)に取得に成功したことを示すフラグ(OSへの移行が許可されたことを示すフラグ)を更新する。一方、セマフォ取得に失敗した場合、取得に失敗したことを示すフラグ(OSへの移行が拒否されたことを示すフラグ)が書き込まれた場合、ハードウェアセマフォの取得を一旦停止し、待機状態から離脱する。   In addition, when a hardware semaphore acquisition request is output by a task being executed, the program control unit 105 first receives a hardware semaphore acquisition result, and an area indicating the hardware semaphore acquisition result in the status register (hereinafter, referred to as a hardware semaphore acquisition result) , “Semaphore acquisition result register”) is updated with a flag indicating that the acquisition has succeeded (a flag indicating that the transition to the OS is permitted). On the other hand, if acquisition of the semaphore fails, a flag indicating failure in acquisition (a flag indicating that the migration to the OS has been rejected) is written, the hardware semaphore acquisition is temporarily stopped and break away.

さらに、プログラム制御部105は、追出し禁止フラグ106を備えている。追出し禁止フラグ106は、指定された単位プロセッサにおいてタスクの切替えや外部割込みが起こり、タスクが単位プロセッサから追出されることを禁止するための機構である。追出し禁止フラグ106を1にすることによって現在単位プロセッサにあるタスクが他のタスクに切替えられることが禁止される。単位プロセッサにおけるタスクの追出しが禁止された状態を以降ロック状態とも記す。   Furthermore, the program control unit 105 includes an eviction prohibition flag 106. The eviction prohibition flag 106 is a mechanism for prohibiting a task from being ejected from a unit processor when task switching or an external interrupt occurs in a designated unit processor. Setting the eviction prohibition flag 106 to 1 prohibits the task currently in the unit processor from being switched to another task. A state in which task eviction in the unit processor is prohibited is hereinafter referred to as a locked state.

割込み制御部11は、無線部50等の周辺チップから割込み信号が入力された場合に、割込み信号を調停した上で、所定の割込み信号を単位プロセッサP0に出力する。メモリ制御部12は、CPU10とメモリ30との間に備えられ、CPU10からメモリ30に対するデータの読み出し及び書込みが行われる場合に、メモリ30を制御してデータの入出力を行う。   When an interrupt signal is input from a peripheral chip such as the wireless unit 50, the interrupt control unit 11 arbitrates the interrupt signal and then outputs a predetermined interrupt signal to the unit processor P0. The memory control unit 12 is provided between the CPU 10 and the memory 30 and controls the memory 30 to input / output data when the CPU 10 reads / writes data from / to the memory 30.

ハードウェアセマフォ部13は、排他制御を実現する機構を有し、単位プロセッサP0〜P3からセマフォ取得要求があったとき、既にセマフォが獲得されている状態であれば新たな要求に対して、セマフォの獲得失敗を通知する。一方、それ以前にセマフォが獲得された状態でなければ、セマフォ取得成功の通知を単位プロセッサに返答する機能を有している。   The hardware semaphore unit 13 has a mechanism that realizes exclusive control. When a semaphore acquisition request is received from the unit processors P0 to P3, if the semaphore has already been acquired, the semaphore unit 13 responds to a new request. Notify acquisition failure. On the other hand, if the semaphore has not been acquired before that, it has a function of returning a notification of successful semaphore acquisition to the unit processor.

すなわち、本実施形態では、ハードウェアセマフォを取得した単位プロセッサだけがOSを占有してタスクの処理を実行する権利を得る。このため、単位プロセッサP0〜P3のうちのいずれか1つだけがOSに移行できるので、OS同士の競合を防止する排他制御を実現できる。そして、OSによって使用されるメモリ30の所定の領域が同時にアクセスされたために処理が中断する等の不具合を防ぐことができる。
また、本実施形態では、追出し禁止フラグ106によってタスクが追出されることをOSのサービスコール終了まで禁止することができる。
That is, in this embodiment, only the unit processor that has acquired the hardware semaphore obtains the right to execute the task processing while occupying the OS. For this reason, since only one of the unit processors P0 to P3 can shift to the OS, exclusive control for preventing competition between the OSs can be realized. Then, it is possible to prevent problems such as interruption of processing because a predetermined area of the memory 30 used by the OS is simultaneously accessed.
In the present embodiment, the eviction prohibition flag 106 can prohibit the task from being expelled until the OS service call ends.

さらに、本実施形態では、排他制御の実行中、プロセッサによる割込み処理の実行を禁止する。本実施形態では、割込み処理の実行禁止を割込み制御部11によって行っている。すなわち、割込み制御部11は、単位プロセッサP0〜P3のステータスが書き込まれるステータスレジスタ(図示せず)を備えている。ステータスレジスタのステータスを「割込み否」に設定することにより、割込み制御部11は、所望の単位プロセッサに対する割込み処理を禁止することができる。   Furthermore, in the present embodiment, execution of interrupt processing by the processor is prohibited during execution of exclusive control. In the present embodiment, the interrupt control unit 11 prohibits execution of interrupt processing. That is, the interrupt control unit 11 includes a status register (not shown) in which the statuses of the unit processors P0 to P3 are written. By setting the status of the status register to “no interrupt”, the interrupt control unit 11 can prohibit interrupt processing for a desired unit processor.

図3は、本実施形態でいうSMPにおける単位プロセッサの結合を例示した図である。図3(a)、(b)に示したSMPは、いずれも複数の単位プロセッサPuを、メモリを共有するように結合して構成されている。(a)に示した構成は、マルチプロセッサと呼ばれている構成であって、(b)に示した構成はマルチスレッドプロセッサと呼ばれている。マルチスレッドプロセッサは、マルチプロセッサよりも演算器を共有している点で単位プロセッサPuは密に結合しているという。なお、本実施形態のプロセッサは、SMPとしてマルチプロセッサ、マルチスレッドプロセッサのいずれを採用しても構成可能である。   FIG. 3 is a diagram illustrating the coupling of unit processors in the SMP referred to in the present embodiment. Each of the SMPs shown in FIGS. 3A and 3B is configured by coupling a plurality of unit processors Pu so as to share a memory. The configuration shown in (a) is a configuration called a multiprocessor, and the configuration shown in (b) is called a multithread processor. The multi-thread processor is said to be tightly coupled to the unit processor Pu in that it shares an arithmetic unit more than the multi-processor. Note that the processor of the present embodiment can be configured by adopting either a multiprocessor or a multithread processor as the SMP.

図4(a)に示すように、SMPは、マルチプロセッサに対応するマルチプロセッサ対応OS401によって複数のユーザタスクt1〜t3を並列に処理する。また、機能分散型プロセッサでは、(b)に示すように、個々のプロセッサがOS部によって複数のタスク(タスク群)を割込みによって処理している(例えばOS部403aが割込ハンドラ402を使ってユーザタスク群t11に含まれる複数のタスクを処理する)。   As shown in FIG. 4A, the SMP processes a plurality of user tasks t1 to t3 in parallel by the multiprocessor-compatible OS 401 corresponding to the multiprocessor. In the function distributed processor, as shown in (b), each processor processes a plurality of tasks (task group) by an interrupt by the OS unit (for example, the OS unit 403a uses the interrupt handler 402). A plurality of tasks included in the user task group t11 are processed).

本実施形態のプロセッサは、複数の単位プロセッサの一部を結合してマルチプロセッサを構成している。このため、プロセッサ内でSMPと機能分散型プロセッサとが混在することになり、SMPはマルチプロセッサ対応OS401によって動作する。機能分散プロセッサは、OS部403a等によって動作する。したがって、本実施形態のプロセッサ上では、複数のOSが動作することになる。プロセッサが複数のOSによって動作する状態を図5に示す。   The processor of this embodiment forms a multiprocessor by combining a part of a plurality of unit processors. For this reason, the SMP and the function distribution type processor coexist in the processor, and the SMP is operated by the OS 401 corresponding to the multiprocessor. The function distribution processor is operated by the OS unit 403a and the like. Therefore, a plurality of OSs operate on the processor of this embodiment. FIG. 5 shows a state where the processor is operated by a plurality of OSs.

このような本実施形態では、単位プロセッサ0及び単位プロセッサ3が第1オペレーティングシステムであるOS部403a、403cによってタスクを実行する第1プロセッサに相当する。また、SMP5を構成する単位プロセッサ1、単位プロセッサ2が第2オペレーティングシステムであるマルチプロセッサ対応OS401によってタスクを実行する第2プロセッサに相当する。
また、前記したように、本実施形態では、タスク調停部210が、単位プロセッサ0、単位プロセッサ3によって実行されるタスク、単位プロセッサ1、単位プロセッサ2によって実行されるタスクにかかるタスク情報を他のタスクとの間で授受している。
In this embodiment, the unit processor 0 and the unit processor 3 correspond to first processors that execute tasks by the OS units 403a and 403c, which are first operating systems. The unit processor 1 and the unit processor 2 constituting the SMP 5 correspond to a second processor that executes a task by the multiprocessor-compatible OS 401 that is the second operating system.
In addition, as described above, in this embodiment, the task arbitration unit 210 stores task information related to tasks executed by the unit processor 0 and the unit processor 3, tasks executed by the unit processor 1 and the unit processor 2, and the like. I am exchanging with the task.

次に、本実施形態のプロセッサのタスク調停について説明する。
本実施形態のプロセッサは、タスク間通信によってタスク情報を他のプロセッサと授受し、タスクを調停する。タスク間通信は、一般的にイベントフラグ、セマフォ、メッセージキュー、メールボックス等によって実行される。なお、本実施形態のプロセッサは、上記した手法のうちイベントフラグによってタスク間通信をするものとする。ただし、本実施形態は、このような構成に限定されるものでなく、いずれのタスク間通信の方法を採用しても実現可能である。
Next, task arbitration of the processor of this embodiment will be described.
The processor according to the present embodiment exchanges task information with other processors through inter-task communication, and arbitrates tasks. Communication between tasks is generally executed by an event flag, a semaphore, a message queue, a mailbox or the like. In addition, the processor of this embodiment shall perform communication between tasks by an event flag among the methods mentioned above. However, the present embodiment is not limited to such a configuration, and can be realized by adopting any inter-task communication method.

イベントフラグによるタスク間通信は、タスク情報の送信元となるプロセッサが、処理の要求先となるプロセッサへの命令(コマンド)、要求先プロセッサを特定するためのID情報、命令を実行するためのデータ等をタスク情報としてインタフェースエリアに書き込みを行う事で送信する。一方、タスク情報を受け取ったプロセッサは、コマンドの実行結果を示すデータ、終了コードをタスク情報としてインタフェースエリアに書き込みを行う事で返信する。なお、要求元のプロセッサは、要求先のプロセッサが書き込みを行うインタフェースエリアの状態フラグが終了状態になるまでポーリング等によって待機する。   Inter-task communication by event flag is performed by a processor that is a task information transmission source, an instruction (command) to a processor that is a processing request destination, ID information for specifying the request destination processor, and data for executing the instruction. Etc. as task information and sent to the interface area. On the other hand, the processor that has received the task information returns it by writing the data indicating the execution result of the command and the end code as task information to the interface area. The request source processor waits by polling or the like until the status flag of the interface area to which the request destination processor performs writing ends.

本実施形態では、OSの識別情報を付与することによってタスク情報が授受されるタスクの範囲を設定している。すなわち、タスク間通信は、従来よりサービスコール内でタスクのIDを指定して行われている。本実施形態は、タスクのIDを拡張し、タスクに加えてタスクを処理するプロセッサが使用するOSをも指定するIDを設定する。IDを受け取ったプロセッサ内のOS部は、IDに基づいて他のOSを使用するプロセッサ宛に情報を送信すると判断した場合にのみインタフェースエリアに情報を書込み、プロセッサ割込みを発生させる。   In the present embodiment, the range of tasks to which task information is exchanged is set by adding OS identification information. That is, inter-task communication is conventionally performed by specifying a task ID in a service call. In this embodiment, the ID of the task is extended, and an ID that also specifies the OS used by the processor that processes the task is set in addition to the task. The OS unit in the processor that has received the ID writes information in the interface area and generates a processor interrupt only when it is determined to transmit information to a processor that uses another OS based on the ID.

このようなIDの設定は、例えば、IDを上位16ビット、下位16ビットに分け、下位16ビットによって従来通りタスクを識別する番号を表す。また、上位16ビットによってクラス名(タスクを処理するプロセッサが使用するOSの識別番号)を表すことによって実現可能である。
OSの識別情報は、例えば、OS部403a、403c、マルチプロセッサ対応OS401固有の数字によって表すことができる。本実施形態では、OS部403aに「1」、OS部403cに「3」、マルチプロセッサ対応OS401に「2」の数字を割り当てる。なお、OS識別番号の定義は、システム初期のパラメータの設定によって可能である。パラメータの設定は、例えば、ブート処理によって可能である。
Such ID setting represents, for example, a number for dividing a ID into upper 16 bits and lower 16 bits, and identifying a task as usual by the lower 16 bits. Further, it can be realized by expressing the class name (the identification number of the OS used by the processor that processes the task) by the upper 16 bits.
The OS identification information can be represented by numbers unique to the OS units 403a and 403c and the multiprocessor-compatible OS 401, for example. In this embodiment, “1” is assigned to the OS unit 403a, “3” is assigned to the OS unit 403c, and “2” is assigned to the multiprocessor-compatible OS 401. The OS identification number can be defined by setting parameters in the initial system. The parameter can be set by boot processing, for example.

クラス名に識別情報「1」が付与されていた場合、タスク情報は、OS部403aを使って動作する単位プロセッサP0で実行されるタスク間で通信される。また、クラス名に識別情報「2」が付与されていた場合、タスク情報は、マルチプロセッサ対応OS401を使って動作する単位プロセッサP1、P2で実行されるタスク間で通信される。さらに、クラス名に識別情報「3」が付与されていた場合、タスク情報は、OS部403cを使って動作する単位プロセッサP3で実行されるタスク間で通信される。   When the identification information “1” is added to the class name, the task information is communicated between tasks executed by the unit processor P0 that operates using the OS unit 403a. When the identification information “2” is added to the class name, the task information is communicated between tasks executed by the unit processors P1 and P2 that operate using the multiprocessor-compatible OS 401. Furthermore, when the identification information “3” is added to the class name, the task information is communicated between tasks executed by the unit processor P3 that operates using the OS unit 403c.

このような識別情報の指定は、タスクの種別によって決定する。すなわち、本実施形態のプロセッサで実行されるタスクには、プロセッサ上で動作するOS以外のOSからメッセージを受信できないタスクと、他のOSからのメッセージを受信できるタスクとがある。他のOSからメッセージを受信可能なタスクをOS間ネットワークタスク、他のOSからメッセージを受信できるタスクをOS内ローカルタスクと記す。   The designation of such identification information is determined by the type of task. That is, the tasks executed by the processor of this embodiment include a task that cannot receive a message from an OS other than the OS that runs on the processor, and a task that can receive a message from another OS. A task that can receive a message from another OS is referred to as an inter-OS network task, and a task that can receive a message from another OS is referred to as an intra-OS local task.

OS間ネットワークタスクは、SMP、機能分散型プロセッサにおいていずれの単位プロセッサとも通信可能である。OS内ローカルタスクは、SMPにおいて単位プロセッサP1、P2間でのみ通信可能であって、機能分散型プロセッサにおいては各プロセッサで実行されるタスク同士でのみ通信ができる。
上記した条件の下、本実施形態は、OS間ネットワークタスクのタスク情報に対し、通信したいプロセッサが使用するOSを示す任意の識別情報を付与する。また、OS内ローカルタスクのタスク情報には、通信可能なプロセッサが使用するOSを示す識別情報を付与し、通信の範囲を指定する。
The inter-OS network task can communicate with any unit processor in an SMP or function distributed processor. The local task in the OS can be communicated only between the unit processors P1 and P2 in SMP, and in the function distributed processor, communication can be performed only between tasks executed by each processor.
Under the above-described conditions, in the present embodiment, arbitrary identification information indicating the OS used by the processor to be communicated is added to the task information of the inter-OS network task. Further, identification information indicating an OS used by a communicable processor is assigned to the task information of the local task in the OS, and a communication range is designated.

図6は、本実施形態のタスク情報が授受されるインターフェイスエリア220を説明するための図である。図示したエリアには、状態フラグを書き込むための状態フラグエリア601、コマンドを書き込むためのコマンドエリア602、通信が終了したことを示す終了情報エリア606がある。このうち、状態フラグエリア601が、インターフェイスエリア220を表している。状態フラグエリアに設定される内容として、例えば、次のものが挙げられる。   FIG. 6 is a diagram for explaining an interface area 220 to which task information according to this embodiment is exchanged. The illustrated area includes a status flag area 601 for writing a status flag, a command area 602 for writing a command, and an end information area 606 indicating that communication has ended. Among these, the status flag area 601 represents the interface area 220. Examples of the contents set in the status flag area include the following.

・アイドリング中(IDLE中) 初期状態を示すものであって、要求元タスクが終了状態を認識したとき設定する。
・要求中:処理の要求元タスク(OS)が処理を要求時に設定する。
・実行中:処理の実行先タスク(OS)が処理を受付け時に設定する。
・終了状態:処理を実行したタスク(OS)が処理を終了時に設定する。
• During idling (IDLE) Indicates the initial state and is set when the requesting task recognizes the end state.
Requesting: The requesting task (OS) of the process sets the process when requested.
-During execution: Set when a process execution destination task (OS) receives a process.
End state: Set when the task (OS) that executed the process ends.

コマンドエリア602には、コマンドIDが書き込まれるエリア603、リソースIDが書き込まれるエリア604、データエリア605がある。コマンドIDとは、例えば、書込み要求や読み込み要求等をコード化して示す情報である。リソースIDは、コマンドIDが何の要求のIDかを特定する情報であって、例えば、イベントフラグの発生、セマフォの取得、メッセージキュー等をコード化して示している。また、データエリア605は、コマンドに必要なデータを補足するためのエリアであって、例えば、書込みエリアポインタや書込みエリアポインタが書き込まれる。   The command area 602 includes an area 603 where a command ID is written, an area 604 where a resource ID is written, and a data area 605. The command ID is information indicating, for example, a write request, a read request, and the like. The resource ID is information for identifying what request the command ID is, and indicates, for example, event flag generation, semaphore acquisition, message queue, and the like. The data area 605 is an area for supplementing data necessary for the command. For example, a write area pointer or a write area pointer is written therein.

終了情報エリア606は、実行先タスク(OS)でコマンド実行した際の情報を示すためのエリアであって、例えば、正常終了したことやエラーコード等が書き込まれる。
以上の構成により、本実施形態のタスク調停部210、インターフェイスエリア220は、OS部403a、403c、マルチプロセッサ対応OS401によって実行されるタスク間でタスク情報を授受することができる。また、タスク調停部210、インターフェイスエリア220は、OS部403a、403c間、さらにはOS部403a、403cによって実行されるタスクとマルチプロセッサ対応OS401によって実行されるタスクとの間でタスク情報を授受することができる。
The end information area 606 is an area for indicating information when a command is executed by the execution destination task (OS), and for example, information indicating normal end and an error code are written therein.
With the above configuration, the task arbitration unit 210 and the interface area 220 of this embodiment can exchange task information between tasks executed by the OS units 403a and 403c and the multiprocessor-compatible OS 401. The task arbitration unit 210 and the interface area 220 exchange task information between the OS units 403a and 403c, and between tasks executed by the OS units 403a and 403c and tasks executed by the multiprocessor-compatible OS 401. be able to.

また、本実施形態は、1、2、3の識別情報を付すことに限定されるものでない。他の識別情報として、例えば、識別情報0を設定してもよい。識別情報0は、いずれのタスクのタスク情報にあっても、タスクを実行した単位プロセッサが使用するOS内で通信することを示すものである。このように構成すれば、単位プロセッサは、タスク情報に付与された識別情報から指定されたOSや単位プロセッサP0〜P3を判別することなく、短時間のうちに通信の範囲を判定することができる。   Further, the present embodiment is not limited to attaching identification information of 1, 2, and 3. As other identification information, for example, identification information 0 may be set. The identification information 0 indicates that communication is performed within the OS used by the unit processor that executed the task, regardless of the task information of any task. With this configuration, the unit processor can determine the communication range in a short time without determining the OS or the unit processors P0 to P3 specified from the identification information given to the task information. .

図7は、要求先の単位プロセッサに対する割込みについて説明するための図である。図7において、タスク間通信によってタスク情報を送信する(処理を要求する)単位プロセッサを要求元プロセッサと記す。また、処理を要求された単位プロセッサを要求先プロセッサと記す。
要求元プロセッサは、インターフェイスエリア220にタスク情報を書き込むことによってタスク通信をする。そして、要求先プロセッサに対する割込み処理を実行する。要求先プロセッサは、割込み要求を受け付けるか否かを判定し、受け付ける場合には現在実行されているタスクを一時的に終了する。そして、タスクを終了したことを示すタスク情報をインターフェイスエリアに書き込む。
FIG. 7 is a diagram for explaining an interrupt to the requested unit processor. In FIG. 7, a unit processor that transmits task information (requests processing) by inter-task communication is referred to as a requesting processor. A unit processor that is requested to process is referred to as a requested processor.
The requesting processor performs task communication by writing task information in the interface area 220. Then, interrupt processing for the requested processor is executed. The requested processor determines whether or not to accept an interrupt request, and if so, temporarily terminates the currently executed task. Then, task information indicating completion of the task is written in the interface area.

図8、図9は、以上述べた本実施形態のプロセッサの動作のうち、タスク間通信にかかる動作を説明するためのフローチャートである。このうち、図8は、要求元プロセッサの動作を示したフローチャートである。また、図9は、要求先のプロセッサの動作を説明するためのフローチャートである。
図8に示すように、要求元プロセッサは、要求先プロセッサで行われているタスクに対する要求をインターフェイスエリア220に設定する。設定は、インターフェイスエリア220にタスク情報を書き込むことによって行われる(S701)。そして、要求先のプロセッサに割込み要求をし(S702)、インターフェイスエリア220に書き込まれているタスク情報がタスクの終了を示すものになったか否かをポーリングして判断する(S703)。
FIG. 8 and FIG. 9 are flowcharts for explaining operations related to inter-task communication among the operations of the processor of the present embodiment described above. Among these, FIG. 8 is a flowchart showing the operation of the requesting processor. FIG. 9 is a flowchart for explaining the operation of the requested processor.
As shown in FIG. 8, the requesting processor sets a request for a task being performed by the requesting processor in the interface area 220. The setting is performed by writing task information in the interface area 220 (S701). Then, an interrupt request is made to the requested processor (S702), and it is determined by polling whether the task information written in the interface area 220 indicates the end of the task (S703).

タスク情報が終了を示す状態になったと判断された場合(S703:Yes)、要求元プロセッサは、インターフェイスエリア220の終了情報エリアに自身のタスク通信が終了したことを示すタスク情報を書き込む(S704)。
なお、要求元プロセッサは、インターフェイスエリア220に設定した要求が自装置のOSに対応するタスクに宛てたものである場合、ローカルタスク宛の通信として扱うために割込みが発生しない。
If it is determined that the task information is in a state indicating termination (S703: Yes), the requesting processor writes task information indicating that its own task communication is terminated in the termination information area of the interface area 220 (S704). .
If the request set in the interface area 220 is addressed to a task corresponding to the OS of the own device, the requesting processor does not generate an interrupt because it is handled as communication addressed to the local task.

一方、要求先プロセッサは、割込みの要求を受けた場合、図9に 示したように、割込みから復帰時のために、割込み発生時のレジスタを退避させる(S901)。そして、タスク情報に含まれるコマンドやタスクID等をチェックし(S902)この結果、適正に受け付けられないものであった場合(S902:NG)、インターフェイスエリア220にエラーが発生したことを書き込む(S909)。そして、退避したレジスタのデータを、割込みが発生する以前の状態に復元し(S910)、割込み発生以前に実行されていたタスクの処理を続行する(S911)。   On the other hand, when receiving the interrupt request, the requested processor saves the register at the time of occurrence of the interrupt for returning from the interrupt as shown in FIG. 9 (S901). Then, the command, task ID, etc. included in the task information are checked (S902). As a result, if the command is not properly accepted (S902: NG), the fact that an error has occurred is written in the interface area 220 (S909). ). Then, the saved register data is restored to the state before the occurrence of the interrupt (S910), and the processing of the task executed before the occurrence of the interrupt is continued (S911).

また、ステップS902において、コマンドやタスクID等が適正に受け付けられたと判断された場合(S902:OK)、要求先プロセッサは、要求されたタスクをコマンドキュー及びREADYキューに登録する(S903)。そして、タスクスイッチを発生するか否かを判定する判定処理を実行する(S904)。
ステップS905の判定の結果、タスクスイッチする場合(S905:Yes)、割込み発生前に実行されていたタスクのコンテキストを退避させる(S912)。また、タスクの終了が正常に終了したことをインターフェイスエリア220に書き込むことによって設定する(S913)。さらに、READYキューに登録したタスクのコンテキストを取り出し(S914)、タスクコンテキストを切替える(S915)。
If it is determined in step S902 that the command, task ID, and the like have been properly received (S902: OK), the requested processor registers the requested task in the command queue and the READY queue (S903). Then, a determination process for determining whether or not to generate a task switch is executed (S904).
As a result of the determination in step S905, when task switching is performed (S905: Yes), the context of the task executed before the occurrence of the interrupt is saved (S912). In addition, it is set by writing in the interface area 220 that the task has been completed successfully (S913). Further, the task context registered in the READY queue is extracted (S914), and the task context is switched (S915).

このような本実施形態によれば、SMP及び機能分散プロセッサを任意に組み合わせて1つのマルチプロセッサを構成することができる。そして、この際、SMP、機能分散型プロセッサを、それぞれ従来から使用されていたOSによって動作させることができる。このため、SMP、機能分散プロセッサを組み合わせたマルチプロセッサに特化した新たなアプリケーションを構築する必要がない。したがって、本実施形態は、プロセッサの信頼性を高めると共に、開発にかかるコストを抑えてプロセッサの普及に寄与することができる。   According to the present embodiment as described above, one multiprocessor can be configured by arbitrarily combining SMPs and function distributed processors. At this time, the SMP and the function-distributed processor can each be operated by an OS that has been conventionally used. For this reason, it is not necessary to construct a new application specialized for a multiprocessor combining an SMP and a function distributed processor. Therefore, this embodiment can contribute to the spread of processors by improving the reliability of the processors and suppressing the development cost.

本発明にかかる携帯電話の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the mobile telephone concerning this invention. 図1に示したCPUの内部構成を示すブロック図である。FIG. 2 is a block diagram illustrating an internal configuration of a CPU illustrated in FIG. 1. 本発明の一実施形態でいうSMPにおける単位プロセッサの結合を例示した図である。It is the figure which illustrated the coupling | bonding of the unit processor in SMP said by one Embodiment of this invention. 一般的なSMPのOSと機能分散型のプロセッサのOSとを説明するための図である。It is a figure for demonstrating general SMP OS and OS of a function distribution type processor. 本発明の一実施形態のプロセッサが複数のOSによって動作する状態を示した図である。It is the figure which showed the state in which the processor of one Embodiment of this invention operate | moves by several OS. 本発明の一実施形態のタスク情報が授受されるインターフェイスエリアを説明するための図である。It is a figure for demonstrating the interface area to which the task information of one Embodiment of this invention is transferred. 本発明の一実施形態のタスク間通信における割込み処理を説明するための図である。It is a figure for demonstrating the interruption process in the communication between tasks of one Embodiment of this invention. 本発明の一実施形態の要求元プロセッサの動作を示したフローチャートである。It is the flowchart which showed operation | movement of the request origin processor of one Embodiment of this invention. 本発明の一実施形態の要求先のプロセッサの動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the processor of the request destination of one Embodiment of this invention.

符号の説明Explanation of symbols

5 SMP 11 割込み制御部、12 メモリ制御部、13 ハードウェアセマフォ部、30 メモリ、210 タスク調停部、220 インターフェイスエリア、401 マルチプロセッサ対応OS、403a,403b,403c OS部、601 状態フラグエリア、602 コマンドエリア、603、604、605 エリア、606 終了情報エリア、P0,P1,P2,P3 単位プロセッサ 5 SMP 11 interrupt control unit, 12 memory control unit, 13 hardware semaphore unit, 30 memory, 210 task arbitration unit, 220 interface area, 401 multiprocessor compatible OS, 403a, 403b, 403c OS unit, 601 status flag area, 602 Command area, 603, 604, 605 area, 606 End information area, P0, P1, P2, P3 Unit processor

Claims (6)

第1オペレーティングシステムによってタスクを実行する第1プロセッサ及び第2オペレーティングシステムによってタスクを実行する第2プロセッサと、
前記第1プロセッサによって実行されるタスク、前記第2プロセッサによって実行されるタスクにかかるタスク情報を他のタスクとの間で授受するタスク情報通信手段と、
を備えることを特徴とするプロセッサ。
A first processor executing a task with a first operating system and a second processor executing a task with a second operating system;
Task information communication means for exchanging task information related to a task executed by the first processor and a task executed by the second processor with another task;
A processor comprising:
前記タスク情報通信手段は、前記第1オペレーティングシステムによって実行されるタスク間、前記第2オペレーティングシステムによって実行されるタスク間でタスク情報を授受することを特徴とする請求項1に記載のプロセッサ。   The processor according to claim 1, wherein the task information communication unit exchanges task information between tasks executed by the first operating system and between tasks executed by the second operating system. 前記タスク情報通信手段は、前記第1オペレーティングシステムによって実行されるタスクと前記第2オペレーティングシステムによって実行されるタスクとの間でタスク情報を授受することを特徴とする請求項1に記載のプロセッサ。   2. The processor according to claim 1, wherein the task information communication unit exchanges task information between a task executed by the first operating system and a task executed by the second operating system. 前記タスク情報通信手段は、前記第1オペレーティングシステム、前記第2オペレーティングシステムを識別する識別情報を前記タスク情報に付与することによってタスク情報が授受されるタスクの範囲を設定することを特徴とする請求項1から3のいずれか1項に記載のプロセッサ。   The task information communication means sets a range of tasks to which task information is exchanged by giving identification information for identifying the first operating system and the second operating system to the task information. Item 4. The processor according to any one of Items 1 to 3. 前記タスク情報通信手段は、前記第1プロセッサ、前記第2プロセッサのいずれもが情報の読み取り及び書込みが可能な記憶領域を備えることを特徴とする請求項1に記載のプロセッサ。   The processor according to claim 1, wherein the task information communication unit includes a storage area in which both the first processor and the second processor can read and write information. 前記第1プロセッサ、第2プロセッサのうちのいずれかが対称型マルチプロセッサであって、他方が機能分散型プロセッサを構成することを特徴とする請求項1から5のいずれか1項に記載のプロセッサ。   6. The processor according to claim 1, wherein one of the first processor and the second processor is a symmetric multiprocessor, and the other constitutes a function distribution type processor. .
JP2005369442A 2005-12-22 2005-12-22 Processor Pending JP2007172311A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005369442A JP2007172311A (en) 2005-12-22 2005-12-22 Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005369442A JP2007172311A (en) 2005-12-22 2005-12-22 Processor

Publications (1)

Publication Number Publication Date
JP2007172311A true JP2007172311A (en) 2007-07-05

Family

ID=38298792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005369442A Pending JP2007172311A (en) 2005-12-22 2005-12-22 Processor

Country Status (1)

Country Link
JP (1) JP2007172311A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163527A (en) * 2008-01-08 2009-07-23 Hitachi Ltd Information processing system for distributing load between operating systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163527A (en) * 2008-01-08 2009-07-23 Hitachi Ltd Information processing system for distributing load between operating systems

Similar Documents

Publication Publication Date Title
JP3976065B2 (en) Multiprocessor system and program for causing computer to execute interrupt control method of multiprocessor system
US6938253B2 (en) Multiprocessor communication system and method
KR100588790B1 (en) Method and apparatus for acting on subsequent command processing in data processor
US6671827B2 (en) Journaling for parallel hardware threads in multithreaded processor
US20030086300A1 (en) FPGA coprocessing system
US20070074214A1 (en) Event processing method in a computer system
JP2006243865A (en) Processor and information processing method
WO2010067492A1 (en) Multiprocessor system and multiprocessor exclusive control adjustment method
KR20100053593A (en) Mechanism for broadcasting system management interrupts to other processors in a computer system
JP2007219816A (en) Multiprocessor system
JP4033215B2 (en) Multiprocessor system and program for causing computer to execute control method of multiprocessor system
US20180267829A1 (en) Method for configuring an it system, corresponding computer program and it system
JP2007172311A (en) Processor
JP6106986B2 (en) Arithmetic processing device, information processing device and interrupt control method
JP6757489B2 (en) Multimodal interface
US7702836B2 (en) Parallel processing device and exclusive control method
US7043565B1 (en) System and method for transferring data over an external transmission medium
JP2007172145A (en) Processor, and program for making computer execute boot processing method
JP5017784B2 (en) Processor and interrupt processing control method applied to the processor
JP3661478B2 (en) Interrupt processing apparatus and interrupt notification method
JP4389797B2 (en) Processor and information processing method
CN115794324A (en) Task processing method and device and storage medium
JP2009217375A (en) Inter-multiprocessor communication method
JP2001337839A (en) Multifunction card