KR970011212B1 - 데이타 프로세서 - Google Patents

데이타 프로세서 Download PDF

Info

Publication number
KR970011212B1
KR970011212B1 KR1019880014070A KR880014070A KR970011212B1 KR 970011212 B1 KR970011212 B1 KR 970011212B1 KR 1019880014070 A KR1019880014070 A KR 1019880014070A KR 880014070 A KR880014070 A KR 880014070A KR 970011212 B1 KR970011212 B1 KR 970011212B1
Authority
KR
South Korea
Prior art keywords
mode
command
bus
execution
instructions
Prior art date
Application number
KR1019880014070A
Other languages
English (en)
Other versions
KR890007157A (ko
Inventor
제이. 바그리카 죤
에이. 하트빅슨 제이
엘. 그레이 랜드
Original Assignee
모토로라 인코포레이티드
빈센트 죠셉 로너
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22361672&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR970011212(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 모토로라 인코포레이티드, 빈센트 죠셉 로너 filed Critical 모토로라 인코포레이티드
Publication of KR890007157A publication Critical patent/KR890007157A/ko
Application granted granted Critical
Publication of KR970011212B1 publication Critical patent/KR970011212B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

요약없음

Description

데이타 프로세서
제1도는 본 발명의 양호한 실시예를 구비하는 집적 회로 데이타 처리 시스템의 블록도.
제2도는 제1도의 데이타 프로세서의 프로그램 모델을 도시하는 도면.
제3도는 제1도의 데이타 처리 시스템의 중앙 처리 장치의 부분 구조를 도시하는 도면.
제4도는 제3도 장치의 디버그 모드 직렬 인터페이스 부분을 도시하는 블록도.
* 도면의 주요부분에 대한 부호의 설명
11 : CPU 13 : 직렬 인터페이스
23 : IR 파이프35 : 마이크로 어드레스
40 : 버스 제어기47 : 일반 레지스터 제어
본 발명의 분야
본 발명은, 일반적으로, 시스템과 함께 사용하기 위한, 개발 시스템의 기능을 향상시키고 복잡성을 감소시킨 특징을 갖는 데이타 프로세서에 관한 것이다. 특히 본 발명은, 명령이 직렬 인터페이스를 통해 수신될 때, 동작의 디버그 모드를 갖는 데이타 프로세서에 관련된다.
본 발명의 배경
개발 시스템(development system)은 데이타 처리 시스템에 관련하여, 하드웨어와 소프트웨어의 "디버깅(debugging)"을 돕는데 사용된다. 개발 시스템의 대표적인 기능은, 다양한 시스템 레지스터 등을 검사하고 가능하다면 변경하기 위해 데이타 프로세서의 실행을 중단시키며, 소프트웨어의 실행의 추적(tracing)하는 중단점(breakpoint)의 삽입(insertion)과 응답을 포함한다.
단일 집적 회로 또는 몇몇 집적 회로의 결합으로 구성된 데이타 처리 시스템에 따라, 개발 시스템의 설계에 어려운 문제점이 증가하고 있다. 데이타 프로세서의 복잡성이 증가함에 따라, 더 많은 기능이 단일 집적 회로에 병합되고, 내부 버스, 레지스터 및 다른 소자들로의 액세스가 개발 시스템에 이용되는 것이 적어진다.
종래의 집적 회로 데이타 처리 시스템으로, 특정 동작 모드가 디버깅 및 모방(emulation) 목적에 이용가능함이 이미 공지되었다. 특정 동작 모드에서, 시스템은, 정규 모드로 정규 명령을 실행하고, 집적 회로 외부로부터 실행될 명령을 추출(fetch)한다. 상기 모든 시스템에서, 정규 모드의 동작(예를들면, 통신 포트)에서 시스템에 의해 이용되는 하나 이상의 "시스템 자원(system resources)"은, 특정 동작 모드동안 개발 시스템과 교신하기에 적합하다.
종래 기술의 집적 회로 데이타 처리 시스템에 나타나는 다른 개발 지원 특징(development support features)은, 프로세서를 정지시키고 일정한 내부 레지스터를 판독하는 기능 및, 분리되어, 일정 디버그 기능을 실행하기 위해 동일한 집적 회로상에 특별히 제공된 스테이트 머신(state machine)을 동작시키는 기능을 포함한다.
개발 지원 특징을 갖는 모든 종래 기술의 데이타 처리 시스템에는 여러 단점이 있었다. 예를들면, 디버그 모드에서 사용하기 위한 시스템 자원의 사용은, 상기 자원들이 정규 방법(mormal fashion)으로 사용되는 것을 방지하며, 따라서 상기 기능을 모방하기(emulate) 위한 외부 주변회로를 필요로 하였다. 외부의 온 칩(on-chip) 디버깅 머신을 제공하기 위해서는 집적 회로상에 현저한 외부 영역을 필요로하며, 따라서 한정된 수의 특정 목적의 디버깅 유형의(debugging-type) 데이타 프로세서에만 유용하였다.
본 발명의 개요
따라서, 본 발명의 목적은 개발 지원 특징을 갖는 개선된 데이타 프로세서를 제공하는 것이다.
본 발명의 제2목적은 프로세서의 정규 명령 실행 장치가 디버깅 명령을 실행하는데 사용되는 교번적인 동작 모드를 갖는 데이타 프로세서를 제공한다.
본 발명의 제3목적은, 디버깅 명령이 정규 동작 모드에서 시스템에 이용할 수 있는 시스템 자원중 하나가 아닌 직렬 통신 인터페이스를 통해 실행하기 위해 수신되는 교번적 동작 모드를 갖는 데이타 프로세서를 제공하는 것이다.
본 발명의 목적 및 장점은, 다수의 시스템 자원을 가지며, 명령을 실행하기 위한 제1수단과, 제1의 다수명령의 상기 제1수단의 실행에 따라 시스템 자원을 사용하는 제2수단과, 제2의 다수 명령의 상기 제1수단의 실행에 따라 시스템 자원중 적어도 하나에 액세스하기 위한 제3수단을 구비하는 데이타 프로세서가 제공된다는 것이다.
본 발명의 상기 및 다른 목적과 장점을 이하 첨부된 도면을 참조하여 더욱 상세히 설명하기로 한다.
상세한 설명
용어 "표명하다(assert)", "표명(assertion)""부정하다(negate)" 및 "부정(negation)"은 "액티브 하이" 및 "액티브 로우" 신호를 혼합하여 다룰 때 혼란을 방지하기 위해 사용된다. "표명하다" 및 "표명"은, 신호가 액티브 또는 논리적으로 참(true)인 것을 나타내고, "부정하다" 및 "부정"은 신호가 인액티브 또는 논리적으로 거짓(false)인 것을 나타낸다.
제1도는 본 발명의 양호한 실시예에 따른 집적 회로 데이타 처리 시스템을 도시한다. 마이크로컴퓨터(10)는, 중앙 처리 장치(CPU)(11)와, 인터-모듈 버스(inter-module bus : IMB)(12)와, 직렬 통신 인터페이스(13)와, 온-보드 메모리(14)와, 타이머 모듈(15)과, 시스템 종합 모듈(system integration module : SIM)(16)을 구비한다. 후술되는 바와 같이, 다중 데이타, 어드레스 및 제어 신호 라인을 구비하는 인터-모듈 버스(12)는, 마이크로컴퓨터(10)의 다른 각각의 구성 성분 사이의 통신에 연결되고 제공된다. 직렬 인터페이스(13)는, 마이크로컴퓨터(10)와 외부장치 및 시스템 사이에 여러 직렬 I/O 핀을 통해 동기식 및 비동기식 직렬 데이타를 전송한다. 메모리(14)는 마이크로컴퓨터(10)에 유용한 프로그램 및 다른 데이타를 위해 기억 공간을 제공한다. 타이머 모듈(15)은 여러 타이머 핀을 통해, 입력 수집(input capture), 출력 비교 등의 여러 타이밍 기능을 제공한다. SIM(16)는 후술되는 바와 같이, IMB(12)와 외부 버스 사이의 인터페이스를 제공하며, 또한 클럭 신호 발생 및 분산(distribution) 등의 몇몇 시스템 기능을 제공한다.
IMB(12)와의 접속외에, CPU(11)는 IPIPE/DSO, IFETCH/DSI 및 BKPT/DSCLK 등의 각각의 표시(label)를 참고로, 마이크로컴퓨터(10)의 세 핀에 접속된다. IPIPE/DSO는, CPU(11)의 동작 모드에 따라, 명령 파이프라인 동기화(instruction pipeline synchronization : IPIPE) 또는 디버그 직렬 통신(debug serial communication : DSO)용으로 외부 개발 시스템에 유용한 신호를 제공하는 출력전용 핀이다. IFETCH/DSI는, CPU(11)의 동작에 따라, 동작의 디버그 모드로 들어가기 위해 CPU(11)가 직접 중단점(BKPT)을 실행하거나, 디버그 직렬 통신(DSCLK)용으로 외부 개발 시스템에 유용한 입력전용 핀이다. 이들 기능의 각각은 상세히 후술하기로 한다.
마이크로컴퓨터(10)의 개발 지원 특징 전부가 본 발명의 내용은 아니지만, 모두 양호한 실시예의 동작의 내용과 관련된다. 마이크로컴퓨터(10)의 개발 지원 특징은, "백그라운드 디버그(background debug)" 동작 모드, CPU(11)의 명령 파이프라인 추적 기능(trackability), IBM 버스 싸이클의 외부 가시도, 및 온-보드 모듈과 외부 장치 모두에 중단점을 삽입하는 기능을 포함한다.
백그라운드 디버그 동작 모드는, IMB(12)에 의해 추출된 정규 명령의 실행이 정지되고, IPIPE/DSO, IFETCH/DSI 및 BKPT/DSCLK 핀을 구비하는 직렬 통신 인터페이스에 의해 수신되는 특정 디버깅 명령을 처리하는 모드로 CPU(11)를 토글링(toggling)하는 것을 포함한다. 특정 디버깅 명령은, CPU 레지스터(정규 동작 모드에서 액세스할 수 없는 다수의 레지스터 포함)를 판독 및 기록할 수 있고, 메모리 맵(memory map : 메모리(14)내 위치, 직렬 인터페이스(13)내 레지스터, 타이머 모듈(15) 및 SIM(16)를 포함)에서 위치를 판독 및 기록할 수 있고, 정규 명령 실행을 다시 시작할 수 있다. CPU(11)의 내부 명령 파이프라인을 추적하는 능력은 IPIPE/DSO 및 IFETCH/DSI 핀의 사용을 포함한다. 정규 모드에서, CPU(11)는, 파이프의 제1단(first stage)이 진행할 때는 1클럭 싸이클동안, 또 파이프의 양 단이 진행할 때는 2클럭 싸이클 동안, IPIPE를 표명한다(assert). 마찬가지고, IFETCH는, 1클럭 싸이클동안 현 버스 싸이클이 명령 추출을 표시하고, 2클럭 싸이클동안 파이프가 플러시(flush)됨을 표시함을 표명한다.
마이크로컴퓨터(10)의 외부(visible outside)에서 IMB(12)의 내부 버스 싸이클을 단순히하는 기능은, SIM(16)내의 제어 비트를 특정값으로 설정하는 것을 포함한다. 상기 비트들이 적절하게 설정되면, IMB 싸이클은 외부 버스상에서 반사된다(echoed). 상기 외부 버스 싸이클은, 어드레스 스트로브(AS)가 결코 표명되지 않는다는 사실에 따라 정규 외부 버스 싸이클과 구별된다. 마이크로컴퓨터(10)의 중단점 기능에 따라, 외부 장치 또는 온-보드 주변 장치의 하나가 어느 특정 메모리 위치의 액세스와 연관되어 중단점을 삽입된다. 상기 위치에 기억된 명령의 실행 또는 상기 위치의 오퍼런드(operand)에 대한 액세스는, CPU(11)가 중단점 예외 조작 루틴(breakpoint exception handling)(또는 백그라운드 디버그 모드 시작)을 실행하는 원인이 된다. 이들 특징의 전부는 더욱 상세히 후술하기로 한다.
아래의 설명의 이해를 돕기 위해서, IMB(12) 및 외부 버스의 신호를 설명하기로 한다. 아래의 표는 상기 신호와 그 정의의 요약이다. 이들 신호 및 그 정의의 대부분은 텍사스, 오스틴 소재의 모토로라 인코포레이티드에 의해 상용화된 마이크로프로세서의 버스 신호와 유사하다. 이러한 마이크로컴퓨터의 예로는 MC68010이 있다.
내부 모듈 버스 신호
Figure kpo00001
Figure kpo00002
상기 표에서 신호 방향은 CPU에 관하여 지정된 것을 참조.
외부버스 신호
Figure kpo00003
Figure kpo00004
별도(*)로 표시된 핀, 어드레스 핀(A19-A23), 기능 코드 핀(FC0-FC2), 버스 요구 핀(BR), 버스 허가 핀(BG) 및 버스 허가 인정 핀(BGACK)은, 프로그래머블 칩 선택 핀으로도 사용될 수 있다. 마이크로컴퓨터(10)의 상기 특징은 본 발명의 이해와 관련은 없다. 신호 방향은 마이크로컴퓨터(10)에 의해 특정된다.
제2도는 CPU(11)의 프로그래머의 모델(programmer's medel), 즉 CPU(11)상에서 실행되는 소프트웨어에 액세스할 수 있는 레지스터를 도시한다. CPU(11)는, D0-D7로 표시된, 32-비트 광역 데이타 레지스터(wide data register) 여덟 개를 가진다. 또한, CPU(11)는 A0-A6으로 표시된 32-비트 광역 어드레스 레지스터(wide address register) 일곱 개에 액세스한다. 상기 각각의 레지스터는, 정규 명령을 실행하면서, 판독 및 기록할 수 있다.
CPU(11)는 두개의 스택 포인터, 즉, USP로 표시된 사용자 스택 포인터와 SSP로 표시된 수퍼바이저 스택 포인터를 가진다. 스택 포인터는, 예외 처리(exception processing) 등으로부터의 복귀에 유용한 CPU(11)에 관한 정보가 기억된 메모리 위치의 "스택(stack)"의 상부(top)를 지시하는데 이용된다. 표시 USP 및 SSP에 부가하여, 현 스택 포인터는, A7(또는 A7')로 표시된 8 어드레스 레지스터를 참고로, 액세스될 수 있다. 상기 방법으로 어느 스택 포인터가 액세스되는 가는, CPU(11)의 현 사용자/수퍼바이저 상태에 의하여 결정된다. 사용자 및 수퍼바이저라는 용어는, CPU(11)가 일정한 "특권(privilege)" 명령이 실행될 수 있는가를 제어하는 상기 이름의 두 "특권 상태(privilege state)"를 갖는 사실을 언급한다.
CPU(11)의 프로그램 카운터는 PC로 표시된 32비트 광역 레지스터이다. 종래의 프로그램 카운터는, 실행될 다음 명령이 기억된 메모리내에 어드레스를 포함한다.
SR로 표시된 CPU(11)의 상태 레지스터는, 상태 레지스터의 하위 바이트를 형성하는 개별적으로 어드레스가능한 조건 코드 레지스터(condition code register : CCR)를 포함한다. 상태 레지스터의 최하위 5비트는, 모토로라 68000-계 마이크로프로세서의 경우와 같이, 주지의 캐리(familiar carry), 오버플로우(overflow), 제로(zero), 네거티브(negative), 및 조건 코드 비트이다. 상태 레지스터의 다음 3비트는, 실행되지 못하고 제로로 판독된다. 비트(8, 9, 10)는, 현재 표시되지 않은 최하위 우선 순위 인터럽트를 결정하는, CPU(11)에 의하여 사용되는 인터럽트 마스크이다. 비트(11, 12)는 실행되지 않고 제로로 판독한다. SR의 비트(13)는 수퍼바이저 비트이고, 상기 수퍼바이저 비트는 CPU(11)가 설정될 경우 수퍼바이저 특권 상태인 것을 나타낸다. 상태 레지스터의 두 최상위 명령 비트는, 모토로라 68020 마이크로프로세서에서, 명령 실행의 추적(tracing)을 가능케 한다.
CPU(11)는, 기능 코드 출력(FC0-FC2)의 상태를 결정하기 위해 일정한 환경에서 사용되는 두개의 3-비트 레지스터를 가진다. 이들은 SFC 및 DFC(source function code 및 destination function code) 레지스터이다. 이들 레지스터는, 모토로라 68010 및 68020 마이크로프로세서의 경우에서, CPU(11)의 여러 어드레스 공간 사이에서 데이타를 이동시키는 MOVES 명령에 의하여 사용된다. 이하에 상술된 바와 같이, SFC 및 DFC는 백그라운드 디버그 모드동안 기능 코드 출력을 제공하기 위해서도 사용된다.
프로그래머의 모델에 나타나는 최종 레지스터는 VBR이고, VBR는 벡터 베이스 레지스터를 나타낸다. VBR는, 예외 취급 소프트웨어 루틴의 시작 어드레스를 배치하는데 사용되는 벡터 계산의 기준으로 사용된다. 상기 레지스터도 역시 68010 및 68020 마이크로프로세서내에 존재한다. 상기 기술된 모든 레지스터들은, 어느 한 경로 또는 또다른 경로로, CPU(11)가 정규 명령을 실행하는 동안 액세스할 수 있다. 스택 포인터 및 상태 레지스터의 상부 절반과 같은 일부는, CPU(11)가 수퍼바이저 특권 상태동안만 액세스되는 것이 가능하다. 프로그래머의 모델에 나타나지 않은 ATEMP 및 BTEMP로 표시되는 임시 레지스터 같은 다른 레지스터들도 있다. 이들 레지스터들은, 정규 프로그램 실행에 의하여 영향을 받으나, 판독 및 기록될 수 없다는 의미에서 액세스가 불가능하다.
제3도는 제1도의 CPU(11)의 상세한 구조를 도시하는 동작도이다. 물론 제3도는 매우 복잡한 구조의 단순도이다. 매우 유사한 CPU 구조의 상세한 설명은 미국 특허 제4,342,078호, 제4,296,469호, 제4,307,445호, 제4,524,415호에 공지되어 있다. 상기 특허 모두는 참고자료로 본원에 포함되어 있다.
CPU(11)는 파이프라인(pipeline)화되고 마이크로프로그램화된 데이타 프로세서이다. 실행 유닛(20)은, IMB(12)(제1도 참조)의 데이타 버스부(21)에 양방향으로 접속되고, 또한 IMB(12)의 어드레스부(22)에 접속된다. 실행 유닛(20)은, 명령 레지스터(IR) 파이프(23)에 양방향으로 접속되고, 상기 파이프는 각 정규 명령이 실행되기에 전 및 실행되는 동안 통과하는 다단(multi-stage) 파이프 라인이다.
실행 유닛(20)은, CPU(11)의 정규 및 특별 디버그 명령 각각을 실행하는데 필요한 연산, 시프트, 레지스터 및 다른 논리 모두를 포함한다. 종착(destination) 기능 코드 및 소스 기능 코드 레지스터와 상태 레지스터를 제외하고, 제2도를 참고로 기술된 레지스터 모두는 실행 유닛(20)에 잔류할 수도 있다.
IR 파이프(23)의 출력은, 어드레스 1 디코더(25), 어드레스 2/2R/3 디코더(26), 어드레스 4 디코더(27), 불법 명령 디코더(28), 분기 제어기(29) 및 일반 내부(G) 버스(30)의 입력에 접속된다. 어드레스 디코더(25, 26,27)는 다음 마이크로 어드레스를 발생하는 명령부를 동작시킨다. 분기 제어기(29)는 다음 마이크로 어드레스부를 발생한다. 불법 명령 디코더(28)도 마음 마이크로 어드레스를 발생한다. 이들 다음 마이크로 어드레스의 각각 또는 일부는, 멀티플렉서(32)에 입력된다. 또한 멀티플렉서(32)는 예외 우선 순위 디코더(33) 및 마이크로 ROM(34)으로부터 입력을 수신한다. 멀티플렉서(32)의 출력은 마이크로 어드레스 레지스터(35)에 입력된다.
마이크로 어드레스 레지스터(35)는 실행되는 마이크로 명령의 마이크로 어드레스를 포함한다. 마이크로 어드레스 레지스터(35)는 마이크로 ROM(34) 및 나노 ROM(36) 양쪽에 출력을 제공한다. 마이크로 ROM(34) 및 나노 ROM(36)은 결합하여 각 명령을 실행하고 다음 명령을 처리하는데 필요한 제어 출력을 발생한다. 마이크로 ROM(34)의 출력은 버스 제어기(40)에 접속되고, 상기 제어기는 정규 명령을 추출(fetch)하고 데이타를 판독 및 기록하는 버스 마스터로서 IMB(12)를 동작시킨다.
마이크로 ROM(34)의 다른 출력은 기능 코드 논리(41)에 연결되고, 상기 코드 논리는 또한, 종착 기능 코드 레지스터(42) 및 소스 기능 코드 레지스터(43)로부터의 압력을 수신한다. 기능 코드 논리(41)는 각 IMB 버스 싸이클의 어드레스 공간을 나타내는 기능 코드 비트를 발생한다. DFC(42) 및 SFC(43)는 G 버스(30)에 양방향으로 연결된다.
나노 ROM(36)의 여러 출력은 백그라운드 모드 직렬 논리(45), 버스 제어기 레지스터 제어 논리(46), 일반 레지스터 제어 논리(47), 및 조건 코드와 ALU(연산 및 논리 유닛) 제어 논리(48)에 연결된다. 일반 레지스터 제어 논리(47)는 또한 G 버스(30)로부터의 입력을 수신한다. 백그라운드 모드 직렬 논리(45)는 G 버스(30)에 양방향으로 연결된다. 버스 제어기 레지스터 제어(46) 및 일반 레지스터 제어(47)는 실행 유닛(20)에 출력을 제공한다. 조건 코드 및 ALU 제어 논리(48)는, 실행 유닛(20)에 양방향으로 접속되고, 분기 제어(29)에서 접속된 출력을 가진다. 상태 레지스터(49)는 G 버스(30)에 양방향으로 접속되고, 조건 코드 및 ALU 제어 논리(48)로부터 입력을 수신하고, 분기 제어 논리(29)에 출력을 제공한다. G 버스(30)는 실행 유닛(20)에 입력을 제공한다.
정규 명령이 실행되는 동안, CPU(11)는 상기 언급된 미국 특허에 기술되는 데이타 프로세서와, 유사하게 동작한다. 명령은, 메모리로부터 버스 제어기(40)의 동작을 통해 추출되고, IR 파이프(23)를 통과하여, 실행 유닛(20)에 의하여 실행된다. 그러나, 백그라운드 디버그 모드에서 토글(toggle)되면, 정규 명령 실행은 정지된다. 백그라운드 모드 직렬 논리(45)에 의하여 수신된 디버그 명령은, IR 파이프(23)를 통과하여 실행된다. 정규 및 백그라운드 모드에서 동일 명령 실행 장치가 사용되기 때문에, 약간의 부가적인 하드웨어만 있으면 백그라운드 디버그 모드를 실행할 수 있다. 백그라운드 모드 직렬 논리(45) 외에, 하나 이상의 어드레스 디코더(25, 26, 27)와, 마이크로 ROM(34) 및 나노 ROM(36) 등의 약간의 추가가 필요하다.
제4도는 본 발명과 연관된 CPU(11)의 주요 소자 사이의 논리 관계를 도시한다. 정규 동작 모드에서, 버스 제어기(50)는, 버스 마스터로서의 버스 제어기(50)에 의해 작동하는, 데이타 버스 및 어드레스 버스(단지, 제1도의 IMB(12)의 데이타 및 어드레스부)를 통해 메모리로부터 명령 및 데이타 오퍼런드를 추출한다. 명령은 버스 제어기(50)에서 IR 파이프(51)로 전달되고, 데이타 오퍼런드는 실행 유닛(52)으로 전달된다. IR 파이프(51)의 다단(multi-stages)으로부터의 여러 출력은 시퀀서(53)에 제공되고, 상기 시퀀서는 마이크로 코드(54)에 입력을 제공한다. 마이크로 코드(54)도 또한 시퀀서(53)에 입력을 제공한다. 마이크로 코드(54)의 출력은, 실행 유닛(52)의 동작을 제어하도록 입력측에 제공한다. 상기 설명은 위에서 기술된 파이프 라인 마이크로 코드 프로세서 동작의 간단한 설명이다.
시퀀서(53)는 IR 파이프(51)의 단을 통해 명령의 진행을 제어한다. 시퀀서가 출력 신호(IPIPE 및 IFETCH)를 제공하여, 외부 개발 시스템은 IR 파이프(51)의 내용을 연속적으로 모니터할 수 있다. 양호한 실시예에서, IR 파이프(51)는 3단 파이프일 수 있다. 파이프의 제1단이 제2단으로 진행할 때, 시퀀서(53)는 한 클럭 싸이클동안 IPIPE를 표명한다(assert). 제1단이 제2단으로 진행하고 제2단이 제3단으로 진행할 때, 시퀀서(53)는 두 클럭 싸이클동안 IPIPE를 표명한다. 현 버스 싸이클이 명령 추출일 때(즉, 버스 싸이클의 결과가 IR 파이프(51)로 로드될 때), IFETCH는 한 클럭 싸이클동안 표명된다. IR 파이프(51)가 소거될 때, 또는 통상적으로 말해 플러시될 때(flushed), IFETCH는 두 클럭 싸이클동안 표명된다. 이는 예를들어, 프로그램 분기가 달성되거나 또는 예외 처리가 시작될 때 발생한다. 두 싸이클동안 IFETCH의 표명(assertion)은, 현 버스 싸이클로 복귀된 데이타가 새로 제거된 IR 파이프(51)내에 로드되는 제1단어임을 나타낸다.
버스 제어기(50)로의 BKPT 입력은, 제1도에 도시된 바와 같이 IMB(12)의 BKPT 신호 라인과 CPU(11)로의 직접적인 BKPT 입력은 포함한다. BKPT에 액세스된 장치는, 액세스된 어드레스가 몇몇 미리 선택된 범위 또는 어느 적당한 다른 시간에서 일어날 때마다, IMB(12) 및/또는 외부 버스의 버스 싸이클 및 삽입 중단점을 모니터할 수 있다. 버스 제어기(50)로의 BKPT 입력이 표명되는 버스 싸이클이 명령 추출 싸이클이 아니면, 중단점은 현 실행 명령의 실행의 완성에 따라 즉시 공지될 것이다. 싸이클이 명령 추출이면, 중단점은 "준비중(pending)"이 되고, 상기 싸이클에서 추출된 명령이 결국 실행된 후에 주지(acknowlege)된다.
IMB BKPT 라인이나 외부 BKPT 라인에 의한 중단점 삽입은, "하드웨어" 중단점으로 언급된다. 하드웨어 중단점은 물론, "소프트웨어" 중단점이 양호한 실시예에서 제공된다. 소프트웨어 중단점은 모토라라 68020 마이크로프로세서상에 제공된 소프트웨어 중단점과 실제로 같으며, 중단점 명령에 응답하는 하나 이상의 정규 명령을 구비한다.
하드웨어 또는 소프트웨어 중단점에 따라, 중단점 주지 싸이클로 언급되는 특정 버스 싸이클이 실행된다. 상기 버스 싸이클은, DSACK0-1상에 BERR 신호 또는 데이타 전송 및 크기 주지 신호의 수신에 의해 종료된다. 하드웨어 및 소프트웨어 중단점에서, BERR에 의한 싸이클 종료는 CPU(11)가 예외 처리를 진행하는 원인이 된다. 불법 명령 예외는 소프트웨어 중단점의 경우에 이루어지고, 중단점 예외는 하드웨어 중단점의 경우에 이루어진다. 소프트웨어 중단점에 의해 개시된 중단점 주지 싸이클이 DSACK0-1 라인상의 데이타 전송 및 크기 주지의 수신에 의해 종료되면, 복귀된 데이타는 중단점 명령의 치환에 사용되고 실행은 치환 명령에 따라 다시 시작된다. 하드웨어 중단점에 의해 개시된 중단점 주지 싸이클이 DSACK0-1상의 데이타 전송 및 크기 주지의 수신에 따라 종료하면, 복귀된 데이타는 무시되고, 실행은, 중단점이 수신되지 않은 것처럼 다음 명령으로 다시 시작된다. 또한 하드웨어 중단점은, 인에이블될 경우, 백그라운드 디버그 모드로 이행하는 여러 방법중 하나를 구비한다.
백그라운드 디버그 모드에 기입하는(entry) 세개의 다른 방법은 양호한 실시예에서 제공된다. 그러나 백그라운드 디버그 모드가 인에이블되지 않으면 기입 방법은 성공할 수 없다. 마이크로컴퓨터(10)가 외부 RESET 신호에 의해 리셋될 때, 백그라운드 디버그 모드의 사용가능(enablement)이 결정된다. 마이크로컴퓨터(10)가 리셋을 출력하면 외부 BKPT 핀의 상태가 래치된다(latched). BKPT의 래치된 값이 논리 제로이면, 백그라운드 디버그 모드 기입이 인에이블된다. 그렇지 않으면, 기입은 디스에이블된다. 마이크로컴퓨터(10)가 다시 리셋되지 않으면, 백그라운드 디버그 모드 기입의 사용가능 상태는 변경될 수 없다.
백그라운드 디버그 모드 기입이 인에이블되면, IMB(12)에 접속된 장치중 하나 또는 외부 BKPT 핀을 통한 외부 장치에 의해, 정규 명령의 하나로 제공되는 백그라운드 명령의 실행 또는 이중 버스 고장(즉, 제1버스 고장에 의해 야기된 예외 처리동안 발생하는 제2버스 고장)에 따라, 상기 모드가 버스 제어기(50)로의 BKPT 입력이 표명에 의해 기입될 수 있다.
여러 중단점 및 백그라운드 디버그 모드 기입 방법의 동작은 다음 표로 요약된다.
Figure kpo00005
제4도에 도시된 장치의 백그라운드 디버그 모드는, 정규 프로그램 실행의 종료를 포함한다. 일단 디버그 모드가 시작되면, CPU(11)에 대한 인터럽트가 주지되거나 작용되지 않으며, 명령 추적이 불가능하다. 실행동안 요구되는 디버그 명령 및 어드레스 및/또는 오퍼런드 데이타는, 직렬 인터페이스(55)에 의하여 IR 파이프(51)에 제공된다. 직렬 인터페이스(55)는, DSI 핀을 통하여 외부 개발 시스템으로부터 이들 명령 및 데이타를 수신하고, 동시에 DSO 핀을 통하여 개발 시스템으로 상태 및 결과 데이타를 통과시킨다. 직렬 인터페이스(55)는, 한 비트 데이타가 시프트 인(shift in)되고, 한 비트 데이타가 클럭 신호(DSCLK)의 각 싸이클에 시프트 아웃(shift out)되는, 모토로라 직렬 주변 인터페이스와 같은 방법으로 동작한다. DSCLK는 외부 개발 시스템에 의해 제공되므로, DSCLK는 직렬 인터페이스를 제어하고 마스터(master)로도 불리운다. 직렬 인터페이스(55)는 슬레이브(slave)로 동작한다.
백그라운드 디버그 모드에서, 직렬 인터페이스(55)를 슬레이브로 동작시키는 선택은 본 발명의 양호한 실시예의 한 특징이다. 상기 선택은, 정규 모드에서 개발 시스템이 CPU(11)가 동작하는 클럭 속도(rate)로 강요되지 않기 때문에, 본 발명의 사용하기 위해 설계된 개발 시스템의 구현에 좀더 많은 자유를 제공한다.
백그라운드 디버그 모드 기입 사건중 하나의 발생에 따라, IMB(12)상의 다른 장치로의 백그라운드 디버그 모드 기입을 나타내도록 IMB FREEZE 신호가 표명된다. 외부 버스 FREEZE 신호 또한 표명된다. 백그라운드 디버그 모드 모드로의 기입에 문맥 스택(context stacking)은 실행되지 않는다. 정규 명령 실행은 중지되고 직렬 인터페이스(55)는 인에이블된다.
주변 장치에 의한 FREEZE에 대한 적절한 응답은, "실 시간(real time)" 문맥(context)의 명백한 손실없이, 백그라운드 디버그 모드로 기입되고 백그라운드 디버그 모드로부터 회복된다. 예를들면, SIM(16)의 한부분을 구성하는 감시 타이머(watchdog timer)는, 타임 아웃 이전에 소거되지 않을 경우, 주기적으로 인터럽트 또는 리셋을 발생하기 위해 구성될 수 있다. 상기 타이머가 FREEZE에 응답하는 클럭을 디스에이블함으로써 턴 오프되면, 백그라운드 디버그 모드 기입 이전에 나타나기 때문에 정규 명령 실행은 감시 타이머의 상태가 손실됨이 없이 시작할 수 있다. FREEZE에 대해 가장 적절한 응답은 시스템의 각 성분에 개별적으로 근거해 결정된다.
백그라운드 디버그 모드동안 CPU(11)와 상호 작용하는 외부 개발 시스템은, 외부 버스 FREEZE 라인을 모니터하여야 한다. FREEZE가 표명될 때, 외부 개발 시스템은, BKPT(시스템이 BKPT를 표명할 경우)를 개방하고(release), 디버그 명령 및 데이타를 전송하기 시작한다.
백그라운드 디버그 모드일 경우 CPU(11)는 직렬 인터페이스(55)에 의하여 외부 개발 시스템에 의해 제공될 디버그 명령을 기다린다. 직렬 인터페이스(55)를 통한 정보의 단일 "전송"은 17비트를 구비한다. 즉, 명령, 오퍼런드 또는 응답의 16비트 및 상태 정보의 1비트를 구비한다. 17비트는 각 방향으로, 즉, 직렬 인터페이스(55)에서 외부 개발 시스템으로 및 외부 개발 시스템에서 직렬 인터페이스(55)로, 전송됨에 주의해야 한다.
명백히, 백그라운드 디버그 모드로의 기입 후의 제1전송은 실행될 디버그 명령을 포함한다. 연속 전송은, 외부 개발 시스템으로의, 디버그 명령 실행에 필요한 어드레스 및 데이타와 같은 오퍼런드의 준비 및/또는 디버그 명령 실행의 결과의 준비를 포함할 수 있다.
일단 완전한 디버그 명령 및 필요한 어드레스 또는 데이타가 직렬 인터페이스(55)내로 이동되면, 명령은 실행된다. 양호한 실시예에서, 직렬 인터페이스(55)는 백그라운드 디버그 모드 기입에 의해 항상 비어있는 IR 파이프(51)의 단을 통해 실행될 명령을 통과시킨다. 이것은, 상기 모드 기입이 단지 명령 범위만에서 발생하므로 가능하다.
상술된 바와 같이, 각 전송상에서 외부 개발 시스템에 의해 수신되는 17비트는, 데이타 16비트와 하나의 상태 비트(최상위 비트)로 해석된다. 상태 비트가 0이면, 데이타는 이전 디버그 명령의 실행 결과를 전송이 유효하다고 해석된다. 상태 비트가 1이고 데이타 비트가 전부 0이면, 개발 시스템은, CPU(11)가 이전 디버그 명령에 응답할 준비가 되지 않았다고 추정한다. 상태 비트가 1이고 최하위 4 데이타 비트가 또한 1이면, 이전에 전송된 디버그 명령은 불법 명령이거나 또는 적절하게 수신되지 않은 것이다. 상태 비트 및 데이타 비트 전부가 1이면, 디버그 명령의 실행은 버스 에러에 의해 종료된다. 개발 시스템은 17 또는 그 이상의 연속한 1의 전송에 의해 직렬 인터페이스(55)내로 전송되는 데이타의 최상위 비트를 0으로 설정한다.
디버그 명령의 설정시, 명령(command)은, 1) 어드레스 또는 데이타 레지스터 판독, 2) 어드레스 또는 데이타 레지스터 기록, 3) 시스템 레지스터 판독, 4) 시스템 레지스터 기록, 5) 메모리 위치 판독, 6) 메모리 위치 기록, 7) 메모리 블록 덤프(dump), 8) 메모리 블록 충족(fill), 9)명령 파이프 플러시 (flush) 및 정규 명령 재개, 10) 주변을 리셋하는 IMB(12)의 STSRST 라인 표면 11) 1-동작(NOP) 실행 등을 포함한다.
레지스터 명령의 경우에서, 소스 또는 종착 레지스터는 명령 그 자체의 인코드된 비트 필드에 의해 특정된다. 프로그래머의 모델의 모든 어드레스 및 데이타 레지스터는 액세스할 수 있다. 또한, 프로그래머의 모델의 모든 시스템 레지스터는 액세스할 수 있다.(PC, SR, USP, SSP, SFC, DFC 및 VBR를 포함한다). 부가하여 프로그래머의 모델에서 표시되지 않은 ATEMP 및 BTEMP 레지스터는, 판독 시스템 레지스터 및 기록 시스템 레지스터 디버그 명령을 통하여 액세스할 수 있다. 물론, 프로그래머의 모델에 나타나지 않은 다른 레지스터는 필요하다면 디버그 명령으로 액세스할 수 있다. 레지스터 기록시, 명령에 직접 접속한 두 전송을 포함하는 32비트는, 기록될 데이타를 제공한다.
메모리 판독 및 기록의 경우에서, 어드레스는 명령에 직접 접속한 두 전송에 의해 제공된 32비트의 어드레스에 의하여 특정된다. 기록에 대해, 기록될 바이트, 워드 또는 긴 워드는 어드레스에 접속된 하나 또는 두 전송에 의하여 제공된다. 메모리 판독에 대해, SFC 레지스터는, 사용될 기능 코드를 제공한다. 즉 SFC비트는 액세스된 어드레스 공간을 결정한다. 마찬가지로, 메모리 기록에 대해, DFC 레지스터는 사용될 기능 코드를 제공한다. 이것은 SFC 및 DFC가, 메모리 판독 및 기록 명령을 사용하기 전에 기록 시스템 레지스터 명령을 사용하여 적절하게 설정되어야 함을 의미한다.
하나 이상의 메모리로부터의 단일 오퍼런드가 액세스될 때, 메모리 블록 판독 및 기록 명령이 사용된다. 어느 명령도 블록 동작에 시작 어드레스를 설정하기 위해 판독 또는 기록 메모리 명령에 의해 선행되어야 한다. 일단 시작 어드레스가 설정되면, 일련의 블록 판독 및 기록은, 단지 오퍼런드 크기 및 기록중의 오퍼런드 자체를 공급하면 된다.
메모리 판독 및 기록을 실행하는 능력은, IMB(12), 외부 버스 인터페이스 및 다른 온-칩 주변 장치가 동작 백그라운드 디버그 모드에서 액티브(active) 중임을 의미하는 것에 주의해야 한다. 즉, 상기 장치는 동작 정지에 의해 FREEZE 신호에 응답하지 않는다. FREEZE는, 상기 기술된 바와 같이, 감시 타이머, 주지 인터럽트 발생기 등의 서브시스템(subsystems)이 적절한 방법으로 정규 명령 실행 재개시에 필요한 기계 문맥을 유지하기 위하여 응답하도록 처음에 제공된다.
사용할 수 있는 다른 가능한 디버그 모드 명령은, 명령 파이프 플러시없이 정규 명령 실행을 다시 시작하는 명령과, 마이크로코드 개정 번호(microcode revision number)와 같이 사용되는 마이크로컴퓨터(10)의 특정 버전에 대한 정보를 복귀 하는 명령을 포함한다. 판독 및 기록 메모리 명령은, 마이크로컴퓨터(10)의 온칩 주변기기를 제어하는 메모리-맵(memory-mapped) 레지스터를 액세스하는데 사용될 수 있음에 유의해야 한다. 예를 들면 SIM(16)내의 레지스터는, IMB(12)의 버스 싸이클의 외부 가시도 (visibility)를 제어하는 두 비트 필드를 포함한다. 상기 비트들은 백그라운드 디버그 모드에서 판독할 수 있고 기록할 수 있다.
상술한 바에서 명백하듯이, 유력한 개발 지원 특징을 갖는 데이타 프로세서가 제공된다. 상기 프로세서는, 외부의 대체 제어 경로가 프로세서에 명령을 제공하는데 사용되는 대체 동작 모드를 가진다. 상기 대체 경로에서 사용되는 접속은 다른 개발 지원 특징에 대해서만 동작 정규 모드로 사용되고, 그 결과 사용자 억세시블 시스템 자원은 접근할 수 없다. 대체 동작 모드에서 프로세서에 제공된 명령은, 개발 지원 특징을 개선하는데 필요한 부가 하드웨어를 최소화하기 위해 정규 명령 실행 장치에 의하여 실행된다.

Claims (2)

  1. 제1서브셋 명령이 실행되는 제1모드와, 제2서브셋 명령이 실행되는 제2모드를 포함하고, 다수의 명령을 순차적으로 실행하는 실행 수단(52, 53, 54)과, 상기 제1서브셋 명령을 제공할 때는 마스터 모드에서 동작하고 상기 제2서브셋 명령을 제공할 때는 슬레이브 모드에서 동작하며, 제1의 다수의 핀(직렬 I/O 핀)에 접속되고 제2의 다수의 핀(외부 버스 핀)에 접속되며, 제1의 서브셋 명령을 제공할 때 제1의 다수의 핀을 사용하고 제2의 서브셋 명령을 제공할 때는 제2의 다수의 핀을 사용하며, 통신 수단이 제1의 서브셋의 명령을 제공할 때는 제2의 다수의 핀은 사용되지 않거나 단지 개발 지원 기능만을 이용하는, 상기 실행 수단에 상기 다수의 명령을 제공하는 통신 수단(51, 50, 55)과, 제1모드와 제2모드의 작동 사이에서 스위칭하고, 상기 실행 수단이 상기 제1서브셋 명령의 명령을 실행하는 동안 상기 통신 수단이 상기 슬레이브 모드에서 동작하지 않도록 하는, 모드 스위치 수단(50, 55, BKPT 입력)을 포함하는 것을 특징으로 하는 데이타 프로세서.
  2. 중앙 처리 장치(11)로서, 1)어드레스를 기억하는 프로그램 카운터 수단(PC-제2도)과, 2) 제1의 동작 모드에서 제1의 다수의 명령을 실행하고, 제2의 동작 모드에서 제2의 다수의 명령을 실행하며, 명령 프리페치(prefetch) 요구를 생성하고, 명령 실행 순서를 결정하며, 상기 순서에 따라 프로그램 카운터 수단에 어드레스를 기억하는 실행 수단(52, 53, 54)과, 3) 중앙 처리 장치를 버스(12)에 연결시키고, 상기 실행 수단으로 부터의 하나의 상기 명령 프리페치 요구에 응답해서 버스 마스터로서 버스를 동작시켜 상기 프로그램 카운터 수단에 기억된 어드레스에 의해 특정된 메모리(14)의 위치로부터 상기 제1의 다수의 명령의 하나를 얻는, 버스 제어기 수단(50)을 포함하는 중앙 처리 장치(11)와, 상기 버스에 연결된 다수의 자원(13, 14, 15, 16)으로서, 상기 다수의 자원은 중앙 처리 장치의 제어하에 제1의 동작 모드동안 소정의 다수의 기능을 실행하고, 상기 소정의 다수의 기능은 데이타 프로세서가 실행할 수 있는 실질적인 모든 기능을 포함하는, 다수의 자원(13, 14, 15, 16)을 포함하는 집적 회로 데이타 프로세서로서, 외부 직렬 버스 마스터의 제어하에 상기 제2의 다수의 명령을 상기 실행 수단에 제공하고, 제1동작 모드에서 직렬 통신을 위해 동작하지 않는 직렬 통신 버스 수단(55)과, 제2동작 모드에서 상기 명령 프리페치 요구의 생성을 중지하고, 상기 제2동작 모드에서 상기 명령 실행 순서의 결정을 중지하며, 상기 제2동작 모드에서 상기 순서에 따라 상기 프로그램 카운터 수단(PC)에 어드레스를 기억하는 것을 중지하는, 실행 수단(52, 53, 54)과, 상기 제2동작 모드에서 상기 소정의 다수의 기능을 실행하도록 인에이블되는 다수의 자원(13, 14, 15, 16)을 더 포함하는 것을 특징으로 하는 집적 회로 데이타 프로세서.
KR1019880014070A 1987-10-30 1988-10-28 데이타 프로세서 KR970011212B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/115,479 US5084814A (en) 1987-10-30 1987-10-30 Data processor with development support features
US115,479 1987-10-30

Publications (2)

Publication Number Publication Date
KR890007157A KR890007157A (ko) 1989-06-19
KR970011212B1 true KR970011212B1 (ko) 1997-07-08

Family

ID=22361672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880014070A KR970011212B1 (ko) 1987-10-30 1988-10-28 데이타 프로세서

Country Status (5)

Country Link
US (1) US5084814A (ko)
EP (1) EP0313848B1 (ko)
JP (1) JPH01161448A (ko)
KR (1) KR970011212B1 (ko)
DE (1) DE3851033T2 (ko)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6522985B1 (en) 1989-07-31 2003-02-18 Texas Instruments Incorporated Emulation devices, systems and methods utilizing state machines
US5535331A (en) * 1987-09-04 1996-07-09 Texas Instruments Incorporated Processor condition sensing circuits, systems and methods
JPH0235524A (ja) * 1988-03-14 1990-02-06 Advanced Micro Devicds Inc バスコンパチブルプログラマブルシーケンサ
US6304987B1 (en) 1995-06-07 2001-10-16 Texas Instruments Incorporated Integrated test circuit
US5243700A (en) * 1988-12-30 1993-09-07 Larsen Robert E Port expander architecture for mapping a first set of addresses to external memory and mapping a second set of addresses to an I/O port
JPH0719215B2 (ja) * 1989-06-01 1995-03-06 三菱電機株式会社 マイクロプロセッサ
JPH0324677A (ja) * 1989-06-21 1991-02-01 Oki Micro Design Miyazaki:Kk Cpuコア
JP3005250B2 (ja) * 1989-06-30 2000-01-31 テキサス インスツルメンツ インコーポレイテツド バスモニター集積回路
US5212775A (en) * 1990-01-04 1993-05-18 National Semiconductor Corporation Method and apparatus for observing internal memory-mapped registers
EP0436211B1 (en) * 1990-01-04 2001-07-11 National Semiconductor Corporation Apparatus enabling observation of internal memory-mapped registers
JPH03204737A (ja) * 1990-01-08 1991-09-06 Nec Corp 信号処理プロセッサのデバッグ回路
US6675333B1 (en) * 1990-03-30 2004-01-06 Texas Instruments Incorporated Integrated circuit with serial I/O controller
EP0473280B1 (en) * 1990-08-31 1996-04-17 Advanced Micro Devices, Inc. Communication control system for a computer and peripheral devices
JPH05233352A (ja) * 1992-02-19 1993-09-10 Nec Corp マイクロプロセッサ
EP0562151B1 (de) * 1992-03-27 1998-12-23 Siemens Aktiengesellschaft Integrierter Mikroprozessor
GB2266606B (en) * 1992-04-27 1996-02-14 Intel Corp A microprocessor with an external command mode
GB2266605B (en) * 1992-04-27 1995-10-11 Intel Corp Microprocessor having a run/stop pin for accessing an idle mode
US5790834A (en) * 1992-08-31 1998-08-04 Intel Corporation Apparatus and method using an ID instruction to identify a computer microprocessor
FR2696561B1 (fr) * 1992-10-02 1994-12-23 Sgs Thomson Microelectronics Micro-calculateur pouvant fonctionner en mode d'émulation avec des périphériques internes et externes.
JP2932963B2 (ja) * 1994-01-21 1999-08-09 モトローラ・インコーポレイテッド 効率的なビット移動能力を有するデータ・プロセッサとその方法
US5488688A (en) * 1994-03-30 1996-01-30 Motorola, Inc. Data processor with real-time diagnostic capability
GB2289147B (en) * 1994-04-25 1998-04-15 Advanced Risc Mach Ltd Testing data processing apparatus
AU2279095A (en) * 1994-06-03 1996-01-04 Motorola, Inc. A dual function interface for pcmcia compatible peripheral cards and method of use therein
TW247949B (en) * 1994-11-10 1995-05-21 Motorola Inc Data processor with transparent operation during a background mode and method therefor
US5717931A (en) * 1994-12-20 1998-02-10 Motorola, Inc. Method and apparatus for communicating between master and slave electronic devices where the slave device may be hazardous
US5822550A (en) * 1994-12-22 1998-10-13 Texas Instruments Incorporated Split data path fast at-bus on chip circuits systems and methods
CN1279449C (zh) * 1994-12-28 2006-10-11 株式会社东芝 微处理器
JP2752592B2 (ja) * 1994-12-28 1998-05-18 日本ヒューレット・パッカード株式会社 マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法
US5737516A (en) * 1995-08-30 1998-04-07 Motorola, Inc. Data processing system for performing a debug function and method therefor
US5704034A (en) * 1995-08-30 1997-12-30 Motorola, Inc. Method and circuit for initializing a data processing system
EP0762280B1 (en) * 1995-08-30 2001-11-14 Motorola, Inc. Data processor with built-in emulation circuit
US5964893A (en) * 1995-08-30 1999-10-12 Motorola, Inc. Data processing system for performing a trace function and method therefor
US5544311A (en) * 1995-09-11 1996-08-06 Rockwell International Corporation On-chip debug port
US5969538A (en) 1996-10-31 1999-10-19 Texas Instruments Incorporated Semiconductor wafer with interconnect between dies for testing and a process of testing
US5964863A (en) * 1996-04-15 1999-10-12 Motorola, Inc. Method and apparatus for providing pipe fullness information external to a data processing system
US5771240A (en) * 1996-11-14 1998-06-23 Hewlett-Packard Company Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin
US5751735A (en) * 1996-11-14 1998-05-12 Hewlett-Packard Company Integrated debug trigger method and apparatus for an integrated circuit
KR100341651B1 (ko) * 1996-12-13 2002-11-23 가부시키가이샤 제이에스피 폴리올레핀계수지발포입자및그제조방법
US6065106A (en) * 1996-12-20 2000-05-16 Texas Instruments Incorporated Resuming normal execution by restoring without refetching instructions in multi-word instruction register interrupted by debug instructions loading and processing
JP3746367B2 (ja) * 1996-12-20 2006-02-15 テキサス インスツルメンツ インコーポレイテツド プロセッサ命令実行パイプラインにおける非侵入ソフトウェアブレークポイント
DE19747082C1 (de) * 1997-10-24 1999-01-28 Dspecialists Ges Fuer Innovati Schaltungsanordnung zur zeitweisen Deaktivierung einer Überwachungsschaltung für einen Mikroprozessor
US6016555A (en) * 1997-11-19 2000-01-18 Texas Instruments Incorporated Non-intrusive software breakpoints in a processor instruction execution pipeline
US6055649A (en) * 1997-11-19 2000-04-25 Texas Instruments Incorporated Processor test port with scan chains and data streaming
KR100265362B1 (ko) 1997-12-30 2000-09-15 김영환 직병렬 방식을 이용한 마이크로프로세서의 데이터송수신 방법
US6405335B1 (en) 1998-02-25 2002-06-11 Texas Instruments Incorporated Position independent testing of circuits
MY114837A (en) * 1998-03-23 2003-01-31 Jsp Corp Foamed and expanded beads of polypropylene resin for molding
US6145103A (en) * 1998-04-07 2000-11-07 Advanced Micro Devices, Inc. Emulator support mode for disabling and reconfiguring timeouts of a watchdog timer
SE9801678L (sv) 1998-05-13 1999-11-14 Axis Ab Datorchip och datoranordning med förbättrad avlusningsförmåga
SE520101C2 (sv) 1998-05-13 2003-05-27 Axis Ab Integrerad krets och metod för att förmå en intgrerad krets att exekvera instruktioner
DE69903593T2 (de) * 1998-06-11 2003-06-18 Jsp Corp Geformter Gegenstand aus geschäumten und expandierten Propylenperlen
US6145123A (en) * 1998-07-01 2000-11-07 Advanced Micro Devices, Inc. Trace on/off with breakpoint register
DE19835610A1 (de) * 1998-08-06 2000-02-10 Siemens Ag Programmgesteuerte Einheit und Verfahren zum Debuggen derselben
US7058862B2 (en) * 2000-05-26 2006-06-06 Texas Instruments Incorporated Selecting different 1149.1 TAP domains from update-IR state
US6728915B2 (en) 2000-01-10 2004-04-27 Texas Instruments Incorporated IC with shared scan cells selectively connected in scan path
US6591378B1 (en) * 2000-02-22 2003-07-08 Motorola, Inc. Debug controller in a data processor and method therefor
US6836882B2 (en) * 2000-03-02 2004-12-28 Texas Instruments Incorporated Pipeline flattener for simplifying event detection during data processor debug operations
US6769080B2 (en) 2000-03-09 2004-07-27 Texas Instruments Incorporated Scan circuit low power adapter with counter
US7237090B1 (en) 2000-12-29 2007-06-26 Mips Technologies, Inc. Configurable out-of-order data transfer in a coprocessor interface
US7287147B1 (en) * 2000-12-29 2007-10-23 Mips Technologies, Inc. Configurable co-processor interface
US7134116B1 (en) 2001-04-30 2006-11-07 Mips Technologies, Inc. External trace synchronization via periodic sampling
US7181728B1 (en) 2001-04-30 2007-02-20 Mips Technologies, Inc. User controlled trace records
US7185234B1 (en) * 2001-04-30 2007-02-27 Mips Technologies, Inc. Trace control from hardware and software
US7168066B1 (en) 2001-04-30 2007-01-23 Mips Technologies, Inc. Tracing out-of order load data
US7178133B1 (en) 2001-04-30 2007-02-13 Mips Technologies, Inc. Trace control based on a characteristic of a processor's operating state
US7069544B1 (en) 2001-04-30 2006-06-27 Mips Technologies, Inc. Dynamic selection of a compression algorithm for trace data
US7124072B1 (en) 2001-04-30 2006-10-17 Mips Technologies, Inc. Program counter and data tracing from a multi-issue processor
US7065675B1 (en) 2001-05-08 2006-06-20 Mips Technologies, Inc. System and method for speeding up EJTAG block data transfers
US7043668B1 (en) 2001-06-29 2006-05-09 Mips Technologies, Inc. Optimized external trace formats
US7231551B1 (en) 2001-06-29 2007-06-12 Mips Technologies, Inc. Distributed tap controller
DE10138918A1 (de) * 2001-08-08 2003-03-06 Infineon Technologies Ag Programmgesteuerte Einheit
US7159101B1 (en) 2003-05-28 2007-01-02 Mips Technologies, Inc. System and method to trace high performance multi-issue processors
CN1555005A (zh) * 2003-12-29 2004-12-15 ����ͨѶ�ɷ����޹�˾ 动态循环流水线的交叠式命令提交方法
US7788438B2 (en) * 2006-10-13 2010-08-31 Macronix International Co., Ltd. Multi-input/output serial peripheral interface and method for data transmission
US20100117242A1 (en) * 2008-11-10 2010-05-13 Miller Gary L Technique for packaging multiple integrated circuits

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1540923A (en) * 1975-12-01 1979-02-21 Intel Corp Programmable single chip mos computer
US4236204A (en) * 1978-03-13 1980-11-25 Motorola, Inc. Instruction set modifier register
US4231087A (en) * 1978-10-18 1980-10-28 Bell Telephone Laboratories, Incorporated Microprocessor support system
US4307445A (en) * 1978-11-17 1981-12-22 Motorola, Inc. Microprogrammed control apparatus having a two-level control store for data processor
US4296469A (en) * 1978-11-17 1981-10-20 Motorola, Inc. Execution unit for data processor using segmented bus structure
US4338660A (en) * 1979-04-13 1982-07-06 Relational Memory Systems, Inc. Relational break signal generating device
US4342078A (en) * 1979-05-21 1982-07-27 Motorola, Inc. Instruction register sequence decoder for microprogrammed data processor and method
US4486827A (en) * 1979-11-09 1984-12-04 Zilog, Inc. Microprocessor apparatus
US4312066A (en) * 1979-12-28 1982-01-19 International Business Machines Corporation Diagnostic/debug machine architecture
US4441154A (en) * 1981-04-13 1984-04-03 Texas Instruments Incorporated Self-emulator microcomputer
US4399870A (en) * 1981-10-22 1983-08-23 Hughes Tool Company Annulus operated test valve
JPS58105366A (ja) * 1981-12-16 1983-06-23 Fujitsu Ltd デバツグ機能を持つマイクロコンピユ−タ
JPS58129559A (ja) * 1982-01-26 1983-08-02 Nec Corp デバツガ
US4507727A (en) * 1982-02-11 1985-03-26 Texas Instruments Incorporated Microcomputer with ROM test mode of operation
JPS58223848A (ja) * 1982-06-23 1983-12-26 Oki Electric Ind Co Ltd マイクロプロセツサ
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
JPS59146352A (ja) * 1983-02-09 1984-08-22 Nec Corp シングル・チップ・マイクロコンピュータ
US4698750A (en) * 1984-12-27 1987-10-06 Motorola, Inc. Security for integrated circuit microcomputer with EEPROM
US4674089A (en) * 1985-04-16 1987-06-16 Intel Corporation In-circuit emulator
US4700293A (en) * 1985-05-14 1987-10-13 The United States Of America As Represented By The Secretary Of The Air Force Maintenance port system incorporating software development package
US4677586A (en) * 1985-06-04 1987-06-30 Texas Instruments Incorporated Microcomputer device having test mode substituting external RAM for internal RAM
JPS62197855A (ja) * 1986-02-25 1987-09-01 Matsushita Electric Ind Co Ltd マイクロコンピユ−タ
US4740882A (en) * 1986-06-27 1988-04-26 Environmental Computer Systems, Inc. Slave processor for controlling environments
US4710927A (en) * 1986-07-24 1987-12-01 Integrated Device Technology, Inc. Diagnostic circuit

