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

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

tware 2012. 1. 16. 20:00

 

 

2012 년 1 월 12 일 기사 에서 전한대로, Microsoft에서 Bulldozer 아키텍처의 최적화 패치 (핫픽스)가 다시 공개됐다. Knowledge Base 번호는 " KB2645594 "와" KB2646060 " AMD는 이전부터 " Windows 8에서는 스케줄러가 Bulldozer 아키텍처에 최적화된다. 그리고 Windows 7에도 최적화 패치가 제공된다 "고 예고해 왔기 때문에 이 패치에 기대하고 있던 사람도 많은 것이 있을까 생각한다. 거기에 4Gamer가 그럼, 실제로 패치 적용 전과 후에 무엇이 바뀌는지 확인하여 보았다. Bulldozer 아키텍처의 성능을 향상시키는 마법의 아이템이 되는지 여부 보고서를 전달하고 싶다. (i3, i7처럼 다중코어+HT의 경우는 윈도 7부터 SMT 파킹이 기본으로 적용되어 있습니다. SMT = HTT 하이퍼스레딩 테크놀러지 인텔식 이름. 인텔은 대부분 자사의 이름을 별도로 붙임. 기존에 일반 사용자에게는 안알려졌던게 인텔이 범용화 한 경우는 괜찮은데(하이퍼 스레딩 같은), 기존에도 많이 쓰이던걸 인텔식 이름을 붙이면, 이건 또 뭔가? 라는 부작용도... 기존 이름이면 바로 알아 들을텐데.... 물론 기존의 것 + a 기능을 넣는 경우가 있기는 합니다.)

 

 

Windows 스케줄러 최적화 패치
OS에서 본 CPU는 설마 그레이드 다운!

 

 

문서에 따르면 이번 패치는 KB2645594가 " Windows 7 및 Windows Server 2008 R2가 Bulldozer 아키텍처 "Bulldozer Module '에 대해 적절하게 스케줄링을 할 수 없기 때문에 일부 응용 프로그램에서 시스템 성능의 저하를 발생할 수있는 "문제를 해결하는 것.

 

" Bulldozer Module 자주 C6 스테이트에 들어가 버려, 결과, 다중 스레드가별로 진행되지 않은 환경에서 성능이 저하되는 "문제를 해결하기로 한 KB2646060는 스케줄러를 패치 때의"부작용 " 을 억제하는 것 이라고 하는 설정이다.

 

 후자는 전자의 도입이 전제되어 실제 전자를 도입하지 않은 상태에서 설치 할 수 없다. 참고로 KB2645594은 Windows Update에서 "선택적 업데이트"선택의 여지가 나타나면 그것을 적용하면 도입 가능. 후자는 아직 최종적인 검증이 끝나지 않은라는 것으로, Knowledge Base에서 다운로드 제공하는 취급이 되고있다. 그런데 테스트 전에 간단한 복습으로 Bulldozer 아키텍처는 2 개의 정수 연산 코어 에서 명령 디코더나 부동 소수점 연산 유닛, L2 캐시를 공유하는 Bulldozer Module이 채용되고 있다. "Intel Hyper-Threading Technology"(이하 HTT)과 같이 2 개의 스레드가 물리적 코어 내의 모든 자원을 공유하는 것은 아니지만, 그 사양상, Bulldozer Module 2 코어에 동시에 부하를 걸면 약간의 성능 저하가 일어나는 것은 이미 4Gamer에서 검증했다.

 

 

FX-8150의 블록 다이어그램. 정수 코어  (그림 중 "Integer CORE") 프런트 엔드 및 부동 소수점 연산 유닛 (그림 중 "FP Schedular"및 "128-bit FMAC"), L2 캐시를 공유하는 형태로 Bulldozer Module을 구성한다. Bulldozer Module을 4 개 탑재하기 때문에, "8 코어 '프로세서 인 것이다.

 

 

  Windows 스케줄러는 HTT를 " 알기 "때문에 HTT에 대응한 CPU를 탑재하는 환경이라면, HTT의 채용이 성능에 불리하지 않도록 프로세스와 스레드를 할당 할 수 있다. 한편, 지금까지의 Windows 7 (및 Windows Server 2008 R2)은 Bulldozer Module을 2개의 물리적 CPU 코어로 인식하고 있었다. 즉, "Bulldozer Module에 포함 된 2개의 CPU 코어가 일부 자원을 공유하고 있다" 는걸 Windows가 " 몰랐던 "셈이다. 따라서 다른 Bulldozer Module이 비어 있음에도 불구하고 동일한 Bulldozer Module의 2 코어에 프로세스나 쓰레드를 Windows가 할당해 버리는 것이 일어날 수 있지만 이번 패치는 Intel 제 CPU의 HTT와 마찬가지로 Bulldozer Module의 사양을 Windows가 " 알기 "위한 것이 된다.

 

Bulldozer Module을 " 알고 "있는 상태가 되면, Bulldozer Module에게 불리하게 되는 스레드 또는 프로세스의 할당을 방지 할 수 있다는 이론이다."Windows가 CPU를 어떻게 인식하고 있는지 '는'GetLogicalProcessorInformation"라는 Windows API를 이용하면 얻을 수 있다. 이번에는 MSDN에 준비된 GetLogicalProcessorInformation 샘플 코드 를 바탕으로 필자가 사용하는 컴파일러로 프로그램을 실행해 보았다. 아래에 나타낸 것이 그 결과로 왼쪽이 적용전, 오른쪽이 적용후이다. "Number of processor cores"가 물리적 코어 수, "Number of logical processors"이 논리 코어 수를 나타내고 있다.

 

 

패치전(8코어 8논리적(8쓰레드) 프로세서)

 

 

패치후(4코어 8논리 프로세서 (쓰레드) 코어)

 

 

주목해야 할 것은, 패치 전에는 "실제 코어 수 8 논리 코어 8"에서 네이티브 8 코어 CPU로 인식되는 FX-8150이 패치를 적용한 후는 " 물리적 코어 4 개, 논리 코어 수 8 "로 바뀌고 있는 것이다. 이것은 Windows 7이 AMD FX의 "8 코어 '를 4 코어 8 스레드 사양의 Core i 프로세서와 동일한 취급하고있는 것을 나타내고 있다.


 "일부 리소스를 2 개의 물리적 코어에서 공유하는"Bulldozer Module의 실정을 "HTT와 같은 것"이라고 판단했다, 그 자체는 타당 할 것이다. 단, Windows에서 외형 상으로는 "세계 최초의 데스크탑 PC 용 8 코어 CPU"가 4 코어 8 스레드 사양의 CPU로 그레이드 다운 해 버리는 것으로, AMD의 마케팅 팀, 그리고 AMD 팬에서 보면 아픈 변경이라 말할 수 있을 것이다 (그러나 인텔의 HTT와 다른 것은 물리적으로 불도저 계열의 CPU는 2개의 정수코어가 완전히 독립된 프로세서 이기 때문에, 1모듈 내의 1코어만 쓴다고 할 때 모듈내 코어 전체를 쓰지 못하고, 정말 내부의 1코어 만큼만 사용이 가능 합니다. 반면 HTT는 (초기 펜4 제외, 펜4는 고IPC는 아니고 당시로 그냥 적당한 IPC 였습니다. IPC는 적당히 정도로 멈췄지만 대신 고클럭을 지향해 최종 성능을 내는 구상) 하나의 고성능 코어를 논리적으로 나눠쓰기 때문에, 1코어만 써도 큰 코어의 성능을 충분히 사용이 가능 합니다. HTT가 성능을 발휘 하는 것은 간단히 말하면 고 IPC CPU일 수록 최대 동시 실행을 항상 할 수 없기 때문에, 비어있는(여유있는) 자원을  다른 논리프로세서가 사용 가능하게 함으로써 2개의 논리프로세서 (2개의 스레드, 태스크) 실행으로 최종 성능을 높이는 겁니다.).

 

어쨌든, 패치를 적용하면 Windows에서 인식되는 CPU의 사양이 바뀌어 결과적으로 스케줄러의 행동도 바뀐다. 그럼 어떻게 바뀌는 지. 사실, 스케줄러의 동작은 이렇게 간단한 것이 아니기 때문에 일반적인 응용 프로그램의 동작에서 그것을 상세하게 아는 것은 상당히 어렵다. OS는 시분할을 사용하여 우선 순위에 따라 프로세스나 쓰레드를 CPU에 할당하고 있다.

 

