SMT에 대해서 추가적으로 고려할것
- 어느 thread에서 fetch할 것인가?
- starvation 방지
- fairness 등등
SMT Fetch Policies
1.static polices
Round Robin :
간단하게 RR 방식으로 하면 될거같지만 그렇게 성능이 좋지않다.
slow thread 있을경우 pipeline을 monopoly해버리면 전체적으로 손해임.
2. dynamic polices
favor thread with minial in-flight branch(branch 적은거), outstanding miss(캐시 미스확률 적은거),in-flight IS(명령어적은거) 등등의 방법
favor thread with higher real time 등등
- ICOUNT :
priority 가 threads with the fewest insturctions
현재 시점에서 decode rename Instruction queue에서 the fewest insutruction한 thead를 가져온다.
장점
- 한 thread가 IQ 점유하는걸 방지한다.
- Instruction queue에 명령어가 적다는거는 dependence가 적어서 smt에서 효율적으로 잘 작동하고 있는 thread란 뜻임. 따라서 그런애들을 우선적으로 주면 전체 시스템 성능도 올라간다.
- 이런 방식은 병렬처리의 성능에 도움이 된다.
지금까지 배운것을 짬뽕한게 intel의 Hyper threading
현대에는 smt보다 hyper threading 이 익숙한거 같다.
'학교공부 > 컴퓨터구조' 카테고리의 다른 글
컴퓨터구조 22 - Cache (0) | 2020.06.20 |
---|---|
컴퓨터 구조 21 - Cache (0) | 2020.06.20 |
컴퓨터구조 17 - SMT (0) | 2020.06.17 |
컴퓨터구조 16 - Multithreading (1) | 2020.06.17 |
컴퓨터구조 15 - SuperScalar (0) | 2020.06.17 |