JP2008123157A - プロセッサ及び割込み制御方法 - Google Patents

プロセッサ及び割込み制御方法 Download PDF

Info

Publication number
JP2008123157A
JP2008123157A JP2006304798A JP2006304798A JP2008123157A JP 2008123157 A JP2008123157 A JP 2008123157A JP 2006304798 A JP2006304798 A JP 2006304798A JP 2006304798 A JP2006304798 A JP 2006304798A JP 2008123157 A JP2008123157 A JP 2008123157A
Authority
JP
Japan
Prior art keywords
interrupt
processor
processing
unit
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006304798A
Other languages
English (en)
Other versions
JP5243711B2 (ja
Inventor
Mitsunari Todoroki
晃成 轟
Katsuya Tanaka
克哉 田中
Hiroaki Takada
広章 高田
Shinya Honda
晋也 本田
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.)
Nagoya University NUC
Seiko Epson Corp
Original Assignee
Nagoya University NUC
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 Nagoya University NUC, Seiko Epson Corp filed Critical Nagoya University NUC
Priority to JP2006304798A priority Critical patent/JP5243711B2/ja
Priority to US11/979,341 priority patent/US7853743B2/en
Publication of JP2008123157A publication Critical patent/JP2008123157A/ja
Application granted granted Critical
Publication of JP5243711B2 publication Critical patent/JP5243711B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Abstract

【課題】割込み禁止等のプロセッサの状態を考慮し、しかもタスク処理及び割込み処理を優先順位がより高いものから適正に実行できるプロセッサを提供する。
【解決手段】単位プロセッサP0〜P3、単位プロセッサP0〜P3の管理情報を管理する優先度管理用レジスタ301、管理情報及び単位プロセッサP0〜P3に対して要求された割込み処理の優先順位に基づいて、単位プロセッサP0〜P3のうちから割込み処理を実行するものを選択し、選択された単位プロセッサに割込み処理要求を伝達する外部割込み制御部11を備え、外部割込み制御部11は、要求された割込み処理及び単位プロセッサP0〜P3で実行されている処理がタスク処理であるか外部割込み処理であるかの別によらず、最も優先順位の低い処理を実行している単位プロセッサを選択する。
【選択図】図3

Description

