KR910006027Y1 - 시스템 다운 방지회로 - Google Patents
시스템 다운 방지회로 Download PDFInfo
- Publication number
- KR910006027Y1 KR910006027Y1 KR2019880012324U KR880012324U KR910006027Y1 KR 910006027 Y1 KR910006027 Y1 KR 910006027Y1 KR 2019880012324 U KR2019880012324 U KR 2019880012324U KR 880012324 U KR880012324 U KR 880012324U KR 910006027 Y1 KR910006027 Y1 KR 910006027Y1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- flop
- cpu
- output
- deflip
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
내용 없음.
Description
제 1 도는 본 고안에 따른 회로도.
제 2 도는 본 고안에 따른 제 1 도의 메모리맵도.
제 3 도는 본 고안에 따른 제 1 도의 동작 타이밍도.
제 4 도는 본 고안에 따른 다른 실시예 회로도.
제 5 도는 본 고안에 따른 제 4 도의 메모리맵도.
제 6 도는 본 고안에 따른 제 4 도의 동작 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
10 : 중앙처리장치(CPU) 20 : 에러검출 시간 설정수단
30 : 비교수단 40 : 검사체크용 기준신호 발생수단
본 고안은 중앙처리장치(마이크로 프로세서)의 다운 방지회로에 관한 것이다.
종래의 전원 노이즈나 기타 외부적 요인에 의해 중앙처리장치(이하 "CPU" 라 칭함) 가 폭주(컴퓨터 다운) 하였을 경우 CPU 의 동작과 관련된 전 시스템이 오동작하게 되어 데이타 훼손 및 기타 사고의 원인이 되어 왔었다. 상기 CPU가 폭주하는 현상은 프로그램 카운터(instrUction Pointer)가 어떤 외부나 내부의 원인에 의해 다른값으로 변했을때, 오퍼랜드(Operand)나 데이타를 명령코드(op code)로 읽어들였을때 발생되는 현상으로 시스템이 다운되어 자동 제어시스템(PLC를 이용한 FA 등) 의 오동작에 의해 사고를 유발시키거나 데이타를 훼손시키는 문제점이 있었다.
따라서 본 고안의 목적은 메모리에 명령어와 데이타 및 오퍼랜드에 따라 검사 비트를 두어 CPU의 프로그램 카운터가 명령어를 읽어들일때 상기 검사 비트를 체킹하고 명령어가 아니고, 오퍼랜드나 데이타일 경우 하드웨어적으로 이를 검출하여 CPU에 인터럽트를 주어 시스템의 에러를 방지할 수 있는 회로를 제공함에 있다.
이하 본 고안을 첨부된 도면을 참조하여 상세히 설명한다.
제 1 도는 본 고안에 따른 회로도로서, 입력 명령에 따라 데이타를 처리하여 제어신호를 발생하는 CPU(10)와, 상기 CPU(10)의 클럭신호단의 출력을 디플립플롭(U1, U2)의 클럭단(CK)과 오아게이트(U3)으로 입력하고 머신 사이클단()을 상기 디플립플롭(U1)의 데이타다단(D)에 연결하며, 상기 디플립플롭(U1)의 출력단(Q)을 디플립플롭(U2)의 데이타단(D) 및 오아게이트(U3)의 입력단에 연결하여 상기 디플립플롭(U2)의 출력단(Q)을 상기 디플립플롭(U1)의 세트단(S)에 연결되도록 하고 상기 디플립플롭(U1)의 출력과 CPU(10)의 메모리 요구단의 상태에 따라 상기 오아게이트(U3)에서 에러상태 검출시간을 결정하는 에러검출 시간 설정수단(20)과, 상기 에러검출시간 설정수단(20)의 오아게이트(U3) 출력단을 오아게이트(U4)의 입력단에 연결하고 상기 머신 사이클단()을 익스클루시브 오아게이트(U5)의 입력단과 디플립플롭(U6)의 클럭단에 동시에 연결하며 상기 익스클루시브 오아게이트(U5)의 출력단을 오아게이트(U4)의 입력단에 연결하고 상기 오아게이트(U4)의 출력단은 상기 디플립플롭(U6)의 클리어단(c)에 연결하며 상기 디플립플롭(U6)의 출력단(Q)이 상기 CPU(10)의 논 마스크블 인터럽트단에 연결하여 저장된 검사 비트와 상기 에러검출 수단(20)의 출력을 비교하여 인터럽트 제어신호를 발생하는 비교수단(30)과, 상기 CPU(10)의 어드레스 버스(A3-An)와 메모리 요구단이 롬(U7)의 어드레스단(A0-An)과 칩 실렉트단에 연결되어 제어용 프로그램 및 상기 제어용 프로그램 명령과 오퍼랜드 및 데이타별로 검사비트를 내장하고 있으며 상기 롬(U7)의 출력단(Q0-Q7)이 멀티플렉셔(U8)의 입력단(D0-D7)에 연결되며 상기 CPU(10)의 어드레스 버스(A0-A2)가 상기 멀티플렉셔(U8)의 선택단(A-C)에 연결되고 상기 에러 검출시간 설정수단(20)의 오아게이트(U3)에서 출력되는 스트로브 신호단의 에러체크용 비교의 기준신호를 발생하는 검사 체크용 기준신호 발생수단(40)으로 구성된다.
제 2 도는 본 발명에 따른 롬(U7)의 메모리 맵도로서 (2A)는 롬(U7)의 제어용 프로그램의 명령과 오퍼랜드 및 데이타별 검사비트 테이블도로서, 여기서 프로그램 메모리와 검사비트 메모리는 분리되어 있다.
(2B)는 메모리의 프로그램 내용이다.
제 3 도는 본 고안에 따른 제 1 도의 동작 타이밍도로서 (3a)는 시스템 기준클럭 파형도이고, (3b)는 머신 사이클 파형도이며, (3c)는 디플립플롭(U1)의 출력단(Q)의 출력파형이고, (3d)는 오아게이트(U4)의 출력파형도이며, (3e)는 디플립플롭(U6)의 출력단(Q)의 출격파형이고, (3f)는 CPU(10)의 메모리 요구단의 출력파형이다.
따라서 본 고안의 구체적 일실시예를 제 1-3 도를 참조하여 상세히 설명하면, CPU(10)의 명령 형식은 앞부분이 명령코드(op code), 뒷부분이 앞의 명령에 따라 연산수(operend)로 되어 있다. 명령어 종류에 따라 CPU(10)의 내부 연산등의 경우에는 연산수없이 명령 코드 만으로만 명령어가 구성된다. 그러므로 명령어의 길이는 명령에 따라 다르다.
제 2 도에서 프로그램 메모리 내용중 3E(16진수), 2A, 81, DD21, DDE5, 32, ...는 코드이고, 02, 00 01, 00 02, 00 10, .... 는 연산수이다.
CPU(10)의 프로그램 프로그램 카운터(명령포인터) 는 제 2b 도의 프로그램 메모리 번지를 지시하여 3E, 02, 2A, ....순으로 메모리에서 읽고 3E 는 명령코드(LD A, n) 로, 02 는 연산수(n = 02) 로 해독한다.
그러나 외부 노이즈(전원 Noise) 로 인해 CPU(10)가 오동작하여 프로그램 카운터가 연산수를 명령코드로 인식하게 되면, 예를 들어 제 2 도의 예에서 3E가 아닌 02(연산수)가 명령어되면 LD(BC), A라고 잘못 해독이 되며, 오동작이 발생한다.
상기의 원인으로 연산수와 연산수의 길이에 따라서는 다음 명령도 연산자가 명령이 되어 CPU(10) 가 폭주하게 된다.
상기와 같은 오동작 검출 때문에 본 고안에서는 컴퓨터 메모리인 롬(U7)에 명령 코드인지 연산수 또는 데이타인지를 구별할 수 있도록 1 비트로 제 2 도(2A)의 테이블과 같이 허가하며, CPU(10)가 메모리를 호출할때 CPU(10) 제어신호를 하드웨어적으로 해독하여 명령코드의 호출 순간을 감지하고, 이때 롬(U7)의 내용이 "0" (논리치 "L" 에 해당) 일때 정상적인 동작이 되도록 롬(U7)에 상기 내용을 이미 기록되어 있음을 밝혀둔다.
제 2 도에서 롬(U7) 의 해당 내용(1비트)이 이미 기록된 내용이 명령코드이면 " 0 " , 연산수나 데이타이면 "1"를 기억시켜 둔다. (프로그램 실행전)
제 1 도의 CPU(10)은 Z80 마이크로 프로세서의 회로로서, CPU(10)가 명령코드를 호출할때 머신 사이클단으로 (3b)와 같이 발생되어 CPU(10)는 명령코드의 호출 순간을 알수 있다. 제 1 도의 회로에서 디플립플롭(U1) 및 (U2)에 의해 T2 동안에 디플립플롭(U1)의 출력단(Q)의 신호는 (3c)와 같이 " 0 " 상태가 된다. 상기 (3c) 신호인 " 0 " 상태와, (3a)(3f)신호를 오아게이트(U3)에서 논리합하면 메모리에서 명령 코드를 호출하고 있다는 신호로 (3d)와 같이 T2의 후반주기에서 발생되어 오아게이트(U4)에 입력한다. 그리고 CPU(10)의 어드레싱에 따라 롬(U7)로 부터 발생된 데이타를 멀티플렉셔(U8)에서 멀티플렉싱 하면 현재 CPU(10)가 호출 하고 있는 번지가 명령코드를 기억하고 있는 번지인지의 여부를 알 수 있도록 하는 신호를 멀치플렉셔(U8)의 출력단(W)으로 출력한다. 즉 상기 멀티플렉셔(U8)의 출력단(W)으로 출력되는 값이 명령코드일 경우 " 1 "이 출력되고, 연산수나 데이타인 경우 " 0 " (반전됨)이 출력된다. 상기 멀티플렉셔(U8)의 출력단(W)의 내용과 (3b)과 같이 머신 사이클단신호가 같으면, 예를들어 CPU(10)는 명령코드를 읽고 있는데, 프로그램 메모리의 내용은 연산수나 데이타로 기억되어 있을 경우이거나, CPU(10)가 연산수나 데이타를 호출하고 있는데 프로그램 메모리는 명령코드가 기억되어 있는 경우이다. 이때 익스클루시브 오아게이트(U5) 의 출력은 (3b) 와 같이 머신 사이클단의 신호주기 동안 " 0 " 가 된다. 사용자가 멀티플렉셔(U8) 의 출력단(W) 의 내용과 머신 사이클단의 신호의 내용을 잘 일치시켜 놓았을 경우에는 멀티플렉셔(U8)의 출력단(W)의 내용과 머신 사이클단의 신호와 같은 상태인 경우는 외부 영향에 의한 CPU(10)의 오동작이다. 이에 대해 상기 익스클루시브 오아게이트(U5)의 출력이 " 로우 " 이므로 오아게이트(U4) 출력 또한 (3d)와 같이 " 0 " 로 디플립플롭(U6)을 클리어단(C)에 입력되어 클리어하므로 디플립플롭(U6)의 출력단(Q)은 (3e)와 같이 " 0 "로 되어 (3b) 신호와 클럭단(U1)의 신호이므로 네가티브 에지에서 " 하이 " 상태로 된다. 상기 디플립플롭(U6)의 출력단(Q)의 " 로우 " 상태가 CPU(10)의단에 인가되어 인터럽트를 요구하여 CPU(10)는 에러가 발생되었음을 알 수 있다.
상기 디플립플롭(U6)에서 발생하여 CPU(10)의단으로 입력된 (3e)는 다음 명령 코드 호출(interrupt acknowledge) 시에 해제된다.
제 4 도는 본 고안에 따른 또다른 실시예 회로도로서, 제 4 도중 U11, U12, U14 는 낸드(NAND)게이트, U13, U18, U90,U100은 디플립플롭, U15, U17은 오아게이트, U16은 익스클루시브 오아게이트, U110은 롬, U120은 멀티플렉셔이며 낸드게이트(U11,U12), 인버터(U21,U22), 디플립플롭(U13)으로 구성된 부분이 명령코드 호출여부 판단부(201)이고, 낸드게이트(U14), 익스클루시브오아게이트(U16), 오아게이트(U17), 디플립플롭(U18)으로 구성된 부분이 비교부(202)이며, 디플립플롭(U90, U100), 오아게이트(U15)로 구성된 부분이 시간 설정부(203)이고, 롬(U110), 멀티플렉셔(U120)로 구성된 부분이 기준검사 신호발생부(204)이다.
제 5 도는 본 고안에 따른 제 4 도의 롬(U10)의 메모리 맵도로서, (5A)는 롬 (U110)에 내장된 검사 비트 테이블도이고, (5B)는 프로그램 명령 및 데이타 코드예이다.
제 6 도는 본 고안에 따른 제 4 도의 동작타이밍도로서, (6a)는 기준 시스템 클럭신호이고, (6b)는 어드레스스토로브 신호이며, (6c)는 기능(FUnction) 코드 출력 데이타이고, (6d)는 오아게이트(U15)의 출력 신호파형이며, (6e)는 낸드게이트(U14)의 출력신호 파형이고, (6f)는 디플립플롭(U18)의 출력파형이다.
제 4 도의 예는 프로세서 68000의 CPU를 예로한 것으로서 68000의 CPU(400)는 머신 사이클단에 대응되는 신호가 발생되지 않으므로 CPU(400)가 데이타를 호출한 직후에 명령을 호출하면 그때의 명령은 명령코드부분이 된다.
즉 CPU(400)의 기능 코드 출력단(FCO-FC2)으로 (6c)와 같이 출력되면 디플립플롭(U90)의 데이타단(d)으로 입력되는 어드레스 스트로부단의 신호(6b)를 디플립플롭(U90, U100)의 클럭단(CK)으로 입력되는 클럭신호(6a)에 의해 래치하여 디플립플롭(U100)의 출력단(Q)의 상태가 상기 (6b)의 신호를 오아게이트(U15)에서 논리합된다. 이때 오아게이트 (U15)의 출력은 디플립플롭(U13)의 클럭단(CK)으로 입력되어 낸드게이트(U12)의 출력을 래치한다. 그리고 제 5 도(5b)의 프로그램의 명령 및 데이타 코드에 따라 롬(U110)에서 발생된 검사 비트를 멀티플렉셔(U120)를 통해 멀티플렉싱 하여 익스클루시브 오아게이트(U16)에 입력된다.
상기 기능 코드 출력신호(FC0 FC1)와 디플립플롭(U13)의 출력단의 신호를 낸드게이트(U14)에 입력하고 상기 낸드게이트(U14)의 출력과 상기 멀티플렉셔(U120)의 검사비트를 익스클루시브 오아게이트(U17)에서 비교하고 오아게이트(U17)을 통하면 (6e)와 같이 발생되어 디플립플롭(U18)을 세트시킨다.
이 상태에서 (6d)와 같은 에러가 발생될때 상승에지에서 CPU(400)의 인터럽트 신호가 발생된다. 즉, 제 4 도 에서는 롬(U110)의 내용에 명령코드가 기록된 번지에 " 0 " 가 기억되는 것이 아니라 이전의 명령에 데이타 호출이 포함되어지고 현재의 메모리 사이클이 명령 호출 사이클인 경우에는 롬(U110)의 해당번지의 내용이 " 0 " 가 된다. 이 예는 i80286, U80386, MC68020 등 Z-80 이나 Z-8000 CPU(400) 처럼 M1에 대응한 신호가 출력되지 않을때 사용될 수 있다.
상술한 바와 같이 CPU의 프로그램 카운터가 단 1 회라도 잘못된 명령을 호출했을때 즉시 프로그램을 종료시켜 에러에 대한 조치를 하므로써 시스템이 다운되어 사고가 발생되거나 데이타의 훼손을 방지하는 이점이 있다.
Claims (1)
- CPU(10)를 구비한 CPU(10)의 프로그램 처리 에러방지 회로에 있어서, 상기 CPU(10)의 클럭신호단의 출력을 디플립플롭(U1, U2)의 클럭단(CK)과 오아게이트(U3)으로 입력하고 머신 사이클단을 상기 디플립플롭(U1)의 데이타단(D)에 연결하며, 상기 디플립플롭(U1)의 출력단(Q)을 디플립플롭(U2)의 데이타단(D) 및 오아게이트(U3)의 입력단에 연결하여 상기 디플립플롭(U2)의 출력단(Q)을 상기 디플립플롭(U1)의 세트단(S)에 연결되도록 하고 상기 디플립플롭(U1)의 출력과 CPU(10)의 메모리 요구단의 상태에 따라 상기 오아게이트(U3)에서 에러상태 검출시간을 결정하는 에러검출 시간 설정수단(20)과, 상기 에러검출 시간 설정수단(20)의 오아게이트(U3) 출력단을 오아게이트(U4)의 입력단에 연결하고 상기 머신 사이클단을 익스클루시브 오아게이트(U5)의 입력단과 디플립플롭(U6)의 클럭단에 동시에 연결하며 상기 익스클루시브 오아게이트(U5)의 출력단을 오아게이트(U4)의 입력단에 연결하고 상기 오아게이트(U4)의 출력단은 상기 디플립플롭(U6)의 클리어단(C)에 연결하며 상기 디플립플롭(U6)의 출력단(Q)이 상기 CPU(10)의 논 마스크블 인터럽트단에 연결하여 저장된 검사 비트와 상기 에러검출 수단(20)의 출력을 비교하여 인터럽트 제어신호를 발생하는 비교수단(30)과, 상기 CPU(10)의 어드레스 버스(A3-An)와 메모리 요구단이 롬(U7)의 어드레스단(A0-An)과 칩 실렉트단에 연결되어 제어용 프로그램 및 상기 제어용 프로그램 명령과 오퍼랜드 및 데이타별로 검사비트를 내장하고 있으며 상기 롬(U7)의 출력단(Q1-Q7) 이 멀티플렉서(U8)의 입력단(D0-D7)에 연결되며 상기 CPU(10)의 어드레스 버스(A0-A2)가 상기 멀티플렉서(U8)의 선택단(A-C)에 연결되고 상기 에러 검출시간 설정수단(20)의 오아게이트(U3)에서 출력되는 스트로브 신호단(S)의 에러체크용 비교의 기준신호를 발생하는 검사 체크용 기준신호 발생수단(40)으로 구성됨을 특징으로 하는 시스템 다운방지회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2019880012324U KR910006027Y1 (ko) | 1988-07-28 | 1988-07-28 | 시스템 다운 방지회로 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2019880012324U KR910006027Y1 (ko) | 1988-07-28 | 1988-07-28 | 시스템 다운 방지회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR900003476U KR900003476U (ko) | 1990-02-07 |
KR910006027Y1 true KR910006027Y1 (ko) | 1991-08-16 |
Family
ID=19277973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR2019880012324U KR910006027Y1 (ko) | 1988-07-28 | 1988-07-28 | 시스템 다운 방지회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR910006027Y1 (ko) |
-
1988
- 1988-07-28 KR KR2019880012324U patent/KR910006027Y1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR900003476U (ko) | 1990-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4763248A (en) | Microcomputer with a detecting function of a memory access error | |
KR910006027Y1 (ko) | 시스템 다운 방지회로 | |
US3618042A (en) | Error detection and instruction reexecution device in a data-processing apparatus | |
KR100239438B1 (ko) | 오동작 방지 기능을 갖는 중앙 처리 장치 | |
EP0525672A2 (en) | Microprocessor with program tracing | |
KR930008687B1 (ko) | Cpu 폭주 감지 회로 | |
KR920003909B1 (ko) | 디버깅지원회로 | |
JP2658342B2 (ja) | データ処理装置 | |
JP3214413B2 (ja) | エミュレータ | |
JP2626119B2 (ja) | マイクロコンピュータ開発支援装置 | |
JPH05173840A (ja) | マイクロコンピュータ | |
JPH06139084A (ja) | 情報処理装置 | |
JPH0287239A (ja) | マイクロプログラム処理装置 | |
JPS60233743A (ja) | 計算機システムの異常検出回路 | |
JPS5663652A (en) | Information processing unit | |
JP2701799B2 (ja) | マイクロコンピュータ | |
JPH0736735A (ja) | デバッグ装置 | |
EP0112672A2 (en) | System for processing machine check interruption | |
JPH0333939A (ja) | マイクロプロセッサ | |
JPH0553843A (ja) | Cpuの暴走検出方式 | |
JPH02190943A (ja) | 擬似障害発生装置 | |
JPH087706B2 (ja) | 評価用シングルチツプマイクロコンピュータ | |
JPH07319724A (ja) | エミュレーションcpu | |
JPS6385831A (ja) | マイクロプロセツサの制御回路 | |
JPH0432418B2 (ko) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
REGI | Registration of establishment | ||
FPAY | Annual fee payment |
Payment date: 19980327 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |