Thief of Wealth
article thumbnail

1. 임베디드 시스템이란?

- 마이크로 프로세서 또는 마이크로 컨트롤러를 내장하여 개발자가 지정한 기능만을 수행하는 장치

- 더 큰 시스템의 일부이거나, 독립된 시스템으로서 특정업무를 수행하기 위한 Hw와 SW를 포함하는 응용 시스템


즉, 컴퓨터의 HW와 SW가 조합되어 특정한 목적을 수행하는 시스템.


(참고) 1개의 chip에 시스템들이 들어가 있는 것을 System on chip이라고 한다.


2. 임베디드 시스템의 응용분야

1) 제어응용 (공정제어)

2) 단말응용 (헨드폰)

3) 가정용 정보기기 (프린터, 게임기)

4) 통신장비 응용 (라우터, 교환기)


- 실제사례

(1) 공장자동화 (FA : Factory Automation)

smart factory에도 쓰이며,

센서와 제어시스템 로봇등을 사용하여 무인시스템을 구축.


(2) 단말기기 

: 단순한 통화기능의 전화기에서 각종 복합적인 기능이 수행될 수 있는 디지털 정보단말기기로 발전.


(3) 정보가전

: 일반 가전 제품에도 다양한 기능이 필요해짐에 따라, 임베디드 시스템을 적용하게됨.


(4) 가정 자동화 (HA : Home automation)

: 설명안하고 단어만봐도 뭔지 알것같은 느낌 


- 응용분야별 비교



3. 실시간 시스템 real-time system


- 특정반응에 대해 정해진 시간내에 행동해야하는 시스템. (정해진 시간내에 완수하지 못하면 문제가 발생함.)

- Timeliness : 어떤 열악한 상황에서도 deadline을 지켜서 논리적으로도 정확하게 출력값을 산출해내는 특성.

(Deadline : 반응에 요구되는 시간의 한계값) 


즉, Deadline 까지 무조건 임무를 정확하게 완수해야하는 시스템을 뜻한다.


4. 임베디드 시스템과 실시간 시스템의 차이


많은 임베디드 시스템이 실시간 시스템이고 많은 실시간 시스템이 임베디드 시스템이다 

but 모든 임베디드 시스템이 실시간 시스템은 아니고, 모든 실시간 시스템이 임베디드 시스템은 아니다.


즉, 서로는 각자의 일부이지 전체가 아닌 관계이다.



5. 임베디드 시스템의 역사


1) 1900초

- BINAC 같은 구식 컴퓨터 사용. (BINARY automatic computer)

- 장거리 미사일의 목표지점 이동을 위한 목적으로, 군사용 목적으로 쓰임.

- 오류가 많아서 신뢰성이 떨어졌음


2) 1950 ~

- WHIRLWIND (1950년) 같은 컴퓨터 사용, 

최초의 실시간 컴퓨터 개발, 16bit 사용


- PDP-8 (1960s). PDP-11(1970s)

PDP-8 같은 최초의 상업용 미니 컴퓨터가 탄생


3) 1970 ~


- Intel 4004 (1971s)

최초의 1개의 마이크로 프로세서 탄생


- HP-35 (1972s)

여러개 칩을 마이크로 프로세서를 보충하기 위해서 사용한 것.


- 이후~

마이크로 프로세서 기반 엔진 컨트롤러가 널리 사용되기 시작함 (효율 높아져서)




6. 마이크로 컨트롤러 vs 마이크로 프로세서


- 마이크로 컨트롤러: 모든 시스템이 1개의 칩에 들어가 있다. (System on chip) / 8bit / 저성능

- 마이크로 프로세서: 프로세서가 1개의 칩에 들어가있다. / 16 or 32bit / 고성능



7. 임베디드 시스템 관련 기술들


1) 마이크로 프로세서

=> 컴퓨터는 아닌데, 컴퓨팅 시스템이기 때문에 CPU가 필요하다. 그것이 바로 마이크로 프로세서.


2) 하드웨어 시스템

=> 버스들, 캐시, 가상메모리, 폴링, 인터럽트... 등


3) 내장형 및 실시간 운영체제

4) Man-Machine Interface

5) 고장허용

7) 개발환경의 중요성

8) 임베디드 네트워킹......등



(참고1) I/O operation의 동작완료를 체크하는 2가지 방법


1) 폴링 : CPU가 끝났는지 체크, 안끝났으면 다시 물어봄. / 비효율적이나 Hw구성이 간단함.


2) 인터럽트: CPU외부의 Hw장치에서 operation이 끝나면, 그 장치가 이벤트 발생시켜서 CPU에게 알려서 동작이 끝남을 알림.


(참고2) Interrupt / Exception /Trap

Interrupt 는 위에서 설명한 바와 같다.

Exception 은 CPU내부에서 예외가 발생하는 것을 뜻한다. (Zere Divide Exception같은것이 있다.)

Trap 은 SW인터럽트라고 생각하면 된다. 원래 인터럽트는 Hw에서 발생하나, Trap은 Sw에 의해서 발생되는 인터럽트이다. (특정명령어를 사용하여 발생시킴.)



8. 마이크로 프로세서의 특징.


컴퓨터말고 다른곳에 사용되는 "CPU"라고 생각하자.


- 동일한 logic을 활용하여 다양한 기능 구현가능

- 비슷한 제품들끼리의 설계를 단순화 가능.

- 처리속도를 빠르게 할 수 있다.

- 복잡한 기능도 처리할 수 있다.

- 이상적으로는 끊임없이 실행될것이다.


- 기능을 구현하는데에 많은 logic이 필요하다





9. 임베디드 시스템 and 임베디드 소프트웨어


- 임베디드 시스템 : 위에서 설명했듯이 "컴퓨터의 HW와 SW가 조합되어 특정한 목적을 수행하는 시스템."

- 임베디드 소프트웨어 : 임베디드 시스템에 답재되는 시스템 소프트웨어, 어플리케이션 등을 총칭하는 말. (임베디드 시스템의 SW)




10. 임베디드 소프트웨어 종류.


1) 운영체제: hw자원을 관리하기위한 기본 기능을 제공해주는 소프웨어

2) 미들웨어: 서로다른기종에서 어플리케이션의 실행에 필요한 기능을 구현한 소프트웨어

3) 응용 소프트웨어 : user가 사용하는 SW (어플)

4) 시스템 소프트웨어 : DBMS나 드라이버

5) 소프트웨어 개발 프레임워크 : 컴파일러, 디버거 등





'개발 > 마이크로컴퓨팅' 카테고리의 다른 글

6. ARM 명령어  (0) 2019.04.18
5. ARM 디버깅  (0) 2019.04.18
4. ARM 프로세서에 대해 2  (0) 2019.04.18
3. ARM 프로세서에 대해  (0) 2019.04.17
2. ARM은 뭘까  (0) 2019.04.17
profile on loading

Loading...