KR19980019215A - 자기진단 유닛을 구비한 마이크로컴퓨터(Microcomputer with self-diagnostic unit) - Google Patents

자기진단 유닛을 구비한 마이크로컴퓨터(Microcomputer with self-diagnostic unit) Download PDF

Info

Publication number
KR19980019215A
KR19980019215A KR1019970045783A KR19970045783A KR19980019215A KR 19980019215 A KR19980019215 A KR 19980019215A KR 1019970045783 A KR1019970045783 A KR 1019970045783A KR 19970045783 A KR19970045783 A KR 19970045783A KR 19980019215 A KR19980019215 A KR 19980019215A
Authority
KR
South Korea
Prior art keywords
cpu
register
microcomputer
macro service
unit
Prior art date
Application number
KR1019970045783A
Other languages
English (en)
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 KR19980019215A publication Critical patent/KR19980019215A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

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

Abstract

CPU의 자기진단을 수행하기 위해서, 외부로부터의 인터럽트 신호에 응답하여 CPU 모니터 매크로 서비스가 기동된다. CPU 모니터 매크로 서비스에서, 명령 코드 기억영역의 CPU 모니터 매크로 서비스 코드에 따라, CPU 모니터 매크로 서비스가 여기되기 이전에 RAM에 기록되었던 CPU 진단용 초기값(α)을 TA 레지스터에 저장한다. 또한 초기값(α)을 사용하여 CPU를 진단한 결과값의 출력 수신지를 나타내는 어드레스(β)를 TC 레지스터에 저장한다. 상기 초기값(α)은 Lm에 관련된 어드레스와 경로의 검사 및 인터럽트 프로세싱에서 데이터를 저장하는 레지스터의 검사에 사용된다. 이어서, 산술 연산 유닛(ALU)은 실행 결과값에 연산을 실행하여 연산 결과값을 ALU 레지스터로 전송한다. 그리고 나서, 실행 결과값은 TA 레지스터로 옮겨지고, 다시 TC 레지스터에 저장된 어드레스(β)가 지시하는 외부 메모리의 출력 수신지로 입출력 포트를 통해 출력되고, 이로써 마이크로컴퓨터의 상태는 그 외부에서 검사할 수 있다.

Description

자기진단 유닛을 구비한 마이크로컴퓨터
본 발명은 자기진단 유닛(self-diagnostic unit)을 갖는 마이크로컴퓨터에 관한 것으로서, 특히 외부 인터럽트 신호에 의한 CPU 진단에 필요한 일련의 명령을 수행하기 위한 프로그램인 CPU 모니터 매크로 서비스(CPU monitor macro service)에 의해 마이크로컴퓨터 내의 CPU를 진단하는 자기진단 기능을 갖는 마이크로컴퓨터에 관한 것이다.
최근에, 자동차의 성능을 향상시키고 그 안전도를 제고하기 위해서, 마이크로컴퓨터를 구비한 전자 제어기가 엔진 제어기나 브레이크 제어기와 같은 자동차의 주 제어기(main controller) 내에 일반적으로 사용되고 있다. 엔진 제어기와 브레이크 제어기에 관련된 사용자 셋(user set)이나 마이크로컴퓨터에 고장이 발생한 경우, 이는 사람의 생명을 위협하게 된다. 따라서, 이러한 기술 분야에 사용하기 위한 마이크로컴퓨터는 높은 신뢰도를 요구한다. 사용자 셋에 사용하기 전에 마이크로컴퓨터에 고장이 발생했는지 여부를 검사하기 위해서, 자동차용 제어기의 기술자들은 마이크로컴퓨터를 사용자 보드에 설치한 후 외부로부터 자기진단 소프트웨어를 마이크로컴퓨터에 적용한다. 이로써, 상기 자기진단 소프트웨어가 마이크로 컴퓨터 내의 CPU를 진단하여 그 진단 결과에 따라서 고장 발생 여부를 확인한다.
전술한 바와 같이, 자동차에 사용되는 종래의 마이크로컴퓨터에 있어서는, 마이크로컴퓨터를 사용자 보드에 설치한 후 사용자 셋을 선적하기 전에 CPU 진단용 자기진단 소프트웨어를 마이크로컴퓨터에 적용되어 마이크로컴퓨터의 상태를 확인한다. 이 경우, CPU의 자기진단은 외부로부터의 CPU 자기진단 소프트웨어의 명령에 따라 구현된다.
반면, 일본 특허 공개 공보 제 60-183639호 데이터 처리장치 에는 인터럽트에 의해 일련의 명령을 수행하는 매크로 서비스를 기술한다. 종래의 매크로 서비스에서는, 중앙 처리 유닛이 데이터 처리 제어수단을 포함하고, 상기 데이터 처리 제어수단은 프로그램 메모리에서 프로그램 수행에 관련된 제 1프로세스가 홀트(halt)되면 즉시 산술 연산을 수행하고 전체 상태를 변화시키기 않고서 기억장치에 저장된 데이터를 제공한다. 카운터(counter)로부터의 처리 요구에 대응하여, 데이터 처리수단은 상기 산술 연산과 데이터 제공을 수행한다. 따라서, 종래의 데이터 처리장치는 인터럽트에 의해 소모되는 시간을 감소시키고 재빨리 제 1프로세스로 복귀 한다.
그러나, 상기 종래의 매크로 서비스의 목적은 외부 프로그램을 인터럽트 처리로서 실행하는 데에 필요한 시간을 감소시키는 것뿐이고, CPU 진단에 필요한 시간을 감소시키는 것은 아니다. CPU 진단에 대해서는, 상기 특허의 공보는 기능이나 구조에 관해서 공개 또는 시사하는 바가 없다.
본 발명의 목적은 외부 소프트웨어에 의하여 CPU를 진단하는 종래의 마이크로컴퓨터에 비하여 소프트웨어의 명령어 판독에 소모되는 시간을 감소시킴으로써 CPU를 짧은 시간 내에 진단할 수 있는 자기진단 유닛을 구비한 마이크로컴퓨터를 제공하는 것이다.
본 발명에 따르면, 자기진단 유닛을 구비한 마이크로컴퓨터는 인터럽트에 의해 일련의 명령어를 실행하는 CPU 모니터 매크로 서비스를 채용하여 마이크로컴퓨터를 사용자 보드에 설치한 후에 마이크로컴퓨터 내의 CPU에 대한 자기진단을 수행한다.
본 발명의 특징에 따르면, 자기진단 유닛을 구비한 마이크로컴퓨터의 CPU, 임의로 판독 및 기록이 가능한 RAM 인터럽트 처리 유닛, 데이터 버스, 입출력 포트, 외부 인터럽트 신호에 의해 일련의 명령을 실행하여 상기 마이크로컴퓨터의 CPU를 진단하는 프로그램인 CPU 모니터 매크로 서비스, 미리 외부로부터 공급된 데이터를 참조하여 상기 CPU 모니터 매크로 서비스에 따라 상기 마이크로컴퓨터의 CPU를 진단하는 CPU 진단 유닛 및 상기 외부에 의해 공급된 데이터를 사용하여 상기 CPU 진단 유닛이 진단한 결과를 상기 마이크로컴퓨터의 외부로 출력하는 출력 유닛을 포함한다.
본 발명의 다른 특징에 따르면, 자기진단 유닛을 구비한 마이크로컴퓨터가 CPU, 임의로 판독 및 기록이 가능한 RAM, 인터럽트 처리 유닛, 데이터 버스, 입출력 포트, 외부 인터럽트 신호에 의해 일련의 명령을 실행하여 상기 마이크로컴퓨터의 CPU를 진단하는 프로그램인 CPU 모니터 매크로 서비스, 상기 CPU 모니터 매크로 서비스를 기동하기 위한 기동 유닛, 상기 CPU 모니터 매크로 서비스의 명령어 코드를 저장하기 위한 명령어 코드 기억공간인 마이크로 ROM, 상기 마이크로 ROM의 CPU 모니터 매크로 서비스의 명령어 코드에 따라서, 상기 CPU 모니터 매크로 서비스를 여기(initiation)하기 이전에 외부 메모리의 사용자 프로그램을 사용하여 상기 CPU 진단의 수행을 위한 초기값을 RAM에 기록 저장하는 제 1레지스터, 상기 외부 메모리의 사용자 프로그램을 사용하여 상기 RAM에 기록된 초기값에 따라 CPU 진단을 실행한 후 상기 실행의 결과값에 대한 출력 수신지를 지시하는 어드레스를 저장하는제 2레지스터, 상기 초기값을 사용하여 RAM의 어드레스와 이에 대한 경로를 검사하여 인터럽트 프로세싱에서 데이터를 저장(save)하는 제 3레지스터, 상기 제 3레지스터를 지시하는 수신지 유닛, 상기 검사의 실행 결과값에 대하여 산술 연산을 구현하는 연산 유닛에 의한 산술 연산의 결과를 저장하는 제 4레지스터 및 상기 검사 이후에 상기 결과를 상기 제 4레지스터로부터 상기 제 1레지스터로 저장하고 상기 제 2레지스터가 지시하는 포트를 통해 상기 제 1레지스터에 저장된 실행 결과값을 상기 마이크로컴퓨터의 외부로 출력하기 위한 출력 유닛을 포함하고, 상기 마이크로컴퓨터의 상기 외부에서의 실행 결과값을 참조하여 상기 마이크로컴퓨터의 CPLT의 상태가 진단된다.
도 1은 본 발명에 따른 자기진단 유닛을 구비한 마이크로컴퓨터의 실시예의 구조를 도시하는 도면.
도 2는 본 발명에 따른 자기진단 유닛을 구비한 마이크로컴퓨터의 실시예의 구조를 상세히 도시하는 도면.
도면의 주요 부분에 대한 부호 설명
3 : 인터럽트 처리 유닛4 : 데이터 버스
5 : 입출력 포트6 : CPU 모니터 매크로 서비스
7 : CPU 진단 모듈8 : 출력 모듈
11 : 외부 메모리
첨부한 도면을 참조하여 본 발명에 따른 자기진단 유닛을 구비한 마이크로컴퓨터의 실시예를 기술한다.
도 1은 본 발명에 따른 자기진단 유닛을 구비한 마이크로컴퓨터의 실시예의 구조를 도시하는 도면이고, 도 2는 상기 실시예의 구조를 상세히 도시하는 도면이다.
먼저, 도 1을 참조하여 실시예의 구조를 기술한다.
도 1에 도시된 바와 같이, 본 발명에 따른 마이크로컴퓨터(10)는 CPU(1), 임의로 판독 및 기록이 가능한 RAM(2), 인터럽트 처리 유닛(3), 데이터 버스(4), 입출력 포트(5). 및 자기진단 유닛(9)을 포함한다. 자기진단 유닛(9)은 CPU 모니터 매크로 서비스(6), CPU 진단 모듈(7) 및 출력 모듈(8)을 포함한다. CPU 모니터매크로 서비스(6)는 외부 인터럽트 신호에 응답하여 일련의 명령을 실행하는 프로그램이다. CPU 진단 모듈(7)은 CPU 모니터 매크로 서비스(6)에 따라 외부 메모리(11)의 데이터를 참조함으로써 CPU(1)를 진단한다. 출력 모듈(8)은 CPU(1)의 진단결과를 참조 데이터를 사용하여 외부로 출력한다.
다음으로, 도 2를 참조하여 본 발명에 따른 자기진단 유닛을 구비한 마이크로컴퓨터의 실시예를 상세히 기술한다.
CPU 진단을 요구하는 인터럽트 신호(100)에 응답하여, 마이크로 ROM 제어회로(101)는 CPU 진단에 필요한 일련의 명령을 실행하는 CPU 모니터 매크로 서비스를기동한다. 그리고 나서, 명령 및 인터럽트 신호에 대응하는 명령어 코드 기억영역의 어드레스를 생성하는 마이크로 ROM 제어회로(101)는 명령어 코드 기억영역인 마이크로 ROM(115)에 CPU 모니터 매크로 서비스 코드(102)를 지정한다. CPU 모니터 매크로 서비스 코드(102)에 따르면, CPU 진단에 사용되는 초기값(α) 및 어드레스가 TA 레지스터(114)와 TC 레지스터(112)에 각각 저장된다. 초기값(α)은 CPU 모니터 매크로 서비스가 기동되기 전에 외부 신호라인(127)을 통해 외부 메모리(11)의 사용자 프로그램에 의해 RAM(110)에 기록된다. 상기 어드레스는 초기값(α)을 사용하여 CPU 진단을 실행한 결과값에 대한 출력 수신지를 나타낸다. TA 레지스터(1l4)의 초기값(α)을 사용하여 RAM(110)의 어드레스 및 인터럽트 처리에서 데이터를 저장(save)하는 TB 레지스터(113)의 기능을 순차적으로 검사한다. 상기 검사 이후에, 산술 연산 유닛인 ALU(111)는 실행 결과값에 연산을 수행하여 이 실행결과 연산값을 ALU 레지스터(126)에 전달하고, 이로써 그 결과값은 TA 레지스터(114)에 저장된다. 그리고 나서, TA 레지스터(114)에 저장된 실행 결과값은 TC 레지스터(112)의 어드레스가 지정하는 포트(118)를 통해 마이크로컴퓨터(125)의 내부 신호(120)로서 출력되고, 이로써 사용자는 실행 결과값을 참조하여 고장이 일어났는지 여부를 확인할 수 있다.
마이크로 명령(116)은 데이터가 데이터 버스(103)에 출력되어야 하는 블럭을나타낸다. PSWL(119)는 프로그램 상태 워드의 하위 8비트이다. 특별 명령(1l7)은 PSWL(119)의 플래그를 설정 및 재설정한다. SPH(108)는 저장용 상기 레지스터의상위 4비트로 구성되는 스택 포인터의 상위 8비트이다. SP(109)는 인터럽트 처리시에 데이터를 저장하는 레지스터의 하위 16 비트를 포함하는 스택 포인터인 스택 포인터의 하위 l6비트이다.
다음으로, 상기 실시예의 동작을 기술한다.
인터럽트 신호(100)는 인터럽트 신호에 응답하여 일련의 명령을 실행하기 위한 CPU 모니터 매크로 서비스를 기동한다. 상기 CPU 모니터 매크로 서비스는 TA 레지스터(114)와 TC 레지스터(112)에 CPU 진단에 사용하기 위한 초기값(α) 및 CPU진단의 실행 결과값의 출력 수신지 어드레스(β)(이하, SFR 출력 수신지 어드레스)를 각각 기록하는데, 상기 양 값은 CPU 모니터 매크로 서비스를 초기화하기 이전에 외부 메모리(11)의 사용자 프로그램을 사용하여 외부 신호 라인(127)을 통해 RAM(110)에 기록된다.
먼저, RAM(110)에 어드레스를 준비하는 RAMAD(RAM 어드레스 버퍼 :105)가 지시하는 어드레스를 검사한다. CPU 모니터 매크로 서비스를 시작하기 전에 RAM(110)에 저장해 두었던 레지스터의 값(Va)을 TB 레지스터(113)에 저장한다. 초기값(α)은 TA 레지스터(114)로부터 RAMAD(105)가 지시하는 RAM(110)의 레지스터로 옮겨진다. 그리고 나서, RAMAD(105)는 초기값(α)을 저장하는 RAM(110)의 레지스터를 지시한다. RAM(l10)의 레지스터는 초기값(α)을 ALU(111)로 전송하고, 이와 동시에 CPU 모니터 매크로 서비스 코드(102)는 자신의 동작을 특정하는 ALUDEC(107)를 통해 ALU(111)를 기동한다. ALU(111)는 ALUDEC(107)에 의해 지시된 감소 연산을 실행하고, 이로써 실행 결과값(α-1)을 TA 레지스터(114)에 옮긴다. 그리고 나서, TB 레지스터(113)에 저장된 값(Va)은 RAM(110)의 레지스터로 복귀한다. 이러한 방식으로, LW(110)의 검사가 완료된다.
다음으로, SP(스택 포인터 하위 16비트:109)를 검사하는데, 상기 SP는 인터럽트 프로세싱에서 데이터를 저장하는 레지스터의 하위 16비트가 결합된 스택 포인터이다. SP(109)의 값(Vb)이 TB 레지스터(l13)에 저장된다. 또한, TA 레지스터(114)의 실행 결과값(α-1)은 SP(109)로 옮겨지고 또한, 이로부터 ALU(1l1)로 옮겨진다. 이와 동시에, CPU 모니터 매크로 서비스 코드(l02)는 ALUDEC(107)을 통해 ALU(11l)의 동작을 지정한다. 이로써, ALU(111)는 ALUDEC(107)이 지정하는 감소 연산을 수행하고 또한, 이로써 실행 결과값(α-2)을 TA 레지스터(1l4)에 옮긴다.TB 레지스터(113)에 저장된 값(Vb)은 SP(109)로 복귀한다. 이러한 방식으로, SP(l09)의 검사가 완료된다.
또한, SPH(스택 포인터 상위 8비트:108)에서의 증가 연산과 감소 연산을 검사하는데, 상기 SPH(108)는 상기 저장용 레지스터의 상위 4비트를 포함한다. 먼저, SPH(108)의 값(Vc)이 TB 레지스터(113)에 저장되고, TA 레지스터(114)의 값(α-2)을 SPH(108)에 옮긴다. 그리고 나서, CPU 모니터 매크로 서비스 코드(102)는 TA레지스터(l14)를 통해 데이터 FFFF(H)를 ALU(111)로 전송하고, ALUDEC(l07)을 통해 ALU(111)의 동작을 지정한다. 이로써, ALU(111)는 ALUDEC(107)이 지정하는 증가 연산을 구현한다. 상기 증가 연산에 의해 ALU 레지스터(126)의 캐리 플래그(carry flag)가 1로 되고, 이로써 SPH(108)의 값(α-2)이 값(α-3)으로 감소된다. SPH(108)의 값(α-3)은 TA 레지스터(114)에 옮겨진다. TB 레지스터(113)에 저장된 값(Vc)은 SPH(108)로 복귀한다. 이러한 방식으로, SPH(108)의 검사가 완료된다.
또한, TQ(명령어 코드 래치 :104)에서 RAMAD(105)가 지시하는 RAM(110) 어드레스로의 경로를 검사하는데, 상기 TQ(104)는 명령어 코드를 페치하는 명령어 코드 래치이다. TQ(104)를 액세스함으로써, CPU 모니터 매크로 서비스 코드(102)는 TRA(LW 어드레스 임시 레지스터 :106)가 지시하는 RAM(110) 어드레스 0080(H)에 존재하는 데이터(Vd)를 TB 레지스터(l13)로 전송하는데, 상기 TRA(106)는 RAM(110)에 관련된 어드레스를 저장하는 레지스터이다. TA 레지스터(1l4)의 값(α-3)은 TRA(106)가 지시하는 LW(110) 어드레스(AA)로 옮겨지고, 또한, 이로부터 ALU(111)로 옮겨진다. 또한, CPU 모니터 매크로 서비스 코드(102)는 ALUDEC(107)을 통해 ALU(111)의 동작을 지정하고, 이로써 ALU(111)는 ALUDEC(107)이 지정하는 감소 연산을 실행하여 실행 결과값(α-4)을 TA 레지스터(114)로 이동시킨다. 그리고 나서, TB 레지스터(113)에 저장된 값(Vd)은 TRA(106)가 지정하는 Lm(110) 어드레스 0080(H)로 복귀한다. 이러한 방식으로, RAM(110)에 관련된 경로 검사가 완료된다.
또한, CPU 모니터 매크로 서비스 코드(102)는 어드레스 000(H)를 TQ(104)로 전송하여 TQLL(121)을 검사하는데, 상기 TQLL(121)은 TQ(104)의 최하위 4비트로 구성된다. TQLL(121)이 지 시하는 RAM(110) 어드레스(AB)의 데이 터(Ve)는 ALU(111)를 통해 TB 레지스터(113)에 저장된다. TA 레지스터(114)의 값(α-4)은 RAMAD(105)가 지시하는 RAM(110) 어드레스(AB)로 옮겨지고 또한, 이로부터ALU(111)로 옮겨진다. 그리고 나서, CPU 모니터 매크로 서비스 코드(102)는 ALUDEC(107)을 통해 ALU(111)의 동작을 지정하고, 이로써 ALU(111)는 ALUDEC(107)이 지정하는 감소 연산을 실행하여 실행 결과값(α-5)을 TA 레지스터(114)로 이동시킨다. 그리고 나서, TB 레지스터(113)에 저장된 값(Ve)은 TQLL(121)이 지정하는 RAM(l10) 어드레스(AB)로 복귀한다. 이러한 방식으로, TQLL(121)의 검사가 완료된다.
이어서, TQHH(124)가 지시하는 RAM(110) 어드레스로의 경로를 검사하는데, 상기 TQHH(124)는 TQ(l04)의 최상위 4비트로 구성된다. TQHH(l24)가 지시하는RAM(110) 어드레스(AC)의 데이터(Vf)는 TB 레지스터(113)에 저장된다. TA 레지스터(114)의 값(α-5)은 TQHH(l24)가 지시하는 RAM(1l0) 어드레스(AC)로 옮겨지고 또한, 이로부터 ALU(111)로 옮겨진다. CPU 모니터 매크로 서비스 코드(102)는ALUDEC(107)을 통해 ALU(111)의 동작을 지정하고, 이로써 ALU(111)는 ALUDEC(107)이 지정하는 감소 연산을 구현하여 실행 결과값(α-6)을 TA 레지스터(114)로 이동시킨다. TB 레지스터(113)에 저장된 값(Vf)은 TQHH(124)가 지정하는 RAM(110) 어드레스(AB)로 복귀한다.
주변 기능을 검사한 후, TC 레지스터(112)의 SFR 출력 수신지 어드레스(β)는 TB 레지스터(113)로 옮겨지고, TA 레지스터(114)의 값(α-6)은 TC 레지스터(112)로 옮겨진다. CPU 모니터 매크로 서비스 코드(102)는 ALUDEC(107)을 통해 ALU(111)의 동작을 지정하고, 이로써 ALU(111)는 TA 레지스터(114)의 값(α-6)과 TC 레지스터(112)의 값(α-6)을 비교한다. 일치한다면, TA 레지스터(114)의 값(α-6)은 ALU(111)로 옮겨지는데, 이 때 ALU(111)는 ALUDEC(107)을 통해 CPU 모니터 매크로 서비스 코드(102)가 지정하는 감소 연산을 실행하여 그 실행 결과값(α-7)을 TA 레지스터(114)로 전송한다.
ALUDEC(107)을 통한 CPU 모니터 매크로 서비스 코드(102)의 지정에 따라,ALU(111)는 TA 레지스터(114)에 저장된 값(α-7)과 TC 레지스터(112)의 값(β) 즉, SFR 출력 수신지 어드레스(β)를 비교한다. 상이한 경우에는, TA 레지스터(114)의값(α-7)이 ALU(111)로 출력되고, 이로써 ALU(111)는 ALUDEC(107)이 지정하는 감소연산을 값(α-7) 상에 수행하여 실행 결과값(α-8)을 TA 레지스터(1l4)로 전송하는데, 상기 값(α-8)은 CPU 진단 결과를 나타낸다.
마지막으로, CPU 진단의 실행 결과 데이터를 저장하는 TA 레지스터(l14)의 값(α-8)을 TB 레지스터(113)에 저장된 SFR 출력 어드레스에 따라 마이크로컴퓨터(125)의 외부(120)로 출력한다. 따라서, 사용자는 값(α-8)을 참조하여 CPU의 상태를 외부적으로 검사할 수 있다.
전술한 바와 같이, 내부 인터럽트를 사용하여 일련의 명령을 실행하는 CPU 모니터 매크로 서비스에 의해 CPU를 진단할 수 있다. 이 방식에서는, CPU 자기진단용 프로그램을 사용하여 외부에서 판독하는 종래 방식에 비해, 명령 판독에 드는 시간을 줄일 수 있다. 이로써, 사용자 보드 상에 설치된 경우에도, 마이크로컴퓨터의 CPU를 빠르게 진단할 수 있다.
본 발명에 따르면 마이크로컴퓨터의 CPU를 빠르게 진단할 수 있다.

Claims (2)

  1. 자기진단 유닛을 구비한 마이크로컴퓨터에 있어서, CPU, 임의로 판독 및 기록이 가능한 RAM, 인터럽트 처리 유닛, 데이터 버스, 입출력 포트, 외부 인터럽트 신호에 의해 일련의 명령을 실행하여 상기 마이크로컴퓨터의 CPU를 진단하는 프로그램인 CPU 모니터 매크로 서비스, 미리 외부로부터 공급된 데이터를 참조하여 상기 CPU 모니터 매크로 서비스에 따라 상기 마이크로컴퓨터의 CPU를 진단하는 CPU 진단 유닛 및 상기 외부에 의해 공급된 데이터를 사용하여 상기 CPU 진단 유닛이 진단한결과를 상기 마이크로컴퓨터의 외부로 출력하는 출력 유닛을 포함하는 것을 특징으로 하는 마이크로컴퓨터.
  2. 자기진단 유닛을 구비한 마이크로컴퓨터에 있어서,CPU, 임의로 판독 및 기록이 가능한 RAM, 인터럽트 처리 유닛, 데이터 버스, 입출력 포트, 외부 인터럽트 신호에 의해 일련의 명령을 실행하여 상기 마이크로컴퓨터의 CPU를 진단하는 프로그램인 CPU 모니터 매크로 서비스, 상기 CPU 모니터 매크로 서비스를 기동하기 위한 기동 유닛, 상기 CPU 모니터 매크로 서비스의 명령어 코드를 저장하기 위한 명령어 코드 기억공간인 마이크로 ROM, 상기 마이크로 ROM의 CPU 모니터 매크로 서비스의 명령어 코드에 따라서, 상기 CPU 모니터 매크로 서비스를 여기(initiation)하기 이전에 외부 메모리의 사용자 프로그램을 사용하여 상기 CPU 진단의 수행을 위한 초기값을 RAM에 기록 저장하는 제1 레지스터, 상기 외부 메모리의 사용자 프로그램을 사용하여 상기 RAM에 기록된 초기값에 따라 CPU 진단을 실행한 후 상기 실행의 결과값에 대한 출력 수신지를 지시하는 어드레스를 저장하는 제 2레지스터, 상기 초기값을 사용하여 RAM의 어드레스와 이에 대한 경로를 검사하여 인터럽트 프로세싱에서 데이터를 저장(save)하는 제 3레지스터, 상기 제 3레지스터를 지시하는 수신지 유닛, 상기 검사의 실행 결과값에 대하여 산술 연산을 구현하는 연산 유닛에 의한 산술 연산의 결과를 저장하는 제 4레지스터 및 상기 검사 이후에 상기 결과를 상기 제 4레지스터로부터 상기 제 1레지스터로 저장하고 상기 제 2레지스터가 지시하는 포트를 통해 상기 제 1레지스터에 저장된 실행 결과값을 상기 마이크로컴퓨터의 외부로 출력하기 위한 출력 유닛을 포함하고, 상기 마이크로컴퓨터의 상기 외부에서의 실행 결과값을 참조하여 상기 마이크로컴퓨터의 CPU의 상태가 진단되는 것을 특징으로 하는 마이크로컴퓨터.
