하드웨어적으로 Hyper Threading 을 지원하고 이를 사용하려면 칩에 어떤 설정을 해줘야 한다... 정도로 이해되는데. 웹을 검색하여 아래와 같은 설명을 찾았다.


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Intel사가 2001년 8월에 발표한, 마이크로 프로세서의 고속화 기술이다. 프로세서 내의 레지스터와 파이프라인 회로를 사용하지 않는 시간을 유효 이용함으로서, 하나의 프로세서를 마치 2개의 프로세서인 것처럼 보이도록 하는 기술이다.

하나의 Thread가 처리를 진하는 중에, 레지스터와 파이프 라인등에서는 반드시 사용하지 않는 시간이 생긴다. 기존에는 이러한 미사용 시간은 무용하게 방치 되었으나, 이러한 리소스를 모아서 하나의 프로세서로 보이게 하여 별개의 Thread 처리를 진시키는 것이 Hyper-Threading이다.

이때문에 Hyper-Threading을 실장한 마이크로 프로세서에서는, 하나의 프로세서 코어에 대해 2개의 버스(bus)가 있다. 즉, OS측에서 보면 가상적으로 2개의 프로세서가 존재하는 것이 되어, 싱글 프로세서의 컴퓨터를 듀얼 프로세서와 같이 사용할 수 있게된다.

이에따라 2개의 서로 다른 어플리케이션을 동시에 실 한다거나, 1개의 어플리케이션을 보통의 싱글 프로세서 머신보다 고속으로 실하는 것이 가능하다. 단, 2개의 어플리케이션은 같은 프로세서 요소(연산기 등)를 동시에 이용할 수 없다는 제약이 있어서 단순히 성능이 2배가 되는 것은 아니고, 현재는 대략 20%정도 클록당 성능이 향상 되었다고 알려져 있다.

이점이 듀얼 프로세싱과 Hyper-Threading의 차이지만, 듀얼 프로세싱이라도 항상 2배의 성능을 발휘 한다고는 할 수 없다.


출처 : http://e-words.ne.kr