동시 멀티스레딩: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
26번째 줄:
== 현대의 상용 기술로의 도입 ==
[[인텔]] [[펜티엄 4]]는 2002년에 3.06 GHz 모델을 기점으로 출시된 동시 멀티스레딩을 채용한 최초의 현대 데스크톱 프로세서였으며 그 뒤로도 그들의 수많은 프로세서에 도입되었다. 인텔은 이 기술을 [[하이퍼스레딩|하이퍼스레딩 기술]](HTT)로 불렀으며 두 개의 스레드가 기본인 SMT 엔진을 제공한다. 인텔은 SMT를 채용하지 않은 펜티엄 4와 동일한 기준에 비해 최대 30%의 성능 향상이 있다고 주장한다. 성능 향상은 응용 프로그램에 따라 매우 큰 차를 보이지만 어떠한 프로그램은 도리어 HTT가 켜져 있을 때 대역, 캐시, [[변환 색인 버퍼]]. [[재정렬 버퍼]] 엔트리와 같은 자원에 크게 집중한다면 속도가 느려지기도 한다. 이는 일반적으로 잘 작성되지 않은 데이터 접근 루틴에서 비롯하며 이 경우 멀티프로세서 시스템에서 높은 레이턴시의 캐시 간 트랜잭션 (캐시 트래싱-<small>cache trashing</small>)이 일어난다. 멀티프로세서, 멀티코어 설계가 만연하기 전에 작성한 프로그램들은 단일 CPU 시스템이 하나의 캐시에 스스로 늘 일관적이었기 때문에 일반적으로 캐시 접근을 최적화하지 못하였다. 멀티코어 시스템에서 각 CPU나 코어는 일반적으로 저만의 캐시를 갖추고 있으며 시스템 상의 다른 CPU/코어의 캐시와 상호 연결함으로써 [[캐시 일관성]]을 유지한다. 스레드 A가 메모리 위치 [00]에 접근하고 스레드 B가 메모리 위치 [01]에 접근한다면 특히 현대의 모든 프로세서 기준에서 캐시 라인이 2바이트를 넘어서는 곳에서 캐시 간 트랜잭션이 일어난다.
 
최신 [[MIPS 아키텍처]] 설계에는 ''MIPS MT''라는 SMT 시스템을 갖추고 있다. MIPS MT는 무거운 가상 처리 요소와 가벼운 하드웨어 마이크로스레드를 위하여 제공된다. RMI (쿠퍼티노 기반 시작)는 8개의 코어 기반 프로세서 [[단일 칩 시스템|SOC]]를 제공하는 최초의 MIPS 업체이다. 이 스레드는 각기 다른 스레드가 각 사이클에서 실행할 수 있는 세밀한 모드에서 실행할 수 있다. 이러한 스레드에는 우선 순위를 할당할 수 있다.
 
2004년 5월에 발표한 [[IBM]] [[파워5]]는 듀얼 코어 DCM, 쿼드 코어, 옥타 코어 MCM으로 출시되었으며 각 코어에는 두 개의 스레드 SMT 엔진을 포함하고 있다. IBM이 추가한 이 기능은 이전의 것보다 더 복잡한데, 이를테면 다양한 스레드에 여러 우선 순위를 매길 수 있으며 더 세밀할뿐 아니라 SMT 엔진을 유동적으로 켜고 끌 수 있어서 SMT 프로세서가 성능을 높이지 못할만한 곳에서 작업량을 더 잘 처리할 수 있게 되었다.
 
== 단점 ==