[go: up one dir, main page]

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

데이타 처리 장치 Download PDF

Info

Publication number
KR100282015B1
KR100282015B1 KR1019930007159A KR930007159A KR100282015B1 KR 100282015 B1 KR100282015 B1 KR 100282015B1 KR 1019930007159 A KR1019930007159 A KR 1019930007159A KR 930007159 A KR930007159 A KR 930007159A KR 100282015 B1 KR100282015 B1 KR 100282015B1
Authority
KR
South Korea
Prior art keywords
interrupt
state
signal
bit
interrupt request
Prior art date
Application number
KR1019930007159A
Other languages
English (en)
Other versions
KR930022198A (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
Application filed by 가나이 쓰도무, 가부시끼가이샤 히다치 세이사꾸쇼 filed Critical 가나이 쓰도무
Publication of KR930022198A publication Critical patent/KR930022198A/ko
Application granted granted Critical
Publication of KR100282015B1 publication Critical patent/KR100282015B1/ko

Links

Classifications

    • 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/46Multiprogramming arrangements
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)

Abstract

데이타처리장치에 관한 것으로서, 소프트웨어의 실행효율을 높게 유지하고 또한 물리적 논리적 규모의 증가를 최소화하면서, 인터럽트처리를 효과적으로 실행할 수 있는 데이타처리장치를 제공하기 위해, 적어도 하나의 제1 메모리비트와 적어도 하나의 제2 메모리비트를 갖고, 제1 인터럽트 요구신호와 인터럽트 식별 신호에 따라 인터럽트 식별신호가 나타내는 인터럽트 처리를 실행하는 중앙처리장치, 중앙처리장치가 제1의 지정상태에 있는지의 여부를 나타내는 지정신호를 발생하는 제1 지정수단 및 여러개의 인터럽트요인에 각각 대응하는 여러개의 제2 인터럽트 요구신호, 적어도 하나의 제1 메모리비트의 상태를 나타내는 제1 비트 상태신호, 적어도 하나의 제2 메모리비트의 상태를 나타내는 제2 비트상태신호 및 지정신호가 입력되고, 지정신호가 제1 지정상태를 나타내는 경우, 제1 비트상태신호와 제2 비트상태신호에 따라 여러개의 제2 인터럽트 요구신호중의 적어도 하나의 인터럽트 요구신호를 수용하거나 또는 마스크하고, 지정신호가 제1 지정상태와는 다른 상태를 나타내는 경우, 제1 비트상태신호에 따라 여러개의 제2 인터럽트 요구신호중의 적어도 하나의 인터럽트 요구신호를 수용하거나 또는 마스크하고, 여러개의 제2 인터럽트 요구신호중의 수용된 적어도 하나의 인터럽트 요구신호중의 하나에 대응하는 인터럽트 식별신호가 중앙처리장치에 공급되고, 제1 인터럽트 요구신호가 여러개의 제2 인터럽트 요구신호의 수용된 적어도 하나의 인터럽트 요구신호중의 하나에 따라 중앙처리장치로 공급되도록 구성되는 인터럽트 제어수단을 포함하는 것으로 하였다.
이와 같은 구성으로 하는 것에 의해, 지정신호가 제1의 상태를 나타내지 않는 경우, 제2의 비트를 사용자비트로서 사용할 수 있으므로, 소프트웨어를 용이하게 관리할 수 있으며 실행효율을 향상시킬 수 있다.

Description

