시간 멀티스레딩

Temporal multithreading

임시 멀티스레딩은 컴퓨터 프로세서 하드웨어에서 구현 가능한 두 가지 주요 멀티스레딩 형식 중 하나이며, 다른 하나는 동시 멀티스레딩입니다.두 형식의 구별되는 차이는 특정 사이클의 특정 파이프라인 단계에서 실행할 수 있는 최대 동시 스레드 수입니다.시간 멀티스레딩에서는 숫자가 1이지만 동시 멀티스레딩에서는 숫자가 1보다 큽니다.몇몇 작가들은 슈퍼스레딩이라는 용어를 [1]동의어로 사용한다.

바리에이션

시간 멀티스레딩에는 여러 가지 종류가 있지만 대부분은 다음 두 가지 하위 형식으로 분류할 수 있습니다.

결이 거칠다
메인 프로세서 파이프라인에는 한 번에 하나의 스레드만 포함됩니다.프로세서는 다른 스레드를 실행하기 전에 래피드 컨텍스트스위치를 효과적으로 실행해야 합니다.이 퍼스트 콘텍스트스위치는 스레드스위치라고 불리기도 합니다.전환 시 추가 패널티 사이클이 있을 수도 있고 없을 수도 있습니다.
주로 스레드 스위칭 발생 시기를 결정하는 알고리즘과 관련하여 거친 시간적 멀티스레딩에는 많은 변형이 있을 수 있습니다.이 알고리즘은 사이클 수, 캐시 미스, 공정성 등 여러 가지 요인에 기초할 수 있습니다.
미세(또는 인터리브)
메인 프로세서 파이프라인은 복수의 스레드를 포함할 수 있으며, 콘텍스트스위치는 파이프 스테이지 간에 효과적으로 발생합니다(를 들어 배럴 프로세서에서).이 형식의 멀티스레딩은 여러 파이프 단계에 걸친 실행 리소스가 여러 스레드를 처리해야 하는 경우가 있기 때문에 세밀한 형식보다 비용이 많이 들 수 있습니다.또, 이 설계를 「백그라운드」스레드의 개념에 근거해 최적화할 수 없는 것도 코스트의 원인이 되고 있습니다.하드웨어에 의해서 실장되고 있는 동시 스레드는,[2] 어느 사이클에서도 상태를 읽거나 쓸 필요가 있는 경우가 있습니다.

동시 멀티스레딩과의 비교

어떤 형태로든 시간 멀티스레딩은 여러 면에서 동시 멀티스레딩과 유사합니다.동시 프로세스와 마찬가지로 하드웨어는 구현된 동시 스레드별로 완전한 상태 집합을 저장해야 합니다.또한 하드웨어는 특정 스레드 자체에 프로세서 리소스가 있다고 착각하지 않아야 합니다.공정성 알고리즘은 한 스레드가 프로세서의 시간 및/또는 리소스를 지배하지 않도록 두 가지 유형의 멀티스레딩 상황에 모두 포함되어야 합니다.

시간 멀티스레딩은 프로세서의 열 출력을 낮춘다는 점에서 동시 멀티스레딩에 비해 장점이 있지만 동시에 실행할 수 있는 스레드는 1개뿐입니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ 멀티스레드 프로세서를 사용한 슈퍼스레딩
  2. ^ Silberschatz, Abraham (2012). Operating System Concepts. Wiley, 9th Edition. p. 283. ISBN 978-1118063330.