KR20070068405A - 가변 클록 속도를 갖는 데이터 처리 시스템 - Google Patents

가변 클록 속도를 갖는 데이터 처리 시스템 Download PDF

Info

Publication number
KR20070068405A
KR20070068405A KR1020077009249A KR20077009249A KR20070068405A KR 20070068405 A KR20070068405 A KR 20070068405A KR 1020077009249 A KR1020077009249 A KR 1020077009249A KR 20077009249 A KR20077009249 A KR 20077009249A KR 20070068405 A KR20070068405 A KR 20070068405A
Authority
KR
South Korea
Prior art keywords
clock
data processing
processing system
execution unit
clock speed
Prior art date
Application number
KR1020077009249A
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
Priority claimed from DE200410051950 external-priority patent/DE102004051950A1/de
Priority claimed from DE200410051992 external-priority patent/DE102004051992A1/de
Priority claimed from DE200510045399 external-priority patent/DE102005045399A1/de
Application filed by 로베르트 보쉬 게엠베하 filed Critical 로베르트 보쉬 게엠베하
Publication of KR20070068405A publication Critical patent/KR20070068405A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/30181Instruction operation extension or modification
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Testing Of Coins (AREA)
  • Treatment And Processing Of Natural Fur Or Leather (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)

Abstract

본 발명은 클록 제어 방식으로 기능하는 실행 유닛(1)과, 이 실행 유닛(1)을 위한 클록 신호를 공급하기 위한 클록 발생기(5)와, 상기 실행 유닛(1)의 적합한 기능 상태를 모니터링 하기 위한 모니터링 유닛(3)을 포함하는 데이터 처리 시스템에 관한 것이다. 상기 클록 발생기(5)는 제어 가능한 주파수를 갖는 클록 신호를 공급할 수 있도록 설계된다. 상기 실행 유닛(1)의 부적합한 기능 상태가 확인된다면 클록 신호의 주파수를 감소시키기 위해, 상기 모니터링 유닛(3)은 기능에 따라 상기 클록 발생기(5)와 연결된다.
실행 유닛, 클록 신호, 클록 발생기, 모니터링 유닛, 데이터 처리 시스템

Description

가변 클록 속도를 갖는 데이터 처리 시스템{DATA PROCESSING SYSTEM WITH A VARIABLE CLOCK SPEED}
본 발명은 예컨대 마이크로 프로세서와 같이 클록 제어 방식으로 기능하는 실행 유닛과, 이 실행 유닛을 위한 클록 신호를 공급하기 위한 클록 발생기와, 실행 유닛의 적합한 기능 상태를 모니터링 하기 위한 모니터링 유닛을 포함하는 데이터 처리 시스템에 관한 것이다.
상기한 모니터링 유닛은 "워치도그"의 명칭으로도 공지되어 있으며, 통상적으로 실행 유닛의 비정의된 상태 내지 크래쉬(crash)를 검출하고, 필요에 따라 정의된 작동 상태를 다시 생성하기 위해 실행 유닛을 재설정하는 역할을 한다. 상기한 "워치도그"는, 재설정하는 동안 실행 유닛의 일시적인 작동 중단을 감수하면서, 장애 상태를 제거한다. 이 장애 상태는 예컨대 우주 방사선 혹은 기타 이온화 방사선 등의 영향에 의해 정보 손실을 바탕으로 자발적 처리 에러로부터 발생할 수 있다. 회로 기술 혹은 프로그램 기술 분야의 데이터 처리 시스템의 구조적 결함은 처리 시에 재현될 수 있는 에러를 야기한다. 그러나 그 구조적 결함은 상기한 "워치도그"에 의해 차단될 수 없는데, 왜냐하면 "워치도그"는 예측 가능한 방법으로 에러를 초래하는 조건들의 발생을 억제할 수 없기 때문이다.
전자 데이터 처리 시스템에서 발생하는 처리 에러에 대한 또 다른 가능한 원인은 전자 주행 시간 효과이다. 전기 신호는 데이터 처리 시스템의 반도체 칩 상에서 혹은 그 다수의 칩 사이에서 단지 지정된 속도로만 전파될 수 있기 때문에, 신호 경로의 길이가 더욱 짧고 더욱 정확하게 상호 간에 조정되어야만, 시스템이 작동되는 클록 주파수는 더욱 높아진다. 신호 라인들에서 기생 용량은 신호 레벨의 변화를 지연시킬 수 있다. 이와 같은 기생 용량은 제조 조건에 따라 산란할 수 있기 때문에, 통상적으로 프로세서의 생산 시에 프로세서가 안전하게 기능하는 최대 클록 주파수가 얼마나 높은지 여부를 검사하게 된다. 본원의 출발은, (안전 여유도와 관련하는) 상기한 주파수에 대해 프로세서가 허용되며, 프로세서가 상기한 허용된 최대 주파수와 이 주파수 아래에 위치하는 클록 주파수에서 안전하게 작동될 수 있다는 사실로부터 개시된다.
각각의 이용률에 따라 네트워크에 독립적으로 적용하기 위한 프로세서들을 상이한 클록 주파수에서 작동하는 점은 이미 제안되었다. 이러한 조치의 목적은 프로세서의 전력 소모량을 최소화하는 것에 있다. 전력 소모량은 클록 주파수와 더불어 선형 증가하기 때문에, 프로세서의 실제 태스크를 처리하기 위해 요구되는 것보다 높지 않은 클록 속도에서 프로세서를 작동하는 것이 바람직하다.
대개, 전자 소자의 노화 현상은 데이터 처리 시스템에서 자발적 처리 에러의 가능성을 증가시킨다는 점을 확인할 수 있다. 이와 같은 상승은 예컨대 회로들이 구현되어 있는 반도체 기판들의 경계면에서 발생하고 회로에 부하를 주는 기생 용량의 변화를 초래하는 장기간 변화로 설명될 수 있다. 회로 소자들에 이루어지는 도펀트 소재의 이동 역시 높은 작동 온도에서 배제될 수 없으며, 반도체 기판상에 형성되는 구조가 더욱 작아질수록, 상기한 이동의 작용은 더욱 강해진다. 그러므로 더욱 높아지는 집적 밀도에 대한 개발의 관점에서, 노화 조건에 따른 신뢰성 문제의 증가하는 중요성을 고려해야 한다.
특허 청구항 제1항에 정의된 바와 같이 본 발명을 통해, 전술한 문제에도 불구하고 장기간 높은 작동 안전성을 보장하고, 그에 따라 특히 가능한 점에 한해 자발적 기능 장애의 회피가 중요한 안전 임계 적용에 대한 적합성이 우수한 데이터 처리 시스템이 제공된다.
상기한 장점은, 클록 제어되는 방식으로 기능하는 실행 유닛, 실행 유닛용 클록 신호를 공급하는 클록 발생기, 그리고 실행 유닛의 적합한 기능 상태를 모니터링 하기 위한 모니터링 유닛을 포함하는 데이터 처리 시스템에 있어서, 클록 발생기는 제어 가능한 주파수를 포함하는 클록 신호를 공급할 수 있도록 구현되며, 실행 유닛의 부적합한 기능 상태가 확인되었다면 클록 신호의 주파수를 감소시키기 위해 모니터링 유닛이 기능에 따라 클록 발생기와 연결됨으로써 달성된다.
본원의 출발은, 전술한 기생 용량이나, 혹은 회로 소자에 있어서 경우에 따라 도펀트 이동에 의해 야기되는 효율 감소가, 데이터 처리 시스템에서 발생하는 자발적 에러들의 본질적인 부분에 대해 책임이 있다는 사실로부터 개시된다. 상기한 에러가 발생하는 경우, 클록 속도가 감소되면서, 단지 시스템이 최적의 조건에서 달성할 수도 있는 일부분의 계산 용량만이 포기된다. 그러나 시스템의 일반적인 신뢰도는 유지된다.
원래 명시된 높은 클록 속도로써 달성 가능한 시스템의 계산 처리 능력을 적어도 주기적으로 완전하게 활용하면서 데이터 처리 시스템에서 실행되는 응용 프로그램을, 클록 속도가 감소할 경우에도 실행가능하게 유지하기 위해, 응용 프로그램은 목적에 더욱 부합하게는 다수의 기능으로 분리되어야 하며, 그 기능들 중에서 유사시 포기 가능한 것으로서 판단되는 적어도 하나의 기능의 실행은 시스템의 실제 클록 속도에 따라서 실행되도록 허용되거나 혹은 허용되지 않는다.
모니터링 유닛은 공지된 워치도그 유닛을 포함할 수 있다. 이와 관련하여, 실행 유닛의 기능 신호가 사전 지정된 시간 간격으로 나타나지 않을 때, 상기 워치도그 유닛은 실행 유닛의 부적합한 기능 상태를 확인한다. 그러나 상기 실행 유닛은 기능 신호가 나타나지 않을 때 통상적인 방법으로 데이터 처리 시스템을 재설정하는 것이 아니라 단지 클록 신호의 주파수의 감소만을 야기한다.
대체되거나 조합되는 방법에 따라, 모니터링 유닛은, 실제 클록 속도와 이 실제 클록 속도와 비교하여 변경된 클록 속도에서 처리 유닛에 의한 검사 처리를 실행하여 실제 클록 속도에서 실행된 검사 처리의 결과와 변경된 클록 속도에서 실행된 검사 처리의 결과가 서로 상이하면, 실행 유닛의 부적합한 기능 상태를 확인할 수 있도록 설계될 수 있다.
바람직하게는 변경된 클록 속도는 실제 클록 속도와 비교하여 증가된 클록 속도이다. 이는, 여전히 한계 클록 주파수(넘어서면 처리 에러가 발생한다)가 실제 클록 주파수의 수준으로 감소하기 전에, 자발적 에러를 생성하는 데이터 처리 시스템의 성향을 확인할 수 있도록 허용한다.
검사 처리의 실행을 제어하는 모니터링 유닛은 프로그램 기술적인 방법으로 간단하면서도 저렴하게 실행 유닛 내에 구현될 수 있다.
또 다른 구현예에 따라, 모니터링 유닛은, 제2 실행 유닛과 2개의 실행 유닛의 처리 결과를 비교하기 위한 수단을 포함하며, 그 결과들이 일치하지 않을 시에 부적합한 기능 상태를 확인할 수 있도록 설계된다. 이 경우, 데이터 처리 시스템의 신뢰도를 판단하기 위해서는 검사 처리의 일 회 실행만으로도 충분하다.
또한, 상기한 구현예에 따라, 바람직하게는 작동 안전성 검사를 위해 클록 주파수를 일시적으로 실제 클록 주파수 이상으로 증가시키며, 클록 주파수가 상승한 상태에서 부적합한 기능 상태가 확인될 시에는 클록 주파수를 전술한 실제 클록 주파수 이하로 감소시킨다.
데이터 처리 시스템은 하한 이하로 클록 주파수를 감소할 시에 경고 신호를 출력하기 위한 수단을 구비하고 있어야 한다.
특히 데이터 처리 시스템은 자동차용 제어 장치, 특히 엔진 제어 장치일 수 있다.
본 발명의 또 다른 대상은 데이터 처리 시스템, 특히 전술한 종류의 데이터 처리 시스템에서 클록 제어 방식으로 기능하는 실행 유닛을 작동시키기 위한 방법이다. 본원의 방법에 따라, 실행 유닛은 클록 주파수가 높을 시에 적합한 기능 상태와 관련하여 검사를 받으며, 실행 유닛의 부적합한 기능 상태가 확인된다면, 클록 속도는 감소하며, 상기한 검사는 정기적으로 반복된다. 정기적인 검사는 특히 데이터 처리 시스템을 매번 활성화하고 그리고/또는 비활성화할 때마다, 혹은 데이터 처리 시스템의 작동 중에 주기적으로 실시될 수 있다.
본 발명의 추가의 특징 및 장점들은 첨부한 도들과 관련하는 실시예들에 대한 하기의 설명으로부터 제시된다.
도1은 본 발명의 제1 실시예에 따른 데이터 처리 시스템의 블록선도이다.
도2는 도1의 데이터 처리 시스템에 의해 실행되는 작동 방법을 나타내는 흐름도이다.
도3은 본 발명에 따른 데이터 처리 시스템의 제2 실시예를 나타내는 블록선도이다.
도1에 개략적으로 도시된 데이터 처리 시스템은 마이크로 프로세서(1)와, 내부 메모리(2)와, 모니터링 유닛(3)을 포함하며, 이들 구성품들(1, 2, 3)은 데이터 및 주소 버스(4)를 통해 상호 간에 통신할 뿐 아니라, 경우에 따라 미도시한 주변 유닛들과 통신한다. 주변 유닛은 시스템의 각각의 적용에 따라 상이할 수 있으며, 예컨대 엔진 제어 장치로서 적용하는 경우 엔진 및 액추에이터에 영향을 주거나 혹은 엔진의 여타의 파라미터에 영향을 주기 위해 엔진 및 액추에이터의 작동 파라미터들을 검출하기 위한 다양한 센서들을 포함할 수 있다. 시스템은 또한 모니터링 유닛(3)에 의해 제어 라인(6)을 통해 명시된 주파수를 갖는 클록 신호를 클록 라인(7)을 통해 마이크로 프로세서(1), 내부 메모리(2) 및 모니터링 유닛(3)에 공급 하는 클록 발생기(5)를 포함한다.
내부 메모리(2)는 마이크로 프로세서(1)에 의해 실행될 응용 프로그램 및 검사 처리의 프로그램 지시문을 포함한다.
마이크로 프로세서(1)는 제어 업체에 의해 작업-클록 주파수용으로 명시된다. 정상적인 작동 조건에서, 마이크로 프로세서(1)가 응용 프로그램을 실행하는 동안, 상기한 명시된 클록 주파수를 생성하기 위해 모니터링 유닛(3)은 클록 발생기(5)를 제어한다. 항시 시스템, 다시 말해 엔진 제어 장치로서 기능하는 시스템이 예컨대 점화 키를 돌림으로써 활성화될 때면, 마이크로 프로세서(1)는 응용 프로그램을 개시하기 전에 초기화를 실행한다. 이런 초기화의 진행 과정은 도2에 따라 설명된다. 제1 단계(S1)에서 모니터링 유닛(3)은 클록 발생기의 클록 주파수(f)를 마이크로 프로세서(1)용으로 명시된 주파수(fnom)로 설정한다. 이런 클록 주파수에서, 마이크로 프로세서(1)는 단계(S2)에서 앞서 언급한 검사 처리를 실행한다. 상기한 검사 처리는 예컨대 순차적인 산술 혹은 논리 연산으로 구성된다. 이와 관련하여 산술 혹은 논리 연산은 내부 메모리(2)로부터 판독된 상수로 실행되며, 그로 인해 실행될 때마다 동일한 최종 결과를 공급해야 한다. 검사 처리의 마지막 단계(S3)는 모니터링 유닛(3)에 할당되는 주소에 결과를 기록하는 것이며, 그럼으로써 모니터링 유닛(3)은 그 결과(Rnom)를 수신하여 중간 저장한다.
이어서, 모니터링 유닛(3)은 클록 주파수(f)를 fnom+△로 상승시키며(S4), 마이크로 프로세서(1)로 하여금 상기와 같이 상승한 클록 주파수에서 검사 처리를 반 복하게 한다(S5). 결과(Rinc)는 상기한 방법으로 다시금 모니터링 유닛(3)에 기록된다(S6). 그런 다음 모니터링 유닛은 단계(S7)에서 2개의 수신된 결과(Rnom 및 Rinc)를 비교한다. 일치할 시에는, 프로세서(1)가 두 클록 주파수(fnom 및 fnom+△)에서 정확하게 기능했다는 사실로부터 개시된다. 이러한 경우, 단계(S8)에서 블록 주파수(f)는 fnom으로 재설정되며, 마이크로 프로세서(1)는 응용 프로그램을 실행하기 시작한다.
단계(S7)에서 결과들의 비일치가 확인되는 경우라면, 이는 상승한 클록 주파수(fnom+△)가 작동에 안전하지 못함을 의미한다. 이와 같이 작동에 안전하지 못한 주파수로부터 안전 여유도를 유지하기 위해, 단계(S9)에서 새로운 감소한 작동 주파수(f = fnom-△)가 설정된다. 단계(S10)에서, 마이크로 프로세서(1)는 시스템의 제조 업체로부터 제공되고 내부 메모리(2)에 저장된 목록에 따라 응용 프로그램이 다음에서 언급하는 이유로 그 실행이 차단되어야 하는 기능들을 포함하는지 여부를 검사한다. 이와 관련하여 부연하면, 응용 프로그램의 기능성을 그 본질적인 특징으로 유지하고, 외부 사건에 대한 응용 프로그램의 신뢰되지 않게 오랜 반응 시간을 억제하며, 이런 기능들을 경우에 따라 차단하기 위해서, 클록 속도가 감소한 경우 응용 프로그램이 포함하는 상기한 기능들의 실행은 차단되어야 한다. 또한, 단계(S10)에서, 하기의 조건들 중에 적어도 하나의 조건이 충족되면, 사용자에게 경고 표시가 출력된다:
a) △만큼 클록 주파수가 재차 감소하는 점은 응용 프로그램의 적어도 하나의 기능의 차단을 요구할 수도 있다.
b) 단계(S9)에서 클록 속도의 감소는 기능의 차단을 야기하였다.
c) 이미 응용 프로그램에 중요하지 않은 모든 기능들이 차단되었으며, 그럼으로써 클록 속도의 추가 감소는 추가 기능들의 차단을 통해 저지될 수 있는 것이 아니라, 전체 시스템의 불실행성을 야기할 수도 있다.
일측의 단계들(S1 내지 S3)과 타측의 단계들(S4 내지 S10)은 무조건적으로 상호 간에 시간 순차적으로 연속해서 실행되어서는 안 된다. 그러므로, 예컨대 최초 시스템을 작동 개시하는 동안 단계들(S1 내지 S3)을 단지 일 회만 실행하고, 그 결과(Rnom)는 모니터링 유닛(3)에 저장된 상태로 유지되며, 그럼으로써 시스템의 작동 안전성에 대한 이후 검사가 단계들(S4 내지 S10)의 실행에만 국한될 수 있는 점을 생각해 볼 수 있다.
이는 특히 작동 안전성의 검사가 시스템이 실행되는 상태에서 정기적으로 이루어질 때 바람직한데, 왜냐하면, 단계들(S4 내지 S10)을 실행하기 위해서는, 응용 프로그램이 예컨대 도2에 도시한 전체 방법을 실행하는 시간의 단지 절반의 시간만 중단되어야 하기 때문이다.
도2에 따른 작동 안전성 검사를 통해 응용 프로그램의 기동을 지연하지 않도록 하기 위해서, 상기한 검사는 시스템을 작동 개시할 때마다 실행되는 것이 아니라, 시스템을 비활성화하기 직전에 실행될 수 있으며, 물론 이런 경우, 전술한 경 우와 정확히 동일하게, 단계(S9)에서 경우에 따라 새로이 결정되는 작동 주파수(f)가 본원의 방법을 계속해서 반복할 시에 명시된 주파수(fnom)로서 이용된다.
두 검사 처리의 결과들(Rnom 및 Rinc)의 비교와 관련한 전술한 태스크에 추가로, 모니터링 유닛(3)은 공지된 방법으로 마이크로 프로세서(1)의 비정의된 작동 상태 혹은 크래쉬의 검출 태스크를 이용할 수 있다. 이를 위해, 응용 프로그램은, 모니터링 유닛(3)에 의해 수신되는 토트만 신호(Totmann signal)의 생성을 정기적인 시간 간격으로 야기할 수 있도록 설계된다. 상기한 토트만 신호는 예컨대 전술한 주소에 대한 판독 접근일 수 있다. 이와 관련하여 마이크로 프로세서(1)는 검사 처리의 결과들을 상기 주소에 기록한다. 상기한 토트만 신호는 모니터링 유닛(3) 내에 각각의 클록을 재설정한다. 이런 클록의 대기 시간(latency)은 두 토트만 신호 간에 지정된 시간 간격보다 더욱 길다. 토트만 신호들이 지정된 시간 간격으로 도달하는 점에 한해서, 클록은 정기적으로 재설정되며, 만료될 수 없다. 만일 프로세서 크래쉬의 결과로 토트 신호가 발생하지 않고, 클록이 만료된다면, 모니터링 유닛(3)은 리셋 라인(8)(도1)을 통해 마이크로 프로세서(1)의 재설정을 야기하며, 마이크로 프로세서로 하여금 응용 프로그램을 새로이 기동하게끔 한다.
도3은 본 발명에 따른 데이터 처리 시스템의 제2 실시예를 도시하고 있다. 데이터 처리 시스템은 2개의 마이크로 프로세서(1, 11)를 포함하며, 이들 마이크로 프로세서들은 각각 데이터/주소 버스(4, 14)를 통해 할당된 내부 메모리(2, 12)와, 경우에 따라서는 미도시한 주변 유닛들과 통신한다. 상기한 구조를 갖는 데이터 처리 시스템은 특히 6기통 이상을 구비한 엔진용 엔진 제어 장치에서 고려된다. 이와 관련하여 상기 엔진의 경우 기통들은 2개의 그룹으로 분리되고, 이들 그룹들은 각각 2개의 프로세서(1, 11) 중 하나의 프로세서에 의해 제어된다. 프로세서들(1, 11)은 공동의 클록 발생기(5)로부터 클록 라인(7)을 통해 클록 신호를 수신한다. 클록 신호의 주파수는 마찬가지로 두 프로세서(1, 11)에 공동으로 할당된 모니터링 유닛(3)에 의해 제어된다. 데이터 라인뿐 아니라 주소 라인과 같은 버스(4, 14)의 모든 와이어들은 XOR 게이트들(20)의 뱅크에 접속되며, 언제나 정확히 일측의 동일한 게이트(20)의 2개의 입력 장치에 접속되는 버스들(4, 14)의 2개의 동등한 와이어들 상에서의 값들이 서로 다를 때만, 상기한 XOR 게이트들(20)의 출력 장치는 "참"의 값을 취한다. XOR 게이트들(20)의 출력 장치들은 각각 OR 게이트(21)의 입력 장치와 연결되며, OR 게이트의 출력 장치는 결과적으로 항상 버스들(4, 14)의 2개의 임의의 동등한 와이어들 상의 값들이 서로 다를 때에만 "참"의 값을 취한다.
도1의 구현예에서와 동일한 기능을 충족하는 리셋 라인들(8)은 모니터링 유닛(3)과 프로세서들(1, 11) 사이에 제공될 수 있다.
상기한 구현예의 가능한 작동 방식은 다음에서 마찬가지로 도2와 재차 관련하여 기술된다.
대체되는 제1 실시예에 따라, 모니터링 유닛(3)은, 단계(S4)에서와 같이 클록 신호(f)의 주파수를 실제 정상 작동에서 이용되는 주파수(fnom) 이상으로 상승시 키고, 그런 다음 마이크로 프로세서들(1, 11)을 통한 검사 처리(S5)를 실행하면서, 작동 안전성 검사를 개시한다. 이와 관련하여, 검사 처리의 결과들은 응용 프로그램이 필요로 하는 것이 아니라, 단지 안전성 검사용으로만 이용된다. 이러한 검사 처리 동안, 논리 게이트들(20, 21)은, 마이크로 프로세서들(1, 11)에 의해 생성되는 데이터 및 주소들을 도2의 단계(S7)에 상응하게 계속해서 비교한다. 상기한 데이터 및 주소들이 전체 검사 처리 동안 동일하다면, 두 프로세서들(1, 11)은 안전하게 기능하며, 클록 주파수는 단계(S8)에서 fnom으로 재설정된다. 그러나 데이터 값 혹은 주소에서 편차가 발생한다면, 처리 절차는, 클록 주파수가 감소하는 단계(S9)로 분기되며, 단계(S10)에서는, 이미 전술한 바와 같이, 응용 프로그램의 기능들이 차단되어야 하는지 여부와 경우에 따라 어떠한 기능들이 차단되어야하는지가 확인되며, 경우에 따라 사용자에게 경고가 출력된다.
상기한 구현예에 따라서 검사 처리의 최종 결과들이 비교될 뿐 아니라, 접근 대상이 되는 주소들을 포함하여 모든 중간 결과들도 비교되기 때문에, 검사 처리의 프로그램 단계의 수가 동일할 시에, 제1 구현예에서보다 더욱 높은 가능성을 갖는 에러가 검출된다.
추가로, 도3의 데이터 처리 시스템은, 예를 들어 두 프로세서들(1, 11)에 대해 동일한 초기화가 실행되는 응용 프로그램의 기동 단계에서 프로세서들(1, 11)이 정상적인 클록 주파수(fnom)에서 동시에 동일한 명령문을 실행한다면, 프로세서들(1, 11)의 에러를 검출할 수 있다. 이는 완전하게 시간 소요가 없는 작동 안전 성 검사를 허용한다.
프로세서들과 모니터링 유닛들은 전술한 실시예들에서 분리된 유닛들로서 기술하였다. 그러나 자명한 사실에서 프로세서 회로 내에 통합되고 확고하게 접속되어 프로세서에 의해 판독되는 데이터에서 ECC 에러 혹은 패리티 에러들을 검출하기 위한 에러 검출 기능을 구비한 프로세서들 역시 이용될 수 있다. 이러한 프로세서는 전술한 실시예 설명의 의미에서 프로세서 및 모니터링 유닛의 조합된 컴포넌트로서 간주될 수 있다.

