씨피유

From Hidden Wiki
(Redirected from 중앙처리장치)
Jump to navigation Jump to search
필독 사항 유닠스 계열 저작물, 성인물, 도박 웹 써버 보안 프로그래밍 그래핔 파싱
필독 사항 고스트BSD 표면 웹 싸이트 제작 리눅스 마스터 파이썬 트킨터 뷰티펄 숲
수학 아이투피 마약, 아청물, 해킹 웹 싸이트 보안 웹 프로그래밍 데이터 분석 게임 제작
통계학 뮤와이어 다크넽 싸이트 제작 정보 보안 기사 쟁고우 팬더즈 파이게임

개요

컴퓨터에서 구성 단위 중 기억, 연산, 제어의 3대 기능을 종합하는 장치인 central processing unit (중앙 처리 장치, 중앙처리장치)의 줄임말. 컴퓨터의 대뇌라고 할 정도로 가장 중요한 부분으로, 프로그램명령어를 해석하여 데이터연산/처리를 하는 부분, 혹은 그 기능을 내장한 (chip, )을 말한다. 컴퓨터가 동작하는 데 필요한 모든 계산을 처리한다. 컴퓨터를 에 비유하자면 단기 기억 담당은 RAM, 장기 기억하드 디스크 드라이브, CPU사고를 담당하는 대뇌 피질 정도로 볼 수 있겠다. 대뇌피질 없이 인간의 사고가 성립하지 않듯이 컴퓨터도 CPU 없이는 그냥 전기 먹는 하마일 뿐이다. --켜지지도 않을텐데?--[* 라고 생각하기 쉬우나 CPU를 빼고 켜도 전기는 들어온다. 다만, 화면 자체가 안뜨고, 바이오스도 안뜨며 --당연히-- 운영 체제가 뜨지 않는다는 점에서 일반적인 부팅과는 매우 다르다. 그러나 몇몇 최신 메인보드들은 CPU없이 BIOS의 Post 까지는 가능하기도 하는 등 매뉴얼을 참고해야 한다.] 시스템 창에서 컴퓨터에 관한 기본정보를 볼때 프로세서라고 적혀있는 곳 옆에 있다. 제품명이 써져있으며 오른쪽에는 GHz단위의 숫자가 적혀있는데 이것은 한번의 정보 처리량을 의미하며 당연히 숫자가 높으면 높을수록 좋다.[* 같은 정보를 처리하려하는데 정보처리량이 많은 걸로한다면 당연히 시간이 더 적게 걸린다. 클럭이 낮다고 가정하면 작업을 한번 더해야 하기 때문에 시간도 오래걸리고 이 차이 때문에 버벅거리는 현상이 발생한다.] 사실상 컴퓨터의 속도와 성능을 좌우하는 중 하나로 컴퓨터가 좋아 보이는데도 이상하게 가격이 싸면 꼭 확인해봐야하는 사항이다.[* 컴퓨터를 처음 구매할때부터 매우 주의해서 구매해야한다. RAM이나 SSD같은 컴퓨터의 속도를 올려주는 다른 요소들은 차후에도 충분히 업그레이드가 가능하지만 CPU는 메인보드에따라서 불가능한 경우가 매우많다. 물론 교체가 가능한 모델도있지만. 특히 노트북은 아예 교체가 불가능하게 메인보드에 박혀서 나오니 기대는 안하는게 좋고 교체가능한건 조립형 데스크탑 정도다. 공식대리점에서 판매하는 데스크탑 역시 박혀서 나와서 교체가 불가능한 경우가 있다. 따라서 CPU는 구매후 사실상 그대로 컴퓨터 메인보드가 맛이가버릴때까지 쓴다고 생각하면 된다.] 다만 과거에는 클럭 그 자체가 매우 중요했으나, 현 시점에서는 클럭만이 CPU 성능을 좌우하는 것은 아니며 예를 들어 제품 세대 및 아키텍쳐에 따른 IPC(클럭당 성능)[* 정확히는 1 사이클 당 명령어 처리 횟수지만 결국 비슷한 의미이다.]도 중요한데 과거 펜티엄D 3.4Ghz가 1세대 코어2듀오 1.8Ghz에 성능이 밀린 것만 봐도 알 수 있다. 또한 클럭만 높이거나 IPC만 높이는 것도 한계가 있어서 현재는 멀티 코어의 방향으로 선회한 지 오래되었기 때문에 실질적으로 코어 수도 중요하며, 코어 수에 따라 상위 하위 제품이 갈리는 경우가 많다

즉, 클럭 속도, IPC, 코어 수에 따라 CPU 성능이 결정된다. 부차적으로 SMT[* 쉽게 말하면 일종의 이용한 코어 뻥튀기로 가상의 논리 코어를 추가해 성능을 향상시킬 수 있는 기술이다. 예를 들자면 8코어/16스레드와 같은 느낌. 단 다른 조건이 같다고 가정했을 때 4코어/8스레드라고 해서 8코어/8스레드와 동등할 정도로 성능이 좋은 것은 당연히 아니고 4코어/4스레드보다는 약간 더 성능 향상을 기대할 수 있는 수준.]와 같은 다양한 기술 및 미세공정에 따른 저발열, 전력소모 등도 고려할 수 있다.

CPU 중에서도 각종 전자 부품과 반도체 칩을 하나의 작은 칩에 내장한 형태를 마이크로프로세서라고 한다. 마이크로프로세서는 '전기 밥통'이나 '냉장고'에 쓰이는 낮은 성능의 제품부터 슈퍼컴퓨터에 쓰이는 높은 성능의 제품까지 매우 다양하다. 마이크로프로세서들 가운데 가장 복잡하고 성능이 높은 제품은 컴퓨터의 연산 장치로 쓰인다.

조립컴퓨터 견적에서 돈을 많이 먹는 부품 중 하나. 각 부품의 업그레이드가 특정 성능을 올려준다면 CPU는 일단 컴퓨터 전체적인 성능의 베이스, 알파이자 오메가 격이다. 물론 게임할때는 CPU가 안 좋아도 그래픽카드가 좋으면 CPU가 좋고 그래픽카드가 안 좋은 것보다는 좋은 퍼포먼스를 낸다고 알려져 있지만, CPU가 연산을 지시하기 때문에 그래픽 카드가 아무리 좋더라도 CPU가 좋지 않다면 CPU 속도에 맞춰지기 때문에 제 성능을 발휘하지 못한다.[* 이를 병목현상이라 하며 심하게 일어날 경우 CPU의 속도마저도 못 내는 경우가 있고. 특히 오픈월드 게임과 문명 시리즈같은 전략 시뮬레이션에서는 GPU보다 CPU 성능이 더 중요시 된다.] 즉, 못해도 둘 다 동급으로 맞춰 줘야 한다는 이야기.[* 사족이지만 그래픽카드의 업그레이드 주기가 아무래도 CPU보다는 짧다보니 같은 CPU, 마더보드, 램을 유지한 상태에서 그래픽카드만 바꿨는데도 게임에서 더 높은 그래픽 설정을 원활하게 돌릴 수 있게 되는 상황은 제법 흔한 편이다. 3D 그래픽 관련 연산량이 많은 현대 게임들의 특성상 CPU 성능이 발목을 잡으려면 그래픽카드가 TITAN X인데 CPU가 펜티엄 D라든지, 반대로 CPU는 i7인데 그래픽카드가 내장이거나 G210 같은 거라든지... ~~[[1]] [다 거나.]~~] 다만 요즘 나오는 대다수의 CPU는 충분히 좋기 때문에 이 말이 통하는 게 어쩌면 당연할 수밖에 없다.[* 노트북의 경우, 게임용으로 나온 제품들은 인텔 HQ 계열 CPU를 탑재하여 모바일 프로세서임에도 불구하고 비교적 높은 퍼포먼스를 보여준다.] 그러므로 괜히 CPU 비싼 거 끌려서 사지 말고 자신의 용도에 맞게 적당한 제품을 구매하도록 하자. 단, 장기적으로 사용할 경우 조금 오버해서라도 상위제품을 구매하는 게 좋을 수 있다.

성능에 완전 목을 매는 오버클럭커가 아닌 이상, 구매하려는 그래픽카드에 적정한 수준의 CPU와 램을 구비하면 게임 돌리는데는 문제가 없다. 문제는 성능 스펙, 수치 자체에 집착하는 경우 초고하이스펙으로 맞춰봐야 몇 년 지나면 또 그걸 뛰어넘는 신제품이 나오며, 돈지랄이 될 가능성이 매우 높다(...) 결국 눈물을 머금고 부품 사고팔고 하다가 회의를 느껴 정리하는 컴덕들이 적지않다. 다른 취미와는 다르게, 컴퓨터 부품은 감가상각이 확실하다보니 신품과 중고의 갭이 크기도 하고.

게이밍컴퓨터는 세대가 높고 클럭이 높은 것을 구매해야한다. 고성능 게이밍을 즐기려면 적어도 3.2에서 3.4GHz이상의 CPU가 필요하다. RAM과 SSD는 컴퓨터의 성능에 어느 부분에서는 관여하지만, 대중적인 사용자들이 FPS등의 지표로 이야기하는 '게이밍 성능'에는 큰 연관이 없는 편이다. [* 물론 둘 다 성능에 관여하기는 한다. 애초에 2010년대 후반에 출시된 대부분의 고사양 3D게임들은 4GB 이하의 RAM에서는 기대수치의 40%~60%의 FPS하락이 있고, 어떤 게임은 실행 자체가 안되기도 한다! 심지어 정보처리속도가 매우 느린 HDD의 경우는 SSD에 대비해 게임을 불러오는 시간이 적으면 2배에서 심하면 5배 이상 차이나기도 한다. AAA타이틀들의 경우 용량이 50기가는 어렵지 않게 넘으니 이 정도의 대용량 파일을 불러오려면 어느정도 수준 이상의 읽기/쓰기성능과 낮은 레이턴시는 당연히 갖추어야 한다. 상술한 두 가지 모두 체감성능에 큰 영향을 주는 부분들이다.] 권장사양 이상의 램과 SSD는 각각 다양한 작업을 동시에 수행할 수 있도록 하고 저장된 파일을 원할하게 불러올 수 있도록 하지만, CPU의 성능이 따라주지 않으면 절대적인 처리속도는 그대로일 수 밖에 없다. 실제로 실행해보면, 램과 SSD를 교체해도 CPU가 성능을 붙잡으면 게임의 FPS등은 크게 달라지지않는다. 일정 수준 이상의 RAM [* 2018년 기준 게이밍 PC의 경우는 8GB 램 이상이면 충분하고, 8GB와 16GB가 대부분의 게임에서 유의미한 차이를 보이지는 않는다.] 과 SSD [* 저장매체의 경우에는 게임의 성능 자체에는 영향을 주지 않지만 초기실행속도나 로딩속도를 개선해준다. 업그레이드를 할 경우의 성능증가폭은 해당 항목에서는 확실하다. 흔히 쓰는 저예산 PC용 삼성 850evo와 프로슈머용 960pro는 읽기/쓰기 속도만 6배가량 차이가 나고, 요새 하이엔드용에 종종 들어가는 옵테인 900p는 미칠듯이 낮은 레이턴시로 960pro와도 엄청난 차이가 난다. 그러나 이는 로딩속도 차이임을 잊지 말자. 위 언급한 부품들의 경우 30만원에서 60만원 이상의 추가 비용이 들게 되는데, 일반적인 사용자 입장에서는 그 비용으로 최상위 소비자 라인업 CPU를 사거나 상위급 그래픽 카드를 하나 맞추는게 훨씬 확실한 업그레이드다. 게이밍 시스템에 최소 300만원에서 천만원가량을 투자하는 경우가 아니라면 게임 성능을 위해 저장매체에 큰 돈을 투자하는 것은 수지에 전혀 맞지 않는다. ] 만 갖추어도 일반적인 사용례에서는 충분하다.

그냥 컴퓨터(ComPUter)의 약자로 쓰는 경우가 있다. 아주 흔히 쓰는 말은 아니지만 PC와 조금 다르게 쓰거나 그걸 포함한 포괄적인 의미를 표현해야 할 경우에만 쓰기 때문에 생각보다는 다양한 곳에서 보거나 들을 수 있다. 다소 관용적인 용어로, 쓰이는 문맥 상으로 보통 뚜렷하게 구별이 되기 때문에 혼동의 여지는 거의 없다.

~~어떤 CPU는 0으로 나누면 터진다 카더라!!~~[* 이걸 실제로 보고 싶다면 구형 마이크로 컨트롤러등을 이용해서 직접 시도해보면된다. 마이크로 컨트롤러상 하드웨어적으로 이런 오류를 막아줄 기능을 설계하기 힘든 저가형 라인업에서는 여전히 터질수 있다. ]

구조와 원리

CPU/구조와 원리 문서 참조. CPU의 아키텍처를 서술한다.

종류

1970년대 초 단일 칩이라는 형태로 CPU가 발명된 이후 CPU의 기술은 아래와 같은 궤적을 따라 여러 방면으로 방산-발전하여 오늘날 다종다양한 산업 생태계를 구성하게 되었으며 PC용 프로세서의 경우 2012년 기준 한해 2억unit, MCU(Micro Controller Unit)의 경우 190억unit을 생산하는 규모까지 성장하였다.

* 연산 능력의 향상:PC/워크스테이션/서버용 프로세서의 발전 방향
 * 향상된 클럭.
 * 향상된 클럭당 명령어 실행 숫자(IPC - Instructions Per Clock).
 * 병렬실행(멀티코어, SIMD - Single Instruction, Multiple Data)
* 연산 기능의 특화:GPU(Graphics Processing Unit)및 DSP(Digital Signal Processor)의 발전 방향.
 * 고도의 병렬화(GPU)
 * 특화된 연산기능(DSP)
* 입출력 기능의 다양화와 원가절감:MCU의 발전 방향.
 * 다종다양한 I/O (Input/Output) 기능의 통합.
 * SoC (System on a Chip).

다음은 각 분류 방식에 따른 CPU의 종류이다.

데이터 크기에 따른 분류

여기서 말하는 비트 크기는 해당 아키텍처를 사용하는 컴퓨터에서의 워드 크기를 의미한다. 워드 크기란 CPU에서 1사이클에 처리할 수 있는, 다시 말해 한 번에 처리할 수 있는 비트의 수를 말한다. 또는 접근할 수 있는 메모리의 범위를 의미하기도 했으나 32비트 아키텍처에 들어오면서 메모리 범위가 워드폭과 다르게 되면서 폐기되었다.

32비트 초반까지는 해당 비트수가 워드 폭(보통 C언어의 int)과 메모리 어드레스 범위(C언어의 포인터변수), 그리고 명령어의 길이(어셈블리언어에서 명령 한 줄)를 모두 지칭하였다. 32비트 아키텍처 후반부로 가면서 워드 폭만을 의미하는 것으로 축소되었으나 32비트 메모리 주소 범위가 고갈되면서 메모리 관련 의미가 다시 수면 위로 떠올랐다.

명령어의 길이가 아키텍처가 올라가면서 두 배씩 늘어나기 때문에 실행 바이너리의 크기가 세대가 올라갈수록 점점 커지며 CPU가 소비하는 전력 사용량도 덩달아 올라간다. 다만 전력 사용량은 이외에도 변수가 많아서 절대적인 기준은 될 수 없다. 실행 바이너리 크기와 전력 사용량에 민감한 모바일 업계에서 16비트 Thumb명령셋을 지원하는 ARM계열 CPU를 선호하는 이유.

* 4비트
최초의 상용 단일칩 CPU, 즉 '마이크로프로세서'로 인정받는 인텔의 4004와 그 후속작 4040이 4비트 CPU이다.[* 참고로 '상용'이라는 수식어를 붙이는 이유는 미군이 F-14를 위해 개발한 [[2]]의 개발이 4004보다 1년가량 앞서기 때문이다. 이게 1998년까지 기밀로 묶여있었던 바람에 일반에 알려지지 않아 i4004가 '최초'의 CPU로 많이 알려져있지만 엄밀히 따지면 최초의 CPU는 MP944, 최초의 상업용 CPU가 4004다. 에니악콜로서스의 관계랑 비슷하다.] 현재도 아주 적은 양의 연산만을 필요로 하는 곳에 가끔 4비트 CPU가 들어가는 경우가 있다. 4004 이전에도 물론 '컴퓨터'는 존재했으니만큼 개념적인 의미에서의 '중앙처리장치'는 있어왔지만 연산, 제어, 기억 등의 주요 기능을 담당하는 회로가 단일칩에 들어가지 않고 별개로 나뉘어 있었다. 
* 8비트
PC시대의 서막을 연 세대. 최초의 개인용 컴퓨터인 MITS 알테어 8800에 채용된 인텔 8080과 그 호환칩이자 8비트 시대를 주름잡은 자일로그 Z80[* 8비트 CPU 하면 그냥 자동으로 연상되는 수준으로 유명한 CPU다. MSX, PC-8801, MZ-80, X1, SPC-1000, 세가 마크 3 등등 Z80을 사용한 8비트 기기는 셀 수 없을 수준으로 많다.], 모토로라 6800[* 일명 MC6800. 당대에도 8080의 라이벌로 인식되었다. 후지츠의 FM-7이 6800의 후계 모델인 6809를 사용.], MOS 테크놀로지 6502[* 애플 II에 사용된 CPU로 설명 끝이다. 패밀리 컴퓨터, 코모도어 64에 채용된 CPU도 이것의 파생형. Z80에 비해 상대적으로 저성능이지만 가격이 저렴하고 프로그래밍이 심플한 것으로 유명.] 등이 유명하며, 마이크로컨트롤러용으로 많이 사용되는 8051, AVR, PIC 등도 여기에 포함된다. 대단히 의외지만 아직도 CPU시장에서 숫적으로는 주력의 자리를 차지한다. 2012년 기준 출하량 60억 개로 PC용 프로세서의 예상출하량 2억 개의 30배에 달하는 수량이다. 장난감이나 가전제품(그것도 최하급), 시계 등에나 각종 센서장비의 보조 프로세서 등 컴퓨터라는 느낌이 전혀 들지 않는 제품에 주로 들어간다. 매우 저전력으로 동작해서 건전지 한 개 분량의 전력으로 몇 년을 구동도 가능하고 몇 백 원 이하의 가격대도 있을 정도로 저렴한 게 장점. 프로세서의 속도도 작은 LED전광판 구동할 정도는 된다. --한때는 이걸로 게임도 하고 업무처리도 하고 할 거 다했다! 심지어 나사가 우주인을 달에 보낼 때 사용했던 슈퍼컴퓨터의 프로세서는 이것만도 못했다.-- 연산 성능이 별로 필요하지 않고 저가격/저전력(=적은 유지비)을 요구하는 분야에서는 여전히 현역.
* 16비트
오늘날의 PC산업을 있게 한 IBM PC에 들어가는 인텔 8088매킨토시의 CPU이자 오락실 기판을 제패한 68000[* 일명 MC68000. 매킨토시, 리사, 아미가, 아타리 ST, X68000, CPS1, CPS2, 네오지오, 메가드라이브 등등. 사용된 범위만 갖고 보면 8086/8088보다 훨씬 넓다. 지금은 이 바닥이 그냥 다 x86판이지만 한때는 x86과 더불어 680x0 패밀리가 CPU 업계의 양대산맥이었다. 흔히 16비트 CPU로 인식되지만 어드레스 버스는 24비트였고 32비트 레지스터를 갖추면서 내부적으로는 32비트 구조를 일부 갖추고 있어서 32비트 CPU로 여겨지기도 하며 애플은 리사와 매킨토시를 가지고 아예 대놓고 32비트 마케팅을 하기도 했다.]이 대표적이다. 80286, 80196, C166 등이 있다. 현재는 32비트 아키텍처에 밀려 잘 쓰지 않는다. 32비트도 전력 소비량을 많이 개선했고 가격도 충분히 저렴해졌으며 무엇보다 프로그램 호환성 측면에서 16비트보다 압도적으로 편리하기 때문. 성능이 필요하면 32비트, 성능이 별로 필요없고 무조건 싸야되면 8비트를 사용하면 되기 때문에 입지가 좁다.
* 32비트
속칭 386으로 불리우는 80386과 그 후속모델인 80486, 펜티엄...(이하 생략) 등이 대표적이다. 32비트 CPU가 시장을 지배한 시간은 상당히 길어서 인텔의 IA-32 아키텍처만 보아도 80386(1986년)부터 펜티엄 4 프레스캇--프레스 Hot--(2004년)[* 프레스캇의 '일부 모델'에 인텔의 x86-64 명령셋인 EM64T가 들어가기 시작했다. x86-64 자체는 이보다 1년 앞서 AMD 옵테론에 적용되기는 했다.]까지 거의 20년 가까운 기간이며, 80386 이전에 등장한 타사의 32비트 아키텍쳐들과 그 이후에 나온 타사의 32비트 아키텍쳐들 까지 다 포함하면 30년을 훌쩍 넘긴다. 덕분에 PC시장 발전기의 레전드급 아키텍처의 이름들이 대거 포진한다. 모토로라 68020/68030, MIPS[* 워크스테이션에서나 사용되어서 개인용 시장에서는 볼 일이 없는 RISC CPU였지만 플레이스테이션, 닌텐도64 등에 들어가면서 일반에도 유명해졌다.], ARM, PA-RISC, PowerPC 등. 또한 마이크로컨트롤러로 8비트계에서 성공을 거둔 PIC이나 AVR등이 PIC32, AVR32등으로 확장된 경우도 있다. 좀 무리해서 갖다붙이자면 80386계열도 8051의 확장이라고도 볼 수 있는데 이는 8051이 8080의 분가에 해당하는 위치이기 때문. --하지만 8086이 8080하고 호환성이 없는 것이 함정-- 흔히 최초의 32비트 CPU 하면 80386을 떠올리지만 사실 최초의 32비트 CPU는 1979년에 나온 내셔널 세미컨덕터의 NS32016으로 외부 버스는 16비트 어드레스 버스는 24비트지만 CPU 내부적으로는 32비트를 도입하였으나 8086과 MC68000에 밀려서 그리 흥하지는 못했다. 흔히 16비트 CPU로 여겨지는 모토로라 MC68000도 실은 NS32016 처럼 내부적으로는 32비트 구조를 일부 갖추고 있었다. [* 그 덕택에 MC68000 CPU를 사용한 매킨토시 기종(128k, 512k는 제외)이나 리사2가 느리기는 하지만 32비트 OS인 매킨토시 시스템 7.5.5 까지 쓸 수 있었고, 32비트 소프트웨어를 사용할 수 있었다.]
* 64비트
아이태니엄(IA-64), x86-64, ppc64, Alpha, MIPS64, ARMv8[* 아이폰5s에 탑재된 A7칩이 바로 이 ARMv8 의 명령어 셋을 기반으로 한 아키텍쳐를 사용하는데, 스마트폰AP 으로서는 최초로 64비트를 지원하게 되었다. 이를 기점으로 iOS와 거의 모든 iOS용 애플리케이션이 64비트 지원으로 전환되었고, 이듬해 안드로이드 롤리팝 역시 64비트를 지원함으로서 본격적으로 64비트 모바일 AP 시대를 열었다. ], Power등이 대표적인 64비트 아키텍처. 인텔의 아이태니엄처럼 처음부터 64비트로 설계되는 경우도 있지만 보통은 x86-64ppc64처럼 32비트 아키텍처를 64비트로 확장한 설계로 만든 경우가 많다. 이런 경우 32비트 호환모드에서는 64비트임에도 워드 폭이 32비트이고 대신 1사이클에 2워드를 처리하는 등의 변칙적인 방법을 쓴다. 32비트 아키텍처에서 만들어진 프로그램들의 호환성을 유지하기 위해서 이렇게 결정된 것으로 64비트 아키텍처 전용명령을 사용하면 워드폭 64비트로 작동해서 64비트의 데이터를 직접 다룰 수 있게 된다.
* 128비트
RISC-V

연산 장치의 개수에 따른 분류

* 싱글코어
연산 장치가 하나인 CPU. 과거에는 매우 많이 사용되었으나, 2000년대 중엽부터 멀티코어 프로세서가 대중화되면서, 이제는 저가형 인터넷 공유기 등 특수 목적용으로만 쓰인다.
* 멀티코어
연산 장치가 복수인 CPU. 자세한 내용은 문서 참조.
* SMT
일명 하이퍼스레딩으로 일컫는, 단일코어를 멀티코어로 간주하고 처리하는 방식. 자세한 내용은 문서 참조.

용도에 따른 분류

* MPU(Micro Processor Unit)
일반적인 PC/워크스테이션 등에 사용되는 일반적인 CPU를 MPU로 지칭한다. 다만 이러한 용어들은 그 개념이 명확하지 않은 때가 많은데 이는 대부분 업계에서 자사 제품을 지칭하는 용어가 관례적으로 굳어졌기 때문이다. 가령 예를 들어 CPU는 처음에는 인텔이 자사의 원칩 솔루션을 지칭하던 용어이고 MPU는 그에 대응하여 모토롤라가 쓰던 용어이다. 마이크로프로세서는 MPU를 한글로 풀어놓은 용어. 그리고 CPU가 원보드 솔루션에서 원칩솔루션으로 전환한 현재 시점에서는 CPU와 MPU, 마이크로프로세서라는 단어는 서로 혼용해도 별 문제가 없다. 다만 MPU는 MCU에 상대적인 느낌으로 인해 MCU가 아닌 마이크로프로세서도 포괄하는 의미로 MPU라는 단어를 사용하는 경우도 있다. 즉 그냥 MCU의 개념만 잘 구분할 수 있으면 문제되지 않는 부분.

* MCU(Micro Controller Unit)
마이크로컨트롤러로도 불리우며 오늘날 지구 상에 존재하는 CPU 숫자의 대다수를 차지한다. 2013년 한 해 동안 추정되는 생산량은 190억 개로 PC용 프로세서 2억 개의 100배 규모. PC용 CPU가 사용자가 작성하거나 소유한 다종다양한 프로그램을 구동시키는 데 비해 MCU는 주로 제조사에서 작성한 고정된 특정 프로그램을 미리 집어넣은 상태(펌웨어 Firmware)에서 완제품에 탑재하여 출시하는 경우가 대부분이다. 일반적으로 잘 알려진 아두이노에 탑재된 AVR ATmega칩이 바로 전형적인 MCU이다.
* DSP(Digital Signal Processor)
특정 종류의 신호 데이터 형식을 고속연산, 특히 행렬연산을 하는데 최적화된 CPU. 때문에 보통 DSP를 부를 때에는 목표로 하는 데이터 종류에 따라 오디오DSP, 16비트 정수DSP, 32비트 실수DSP 등으로 타겟 데이터 형식을 명시하는 경우가 많다. TI의 TMS시리즈가 유명하다. 특정 데이터 포맷 처리에 특화되어서 그 외의 데이터 포맷이나 메모리핸들링, 프로그램 제어 기능은 부실할 때가 많다.
 * GPU(Graphics Processing Unit)
 DSP 중에서도 비디오 출력 데이터 처리에만 극단적으로 특화된 제품. 초기 GPU는 그냥 상용 DSP를 활용하는 경우도 많았다. 제어구조가 없거나 매우 부실하지만 (연산해야 하는 데이터의 특성으로 인해)병렬성이 극히 높아서 연산 쓰루풋이 대단히 높은 특징을 가지고 있다. 다만 대부분 제어구조가 부실하므로 일반적인 프로그래밍을 GPU에서 돌리기는 무리. 물론 굳이 하려면 할 수는 있다. GPGPU 참조.
* FPU(Floating-Point Unit)
실수 연산에 특화된 CPU로 인텔의 i80X87계열이 대표적이다. 프로그래밍에 필요한 제어 구조가 없어서 DSP와는 달리 단독으로 프로그램을 구동시키지는 못한다. 범용 CPU와 묶여 Co-Processor 형태로 사용되는 형태가 대부분이었으며 2000년대 이후로는 독립된 제품보다는 주로 범용 CPU내의 연산유닛으로 포함되는 형태가 대세.

명령어 세트 방식에 따른 분류

CPU의 마이크로 아키텍처 명령어에 의한 분류는 다음 세 가지가 있다.

* CISC(Complex Instruction Set Computer) 방식 CPU
초기에 CPU가 원칩 형태로 등장하기 이전부터 발전해 왔던 명령어셋을 사용한 CPU. x86계열이나 M6800/M68k 등이 대표적이다 최근에는 RISC가 대세가 됨에 따라 잘 만들어지지 않고 있다..
* RISC(Reduced Instruction Set Computer) 방식 CPU
80년대부터 문제로 지적된 명령어셋의 복잡화와 그로 인한 CPU설계의 복잡화를 해결하기 위해 등장한, 간략화된 명령어셋을 도입한 CPU. x86[* 그러나 x86 역시 내부적으로는 RISC 방식으로 돌아가고 있다. 정확히는 한번 더 인코딩을 함으로써 CISC를 RISC로 바꾸어 실행시키는 것. 이것은 인텔이나 AMD나 똑같다.]이나 8051 계열을 제외한 대부분의 현용 CPU 아키텍처가 RISC 방식 명령어를 채택하고 있다. 
* VLIW(Very Long Instruction Word) 방식 CPU
명령어 레벨의 병렬 실행이 가능한 명령어셋을 가지고 있는 CPU. 대표적으로 크루소TI의 TMS6400시리즈, 그리고 ~~이타닉~~아이태니엄이 있다. CISC나 RISC를 대체할 새로운 구조로 등장했지만 컴파일러 설계가 난해한 점이나, 이론적으로는 빠른 구조지만 실제로는 기존 설계보다 그리 빠르지 않았다는 점 때문에 자연스럽게 사장되었다. IA-64때문에 90년대에 처음 나온 것으로 아는 사람이 많지만 80년대 초에 예일대학교에서 나온 구조이다. 80년대에도 이미 Cydrome 이라는 회사에서 VLIW 칩을 생산했지만, 4년 만에 망했다. 그래도 Cydrome의 연구내용을 이어받아 90년대에 인텔이 IA-64, 아이태니엄으로 이 구조를 밀었지만 그 또한 처참하게 실패하고 AMD64로 갈아탔다. 그러나 구조적인 우수성 덕분에 수많은 실패에도 불구하고 지속적으로 명맥을 이어가는데 현재는 군사 & 우주용 CPU로 사용되는 옐브루스 프로세서 시리즈에서 사용중이다.

이 밑은 약간 다른 분류이다.

* SIMD(Single Instruction, Multiple Data)
명령어 레벨의 병렬성이 아닌 데이터 병렬성을 구현한 CPU이다.[* 초기 SIMD는 두 개 이상의 CPU를 사용하여 프로그램 메모리 포인터를 공유하고 데이터메모리 포인터를 따로 두는 방식으로 SIMD를 구현했다.] 현재는 별도의 제품이 아닌 기존 CPU에 확장 명령어셋과 실행유닛을 추가한 형태로 구현되어 있다. MMX, 3D-Now!, SSE가 대표적. 사실 SIMD를 제대로 구현하고 있는 아키텍쳐는 다름 아닌 GPU(...)다.

참고사항

[youtube(UvluuAIiA50)] [벤치마크 사이트] - 분류를 보면 알겠지만 각각의 분류에는 동일한 아키텍처를 가진 CPU들만 열거되어 있다. 호환이 다른 CPU를 하나의 절대지표에 놓고 평가를 하는 것이 쉽지 않기 때문이다.

[[3]] 2017년까지 출시 된 CPU들을 거의 모두 볼 수 있는 사이트이다. 2018년 CPU가 업데이트가 안 되었는데, 버려진 것인지, 단순히 느린 것인지 불확실.

대표적인 x86계열 제조사와 제품

인텔

인텔 CPU 목록 문서 참조.

AMD

AMD CPU 목록 문서 참조.

VIA

코드네임은 대부분 성경에 나오는 지명이나 인명에서 따왔다. CPU칩 단품으로 유통되는 경우는 거의 없고, 대부분 온보드 형식으로 팔린다.

* 에덴
* C3 느헤미야
* C7 에스더
* 나노
* 그루브 - 중국에서 VIA의 라이센스를 받아 자체적으로 개발한 X86 프로세서로서 윈도우 10 거버먼트 에디션[* 중국 정부의 요구에 따라 사용자 정보를 전송시키지 않는 버전]에 최적화되어 있다. --근데까보면 VIA QUADCORE X2 수준이다--

기타

인텔AMD에 밀려서 그렇지 간간히 IBM PC 계열에 사용되는 VIA제 CPU와 달리 이쪽은 그냥 100% 임베디드용 x86프로세서이다. 물론 일단 x86프로세서인 만큼 Microsoft Windows 자체는 돌아간다. 다만 성능한계상 사실상 Windows XP까지만 구동이 가능한 수준.

* DM&P Vortex86 시리즈 [* 원래는 SiS의 사업부였는데 매각됬다. ]
* RDC EmKore 시리즈
* Cyrix사의 MediaGX 제품군

비x86 및 RISC, VLIW 계열 CPU

관련 문서