(57)【要約】データ処理装置(MPS)が、独立してリセットすることのできる複数のデータプロセッサ(SPR,PM1,...,PM4)を具えている。リセットモジュール(RSM)が、種々のリセット要求信号(HRG,SRG,SRP1,...,SRP4)を、優先順位付け及びタイミング方式に従って処理して、それぞれのデータプロセッサ(SPR,PM1,...,PM4)用のそれぞれのリセット信号(GRS,PRS1,...,PRS4)を得る。リセットモジュール(RSM)は、それぞれのリセット要求信号が搬送するそれぞれのリセット要求を記憶するリセット要求レジスタ、及びリセット信号が搬送するそれぞれの許可されたリセット要求を記憶するリセット実行レジスタを具えていることが好ましい。
2009514084.tif 000002
【特許請求の範囲】
【請求項１】
独立してリセットすることのできる複数のデータプロセッサと；
種々のリセット要求信号を、優先順位付け及びタイミング方式に従って処理して、それぞれの前記データプロセッサ用のそれぞれのリセット信号を得るためのリセットモジュールと
を具えていることを特徴とするデータ処理装置。
【請求項２】
前記リセットモジュールが、
前記リセット要求信号が搬送するそれぞれのリセット要求を記憶するためのリセット要求レジスタを具えていることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記リセットモジュールが、
前記リセット信号のそれぞれが搬送するそれぞれの許可されたリセット要求を記憶するためのリセット実行レジスタを具えていることを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記リセットモジュールが、前記リセット要求信号のそれぞれを、前記データ処理装置内の状態を示す少なくとも１つの状態信号に基づいて処理するように構成されていることを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記リセットモジュールが、前記優先順位付け及びタイミング方式を規定する論理回路のアセンブリを具えていることを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記リセットモジュールが、前記優先順位付け及びタイミング方式を規定するプログラマブル論理回路を具えていることを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
独立してリセットすることのできる複数のデータプロセッサによってデータを処理する方法において、
種々のリセット要求信号を、優先順位付け及びタイミング方式に従って処理して、それぞれの前記データプロセッサ用のそれぞれのリセット信号を得るリセット処理ステップを具えていることを特徴とするデータ処理方法。
【請求項８】
独立してリセットすることのできる複数のデータプロセッサを具えたデータ処理装置用のコンピュータプログラム製品において、
前記データ処理装置にロードした際に、前記データ処理装置に請求項７に記載の方法を実行させる一組の命令を具えていることを特徴とするコンピュータプログラム製品。
【請求項９】
請求項１に記載のデータ処理装置を具えている装置。
【請求項１０】
さらに、送信−受信回路を具え、前記データ処理装置が、前記送信−受信回路からの信号を処理するように構成されていることを特徴とする請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、データ処理装置の一部を形成する１つ以上のプロセッサモジュールをリセットするリセット装置を具えたデータ処理装置に関するものである。このデータ処理装置は例えば、セルラ電話機用のマルチプロセッサシステムとすることができる。本発明はさらに、データ処理装置をリセットする方法、データ処理装置用のコンピュータプログラム製品、及びデータ処理装置に関するものである。
【背景技術】
【０００２】
（従来技術の説明）
【特許文献１】米国特許第６６６５７９５号明細書
【０００３】
米国特許第６６６５７９５号明細書は、リセットユニットを含むパイプライン型プロセッサを記載し、このリセットユニットは出力リセット信号をパイプラインの少なくとも１段に供給する。このリセットユニットは少なくとも、ハードリセット要求、ソフトリセット要求、及びエミュレーション・リセット要求を検出する。このリセットユニットは、リセット要求がクリア（消去）された後の少なくともＮクロックサイクルの間リセット信号をアサート（有効に、アクティブに）する。このリセットユニットは、リセット要求を、優先順位（プライオリティ）を割り当てられたリセットイベント（事象）として処理する。イベント・ペンディングレジスタ内のビットが更新されて、リセットイベントが現在ペンディング（処理待ち）であることを示す。イベントハンドラ（処理装置）がリセットイベントを受け付けると、イベント状態レジスタ内のビットが更新される。
【発明の開示】
【課題を解決するための手段】
【０００４】
（発明の概要）
本発明の態様によれば、データ処理装置が、個別にリセットすることのできる複数のデータプロセッサを具えている。リセットモジュールが、種々のリセットイベントを優先順位付け及びタイミング方式に従って処理して、それぞれのデータプロセッサ用のそれぞれのリセット信号を得る。
【０００５】
本発明は、次の態様を考慮に入れる。データプロセッサは一般にリセット装置を有し、このリセット装置はデータプロセッサをリセットすることを可能にする。リセットはデータプロセッサに明確な初期状態をもたらす。リセットは、例えばボタンを押すことのような物理的原因を有することができる。こうしたリセットはハードウェアリセットと称されることが多い。リセットは、例えばリセット命令を具えたソフトウェアプログラムのような論理的原因を有することもでき、このリセット命令はソフトウェアプログラムの実行の途上で到達する。こうしたリセットはソフトウェアリセットと称される。
【０００６】
データプロセッサは一般に、このデータプロセッサに供給されるリセット信号によってリセットされる。リセット信号は一般にバイナリ（２進数）信号であり、所定瞬時にバイナリ１またはバイナリ０のいずれかをとることができる。データプロセッサは、リセット信号がバイナリ１である際に解放（リリース）状態になり、リセット信号がバイナリ０である際にリセット状態になるか、あるいはその逆である。バイナリ１からバイナリ０、あるいはその逆の遷移がリセットを生じさせる。バイナリ０からバイナリ１、あるいはその逆である反対向きの遷移が、リセット後にデータプロセッサを解放する。
【０００７】
マルチプロセッサシステムの一部を形成するデータプロセッサをリセットすることは特別な考慮を必要とする。このデータプロセッサは一般に、他の１つ以上のプロセッサと機能的に相互に関係する。このデータプロセッサは演算を実行し、この演算が他のデータプロセッサが実行する演算に影響するか、あるいはその逆である。結果的に、特定のデータプロセッサのリセットを処理する方法は、他のデータプロセッサが実行する演算に影響し得る。従って、マルチプロセッサシステム全体の動作に影響し得る。種々のデータプロセッサ間のこうした機能的相互関係が、リセットを重大かつ複雑な問題とする。
【０００８】
例えば、マルチプロセッサシステムにおいて、次のことを想定する：データプロセッサ「Ａ」がリセットされ、その直後に他のデータプロセッサ「Ｂ」がリセットされる。このように比較的短い時間間隔内に「Ｂより前にＡがリセットされる」シーケンスはマルチプロセッサシステムに不所望な状態をもたらし得る。データプロセッサ「Ｂ」がリセットされるまでデータプロセッサ「Ａ」のリセットを引き止めた方が良く、「Ａより前にＢ」のシーケンスがより適切であったものとする。
【０００９】
各々がリセット状態にある種々のデータプロセッサを解放することも、重大かつ複雑な問題となり得る。例えば、次のことを想定する：２つのデータプロセッサ「Ｃ」及び「Ｄ」が丁度リセットされ、これらを解放すべきである。データプロセッサ「Ｃ」と「Ｄ」とを同時に解放することはマルチプロセッサシステムに不所望な状態をもたらし得る。このことは新たなリセットを必要とし得る。データプロセッサ「Ｃ」より前にデータプロセッサ「Ｄ」を解放するか、あるいはその逆の方がより適切である。データプロセッサ「Ｃ」より前に「Ｄ」を解放する方がより適切であるか、「Ｄ」より前に「Ｃ」を解放する方がより適切であるかは、マルチプロセッサシステム内の他のデータプロセッサ、あるいは例えばメモリのような他の要素に依存し得る。このことはさらに複雑な問題である。
【００１０】
マルチプロセッサシステムにおけるリセットの問題はソフトウェアレベルで対処することができる。例えば、マルチプロセッサシステムは、システムタスクを実行するデータプロセッサ用のシステムソフトウェアプログラムを具えることができる。このシステムソフトウェアプログラムは、マルチプロセッサシステム内で発生し得る可能なリセット形態毎に、不所望な状態を防止するように設計することができる。このマルチプロセッサシステムはさらに、専用処理タスクを実行するデータプロセッサ用の種々の専用処理ソフトウェアを具えることができる。各専用処理ソフトウェアプログラムは、専用処理ソフトウェアプログラムを実行するデータプロセッサが、他のデータプロセッサにあり得るリセット並びにマルチプロセッサシステム内に発生し得る他の関連イベントに依存してリセットを処理するように設計することもできる。
【００１１】
要約すれば、マルチプロセッサシステム内に発生し得るすべての可能なリセット形態を考慮に入れた注意深いソフトウェア設計が、マルチプロセッサシステムの満足な動作を可能にする。しかし、こうした注意深いソフトウェア設計は相当な労力を必要とし、従って比較的時間を要し高価である。マルチプロセッサシステムの比較的小さい変更が一般に、マルチプロセッサシステム用の各ソフトウェアプログラムの大幅な修正を必要とする。
【００１２】
上述した本発明の態様によれば、データ処理装置がリセットモジュールを具え、このリセットモジュールは、種々のリセット要求信号を優先順位付け及びタイミング方式に従って処理して、それぞれのデータプロセッサ用のそれぞれのリセット信号を得る。
【００１３】
このリセットモジュールは、マルチプロセッサシステムであるデータ処理装置が１つ以上のリセットによって不所望な状態に達することを防止する集中的なリセット処理を可能にする。このリセットモジュールは、リセットを、マルチプロセッサシステム内のデータプロセッサから独立して処理する。これらのデータプロセッサはリセット処理タスクを実行する必要はなく、データプロセッサは単に、適時にリセット要求を発行し、データプロセッサが受信するリセット信号に従い、このことが、データプロセッサが解放状態にあるかリセット状態にあるかを決定する。このことはソフトウェア設計を大幅に簡略化する。システムソフトウェアプログラム及び専用処理ソフトウェアプログラムが存在するならば、これらは種々のリセットの優先順位付け及びタイミングの問題を考慮に入れる必要がない。結果的に、マルチプロセッサシステムの比較的小さい変更は、ソフトウェアレベルまたはハードウェアレベルでの、あるいはその両方における比較的小さい変更を必要とするに過ぎない。これらの理由により、本発明は比較的高速の設計を可能にし、このことはコストを低減する。
【００１４】
本発明によるデータ処理装置の実現は、リセット要求レジスタ及びリセット実行レジスタを具えていることが好ましい。リセット要求レジスタは、それぞれのリセット要求信号が搬送するそれぞれのリセット要求を記憶する。リセット実行レジスタは、リセット信号が搬送するそれぞれの許可されたリセット要求を記憶する。このことは、マルチプロセッサシステムのいわゆるデバッグを促進する、というのは、リセットレベルで起きることをデバッガが監視することができるからである。リセット要求レジスタ及びリセット実行レジスタは可観測性を提供する。
【００１５】
以下、本発明のこれら及び他の態様について図面を参照しながらより詳細に説明する。
【発明を実施するための最良の形態】
【００１６】
（実施例の詳細な説明）
図１に、セルラ電話機ＣＰＨを示す。セルラ電話機ＣＰＨは、送信−受信回路ＴＸＣ、マルチプロセッサシステムＭＰＳ、及びヒューマンインタフェース装置ＨＩＤを具えている。ヒューマンインタフェース装置ＨＩＤは一般に、小型スピーカ、小型マイクロホン、表示装置、及び番号をダイヤルするための数字キーボードを具えている。
【００１７】
マルチプロセッサシステムＭＰＳは、セルラ電話通信のユーザ制御またはシステム制御、あるいはその両方に関係する演算を実行する。例えば、ユーザがセルラ電話機ＣＰＨに、特定電話番号の発呼をすることを命令することを想定する。マルチプロセッサシステムＭＰＳは、例えばユーザが要求すれば個人用電話帳を表示することによってこの処理を行う。マルチプロセッサシステムＭＰＳは、発呼を行うために必要な種々の演算を実行する。例えば、グローバルシステム・フォー・モバイル・コミュニケーション（ＧＳＭ：Global System for Mobile Communication：欧州の移動電話方式）では、マルチプロセッサシステムＭＰＳは一般に、シグナリング（発着信制御信号送受信）及びタイムスロット管理を含むＧＳＭシステムレベルの演算を処理する。
【００１８】
受信モードでは、送信−受信回路ＴＸＣが、受信した無線周波数信号ＰＦＲに応答して復調信号ＤＳを供給する。マルチプロセッサシステムＭＰＳは復調信号ＤＳを処理し、復調信号ＤＳは、発呼者からのデータ、または基地局または他のセルラ電話網からのデータ、あるいはこうしたデータの組合せを含むことができる。例えば、マルチプロセッサシステムＭＰＳは、ヒューマンインタフェース入力信号ＨＩを復調信号ＤＳから導出することができる。ヒューマンインタフェース入力信号ＨＩは例えば、小型スピーカ用のオーディオ信号とすることができる。この復調信号処理は一般に、例えばビタビ復号化のような１つ以上のチャンネル復号化演算及び１つ以上のエラー訂正演算を含む。
【００１９】
送信モードでは逆の信号の流れが存在し、ヒューマンインタフェース出力信号ＨＯから始まる。例えば、マルチプロセッサシステムＭＰＳは、小型マイクロホンが発声された言葉に応答して供給するオーディオ信号を受信することができる。マルチプロセッサシステムＭＰＳは、ヒューマンインタフェース出力信号ＨＯを処理して変調信号ＭＳを得る。変調信号処理は一般に、１つ以上のチャンネル符号化演算及び１つ以上のエラー訂正演算を含み、これらは前述した復調信号処理と相補的なものである。送信−受信回路ＴＸＣは、送信無線周波数信号ＲＥＴを発生し、この信号は変調信号ＭＳを含む。
【００２０】
図２に、マルチプロセッサシステムＭＰＳを示す。マルチプロセッサシステムＭＰＳは、システムプロセッサＳＰＲ、種々のデータ処理モジュールＰＭ1,...,ＰＭ4、メモリＭＥＭ、及びインタフェースモジュールＩＦＭを具えている。前述したセルラ電話網どうしはバスＢＳ経由で互いに通信することができる。マルチプロセッサシステムＭＰＳはさらに、リセットモジュールＲＳＭを具えている。リセットモジュールＲＳＭは、種々のリセット要求信号ＨＲＧ、ＳＲＧ、ＳＰＲ1,...,ＳＰＲ4及び状態信号ＳＴＡ、ＳＴＢに基づいて、種々のリセット信号ＦＲＳ、ＰＲＳ1,...,ＰＲＳ4をシステムプロセッサＳＰＲ及びデータ処理モジュールＰＭ1,...,ＰＭ4に供給する。これについては以下により詳細に説明する。前述した電話網は異なるクロック信号を受信することができる。図２は、システムプロセッサＳＰＲ、データ処理モジュールＰＭ3、ＰＭ4がクロック信号ＣＫ1を受信し、データ処理モジュールＰＭ1、ＰＭ2がクロック信号ＣＫ2を受信することを示す。即ち、マルチプロセッサシステムＭＰＳはマルチ（多）クロック方式で動作する。
【００２１】
システムプロセッサＳＰＲは、システムソフトウェアプログラムを記憶するプログラムメモリを具えることができる。このシステムソフトウェアプログラムは、システムプロセッサＳＰＲが実行する１つ以上の機能を規定する一組の命令を具えている。同様に、データ処理モジュールが、専用ソフトウェアプログラムを記憶するプログラムメモリを具えることができる。この専用ソフトウェアプログラムは、データ処理モジュールが実行する１つ以上の処理機能を規定する一組の命令を具えている。あるいはまた、上記データ処理モジュールは、ソフトウェアではなくハードウェアで規定された１つ以上の機能を実行する専用回路の形態とすることができる。こうした実現では、回路のそれぞれの素子及びこれらの素子間のそれぞれの接続が、データ処理モジュールが実行する１つ以上の機能を規定する。マルチプロセッサシステムＭＰＳは、例えば単一集積回路で実現することができる。こうした実現はいわゆるシステムオンチップ（ＳoＣ：System on Chip）を構成する。
【００２２】
マルチプロセッサシステムＭＰＳは基本的に次のように動作する。インタフェースモジュールＩＦＭは、ヒューマンインタフェース出力信号ＨＯ及び復調信号ＤＳに含まれる入力データを受信する。この入力データは処理される前に一時的にメモリＭＥＭに記憶される。１つ以上のデータ処理モジュールＰＭ1,...,ＰＭ4は入力データの種類に応じて入力データを処理する。
【００２３】
例えば、次のことを想定する：データ処理モジュールＰＭ1がビタビ復号化を実行する。そして、復調信号ＤＳに含まれる畳み込み符号化された入力データをデータ処理モジュールＰＭ1に供給することができる。従って、データ処理モジュールＰＭ1は復号化された入力データを供給し、この入力データは一時的にメモリＭＥＭに記憶することができる。データ処理モジュールＰＭ2はその後に、この復号化された入力データを処理する。こうして、マルチプロセッサシステムＭＰＳは、復調信号ＤＳから生じる入力データ用の処理チェーンを提供する。この処理チェーンは次のように記述することができる：入力データ処理モジュールＰＭ1（ビタビ復号化）−データ処理モジュールＰＭ2（さらなる処理）−出力。
【００２４】
マルチプロセッサシステムＭＰＳは種々の異なる処理チェーンを提供することができる。より詳細には、マルチプロセッサシステムＭＰＳは、１つの処理チェーンによって特定種類の入力データを処理し、同時に、他の処理チェーンによって他の種類の入力データを処理することができる。即ち、マルチプロセッサシステムＭＰＳは種々の異なる処理を同時に実行する。特に、マルチプロセッサシステムＭＰＳは前述したようにマルチクロック方式で動作するので、このことは同期及び優先順位付けの意味での調整を必要とする。
【００２５】
システムプロセッサＳＰＲは調整機能を有する。例えば、システムプロセッサＳＰＲはマルチプロセッサシステムＭＰＳ内の種々のイベントの発生を監視し、そして特定イベントが発生した際に適切な行動をとることができる。それにもかかわらず、マルチプロセッサシステムＭＰＳは、１つ以上のデータ処理モジュールＰＭ1,...,ＰＭ4のリセット、あるいはマルチプロセッサシステムＭＰＳ全体のリセットを必要とする状態に達し得る。リセットは、システムプロセッサＳＰＲがとる適切な行動を構成することもできる。電力消費を節減することは、１つ以上のデータ処理モジュールＰＭ1,...,ＰＭ4、さらにはマルチプロセッサシステムＭＰＳ全体をリセットする他の理由となり得る。
【００２６】
データ処理モジュールをリセットすることは、データ処理モジュールを明確な初期状態にもっていく。このことは、ブロック（阻止）されていた１つ以上の処理のブロックを解除することができ、これにより適正に再開することができる。マルチプロセッサシステムＭＰＳがリセットされる際にも同じことが当てはまり、リセットはマルチプロセッサシステムＭＰＳを明確な初期状態にもっていき、このことは、処理を再開するか新たな処理を開始するための適正な開始点を提供する。
【００２７】
前述したように、リセットモジュールＲＳＭは種々のリセット要求信号ＨＲＧ、ＳＲＧ、ＳＲＰ1,...,ＳＲＰ4を受信する。これらの要求は、ハードウェア・グローバル（全体）リセット要求信号ＨＲＧ、ソフトウェア・グローバルリセット要求信号ＳＲＧ、及びデータ処理モジュールＰＭ1,...,ＰＭ4毎に１つの種々のプロセッサリセット要求信号ＳＲＰ1,...,ＳＲＰ4を含む。リセット要求信号は、例えば２つの異なる値をとることのできるバイナリ信号の形にすることができる。これらの値の１つは例えばバイナリ０であり、リセット要求を表現する。
【００２８】
例えば、ハードウェア・グローバルリセット要求信号ＨＲＧがバイナリ０である際に、マルチプロセッサシステムＭＰＳ全体をリセットする要求が存在する。ソフトウェア・グローバルリセット要求信号ＳＲＧがバイナリ０である際にも同様の要求が存在する。リセット要求信号ＳＲＰ1がバイナリ０である際に、データ処理モジュールＰＭ1をリセットする要求が存在する。同様に、プロセッサの要求信号ＳＲＰ2、ＳＲＰ3、ＳＲＰ4がそれぞれバイナリ０である際に、データ処理モジュールＰＭ2、ＰＭ3、ＰＭ4をリセットする要求が存在する。
【００２９】
「リセット要求」に関連する「ハードウェア」とは、リセット要求が、例えばボタンを押すことまたはマルチプロセッサシステムＭＰＳ内の特定の物理的事象（イベント）の発生のような物理的起源を有することを示す。逆に、「リセット要求」に関連する「ソフトウェア」とは、リセット要求が、例えばソフトウェアプログラムの一部を形成するリセット命令を実行するソフトウェアプログラムのような論理的起源を有することを示す。このリセット命令はリセットレジスタ内の特定ビットの形をとることができる。
【００３０】
ハードウェア・グローバルリセット要求信号ＨＲＧは、例えば外部押しボタンから発生することができ、このことはユーザがマルチプロセッサシステムをリセットすることを可能にする。外部押しボタンが押されると、ハードウェア・グローバルリセット要求信号ＨＲＧはリセット要求を表現する値をとる。ハードウェア・グローバルリセット要求信号ＨＲＧは、例えば、特定電圧が所定しきい値電圧を超えているか否かを検出する検出回路から発生することもできる。
【００３１】
ソフトウェア・グローバルリセット要求信号ＳＲＧはシステムプロセッサＳＰＲから発生することができる。イベントの特定シーケンスがマルチプロセッサシステムＭＰＳ内に発生すると、システムプロセッサＳＰＲはグローバルリセット要求を発行することができる。即ち、このイベントの特定シーケンスはシステムソフトウェアをリセット命令に到達させる。このリセット命令は、ソフトウェア・グローバルリセット要求信号ＳＲＧをバイナリ０にし、これがグルーバルリセット要求を表現する。
【００３２】
１つ以上のプロセッサリセット要求信号ＳＲＰ1,...,ＳＲＰ4もシステムプロセッサＳＰＲから発生することができる。プロセッサリセット要求は、ソフトウェア・グローバルリセット要求に関して前述したものと同様のソフトウェアベースのメカニズムから発生することができる。プロセッサリセット要求信号は、１つ以上のデータ処理モジュールＰＭ1,...,ＰＭ4からも発生することができる。
【００３３】
例えば、次のことを想定する：データ処理モジュールＰＭ3及びデータ処理モジュールＰＭ4が処理チェーンを形成する。データ処理モジュールＰＭ3は、処理チェーン内のリセットを要求するイベントの発生を検出することができる。これに応答して、データ処理モジュールＰＭ3は、プロセッサリセット要求信号ＳＲＰ4をバイナリ０にすることによって、データ処理モジュールＰＭ4に関係するプロセッサリセット要求を発行することができる。データ処理モジュールＰＭ3はプロセッサリセット要求信号ＳＲＰ3をバイナリ０にすることもでき、このことは自動リセット要求と考えることができる。
【００３４】
前述したように、リセットモジュールＲＳＭは、リセットモジュールＲＳＭが受信する種々のリセット要求信号ＨＲＧ、ＳＲＧ、ＳＲＰ1,...,ＳＲＰ4及び状態信号ＳＴＡ、ＳＴＢに基づいて種々のリセット信号ＧＲＳ、ＰＲＳ1,...,ＰＲＳ4を供給する。より詳細には、リセットモジュールＲＳＭはグローバルリセット信号ＧＲＳをシステムプロセッサＳＰＲに供給し、そして、種々のプロセッサリセット信号ＰＲＳ1,...,ＰＲＳ4を、データ処理モジュールＰＭ1,...,ＰＭ4毎にそれぞれ１つ供給する。グローバルリセット信号ＧＲＳは、１つ以上のデータ処理モジュールＰＭ1,...,ＰＭ4にも供給することができる。例えば、グローバルリセット信号ＧＲＳ及びリセット信号ＰＲＳ1をＯＲ（論理和）ゲートに供給することができる。こうした変形例では、このＯＲゲートがデータ処理モジュールＰＭ1用のリセット信号を供給する。データ処理モジュールＰＭ2,...,ＰＭ4用のそれぞれのリセット信号も同様の方法で得ることができる。
【００３５】
リセット信号は、例えば２つの異なる値をとることのできるバイナリ信号の形にすることができる。例えば、バイナリ１からバイナリ０への遷移がリセットを開始する。リセットは関係する実体を明確な初期状態にもっていくことができ、この実体はデータ処理モジュールＰＭ1,...,ＰＭ4またはシステムプロセッサＳＰＲのうちの１つであり得る。関係する実体は、逆の遷移後に初期状態を離れることができ、このことはリセット信号が再びバイナリ１になることを意味する。従って、リセットモジュールＲＳＭは、リセット信号のバイナリ１への再度のリセット設定後に、関係する実体を解放することができる。
【００３６】
リセットモジュールＲＳＭは、種々のリセット要求信号ＨＲＧ、ＳＲＧ、ＳＲＰ1,...,ＳＲＰ4及び状態信号ＳＴＡ、ＳＴＢを受信し、リセット要求を優先順位付け及びタイミング方式に従って処理する。この方式は、マルチプロセッサシステムＭＰＳがリセット後に正しく動作することを保証すべきである。優先順位付け及びタイミング方式の１つの態様は、異なるリセット要求に異なる優先順位を割り当てることである。
【００３７】
例えば、次のことを想定する：２つのリセット要求が同時または比較的短い時間間隔内に発生し、一方のリセット要求はデータ処理モジュールＰＭ1に関係し、他方のリセット要求はデータ処理モジュールＰＭ2に関係する。まずデータ処理モジュールＰＭ1のリセットを開始し、これに続いて所定クロックサイクル数後にデータ処理モジュールＰＭ2のリセットを開始することが有利であり得る。このように優先順位付けしてタイミングをとったリセットは、マルチプロセッサシステムＭＰＳが１つ以上の処理を適切な方法で終了することを可能にする。このことは、マルチプロセッサシステムＭＰＳが、それぞれのリセット後に適正に再起動することを可能にする。
【００３８】
優先順位付け及びタイミング方式の他の態様は、リセット後の解放に関係するものとすることができる。例えば、次のことを想定する：データ処理モジュールＰＭ2及びデータ処理モジュールＰＭ3が処理チェーンを形成する。まずデータ処理モジュールＰＭ2が、リセットによって生じた初期状態から起動し、そして所定の最小クロックサイクル数後に初めて、データ処理モジュールＰＭ3が初期状態から起動する。即ち、リセットモジュールＲＳＭは、データ処理モジュールＰＭ2が初期状態から解放されて初めて、データ処理モジュールＰＭ3を初期状態から解放する。従って、リセットモジュールＲＳＭは、リセット後に「物事が再び混乱する」ことを防止する。
【００３９】
マルチプロセッサシステムＭＰＳの異なる実現の各々が、ハードウェア及びソフトウェアの意味で、その実現に特有の異なる優先順位付け及びタイミング方式を必要とする。例えば、特定実現では、メモリＭＥＭがレディ（動作準備完了）状態である際のみに、リセットモジュールＲＳＭがデータ処理モジュールを、リセットによって生じた初期状態から解放することができる。メモリＭＥＭがレディ状態であることは、データ処理モジュールＰＭ1,...,ＰＭ4がメモリＭＥＭにデータを書き込み、メモリＭＥＭからデータを読み出すことができることを意味する。
【００４０】
状態信号ＳＴＡは、メモリＭＥＭがレディ状態であるか否かを示すことができる。例えば、状態信号ＳＴＡがバイナリ１である際にはメモリＭＥＭがレディ状態であり、状態信号ＳＴＡがバイナリ０である際にはメモリＭＥＭがレディ状態ではない。こうした実現では、優先順位付け及びタイミング方式は、状態信号ＳＴＡを考慮に入れてデータ処理モジュールを解放する時点を決定する。
【００４１】
リセットモジュールＲＳＭはマルチプロセッサシステムＭＰＳの特定実現の開発を促進する。このことは、ソフトウェア関係では特に正しい。システムソフトウェアプログラム、及びデータ処理モジュールＰＭ1,...,ＰＭ4用の種々の処理ソフトウェアプログラムを開発しなければならないソフトウェア設計者（デザイナー）は、リセット関係の問題を考慮に入れる必要がない。このことは、リセットモジュールＲＳＭが、マルチプロセッサシステムＭＰＳの特定ハードウェア実現における多くのリセット関係の問題に対処することによる。前に説明したように、リセットモジュールＲＳＭは、マルチプロセッサシステムＭＰＳ内に発生し得る種々の異なるリセット要求に関係する優先順位付け及び同期の問題に対処する。ソフトウェア設計者は、例えば新たなシステムソフトウェアプログラムまたは新たな処理ソフトウェアプログラム、あるいはその両方を所定のハードウェアプラットフォーム用に開発しなければならない際に、その作業をより容易にすることができる。
【００４２】
図３に、リセットモジュールＲＳＭを示す。リセットモジュールＲＳＭは、リセット要求レジスタＲＱＲ、要求処理モジュールＲＨＭ、及びリセット実行レジスタＲＥＲを具えている。リセット要求レジスタＲＱＲは種々のセルを、リセット要求信号ＨＲＧ、ＳＲＧ、ＳＲＰ1,...,ＳＲＰ4毎に１つ具えている。リセット実行レジスタＲＥＲにも同じことが当てはまる。
【００４３】
要求処理モジュールＲＨＭは、例えば１つ以上のカウンタ、ラッチ、ゲート等のような種々の論理回路を具えることができる。要求処理モジュールＲＨＭは、要求処理モジュールＲＨＭのそれぞれの入力とそれぞれの出力との間のそれぞれの転送機能を規定するプログラマブル論理回路も具えることができる。不揮発性メモリに含まれ、プログラマブル論理回路に供給されるプログラミングデータがこれらの論理転送機能を規定する。要求処理モジュールＲＨＭはソフトウェアベースのものとすることもできる。こうした実現では、要求処理モジュールＲＨＭは、それぞれの論理転送機能を提供する適切にプログラムされたプロセッサを具えている。
【００４４】
リセットモジュールＲＳＭは次のように動作する。リセット要求レジスタＲＱＲは、リセット要求信号ＨＲＧ、ＳＲＧ、ＳＲＰ1,...,ＳＲＰ4が搬送するリセット要求信号を記憶する。例えば、ハードウェア・グローバルリセット要求信号ＨＲＧが、グローバルリセット要求を負の小パルスの形で含むものと仮定する。バイナリ１からバイナリ０への遷移が存在し、比較的短時間後に逆の遷移が存在する。最初に述べた遷移は、ハードウェア・グローバルリセット要求信号ＨＲＧ用のセル内のビットをクリア（消去）する。このビットはバイナリ０になり、逆の遷移が生じた後にもこの値に留まる。このビットは、例えばグローバルリセット要求信号が許可されると再びバイナリ１に設定することができる。
【００４５】
ハードウェア・グローバルリセット要求信号ＨＲＧ用のセルは、記憶中のハードウェア・グローバルリセット要求信号ＭＨＲＧを要求処理モジュールＲＨＭに供給する。記憶中のハードウェア・グローバルリセット要求信号ＭＨＲＧは、このセル内のビットの値に対応する値を有する。同様の方法で、リセット要求レジスタＲＱＲは、受信したソフトウェア・グローバルリセット要求信号ＳＲＧ及びそれぞれのプロセッサリセット要求信号ＳＲＰ1,...,ＳＲＰ4に基づいて、記憶中のソフトウェア・グローバルリセット要求信号ＭＳＲＧ、及び記憶中のプロセッサリセット要求信号ＭＳＲＧ、ＭＳＲＰ1,...,ＭＳＲＰ4のそれぞれを要求処理モジュールＲＨＭに供給する。従ってリセット要求レジスタＲＱＲは、種々の異なる記憶中のリセット要求信号ＭＨＲＧ、ＭＳＲＧ、ＭＳＲＰ1,...,ＭＳＲＰ4を要求処理モジュールＲＨＭに供給する。
【００４６】
要求処理モジュールＲＨＭは、種々の異なる記憶中のリセット要求信号ＭＨＲＧ、ＭＳＲＧ、ＭＳＲＰ1,...,ＭＳＲＰ4に応答して、種々の異なる許可リセット要求信号ＧＨＲＧ、ＧＳＲＧ、ＧＳＲＰ1,...,ＧＳＲＰ4を供給する。許可リセット要求信号は、特定の記憶中のリセット要求信号に関連し、リセット要求信号が搬送したリセット要求が許可されたか否かを示す。従って、要求処理モジュールＲＨＭは許可ハードウェア・グローバルリセット要求信号ＧＨＲＧを供給し、この信号はハードウェア・グローバルリセット要求が許可されたか否かを示す。
【００４７】
許可ハードウェア・グローバルリセット要求信号ＣＨＲＧは、例えば、ハードウェア・グローバルリセット要求信号が許可されたことを示すバイナリ０であるか、あるいは、前述した要求が許可されていないことを示すバイナリ１であるバイナリ信号とすることができる。同様の方法で、リセット要求レジスタＲＱＲは許可ソフトウェア・グローバルリセット要求信号ＣＳＲＧ、及びそれぞれの許可プロセッサリセット要求信号ＧＳＲＰ1,...,ＧＳＲＰ4を供給する。
【００４８】
リセット実行レジスタＲＥＲは、リセット処理モジュールＲＨＭが許可したリセット要求を記憶する。リセット実行レジスタＲＥＲは、これらの許可されたリセット要求を、リセットモジュールＲＳＭが受信したリセット要求をリセット要求レジスタＲＱＲが記憶するのと同様の方法で記憶する。リセット実行レジスタＲＥＲは、許可ハードウェア・グローバルリセット要求信号ＧＨＲＧ用のセル、及び許可ソフトウェア・グローバルリセット要求信号ＧＳＲＧ用のセルを具えている。これらのセルはそれぞれ、実行ハードウェア・グローバルリセット要求信号ＥＨＲＧ及び実行ソフトウェア・グローバルリセット信号ＥＳＲＧをＯＲゲートに供給する。このＯＲゲートは、図２に示すグローバルリセット信号ＧＲＳを供給する。リセット実行レジスタＲＥＲは、それぞれの許可プロセッサリセット要求信号ＧＳＲＰ1,...,ＧＳＲＰ4毎にセルを具えている。これらのセルは、図２に示すそれぞれのプロセッサリセット信号ＰＲＳ1,...,ＰＲＳ4を直接供給する。
【００４９】
リセット要求レジスタＲＱＲ及びリセット実行レジスタＲＥＲは、マルチプロセッサシステムＭＰＳのいわゆるデバッグを促進する。デバッグは一般に特定のソフトウェアプログラムが関与し、このソフトウェアプログラムは一般にデバッガと称され、監視機能を有する。即ち、デバッガは、マルチプロセッサシステム内で発生していることを監視して、不具合にあり得る原因を検出する。またデバッガは、リセット関係の信号に特定の値を与えてマルチプロセッサシステムを制御する。
【００５０】
例えば、マルチプロセッサシステムＭＰＳは、特定のイベント・シーケンスの結果として不所望な状態に達することがあり、このシーケンスは１つ以上のリセットを含み得る。リセット要求レジスタＲＱＲ及びリセット実行レジスタＲＥＲはそれぞれ、要求されたリセット及び実行されるリセットについての正確な情報を提供する。デバッガは、これらのレジスタを読み取って、マルチプロセッサシステムＭＰＳ内で発生していることのより良好な図式を有することができる。従って、リセット要求レジスタＲＱＲ及びリセット実行レジスタＲＥＲはマルチプロセッサシステムＭＰＳ内のイベントの可観測性に寄与し、このことは不具合にあり得る原因のより良好な理解を可能にする。マルチプロセッサシステムＭＰＳが満足に機能する点に達するために必要とする開発労力は一般に、比較的少なくなる。
【００５１】
（結言）
以上の図面を参照した詳細な説明は、種々の独立請求項に挙げる次の特徴を例示している。データ処理装置（ＭＰＳ）が、独立してリセットすることのできる複数のデータプロセッサ（ＳＰＲ、ＰＭ1,...,ＰＭ4）を具えている。リセットモジュール（ＲＳＭ）が、種々のリセット要求信号（ＨＲＧ、ＳＲＧ、ＳＲＰ1,...,ＳＲＰ4）を優先順位付け及びタイミング方式に従って処理して、それぞれのデータプロセッサ（ＳＰＲ、ＰＭ1,...,ＰＭ4）用のそれぞれのリセット信号（ＧＲＳ、ＰＲＳ1,...,ＰＲＳ4）を得る。
【００５２】
以上の詳細な説明はさらに、従属請求項に挙げる種々の随意的な特徴を例示している。これらの特徴は、前述した特徴と組み合わせて有利に応用することができる。種々の随意的特徴は以下の段落で強調する。各段落が特定の従属請求項に対応する。
【００５３】
リセットモジュール（ＲＳＭ）が、それぞれのリセット要求信号（ＨＲＧ、ＳＲＧ、ＳＲＰ1,...,ＳＲＰ4）が搬送するそれぞれのリセット要求を記憶するためのリセット要求レジスタ（ＲＱＲ）を具えている。このことは比較的高速かつ低コストの設計に寄与する、というのは、例えば、リセットモジュール（ＲＳＭ）に与えられたリセット要求をデバッガが監視することができるからである。
【００５４】
リセットモジュール（ＲＳＭ）が、それぞれのリセット信号（ＧＲＳ、ＰＲＳ1,...,ＰＲＳ4）が搬送するそれぞれの許可されたリセット要求を記憶するためのリセット実行レジスタ（ＲＥＲ）を具えている。このことは、比較的高速かつ低コストの設計に寄与する、というのは、例えば、リセットモジュール（ＲＳＭ）が許可したリセット要求をデバッガが監視することができるからであり、これらのリセット要求がリセットを生じさせる。
【００５５】
リセットモジュール（ＲＳＭ）が、データ処理装置（ＭＰＳ）内の状態を示す少なくとも１つの状態信号（ＳＴＡ、ＳＴＢ）に基づいて、それぞれのリセット要求信号（ＨＲＧ、ＳＲＧ、ＳＲＰ1,...,ＳＲＰ4）を処理する。このことは不適切なリセットを防止して、マルチプロセッサシステムの満足な動作に寄与する。
【００５６】
リセットモジュール（ＲＳＭ）が、優先順位付け及びタイミング方式を規定する論理回路のアセンブリを具えている。このことは、比較的低コストの実現を可能にする。
【００５７】
リセットモジュール（ＲＳＭ）が、優先順位付け及びタイミング方式を規定するプログラマブル論理回路を具えている。このことは適度なコストでのフレキシビリティ（柔軟性）を可能にする。
【００５８】
前述した特徴は多くの異なる方法で実現することができる。このことを例示するために、いくつかの代案を簡単に示す。
【００５９】
前述した特徴はあらゆる種類のデータ処理装置において実現することができる。セルラ電話機、及びセルラ電話機用のマルチプロセッサシステムは単なる例に過ぎない。このデータ処理装置は、これらと同等に、例えばテレビジョン受像機、携帯型ビデオプレーヤ及びパーソナルコンピュータ、セットトップボックス、パーソナル・ディジタル・アシスタント（個人用携帯情報端末）、等、あるいは前述した製品のいずれかのためのシステムオンチップとすることができる。
【００６０】
リセット要求信号はあらゆる形をとることができる。以上の詳細な説明は、バイナリ信号の形であるリセット要求信号の例を記載している。バイナリ０がリセット要求を表現する。逆に、他のリセット要求信号では、バイナリ１がリセット要求を表現することができる。リセット要求信号は必ずしもバイナリ信号である必要はない。重要なことは、リセット要求信号がリセット要求を搬送することができることに尽きる。同様の所見はリセット信号にも当てはまり、あらゆる形をとることができる。重要なことは、リセット信号がデータプロセッサをリセット状態にもっていき、その後にこのデータプロセッサをリセット状態から解放することができることに尽きる。
【００６１】
リセット要求信号はあらゆる発生源を有することができる。状態信号にも同じことが当てはまる。リセット要求信号は、例えばデータ処理装置上で実行されるあらゆるソフトウェアプログラムから発生することができる。リセット要求信号は、他の外部のデータ処理装置上で実行されるソフトウェアプログラムからも発生することができる。状態信号も外部の実体から発生することができる。同じデータプロセッサに関係するリセット要求を搬送するための、異なるリセット要求信号が存在し得る。例えば、図２に示すマルチプロセッサシステムは、処理モジュールＰＭ1用に２つのリセット要求信号が存在し、一方はハードウェアリセットに関係するリセット要求信号、他方はソフトウェアリセットに関係するリセット要求信号とすることができる。
【００６２】
リセットモジュールは多くの異なる方法で実現することができる。リセットモジュールは、リセットモジュールの動作を規定する種々の素子及びこれらの素子間の相互接続を具えた専用回路とすることができる。リセットモジュールは、プログラミングデータを有するプログラマブルメモリを具えたプログラマブル回路とすることもできる。こうした実現では、プログラミングデータを変更することによってリセットモジュールが実行する動作を変更することができる。実現を例示する図３を参照すれば、リセットモジュールが、リセット要求レジスタとリセットモジュールのそれぞれの出力との間に結合される論理回路の多くの異なる構成を具えることができる。リセット要求レジスタは、論理回路の介在なしにそれぞれのリセット信号を直接供給することもできる。
【００６３】
「データプロセッサ」は広い意味に理解すべきである。この用語は、あらゆる種類の入力データを処理することのできるあらゆる回路またはシステムを含む。
【００６４】
ハードウェアまたはソフトウェア、あるいはその両方のアイテム（品目）によって機能を実現する多くの方法が存在する。この関係では、各図面は非常に概略的なものであり、各々が本発明の１つの可能な実施例を表現するに過ぎない。従って、図面は異なる機能を異なるブロックとして示しているが、このことは決して、単一のハードウェアまたはソフトウェアのアイテムがいくつかの機能を実行することを排除するものではない。また、ハードウェアまたはソフトウェア、あるいはその両方のアイテムのアセンブリが１つの機能を実行することを排除するものでもない。
【００６５】
以上で行った説明は、図面を参照した詳細な説明が本発明を限定するものではなく例示するものであることを明らかにするものである。請求項の範囲内に入る多くの代案が存在する。「具える」等は、請求項中に挙げた以外の要素またはステップの存在を排除するものではない。各構成要素またはステップは複数存在し得る。
【図面の簡単な説明】
【００６６】
【図１】セルラ電話機を示すブロック図である。
【図２】セルラ電話機の一部を形成するマルチプロセッサシステムを示すブロック図である。
【図３】マルチプロセッサシステムの一部を形成するリセットモジュールを示す図である。
【図１】
2009514084.tif 000003
【図２】
2009514084.tif 000004
【図３】
2009514084.tif 000005
【国際調査報告】
2009514084.tif 000006
2009514084.tif 000007
2009514084.tif 000008