JP5017784B2 - プロセッサ及びこのプロセッサ適用される割込み処理制御方法 - Google Patents

プロセッサ及びこのプロセッサ適用される割込み処理制御方法 Download PDF

Info

Publication number
JP5017784B2
JP5017784B2 JP2005074469A JP2005074469A JP5017784B2 JP 5017784 B2 JP5017784 B2 JP 5017784B2 JP 2005074469 A JP2005074469 A JP 2005074469A JP 2005074469 A JP2005074469 A JP 2005074469A JP 5017784 B2 JP5017784 B2 JP 5017784B2
Authority
JP
Japan
Prior art keywords
interrupt
processor
processing
priority
unit
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
JP2005074469A
Other languages
English (en)
Other versions
JP2006259968A (ja
JP2006259968A5 (ja
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.)
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 JP2005074469A priority Critical patent/JP5017784B2/ja
Publication of JP2006259968A publication Critical patent/JP2006259968A/ja
Publication of JP2006259968A5 publication Critical patent/JP2006259968A5/ja
Application granted granted Critical
Publication of JP5017784B2 publication Critical patent/JP5017784B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プロセッサ及びこのプロセッサ適用される割込み処理制御方法に係り、特に複数のプロセッサを含んで複数のタスクやスレッドを並列して実行可能なプロセッサ及びこのプロセッサ適用される割込み処理制御方法に関する。
近年、家電やプリンタ、携帯電話といった多くの機器に組込みシステムと呼ばれるコンピュータシステムが搭載されている。組込みシステムは、汎用的なコンピュータと異なり、要求される機能や用途が極めて限定されたシステムである。また、このような組込みシステムには、システムの機能や用途に特化されたOS(Operating System)が必要になる。
このような組込みシステムに適用されるプロセッサには、小型でありながら高い動作速度が要求されるものがある。このため、組込みシステムに使用されるプロセッサは、シングルプロセッサから並列処理が可能なマルチプロセッサタイプのプロセッサに移行しつつある。マルチプロセッサは、小型、応答性の高さばかりでなく、低クロック、低消費電力といった特性を有し、組込みシステムに適した構成である。
また、特にマルチスレッドプロセッサは、密結合型のアーキテクチャを採用したことによって回路規模が小型でありながら高い性能を有する点で組込みシステムに適したプロセッサである。
ところで、小型のプロセッサを用いる組込みシステムでは、プロセッサでタスクやスレッド(本実施形態では以降タスクに統一する)が処理されているとき、このタスクをいったん停止して代わりに非タスク処理の実行を要求する割込み要求が比較的頻繁に発生する。マルチプロセッサにおいて割込み要求されたタスクの処理を効率化する従来技術としては、例えば、特許文献1、特許文献2が掲げられる。
特許文献1に記載された従来技術は、複数のプロセッサを備えたマルチプロセッサにおいて、各プロセッサと一対一に対応するプロセッサ割込みコントローラを設けている。そして、各プロセッサ割込みコントローラによって各プロセッサに要求された割込み処理を分配している。また、特許文献2に記載された従来技術は、割込みコントローラとして機能するCOPICあるいはLOPICとプロセッサとを一体化してバス・エージェントとして扱っている。このような特許文献2は、特許文献1と同様に、割込みコントローラが各プロセッサと一対一に対応するものである。
特開平6−324496号公報 特開平10−97509号公報
しかしながら、上記した従来技術は、いずれも割込みコントローラごとにプロセッサが設けられていて、このためにマルチプロセッサの回路規模が大きくなって小型化に改善の余地を有するものといわざるを得なかった。
また、上記した従来技術の他、複数あるプロセッサのうちの1つだけを割込み処理が可能なプロセッサとし、割込みコントローラを1つ設ける従来技術もある。しかし、このような従来技術は、頻繁な割込み要求が発生した場合には充分な動作速度が得られないという欠点がある。さらに、1つのプロセッサだけを割込み処理が可能なプロセッサとした場合、先に処理すべき割込み処理、後で処理してもよい割込み処理のいずれもが1つのプロセッサ上で競合し、プロセッサの実質的な処理効率を低下させるおそれがある。
本発明は、上記した点に鑑みてなされたものであり、回路規模が小さいためにより小型であり、かつ頻繁な割込みに対応して充分高い動作速度で動作可能なプロセッサ及びこのプロセッサにおいて適用される割込み処理制御方法を提供することを目的とする。さらに、本発明は、割込み処理の実質的な処理効率がより高いプロセッサ及びこのプロセッサにおいて適用される割込み処理制御方法を提供することを目的とする。
以上の課題を解決するため、本発明のプロセッサは、タスクあるいはスレッドの処理中に該処理をいったん停止して他の処理を実行する割込み処理が可能なプロセッサ部を複数含むプロセッサであって、前記プロセッサ部に割込み処理を要求する割込み要求を受け付け、該割込み要求によって要求された割込み処理を複数の前記プロセッサ部のうちのいずれかに実行させる割込み制御手段を備え、前記割込み制御手段は、前記プロセッサ部の各々において処理されているタスクあるいはスレッドの処理の優先度である処理優先度を判定する処理優先度判定手段と、割込み処理が可能なすべての前記プロセッサ部がタスクあるいはスレッドの処理中であって、かつ、割込み要求が発生した場合、前記プロセッサ部のうち、前記処理優先度判定手段によって判定された処理優先度が最も低いタスクあるいはスレッドを処理しているプロセッサ部を選択するプロセッサ部選択手段と、前記プロセッサ部選択手段よって選択された前記プロセッサ部に対して割込み要求をする割込み要求手段と、を備えることを特徴とする。
このような発明によれば、1つの割込み制御手段を使って割込み要求を受け付け、要求された割込み処理を複数のプロセッサ部のうちのいずれかに実行させることができる。そして、割込み制御手段が、プロセッサ部の各々において処理されているタスクあるいはスレッドの処理の優先度である処理優先度を判定する。そして、割込み処理が可能なすべてのプロセッサ部がタスクあるいはスレッドの処理中であって、かつ、割込み要求が発生した場合、プロセッサ部のうちの処理優先度が最も低いタスクあるいはスレッドを処理しているプロセッサ部を選択し、選択されたプロセッサ部に対して割込み要求をすることができる。
このため、割込み制御手段が統括的に複数のプロセッサ部の割込み処理を制御することができるので、回路規模が小さいためにより小型であり、かつ頻繁な割込みに対応して充分高い動作速度で動作可能なプロセッサを提供することができる。さらに、優先度の高いタスク等の処理が割込み処理のため中断することをなくし、割込み処理の実質的な処理効率がより高いプロセッを提供することができる。
また、本発明のプロセッサは、割込み要求の優先度である割込優先度を判定する割込優先度判定手段をさらに備え、割込み処理が可能なすべての前記プロセッサ部が割込み処理中であって、かつ、割込み要求が発生した場合、前記プロセッサ部選択手段は、前記プロセッサ部において最も低く、かつ、発生した割込み要求の割込優先度よりも低い割込優先度を持つ割込み処理を実行しているプロセッサ部を選択し、前記割込み要求手段は、前記プロセッサ部選択手段よって選択された前記プロセッサ部に対して割込み要求をすることを特徴とする。
このような発明によれば、割込優先度判定手段が、割込み処理が可能なすべてのプロセッサ部が割込み処理中であって、かつ、割込み要求が発生した場合、複数のプロセッサ部において最も低く、かつ、発生した割込み要求の割込優先度よりも低い割込優先度を持つ割込み処理を実行しているプロセッサ部を選択する。そして、割込み要求手段が、選択されたプロセッサ部に対して割込み要求をすることができる。
このため、優先度の高い割込み処理が他の割込み処理が多重割込みすることによって中断することをなくし、割込み処理の実質的な処理効率がより高いプロセッを提供することができる。
また、本発明のプロセッサは、割込み処理が終了した場合、割込み要求によって処理が中断しているタスクあるいはスレッドを、タスクあるいはスレッドの処理優先度にしたがって割込み処理が終了した前記プロセッサ部に実行させる処理復帰手段をさらに備えることを特徴とする。
このような発明によれば、割込みの終了後、中断していたタスク等の処理を優先順位にしたがって再開することができる。このため、優先度の高いタスク等が、優先順位のより低いタスク等によって処理を待たされることがなく、実質的な処理効率がより高いプロセッサを提供することができる。
また、本発明の割込み処理制御方法は、タスクあるいはスレッドの処理中に該処理をいったん停止して他の処理を実行する割込み処理が可能なプロセッサ部を複数含み、前記プロセッサ部に割込み処理を要求する割込み要求を受け付け、該割込み要求によって要求された割込み処理を複数の前記プロセッサ部のうちのいずれかに実行させる割込み制御手段を備えたプロセッサに適用される割込み処理制御方法であって、前記プロセッサ部の各々において処理されているタスクあるいはスレッドの処理の優先度である処理優先度を判定する処理優先度判定ステップと、割込み処理が可能なすべての前記プロセッサ部がタスクあるいはスレッドの処理中であって、かつ、割込み要求が発生した場合、前記プロセッサ部のうち、前記処理優先度判定ステップにおいて判定された処理優先度が最も低いタスクあるいはスレッドを処理しているプロセッサ部を選択するプロセッサ部選択ステップと、前記プロセッサ部選択ステップにおいて選択された前記プロセッサ部に割込み要求をする割込み要求ステップと、を含むことを特徴とする。
このような発明によれば、1つの割込み制御手段を使って割込み要求を受け付け、要求された割込み処理を複数のプロセッサ部のうちのいずれかに実行させるプロセッサにおいて、割込み処理が可能なすべてのプロセッサ部がタスクあるいはスレッドの処理中であって、かつ、割込み要求が発生した場合、プロセッサ部のうちの処理優先度が最も低いタスクあるいはスレッドを処理しているプロセッサ部を選択し、選択されたプロセッサ部に対して割込み要求をすることができる。
このため、割込み制御手段が統括的に複数のプロセッサ部の割込み処理を制御することができるので、プロセッサの構成をより小型化でき、かつ頻繁な割込みに対応して充分高い動作速度で動作させることができる割込み制御方法を提供することができる。さらに、プロセッサを優先度の高いタスク等の処理が割込み処理のため中断することをなくし、プロセッサにおける割込み処理の実質的な処理効率をより高めることができる割込み制御方法を提供することができる。
以下、図を参照して本発明に係るプロセッサ及び割込み処理制御方法をコンピュータに実行させるためのプログラムの一実施の形態を説明する。なお、本実施形態は、本実施形態のプロセッサが例えば携帯電話に適用される組込みシステムに採用された例を示すものである。図1は、本実施形態のプロセッサ1を含む携帯電話の構成を例示した図である。
携帯電話は、プロセッサ1に無線部50、IrDA部60、Audio部70、Timer80、USBI/F部90、キー操作部100、LCD110、Camera部120がプロセッサ1に接続されてなる。このような構成にあっては、プロセッサ1に接続された無線部50、IrDA部60等はプロセッサ1の周辺装置となり、必要に応じてプロセッサ1に割込み信号を出力して割込み要求する。
無線部50は、携帯電話と携帯電話システムの基地局との間における無線通信を行うものである。無線部50は、例えば基地局から携帯電話に対する着信を示す信号を受信した場合、プロセッサ1に対して割込み信号を出力し、着信信号の受信を通知する。また、無線部50は、プロセッサ1から発信を指示する信号が入力された場合、基地局に対して発信要求を示す信号を送信する。
IrDA部60は、IrDAに基づく通信を行うインターフェースであり、外部からIrDAに基づく無線信号を受信した場合、プロセッサ1に対して割込み信号を出力し、IrDA信号の受信を通知する。
オーディオ部70は、携帯電話において入出力される音声信号を処理するものであり、通話におけるマイク及びスピーカを用いた音声の入出力、あるいは、音楽等の再生といった処理を行う。
タイマ80は、携帯電話のクロック信号を基に時間を計測し、例えば1ms毎等、所定時間毎にプロセッサ1に対して割込み信号を出力する。
USBインターフェース部90は、USBによる通信を行うためのインターフェースであり、USBケーブルが接続された場合やUSBケーブルから信号を受信した場合等に、プロセッサ1に対して割込み信号を出力する。
キー操作部100は、携帯電話に対する指示入力を行うための各種キーを備えており、これらのキーが押下された場合に、プロセッサ1に対する割込み信号を出力する。
LCD110は、プロセッサ1によって入力された文字あるいは画像等の描画命令に従って、所定画面を表示する表示装置である。
カメラ部120は、CCD(Charge Coupled Devices)あるいはCMOS(Complementary Metal Oxide Semiconductor)センサ等の撮像素子を備え、画像を撮影した場合に、プロセッサ1に対して割込み信号を出力する。
また、プロセッサ1には、プロセッサ1によってなされる処理に使用されるメモリ30、フラッシュROM20、バッファ40が接続されている。
フラッシュROM20は、携帯電話において実行されるオペレーティングシステムプログラム、及び、各種アプリケーションプログラムを記憶している。
メモリ30は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)あるいはSDRAM(Synchronous DRAM)といった半導体メモリによって構成され、プロセッサ1が処理を実行する際にワークエリアを形成すると共に、その処理結果を記憶する。
バッファ40は、外部から携帯電話に入力されたデータあるいは携帯電話において発生されたデータを一時的に保持するバッファである。
図2は、図1に示したプロセッサ1の内部構成を示すブロック図である。図示したプロセッサ1は、タスクあるいはスレッド(タスクに統一)を処理し、処理中のタスクをいったん停止して他の処理を実行する割込み処理が可能なプロセッサ部を複数含むプロセッサである。
プロセッサ部とは、図2に示したプロセッサ全体を構成する部分をなす複数のプロセッサの各々をいうものであって、以降、プロセッサユニットと記す。また、複数のプロセッサユニットの各々をプロセッサユニット202a、202b、202c、202dの符号を付して区別する。また、本実施形態では、プロセッサユニット202a〜202dのすべてが割込み処理が可能なプロセッサユニットである。
また、プロセッサ1は、プロセッサユニット202a〜202dに割込み処理を要求する割込み要求を受け付け、この割込み要求によって要求された割込み処理を複数のプロセッサユニット202a〜202dのうちのいずれかに指示する一の外部割込み制御部201を備えている。外部割込み制御部201は、プロセッサユニット202a〜202dの各々において処理されているタスクの処理の優先度である処理優先度を判定する制御管理部212、プロセッサユニット202a〜202dがタスクの処理中であって、かつ、割込み要求が発生した場合、プロセッサユニット202a〜202dのうち、処理優先度が最も低いタスクを処理しているプロセッサユニットを選択し、このプロセッサユニットに割込み要求をする制御管理部212及び割込処理プロセッサ選択部205を備えている。
さらに、外部割込み制御部201は、全体割込許可制御部203、割込ベクタ206、全体割込優先度制御部204を備えている。全体割込許可制御部203は、プロセッサユニット202a〜202d全体に割込み許可がなされているか否かを判定し、この可否をフラグのオン、オフで示すものである。また、割込ベクタ206は、割込み処理の実行のため、プロセッサユニットが参照すべきメモリ30のアドレスを示すものである。
また、全体割込優先度制御部204は、後述するプロセッサユニット202a〜202dのすべてで割込み処理がなされていて、さらに割込み要求が発生した場合に割込優先度を判定する優先度判定手段として機能する構成である。
また、メモリ30には、組込みシステムとして構成された携帯電話に最適化されたOS(Operating System)が記憶されている。このOSは、プロセッサユニット202a〜202dのタスク状態を検出する制御管理部212として機能する。つまり、制御管理部212は、通常OSの機能に含まれ、OSを記憶したメモリ30に存在することになる。そして、制御管理部212(OS)は、メモリ30から読み出され、プロセッサユニット202a〜d上で動作する。
なお、プロセッサユニット202a〜202dは、タスクを処理している状態(Run)、タスクの処理が可能な状態(Ready)、指示や所定の時間の経過を待って動作を停止している状態(Halt)の3つのタスク状態を取り得る。
次に、プロセッサユニット202a〜202dの構成について説明する。なお、プロセッサユニット202a〜202dは、いずれも同様の構成を有している。このため、本実施形態では、プロセッサユニット202aについてのみ記し、他のプロセッサユニット202b〜202dの説明に代えるものとする。
プロセッサユニット202aは、PSR(Program Status Register)208、PC(Program Counter)209、EPSR(Exception Status Register)211、EPC(Exception Program Counter)210を備えている。PSR208は、プロセッサユニット202aのステータス(割込みの可否、演算結果のフラグといった動作状態等)を記憶するレジスタである。また、PC209は、プロセッサユニット202aにおけるプログラムの進行状況を格納しておくカウンタである。
PSR208及びPC209の内容は、例外的な処理(割込み処理を含む)が発生したとき、メモリ30のスタック領域に退避される。
割込み処理用ステータスレジスタEPSR211は、単位プロセッサにおいて割込み処理が実行される場合に、割込み処理プログラムを起動する直前のステータスレジスタの状態を退避(複製)するレジスタである。割込み処理プログラムにおいて、必要に応じて割込み処理用ステータスレジスタEPSR211をスタック領域に退避することも可能である。
割込み処理用プログラムカウンタEPC210は、単位プロセッサにおいて割込み処理が実行される場合に、割込み処理プログラムを起動する直前のプログラムカウンタのアドレスを退避(複製)するレジスタである。割込み処理プログラムにおいて、必要に応じて割込み処理用プログラムカウンタEPC210をスタック領域に退避することも可能である。
また、図2においては、図1に示した無線部50やIrDA部60等を周辺装置207a、207b、207c、207dとして示す。プロセッサ1は、OSにより生成されたタスクを処理をしていて、周辺装置207a〜207dから割込み信号が入力されたときに割込み要求に対応する割込みハンドラを起動する。OSによって生成されたタスクは、OSのタスクスケジューラによって管理され、OSのサービスコールによって呼び出すことができる。一方、割込み処理は、タスクスケジューラによって管理されない処理(非タスク処理)である。
図3は、プロセッサユニット202a〜dの別の一構成を示した図である。プロセッサユニット202a〜dは、フェッチ部301と、デコード部303と、ALU(Arithmetic and Logical Unit)103と、レジスタバンクと含んで構成されている。フェッチ部301は、PC209あるいはEPC210が示すメモリアドレスから命令コードを読み出し、デコード部303に出力する。
デコード部303は、フェッチ部301によって入力された命令コードをデコードし、デコード結果(命令内容及びソースレジスタ、デスティネーションレジスタのアドレス等)をALU305に出力する。
ALU305は、デコード部303によって入力されたデコード結果に応じて、所定の演算を行い、演算結果をバンク分けされたレジスタであるレジスタバンク307に書き込む、あるいは分岐命令等の演算結果であるブランチ先のアドレスをプログラム制御部105に出力する。
レジスタバンク307は、ロード命令によってメモリ30から読み出されたデータや、ALU305の演算結果であるデータを記憶するレジスタ群である。
フェッチ部301とレジスタバンク307はプロセッサユニットごと独立に用いられているが、デコード部303、ALU305は、プロセッサユニット共通に使用する。デコード部303、ALU305を共有することにより、回路規模を削減できる。
以上述べた構成は、以下のように動作する。すなわち、周辺装置207a〜207dは、各々割込み信号0〜3を外部割込み制御部201に出力し、タスクの処理を要求する。本実施形態のプロセッサ1は、プロセッサユニット202a〜202dのすべてを割込み処理が可能に構成し、プロセッサユニット202a〜202dのいずれかが割込み処理を実行する。
外部割込み制御部201では、全体割込許可制御部203が、周辺装置207a〜207dのすべてに対して割込みが許可される状態であるか否かを示すフラグを立てて示している。要求された割込みがマスクされている場合、外部割込み制御部201は、割込み不可のフラグを立ててこの割込み要求を待機させる。制御管理部212(実体はOS、本実施形態の構成にかかるOSの機能を制御管理部として示す)は、このフラグを参照し、割込みが許可されることを示すフラグがたっている場合にはプロセッサ1に対する割込みを許可する。
制御管理部212は、プロセッサユニット202a〜202dの動作状態を常に監視している。そして、次に割込みが要求された(割込み要求が発生した)場合に割込んだ処理を実行するのに充てるべきプロセッサユニットの情報を割込処理プロセッサ選択部205に書き込んでいる。具体的には、制御管理部212は、先ず、Halt状態のプロセッサユニットを検出する。そして、プロセッサユニット202a〜202dのいずれかがHalt状態であることが検出された場合、検出されたHalt状態にあるプロセッサユニットに対して割込処理プロセッサ選択部205の割込み許可フラグを許可状態にし、割込み要求を受け付け可能とする。
また、プロセッサユニット202a〜202dのいずれもがRun状態あるいはRunの実行に備えるReady状態である場合、制御管理部212は、処理されているタスクの優先度を判定し、優先度が最も低いタスクを処理しているプロセッサユニットに対して割込処理プロセッサ選択部205の割込み許可フラグを許可状態にし、割込み要求を受付可能とする。
周辺装置207a〜207dから割込み信号が入力されると、全体割込み許可制御部201は、割込み処理プロセッサ選択部205が示しているプロセッサユニット202a〜202dに対し、割込み要求を発生させる。
この動作を、図4を用いて説明する。図4では、プロセッサユニット202aがタスクaを処理し、プロセッサユニット202bがタスクbを処理している。また、プロセッサユニット202cがタスクcを、プロセッサユニット202dがタスクdを処理している。なお、タスクaないしタスクdの処理の優先順位は、以下のとおりである。
タスクd>タスクc>タスクb>タスクa
図4に示した例では、プロセッサユニット202a〜202dのうちのプロセッサユニット202aが、最も優先度の低いタスクaを処理している。このため、割込処理プロセッサ選択部205にはプロセッサユニット202aに係る情報が書き込まれている。制御管理部212は、この情報を参照してプロセッサユニット202aで処理されているタスクaをいったん停止し、処理中であったタスクaの状況や内容(コンテキスト)をメモリ30に退避させる。
このとき、PSR208、PC209に書き込まれていた内容もメモリ30のスタック領域に退避される。そして、制御管理部212は、コンテキスト退避後のプロセッサユニット202aで発生した割込み要求にかかる割込み処理Aを実行させる。(図4(a))。なお、割込み処理Aの実行にあたっては、割込ベクタ206に保存されているメモリ30のアドレスが参照され、割込み処理に必要なプログラム等が読み出される。
なお、制御管理部212は、次回発生させるプロセッサユニットの情報を割込処理プロセッサ選択部205に書き込む。図4の例では、Halt状態のプロセッサユニットがなく、プロセッサユニット202bが、現時点で最も優先度の低いタスクbを処理しているので、割込処理プロセッサ選択部205には、プロセッサユニット202bを割込み許可状態にする情報を書込む。
タスクaに対する割込みの後、さらに割込み要求が発生した場合、割込み処理プロセッサ選択部205において、プロセッサユニット202bが割込み許可状態になっているので、プロセッサユニット202bに割込みが発生する。制御管理部212は、タスクbのコンテキストをメモリ30に退避させ、発生した割込み要求にかかる割込み処理Bを実行させる。
さらに、本実施形態では、制御管理部212が、割込み処理が終了した場合、割込み要求によって処理が中断しているタスクを、タスクの処理優先度にしたがって割込み処理が終了したプロセッサユニットに実行させている。このような制御管理部212は、本実施形態において、処理復帰手段として機能するものである。
すなわち、図4に示した例では、図中に示すタイミングt1で割込み処理Bが終了する。タイミングt1は、割込み処理Aが終了する以前であって、プロセッサユニット202bは、タイミングt1から割込み処理Aが終了するタイミングt2までHalt状態にある唯一のプロセッサユニットとなる。このような場合、本実施形態では、制御管理部212が、メモリ30のスタック領域から処理優先度が最も高いタスクeのコンテキストを復帰させ、プロセッサユニット202bにタスクeを処理させる。
また、タイミングt2で割込み処理Aが終了し、プロセッサユニット202aがHalt状態になったとき、制御管理部212は、割込み処理Bによって中断されたタスクbの優先度が処理を待っているタスクの処理優先度が最も高いことから、プロセッサユニット202aにタスクbのコンテキストを復帰させ、プロセッサユニット202aに処理させる。
以上述べた動作によれば、処理優先度の低いタスクから割込み処理を実行させるので、優先度の高いタスクの処理が割込み要求によって遅れることがなく、割込み処理によるタスク処理の効率低下を実質的に緩和することができる。
また、以上述べた動作によれば、割込み処理後、単に割込みが発生する以前に処理されていたタスクをプロセッサユニットに再開させるのではなく、より優先度の高いタスクを優先してプロセッサユニットに復帰させている。このため、割込み処理によるタスク処理の効率低下緩和の効果をより高めることができる。
次に、本実施形態において、プロセッサユニット202a〜202dのすべてで割込み処理がなされている場合、さらに割込み要求が発生した場合の割込み処理である多重割込みについて説明する。
多重割込みの場合、本実施形態では、制御管理部212が、プロセッサユニット202a〜202dにおいて最も低く、かつ、発生した割込み要求の割込優先度よりも低い割込優先度を持つ割込み処理を実行しているプロセッサユニットを選択する。
すなわち、本実施形態では、プロセッサユニット202a〜202dの一部が多重割込み処理をしていて、他のプロセッサユニットが図4に示した通常の割込み処理をしている場合を想定する。このような条件下では、通常の割込みによって実行されている割込み処理と、多重割込みによって実行されている割込み処理とで割込優先度が等しいなら、通常の割込み処理を実行しているプロセッサユニットを優先して次の割込み処理の実行に使用するようにしてもよい。
このような本実施形態によれば、1つのプロセッサユニットに割込み要求が集中することによってこのプロセッサユニットが実質的に停止し、動作効率が低下することを防ぐことができる。
図5は、多重割込み時のプロセッサユニット202a〜202dの動作を説明するための図である。
プロセッサユニット202aは、タスクaの実行中に割込み処理Aを実行している。さらに、プロセッサユニット202aでは、割込み処理Aが中断され、割込み処理Eが実行される多重割込み処理が実行されている(図5(a))。
また、プロセッサユニット202bはタスクbの処理の実行中に割込み処理Bを実行し(図5(b))、プロセッサユニット202cはタスクcの実行中に割込み処理Cを実行し(図5(c))、プロセッサユニット202dは、タスクdの実行中に割込み処理Dを実行されている。このような動作において、各割込み処理の割込優先度は、以下のように設定している(図5(d))。
割込み処理E>割込み処理D>割込み処理C>割込み処理B>割込み処理A
また、タスクの処理優先度は、以下のように設定されている。
タスクe>タスクd>タスクc>タスクb>タスクa
また、図中に示したα、β、γの文字は、後に述べるフローチャートの説明に利用されるものである。
図5に示した動作は、割込み処理の割込優先度に応じて決定されたものである。すなわち、割込み処理Eの割込み要求が発生する以前、プロセッサユニット202a〜202dにはそれぞれ割込み処理が1つずつ実行されていて、プロセッサユニット202aは、割込優先度が最も低い割込み処理Aを実行している。また、割込み処理によって処理が中断されている割込み処理はいずれのプロセッサユニットにおいても0である。このような条件では、割込み処理Eは、プロセッサユニット202aにおける割込み処理Aを中断して実行される。
なお、新たな割込み処理Eが発生すると、全体割込優先度制御部204は、割込み処理Aの割込優先度と割込み処理Eの割込優先度とを比較する。割込み処理Eの優先度は、割込み処理Aの優先度よりも高く、割込み処理Eのプロセッサユニット全体に対する割込みが許可される。割込みを要求した割込み処理の割込優先度が、現在実行されている割込み処理の最低の割込優先度よりも低い場合、発生した割込み要求は拒否される。
以上の割込み処理の結果、プロセッサユニット202aにおいてだけ多重割込処理が実行されることになる。
また、割込み処理の終了後、図7に示した多重割込み処理にあっても、図6に示した割込み処理と同様に処理優先度が高いタスクからHalt状態になったプロセッサユニットで実行される。
図6ないし図9は、以上述べた本実施形態のプロセッサに割込み処理制御方法について説明するためのフローチャートである。図6は、タスクの切替え要求の処理があったとき、後の割込みに備えて制御管理部212が実行する処理を説明するためのフローチャートである。
タスクの切替え要求がなされると、制御管理部212は、切替えの後Halt状態のプロセッサユニットがあるか否か判断する(ステップS601)。Halt中のプロセッサがあった場合(ステップS601:Yes)、制御管理部212は、Halt中のプロセッサを次の割込み発生時に割込み処理に充てられるプロセッサユニットに決定する(ステップS603)。そして、このプロセッサユニットを特定する情報を割込処理プロセッサ選択部205に書き込んで割込み処理プロセッサ選択部205を書換える(ステップS604)。
一方、Halt状態のプロセッサユニットがない場合(ステップS601:No)、処理の優先度が最も低い最低優先度タスクを実行しているプロセッサユニットを検索する(ステップS602)。そして、検索の結果特定された最低優先度タスクを実行しているプロセッサユニットを特定する情報を割込処理プロセッサ選択部205に書き込み、割込処理プロセッサ選択部205を書換える(ステップS604)。
以上の処理により、割込処理プロセッサ選択部205には、タスクの切替えが発生するたびに切替え後のプロセッサユニットにおいて割込み処理を実行するプロセッサユニットの情報が書き込まれる。
図7は、割込み要求によって要求された割込み処理を説明するためのフローチャートである。
外部割込み制御部201は、周辺装置207a〜207dのいずれかから出力された割込み信号を入力すると、割込み処理を開始する。
制御管理部212は、今回発生した割込みがHalt状態から遷移したか否か判定する(ステップS701)。判定の結果、プロセッサユニットがHalt状態からの遷移でない場合(ステップS701:No)、割込み処理を実行する(ステップS702)。
なお、割込み処理の実行にあたっては、割込ベクタに書き込まれているプログラムの格納先アドレスが参照される。
ステップS701における判断で、割込み処理を実行するプロセッサユニットがHalt状態からの遷移である場合(ステップS701:Yes)、このプロセッサユニットでは、実行中であったタスクにかかる情報を、PC209やPSR208からEPC210やEPSR211へ退避させる(ステップS704)。なお、退避させるタスクにかかる情報とは、割込みの終了後、割込みによって中断されたタスクを再開するのに必要な情報を復帰させるのに必要な情報である。
また、割込み処理の実行後、制御管理部212は、割込み処理を実行したプロセッサユニットが割込みの前にHalt状態であったか否か判断する(ステップS703)。そして、プロセッサユニットがHalt状態でなかった場合(ステップS703:No)、図7に示した処理は、そのまま終了する。一方、ステップS703において、割込み処理を実行したプロセッサユニットがHalt状態であったと判断された場合(ステップS703:Yes)、このプロセッサユニットでは、EPC210、EPSR211に退避された情報に基づいてメモリ30に退避された情報が、PC209、RSR208に復帰する(ステップS705)。
図8(a)、(b)は、割込み処理開始時の処理を示し、図9(a)、(b)は、割込み処理終了時の処理を示している。なお、図8、図9に示した処理は、共に制御管理部212と外部割込み制御部201とが協働して行うものである。具体的には、割込みの許可に関する制御が全体割込許可制御部203によって行われる。また、割込み処理のレベルの判定が全体割込優先度制御部204で行われ、割込み処理に使用されるプロセッサユニットの選択は割込処理プロセッサ選択部205によって行われる。さらに、割込み禁止の指示は、制御管理部212によって行われる。
また、割込み処理をするプロセッサユニットが決定した後、制御管理部212が動作し、以降の処理を行う。
図8(a)に示すフローチャートは、割込み信号が周辺装置207a〜207dのいずれによって出力されたとき開始する。全体割込許可制御部203は、外部割込み制御部201に対する割込みが許可されているか否かを判断する(ステップS801)。そして、割込み許可されていない場合(ステップS801:No)、許可がなされるまで待機する。
また、ステップS801において、割込みが許可されていると判断された場合(ステップS801:Yes)、全体割込優先度制御部204は、現在処理されている割込み処理(現割込み処理)の割込みレベル(現Level割込み)に、今回要求された割込み処理(新割込み処理)の割込みレベル(新規割込みLevel)よりも低いものがあるか否か判断する(ステップS802)。この結果、現在割込み処理の割込みレベルがすべて新割込み処理の割込みレベルよりも高い場合(ステップS802:No)、要求された割込み処理を待機させる。
また、新割込み処理の割込みレベルが、現割込み処理の割込みレベルのいずれかよりも高い場合(ステップS802:Yes)、外部割込み制御部201は、割込処理プロセッサ選択部205に書き込まれている情報に基づき該当するプロセッサユニットに対し割込みの起動を行う(ステップS803)と共に、割込み開始の処理のため、新たな割込みを禁止する割込み禁止フラグをオンにする(ステップS804)。
図8(b)は、ステップS805の処理を説明するためのフローチャートである。ステップS805では、制御管理部212が、Halt状態にあるプロセッサユニットがあるか否か判断する(ステップS810)。Halt状態にあるプロセッサユニットがある場合(ステップS810:Yes)、ステップS805に示した処理は終了する。そして、ステップS806では、Halt状態にあるプロセッサユニットが割込み処理を実行するプロセッサユニットに決定される(ステップS806)。
また、ステップS810において、Halt状態のプロセッサユニットがないと判断された場合(ステップS810:No)、制御管理部212は、すべてのプロセッサユニットにおいて割込み処理がなされているか否か判断する(ステップS811)。割込み処理を実行していないプロセッサユニットがある場合(ステップS811:No)、
タスクを処理しているプロセッサユニットのうちの処理優先度が最も低いタスクを処理しているプロセッサユニットを検索し(ステップS812)、検出されたプロセッサユニットが割込み処理を実行するプロセッサユニットに決定される(ステップS806)。
また、ステップS811において、すべてのプロセッサユニットが割込み処理を実行していて、新割込み処理がプロセッサユニットの数nよりも1つ多いn+1番目の割込み処理であった場合(ステップS811:Yes)、制御管理部212は、割込処理プロセッサ選択部を検索する(ステップS813)。そして、割込優先度が最も低い割込み処理を実行しているプロセッサユニットを検出する。ステップS806では、検出されたプロセッサユニットが、割込み処理を実行するプロセッサユニットに決定される(ステップS806)。
以上述べた図8に示すフローチャートの終了後、本実施形態のプロセッサは、先に示した図7のフローチャートの処理を実行して要求された割込み処理を実行する。
図9(a)に示すフローチャートは、図7のフローチャートに示した割込み処理の後に開始される。制御管理部212は、(全体割込許可制御部203に対し)先ず、割込み終了の処理のため、新たな割込みを禁止する割込み禁止フラグをオンにする(ステップS901)。制御管理部212は、終了処理の対象となっている割込み処理が多重割込みの処理であるか否か判断する(ステップS902)。この結果、この割込み処理が多重割込みでない場合(ステップS902:No)、割込みによって待機しているReady状態のタスクがあるか否か判断する(ステップS903)。
ステップS903において、Ready状態のタスクがないと判断された場合(ステップS903:No)、割込み処理を終了したプロセッサユニットがHalt状態であるとし、この情報によって割込処理プロセッサ選択部205が書換えられる(ステップS904)。制御管理部212は、ステップS901でオンされた割込み禁止フラグをオフにする(ステップS905)。割込み処理を終了したプロセッサユニットは、Halt状態に遷移する((ステップS906)図5(c)にγで示す)。
また、ステップS902において、終了処理の対象となる割込み処理が多重割込みであると判断された場合(ステップS902:Yes)、次の割込み処理を実行するプロセッサユニットを選択するための選択処理を実行する(ステップS910)。
図9(b)は、ステップS910の処理を説明するためのフローチャートである。ステップS910では、制御管理部212が、Halt状態にあるプロセッサがあるか否か判断する(ステップS920)。Halt状態にあるプロセッサユニットがある場合(ステップS920:Yes)、ステップS910に示した処理は終了する。ステップS921では、Halt状態にあるプロセッサが次の割込み処理を実行するプロセッサユニットであるとして割込処理プロセッサ選択部205が書換えられる(ステップS806)。
また、ステップS920において、Halt状態のプロセッサユニットがないと判断された場合(ステップS920:No)、さらに制御管理部212が、すべてのプロセッサユニットにおいて割込み処理がなされているか否か判断する(ステップS922)。割込み処理を実行していないプロセッサユニットがある場合(ステップS922:No)、制御管理部212が最も優先度が低いタスクを実行しているプロセッサユニットを検索する(ステップS923)。この結果、割込み処理をしていないプロセッサユニット、つまりタスクを処理しているプロセッサユニットのうちの処理優先度が最も低いタスクを処理しているプロセッサユニットが検出される。ステップS921では、割込処理プロセッサ選択部205が書換えられ、検出されたプロセッサユニットが次の割込み処理を実行するプロセッサユニットに設定される(ステップS921)。
また、ステップS922において、すべてのプロセッサユニットが割込み処理を実行している場合(ステップS922:Yes)、割込優先度が最も低い割込み処理を実行している(多重割込みの実行前に実行されていた割込み処理を含む)プロセッサユニットが検索される(S924)。ステップS921では、割込処理プロセッサ選択部205が検索結果に基づいて書換えられ、検出されたプロセッサユニットが次の割込み処理を実行するプロセッサユニットに設定される(ステップS921)。
割込処理プロセッサ選択部205の書換え後、は、ステップS901でオンされた割込み禁止フラグをオフにする(ステップS911)。割込み処理を終了したプロセッサユニットは、多重割込みの前に処理されていた割込み処理を実行する((ステップS912)図5(a)にαで示す)。
また、ステップS903において、Ready状態のタスクがあると判断された場合(ステップS907:Yes)、図9(b)に示した処理によって割込処理プロセッサ選択部205を書換える処理が実行される(ステップS907)。割込処理プロセッサ選択部205の書換え後、制御管理部212は、ステップS901でオンされた割込み禁止フラグをオフにする(ステップS908)。割込み処理を終了したプロセッサユニットは、Ready状態にあるタスクのうち、処理優先度が最も高いタスクの処理を実行する((ステップS909)図5(a)にβで示す)。
以上述べた本実施形態のプロセッサ及び割込み処理制御方法は、外部割込み制御部201が統括的に複数のプロセッサユニット202a〜202dの割込み処理を制御することができる。このため、プロセッサユニット202a〜202dに各々に対応する複数の割込コントローラ等を設ける従来技術よりもプロセッサを小型化するのに有利である。また、複数のプロセッサユニットを割込み処理に使用することができるので、頻繁な割込みに対応して充分高い動作速度で動作可能である。
さらに、優先度の高いタスク等の処理が割込み処理のため中断することをなくし、プロセッサの割込み処理の実質的な処理効率をより高めることができる。
また、本実施形態は、割込み処理が可能なすべてのプロセッサユニットがタスクの割込み処理中であるとき、さらに割込み要求が発生した場合、複数のプロセッサユニット中最も低く、かつ、発生した割込み要求よりも低い割込優先度を持つ割込み処理を実行しているプロセッサユニットに対して割込み要求をする。このため、優先度の高い割込み処理に他の割込み処理が多重割込みすることによって優先度の高い割込み処理が中断することをなくし、割込み処理の実質的な処理効率を高めることができる。
また、本実施形態では、通常の割込みによって実行されている割込み処理と、多重割込みによって実行されている割込み処理とで割込優先度が等しいなら、通常の割込み処理を実行しているプロセッサユニットを優先して次の割込み処理の実行に使用するようにしてもよい。このようにすれば、1つのプロセッサユニットに割込み要求が集中することによってこのプロセッサユニットが実質的に停止し、動作効率が低下することを防ぐことができる。
また、本実施形態は、割込み処理が終了した場合、割込み要求によって処理が中断しているタスクを処理優先度にしたがって割込み処理が終了したプロセッサユニットに実行させる。このため、優先度の高いタスク等が、優先順位のより低いタスク等によって処理を待たされることがなく、プロセッサの実質的な処理効率をより高めることができる。
なお、本発明は、以上述べた構成に限定されるものではない。例えば、本実施形態のプロセッサは、図3に示したプロセッサユニットを備える構成に限定されるものでなく、タスクを複数並列に実行できるマルチタイプのプロセッサシステムであれば他の構成を採用しても良い。
図10は、本発明の適用対象となる他の構成の一例としてマルチプロセッサを示した図である。図10に示したマルチプロセッサは、1チップ上に複数のプロセッサコアが実装され、プロセッサの構成要素の少なくとも一部をこれら複数のプロセッサコアが共用する形態のマルチプロセッサ(いわゆる密結合型のマルチタスクプロセッサ)である。このようなマルチプロセッサは、本実施形態に適用した場合、特に顕著な効果を得られるものである。
図10に示したマルチプロセッサは、メモリ制御部及びALUを複数のプロセッサコアが共用する形態であり、それぞれのプロセッサコアにプログラムカウンタ及びステータスレジスタ等の制御用レジスタが備えられていると共に、マルチプロセッサ全体を制御するためのプログラム制御部及び制御用レジスタも別途備えられている。なお、図4に示すように、各プロセッサコアで共用するコンテキストキャッシュ等を備えても良い。
このような構成のマルチプロセッサの場合、各プロセッサコアが本実施の形態における単位プロセッサの機能を実現するものとなり、マルチプロセッサ全体を制御するプログラム制御部において、ハードウェアセマフォ13の機能を実現するものとなる。
また、本実施の形態においては、メモリ30のシステム領域に対するアクセスが競合する可能性があることに鑑み、複数の単位プロセッサがOSへ移行することを排他制御する例について説明したが、同一のハードウェアにアクセスする可能性がある場合、例えば、CPUとDMA(Direct Memory Access)コントローラとの間における排他制御や、アプリケーション間における排他制御(共有メモリへのアクセスあるいは共通処理の実行)等に適用することも可能である。
本発明の一実施形態のプロセッサを含む携帯電話の構成を例示した図である。 図1に示したプロセッサ1の内部構成を示すブロック図である。 プロセッサユニットの内部構成を示した図である。 本発明の一実施形態のプロセッサがタスクに割込みを処理する場合の動作を説明するための図である。 本発明の一実施形態のプロセッサが多重割込み処理をする場合の動作を説明するための図である。 本発明の一実施形態のプロセッサが、タスクの切替え要求の処理があったとき後の割込みに備えて実行する処理を説明するためのフローチャートである。 本発明の一実施形態のプロセッサにおける割込み処理を説明するためのフローチャートである。 本発明の一実施形態の多重割込み処理開始の処理を説明するためのフローチャートである。 本発明の一実施形態の多重割込み処理終了の処理を説明するためのフローチャートである。 本発明の適用対象となる他の構成の一例としてマルチプロセッサを示した図である。
符号の説明
1 プロセッサ、30 メモリ、201 外部割込制御部、202a〜202d プロセッサユニット、203 全体割込許可制御部、204 全体割込優先度制御部、205 割込処理プロセッサ選択部、206 割込ベクタ、207a〜207d 周辺装置
212 制御管理部

Claims (3)

  1. タスクあるいはスレッドの処理中に該処理をいったん停止して他の処理を実行する割込み処理が可能なプロセッサ部を複数含むプロセッサであって、
    前記プロセッサ部に割込み処理を要求する割込み要求を受け付け、該割込み要求によって要求された割込み処理を複数の前記プロセッサ部のうちのいずれかに実行させる割込み制御手段を備え、
    前記割込み制御手段は、
    前記プロセッサ部の各々において処理されているタスクあるいはスレッドの処理の優先度である処理優先度を判定する処理優先度判定手段と、
    割込み要求の優先度である割込優先度を判定する割込優先度判定手段と、
    割込み処理が可能なすべての前記プロセッサ部がタスクあるいはスレッドの処理中であって、かつ、割込み要求が発生した場合、前記プロセッサ部のうち、前記処理優先度判定手段によって判定された処理優先度が最も低いタスクあるいはスレッドを処理しているプロセッサ部を選択し、割込み処理が可能なすべての前記プロセッサ部が割込み処理中であって、かつ、割込み要求が発生した場合、複数の前記プロセッサ部において最も低く、かつ、発生した割込み要求の割込優先度よりも低い割込優先度を持つ割込み処理を実行しているプロセッサ部がある場合には該プロセッサ部を選択し、発生した割込み要求の割込優先度よりも低い割込優先度を持つ割込み処理を実行しているプロセッサ部がない場合には、前記発生した割込み要求を待機させるプロセッサ部選択手段と、
    前記プロセッサ部選択手段よって選択された前記プロセッサ部に対し、当該プロセッサのステータス及び進行状況をスタック領域に退避させた後に、割込み要求をする割込み要求手段と、
    を備えることを特徴とするプロセッサ。
  2. 割込み処理が終了した場合、割込み要求によって処理が中断しているタスクあるいはスレッドを、タスクあるいはスレッドの処理優先度にしたがって割込み処理が終了した前記プロセッサ部に実行させる処理復帰手段をさらに備えることを特徴とする請求項1に記載のプロセッサ。
  3. タスクあるいはスレッドの処理中に該処理をいったん停止して他の処理を実行する割込み処理が可能なプロセッサ部を複数含み、前記プロセッサ部に割込み処理を要求する割込み要求を受け付け、該割込み要求によって要求された割込み処理を複数の前記プロセッサ部のうちのいずれかに実行させる割込み制御手段を備えたプロセッサに適用される割込み処理制御方法であって、
    前記プロセッサ部の各々において処理されているタスクあるいはスレッドの処理の優先度である処理優先度を判定する処理優先度判定ステップと、
    割込み要求の優先度である割込優先度を判定する割込優先度判定ステップと、
    割込み処理が可能なすべての前記プロセッサ部がタスクあるいはスレッドの処理中であって、かつ、割込み要求が発生した場合、前記プロセッサ部のうち、前記処理優先度判定ステップにおいて判定された処理優先度が最も低いタスクあるいはスレッドを処理しているプロセッサ部を選択し、
    割込み処理が可能なすべての前記プロセッサ部が割込み処理中であって、かつ、割込み要求が発生した場合、複数の前記プロセッサ部において最も低く、かつ、発生した割込み要求の前記割込優先度よりも低い割込優先度を持つ割込み処理を実行しているプロセッサ部がある場合には該プロセッサ部を選択し、
    発生した割込み要求の前記割込優先度よりも低い割込優先度を持つ割込み処理を実行しているプロセッサ部がない場合には、前記発生した割込み要求を待機させるプロセッサ部選択ステップと、
    前記プロセッサ部選択ステップにおいて選択された前記プロセッサ部に対し、当該プロセッサのステータス及び進行状況をスタック領域に退避させた後に、割込み要求をする割込み要求ステップと、
    を含むことを特徴とする割込み処理制御方法。
JP2005074469A 2005-03-16 2005-03-16 プロセッサ及びこのプロセッサ適用される割込み処理制御方法 Expired - Fee Related JP5017784B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005074469A JP5017784B2 (ja) 2005-03-16 2005-03-16 プロセッサ及びこのプロセッサ適用される割込み処理制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005074469A JP5017784B2 (ja) 2005-03-16 2005-03-16 プロセッサ及びこのプロセッサ適用される割込み処理制御方法

Publications (3)

Publication Number Publication Date
JP2006259968A JP2006259968A (ja) 2006-09-28
JP2006259968A5 JP2006259968A5 (ja) 2008-05-01
JP5017784B2 true JP5017784B2 (ja) 2012-09-05

Family

ID=37099176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005074469A Expired - Fee Related JP5017784B2 (ja) 2005-03-16 2005-03-16 プロセッサ及びこのプロセッサ適用される割込み処理制御方法

Country Status (1)

Country Link
JP (1) JP5017784B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5243711B2 (ja) 2006-11-10 2013-07-24 セイコーエプソン株式会社 プロセッサ
JP7392338B2 (ja) 2019-09-10 2023-12-06 大日本印刷株式会社 電子情報記憶媒体、icカード、生体情報取得方法、及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0387935A (ja) * 1989-08-31 1991-04-12 Toshiba Corp タスクプリエンプション制御方式
JPH0442328A (ja) * 1990-06-07 1992-02-12 Nec Corp 情報処理装置の割り込み制御方式
JPH04302353A (ja) * 1991-03-29 1992-10-26 Toshiba Corp 対称形マルチプロセッサ計算機のタイマ割込み方式
JP3715328B2 (ja) * 1992-09-21 2005-11-09 株式会社東芝 データ処理装置
JPH07105022A (ja) * 1993-10-04 1995-04-21 Mitsubishi Electric Corp マイクロコンピュータ
JPH09114793A (ja) * 1995-10-23 1997-05-02 Nec Eng Ltd マルチプロセッサシステム及びその割り込み処理方法
JP2005004562A (ja) * 2003-06-13 2005-01-06 Canon Inc マルチプロセッサシステム、マルチプロセッサシステムの制御方法、およびマルチプロセッサシステムの制御プログラム
JP2006243865A (ja) * 2005-03-01 2006-09-14 Seiko Epson Corp プロセッサおよび情報処理方法

