기글 하드웨어 위키는 일정 레벨을 충족하는 회원분들께서 직접 참여하실 수 있는 공간입니다. 컴퓨터, 하드웨어, 소프트웨어, 각종 디지털 기기, 즉 IT 관련 정보만 올릴 수 있습니다. 여기에 해당되지 않는 항목은 삭제하고 이용에 재재가 주어집니다.

하이퍼스레딩

조회 수 4051 추천 수 0 2009.10.26 19:56:19
[레벨:0]DJ™ *.39.228.250

하이퍼스레딩 기술(이하 하이퍼스레딩)은 IA-32 프로세서에서 멀티 스레드 OS와 어플리케이션 코드,

또는 멀티 태스킹 환경에서 동작하는 싱글 스레드 어플리케이션이 실행되는 동안에 수행 성능을 향상시키기 위해 개발된 기술이다.

 

이 기술은 하나의 물리적 프로세서가 둘 또는 그 이상의 나눠진 코드의 실행 흐름(즉, 스레드)을 공유된 실행 자원을 사용함으로써

동시에 실행하는 것을 가능케 한다.

 

하이퍼스레딩은 IA-32 프로세서군에서 하드웨어적인 멀티 스레딩 기술 중 하나이다.

이것은 멀티 프로세서(다중 CPU)가 물리적으로 스레드를 처리하는 것과는 다르며, 아키텍쳐적으로

하이퍼스레딩을 지원하는 IA-32 프로세서는 두개 또는 그 이상의 논리적인 프로세서가 존재한다.

 

각각의 논리적인 프로세서는 프로세서 자신의 IA-32 Architectural State를 가진다. 이들은 IA-32의 데이터 레지스터,

세그먼트 레지스터, 컨트롤 레지스터, 디버그 레지스터, 그리고 MSR들중 대부분이 존재하며 APIC도 가지고 있다.

 

논리적인 프로세서는 실행엔진과 시스템버스 인터페이스를 포함한다. 전원이 인가되어 초기화 된 후에

각각의 논리적인 프로세서는 특정한 스레드, 인터럽트, 또는 중지 명령에의해 독립적으로 지시될 수 있다.

 

하이퍼스레딩은 하나의 칩으로 둘 또는 그 이상의 논리적 프로세서를 제공함으로써

OS와 고성능 애플리케이션을 동시에 구동하게 되어 프로세스와 스레드 수준 병렬처리에 영향을 준다.

 

이러한 구성은 한개의 프로세서에서 둘 또는 그 이상의 스레드가 동시에 실행 되는 것을 허용한다.

각각의 논리적 프로세서는 프로세서 코어의 자원을 사용하여 어플리케이션의 스레드로부터 인스트럭션을 실행한다.

 

각 코어는 이 스레드들을 동시에 실행하며, 클럭 사이클동안 실행 유닛의 효율성을 극대화하고자

비순차 실행(Out-of-order) 수행을 사용하여 명령을 스케줄링한다.

 

출처 : IA-32 Intel Architecture Software Developer Manual Volume 1: Basic Architecture


기글하드웨어는 2006년 6월 28일에 개설된 해외 컴퓨터 하드웨어 뉴스와 정보, 유저들의 사용기를 주로 소개하는 커뮤니티 사이트입니다.
개인 정보 보호, 개인 및 단체의 권리 침해, 사이트 운영, 관리, 제휴 관련 문의는 이메일로 보내주세요. 관리자 이메일