토픽 80 / 111·병렬 처리 (Parallel Processing)
SMT (Simultaneous Multithreading)
SMT (Simultaneous Multithreading)
하나의 물리적 프로세서 코어에서 여러 스레드를 동시에 실행하여 실행 유닛의 활용도를 높이고 처리량을 증가시키는 하드웨어 멀티스레딩 기법
목적: 코어 활용률 증대, IPC 향상, 처리량 증가, 지연 숨김
특징: 논리 코어, 공유 실행유닛, 스레드별 레지스터, 동적 자원 할당
구성요소: ① 다중 레지스터 세트 ② 공유 실행유닛(ALU, FPU) ③ 공유 캐시 ④ 스레드 스케줄러
동작원리: 스레드1이 메모리 대기 시 스레드2 실행 → 실행유닛 유휴 최소화 → 처리량 20-30% 향상
장점: 높은 처리량, 코어 활용률 증대, 지연 숨김, 적은 HW 추가
단점: 단일스레드 성능 저하(자원 공유), 보안 취약점(타이밍 공격), 전력 증가
적용사례: Intel Hyper-Threading(2-way), IBM Power(8-way), ARM(2-way)
보안 이슈: L1TF, MDS, Spectre, 코어 간 정보 유출, 일부 서버는 SMT 비활성화
비교: SMT(논리코어/자원공유) vs 멀티코어(물리코어/독립자원)
연관: Hyper-Threading, 멀티코어, 파이프라인, 비순차실행