CS/Introduction of Coumputer Science

Embedded System & Automation

WakaraNai 2021. 10. 13. 10:30
728x90
반응형

임베디드 시스템 

= HW + SW + 제한요소

 

 

 

임베디드 시스템의 적용 분야

  • 교통 및 운송
  • 방위사업 및 무기체계
  • 산업 자동화
  • 헬스케어와 의료장비
  • 농수산 및 축산가공업
  • 에너지 및 필수 인프라



임베디드 시스템의 특성

  1. 컴퓨터가 아닌 다른 더 큰 기구의 일부
  2. 반응적으로 동작하고
  3. 시간, 소비전력(배터리용량), 공간, 비용, 인간의 상호작용 등에 제한된 환경에서 동작
  4. 동작하는 기구의 물리적인 변화, 환경에 대한 정보(센서)와 작동(액추에이터) 역시 부가되어야 함

물리환경 -> 센서 -> 제어시스템 -> 액츄에이터

전자레인지 구조

 

개방형/폐쇄형 시스템

  • 폐쇄형
    • 사용자와의 상호작용이 하나의 source에 제한됨(네트워크 연결X)
    • 같은 입력에 동일한 결과
  • 개방형
    • 다중의 센서(source)에 의한 상호작용
    • 종종 사용자에 의해 제어되지 않고 프로그래머에 의해 관찰 가능

복잡한 임베디드 시스템의 예

자동차에 전자장비: 와이어, 네트워크 설치 -> 센서 제어하는 마이크로컨트롤러

- ADAS: Advanced Driver Assistance Systems: 첨단 운전자 보조 시스템

 

항공 제어 소프트웨어: boeing 787 - 작아진 날개 사이즈, 연료효율성 증가

 

스마트 주차 정보 시스템

- 정산, 빈 주차공간, 차량 찾기, (빌딩 내 네트워크로 연결)

 

로봇 수술 시스템, 사전 수술 시뮬레이션

의료정보 시스템

 

실시간 시스템과 빠른 계산

  • 시간 범위를 지켜야 함: 시간제약성, 실시간 시스템
    • 너무 빠르거나 너무 느리면 실패한 동작
  • 계산이 빠르면, 
    • 응답시간이 짧고
    • 시간 당 높은 처리량 
  • 실시간성
    • 최악의 경우라도 동작이 예측 가능한 시간 범위 내에 완료

 

 

CPU와 CPU 동작 CLOCK

CPU clock: CPU가 계산을 처리하는 시간 단위. 일반적으로 클럭 속도가 높을 수록 계산 속도가 빠름

 

에너지 소비는 CPU 동작 클럭에 비례함

이는 필요 전압과도 비례 관계

 

근래의 임베디드에서의 변화와 혁신

배터리의 에너지 밀도 외에 다른 hw 구성요소는 지수적으로 증가

 

배터리는 그대로인데 CPU 클럭만 좋아졌다. 그런데 성능은 증가되었다

+) SW 최적화: 전력 관리 기술...

 

이는 반도체 제조공정의 혁신

- System on Chip 기술 - 하드웨어 구성요소의 개수를 줄임

- 멀티 코어: CPU 코어의 동작 클럭을 높이는 대신 코어의 개수를 증가시킴

             - 병렬성과 암달(Amdahl)의 법칙

 

 

DVFS: Dynamic Voltage-Frequency Scaling

CPU 부하에 따라서 CPU 동작 클럭 및 공급 전압을 동적으로 조정하는 기술

3단계의 전압을 갖는 프로세서일 경우

1. 최대한 빨리 태스크를 수행함

2. 2단계의 전압을 사용

3. 최적의 전압만을 사용

 

 

 

 

 

DPM: Dyanmic Power Management

각 HW 구성 요소의 전력모드를 SW에 의해 변경할 수 있음

RUN: HW 동작하며 일반적인 전력을 사용

IDLE: SW에 의해 HW를 저전력 모드로 변경. 

          HW가 온전히 동작하지 않으나 대기 상태이며 바로 깨어날 수 있음

SLEEP: HW에 최소한의 전력만 공급되나, 깨어나는데 시간이 소요됨

 

덕분에 IPhone 근접 센서로 통화 중에 LCD 소비전력을 절감할 수 있게 되엇다.

 

DPM에 의한 소비전력 감소가 이상적인 경우란

충분히 오랫동안 HW가 사용되지 않을 때만 SLEEP 모드로 전환

단, 소비 전력 감소와 시간 오버 헤드 간 trade-off 관계 있음

SW 전력 관리의 어려운 점

SW가 결정해야할 것 - 미래를 잘 예측해야 배터리 사용 시간과 성능을 높인다

- 언제 어떻게 CPU 동작 클럭을 변경할까?

- 언제 전력 모드를 변경해야 할까?

- CPU 유휴시간이 전원 차단할 만큼 가치가 있나?

 

 

고신뢰 임베디드 시스템

모든 컴퓨팅 제품은 완전 무결하지 않음

결함허용성은 결함이 있더라도 시스템이 올바른 동작을 계속하도록하는 요구조건

 

중복을 통하여 결함 허용성을 달성한다

 

결함 허용을 위한 시스템 구조

- 단일 시스템: 높은 신뢰도의 구성요소

- 듀얼 시스템: 동일한 중복 구성요소 (제어+감시)

- N-way 중복 시스템: TMR - triple modular redundacy

   

 

RAID: Redundant Array of Inexpensive DIsk

두 개의 디스크에 동시에 저장 가능하나 읽을 때는 그 중 하나만 이용

디스크 중 임의의 한 개가 고장나도 다른 한 개에서 입출력이 가능함

중복 오버헤드 100%

 

RAID 5: 

패리티와 데이터가 여러 디스크에 스트라이프 (빠름)

고장나더라도 패리티 연산을 통해 스페어 디스크에 복구할 수 있음

 

 

체크 포인팅 ( 트랜잭션)

메시지를 주고 받는 컴퓨터 노드 (Pi) 사이에서 수행되는 중간에

현재의 컴퓨터 상태를 저장(체크포인팅)해두고 

노드에 오류가 발생하면

이전 체크포인트로 롤백하는 결함허용 기법

-> 복구라인은 시스템 전체의 일관된 상태를 저장하는 지점의 연결임

 

 

Software Development Process

  1. 요구사항 분석
    1. Hardware Schematic : 하드웨어 시스템 설계도
      1. 어떤 컴포넌트가 사용되었는지 : 그 제품에 어떤 기능을 제공하는지
      2. 각 컴포넌트가 어떻게 연결되었는지 : 각 기능이 어떻게 사용되는지
    2. Datasheet : 각 HW Component의 명세서들
      1. 어떤, 그리고 얼마나 많은 컴포넌의 인터페이스가 제공되는지
    3. Programming Manual
      1. Initialization procedure
        1. 자동차 속 점화 장치처럼, 어떤 하드웨어 컴포넌트는 시작 시에 초기화되어야 함
      2. Memory Map
        1. 해당 컴포넌트를 프로그래밍하려면 어떤 memory address를 써야 하는지 (특정 bit로 표현)
      3. State Machine: 이벤트가 컴포넌트의 내부 상태(state)를 수정하는 방법
  2. 소프트웨어 설계
  3. 실행
  4. 디버깅
  5. 유지보수



PC와 Embedded system 개발의 차이

 

 

728x90
반응형

'CS > Introduction of Coumputer Science' 카테고리의 다른 글

Computer Vision  (0) 2022.11.11
Computer Graphics  (0) 2022.11.07
자연언어처리  (0) 2022.11.07
인공지능  (0) 2022.10.29
확장 현실  (0) 2022.10.29