동일한 프로세스나 스레드가 동일한 CPU 코어에서 작동하는 것을 계속할 것으로 보장되지는 않는다. 어느 "조각"(시분할에서 CPU에 할당 된 시간 수)에 "Core 0"으로 작동하고 있어도 다음 조각에서는 "Core 3"에서 작동하는 것이 당연하게 발생 얻는다. 스케줄러는 "시분할 및 API 호출 시점에 OS 측에 제어가 이동 한 후에 다음 프로세스나 쓰레드를 CPU에 할당 할 때 빈 CPU 코어를 우선적으로 할당하는"동작을 기본으로 하고 있기 때문 이다. "프로세스 측에서"자신 "이 모든 CPU에 할당되어 있는지 '를 아는 것은 불가하지 않다고 생각하지만, 꽤 어려울 것 같다. 적당한 타이밍에서 Windows API를 호출 호출 후 "자신"이 할당 된 CPU 코어를 감지하여 그 통계를 가지고가는 것은 시간을 들이면 할 수 있을지도 모르지만 .......  

 

어쨌든, "패치를 적용하면 동일한 Bulldozer Module 내에서 2 코어에서 리소스 충돌이 일어나지 않도록 프로세스나 스레드가 예약되는 것"이라고는 말할 수 있다. 또한 그것에는 4 개의 스레드를 동시에 이용하면 분명히 알 수 있다. 아래에 표시된 화면은 MP3 인코딩 소프트웨어 "오후 ~ 다"를 베이스로 한 고전적인 CPU 벤치 마크 테스트 응용 프로그램 " GogoWinBench "(Version 1.28)를 이용하여 4 스레드 벤치 마크를 실행했을 때의 CPU 부하 모습을 본 것이다.

 

GogoWinBench은 오래된 도구이지만, 어떤 스레드 수도 설정할 수 있으므로, 이런 종류의 테스트에 편리하다. 패치 전이라하면 8 코어가 동렬로 취급되기 때문에 8 코어에 균등하게 부하가 분산되는 모습을 확인할 수 있지만 패치를 적용하면 그것은 4 개의 코어밖에 할당하지 않게된다. 작업 관리자의 그래프는 CPU 코어 번호별로 줄 지어있는 것은 없기 때문에 불규칙한 알기 힘든 있지만 나머지 4 코어에 부하가 생기지 않은 것으로부터, 자원 충돌을 피하도록 스레드가 예약 될수 있는지 확인될 것이다.

 

 

 

패치전

(이런 비슷한 현상은 i7을 비스타에서 사용하면 발생 합니다.

윈도7 부터는 아래처럼 되구요.)

 

 

패치후

 

 

그 외에도, 예를 들어 4 스레드를 사용하는 응용 프로그램 실행 중에 다른 2 스레드를 사용하는 응용 프로그램을 시작할 때, 자원 충돌 및 캐시 구성을 감안한 CPU 할당 변경을 할 것 같은 일이 이루어지고 있을 가능성도 있지만, 그것을 확인하는 것은 극히 어려운 일이므로 이번은 제외하고 싶다.

 

 

또 다른 Hotfix는
Core C6 State 인해 생기는 부작용을 수정


 KB2645594로 인한 부작용을 억제하는 KB2646060하지만 이것은 AMD FX에서 "Core C6 State"라는 새로운 절전기구가 채용된 것과 밀접하게 관련되어 있다.

 

 

 

 

 

