메가 태스킹 시대를 이끄는 프로세서 명령어셋, 인텔 AVX-512

홈 > 기획·특집 > 기획기사 > PC
기획기사

PC | 메가 태스킹 시대를 이끄는 프로세서 명령어셋, 인텔 AVX-512

권경욱 기자 1   1

제4차 산업혁명 시대가 열리면서 인공지능(AI)과 로봇, 사물인터넷(IoT), 자율주행차, 가상현실 VR (Virtual Reality) 등과 같은 다양한 기술이 구체화되면서 이를 실현하기 위해 기존보다 더 높은 컴퓨팅 성능이 요구되고 있다. 


새로운 신기술이 다양하게 등장할수록 이를 구현하기 위해 CPU의 역할은 점점 더 강조되고 중요해지고 있다. 범용 컴퓨팅과 수많은 작업 효율 향상을 위한 코어 수 증가는 필연적인 현상으로 받아들여지고 있다.


전문적이고 대량의 데이터 처리가 이루어지는 서버 영역에서는 이미 데스크탑 이상의 수 많은 코어를 기반으로 프로세서가 만들어지고 있고 고성능 GPU나 특정 연산 가속을 위한 코 프로세서도 더 이상 낯설지 않다. PC 시장도 자연스럽게 쿼드(4) 코어를 넘어 옥타(8) 코어와 그 이상의 코어를 기반으로 하는 프로세서가 등장하고 있다.



대규모 데이터를 동시에 처리하는 매가 테스킹에 적합한 인텔 코어 i9 코어 X 시리즈


과거에는 단일 데이터를 처리하는 작업이 주를 이루었다면 최근에는 멀티코어 프로세서가 등장하면서 게임과 스트리밍, 인코딩 등을 동시에 진행하는 일이 더 이상 새로운 일은 아니다. 


현재는 여러 작업을 동시에 처리해야 하는 멀티 태스킹 (Multi Tasking)이 현실화되었고 대량의 작업과 대용량의 데이터, 다수의 쓰레드를 활용하는 애플리케이션 여러 개를 동시에 실행해 처리해야 하는 메가 태스킹 (Mega Tasking)도 널리 사용되고 있다. 이미 서버 영역에서는 일반 PC 영역을 훨씬 뛰어넘는 대규모 처리와 고성능 컴퓨팅, 메가 태스킹 처리가 일상적인 일이다. 


이에 CPU는 연산 성능의 향상과 함께 특정 영역에 최적화된 새로운 추가 명령어를 도입하는 등으로 컴퓨팅 성능을 향상하고 있으며 이와 같은 트렌드는 현재에도 지속되고 있다.



인텔 SIMD 기능 프로세서에 통합, MMX와 SSE에서 AVX로 전환



인텔 펜티엄 프로세서 with MMX


초기 프로세서들은 하나의 명령어를 처리하는 스칼라 (Scalar) 연산이 주를 이루었으나 데이터 처리가 늘어나면서 다수의 데이터를 처리해야 하는 상황이 만들어졌다. 그 결과 인텔은 1990년대 x86 아키텍처에 하나의 명령어로 다수의 데이터를 처리하는 SIMD (Single Instruction Multiple Data) 즉 벡터 (Vector) 기능을 인텔 프로세서에 통합하기 시작했고 이를 통해 본격적인 SIMD 시대를 열었다. 대표적으로 등장한 명령어는 MMX (MultiMedia eXtension)다. 특히 멀티미디어 처리에 특화된 명령어 집합으로 구성된 MMX는 1997년 등장한 펜티엄 (Pentium) 프로세서와 등장해 현재까지도 인텔 프로세서를 통해 지원되고 있다.


이어서 1999년 펜티엄 III 시리즈 프로세서가 등장하면서 스트리밍 SIMD 확장(Streaming SIMD Extensions, SSE) 즉 SSE 명령어가 등장한다. SIMD(단일 명령 다중 데이터) 명령어 집합의 확장으로 1998년 등장한 AMD의 3D Now! 기술에 대응하며 SSE는 70가지의 새로운 명령어와 추가 레지스터로 구성된다. 주로 부동소수졈 연산에 특화된 명령어로 코드명 Katmai인 펜티엄 III에서는 KNI(Katmai New Instructions)로 불리기도 했으며 ISSE(Internet Streaming SIMD Extensions)를 거쳐 다시 SSE로 변경됐다. AMD도 애슬론 XP (Athlon XP)와 듀론 (Duron) 프로세서를 시작으로 SSE 명령어를 지원하기 시작했다.



단일 데이터 스칼라 방식에서 단일 명령 다중 데이터 스트리밍 SIMD 확장(SSE)


128bit 레지스터로 구성되는 SSE의 도입으로 부동소수점연산에 처리에 특화된 SIMD 처리 방식은 본격화되기 시작했다. 부동소수점 연산이 유용한 작업은 멀티미디어 처리와 3D 모델링, 과학 모의실험, 재무 분석 등과 같은 작업들이다. SSE 명령어는 최대 4개의 32비트 데이터를 동시에 처리가 가능했으며 이를 통해 지원되는 연산들의 성능과 효율을 향상했다. 1999년 인텔은 SSE2(Streaming SIMD Extensions 2)를 거쳐 2004년 SSE3, 2006년에는 SSSE3, 2007년에는 SSE4를 적용한다.


2011년 샌디브릿지 (Sandy Bridge)에는 이를 더욱 확장한 새로운 명령어셋이자 고급 벡터 확장으로 불리는 AVX (Advanced Vector Extensions), 2013년 하스웰 (Haswell)에는 AVX2(Advanced Vector Extensions 2)를 추가했다. 이들은 SSE의 레지스터 폭을 두 배로 확장 (256-Bit Register)하고 새로운 단일 곱셈 누산기 계산을 위한 FMA (Floating-Point Fused Multiply-Add Instructions)도 추가했다. FMA는 x86 마이크로프로세서 명령어 집합으로 128-Bit SMID 명령어들로 이를 추가해 이전보다 처리 효율과 성능을 향상한다. FMA3는 인텔 하스웰 (Haswell) 마이크로아키텍처부터, FAM4는 AMD 프로세서가 지원하고 인텔은 이를 추가하지 않는 대신 AVX를 새로 도입해 부동소수점 연산 처리와 효율을 향상한다.



MMX에서 SSE, 고급 벡터 확장 AVX는 AVX2를 거쳐 AVX-512 도입


여기에 인텔은 더욱 확장된 명령어인 AVX-512(Intel Advanced Vector Extensions 512)를 도입한다. AVX-512 명령어는 512-Bit 레지스터를 추가해 벡터 처리 성능을 한층 향상했으며 각 레지스터의 폭을 두 배로 늘리는데 그치지 않고 레지스터의 수를 두 배로 늘려 지연 시간과 반복적인 오버헤드를 최소화하고 해당 명령어를 지원하는 특정 작업이나 연산을 가속해 처리 시간을 단축해준다.


인텔은 메인스트림에는 10나노(10nm) 공정을 도입할 것으로 알려진 캐논 레이크 (Cannon Lake)를 통해 AVX-512 명령어를 도입할 것으로 알려졌으나 10나노 공정이 연기되면서 메인스트림 프로세서의 AVX-512의 도입은 다소 늦어질 예정이다. 코드명 캐논 레이크를 사용하며 2018년 2분기 등장한 10나노 공정 기반 인텔 코어 i3 8121U (2코어 4스레드, 베이스 클럭 2.20GHz, 부스트 클럭 3.20GHz, 4MB 캐쉬, TDP 15W) 프로세서는 AVX-512를 지원하고 있는 것으로 확인된다.



인공지능과 딥 러닝 추론 가속, 인텔 Cascade Lake에 탑재할 VNNI


또한 인텔은 다음 세대 서버용 제온 프로세서 Cascade Lake에 AVX-512에 인공지능(AI)과 딥 러닝 추론 가속을 가능하게 해주는 VNNI (Vector Neural Network Instruction) 명령어도 추가할 예정이다. 


이처럼 인텔은 시장의 변화와 요구에 따라 가성화 환경의 효율을 높여주는 가상화 (VT-x), 암호화 처리 향상을 위한 암호화(AES), 메모리 관련 명령어 EM64T, 병렬 운영 개선 (TSX) 등과 같은 명령어도 추가하고 있으며 앞으로도 더 많은 명령어가 더해질 것으로 예상된다.



컴퓨팅 집약적이고 복잡한 연산에 적합한 AVX-512 명령어



컴퓨팅 집약적이고 복잡한 연산 작업에 적합한 인텔 AVX-512 확장 명령어


인텔은 서버용 제온 스케일러블(Xeon Scalable) 프로세서 및 제온 파이 (Xeon Phi)와 같은 코 프로세서가 지원하는 명령어인 AVX-512는 하이엔드 데스크탑 (HEDT) 프로세서인 코어 i9 (Core i9) 브랜드의 코어 X (Core X) 시리즈에 적용됐다. 컴퓨팅 집약적이고 복잡한 작업 연산에 적합한 AVX-512 확장 명령어를 도입해 메인스트림 프로세서의 한계를 넘어선다.


인텔 AVX-512 명령어는 인텔 AVX2 (Advanced Vector Extensions 2.0)의 데이터 레지스터 폭 2배, 레지스터 수 2배, FMA 유닛 폭 2배로 늘리면서 SSE/ SSE2 명령어 대비 최대 4배, AVX/ AVX2 대비 최대 2배 빠른 처리 성능을 제공한다.



인텔 AVX-512 확장 명령어 가속으로 특수 연산 처리 향상


또한 AVX-512 명령어는 인텔이 공개한 자료에 따르면 고성능 컴퓨팅(HPC)에서는 최대 1.6배, 인공지능(AI)과 딥 러닝 연산에서는 최대 2.2배, 암호화 해싱 연산은 3.1배, 데이터 보호 작업에서는 최대 2배에 이르는 향상을 제공한다.


특히 AVX-512 명령어는 컴퓨팅 집약적이고 복잡한 연산 작업 처리에 적합한 만큼 고성능 컴퓨팅(HPC)과 인공지능(AI) 딥 러닝딥 러닝 (Deep Learning), 암호화와 데이터 보호, 금융 분석, 과학 시뮬레이션, 3D 모델링, 이미지 및 비디오와 오디오 프로세싱 등 일반적인 데이터 변환 알고리즘으로 변환하는데 필요한 시간을 줄여 작업 효율을 향상해준다.


여기에 추가로 AVX-512 명령어와 같은 특화된 명령어나 특정 가속을 지원하는 제온 파이와 같은 코 프로세서가 더해지면 멀티코어화된 최신 프로세서를 단독 처리하는 것보다 성능 및 효율을 향상할 수 있다. 이는 CPU가 기본적인 연산 처리 외에도 게임이나 스트리밍, 영상 인코딩 등과 같은 다양한 처리를 동시에 연산하고 처리해야 하기 때문이다.



AVX-512 명령어 지원 인텔 패러렐 스튜디오 XE (Intel Parallel Studio XE)


하지만 메인스트림 프로세서에도 도입한 고급 벡터 확장 AVX 명령어와 같이 AVX-512 명령어는 일반 PC 환경에서 사용하는 소프트웨어는 제한적이다. 부동소수점 연산으로 오버클럭(OC) 안정화에도 사용하는 린팩(Linpack) 등 소수만이 사용되고 있는 만큼 일반 PC 환경에서의 효용성은 높지 않다.


이에 반해 전문가 영역에서의 활용은 보다 적극적이며 앞으로의 활용 가능성도 높다. 렌더링 소프트웨어 블렌더 (Blender)와 빅데이터 분석, 의료 영상, 금융 분석, 날씨 시뮬레이션, 머신 러닝과 딥 러닝과 같은 개발 환경에서 C++, Fortran, Pyton 소프트웨 개발자를 위한 인텔 패러렐 스튜디오 XE (Intel Parallel Studio XE), JAVA9의 소프트웨어 컴파일러 등의 분야에서 활용된다. 다만 AVX-512 명령어는 기존 명령어 셋 대비 높은 성능을 구현할 수 있는 것도 사실이지만 전력 소모와 그에 따른 온도가 지적되기도 한다.



AVX-512 명령어, 프로세서 멀티코어화와 함께 성능 향상에 기여 


현재의 프로세서는 하이엔드부터 보급형에 이르기까지 다중 작업과 게이밍을 비롯하여 높은 컴퓨팅 성능을 요구하는 작업에 적합해졌다. 이에 더해 서버 영역에 활용되는 기술도 라인업이 확장되면서 다수 적용되어 높은 성능과 함께 유연한 확장성을 제공해 효율적인 작업이 가능하다.


여기에 멀티코어화가 가속되면서 다수의 코어를 기반으로 처리하는 멀티 태스킹을 넘어 메가 태스킹이 가능한 플랫폼을 기반으로 시스템을 구성할 수 있게 됐다.



진화되고 있는 AVX 명령어, 현재는 AVX-512 명령어 도입


서버나 제온 파이와 같은 코 프로세서에 적용되었던 AVX-512 명령어와 같은 새로운 명령어도 지속적으로 추가되면서 이를 지원하는 소프트웨어를 가속해 처리 효율을 높이고 성능을 향상할 수 있다.


인텔이 도입한 AVX-512 명령어는 높은 구축 비용이 소요되는 서버나 제온 파이와 같은 코 프로세서를 구성하지 않아도 된다. 하이엔드 코어 i9 코어 X 시리즈 기반의 시스템에서도 구현이 가능해졌으며 차후에 등장하는 메인스트림 프로세서에서도 적용할 것으로 예상되는 만큼 지원 환경은 보다 확장될 예정이다.


한편 인공지능(AI)와 딥 러닝 등 4차 산업혁명을 이끄는 IT 기술들이 다양하게 등장하고 있는 가운데 프로세서 역시 이러한 시대의 흐름을 반영해 멀티코어화와 더불어 새로운 명령어와 지원 향상을 통해 성능을 향상해나갈 것으로 예상된다.

 

ⓒ 블루프레임(https://www.blueframe.co.kr) 무단전재 및 재배포금지

, , , , , , , , , , , , , , , , ,

Facebook Twitter GooglePlus KakaoStory NaverBand Naver Tumblr Pinterest 신고
1 개의 댓글이 있습니다.
12 마린  
데이터 처리가 늘어나다보니 멀티 태스킹을 넘어 메가 태스킹 시대가 되었고 동작 클럭과 이로인한 프로세서 본연의 성능 외에도 AVX-512와 같은 명령어셋도 주목하게 되는군요
많이 본 뉴스
인기기사