JPS62179033A - Ic microprocessor - Google Patents

Ic microprocessor

Info

Publication number
JPS62179033A
JPS62179033A JP62008878A JP887887A JPS62179033A JP S62179033 A JPS62179033 A JP S62179033A JP 62008878 A JP62008878 A JP 62008878A JP 887887 A JP887887 A JP 887887A JP S62179033 A JPS62179033 A JP S62179033A
Authority
JP
Japan
Prior art keywords
address
register
microprocessor
breakpoint
stored
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
JP62008878A
Other languages
Japanese (ja)
Inventor
ジヨセフ・シー・クラウスコプク
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JPS62179033A publication Critical patent/JPS62179033A/en
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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 〔利用分野〕 本発明は、集積回路マイクロプロセッサに関し、さらに
詳細には、プログラムを分析すなわチ1−テバッグ」す
るのに王に使用されるコンピュータ・プログラムにブレ
ークポイントを与えるハードウェアの分野に関する。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to integrated circuit microprocessors, and more particularly to the field of breakpoints in computer programs used to analyze or program programs. Regarding the field of hardware that gives.

〔従来技術およびその問題点〕[Prior art and its problems]

コンピュータ・プログラムの性能を、特にその開発時に
おいて分析するのに、数多くの技術が使用されている。
Many techniques are used to analyze the performance of computer programs, particularly during their development.

このことは、主に「デバッグ」と呼ばれている。このデ
バッグ・プロセスは、コンピュータ・プログラムの開発
の重要な部分を占めており、たとえば、デバッグに要す
る時間が、プログラムを書くのに要する時間を超えてい
る場合もある。
This is mainly called "debugging". This debugging process is an important part of the development of computer programs; for example, the time required to debug may exceed the time required to write the program.

コンピュータ・プログラムをデバッグするのに使用され
る技術には、所定の事象でプログラムを中断し、その後
、たとえばレジスタの内容を検査するという技術がある
。このような事象の1つとして、コンピュータ・プログ
ラムまたはデータをリファレンスする所定のアドレスの
発生がある。
Techniques used to debug computer programs include interrupting the program at predetermined events and then examining, for example, the contents of registers. One such event is the occurrence of a predetermined address that references a computer program or data.

コンピュータにより発生されたアドレスが所定のアドレ
スの1つと整合すると、「ブレークポイント」が生じる
。そして、コンピュータの動作は中断され、分析が行な
われる。
A "breakpoint" occurs when an address generated by the computer matches one of the predetermined addresses. Then, computer operation is interrupted and analysis is performed.

ブレークポイント割込みを行なう1つの方法として、コ
ンピュータ・プログラム自体を修正する方法がある。す
なわち、プログラムにおける所定のアドレスで、プログ
ラムを中断する。この方法は比較的安価であるけれども
、ブレークポイントを、データをリファレンスするアド
レスに設定できないという欠点を有している。
One way to implement breakpoint interrupts is to modify the computer program itself. That is, the program is interrupted at a predetermined address in the program. Although this method is relatively inexpensive, it has the disadvantage that breakpoints cannot be set at addresses that reference data.

他の方法としては、コンピュータまたはマイクロプロセ
ッサの外部のハードウェアを使用してブレークポイント
割込みを行なう方法がある。このハードウェアは、コン
ピュータ発生アドレスを所定のアドレスと比較し、ブレ
ークポイントすなわち割込み信号を供給する。しかし、
この方法は一般に高価で、かなりの量のプリント回路板
面積を必要とする。さらに、高速プロセッサにおいては
、「実時間」のブレークポイン1発生するのに十分な速
さでは応答できない。また、マイクロプロセッサが、自
己内に、メモリ管理装置のようなアドレス・トランスレ
ーション装置を含んでいる場合に、重大な問題が生じる
。ユーザがアクセス可能なコンピュータにより発生され
るアドレスは、ランダム−アクセス・メモリ一般的には
接続したフィジカル・アドレスである。すなわち、プロ
グラマが使用する仮想アドレスはこの用途に利用できな
い。したがってフィジカル・アドレスニ基ツいたブレー
クポイントを設定することは困難である。
Another method is to use hardware external to the computer or microprocessor to perform breakpoint interrupts. This hardware compares the computer-generated address to a predetermined address and provides a breakpoint or interrupt signal. but,
This method is generally expensive and requires a significant amount of printed circuit board area. Furthermore, fast processors cannot respond fast enough to generate a "real-time" breakpoint. A significant problem also arises when a microprocessor includes within itself an address translation device, such as a memory management device. The addresses generated by the computer that are accessible to the user are physical addresses typically connected to random-access memory. That is, the virtual addresses used by the programmer cannot be used for this purpose. Therefore, it is difficult to set breakpoints based on physical addresses.

後述するように、本発明は、上記問題を解決するブレー
クポイント装置を提供し、さらに、これは、ブレークポ
イントの選択を増すことができる。
As described below, the present invention provides a breakpoint device that solves the above problems, and furthermore, it can increase the selection of breakpoints.

〔発明の概要〕[Summary of the invention]

本発明は、コンピュータ・プログラムをデバッグするの
に有効なブレークポイント信号装置を提供する。この装
置は、単一基板に形成された集積回路マイクロプロセッ
サにおいて特に有効である。
The present invention provides a breakpoint signaling device useful for debugging computer programs. This apparatus is particularly useful in integrated circuit microprocessors formed on a single substrate.

