(57)【要約】【課題】  マルチプロセッサにおいて、優先度の高い処理を効率的かつ高い応答性をもって処理すること。【解決手段】  携帯電話１においては、割り込み処理を実行する単位プロセッサが単位プロセッサＰ０に固定的に設定されている。そのため、割り込み処理が発生した場合に、直ちに単位プロセッサＰ０によって割り込み処理の実行を開始することができる。したがって、タスクスイッチを行うことなく、迅速に割り込み処理の実行を開始することができるため、割り込み処理を効率的かつ高い応答性をもって処理することができる。【選択図】  図２
2006209479.tif 000002
【特許請求の範囲】
【請求項１】
タスクあるいはスレッドを処理するプロセッサ部を複数備えるプロセッサであって、
優先度の高い所定処理を専用に処理する専用プロセッサ部と、
前記優先度の高い所定処理以外の処理を行う汎用プロセッサ部と、
前記優先度の高い所定処理を前記専用プロセッサ部に処理させる高優先度処理制御部と、
を含むことを特徴とするプロセッサ。
【請求項２】
前記専用プロセッサ部は、前記優先度の高い所定処理が発生した場合に処理中のプログラムの破棄が可能な処理を、前記優先度の高い所定処理のバックグラウンド処理として実行することを特徴とする請求項１記載のプロセッサ。
【請求項３】
前記バックグラウンド処理を行うモードと、該バックグラウンド処理を行わないモードとを切り換え可能であることを特徴とする請求項２記載のプロセッサ。
【請求項４】
前記優先度の高い所定処理は、割り込み処理であることを特徴とする請求項１から３のいずれか１項に記載のプロセッサ。
【請求項５】
タスクあるいはスレッドを処理するプロセッサ部を複数備えるプロセッサにおける情報処理方法であって、
優先度の高い所定処理を所定プロセッサ部において専用に処理させ、該優先度の高い所定処理以外の処理を前記所定プロセッサ部以外のプロセッサ部において行わせることを特徴とする情報処理方法。
【請求項６】
前記所定プロセッサ部において、前記優先度の高い所定処理が発生した場合に処理中のプログラムの破棄が可能な処理を、前記優先度の高い所定処理のバックグラウンド処理として実行させることを特徴とする請求項５記載の情報処理方法。
【請求項７】
前記バックグラウンド処理を行うモードと、該バックグラウンド処理を行わないモードとを切り換え可能としたことを特徴とする請求項６記載の情報処理方法。
【請求項８】
前記優先度の高い所定処理は、割り込み処理であることを特徴とする請求項５から７のいずれか１項に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のタスクあるいはスレッドを並列的に処理するプロセッサおよびその情報処理方法に関する。
【背景技術】
【０００２】
近年、組み込み機器等において、複数のタスクあるいはスレッドを並列的に処理可能なマルチタスクプロセッサあるいはマルチスレッドプロセッサと呼ばれるプロセッサ（以下、これらを総称して「マルチプロセッサ」と言う。）が利用されつつある。
従来の携帯機器では、シングルプロセッサによる処理が行われていたところ、携帯機器の高機能化に伴い処理が複雑化し、シングルプロセッサによる処理が困難となっている。
【０００３】
即ち、シングルプロセッサによって高機能を実現しようとした場合、高いクロック周波数で動作させる必要があり、それに伴い消費電力も増大する。また、例えば携帯電話において動画の再生中に電話の着信があった場合の処理等、リアルタイムに応答する必要がある場合の対応が困難となる。
一方、マルチプロセッサを利用することにより、装置を低クロック化することが可能となり、それにより低消費電力化を実現することができる。さらに、複数のタスク等を並列に処理できることから、リアルタイムな応答性の観点からも有効なものとなる。
【０００４】
なお、マルチタスクを並列的に処理する装置において、リアルタイムな応答を実現するための技術が、特許文献１に記載されている。
【特許文献１】特開平１０−２２８３８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された技術を含め、従来の技術においては、マルチプロセッサを適切に制御するオペレーティングシステムが構築されておらず、特に、１チップ上に複数のプロセッサコアを搭載して１つのマルチプロセッサとして機能させる、いわゆる密結合型マルチプロセッサに適切に対応するオペレーティングシステムが構築されていないのが現状である。
【０００６】
そのため、通常の処理を実行している際に、割り込み処理等、優先度が高くリアルタイムに応答する必要のある処理（以下、「高優先度処理」と言う。）が発生した場合、マルチプロセッサを構成する各プロセッサが空き状態でなければ、高優先度処理に対する応答性が低下するといった事態が生じ得る。このような場合、リアルタイムな応答を実現することが困難になるという問題がある。
【０００７】
また、発生した高優先度処理を実行するために、タスクスイッチが頻繁に発生する可能性があり、オーバーヘッドが増大することから、処理効率の低下を招くこととなる。
本発明の課題は、マルチプロセッサにおいて、優先度の高い処理を効率的かつ高い応答性をもって処理することである。
【課題を解決するための手段】
【０００８】
以上の課題を解決するため、本発明は、
タスクあるいはスレッドを処理するプロセッサ部（例えば、図２の単位プロセッサＰ０〜Ｐ３）を複数備えるプロセッサであって、優先度の高い所定処理（例えば、割り込み処理）を専用に処理する専用プロセッサ部（例えば、図２の単位プロセッサＰ０）と、前記優先度の高い所定処理以外の処理（例えば、アプリケーションの処理）を行う汎用プロセッサ部（例えば、図２の単位プロセッサＰ１〜Ｐ３）と、前記優先度の高い所定処理を前記専用プロセッサ部に処理させる高優先度処理制御部（例えば、図２の割り込み制御部１１）とを含むことを特徴としている。
【０００９】
このような構成により、割り込み処理等の優先度の高い処理を実行する必要が生じた場合に、直ちに専用プロセッサ部によって処理の実行を開始することができる。
したがって、タスク等のスイッチを行うことなく、迅速に優先度の高い処理の実行を開始することができるため、優先度の高い処理を効率的かつ高い応答性をもって処理することができる。
【００１０】
また、前記専用プロセッサ部は、前記優先度の高い所定処理が発生した場合に処理中のプログラムの破棄が可能な処理（例えば、リアルタイム性を要求されない処理）を、前記優先度の高い所定処理のバックグラウンド処理として実行することを特徴としている。
このような構成により、専用プロセッサ部の稼働率を向上させることができるため、さらに効率的な処理を行うことが可能となる。
【００１１】
また、前記バックグラウンド処理を行うモードと、該バックグラウンド処理を行わないモードとを切り換え可能であることを特徴としている。
このような構成により、プロセッサの処理負荷等に応じて、優先度の低い処理等をバックグラウンド処理とする場合と、通常の処理とする場合とを適宜切り換えることができ、より効率的に処理を行うことが可能となる。
【００１２】
また、前記優先度の高い所定処理は、割り込み処理であることを特徴としている。
このような構成により、頻繁に割り込み処理が発生する場合にも、割り込み処理を効率的かつ高い応答性をもって処理することができる。
また、本発明は、
タスクあるいはスレッドを処理するプロセッサ部を複数備えるプロセッサにおける情報処理方法であって、優先度の高い所定処理を所定プロセッサ部において専用に処理させ、該優先度の高い所定処理以外の処理を前記所定プロセッサ部以外のプロセッサ部において行わせることを特徴としている。
【００１３】
また、前記所定プロセッサ部において、前記優先度の高い所定処理が発生した場合に処理中のプログラムの破棄が可能な処理を、前記優先度の高い所定処理のバックグラウンド処理として実行させることを特徴としている。
また、前記バックグラウンド処理を行うモードと、該バックグラウンド処理を行わないモードとを切り換え可能としたことを特徴としている。
【００１４】
また、前記優先度の高い所定処理は、割り込み処理であることを特徴としている。
このように、本発明によれば、マルチプロセッサにおいて、優先度の高い処理を効率的かつ高い応答性をもって処理することが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、図を参照して本発明に係るプロセッサの実施の形態を説明する。
本発明に係るプロセッサは、タスクあるいはスレッド等、プログラムをその実行単位で並列的に処理するものであり、本発明に係るプロセッサ内に、タスク等を実行するプロセッサ（以下、「単位プロセッサ」と言う。）が実質的に複数備えられたハードウェア構成を有している。
【００１６】
そして、複数の単位プロセッサのうち、高優先度処理（割り込み処理等）を実行する単位プロセッサを固定的に定めることにより、高優先度処理に対して高い応答性を確保している。
また、高優先度処理を実行する単位プロセッサにおいて、高優先度処理が実行されていない場合には、その実行中に高優先度処理が発生しても処理中のプログラム（即ち、そのプログラムによって処理中のデータ）を破棄可能な、優先度の低い処理をバックグラウンド処理する。
【００１７】
これにより、高優先度処理を実行する単位プロセッサの稼働率が低下することが防止される。
このように、本発明に係るプロセッサは、優先度の高い処理を効率的かつ高い応答性をもって処理することを可能としている。
まず、構成を説明する。
【００１８】
ここでは、本発明に係るプロセッサを携帯電話に組み込んだ場合を例に挙げ、高優先度処理として割り込み処理を想定した場合について説明する。なお、以下の説明において、スレッド等、プログラムの実行単位を総称して「タスク」と言う。
図１は、本発明に係る携帯電話１の機能構成を示すブロック図である。
図１において、携帯電話１は、ＣＰＵ（Central Processing Unit）１０と、フラッシュＲＯＭ２０と、メモリ３０と、バッファ４０と、無線部５０と、ＩｒＤＡ（Infrared Data Association）部６０と、オーディオ（Audio）部７０と、タイマ（Timer）８０と、ＵＳＢ（Universal Serial Bus）インターフェース部９０と、キー（KEY）操作部１００と、ＬＣＤ（Liquid Crystal Display）１１０と、カメラ（Camera）部１２０とを含んで構成され、ＣＰＵ１０、フラッシュＲＯＭ２０、メモリ３０およびバッファ４０は、バスによって接続されている。また、無線部５０、ＩｒＤＡ部６０、オーディオ部７０、タイマ８０、ＵＳＢインターフェース部９０、キー操作部１００、ＬＣＤ１１０およびカメラ部１２０は、ＣＰＵ１０と直接接続されている。
【００１９】
ＣＰＵ１０は、複数のタスクを並列的に処理しつつ携帯電話１全体を制御するもので、キー操作部１００から入力される各種の指示信号に応じて、フラッシュＲＯＭ３０に記憶されたオペレーティングシステムプログラム（ＯＳ）や各種アプリケーションプログラムを読み出して実行したり、無線部５０、オーディオ部７０あるいはカメラ部１２０等の周辺チップから入力される割り込み信号に応じて、割り込みハンドラを実行したりする。
【００２０】
例えば、ＣＰＵ１０は、ＯＳにより生成されたタスクと、アプリケーションにより生成されたタスクを並行して処理し、さらに、周辺チップから割り込み信号が入力された場合、割り込みハンドラを実行することにより、割り込み信号に対応するアプリケーションを起動する。なお、アプリケーションによる処理は、ＯＳのタスクスケジューラによって管理されるタスクとして実行されるため、ＯＳのサービスコールを呼び出すことができ、一方、割り込み処理は、タスクスケジューラによって管理されない処理（非タスク処理）であるため、ＯＳのサービスコールを呼び出すことはできない。
【００２１】
また、ＣＰＵ１０は、各種処理結果をフラッシュＲＯＭ２０あるいはメモリ３０に格納する。
ここで、ＣＰＵ１０の内部構成について説明する。
図２は、ＣＰＵ１０の内部構成を示すブロック図である。
図２において、ＣＰＵ１０は、複数の単位プロセッサＰ０〜Ｐ３と、割り込み制御部１１と、メモリ制御部１２とを含んで構成される。
【００２２】
単位プロセッサＰ０〜Ｐ３は、それぞれが並列してタスクを処理可能なプロセッサであり、単位プロセッサＰ０〜Ｐ３のうち、本実施の形態においては、単位プロセッサＰ０が割り込み処理を実行する専用のプロセッサとされている。そのため、周辺チップにおいて割り込み信号が発生した場合、割り込み信号は単位プロセッＰ０に入力される。
なお、単位プロセッサＰ０〜Ｐ３の内部構成としては同様のものとなるため、代表として、単位プロセッサＰ０の内部構成について説明する。
【００２３】
単位プロセッサＰ０は、フェッチ部１０１と、デコード部１０２と、ＡＬＵ（Arithmetic and Logical Unit）１０３と、レジスタ１０４と、プログラム制御部１０５とをさらに含んで構成される。
フェッチ部１０１は、後述するプログラム制御部１０５のプログラムカウンタが示すメモリアドレスから命令コードを読み出し、デコード部１０２に出力する。
【００２４】
デコード部１０２は、フェッチ部１０１によって入力された命令コードをデコードし、デコード結果（命令内容およびソースレジスタ、デスティネーションレジスタのアドレス等）をＡＬＵ１０３に出力する。
ＡＬＵ１０３は、デコード部１０２によって入力されたデコード結果に応じて、所定の演算を行い、演算結果をレジスタ１０４に書き込んだり、分岐命令等の演算結果であるブランチ先のアドレスをプログラム制御部１０５に出力したりする。
【００２５】
レジスタ１０４は、ロード命令によってメモリ３０から読み出されたデータや、ＡＬＵ１０３の演算結果であるデータを記憶するレジスタ群である。
プログラム制御部１０５は、単位プロセッサＰ０全体を制御するものであり、単位プロセッサＰ０のステータス（例えば、割り込みの可否状態、実行されている処理がバックグラウンド処理か否かを示す状態、単位プロセッサＰ０におけるオーバーフローの発生状態等）を記憶するステータスレジスタ（ＰＳＲ）と、単位プロセッサＰ０が次に実行するべき命令が格納されたメモリアドレスを記憶するプログラムカウンタ（ＰＣ）とを含んで構成される。そして、プログラム制御部１０５は、単位プロセッサＰ０が割り込み処理を実行している間、ステータスレジスタの値を割り込み処理の禁止を示す値に変更したり、分岐命令が実行された場合に、プログラムカウンタの値を分岐先のアドレスに変更したりする。
【００２６】
割り込み制御部１１は、無線部５０等の周辺チップから割り込み信号が入力された場合に、割り込み信号を調停した上で、所定の割り込み信号を単位プロセッサＰ０に出力する。
メモリ制御部１２は、ＣＰＵ１０とメモリ３０との間に備えられ、ＣＰＵ１０からメモリ３０に対するデータの読み出しおよび書き込みが行われる場合に、メモリ３０を制御してデータの入出力を行う。
【００２７】
なお、本実施の形態においては、上述のように、割り込み処理が単位プロセッサＰ０によって処理され、他の単位プロセッサは、主としてアプリケーションによって生成されたタスクを処理する。
具体的には、単位プロセッサＰ０は、携帯電話１の電源投入時におけるＢＯＯＴ処理、ＯＳの初期化処理、サービスコールに対応するＯＳの処理、割り込みハンドラによる処理、割り込み処理に対するバックグラウンド処理（例えば、フラッシュＲＯＭ２０への書き込み処理あるいはリアルタイム性を要求されない処理（メモリのガーベッジコレクション、バッテリの残量表示、ハードウェアのモニタ処理等））を実行する。これらのうち、ＢＯＯＴ処理およびＯＳの初期化処理は起動時にのみ実行され、割り込み処理と同時に発生することはなく、バックグラウンド処理は、割り込み処理が発生した場合には処理中のデータを破棄することが許容される程度の優先度の低い処理である。また、サービスコールに対応するＯＳの処理は、バックグラウンド処理において、適宜呼び出されるサービスコールに対応して実行されるものである。なお、上述のように、割り込み処理（非タスク処理）においては、ＯＳのサービスコールを呼び出すことはできない。
【００２８】
また、単位プロセッサＰ１〜Ｐ３は、アプリケーションによって生成されたタスクを、ＯＳのタスクスケジューラによって決定された順序で実行し、その処理において、ＯＳのサービスコールを適宜呼び出す。
図１に戻り、フラッシュＲＯＭ２０は、携帯電話１において実行されるオペレーティングシステムプログラム、および、各種アプリケーションプログラムを記憶している。
【００２９】
メモリ３０は、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）あるいはＳＤＲＡＭ（Synchronous DRAM）といった半導体メモリによって構成され、ＣＰＵ１０が処理を実行する際にワークエリアを形成すると共に、その処理結果を記憶する。
バッファ４０は、外部から携帯電話１に入力されたデータあるいは携帯電話１において発生されたデータを一時的に保持するバッファである。
【００３０】
無線部５０は、携帯電話１と携帯電話システムの基地局との間における無線通信を行うものである。例えば、無線部５０は、基地局から携帯電話１に対する着信を示す信号を受信した場合、ＣＰＵ１０に対して割り込み信号を出力し、着信信号の受信を通知する。また、無線部５０は、ＣＰＵ１０から発信を指示する信号が入力された場合、基地局に対して発信要求を示す信号を送信する。
【００３１】
ＩｒＤＡ部６０は、ＩｒＤＡに基づく通信を行うインターフェースであり、外部からＩｒＤＡに基づく無線信号を受信した場合、ＣＰＵ１０に対して割り込み信号を出力し、ＩｒＤＡ信号の受信を通知する。
オーディオ部７０は、携帯電話１において入出力される音声信号を処理するものであり、通話におけるマイクおよびスピーカを用いた音声の入出力、あるいは、音楽等の再生といった処理を行う。
【００３２】
タイマ８０は、携帯電話１のクロック信号を基に時間を計測し、例えば１ｍｓ毎等、所定時間毎にＣＰＵ１０に対して割り込み信号を出力する。
ＵＳＢインターフェース部９０は、ＵＳＢによる通信を行うためのインターフェースであり、ＵＳＢケーブルが接続された場合やＵＳＢケーブルから信号を受信した場合等に、ＣＰＵ１０に対して割り込み信号を出力する。
【００３３】
キー操作部１００は、携帯電話１に対する指示入力を行うための各種キーを備えており、これらのキーが押下された場合に、ＣＰＵ１０に対する割り込み信号を出力する。
ＬＣＤ１１０は、ＣＰＵ１０によって入力された文字あるいは画像等の描画命令に従って、所定画面を表示する表示装置である。
カメラ部１２０は、ＣＣＤ（Charge Coupled Devices）あるいはＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサ等の撮像素子を備え、画像を撮影した場合に、ＣＰＵ１０に対して割り込み信号を出力する。
【００３４】
次に、動作を説明する。
図３は、携帯電話１の電源投入時における動作を示す図である。
図３において、携帯電話１の電源が投入されると、単位プロセッサＰ０において、ＢＯＯＴ処理（各ハードウェアの初期化、プログラムのロードおよび起動、ＯＳの初期化処理）が実行される（ステップＳ１）。なお、図中の実線部分は各単位プロセッサが処理の実行状態であることを示し、点線部分は処理が行われていないことを示している。
【００３５】
そして、単位プロセッサＰ０は、単位プロセッサＰ１〜Ｐ３を起動し、実行が指示されているアプリケーション（例えば動画像の再生処理等）のタスクを実行させる（ステップＳ２）。
この後、単位プロセッサＰ０はアイドル状態となり、単位プロセッサＰ１〜Ｐ３はアプリケーションのタスクを実行している状態となる。
【００３６】
ここで、携帯電話１において割り込み（例えば電話の着信信号の受信等）が発生したとする（ステップＳ３）。
すると、ＣＰＵ１０の割り込み制御部１１が割り込み信号を単位プロセッサＰ０に出力する（ステップＳ４）。なお、このとき複数の周辺チップから割り込み信号が入力されている場合、割り込み制御部１１がそれらを調停した上で、最も優先度の高い割り込み信号が単位プロセッサＰ０に出力される。
【００３７】
割り込み信号を受信した単位プロセッサＰ０は、直ちに割り込みハンドラを実行し、割り込み処理を開始する（ステップＳ５）。
これにより、タスクスイッチを行うことなく、割り込み処理を効率的かつ高い応答性をもって処理することができる。
また、割り込み処理の発生時にバックグラウンド処理が実行されていた場合、単位プロセッサＰ０は、一旦、ＨＡＬＴ状態へ移行し、以後、割り込み処理のみを実行する。
【００３８】
このとき、バックグラウンド処理に関する処理中のデータは破棄されることとなる。
次に、バックグランド処理に関する動作について説明する。
バックグラウンド処理は、ＣＰＵ１０がバックグラウンド処理モードに移行することで実行可能となり、バックグラウンド処理モードに関するサービスコールとして、バックグラウンド処理を開始する“bak_sta()”、バックグラウンド処理を停止する“bak_stp()”、バックグラウンド処理に対し、コマンドを通知する“bak_cmd()”が用意されている。
【００３９】
バックグラウンド処理は、単位プロセッサＰ１〜Ｐ３がサービスコール“bak_sta()”を呼び出すことによって開始される。
なお、“bak_sta()”の呼び出し後、単位プロセッサＰ０におけるＯＳのタイマ割り込みの起動タイミング（１ｍｓ毎等）でバックグラウンド処理モードの開始指示が認識され、その後、最初に発生した割り込み処理をトリガとして、実際にバックグラウンド処理モードに移行する。
【００４０】
図４は、バックグラウンド処理モードにおける動作を示すフローチャートである。
バックグラウンド処理モードに移行すると、単位プロセッサＰ０は、ポーリングによって、“bak_cmd()”で通知されたコマンドを取得することにより、バックグラウンド処理するべきイベントの監視を行い（ステップＳ１０１）、バックグラウンド処理するべきイベントの有無を判定する（ステップＳ１０２）。
【００４１】
ステップＳ１０２において、バックグラウンド処理するべきイベントがあると判定した場合、単位プロセッサＰ０は、“bak_cmd()”によって通知されたコマンドを取得する（ステップＳ１０３）。これにより、バックグラウンド処理が実行される。
そして、単位プロセッサＰ０は、“bak_sta()”の呼び出し先であるポインタに再度移行し（ステップＳ１０４）、ステップＳ１０１に戻る。
【００４２】
また、ステップＳ１０２において、バックグラウンド処理するべきイベントがないと判定した場合、単位プロセッサＰ０は、ステップＳ１０４の処理に移行する。
そして、“bak_sta()”を呼び出した単位プロセッサＰ１〜Ｐ３から、“bak_stp()”が呼び出されると、単位プロセッサＰ０は、一旦、ＨＡＬＴ状態へ移行した後、バックグラウンド処理を終了する。その後、単位プロセッサＰ０は、バックグラウンド処理を行わず、割り込み処理のみを実行する状態となる。
【００４３】
このように、プログラムにおいて“bak_sta()”および“bak_stp()”を呼び出すことで、バックグラウンド処理を行うモードと行わないモードに適宜切り換えることが可能である。
以上のように、本実施の形態に係る携帯電話１においては、ＣＰＵ１０において、割り込み処理を実行する単位プロセッサが単位プロセッサＰ０に固定的に設定されている。
【００４４】
そのため、割り込み処理が発生した場合に、直ちに単位プロセッサＰ０によって割り込み処理の実行を開始することができる。
したがって、タスクスイッチを行うことなく、迅速に割り込み処理の実行を開始することができるため、割り込み処理を効率的かつ高い応答性をもって処理することができる。
例えば、図５（ａ）に示すように、従来の技術においては、タスクの処理中に割り込みが発生した場合、タスク処理のコンテキストを退避した後に割り込み処理が実行され、割り込み処理の終了後、タスク処理のコンテキストを復帰させてタスク処理を継続するという手順となる。
【００４５】
一方、本発明においては、図５（ｂ）に示すように、割り込み処理の発生後、直ちに割り込み処理の実行に移行することができ、コンテキストの退避・復帰等を行う必要がなく、効率的かつ高い応答性をもって処理することができることとなる。
なお、本発明は、マルチスレッドプロセッサあるいはマルチタスクプロセッサと呼ばれる各種実装形態のプロセッサに適用可能であるが、例えば、１チップ上に複数のプロセッサコアが実装され、プロセッサの構成要素の少なくとも一部をこれら複数のプロセッサコアが共用する形態のマルチプロセッサ（いわゆる密結合型のマルチタスクプロセッサ）において、特に有効となる。
【００４６】
図６は、本発明の適用対象となるマルチプロセッサの構成例を示す図である。
図６に示すマルチプロセッサは、メモリ制御部およびＡＬＵを複数のプロセッサコアが共用する形態であり、それぞれのプロセッサコアにプログラムカウンタおよびステータスレジスタ等の制御用レジスタが備えられていると共に、マルチプロセッサ全体を制御するためのプログラム制御部および制御用レジスタも別途備えられている。なお、図６に示すように、各プロセッサコアで共用するコンテキストキャッシュ等を備えても良い。
【００４７】
このような構成のマルチプロセッサの場合、各プロセッサコアが本実施の形態における単位プロセッサの機能を実現するものとなる。
【図面の簡単な説明】
【００４８】
【図１】本発明に係る携帯電話１の機能構成を示すブロック図である。
【図２】ＣＰＵ１０の内部構成を示すブロック図である。
【図３】携帯電話１の電源投入時における動作を示す図である。
【図４】バックグラウンド処理モードにおける動作を示すフローチャートである。
【図５】本発明と従来の技術とにおける割り込み処理時の動作を比較して説明する図である。
【図６】本発明の適用対象となるマルチプロセッサの構成例を示す図である。
【符号の説明】
【００４９】
１  携帯電話、１０  ＣＰＵ、１１  割り込み制御部、１２  メモリ制御部、２０  フラッシュＲＯＭ、３０  メモリ、４０  バッファ、５０  無線部、６０  ＩｒＤＡ部、７０  オーディオ、８０  タイマ、９０  ＵＳＢインターフェース部、１００  キー操作部、１１０  ＬＣＤ、１２０  カメラ部、Ｐ０〜Ｐ３  単位プロセッサ、１０１  フェッチ部、１０２  デコード部、１０３  ＡＬＵ、１０４  レジスタ、１０５  プログラム制御部
【図１】
2006209479.tif 000003
【図２】
2006209479.tif 000004
【図３】
2006209479.tif 000005
【図４】
2006209479.tif 000006
【図５】
2006209479.tif 000007
【図６】
2006209479.tif 000008