JPH1091529A - データ処理システムにおけるレジスタへのアクセス方法 - Google Patents

データ処理システムにおけるレジスタへのアクセス方法

Info

Publication number
JPH1091529A
JPH1091529A JP9123522A JP12352297A JPH1091529A JP H1091529 A JPH1091529 A JP H1091529A JP 9123522 A JP9123522 A JP 9123522A JP 12352297 A JP12352297 A JP 12352297A JP H1091529 A JPH1091529 A JP H1091529A
Authority
JP
Japan
Prior art keywords
control
register
write
data processing
bits
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.)
Pending
Application number
JP9123522A
Other languages
English (en)
Inventor
John A Langan
ジョン・エー・ランガン
Philip B Drake
フィリップ・ビー・ドレイク
Rebecca A Leiser
レベッカ・エー・レイザー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JPH1091529A publication Critical patent/JPH1091529A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 “特殊”モードにおいて感知可能制御ビット
(34,36,38,40)への第1の書き込みを無視
するレジスタ・アクセス方法を有するデータ処理システ
ム(18)を提供する。 【解決手段】 ユーザ・モードでは、感知可能制御ビッ
ト(34,36,38,40)に対してシステムの性能
低下を避けるため1つの書き込みのみが許可される。エ
ミュレーションおよびテストには感知可能制御ビット
(34,36,38,40)へのいかなる最初の書き込
みも無視するが、後続のすべての書き込みが許可され
る。アプリケーション・コードがエミュレータ・モード
でランし、ユーザにフレキシブルで高精度な設計を可能
にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にはデータ処
理システムに関し、特にデータ処理装置内のレジスタに
アクセスする方法に関する。
【0002】
【従来の技術】マイクロプロセッサシステムにおいて
は、ある種の“制御”レジスタおよびビットを用いてシ
ステム構成が決定される。多くのデータ処理装置は特殊
な状況下を除いて書き込みに対して保護される感知可能
制御レジスタおよびビットを有する。通常の保護機構は
リセット後のある一定の期間内にのみかかるビットを書
き込む機能およびリセットのたびにこれらのビットを一
度書き込む機能を有する。これらのビットはデータ処理
装置の基本構成を制御し、不慮の書き込みによってシス
テムに重大な問題が生じる可能性がある。制御ビットは
一度設定されるとその部分がリセットされるまで変化し
ない。保護を行なうことによって、保護を行なわない場
合には不可能なソフトウエア制御された機能を設けるこ
とが実現可能になる。潜在的な制御レジスタおよびビッ
トの数はデータ処理装置の複雑性に伴なって増大する。
これが、制御レジスタへの書き込みをすべてある一定の
期間内に行なわなければならないレジスタアクセス方法
においては問題となる。
【0003】“通常の”すなわち“ユーザー”動作モー
ドにおいてシステムの完全性を維持するためには、感知
可能制御ビットの書き込みは通常一度しか許されない。
ビットがリセット・シーケンスを経ずに繰り返し変更さ
れる可能性のある“特殊な”動作モードでは保護機構は
オーバーライドされることがある。オーバーライド機能
は、最小限の時間内にできるだけ多くの構成を達成しな
ければならないテスト中に特に有効である。エミュレー
タ動作モードでは、データ処理装置は所定の構成を維持
し、たとえばポート交換ユニットを使用可能とするため
にピン構成を維持しなければならないような場合に感知
可能な制御レジスタへの書き込みを禁止することが望ま
しい。各種のモードにおけるニーズに適応するための多
くの方法が開発されている。
【0004】
【発明が解決しようとする課題】エミュレータモードは
ユーザーがデータ処理装置の実際に動作を見ることがで
きるように設計される。設計の複雑性が大きくなるにつ
れて、エミュレーションはアプリケーションの開発には
不可欠なものになる。実際には、エミュレーションのセ
ットアップを可能とするために追加コードの書き込みが
必要になることが多い。この追加コードは複雑性を大き
くし、エミュレーション処理にあいまいさを生じさせる
ものである。エミュレーションがユーザーのコードによ
って改ざんされない安定した制御方法を規定することが
必要とされている。
【0005】
【課題を解決するための手段】以下の説明では本発明の
十分な理解に資する具体的な制御レジスタビット長その
他の多くの具体的詳細を示す。しかし、当業者には本発
明はかかる具体的詳細なしに実施可能であることは明ら
かであろう。他の例では、不要な細部によって本発明の
理解を妨げないよう各回路をブロック図の形態で示し
た。ほとんどの部分において、時間に関する事項等の詳
細についてはかかる詳細が本発明の十分な理解を得るの
に必要ではなく、通常の当業者の技術の範囲内にある限
り省略した。
【0006】“バス”という用語はデータ,アドレス,
制御あるいは状態といった1つあるいはそれ以上の各種
の情報の転送に用いられる複数の信号あるいは導体を指
すのに用いられる。“肯定”および“否定”という用語
はそれぞれ信号,状態ビットあるいは同様の装置を論理
的に真である状態または論理的に偽である状態とするこ
とを指すのに用いられる。論理的に真である状態が論理
レベル1である場合、論理的に偽である状態は論理レベ
ル0である。そして、論理的に真である状態が論理レベ
ル0である場合、論理的に偽である状態は論理レベル1
である。
【0007】本発明はデータ処理装置内のレジスタをア
クセスする方法であって、制御選択ビットを1度無効に
書き込ませ、その後有効な書き込みを可能とする方法を
提供するものである。本発明の一実施例においては、ユ
ーザ・モードでは制御選択ビットを1度書き込むことが
できる。それに続く書き込みは効果を有しないが、テス
トおよびエミュレーションに用いられる“特殊な”モー
ドでは最初の書き込無効であるが、後続のすべての書き
込みは有効である。
【0008】システム構成および制御について言えば、
一実施例ではレジスタビットへの書き込みが用いられ
る。代替実施例ではレジスタビットを表明(すなわち肯
定または否定)する任意の数の方法が用いられ、これに
は論理演算およびソフトウエア命令が含まれるがそれに
は限定されない。それぞれの場合において、“特殊”モ
ードに入ると、制御レジスタは最初の表明では有効では
ないがそれに続く表明では有効である。
【0009】本発明では、システム構成の確実性および
安定性を確保しながらアプリケーション・コードを修正
することなくエミュレータ・モードでランすることが可
能である。本発明はデータ処理装置のエミュレーション
にフレキシビリティを与えるものである。さらに、本発
明は制御レジスタへの複数の書き込みを検出するコード
確認法を提供するものである。
【0010】尚、本発明は以下の米国特許出願に関係す
る。1995年6月2日に特許され、本譲受人に譲渡された
Jay A.Hartvigsenその他の発明“Method and Apparatus
for Controlling Show Cycles in a Data Processing
System”。1995年6月2日に特許され、本譲受人に譲渡
されたJay A.Hartvigsenその他の発明“Method and App
aratus for Providing an External Indication of Int
ernal Cycles in a Data Processing System”。
【0011】
【発明の実施の形態】図1は本発明の一実施例を示し、
当該実施例では中央処理装置(CPU)4,バス・イン
ターフェース装置10,制御レジスタ12および記憶装
置6はすべてデータ処理装置2の一部を成す。CPU
4,記憶装置6およびバス・インターフェース装置10
はそれぞれ複数の双方向の導体によってバス8に結合さ
れている。バス・インターフェース装置10は複数の双
方向の導体を介して他のモジュールおよび周辺装置と通
信する。バス・インターフェース装置10はデータ処理
装置2のシステム構成に影響する制御レジスタ12を含
む。
【0012】制御レジスタ12を図2に詳細に示す。本
発明の一実施例において、制御レジスタ12の長さは8
ビットであり、上の4ビットは反転している。下の4ビ
ットは“Eクロック無し”(NECLK)34,“ロー
・ストローブ・イネーブル”(LSTRE)36,“内
部の可視性”(IVIS)38,“ポート制御”40と
して指定されている。それぞれのビットの重要度は動作
モードによって決まる。
【0013】図3を参照すると、図3にはバス・インタ
ーフェース装置10の一例が示されている。本発明の一
実施例において、データ処理装置2にはバス8,バス・
インターフェース装置10およびモード論理80が含ま
れる。バス・インターフェース装置10は制御レジスタ
12,特殊書き込み制御回路75およびレジスタ・デコ
ード回路50を含む。
【0014】データ情報を通信するために、バス8は双
方向のデータ9の導体によって制御レジスタ12を介し
てバス・インターフェース装置10に結合され、制御レ
ジスタ12は数ビットの情報を含む。一実施例におい
て、ビット070は特殊書き込み制御回路75には利用
可能ではないが、制御レジスタ12内の複数の他のビッ
トの例であるビット171およびビット272は特殊書
き込み制御回路75によって制御される。
【0015】本発明の一実施例において、信号モード論
理80は動作モードを通常モードまたは“特殊”モード
として示す。“特殊”モードでは、特殊書き込み制御回
路75はリセット後特殊書き込み制御回路75によって
制御される制御レジスタ12内のビットへの初回書き込
みを防止するが、それ以後の書き込みについてはこれを
可能とする。特殊書き込み制御回路75によって制御さ
れるビットは感知可能制御ビットと呼ばれる。
【0016】アドレス情報を通信するために、バス8は
アドレス11の導体を介してレジスタ・デコード回路5
0に結合されている。また、レジスタ・デコード回路5
0はモジュール選択56,書き込み52および読み出し
54の各信号を受信する。本発明の一実施例において、
これらの信号は個々の導体を介して受信されるが、代替
実施例では任意の数の導体あるいは多重化された導体が
用いられる場合もある。さらに、レジスタ・デコード回
路50は動作を書き込みまたは読み出しとして示す信号
を受信する。信号“書き込み”52は動作が書き込みで
あるときこれを示す。また、レジスタ・デコード回路5
0はアドレス11も受信する。本発明の一実施例におい
て、アドレス11およびモジュール選択56が制御レジ
スタ12を示しているとき、信号“読み出し”54およ
び“書き込み”52によって供給される読み出しおよび
書き込み情報がそれぞれレジスタ“読み出し”58およ
びレジスタ“書き込み”60に渡される。1つのバスサ
イクルでは読み出し54と書き込み52のうちの一方だ
けがアクティブであり、したがってアドレス11が制御
レジスタ12を示すときレジスタ“読み出し”58とレ
ジスタ“書き込み”60のうちの一方だけが有効であ
る。
【0017】さらに、レジスタ・デコード回路50は次
の動作(書き込みまたは読み出し)を示す信号を受信す
る。レジスタ“書き込み”60は制御レジスタ12への
データ書き込みを選択し、感知可能制御ビット(すなわ
ち特殊制御回路75によって制御されるビット)と制御
レジスタ12内の他のビットの両方への書き込みを行な
わせるのに用いられる。同様に、信号“レジスタ読み出
し”58は制御レジスタ12のデータ読み出しを選択
し、感知可能制御ビットおよび制御レジスタ12内の他
のビットの両方の読み出しを行なわせることができる。
【0018】さらに図3を見ると、レジスタ・デコード
回路50は信号“レジスタ読み出し”58を介して制御
レジスタ12のデータ読み出しを開始し、信号“レジス
タ書き込み”60を介してデータ書き込みを開始する。
また、“レジスタ書き込み”60は特殊書き込み制御回
路75にも供給され、この回路はリセット後の書き込み
を禁止し、“特殊書き込み”76を介した制御レジスタ
12内の感知可能ビットへのその後の書き込みを許可す
る。本発明の一実施例では、“特殊書き込み”76は特
殊書き込み制御回路75を制御レジスタ12に結合する
単一の導体上で送信される。代替実施例においては単一
の導体が用いられることもあり、また任意の数の導体が
用いられることもある。
【0019】一実施例において、特殊書き込み制御回路
75はレジスタ・デコード回路50からの導体を介して
信号“レジスタ書き込み”60を受信する。信号“リセ
ット”84は導体を介して特殊書き込み制御回路75に
供給され、データ処理装置2のリセットを示す。モード
論理80はデータ処理装置2の動作モードを判定し、そ
れに応じて導体を介して信号“特殊モード”81および
“通常モード”82を特殊書き込み制御回路75に供給
する。一実施例はそれぞれの信号に対する個別の信号を
有することを指摘しておく。代替実施例においては、複
数の導体あるいは複数の導体と単一の導体の組み合わせ
が用いられる。一実施例においては、特殊書き込み制御
回路75は導体を介して信号“リセット”84を受信す
る。
【0020】信号“特殊モード”81はデータ処理装置
2が“特殊”モードで動作していることを示す。“特
殊”モードにおけるデータ処理装置2の動作に対して
は、特殊書き込み制御回路75は制御レジスタ12内の
感知可能制御ビットへの最初の書き込みを禁止してその
書き込みを無効とする動作をする。特殊書き込み制御回
路75は感知可能制御ビットではないビットへの書き込
みには影響しないことに注意しなければならない。さら
に、“特殊”モードでは、特殊書き込み制御回路75は
感知可能制御ビットへの後続の書き込みを可能として、
後続の書き込みを有効とする動作をする。
【0021】信号“通常モード”82は通常モードすな
わちユーザ・モードでの動作を示す。通常モードでのデ
ータ処理装置2の動作に対しては、特殊書き込み制御回
路75は制御レジスタ12内の感知可能制御ビットへの
最初の書き込みを禁止する動作をしない。さらに、通常
モードでは、特殊書き込み制御回路75は感知可能制御
ビットへの後続の書き込みを可能とする動作をしない。
本発明の一実施例において、通常モードでのデータ処理
装置2の動作に対して、特殊書き込み制御回路75は制
御レジスタ12内の感知可能制御ビットに対する最初の
書き込みを可能とし、かかるビットへの後続の書き込み
のすべてを禁止する動作をする。
【0022】本発明の一代替実施例では、制御レジスタ
12は感知可能制御ビットのみを含み、感知可能制御レ
ジスタとみなされる。本発明の一実施例では、制御レジ
スタ12は感知可能制御ビット,他の制御ビットおよび
制御に関係しないビットを含む。代替実施例には制御レ
ジスタ12内のビットの任意の組み合わせを有するもの
や、複数のレジスタを内蔵するものがある。
【0023】図4には信号“特殊モード”81,“通常
モード”82およびリセット84を個々の導体を介して
受信する特殊書き込み制御回路75の一実施例を示す。
信号“レジスタ書き込み”60がレジスタ・デコード回
路50に結合された導体を介して供給される。一実施例
では、特殊書き込み制御回路75は複数の導体を介して
制御レジスタ12に結合される。本発明の一実施例で
は、特殊書き込み制御回路75は2つのフリップ・フロ
ップDFF292,DFF1 90および論理ゲート9
4,96,98,100,101,102,103を含
む。
【0024】本発明の一実施例はエミュレーションおよ
びテストに用いられる“特殊”動作モードを有する。シ
ステム・エミュレータ16が図5に示すように“特殊”
モードを用いてデータ処理システム18をエミュレート
する。本発明の一実施例では、データ処理システム1
8,ポート交換装置(PRU)26およびメモリ30は
すべてシステム・エミュレータ16の一部を成す。デー
タ処理システム18は双方向導体“アドレス”20(代
替実施例では一方向の導体であることもある)を介して
PRU26およびメモリ30にアドレス情報を供給す
る。データ処理システム18,PRU26およびメモリ
30はそれぞれ双方向導体“データ”22を介してデー
タ情報を送受信する。同様に、データ処理システム1
8,PRU26およびメモリ30はそれぞれ双方向導体
“制御”24を介して制御情報を送受信する。本発明の
一実施例では、ユーザはシステム・エミュレータ16を
用いた修正を行なうことなくアプリケーション・コード
を用いてデータ処理システム18をエミュレートするこ
とができる。システム・エミュレータ16はPRU26
を介してユーザのアプリケーションと通信する。PRU
26は表現されたポートのそれぞれに割り当てられた双
方向導体を介してユーザのアプリケーションとの間で信
号の送受信を行なう。本発明の一実施例ではデータ処理
システム18は集積回路であることを指摘しておく。
【0025】図6に示す本発明の一実施例では、システ
ム・エミュレータ40はデータ処理システム18の拡張
動作をエミュレートする。データ処理システム18,ポ
ート交換装置(PRU)28およびユーザのメモリ32
はすべてシステム・エミュレータ40の一部を成す。デ
ータ処理システム18は双方向導体“アドレス”42
(代替実施例では一方向の導体であることもある)を介
してPRU28およびユーザのメモリ32にアドレス情
報を供給する。データ処理システム18,PRU28お
よびメモリ32はそれぞれ双方向導体“データ”44を
介してデータ情報を送受信する。同様に、データ処理シ
ステム18,PRU28およびメモリ32はそれぞれ双
方向導体“制御”46を介して制御情報を送受信する。
本発明の一実施例では、ユーザはシステム・エミュレー
タ40を用いた修正を行なうことなくアプリケーション
・コードを用いてデータ処理システム18をエミュレー
トすることができる。システム・エミュレータ40はP
RU28を介してユーザのアプリケーションと通信す
る。PRU28は拡張されたポートに割り当てられた双
方向導体を介してユーザのアプリケーションおよびユー
ザのメモリ32との間での情報信号および制御信号の送
受信を行なう。
【0026】制御:多くのデータ処理装置は特殊な状況
下を除き書き込みから保護された感知可能制御レジスタ
およびビットを有する。図1を参照すると、本発明の一
実施例において、データ処理装置2はユーザ・モード
(通常モードとも呼ぶ)あるいはテストおよびエミュレ
ーションのための“特殊”モードで動作する。ユーザ・
モードでは、データ処理装置2の内部動作はユーザには
見えない。ユーザ・モードでの動作の場合、記憶装置6
にアプリケーション・コードが記憶される。
【0027】一実施例では、データ処理装置2は制御レ
ジスタ12に制御情報を記憶する。制御情報はCPU4
の動作を規定する。つまり、制御情報はCPU4の動作
条件に影響する制御パラメータを示す。制御パラメータ
は制御レジスタ12の個々のビットにアクセスすること
によって変更あるいは確認することができる。
【0028】たとえば、本発明の一実施例では、1つの
制御パラメータは割り込み感度である。割り込み感度は
たとえば立ち上がりエッジによって通常動作からCPU
4の割り込みが生じるというような割り込みをトリガー
する入力条件を指す。割り込み感度は選択可能であり、
制御レジスタ12内に対応するビットがある。割り込み
感度はかかるビットによって制御される。同様に、他の
制御パラメータについても制御レジスタ12内に対応す
るビットがある。代替実施例では、任意の数あるいは組
み合わせの制御パラメータを有するものがある。1つの
制御レジスタは通常多数の制御パラメータに利用可能で
あることを指摘しておく。
【0029】動作モードに合わない制御パラメータすな
わち誤動作あるいはデータ処理装置2の不安定動作を招
く制御パラメータは感知可能制御ビットであると考えら
れる。高精度なロバスト動作の場合、感知可能制御ビッ
トへの不慮のアクセスはデータ処理システムに不安定な
状態を生じさせるのでこれを防止しなければならない。
代替実施例では任意の数の判断を用いて制御ビットを感
知可能制御ビットとして定義することを指摘しておく。
【0030】図2に示すように、本発明の一代替実施例
では、制御レジスタ12は制御ビットNECLK34,
LSTRE36,IVIS38およびポート制御40を
含み、それぞれがエミュレーションにおける制御に影響
し、これらはすべて感知可能制御ビットとして定義され
る。アプリケーション・コードは各ビットを所望のシス
テム構成にしたがって表現する。感知可能制御ビットが
定義されると、アプリケーション・コードは次にリセッ
トが発生するまでこの定義を変更することはできない。
NECLK34,LSTRE36,IVIS38および
ポート制御40は任意の数の可能な感知可能ビットの例
であり、代替実施例では感度はアプリケーションによっ
て決まり、他の重要度のビット(たとえば非制御ビッ
ト)が含まれることもある。
【0031】ユーザすなわち通常モードはユーザの動作
環境であり、したがってフレキシブルであり同時に堅固
でなければならないことを意味する。一実施例では、ユ
ーザがデータ処理装置2をリセットした後ある特定の制
御ビットを1度だけ選択できるようにすることによって
両方の目標が達成される。ユーザには状況が許せば各種
の制御を変更するフレキシビリティがあるが、データ処
理装置2をリセットしなければ一度設定された制御を変
更することはできない。
【0032】“特殊”モード:本発明の一実施例では、
“特殊”モードではデータ処理装置2の内部動作を見る
ことができる。他の用途の中でも、特に“特殊”モード
の用途はデータ処理装置2のユーザによるエミュレーシ
ョンに用いられる。エミュレーションには通常データ処
理装置の交換に用いるエミュレーション・システムが必
要である。図6には一実施例のシステム・エミュレータ
40を示す。システム・エミュレータ40は“特殊”モ
ードで機能するデータ処理装置2を含み、アドレス4
2,データ44および制御46等の内部信号がデータ処
理装置2に外部から供給される。外部信号を供給するに
は、通常ユーザ・モードで各種のポートに割り当てられ
るデータ処理装置2の資源が必要である。システム・エ
ミュレータ40はこれら各種のポートを最構築するPR
U28を含む。アドレス42,データ44および制御4
6から受け取った入力に基づいて、PRU28は外部と
の両立性を提供するデータ処理装置2のポート資源とし
てはたらく。このように、データ処理装置2はシステム
・エミュレータ40を使用可能とする要素として機能
し、システム・エミュレータ40はユーザのアプリケー
ションにおいてデータ処理装置2として機能する。
【0033】システム構成はエミュレーション中の動作
が適正であるために非常に重要である。ユーザが構成を
変更すると、システム・エミュレータ40の機能不良や
完全な機能停止が発生する可能性がある。アプリケーシ
ョン・コードによってエミュレータの構成が変更される
とき問題が生じる。アプリケーション・コードがエミュ
レーションの目的で修正され、制御ビットのあらゆる表
現が除去されることが多い。ユーザ・モード用に1つと
エミュレーション用に1つの2組のアプリケーション・
コードが必要になるという問題があることは明らかであ
る。本発明は制御ビットへの最初の書き込みを無視する
ことによってエミュレーション中のアプリケーション・
コードの使用を可能にする。本発明の一実施例では、P
RU28は最初の書き込みを用いてポートのセットアッ
プと最構築を行なう。
【0034】本発明の一実施例では、図3に示すよう
に、特殊書き込み制御回路75は制御レジスタ12内の
感知可能制御ビットの適当な表現を実行および禁止する
動作をする。ここで、制御レジスタ12は感知可能では
ない制御ビットおよび感知可能制御ビット(たとえばビ
ット171)さらに制御ビットではないビット(たとえ
ばビット070)を含む。“特殊”モードにおいて、特
殊書き込み制御回路75はビット171(本実施例では
感知可能ビット)の最初の表現を禁止するが、ビット0
70(感知可能制御ビットではない)の最初の表現を禁
止しない。通常モードにおいては、特殊書き込み制御回
路75はビット171の表現を可能とする動作をする
が、ビット171への後続の書き込みを禁止し、一方、
レジスタ・デコード回路50はビット070の最初の表
現および後続の表現を行なわせる。1つのレジスタ内で
制御ビット,非制御ビットおよび感知可能ビットを組み
合わせることによって、データ処理装置2は予備の未使
用のビットを含む余分なレジスタを持つことがない。
【0035】図4には論理ゲートおよび他の論理素子を
含んだ本発明の一実施例を示す。代替実施例では、感知
可能制御ビットの同様な制御を生じさせる任意の種類の
回路を用いることができる。
【0036】アプリケーション・コード:本発明の一実
施例では、アプリケーション・コードは各制御ビットを
正確に1度だけ書き込まなければならない。各ビットが
書き込まれると、システム構成が定義され、これが次の
リセットまで維持されなければならない。次に、アプリ
ケーション・コードをエミュレーションでランさせるこ
とができ、感知可能制御ビットへの最初の書き込みは無
視される。感知可能制御ビットへの後続の書き込みは有
効である。アプリケーション・コードが1つの感知可能
制御ビットに対する複数の書き込みを含むべきであった
場合、エミュレータは誤動作を起こす可能性が高く、ユ
ーザにアプリケーション・コードが複数の感知可能制御
ビットに対する複数の書き込みを含むものであることを
示す警報を発する。
【0037】本発明の一実施例では、ある種の制御ビッ
トはその機能がエミュレーションに影響する場合にのみ
感知可能制御ビットと定義される。一実施例では、感知
可能制御ビットが制御レジスタ12内で組み合わせられ
る。本発明の一代替実施例ではすべての制御ビットが感
知可能制御ビットとして定義される。他の実施例では、
ある種のレジスタは感知可能として定義されるが、これ
らは必ずしも制御ビットではない。
【0038】本発明の一実施例では、NECLK34は
制御レジスタ12内のビットであり、データ処理装置2
が外部クロック信号を供給するかどうかの判定に用いら
れる。ユーザ・モードでは、バス・インターフェース装
置10および周辺装置には外部クロック信号が用いられ
る。“特殊”モードでは、外部クロック信号を用いて内
部命令経路が追跡され、バス・インターフェース装置1
0内におけるようなバス・インターフェースが実行され
る。システム構成はこの判定によって決まる。外部クロ
ック信号が供給されない場合、ポート機能のための追加
的な資源が利用可能である。“特殊”モードはユーザー
がこの判定を行なうフレキシビリティを持つことを可能
とする。通常、外部クロック信号はユーザ・モードでは
見えない信号(たとえばアドレスおよびデータ信号)が
供給される拡張モードで用いられる。しかし、判断が行
なわれると、ユーザはNECLK34を1度だけ表現し
なければならない。これは、これがシステム構成に不可
欠の判断であるためである。
【0039】アプリケーション・コードは各リセット後
のNECLK34への1つの書き込みだけを含むもので
なければならない。本発明の一実施例では、ユーザ・モ
ードではNECLK34への書き込みが1度だけ可能で
あり、後続の書き込みはすべて無視され、一方“特殊”
モードではNECLK34への最初の書き込みが無視さ
れ、後続のすべての書き込みが実行される。ユーザはN
ECLK34への書き込みを1度だけ行なうというユー
ザ・モード条件に適合するアプリケーション・コードを
書き込まねばならない。次に、最初の書き込みが無視さ
れる“特殊モード”におけるエミュレーションのための
アプリケーション・コードが利用される。これは、シス
テム構成がエミュレータによって予め決められるエミュ
レーションにおいて特に重要である。さらに、アプリケ
ーション・コードに誤ってこれらのビットへの複数の書
き込みが含まれている場合、エミュレーションの結果エ
ラーが発見される。
【0040】図2に示すように、本発明の一実施例は制
御レジスタ12内で組み合わせられたNECLK34,
LSTRE36,IVIS38およびポート制御40の
制御ビットを有する。ここで、LSTRE36,IVI
S38およびポート制御40もまた感知可能制御ビット
として定義される。これはそれぞれの対応する制御機能
がエミュレーションに影響するためである。
【0041】LSTRE36はデータ処理装置2によっ
て供給されるロー・ストローブ信号を使用可能とするの
に用いられる。ロー・ストローブ信号は他にはポート機
能に使用可能なシステム資源を利用し、したがってLS
TRE36を使用可能とするという判断はシステム構成
を考慮する上では不可欠である。
【0042】同様に、内部可視機能を使用可能とするI
VIS38およびある種のポート構成を使用可能とする
ポート制御40はシステム資源およびシステム構成に影
響する。IVIS38およびポート制御 40はシステ
ム構成を考慮する上では不可欠である。一実施例では4
つの制御信号のすべてがシステム構成およびシステム資
源の割り当てに影響を与えるが、ユーザーがかかる判断
に影響されないシステム構成を定義することも可能であ
ることを指摘しておく。しかし、通常、システム構成に
影響する制御機能はデータ処理装置2のアプリケーショ
ンにおいては不可欠である。
【0043】本発明の一実施例では、4つの制御機能の
それぞれはリセット後1度だけ定義しなければならな
い。これは各判断がシステム構成に影響するためであ
る。システム構成は各制御に依存する。これはシステム
資源がそれにしたがって割り当てられ、一度決定される
と、システム構成は維持されねばならないためである。
【0044】エミュレーション:本発明はアプリケーシ
ョン・コードを修正することなくエミュレーションに用
いることを可能とするものである。一実施例において、
ユーザはエミュレーションに対する対応を考慮すること
なく自由にアプリケーション・コードを書き込むことが
できる。アプリケーション・コードは感知可能制御ビッ
トを1度だけ書き込んで、ユーザの望む動作を確立する
ものである。ユーザは直接アプリケーション・コードを
用いてエミュレーションを実行することができる。エミ
ュレーションの際には、感知可能制御ビットへの最初の
書き込みは無視され、エミュレーション・システム構成
が維持される。感知可能制御ビットへの複数の書き込み
を含むアプリケーション・コードはエミュレータの機能
を悪化させる。アプリケーション・コードは一般的には
制御ビットへの最初の書き込みが有効であり、後続の書
き込みが無効となる通常の動作モードを満足するように
書き込まれる。
【0045】図5では、システム・エミュレータ16は
デバッグ,設計および検査の目的に用いられている。シ
ステム・エミュレータ16はPRU26を用いてユー
ザ。アプリケーションと“会話”する。システム・エミ
ュレータ16はユーザ・アプリケーションに“プラグ・
イン”すなわち接続される。データ処理システム18は
実際には“特殊モード”で動作しているときでも仮想的
なユーザ・モードとして機能し、アプリケーションの動
作時に内部を見ることが可能である。エミュレーション
はアプリケーションの設計には不可欠である。本発明の
一実施例において、システム・エミュレータ16はデー
タ処理装置2を含むデータ処理システム18のポート資
源を用い、その結果実際のポート資源はアプリケーショ
ンに使用することができない。エミュレーション中に
は、データ処理システム18は“特殊”モードで操作
し、その動作環境が変更されると誤動作が生じる。デー
タ処理システム18のために書かれたアプリケーション
・コードには感知可能制御ビットを表現するための命令
が含まれる。エミュレーションに用いるために、“特
殊”モードは最初の表現を無視し、後続のすべての表現
を許可する。アプリケーション・コードが感知可能制御
ビットの1回の表現のみを生じさせる場合、エミュレー
ションはスムーズにランする。
【0046】拡張されたエミュレーションにおいては、
データ処理システム18は図6に示すようにやはり“特
殊”モードで動作するが、システム・エミュレータ40
はPRU28を用いて拡張されたアプリケーションとイ
ンターフェースする。ここで、ポート資源はポートとし
てよりむしろ拡張されたバス機能のために用いられる。
エミュレーション中には、データ処理システム18の動
作環境への変更が行なわれると同様に誤動作が生じる。
【0047】本発明はアプリケーション・コードの修正
を不要としながら、データ処理装置2に任意の数のエミ
ュレーション技術の利用を可能とするものである。もう
一つの検討事項としては、テスト条件下での動作があ
る。
【0048】テスト:本発明のレジスタ・アクセス法は
さらに素子のテストに関する利点を有するものである。
一実施例では、データ処理装置2は各感知可能制御ビッ
トへの最初の書き込みが無視されるが後続の各書き込み
は有効である“特殊”テスト・モードである。エミュレ
ーションとは異なり、テストには効率的なシステムの再
構成が必要である。最初の書き込みを無視し、後続の書
き込みに影響を与えることによって、データ処理装置2
はリセット・シーケンスを実行することなくさまざまな
システム構成でテストすることができる。これによって
テスト時間の改善と生産のフレキシビリティの増大の両
方が可能となる。
【0049】結論:結論として、本発明は感知可能な制
御を保護しながらレジスタをアクセスする方法を提供す
るものである。ある特定のビットの表現が無効となるが
後続の表現が有効となる“特殊”モードを設けることに
よって、本発明はエミュレーションとテストの両方に有
効な解決策を提供するものである。感知可能な制御は不
適正な使用から保護され、ユーザはエミュレーション用
に修正されたアプリケーション・コードを作成する二度
手間をかける必要がない。本発明は素子のテストに安定
的に使用可能であり、テスト中感知可能なビットへの反
復的なアクセスが可能である。
【0050】以上、本発明を具体的実施例を参照しなが
ら図示および説明したが、当業者においてはさらに他の
変更や改良が考案されよう。たとえば、ここでは本発明
の用途のいくつかを説明したが、集積回路内の“最初の
書き込みは無効であり、少なくとも後続の1つの書き込
みは有効である”レジスタ・ビットあるいは記憶場所に
はさまざまな用途がある。本発明の代替実施例において
は“最初のNの書き込み”を無効とすることも考えられ
ることを指摘しておく。ここで、Nは所定の整数、ある
いはユーザによってプログラムされた変数、あるいはハ
ードウエアによって決定される値(たとえばカウンタ内
でインクリメントされる値)である。したがって、本発
明はここに説明した特定の態様には限定されない。
【図面の簡単な説明】
【図1】本発明の一実施例に係るデータ処理装置をブロ
ック図の形態で示す。
【図2】本発明の一実施例に係る制御レジスタをレジス
タの形態で示す。
【図3】本発明の一実施例に係るバス・インターフェー
スをブロック図の形態で示す。
【図4】本発明の一実施例に係る特殊書き込み制御回路
を回路図の形態で示す。
【図5】本発明の一実施例に係るエミュレータをブロッ
ク図の形態で示す。
【図6】本発明の一実施例に係るエミュレータをブロッ
ク図の形態で示す。
【符号の説明】
2 データ処理装置 4 中央処理装置(CPU) 6 記憶装置 8 バス 9 データ 10 バス・インターフェース装置 11 アドレス 12 制御レジスタ 16 システム・エミュレータ 18 データ処理システム 20 双方向導体“アドレス” 22 双方向導体“データ” 24 双方向導体“制御” 26 ポート交換装置(PRU) 28 ポート交換装置(PRU) 30 メモリ 32 ユーザのメモリ 34 制御ビット“Eクロック無し”(NECLK) 36 制御ビット“ロー・ストローブ・イネーブル”
(LSTRE) 38 制御ビット“内部の可視性”(IVIS) 40 制御ビット“ポート制御” 42 双方向導体“アドレス” 44 双方向導体“データ” 46 双方向導体“制御” 50 レジスタ・デコード回路 52 書き込み信号 54 読み出し信号 56 モジュール選択信号 58 レジスタ“読み出し” 60 レジスタ“書き込み” 70 ビット0 71 ビット1 72 ビット2 75 特殊書き込み制御回路 76 信号“特殊書き込み” 80 モード論理 81 信号“特殊モード” 82 信号“通常モード” 84 信号“リセット” 90 フリップ・フロップDFF1 92 フリップ・フロップDFF2 94,96,98,100,101,102,103
論理ゲート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 レベッカ・エー・レイザー アメリカ合衆国テキサス州オースチン、ナ ンバー・ディー202、ビクトリー・ドライ ブ4105

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】データ処理装置(2)の動作方法であっ
    て:第1の制御ビット(34,36,38,40)への
    第1の書き込みアクセスを実行する段階;前記第1の制
    御ビットへの前記第1の書き込みアクセスを前記第1の
    制御ビットに対して影響を与えないようにする段階;前
    記第1の制御ビットへの第2の書き込みアクセスを実行
    する段階であって、前記第2の書き込みアクセスは前記
    第1の書き込みアクセスの後である段階;および前記第
    1の制御ビットへの前記第2の書き込みアクセスを前記
    第1の制御ビットに影響を与えるようにする段階;から
    なることを特徴とする方法。
  2. 【請求項2】第2の制御ビット(34,36,38,4
    0)への第1の書き込みアクセスを実行する段階;前記
    第2の制御ビットへの前記第1の書き込みアクセスを前
    記第2の制御ビットに対して影響を与えないようにする
    段階;前記第2の制御ビットへの前記第2の書き込みア
    クセスを前記第2の制御ビットに影響を与えるようにす
    る段階;前記第1の制御ビットへの第3の書き込みアク
    セスを実行する段階であって、前記第3の書き込みアク
    セスは前記第2の書き込みアクセスの後である段階;お
    よび前記第1の制御ビットへの前記第3の書き込みアク
    セスを前記第1の制御ビットに影響を与えるようにする
    段階;をさらに含むことを特徴とする請求項1記載の方
    法。
  3. 【請求項3】前記第1の制御ビットへの前記第1の書き
    込みアクセスを実行する前記段階はさらに、前記データ
    処理装置が第2の動作モードにある場合、前記第1の制
    御ビットへの前記第1の書き込みアクセスを前記第1の
    制御ビットに影響を与えるようにする段階からなり;前
    記第1の制御ビットへの前記第3の書き込みアクセスを
    実行する前記段階はさらに、前記データ処理装置が前記
    第2の動作モードにある場合、前記第1の制御ビットへ
    の前記第2の書き込みアクセスを前記第1の制御ビット
    に影響を与えないようにする段階からなる;ことを特徴
    とする請求項2記載の方法。
  4. 【請求項4】集積回路(18)であって:レジスタ;お
    よび前記レジスタへの現在の書き込みアクセスがリセッ
    ト後の第1の書き込みアクセスであるかどうかを判定す
    る、前記レジスタに結合された制御回路(75)からな
    り;前記レジスタへの前記現在のアクセスがリセット後
    の前記レジスタへの第1のアクセスである場合、前記制
    御回路は前記レジスタへの前記現在の書き込みアクセス
    を前記レジスタに対して影響を与えないようにし;前記
    レジスタへの前記現在のアクセスがリセット後の前記レ
    ジスタへの第1のアクセスではない場合、前記制御回路
    は前記レジスタへの前記現在の書き込みアクセスを前記
    レジスタへの書き込みを行なうことによって前記レジス
    タに影響を与えるようにする;ことを特徴とする集積回
    路(18)。
JP9123522A 1996-05-06 1997-04-25 データ処理システムにおけるレジスタへのアクセス方法 Pending JPH1091529A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/643,647 US5778444A (en) 1996-05-06 1996-05-06 Method and apparatus for reset-sensitive and controlled register write accesses in a data processing system with user and test modes
US643647 2000-08-22

Publications (1)

Publication Number Publication Date
JPH1091529A true JPH1091529A (ja) 1998-04-10

Family

ID=24581713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9123522A Pending JPH1091529A (ja) 1996-05-06 1997-04-25 データ処理システムにおけるレジスタへのアクセス方法

Country Status (6)

Country Link
US (1) US5778444A (ja)
JP (1) JPH1091529A (ja)
KR (1) KR100440655B1 (ja)
CN (1) CN1168502A (ja)
IE (1) IE78449B1 (ja)
TW (1) TW325536B (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6265894B1 (en) * 1995-10-13 2001-07-24 Frederic Reblewski Reconfigurable integrated circuit with integrated debugging facilities for use in an emulation system
EP1143436B1 (en) * 2000-03-31 2006-05-03 Matsushita Electric Industrial Co., Ltd. Information recording and reproduction apparatus, information recording and reproduction method and information signal source
JP4492025B2 (ja) * 2002-05-21 2010-06-30 株式会社デンソー 電子制御装置のデータ格納方法
JP2009128888A (ja) 2007-11-28 2009-06-11 Sanyo Electric Co Ltd 液晶駆動回路
US20120185688A1 (en) * 2011-01-13 2012-07-19 Google Inc. Processor mode locking
US9619662B1 (en) 2011-01-13 2017-04-11 Google Inc. Virtual network pairs
US8533343B1 (en) 2011-01-13 2013-09-10 Google Inc. Virtual network pairs
US9135037B1 (en) 2011-01-13 2015-09-15 Google Inc. Virtual network protocol
US8874888B1 (en) 2011-01-13 2014-10-28 Google Inc. Managed boot in a cloud system
US8745329B2 (en) 2011-01-20 2014-06-03 Google Inc. Storing data across a plurality of storage nodes
US8812586B1 (en) 2011-02-15 2014-08-19 Google Inc. Correlating status information generated in a computer network
US8533796B1 (en) 2011-03-16 2013-09-10 Google Inc. Providing application programs with access to secured resources
US9063818B1 (en) 2011-03-16 2015-06-23 Google Inc. Automated software updating based on prior activity
US8261295B1 (en) 2011-03-16 2012-09-04 Google Inc. High-level language for specifying configurations of cloud-based deployments
US9237087B1 (en) 2011-03-16 2016-01-12 Google Inc. Virtual machine name resolution
US9075979B1 (en) 2011-08-11 2015-07-07 Google Inc. Authentication based on proximity to mobile device
US8966198B1 (en) 2011-09-01 2015-02-24 Google Inc. Providing snapshots of virtual storage devices
US9069616B2 (en) 2011-09-23 2015-06-30 Google Inc. Bandwidth throttling of virtual disks
US8958293B1 (en) 2011-12-06 2015-02-17 Google Inc. Transparent load-balancing for cloud computing services
US8800009B1 (en) 2011-12-30 2014-08-05 Google Inc. Virtual machine service access
US8983860B1 (en) 2012-01-30 2015-03-17 Google Inc. Advertising auction system
US9672052B1 (en) 2012-02-16 2017-06-06 Google Inc. Secure inter-process communication
US8996887B2 (en) 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
US8677449B1 (en) 2012-03-19 2014-03-18 Google Inc. Exposing data to virtual machines
US9069806B2 (en) 2012-03-27 2015-06-30 Google Inc. Virtual block devices
US9430255B1 (en) 2013-03-15 2016-08-30 Google Inc. Updating virtual machine generated metadata to a distribution service for sharing and backup
GB2557305A (en) * 2016-12-05 2018-06-20 Nordic Semiconductor Asa Memory protection logic

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE27239E (en) * 1968-11-14 1971-11-23 Memory system
US4093987A (en) * 1977-03-24 1978-06-06 International Business Machines Corporation Hardware control storage area protection method and means
US4498131A (en) * 1981-05-22 1985-02-05 Data General Corporation Data processing system having addressing mechanisms for processing object-based information and a protection scheme for determining access rights to such information
US4489380A (en) * 1982-04-01 1984-12-18 Honeywell Information Systems Inc. Write protected memory
US4580246A (en) * 1983-11-02 1986-04-01 Motorola, Inc. Write protection circuit and method for a control register
US4796235A (en) * 1987-07-22 1989-01-03 Motorola, Inc. Write protect mechanism for non-volatile memory
US5193199A (en) * 1988-04-14 1993-03-09 Zilog, Inc. Device and method for programming critical hardware parameters
US5161122A (en) * 1989-07-28 1992-11-03 Texas Instruments, Incorporated Register write bit protection apparatus and method
US5539901A (en) * 1993-09-30 1996-07-23 Intel Corporation Method and apparatus for system management mode support for in-circuit emulators
US5574894A (en) * 1994-11-03 1996-11-12 Motorola, Inc. Integrated circuit data processor which provides external sensibility of internal signals during reset

Also Published As

Publication number Publication date
KR970076247A (ko) 1997-12-12
TW325536B (en) 1998-01-21
KR100440655B1 (ko) 2004-10-06
US5778444A (en) 1998-07-07
CN1168502A (zh) 1997-12-24
IE970073A1 (en) 1997-11-19
IE78449B1 (en) 1998-02-11

Similar Documents

Publication Publication Date Title
JPH1091529A (ja) データ処理システムにおけるレジスタへのアクセス方法
US5640542A (en) On-chip in-circuit-emulator memory mapping and breakpoint register modules
EP0911735B1 (en) Microprocessor test system
US5630052A (en) System development and debug tools for power management functions in a computer system
US5970246A (en) Data processing system having a trace mechanism and method therefor
CN111033630B (zh) 具有mbist的多处理器内核设备
US5704039A (en) Mask programmable security system for a data processor and method therefor
US6587916B2 (en) Microcomputer with built-in programmable nonvolatile memory
US7805650B2 (en) Semiconductor integrated circuit and debug mode determination method
JP2001147836A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
JPH02133834A (ja) インサートキットエミュレータ
US5721877A (en) Method and apparatus for limiting access to nonvolatile memory device
US5768563A (en) System and method for ROM program development
US20080178261A1 (en) Information processing apparatus
JP2001154876A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
JP2001154875A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
US5860161A (en) Microcontroller configured to indicate internal memory accesses externally
US6260132B1 (en) Method and apparatus for secure address re-mapping
US6915247B1 (en) Computer system
US7340575B2 (en) Method and a circuit for controlling access to the content of a memory integrated with a microprocessor
US5826059A (en) Microcomputer for emulation
JP2010231607A (ja) エミュレータ
US6560698B1 (en) Register change summary resource
US20020004877A1 (en) Method and system for updating user memory in emulator systems
JP3166667B2 (ja) エミュレーション用マイクロコンピュータ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060912

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070501