데이타처리장치
제1도는 본 발명의 1실시예에 따른 데이타처리장치로서 싱글칩 마이크로컴퓨터를 도시한 블럭도.
제2a도∼제2c도는 싱급칠 마이크로컴퓨터의 CPU의 레지스터 구성예를 도시한 도면.
제3a도 및 제3b도는 싱급칠 마이크로컴퓨터의 인터럽트 제어회로의 레지스터 구성예를 도시한 도면.
제4a도 및 제4b도는 싱글칩 마이크로컴퓨터의 인터럽트 허가상태를 도시한 설명도.
제5도는 싱글칩 마이크로컴퓨터의 인터럽트 요인을 도시한 도면.
제6도는 싱글칩 마이크로컴퓨터의 다른 인터럽트 요인을 도시한 도면.
제7a도 및 제7b도는 싱글칩 마이크로컴퓨터의 인터럽트 허가상태의 천이도.
제8도는 CPU를 위한 프로그램 이식방법의 예를 도시한 도면.
제9도는 인터럽트 제어회로에 포함된 우선순위 판정회로를 도시한 도면.
제10도는 우선순위 판정회로에 포함된 회로블럭A의 1예를 도시한 회로도.
제11도는 우선순위 판정회로에 포함된 회로블럭B의 1예를 도시한 회로도.
제12도는 우선순위 판정회로에 포함된 회로블럭C의 1예를 도시한 회로도.
제13도는 CPU에 의한 인터럽트 예외처리의 1예를 도시한 타이밍도.
제14도는 CPU의 1예를 도시한 블럭도.
제15도는 CPU의 조건코드 레지스터의 1예를 도시한 회로도.
본 발명은 데이타처리장치에 관한 것으로서, 특히 마이크로컴퓨터의 인터럽트 제어장치에 사용할 때 유효한 기술에 관한 것이다.
마이크로컴퓨터의 중앙처리장치(CPU)는 예를 들면 1989년 8월 발행된 히다치세사쿠쇼(주)의 "H8/330, HD6473308, HD6433308, Hardware Manual", pp. 23∼60 및 pp. 71∼84(대응 영문판, 1989년 12월 발행, "H8/300, HD6473308, HD6433308, Hardware Manual", pp. 25∼76에 대응)에 기재되어 있는 바와 같이, 범용 레지스터, 누산기, 인덱스 레지스터 등이라고 하는 데이타 레지스터 또는 어드레스 레지스터와 프로그램 카운터 및 조건코드 레지스터 등의 제어 레지스터를 포함한다.
이러한 조건코드 레지스터는 CPU의 데이타처리결과를 반영하는 플래그, 예를 들면 제로플래그, 네거티브플래그, 캐리플래그, 오버플로우 플래그, 하프캐리 플래그를 포함한다. 예를 들면, CPU가 가산을 실행할 때 캐리가 발생하면 캐리플래그가 1로 세트된다. 캐리가 발생하지 않으면 캐리플래그는 0으로 클리어된다.
CPU의 처리와는 관계가 없는 외부요인이 발생할 때 또는 내장기능블럭(타이머 등)의 소정의 동작이 발생할 때, CPU의 처리가 일시적으로 인터럽트되는 것에 의해 외부요인 또는 기능블럭의 동작에 대응하는 처리를 실행가능하게 하는 소위 인터럽트기능이라는 것을 마이크로컴퓨터는 갖는다. 그러한 인터럽트기능을 CPU가 실행할 때, 프로그램카운터 및 조건코드 레지스터의 내용은 CPU의 외부, 소위 스택영역에 세이브된다. 한편, 상기 인터럽트 처리의 실행이 종료하여 소위 리턴명령이 실행되어 CPU의 처리가 인터럽트 기능실행전의 상태로 복귀할 때, 프로그램카운터 및 조건코드 레지스터의 세이브된 내용은 회복된다.
예를 들면, 상기 1989년 8월 발행된 히다치세사쿠쇼(주)의 "H8/330, HD6473308, HD6433308, Hardware Manual", pp. 23∼60 및 pp. 71∼84에 기재된 CPU는 8비트 구조를 각각 갖는 16개의 범용 레지스터, 16비트 프로그램카운터, 8비트 조건코드 레지스터를 포함한다. 제로 플래그, 네거티브 플래그 등에 부가하여 2비트의 사용자비트 및 인터럽트 마스크비트를 조건코드 레지스터에 포함한다. 인터럽트 마스크비트에 "1"이 세트될 때, 인터럽트는 금지된다. 인터럽트 마스크비트가 "0"으로 클리어될 때, 인터럽트는 허가된다. 인터럽트기능이 실행될 때, 인터럽트 마스크비트는 "1"로 세트된다. 조건코드 레지스터는 상술한 인터럽트기능의 실행 및 데이타처리의 결과의 반영으로 인해 변경된다. 조건코드 레지스터는 또 이미디어트데이타와 논리산술연산을 통한 소프트웨어 프로그램에 의해 조작(세트/리세트)될 수 있다. 2비트 사용자비트는 데이타처리결과 또는 인터럽트기능의 실행에 의해 변경되지 않고 소프트웨어 프로그램에 의해서만 변경될 수 있다. 사용자비트는 인터럽트기능의 실행시에 자동적으로 세이브되고, 리턴명령에 의해 복귀되며, 데이타처리결과에 의존하지 않는 성질때문에 소프트웨어의 관리 등에 사용할 수 있다. 사용자비트를 사용하는 것에 의해, 소프트웨어를 용이하게 관리할 수 있으며, 실행효율을 향상시킬 수 있다.
인터럽트요구측으로서의 외부요인 또는 기능블럭의 요인 각각은 허가비트를 갖는다. 허가비트의 상태는 CPU에 의해 설정되고, 시스템 등에 사용되지 않도록 주변회로로부터의 인터럽트를 완전히 금지하는데 사용된다. 허가비트가 "0"으로 클리어되었을 때 허가비트에 대응하는 기능블럭의 동작 또는 외부요인에 관계없이 CPU로의 어떠한 인터럽트도 요구되지 않는다. 허가비트가 "1"로 세트되었을 때 허가비트에 대응하는 기능블럭의 소정의 동작 또는 외부요인에 의해 인터럽트가 요구된다. CPU는 인터럽트 마스크비트에 의해 인터럽트를 금지할 수 있다. 즉, 인터럽트가 요구되더라도, 인터럽트 마스크비트가 "1"로 세트되어 있으면 그러한 인터럽트요구는 인터럽트 마스크비트가 "0"으로 클리어될 때까지 보류된다. 인터럽트가 요구되었을 때, 인터럽트 마스크비트가 "0"으로 클리어되어 있으면 인터럽트요구는 실행중인 명령의 종료시점에서 CPU에 수용된다. 인터럽트처리가 실행된다.
CPU는 1비트만의 인터럽트 마스크비트를 갖고 있다. 따라서, 모든 인터럽트요구를 수용가능하게 할지 또는 모든 인터럽트요구를 보류할지의 두종류의 상태만을 선택할 수 있다. 여러개의 인터럽트요구 중의 일부만을 수용하기 위해서는 허가비트를 사용할 수 밖에 없다. 예를 들면, 어떤 인터럽트처리를 실행하고 있는 동안, 인터럽트요구의 일부는 수용가능하게 하고, 나머지 인터럽트요구는 보류하는 경우, 인터럽트요구측에 각각 마련된 독립 어드레스에 할당된 허가비트를 CPU가 리드한다. CPU는 리드한 허가비트를 예를 들면 RAM에 순차 세이브한 후 수용가능하게 하는 비트를 "1"로 세트하고, 보류해야할 비트를 "0"으로 클리어해야 한다. 한편, 세이브된 허가비트는 인터럽트처리의 최종단계에서 회복해야 한다. 그러한 조작은 처리내용에 비해 복잡하고 프로그램 용량 및 프로그램의 실행시간을 예상이상으로 필요로 한다.
한편, 1988년 12월 발행된 히다치세사쿠쇼(주)의 "H8/532, HD6475328, HD6435328, Hardware Manual", pp. 23∼60 및 pp. 89∼102(대응 영문판, 1989년 8월 발행 "H8/532, HD6475328, HD6435328, Hardware Manual", pp. 23∼73 및 pp. 91∼105에 대응)에 기재되어 있는 바와 같은 CPU는 3비트의 인터럽트 마스크비트를 가지므로, 8개의 인터럽트 허가레벨을 갖는다. 그러나, 본 발명의 발명자의 검토에 따르면, 다음의 사항이 명확하게 되었다. 먼저, 비교적 규모가 작은 시스템 등의 경우, CPU의 응용시스템에 따라 8개의 인터럽트 허가레벨 모두를 거의 사용하지 않는 시스템도 있다. 8개의 인터럽트 허가레벨을 갖는 CPU가 응용분야마다 사용될 때, CPU의 논리적 물리적 규모에 낭비가 생긴다. 필요한 인터럽트 허가레벨수는 항상 고정되는 것이 아니다. 필요한 인터럽트 허가레벨수를 인터럽트처리의 실행상태에 따라 변경할 필요가 있다. 그러나, 8개의 허가레벨을 세트하기 위해서는 다수의 비트, 즉 다수의 레지스터가 반드시 필요하다. 인터럽트 허가레벨을 리세트하기 위해서는 기대한 것보다 큰 프로그램용량 및 긴 실행시간이 필요하다.
본 발명의 목적은 소프트웨어의 실행효율을 높게 유지하고 또한 물리적 논리적 규모의 증가를 최소화하면서, 인터럽트처리를 효과적으로 실행할 수 있는 데이타처리장치를 제공하는 것이다.
상기 목적을 달성하기 위해, 본 발명의 하나의 특징에 따른 데이타처리장치는 적어도 하나의 제1 메모리비트 및 적어도 하나의 제2 메모리비트를 갖고, 제1 인터럽트 요구신호 및 인터럽트 식별신호에 따라 인터럽트 식별신호가 나타내는 인터럽트처리를 실행하는 중앙처리장치, 상태가 제1 지정상태인지 아닌지를 나타내는 지정신호를 발생하는 제1 지정장치, 여러개의 인터럽트요인에 각각 대응하는 여러개의 제2 인터럽트 요구신호, 적어도 하나의 제1 메모리비트의 상태를 나타내는 제1 비트상태신호, 적어도 하나의 제2 메모리비트의 상태를 나타내는 제2 비트상태신호 및 지정신호가 입력되고, 지정신호가 제1 지정상태를 나타낼 때 여러개의 제2 인터럽트 요구신호의 각각이 제1 및 제2 비트상태신호에 따라 수용되거나 또는 마스크되고, 지정신호가 제1 지정상태를 나타내지 않을 때 여러개의 제2 인터럽트 요구신호의 각각이 제1 비트상태신호에 따라 그리고 제2 비트상태신호와는 관계없이 수용되거나 또는 마스크되고, 수용된 하나 이상의 신호중의 하나에 대응하는 인터럽트 식별신호가 중앙처리장치에 공급되고, 제1 인터럽트 요구신호가 수용된 하나이상의 신호중의 하나에 따라 중앙처리장치에 공급되도록 구성된 인터럽트 제어장치를 포함한다.
상기 데이타처리장치에 따르면, 지정신호가 제1 상태를 나타내지 않는 경우, 제2 비트를 상기 사용자비트로서 사용할 수 있다. 따라서, 제2 비트를 사용자비트로서 사용하는 것에 의해, 소프트웨어를 용이하게 관리할 수 있으며 실행 효율을 향상시킬 수 있다. 지정신호가 제1 상태를 나타내는 경우, 제2 비트를 인터럽트 마스크비트로서 사용할 수 있다. 사용자비트로서 사용할 수 있는 제2 비트를 인터럽트 마스크비트로서 사용하는 것에 의해, 물리적 논리적 규모의 증가를 최소화하면서 인터럽트처리의 효율화 또는 고기능을 실현할 수 있다. 또한, 제2 비트를 인터럽트 마스크비트 또는 사용자비트로서 사용할 것인지는 소프트웨어 또는 하드웨어의 상황에 따라 선택할 수 있다. 이러한 점에 대해서도 소프트웨어의 실행효율을 유지하면서 인터럽트처리의 효율화를 실현할 수 있게 된다.
지정신호가 제1 지정상태를 나타내지 않는 경우, 제2 메모리비트의 상태를 중앙처리장치에 의해 실행되는 소정의 명령에 따라서만 변경할 수도 있다.
제1 지정장치는 중앙처리장치에 의해 실행되는 소정의 명령에 따라 지정 신호를 발생할 수도 있다.
제1 지정장치를 중앙처리장치의 어드레스공간에 마련할 수도 있다.
인터럽트 제어장치를 중앙처리장치의 어드레스공간에 마련할 수도 있다.
지정신호가 제1 지정상태를 나타내는 경우, 인터럽트 제어장치는 다음의 방식으로 구성된다. 즉, [a] 제1 비트상태신호가 제1 상태를 나타내는 경우, 인터럽트 제어장치는 마스크하는 일 없이 여러개의 제2 인터럽트 요구신호 모두를 수용한다. [b] 제1 비트상태신호가 제2 상태를 나타내고 제2 비트상태신호가 제3 상태를 나타내는 경우, 인터럽트 제어장치는 여러개의 제2 인터럽트 요구신호의 일부를 수용하고 나머지 제2 인터럽트 요구신호를 마스크한다. [c] 제1 비트상태신호가 제2 상태를 나타내고 제2 비트상태신호가 제4 상태를 나타내는 경우, 인터럽트 제어장치는 여러개의 제2 인터럽트 요구신호 모두를 마스크한다.
데이타처리장치는 여러개의 제2 인터럽트 요구신호의 일부를 지정하는 제2 지정장치를 더 가질 수 있다.
제2 지정장치는 중앙처리장치에 의해 실행되는 소정의 명령에 따라 여러개의 제2 인터럽트 요구신호의 일부를 지정할 수 있다.
제2 지정장치는 여러개의 제3 메모리비트를 포함한다. 여러개의 제3 메모리비트의 각각은 여러개의 제2 인터럽트 요구신호중의 하나 또는 그 이상의 신호에 대응한다. 여러개의 제2 인터럽트 요구신호의 각각은 여러개의 제3 메모리비트중의 어느 하나에 대응한다. 여러개의 제3 메모리비트의 각각이 제1 상태로 세트되는 경우, 제3 메모리비트에 대응하였던 하나 이상의 신호는 제2 인터럽트 요구신호의 일부에 포함된다.
여러개의 제3 메모리비트의 각각이 제2 상태로 세트되는 경우, 제3 메모리비트에 대응하였던 하나이상의 신호도 나머지 제2 인터럽트 요구신호에 포함될 수 있다.
여러개의 제3 메모리비트의 상태는 중앙처리장치에 의해 실행되는 소정의 명령에 따라 변경될 수도 있다.
지정신호가 제1 지정상태를 나타내지 않는 경우, 인터럽트 제어장치는 다음의 방식으로 구성된다. [a] 제1 비트상태신호가 제1 상태를 나타내는 경우, 인터럽트 제어장치는 여러개의 제2 인터럽트 요구신호 모두를 수용한다. [b] 제1 비트상태신호가 제2 상태를 나타내는 경우, 인터럽트 제어장치는 여러개의 제2 인터럽트 요구신호 모두를 마스크할 수 있다.
소정의 인터럽트요인에 대응하는 적어도 하나의 제3 인터럽트 요구신호는 또 인터럽트 제어장치에 입력된다. 인터럽트 제어장치는 제1 및 제2 비트상태 신호와는 관계없이 적어도 하나의 제3 인터럽트 요구신호를 항상 수용할 수 있다.
데이타처리장치는 여러개의 제2 인터럽트 요구신호를 발생하는 여러개의 신호발생부를 갖는다. 여러개의 신호발생부의 각각은 제4 메모리비트를 갖는다. 제4 메모리비트가 제1 상태로 세트되는 경우, 여러개의 신호발생부의 각각은 제2 인터럽트 요구신호를 발생한다. 제4 메모리비트가 제2 상태로 세트되는 경우, 여러개의 신호발생부의 각각은 제2 인터럽트 요구신호를 발생할 필요가 없다.
여러개의 제4 메모리비트의 상태는 중앙처리장치에 의해 실행되는 소정의 명령에 따라 변경될 수 있다.
중앙처리장치는 조건코드 레지스터를 갖는다. 적어도 하나의 제1 메모리비트 및 적어도 하나의 제2 메모리비트는 조건코드 레지스터에 포함될 수 있다.
본 발명의 다른 특징에 따른 데이타처리장치는 적어도 하나의 메모리비트를 갖고, 제1 인터럽트 요구신호 및 인터럽트 식별신호에 따라 인터럽트 식별신호가 나타내는 인터럽트처리를 실행하는 중앙처리장치, 상태가 제1 지정상태인지 아닌지를 나타내는 지정신호를 발생하는 제1 지정장치, 여러개의 인터럽트요인에 각각 대응하는 여러개의 제2 인터럽트 요구신호, 적어도 하나의 메모리비트의 상태를 나타내는 비트상태신호 및 지정신호가 입력되고, 지정신호가 제1 지정상태를 나타내는 경우 여러개의 제2 인터럽트 요구신호의 각각이 비트상태신호에 따라 수용되거나 마스크되고, 지정신호가 제1 지정상태를 나타내지 않는 경우 여러개의 제2 인터럽트 요구신호의 각각이 비트상태신호와 관계없이 수용되거나 마스크되고, 수용된 하나이상의 신호중의 하나에 대응하는 인터럽트 식별신호가 중앙처리장치에 공급되고, 제1 인터럽트 요구신호가 수용된 하나이상의 신호중의 하나에 따라 중앙처리장치에 공급되도록 구성된 인터럽트 제어장치를 포함한다.
지정신호가 제1 지정상태를 나타내지 않는 경우, 제1 메모리비트의 상태는 중앙처리장치에 의해 실행되는 소정의 명령에 따라서만 변경될 수 있다.
중앙처리장치는 조건코드 레지스터를 갖는다. 적어도 하나의 메모리비트는 조건코드 레지스터에 포함될 수 있다.
본 발명의 상기 및 그 밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부도면에 의해 더욱 명확하게 될 것이다.
이하, 본 발명에 따른 데이타처리장치를 도면에 따라 설명한다.
제1도는 본 발명의 1실시예에 따른 데이타처리장치로서의 싱글칩 마이크로컴퓨터를 도시한 것이다.
제1도에 도시한 싱급칩 마이크로컴퓨터(100)은 전체장치를 제어하는 CPU(중앙처리장치)(1), CPU(1)의 동작프로그램 등이 저장되어 있는 ROM(리드온리메모리)(2), CPU(1)의 작업영역 및 데이타의 일시저장영역 등으로 사용되는 RAM(랜덤액세스메모리)(3), 타이머A(41), 타이머B(42), 직렬통신인터페이스(SCI)(5), A/D변환기(6), 입출력회로(71)∼(79), 인터럽트 제어회로(INTC)(8)을 포함한다. 이들 구성요소는 내부버스(101)에 의해 상호 접속되어 있다. 특히 제한되지 않지만, 내부버스(101)은 어드레스신호가 공급되는 어드레스버스, 데이타신호가 공급되는 데이타버스 및 리드신호, 라이트신호, 시스템 클럭 등이 공급되는 제어버스를 포함한다. 입출력회로(71)∼(79)는 CPU(1)의 외부버스, 타이머A(41), 타이머B(42), SCI(5)의 입출력단자, 외부 인터럽트신호의 입력 단자 등의 소정의 동일 종류의 구성요소와 병용된다. 예를 들면, 입출력회로(71) 및 (72)는 어드레스와 병용된다. 입출력회로(73)은 데이타버스와 병용된다. 입출력회로(74),(75),(76) 및 (77)은 타이머A(41), 타이머B(42), SCI(5), A/D변환기(6)과 각각 병용된다. 입출력회로(78)은 외부 인터럽트와 병용된다. 입출력회로(79)는 외부버스제어신호와 병용된다. 상기 싱글칩 마이크로컴퓨터(100)은 공지의 반도체집적회로 제조기술에 의해 실리콘기판과 같은 하나의 반도체기판상에 형성된다.
싱글칩 마이크로컴퓨터(100)은 클럭펄스발생기(CPG)(9)의 단자EXTAL, XTAL에 접속된 수정발진기에서 발생되거나 또는 외부에서 단자EXTAL에 입력되는 외부클럭에서 발생되는 기준클럭(ψ)에 따라 동작을 실행한다. 기준클럭(ψ)의 최소단위를 스테이트라고 한다. 도면에 각각 도시한 Vss, Vcc는 전원 단자이고, RES는 리세트신호 입력단자이며, STBY는 대기(스탠바이)신호 입력단자이다.
제2도a∼제2도c는 본 발명에 따른 데이타처리장치의 1실시예인 CPU(1)의 레지스터의 구성예를 도시한 것이다.
CPU(1)은 각각 8비트로 구성되고, 제2도a에 도시한 16개의 범용 레지스터R0H∼R7H, R0L∼R7L, 제2도c에 도시한 16비트구성의 프로그램 카운터PC, 제2도b에 도시한 8비트구성의 조건코드 레지스터CCR을 포함한다. 제로플래그Z, 네거티브 플래그N, 캐리플래그C, 오버플로우 플래그V, 하프캐리플래그H에 부가하여 인터럽트 마스크비트I 및 2비트의 사용자비트U1, U2가 조건코드 레지스터CCR에 포함된다. 인터럽트 마스크비트I가 "1"로 세트될 때 인터럽트가 금지된다. 인터럽트 마스크비트I가 "0"으로 클리어될 때 인터럽트가 허가된다. 인터럽트기능이 실행될 때, 인터럽트 마스크비트I는 "1"로 세트된다. 조건코드 레지스터CCR은 데이타처리의 결과반영 및 인터럽트기능의 실행에 의해 변경된다. 또한, 이미디어트 데이타의 논리산술연산을 조건코드 레지스터CCR에 대해 실행할 수 있다. 또한, 데이타를 조건코드 레지스터CCR과 소정의 범용 레지스터 사이에서 전송할 수 있다. CCR을 소프트웨어 프로그램에 의해 조작(세트/리세트)할 수 있다. 2비트의 사용자비트U1, U2는 데이타처리결과 및 인터럽트 기능의 실행에 의해서는 변화하지 않고, 소프트웨어 프로그램에 의해서만 변화한다. 논리산술연산으로서 OR, AND, 배타적OR이 있다. 사용자비트U1, U2는 인터럽트 기능의 실행시점에서 자동적으로 세이브되고 리턴명령에 의해 복귀된다. 사용자비트U1, U2는 데이타처리결과에 의존하지 않는 성질 때문에 소프트웨어의 관리 등에 사용할 수 있다. 사용자비트U1,U2를 사용하는 것에 의해 소프트웨어를 용이하게 관리할 수 있고 그의 실행효율을 향상시킬 수 있다.
제1도에 도시한 인터럽트 제어회로(INTC)(8)은 타이머A(41), 타이머B(42), SCI(5) 또는 A/D변환기(6)의 내장입출력회로로부터의 신호 등의 내부 인터럽트 신호(인터럽트요인)(81)을 받는다. INTC(8)은 외부 인터럽트에 의해 일반적으로 사용되는 입출력회로(IOP8)(78)에서 외부 인터럽트신호(82)도 받는다. INTC(8)은 CPU(1)의 인터럽트 마스크비트I의 상태를 검사하여 신호(81) 또는 (82)에 의해 요구된 인터럽트에 대응하는 인터럽트요구(83) 및 벡터신호(인터럽트 식별신호)(84)를 CPU(1)에 공급한다. 내장 입출력회로의 각각은 인터럽트 허가비트를 갖는다. 각각의 내장 입출력회로에 대응하는 인터럽트요구는 인터럽트요인(81)과 인터럽트 허가비트의 AND신호에 따라 형성된다. 마찬가지로, 외부 인터럽트신호는 인터럽트신호(82)와 인터럽트 허가비트(외부 인터럽트신호(82)를 발생하는 외부회로가 갖는 인터럽트 허가비트)의 AND신호에 따라 형성된다. 인터럽트요구(83)이 "1"레벨로 세트될 때, CPU(1)은 다음에 설명하는 인터럽트 예외처리를 소정의 명령의 종료시점에서 실행한다. CPU(1)은 벡터번호(84)에 대응하는 어드레스에서 분기지 어드레스를 인출하고, 그러한 분기지 어드레스에서 인터럽트 처리 프로그램을 실행한다.
이 실시예에 있어서, 인터럽트 제어회로(INTC)(8)은 CPU(1)의 어드레스공간에 마련된다.
또한, 이 실시예에서는 인터럽트 제어회로(INTC)(8)이 CPU(1)에 제어신호(85)를 발생한다. CPU(1)은 조건코드 레지스터CCR의 비트6(하위측에서 7번째 비트)의 사용자비트U2(U2비트라고도 한다)의 상태를 발생한다. 제어신호(85)는 U2비트를 또 다른 하나의 비트인 인터럽트 마스크비트로서 사용할지 또는 사용자비트로서 사용할지를 선택한다.
제3도a 및 제3도b는 인터럽트 제어회로(8)의 레지스터 구성예를 도시한 것이다.
인터럽트 제어회로(8)의 레지스터로서 인터럽트 제어 레지스터ICR 및 인터럽트 우선순위 제어 레지스터IPR이 있다. 레지스터ICR 및 IPR은 내부버스(101)에 접속되고, 내부버스를 거쳐 CPU(1)에서 액세스되도록 구성된다. 즉, 레지스터ICR, IPR의 각 비트의 데이타의 고레벨상태"1" 또는 저레벨상태"0"은 CPU(1)에 의해 결정된다. 예를 들면, 제3도a에 도시한 바와 같이, 레지스터ICR은 하나의 비트의 U2C비트에 의해 구성된다. U2C비트가 "1"로 세트될 때, 조건코드 레지스터CCR의 U2비트는 제2 인터럽트 마스크비트로서 사용된다. U2C비트가 "0"으로 클리어될 때 U2비트는 사용자비트로서 사용된다. U2C비트의 내용은 제어신호(85)로 설정된다.
U2C비트가 "1"로 세트될 때, 인터럽트 마스크비트로서 기능하는 비트는 I비트와 U2비트의 모두 2비트이다. 이 2비트의 조합에 의해 CPU(1)의 인터럽트 마스크레벨을 설정할 수 있다. 각 인터럽트 허가레벨은 제3도b에 도시한 바와 같이, 레지스터IPR의 내용, 즉 IPR0∼IPR7에 의해 설정된다.
예를 들면, 레지스터ICR에 있어서 비트7로서의 U2C비트의 초기값이 0일때, 리드라이트동작을 실행할 수 있다. 나머지 7비트에 대하여 리드 라이트동작은 무효로 된다. 그러나, 이들 7비트를 리드할 때 "0"이 리드된다. 레지스터IPR에 있어서 모든 비트의 초기값이 0일 때, 리드 라이트동작을 실행할 수 있다. 이 실시예에 있어서, U2C비트는 CPU(1)에 의해 실행된 소정의 명령에 따라 설정된다. U2C비트의 내용은 지정상태를 나타내는 지정신호로서 사용된다.
제4도a 및 제4도b는 인터럽트 허가레벨의 설정방법을 나타낸 것이다.
U2C비트가 "0"으로 클리어된 상태에서 인터럽트 마스크비트로서 기능하는 비트는 I비트뿐이다. 대응하는 허가비트가 "1"로 세트된 인터럽트요구는 인터럽트 마스크비트가 "0"으로 클리어될때 허가된다. 그러한 인터럽트요구는 인터럽트 마스크비트I가 "0"으로 클리어될 때 금지된다. 인터럽트요구는 인터럽트 마스크비트I가 "1"로 세트될 때 금지된다. 허가상태에 있어서, 우선(대응비트가 "1"로 세트됨)/비우선(대응비트가 "0"으로 세트됨)은 레지스터IPR의 비트 IPR0∼IPR7의 내용에 따라 지정된다. 여러개의 인터럽트가 동시에 요구될 때, 우선 인터럽트가 우선해서 수용된다.
한편, U2C비트가 "1"로 세트된 상태에서 인터럽트 마스크비트로서 기능하는 비트는 I비트와 U2비트이다. 상기 상태에 부가하여 인터럽트 마스크비트가 "1"로 세트되어 있어도 레지스터IPR에서 "1"로 세트된 비트에 대응한 소정의 인터럽트는 U2비트를 "0"으로 클리어하는 것에 의해 허가될 수 있다. 따라서, 레지스터IPR의 대응비트를 "0"으로 유지하거나 또는 U2비트를 "1"로 세트하는 것에 의해, 1비트의 인터럽트 마스크비트를 갖는 CPU의 경우와 마찬가지의 결과가 얻어진다.
따라서, 초기상태에서 U2C비트를 "0"으로 클리어하는 것에 의해, 인터럽트 마스크비트를 하나의 비트만 갖는 공지의 싱글칩 마이크로컴퓨터에 따라 작성한 소프트웨어 또는 프로그램을 이 실시예에 따른 싱글칩 마이크로컴퓨터(100)에 직접 또는 약간 수정하여 적용할 수 있다.
제5도 및 제6도는 싱급칩 마이크로컴퓨터(100)의 예외처리벡터 테이블의 일예를 도시한 것이다.
제5도 및 제6도에 도시한 바와 같이, 인터럽트의 종별은 리세트, NMI(마스크가 불가능한 인터럽트), CPU(1)에 의해 실행되는 명령(TRAP명령0∼TRAP명령3), 외부단자에 의한 8개의 인터럽트(IRQ0∼IRQ7), 타이머A(41)의 7개의 인터럽트(캡춰TAIC0∼TAIC3, 컴패어매치TACM0 및 TACM1, 오버플로우TAOV), 타이머B(42)의 3개의 인터럽트(컴패어매치TBCM0 및 TBCM1, 오버플로우 TBOV), SCI(5)의 3개의 인터럽트(수신완료SREND, 송신완료STEND, 수신에러SERR), A/D변환기(6)의 1개의 인터럽트(변환종료ADEND)가 있다. NMI는 인터럽트 마스크비트I 및 U2비트의 상태와 관계없이 항상 수용되는 최고 인터럽트를 나타낸다. 다른 인터럽트는 각 주변회로가 갖는 허가비트, 레지스터IPR의 설정(IPR0∼IPR7), I비트, U2비트에 의해 제어된다. IPR은 8비트로 구성되고, 비트(IPR0∼IPR7)은 제5도 및 제6도에 도시한 바와 같은 소정의 요인에 따라 분배되어 할당된다. IRQ0 및 IRQ1에 대하여 우선도를 IPR0 및 IPR1비트에 의해 각각 독립으로 설정할 수 있다. 다른 인터럽트에 대하여 우선도를 여러개의 인터럽트에 대하여 일괄하여 설정할 수 있다. 예를 들면, 내장 입출력회로의 인터럽트의 우선도를 기능블럭마다 설정할 수 있다. 기능블럭의 각 인터럽트 허가비트를 하나의 레지스터에 배치할 수 있다. 따라서, 인터럽트가 IPR에 동일한 우선순위로 설정되어 있어도 인터럽트의 일부를 허가하고 나머지를 금지하는 조작을 용이하게 실행할 수 있다. 동일 우선순위의 인터럽트가 발생하는 경우, 벡터번호가 작은 순으로 수용된다. 각 인터럽트의 기능 및 동작은 본 발명과 직접 관계가 없으므로 그 상세한 설명은 생략한다.
제7도a 및 제7도b는 인터럽트 허가레벨의 상태천이도를 도시한 것이다.
제7도a에 도시한 바와 같이, U2C비트가 "0"으로 세트되어 있는 상태에서 다음의 2가지의 상태가 존재한다.
[1] 하나의 비트가 "0"으로 클리어되어 있는 모든 인터럽트 허가상태.
[2] I비트가 "1"로 세트되어 있는 NMI만의 허가상태.
CPU(1)이 인터럽트를 수용하는 경우에 I비트는 "1"로 세트되고 상태는 상태[2]로 천이한다. 상태는 상기 논리산술연산에 의해 상태[1]로 천이한다.
제7도b에 도시한 바와 같이, U2C비트가 "1"로 세트되어 있는 상태에서 다음의 3가지의 상태가 존재한다.
[1] I비트가 "0"으로 클리어되어 있는 모든 인터럽트 허가상태.
[2] I비트가 "1"로 세트되고 U2비트가 "0"으로 클리어되어 있는 우선 인터럽트 허가상태.
[3] I비트와 U2비트가 모두 "1"로 세트되어 있는 NMI만의 허가상태.
CPU(1)이 인터럽트를 수용하는 경우, I비트와 U2비트는 "1"로 세트되고, 상태는 상태[3]으로 천이된다. 상태는 상기 논리산술연산에 의해 상태[1] 또는 [2]로 천이된다.
리세트후, U2C비트는 "0"으로 클리어되어 있으므로 초기화 프로그램이 필요하다. 그러한 초기화 프로그램은 예를 들면 1989년 8월 발행된 히다치세사쿠쇼(주)의 "H8/330, HD6473308, HD6433308, Hardware Manual"에 기재된 CPU의 연상(뉴모닉)에 따라 표현된 것으로 기술할 수 있다. INIT는 IPR의 초기설정값이다. #은 이미디어트데이타(즉석값)을 나타내고, H'는 16진수를 나타낸다.
〈1〉 ORC #H'40,CCR
〈2〉 MOV. B #INIT, R0L
〈3〉 MOV. B R0L, @IPR
〈4〉 BSET #7, @ICR
〈1〉행은 CCR과 "40"의 OR을 취하는 즉 CCR의 U2비트를 "1"로 세트하는 것을 나타낸다. 〈2〉행은 데이타INIT를 범용 레지스터R0L에 저장하는 것을 나타낸다. 〈3〉행은 범용 레지스터R0L의 내용을 레지스터IPR로 전송하는 것을 나타낸다. 〈4〉행은 레지스터ICR의 U2C비트를 "1"로 세트하는 것을 나타낸다.
이하, 인터럽트처리의 개시 및 종료시의 프로그램에 대해서 설명한다.
하나의 인터럽트를 실행한 후, 그러한 인터럽트의 우선도에 따라 인터럽트 마스크비트I 또는 U2비트를 "0"으로 클리어하면 좋다. 순서적인 처리를 실행하는 경우, 오퍼레이터가 상기 인터럽트 프로그램에서 특정요인의 인터럽트요구만을 수용하고자 하는 경우, 소프트웨어에 의해 레지스터IPR의 내용을 세이브하고, 오퍼레이터가 수용하고자 하는 인터럽트에 대응하는 레지스터IPR의 대응비트를 "1"로 세트하고 나머지비트를 "0"으로 클리어하면 좋다. 그 후, I비트를 "1"로 세트하면서 U2비트를 "0"으로 클리어하는 것이 좋다. 특정한 인터럽트, 예를 들면 타이머A(41) 또는 타이머B(42)의 오버플로우에 대하여 수신에러 등의 이상(異常)처리를 고려할 수 있다.
따라서, 상기 프로그램을 예를 들면 뉴모닉에 따라 표현할 때 다음과 같이 기술할 수 있다. NEW는 IPR의 설정값을 나타낸다.
〈1〉 MOV. B @IPR, R0L
〈2〉 PUSH. B R0L
〈3〉 MOV. B #NEW, R0L
〈4〉 MOV. B R0L, @IPR
〈5〉 ANDC #H'BF, CCR
(인터럽트처리프로그램)
〈6〉 POP. B R0L
〈7〉 MOV. B R0L, @IPR
〈8〉 RTE
상기 프로그램 기술에 있어서, 먼저, 인터럽트 예외처리의 종료후 선두에서 레지스터IPR의 내용이 범용 레지스터 R0L을 경유해서 스택영역에 세이브된다 (〈1〉행 및 〈2〉행). 그 후, 레지스터IPR의 새로운 설정값이 범용 레지스터 R0L을 경유해서 레지스터IPR에 설정된다(〈3행〉 및 〈4〉행). 지금까지는 I비트 및 U2비트가 인터럽트 예외처리에 의해 "1"로 세트되어 유지되고, NMI인터럽트 이외의 인터럽트는 수용되지 않는다. 새로운 우선 인터럽트가 설정된 후, U2비트가 클리어되는 (〈5〉행) 것에 의해, 상기 인터럽트가 허가상태로 설정된다. 인터럽트 처리 프로그램의 실행 중, 허가상태의 인터럽트 및 NMI인터럽트만이 수용가능하게 된다. 소정의 인터럽트처리 종료후, 레지스터IPR의 세이브된 내용은 범용 레지스터R0L을 경유해서 레지스터IPR로 복귀된다(〈6〉행 및 〈7〉행). RTE명령을 실행하는 것에 의해, 처리루틴은 인터럽트 예외처리 이전에 실행중인 프로그램으로 복귀된다(〈8〉행)〉 조건코드 레지스터CCR의 내용은 RTE명령을 실행하는 것에 의해 인터럽트 처리전의 내용으로 복귀된다.
제8도는 인터럽트 마스크비트를 1비트만 갖는 공지의 싱글칩 마이크로컴퓨터(예를 들면 1989년 8월 발행된 히다치세사쿠쇼(주)의 "H8/330, HD6473308, HD6433308, Hardware Manual"에 기재된 마이크로컴퓨터)에 따라 작성한 소프트웨어 또는 프로그램을 이 실시예의 싱글칩 마이크로컴퓨터(100)에 이식한 경우의 프로그램예를 도시한 것이다.
제8도에 도시한 바와 같이, 이식원으로서의 모듈 소프트웨어 또는 프로그램의 각 부분을 변경할 필요가 없다. 인터럽트 처리 프로그램의 선두에 상기 프로그램예의 전반부를 삽입하고, 인터럽트 처리 프로그램의 최후에 후반부를 삽입하면 좋다. 제8도에 도시한 바와 같이, 상기 프로그램예를 초기화 프로그램의 선두에 삽입하는 것이 좋다. 그러한 변경은 인터럽트 처리 프로그램에 부가하여 소프트웨어 또는 프로그램의 각 모듈에 대하여 용이하게 실행할 수 있다.
그러한 이식에 의해 프로그램 용량이 증가한다. 그러나, 그러한 프로그램용량의 증가는 싱글칩 마이크로컴퓨터의 전체 프로그램용량, 예를 들면 16k바이트보다 작아 큰 문제를 발생하지는 않는다고 고려된다. 한편, 상술한 바와 같이, 임의의 인터럽트 처리중에 인터럽트의 일부를 수용가능하게 하고, 나머지를 보류하기 위해 독립된 어드레스에 배치된 허가비트를 세이브한 후, 수용가능하게 하는 비트를 "1"로 세트하고, 보류해야 할 비트를 "0"으로 클리어하고 또한 인터럽트처리의 최후에 세이브된 허가비트를 회복하는 조작을 실행한다. 상술한 바와 같은 경우에 비해, 이 실시예에서는 그러한 경우에 필요한 프로그램을 삭제할 수 있으므로 전체 프로그램 용량이 감소된다.
제9도는 인터럽트 제어회로(8)에 포함된 우선순위 판정회로의 구체적인 1 예를 도시한 것이다.
제9도에 있어서, NMI, TRAP0∼TRAP3, IRQ0∼IRQ7, TAIC0∼TAIC3, TACM0, TACM1, TAOV, TBCM0, TBCM1, TBOV, SREND, STEND, SERR, ADEND의 각각은 상술한 제5도 및 제6도와 관련하여 이미 설명하였던 인터럽트 종별에 대응하는 신호를 나타낸다. VEC0∼VEC5는 제1도의 (84)에 대응하는 벡터번호를 나타낸다. 제10도는 제9도의 회로블럭A의 상세한 예를 도시한 것이다. 제11도는 제9도의 회로블럭B의 상세한 예를 도시한 것이다. 제12도는 제9도의 회로블럭C의 상세한 예를 도시한 것이다. 제10도∼제12도에 있어서, (I0)∼(I7)은 NMI 등의 인터럽트신호의 입력단자를 나타낸다. 제10도 및 제12도의 각각의 출력 V0∼V2는 입력단자(I0)∼(I7)중의 어느 하나에서 입력된 인터럽트가 수용되는 것을 나타내는 3비트의 신호이다. 각 블럭에서 발생된 신호V0∼V2는 제9도에 도시한 OR회로(801)∼(803)을 통해 이전 신호VEC0∼VEC2에 각각 세트된다. 신호V3은 출력신호V0∼V2가 어느 회로블럭으로부터의 출력신호인지를 식별하기 위한 신호이다. 제9도의 신호VEC3, VEC4, VEC5는 각 블럭에서 출력되는 신호V3에 의해 형성된다.
제11도 및 제12도에 있어서, IEN은 상위측회로블럭(제9도의 상위측에 배치된 회로블럭)에서 주어지는 제어신호를 나타낸다. 제10도∼제12도에 있어서, OEN은 하위측회로블럭에 주어지는 제어신호를 나타낸다. 제어신호OEN은 상기 블럭의 인터럽트가 수용될때 또는 상기 블럭의 상위측 회로블럭의 인터럽트가 이미 수용되었을 때 "1"레벨로 세트된다. "1"레벨의 제어신호OEN은 하위 회로블럭의 인터럽트의 수용을 금지하기 위해 사용된다. 예를 들면 블럭A에 공급되는 인터럽트신호가 활성화되어 상기 인터럽트가 수용될 때 제10도에 도시한 OEN은 "1"레벨로 세트된다. "1"레벨신호OEN을 순차 받는 하위블럭에 있어서 신호V0∼V3 모두는 "0"레벨로 강제로 세트된다. 상기 수용은 인터럽트 요구신호가 활성화상태로 세트되어 인터럽트 제어회로로 공급되는 것을 나타낸다.
제11도 및 제12도에 도시한 바와 같이, 내장기능블럭(제1도의 타이머(41), (42), A/D변환기(6), SCI(5) 등)으로부터의 내부 인터럽트신호와 입출력포트에서 송출되는 외부 인터럽트 요구신호는 레지스터IPR의 대응비트의 AND신호를 발생한다. 제11도 및 제12도에 있어서, (01),(02),(03),(04),(05)는 인터럽트요인과 이것에 대응하는 레지스터IPR의 비트 모두가 "1"레벨로 설정되어 있는 상태에 따라 "1"레벨로 세트된다. 즉, 레지스터IPR의 대응비트에 의해 인터럽트가 허가된 요인의 레지스터신호가 활성화될 때 비트는 "1"로 세트된다. 블럭B 및 C에서 출력되는 신호는 제9도에 도시한 OR회로(805)에 공급된다. OR회로(805)의 출력은 U2C비트와 함께 NOR게이트(804)에 공급된다. 제11도 및 제12도의 IP는 제9도의 NOR게이트(804)의 출력제어신호를 나타낸다. 제어신호IP가 "1"레벨일 때 비트IPR0∼IPR7이 "0"으로 세트되어 있는 인터럽트요인에 대해서도 인터럽트를 수용할 수 있다. 제어신호IP가 "1"레벨인 상태는 U2C비트가 0레벨이고(U2비트는 사용자비트로 세트되고 인터럽트 마스크비트는 I비트만으로 세트됨), 레지스터IPR에 "1"이 설정되어 있는 비트에 대응하는 인터럽트가 아직 발생하지 않는 상태에 대응한다. 이 상태에서, 모든 인터럽트 요인이 수용가능하게 된다.
제9도∼제12도에 도시한 회로구성에 있어서, 입출력포트 및 내장기능블럭에서 송출되는 인터럽트 요구신호의 각각과 레지스터IPR의 대응비트 사이의 AND는 AND게이트(제11도 및 제12도의 AND)에 의해 취해진다. AND신호에는 [1] U2C비트 및 I비트가 "1"로 세트되어 있고 U2비트가 "0"으로 클리어되어 있는 상태, [2] U2C비트가 "0"으로 클리어되어 있고 모든 상기 AND신호의 OR신호(OR회로(805)의 출력)이 "1"레벨인 상태에서 우선순위 판정제어가 실시된다. 상기 상태[1]과 [2] 이외의 상태에서 예를 들면 상술한 바와 같이 U2C비트가 "0" 레벨이고(U2비트가 사용자비트로 설정되고 인터럽트 마스크비트가 I비트만 세트됨), 레지스터IPR에 "1"이 설정된 비트에 대응하는 인터럽트가 아직 발생하지 않은 상태에서 인터럽트 요구신호에는 AND게이트 AND의 출력과 관계없이 직접 우선순위판정이 실시된다. 상기 인터럽트 우선순위 판정에 있어서, 인터럽트신호 중의 어느 하나가 "1"레벨일 때 인터럽트요구는 CPU(1)로 송출되고 "1"레벨 신호중의 최소벡터번호의 신호의 벡터번호가 주어진다. NMI나 TRAP명령 등에 상기 상태와 관계없이 우선순위판정이 실시된다. 그러한 우선순위판정은 1989년 8월 발행된 히다치세사쿠쇼(주)의 "H8/330, HD6473308, HD6433308, Hardware Manual"등에 상세히 기재되어 있다.
제12도에 도시한 바와 같이, 상기 AND신호를 IPR이 일반적으로 사용되는 여러개의 인터럽트 요구신호에 대해 공통화할 수 있다. IRQ4이후, IPR을 4요인단위(예약을 포함한다)로 설정되어 있으므로, 하위2비트를 독립적으로 인코드한다. 우선순위판정을 실행하기 위해 상위4비트의 인코드 및 하위2비트의 선택을 실행하면 좋다. 이것에 의해, 논리적 물리적 규모의 증가를 최소화할 수 있다.
제13도는 CPU(1)의 인터럽트 예외처리의 타이밍도이다.
인터럽트 예외처리는 CPU(1)이 인터럽트를 수용할 때 자동적으로 실행되는 과도적인 처리이다. 먼저, CPU(1)이 인터럽트처리의 수용시점에서 명령을 프리페치하였으면, 스테이트T1에서 명령을 종료하고, 스테이트T2 및 T3에서 스택포인터(R7H, R7L) 등의 디크리멘트 등의 내부처리를 CPU(1)에서 순차 실행한다. 그 후, 스테이트T4∼T7에 있어서, 프로그램 카운터PC 및 조건코드 레지스터CCR을 스택영역에 세이브한다. 스테이트T7에 있어서, 인터럽트 제어회로(8)에서 출력되는 벡터번호를 CPU(1)에 공급하고, 또 I비트 및 U2C비트가 "1"로 세트되어 있는 경우, U2비트도 "1"로 세트한다. 스테이트T8 및 T9에서 분기지 어드레스가 벡터번호에 따른 어드레스, 예를 들면 벡터번호를 2배한 어드레스에서 리드된다. 스테이트T10 및 T11에서 분기지 어드레스는 프로그램 카운터 PC에 공급된다. 스테이트T12후, 분기지 어드레스에서 인터럽트 처리 프로그램을 순차 리드한다. 스테이트T14에 있어서, 인터럽트 예외처리가 종료된다. 그 후, 인터럽트 처리 프로그램의 선두명령이 실행된다.
제14도는 CPU(1)의 1실시예의 블럭도를 도시한 것이다. CPU(1)은 명령 레지스터IR, 제어부CONT, 데이타버퍼DB(DBL, DBH), 어드레스버퍼AB(ABL, ABH), 산술논리연산장치ALU(ALUL, ALUH), 범용 레지스터R0H∼R7H, R0L∼R7L, 프로그램 카운터PC(PCL, PCH), 조건코드 레지스터CCR로 구성된다. 명령 레지스터IR 및 데이타버퍼DB는 내부데이타버스H 및 L에 접속된다. 어드레스버퍼AB는 내부어드레스버스H 및 L에 접속된다. 또한, 제어부CONT는 리드신호, 라이트신호 등을 발생한다. 데이타버퍼DB, 어드레스버퍼AB, 산술논리연산장치ALU, 범용 레지스터R0H∼R7H, R0L∼R7L, 프로그램 카운터PC, 조건코드 레지스터CCR은 내부버스 A,B,C에 의해 상호 접속되어 있다. CPU(1)의 상세한 내부구성은 본 발명과 직접 관계가 없으므로, 그의 상세한 설명은 생략한다.
제15도에는 CPU(1)의 조건코드 레지스터CCR의 I비트 및 U2비트의 구체적인 1예의 회로도가 도시되어 있다.
조건코드 레지스터CCR에서, C버스로부터의 데이타입력 및 A버스, B버스로의 데이타출력이 제어부CONT에서 발생되는 제어신호AC, BC, CC에 의해 시스템클럭ψ가 0레벨인 기간동안 실행된다(제15도의 부호*는 *가 없는 신호에 대해 위상이 반전된 신호를 의미한다). 또한, 제어부CONT에 있어서 I비트세트신호ISET가 스테이트T7에서 인터럽트 예외처리를 위해 출력된다. I비트는 시스템클럭ψ가 "0"레벨인 기간동안 P채널 MOS 트랜지스터Q1에 의해 "1"로 세트된다. U2C비트가 "1"로 세트되었을 때 U2비트는 시스템클럭ψ가 "0"레벨인 기간동안 P채널 MOS트랜지스터Q2에 의해 U2C비트의 출력과 I비트 세트신호ISET의 AND신호에 의해 "1"로 세트된다.
상기 실시예에 따르면, 다음의 효과가 얻어진다.
[1] U2비트를 인터럽트 마스크비트로서 선택적으로 사용할 수 있으므로, 물리적 논리적 규모의 증가를 최소화하면서 인터럽트처리의 효율화 또는 고기능을 실현할 수 있다.
[2] 인터럽트 마스크비트로서의 선택이 U2비트에 대해 실행되지 않는 경우, 사용자비트로서의 사용이 보장된다. 따라서, 사용자비트를 사용하는 것에 의해, 소프트웨어를 용이하게 관리할 수 있고 그의 실행효율을 향상시킬 수 있다.
[3] 조건코드 레지스터CCR이 U2C비트를 인터럽트 마스크비트로서 사용할지 또는 사용자비트로서 사용할지를 소프트웨어 또는 하드웨어의 상황에 의해 선택할 수 있으므로, 소프트웨어의 실행효율을 유지하면서 인터럽트처리의 효율화를 용이하게 실현할 수 있다.
[4] 조건코드 레지스터CCR의 U2비트를 인터럽트 마스크비트로서 사용할지 또는 사용자비트로서 사용할지를 설정하는 U2C비트가 CPU(1)의 외부에 마련되어 있으므로, 인터럽트 마스크비트를 1비트만 갖는 CPU의 동작 프로그램을 거의 변경하지 않고 용이하게 사용할 수 있다.
[5] 레지스터IPR의 설정내용에 따라 인터럽트를 일부허가하는 상태를 실현할 수 있으므로 각종 인터럽트처리상태에 따라 유연하게 대처할 수 있다.
[6] 인터럽트 우선도가 지정되는 레지스터IPR이 단위 레지스터로서 하나의 레지스터에 설정되므로, 그러한 레지스터IPR을 용이하게 세이브하고 복귀할 수 있다. 우선도를 효율적으로 변경할 수 있다.
[7] CPU 및 마이크로컴퓨터의 논리적 물리적 규모의 증가를 최소화하면서 소프트웨어의 실행효율을 향상시킬 수 있다.
이상, 본 발명자에 의해 이루어진 발명을 상기 실시예에 따라 구체적으로 설명했지만, 본 발명은 상기 실시예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위내에서 여러가지로 변경가능한 것은 물론이다.
예를 들면, 내장기능블럭 및 인터럽트요인의 수 및 종류, IPR의 비트수 등은 제한되지 않는다. IPR을 2바이트(1워드)로 구성할 수도 있다. CPU가 워드사이즈 명령을 실행할 수 있으면, 명령의 데이타사이즈를 바이트에서 워드로 단지 변경하는 것만으로 좋다. IPR을 CPU에 의해 취급할 수 있는 하나의 데이타단위로 구성하면 좋다. 그러나, 예를 들면 단위가 3바이트이상의 1데이타 단위를 초과하면, CPU는 IPR전체를 일괄하여 취급할 수 없으므로 득책이 없다. 인터럽트 제어회로 또는 CPU의 특정회로에 등은 상기 실시예에 한정되지 않고 여러가지로 변경가능하다. CPU의 레지스터구성, 인터럽트 제어회로의 레지스터구성 등도 상기 실시예에 한정되지 않는다. 예를 들면, U2C비트는 다른 제어비트로서 동일한 레지스터에 포함될 수 있다.
이상, 본 발명에서는 주로 본 발명자에 의해 이루어진 발명을 그 배경으로 된 이용분야인 싱글칩 마이크로컴퓨터에 적용한 경우에 대하여 설명하였다. 그러나, 본 발명은 그러한 경우에 한정되지 않고 반도체집적회로로서 구성된 다른 데이타처리장치에도 널리 적용할 수 있다. 본 발명은 여러개의 현상이 발생할 때 조정하는 기능을 갖는 조건의 적어도 데이타처리장치에 적용할 수 있다.
본원에 있어서 개시되는 발명 중, 대표적인 것에 의해 얻어지는 효과를 간단히 설명하면 다음과 같다.
즉, 조건코드 레지스터 등의 레지스터수단의 소정의 비트를 인터럽트 마스크비트로서 사용할지 또는 사용자비트로서 사용할지를 선택하는 지정수단을 마련하는 것에 의해, 상기 두가지 경우의 어느 하나를 소프트웨어 또는 하드웨어의 상황에 따라 선택할 수 있다. 따라서, 소프트웨어의 실행효율을 유지하면서 또한 물리적 논리적규모의 증가를 최소화하면서 인터럽트처리의 효율화를 실현할 수 있는 데이타처리장치를 얻을 수 있다.
CPU의 외부에 U2C비트 등의 지정수단을 마련하는 것에 의해, 인터럽트 마스크비트를 1비트만 갖는 CPU의 동작 프로그램을 거의 변경하지 않고 용이하게 사용할 수 있다.
레지스터IPR 등의 여러개의 비트를 갖는 1단위의 레지스터수단으로서 기능하고 그러한 레지스터수단의 1비트가 하나 또는 여러개의 인터럽트요인에 대응하는 인터럽트 우선지정 레지스터를 마련하는 것에 의해, 그러한 인터럽트 우선지정 레지스터의 설정내용에 따라 인터럽트를 일부허가하는 상태를 실현하는 것에 의해, 각종 인터럽트 처리상황에 유연하게 대처할 수 있다.
IPR 등의 인터럽트 우선 지정 레지스터를 단위 레지스터로서의 I레지스터에 설정하는 것에 의해 그러한 레지스터의 세이브, 복귀를 용이하게 할 수 있으며 우선도를 효과적으로 변경할 수 있다.

Claims (19)

  1. 적어도 하나의 제1 메모리비트와 적어도 하나의 제2 메모리비트를 갖고, 제1 인터럽트 요구신호와 인터럽트 식별신호에 따라 상기 인터럽트 식별신호가 나타내는 인터럽트 처리를 실행하는 중앙처리장치, 상기 중앙처리장치가 제1의 지정상태에 있는지의 여부를 나타내는 지정신호를 발생하는 제1 지정수단 및 여러개의 인터럽트요인에 각각 대응하는 여러개의 제2 인터럽트 요구신호, 상기 적어도 하나의 제1 메모리비트의 상태를 나타내는 제1 비트상태신호, 상기 적어도 하나의 제2 메모리비트의 상태를 나타내는 제2 비트상태신호 및 상기 지정신호가 입력되고, 상기 지정신호가 제1 지정상태를 나타내는 경우, 상기 제1 비트상태신호와 상기 제2 비트상태신호에 따라 상기 여러개의 제2 인터럽트 요구신호중의 적어도 하나의 인터럽트 요구신호를 수용하거나 또는 마스크하고, 상기 지정신호가 제1 지정상태와는 다른 상태를 나타내는 경우, 상기 제1 비트상태신호에 따라 상기 여러개의 제2 인터럽트 요구신호중의 적어도 하나의 인터럽트 요구신호를 수용하거나 또는 마스크하고, 상기 여러개의 제2 인터럽트 요구신호중의 수용된 적어도 하나의 인터럽트 요구신호중의 하나에 대응하는 인터럽트 식별신호가 상기 중앙처리장치에 공급되고, 상기 제1 인터럽트 요구신호가 상기 여러개의 제2 인터럽트 요구신호의 상기 수용된 적어도 하나의 인터럽트 요구신호중의 하나에 따라 중앙처리장치로 공급되도록 구성되는 인터럽트 제어수단을 포함하는 데이타처리장치.
  2. 제1항에 있어서, 상기 지정신호가 상기 제1 지정상태와는 다른 상태를 나타내는 경우, 상기 제2 메모리비트의 상태는 상기 중앙처리장치에 의해 실행되는 소정의 명령에 따라서만 변화하는 데이타처리장치.
  3. 제1항에 있어서, 상기 제1 지정수단은 상기 중앙처리장치에 의해 실행되는 소정의 명령에 따라 상기 지정신호를 발생하는 데이타처리장치.
  4. 제1항에 있어서, 상기 제1 지정수단은 상기 중앙처리장치의 어드레스공간에 배치되는 데이타처리장치.
  5. 제1항에 있어서, 상기 인터럽트 제어수단은 상기 중앙처리장치의 어드레스공간에 배치되는 데이타처리장치.
  6. 제1항에 있어서, 상기 지정신호가 제1 지정상태를 나타내는 경우, 상기 인터럽트 제어수단은 [a] 상기 제1 비트상태신호가 제1 상태를 나타내는 경우, 상기 인터럽트 제어수단은 상기 여러개의 제2 인터럽트 요구신호 모두를 마스크하지 않고 수용하고, [b] 상기 제1 비트상태신호가 제2 상태를 나타내고 상기 제2 비트상태신호가 제3 상태를 나타내는 경우, 상기 인터럽트 제어수단은 상기 여러개의 제2 인터럽트 요구신호중의 일부를 수용하고 나머지 제2 인터럽트 요구신호를 마스크하며, [c] 상기 제1 비트상태신호가 제2 상태를 나타내고 상기 제2 비트상태신호가 제4 상태를 나타내는 경우, 상기 인터럽트 제어수단은 상기 여러개의 제2 인터럽트 요구신호 모두를 마스크하도록 구성되는 데이타처리장치.
  7. 제6항에 있어서, 상기 여러개의 제2 인터럽트 요구신호중의 일부를 지정하는 제2 지정수단을 더 갖는 데이타처리장치.
  8. 제7항에 있어서, 상기 제2 지정수단은 상기 중앙처리장치에 의해 실행되는 소정의 명령에 따라 상기 여러개의 제2 인터럽트 요구신호중의 일부를 지정하는 데이타처리장치.
  9. 제7항에 있어서, 상기 제2 지정수단은 여러개의 제3 메모리비트를 포함하고, 상기 여러개의 제3 메모리비트의 각각은 상기 여러개의 제2 인터럽트 요구신호 중에서 적어도 하나의 신호에 따라 세트되고, 상기 여러개의 제2 인터럽트 요구신호의 각각은 상기 여러개의 제3 메모리비트중의 적어도 하나에 따라 설정되고, 상기 여러개의 제3 메모리비트의 각각이 제1 상태에 있는 경우, 상기 제3 메모리비트에 따라 설정되었던 하나 이상의 신호는 상기 제2 인터럽트 요구신호의 일부에 포함되고, 상기 여러개의 제3 메모리비트의 각각이 제2 상태에 있는 경우, 상기 제3 메모리비트에 따라 설정되었던 하나이상의 신호는 상기 나머지 제2 인터럽트 요구신호에 포함하는 데이타처리장치.
  10. 제9항에 있어서, 상기 여러개의 제3 메모리비트의 상태는 상기 중앙처리장치에 의해 실행되는 소정의 명령에 따라 변화되는 데이타처리장치.
  11. 제1항에 있어서, 상기 지정신호가 제1 지정상태와는 다른 상태를 나타내는 경우, 상기 인터럽트 제어수단은 [a] 상기 제1 비트상태신호가 제1 상태를 나타내는 경우, 상기 인터럽트 제어수단은 상기 여러개의 제2 인터럽트 요구신호 모두를 수용하고, [b] 상기 제1 비트상태신호가 제2 상태를 나타내는 경우, 상기 인터럽트 제어수단은 상기 여러개의 제2 인터럽트 요구신호 모두를 마스크하도록 구성되는 데이타처리장치.
  12. 제1항에 있어서, 소정의 인터럽트요인에 따른 여러개의 인터럽트 요구신호중의 적어도 하나는 상기 인터럽트 제어수단에 입력되고, 상기 인터럽트 제어수단은 상기 제1 비트상태신호와 상기 제2 비트상태신호에 관계없이 상기 여러개의 제3 인터럽트 요구신호중의 적어도 하나를 수용하는 데이타처리장치.
  13. 제1항에 있어서, 상기 여러개의 제2 인터럽트 요구신호를 발생하는 여러개의 신호발생부를 더 포함하고, 상기 여러개의 신호발생부의 각각은 제4 메모리비트를 구비하고, 상기 제4 메모리비트가 제1 상태에 있는 경우, 상기 여러개의 신호발생부의 각각은 상기 여러개의 제2 인터럽트 요구신호중의 하나를 발생하고, 상기 제4 메모리비트가 제2 상태에 있는 경우, 상기 신호발생부의 각각은 상기 제2 인터럽트 요구신호를 발생하지 않는 데이타처리장치.
  14. 제13항에 있어서, 상기 각각의 제4 메모리비트의 상태는 상기 비트상태신호에 의해 실행되는 소정의 명령에 따라 변화되는 데이타처리장치.
  15. 제1항에 있어서, 상기 중앙처리장치는 조건코드레지스터를 포함하고, 상기 적어도 하나의 제1 메모리비트와 상기 적어도 하나의 제2 메모리비트는 상기 조건코드레지스터에 포함되는 데이타처리장치.
  16. 적어도 하나의 메모리비트를 갖고, 제1 인터럽트 요구신호와 인터럽트 식별신호에 따라 상기 인터럽트 식별신호를 나타내는 인터럽트 처리를 실행하는 중앙처리장치, 상기 중앙처리장치가 제1의 지정상태에 있는지의 여부를 나타내는 지정신호를 발생하는 제1 지정수단 및 여러개의 인터럽트요인에 각각 대응하는 여러개의 제2 인터럽트 요구신호, 상기 적어도 하나의 제1 메모리비트의 상태를 나타내는 비트상태신호 및 상기 지정신호가 입력되고, 상기 지정신호가 상기 제1 지정상태를 나타내는 경우, 상기 비트상태신호에 따라 상기 여러개의 제2 인터럽트 요구신호의 각각을 수용하거나 또는 마스크하고, 상기 제1 지정상태와는 다른 상태를 나타내는 경우, [i] 상기 여러개의 제2 인터럽트 요구신호의 각각은 상기 비트상태신호와 관계없이 수용되고, [ⅱ] 상기 수용된 신호중의 적어도 하나에 따른 상기 인터럽트 식별신호가 상기 중앙처리장치에 공급되고, [ⅲ] 상기 제1 인터럽트 요구신호가 상기 수용된 신호중의 적어도 하나에 따라 상기 중앙처리장치로 공급되도록 구성되는 인터럽트 제어수단을 포함하는 데이타처리장치.
  17. 제16항에 있어서, 상기 지정신호가 상기 제1 지정상태와는 다른 상태를 나타내는 경우, 상기 제2 메모리비트의 상태는 상기 중앙처리장치에 의해 실행되는 소정의 명령에 따라서만 변화되는 데이타처리장치.
  18. 제16항에 있어서, 상기 중앙처리장치는 조건코드레지스터를 구비하고, 상기 적어도 하나의 메모리비트는 상기 조건코드레지스터에 포함되는 데이타처리장치.
  19. 적어도 하나의 제1 메모리비트와 적어도 하나의 제2 메모리비트를 갖고, 제1 인터럽트 요구신호와 인터럽트 식별신호에 따라 상기 인터럽트 식별신호를 나타내는 인터럽트 처리를 실행하는 중앙처리장치, 상기 중앙처리장치가 제1의 지정상태에 있는지의 여부를 나타내는 지정신호를 발생하는 제1 지정수단 및 여러개의 인터럽트요인에 대응하는 여러개의 제2 인터럽트 요구신호, 상기 적어도 하나의 제1 메모리비트의 상태를 나타내는 제1 비트상태신호, 상기 제2 메모리비트의 상태를 나타내는 제2 비트상태신호 및 상기 지정신호가 입력되도록 구성되는 인터럽트 제어수단을 포함하며, 상기 인터럽트 제어수단은 상기 지정신호가 제1 지정상태를 나타내는 경우, [a] 상기 제1 비트상태신호가 제1 상태를 나타내는 경우, 상기 인터럽트 제어수단은 상기 여러개의 제2 인터럽트 요구신호 모두를 마스크하지 않고 수용하고, [b] 상기 제1 비트상태신호가 제2 상태를 나타내고 제2 비트상태신호가 제3 상태를 나타내는 경우, 상기 인터럽트 제어수단은 여러개의 제2 인터럽트 요구신호의 일부를 수용히고, 나머지 제2 인터럽트 요구신호를 마스크하며, [c] 상기 제1 비트상태신호가 제2 상태를 나타내고, 제2 비트상태신호가 제4 상태를 나타내는 경우, 상기 인터럽트 제어수단은 상기 여러개의 제2 인터럽트 요구신호 모두를 마스크하고, 상기 지정신호가 상기 제1 지정상태와는 다른 상태를 나타내는 경우, 상기 제1 비트상태신호에 따라서만 상기 여러개의 제2 인터럽트 요구신호중의 적어도 하나의 인터럽트 요구신호를 수용하거나 또는 마스크하도록 구성되는 데이타처리장치.
KR1019930007159A 1992-04-30 1993-04-28 데이타 처리 장치 KR100282015B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP92-137995 1992-04-30
JP13795592A JP3171925B2 (ja) 1992-04-30 1992-04-30 データ処理装置
JP92-137955 1992-04-30

Publications (2)

Publication Number Publication Date
KR930022198A KR930022198A (ko) 1993-11-23
KR100282015B1 true KR100282015B1 (ko) 2001-02-15

Family

ID=15210628

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930007159A KR100282015B1 (ko) 1992-04-30 1993-04-28 데이타 처리 장치

Country Status (3)

Country Link
US (1) US5432943A (ko)
JP (1) JP3171925B2 (ko)
KR (1) KR100282015B1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04306735A (ja) * 1991-04-04 1992-10-29 Toshiba Corp 非同期割込み禁止機構
EP0545581B1 (en) * 1991-12-06 1999-04-21 National Semiconductor Corporation Integrated data processing system including CPU core and parallel, independently operating DSP module
JPH0895798A (ja) * 1994-09-29 1996-04-12 Fujitsu Ltd データ処理装置
US5671421A (en) * 1994-12-07 1997-09-23 Intel Corporation Serial interrupt bus protocol
US5535420A (en) * 1994-12-14 1996-07-09 Intel Corporation Method and apparatus for interrupt signaling in a computer system
US6170033B1 (en) * 1997-09-30 2001-01-02 Intel Corporation Forwarding causes of non-maskable interrupts to the interrupt handler
US5987559A (en) * 1998-02-02 1999-11-16 Texas Instruments Incorporated Data processor with protected non-maskable interrupt
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6985986B2 (en) * 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US7003543B2 (en) * 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US7007172B2 (en) 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US7356649B2 (en) 2002-09-30 2008-04-08 Renesas Technology Corp. Semiconductor data processor
US20200233669A1 (en) * 2017-02-16 2020-07-23 Oscar Technology Corporation Processor system and multiprocessor system
JP6855399B2 (ja) 2018-01-26 2021-04-07 株式会社スギノマシン ノズルの振れの測定方法及びその装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3611312A (en) * 1969-08-21 1971-10-05 Burroughs Corp Method and apparatus for establishing states in a data-processing system
US4003028A (en) * 1974-10-30 1977-01-11 Motorola, Inc. Interrupt circuitry for microprocessor chip
US4010448A (en) * 1974-10-30 1977-03-01 Motorola, Inc. Interrupt circuitry for microprocessor chip
US4159516A (en) * 1976-03-23 1979-06-26 Texas Instruments Incorporated Input/output controller having selectable timing and maskable interrupt generation
US4250546A (en) * 1978-07-31 1981-02-10 Motorola, Inc. Fast interrupt method
JPS58225441A (ja) * 1982-06-24 1983-12-27 Panafacom Ltd 割込み制御方式
US4825358A (en) * 1985-04-10 1989-04-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US4779195A (en) * 1985-06-28 1988-10-18 Hewlett-Packard Company Interrupt system using masking register in processor for selectively establishing device eligibility to interrupt a particular processor
JPS62243058A (ja) * 1986-04-15 1987-10-23 Fanuc Ltd マルチプロセツサシステムの割込制御方法
US4930068A (en) * 1986-11-07 1990-05-29 Nec Corporation Data processor having different interrupt processing modes
JPS63238630A (ja) * 1987-03-26 1988-10-04 Toshiba Corp マイクロプロセツサの割込み制御装置
JPH01236327A (ja) * 1988-03-16 1989-09-21 Fujitsu Ltd 割込みマスク制御方法
JP2855298B2 (ja) * 1990-12-21 1999-02-10 インテル・コーポレーション 割込み要求の仲裁方法およびマルチプロセッサシステム
US5291603A (en) * 1991-03-14 1994-03-01 Westinghouse Electric Corp. Microprocessor system with multiple interrupts masked for use in electronic control or monitoring of various solid-state products
JP3176093B2 (ja) * 1991-09-05 2001-06-11 日本電気株式会社 マイクロプロセッサの割込み制御装置

