시간적 멀티스레딩
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
시간적 멀티스레딩은 여러 스레드를 번갈아 실행하여 프로세서의 활용도를 높이는 기술이다. 거친 입도 시간적 멀티스레딩과 미세한 입도 시간적 멀티스레딩으로 분류되며, 전자는 스레드 전환이 빈번하지 않고, 후자는 파이프라인 단계 사이에서 컨텍스트 전환이 이루어진다. 시간적 멀티스레딩은 각 스레드에 완전한 상태 집합을 저장해야 하며, 공정성 알고리즘을 통해 스레드 간의 자원 독점을 방지한다. 동시 멀티스레딩에 비해 프로세서 열 출력이 낮지만, 한 번에 하나의 스레드만 실행할 수 있다는 차이점이 있다.
더 읽어볼만한 페이지
- 플린 분류 - MIMD
MIMD는 여러 프로세서가 각기 다른 명령어와 데이터를 처리하는 병렬 컴퓨팅 구조로, 공유 메모리 및 분산 메모리 모델로 나뉘며, 높은 병렬성을 요구하는 다양한 분야에 활용되지만 프로그래밍 복잡성 등의 과제를 안고 있다. - 플린 분류 - 폰 노이만 구조
폰 노이만 구조는 CPU, 주소 지정 메모리, 버스를 핵심 요소로 하는 컴퓨터 아키텍처로, 프로그램 내장 방식을 통해 명령어와 데이터를 동일한 기억 장치에 저장하고 순차적으로 실행하는 특징을 가진다. - 스레드 - 멀티스레딩
멀티스레딩은 프로세스 내에서 여러 스레드를 동시 실행하여 처리 능력을 향상시키는 기술로, 응답성 향상과 자원 공유 등의 장점이 있지만, 자원 간섭과 소프트웨어 복잡성 증가 등의 단점도 존재하며, 다양한 모델과 구현 방식, 스레드 스케줄러, 가상 머신 활성화 가능성 등을 고려해야 한다. - 스레드 - 동시 멀티스레딩
동시 멀티스레딩(SMT)은 슈퍼스칼라 구조 기반으로 한 클럭 사이클 내에 여러 스레드의 명령어를 동시에 실행하여 CPU 자원 활용률을 높이는 기술이지만, 자원 경합, 성능 저하, 보안 취약점 등의 단점도 있으며, 인텔 하이퍼 스레딩이 대표적이다. - 컴퓨터 구조 - PA-RISC
PA-RISC는 휴렛 팩커드에서 개발한 RISC 기반 명령어 집합 아키텍처로, HP 서버 및 워크스테이션에 사용되었으며 대용량 L1 캐시와 SIMD 명령어 확장 등의 특징을 가졌으나 아이테니엄 아키텍처로의 전환으로 단종되었다. - 컴퓨터 구조 - 메모리 관리
메모리 관리는 운영체제의 핵심 기능으로, 여러 프로세스의 원활한 실행을 위해 메모리 공간을 할당하고 관리하며, 릴로케이션, 보호, 공유, 가상 메모리 관리, 자동/수동 메모리 관리 등의 기능을 수행한다.
| 시간적 멀티스레딩 |
|---|
2. 시간적 멀티스레딩의 종류
시간적 멀티스레딩은 크게 두 가지 주요 형태로 나뉜다.
- '''거친 입도(Coarse-grained)''': 메인 프로세서 파이프라인은 한 번에 하나의 스레드만 포함한다. 프로세서는 다른 스레드를 실행하기 전에 효과적으로 빠른 컨텍스트 전환을 수행해야 하는데, 이는 "스레드 전환"이라고도 불린다.
- '''미세한 입도(Fine-grained)''' (또는 인터리빙): 메인 프로세서 파이프라인은 여러 스레드를 포함할 수 있으며, 컨텍스트 전환은 효과적으로 파이프 단계 사이에서 발생한다(예: 배럴 프로세서).[2]
2. 1. 거친 입도 (Coarse-grained) 멀티스레딩
메인 프로세서 파이프라인은 한 번에 하나의 스레드만 포함한다. 프로세서는 다른 스레드를 실행하기 전에 효과적으로 빠른 컨텍스트 전환을 수행해야 한다. 이 빠른 컨텍스트 전환은 때때로 "스레드 전환"이라고도 한다. 전환 시 추가적인 페널티 사이클이 있을 수도 있고 없을 수도 있다.거친 입도 시간적 멀티스레딩에는 다양한 변형이 있으며, 주로 스레드 전환이 언제 발생하는지 결정하는 알고리즘과 관련이 있다. 이 알고리즘은 사이클 수, 캐시 미스, 공정성을 포함한 여러 가지 요인 중 하나 이상을 기반으로 할 수 있다.[2]
2. 2. 미세한 입도 (Fine-grained) 멀티스레딩
메인 프로세서 파이프라인에는 여러 스레드가 동시에 포함될 수 있으며, 문맥 교환은 파이프 단계 사이에서 발생한다(예: 배럴 프로세서).[2] 이러한 형태의 멀티스레딩은 여러 파이프 단계에 걸쳐 실행 리소스가 여러 스레드를 처리해야 하므로 하드웨어 비용이 더 높을 수 있다.[2] 또한, 이 설계가 "백그라운드" 스레드 개념을 중심으로 최적화될 수 없다는 점도 비용에 영향을 준다. 하드웨어에 구현된 동시 스레드 중 어느 스레드든 모든 사이클에서 해당 상태를 읽거나 쓸 수 있어야 한다.[2]3. 동시 멀티스레딩(Simultaneous Multithreading, SMT)과의 비교
시간적 멀티스레딩은 여러 면에서 동시 멀티스레딩과 유사하다. 하드웨어는 구현된 각 동시 스레드마다 완전한 상태 집합을 저장해야 한다. 또한 하드웨어는 특정 스레드가 자체적으로 프로세서 리소스를 가지고 있다는 환상을 유지해야 한다. 한 스레드가 프로세서 시간 및 리소스를 독점하는 것을 방지하기 위해 두 가지 유형의 멀티스레딩 상황 모두에 공정성 알고리즘이 포함되어야 한다.
시간적 멀티스레딩은 동시 멀티스레딩보다 프로세서 열 출력이 낮다는 장점이 있지만, 한 번에 하나의 스레드만 실행할 수 있다.
참조
[1]
웹사이트
Superthreading with a multithreaded processor
https://arstechnica.[...]
[2]
서적
Operating System Concepts
Wiley, 9th Edition
[3]
웹사이트
Superthreading with a multithreaded processor
https://arstechnica.[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com