(57)【要約】ある実施例では、パイプライン・プロセッサは、出力リセット信号をパイプラインの少なくとも１つのステージに供給するリセット・ユニットを含む。リセット・ユニットは、少なくとも１つのハード・リセット要求、ソフト・リセット要求およびエミュレーション・リセット要求を検出するために適応される。パイプラインはＮ段のステージから構成され、リセット要求がクリアされた後少なくともＮサイクルのクロックの間、リセット・ユニットは、リセット信号を有効化する。各ステージでは、パイプラインは対応する有効ビットを格納するための格納回路を有する。格納回路の少なくとも１つは、リセット信号に応答してクリアされる。さらに、リセット・ユニットは、リセット要求を割り当てられた優先度を有するリセット・イベントとして扱う。
2004511042.tif 000002
【特許請求の範囲】
【請求項１】
パイプライン・プロセッサをリセットする要求を受け取る段階と、
前記リセット要求に応答してパイプライン・プロセッサのステージ内の有効ビットをクリアする段階と、
前記クリアされた有効ビットを前記パイプライン・プロセッサの後続のステージへ伝播する段階と、
から構成されることを特徴とする方法。
【請求項２】
前記リセット要求を最優先度のリセット・イベントとして扱う段階をさらに含むことを特徴とする請求項１記載の方法。
【請求項３】
前記リセット・イベントは、少なくとも他の１つのイベントより低い優先度を有している段階をさらに含むことを特徴とする請求項２記載の方法。
【請求項４】
他の保留イベントの優先順位に基づいたリセット・イベントを受理する段階をさらに含むことを特徴とする請求項２記載の方法。
【請求項５】
前記リセット・イベントが受理されるときに同期して、システム・リセット信号を生成する段階をさらに含むことを特徴とする請求項４記載の方法。
【請求項６】
前記システム・リセット信号を生成する段階は、ハード・リセット要求の期間が少なくとも１クロック期間であるときに同期して、前記システム・リセット信号を生成する段階をさらに含むことを特徴とする請求項５記載の方法。
【請求項７】
前記リセット要求をイベントとして扱う段階は、イベント受領レジスタ（ＩＬＡＴ）内にビットを設定する段階を含むことを特徴とする請求項２記載の方法。
【請求項８】
前記リセット要求をイベントとして扱う段階は、前記ＩＬＡＴレジスタ内のビットを設定するに先立って、イベント・ステータス・レジスタ（ＩＰＥＮＤ）内のビットをクリアする段階をさらに含むことを特徴とする請求項７記載の方法。
【請求項９】
リセット要求を受け取る段階は、ハード・リセット要求、ソフト・リセット要求およびエミュレーション・リセット要求のうちの１つを受け取る段階を含むことを特徴とする請求項１記載の方法。
【請求項１０】
前記パイプライン・プロセッサは、Ｎ段のステージを有し、少なくともクロック信号のＮサイクルの間、クリアされた有効ビットを後続のステージへ伝播する段階を含むことを特徴とする請求項１記載の方法。
【請求項１１】
より優先度の高いイベントがサービスされた後に、前記リセット・イベントを受理する段階をさらに含むことを特徴とする請求項３記載の方法。
【請求項１２】
パイプライン・プロセッサをリセットする要求を受け取る段階と、
前記リセット要求を割り当てられたリセット・イベントとして扱う段階と、
から構成されることを特徴とする方法。
【請求項１３】
前記リセット・イベントは、少なくとも他の１つのイベントより低い優先度を有している段階をさらに含むことを特徴とする請求項１２記載の方法。
【請求項１４】
リセット要求を受け取る段階は、ハード・リセット要求、ソフト・リセット要求およびエミュレーション・リセット要求のうちの１つを受け取る段階を含むことを特徴とする請求項１２記載の方法。
【請求項１５】
他の保留イベントの優先順位に基づいたリセット・イベントを受理する段階をさらに含むことを特徴とする請求項１２記載の方法。
【請求項１６】
前記リセット・イベントが受理されるときに同期して、システム・リセット信号を生成する段階をさらに含むことを特徴とする請求項１２記載の方法。
【請求項１７】
前記リセット要求を扱う段階は、ハード・リセット要求の期間が少なくとも１クロック期間であるときに同期して、前記システム・リセット信号を生成する段階をさらに含むことを特徴とする請求項１２記載の方法。
【請求項１８】
前記リセット要求をイベントとして扱う段階は、イベント受領レジスタ（ＩＬＡＴ）内にビットを設定する段階を含むことを特徴とする請求項１２記載の方法。
【請求項１９】
より優先度の高いイベントがサービスされた後に、前記リセット・イベントを受理する段階をさらに含むことを特徴とする請求項１２記載の方法。
【請求項２０】
前記リセット要求が受理されたとき、前記パイプライン・プロセッサのステージ内の有効ビットをクリアする段階と、
前記クリアされた有効ビットを前記パイプライン・プロセッサの後続のステージへ伝播する段階と、
から構成されることを特徴とする請求項１２記載の方法。
【請求項２１】
前記パイプライン・プロセッサは、Ｎ段のステージを有し、少なくともクロック信号のＮサイクルの間、クリアされた有効ビットを後続のステージへ伝播する段階を含むことを特徴とする請求項１２記載の方法。
【請求項２２】
複数のステージを有し、前記ステージが有効ビットを格納する格納回路を含む、実行パイプラインと、
前記実行パイプラインに結合された出力リセット信号を有し、前記格納回路の少なくとも１つの前記有効ビットをクリアするリセット・ユニットと、
前記クリアされた前記有効ビットを前記実行パイプラインの格納回路を通して伝播するために適合した制御ユニットと、
から構成されることを特徴とする装置。
【請求項２３】
前記リセット・ユニットは、ハード・リセット要求、ソフト・リセット要求およびエミュレーション・リセット要求のうちの１つに応答してリセット信号を有効化することを特徴とする請求項２２記載の装置。
【請求項２４】
前記実行パイプラインはＮ段のステージを含み、前記リセット・ユニットはクロックの少なくともＮサイクルの間、リセット信号を有効化することを特徴とする請求項２２記載の装置。
【請求項２５】
前記実行パイプラインはＮ段のステージを有し、前記リセット・ユニットは、
前記リセット信号を伝播するために適応されたＮ−１段の直列に結合された格納回路と、
前記リセット信号を前記Ｎ−１段の直列に結合された格納回路から受信するＯＲゲートと、
前記ＯＲゲートの出力を受け取り、かつ前記実行パイプラインに前記リセット信号を供給するために適合した格納回路と、
から構成されることを特徴とする請求項２２記載の装置。
【請求項２６】
プログラム可能なプロセッサであって、
リセット要求を割り当てられた優先度を有するイベントとして処理するために適合したイベント・ステータス・レジスタ（ＩＰＥＮＤ）を具備するイベント・ハンドラであって、前記リセット要求はハード・リセット要求およびソフト・リセット要求の内の１つである、イベント・ハンドラと、
前記イベント・ハンドラがリセット・イベントを受理するときに、システム・リセット信号を出力するために適合したリセット・ユニットと、
から構成されることを特徴とするプログラム可能なプロセッサ。
【請求項２７】
前記イベント・ハンドラは、
前記リセット・イベントが保留かどうか示すビットを有するイベント受領レジスタ（ＩＬＡＴ）と、
前記リセット・イベントが受理されたかどうか示すビットを有するイベント・ステータス・レジスタ（ＩＰＥＮＤ）と、
から構成されることを特徴とする請求項２６記載のプログラム可能なプロセッサ。
【請求項２８】
複数のステージを有する実行パイプラインであって、各ステージは対応する有効ビットを格納する格納回路を有するとともに、さらに前記実行パイプラインはシステム・リセット信号を受信するために適合され、前記格納回路の少なくとも１つの前記有効ビットをクリアする、実行パイプラインと、
前記クリアされた有効ビットを前記実行パイプラインの前記格納回路を通して伝播するために適合した制御ユニットと、
から構成されることを特徴とする請求項２７記載のプログラム可能なプロセッサ。
【請求項２９】
前記実行パイプラインはＮ段のステージを有し、前記リセット・ユニットは、
前記リセット信号を伝播するために適応されたＮ−１段の直列に結合された格納回路と、
前記リセット信号を前記Ｎ−１段の直列に結合された格納回路から受信するＯＲゲートと、
前記ＯＲゲートの出力を受け取り、かつ前記実行パイプラインに前記リセット信号を供給するために適合した格納回路と、
から構成されることを特徴とする請求項２８記載の装置。
【請求項３０】
Ｎステージのパイプラインを有するプロセッサをリセットする要求を受け取る段階と、
前記リセット要求に応答してリセットされた信号を生成する段階と、
前記リセット要求がクリアにされた後に、クロックのＮサイクルの間、前記リセット信号を同期して有効化する段階と、
から構成されることを特徴とする方法。
【請求項３１】
リセット要求を受け取る段階は、ハード・リセット要求、ソフト・リセット要求およびエミュレーション・リセット要求のうちの１つを受け取る段階を含むことを特徴とする請求項３０記載の方法。
【請求項３２】
前記リセット信号に応答して前記パイプラインの前記ステージ内の有効ビットをクリアする段階をさらに含むことを特徴とする請求項３０記載の方法。
【請求項３３】
前記パイプライン・プロセッサを通してクリアされた有効ビットを前記クリアされた有効ビットに応答して伝播する段階をさらに含むことを特徴とする請求項３０記載の方法。
【請求項３４】
プロセッサをリセットする要求を受け取る段階と、
イベント保留レジスタ内のビットを更新し、リセット・イベントが現在保留中であることを示す段階と、
イベント・ハンドラが前記リセット・イベントを受理するときに、イベント・ステータス・レジスタ内のビットを更新する段階と、
前記受理されたリセット・イベントに応答してリセット信号を有効化する段階と、
前記リセット信号が無効化されるときに、リセット・サービス・ルーチンを起動する段階と、
から構成されることを特徴とする方法。
【請求項３５】
前記リセット要求がクリアされた後クロックのＮサイクルの間前記リセット信号を有効化する段階をさらに含み、前記プロセッサはＮステージのパイプラインを含むことを特徴とする請求項３４記載の方法。
【請求項３６】
前記リセット要求がクリアされるときに、前記イベント保留レジスタ内の前記ビットをクリアする段階と、
前記リセット・サービス・ルーチンが終了するときに、前記イベント・ステータス・レジスタ内の前記ビットをクリアする段階と、
から構成されることを特徴とする請求項３４記載の方法。
【請求項３７】
前記イベント・ステータス・レジスタは、前記リセット要求が少なくともクロックの１サイクルの間存在するとき、更新されることを特徴とする請求項３４記載の方法。
【請求項３８】
前記リセット信号に応答して、前記パイプラインの前記ステージ内の有効ビットをクリアする段階をさらに含むことを特徴とする請求項３４記載の方法。
【請求項３９】
メモリ装置と、
前記メモリ装置に結合されたプロセッサであって、前記プロセッサはリセット要求を割り当てられた優先度を有するイベントとして処理するために適応されたイベント・ハンドラを含むとともに、前記リセット要求はハード・リセット要求およびソフト・リセット要求の内の１つである、プロセッサと、
から構成されることを特徴とするシステム。
【請求項４０】
前記プロセッサは、前記イベント・ハンドラが前記リセット・イベントを受理するとき、システム・リセット信号を出力するために適応したリセット・ユニットを含むことを特徴とする請求項３９記載のシステム。
【請求項４１】
前記イベント・ハンドラは、
前記リセット・イベントが保留かどうか示すビットを有するイベント受領レジスタ（ＩＬＡＴ）と、
前記リセット・イベントが受け入れられたかどうかを示すビットを有するイベント・ステータス・レジスタ（ＩＰＥＮＤ）と、
から構成されることを特徴とする請求項３９記載のシステム。
【請求項４２】
複数のステージを有する実行パイプラインであって、各ステージは対応する有効ビットを格納する格納回路を有するとともに、さらに前記実行パイプラインはシステム・リセット信号を受信するために適合され、前記格納回路の少なくとも１つの前記有効ビットをクリアする、実行パイプラインと、
前記クリアされた有効ビットを前記実行パイプラインの前記格納回路を通して伝播するために適合した制御ユニットと、
から構成されることを特徴とする請求項３９記載のシステム。
【請求項４３】
前記実行パイプラインはＮ段のステージを有し、前記リセット・ユニットは、
前記リセット信号を伝播するために適応されたＮ−１段の直列に結合された格納回路と、
前記リセット信号を前記Ｎ−１段の直列に結合された格納回路から受信するＯＲゲートと、
前記ＯＲゲートの出力を受け取り、かつ前記実行パイプラインに前記リセット信号を供給するために適合した格納回路と、
から構成されることを特徴とする請求項４２記載のシステム。
【請求項４４】
前記メモリ装置は、スタティック・ランダム・アクセス・メモリから構成されることを特徴とする請求項３９記載のシステム。
【請求項４５】
前記メモリ装置は、フラッシュ・メモリから構成されることを特徴とする請求項３９記載のシステム。
【発明の詳細な説明】
【０００１】
【従来の技術】
本発明は、プログラム可能なプロセッサのリセットに関する。
【０００２】
コンピュータまたはデジタル信号処理システム用のマイクロプロセッサのようなプログラム可能なプロセッサは、典型的には、既知の状態へプロセッサを初期化するために１つ以上のメカニズムをサポートする。例えば、従来のプロセッサは、リセット・ボタンに応答する「ハード・リセット」をサポートするためにインターフェイス・ピンをしばしば含んでいる。さらに、従来のプロセッサは、リセット・プロセスがプロセッサ上で走るソフトウェアによって開始される「ソフト・リセット」をサポートする。
【０００３】
【詳細な説明】
図１は、実行パイプライン４および制御ユニット６を具備するプログラム可能なプロセッサ２を図示するブロック図である。制御ユニット６は、すべてのクロック・サイクルでパイプライン４によって命令とデータの流れをコントロールする。例えば、命令の処理中に、制御ユニット６は、命令を解読し、かつその対応する動作、例えば、メモリにその結果を書くことを正確に行なうように、パイプラインの様々なコンポーネントに命令する。
【０００４】
命令はパイプライン４の最初のステージにロードされ、次の段階を通って処理される。各段階は、他の段階と同時に処理する。データは、システム・クロックに従ってパイプライン４中の段階間を通過する。命令の結果は、パイプライン４の終端に間断なく出現する。
【０００５】
リセット・ユニット８は、３つのタイプのリセット要求に応じてプロセッサ２をリセットする。すなわち、（１）ハード・リセット（ｈａｒｄ＿ｒｅｓｅｔ）、ユーザによる日常のパワー投入またはリセット・ボタンを押すことによって引き起こされる、（２）ソフト・リセット（ｓｏｆｔ＿ｒｅｓｅｔ）、プロセッサ２上で実行するソフトウェア・アプリケーションによって典型的に起動される、（３）エミュレータ・リセット（ｅｍ＿ｒｅｓｅｔ）、イン・サーキット・ハードウェア・エミュレータ（ＩＣＥ：ｉｎ−ｃｉｒｃｕｉｔ ｈａｒｄｗａｒｅ ｅｍｕｌａｔｏｒ）によって典型的に出力される。リセット・ユニット８は、リセット条件を検出し、イベント・ハンドラ１４にリセット要求を通知する。イベント・ハンドラ１４は、プロセッサ２内に生じるシステム・イベントをすべて受け取りかつ処理するための論理を含んでおり、以下に詳細に説明されるように、リセット要求を最優先度のイベントとして扱う。
【０００６】
図２は、発明に従う実施例であるパイプライン４を図示する。パイプライン４は、例えば、５つの段階を有する。すなわち、命令フェッチ（ＩＦ）、命令デコード（ＤＥＣ）、アドレス計算（ＡＣ）、実行（ＥＸ）、および書き戻し（ＷＢ）である。第１ステージ（ＩＦ）中に、メモリ、または命令キャッシュから命令がフェッチ・ユニット２１によって取り込まれ、第２ステージ（ＤＥＣ）中にデコードされる。次のクロック・サイクルでは、その結果は第３ステージ（ＡＣ）へ渡され、そこで、データ・アドレス生成器２３は、その動作を行なうのに必要なすべてのメモリ・アドレスを計算する。
【０００７】
実行ステージ（ＥＸ）において、実行ユニット２５は、例えば２つ数の加算あるいは乗算のような指定の動作を実行する。実行ユニット２５は、例えば１つ以上の算術論理演算ユニット（ＡＬＵ）、浮動小数点ユニット（ＦＰＵ）およびバレル・シフタ（ｂａｒｒｅｌ ｓｈｉｆｔｅｒ）を含む動作を行なうために特定のハードウェアを含んでもよい。様々なデータ、例えば、データ・アドレス生成器２３によって生成されたアドレス、メモリから取り出されたデータまたはデータ・レジスタ２４から取り出されたデータが実行ユニット２５に適用されてもよい。最終ステージ（ＷＢ）で、その結果は、データ・メモリ、またはデータ・レジスタ２４に書き戻される。
【０００８】
パイプライン４のステージは、対応するステージによって保持された命令が有効な命令かどうか、および処理されるべきであるかどうか示す「有効ビット」を格納するためのフリップフロップのような格納回路２７を含む。最初に、命令が首尾よく取り出されかつ解読されると、フェッチ・ユニット２１は、その命令に対応する有効ビットを設定する。命令が処理されると、有効ビットは、パイプライン４の格納回路２７を通して伝播する。
【０００９】
有効にかつ速くプロセッサ２をリセットし、かつリセット中の過度の電力消費を削減するために、リセット・イベントがリセット・ハンドラによって受理されると、リセット・ユニット８は有効ビットをクリアする。より明確に言うと、リセット・ユニット８は、ＩＦステージの格納回路２７をクリアするパイプライン４へリセット（ＳＥ＿ＲＥＳＥＴ）を出し、それによってＩＦステージ内に保持された命令を無効にする。続くクロック・サイクル中に、残りのステージの格納回路２７は、ＳＥ＿ＲＥＳＥＴが非有効化されるまでクリアされ、パイプライン４の内容を事実上無効にする。
【００１０】
図３は、例えば、ハード・リセット、ソフト・リセットまたはエミュレータからのリセットを含むリセット条件に応答するリセット・プロセスを図示するタイミング・ダイヤグラムである。明らかに、リセット・ユニット８は、ＲＥＳＥＴ＿ＲＥＱ信号がアクティブのまま維持される時間の長さに応答し、特に、リセット信号が除去された後ＳＥ＿ＲＥＳＥＴを保持するように適合して、パイプライン４が完全に初期化されることを保証する。より明確に述べると、リセット要求が非有効化（ｄｅａｓｓｅｒｔ）された後少なくともＮクロック・サイクルの間、リセット・ユニット８はＳＥ＿ＲＥＳＥＴを有効化（ａｓｓｅｒｔ）し、ここではパイプライン４はＮステージの深さである。
【００１１】
以下詳細に議論されるように、リセット・ユニット８およびイベント・ハンドラ１５は同期リセットをサポートするが、そこでは他の保留イベントの優先度に依存して、リセット要求はプロセッサ２をリセットする高優先度のイベントとして扱われる。図４は、リセット・ユニット８およびイベント・ハンドラ１４用の実施例を図示する概要図である。以下詳細に説明されるように、リセット・ユニット８は、いずれのリセット入力における単一のサイクル・パルスが完全にパイプライン４をリセットし初期化するのに十分であることを保証するためにイベント・ハンドラ１４と相互に作用する。リセット・ユニット８は３つのタイプのリセット条件を受け取るために３つの入力をしており、すなわちＨＡＲＤ＿ＲＥＳＥＴ、ＳＯＦＴ＿ＲＥＳＥＴおよびＥＭ＿ＲＥＳＥＴである。加えて、リセット・ユニット８は、エミュレーション・リセット要求がクリアにされたとき有効化されるＥＭ＿ＲＥＳＥＴ＿ＣＬＲをそれぞれ受け取る。
【００１２】
イベント・ハンドラ１４は、２つのレジスタを含み、すなわちＩＬＡＴレジスタ４１およびＩＰＥＮＤは４２である。ＩＬＡＴレジスタ４１は、サービスされていない要求されたイベントを格納するための多くのビットを含む。「イベント」とは、プロセッサ２が応答しなければならないあらゆるアクションまたは事象であり、例えばエミュレーション・モード、割込みおよび例外への入力を含む。イベントがイベント・ハンドラ１４によって得られると、ＩＬＡＴレジスタ４１はクリアされる。ＩＰＥＮＤレジスタ４２は、各イベントに対応するビットを含むステータス・レジスタである。一旦プロセッサ２がイベントを受理し、例えば、対応するサービス・ルーチンを起動すれば、イベント・ハンドラ１４はＩＰＥＮＤレジスタ４２内に適切なビットを設定し、ＩＬＡＴレジスタ１４中の対応するビットをクリアする。イベント・サービス・ルーチンが戻ると、イベント・ハンドラ１４はＩＰＥＮＤレジスタ４２のステータス・ビットをクリアする。
【００１３】
ある実施例では、イベント・ハンドラ１４は、リセット・イベントを第２の最優先度イベントとして扱うとともに、エミュレーション・モードのみがより高い優先度を有すると扱う。リセット・イベントが受け取られ、プロセッサ２がエミュレーション・モードにあるとき、プロセッサ２がエミュレーション・モードから退出するまで、リセット・イベントは行われない。
【００１４】
ＨＡＲＤ＿ＲＥＳＥＴが少なくとも１つのクロック・サイクルの期間有効化されると、信号４３はＩＰＥＮＤレジスタ４２のリセット・イベント・ビットをクリアし、それによって、全ての保留リセット・イベントをクリアする。次に、別のクロック・サイクルの後、信号４９はＩＬＡＴ４１内のリセット・イベント・ビットを設定し、保留リセット・イベントを記録する。プロセッサ２がエミュレーション・モードになく、ＲＥＳＥＴ＿ＭＡＳＫＥＤ＿ＲＥＱ４６を有効化すると、リセット・ユニット８がリセットパルスを生成するかもしれないことを示すために、イベント・ハンドラ１４はリセット・イベントを受理する。より明確に言うと、（１）ＩＬＡＴレジスタ４１がリセット・イベントを受理したことを示し、（２）プロセッサ２がエミュレーション・モード（ＥＭ＿ＭＯＤＥ）になく、かつ（３）現在のエミュレーション要求（ＥＭ＿ＲＥＱ）がない場合、ＡＮＤゲート４５は、ＲＥＳＥＴ＿ＭＡＳＫＥＤ＿ＲＥＱ４６を高にする。リセット・ユニット８は、Ｎクロック・サイクルに亘って、ＲＥＳＥＴ＿ＭＡＳＫＥＤ＿ＲＥＱ５６を一連の格納回路４７にラッチし、ＲＥＳＥＴ＿ＭＡＳＫＥＤ＿ＲＥＱ　５６が非有効化された後、ＳＥ＿ＲＥＳＥＴはＮクロック・サイクルの間、活性化される。
【００１５】
リセット条件がもはや検出されなくなると、リセット・ユニット８はＳＥ＿ＲＥＳＥＴをクリアするようにイベント・ハンドラ１４に指示する。ハード・リセットの場合には、立ち下がりエッジがＨＡＲＤ＿ＲＥＳＥＴ上で検知されると、ＡＮＤゲート４８はＨＡＲＤ＿ＲＳＴ＿ＦＥＤＧＥ４４を高に駆動する。あるいは、エミュレーション・リセット要求がそれぞれクリアにされると、ＥＭ＿ＲＥＳＥＴ＿ＣＬＲは有効化される。これら２つの信号のどちらかの有効化により、ＡＮＤゲート４４は０を出力し、それによって、ＩＬＡＴレジスタ５１内のリセット・イベント・ビットをクリアする。これは次にはＲＥＳＥＴ＿ＭＡＳＫＥＤ＿ＲＥＱ４６をクリアし、Ｎクロック・サイクルの後、ＳＥ＿ＲＥＳＥＴをクリアする。この様に、リセットされた条件が削除された後、リセット・ユニット８は、Ｎクロック・サイクルの間、ＳＥ＿ＲＥＳＥＴを活性に保持する。
【００１６】
ＳＥ＿ＲＥＳＥＴが非有効化され、かつＲＳＴ＿ＥＸＩＴ信号が、割込み命令（ＲＴＩ）からの復帰の実行によって、典型的にはイベント取り扱いサービス・ルーチンの結論に基づき、有効化されると、ＩＰＥＮＤレジスタ４２がクリアされる。
【００１７】
図５は、プロセッサ２をリセットするプロセス４０の例を図示するフローチャートである。まず、リセット論理６は、ユーザが物理的にリセット・ボタンを押す時に生成されるハード・リセット要求のようなリセット要求を受け取る。次に、ハード・リセット要求に対して、リセット・ユニット８は、そのハード・リセット要求を受け取った後１クロック・サイクルの間、リセット・イベント・ビットをクリアするためにＩＰＥＮＤレジスタ４２をリセットする。さらに、リセット・ユニット８は、適切なビットをイベント・ハンドラ１４のＩＬＡＴレジスタ４１中に設定し、イベント要求（５１）を記録する。
【００１８】
リセット要求を受け取り、ＩＬＡＴレジスタ４１を更新した後に、イベント・ハンドラ１４は、プロセッサ２がエミュレーション・モードにあるか、エミュレーション要求が保留かどうかをチェックする（５２）。もはやエミュレーション・モード中ではなく、またエミュレーション要求が保留ではない場合、イベント・ハンドラ１４は、ＩＰＥＮＤレジスタ４２の適切なビットを設定することによりかつＩＬＡＴレジスタ４１の適切なビットをクリアすることにより、リセット・イベントを受理されたものとしてマークする（５３）。
【００１９】
次に、イベント・ハンドラ１４は、ＳＥ＿ＲＥＳＥＴ（５４）を有効化し、リセット要求がいつ削除されるかを検出するために、リセット要求をモニタする。例えば、ソフトウェア・リセット要求は、典型的には単一のクロック・サイクルの間続くが、しかし、ハード・リセット要求は、ユーザがどれくらいの時間リセット・ボタンを押すかに依存して、多くのクロック・サイクルの期間続くことがある。
【００２０】
リセット要求が削除された（５５）後、リセット・ユニット８は、追加のＮサイクルの間ＳＥ＿ＲＥＳＥＴを保持し、パイプライン４を通してクリアされた有効ビットを伝播し、それによって、パイプライン４のステージを無効なものとしてマークする（５６）。上述したように、クリアされた有効ビットは、命令フェッチ・ユニット２１が命令を取り込むことを防ぎ、リセット中のプロセッサ２の電力消費をより少なくさせる。Ｎサイクルの後、リセット・ユニット８は、ＳＥ＿ＲＥＳＥＴを非有効化し（５７）、パイプライン４はユニット２１を取り込むためにリセット・アドレスを出すことにより、初期化状態から開始する（５８）。リセット・アドレスは、典型的にはリセット・サービス・ルーチンが開始するアドレスで、ベクトル・テーブルまたは外部入力ピンから読まれてもよい。リセット・サービス・ルーチンが実行を終了すると、イベント・ハンドラはＩＰＥＮＤレジスタ４２の適切なビットをクリアし、リセット・プロセスの完了を示す（５９）。
【００２１】
本発明の様々な実施例が記述された。例えば、パイプライン・プロセッサが記述されたが、それは出力リセット信号を実行パイプラインの少なくとも１つのステージに供給するリセット・ユニットを含む。リセット・ユニットは、ハード・リセット、ソフト・リセットおよびエミュレーション・リセットのようなリセット要求を、割り当てられた優先度を有するリセット・イベントとして扱う。
【００２２】
プロセッサは、汎用目的の計算機システム、デジタル処理システム、ラップトップ・コンピュータ、携帯情報端末（ＰＤＡ）および携帯電話を含む様々なシステムで実行することができる。そのようなシステムでは、プロセッサは、オペレーティング・システムまたは他のソフトウェア・アプリケーションを格納するフラッシュ（ＦＬＡＳＨ）メモリ装置またはスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）のようなメモリに結合される。これらおよび他の実施例は、次の請求項の範囲内にある。
【図面の簡単な説明】
【図１】
本発明によるパイプライン接続されたプログラム可能なプロセッサの例を図示するブロック図である。
【図２】
本発明による実行パイプラインの例を図示する概略図である。
【図３】
リセット・プロセスをさらに図示するタイミング・ダイヤグラムである。
【図４】
本発明によってプロセッサをリセットするための回路例を図示する概要図である。
【図５】
パイプライン・プロセッサをリセットするプロセス例を図示するフローチャートである。
【図１】
2004511042.tif 000003
【図２】
2004511042.tif 000004
【図３】
2004511042.tif 000005
【図４】
2004511042.tif 000006
【図５】
2004511042.tif 000007
【国際公開パンフレット】
2004511042.tif 000008
2004511042.tif 000009
2004511042.tif 000010
2004511042.tif 000011
2004511042.tif 000012
2004511042.tif 000013
2004511042.tif 000014
2004511042.tif 000015
2004511042.tif 000016
2004511042.tif 000017
2004511042.tif 000018
2004511042.tif 000019
2004511042.tif 000020
2004511042.tif 000021
2004511042.tif 000022
2004511042.tif 000023
2004511042.tif 000024
2004511042.tif 000025
2004511042.tif 000026
2004511042.tif 000027
2004511042.tif 000028
2004511042.tif 000029
2004511042.tif 000030
2004511042.tif 000031
2004511042.tif 000032
2004511042.tif 000033
2004511042.tif 000034
2004511042.tif 000035
2004511042.tif 000036
【国際公開パンフレット（コレクトバージョン）】
2004511042.tif 000037
【国際公開パンフレット（コレクトバージョン）】
2004511042.tif 000038
2004511042.tif 000039
2004511042.tif 000040
2004511042.tif 000041
2004511042.tif 000042
2004511042.tif 000043
2004511042.tif 000044
2004511042.tif 000045
2004511042.tif 000046
2004511042.tif 000047
2004511042.tif 000048
2004511042.tif 000049
2004511042.tif 000050
2004511042.tif 000051
2004511042.tif 000052
2004511042.tif 000053
2004511042.tif 000054
2004511042.tif 000055
2004511042.tif 000056
2004511042.tif 000057
2004511042.tif 000058
2004511042.tif 000059
2004511042.tif 000060
2004511042.tif 000061
2004511042.tif 000062
2004511042.tif 000063
2004511042.tif 000064
2004511042.tif 000065
2004511042.tif 000066
2004511042.tif 000067
【国際調査報告】
2004511042.tif 000068
2004511042.tif 000069
2004511042.tif 000070