하이퍼스레딩이란?

0
343

마더보드 위에 CPU를 들고 있는 기술자.
마하행 245789/Shutterstock.com

하이퍼스레딩은 한때 고급 전문가용 CPU에서만 볼 수 있는 기능이었습니다. 그러나 하이퍼스레딩은 이제 주류 소비자 CPU에서도 발견됩니다. 하이퍼스레딩이란 정확히 무엇이며 다음 CPU에서 찾아야 할까요?

소프트웨어 스레드란 무엇입니까?

소프트웨어 스레드는 CPU에서 처리하는 일련의 명령입니다. 에 의해 관리되는 프로그래밍된 명령의 기본 단위입니다. 스케줄러. 스케줄러는 컴퓨터에서 실행되는 다양한 유형의 소프트웨어에 하드웨어 리소스를 할당하는 운영 체제의 구성 요소입니다.

컴퓨터에서 실행되는 모든 응용 프로그램은 하나 이상의 프로세스로 존재합니다. 스레드는 실행을 위해 CPU로 전송되는 이러한 프로세스의 사실상 세그먼트입니다. 스케줄러는 서로 다른 실행 중인 프로그램의 스레드를 빠르게 할당하여 각각이 실시간으로 실행하는 데 필요한 리소스를 얻을 수 있도록 합니다.

이것은 컴퓨터가 백그라운드에서 음악을 재생하고 비디오 게임을 다운로드하면서 “멀티태스킹”하고 (예를 들어) 워드 프로세서를 실행하는 방법입니다. 기술적으로 CPU 코어는 실제로 이러한 모든 작업을 동시에 수행하지 않습니다.

따라서 시스템에 단일 코어 CPU만 있는 경우 여러 명령 세트를 빠르게 저글링하고 명령 간에 너무 빠르게 전환하여 느린 인간 두뇌에 모든 것이 병렬로 발생하는 것처럼 보입니다.

가정용 컴퓨터의 진정한 병렬 처리

대부분의 개인 컴퓨팅 역사에서 컴퓨터에는 CPU 코어가 하나만 있었습니다. 글쎄, 그 당시 우리는 “코어”에 대해 이야기하지 않았습니다. 왜냐하면 오직 하나의 코어가 있고 그것이 전체 CPU였기 때문입니다. 그러나 2000년대 중반에 CPU 제조업체는 두 개의 완전한 CPU를 하나의 CPU 패키지에 채우는 밝은 아이디어를 가지고 있었습니다. 이러한 듀얼 코어 CPU는 실제로 두 스레드의 명령을 동시에 처리할 수 있습니다. 이것은 예를 들어 비디오 게임에 100% 코어가 있을 수 있고 운영 체제가 다른 코어를 모두 가질 수 있음을 의미합니다.

오늘날 CPU 코어 수는 빠르게 증가하고 있습니다. 6, 8, 심지어 10개의 코어가 있는 메인스트림 CPU가 일반적입니다. 고급형 CPU는 수십 개의 코어를 제공하며 AMD Threadripper 3990X와 같은 CPU는 무려 64개의 코어로 채워져 있습니다.

이 모든 병렬 CPU 성능을 더 잘 활용하기 위해 소프트웨어 개발도 변경되었습니다. 최신 비디오 게임기에도 8개의 CPU 코어가 탑재되어 그 많은 코어를 활용할 수 있는 비디오 게임이 빠르게 보편화되고 있습니다.

AMD Ryzen Threadripper 3990X 64코어, 128스레드 잠금 해제 데스크탑 프로세서

막대기를 흔들 수 있는 것보다 더 많은 코어가 있어 하루 종일 열심히 일하고 몇 시간 후에는 열심히 노는 사용자에게 적합합니다.

하이퍼스레딩으로 CPU 코어를 오버드라이브에 넣기

기존 CPU는 단일 스레드만 처리할 수 있지만 시스템에 여러 다른 CPU 코어가 있는 경우 보유한 코어 수와 동일한 수의 스레드를 처리할 수 있습니다. 이것은 괜찮아 보이지만 한 가지 중요한 문제가 있습니다.

모든 스레드에 동일한 양의 처리 능력이 필요한 것은 아닙니다. 예를 들어 비디오를 렌더링하는 스레드는 CPU 코어의 사용 가능한 용량을 100% 사용하지만 워드 프로세서 또는 소셜 미디어 웹 페이지를 실행하는 스레드는 최신 CPU 코어가 제공하는 전력의 일부만 필요합니다.

마찬가지로 비디오 게임에는 물리학을 처리하는 스레드와 캐릭터 인공 지능을 처리하는 스레드와 같이 병렬로 실행되는 여러 스레드가 있을 수 있습니다. 이것들은 중요한 작업이지만 제대로 실행하기 위해 단일 코어가 모두 필요하지는 않을 수 있습니다.

이는 모든 CPU 코어가 스레드로 인해 바쁘지만 가능한 모든 처리 능력을 제공하지 못하는 상황으로 이어집니다. 여기서 하이퍼스레딩이 등장합니다.

하이퍼스레딩의 적절한 일반 이름은 다음과 같습니다. 동시 멀티스레딩. “하이퍼스레딩”은 실제로 Intel에서 사용하는 독점 마케팅 이름이지만 “Hoover”와 마찬가지로 기술 전체에 대한 일반적인 용어가 되었습니다.

하이퍼스레딩을 가능하게 하는 올바른 내부 회로가 장착된 CPU는 두 개의 개별 스레드를 동시에 실행할 수 있습니다. 기존의 단일 코어 멀티태스킹과 같이 둘 사이를 전환하지 않습니다. 각각 병렬로 실행하고 있습니다.

운영 체제에서는 각 물리적 CPU 코어가 실제로 2개의 코어인 것처럼 보이므로 스케줄러가 각각에 2개의 스레드를 할당할 수 있습니다. 그러나 코어당 처리 능력의 총량은 정확히 동일하게 유지됩니다.

하이퍼스레딩을 원하는 이유

위에서 언급했듯이 하이퍼스레딩은 주로 테이블에 처리 능력을 남기지 않도록 하는 것입니다. 각 코어가 두 개의 스레드를 처리하도록 하면 운영 체제가 하드웨어를 최대한 활용할 수 있고 모든 코어가 거의 또는 최대 용량으로 실행되지 않는 상황을 피할 수 있습니다.

과거에는 비디오 편집기나 과학적인 데이터 처리 작업과 같은 전문 소프트웨어에만 하이퍼스레딩이 필요했습니다. 주류 사용자는 그렇게 많은 스레드를 필요로 할 만큼 충분한 앱을 실행하지 못했습니다. 비디오 게임도 다중 스레드 사용을 채택하는 데 오랜 시간이 걸렸지만 이제 8코어 게임 시스템이 주류이며 스레드 수가 계속 증가할 것입니다.

따라서 새로운 주류 CPU는 이제 하이퍼스레딩을 특징으로 하며 대부분의 사용자가 원해야 하는 기능입니다. 그러나 하이퍼스레딩이 없는 구형 CPU에서 좋은 거래를 얻는다면 아직 하이퍼스레딩이 너무 중요하여 이를 넘길 여유가 없습니다.