(57)【特許請求の範囲】
【請求項１】
データ処理システム（１０）であって：
第１設定値を記憶するマスク・レジスタ（４０）；
複数のバス端子（４８）であって、該複数のバス端子の第１部分が強く供給される第２設定値を受信する、複数のバス端子（４８）；
内部リセット信号を発生し、前記データ処理システム（１０）がリセット動作を実行中であることを示すリセット回路（４６）；
前記リセット回路（４６）に結合され前記内部リセット信号を受信し、前記マスク・レジスタ（４０）に結合され前記第１設定値を受信する外部バス制御回路（４４）であって、前記強く供給される第２設定値に対し前記第１設定値を弱く供給する前記外部バス制御回路（４４）；および
前記リセット回路（４６）に結合され前記内部リセット信号を受信し、前記外部バス制御回路（４４）に結合され前記第１設定値を受信し、前記複数のバス端子（４８）に結合され前記第２設定値を受信する端子制御回路（５２）；
を具備し、
該端子制御回路（５２）は前記弱く供給された第１設定値を上書きするために前記第２設定値が強く供給されたことに応じて修正した設定値を発生し、該修正した設定値の各ビットは、前記複数のバス端子（４８）の対応する部分により与えられる前記第２設定値の対応するビットによって上書きされていない、前記第１設定値の各ビットに対応することを特徴とするデータ処理システム（１０）。
【請求項２】
データ・プロセッサ（１０）に設定値を与える方法であって：
リセット回路（４６）をイネーブルし、リセット信号をアサートする段階；
マスク・レジスタ（４０）から弱く供給されるマスク設定値を読み出す段階；
複数の集積回路端子（４８）から外部設定値を読み出す段階であって、前記外部設定値は前記弱く供給されるマスク設定値に対し強く供給される段階；
端子制御回路（５２）をイネーブルし、前記弱く供給されるマスク設定値および前記強く供給される外部設定値双方に応答して修正設定値を発生する段階であって、前記修正設定値の各ビットが、前記強く供給される外部設定値の対応するビットによって上書きされていない、前記マスク設定値の各ビットに対応する前記修正設定値を発生する段階；および
前記修正設定値を設定レジスタ（５０）に記憶する段階；
を具備することを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的に不揮発性メモリ・レジスタを有するデータ・プロセッサに関し、更に特定するれば、かかるデータ・プロセッサのリセット設定(reset configuration) を決定するマスク・プログラム・レジスタ(mask programmed register)を有するデータ・プロセッサに関するものである。
【０００２】
【従来の技術】
データ・プロセッサをリセットするとき、このデータ・プロセッサを予め選択されているリセット設定に構成するが、かかるリセット設定はデータ・プロセッサによって実行されるアプリケーションによって異なる。データ・プロセッサの中には、システム統合モジュール(system integration module) を用いてリセット時の構成を行うものがある。多数の動作モードを有する他のデータ・プロセッサには、特定のアプリケーションに対するリセット設定を決定するために、多数の外部集積回路のピンを必要とするものがある。外部集積回路のピンに送り込まれる論理値にしたがって、リセット時にデータ・プロセッサを構成する場合、集積回路ピン上に論理値を送り込むために外部回路が必要となる。更に、リセット処理を実行した後、通常の動作モードを考慮して、論理値即ち構成値を集積回路ピンから除去しなければならない。
【０００３】
加えて、リセット動作直後のデータ処理動作は、異なるデータ・プロセッサ構成において異なる結果をもたらす可能性があるので、リセット動作後の素子の動作のための構成は、リセット動作の間に確定しなければならない。例えば、データ・リセット後の最初の命令を取り込むのは、データ・プロセッサ内の内部記憶装置またはデータ・プロセッサ外部の素子のどちらからなのかをプロセッサに「命令する」ために、構成データを必要とする場合がある。他の例では、動作モードが、アドレス信号、データ信号およびオプションの制御信号が異なる時点に同一バス端子に供給される多重化モード、またはアドレス信号、データ信号、および制御信号が異なるバス端子上に供給される非多重化モードをデータ・プロセッサに「命令する」ために、構成データを必要とする場合もある。リセット動作の間に構成を特定しておかないと、データ・プロセッサは通常デフォルト設定とされる。
【０００４】
データ・プロセッサのデフォルト設定を無効化(override)したい外部ユーザは、通常、外部回路を用いて、データ・プロセッサの外部集積回路ピン上に適切なリセット設定データを送り込み、データ・プロセッサを所望の通りに構成する。しかしながら、外部回路を設けることにより、データ・プロセッサに関連するオーバーヘッド・コストが大幅に上昇し、データ処理環境によっては不可能な場合もある(prohibitive) 。したがって、データ・プロセッサの外部リセット設定を、価格効率的に与えるための新たな解決案が必要とされている。今述べたことは、特に、大量のデータ・プロセッサを必要とするユーザにとって重要である。なぜなら、リセット動作の間に外部集積回路ピン上にリセット設定データを送り込むのに現在必要とされている外部回路を選択的に不要とすることができれば、大幅な競争力強化を図ることができるからである。
【０００５】
【発明が解決しようとする課題】
かかるユーザは、通常、データ・プロセッサの製造者に、ユ−ザの仕様に合わせたデータ・プロセッサの開発および製造を依頼し、量的な問題を解決していた。このような個別の解決策では、製造者は、データ・プロセッサを選択的に別の設定にする回路を、提供しなければならない。それどころかデフォルト設定(default configuration) にする回路を提供する場合もある。というのは、個々の仕様に合うデ−タプロセッサを個別に依頼する余裕のない小規模ユ−ザからの多様な用途に応じるためである。折衷案として、プログラミングによってデータ・プロセッサをある動作モードで動作するように構成可能な、電気的消去可能プログラム可能リード・オンリー・メモリでレジスタを製造することがある。しかしながら、このＥＥＰＲＯＭレジスタは、通常検査が難しく、プログラムに長時間を要し、しかも実施にかかる費用も増大する。更に、ＥＥＰＲＯＭレジスタをプログラムするには、別の製造工程を必要とするため、大規模ユーザにとってはオーバーヘッド・コストが大幅に上昇する可能性がある。
【０００６】
したがって、リセットの間に容易に構成可能であり、データ・プロセッサのオーバーヘッド・コストを最小に抑えるデータ・プロセッサが必要とされている。
【課題を解決するための手段】
本発明は、リセット動作の間にデータ・プロセッサの内部デフォルト設定を決定する内部マスク・プログラム可能レジスタを提供する。このデフォルト設定は、弱いドライバを用いて、データ・プロセッサの複数の外部集積回路ピンに送り込まれる。こうして、外部ユーザは、個々のピン毎に、各集積回路ピンをデフォルト状態のまま残すのか、あるいは外部構成値で駆動するのかを選択することができる。外部ユーザが、集積回路ピンをデフォルト状態のまま残す選択を行った場合、内部マスク・プログラム可能レジスタによって供給される内部デフォルト設定データ値が、集積回路ピンによって出力される。逆に、外部ユーザがデフォルト状態を無効化する選択を行った場合、ユーザは外部データ源を用いて、外部構成値を集積回路ピンに送り込む。デフォルト設定データは、内部マスク・プログラム可能レジスタによって供給されるか、あるいは外部ユーザによってピン毎に選択的に無効化されるが、外部バス構成、クロック構成、チップ・セレクト構成、およびポート構成を含む。
【０００７】
本発明が実施される環境を説明する。リセット動作の間に、データ・プロセッサの構成が決定される。これは、リセット後最初の動作が、データ・プロセッサを異なる構成で異なる機能を実行させる場合があるためである。本発明では、データ・プロセッサのデフォルト・リセット設定が、プログラム可能マスク・レジスタからアクセスされる。更に、デフォルト・リセット設定は、外部ユーザによって送り込まれる外部構成値によって、全体的にまたは単に部分的に無効化することができる。
【０００８】
また、本発明では、データ・プロセッサのデフォルト・リセット設定が外部データ源によって全体的にまたは部分的に無効化されなければ、このデフォルト・リセット設定はプログラム可能マスク・レジスタから取り込まれる。
【０００９】
このデータ・プロセッサを使用する顧客（ユ−ザ）は、データ・プロセッサの製造プロセスの間に、マスク・レジスタにプログラムすべき値を指定する。オプションとして、生産検査、開発システム、プロトタイプのような用途や、アプリケーションのためにデフォルト・リセット設定を必要としないユーザがデータ・プロセッサを購入する場合のために、デフォルト・リセット設定を、外部集積回路ピンから送り込むことができる。データ・プロセッサのシステム統合回路内に実施される回路によって、外部ユーザは、ピン毎に、内部マスク・レジスタによって提供されるデフォルト設定を選択的に無効化することができる。したがって、ユーザは、リセット設定値の一部を、内部マスク・レジスタに記憶されているデフォルト値から供給させ、リセット設定値の残りの部分を外部ユーザによって外部から送り込むように選択を行うことができる。
【００１０】
マスク・プログラム可能レジスタを、ユーザがマスク・プログラム可能レジスタによって決定されるデフォルト設定の全体またはその一部を無効化できる機能とを組み合わせたことにより、本発明は従来技術による実施形態よりもコスト的に有利である。例えば、大規模ユーザは、リセット処理の実行の間に構成データを送り込むために必要な外部回路を不要とし、彼等のデータ処理システムのコスト削減を図ることができる。更に、マスク・プログラム可能レジスタは、プロセッサの製造者が既知の技術を用いて実施し、データ・プロセッサをかかる大規模ユーザの仕様に合わせて製造することができる。加えて、特殊なシステムまたは少規模ユーザのために、製造者は外部データ源を追加し、データ・プロセッサのマスク・プログラム可能レジスタ内に記憶されているリセット設定の全体または一部を選択的に無効化することも可能である。
【００１１】
本発明は、データ・プロセッサを、デフォルト設定、または検査目的やデフォルト設定を無効化することその他の動作に必要とされることのいずれかの構成に、選択的に構成可能とするものである。本発明を実施するデータ・プロセッサによって具体化される選択性は、特に小規模ユーザにとって、彼らの仕様に合わせたデータ・プロセッサの設計を製造者に依頼する余裕がない場合に有用である。加えて、本発明のデータ・プロセッサを選択的に構成できる機能は、既存のデータ・プロセッサを、プロトタイプとしてまたはシステム開発のために使用したいユーザには有用である。
【００１２】
尚、本発明を実施するデータ・プロセッサの接続状態(connectivity)および動作についての以下の説明では、「リセットの間」とはリセット信号がアサートされている期間を意味する。また、「通常動作」という用語は、リセット信号がニゲート(negate)されているときのデータ・プロセッサの動作モードを意味する。更に、以下の説明では、「上書きされる(overwritten) 」、「無効化される(overriden) 」および「オーバードライブされる(overdriven)」は全て、同一の意味を示唆するものである。
【００１３】
尚、本願に関連する出願に、Oded Yishay et al.により１９９５年６月２６日に出願された、"Reset Configuration in a Data Processing System and Method Therefor" と題する米国特許出願番号第０８／４９４，６６４号がある。
【００１４】
【発明の実施の形態】
以下、本発明の実施形態における構成を説明する。
本発明の接続状態に関する以下の説明では、「バス」という用語は、デ−タ、アドレス、制御、ステータスのような１つ以上の様々なタイプの情報を転送するために用いられる、複数の信号または導体を意味するために使用するものとする。また、「アサート(assert)」および「ニゲート」という用語は、それぞれ、信号、状態ビット、または同様の装置がその論理真状態または論理虚状態になることに言及する場合に使用する。論理真状態が論理レベル１の場合、論理虚状態は論理レベル０となる。一方、論理正状態が論理レベル０の場合、論理虚状態は論理レベル１となる。
【００１５】
更に、数の直前にある記号「＄」は、その数が１６進数即ち基数を１６とした形態で表されていることを示す。また、数の直前にある記号「％」は、その数が二進数即ち基数を２とした形態で表されていることを示す。
【００１６】
図１は、データ処理システム１０を示す。データ処理システム１０は、バス２８を通じて、外部素子１１と通信を行う。バス２８は、本明細書においては、複数の集積回路端子２８と相互交換可能に用いられるものとする。データ処理システム１０は、中央演算装置（ＣＰＵ）１２、タイマ回路１４、システム統合回路１６、直列通信回路１８、アナログ−デジタル（Ａ／Ｄ）変換器２０、およびスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）２２を含む。ＣＰＵ１２、タイマ回路１４、システム統合回路１６、直列通信回路１８、Ａ／Ｄ変換器２０、およびＳＲＡＭ２２の各々は、バス２８を通じて内部的に通信を行う。
【００１７】
図２は、本発明を利用したデータ処理システム１０のシステム統合回路１６の一部を示す。システム統合回路１６は、マスク・レジスタ４０、バス・インターフェース部４２、外部バス制御部４４、リセット回路４６、複数のバス端子４８、構成レジスタ５０、および端子制御回路５２を含む。システム統合回路１６のバス・インターフェース部４２は、バス３６を通じて、データ処理システム１０の残りの部分に結合されている。バス・インターフェース部４２は、内部アドレス・バス５２、内部データ・バス５４、および内部制御バス５６を通じて、外部バス制御部４４に結合されている。
【００１８】
構成レジスタ５０はリセット回路４６に結合され、内部リセット信号を受信する。また、構成レジスタ５０はバス・インターフェース部４２にも接続され、構成データバスを供給する。構成レジスタ５０は、外部アドレス・バス６６、外部データ・バス６４、および外部制御バス６２を通じて、複数のバス端子４８に結合されている。
【００１９】
マスク・レジスタ４０は外部バス制御部４４に結合され、マスク・データ・バスを供給する。外部バス制御部４４は端子制御部５２に結合され、アドレス・バス２０２、制御出力イネーブル・バス２０４、データ・バス２０６、制御バス２１０、およびデータ出力イネーブル信号２０８を供給する。リセット回路４６は、外部バス制御部４４と端子制御部５２とに結合され、内部リセット信号を供給する。また、リセット回路４６は複数のバス端子４８にも結合され、外部リセット信号を双方向的に通信する。複数のバス端子４８は端子制御部５２に結合され、外部アドレス・バス６６、外部データ・バス６４、および外部制御バス６２を通じて、情報を双方向的に通信する。複数のバス端子４８は、複数の集積回路ピン２８を通じて、情報を供給する。
【００２０】
複数のバス端子４８の一部を図３により詳細に示す。複数のバス端子４８は、リセット端子７０、フリーズ端子(Freeze terminal) ７２、サイズ端子７４、複数のモード・ストローブ端子(Mode Strobe terminal)７７、およびモード選択端子７８から成る。複数のモード・ストローブ端子７７は、Ｄ［１０」信号、Ｄ［１］信号、およびＤ［０］信号を外部データ・バス６４に供給する。モード選択端子７８は、モード選択信号を外部制御バス６２に供給する。フリーズ端子７２は、フリーズ信号を外部制御バス６２に供給する。加えて、サイズ端子７４はサイズ信号を外部制御バス６２に供給する。リセット端子７０は、外部リセット信号をリセット回路４６に供給する。複数のバス端子４８は、複数の集積回路端子２８を通じて、外部素子１１にも結合されている。
【００２１】
図４は、端子制御部５２の一部をより詳細に示す。図示した端子制御部５２の部分は、反転器５２２、ＡＮＤゲート５２４、バッファ５２６、バッファ５２８、ＡＮＤゲート５３０、バッファ５３２、バッファ５３４、ＡＮＤゲート５３６、バッファ５３８、バッファ５４０、ＡＮＤゲート５４２、バッファ５４４、およびバッファ５４６から成る。
【００２２】
反転器５２２はリセット回路４６に結合され、その第１入力において内部リセット信号を受信する。内部リセット信号は、バッファ５２８、バッファ５３４、バッファ５４０、およびバッファ５４６の各々の制御入力にも供給される。反転器５２２の出力は、ＡＮＤゲート５２４、ＡＮＤゲート５３０、ＡＮＤゲート５３６、およびＡＮＤゲート５４２の各々の第１入力に結合されている。
【００２３】
ＡＮＤゲート５２４の第２入力は、制御出力イネーブル・バス２０４に結合されている。ＡＮＤゲート５２４の出力は、バッファ５２６の制御入力に結合されている。制御バス２１０は、フリーズ信号を、バッファ５２６の入力およびバッファ５２８の入力に供給する。バッファ５２６の出力およびバッファ５２８の出力は、外部制御バス６２に結合されている。
【００２４】
ＡＮＤゲート５３０の第２入力は、データ出力イネーブル信号２０８に結合されている。ＡＮＤゲート５３０の出力は、バッファ５３２の制御入力に結合されている。データ・バス２０６は、Ｄａｔａ［３］信号を、バッファ５３２の入力およびバッファ５３４の入力に供給する。バッファ５３２の出力およびバッファ５３４の出力は、外部データ・バス６４に結合されている。
【００２５】
ＡＮＤゲート５３６の第２入力は、データ出力イネーブル信号２０８に結合されている。ＡＮＤゲート５３６の出力は、バッファ５３８の制御入力に結合されている。データバス２０６は、Ｄａｔａ［１］信号を、バッファ５３８の入力およびバッファ５４０の入力に供給する。バッファ５３８の出力およびバッファ５４０の出力は、外部データ・バス６４に結合されている。
【００２６】
ＡＮＤゲート５４２の第２入力は、制御出力イネーブル・バス２０４によって供給されるサイズ出力イネーブル信号に結合されている。ＡＮＤゲート５４２の出力は、バッファ５４４の制御入力に結合されている。制御バス２１０は、サイズ信号を、バッファ５４４の入力およびバッファ５４６の入力に供給する。バッファ５４４の出力およびバッファ５４６の出力は、外部制御バス６２に結合されている。
【００２７】
図８は、外部バス制御部４４の一部をより詳細に示す。図示した外部バス制御部４４の部分は、ＯＥ（出力イネーブル）発生器４４０、マルチプレクサ４４２、およびマルチプレクサ４４４から成る。
【００２８】
マスク・データ・バスは、シャドウ・データ(shadow data) を、複数のマルチプレクサ４４２ないし４４４の各々に供給する。明確化のために、２つのマルチプレクサのみを用いて、本発明に実際に実施してある複数のマルチプレクサを表わすことにする。したがって、シャドウ・データ１信号がマルチプレクサ４４２に供給され、シャドウ・データＮ信号がマルチプレクサ４４４に供給される。発生バスが、内部制御バス５６を通じて、ＯＥ発生器４４０に供給されている。内部データ・バス５４を通じて、マルチプレクサ４４２にデータ値が供給される。内部制御バス５６を通じて、マルチプレクサ４４４に制御値が供給される。内部リセット信号は、マルチプレクサ４４２ないし４４４の各々の制御入力に供給される。ＯＥ発生器４４０は、制御出力イネーブル・バス２０４およびデータ出力イネーブル信号２０８を供給する。マルチプレクサ４４２は、Ｄ［１０］データ値をデータ・バス２０６に供給する。マルチプレクサ４４４は、フリーズ信号を制御バス２１０に供給する。
【００２９】
次に、本発明の実施形態における動作を説明する。
図１に示したデータ処理システム１０の動作の間、ＣＰＵ１２は、バス３６を通じて転送される複数のアドレス、データ、および制御信号によって、タイマ回路１４、システム統合回路１６、直列回路１８、Ａ／Ｄ変換回路２０、およびＳＲＡＭ２２の各々の動作を制御する。ＣＰＵ１２は、データ処理システム１０の動作の間に必要とされる命令の各々を実行する。バス３６は、ＣＰＵ１２とデータ処理システム１０のその他の部分との間で情報の通信を行う。更に、タイマ１４がタイミング制御および割り込み構造を与える。タイミング制御および割り込み構造はデータ処理技術では一般的に既知であるので、これ以上詳しく論じないことにする。直列回路１８は直列データを通信する。Ａ／Ｄ変換器２０は、外部集積回路ピン３２を通じて外部データ源から供給されるデータに応答して、アナログ／デジタル変換動作を実行する。ＳＲＡＭ２２は、データ処理システム１０の動作の間実行される機能のためにメモリ記憶部を提供する。加えて、システム統合回路１６は、データ処理システム１０と、外部素子１１を含む複数のその他の外部素子との間の相互作用を可能にする。
【００３０】
図２により詳細に示したシステム統合回路１６の一部は、データ処理システム１０を、マスク・レジスタに記憶されているデフォルト・リセット設定にしたがって構成すべきか、あるいはバス２８を通じて複数のバス端子によって供給される外部データにしたがって構成すべきかを決定する。データ処理システム１０の動作の間、リセット動作は、システム統合回路１６の内部または外部のどちらからでも発生させることができる。外部から発生されるリセット動作は、外部素子１１が（図３の）複数のバス端子４８のリセット集積回路端子７０をアサートしたときに開始する。リセット集積回路端子７０は、それに応答して、外部リセット信号を発生する。続いて、外部リセット信号はリセット回路４６に転送され、リセット回路４６は内部リセット信号をアサートする。同様に、内部から発生されるリセット動作は、データ処理システム１０のいずれかのモジュールによって発生することができる。かかる内部リセット要求は、バス３６を通じて、バス・インターフェース部４２に供給される。あるいは、内部離リセット要求は、直接、データ処理システム１０の要求元モジュールまたはサブモジュールによって発生することもできる。かかる内部リセット要求（ここでは図示しない）に応答して、リセット回路４６は、内部リセット信号および外部リセット信号双方をアサートする。外部および内部リセット動作双方が開始されると、内部リセット信号、外部リセット信号、およびリセット集積回路端子７０がアサートされる。
【００３１】
動作中、データ処理システム１０は、外部リセット集積回路ピン７０がアサートされるときに、所望の動作モードに構成される。これらのモードは、スレーブ工場検査モード、マスタ検査モード、エミュレータ・モード、マスタ・モード、および単一チップ・モードを含む。動作モードに加えて、データ処理システム１０のＰＬＬ（位相ロック・ループ）モード、サイズ・モード、クロック・モードも、外部リセット集積回路ピン７０がアサートされるときに決定される。データ処理システム１０は、２：１ＰＬＬモードまたは１：１ＰＬＬモードで動作するように構成することができる。同様に、データ処理システム１０は、１６ビットまたは８ビット・サイズ・モードで動作するようにも構成可能である。更に同様に、予め選択された集積回路ピンをイネーブルし、ポート(PＯＲＴ［４］ )として、またはクロック入力として動作させるクロック・モードも、外部リセット集積回路ピン７０がアサートされるときに決定される。尚、上述のモードは、本発明の一実施例を単に例示するものに過ぎず、動作モードの追加や各動作モードにおいて異なる構成を追加することによるモードの補強も可能であることは十分に理解されよう。
【００３２】
データ処理システム１０の動作モードおよび構成を決定するために、外部ユーザは、内部マスク・レジスタ４０によって供給されるデフォルト・リセット設定を用いてもよいし、あるいは個々の集積回路ピン毎に選択を行い、外部データ源から当該集積回路ピンに代替データを送り込むことによって、そのピンに供給されたデフォルト・リセット設定データを無効化することも可能である。言い替えると、外部ユーザが、内部マスク・レジスタ４０によって供給されるデータによって実施されるデフォルト・リセット設定状態を使用したい場合、なにも操作は要求されない。データ処理システム１０の動作の属性を構成するのには、内部マスク・レジスタ４０によって供給されるデフォルト・リセット設定が用いられる。しかしながら、外部ユーザが、マスク・レジスタ４０に記憶されているデフォルト・リセット設定データによって指定される構成の全体または一部を変えたい場合、外部ユーザは、複数の集積回路ピンの全てまたは指定したものに代替データを送り込むことによって、デフォルト・データを無効化することができる。
【００３３】
第１例において、リセット動作が実行中であり、構成データをマスク・レジスタ４０から読み出し、マスク・データ・バスを通じて外部バス制御部４４に転送すると仮定する。図８に示すように、外部バス制御部４４は、内部制御バス５６から発生バスを読み出す。第１制御信号を読み出したなら、それをOE（出力イネーブル）発生器４４０に供給し、制御出力イネーブル・バス２０４を発生する。加えて、外部バス制御部４４は、第１データ・ビット、即ち、シャドウ・データ１をマスク・データ・バスから読み出す。シャドウ・データ１は、マルチプレクサ４４２の第１入力に供給される。加えて、対応するデータ・ビットが、内部データ・バス５４によって、マルチプレクサ４４２の第２入力に供給される。リセット回路によって発生される内部リセット信号は、シャドウ・データ１ビットおよび対応するデータ・ビットのどちらを、データ・バス２０６を通じて供給するのかを決定するために供給される。内部リセット信号がアサートされることによって、データ処理システム１０がリセットされておりこれを構成する必要があることが示されると、マルチプレクサ４４２は、シャドウ・データ１を、データ・バス２０６を通じて、端子制御部５２に供給する。内部リセット信号がニゲートされている他の全時点では、マルチプレクサ４４２は対応するデータ・ビットをデータ・バス２９６に供給する。
【００３４】
同様に、外部バス制御部４４は、最後のデータ・ビット、即ち、シャドウ・データＮをマスク・データ・バスから読み出す。シャドウ・データＮビットは、マルチプレクサ４４４の第１入力に供給される。加えて、対応する制御ビットが、内部制御バス５６によって、マルチプレクサ４４４の第２入力に供給される。リセット回路４６によって発生される内部リセット信号は、シャドウ・データＮビットおよび対応する制御ビットのどちらを、データ・バス２０６を通じて供給するのかを決定するために供給される。内部リセット信号がアサートされることによって、データ処理システム１０がリセットされておりこれを構成する必要があることが示されると、マルチプレクサ４４４はシャドウ・データＮビットをフリーズ信号として、制御バス２１０を通じて端子制御部５２に供給する。内部リセット信号がニゲートされている他の全時点では、マルチプレクサ４４４は対応する制御ビットを制御バス２１０に供給する。
【００３５】
具体的に図８には詳細に示していないが、外部バス制御部４４には追加のマルチプレクサが設けられており、データ処理システムの残りの部分に構成データを供給することは理解されよう。この場合、追加のマルチプレクサは、データ処理システム１０の動作モード、ＰＬＬモード、サイズ・モード、およびクロック・モードを決定するために設けられる。外部バス制御部４４の効果は、内部リセット信号がアサートされたときに、マスク・レジスタ４０によって供給される全てのデフォルト設定データを、制御出力イネーブル・バス２０４、データ・バス２０６、制御バス２１０、およびデータ出力イネーブル信号２０８を通じて、端子制御部５２に供給することである。
【００３６】
デフォルト設定データが端子制御部５２に供給されると、端子制御部５２は、マスク・レジスタ４０および外部バス制御部４４によって供給されるデフォルト・データを弱く送り出す。この弱く送り出されるデフォルト・データは、当該デフォルト・データの部分がデータ処理システム１０外部のデータ源によって供給される外部構成データによって無効化されない場合に、データ処理システム１０に構成データを供給するために用いられる。
【００３７】
先に説明したように、端子制御部５２は、外部バス制御部４４から内部構成データを受信する。内部構成データは、フリーズ信号、Ｄａｔａ［３］信号、Ｄ［１０］信号、Ｄ［１］信号、Ｄ［０］信号、およびサイズ信号を含む。再び、これらの信号は各々、外部バス制御部４４内に設けられているマルチプレクサによって供給されることを注記しておく。更に、外部構成データは、外部アドレス・バス６６、外部データ・バス６４および外部制御バス６２を通じて、複数のバス端子４８から読み出すことができる。外部構成データは、図３に示した複数のバス端子４８に供給される。複数のバス端子４８の各々は、次に、外部制御バス６２および外部データ・バス６４の内適切な一方と接続される。リセット端子７０は外部リセット信号をリセット回路４６に供給する。
【００３８】
バッファ５２６，５３２，５３６，５４４の各々は、外部アドレス・バス６６、外部データ・バス６４、および制御バス６２の１つに情報を送り込むことができる強いドライバであることを注記するのは重要なことである。同様に、バッファ５２８，５３４，５４０，５４６の各々は弱いドライバであり、外部アドレス・バス６６、外部データ・バス６４、および外部制御バス６２の１つに情報を弱く供給し、複数のバス端子４８によって外部から供給される情報によって無効化され得ることを注記するのも重要なことである。
【００３９】
本発明の動作の間、内部リセット信号は端子制御部５２に供給される。内部リセット信号を供給することによりは、バッファ５２８，５３４，５４０，５４６の各々をイネーブルし、データを転送させる。加えて、内部リセット信号は反転され、ＡＮＤゲート５２４，５３０，５３６，５４２の各々に供給される。内部リセット信号がニゲートされると、ＡＮＤゲート５２４はバッファ５２６をディゼーブルする。同様に、内部リセット信号がニゲートされると、ＡＮＤゲート５３０はバッファ５３２をディゼーブルし、ＡＮＤゲート５３６はバッファ５３８をディゼーブルし、ＡＮＤゲート５４２はバッファ５４４をディゼーブルする。内部リセット信号がニゲートされ、バッファ５２６，５３２，５３６，５４４によって設けられた強力なドライバがディゼーブルされると、外部バス制御部４４によって供給されるデフォルト設定情報が、外部アドレス・バス６６、外部データ・バス６４、および外部制御バス６２の１つに、バッファ５２８，５３４，５４０，５４６によって形成される弱いドライバの各々によって送り込まれる。このような弱いドライバによってデフォルト設定情報が送り込まれた場合、複数のバス端子４８の１つに送り込まれた値によって容易に無効化することができる。
【００４０】
次に、本発明の一実施例の動作例について詳細に説明する。図７を参照すると、本発明において実施される可能性のある構成を表わす表が示されている。図７に示すように、データ処理システムのモードは、デフォルトによって、リセット時にマスタ・モードで動作するように構成されているものと仮定する。この場合、マスク・レジスタ４０は、ビット０ないし２に％１０１の二進数を記憶する。内部リセット信号がアサートされることによって、データ処理システム１０がリセットされておりこれを構成すべきことが示されると、二進数％１０１は、マスク・データ・バスを通じて、外部バス制御部４４に供給される。内部リセット信号がアサートされているので、二進数％１０１は、対応する複数のマルチプレクサ（図８には示されていない）に供給され、次いでそこから出力される。本発明の実施例では、マルチプレクサは、この二進数をデータ・バス２０６に供給する。
【００４１】
対応する複数のマルチプレクサから、二進数％１０１が、データ・バス２０６を通じて、端子制御部５２に供給される。尚、データ処理システム１０の動作モードを決定する二進数は、外部素子１１のような外部素子によって、モード・ストローブ集積回路端子７７に送り込まれる情報によって無効化され得ることを注記しておく。外部素子１１が複数のモード・ストローブ集積回路端子７７にデータを供給しない場合、二進数％１０１は出力され、端子制御部５２内に設けられているバッファから弱く送り出される。続いて、二進数％１０１は、外部データ・バス６４を通じて、２つの構成レジスタ５０を介し、ビット０に供給され記憶される。構成レジスタ５０から、この値を用いて、データ処理システムをマスタ動作処理で動作するように構成する。
【００４２】
逆に、外部素子１１が情報を複数のモード・ストローブ集積回路端子７７に供給し、外部ユーザがデータ処理システム１０を、マスタ・モードではなく単一チップ・モードで動作させたいことを示していると仮定する。この場合、モード・ストローブ集積回路端子７７は二進数％１１０を発生し、データ処理システムが単一チップ動作モードで動作すべきことを示す。この場合、二進値％１０１も未だ出力され、端子制御部５２内に設けられているバッファから弱く送り出されている。しかしながら、弱く送り出されている値％１０１は、モード・ストローブ集積回路端子７７によって供給される二進値％１１０によって上書きされる。モード・ストローブ集積回路端子７７によって供給される値は、端子制御部５２内に設けられているバッファによって送り出された弱い値を無効化する。その後、二進数％１１０は、外部データ・バス６４を通じて、構成レジスタ５０のビット０ないし２に供給され、記憶される。構成レジスタ５０から、この値を用いて、データ処理システムを単一チップ動作モードで動作するよう構成する。
【００４３】
一実施例の第２動作例として、デフォルトによって、リセット時にデータ処理システムの位相ロック・ループを２：１モードで動作するように構成すると仮定する。この場合、マスク・レジスタ４０は、マスク・レジスタ４０のＰＬＬモード・ビットに、二進値％０を記憶する。内部リセット信号がアサートされることによって、データ処理システム１０がされておりこれを構成すべきことが示されると、二進値％０はマスク・データ・バスを通じて外部バス制御部４４に供給される。内部リセット信号がアサートされているので、二進値％０はマルチプレクサ４４を通じて供給され、続いて出力される。マルチプレクサ４４４は、本発明の実施例では、フリーズ信号を通じて制御バス２１０にこの二進値を供給する。尚、データ処理システム１０のＰＬＬ動作モードを決定する二進値は、外部素子１１のような外部素子によって、フリーズ集積回路端子７２に書き込まれる値によって上書きされ得ることを注記しておく。外部素子１１がフリーズ集積回路端子７２に値を供給しない場合、二進値％０は出力され、バッファ５２８から弱く送り出される。続いて、二進値％０は、外部制御バス６２を通じて、構成レジスタ５０のＰＬＬモード・ビットに供給され、記憶される。構成レジスタ５０から、この値を用いて、データ処理システム１０を２：１ＰＬＬ動作モードで動作するように構成する。
【００４４】
逆に、外部素子１１がフリーズ集積回路端子７２に値を供給し、外部ユーザがデータ処理システム１０を２：１ＰＬＬモードではなく、１：１ＰＬＬモードで動作させたいことを示していると仮定する。この場合、フリーズ集積回路端子７２は二進値％１を供給し、データ処理システムは１：１ＰＬＬ動作モードで動作すべきことを示す。この場合、二進値％０も未だ出力され、バッファ５２８から弱く送り出されている。しかしながら、弱く送り出されている値％０は、フリーズ集積回路端子７２によって供給される二進値％１によって上書きされる。フリーズ集積回路端子７２によって供給された値は、弱いバッファ、即ち、バッファ５２８によって送り出されている値を無効化する。続いて、二進値％１が、外部制御バス６２を通じて、構成レジスタ５０のＰＬＬモード・ビットに供給され、記憶される。構成レジスタ５０から、この値を用いて、データ処理システム１０を１：１ＰＬＬ動作モードで動作するように構成する。
【００４５】
一実施例の第３動作例として、データ処理システム１０は、デフォルトとして、リセット時に１６ビット・サイズ・モードで動作するように構成すると仮定する。この場合、マスク・レジスタ４０は、二進値％０をマスク・レジスタ４０のサイズ・モード・ビットに記憶する。内部リセット信号がアサートされることによって、データ処理システム１０がリセットされておりこれを構成すべきことが示されると、二進値％０はマスク・データ・バスを通じて、外部バス制御部４４に供給される。内部リセット信号がアサートされているので、二進値％０は、外部バス制御部４４の複数のマルチプレクサ（ここでは詳細には説明しない）の１つを通じて供給され、次いで出力される。本発明の実施例では、このマルチプレクサは、続いて、この二進値をサイズ信号を通じて制御バス２１０に供給する。尚、データ処理システム１０の動作のサイズ・モードは、外部素子１１のような外部素子によってサイズ集積回路端子７４に書き込まれる値によって、上書きされ得ることを注記しておく。外部素子１１が値をサイズ集積回路端子７４に供給しない場合、二進値％０が出力され、バッファ５２８から弱く送り出される。続いて、二進値％０は、外部制御バス６２を通じて、構成レジスタ５０のサイズ・モード・ビットに供給され記憶される。構成レジスタ５０から、この値を用いて、データ処理システムを１６ビット・サイズ動作モードで動作するように構成する。
【００４６】
逆に、外部素子１１が値をサイズ集積回路端子７４に供給し、外部ユーザが、データ処理システム１０を、１６ビット・サイズ・モードではなく、８ビット・サイズ・モードで動作させたいことを示すと仮定する。この場合、サイズ集積回路端子７４は二進値％１を発生し、データ処理システムが８ビット・サイズ動作モードで動作すべきことを示す。この場合、二進値％０も未だ出力され、バッファ５４６から弱く送り出されている。しかしながら、弱く送り出されている値％０は、サイズ集積回路端子７４によって供給される二進値％１によって上書きされる。サイズ集積回路端子７４によって供給される値は、弱いドライバ、即ち、バッファ５４６によって送り出される値を無効化する。続いて、二進値％１は、外部制御バス６２を通じて、構成レジスタ５０のサイズ・モード・ビットに供給され、記憶される。構成レジスタ５０から、この値を用いて、データ処理システムを８ビット・サイズ動作モードで動作するように構成する。
【００４７】
一実施例の第４動作例として、リセット時にデータ処理システムの出力の１つが、デフォルトとして、ポート端子（ポートＥ［４］）として動作するように構成すると仮定する。この場合、マスク・レジスタ４０は、二進値％０をマスク・レジスタ４０のクロック・ビットに供給する。内部リセット信号がアサートされることによって、データ処理システム１０がリセットされておりこれを構成すべきことが示されると、二進値％０はマスク・データ・バスを通じて外部バス制御部４４に供給される。内部リセット信号がアサートされているので、二進値％０は、複数のマルチプレクサ（ここでは詳しく説明しない）の１つを通じて供給され、続いて出力される。本発明の実施例では、この複数のマルチプレクサの１つは、この二進値をデータ・バス２０６に供給する。
【００４８】
データ処理システム１０のポート／クロック動作モードを決定する二進値は、外部素子１１のような外部素子によって、Ｄ［３］集積回路端子７５に書き込まれるデータによって上書きされ得ることを注記しておく。外部素子１１が値をＤ［３］集積回路端子７５に供給しない場合、二進数％０が出力され、バッファ５３４から弱く送り出される。続いて、二進数％０は、外部制御バス６２を通じて、構成レジスタ５０のクロック・モード・ビットに供給され、記憶される。構成レジスタ５０から、この値を用いてデータ処理システムを構成し、予め選択されている集積回路端子をポート端子（ポートＥ［４］）として動作するように構成する。
【００４９】
逆に、外部素子１１が値をＤ［３］集積回路端子７５に供給し、外部ユーザがデータ処理システム１０が、予め選択されている集積回路端子を、ポート端子ではなく、クロック出力端子として構成させたいことを示すと仮定する。すると、Ｄ［３］集積回路端子７５は二進値％１を発生し、データ処理システムはクロック出力端子として構成すべきことを示す。この場合、二進値％０も未だに出力され、バッファ５３４から弱く送り出されている。しかしながら、弱く送り出されている値％０は、Ｄ［３］集積回路端子７５によって供給される二進値％１によって上書きされる。Ｄ［３］集積回路端子７５によって供給される値は、弱いドライバ、即ち、５３４によって送り出される値を無効化する。続いて、二進値％１は、外部データ・バス６４を通じて、構成レジスタ５０のクロック・モード・ビットに供給され、記憶される。構成レジスタ５０から、この値を用いてデータ処理システムを構成し、予め選択されている回路端子をクロック出力端子として構成する。
【００５０】
【発明の効果】
本発明は、マスク・レジスタ４０によって供給されるデフォルト設定データの全てまたは一部のみの上書きを行ったり、かかるデータの上書きを行わない選択を、ユーザに可能にするものである。かかる柔軟性によって、外部ユーザが望むシステムを実現するために外部から駆動すべき集積回路ピンの一部についてのみ、外部ユーザが外部回路を設ければすむことになる。また、本発明は、マスク・レジスタ４０内にプログラムされたデフォルト設定値を、外部ユーザが使用可能とすることを強調すべきであろう。加えて、デフォルト設定値の一部は、外部から供給された構成値で上書きすることも可能である。しかしながら、デフォルト設定値の全てを上書きしなければならない訳ではないことは強調すべきであろう。
【００５１】
したがって、ユーザが内部マスク・レジスタ４０でデータ処理システム１０を構成したい場合、ユーザはデータを複数のバス端子４８に供給せず、マスク・レジスタ４０によって供給されたデフォルト設定値を上書きしなければよい。外部素子によって駆動されない場合、構成レジスタ５０は、マスク・レジスタ４０に記憶されているデフォルト設定値に対応するように内部で設定される。マスク・レジスタ４０の内容は、データ処理システム１０の製造プロセスの製作段階の間に記憶される。データ処理システム１０を使用する顧客が、データ・プロセッサの製作プロセスの間に、マスク・レジスタ４０にプログラムすべき値を指定する。デフォルト設定値を使用する場合、データ処理システム１０のユーザは、外部素子を設けリセットの間にリセット設定データを複数のバス端子４８に設定する必要はなく、したがって、ハードウエアのオーバーヘッド・コストおよび時間が節約される。
【００５２】
あるいは、ユーザが、複数のバス端子４８を通じて外部バス２８によって供給されるデータを用いて、データ処理システム１０を部分的に構成したい場合、ユーザは、リセット動作の間に、複数のバス端子４８の適切な１つを、所定の論理状態に設定すればよい。かかるデータ処理システム１０を構成するための代替方法によって、ユーザは、リセットの間にあらゆる所望のリセット設定を確定する柔軟性を有することができる。オプションとして、デフォルト・リセット設定は、生産検査、開発システム、プロトタイプのような用途のために、およびデータ・プロセッサを購入するユーザが彼らの用途のためにデフォルト・リセット設定を必要としない場合に、デフォルト・リセット設定を、外部集積バス端子４８から送り込むことができる。
【００５３】
更に、本発明では、複数の集積回路端子２８上で、構成レジスタ５０の内容を外部ユーザに見せることができる。これは、開発システムおよび検査の用途には特に有用である。
【００５４】
本発明は、リセット動作の間に、データ・プロセッサのデフォルト設定を決定する内部マスク・プログラム可能レジスタを提供する。リセット動作の間、リセット後最初の動作が、データ・プロセッサに異なる構成で異なる機能を実行可能とするので、データ・プロセッサの構成が決められる。本発明では、データ処理システムの集積回路ピンに書き込まれる値によってデフォルト・リセット設定が無効化されなければ、データ・プロセッサのデフォルト・リセット設定はプログラム可能マスク・レジスタから得られる。デフォルト・リセット設定は、動作モード、クロック構成、サイズ構成、およびポート構成を制御するための情報を含む。
【００５５】
マスク・プログラム可能レジスタを、当該マスク・プログラム可能レジスタによって決定されるデフォルト設定を無効化する機能と組み合わせて使用することによって、本発明のコスト効率は従来技術の実施形態よりも高まることになる。例えば、大規模ユーザは、リセット動作の実行の間に構成データを送り込むために必要な外部回路を除去することができ、これにより彼らのデータ処理システムのコストを削減することができる。更に、マスク・プログラム可能レジスタは、既知の技術を用いて、プロセッサの製造者によって実施可能であり、かかる大規模ユーザの仕様に合わせてデータ・プロセッサを作成することができる。
【００５６】
更に、ユーザは、複数のバス端子４８の予め選択した部分に外部から構成値の所望部分を送り込むことによって、内部マスク・レジスタおよび外部構成値の双方を用いて、容易にデータ・プロセッサを構成することができる。これによって、データ・プロセッサをデフォルト設定や、デフォルト設定を無効化する必要がある検査目的またはその他のあらゆる動作に必要とされる他のあらゆる構成に、選択的に構成することが可能となる。本発明を実施するデータ・プロセッサによって具体化される選択性は、特に、小規模ユーザにおいて、彼らの仕様に合わせたデータ・プロセッサの設計を製造者に依頼する費用を捻出することができないような場合、特に有用である。加えて、本発明のデータ・プロセッサを選択的に構成できる機能は、既存のデータ・プロセッサをプロトタイプとしてまたはシステム開発のために使用したいユーザには有用である。
【００５７】
ここに記載した本発明の実施形態は、一例として提示したに過ぎない。しかしながら、ここに記載した機能を実行するための実施形態は、他にも数多く存在し得る。例えば、本発明の別の実施例では、マスク・レジスタ４０によって供給されるデータは、リセット動作の間にのみ供給してもよいし、あるいは、かかるデータはマスク・データ・バス上に継続的に送り込んでもよい。加えて、リセット信号以外の別の信号を、多重化の機能のために使用してもよい。同様に、図４に示した論理回路は、同様の機能を行う別の論理素子で置き換えることができる。更に、リセット信号がニゲートされるのを待つ代わりに、プログラム・フロー制御は、リセット信号がニゲートされるまで、リセット動作を繰り返してもよい。この場合、複数の構成レジスタ５０にラッチされる値は、リセット信号がニゲートされる前に最後にラッチされた値となる。加えて、別の実施例では、同一の信号を内部リセットおよび外部リセットに使用してもよい。更にまた、別の実施例では、データ・プロセッサはチェックを行い、実行を開始する前に、リセット値がニゲートされているか否かを判定する。リセットがニゲートされている場合、構成レジスタの内容に基づいた実行を開始する。リセットがアサートされている場合、プログラミング・フローは戻って、外部から供給される信号の状態を検査する。
【図面の簡単な説明】
【図１】本発明の一実施例によるデータ処理システムを示すブロック図。
【図２】図１のデータ処理システムのシステム統合回路の一部を示すブロック図。
【図３】図２に示すシステム統合回路の複数のバス端子を示すブロック図。
【図４】図２に示すシステム統合回路の端子制御回路を示すブロック図。
【図５】図２に示すシステム統合回路の構成レジスタを示すブロック図。
【図６】図２に示すシステム構成回路のマスク・レジスタを示すブロック図。
【図７】図１のデータ処理システムにおけるリセット動作の間のデフォルト設定を示す図表。
【図８】図２に示すシステム統合回路の外部バス制御回路を示すブロック図。
【符号の説明】
１０    データ処理システム
１１    外部素子
１２    中央演算装置
１４    タイマ回路
１６    システム統合回路
１８    直列通信回路
２０    アナログ−デジタル（Ａ／Ｄ）変換器
２２    スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）
２８    バス
４０    マスク・レジスタ
４２    バス・インターフェース部
４４    外部バス制御部
４６    リセット回路
４８    複数のバス端子
５０    構成レジスタ
５２    端子制御回路
６２    外部制御バス
６４    外部データ・バス
６６    外部アドレス・バス
７０    リセット端子
７２    フリーズ端子
７４    サイズ端子
７７    モード・ストローブ端子
７８    モード選択端子
２０２    アドレス・バス
２０４    制御出力イネーブル・バス
２０６    データ・バス
２０８    データ出力イネーブル信号
２１０    制御バス
４４０    ＯＥ（出力イネーブル）発生器
４４２，４４４    マルチプレクサ
５２２    反転器
５２４，５３０，５３６，５４２    ＡＮＤゲート
５２６，５２８，５３２，５３４，５３６，５４０，５４４，５４６    バッファ
【図１】
0003977894.tif 000002
【図２】
0003977894.tif 000003
【図３】
0003977894.tif 000004
【図４】
0003977894.tif 000005
【図５】
0003977894.tif 000006
【図６】
0003977894.tif 000007
【図７】
0003977894.tif 000008
【図８】
0003977894.tif 000009