Also Published As

Publication number Publication date
US5432943A (en) 1995-07-11
JP3171925B2 (ja) 2001-06-04
KR930022198A (ko) 1993-11-23
JPH05307485A (ja) 1993-11-19

Similar Documents

Publication Publication Date Title
KR100282015B1 (ko) 데이타 처리 장치
EP0597441B1 (en) Microprocessor having a bus-width change function
US5659759A (en) Data processing device having improved interrupt controller to process interrupts of different priority levels
US5511207A (en) Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction
US6425039B2 (en) Accessing exception handlers without translating the address
US4631659A (en) Memory interface with automatic delay state
US4737932A (en) Processor
EP0266800B1 (en) Data processor having different interrupt processing modes
EP0977125A1 (en) Peripheral control processor
US4961161A (en) Arithmetic processor performing mask and trap operations for exceptions
US6401197B1 (en) Microprocessor and multiprocessor system
US20020138156A1 (en) System of connecting multiple processors in cascade
EP0435092B1 (en) Data processing system with direct memory access controller and method for varying communication bus masterchip in response to prioritized interrupt requests
US5568643A (en) Efficient interrupt control apparatus with a common interrupt control program and control method thereof
US4405983A (en) Auxiliary memory for microprocessor stack overflow
US5280618A (en) Interrupt test circuit for microprocessor system
GB2216306A (en) Load and synchronize computer architecture and process
US5671424A (en) Immediate system management interrupt source with associated reason register
EP0172523B1 (en) Microcomputer having at least one input-output unit
US5208915A (en) Apparatus for the microprogram control of information transfer and a method for operating the same
US6938118B1 (en) Controlling access to a primary memory
JPH0644295B2 (ja) タイマ装置及びタイマ方法
JP3681590B2 (ja) データ処理装置及びデータ処理システム
EP0560393B1 (en) Microprocessor and data processing system with register file
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19930428

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19980424

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 19930428

Comment text: Patent Application

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20001026

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20001123

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20001123

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20031031

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20041101

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20051110

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20061110

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20071106

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20081110

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20091110

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20101122

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20111028

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20121114

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20121114

Start annual number: 13

End annual number: 13

EXPY Expiration of term
PC1801 Expiration of term

Termination date: 20131028

Termination category: Expiration of duration