JP3844465B2 - イベント・ベクトル・テーブルのオーバーライド - Google Patents
イベント・ベクトル・テーブルのオーバーライド Download PDFInfo
- Publication number
- JP3844465B2 JP3844465B2 JP2002531001A JP2002531001A JP3844465B2 JP 3844465 B2 JP3844465 B2 JP 3844465B2 JP 2002531001 A JP2002531001 A JP 2002531001A JP 2002531001 A JP2002531001 A JP 2002531001A JP 3844465 B2 JP3844465 B2 JP 3844465B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- address
- processor
- override
- numbers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明はパイプライン方式のプロセッサに関し、さらに詳しくは、パイプライン方式のプロセッサ内における多重に定義された割込みに関する。
【0002】
【発明の背景】
デジタル信号処理は、デジタル形式の信号表現および数値演算を用いたかかる信号表現の変換または処理と関連する。デジタル信号処理は、ワイヤレス通信、ネットワーキング、マルチメディア等の分野における今日の多くの先端技術製品に広く用いられる技術である。デジタル信号処理技術が普及した理由の1つは、低価格でパワフルなデジタル信号プロセッサ(DSP)が開発され、これが、これらの製品を安く効率的に生産するための信頼できる演算能力を提供したことである。最初のDSPが開発されて以来、DSPのアーキテクチャや設計は、ビデオ伝送順序のような複雑なリアルタイム処理でさえ行なうことができる段階にまで発展した。
【0003】
DSPは、デジタル・ビデオ、イメージング、オーディオのような様々なマルチメディア・アプリケーションにしばしば用いられる。DSPは、かかるマルチメディア・ファイルを作成して開くためのデジタル信号を操作する。
【0004】
MPEG−1(Motion Picture Expert Group)、MPEG−2、MPEG−4およびH.263は、デジタル・ビデオ圧縮標準規格およびファイル形式である。これらの標準規格は、個々のフレーム全体を格納する代わりに、主としてあるビデオ・フレームから他のフレームへの変化を格納することにより、デジタル・ビデオ信号の高い圧縮率を達成する。ビデオ情報は、多くの異なる技術を用いて、さらに圧縮することができる。
【0005】
DSPは、圧縮している間に、ビデオ情報に対して様々な動作を実行するために用いられる。これらの動作は、動き探索および空間補間アルゴリズムを含む。第1の目的は、隣接したフレーム内のブロック間の歪みを測定することである。これらの動作は演算が集中的であるので、高度なデータ処理能力が要求される。
【0006】
標準規格のMPEGファミリーは、マルチメディア・アプリケーションおよびファイルの帯域幅を拡大する要求と歩調を合わせて発展している。標準規格の各新バージョンは、MPEG準拠のビデオ処理デバイス内で使用されるDSPにさらに大きな処理要求を出すより複雑なアルゴリズムを提供する。
【0007】
ビデオ処理デバイスの製造者は、MPEGおよびH.263標準規格に従ってビデオ符号化のためにカスタマイズされた特定用途向け集積回路(ASIC)に依存することが多い。しかしながら、ASICは設計が複雑で、生産コストが高く、それらのアプリケーションにおいて汎用DSPよりも柔軟性がない。
【0008】
【実施例の詳細な説明】
本発明のこれらおよび他の特徴および利点は、次の詳細な記述を読み、かつ、添付図面を参照することによって、さらに明らかになるだろう。
【0009】
図1は、発明の実施例に従った、プロセッサを含むモバイル・ビデオデバイス100を示す。モバイル・ビデオデバイス100は、アンテナ105から、あるいは、デジタル・ビデオ・ディスク(DVD)やメモリ・カードのようなデジタル・ビデオ記憶媒体120から受信した、符号化されたビデオ信号により生成されたビデオ画像を表示する携帯デバイスである。プロセッサ110は、プロセッサの動作のために命令およびデータを格納するキャッシュ・メモリ115と通信する。プロセッサ110は、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、スレーブDSPを制御するマイクロプロセッサ、またはハイブリッド・マイクロプロセッサ/DSPアーキテクチャを備えたプロセッサでもよい。本アプリケーションにおいては、プロセッサ110は、以下DSP110と呼ぶ。
【0010】
DSP110は、符号化されたビデオ信号によって、例えば、アナログ対デジタル変換、復調、フィルタリング、データ回復、符号解読等を含む様々な動作を行なう。DSP110は、標準規格のMPEGファミリーおよびH.263標準規格のような種々のデジタル・ビデオ圧縮標準規格の1つによって圧縮したデジタル・ビデオ信号を解読する。そして、解読されたビデオ信号は、ディスプレイ125上にビデオ画像を生成するために、ディスプレイ・ドライバ130に入力される。
【0011】
携帯デバイスは、一般的に電源による制約を受ける。さらに、ビデオ解読動作は演算が集中的である。従って、そのようなデバイス内で使用されるプロセッサとしては、比較的高速で低電力のデバイスが好都合である。
【0012】
DSP110は、巧妙なパイプライン方式のロード/格納アーキテクチャを有する。パイプライン方式を用いることによって、DSPの性能は、パイプライン方式でないDSPに比べて増強される。第1命令を取り出して第1命令を実行し、次に第2命令を取り出す代わりに、パイプライン方式のDSP110では、第1命令の実行と同時に第2の命令を取り出すので、これによって命令処理能力が改善する。さらに、パイプライン方式のDSPのクロック・サイクルは、パイプライン方式でないDSPより短く、そこで命令が同じクロック・サイクル内で取り出されて実行される。
【0013】
このようなDSP110は、ビデオ・カムコーダ、電話会議、PCビデオ・カード、および高品位テレビ(HDTV)に使用することができる。さらに、DSP110は、モバイル電話方式、音声認識、および他のアプリケーション内で使用される音声処理のようなデジタル信号処理を利用する他の技術と関連して使用できる。
【0014】
図2は、1つの実施例に従って、DSP110を含む信号処理システム200のブロック図を示す。1またはそれ以上のアナログ信号が、例えばアンテナ105のような外部ソースによって、シグナル・コンディショナ202に提供される。シグナル・コンディショナ202は、アナログ信号によって一定の前処理機能を実行する。典型的な前処理機能は、いくつかのアナログ信号を共に混合し、濾波し、増幅するなどの段階を含む。アナログ−デジタル変換器(ADC)204は、上記のように、シグナル・コンディショナ202から前処理されたアナログ信号を受信し、かつ、前処理されたアナログ信号をサンプルから構成されるデジタル信号に変換するために結合される。サンプルは、シグナル・コンディショナ202によって受信されたアナログ信号の性質によって決定されるサンプリング率によって得られる。DSP110は、ADC204の出力でデジタル信号を受信するために結合される。DSP110は、受信デジタル信号によって望ましい信号変換を実行し、1またはそれ以上の出力デジタル信号を生成する。デジタル−アナログ変換器(DAC)206は、DSP110から出力デジタル信号を受信するために結合される。DAC206は、出力デジタル信号を出力アナログ信号に変換する。そして、出力アナログ信号は、他のシグナル・コンディショナ208に伝達される。シグナル・コンディショナ208は、出力アナログ信号によって後処理機能を実行する。典型的な後処理機能は、上記の前処理機能に類似する。これらのデバイスの適切なアレンジメントであれば、どのようなものでもDSP110を用いた信号処理システム200への結合が可能である。
【0015】
図3には、別の実施例に従った信号処理システム300が示される。本実施例において、デジタル受信機302は、1またはそれ以上のデジタル信号を受信し、かつ、DSP110に受信デジタル信号を伝達するために配置される。図2に示される実施例のように、DSP110は、受信デジタル信号によって望ましい信号変換を実行し、1またはそれ以上の出力デジタル信号を生成する。
デジタル信号送信機304は、出力デジタル信号を受信するために結合される。1つの典型的なアプリケーションにおいて、信号処理システム300はデジタル・オーディオデバイスであり、そこでデジタル受信機302が、DSP110へ、デジタル記憶デバイス120上に格納されたデータを示すデジタル信号を伝える。次に、DSP110は、デジタル信号を処理し、結果としての出力デジタル信号をデジタル送信機304に伝達する。そして、デジタル送信機304は、出力デジタル信号の値を、ディスプレイ125上にビデオ画像を生成するディスプレイドライバ130に送信する。
【0016】
図4に図示されたパイプラインは8つのステージを含み、それは、命令取り出し402−403、デコード404、アドレス演算405、実行406−408、および書き戻し409のステージを含む。命令iがあるクロック・サイクルで取り出され、そして、例えばi+1、i+2のような新たな命令を取り出すと同時に、次のクロック・サイクルでパイプライン上で動作され、実行される。
【0017】
パイプライン方式は、プロセッサの性能に、追加の協調問題やハザードをもたらすことがある。プログラムの流れにおけるジャンプは、パイプライン内に空スロットまたは「バブル」を生成する。条件付き分岐を生じたり、例外や中断を発生する状況は、命令の連続的な流れを変更する。それらが発生した後は、新しい命令は、連続的なプログラム流れの外で取り出され、パイプライン内の残りの命令を無関係にする。データ・フォワーディング、分岐予測、パイプライン内の命令アドレスと有効なビットを関連付けるといった方法が、これらの複雑さに対処するために用いられることがある。
【0018】
図5は、DSP110を制御するシステム・コントローラ502、およびDSP110と通信する多くの他のデバイス505−520を含むシステム500を図示する。デバイス505−520は、例えば、マイクロプロセッサまたは周辺コンポーネント相互接続(PCI)コントローラを含んでもよい。
【0019】
DSP110内のプログラムの流れは、あるイベントによって中断されることがある。これらのイベントは、システム内のデバイス505−520によって開始される割込みを含み、DSP110によるサービスを要求する。これらのイベントはまた、エミュレーションおよびリセットのような、システムによって利用される割込みに類似したイベントを含むことがある。システムがイベントに拘わったとき、パイプライン内の命令が消去されることがあり、イベント・サービス・ルーチンのための1セットの命令が、そのイベントがパイプラインへ取り込まれて導入されるために割り当てられる。
【0020】
これらのイベントは、異なる優先順位を有することがある。実施例によれば、エミュレーションはリセットよりも高い優先順位を有してもよく、また、リセットは、デバイス505−520によって生じる割込みよも高い優先順位を有してもよい。その割込みは、固定されることがあるエミュレーションおよびリセットのイベントとは異なり、システム500内で異なるデバイス505−520に割り当てられる汎用割込み(GPI)を含む。GPIは、DSP110を利用するシステムの設計において柔軟性を提供する。GPIはまた、異なる優先順位を有することがあり、それによって、システム500内であるデバイスに他のデバイスに勝る優先順位を与える。
【0021】
図6は、同一のGPIが2またはそれ以上のデバイスに割り当てられるシステム500内で割込みを処理する実施例による回路600を図示する。DSP110は、異なる優先順位を有する16個のイベントを認識できる。所定のサイクル内で生じるイベントは、ラッチ602からの16ビットのイベント・ワード出力によって識別される。イベントのタイプは、16ビットのワード中の特定のビットによって表示される。例えば、2番目に高い優先順位を有するイベント1は、イベント・ワード中のビット1で表示される。実施例によれば、イベント1は、リセットに割り当てられる。GPIのためにリザーブされるイベント7から15は、イベント・ワード中のビット7から15でそれぞれ表示される。
【0022】
イベント・ワードは、マスキングおよびプライオリティ検出(MPD)回路604へ入力される。MDP回路604は、システム・パラメータに基づいて特定の割込みのマスクを外し、同一サイクル内で生じる異なるイベント間の優先順位を解決する。MPD回路604は、ラッチ606、イベント・ベクトル・テーブル(EVT)610に接続されたマルチプレクサ(MUX)608、およびANDゲート612へ、マスクのない優先イベントを識別する新しい16ビットのイベント・ワードを出力する。
【0023】
EVT610は、イベント2から15へのエントリを含む。それらのエントリは、特定のイベント番号に対応する、イベント・サービス・ルーチン内の第1命令のアドレスを含む。
【0024】
イベント2から15へのエントリのアドレスは、EVT610に書き込まれる。DSP110に電源が入れられたとき、EVT610内のアドレスが変更されることがあり、その結果信頼性が低下する。DSP110に電源が入れられるたびに、リセットが実行される。リセット・サービス・ルーチンのためのアドレスが正確であることを保証するために、リセット・サービス・ルーチン内の第1命令のためのアドレスは、EVT610内に格納されない。より正確に言うと、アドレスは、DSP110内の32のリセット・ベクトル・ピン614を介して提供される。リセット・サービス・ルーチンは、EVTへのイベント・サービス・ルーチン・アドレスの書き込みを含むことがある。
【0025】
上述のように、イベント7から15は、GPIに割り振られる。DSP110資源に対して競合する9つのデバイスを備えたシステムでは、デバイスが異なるGPIを割り当てられる。しかしながら、9つを越えるデバイスを備えたシステム500では、いくつかのGPIが1つを越えるデバイスに割り当てられることがある。これらのGPIは、多重に定義されていること(overload)が考慮される。
【0026】
実施例によれば、多重に定義されたGPIへのEVTエントリが書き換えられる(override)。GPIのためにEVTエントリ内のアドレスを使用するのではなく、特定のデバイスに割り当てるイベント・サービス・ルーチンのためのアドレスが、システム・コントローラ502によってリセット・ベクトル・ピンに提供される。
【0027】
例えば、6つのデバイス505−510がイベント13に割り当てられることがある。これらのデバイスは、異なるイベント・サービス・ルーチンを要求する。この例では、エントリ13でEVTに格納されたアドレスは、デバイス505−510の少なくとも5つのに対しては適当でない。ある実施例によれば、デバイス505−510のうちの1つが割込みを要求するとき、EVT610は書き換えられ、適切なアドレスが、リセット・ベクトル・ピン614でシステム・コントローラ502によって提供される。
【0028】
これらのデバイス505−510の1つ以上、例えば505,506が、サイクル内で割込みを要求する場合、デバイス・プライオリティ・ハンドラ504が2つのデバイス505,506間の優先順位を解決し、システム・コントローラ502へ結果を送信する。そして、システム・コントローラ502は、リセット・ベクトル・ピン614で優先順位を獲得するデバイスに対応するアドレスを提供する。
【0029】
多重に定義されたGPIは、EVTオーバーライド・レジスタ616内のn−ビット・オーバーライド・ワードによって識別されることがある。nの値はGPIの数に対応する。n−ビット・ワードのビットは、特定のイベント番号に対応する。多重に定義されたGPIに対応するビットはHIGHにセットされ、他のビットはLOWにセットされる。
【0030】
EVT610およびEVTオーバーライド・レジスタ616の双方は、メモリ・マップ・レジスタ(MMR)であってもよい。MMRにおいて、所定のアドレスへの格納動作は、メモリ・ロケーションではなくMMR内のレジスタへ直接マップされる。
【0031】
図7は、ある実施例に従って、EVTエントリを書き換えるためのオペレーション700について説明するフローチャートである。以下の記述は、単に、オペレーション700を実行するための1つの実施例である。他の実施例では、状態が異なる順序でスキップされたり、実行されたりすることがある。オペレーションは図6の回路600を用いて説明されるが、オペレーション700は、他の実施例に従った回路を用いて実行することもできる。
【0032】
ラッチ606からのn−ビット・イベント・ワードの出力は、状態702の所定のサイクル内におけるイベントの発生を識別する。MPD回路604は、状態704の一定のイベントのマスクを外し、状態706内の複数のイベント間の優先順位を解決する。MPD回路604は、新しい直交イベント・ワード、すなわち、そのビットの1つをHIGHにセットする、あるいは、いずれのビットもHIGHにセットしないワード、をEVTMUX608に出力する。EVT MUX608は、新しい直交イベント・ワードによって識別されたプライオリティ・イベントに対応する、イベント・ベクトル・テーブル610内のエントリを選択する。新しい直交イベント・ワードはまた、ANDゲート612へ入力される。ANDゲート612は、MPD回路604からの新しい直交イベント・ワードのビット−ワイズ・プロダクトからn−ビット・ワードを、および、状態708内のEVTオーバーライド・レジスタ616からn−ビット・オーバーライド・ワードを生成する。そのビットに対応するイベント番号がそのサイクル内で発生し、イベント番号が多重に定義されたGPIに対応する場合は、ANDゲート614からのn−ビット・ワード出力は、ビット・ロケーション内でHIGH値を有する。ORゲート618は、ワード内で16ビットから1ビットの合計を生成し、状態710内でシングル・ビットを出力する。出力ビットは、EVTエントリが書き換えられるべきかどうかを示す。このビットは、MUX620へ入力される。ORゲート618からのビット出力がLOW値である場合、状態712内のEVTMUX608で32ビットをアドレスに選択する。ビットがHIGH値である場合、MUX620は、状態714内のリセット・ベクトル・ピン614で、システム・コントローラ502によって供給された32ビットの命令アドレスを選択する。選択されたアドレスは、ラッチ622に格納される。このアドレスは、状態716内の適切なイベント・サービス・ルーチンのための命令を取り出すために使用されてもよい。
【0033】
本発明の多くの実施例が述べられた。しかしながら、様々な修正が、発明の精神および範囲から逸脱することなく行われることが理解されるであろう。例えば、イベントおよびオーバーライド・ワードおよび命令アドレスの幅は、上述されたものに限定されない。従って、他の実施例も本発明の請求項の範囲内である。
【図面の簡単な説明】
【図1】 実施例に従った、プロセッサを利用するモバイル・ビデオ・デバイスのブロック図である。
【図2】 実施例に従った信号処理システムのブロック図である。
【図3】 実施例に従った他の信号処理システムのブロック図である。
【図4】 実施例に従った、図1中のプロセッサの典型的なパイプライン・ステージを図示する。
【図5】 実施例に従った、図1中のプロセッサを含むシステムのブロック図である。
【図6】 実施例に従った、イベント・ベクトル・テーブルをオーバーライドするための回路のブロック図である。
【図7】 実施例に従った、イベント・ベクトル・テーブルをオーバーライドするためのオペレーションについて説明するフローチャートである。
Claims (27)
- 複数のピンを有するプロセッサにおいてイベント・ベクトル・テーブル内のイベント・エントリを書き換える方法であって、
イベントの発生を識別する段階と、
前記イベントに対応するイベント番号を前記イベント・ベクトル・テーブル内の1またはそれ以上の多重に定義されたイベント番号と比較する段階であって、前記多重に定義されたイベント番号のそれぞれは2以上のイベントと関連している、段階と、
前記1またはそれ以上の多重に定義されたイベント番号の少なくとも1つの番号と一致しない前記イベント番号に応答して、前記イベント・ベクトル・テーブルから前記イベント番号に対応するイベント・エントリの第1アドレスを選択する段階と、
前記1またはそれ以上の多重に定義されたイベント番号の少なくとも1つの番号と一致する前記イベント番号に応答して、前記プロセッサの複数のピンから第2アドレスを選択することにより前記イベント・ベクトル・テーブル内のイベント番号に対応する前記イベント・エントリを書き換える段階と、
から成ることを特徴とする方法。 - 前記第1アドレスを選択する段階に応答して、前記第1アドレスでイベント・サービス・ルーチンのための第1命令を取り出す段階と、
前記第2アドレスを選択する段階に応答して、前記第2アドレスでイベント・サービス・ルーチンのための第1命令を取り出す段階と、
をさらに含むことを特徴とする請求項1記載の方法。 - 前記複数のピンがリセット・ベクトル・ピンを含むことを特徴とする請求項1記載の方法。
- 前記イベント・ベクトル・テーブルが、16個のイベント・エントリを含むことを特徴とする請求項1記載の方法。
- 前記1またはそれ以上の多重に定義されたイベント番号が、1またはそれ以上の汎用割込みに対応することを特徴とする請求項1記載の方法。
- 複数のピンを有するプロセッサ中のイベント・ベクトル・テーブル内のイベント・エントリを書き換えるための命令を格納するプロセッサ読み取り可能な媒体であって、前記命令によって前記プロセッサは、
イベントの発生を識別し、
前記イベントに対応するイベント番号を前記イベント・ベクトル・テーブル内の1またはそれ以上の多重に定義されたイベント番号と比較し、前記多重に定義されたイベント番号のそれぞれは2以上のイベントと関連しており、
前記1またはそれ以上の多重に定義されたイベント番号の少なくとも1つの番号と一致しない前記イベント番号に応答して、前記イベント・ベクトル・テーブルから前記イベント番号に対応するイベント・エントリの第1アドレスを選択し、
前記1またはそれ以上の多重に定義されたイベント番号の少なくとも1つの番号と一致する前記イベント番号に応答して、複数のピンから第2アドレスを選択することにより前記イベント・ベクトル・テーブルの前記イベント番号に対応する前記イベント・エントリを書き換える、
ことを特徴とするプロセッサ読み取り可能な媒体。 - 前記命令によって前記プロセッサは、
前記第1アドレスを選択することに応答して、イベント・サービス・ルーチンのための第1命令を前記第1アドレスで取り込み、
前記第2アドレスを選択することに応答して、イベント・サービス・ルーチンのための第1命令を前記第2アドレスで取り込む、
ことをさらに含むことを特徴とする請求項6記載の媒体。 - 前記複数のピンが、リセット・ベクトル・ピンを含むことを特徴とする請求項6記載の媒体。
- 前記イベント・ベクトル・テーブルが、16個のイベント・エントリを含むことを特徴とする請求項6記載の媒体。
- 前記1またはそれ以上の多重に定義されたイベント番号が、1またはそれ以上の汎用割込みに対応することを特徴とする請求項6記載の媒体。
- 複数のエントリを含むイベント・ベクトル・テーブルであって、各エントリが特定のイベント番号に対応する、イベント・サービス・ルーチン命令のためのアドレスを含む、イベント・ベクトル・テーブルと、
アドレスを受信するために適合された複数のピンと、
少なくとも1つの多重に定義されたイベント番号と一致する入力イベント番号に応答して、オーバーライド信号を出力するためのオーバーライド回路であって、前記多重に定義されたイベント番号は複数のイベントに関連している、オーバーライド回路と、
前記オーバーライド回路、前記イベント・ベクトル・テーブル、および、前記複数のピンに接続された選択回路であって、前記選択回路は前記オーバーライド信号に応答して前記複数のピンでのアドレスを選択するために動作する、選択回路と、
から構成されることを特徴とするプロセッサ。 - 前記複数のピンで前記アドレスが、多重に定義されたイベント番号を有するイベントに対応する、イベント・サービス・ルーチン内の第1命令のためのアドレスを含むことを特徴とする請求項11記載のプロセッサ。
- 前記少なくとも1つの多重に定義されたイベント番号を格納するためのオーバーライド・レジスタをさらに含むことを特徴とする請求項11記載のプロセッサ。
- 前記選択回路は、マルチプレクサを含むことを特徴とする請求項11記載のプロセッサ。
- 前記多重に定義されたイベント番号が、汎用割込みに対応することを特徴とする請求項12記載のプロセッサ。
- 前記オーバーライド・レジスタが複数の多重に定義されたイベント番号を格納するために適合され、前記オーバーライド回路が、前記入力イベント番号を前記複数の多重に定義されたイベント番号の各々と比較するために適合されることを特徴とする請求項13記載のプロセッサ。
- 前記オーバーライド・レジスタは、少なくとも1つの前記多重に定義されたイベント番号を識別する第1のnビット・ワードを出力するために適合され、前記オーバーライド回路は、
前記第1のnビット・ワードおよびnビット・イベント・ワードのビット−ワイズ・プロダクトからの第2のnビット・ワードを生成するANDゲートと、
前記第2のnビット・オーバーライド・ワード内のビットの合計からオーバーライド信号を生成するORゲートと、
を含むことを特徴とする請求項13記載のプロセッサ。 - 前記複数ピンが、複数のリセット・ベクトル・ピンを含むことを特徴とする請求項11記載のプロセッサ。
- 前記オーバーライド・レジスタが、メモリ・マップ・レジスタを含むことを特徴とする請求項13記載のプロセッサ。
- システム・コントローラと、
前記システム・コントローラに接続された複数の装置と、
前記システム・コントローラに接続されたプロセッサと、
から構成され、前記プロセッサが、
複数のエントリを含むイベント・ベクトル・テーブルであって、各エントリが、特定のイベント番号に対応する、イベント・サービス・ルーチン命令のためのアドレスを含むイベント・ベクトル・テーブルと、
前記システム・コントローラからアドレスを受信するために適合された複数のピンと、
少なくとも1つの多重に定義されたイベント番号と一致する入力イベント番号に応答してオーバーライド信号を出力するためのオーバーライド回路であって、前記多重に定義されたイベント番号は複数のイベントに関連している、オーバーライド回路と、
前記オーバーライド回路、前記イベント・ベクトル・テーブル、および、前記複数のピンに接続された選択回路であって、前記選択回路は前記オーバーライド信号に応答して前記複数のピンでのアドレスを選択するために動作する、選択回路と、
を含むことを特徴とするシステム。 - システム・コントローラに接続されたデバイス・プライオリティ・ハンドラをさらに含み、前記デバイス・プライオリティ・ハンドラが、同一のイベント番号を有する複数のデバイス間の優先順位を解決するために適合されることを特徴とする請求項20記載のシステム。
- 少なくとも1つの多重に定義されたイベント番号を格納するためのオーバーライド・レジスタをさらに含むことを特徴とする請求項20記載のシステム。
- 前記複数のピンで前記システム・コントローラからの前記アドレスが、多重に定義されたイベント番号を有するイベントに対応する、イベント・サービス・ルーチンのための第1アドレスを含むことを特徴とする請求項20記載のシステム。
- スタティック・ランダム・アクセス・メモリと、
前記スタティック・ランダム・アクセス・メモリに結合したプロセッサであって、前記プロセッサは、
複数のイベント・エントリを含むイベント・ベクトル・テーブルであって、各エントリはイベントに関連すると共にアドレスを含む、イベント・ベクトル・テーブルと、
複数のピンと、
少なくとも1つの多重に定義されたイベント番号に一致する入力イベント番号に応答するオーバーライド信号を出力するイベント・ベクトル・テーブル・オーバーライド回路であって、前記多重に定義されたイベント番号は複数のイベントに関連する、イベント・ベクトル・テーブル・オーバーライド回路と、
前記オーバーライド回路、前記イベント・ベクトル・テーブル、および、前記複数のピンに接続された選択回路であって、前記選択回路は前記オーバーライド信号に応答して前記複数のピンでのアドレスを選択するために動作する、選択回路と、を含む、プロセッサと、
から構成されることを特徴とするシステム。 - イベントの発生を識別する段階と、
前記イベントに対応するイベント番号を1またはそれ以上の多重に定義されたイベント番号と比較する段階であって、前記多重に定義されたイベント番号のそれぞれは2以上のイベントと関連している、段階と、
前記1またはそれ以上の多重に定義されたイベント番号の少なくとも1つの番号と一致しない前記イベント番号に応答して、イベント・ベクトル・テーブルから前記イベント番号に対応するイベント・エントリの第1アドレスを選択する段階と、
前記1またはそれ以上の多重に定義されたイベント番号の少なくとも1つの番号と一致する前記イベント番号に応答して、コントローラによって供給された第2アドレスを選択する段階と、
から成ることを特徴とする方法。 - 多重に定義されたイベント番号を有するイベントに対応してイベント・サービス・ルーチンに第1命令のためのアドレスを供給するために動作するコントローラであって、前記多重に定義されたイベント番号は複数のイベントに関連している、コントローラと、
前記コントローラに接続されたプロセッサであって、前記プロセッサは、
複数のエントリを含むイベント・ベクトル・テーブルであって、各エントリは特定のイベント番号に対応するイベント・サービス・ルーチン命令のためのアドレスを含む、イベント・ベクトル・テーブルと、
前記多重に定義されたイベント番号に一致する入力イベント番号に応答して、オーバーライド信号を出力するオーバーライド回路と、
前記オーバーライド回路に接続された選択回路であって、前記選択回路は前記オーバーライド信号に応答して前記コントローラによって供給されたアドレスを選択するために動作する、選択回路と、
を含むことを特徴とする装置。 - 前記選択回路は、前記オーバーライド信号を受信しないことに応答して、前記イベント・ベクトル・テーブルにおけるエントリ中のアドレスを選択するために動作することを特徴とする請求項26記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/672,289 US6760800B1 (en) | 2000-09-28 | 2000-09-28 | Event vector table override |
PCT/US2001/030242 WO2002027490A2 (en) | 2000-09-28 | 2001-09-25 | Event vector table override |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004521408A JP2004521408A (ja) | 2004-07-15 |
JP3844465B2 true JP3844465B2 (ja) | 2006-11-15 |
Family
ID=24697928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002531001A Expired - Fee Related JP3844465B2 (ja) | 2000-09-28 | 2001-09-25 | イベント・ベクトル・テーブルのオーバーライド |
Country Status (6)
Country | Link |
---|---|
US (1) | US6760800B1 (ja) |
JP (1) | JP3844465B2 (ja) |
KR (1) | KR100509006B1 (ja) |
CN (1) | CN1308827C (ja) |
TW (1) | TW565781B (ja) |
WO (1) | WO2002027490A2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043582B2 (en) * | 2002-09-06 | 2006-05-09 | Intel Corporation | Self-nesting interrupts |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943507A (en) * | 1994-12-22 | 1999-08-24 | Texas Instruments Incorporated | Interrupt routing circuits, systems and methods |
US6148321A (en) * | 1995-05-05 | 2000-11-14 | Intel Corporation | Processor event recognition |
US5805929A (en) | 1996-01-29 | 1998-09-08 | International Business Machines Corporation | Multiple independent I/O functions on a PCMCIA card share a single interrupt request signal using an AND gate for triggering a delayed RESET signal |
EP0992902A3 (en) | 1998-10-06 | 2003-10-22 | Texas Instruments Inc. | Dual interrupt vector mapping |
-
2000
- 2000-09-28 US US09/672,289 patent/US6760800B1/en not_active Expired - Lifetime
-
2001
- 2001-09-25 KR KR10-2003-7004439A patent/KR100509006B1/ko not_active IP Right Cessation
- 2001-09-25 CN CNB018164668A patent/CN1308827C/zh not_active Expired - Fee Related
- 2001-09-25 WO PCT/US2001/030242 patent/WO2002027490A2/en active IP Right Grant
- 2001-09-25 JP JP2002531001A patent/JP3844465B2/ja not_active Expired - Fee Related
- 2001-09-28 TW TW090124146A patent/TW565781B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1531685A (zh) | 2004-09-22 |
CN1308827C (zh) | 2007-04-04 |
JP2004521408A (ja) | 2004-07-15 |
WO2002027490A9 (en) | 2003-03-27 |
KR20040007396A (ko) | 2004-01-24 |
TW565781B (en) | 2003-12-11 |
US6760800B1 (en) | 2004-07-06 |
KR100509006B1 (ko) | 2005-08-18 |
WO2002027490A3 (en) | 2004-04-08 |
WO2002027490A2 (en) | 2002-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7036000B2 (en) | Valid bit generation and tracking in a pipelined processor | |
US6484255B1 (en) | Selective writing of data elements from packed data based upon a mask using predication | |
US7360059B2 (en) | Variable width alignment engine for aligning instructions based on transition between buffers | |
US6789184B1 (en) | Instruction address generation and tracking in a pipelined processor | |
JP3818965B2 (ja) | ソフトウェアおよびハードウェアのループ圧縮を有するfifo書込み/lifo読取り追跡バッファ | |
JP3844465B2 (ja) | イベント・ベクトル・テーブルのオーバーライド | |
US8854382B2 (en) | Multi-function encoder and decoder devices, and methods thereof | |
US6976151B1 (en) | Decoding an instruction portion and forwarding part of the portion to a first destination, re-encoding a different part of the portion and forwarding to a second destination | |
US7366876B1 (en) | Efficient emulation instruction dispatch based on instruction width | |
JP3704519B2 (ja) | 命令解読のための複数のソース | |
US7069420B1 (en) | Decode and dispatch of multi-issue and multiple width instructions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060223 |
|
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: 20060809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060815 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090825 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110825 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110825 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130825 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |