KR940011038B1 - Operational function checking device and method thereof for microprocesses - Google Patents

Operational function checking device and method thereof for microprocesses Download PDF

Info

Publication number
KR940011038B1
KR940011038B1 KR1019890006000A KR890006000A KR940011038B1 KR 940011038 B1 KR940011038 B1 KR 940011038B1 KR 1019890006000 A KR1019890006000 A KR 1019890006000A KR 890006000 A KR890006000 A KR 890006000A KR 940011038 B1 KR940011038 B1 KR 940011038B1
Authority
KR
South Korea
Prior art keywords
microprocessor
coupled
input
output
parity
Prior art date
Application number
KR1019890006000A
Other languages
Korean (ko)
Other versions
KR900018813A (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 모토로라 인코포레이티드
Priority to KR1019890006000A priority Critical patent/KR940011038B1/en
Publication of KR900018813A publication Critical patent/KR900018813A/en
Application granted granted Critical
Publication of KR940011038B1 publication Critical patent/KR940011038B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Abstract

내용 없음.No content.

Description

마이크로프로세서용 동작기능 체킹장치 및 그 방법Operation function checking device for microprocessor and its method

제 1 도는 본 발명의 실시예를 도시한 단순화된 블럭도.1 is a simplified block diagram illustrating an embodiment of the invention.

제 2 도는 본 발명에 사용된 병렬 CRC의 실시예를 도시한 단순화된 블럭도.2 is a simplified block diagram illustrating an embodiment of a parallel CRC used in the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

10 : 마이크로프로세서 12 : 제어 회로10 microprocessor 12 control circuit

20 : 병렬 CRC 22 : 병렬 CRC 발생기20: parallel CRC 22: parallel CRC generator

24 : 예정 결과 발생 레지스터 26 : 비교기24: expected result generating register 26: comparator

28 : 비교 타이밍 회로 30 : 단일 감시 타이머28: comparison timing circuit 30: single watchdog timer

40 : 정확한 시간감시 타이머 50 : 패리티 체커40: accurate time monitoring timer 50: parity checker

60 : 패리티 ROM 70 : 에러 논리 회로60 parity ROM 70 error logic circuit

본 발명은 구조가 중대한 고장이 없도록 충분히 엄밀한 고유의 자가진단 능력을 제공하는 단일 마이크로프로세서 기초제어 아키텍처를 제공하는 장치 및 방법에 관한 것이다.The present invention is directed to an apparatus and method for providing a single microprocessor basic control architecture that provides an inherent self-diagnostic capability that is sufficiently rigid that the structure is free of significant failures.

최근에, 마이크로프로세서는 전자공학 설비 설계의 거의 모든 분야에 사용되기 시작했다. 상기 마이크로프로세서가 응용이 자유롭고, 값싸며, 다루기 쉽고 강력하기 때문에, 이러한 추세가 발전된다. 마이크로프로세서를 이용할 수 있는 전자공학의 영역이 매우 넓다. 상기 영역은 시스템의 부적당한 동작 또는 시스템의 임계 부분을 검출 및 억제하기 위한 극단의 신빙성 또는 능력을 요구하는 명령 및 제어 응용을 포함한다. 일반적 어려움이 마이크로프로세서의 자체 포함된 특성으로부터 유래하는데 상기 특성이 자가진단을 통해 상기 프로세서 및 관련 지지장치(RAM, ROM등)가 적절히 동작하는지를 결정하는 것을 매우 어렵게 만든다.Recently, microprocessors have begun to be used in almost all areas of electronics facility design. This trend is developed because the microprocessor is free to use, cheap, easy to handle and powerful. There is a wide range of electronics available for microprocessors. The area includes command and control applications that require extreme reliability or the ability to detect and suppress improper operation of the system or critical portions of the system. A common difficulty stems from the microprocessor's self-contained nature, which makes self-diagnosis very difficult to determine if the processor and associated support devices (RAM, ROM, etc.) are operating properly.

상기 문제에 대한 종래의 해결책은 동일 프로그램을 동시에 실행하는 두 개의 완전히 분리된 마이크로프로세서 시스템을 설계하고 상기 두 시스템의 선택된 출력에 대한 비교 기술을 통해 적당한 동작을 입증하는 것이다. 상기 방법은 마이크로프로세서, RAM, ROM 및 입력/출력 기능을 포함한 시스템의 모든 기능을 두배로 하는 비용에 비교 회로의 비용 및 복잡성을 더하는 명백한 결점을 갖는다. 이중 프로세서에 대한 또 다른 어려움은 두 마이크로프로세서의 동기의 문제이다. 상기 마이크로프로세서는 두 시스템의 비교 출력이 정확한 동일시간에 발생하도록 동기화 되야 한다. 이들 출력이 동시에 발생하지 않으면, 비교논리는 에러를 표시할 것이다. 그러므로, 회로는 마이크로프로세서의 동기를 보장하도록 제공되어야 한다. 면역을 전원라인 과도전류에 제공하기 위해 적당한 예방책이 또한 선택되어야 한다.The conventional solution to this problem is to design two completely separate microprocessor systems running the same program simultaneously and to demonstrate proper operation through a comparison technique on the selected outputs of the two systems. The method has the obvious drawback of adding the cost and complexity of the comparison circuit to the cost of doubling all the functions of the system, including the microprocessor, RAM, ROM and input / output functions. Another difficulty for dual processors is the problem of synchronization of the two microprocessors. The microprocessor must be synchronized so that the comparison output of the two systems occurs at the exact same time. If these outputs do not occur at the same time, the comparison logic will display an error. Therefore, circuitry must be provided to ensure synchronization of the microprocessor. Appropriate precautions should also be selected to provide immunity to power line transients.

본 발명은 마이크로프로세서 시스템의 정확한 동작을 모니터 및 입증하는 장치 및 방법에 관한 것이다. 본 발명은 체킹기능을 수행하기 위해 4개의 회로를 사용한다. 이들 회로가 마이크로프로세서의 어드레스 및 데이타 라인을 모니터하기 위한 병렬 순환중복 체커(CRC)와, 파워 업(power up)순차로 적당한 응답을 입증하기 위한 단일감시 타이머와, 적당한 마이크로프로세서 실행시간 감시 타이머를 입증하기 위한 정확한 실행시간 감시 타이머 및 프로그램 ROM이 타당한 데이타를 마이크로프로세서에 제공하는 것을 입증하기 위해 프로그램 ROM과 함께 사용될 패리티 ROM이다.The present invention relates to an apparatus and method for monitoring and verifying the correct operation of a microprocessor system. The present invention uses four circuits to perform the checking function. These circuits include a parallel cyclic redundancy checker (CRC) to monitor the microprocessor's address and data lines, a single watchdog timer to verify proper response in power-up sequence, and an appropriate microprocessor runtime watchdog timer. Accurate runtime watchdog timer and program ROM to verify is a parity ROM to be used with the program ROM to verify that it provides valid data to the microprocessor.

본 발명의 목적은 마이크로프로세서와 관련시스템의 동작 기능을 체킹하는 새롭고 개선된 장치 및 방법을 제공하는 것이다.It is an object of the present invention to provide a new and improved apparatus and method for checking the operating functions of microprocessors and associated systems.

본 발명의 다른 목적은 구조가 실제로 고장이 없도록 충분히 엄밀한 고유의 자가진단 능력을 제공하는 단일 마이크로프로세서 기초제어 아키텍처를 제공하는 것이다.It is a further object of the present invention to provide a single microprocessor basic control architecture that provides an inherent self-diagnostic capability that is sufficiently rigid that the structure is practically fault free.

본 발명의 또다른 목적은 프로세서와 관련된 전자공학의 실제부분을 중복함없이 마이크로프로세서 및 마이크로프로세서 시스템을 체킹하는 장치 및 방법을 제공하는 것이다.It is another object of the present invention to provide an apparatus and method for checking microprocessors and microprocessor systems without duplicating the actual part of the electronics associated with the processor.

이하 첨부된 도면을 참조하여 본원 명세서를 더욱 상세히 설명하기로 한다.Hereinafter, the present specification will be described in more detail with reference to the accompanying drawings.

도면을 참조하면, 제 1 도는 파워-업시 본 발명을 실시한 마이크로프로세서의 정확한 초기 설정, 정확한 실행순차, 정확한 실행 타이밍 및 정확한 명령수행 기능을 체킹하는 동작기능 체킹장치의 단순화된 블럭도이다. 제 1 도는 마이크로프로세서(10)로부터 분리하여 도시되나 마이크로프로세서(10)의 실제부분일 수 있는 제어 회로(12)를 도시한다. 이는 마이크로프로세서(10)가 필요한 제어임펄스를 제공할 수 있기 때문이다. 제어 회로(12)는 마이크로프로세서가 기록할 수 있고 명세서에 또한 논의되어질 명령을 제공하기 위해 하나이상의 비트를 사용할 수 있는 단순 래치일 수 있다. 제어회로(12)는 마이크로프로세서(10)의 어드레스 버스(16), 데이타 버스(17) 및 클럭(18)에 결합된 입력을 구비하고 스타트 출력(13), 리셋 출력(14) 및 스톱 출력(15)을 구비한다.Referring to the drawings, FIG. 1 is a simplified block diagram of an operation function checking apparatus for checking the correct initial setup, correct execution sequence, correct execution timing and correct instruction execution function of a microprocessor implementing the present invention at power-up. 1 depicts a control circuit 12 that is shown separately from the microprocessor 10 but may be an actual part of the microprocessor 10. This is because the microprocessor 10 can provide the necessary control impulses. The control circuit 12 may be a simple latch that the microprocessor can write to and use one or more bits to provide instructions that will also be discussed in the specification. The control circuit 12 has an input coupled to the address bus 16, the data bus 17 and the clock 18 of the microprocessor 10 and has a start output 13, a reset output 14 and a stop output ( 15).

에러 논리회로(70)에 결합된 에러 출력(21)을 가진 병렬 순환중복 체커(CRC,20)는 마이크로프로세서(10)의 어드레스 버스(16), 데이타 버스(17) 및 클럭(18)에 결합된다. 병렬 CRC(20)는 제어 회로(12)의 스톱 출력(13)에 또한 결합되는 스톱 입력을 갖는다.A parallel cyclic redundancy checker (CRC) 20 having an error output 21 coupled to an error logic circuit 70 is coupled to the address bus 16, data bus 17 and clock 18 of the microprocessor 10. do. The parallel CRC 20 has a stop input that is also coupled to the stop output 13 of the control circuit 12.

에러 논리회로(70)에 결합된 에러 출력(32)을 갖는 단일 감시 타이머(30)는 상기 타이머의 입력에서 마이크로프로세서(10)의 클럭(18)과 제어 회로(12)의 리셋 출력(14)에 결합된다.A single watchdog timer 30 having an error output 32 coupled to the error logic circuit 70 is at the input of the timer a clock 18 of the microprocessor 10 and a reset output 14 of the control circuit 12. Is coupled to.

에러 논리회로(70)에 결합된 에러 출력(42)과 병렬 CRC(20)의 스톱 입력에 결합된 실행출력(44)을 가진 정확한 시간감시 타이머(40)가 마이크로프로세서(10)의 클럭에 결합되고 스타트 출력(13)에 결합하는 스타트 입력과 제어회로(12)의 스톱 출력(15)에 결합하는 스톱 입력을 갖는다.An accurate time monitoring timer 40 with an error output 42 coupled to the error logic circuit 70 and an execution output 44 coupled to the stop input of the parallel CRC 20 is coupled to the clock of the microprocessor 10. And a stop input coupled to the start output 13 and a stop input coupled to the stop output 15 of the control circuit 12.

에러 논리회로(70)에 결합된 에러 출력(52)을 가진 패리티 체커(50)로 구성된 상기 특수 실시예에서의 패리티 체커 회로(49)는 마이크로프로세서(10)의 데이타 버스(17) 및 클럭(18)에 결합된다. 패리티 ROM(60)이 패리티 체커(50)의 패리티 입력에 결합된 패리티 출력(62)과 마이크로프로세서(10)의 어드레스 버스(16)에 결합된 어드레스 입력을 갖는다.The parity checker circuit 49 in this particular embodiment, which consists of a parity checker 50 having an error output 52 coupled to the error logic circuit 70, comprises a clock bus and a data bus 17 of the microprocessor 10. 18). Parity ROM 60 has parity output 62 coupled to parity input of parity checker 50 and address input coupled to address bus 16 of microprocessor 10.

마이크로프로세서(10)의 클럭(18)은 제어 라인이라고 또한 불릴 수 있고, 모든 프로세서에 나타나고 기준의 프레임을 세트하고 프로세서에 의해 제공된 정보를 확인한다. 타이머(30 및 40)이 각각의 명령 싸이클동안 클럭 변환점을 계산하기 위해 상기 클럭에 사용한다.The clock 18 of the microprocessor 10 may also be called a control line, which appears in every processor and sets the frame of reference and identifies the information provided by the processor. Timers 30 and 40 are used for the clock to calculate the clock transition point during each instruction cycle.

에러 논리회로(70)는 에러가 프로세서(10)에서 검출될 시에 작동하게 되는 회로이며, 따라서, 단순한 예에서, 에러 논리회로(70)는 논리적 OR 기능을 수행하는 장치로 나타날 수 있다. 에러 논리회로(70)는 에러를 표시할 수 있거나 또는 에러가 검출될시에 전체 시스템(도시되지 않음)을 디스에이블하거나 제 2 시스템(도시되지 않음)으로 전환하도록 세트될 수 있다. 따라서, 에러 논리회로(70)는 프로세서의 적용에 따라 응답이 가변될 수 있다.The error logic circuit 70 is a circuit that will operate when an error is detected in the processor 10, and thus, in a simple example, the error logic circuit 70 may appear as a device that performs a logical OR function. The error logic circuit 70 may indicate an error or may be set to disable the entire system (not shown) or switch to a second system (not shown) when an error is detected. Therefore, the error logic circuit 70 may vary in response depending on the application of the processor.

병렬 CRC(20)가 데이타 및 어드레스 버스(17 및 16)상의 CRC를 각기 계산하기 위해 사용되는 반면, 마이크로프로세서(10)는 상기 CRC의 프로그램을 실행한다. 병렬 CRC(20)는 주어진 횟수의 프로세서 싸이클기간동안 가동하고 상기 CRC의 결과가 프로그램에 의해 메모리에 기억되거나 또는 본 발명의 제조동안 ROM에 기억되는 공지된 값에 비교된다.Parallel CRC 20 is used to calculate CRCs on data and address buses 17 and 16, respectively, while microprocessor 10 executes the programs of the CRCs. Parallel CRC 20 runs for a given number of processor cycles and the result of the CRC is compared to a known value stored in memory by a program or in ROM during the manufacture of the present invention.

CRC 체킹, 스톱 신호의 발생 및 정확한 CRC와 실제 CRC간의 비교는 마이크로프로세서(10) 바깥쪽 하드웨어에서 모두 행해지는데 이는 마이크로프로세서(10)가 정확히 동작하는지를 모르기 때문이다. 부적당히 동작하면, 마이크로프로세서(10)는 정확한 결과를 생성하도록 신뢰될 수 없다.CRC checking, the generation of a stop signal, and the comparison between the correct CRC and the actual CRC are all done in the hardware outside of the microprocessor 10 because it does not know that the microprocessor 10 is operating correctly. If improperly operated, microprocessor 10 cannot be trusted to produce accurate results.

병렬 CRC(20)는 어드레스 라인의 모든 상태 및 데이타 라인의 모든 상태로 구성되는 기호 분석을 발생한다. 상기 기호는 어드레스 라인 및 데이타 라인이 적당한 정보를 포함하고 상기 정보가 적당한 순차로 나타나는 것을 입증하도록 앞서 선정된 기호에 비교된다. 상기 체크는 마이크로프로세서(10)가 적당한 순차로 프로그램 명령을 실행하는 것을 입증한다.Parallel CRC 20 generates symbol analysis consisting of all states of the address line and all states of the data line. The symbol is compared to the symbol previously selected to verify that the address line and the data line contain the appropriate information and that the information appears in the proper sequence. The check verifies that the microprocessor 10 executes the program instructions in the proper sequence.

각각의 마이크로프로세서의 명령을 실행하고 상기 명령의 결과를 메모리 스페이스의 어드레스에 기록하므로, 병렬 CRC(20)는 마이크로프로세서가 수행할 수 있는 모든 명령이 정확히 실행되어지는 것을 입증할 것이다. 예를 들어, 마이크로프로세서가 수행할 수 있는 모든 산술동작이 입력으로서 일정 데이타에 대해 사용되도록 프로그램이 기록되고 출력이 메모리 스페이스에 기록되면, 병렬 CRC(20)는 결과의 기록을 메모리에 모니터할 것이고 상기 결과가 틀렸으면, CRC가 잘못된 것일 것이다. 또다른 예는 점프 명령의 태스팅이다. 점프가 ROM 메모리 스페이스를 통해 행해지도록 프로그램이 기록되며, 특정 점프가 부정확히 수행되면, CRC 결과가 틀릴 것이고 CRC 테스트는 실패할 것이다.By executing the instructions of each microprocessor and writing the result of the instructions to the address of the memory space, the parallel CRC 20 will verify that all instructions that the microprocessor can perform are executed correctly. For example, if a program is written such that all arithmetic operations that the microprocessor can perform are used for some data as input and the output is written to memory space, parallel CRC 20 will monitor the recording of the results in memory. If the result is wrong, the CRC will be wrong. Another example is the task of jumping instructions. The program is written so that jumps are made through the ROM memory space, and if a particular jump is done incorrectly, the CRC result will be wrong and the CRC test will fail.

따라서, 병렬 CRC(20)는 주어진 단편의 코드내에서 명령이 ROM 또는 RAM으로부터 적당히 판독되며, 프로그램 흐름이 적당히 처리되고, 메모리에 기록되어진 정보가 정확하다는 것을 입증하기 위해 사용된다.Thus, parallel CRC 20 is used to verify that within a given piece of code the instruction is properly read from ROM or RAM, the program flow is properly processed, and the information written to the memory is correct.

제 2 도는 병렬 CRC(20)의 단순화된 블럭도이다. 제 2 도는 데이타 버스(17), 어드레스 버스(16) 및 클럭(18)에 결합된 병렬 CRC 발생기(22)를 구성하는 병렬 CRC(20)의 실시예를 도시한다. CRC(20)는 예정 결과 발생 레지스터(24)와 병렬 CRC 발생기(22) 및 예정 결과 발생 레지스터(24)에 결합된 입력을 가진 비교기(26)를 부가적으로 포함한다. CRC(20)는 비교기(26)의 입력에 결합된 출력과 스타트 출력(13) 및 스톱 출력(44)에 결합된 입력을 가진 비교 타이밍 회로(28)를 또한 포함한다. 예정 결과발생 레지스터(24)는 CRC 발생의 예정된 결과를 기억시키기 위해 사용된다. 예정 결과발생 레지스터(24)는 CRC 발생이 시작되기 전에 마이크로프로세서(10)에 의해 로드된다. 비교기(26)는 CRC 체크가 완료되어진 후 예정 결과발행 레지스터(24)에 기억된 결과를 비교하기 위해 사용된다. 실제 결과가 예정 결과발생 레지스터(24)에 기억된 값과 다르면 비교기(26)는 에러를 발생한다.2 is a simplified block diagram of a parallel CRC 20. 2 shows an embodiment of a parallel CRC 20 that constitutes a parallel CRC generator 22 coupled to a data bus 17, an address bus 16 and a clock 18. The CRC 20 additionally includes a comparator 26 having a predetermined result generating register 24 and a parallel CRC generator 22 and an input coupled to the predetermined result generating register 24. CRC 20 also includes a comparison timing circuit 28 having an output coupled to the input of comparator 26 and an input coupled to start output 13 and stop output 44. The predetermined result register 24 is used to store the predetermined result of the CRC generation. The predetermined result register 24 is loaded by the microprocessor 10 before CRC generation begins. The comparator 26 is used to compare the result stored in the predetermined result issue register 24 after the CRC check is completed. If the actual result is different from the value stored in the expected result register 24, the comparator 26 generates an error.

병렬 CRC(20)가 사용되는 동안, 데이타 버스(17) 및 어드레스 버스(16)가 예정되어야 한다. 프로그램의 실행은 테스트가 가동할 때마다 동일 어드레스 및 데이타 버스 활동을 초래해야 한다. 각각의 동일시간에 CRC를 수행하기 위해 CRC 테스트는 일관된 데이타가 필요하기 때문에 상기가 필요하다. 이것은 프로그램이 가동될 때마다 프로그램이 동일 브랜치(branch)를 정확히 선택하고, 프로그램이 가동될 때마다 각각의 계산의 결과가 정확히 동일하고 프로그램이 가동될 때마다 판독되는 임의의 메모리가 정확히 동일 데이타를 포함하는 것을 의미한다. 마이크로프로세서(10)가 일정한 작업을 수행하지 않으면, 이들 억제는 병렬 CRC(20)가 마이크로프로세서(20)를 끊임없이 모니터하기 위해 사용되어지는 것을 방지한다. 최근의 응용에서, CRC 테스트는 일정한 테스트로서 수행되어지는 대신에 마이크로프로세서(10)의 "헬스(health)체크"로서 주기적으로 수행된다. 마이크로프로세서(10)의 특정 응용은 테스트가 수행되야 하는 주파수를 지시할 것이다. 제 1 도를 참조하면, 제어회로(12)는 스타트 출력(13)을 통해 스타트 신호를 보낸다. 주어진 프로그램이 완료되면, 병렬 crc(20)가 스톱 출력(44)을 통해 타이머(40)에 의해 스톱된다. CRC(20)가 스톱신호(44)를 수신하면, CRC(20)는 결과와 예정된 결과를 비교한다. 두 결과가 일치하지 않으면, 에러 신호가 CRC(20)에 이해 발생되어 에러 논리회로(70)에 보내진다. 병렬 CRC 발생기(22)가 클럭(18)의 각각의 클럭 주기에서 데이타 버스(17) 및 어드레스 버스(16)의모든 라인에 따르는 CRC 값을 발생할 수 있다는 것이 종래의 기술에 숙련된 사람은 알 수 있을 것이다. 상기는 클럭(18)의 각각의 클럭 싸이클에 대해 병렬로 n단계(여기서 n은 데이타 버스(17) 및 어드레스 버스(16)의 라인수의 합계이다)를 수행하므로 클럭(18)보다 더 빠른 클럭을 요구치 않고 이루어질 수 있다.While parallel CRC 20 is used, data bus 17 and address bus 16 must be scheduled. Execution of the program should result in the same address and data bus activity each time the test runs. This is necessary because the CRC test requires consistent data to perform CRC at each same time. This means that every time the program is run, the program correctly selects the same branch, and every time the program is run, the result of each calculation is exactly the same, and any memory that is read each time the program is run has exactly the same data. It means to include. If the microprocessor 10 does not perform certain tasks, these suppressions prevent the parallel CRC 20 from being used to constantly monitor the microprocessor 20. In recent applications, the CRC test is performed periodically as a "health check" of the microprocessor 10 instead of being performed as a regular test. The particular application of the microprocessor 10 will dictate the frequency at which the test should be performed. Referring to FIG. 1, the control circuit 12 sends a start signal through the start output 13. Upon completion of a given program, parallel crc 20 is stopped by timer 40 via stop output 44. When the CRC 20 receives the stop signal 44, the CRC 20 compares the result with the intended result. If the two results do not match, an error signal is understood and generated in the CRC 20 and sent to the error logic circuit 70. It will be appreciated by those skilled in the art that the parallel CRC generator 22 can generate a CRC value along every line of the data bus 17 and address bus 16 in each clock period of the clock 18. There will be. This is a faster clock than clock 18 because it performs n steps in parallel for each clock cycle of clock 18, where n is the sum of the number of lines of data bus 17 and address bus 16. It can be done without requiring.

CRC 테스트는 CRC 체크동안 장치의 각각의 위치를 판독하므로 마이크로프로세서(10)에 의해 사용된 ROM, RAM 또는 다른 기억장치(도시되지 않음)의 목차를 입증하기 위해 사용될 수 있다. 장치의 각각의 위치를 판독하는 것은 데이타의 어드레스에 따라 데이타 버스에 상기 장치의 목차를 매치하는 것이다. 그후 병렬 CRC(20)는 각각의 이들 데이타의 단편상의 CRC 체크를 수행하고 합성 CRC 값을 발행할 것이다. 상기 값이 메모리의 특정 부분의 기호로서 기억될 수 있다.The CRC test reads each location of the device during the CRC check and can therefore be used to verify the contents of the ROM, RAM or other storage (not shown) used by the microprocessor 10. Reading each location of a device is to match the contents of the device to the data bus according to the address of the data. Parallel CRC 20 will then perform a CRC check on each of these pieces of data and issue a composite CRC value. The value can be stored as a symbol of a specific part of the memory.

마이크로프로세서 입증의 제 2 부분은 단일감시 타이머(30)에 의해 이루어진다. 상기 회로가 시스템 클럭(18)을 오프로 하는 타이머이다. 마이크로프로세서에서 리셋 신호가 검출되면 감시 타이머(30)가 하드웨어에 의해 가동된다. 상기 단일감시 타이머가 가동되어지면, 타이머(30)가 상기 타이머의 최종값에 도달하기 전에 마이크로프로세서는 감시 타이머(30)을 재스타트 해야 한다. 상기 타이머가 제어회로(10)에 의해 리셋되지 않으면, 상기 타이머가 타임 아웃될 것이고 에러 신호가 에러 논리회로(70)에 발생될 것이다.The second part of the microprocessor verification is made by the single watchdog timer 30. The circuit is a timer that turns off the system clock 18. The watchdog timer 30 is started by hardware when a reset signal is detected at the microprocessor. Once the single watchdog timer is activated, the microprocessor must restart watchdog timer 30 before timer 30 reaches its final value. If the timer is not reset by the control circuit 10, the timer will time out and an error signal will be generated to the error logic circuit 70.

단일감시 타이머(30)는 마이크로프로세서(10)가 파워-온 리셋 신호에 정확히 응답하고 적어도 타이머를 리셋할 수 있는 지점에 실행되는 것을 입증하기 위해 사용된다. 단일감시 타이머(30)는 마이크로프로세서(10)에 의해 수행된 다양한 특수적용 기능중 감시기능을 또한 수행한다. 마이크로프로세서(10)가 주기적으로 타이머(30)를 재스타트해야 하기 때문에, 마이크로프로세서(10)가 타이머를 재스타트를 미스하면, 타이머(30)는 에러 신호를 발생할 것이다. 일반적으로, 상기 미스된 재스타트는 프로세서가 정확히 동작하지 않는다는 지시이다.The single watchdog timer 30 is used to verify that the microprocessor 10 executes exactly at the point where it can accurately respond to the power-on reset signal and at least reset the timer. The single watchdog timer 30 also performs a watch function among various special application functions performed by the microprocessor 10. Since the microprocessor 10 must restart the timer 30 periodically, if the microprocessor 10 misses restarting the timer, the timer 30 will generate an error signal. In general, the missed restart is an indication that the processor is not operating correctly.

프로세서 입증의 제 3 부분이 정확한 시간감시 타이머(40)이다. 감시 타이머(40)는 마이크로프로세서가 기능을 수행하기 위해 마이크로프로세서가 통상 선택하는 정확한 순차와 정확한 시간의 양에 동작을 수행하는 것을 입증하기 위해 사용된다. 정확한 시간감시 타이머(40)가 마이크로프로세서(10)의 클럭(18)을 오프하며 따라서 마이크로프로세서(10)가 또다른 명령을 실행할 때마다 타이머(40)를 증분시킨다. 타이머(40)가 타임아웃되면, 하나의 명령 싸이클이 길이로 존재하는 것이 실행 출력(44)상의 펄스를 출력한다. 마이크로프로세서(10)는 타이머가 타임 아웃되는 정확한 시간에 상기 펄스를 I/O 포트(port)에 기록하므로 매치해야 한다. 상기 양호한 실시예에서, 제어회로(12)는 I/O 포트로서 작용하고 스톱 출력(15)상의 스톱 명령을 정확한 시간감시 타이머(40)에 출력한다. 제어회로(12)로부터 펄스가 타이머(40)로부터 "실행"펄스로 정확한 동일시간에 발생하지 않으면, 프로그램이 정확한 순차를 실행하지 않거나 또는 마이크로프로세서(10)가 정확한 양의 시간에 명령을 실행하지 않는 것을 지시하는 에러일 것이다. 두 경우에서, 프로세서는 정확히 동작하지 않고 신호가 에러 출력(42)에서 에러 논리회로(70)로 진행한다.The third part of the processor verification is the correct timekeeping timer 40. Watchdog timer 40 is used to verify that the microprocessor performs operations in the correct sequence and amount of time that the microprocessor normally selects to perform the function. The correct timekeeping timer 40 turns off the clock 18 of the microprocessor 10 and thus increments the timer 40 each time the microprocessor 10 executes another instruction. When the timer 40 times out, the presence of one instruction cycle in length outputs a pulse on the execution output 44. The microprocessor 10 must match because it writes the pulse to the I / O port at the exact time the timer times out. In this preferred embodiment, the control circuit 12 acts as an I / O port and outputs a stop command on the stop output 15 to the correct time monitoring timer 40. If the pulse from the control circuit 12 does not occur at the exact same time as the " execute " pulse from the timer 40, the program does not execute the correct sequence or the microprocessor 10 does not execute the instruction at the correct amount of time. It will be an error to tell you not to. In both cases, the processor does not operate correctly and the signal goes from the error output 42 to the error logic circuit 70.

프로세서 입증의 제 4 부분이 패리티 체커 회로(49)를 사용한 마이크로프로세서의 프로그램 ROM상의 패리티 체크이다. 상기 패리티 체크는 1비트씩 프로그램 ROM의 폭을 확장하는 1-비트 패리티 ROM(60)을 가산하므로 이루어진다. 그후 패리티 ROM의 목차가 프로그램 ROM 기수 패리티에 각각의 명령에 대한 패리티를 행하도록 세트된다. 1-비트 패리티에 따라 명령 판독이 우수 패리티를 나타내면, 하드웨어는 에러 출력(52)을 통해 에러 논리회로(70)에 에러 메시지를 발생할 것이다.The fourth part of the processor verification is the parity check on the program ROM of the microprocessor using the parity checker circuit 49. The parity check is made by adding a 1-bit parity ROM 60 which extends the width of the program ROM by 1 bit. The table of contents of the parity ROM is then set to perform parity for each instruction on the program ROM odd parity. If the command read according to 1-bit parity indicates good parity, the hardware will generate an error message to the error logic circuit 70 via the error output 52.