Core C6 State를 활성화 하면 Windows 전원 관리 설정에 관계없이 유휴 상태일 때 코어의 동작 클럭이 1.4GHz까지 저하하는 것은 AMD FX 기초 검증 보고서 에서 전한대로다. 그리고 이것은 즉, Windows가 Core C6 State에 대응하고 있지 않기 때문에, CPU 측에서 부하에 따라 마음대로 동작 클럭을 올리고있는 셈이다. 그래서, KB2645594을 적용해서 스케줄러의 동작이 변경되면 약간 스레드를 사용하는 응용 프로그램에서는 Bulldozer Module의 한쪽 코어에만 부하가 걸리지 않고, 추진력, 동작 클럭이 오르지 않고, 1.4GHz에서 스레드를 처리해 버릴 가능성이 있다. KB2646060이 증상에 대책을 실시하며, 적용하면 Bulldozer Module에서 하나의 코어에만 부하가 걸리것 같은 경우에도 Core C6 State에서 복귀 할 것 같다. KB2645594에만 적용하고 KB2646060를 적용하지 않으면 성능이 저하 될 수 있지만, 그것은 Core C6 State에서 복귀 할 수 없을 정도로 가벼운 부하의 경우에 국한된다. "KB2646060을 맞추지 않으면 성능 저하가 일어난다"라고 하는 것은 비교적 드문 경우라는 것이 될 것이다. 또한 KB2646060를 적용해도 Windows 전원 관리 설정과 관계없이 클럭이 1.4GHz에 떨어진다는 현상에 변화가 없었다. 전원 관리 설정 및 Core C6 State 행동이 일치하지 않는 것이 사양이라는 것이 될 것이다.


응용 프로그램에 대한 영향은 매우 적은

 4Gamer로 중요한 것은 스케줄러 동작이 바뀐 것으로, 게임의 성능에 변화가 생기는 여부이다. 이번에는 표 테스트 환경을 제공해 "3DMark 11"(Version 1.0.3)와 "Battlefield 3"(이하 BF3)의 "THUNDER RUN"시퀀스에서 벤치 마크 테스트를 취해 보자.
 3DMark 11 테스트 방법은 테스트를 "Performance"사전에 짜내 제외하고 벤치 마크 규제 11.2 준거. BF3 시험 방법은 2011 년 11 월 5 일 시험 보고서에 준한다.

 

CPU FX-8150 @3.6GHz
 마더보드  ASUSTeK Computer
 Crosshair V Formula (AMD 990FX, BIOS 1102) 
 메인 메모리  G.Skill International Enterprise
 그래픽 카드  MSI R6950 Twin Frozr II OC
 (Radeon HD 6950, 그래픽 메모리 2GB)
 전원 공급기  SilverStone Technology SST-ST1200-G 1200W 
 하드디스크  Maxtor DiamondMax 10 (6V300F0, 300GB)
 운영체제  64비트 윈도우즈 7  프로페셔날 + SP1
 칩셋 드라이버  카탈리스트 11.12  
 그래픽 드라이버  카탈리스트 11.12 


 3DMark 11은 CPU 성능만을 비교하기 위해 "Physics"테스트 결과도 뽑아 봤지만, 그래프 1 ~ 2 를 보는 한, 점수는 오차 정도 밖에 변하지 않는다. 점수 향상 비율은 극히 미미하다.


 Physics 테스트는 멀티 스레딩에 최적화되어 있지만, 현실적인 이야기, 4 스레드 이상을 사용하면 리소스 충돌없이 예약 할 수 없게되므로 스케줄러를 아무리 조정해도 벤치 마크 점수의 차이가 거의 발생하지 않는다는 것은 쉽게 상상할 수있다.  KB2646060 적용하는 경우와 KB2645594만을 적용한 경우와 차이가 없는 동일 오히려 그래프 2 는 점수의 저하도 볼 수 있지만, 이것은 오차정도로 결코 문제는 없다고 생각한다. 앞서 언급했듯이 KB2646060는 부하가 낮은 경우 성능 저하를 가져 오기 때문에 충분히 CPU 부하가 높은 3DMark 11에서 점수가 변하지 않는 것은 오히려 당연한 것이라고 생각한다.

 

 

 

 

 

아래 그래프 3에 대한 설명의 해상도를 낮춘 (VGA 부하를 낮춘) 이유에 대한 이해를 돕는 영상. GPU에 발목 잡혀서 CPU의 성능 차이가 없어져 버리는 것을 방지.

 