本発明は、複数のタスクあるいは割込み処理を並列的に処理できるプロセッサ及び割込み制御方法に関する。
近年、組込み機器等において、複数のプロセッサを備えることによって複数のタスクあるいはスレッド(本明細書ではタスクに統一する)を並列的に処理できるマルチプロセッサシステムやマルチスレッドプロセッサ(以下、これらを総称して「マルチプロセッサ」と言う。)が利用されつつある。従来の携帯機器では、シングルプロセッサによる処理が行われていたところ、携帯機器の高機能化に伴い処理が複雑化し、シングルプロセッサによる処理が困難となっている。
そして、マルチプロセッサによる処理を行う場合、割込み処理の発生に対して、シングルプロセッサと異なる対応を行う必要がある。例えば、割込みの種類に応じて、複数のプロセッサのうち処理を行うプロセッサを定めておくという方法や、複数のプロセッサの全てに割込み信号を入力し、プロセッサ間で調停を行うといった方法が考えられる。
なお、マルチプロセッサにおいて、割込み処理をプロセッサ間で調停する方法に関す
る技術が、特許文献1、特許文献2に記載されている。
特許文献1、特許文献2に記載された技術は、マルチプロセッサにおいて、プロセッサごとに割込みコントローラを設け、割込み要求が発生した場合に、これら割込みコントローラ間で調停を行うものである。
特開平6−324996号公報 特開2005−4562号公報
しかしながら、特許文献1に記載された技術においては、プロセッサごとに割込みコントローラを備えているため、必要なハードウェアが大型化し、配線も複雑化することから、組込み機器に適するものではなかった。また、上述のように、割込みの種類に応じて、複数のプロセッサのうち処理を行うプロセッサを定めておくこととした場合、非動作状態のプロセッサが存在するにもかかわらず、割込み処理が実行されない事態を生じ得るため、処理効率が低下する可能性があった。
さらに、組込み機器に適用されたマルチプロセッサのようなハードウェアリソースの限られた環境下で、割込み処理等、優先順位の高い処理を効率的に処理することが困難であった。また、ハードウェアの大型化を抑えるため、主にソフトウェアによって割込みの制御を実行した場合、ハードウェアによって割込みを制御するよりもプロセッサの選択に時間がかかり、割込み要求による処理の遅れが大きくなるという欠点があった。
また、特許文献2に記載された従来技術は、割込み処理の優先順位が一般的に高いことに着目してなされたものである。このため、割込み処理の要求が先に実行されていた処理によって待たされることを避けるため、要求された割込み処理を全て受付ける。そして、受付けられた割込み処理を複数のプロセッサのうち最も優先順位が低い処理を実行していたものに割当てる。
マルチプロセッサでは、一のプロセッサを、このプロセッサによって実行されているタスクが他のタスクや割込みによって中断されることを避けるため、割込み禁止に設定することがある。しかしながら、特許文献2の技術によれば、割込みの要求は全て受付けられるので、マルチプロセッサにおいて割込み禁止を設定する意義が失われて動作に支障がでる可能性が発生する。
さらに、割込み処理と実行中の処理との間の優先順位について考慮しないため、実行中の処理が特に優先順位が高いものであっても割込みによって処理が中断されるという不具合が発生する。
本発明は、このような点に鑑みてなされたものであって、タスクによってなされる処理と割込みを要求してなされる処理との優先順位を一元的に管理することによって割込み禁止等のプロセッサの状態を考慮し、しかもタスク処理及び割込み処理を優先順位がより高いものから適正に実行できるプロセッサ及び割込み制御方法を提供することを目的とする。
以上の課題を解決するため、本発明のプロセッサは、複数のプロセッサと、複数の前記プロセッサの状態及び実行中の処理の優先順位に関する情報を含む管理情報を管理する処理状態管理手段と、前記処理状態管理手段によって管理されている管理情報に基づいて、前記プロセッサのうちから最も優先順位の低い処理を実行しているプロセッサを選択する処理プロセッサ選択手段と、要求された割込み処理を選択された前記プロセッサに割込み処理要求として伝達する割込み制御手段と、を備えてなり、前記割込み制御手段は、要求された割込み処理及びプロセッサで実行されている処理が、所定のスケジュールにしたがって処理されるタスク処理であるか、前記スケジュールによらず処理される割込み処理であるかの別によらず、最も優先順位の低い処理を実行しているプロセッサを選択することを特徴とする。
このような発明によれば、プロセッサの状態をも考慮して要求された割込み処理を実行するプロセッサを適正に選択できるプロセッサを提供することができる。
また、割込み要求した処理あるいはプロセッサが実行中の処理がタスク処理、割込み処理であるかに係らず、最も優先順位の低い処理を実行しているプロセッサを選択することができる。このため、タスクによってなされる処理と割込みを要求してなされる処理との優先順位を一元的に管理することによってタスク処理及び割込み処理を優先順位がより高いものから適正に実行できるプロセッサを提供することができる。
また、本発明のプロセッサは、前記処理状態管理手段によって管理されている情報が、複数の前記プロセッサの少なくとも一部が割込み処理の実行が禁止されている割込み禁止状態にあることを示す情報を含む場合、前記割込み制御手段は、割込み禁止状態にあるプロセッサを割込み処理を実行するプロセッサの選択の対象から除くことを特徴とする。
このような発明によれば、プロセッサの割込み禁止状態を考慮し、要求された割込み処理を実行するプロセッサを適正に選択できるプロセッサを提供することができる。
また、本発明のプロセッサは、複数の前記プロセッサのうち、前記処理プロセッサ選択手段により選択されたプロセッサと、要求された割込み処理の優先順位の判定を行い、要求された割込み処理の優先順位が低いと判断されたとき、要求された割込み処理の実行を、実行可能になるまで保留する割込み保留手段を備えることを特徴とする。
このような発明によれば、割込みを受付けるのに適正なプロセッサがない場合、優先順位がより高い処理が中断されることをなくし、処理を適正に実行することができる。
また、本発明のプロセッサは、前記保留手段が、前記プロセッサのいずれかに割当てられるタスク処理及び割込み処理をタスク処理、割込み処理の区別なく各々の優先順位にしたがう順番に基づいて管理するレディキューを有し、前記割込み制御手段は、タスク処理及び割込み処理を、前記レディキューにしたがう順番で前記プロセッサに割当てることを特徴とする。
このような発明によれば、保留されている処理を優先順位のより高いものから適正に実行することができる。
また、本発明のプロセッサは、前記レディキューが、前記割込み制御手段によって前記プロセッサのいずれかに割当てられた後、前記割込み保留手段によって実行を保留させられた割込み処理を管理することを特徴とする。
このような発明によれば、プロセッサのいずれかに割当てられた後に保留状態になった処理を再度他の処理と調整し、適正なプロセッサに割当てることが可能になる。
また、本発明のプロセッサは、前記割込み制御手段が、前記割込み保留手段によって実行を保留させられた割込み処理を、複数の前記プロセッサのうち所定のプロセッサによる実行が可能になるまでネスト状態にすることを特徴とする。
このような発明によれば、プロセッサのいずれかに割当てられた後に保留状態になった処理を再開する処理を簡易化することができる。
また、本発明の割込み制御方法は、複数のプロセッサの各々の状態及び実行中の処理の優先順位に関する情報を含む管理情報に基づいて、要求された割込み処理を実行するプロセッサを選択する割込み制御ステップを含む割込み制御方法であって、前記割込み制御ステップは、要求された割込み処理及びプロセッサで実行されている処理が、所定のスケジュールにしたがって処理されるタスク処理であるか、前記スケジュールによらず処理される割込み処理であるかの別によらず、最も優先順位の低い処理を実行しているプロセッサを選択し、選択された前記プロセッサに割込み処理を割当てることを特徴とする。
このような発明によれば、割込み要求した処理あるいはプロセッサが実行中の処理がタスク処理、割込み処理であるかに係らず、最も優先順位の低い処理を実行しているプロセッサを選択することができる。このため、タスクによってなされる処理と割込みを要求してなされる処理との優先順位を一元的に管理することによってタスク処理及び割込み処理を優先順位がより高いものから適正に実行できる割込み制御方法を提供することができる。
以下、本発明の一実施形態のプロセッサを説明する。
図1は、本発明のプロセッサが適用される携帯電話1の機能構成を示すブロック図である。本実施形態のプロセッサは、複数のプロセッサ(単位プロセッサ)を備えたマルチプロセッサであって、図1に示したCPU10を構成する。なお、以降、単にプロセッサと記した場合には単位プロセッサを複数備えた本実施形態のマルチプロセッサを指すものとする。
図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と直接接続されている。
CPU10は、複数のタスクを並列的に処理しながら携帯電話1全体を制御するもので、キー操作部100から入力される各種の指示信号に応じて、フラッシュROM30に記憶されたオペレーティングシステムプログラム(OS)や各種アプリケーションプログラムを読み出して実行する。また、無線部50、オーディオ部70あるいはカメラ部120等の周辺チップからCPU10に割込み処理を要求する割込み信号が入力された場合、この割込み信号に応じて、割込みハンドラを実行する。
CPU10は、アプリケーションにより生成されたタスクを並行して処理する。さらに、周辺チップから割込み信号が入力された場合、割込みハンドラを実行することにより、割込みに対応するプログラムを実行する。
このように、タスク処理は、所定のスケジュール(タスクスケジュール)にしたがって処理される処理である。また、要求された割込み処理は、タスクスケジュールによらず割込みハンドラによって処理される。
なお、本実施形態では、周辺チップからCPU10に要求される割込みを外部割込みといい、アプリケーションによって行われるタスクスイッチ等の割込みを指す内部割込みと区別する。また、単に割込みと記した場合には外部割込みを指すものとする。アプリケーションによる内部割込み処理は、OSのタスクスケジューラによって管理されるタスクとして実行されるため、OSのサービスコールを呼び出すことができる。一方、外部割込み処理は、タスクスケジューラによって管理されない処理(非タスク処理)である。
また、CPU10は、各種処理結果をフラッシュROM20あるいはメモリ30に格納する。ここで、CPU10の内部構成について説明する。
図1に示したフラッシュROM20は、携帯電話1において実行されるオペレーティングシステムプログラム、及び、各種アプリケーションプログラムを記憶している。メモリ30は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)あるいはSDRAM(Synchronous DRAM)といった半導体メモリによって構成され、CPU10が処理を実行する際にワークエリアを形成すると共に、その処理結果を記憶する。
バッファ40は、外部から携帯電話1に入力されたデータあるいは携帯電話1において発生されたデータを一時的に保持するバッファである。無線部50は、携帯電話1と携帯電話システムの基地局との間における無線通信を行うものである。例えば、無線部50は、基地局から携帯電話1に対する着信を示す信号を受信した場合、CPU10に対して割込み信号を出力し、着信信号の受信を通知する。また、無線部50は、CPU10から発信を指示する信号が入力された場合、基地局に対して発信要求を示す信号を送信する。
IrDA部60は、IrDAに基づく通信を行うインターフェースであり、外部からIrDAに基づく無線信号を受信した場合、CPU10に対して割込み信号を出力し、IrDA信号の受信を通知する。オーディオ部70は、携帯電話1において入出力される音声信号を処理するものであり、通話におけるマイク及びスピーカを用いた音声の入出力、あるいは、音楽等の再生といった処理を行う。
タイマ80は、携帯電話1のクロック信号を基に時間を計測し、例えば1msごと等、所定時間ごとにCPU10に対して割込み信号を出力する。USBインターフェース部90は、USBによる通信を行うためのインターフェースであり、USBケーブルが接続された場合やUSBケーブルから信号を受信した場合等に、CPU10に対して割込み信号を出力する。
キー操作部100は、携帯電話1に対する指示入力を行うための各種キーを備えており、これらのキーが押下された場合に、CPU10に対する割込み信号を出力する。LCD110は、CPU10によって入力された文字あるいは画像等の描画命令に従って、所定画面を表示する表示装置である。カメラ部120は、CCD(Charge Coupled Devices)あるいはCMOS(Complementary Metal Oxide Semiconductor)センサ等の撮像素子を備え、画像を撮影した場合に、CPU10に対して割込み信号を出力する。
図2は、CPU10、すなわちマルチプロセッサとして構成された本実施形態のプロセッサの内部構成を示すブロック図である。CPU10は、タスクあるいは割込みの処理を実行する複数のプロセッサ部(単位プロセッサ)P0〜P3を含むマルチプロセッサであって、単位プロセッサP0〜P3と、外部割込み制御部11と、メモリ制御部12とを含んで構成される。なお、図2に示す周辺チップ109は、図1に示す無線部50、IrDA部60及びオーディオ部70等、CPU10に直接接続された機能部を含むものであり、周辺チップ109で表される複数の周辺チップの各々が、これら機能部のいずれかであることを意味している。
単位プロセッサP0〜P3は、それぞれが並列してタスクを処理可能なプロセッサであり、周辺チップ109において割込み信号が発生した場合、後述する外部割込み制御部11によって選択されたプロセッサが割込み処理を実行する。なお、単位プロセッサP0〜P3の内部構成としては同様のものとなるため、代表として、単位プロセッサP0の内部構成について説明する。
単位プロセッサP0は、フェッチ部101と、デコード部102と、ALU(Arithmetic and Logical Unit)103と、レジスタ104と、プログラム制御部105とをさらに含んで構成される。フェッチ部101は、後述するプログラム制御部105のプログラムカウンタが示すメモリアドレスから命令コードを読み出し、デコード部102に出力する。
デコード部102は、フェッチ部101によって入力された命令コードをデコードし、デコード結果(命令内容及びソースレジスタ、デスティネーションレジスタのアドレス等)をALU103に出力する。ALU103は、デコード部102によって入力されたデコード結果に応じて、所定の演算を行い、演算結果をレジスタ104に書き込む、あるいは分岐命令等の演算結果であるブランチ先のアドレスをプログラム制御部105に出力する。
レジスタ104は、ロード命令によってメモリ30から読み出されたデータや、ALU103の演算結果であるデータを記憶するレジスタ群である。プログラム制御部105は、単位プロセッサP0全体を制御するものであり、単位プロセッサP0のステータス(例えば、割込みの可否状態、単位プロセッサP0におけるオーバーフローの発生状態等)を記憶するステータスレジスタ(PSR)と、単位プロセッサP0が次に実行するべき命令が格納されたメモリアドレスを記憶するプログラムカウンタ(PC)とを含んで構成される。そして、プログラム制御部105は、単位プロセッサP0が割込み処理に移行する時点で、PSRの値を割込み処理の禁止状態に変更する、あるいは分岐命令が実行された場合に、プログラムカウンタの値を分岐先のアドレスに変更する。
また、プログラム制御部105は、実行中のタスクによってハードウェアセマフォの取得要求が出力された場合、先ず、ハードウェアセマフォの取得結果を受け取り、ハードウェアセマフォの取得に成功したことを示すフラグ、またはハードウェアセマフォ取得に失敗したことを示すフラグを書き込む。ハードウェアセマフォ取得に失敗したことを示すフラグ(OSへの移行が拒否されたことを示すフラグ)が書き込まれた場合、このプロセッサは、ハードウェアセマフォの取得を一旦停止し、待機状態から離脱する。
さらに、プログラム制御部105は、追出し禁止フラグ106を備えている。追出し禁止フラグ106は、指定された単位プロセッサにおいてタスクの切替えや外部割込みが起こり、タスクが単位プロセッサから追出されることを禁止するための機構である。プログラム制御部105は、追出し禁止フラグ106を1にすることによって現在単位プロセッサにあるタスクが他のタスクに切替えられることを禁止する。単位プロセッサにおけるタスクの追出しが禁止された状態を以降ロック状態とも記す。
このような追出し禁止フラグ106は、複数の単位プロセッサP0〜P3に対して行われる割込みを個別に禁止するものである。
図3は、図2に示した構成の本発明に係る部分をより詳細に示した図である。
本実施形態のプロセッサでは、単位プロセッサP0〜P3の各々が、自ら(自プロセッサと記す)の処理実行の状態と、単位プロセッサP0〜P3が実行中の処理の優先順位(実施形態中では優先度と記す)に関する情報を含む管理情報を管理する優先度管理用レジスタ301を備えている。なお、優先度管理用レジスタ301によって管理される管理情報については後で述べる。
また、図3では、図2において一括して周辺チップ109として示した外部機器の各々を図示し、各々を外部割込み信号1を出力する機器305、外部割込み信号2を出力する機器306、外部割込み信号3を出力する機器307として示す。単位プロセッサP0〜P3に対して要求される割込み処理は、機器305〜機器306から要求される外部割込処理である。
外部割込み制御部11は、割込み要求した処理及び単位プロセッサP0〜P3で実行中の処理が、タスク処理であるか割込み処理であるかの別によらず、最も優先順位の低い処理を実行している単位プロセッサを選択し、選択された単位プロセッサに割込み処理要求を伝達している。
すなわち、外部割込み制御部11は、機器305、機器306、機器307によって出力された割込み信号1〜3を受信する外部割込み受信部308を備えている。また、外部割込み信号1〜3を受信したことによって各信号が示す割込み要求を検出し、割込み処理を実行する単位プロセッサを選択する処理プロセッサ選択部304、選択されたプロセッサと要求された割込み処理とにおいて、要求された割込み処理の優先度が低い場合には、いずれかの単位プロセッサが実行可能になるまで割込み処理を保留する外部割込み保留処理部303を備えている。
処理プロセッサ選択部304は、管理情報に基づいて、単位プロセッサP0〜P3のうちから最も優先度が低いタスクまたは外部割込み処理を実行している単位プロセッサを選択する。
さらに、外部割込み制御部11は、外部割込み通知部302を備えている。外部割込み通知部302は、要求された割込み処理を、処理プロセッサ選択部304によって選択された単位プロセッサに割込み処理要求として伝達している。
また、本実施形態のプロセッサは、OSによって管理されているタスクを単位プロセッサP0〜P3で実行しながら外部割込みの要求を受付けるものであって、OSが制御管理部310として機能する。OSのタスクを管理する機能をタスクスケジューラとも記す。タスクは、タスクスケジュールにしたがって処理される。一方、プロセッサに割込を要求する割込み処理は、OSではなく、外部割込み制御部11上で動作する割込みハンドラによって処理される。
このような外部割込み制御部11による割込み処理の割当てを、より詳細に説明する。すなわち、制御管理部310は、タスクだけを管理するための構成として、タスクスケジューラ部311、タスクスケジューラ311にしたがってタスクを実行する単位プロセッサを選択する処理プロセッサ選択部312、実行中のタスクが単位プロセッサから追出されることを防ぐ割込み禁止制御部314、実行待ちのタスクを管理する保留処理制御部313を備えている。
また、外部割込み制御部11は、前記したように外部割込み保留処理部303、処理プロセッサ選択部304を備えている。処理プロセッサ選択部304は、各単位プロセッサP0〜P3の状態を優先度管理用レジスタ301によって検出する。状態とは、単位プロセッサP0〜P3が割込み禁止に設定されているか否か、単位プロセッサP0〜P3によって実行されているタスクまたは外部割込み処理の優先度を含むものとする。
要求された割込みがいずれかの単位プロセッサに受付けられた場合、外部割込み制御部11では、この単位プロセッサにおいて実行中のタスクに代わって割込みハンドラが起動する。割込みハンドラの起動により、処理プロセッサ選択部304は、先に選択された単位プロセッサによって実行されているタスクまたは外部割込み処理の優先度と、要求された割込み処理の優先度との判定をする。そして、要求された割込み処理の優先度がより低いと判定された場合、この単位プロセッサを割込み処理の割当てが可能な単位プロセッサとして選択する。外部割込み保留処理部303は、現時点で実行できない単位プロセッサについては保留する。
割込みハンドラは、割込み処理を単位プロセッサによって実行し、割込み処理の終了によって終了する。割込みハンドラの終了後、代わってOSが起動してタスク処理を再開する。
本実施形態は、上記したタスクと割込み処理とを独立に管理する構成において、制御管理部310、外部割込み制御部11の両方がアクセス可能なメモリ320を備えている。制御管理部310は、保留処理制御部313によって保留されているタスクを実行の優先度を表す情報と共にメモリ321に記録する。外部割込み制御部11は、外部割込み保留処理部303によって保留された割込み処理を、記録されているタスクの優先度と比較する。
そして、タスクのうち割込み処理の優先度よりも高い優先度のタスクよりも後であって、より低い優先度を持つタスクの前の順番を付してタスクと共に記録し、レディキュー(Readyキュー)321を生成する。
このようにして生成されたレディキューは、単位プロセッサP0〜P3のいずれかに割当てられるタスク処理及び割込み処理を、タスク処理、割込み処理の区別なく、各々の優先度にしたがう順番に基づいて管理するものになる。処理プロセッサ選択部304は、このレディキューにしたがう順番で単位プロセッサを選択し、外部割込み通知部302が選択された単位プロセッサに割込み処理要求を伝達する。
以上の構成において、優先度管理用レジスタ301は、本実施形態の処理状態管理手段として機能する。また、処理プロセッサ選択部304を備えた外部割込み制御部11が、処理状態管理手段、選択手段及び割込み制御手段として機能する。さらに、外部割込み保留処理部303、保留処理制御部313、レディキュー321が本実施形態の保留手段として機能する。
ここで、優先度管理用レジスタ301のより具体的な構成について説明する。優先度管理用レジスタ301は、単位プロセッサP0〜P3の各々に備えられている。各単位プロセッサP0〜P3は、同様の構成を有している。このため、本実施形態では単位プロセッサP0の優先度管理用レジスタ301について記し、単位プロセッサP1〜P3の説明に代えるものとする。
以下、優先度管理用レジスタ301に管理される管理情報に基づいて具体的に説明する。優先度管理用レジスタ301は、例えば、7ビット分のデータを管理情報として保存できるレジスタによって構成できる。この例では、各ビットが、以下に示す情報を各々表すものとする。
bit6:プロセッサ割込み禁止の状態を表す。(禁止[1]/ 非禁止[0])
bit5:プロセッサの状態を表す。(RUN[1]/HALT[0])
bit4:RUN状態の場合、割込みハンドラ[1]/タスク処理[0]の状態を表す。
bit3〜0:RUN状態の場合、実行中の割込みハンドラ(割込み処理)またはタスク処理の優先度を表す。
なお、上記した例では、割込み処理またはタスク処理の優先度は値が小さいものほど低い優先度を示すものとする。
本実施形態では、優先度管理用レジスタ301を単位プロセッサP0〜P3の各々にある既存のレジスタに追加するものとする。なお、当然のことながら、本実施形態はこのような構成に限定されるものでなく、専用のレジスタとして構成することも可能である。このような優先度管理用レジスタ301によれば、単位プロセッサP0〜P3によって実行されている処理の優先度を外部割込み制御部11が簡単に比較し、優先度が最も低い処理を実行している単位プロセッサを選択することが可能になる。
また、上記した優先度管理用レジスタ301の内容は、以下に記した事象をトリガにして更新される。
・プロセッサの内部において、実行中の処理よりも優先度が高いタスクが発生したことによってタスクスイッチが発生した場合。
・実行中の処理よりも優先度が高い割込み処理が要求されたことによって実行中のタスクまたは割込み処理に割込みが発生した場合。
・単位プロセッサP0〜P3のいずれかで実行されているタスクが待機状態に移行した場合
・単位プロセッサP0〜P3のいずれかで実行されていた割込み処理が終了した場合。
・単位プロセッサP0〜P3のいずれかで割込み禁止の設定または設定された割込み禁止の解除がなされた場合。
プロセッサに割込みが要求された場合、外部割込み制御部11は、要求された割込みの優先度を優先度管理用レジスタ301の内容と対照する。そして、要求された割込み処理より優先度が低いタスクまたは割込み処理(タスクまたは割込み処理を指す場合には単に処理とも記す)を実行している単位プロセッサを選択し、この単位プロセッサに発生した割込み処理を割当てる。
要求された割込み処理より優先度が低い処理が複数ある場合、本実施形態では、外部割込み制御部11が、このうちの最も優先度が低い処理を実行している単位プロセッサを選択するものとする。
また、外部割込み制御部11は、優先度管理用レジスタ301によって管理されている情報が単位プロセッサP0〜P3の少なくとも一部が割込み禁止状態にあることを示す情報を含む場合、割込み禁止の単位プロセッサを選択の対象から除いている。上記した例によれば、外部割込み制御部11は、いずれかの単位プロセッサP0〜P3の優先度管理用レジスタ301のbit6に「1」がたっていた場合、この単位プロセッサが割込み禁止であると判断する。
例えば、単位プロセッサP0〜P3のうち単位プロセッサP0のbit6に「1」がたっていた場合、外部割込み制御部11は、単位プロセッサP0が割込み禁止であると判断し、単位プロセッサP0を除く単位プロセッサP1〜P3のいずれかを対象にして要求された割込み処理を実行させる単位プロセッサを選択する。
このような優先度管理用レジスタ301によれば、単位プロセッサP0〜P3の各々の状態及び実行中の処理の優先度を、タスク処理、割込み処理の別なく一元的に管理することができる。制御管理部310、外部割込み制御部11は、優先度管理用レジスタ301を参照することによって単位プロセッサP0〜P3の各々の状態及び実行中のタスク処理または割込処理の優先度を簡易に判定することができる。
このため、制御管理部310、外部割込み制御部11は、単位プロセッサの割込み禁止等の状態を考慮して外部割込みを処理することができる。また、処理中の優先度と発生した割込み要求の処理の優先度とを簡易に比較し、優先度がより高い処理から適正に実行することが可能になる。
このような本実施形態によれば、単位プロセッサを割込み禁止に設定する効力を損なうことがない。また、いずれかの単位プロセッサで実行中の割込み処理が、優先度のより低い外部割込み処理によって中断することがない。
さらに、外部割込み制御部11は、要求された割込み処理より優先度が低い処理を実行している単位プロセッサがない場合、メモリ320にアクセスして割込み処理をレディキュー321に追加する。レディキュー321に追加された割込み処理は、いずれかの単位プロセッサが割込み可能になるまで保留されることになる。
いずれかの単位プロセッサにおいて実行されているタスクが割込み処理によって中断させられた場合、中断したタスクはレディキュー321に再び戻されて次の実行まで保留される。次にタスクを実行する単位プロセッサは、タスクの実行中の割込みがされた単位プロセッサに限らず、いずれの単位プロセッサであってもよい。
また、いずれかの単位プロセッサにおいて実行されている割込み処理が他の割込み処理によって中断させられた場合、中断した割込み処理は、タスクと同様にレディキュー321に再び戻されて次の実行まで保留されるものであってもよい。このような場合、次にタスクを実行する単位プロセッサは、タスクの実行中の割込みがされた単位プロセッサに限らず、いずれの単位プロセッサであってもよい。
図4は、レディキュー321を例示した図である。図示したレディキュー321は、優先度が最低の0から最高の31まで管理可能な構成である。タスク処理及び割込み処理は、各々の優先度に対応するメモリ320のエリアに格納される。一の優先度に対応する処理が複数ある場合、複数の処理は、所定の順番で格納される。この順番においてより上位の処理に続く処理を図中にNEXTキューとして示す。
図示したレディキュー321は、優先度0から優先度15までのエリアにタスクが格納され、優先度16から優先度31までのエリアに割込み処理が格納されている。このような構成は、割込み処理が一般的にタスクよりも優先度が高いことによるものである。ただし、本実施形態によれば、割込み処理よりも優先度が高いタスクが例外的にある場合には、レディキュー321において割込み処理が格納されているエリアの中にタスクが格納されるエリアが生じる可能性もある。
また、レディキュー321に格納されている処理のうち最も優先度が高い処理は、メモリ320の図示しない先頭格納エリアに格納される。先頭格納エリアに格納された処理は、いずれかの単位プロセッサの処理が終了した場合、この単位プロセッサに割当てられて実行される。
なお、本実施形態は、いったん単位プロセッサP0〜P3のいずれかに割当てられた後、中断されて次の実行まで保留される割込み処理を、再びレディキュー321に戻すよう構成してもよい。
ただし、このような処理をレディキュー321に戻す構成に限定されるものではない。すなわち、本実施形態は、いったん単位プロセッサP0〜P3のいずれかに割当てられた後、中断されて次の実行まで保留される割込み処理を、複数の単位プロセッサP0〜P3のうち先に割当てられた単位プロセッサによる実行が可能になるまでネスト状態にすることも可能である。
割込み処理をネストさせた場合、本実施形態は、中断された割込み処理を再開するための処理を簡易化することができる。
次に、以上述べた本実施形態のプロセッサでなされる制御方法をフローチャートにし、図5ないし図10として示す。なお、フローチャートにおいて、単に処理と記す場合、この処理は外部割込み処理、タスクのいずれであってもよいものとする。
図5に示したフローチャートは、実行中の処理にタスクの割込みが発生した場合の制御管理部310の動作を説明するためのフローチャートである。タスク処理による割込み要求が発生した場合、制御管理部310は、この割込みを実行する単位プロセッサを選択するための処理を開始する(S501)。そして、現在単位プロセッサP0〜P3の全てが割込み禁止状態であるか否かを各単位プロセッサの優先度管理用レジスタ301を参照して判断する(S502)。
ステップS502の判断の結果、単位プロセッサP0〜P3が割込み禁止状態であった場合(S502:Yes)、割込みを要求したタスクをレディキュー321のタスクの優先度に対応するエリアに格納する(S506)。この結果、タスクがレディキュー321にキューイングされて実行可能になるまで保留される。
また、ステップS502において、単位プロセッサP0〜P3のいずれかが割込み禁止状態でないと判断された場合(S502:No)、割込み禁止でない単位プロセッサのうち発生したタスクの優先度よりも低い優先度の処理を実行しているものがあるか否か判断する(S503)。低い優先度の処理を実行している単位プロセッサがある場合(S503:Yes)、この単位プロセッサの優先度管理用レジスタ301を更新し、タスクスイッチに備える(S504)。
次に、制御管理部310は、優先度管理用レジスタ301を参照し、優先度を示す値が最小である単位プロセッサを選択する。なお、優先度管理用レジスタ301を参照した結果、HALT状態の単位プロセッサがある場合、全てのRUN状態の単位プロセッサよりもHALT状態の単位プロセッサの優先度が低いものと判定される。制御管理部310は、選択された単位プロセッサに対し発生したタスクの割込みを実行する(S505)。
図6は、外部割込みが発生した場合の外部割込み制御部11の動作を説明するためのフローチャートである。機器305〜機器307のいずれかが出力した外部割込み信号を入力した場合、外部割込み制御部11は、この割込みを実行する単位プロセッサを選択するための処理を開始する(S601)。なお、この処理では、優先度管理用レジスタ301を参照し、実行中の処理の優先度を示す値が最も小さい(優先順位が最も低い)単位プロセッサが対象となる。
そして、外部割込み制御部11は、現在単位プロセッサP0〜P3の全てが割込み禁止状態であるか否かを各単位プロセッサの優先度管理用レジスタ301を参照して判断する(S602)。
ステップS602の判断の結果、単位プロセッサP0〜P3が割込み禁止状態であった場合(S602:Yes)、発生した割込み処理をレディキュー321の割込み処理の優先度に対応するエリアに格納する(S606)。この結果、割込み処理がレディキュー321にキューイングされて実行可能になるまで保留される。
また、ステップS602において、単位プロセッサP0〜P3のうち割込み処理の対象となる単位プロセッサが割込み禁止状態でないと判断された場合(S602:No)、この単位プロセッサによって実行されている処理が発生した割込み処理の優先度よりも低いか否か判断する(S603)。対象となっている単位プロセッサによって実行されている処理の優先度がより低い場合(S603:Yes)、この単位プロセッサの優先度管理用レジスタ301を更新し、割込み処理に備える(S604)。
次に、外部割込み制御部11は、対象となっている単位プロセッサであって、かつ実行されている処理の優先度がより低い単位プロセッサを選択する。制御管理部310は、選択された単位プロセッサに対し発生した外部割込みの処理を実行する(S605)。
なお、上記した処理において、優先度管理用レジスタ301を参照した結果、HALT状態の単位プロセッサがある場合、全てのRUN状態の単位プロセッサよりもHALT状態の単位プロセッサの優先度が低いものと判定される。
図7は、図5に示した方法によってキューイングされたタスクの保留状態を解除するための方法を説明するためのフローチャートである。制御管理部310は、単位プロセッサP0〜P3のいずれかで実行されていたタスクが終了または待機状態に移行するといった事象が発生した場合、レディキュー321に保留状態のタスクがあるか否か判断する(S701)。保留状態のタスクがない場合(S701:No)、事象が発生した単位プロセッサの優先度管理用レジスタ301のbit5を「0」に更新して単位プロセッサがHALT状態にあると情報を設定する(S704)。そして、この単位プロセッサをHALT状態に移行させる(S705)。
一方、制御管理部310は、保留状態のタスクがある場合(S701:Yes)、事象を発生させた単位プロセッサの優先度管理用レジスタ301のbit3〜0を使ってレディキュー321の先頭にあるタスクの優先度を記録する(S702)。
そして、その単位プロセッサ自身に対して優先度が記録されたタスクによる内部割込みを発生させる(S703)。
図8は、図5、図6に示した方法によってキューイングされたタスク、及び外部割込みの保留状態を解除するための方法を説明するためのフローチャートである。外部割込み制御部11は、単位プロセッサP0〜P3のいずれかで実行されていた割込み処理が終了した場合、割込み処理の終了を待ってネスト状態にあった割込み処理があるか否か判断する(S801)。
ネスト状態の割込み処理がある場合(S801:Yes)、レディキュー321の先頭にある処理の優先度を参照する(S802)。そして、外部割込み制御部11は、ネスト状態にあった割込み処理とレディキュー321の先頭にある処理の優先度とを比較する(S803)。
割込み処理とレディキューにある処理との優先度の比較は、次のようにして行われる。すなわち、ここで、ネストされているのは、外部割込み処理である。したがって、基本的にレディキューの先頭がタスクである場合にはネスト処理を継続させる。また、ネスト処理よりも優先度の高い外部割込み処理が、レディキューの先頭に登録されていた場合にはレディキューの先頭に登録されている処理を起動させる。なお、起動は、該当するプロセッサ自身に内部割込みを発生させることによって行われる。
ステップS803の比較の結果、レディキュー321の先頭にある処理の優先度がネスト状態にあった処理よりも低い場合(S803:No)、割込み処理を終了した単位プロセッサの優先度管理用レジスタ301にネストしていた割込み処理の優先度を設定する(S806)。
そして、ネストしていた割込み処理をこの単位プロセッサにおいて継続して実行させる(S807)。
また、ステップS803において、レディキュー321の先頭にある割込み処理の優先度がネスト状態にあった処理よりも高いと判断された場合(S803:No)、割込み処理を終了した単位プロセッサの優先度管理用レジスタ301にレディキュー321の先頭にある割込み処理の優先度を設定する(S804)。
そして、この単位プロセッサにレディキュー321において保留状態にあった処理を起動させるための内部割込みを発生させる(S805)。
一方、ステップS801においてネスト状態の割込み処理がないと判断された場合(S801:No)、外部割込み制御部11は、レディキュー321に保留状態の割込み処理があるか否か判断する(S808)。保留状態の割込み処理がない場合(S801:No)、割込み処理を終了した単位プロセッサの優先度管理用レジスタ301のbit5を「0」に更新して単位プロセッサがHALT状態にあると情報を設定する(S811)。そして、この単位プロセッサをHALT状態に移行させる(S812)。
また、外部割込み制御部11は、レディキュー321に保留状態の割込み処理がある場合(S808:Yes)、割込み処理を終了した単位プロセッサの優先度管理用レジスタ301にレディキュー321の先頭にある処理の優先度を設定する(S809)。そして、この単位プロセッサにレディキュー321において保留状態にあった処理を起動させるための内部割込みを発生させる(S810)。
図9は、制御管理部310が単位プロセッサの割込み禁止を解除する方法を説明するためのフローチャートである。制御管理部310は、割込み禁止の解除処理を開始すると、先ず、レディキュー321に保留状態の処理があるか否か判断する(S901)。
保留状態の処理がある場合(S901:Yes)、レディキュー321の先頭にある処理の優先度と割込み禁止を解除したタスクの優先度とを比較する(S902)。
図9に示したフローチャートでは、タスクが割込み禁止解除を行うのであるから、基本的にはレディキューに外部割込みが登録されている場合、優先度がさらに高いタスクが登録されている場合は実行権が移行する。逆に優先度の高いタスクが登録されていない場合、そのまま割込み禁止解除を行ったタスクが実行を継続する。
すなわち、レディキュー321の先頭にある処理の優先度が、割込み禁止を解除したタスクの優先度よりも高い場合(S902:Yes)、レディキュー321の先頭にある処理の優先度を割込み禁止を解除した単位プロセッサの優先度管理用レジスタ301に設定する(S903)。
そして、制御管理部310は、割込み禁止を解除した単位プロセッサに内部割込みを要求し、レディキュー321の先頭にある処理をこの単位プロセッサに実行させる(S904)。また、制御管理部310は、レディキュー321の先頭にある処理の優先度が割込み禁止を解除した単位プロセッサで実行されているタスクの優先度よりも低いと判定された場合(S902:No)、割込み禁止解除を行ったタスクが継続して実行する。
図10は、外部割込み制御部11が単位プロセッサの割込み禁止を解除する方法を説明するためのフローチャートである。外部割込み制御部11は、レディキュー321の先頭にある保留状態の割込み処理の優先度を参照する(S1001)。そして、参照した割込み処理の優先度と、割込み禁止を解除した単位プロセッサで実行されている処理の優先度とを比較する(S1002)。
比較の結果、保留状態の割込み処理の優先度が割込み禁止を解除した単位プロセッサで実行されている処理の優先度よりも高い場合(S1002:Yes)、レディキュー321の先頭にある処理の優先度を割込み禁止を解除した単位プロセッサの優先度管理用レジスタ301に設定する(S1003)。
そして、外部割込み制御部11は、割込み禁止を解除した単位プロセッサに対し、レディキュー321で保留されていた処理を起動するための内部割込みを発生させる(S1004)。
また、外部割込み制御部11は、レディキュー321の先頭にある処理の優先度が割込み禁止を解除した単位プロセッサで実行される処理の優先度よりも低いと判定された場合(S1002:No)、この単位プロセッサで実行中の処理を継続して実行させる。
以上述べた本実施形態のプロセッサ及び割込み制御方法は、割込み禁止等のプロセッサの状態をも考慮し、要求された割込み処理を実行するプロセッサを適正に選択できる。
また、単位プロセッサP0〜P3の各々が、割込み禁止等の状態や、タスクを実行中であっても割込み処理を実行中であっても、実行中の処理の優先度を優先度管理用レジスタ301によって管理している。このため、外部割込み制御部11、制御管理部310は、割込み要求した処理あるいは単位プロセッサが実行中の処理が、タスク処理、割込み処理であるかに係らず、単位プロセッサP0〜P3中において、実行されている処理の優先度が最も低く、かつ割込みを要求した処理の優先度よりも優先度が低い処理を実行している単位プロセッサを選択することができる。
このため、本実施形態は、タスクによってなされる処理と割込みを要求してなされる処理との優先度を一元的に管理することによってタスク処理及び割込み処理を優先度がより高いものから適正に実行できるプロセッサ及び割込み制御方法を提供することができる。
また、以上述べた本実施形態は、単位プロセッサP0〜P3で実行されている処理の優先度を高速に検索できるため、割込みの比重が高いシステムにおいても有効である。さらに、単位プロセッサP0〜P3の各々にレジスタを追加することによって実現できるため、マルチプロセッサの単位プロセッサ数の増減に対しても柔軟に対応することが可能である。
本発明の一実施形態のプロセッサが適用される携帯電話の機能構成を示すブロック図である。 マルチプロセッサとして構成された本発明の一実施形態のプロセッサの内部構成を示すブロック図である。 図2に示した構成の本発明に係る部分をより詳細に示した図である。 図3に示したレディキューを説明するための図である。 本発明の一実施形態のタスクの割込みが発生した場合の制御管理部の動作を説明するためのフローチャートである。 本発明の一実施形態の外部割込みが発生した場合の外部割込み制御部の動作を説明するためのフローチャートである。 図5に示した方法によってキューイングされたタスクの保留状態を解除するための方法を説明するためのフローチャートである。 図5、図6に示した方法によってキューイングされたタスク、および外部割込みの保留状態を解除するための方法を説明するためのフローチャートである。 本発明の一実施形態の制御管理部が単位プロセッサの割込み禁止を解除する方法を説明するためのフローチャートである。 本発明の一実施形態の外部割込み制御部が単位プロセッサの割込み禁止を解除する方法を説明するためのフローチャートである。
符号の説明
11 外部割込み制御部、12 メモリ制御部、30 メモリ、40 バッファ、50 無線部、60 IrDA部、70 オーディオ部、80 タイマ、90 インターフェース部、100 キー操作部、101 フェッチ部、102 デコード部、104 レジスタ、105 プログラム制御部、106 追出し禁止フラグ、120 カメラ部、109 周辺チップ、301 優先度管理用レジスタ、302 外部割込み通知部、303 保留処理部、304 処理プロセッサ選択部、305、306、307 機器、308 外部割込み受信部、310 制御管理部(OS)、311 タスクスケジューラ部、312 処理プロセッサ選択部、313 保留処理制御部、314 割込み禁止制御部、320 メモリ、321 レディキュー

