동시 멀티스레딩(Simultaneous Multithreading)

I. 스레드의 병렬 실행, 동시 멀티스레딩

가. 동시 멀티스레딩(Simultaneous Multithreading)의 개념

  • 하드웨어 자원 사용률 극대화를 위해 스레드(Thread) 우선순위 선정하여 실행 효율을 개선한 병렬 실행 기술

나. 동시 멀티스레딩의 특징

효율성 개선– 슈퍼스칼라 하드웨어 효율성(버블 제거)
논리적 개선– 추가적 연산장치 없이 처리 스레드 증가
TLP– 성능 증가 위해 스레딩에 의존 병렬 처리
  • 동시 멀티스레딩 기술은 대표적으로 인텔의 하이퍼스레딩과 AMD의 클러스터 멀티스레딩 기술 존재

 

II. 동시 멀티스레딩의 기술 설명

가. 동시 멀티스레딩 기술 개념도

  • 프로세서의 자원을 두고 경합하지 않는 경우 동시 멀티스레딩으로 활용률 향상 가능

나. 동시 멀티스레딩 기술 동작 절차

구분구성요소설명
① 명령어 패치– 명령어 캐시로부터 명령어 추출
② 명령어 혼합– 다수 PC 이용하여 사이클 별 명령혼합
③ 명령어 버퍼저장– 혼합 명령어들을 명령어 버퍼에 저장
④ 명령 디코더 처리– 명령어 버퍼 내용 디코더에서 처리
  • 스레드가 같은 레지스터를 사용해도, 스레드 번호로 구분하므로 구별 가능함

 

III. 동시 멀티스레딩 기술의 한계점 및 대안

가. 동시 멀티스레딩 기술의 한계점

한계점 구성도한계점 설명
두 개의 스레드가 하나의 연산 유닛을 두고 경합
– 1코어/1스레드 성능
– 게임 등 한정된 연산에 따른 반복 수행 케이스
– 한정된 연산 케이스를 예방/완화 방안이 필요

 

나. 동시 멀티스레딩 기술의 한계점에 따른 대안

구분구성요소설명
하드웨어
측면
– Bulldozer Architecture
– 자주 쓰이는 유닛을 2코어 분화
– 분화 유닛이 클러스터 방식 처리
– wide core + Hyperthreading
– 대용량 L2 캐시 활용– 자원 공유(캐시, TLB)에 따른 캐시 미스로 인한 성능 저하 예방
소프트웨어
측면
– 페치(Fetch) 전략– 패치 큐와 이슈 큐 명령어 수 기준, 적은 쓰레드에 우선권
– 이슈(Issue) 전략– 전체 동작 유닛 내 명령어 수가 가장 적은 스레드에 우선권
  • 모의 시험 결과 프로세서 성능이 일반적으로 슈퍼스칼라 프로세서에 비해 2배 증가
One Comment

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^