벤치리뷰·뉴스·정보/고전 스페셜 정보

[고전 2002.11.14]Pentium 4 3.06GHz 빠른 리뷰 Hyper-Threading의 효과는 얼마나?

tware 2005. 10. 11. 06:30

 

 

 

 

11 월 14 일, Intel은 도내 호텔에서 기자 회견을 개최하고 자사의 최신 제품인 하이퍼 - 스레딩 기술 (Hyper-Threading Technology, 이하 HT 기술)을 지원하는 Pentium 4 3.06GHz를 공식적으로 발표했다 .

 3GHz 라는 PC 용 CPU로서는 전인미답의 클럭과 신기술 HT 기술은 높은 처리 능력을 발휘를 기대할 수 있기 때문에 지금까지 큰 주목을 모아왔다. 본 기사에서는 그러한 Pentium 4 3.06GHz의 매력에 벤치 마크 테스트 등을 이용하여 다가 가고 싶다.




논리 프로세서를 2개. HT 기술이 활성화 된 Pentium 4 3.06GHz

 Pentium 4 3.06GHz는 0.13μm의 제조 공정에 따라 만들어진 Northwood 코어를 이용하고, CPU 코어의 스테핑은 8 월에 출시 된 Pentium 4 2.80GHz 등에서 도입 된 C1 단계로 있다. 기본적으로 기존 제품의 고클럭 버전이다.

 L1 캐시는 12K μOPS 추적 캐시 +8 KB 데이터 캐시, L2 캐시는 512KB 시스템 버스는 533MHz로 되고 있어, 이점도 기존의 Northwood 코어의 Pentium 4와 차이는 없다.

하지만 하나 크게 다른 점이있다. 그것이 HT 기술을 사용할 수 있게 되어있는 것이다.

 이전 고토 히로시 시게루 씨가 보고 한 바와 같이, Pentium 4 프로세서는 이미 HT 기술을 사용할 수 있도록 설계되었으며, 특히 Northwood 코어는 HT 기술이 활성화되어 있었다. 그러나 Pentium 4 2.80GHz까지 논리 프로세서 (아래)가 1 개 밖에 사용할 수없는 상태로 하드웨어 설계되어 있으며, HT 기술이 설계되어 있지만 논리 프로세서가 하나 밖에 없기(HT 봉인) 때문에 실질적으로 HT 기술을 사용할 수 없었다. 그러나  Pentium 4 3.06GHz는 논리 프로세서를 2 개로 되어, HT 기술을 이용할 수 있게 되었다. 이것이 기존의 Pentium 4와 큰 차이가 있다.

 

 

CPU 자원 활용도를 높이는 하이퍼 스레딩 기술


 그런데, 이 HT 기술은, 어떤 기술인 것인가? 간결하게 설명하는 경우 "논리 프로세서가 2 개있는 것으로 멀티 스레드 처리를하고, 프로세서 내부의 리소스 사용률을 높이는 것으로, CPU 처리 능력을 올리는 기술 "이라는 것이된다. 이것으로 무엇을 말하고 있는지 모르는 사람도 많을 테니 좀 더 자세히 살펴 보자.

 HT 기술뿐만 아니라 CPU의 고속화가 목표로하는 것은 자원을 한계까지 사용, 즉 가능한 연산 유닛의 활용도를 높임으로써 연산 능력을 올리고 처리 능력의 향상을 목표로하는 것이다. 옛날에는 파이프 라인, 슈퍼 스칼라화 등의 노력은 명령의 실행 수준 병렬화 가능한 실행 효율을 높여 나가는 방법이었다. 말하자면 공장 라인 (CPU로 말하면 파이프 라인)에 가능한 재료를 담아 더 많은 제품을 만들자는 방법이었던 셈이다.

 그런데 최근의 CPU는 입구에서 재료를 넣을 때 거의 한계라고 할 때까지 재료를 담아 왔기 때문에 일반적인 방법으로는 라인 (파이프 라인)에 물자 (명령)를 담는 것이 어려워 다소 듬성듬성 하게 되어 있었다. 그래서 라인을 어떻게 하면 더 재료를 담을 수 있는지 다시 생각 해본 결과, 새로운 입구를 준비하면 좋다는 것을 발견하여 붙여 보았다. 이것이 HT 기술의 기본적인 생각이다.

 그림으로 생각하자. 그림 1은 HT 기술의 켜짐 / 꺼짐 상태에서 프로세서 상황이다. HT 기술을 취소하면 논리적 프로세서는 1 개 밖에 없기 때문에, 입구는 하나 밖에 없다. 이 경우 스레드는 순차적으로 처리되어 나가게되지만, 실제로 처리를 행하고있는 파이프 라인은 듬성듬성한 상태로 빈 부분이 적지 않다.

 

 

 

 

그래서 입구를 2 개 붙여 본다. 즉 논리 프로세서를 2 개 붙인 HT 기술이 켜져있는 상태에서는 빨간색 첫 번째 스레드가 동시에 노란색 두 번째 스레드를 처리 할 수​​ 파이프 라인에 빨간색과 노란색으로 이용률이 향상된다. 따라서 HT 기술을 선택하는 경우에는 이전보다 처리 능력이 향상 될 것이다.

 HT 기술을 지원하는 CPU는 추적 캐시와 TLB 등의 프런트 엔드 부분을 이중화하고, 논리 프로세서에서 공유 할 수 있도록 개량되어 그 부분에 의해 HT 기술을 지원하지 않는 경우에 비해 5 %의 다이 오버 헤드(추가 회로 비용)이 있지만, 최적화 된 환경에서 25 %의 성능 향상이 있다고 Intel은 설명하고 있으며, 그 효과는 결코 작지 않다.

 

 

사용하려면 HT 기술 지원 OS, BIOS 및 칩셋 지원해야

 그러나 이를 위해서는 몇 가지 조건을 충족해야 한다. 하나는 OS 나 응용 프로그램 수준에서 멀티 스레딩을 지원하며 HT 기술을 최적화 할 필요가 있다.

 IA-32 아키텍처는 대기 상태가 된 CPU는 상태를 확인하는 과정이 계속 달리는 "유휴 루프"라는 상태로 들어갑니다. 두 개의 논리 프로세서 중 실제로 사용하지 않는 리소스를 점유 해 버린다.

 그래서 OS 수준에서 "HALT 명령"라는 명령을 실행하여 한쪽의 CPU가 활성화 될 때 다른 하나는 자원을 점유하는 것을 피할 필요가 있다. 이 밖에도 예약 된 작업에서도 최적화해야, OS 수준에서의 최적화는 필수라고 할 수 있다.

 Intel은 HT 기술을 지원하는 OS로 Windows XP Home Edition, Window XP Professional Linux 커널 버전 2.4.18 이상을 올리고있다. 멀티 스레드를 지원하는 OS라고 하는 것은, Windows 2000 및 Windows NT Version 4.0도 있지만, HT 기술 이전에 출시되었기 때문에 이러한 최적의 성능을 사용할 수없는 가능성이 높다.

 실제로 Windows 2000에서 HT 기술을 선택했는데, Windows 자체를 설치할 수 있으며, 멀티 프로세서로 인식되었지만, WebMark2001을 실행해도 HT 기술이 꺼져있는 경우에 비해 반대로 결과가 나빠졌다. 이에 따라도 HT 기술을 사용하는 경우에는 Windows XP 내지는 Linux 2.4.18 이상에서 사용하는 것이 좋을 것이다.

 또한 HT 기술을 지원하는 OS는 멀티 스레드를 지원하지 않는 응용 프로그램에서도 효과를 얻을 수 있을 것이다. 라는 것은 OS가 여러 응용 프로그램을 멀티 스레드로 작동 할 수 있게 되기 때문이다.(프로그램 자체가 멀티 쓰레드를 지원안해도, 프로그램을 동시에 여러개 실행하면 이득을 볼 수 있다. 특성은 2코어와 동일. 2코어와 향상되는 비율이 다를뿐.)

 단지, 이것은 여러 응용 프로그램에 나름대로 무거운 처리를 하지 않으면 혜택을 누릴 수 없다. 하나의 응용 프로그램을 이용하고있는 때에, HT 기술의 혜택을 누릴 위해서는 응용 프로그램 수준에서 멀티 스레드를 지원하는 필요가 있다. Adobe의 Photoshop 및 Premiere 등 워크 스테이션에서도 사용하기도 하는 프로 응용 프로그램은 멀티 스레드에 대응하고 있는 것이 많고, 이러한 응용 프로그램을 사용하는 것도 HT 기술의 혜택을 누릴 수 있다. (듀얼코어 쿼드코어 같은 멀티코어 시대 이전에, 웍스테이션의 경우는 CPU 자체를 2개 4개씩 끼웠고, 이런 그래픽 쪽 소프트 그런 멀티 CPU를 이미 지원했죠. 이미 멀티 스레드화 되어 있는 소프트들. 이런류의 소프트가 또 멀티 스레드화 하기가 좋습니다. 조금 다른 얘기로 이렇게 때문에 인텔이 펜티엄코어에 라라비 신명령 유닛을 (16벡터 SIMD명령) 추가하고 그러한 코어를 최소 32코어 부터 시작하는 라라비 x86 멀티코어 그래픽 카드로  GPU를 만드려고 한 이유 입니다. 간혹 보면 GPU는 멀티를 잘하고, CPU는 잘 못하다고도 하는데 그게 아니라, 그래픽이 멀티로 처리하기 좋은 환경인 겁니다. 그러니까 PC용 소프트에서도 HT로 성능이 안늘어 난다면 HT가 못하는게 아니라, 프로그램이 멀티스레드화가 안되어있다던가, 멀티스레드화 시켜도 제대로 된 멀티처리가 용이하지 않거나, 멀티스레드를 잘 활용하게 작성을 못했거나  그런 겁니다. 듀얼코어랑 같습니다. 듀얼코어라고 해서  멀티스레드화 되어있지 않는 소프트를  듀얼코어 CPU가 자동으로 2배로 돌리지 못하죠. 마찬가지 입니다.).

 또한 Windows 9x 계열이나 Windows 2000 등으로 Pentium 4 3.06GHz로 이용하고 싶은 경우에는 BIOS 설치 프로그램에서 HT 기술을 취소하면 된다. HT 기술을 지원하는 마더 보드는 BIOS 셋업 프로그램에 HT 기술에 대한 항목이 준비되어 그것을 이용하여 활성화 또는 비활성화를 설정할 수있다.

 Intel 제의 메인 보드 "Intel D850EMV2R"는 BIOS 설정에 "Hyper-Threading Technology"라는 항목이 나타나 "Enable"로 설정함으로써 HT 활성화 "Disable"로 설정함으로써 HT 비활성화 할 수 있다.

 또한, HT 기술을 지원하는 칩셋이지만, Intel 845G의 A 단계를 제외한 시스템 버스 533MHz를 지원하는 Intel 칩셋이 되고 있다. 즉, Intel 850E, Intel 845E, Intel 845GE, Intel 845PE, Intel 845GV 더 최근 출시 된 Intel 845G의 B 단계가있다.

 지금까지 시장에 유통하고 있던 Intel 845G 탑재 메인 보드는 대부분이 A 단계의 칩을 탑재하고 있기 때문에, 사용할 수 없는 가능성이 높다. 또한 타사 칩셋 (VIA Technologies, SiS)이 어떻게 되는지는 현재 명확하지 않다. VIA Technologies는 P4X400을 탑재 한 P4PB의 새로운 버전을 출시하고, 그쪽 버전은 HT 기술을 지원하고 있다고 한다. (845G는 실제로 초기 리비전 칩셋을 사용한 보드가 대부분으로 거의 HT를 쓸 수 없었고, 845E의 경우는 대부분 바이오스를 각 보드사에서 지원하며 사용가능, 비아 칩셋을 쓴 경우에도 P4X333 급 보드에서도 바이오스 제공하며 사용가능)

 또한 칩셋과 동시에 마더 보드 레벨에서도 대응이 필요하다. 구체적으로 CPU에 전력을 공급하는 레귤레이터가 70A의 전력을 공급해야 한다. 이 70A라는 사양은 Intel이 OEM 제조 업체에 제공하고 있는 Northwood 디자인 가이드다. Northwood FMB2에 포함 된 사양으로, FMB2를 바탕으로 만들어진 메인 보드라면 문제없이 사용할 수 있습다. 그냥 외형상 그것이 FMB2을 바탕으로 만들어진 제품인지, 그것보다 이전의 디자인 가이드인 FMB1인지 알수 없다. 그래서 실제로는 마더 보드 벤더가 공개한 상황으로 판단 할 수 밖에 없는 상황이다.


모든 결과에서 최고 성능을 발휘했다 Pentium 4 3.06GHz

 그러면 벤치 마크를 이용하여 Pentium 4 3.06GHz의 성능을 알아 가고 싶다. 먼저 필자가 본 연재에서는 일반적으로 사용하는 벤치 마크 프로그램을 이용하여 벤치마크를 실시하고 싶다.

 이용한 것은 4 장르, 7 개의 벤치 마크이다. Office 응용 프로그램의 SYSmark2002/Office Productivity, 콘텐츠 제작 계의 SYSmark2002/Internet Contents Creation과 TMPGEnc Version 2.5,3 D 응용 프로그램 3DMark2001 Second Edition (Build330) Quake III Arena와 Comanche 4, Web 어플리케이션의 WebMark2001/B2C 7 개다. 또한 이외에도 SPEC Viewperf7 결과도 측정하고, 양이 방대하게되어있다. 결과는 다른 페이지로 유지하므로 관심이있는 사용자는 참조하기 바란다.

 이번 Pentium 4 3.06GHz의 플랫폼으로 제공 한 것은 Intel 850E를 탑재 한 메인 보드 (D850EMV2R)에서 PC1066과 PC800의 2 종류의 메모리 테스트하 고있다. 또한 D850EMV2R의 BIOS 업데이트는 HT 기술을 지원하고 BIOS 설치 프로그램에서 HT 기술의 활성화 또는 비활성화를 설정할 수 있기 때문에 각각 HT 기술을 활성화 또는 비활성화 테스트를 했다. HT 기술의 on, OFF 상태는 각각 Windows XP를 새로 설치하여 실시했다.

 또한 비교 대상으로 2GHz 이상의 L2 캐시 512KB (즉 Northwood 코어) Pentium 4와 Athlon XP 2800 + ~ 2000 +까지의 결과를 게재하고있다. 또한 WebMark2001은 HT 기술을 지원하지 않는 Windows 2000에서 테스트하고 있기 때문에, HT 기술이 활성화 상태 결과는 게재하지 않습니다.

 


 테스트 환경은 다음과 같다, 결과는 그래프 1-7과 같다.

 

 

 

 

그래프 1 SYSmark2002/Office Productivity

 

 

 

그래프 2 SYSmark2002/Internet Content Creation

 

 

그래프 3 TMPGEnc Version 2.5

 

 

 

그래프 4 3DMark2001 SE/640x480 / 32bit 칼라 (DXTC 사용)

 

 

 

그래프 5 Quake III Arena/640 × 480 / 32bit 컬러

 

 

 

그래프 6 Comanche 4 / 640 × 480 / 32bit 컬러

 

 

 

그래프 7 WebMark2001/B2C

 

 

 

 

 

 

 

결과는 본대로에서 차트에 게재 된 모든 벤치 마크에서 Pentium 4 3.06GHz는 톱이 되었다. HT 기술을 활성화하거나 비활성화 교체해 봤지만, 어느 쪽이든 Pentium 4 3.06GHz는 모두 톱의 지위를 얻고있다. 이에 따라 Pentium 4 3.06GHz는 현재 최고 성능의 CPU라고 말해도 좋을 것이다.

 또한, HT 기술을 활성화 또는 비활성화 차이이지만, Office Productivity (그래프 1)에서는 동등 Internet Contents Creation (그래프 2)와 TMPGEnc (그래프 3)는 HT 효과적 웃돌아, 3DMark2001 SE (그래프 4), Quake III Arena (그래프 5), Comanche 4 (그래프 6)는 HT 무효가 약간 웃돌고 있지만 차이는 거의없는 상황이다. 이러한 것에서 알 수는 Internet Contents Creation 및 TMPGEnc 등의 응용 프로그램 수준에서 멀티 스레드를 지원하는 소프트웨어는 명백한 효과가 있고, 3D 게임 등에서는 약간 성능이 저하한다는 것이다.

(이 당시는 일부 전문 프로그램을 제외하면 멀티쓰레드 지원 프로그램이 거의 없었기 때문에 1가지 프로그램만 돌려서는 (게임과 같은거) HT로 인한 성능 향상이 없던 시절.

지금이야 멀티코어 시대라  HT가 충분히 효과를 보지만 말이죠.

사용자 입장에서는 HT는 = 멀티코어 로 생각해도 무방합니다.)

 

 

응용 프로그램에서는 30 % 가까운 성능 향상을 보이는 HT 기술

 그러면 응용 프로그램 수준에서 HT 기술을 사용하여 어느 정도의 성능 향상이 있는지 확인하자.

 

 

그래프 8 TMPGEnc Version 2.57

(위가 바이오스에서 HT Off, 아래가 HT On.

 

각 on Off 별로  2개의 그래프중 윗쪽 자주색은  멀티스레드를 지원하는 TMPGEnc 프로그램에서  멀티스레드를 On 시킨것, 아래 연보라색은 멀티쓰레드 Off.

 

성능상 바이오스에서 HT를 켜고, 프로그램에서도 멀티쓰레드를 켠 것의 성능이 가장 높죠. 두번째가 바이오스에서 HT를 켜고, 프로그램에서는 멀티쓰레드를 끈 것. (이건 윈도우 자체도 약간이라도 성능을 쓰니까, 이런 부분?)

 

HT를 바이오스에서 끄고 프로그램에서는 멀티쓰레드를 켠것이 성능이 가장 떨어지구요. 이건 원래 이론적으로도  싱글코어(싱글쓰레드) CPU에 멀티 쓰레드 프로그램을 돌리면 성능이 더 떨어지게 되어 있습니다. 두 쓰레드 (2태스크)를 동시에 돌릴때  하이퍼쓰레딩이나 듀얼코어는 실제 동시에 실행을 하지만, 그렇지 않은 CPU에서는 두 쓰레드를 번갈아 가면서 실행을 해야 하는데, 그러면 쓰레드 전환시 반드시 CPU가 노는 상태가 나오기 때문이죠. 동시에 실행은 하지 않더라도 쓰레드 전환에 의한 페널티가 없으려면 아이테니엄 같은 멀티쓰레드라도 지원을 해야죠. 쓰레드 상태를 유지할 수 있으니까요.)

 

그래프 8 TMPGEnc Version 2.57에서 HT 기술의 유효 · 무효, 심지어 TMPGEnc 설정에서 멀티 스레드를 활성화 · 비활성화 된 결과 다. 멀티 스레드 켜져 비교하면 HT 기술을 활성화 한 경우 32.2 프레임 / 초를 실현하고 있지만, HT 기술을 해제 한 경우에는 25 프레임 / 초로되어 성능 향상 비율은 실로 28.8 %가되고있다.

 

 

이 테스트는 Photoshop 7에서 여러 개의 필터를 배치 실행하고 실행하는 데 걸린 시간을 측정하는 벤치 마크에서 여러 필터를 함께 측정 할 수있는 뛰어난 것이다. 수치는 시간에 여기에서는 숫자가 작을수록 성능이 높은 것을 보여주고있다.

 

표 1 : HI-FI-Ultimate-Bench-PS7

 

    HT 선택 HT 취소
Photoshop 7 구름 패턴 2 3.4 3.4
노이즈 추가 0.6 0.5
수정 15.1 19.9
모자이크 0.9 1
밝기 중간 값 183.5 282.6
언샵 마스크 3.2 3.3
광선 확산 11 11
흐림 (상세 정보) 72.7 71.7
샤프 (윤곽 만) 3 4.4
워터 종이 28.1 28.4
드라이 브러쉬 33.2 32.7
윤곽 이외를 흐리게 2.5 3.6
크롬 19 18.5
묵화 24.9 24.7
밝기 최대 29.7 40.6
하이 패스 7.4 8
가장자리의 광채 19.4 20.4
가우시안 흐림 2.5 2.5
역광 2.4 3.1
NTSC 컬러 2.8 2.8
수채화 21.7 21.4
조명 효과 2.3 2.3
모드 변환 CMYK 색상 4.1 4.6
모드 변환 Lab 8.7 10.8
모드 변환 그레이 스케일 모드 2.5 2.8
모드 변환 RGB 1.4 1.5
윤곽 검출 2.6 4.2
컬러 하프 톤 3 2.9
극좌표 8.3 14.1
돌출 92.1 89.9
하프 톤 패턴 10.7 10.5
크래킹 25 24.6
고약 14 14
팔레트 나이프 28.6 29.9
잉크 화면 (외형) 18 17.8
확산 85.4 84.5
방사형 흐림 효과 445 556.4
  1238.7 1475.3

 

 

결과는 볼 수 있듯이, 멀티 스레드 처리가 되어 있는 "밝기 중간 값", "밝기 최대 값", "방사형 흐림 효과"같은 필터에서 상당한 시간 단축이 보여지고 있다. "밝기 중간 값"에서는 36% 단축 "밝기 최대 값"에서는 39% 단축 "방사형 흐림 효과"는 20 %의 단축으로 크게 단축하는 것을 알 수 있다 (반면 반대로 약간 악화되고 있는 곳도 있지만, 그 차이는 미미하다). 전체적으로는 17% 단축되는 걸 알 수있다.

 또한 3D 게임 Serious Sam II를 윈도우에서 실행하면서 PowerPoint 파일을 열 경우 HT on시 불과 4 초에 열리는인데, HT Off는 72 초 걸렸다. 이것은 HT 기술의 영향 이라 말하는, HT가 유효 하면 프로세스의 할당을 잘하고 있다고 생각하는 것이 좋다.

 이것은, HT Off 하면 백그라운드의 Serious Sam이 CPU 할당에서 99 %로, 포 그라운드이어야 할 PowerPoint에 빨리 CPU를 할당하지 않고, 시간이 걸렸다. 이에 비해 HT on은 Serious Sam은 1 개의 논리 프로세서를 사용하고 있었지만, 다른 하나의 논리 프로세서가 비어있는 상황 이었기 때문에 빠른 프로세스가 할당 할 수있는 셈이다.

 

 

금방이라도 혜택을받을 수 있는 HT 기술이지만, 조기에 로우 엔드 모델의 보급을 바란다

 이상과 같이, HT 기술을 지원하는 Pentium 4 3.06GHz는 HT 기술을 지원하지 않는다 하더라도 현재의 최​​고 성능의 CPU 인 것은 틀림 없다.

 또한 HT 기술은 벤치 마크 결과에서 알 수 있듯이, 멀티 스레드를 지원하는 응용 프로그램은 경우에 따라 30 % 이상의 성능 향상을 보이기도 한다. 또한 중요한 것은 멀티 스레드를 지원하지 않는 응용 프로그램에서 여러 응용 프로그램을 동시에 실행하면 혜택을 누릴 수 있다. 이것이 HT 기술의 장점이며 응용 프로그램의 대응이 필수적인 SSE 및 MMX와​​는 크게 다른 부분이라고 할 수 있다.

(새로운 명령어지원으로 더 빨라지는 경우는 프로그램이 그 명령어로 만들어져야 성능이 향상. 하이퍼쓰레딩의 성능 이득을 보기 위한 방법은 듀얼코어와 동일. 프로그램이 멀티쓰레드화 되어 있던가, 아니면 각 프로그램을(태스크) 여러개 실행하던가..)

 이러한 점에서 특히 성능이 일의 능률에 큰 영향을 미칠 전문 사용자라면 큰 혜택을받을 수있다. 소비자 사용자의 경우 비용이 문제가 되는데, Pentium 4 3.06GHz의 가격은 79,320 엔으로 결코 저렴하지 않고, 가격대 성능은 좋다고는 말하기 어렵다. 소비자에게도 HT 기술은 큰 혜택이 있다고 생각하기 때문에 가능하면 조기에 저가형으로 내려 오는 것을 기대하고 싶다. (FSB 800의 노스우드C 에서는 그래도 적당한 가격에 HT를 사용 가능하죠. FSB 533도 (메모리) 병목이 있어서, FSB 800으로 내놓게 맞기는 하죠. 3.06은 533 보드 사용자 중에서 고성능을 원하는 사람들의 보너스 같은 것 플러스 테스트 목적이 컸다고 봅니다. 노스우드C  이후의 벤치를 봐도 FSB 800의 3.0C와  이 3.06과 성능 비교한 벤치를 보면 3.0C가 확실히 더 좋으니까요. 소프트에 따라서 2.6C나 2.8C가 약간 더 좋은 경우도...).

 

 

2002년 11월 14일

 


이 시기의 다른 벤치마크 사이트들의 경우도 결과는 거의 같습니다. 프로그램 환경이 그러한 시절이기 때문에 거의 대부분의 프로그램은 성능증가가 거의 없는 수준이고, 일부 소프트웨어의 경우만 성능 증가. 또는 프로그램 환경이 그러하니 프로그램을 멀티로 실행시키고 성능 증가 이런식이죠. 성능 증가의 %는 다를뿐  듀얼코어(멀티코어)와 특성이 같다는걸 아는 사람은 정확히 판단이 되지만, 그렇지 못하면 파악이 안되는 거죠.

 

마치 얼마전까지도 그런 잘못된 판단을 하는 i5와 i7의 관계처럼 말이죠. 이것 역시 실제 물리적 4코어와 8코어와의 관계와 똑같죠. (물론 성능 증가 %는 다르지만) i5와 i7의 성능차가 없는 소프트라면 물리적 4코어와 8코어를 비교해도 성능차가 없죠. 유명한 게임으로 스타2의 경우도 2코어나 4코어나 코어에 따른 성능차가 없으면, 같은 아키텍처의 펜티엄이나 i3나 차이가 없게 되죠 (물론 펜티엄과 i3는 HT 이외에도 확장명령어 지원의 차이도 있긴 하지만 말이죠.). 더 예전으로 쿼드코어 CPU 2G 중반대보다 듀얼코어 3GHz가 더 좋은 성능을 내듯이 말이죠. 시간이 한참 지나서부터 2GHz 중반대 쿼드코어가 소프트 지원으로 성능을 냈듯이 말이죠.

 

아무튼 이런 관계를 파악하는 분들은 AMD가 차세대 ZEN에서 SMT를 넣는다고 하는게 이해가 갈테고(현재 거의 기정사실), 파악이 안되는 분들은 왜 하이퍼쓰래딩을 (SMT = 인텔식 이름 하이퍼스레딩) AMD가 자사 CPU에 넣으려 할까? 라고 의문을 가지겠죠. 모 요즘은 하이퍼스레딩을 부정하거나, 성능 증가가 없다고 하는 분은 거의 없겠죠. 펜티엄4 초기야 처음보는 기능이라 당장 성능이 안나오니(프로그램이 싱글만 쓰니) 그럴 수도 있지만.... (아래 링크 중 아이테니엄 (IA-64) 계열은 약간 다릅니다. 이쪽은 멀티 스레드 코어이긴 한데 SMT 동시 멀티 스레딩 코어가 아닙니다. 쉽게 말하면 순차적 멀티 스레딩 코어 입니다 (자세하게 말하면 약간 다르게 종류도 약간씩 다르지만). 순차적으로 할거면 왜 만드냐 할 수도 있는데, 그래도 있는게 아예 없는 것 보다는 성능이 더 좋습니다. 또 IA-64 때문인지 펜4 부터 채택된 하이퍼스레딩도  돌아가면서 실행한다고 알고 계신 분도 많이 계셨죠. 아이테니엄 같은 서버를 제외하고  PC에서 하이퍼스레딩(SMT) 이전의 싱글 코어는 하나의 스레드만 다룰 수 있기 때문에 여러 소프트를 동시에 돌리면 눈에는 동시에 돌아가게 보이지만, 실제로는 번갈아 가면서 실행하는 것이고 (스레드 전활 때 오버헤드가 큼), 아이테니엄 같은 경우는 2개의 스레드를 다룰 수 (2개의 스레드 상태를 갖음) 있기 때문에 (실행은 번갈아서), 다음 스레드를 실행 할 때 스레드 전환을 곧바로 해서 바로 실행이 가능 합니다 (스레드 전활 때 오버헤드가 적음). 서버니까 이런 특성이어도 충분히 좋기도 하고, 애초에 CPU 내부에서 명령어 정렬 최적화해서 실행하는 x86과 다르게 컴파일러에서 최적화 해서 명령이 들어오기 때문이기도 합니다.  x86은 컴파일로 쪽에서도 최적화를 하지만, CPU 내부에서도 최적화를 하기 때문에  2개의 스레드의 명령을 혼합해서 동시에 실행이 가능하죠 (1개의 스레드가 명령 실행 포트를 다 채우지 못하는 만큼 2번째 스레드의 명령을  동시에 실행.)

 

 

[고전 2002.09.12] Hyper-Threading Technology를 지원하는 HTT Pentium 4 3.06GHz

 

 

[고전 2003.03.10] 하이퍼 쓰레딩 대응 게임 엔진이 등장 GDC 2003

 

 

[분석정보] 멀티 코어 + 멀티 스레드 + 동적 스케줄링으로 향하는 IA-64

 

 

[분석정보] intel의 듀얼 코어 CPU 1번타자 Montecito



 

 

[분석정보] IBM이 기술의 집대성 괴물 CPU "Power8"발표

 

 

[정보분석] 모든 CPU는 멀티 스레드로, 명확하게 된 CPU의 방향

 

 

[2001.08.29] IDF에서 보이는 새로운 방향 IA-32의 장래를 담당하는 하이퍼 쓰레딩

 

 

 

[정보분석] Penryn의 1.5 배 CPU 코어를 가지는 차세대 CPU "Nehalem"

 

 


[01년01월11일] Intel의 0.13μm 공정 P860/P1260에서 CPU는 어떻게 바뀌나

 

 


[01년01월17일] 10GHz CPU를 실현하는 Intel 0.03μm 트랜지스터 기술

 

 

 

[01년11월27일] 인텔 테라 헤르쯔 트랜지스터 기술 발표

 

 

[아키텍처] Core Microarchitecture"속도의 비밀은 "CISC의 아름다움"