KR20150091013A - 멀티 코어 프로세서 시스템 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법 - Google Patents

멀티 코어 프로세서 시스템 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법 Download PDF

Info

Publication number
KR20150091013A
KR20150091013A KR1020150014255A KR20150014255A KR20150091013A KR 20150091013 A KR20150091013 A KR 20150091013A KR 1020150014255 A KR1020150014255 A KR 1020150014255A KR 20150014255 A KR20150014255 A KR 20150014255A KR 20150091013 A KR20150091013 A KR 20150091013A
Authority
KR
South Korea
Prior art keywords
software
core
cores
storage area
access
Prior art date
Application number
KR1020150014255A
Other languages
English (en)
Other versions
KR102271185B1 (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 로베르트 보쉬 게엠베하
Publication of KR20150091013A publication Critical patent/KR20150091013A/ko
Application granted granted Critical
Publication of KR102271185B1 publication Critical patent/KR102271185B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 2개 이상의 코어(2, 3)를 포함하는 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법에 관한 것이며, 이 방법에서는 각각의 코어(2, 3)에 각각 하나의 저장 영역(4, 5)이 할당되고, 사전 설정된 안전 단계를 갖는 소프트웨어(SW1, SW2)가 상기 코어들(2, 3) 중 하나에서 처리된다. '간섭으로부터의 자유'에 대한 높은 등급을 갖는 방법의 경우, 사전 설정된 안전 단계를 갖는 소프트웨어(SW1, SW2)는 동일한 안전 단계가 할당된 코어(2, 3)에서만 처리되며, 상기 소프트웨어(SW1, SW2)의 처리 동안 상기 코어(2, 3)는 이들 코어(2, 3)에 영구적으로 할당된 보호 저장 영역(4, 5)에만 액세스한다.

Description

멀티 코어 프로세서 시스템 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법{METHOD FOR COEXISTENCE OF SOFTWARE WITH DIFFERENT SAFETY LEVELS IN A MULTICORE PROCESSOR SYSTEM}
본 발명은 2개 이상의 코어를 갖는 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어가 공존하기 위한 방법에 관한 것이며, 각각의 코어에는 저장 영역이 할당되고, 사전 설정된 안전 단계를 갖는 소프트웨어가 코어들 중 하나의 코어에서 처리된다.
자동차 산업에서는 다양한 시퀀스들의 제어를 위한 제어 장치들에 내장된 시스템들이 이용되며, 이 시스템에서는 멀티 코어 마이크로컨트롤러가 사용된다. 상기 멀티 코어 마이크로컨트롤러는 2개 이상의 코어를 포함한다. 안전 관련 애플리케이션들의 경우, 적합한 하드웨어 조치들을 통해, 예컨대 연결된 코어들 내에서 하나의 코어는 록스텝(Lockstep)으로 보호되게 하거나, 에러 대비 CPU가 이용되게 함으로써, 상기 코어들을 보호하는 것이 일반적이다. 한 쌍의 록스텝 코어에서 2개의 코어는 동기식으로 동작하며, 이들 두 코어에서 동일한 소프트웨어가 실행되고, 비교기는 각각의 연산 결과들을 비교한다. 불일치가 확인되면, 에러 메시지가 송출된다. 액티브 버스 가입자로서 록스텝 쌍이 발생하긴 하지만, 단지 하나의 가입자로서만 발생한다. 따라서 상기 쌍은 보안된 코어라고도 지칭된다.
그 밖에도, 자동차 분야에서 안전 관련 전자 시스템은 ISO 26262와 관련된다. 이 표준은 ASIL(자동차 안전 무결성 수준)의 개념을 도입하고 있으며, 다양한 시스템들, 기능들 및 부분 기능들을 그 안전 관련성에 따라서 상이한 안전 단계들(ASIL)로 분류할 수 있도록 한다. 상기 ASIL은 (오름차순으로) QM, A, B, C, D를 포함한다. 하나의 데이터 처리 시스템, 예컨대 마이크로 컴퓨터에서 다양한 ASIL이 동시에 이용되는 경우, 상이한 안전 단계들 사이에 확실한 독립성, 이른바 '간섭으로부터의 자유(Freedom from Interference)'가 요구된다.
안전 관련 애플리케이션들의 경우, 상이한 안전 단계를 갖는 부분들을 간단한 형태로 상호 분리하는 것이 중요하다.
따라서, 본 발명의 과제는, 안전 관련 애플리케이션들에서 상이한 안전 단계를 갖는 시스템 부분들이 간단한 형태로 상호 분리되는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계들의 공존 방법을 제공하는 것이다.
상기 과제는 본 발명에 따라, 보호 저장 영역이 할당된, 소프트웨어 부분을 처리하는 코어는 상기 저장 영역에 액세스하고, 상기 코어에 할당된 보호 저장 영역에 대한 멀티 코어 프로세서의 추가 코어들 중 하나 이상의 코어의 액세스는 저지됨으로써 해결된다. 이는, 동일한 안전 단계에 할당되는 시스템 부분들만이 상호 통신한다는 장점을 갖는다. 그 결과, 상이한 안전 단계를 갖는, 멀티 코어 마이크로프로세서의 시스템 부분들은 간단하게 분리될 수 있다. 이러한 해결 방안은 상기 코어들 및 메모리 유닛들 상호 간의 최대한 원활한 분리를 허용할 뿐만 아니라, 개별 시스템 부분들의 분리된 개발도 가능하게 한다. 이에 근거하여, 상기 멀티 코어 마이크로프로세서 시스템에는 '간섭으로부터 자유'의 형태로 독립성이 제공된다. 이러한 분리를 통해, 멀티 코어 마이크로프로세서의 일 시스템 부분이 멀티 코어 마이크로프로세서의 다른 시스템 부분에 잘못된 영향을 미치는 점이 배제될 수 있다.
바람직하게는, 코어들과 저장 영역 사이에 형성된 메모리 보호 장치는, 동일한 안전 단계를 가지며 관련 보호 저장 영역에 할당된 코어에만 상기 보호 저장 영역에 대한 액세스를 허용한다. 기본 사상은, 각각의 코어에서 정해진 안전 단계의 소프트웨어만 실행되고, 코어는 다른 코어의 보호 저장 영역에 대한 액세스 권한이 없는 점이 보장된다는 것이다. 따라서 각각의 코어에는 ASIL을 갖는 소프트웨어가 존재한다. 따라서 5개의 코어에 의해 ASIL의 안전 단계(QM, A, B, C, D)를 갖는 시스템들이 구현된다. 이는 일반적인 형태에서의 '간섭으로부터의 자유' 논증을 가능케 하며, 그와 더불어 하나의 멀티 코어 마이크로프로세서 내에서 상이한 ASIL들이 공존할 수 있게 한다.
일 구성에서, 2단계로 형성된 메모리 보호 장치는, 이 메모리 보호 장치 내에 형성된 계층 레이어(hierarchy layer)를 통해 코어가 각각의 보호 저장 영역에 액세스할 수 있게 한다. 메모리 보호 장치는, 적합한 프로그래밍을 통해, 특정 버스 마스터만이 선택된 보호 저장 영역들에 액세스하는 점, 다시 말하면 멀티 코어 프로세서의 특정 저장 영역에 대해, 자체에서 어떤 소프트웨어가 실행되는지와는 무관하게, 정해진 마스터는 결코 액세스하지 않는 점을 보장할 수 있게 한다.
일 변형예에서, 소프트웨어는 멀티 코어 프로세서의 시작 과정에서, 보호 저장 영역에 할당된 코어만이 상기 보호 저장 영역에 액세스하는지의 여부를 검사한다. 그 결과, 사전 설정된 안전 단계를 포함하는 선택된 영역들이 상호 분리되어, 멀티 코어 마이크로프로세서의 다른 구성 요소들로부터 영향을 받지 않는 점이 보장된다.
일 실시예에서, 보호 저장 영역에 대한 액세스의 검사를 위해, 메모리 보호 장치로부터 구성이 판독되거나, 메모리 보호 장치가 소프트웨어를 통해 새로 프로그래밍된다. 재프로그래밍은 멀티 코어 프로세서의 시작 과정 동안에만 수행되기 때문에, 멀티 코어 프로세서 시스템의 동작 동안 다른 안전 단계를 갖는 소프트웨어의 액세스 시 메모리 보호 장치에 대한 구성 변경은 수행되지 않는 점이 보장된다.
또 다른 한 변형예에서, 메모리 보호 장치의 재프로그래밍은 정적으로 수행된다. 다시 말하면, 프로그래밍 과정 이후에는 프로그래밍이 더 이상 변경될 수 없으며, 이는 특히 메모리 보호 장치의 이용 형태를 통해 보장된다. 그러나 이러한 접근법으로 인해, 사전 설정된 안전 단계를 갖는 소프트웨어를 통해 멀티 코어 마이크로프로세서가 시작하는 시점에, 멀티 코어 프로세서 시스템 내에 포함된 추가 코어들에서 다른 안전 단계를 갖는 소프트웨어가 실행되는지의 여부와 무관하게, 사전 설정된 안전 단계를 갖는 소프트웨어가 액세스하는 코어의 영역에 다른 안전 단계를 갖는 상기 소프트웨어가 액세스할 수 없도록 안전 장치가 될 수 있다. 이는, 멀티 코어 프로세서 유닛의 동작 진행 중에 추가 소프트웨어가 리로딩된 경우에도 적용된다.
일 실시예에서 메모리 보호 장치의 구성은, 제1 안전 단계를 갖는 제1 코어 및 제2 안전 단계를 갖는 제2 코어가 제3 보호 저장 영역에 액세스할 수 있게 한다. 상기 액세스는, 항상 제1 및 제2 코어와 같은 멀티 코어 마이크로프로세서의 개별 시스템 부분들이, 상기 시스템 부분들에서 실행되는, 상이한 안전 단계를 갖는 소프트웨어의 실행 시 상호 통신해야 하는 경우에 특히 중요하다. 따라서 두 시스템 부분이 모두 액세스할 수 있는 추가적인 보호 저장 영역이 구비된다. 그 결과, 제3 보호 저장 영역에는 상기 소프트웨어만이 액세스할 수 있고, 추가의 다른 소프트웨어 컴포넌트들은 액세스할 수 없는 점이 보장된다.
바람직하게는 제1 코어는 제1 보호 저장 영역에 액세스하는 한편, 동시에 제2 코어는 제2 보호 저장 영역에 액세스한다. 따라서 상이한 안전 단계들을 갖는 소프트웨어가 서로 동시에 상이한 코어에서 실행될 수 있으며, 그 결과 메모리 액세스가 병렬화될 수 있음으로써 실행 프로세스가 가속화된다. 상기 병렬화 가능한 메모리 액세스의 경우, 제1 데이터 처리 유닛과 제1 보호 저장 영역 사이뿐만 아니라, 제2 데이터 처리 유닛과 제2 보호 저장 영역 사이에서도 액세스의 효과가 나타나지 않는다. 상기 병렬화 가능한 메모리 액세스를 보장하기 위해, 예컨대 코어에 직접 연결되어 고속 액세스를 허용하는 로컬 메모리들이 이용될 수 있다. 그 밖에도, 크로스바(corssbar)를 통해 진정한 병렬 액세스를 가능하게 할 수도 있다. 또 다른 한 가능성은, 듀얼 포트 메모리를 이용하는 것이다. 캐시(cash) 또는 프리페치 버퍼(prefetch buffer)의 이용을 통해, 병렬성도 마찬가지로 빈번하게 근사될 수 있다. 특히 상호연결 이용이 충돌없이 진행되도록 프리페치 버퍼들을 시간에 따라 제어한다면, 실제 병렬화를 개선할 수 있다.
한 추가 실시예에서, 시간 관리 시스템은 제3 보호 저장 영역에 대한 제1 및 제2 코어의 동시 액세스를 저지한다. 그 결과, 제3 보호 영역에 대한 제1 및 제2 코어의 동시 액세스가 수행되는 점이 신뢰성 있게 방지된다. 2개의 액세스의 중첩이 방지됨으로써, 제1 및 제2 코어에서 실행되는 소프트웨어의 상호 간 영향이 저지된다. 따라서, 이러한 경우에, '간섭으로부터의 자유' 조건이 보장된다. 이는 예컨대 버스 또는 다른 상호연결 시스템처럼 완전 병렬화가 불가능한 연결 시스템에서도 적용된다.
상기 시간 제어의 가장 간단한 형태에서, 시간 관리 시스템은, 어느 시점에 제1 내지 제2 코어가 제3 보호 저장 영역에 액세스할지를 결정하는 타임 스케줄을 포함한다. 따라서 정해진 임의의 시점에 최대 하나의 데이터 처리 유닛이 제3 보호 저장 영역에 액세스할 권한을 가져야 한다. 이러한 시간에 따른 자원 분배 개념은 예컨대 플렉스레이, TTCAN, TTP/C처럼 자동차의 제어장치들 내에서 사용되는 버스 시스템들에 적합하게 이용될 수 있다. 따라서 액세스 시 소프트웨어 충돌이 방지되며, '간섭으로부터의 자유'가 증대된다.
또 다른 한 변형예에서, 제3 보호 저장 영역에 대한 제1 내지 제2 코어의 액세스를 모니터링하기 위해, 제3 보호 저장 영역에 대한 코어들의 액세스들에 타임 스탬프가 부여되는 프로토콜이 작성된다. 상기 타임 스탬프를 이용하여 액세스들의 시간 순서가 매우 간단하게 식별되며, 의도치 않은, 소프트웨어 상호 간의 영향과의 충돌 상황이 일어나는지의 여부가 확인된다.
바람직하게는, 사전 설정된 안전 단계를 갖는 코어는, 상응하는 안전 단계를 갖는 소프트웨어의 처리 동안, 상기 처리를 위해 선택된, 멀티 코어 마이크로프로세서의 보호된 주변 소자에만 액세스한다. 이러한 멀티 코어 마이크로프로세서의 주변 소자들은 예컨대 A/D 컨버터, 통신 컨트롤러, 또는 타이머일 수 있다. 이러한 결정을 통해, 멀티 코어 마이크로프로세서의 동일한 주변 소자가, 멀티 코어 마이크로프로세서의, 안전 단계가 매겨진 시스템 부분들을 통해 동시에 이용되지 않으며, 그로 인해 소프트웨어의 상호 간의 영향 및 그에 따른 소프트웨어 변경이 불가능한 점이 보장된다. 따라서 이러한 경우에도, '간섭으로부터의 자유'가 가능해지며, 그럼으로써 구성들 및 파괴성 판독 액세스들이 저지된다.
일 실시예에서, 주변 소자는 멀티 코어 마이크로프로세서의 시작 과정 동안에만 구성된다. 따라서, 소프트웨어 에러가 주변 소자의 구성을 변경할 수 없는 점이 보장된다. 그 밖에도, 그러한 소프트웨어 에러가 멀티 코어 마이크로프로세서의 내부에서 동일한 주변 소자를 이용하는 다른 애플리케이션에 영향을 미치는 점이 신뢰성 있게 방지된다. 시작 과정 중에 에러가 검출되면, 멀티 코어 마이크로프로세서의 동작 개시 전에 이미 에러 신호가 송출될 수 있다.
그 밖에도, 구성 변경에 대한 상기 보호가 어떠한 형태로 가능한지에 따라서, 주변 소자의 구성이 사전 설정된 시간 간격으로 판독 검사되는 점도 여전히 중요할 수 있다. 이는 멀티 코어 마이크로프로세서의 각각의 시스템 부분에 의해 실행될 수 있으며, 구성 에러에 대한 능동적 보호를 의미한다.
한 개선예에서, 멀티 코어 프로세서로 신규 소프트웨어를 다운로드할 때, 상기 신규 소프트웨어는, 안전 단계가 지정되지 않은, 그리고/또는 보호 저장 영역들에 액세스하지 않는 코어들에서만 실행된다. 따라서 멀티 코어 마이크로프로세서의 작동 중에도, 특정 안전 단계로 처리되는, 멀티 코어 마이크로프로세서의 시스템 부분들에 대한 영향이 수행되지 않으면서, 추가적인 신규 소프트웨어가 로딩될 수 있다.
본 발명은 다수의 실시예를 허용한다. 이들 중 3개의 실시예가 도면들을 참조하여 더 상세히 설명된다.
도 1은 본 발명에 따른 멀티 코어 마이크로프로세서의 제1 실시예이다.
도 2는 본 발명에 따른 멀티 코어 마이크로프로세서의 제2 실시예이다.
도 3은 본 발명에 따른 멀티 코어 마이크로프로세서의 제3 실시예이다.
도 4는 본 발명에 따른 멀티 코어 마이크로프로세서의 제4 실시예이다.
동일한 특징부들은 동일한 도면 부호로 표시되어 있다.
도 1에는, 예컨대 자동차의 제어 장치들 내에 내장된 시스템들에서 이용되며 2개의 코어(2, 3)를 갖는 멀티 코어 마이크로프로세서(1)의 제1 실시예가 도시되어 있다. 코어(2)에는 저장 영역(4)이 할당되고, 코어(3)에는 저장 영역(5)이 할당된다. 두 코어(2, 3)는 모두, 메모리 보호 유닛(MPU)으로서 형성된 상응하는 메모리 보호 장치(6)를 통해서만 저장 영역들(4, 5)에 액세스한다. 특히, 예컨대 EP 2 461 251 A1호에 기술된 것과 같은 메모리 보호 유닛의 상응하는 제2 레이어를 통한 액세스가 예컨대 추가의 안전 MPU를 통해서도 수행된다. 이 경우, 저장 영역(4)은 코어(2)를 위해서만 액세스될 수 있으며, 다시 말하면 코어(3)는 저장 영역(4)에 액세스해서는 안 된다. 그에 상응하게, 코어(3)는 메모리 영역(5)에만 액세스해야 하며, 이때 코어(2)는 저장 영역(5)에 액세스해서는 안 된다. 또는, 두 코어(2, 3) 모두가 액세스할 수 있는, 미도시된 추가의 저장 영역들이 존재하는 점도 생각해볼 수 있다.
자동차의 제어 장치들에서는 서로 다른 안전 단계를 갖는 소프트웨어 애플리케이션들이 실행된다. 상기 안전 단계들은 ASIL(자동차 안전 무결성 수준)로 표시된다. 이러한 애플리케이션들은 자신들의 안전 관련성에 따라, 오름차순으로 QM, A, B, C, D와 같은 안전 단계를 나타내는 다양한 ASIL로 분류된다. 예컨대 하기의 소프트웨어 애플리케이션들은 상응하는 ASIL을 가질 수 있다.
안티록 브레이크 시스템 제어 ASIL D
분사 시스템 제어 ASIL B
차량 실내 공기 조절 QM
이 경우, 예컨대 자동차의 안티록 브레이크 시스템의 제어를 위한, 안전 단계 D를 갖는 소프트웨어(SW1)는 안전 단계 D에 허용되는 코어(2)에서만 실행된다. 예컨대 가솔린 분사의 소프트웨어(SW2) 형태의 제2 애플리케이션은 안전 단계 B를 갖는다. 이 소프트웨어(SW2)는 상기 안전 단계 B에 허용되는 코어(3)에서만 실행된다. 소프트웨어(SW1)는 코어(2)에서만 실행되고, 소프트웨어(SW2)는 코어(3)에서만 실행됨으로써, '간섭으로부터의 자유', 다시 말해 두 소프트웨어 애플리케이션 사이의 상호작용 부재(absence of interaction)가 실현된다.
도 2에는, 멀티 코어 마이크로프로세서가 코어들(7 및 8)만큼 확장된 멀티 코어 마이크로프로세서(9)의 제2 실시예가 도시되어 있다. 상기 코어들(7 및 8)에서도 각각 소프트웨어 애플리케이션(SW3) 및 소프트웨어 애플리케이션(SW4)이 실행된다. 본 실시예에서도, 소프트웨어(SW1 및 SW2)에 대한 모든 추가 소프트웨어 애플리케이션(SW3, SW4)의 '간섭으로부터의 자유'는, 데이터 처리 유닛(2)이 소프트웨어(SW1)만을 처리하고 데이터 처리 유닛(3)은 소프트웨어(SW2)만을 처리하는 점이 적용될 때 보장된다. 그 밖에도, 데이터 처리 유닛(2)만 저장 영역(4)에 액세스하고, 데이터 처리 유닛(3)만 저장 영역(5)에 액세스하는 점도 보장되어야 한다. 이러한 점이 코어들(2, 3)에 대해 이미 기술한 메모리 보호 장치(6)가 사용됨으로써 보장된다면, 가변적으로, 가장 강력하게는 동적으로 다운로드되는 소프트웨어는 멀티 코어 마이크로프로세서(9)의 상기 특성을 변경할 수 없으며, 그럼으로써 심지어 모든 경우에 '간섭으로부터의 자유' 조건이 보장된다. 소프트웨어 애플리케이션들(SW3 및 SW4)의 경우, 이들 소프트웨어 애플리케이션이 특정 데이터 처리 유닛에 할당된다는 요건은 전혀 존재하지 않는다. 상기 소프트웨어 애플리케이션들은 실질적으로 임의로 데이터 처리 유닛들(2, 3, 7 또는 8)에 분배될 수 있다.
특별히 보호된 저장 영역(4)에 코어들(3, 7, 8)이 액세스하지 않도록 하기 위해, 소프트웨어(SW1)는 부팅 과정 또는 시작 과정 중에 메모리 보호 장치(6)의 구성을 판독하고 평가한다. 그 밖에도, 메모리 보호 장치(6)의 구성이 부팅 과정 또는 시작 과정 중에 소프트웨어(SW1)를 통해 자체적으로 프로그래밍될 수 있는 가능성도 존재한다. 이 경우, 상기 프로그래밍이 정적인 점, 다시 말하면 부팅 과정 이후에는 구성이 더 이상 변경될 수 없는 점만 보장되면 된다. 따라서 시작 시점에 소프트웨어(SW1)에 의해, 다른 코어들(3, 7, 8)에서 어느 소프트웨어(SW2, SW3, SW4)가 실행되는지와 무관하게, 상기 소프트웨어(SW2, SW3, SW4)가 저장 영역(4)에 액세스할 수 없도록 보호된다. 이는, 상기 소프트웨어(SW2, SW3, SW4)가 동작 진행 중에 리로딩되는 경우에도 적용된다. 이에 대한 전제조건은, 리로딩된 소프트웨어가 코어(2)에서 실행되지 않고, 다른 코어들(3, 7 내지 8) 중 하나에서 실행되는 것이다.
여러 용례들에서, 상이한 소프트웨어 애플리케이션들이 처리 동안 서로 통신해야 하는 경우가 정기적으로 존재한다. 전술한 멀티 코어 마이크로프로세서(11)의 구성에서도 이를 보장하기 위해, 도 3에 도시된 것처럼, 코어(2)뿐만 아니라 코어(3)도 메모리 보호 장치(6)를 통해 액세스하는 저장 영역(10)이 도입된다. 이 경우, 저장 영역(4)에는 코어(2)만 액세스하고, 저장 영역(5)에는 코어(3)만 액세스하며, 저장 영역(10)에는 코어들(2 및 3)만 액세스하도록 메모리 보호 장치(6)가 구성된다. 이러한 경우, 얼마나 많은 추가 코어(7)가 마이크로프로세서 시스템(11) 내에 존재하는지, 그리고 상기 코어에서 어떤 소프트웨어 애플리케이션이 실행되는지와는 무관하게, 추가 소프트웨어 애플리케이션들, 다른 데이터 처리 유닛들, 및 다른 저장 영역들의 영향 가능성은 존재하지 않는 점이 보장된다.
코어(2) 또는 코어(3)가 저장 영역(10)에 액세스할 때에도 '간섭으로부터의 자유'를 실현하기 위해, 특정 타이밍 한계 조건들이 설정되어 경우에 따라 모니터링된다. 저장 영역, 저장 위치, 상호 연결, 또는 다른 소스/주소에 대한 액세스들이 중첩되지 않는 점이 보장된다면, 액세스 충돌은 방지될 수 있다. 이를 실현하기 위해, 어느 시점에 코어(2)가 저장 영역(10)에 액세스할 수 있고 어느 시점에 코어(3)가 저장 영역(10)에 액세스할 수 있는지가 저장되어 있는 타임 스케줄이 도입된다. 이 경우, 항상 하나의 코어(2, 3)만이 저장 영역(10)에 액세스하도록 허용되는 점이 보장된다.
상기 유형의 분배의 모니터링은, 예컨대 검사 프로그램을 버스 프로토콜 내에 통합하거나 검사 프로그램의 충돌을 모니터링함으로써 가능하다. 이는, 예컨대 적합한 날짜가 삽입됨으로써 충돌 상황이 기록되는 것을 통해 수행될 수 있다. 상기 프로토콜은 예컨대 하기의 구성요소들을 포함할 수 있다.
- 버스의 실 운영자는, 버스 마스터가 태스크(M) 또는 운영 시스템(Y)의 형태인 소프트웨어 컴포넌트로서도 저장됨으로써 기록 유지된다.
- 타임 스탬프가 저장된다.
- 상기 정보들은 저장되며, 바람직하게는 유한 길이를 갖는 FIFO 메모리에 저장된다. 충돌과 같은 특정 이벤트의 경우, 상기 FIFO 메모리는 경우에 따라 액세스하고자 하는 다른 시스템 부분에 대한 정보와 함께 복사된다.
충돌들은 적합한 검사 프로그램을 통해 평가된다. 임계적 충돌의 경우, 안전한 시스템 상태가 형성된다.
그러나 정보 교환 시 더 복잡한 간섭 가능성들도 존재한다. 예컨대 소프트웨어 애플리케이션, 예컨대 도 3에서 소프트웨어(SW1)의 특수한 특성 또는 에러에 의해, 저장 영역(10)에 위치하는 교환될 날짜가 시간적으로 또는 내용적으로 올바르게 공급되지 않으면, 상기 에러는 상기 교환을 통해 소프트웨어(SW2)에 작용할 수 있다. 그러한 시간상 문제의 운용을 위해, 마찬가지로 날짜에 시간 정보들, 예컨대 랩 카운터(lap counter) 또는 타임 스탬프를 부가할 수 있다. 그러면, 상기 시간 정보의 정확성이 판독 시 함께 모니터링될 수 있다. 예컨대, 날짜에 정확한 랩 카운터가 부여되어 있는지의 여부가 검사될 수 있다. 타임 스탬프의 경우에는, 정확한 "연령"이 존재하는지, 예컨대 "최고 10㎳ 연령"인지의 여부가 검사된다. 그 다음, 소프트웨어 애플리케이션들이 적절하게 분배되면, 상기 모니터링은 애플리케이션에 의존하지 않는, 단지 적합하게 구성된 기본 소프트웨어 컴포넌트 또는 운영 시스템 서비스를 통해서도 수행될 수 있다.
공통으로 이용되는 저장 영역에 대한 액세스를 위해 적용될 수 있는 동일한 메커니즘은 공통으로 이용되는 주변 소자들, 예컨대 A/D 컨버터, 통신 컨트롤러 또는 타이머 등을 위해서도 이용될 수 있다(도 4). 이는, 주변 소자(12, 13)가 부팅 과정에서만 구성될 수 있는 것을 통해 실현될 수 있다. 이어서, 주변 소자(12, 13)를 위한 애플리케이션이 구성될 수 있으며, 이때 멀티 코어 마이크로프로세서(15)의 다른 시스템 부분들이 구성을 판독하여, 모두 양호한 경우 동작 시 올바른 구성이 기초가 된다. 올바른 구성이 수행되지 않는 경우에는, 멀티 코어 마이크로프로세서(15)의 시작 시 이미 에러 메시지가 송출된다. 그 밖에도, 이러한 구성 변경에 대한 보호가 어떤 형태로 설정되는지에 따라, 주변 소자(12, 13)의 구성을 정기적으로 판독 검사하는 것도 의미가 있을 수 있다. 이는 각각의 소프트웨어 애플리케이션(SW)에 의해 실행될 수 있으며, 구성 에러에 대한 능동적 보호를 의미한다.
신규의 또는 추가적인 소프트웨어 애플리케이션(SW)이 다운로드를 통해 제어 장치의 멀티 코어 마이크로프로세서로 로딩된다면, 하기 한계 조건들을 준수하는 것이 권장된다.
- 다운로드되는 소프트웨어 애플리케이션들의 간섭으로부터 보호되어야 하는 기존 소프트웨어 애플리케이션은 정해진 코어 부분 집합에 분배되며, 확정된 저장 영역을 이용한다.
- 새로 다운로드된 소프트웨어 애플리케이션은 다른 코어들에서만 실행된다.
- 메모리 보호 장치는, 다른 코어들 중 어느 코어도 확정된 저장 영역에 대해 기록 액세스 권한을 갖지 않도록 구성된다.
- 최적의 경우, 메모리 액세스들이 완전히 병렬화될 수 있다.

Claims (15)

  1. 2개 이상의 코어(2, 3)를 포함하는 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법이며, 코어(2)에는 저장 영역(4)이 할당되고, 각각 하나의 사전 설정된 안전 단계를 갖는 소프트웨어 부분들(SW1, SW2)은 코어들(2, 3) 중 각각 하나의 코어에서 처리되는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법에 있어서,
    보호 저장 영역(4)이 할당된, 소프트웨어 부분(SW1)을 처리하는 코어(2)는 상기 저장 영역(4)에 액세스하며, 멀티 코어 프로세서(1, 9, 11, 15)의 추가 코어들(3, 7, 8) 중 하나 이상의 코어의, 상기 할당된 보호 저장 영역(4)에 대한 액세스는 저지되는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  2. 제1항에 있어서, 코어들(2, 3)과 저장 영역들(4, 5) 사이에 형성된 메모리 보호 장치(6)는 보호 저장 영역(4, 5)에 할당된 코어(2, 3)에만 상기 저장 영역(4, 5)에 대한 액세스를 허용하는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  3. 제2항에 있어서, 2단계로 형성된 메모리 보호 장치(6)는 이 메모리 보호 장치(6) 내에 형성된 하나의 계층적 레이어를 통해 각각의 보호 영역(4, 5)에 대한 코어(2, 3)의 액세스를 허용하는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  4. 제1항, 제2항 또는 제3항에 있어서, 소프트웨어(SW1)는, 멀티 코어 프로세서(1, 9, 11, 15)의 시작 과정에서, 보호 저장 영역(4, 5)에 할당된 코어(2, 3)만 보호 저장 영역(4, 5)에 액세스하는지의 여부를 검사하는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  5. 제4항에 있어서, 보호 저장 영역(4, 5)에 대한 액세스의 검사를 위해, 메모리 보호 장치(6)로부터 구성이 판독되거나, 상기 메모리 보호 장치(6)가 소프트웨어를 통해 새로 프로그래밍되는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  6. 제5항에 있어서, 메모리 보호 장치(6)의 재프로그래밍은 정적으로 수행되는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  7. 제2항 또는 제3항에 있어서, 메모리 보호 장치(6)의 구성은, 제1 안전 단계를 갖는 제1 코어(2) 및 제2 안전 단계를 갖는 제2 코어(3)에, 제3 보호 저장 영역(10)에 대한 액세스를 허용하는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서, 제1 코어(2)가 제1 보호 저장 영역(4)에 액세스하는 동안, 동시에 제2 코어(3)는 제2 보호 저장 영역(5)에 액세스하는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  9. 제7항에 있어서, 시간 관리 시스템이 제3 보호 저장 영역(10)에 대한 제1 및 제2 코어(2, 3)의 동시 액세스를 저지하는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  10. 제9항에 있어서, 상기 시간 관리 시스템은, 제1 코어 또는 제2 코어(2, 3)가 어느 시점에 제3 보호 저장 영역(10)에 액세스할 것인지를 결정하는 타임 스케줄을 포함하는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  11. 제9항에 있어서, 제3 보호 저장 영역(10)에 대한 제1 코어 또는 제2 코어(2, 3)의 액세스를 모니터링하기 위해, 제3 보호 저장 영역(10)에 대한 코어들(2, 3)의 액세스들에 날짜가 부여된 프로토콜이 작성되는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  12. 제1항 내지 제3항 중 어느 한 항에 있어서, 사전 설정된 안전 단계를 갖는 코어(2, 3)는, 상응하는 안전 단계를 갖는 소프트웨어(SW1, SW2)의 처리 동안, 상기 처리를 위해 선택된, 멀티 코어 프로세서(1, 9, 11, 15)의 보호된 주변 소자(12)에만 액세스하는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  13. 제12항에 있어서, 주변 소자(12)는 멀티 코어 프로세서(1, 9, 11)의 시작 과정 동안에만 구성되는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  14. 제13항에 있어서, 주변 소자(12)의 구성은 사전 설정된 시간 간격들로 판독 검사되는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
  15. 제1항 내지 제3항 중 어느 한 항에 있어서, 멀티 코어 프로세서(1, 9, 11)에 신규 소프트웨어를 다운로드할 때, 상기 신규 소프트웨어는, 안전 단계가 지정되지 않은, 또는 보호 저장 영역들(4, 5, 10)에 액세스하지 않는, 또는 안전 단계가 지정되지 않고 보호 저장 영역들(4, 5, 10)에 액세스하지 않는 코어들(7, 8)에서만 실행되는 것을 특징으로 하는, 하나의 멀티 코어 프로세서 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법.
KR1020150014255A 2014-01-30 2015-01-29 멀티 코어 프로세서 시스템 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법 KR102271185B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102014201682.7A DE102014201682A1 (de) 2014-01-30 2014-01-30 Verfahren zur Koexistenz von Software mit verschiedenen Sicherheitsstufen in einem Multicore-Prozessorsystem
DE102014201682.7 2014-01-30

Publications (2)

Publication Number Publication Date
KR20150091013A true KR20150091013A (ko) 2015-08-07
KR102271185B1 KR102271185B1 (ko) 2021-07-01

Family

ID=53523005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150014255A KR102271185B1 (ko) 2014-01-30 2015-01-29 멀티 코어 프로세서 시스템 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법

Country Status (4)

Country Link
US (1) US10127161B2 (ko)
KR (1) KR102271185B1 (ko)
CN (1) CN104820626A (ko)
DE (1) DE102014201682A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014209489A1 (de) * 2014-05-20 2015-11-26 Robert Bosch Gmbh Vorrichtung zum sicheren Einbinden einer Softwarekomponente in einem Kraftfahrzeug
US9694765B2 (en) * 2015-04-20 2017-07-04 Hitachi, Ltd. Control system for an automotive vehicle
JP6486485B2 (ja) * 2015-09-30 2019-03-20 日立オートモティブシステムズ株式会社 車載制御装置
DE102015223757A1 (de) * 2015-11-30 2017-06-01 Robert Bosch Gmbh Verfahren zum Betreiben eines Mikrocontrollers
JP6465003B2 (ja) * 2015-11-30 2019-02-06 株式会社デンソー 電子制御装置
DE102016003362A1 (de) * 2016-03-18 2017-09-21 Giesecke+Devrient Currency Technology Gmbh Einrichtung und Verfahren zur Auswertung von Sensordaten für ein Wertdokument
DE102016210423A1 (de) 2016-06-13 2017-12-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Übertragen von Daten
DE102016215345A1 (de) * 2016-08-17 2018-02-22 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur redundanten Datenverarbeitung
CN106339332B (zh) * 2016-08-23 2019-10-25 Oppo广东移动通信有限公司 一种信息处理方法、装置和终端
FR3065550A1 (fr) * 2017-09-29 2018-10-26 Continental Automotive France Procede d'echange protege de donnees entre deux taches
US20190243698A1 (en) * 2018-02-02 2019-08-08 Robert Bosch Gmbh Electronic Control Unit for Flexible Replacement of Replaceable Components in a Vehicle
JP7042709B2 (ja) * 2018-06-28 2022-03-28 ルネサスエレクトロニクス株式会社 半導体装置、制御システムおよび半導体装置の制御方法
CN108910637A (zh) * 2018-07-18 2018-11-30 迅达(中国)电梯有限公司 安全系统
DE102019200812A1 (de) * 2019-01-23 2020-07-23 Audi Ag Verfahren zum Schützen einer Hauptfunktion eines Steuergeräts vor einer Behinderung ihres Betriebs durch einen Laufzeitfehler einer Nebenfunktion des Steuergeräts sowie Steuergerät, Kraftfahrzeug und Fahrzeugbatterie
CN112528345A (zh) * 2019-09-18 2021-03-19 华为技术有限公司 通信方法、装置、计算机可读存储介质和芯片
CN111026573B (zh) * 2019-11-19 2023-08-18 中国航空工业集团公司西安航空计算技术研究所 一种多核处理系统的看门狗系统及控制方法
DE102019220461A1 (de) * 2019-12-20 2021-06-24 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben einer Recheneinrichtung
CN112035394B (zh) * 2020-07-27 2021-04-27 首都师范大学 面向实时处理的多核处理器的存储装置及数据处理方法
US20220349353A1 (en) * 2021-04-30 2022-11-03 Raytheon Technologies Corporation Gas turbine engine communication data management function
US11745724B2 (en) 2021-05-13 2023-09-05 Dana Belgium N.V. Diagnostic and control method for a vehicle system
US11535239B2 (en) 2021-05-13 2022-12-27 Dana Belgium N.V. Diagnostic and control method for a vehicle system
DE102022125711A1 (de) 2022-10-05 2024-04-11 Audi Aktiengesellschaft Verfahren zum Aktualisieren eines Steuergeräts eines Fahrzeugs

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212889A1 (en) * 2002-05-13 2003-11-13 Khieu Andrew K. Method and system for exchanging data over networks using public key encryption
US20060200481A1 (en) * 2005-03-04 2006-09-07 Khalid Goyan Method and system for data optimization and protection in DSP firmware
US7558775B1 (en) * 2002-06-08 2009-07-07 Cisco Technology, Inc. Methods and apparatus for maintaining sets of ranges typically using an associative memory and for using these ranges to identify a matching range based on a query point or query range and to maintain sorted elements for use such as in providing priority queue operations
KR20130119452A (ko) * 2010-11-19 2013-10-31 콘티넨탈 테베스 아게 운트 코. 오하게 오류 허용 아키텍쳐를 갖는 마이크로프로세서 시스템

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3864509B2 (ja) * 1997-08-19 2007-01-10 株式会社日立製作所 マルチプロセッサシステム
JP2007004661A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd 仮想計算機の制御方法及びプログラム
US20080263256A1 (en) * 2007-04-20 2008-10-23 Motorola, Inc. Logic Device with Write Protected Memory Management Unit Registers
CN101903867B (zh) * 2007-12-17 2012-12-12 大陆-特韦斯贸易合伙股份公司及两合公司 存储器映射系统、请求控制器、多处理配置、中央中断请求控制器、用于控制存储器访问的装置、方法
EP2461251B1 (en) 2010-12-03 2017-06-21 Robert Bosch GmbH Memory protection unit and a method for controlling an access to a memory device
US9158592B2 (en) * 2011-05-02 2015-10-13 Green Hills Software, Inc. System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor
US9098709B2 (en) * 2012-11-13 2015-08-04 International Business Machines Corporation Protection of user data in hosted application environments
US9298914B1 (en) * 2013-12-03 2016-03-29 Symantec Corporation Enterprise data access anomaly detection and flow tracking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212889A1 (en) * 2002-05-13 2003-11-13 Khieu Andrew K. Method and system for exchanging data over networks using public key encryption
US7558775B1 (en) * 2002-06-08 2009-07-07 Cisco Technology, Inc. Methods and apparatus for maintaining sets of ranges typically using an associative memory and for using these ranges to identify a matching range based on a query point or query range and to maintain sorted elements for use such as in providing priority queue operations
US20060200481A1 (en) * 2005-03-04 2006-09-07 Khalid Goyan Method and system for data optimization and protection in DSP firmware
KR20130119452A (ko) * 2010-11-19 2013-10-31 콘티넨탈 테베스 아게 운트 코. 오하게 오류 허용 아키텍쳐를 갖는 마이크로프로세서 시스템

Also Published As

Publication number Publication date
KR102271185B1 (ko) 2021-07-01
US20150212952A1 (en) 2015-07-30
US10127161B2 (en) 2018-11-13
CN104820626A (zh) 2015-08-05
DE102014201682A1 (de) 2015-07-30

Similar Documents

Publication Publication Date Title
KR20150091013A (ko) 멀티 코어 프로세서 시스템 내에서 상이한 안전 단계를 갖는 소프트웨어의 공존 방법
US8984245B2 (en) Memory protection unit and method for controlling an access to memory device
US9389793B2 (en) Trusted execution and access protection for embedded memory
US7444668B2 (en) Method and apparatus for determining access permission
US10592270B2 (en) Safety hypervisor function
US9235456B2 (en) Configuration technique for an electronic control unit with intercommunicating applications
JP2009251967A (ja) マルチコアシステム
WO2015045507A1 (ja) 車両用制御装置
US20230161867A1 (en) Method and device for securely starting up a container instance
US20230021594A1 (en) Method and device for operating a computing device
JP2008186212A (ja) データ処理システム
JP5545250B2 (ja) 制御装置
Brewerton et al. Demonstration of automotive steering column lock using multicore autosar® operating system
CN109558167B (zh) 管理电气切换设备的电子计算机的嵌入式软件模块的方法
US20200250301A1 (en) Method and semiconductor circuit for protecting an operating system of a security system of a vehicle
JP5434942B2 (ja) 制御装置
Zimmer et al. A systematic approach for software interference analysis
JP2019049928A (ja) 電子制御装置及び電子制御装置の制御方法
CN108763145B (zh) 多核架构、接口卡和处理数据包的方法
US20100114422A1 (en) Control device for vehicles
JP6349444B2 (ja) 車両用制御装置
US10621312B2 (en) Method for operating a computer system to authorize use of software on a process computer
Miao et al. Design and Implementation of a Memory Protection Mechanism Adhering to the Specifications of AUTOSAR OS SC3
JP2023116355A (ja) 車載装置
CN117349853A (zh) 用于管理存储区域的访问权限的方法和对应的片上系统

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