임베디드 요구·실시간성·HW/SW 공동설계
브레이크 제어기가 정확한 계산을 했지만 500 ms 뒤에 결과를 냈다면 기능적으로 맞았다고 할 수 있을까? 임베디드 시스템에서는 값의 정확성뿐 아니라 언제, 어떤 자원 안에서, 어떤 실패 상태에서도 결과를 내는지가 요구사항의 일부가 된다.
1. 정답을 늦게 내면 틀린 시스템이 되는 경우
브레이크 제어기가 정확한 계산을 했지만 500 ms 뒤에 결과를 냈다면 기능적으로 맞았다고 할 수 있을까? 임베디드 시스템에서는 값의 정확성뿐 아니라 언제, 어떤 자원 안에서, 어떤 실패 상태에서도 결과를 내는지가 요구사항의 일부가 된다.
하드웨어 경계와 자원 책임은 이미 정했다
시스템SW 아키텍처와 하드웨어 경계는 하드웨어·커널·드라이버·서비스 사이 보호·자원·동시성·오류 경계를 나눴다. 임베디드는 이 경계에 센서·액추에이터·전력·물리 시간 제약을 추가한다.
인터페이스 계약은 판본과 오류까지 포함한다
시스템SW 기술문서와 인터페이스 계약은 인터페이스의 입력·출력·상태·오류·실행 문맥과 검증 근거를 같은 판본에 연결했다. 이번 절은 센서 단위·버스·주기·마감·복구 조건을 그 계약에 넣는다.
센서와 액추에이터 앞에서 피드백 고리를 되짚는다
입력·처리·출력·상태·피드백에서는 목표·관찰·비교·조정이 닫힌 고리를 이룰 때 피드백 통제가 된다고 배웠다. 임베디드 제어에서는 이 고리에 물리 센서·액추에이터와 시간·자원·안전 조건이 함께 붙는다.
정확한 정의와 담당 경계
임베디드 애플리케이션 설계는 특정 장치의 기능·시간·자원·안전 요구를 하드웨어와 소프트웨어 책임으로 분해하고, 인터페이스·스케줄·상태·실패 처리를 함께 결정하는 설계 활동이다.
범용 운영체제·동기화 원리는 앞서 학습한 동기화·경쟁·교착상태를 재사용한다. 이 절은 장치 제약 아래 실시간 판단과 HW/SW 공동설계를 담당한다.
요구가 보드의 실행 경로로 내려간다
도식을 온도를 읽어 위험하면 밸브를 닫는 장치의 실행 경로로 읽어 보자. 센서가 만든 전기 신호를 ADC(Analog-to-Digital Converter, 아날로그-디지털 변환기) 구간에서 수치 코드로 바꾸고, 버스로 그 자료를 전달한다. 태스크는 실행 가능한 작업 단위로 제어 계산을 수행하며, 출력 명령은 밸브처럼 물리 동작을 만드는 액추에이터에 도달한다. 센서 값이 계산에 들어가는 것과 밸브가 실제로 닫히는 것은 서로 다른 단계이므로 사이의 전달·대기·작동 시간을 함께 추적한다.
화살표의 방향과 조건을 따라 연결을 읽습니다.
상자는 전달·실행 책임을 구별한다. 태스크 상자 안의 제어계산은 그 태스크가 수행하는 일이며 다른 실행 주체로 합친 것이 아니다. 기능·시간·메모리·전력·안전·통신 요구는 이 전체 경로에 적용한다.
기능 요구만 맞추고 시간·자원·안전 요구를 뒤에서 붙이면 분할 자체를 다시 해야 할 수 있다.
2. 분석 단계에서 장치의 경계와 제약을 먼저 적는다
입력 센서의 범위·정밀도·갱신주기, 출력 액추에이터의 안전상태, CPU·메모리·전력 예산, 통신 지연, 부팅·업데이트·고장 환경을 요구로 분리한다. “빠르게”, “저전력” 같은 표현은 측정 가능한 상한·조건으로 바꾼다.
기능 요구와 품질·제약 요구를 분리한다
| 구분 | 예 | 검증 질문 |
|---|---|---|
| 기능 | 온도 읽기, 밸브 닫기 | 올바른 상태·출력이 나오는가 |
| 시간 | 10 ms 안에 제어 | 모든 허용 조건에서 마감을 지키는가 |
| 메모리 | RAM 128 KB 이하 | 최악 사용량이 상한 안인가 |
| 전력 | 배터리 24시간 | 동작·대기 시나리오에서 가능한가 |
| 안전 | 센서 단선 시 닫힘 | 고장 상태가 안전상태로 가는가 |
| 통신 | 100 ms 내 보고 | 손실·재시도 때도 요구를 지키는가 |
3. 실시간성은 빠름이 아니라 마감시간 계약이다
주기 10 ms 센서 처리는 평균 1 ms라고 충분하지 않다. 드물게 20 ms가 걸려 마감을 넘는다면 마감 준수가 중요한 시스템에서는 실패다. 응답시간을 작업 해제, 실행 대기, 실제 실행, 완료로 나누고 인터럽트·우선순위·공유자원 때문에 생기는 지연을 포함한다.
EM-1: 평균은 통과하지만 마감은 실패한다
10 ms마다 해제되며 각 해제 시점부터 10 ms 안에 완료해야 하는 작업의 다섯 응답시간이 2,2,2,2,14ms라면 평균은 4.4 ms다. 평균만 보면 10 ms보다 작지만 한 번은 마감을 4 ms 넘겼다. 마감 준수가 요구라면 이 실행은 실패를 포함한다.
주기·마감·실행시간을 다른 값으로 적는다
주기는 작업이 얼마나 자주 활성화되는지, 마감시간은 언제까지 끝나야 하는지, 실행시간은 CPU를 실제 사용한 시간이다. 세 값이 우연히 같을 수도 있지만 개념은 다르다. 버퍼가 허용되는 데이터 수집과 즉시 제어를 같은 시간 계약으로 쓰지 않는다.
측정된 최대시간 하나를 절대 최악시간으로 부르지 않는다
실행시간은 입력 경로·캐시·버스·DMA·인터럽트·동시 작업에 따라 달라질 수 있다. 시험에서 본 최댓값은 시험한 범위의 최대 관찰값이다. 가능한 모든 경로에 대한 상한을 증명하지 않았다면 최악 실행시간이라고 과장하지 않고 측정 범위와 안전여유를 적는다.
4. 우선순위는 중요한 일을 먼저 하지만 공유자원이 기다림을 만든다
높은 우선순위의 준비 작업이 낮은 우선순위의 작업을 선점하는 스케줄러에서도 락·버스·드라이버 같은 공유자원을 기다릴 수 있다. 우선순위 숫자만 높이면 공유자원 보유자가 빨리 실행된다는 보장이 없다.
우선순위 역전은 앞 운영체제의 개념을 재사용한다
동기화·경쟁·교착상태는 높은 우선순위 흐름이 낮은 우선순위 흐름이 가진 잠금을 기다리고 중간 우선순위 흐름이 낮은 흐름의 실행을 빼앗아 대기가 길어지는 우선순위 역전을 다뤘다. 이번 절은 그 현상이 마감시간을 어떻게 위협하는지 적용한다.
우선순위 상속은 잠금 보유자의 진행을 돕는 한 방법이다
일부 실시간 실행환경은 높은 우선순위 작업이 mutex를 기다릴 때 낮은 우선순위 잠금 보유자가 높은 우선순위를 임시로 상속하도록 지원한다. 이는 중간 우선순위 작업이 잠금 보유자를 계속 선점하는 문제를 줄이지만 모든 교착·장시간 임계구역·잘못된 잠금 설계를 해결하지 않는다. [OS-LINUX-LOCKTYPES-ROLLING]
EM-2: 짧은 계산도 락 때문에 10 ms를 넘을 수 있다
단일 CPU의 선점형 고정 우선순위를 H>M>L로 두고 문맥교환 비용은 이 작은 계산에서 제외한다. 시각 0에 L이 mutex로 보호된 버스를 잡은 직후 H와 M이 준비되며, L의 남은 임계구역 실행은 6 ms, M의 실행은 5 ms, 버스를 얻은 H의 실행은 2 ms라고 가정한다. 다른 작업·인터럽트와 장치 자체의 대기는 없다.
| 시각: ms | 상속 없음 | 우선순위 상속 사용 |
|---|---|---|
| 0 | H가 잠금을 기다려 실행 불가, M이 L을 선점 | H가 기다리면 잠금 보유 L이 H 우선순위를 상속 |
| 0~5 | M 실행, L의 남은 6 ms는 진행하지 못함 | L이 계속 실행 |
| 5~6 | L 실행 시작 | L이 총 6 ms 실행 후 잠금 해제 |
| 6~8 | L의 임계구역이 계속됨 | H가 2 ms 실행하여 8 ms에 완료 |
| 8~11 | L이 11 ms에 잠금 해제 | M이 실행 |
| 11~13 | H가 2 ms 실행하여 13 ms에 완료 | H는 이미 완료 |
상속이 없으면 H는 11 ms를 기다려 13 ms에 끝나므로 해제 시점 0 기준 10 ms 마감을 3 ms 넘긴다. 상속을 적용한 이 가정에서는 6 ms 대기+2 ms 실행=8 ms다. 상속이 잠금 자체를 없애는 것은 아니므로 L의 임계구역이 길어지거나 다른 간섭이 있으면 다시 계산해야 한다. 이 시간표는 명시한 유한 모형의 추적이며 실제 장치의 최악 응답시간 증명이 아니다.
이번에는 상속을 유지하되 L의 남은 임계구역만 9 ms로 바꾸어 스스로 계산해 보자. H는 실행할 준비가 되어 있어도 버스 잠금이 풀릴 때까지 9 ms 기다리고, 그 뒤 자신의 2 ms를 실행하므로 시각 11 ms에 완료한다. 10 ms 마감은 1 ms 초과하며 상속을 쓴다는 사실만으로 통과하지 않는다. 2 ms라고 답했다면 H의 CPU 실행시간만 세고 잠금 대기를 뺀 것이므로 3. 실시간성은 빠름이 아니라 마감시간 계약이다에서 설명한 응답시간 구성으로, 8 ms라고 답했다면 바뀐 L의 조건을 빠뜨린 것이므로 이 시간표의 잠금 해제 시점으로 돌아가 확인한다.
인터럽트와 태스크의 책임을 나눈다
인터럽트 처리에서는 필요한 하드웨어 상태를 빠르게 확보하고 긴 계산·블로킹 작업은 태스크로 넘기는 구조를 고려한다. 너무 긴 인터럽트 처리는 다른 인터럽트와 스케줄링 지연을 키울 수 있다. 반대로 필요한 상태를 늦게 읽으면 하드웨어 이벤트를 잃을 수 있어 장치 규격을 확인한다.
뒤의 도식에서 ISR(Interrupt Service Routine)은 이 인터럽트 처리 루틴을 가리킨다. 센서 → ISR → 태스크는 센서 사건을 처리한 뒤 후속 작업으로 넘기는 실행 경로이며, 세 단계가 같은 실행 문맥에서 한꺼번에 실행된다는 뜻은 아니다.
DMA도 CPU를 쓰지 않는다는 말로 끝나지 않는다
DMA는 주변장치와 메모리 사이 전송을 CPU가 바이트마다 직접 복사하지 않도록 도울 수 있다. 그러나 버스 대역폭·버퍼 소유권·캐시 일관성·완료 인터럽트와 오류 처리가 남는다. 앞 시스템SW 절의 DMA·인터럽트 경계를 그대로 적용한다. [SRC-SS-DMA]
5. HW/SW 분할은 성능 하나가 아니라 변경과 검증까지 비교한다
같은 기능을 전용 하드웨어로 만들면 지연·전력·병렬성이 유리할 수 있지만 변경 비용과 검증 비용이 커질 수 있다. 소프트웨어는 변경·재사용이 쉽지만 CPU·메모리·스케줄링 자원을 사용한다. 안전성, 인증, 생산량, BOM 비용, 업데이트 가능성, 개발기간을 함께 비교한다.
여기서 BOM(Bill of Materials) 비용은 보드에 들어가는 부품 명세를 바탕으로 비교하는 부품 비용이다. 전용 부품을 추가할 때의 단가와 소프트웨어 개발·검증 비용은 다른 항목으로 적고, 생산 수량과 변경 가능성에 따라 함께 비교한다.
HW/SW 분할 판단표
| 판단축 | HW 쪽이 유리할 수 있는 경우 | SW 쪽이 유리할 수 있는 경우 |
|---|---|---|
| 지연·처리량 | 고정 기능의 매우 낮은 지연 | CPU 여유가 충분함 |
| 전력 | 전용 가속이 효율적 | 유휴·슬립 제어가 쉬움 |
| 변경 | 기능이 안정적 | 요구가 자주 바뀜 |
| 검증 | 좁은 고정 기능 | 테스트·업데이트 자동화 필요 |
| 비용 | 대량생산에서 단가 이점 | 초기 개발·소량 생산 |
이 표는 자동 결론표가 아니라 설계 검토 질문이다.
공동설계의 반복 경로
| 공동설계에서 이어 볼 단계 | 다음 단계에 넘길 판단 |
|---|---|
| 기능·마감·전력·안전 요구 | HW 후보와 SW 후보를 서로 비교 |
| HW ↔ SW 후보 | 센서·버스·메모리·인터럽트 계약 |
| 계약 | 스케줄·상태·오류·복구 설계 |
| 설계 | 보드·시뮬레이터·실기 시험 |
| 요구 위반 | 분할·주기·자원을 다시 설계하고 앞선 판단을 재검토 |
6. 센서의 비트수와 물리 의미를 혼동하지 않는다
센서가 16비트 값을 준다고 실제 온도 범위가 0~65535도라는 뜻은 아니다. ADC 스케일·오프셋·포화·오류코드·엔디언·갱신주기와 물리 단위를 인터페이스 계약에 적는다. 정수 오버플로와 단위 변환이 실제 제어값을 바꿀 수 있다.
EM-3: 양자화 폭과 끝점 환산을 구분한다
12비트에는 2^12=4096개의 코드가 있고 코드 번호는 0~4095다. 입력 전압 범위의 폭을 3.3 V로 둔 균일 양자화 모형의 한 코드 폭은 3.3/4096=0.0008056640625V, 약 0.8057 mV다. 코드 개수 4096과 최대 코드 번호 4095를 구별한다.
반면 표시값을 코드 0에 0 V, 코드 4095에 3.3 V가 대응하도록 별도의 끝점 선형 환산으로 정하면 표시 전압=코드×3.3/4095이고 코드 2048의 표시값은 약 1.650403 V다. 이때 인접 표시값 차이는 약 0.805861 mV이지만 ADC 자체의 양자화 폭을 뜻하지 않는다. 두 식의 값이 비슷하다는 이유로 서로 바꾸지 않는다.
실제 ADC의 코드 전이 위치·포화·영점·기준전압·비선형성과 센서 변환식은 해당 장치 계약에서 확인한다. 코드 2048 하나가 정확히 한 물리 전압을 측정했다는 뜻도 아니다.
전력과 열도 실행 자원이다
항상 최대 클록으로 돌리면 지연은 줄 수 있지만 전력·발열·배터리 시간이 악화될 수 있다. 슬립 진입·복귀 시간, 주변장치 전원 상태와 데이터 유실을 포함해 에너지 정책을 설계한다. 열 제한 때문에 클록이 낮아지는 경우 시간 요구도 다시 확인한다.
watchdog은 원인 제거가 아니라 최후 복구 수단이다
태스크가 정해진 시간 안에 정상 진행을 증명하지 못하면 watchdog이 재시작을 유도할 수 있다. 하지만 반복 재부팅·안전하지 않은 출력 상태·영구 데이터 손상을 막는 부팅·복구 설계가 함께 있어야 한다. watchdog을 넣었다고 교착이나 메모리 손상의 원인이 해결된 것은 아니다.
시험은 요구의 축을 그대로 따라간다
기능 시험, 시간 마감 시험, 메모리·스택 상한, 전력·열, 통신 손실, 센서 단선·범위 초과, 부팅·업데이트 실패를 분리한다. 시뮬레이터에서 통과한 결과와 실제 보드에서 측정한 결과를 구분하고 장치 판본·펌웨어 판본·측정 조건을 남긴다.
EM-4의 설계 선택과 시간 예산. 다음 25점 문제에서는 10 ms 주기 샘플링과 별도로, 지속되는 위험 사건의 발생부터 밸브 닫힘 완료까지 20 ms를 마감으로 정한다. 위험이 다음 샘플까지 유지되어 놓치지 않는다는 교육 가정이다. 더 짧은 위험 펄스나 별도 센서 지연이 있으면 이 모형으로 보장할 수 없다.
샘플 직후 사건이 발생하면 다음 샘플까지 거의 10 ms 기다릴 수 있다. 여기에 ADC·버스 1 ms, 짧은 인터럽트 처리 0.5 ms, 태스크·잠금 대기 1 ms, 제어계산 2 ms, 출력 구동과 밸브 닫힘 3 ms라는 설계 예산 상한을 배정한다. 합은 10+1+0.5+1+2+3=17.5ms이고 20 ms까지 2.5 ms가 남는다. 샘플링 주기 10 ms만 주어졌다고 사건 발생 기준 10 ms 마감을 충족한 것은 아니다. 후단에 양의 지연이 있으므로 그보다 엄격한 계약은 주기 단축이나 사건 검출 하드웨어 등 별도 설계가 필요하다.
이 후보는 주기 발생·ADC 변환·출력 차단 경로를 하드웨어에, 변경 가능한 위험 판정·진단을 고우선 소프트웨어 태스크에 맡긴다. 공유버스의 긴 작업을 제어 경로에서 제외하고 잠금 대기 1 ms 예산을 검증 대상으로 둔다. 단선·범위초과·태스크 진행 상실이면 출력 허용을 해제하고, 재시작만으로 다시 열지 않으며 정상 센서·자체검사와 승인된 재가동 조건을 확인한다. 닫힘이 이 장치의 안전상태이고 전원·구동 고장 때도 그 상태로 갈 수 있다는 조건은 별도 위험분석과 실기로 확인해야 한다. 17.5 ms는 측정된 성능이 아니므로 실제 센서·펌웨어·부하·전압·온도와 고장 조건에서 각 상한과 실제 밸브 상태를 검증하기 전에는 안전 승인을 내리지 않는다.
공식 범위 연결 — 임베디드 애플리케이션 분석
분석 단계에서는 장치 목적·환경·센서·액추에이터·시간·전력·메모리·안전·통신 제약을 요구와 위험으로 정리한다. 실측하지 않은 최악값을 사실처럼 만들지 않는다.
공식 범위 연결 — 임베디드 애플리케이션 설계
설계 단계에서는 HW/SW 분할, 인터페이스, 태스크·우선순위, 공유자원, 상태·오류·복구, 시험 지점을 결정한다. 평균 성능뿐 아니라 마감 위반과 실패 상태를 검증 대상으로 남긴다.
출처와 적용 경계
동기화·교착상태의 최초 정의는 동기화·경쟁·교착상태를, DMA 주소·버퍼 동기화 경계는 앞 시스템SW 절과 보존 출처 SRC-SS-DMA를 재사용한다. Linux 잠금 유형 문서는 우선순위 역전과 잠금 메커니즘의 한정된 기술 근거로만 사용한다. 자체 샘플링·마감·응답시간 예산과 ADC 수치는 명시한 교육 모형의 계산이며 실제 보드 측정 결과가 아니다.
7. 한 장으로 정리하기
- 기능·시간·메모리·전력·안전 요구를 분리한다.
- 실시간성은 평균 속도가 아니라 마감 준수로 본다.
- 인터럽트·우선순위·락·DMA가 응답시간과 자원 책임을 바꾼다.
- HW/SW 분할은 성능·변경·검증·비용을 함께 비교한다.
- 센서 단위·오류·복구·실기 시험까지 같은 계약으로 연결한다.
독립 연습 — 상속을 써도 없어지지 않는 대기를 계산한다
다음은 본문 사례의 조건을 적용하거나 바꾼 자체 연습이다. 먼저 판단과 근거를 적고 풀이를 펼친다.
EM-2의 단일 CPU·선점형 H>M>L·다른 간섭 없음·문맥교환 비용 제외 조건을 유지한다. H의 마감은 해제 시점 0부터 10 ms다. 우선순위 상속을 적용하되 L의 남은 임계구역은 8 ms, 잠금 획득 후 H의 실행은 원래 2 ms다.
- 잠금 해제와 H 완료 시각을 표시하고 마감 충족을 판정하라.
- 이번 계산으로 장치 전체의 최악 응답시간을 입증하지 못하는 이유를 쓰라.
풀이와 오답 교정 보기
L은 H의 우선순위로 남은 8 ms를 진행하여 시각 8에 잠금을 해제한다. H는 이어 2 ms 실행해 시각 10에 완료한다. 완료≤마감이라는 조건에서 정각은 충족한다. 상속이 임계구역 자체를 없애지는 않는다. 다른 작업·인터럽트·장치 대기와 문맥교환을 제외한 유한 모형이므로 실제 보드의 모든 실행에 대한 최악 응답시간 증거는 아니다.
8. 자체 10점 문제
임베디드 시스템에서 실시간성을 단순한 처리속도와 구분하여 설명하고, HW/SW 공동설계 시 고려해야 할 주요 판단요소를 제시하시오.
요구어는 구분, 설명, 제시다. 시간 계약과 분할 판단을 연결한다.
10점 풀이와 답안 구성 보기
10점 답안 목차
- 실시간성의 의미
- 응답시간과 마감 위반 요인
- HW/SW 분할 판단축
- 인터페이스·오류·시험
10점 답안 도식
물리 사건부터 출력까지의 경로에서 센서 → ISR → 태스크 → 제어 → 액추에이터의 전달·대기·실행·작동 시간을 더한다. 응답시간 ≤ 마감을 확인하며 HW ↔ SW 분할은 공동설계 판단표와 연결한다.
10점 모범답안
실시간성은 단순히 평균 처리속도가 빠른 것이 아니라 정해진 사건에 대해 결과가 요구된 마감시간 안에 도착하는 성질이다. 응답시간에는 실행 자체뿐 아니라 인터럽트, 준비큐 대기, 공유자원 잠금과 선점 지연이 포함된다. HW/SW 공동설계에서는 기능·마감·처리량·메모리·전력·안전·변경 가능성·비용을 비교하여 분할하고 센서·버스·메모리·인터럽트 계약과 오류·복구를 함께 정한다. 시험은 평균값뿐 아니라 마감 위반, 자원 상한, 센서 고장과 실제 보드 조건을 포함한다.
9. 자체 25점 문제
EM-4처럼 10 ms 주기로 센서를 읽고, 지속되는 위험 사건의 발생부터 밸브 닫힘 완료까지 별도로 20 ms 마감을 둔 임베디드 제어기를 설계하려 한다. 시간·자원·안전 요구를 분석하고, 인터럽트·태스크·공유자원·HW/SW 분할·오류복구·시험 관점의 설계안을 제시하시오.
요구어는 분석, 설계, 제시다. 요구→구조→실패→시험의 인과사슬을 보여야 한다.
25점 풀이와 답안 구성 보기
25점 답안 목차
- 기능·10 ms 샘플링·사건 발생 기준 20 ms 마감·안전상태 정의
- 센서/ADC/버스 인터페이스 계약
- ISR과 태스크 책임·우선순위·공유자원
- 응답시간·마감·최악경로 검증
- HW/SW 분할과 전력·메모리 판단
- 단선·범위초과·교착·재부팅 복구
- 시뮬레이터·실보드·고장주입 시험
실제 도식과 대조할 실행·검증 조건
화살표의 방향과 조건을 따라 연결을 읽습니다.
40 px가 1 ms인 선형 축이다. 샘플 대기 ≤10 ms + 후단 7.5 ms = 전체 17.5 ms이며 별도 마감 20 ms까지 여유 2.5 ms다. 후단은 ADC·버스 1 + ISR 0.5 + 대기 1 + 계산 2 + 구동·닫힘 3 ms다. 설계 예산이며 실측 성능·안전 승인 증거가 아니다.
| 실행 책임 | 함께 확인할 조건 |
|---|---|
| 센서 → IRQ → 짧은 ISR → 고우선 제어태스크 → 밸브 | 단위·오류 / 이벤트 전달 / 락·버스·마감 / 안전상태 |
| 후보 예산 이후 검증 | 로그·watchdog·롤백·실보드 시험 |
25점 모범답안
EM-4의 샘플링 주기 10 ms와 사건 발생부터 실제 닫힘 완료까지 20 ms 마감을 구별한다. 지속되는 사건의 샘플 대기 상한 10 ms에 ADC·버스 1 ms, ISR 0.5 ms, 대기 1 ms, 계산 2 ms, 구동·닫힘 3 ms를 더한 후보 예산은 17.5 ms로 여유 2.5 ms다. 이 값은 설계 가정이며 실측 상한은 아니다. 센서 원시값은 비트수만 보지 않고 전압·물리단위·범위·오류코드·엔디언을 계약으로 남긴다. 인터럽트에서는 필요한 상태만 빠르게 확보하고 제어 계산은 고우선 태스크로 넘기며 공유버스·mutex의 대기와 우선순위 역전을 응답시간에 포함한다. DMA를 쓰면 CPU 복사량은 줄 수 있지만 버스·버퍼·캐시·완료 오류의 소유권을 정한다. 주기 발생·ADC·출력 차단은 하드웨어, 위험 판정·진단은 고우선 소프트웨어로 맡기고 지연·전력·변경·검증·생산비용을 비교한다. 공유버스 대기 1 ms를 검증하며 단선·범위초과·태스크 정지 시 출력 허용을 해제한다. 재부팅만으로 다시 열지 않고 정상 확인과 재가동 조건을 요구하며, 평균 실행시간이 아니라 마감 위반·스택·전력·통신손실을 시뮬레이터와 실제 보드에서 판본별로 시험한다.