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

내용 삭제됨 내용 추가됨
Shirobot (토론 | 기여)
잔글 白:사:Ysjbserver요청으로 {{주석}}을 {{각주}}로 바꿈 total:18220, replaced: {{주석 → {{각주 using AWB
25번째 줄:
 
== 현대의 상용 기술로의 도입 ==
[[인텔]] [[펜티엄 4]]는 2002년에 3.06 &nbsp;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 업체이다. 이 스레드는 각기 다른 스레드가 각 사이클에서 실행할 수 있는 세밀한 모드에서 실행할 수 있다. 이러한 스레드에는 우선 순위를 할당할 수 있다.
46번째 줄:
 
== 참조 ==
{{주석각주}}
* LE Shar and ES Davidson, "A Multiminiprocessor System Implemented through Pipelining", Computer Feb 1974
* D.M. Tullsen, S.J. Eggers, and H.M. Levy, "Simultaneous Multithreading: Maximizing On-Chip Parallelism," In 22nd Annual International Symposium on Computer Architecture, June, 1995