벤치리뷰·뉴스·정보/아키텍처·정보분석

[정보분석] 하이퍼 쓰레딩은 게임에서 효과가 없는가?

tware 2013. 1. 16. 21:01

 

 

인터넷에서 익히 알려진 정보중 하나가

인텔의 하이퍼스레딩은  일반 프로그램에서는 효과가 있지만

게임에서는 효과가 없다. 라는 정보 입니다.

 

그래서 몇가지 리뷰나 벤치중에서

하이퍼쓰레딩을 켠것 끈것의 성능이나

하이퍼쓰레딩을 사용하는 i3와  쓰지못하는 펜티엄 제품의

벤치가 있는 것들을 보고  성능차이가 어떤지 보겠습니다.

 

(애초에 게임이 아닌 소프트웨어는 성능 증가가 있는데, 게임만 성능 증가가 안된다 라는게 말도 안되는 얘기지만, 렌더링 같은 수십코어라도 멀티스레딩을 되는, 또는 연산용 소프트웨어와  게임에서의 낮은 스레드 수의 멀티스레딩 때문에 그런지도.. 물론 과거에서 최근으로 올수록 게임도 점차적으로 늘어가고 있죠. 아무튼 좀 이해를 하려는 분은 설명을 해주면 이해를 하지만, 이해를 안하려는 분은 직접 보여줘야만 이해를 하기 때문에.. 보여줘도 안하려고 하기도 하고...)

(첫 글을 작성한 때에는 이런 저런 설명을 덧붙이다 보니까 읽기가 힘들고 장황하게 되었는데, 블로그에도 여러 글들이 작성 되면서, 따로 설명을 해줄 수 있는 글들이 있어서, 내용을 간결하게 바꿨습니다.)

추가로 HT가 있는 i3와  없는 펜티엄간의 관계만 보려고 하지 마시고

AMD의 4코어 제품인 X4와  3코어제품인 X3, 2코어인 X2 를 눈여겨 보세요

인텔의 이전 세대인 i3 540(2코어 4쓰레드), i5 661(2코어 4쓰레드+터보), i5 760 (4코어 4쓰레드)도 잘 보시구요. (이걸 보라는 이유는 소프트웨어가 몇 스레드로 (몇 코어 지원) 작동하는가 때문 입니다. 2코어 3GHz가 3~4코어 2.6GHz보다 빠른 소프트웨어 라면, i3 3GHz를 HT를 켜나 끄나 똑같이 효과가 없겠죠. 반대로 성능이 높다면 이 경우는 i3 3GHz를 HT를 켠 것이 끈 것보다 성능이 더 높겠죠.

 

똑같은 이유로 i5와 i7의 관계도 같은 아키텍처의 물리 4코어와 물리 8코어에서 성능차가 있다면, i7이 i5보다 성능이 높아 집니다. 그런 소프트가 없던 시절에는 i5와 i7의 성능차가 거의 없죠. 있어봐야 클럭 차이 정도.)

 

CPU 구입시 개인적인 생각을 조금 보태면,  인텔 제품에서만 한정하면

 

1. 돈이 넉넉하다. i5 이상으로 가시는게 컴퓨터를 오래 강력하게 사용이 가능합니다.

 

2. 인터넷,문서작성,동영상 용도, 게임도 가벼운 게임들을 하면 (동생컴,엄마컴 등..) 셀러론, 펜티엄으로 가시는게 좋습니다. 캐쉬의 차이가 2MB,3MB로 차이가 있지만 이 차이로 "캐쉬 차이 나네" 이런 정도는 아니기 때문에, 셀러론,펜티엄은 대충 클럭 보고(가격포함) 결정 하면 될테구요.

 

3. 셀로런,펜티엄은 i5, i7을 쓰고 있으면서 가볍게 쓸 용도의 보조컴 용도도 괜찮구요. 이미 좋은걸 쓰고 있으니.. 간혹 컴의 문제가 있을때 라던가.. 뭔가 작업을 돌리고 있다던가 할때 가볍게 쓸 용도로 펜티엄,셀러론도 괜찮죠. 물론 여유가 있으면 더 좋은걸 쓰시면 될테구요. i3로 보조컴을 쓴다던가.. 더 돈이 많으면 i7을 주컴으로 쓰고 i5를 보조로 쓴다던가.

 

4. 돈은 딱히 i5이상을 살 돈은 없는데, 보조컴이 아닌  주컴으로 써야하는 용도일때는 i3를 사는게 좋다고 보구요. 펜티엄,셀러론 살돈에서 조금 더 보태서 i3를 사세요. 제한된 돈일때는 i3로 하고 VGA를 사는게 게임 성능도 더 좋습니다. 인터넷,동영상은 어짜피 셀러론 펜티엄으로도 충분한거니 문제가 없고, i3 + VGA 중상급 이상으로 가는게 좋겠죠.

(i3중 x1xx 계열이 가격이 싸죠. 이쪽을 말하는 겁니다. x3xx 계열은 좀 비쌉니다)

 

4쓰레드이기 때문에, 4코어 지원 게임에서 펜티엄,셀러론과는 확실히 차이가 있고, 아직 2코어 프로그램이 많은데 이때는 i5,i7도 클럭이나,캐쉬로 인한 약간의 성능차이지 코어가 4코어라서 그런 차이는 아니니까요. 즉 애매한 돈과, 프로그램 지원의 애매함을 동시에 잡는 정도가 된다 할수 있겠죠. 4쓰레드는 i5급은 아니지만 펜티엄,셀러론과는 확실히 차이가 크고, 2코어는 어짜피 큰 차이가 나니니까 i3로 가면 돈이 절약되고.. 4코어 이상 지원으로 가고 있는 추세니.. 펜티엄,셀러론 보다는 거기서도 성능이 확실히 좋고.. 그런거죠.(하이퍼스레딩이 있는 CPU는 없는 CPU에 비해서 평균 30% 성능 증가. 물론 위에서 말 했듯이 멀티 코어를 충분히 지원 할 때 입니다. 4코어도 지원이 없으면 2코어에 비해서 이득이 없듯이 똑같습니다. 평균 30%는 소프트웨어에 따라서 다릅니다.

 

하이퍼스레딩이 물리 4코어와 똑같이 4스레드를 동시에 실행 할 수 있는데, 같은 아키텍처의 물리 4코어에 비하면 당연히 떨어 지겠죠. 다만 물리 4코어도 코어가 4개라고 해서 1코어의 실제 성능이 4배는 되지 않습니다. 이 실제 성능은 코어가 많아 질수록 점점 증가 %가 낮아 집니다. 그냥 편의상 이론적으로 4배라고 하는 것이죠.)

[벤치리뷰] 75달러 언락 인텔 하스웰 펜티엄 G3258  여러 사이트 벤치모음

)

Call of Duty : Black Ops

 

AMD 애슬론 II X2 265를 100% 성능으로 봤을 때 평균 프레임 격차 입니다.

i3-2100 2C/2T 3.1Ghz, i3-2120 2C/2T 3.3Ghz는 HTT(하이퍼스레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1Ghz, i3-2120 2C/4T 3.3Ghz는 HTT를 결과 입니다.



 

AMD 애슬론 II x2 265를 100% 성능으로 봤을 때 최소 프레임 성능 격차 입니다.

i3-2100 2C/2T 3.1GHz, i3-2120 2C/2T 3.3GHz는  HTT(하이퍼쓰레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1GHz, i3-2120 2C/4T 3.3GHz HTT를 켠 결과 입니다.

 

 

 

 

 

각 CPU별 % 격차가 아닌 실제   평균 프레임  입니다.

i3-2100 2C/2T 3.1GHz, i3-2120 2C/2T 3.3GHz은  HTT(하이퍼쓰레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1GHz, i3-2120 2C/4T 3.3GHz HTT를 켠 결과 입니다.

 

 

 

각 CPU별 % 격차가 아닌 실제   최소 프레임  입니다.

i3-2100 2C/2T 3.1GHz, i3-2120 2C/2T 3.3GHz은  HTT(하이퍼쓰레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1GHz, i3-2120 2C/4T 3.3GHz HTT를 켠 결과 입니다.

 

 

 

 

F1 2010

 

 

 

AMD 애슬론 II X2 265를 100% 성능으로 봤을 때 평균 프레임 격차 입니다.

i3-2100 2C/2T 3.1Ghz, i3-2120 2C/2T 3.3Ghz는 HTT(하이퍼스레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1Ghz, i3-2120 2C/4T 3.3Ghz는 HTT를 결과 입니다.

 

 

 

 

AMD 애슬론 II x2 265를 100% 성능으로 봤을 때  최소 프레임 격차 입니다.

i3-2100 2C/2T 3.1GHz, i3-2120 2C/2T 3.3GHz은  HTT(하이퍼쓰레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1GHz, i3-2120 2C/4T 3.3GHz HTT를 켠 결과 입니다.

 

 

 

 

각 CPU별 % 격차가 아닌 실제   평균 프레임  입니다.

i3-2100 2C/2T 3.1GHz, i3-2120 2C/2T 3.3GHz은  HTT(하이퍼쓰레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1GHz, i3-2120 2C/4T 3.3GHz HTT를 켠 결과 입니다.

 

 

 

 

각 CPU별 % 격차가 아닌 실제   최소 프레임  입니다.

i3-2100 2C/2T 3.1GHz, i3-2120 2C/2T 3.3GHz은  HTT(하이퍼쓰레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1GHz, i3-2120 2C/4T 3.3GHz HTT를 켠 결과 입니다.

 

 

 

 

 

 

 

AMD 애슬론 II X2 265를 100% 성능으로 봤을 때 평균 프레임 격차 입니다.

i3-2100 2C/2T 3.1Ghz, i3-2120 2C/2T 3.3Ghz는 HTT(하이퍼스레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1Ghz, i3-2120 2C/4T 3.3Ghz는 HTT를 결과 입니다.

 

 

 

AMD 애슬론 II x2 265를 100% 성능으로 봤을 때  최소 프레임 격차 입니다.

i3-2100 2C/2T 3.1GHz, i3-2120 2C/2T 3.3GHz은  HTT(하이퍼쓰레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1GHz, i3-2120 2C/4T 3.3GHz HTT를 켠 결과 입니다.

 

 

 

각 CPU별 % 격차가 아닌 실제   평균 프레임  입니다.

i3-2100 2C/2T 3.1GHz, i3-2120 2C/2T 3.3GHz은  HTT(하이퍼쓰레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1GHz, i3-2120 2C/4T 3.3GHz HTT를 켠 결과 입니다.

 

 

 

각 CPU별 % 격차가 아닌 실제   최소 프레임  입니다.

i3-2100 2C/2T 3.1GHz, i3-2120 2C/2T 3.3GHz은  HTT(하이퍼쓰레딩 테크놀러지)를

끄고 돌린 결과이며, i3-2100 2C/4T 3.1GHz, i3-2120 2C/4T 3.3GHz HTT를 켠 결과 입니다.

 

 

 

레지던트 이블 5 (바이오 하자드)

레지던트 이블5는  평균,최소 프레임이 없고, 그냥  테스트1 , 테스트2로 되어 있습니다.

이 게임을 안해서 정확히 모르겠군요. 서로 다른 씬을 테스트 해서 이런건지..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

아래는 다른 사이트에서 아이비브릿지 i3 3220 (HT, 3.3GHz)를 가지고 하이퍼쓰레딩을 끄고 켜고 게임을 테스트한 내용 입니다. (하스웰 펜티엄 G3220 아닙니다.)

위의 샌디브릿지 시대 보다 더 최근이기 때문에 게임도 더 최근의 것이 테스트 되었습니다. 평균 프레임과 최소 프레임간의 차이를 보시면  하이퍼쓰레딩이 있는 i3와 없는 펜티엄과의 관계를 알수 있을 겁니다. 펜티엄도 i3와 L3 캐쉬 크기는 같은 3MB죠. (다른 특정 프로그램의 경우는 AVX를 펜티엄 이하는 지원하지 않기 때문에 그런 부분도 차이가 더 날수 있겠구요.)

 

3220 @ 3.3 w/o HT는  하이퍼쓰레딩을 Off 한것

3220 @ 3.3 w/ HT는 하이퍼쓰레딩을 on 한것 입니다.

같이 테스트된 아이비 i7 3770K도 마찬가지

 

하스웰의 경우는 IPC가 브릿지 계열에 비해서 조금 더 늘어났죠. 이건 아래를 링크를 참고

 

[벤치리뷰] 인텔 코어 i3-4340 하스웰

 

 

3Dmark는  그래픽 점수, 피직스 점수 (이게 CPU 능력이죠.)

(엔비디아의 피지엑스와 착각하면 안됩니다. Physics는 물리학 이라는 말이고..

엔비디아의 것은 PhysX 입니다. 엔비디아 자사의 GPU를 이용한 물리효과를

PhysX라고 붙인거죠.)

 

 

 

Battlefield 3 (Swordbreaker) 평균, 최소 프레임

 

 

 

Battlefield 3 (Caspian) 평균, 최소 프레임

 

 

 

Deus Ex  평균, 최소 프레임

 

 

Facr Cry 3 평균, 최소 프레임

 

 

Hitman Absolutiion 평균, 최소 프레임

 

 

 

Tomb Raider  평균, 최소 프레임

 

 

아래는 톰스에서 최근에  G3258 오버테스트에 올라온 벤치마크

본래는 G3258의 성능이 초점이겠지만, i3의 하이퍼쓰레딩과,

하이퍼쓰레딩이 없는 펜티엄 4.5Ghz의 성능 비교로도 쓸수 있겠죠.

추가로 AMD의 트리니티 에서 GPU를 꺼버린(불량인) 4.3Ghz x4 750k하고

비교도 되구요.

 

VGA 타이탄 6GB로 테스트

2코어 펜티엄 G3258 (Stock)은 기본클럭 3.2Ghz

2코어 페티엄 G3258 (Overclock)은 오버클럭 4.5Ghz,

4코어 애슬론 X4 750k (Stock)은 기본클럭 3.4Ghz, 터보 4Ghz

4코어 애슬론 X4 750K (Overclock)은 오버클럭 4.3Ghz

 

i3,i5는 다 아는 대로 4쓰레드 실행이죠. i3는 2코어 + HT로, i5는 HT 없이 코어수로

 

그래프 순서대로  최소, 최대, 평균

 

 

아르마 3 최소, 최대, 평균 프레임

 

 

 

배틀필드 4 최소, 최대, 평균 프레임

 

 

그리드 2 최소, 최대, 평균 프레임

 

 

 

 

메트로 최소, 최대, 평균 프레임

 

 

 

시프 최소,최대,평균 프레임

 

 

 

툼레이더 최소,최대,평균 프레임

(올려놓고 보니 이건 좀 뭔가 이상한데요;;;;

같은 G3258에서 조차 오버가 기본보다 못한게-_-;;

x4 750k도 그렇구요;;;

G3258 오버가 최상위이고 나머지가 쭈루룩이면.. 음 이겜은

다른겜에 비해서 고클럭 듀얼이 좀더 힘쓸수 있는 겜인가?(쿼드 지원이 안되나?)

라고 할수도 있겠지만..

실제로는 그게 아니기도 하구요. 실제로 다른 벤치를 보면 i3나 i5가 월등히 좋죠.

VGA쪽이 병목 인지도...)

 

 

(WoW)와우 월드 오브 워크래프트 최소,최대,평균 프레임



파 크라이 3

 

동클럭은 아니지만.. 3.1Ghz의 i3-2100과  3Ghz의 펜티엄 G860의

비교를 보시면 됩니다. 최소 프레임, 평균 프레임

겨우 0.1GHz의 차이치고는 크죠.

차이는 i3는 하이퍼쓰레딩이 된다는 것이고, G860은 하이퍼쓰레딩이 안된다는 거죠.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

추가된 더 최근의 게임인 Watch Dogs의 경우도 i3-4130과 펜티엄 G3220의 차이가 보이죠. 물론 클럭이 3.4Ghz, 3.0Ghz로 차이는 있지만, 클럭 이상의 차이라는건 알수 있을 겁니다. (하스웰 펜티엄 G3220 3GHz 와 하스웰 셀러론 G1820 2.7GHz 차이를 보고 하스웰 펜티엄 G3220 과 i3 4130 을 보시면 알겠죠

테스트에 쓰인 그래픽 카드는 HIS R9 290X iPower IceQ X² Turbo 4GB

 

아래는 위 게임 그래프의 샌디브릿지 시절이 아닌, 좀더 최근의 게임 입니다.

 

신작 콜오브 듀티 어드밴스드 워페어 라데온 R9 290의 각 CPU별 성능

하스웰 i3와 샌디브릿지 i3의 성능차를 알수 있죠.

I5와 i7의 차이도 알수 있습니다.

 

 

신작 콜오브 듀티 어드밴스드 워페어 지포스 GTX 980의 각 CPU별 성능

 

 

신작 콜오브 듀티 어드밴스드 워페어 지포스 GTX 980로 게임시 AMD CPU 점유율

 

 

 

신작 콜오브 듀티 어드밴스드 워페어 지포스 GTX 980로 게임시 인텔 CPU 점유율

 

 

 

vkz

파 크라이 4 CPU별 프레임

 

 

 

문명 비욘드 어스 CPU별 프레임

 

 

 

드래곤 에이지 인퀴지션 R9 290X CPU별 프레임

 

 

 

드래곤 에이지 인퀴지션 R9 290X 맨틀 CPU별 프레임

 

 

드래곤 에이지 인퀴지션 지포스 980 CPU별 프레임

 

 

 

세도우 오브 모르도르 이런식으로 특정 CPU부터 같으면 VGA 한계라서 그렇죠.

또는 게임 자체에서 최대 프레임이 막혀 있던가요.

 

 

배틀필드 4 다이렉트X

 

 

배틀필드 4 맨틀

 

 

보더랜드 프리시퀄

 

 

스틱스 마스터

 

 

토탈 워 로마 II 패치

 

 

아키 에이지

 

 

 

토탈 워 아틸라

 

 

 

그레이 구

 

 

 

배틀핑드 하드라인

 

 

트라이애드 워

 

 

월드 오브 워쉽

 

 

월드 오브 탱크

 

 

 

워 썬더

 

 

 

크루

 

 

 

그리드 오토스포트

 

 

프로젝트 카

 

 

 

GTA V

 

 

 

Witcher3

 

 

Fallout 4

 

최근 게임으로 올수록 각 게임이 4스레드 초과 지원하기 때문에, i5와 i7의 성능차가 나타납니다. AMD 쪽도 마찬가지로 코어가 많은게 효과가 있구요. 다만 AMD CPU는 IPC (클럭당 명령를 동시에 실행할 수 있는 능력)가 워낙 낮다보니... TDP 220W의 고클럭 FX 9xxx만 상위에 있고 나머지는...

 

최근 영상 추가

 

 

 

 

i5 760, i7 870 동클럭 테스트. 1세대 i는 i5와 i7의 L3 캐시는 둘다 8MB 동일.

(캐쉬까지 같기 때문에 이럴거면 HT만 끄고 켜도 될텐데... 두 제품이 배수가 다르기 때문에 약간이나마 버스 클럭이 높은 i5 760쪽이 유리하게 작용은 합니다.)

최근 게임으로 오면 i7 쪽이 이제 i5 보다 확실히 좋아 집니다.

영상속의 크라이시스3가 i7쪽이 훨씬 성능이 높다고 알려진 게임이죠.

하이퍼 스레딩은 그냥 쉽게 코어수와 같다고 생각하셔도 됩니다.

실제 물리 4코어와 물리 8코어가 있을때 8코어가 4코어랑 성능이 같은 게임이 있고, 다른 게임이 있듯이.. 특성은 마찬가지 입니다.

 

 

크라이시스3 1.3 패치. 그래픽 옵션 로우, 하이퍼 스레딩 (SMT) 끔 = 81 프레임.

 

 

크라이시스3 1.3패치 그래픽 옵션 로우, 하이퍼 스레딩 (SMT) 켬 = 102 프레임.

 

 

크라이시스3 1.3패치 그래픽 옵션 베리하이, 하이퍼 스레딩 (SMT) 끔 = 46 프레임.

 

 

크라이시스3 1.3패치 그래픽 옵션 베리하이, 하이퍼 스레딩 (SMT) 켬 = 60 프레임.

 

이렇게 그래픽 옵션을 2가지로 한것은 CPU가 아닌 GPU 리미트로 인해서 차이가 안날 수도 있기 때문에 명확하게 보이려고 한 것일 테구요. 그래서 CPU 테스트를 할 때도 최고 GPU를 끼우고 테스트를 합니다. 그렇지 않으면 GPU 리미트로 CPU 성능이 차이가 나도 프레임이  거의 같게 나오기 때문이죠.

 

 

동클럭 동 아키텍처, 코어/스레드 별 게임성능

 

 

녹화 때문이 아니냐 할수 있을텐데, 모니터를 카메라로 녹화한 영상. i7-920

기본클럭 HT 끔, 오버클럭 4Ghz HT 끔

기본클럭 HT 켬, 오버클럭 4GHz HT 켬

그래픽 카드가 지포스 750ti 인걸 감안하고 보세요.

CPU가 아무리 좋아도 그래픽이 너무 낮으면 GPU 한계로 인해서

성능 차이가 덜 나타나게 되죠.

 

AMD로 보는 최근 게임.

 

 

 

 

 

동클럭으로 맞추고 테스트.

 

펜티엄 20주년 기념 배수락 해제 하스웰 펜티엄 G3258 오버 4.5Ghz VS 하스웰  i3 4130 3.4Ghz 게임 성능.

 

하이퍼스레딩이 게임에서 성능 증가가 없는 기능이라고 한다면, AMD FX는 펜티엄급 게임 성능이 되겠죠.

 

[벤치리뷰] 스카이레이크 코어 i3-6100, i3-6300, i3-6320 테스트

IPC와 클럭이 좀더 오른 6100의 경우는 구 4코어 제품에 좀더 가까운 성능

 

[벤치리뷰] 75달러 언락 인텔 하스웰 펜티엄 G3258

펜티엄 G3258 기본클럭 & 오버클럭 vs i3

 

 

 

SMT는 아니지만 아키텍처의 IPC 차이

 

SMT는 아니지만 아키텍처의 차이 + 클럭

위에 그래프의 AMD와 인텔 차이를 반대로 인텔 끼리로 봐도

마찬가지죠. 누가 이기냐 지냐를 떠나서.. IPC가 더 높아지고 클럭도 약간 더 높고.. 결국 1코어당 성능이 높다는 건데..

고성능 코어의 적은 코어수 VS 약간 저성능 코어 또는 많이 저성능 코어에 더 많은 코어수 그럴때의 비교로 보면 되겠습니다. 약간의 IPC차와 클럭 높은게 이정도의 결과인데.. 월등하게 낮은 IPC 제품과 비교는 말 할 필요가 없겠죠.

IPC가 배제된 코어수 논쟁을 할 필요가 없습니다.

또 최신의 것일 수록 추가 명령어의 지원에 따라서 신형 소프트에서 또 더 성능이 올라갈 수 있기 때문에, 신형 소프트가 코어가 많은쪽이 올라가는 것과 상쇄 될수도 있고, 차이가 덜 했던 게임의 경우도 (그 게임 그대로) VGA가 바뀌며 VGA 병목이 적어지면 차이가 더 벌어질 수 도 있다는 것을 염두에 두어야 합니다. 일반적인 얘기죠. 정확한건 각각의 프로그램에 따라서 차이가 있을테고 분석을 해야 알 수 있으니까요.

 

 

하이퍼 스레딩은 무엇인가?

 

이것을 이해 하려면 우선 CPU의 기본 동작을 알아야 합니다.

 

[분석정보] CPU 고속화의 기본 수단 파이프라인 처리의 기본 1/2

 

 

[분석정보] CPU 고속화의 기본 수단 파이프라인 처리의 기본 1/2

 

모든 CPU들은 기본적으로 이렇게 동작 된다고 이해 하면 됩니다. 여기에서 성능을 더 높이기 위해서 나온 방식이 바로 다음과 같은 방식 입니다.

 

[분석정보] 슈퍼 스칼라에 의한 고속화와 x86의 문제점은

 

이렇게 파이프 라인의 수를 늘려서 여러 명령을 동시에 실행 할 수 있게 만들어서 성능을 높이는 방식이죠. 여기서 동시에 여러 명령을 실행 할 수 있다는 것은 하나의 스레드(태스크)의 명령을 말하는 겁니다. 하이퍼 스레딩 (SMT에 대한 인텔의 자사 상표명이 하이퍼 스레딩)가 있지 않는한 말이죠. 1세대 아톰의 경우가 슈퍼 스칼라에 + 하이퍼스레딩을 결합한 아키텍처 입니다. 이 글에서도 볼 수 있지만, CPU가 성능을 늘리기 위해서 파이프 라인 수를 늘린다고 해도, 여러 이유로 항상 여러 명령을 동시에 실행하지 못하죠.

 

하이퍼스레딩은 물리 2코어가 각각의 코어마다 1스레드씩 실행 해서 동시에 2스레드를 실행 하듯이, 하나의 코어를 2개의 논리 프로세서로 나눠서 (1코어를 완전 공유하며) 2개의 스레드를 동시에 1코어로 실행 하는 기술 입니다.

 

위에서 슈퍼 스칼라에서도 파이프라인이 많은 숫자만큼 동시에 명령을 실행하지 못한다면, 그만큼 최대 성능을 내지 못하게 된다는 얘기인데, 하이퍼 스레딩은 2개의 스레드의 각 명령을 1코어의 각 파이프라인에 보내서 동시에 실행하기 때문에,  1스레드 프로그램에서는 파이프 라인을 다 채우지 못하는 경우라도, 2스레드 프로그램이라면 파이프 라인을 더 최대로 채우며 실행이 가능 합니다. 1코어를 공유해서 2스레드를 동시에 실행하기에, 각각의 스레드를 1코어마다 실행하는 2코어에 비해서 (동일 아키텍처 일때)는 성능이 낮지만, 없을 때 보다는 30% 정도의 성능 증가가 있게 됩니다. 성능도 증가도 증가지만, 기술 구현에 5%의 회로 추가로 30% 정도의 성능 증가니까 효율성능 높여서 성능을 높이는 기술이기도 하죠.

 

(xx 위키에 CPU의 파이프라인화와 슈퍼스칼라의 설명이 혼합된 내용에 하이퍼스레딩 이라고 설명하는 것이 있는데 잘못된 얘기 입니다.)

 

하이퍼 스레딩이 인텔 CPU에 들어오기 전에 슈퍼스칼라에서도 성능을 높이는 방법이 있는데, 아래와 같은 기술 입니다. 현재의 CPU들은 거의 대부분이 슈퍼스칼라 + 아웃 오브 오더 + RISC uOPs 실행 방식 입니다. (인텔 펜티엄 프로부터)

 

[분석정보] 명령의 실행 순서를 바꿔 고속화 하는 아웃 오브 오

 

 

[분석정보] x86을 고속화하는 조커기술 명령변환 구조

 

이렇게 해서 성능을 증가 시킬수도 있는데, 문제는 이렇게 만들 수록 성능은 증가 되지만, 회로대비 (다이 크기 대비) 전력대비 성능은 떨어진다는 거죠. 또 이렇게 만든다고 해도 여전히 CPU의 최대 IPC로(최대 명령어 병령화) 가동은 못 합니다. 여기에 파이프라인 효율성을 높여서 멀티 스레드 프로그램의 성능을 높이기 위해서 하이퍼 스레딩이 들어오게 되었죠. 이게 펜티엄 4 부터라고 보면 됩니다. (여러번 말하지만, 동시 멀티 스레드로 성능을 높이는 거라서, 프로그램이 단일 스레드면 2코어가 성능 증가가 안되듯이 HT도 똑같습니다. 다르게 말하면 2코어를 달아 놨다고 자동으로 성능 증가가 되는건 아니다와 똑같다는 거죠.)  (위에서 말했듯이 펜티엄 프로 이후의 모든 인텔 프로세서는 위에 나열된 모든 기술을 쓰지만 (콘로때 HT제외 빼고), 저전력을 위한 아톰은 초대 아톰에 한정해서 인오더 방식 + HT CPU죠.)

 

[분석정보] 20년 후인 지금도 곳곳에서 살아남은 펜티엄 아키텍처

 

[고전 2005.11.30] 마이크로 아키텍처의 변화를 반영하는 "Core"브랜딩

 

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

 

[고전 2000.2.25] 인텔 사내경합이 낳은 Willamette 1.4GHz

 

[고전 2002.10.04] Pentium 8 후보 Nehalem 아키텍처

 

[고전 2001.08.10] Banias의 샘플은 내년 여름, 발표는 2003 봄?

 

[고전 2001.08.29] 베니어스 2003년 상반기 출시 발표, 3.5Ghz 펜티엄4 데모

 

[고전 2003.02.20] Pentium M 1.60GHz의 처리 능력

 

[고전 2005.08.25] 더 밝혀진 Yonah의 모습 확장된 C4스테이트

 

[고전 2005.01.12] 암달의 법칙(Amdahl's law)을 둘러싼 Intel과 AMD의 싸움

 

[분석정보](암달의 법칙) 2010년대 100 코어 CPU 시대를 향해서 달리는 CPU 제조사

 

[분석정보] 명확해진 Core Microarchitecture

 

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

 

[분석정보] Intel, 45nm공정의 차기 CPU Penryn 자세히 공개

 

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

 

[아키텍처] Nehalem(네할렘)으로 볼 수 있는 인텔 CPU 마이크로 아키텍처의 미래 

 

[분석정보] 계층화가 Nehalem MA의 특징

 

[아키텍처] Intel의 차기 CPU "Nehalem"의 설계 개념은 "1 for 1"

 

[분석정보] x86에서의 탈피를 도모 Intel의 새로운 로드맵

 

[분석정보] 왜 인텔은 샌디브릿지에 AVX를 구현하는가?

 

[정보분석] 인텔의 2013년 CPU 하스웰로 이어지는 네할렘 개발 이야기

 

[분석정보] IDF 2010 왜 Sandy Bridge는 성능이 높은가?

 

 

 

 

멀티태스팅& 멀티쓰레드 실행시. 하이퍼 스레딩이 없는 1코어 CPU는 1,2번 그래프 처럼 동작하게 됩니다. 하나 실행을 끝내고 다른걸 실행시키던가, 동시에 실행한다고 해도 2개의 스레드가 동시에 실행되지 않습니다. 한번씩 번갈아 가며 실행 되는 것이죠.

1코어로 멀티 태스킹, 멀티 스레딩은 1코어를 시분할 공유인거죠. 같은 시간에(동시에) 실행이 안됩니다. 같은 시간에 (동시에) 실행을 하려면, 코어수가 2개 이던가, 또는 1코어지만 하이퍼스레딩 (SMT 동시 멀티 스레딩)이 지원되야 합니다.

 

하이퍼스레딩은 위에서 설명했듯이 2 스레드의 (태스크의) 명령을 파이프 라인이 여러개인 슈퍼스칼라 구조에서 동시에 2 스레드 속의 각각의 명령을 동시에 실행 합니다.

 

 

막대로 된 그림과 표현이 다를 뿐 결국 같은걸 설명하죠. 빨간 1스레드의 명령을 동시에 여러 명령을 실행한다고 해도 이렇게 순간순간은 빈 파이프가 생기는데, 하이퍼 스레딩을 통해서 1코어에서 2 스레드를 동시에 실행 할 수 있게 만들면, 노란색 2 스레드의 명령도 여러 명령을 1스레와 동시에 실행 할 수 있게 되죠. (얼마나 각 스레드의 여러 명령을 실행 가능한가는 실행 유닛 구조에 따라 다를텐데, 각 스레드의 최대 명령 병렬화에서 극단적으로 높이지는 않을 겁니다. 그렇게 해서 거의 2배씩 되도록 한다면, 그냥 2코어로 만드는게 더 좋겠죠. 큰 코어는 더 설계가 어렵습니다. 또 그럼 코어에서 1스레드 실행시 그만한 명령 병렬도를 갖기도 힘들테니, 이래저래 단점이 많겠죠.)

 

 

같은 얘기지만, 조금 다르게 표현된 그림.

 

 

역시 같은 내용을 다르게 표현한 그림으로,

1은 전통적인 슈퍼스칼라 CPU,

2는 1을 2코어로 만든 CPU,

3은 하이퍼쓰레딩의 실행의 차이. 내부 리소소의 소비(활용) 관점으로 보면 되겠죠.

 

 

바로 위 그림과 마찬가지의 그림으로  2코어+하이퍼쓰레딩 (요즘 제품으로 말하면 i3) 까지 추가된 그림.

 

하이퍼쓰레딩 (SMT 동시 멀티쓰레딩)과  다른 멀티쓰레딩 방식의 비교.

 

 

SMT는 말 그대로 동시 멀티 쓰레딩인 만큼 2개의 쓰레드를 동시에 처리(왼쪽)

단순 멀티쓰레딩 방식은 2개의 쓰레드를 하드웨어적으로 다룰수 있지만, 처리는 한번에 1개의 쓰레드만 가(오른쪽). 어짜피 처리는 1번에 1쓰레드 밖에 못하잖아? 이지만 그럼에도 불구하고 단순 멀티쓰레딩이라도 하드웨어적으로 지원하면 기존의 CPU에서 2개의 쓰레드가 번갈아 실행되어 가면서 처리하는 것에 비해 성능이 더 좋음. 쓰레드 전환에 의한 페널티 감소및 메모리 레이턴시 은폐.

 

 

1. 하드웨어직인 멀티 쓰레드 기술이 전혀 들어가 있지 않은 CPU의 2쓰레드 처리 방식

(스레드 a 처리때 메모리 엑세스가 있으면 그동안 아이들 상태)

 

2. 단순 멀티쓰레드의 경우는 2개의 쓰레드를 다룰수 있지만, 처리는 한번에 1개씩.

(스레드 a가 아이들 상태 일 때 스레드 b를 바로 처리)

 

3. 하이퍼쓰레딩은 2개의 쓰레드를 다루며 2개의 쓰레드를 동시에 처리가 가능.

(스레드 a와 스레드 b를 동시에 실행)

 

4. 각각의 코어가 1개의 쓰레드씩 다루고 실행하는 것은 1번과 같지만, 1번의 코어가 2개이기 때문에 2개의 쓰레드를 다룰 수 있고, 동시에 2개의 쓰레드 처리가 가능.

(스레드 a와 스레드 b를 각각의 코어에서 동시에 실행)

 

다만 3과 4의 차이는 코어내의 리소스 경합이 있다와 없다의 차이.

물론 2코어의 경우도 공유 캐시 경합은 있을 수 있죠. HT의 경우도 코어 디자인을 어떻게 하냐에 따라서 최소화 할 수 있구요.

 

일반적인 PC용(노트북) CPU에서는 보통 CPU이거나, SMT (하이퍼스레딩) CPU만 나왔습니다. 기타 MT(멀티 스레딩, 스레드 전환을 무엇에 의해 전환하고 실행하느냐 방식이 여러가지) CPU는 서버용으로만 있었습니다 (SMT도 타회사 서버용으로도 있었구요. 인텔이야 당연히 SMT 서버용이 있구요.)

 

 

 

예전 펜티엄4 3.06(HT) 시절의 동영상인데... 지금도 게시판에서는 요즘 CPU의 하이퍼쓰레딩은 성능차가 있는데, 펜티엄4 시절에는 성능차가 전혀 없는 하이퍼쓰레기 라고 하는 경우가 종종 있는데, 영상을 직접 보면 알수 있겠죠. 하이퍼쓰레딩 효과를 확실히 알수 있도록 HT는 3.06GHz로, HT를 끈 것은 3.6GHz로의 영상 입니다. (동영상이 2개가 보일지 모르겠습니다. 원래 유튜브 영상을 링크해 뒀는데.. 잘 보이던 영상이 어느날 갑자기 블로그에서 보이질 않습니다. 뭐가 문제인지 모르겠네요. 같은 영상을 직접 올려뒀습니다. 화면에는 보이지 않으나, 글 수정 에서는 영상 링크가 있습니다;; )

 

과거에는 프로그램이 멀티스레드(멀티코어 지원)로 만들어지지 않았기 때문에 하이퍼스레딩이 있어도 성능 증가가 없는 경우가 대부분이라(일부 프로그램만 지원해서 성능 증가) 당시는 그럴 수도 있는데 (또 잘 모르니까) 시간이 지나서는.. 그렇게 얘기하면 안되겠죠. 말을 한다면 당시는 소프트 지원이 없어서 성능을 못냈지만, 이제는 다르죠. 이렇게 되야 겠죠. 요즘 CPU의 하이퍼스레딩이 바뀌어서가 아니라요. 위 영상도 당시 소프트 환경이 그러니까 아예 프로그램을 여러개 실행해서 테스트를 하는 것이구요. 저 시기의 소프트를 그대로 똑같이 한다면 2코어라도 결과가 같다는 겁니다. (멀티시 최대 성능증가가 2코어가 하이퍼스레딩보다 높지만, 거의 모든 소프트가 2코어나 1코어나 같죠.)

 

아주 자세히 들어가면, 성능 증가 % 이외에 차이가 있지만, 개인 사용자는 그냥 성능 증가가 같은 코어 2코어에 비해서 낮지만 같은 방식으로 (멀티스레드로) 성능이 높아진다 라고 생각하면 됩니다. (HT 초기부터 근래까지 하이퍼스레딩을 문제 삼는 경우가 많았는데,특히 인텔 혼자서 이상한 것을 하는 듯한.. 그런데 사실 멀티스레딩 기술은 AMD만 하지 않은 겁니다.)

 

또 사용자가 직접 느낄 수 있는 것으로는 1코어 HT가 아닌 멀티코어+HT의 경우인데, 이경우는 윈도 7 이상의 CPU에서 코어파킹 기능으로 프로그램의 스레드 분배를 물리코어 별로 우선적으로 분배되도록 바뀌었습니다. (스레드를 잘못 분배해서 성능이 안나오지 않도록, 근데 지원은 굉장히 늦은거죠. HT가 나온지가 언제인데... 비스타에서 지원을 했던가 또는 못해도 비스타 SP1 이후에 지원을 했어야 하는게 정상적인 속도 일텐데 말이죠.) 결국 더더욱 일반 사용자는, 그냥 멀티 스레드 (= 멀티 코어) 지원에 따라서 펜티엄에 비해서 i3, i5에 비해서 i7에서 성능이 증가되죠 라고 생각하면 되겠죠. 물리코어 처럼 말이죠. 시네벤치 싱글 스레드/멀티 스레드에서 코어가 많아도 증가되고, 하이퍼스레딩이 있어도 증가되고 처럼 말이죠. (2코어가 있다고 해서 성능이 자동으로 증가되지 않듯이, 프로그램이 2스레드 지원을 해야 2코어가 힘을 내듯이,  하이퍼스레딩이 (SMT) 있다고 해서 자동으로 성능 증가가 안됩니다. 그래서 더 이걸 잘 못 이해해서 (하이퍼 스레딩이 있으면 자동으로 성능이 증가된다고 잘못 이해) 펜티엄 4 시절은 하이퍼쓰레기 라고 생각했는지도 모르겠네요. 다르게 말하면, 2코어가 성능을 내는 프로그램이다 = 1코어 HT CPU가 성능을 내는 프로그램이다 라고 생각하면 되고, 4코어가 성능을 내는 프로그램이다 = 2코어 HT (4 논리 CPU (4스레드 지원CPU)) CPU가 성능을 내는 프로그램이다,  8코어가 성능을 내는 프로그램이다 = 4코어 HT (8논리 CPU (8스레드 지원 CPU)) 가 성능을 내는 프로그램이다 라고 생각하면 됩니다. 예전은 하이퍼쓰레기 였다가 요즘의 CPU의 하이퍼스레딩이 바뀌어서 성능을 낸다가 아니라.. 과거는 소프트가 멀티스레드(멀티코어) 지원이 아니어서 성능을 못내다가 (일부 작업용 전문 소프트만 성능 증가) 지금은 소프트 환경이 바뀌어서 성능을 낸다가 정답 입니다. 지금에는 의미가 없을지 모르지만, 과거의 펜티엄4C HT CPU를 가지고 벤치마크한 기사에서 일부 전문 소프트만 성능 증가가 있고, 나머지는 없는데, 그 시스템 그대로 요즘 소프트를 돌리면, HT를 끈 것과, HT를 켠 것은 차이가 꽤 나게 됩니다.

 

또 하나.. 무작정 멀티코어(멀티스레드) 지원하게 해야한다는.. 애초에 그 작업을 멀티로 분배해서 동시에 처리할 수 있는 작업인가냐 아니냐에 따른 겁니다. 애초에 동시에 처리 할 수 있게 분배가 되는 작업이어야  4코어든(4 논리 CPU 4스레드 CPU) , 8코어든 (8논리 CPU 8 스레드 CPU) 에서 성능을 낼 수 있는거지.. 무조건 4스레드 8스레드로 만들 수 있는게 아닙니다. 간단히 말을 하면,  1+1=2 라는 연산을 4코어로 나눠서 할 수 있을까요? 못하죠. 어짜피 할 수 없는걸 억지로 2코어에 나눠서  1번 cpu에 1하고 2번 CPU의 1하고 둘을 더하는 것으로 처리한다면.. 표면상으로는 2코어를 활용하지만, 안하니만 못한 성능이 나오겠죠. 그래서 멀티스레딩 소프트가 효과를 내려면 프로그램의 크기가 커져야 한다는 설명들이 있는 겁니다. 그 안에서는 정말 따로따로 각자가 나눠서 동시에 처리 할 수 있는 것들이 있으니까 그런 것들은 코어가 많으면 (또는 동시 멀티 스레딩 , 논리 CPU) 처리 속도에 효과가 나오겠죠. 또 같은 시기의 소프트웨어에서도 복잡하고 거대한 연산이 다수인 소프트들은 수십, 수백코어로도 성능이 증가가 되지만 (과학 연산, 인코딩, 렌더링, 그래픽 처리와 같은, 또는 수많은 사용자의 요청을(태스크,스레드) 처리해야 하는 서버의 경우) , 반대로 개인용 소프트웨어들의 일반 소프트는 그렇지 못하죠. 애초에 각각의 작업으로 나눌 수 있는가의 문제 때문 입니다. 개인 소프트웨어에서도 복잡한 수식과 방대한 수식을 처리해야하는 엑셀 문서라면, 멀티코어가 힘을 쓰겠지만, 아주 단순한 적은 수식을 처리해야 하는 엑셀 문서라면, 멀티코어가 있어봐야 어짜피 나눠서 처리 할수가 없습니다. 또 다르게는 단순 문자 입력 소프트라면, 그걸 4코어가 나눠서 입력을 받을까요? 아니겠죠. 이런식으로 생각을 하면 됩니다. 왜 4코어 (2코어 4스레드 CPU) 8코어 (또는 4코어 8스레드 CPU) 지원을 안해주냐? 가 아니라, 애초에 나눌 수 없는, 또는 억지로 나눠봐야 효과가 없어서 안한다 쪽이 더 맞겠죠.

 

성능을 증가시킬 수 있는 방법 = 1 : 실행엔진을 늘려서(물론 프론트 엔드도 확장) 동시 실행 가능한 명령을 늘린다 즉 IPC를 올린다 (인텔식으로 톡일때 아키텍처가 바뀔 때 이렇게 됩니다). 2 : 각각의 실행엔진에서의 처리 속도를 높인다.(보통 인텔식 설명으로 틱 버전이 이런 개선이 이뤄집니다. 틱이 공정변경 및 아키텍처 개선이죠.). 3 : 클럭을 높인다. 클럭이 높아지면 1초당 동작 속도가 빨라지니까 당연히 성능이 높아지겠죠. 4 : 확장 명령 유닛을 도입한다. 확장 명령을 통해서 1 명령으로 다수의 데이터를 한번에 처리. 즉 성능이 증가. 5 : 코어의 수 자체를 늘린다. 코어수를 늘려서 다수의 스레드 (태스크)를 동시에 처리할 수 있게 만들어서 성능이 올라간다. 6 : 5와 같은 거죠. (최대 증가 성능의 차이가 있지만) SMT (하이퍼스레딩)을 도입한다. 대략 이런데...

 

(같은 아키텍처를 그대로 공정만 바꿔서 축소하면 성능 증가가 없습니다. 간혹 공정 바꿔서 약간 성능이 올랐네 라고 아는 경우가 있는데 안 오릅니다. 굳이 오른다고 한다면, 공정 변화로 인해서 클럭을 더 높일 수 있어서 그것에 의해서 성능이 오르기는 하죠. 틱에서 성능 증가는 아키텍처를 약간 개선했기 때문 입니다. 인텔의 경우 톡 -> 틱 이고, 최근의 AMD는 불도저 -> 파일드라이버 -> 스팀롤러 -> 엑스케베이터 가 각각 조금씩 개선된 버전 입니다. 인텔도 콘로때 부터 도입한 틱톡 이전에는 펜4 윌라멧 -> 노스우드 -> 프레스캇 식으로 개선판을 내놨죠. 톡 -> 틱은  개선이 되거나, 또는 특정 가속기 등이 추가 됩니다.) 

 

이중에서 소프트웨어측이 아무것도 안해도.. 즉 구형 소프트를 그냥 그대로 돌려도 성능 증가가 있는 경우는 1~3 입니다.  4~6은 소프트가 지원을 해야 합니다. 4 확장 명령을 소프트가 쓰던가, 5~6 더 많은 멀티스레드를 지원하단가 말이죠. 그러면 1~3으로만 새롭게 CPU를 만들면 안되냐? 라고 할 수 있는데, 3 클럭은 열밀도 문제로 인해서 클럭을 마구 올리기가 사실상 어려워서 (꽤 오랜 시간 클럭이 거의 멈춘걸 생각해 보세요. 펜4에서 4GHz가 지금도 최대 4GHz 정도 입니다. 다만 동일 코어 디자인을 그대로 클럭을 쭉쭉 올리는게 가능만 하다면 이게 최강이긴 하죠. 과거든, 미래든 어느 소프트던 다 성능 증가. 그런데 그러기 어렵고, 파이프 라인을 길게 해야하는데 이러면 단점도 증가.) 이쪽은 할 수 없다고 봐야하고, 1번은 하드웨어에 투자된 자원 대비 효율이 좋지 않습니다. 거대 1코어와 같은 다이 크기의 2코어가 전체 성능이 더 좋습니다 (물론 소프트가 지원할 경우). 똑같은 다이 크기인데, 거대 1코어가 소형코어 2코어 보다 전체 성능이 낮다면 거대 1코어는 비효율이죠. 2번도 그런쪽이고, 그래서 인텔에서도 틱 버전 쪽에서 추가 개선하는 식이죠. 틱 때 공정이 바뀌니까 더 많은 트렌지스터를 써도 다이크기가 안늘어나니까요. 그렇다고 해서 1~2번을 무시해서도 안되고, 또한 반대로 4~6번을 무시해서도 안됩니다. 어느 한쪽에 기울어지면 안되죠. 적당히 양쪽을 같이 끌고 나가야 합니다.  점진적으로 코어수를 늘리기와 (소프트가 따라올 시간) 점진적으로 코어 자체의 성능 늘리기를 동시에 해야 겠죠. 그렇기 때문에 서버나 과학연산 그래픽 용도의 경우가 코어가 많고 (대신 클럭은 조금 낮고) 개인용은 코어가 수가 적지만 고 클럭이죠. 또는 아예 데스크탑 보다도 스몰코어로 더 많은 코어를 넣은 CPU를 만들기도 하구요. 이런쪽이 제온파이나, GPU를 이용한 연산 HPC (슈퍼컴퓨터)쪽이 되겠죠. 그래픽 쪽은 순수 GPU나 x86으로 VGA로 써먹으려던 취소된 라라비를 생각하면 되구요. 최근의 대표적으로 망한 불도저 아키텍처가(파일드라이버,스팀롤러,엑스케이터 등) 5번 코어 수에만 연연하느라.. 8코어를 넣으려니 고성능 거대 1코어를 8개 넣을 수 없으니, 저성능 소형 코어 8개를 넣고, 코어의 IPC가 낮아지니.. 3번 클럭으로 코어당 성능을 올리려고 해서 망했죠.(순수 불도저 코어는 이전 데네브 보다 작습니다. 앞의 이유 때문인지 캐시를 16MB나 때려 박느라 크기도 커지고.. 이래저라 앞뒤로 다 망.  그래서 CPU 개발은 성능을 올리는 요소들의 균형이 중요 합니다.  어떤 목적용으로만 쓰이는 특화된 프로세서 아닌, 개인이 사용하는 범용 CPU라면 말이죠. 듣기에 말은 그럴싸하지만 어설프고 엉뚱한 끼워 맞춘 댓글 보지 말고, 아래 글들을 쭉 읽어 보세요. 적어도 인텔 개발자 들이나, 업계 전문가들이 직접 말하거나 관련 자료를 가지고 설명한 글 입니다. 개발자 말을 믿을거냐, 댓글을 믿을거냐 본인 판단이 되겠죠. 그게 아니면 그 사람이 인텔이나 AMD 들어가서 CPU 개발 책임자가 되야겠죠. )

 

 

하이퍼스레딩(SMT) CPU의 가장 큰 약점은  멀티코어 + HT의 경우에 운영체제가 CPU에 대해서 잘 알고 있느냐, 윈도우 스케쥴러가 각각의 스레드를  어느 코어에 분배를 잘 할것인가가 문제죠.  [코어1a,코어1b],  [코어2a, 코어2b], [코어3a, 코어3b], [코어4a, 코어4b] 이렇게 되죠. 윈도우에서는 4코어 8논리 프로세서로 표기 됩니다 (불도저의 경우도 불도저 패치를 하거나 윈도8에서는 8코어가 아닌, 4코어 8논리 프로세서로 표시).

 

코어의 번호는 각각이 1 ~ 8 번이 됩니다. 0부터라면 0 ~ 7 이 되구요.

이게 잘 안되면 2스레드 실행시  1과 2에서 실행한다면, 물리코어 1개에서 실행되기 때문에 제 성능이 안나올수 있는거죠. 물리 2코에서 실행하면 적어도 1.8배~1.9배 성능이 나올 것이, 1코어내에서 2스레드를 돌리면 1.3배 정도 성능이 되니까요.

 

그래서 저 위에 설명했듯이, OS가 똑똑해 져야 하겠죠. 특히나 멀티로 실행시 윈도우가 똑똑해야겠죠. 그러면 1에 실행할거면 2가 아닌 나머지에서 실행하면 제 성능이 나오겠죠. [1/2], [3/4], [5/6], [7/8]  각각이 하나의 물리코어가 이구요. 윈도우 7부터 물리 코어에 우선 배분을 해서 제성능 발휘를 못하는 일이 없게 합니다. SMT 파킹이 작동하는 거죠. 윈도우 7 기본 지원.

 

윈도7 보다 늦게 출시된 불도저는 패치로 지원, 윈8 부터 기본지원. (물론 불도저 시리즈와 i 시리즈는 보이는 동작상 비슷하지만, CPU 내부적인  코어 사용에 관한 것이 다릅니다. i 시리즈는 1코어의 전체를 공유하여 2논리 프로세서로 작동하는 것이고, 불도저 시리즈는 1모듈을(1코어를) 공유하는데, 정수코어(정수 프로세서)는 완벽하게 분리되어서 1스레드만 사용된다고 해도 2개의 정수코어(정수 논리 프로세서)중 2개가 작동하지 않습니다. 오로지 1개만 작동. L2 캐시 SIMD (SSE,AVX 등) + FMA 유닛은 공유 합니다. 불도저가 만약 2개의 분리된 정수코어를 분리하지 않아서, 단일 거대 코어로 만들었다면, 그리고 SMT 였다면 성능은 훨씬 높아졌겠죠. 특히나 저 스레드 프로그램에서 성능이 훨등히 높았겠죠.  불도저의 분리된 정수코어는 IPC가 매우 낮지만, 2개가 합쳐진 IPC면 액면가로는 페넘2를 넘고, 최소 네할렘급 이상의 IPC가 나왔을 테니까요. SIMD 쪽은 네할렘보다 높구요. 단일 코어의 성능이 샌디에 비벼볼 성능이 되지 않았을지.. (4모듈 8코어(윈도표기 4코어 8논리프로세서) 불도저계 라이젠의 피크 SIMD 처리 성능은 동클럭 4코어 하스웰의 절반 성능. AVX 512기반 인텔 프로세서 대비 피크 1/4 성능) 다시 만들었다고 해도 좋고, 또는 합쳐서 만들었다고 해도 될 정도 보다 약간 규모가 더 큰게 라이젠의 1코어(+SMT) )

 

[고전 2004.10.22] 듀얼코어 CPU Smithfield 내년 3분기에 등장

 

[분석정보] Longhorn Server와 하드웨어

 

[분석정보] 8 코어 AMD FX가 쿼드 코어로, MS의 불도저 아키텍처 최적화 패치

 

http://insight.dbpia.co.kr/article/related.do?nodeId=NODE06238260

 

https://ko.dolphin-emu.org/docs/faq/

 

외부 링크 Ace Thought에서 ARM 및 x86 프로세서용 H.265/HEVC 비디오 디코더 소프트웨어의 출시를 발표

 

https://www.extremetech.com/computing/162027-h-265-benchmarked-does-the-next-generation-video-codec-live-up-to-expectations

 

https://msdn.microsoft.com/ko-kr/library/windows/desktop/hh134233(v=vs.85).aspx

 

http://m.ppomppu.co.kr/new/bbs_view.php?id=freeboard&no=4456056

 

http://www.gameplanet.co.kr/xe/2340515

 

https://www.intel.co.kr/content/www/kr/ko/architecture-and-technology/avx-512-overview.html

 

[고전 1998.10.8] MPEG-2 인코딩까지 실현 가능한 Katmai의 신명령

 

 

[분석정보] SSE4 명령어와 가속기에서 보이는 Intel CPU의 방향성

 

 

[분석정보] 전면 개량이 아닌 부분 개량에 머문 Penryn

 

 

 

 

 

위 두 그림은 인터넷에서 돌아다니는 그림 입니다.

 

 

 

 

윈도 95용  고전 사무라이 스피리츠 2

 

 

 

고전 에뮬레이터 ZNSES 실행

 

 

 

SNES9x 실행 (스피드 스텝 절전 윈도에서 해제.

사실 스피드 스텝이 작동하는 것들은 해제할 필요가 없음. )

 

 

고전 플스 에뮬레이터

 

 

도스박스 실행

 

게임들은 4790k 내장 그래픽 HD4600 이니까 프레임은 신경쓰지 마세요.

 

 

고전 워크래프트3 실행시 상태.

 

 

고전 둠3 (CPU 부하가 너무 적어서 인지.. 스피드 스텝이 작동되며

클럭이 왔다 갔다. 윈도 전원 절약 끄고 그림)

 

 

어짜피 동일. (나중에 찍고, 표기 크기조절. 해상도 동일)

 

 

고전 문명4 실행시 상태

 

 

 

문명5 상태

 

 

 

고전 콜오브 듀티 2

 

 

 

드래곤 에이지 오리진 상태.

 

 

월드 오브 워크래프트 실행 상태.

 

 

 

디아블로 3 실행 상태.

 

 

 

콜 오브 듀티4 모던 워페어 상태.

 

 

 

스타크래프트 2 공허의 유산 구원 상태.

 

 

 

크롬과 파이어폭스를 실행하고, 각각의 브라우저에서 창 몇개 띄우고 ,

각각의 창에 여러 탭을 실행 상태

 

이 외에 스레드 1~2개라도 더 많이 쓰는 경우는 동적으로 계속 변화가 생깁니다. 이건 사진 한장 올려서는 알수도 없고, 오히려 엉뚱하게 이해할 수도 있어서... 4스레드의 경우도 실행할 때 약간 달라질 수 있습니다. 7번에 실행되던게 8번에 실행 되기도 하는 식으로요. 어쨌든 물리 코어에 할당 되는 식으로요.

 

 

 

 

 

 

 

 

 

 

 

국산 고전 온라인 그라나도 에스파다

 

 

 

국산 에이카 온라인

 

 

던전앤파이터

 

동영상은 실제 재생할 때는 일부러 소프트웨어로 보는 경우는 없겠죠.

 

 

4k 영상 하드웨어 가속으로 재생할 때

 

 

4k 영상 소프트웨어로 재생할 때

양쪽 모두 물리 코어별로 우선 사용.

 

 

 

1280 x 720 HD 영상 하드웨어 재생

 

 

1280 x 720 HD 영상 소프트웨어 재생 (스피드 스텝이 작동할 때 이고, 전원 설정에서 최소 프로세서 100%로 하면 0%에서 1~2%로 돌아 갑니다. 거의 1%로 플레이.)

 

 

 

유튜브 4k 영상 재생

 

 

 

같은 유튜브 영상의 주소를 팟 플레이어로 스트리밍 재생 할 때

 

 

약간의 시간이 지난 이후. (위 파일 저장 하느라 재생 시간이 조금 더 지나감.)

 

 

 

마비노기 플레이 + 위에 올린 킹 오브 우슈 1280 x 720 영상 소프트웨어 재생

 

 

 

마비노기 영웅전 + 위에 있던 킹 오브 우슈 1280 x 720 영상 소프트 재생 + IDF 관련 1280 x 720 영상 소프트 재생 + 역시 위에 있던 유튜브 4K 영상 스트리밍 소프트 재생

 

 

 

드래곤 에이지 오리진 + 문명5 + 던전앤파이터 + 그라나도 에스파다 + 킹 오브 우슈 1280 x 720 영상 소프트 재생 + IDF 1280 x 720 영상 소프트 재생 + DirectX12 1280 x 720 영상 소프트 재생 + 리얼센스 1280 x 720 영상 소프트 재생.

 

 

 

문명5 + 문명 4 + 디아블로 3 + 드래곤 에지지 오리진 + PS 에뮬레이터 + SFC 에뮬레이터 + FC 에뮬레이터 + 킹 오브 우슈 1280 x 720 영상 소프트 재생 + Directx 12 1280 x 720 소프트 재생.

 

 

[고전 2005.01.12] 암달의 법칙(Amdahl's law)을 둘러싼 Intel과 AMD의 싸움

 

 

[분석정보](암달의 법칙) 2010년대 100 코어 CPU 시대를 향해서 달리는 CPU 제조사

 

 

 

[분석정보] Atom의 절전 기술도 탑재한 Nehalem

 



[정보분석] 같은 무렵에 시작된 Nehalem과 Larrabee와 Atom


[분석정보] Intel 또 하나의 차세대 CPU LPP


[고전 2004.11.12] Many-Core CPU로 향하는 Intel. CTO Gelsinger 인터뷰 1/2부


[고전 2005.11.10] 보이는 인텔의 5~10년 후 CPU 아키텍처


[분석정보] 2010년 Intel 아키텍처가 보였다


[분석정보] 심플 코어로 향하는 차세대 CPU 아키텍처


[분석정보] Intel의 Larrabee에 대항하는 AMD와 NVIDIA


[분석정보] Intel, 45nm공정의 차기 CPU Penryn 자세히 공개


[분석정보] 고속화를 가져오는 Radix-16 Divider와 shuffle Engine

 

[분석정보] IDF 2007 Penryn 벤치마킹 세션 리포트

[분석정보] 그리고 CPU는 DRAM 다이도 통합

[분석정보] 인텔 데스크탑 eDRAM 버전을 포함한 브로드웰 패밀리 설명

 

 

[분석정보] 인텔 팬리스 PC를 위한 Core M 프로세서

 

 

[분석정보] Intel CPU의 미래가 보이는 80코어 TFLOPS 칩

 

 

 

[분석정보] Intel 48 코어 IA 프로세서를 개발

 

 

[분석정보] Intel 48코어 매니코어 연구 칩 기술 공개

 

 

 

[분석정보] 모바일 SoC에서 다크 실리콘의 속박

 

 

[고전 2004.11.05] 폴락의 법칙을 깨뜨리기 위한 멀티 코어

 

 

[고전 2004.12.24] 폴락의 법칙에 찢어지고 취소된 테하스(Tejas)

 

 

 

[아키텍처] 베일을 벗은 인텔 CPU & GPU 하이브리드 라라비(Larrabee)

 

 

[분석정보] 인텔의 스칼라 CPU + 라라비의 이기종 CPU 비전

 

 


[분석정보] 정식 발표된 라라비(Larrabee) 아키텍처

 

 

[분석정보] 인텔 GDC에서 라라비 명령 세트의 개요를 공개

 

 

[분석정보] GDC 2009 드디어 소프트 개발자 정보도 나온 "Larrabee"

 

 

 

[분석정보] 2010년 이후의 Intel CPU가 보이는 Larrabee 신 명령

 

 

 

Haswell과 Broadwell, DirectX 12관련의 중요한 차이가 있다



[정보분석] 팀스위니 미래의 게임 개발 기술. 소프트웨어 렌더링으로 회귀

 

 


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


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

 

[분석정보] Intel이 드디어 Silverthorne과 Tukwila의 개요를 발표

 

 

[고전 2004.11.12] Many-Core CPU로 향하는 Intel. CTO Gelsinger 인터뷰 1/2부

 

 

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

 

 

[고전 2001.02.08] Intel은 멀티 쓰레드 CPU로 향한다. Intel 겔싱어 CTO ISSCC강연

 

 

[고전 2003.10.18] 모든 CPU는 멀티 스레드로, 명확하게 된 CPU의 방향

 

 

[고전 2004.03.05] 멀티 코어 + 멀티 스레드 + 동적 스케줄링으로 향하는 IA-64

 

 

[고전 2004.09.06] intel의 듀얼 코어 CPU 1번타자 Montecito

 

 

[분석정보] IBM, Oracle, 후지쯔가 최첨단 프로세서를 선보이다

 

 

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

 

[분석정보] 계층화가 Nehalem MA의 특징

 

 

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

 

 

[분석정보] IDF에서 공개된 "Nehalem"의 내부 구조

 

 

[분석정보] Intel, HPC 전용 보조 프로세서 Xeon Phi 2013년 1월부터 일반용으로 출시

 

 

[정보분석] 인텔 60코어 매니코어 "Xeon Phi" 정식발표

 

 

[분석정보] 인텔이 슈퍼컴퓨터 컨퍼런스에서 나이츠 랜딩을 정식발표

 

 

[분석정보] AMD Zen코어를 채용 Summit Ridge를 첫 공개

 

 

[분석정보] AMD가 차세대 CPU Zen 아키텍처의 개요를 발표

 

 

[분석정보] AMD가 차세대 Zen 개요를 더욱 밝혀