brunch

You can make anything
by writing

C.S.Lewis

by 이경종 Mar 06. 2020

Ch2-2. 컴퓨팅 아키텍처

프로세서

임베디드 디바이스의 개발에서 가장 핵심이 되는 것은 메인 칩셋(main chipset)의 선정이다.

미리 얘기해두지만 칩셋은 CPU가 아니지만, 임베디드 디바이스 관점에서는 CPU로 봐도 무방하다. 메인 칩셋은 단일 IC패키지로 구성된 소형 컴퓨팅 시스템이다. 그래서 SoC(System on Chip)이라고 부른다. 

아래 그림의 PCB기판의 가운데 떡하고 자리잡고 있는(붉은 색 원) 것이 해당 디바이스의 SoC다.

이미 여러번 이야기했지만, 하나의 임베디드 디바이스에는 여러 가지의 IC가 들어간다. 그중에서 메인 컨트롤 타워 역할을 하는 대장 IC를 메인 칩셋이라고 부른다. 그리고 이 메인 칩셋안에서 또 메인 컨트롤 타워 역할을 하는 것이 진짜 CPU(Central Processing Unit) 이다. 그냥 메인 칩셋을 메인 프로세서(Main Processor)라고 부르기도 하고, 그 안의 CPU를 프로세서라고 부르기도 한다. 중요한 것은 메인 칩셋은 주변장치들을 제어할 수 있는 중앙처리장치의 역할을 한다는 것이다.


정리하자면, CPU나 프로세서라고 부를때는 중앙처리를 하는 컨트롤 타워의 개념이고

SoC라고 부를때는 집적된 소형컴퓨터의 개념으로 보면 된다.

테스크탑 PC에서는 통상 메인칩셋을 프로세서의 개념으로 보면 되고, 임베디드 디바이스에서는 SoC의 개념이 더 강하다. 임베디드 디바이스의 프로세서들은 CPU뿐만 아니라 내부에 메모리, 주변장치, 네트워크 장치들을 포함하고 있기 때문이다.


각각의 임베디드 디바이스에 맞는 메인칩셋들이 존재하다. 가령 의료기기에 적용되는 메인 칩셋은 의료기기의 특화된 기능을 수행할 수 있도록 구성되어 있다. 스마트폰의 메인 칩셋은 스마트폰의 기능에 최적화되어 있다.

아래 그림은 구형 갤럭시스마트폰에 적용된 바 있는 Exynos 4212라는 메인 칩셋의 블록 다이어 그램이다.

중앙에 ARM Core(Coretex-A9)가 바로  CPU다. 또한 칩셋 내부에는 그림에서 볼 수 있듯이 다양한 서브 모듈(sub modules)이 존재하다. ARM Core가 이 서브모듈들을 컨트롤해서 스마트폰의 기능을 사용자가 사용할 수 있도록 하는 것이다. 프로세서를 여러 종류로 구분짓기도 한다. 위 프로세서와 같이 특정 임베디드 기기의 기능에 특화된 형태의 프로세서를 ASP(Application Specific Processor)라고 부른다. 

참고로 DSP는 Digital Signal Processor로서 대규모의 디지털신호를 처리하는 전용 프로세서이다. 메인 칩셋과 함께 임베디드 디바이스에서 많이 사용되는 프로세서 타입이다.


임베디드 디바이스에서 가장 많이 쓰이는 CPU 계열은 단연 ARM이다.(ARM은 회사 이름)


프로세서(CPU)의 개념도를 간략히 보면 아래 그림과 같다. 프로세서는 처리장치(Control Unit)과 데이터통로(Data Path)의 두 가지로 이루어져 있다. 내부적으로 어떻게 동작하는지는 굳이 알 필요 없다.

임베디드 소프트웨어 개발자에게 메인 칩셋(SoC)는 매우 중요하다.

왜냐? 메인 칩셋을 제공하는 회사에서 통상 SDK(Software Development Kit), 다시 말해 소프트웨어 역시 제공해주기 때문이다. 메인 칩셋에 적용되어 있는 CPU 역시 마찬가지로 중요하다. CPU에 따라 툴체인(toolchain, 나중에 살펴볼 것이다), 컴파일러 등이 달라지기 때문이다. 이에 대해서는 교차 개발 환경(cross development environment)를 다룰때 더 자세히 알아볼 것이다.



       YES24 링크 교보문고 링크









작가의 이전글 Ch2-1. 컴퓨터 시스템 개론
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari