임베디드 시스템
- 특정 용도에 최적화 된 컴퓨터 시스템
- 전기/전자 회로 + 마이크로 프로세서
임베디드 시스템 특징
- 성능 및 자원에 높은 효율 > 범용 시스템
- 저비용, 고성능 > 전용 하드웨어/범용 시스템
임베디드 장점
- 하드웨어로 속도 향상
- 소프트웨어로 유연 -> 기능 블럭들 구현, 변경, 수정 용이 -> 개발 단축, 비용 절약
- 처리 작업이 큰건 하드웨어로 구현 -> 시간 절약, 성능 향상
임베디드 단점
- 하드웨어/소프트웨어 혼재 -> 에러 소재 파악 힘듬 ->디버깅힘듬
- 설계 공간 확대 -> 다양한 설계가능 -> 최적 설계 예측 힘듬
- 하드웨어/소프트웨어 공조 설계가 가능한 전문 인력 부족
임베디드 시스템 구조
- 하드웨어 : CPU, 메모리, 입출력
- 소프트웨어 : 응용 소프트웨어, 라이브러리, 운영체제
임베디드와 범용 컴퓨터 차이
- 동일한 구성 <-> 목적에 따라 최적화
- 동일한 범용 cpu 사용 하나 사용 목적에 따라 설계 구조 변경
* 간단한 시스템은 소프트웨어 만으로 구현 가능
응용 분야
- 가전/개인단말 장비
- 사무 자동화 장비
- 공장 자동화 장비
- 네트워크 장비
- 군/항공우주/운송 장비
설계 특성
1. 설계 목표
- 고성능/ 실시간 처리/ 최적화/ 유연성/ 신뢰 및 안정성 보장/ 소비 전력 최소/ 경쟁력 / 환경 친화
2. 고려 요소
초기 단계
- 프로세서 : 고성능, 저가
- 운영체제 : 실시간 os/비실시간os/ 순차형 프로그램, 메모리 사용량 + 정책
설계 중 항상 고려
- HW 자원 활용도 향상 : 최소한 자원, 최적화 코딩 요구
- 시스템 유연성 확보 : 업그레이드 기능 확장 고려, hw/sw 설계 필요
- 신뢰/보안 향상 : 불법적 접근 방지 -> 리버스 엔지니어링 방지
3. 구현 방법
- HW-SW 공조설계 방식
- HW 구현 방법
1. 범용 컴퓨터 사용 -> SW만으로 구현 (os없이 펌웨어만으로도 구현 가능)
2. 전용 CPU 보드 설계 + ASSP( 표준화 입출력 디바이스) + 전용 IC 개발)
- 설계 겅험, 비용 시간 큼 -> 최고 성능
3. SoC + ASSP
- SoC 안에 CPU와 ASIC을 구현할 수 있는 프로그래머블 디바이스
- 신뢰성 큼, 소비전력 적으나 설게비용 증가
- SoC에 포함할수없는 부분은 외부에 별도 ASSP 추가
SW 구현 방법
1. 펌웨어 기반
- 하드웨어 관리 간단
- 프로그램이 동시 여러 작업 안함
- 순차적 실행시 OS 없이 간단한 프로그램으로 완성
2. 운영체제 기반
- 하드웨어 자원 관리 복잡
- 멀티태스킹 필요 한 경우
HW-SW 공조 설계
-임베디드 시스템 -> 기능 블록별로 분리 -> 하드웨어 or 소프트웨어
- 실행 속도, 메모리, 전력, 등 고려하여 구현방법 결정
- 하드웨어 : 이미 판매하는 ASSP 사서쓰거나, 없으면 ASIC 직접 구현
- 프로그램 언어, 프로세서 컴파일러, 운영체제 특성과 디버깅 비용을 고려하여 최적화 프로그래밍 구현
운영체제로 개발
- 설계 기능 복잡, 순차 방식 한계, 동시 실행 필요 시
- 32비트급 프로세서로 임베디드 시스템 구현시 운영체제 사용
- 직접 개발, 상용/공개 운영체제 사용
SoC (system on chip)으로 구현
- 마이크로 프로세서, 메모리, 주변장치 등을 하나의 칩으로 구현 IC
- 단일 칩 임베디드 시스템
-> 성능 향상, 소비전력 감소, 외부 잡음 차단, 크기 축소
<-> 많은 설계경험과 비용, 시간이 요구, 디버깅 힘듬
4. 설계 공간
- 설계 사양에 맞는 설계들이 형성되는 공간
- 비용 함수 : 각 설계 사례를 평가하는 방법 -> 평가요소 시스템크기, 성능, 소비전력 x 평가 요소 별 가중치 = 설계 비용
- 설계 공간 탐색 : 비용함수를 최소화 하는 최적 설계 찾아가는 과정
- 설계 사양 -> 설계(+설계 경험/ 능력) -> 설계 평가(비용함수) -> 최적(아닐 시 재 설계) -> 최적 설계 결과
'컴퓨터과학 > 임베디드' 카테고리의 다른 글
ARM을 활용한 임베디드 시스템 설계 6 - 레지스터 (0) | 2020.05.04 |
---|---|
ARM을 활용한 임베디드 시스템 설계 5 - 메모리 (0) | 2020.05.03 |
ARM을 활용한 임베디드 시스템 설계 4 - ARM 프로세서 구조 (0) | 2020.05.03 |
ARM을 활용한 임베디드 시스템 설계 3 - 개발 (0) | 2020.05.03 |
ARM을 활용한 임베디드 시스템 설계 2 - 구성 (0) | 2020.05.03 |