JP2006209479A - プロセッサおよび情報処理方法 - Google Patents

プロセッサおよび情報処理方法 Download PDF

Info

Publication number
JP2006209479A
JP2006209479A JP2005020830A JP2005020830A JP2006209479A JP 2006209479 A JP2006209479 A JP 2006209479A JP 2005020830 A JP2005020830 A JP 2005020830A JP 2005020830 A JP2005020830 A JP 2005020830A JP 2006209479 A JP2006209479 A JP 2006209479A
Authority
JP
Japan
Prior art keywords
processing
processor
unit
high priority
interrupt
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
JP2005020830A
Other languages
English (en)
Other versions
JP4148223B2 (ja
Inventor
Akihiko Tamura
明彦 田村
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 JP2005020830A priority Critical patent/JP4148223B2/ja
Priority to TW094143439A priority patent/TWI297852B/zh
Priority to EP05258121A priority patent/EP1686474A3/en
Priority to KR1020060002758A priority patent/KR100746796B1/ko
Priority to CNB2006100069977A priority patent/CN100380329C/zh
Priority to US11/338,835 priority patent/US20060174246A1/en
Publication of JP2006209479A publication Critical patent/JP2006209479A/ja
Application granted granted Critical
Publication of JP4148223B2 publication Critical patent/JP4148223B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J50/00Circuit arrangements or systems for wireless supply or distribution of electric power
    • H02J50/10Circuit arrangements or systems for wireless supply or distribution of electric power using inductive coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Telephone Function (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】 マルチプロセッサにおいて、優先度の高い処理を効率的かつ高い応答性をもって処理すること。
【解決手段】 携帯電話1においては、割り込み処理を実行する単位プロセッサが単位プロセッサP0に固定的に設定されている。そのため、割り込み処理が発生した場合に、直ちに単位プロセッサP0によって割り込み処理の実行を開始することができる。したがって、タスクスイッチを行うことなく、迅速に割り込み処理の実行を開始することができるため、割り込み処理を効率的かつ高い応答性をもって処理することができる。
【選択図】 図2

Description

本発明は、複数のタスクあるいはスレッドを並列的に処理するプロセッサおよびその情報処理方法に関する。
近年、組み込み機器等において、複数のタスクあるいはスレッドを並列的に処理可能なマルチタスクプロセッサあるいはマルチスレッドプロセッサと呼ばれるプロセッサ(以下、これらを総称して「マルチプロセッサ」と言う。)が利用されつつある。
従来の携帯機器では、シングルプロセッサによる処理が行われていたところ、携帯機器の高機能化に伴い処理が複雑化し、シングルプロセッサによる処理が困難となっている。
即ち、シングルプロセッサによって高機能を実現しようとした場合、高いクロック周波数で動作させる必要があり、それに伴い消費電力も増大する。また、例えば携帯電話において動画の再生中に電話の着信があった場合の処理等、リアルタイムに応答する必要がある場合の対応が困難となる。
一方、マルチプロセッサを利用することにより、装置を低クロック化することが可能となり、それにより低消費電力化を実現することができる。さらに、複数のタスク等を並列に処理できることから、リアルタイムな応答性の観点からも有効なものとなる。
なお、マルチタスクを並列的に処理する装置において、リアルタイムな応答を実現するための技術が、特許文献1に記載されている。
特開平10−228385号公報
しかしながら、特許文献1に記載された技術を含め、従来の技術においては、マルチプロセッサを適切に制御するオペレーティングシステムが構築されておらず、特に、1チップ上に複数のプロセッサコアを搭載して1つのマルチプロセッサとして機能させる、いわゆる密結合型マルチプロセッサに適切に対応するオペレーティングシステムが構築されていないのが現状である。
そのため、通常の処理を実行している際に、割り込み処理等、優先度が高くリアルタイムに応答する必要のある処理(以下、「高優先度処理」と言う。)が発生した場合、マルチプロセッサを構成する各プロセッサが空き状態でなければ、高優先度処理に対する応答性が低下するといった事態が生じ得る。このような場合、リアルタイムな応答を実現することが困難になるという問題がある。
また、発生した高優先度処理を実行するために、タスクスイッチが頻繁に発生する可能性があり、オーバーヘッドが増大することから、処理効率の低下を招くこととなる。
本発明の課題は、マルチプロセッサにおいて、優先度の高い処理を効率的かつ高い応答性をもって処理することである。
以上の課題を解決するため、本発明は、
タスクあるいはスレッドを処理するプロセッサ部(例えば、図2の単位プロセッサP0〜P3)を複数備えるプロセッサであって、優先度の高い所定処理(例えば、割り込み処理)を専用に処理する専用プロセッサ部(例えば、図2の単位プロセッサP0)と、前記優先度の高い所定処理以外の処理(例えば、アプリケーションの処理)を行う汎用プロセッサ部(例えば、図2の単位プロセッサP1〜P3)と、前記優先度の高い所定処理を前記専用プロセッサ部に処理させる高優先度処理制御部(例えば、図2の割り込み制御部11)とを含むことを特徴としている。
このような構成により、割り込み処理等の優先度の高い処理を実行する必要が生じた場合に、直ちに専用プロセッサ部によって処理の実行を開始することができる。
したがって、タスク等のスイッチを行うことなく、迅速に優先度の高い処理の実行を開始することができるため、優先度の高い処理を効率的かつ高い応答性をもって処理することができる。
また、前記専用プロセッサ部は、前記優先度の高い所定処理が発生した場合に処理中のプログラムの破棄が可能な処理(例えば、リアルタイム性を要求されない処理)を、前記優先度の高い所定処理のバックグラウンド処理として実行することを特徴としている。
このような構成により、専用プロセッサ部の稼働率を向上させることができるため、さらに効率的な処理を行うことが可能となる。
また、前記バックグラウンド処理を行うモードと、該バックグラウンド処理を行わないモードとを切り換え可能であることを特徴としている。
このような構成により、プロセッサの処理負荷等に応じて、優先度の低い処理等をバックグラウンド処理とする場合と、通常の処理とする場合とを適宜切り換えることができ、より効率的に処理を行うことが可能となる。
また、前記優先度の高い所定処理は、割り込み処理であることを特徴としている。
このような構成により、頻繁に割り込み処理が発生する場合にも、割り込み処理を効率的かつ高い応答性をもって処理することができる。
また、本発明は、
タスクあるいはスレッドを処理するプロセッサ部を複数備えるプロセッサにおける情報処理方法であって、優先度の高い所定処理を所定プロセッサ部において専用に処理させ、該優先度の高い所定処理以外の処理を前記所定プロセッサ部以外のプロセッサ部において行わせることを特徴としている。
また、前記所定プロセッサ部において、前記優先度の高い所定処理が発生した場合に処理中のプログラムの破棄が可能な処理を、前記優先度の高い所定処理のバックグラウンド処理として実行させることを特徴としている。
また、前記バックグラウンド処理を行うモードと、該バックグラウンド処理を行わないモードとを切り換え可能としたことを特徴としている。
また、前記優先度の高い所定処理は、割り込み処理であることを特徴としている。
このように、本発明によれば、マルチプロセッサにおいて、優先度の高い処理を効率的かつ高い応答性をもって処理することが可能となる。
以下、図を参照して本発明に係るプロセッサの実施の形態を説明する。
本発明に係るプロセッサは、タスクあるいはスレッド等、プログラムをその実行単位で並列的に処理するものであり、本発明に係るプロセッサ内に、タスク等を実行するプロセッサ(以下、「単位プロセッサ」と言う。)が実質的に複数備えられたハードウェア構成を有している。
そして、複数の単位プロセッサのうち、高優先度処理(割り込み処理等)を実行する単位プロセッサを固定的に定めることにより、高優先度処理に対して高い応答性を確保している。
また、高優先度処理を実行する単位プロセッサにおいて、高優先度処理が実行されていない場合には、その実行中に高優先度処理が発生しても処理中のプログラム(即ち、そのプログラムによって処理中のデータ)を破棄可能な、優先度の低い処理をバックグラウンド処理する。
これにより、高優先度処理を実行する単位プロセッサの稼働率が低下することが防止される。
このように、本発明に係るプロセッサは、優先度の高い処理を効率的かつ高い応答性をもって処理することを可能としている。
まず、構成を説明する。
ここでは、本発明に係るプロセッサを携帯電話に組み込んだ場合を例に挙げ、高優先度処理として割り込み処理を想定した場合について説明する。なお、以下の説明において、スレッド等、プログラムの実行単位を総称して「タスク」と言う。
図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と直接接続されている。
CPU10は、複数のタスクを並列的に処理しつつ携帯電話1全体を制御するもので、キー操作部100から入力される各種の指示信号に応じて、フラッシュROM30に記憶されたオペレーティングシステムプログラム(OS)や各種アプリケーションプログラムを読み出して実行したり、無線部50、オーディオ部70あるいはカメラ部120等の周辺チップから入力される割り込み信号に応じて、割り込みハンドラを実行したりする。
例えば、CPU10は、OSにより生成されたタスクと、アプリケーションにより生成されたタスクを並行して処理し、さらに、周辺チップから割り込み信号が入力された場合、割り込みハンドラを実行することにより、割り込み信号に対応するアプリケーションを起動する。なお、アプリケーションによる処理は、OSのタスクスケジューラによって管理されるタスクとして実行されるため、OSのサービスコールを呼び出すことができ、一方、割り込み処理は、タスクスケジューラによって管理されない処理(非タスク処理)であるため、OSのサービスコールを呼び出すことはできない。
また、CPU10は、各種処理結果をフラッシュROM20あるいはメモリ30に格納する。
ここで、CPU10の内部構成について説明する。
図2は、CPU10の内部構成を示すブロック図である。
図2において、CPU10は、複数の単位プロセッサP0〜P3と、割り込み制御部11と、メモリ制御部12とを含んで構成される。
単位プロセッサP0〜P3は、それぞれが並列してタスクを処理可能なプロセッサであり、単位プロセッサP0〜P3のうち、本実施の形態においては、単位プロセッサP0が割り込み処理を実行する専用のプロセッサとされている。そのため、周辺チップにおいて割り込み信号が発生した場合、割り込み信号は単位プロセッP0に入力される。
なお、単位プロセッサ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が割り込み処理を実行している間、ステータスレジスタの値を割り込み処理の禁止を示す値に変更したり、分岐命令が実行された場合に、プログラムカウンタの値を分岐先のアドレスに変更したりする。
割り込み制御部11は、無線部50等の周辺チップから割り込み信号が入力された場合に、割り込み信号を調停した上で、所定の割り込み信号を単位プロセッサP0に出力する。
メモリ制御部12は、CPU10とメモリ30との間に備えられ、CPU10からメモリ30に対するデータの読み出しおよび書き込みが行われる場合に、メモリ30を制御してデータの入出力を行う。
なお、本実施の形態においては、上述のように、割り込み処理が単位プロセッサP0によって処理され、他の単位プロセッサは、主としてアプリケーションによって生成されたタスクを処理する。
具体的には、単位プロセッサP0は、携帯電話1の電源投入時におけるBOOT処理、OSの初期化処理、サービスコールに対応するOSの処理、割り込みハンドラによる処理、割り込み処理に対するバックグラウンド処理(例えば、フラッシュROM20への書き込み処理あるいはリアルタイム性を要求されない処理(メモリのガーベッジコレクション、バッテリの残量表示、ハードウェアのモニタ処理等))を実行する。これらのうち、BOOT処理およびOSの初期化処理は起動時にのみ実行され、割り込み処理と同時に発生することはなく、バックグラウンド処理は、割り込み処理が発生した場合には処理中のデータを破棄することが許容される程度の優先度の低い処理である。また、サービスコールに対応するOSの処理は、バックグラウンド処理において、適宜呼び出されるサービスコールに対応して実行されるものである。なお、上述のように、割り込み処理(非タスク処理)においては、OSのサービスコールを呼び出すことはできない。
また、単位プロセッサP1〜P3は、アプリケーションによって生成されたタスクを、OSのタスクスケジューラによって決定された順序で実行し、その処理において、OSのサービスコールを適宜呼び出す。
図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に対して割り込み信号を出力する。
次に、動作を説明する。
図3は、携帯電話1の電源投入時における動作を示す図である。
図3において、携帯電話1の電源が投入されると、単位プロセッサP0において、BOOT処理(各ハードウェアの初期化、プログラムのロードおよび起動、OSの初期化処理)が実行される(ステップS1)。なお、図中の実線部分は各単位プロセッサが処理の実行状態であることを示し、点線部分は処理が行われていないことを示している。
そして、単位プロセッサP0は、単位プロセッサP1〜P3を起動し、実行が指示されているアプリケーション(例えば動画像の再生処理等)のタスクを実行させる(ステップS2)。
この後、単位プロセッサP0はアイドル状態となり、単位プロセッサP1〜P3はアプリケーションのタスクを実行している状態となる。
ここで、携帯電話1において割り込み(例えば電話の着信信号の受信等)が発生したとする(ステップS3)。
すると、CPU10の割り込み制御部11が割り込み信号を単位プロセッサP0に出力する(ステップS4)。なお、このとき複数の周辺チップから割り込み信号が入力されている場合、割り込み制御部11がそれらを調停した上で、最も優先度の高い割り込み信号が単位プロセッサP0に出力される。
割り込み信号を受信した単位プロセッサP0は、直ちに割り込みハンドラを実行し、割り込み処理を開始する(ステップS5)。
これにより、タスクスイッチを行うことなく、割り込み処理を効率的かつ高い応答性をもって処理することができる。
また、割り込み処理の発生時にバックグラウンド処理が実行されていた場合、単位プロセッサP0は、一旦、HALT状態へ移行し、以後、割り込み処理のみを実行する。
このとき、バックグラウンド処理に関する処理中のデータは破棄されることとなる。
次に、バックグランド処理に関する動作について説明する。
バックグラウンド処理は、CPU10がバックグラウンド処理モードに移行することで実行可能となり、バックグラウンド処理モードに関するサービスコールとして、バックグラウンド処理を開始する“bak_sta()”、バックグラウンド処理を停止する“bak_stp()”、バックグラウンド処理に対し、コマンドを通知する“bak_cmd()”が用意されている。
バックグラウンド処理は、単位プロセッサP1〜P3がサービスコール“bak_sta()”を呼び出すことによって開始される。
なお、“bak_sta()”の呼び出し後、単位プロセッサP0におけるOSのタイマ割り込みの起動タイミング(1ms毎等)でバックグラウンド処理モードの開始指示が認識され、その後、最初に発生した割り込み処理をトリガとして、実際にバックグラウンド処理モードに移行する。
図4は、バックグラウンド処理モードにおける動作を示すフローチャートである。
バックグラウンド処理モードに移行すると、単位プロセッサP0は、ポーリングによって、“bak_cmd()”で通知されたコマンドを取得することにより、バックグラウンド処理するべきイベントの監視を行い(ステップS101)、バックグラウンド処理するべきイベントの有無を判定する(ステップS102)。
ステップS102において、バックグラウンド処理するべきイベントがあると判定した場合、単位プロセッサP0は、“bak_cmd()”によって通知されたコマンドを取得する(ステップS103)。これにより、バックグラウンド処理が実行される。
そして、単位プロセッサP0は、“bak_sta()”の呼び出し先であるポインタに再度移行し(ステップS104)、ステップS101に戻る。
また、ステップS102において、バックグラウンド処理するべきイベントがないと判定した場合、単位プロセッサP0は、ステップS104の処理に移行する。
そして、“bak_sta()”を呼び出した単位プロセッサP1〜P3から、“bak_stp()”が呼び出されると、単位プロセッサP0は、一旦、HALT状態へ移行した後、バックグラウンド処理を終了する。その後、単位プロセッサP0は、バックグラウンド処理を行わず、割り込み処理のみを実行する状態となる。
このように、プログラムにおいて“bak_sta()”および“bak_stp()”を呼び出すことで、バックグラウンド処理を行うモードと行わないモードに適宜切り換えることが可能である。
以上のように、本実施の形態に係る携帯電話1においては、CPU10において、割り込み処理を実行する単位プロセッサが単位プロセッサP0に固定的に設定されている。
そのため、割り込み処理が発生した場合に、直ちに単位プロセッサP0によって割り込み処理の実行を開始することができる。
したがって、タスクスイッチを行うことなく、迅速に割り込み処理の実行を開始することができるため、割り込み処理を効率的かつ高い応答性をもって処理することができる。
例えば、図5(a)に示すように、従来の技術においては、タスクの処理中に割り込みが発生した場合、タスク処理のコンテキストを退避した後に割り込み処理が実行され、割り込み処理の終了後、タスク処理のコンテキストを復帰させてタスク処理を継続するという手順となる。
一方、本発明においては、図5(b)に示すように、割り込み処理の発生後、直ちに割り込み処理の実行に移行することができ、コンテキストの退避・復帰等を行う必要がなく、効率的かつ高い応答性をもって処理することができることとなる。
なお、本発明は、マルチスレッドプロセッサあるいはマルチタスクプロセッサと呼ばれる各種実装形態のプロセッサに適用可能であるが、例えば、1チップ上に複数のプロセッサコアが実装され、プロセッサの構成要素の少なくとも一部をこれら複数のプロセッサコアが共用する形態のマルチプロセッサ(いわゆる密結合型のマルチタスクプロセッサ)において、特に有効となる。
図6は、本発明の適用対象となるマルチプロセッサの構成例を示す図である。
図6に示すマルチプロセッサは、メモリ制御部およびALUを複数のプロセッサコアが共用する形態であり、それぞれのプロセッサコアにプログラムカウンタおよびステータスレジスタ等の制御用レジスタが備えられていると共に、マルチプロセッサ全体を制御するためのプログラム制御部および制御用レジスタも別途備えられている。なお、図6に示すように、各プロセッサコアで共用するコンテキストキャッシュ等を備えても良い。
このような構成のマルチプロセッサの場合、各プロセッサコアが本実施の形態における単位プロセッサの機能を実現するものとなる。
本発明に係る携帯電話1の機能構成を示すブロック図である。 CPU10の内部構成を示すブロック図である。 携帯電話1の電源投入時における動作を示す図である。 バックグラウンド処理モードにおける動作を示すフローチャートである。 本発明と従来の技術とにおける割り込み処理時の動作を比較して説明する図である。 本発明の適用対象となるマルチプロセッサの構成例を示す図である。
符号の説明
1 携帯電話、10 CPU、11 割り込み制御部、12 メモリ制御部、20 フラッシュROM、30 メモリ、40 バッファ、50 無線部、60 IrDA部、70 オーディオ、80 タイマ、90 USBインターフェース部、100 キー操作部、110 LCD、120 カメラ部、P0〜P3 単位プロセッサ、101 フェッチ部、102 デコード部、103 ALU、104 レジスタ、105 プログラム制御部

Claims (8)

  1. タスクあるいはスレッドを処理するプロセッサ部を複数備えるプロセッサであって、
    優先度の高い所定処理を専用に処理する専用プロセッサ部と、
    前記優先度の高い所定処理以外の処理を行う汎用プロセッサ部と、
    前記優先度の高い所定処理を前記専用プロセッサ部に処理させる高優先度処理制御部と、
    を含むことを特徴とするプロセッサ。
  2. 前記専用プロセッサ部は、前記優先度の高い所定処理が発生した場合に処理中のプログラムの破棄が可能な処理を、前記優先度の高い所定処理のバックグラウンド処理として実行することを特徴とする請求項1記載のプロセッサ。
  3. 前記バックグラウンド処理を行うモードと、該バックグラウンド処理を行わないモードとを切り換え可能であることを特徴とする請求項2記載のプロセッサ。
  4. 前記優先度の高い所定処理は、割り込み処理であることを特徴とする請求項1から3のいずれか1項に記載のプロセッサ。
  5. タスクあるいはスレッドを処理するプロセッサ部を複数備えるプロセッサにおける情報処理方法であって、
    優先度の高い所定処理を所定プロセッサ部において専用に処理させ、該優先度の高い所定処理以外の処理を前記所定プロセッサ部以外のプロセッサ部において行わせることを特徴とする情報処理方法。
  6. 前記所定プロセッサ部において、前記優先度の高い所定処理が発生した場合に処理中のプログラムの破棄が可能な処理を、前記優先度の高い所定処理のバックグラウンド処理として実行させることを特徴とする請求項5記載の情報処理方法。
  7. 前記バックグラウンド処理を行うモードと、該バックグラウンド処理を行わないモードとを切り換え可能としたことを特徴とする請求項6記載の情報処理方法。
  8. 前記優先度の高い所定処理は、割り込み処理であることを特徴とする請求項5から7のいずれか1項に記載の情報処理方法。
JP2005020830A 2005-01-28 2005-01-28 プロセッサおよび情報処理方法 Expired - Fee Related JP4148223B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2005020830A JP4148223B2 (ja) 2005-01-28 2005-01-28 プロセッサおよび情報処理方法
TW094143439A TWI297852B (en) 2005-01-28 2005-12-08 Processor with specific processor unit
EP05258121A EP1686474A3 (en) 2005-01-28 2005-12-30 Processor and information processing method
KR1020060002758A KR100746796B1 (ko) 2005-01-28 2006-01-10 프로세서 및 정보처리 방법
CNB2006100069977A CN100380329C (zh) 2005-01-28 2006-01-25 处理器及信息处理方法
US11/338,835 US20060174246A1 (en) 2005-01-28 2006-01-25 Processor and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005020830A JP4148223B2 (ja) 2005-01-28 2005-01-28 プロセッサおよび情報処理方法

Publications (2)

Publication Number Publication Date
JP2006209479A true JP2006209479A (ja) 2006-08-10
JP4148223B2 JP4148223B2 (ja) 2008-09-10

Family

ID=36603026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005020830A Expired - Fee Related JP4148223B2 (ja) 2005-01-28 2005-01-28 プロセッサおよび情報処理方法

Country Status (6)

Country Link
US (1) US20060174246A1 (ja)
EP (1) EP1686474A3 (ja)
JP (1) JP4148223B2 (ja)
KR (1) KR100746796B1 (ja)
CN (1) CN100380329C (ja)
TW (1) TWI297852B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008146148A (ja) * 2006-12-06 2008-06-26 Mitsubishi Electric Corp 計算機システム
JP2008192128A (ja) * 2007-01-11 2008-08-21 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008242948A (ja) * 2007-03-28 2008-10-09 Toshiba Corp 情報処理装置および同装置の動作制御方法
WO2009110084A1 (ja) * 2008-03-06 2009-09-11 富士通株式会社 プロセス制御方法
WO2011161893A1 (ja) * 2010-06-25 2011-12-29 パナソニック株式会社 計算機システム
US8645668B2 (en) 2007-01-11 2014-02-04 Sony Corporation Information processing apparatus, information processing method and computer program

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005084800A (ja) * 2003-09-05 2005-03-31 Fanuc Ltd プログラマブルコントローラ
US20070204268A1 (en) * 2006-02-27 2007-08-30 Red. Hat, Inc. Methods and systems for scheduling processes in a multi-core processor environment
JP5243711B2 (ja) 2006-11-10 2013-07-24 セイコーエプソン株式会社 プロセッサ
JP5167844B2 (ja) * 2008-02-05 2013-03-21 日本電気株式会社 プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム
KR101513505B1 (ko) 2008-11-04 2015-04-20 삼성전자주식회사 프로세서 및 인터럽트 처리 방법
JP5673672B2 (ja) * 2010-03-30 2015-02-18 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
US9063775B2 (en) 2011-09-01 2015-06-23 Microsoft Technology Licensing, Llc Event aggregation for background work execution
US9032413B2 (en) 2011-09-01 2015-05-12 Microsoft Technology Licensing, Llc Decoupling background work and foreground work
WO2013095337A1 (en) * 2011-12-19 2013-06-27 Intel Corporation A system and deterministic method for servicing msi interrupts using direct cache access
KR101867960B1 (ko) * 2012-01-05 2018-06-18 삼성전자주식회사 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법
US9164803B2 (en) 2012-01-20 2015-10-20 Microsoft Technology Licensing, Llc Background task resource control
US9489236B2 (en) 2012-10-31 2016-11-08 Microsoft Technology Licensing, Llc Application prioritization
US9817673B2 (en) * 2015-03-03 2017-11-14 Intel Corporation Technologies for fast low-power startup of a computing device
JP2016178570A (ja) * 2015-03-20 2016-10-06 株式会社リコー ワークフロー実行処理装置、ワークフロー実行システム、ワークフロー実行システムの制御方法、及びプログラム
US11068274B2 (en) * 2017-12-15 2021-07-20 International Business Machines Corporation Prioritized instructions in an instruction completion table of a simultaneous multithreading processor
GB2579617B (en) * 2018-12-06 2021-01-27 Advanced Risc Mach Ltd An apparatus and method for handling exception causing events
KR20210003370A (ko) 2019-07-02 2021-01-12 삼성전자주식회사 하드웨어 로직을 이용하여 통신 오버헤드를 감소시킨 스토리지 장치

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498136A (en) * 1982-12-15 1985-02-05 Ibm Corporation Interrupt processor
US5109329A (en) * 1987-02-06 1992-04-28 At&T Bell Laboratories Multiprocessing method and arrangement
US4959781A (en) * 1988-05-16 1990-09-25 Stardent Computer, Inc. System for assigning interrupts to least busy processor that already loaded same class of interrupt routines
US5095526A (en) * 1990-01-26 1992-03-10 Apple Computer, Inc. Microprocessor with improved interrupt response with interrupt data saving dependent upon processor status
US5630143A (en) * 1992-03-27 1997-05-13 Cyrix Corporation Microprocessor with externally controllable power management
US5301324A (en) * 1992-11-19 1994-04-05 International Business Machines Corp. Method and apparatus for dynamic work reassignment among asymmetric, coupled processors
EP0602858A1 (en) * 1992-12-18 1994-06-22 International Business Machines Corporation Apparatus and method for servicing interrupts in a multiprocessor system
CA2123447C (en) * 1993-09-20 1999-02-16 Richard L. Arndt Scalable system interrupt structure for a multiprocessing system
KR960042387A (ko) * 1995-05-31 1996-12-21 유기범 하이파이플러스 인터럽트버스 중재방법
US6205467B1 (en) * 1995-11-14 2001-03-20 Advanced Micro Devices, Inc. Microprocessor having a context save unit for saving context independent from interrupt requests
US5799188A (en) * 1995-12-15 1998-08-25 International Business Machines Corporation System and method for managing variable weight thread contexts in a multithreaded computer system
US6003129A (en) * 1996-08-19 1999-12-14 Samsung Electronics Company, Ltd. System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture
JP3037182B2 (ja) * 1997-02-17 2000-04-24 日本電気株式会社 タスク管理方式
US6098090A (en) * 1997-09-05 2000-08-01 Novell, Inc. Methods and system for providing a background processing thread which manages the background tasks of external threads
US5968159A (en) * 1997-09-12 1999-10-19 Infineon Technologies Corporation Interrupt system with fast response time
US5923892A (en) * 1997-10-27 1999-07-13 Levy; Paul S. Host processor and coprocessor arrangement for processing platform-independent code
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
US6834386B1 (en) * 1999-07-16 2004-12-21 Microsoft Corporation Method and system for regulating background tasks using performance measurements
US6983301B1 (en) * 2000-02-02 2006-01-03 Siemens Communications, Inc. Background processing deferment for computer telephony
WO2003003232A2 (en) * 2001-06-29 2003-01-09 Koninklijke Philips Electronics N.V. Data processing apparatus and a method of synchronizing a first and a second processing means in a data processing apparatus
JP3708853B2 (ja) * 2001-09-03 2005-10-19 松下電器産業株式会社 マルチプロセッサシステムおよびプログラム制御方法
US7487339B2 (en) * 2001-10-12 2009-02-03 Mips Technologies, Inc. Method and apparatus for binding shadow registers to vectored interrupts
KR100456630B1 (ko) * 2001-12-11 2004-11-10 한국전자통신연구원 프로세서간 통신을 위한 인터럽트 중계 장치 및 방법
JP2004157730A (ja) * 2002-11-06 2004-06-03 Renesas Technology Corp マイクロコンピュータ
JP2004206389A (ja) * 2002-12-25 2004-07-22 Denso Corp Risc型cpu,コンパイラ,マイクロコンピュータ及び補助演算装置
CN1301473C (zh) * 2003-09-17 2007-02-21 中兴通讯股份有限公司 多处理器系统共享引导模块的方法
CN1329857C (zh) * 2003-10-23 2007-08-01 华为技术有限公司 多处理单元环境下统一输入输出方法
US7383137B2 (en) * 2004-02-27 2008-06-03 Intel Corporation Method and apparatus for measuring absolute and net power consumption for computer systems
US7603673B2 (en) * 2004-10-28 2009-10-13 Intel Corporation Method and system for reducing context switch times

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008146148A (ja) * 2006-12-06 2008-06-26 Mitsubishi Electric Corp 計算機システム
JP2008192128A (ja) * 2007-01-11 2008-08-21 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8645668B2 (en) 2007-01-11 2014-02-04 Sony Corporation Information processing apparatus, information processing method and computer program
JP2008242948A (ja) * 2007-03-28 2008-10-09 Toshiba Corp 情報処理装置および同装置の動作制御方法
WO2009110084A1 (ja) * 2008-03-06 2009-09-11 富士通株式会社 プロセス制御方法
JPWO2009110084A1 (ja) * 2008-03-06 2011-07-14 富士通株式会社 プロセス制御方法
WO2011161893A1 (ja) * 2010-06-25 2011-12-29 パナソニック株式会社 計算機システム
US8819680B2 (en) 2010-06-25 2014-08-26 Panasonic Intellectual Property Corporation Of America Computer system for controlling the execution of virtual machines
JP5792722B2 (ja) * 2010-06-25 2015-10-14 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 計算機システム

Also Published As

Publication number Publication date
US20060174246A1 (en) 2006-08-03
CN1811718A (zh) 2006-08-02
KR100746796B1 (ko) 2007-08-06
CN100380329C (zh) 2008-04-09
JP4148223B2 (ja) 2008-09-10
EP1686474A2 (en) 2006-08-02
TW200630878A (en) 2006-09-01
EP1686474A3 (en) 2007-08-01
KR20060087409A (ko) 2006-08-02
TWI297852B (en) 2008-06-11

Similar Documents

Publication Publication Date Title
JP4148223B2 (ja) プロセッサおよび情報処理方法
KR100746797B1 (ko) 프로세서 및 정보처리 방법
KR101350851B1 (ko) 실시간 멀티스레드 스케줄러 및 스케줄링 방법
JP5323828B2 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
JP6009529B2 (ja) マルチスレッドシステムの中でイベントを設定するための技術
US20070130446A1 (en) Processor apparatus including specific signal processor core capable of dynamically scheduling tasks and its task control method
JP4609113B2 (ja) プロセッサ
JP5673672B2 (ja) マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2011507109A (ja) マルチスレッド・プロセッサのための共有割込みコントローラ
JP2006260377A (ja) 並列処理装置および情報処理方法
US7797515B2 (en) System and method for limiting the number of unit processors for which suspension of processing is prohibited
WO2006059444A1 (ja) マルチプロセッサシステムとそのシステムにおけるプログラム実行方法
US7702836B2 (en) Parallel processing device and exclusive control method
JP4797422B2 (ja) プロセッサおよびディスパッチ制御方法
JP4389797B2 (ja) プロセッサおよび情報処理方法
JP5017784B2 (ja) プロセッサ及びこのプロセッサ適用される割込み処理制御方法
JP2005519393A (ja) 仮想直接メモリ・アクセスのための方法及び装置
JP2007048030A (ja) ソフトウェア割り込み制御システムおよびその制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080128

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080508

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

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

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

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130704

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees