정의: 일반적인 목적의 컴퓨터 그 자체가 아닌, 프로그래밍 가능한 컴퓨터 장치가 탑재된 어떠한 장치
PC는 임베디드 시스템으로 볼 수 없다. 그럼에도 불구하고 PC들은 임베디드 컴퓨팅 시스템을 구현하는데 자주 사용된다.
응용 프로그램 특성을 활용하여 설계를 최적화한다.
1940년대 후반 MIT Whirlwind computer
1970년대 초반 첫 마이크로 프로세서 Intel 4004 등장
1972 HP-35 calculator
자동차는 1970년대부터 마이크로프로세서 기반의 엔진 컨트롤러를 사용.
마이크로컨트롤러:
입출력 장치와 온보드 메모리를 포함한다. 임베디드 시스템에서 자주 사용되며, 센서나 액추에이터 같은 입출력 장치와 통신하기 위한 기능을 가진다. 모든 기능이 칩 하나에 통합되어 있어서 작은 장치에 사용하기 좋다.
DSP(Digital Signal Processor, 디지털 신호 처리기):
디지털 신호 처리를 최적화함. 주로 오디오, 비디오, 통신 시스템에서 신호 처리를 빠르게 하기 위해 사용된다.
일반적으로 임베디드 시스템에서 사용하는 워드 크기는 8비트, 16비트, 32비트이다. 여기서 워드 크기란 시스템에서 한번에 처리 가능한 데이터 크기를 의미한다.
간단한 조작: 전자레인지 또는 오븐의 프론트 패널
디지털 TV: 프로그래밍 가능한 CPU들과 비디오, 오디오 디코드 로직 및 메뉴
오늘날의 하이엔드 자동차들은 약 100개 가량의 마이크로프로세서가 탑재됨.
4비트 마이크로컨트롤러는 좌석 벨트를 체크함.
마이크로컨트롤러가 대쉬보드 장치를 실행시킴.
16/32 비트 마이크로프로세서는 엔진을 조작함.
BMW 850i 브레이크와 안정성 제어 시스템:
Anti-lock brake system(ABS): 차량의 바퀴가 잠기는 것을 방지하여 미끄러짐을 줄이기 위해 브레이크를 펌프질하는 시스템
Automatic stability control(ASC + T): 차량의 엔진을 제어하여 안정성을 향상시키는 시스템이다. 미끄러짐이나 회전 방지와 같은 상황에서 엔진 출력을 조절함.
ABS와 ASC+T의 통신: 두 시스템은 서로 통신하며 협력한다. 이를 통해 차량의 제동력과 안정성을 제어함.

정교한 기능의 수행.
실시간으로 작동된다.
많은 시스템이 다중 속도(Multi rate)로 운영된다.
제약 시간내에 작업을 끝내야한다.
제조 비용이 저렴하다.
전력 소모가 낮다.
소규모 팀이 짧은 개발 기간 내에 설계한다.
대안으로는 Field-programmable gate arrays(FPGAs), custom logic 등이 존재한다. 하지만 마이크로프로세서는 매우 효율적이다. 같은 논리 회로로 다양한 기능을 수행할 수 있기 때문이다. 이를 통해 다양한 제품군을 쉽게 설계할 수 있어 개발 및 설계 과정이 단순해지고, 유연성을 확보한다.
마이크로프로세서는 커스텀 로직에 비해 훨씬 더 많은 로직을 사용한다. 하나의 기능을 구현하는데 커스텀 로직보다 훨씬 더 많은 자원과 회로를 필요로 한다.
하지만 마이크로프로세서는 더 많고 복잡한 자원을 사용함에도 불구하고 성능적으로 뛰어나다.
이유:
Heavily pipelined(파이프라이닝)
마이크로프로세서는 파이프라인 구조를 통해 여러 명령을 동시 수행가능하다.
Large design teams
마이크로프로세서는 대규모 팀의 체계적 설계로 이루어지기 때문에 성능 최적화가 우수함.
Aggressive VLSI technology
VLSI(초대규모 집적회로) 기술은 마이크로프로세서에서 매우 고도로 집적된 회로를 만들 수 있게 함.
커스텀 로직은 전력을 적게 소모하지만 CPU 또한 이것에 대해 이점을 가진다.
이종 시스템(Heterogeneous systems)
임베디드 컴퓨팅 플랫폼: 하드웨어 아키텍처, 그와 연관된 소프트웨어를 포함하는 시스템이다.
현대의 많은 임베디드 플랫폼은 다중 프로세서 구조를 가진다. 즉, 하나의 시스템에서 여러 프로세서가 동시에 작업을 처리할 수 있음.
예시
Single-chip multiprocessors for cell phone baseband:
휴대폰의 베이스밴드 처리를 위한 단일 칩 다중 프로세서 구조이다. 휴대폰 통신 관련 기능을 처리하는 칩이 여러 프로세서를 가지고 빠르고 효율적인 처리를 함.
Automotive network + processors:
자동차의 네트워크와 프로세서가 결합된 구조이다.
하드웨어가 얼마나 필요한지?
데드라인을 어떻게 맞출 것인가?
전력을 어떻게 최소화할 것인가?
정말로 잘 작동할지?
시스템을 어떻게 다룰 것인가?
범용 컴퓨팅에서 성능은 주로 평균적인 경우로 정의된다. 즉, 일반적인 컴퓨팅에서 성능이 구체적으로 정의되지 않으며, 평균적 처리 속도나 응답시간을 통해 성능을 평가함.
실시간 시스템에서의 성능:
정리: 일반적인 컴퓨팅에서 성능은 평균적인 처리 능력으로 평가되나, 실시간 시스템에서는 데드라인을 지키는 것이 성능의 가장 중요한 요소이다. 데드라인을 지키지 못하면 시스템 failure 또는 성능이 저하될 수 있다.