임베디드 시스템 개발 프로세스

- 분석 -> 설계 -> 개발 -> 테스트 -> 양산 -> 유지 보수

 

 

1. 분석

- 수요/기술 조사, 요구사항 평가, 사양, 비용, 디자인 등 정리

- output : 제품 기획서, 요구 명세서, 디자인 설계서

 

2. 설계

- 하드웨어 회로/기구/소프트웨어 설계

- output : 회로도, 기구설계도면, 소프트웨어 흐름 차트, UI 설계서

회로도 기구설계도
UI 설계서 소프트웨어 흐름도

 

 

3. 개발

- 하드웨어 PCB(printed circuit board), PBA(printed board assembly)  개발 후 SW 개발 디버깅 진행

- output : PCB, PBA, BOM, 아트웍 데이터, 소스코드

 

4. 테스트

- 기능, 신뢰성, 성능등을 시험

- ex : 유닛 테스트, HW 테스트,  통합 테스트, 필드 테스트, 환경 테스트

 

5. 양산 : 시제품 양산 - 부품 구입, PCB/SMT/기구 제작 및 포장

6. 유지보수 : 업데이트, AS

 

 

 

 

임베디드 프로세서 분류 방식

1. 명령어(시스템 구조)에 의한 분류

2. 버스 크기에 의한 분류

3. CPU 연산 장치 개수 분류

4. 아키텍처 분류

5. 용도에 따라 분류

 

 

1. 명령어(시스템 구조로 분류)

- CISC Complex Instruction Set Computer : 명령어가 길고 복잡하고 실행 사이클도 다양한 컴퓨터. 적은 명령어 사용

   ex) Interl x86(78년 인텔 8086에 사용된 아키텍처와 후속작), AMD64(x86의 64bit 확장 명령어셋 amd가 99년 발표)

- RISC Reduced ISC : CISC의 단점 개선. 명령어가 짧고, 간단, 빠름. 그렇다고 성능이 좋은건 아니며 명령어 많이 필요.

   ex) ARM, AArch64(arm의 64비트 확장 명령어셋) , RISC-V(버클리서 만든 무료 오픈소스 RISC ISA)

 

2. 데이터 버스 크기에 따른 프로세서

- 버스 크기가 클수록 많이 처리해서 좋지만, 용도나 비용, 전원 소모 등에 따라 적은 비트의 프로세서도 여전히 많이씀

- 4비트 : Intel 4004 71년 인텔에서 출시한 4비트 CPU 최초의 마이크로 프로세서

- 8비트 : PC에 사용된 Intel 8080(74년 출시), 모토로라 6800 등이 있고, MCU 용으로 8051(인텔), AVR(아트멜), PIC (마이크로칩)이 가전, 센서 등에 지금도 많이 씀.

- 16비트 : 8비트 보다 고성능, intel 8086이 78년 최초 제작(이후 186, 286 등). 32비트에 밀려 잘안씀.

- 32비트 : 가장 오래 사용됨 intel 80386, 80486, MIPS, ARM 등에서도 많이 출시

- 64비트 :  32비트 마이크로 프로세서의 확장. IA-64(intel과 hp가 개발), x86-64(amd64), armv8-A(arm의 64비트 ISA, 예시로 퀄컴 스냅드래곤, 삼성 엑시노스 등)

4비트 마이크로 프로세서 : 인텔 4004 8비트 마이크로 컨트롤러 : 아트멜사의 Atmega128
16비트 마이크로 프로세서 : 인텔 8086 32비트 마이크로 프로세서 : 인텔 80386

 

 

3. 코어 수로 분류

- 처음에는 ALU(산술연산장치/정수) 하나 뿐이었으나 필요에 따라 FPU(부동 소수점 연산)가 추가 되거나 여러개로 구성

 * 부동 소수점 : 소수점이 둥둥 떠다닌다. 지수에 따라서 소수점이 이동되서인듯 싶다.

- 클록 속도를 높이는 대신 코어를 높여 성능 향상. 싱글 코어, 듀얼 코어, 쿼드코어, 헥사 코어 등

 

 

 

4.용도에 따라 분류

- CPU(MPU) : pc or 워크스테이션에 사용됨. 제어기(명령어 해석 및 실행), 레지스터, ALU 등 구성

- MCU : cpu보다 저성능이지만 마이크로 프로세서에 메모리, 주변 장치 제어기, 입출력 인터페이스 내장. 

- DSP(digital signal processor) : 디지털 신호 처리를 위해 행렬 연산에 최적화됨. ex) 오디오, 영상 처리

* 컴퓨터가 실수 저장하는 방식  고정 소수점, 부동 소수점 : 10비트로 고정소수점은 1024개 수 표현 가능. 부동 소수점 방식에서 그 중 2비트를 자리수로 쓴다면 2^8(0~254) x 10^3(0, 10, 100, 1000) -> 25만개 표현 가능. 고정 소수점보다 세밀

- GPU(graphics processing unit) : 그래픽, 음성 신호를 다루기 위해 병렬처리에 특화되어 캐시 메모리가 작은 대신 수 많은 ALU가 덜 정밀하더라도 동시에 처리해 고속화됨. 

- FPU(floating point unit) : cpu 내에 부동 소수점 연산에 최적화된 논리회로

 

 

 

 

 

+ Recent posts