Also Published As

Publication number Publication date
JP2006259968A (ja) 2006-09-28

Similar Documents

Publication Publication Date Title
KR100746797B1 (ko) 프로세서 및 정보처리 방법
JP4148223B2 (ja) プロセッサおよび情報処理方法
KR101798369B1 (ko) 휴대용 디바이스에서 동기적 태스크 디스패치를 위한 시스템 및 방법
JP5243711B2 (ja) プロセッサ
JP5323828B2 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
JP4996519B2 (ja) 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法
JP5673672B2 (ja) マルチコアプロセッサシステム、制御プログラム、および制御方法
US8117474B2 (en) CPU clock control during cache memory stall
JP4609113B2 (ja) プロセッサ
JP2007188397A (ja) マルチプロセッサシステム及びマルチプロセッサシステムの割込み制御方法をコンピュータに実行させるためのプログラム
US20130036426A1 (en) Information processing device and task switching method
JP2006260377A (ja) 並列処理装置および情報処理方法
JP4033215B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム
JP5017784B2 (ja) プロセッサ及びこのプロセッサ適用される割込み処理制御方法
US9535699B2 (en) Processor, multiprocessor system, compiler, software system, memory control system, and computer system
JP4389797B2 (ja) プロセッサおよび情報処理方法
JP2007219800A (ja) 並列処理装置及び排他制御方法
JP2004118300A (ja) Dmaコントローラ
JP2006195705A (ja) プロセッサ
JP2005275703A (ja) プロセッサ及びコンテキスト切り替え方法
JPH0876876A (ja) マイクロプロセッサのクロック供給制御回路
JP2008191840A (ja) 制御システム及び制御方法
JP2010271945A (ja) コンピュータシステム、アプリケーションプログラムのカーネルモード動作支援方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080317

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080317

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees