KR970011212B1 - 데이타 프로세서 - Google Patents
데이타 프로세서 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
-
- 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/2205—Detection 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/2236—Detection 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이 있다.
내부 모듈 버스 신호
상기 표에서 신호 방향은 CPU에 관하여 지정된 것을 참조.
외부버스 신호
별도(*)로 표시된 핀, 어드레스 핀(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 입력이 표명에 의해 기입될 수 있다.
여러 중단점 및 백그라운드 디버그 모드 기입 방법의 동작은 다음 표로 요약된다.
제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모드와, 제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 입력)을 포함하는 것을 특징으로 하는 데이타 프로세서.
- 중앙 처리 장치(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)을 더 포함하는 것을 특징으로 하는 집적 회로 데이타 프로세서.
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)
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)
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 |
-
1987
- 1987-10-30 US US07/115,479 patent/US5084814A/en not_active Expired - Lifetime
-
1988
- 1988-09-29 DE DE3851033T patent/DE3851033T2/de not_active Expired - Fee Related
- 1988-09-29 EP EP88116088A patent/EP0313848B1/en not_active Expired - Lifetime
- 1988-10-28 KR KR1019880014070A patent/KR970011212B1/ko not_active IP Right Cessation
- 1988-10-29 JP JP63274342A patent/JPH01161448A/ja active Pending
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 |