KR1019970045783A 1996-08-28 1997-08-28 자기진단 유닛을 구비한 마이크로컴퓨터(Microcomputer with self-diagnostic unit) KR19980019215A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP08226581A JP3141787B2 (ja) 1996-08-28 1996-08-28 マイクロコンピュータ
JP96-226581 1996-08-28

Publications (1)

Publication Number Publication Date
KR19980019215A true KR19980019215A (ko) 1998-06-05

Family

ID=16847422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970045783A KR19980019215A (ko) 1996-08-28 1997-08-28 자기진단 유닛을 구비한 마이크로컴퓨터(Microcomputer with self-diagnostic unit)

Country Status (5)

Country Link
US (1) US6125456A (ko)
EP (1) EP0827080B1 (ko)
JP (1) JP3141787B2 (ko)
KR (1) KR19980019215A (ko)
DE (1) DE69725808T2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19833208C1 (de) * 1998-07-23 1999-10-28 Siemens Ag Integrierte Schaltung mit einer Selbsttesteinrichtung zur Durchführung eines Selbsttests der integrierten Schaltung
DE10041697A1 (de) * 2000-08-24 2002-03-14 Infineon Technologies Ag Verfahren zum Testen einer programmgesteuerten Einheit durch eine externe Testvorrichtung
EP1496435A1 (en) * 2003-07-11 2005-01-12 Yogitech Spa Dependable microcontroller, method for designing a dependable microcontroller and computer program product therefor
US7856549B2 (en) * 2007-01-24 2010-12-21 Hewlett-Packard Development Company, L.P. Regulating power consumption
GB2561881A (en) 2017-04-27 2018-10-31 Airbus Group Ltd Microcontroller

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0018736A1 (en) * 1979-05-01 1980-11-12 Motorola, Inc. Self-testing microcomputer and method of testing
JPS5696331A (en) * 1979-12-28 1981-08-04 Fujitsu Ltd Panel function control system
JPS5920069A (ja) * 1982-07-26 1984-02-01 Toshiba Corp 1チツプマイクロコンピユ−タ
JPS60183639A (ja) * 1984-03-02 1985-09-19 Nec Corp デ−タ処理装置
DE3587643T2 (de) * 1984-03-02 1994-03-24 Nec Corp Informationsverarbeitungseinheit mit Unterbrechungsfunktion.
JPH0821028B2 (ja) * 1986-04-23 1996-03-04 株式会社日立製作所 デ−タ処理装置
JPS6367647A (ja) * 1986-09-09 1988-03-26 Yokogawa Electric Corp マイクロプロセツサ応用機器
JPH0212432A (ja) * 1988-06-30 1990-01-17 Nec Corp データ処理装置
JPH06105432B2 (ja) * 1989-06-01 1994-12-21 三菱電機株式会社 マイクロプロセッサ
JPH0410138A (ja) * 1990-04-27 1992-01-14 Omron Corp テストプログラム機能付き制御装置
JPH04178742A (ja) * 1990-11-13 1992-06-25 Mitsubishi Electric Corp 装置診断制御方式
JPH05233352A (ja) * 1992-02-19 1993-09-10 Nec Corp マイクロプロセッサ
DE69317149T2 (de) * 1992-05-12 1998-10-08 Nec Corp Mikrocomputer mit Befehlsspeicher für Befehle zum Auslesen interner Bedingungen
JPH06162225A (ja) * 1992-11-17 1994-06-10 Hitachi Ltd 自己テスト機能内蔵シングルチップマイコン
JP3323009B2 (ja) * 1994-09-29 2002-09-09 日本電気株式会社 データ処理装置
JPH08137824A (ja) * 1994-11-15 1996-05-31 Mitsubishi Semiconductor Software Kk セルフテスト機能内蔵シングルチップマイコン