Claims (7)

  1. 複数のプロセッサと、
    複数の前記プロセッサの状態及び実行中の処理の優先順位に関する情報を含む管理情報を管理する処理状態管理手段と、
    前記処理状態管理手段によって管理されている管理情報に基づいて、前記プロセッサのうちから最も優先順位の低い処理を実行しているプロセッサを選択する処理プロセッサ選択手段と、要求された割込み処理を選択された前記プロセッサに割込み処理要求として伝達する割込み制御手段と、
    を備えてなり、
    前記割込み制御手段は、
    要求された割込み処理及びプロセッサで実行されている処理が、所定のスケジュールにしたがって処理されるタスク処理であるか、前記スケジュールによらず処理される割込み処理であるかの別によらず、最も優先順位の低い処理を実行しているプロセッサを選択することを特徴とするプロセッサ。
  2. 前記処理状態管理手段によって管理されている管理情報が、複数の前記プロセッサの少なくとも一部が割込み処理の実行が禁止されている割込み禁止状態にあることを示す情報を含む場合、前記処理プロセッサ選択手段は、割込み禁止状態にあるプロセッサを割込み処理を実行するプロセッサの選択の対象から除くことを特徴とする請求項1に記載のプロセッサ。
  3. 複数の前記プロセッサのうち、前記処理プロセッサ選択手段により選択されたプロセッサと、要求された割込み処理の優先順位の判定を行い、要求された割込み処理の優先順位が低いと判断されたとき、要求された割込み処理の実行を、実行可能になるまで保留する割込み保留手段を備えることを特徴とする請求項1または2項に記載のプロセッサ。
  4. 前記保留手段は、前記プロセッサのいずれかに割当てられるタスク処理及び割込み処理を各々の優先順位にしたがう順番に基づいて管理するレディキューを有し、
    前記割込み制御手段は、タスク処理及び割込み処理を、前記レディキューにしたがう順番で前記プロセッサに割当てることを特徴とする請求項3に記載のプロセッサ。
  5. 前記レディキューは、前記割込み制御手段によって前記プロセッサのいずれかに割当てられた後に前記割込み保留手段によって実行を保留させられた割込み処理を管理することを特徴とする請求項3または4に記載のプロセッサ。
  6. 前記割込み制御手段は、前記プロセッサのいずれかに割当てられた後に前記割込み保留手段によって実行を保留させられた割込み処理を、先に割当てられたプロセッサによる実行が可能になるまでネスト状態にすることを特徴とする請求項3から6のいずれか1項に記載のプロセッサ。
  7. 複数のプロセッサの各々の状態及び実行中の処理の優先順位に関する情報を含む管理情報に基づいて、要求された割込み処理を実行するプロセッサを選択する割込み制御ステップを含む割込み制御方法であって、
    前記割込み制御ステップは、
    要求された割込み処理及びプロセッサで実行されている処理が、所定のスケジュールにしたがって処理されるタスク処理であるか、前記スケジュールによらず処理される割込み処理であるかの別によらず、最も優先順位の低い処理を実行しているプロセッサを選択し、選択された前記プロセッサに割込み処理を割当てることを特徴とする割込み制御方法。