このマイクロプロセッサは、プログラム拳インストラク
ションまたはデータをリファレンスする仮想アドレスを
発生するアドレス発生装置と、仮想アドレス−バスと、
バス上の仮想アドレスをフィジカル・アドレスに変換す
るアドレス・トランスレーションiiと、プログラム・
インストラクションを翻訳する翻訳装置と、翻訳された
インストラクションにしたがってデータを操作する演算
装置とを含んでいる。また、この装置は、ブレークポイ
ントを生じる所定のアドレスを仮想アドレスの形で記憶
する第1レジスタを含んでいる。さらに、たとえばブレ
ークポイントをコンピュータ・プログラムまたはデータ
へのリファレンス時に発生させるかどうかのような、ブ
レークポイントに対する所定の条件のユーザによる選択
を可能とする制御ビットを記憶する第2レジスタが使用
されている。比較装置は、コンピュータにより発生され
たアドレス(現在の仮想アドレス)と所定の仮想アドレ
スとを比較する。第1論理装置は、現在の仮想アドレス
が、アドレス制御信号を検査することによりブログラム
・インストラクションまたはデータのいずれについての
リファレンスであるかを決定する。この第1論理装置は
、また第2レジスタに記憶された制御ビットにより制御
される。
This microprocessor includes an address generator that generates a virtual address for referencing program instructions or data, a virtual address bus,
Address translation II, which converts virtual addresses on the bus to physical addresses, and program
It includes a translation device that translates instructions and an arithmetic device that manipulates data according to the translated instructions. The apparatus also includes a first register for storing a predetermined address at which a breakpoint occurs in the form of a virtual address. Additionally, a second register is used to store control bits that allow the user to select predetermined conditions for the breakpoint, such as whether the breakpoint should occur on reference to the computer program or data. . The comparison device compares the address generated by the computer (current virtual address) with a predetermined virtual address. The first logic unit determines whether the current virtual address is a reference to a program instruction or data by examining address control signals. This first logic device is also controlled by control bits stored in a second register.

ブレークポイント信号を供給しかつコンピュータの動作
を中断するために使用されるゲート装置は、比較装置お
よび第1論理装置の出力に接続される。
A gating device used to provide a breakpoint signal and interrupt operation of the computer is connected to the comparison device and the output of the first logic device.

装置全体は、マイクロプロセッサと同じ基板に形成され
ている。
The entire device is formed on the same substrate as the microprocessor.

さらに、装置は、現在の仮想アドレスが所定のアドレス
によ〕表わされるリファレンスに該当しているか、また
は所定のアドレスにより表わされるリファレンスが仮想
アドレスにより作られるリファレンスに該当しているか
どうかを決定する第2論理装置を含んでいる。したがっ
て、これは、所定のブレークポイント・アドレスの幅を
第2レジスタに記憶された制御ビットにより設定するこ
とができる。
Further, the device is configured to perform a step for determining whether the current virtual address corresponds to the reference represented by the predetermined address, or whether the reference represented by the predetermined address corresponds to the reference created by the virtual address. Contains 2 logical units. Therefore, this allows the width of a given breakpoint address to be set by the control bits stored in the second register.

以下、添付の図面に基づいて本発明の実施例に関して説
明する。
Embodiments of the present invention will be described below with reference to the accompanying drawings.

〔実施例〕〔Example〕

ブレークポイント装置は、マイクロプロセッサと一体的
に製造されたアドレス・トランスレージコン装置fを含
んでいるマイクロプロセッサ中で使用するのに特に適し
ている。代表的には、このような場合には、仮想アドレ
スは、ユーザにとってアクセス不可能で、ブレークポイ
ントを設定するのを困難にしている。本実施例では、ブ
レークポイント装置は、マイクロプロセッサおよびその
アドレス・トランスレーション装置と同じ基板上に一体
的に形成される。
The breakpoint device is particularly suitable for use in a microprocessor that includes an address translation device f manufactured integrally with the microprocessor. Typically, in such cases, the virtual address is inaccessible to the user, making it difficult to set breakpoints. In this embodiment, the breakpoint device is integrally formed on the same substrate as the microprocessor and its address translation device.

以下の説明において、ビット数など様々な特定の記載は
本発明の理解を助けるためのものでちゃ、本発明はこれ
ら記載に限定されないととは当業者には明白であろう。
In the following description, it will be clear to those skilled in the art that various specific descriptions such as the number of bits are provided to aid understanding of the present invention, and that the present invention is not limited to these descriptions.

また、周知の構成については、本発明を不明瞭にしない
よう、詳細な説明は省略する。
In other instances, well-known structures will not be described in detail so as not to obscure the present invention.

本実施例において、第1図のマイクロプロセッサ10は
、相補形金属−酸化膜一手導体(0MO8)のプロセス
を用いて、単一のシリコン基板上に形成される。数多く
の周知のCMOSプロセスのいずれか一つを使用すれば
よいが、本発明は、他の技術たとえばn−チャネル、バ
イポーラ、SO8等によっても実現し得ることは明白で
あろう。
In this embodiment, the microprocessor 10 of FIG. 1 is formed on a single silicon substrate using a complementary metal-oxide single conductor (0MO8) process. Although any one of a number of well-known CMOS processes may be used, it will be apparent that the invention may be implemented with other technologies, such as n-channel, bipolar, SO8, etc.

第1図において、単一チップ番マイクロプロセッサ10
f−1、バス・インターフェイス装置14と、インスト
ラクション・デコーダ装置16と、実行装置18と、ア
ドレス・トランスレーション装置20を含んでおシ、本
発明の主題である、ブレークポイント回路30は装置2
0内に含まれている。
In FIG. 1, a single chip number microprocessor 10
f-1, a bus interface device 14, an instruction decoder device 16, an execution device 18, and an address translation device 20, the breakpoint circuit 30 is the subject of the present invention.
Contained within 0.

32ビツトのマイクロプロセッサは、外部ランダムアク
セス・メモリ13に接続されている。バス装置14は、
32ビツト・アドレスを伝送しかつ32ビツト・データ
を受信し送信するバッファを含んでいる。マイクロプロ
セッサ内にて、バス装置は、メモリ13からのインスト
ラクションをフェッチするブリフェッチ装置およびイン
ストラクション・デコーダのインストラクション装置と
通信するプリフェッチ・キュー(待ち行列〕装置を含ん
でいる。待ち行列のインストラクションは翻訳され、か
つ装[16中で待機する。一般に実行装置18の演算論
理装置は、インストラクションを実行する。
A 32-bit microprocessor is connected to external random access memory 13. The bus device 14 is
It includes buffers for transmitting 32-bit addresses and for receiving and transmitting 32-bit data. Within the microprocessor, the bus device includes a prefetch device that fetches instructions from memory 13 and a prefetch queue device that communicates with the instruction device of the instruction decoder. , and waits in the device 16. Generally, the arithmetic and logic unit of the execution unit 18 executes the instructions.

図示されているマイクロアーキテクチャにおいて、アド
レス・トランスレーション装置l:j:、2つのアドレ
ス・トランスレーション機能を行ナウ。
In the illustrated microarchitecture, the address translation device l:j: provides two address translation functions.

一方は、セグメント−ディスクリブタ−レジスタに関し
、他方はページ・ディスクリブタφキャッシュ・メモリ
に関している。これは、バスφインターフェイス装Pt
、14に接続している。こねら機能は、本発明の出願人
に壌渡された、1985年6月13日出絆4口された米
作1特許願第744β89号、発明の名称「マイクロプ
ロセッサ−システムのメモリ・マネジメント−1に詳細
に示されている。プレークポイント回路は、セグメント
・デスクリプタ・レジスタおよびページ・デスクリプタ
・キャッジ・メモリとの間にバス19で接続されている
One relates to the segment-distributor register and the other relates to the page-discriminator φ cache memory. This is the bus φ interface device Pt
, 14. This function is disclosed in US Patent Application No. 744β89 filed on June 13, 1985, which was assigned to the applicant of the present invention, and the title of the invention is ``Microprocessor - System Memory Management. 1. The breakpoint circuit is connected by a bus 19 between the segment descriptor register and the page descriptor cache memory.

仮想アドレスは、このバスにより伝送される。これら仮
想アドレスはプログラマにとって容易にアクセス可能で
あるが、フィジカル・アドレスはアクセス不可能である
。また、前述したように、フィジカル−アドレスに基づ
いてブレークポイントを与えることは困難である6 制御装et、(図示せず)は、第1図の諸装置に接続し
て全体的な制御を行なう。
Virtual addresses are transmitted by this bus. These virtual addresses are easily accessible to programmers, whereas physical addresses are not. Furthermore, as mentioned above, it is difficult to provide breakpoints based on physical addresses.6 A control device (not shown) is connected to the devices shown in FIG. 1 to perform overall control. .

第2図において、第1図のブレークポイント回路30は
、32ビット−レジスタ兼比較器3.4t−含んでいる
。本実施例では、レジスタおよび比較器は、単−回路中
に内蔵されている。このレジスタ兼比較器の一段は、第
3図に示されている。レジスタ兼比較器34は、ブレー
クポイントを生じる所定のアドレス(後述するようにブ
レークポイント・アドレスと呼称される場合がある)を
記憶する。レジスタ兼比較器34は、記憶されたブレー
クポイント・アドレスを、マイクロプロセッサにより発
生された仮想アドレス(後述するように現在の仮想アド
レスまたは現在のアドレスと呼称する場合がある)と比
較する。ロード信号35がある場合、32ビツト・ブレ
ークポイント・アドレスはバス19aによ)レジスタ兼
比較器34にロードされる。その後、レジスタ兼比較器
34はブレークポイント・アドレスをバス19における
各現f:のアドレスと比較し、マツチした場合、ライン
46に1−ヒツト」信号を供給する。レジスタ兼比較器
34におけるブレークポイント・アドレスの2つの最下
位ビットは、後述する理由によりこの比較の一部として
は便用されないが、プログラム可能な論理アレイ(PL
A)38 に送られる。
In FIG. 2, the breakpoint circuit 30 of FIG. 1 includes a 32-bit register/comparator 3.4t. In this embodiment, the register and comparator are integrated into a single circuit. One stage of this register/comparator is shown in FIG. Register/comparator 34 stores a predetermined address at which a breakpoint occurs (sometimes referred to as a breakpoint address as described below). Register and comparator 34 compares the stored breakpoint address to a virtual address generated by the microprocessor (sometimes referred to as the current virtual address or current address, as described below). If load signal 35 is present, the 32-bit breakpoint address is loaded into register/comparator 34 (by bus 19a). Register and comparator 34 then compares the breakpoint address with the address of each current f: on bus 19 and provides a 1-Hit'' signal on line 46 if there is a match. The two least significant bits of the breakpoint address in register and comparator 34 are not useful as part of this comparison for reasons explained below, but are
A) Sent to 38.

第1図のインストラクション・デコード装置16は、マ
イクロプロセッサへの所定のインストラクションをレジ
スタ兼比較器34のロードコマンドとして翻訳し、それ
によりユーザはレジスタ兼比較器34にブレークポイン
ト・アドレスをロードできる。また、他のインストラク
ションにより、レジスタ兼比較器34に記憶されたアド
レスをユーザが読み出すことができる。
The instruction decoder 16 of FIG. 1 translates predetermined instructions to the microprocessor as a load register/comparator 34 command, thereby allowing a user to load the register/comparator 34 with a breakpoint address. Further, another instruction allows the user to read the address stored in the register/comparator 34.

本実施例では、4つのレジスタ兼比較器34を使用して
、4つの異なるブレークポイント・アドレスを記憶でき
るようにしている。各レジスタ兼比較器34は、後述す
るように各ブレークポイント・アドレスに関する制御ビ
ットを記憶するレジスタ32を伴っている。説明のため
、第2図の回路では、1つの第1レジスタ兼比較器34
および1つの第2レジスタ32だけが示てれている。
In this embodiment, four register/comparators 34 are used to allow storage of four different breakpoint addresses. Each register and comparator 34 is associated with a register 32 that stores control bits for each breakpoint address, as described below. For illustrative purposes, the circuit of FIG.
and only one second register 32 is shown.

しかし、複数のレジスタ兼比較器32とレジスタ34を
用いることができ、それにょ9複数のブレークポイント
−アドレスのいずれか1つで割込みできることは、当業
者には明白であろう。
However, it will be apparent to those skilled in the art that multiple registers and comparators 32 and 34 may be used and may be interrupted at any one of nine breakpoint-addresses.

制御レジスタ32は、各ブレークポイント・アドレスに
対して4つの制御ビットを記憶する。1ビツトは、ブレ
ークポイント・アドレスがデータtiはコンピュータ書
フログラムへのリファレンスを表わしているか否かを決
定する。リファレンスの場合なら、ブレークポイントの
幅を決めるのに、2つの制御ビットが便用される。本実
施例では、ブレークポイントは、■、2または4バイト
幅である。また、データーブレークポイントについては
、胱出しサイクルだけ、または読出しまたは書込みサイ
クルのいずれかにおいて割込みを行なうために、今1つ
の制御ビットが使用される。
Control register 32 stores four control bits for each breakpoint address. One bit determines whether the breakpoint address data ti represents a reference to a computer program. In the case of references, two control bits are useful in determining the width of the breakpoint. In this embodiment, breakpoints are 2, 2, or 4 bytes wide. Also, for data breakpoints, one more control bit is used to interrupt only on the emptying cycle or on either the read or write cycle.

レジスタ兼比較器34において、マイクロプロセッサ1
0への所定のインストラクションは、装置16によυ翻
訳され、それによりユーザはし゛シフタ32をロードす
ることができる。
In the register/comparator 34, the microprocessor 1
The predetermined instruction to zero is translated by device 16, thereby allowing the user to load shifter 32.

エネーブル論理回路36は、バス制御信号を受信するよ
うに接αされている。これらラインは、現在のアドレス
がプログラムまたはデータへのリファレンスであるか、
またデータ・リファレンスの場合、それが読出しサイク
ルだけであるか、または読出しまたは書込みサイクルで
おるかどうかを決定する制御信号を含んでいる。エネー
ブル論理回路36は、これら制御信号を、レジスタ32
からの2つの制御ビットと比較し、メモリ・サイクルが
ユーザにより選択されたサイクルとマツチしている場合
、エネーブル拳クロックがANDゲート40へ送られる
。この目的には、普通の論理回路が使用される。
Enable logic circuit 36 is connected to receive bus control signals. These lines indicate whether the current address is a reference to program or data;
In the case of a data reference, it also includes a control signal that determines whether it is a read cycle only or a read or write cycle. Enable logic circuit 36 transfers these control signals to register 32.
If the memory cycle matches the cycle selected by the user, the enable clock is sent to AND gate 40. Ordinary logic circuits are used for this purpose.

前述したように、ブレークポイントは、1.2または4
バイト幅で、ユーザが選択したこの幅はレジスタ32に
記憶される。この選択に必要な2ビツトは、PLA38
に送られる。さらに、前述したように、レジスタ兼比較
器34に記憶された2つの最下位ビットは、PLA38
に送られる。ライン20からのタイミングおよび制御信
号もまた、PLA3Bに送られる。PLAはユーザによ
りブログラムできるものではなく、工場において永久的
にプログラムされている。PLAは、後の項において示
されている論理装置を使用している。PLAの使用は、
本発明ではあまり1喪ではない。すなわちPLAの代り
に他の論理回路を使用してもよい。
As mentioned above, the breakpoints are 1.2 or 4.
This width, which is byte wide and selected by the user, is stored in register 32. The 2 bits required for this selection are PLA38
sent to. Additionally, as previously discussed, the two least significant bits stored in register and comparator 34 are
sent to. Timing and control signals from line 20 are also sent to PLA3B. PLAs are not user programmable; they are permanently programmed at the factory. PLA uses the logic shown in later sections. The use of PLA is
In the present invention, there is not much loss. That is, other logic circuits may be used instead of PLA.

第4a図には、比較的幅の広いブレークポイントφアド
レス・リファレンス70(たとえば4バイト)が示され
ている。現在のメモリ仮想アドレスは、リファレンス7
0の一部だけしかリファレンスできない。しかし、第4
b図に示すリファレンスT4のよう表幅の狭いブレーク
ポイント・アドレスリファレンスの場合、比較的幅の広
い仮想アドレス・リファレンスは、これより狭いブレー
クポイント・アドレス・リファレンス74を包含してい
る。第4a図および第4b図に示した2つの場合は、P
LA38により解決される。前述したように、現在のメ
モリ・アドレス・リファレンスが幅の広いブレークポイ
ント・アドレス・リファレンス内あるかどうか、または
狭いブレークポイントΦアドレス・リファレンスが幅の
広い現在のメモリ・アドレス・リファレンスに該当する
かどうかを決定するのに効通の論理回路を使用すること
ができる。これら状況のいずれが起きた場合も、「マツ
チ」信号がライン52に発生される。
In FIG. 4a, a relatively wide breakpoint φ address reference 70 (eg, 4 bytes) is shown. The current memory virtual address is reference 7
Only part of 0 can be referenced. However, the fourth
In the case of a narrow breakpoint address reference, such as reference T4 shown in Figure b, the relatively wide virtual address reference encompasses a narrower breakpoint address reference 74. In the two cases shown in Figures 4a and 4b, P
Solved by LA38. As mentioned above, whether the current memory address reference is within the wide breakpoint address reference or whether the narrow breakpoint Φ address reference falls within the wide current memory address reference. You can use logic circuitry to determine whether or not. If either of these situations occurs, a "match" signal is generated on line 52.

ANDゲート40は3つの入力、すなわちレジスタ兼比
較器34からのヒツト信号、論理回路36かう(7)エ
ネーブル・クロック、および回路38からのマツチ信号
を受信する。ヒツト信号は、現在の仮想アドレスの30
個の最上位ビットが、記憶されたブレークポイント・ア
ドレスの30個の最上位アドレス・ビットにマツチした
時に発生される。ゲート40の出力は、マイクロプロセ
ッサの動作を中断するのに使用されるブレークポイント
信号を供給する。
AND gate 40 receives three inputs: a hit signal from register and comparator 34, an enable clock from logic circuit 36 (7), and a match signal from circuit 38. The hit signal is 30 of the current virtual address.
Occurs when the 30 most significant bits of the breakpoint address match the 30 most significant address bits of the stored breakpoint address. The output of gate 40 provides a breakpoint signal that is used to interrupt operation of the microprocessor.

第3図に示されているレジスタ兼比較器34の単段は、
スタティック・メモリ・セル55と比較器54を含んで
いる。バス・う(719a、19bは、単一のアドレス
・ビットおよびそのコンブリメントを送る。ヒツト・ラ
イン46は、比較器54およびPチャネル・トランジス
タ56とに接続している。このトランジスタは、仮想ア
ドレス・バス・サイクルの前にライン46をプリチャー
ジするのに使用される。また、ライン46は、レジスタ
兼比較器34の細膜に接続している。
The single stage of register/comparator 34 shown in FIG.
It includes a static memory cell 55 and a comparator 54. The bus 719a, 19b carries a single address bit and its concatenation. The hit line 46 connects to a comparator 54 and a P-channel transistor 56. - Used to precharge line 46 before a bus cycle; line 46 also connects to the membrane of register and comparator 34;

父差接続されl−インバータは、普通のフリップ−フロ
ップすなわちスタティック・メモリ・セル55を形成し
ている。このセルは、ロード信号がライン35に存在し
ている時に、ライン19a。
The differentially connected l-inverters form a conventional flip-flop or static memory cell 55. This cell is connected to line 19a when the load signal is present on line 35.

19bからロードされる。レジスタが一部ロードされる
と、ロード信号の電位は低下し、ライン19a 、 1
9bからセル55を有効に切り離す。その後、これらラ
インに現在の仮想アドレスが現われ、φ1信号が存在し
ている時、セル55の内容は、比較器54によりバス1
9のアドレスと比較される。比較される32ビツトの対
のいずれVCもマツチがない場合、ライン46は放電さ
れ、第2図のANDゲート40がエネーブルされるのを
阻止する。第3図の回路は、この回路が連想記憶メモリ
の一部に使用されている前記出願により詳細に示されて
いる。
19b. When the register is partially loaded, the potential of the load signal drops and lines 19a, 1
Effectively separates cell 55 from 9b. Thereafter, when the current virtual address appears on these lines and the φ1 signal is present, the contents of cell 55 are transferred to bus 1 by comparator 54.
It is compared with the address of 9. If there is no match on either VC of the 32-bit pair being compared, line 46 is discharged, preventing AND gate 40 of FIG. 2 from being enabled. The circuit of FIG. 3 is shown in more detail in the aforementioned application in which the circuit is used as part of a content addressable memory.

使用に際し、ユーザは、最扁4つのブレークポイント・
アドレスを決定し、これらアドレスがプログラムまたは
データのいずれに関するリファレンスであるか、データ
・リファレンスの場合、リファレンスの幅、およびブレ
ークポイントが、読出しサイクルだけでのみ、または読
出1〜または書込みサイクルのいずれで生じるかを選択
する。特定のインストラクションにより、その後、ユー
ザは、レジスタ兼比較器34に最高4つのブレークポイ
ント・アドレスをロードし、かつレジスタ32における
ブレークポイント毎に制御ビットを設定することができ
る。続いて、各仮想アドレス・バス・サイクルにおいて
、レジスタ兼比較器34で比較が行なわれ、論理回路3
6.38は、ユーザが選択した状態が存在しているかど
うかを決定する。アドレスがマツチし、条件がマツチし
たならば、ゲート40にブレークポイント信号が発生す
る。
When using, the user must set the four lowest breakpoints and
Determine the addresses and determine whether these addresses are program or data references, if data references, the width of the references, and whether the breakpoints are on read cycles only or on read 1 to or write cycles. Choose what happens. Specific instructions then allow the user to load up to four breakpoint addresses into register and comparator 34 and set control bits for each breakpoint in register 32. Subsequently, on each virtual address bus cycle, a comparison is made in register/comparator 34 and logic circuit 3
6.38 determines whether the user selected state exists. If the address matches and the condition is met, a breakpoint signal is generated at gate 40.

前述した従来方法と異なり、実時間のブレークポイント
信号が発生される。また、仮想アドレスがバスに存在し
ている間に比較が行なわれ、また、伝播遅延がほとんど
ないため、適切な時間に、割込み信号を発生することが
できる。
Unlike the conventional methods described above, real-time breakpoint signals are generated. Also, since the comparison is performed while the virtual address is on the bus, and there is little propagation delay, interrupt signals can be generated at appropriate times.

以上のように、改善されたブレークポイント装置につい
て述べてきたが、この装置は、仮想アドレスが「オン・
チップ」のフィジカル・アドレスに翻訳される単一テツ
ブOマイクロプロセッサにおいて特に有効である。
As mentioned above, we have described an improved breakpoint device, which allows virtual addresses to
This is particularly useful in a single TUB O microprocessor where the physical address of the chip is translated into a "chip" physical address.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明装置が使用されているマイクロプロセッ
サの全マイクロアーキテクチャを示したブロック図、第
2図は本発明のブレークポイント装置を示したブロック
図、第3図は第2図のブロック図において便用されてい
るレジスタの1つの一段のミス回路図、第4a図は所定
(ブレークポイント)アドレスによυ表わされるメモリ
・リファレンスがメモリ・アドレス・リファレンスよシ
も幅が広い場合を示した図、第4b図は所定(ブレーク
ポイント)アドレスにより表わされるメモリ・リファレ
ンスがメモリ・アドレス・リファレンスよシも狭い場合
を示した図である。 13−・・・ランダム・メモリ、14・1111・バス
・インターフェイス装置、16・・φ−インストラクシ
ョン拳デコード装置、ia・・・・実行装置、20・・
・・アドレス・トランスレーション装置、30・・・・
ブレークポイント回路、32・・・・4ビツト・デバッ
グ・レジスタ、34・・・・レジスタ兼比較器、36・
・・・エネーブル論理回路、38・・・・PLA、54
・・・・比較器。
Fig. 1 is a block diagram showing the entire microarchitecture of a microprocessor in which the device of the present invention is used, Fig. 2 is a block diagram showing the breakpoint device of the invention, and Fig. 3 is a block diagram of Fig. 2. Figure 4a shows the case where the memory reference represented by a given (breakpoint) address is wider than the memory address reference. FIG. 4b shows the case where the memory reference represented by a predetermined (breakpoint) address is narrower than the memory address reference. 13--random memory, 14-1111 bus interface device, 16-φ-instruction fist decoding device, ia--execution device, 20--
・Address translation device, 30...
Breakpoint circuit, 32... 4-bit debug register, 34... register/comparator, 36...
... Enable logic circuit, 38... PLA, 54
... Comparator.

Claims (10)

【特許請求の範囲】[Claims] (1)プログラム・インストラクションおよびデータの
リファレンスのための仮想アドレスを発生するアドレス
発生装置と、仮想アドレス・バスと、上記バスの仮想ア
ドレスをフィジカル・アドレスに変換するアドレス・ト
ランスレーション装置と、プログラム・インストラクシ
ョンを翻訳する翻訳装置と、翻訳されたインストラクシ
ョンにしたがって、データを操作する演算装置とを含ん
でいる、単一基板上に形成された集積回路マイクロプロ
セッサにおいて: ブレークポイントを生じるアドレスを記憶する第1レジ
スタと; 制御ビットを記憶する第2レジスタと; 上記第1レジスタに接続し、かつ上記記憶されたアドレ
スの少くとも一部を上記バスの現在のアドレスと比較す
る比較装置と; 上記現在のアドレスがプログラム・インストラクション
またはデータのいずれに関するリファレンスであるかを
決定する第1論理装置にして、上記第2レジスタに接続
して上記記憶された制御ビットの少くとも1つを検知す
る第1論理装置と;上記比較装置と上記第1論理装置と
に接続し、ブレークポイント信号を供給するゲート装置
とを備え、上記第1および第2レジスタ、比較装置、第
1論理装置およびゲート装置は、上記基板に設けられ、
実時間のブレークポイント信号が上記マイクロプロセッ
サに供給されることを特徴とする、ブレークポイント信
号を供給する集積回路マイクロプロセッサ。
(1) An address generator that generates virtual addresses for program instructions and data references, a virtual address bus, an address translation device that converts virtual addresses on the bus into physical addresses, and a program In an integrated circuit microprocessor formed on a single substrate that includes a translation device for translating instructions and an arithmetic unit for manipulating data according to the translated instructions: a second register for storing control bits; a comparison device connected to said first register and for comparing at least a portion of said stored address with a current address on said bus; a first logic device for determining whether an address is a reference for a program instruction or data; a first logic device coupled to said second register to sense at least one of said stored control bits; and; a gate device connected to the comparison device and the first logic device and supplying a breakpoint signal; the first and second registers, the comparison device, the first logic device and the gate device are connected to the substrate. established in
An integrated circuit microprocessor for providing breakpoint signals, characterized in that a real-time breakpoint signal is provided to said microprocessor.
(2)特許請求の範囲第1項記載のマイクロプロセッサ
において、翻訳装置は、バスから第1レジスタのローデ
ィングを可能とするため、あるインストラクションを翻
訳することを特徴とするマイクロプロセッサ。
(2) The microprocessor according to claim 1, wherein the translation device translates a certain instruction to enable loading of the first register from the bus.
(3)特許請求の範囲第2項記載のマイクロプロセッサ
において、翻訳装置は、第2レジスタのローディングを
可能とするため、所定のインストラクションを翻訳する
ことを特徴とするマイクロプロセッサ。
(3) The microprocessor according to claim 2, wherein the translation device translates a predetermined instruction to enable loading of the second register.
(4)特許請求の範囲第3項記載のマイクロプロセッサ
において、第2レジスタに記憶された制御ビットの他方
は、ブレークポイントが読出しサイクルのみ、または読
出しまたは書込みサイクルのいずれにおいて、データ・
リファレンスに関して生じるかを決定することを特徴と
するマイクロプロセッサ。
(4) In the microprocessor according to claim 3, the other of the control bits stored in the second register is set when the breakpoint is set only in the read cycle, or in either the read or write cycle.
A microprocessor characterized in that it determines what occurs with respect to a reference.
(5)特許請求の範囲第3項記載のマイクロプロセッサ
において、第2レジスタに記憶された制御ビットのある
ビットは、ブレークポイントを生じるアドレスの幅を決
定し、上記マイクロプロセッサは、(i)現在のアドレ
スのリファレンスが記憶されたアドレスよりも狭い、上
記記憶されたアドレスにより表わされるリファレンスに
、上記現在のアドレスのリファレンスが含まれているか
どうか、または(ii)上記現在のアドレスが上記記憶
されたアドレスのリファレンスよりも幅広い、上記現在
のアドレスのリファレンスに、上記記憶されたアドレス
により表わされるリファレンスが含まれているかどうか
を決定する第2論理装置を含んでいることを特徴とする
マイクロプロセッサ。
(5) A microprocessor according to claim 3, wherein certain bits of the control bits stored in the second register determine the width of the address at which the breakpoint occurs; narrower than the stored address, whether the reference represented by the stored address includes a reference to the current address, or (ii) the current address is narrower than the stored address; A microprocessor comprising a second logic device for determining whether the current address reference, which is broader than the address reference, includes a reference represented by the stored address.
(6)プログラム・インストラクションおよびデータの
リファレンスのための仮想アドレスを発生するアドレス
発生装置と、仮想アドレス・バスと、上記バスの仮想ア
ドレスをフィジカル・アドレスに変換するアドレス・ト
ランスレーション装置と、プログラム・インストラクシ
ョンを翻訳する翻訳装置と、翻訳されたインストラクシ
ョンにしたがって、データを操作する演算装置とを含ん
でいる、単一基板上に形成された集積回路マイクロプロ
セッサにおいて: ブレークポイントを生じる仮想アドレス(ブレークポイ
ント・アドレス)を記憶する第1レジスタと; 制御ビットを記憶する第2レジスタにして、上記制御ビ
ットの少くともあるビットは上記ブレークポイント・ア
ドレスの幅を決定する第2レジスタと; 上記第1レジスタに接続し、かつ上記記憶された仮想ア
ドレスの少くとも一部を上記バスの現在の仮想アドレス
と比較する比較装置と; 上記現在の仮想アドレスが上記ブレークポイント・アド
レスにより表わされるリファレンスに含まれているかど
うか、または上記ブレークポイント・アドレスにより表
わされるリファレンスが、上記仮想アドレスにより作ら
れるリファレンスに含まれているかどうかを決定し、か
つ上記第1および第2レジスタに接続している第1論理
装置と;上記比較器および上記第1論理装置に接続し、
上記ブレークポイント信号を供給するゲート装置と を備え、上記第1および第2レジスタ、比較装置、第2
論理装置およびゲート装置は、上記基板に設けられ、か
つ実時間のブレークポイント信号が上記マイクロプロセ
ッサに供給されることを特徴とする、ブレークポイント
信号を供給する集積回路マイクロプロセッサ。
(6) an address generator that generates virtual addresses for program instructions and data references; a virtual address bus; an address translation device that converts virtual addresses on the bus into physical addresses; In an integrated circuit microprocessor formed on a single substrate that includes a translation device for translating instructions and an arithmetic unit for manipulating data according to the translated instructions: - a first register for storing an address); a second register for storing control bits, at least some of the control bits determining the width of the breakpoint address; and a second register for storing control bits; a comparator connected to and for comparing at least a portion of said stored virtual address with a current virtual address on said bus; said current virtual address being included in the reference represented by said breakpoint address; a first logical device connected to the first and second registers; ; connected to the comparator and the first logic device;
a gate device for supplying the breakpoint signal, the first and second registers, a comparator, a second
An integrated circuit microprocessor for providing breakpoint signals, characterized in that logic devices and gate devices are provided on the substrate and real-time breakpoint signals are provided to the microprocessor.
(7)特許請求の範囲第6項記載のマイクロプロセッサ
において、翻訳装置は第1レジスタのローディングを可
能とするため、あるインストラクションを翻訳すること
を特徴とするマイクロプロセッサ。
(7) The microprocessor according to claim 6, wherein the translation device translates a certain instruction to enable loading of the first register.
(8)特許請求の範囲第7項記載のマイクロプロセッサ
において、翻訳装置は、第2レジスタのローディングを
可能とするため、所定のインストラクションを翻訳する
ことを特徴とするマイクロプロセッサ。
(8) The microprocessor according to claim 7, wherein the translation device translates a predetermined instruction to enable loading of the second register.
(9)特許請求の範囲第8項記載のマイクロプロセッサ
において、現在の仮想アドレスがプログラムまたはデー
タのいずれのリファレンスであるかを決定する第2論理
装置を含み、かつ上記第2論理装置は第2レジスタに接
続して、記憶された制御ビットの少くとも1つを検知し
、さらに上記第2論理装置はゲート装置に出力を供給す
ることを特徴とするマイクロプロセッサ。
(9) The microprocessor according to claim 8, further comprising a second logical device that determines whether the current virtual address is a program or data reference, and the second logical device is a second logical device. A microprocessor connected to a register to sense at least one of the stored control bits, and further characterized in that said second logic device provides an output to a gating device.
(10)特許請求の範囲第9項記載のマイクロプロセッ
サにおいて、第2レジスタに記憶されている制御ビット
は、ブレークポイントが読出しサイクルのみ、または読
出しまたは書込みサイクルのいずれにおいてデータに関
するリファレンスに生じるのかを決定することを特徴と
するマイクロプロセッサ。
(10) In the microprocessor according to claim 9, the control bit stored in the second register determines whether a breakpoint occurs on a reference for data only in a read cycle, or in a read or write cycle. A microprocessor characterized by determining.
JP62008878A 1986-01-24 1987-01-17 Ic microprocessor Pending JPS62179033A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82226386A 1986-01-24 1986-01-24
US822263 1986-01-24