Claims (13)

  1. 클록 제어되는 방식으로 기능하는 실행 유닛(1)과, 이 실행 유닛(1)용으로 클록 신호를 공급하기 위한 클록 발생기(5)와, 실행 유닛(1)의 적합한 기능 상태를 모니터링 하기 위한 모니터링 유닛(3)을 포함하는 데이터 처리 시스템에 있어서,
    상기 클록 발생기(5)는 제어 가능한 주파수를 갖는 클록 신호를 공급할 수 있도록 설계되며, 상기 실행 유닛(1)의 부적합한 기능 상태가 확인될 때 클록 신호의 주파수를 감소시키기 위해, 상기 모니터링 유닛(3)은 기능에 따라 상기 클록 발생기(5)와 연결되는 것을 특징으로 하는 데이터 처리 시스템.
  2. 제1항에 있어서, 상기 모니터링 유닛(3)은 워치도그 유닛을 포함하며, 실행 유닛의 기능 신호가 사전 지정된 시간 간격으로 나타나지 않으면, 상기 워치도그 유닛은 상기 실행 유닛의 부적합한 기능 상태를 확인하는 것을 특징으로 하는 데이터 처리 시스템.
  3. 제1항에 있어서, 상기 모니터링 유닛(3)은, 실제 클록 속도(fnom)와 이 실제 클록 속도와 비교하여 변경된 클록 속도에서 처리 유닛의 검사 처리를 실행하며, 실제 클록 속도에서 실행된 검사 처리의 결과와 변경된 클록 속도에서 실행된 검사 처리의 결과가 서로 다르다면, 실행 유닛의 부적합한 기능 상태를 확인할 수 있도 록 설계되는 것을 특징으로 하는 데이터 처리 시스템.
  4. 제3항에 있어서, 상기 변경된 클록 속도(fnom+△)는 상기 실제 클록 속도(fnom)와 비교하여 상승한 클록 속도인 것을 특징으로 하는 데이터 처리 시스템.
  5. 제3항 또는 제4항에 있어서, 상기 모니터링 유닛(3)은 프로그램 기술에 따라 실행 유닛(1) 내에 구현되는 것을 특징으로 하는 데이터 처리 시스템.
  6. 제1항에 있어서, 상기 모니터링 유닛(3, 11, 20, 21)은, 제2 실행 유닛(11)과 두 실행 유닛(1, 11)의 처리 결과들을 비교하기 위한 수단(20, 21)을 포함하며, 상기 결과들이 서로 일치하지 않을 시에 부적합한 기능 상태를 확인할 수 있도록 설계되는 것을 특징으로 하는 데이터 처리 시스템.
  7. 제6항에 있어서, 클록 발생기(5)는, 클록 속도를 일시적으로 실제 클록 속도 이상으로 증가시키며(S4), 그에 따라 상승한 클록 속도에서 부적합한 기능 상태가 확인되면 클록 속도를 전술한 실제 클록 속도 이하로 감소시킬 수 있도록(S9) 설계되는 것을 특징으로 하는 데이터 처리 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 클록 속도가 하한 이하로 감소할 시에 경고 신호를 출력하기 위한 수단을 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 실행 유닛(1)은 다수의 기능을 포함하며, 이들 기능들 중 적어도 하나의 기능의 실행은 시스템의 실제 클록 속도에 따라 허용되거나 혹은 허용되지 않도록 하는 응용 프로그램을 실행시킬 수 있도록 설계되는 것을 특징으로 하는 데이터 처리 시스템.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 데이터 처리 시스템은 자동차 제어 장치인 것을 특징으로 하는 데이터 처리 시스템.
  11. 데이터 처리 시스템의, 특히 제1항 내지 제10항 중 어느 한 항에 따르는 상기 데이터 처리 시스템의 클록 제어 방식으로 기능하는 실행 유닛(1)을 작동시키기 위한 방법이며, 상기 시스템에서 실행 유닛(1)은 높은 클록 속도에서 그 적합한 기능 상태와 관련하여 검사되며(S4 내지 S7), 상기 실행 유닛의 부적합한 기능 상태가 확인된다면, 클록 속도가 감소되는(S9) 방법에 있어서,
    상기 검사가 규칙적으로 반복되는 것을 특징으로 하는 방법.
  12. 제10항에 있어서, 검사는 데이터 처리 시스템을 매번 활성화하고 그리고/또는 비활성화할 때마다 실행되는 것을 특징으로 하는 방법.
  13. 제10항에 있어서, 검사는 데이터 처리 시스템이 작동하는 동안 주기적으로 실행되는 것을 특징으로 하는 방법.
KR1020077009249A 2004-10-25 2005-10-25 가변 클록 속도를 갖는 데이터 처리 시스템 KR20070068405A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
DE102004051992.7 2004-10-25
DE200410051950 DE102004051950A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem
DE102004051950.1 2004-10-25
DE200410051992 DE102004051992A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems
DE200510045399 DE102005045399A1 (de) 2005-09-23 2005-09-23 Datenverarbeitungssystem mit variabler Taktrate
DE102005045399.6 2005-09-23

Publications (1)

Publication Number Publication Date
KR20070068405A true KR20070068405A (ko) 2007-06-29

Family

ID=36090867

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077009249A KR20070068405A (ko) 2004-10-25 2005-10-25 가변 클록 속도를 갖는 데이터 처리 시스템

Country Status (8)

Country Link
US (1) US20090265581A1 (ko)
EP (1) EP1807760B1 (ko)
JP (1) JP2008518313A (ko)
KR (1) KR20070068405A (ko)
CN (1) CN101048741A (ko)
AT (1) ATE408863T1 (ko)
DE (1) DE502005005428D1 (ko)
WO (1) WO2006045807A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2157505A1 (en) * 2003-09-18 2010-02-24 Panasonic Corporation Semiconductor memory card, semiconductor memory control apparatus and semiconductor memory control method
US20050198469A1 (en) * 2003-11-12 2005-09-08 Brian Mitchell Parallel execution optimization method and system
US8020038B2 (en) * 2006-09-28 2011-09-13 Hewlett-Packard Development Company, L.P. System and method for adjusting operating points of a processor based on detected processor errors
US8094706B2 (en) * 2007-04-10 2012-01-10 International Business Machines Corporation Frequency-based, active monitoring of reliability of a digital system
JP5796311B2 (ja) 2011-03-15 2015-10-21 オムロン株式会社 制御装置およびシステムプログラム
CN116108803B (zh) * 2023-04-12 2024-03-22 北京紫光青藤微***有限公司 用于生成非常规时钟信号的方法及装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0389662B1 (de) * 1989-03-31 1993-11-03 Siemens Aktiengesellschaft Verfahren zum Synchronisieren der Phase von Taktsignalen zweier Taktgeneratoren in Kommunikationsnetzen
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
DE4212069C1 (ko) * 1992-04-10 1993-05-19 Hella Kg Hueck & Co, 4780 Lippstadt, De
DE4231703C2 (de) * 1992-09-22 1996-01-11 Siemens Ag Mikroprozessor mit CPU und EEPROM
KR100468561B1 (ko) * 1996-01-17 2005-06-21 텍사스 인스트루먼츠 인코포레이티드 중앙처리장치의동작특성에따라컴퓨터의동작을제어하는방법및시스템
US6020751A (en) * 1997-01-02 2000-02-01 Intel Corporation Method and apparatus for stress testing of a circuit board assembly
DE19712375A1 (de) * 1997-03-25 1998-10-01 Bosch Gmbh Robert Watchdog-Schaltung
JP2000268565A (ja) * 1999-03-16 2000-09-29 Toshiba Corp 同期型半導体記憶装置
US6985547B2 (en) * 1999-09-27 2006-01-10 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System and method of digital system performance enhancement
JP3981234B2 (ja) * 2000-02-21 2007-09-26 松下電器産業株式会社 マイクロコンピュータ
JP2001297039A (ja) * 2000-04-12 2001-10-26 Matsushita Electric Ind Co Ltd データ処理装置
JP3450814B2 (ja) * 2000-09-26 2003-09-29 松下電器産業株式会社 情報処理装置
US7260741B2 (en) * 2001-09-18 2007-08-21 Cedar Point Communications, Inc. Method and system to detect software faults
JP3485558B1 (ja) * 2002-05-28 2004-01-13 沖電気工業株式会社 半導体集積回路
US7233877B2 (en) * 2003-08-29 2007-06-19 Sun Microsystems, Inc. System health monitoring
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
GB0411054D0 (en) * 2004-05-18 2004-06-23 Ricardo Uk Ltd Fault tolerant data processing
JP4393954B2 (ja) * 2004-09-09 2010-01-06 Okiセミコンダクタ株式会社 マイクロコンピュータ
US7516359B2 (en) * 2004-10-25 2009-04-07 Hewlett-Packard Development Company, L.P. System and method for using information relating to a detected loss of lockstep for determining a responsive action
US20090125749A1 (en) * 2004-10-25 2009-05-14 Reinhard Weiberle Method and device for controlling a computer system
US7356733B2 (en) * 2004-10-25 2008-04-08 Hewlett-Packard Development Company, L.P. System and method for system firmware causing an operating system to idle a processor
US7502958B2 (en) * 2004-10-25 2009-03-10 Hewlett-Packard Development Company, L.P. System and method for providing firmware recoverable lockstep protection
US7747932B2 (en) * 2005-06-30 2010-06-29 Intel Corporation Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system
US7747897B2 (en) * 2005-11-18 2010-06-29 Intel Corporation Method and apparatus for lockstep processing on a fixed-latency interconnect

Also Published As

Publication number Publication date
EP1807760A2 (de) 2007-07-18
CN101048741A (zh) 2007-10-03
WO2006045807A2 (de) 2006-05-04
US20090265581A1 (en) 2009-10-22
ATE408863T1 (de) 2008-10-15
JP2008518313A (ja) 2008-05-29
EP1807760B1 (de) 2008-09-17
DE502005005428D1 (de) 2008-10-30
WO2006045807A3 (de) 2006-08-03

Similar Documents

Publication Publication Date Title
US10576990B2 (en) Method and device for handling safety critical errors
US10579484B2 (en) Apparatus and method for enhancing reliability of watchdog circuit for controlling central processing device for vehicle
CN109872150B (zh) 具有时钟同步操作的数据处理***
US6654910B1 (en) Intelligent fault management
US9417946B2 (en) Method and system for fault containment
CN107077407B (zh) 车辆控制装置
KR20070068405A (ko) 가변 클록 속도를 갖는 데이터 처리 시스템
US6076172A (en) Monitoting system for electronic control unit
JP4288011B2 (ja) マルチプルコンポーネントシステムに対するリセットシステム
CN109558277B (zh) 微控制器及其控制方法
Kohn et al. Architectural concepts for fail-operational automotive systems
Takahashi et al. 4.5 A 16nm FinFET heterogeneous nona-core SoC complying with ISO26262 ASIL-B: Achieving 10− 7 random hardware failures per hour reliability
JP2007535234A (ja) 妨害耐性を向上させるための方法及び集積回路
US9740584B2 (en) Method and device for testing a computer core in a processor having at least two computer cores
US6928346B2 (en) Method for monitoring the functioning of a control unit
CN110825017A (zh) 包括安全逻辑的装置和操作该装置的方法
Schneider et al. Basic single-microcontroller monitoring concept for safety critical systems
JPH0743257A (ja) システム制御装置
US9772897B1 (en) Methods and systems for improving safety of processor system
KR102677512B1 (ko) 안전 로직을 포함하는 장치
JP2013030056A (ja) 半導体集積回路装置
Elderhalli et al. Dynamic Fault Tree Models for FPGA Fault Tolerance and Reliability
JP2001188687A (ja) マイクロコンピュータ
Schneider et al. Multicore vs safety
JPS6362776B2 (ko)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application