아크로팬

산업 경제 테크 게임
사회 생활 자동차 미디어

미래의 고성능 PC 환경을 위한, PC 환경을 가장 잘 이해하는 인텔 코어 프로세서

  • 2020-10-12 10:07
  • ACROFAN=권용만
  • yongman.kwon@acrofan.com
흔히 PC의 심장이자 성능의 원천은 ‘프로세서’라고 하지만, 현재의 PC에서는 모든 작업을 프로세서만으로 다루지는 않는다. 현대 사회에서 PC는 사회의 생산성과 사람들간의 연결, 사람들의 여가, 문화 생활을 위한 게이밍과 엔터테인먼트 생태계의 생산과 소비 등에서 핵심적인 위치에 있으며, 다양한 위치에서 다양한 유형의 작업을 다루는 데 활용되고 있다. 그리고 이러한 다양한 형태의 PC 활용에서, 모든 작업을 전통적인 프로세서로만 처리하는 것은 비효율적이며, 시대가 요구하는 성능 향상을 달성하는 데도 수십년 전에는 가능했을 지 모르지만 현재 시대의 성능 요구를 충족시키는 데는 분명한 한계가 있다.

이에, 다양한 작업에서 효율적으로 고성능을 구현하고, 플랫폼과 PC 폼팩터 수준에서 ‘무어의 법칙’에 필적하는 시대적 성능 요구를 충족시키기 위해서는 프로세서의 성능도 중요하지만, 프로세서와 플랫폼, 시스템 수준에서 프로세서와 함께 하는 ‘가속기’의 조합도 중요하다. PC에서는 고성능 게이밍 그래픽 처리를 위한 GPU나, 영상 콘텐츠를 수월하게 다루기 위해서는 비디오 디코더와 인코더 등이 대표적이며, 엔터프라이즈 환경에서는 암호화나 네트워크 패킷 처리 등에서도 전용 가속기를 따로 활용하기도 한다. 그리고 가장 높은 ‘실제 성능’을 얻기 위해서는 단순히 코어 수가 많은 프로세서만 사용할 게 아니라, 다양한 워크로드를 효과적으로 처리할 수 있는 기능을 갖춘 프로세서와 적절한 가속기, 최적화된 소프트웨어의 조화가 필요하다.

활용 가능한 컴퓨팅 성능의 향상 폭을 극대화하기 위한 인텔의 ‘XPU’ 전략은 프로세서와 GPU, ASIC과 FPGA 등 다양한 형태의 가속기들이 조합되어 ‘워크로드 최적화’된 처리 성능을 구현하는 것을 목표로 한다. 이 XPU 전략은 PC의 성능 향상에 있어서도 중요한 방향성을 제시하는데, 사용자가 체감할 수 있는 ‘실제 성능’의 향상에 있어 바람직한 방향은 단순히 프로세서 코어를 더 늘리는 것이 아니라, 워크로드의 특성에 적합한 환경을 제공하는 것이다. 그리고 인텔의 최신 코어 프로세서 제품들은 XPU 전략에서도 다양한 가속기와 함께 서로의 영역에서 최선의 성능을 제공함으로써, 현실적인 ‘고성능 PC’ 환경의 성격을 가장 잘 이해하는, 모든 형태의 고성능 PC를 위한 최선의 선택이다.

▲ 디지털 시대의 경쟁력을 위한 ‘고성능 PC’에는 ‘고성능 프로세서’가 뒷받침되어야 한다 (자료제공: Intel)

PC 뿐 아니라 모든 종류의 ‘컴퓨터’에 있어, 성능은 가치의 척도이자 사용자에 더욱 폭넓은 작업을 가능하게 하는 ‘가능성’, 그리고 경쟁 사회에서 더욱 앞서 나갈 수 있는 ‘경쟁력’의 기반이 된다. 그리고 현재의 컴퓨터에서 ‘마이크로프로세서’는 컴퓨터를 구성하는 모든 구성 요소들을 연결하고, 모든 종류의 작업을 처리하며, 컴퓨터의 성능에 있어서도 근원이 되는 존재다. 이에, 점점 고도화되는 디지털 세상에서 더 높은 경쟁력을 갖추고 앞서 나가기 위해서는, 더 뛰어난 성능과 높은 수준의 사용자 경험을 제공하는 ‘고성능 PC’와, 고성능 PC를 위한 높은 성능의 프로세서가 더욱 중요해진다.

PC에 있어, 프로세서의 성능은 PC를 사용하는 모든 순간에 성능의 근간이 된다. 하지만 멀티 코어 프로세서의 시대 이후, 프로세서의 성능 향상이 예전처럼 모든 사용 환경에서 일률적인 성능 향상으로 이어지지는 않는 모습이 보이고 있다. 또한 특정 영역에서는 시대가 요구하는 성능의 수준이 현실적으로 달성 가능한 프로세서의 성능 향상 수준을 넘어서고 있으며, 이런 영역에서는 모든 작업을 프로세서로 처리하기 위해 프로세서의 코어 수나 동작 속도를 무리하게 높이는 것보다는, 처리를 위한 방법을 바꾸는 것이 목표 달성을 위한 현실적인 방법일 수 있다. 또한, 모든 작업에서의 성능 향상보다, 고성능이 더욱 필요한 부분에서 먼저 혜택을 누릴 수 있도록 발전이 이루어져야 할 것이다.

프로세서의 성능을 높이기 위한 ‘전통적인’ 방법으로는, 물리적으로 더 많은 코어 수와 더 높은 동작 속도를 달성하고, 논리적으로는 프로세서의 마이크로아키텍처를 개량해 기존의 명령어를 더욱 빠르고 효율적으로 수행할 수 있게 하는, 흔히 말하는 IPC 향상 등을 생각할 수 있다. 하지만 이 전통적인 방법은 현실적인 한계에 직면하게 되는데, 더 많은 코어를 탑재하는 데는 반도체의 면적과 소비 전력, 발열 등에서의 문제가, 더 높은 동작 속도에는 물리적인 실리콘 특성의 한계와 소비전력, 발열이 문제가 된다. 또한 마이크로아키텍처의 개량은 언제나 긍정적으로 작용하지 않을 수도 있으며, 공정 개량 또한 이제 물리적인 한계에 가까워지면서 더욱 까다로워지고 있다.

매번 성능이 향상된 새로운 세대의 프로세서가 등장함에도 사용자들이 성능 향상을 잘 느끼지 못하는 데는 사용자들의 환경에도 일정 부분 책임이 있다. 대부분의 사용자가 PC를 업그레이드하는 이유는 기존의 소프트웨어를 더욱 높은 성능으로 활용하기 위해서겠지만, 역설적으로 기존의 낡은 소프트웨어들은 새로운 프로세서를 제대로 활용하지 못한다. ‘작업’의 관점에서 보면 효율적인 성능 향상을 위해서는 새로운 하드웨어와 소프트웨어가 함께 해야 하지만, 현실은 최신 하드웨어에서 심하게는 과거 시대의 ‘유산’이라 불릴 만한 소프트웨어를 활용하는 경우도 흔한 상황이다. 특히 멀티 코어 프로세서의 시대에, 멀티 코어를 제대로 활용하지 못하는 소프트웨어가 여전히 많은 것도 PC 환경에서 성능 향상에 어려움 중 하나로 꼽힌다.

▲ 이제 프로세서의 성능 올리기는 예전만큼 단순하지 않고, 그 의미도 달라졌다

프로세서의 성능을 올리는 가장 간편한(?) 방법이었던 동작 속도 올리기는 이제 물리적인 측면에서 한계에 가까워진 모습을 보이고 있다. 또한 더 많은 트랜지스터를 투입해 성능을 높이는 방법은, 반도체의 트랜지스터의 집적도를 높이기 위한 미세공정의 고도화가 점점 어려워지고 있어 경제성 측면에서 어려운 문제에 직면하고 있으며, 소비전력과 발열 문제 또한 고려해야 될 문제다. 최근의 주류인 ‘멀티 코어’ 프로세서는, 기존의 싱글 코어 프로세서에서 성능 향상의 방법으로 고려되던 동작 속도 올리기로는 시대가 요구하는 성능을 충족하지 못했기 때문에 등장한 것이기도 하지만, 무작정 코어 수만 늘린다고 의미 있는 성능 향상이 지속되지는 않는다.

하나의 물리적 프로세서 패키지에 연산을 위한 여러 개의 코어가 들어 있는 ‘멀티 코어’ 프로세서에서, 코어를 늘리는 것은 사실 그리 간단한 일이 아니다. 늘어난 코어와 쓰레드를 제대로 활용하기 위해서는 작업의 분배와 데이터 전송을 위한 코어 이외의 영역도 성능이 높아져야 하며, 이는 프로세서의 복잡도를 높인다. 하지만 이를 소홀히 하면 코어 수가 많아져도 이를 제대로 활용할 수 없게 된다. 또한, 프로세서 패키지의 제한된 전력 공급량과 발열 처리량 안에서 코어 수가 많아지면, 개별 코어의 동작 속도는 자연히 떨어지게 되는데, 이는 프로세서 전체의 효율 문제 뿐 아니라 멀티 쓰레드 환경에 최적화되지 않은 소프트웨어에서 낮은 성능의 문제로 나타나게 된다.

소프트웨어는 기본적으로 ‘순서대로’ 처리되며, 멀티 쓰레드의 활용은 이 처리 과정 중 특정 단계에서 작업을 분할해 여러 쓰레드에 배분하고, 동시에 처리한 뒤 이를 취합해 하나의 결과로 만드는 형태로 진행된다. 문제는, 이러한 ‘작업의 분할’이 모든 작업에서 가능한 것이 아니며, 프로그램에서 특별히 이 과정을 정의해 주어야 한다는 것이다. 이에 작업 유형 자체가 멀티 쓰레드 처리가 어렵거나, 프로그램이 오래 되어 멀티 쓰레드를 제대로 지원하지 못하는 경우 멀티 코어 프로세서는 제대로 활용되지 못하며, 느린 동작 속도는 오히려 약점이 되어 버린다. 특히 오랜 시간 동안 프로그램 호환성이 유지되어 온 x86 PC 환경에서, 프로그램의 멀티 쓰레드 지원 문제는 해결에 많은 노력과 오랜 시간이 필요할 과제이기도 하다.

그리고, PC가 사용되는 모든 용도에서 ‘높은 성능’이 가지는 의미 또한 모두 다르다는 것을 고려해야 한다. 예를 들면, 웹 서핑이나 문서 작성에서는 일정 수준 이상의 성능이 사용자에게 주는 의미가 거의 없다. 하지만 게이밍에서의 성능은 높으면 높을수록 사용자의 경험 수준이 올라가고, 이미지나 영상 편집 환경에서는 성능이 높을수록 사용자의 생산성 향상 뿐 아니라 다룰 수 있는 작업의 규모도 더 넓어지는 만큼, 이런 부분에서는 성능 향상이 사용자에게 큰 의미를 가지게 될 것이다. 이에, 전통적인 방법으로 모든 기본 작업 성능을 올리는 것이 현실적으로 어렵고, 그 의미 또한 평가절하된다면, 그보다는 높은 성능이 필요한 영역에 더욱 큰 성능 향상을 제공할 수 있는 방향으로 가는 것이 제한된 여건에서 현실적인 발전 방향이 될 것이다.

▲ XPU 구성은 시스템과 ‘사용자 환경’ 수준에서의 성능 향상을 위한 현실적인 전략이다 (자료제공: Intel)

현재는 물론, 앞으로도 PC 성능과 프로세서 성능의 향상은 사용자가 실제 체감할 수 있는 형태로 이루어져야 할 것이 분명하다. 그리고 이러한 ‘의미 있는’ 성능 향상을 위해서는, 프로세서의 성능 향상은 단순히 더 많은 코어를 넣는 것보다는, 더 높은 성능이 더 큰 가치를 가지는 부분에 성능 향상의 역량을 집중하는 것이 현실적인 방법이 될 것이다. 인텔이 발표한 ‘XPU’ 전략은 이러한 고성능이 필요한 작업에 큰 성능 향상을 제공할 수 있도록 적절한 ‘가속기’를 배치하여 시스템의 전반적인 성능을 끌어올리는 것인데, 이 ‘XPU’ 전략 또한 모든 작업을 다루는 CPU를 중심으로 특정 워크로드를 위한 GPU, FPGA, ASIC 등의 가속기가 연결되어 고성능이 제공하는 가치를 극대화하는 형태다.

지금까지 사용되어 오던 거의 모든 애플리케이션에서 만족스러운 성능을 얻는 데 있어 프로세서에 요구되는 중요한 요소는 동작 속도와 단위 시간당 명령 처리 수인 IPC, 그리고 검증된 호환성이다. 특히 높은 동작 속도와 IPC 측면은 멀티 쓰레드 환경에 최적화되지 않은 기존의 애플리케이션에서도 높은 성능을 냄에 있어 중요한 요소이며, 게이밍 등의 특별한 성격을 가진 상황에서는 입, 출력에서의 지연 시간을 최소화하고, 더 부드러운 움직임을 제공하는 데 있어 반드시 달성해야 할 부분이기도 하다. 이에, 특별히 멀티 쓰레드에 최적화된 작업을 위한 환경이 아니라면, 종합적인 성능에 가장 유리한 프로세서는 최대한 높은 동작 속도와 적당한 코어 수가 적절한 균형을 이루고 있는 프로세서가 될 것이다.

또한 프로세서의 연산 성능을 좌우하는 ‘코어’는 그 수 이상으로 코어가 갖추고 있는 역량이 중요하다. 먼저, 비슷한 시대의, 비슷한 IPC를 가지는 코어끼리의 비교라면, 코어 몇 개 정도의 차이는 동작 속도의 차이로 메꿀 수도 있다. 예를 들면, 5GHz의 10코어 프로세서는 4.2GHz의 12코어 프로세서보다 코어 수가 적음에도 더 높은 싱글 쓰레드, 동급의 멀티 쓰레드 성능을 제공하며, 전반적인 ‘실제 성능’에서는 더욱 우위를 점할 수 있다. 여기에, 코어당 기술 수준의 차이가 있다면 격차는 더욱 벌어지는데, 프로세서에 적용된 명령어 셋의 차이 등이 대표적이다. 프로세서가 지원하는 명령어 셋의 차이는 프로세서가 작업을 처리하는 방법 자체를 바꾸어 큰 폭의 성능 향상을 얻을 수 있으며, 새로운 명령어 셋은 성능 향상이 절실한 특정 영역의 성능을 몇 배로 끌어올릴 수 있게 한다.

현재 10세대 인텔 코어 프로세서 제품군은 전통적인 x86 명령어 뿐 아니라 SSE, AVX, AVX2 등의 명령어를 통해, 처리 성능에 민감한 미디어 편집 등의 연산 성능 집약형 워크로드에서 성능을 극대화하고 있다. 특히 128비트 벡터 폭의 SSE 계열 명령어에서 256비트 벡터 폭의 AVX, AVX2로 오면서 클럭당 성능은 두 배 이상 향상되었고, 코어 X-시리즈나 ‘아이스 레이크’ 기반 10세대 코어 프로세서에서 지원되는 AVX-512는 512비트 벡터 폭 지원으로 AVX2 대비 두 배 향상된 연산 성능을 얻을 수 있다. 이러한 AVX 명령어의 지원 수준은, 특히 이미지나 영상 등을 다루는 환경에서 큰 성능 차이를 가져온다. 또한 10세대 코어 프로세서에 적용되는 DL Boost 기능은 AVX-512 기반에서 AI 추론 성능을 최대 3배 향상시킬 수 있어, 이를 활용하는 AI 애플리케이션의 성능을 크게 끌어올린다.

▲ 게이밍이나 영상 편집 등의 ‘고성능’ PC에서, 적절한 ‘가속기’와의 조합은 최고의 효율을 기대할 수 있을 것이다

프로세서의 아키텍처 개선과 동작 속도 향상, 새로운 명령어 셋의 추가가 비교적 넓은 범위의 범용적인 성능 향상을 위한 것이라면, ‘가속기’의 활용은 특정한 유형의 작업 성능을 극대화할 수 있는 방법이다. 물론 가속기는 프로세서 중심의 컴퓨터 구조에서, 특정 작업에서 프로세서를 보조하는 역할이고, 프로세서 없이 단독으로 사용할 수는 없는 존재다. 이에, 가속기를 적용할 만한 ‘특정 작업’의 선정에서는, 프로세서로 처리하기 비효율적이라 가속기의 사용시 큰 성능 향상을 기대할 수 있고, 여러 가지 애플리케이션에서 공통으로 사용될 수 있는 표준화된 작업 유형 등의 특징을 고려할 필요가 있다. 현재 PC에서 사용되는 대표적인 가속기는 3D 그래픽을 위한 GPU, 비디오 처리를 위한 VPU 등이 있다.

현재의 고해상도 그래픽 기반 게이밍 환경에서, GPU의 성능은 그래픽 성능에 절대적인 영향을 미치고 있다. 이에 현재 어떠한 고성능 프로세서를 사용하더라도, 프로세서만으로는 GPU를 통해 그래픽 가속을 하는 PC의 게이밍 그래픽 성능을 따라잡을 수 없는 것이 현실이다. 하지만, GPU만으로는 컴퓨터를 사용할 수 없고, 고성능 GPU가 제 성능을 내기 위해서는 프로세서가 GPU에 작업을 제대로 전달할 수 있도록 충분한 성능을 갖추어야 한다. 이에 같은 GPU에서도 프로세서의 성능에 따라 게이밍 성능이 달라지는 모습을 볼 수 있으며, 최고의 게이밍 성능을 위해서는 GPU 뿐 아니라, 게이밍에서 높은 성능을 내는 프로세서 또한 함께 필요하다.

비디오 압축 코덱을 하드웨어 수준에서 처리하는 VPU 또한 프로세서로 처리하기에 비효율적인 작업을 효율적으로 처리하는 좋은 예다. 4K 급의 H.265 HEVC 영상을 순수하게 프로세서로만 처리하기에는 프로세서의 연산 부하가 지나치게 크지만, VPU를 통해 하드웨어 가속하면 프로세서 부하 없이 아주 부드럽게, 효율적으로 영상 관련 작업을 처리할 수 있다. 최신 스마트폰들에서 4K 영상을 어려움 없이 볼 수 있는 것도 이러한 하드웨어 가속기 덕분이며, PC에서도 최신 GPU들에는 영상 처리를 위한 가속 기능이 기본으로 들어가 있고, 인텔의 프로세서 내장 그래픽 또한 강력한 하드웨어 가속기를 갖추고 있다. 이에, 이제 4K 영상을 ‘보는’ 목적이라면, 고가의 고성능 멀티 코어 프로세서를 찾기보다는 최신 규격을 지원하는 ‘가속기’를 장착한 프로세서나 GPU를 찾는 것이 더욱 현명한 일이다.

고성능 멀티 코어 프로세서가 필요한 대표적인 사례로 영상의 ‘인코딩’ 이 꼽히지만, 이 또한 이제는 ‘가속기’로 처리할 수 있는 시대다. 이미 10세대 코어 프로세서의 내장 그래픽에도 4K 급 H.265 HEVC 영상의 인코딩까지 하드웨어로 처리할 수 있는 가속기가 탑재되어 있으며, 이를 활용하면 8코어 급의 메인스트림 급 프로세서로도 16코어의 워크스테이션 급 프로세서보다 더 빠른 표준 규격 기반 영상 작업이 가능해진다. 소프트웨어 지원에서도, 이미 어도비 프리미어 등이 인텔의 하드웨어 인코더를 통해 실제 작업에서 성능 향상을 얻을 수 있게 지원하고 있다. 이러한 가속 기능이 PC용 프로세서와 플랫폼에 ‘기본 기능’으로 탑재됨으로써, 지금까지 비현실적인 성능을 요구하던 작업들이 현실적으로 활용할 수 있는 작업의 영역으로 들어오게 된다.

▲ 고성능 PC를 위한 XPU 시대에도 한 발 더 앞서가는 인텔 코어 프로세서 제품군 (자료제공: Intel)

이에 앞으로의 XPU 시대에 PC에서 프로세서의 의미는 조금 바뀔 수도 있을 것이다. 이제는 프로세서만으로 모든 것을 처리하는 것이 아니라, 프로세서를 중심으로 해 주로 사용하는 특정 작업 위주로 가속기들을 구성하고, 프로세서는 가속기를 사용하지 않는 범용적인 작업들에서 사용자 경험을 극대화하는 형태로 활용될 수 있을 것이다. 그리고, 이러한 시대를 위한 PC의 프로세서는 PC에서 잘 활용되지 않을 특별한 상황을 기준으로 하는 멀티 쓰레드 성능 위주의 이론적인 성능 향상보다는, 높은 싱글 쓰레드 성능을 기반으로 적당한 수준의 멀티 쓰레드 성능을 효율적으로 확보하고, 고성능이 필요한 특정 작업들에는 적절한 가속기를 활용해 프로세서만으로는 달성할 수 없는 수준의 성능을 구현하는 것이 가장 이상적인 모습이 될 것이다.

그리고 현재 인텔의 10세대 코어 프로세서는 모바일과 데스크톱 PC용 플랫폼 모두, 이미 이러한 XPU 시대의 기반을 갖춘, 개인용 PC에서 가장 뛰어난 사용자 경험을 제공할 수 있는 기술적인 구성을 두루 갖추고 있다. 먼저, 10세대 코어 프로세서는 다양한 애플리케이션에서 두루 뛰어난 성능을 위해, 최대 10코어 20쓰레드 구성과 5GHz 이상의 동작 속도를 모두 갖추어, 어떤 유형의 애플리케이션에서도 현존하는 프로세서 중 가장 뛰어난 성능과 반응성을 제공한다. 특히 고성능 프로세서의 의미가 각별한 게이밍에서, 10세대 코어 프로세서는 현존하는 프로세서 중 가장 뛰어난 게이밍 성능을 제공하는, 게이밍 환경을 위한 최고의 선택으로 꼽힌다.

또한 10세대 코어 프로세서 제품군들의 내장 그래픽 코어는 기본적인 컴퓨팅 환경을 위한 만족스러운 기능과 성능을 제공하는 기본 환경일 뿐 아니라, 프로세서 성능만으로는 극복하기 힘든 현실적인 한계를 넘는 ‘가속기’로도 중요한 의미를 가진다. 특히 내장 그래픽 코어의 ‘퀵싱크 인코더’는, 지금까지 멀티 코어 프로세서의 강점이자 구입 이유 중 하나였던 인코딩 작업에서 프로세서보다 몇 배 높은 성능과 효율을 제공해, 노트북 PC에서도 워크스테이션 급 작업 성능과 실시간 방송 송출 성능을 기대할 수 있게 한다. 그리고 이러한 가속기의 활용은, 10세대 코어 프로세서를 어떠한 유형의 작업에서도 최고의 성능과 효율을 제공하는 최선의 선택으로 만들어 준다.

향후 PC의 성능 향상은 이론적인 연산 성능 향상보다는 사용자가 체감할 수 있는 ‘실제 성능’을 중심으로 하는 것이 바람직한 방향이 될 것이다. 그리고 모든 순간에 최고의 사용자 경험을 전달하기 위해서는 단순히 프로세서에 제대로 활용되지도 못할 ‘더 많은 코어’를 탑재하는 것이 아니라, 코어의 수와 동작 속도, 개별 코어의 기술적 특징, 프로세서와 플랫폼에서 제공되는 기능 등 모든 부분에서 시대의 요구에 맞는 ‘균형’을 찾아야 한다. 이런 관점에서 볼 때, 인텔의 최신 세대 코어 프로세서 제품군은 이러한 새로운 시대의 PC에 필요한 점을 가장 잘 이해하고 있는 프로세서로, 현재 뿐 아니라 다가올 미래를 위한 ‘고성능 PC’에도 가장 잘 어울리는 최선의 선택이 될 것이다.