JPH05257710A - 内部実行パラメータを与えるためのシステムおよびプロセッサによって実行されるべき命令を検証するための配列 - Google Patents
内部実行パラメータを与えるためのシステムおよびプロセッサによって実行されるべき命令を検証するための配列Info
- Publication number
- JPH05257710A JPH05257710A JP4199642A JP19964292A JPH05257710A JP H05257710 A JPH05257710 A JP H05257710A JP 4199642 A JP4199642 A JP 4199642A JP 19964292 A JP19964292 A JP 19964292A JP H05257710 A JPH05257710 A JP H05257710A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- internal
- execution
- instruction
- external
- 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.)
- Withdrawn
Links
- 230000008878 coupling Effects 0.000 claims description 10
- 238000010168 coupling process Methods 0.000 claims description 10
- 238000005859 coupling reaction Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】 (修正有)
【目的】回路内エミュレータを使ってプロセッサで実行
されるべき命令を検証するため、プロセッサが内部命令
を記憶するための内部命令キャッシュを含み、プロセッ
サによる内部命令の実行から生じる内部実行パラメータ
が回路内エミュレータに利用可能にされるような配列。 【構成】内部命令キャッシュに記憶された内部命令の第
1のプロセッサ12による実行から生じる内部実行状態
を外部回路内エミュレータ18に与える処理システム
で、内部命令を記憶するための内部命令キャッシュを含
む第2のプロセッサ14はマスタ/スレーブ構成で第1
のプロセッサ12に結合されて第2のプロセッサ14が
第1のプロセッサ12の命令実行を複写可能とする。第
2のプロセッサ14は内部実行パラメータを回路内エミ
ュレータ18に与えるための外部アドレスバスによって
回路内エミュレータ18に結合される内部実行状態を与
えるための出力を含む。
されるべき命令を検証するため、プロセッサが内部命令
を記憶するための内部命令キャッシュを含み、プロセッ
サによる内部命令の実行から生じる内部実行パラメータ
が回路内エミュレータに利用可能にされるような配列。 【構成】内部命令キャッシュに記憶された内部命令の第
1のプロセッサ12による実行から生じる内部実行状態
を外部回路内エミュレータ18に与える処理システム
で、内部命令を記憶するための内部命令キャッシュを含
む第2のプロセッサ14はマスタ/スレーブ構成で第1
のプロセッサ12に結合されて第2のプロセッサ14が
第1のプロセッサ12の命令実行を複写可能とする。第
2のプロセッサ14は内部実行パラメータを回路内エミ
ュレータ18に与えるための外部アドレスバスによって
回路内エミュレータ18に結合される内部実行状態を与
えるための出力を含む。
Description
【0001】
【発明の背景】この発明は一般に回路内エミュレータを
使って処理システムのプロセッサによって実行されるべ
き命令を検証するための配列に向けられる。この発明は
より特定的にプロセッサが内部命令を記憶するための内
部命令キャッシュを含み、かつプロセッサによる内部命
令の実行から生じる内部実行パラメータが回路内エミュ
レータに利用可能にされるような配列に向けられる。
使って処理システムのプロセッサによって実行されるべ
き命令を検証するための配列に向けられる。この発明は
より特定的にプロセッサが内部命令を記憶するための内
部命令キャッシュを含み、かつプロセッサによる内部命
令の実行から生じる内部実行パラメータが回路内エミュ
レータに利用可能にされるような配列に向けられる。
【0002】処理システムは当該技術分野において周知
である。かかるシステムは一般にプロセッサおよび外部
メモリを含む。プロセッサのプログラムカウンタは、外
部メモリに記憶された命令をフェッチして、命令を得る
ためにプロセッサによって使用される一連のメモリアド
レスを与える。各メモリアドレスに対して、プロセッサ
はメモリアドレスを外部アドレスを介して外部メモリに
運び、かつ外部メモリは外部命令/データバスを介して
対応するアドレス指定されたメモリ場所に記憶された命
令をプロセッサに運ぶことによって応答する。
である。かかるシステムは一般にプロセッサおよび外部
メモリを含む。プロセッサのプログラムカウンタは、外
部メモリに記憶された命令をフェッチして、命令を得る
ためにプロセッサによって使用される一連のメモリアド
レスを与える。各メモリアドレスに対して、プロセッサ
はメモリアドレスを外部アドレスを介して外部メモリに
運び、かつ外部メモリは外部命令/データバスを介して
対応するアドレス指定されたメモリ場所に記憶された命
令をプロセッサに運ぶことによって応答する。
【0003】1つのプロセッサの周知の形は低減された
命令セットコンピュータ(RISC)プロセッサとして
当該技術分野で既知である。一般に、この型のプロセッ
サは各命令に対して順次に4つの動作を行なう。第1の
動作は外部メモリから命令を得るためのフェッチ動作で
ある。第2の動作はデコード動作であり、プロセッサは
命令をデコードする。第3の動作は実行動作であり、プ
ロセッサは命令を実行し、かつ第4の動作はプロセッサ
は実行から生じる結果を外部メモリに書戻す書戻し動作
である。
命令セットコンピュータ(RISC)プロセッサとして
当該技術分野で既知である。一般に、この型のプロセッ
サは各命令に対して順次に4つの動作を行なう。第1の
動作は外部メモリから命令を得るためのフェッチ動作で
ある。第2の動作はデコード動作であり、プロセッサは
命令をデコードする。第3の動作は実行動作であり、プ
ロセッサは命令を実行し、かつ第4の動作はプロセッサ
は実行から生じる結果を外部メモリに書戻す書戻し動作
である。
【0004】かかるプロセッサはまたパイプラインにさ
れたアーキテクチャを使用して並行処理を許容する。か
かる処理はプロセッサが一度に1つより多い命令に基づ
いて動作することを許容する。たとえば、プロセッサが
命令をフェッチしている間、それはまた前にフェッチさ
れた命令をデコードし、さらに前にフェッチされた命令
を実行し、かつさらに前にフェッチされた命令を実行す
ることから得られた結果を書戻すことが可能である。プ
ロセッサは一般にパイプラインがたとえばトラップまた
は例外条件によって保持されない限りクロックから動作
し、かつ単一クロックサイクルの間各動作を行なう。
れたアーキテクチャを使用して並行処理を許容する。か
かる処理はプロセッサが一度に1つより多い命令に基づ
いて動作することを許容する。たとえば、プロセッサが
命令をフェッチしている間、それはまた前にフェッチさ
れた命令をデコードし、さらに前にフェッチされた命令
を実行し、かつさらに前にフェッチされた命令を実行す
ることから得られた結果を書戻すことが可能である。プ
ロセッサは一般にパイプラインがたとえばトラップまた
は例外条件によって保持されない限りクロックから動作
し、かつ単一クロックサイクルの間各動作を行なう。
【0005】ゆえに、各命令に対してプロセッサは4つ
の動作、つまりフェッチ、デコード、実行および書戻し
を実行する。やはり理解されるように、外部メモリに記
憶された命令はプロセッサのためのプログラムを構成す
る。
の動作、つまりフェッチ、デコード、実行および書戻し
を実行する。やはり理解されるように、外部メモリに記
憶された命令はプロセッサのためのプログラムを構成す
る。
【0006】プログラム開発中、プロセッサによって実
行されるべき外部メモリに記憶されたプログラム命令の
正確さを検証することは有利である。デバッギングと呼
ばれるかかるプログラム検証は回路内エミュレータを使
用することが可能である。回路内エミュレータは当該技
術分野で周知であり、かつプロセッサの実行を追跡する
ために使用される。そうするために、回路内エミュレー
タはそれ自身のメモリのプログラム命令の複写を含み、
かつプロセッサから外部メモリフェッチアドレス、得ら
れた命令およびデータ、ならびに実行状態信号を受信す
る。ゆえに、回路内エミュレータはプロセッサの外部ア
クティビティまたは状態を受信する。
行されるべき外部メモリに記憶されたプログラム命令の
正確さを検証することは有利である。デバッギングと呼
ばれるかかるプログラム検証は回路内エミュレータを使
用することが可能である。回路内エミュレータは当該技
術分野で周知であり、かつプロセッサの実行を追跡する
ために使用される。そうするために、回路内エミュレー
タはそれ自身のメモリのプログラム命令の複写を含み、
かつプロセッサから外部メモリフェッチアドレス、得ら
れた命令およびデータ、ならびに実行状態信号を受信す
る。ゆえに、回路内エミュレータはプロセッサの外部ア
クティビティまたは状態を受信する。
【0007】前述のデバッギング動作は内部命令キャッ
シュからプロセッサによって得られた命令から生じるプ
ロセッサの実行を除いてはうまく作用する。かかる内部
キャッシュの使用は増大している、なぜならプロセッサ
による内部キャッシュへのフェッチは外部メモリへのフ
ェッチほど時間がかからないからである。残念ながら、
内部キャッシュへのフェッチが行なわれるとき、おそら
くは内部キャッシュへの非順次のフェッチを示すプロセ
ッサからの状態信号を除いては回路内エミュレータがモ
ニタする外部アクティビティはない。先行技術におい
て、プロセッサの状態のすべてを追跡するために、内部
キャッシュに記憶された命令は回路内エミュレータで複
写されなければならなかった。これは付加的なデバッギ
ング時間、努力および資源を必要とし、かつかかる不利
益は増大されたサイズの内部キャッシュを伴ってさらに
悪化されるだけである。
シュからプロセッサによって得られた命令から生じるプ
ロセッサの実行を除いてはうまく作用する。かかる内部
キャッシュの使用は増大している、なぜならプロセッサ
による内部キャッシュへのフェッチは外部メモリへのフ
ェッチほど時間がかからないからである。残念ながら、
内部キャッシュへのフェッチが行なわれるとき、おそら
くは内部キャッシュへの非順次のフェッチを示すプロセ
ッサからの状態信号を除いては回路内エミュレータがモ
ニタする外部アクティビティはない。先行技術におい
て、プロセッサの状態のすべてを追跡するために、内部
キャッシュに記憶された命令は回路内エミュレータで複
写されなければならなかった。これは付加的なデバッギ
ング時間、努力および資源を必要とし、かつかかる不利
益は増大されたサイズの内部キャッシュを伴ってさらに
悪化されるだけである。
【0008】この発明によって、プロセッサのすべての
状態は回路内エミュレータの内部に記憶されたプロセッ
サ命令を複写することなく回路内エミュレータに与えら
れ得る。加えて、以下からわかるように、正確なプロセ
ッサ状態および実行状態はプロセッサが外部メモリ動作
速度の倍数である速度で動作しているときでさえ回路内
エミュレータに与えられ得る。
状態は回路内エミュレータの内部に記憶されたプロセッ
サ命令を複写することなく回路内エミュレータに与えら
れ得る。加えて、以下からわかるように、正確なプロセ
ッサ状態および実行状態はプロセッサが外部メモリ動作
速度の倍数である速度で動作しているときでさえ回路内
エミュレータに与えられ得る。
【0009】
【発明の概要】この発明は、外部から第1のプロセッサ
に、第1のプロセッサの内部命令キャッシュに記憶され
た内部命令の第1のプロセッサによる実行から生じる内
部実行パラメータを与えるためのシステムを提供する。
このシステムはやはり内部命令を記憶するための内部命
令キャッシュを含む第2のプロセッサを含む。第2のプ
ロセッサはマスタ/スレーブ構成で第1のプロセッサに
結合されて第2のプロセッサが第1のプロセッサの命令
実行を複写することを可能にし、かつ内部実行パラメー
タを与えるための出力を含む。このシステムはさらに第
2のプロセッサ出力に結合され、かつ第1および第2の
プロセッサの外部であって第1および第2のプロセッサ
に外部から実行パラメータを与えるための外部バス手段
を含む。
に、第1のプロセッサの内部命令キャッシュに記憶され
た内部命令の第1のプロセッサによる実行から生じる内
部実行パラメータを与えるためのシステムを提供する。
このシステムはやはり内部命令を記憶するための内部命
令キャッシュを含む第2のプロセッサを含む。第2のプ
ロセッサはマスタ/スレーブ構成で第1のプロセッサに
結合されて第2のプロセッサが第1のプロセッサの命令
実行を複写することを可能にし、かつ内部実行パラメー
タを与えるための出力を含む。このシステムはさらに第
2のプロセッサ出力に結合され、かつ第1および第2の
プロセッサの外部であって第1および第2のプロセッサ
に外部から実行パラメータを与えるための外部バス手段
を含む。
【0010】この発明はさらに回路内エミュレータを使
ってプロセッサによって実行されるべき命令を検証する
ための配列を与え、実行されるべき命令はアドレス指定
可能な外部メモリに記憶された外部命令およびアドレス
指定可能な内部命令キャッシュに記憶された内部命令を
含む。この配列は回路内エミュレータに内部命令の実行
から生じる内部実行パラメータを与えるようにされ、か
つ外部メモリに記憶された外部命令をフェッチするため
の外部メモリアドレスを与えるためのアドレス出力を含
む第1のプロセッサと、外部メモリからフェッチされた
外部命令を受信するための命令入力と、内部命令を記憶
するための内部命令キャッシュと、さらに外部および内
部命令の実行に対応する実行状態信号を回路内エミュレ
ータに与えるための回路内エミュレータに結合された第
1の状態出力とを含む。この配列はさらに第1のプロセ
ッサアドレス出力を外部メモリおよび回路内エミュレー
タに結合する第1の外部アドレスバス、ならびに第1の
プロセッサ命令入力および回路内エミュレータを外部メ
モリに結合する外部命令バスを含む。この配列はさらに
外部命令バスに結合された命令入力および内部命令を記
憶するための内部命令キャッシュを含む第2のプロセッ
サを含む。第1および第2のプロセッサはマスタ/スレ
ーブ構成で配列されて、第2のプロセッサが第1のプロ
セッサの外部および内部命令の実行を複写することを可
能にする。第2のプロセッサはさらに回路内エミュレー
タに結合されて回路内エミュレータに内部実行パラメー
タを与えるためのアドレス出力を含む。
ってプロセッサによって実行されるべき命令を検証する
ための配列を与え、実行されるべき命令はアドレス指定
可能な外部メモリに記憶された外部命令およびアドレス
指定可能な内部命令キャッシュに記憶された内部命令を
含む。この配列は回路内エミュレータに内部命令の実行
から生じる内部実行パラメータを与えるようにされ、か
つ外部メモリに記憶された外部命令をフェッチするため
の外部メモリアドレスを与えるためのアドレス出力を含
む第1のプロセッサと、外部メモリからフェッチされた
外部命令を受信するための命令入力と、内部命令を記憶
するための内部命令キャッシュと、さらに外部および内
部命令の実行に対応する実行状態信号を回路内エミュレ
ータに与えるための回路内エミュレータに結合された第
1の状態出力とを含む。この配列はさらに第1のプロセ
ッサアドレス出力を外部メモリおよび回路内エミュレー
タに結合する第1の外部アドレスバス、ならびに第1の
プロセッサ命令入力および回路内エミュレータを外部メ
モリに結合する外部命令バスを含む。この配列はさらに
外部命令バスに結合された命令入力および内部命令を記
憶するための内部命令キャッシュを含む第2のプロセッ
サを含む。第1および第2のプロセッサはマスタ/スレ
ーブ構成で配列されて、第2のプロセッサが第1のプロ
セッサの外部および内部命令の実行を複写することを可
能にする。第2のプロセッサはさらに回路内エミュレー
タに結合されて回路内エミュレータに内部実行パラメー
タを与えるためのアドレス出力を含む。
【0011】第2のプロセッサはまた回路内エミュレー
タに結合されて回路内エミュレータにプロセッサの命令
実行の実行状態を表わす状態信号を与えるための第2の
状態出力を含み得る。第1および第2のプロセッサは外
部メモリの動作速度の倍数である動作速度で命令を実行
するように構成可能であり、かつ第2のプロセッサは第
2の状態出力で、プロセッサの各動作サイクルに対して
プロセッサの実行状態を表わす状態信号を与えるように
構成可能である。
タに結合されて回路内エミュレータにプロセッサの命令
実行の実行状態を表わす状態信号を与えるための第2の
状態出力を含み得る。第1および第2のプロセッサは外
部メモリの動作速度の倍数である動作速度で命令を実行
するように構成可能であり、かつ第2のプロセッサは第
2の状態出力で、プロセッサの各動作サイクルに対して
プロセッサの実行状態を表わす状態信号を与えるように
構成可能である。
【0012】新規であると考えられるこの発明の特徴は
前掲の特許請求の範囲によって詳細に述べられる。この
発明は、そのさらなる目的および利点とともに、添付の
図面に関連して考えられる以下の説明を参照することに
よって最もよく理解され、いくつかの図面において類似
の参照番号は類似のエレメントを表わす。
前掲の特許請求の範囲によって詳細に述べられる。この
発明は、そのさらなる目的および利点とともに、添付の
図面に関連して考えられる以下の説明を参照することに
よって最もよく理解され、いくつかの図面において類似
の参照番号は類似のエレメントを表わす。
【0013】
【好ましい実施例の説明】ここで図1を参照して、図1
はこの発明を実施するシステム10を例示する。システ
ム10は一般に第1のプロセッサ12、第2のプロセッ
サ14、外部命令/データメモリ16および回路内エミ
ュレータ18を含む。以下からわかるように、システム
10は回路内エミュレータ18がプロセッサ12および
14によるプロセッサによって実行されるべき実行命令
の実行を検証することを許容するように構成される。そ
の目的のために、かつ以下により完全に説明されるよう
に、第1のプロセッサ12および第2のプロセッサ14
はマスタ/スレーブ構成で一体結合されて、スレーブプ
ロセッサである第2のプロセッサ14がマスタプロセッ
サである第1のプロセッサ12によって実行される命令
を複写することを許容する。
はこの発明を実施するシステム10を例示する。システ
ム10は一般に第1のプロセッサ12、第2のプロセッ
サ14、外部命令/データメモリ16および回路内エミ
ュレータ18を含む。以下からわかるように、システム
10は回路内エミュレータ18がプロセッサ12および
14によるプロセッサによって実行されるべき実行命令
の実行を検証することを許容するように構成される。そ
の目的のために、かつ以下により完全に説明されるよう
に、第1のプロセッサ12および第2のプロセッサ14
はマスタ/スレーブ構成で一体結合されて、スレーブプ
ロセッサである第2のプロセッサ14がマスタプロセッ
サである第1のプロセッサ12によって実行される命令
を複写することを許容する。
【0014】外部メモリ16はプロセッサによって実行
されるべき命令、その実行時にプロセッサによって必要
とされるデータおよび外部メモリ16に書戻される結果
を記憶する型のものである。命令、データおよび結果は
外部メモリ16のアドレス指定可能な記憶場所に記憶さ
れ、かつプロセッサ12が命令およびデータをフェッチ
し、かつ結果を記憶することを許容するように第1のプ
ロセッサ12によってアドレス指定可能である。その目
的のために、外部メモリ16は外部の制御バス22によ
って第1のプロセッサ12の多重ビットREQUEST
S出力20に結合される多重ビットREQUESTS入
力18を含む。第1のプロセッサ12によって発生され
た要求は、外部メモリ16に外部メモリへのアクセスが
命令またはデータをフェッチするためのロードアクセス
であるか、または結果を記憶するためのストアアクセス
であるかを示す。外部メモリ16はさらに外部アドレス
バス28によって第1のプロセッサ12の32−ビット
アドレス出力26に結合される32−ビットアドレス入
力24を含む。外部メモリ16への各アクセスに対して
第1のプロセッサ12は、対応するアドレスで外部メモ
リ16に記憶された命令またはデータをフェッチするた
めに、または外部メモリ16の対応するメモリアドレス
で結果を記憶するために外部アドレスバス28によって
外部メモリに伝えられるアドレスをアドレス出力26で
発生する。外部メモリ16から命令またはデータを受信
するために、または結果を外部メモリ16に与えるため
に、第1のプロセッサ12は外部命令/データバス34
によってメモリ16の多重ビット外部メモリ命令/デー
タポート32に結合される多重ビット命令/データポー
ト30を含む。
されるべき命令、その実行時にプロセッサによって必要
とされるデータおよび外部メモリ16に書戻される結果
を記憶する型のものである。命令、データおよび結果は
外部メモリ16のアドレス指定可能な記憶場所に記憶さ
れ、かつプロセッサ12が命令およびデータをフェッチ
し、かつ結果を記憶することを許容するように第1のプ
ロセッサ12によってアドレス指定可能である。その目
的のために、外部メモリ16は外部の制御バス22によ
って第1のプロセッサ12の多重ビットREQUEST
S出力20に結合される多重ビットREQUESTS入
力18を含む。第1のプロセッサ12によって発生され
た要求は、外部メモリ16に外部メモリへのアクセスが
命令またはデータをフェッチするためのロードアクセス
であるか、または結果を記憶するためのストアアクセス
であるかを示す。外部メモリ16はさらに外部アドレス
バス28によって第1のプロセッサ12の32−ビット
アドレス出力26に結合される32−ビットアドレス入
力24を含む。外部メモリ16への各アクセスに対して
第1のプロセッサ12は、対応するアドレスで外部メモ
リ16に記憶された命令またはデータをフェッチするた
めに、または外部メモリ16の対応するメモリアドレス
で結果を記憶するために外部アドレスバス28によって
外部メモリに伝えられるアドレスをアドレス出力26で
発生する。外部メモリ16から命令またはデータを受信
するために、または結果を外部メモリ16に与えるため
に、第1のプロセッサ12は外部命令/データバス34
によってメモリ16の多重ビット外部メモリ命令/デー
タポート32に結合される多重ビット命令/データポー
ト30を含む。
【0015】第2のプロセッサ14が第1のプロセッサ
12の実行を複写することを可能にするために、第2の
プロセッサ14は外部命令/データバス34に結合され
る多重ビット命令/データ入力36を含む。入力36は
入力のみであり、かつシステム10は第1のプロセッサ
12のみが両方のプロセッサのための命令およびデータ
をフェッチするための外部メモリ16をアドレス指定す
るように構成される。
12の実行を複写することを可能にするために、第2の
プロセッサ14は外部命令/データバス34に結合され
る多重ビット命令/データ入力36を含む。入力36は
入力のみであり、かつシステム10は第1のプロセッサ
12のみが両方のプロセッサのための命令およびデータ
をフェッチするための外部メモリ16をアドレス指定す
るように構成される。
【0016】システムタイミングを制御するために、第
1のプロセッサ12はクロック入力40を含み、かつ第
2のプロセッサ14はクロック入力42を含む。クロッ
ク入力40および42は外部クロックソース(図示せ
ず)に結合されるように適合されるINCLOCKライ
ン44によって一体結合される。システムタイミングを
さらに制御するために、第1のプロセッサ12は出力4
6で与えられるメモリクロックを入力40で受信される
クロックパルスから引出すように好ましくは配列され
る。好ましくは、プロセッサ12は1X動作モードに対
応するプロセッサ12および14の処理速度に等しい速
度で、または.5X動作モードに対応するプロセッサ1
2および14の処理速度の2分の1である速度で、メモ
リクロックパルスを発生するように配列される型であ
る。かかるプロセッサは本発明者らの名前で、マイクロ
プロセッサ同期タイミングシステム(Microprocessor S
ynchronous Timing System)に対して1991年1月2
8日に出願された同時係属中の出願連続番号第07/647,4
91号で十分に開示され、その出願はこの発明の譲受人に
譲渡され、かつ引用によりここに援用される。第1のプ
ロセッサ12によって与えれるメモリクロックパルス
は、出力46から第2のプロセッサ14のメモリクロッ
ク入力48および外部メモリ16のメモリクロック入力
50に伝えられる。
1のプロセッサ12はクロック入力40を含み、かつ第
2のプロセッサ14はクロック入力42を含む。クロッ
ク入力40および42は外部クロックソース(図示せ
ず)に結合されるように適合されるINCLOCKライ
ン44によって一体結合される。システムタイミングを
さらに制御するために、第1のプロセッサ12は出力4
6で与えられるメモリクロックを入力40で受信される
クロックパルスから引出すように好ましくは配列され
る。好ましくは、プロセッサ12は1X動作モードに対
応するプロセッサ12および14の処理速度に等しい速
度で、または.5X動作モードに対応するプロセッサ1
2および14の処理速度の2分の1である速度で、メモ
リクロックパルスを発生するように配列される型であ
る。かかるプロセッサは本発明者らの名前で、マイクロ
プロセッサ同期タイミングシステム(Microprocessor S
ynchronous Timing System)に対して1991年1月2
8日に出願された同時係属中の出願連続番号第07/647,4
91号で十分に開示され、その出願はこの発明の譲受人に
譲渡され、かつ引用によりここに援用される。第1のプ
ロセッサ12によって与えれるメモリクロックパルス
は、出力46から第2のプロセッサ14のメモリクロッ
ク入力48および外部メモリ16のメモリクロック入力
50に伝えられる。
【0017】第1のプロセッサ12および第2のプロセ
ッサ14はさらに5−ビットJTAG(ジョイントテス
トアクショングループ)入力54および56をそれぞれ
含み、それらは当該技術分野で周知であるように、この
発明によって考えられるマスタ/スレーブ構成に第1お
よび第2のプロセッサ12および14をそれぞれセット
するために使用され得る。周知のようにJTAG入力は
論理素子およびマイクロプロセッサで標準になりつつあ
り、非同期境界走査チェーンがかかる素子の入力および
出力のすべてを一体接続してそれらをアドレス指定可能
にすることを許容する。それはまた特別のテスト命令ま
たはモードがそれらをイネーブルするための標準プロト
コルを使用する一方で規定されかつ実現化されることを
許容する。したがって、それはプロセッサのモードを変
えて、たとえば特別の外部論理またはピンを必要とする
ことなくこの発明によって考えられるスレーブトラッキ
ング状態にプロセッサを動かすために便利な方法であ
る。したがって、当業者によって理解されるように、J
TAG入力54および56はまたマイクロプロセッサ1
2および14を同様に他の動作モードに置くためにも使
用され得る。
ッサ14はさらに5−ビットJTAG(ジョイントテス
トアクショングループ)入力54および56をそれぞれ
含み、それらは当該技術分野で周知であるように、この
発明によって考えられるマスタ/スレーブ構成に第1お
よび第2のプロセッサ12および14をそれぞれセット
するために使用され得る。周知のようにJTAG入力は
論理素子およびマイクロプロセッサで標準になりつつあ
り、非同期境界走査チェーンがかかる素子の入力および
出力のすべてを一体接続してそれらをアドレス指定可能
にすることを許容する。それはまた特別のテスト命令ま
たはモードがそれらをイネーブルするための標準プロト
コルを使用する一方で規定されかつ実現化されることを
許容する。したがって、それはプロセッサのモードを変
えて、たとえば特別の外部論理またはピンを必要とする
ことなくこの発明によって考えられるスレーブトラッキ
ング状態にプロセッサを動かすために便利な方法であ
る。したがって、当業者によって理解されるように、J
TAG入力54および56はまたマイクロプロセッサ1
2および14を同様に他の動作モードに置くためにも使
用され得る。
【0018】これまで説明されたように、マイクロプロ
セッサ12および14は外部メモリ16に外部から記憶
された命令を実行するように構成される。回路内エミュ
レータ18がかかる外部命令の実行を追跡することを許
容するために、回路内エミュレータ18は外部アドレス
バス28に結合される多重ビットアドレス入力60およ
び外部命令/データバス34に結合される命令/データ
入力62を含む。回路内エミュレータが第1のプロセッ
サ12の実行を追跡することをさらに許容するために、
第1のプロセッサ12は回路内エミュレータ18の第1
の3−ビット状態入力64に結合される3−ビット状態
出力52を含む。当該技術分野において周知であるよう
に状態出力52で与えられる3−ビット状態信号は、プ
ロセッサ12の実行の状態に関して非常な程度の情報を
与えることが可能である。3つの状態ビットはたとえば
以下の表に示されるような実行の状態に関する情報を与
えることが可能である。
セッサ12および14は外部メモリ16に外部から記憶
された命令を実行するように構成される。回路内エミュ
レータ18がかかる外部命令の実行を追跡することを許
容するために、回路内エミュレータ18は外部アドレス
バス28に結合される多重ビットアドレス入力60およ
び外部命令/データバス34に結合される命令/データ
入力62を含む。回路内エミュレータが第1のプロセッ
サ12の実行を追跡することをさらに許容するために、
第1のプロセッサ12は回路内エミュレータ18の第1
の3−ビット状態入力64に結合される3−ビット状態
出力52を含む。当該技術分野において周知であるよう
に状態出力52で与えられる3−ビット状態信号は、プ
ロセッサ12の実行の状態に関して非常な程度の情報を
与えることが可能である。3つの状態ビットはたとえば
以下の表に示されるような実行の状態に関する情報を与
えることが可能である。
【0019】
【表1】 これまで説明されたように、システム10は回路内エミ
ュレータ18にプロセッサ12および14による外部メ
モリ16に記憶された外部命令の実行を追跡するための
十分な情報を与えることが可能である。しかしながら、
図1で認められるように、プロセッサ12および14の
各々はそれぞれ内部命令キャッシュ13および15を含
む。かかる内部命令キャッシュはプロセッサ内で与えら
れる、なぜなら内部キャッシュへのアクセスは一般に外
部メモリへのアクセスほど時間を必要としないからであ
る。残念ながら、プロセッサが内部キャッシュにアクセ
スするとき、プロセッサによって発生される検出可能な
外部アクティビティはない。この発明に先立って、回路
内エミュレータが内部で記憶された命令の内部実行を追
跡することができる唯一の方法は、回路内エミュレータ
内の内部キャッシュ内に記憶された内部命令をすっかり
複写することであった。しかしながら、以下に見られる
ように、プロセッサ12および14はマスタ/スレーブ
構成で一体結合されているので、第2のプロセッサ14
は内部命令キャッシュ13および15内に記憶された内
部命令を実行するプロセッサから生じる内部実行パラメ
ータを回路内エミュレータ18に与えることが可能であ
る。デコードについては、かかる内部実行パラメータは
プログラムカウンタ値、読出に関する絶対レジスタファ
イルナンバーまたはロード/ストアの仮想アドレスであ
ってもよい。書戻しにおいて、かかる実行パラメータは
書込に関するレジスタファイル、または書込に関する絶
対レジスタファイルナンバーに駆動されるデータ素子で
あり得る。好ましい実施例に従って、プロセッサ14に
よって与えられるべき内部実行パラメータは内部キャッ
シュへの非順次のフェッチのための内部キャッシュ13
および15のアドレスである。これは、いつパイプライ
ンが進み、立往生し、分岐し、またはトラップをとって
いるかの情報と結合されたとき、回路内エミュレータに
それが必要とする命令追跡情報を与えることが可能であ
る。
ュレータ18にプロセッサ12および14による外部メ
モリ16に記憶された外部命令の実行を追跡するための
十分な情報を与えることが可能である。しかしながら、
図1で認められるように、プロセッサ12および14の
各々はそれぞれ内部命令キャッシュ13および15を含
む。かかる内部命令キャッシュはプロセッサ内で与えら
れる、なぜなら内部キャッシュへのアクセスは一般に外
部メモリへのアクセスほど時間を必要としないからであ
る。残念ながら、プロセッサが内部キャッシュにアクセ
スするとき、プロセッサによって発生される検出可能な
外部アクティビティはない。この発明に先立って、回路
内エミュレータが内部で記憶された命令の内部実行を追
跡することができる唯一の方法は、回路内エミュレータ
内の内部キャッシュ内に記憶された内部命令をすっかり
複写することであった。しかしながら、以下に見られる
ように、プロセッサ12および14はマスタ/スレーブ
構成で一体結合されているので、第2のプロセッサ14
は内部命令キャッシュ13および15内に記憶された内
部命令を実行するプロセッサから生じる内部実行パラメ
ータを回路内エミュレータ18に与えることが可能であ
る。デコードについては、かかる内部実行パラメータは
プログラムカウンタ値、読出に関する絶対レジスタファ
イルナンバーまたはロード/ストアの仮想アドレスであ
ってもよい。書戻しにおいて、かかる実行パラメータは
書込に関するレジスタファイル、または書込に関する絶
対レジスタファイルナンバーに駆動されるデータ素子で
あり得る。好ましい実施例に従って、プロセッサ14に
よって与えられるべき内部実行パラメータは内部キャッ
シュへの非順次のフェッチのための内部キャッシュ13
および15のアドレスである。これは、いつパイプライ
ンが進み、立往生し、分岐し、またはトラップをとって
いるかの情報と結合されたとき、回路内エミュレータに
それが必要とする命令追跡情報を与えることが可能であ
る。
【0020】第2のまたはスレーブプロセッサ14はそ
の多重ビットアドレス出力70で非順次のフェッチアド
レスを与える。アドレス出力70は他の外部アドレスバ
ス71によって回路内エミュレータの第2のアドレス入
力72に結合される。図2に関して理解されるように、
プロセッサ12および14がそれぞれその内部キャッシ
ュ13および15に初めてアクセスするときはいつで
も、第2のプロセッサ14はその出力70でアドレス指
定されている内部キャッシュ記憶場所の正確なアドレス
を与えるであろう。かかる非順次のアドレスはジャンプ
アドレスとして当該技術分野で既知である。また、図2
に関連して理解されるように、第2のプロセッサ14は
次の非順次のフェッチが発生するまで現在の非順次のフ
ェッチアドレスを与え続けるであろう。
の多重ビットアドレス出力70で非順次のフェッチアド
レスを与える。アドレス出力70は他の外部アドレスバ
ス71によって回路内エミュレータの第2のアドレス入
力72に結合される。図2に関して理解されるように、
プロセッサ12および14がそれぞれその内部キャッシ
ュ13および15に初めてアクセスするときはいつで
も、第2のプロセッサ14はその出力70でアドレス指
定されている内部キャッシュ記憶場所の正確なアドレス
を与えるであろう。かかる非順次のアドレスはジャンプ
アドレスとして当該技術分野で既知である。また、図2
に関連して理解されるように、第2のプロセッサ14は
次の非順次のフェッチが発生するまで現在の非順次のフ
ェッチアドレスを与え続けるであろう。
【0021】マスタ/スレーブ構成において、プロセッ
サ12および14の双方は同時に外部メモリ16からの
プログラムを実行するが、マスタプロセッサ12のみが
外部バスを駆動することを許容される。これは2つのプ
ロセッサのすべての入力および出力を一体に結びつける
ことによって、かつプロセッサ14をJTAG入力56
を介してスレーブモードに設定してそれが出力値を駆動
することを妨げることによって達成される。結果とし
て、双方のプロセッサは同一のプログラムを実行する
が、プロセッサ12のみが外部メモリ16へのストアの
ための値を駆動する。この関係のために、スレーブプロ
セッサ14のアドレスバス71はマスタプロセッサ12
が値を駆動するので命令フェッチ、ロードおよびストア
のために必要とされない。
サ12および14の双方は同時に外部メモリ16からの
プログラムを実行するが、マスタプロセッサ12のみが
外部バスを駆動することを許容される。これは2つのプ
ロセッサのすべての入力および出力を一体に結びつける
ことによって、かつプロセッサ14をJTAG入力56
を介してスレーブモードに設定してそれが出力値を駆動
することを妨げることによって達成される。結果とし
て、双方のプロセッサは同一のプログラムを実行する
が、プロセッサ12のみが外部メモリ16へのストアの
ための値を駆動する。この関係のために、スレーブプロ
セッサ14のアドレスバス71はマスタプロセッサ12
が値を駆動するので命令フェッチ、ロードおよびストア
のために必要とされない。
【0022】前述に加えて、第2のプロセッサ14はま
た回路内エミュレータの第2の状態入力76に結合され
る3−ビット状態出力74を含む。プロセッサ12およ
び14が1Xモードで動作しているとき(プロセッサ動
作速度が外部メモリ動作速度に等しいとき)、状態出力
74で与えれらる状態信号は第1のプロセッサ12の状
態出力52で与えられる状態信号と同一であろう。しか
しながら、プロセッサ12および14が.5Xモードで
動作しているとき(プロセッサ動作速度が外部メモリの
動作速度の2倍であるとき)、出力74で与えられる状
態信号はたとえば以下の表に例示される情報を当業者に
よって理解されるような態様でコード化して与えること
によって変更され得る。
た回路内エミュレータの第2の状態入力76に結合され
る3−ビット状態出力74を含む。プロセッサ12およ
び14が1Xモードで動作しているとき(プロセッサ動
作速度が外部メモリ動作速度に等しいとき)、状態出力
74で与えれらる状態信号は第1のプロセッサ12の状
態出力52で与えられる状態信号と同一であろう。しか
しながら、プロセッサ12および14が.5Xモードで
動作しているとき(プロセッサ動作速度が外部メモリの
動作速度の2倍であるとき)、出力74で与えられる状
態信号はたとえば以下の表に例示される情報を当業者に
よって理解されるような態様でコード化して与えること
によって変更され得る。
【0023】
【表2】 .5Xモードにおいて、第1のプロセッサ12はその状
態出力52で外部メモリ16の各動作サイクルに対する
実行状態を与え続けるであろう。しかしながら、第2の
プロセッサ14はその状態出力74でプロセッサの各動
作サイクルに対するプロセッサの実行状態を表わす状態
信号を与えるであろう。上の表からわかるように、.5
Xモードにおいて、プロセッサは外部メモリの各動作サ
イクルに対して2つの動作サイクルを実行するであろ
う。結果として、第2のプロセッサ14の状態出力74
は、プロセッサが.5Xモードで動作しているとき、プ
ロセッサ12および14の正確な実行状態を反映するで
あろう。出力74でのこれらの状態信号、および出力7
0で与えられる対応するジャンプまたは非順次フェッチ
アドレスによって、回路内エミュレータ18には全命令
キャッシュを外部から物理的に複写することなくプロセ
ッサ12および14の命令の流れの正確なサイクルごと
の破壊が与えられる。これは、したがって、プロセッサ
によって実行されるべき命令を検証するためのマイクロ
プロセッサ実行の高い程度の正確さおよびビジビリティ
(visibility)を与える。
態出力52で外部メモリ16の各動作サイクルに対する
実行状態を与え続けるであろう。しかしながら、第2の
プロセッサ14はその状態出力74でプロセッサの各動
作サイクルに対するプロセッサの実行状態を表わす状態
信号を与えるであろう。上の表からわかるように、.5
Xモードにおいて、プロセッサは外部メモリの各動作サ
イクルに対して2つの動作サイクルを実行するであろ
う。結果として、第2のプロセッサ14の状態出力74
は、プロセッサが.5Xモードで動作しているとき、プ
ロセッサ12および14の正確な実行状態を反映するで
あろう。出力74でのこれらの状態信号、および出力7
0で与えられる対応するジャンプまたは非順次フェッチ
アドレスによって、回路内エミュレータ18には全命令
キャッシュを外部から物理的に複写することなくプロセ
ッサ12および14の命令の流れの正確なサイクルごと
の破壊が与えられる。これは、したがって、プロセッサ
によって実行されるべき命令を検証するためのマイクロ
プロセッサ実行の高い程度の正確さおよびビジビリティ
(visibility)を与える。
【0024】ここで図2を参照して、図2はプロセッサ
12および14が内部キャッシュ13および15にアク
セスするための非順次アドレスを発するとき、第2のプ
ロセッサ14がその外部アドレスバス71への非順次の
ジャンプアドレスを与える態様をより詳細に例示する。
第2のプロセッサ14の内部キャッシュは参照番号15
によって図2で参照される。双方のプロセッサに共通で
あるのはプログラムカウンタ80、アドレスユニット8
2、ネクストブロック加算器84、フェッチアヘッド加
算器86、ラッチ88、マルチプレクサ90、内部命令
バス92および第2の内部アドレスバス94である。
12および14が内部キャッシュ13および15にアク
セスするための非順次アドレスを発するとき、第2のプ
ロセッサ14がその外部アドレスバス71への非順次の
ジャンプアドレスを与える態様をより詳細に例示する。
第2のプロセッサ14の内部キャッシュは参照番号15
によって図2で参照される。双方のプロセッサに共通で
あるのはプログラムカウンタ80、アドレスユニット8
2、ネクストブロック加算器84、フェッチアヘッド加
算器86、ラッチ88、マルチプレクサ90、内部命令
バス92および第2の内部アドレスバス94である。
【0025】プログラムカウンタ80はネクストブロッ
ク加算器84およびフェッチアヘッド加算器86によっ
て使用されて外部メモリ16のアドレスブロック内で順
次アドレスを発生する初期アドレスを発生する。命令が
非順次のフェッチを必要とする外部命令/データバス3
4上で受信された場合、アドレスユニット82はプログ
ラムカウンタ80を第2の内部アドレスバス94を介し
て命令キャッシュ15に伝えられる非順次のフェッチア
ドレスに設定する。
ク加算器84およびフェッチアヘッド加算器86によっ
て使用されて外部メモリ16のアドレスブロック内で順
次アドレスを発生する初期アドレスを発生する。命令が
非順次のフェッチを必要とする外部命令/データバス3
4上で受信された場合、アドレスユニット82はプログ
ラムカウンタ80を第2の内部アドレスバス94を介し
て命令キャッシュ15に伝えられる非順次のフェッチア
ドレスに設定する。
【0026】第2のプロセッサ14による非順次のジャ
ンプアドレスの提供を制御するために、第2のプロセッ
サ14は制御手段96を含む。プログラムカウンタ80
は第1の内部アドレスバス98によって制御手段96お
よびラッチ88に結合される。
ンプアドレスの提供を制御するために、第2のプロセッ
サ14は制御手段96を含む。プログラムカウンタ80
は第1の内部アドレスバス98によって制御手段96お
よびラッチ88に結合される。
【0027】制御手段96はJTAG入力56がマスタ
/スレーブ動作のために第2のプロセッサ14に条件を
設けるように設定された場合に設定される制御入力10
0を含む。非順次のフェッチアドレスがプログラムカウ
ンタ80によって与えられたとき、非順次のアドレスは
第1の内部アドレスバス98によってラッチ88および
制御手段96に伝えられる。非順次のフェッチアドレス
の受信に応答して、制御手段96は非順次アドレスがラ
ッチ88でラッチされることを引起こす。制御手段96
はまたマルチプレクサ90に結合され、かつマルチプレ
クサがマルチプレクサ90を介してラッチ88から、か
つ第2のプロセッサ14に結合された外部アドレスバス
71上に非順次アドレスを伝えるための入力102を選
択することを引起こす。非順次アドレスは次の非順次ア
ドレスがプログラムカウンタ80によって与えられ、か
つ制御手段96によって検出されるまでバス71上で保
持される。結果として、たとえ内部命令が内部命令キャ
ッシュからプロセッサによってフェッチされて、命令の
内部実行および第1のプロセッサ12による外部アクテ
ィビティがないことを結果としてもたらしたとしても、
第2のプロセッサ14は外部アドレスバス71を介して
回路内エミュレータ18に内部ジャンプアドレスを与え
るように配列される。当業者によって理解されるよう
に、付加的なスレーブプロセッサが現存のハードウェア
にほんのわずかな変更を加えるだけで他の内部実行パラ
メータを与えるように図1のシステム10に加えられ得
る。
/スレーブ動作のために第2のプロセッサ14に条件を
設けるように設定された場合に設定される制御入力10
0を含む。非順次のフェッチアドレスがプログラムカウ
ンタ80によって与えられたとき、非順次のアドレスは
第1の内部アドレスバス98によってラッチ88および
制御手段96に伝えられる。非順次のフェッチアドレス
の受信に応答して、制御手段96は非順次アドレスがラ
ッチ88でラッチされることを引起こす。制御手段96
はまたマルチプレクサ90に結合され、かつマルチプレ
クサがマルチプレクサ90を介してラッチ88から、か
つ第2のプロセッサ14に結合された外部アドレスバス
71上に非順次アドレスを伝えるための入力102を選
択することを引起こす。非順次アドレスは次の非順次ア
ドレスがプログラムカウンタ80によって与えられ、か
つ制御手段96によって検出されるまでバス71上で保
持される。結果として、たとえ内部命令が内部命令キャ
ッシュからプロセッサによってフェッチされて、命令の
内部実行および第1のプロセッサ12による外部アクテ
ィビティがないことを結果としてもたらしたとしても、
第2のプロセッサ14は外部アドレスバス71を介して
回路内エミュレータ18に内部ジャンプアドレスを与え
るように配列される。当業者によって理解されるよう
に、付加的なスレーブプロセッサが現存のハードウェア
にほんのわずかな変更を加えるだけで他の内部実行パラ
メータを与えるように図1のシステム10に加えられ得
る。
【0028】ここで図3を参照して、図3はこの発明の
さらなる理解を与えるために参照され得る一連の波形図
を例示する。図3はT0からT1の第1のサイクル、T
1からT2の第2のサイクル、T2からT3の第3のサ
イクルおよびT3からT4の第4のサイクルを含む4つ
のメモリクロック動作サイクルを例示する。第1のサイ
クルの間、第1のプロセッサ12はその状態出力52で
それが現在命令に基づいて実行しているという表示を与
える。T1での第2のサイクルの始まりで、第1のプロ
セッサ12はその要求出力20からロード要求を与え、
かつそのアドレス出力26でロードアドレスを与える。
これは外部メモリ16への外部アクセスである。また第
2のサイクルの間、第1のプロセッサ12はその状態出
力52でそれが現在実行していることを表わす。
さらなる理解を与えるために参照され得る一連の波形図
を例示する。図3はT0からT1の第1のサイクル、T
1からT2の第2のサイクル、T2からT3の第3のサ
イクルおよびT3からT4の第4のサイクルを含む4つ
のメモリクロック動作サイクルを例示する。第1のサイ
クルの間、第1のプロセッサ12はその状態出力52で
それが現在命令に基づいて実行しているという表示を与
える。T1での第2のサイクルの始まりで、第1のプロ
セッサ12はその要求出力20からロード要求を与え、
かつそのアドレス出力26でロードアドレスを与える。
これは外部メモリ16への外部アクセスである。また第
2のサイクルの間、第1のプロセッサ12はその状態出
力52でそれが現在実行していることを表わす。
【0029】例示の目的のため、T2での第3のサイク
ルの始まりで、プロセッサ12および14のプログラム
カウンタは外部キャッシュ13および15に非順次のフ
ェッチアドレスを発する。しかしながら、かかる内部ア
クセスは第1のプロセッサ12の外部アクティビティに
よって明白ではない。しかしながら、図で認められるよ
うに、時間T2で、第2のまたはスレーブプロセッサ1
4はそのアドレス出力70でアクセスされているキャッ
シュの正確なアドレスである内部キャッシュへの非順次
フェッチアドレスを発する。結果として、回路内エミュ
レータ18には非順次フェッチアドレスが与えられ、か
つプロセッサ12および14の内部実行を追跡すること
が可能である。
ルの始まりで、プロセッサ12および14のプログラム
カウンタは外部キャッシュ13および15に非順次のフ
ェッチアドレスを発する。しかしながら、かかる内部ア
クセスは第1のプロセッサ12の外部アクティビティに
よって明白ではない。しかしながら、図で認められるよ
うに、時間T2で、第2のまたはスレーブプロセッサ1
4はそのアドレス出力70でアクセスされているキャッ
シュの正確なアドレスである内部キャッシュへの非順次
フェッチアドレスを発する。結果として、回路内エミュ
レータ18には非順次フェッチアドレスが与えられ、か
つプロセッサ12および14の内部実行を追跡すること
が可能である。
【0030】第3のサイクルの後半の間、外部メモリ1
6は時間T1で第1のプロセッサ12によって始められ
たアクセスに応答して要求されたデータを与えることが
図3でさらに認められるであろう。そのデータは外部命
令/データバス34上に現われ、かつ第1のプロセッサ
12および第2のプロセッサ14の双方によって受信さ
れる。また第3のサイクルの間、プロセッサ12はその
状態出力52でそれが前に述べられたようにそのアドレ
ス出力70で第2のプロセッサ14によって与えられる
非順次フェッチアドレスを与えたことを表わす。
6は時間T1で第1のプロセッサ12によって始められ
たアクセスに応答して要求されたデータを与えることが
図3でさらに認められるであろう。そのデータは外部命
令/データバス34上に現われ、かつ第1のプロセッサ
12および第2のプロセッサ14の双方によって受信さ
れる。また第3のサイクルの間、プロセッサ12はその
状態出力52でそれが前に述べられたようにそのアドレ
ス出力70で第2のプロセッサ14によって与えられる
非順次フェッチアドレスを与えたことを表わす。
【0031】第4のサイクルの間、第1のプロセッサは
その状態出力52でそれが現在実行していることを表わ
す。また第4のサイクルの間、第2のまたはスレーブプ
ロセッサ14はそのアドレス出力70で非順次フェッチ
アドレスを保持し続けることが認められるであろう。
その状態出力52でそれが現在実行していることを表わ
す。また第4のサイクルの間、第2のまたはスレーブプ
ロセッサ14はそのアドレス出力70で非順次フェッチ
アドレスを保持し続けることが認められるであろう。
【0032】上に参照された波形図は1Xモードにある
場合のプロセッサ12および14の動作に関する。その
状態出力74からの第2のプロセッサの状態出力はこの
動作モードに関して図3で図示されない、なぜならそれ
は第1のプロセッサ12によって与えられたものと同一
の実行状態を示すであろうからである。しかしながら、
1番下の波形図はプロセッサ12および14が.5Xモ
ードで動作している場合に第2のまたはスレーブプロセ
ッサ14によって与えられ得る状態表示を例示する。認
められるように、各メモリクロックサイクルの間、第2
のプロセッサ14はプロセッサの各動作サイクルに対し
て双方のプロセッサの実行状態を表わす。.5Xモード
で動作しているときのプロセッサは外部メモリの動作速
度の2倍の速度で動作しているので、第2のプロセッサ
14は各メモリクロックサイクルの間2つのプロセッサ
動作サイクルに対するプロセッサの実行状態を表わすで
あろう。たとえば、第3のサイクルの間、第2のプロセ
ッサ14はプロセッサが第1のマイクロプロセッササイ
クルの間分岐状態にあり、かつそれから時間T2とT3
との間の第3のメモリクロックサイクルの第2のマイク
ロプロセッササイクルの間実行状態にあることを示す。
結果として、第2のまたはスレーブプロセッサ14はプ
ロセッサ12および14に外部から内部実行パラメータ
を与えることができるだけでなく、それは付加的に各動
作サイクルに対してプロセッサの実行状態の正確な表示
を与えることが可能にされる一方で、第1のプロセッサ
12は各メモリクロックサイクルに対してプロセッサの
実行の状態表示を与える。
場合のプロセッサ12および14の動作に関する。その
状態出力74からの第2のプロセッサの状態出力はこの
動作モードに関して図3で図示されない、なぜならそれ
は第1のプロセッサ12によって与えられたものと同一
の実行状態を示すであろうからである。しかしながら、
1番下の波形図はプロセッサ12および14が.5Xモ
ードで動作している場合に第2のまたはスレーブプロセ
ッサ14によって与えられ得る状態表示を例示する。認
められるように、各メモリクロックサイクルの間、第2
のプロセッサ14はプロセッサの各動作サイクルに対し
て双方のプロセッサの実行状態を表わす。.5Xモード
で動作しているときのプロセッサは外部メモリの動作速
度の2倍の速度で動作しているので、第2のプロセッサ
14は各メモリクロックサイクルの間2つのプロセッサ
動作サイクルに対するプロセッサの実行状態を表わすで
あろう。たとえば、第3のサイクルの間、第2のプロセ
ッサ14はプロセッサが第1のマイクロプロセッササイ
クルの間分岐状態にあり、かつそれから時間T2とT3
との間の第3のメモリクロックサイクルの第2のマイク
ロプロセッササイクルの間実行状態にあることを示す。
結果として、第2のまたはスレーブプロセッサ14はプ
ロセッサ12および14に外部から内部実行パラメータ
を与えることができるだけでなく、それは付加的に各動
作サイクルに対してプロセッサの実行状態の正確な表示
を与えることが可能にされる一方で、第1のプロセッサ
12は各メモリクロックサイクルに対してプロセッサの
実行の状態表示を与える。
【0033】この好ましい実施例に従って、プロセッサ
12および14の各々はアドバンスト・マイクロ・ディ
バイシズ(Advanced Micro Devices)によって製造され
る好ましくはAm 29030/35 マイクロプロセッサであ
る。しかしながら、当業者によって理解されるように、
この発明は事実上任意の類似の複数個のマイクロプロセ
ッサと関連して役立つように使用され得る。
12および14の各々はアドバンスト・マイクロ・ディ
バイシズ(Advanced Micro Devices)によって製造され
る好ましくはAm 29030/35 マイクロプロセッサであ
る。しかしながら、当業者によって理解されるように、
この発明は事実上任意の類似の複数個のマイクロプロセ
ッサと関連して役立つように使用され得る。
【0034】前述から、この発明はプロセッサによって
内部で実行されているすべての命令を回路内エミュレー
タに与える際の困難を克服することが理解され得る。加
えて、この発明によって、すべてのかかる命令はプロセ
ッサの実際のタイミングを複写するためにリアルタイム
ベースで回路内エミュレータに与えられる。加えて、付
加的なスレーブプロセッサが問題を切開く(break-poin
ting)目的のために外部の回路内エミュレータに異なる
キーの内部状態を与えるように各々が別個に構成された
状態で加えられ得る。これが可能にされるのは、スレー
ブプロセッサの外部アドレスバスが常にアイドルである
からである。結果として、この発明は外部の回路内エミ
ュレータに与えられるべき各かかる内部実行パラメータ
に対する別個のスレーブプロセッサの付加を伴う多くの
異なる内部実行パラメータを与えることが可能である。
前述はプロセッサによって実行されるべき命令を検出す
る際の強力な道具を表わす、なぜなら大きなオンチップ
キャッシュがマイクロプロセッサで使用するためにます
ますポピュラーになっているからである。
内部で実行されているすべての命令を回路内エミュレー
タに与える際の困難を克服することが理解され得る。加
えて、この発明によって、すべてのかかる命令はプロセ
ッサの実際のタイミングを複写するためにリアルタイム
ベースで回路内エミュレータに与えられる。加えて、付
加的なスレーブプロセッサが問題を切開く(break-poin
ting)目的のために外部の回路内エミュレータに異なる
キーの内部状態を与えるように各々が別個に構成された
状態で加えられ得る。これが可能にされるのは、スレー
ブプロセッサの外部アドレスバスが常にアイドルである
からである。結果として、この発明は外部の回路内エミ
ュレータに与えられるべき各かかる内部実行パラメータ
に対する別個のスレーブプロセッサの付加を伴う多くの
異なる内部実行パラメータを与えることが可能である。
前述はプロセッサによって実行されるべき命令を検出す
る際の強力な道具を表わす、なぜなら大きなオンチップ
キャッシュがマイクロプロセッサで使用するためにます
ますポピュラーになっているからである。
【0035】好ましい実施例に従って、スレーブプロセ
ッサ14はマスタプロセッサ12によって得られた要求
および命令を監視しかつ複写し、マスタの実行を複写す
る。スレーブプロセッサ14上の内部からの非順次のフ
ェッチのたびに、外部アドレスバス71はジャンプのア
ドレス値をラッチし、かつそれを次のメモリクロックサ
イクル立上り縁上で外部から駆動する。結果として、ス
レーブプロセッサ14は外部回路内エミュレータにジャ
ンプごとの正確なアドレスを与えるがプリフェッチアド
レスを与えないであろう。それは次の非順次のフェッチ
がプロセッサによって実行されるまでこの値を駆動し続
けるであろう。
ッサ14はマスタプロセッサ12によって得られた要求
および命令を監視しかつ複写し、マスタの実行を複写す
る。スレーブプロセッサ14上の内部からの非順次のフ
ェッチのたびに、外部アドレスバス71はジャンプのア
ドレス値をラッチし、かつそれを次のメモリクロックサ
イクル立上り縁上で外部から駆動する。結果として、ス
レーブプロセッサ14は外部回路内エミュレータにジャ
ンプごとの正確なアドレスを与えるがプリフェッチアド
レスを与えないであろう。それは次の非順次のフェッチ
がプロセッサによって実行されるまでこの値を駆動し続
けるであろう。
【0036】この発明の特定の実施例を示しかつ説明し
てきたが、修正が行なわれ、かつこの発明の真の精神お
よび範囲内にあるすべてのかかる変更および修正を前掲
の特許請求の範囲でカバーすることが意図されるものと
する。
てきたが、修正が行なわれ、かつこの発明の真の精神お
よび範囲内にあるすべてのかかる変更および修正を前掲
の特許請求の範囲でカバーすることが意図されるものと
する。
【図1】マスタ/スレーブ構成で一体結合された第1お
よび第2のプロセッサを含むこの発明を実施するシステ
ムのブロック図である。
よび第2のプロセッサを含むこの発明を実施するシステ
ムのブロック図である。
【図2】内部実行パラメータがスレーブプロセッサによ
って外部からマスタおよびスレーブプロセッサに与えら
れる態様を例示するスレーブマイクロプロセッサの一部
のブロック図である。
って外部からマスタおよびスレーブプロセッサに与えら
れる態様を例示するスレーブマイクロプロセッサの一部
のブロック図である。
【図3】マスタおよびスレーブプロセッサの動作の数個
のクロックサイクルにわたる図1のシステムの動作を例
示する一連の波形図である。
のクロックサイクルにわたる図1のシステムの動作を例
示する一連の波形図である。
10 システム 12 第1のプロセッサ 14 第2のプロセッサ 16 メモリ 18 回路内エミュレータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビッド・ビー・ウィット アメリカ合衆国、78759 テキサス州、オ ースティン、ディー・ケイ・ランチ・ロー ド、11602
Claims (25)
- 【請求項1】 外部から第1のプロセッサに、前記第1
のプロセッサの内部命令キャッシュに記憶された内部命
令の前記第1のプロセッサによる実行から生じる内部実
行パラメータを与えるためのシステムであって、 やはり前記内部命令を記憶するための内部命令キャッシ
ュを含む第2のプロセッサを含み、前記第2のプロセッ
サはマスタ/スレーブ構成で前記第1のプロセッサに結
合されて前記第2のプロセッサが前記第1のプロセッサ
の命令実行を複写することを可能にし、前記第2のプロ
セッサは前記内部実行パラメータを与えるための出力を
含み、さらに前記第2のプロセッサ出力に結合されて、
かつ前記第1および第2のプロセッサの外部にあって、
前記実行パラメータを前記第1および第2のプロセッサ
に外部から与えるためのバス手段を含む、システム。 - 【請求項2】 前記第2のプロセッサは前記出力で前記
内部実行パラメータをラッチするためのラッチ手段を含
む、請求項1に記載のシステム。 - 【請求項3】 前記第2のプロセッサはさらに前記内部
実行パラメータの発生を検出するための制御手段を含
み、前記制御手段は前記ラッチ手段に結合されて前記ラ
ッチ手段が前記内部実行パラメータをラッチすることを
引起こす、請求項2に記載のシステム。 - 【請求項4】 前記第2のプロセッサは前記内部実行パ
ラメータを運ぶための内部バス手段を含み、かつ前記ラ
ッチ手段および前記制御手段は前記内部バス手段に結合
される、請求項3に記載のシステム。 - 【請求項5】 前記内部実行パラメータは前記第1およ
び第2のプロセッサ内部命令キャッシュへの非順次フェ
ッチアドレスである、請求項4に記載のシステム。 - 【請求項6】 前記第2のプロセッサは前記非順次フェ
ッチアドレスを与えるためのプログラムカウンタをさら
に含み、かつ前記プログラムカウンタは前記内部バス手
段によって前記第2のプロセッサ内部命令キャッシュに
結合される、請求項5に記載のシステム。 - 【請求項7】 前記内部バス手段は前記プログラムカウ
ンタを前記ラッチ手段および前記制御手段に結合するた
めの第1の内部アドレスバスと、前記プログラムカウン
タを前記第2のプロセッサ内部命令キャッシュに結合す
るための第2の内部アドレスバスとを含む、請求項6に
記載のシステム。 - 【請求項8】 前記第2のプロセッサはさらに前記ラッ
チ手段を前記出力に結合するためのマルチプレクサを含
み、かつ前記マルチプレクサは前記制御手段に応答して
前記内部実行パラメータを前記出力に与える、請求項4
に記載のシステム。 - 【請求項9】 前記第2のプロセッサは前記プロセッサ
の前記内部実行の実行状態を表わす状態信号を与えるた
めの状態出力を含む、請求項1に記載のシステム。 - 【請求項10】 外部命令を記憶するための外部メモリ
をさらに含み、前記第1および第2のプロセッサは前記
外部メモリに結合されて前記外部命令を受信し、かつ前
記第1のプロセッサは前記第1および第2のプロセッサ
に前記外部メモリから前記外部命令をフェッチするよう
に構成される、請求項9に記載のシステム。 - 【請求項11】 前記第1および第2のプロセッサは前
記外部メモリの動作速度の倍数である動作速度で命令を
実行するように構成可能であり、かつ前記第2のプロセ
ッサは前記状態出力で前記プロセッサの各動作サイクル
に対する前記プロセッサの実行状態を表わす前記状態信
号を与えるように構成可能である、請求項10に記載の
システム。 - 【請求項12】 前記第1のプロセッサは前記外部メモ
リの前記動作サイクルに対する前記第1のプロセッサの
前記命令実行の実行状態を表わす状態信号を与えるため
の状態出力を含む、請求項11に記載のシステム。 - 【請求項13】 前記外部メモリに結合され、前記第2
のプロセッサに結合されて前記内部実行パラメータを受
信し、かつ前記第1および第2のプロセッサ状態出力に
結合されて前記状態信号を受信するための回路内エミュ
レータをさらに含む、請求項12に記載のシステム。 - 【請求項14】 回路内エミュレータを使ってプロセッ
サによって実行されるべき命令を検証するための配列で
あって、実行されるべき前記命令はアドレス指定可能な
外部メモリに記憶された外部命令およびアドレス指定可
能な内部命令キャッシュに記憶された内部命令を含み、
前記配列は前記回路内エミュレータに前記内部命令の実
行から生じる内部実行パラメータを与えるようにされ、 前記外部メモリに記憶された前記外部命令をフェッチす
るための外部メモリアドレスを与えるためのアドレス出
力と、前記外部メモリからフェッチされた前記外部命令
を受信するための命令入力と、前記内部命令を記憶する
ための内部命令キャッシュと、さらに前記回路内エミュ
レータに結合されて前記回路内エミュレータに前記外部
および内部命令の実行に対応する実行状態信号を与える
ための第1の状態出力とを含む第1のプロセッサと、 前記第1のプロセッサアドレス出力を前記外部メモリお
よび前記回路内エミュレータに結合する第1の外部アド
レスバスと、 前記第1のプロセッサ命令入力と前記回路内エミュレー
タを前記外部メモリに結合する外部命令バスと、さらに
前記外部命令バスに結合された命令入力と前記内部命令
を記憶するための内部命令キャッシュとを含む第2のプ
ロセッサとを含み、前記第1および第2のプロセッサは
マスタ/スレーブ構成に配列されて前記第2のプロセッ
サが前記外部および内部命令の前記第1のプロセッサに
よる実行を複写することを可能にし、かつ前記第2のプ
ロセッサは前記回路内エミュレータに結合されて前記回
路内エミュレータに前記内部実行パラメータを与えるた
めのアドレス出力をさらに含む、配列。 - 【請求項15】 前記第2のプロセッサアドレス出力を
前記回路内エミュレータに結合して前記内部実行パラメ
ータを前記回路内エミュレータに与えるための第2の外
部アドレスバスをさらに含む、請求項14に記載の配
列。 - 【請求項16】 前記第2のプロセッサは前記アドレス
出力で前記内部実行パラメータをラッチするためのラッ
チ手段を含む、請求項15に記載の配列。 - 【請求項17】 前記第2のプロセッサは前記内部実行
パラメータの発生を検出するための制御手段をさらに含
み、前記制御手段は前記ラッチ手段に結合されて前記ラ
ッチ手段が前記内部実行パラメータをラッチすることを
引起こす、請求項16に記載の配列。 - 【請求項18】 前記第2のプロセッサは前記内部実行
パラメータを運ぶための内部バス手段を含み、かつ前記
ラッチ手段および前記制御手段は前記内部バス手段に結
合される、請求項17に記載の配列。 - 【請求項19】 前記内部実行パラメータは前記第1お
よび第2のプロセッサ内部命令キャッシュへの非順次フ
ェッチアドレスである、請求項18に記載の配列。 - 【請求項20】 前記第2のプロセッサは前記非順次フ
ェッチアドレスを与えるためのプログラムカウンタをさ
らに含み、かつ前記プログラムカウンタは前記内部バス
手段によって前記第2のプロセッサ内部命令キャッシュ
に結合される、請求項19に記載の配列。 - 【請求項21】 前記内部バス手段は前記プログラムカ
ウンタを前記ラッチ手段および前記制御手段に結合する
ための第1の内部アドレスバスと、前記プログラムカウ
ンタを前記第2のプロセッサ内部命令キャッシュに結合
するための第2の内部アドレスバスとを含む、請求項2
0に記載の配列。 - 【請求項22】 前記第2のプロセッサはさらに前記ラ
ッチ手段を前記アドレス出力に結合するためのマルチプ
レクサを含み、かつ前記マルチプレクサは前記制御手段
に応答して前記内部実行パラメータを前記アドレス出力
に与える、請求項17に記載の配列。 - 【請求項23】 前記第2のプロセッサは前記回路内エ
ミュレータに結合されて前記回路内エミュレータに前記
プロセッサの前記命令実行の実行状態を表わす状態信号
を与えるための第2の状態出力を含む、請求項15に記
載の配列。 - 【請求項24】 前記第1および第2のプロセッサは前
記外部メモリの動作速度の倍数である動作速度で命令を
実行するように構成可能であり、かつ前記第2のプロセ
ッサは前記プロセッサの各動作サイクルに対する前記プ
ロセッサの実行状態を表わす前記状態信号を前記第2の
状態出力で与えるように構成可能である、請求項23に
記載の配列。 - 【請求項25】 前記第1のプロセッサは前記外部メモ
リの各動作サイクルに対する前記プロセッサの実行状態
を表わす状態信号を前記第1の状態出力で与えるように
配列される、請求項24に記載の配列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74367991A | 1991-08-12 | 1991-08-12 | |
US743679 | 1991-08-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05257710A true JPH05257710A (ja) | 1993-10-08 |
Family
ID=24989733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4199642A Withdrawn JPH05257710A (ja) | 1991-08-12 | 1992-07-27 | 内部実行パラメータを与えるためのシステムおよびプロセッサによって実行されるべき命令を検証するための配列 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5357626A (ja) |
EP (1) | EP0528585B1 (ja) |
JP (1) | JPH05257710A (ja) |
AT (1) | ATE166985T1 (ja) |
DE (1) | DE69225750T2 (ja) |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0569987A1 (en) * | 1992-05-13 | 1993-11-18 | Nec Corporation | Microprocessor incorporating cache memory enabling efficient debugging |
US5640542A (en) * | 1993-10-29 | 1997-06-17 | Intel Corporation | On-chip in-circuit-emulator memory mapping and breakpoint register modules |
US5434804A (en) * | 1993-12-29 | 1995-07-18 | Intel Corporation | Method and apparatus for synchronizing a JTAG test control signal to an on-chip clock signal |
GB2289147B (en) * | 1994-04-25 | 1998-04-15 | Advanced Risc Mach Ltd | Testing data processing apparatus |
US6023561A (en) * | 1995-06-01 | 2000-02-08 | Advanced Micro Devices, Inc. | System for processing traceable cache trace information |
US5848264A (en) * | 1996-10-25 | 1998-12-08 | S3 Incorporated | Debug and video queue for multi-processor chip |
JP3129397B2 (ja) * | 1996-12-27 | 2001-01-29 | 日本電気株式会社 | マイクロコンピュータ用エミュレーション装置 |
US6106565A (en) * | 1997-02-27 | 2000-08-22 | Advanced Micro Devices, Inc. | System and method for hardware emulation of a digital circuit |
US6189140B1 (en) | 1997-04-08 | 2001-02-13 | Advanced Micro Devices, Inc. | Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic |
US6314530B1 (en) | 1997-04-08 | 2001-11-06 | Advanced Micro Devices, Inc. | Processor having a trace access instruction to access on-chip trace memory |
US6154856A (en) * | 1997-04-08 | 2000-11-28 | Advanced Micro Devices, Inc. | Debug interface including state machines for timing synchronization and communication |
US6009270A (en) * | 1997-04-08 | 1999-12-28 | Advanced Micro Devices, Inc. | Trace synchronization in a processor |
US6041406A (en) * | 1997-04-08 | 2000-03-21 | Advanced Micro Devices, Inc. | Parallel and serial debug port on a processor |
US5978902A (en) * | 1997-04-08 | 1999-11-02 | Advanced Micro Devices, Inc. | Debug interface including operating system access of a serial/parallel debug port |
US6142683A (en) * | 1997-04-08 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including data steering between a processor, an input/output port, and a trace logic |
US6148381A (en) * | 1997-04-08 | 2000-11-14 | Advanced Micro Devices, Inc. | Single-port trace buffer architecture with overflow reduction |
US6094729A (en) * | 1997-04-08 | 2000-07-25 | Advanced Micro Devices, Inc. | Debug interface including a compact trace record storage |
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 |
US6145100A (en) * | 1998-03-04 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including timing synchronization logic |
US6145123A (en) * | 1998-07-01 | 2000-11-07 | Advanced Micro Devices, Inc. | Trace on/off with breakpoint register |
US6625759B1 (en) * | 2000-02-18 | 2003-09-23 | Hewlett-Packard Development Company, L.P. | Method and apparatus for verifying the fine-grained correctness of a behavioral model of a central processor unit |
US6701449B1 (en) | 2000-04-20 | 2004-03-02 | Ciprico, Inc. | Method and apparatus for monitoring and analyzing network appliance status information |
US6442076B1 (en) * | 2000-06-30 | 2002-08-27 | Micron Technology, Inc. | Flash memory with multiple status reading capability |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
TWI220192B (en) * | 2001-11-06 | 2004-08-11 | Mediatek Inc | Memory access method and apparatus in ICE system |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US7526422B1 (en) * | 2001-11-13 | 2009-04-28 | Cypress Semiconductor Corporation | System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
EP1365325B1 (de) * | 2002-05-23 | 2011-01-19 | Infineon Technologies AG | Anordnung zur In-Circuit-Emulation einer programmgesteuerten Einheit |
US7120788B2 (en) * | 2002-06-20 | 2006-10-10 | Intel Corporation | Method and system for shutting down and restarting a computer system |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
JP4232621B2 (ja) * | 2003-12-08 | 2009-03-04 | 株式会社デンソー | 半導体集積回路装置 |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US8286125B2 (en) * | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US7818640B1 (en) * | 2004-10-22 | 2010-10-19 | Cypress Semiconductor Corporation | Test system having a master/slave JTAG controller |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
DE102005037232A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Analyse von Abläufen in einem Rechnersystem mit mehreren Ausführungseinheiten |
US20070198816A1 (en) * | 2005-11-10 | 2007-08-23 | Chuan-Po Ling | Emulation system for a single-chip multiple-microcontroller and emulation method thereof |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
JP2009042815A (ja) * | 2007-08-06 | 2009-02-26 | Renesas Technology Corp | 半導体集積回路及びデバッグシステム |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US20100138575A1 (en) | 2008-12-01 | 2010-06-03 | Micron Technology, Inc. | Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US8464030B2 (en) * | 2010-04-09 | 2013-06-11 | International Business Machines Corporation | Instruction cracking and issue shortening based on instruction base fields, index fields, operand fields, and various other instruction text bits |
US9542298B2 (en) * | 2014-07-08 | 2017-01-10 | International Business Machines Corporation | Reducing resource overhead in verbose trace using recursive object pruning prior to string serialization |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59146352A (ja) * | 1983-02-09 | 1984-08-22 | Nec Corp | シングル・チップ・マイクロコンピュータ |
US4553201A (en) * | 1983-03-28 | 1985-11-12 | Honeywell Information Systems Inc. | Decoupling apparatus for verification of a processor independent from an associated data processing system |
US4569048A (en) * | 1983-09-19 | 1986-02-04 | Genrad, Inc. | Method and apparatus for memory overlay |
US5115502A (en) * | 1984-11-02 | 1992-05-19 | Tektronix, Inc. | Method and apparatus for determining internal status of a processor using simulation guided by acquired data |
US4691316A (en) * | 1985-02-14 | 1987-09-01 | Support Technologies, Inc. | ROM emulator for diagnostic tester |
US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
DE3740762A1 (de) * | 1987-01-22 | 1988-08-04 | Nat Semiconductor Corp | Datenverarbeitungssystem mit einer externen schnittstelle |
US5132971A (en) * | 1987-02-06 | 1992-07-21 | Anritsu Corporation | In-circuit emulator |
JP2589713B2 (ja) * | 1987-11-20 | 1997-03-12 | 株式会社日立製作所 | データプロセッサ及びデータ処理システム |
JPH0724029B2 (ja) * | 1988-04-13 | 1995-03-15 | 日本電気株式会社 | エミュレーション装置 |
US4933941A (en) * | 1988-06-07 | 1990-06-12 | Honeywell Bull Inc. | Apparatus and method for testing the operation of a central processing unit of a data processing system |
JPH02133834A (ja) * | 1988-11-14 | 1990-05-23 | Nec Corp | インサートキットエミュレータ |
US5163052A (en) * | 1989-10-12 | 1992-11-10 | Ncr Corporation | High reliability computer diagnostics system |
US5068852A (en) * | 1989-11-23 | 1991-11-26 | John Fluke Mfg. Co., Inc. | Hardware enhancements for improved performance of memory emulation method |
US5243601A (en) * | 1990-10-05 | 1993-09-07 | Bull Hn Information Systems Inc. | Apparatus and method for detecting a runaway firmware control unit |
US5313618A (en) * | 1992-09-03 | 1994-05-17 | Metalink Corp. | Shared bus in-circuit emulator system and method |
-
1992
- 1992-07-27 JP JP4199642A patent/JPH05257710A/ja not_active Withdrawn
- 1992-08-05 AT AT92307155T patent/ATE166985T1/de active
- 1992-08-05 EP EP92307155A patent/EP0528585B1/en not_active Expired - Lifetime
- 1992-08-05 DE DE69225750T patent/DE69225750T2/de not_active Expired - Lifetime
-
1993
- 1993-10-20 US US08/139,607 patent/US5357626A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69225750D1 (de) | 1998-07-09 |
US5357626A (en) | 1994-10-18 |
EP0528585B1 (en) | 1998-06-03 |
EP0528585A1 (en) | 1993-02-24 |
ATE166985T1 (de) | 1998-06-15 |
DE69225750T2 (de) | 1999-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05257710A (ja) | 内部実行パラメータを与えるためのシステムおよびプロセッサによって実行されるべき命令を検証するための配列 | |
US5345580A (en) | Microprocessor device and emulator device thereof | |
US4982402A (en) | Method and apparatus for detecting and correcting errors in a pipelined computer system | |
EP0776504B1 (en) | Integrated circuit with multiple functions sharing multiple internal signal buses for distributing bus access control and arbitration control | |
JP3105223B2 (ja) | マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置 | |
US6223228B1 (en) | Apparatus for synchronizing multiple processors in a data processing system | |
JP2505950B2 (ja) | ハ―ドウェア支援ブレ―クポイント・システム | |
US6604060B1 (en) | Method and apparatus for determining CC-NUMA intra-processor delays | |
US5280595A (en) | State machine for executing commands within a minimum number of cycles by accomodating unforseen time dependency according to status signals received from different functional sections | |
US6266768B1 (en) | System and method for permitting out-of-order execution of load instructions | |
JPS633344B2 (ja) | ||
US8533394B2 (en) | Controlling simulation of a microprocessor instruction fetch unit through manipulation of instruction addresses | |
JPH10228393A (ja) | 二重プロセッサ回路の動作をシミュレーションするためのコンピュータ実行方法及び信号プロセッサシミュレータ | |
JPH05205005A (ja) | ロジック・シミュレーション・マシン用ホスト・インタフェース | |
JPH04309131A (ja) | 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置 | |
CN110727584B (zh) | 一种处理器硅前验证用的rtl与参考模型实时比较方法 | |
WO1991003784A1 (en) | Improved cpu pipeline having register file bypass on update/access address compare | |
JPS58501560A (ja) | マイクロプロセツサ | |
JP2653037B2 (ja) | データ処理システム | |
KR20030066641A (ko) | 효율적인 데이터 로딩 및 언로딩을 위하여 합성된 패킷기반 프로토콜 논리를 이용한 하드웨어 보조 설계 검증시스템 | |
US5307482A (en) | Computer, non-maskable interrupt trace routine override | |
US5717909A (en) | Code breakpoint decoder | |
US6249880B1 (en) | Method and apparatus for exhaustively testing interactions among multiple processors | |
EP0649083A2 (en) | A microcontrol unit for a superpipelined, superscalar microprocessor | |
US4028670A (en) | Fetch instruction for operand address calculation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19991005 |