(57)【要約】  マルチスレッド・プロセッサの１つまたは複数のスレッドに関連する命令を提供するように適応されたシーケンサを含むマルチスレッド・プロセッサが開示される。シーケンサは、１つまたは複数の割込みを受け取り、１つまたは複数のスレッドのうちの第１のスレッドが少なくとも１つの割込みを処理することを選択的に可能にするように適応された割込みコントローラを含む。割込みコントローラは、１つまたは複数のスレッドのうちの第２のスレッドが少なくとも１つの割込みに応答することを防ぐための論理を含む。
2011507109.tif 000002
【特許請求の範囲】
【請求項１】
マルチスレッド・プロセッサの１つまたは複数のスレッドに関連する命令を提供するように適応されたシーケンサであって、１つまたは複数の割込みを受け取り、前記１つまたは複数のスレッドのうちの第１のスレッドが前記１つまたは複数の割込みのうちの少なくとも１つを処理することを選択的に可能にするための割込みコントローラを含む、シーケンサを備えるマルチスレッド・プロセッサであって、
前記割込みコントローラが、前記少なくとも１つの割込みが前記第１のスレッドによる処理対象に選択された後、前記１つまたは複数のスレッドのうちの第２のスレッドが前記少なくとも１つ割込みに応答することを防ぐための論理を含む、マルチスレッド・プロセッサ。
【請求項２】
前記割込みコントローラが複数の動作モードを含む、請求項１に記載のプロセッサ。
【請求項３】
前記複数の動作モードの第１の動作モードが、論理ハイ割込みに応答する割込みアクティブハイモードを備える、請求項２に記載のプロセッサ。
【請求項４】
前記複数の動作モードの第２の動作モードが論理ロー割込みに応答する割込みアクティブローモードを備える、請求項２に記載のプロセッサ。
【請求項５】
前記複数の動作モードのうちの第３の動作モードが、信号エッジの立上りまたは立下りに応答するエッジトリガ動作モードを備える、請求項２に記載のプロセッサ。
【請求項６】
前記複数の動作モードの第４の動作モードが、信号のレベル部分に応答するレベルトリガ動作モードを備える、請求項２に記載のプロセッサ。
【請求項７】
前記割込みコントローラが、割込み保留レジスタ内に、前記１つまたは複数の割込みの少なくとも１つに対応するフラグを設定するように適応される、請求項１に記載のプロセッサ。
【請求項８】
前記フラグが、前記少なくとも１つの割込みが前記第１のスレッドによって処理されている間に設定される、請求項７に記載のプロセッサ。
【請求項９】
割込みを取るために前記１つまたは複数のスレッドの各スレッドからアクセス可能なグローバル割込みレジスタをさらに備え、前記割込みコントローラが、前記第１のスレッドが前記少なくとも１つの割込みを処理する間、前記第２のスレッドによる前記割込みへのアクセスを防止するように前記グローバル割当てレジスタを変更する、請求項１に記載のプロセッサ。
【請求項１０】
前記１つまたは複数のスレッドのそれぞれに関連しており、前記割込みコントローラからアクセス可能である割込み保留レジスタをさらに備え、前記割込みコントローラが、前記第１のスレッドが前記少なくとも１つの割込みをいつ処理しているか示すように前記割込み保留レジスタのビットを制御する、請求項１に記載のプロセッサ。
【請求項１１】
前記ビットが、前記スレッドによって処理された前記割込みがディアサートされた後、前記割込み保留レジスタから自動的にクリアされる、請求項１０に記載のプロセッサ。
【請求項１２】
１つまたは複数の割込みを受け取るために１つまたは複数の割込み発生源に応答し、前記１つまたは複数の割込みを処理するためにマルチスレッド・プロセッサの複数のスレッドの各スレッドによってアクセス可能である、グローバル割込みレジスタと、
前記グローバル割込みレジスタに結合されており、前記１つまたは複数の割込みのうちの１つの割込みが前記マルチスレッド・プロセッサのうちのスレッドによって処理されていると決定し、前記複数のスレッドの他のいずれかのスレッドによって前記割込みへのアクセスを選択的に防止するための割込み論理と
を備えるプロセッサ。
【請求項１３】
前記グローバル割込みレジスタのビットに対応する複数のビットを含んでおり、前記複数のビットのうちの、前記割込みに関連する選択されたビットを設定するために割込み論理によってアクセス可能な割込み自動ディセーブル・レジスタをさらに備え、前記選択されたビットが、割込みが処理されていることを示し、前記論理が、前記割込みが処理されている間、前記他のスレッドが前記割込みにアクセスすることを防止する、請求項１２に記載のプロセッサ。
【請求項１４】
前記割込み論理が、前記割込みがディアサートされた後、前記選択されたビットをクリアする命令を受け取るように適応され、前記割込み論理が、前記命令の受取りに応答して前記選択されたビットをクリアする、請求項１３に記載のプロセッサ。
【請求項１５】
それぞれのビットが特定の割込みのステータスを示す複数のビットを含む割込み保留レジスタをさらに備え、前記割込み論理が、前記割込みに対応する選択されたビットを設定するために前記割込み保留レジスタへのアクセスを有する、請求項１２に記載のプロセッサ。
【請求項１６】
前記割込みがソフトウェア割込みを備え、前記割込み保留レジスタが、前記ソフトウェア割込みについてのステータス・インジケータを提供するためのソフトウェアからアクセス可能である、請求項１５に記載のプロセッサ。
【請求項１７】
マルチスレッド・プロセッサ内で割込みを制御する方法であって、
マルチスレッド・プロセッサに関連するシーケンサ上で割込みを受け取ることであって、前記シーケンサが、前記マルチスレッド・プロセッサの複数のスレッドからアクセス可能なグローバル割込みレジスタを含み、また割込み制御回路を含むこと、および
前記割込みが前記複数のスレッドのうちの第１のスレッドによって処理されていると決定した後、前記複数のスレッドのうちの第２のスレッドによる前記割込みへのアクセスを防止することを備える方法。
【請求項１８】
前記グローバル割込みレジスタ内に、前記受け取られた割込みに関連するビットを設定することをさらに備える、請求項１７に記載の方法。
【請求項１９】
前記割込みが処理されていることを示すために、割込み保留レジスタ内に、前記第１のスレッドに関連するビットを設定することをさらに備える、請求項１７に記載の方法。
【請求項２０】
前記グローバル割込みレジスタ内に設定される割込みフラグに関連するフラグクリア命令を受けること、および
自動ディセーブル・レジスタの対応するフラグをクリアすることをさらに備え、処理論理が、前記対応するフラグの状態に基づいて前記割込みへのアクセスを防止する、請求項１７に記載の方法。
【請求項２１】
前記割込みへのアクセス防止が、前記グローバル割込みレジスタの対応するビットに関するビットを割込み自動ディセーブル・レジスタ内に設定することを備え、処理論理が、前記グローバル割込みレジスタの前記対応するビットが設定されるとき前記割込みへのアクセスを防止する、請求項１７に記載の方法。
【請求項２２】
複数のスレッドを有するマルチスレッド・プロセッサに関連するシーケンサ上で割込みを受け取るための手段であって、前記シーケンサが、前記複数のスレッドからアクセス可能なグローバル割込みレジスタを含み、また割込み制御回路を含む、手段と、
前記割込みが前記複数のスレッドのうちの第１のスレッドによって処理されていると決定した後、前記複数のスレッドのうちの第２のスレッドによる前記割込みへのアクセスを防止するための手段と
を備える処理装置。
【請求項２３】
前記割込みが処理されたことの表示を受け取るための手段と、
前記表示の受取りに応答して前記割込みに対応する割込み自動ディセーブル・レジスタ内のビットをクリアするための手段と、をさらに備える、請求項２２に記載の装置。
【請求項２４】
前記受け取られた割込みと関連するビットを前記グローバル割込みレジスタ内に設定するための手段をさらに備える、請求項２２に記載の装置。
【請求項２５】
通信網と通信するトランシーバと、
プロセッサによって実行可能な複数の命令を含むメモリと、
前記トランシーバに結合され、前記メモリへのアクセスを有する前記プロセッサと、を備える無線通信装置であって、前記プロセッサが、
前記複数の命令からの選択された命令を実行するように適応された複数のスレッドと、
前記選択された命令を取り出し、前記複数のスレッドに提供するように適応されたシーケンサであって、前記複数のスレッドの各実行ユニットからアクセス可能なグローバル割込みレジスタを含み、また前記グローバル割込みレジスタに結合された割込みコントローラを含み、前記割込みコントローラが、前記複数のスレッドのうちの１つのスレッドが割込みをいつ処理しているか決定し、前記複数のスレッドの他のスレッドによる前記割込みへのアクセスを防止するために前記グローバル割込みレジスタを使用するように適応される、シーケンサと、を備える、無線通信装置。
【請求項２６】
前記グローバル割込みレジスタが、対応する複数の割込みに関連する複数のビットを含む割込み自動ディセーブル（ＩＡＤ）レジスタを備える、請求項２５に記載の装置。
【請求項２７】
前記割込みコントローラが、前記ＩＡＤレジスタ内に前記複数のビットのうちの１つのビットを設定するように適応される、請求項２５に記載の装置。
【請求項２８】
割込み論理レベルを示す第１の構成レジスタと、
割込みトリガを示す第２の構成レジスタと、
各ビットが特定の割込みに対応する複数のビットを含む自動ディセーブル割込みレジスタと、
前記割込み論理レベル、前記割込みトリガ、および前記特定の割込みに対応する前記ビットに基づいて、複数の実行スレッドを含むマルチスレッド・プロセッサの第１のスレッドに割込みを提供する処理論理であって、前記特定の割込みが前記第１のスレッドによって処理されている場合、前記特定の割込みに対応する前記ビットを設定し、前記特定の割込みが前記第１のスレッドによって処理されている間、前記複数の実行スレッドのうちの他のスレッドによるアクセスを防止する処理論理と
を備えるプロセッサ。
【請求項２９】
前記処理論理が、
割込み発生源に応答する割込み入力と、出力と、入ってくる割込みを前記出力に選択的に提供するために前記第１の構成レジスタに応答する割込み論理レベル選択入力とを含む第１の多重化装置をさらに備える、請求項２８に記載のプロセッサ。
【請求項３０】
前記処理論理が、
前記出力に結合されており、前記入ってくる割込みの立上りまたは立下りエッジを検出するように適応されたエッジ検出回路と、
前記出力に結合されており、前記入ってくる割込みの論理レベルを検出するように適応されたレベル検出回路と、をさらに備える、請求項２９に記載のプロセッサ。
【請求項３１】
前記処理論理が、第２の割込み入力と、第２の出力と、前記入ってくる割込みに関連するデータを前記第２の出力に選択的に提供するために前記第２の構成レジスタに応答する割込みトリガ選択入力とを含む第２の多重化装置をさらに備える、請求項２８のプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその全体が本明細書に組み込まれている、２００５年１０月１８日に出願され、整理番号第０５０５８７号で指定された米国特許出願第１１／２５３，９０６号、「ＳＨＡＲＥＤ  ＩＮＴＥＲＲＵＰＴ  ＣＯＮＴＲＯＬ  ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  Ａ  ＤＩＧＩＴＡＬ  ＳＩＧＮＡＬ  ＰＲＯＣＥＳＳＯＲ」の優先権を主張するものであり、またその一部継続出願である。
【０００２】
本開示は、一般には、マルチスレッド・プロセッサのための共有割込みコントローラに関する。
【背景技術】
【０００３】
技術の進歩は、より小さくより強力なパーソナル・コンピューティング装置をもたらしてきた。たとえば、小さく軽量でユーザが持ち運び易い携帯型無線電話、携帯情報端末（ＰＤＡ）およびページング装置などの無線コンピューティング装置を含めて、様々な携帯型パーソナル・コンピューティング装置が現在存在する。より具体的には、携帯電話およびインターネットプロトコル（ＩＰ）電話などの携帯型無線電話は、無線網を介して音声およびデータパケットを通信することができる。さらに、多くのこうした無線電話は、その中に組み込まれている他のタイプの装置を含む。たとえば、無線電話は、ディジタル静止カメラ、ディジタル・ビデオカメラ、ディジタル・レコーダおよびオーディオ・ファイル・プレーヤーをも含み得る。また、こうした無線電話は、インターネットにアクセスするために使用できるウェブブラウザ・アプリケーションなど、ソフトウェア機能性を含むことができる。したがって、これらの無線電話は、かなりのコンピューティング能力を含むことができる。
【０００４】
ディジタル信号プロセッサ（ＤＳＰ）は、無線電話など、携帯型パーソナル・コンピューティング装置で頻繁に使用される。こうしたＤＳＰは、ビデオおよびオーディオ機能を提供し、受信されたデータを処理し、または他の機能を実施するために使用できる。こうしたＤＳＰは、複数のプログラム命令スレッドを処理可能であり、並列実行ユニットを含み得るマルチスレッド・アーキテクチュアを使用できる。
【０００５】
ＤＳＰは、実行された命令、周辺装置または他の回路素子から割込み信号を受け取るための割込みハンドラを含んでよい。こうした割込み信号は、検出されたイベントに応答するＤＳＰプロセスの一時停止をトリガすることができる。ＤＳＰの各スレッドが専用の割込みハンドラまたはコントローラを含まない限り、割込みの処理によって、スケジューリングの複雑さが増すことになり得る。
【発明の概要】
【０００６】
特定の例示的な実施形態では、マルチスレッド・プロセッサの１つまたは複数のスレッドに関連する命令を提供するように適応されたシーケンサを含むマルチプロセッサが開示される。シーケンサは、１つまたは複数の割込みを受け取り、１つまたは複数のスレッドのうちの第１のスレッドが１つまたは複数の割込みのうちの少なくとも１つの割込みを処理することを選択的に可能にするように適応された割込みコントローラを含む。割込みコントローラは、割込みが第１のスレッドによる処理対象に選択された後、１つまたは複数のスレッドのうちの第２のスレッドが割込みに応答することを防ぐための論理回路を含む。
【０００７】
別の特定の例示的な実施形態では、プロセッサは、１つまたは複数の割込みを受け取るために１つまたは複数の割込み発生源に応答するグローバル割込みレジスタを含む。グローバル割込みレジスタは、１つまたは複数の割込みを処理するためにマルチスレッド・プロセッサの各スレッドによってアクセス可能である。割込み論理は、マルチスレッド・プロセッサのスレッドによって割込みが処理されていると決定し、割込みが処理されているという決定に基づいて他のスレッドによる割込みへのアクセスを防止するために、グローバル割込みレジスタに結合される。
【０００８】
別の特定の例示的な実施形態では、マルチスレッド・プロセッサ内で割込みを制御する方法が、マルチスレッド・プロセッサに関連するシーケンサ上で割込みを受け取ることを含む。この方法はさらに、割込みが複数のスレッドのうちの第１のスレッドによって処理されていると決定した後、第２のスレッドによる割込みへのアクセスを防止することを含む。シーケンサは、マルチスレッド・プロセッサの複数のスレッドからアクセス可能なグローバル割込みレジスタを含み、またシーケンサは、割込み制御回路を含む。
【０００９】
別の特定の例示的な実施形態では、マルチスレッド・プロセッサに関連するシーケンサ上で割込みを受け取るための手段を含む処理装置が開示される。シーケンサは、複数のスレッドからアクセス可能なグローバル割込みレジスタを含み、また割込み制御回路を含む。処理装置は、割込みが複数のスレッドのうちの第１のスレッドによって処理されていると決定した後、第２のスレッドによる割込みへのアクセスを防止するための手段をも含む。
【００１０】
別の特定の例示的な実施形態では、通信網と通信するためのトランシーバと、プロセッサによって実行可能な複数の命令を含むメモリとを含む無線通信装置が開示される。プロセッサは、トランシーバに結合されており、メモリへのアクセスを有する。プロセッサは、複数の命令から選択された命令を実行するように適応された複数のスレッドと、選択された命令を取り出し、複数のスレッドに提供するように適応されたシーケンサとを含む。シーケンサは、複数のスレッドの各スレッドからアクセス可能なグローバル割込みレジスタを含み、またグローバル割込みレジスタに結合された割込みコントローラを含む。割込みコントローラは、複数のスレッドのうちのあるスレッドがいつ割込みを処理しているか決定し、複数のスレッドのうちの他のスレッドによる割込みへのアクセスを防止するためにグローバル割込みレジスタを使用するように適応される。
【００１１】
別の特定の例示的な実施形態では、割込み論理レベルを示す第１の構成レジスタと、割込みトリガを示す第２の構成レジスタとを含むプロセッサが開示される。プロセッサは、複数のビットの各ビットが特定の割込みに対応する複数のビットを含む、自動ディセーブル割込みレジスタをも含む。プロセッサは、割込み論理レベル、割込みトリガ、および特定の割込みに対応するビットに基づいて、複数の実行スレッドを含むマルチスレッド・プロセッサの第１のスレッドに割込みを提供するための処理論理をさらに含む。処理論理は、特定の割込みが第１のスレッドによって処理されているとき、特定の割込みに対応するビットを設定し、第１のスレッドによって特定の割込みが処理されている間、複数の実行スレッドのうちの他のスレッドによるアクセスを防止する。
【００１２】
グローバル割込みレジスタおよび関連する論理の実施形態によって提供されるある特定の利点は、グローバル割込みレジスタのビットを使用して、異なるスレッドによって特定の割込みを複数回処理することを防止できるということにある。
【００１３】
特定の実施形態の別の利点は、スレッド固有のレジスタ内のビットをディセーブル(Disable)することに対応し得る、ブローバル割込みレジスタ内に割込みビットフラグを設定することによって、マルチスレッド処理環境内の割込み処理を単純かつ効率的なやり方で管理できるということにある。
【００１４】
現在の開示の他の態様、利点および特徴は、以下の節、すなわち図面の簡単な説明、発明を実施するための形態、特許請求の範囲を含めて、本出願全体をよく読んだ後、明らかになろう。
【図面の簡単な説明】
【００１５】
【図１】共有割込みコントローラを含むマルチスレッド・プロセッサの特定の例示的な実施形態を示すブロック図。
【図２】共有割込みコントローラを含むマルチスレッド・プロセッサの第２の特定の例示的な実施形態を示すブロック図。
【図３】共有割込みコントローラの特定の例示的な実施形態を示すブロック図。
【図４】共有割込みコントローラを使用して割込みを処理する方法の特定の例示的な実施形態のフローチャート。
【図５】無線通信装置の特定の例示的な実施形態を示すブロック図。
【発明を実施するための形態】
【００１６】
図１を参照すると、マルチスレッド・プロセッサ１００が開示されている。特定の例示的な実施形態では、マルチスレッド・プロセッサ１００は、ディジタル信号プロセッサであってよい。マルチスレッド・プロセッサ１００は、命令キュー１３４を有するメモリ１０２と、メモリバス１０６と、シーケンサ・ユニット１０４と、複数の実行ユニット１０８〜１１４と、第１のバス１１８と、統一レジスタ・ファイル１１６と、第２のバス１２０とを含む。シーケンサ１０４は、制御レジスタ１６０に結合される。シーケンサ１０４は、グローバル割込みレジスタ・ファイル１６２と、共有割込みコントローラ１６４とを含む。メモリ１０２は、第２のバス１２０に結合され、シーケンサ１０４もまた、第２のバス１２０に結合される。
【００１７】
特定の実施形態では、メモリバス１０６は、６４ビットバスとすることができ、シーケンサ１０４は、メモリ１０２から命令を取り出すように構成されてよい。特定の例示的な実施形態では、それぞれの命令は、３２ビットの長さを有し得る。シーケンサ１０４は、第１のパス（スロット０）を介して第１の命令実行ユニット１０８に、第２のパス（スロット１）を介して第２の命令実行ユニット１１０に、第３のパス（スロット２）を介して第３の命令実行ユニット１１２に、第４のパス（スロット３）を介して第４の命令実行ユニット１１４に結合される。それぞれの命令実行ユニット１０８、１１０、１１２、１１４は、第１のバス１１８を介して汎用レジスタ・ファイル１１６に結合されてよい。汎用レジスタ・ファイル１１６もまた、第２のバス１２０を介してシーケンサ１０４およびメモリ１０２に結合されてよい。
【００１８】
特定の実施形態では、メモリ１０２は、第１の命令キャッシュ１２２と第２の命令キャッシュ１２４と第３の命令キャッシュ１２６と第４の命令キャッシュ１２８と第５の命令キャッシュ１３０と第６の命令キャッシュ１３２とを含む連想記憶メモリ（ＣＡＭ：content addressable memory）であってよい。動作において、シーケンサ１０４は、命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２の各々にアクセスすることができる。さらに、特定の実施形態では、それぞれの命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２は、複数の命令と、各命令の命令ステアリングデータと、各命令のプリデコードデータとを含む。メモリ１０２内の命令キュー１３４は、各命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２の命令キューを含んでよい。
【００１９】
図１に示されたように、汎用レジスタ１１６は、第１の統一レジスタ・ファイル１４８と、第２の統一レジスタ・ファイル１５０と、第３の統一レジスタ・ファイル１５２と、第４の統一レジスタ・ファイル１５４と、第５の統一レジスタ・ファイル１５６と、第６の統一レジスタ・ファイル１５８とを含む。それぞれの統一レジスタ・ファイル１４８、１５０、１５２、１５４、１５６、１５８は、メモリ１０２内のそれぞれの命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２に対応する。それぞれの統一レジスタ・ファイル１４８、１５０、１５２、１５４、１５６、１５８およびそれぞれの命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２は、それぞれのスレッドに対応する。さらに、特定の実施形態では、統一レジスタ・ファイル１４８、１５０、１５２、１５４、１５６、１５８はそれぞれ、同じ構造を有することができ、等しい数のデータ・オペランドおよびアドレス・オペランドを含んでよい。
【００２０】
図１は、マルチスレッド・プロセッサ１００が、シーケンサ１０４に結合された制御レジスタ１６０をさらに含み得ることを示している。図示されたように、制御レジスタ１６０は、スタンドアロンのレジスタであってよい。あるいは、制御レジスタは、汎用レジスタ１１６内に含まれてもよい。図示されるように、マルチスレッド・プロセッサ１００は、共有割込みコントローラ１６４などの制御論理を含むこともできる。例示的な実施形態では、共有割込みコントローラ１６４は、グローバル割込みレジスタ１６２に結合される。共有割込みコントローラ１６４は、実行ユニット１０８、１１０、１１２、１１４による各特定の割込みへのアクセスを制御するように動作することができる。
【００２１】
マルチスレッド・プロセッサ１００の動作中、命令が、シーケンサ１０４によってメモリ１０２からフェッチされ、選択された命令実行ユニット１０８、１１０、１１２、１１４に送られ、命令実行ユニット１０８、１１０、１１２、１１４上で実行される。各命令実行ユニット１０８、１１０、１１２、１１４上で実行された命令からの結果は、汎用レジスタ１１６に（すなわち統一レジスタ・ファイル１４８、１５０、１５２、１５４、１５６、１５８のうちの１つに）書き込むことができる。特定の実施形態では、マルチスレッド・プロセッサ１００は、複数のプログラム・スレッドを実行することができる。さらに、特定の実施形態では、マルチスレッド・プロセッサ１００は、インタリーブ方式で最大６つの異なるプログラム・スレッドを実行するように構成することができる。
【００２２】
シーケンサ１０４は、マルチスレッド・プロセッサ１００の１つまたは複数のスレッドに関連する命令を提供するように適応される。シーケンサ１０４は、１つまたは複数の割込みを受け取るように適応された割込みコントローラ１６４を含む。１つまたは複数の割込みは、マルチスレッド・プロセッサ１００のスレッドに、通常の処理をそのままにさせ、特定の割込みに応答するソフトウェア・ルーチンであってよい割込みハンドラの実行を開始させることができるハードウェア信号を意味し得る。こうした割込みは、命令実行から、周辺装置から、回路部品から、またはその任意の組合せから生成され得る。割込みは、バスのタイプおよび割込みレベルによってパラメータ化することができ、割込みベクトル番号を含んでよい。
【００２３】
特定の例示的な実施形態では、１つまたは複数の割込みが共有割込みコントローラ１６４によって受け取られ、または検出されるとき、共有割込みコントローラ１６４は、１つまたは複数のスレッドのうちの第１のスレッドが１つまたは複数の割込みのうちの特定の割込みを処理することを選択的に可能にするように適応される。特定の実施形態では、割込みコントローラ１６４は、特定の割込みが第１のスレッドによる処理対象に選択された後、第２のスレッドが特定の割込みに応答することを防ぐための論理を含む。
【００２４】
特定の実施形態では、共有割込みコントローラ１６４は、複数の実行ユニットおよび複数のスレッド間で共有される。共有割込みコントローラ１６４は、複数の実行ユニットのそれぞれについて構成され得る複数の動作モードを含むことができる。第１の動作モードは、論理低レベルから論理高レベルへのエッジ遷移によってトリガされる論理高レベルで共有割込みコントローラ１６４が割込みに応答する、割込みアクティブ・ハイエッジ・トリガモードを含む。第２の動作モードは、論理高レベルから論理低レベルへのエッジ遷移によってトリガされる論理低レベルで共有割込みコントローラ１６４が割込みに応答する、割込みアクティブ・ローエッジ・トリガモードを含む。第３の動作モードは、論理高レベルで維持される割込みに割込みコントローラ１６４が応答する、アクティブ高レベル・トリガモードを含む。第４の動作モードは、論理低レベルで維持される割込みに共有割込みコントローラ１６４が応答する、論理低レベル・トリガモードを含む。
【００２５】
特定の実施形態では、共有割込みコントローラ１６４は、グローバル割込みレジスタ１６２、および割込み保留レジスタ（図２に示された割込み保留レジスタ（ＩＰＥＮＤ：interrupt pending register）２１０など）内でフラグを設定し、または変更するための論理を含む。グローバル割込みレジスタ１６２は、割込み自動ディセーブル・レジスタ２１２（図２）および３２４（図３）など、割込み自動ディセーブル・レジスタを含むこともできる。フラグは、特定のスレッドが特定の割込みを処理していることを示すためにグローバル割込みレジスタ１６２内に設定されてよい。一般に、それぞれのフラグは、処理され得る１つまたは複数の割込みのうちの少なくとも１つに対応する。共有割込みコントローラ１６４は、特定の許可されたスレッドが割込みを処理している間、別のスレッドが特定の割込みを処理することを防ぐように適応される。第１のスレッドについてフラグが設定されると、共有割込みコントローラ１６４の制御論理は、第１のスレッドがこうした割込みの処理を完了するまで、第２のスレッドなど、他のいずれかのスレッドが割込みに応答することを妨げる。さらに、共有割込みコントローラ１６４は、割込みが処理されている間、グローバル割込みレジスタ１６２内で、割込みに対応する特定のビットの状態を維持することができる。
【００２６】
グローバル割込みレジスタ１６２は、割込みを取ることができる複数のスレッドの各スレッドからアクセス可能である。マルチスレッド・プロセッサ１００が、上述された第３および第４のモードなど、レベル・トリガモードで動作している場合、共有割込みコントローラ１６４は、第１のスレッドが特定の割込みを処理しているとき、グローバル割込みレジスタ１６２内でビットを維持することができる。共有割込みコントローラ１６４に関連する論理は、割込みが処理されている間、他のスレッドが特定の割込みを処理することを防ぎ、それによって、割込みを複数回を処理することを防止することができる。共有割込みコントローラ１６４は、割込み保留レジスタの少なくとも１つのビットを、特定のスレッドがいつ割込みを処理しているか示すように制御するための論理を含む。特定の実施形態では、割込み保留レジスタ内の制御ビットは、関連するスレッドによって処理されている特定の割込みがディアサートされるとき、自動的にクリアされる。
【００２７】
図２を参照すると、マルチスレッド・プロセッサ２００内でスレッド・イベントおよび割込みを処理するためのシーケンサ、論理および関連レジスタに関するさらなる詳細が示されている。マルチスレッド・プロセッサ２００は、シーケンサ２０２とスレッド・イベント処理論理２０４とを含む。シーケンサ２０２は、共有割込みコントローラ２０８とグローバル制御レジスタ２０６とを含む。グローバル制御レジスタ２０６は、割込み保留レジスタ２１０と、割込み自動的ディセーブル・レジスタ２１２と、モード制御レジスタ２１４とを含む。シーケンサ２０２は、マルチスレッド・プロセッサの各スレッドに対応するスレッド・イベント処理モジュールを含み得るスレッド・イベント処理モジュール２０４と通信する。それぞれのスレッド・イベント処理モジュール２０４は、割込みマスク・レジスタ２１６と、プロセス・イベント・レジスタ２１８と、複数の汎用レジスタ２２０（Ｒ０〜Ｒ３１）と、監視制御レジスタ２２２とを含む。
【００２８】
特定の実施形態では、グローバル割込みレジスタ２０６は、１つまたは複数の割込みを受け取るために、１つまたは複数の割込み発生源に応答する。１つまたは複数の割込み発生源は、プロセッサの特定の実行ユニットによって実行された命令であっであってもよいし、注意を要する周辺装置であっても、その任意の組合せであってもよい。グローバル割込みレジスタ２０６は、１つまたは複数の割込みを処理するためにマルチスレッド・プロセッサ２００の複数の使用可能なスレッドの各スレッドによってアクセス可能である。
【００２９】
一般に、割込み自動ディセーブル・レジスタ２１２は、特定の割込みへのアクセスを防ぐように設定されてよい複数のビットを含む。割込み自動ディセーブル・レジスタ２１２は、マルチスレッド・プロセッサ２００のスレッドが割込みの処理を開始するとき、特定の割込みに対応するビットフラグを自動的に設定することができる。割込み自動ディセーブル・レジスタ２１２のビットフラグは、グローバル割込みレジスタ２０６のビットに一致し得る。さらに、割込み自動ディセーブル・レジスタ２１２のビットフラグは、共有割込みコントローラ２０８によって、割込みの処理が完了するまでビットフラグの状態を維持するように制御されてよい。
【００３０】
共有割込みコントローラ２０８は、グローバル割込みレジスタ２０６に結合された割込み論理を含む。共有割込みコントローラ２０８の割込み論理は、複数の潜在的割込みのうちの１つの特定の割込みがマルチスレッド・プロセッサの特定のスレッドによって処理されていると決定するためのものである。共有割込みコントローラ２０８は、割込みが第１のスレッドによって処理されているという決定に基づいて、複数の使用可能なスレッドのうちの他のスレッドによる処理割込みへのアクセスを防止する。特定の例示的な実施形態では、共有割込みコントローラ２０８は、割込みが処理中になると特定の割込みへのアクセスを制限するために、割込み自動ディセーブル・レジスタ２１２のビットフラグを使用してよい。たとえば、特定のスレッドが特定の割込みの処理中になると、追加のスレッドが特定の割込みにアクセスすることを防ぎ、それによって割込み処理ブロッキング能力を提供することができる。
【００３１】
特定の例示的な実施形態では、割込み自動ディセーブル・レジスタ２１２は、処理される特定の割込みに関連する複数のビットのうちの選択されたビットを設定するために、共有割込みコントローラ２０８によってアクセス可能である。選択されたビットは、割込みが処理されていることを示し、共有割込みコントローラ２０８内の論理は、割込みが処理されている間、他のスレッドが割込みにアクセスするのを防止する。特定の代替実施形態では、選択されたビットが設定される場合、他のスレッドが選択された割込みにアクセスし、または処理することを防止するためのブロッキング論理が、割込み自動ディセーブル・レジスタ２１２内に設けられてもよいし、それに関連する別の位置に設けられてもよい。
【００３２】
共有割込みコントローラ２０８は、特定の割込みがディアサートされた後、割込み自動ディセーブル・レジスタ２１２内の選択されたビットをクリアする命令を受け取るように適応された論理を含んでよい。たとえば、割込みは、バッファが一杯な場合、アサートされ得る。たとえば、そのバッファが一杯な場合、ネットワークからデータを受け取る装置は、割込みを生じさせることができ、バッファが空になったとき、割込みをディアサートしてよい。たとえば、割込みが論理ハイ信号である場合、周辺装置は、割込みの論理レベルを論理ロー信号に変更し、それによって割込みをディアサートすることができる。共有割込みコントローラ２０８は、ディアサートされた割込みに応答して、実行ユニットからの処理完了表示に応答して、クリアビット命令の受信に応答して、またはその任意の組合せに応答して、選択されたビットをクリアすることができる。別の特定の例示的な実施形態では、実行ユニットは、割込みが処理されたとき、割込み保留レジスタ２１０内のビットを自動的にクリアすることができる。
【００３３】
割込み保留レジスタ２１０は、複数のビットをも含む。割込み保留レジスタ２１０の複数のビットの各ビットは、マルチスレッド・プロセッサ２００の特定の割込みのステータスを示す。割込み保留レジスタ２１０は、特定の割込みに関連するステータスを決定するための周辺装置またはソフトウェアからアクセス可能であってよい。さらに、共有割込みコントローラ２０８の割込み論理は、特定の割込みに対応する選択されたビットを設定またはクリアするために割込み保留レジスタ２１０へのアクセスを有する。特定の例示的な実施形態では、検出された割込みは、割込み保留レジスタ２１０内に格納されたフラグによって表されたソフトウェア割込みであってよい。割込み保留レジスタ２１０内の特定のフラグは、アサートされたソフトウェア割込みについてのステータス・インジケータをソフトウェアが提供することを可能にするために、ソフトウェアからアクセス可能であってよい。
【００３４】
たとえば、周辺装置に関連する「新しいハードウェア検出」タイプのステータス・インジケータが、マルチスレッド・プロセッサ２００によって実行されるソフトウェア・アプリケーション（コンピューティング装置のオペレーティング・システム・ソフトウェアなど）内のポップアップ・インジケータとして提供されてよい。マルチスレッド・プロセッサ２００は、新しいハードウェア検出の割込みを処理し、新しいハードウェア・インストールルーチンを実行し、インストールが成功するとフラグをクリアすることができる。インストール・プロセスおよびインストールの成功は、ソフトウェア・アプリケーションによってポップアップまたは他のインジケータ内に反映され得る割込み保留レジスタ２１０内のビットによって反映することができる。ステータスは、ソフトウェアによって、割込み保留レジスタ２１０内の特定のフラグのステータスに基づいて決定されてよい。
【００３５】
図３を参照すると、割込みコントローラ３００の割込みを処理するための特定の機能性が示されている。このシステムは、第１のセレクタ３０６と、第２のセレクタ３１６と、割込み出力３２２と、割込み保留レジスタ出力機構３３２とを含む。第１のセレクタ３０６は、制御入力３０８を介して割込みハイ／ローモード制御モジュール３０２から制御信号を受け取る多重化装置であってよい。第２のセレクタ３１６は、第２の制御入力３１８を介して割込みエッジ／レベルモード制御３０４から制御信号を受け取る多重化装置であってよい。第１のセレクタ３０６は、入ってくる割込み３１０に応答し、エッジ検出回路３１２およびレベル検出回路３１４に出力を供給する。エッジ検出回路およびレベル検出回路の３１２、３１４の出力は、第２のセレクタ３１６に提供され、割込みエッジ／レベルモード制御３０４からの第２の制御入力３１８に基づいて選択される。入ってくる割込み３１０に関連した、検出されたエッジまたはレベルは、論理積ゲートなど、論理回路３２０に供給される。出力は、割込み保留レジスタ出力３３２を介して割込み保留レジスタに供給することもできる。
【００３６】
割込みコントローラ３００は、割込み自動ディセーブル・レジスタ３２４と、割込みマスク（ＩＭＡＳＫ：interrupt mask）レジスタ３２６と、スレッド単位の割込みイネーブル・レジスタ３２８と、グローバル割込みレジスタ・イネーブル／ディセーブル・レジスタ３３０をも含む。自動ディセーブル・レジスタ３２４は、割込みがマルチスレッド・プロセッサのスレッドによって取られる（すなわち処理されている）場合に自動的に設定されるビットを含んでよい。ＩＭＡＳＫレジスタ３２６は、特定のハードウェアスレッドに特定の割込みを向けるためのソフトウェアによって設定可能なビットを含んでよい。論理回路３２０は、入ってくる割込み３１０の検出されたエッジまたはレベルを割込み出力３２２に選択的に供給するために、割込み自動ディセーブル・レジスタ３２４、ＩＭＡＳＫレジスタ３２６、スレッド単位割込みイネーブル・レジスタ３２８、およびグローバル割込みイネーブル／ディセーブル・レジスタ３３０に応答する。
【００３７】
特定の例示的な実施形態では、入ってくる割込み３１０は、多重化装置回路であってよい第１のセレクタ３０６で受け取られる。入ってくる割込み３１０は、図示されたように、正の入力と反転入力の両方で受け取られる。第１のセレクタ３０６は、制御信号３０８を介して割込みハイ／ローモード制御ユニット３０２によって、正の入力または反転入力をエッジ検出回路３１２およびレベル検出回路に選択的に供給するように制御される。割込み制御のハイ／ロー動作モードに従って、入ってくる割込み３１０の出力がエッジ検出回路３１２およびレベル検出回路３１４に供給されることになる。エッジ検出回路３１２およびレベル検出回路３１４からの出力は、第２のセレクタ３１６に供給される。第２のセレクタ３１６は、エッジ検出回路３１２またはレベル検出回路３１４のからの出力のうちの１つを論理回路３２０の入力に選択的に供給するために、制御信号３１８を介して割込みエッジ／レベルモード制御ユニット３０４からの制御入力に応答する。第２のセレクタ３１６の出力も割込み保留レジスタ出力３３２に供給される。割込み自動ディセーブル・レジスタ３２４、ＩＭＡＳＫレジスタ３２６、スレッド単位割込みイネーブル・レジスタ３２８、グローバル割込みレジスタ・イネーブル／ディセーブル・レジスタ３３０からの信号の組合せによって、割込み信号が出力３２２に供給されるかどうか決まる。
【００３８】
一般に、割込みハイ／ローモード制御回路３０２および割込みエッジ／レベルモード制御回路３０４は、第１および第２のセレクタ３０６、３１６を制御するために協力して、割込み制御回路３００の動作モードを制御する。一般に、割込み制御回路３００は、以下の４つのモードのうちの１つを使用して割込みを処理することができる：ローからハイへのエッジ遷移で割込みに応答する割込みハイエッジ検出モード；論理ハイ値で割込みに応答する割込み高レベル検出モード；ハイからローへのエッジ遷移で割込みに応答する割込みローエッジ検出モード；および論理ロー値で割込みに応答する割込み低レベル検出モード。割込み自動ディセーブル・レジスタ３２４は、割込みがマルチスレッド・プロセッサの別のスレッドによって処理されている場合、第２のセレクタ３１６の出力が割込み出力３２２に達するのを防止するために、論理ゲート３２０に論理ロー信号を提供するために設定され得るフラグビットを含んでよい。さらに、グローバル割込みレジスタ・イネーブル／ディセーブル３３０は、第２のセレクタ３１６の出力が割込み出力３２２に達するのを防止するために、論理ゲート３２０に別のスレッドが割込みを処理していることを示すビットフラグを提供することができる。したがって、グローバル割込みレジスタ３３０および割込み自動ディセーブル・レジスタ３２４は、マルチスレッド・プロセッサの複数のスレッドが同じ割込みを処理するのを防止するために協力することができる。さらに、割込み自動ディセーブル・レジスタ３２４は、グローバル割込みレジスタ３３０の対応するビットが設定されるとき、割込み自動ディセーブル・レジスタ３２４内のフラグをクリアするために、グローバル割込みレジスタ３３０内のフィールドまたはビットに応答し得る。あるいは、割込み自動ディセーブル・レジスタ３２４は、処理される割込みに他のスレッドがアクセスすることを防止するためにグローバル割込みレジスタ３３０の対応するビットが変化する場合でも、特定のレジスタが、それが処理している特定の割込みにアクセスし続けることを可能にするスレッド固有のビットを含んでよい。
【００３９】
特定の例示的な実施形態では、割込み出力３２２の信号は、割込み自動ディセーブル・レジスタ３２４、ＩＭＡＳＫレジスタ３２６、割込みイネーブル・レジスタ（スレッド単位）３２８およびグローバル割込みレジスタ（イネーブル／ディセーブル）３３０に関連して、第２のセレクタ３１６の出力で検出された割込みに対して論理ゲート３２０によって実施される論理演算によって決定され得る。たとえば、割込み自動ディセーブル・レジスタ３２４、ＩＭＡＳＫレジスタ３２６、割込みイネーブル・レジスタ３２８およびグローバル割込みレジスタ３３０内でビットを制御し、論理ゲート３２０を使用して論理積演算を実施することによって、割込み出力３２２は、特定の条件が満たされる場合に限り、入ってくる割込み３１０を割込み出力３２２で供給するように制御することができる。このように、特定のスレッドが割込みの処理を開始し始めると、割込みコントローラ３００は、他のスレッドが割込みを受け取るのを防止することができる。特定の例示的な実施形態では、割込みイネーブル・レジスタ３２８、ＩＭＡＳＫレジスタ３２６および割込み自動ディセーブル・レジスタ３２４は、スレッド単位制御レジスタであり得るが、グローバル割込みレジスタは共有されてよい。
【００４０】
特定の例示的な実施形態では、マルチスレッド・プロセッサは、複数命令スレッドを処理するための複数の実行ユニットを含んでよい。マルチスレッド・プロセッサは、周辺装置、命令実行ユニット、他の回路部品またはその任意の組合せから受け取られた割込みを処理するための割込みコントローラ３００を含んでよい。割込みコントローラ３００は、割込み論理レベル（すなわちハイ論理レベルまたはロー論理レベル）を示す割込みハイ／ローモード制御レジスタ３０２など、第１の構成レジスタを含んでよい。割込みコントローラ３００は、割込みトリガ（すなわちエッジトリガまたはレベルトリガ）を示す割込みエッジ／レベルモード制御レジスタ３０４など、第２の構成レジスタを含むこともできる。割込みコントローラ３００は、複数のビットの各ビットが特定の割込みに対応する複数のビットを含む自動ディセーブル割込みレジスタ３２４を含むこともできる。割込みコントローラ３００は、受け取られた割込み（たとえば入ってくる割込み３１０）を割込み論理レベル、割込みトリガ、および特定の割込みに対応するビットに基づいてマルチスレッド・プロセッサの第１のスレッドに選択的に供給するために、第１のセレクタ３０６、第２のセレクタ３１６、エッジ検出回路３１２、レベル検出回路３１４および論理ゲート３２０などの処理論理を含むこともできる。自動割込みコントローラ３００または割込み自動ディセーブル・レジスタ３２４は、特定の割込みが第１のスレッドによって処理されているとき、特定の割込みに対応するビットを設定するための論理を含むこともできる。論理ゲート３２０を含めて処理論理は、第１のスレッドが特定の割込みを処理している間、複数の実行スレッドの他のスレッドによるアクセスを防止するように協力することができる。
【００４１】
図４を参照すると、共有割込みコントローラを含むマルチスレッド・プロセッサを動作させる方法が示されている。この方法は、４０２に示されたように、複数のスレッドを有するマルチスレッド・プロセッサに関連するシーケンサ上で割込みを受け取ることを含む。シーケンサは、複数のスレッドからアクセス可能なグローバル割込みレジスタを含み、また割込み制御回路を含む。この方法はさらに、４０４で、グローバル割込みレジスタ内に、受け取られた割込みに関連するビットを設定することをさらに含む。４０６に進んで、この方法は、第１のスレッドが割込みを処理していると決定した後、複数のスレッドの第２のスレッドによる割込みへのアクセスを防止することを含む。特定の例示的な実施形態では、シーケンサは、グローバル割込みレジスタ内の選択されたビットの状態を維持するように適応された共有割込みコントローラを含んでよい。さらに、共有割込みコントローラは、第１のスレッドが既に割込みを処理している場合、マルチスレッドのプロセッサの他のスレッドが割込みを処理するのを防止するための論理演算で使用され得るビットフラグを割込み自動ディセーブル・レジスタ内に設定するように適応されてよい。４０８へと続いて、この方法は、割込み保留レジスタ内の第１のスレッドによって取られた割込みに関連する第２のビットを設定することをさらに含む。割込み保留レジスタは、特定の実行ユニット、ソフトウェア・アプロセス、またはその任意の組合せからアクセス可能であってよい。特定の実施形態では、ソフトウェア・アプロセスは、たとえば、割込み処理のステータスを決定し、ユーザに視覚インジケータを提供するために、割込み保留レジスタ内のビットにアクセスしてよい。この方法は、４１０で終了する。
【００４２】
４０６で第２のスレッドへのアクセス防止について言及されているが、共有割込みコントローラは、第１のスレッドが特定の割込みを処理している間、特定のスレッドまたは他のすべてのスレッドに対して特定の割込みへのアクセスを防止できることを理解されたい。さらに、ビットは、割込み保留レジスタ内で、第１のスレッドが割込みを処理していることを示すように設定される。割込み保留レジスタ内に設定されたビットは、グローバル割込みレジスタ内の割込みフラグに関連するフラグクリア命令が受け取られた後、クリアされてよい。自動ディセーブル・レジスタの対応するフラグもまた、フラグクリア命令が処理されるときクリアされてよい。割込み自動ディセーブル・レジスタは、対応するグローバル割込みレジスタ内に設定されたビットに基づいて割込みへのアクセスを防止するために使用できる。一般に、共有割込みコントローラおよびグローバル割込みレジスタは、マルチスレッド・プロセッサの複数のスレッドによる特定の割込みへのアクセスを制御するために使用できる。このように、第１のスレッドは、特定の割込みを処理することができ、次いで、他のスレッドは、特定の割込みにアクセスできなくなる。
【００４３】
図５を参照すると、無線通信装置５００が示されている。無線通信装置５００は、アンテナ５４２を介して通信ネットワークと通信するために、無線制御装置５４０、および関連するトランシーバを含む。無線通信装置５００は、ディジタル信号プロセッサ５１０などのプロセッサによって実行可能な複数の命令を含むメモリ５３２をも含む。プロセッサは、トランシーバに結合され、メモリ５３２へのアクセスを有する。プロセッサは、選択された命令を実行するように適応された複数の実行ユニットを含む。特定の実施形態では、プロセッサ５１０は、シーケンサ５１１を含むマルチスレッド・プロセッサである。シーケンサは、グローバル割込みレジスタ５１３を含み、また割込み論理回路５１５を含む。シーケンサ５１１は、選択された命令を取り出し、ディジタル信号プロセッサ５１０の複数の実行ユニットに提供するように適応される。割込み論理回路５１５は、グローバル割込みレジスタ５１３に結合され、ディジタル信号プロセッサ５１０の特定のスレッドがいつ割込みを処理するか決定するように適応される。割込み論理回路５１５は、他のスレッドによる割込みへのアクセスを防止するためにグローバル割込みレジスタ５１３を使用するように適応される。別の実施形態では、グローバル割込みレジスタ５１３は、割込み自動ディセーブル・レジスタ（ＩＡＤ：interrupt automatic disable register）を含む。ＩＡＤレジスタは、対応する複数の割込みに関連する複数のビットを含むことができる。割込み論理回路５１５は、スレッドが、それに関連する対応する割込みを処理しているとき、ＩＡＤレジスタ内の複数のビットのうちの１つのビットにアクセスするように適応される。
【００４４】
図５は、ディジタル信号プロセッサ５１０および表示装置５２８に結合された表示コントローラ５２６をも示している。さらに、入力装置５３０は、ディジタル信号プロセッサ５１０に結合される。コーダ／デコーダ（ＣＯＤＥＣ）５３４もまた、ディジタル信号プロセッサ５１０に結合されてよい。スピーカ５３６およびマイクロホン５３８は、ＣＯＤＥＣ  ５３４に結合されてよい。
【００４５】
図５は、無線コントローラ５４０がディジタル信号プロセッサ５１０および無線アンテナ５４２に結合され得ることをも示している。特定の実施形態では、電源５４４は、オンチップシステム５２２に結合される。さらに、特定の実施形態では、図５に示されたように、表示装置５２８、入力装置５３０、スピーカ５３６、マイクロホン５３８、無線アンテナ５４２および電源５４４は、オンチップシステム５２２の外部にある。しかし、それぞれが、オンチップ・システム５２２のコンポーネントに結合されている。
【００４６】
シーケンサ５１１、グローバル割込みレジスタ５１３および割込み論理回路５１５は、ディジタル信号プロセッサ５１０内にしか示されていないが、シーケンサ５１１、グローバル割込みレジスタ５１３および割込み論理回路５１５は、制御要素、汎用処理回路、またはマルチスレッド・プロセッサ機能性を含む他の任意のコンポーネントを含めて、他のコンポーネント内に設けられもよいことを理解されたい。
【００４７】
本明細書に開示された諸実施形態に関連して述べられた様々な例示的な論理ブロック、構成、モジュール、回路およびアルゴリズム・ステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装されてよいことが当業者にはさらに理解されよう。ハードウェアとソフトウェアのこの交換可能性について明確に示すために、様々な例示的なコンポーネント、ブロック、構成、モジュール、回路およびステップについて、その機能性に関して上記に一般的に述べられている。こうした機能性がハードウェアとして実装されるか、それともソフトウェアとして実装されるかは、システム全体に課された特定の応用例および設計上の制約に依存する。当業者は特定の各応用例について様々なやり方で、述べられた機能性を実施することができるが、こうした実装の決定は、本開示の範囲からの逸脱をもたらすものと解釈すべきではない。
【００４８】
本明細書に開示された諸実施形態に関して述べられた方法またはアルゴリズムの諸ステップは、ハードウェア、プロセッサによって実行されるソフトウェア・モジュール、またはその２つの組合せで直接に実施することができる。ソフトウェア・モジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＰＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取外し可能ディスク、ＣＤ−ＲＯＭ、あるいは当技術分野において知られている他の任意の形の記憶媒体に常駐してよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そこに情報を書き込むことができるようにプロセッサに結合される。別法では、記憶媒体は、プロセッサと一体化されてよい。プロセッサおよび記憶媒体は、ＡＳＩＣに常駐してよい。ＡＳＩＣは、コンピューティング装置に常駐することも、ユーザ端末に常駐することもある。別法では、プロセッサおよび記憶媒体は、コンピューティング装置またはユーザ端末内の個別部品として常駐してもよい。
【００４９】
開示された実施形態の上記説明は、当業者が本開示を作成しまたは使用できるようにするために提供されている。これらの実施形態への様々な修正が当業者には容易に明らかになり、本明細書で定義された一般的な原理は、本開示の精神または範囲から逸脱せずに他の実施形態に適用することができる。したがって、本開示は、本明細書に示された諸実施形態に限定されるものでないが、添付の特許請求の範囲に定義された原理および新規な特徴に一致する最も広い範囲が与えられるものである。
【図１】
2011507109.tif 000003
【図２】
2011507109.tif 000004
【図３】
2011507109.tif 000005
【図４】
2011507109.tif 000006
【図５】
2011507109.tif 000007
【国際調査報告】
2011507109.tif 000008
2011507109.tif 000009