맨위로가기

프로세서 설계

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

프로세서 설계는 CPU의 구조와 기능을 결정하는 과정으로, 데이터 경로, 제어 장치, 메모리, 클럭 회로, 논리 게이트 등 다양한 구성 요소의 설계를 포함한다. CPU는 고성능 시장과 저성능 시장의 요구에 따라 맞춤형 또는 IP 구매 방식을 통해 설계되며, 과거에는 진공관, 트랜지스터 등의 기술이 사용되었으나 현재는 CMOS 집적 회로가 주로 사용된다. 프로세서의 성능은 MIPS, FLOPS, 와트당 성능 등 다양한 지표로 평가되며, 벤치마킹 프로그램을 통해 객관적인 비교가 이루어진다. CPU는 범용 컴퓨팅, 과학 기술 컴퓨팅, 임베디드 시스템 등 다양한 시장에서 사용되며, 각 시장의 특성에 맞는 요구 사항을 충족하도록 설계된다.

더 읽어볼만한 페이지

  • 컴퓨터 공학 - 전자공학
    전자공학은 다이오드와 트라이오드의 발명으로 시작되어 트랜지스터와 집적 회로를 거쳐 컴퓨터와 디지털 기술 발전을 이끌었으며, 현재는 다양한 세부 분야로 발전하고 있다.
  • 컴퓨터 공학 - 컴퓨터 과학
    컴퓨터 과학은 컴퓨터와 관련된 현상을 연구하는 학문으로, 계산 이론, 하드웨어 및 소프트웨어 설계, 문제 해결 등을 포괄하며, 수학, 공학 등 여러 분야와 융합하여 발전해 왔다.
  • 중앙 처리 장치 - 마이크로컨트롤러
    마이크로컨트롤러는 프로세서, 메모리, 입출력 기능을 단일 칩에 통합하여 임베디드 시스템의 핵심이 되는 부품으로, 프로그램 내장 방식을 통해 소프트웨어만으로 제어 기능 변경이 가능하며, 현재는 32비트 ARM, MIPS 아키텍처 기반 제품이 주를 이루고, 저전력 소모, 소형화, 다양한 기능 통합을 특징으로 다양한 분야에서 활용된다.
  • 중앙 처리 장치 - NX 비트
    NX 비트는 하드웨어 기반 보안 기능으로, 메모리 페이지의 실행 권한을 제어하여 특정 영역에서 코드 실행을 막아 버퍼 오버플로 공격과 같은 보안 위협을 줄이는 데 사용되며, AMD에서 처음 도입 후 다양한 프로세서와 운영체제에서 DEP 등의 이름으로 구현되었다.
프로세서 설계
일반 정보
종류중앙 처리 장치
용도연산
논리
제어
입출력
구조 및 기능
구성 요소산술 논리 장치
제어 장치
레지스터
캐시 메모리
작동 원리명령어 인출
명령어 해독
명령어 실행
결과 저장
성능 지표
클럭 속도헤르츠 (Hz)
코어 수코어
명령어 처리량초당 명령어 수 (IPS)
벤치마크Dhrystone
Whetstone
설계 방식
명령어 집합 구조CISC
RISC
파이프라이닝유무 및 단계 수
슈퍼스칼라명령어 병렬 처리
멀티 코어코어 수 및 구조
기술 동향
미세 공정나노미터 (nm)
전력 소비와트 (W)
이종 컴퓨팅CPU와 GPU 통합
인공지능 가속AI 연산 특화 기능
제조사
주요 제조사인텔
AMD
ARM
삼성전자
TSMC
역사
초기 개발1940년대
트랜지스터화1950년대
집적 회로화1960년대
마이크로프로세서 등장1970년대

2. CPU 설계의 기본 원리

CPU 설계는 다양한 기본 구성 요소들의 유기적인 결합을 통해 이루어진다. 핵심 요소로는 데이터가 처리되고 이동하는 통로인 데이터 경로(ALU, 파이프라인 등 포함), 데이터 경로의 동작을 지시하는 제어 장치, 명령어와 데이터를 저장하는 메모리(레지스터 파일, 캐시 등), 전체 시스템의 동작 속도와 타이밍을 조율하는 클럭 회로, 그리고 기본적인 연산을 수행하는 논리 게이트 등이 있다.[2] 외부 장치와의 통신을 위한 패드 트랜시버 회로나, 반복적으로 사용되는 논리 구조를 모아놓은 셀 라이브러리 또한 중요한 구성 요소이다.[2]

CPU 설계 전략은 목표 시장과 성능 요구사항에 따라 달라진다. 고성능 프로세서는 목표 주파수, 전력 소모량, 칩 면적 등의 제약을 만족시키기 위해 각 구성 요소를 맞춤형으로 세밀하게 설계하는 경우가 많다. 반면, 저비용 또는 저전력 프로세서는 개발 기간과 비용을 줄이기 위해 검증된 IP(Intellectual Property) 코어를 구매하여 사용하거나, CAD 도구를 활용한 논리 합성 기술을 통해 설계 부담을 줄이기도 한다.[2]

성공적인 CPU 설계는 단순히 기능 구현을 넘어, 명령어 집합 아키텍처(ISA)와 이를 구현하는 마이크로아키텍처의 효율적인 설계, 데이터 처리 경로의 최적화, 정교한 제어 로직 구현, 고성능 메모리 시스템(특히 캐시) 구축, 안정적인 클럭 공급 등 다양한 측면을 종합적으로 고려해야 한다. 또한, 설계된 로직이 오류 없이 정확하게 동작하는지 검증하는 과정은 전체 개발에서 매우 중요한 부분을 차지한다.

역사적으로 캐시 메모리, 가상 기억 장치, 파이프라인, 슈퍼스칼라, CISC와 RISC 같은 명령어 집합 설계 철학, 가상 머신 등 다양한 아키텍처 개념들이 CPU 성능 발전에 크게 기여해왔다.

2. 1. 데이터 경로

데이터 경로는 CPU 내에서 정보가 전송되는 통로를 의미하며, 대표적으로 ALU파이프라인 등을 포함한다.[2] 데이터 경로를 통해 데이터의 처리 및 전송이 이루어지며, 이는 제어 장치의 논리에 의해 제어된다.[2]

Data path|데이터 패스영어는 실행 유닛을 데이터의 흐름 관점에서 본 것으로, 데이터 경로와 유사한 개념으로 사용된다. 여기에는 연산 장치와 명령어 파이프라인 등이 포함된다.

고성능 CPU를 설계할 때는 목표 성능(동작 주파수, 전력 소모, 칩 면적 등)을 달성하기 위해 데이터 경로를 포함한 각 구성 요소를 독자적으로 최적화하여 설계하는 경우가 많다.[2] 반면, 저가형 CPU에서는 IP(지적 재산) 형태로 기존 설계를 구매하거나, 논리 합성과 같은 CAD 도구를 이용한 기술을 데이터 경로 구현에 활용하여 개발 부담을 줄이기도 한다.[2]

역사적으로 파이프라인 방식은 CPU 성능 향상에 기여한 중요한 아키텍처 개념 중 하나이다.

2. 2. 제어 장치

제어 장치는 데이터 경로 (예: ALU파이프라인)를 제어하는 논리 회로이다.[2] 이는 CPU의 전체적인 동작 순서를 결정하고 각 장치에 제어 신호를 보내는 역할을 한다.

제어 로직 구현 기술로는 CAD 도구를 이용한 논리 합성이 있으며, 이 기술은 데이터 경로, 레지스터 파일, 클럭 등의 다른 부분을 구현하는 데에도 사용될 수 있다.[2] CPU 설계에 사용되는 일반적인 논리 스타일은 비구조적 임의 논리, 유한 상태 머신, 마이크로프로그래밍 (1965년부터 1985년까지 일반적이었음), 프로그래밍 가능 논리 어레이 (1980년대에 일반적이었으나 현재는 드묾) 등이 있다.[2]

프로세서의 제어 방식은 크게 마이크로프로그램 방식과 와이어드 로직 방식으로 나눌 수 있지만, 실제로는 명확하게 양분하기 어려운 경우도 있다. 제어 장치를 포함한 논리 회로의 하드웨어 구현 기술로는 전용으로 설계된 LSI가 일반적이며, 특정 용도 집적 회로인 ASIC이나 사용자가 프로그래밍할 수 있는 PLD 등도 사용된다. 과거에는 범용 로직 IC나 개별 부품(디스크리트)으로 구현되기도 하였다.

2. 3. 메모리

메모리 구성 요소는 정보를 저장하고 CPU가 빠르게 데이터에 접근할 수 있도록 돕는다.[2] 주요 구성 요소로는 레지스터 파일과 캐시가 포함된다.[2] 프로세서를 설계할 때는 메모리 구성, 특히 캐시의 구조와 메모리 인터페이스를 설계하는 것이 중요하다. 캐시와 레지스터는 프로세서의 전반적인 성능에 큰 영향을 미치기 때문에, 목표 성능을 달성하기 위해 세심한 회로 설계가 필요하다. 역사적으로 캐시 메모리와 가상 기억 장치는 컴퓨터 아키텍처 발전에 있어 중요한 개념으로 다루어진다.

2. 4. 클럭 회로

클럭 회로CPU의 내부 리듬과 타이밍을 유지하는 중요한 구성 요소이다.[2] 클럭 회로는 클럭 드라이버, PLL(Phase-Locked Loop), 그리고 클럭 분배 네트워크 등으로 구성된다.[2] 이는 CPU의 전체적인 동작 속도, 즉 클럭 주파수를 결정하는 핵심적인 역할을 한다.

고성능 CPU를 설계할 때는 목표하는 주파수, 전력 소모, 칩 면적 등을 달성하기 위해 클럭 회로를 포함한 주요 구성 요소를 사용자 정의 방식으로 직접 설계하는 경우가 많다.[2] 반면, 저성능이나 저가형 CPU에서는 설계 부담을 줄이기 위해 클럭 회로와 같은 일부 구성 요소의 IP(Intellectual Property) 코어를 구매하여 사용하기도 한다.[2] 또한, CAD(Computer-Aided Design) 도구를 이용한 논리 합성 기술을 활용하여 클럭 회로를 구현하기도 한다.[2]

2. 5. 논리 게이트

논리 게이트는 프로세서의 데이터 경로, 제어 장치 등 대부분의 구성 요소를 구현하는 데 사용되는 기본적인 전자 회로이다. 따라서 논리 게이트는 CPU 설계의 기초가 된다.[2] CPU 설계 시에는 특정 기능을 수행하는 논리 게이트들의 묶음을 미리 설계해 둔 논리 게이트 셀 라이브러리를 활용하기도 한다.

논리 회로를 하드웨어로 구현하는 기술은 시대에 따라 발전해왔다. 초기 컴퓨터(1960년대 전반까지)는 개별 부품(디스크리트)이나 작은 기판에 소수의 부품을 집적한 회로 모듈로 만들어졌다. 이후 범용 로직 IC가 등장했으며, 대표적으로 TTL, ECL, CMOS 등이 사용되었다. 기술이 더 발전하면서 특정 용도에 맞게 설계된 LSI(Large Scale Integration)가 등장했고, 마이크로프로세서 이후에는 LSI 방식이 일반화되었다. LSI 역시 초기에는 TTL이나 ECL 기반이었으나, 현재는 저전력 특성이 우수한 CMOS 방식이 가장 널리 쓰인다. 특정 목적을 위해 주문 제작되는 ASIC(Application-Specific Integrated Circuit)이나, 사용자가 직접 논리 회로를 프로그래밍할 수 있는 PLD(Programmable Logic Device) 등도 논리 회로 구현에 사용된다. PLD는 주로 시제품 제작이나 생산량이 많지 않은 제품, 소프트 프로세서 구현 등에 활용된다.

CPU 설계 과정에서 논리 게이트와 관련된 주요 작업으로는 RTL(Register-Transfer Level) 설계를 바탕으로 실제 논리 게이트 수준의 회로를 만드는 논리 합성 또는 직접 게이트 레벨에서 설계하는 작업이 있다. 또한, 설계된 논리 게이트들을 칩 위에 효율적으로 배치하고 연결하는 물리적 설계 작업과, 각 설계 단계(RTL, 게이트 레벨, 트랜지스터 레벨, 물리 레벨)가 동일한 기능을 수행하는지 검증하는 등가성 검증 작업도 중요하다.

