코어와 하이퍼스레드 관계 질문
안녕하세요.
코어와 하이퍼스레드간의 명령어 처리개수에 대해 궁금한점이 있어서 질문드립니다.
빠른 CPU를 위한 설계기법 챕터에서 하드웨어 스레드라고 설명주신 하이퍼스레드기술이 적용된 CPU는 4코어 8스레드의 경우, 8개의 명령어를 한 번에 처리할 수 있다고 말씀을 주셨습니다.
근데 제가 기존에 알고있던 하이퍼스레드의 경우 CPU내의 다양한 유닛들 (ALU, FPU 등) 중 잉여자원이 있을시 이를 끌어다가 대신 활용하는 방식으로 알고있습니다.
즉 경우에 따라서 자원이 남아있다면 사용할 것이고 부족하다면 사용하지 못할텐데 ( 설령 자원이 있더라도 유닛의 목적과 다른 기능을 한다면 정상적인 성능을 뽑아낼지도 의문이긴 합니다. ) 이를 8개의 명령어를 처리할 수 있다고 봐도될지 궁금합니다.
질문을 좀 정리하면
제가 이해한 방식이 하이퍼스레딩, 즉 하드웨어 스레드가 맞는걸까요 ?
하이퍼 스레드가 적용된 4코어 8스레드 CPU의 경우 8개의 명령어가 아닌 '최대' 8개의 명령어까지 처리할 수 있다고 보면될까요 ?
2번 항목에 의해 8개의 명령어를 처리할 수 있다고 했을때 8코어 8스레드와 동일한 수준으로 봐도 될지 궁금합니다.
답변 1
0
음.. 단순히 '잉여자원이 남아있을시 이를 끌어다가 대신 활용하는 방식'만으로 정의하기에는 다소 부족해보입니다.
왜냐하면 하이퍼스레딩 자체가 CPU의 설계 기술이기 때문입니다
그 대표 예시로써 레지스터 세트가 두 개 이상 있는 설계를 든 것이구요.
말씀하신대로 명령어를 처리할 기반 부품이 여러 개 있다면 잉여자원이 너 많이 남아 빠르게 많은 명령어를 처리할 수는 있을 것 같습니다.
첨언하자면 말씀하신 '잉여자원이 남아있을시 이를 끌어다가 대신 활용하는 방식'은
명령어 병렬처리 기법에 조금 더 가까워보입니다.
'자원이 남아있다면 사용할 것이고 부족하다면 사용하지 못할텐데' 이 부분은 추후 학습하실 파이프라이닝 위험과 유사해보이고요 🙂
감사합니다.
17:00 부분에 ddr4 sdram은 길이 16개인듯한 ram이라고 설명했는데
0
78
1
유니코드 문자 집합
0
65
0
컴퓨터 구조의 기본 흐름
0
80
1
메모리로부터 주소버스를 통해 받아들이는 주소번지를 CPU로 가져오는 경우
0
73
1
리눅스, 윈도우, IOS 등등 대부분의 운영체제는 같은 구조로 이루어져 있나여?
0
64
1
강의에 나오는 pdf
0
150
2
슈퍼스칼라 프로세서
0
99
1
컴퓨터가 이해하는 두 가지 정보 : 데이터 쪽 질문
0
94
1
캐시 메모리
0
84
1
메모리맵 / 고립형 차이
0
190
1
마무리 - 확인 문제에 대해 질문있습니다.
0
112
1
뮤텍스 락
0
162
2
가상메모리의 필요성
0
191
1
섹션12. 입출력장치의 대기상태
0
96
1
P.301 질문
0
70
1
메모리맵 IO와 고립형 IO 차이 질문
0
133
1
강의하실 때, 보여주시는 ppt 파일 혹시 어디서 받을 수 있는건가요?
0
200
1
파일 시스템 관련 질문 있습니다.
0
111
1
페이징 관련 질문드립니다.
0
135
1
DMA 컨트롤러
0
179
1
보수랑 플래그 관련해서 질문드립니다
0
171
2
페이지
1
182
2
책에 있는 내용이 다 들어가 있나요?
0
188
1
페이지의 수
0
97
1