JP2006304798A 2006-11-10 2006-11-10 プロセッサ Expired - Fee Related JP5243711B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006304798A JP5243711B2 (ja) 2006-11-10 2006-11-10 プロセッサ
US11/979,341 US7853743B2 (en) 2006-11-10 2007-11-01 Processor and interrupt controlling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006304798A JP5243711B2 (ja) 2006-11-10 2006-11-10 プロセッサ

Publications (2)

Publication Number Publication Date
JP2008123157A true JP2008123157A (ja) 2008-05-29
JP5243711B2 JP5243711B2 (ja) 2013-07-24

Family

ID=39499647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006304798A Expired - Fee Related JP5243711B2 (ja) 2006-11-10 2006-11-10 プロセッサ

Country Status (2)

Country Link
US (1) US7853743B2 (ja)
JP (1) JP5243711B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877535B2 (en) 2008-11-04 2011-01-25 Samsung Electronics Co., Ltd. Processor and interrupt handling method
US8725921B2 (en) 2010-03-18 2014-05-13 Panasonic Corporation Virtual multi-processor system
JP2017021488A (ja) * 2015-07-08 2017-01-26 富士通株式会社 制御装置、制御方法及びプログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4222370B2 (ja) * 2006-01-11 2009-02-12 セイコーエプソン株式会社 デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム
US9948533B2 (en) * 2006-07-10 2018-04-17 Solarflare Communitations, Inc. Interrupt management
US9686117B2 (en) 2006-07-10 2017-06-20 Solarflare Communications, Inc. Chimney onload implementation of network protocol stack
US7730248B2 (en) * 2007-12-13 2010-06-01 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems and processes
JP2009251802A (ja) * 2008-04-03 2009-10-29 Panasonic Corp マルチプロセッサシステムおよびマルチプロセッサシステムの割込み制御方法
US7757233B2 (en) * 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
US7996595B2 (en) * 2009-04-14 2011-08-09 Lstar Technologies Llc Interrupt arbitration for multiprocessors
US8321614B2 (en) * 2009-04-24 2012-11-27 Empire Technology Development Llc Dynamic scheduling interrupt controller for multiprocessors
US8260996B2 (en) * 2009-04-24 2012-09-04 Empire Technology Development Llc Interrupt optimization for multiprocessors
US8234431B2 (en) * 2009-10-13 2012-07-31 Empire Technology Development Llc Interrupt masking for multi-core processors
US8375389B2 (en) * 2010-10-20 2013-02-12 Microsoft Corporation Ordered scheduling of suspended processes based on resumption events
JP2012252321A (ja) * 2011-05-10 2012-12-20 Canon Inc 画像撮影システムおよびその制御方法
IT201700034731A1 (it) * 2017-03-29 2018-09-29 St Microelectronics Srl Modulo e metodo di gestione dell'accesso ad una memoria

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0328933A (ja) * 1989-06-26 1991-02-07 Matsushita Electric Ind Co Ltd タスク制御方法
JPH06187173A (ja) * 1992-12-15 1994-07-08 Fuji Electric Co Ltd タスク起動方式
JPH06187171A (ja) * 1992-12-18 1994-07-08 Erugu Kk 割込みにおけるスケジューリング方式
JPH07105156A (ja) * 1993-09-20 1995-04-21 Internatl Business Mach Corp <Ibm> 多重処理システム用のスケーラブル・システム割込み構造
JP2005004562A (ja) * 2003-06-13 2005-01-06 Canon Inc マルチプロセッサシステム、マルチプロセッサシステムの制御方法、およびマルチプロセッサシステムの制御プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1425173A (en) * 1972-05-03 1976-02-18 Gen Electric Co Ltd Data processing systems
US5012409A (en) * 1988-03-10 1991-04-30 Fletcher Mitchell S Operating system for a multi-tasking operating environment
US5452452A (en) * 1990-06-11 1995-09-19 Cray Research, Inc. System having integrated dispatcher for self scheduling processors to execute multiple types of processes
SG48803A1 (en) 1993-04-19 1998-05-18 Intel Corp Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
US5892956A (en) * 1995-12-19 1999-04-06 Advanced Micro Devices, Inc. Serial bus for transmitting interrupt information in a multiprocessing system
US5956802A (en) * 1997-04-11 1999-09-28 Wagner Spray Tech Corporation Painting apparatus and assembly
US6418496B2 (en) * 1997-12-10 2002-07-09 Intel Corporation System and apparatus including lowest priority logic to select a processor to receive an interrupt message
JP3981238B2 (ja) * 1999-12-27 2007-09-26 富士通株式会社 情報処理装置
US7178145B2 (en) * 2001-06-29 2007-02-13 Emc Corporation Queues for soft affinity code threads and hard affinity code threads for allocation of processors to execute the threads in a multi-processor system
US7426728B2 (en) * 2003-09-24 2008-09-16 Hewlett-Packard Development, L.P. Reducing latency, when accessing task priority levels
US7162666B2 (en) * 2004-03-26 2007-01-09 Emc Corporation Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks
JP4148223B2 (ja) 2005-01-28 2008-09-10 セイコーエプソン株式会社 プロセッサおよび情報処理方法
JP2006216042A (ja) * 2005-02-04 2006-08-17 Sony Computer Entertainment Inc 割り込み処理のためのシステムおよび方法
JP2006243865A (ja) 2005-03-01 2006-09-14 Seiko Epson Corp プロセッサおよび情報処理方法
JP4609113B2 (ja) 2005-03-01 2011-01-12 セイコーエプソン株式会社 プロセッサ
JP5017784B2 (ja) 2005-03-16 2012-09-05 セイコーエプソン株式会社 プロセッサ及びこのプロセッサ適用される割込み処理制御方法
JP2007280023A (ja) 2006-04-06 2007-10-25 Seiko Epson Corp 割込み制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0328933A (ja) * 1989-06-26 1991-02-07 Matsushita Electric Ind Co Ltd タスク制御方法
JPH06187173A (ja) * 1992-12-15 1994-07-08 Fuji Electric Co Ltd タスク起動方式
JPH06187171A (ja) * 1992-12-18 1994-07-08 Erugu Kk 割込みにおけるスケジューリング方式
JPH07105156A (ja) * 1993-09-20 1995-04-21 Internatl Business Mach Corp <Ibm> 多重処理システム用のスケーラブル・システム割込み構造
JP2005004562A (ja) * 2003-06-13 2005-01-06 Canon Inc マルチプロセッサシステム、マルチプロセッサシステムの制御方法、およびマルチプロセッサシステムの制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877535B2 (en) 2008-11-04 2011-01-25 Samsung Electronics Co., Ltd. Processor and interrupt handling method
US8725921B2 (en) 2010-03-18 2014-05-13 Panasonic Corporation Virtual multi-processor system
JP2017021488A (ja) * 2015-07-08 2017-01-26 富士通株式会社 制御装置、制御方法及びプログラム