3. CPU 구현 기술

CPU를 구현하는 데에는 다양한 기술이 동원되며, 어떤 기술을 선택하고 어떻게 설계하는지에 따라 최종적인 성능, 전력 소비, 생산 비용 등이 크게 달라진다. CPU 구현에 사용되는 구체적인 논리 회로 구현 방식과 상세한 설계 과정은 시대와 목적에 따라 다양하게 발전해왔다.

기술의 발전, 특히 집적 회로 기술의 발달은 CPU 설계에 큰 변화를 가져왔다. 동일한 기능을 더 작은 면적에 집적하는 것이 가능해지면서, CPU 코어를 재설계하여 크기를 줄이는 것이 일반적인 성능 향상 전략이 되었다. 코어를 더 작은 다이 영역으로 축소하면 다음과 같은 여러 이점을 얻을 수 있다.[2]


  • 성능 향상: 트랜지스터 크기가 작아지면 스위칭 속도가 빨라져 CPU의 동작 속도를 높일 수 있다.
  • 전력 소비 감소: 배선 길이가 줄어들면 기생 커패시턴스가 감소하여 전력 소모를 줄일 수 있다.
  • 비용 절감: 동일한 실리콘 웨이퍼에서 더 많은 수의 CPU를 생산할 수 있게 되어 개당 생산 비용이 낮아진다.
  • 집적도 향상: 코어 크기가 줄어든 만큼 남는 공간에 추가적인 캐시 메모리를 넣거나, 여러 개의 CPU 코어를 집적하거나(멀티 코어 프로세서), 다른 기능 블록들을 통합하는 것이 가능해진다. 이는 칩 하나로 더 높은 성능을 내거나 다양한 기능을 수행하게 하여 전체 시스템 비용을 절감하는 효과를 가져온다.


이러한 물리적인 구현 기술 외에도, CPU의 성능과 기능을 결정짓는 중요한 요소로 컴퓨터 아키텍처와 제어 방식이 있다. 역사적으로 캐시 메모리, 가상 메모리, 파이프라인, 슈퍼스칼라, CISC와 RISC 같은 명령어 집합 구조, 가상 머신, 에뮬레이터, 스택 활용 등 다양한 아키텍처 혁신이 이루어져 왔다.[2] 또한 CPU 내부 동작을 제어하는 방식으로는 크게 마이크로프로그램 방식과 와이어드 로직 방식이 사용된다.[2] 이러한 아키텍처 및 제어 방식의 선택과 최적화 역시 CPU 구현 기술의 중요한 부분을 차지한다.

3. 1. 구현 방식

프로세서의 논리 회로를 구현하는 데 사용되는 기술은 시대에 따라 변화해왔다. 과거에는 개별 부품이나 초기의 집적 회로 기술이 사용되었지만, 현재는 고도로 집적된 CMOS 기술이 주류를 이룬다.

프로세서 논리 구현 방식의 변화
구분기술현재 CPU에서의 사용 현황
과거 기술개별 진공관, 개별 트랜지스터, 반도체 다이오드더 이상 사용되지 않음
트랜지스터-트랜지스터 로직(TTL) 소규모 집적 회로 논리 칩더 이상 사용되지 않음
프로그래머블 어레이 로직(PAL) 및 프로그래머블 논리 소자(PLA)더 이상 사용되지 않음
이미터 결합 로직(ECL) 게이트 어레이, CMOS 게이트 어레이거의 사용되지 않음
현재 주류CMOS 대량 생산 IC대부분의 CPU에서 사용
특수 용도CMOS ASIC높은 비용 때문에 소수의 특수 응용 분야에 한정적으로 사용
필드 프로그래머블 게이트 어레이(FPGA)소프트 마이크로프로세서 구현이나 재구성 가능한 컴퓨팅 분야에서 주로 사용



과거에는 진공관이나 개별 트랜지스터, 다이오드 같은 부품을 직접 사용하여 논리 회로를 구성했다. 이후 트랜지스터-트랜지스터 로직(TTL)과 같은 소규모 집적 회로(SSI) 칩, 프로그래머블 어레이 로직(PAL), 프로그래머블 논리 소자(PLA), 이미터 결합 로직(ECL) 게이트 어레이 등이 개발되었으나, 현재 CPU 설계에는 거의 사용되지 않는다.

오늘날 제작되는 CPU의 대다수는 CMOS 공정을 이용한 집적 회로(IC)로 만들어진다. 특히 대량 생산되는 IC 형태가 일반적이다.

특수한 목적이나 환경에서는 다른 방식이 사용되기도 한다. 주문형 반도체(ASIC)는 특정 응용 프로그램에 최적화된 성능을 제공하지만, 설계 및 생산 비용이 매우 높아 소수의 특수한 경우에만 사용된다. 반면, 필드 프로그래머블 게이트 어레이(FPGA)는 설계 후에도 내부 회로를 재구성할 수 있는 유연성 덕분에 소프트 마이크로프로세서를 구현하거나 재구성 가능한 컴퓨팅과 같이 하드웨어 변경이 필요한 분야에서 널리 활용된다.

3. 2. 설계 과정

CPU 설계 프로젝트는 일반적으로 다음과 같은 주요 과제를 포함한다.[2]

CPU 설계 주요 과제
단계설명
명령어 집합 아키텍처 (ISA) 정의프로그래머 관점에서 보이는 ISA를 정의한다. 이는 다양한 마이크로아키텍처로 구현될 수 있다.
아키텍처 연구 및 성능 모델링ANSI C/C++ 또는 SystemC 등을 이용해 아키텍처를 연구하고 성능 모델링을 수행한다.
논리 구현고수준 합성 (HLS) 또는 레지스터 전송 레벨 (RTL)로 논리 구현을 진행한다.
RTL 검증구현된 RTL의 기능적 정확성을 검증한다.
회로 설계캐시, 레지스터, ALU 등 속도가 중요한 핵심 구성 요소에 대한 회로 설계를 수행한다.
논리 합성 및 게이트 레벨 설계논리 합성을 통해 논리 게이트 레벨 설계를 생성하거나 직접 게이트 레벨 설계를 진행한다.
정적 타이밍 분석모든 논리와 회로가 목표 동작 주파수에서 정상적으로 작동하는지 확인한다.
물리적 설계플로어플래닝, 논리 게이트의 배치 및 라우팅 등 물리적 설계를 수행한다.
등가성 검증RTL, 게이트 레벨, 트랜지스터 레벨, 물리적 레벨 등 각 설계 단계의 표현이 기능적으로 동일한지 확인한다.
제조 가능성 확인신호 무결성 분석 및 DRC (Design Rule Check)를 통해 칩 제조 가능성을 확인한다.



고성능 프로세서를 설계할 때는 목표 주파수, 전력 소모, 칩 면적 등을 만족시키기 위해 각 구성 요소를 맞춤 설계(custom design)해야 하는 경우가 많다. 반면, 저성능 또는 저가형 프로세서의 경우, 일부 구성 요소는 기존에 설계된 IP (Intellectual Property) 코어를 구매하여 사용하거나, 제어 로직 구현에 사용되는 논리 합성 기법을 데이터 경로, 레지스터 파일 등 다른 부분에도 적용하여 구현 부담을 줄이기도 한다.[2]

복잡한 전자 설계 전반과 마찬가지로, CPU 설계 과정에서 논리 검증(설계된 내용에 오류가 없음을 증명하는 작업)은 프로젝트 일정에서 매우 큰 비중을 차지하며 중요하다.[2]

4. CPU 성능 분석 및 벤치마킹

CPU의 성능은 컴퓨터 시스템의 전반적인 속도와 효율성을 결정하는 핵심 요소이므로, 이를 정확하게 분석하고 비교하는 것이 중요하다. CPU 성능을 측정하고 평가하는 대표적인 방법으로 벤치마킹이 사용된다. 벤치마킹은 특정 표준 프로그램이나 작업을 실행하여 CPU의 처리 능력, 속도, 효율성 등을 객관적인 수치로 나타내는 과정이다.

CPU 성능을 평가하는 데에는 다양한 지표가 사용되며, 어떤 지표를 중요하게 볼 것인지는 CPU의 사용 목적이나 시스템 환경에 따라 달라진다. 예를 들어, 일반적인 연산 처리 속도를 나타내는 MIPS, 과학 기술 계산 능력을 보여주는 FLOPS, 전력 소비 대비 성능을 나타내는 와트당 성능 등이 주요 지표로 활용된다.[3][4] 이 외에도 비용 대비 성능, 실시간 컴퓨팅 환경에서의 응답 속도 등 다양한 측면에서 성능을 평가할 수 있다.

성능 측정을 위해서는 SPEC에서 개발한 SPECint, SPECfp나 EEMBC(임베디드 마이크로프로세서 벤치마크 컨소시엄)의 ConsumerMark와 같이 널리 인정받는 표준 벤치마크 프로그램들이 사용된다. 이러한 프로그램들은 특정 유형의 작업 부하를 모방하여 서로 다른 CPU 간의 성능을 공정하게 비교할 수 있는 기준을 제공한다.

하지만 CPU 성능을 높이기 위한 여러 설계 요소들은 서로 상충 관계(트레이드오프)를 가지는 경우가 많다. 예를 들어, 단순히 처리 속도를 높이는 데 집중하면 전력 소모가 증가하거나 비용이 높아질 수 있다. 반대로 전력 효율이나 비용 효율성을 우선시하면 최고 성능이 제한될 수 있다. 따라서 CPU 성능을 종합적으로 이해하기 위해서는 단일 지표가 아닌, 사용 목적에 맞는 다양한 지표와 벤치마크 결과를 균형 있게 고려해야 한다. 구체적인 성능 지표의 종류와 다양한 벤치마크 프로그램에 대한 자세한 설명은 이어지는 하위 섹션에서 다룬다.

4. 1. 성능 지표

벤치마킹은 CPU의 속도를 측정하는 방법 중 하나이다. 예를 들어, SPEC에서 개발한 SPECint와 SPECfp, EEMBC에서 개발한 ConsumerMark 등이 있다.

프로세서의 성능을 평가하는 데에는 다양한 지표가 사용된다. 각 지표는 사용 목적이나 환경에 따라 중요도가 달라진다. 주요 성능 지표는 다음과 같다.

성능 지표설명주요 고려 대상
초당 명령어 수 (MIPS)1초당 처리할 수 있는 명령어의 수. 특정 컴퓨터 아키텍처(예: 인텔IA-32)에서의 기존 소프트웨어 호환성을 중시하는 소비자들이 참고할 수 있다. 다만, 일부는 벤치마크 정보 없이 작동 주파수(클럭 속도)만 보고 CPU를 선택하기도 한다 (메가헤르츠 신화 참조).일반 소비자, 기존 소프트웨어 호환성
FLOPS1초당 처리할 수 있는 부동소수점 연산의 수.과학 기술 계산용 컴퓨터 선택 시 중요
와트당 성능소비 전력 1와트당 처리 성능. CPU 자체 비용보다 전력 공급 비용이 더 클 수 있는 대규모 병렬 컴퓨팅 시스템(예: 구글의 시스템) 설계 시 중요한 고려 사항이다.[3][4] 저전력 시스템(예: 슈퍼컴퓨터, 노트북)에서도 중요하다.병렬 컴퓨팅 시스템, 슈퍼컴퓨터, 저전력 기기
달러당 성능비용 대비 성능 효율.병렬 컴퓨팅 시스템 구축 시 비용 효율성
인터럽트 지연 시간, 결정적 응답외부 요청(인터럽트)에 대해 얼마나 빠르고 예측 가능하게 반응하는지 나타내는 지표. 최악의 경우 응답 시간을 보장해야 하는 실시간 컴퓨팅 시스템(예: DSP 활용 시스템) 설계 시 매우 중요하다.실시간 컴퓨팅 시스템
명령어 집합 지원CPU가 지원하는 명령어의 종류와 기능. 어셈블리 언어로 직접 프로그래밍하는 경우 중요하다.어셈블리 언어 프로그래머
저전력낮은 전력 소비량. 태양열, 배터리 등 제한된 전원으로 작동하는 시스템에서 중요하다.배터리 구동 기기, 임베디드 시스템
크기 및 무게물리적 크기와 무게. 공간이나 무게 제약이 있는 시스템에서 중요하다.휴대용 기기, 임베디드 시스템, 우주선용 시스템
환경 영향제조, 사용, 폐기 과정에서 환경에 미치는 영향. 그린 컴퓨팅 관점에서 중요성이 커지고 있다.그린 컴퓨팅



이러한 성능 지표들은 서로 상충 관계(trade-off)에 있는 경우가 많다. 예를 들어, 단순히 처리 속도를 높이기 위한 설계는 전력 효율성(와트당 성능), 비용 효율성(달러당 성능), 실시간 응답성 등을 악화시킬 수 있으며, 그 반대의 경우도 마찬가지이다. 따라서 프로세서 설계 시에는 목표하는 용도와 환경에 맞춰 어떤 성능 지표를 우선시할지 결정하는 것이 중요하다.

4. 2. 벤치마크 프로그램

벤치마킹CPU의 속도를 측정하고 비교하는 방법이다. 초기 컴퓨터 시대에는 특정 명령어(덧셈, 곱셈 등)를 실행하는 데 걸리는 시간으로 성능을 평가했지만, 메모리 접근 시간 등을 고려하면서 MIPS (초당 명령어 수)와 같은 지표가 등장했다. 이후 실제 프로그램에서 사용되는 명령어 비율을 고려한 '믹스' 지표(예: 깁슨 믹스)가 나왔으나, 1970년대 초반에도 이미 구식으로 여겨졌다.[21] 결국 특정 프로그램을 실행시켜 성능을 측정하는 벤치마크 프로그램 방식이 주류가 되었다.

하지만 벤치마크 결과가 항상 절대적인 것은 아니다. "가장 믿을 수 있는 벤치마크는 실제로 사용하려는 애플리케이션 자체를 실행하는 것"이라는 격언이나, 저곤 파일에 인용된 "컴퓨터 업계에는 세 종류의 거짓말이 있다: 거짓말, 지독한 거짓말, 그리고 벤치마크"라는 말처럼[22], 벤치마크 결과를 해석할 때는 주의가 필요하다. 그럼에도 불구하고 정량적인 성능 비교를 위해서는 벤치마크 프로그램이 유용하게 사용되며, 다양한 목적에 맞는 벤치마크들이 개발되었다.

주요 벤치마크 프로그램은 다음과 같다.

  • Whetstone (1972년): 주로 부동소수점 연산 성능을 측정한다.
  • Dhrystone (1984년): 주로 정수 연산 및 문자열 처리 성능을 측정한다. VAX 11/780 컴퓨터에서의 결과를 기준으로 한 DMIPS(Dhrystone MIPS) 값은 여전히 사용되기도 한다.
  • 표준 성능 평가 공사 (SPEC) 시리즈 (1988년~): 산업 표준으로 널리 사용되며, 정수 연산 성능을 측정하는 SPECint와 부동소수점 연산 성능을 측정하는 SPECfp가 대표적이다.
  • EEMBC (임베디드 마이크로프로세서 벤치마크 컨소시엄)의 ConsumerMark: 임베디드 시스템 마이크로프로세서의 성능을 측정하기 위해 개발되었다.


고성능 컴퓨팅 (HPC) 분야에서는 다음과 같은 특화된 벤치마크가 사용된다.

  • HPL (High-Performance Linpack): 선형 대수 라이브러리인 LINPACK에 기반하며, 밀집 행렬을 이용한 대규모 연립 일차 방정식 풀이 성능을 측정한다. TOP500 슈퍼컴퓨터 순위의 표준 벤치마크로 오랫동안 사용되고 있다.
  • HPCG (High Performance Conjugate Gradient): 켤레 기울기법을 이용하며, 희소 행렬 계산 성능을 측정한다. HPL이 측정하지 못하는 메모리 대역폭이나 통신 성능 등을 반영하여 HPL을 보완하는 벤치마크로 여겨진다.
  • Graph500: 거대 규모의 그래프 탐색 성능을 측정하며, 초당 처리 간선 수(TEPS, Traversed Edges Per Second)를 지표로 사용한다. 빅 데이터 분석 등에서 중요성이 커지고 있다.
  • Green500: HPC 시스템의 에너지 효율을 평가하는 벤치마크로, 성능(FLOPS)을 소비 전력(Watt)으로 나눈 값을 기준으로 순위를 매긴다. 와트당 성능이 중요한 평가 요소이다.


이 외에도 MIPS (초당 명령어 수), FLOPS (초당 부동소수점 연산 횟수), 와트당 성능, 가격 대비 성능, 실시간성(인터럽트 지연 시간), 명령어 집합의 충실도, 크기 및 무게, 환경 영향(그린 컴퓨팅) 등 다양한 관점에서 프로세서 성능을 평가할 수 있다.[3][4] 그러나 특정 지표를 최적화하면 다른 지표는 나빠지는 트레이드오프 관계가 존재하기도 한다. 예를 들어, 단순히 속도를 높이는 설계는 전력 효율이나 비용 효율성을 떨어뜨릴 수 있다.

5. CPU 시장

CPU가 사용되는 시장은 여러 가지가 있으며, 각 시장은 CPU에 대한 요구 사항이 다르다. 따라서 한 시장을 위해 설계된 장치가 다른 시장에는 적합하지 않은 경우가 많다.

마이크로프로세서 시장은 크게 세 가지 주요 분야로 나눌 수 있다.


  • 범용 컴퓨팅 시장: 주로 개인용 컴퓨터서버에 사용되며, 과거 인텔IA-32 아키텍처가 시장을 주도했고 높은 부가가치를 창출했다.
  • 과학 기술 컴퓨팅 시장: 슈퍼컴퓨터 등을 활용하는 시장으로, 주로 연구 기관이나 대학교가 고객이다. 과거에는 이 시장을 위한 전용 CPU 설계가 활발했지만, 점차 범용 CPU를 활용하는 방식으로 변화했다.
  • 임베디드 시스템 시장: 출하량 기준 최대 시장으로, 각종 전자기기에 내장되는 마이크로컨트롤러(또는 '''원칩 마이컴''')가 대표적이다. 저렴한 가격, 저전력, 기능 통합, 빠른 인터럽트 반응 속도, 비교적 긴 생산 기간 등이 주요 특징이다.

5. 1. 범용 컴퓨팅 시장

2010년 기준으로, 기업과 가정에서 흔히 사용하는 데스크톱, 노트북, 서버 컴퓨터 등 일반적인 컴퓨팅 시장에서는 인텔IA-32 아키텍처와 그 64비트 버전인 x86-64 아키텍처가 시장을 지배하고 있다. 경쟁 아키텍처인 PowerPC와 SPARC는 훨씬 적은 고객 기반을 유지하고 있을 뿐이다. 매년 수억 개의 IA-32 아키텍처 CPU가 이 시장에서 사용되고 있으며, 이 중 상당수는 넷북이나 노트북과 같은 모바일 기기에 탑재되고 있다.[5] 마이크로프로세서 판매 수익의 대부분은 바로 이 범용 컴퓨팅 시장, 즉 비즈니스나 가정에서 사용하는 개인용 컴퓨터서버 판매에서 발생하며, 이는 고부가가치에 따른 이윤이 큰 시장이라는 점이 중요했다.

범용 컴퓨터는 특정 작업에 국한되지 않고 매우 다양한 종류의 프로그램을 실행해야 하므로, 여기에 사용되는 CPU는 특정 응용 프로그램이나 기능에 맞춰 설계되지 않는다. 광범위한 프로그램을 효율적으로 실행해야 한다는 요구 사항 때문에, 이러한 CPU 설계는 기술적으로 가장 발전된 형태를 띠게 되었지만, 동시에 상대적으로 비용이 많이 들고 전력 소비가 크다는 단점을 안게 되었다.

고성능 CPU 개발에는 막대한 비용과 시간이 소요된다. 1984년 당시에도 대부분의 고성능 CPU 개발에는 4년에서 5년이 걸렸다.[6] CPU 설계 시 주요 목표는 다음과 같다.

  • 단일 프로그램 또는 스레드의 성능 강화
  • 여러 프로그램 또는 스레드의 처리량 성능 강화
  • 동일 성능 수준에서 더 낮은 소비 전력 달성
  • 동일 성능 수준에서 더 낮은 가격 달성
  • 연결성 강화를 통한 대규모 병렬 시스템 구축 지원
  • 특정 시장을 겨냥한 특화 설계


때로는 기본적인 재설계 없이 제조 공정을 개선하거나 단순히 패턴을 축소(슈링크)하는 것만으로도 이러한 목표 중 일부를 달성할 수 있다. 예를 들어, 전체 칩 크기를 줄이면(포토 마스크 축소) 동일한 수의 트랜지스터를 더 작은 면적에 집적할 수 있어 성능이 향상되고(트랜지스터가 작아져 스위칭 시간 단축), 전력 소비가 줄어들며(배선이 짧아져 기생 용량 감소), 비용이 절감된다(동일한 실리콘 웨이퍼에서 더 많은 칩 생산 가능). 동일한 다이 크기에서 프로세서 코어를 축소하면 제조 비용은 거의 동일하지만, 남는 면적에 캐시 추가나 다중 프로세서 코어 등 다양한 기능을 집적하여 성능을 향상시키고 시스템 전체 비용을 절감할 수 있다.

새로운 하이엔드 CPU 개발은 논리적 복잡성(설계 및 검증에 많은 인력과 시뮬레이션 자원 필요)과 높은 동작 주파수(대규모 회로 설계팀과 최신 제조 공정 필요) 때문에 비용이 많이 든다. 하이엔드 CPU 설계 비용은 1억달러에 달할 수 있으며, 설계 기간은 약 5년이 소요된다. 따라서 경쟁력을 유지하기 위해서는 최소 두 개의 개발 팀을 동시에 운영해야 할 필요가 있다. 과거에는 PC용보다 고성능 시장이었던 워크스테이션용 프로세서 시장이 이러한 고비용 구조를 보여주는 예시가 될 수 있다(현재는 거의 사라진 시장이다). 예를 들어, 미국에서 컴퓨터 기술자 1명을 고용하는 데 연간 25만달러가 소요된다고 가정하면(급여, 복리후생, CAD 도구, 컴퓨터, 사무실 임대료 등 포함), 100명의 기술자가 4년간 CPU를 설계할 경우 총비용은 1억달러가 된다. 실제 설계 팀 규모는 최근 수백 명에 이르는 것으로 알려져 있다.

2004년 현재, 최신 기술을 사용한 범용 컴퓨팅용 CPU를 설계하는 곳은 인텔(Intel), AMD(AMD), IBM, 후지쯔(Fujitsu) 4곳뿐이었다. 모토로라(Motorola)는 수익성이 악화된 반도체 부문을 프리스케일 반도체(Freescale Semiconductor)로 분사시켰다. 타사로부터 CPU 설계를 위탁받아 생산하는 주요 기업으로는 글로벌파운드리즈(GLOBALFOUNDRIES), 텍사스 인스트루먼트(Texas Instruments), TSMC, 도시바(Toshiba) 등이 있다.

5. 2. 과학 기술 컴퓨팅 시장

슈퍼컴퓨터 등에 활용되는 과학 기술 컴퓨팅 시장은 수익이나 출하량 면에서 볼 때 상대적으로 작은 틈새 시장이며, 주로 정부 연구소나 대학교에서 활용된다. 과거 1990년대 이전에는 이 시장의 특수한 요구사항을 만족시키기 위해 전용 CPU 설계가 이루어지는 경우도 많았다. 하지만 시간이 지나면서 대량 생산되는 범용 CPU를 클러스터 형태로 대규모로 묶어 사용하는 것이 비용 측면에서 더 효율적이라는 점이 입증되었다. 이에 따라 현재는 과학 기술 컴퓨팅 분야만을 위한 전용 CPU 설계는 거의 이루어지지 않게 되었다. 대신, 다수의 범용 CPU들을 서로 연결하여 성능을 극대화하기 위한 고속 데이터 전송 시스템과 같은 하드웨어 설계 및 연구가 주요 관심사로 남아 있다.

5. 3. 임베디드 시스템 시장

출하량 기준으로 볼 때, 대부분의 CPU는 전화기, 시계, 가전제품, 차량 및 인프라와 같은 다른 기기에 내장되는 임베디드 시스템의 형태로 사용된다. 임베디드 프로세서는 연간 수십억 개가 판매되지만, 대부분 범용 프로세서보다 훨씬 낮은 가격으로 판매된다.

이러한 특정 기능을 수행하는 장치들은 우리가 더 흔히 접하는 범용 CPU와는 몇 가지 중요한 차이점을 가진다.

  • 저렴한 비용: 대량 생산되고 특정 용도에 맞춰지므로 가격 경쟁력이 매우 중요하다.
  • 낮은 전력 소비: 많은 임베디드 기기는 제한된 배터리 수명으로 작동하거나 냉각 팬을 설치하기 어렵기 때문에, 전력 소모를 최소화하는 것이 핵심적인 설계 목표가 된다.
  • 주변 장치 통합: 시스템 전체 비용을 낮추고, 소비 전력을 줄이며, 회로 기판의 공간을 절약하기 위해 GPIO와 같은 주변 장치들을 프로세서와 동일한 실리콘 칩 위에 통합한다. 칩 내부에 주변 장치를 두면 외부 신호 유지를 위해 필요했던 높은 전류 부하를 감당할 버퍼링 필요성이 줄어들어 전력 소모 감소에도 기여한다. 또한, 물리적 공간이 제한적인 많은 임베디드 환경에서 칩 내 통합은 필수적이다.
  • 메모리 통합: 프로그램과 데이터를 저장하는 메모리 역시 동일 칩에 통합되는 경우가 많다. 만약 허용된 프로그램 메모리가 ROM 뿐이라면, 이 장치는 마이크로컨트롤러로 분류된다.
  • 인터럽트 지연 시간: 많은 임베디드 애플리케이션에서는 외부 사건에 대한 빠른 반응 속도, 즉 인터럽트 지연 시간을 최소화하는 것이 일부 범용 프로세서에서보다 더 중요하다.


대표적인 임베디드 CPU 아키텍처로는 다음과 같은 것들이 있다.

  • 8051: 연간 약 10억 개가 출하되어 가장 많은 수량을 기록하는 임베디드 CPU 제품군이다.[7] 매우 저렴한 가격과 함께, 설계 자산(IP)이 널리 보급되어 있어 새로운 설계에 드는 시간과 비용이 거의 0에 가깝다는 장점이 있다. 현재는 더 큰 시스템 온 칩(SoC)의 일부 구성 요소로 내장되는 경우가 많다. 일부 8051 구현은 2,200개의 논리 게이트와 0.473mm2의 작은 실리콘 면적만을 사용하며, 그 비용은 0.001USD 수준까지 낮아졌다.[8][9]
  • ARM 아키텍처: 2009년 기준으로, 다른 어떤 32비트 명령어 집합 아키텍처보다 ARM 기반 CPU가 더 많이 생산되었다.[10][11] ARM 아키텍처와 그 첫 번째 칩은 약 1년 반의 기간 동안 5 인년(person-year)으로 설계되었다.[12] 스마트폰, 태블릿 등 모바일 기기 시장에서 압도적인 점유율을 차지하며 임베디드 시스템 시장의 성장을 이끌고 있다.
  • 기타 아키텍처:
  • 32비트 패럴랙스 프로펠러 마이크로컨트롤러 아키텍처와 첫 칩은 두 사람이 약 10 인년으로 설계했다.[13]
  • 8비트 AVR 아키텍처와 첫 AVR 마이크로컨트롤러는 노르웨이 과학 기술 대학교의 두 학생이 구상하고 설계했다.
  • 8비트 6502 아키텍처와 첫 칩은 약 9명의 그룹이 13개월 만에 설계했다.[14]


임베디드 시스템에서는 최고 수준의 성능보다는 전력 소비 효율이 더 중요하게 여겨지는 경우가 많다. 이러한 요구사항에 맞춰 논리 합성 기술을 통해 완전히 구현할 수 있는 소프트 마이크로프로세서를 사용하기도 한다. 소프트 마이크로프로세서는 개발 기간을 단축하여 제품의 출시 기간을 앞당기는 데 유리하다.

임베디드 프로세서 설계 시 고려되는 주요 목표는 다음과 같다.

  • 단일 프로그램 또는 스레드의 성능 강화
  • 여러 프로그램 또는 스레드의 처리량(throughput) 성능 강화
  • 동일한 성능 수준을 더 낮은 소비 전력으로 달성
  • 동일한 성능 수준을 더 낮은 가격으로 달성
  • 연결성을 강화하여 더 큰 규모의 병렬 시스템 구축 지원
  • 특정 시장을 목표로 하는 기능 특화


때로는 기본적인 설계를 변경하지 않고 제조 공정을 개선하거나 단순히 회로 패턴을 축소(슈링크)하는 것만으로도 이러한 목표 중 일부를 달성할 수 있다.

  • 전체 칩 크기를 축소하면(포토마스크 축소) 동일한 수의 트랜지스터를 더 작은 면적에 집적할 수 있어 성능이 향상되고(트랜지스터가 작아지면 스위칭 속도가 빨라짐), 전력 소비가 줄어들며(배선이 짧아지면 기생 용량이 감소), 비용이 절감된다(동일한 실리콘 웨이퍼에서 더 많은 칩 생산 가능).
  • 동일한 다이(die) 크기를 유지하면서 프로세서 코어만 축소하면, 남는 공간에 캐시 메모리를 추가하거나 여러 개의 프로세서 코어를 집적하는 등 성능을 향상시키고 시스템 전체 비용을 절감할 수 있는 여지가 생긴다.


결론적으로, 출하 대수 기준으로 볼 때 마이크로프로세서의 대다수는 전화기, 시계, 자동차 등 다양한 기기에 내장되는 마이크로컨트롤러(원칩 마이컴) 형태이다. 이들은 범용 프로세서보다 훨씬 저렴하며, 저전력, 주변 기능 통합, 메모리 통합, 짧은 인터럽트 지연 시간, 그리고 상대적으로 긴 생산 기간(약 10년) 등의 특징을 가진다.

6. 한국의 CPU 설계 기술 현황과 과제

한국은 메모리 반도체 분야에서 세계적인 경쟁력을 갖추고 있지만, CPU를 포함한 시스템 반도체 설계 기술은 상대적으로 뒤처져 있다는 평가를 받는다. 이는 한국 반도체 산업의 불균형적인 구조를 보여주는 단면이기도 하다.

삼성전자, SK 하이닉스와 같은 국내 주요 기업들이 자체적인 CPU 설계 역량을 강화하기 위해 노력하고 있으나, 아직까지는 인텔, ARM 등 해외 기업의 기술에 대한 의존도가 높은 상황이다. 특히 고성능 서버용 CPU나 모바일 AP의 핵심 코어 설계 등 중요 분야에서는 이러한 경향이 더욱 두드러진다.

AI, 자율주행차, IoT 등 4차 산업혁명 시대를 맞아 핵심적인 역할을 수행할 시스템 반도체, 그중에서도 연산의 핵심인 CPU 설계 기술 확보는 국가 경쟁력 차원에서 매우 중요한 과제로 부상하고 있다. 따라서 해외 기술 의존도를 낮추고 독자적인 CPU 설계 역량을 키우는 것이 한국 반도체 산업의 지속적인 성장을 위한 시급한 과제로 지적된다.

7. 미래 CPU 설계 기술 동향

무어의 법칙이 물리적 한계에 가까워짐에 따라, 전통적인 단일 코어 성능 향상만으로는 컴퓨팅 성능 요구를 충족하기 어려워지고 있다. 이에 따라 CPU 설계 기술은 성능 향상, 전력 효율 증대, 새로운 기능 통합 등 다양한 방향으로 혁신을 모색하고 있다.

가장 두드러진 변화는 다중 코어(Multi-core) 설계의 보편화이다. 여러 개의 CPU 코어를 하나의 칩에 집적하여 병렬 처리 능력을 높이는 방식이다. 더 나아가, 고성능 코어와 저전력 코어를 함께 탑재하여 작업 부하에 따라 효율적으로 작동하는 이종 코어(Heterogeneous computing) 아키텍처도 스마트폰 AP를 중심으로 널리 사용되고 있으며, 데스크톱 및 서버 CPU로도 확산되고 있다.

최근에는 칩렛(Chiplet) 기술이 주목받고 있다. 이는 CPU, GPU, 메모리 컨트롤러, 입출력(I/O) 등 다양한 기능을 가진 작은 반도체 조각(칩렛)들을 하나의 패키지 위에 연결하여 고성능 프로세서를 구현하는 방식이다. 칩렛 구조는 각 기능별로 최적화된 공정을 사용하고, 개발 비용과 시간을 절감하며, 수율을 높이는 데 유리하다.

또한, 인공지능(AI) 연산 능력이 중요해짐에 따라, CPU 내부에 AI 가속을 위한 전용 하드웨어를 통합하는 추세가 강화되고 있다. 신경망 처리 장치(NPU) 등이 대표적이다. 미래에는 양자 컴퓨팅과 같은 새로운 컴퓨팅 패러다임과 기존 CPU 아키텍처를 어떻게 연계하고 통합할 것인지에 대한 연구도 활발히 진행될 것으로 예상된다. 이러한 주류 기술 발전 외에도 다양한 새로운 설계 아이디어들이 연구되고 있다.

7. 1. 새로운 설계 아이디어

다양한 새로운 CPU 설계 아이디어가 제안되었으며, 여기에는 재구성 가능한 로직, 무클럭 CPU, 계산형 RAM, 그리고 광학 컴퓨팅 등이 포함된다.

참조

[1] 웹사이트 Xilinx Announces World Largest FPGA: Virtex Ultrascale+ VU19P with 9m Cells https://www.anandtec[...] 2019-08-27
[2] 서적 Digital Systems: From Logic Gates to Processors https://books.google[...] Springer 2016-10-12
[3] 웹사이트 EEMBC ConsumerMark http://www.eembc.org[...]
[4] 웹사이트 Power could cost more than servers, Google warns https://www.zdnet.co[...] 2005-12-09
[5] 뉴스 AMD Loses Market Share as Mobile CPU Sales Outsell Desktop for the First Time. http://www.maximumpc[...] Maximum PC 2010-10-26
[6] 간행물 New system manages hundreds of transactions per second Electronics magazine 1984-04-19
[7] 웹사이트 8051 Overview http://people.wallaw[...] 2011-07-10
[8] 웹사이트 T8051 Tiny 8051-compatible Microcontroller http://www.keil.com/[...]
[9] 문서 To figure dollars per square millimeter, see [http://www.overclockers.com/forums/showthread.php?t=550542], and note that an SOC component has no pin or packaging costs. http://www.overclock[...]
[10] 뉴스 ARM Cores Climb Into 3G Territory http://www.extremete[...] 2002
[11] 뉴스 The Two Percent Solution http://www.embedded.[...] 2002
[12] 웹사이트 ARM's way https://web.archive.[...] 1998
[13] 웹사이트 Why the Propeller Works http://www.parallax.[...]
[14] 웹사이트 Interview with William Mensch http://silicongenesi[...] 2009-02-01
[15] 웹사이트 Design and Implementation of RISC I http://www.eecs.berk[...]
[16] 웹사이트 the VHS http://sub-zero.mit.[...]
[17] 웹사이트 Teaching Computer Design with FPGAs http://www.fpgacpu.o[...]
[18] 논문 A 20-MIPS sustained 32-bit CMOS microprocessor with high ratio of sustained to peak performance 1989-10
[19] 웹사이트 MultiTitan: Four Architecture Papers http://www.hpl.hp.co[...]
[20] 문서 参: 英語版Wikipediaの対応する記事の記事名はProcessor designとなっている。
[21] 문서 http://id.nii.ac.jp/[...]
[22] 문서 http://catb.org/~esr[...]
[23] 문서 いわゆるDGEMM
[24] 웹인용 Xilinx Announces World Largest FPGA: Virtex Ultrascale+ VU19P with 9m Cells https://www.anandtec[...] 2019-08-27



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com