해결된 질문
작성
·
368
답변 1
1
안녕하세요
하나씩 답변 드리겠습니다~
ALU나 제어장치같은 건 한 개인데 어떻게 파이프라이닝으로 1코어 2스레드를 구현하는건가요?
[빠른 CPU를 위한 설계 기법] 강의에서 설명드렸듯, 레지스터 세트가 두 개 있으면 됩니다. 가령 프로그램 카운터가 두 개 있다고 가정해보세요. 그럼 다음으로 실행할 주소를 두 군데 가리킬 수 있게 됩니다. 이를 빠르게 실행하면 두 개의 명령어가 동시에 실행되는 것과 같은 효과가 있습니다.
2스레드를 구현하려다가 인출 해석 실행 저장 중 한 가지 과정에서 ALU나 제어장치를 동시에 사용하는 경우가 발생하지 않나요?
네 그럴 수 있습니다. 그 부분에 대한 설명이 [명령어 병렬 처리 기법] 강의에서 언급해드린 파이프라인 위험, 그 중에서도 구조적 위험입니다.
https://en.wikipedia.org/wiki/Hazard_(computer_architecture)#Structural_hazards
감사합니다!! 책 사서 잘 보고있어요!