JP2001134461A - リセット制御システムおよび方法 - Google Patents

リセット制御システムおよび方法

Info

Publication number
JP2001134461A
JP2001134461A JP31565499A JP31565499A JP2001134461A JP 2001134461 A JP2001134461 A JP 2001134461A JP 31565499 A JP31565499 A JP 31565499A JP 31565499 A JP31565499 A JP 31565499A JP 2001134461 A JP2001134461 A JP 2001134461A
Authority
JP
Japan
Prior art keywords
reset
emulator
signal
reset signal
processor
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
JP31565499A
Other languages
English (en)
Inventor
Hideyuki Iino
秀之 飯野
Sukeyuki Uchiumi
祐之 内海
Yoshio Hirose
佳生 広瀬
Ken Ryu
憲 劉
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP31565499A priority Critical patent/JP2001134461A/ja
Priority to US09/678,733 priority patent/US6877112B1/en
Publication of JP2001134461A publication Critical patent/JP2001134461A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 エミュレータからのリセット指示により、プ
ロセッサおよびコンパニオンチップの2チップともに初
期化できるようにする。 【解決手段】 エミュレータ30のリセット指示に基づ
くエミュレータリセット信号106、107と、外部の
リセット発生回路等から与えられる外部リセット信号1
15、116との論理和演算をOR回路34、35で行
い、当該論理和演算の結果をシステムリセット信号10
9、110として、プロセッサ10とコンパニオンチッ
プ20とに分配供給することにより、エミュレータ30
からのリセット指示によりプロセッサ10およびコンパ
ニオンチップ20の2チップともに初期化することがで
きるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、リセット制御シス
テムおよび方法に関し、特に、デバッグサポート機能を
内蔵するプロセッサと、それに接続するコンパニオンチ
ップとを備えたシステムのリセット制御方式に用いて好
適なものである。
【0002】
【従来の技術】従来、プロセッサを使用するシステムで
は、プログラム開発中のソフトデバッグやシステム開発
のハードデバッグを行うために、デバッグサポート機能
を有するDSU(Debug Support Unit)をプロセッサに
内蔵している。そして、デバッグ用に用意した外部エミ
ュレータをこのDSUに接続し、外部エミュレータから
デバッグ用コマンドをDSUに与えることにより、シス
テムデバッグが行われる。
【0003】図4は、プロセッサとエミュレータとから
なる従来のシステムの一例を示す図である。図4におい
て、401はデバッグ処理をエミュレートするエミュレ
ータ、402は各種データ処理を行うプロセッサであ
る。プロセッサ402は、プログラムの命令列を実行す
るためのCPUコア403と、デバッグ処理を支援する
ためのDSU404とを備えている。DSU404は、
エミュレータ401とのインタフェースを有し、エミュ
レータ401と接続されている。
【0004】エミュレータ401は、デバッグ用コマン
ド411をDSU404に送信する。送信するデバッグ
用コマンド411は、任意の命令/任意のデータのロー
ド・ストア/任意のデータ値/一命令毎のステップ実行
でブレーク割り込みを発生させるブレークコマンド、デ
バッグ開始時やブレーク割り込み発生後に命令実行開始
を指示する実行コマンドがある。また、ブレーク割り込
み発生時に内蔵レジスタやメモリの値を確認したり更新
したりするためのリード/ライトコマンド、デバッグ処
理を最初から行う際などにプロセッサの内部状態を初期
化するために使用するリセットコマンドなどがある。
【0005】DSU404は、エミュレータ401から
送信されたデバッグ用コマンド411を受信すると、デ
バッグモード信号412を出力し、プロセッサ402を
通常動作状態のユーザモードからデバッグ状態のデバッ
グモードに遷移させる。また、DSU404はデバッグ
用コマンドをデコードし、そのデコード結果413をC
PUコア403に供給する。
【0006】CPUコア403は、供給されたデバッグ
用コマンドのデコード結果413に従って処理を実行
し、その実行結果414をDSU404に通知する。D
SU404は、CPUコア403より受け取った実行結
果414を、エミュレータが送信したデバッグ用コマン
ド411の実行結果415としてエミュレータ401に
供給する。このようにして、エミュレータ401が送信
したデバッグ用コマンド411をデバッグサポート機能
を有するプロセッサ402が処理実行することにより、
システムのデバッグは行われる。
【0007】また、最近の高性能プロセッサを利用する
PC(Personal Computer)やLBP(Laser Beam Prin
ter)等のシステムでは、性能および価格等の理由によ
り、用途に特化したシステムを構築するようになってき
た。このようなシステムでは、プロセッサにはなるべく
CPUコアの機能のみを持たせ、システムの用途に合わ
せて必要なバス制御部や周辺リソースはプロセッサとは
別のコンパニオンチップに設ける。これにより、異なる
用途のシステムで高性能なプロセッサの共通化を図り、
システム毎にプロセッサを変更することなく、コンパニ
オンチップのみ変更して様々なシステムを構築できるよ
うにしている。
【0008】図5は、プロセッサとコンパニオンチップ
とからなる従来のシステムの一例を示す図である。図5
において、501はプロセッサであり、CPUコア50
2と、プロセッサ501とコンパニオンチップ505と
を接続するプロセッサバス504上でのデータ通信を制
御するプロセッサバス制御部503とを有する。
【0009】505はバス制御部や周辺リソースなどを
有するコンパニオンチップである。この図5の例では、
コンパニオンチップ505は、バス制御部としてプロセ
ッサバス504とPCIバス512とのバスプロトコル
変換を行うバス変換部506を有する。また、システム
に必要な周辺リソースとして、DMAC(Direct Memor
y Access Controller)507、IRC(Interrupt Req
uest Controller)508、タイマー部509、メモリ
制御部510、図示しないUART(Universal Asynch
ronous Receiver Transmitter)等を有する。
【0010】ここで、DMAC507は、プロセッサ5
01を介さずにメモリ515と他の装置との間で直接デ
ータを送受信するDMA(Direct Memory Access)転送
を制御するものである。IRC508は、システムに接
続されている各装置からの割り込み要求を制御するもの
であり、タイマー部509はタイムアウト検出等のため
に時間の計測を行うものである。また、メモリ制御部5
10は、コンパニオンチップ505の外部に接続された
専用メモリ511を制御するものであり、UARTは、
語並列コントローラ等をビット直列通信網に接続するも
のである。
【0011】また、上記PCIバス512には、Boo
t ROM513とI/O装置514とメモリ515と
ASIC(Application Specific Integrated Circui
t)516とが接続されており、上記プロセッサ501
およびコンパニオンチップ505により、これらの動作
が制御される。
【0012】プロセッサ501は、プロセッサバス50
4を介してコンパニオンチップ505に接続されてお
り、コンパニオンチップ505に内蔵されているDMA
C等の周辺リソース507、508、509、510を
制御する。また、プロセッサ501がPCIバス512
に接続されているリソース513〜516にアクセスす
るときには、プロセッサバス504を介して、コンパニ
オンチップ505に内蔵されているバス変換部506で
プロセッサバス504とPCIバス512とのバスプロ
トコル変換を行い、PCIバス512に接続されている
リソース513〜516にアクセスする。
【0013】次に、図6にDSU内蔵のプロセッサとコ
ンパニオンチップとエミュレータとからなるシステムの
デバッグ形態の一例を示す。図6において、601はエ
ミュレータであり、602はプロセッサである。プロセ
ッサ602は、DSU603とCPUコア604と第1
のリセット制御部605とを有する。DSU603は、
エミュレータ601とのインタフェースを備えており、
エミュレータ601と接続されている。
【0014】第1のリセット制御部605は、エミュレ
ータ601から出力されたデバッグ用リセットコマンド
621をDSU603でデコードして得られる第1のリ
セット信号625と、図示しない外部のリセット発生回
路等から出力された外部リセット信号626からコンパ
ニオンチップ606内の第2のリセット制御部607で
生成される第2のリセット信号628との論理和演算を
行う。そして、その演算結果を、CPUコア604を初
期化する第1の内部リセット信号629としてCPUコ
ア604に出力する。
【0015】また、コンパニオンチップ606は、上記
第2のリセット制御部607と図示しないバス制御部、
周辺リソース等を有する。第2のリセット制御部607
は、図示しない外部のリセット発生回路等から出力され
た外部リセット信号626を第2の内部リセット信号6
27と第2のリセット信号628とに分配する。第2の
内部リセット信号627はコンパニオンチップ606の
内部状態を初期化し、第2のリセット信号628はプロ
セッサ602内の第1のリセット制御部605に出力さ
れる。
【0016】コンパニオンチップ606は、図示しない
プロセッサバスおよび個別信号線によりプロセッサ60
2と接続されており、コンパニオンチップ606内の図
示しないバス制御部および周辺リソースは、プロセッサ
602により制御されている。
【0017】次に、図6に示すシステムのデバッグ時の
動作について説明する。エミュレータ601は、デバッ
グ用コマンド621をDSU603に送信する。デバッ
グ用コマンド621を受信したDSU603は、デバッ
グモード信号622を出力し、プロセッサ602を通常
動作状態のユーザモードからデバッグ状態のデバッグモ
ードに遷移させる。
【0018】また、DSU603は、エミュレータ60
1から供給されたデバッグ用コマンド621をデコード
し、その結果、デバッグ用コマンド621がリセットコ
マンド以外のときには、デコード結果をデバッグ指示信
号623としてCPUコア604に供給する。CPUコ
ア604は、供給されたデバッグ指示信号623に従い
処理を実行し、実行した結果624をDSU603に通
知する。さらに、DSU603は、CPUコア604か
ら受信した実行結果624をエミュレータ601が送信
したデバッグ用コマンド621の実行結果630として
エミュレータ601に通知する。
【0019】一方、エミュレータ601から供給された
デバッグ用コマンド621をDSU603でデコードし
た結果、リセットコマンドであったときには、DSU6
03は第1のリセット信号625を第1のリセット制御
部605に出力する。この第1のリセット信号625を
受信した第1のリセット制御部605は、外部リセット
信号626に基づく第2のリセット信号628との論理
和演算を行い、その結果、第1の内部リセット信号62
9をCPUコア604に出力し、CPUコア604を初
期化する。
【0020】また、図示しない外部のリセット発生回路
等により出力された外部リセット信号626は、第2の
リセット制御部607に入力される。上記外部リセット
信号626を受信した第2のリセット制御部607は、
第2の内部リセット信号627を出力してコンパニオン
チップ606の内部状態を初期化するとともに、プロセ
ッサ602内の第1のリセット制御部605に第2のリ
セット信号628を出力する。
【0021】
【発明が解決しようとする課題】以上のように、最近の
高性能なシステムでは、プロセッサとコンパニオンチッ
プとが別チップとして形成されるが、これらは全くの別
物ではなく、2チップ合わせてシステム全体としての動
作が保証されなければならない。このため、システム開
発において、ハードデバッグおよびソフトデバッグを行
う際には、プロセッサとコンパニオンチップとの2チッ
プを両方含んだ状態でデバッグを行う必要がある。よっ
て、初期化をする際にも両チップに対して行わないと、
正しいデバッグができなくなってしまう。
【0022】しかしながら、システムの内部状態をリセ
ットする場合、プロセッサ602とコンパニオンチップ
606とが別チップとして備えられた図6のような従来
のシステムでは、エミュレータ601からのリセット指
示により、プロセッサ602を初期化することはできる
が、コンパニオンチップ606を初期化することができ
ず、そのためシステム全体としてリセットすることがで
きないという問題があった。
【0023】また、上記図6のシステムでは、プロセッ
サ602がユーザモード(通常動作状態)であるかデバ
ッグモード(デバッグ状態)であるかに関わらず、外部
のリセット発生回路等から外部リセット信号626が出
力されたときには、プロセッサ602およびコンパニオ
ンチップ606が共に初期化される。このため、エミュ
レータ601がデバッグ用コマンド621をプロセッサ
602に送信することにより、プロセッサ602がデバ
ッグモードに遷移してシステムのデバッグを行っている
ときに、リセット発生回路の不具合などの何らかの原因
で外部リセット信号626が不意に入力されると、プロ
セッサ602およびコンパニオンチップ606が初期化
され、CPUコア604の内部等に記憶しているデバッ
グ中の内部状態が消失してしまうという問題があった。
【0024】本発明は、このような問題を解決するため
に成されたものであり、エミュレータからのリセット指
示により、プロセッサおよびコンパニオンチップの2チ
ップともに初期化できるようにすることを目的とする。
また、本発明は、プロセッサがデバッグモードにあると
きは、外部リセット信号が入力されても、初期化される
ことなくデバッグ中の内部状態を維持できるようにする
ことをも目的とする。
【0025】
【課題を解決するための手段】本発明によるリセット制
御システムは、中央演算実行部と周辺制御部とが別チッ
プ上に形成されたシステムにおいて、エミュレータのリ
セット指示に基づくエミュレータリセット信号と外部リ
セット信号とに基づいてシステムリセット信号を生成し
て上記中央演算実行部および上記周辺制御部の両チップ
に供給する。
【0026】また、本発明によるリセット制御システム
の他の特徴とするところは、エミュレータの動作時に外
部リセット信号をマスクするマスク手段を備える。
【0027】また、中央演算実行部と周辺制御部のうち
少なくとも一方のチップに、リセット後の起動タイミン
グを上記中央演算実行部と上記周辺制御部とで同期させ
る同期手段を備えるようにしても良い。
【0028】また、エミュレータのリセット指示に基づ
くエミュレータリセット信号と外部リセット信号とに基
づいてシステムリセット信号を生成して出力するシステ
ムリセット出力手段を中央演算実行部のチップ内に備え
るようにしても良い。
【0029】上記のように構成した本発明によれば、エ
ミュレータからのリセット指示に基づくエミュレータリ
セット信号と外部のリセット発生回路等からの外部リセ
ット信号とに基づいて生成されたシステムリセット信号
が、中央演算実行部ばかりでなく、これとは別チップの
周辺制御部にも供給されることとなるので、エミュレー
タリセット信号により上記中央演算実行部と上記周辺制
御部との2チップとも初期化することができるようにな
る。
【0030】また、本発明の他の特徴によれば、エミュ
レータを動作させているときには、外部リセット信号が
マスクされて無効にされるので、デバッグ中に不意に外
部リセット信号が入力されても、当該外部リセット信号
によって意図に反してリセットが行われてしまう不都合
を回避することができるようになる。
【0031】また、同期手段を設けた場合は、中央演算
実行部と周辺制御部との内部回路の違い等により生じる
リセット解除の時間差が調整され、リセット動作後に上
記中央演算実行部と上記周辺制御部とが同期して起動さ
れることとなるので、先に起動した方のチップからまだ
起動していないチップへアクセスしてしまう不都合が防
止できるようになる。
【0032】また、中央演算実行部にシステムリセット
出力手段を設けた場合は、エミュレータから中央演算実
行部に対するリセット指示はコマンドの形態で行うこと
が可能となり、リセットの種類を増やすときでも、エミ
ュレータとのインタフェースを変更することなくコマン
ド拡張のみでリセット指示の種類を増やすことができる
ようになる。また、外部リセット信号は中央演算実行部
に直接入力されるので、エミュレータの接続、未接続に
関わらず外部リセット信号の入力経路を変更する必要が
ないので、通常使用の形態と同じ状態でデバッグを行う
ことができるようになる。
【0033】
【発明の実施の形態】以下に、本発明の一実施形態を図
面に基づいて説明する。図1は、第1の実施形態による
リセット制御システムを適用したシステムの一構成例を
示すブロック図である。このシステムは、プロセッサと
これに接続するコンパニオンチップとを備えたものであ
る。なお、本実施形態ではリセットの種類として、例え
ば、パワーオンリセットとハードリセットの場合につい
て説明する。パワーオンリセットは、電源投入時のリセ
ットであり、プロセッサおよびコンパニオンチップの全
内部状態を初期化するものである。一方、ハードリセッ
トはプロセッサおよびコンパニオンチップの一部の内部
状態を初期化するものである。
【0034】図1において、10はプロセッサ、20は
コンパニオンチップ、30はエミュレータである。プロ
セッサ10は、DSU11とCPUコア部12と第1の
リセット制御部13とを備えている。DSU11は、エ
ミュレータ30とのインタフェースを有し、エミュレー
タ30から送信されるデバッグ用コマンド101を受信
し、その実行結果102をエミュレータ30に送信す
る。DSU11は、エミュレータ30から送信されるデ
バッグ用コマンド101を受信すると、デバッグモード
信号103を出力し、プロセッサ10をユーザモードか
らデバッグモードに遷移させる。
【0035】また、DSU11は、受信したデバッグ用
コマンド101をデコードし、デコード結果をデバッグ
指示信号104としてCPUコア部12に供給する。C
PUコア部12は、供給されたデバッグ指示信号104
に従い処理を実行し、その実行結果105をDSU11
に通知する。さらに、DSU11は、CPUコア部12
から受信した実行結果105をエミュレータ30が送信
したデバッグ用コマンド101の実行結果102として
エミュレータ30に送信する。
【0036】CPUコア部12は、CPUコアとプロセ
ッサバス制御部とを含み、図示しないプロセッサバス等
を介してコンパニオンチップ20と接続されている。第
1のリセット制御部13は、エミュレータ30からパワ
ーオンリセットに対応した第1のシステムリセット信号
109が入力されると、第1のプロセッサ内部リセット
信号111を生成し、CPUコア部12に出力する。ま
た、ハードリセットに対応した第2のシステムリセット
信号110が入力されたときには、第2のプロセッサ内
部リセット信号112を生成し、CPUコア部12に出
力する。
【0037】コンパニオンチップ20は、第2のリセッ
ト制御部21と図示しないバス変換部や周辺リソース等
で構成されている。第2のリセット制御部21は、第1
のリセット制御部13と同様に、第1のシステムリセッ
ト信号109が入力されると、第1のコンパニオンチッ
プ内部リセット信号113を生成し、コンパニオンチッ
プ20内のバス変換部や周辺リソース等に出力する。ま
た、第2のシステムリセット信号110が入力されたと
きには、第2のコンパニオンチップ内部リセット信号1
14を生成し、コンパニオンチップ20内のバス変換部
や周辺リソース等に出力する。
【0038】エミュレータ30は、エミュレータリセッ
ト信号106、107およびマスク信号108等を生成
する信号生成部31と、リセット信号の制御を行う第3
のリセット制御部32とを含む。また、エミュレータ3
0は、リセットコマンドを除くデバッグ用コマンド10
1をDSU11に送信し、その実行結果102をDSU
11から受信する。
【0039】信号生成部31は、エミュレータ30がデ
バッグ用コマンド101をDSU11に送信したとき、
すなわちデバッグを行っているときにはマスク信号10
8を第3のリセット制御部32に出力する。また、プロ
セッサ10およびコンパニオンチップ20のリセット要
求時には、パワーオンリセットあるいはハードリセット
等のリセット要求に対応したエミュレータリセット信号
106、107を生成し第3のリセット制御部32に出
力する。
【0040】第3のリセット制御部32は、マスク回路
33とOR回路34、35とを含む。マスク回路33
は、信号生成部31から入力されるマスク信号108に
従い、図示しない外部のリセット発生回路等から入力さ
れるパワーオンリセットあるいはハードリセットに対応
した外部リセット信号115、116をマスクする。こ
のマスク回路33は本発明のマスク手段を構成する。
【0041】OR回路34、35は、信号生成部31か
ら出力されるエミュレータリセット信号106、107
と、マスク回路33から出力される外部リセット信号と
の論理和演算を行い、その結果をシステムリセット信号
109、110として出力する。このOR回路34、3
5は本発明のシステムリセット出力手段を構成する。
【0042】次に、図1に示すリセット制御システムの
動作について説明する。エミュレータ30からデバッグ
用コマンド101が送信されておらず、また、エミュレ
ータ30からリセット要求も出されていない状態、すな
わち、プロセッサ10がユーザモードで通常に動作して
いる状態であるとする。このとき、エミュレータ30内
の信号生成部31からは、第1のエミュレータリセット
信号106、第2のエミュレータリセット信号107、
マスク信号108の何れも出力されない。
【0043】このユーザモードにおいて、例えば、図示
しない外部リセット発生回路等によりパワーオンリセッ
トに応じた第1の外部リセット信号115が発生される
と、発生された第1の外部リセット信号115はエミュ
レータ30内のマスク回路33に入力される。マスク回
路33では、信号生成部31からマスク信号108が出
力されていないため、入力された第1の外部リセット信
号115をマスクせずに、OR回路34に出力する。
【0044】OR回路34では、信号生成部31から出
力される第1のエミュレータリセット信号106とマス
ク回路33から出力される第1の外部リセット信号との
論理和演算を行い、その演算結果を、第1のシステムリ
セット信号109として出力する。この場合、第1のエ
ミュレータ信号106は出力されていないので、マスク
回路33からの信号がそのままOR回路34を通過す
る。OR回路34から出力された第1のシステムリセッ
ト信号109は、分配されてプロセッサ10内の第1の
リセット制御部13と、コンパニオンチップ20内の第
2のリセット制御部21に供給される。
【0045】なお、ユーザモード時において、ハードリ
セットに応じた第2の外部リセット信号116が発生し
た場合も、上記第1の外部リセット信号115が発生し
た場合と同様に、当該発生した第2の外部リセット信号
116がマスク回路33およびOR回路35を通過し
て、第2のシステムリセット信号110としてプロセッ
サ10内の第1のリセット制御部13と、コンパニオン
チップ20内の第2のリセット制御部21に供給され
る。
【0046】一方、プロセッサ10がデバッグモードで
動作しているとき、信号生成部31はマスク信号108
を出力している。また、プロセッサ10がデバッグモー
ドで動作中に、プロセッサ10およびコンパニオンチッ
プ20のリセット要求がエミュレータ30で行われる
と、エミュレータ30内の信号生成部31はリセット要
求に対応したエミュレータリセット信号106、107
を出力する。リセット要求がパワーオンリセットであっ
た場合は第1のエミュレータリセット信号106を出力
し、ハードリセットであった場合は第2のエミュレータ
リセット信号107を出力する。
【0047】以下、エミュレータ30へのリセット要求
が、例えばパワーオンリセットである場合について説明
する。エミュレータ30でパワーオンリセットのリセッ
ト要求を受けると、信号生成部31は、第1のエミュレ
ータリセット信号106をOR回路34に出力する。
【0048】OR回路34では、第1のエミュレータリ
セット信号106とマスク回路33から出力される第1
の外部リセット信号との論理和演算が行われ、その演算
結果が第1のシステムリセット信号109として出力さ
れる。この場合、仮に何らかの原因で第1の外部リセッ
ト信号115が発生しても、マスク回路33において、
信号生成部31から出力されているマスク信号108に
従ってマスクが施されているため、第1の外部リセット
信号115はOR回路34には出力されない。
【0049】したがって、信号生成部31から出力され
た第1のエミュレータリセット信号106がOR回路3
4を通過し、第1のシステムリセット信号109として
出力される。OR回路34から出力された第1のシステ
ムリセット信号109は、分配されてプロセッサ10内
の第1のリセット制御部13と、コンパニオンチップ2
0内の第2のリセット制御部21に供給される。
【0050】また、何らかの原因で第2の外部リセット
信号116が発生したときも、マスク回路33におい
て、信号生成部31から出力されているマスク信号10
8に従ってマスクが施されているため、第2の外部リセ
ット信号116もOR回路35に出力されることはな
い。したがって、上記OR回路34を通過した第1のエ
ミュレータリセット信号106のみが、第1のシステム
リセット信号109としてプロセッサ10内の第1のリ
セット制御部13と、コンパニオンチップ20内の第2
のリセット制御部21に供給される。
【0051】プロセッサ10内の第1のリセット制御部
13は、供給された第1のシステムリセット信号109
に従い、第1のプロセッサ内部リセット信号111を生
成し、CPUコア部12を初期化する。また、コンパニ
オンチップ20内の第2のリセット制御部21も同様
に、第1のコンパニオンチップ内部リセット信号113
を生成し、コンパニオンチップ20内のバス変換部や周
辺リソース等を初期化する。
【0052】また、プロセッサ10がデバッグモードで
動作中に、エミュレータ30からデバッグ用コマンド1
01がDSU11に送信され、送信されたデバッグ用コ
マンド101に基づき、CPUコア部12が処理を実行
しているとする。このとき、仮に何らかの原因で、図示
しない外部リセット発生回路等により外部リセット信号
115または116が発生されても、この発生した外部
リセット信号115、116は、エミュレータ30内の
マスク回路33において、信号生成部31から出力され
ているマスク信号108に従ってマスクされ、無効にさ
れる。
【0053】したがって、エミュレータ30からのデバ
ッグ用コマンド101に基づいてCPUコア部12が処
理を実行しているときには、図示しない外部リセット発
生回路等により発生された外部リセット信号115また
は116によって、CPUコア部12は内部状態を初期
化されることなく処理を継続することができる。
【0054】以上のように、本実施形態によれば、エミ
ュレータ30内の信号生成部31から入力されるエミュ
レータリセット信号106、107と、外部のリセット
発生回路等から入力される外部リセット信号115、1
16とをOR回路34、35で論理和演算を行い、その
演算結果を、システムリセット信号109、110とし
て出力し、プロセッサ10およびコンパニオンチップ2
0に分配供給するようにする。これにより、通常動作状
態のときだけでなく、システムのデバッグを行っている
ときでも、エミュレータ30からのリセット指示により
生成されるエミュレータリセット信号106、107に
より、プロセッサ10とコンパニオンチップ20との2
チップとも初期化することができるようになる。
【0055】また、プロセッサ10がデバッグモードで
動作しているときには、外部リセット信号115、11
6をマスクするマスク信号108を、信号生成部31か
らマスク回路33に出力するようにする。これにより、
システムのデバッグを行っているときには、外部のリセ
ット発生回路の不具合等により不意に入力された外部リ
セット信号115、116を、マスク回路33によって
マスクすることができ、デバッグ中に外部リセット信号
115、116によりプロセッサ10およびコンパニオ
ンチップ20が初期化されることを防ぐことができるよ
うになる。
【0056】なお、本実施形態ではプロセッサ10内に
第1のリセット制御部13を設け、コンパニオンチップ
20内に第2のリセット制御部21を設けたが、リセッ
ト制御部13、21を設けず、第1および第2のシステ
ムリセット信号109、110をCPUコア部12、コ
ンパニオンチップ20内のバス変換部や周辺リソース等
に直接入力しても良い。
【0057】次に、本発明の第2の実施形態について説
明する。図2は、第2の実施形態によるリセット制御シ
ステムを適用したシステムの構成例を示すブロック図で
ある。なお、この図2において、図1に示したブロック
と同じブロックには同一の符号を付し、重複する説明は
省略する。
【0058】図1に示した第1の実施形態では、エミュ
レータ30内にシステムリセット信号を生成するリセッ
ト制御部を設けていたが、本実施形態ではプロセッサ4
0内にシステムリセット信号を生成するリセット制御部
を設けている。また、図1に示した第1の実施形態で
は、プロセッサ10内に第1のリセット制御部13を設
け、コンパニオンチップ20内に第2のリセット制御部
21を設けていたが、本実施形態では、第1および第2
のリセット制御部を備えない形態について説明する。
【0059】図2において、40はプロセッサ、50は
コンパニオンチップ、60はエミュレータである。プロ
セッサ40は、DSU41とCPUコア部12とリセッ
ト制御部42とを備えている。DSU41は、エミュレ
ータ60とのインタフェースを有し、エミュレータ60
から送信されるデバッグ用コマンド101を受信し、そ
の実行結果102をエミュレータ60に送信する。DS
U41は、エミュレータ60から送信されるデバッグ用
コマンド101を受信すると、マスク信号119および
デバッグモード信号103を出力し、プロセッサ40を
ユーザモードからデバッグモードに遷移させる。また、
受信したデバッグ用コマンド101をデコードする。
【0060】上記デコードの結果、エミュレータ60か
ら受信したデバッグ用コマンド101がパワーオンリセ
ットのリセットコマンドであったときには、パワーオン
リセットに応じた第1のエミュレータリセット信号11
7を生成し、OR回路44に出力する。また、受信した
デバッグ用コマンド101がハードリセットのリセット
コマンドであったときには、ハードリセットに応じた第
2のエミュレータリセット信号118を生成し、OR回
路45に出力する。
【0061】一方、デコードの結果、エミュレータ60
から受信したデバッグ用コマンド101がリセットコマ
ンド以外であったときには、デコード結果をデバッグ指
示信号104としてCPUコア部12に供給する。CP
Uコア部12は、供給されたデバッグ指示信号104に
従い処理を実行し、その実行結果105をDSU41に
通知する。さらに、DSU41は、CPUコア部12か
ら受信した実行結果105をエミュレータ60が送信し
たデバッグ用コマンド101の実行結果102としてエ
ミュレータ60に送信する。
【0062】上記リセット制御部42は、図示しない外
部のリセット発生回路等から入力されるパワーオンリセ
ットに応じた第1の外部リセット信号115およびハー
ドリセットに応じた第2の外部リセット信号116と、
DSU41から入力される第1および第2のエミュレー
タリセット信号117、118とを制御して第1および
第2のシステムリセット信号120、121を出力す
る。以下に、このリセット制御部42内の構成を説明す
る。
【0063】マスク回路43は、DSU41から入力さ
れるマスク信号119に従い、第1および第2の外部リ
セット信号115、116をマスクする。このマスク回
路43は、本発明のマスク手段を構成する。
【0064】OR回路44、45は、DSU41から出
力される第1および第2のエミュレータリセット信号1
17、118と、マスク回路43から出力される第1お
よび第2の外部リセット信号との論理和演算をそれぞれ
行い、その結果を第1および第2のシステムリセット信
号120、121として出力する。このOR回路44、
45は本発明のシステムリセット出力手段を構成する。
【0065】46、47はカウンタであり、プロセッサ
40とコンパニオンチップ50との内部回路の違い等に
よるリセット完了時間の差を調整するためのものであ
る。カウンタ46、47は、プロセッサ40のリセット
解除からコンパニオンチップ50のリセット解除までに
相当する時間を内部クロックを用いてカウントする。そ
して、プロセッサ40のリセット解除からコンパニオン
チップ50のリセット解除までに相当する時間をカウン
トした後、OR回路48に起動信号を出力する。
【0066】すなわち、カウンタ46、47は、システ
ムリセット信号120、121のネゲートを検出してか
ら一定時間を経過した後、OR回路48に起動信号を出
力する。OR回路48は、カウンタ46、47がそれぞ
れ出力する起動信号の論理和演算を行い、その結果を起
動許可信号122としてCPUコア部12に出力するこ
とにより、CPUコア部12を起動する。このカウンタ
46、47およびOR回路48は、リセットネゲート後
のプロセッサ40とコンパニオンチップ50との起動タ
イミングの同期をとるブロックであり、本発明の同期手
段を構成する。
【0067】コンパニオンチップ50は、図示しないバ
ス変換部や周辺リソース等で構成されており、プロセッ
サ40とプロセッサバス等で接続されている。なお、本
実施形態はコンパニオンチップ50にリセット制御部を
具備しない形態を示しているが、プロセッサ40から入
力されるシステムリセット信号120、121から内部
リセット信号を生成するリセット制御部をコンパニオン
チップ50内に具備しても良い。
【0068】次に、図2に示すリセット制御システムの
動作について説明する。エミュレータ60からデバッグ
用コマンド101が送信されておらず、プロセッサ40
がユーザモードで通常に動作しているとする。このと
き、DSU41からは第1のエミュレータリセット信号
117、第2のエミュレータリセット信号118、マス
ク信号119の何れも出力されない。
【0069】このユーザモードにおいて、例えば、図示
しない外部リセット発生回路等によりパワーオンリセッ
トに応じた第1の外部リセット信号115が発生される
と、発生された第1の外部リセット信号115はプロセ
ッサ40内のマスク回路43に入力される。マスク回路
43では、DSU41からマスク信号119が出力され
ていないため、入力された第1の外部リセット信号11
5をマスクせずに、OR回路44に出力する。
【0070】OR回路44では、DSU41から出力さ
れる第1のエミュレータリセット信号117とマスク回
路43から出力される第1の外部リセット信号との論理
和演算を行い、その演算結果を、第1のシステムリセッ
ト信号120として出力する。この場合、第1のエミュ
レータ信号117は出力されていないので、マスク回路
43からの信号がそのままOR回路44を通過する。O
R回路44から出力された第1のシステムリセット信号
120は、分配されてCPUコア部12、コンパニオン
チップ50、カウンタ46に供給される。
【0071】CPUコア部12およびコンパニオンチッ
プ50に供給された第1のシステムリセット信号120
に従い、CPUコア部12およびコンパニオンチップ5
0が初期化される。また、カウンタ46は、供給された
第1のシステムリセット信号120のネゲートを検出
し、リセットネゲート検出から一定時間をカウントした
後、OR回路48に起動信号を出力する。
【0072】OR回路48は、カウンタ46、47のそ
れぞれから出力される起動信号の論理和演算を行い、そ
の結果を起動許可信号122としてCPUコア部12に
供給する。この場合、カウンタ47から起動信号は出力
されていないので、カウンタ46の出力がOR回路48
をそのまま通過する。CPUコア部12はリセット処理
の後、この起動許可信号122を受信して動作を開始
し、リセットベクターから処理を実行する。
【0073】なお、ハードリセットに応じた第2の外部
リセット信号116が入力された場合は、第1の外部リ
セット信号115が入力された場合とはリセット範囲が
異なるのみで同様の動作である。
【0074】一方、エミュレータ60からデバッグ用コ
マンド101がDSU41に送信されて、プロセッサ4
0がデバッグモードで動作しているとき、DSU41は
マスク信号119とを出力している。
【0075】さらに、エミュレータ60から送信された
デバッグ用コマンド101がパワーオンリセットあるい
はハードリセットのリセットコマンドであったときに
は、DSU41は受信したリセットコマンドに対応した
第1のエミュレータリセット信号117または第2のエ
ミュレータリセット信号118の何れかの信号を出力す
る。以下では、受信したデバッグ用コマンド101がパ
ワーオンリセットのリセットコマンドであり、上記リセ
ットコマンドに対応した第1のエミュレータリセット信
号117が出力された場合について説明する。
【0076】DSU41が、エミュレータ60からパワ
ーオンリセットのリセットコマンドを受信すると、DS
U41は第1のエミュレータリセット信号117をOR
回路44に出力する。OR回路44では、DSU41か
ら出力される第1のエミュレータリセット信号117
と、マスク回路43から出力される第1の外部リセット
信号との論理和演算を行い、その演算結果を、第1のシ
ステムリセット信号120として出力する。この場合、
第1の外部リセット信号115は、マスク回路43にお
いて、DSU41から出力されているマスク信号119
に従ってマスクされているため、OR回路44には出力
されない。
【0077】したがって、DSU41から出力された第
1のエミュレータリセット信号117がOR回路44を
通過し、第1のシステムリセット信号120として出力
される。OR回路44から出力された第1のシステムリ
セット信号120は、分配されて、CPUコア部12、
コンパニオンチップ50、カウンタ46に供給される。
【0078】CPUコア部12およびコンパニオンチッ
プ50に供給された第1のシステムリセット信号120
に従い、CPUコア部12およびコンパニオンチップ5
0が初期化される。また、カウンタ46は、供給された
第1のシステムリセット信号120のネゲートを検出
し、リセットネゲート検出から一定時間を経過した後、
OR回路48に起動信号を出力する。
【0079】OR回路48は、カウンタ46、47のそ
れぞれから出力される起動信号の論理和演算を行い、そ
の結果を起動許可信号122としてCPUコア部12に
供給する。この場合、カウンタ47から起動信号は出力
されていないので、カウンタ46の出力がOR回路48
からそのまま通過する。CPUコア部12はリセット処
理の後、この起動許可信号122を受信して動作を開始
し、リセット直後に読み出すべきプログラムの先頭アド
レスであるリセットベクターから処理を実行する。
【0080】また、何らかの原因で第2の外部リセット
信号116が発生したときも、マスク回路43におい
て、DSU41から出力されているマスク信号119に
従ってマスクが施されているため、第2の外部リセット
信号116もOR回路45に出力されることはない。し
たがって、上記OR回路44を通過した第1のエミュレ
ータリセット信号117のみが、第1のシステムリセッ
ト信号120としてCPUコア部12、コンパニオンチ
ップ50、カウンタ46に供給される。
【0081】また、プロセッサ40がデバッグモードで
動作中に、エミュレータ60からリセットコマンド以外
のデバッグ用コマンド101がDSU41に送信され、
送信されたデバッグ用コマンド101に基づき、CPU
コア部12が処理を実行しているとする。このとき、仮
に何らかの原因で、図示しない外部リセット発生回路等
により外部リセット信号115または116が発生され
ても、この発生した外部リセット信号115、116
は、プロセッサ40内のマスク回路43において、DS
U41から出力されているマスク信号119に従ってマ
スクされ、無効にされる。
【0082】したがって、エミュレータ60からのリセ
ットコマンド以外のデバッグ用コマンド101に基づい
てCPUコア部12が処理を実行しているときには、図
示しない外部リセット発生回路等により発生された外部
リセット信号115または116によって、CPUコア
部12は内部状態を初期化されることなく処理を継続す
ることができる。
【0083】以上のように、第2の実施形態によれば、
外部のリセット発生回路等から入力される外部リセット
信号115、116と、DSU41から入力されるエミ
ュレータリセット信号117、118とをOR回路4
4、45で論理和演算を行い、その演算結果を、システ
ムリセット信号120、121として出力し、CPUコ
ア部12およびコンパニオンチップ50に分配し供給す
るようにする。これにより、通常動作状態のときだけで
なく、システムのデバッグを行っているときでも、エミ
ュレータ60からのリセット指示により生成されるエミ
ュレータリセット信号117、118により、プロセッ
サ40とコンパニオンチップ50との2チップとも初期
化することができるようになる。
【0084】また、プロセッサ40がデバッグモードで
動作しているときには、外部リセット信号115、11
6をマスクするマスク信号119を、DSU41からマ
スク回路43に出力するようにする。これにより、シス
テムのデバッグを行っているときには、外部のリセット
発生回路の不具合等により不意に入力された外部リセッ
ト信号115、116を、マスク回路43によってマス
クすることができ、デバッグ中に外部リセット信号11
5、116によりプロセッサ40およびコンパニオンチ
ップ50が初期化されることを防ぐことができるように
なる。
【0085】さらに、本実施形態によれば、エミュレー
タ内のOR回路を用いて生成したシステムリセット信号
をプロセッサに供給する第1の実施形態と異なり、OR
回路44、45を備えたリセット制御部42をプロセッ
サ40内に設けてシステムリセット信号120、121
をプロセッサ40内で生成するようにしたので、エミュ
レータ60からプロセッサ40へのリセット要求をコマ
ンドで行うことが可能となり、外部リセット信号の種類
が増え、それに伴いエミュレータ60からのリセット指
示の種類を増やすときでも、エミュレータ60とプロセ
ッサ40のインタフェースを変更することなく、エミュ
レータ60が送信するデバッグ用コマンド101のビッ
ト配列を変更するなどしてコマンドの拡張を行うことに
より、リセット信号の種類を容易に増加させることがで
きる。
【0086】また、本実施形態では、外部リセット信号
115、116とエミュレータリセット信号117、1
18からシステムリセット信号120、121を生成す
るリセット制御部42をプロセッサ40内に設け、外部
リセット信号115、116をプロセッサ40に直接入
力するようにしている。これにより、エミュレータ60
の接続、未接続に関わらず外部リセット信号115、1
16の入力経路を変更する必要がなく、通常使用の形態
と同じ状態でデバッグを行うことができる。また、通常
に使用していてソフトウェアの更新等によりデバッグを
行う機会が発生しても容易にデバッグを行うことができ
る。
【0087】また、本実施形態では、カウンタ46、4
7を設け、システムリセット信号120、121のネゲ
ートを検出してから一定時間が経過した後、CPUコア
部12の起動を許可する起動許可信号122をCPUコ
ア部12に出力するようにしている。これにより、プロ
セッサ40とコンパニオンチップ50との内部回路の違
い等によるリセット解除の時間差を調整し、プロセッサ
40とコンパニオンチップ50とを同期して起動させる
ことができる。すなわち、プロセッサ40とコンパニオ
ンチップ50とのリセット後の起動までの時間差を調整
することができ、リセット解除後の動作を保証すること
ができる。例えば、先にリセット解除されたプロセッサ
40がコンパニオンチップ50のリセット動作中にコン
パニオンチップ50にアクセスすることで、コンパニオ
ンチップ50にPCIバス等を介して接続された周辺リ
ソースにアクセスできない不都合を防ぐことができる。
【0088】なお、本実施形態ではDSU41がエミュ
レータ60からデバッグ用コマンド101を受信したと
き、外部リセット信号115、116をマスクするため
マスク信号119を生成しているが、マスク信号119
の代わりにDSU41がプロセッサ40をデバッグモー
ドに遷移させるデバッグモード信号103をマスク信号
として使用しても良い。
【0089】次に、本発明の第3の実施形態について説
明する。図3は、第3の実施形態によるリセット制御シ
ステムの構成例を示すブロック図である。なお、この図
3において、図1、図2に示したブロックと同じブロッ
クには同一の符号を付し、重複する説明は省略する。
【0090】図3において、40’はプロセッサであ
り、DSU41’とCPUコア部12とリセット制御部
42’とで構成されている。DSU41’は、エミュレ
ータ60とのインタフェースを有し、エミュレータ60
から送信されるデバッグ用コマンド101を受信し、そ
の実行結果102をエミュレータ60に送信する。DS
U41’は、エミュレータ60から送信されるデバッグ
用コマンド101を受信すると、リセット選択信号12
3およびデバッグモード信号103を出力し、プロセッ
サ40’をユーザモードからデバッグモードに遷移させ
る。また、受信したデバッグ用コマンド101をデコー
ドする。
【0091】上記デコードの結果、エミュレータ60か
ら受信したデバッグ用コマンド101がパワーオンリセ
ットのリセットコマンドであったときには、パワーオン
リセットに応じた第1のエミュレータリセット信号11
7を生成し、セレクタ回路71に出力する。また、受信
したデバッグ用コマンド101がハードリセットのリセ
ットコマンドであったときには、ハードリセットに応じ
た第2のエミュレータリセット信号118を生成し、セ
レクタ回路72に出力する。
【0092】一方、デコードの結果、エミュレータ60
から受信したデバッグ用コマンド101がリセットコマ
ンド以外であったときには、デコード結果をデバッグ指
示信号104としてCPUコア部12に供給する。CP
Uコア部12は、供給されたデバッグ指示信号104に
従い処理を実行し、その実行結果105をDSU41’
に通知する。さらに、DSU41’は、CPUコア部1
2から受信した実行結果105をエミュレータ60が送
信したデバッグ用コマンド101の実行結果102とし
てエミュレータ60に送信する。
【0093】セレクタ回路71、72は、DSU41’
から出力されるリセット選択信号123に基づき、外部
のリセット発生回路等から入力されるパワーオンリセッ
トに応じた第1の外部リセット信号115およびハード
リセットに応じた第2の外部リセット信号116と、D
SU41’から入力されるエミュレータリセット信号1
17、118のどちらか一方をシステムリセット信号1
20、121としてそれぞれ選択的に供給する。このセ
レクタ回路71、72は、本発明のリセット選択手段を
構成する。
【0094】次に、図3に示すリセット制御システムの
動作について説明する。エミュレータ60からデバッグ
用コマンド101が送信されておらず、プロセッサ4
0’がユーザモードで通常に動作しているとする。この
とき、DSU41’からは第1のエミュレータリセット
信号117および第2のエミュレータリセット信号11
8は出力されない。また、リセット選択信号123は外
部リセット信号115、116を選択するように出力さ
れている。
【0095】このユーザモードにおいて、例えば、図示
しない外部リセット発生回路等によりパワーオンリセッ
トに応じた第1の外部リセット信号115が発生される
と、発生された第1の外部リセット信号115はプロセ
ッサ40’内のセレクタ回路71に入力される。セレク
タ回路71では、DSU41’から出力されているリセ
ット選択信号123に従い、第1の外部リセット信号1
15を選択し、第1のシステムリセット信号120とし
て出力する。
【0096】なお、ハードリセットに応じた第2の外部
リセット信号116が入力された場合は、第1の外部リ
セット信号115が入力された場合とはリセット範囲が
異なるのみで同様の動作である。
【0097】一方、エミュレータ60からデバッグ用コ
マンド101が送信され、プロセッサ40’がデバッグ
モードで動作しているとき、DSU41’から出力され
るリセット選択信号123は、DSU41’から出力さ
れるエミュレータリセット信号117、118を選択す
るように出力されている。
【0098】このとき、エミュレータ60から送信され
たデバッグ用コマンド101がパワーオンリセットある
いはハードリセットのリセットコマンドであったときに
は、DSU41’は受信したリセットコマンドに対応し
た第1のエミュレータリセット信号117または第2の
エミュレータリセット信号118の何れかの信号を出力
する。
【0099】例えば、DSU41’が、エミュレータ6
0からパワーオンリセットのリセットコマンドを受信す
ると、DSU41’は第1のエミュレータリセット信号
117をセレクタ回路71に出力する。セレクタ回路7
1では、DSU41’から出力されているリセット選択
信号123に従い、第1のエミュレータリセット信号1
17を選択し、第1のシステムリセット信号120とし
て出力する。
【0100】ユーザモード時にセレクタ回路71により
第1のシステムリセット信号120として選択された外
部リセット信号115、またはデバッグモード時に第1
のシステムリセット信号120として選択されたエミュ
レータリセット信号117は、分配されて、CPUコア
部12、コンパニオンチップ50、カウンタ46に供給
される。
【0101】CPUコア部12およびコンパニオンチッ
プ50に供給された第1のシステムリセット信号120
に従い、CPUコア部12およびコンパニオンチップ5
0が初期化される。また、カウンタ46は、供給された
第1のシステムリセット信号120のネゲートを検出
し、リセットネゲート検出から一定時間を経過した後、
OR回路48に起動信号を出力する。
【0102】OR回路48は、カウンタ46、47のそ
れぞれから出力される起動信号の論理和演算を行い、そ
の結果を起動許可信号122としてCPUコア部12に
供給する。この場合、カウンタ47から起動信号は出力
されていないので、カウンタ46の出力がOR回路48
からそのまま通過する。CPUコア部12はリセット処
理の後、この起動許可信号122を受信して動作を開始
し、リセットベクターから処理を実行する。
【0103】また、第1のエミュレータリセット信号1
17の供給中に、何らかの原因で第1の外部リセット信
号115が発生しても、リセット選択信号123に基づ
きセレクタ71により第1のエミュレータリセット信号
117が選択される。また、第1のエミュレータリセッ
ト信号117の供給中に第2の外部リセット信号116
が発生しても、リセット選択信号123に基づきセレク
タ72により第2のエミュレータリセット信号118の
側が選択されるが、このとき第2のエミュレータリセッ
ト信号118は出力されていないので、これに基づきリ
セットされることはない。
【0104】また、プロセッサ40’がユーザモードで
通常に動作しているとき、何らかの原因によりDSU4
1’からエミュレータリセット信号117または118
が出力されたとしても、リセット選択信号123に基づ
きプロセッサ40’内セレクタ71、72によりエミュ
レータリセット信号117、118は選択されないの
で、出力されたエミュレータリセット信号117、11
8は無効となる。
【0105】したがって、プロセッサ40’が通常に動
作しているときには、DSU41’から出力されたエミ
ュレータリセット信号117または118によって、C
PUコア部12は内部状態を初期化されることなく通常
動作を継続することができる。
【0106】また、プロセッサ40’がデバッグモード
で動作中に、エミュレータ60からリセットコマンド以
外のデバッグ用コマンド101がDSU41に送信さ
れ、送信されたデバッグ用コマンド101に基づき、C
PUコア部12が処理を実行しているとする。このと
き、仮に何らかの原因で、図示しない外部リセット発生
回路等により外部リセット信号115または116が発
生されても、リセット選択信号123に基づきプロセッ
サ40’内セレクタ71、72により外部リセット信号
115、116は選択されないので、出力された外部リ
セット信号115、116は無効となる。また、このと
きDSU41’からエミュレータリセット信号117、
118も出力されていない。
【0107】したがって、エミュレータ60からのリセ
ットコマンド以外のデバッグ用コマンド101に基づい
てCPUコア部12が処理を実行しているときには、図
示しない外部リセット発生回路等により発生された外部
リセット信号115または116によって、CPUコア
部12は内部状態を初期化されることなく処理を継続す
ることができる。
【0108】以上のように、第3の実施形態によれば、
エミュレータ60からのリセットコマンド101に応じ
てDSU41’から出力されるエミュレータリセット信
号117、118と、外部のリセット発生回路等から入
力される外部リセット信号115、116との何れか
を、リセット選択信号123に基づいてセレクタ回路7
1、72で選択し、システムリセット信号120、12
1として出力するようにする。
【0109】すなわち、プロセッサ40’がユーザモー
ドで通常に動作しているときには、外部リセット信号1
15、116が有効となり、一方、プロセッサ40がデ
バッグモードで動作しているときにはエミュレータリセ
ット信号117、118が有効となるようにする。
【0110】これにより、第2の実施形態で得られる効
果に加え、デバッグを行っているときに不意に入力され
る外部リセット信号115、116によりデバッグ中の
状態が初期化されるのを防ぐことができるだけでなく、
通常動作時においても不意に入力されるエミュレータリ
セット信号120、121によって内部状態が初期化さ
れるのを防ぐことができるようになる。
【0111】なお、本実施形態ではDSU41’がエミ
ュレータ60からデバッグ用コマンド101を受信した
とき、エミュレータリセット信号117、118を選択
し、通常動作時には外部リセット信号115、116を
選択するリセット選択信号123を生成しているが、D
SU41’がプロセッサ40をデバッグモードに遷移さ
せるデバッグモード信号103をリセット選択信号とし
て使用しても良い。
【0112】なお、本実施形態では外部リセット信号1
15、116かエミュレータリセット信号117、11
8かを選択するセレクタ回路71、72を用いている
が、図2に示した第2の実施形態において、マスク信号
119を反転した信号に基づいてエミュレータリセット
信号117、118をマスクするマスク回路を更に設け
ることにより、図3に示した第3の実施形態と同じ効果
が得られる。
【0113】また、第2および第3の実施形態では、起
動許可信号122を生成するカウンタ46、47をそれ
ぞれのシステムリセット信号120、121に対して2
つ備えているが、必ずしもこのカウンタはそれぞれのシ
ステムリセット信号120、121に対して備える必要
はなく、複数のシステムリセット信号に対して一つのみ
備えても良い。このとき、複数のシステムリセット信号
は、カウンタの前段で論理和演算を行いカウンタに入力
する。
【0114】また、第2および第3の実施形態では、リ
セット動作後におけるプロセッサ40、40’の起動を
一定時間だけ遅延するために、プロセッサ40、40’
内にカウンタ46、47を設けているが、内部回路の作
りによりプロセッサ40、40’よりコンパニオンチッ
プ50の方が早くリセット解除となるような場合には、
コンパニオンチップ50内にコンパニオンチップ50の
起動を遅延するためのカウンタを設ける。プロセッサ4
0、40’とコンパニオンチップ50とでリセット解除
までの時間差を調整する必要がない場合には、カウンタ
を設けなくても良いことは言うまでもない。なお、カウ
ンタの時定数はカウンタ毎に固定にしても良いし、カウ
ンタの外部から設定可能にしても良い。時定数を設定す
る場合は、時定数をエミュレータからコマンドで与えて
も良いし、プロセッサ内部に初期化されないレジスタ等
を設けて設定しても良い。
【0115】また、第2および第3の実施形態では、リ
セット制御部42、42’をプロセッサ40、40’内
に設けているが、コンパニオンチップ50内にこれらと
同様の機能を有するリセット制御部を設けても良い。
【0116】また、図1〜図3に示した第1〜第3の実
施形態では、DSU11、41、41’をプロセッサ1
0、40、40’内に設けてエミュレータ30、60を
プロセッサ10、40、40’に接続したが、DSU1
1、41、41’をコンパニオンチップ20、50内に
設けてエミュレータ30、60をコンパニオンチップ2
0、50に接続しても良い。
【0117】また、図1〜図3に示した第1〜第3の実
施形態では、外部リセット信号およびエミュレータリセ
ット信号はそれぞれ2種類のリセット信号であるが、本
発明は2種類のリセット信号からなるシステムのリセッ
ト制御システムに限られたものではない。
【0118】本発明の様々な形態をまとめると、以下の
ようになる。 (1)中央演算実行部と周辺制御部とが別チップ上に形
成されたシステムのリセット制御システムであって、上
記中央演算実行部の機能を別に実現するエミュレータの
リセット指示に基づくエミュレータリセット信号と外部
リセット信号とに基づいてシステムリセット信号を生成
して出力するシステムリセット出力手段を備え、上記シ
ステムリセット出力手段から出力される上記システムリ
セット信号を上記中央演算実行部および上記周辺制御部
の両チップに供給することを特徴とするリセット制御シ
ステム。 (2)上記システムリセット信号は、上記エミュレータ
リセット信号と上記外部リセット信号との論理和演算を
行うことにより生成することを特徴とする上記(1)に
記載のリセット制御システム。
【0119】(3)上記システムリセット出力手段は、
上記周辺制御部のチップ内に備えられることを特徴とす
る上記(1)に記載のリセット制御システム。 (4)上記システムリセット出力手段は、上記中央演算
実行部のチップ内に備えられることを特徴とする上記
(1)に記載のリセット制御システム。 (5)上記エミュレータの動作時に上記外部リセット信
号をマスクするマスク手段を備えることを特徴とする上
記(1)に記載のリセット制御システム。
【0120】(6)上記中央演算実行部と上記周辺制御
部のうち少なくとも一方のチップに、リセット後の起動
タイミングを上記中央演算実行部と上記周辺制御部とで
同期させる同期手段を備えることを特徴とする上記
(1)に記載のリセット制御システム。 (7)上記同期手段は、上記中央演算実行部あるいは上
記周辺制御部のリセット後に、一定時間の経過後に起動
許可を指示する起動許可信号を出力する起動許可信号出
力手段により構成されることを特徴とする上記(6)に
記載のリセット制御システム。
【0121】(8)上記中央演算実行部と上記周辺制御
部のうち少なくとも一方のチップに、リセット後の起動
タイミングを上記中央演算実行部と上記周辺制御部とで
同期させる同期手段を備えることを特徴とする上記
(5)に記載のリセット制御システム。 (9)上記同期手段は、上記中央演算実行部あるいは上
記周辺制御部のリセット後に、一定時間の経過後に起動
許可を指示する起動許可信号を出力する起動許可信号出
力手段により構成されることを特徴とする上記(8)に
記載のリセット制御システム。
【0122】(10)中央演算実行部と周辺制御部とが
別チップ上に形成されたシステムのリセット制御システ
ムであって、上記中央演算実行部の機能を別に実現する
エミュレータのリセット指示に基づくエミュレータリセ
ット信号と外部リセット信号との何れかをシステムリセ
ット信号として選択的に出力するリセット選択手段を備
え、上記リセット選択手段から出力される上記システム
リセット信号を上記中央演算実行部および上記周辺制御
部の両チップに供給することを特徴とするリセット制御
システム。
【0123】(11)上記中央演算実行部と上記周辺制
御部のうち少なくとも一方のチップに、リセット後の起
動タイミングを上記中央演算実行部と上記周辺制御部と
で同期させる同期手段を備えることを特徴とする上記
(10)に記載のリセット制御システム。 (12)上記同期手段は、上記中央演算実行部あるいは
上記周辺制御部のリセット後に、一定時間の経過後に起
動許可を指示する起動許可信号を出力する起動許可信号
出力手段により構成されることを特徴とする上記(1
1)に記載のリセット制御システム。
【0124】(13)中央演算実行部を備えるシステム
のリセット制御システムであって、上記中央演算実行部
の機能を別に実現するエミュレータの動作時に外部リセ
ット信号をマスクするマスク手段を備えることを特徴と
するリセット制御システム。
【0125】(14)中央演算実行部と周辺制御部とが
別チップ上に形成されたシステムのリセット制御方法で
あって、中央演算実行部の機能を別に実現するエミュレ
ータの動作時には外部リセット信号にマスクを施し、上
記エミュレータのリセット指示に基づくエミュレータリ
セット信号とマスクの施された外部リセット信号とに基
づいてシステムリセット信号を生成して、上記中央演算
実行部と上記周辺制御部の両チップに供給することを特
徴とするリセット制御方法。 (15)上記システムリセット信号は、上記エミュレー
タリセット信号と上記マスクの施された外部リセット信
号との論理和演算を行うことにより生成することを特徴
とする上記(14)に記載のリセット制御方法。
【0126】(16)中央演算実行部と周辺制御部とが
別チップ上に形成されたシステムのリセット制御方法で
あって、中央演算実行部の機能を別に実現するエミュレ
ータのリセット指示に基づくエミュレータリセット信号
と外部リセット信号との何れかをシステムリセット信号
として選択的に出力し、上記システムリセット信号を上
記中央演算実行部と上記周辺制御部の両チップに供給す
ることを特徴とするリセット制御方法。
【0127】
【発明の効果】以上説明したように、本発明によれば、
エミュレータからのリセット指示に基づくエミュレータ
リセット信号と外部のリセット発生回路等からの外部リ
セット信号とに基づいてシステムリセット信号を生成し
て中央演算実行部と周辺制御部の両チップに分配出力す
るようにしたので、外部リセット信号に基づく初期化の
ときだけでなく、エミュレータからのリセット指示によ
っても上記中央演算部および上記周辺制御部の2チップ
ともに初期化することができる。
【0128】また、本発明の他の特徴によれば、エミュ
レータを動作させているときには、マスク回路によって
外部リセット信号をマスクするようにしたので、デバッ
グ中に不意に外部リセット信号が入力されてもその外部
リセット信号を無効にすることができ、中央演算実行部
や周辺制御部は初期化されることなくデバッグ中の内部
情報を保持することができる。
【図面の簡単な説明】
【図1】第1の実施形態によるリセット制御システムを
適用したシステムの構成例を示すブロック図である。
【図2】第2の実施形態によるリセット制御システムを
適用したシステムの構成例を示すブロック図である。
【図3】第3の実施形態によるリセット制御システムを
適用したシステムの構成例を示すブロック図である。
【図4】エミュレータとプロセッサとからなる従来のシ
ステムの構成例を示すブロック図である。
【図5】プロセッサとコンパニオンチップとからなる従
来のシステムの構成例を示すブロック図である。
【図6】エミュレータとプロセッサとコンパニオンチッ
プとからなる従来のシステムのデバッグ形態例を示すブ
ロック図である。
【符号の説明】
10、40、40’ プロセッサ 11、41、41’ DSU 12 CPUコア部 13 第1のリセット制御部 20、50 コンパニオンチップ 21 第2のリセット制御部 30、60 エミュレータ 31 信号生成部 32 第3のリセット制御部 33、43 マスク回路 34、35、44、45、48 OR回路 42、42’ リセット制御部 46、47 カウンタ 71、72 セレクタ回路 106、107、117、118 エミュレータリセッ
ト信号 109、110、120、121 システムリセット信
号 115、116 外部リセット信号 122 起動許可信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 広瀬 佳生 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 劉 憲 東京都品川区大崎2丁目8番8号 富士通 デバイス株式会社内 Fターム(参考) 5B042 HH03 5B048 AA11 BB02 5B054 AA01 BB06 CC01 CC05

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 中央演算実行部と周辺制御部とが別チッ
    プ上に形成されたシステムのリセット制御システムであ
    って、 上記中央演算実行部の機能を別に実現するエミュレータ
    のリセット指示に基づくエミュレータリセット信号と外
    部リセット信号とに基づいてシステムリセット信号を生
    成して出力するシステムリセット出力手段を備え、 上記システムリセット出力手段から出力される上記シス
    テムリセット信号を上記中央演算実行部および上記周辺
    制御部の両チップに供給することを特徴とするリセット
    制御システム。
  2. 【請求項2】 上記エミュレータの動作時に上記外部リ
    セット信号をマスクするマスク手段を備えることを特徴
    とする請求項1に記載のリセット制御システム。
  3. 【請求項3】 中央演算実行部と周辺制御部とが別チッ
    プ上に形成されたシステムのリセット制御システムであ
    って、 上記中央演算実行部の機能を別に実現するエミュレータ
    のリセット指示に基づくエミュレータリセット信号と外
    部リセット信号との何れかをシステムリセット信号とし
    て選択的に出力するリセット選択手段を備え、 上記リセット選択手段から出力される上記システムリセ
    ット信号を上記中央演算実行部および上記周辺制御部の
    両チップに供給することを特徴とするリセット制御シス
    テム。
  4. 【請求項4】 中央演算実行部と周辺制御部とが別チッ
    プ上に形成されたシステムのリセット制御方法であっ
    て、 中央演算実行部の機能を別に実現するエミュレータの動
    作時には外部リセット信号にマスクを施し、上記エミュ
    レータのリセット指示に基づくエミュレータリセット信
    号とマスクの施された外部リセット信号とに基づいてシ
    ステムリセット信号を生成して上記中央演算実行部と上
    記周辺制御部の両チップに供給することを特徴とするリ
    セット制御方法。
  5. 【請求項5】 中央演算実行部と周辺制御部とが別チッ
    プ上に形成されたシステムのリセット制御方法であっ
    て、中央演算実行部の機能を別に実現するエミュレータ
    のリセット指示に基づくエミュレータリセット信号と外
    部リセット信号との何れかをシステムリセット信号とし
    て選択的に出力し、上記システムリセット信号を上記中
    央演算実行部と上記周辺制御部の両チップに供給するこ
    とを特徴とするリセット制御方法。