Also Published As

Publication number Publication date
JPH01161448A (ja) 1989-06-26
DE3851033T2 (de) 1995-03-02
DE3851033D1 (de) 1994-09-15
EP0313848A3 (en) 1990-09-26
EP0313848B1 (en) 1994-08-10
EP0313848A2 (en) 1989-05-03
KR890007157A (ko) 1989-06-19
US5084814A (en) 1992-01-28

Similar Documents

Publication Publication Date Title
KR970011212B1 (ko) 데이타 프로세서
US5530804A (en) Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes
KR0168656B1 (ko) 데이터 처리 시스템
Heath Embedded systems design
EP0942372B1 (en) Processor with breakpoint circuit
US6145123A (en) Trace on/off with breakpoint register
US4633417A (en) Emulator for non-fixed instruction set VLSI devices
EP0528585B1 (en) Data processing system with internal instruction cache
US4635193A (en) Data processor having selective breakpoint capability with minimal overhead
US5488688A (en) Data processor with real-time diagnostic capability
US5758058A (en) Apparatus and method for initializing a master/checker fault detecting microprocessor
JP4190114B2 (ja) マイクロコンピュータ
US6085336A (en) Data processing devices, systems and methods with mode driven stops
US4782461A (en) Logical grouping of facilities within a computer development system
US5132971A (en) In-circuit emulator
US20020144235A1 (en) Debugging embedded systems
US20070220334A1 (en) Debugging system and method for use with software breakpoint
EP0942373B1 (en) Adapter device with a local memory and method for processor emulation
EP0942375B1 (en) Adapter device with a local memory and method for processor emulation
EP0942374B1 (en) Method and device to simulate interruptions for the emulation of a processor
US6425122B1 (en) Single stepping system and method for tightly coupled processors
EP0840223B1 (en) Microcomputer capable of accessing an external memory
EP0942371B1 (en) Debugging method for a microcomputer
US5497456A (en) Apparatus for transferring information between an interrupt producer and an interrupt service environment
Kline et al. The in-circuit approach to the development of microcomputer-based products

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111207

Year of fee payment: 15

EXPY Expiration of term