Also Published As

Publication number Publication date
DE69725808T2 (de) 2004-05-19
JP3141787B2 (ja) 2001-03-05
EP0827080A3 (en) 1999-05-06
JPH1069399A (ja) 1998-03-10
EP0827080B1 (en) 2003-10-29
EP0827080A2 (en) 1998-03-04
US6125456A (en) 2000-09-26
DE69725808D1 (de) 2003-12-04

Similar Documents

Publication Publication Date Title
US7712084B2 (en) Method for monitoring a program execution using a debug logic
JPS59114649A (ja) 処理装置の検査方法
KR19980019215A (ko) 자기진단 유닛을 구비한 마이크로컴퓨터(Microcomputer with self-diagnostic unit)
US4322791A (en) Error display systems
JP3578845B2 (ja) 車両用コンピュータ搭載製品の検査方法および装置
JP3060376U (ja) メモリ装置
JPS6227421B2 (ko)
JP3171615B2 (ja) データ転送のリトライ制御方式
JP2967741B2 (ja) Cpu互換性テスト装置
JPH11272490A (ja) 診断制御システム
JP2000353109A (ja) エミュレータ及びエミュレーションシステム
JPH10124341A (ja) 故障診断方法
JP2000181762A (ja) マイクロプロセッサ
JPS6232512B2 (ko)
JPS62145174A (ja) デジタルパタ−ン発生装置
JPS62211741A (ja) プロセツサシステムにおける診断・起動方式
JPS6238746B2 (ko)
JPH04296938A (ja) コンピュータ装置
JPS6167146A (ja) 擬似障害発生方式
JPH02122335A (ja) Ras回路の試験方法
JP2005327175A (ja) インサーキットエミュレータ装置およびスタックアクセス異常検知方法
JPH07281922A (ja) 計算機のcpu診断方法
JPH07191871A (ja) システム診断方式
JPH1021110A (ja) エミュレータ
JP2001229045A (ja) マイクロコンピュータ及び当該マイクロコンピュータの開ループ制御/閉ループ制御プログラムのコードカバレージの決定方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20010129

Effective date: 20011228