Publications (1)

Publication Number Publication Date
JPS62179033A true JPS62179033A (en) 1987-08-06

Family

ID=25235601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62008878A Pending JPS62179033A (en) 1986-01-24 1987-01-17 Ic microprocessor

Country Status (3)

Country Link
JP (1) JPS62179033A (en)
DE (1) DE3700800C2 (en)
FR (1) FR2593621A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01142950A (en) * 1987-11-30 1989-06-05 Ricoh Co Ltd Processor integrated circuit device
JPH02297225A (en) * 1989-05-11 1990-12-07 Mitsubishi Electric Corp Microprocessor
JP2005100034A (en) * 2003-09-24 2005-04-14 Matsushita Electric Ind Co Ltd Information processing control system
JP2021528780A (en) * 2018-06-27 2021-10-21 マイクロソフト テクノロジー ライセンシング,エルエルシー Cache-based breakpoint trace / replay using reserved tag field bits

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03148732A (en) * 1989-07-31 1991-06-25 Texas Instr Inc <Ti> Data processor with state monitoring apparatus
JP2526688B2 (en) * 1990-02-22 1996-08-21 三菱電機株式会社 Programmable controller and partial execution method of sequence program
JPH04107630A (en) * 1990-08-28 1992-04-09 Nec Corp Central processing unit
JPH06103109A (en) * 1992-09-22 1994-04-15 Hitachi Ltd Data processor and debugging device using the same
JP2727976B2 (en) * 1994-09-12 1998-03-18 日本電気株式会社 In-circuit emulator
US5717909A (en) * 1995-05-26 1998-02-10 National Semiconductor Corporation Code breakpoint decoder
US5737516A (en) * 1995-08-30 1998-04-07 Motorola, Inc. Data processing system for performing a debug function and method therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5821296A (en) * 1981-07-30 1983-02-08 ヤマハ株式会社 Electronic musical instrument
JPS5856051A (en) * 1981-09-29 1983-04-02 Fujitsu Ltd Address comparison system by access interruption

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4080650A (en) * 1976-07-28 1978-03-21 Bell Telephone Laboratories, Incorporated Facilitating return from an on-line debugging program to a target program breakpoint

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5821296A (en) * 1981-07-30 1983-02-08 ヤマハ株式会社 Electronic musical instrument
JPS5856051A (en) * 1981-09-29 1983-04-02 Fujitsu Ltd Address comparison system by access interruption

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01142950A (en) * 1987-11-30 1989-06-05 Ricoh Co Ltd Processor integrated circuit device
JPH02297225A (en) * 1989-05-11 1990-12-07 Mitsubishi Electric Corp Microprocessor
JP2005100034A (en) * 2003-09-24 2005-04-14 Matsushita Electric Ind Co Ltd Information processing control system
JP2021528780A (en) * 2018-06-27 2021-10-21 マイクロソフト テクノロジー ライセンシング,エルエルシー Cache-based breakpoint trace / replay using reserved tag field bits

Also Published As

Publication number Publication date
FR2593621A1 (en) 1987-07-31
DE3700800C2 (en) 1996-04-18
DE3700800A1 (en) 1987-07-30

Similar Documents

Publication Publication Date Title
USRE36766E (en) Microprocessor breakpoint apparatus
JP3105223B2 (en) Debug peripherals for microcomputers, microprocessors and core processor integrated circuits
US4939637A (en) Circuitry for producing emulation mode in single chip microcomputer
US4674089A (en) In-circuit emulator
US4860195A (en) Microprocessor breakpoint apparatus
US5249278A (en) Microprocessor breakpoint apparatus
JPS62179033A (en) Ic microprocessor
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
US5410721A (en) System and method for incrementing a program counter
US4667285A (en) Microcomputer unit
EP0772826B1 (en) Code breakpoint decoder
JP2816146B2 (en) Circuit operation test equipment
US5455925A (en) Data processing device for maintaining coherency of data stored in main memory, external cache memory and internal cache memory
US5053944A (en) Microprocessor breakpoint apparatus
JP3590282B2 (en) Stop point interrupt generator for superscalar microprocessor
JP2001184212A (en) Trace control circuit
US5586336A (en) Microcomputer capable of monitoring internal resources from external
JPS60207935A (en) Detecting system of illegal instruction
JP3323341B2 (en) Emulation processor and emulator equipped with it
JPS6346460B2 (en)
JPH09106359A (en) Semiconductor integrated circuit
JPS6382525A (en) Microprocessor with tracing function
JPH0679278B2 (en) Microcomputer development equipment
JPH071500B2 (en) Single chip microcomputer
JPS6258018B2 (en)