JP31565499A 1999-11-05 1999-11-05 リセット制御システムおよび方法 Pending JP2001134461A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP31565499A JP2001134461A (ja) 1999-11-05 1999-11-05 リセット制御システムおよび方法
US09/678,733 US6877112B1 (en) 1999-11-05 2000-10-04 Reset control system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31565499A JP2001134461A (ja) 1999-11-05 1999-11-05 リセット制御システムおよび方法

Publications (1)

Publication Number Publication Date
JP2001134461A true JP2001134461A (ja) 2001-05-18

Family

ID=18067984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31565499A Pending JP2001134461A (ja) 1999-11-05 1999-11-05 リセット制御システムおよび方法

Country Status (2)

Country Link
US (1) US6877112B1 (ja)
JP (1) JP2001134461A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080632A (ja) * 2007-09-26 2009-04-16 Nec Electronics Corp 半導体集積回路

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10116865A1 (de) * 2001-04-04 2002-11-07 Infineon Technologies Ag Programmgesteuerte Einheit
DE10116862A1 (de) * 2001-04-04 2002-10-17 Infineon Technologies Ag Programmgesteuerte Einheit
DE10116861A1 (de) * 2001-04-04 2002-10-31 Infineon Technologies Ag Programmgesteuerte Einheit
US7051197B2 (en) * 2002-11-22 2006-05-23 Texas Instruments Incorporated Tracing through reset
JP2004262491A (ja) * 2003-02-28 2004-09-24 Dainippon Printing Co Ltd 包装材料
US7391665B1 (en) * 2005-09-09 2008-06-24 Altera Corporation Process and temperature invariant power on reset circuit using a bandgap reference and a long delay chain
US7711940B2 (en) * 2005-12-19 2010-05-04 Samsung Electronics Co., Ltd. Circuit block and circuit system having skew compensation, and skew compensation method
US7681078B2 (en) * 2007-05-18 2010-03-16 Freescale Semiconductor, Inc. Debugging a processor through a reset event
US8407457B2 (en) * 2007-09-28 2013-03-26 Freescale Semiconductor, Inc. System and method for monitoring debug events
US8042002B2 (en) * 2008-01-18 2011-10-18 Freescale Semiconductor, Inc. Method and apparatus for handling shared hardware and software debug resource events in a data processing system
CN103377095B (zh) * 2012-04-24 2016-12-07 华为技术有限公司 一种运行日志的保存方法和设备
US20160349326A1 (en) * 2015-05-26 2016-12-01 Analog Devices Global Debug trigger interface for non-debug domain system reset
US10025741B2 (en) 2016-01-13 2018-07-17 Samsung Electronics Co., Ltd. System-on-chip, mobile terminal, and method for operating the system-on-chip
JP6750489B2 (ja) * 2016-12-06 2020-09-02 株式会社リコー 電子機器、画像形成装置、制御方法、およびプログラム
CN108664399A (zh) * 2018-05-10 2018-10-16 上海市信息网络有限公司 处理器芯片仿真器及掉电测试方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6455652A (en) 1987-08-27 1989-03-02 Toshiba Corp Data processor
US5630102A (en) * 1994-12-19 1997-05-13 Intel Corporation In-circuit-emulation event management system
JP3151808B2 (ja) * 1997-07-16 2001-04-03 日本電気株式会社 集積回路装置、回路検査装置および方法
US6175914B1 (en) * 1997-12-17 2001-01-16 Advanced Micro Devices, Inc. Processor including a combined parallel debug and trace port and a serial port
US6226756B1 (en) * 1998-11-03 2001-05-01 Integrated Device Technology, Inc. Apparatus and method for providing a common system interface for processors
US6564339B1 (en) * 1999-02-19 2003-05-13 Texas Instruments Incorporated Emulation suspension mode handling multiple stops and starts
US6367032B1 (en) * 1999-10-21 2002-04-02 Sony Corporation Of Japan Method and system for debugging a microprocessor core

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080632A (ja) * 2007-09-26 2009-04-16 Nec Electronics Corp 半導体集積回路

Also Published As

Publication number Publication date
US6877112B1 (en) 2005-04-05

Similar Documents

Publication Publication Date Title
JP2001134461A (ja) リセット制御システムおよび方法
JP5197571B2 (ja) マルチポート・メモリ・デバイスにおけるインターポート通信
US6502209B1 (en) Chip with debug capability
US20070242611A1 (en) Computer Hardware Fault Diagnosis
US8700835B2 (en) Computer system and abnormality detection circuit
JP2005209197A (ja) システム・コア・ロジックの動作周波数を変更してシステム・メモリ帯域幅を最大にする方法および装置
US5319785A (en) Polling of I/O device status comparison performed in the polled I/O device
US5784599A (en) Method and apparatus for establishing host bus clock frequency and processor core clock ratios in a multi-processor computer system
US8339869B2 (en) Semiconductor device and data processor
JPS62243058A (ja) マルチプロセツサシステムの割込制御方法
JPH10293744A (ja) Pciバス・システム
US5859987A (en) Method and apparatus for providing multiple configuration reset modes for an intelligent bridge
US20060085684A1 (en) System and method for providing mutual breakpoint capabilities in a computing device
US5721882A (en) Method and apparatus for interfacing memory devices operating at different speeds to a computer system bus
US7716407B2 (en) Executing application function calls in response to an interrupt
CN117561505A (zh) 用于动态地配置设备结构的系统、方法、装置和架构
US4947478A (en) Switching control system for multipersonality computer system
US6829677B1 (en) Method and apparatus for preserving the contents of synchronous DRAM through system reset
US6055559A (en) Process switch control apparatus and a process control method
JP6586765B2 (ja) アクセス遮断回路、半導体集積回路およびアクセス遮断方法
KR20110115983A (ko) 데이터 프로세서 및 데이터 처리 시스템
US6112272A (en) Non-invasive bus master back-off circuit and method for systems having a plurality of bus masters
KR101352140B1 (ko) 데이터 통신 시스템
KR100681427B1 (ko) 다중 프로세서 시스템을 위한 리셋 회로
JP4197798B2 (ja) デバッグ能力を有するチップ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081028