CPU

 

[image]
[image]
인텔 Core i9-10900k
AMD RYZEN 7 1800X
1. 개요
2. 상세
4. 종류
4.1. 데이터 크기에 따른 분류
4.2. 연산 장치들이 탑재된 코어의 개수에 따른 분류
4.3. 용도에 따른 분류
4.4. 명령어 세트 방식(ISA)에 따른 분류
5. 참고사항
6. 대표적인 x86계열 제조사와 제품
6.4. 기타
6.5. X86 호환 레이어 사용 CPU
6.5.1. 트랜스메타
6.5.2. 기타
7. 비x86 계열 CPU(RISC(ARM, RISC-V), VLIW 계열 등)
8. 관련 문서


1. 개요


Central Processing Unit, CPU
컴퓨터에서 구성 단위 중 기억, 해석, 연산, 제어라는 4대 기능을 종합하는 중앙 처리 장치의 줄임말.

2. 상세


기억, 해석, 연산, 제어라는 매우 중요한 역할들을 도맡기 때문에 '''컴퓨터의 대뇌'''라고 할 정도로 매우 중요한 부분 중 하나다. 프로그램의 명령어를 해석하여 데이터를 연산/처리를 하고 그렇게 돌아가도록 제어해주는 부분, 혹은 그 기능을 내장한 칩을 의미한다. 컴퓨터가 동작하는 데 필요한 모든 계산을 처리하며 컴퓨터를 뇌에 비유하자면 단기기억 담당은 RAM, 장기기억은 하드디스크SSD, CPU는 사고를 담당하는 대뇌피질 정도로 볼 수 있겠다. 대뇌피질 없이 인간의 사고가 성립하지 않듯이 컴퓨터도 CPU 없이는 아무런 기능도 하지 못하는 고철일 뿐이다.
시스템 창에서 컴퓨터에 관한 기본정보를 볼때 프로세서라고 적혀있는 곳 옆에 있다. 제품명이 써져있으며 오른쪽에는 GHz단위의 숫자가 적혀있는데 이것은 초당 싸이클 횟수인 클럭을 의미하며[1] 당연히 숫자가 높으면 높을수록 좋다. RAMSSD와 함께 체감 성능에 가장 큰 영향을 주는 부품으로 컴퓨터를 처음 구매할 때부터 매우 주의해야 한다. RAM이나 SSD같은 컴퓨터의 속도를 올려주는 다른 요소들은 차후에도 충분히 업그레이드가 가능하지만 CPU는 메인보드에 따라서 불가능한 경우가 매우 많다.[2] 물론 교체가 가능한 모델도 있지만. 특히 노트북은 아예 교체가 불가능하게 메인보드에 박혀서 나오니[3] 기대는 안 하는게 좋고 교체 가능한건 조립형 데스크탑 정도다. 공식대리점에서 판매하는 데스크탑 역시 박혀서 나와서 교체가 불가능한 경우는 있지만 대부분 교체는 가능한 구조.
따라서 CPU는 구매후 사실상 그대로 컴퓨터 메인보드가 수명을 다할 때까지 쓴다고 생각하면 되며 조립형 데스크탑의 경우에는 부품 호환성을 고려하여 교체를 할 수 있는 정도다. 과거에는 클럭 그 자체가 매우 중요했으나, 현 시점에서는 '''클럭''' 만이 CPU 성능을 좌우하는 것은 아니며, 예를 들어 제품 세대 및 아키텍쳐에 따른 '''IPC(클럭당 성능)'''[4]도 중요한데 과거 펜티엄 D 3.4GHz가 1세대 코어2 듀오 1.8GHz에 성능이 밀린 것만 봐도 알 수 있다. 또한 클럭만 높이거나 IPC만 높이는 것도 한계가 있어서 '''멀티 코어'''의 방향으로 선회한 지 오래되었기 때문에 실질적으로 코어 수도 중요하며, 코어 수에 따라 상위 하위 제품이 갈리는 경우가 많다.
즉, '''클럭 속도''', '''IPC''', '''코어 수'''에 따라 CPU 성능이 결정된다. 부차적으로 성능 향상을 위한 '''코어당 양방향 SMT'''[5] 외에도 다양한 기술 및 명령어, 그리고 성능 면 이외에도 미세 공정에 따른 발열 감소, 전력 소모 절감 등도 고려할 수 있다.
CPU는 소자를 고도로 집적시킨 부품으로 열이 많이 발생한다. 즉 컴퓨터 부품 중에서 높은 온도를 보여준다.[6] 그래서 열을 식혀주는 쿨링팬이 있으며 CPU 구매 시 쿨링팬까지 번들로 나온다. 또한 성능이 높을수록 많은 열이 발생하기에 쿨링팬만으로 한계가 있어 파워 서플라이의 냉각팬도 있고 서멀 그리스를 사용하기도 한다. 초기의 CPU들은 쿨링팬이 없어도 문제가 없었지만 CPU가 발전되고 성능이 올라가면서 발열이 심하게 되면서 쿨링팬을 사용하기 시작한 것이다.
CPU 중에서도 각종 전자 부품과 반도체 칩을 하나의 작은 칩에 내장한 형태를 마이크로프로세서라고 한다. 마이크로프로세서는 '전기 밥통'이나 '냉장고'에 쓰이는 낮은 성능의 제품부터 슈퍼컴퓨터에 쓰이는 높은 성능의 제품까지 매우 다양하다. 마이크로프로세서들 가운데 가장 복잡하고 성능이 높은 제품은 컴퓨터의 연산 장치로 쓰인다.
조립컴퓨터 견적에서 돈을 많이 먹는 부품 중 하나. 각 부품의 업그레이드가 특정 성능을 올려준다면 CPU는 일단 컴퓨터 전체적인 성능의 베이스, 알파이자 오메가 격이다. 물론 게임할때는 CPU가 안 좋아도 그래픽카드가 좋으면 CPU가 좋고 그래픽카드가 안 좋은 것보다는 좋은 퍼포먼스를 낸다고 알려져 있지만, CPU가 연산을 지시하기 때문에 CPU가 너무 후지면 그래픽 카드가 아무리 좋더라도 CPU 속도에 맞춰지기 때문에 제 성능을 발휘하지 못한다.[7] 즉, 엥간하면 둘 다 동급 혹은 일정 수준 이상으로 맞춰 줘야 한다는 이야기.[8] 다만 요즘 나오는 대다수의 CPU는 충분히 좋기 때문에 '게임' 위주라면 그래픽카드에 투자비용을 좀 더 할당하는게 더 효율적인 퍼포먼스 일 수 있다. 극단적인 차이만 아니라면.[9]
게임이 아니라 주식같이 0.00001초 단위의 금융 거래를 하는 사람들이라면 그래픽 카드를 포기하고서라도 CPU에 올인해야 한다. 쏟아지는 정보를 자동으로 '''판단'''하고 거래에 반영하는 시스템이다 보니 CPU의 역할이 절대적이다. 실제로 CPU의 세대교체는 금융 혁신이 일어날 때마다 급속히 발전하는 경향을 띈다.
2018년 이후로는 60프레임 이상의 성능을 뽑아 내기 위해서라면 CPU 또한 좋아야한다. 프레임이 높을수록 지시 연산이 크게 증가하여 병목 현상이 올 수 있기 때문이다. 특히나 요즘에는 120Hz 내지는 144Hz 주사율의 모니터가 유행하고 있기 때문에 이러한 프레임을 뽑아내기 위해 병목 현상을 막고자 CPU의 중요성 또한 올라갔다. 그러므로 너무 싸거나 비싼 CPU를 사지 말고 자신의 용도에 맞게 적당한 제품을 구매하도록 하자. 단, 장기적으로 사용할 경우 조금 오버해서라도 상위제품을 구매하는 게 좋을 수 있다.
성능에 완전 목을 매는 오버클럭커가 아닌 이상, 구매하려는 그래픽카드에 적정한 수준의 CPU와 램을 구비하면 게임 돌리는데는 문제가 없다. 문제는 성능 스펙, 수치 자체에 집착하는 경우 초고하이스펙으로 맞춰봐야 몇 년 지나면 또 그걸 뛰어넘는 신제품이 나오며, 돈지랄이 될 가능성이 매우 높다(...) 결국 눈물을 머금고 부품 사고팔고 하다가 회의를 느껴 정리하는 컴덕들이 적지않다. 다른 취미와는 다르게, 컴퓨터 부품은 감가상각이 확실하다보니 신품과 중고의 갭이 크기도 하고.
게이밍 컴퓨터는 세대가 최근이고 클럭이 높은 것을 구매하는 것이 좋다. 게임 자체가 고사양일 수록 CPU를 극한으로 갈구기도 하는 응용프로그램 혹은 소프트웨어이기 때문. 게다가 요즈음은 싱글코어만으로는 성능이 부족해서 멀티코어를 지원하는 고성능 게임이 많아져 코어 수도 신경 써야한다.[10] RAM과 SSD는 컴퓨터의 성능에 어느 부분에서는 관여하지만, 대중적인 사용자들이 FPS등의 지표로 이야기하는 '게이밍 성능'에는 큰 연관이 없는 편이다. [11] 권장사양 이상의 램과 SSD는 각각 다양한 작업을 동시에 수행할 수 있도록 하고 저장된 파일을 원활하게 불러올 수 있도록 하지만, CPU의 성능이 따라주지 않으면 절대적인 처리속도는 그대로일 수 밖에 없다. 실제로 실행해보면, 램과 SSD를 교체해도 CPU가 성능을 붙잡으면 게임의 FPS등은 크게 달라지지 않는다. 일정 수준 이상의 RAM [12] 과 SSD [13] 만 갖추어도 일반적인 사용례에서는 충분하다.
그냥 컴퓨터('''C'''om'''P'''uting'''U'''nit)의 약자로 쓰는 경우가 있다. 아주 흔히 쓰는 말은 아니지만 PC와 조금 다르게 쓰거나 그걸 포함한 포괄적인 의미를 표현해야 할 경우에만 쓰기 때문에 생각보다는 다양한 곳에서 보거나 들을 수 있다. 다소 관용적인 용어로, 쓰이는 문맥 상으로 보통 뚜렷하게 구별이 되기 때문에 혼동의 여지는 거의 없다.
[14]
사실 파워만 충족된다면 하나만 달랑 바꾸는게 가능한 그래픽카드와는 달리, CPU는 구형에서 신형으로 바꾼다면 메인보드의 교체 또한 강요되며, CPU 소켓을 자주 갈아치우는 인텔 CPU가 이에 해당된다. AMD CPU는 비교적 그 문제에서 자유로운 편. 메인보드가 교체되면 세대에 따라 램의 교체까지 강요된다는 삼중고를 거쳐야 하니 교체하는 것이 아주 쉬운 일은 아니다. 그렇기에 그래픽카드를 사서 교체하는 식의 업그레이드는 자주 하지만 CPU를 교체한다면 사실상 컴퓨터 하나를 사는꼴이 되므로 차라리 새로 견적을 맞추는 경우가 나을 수 있다.
또한 게임이 나날이 발전하고 고선명도&고해상도 모니터가 차츰 보급되기 시작하면서 그래픽카드는 지속적으로 교체해줄 필요성이 대두되는 반면, CPU는 구형 중에서도 잘 돌아가는 현역이 많다. 가성비 의 상징인 샌디브릿지 세대(i5-2500, i7-2600)가 그 예시. 고선명도 모니터와 높은 작업량을 필요로 하여 한 번에 큰 차이의 상급 기종으로 기변을 하지 않는다면 교체를 고려하지 않아도 괜찮을 정도로 팔팔한 현역이다. 무려 2011년에 만들어진 물건인데, 당시 최신 현역 그래픽카드가 지포스 GTX 580임을 생각해본다면 9년째 현역으로 뛰고있다는 것은 정말 대단한 부분.[15] 극단적으로 웹서핑 및 가벼운 게임 돌리는 용도로만 사용한다면 연식이 오래된 코어 세대(코어2 쿼드 Q6600)나 네할렘 세대(i5-750, i7-860)도 아직 쓸만하지만 이들은 내장 그래픽이 존재하지 않는 CPU이므로 온보드 그래픽이 탑재된 메인보드나 그래픽 카드를 따로 구해야 하는 단점[16]이 있으며, 2018년부터는 향상된 내장 그래픽과 동영상 재생 성능까지 갖춘 라이젠 3 2200G가 사무용 쿼드코어 CPU의 다크호스로 자리 잡았기 때문에 현역으로써 가치가 많이 떨어진 상태이다.[17]

3. 구조와 원리




4. 종류


1970년대 초 단일 칩이라는 형태로 CPU가 발명된 이후 CPU의 기술은 아래와 같은 궤적을 따라 여러 방면으로 방산-발전하여 오늘날 다종다양한 산업체를 구성하게 되었으며 PC용 프로세서의 경우 2012년 기준 한해 2억unit, MCU(Micro Controller Unit)의 경우 190억unit을 생산하는 규모까지 성장하였다.
  • 연산 능력의 향상:PC/워크스테이션/서버용 프로세서의 발전 방향
    • 향상된 클럭.
    • 향상된 클럭당 명령어 실행 숫자(IPC - Instructions Per Clock).
    • 병렬 연산(파이프라인, 슈퍼스칼라, SIMD(주로 벡터 연산),[18] 멀티 프로세서 및 멀티코어 프로세서,[19] SMT, MIMD)
  • 연산 기능의 특화:GPU(Graphics Processing Unit)및 DSP(Digital Signal Processor)의 발전 방향.
    • 고도의 병렬화(GPU)
    • 특화된 연산기능(DSP)
  • 입출력 기능의 다양화와 원가절감:MCU의 발전 방향.
    • 다종다양한 I/O (Input/Output) 기능의 통합.
    • SoC (System on a Chip).
다음은 각 분류 방식에 따른 CPU의 종류이다.

4.1. 데이터 크기에 따른 분류


여기서 말하는 비트 크기는 해당 아키텍처를 사용하는 컴퓨터에서의 '''워드''' 크기를 의미한다. 워드 크기란 CPU에서 1사이클에 처리할 수 있는, 다시 말해 한 번에 처리할 수 있는 비트의 수를 말한다. 또는 접근할 수 있는 메모리의 범위를 의미하기도 했으나 32비트 아키텍처에 들어오면서 메모리 범위가 워드폭과 다르게 되면서 폐기되었다.
32비트 초반까지는 해당 비트수가 워드 폭(보통 C언어의 int)과 메모리 어드레스 범위(C언어의 '''포인터'''변수), 그리고 명령어의 길이(어셈블리언어에서 명령 한 줄)를 모두 지칭하였다. 32비트 아키텍처 후반부로 가면서 워드 폭만을 의미하는 것으로 축소되었으나 32비트 메모리 주소 범위가 고갈되면서 메모리 관련 의미가 다시 수면 위로 떠올랐다.
명령어의 길이가 아키텍처가 올라가면서 두 배씩 늘어나기 때문에 실행 바이너리의 크기가 세대가 올라갈수록 점점 커지며 CPU가 소비하는 전력 사용량도 덩달아 올라간다. 다만 전력 사용량은 이외에도 변수가 많아서 절대적인 기준은 될 수 없다. 실행 바이너리 크기와 전력 사용량에 민감한 모바일 업계에서 16비트 Thumb명령셋을 지원하는 ARM계열 CPU를 선호하는 이유.
  • 4비트
최초의 상용 단일칩 CPU, 즉 '마이크로프로세서'로 인정받는 인텔의 4004와 그 후속작 4040이 4비트 CPU이다.[20] 현재도 아주 적은 양의 연산만을 필요로 하는 곳에 가끔 4비트 CPU가 들어가는 경우가 있다. 4004 이전에도 물론 '컴퓨터'는 존재했으니만큼 개념적인 의미에서의 '중앙처리장치'는 있어왔지만 연산, 제어, 기억 등의 주요 기능을 담당하는 회로가 단일칩에 들어가지 않고 별개로 나뉘어 있었다.
  • 8비트
PC시대의 서막을 연 세대. 최초의 개인용 컴퓨터인 MITS 알테어 8800에 채용된 인텔 8080과 그 호환칩이자 8비트 시대를 주름잡은 자일로그 Z80[21], 모토로라 6800[22], MOS 테크놀로지 6502[23] 등이 유명하며, 마이크로컨트롤러용으로 많이 사용되는 8051, AVR, PIC 등도 여기에 포함된다. 대단히 의외지만 아직도 CPU시장에서 숫적으로는 주력의 자리를 차지한다. 2012년 기준 출하량 60억 개로 PC용 프로세서의 예상출하량 2억 개의 30배에 달하는 수량이다. 장난감이나 가전제품(그것도 최하급), 시계 등에나 각종 센서장비의 보조 프로세서 등 컴퓨터라는 느낌이 전혀 들지 않는 제품에 주로 들어간다. 매우 저전력으로 동작해서 건전지 한 개 분량의 전력으로 몇 년을 구동도 가능하고 몇 백 원 이하의 가격대도 있을 정도로 저렴한 게 장점. 프로세서의 속도도 작은 LED전광판 구동할 정도는 된다. 연산 성능이 별로 필요하지 않고 저가격/저전력(=적은 유지비)을 요구하는 분야에서는 여전히 현역.
  • 16비트
오늘날의 PC산업을 있게 한 IBM PC에 들어가는 인텔 8088매킨토시의 CPU이자 오락실 기판을 제패한 68000[24]이 대표적이다. 80286, 80196, C166 등이 있다. 현재는 32비트 아키텍처에 밀려 잘 쓰지 않는다. 32비트도 전력 소비량을 많이 개선했고 가격도 충분히 저렴해졌으며 무엇보다 프로그램 호환성 측면에서 16비트보다 압도적으로 편리하기 때문. 성능이 필요하면 32비트, 성능이 별로 필요없고 무조건 싸야되면 8비트를 사용하면 되기 때문에 입지가 좁다.
  • 32비트
속칭 386으로 불리우는 80386과 그 후속모델인 80486, 펜티엄...(이하 생략) 등이 대표적이다. 32비트 CPU가 시장을 지배한 시간은 상당히 길어서 인텔의 IA-32 아키텍처만 보아도 80386(1986년)부터 펜티엄 4 프레스캇 (2004년)[25]까지 거의 20년 가까운 기간이며, 80386 이전에 등장한 타사의 32비트 아키텍쳐들과 그 이후에 나온 타사의 32비트 아키텍쳐들 까지 다 포함하면 30년을 훌쩍 넘긴다. 덕분에 PC시장 발전기의 레전드급 아키텍처의 이름들이 대거 포진한다. 모토로라 68020/68030, MIPS[26], ARM, PA-RISC, PowerPC 등. 또한 마이크로컨트롤러로 8비트계에서 성공을 거둔 PIC이나 AVR등이 PIC32, AVR32등으로 확장된 경우도 있다. 좀 무리해서 갖다붙이자면 80386계열도 8051의 확장이라고도 볼 수 있는데 이는 8051이 8080의 분가에 해당하는 위치이기 때문. 흔히 최초의 32비트 CPU 하면 80386을 떠올리지만 사실 최초의 32비트 CPU는 1979년에 나온 내셔널 세미컨덕터의 NS32016으로 외부 버스는 16비트 어드레스 버스는 24비트지만 CPU 내부적으로는 32비트를 도입하였으나 8086과 MC68000에 밀려서 그리 흥하지는 못했다. 흔히 16비트 CPU로 여겨지는 모토로라 MC68000도 실은 NS32016 처럼 내부적으로는 32비트 구조를 일부 갖추고 있었다. [27]
  • 64비트
아이테니엄(IA-64), x86-64, ppc64, Alpha, MIPS64, ARMv8 이상[28], Power E2K등이 대표적인 64비트 아키텍처이다. 인텔의 아이테니엄처럼 처음부터 64비트로 설계되는 경우도 있지만 보통은 x86-64ppc64처럼 32비트 아키텍처를 64비트로 확장한 설계로 만든 경우가 많다. 이런 경우 32비트 호환모드에서는 64비트임에도 워드 폭이 32비트이고 대신 1사이클에 2워드를 처리하는 등의 변칙적인 방법을 쓴다. 32비트 아키텍처에서 만들어진 프로그램들의 호환성을 유지하기 위해서 이렇게 결정된 것으로 64비트 아키텍처 전용명령을 사용하면 워드폭 64비트로 작동해서 64비트의 데이터를 직접 다룰 수 있게 된다.
  • 128비트
일부 커스텀 RISC-V

4.2. 연산 장치들이 탑재된 코어의 개수에 따른 분류


  • 연산 장치
CPU에서 가리키는 연산 장치는 CPU 코어 내부에 존재하는 연산 장치를 가리킨다. 실행 유닛이라고도 부르며, 과거에는 하나의 코어 안에 하나의 연산 장치인 ALU(산술 논리 연산 또는 정수 연산 장치)만 존재하는 비교적 단순한 구조였으나 나중에는 별도의 연산 장치로 존재했던 FPU(부동 소수점 실수 연산 장치)가 CPU에 내장되면서 서로 다른 연산 장치들이 하나의 코어 안에 통합되고, 같은 ALU가 하나가 아닌 여러 개(슈퍼스칼라), 같은 FPU가 하나가 아닌 여러 개(SIMD)로 늘리는 등 지금 시점에서 볼 때 하나의 코어에는 여러 종류의 연산 장치가 공존하면서 같은 종류끼리 여러 개인 연산 장치들로 구성된 복합적인 형태가 일반적이다.

  • 싱글 프로세서
대다수 일반 가정용 CPU를 구축할 때 1개의 CPU만 장착된 시스템을 일컫는 말이기도 하지만, 멀티코어 프로세서가 대중화된 이후로는 잘 쓰이지 않는 용어가 되었다. 잘 사용되지 않을 뿐, 지금도 일반 가정용 CPU가 장착된 시스템에는 거진 싱글 프로세서로 구성되어 있으니 싱글 CPU라는 말이 틀린 말은 아니다.
  • 멀티 프로세서
주로 고성능 워크스테이션이나 데이터 센터 및 서버용 CPU를 구축할 때 1개 아닌 여러 개의 CPU들이 장착된 시스템을 일컫는 말. 보통 2개의 CPU일 때 듀얼 CPU로 많이 부르는 편이지만, 2-Way, 듀얼 소켓, 2소켓 등 멀티 프로세서를 가리키는 다른 여러 명칭들도 있다. 멀티 CPU를 멀티 소켓 CPU라고도 부르는 것은 CPU와 소켓의 개수가 일반적으로 1:1 대응이기 때문. 근래에는 30개가 넘는 코어를 한 CPU에 때려박은 스레드리퍼에픽 같은 물건이 등장해서 이전에 비하면 하향세이다.

  • 싱글코어 프로세서
하나의 CPU 안에 하나의 코어만 탑재된 형태. 과거에는 이러한 형태의 CPU들 뿐이었으나 2000년대부터 멀티코어 개념이 적용된 CPU가 등장하면서, 요즘의 싱글코어는 저가형 인터넷 공유기 등 특수 목적의 용도로만 쓰인다.
하나의 CPU 안에 복수의 코어들이 탑재된 형태. 과거에는 CPU에 있어서 멀티라는 개념 자체가 멀티 프로세서를 가리킬 때나 사용되는 말이었으나, 2001년부터 멀티코어 프로세서가 등장하고 2005년부터 컨슈머용 시장에서도 대중화되면서, CPU를 가리킬 때 멀티라고 하면 멀티 프로세서보단 멀티코어 프로세서를 가리키는 말로 더 익숙해져 있다. 자세한 내용은 문서 참조.
  • 듀얼코어
연산 장치가 2개인 CPU. 2001년에 출시된 IBM POWER4가 최초의 듀얼코어 CPU로, 2005년 5월에 출시된 인텔 펜티엄 D와 AMD 애슬론64 X2가 일반 가정용 첫 듀얼코어 CPU이다.
  • 트리플코어
연산 장치가 3개인 CPU. 보통 쿼드코어 CPU 중 코어 한개가 불량인 부분을 비활성화 하고 출시하기 때문에 쿼드코어보다 개발이 늦게 되었다. 일반 가정용으로 AMD 페넘 II X3이 최초의 트리플코어 CPU이다.
  • 쿼드코어
연산 장치가 4개인 CPU. 2006년 11월부터 서버 혹은 프로슈머용으로 먼저 등장했으며, 2007년 1월에 출시된 인텔 코어 2 쿼드가 일반 가정용 최초의 쿼드코어 CPU이다. 2010년대 초반 게이밍에서 가장 효율이 좋다고 알려져 있다.
  • 헥사코어
연산 장치가 6개인 CPU. 서버용에서는 2008년 더닝턴 계열의 제온부터 등장했고, 프로슈머용으로는 2010년 걸프타운 계열의 코어 i7부터, AMD FX-6100이 일반 가정용 최초의 헥사코어 CPU이다. 2010년대 후반 게이밍에서 가장 효율이 좋다고 알려져 있다.
  • 옥타코어
연산 장치가 8개인 CPU. 서버용에서는 2010년 벡톤 계열의 제온부터 등장했으며, AMD FX-8150이 일반 가정용을 최초 공개된 8코어 CPU이다. 2020년 기준 게이밍에서 가장 효율이 좋다고 알려져 있다.
  • 데카코어
연산장치가 10개인 CPU, 서버용에서는 2011년 1세대 제온 E7부터 등장했으며, 2020년에 출시된 인텔 코어 i9-10900K가 일반 가정용 최초의 10코어 CPU이다.
  • 도데카코어
연산 장치가 12개인 CPU. 서버용에서는 2013년 2세대 제온 E5부터 등장했고, 2017년에 출시된 인텔 코어 i7-7920X가 프로슈머용으로 최초 공개된 12코어 CPU이며, 2019년에 출시된 AMD 라이젠 9 3900X가 일반 가정용으로 최초의 12코어 CPU이다. 가정용까지 나왔지만 주로 렌더링 및 인코딩 작업용으로 쓰인다.
  • 헥사데카코어
연산 장치가 16개인 CPU. 서버용에서는 2014년 3세대 제온 E5부터 등장했고, 프로슈머용에서는 2017년에 출시된 인텔 코어 i7-7960X와 AMD 라이젠 스레드리퍼 1950X부터 등장했으며, 2019년에 출시된 AMD 라이젠 9 3950X가 일반 가정용으로 최초 공개된 16코어 CPU이다.
  • 코어 당 다뱡향(Multi-Way) SMT(동시 멀티스레딩) 프로세서
하나의 코어로 복수의 스레드들을 동시에 처리해주는 방식. 무슨 뜻인지 잘 모르겠다면 쉽게 말해서 '단일코어를 멀티코어로 간주하고 처리하는 방식'으로 생각하면 된다. 인텔이 '하이퍼스레딩'이라는 상표명으로 가장 먼저 도입했으며, 2002년 프레스토니아 계열의 제온과 펜티엄 4 HT부터 적용되었다. 타 업체들도 2004년부터 양방향(2-Way) SMT를 도입하기 시작했다. IBM POWER7처럼 사방향(4-Way) SMT나 POWER8처럼 8방향(8-Way) SMT CPU도 존재하지만, 하드웨어 자원의 한계로 아직까지는 코어 당 양방향 SMT가 가장 널리 사용되고 있다. 자세한 내용은 해당 문서 참조.

4.3. 용도에 따른 분류


  • 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시리즈가 유명하다. 특정 데이터 포맷 처리에 특화되어서 그 외의 데이터 포맷이나 메모리핸들링, 프로그램 제어 기능은 부실할 때가 많다.
DSP 중에서도 비디오 출력 데이터 처리에만 극단적으로 특화된 제품. 초기 GPU는 그냥 상용 DSP를 활용하는 경우도 많았다. 제어구조가 없거나 매우 부실하지만 (연산해야 하는 데이터의 특성으로 인해)병렬성이 극히 높아서 연산 쓰루풋이 대단히 높은 특징을 가지고 있다. 다만 대부분 제어구조가 부실하므로 일반적인 프로그래밍을 GPU에서 돌리기는 무리. 물론 굳이 하려면 할 수는 있다. GPGPU 참조.
  • TPU(Tensor Processing Unit)
행렬 연산에 특화된 DSP. 보통은 인공지능 처리용으로 사용한다.
  • FPU(Floating-Point Unit)
실수 연산에 특화된 CPU로 인텔의 i80X87계열이 대표적이다. 프로그래밍에 필요한 제어 구조가 없어서 DSP와는 달리 단독으로 프로그램을 구동시키지는 못한다. 범용 CPU와 묶여 Co-Processor 형태로 사용되는 형태가 대부분이었으며 2000년대 이후로는 독립된 제품보다는 주로 범용 CPU내의 연산유닛으로 포함되는 형태가 대세.

4.4. 명령어 세트 방식(ISA)에 따른 분류



CPU의 마이크로 아키텍처 명령어에 의한 분류는 다음 세 가지가 있다.
  • CISC(Complex Instruction Set Computer) 방식 CPU
초기에 CPU가 원칩 형태로 등장하기 이전부터 발전해 왔던 명령어셋을 사용한 CPU. x86계열이나 M6800/M68k 등이 대표적이다 최근에는 RISC가 대세가 됨에 따라 잘 만들어지지 않고 있다..
  • RISC(Reduced Instruction Set Computer) 방식 CPU
80년대부터 문제로 지적된 명령어셋의 복잡화와 그로 인한 CPU설계의 복잡화를 해결하기 위해 등장한, 간략화된 명령어셋을 도입한 CPU. x86[29]이나 8051 계열을 제외한 대부분의 현용 CPU 아키텍처가 RISC 방식 명령어를 채택하고 있다.
  • VLIW(Very Long Instruction Word) 방식 CPU
명령어 레벨의 병렬 실행이 가능한 명령어셋을 가지고 있는 CPU. 대표적으로 크루소TI의 TMS6400시리즈, 옐브루스 프로세서 그리고 아이테니엄이 있다. 현재 주요 VLIW 계열 CPU는 인텔에서 VLIW의 단점을 보완한 EPIC(Explicitly Parallel Instruction Computing)을 사용한다. 조건만 만족한다면 엄청난 효율성과 성능을 보여주어 CISC나 RISC를 대체할 새로운 구조로 등장했지만 컴파일러 설계가 난해한 점이나, 이론적으로는 빠른 구조지만 실제로는 기존 설계보다 그리 빠르지 않았다는 점[30]들을 극복하지 못해서 자연스럽게 주류에서 밀려나게 되었다. IA-64때문에 90년대에 처음 나온 것으로 아는 사람이 많지만 80년대 초에 예일대학교에서 나온 구조이다. 80년대에도 이미 Cydrome 이라는 회사에서 VLIW 칩을 생산했지만, 4년 만에 망했다. 그래도 Cydrome의 연구내용을 이어받아 90년대에 인텔이 IA-64, 아이테니엄으로 이 구조를 밀었지만 그 또한 처참하게 실패하고 AMD64로 갈아탔다. 그러나 구조적인 우수성 덕분에 수많은 실패에도 불구하고 지속적으로 명맥을 이어가는데 현재는 군사 & 우주용 CPU로 사용되는 옐브루스 프로세서 시리즈에서 사용중이다.
이 밑은 약간 다른 분류이다.
  • SIMD(Single Instruction, Multiple Data)
명령어 레벨의 병렬성이 아닌 데이터 병렬성을 구현한 CPU이다.[31] 현재는 별도의 제품이 아닌 기존 CPU에 확장 명령어셋과 실행유닛을 추가한 형태로 구현되어 있다. MMX, 3D-Now!, SSE, AVX가 대표적. 사실 SIMD를 제대로 구현하고 있는 아키텍쳐는 다름 아닌 GPU.

5. 참고사항



CPU 벤치마크 사이트 - 분류를 보면 알겠지만 각각의 분류에는 동일한 아키텍처를 가진 CPU들만 열거되어 있다. 호환이 다른 CPU를 하나의 절대지표에 놓고 평가를 하는 것이 쉽지 않기 때문이다.
http://www.cpu-world.com 2017년까지 출시 된 CPU들을 거의 모두 볼 수 있는 사이트이다. 2018년 부터 CPU가 업데이트가 안 되었는데, 버려진 것 으로 보인다

마이크로프로세서 대신 트랜지스터를 하나하나 납땜하여 '''메가프로세서'''를 만드는 프로젝트가 있다.
해당 프로세서는 트랜지스터 4.2만개를 하나하나 납땜해서 만들었는데, 인텔 8086이 2.9만개의 트랜지스터가 들어갔으니 이보다는 성능이 좋을 것으로 보인다. 다만 크기는 '''500kg'''이 넘고 부피는 '''10제곱미터'''가 넘는다.

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



6.1. 인텔


인텔/CPU 문서 참조.

6.2. AMD


AMD/CPU 문서 참조.

6.3. VIA


코드네임은 대부분 성경에 나오는 지명이나 인명에서 따온 것이 많다.
CPU칩 단품으로 유통되는 경우는 거의 없고, 대부분 온보드 형식으로 팔린다.
  • CyrixIII
  • C3 느헤미야
  • CoreFusion
  • C7 에스더
  • 에덴
  • 나노
  • 그루브 - 중국에서 VIA의 라이선스를 받아 자체적으로 개발한 X86 프로세서로서 윈도우 10 거버먼트 에디션[32]에 최적화되어 있다.

6.4. 기타


인텔AMD에 밀려서 그렇지 간간히 IBM PC 계열에 사용되는 VIA제 CPU와 달리 이쪽은 그냥 100% 임베디드용 x86프로세서이다.
물론 일단 x86프로세서인 만큼 Microsoft Windows 자체는 돌아간다. 다만 성능한계상 사실상 Windows XP까지만 구동이 가능한 수준.
  • DM&P Vortex86 시리즈 [33]
  • RDC EmKore 시리즈
  • Cyrix사의 MediaGX 제품군

6.5. X86 호환 레이어 사용 CPU


대부분 VLIW 계열 CPU다. 기존 S/W 호환성 때문에 넣었는데, VLIW 자체는 성능이 준수했으나 맞는 S/W가 거의 없어 결국 X86 호환레이어로 돌리면 성능이 미친듯이 폭락했고 결국 VLIW의 대중화는 실패하고 말았다.

6.5.1. 트랜스메타



6.5.2. 기타


  • 옐브루스 시리즈
  • 인텔 아이테니엄
  • [34]

7. 비x86 계열 CPU(RISC(ARM, RISC-V), VLIW 계열 등)



8. 관련 문서



[1] 주파수와 같은 단위라서 주파수라고 부르기도 한다.[2] 보통 2010년 이후의 CPU들은 AMD든 인텔이든 동일 세대의 CPU들끼리는 서버용 CPU인 제온 라인업 등을 제외하고는 모두 교체가능하다. 예를 들어, i5-4670과 G3220은 각각 i시리즈, 펜티엄으로 라인업도 다르고 성능 차이도 넘사벽이지만 둘 다 동일한 하스웰 세대 프로세서이므로 동일한 소켓인 LGA 1150을 사용한다. 따라서 해당 소켓을 지원하는 메인보드라면 두 프로세서 모두 지원하기에 동일 세대 한정이지만 업그레이드도, 다운그레이드도 모두 가능하며 일부 소켓들은 다른 소켓으로 변환해주는 젠더를 사용하면 다른 종류의 CPU도 사용가능하다.[3] 하스웰 이전 세대의 인텔 CPU를 탑재한 일부 노트북이나, CPU 모델명 끝에 'M', 'QM', 'MQ'라는 식별자가 붙어있는 녀석들은 소켓이 PGA 방식이라서 교체가 가능하다. 다만 그래봤자 선택의 폭이 너무 좁은데다 보드가 받아들일 수 있는 전압 및 전류 범위에 따라 호환이 안 될 수도 있으니 부득이한 경우가 아니면 권장하지 않는다. 비용 문제도 있어서 교체 안하느니 못 할 수도 있다.[4] 정확히는 1 사이클 당 명령어 처리 횟수지만, 사이클이 곧 클럭이고 성능에 직결되므로 결과적으로는 비슷한 의미이다.[5] CPU 코어의 여유 자원으로 스레드 하나 더 투입시켜서 자원의 효율을 높이는 기법. 쉽게 말하면 일종의 이용한 코어 뻥튀기로 가상의 논리 코어를 추가해 성능을 향상시킬 수 있는 기술이다. 단, 다른 조건이 같다고 가정했을 때 4코어/8스레드라고 해서 8코어/8스레드와 동등할 정도로 성능이 좋은 것은 '''당연히 아니고''' 4코어/4스레드보다는 더 많은 자원 활용률을 통해 약간 더 성능 향상을 기대할 수 있는 수준. 인텔의 하이퍼스레딩이 대표적이다. 양방향 SMT 말고도 4방향 SMT, 8방향 SMT도 존재하지만 아직 대중적이지 않다.[6] 기본적으로 90도 정도를 넘긴다. 그래서 뜨거워진 CPU 위에 고기를 굽거나 라면을 끓여먹는 영상도 있다. 물론 잘못했다간 고장날수도 있으므로 따라하지 말도록 하자[7] 이를 병목현상이라 하며 심하게 일어날 경우 CPU의 속도마저도 못 내는 경우가 있고. 특히 오픈월드 게임과 문명 시리즈같은 전략 시뮬레이션에서는 GPU보다 CPU 성능이 더 중요시 된다.[8] 사족이지만 그래픽카드의 업그레이드 주기가 아무래도 CPU보다는 짧다보니 같은 CPU, 마더보드, 램을 유지한 상태에서 그래픽카드만 바꿨는데도 게임에서 더 높은 그래픽 설정을 원활하게 돌릴 수 있게 되는 상황은 제법 흔한 편이다. 3D 그래픽 관련 연산량이 많은 현대 게임들의 특성상 CPU 성능이 발목을 잡으려면 그래픽카드가 TITAN RTX인데 CPU가 셀러론이라든지, 반대로 CPU는 i7인데 그래픽카드가 내장이거나 G210 같은 거라든지...[9] 노트북의 경우, 게임용으로 나온 제품들은 인텔 HQ 계열 CPU를 탑재하여 모바일 프로세서임에도 불구하고 비교적 높은 퍼포먼스를 보여준다.[10] 물론 코어 수가 무작정 많다고 모든 코어를 활용할 수 있는 경우는 드물지만 미래에 나올 게임들은 기술이 발달하여 점점 코어가 많을수록 연산에 유리하게 될 수 밖에 없다.[11] 물론 둘 다 성능에 관여하기는 한다. 애초에 2010년대 후반에 출시된 대부분의 고사양 3D게임들은 4GB 이하의 RAM에서는 기대수치의 40%~60%의 FPS하락이 있고, 어떤 게임은 실행 자체가 안되기도 한다! 심지어 정보처리속도가 매우 느린 HDD의 경우는 SSD에 대비해 게임을 불러오는 시간이 적으면 2배에서 심하면 5배 이상 차이나기도 한다. AAA타이틀들의 경우 용량이 50기가는 어렵지 않게 넘으니 이 정도의 대용량 파일을 불러오려면 어느정도 수준 이상의 읽기/쓰기성능과 낮은 레이턴시는 당연히 갖추어야 한다. 상술한 두 가지 모두 체감성능에 큰 영향을 주는 부분들이다.[12] 2018년 기준 게이밍 PC의 경우는 8GB 램 이상이면 충분하고, 8GB와 16GB가 대부분의 게임에서 유의미한 차이를 보이지는 않는다.[13] 저장매체의 경우에는 게임의 성능 자체에는 영향을 주지 않지만 초기실행속도나 로딩속도를 개선해준다. 업그레이드를 할 경우의 성능증가폭은 해당 항목에서는 확실하다. 흔히 쓰는 저예산 PC용 삼성 850evo와 프로슈머용 960pro는 읽기/쓰기 속도만 6배가량 차이가 나고, 요새 하이엔드용에 종종 들어가는 옵테인 900p는 미칠듯이 낮은 레이턴시로 960pro와도 엄청난 차이가 난다. 그러나 이는 '''로딩속도''' 차이임을 잊지 말자. 위 언급한 부품들의 경우 30만원에서 60만원 이상의 추가 비용이 들게 되는데, 일반적인 사용자 입장에서는 그 비용으로 최상위 소비자 라인업 CPU를 사거나 상위급 그래픽 카드를 하나 맞추는 게 체감 상 더욱 훨씬 확실한 업그레이드다. 게이밍 시스템에 최소 300만원에서 천만원가량을 투자하는 경우가 아니라면 게임 성능을 위해 저장매체에 큰 돈을 투자하는 것은 효율이 낮다. [14] 현재 유통 중인 대다수의 소비자용 CPU들은 오류 방지를 위해 이러한 연산을 명령하면 자동으로 연산을 중단하기 때문에 고장나지 않는다. 이걸 실제로 보고 싶다면 구형 마이크로 컨트롤러 등을 이용해서 직접 시도해보면 된다. 마이크로 컨트롤러상 하드웨어적으로 이런 오류를 막아줄 기능을 설계하기 힘든 저가형 라인업에서는 여전히 터질수 있다. [15] 최신 드라이버 기준으로 지포스 GTX 1050급 성능인 GTX 950, 760보다 성능이 낮은 GTX 660급 성능의 물건이다. 최신 고사양 AAA 게임은 실행이나 되면 다행인 물건. 실제로 GTX 660급 성능을 최소 사양으로 요구하는 게임이라면 GTX 580도 최소 사양에 부합되어 실행할 수는 있다... 제대로 즐길 보장이 안 될 뿐. 하지만 GTX 760급 이상의 성능을 최소 사양으로 요구하는 게임이라면 한때 플래그쉽이었던 GTX 580마저도 최소 사양에 충족할 수 없어서 그런 게임 한정으로 봤을 때 퇴역이라고 볼 수 있다. 아직은 GTX 660급 성능을 최소 사양으로 요구하는 AAA 게임들이 나오고 있지만, GTX 760급 이상을 요구하는 고사양 게임들이 이미 2010년대 중반부터 하나둘씩 나오고 있는 중이다.[16] 사실 저렴한 그래픽카드를 장착하면 큰 문제는 아니다.[17] 2020년 현 시점에서는 2200G의 메리트가 좀 떨어진 상황이다.[18] 여기까지가 싱글스레드 IPC 향상의 기준으로 취급한다.[19] 여기부터는 IPC 향상의 기준으로 취급하지 않는다. 모든 프로그램들이 항상 멀티스레딩을 잘 지원하는 것은 아니기 때문이다.[20] 참고로 '상용'이라는 수식어를 붙이는 이유는 미군이 F-14를 위해 개발한 MP944의 개발이 4004보다 1년가량 앞서기 때문이다. 이게 1998년까지 기밀로 묶여있었던 바람에 일반에 알려지지 않아 i4004가 '최초'의 CPU로 많이 알려져있지만 엄밀히 따지면 최초의 CPU는 MP944, 최초의 상업용 CPU가 4004다. 에니악콜로서스의 관계랑 비슷하다.[21] 8비트 CPU 하면 그냥 자동으로 연상되는 수준으로 유명한 CPU다. MSX, PC-8801, MZ-80, X1, SPC-1000, 세가 마크 3 등등 Z80을 사용한 8비트 기기는 셀 수 없을 수준으로 많다.[22] 일명 MC6800. 당대에도 8080의 라이벌로 인식되었다. 후지츠의 FM-7이 6800의 후계 모델인 6809를 사용.[23] Apple II에 사용된 CPU로 설명 끝이다. 패밀리 컴퓨터, 코모도어 64에 채용된 CPU도 이것의 파생형. Z80에 비해 상대적으로 저성능이지만 가격이 저렴하고 프로그래밍이 심플한 것으로 유명.[24] 일명 MC68000. Macintosh, Lisa, 아미가, 아타리 ST, X68000, CPS1, CPS2, 네오지오, 메가드라이브 등등. 사용된 범위만 갖고 보면 8086/8088보다 훨씬 넓다. 지금은 이 바닥이 그냥 다 x86판이지만 한때는 x86과 더불어 680x0 패밀리가 CPU 업계의 양대산맥이었다. 흔히 16비트 CPU로 인식되지만 어드레스 버스는 24비트였고 32비트 레지스터를 갖추면서 내부적으로는 32비트 구조를 일부 갖추고 있어서 32비트 CPU로 여겨지기도 하며 Apple은 Lisa와 Macintosh를 가지고 아예 대놓고 32비트 마케팅을 하기도 했다.[25] 프레스캇의 '일부 모델'에 인텔의 x86-64 명령셋인 EM64T가 들어가기 시작했다. x86-64 자체는 이보다 1년 앞서 AMD 옵테론에 적용되기는 했다.[26] 워크스테이션에서나 사용되어서 개인용 시장에서는 볼 일이 없는 RISC CPU였지만 플레이스테이션, 닌텐도64 등에 들어가면서 일반에도 유명해졌다.[27] 그 덕택에 MC68000 CPU를 사용한 매킨토시 기종(128k, 512k는 제외)이나 리사2가 느리기는 하지만 32비트 OS인 매킨토시 시스템 7.5.5 까지 쓸 수 있었고, 32비트 소프트웨어를 사용할 수 있었다.[28] 아이폰5s에 탑재된 A7칩이 바로 이 ARMv8 의 명령어 셋을 기반으로 한 아키텍쳐를 사용하는데, 스마트폰AP 으로서는 최초로 64비트를 지원하게 되었다. 이를 기점으로 iOS와 거의 모든 iOS용 애플리케이션이 64비트 지원으로 전환되었고, 이듬해 안드로이드 롤리팝 역시 64비트를 지원함으로서 본격적으로 64비트 모바일 AP 시대를 열었다. 현재 ARMv9 64비트 아키텍처가 등장했다.[29] 그러나 x86 역시 내부적으로는 RISC 방식으로 돌아가고 있다. 정확히는 한번 더 인코딩을 함으로써 CISC를 RISC로 바꾸어 실행시키는 것. 이것은 인텔이나 AMD나 똑같다.[30] 정확히 말하면 기존 CISC나 RISC보다 빠르긴 했다. 하지만 어디까지나 VLIW 전용으로 만들어진 소프트웨어 환경에서만 그러한 모습을 보여주었고 기존 S/W들을 돌리기위해 에뮬레이팅이나 x86 호환레이어를 지원했는데, 성능이 엄청 떨어젔다. 아이테니엄의 전설의 10분의 1 토막난 밴치마크나 2010년대 중반에 나왔는데도 둠3 돌리기 버거워하는 옐브루스 프로세서 테크데모를 보면 알 수 있다.[31] 초기 SIMD는 두 개 이상의 CPU를 사용하여 프로그램 메모리 포인터를 공유하고 데이터메모리 포인터를 따로 두는 방식으로 SIMD를 구현했다.[32] 중국 정부의 요구에 따라 사용자 정보를 전송시키지 않는 버전[33] 원래는 SiS의 사업부였는데 매각됐다. [34] Windows 10 on ARM처럼 ARM용으로 포팅되거나 소프트웨어 에뮬레이팅 형식이라 ARM 자체에 하드웨어 x86 레이어가 들어가지는 않았다.