본문 바로가기
컴퓨터 일반/용어

CPU, MCU, MPU, GPU, MICOM, DSP, SoC, ASIC, FPGA, APU 구분하기

by 호군 2011. 7. 19.
반응형

원문 : http://woonga98.blog.me/150037008120



CPU, MCU, MPU, GPU, MICOM, DSP, ASIC, FPGA 이것들을 각각 분류하고 뭐 하는 녀석인지를 말 하실 수 있으신 분들은 짝짝짝! 이 글을 읽으실 필요가 없을 것 같네요. 하산하세요 :)

  

1. 구분 원칙과 On chip, Off chip, SoC

 

 이전 글에서 보여드린 적이 있는 폰노이만 구조입니다. 컴퓨터의 기본인 입출력장치, 제어장치, 연산장치, 저장장치가 보이는군요. 이런 장치를 어떻게 구성하느냐가 앞의 용어들을 구분하는 원칙이 되겠습니다.

 

 그리고 On chip, Off chip 개념이 있어요. On chip은 하나의 IC에 제어, 연산, 입출력, 저장장치가 싹 다 들어 있는 Stand alone 형태를 의미합니다. SoC(System on Chip)과 같은 의미죠. 하나의 칩에 컴퓨터의 모든 요소가 다 들어 있습니다. 하지만, 보통 SoC를 말하면 On chip + 특수기능을 하나의 칩에 구현하는 것을 의미합니다 :)

 

 

 

2. CPU

 우리에게 가장 친숙한 CPU(Central Processing Unit)는 산술, 논리 연산 유닛인 ALU와 명령어를 읽어오고 해석해서 각 유닛을 제어하는 CU를 묶은 형태입니다. Intel Pentium같은 칩을 이야기할 때도 있고 단순히 ALU+CU 묶음을 CPU라고 할 때도 있습니다.

 

실행할 프로그램, 데이터, 입출력은 CPU에서 제어만 할 뿐이고 CPU 자체는 I/O(input, output)와 Memory를 가지고 있지 않습니다. 즉 CPU에 전원만 넣었을 때 아무것도 할 수 없습니다. (실행할 명령어를 자신이 가지고 있지 않으니까 당연!)

 

 

3. MPU, MCU

 다음은 MPU(Micro Processor Unit)MCU(Micro Controller Unit) 입니다. 컴퓨터와 같은 범용프로그램이 아닌 특정기능만 수행하면 되는 전자제품에 사용합니다. 둘 다 Micro로 시작하고 Unit으로 끝나네요 :) 그럼 중간 P와 C의 차이가 둘 간의 차이라는 말이겠죠?

 

 먼저 Micro는 기존 CPU가 고속의 대형 칩이었던 것과 대비해서 소형의 칩을 의미하는 것이고요. MPU는 CPU의 소형 판이라고 생각하시면 되겠네요. 역시 CU + ALU 형태이며 I/O와 메모리가 없습니다. 전자기기의 동작을 위해 사용하고 하나의 칩에 CU + ALU만 들어 있다는 것은 그 둘의 기능을 상대적으로 특화시켰다는 것이겠지요.

 

 MCU는 On chip으로 하나의 칩 안에 CU, ALU, Memory, I/O를 모두 가진 칩을 말합니다. 학생 때 많이 사용하는 ATmel사의 ATMEGA128이 이 분류에 속합니다. 추가적인 로직 회로 없이 모든 것을 칩 하나로 할 수 있기 때문에 PCB 부피를 줄일 수 있어서 많이 사용하지요. Controller라고 하는 이유는 MCU의 I/O를 사용하여 주변 장치들을 제어하기 때문에 붙은 말입니다. MICRO COMPUTER라고도 하고 이걸 줄여서 MICOM이라고 하지요. (일본식 용어라고 하는군요.)

 

 

4. GPU

 GPU(graphics processing unit) 이름 그대로 그래픽을 위한 CPU입니다. 컴퓨터는 0과 1만을 처리하는 디지털기기입니다. 그래서 숫자의 정수를 표현할 경우는 매우 빠른 속도를 보여주게 되지만 소수점을 가진 숫자들을 처리할 경우는 좀 무리가 따릅니다. (이건 다음에 이야기하도록 하지요. 언젠가!) 화면에 그림을 그려줄 때 수없이 많은 소수점 계산을 해야만 합니다. 옛 컴퓨터들은 그런 소수점 연산을 위해서 CoProcessor를 따로 두던 때도 있었죠. 하지만, 요즘의 현란한 그래픽들을 실시간으로 화면에 그려주려면 정수연산이 전문인 CPU로는 부족했습니다. 그래서 따로 그래픽 카드를 사용하기 시작했지요. 그래픽 카드에 들어가는 그래픽 전문 (정확히 말하면 소수점 계산전문) CPU가 GPU라고 생각하시면 되겠네요.

 

 

5. DSP

 DSP(digital signal processor)입니다. DSP의 주 용도는 아날로그 신호(음성과 같은)를 디지털로 고속 변환 후 계산을 촤촤촥 해치우고 그 결과를 이용하든지 다시 아날로그로 변환하여 사용하는 일을 하는 프로세서입니다. 그럼 어째서 ASP라고 하지 않고 DSP라고 하는가 하면 계산을 디지털  값으로 변환 후에 하기 때문입니다. 물론 ASP라고 하는 RF(무선주파수) 쪽에 사용하는 녀석도 있긴 합니다. 일반적인 CPU나 MPU, MCU 들은 명령어의 해석 및 처리도 하고 계산도 좀 하는 녀석들이라면 DSP와 GPU는 계산이 주목적인 녀석들 입지요. GPU는 소수점을, DSP는 디지털값 계산을 하는 것이 주종목입니다 :)

 

 

6. ASIC, FPGA

 이 두 녀석은 앞의 다른 녀석들과 좀 개념이 다른 아이들입니다. 모든 Processor는 결국 Digital 논리 회로입니다. 각 회사에서 용도에 맞추어 CU, ALU, Memory, I/O 등을 넣거나 빼고 강화하거나 해서 하나의 칩으로 만들어 파는 제품들을 의미하기도 합니다. 그러면 사용자들은 자신에게 필요하지도 않은 기능이 마구마구 들어간 MCU를 사용해야 할 수도 있습니다. 결국, 그 말은 쓸데없는 곳에 돈을 낭비하고 있다는 것이지요.

 

 그래서 나온 것이 ASIC(application specific integrated circuit)FPGA(field programmable gate array)입니다. FPGA는 사용자들이 마음대로 칩 상에 논리회로를 구성하여 자신이 원하는 기능을 만들어 낼 수 있습니다. 마치 C 프로그래밍하는 것처럼 하드웨어를 프로그래밍할 수 있지요. 모든 소프트웨어알고리즘은 하드웨어로 구현할 수 있는데요. 하드웨어에서 구현된 알고리즘이 실행속도가 빠르므로 암호알고리즘 같은 것을 FPGA로 구현해서 많이 사용합니다.

 

 ASIC는 FPGA와 조금 다르게 특정한 애플리케이션에 딱 맞춰서 만들어내는 칩입니다. 주문자 반도체라고 하지요. 딱 원하는 기능만 구현해서 만들어내기 때문에 상대적으로 가격이 쌉니다(대량생산할 경우). 하지만, 세상에 없었던 것을 만들어 내야 해서 개발기간이 상당히 긴 단점이 있습니다.

 

 

7.

 CPU, MCU, MPU, GPU, MICOM, DSP, SoC, ASIC, FPGA에 대해서 대충 뭐 하는 녀석이다. 정도로 정리해 보았습니다. 짧게 쓰려고 했는데 좀 길어졌네요. 혹시나 틀린 내용이나 궁금한 점이 있으면 주저하지 마시고 덧글 달아주세요 :)

 

 

-----

2010 11 16 추가

8. APU 관련기사

 APU는 accelerate processor unit  의 약어라고 합니다. AMD, Intel 양쪽에서 의욕적으로 다음 팔아먹을 꺼리를 만들어내고 있네요. 기존의 CPU에 GPU를 통합하는 형태입니다. 그래서 아예 그래픽 카드의 역할까지 다 하겠다는 의미 인데요.

 

 모든 연산장치는 물리적인 크기가 필요합니다. 얼마나 많은 종류의 명령어를 처리할 수 있게하느냐와 얼마나 많은 파이프라인을 가지고 있느냐, 캐쉬 크기는 얼마나 할것인가 같은 요구조건에 따라 필요한 회로의 숫자가 결정됩니다. 대부분 하드웨어 회로는 몇개의 트랜지스터(논리적으로는 스위치)로 구현할 수 있는데요. 그런 트렌지스터를 동일한 크기에 몇 개나 때려박아넣을 수 있느냐가 IC 소자의 크기를 결정하지요.

 

 즉 한 칩에서 많은일을 하게 하려면 당연하게 크기가 커질 수 밖에 없습니다. (참 빙~ 둘러서 설명했네요) 15년 전 쯤부터 사람들의 요구조건 특히 그래픽 쪽의 요구조건을 만족하는 기능을 만들어내려면 (GPU설명에서 엄청나게 많은 소수점 연산을 해야한다고 했습니다.) 자연히 프로세서가 커져야 했어요. 그런데 IC칩은 한도 끝도 없이 운동장만하게 키울 수가 없습니다. 키울 기술이 없는 것이 아니라 불량률 때문이지요. 100개의 회로가 들어가는 칩에 1개의 에러도 없게 만드는 것보다 10,000개의 회로가 들어간 칩에 1개의 에러도 없게 만드는게 더 어려우니까요. 그래서 어느정도 선에서 CPU에서 그래픽에 필요한 소수점 계산을 전문으로 하는 GPU가 떨어져 나온 것이었습니다.

 

 자 그럼 알다싶이 기술이 발전하면서 점점 작은 영역에 더 많은 회로를 꾸밀 수 있게되었어요. A4용지 안에 100자를 쓸 수 있던 시대에서 10,000자를 쓸 수 있게된거죠. 그러면 당연히 따로 떨어져 나갔던 녀석들을 불러들일 수 있게되는 겁니다. 그래서 아마 앞으로도 APU같은 하나의 칩이 더 많은 일을 할 수 있게 기술이 나아가리라 생각합니다. (그게 다른 회사의 영역을 잡아먹으면서 자신이 크는 길이니까요)

 

 

덧.

그럼 다음은 CPU가 뭘 흡수하게 될까?

 몇 년 전부터 컴퓨터 CPU의 캐쉬가 커지고 있지요..... 긴장하시오 쌤쑹...

반응형