KR100206887B1 - 프로그램 오동작 방지를 위한 씨피유 - Google Patents
프로그램 오동작 방지를 위한 씨피유 Download PDFInfo
- Publication number
- KR100206887B1 KR100206887B1 KR1019950070175A KR19950070175A KR100206887B1 KR 100206887 B1 KR100206887 B1 KR 100206887B1 KR 1019950070175 A KR1019950070175 A KR 1019950070175A KR 19950070175 A KR19950070175 A KR 19950070175A KR 100206887 B1 KR100206887 B1 KR 100206887B1
- Authority
- KR
- South Korea
- Prior art keywords
- output
- command
- signal
- data
- instruction
- Prior art date
Links
- 230000007257 malfunction Effects 0.000 claims abstract description 13
- 238000003708 edge detection Methods 0.000 claims abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
- G06F11/167—Error detection by comparing the memory output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
- Debugging And Monitoring (AREA)
- Detection And Correction Of Errors (AREA)
- Programmable Controllers (AREA)
Abstract
본 발명은 프로그램 오동작 방지를 위한 씨피유에 관한 것으로, 실행될 명령의 어드레스를 출력하는 프로그램 카운터와, 상기 프로그램 카운터의 어드레스 신호를 입력받아 해당 어드레스의 명령 데이타를 출력하는 메모리와, 상기 메모리로 부터 출력되는 명령 데이타를, 저장하는 제1명령 레지스터 및 그 제1명령 레지스터의 출력데이타를 다시 저장하는 제2명령레지스터와, 명령 디코더의 브렌치 명령 제어신호와 리세트 에지 검출신호에 따라 인에이블신호를 발생하는 오아게이트와, 상기 오아게이트의 출력신호에 따라 상기 제1, 제2명령레지스터의 출력 데이타를 선택하여 출력하는 멀티플렉서와, 상기 멀티플렉서의 출력을 저장하는 제3명령레지스터와, 상기 오아게이트에서 출력되는 인에이블 신호에 따라 상기 제2, 제3명령 레지스터의 출력이 일치하는지 판별하는 비교회로부와, 상기 비교회로부에서 일치신호가 출력될 때 상기 제3명령레지스터의 출력을 디코딩하여 실행부에 인가하는 상기 명령디코더와, 상기 비교회로부에서 불일치신호가 출력될 때 리세트 제어신호를 출력하는 리세트 제어회로부로 구성하고, 이에 따라 시스템의 외부전원 및 클럭에 노이즈가 발생시 비교회로부는 이전 사이클에서 페치한 데이타와 현재 사이클의 데이타를 비교한후 일치할때 명령을 수행하고, 일치하지 않을때 씨피유를 리세트 시키므로, 씨피유의 오동작을 사전에 방지할 수 있는 효과가 있다.
Description
제1도는 종래의 씨피유 블록도.
제2도는 본 발명 프로그램 오동작 방지를 위한 씨피유 블록도.
제3도는 제2도의 씨피유 동작을 설명하기 위한 내부타이밍도.
* 도면의 주요부분에 대한 부호의 설명
10 : 프로그램 카운터 20 : 메모리
30A-30C : 명령 레지스터 40 : 명령 디코더
50 : 실행부 60 : 오아 게이트
70 : 멀티플렉서 80 : 비교회로부
90 : 리세트 제어회로부
본 발명은 프로그램 오동작 방지를 위한 씨피유에 관한 것으로, 특히 씨스템의 외부전원과 클럭에서 노이즈 발생등에 의해 비정상적인 데이타가 페치되는 경우 씨피유를 리세트 시켜 프로그램의 오동작을 방지할 수 있는 프로그램 오동작 방지를 위한 씨피유에 관한 것이다.
제1도는 종래의 씨피유 블록도로서, 이에 도시한 바와 같이 메모리에 저장되어 있는 데이타를 읽어내기 위해 어드레스 버스를 통해 어드레스 신호를 출력하는 프로그램 카운터(1)와, 상기 프로그램 카운터(1)의 어드레스 신호를 출력하는 프로그램 카운터(1)와, 상기 프로그램 카운터(1)의 어드레스 신호를 입력받아 해당 어드레스의 명령 데이타를 출력하는 메모리(2)와, 상기 메모리(2)의 명령 데이타를 입력받아 그 명령의 동작코드를 저장하는 명령 레지스터(3)와, 상기 명령 레지스터(3)의 동작(OP)코드를 입력받아 디코딩하여 제어신호를 출력하는 명령 디코더(4)와, 상기 명령 디코더(4)로 부터 출력된 제어신호(CS)에 따라 명령을 실행하는 실행부(5)로 구성된 것으로, 이의 작용을 설명하면 다음과 같다.
프로그램 카운터(1)는 다음에 실행될 명령의 어드레스를 출력하고, 이 어드레스가 어드레스 버스를 통해 메모리(2)에 입력되어, 해당 어드레스의 명령 데이타가 데이타 버스를 통해 명령 레지스터(3)에 저장되고, 상기 명령 레지스터(3)의 저장된 명령 데이타인 동작(OP)코드가 명령 디코더(4)에 입력되어 디코딩된 후 동작수행을 위한 제어신호(CS)가 실행부(5)에 입력되어 해당 명령을 실행하게 된다.
그러나, 상기와 같은 종래의 씨피유에 있어서는 씨스템의 외부전원 및 클럭에서 노이즈가 발생할때 프로그램 카운터의 오동작에 의해 원하지 않은 영역의 프로그램 메모리(2)의 데이타를 페치하여 수행함으로써 프로그램이 오동작하는 문제점이 있었다.
따라서, 본 발명은 각 사이클마다 이전 사이클에서 페치한 명령 데이타와 현재 사이클에서 페치한 명령 데이타를 서로 비교하여, 그 비교 결과 서로 일치할때 정상적으로 명령을 수행하고, 불일치할때는 씨피유를 리세트 시켜 프로그램의 오동작을 방지할 수 있게 한 프로그램 오동작 방지를 위한 씨피유를 제공함에 그 목적이 있는 것으로, 이를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
제2도는 본 발명 프로그램 오동작 방지를 위한 씨피유 블록도로서, 이에 도시한 바와 같이 실행될 명령의 어드레스를 지정하기 위해 어드레스 버스를 통해 어드레스 신호를 출력하는 프로그램 카운터(10)와, 상기 프로그램 카운터(10)의 어드레스 신호를 입력받아 해당 어드레스의 명령 데이타를 출력하는 메모리(20)와, 상기 메모리(20)로 부터 데이타 버스를 통해 출력되는 명령 데이타를 입력받아 그 명령 데이타를 저장하는 명령 레지스터(30A)와, 상기 명령 레지스터(30A)에 저장된 명령 데이터를 내부클럭에 따라 다시 저장하는 명령 레지스터(30B)와, 명령 디코더(40)의 브렌치명령 제어신호와 리세트 에지검출신호에 따라 인에이블신호를 발생하는 오아게이트(60)와, 이 오아게이트(60)의 출력신호에 따라 상기 명령 레지스터(30A,30B)의 출력을 선택하여 출력하는 멀티플렉서(70)와, 이 멀티플렉서(70)의 출력을 저장하는 명령 레지스터(30C)와, 상기 오아게이트(60)에서 출력되는 인에이블신호에 따라 상기 명령 레지스터(30B,30C)의 출력을 일치하는지 비교하여 명령을 수행할지 리세트시킬지를 판별하는 비교회로부(80)와, 상기 비교회로부(80)에서 일치신호가 출력될 때 상기 명령레지스터(30C)의 출력을 입력받아 디코딩하여 명령을 실행하게 실행부(50)에 인가함과 아울러 상기 브렌치 명령 제어신호를 출력하는 상기 명령디코더(40)와, 상기 비교회로부(80)에서 불일치신호가 출력될 때 리세트신호를 출력하는 리세트 제어회로부(90)로 구성한 것으로, 이의 작용 및 효과를 제3도를 참조하여 상세히 설명하면 다음과 같다.
정상동작중 프로그램 시퀀스를 변경시키는 브렌치 명령이 프로그램 카운터(10)에서 발생되면 0번째 사이클은 리세트가 되고, 첫번째 사이클은 데이타버스를 통해 메모리(20)의 ①,②번지 명령이 레지스터(30A,30B)에 저장되고, 이후 오아게이트(60)의 타측입력단자에 리세트에지 제어신호가 입력되어 그 오아게이트(60)의 출력신호가 인에이블 상태가 아닌 고전위 상태로 되므로 비교회로부(80)는 동작되지 않고, 이때 상기 오아게이트(60)의 출력신호에 의해 멀티플렉서(70)에서는 명령 레지스터(30B)의 출력이 선택되어 출력되고, 이 출력된 명령데이타는 명령 레지스터(30C)에 입력되어 저장된다.
한편, 두번째 사이클에서 명령 레지스터(30C)의 명령 데이타신호가 명령 디코더(40)에 입력되어 디코딩되고, 이에 따라 실행부(50)에서 ①번지의 명령을 실행함과 아울러 명령 레지스터(30A)의 ②번지명령 페치(F②)는 명령 레지스터(30C)로 전이되고, ②,③번지 명령이 명령 레지스터(30B,30A)에 각각 저장되면서 비교회로(80)가 동작되고, 이에 따라 ②번지 명령을 두번 페치한 데이타를 비교하여 그 비교결과 일치신호가 출력될 때 상기와 같이 명령디코더(40)가 동작되어 세번째 명령을 수행하고, 비교값이 일치하지 않아 불일치신호가 출력될 때 상기 명령디코더(40)는 동작되지 않고, 리세트 제어회로부(90)가 동작되어 리세트신호가 출력되므로 리세트된다.
또한, 네번째 사이클에서 ③번지 명령을 디코딩한 것이 브렌치 명령으로 되므로 상기 명령 디코더(40)의 브렌치명령제어신호가 오아게이트(60)의 일측입력단자에 입력되고, 이에 따라 그 오아게이트(60)의 출력신호가 인에이블 상태가 아닌 고전위 상태로 되어 첫번째 사이클과 동일한 동작을 한다.
그리고, 다섯번째와 여섯번째 사이클의 동작은 두번째와 세번째 사이클과 동일한 패턴이므로 동일한 동작을 하게 된다.
이상에서 상세히 설명한 바와 같이 본 발명은 시스템의 외부전원 및 클럭에 노이즈가 발생시 비교회로부는 이전 사이클에서 페치한 데이타와 현재 사이클의 데이타를 비교한후 일치할때 명령을 수행하고, 일치하지 않을때 씨피유를 리세트 시키므로, 씨피유의 오동작을 사전에 방지할 수 있는 효과가 있다.
Claims (1)
- 실행될 명령의 어드레스를 출력하는 프로그램 카운터와, 상기 프로그램 카운터의 어드레스 신호를 입력받아 해당 어드레스의 명령 데이타를 출력하는 메모리와, 상기 메모리로 부터 출력되는 명령 데이타를 저장하는 제1명령 레지스터 및 그 제1명령 레지스터의 출력데이타를 다시 저장하는 제2명령레지스터와, 명령 디코더의 브렌치 명령 제어신호와 리세트 에지 검출신호에 따라 인에이블신호를 발생하는 오아게이트와, 상기 오아게이트의 출력신호에 따라 상기 제1, 제2명령레지스터의 출력 데이터를 선택하여 출력하는 멀티플렉서와, 상기 멀티플렉서의 출력을 저장하는 제3명령레지스터와, 상기 오아게이트에서 출력되는 인에이블 신호에 따라 상기 제2, 제3명령 레지스터의 출력이 일치하는지 판별하는 비교회로부와, 상기 비교회로부에서 일치신호가 출력될 때 상기 제3명령레지스터의 출력을 디코딩하여 실행부에 인가하는 상기 명령디코더와, 상기 비교회로부에서 불일치신호가 출력될 때 리세트 제어신호를 출력하는 리세트 제어회로부로 구성하여 된 것을 특징으로 하는 프로그램 오동작 방지를 위한 씨피유.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950070175A KR100206887B1 (ko) | 1995-12-31 | 1995-12-31 | 프로그램 오동작 방지를 위한 씨피유 |
JP8349649A JPH09305422A (ja) | 1995-12-31 | 1996-12-27 | プログラムの誤動作防止のためのcpu |
US08/773,934 US5838896A (en) | 1995-12-31 | 1996-12-30 | Central processing unit for preventing program malfunction |
CN96114051A CN1100294C (zh) | 1995-12-31 | 1996-12-31 | 能防止程序故障的中央处理单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950070175A KR100206887B1 (ko) | 1995-12-31 | 1995-12-31 | 프로그램 오동작 방지를 위한 씨피유 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970049537A KR970049537A (ko) | 1997-07-29 |
KR100206887B1 true KR100206887B1 (ko) | 1999-07-01 |
Family
ID=19448712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950070175A KR100206887B1 (ko) | 1995-12-31 | 1995-12-31 | 프로그램 오동작 방지를 위한 씨피유 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5838896A (ko) |
JP (1) | JPH09305422A (ko) |
KR (1) | KR100206887B1 (ko) |
CN (1) | CN1100294C (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5383899A (en) * | 1993-09-28 | 1995-01-24 | Hammerslag; Julius G. | Method of using a surface opening adhesive sealer |
US6045570A (en) * | 1997-02-11 | 2000-04-04 | Biointerventional Corporation | Biological sealant mixture and system for use in percutaneous occlusion of puncture sites and tracts in the human body and method |
US6260082B1 (en) * | 1998-12-23 | 2001-07-10 | Bops, Inc. | Methods and apparatus for providing data transfer control |
JP3482185B2 (ja) | 2000-12-11 | 2003-12-22 | 松下電器産業株式会社 | コンピュータ装置 |
ITSV20020018A1 (it) * | 2002-05-03 | 2003-11-03 | Alstom Transp Spa | Dispositivo di elaborazione o comando operante in sicurezza intrinseca |
CN100381014C (zh) * | 2002-08-09 | 2008-04-09 | 松下电器产业株式会社 | 遥控接收系统 |
US7634640B2 (en) * | 2002-08-30 | 2009-12-15 | Infineon Technologies Ag | Data processing apparatus having program counter sensor |
JP3692418B2 (ja) * | 2002-10-09 | 2005-09-07 | 沖電気工業株式会社 | 半導体装置の誤動作防止回路 |
TWI222023B (en) * | 2003-07-14 | 2004-10-11 | Wistron Corp | Method for transferring command among a plurality of devices in a computer system |
CN100395722C (zh) * | 2003-12-24 | 2008-06-18 | 华为技术有限公司 | 一种对控制系统异常状态信息进行保存的方法 |
US7555703B2 (en) * | 2004-06-17 | 2009-06-30 | Intel Corporation | Method and apparatus for reducing false error detection in a microprocessor |
CN1329839C (zh) * | 2005-04-13 | 2007-08-01 | 柴钰 | 一种计算机cpu抗干扰的设计方法 |
DE102006005817B4 (de) * | 2006-02-08 | 2014-06-26 | Infineon Technologies Ag | Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder |
DE102006062703A1 (de) * | 2006-02-08 | 2007-08-30 | Infineon Technologies Ag | Fehlererkennungsvorrichtung und Verfahren zur Fehlererkennung für einen Befehlsdecoder |
DE102006048169A1 (de) * | 2006-10-10 | 2008-04-17 | Robert Bosch Gmbh | Verfahren zur Überwachung einer Funktionsfähigkeit einer Steuerung |
US8135975B2 (en) * | 2007-03-09 | 2012-03-13 | Analog Devices, Inc. | Software programmable timing architecture |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5886648A (ja) * | 1981-11-18 | 1983-05-24 | Mitsubishi Electric Corp | トレ−ス装置 |
US4493035A (en) * | 1982-12-07 | 1985-01-08 | Motorola, Inc. | Data processor version validation |
US4626988A (en) * | 1983-03-07 | 1986-12-02 | International Business Machines Corporation | Instruction fetch look-aside buffer with loop mode control |
JPS619734A (ja) * | 1984-06-26 | 1986-01-17 | Nec Corp | プロセツサ制御方式 |
JPS638971A (ja) * | 1986-06-30 | 1988-01-14 | Nec Corp | 多項式ベクトル演算実行制御装置 |
US5440704A (en) * | 1986-08-26 | 1995-08-08 | Mitsubishi Denki Kabushiki Kaisha | Data processor having branch predicting function |
JPH0769791B2 (ja) * | 1988-12-21 | 1995-07-31 | 三菱電機株式会社 | マイクロプロセッサ |
US5243705A (en) * | 1989-12-11 | 1993-09-07 | Mitsubishi Denki K.K. | System for rapid return of exceptional processing during sequence operation instruction execution |
US5299320A (en) * | 1990-09-03 | 1994-03-29 | Matsushita Electric Industrial Co., Ltd. | Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline |
JPH06139107A (ja) * | 1992-10-30 | 1994-05-20 | Nec Corp | ブレイクアドレス検出回路 |
WO1995022102A1 (en) * | 1994-02-08 | 1995-08-17 | Meridian Semiconductor, Inc. | Method and apparatus for simultaneously executing instructions in a pipelined microprocessor |
US5754806A (en) * | 1995-11-03 | 1998-05-19 | Holtek Microelectronics, Inc. | Memory table look-up device and method |
-
1995
- 1995-12-31 KR KR1019950070175A patent/KR100206887B1/ko not_active IP Right Cessation
-
1996
- 1996-12-27 JP JP8349649A patent/JPH09305422A/ja active Pending
- 1996-12-30 US US08/773,934 patent/US5838896A/en not_active Expired - Fee Related
- 1996-12-31 CN CN96114051A patent/CN1100294C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5838896A (en) | 1998-11-17 |
CN1100294C (zh) | 2003-01-29 |
KR970049537A (ko) | 1997-07-29 |
CN1158454A (zh) | 1997-09-03 |
JPH09305422A (ja) | 1997-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100206887B1 (ko) | 프로그램 오동작 방지를 위한 씨피유 | |
US7266725B2 (en) | Method for debugging reconfigurable architectures | |
US5596733A (en) | System for exception recovery using a conditional substitution instruction which inserts a replacement result in the destination of the excepting instruction | |
US6289445B2 (en) | Circuit and method for initiating exception routines using implicit exception checking | |
US5005118A (en) | Method and apparatus for modifying micro-instructions using a macro-instruction pipeline | |
US8135975B2 (en) | Software programmable timing architecture | |
US6145074A (en) | Selecting register or previous instruction result bypass as source operand path based on bypass specifier field in succeeding instruction | |
KR20000006302A (ko) | 브랜치제어를하는데이터처리시스템및그방법 | |
US6189093B1 (en) | System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register | |
EP0772827B1 (en) | Pipeline microprocessor test apparatus | |
KR100186847B1 (ko) | 서로 분리되어 제공되는 데이타 버스와 명령어 페치 버스를 가지는 데이타 처리기 | |
US5454090A (en) | Apparatus for furnishing instructions in a microprocessor with a multi-stage pipeline processing unit for processing instruction phase and having a memory and at least three additional memory units | |
US20030084272A1 (en) | Handling problematic events in a data processing apparatus | |
EP1177499B1 (en) | Processor and method of executing instructions from several instruction sources | |
US5860155A (en) | Instruction decoding mechanism for reducing execution time by earlier detection and replacement of indirect addresses with direct addresses | |
US20110125984A1 (en) | Microprocessor | |
US5572479A (en) | Semiconductor integrated circuit having a synchronous type memory | |
KR920008142B1 (ko) | 마이크로 프로그램 처리장치 | |
KR970011209B1 (ko) | 실행된 명령 스트림을 추적하기 위해 사용되는 신호를 발생하기 위한 회로를 포함하는 마이크로프로세서 | |
JP2001014161A (ja) | プログラマブルコントローラ | |
TWI683202B (zh) | 數位波形訊號產生裝置 | |
KR0167307B1 (ko) | 프로그램 분기 제어회로 | |
JPS59183434A (ja) | 命令先取り制御方式 | |
KR100347138B1 (ko) | 프로세서의 데이터처리방법 | |
US7124281B1 (en) | Processing system having sequential address indicator signals |
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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050322 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |