KR970011211B1 - 데이타 처리 장치 - Google Patents

데이타 처리 장치 Download PDF

Info

Publication number
KR970011211B1
KR970011211B1 KR1019880007973A KR880007973A KR970011211B1 KR 970011211 B1 KR970011211 B1 KR 970011211B1 KR 1019880007973 A KR1019880007973 A KR 1019880007973A KR 880007973 A KR880007973 A KR 880007973A KR 970011211 B1 KR970011211 B1 KR 970011211B1
Authority
KR
South Korea
Prior art keywords
signal
interrupt
mode
processor
instruction
Prior art date
Application number
KR1019880007973A
Other languages
English (en)
Other versions
KR890002779A (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
Priority claimed from JP62168086A external-priority patent/JPS6412340A/ja
Priority claimed from JP62214200A external-priority patent/JPS6458024A/ja
Application filed by 가부시기가이샤 히다찌세이사꾸쇼, 미다가쓰시 게 filed Critical 가부시기가이샤 히다찌세이사꾸쇼
Publication of KR890002779A publication Critical patent/KR890002779A/ko
Application granted granted Critical
Publication of KR970011211B1 publication Critical patent/KR970011211B1/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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Landscapes

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

Abstract

요약없음

Description

데이타 처리 장치
제1도는 본 발명이 적용된 마이크로 프로세서의 1실시예를 도시한 블럭도.
제2도는 상기 마이크로 프로세서가 사용되는 ICE 시스템의 개략적인 블럭도.
제3도는 제2도의 브레이크동작의 1예를 설명하기 위한 타이밍도.
제4도는 본 발명이 적용된 1칩 마이크로 컴퓨터의 1실시예를 도시한 블럭도.
제5도는 본 발명이 적용된 마이크로 프로세서의 다른 1실시예를 도시한 블럭도.
제6도는 본 발명이 적용된 1칩 마이크로 컴퓨터의 다른 실시예를 도시한 블럭도.
본 발명은 데이타 처리장치에 관한 것으로서, 마이크로 컴퓨터 시스템의 개발에 이용되는 에뮬레이터로서도 사용되는 것에 이용해서 유효한 기술에 대한 것이다.
마이크로 컴퓨터용의 소프트웨어의 개발에는 각종 개발지원장치가 이용된다. 그 대표적인 예로서 인서키트 에뮬레이터(ICE)가 널리 사용된다. 이 ICE 기능의 한가지로서는 사용자의 소프트웨어의 명령실행이 임의의 어드레스까지 진행하면 일시적으로 처리를 중단하고, 그때의 마이크로 컴퓨터의 상태를 표시하는 소위 어드레스 브레이크기능이 있다. 이 브레이크기능을 실현하기 위하여 마이크로 컴퓨터의 인터럽트기능의 한가지인 마스크불가능 인터럽트(
Figure kpo00001
)를 사용한다. 즉, 사용자 프로그램이 브레이크를 걸고자하는 어드레스까지 진행해 가면, 그것을 검출해서 마이크로 컴퓨터에
Figure kpo00002
요구를 입력한다. 마이크로 컴퓨터는
Figure kpo00003
요구를 수리하면, 사용자 프로그램을 일시 중단하고 ICE 측으로 제어를 이행한다. 이것에 의해, 마이크로 컴퓨터는 ICE 프로그램 실행을 개시하고, 그것에 따라서 내부상태의 표시 등을 실행한다. 또, 다른 방법으로서는 브레이크를 걸고자 하는 어드레스를 검출하면, 그때의 명령을 인터럽트 요구명령(SWI)으로 변경하고 그것을 실행하는 것에 의해서 상기와 동일한 사용자 프로그램의 일시 중단을 하고 ICE측으로 제어를 이행한다.
이와 같은 ICE의 예로서는 예를들면 히다치세사쿠쇼(주)에 의해 1985년 9월에 발행된 "히다치 마이크로 컴퓨터 시스템 6305UO/6305VO 에뮬레이터 사용자 매뉴얼"이 있다.
그런데, 정보처리속도의 고속화를 위해서 명령푸시다운 페치기능을 갖는 마이크로 컴퓨터가 개발되고 있다. 이 경우, 프로그램의 페치어드레스와 실제로 실행하는 명령의 어드레스 사이에 어긋남이 발생한다. 그 때문에, 상기와 같이
Figure kpo00004
요구에 의한 브레이크에서는 실행되지 않은 명령의 어드레스에서 즉시 브레이크가 발생한다는 문제가 있다. 이와 같은 경우, 상기와 같이 브레이크를 걸고자 하는 어드레스를 검출하면, 그때의 명령을 SWI(소프트웨어 인터럽트로 치환하는 방법을 사용하면 좋다. 그러나, 상기 명령을 치환하기 위해서는 프로그램이 저장되는 메모리장치와 마이크로 컴퓨터가 결합되는 버스를 스위칭해서 상기 명령어 SWI의 입력을 실행하는 것이 필요하게 된다. 이 경우, 상기와 같이 고속화가 도모된 마이크로 컴퓨터에 있어서는 상기 명령의 페치가 고속으로 되기 때문에, 상기 버스의 스위칭이 제때에 이루어지지 않아 상기와 같이 브레이크를 실현할 수 없게 된다.
또, 상기와 같이 사용자 프로그램의 브레이크를 위해
Figure kpo00005
나 SWI를 사용하면 사용자 프로그램이 상기
Figure kpo00006
나 SWI와 같이 인터럽트 처리를 그대로 사용할 수 없게 되어 버리는 제약을 받게 된다. 그리고, 마이크로 컴퓨터의 데이타처리기능이 ICE측의 프로그램의 시행으로 이행한 것을 검출하기 위해서, 외부회로를 마련하는 것이 필요하다. 이 때문에, 상기 외부회로 분만큼 ICE의 부품수가 많아지게 된다.
본 발명의 목적은 간단한 구성에 의해 고속이고 확실한 브레이크기능을 갖는 데이타 처리장치를 제공하는 것이다.
본 발명의 다른 목적은 다기능화를 실현한 데이타 처리장치를 제공하는 것이다.
본 발명의 상기 및 그밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부 도면에서 명확하게 될 것이다.
본원에 있어서 개시되는 발명중 대표적인 것의 개요를 간단하게 설명하면, 다음과 같다. 즉, 외부에서 공급되는 신호에 의해 기억회로에 저장된 명령어 또는 데이타를 스위칭해서 입력하는 회로를 마련한다. 또, 특정의 동작모드설정에 의해서 일반적인 인터럽트와는 다른 인터럽트기능을 마련하는 것이다.
상기한 수단에 의하면, 페치된 프로그램과 특정의 명령 또는 데이타가 내부회로에 의해 치환되기 때문에, 고속이고 확실한 브레이크 등을 실현할 수가 있다. 또, 특정의 동작모드의 설정을 실행하면 상기의 특별한 인터럽트기능을 사용하는 것에 의해서, 통상의 인터럽트처리를 포함하는 사용자 프로그램의 브레이크를 간단하게 실행할 수가 있다.
실시예 1
제1도에는 본 발명이 적용된 마이크로 프로세서의 1실시예의 블럭도가 도시되어 있다. 동일 도면의 마이크로 프로세서는 특히 제한되지는 않지만, 공지된 반도체 집적회로의 제조기술에 의해서 단결정 실리콘과 같은 1개의 반도체기판상에 형성된다.
이 실시예의 마이크로 프로세서는 산술논리연산유닛 ALU, 명령레지스터 ISTR, 이 레지스터 ISTR에 저장된 명령어를 해독해서 그 실행에 필요한 각종 제어신호를 형성하는 마이크로 프로세서 ROM(이하, mROM이라 한다). 후술하는 바와 같은 각종 레지스터 및 상기 산술논리연산유닛 ALU와 레지스터 REG의 제어를 실행하는 제어회로 REG/ALUC 등으로 구성된다.
예를들면, 프로그래머가 이용할 수 있는 레지스터로서는 다음과 같은 것이 있다.
프로그램 카운터 PCI, PCH는 예를들면 8비트구성의 마이크로 프로세서에서는 2바이트(6비트) 레지스터로서, 현재의 프로그램 어드레스를 표시하는 기능을 한다. 인크리멘터 INL, INH는 상기 프로그램 카운터 PCI, PCH의 인크리먼트(+1)의 동작을 실행한다. 레지스터 TEP는 일시 레지스터이다. 스택포인터 SPI, SPH는 2바이트 레지스터로서, 외부의 푸시다운/팝아웃(push-down/pop-out)스택영역내에 있어서 다음에 실행되는 스택조작시에 유효한 어드레스를 표시하는 기능을 한다. 스택영역에는 통상 RAM(Random Access Memory)이 사용되고, 그것은 임의의 어드레스에 배치할 수가 있다. 전원공급이 중단되었을때 스택내의 정보를 보존하고자 하는 용도의 경우에는 스택영역에 사용되는 RAM에는 배터리백업(battery backup) 기능이 부가된다.
인덱스 레지스터 INXL, INXH는 2바이트의 레지스터로서, 메모리 어드레싱의 인덱스모드에서 사용되는 데이타 또는 16비트의 메모리 어드레스를 저장하기 위해 사용된다.
어큐뮬레이터 ACCA, ACCB는 오퍼랜드나 산술논리연산유닛 ALU로부터의 연산결과를 일시적으로 저장하는 기능을 한다.
조건코드 레지스터 CC는 산술논리연산유닛 ALU의 연산결과의 상태를 표시한다. 예를들면, 네거티브, 제로, 오버플로우, 비트 7로부터의 캐리, 비트 3으로부터의 하프캐리 등의 각 플래그가 있다. 또, 인터럽트 마스크비트도 갖는다. 이 마스크비트가 세트되어 있으면,
Figure kpo00007
(inteetupt request)단자로부터의 인터럽트는 수리되지 않는다. 상기 마스크비트가 리세트상일때,
Figure kpo00008
단자에서 인터럽트신호가 공급되면, 실행중인 명령사이클이 완료한 후에 인터럽트 시퀀스가 개시된다. 즉, 상기 프로그램카운터 PCL, PCH, 인덱스 레지스터 INXI, INXH, 어큐뮬레이터 ACCA, ACCB, 조건코드 레지스터 CC의 내용이 스택상에 저장된다. 그리고, 상기 마스크비트를 세트해서 그 이상의 인터럽트 (
Figure kpo00009
)를 수리하지 않도록 한다. 특정의 메모리 어드레스에 저장되어 있는 어드레스가 프로그램 카운터에 저장되고, 이 프로그램카운터가 표시하고 있는 인터럽트 시퀀스로 분기한다.
제어회로 REG/ALUC는 상기 mROM으로부터의 출력과 조건코드 레지스터 CC의 내용 및 분기조건 제어를 실행하는 제어회로 BCC의 지시에 따라서, 상기 각종 레지스터의 선택 및 그의 동작제어와 산술논리연산유닛 ALU의 제어를 실행한다.
타이밍 발생회로 TG는 상기 mROM의 출력 및 후술하는 인터럽트 제어회로 INTC로부터의 출력에 따라서, 상기 제어회로 REG/ALUC 및 명령레지스터 ISTR의 동작에 필요한 타이밍신호를 발생한다.
인터럽트 제어회로 INTC는 외부에서 공급되는
Figure kpo00010
신호 및
Figure kpo00011
신호를 받아서 인터럽트 처리를 위한 제어신호를 형성한다. 정지제어회로 HLTC는 외부에서 공급되는
Figure kpo00012
신호를 받아서 마이크로 프로세서는 명령의 실행을 실행하고, 그것이 저레벨로 되면 정지상태로 된다. 이 정지상태에서 마이크로 프로세서는 실질적으로 시스텝버스에서 분리된다. 리세트 제어신호 RESC는 외부에서 공급되는 신호
Figure kpo00013
를 받아서 리세트동작의 제어를 실행한다. 예를들면, 이 신호
Figure kpo00014
는 마이크로 프로세서를 전원의 오프상태에서 리세트하고 개시시킬 때 사용된다. 또, 마이크로 프로세서가 개시된 후 임의의 시점에서 다시 초기화를 실행하는 경우에도 사용된다.
이 실시예에서는 특히 제한되지 않지만, 고속의 데이타처리를 위해서 명령푸시다운 페치기능이 부가된다. 이 때문에, 데이타버스단자에서 입력되는 명령어 또는 데이타는 명령유지회로를 구성하는 FIFO(선입선출)를 통해서 상기 명령 레지스터 ISTR로 전달된다.
이 실시예에서는 고속이고 또한 확실하게 임의의 실행어드레스에서의 브레이크를 실행시키는 기능을 부가하기 위해서, 상기 FIFO의 입력부에는 멀티플렉서 MPX가 마련된다. 이 멀티플렉서 MPX의 한쪽의 입력은 데이타버스(DAT BUS)에 결합된다. 상기 멀티플렉서 MPX의 다른쪽의 입력에는 패턴발생회로 PTG의 출력신호가 공급된다. 이 패턴발생회로 PTG는 기억회로에 의해 구성되고, 예를들면 상기 SWI 명령이 저장되어 있다. 상기 멀티플렉서 MPX는 외부에서 공급되는 트리거신호 TRG에 의해서 그이 스위칭제어가 실행된다. 이 SWI 명령이 실행되면, 특히 제한되지 않지만 제어회로 REG/ALUC에서 인터럽트가 수리된 것을 표시하는 신호
Figure kpo00015
가 출력된다.
상기 데이타버스(DATA BUS)는 3상태 출력회로 TSB를 거쳐서 내부의 데이타버스에 결합된다.
이 실시예의 마이크로 프로세서는 데이타버스단자에서 멍령을 계속해서 리드하여 상기 FIFO에 저장한다. 이 경우, 상기 트리거신호 TRG는 예를들면 저레벨로 되어 멀티플렉서 MPX가 데이타버스측으로 스위칭되어 있다. 따라서, 외부의 메모리장치에서 페치되는 프로그램 등은 상기 데이타버스 단자(DAT BUS)를 통해서 입력되고, 상기 멀티플렉서 MPX 및 FIFO를 거쳐서 리드된 명령을 계속해서 해독하고 그것을 실행한다. 이 데이타처리에 있어서 형성된 데이타는 3상태 출력회로 TSB를 거쳐서 상기 데이타단자에서 출력된다. 상기 프로그램 카운터에 의해 형성되는 어드레스정보는 백터어드레스 발생회로 VAG 및 어드레스버퍼 ADB를 통해서 어드레스버스단자(ADD BUS)에서 출력되고, 상기 명령어가 저장된 ROM(Read Only Memory) 또는 ROM의 어드레스지정과 상기 출력하는 데이타의 전송지를 표시하는 RAM등의 어드레스지정이 실행된다. 또, 벡터어드레스 발생회로 VAG는 예를들면 상기 NMI 인터럽트일 때에는 $FFFC, FFFD, 상기 IRQ 인터럽트일때에는 $FFF8, FFF9의 어드레스를 발생시켜 인터럽트 서비스루틴으로 이행한다.
제2도에는 상기 구성의 마이크로 프로세서를 타겟 마이크로 프로세서 TMPU로서 사용한 ICE의 1실시예의 블럭도가 도시되어 있다.
이 실시예에 있어서 상기 마이크로 프로세서 TMPU는 사용자공간 UB와 ICE 시스템공간 SB'의 제어를 맡는다. ICE의 시스템공간 SB에는 메인 마이크로 프로세서 MMPU와 그것에 대응해서 마련된 메모리회로 RAMI 및 ROMI, 플로피 메모리회로 FDD나 콘솔 CRT 및 프린터 PRT 등에 접속되는 입출력 인터페이스 회로 I/O, 트레이스회로 TRC, 브레이크회로 BKC, 메모리회로 RAM2가 있다. 상기 트레이스회로 TRC와 브레이크회로 BKC는 셀렉터 SEL2에 의해 상기 메인 마이크로 프로세서 MMPU 또는 타겟 마이크로 프로세서 TMPU에 접속된다. 또, 메모리회로 RAM2는 셀렉터 SEL1에 의해 상기 메인 마이크로 프로세서 MMPU 또는 타겟 마이크로 프로세서 TMPU에서 선택적으로 액세스 가능하게 된다. 상기 타겟 마이크로 프로세서 TMPU는 상기와 같이 셀렉터 SEL1이나 SEL2를 거쳐서 시스템 공간 SB에 접속되지만, 메인 마이크로 프로세서 MMPU의 관리하에서 동작을 실행한다.
예를들면, 콘솔 CRT에서 브레이크 코맨드와 브레이크 어드레스가 입력되면, 메인 마이크로 프로세서 MMPU는 입력된 브레이크 콘맨드를 메모리회로 RAM2에 라이트하고 브레이크 어드레스를 브레이크회로 BKC내의 레지스터에 라이트한다.
브레이크회로 BKC는 어드레스 비교회로를 갖고 있고, 상기 레지스터에 기억된 브레이크 어드레스와 타겟 마이크로 프로세서 TMPU에서 출력되는 어드레스 신호(사용자 공간 UB의 어드레스버스의 어드레스신호)를 비교한다. 이때, 셀렉터 SEL3은 상기 마이크로 프로세서 TMPU에서 출력되는 브레이크 허가신호
Figure kpo00016
의 고레벨에 의해 마이크로 프로세서 TMPU와 사용자공간 UB를 접속하고 있다. 즉, 브레이크가 수리될 때까지 제3도의 타이밍도에 도시한 바와 같이, 브레이크 허가신호
Figure kpo00017
가 고레벨에 있는 동안 타겟 마이크로 프로세서 TMPU는 사용자공간 UB에 있어서의 도시하지 않은 ROM 등에 저장된 개발할 프로그램에 따른 데이타 처리동작을 실행하고 있다.
브레이크 어드레스와 타겟 마이크로 프로세서 TMPU의 실행어드레스가 일치하면, 브레이크회로 BKC는 브레이크회로 BAK를 저레벨에서 고레벨로 변화시킨다. 이것에 의해, 타겟 마이크로 프로세서 TMPU는 그것을 트리거신호 TRG로서 SWI 명령을 삽입한다. 그리고, 후술하는 바와 같이 브레이크가 실행되면, 상기 신호
Figure kpo00018
가 저레벨의 액티브로 된다. 셀렉터 SEL3은 상기 신호
Figure kpo00019
의 저레벨에 따라서, 타겟 마이크로 프로세서 TMPU에서 사용자공간 UB를 분리시킴과 동시에 메모리회로 ROM3 및 RAM3을 접속시킨다. 상기 브레이크되었을때의 타겟 마이크로 프로세서 TMPU의 프로그램카운터 PCL, PCH, 조건코드 레지스터 CC등의 내용은 메모리회로 RAM3내에 스택된다. 그후, 타겟 마이크로 프로세서 TMPU는 메모리회로 ROM3내의 프로그램에 따라서 메모리회로 RAM2내의 코맨드를 해석하고, 메모리회로 RAM3내에 라이트된 프로그램카운터 PCL, PCH, 조건코드 레지스터 CC 등의 내용을 페치해서 메모리회로 RAM2에 라이트한다. 메모리회로 RAM2에 라이트된 상기 정보는 메인 마이크로 프로세서 MMPU가 메모리 회로 ROM1의 프로그램에 따라서 동작하는 방식으로 페치해서 입출력 인터페이스 회로 I/O를 통해서 표시된다.
상기 신호
Figure kpo00020
는 타겟 마이크로 프로세서 TMPU가 메모리회로 ROM3에 라이트된 리턴명령을 실행하는 것에 의해서 저레벨에서 고레벨로 되돌아간다.
모드설정회로 MDC는 타겟 마이크로 프로세서 TMPU의 동작모드신호를 발생한다.
상기 타겟 마이크로 프로세서 TMPU는 제1도에 있어서 상기 트리거신호 TRG(브레이크신호 BRK)가 고레벨로 되면, 멀티플렉서 MPX를 패턴발생회로 PTG측으로 스위칭한다. 이것에 의해서, 상기 어드레스에 저장되어 있던 프로그램어는 상기 패턴발생회로 PTG에 저장된 SW1 명령으로 치환되어 FIFO에 입력된다.
이 FIFO를 통해서 상기 SW1 명령이 명령레지스터 ISTR에 입력되면, 그의 실행에 의해서 상기 인터럽트처리와 마찬가지로 상기 프로그램카운터 \PCL, PCH, 인덱스레지스터 INXL, INXH, 어큐뮬레이터 ACCA, ACCB, 조건코드 레지스터 CC의 내용이 스택상에 저장된다. 그리고, 상기 마스크비트를 세트해서 그 이상의 인터럽트를 수리하지 않도록 한다. 그리고, 프로그램카운터 PCL, PCH에 예를들면 상기 인터럽트와 마찬가지로 $FFF8, FFF9가 세트되고, 이 어드레스에 저장되어 있는 인터럽트 시퀀스로 분기한다. 이와 같이 해서 브레이크가 실행되고, 마이크로 프로세서는 사용자 프로그램에서 상기 제2의 메모리회로 ROM3에 저장된 ICE 시스템 프로그램으로 이행하고 예를들면 상기와 같이 마이크로 프로세서의 내부상태를 출력하기 위한 데이타처리를 실행하게 된다. 또, 마이크로 프로세서 MPU가 감시장치(watchdog) 타이머회로를 내장하는 경우, 상기 SWI 명령에 의한 브레이크동작에 따라서 그의 타이머동작이 무효로 된다.
상기 브레이크상태를 외부로 출력시키는 신호 BACK과 통상의 SWI 명령에 의한 인터럽트를 구별하기 위해서, 상기 트리거신호 TRG가 입력된 것을 유지하는 래치회로를 마련해서, 이 래치회로의 출력과 상기 SWI 명령의 실행에 의해 형성되는 신호와의 논리곱을 출력시키면 좋다.
상기 패턴발생회로 PTG에 의한 SWI 명령의 삽입을 사용자에게 개방시키는 것을 원치 않는 경우에는 예를들면 후술하는 바와 같은 모드설정단자와 모드결정회로를 마련하고, 그것에 의해서 ICE 모드를 지정했을때에만 상기 트리거신호 TRG의 입력을 유효로 하도록 하면 좋다. 즉, 상기 구성의 마이크로 프로세서를 ICE에 사용하는 경우에는 상기 모드설정단자로 그것을 표시하는 신호가 공급된다. 모드결정회로는 상기 모드설정단자의 신호레벨을 해독해서 모드신호를 고레벨(논리 "1")로 하고, 이 모드신호에 의해 제어되는 앤드게이트회로를 거쳐서 상기 트리거신호 TRG를 입력하도록 하면 좋다.
상기 사용자 프로그램의 브레이크를 고신뢰성으로 실행하도록 하는 경우에는 비교회로를 마련한다. 예를들면, 마이크로 프로세서가 SWI 명령을 해독했을때에는 후술하는 바와 같은 비교회로에 의해서 ICE 모드인지 아닌지를 판정시키고, ICE 모드일때에만 그것을 실행하도록 한다. 이 경우에는 상기 트리거신호 TRG를 입력하는 앤드게이트회로는 생략해도 좋다. 이 구성에 있어서는 사용자 프로그램에 있어서 SWI 명령을 그대로 사용하는 것이 가능하게 된다. 따라서, ICE 모드와 사용자모드에서는 인터럽트 서비스루틴의 어드레스를 다르게 해서 배치해도 좋다.
이 실시예에서는 외부에서 공급되는 신호에 의해 기억회로에 저장된 명령어 SWI를 스위칭해서 실질적으로 입력하는 것이므로, 고속이고 또한 확실한 브레이크 등을 실현할 수 있게 된다. 그리고, 상기 실시예 예와 같이 명령푸시다운 페치기능을 갖는 경우에도 어드레스검출에 의해 스위칭하는 것이므로, 브레이크 하고자 하는 어드레스에 SWI 명령을 삽입할 수 있게 된다.
또, 인터럽트단자를 사용하지 않으므로, 사용자 프로그램중에 인터럽트신호
Figure kpo00021
Figure kpo00022
등을 사용할 수가 있다. 모드결정회로 등을 마련하면, 사용자 프로그램중에 SWI 명령을 삽입하는 것도 가능하게 된다. 상기 브레이크중인 것을 외부단자로 출력시키는 기능을 부가하는 것에 의해서, 외부에 특별한 회로를 부가하는 것이 불필요하게 되어 에뮬레이터 시스템의 간소화를 실현할 수 있는 것이다.
실시예 2
제4도는 본 발명이 적용된 1칩 마이크로 컴퓨터의 1실시예의 블럭도가 도시되어 있다.
동일도면에 있어서 점선으로 둘러싸인 부분은 집적회로 LSI로서, 여기에 형성된 각 회로블럭은 전체로서 1칩 마이크로 컴퓨터를 구성하고 있으며, 공지된 반도체 집적회로의 제조기술에 의해서 단결정 실리콘과 같은 1개의 반도체기판상에 형성된다.
CPU로 표시되어 있는 것은 프로세서로서, 그의 주요구성 블럭이 대표로서 예시적으로 도시되어 있다.
A는 어큐뮬레이터, X는 인덱스 레지스터, CC는 조건코드 레지스터, SP는 스택포인터, PCH, PCL은 프로그램카운터, CPU-CONT는 CPU 컨트롤러, ALU는 산술논리연산유닛이다.
이와 같은 프로세서 CPU의 구성은 예를들면 음사(주)에서 1978년 4월 10일에 발행한 야다 고지(失田 光治)저의 "마이크로 컴퓨터의 기초"에 의해서 공지되어 있고, 각 레지스터기능이 개략은 상기에서 설명한 것과 마찬가지이므로 그의 상세한 생략한다.
PO1~PO4로 표시되어 있는 것은 입출력 포트로서, 그의 내부에 데이타전송방향 레지스터를 포함하고 있다. 상기 입출력 포트 PO3과 PO4는 8비트씩의 데이타의 입출력에 사용되는 것 이외에, 후술하는 버스 BUS에 포함되는 어드레스신호를 외부로 송출하는 기능을 갖는다. 예를들면, 입출력 포트 PO3과 버스 BUS사이에 멀티플렉서가 마련되고, 그의 스위칭에 의해서 데이타와 어드레스 스위칭이 실행된다. 또, 입출력 포트 PO4는 동작모드의 설정에 따라서 데이타 입출력 포트 또는 어드레스 출력포트로 된다.
상기 입출력포트 PO2 특히 제한되지는 않지만 6개의 단자로 이루어지고, 그의 데이타방향 레지스터에 의해서 입출력방향이 결정된다. 6비트의 출력버퍼는 3상태 출력버퍼로 되어 있고, 입력으로서 사용하는 경우에 출력버퍼는 고임피던스상태로 된다. 입출력포트 PO2의 4개의 단자는 리세트기간중 모드프로그래밍용으로 사용된다. 리세트시의 이 4개의 단자의 레벨은 입출력포트 PO2의 래치회로에 유지된다. 상기 4개의 단자를 사용한 모드설정의 종류는 예를들면 단일 칩 모드, 확장(expanded) 멀티플렉스 모드, 확장, 비멀티플렉스 모드 및 상기와 같은 ICE 모드이다. 이와 같은 모드의 식별은 모드결정회로 MODE에 의해서 실행된다. 이 실시예의 모드결정회로 MODE는 상기와 같이 다른 신호단자와 공용되는 것이므로, 시스템 리세트신호 RES가 공급되었을때 상기 단자에서 공급된 모드 설정신호가 유효로 된다. 즉, 모드의 설정을 새로 실행하는 경우에는 마이크로 프로세서를 리세트시키는 것을 조건으로 한다.
OSC로 표시되어 있는 것은 발진회로로서, 특히 제한되지는 않지만 외부에 부착되는 수정진동자 Xtal을 이용해서 고정밀도의 기준주파수신호를 형성한다.
이 기준주파수신호에 의해 마이크로 프로세서 CPU에 있어서 필요하게 하는 클럭펄스가 형성된다. 또, 상기 기준주파수신호는 타이머의 기준시간펄스로서도 사용된다. 이 타이머는 카운터 COUT, 프리스케일러(prescaler)PR 및 컨트롤러 CONT에 의해서 구성된다. 이들 타이머에는 감시장치 타이머회로도 포함된다.
RAM으로 표시되어 있는 것은 랜덤억세스메모리로서, 예를들면 일시데이타의 기억회로, 스택영역 또는 범용레지스터로서 사용되다.
ROM으로 표시되어 있는 것은 리드온리메모리로서, 주로 각종 정보처리를 위한 프로그램 등이 라이트된다. 이 ROM은 마스크형 ROM 이외에 소거불능으로 된 EPROM(erasable and programmable ROM) 등에 의해 구성된다.
이상의 각 회로블럭은 마이크로 프로세서 CPU를 중심으로 해서 버스 BUS에 의해 상호 접속되어 있다. 이 버스 BUS에는 데이타버스와 어드레스버스가 포함되어 있는 것이다.
인터럽트 제어신호 INTC는 상기와 같은 인터럽트신호
Figure kpo00023
,
Figure kpo00024
에 대한 인터럽트 제어동작을 실행하는 것이다. 또, 동일도면에 있어서는 ICE모드에서의 브레이크상태를 출력하는 출력단자
Figure kpo00025
도 상기 인터럽트 제어회로 INTC를 통해서 출력되도록 도시되어 있다.
또한, 상기 인터럽트 제어회로 INTC에 상기 정지제어회로 HLTC나 리세트 제어신호 RESC를 포함시키는 것이어도 좋다. 이 경우에는 이것에 따른 입력신호
Figure kpo00026
,
Figure kpo00027
가 공급된다. 또, 이와 같은 인터럽트 등의 입력단자는 상기 입력포트 PO1~PO4중의 어느 단자를 공용하는 것으로 해도 좋다.
이 실시예에서는 상기와 마찬가지로 마이크로 프로세서 CPU에 멀티플렉서 MPX 및 패턴발생회로 PTG가 마련된다. 멀티플렉서 MPX는 트리거신호 TRG에 의해서 그의 스위칭이 제어된다. 이 실시예에 있어서는 상기 모드결정회로 MODE에 의해 ICE모드가 지시되었을 때에만 상기 트리거신호 TRG의 입력이 유효로 된다. 특히 제한되지는 않지만, ROM에 저장된 프로그램의 실행중에 어드레스신호를 어느 하나의 포트를 거쳐서 외부로 출력시킨다. 이것을 모니터해서 특정의 어드레스를 검출했을 때 상기 트리거신호 TRG를 입력하는 것에 의해서 상기와 마찬가지의 SWI 명령에 의한 브레이크가 가능하게 된다. 이 때, 모드결정회로 MODE에는 ICE모드가 지시되는 것음 물론이다. 이 실시예에 있어서도 상기와 마찬가지로 SWI명령에 의한 인터럽트는 ICE모드일 때에만 유효로 된다.
그리고, 그의 브레이크 중임을 나타내는 신호를 단자 BACK에서 출력시킬 수가 있다.
또, 상기 모드결정회로 MODE로의 입력지정에 의해서, 통상모드에서의 트리거신호 TRG의 입력을 무효로 할 수 있는 것이다.
실시예 3
제5도에는 본 발명이 적용된 마이크로 프로세서의 다른 1실시예의 블럭도가 도시되어 있다. 동일도면의 마이크로 프로세서는 특히 제한되는 않지만, 공지된 반도체 집적회로의 제조기술에 의해서 단결정 실리콘과 같은 1개의 반도체 기판상에 형성된다.
프로세서 MPU의 기본적인 구성은 상기 제1도의 설명에서 이해할 수 있는 바와 같이 또는 히다치세사쿠쇼(주)에 의해 1985년 9월에 발행된 "히다치 마이크로 컴퓨터 데이타북"등과 같은 각종 문헌에 의해서 널리 알려져 있으므로 그 내부를 도시하지 않지만, 산술논리연산유닛, 명령레지스터, 이 명령레지스터에 저장된 명령어를 해독해서 그의 실행에 필요한 각종 제어신호 및 타이밍신호를 발생하는 명령디코더, 각종 레지스터 및 상기 산술논리연산유닛과 레지스터의 제어를 실행하는 제어회로 등으로 구성된다.
예를들면, 프로그래머가 이용할 수 있는 레지스터로서는 상기와 마찬가지로 다음과 같은 것이 있다. 프로그램 카운터는 예를들면 8비트 구성의 마이크로 프로세서에서는 2바이트(16비트)레지스터이고, 현재의 프로그램 어드레스를 표시하는 기능을 한다. 스택포인터는 2바이트 레지스터로서, 외부의 푸시다운/팝아웃 스탭영역내에 있어서 다음에 실행될 스택조작시에 유효한 어드레스를 표시하는 기능을 한다. 스택영역에는 통상 RAM이 사용되고, 그것은 임의의 어드레스에 배치할 수가 있다. 전원공급이 중단되었을 때 스택내의 정보를 보존하고자 하는 용도의 경우에는 스택영역에 사용되는 RAM에는 배터리 백업기능이 부가된다.
인덱스 레지스터는 2바이트의 레지스터로서, 메모리어드레싱의 인덱스모드에서 사용되는 데이타 또는 16비트의 메모리어드레스를 저장하기 위해 사용된다.
어큐뮬레이터는 오퍼랜드나 산술논리연산유닛으로부터의 연산결과를 일시적으로 저장하는 기능을 한다.
조건코드 레지스터는 산술논리연산유닛의 연산결과상태를 표시한다. 예를들면, 네거티브, 제로, 오버플로, 비트 7로부터의 캐리, 비트 3으로부터의 하프캐리 등의 각 플래그가 있다. 또, 인터럽트 마스크비트도 갖는다. 이 마스크비트가 세트되어 있으면,
Figure kpo00028
단자로부터의 인터럽트는 수리되지 않는다. 상기 마스크비트가 리세트상태일때,
Figure kpo00029
단자에서 인터럽트 신호가 공급되면, 실행중에 있는 명령사이클의 완료후에 인터럽트 시퀀스가 개시된다. 즉, 상기 프로그램카운터, 인덱스 레지스터, 어큐뮬레이터, 조건코드 레지스터의 내용이 스택상에 저장된다.
그리고, 상기 마스크비트를 세트해서 그 이상의 인터럽트 (
Figure kpo00030
)를 수리하지 않도록 한다. 그후, 특정의 메모리어드레스에 저장되어 있는 어드레스가 프로그램 카운터에 저장되고, 이 프로그램 카운터가 표시하고 있는 인터럽트 시퀀스로 분기한다. 상기 조건코드 레지스터는 특히 제한되지는 않지만, 상기 각 플래그 이외에 후술하는 바와 같은 브레이크 요구신호에 대한 허가를 표시하는 플래그를 갖도록 한다.
내장되는 입출력장치 IOC는 특히 제한되지 않지만, RAM, 타이머회로 및 MPU의 내부동작상태를 감시하는 감시장치 타이머회로 등을 포함한다. 상기 RAM은 상기 스택영역 또는 범용레지스터로서 사용할 수가 있다.
상기 마이크로 프로세서 MPU는 데이타단자에서 리드한 명령을 계속해서 실행하고, 그 실행에 의해 형성된 데이타를 상기 데이타단자에서 출력한다. 상기 프로그램 카운터에 의해 형성되는 어드레스는 어드레스단자에서 출력되고, 상기 명령어가 저장된 ROM 또는 RAM의 어드레스 지정 및 상기 출력되는 데이타의 전송지를 표시하는 RAM 등의 어드레스지정이 실행된다.
상기와 같은 마이크로 프로세서 MPU에 대해서 다음의 회로가 부가된다.
1 내지 여러개로 이루어지는 모드설정단자 MOD에서 공급되는 신호는 모드결정회로 MODE로 공급된다. 이 모드결정회로 MODE는 상기 모드설정단자 MOD로부터의 신호레벨 또는 그의 조합을 해독하고, 이 마이크로 프로세서를 ICE로서 사용할 때의 에뮬레이터 모드신호 ICE를 발생시킨다. 한편, 이 신호 ICE는 앤드 게이트회로 G의 한쪽의 입력에 공급된다. 이 앤드게이트회로 G의 다른쪽의 입력에는 브레이크단자 BRK로 부터의 신호가 공급된다. 이 앤드게이트회로 G의 출력신호는 인터럽트 제어회로 INTC에 공급된다.
인터럽트 제어회로 INTC는 상기 앤드게이트회로 G의 출력신호 이외에
Figure kpo00031
Figure kpo00032
와 같은 일반 인터럽트 단자로부터의 인터럽트신호를 받아서 마이크로 프로세서 MPU로 전달한다.
특히 제한되지는 않지만, 상기 신호 ICE는 비교기 DC에 공급된다. 이 비교기 DC는 마이크로 프로세서 MPU로부터 ICE 모드의 검사요구신호 CHK를 받으면, ICE 모드인지 아닌지를 출력한다. 바꾸어말하면, 비교기 DC는 상기 요구신호 CHK가 공급되면, 그의 확인신호 OK를 마이크로 프로세서 MPU로 전달한다. 이와 같은 기능은 마이크로 프로세서 MPU의 마이크로 프로그램 ROM에 의해 실현가능하다.
상기 마이크로 프로세서 MPU는 후술하는 바와 같은 브레이크 요구신호를 수리하면, 조건코드 레지스터의 대응하는 플래그를 세트한다. 이것에 의해 상기 입출력장치 IOC의 감시장치의 타이머 회로의 동작을 무효로 하는 제어신호와 브레이크상태를 표시하는 신호가 외부단자 BACK에서 송출한다.
상기와 같이 구성한 마이크로 프로세서 MPU를 ICE로 사용하는 경우, 상기 모드설정단자 MOD로는 그것을 표시하는 신호가 공급된다. 모드결정회로 MODE는 상기 모드설정단자 MOD의 신호레벨을 해독하고, 신호 ICE를 고레벨(논리 "1")로 한다. 이것에 따라서, 앤드게이트회로 G는 게이트를 연 상태, 바꾸어말하면 브레이크단자로부터의 신호입력이 가능하게 된다.
이 마이크로 프로세서 MPU를 사용한 마이크로 컴퓨터 시스템의 소프트웨어 개발에 있어서, 사용자 프로그램이 브레이크를 걸고자 하는 어드레스까지 진행했으면, 상기 제2도 및 제3도를 사용해서 설명한 바와 같이 그것을 검출하여 상기 브레이크단자 BRK를 고레벨(액티브)로 한다. 이 브레이크 단자 BRK로부터의 브레이크 요구신호는 상기 앤드게이트회로 G를 통해서 인터럽트 제어회로 INTC로 전달된다. 인터럽트 제어회로 INTC는 인터럽트신호를 마이크로 프로세서 MPU로 전달한다. 마이크로 프로세서 MPU는 상기와 마찬가지의 처리에 의해서 사용자 프로그램을 중단하고 인터럽트 시퀀스로 실행한다. 이 경우, 필요하다면 마이크로 프로세서 MPU는 상기
Figure kpo00033
에 대한 마스크를 실행하는 것과 마찬가지로, 다시 브레이크 요구를 수리하지 않는 기능을 갖게 해도 좋다.
상기 브레이크요구에 의한 인터럽트를 수리하면 사용자 프로그램이 중단되기 때문에, 상기 플래그를 따라서 입출력장치 IOC의 감시장치 타이머가 정지된다. 또, 단자 BACK에서는 브레이크요구를 수리하는 것을 표시하는 신호가 출력된다.
이 실시예에서는 상기와 같이 일반적인 인터럽트 요구신호와는 다른 신호에 의해서 사용자 프로그램의 해석을 위한 인터럽트가 가능하므로, 사용자 프로그램중에 상기 일반적인 인터럽트 신호
Figure kpo00034
Figure kpo00035
등을 사용할 수가 있다. 또, 상기 브레이크중인 것을 나타내는 신호가 외부단자 BACK에서 출력되므로, 외부에 특별한 회로를 부가하는 것이 불필요하게 되어 에뮬레이터 시스템의 간소화를 실현할 수 있는 것이다.
상기 사용자 프로그램의 브레이크를 고신뢰성으로 실행하는 경우, 상기 비교기 DC가 이용된다. 즉 마이크로 프로세서 MPU는 인터럽트 제어회로 INTC에서 단자 BRK에 따른 인터럽트 요구가 있으면, 비교기 DC로 그 검사신호 CHK를 송출하고 ICE 모드라는 인식신호 OK를 받아 상기 인터럽트처리를 실행하도록 한다.
다른 브레이크방법으로서는 상기 단자 BRK로부터의 신호 대신에, 브레이크명령(SWI 또는 BRK)을 마련하는 것으로 해도 좋다. 즉, 사용자 프로그램중에 중단하고자 하는 개소에 브레이크 명령(SWI 또는 BRK)을 삽입해 둔다. 사용자 프로그램의 실행에 의해서 프로그램 메모리에서 브레이크 명령(SWI 또는 BRK)이 페치되어 마이크로 프로세서 MPU로 전달되면, 그것은 해독해서 상기와 마찬가지로 사용자 프로그램의 실행을 중단하고 인터럽트와 마찬가지로 ICE측의 처리로 이행한다. 이 경우, 상기 비교기 DC를 마련해 두면, ICE 모드라는 인식신호 OK를 받아서 그 명령(SWI 또는 BRK)을 실행할 수가 있다.
상기 단자 BRK와 명령(SWI 또는 BRK)에 의한 2개의 브레이크기능을 마련하는 것으로 해도 좋다. 이 경우에는 사용자 프로그램에 따른 최적한 방법에서의 브레이크가 가능하게 된다.
실시예 4
제6도에는 본 발명이 적용된 1칩 마이크로 컴퓨터의 다른 1실시예의 블럭도가 도시되어 있다.
동일도면의 1칩 마이크로 컴퓨터는 기본적으로는 제4도와 마찬가지이다. 그 때문에, 제4도와 동일한 구성부분의 설명은 생략한다.
이 실시예에 있어서 상기와 같은 사용자에게 개방하는 일반적인 인터럽트와 ICE 모드일 때에만 사용가능하게 되는 인터럽트(브레이크)기능을 구비하기 위해서, 인터럽트 제어회로 INTC'가 마련된다. 이 인터럽트 제어회로 INTC'는 상기 제5도에 도시한 인터럽트 제어회로 INTC 이외에 동일도면의 앤드게이트회로 G도 포함한다. 또, 필요에 따라서 동일도면의 비교회로 DC의 기능도 갖게 된다. 그 때문에, 이 인터럽트 제어회로 INTC'를 통해서 단자 BRK에서 브레이크신호가 공급된다. 또, 동일도면에 있어서는 브레이크상태를 출력하는 출력단자
Figure kpo00036
도 상기 인터럽트 제어회로 INTC'를 통해서 출력되도록 도시되어 있다. 또한, 일반적인 인터럽트단자로서는
Figure kpo00037
가 대표로서 예시적으로 도시되어 있지만,
Figure kpo00038
등도 포함하는 것이라고 이해하기 바란다. 또, 이와 같은 인터럽트단자는 상기 입출력포트 PO1~PO4 중의 어느 단자와 공용하는 것으로 해도 좋다.
이 실시예에 있어서도 상기와 마찬가지로 단자 BRK로부터의 인터럽트는 ICE 모드일 때에만 유효하게 된다. 또 브레이크명령(SWI 또는 BRK)을 마련하는 경우에도 마찬가지이다.
상기 실시예에서 얻어지는 작용효과는 다음과 같다. 즉,
[1] 외부에서 공급되는 신호에 의해 기억회로에 저장된 SWI 명령을 스위칭해서 입력하는회로를 마련하는 것에 의해서, 상기와 같은 내부회로를 사용하여 프로그램어의 치환을 실현할 수 있으므로 고속이고 확실한 브레이크를 실행할 수 있다는 효과가 얻어진다.
[2] 명령푸시다운 페치기능을 갖는 마이크로 프로세서에 있어서도 메모리 장치에서 페치될 때의 프로그램 어드레스를 모니터해서 브레이크하고자 하는 어드레스를 검출했을 때 트리거신호를 입력하는 것만으로도 좋기 때문에, 원하는 프로그램 어드레스에서의 브레이크가 가능하게 된다는 효과가 얻어진다.
[3] 상기 SWI 명령에 의한 브레이크를 사용하는 것에 의해서 단자로부터의 입력에 의한 인터럽트를 사용자 프로그램에 짜넣을 수가 있다. 이것에 의해서, 사용자 소프트웨어의 개발시에 단자입력에 의한 인터럽트기능 처리의 제약을 받지 않기 때문에, 개발하고자 하는 실제 소프트웨어에 따른 소프트웨어의 개발을 용이하게 실행할 수 있다는 효과가 얻어진다.
[4] SWI 명령에 의한 인터럽트일 때 바꾸어 말하면 브레이크중이라는 것을 나타내는 신호를 외부로 출력시키는 기능을 부가하는 것에 의해서, 그것을 인식하기 위한 외부회로를 생략할 수 있으므로 ICE로서 사용할 때의 시스템 간소화가 가능하게 된다는 효과가 얻어진다.
[5] 특정의 동작모드의 설정에 의해서 일반적인 인터럽트와는 다른 인터럽트 기능을 마련하는 것에 의해서, 데이타 처리장치를 ICE로서 사용할 때 상기 특별한 인터럽트기능을 사용하는 것에 의해 통상의 인터럽트 처리를 포함하는 사용자 프로그램의 브레이크를 간단하게 실행할 수 있다는 효과가 얻어진다.
[6] 상기 [5]에 의해서 사용자 소프트웨어의 개발시에 인터럽트기능처리의 제약을 받지 않기 때문에, 개발하고자 하는 실제 소프트웨어에 따른 소프트웨어의 개발을 용이하게 실행할 수 있다는 효과가 얻어진다.
[7] 상기 특정의 동작모드시에만 수리하는 인터럽트 처리에 있어서 그의 모드를 확인하는 기능을 마련하는 것에 의해서, 신뢰성이 높은 인터럽트처리가 가능하게 된다는 효과가 얻어진다.
[8] 상기 특정 모드의 인터럽트처리중인 경우에 그러한 사실을 외부로 출력시키는 기능을 부가하는 것에 의해서, 그것을 인식하기 위한 외부회로를 생략할 수 있기 때문에 ICE로서 사용할 때의 시스템 간소화가 가능하게 된다는 효과가 얻어진다.
이상 본 발명자에 의해서 이루어진 발명을 실시예에 따라서 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위내에서 여러가지로 변경가능한 것은 물론이다.
예를들면, 제1도에 있어서 패턴발생회로 PTG는 마스크 ROM을 사용하는 것 이외에, 레지스터나 EPROM 등을 사용해서 소프트웨어에 의한 라이트를 가능하게 하는 것이어도 좋다. 이 경우, 상기와 같이 SWI 명령 이외에 임의의 명령어 또는 데이타를 저장시키고, 사용자 프로그램중에 임의의 명령어 또는 데이타를 삽입시킬 수가 있다. 데이타 처리장치로서는 상기 제4도와 같이 명령푸시다운 페치기능이 부가되지 않은 것이어도 좋다. 반대로, 제4도의 1칩 마이크로 컴퓨터에 있어서도 명령푸시다운 페치기능을 마련하는 것이어도 좋다. 또, 단자 또는 명령에 의한 인터럽트처리의 벡터어드레스를 일치시켜도 좋고 다른 것으로 해도 좋다. 또한, 일반 인터럽트의 벡터어드레스를 재배치할 수 있으면, ICE 모드에 있어서의 명령에 의한 인터럽트의 벡터어드레스를 재배치해도 좋고 고정시켜도 좋다. 이와 같이, 인터럽트 처리방식은 여러가지 실시형태를 취할 수 있다.
ICE 모드에서의 브레이크 인식신호 BACK의 액티브화는 명령 SWI 또는 BRK 신호에 의한 인터럽트수리에 의해 실행한다. 그리고, 그의 비액티브화는 그것에 대응한 브레이크상태로부터의 복귀명령(예를들면 RTB 명령)의 실행에 의해서 실행할 수가 있다. 이 복귀명령(RTB)도 모드결정회로가 있는 경우에는 ICE 모드인 것을 검사한 후 실행해도 좋다. 또, SWI 명령 이외의 특별한 브레이크명령을 마련해서 패턴발생회로에 저장하는 것으로 해도 좋다.
이상의 설명에서는 주로 본원 발명을 그 배경으로 된 마이크로 프로세서 또는 마이크로 컴퓨터에 적용한 경우를 설명하였지만 본 발명은 이것에 한정되지 않고, 프로그램에 따라서 데이타처리를 실행하는 각종 데이타 처리장치에 널리 이용할 수가 있다.
본원에 있어서 개시되는 발명중 대표적인 것에 의해서 얻어지는 효과를 간단하게 설명하면 다음과 같다.
즉, 외부에서 공급되는 신호에 의해 기억회로에 저장된 SWI 명령을 스위칭해서 입력하는 회로를 마련하는 것에 의해서, 상기와 같은 내부회로를 사용해서 프로그램어의 치환을 실현할 수 있기 때문에 고속이고 확실한 브레이크를 실행할 수가 있다. 또, 특정의 동작모드의 설정에 의해서 일반적인 인터럽트와는 다른 인터럽트 기능을 마련하는 것에 의해서 데이타 처리장치를 에뮬레이터로서 사용할 때 상기 특별한 인터럽트기능을 사용하는 것에 의해 통상의 인터럽트처리를 포함하는 사용자 프로그램의 브레이크를 간단히 실행할 수 있음과 동시에, 그 브레이크상태를 외부로 출력시키는 기능을 부가하는 것에 의해서 외부회로의 간소화가 가능하게 된다.

Claims (40)

  1. 처리할 명령을 유지하기 위한 명령레지스터(ISTR), 여러개의 명령을 저장하고 상기 여러개의 명령중에서 실행될 명령을 계속해서 상기 명령레지스터로 공급하는 명령유지수단(FIFO), 상기 명령레지스터에 유지된 명령을 해독하고 해독결과에 따른 제어신호를 발생하는 해독수단, 상기 해독수단에 의해서 발생된 상기 제어신호에 응답하여 소정의 데이타처리를 실행하는 실행수단, 인터럽트명령을 저장하는 메모리수단(PTG) 및 스위칭수단(MPX)을 포함하며, 상기 스위칭수단(MPX)은 상기 메모리수단(PTG)에 저장된 상기 인터럽트명령을 상기 명령레지스터로 공급하도록 외부제어신호(TRG)에 의해서 제어되는 집적 데이타 처리장치.
  2. 제1항에 있어서, 명령을 공급하는 버스수단을 더 포함하며, 상기 스위칭수단(MPX)은 상기 메모리수단에 결합된 제1입력, 상기 버스수단에 결합된 제2입력 및 상기 명령유지수단의 입력에 결합된 출력을 갖고, 상기 명령유지수단은 상기 스위칭수단과 상기 명령레지스터 사이에 결합되는 집적 데이타 처리장치.
  3. 제2항에 있어서, 상기 명령유지수단은 선입선출형의 메모리인 집적 데이타 처리장치.
  4. 제1항에 있어서, 상기 실행수단은 상기 인터럽트명령의 실행에 응답하여 다른 인터럽트요구의 수리를 금지하는 제1수단을 포함하는 집적 데이타 처리장치.
  5. 제4항에 있어서, 상기 실행수단은 상기 인터럽트명령의 실행에 응답하여 인터럽트 수리상태를 나타내는 상태신호를 발생하는 제2수단을 포함하고, 상기 상태신호는 상기 집적 테이타 처리장치의 외부로 공급되는 집적 데이타 처리장치.
  6. 제5항에 있어서, 상기 제2수단은 상기 상태신호의 상태를 변경하기 위한 소정의 명령이 상기 실행수단내에서 실행된 것에 응답하여 상기 인터럽트 수리상태를 해방하는 집적 데이타 처리장치.
  7. 제5항에 있어서, 상기 제2수단은 상기 상태신호의 상태를 변경하기 위한 제어신호에 응답하여 상기 인터럽트 수리상태를 해방하는 집적 데이타 처리장치.
  8. 제5항에 있어서, 모드설정신호를 공급하는 모드설정회로를 더 포함하고, 상기 스위칭수단은 상기 외부제어신호와 상기 모드설정신호의 양쪽의 수령에 응답해서 상기 메모리수단의 상기 인터럽트명령을 상기 명령레지스터로 공급하도록 동작하는 집적 데이타 처리장치.
  9. 제1항에 있어서, 상기 집적 데이타 처리장치는 싱글칩상에 형성된 마이크로 컴퓨터인 집적 데이타 처리장치.
  10. 싱글칩상에 형성되고 개발할 프로그램내의 명령의 실행에 응답해서 동작을 실행하는 타겟 프로세서와 상기 타겟 프로세서에 결합되고, 브레이크 코맨드와 브레이크 어드레스를 입력하기 위한 입력수단 및 상기 브레이크 어드레스와 상기 타겟 프로세서에서 받은 어드레스신호에 응답하여 브레이크신호(BRK)를 발생하는 브레이크 회로수단을 갖고, 인서키트 에뮬레이터로서의 동작을 실행하는 메인 프로세서를 포함하는 데이타 처리시스템에 있어서, 상기 타겟 프로세서는 처리할 명령을 유지하기 위한 명령레지스터(ISTR), 여러개의 명령을 저장하고 상기 여러개의 명령중에서 실행될 명령을 계속해서 상기 명령레지스터로 공급하는 명령유지수단(FIFO), 상기 명령레지스터에 유지된 명령을 해독하고 해독결과에 따른 제어신호를 발생하는 해독수단, 상기 해독수단에 의해서 발생된 상기 제어신호에 응답하여 소정의 데이타처리를 실행하는 실행수단, 인터럽트명령을 저장하는 메모리수단(PTG) 및 스위칭(MPX)을 포함하고, 상기 스위칭수단(MPX)은 상기 메모리수단(PTG)에 저장된 상기 인터럽트명령을 상기 명령레지스터로 공급하도록 상기 브레이크신호(BRK)에 의해서 제어되는 데이타 처리시스템.
  11. 제10항에 있어서, 명령을 공급하는 버스수단을 더 포함하며, 상기 스위칭수단(MPX)은 상기 메모리수단에 결합된 제1입력, 상기 버스수단에 결합된 제2입력 및 상기 명령유지수단의 입력에 결합된 출력을 갖고 , 상기 명령유지수단은 상기 스위칭수단과 상기 명령레지스터 사이에 결합되는 데이타 처리시스템.
  12. 제11항에 있어서, 상기 명령유지수단은 선입선출형의 메모리인 데이타 처리시스템.
  13. 제10항에 있어서, 상기 실행수단은 상기 인터럽트명령의 실행에 응답하여 다른 인터럽트요구의 수리를 금지하는 제1수단을 포함하는 데이타 처리시스템.
  14. 제13항에 있어서 상기 실행수단은 상기 인터럽트명령의 실행에 응답하여 인터럽트 수리상태를 나타내는 상태신호를 발생하는 제2수단을 포함하는 데이타 처리시스템.
  15. 제14항에 있어서, 상기 제2수단은 상기 상태신호의 상태를 변경하기 위한 소정의 명령이 상기 실행수단내에서 실행된 것에 응답하여 상기 인터럽트 수리상태를 해방하는 데이타 처리시스템.
  16. 제14항에 있어서, 상기 제2수단은 상기 상태신호의 상태를 변경하기 위한 제어신호에 응답하여 상기 인터럽트 수리상태를 해방하는 데이타 처리시스템.
  17. 제1동작모드와 제2동작모드를 갖는 집적 마이크로 프로세서로서, 상기 제1동작모드에 있어서 개발할 프로그램에 따른 소정의 데이타처리를 실행하며 또한 상기 제2동작모드에 있어서 에뮬레이터 프로그램에 따른 소정의 데이타처리를 실행하는 프로세서, 제1상태과 제2상태를 갖는 브레이크신호를 받기 위한 제어신호 입력단자(TRG) 및 상기 프로세서에서 발생되는 브레이크 허가신호를 출력하기 위한 출력단자
    Figure kpo00039
    를 갖고, 상기 브레이크 허가신호는 상기 프로세서가 상기 제1동작모드에 있을 때 제1레벨로 되고 또한 상기 프로세서가 상기 제2동작모드에 있을 때 제2레벨로 되고, 상기 프로세서의 동작은 상기 제1상태에서 상기 제2상태로 변화하는 상기 브레이크신호에 응답해서 상기 제1동작모드에서 상기 제2동작모드로 변경되고, 상기 브레이크 허가신호는 상기 프로세서의 동작이 상기 제1동작모드에서 상기 제2동작모드로 변경되는 것에 응답해서 상기 제1레벨에서 상기 제2레벨로 변화하는 집적 마이크로 프로세서.
  18. 제17항에 있어서, 상기 브레이크 허가신호는 상기 프로세서가 상기 에뮬레이터 프로그램내의 복귀명령을 실행했을 때 상기 제2레벨에서 상기 제1레벨로 변경되는 집적 마이크로 프로세서.
  19. 제17항에 있어서, 상기 에뮬레이터 프로그램은 상기 복귀명령을 포함하는 여러개의 명령으로 이루어지는 집적 마이크로 프로세서.
  20. 모드제어신호를 받는 여러개의 입력단자와 상기 모드제어신호를 받도록 결합되고 상기 모드제어신호에 따라서 모드신호를 발생하는 모드결정수단을 포함하는 집적 마이크로 프로세서, 상기 모드결정수단은 상기 집적 마이크로 프로세서가 에뮬레이터 모드에서 동작되어야 함을 상기 모드제어신호가 나타내고 있을때 에뮬레이터 모드신호를 발생하고, 상기 집적 마이크로 프로세서는 제1동작모드에 있어서 개발할 프로그램에 따른 소정의 데이타처리를 실행하고 또한 상기 모드결정수단이 에뮬레이터 모드신호를 발생하고 있을때 제2동작모드에 있어서 에뮬레이터 프로그램에 따른 소정의 데이타처리를 실행하는 프로세서, 제1상태와 제2상태를 갖는 브레이크신호를 받기 위한 제2입력단자를 갖고, 상기 제1상태에서 상기 제2상태로 변화하는 상기 브레이크신호의 수령에 응답해서 상기 프로세서의 동작을 상기 제1동작모드에서 상기 제2동작모드로 변경하기 위한 수단 및 상기 제2입력단자와 상기 모드결정수단에 결합되고, 상기 모드결정수단이 상기 에뮬레이터 모드신호를 발생하고 있을 때 상기 제2입력단자상의 상기 브레이크신호를 유효로 하는 게이트회로를 더 포함하는 집적 마이크로 프로세서.
  21. 제20항에 있어서, 인터럽트 요구신호를 받는 여러개의 제3입력단자와 상기 여러개의 제3입력단자 및 상기 게이트회로에 결합되고 상기 프로세서로 인터럽트 제어신호를 전달하는 인터럽트 제어수단을 더 포함하고, 상기 게이트회로가 상기 브레이크신호에 따른 신호를 상기 인터럽트 제어수단에 발생했을 때, 상기 인터럽트 제어수단은 상기 브레이크신호에 따른 상기 신호를 상기 프로세서로 전달함과 동시에 상기 여러개의 제3입력단자에 공급되는 상기 인터럽트 요구신호의 수리를 금지하는 집적 마이크로 프로세서.
  22. 제21항에 있어서, 상기 모드결정수단에 결합되고, 상기 프로세서에서 검사요구신호를 받았을 때 상기 집적 마이크로 프로세서가 상기 에뮬레이터 모드인지 아닌지에 관한 출력을 상기 프로세서로 공급하는 검사수단을 더 포함하고, 상기 프로세서의 동작은 상기 프로세서가 상기 검사수단으로부터 상기 집적 마이크로 프로세서가 상기 에뮬레이터모드인 것을 나타내는 상기 출력을 받은 후, 상기 제1상태에서 상기 제2상태로 변환한 브레이크신호에 응답하여 상기 제1동작모드에서 상기 제2동작모드로 변경되는 집적 마이크로 프로세서.
  23. 제20항에 있어서, 상기 프로세서에서 공급되는 브레이크 허가신호를 출력하기 위한 출력단자를 더 포함하고, 상기 브레이크 허가신호는 상기 프로세서가 상기 제1동작모드일 때 제1레벨로 되고, 상기 프로세서가 상기 제2동작모드일 때 제2레벨로 되는 집적 마이크로 프로세서.
  24. 제23항에 있어서, 상기 브레이크 허가신호는 상기 프로세서가 상기 에뮬레이터 프로그램내의 복귀명령을 실행했을 때 상기 제2레벨에서 상기 제1레벨로 변경되는 집적 마이크로 프로세서.
  25. 모드제어신호를 받는 여러개의 입력단자와 상기 모드제어신호를 받도록 결합되고 상기 모드제어신호에 따라서 모드신호를 발생하는 모드결정수단을 포함하는 집적 마이크로 프로세서로서, 상기 모드결정수단은 상기 집적 마이크로 프로세서가 에뮬레이터모드에서 동작되어야 함을 상기 모드제어신호가 나타내고 있을 때 에뮬레이터 모드신호를 발생하고, 상기 집적 마이크로 프로세서는 제1동작모드에 있어서 개발할 프로그램에 따른 소정의 데이타처리를 실행하며 또한 상기 모드결정수단이 에뮬레이터 모드신호를 발생하고 있을 때 제2동작모드에 있어서 에뮬레이터 프로그램에 따른 소정의 데이타처리를 실행하는 프로세서와 상기 모드결정수단에 결합되고 상기 프로세서에서 검사요구신호를 받았을 때 상기 집적 마이크로 프로세서가 상기 에뮬레이터 모드인지 아닌지에 관한 출력을 상기 프로세서로 공급하는 검사수단을 더 포함하고, 개발될 상기 프로그램은 상기 프로세서의 동작모드를 상기 제1동작모드에서 상기 제2동작모드로 변경하기 위한 브레이크명령을 포함하고, 상기 프로세서의 동작모드는 상기 프로세서에 의한 상기 브레이크명령의 실행에 응답하여 상기 제1동작모드에서 상기 제2동작모드로 변경되고, 상기 프로세서는 상기 프로세서가 상기 검사수단에서 상기 프로세서가 상기 에뮬레이터 모드인 것을 나타내는 출력을 받은 후 상기 브레이크명령을 실행하는 집적 마이크로 프로세서.
  26. 제25항에 있어서, 제1상태와 제2상태를 갖는 브레이크신호를 받기 위한 제2입력단자를 더 갖고, 상기 프로세서의 동작은 상기 프로세서가 상기 검사수단으로부터 상기 프로세서가 상기 에뮬레이터모드인 것을 나타내는 출력을 받은 후, 상기 제1상태에서 상기 제2상태로 변화하는 상기 브레이크신호에 응답하여 상기 제1동작모드에서 상기 제2동작모드로 변경되는 집적 마이크로 프로세서.
  27. 제26항에 있어서, 상기 제2입력단자 및 상기 모드결정수단에 결합되고, 상기 모드결정수단이 상기 에뮬레이터 모드신호를 발생하고 있을 때 상기 제2입력단자상의 상기 브레이크신호를 유효로 하는 게이트회로를 더 포함하는 집적 마이크로 프로세서.
  28. 제27항에 있어서, 인터럽트 요구신호를 받는 여러개의 제3입력단자와 상기 여러개의 제3입력단자 및 상기 게이트회로에 결합되고 상기 프로세서로 인터럽트 제어신호를 전달하는 인터럽트 제어수단을 더 포함하고, 상기 게이트회로가 상기 브레이크신호에 따른 신호를 상기 인터럽트 제어수단에 발생했을 때, 상기 인터럽트 제어수단은 상기 브레이크신호에 따른 상기 신호를 상기 프로세서로 전달함과 동시에 상기 여러개의 제3입력단자에 공급되는 상기 인터럽트 요구신호의 수리를 금지하는 집적 마이크로 프로세서.
  29. 제28항에 있어서, 상기 프로세서에서 공급되는 브레이크 허가신호를 출력하기 위한 출력단자를 더 포함하고, 상기 브레이크 허가신호는 상기 프로세서가 상기 제1동작모드일 때 제1레벨로 되고, 상기 프로세서가 제2동작모드일 때 제2레벨로 되는 집적 마이크로 프로세서.
  30. 제29항에 있어서, 상기 브레이크 허가신호는 또 상기 프로세서가 상기 예뮬레이터 프로그램내의 복귀명령을 실행했을 때 상기 제2레벨에서 상기 제 1레벨로 변경되는 집적 마이크로 프로세서.
  31. 어드레스단자, 명령을 포함하는 데이타를 받고 또한 데이타가 전송될 데이타단자, 외부 인터럽트신호를 받는 제1단자(NMI,IRQ), 외부 제어신호를 받는 제2단자(TRG), 실행될 명령이 유지되는 명령레지스터(ISRT), 상기 명령레지스터에 결합되고 상기 명령레지스터로 전송될 여러개의 명령을 저장하고 상기 명령레지스터로 계속해서 상기 명령을 공급하는 선입선출형 메모리(FIFO), 상기 명령레지스터에 유지된 명령을 해독하고 상기 명령의 해독결과로서의 제어신호를 발생하는 해독수단, 상기 제어신호에 응답해서 상기 제어신호에 따른 소정의 데이타처리를 실행함과 동시에 상기 소정의 데이타처리의 결과로서 상기 어드레스단자로 공급될 어드레스신호 및 상기 데이타단자로 공급된 데이타를 발생하는 수단을 갖는 실행수단, 상기 제1단자로 공급된 인터럽트 요구신호에 응답해서 상기 실행수단에서 공급된 어드레스신호 대신에 상기 어드레스단자로 인터럽트처리를 위한 인터럽트 어드레스신호를 공급하느 인터럽트 제어수단(INTC), 인터럽트명령을 저장하는 저장수단(PTG) 및 상기 데이타단자와 상기 저장수단에 결합되고 상기 선입선출형 메모리로 상기 데이타단자를 거쳐서 받은 명령 또는 상기 저장수단에 저장된 상기 인터럽트명령을 공급하는 스위칭수단(MPX)을 포함하고, 상기 스위칭수단은 상기 외부제어신호에 응답해서 상기 선입선출형 메모리로 상기 저장수단에 저장된 상기 인터럽트명령을 공급하는 1개의 반도체기판상에 형성된 데이타 프로세서.
  32. 제31항에 있어서, 상기 실행수단은 상기 인터럽트명령의 실행에 응답하여 다른 인터럽트 요구의 수리를 금지하는 제1수단을 포함하는 데이타 프로세서.
  33. 제32항에 있어서, 상기 실행수단은 상기 인터럽트명령의 실행에 응답하여 인터럽트 수리상태를 나타내는 상태신호를 발생하는 제2수단을 포함하고, 상기 상태신호는 상기 집적 데이타 처리장치의 외부로 공급되는 데이타 프로세서.
  34. 제33항에 있어서, 상기 제2수단은 상기 상태신호의 상태를 변경하기 위한 제어신호에 응답해서 상기 인터럽트 수리상태를 해방하는 데이타 프로세서.
  35. 제31항에 있어서, 모드설정신호를 공급하는 모드설정회로를 더 포함하고, 상기 스위칭수단은 상기 외부제어신호와 상기 모드설정신호의 양쪽의 수령에 응답해서 상기 메모리수단의 상기 인터럽트명령을 상기 명령레지스터로 공급하도록 동작하는 데이타 프로세서.
  36. 개발할 프로그램내의 명령의 실행에 응답해서 동작을 실행하는 타겟 프로세서(TMPU), 상기 타겟 프로세서에 결합되고, 브레이크 코맨드와 브레이크 어드레스를 입력하기 위한 입력수단 및 상기 브레이크 어드레스와 상기 타겟 프로세서에서 받은 어드레스신호에 응답해서 브레이크신호(BRK)를 발생하는 브레이크 회로수단을 갖고, 인서키트 에뮬레이터로서의 동작을 실행하는 메인 프로세서를 포함하는 데이타 처리 시스템에 있어서, 상기 타겟 프로세서는 어드레스단자, 명령을 포함하는 데이타를 받고 또한 데이타가 전송될 데이타단자, 외부 인터럽트신호를 받는 제1단자, 상기 브레이크신호를 받는 제2단자, 실행될 명령이 유지되는 명령레지스터, 상기 명령레지스터에 결합되고, 상기 명령레지스터로 전송될 여러개의 명령을 저장하고 상기 명령레지스터로 계속해서 상기 명령을 공급하는 선입선출형 메모리, 상기 명령레지스터에 유지된 명령을 해독하고 상기 명령의 해독결과로서의 제어신호를 발생하는 해독수단, 상기 해독수단으로부터의 상기 제어신호에 응답해서 상기 제어신호에 따른 소정의 데이타처리를 실행함과 동시에 상기 소정의 데이타처리의 결과로서 상기 어드레스단자로 공급된 어드레스신호 및 상기 데이타단자로 공급될 데이타를 발생하는 수단을 갖는 실행수단, 상기 제1단자에 공급된 인터럽트 요구신호에 응답해서 상기 실행수단에서 공급된 어드레스신호 대신에 상기 어드레스단자로 인터럽트처리를 위한 인터럽트 어드레스신호를 공급하는 인터럽트 제어수단, 인터럽트명령을 저장하는 저장수단 및 상기 데이타단자와 상기 저장수단에 결합되고 상기 선입선출형 메모리로 상기 데이타단자를 거쳐서 받은 명령 또는 상기 저장수단에 저장된 상기 인터럽트명령을 공급하는 스위칭수단을 포함하고, 상기 스위칭수단은 상기 브레이크신호에 응답해서 상기 선입선출형 메모리로 상기 저장수단에 저장된 상기 인터럽트명령을 공급하는 데이타 처리시스템.
  37. 제36항에 있어서, 상기 실행수단은 상기 인터럽트명령의 실행에 응답해서 인터럽트 수리상태를 나타내는 상태신호를 발생하는 수단을 포함하는 데이타 처리시스템.
  38. 제37항에 있어서, 상기 상태신호에 응답해서 상기 데이타 처리시스템의 동작을 상기 타겟 프로세서에서 상기 메인프로세서로 스위칭하는 수단을 더 포함하는 데이타 처리시스템.
  39. 제38항에 있어서, 상기 상태신호 발생수단은 상기 상태신호의 상태를 변경하기 위한 소정의 명령이 상기 실행수단내에서 실행된 것에 응답해서 상기 인터럽트 수리상태를 해방하는 데이타 처리시스템.
  40. 제38항에 있어서, 상기 상태신호 발생수단은 상기 상태신호의 상태를 변경하기 위한 제어신호에 응답해서 상기 인터럽트 수리상태를 해방하는 데이타 처리시스템.
KR1019880007973A 1987-07-06 1988-06-30 데이타 처리 장치 KR970011211B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP62168086A JPS6412340A (en) 1987-07-06 1987-07-06 Data processor
JP62-168086 1987-07-06
JP62214200A JPS6458024A (en) 1987-08-28 1987-08-28 Data processor
JP214200 1987-08-28
JP62-214200 1987-08-28

Publications (2)

Publication Number Publication Date
KR890002779A KR890002779A (ko) 1989-04-11
KR970011211B1 true KR970011211B1 (ko) 1997-07-08

Family

ID=26491927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880007973A KR970011211B1 (ko) 1987-07-06 1988-06-30 데이타 처리 장치

Country Status (5)

Country Link
US (3) US4998197A (ko)
EP (1) EP0306644B1 (ko)
KR (1) KR970011211B1 (ko)
DE (1) DE3856067T2 (ko)
HK (1) HK1003602A1 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
JPH0312742A (ja) * 1989-06-09 1991-01-21 Ricoh Co Ltd 中央演算処理装置
JPH03252731A (ja) * 1990-03-01 1991-11-12 Fujitsu Ltd マイクロプロセッサ
JPH04107630A (ja) * 1990-08-28 1992-04-09 Nec Corp 中央処理装置
EP0474256A3 (en) * 1990-09-07 1993-01-27 Nec Corporation In-circuit emulator
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
GB2266605B (en) * 1992-04-27 1995-10-11 Intel Corp Microprocessor having a run/stop pin for accessing an idle mode
US5448743A (en) * 1992-07-21 1995-09-05 Advanced Micro Devices, Inc. General I/O port interrupt mechanism
JP2927108B2 (ja) * 1992-07-22 1999-07-28 日本電気株式会社 インサーキットエミュレータ
US5471618A (en) * 1992-11-30 1995-11-28 3Com Corporation System for classifying input/output events for processes servicing the events
US5758059A (en) * 1992-12-03 1998-05-26 Intel Corporation In-circuit emulator in which abrupt and deferred arming and disarming of several events on a microprocessor chip are controlled using a single-input pin
US5497456A (en) * 1992-12-31 1996-03-05 Intel Corporation Apparatus for transferring information between an interrupt producer and an interrupt service environment
JP2513417B2 (ja) * 1993-07-05 1996-07-03 日本電気株式会社 情報処理装置
JPH08171504A (ja) * 1994-12-19 1996-07-02 Mitsubishi Denki Semiconductor Software Kk エミュレ−ション装置
US5673824A (en) * 1995-05-31 1997-10-07 Taplast Srl Plastic dosing pump for dispensing liquids from containers
JP3676882B2 (ja) 1996-06-12 2005-07-27 株式会社リコー マイクロプロセッサ及びその周辺装置
US6106565A (en) * 1997-02-27 2000-08-22 Advanced Micro Devices, Inc. System and method for hardware emulation of a digital circuit
US5901309A (en) * 1997-10-07 1999-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for improved interrupt handling within a microprocessor
DE19747082C1 (de) * 1997-10-24 1999-01-28 Dspecialists Ges Fuer Innovati Schaltungsanordnung zur zeitweisen Deaktivierung einer Überwachungsschaltung für einen Mikroprozessor
US6145103A (en) * 1998-04-07 2000-11-07 Advanced Micro Devices, Inc. Emulator support mode for disabling and reconfiguring timeouts of a watchdog timer
US6631463B1 (en) * 1999-11-08 2003-10-07 International Business Machines Corporation Method and apparatus for patching problematic instructions in a microprocessor using software interrupts
GB2362968B (en) 1999-12-23 2003-12-10 St Microelectronics Sa Computer system with debug facility
GB2366006B (en) * 1999-12-23 2004-06-30 St Microelectronics Sa A computer system with debug facility
GB2362730B (en) 1999-12-23 2004-02-11 St Microelectronics Sa Computer register watch
GB2365546B (en) 1999-12-23 2004-02-18 St Microelectronics Sa A computer system with two debug watch modes
GB2362729B (en) 1999-12-23 2004-02-11 St Microelectronics Sa Memory access debug facility
DE10138918A1 (de) * 2001-08-08 2003-03-06 Infineon Technologies Ag Programmgesteuerte Einheit
US7370193B2 (en) * 2002-04-27 2008-05-06 Tong Shao Computing system being able to quickly switch between an internal and an external networks and a method thereof
CN101107597A (zh) * 2005-01-25 2008-01-16 横河电机株式会社 信息处理装置及信息处理方法
US10042692B1 (en) * 2015-09-29 2018-08-07 Xilinx, Inc. Circuit arrangement with transaction timeout detection

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1192372A (en) * 1967-05-18 1970-05-20 Plessey Co Ltd Improvements relating to Digital Computers
US4303990A (en) * 1976-07-01 1981-12-01 Gulf & Western Industries, Inc. Programmable controller using microprocessor
US4338660A (en) * 1979-04-13 1982-07-06 Relational Memory Systems, Inc. Relational break signal generating device
DE3070320D1 (en) * 1980-09-27 1985-04-25 Ibm Deutschland Priority stage controlled interruption device
US4527234A (en) * 1982-08-02 1985-07-02 Texas Instruments Incorporated Emulator device including a semiconductor substrate having the emulated device embodied in the same semiconductor substrate
US4523277A (en) * 1982-09-30 1985-06-11 Ncr Corporation Priority interrupt system for microcomputer
US4626988A (en) * 1983-03-07 1986-12-02 International Business Machines Corporation Instruction fetch look-aside buffer with loop mode control
US4636941A (en) * 1983-05-24 1987-01-13 Iwatsu Electric Co., Ltd. Method and apparatus for analysis of microprocessor operation
EP0134831B1 (de) * 1983-09-16 1987-01-07 Ibm Deutschland Gmbh Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
US4691279A (en) * 1984-03-02 1987-09-01 Unisys Corporation Instruction buffer for a digital data processing system
US4635193A (en) * 1984-06-27 1987-01-06 Motorola, Inc. Data processor having selective breakpoint capability with minimal overhead
JPS61195429A (ja) * 1985-02-26 1986-08-29 Canon Inc 演算処理装置
US4674089A (en) * 1985-04-16 1987-06-16 Intel Corporation In-circuit emulator
US4791560A (en) * 1985-07-31 1988-12-13 Unisys Corporation Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program
US4709324A (en) * 1985-11-27 1987-11-24 Motorola, Inc. Data processor control unit having an interrupt service using instruction prefetch redirection

Also Published As

Publication number Publication date
US4998197A (en) 1991-03-05
EP0306644B1 (en) 1997-11-12
EP0306644A2 (en) 1989-03-15
HK1003602A1 (en) 1998-10-30
EP0306644A3 (en) 1990-06-27
KR890002779A (ko) 1989-04-11
US5493659A (en) 1996-02-20
DE3856067D1 (de) 1997-12-18
DE3856067T2 (de) 1998-06-10
US5644703A (en) 1997-07-01

Similar Documents

Publication Publication Date Title
KR970011211B1 (ko) 데이타 처리 장치
KR970011212B1 (ko) 데이타 프로세서
US4542453A (en) Program patching in microcomputer
US5132971A (en) In-circuit emulator
US6145123A (en) Trace on/off with breakpoint register
US5488688A (en) Data processor with real-time diagnostic capability
US5867703A (en) Common reset ROM
US8234430B2 (en) Apparatus and method with controlled switch method
US20030101440A1 (en) Multiple virtual machine environment management system
EP0180476B1 (en) Microprogramme sequence controller
US20030051122A1 (en) Trace information generation apparatus for generating branch trace information omitting at least part of branch source information and branch destination information on target processing
US5949994A (en) Dedicated context-cycling computer with timed context
CA1180455A (en) Pipelined microprocessor with double bus architecture
EP0235255B1 (en) Data processing system including a prefetch circuit
CA1080364A (en) Microprogrammed control of foreign processor control functions
EP0712078B1 (en) Data processor with transparent operation during a background mode and method therefor
EP0267613B1 (en) Micro processor capable of being connected with coprocessor
JP3397230B2 (ja) デバッグシステム
JP2002052215A (ja) 遊技機およびそのcpu
EP0290942B1 (en) Guest machine execution control system for virtual machine system
US5553301A (en) Programmable sequencher having internal components which are microprocessor read/write interfacable
KR20020087387A (ko) 프로세서 시스템
WO1999031564A2 (en) System and method for fault detection in microcontroller program memory
WO2001050251A1 (en) External microcode
CA1137641A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip

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
LAPS Lapse due to unpaid annual fee