Also Published As

Publication number Publication date
JP5243711B2 (ja) 2013-07-24
US7853743B2 (en) 2010-12-14
US20080140896A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
JP5243711B2 (ja) プロセッサ
KR100746797B1 (ko) 프로세서 및 정보처리 방법
JP4947441B2 (ja) マルチプロセッサシステム、マルチプロセッサシステムにおけるシステム構成方法及びそのプログラム
EP1876531A1 (en) Multi-processor system abd program for causing computer to execute multi-processor system control method
JP4148223B2 (ja) プロセッサおよび情報処理方法
CN108920267B (zh) 任务处理装置
WO2010067492A1 (ja) マルチプロセッサシステム及びその排他制御の調停方法
US9229765B2 (en) Guarantee real time processing of soft real-time operating system by instructing core to enter a waiting period prior to transferring a high priority task
JP2007188397A (ja) マルチプロセッサシステム及びマルチプロセッサシステムの割込み制御方法をコンピュータに実行させるためのプログラム
JP2011059777A (ja) タスクスケジューリング方法及びマルチコアシステム
JP2009238024A (ja) 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法
JP2007219816A (ja) マルチプロセッサシステム
JP4033215B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム
JP4609113B2 (ja) プロセッサ
US20070083865A1 (en) Context switching device
JP2005190207A (ja) 割り込み制御装置、制御方法
JP4441592B2 (ja) 並列処理装置及び排他制御方法
JP3893136B2 (ja) 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム
JP5017784B2 (ja) プロセッサ及びこのプロセッサ適用される割込み処理制御方法
JP4017005B2 (ja) 演算装置
US20080281999A1 (en) Electronic system with direct memory access and method thereof
JP2010044703A (ja) マルチタスクosにおけるタスク切り替え方法及びプログラム
JP2006209480A (ja) プロセッサおよび情報処理方法
JP2001306542A (ja) マルチプロセッサシステム
JP2007226538A (ja) 割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110823

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110829

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110916

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20130206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130405

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5243711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees