인텔은 최신 마이크로 아키텍처를 사용한 CPU에서 SMT (Simultaneous MultiThreading, 동시 멀티스레딩 = 하이퍼스레딩) 기능을 지원하지 않는다고 밝혔습니다.
인텔에 따르면 P (고성능) 코어에서 SMT를 사용하면 스레드 전환이 많이 발생하기 때문에 게임과 같은 싱글 스레드 위주의 애플리케이션에서 불필요한 지연이 발생, 성능이 하락할 수 있으며, CPU에 SMT를 지원하기 위해서는 회로 규모 (트랜지스터 수)가 확장되어야 하기 때문에 오히려 E (고효율) 코어를 추가하는 것이 낫다고 합니다.
E 코어는 P 코어에 사용할 트랜지스터 수의 1/4 수준으로 추가할 수 있으며, E 코어의 최대 IPC는 P 코어와 동급이므로, SMT를 사용하는 것보다 오히려 E 코어를 사용하는 것이 종합적인 성능 면에서도 유리하다는 것입니다.
반면 인텔과 다르게 E 코어를 사용하지 않고 있는 AMD는 ‘현재, SMT 기능을 제거할 생각은 없다’고 합니다.
AMD의 수석 아키텍처 설계자인 마이클 T 클락 (Michael T Clark)은, 현재로써 SMT 기능을 제거할 생각이 없으며, Zen 5 마이크로 아키텍처에서는 트랜지스터 수 5-10% 정도의 증가로 SMT 기능을 사용할 수 있다고 말했습니다.
또, 마이클은 SMT 기능을 지원하면 기대할 수 있는 성능 향상은 적어도 20%에서 최대 50% 수준이기 때문에, 면적 대비 성능에서도, 전력 대비 성능에서도 SMT 기능을 뺄 이유가 없다고 밝혔습니다.
SMT를 사용하면 불필요한 스레드 전환이 증가해서 싱글 스레드 애플리케이션의 성능이 떨어진다는 인텔의 주장에 대해서는, 마이클도 당연히 알고 있는 내용이며 이런 경우에는 SMT 기능을 끄면 된다고… (웃음) 물론 추후 CPU 코어와 스레드 할당의 정확도를 높이는 것으로 어느 정도 해결할 수 있을 것이라고 설명했습니다.
추가로 마이크로소프트 윈도우 (Microsoft Windows) 운영체제에서 CPU 코어와 스레드의 할당은 CPU (CPU 드라이버)가 제어하고 있으며, 이 부분을 튜닝해서 게임의 메인 스레드는 스레드 전환을 최소화하는 등의 제어가 가능할 것이라고 합니다.
인텔은 12세대 코어 프로세서 (Alder Lake, 앨더 레이크) 이후로 스레드 디렉터 (Thread Director)와 같은 하드웨어 스케줄러를 지원하고 있는데, Zen 시리즈가 이를 갖추지 않은 이유도 이런 구조 때문이라고 하는데요.
추후 인텔과 AMD 프로세서가 어떤 모습으로 어떻게 경쟁하게 될지 지켜보는 것도 재미있을 것 같습니다.