하이퍼스레딩(Hyper-Threading)
- 정보처리기술사/컴퓨터구조,OS
- 2015. 7. 26.
인텔이 만들어낸 기술로 약간의 뻥으로 사람들을 현혹시킨 기술이기도 하다.
특정 작업환경에서는 좀 더 효율이 발생할 수도 있다.
예를 들어, 적은 리소스를 사용하는 프로그램들을 여러개 실행 할 경우 이 기능을 끈 것보다는 성능이 좋다. 하지만 동일한 연산을 주로 하는 프로그램에서는 오히려 성능이 줄어들 수 있다.
자 그럼 하이퍼스레딩이 무엇인지 정확히 알아보자.
쉽게 이해를 하려면, 사람의 몸으로 설명하는 것이 빠를 것 같아서 사람을 기준으로 설명을 해보겠다.
어려운 수학문제 4개(프로세스 4개)가 존재한다고 해보자.
이 문제를 4명이서 각각 하나씩 전담을 하여, 총 1분에 걸쳐서 풀게 되었다.
이 개념이 멀티프로세스이며, 사람이 4명이니 쿼드코어(4명)다.
그럼 i3같은 듀얼코어에 하이퍼스레딩을 적용한 경우 어떨까?
듀얼코어이기 때문에 일단 사람은 2명이다. 하지만 이 사람에게 특별한 처리 방식을 주게 되는데...
한번에 2문제를 동시에 주면서 풀게하였다.
자 그렇다면 효과를 어떻게 될까?
사람이 수학문제를 동시에 2문제를 풀 수 있을까?
좌뇌, 우뇌를 다르게 사용하면 모를까 수학문제라면 좌뇌를 집중적으로 사용하면서 풀기 때문에 오히려 2문제를 동시에 푸는 것이 헷갈려서 한문제씩 2번 푸는것보다 시간이 더 걸릴 수 있다.
기술별 이해하기 쉽게 정리된 그림(슈퍼스칼라부터 하이퍼스레딩까지 설명되어 있다.)
이게 바로 하이퍼스레딩의 독이다.
이러한 비슷한 연산(여기선 수학문제)이 동시에 일어나게 되면, 오히려 헷갈려서 시간이 더 오래 걸릴 수 있다는 단점이 있다.
그럼 하이퍼스레딩이 좀 더 효율을 발휘하는 것은 무엇이 있을까?
수학문제가 아니라, 만약 음악실기문제를 같이 한다면 어떨까?
물론 수학문제가 너무 어려워서, 다른 것을 하면 손해를 볼 수 있지만 수학문제가 너무 어렵진 않고 일반적인 난이도라면 수학문제를 풀면서 노래 연습을 동시에 진행해 나갈 수도 있을 것이다.
하이퍼스레딩은 바로 이 공통적인 자원에 동시에 2가지 일을 처리하는 방식이다.
인텔은 최대 30프로 정도 효과가 발휘된다고 하지만 어떠한 프로그램은 오히려 마이너스 효율이 나올수도 있다.
'정보처리기술사 > 컴퓨터구조,OS' 카테고리의 다른 글
메모리를 분리한 폰노이만 개선 구조, 하버드 아키텍처 (0) | 2019.12.10 |
---|---|
프로그램 내장 방식의 폰노이만 구조(Von Neumann Architecture) (0) | 2019.12.02 |
SSD의 핵심기술 FTL(Flash Translation Layer) (0) | 2016.09.05 |
지능형반도체 PIM(Process In Memory) (0) | 2016.03.06 |
무어의 법칙(Moore's Law)과 황의법칙(Hwang's Law) (0) | 2015.07.18 |