Matching processor safety strategies to your system design


현재 마이크로컨트롤러는 제품을 선택할 때 다양한 옵션을 안전이 중요한 개발자에게 제공한다. 이런 다양성은 아마도 안전 무결성을 위한 가능한 프로세서 안전 전략을 평가할 때 가장 분명할 것이다. 이것은 “최고의” 솔루션이 시스템 개발자가 솔루션의 강점과 약점을 판단하기 위한 능력에 의존하게 된다.

안전 프로세싱을 위한 공통 솔루션을 고려하고자 할 때, 제품에서 제공하는 공통적인 아키텍처들이 있다. 가장 사용 가능한 CPU안전 솔루션은 single core, single core with hardware checking, dual-core lockstep, asymmetric dual core, 또는 symmetric dual core로 분류할 수 있다. 이들은 Figure 1에 표현되어 있다.

watchdog기반 솔루션은 비록 프로그램 순서 및 deadlock 모니터링에 대해 매우 유용하기는 하지만 processing에 대한 중요한 진단을 제공하지 못하며 그러므로 여기에서는 고려되지 않는다.

비교를 수행하기 위하여, 우리는 평가 범주를 몇 가지 정의해야 한다: 소프트웨어 복잡성, 실리콘 복잡도, 안전 분석 복잡도, 기능적 소프트웨어 실행을 위한 가용한 성능

소프트웨어 복잡도는 안전 매커니즘들을 통합하여 어플리케이션 소프트웨어로 만드는데 필요한 노력이다. 실리콘 복잡도는 다이위의 하드웨어 비용을 표현한다. 안전 분석 복잡도는 안전 분석을 수행할 때의 어려움을 측정한다. 마지막으로, 가용한 성능 측정은 구현된 안전 제약사항을 제외하고 single CPU대비 가용한 어플리케이션을 나타낸다. Single-core CPU솔루션은 다양한 범위의 제품에서 사용되고 분석의 기반이다.

single-core솔루션은 안전 무결성을 달성하기 위해 safety-critical code의 multiple execution과 같은 소프트웨어 기반 진단과 measure에 의존하며, 결과적으로 소프트웨어 복잡도에 대한 높은 비용을 초래한다. silicon 복잡도는 낮은데, 이는 safety support를 위한 특화된 silicon overhead가 없어서이다. 안전 분석 복잡도는 높은데, 그 이유는 구현된 소프트웨어가 모든 관련 있는 fault를 탐지하는 것을 입증하는 것은 어렵기 때문이다. 이것은 특히 transient fault에 대해서는 사실이다. 그리고 transient fault는 일시적으로 flip-lop이나 register의 상태를 변경시킬 수 있는데 그 뒤의 소프트웨어 수행에 의해 clear되는 것이다. 사용 가능한 성능은 낮은데, 그것은 소프트웨어 기반의 진단 때문이다. 소프트웨어 기반의 진단은 총 CPU 성능의 30%이상을 소비할 수 있다. safety-critical code의 중복 실행은 가용 성능을 더욱 줄일 것이다.

hardware checking이 있는 single core솔루션은 single-core솔루션의 많은 이슈들은 연속적이거나 주기적으로 동작하는 하드웨어 checker에 의해 처리되는 솔루션이다. 그와 같은 솔루션은 감소되는 증가되는 실리콘의 복잡도에 대한 소프트웨어 오버헤드의 trade-off이다. 이 솔루션의 안전 분석은 도전과제이다. design-for-safety에서 공통 표준의 부족은 하드웨어 checker의 전략이 각각의 평가자 에게 특별히 제공되어야 함을 의미한다. 가능한 CPU성능은 높으며, 종종 안전 진단에 소비되는 CPU 오버헤드의 5%미만을 차지한다.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s