본 발명은 적당한 동작을 입증하기 위한 능력이 부족한 상태에 사용될 마이크로프로세서를 허용한다. 게다가, 병렬 합성 마이크로프로세서 아키텍처가 필요하지 않기 때문에, 비용이 크게 감소한다.The present invention allows microprocessors to be used in situations where there is a lack of capability to demonstrate proper operation. In addition, the cost is greatly reduced because no parallel synthetic microprocessor architecture is required.

Claims (3)

마이크로프로세서용 동작기능 체킹장치에 있어서, 마이크로프로세서와, 에러 논리회로와, 제 1 및 제 2 입력과 상기 에러 논리회로에 결합되어진 병렬 CRC의 출력을 가진 병렬 CRC와, 상기 병렬 CRC의 상기 제 1 입력에 결합된 상기 마이크로프로세서의 어드레스 버스와, 상기 병렬 CRC 체커의 상기 제 2 입력에 결합된 상기 마이크로프로세서의 데이타 버스와, 상기 마이크로프로세서에 결합되어진 입력과 상기 에러 논리회로에 결합되어진 출력을 가진 단일감시 타이머와, 상기 마이크로프로세서에 결합되어진 입력과 상기 에러 논리회로에 결합되어진 출력을 가진 정확한 시간감시 타이머 및, 상기 마이크로프로세서에 결합되어진 입력과 상기 에러 논리회로에 결합되어진 출력을 가진 패리티 체커 회로를 포함하는 것을 특징으로 하는 마이크로프로세서용 동작기능 체킹장치.An operating function checking apparatus for a microprocessor, comprising: a parallel CRC having a microprocessor, an error logic circuit, first and second inputs and an output of a parallel CRC coupled to the error logic circuit, and the first of the parallel CRC. An address bus of the microprocessor coupled to an input, a data bus of the microprocessor coupled to the second input of the parallel CRC checker, an input coupled to the microprocessor, and an output coupled to the error logic circuit. A parity checker circuit having a single watchdog timer, an accurate time watchdog timer having an input coupled to the microprocessor and an output coupled to the error logic circuit, and an input coupled to the microprocessor and an output coupled to the error logic circuit. Microprocessor for comprising a Motion function checking device. 마이크로프로세서용 동작기능 체킹장치에 있어서, 에러 논리회로와, 제 1, 제 2 및 제 3 출력을 가진 상기 마이크로프로세서에 결합된 제어회로와, 상기 데이타 버스와 상기 어드레스 버스중 하나에 각각 결합된 제 1 및 제 2 입력, 상기 제어회로의 상기 제 1 출력에 결합된 제 3 입력, 상기 에러 논리 회로에 결합된 제 4 입력 및 출력을 가진 병렬 CRC와, 상기 마이크로프로세서에 결합된 제 1 입력, 상기 제어회로의 상기 제 2 출력에 결합된 제 2 입력 및 상기 논리회로에 결합된 출력을 가진 단일감시 타이머와, 상기 마이크로프로세서로부터 클럭 입력을 수신하도록 적용된 제 1 입력, 상기 제어회로의 상기 제 1 출력에 결합된 제 2 입력, 상기 제어회로의 상기 제 3 출력에 결합된 제 3 입력, 상기 병렬 CRC의 제 4 입력에 결합된 제 1 출력 및 상기 에러 논리회로에 결합된 제 2 출력을 가진 정확한 시간감시 타이머, 상기 마이크로프로세서로부터 상기 데이타에 결합된 제 1 입력, 상기 에러 논리수단에 결합된 제 2 입력 및 출력을 가진 패리티 체커 및, 상기 마이크로프로세서의 상기 어드레스 버스에 결합된 입력 및 상기 패리티 체커의 상기 제 2 입력에 결합된 출력을 가진 패리티 메모리를 포함하는 것을 특징으로 하는 마이크로프로세서용 동작기능 체킹장치.An operating function checking apparatus for a microprocessor, comprising: an error logic circuit, a control circuit coupled to the microprocessor having first, second and third outputs, and a first coupled to one of the data bus and the address bus, respectively. A parallel CRC having a first and a second input, a third input coupled to the first output of the control circuit, a fourth input coupled to the error logic circuit and an output, a first input coupled to the microprocessor, the A single watchdog timer having a second input coupled to the second output of the control circuit and an output coupled to the logic circuit, a first input adapted to receive a clock input from the microprocessor, the first output of the control circuit A second input coupled to the third input, a third input coupled to the third output of the control circuit, a first output coupled to the fourth input of the parallel CRC, and the error logic circuit. Accurate timekeeping timer with a second output coupled, a first input coupled to the data from the microprocessor, a parity checker with a second input and output coupled to the error logic means, and the address bus of the microprocessor And a parity memory having an input coupled to and an output coupled to the second input of the parity checker. 마이크로프로세서용 동작기능 체킹방법에 있어서, 마이크로프로세서를 제공하는 단계와, 주어진 수의 프로세서 사이클에 걸쳐 상기 프로세서로부터 데이타 및 어드레스에 대한 싸이클 중복 체크를 누산시키는 단계와, 상기 반복단계로부터 반복된 CRC를 기억된 데이타와 비교하는 단계와, 상기 반복된 CRC와 상기 기억된 데이타가 매치하지 않으면 에러를 신호 표시하는 단계와, 단일감시 타이머를 스타트하는 단계와, 카운터가 제로에 도달하기 전에 상기 마이크로프로세서로부터 상기 단일감시 타이머로 리셋 신호를 전달하는 단계와, 카운터가 제로에 도달하기 전에 상기 리셋 신호가 전달되지 않으면 에러를 신호 표시하는 단계와, 프로세서 동작의 개시에 정확한 시간감시 타이머를 스타트하고, 상기 마이크로프로세서의 각각의 명령 싸이클을 카운트하는 단계와, 예정된 카운트에서 상기 정확한 시간감시 타이머를 스톱하는 단계와, 정확한 시간 감시 타이머가 스톱하는 실제로 동일시간에 상기 마이크로프로세서로부터 상기 정확한 시간감시 타이머로 스톱신호를 전달하는 단계와, 상기 스톱신호와 상기 카운트의 스톱이 일치하지 않으면 에러를 신호 표시하는 단계와, 마이크로프로세서에 의해 실행된 프로그램을 포함하는 메모리에 패리티 비트를 부가하는 단계와, 프로그램 ROM에 포함된 각각의 명령에 대한 패리티가 예정된 패리티를 갖도록 패리티 ROM의 목차를 프로그래밍하는 단계와, 상기 예정된 패리티와 일치하지 않는 패리티가 검출되면 에러를 신호 표시하는 단계를 포함하는 것을 특징으로 하는 마이크로프로세서용 동작기능 체킹방법.An operating function checking method for a microprocessor, comprising: providing a microprocessor, accumulating cycle redundancy checks for data and addresses from the processor over a given number of processor cycles, and repeating the CRC repeated from the repetition step. Comparing with the stored data, signaling an error if the repeated CRC and the stored data do not match, starting a single watchdog timer, and from the microprocessor before the counter reaches zero. Delivering a reset signal to the single watchdog timer; signaling an error if the reset signal is not delivered before the counter reaches zero; starting an accurate timekeeper timer at the start of processor operation; Count each instruction cycle in the processor Sending a stop signal from the microprocessor to the correct timekeeping timer at substantially the same time that the correct timekeeping timer stops, and stopping the correct timekeeping timer at a predetermined count; Signaling an error if the signal and the stop of the count do not coincide, adding a parity bit to a memory containing a program executed by a microprocessor, and parity for each instruction contained in the program ROM Programming a table of contents of the parity ROM to have a predetermined parity, and signaling an error if a parity that does not match the predetermined parity is detected.
KR1019890006000A 1989-05-04 1989-05-04 Operational function checking device and method thereof for microprocesses KR940011038B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019890006000A KR940011038B1 (en) 1989-05-04 1989-05-04 Operational function checking device and method thereof for microprocesses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019890006000A KR940011038B1 (en) 1989-05-04 1989-05-04 Operational function checking device and method thereof for microprocesses

Publications (2)

Publication Number Publication Date
KR900018813A KR900018813A (en) 1990-12-22
KR940011038B1 true KR940011038B1 (en) 1994-11-22

Family

ID=19285919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890006000A KR940011038B1 (en) 1989-05-04 1989-05-04 Operational function checking device and method thereof for microprocesses

Country Status (1)

Country Link
KR (1) KR940011038B1 (en)

Also Published As

Publication number Publication date
KR900018813A (en) 1990-12-22

Similar Documents

Publication Publication Date Title
US4866713A (en) Operational function checking method and device for microprocessors
US4726024A (en) Fail safe architecture for a computer system
Madeira et al. Experimental evaluation of the fail-silent behavior in computers without error masking
US4796211A (en) Watchdog timer having a reset detection circuit
US3257546A (en) Computer check test
US7747902B2 (en) Synchronizing cross checked processors during initialization by miscompare
Claesson et al. The XBW model for dependable real-time systems
KR940011038B1 (en) Operational function checking device and method thereof for microprocesses
Steininger et al. Economic online self-test in the time-triggered architecture
JPH11259340A (en) Reactivation control circuit for computer
JPH04248629A (en) Arithmetic processing system
Szurman et al. Run-Time Reconfigurable Fault Tolerant Architecture for Soft-Core Processor NEO430
JPH02302833A (en) Apparatus and method for checking operation function for microprocessor
WO2020021415A1 (en) Modular electronic system for verifying the correct execution of operations performed by the system itself
JP2668382B2 (en) Pseudo fault generation method for testing microprograms
US8145953B2 (en) Programmable unit
SU968814A1 (en) Microprogramme control device
US20020144201A1 (en) Program-controlled unit and method for identifying and/or analyzing errors in program-controlled units
RU2131619C1 (en) Fault-tolerant board microprocessor system, alarm timer service, method for operations of fault-tolerant microprocessor system
SU1056193A1 (en) Device for control of microprogram restoration of fault
JPS6027423B2 (en) Pseudo-intermittent error check code generator
JP5730173B2 (en) Device with self-diagnosis function
SU1755283A1 (en) Device for simulating malfunctions
SU1529226A1 (en) Device for checking programs
JPS58129555A (en) Microprogram control device

Legal Events

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

Payment date: 19991015

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee