학문
헤라아레스
CPU의 하이퍼스레딩(Hyper-Threading)
CPU의 하이퍼스레딩(Hyper-Threading) 기술이 하나의 코어로 두 개의 논리적 스레드를 처리하는 구조적 원리는 무엇인가요?
5개의 답변이 있어요!
안녕하세요. 김재훈 전문가입니다.
하이퍼스레딩은 하나의 물리 코어 안에 있는 실행 자원과 레지스터 등을 효율적으로 공유 하면서 두개의 논리 프로세거가 각각의 스레드를 처리하도록 만드는 기술입니다 한 스레드가 메모리 접근 등으로 실행 자원을 사용하지 못할 때 다른 스레드가 남는 자원을 활용해 코어의 이용률을 높입니다 그래서 물리 코어가 실제로 두 배가 되는 것은 아니며 두 스레드가 실행 자원을 공유하기 때문에 성능 향상 폭도 작업에 따라 달라집니다 쉽게 말해 하나의 코어를 두 사람이 번갈아 효율적으로 사용하는 것과 비슷한 원리입니다
채택 보상으로 390베리 받았어요.
채택된 답변안녕하세요. 박재화 전문가입니다.
하이퍼스레딩은 하나의 CPU 코어가 두 개의 작업 흐름을 동시에 처리하는 것처럼 보이게 만드는 기술입니다. 실제 계산장치가 두 배로 늘어나는 것은 아니고, 레지스터나 작업 상태를 두 세트로 나눠서 두 개의 논리 프로세서처럼 동작하게 하는 것입니다.
한 스레드가 메모리 데이터를 기다리거나 계산장치를 잠시 사용하지 못할 경우 다른 스레드가 비어 있는 자원을 사용할 수 있고, 이렇게 하면 코어 내부의 연산장치가 쉬는 시간을 줄여서 전체 처리 효율을 높일 수 있습니다. 운영체제에서는 하나의 물리 코어가 두 개의 CPU처럼 보이기 때문에 서로 다른 스레드를 각각 배정할 수 있습니다.
안녕하세요. 최정훈 전문가입니다.
하이퍼스레딩의 CPU 내의 연산 장치나 캐시 같은 핵심 자원을 하나만 둡니다. 그리고 프로그램 익스텐션을 위한 레지스터 상태만 두 세트로 복제합니다. 그래서 두 개의 쓰레드가 코어를 공유하게 만드는 구조입니다. 한 쓰레드가 메모리 로딩이나 데이터 대기 등으로 놀고 있습니다. 그러면 준비된 다른 쓰레드의 명령을 즉시 물리 코어로 넘겨서 연산합니다. 운영 체제는 완전한 두 개의 독립된 코어로 인식합니다. 하지만 실질적으로는 일꾼 하나가 두 개의 작업대 사이에 쉴 새 없이 오가며 효율을 극대화하는 방식입니다.
안녕하세요. 강세훈 전문가입니다.
하이퍼스레딩은 하나의 물리 코어 안에서 레지스터,작업 상태만 두 세트로 복제하고, 연산 장치,캐시 같은 핵심 자원은 공유해 두 개의 논리 프로세스처럼 동작하게 하는 기술입니다. 한스레드가 대기할 때 다른 스레드가 빈 자원을 쓰면서 코어 이용률을 높인답니다.
안녕하세요.
하이퍼스레딩은 하나의 물리 코어 안에 있는 실행 자원을 여러 스레드가 나눠 사용하도록 만드는 기술이에요.
CPU가 한 스레드에서 메모리를 기다리는 동안 다른 스레드의 작업을 실행해 코어의 빈 시간을 줄이는 방식이죠. 각 스레드의 레지스터 같은 상태 정보는 따로 관리하겠지만 연산 장치나 캐시 등 핵심 자원은 물리 코어에서 공유해요. 그래서 1코어가 실제로 2개의 코어가 되는 것이 아니고, 작업에 따라 처리 효율을 높여주는 효과가 있는 거예요.
감사합니다.