티스토리 뷰

컴퓨터 구조론/CPU

Hyper threading

로또_ 2019. 9. 22. 18:05

Hyper threading

하이퍼 스레딩이라는 기술을 사용하게 되면 멀티코어를 사용해야 할 작업에서 20~30% 성능향상이 있습니다. 단, 멀티코어가 필요없는 싱글코어로도 충분한 작업에서는 오히려 10%정도의 성능이 저하됩니다

 

위의 그래프에 대해 설명합니다. 첫번째 그래프에서 주황색과 파란색의 막대가 각각 시간적 흐름에 따라 하나의 프로세스에서 필요로 하는 자원의 양을 나타내고 있습니다. 멀티태스킹이 이루어지는 원리는 운영체제 상에서 매우 작은 시간 단위로 각각의 작업을 번갈아가며 실행시키기 대문에 가능한 것입니다. 따라서 두번째 그래프에서 묘사된 대로 하이퍼스레딩이 적용되기 전의 일반적이 상황에서 두개의 작업이 완료될 때까지 각각의 작업을 따로 실행시킨 것과 동일 한 시간이 걸리게 됩니다.

 

*세번째 그래프는 하이퍼 스레딩을 적용했을 때의 구동 원리를 나타낸 것인데, 일반적으로 멀티 태스킹을 위해 쪼개진 사이클마다 번갈아가며 작업이 이루어지는 것과는 달리, 매 사이클마다 자원의 여유 공간에 또 다른 작업을 수행시켜, 두 작업이 필요로 하는 자원의 양이 100%에 못 미칠 경우에는 두 사이클이 걸릴 과정을 한 사이클 내에 끝내도록 하고 있습니다. 물론 합이 100%를 넘는 경우에는 한 사이클에서 처리가 완료되지 않고 부족한 자원만큼은 다음 사이클로 넘어가게 됩니다. 따라서 듀얼프로세서, 혹은 하이퍼스레딩을 이용하더라도 성능이 정확히 2배가 되는 일은 없습니다. 다만 약간의 성능향상은 기대 할 수 있습니다. 

 

더 정확한 기능과 설명은 다음에 다시 공부하면서 작성하겠습니다.

반응형