BF3 테스트시에는 GPU 부하를 최대한 낮추고 CPU 성능 차이가 신비성 있도록 그래픽 설정의 사전 설정을 '낮음'해상도를 1280 × 720로 지정했지만 역시 벤치 마크 테스트 결과 차이는 전혀라고 해도 좋을 정도 생기지 않는다( 그래프 3 ).

 

 

 

 ...... 이상 패치가 AMD FX의 성능을 극적으로 향상시켜주는 마법의 아이템이 아니라는 것을 확인할 수 있었다. 원래 방식부터 Bulldozer Module의 자원 충돌은 HTT 정도 패널티가 크지 않다 ( 관련 기사 ) 때문에 (인텔 SMT인 HTT는 윈도7부터 하이퍼스레딩에 맞는 스케줄러가 탑제되어 있습니다. 윈도xp 시절부터 있던 기술에 네할렘 셈플이 나온던 시절에도 윈도7이 개발중이었죠. 윈도7 한참 뒤의 CPU니까 당연히 패치로 해줘야 하구요. 이렇게 따지면 비스타에서도 패치나 SP1이나 SP2에서 HTT 스케줄러가 나왔어야 하는게 아닌가도 싶지만..), 스케줄러 충돌을 피하기 같은 최적화가 이루어지고도 눈에 보이는 점수의 향상이 없다는 것은 납득할 수 있는 얘기다. 단, KB2645594는 "적용하지 않는 것보다는 적용한 것이 좋은"것이고, 그래서 Microsoft는 Windows Update에서 공개한 것이다. AMD FX 사용자는 일단 자기 책임으로 도입하는 것이 좋다. 한편, KB2646060은 아직 테스트 중이라는 상태에서 또한 필자가 확인한 한 번 도입하면 제거 할 수 없었다. "KB2645594의 도입으로 특정 게임 타이틀에서 상당한 성능 저하가 있었다"등의 문제가 없는 한은 정식 버전의 등장을 기다렸다 편이 좋을지도 모른다.

(성능에 관해서 불도저 계열은 정수코어가 애초에 분리되어 있기 때문에, 별 차이가 없게 됩니다. 다른 사이트의 벤치에서도 1~3% 차이 정도. 전체 코어가 공유되는 코어i와는 약간 다른 양상이죠. 영향이 생기려면 불도저 2코어(2논리 프로세서) 에서 공유되는 SIMD + FMA를 아주 많이 사용하는 경우라면 이때는 불도저 계열 CPU에서 예전 방식으로 작동 할 때는 성능 저하가 발생하겠죠. 성능 저하라기 보다 제 성능을 못낸다가 더 정확하겠죠. 결국 이렇게 될거였으면 분리된 저성능 스몰 2코어가 아닌, 합쳐진 고성능 대형 1코어로 하고 SMT를 사용해 8스레드를 썼다면.... 2스레드, 4스레드 게임에서 지금보다 훨씬 높은 성능을 발휘하고, 8스레드의 경우도 4스레드 보다 좀더 높은 성능을 발휘 했을텐데요.)

 

 

 

윈도 8부터는 기본 적용. 어딘가에서 퍼온 그림;;;(원래 기사에는 없는 그림.)

 

 

 

제가 직접 캡쳐한 그림. 예전에 다른 글에 올렸던 그림인데, 여기에도 도움이 될거 같아서......

인텔 CPU에 대한 윈도우즈의 SMT 파킹은 유틸리티 등을 통해서 끌수도 있는데, 그냥 윈도 상태에서는 위와 같습니다. 아래 2개는 윈도 작업관리자에서 보는 것이고, 가장 위는 SYSTEM Monitor II 가젯. 가젯에서는 P 라고 표기 되어 있죠. 그 외에 윈도에서는 0번 부터 7번으로 표기가 되고, 가젯에서는 1번부터 8번으로 표기되는 차이는 있기도 하고요. 표기가 그럴뿐 어짜피 같은 것이고, 윈도 기준으로  물리 1코어[0/1], 2코어[2/3], 3코어[4/5], 4코어 [6/7] 이렇게 작동을 합니니다. 그러니까 어떤 소프트가 0,2,4,6 이렇게 움직여도 각각 독립된 코어만 쓰는 것이고, 0,3,5,6 이런식으로 움직여도 각각 독립된 코어만 쓰는거죠. 그런데 대부분 외부 소프트에서는 1부터 8로 표기를 하죠. 8스레드를 쓰는 프로그램이라면 당연히 전체를 다 쓰구요. 4스레드를 쓴다고 하면, 물리 코어별로 배치하고 처리한다 생각하면 됩니다. 2스레드도 마찬가지....

 

이것도 역시 예전에 다른 글에 올렸던 스샷. 드래곤 에이지 오리진, 그라나도 에스파다, 마영전. 게임 스샷은 다 딱딱 맞춰서 1,3,5,7을 쓰네요. 그런데 실제 이렇게 4스레드 게임을 해보면, 저 상태 고정이 아니라, 유동적이죠. 7대신 8이 움직인다던가.. 5대신 6이 움직인다던가.. 하는 식으로요. 아무튼 물리코어 위주로... 윈도우에서 게임만 돌아가는 것도 아니기도 하고.. 여러 외부 소프트와  백그라운드 작업들이 존재하니.. 당장 게임안에서 표기를 해주는 애프터버너도 있고, 기본 백신들은 다 쓸테고......

 

역시 예전 다른 글에 올린 그림. 그림 추가. 와우 같은 온라인 게임은 계속 업데이트 되기 때문에 지금은 저렇지 않습니다. 요즘 돌리면 논리코어를 전부 다 사용 합니다 (내장 그래픽이 많은거 같은데....). 워크래프트3는 워낙 구형게임이라서, 전투가 아니어서 더 낮은 것도 있겠지만, 3% 밖에 쓰지를 않네요. 다른 글에 올린 스샷을 보면, 구형 E7500에서는 30% 정도 사용하는데 말이죠 (스테이지는 다르지만, 어짜피 초반 전투 없는 상황). E7500은 듀얼코어니까 이게 쿼드가 된다고 하면 단순 계산해도 15% 사용이고... CPU 성능이 좋아지니까.. 그러니까  쉽게 설명하자면, 워3를 끊김 없이 제대로 돌리는데 30마력이 필요하다고 하면, 100마력 짜리 구형 CPU에서는 30%를 사용해서 돌리는거고 (쿼드코어로 단순 계산하면 15%), 1000마력 짜리 CPU에서는 3%의 힘을 써서 돌릴 수 있는거죠. 역시 그냥 단순하게 워3 돌리는 것만으로 생각하면 i7-4790k가 775 듀얼에 비해서 10배, 쿼드에 비해서는 5배 성능이 더 높은 CPU다 라고 할 수 있겠죠. CPU 사용률만으로 워3에 한해서 볼 때 단순하게 말하자면요.

 

간혹 이런 것을 잘못 생각해서 같은 수준의 AI라던가 게임성 등을 가졌다면 CPU 사용률이 낮은게 잘 만든 게임인데 (게임 프로그래밍을 잘하고 최적화 한건데),  왜 더 CPU를 안쓰게 만들었냐고 하는 경우가 있죠 (쓸데없이 CPU 사용만 높으면 개적화 인거죠). 게임 프레임이 잘 안나오면서 CPU를 못 쓰는 경우 말구요.

 

좀 다르게 말하면, 콘로에서 CPU (소프트) 재생으로 어떤 특정 동영상을 90% 써가며 재생한다고 할 때 하스웰에서 10%를 쓰면서 재생하면 와 CPU 성능이 높아졌구나 하는게 정상이죠. 이걸 가지고 왜 CPU를 10%만 쓰도록 만들었냐? 내 CPU가 아깝네 100% 돌아가게 만들어줘 라고 하지는 않죠? (이런 개념과 관계없이 자기 과시로 이렇게 요청하는 사람도 있습니다. 자기 만족 할려고 저사양 유저는 죽으라는 얘기죠.) 다른 동영상 재생 소프트로 (또는 코덱 교체 등) 같은 영상을 돌려보니까 콘로는 60%를 써가며 재생하고 하스웰은 5%만 쓰고도 돌린다면... 어떤게 최적화 시킨 것이고, 어떤게 개적화인 소프트 일까요? 뻔한 답이죠. 동영상 소프트 라면 (코덱 등 포함) 이런 저런 처리에 MMX,SSE 시리즈, AVX 시리즈 등의 SIMD 명령을 적용할 수 있는 곳은 최대한 적용하고, 알고리즘을 최적화 한다면 같은 영상을 돌리는데 더 구형 CPU에서도 잘 돌아가겠죠. 물론 너무 구형이면 SIMD 명령 자체를 지원 안하기 때문에 그것도 문제가 될 수는 있지만, 정말 최신 것만 딱 지원하지는 않죠. 게임도 그렇구요. 10여년 전 CPU도 지원하는 정도까지는 지원하죠.또는 이와 더불어서 더 구형 SIMD나 SIMD 명령이 없어도 실행은 되게끔 만든다던가요. 모 게임기 에뮬레이터의 경우는 SSE2 용 버전과 SSE2를 안쓴 그냥 x86 버전이 있는데, SSE2 버전을 콘로에서 돌리면 풀 프레임이 나오는데, SSE2 명령 안쓴 버전을 돌리면 프레임이 제대로 안나옵니다. CPU는 CPU대로 쓰면서요. 또 조금 다른 얘기지만, 새로운 SIMD 명령을 만들고  CPU에 SIMD 유닛을 추가하는 것은 더 빠르게 처리하기 위해서는 만드는 겁니다. 마치 DX9를 천년만년 안쓰고 상위 DX를 쓰면 같은 효과면 더 빠르게 처리가 가능하고, DX9에는 없는 더 추가적인 효과를 표현하기 위해서 DX10,11,12가 계속 나오는 것과 마찬가지 입니다. 간혹 SIMD명령 빼고 만들라거나, 뺀 성능이 진짜라고 말하는 분은 DX12 시대에 DX9 성능이 진짜 성능이고 DX9로만 돌려야 한다고 말하는 것과 마찬가지죠. DX11에 DX9도 돌아가는 게임을 만들지 DX9로만 돌아가게는 안만들죠. SIMD 명령도 이런 것과 비슷하다고 보면 됩니다.)

 

 

[벤치리뷰] 윈도우즈8의 도움으로 불도저의 성능개선이 있을까?

 

 

[벤치마크] AMD FX 불도저 패치

 

 

[벤치리뷰] 불도저 서버 AMD 인터라고스 (Interlagos) 옵테론 6200 시리즈

 

 

[벤치리뷰] 6코어와 4코어 잠베지(불도저) FX-6100, FX-4100,FX-8150

 

 

[벤치리뷰] AMD FX-8150 리뷰

 

 

[벤치리뷰] 마침내 등장 불도저 아키텍처 잠베지 AMD FX-8150 3.6GHz

 

 

[아키텍처] AMD 불도저 제품은 4GHz 이상.

 

 

[분석정보] 드디어 밝혀진 AMD의 불도저 (Bulldozer)

 

 

[아키텍처] 정수 연산 성능을 희생해서 효율성을 거둔 AMD의 "Bulldozer"

 

 

 

[벤치마크] FX-9590 컴퓨터 G-Tune MASTERPIECE a1500BA1

 

 

[벤치마크] 최고 5GHz로 구동하는 FX9590 탑재 마우스 컴퓨터 MASTERPIECE a1500BA1

 

 

[벤치리뷰] AMD 5GHz 오버클럭 (파일드라이버) 하스웰과 경쟁할 수 있나?

 

 

[벤치리뷰] AMD FX 8350 vs 인텔 i7 3770k 크로스파이어

 

 

[벤치리뷰] 인텔 AMD 86종 CPU 테스트

 

 

[벤치리뷰] AMD FX-8350 비셰라 (Vishera, 파일드라이버 코어)

 

 

[리뷰벤치] AMD FX-8350 vs 인텔 Core i7-3770K 4.8GHz 오버클럭 성능 대결

 

 

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

 

 

[벤치리뷰] 기가바이트 BRIX Pro(GB-BXi5-4570R)VS 카베리

 

 

[벤치리뷰] 4세대 APU 카베리 성능과 전력

 

 

[벤치리뷰] Iris Pro 5200 내장 GIGABYTE BRIX 최강 모델

 

 

[벤치리뷰] 인텔 코어 i7-4770k 리뷰 - Xbitslabs