KR100206887B1 - 프로그램 오동작 방지를 위한 씨피유 - Google Patents

프로그램 오동작 방지를 위한 씨피유 Download PDF

Info

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
Application number
KR1019950070175A
Other languages
English (en)
Other versions
KR970049537A (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 구본준
Priority to KR1019950070175A priority Critical patent/KR100206887B1/ko
Priority to JP8349649A priority patent/JPH09305422A/ja
Priority to US08/773,934 priority patent/US5838896A/en
Priority to CN96114051A priority patent/CN1100294C/zh
Publication of KR970049537A publication Critical patent/KR970049537A/ko
Application granted granted Critical
Publication of KR100206887B1 publication Critical patent/KR100206887B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, 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명령 레지스터 및 그 제1명령 레지스터의 출력데이타를 다시 저장하는 제2명령레지스터와, 명령 디코더의 브렌치 명령 제어신호와 리세트 에지 검출신호에 따라 인에이블신호를 발생하는 오아게이트와, 상기 오아게이트의 출력신호에 따라 상기 제1, 제2명령레지스터의 출력 데이터를 선택하여 출력하는 멀티플렉서와, 상기 멀티플렉서의 출력을 저장하는 제3명령레지스터와, 상기 오아게이트에서 출력되는 인에이블 신호에 따라 상기 제2, 제3명령 레지스터의 출력이 일치하는지 판별하는 비교회로부와, 상기 비교회로부에서 일치신호가 출력될 때 상기 제3명령레지스터의 출력을 디코딩하여 실행부에 인가하는 상기 명령디코더와, 상기 비교회로부에서 불일치신호가 출력될 때 리세트 제어신호를 출력하는 리세트 제어회로부로 구성하여 된 것을 특징으로 하는 프로그램 오동작 방지를 위한 씨피유.
KR1019950070175A 1995-12-31 1995-12-31 프로그램 오동작 방지를 위한 씨피유 KR100206887B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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