CPU와 아키텍처
비순차 실행 CPU에서 사용되는 레지스터 리네이밍의 주된 목적은?
- A레지스터 수를 줄여 회로를 작게 한다
- B프로그램이 쓰는 레지스터 이름은 바꾸지 않고 물리 레지스터를 다시 할당하여 겉보기 의존(WAR, WAW)을 제거한다
- C레지스터 값을 암호화한다
정답과 해설 보기
정답: B. 프로그램이 쓰는 레지스터 이름은 바꾸지 않고 물리 레지스터를 다시 할당하여 겉보기 의존(WAR, WAW)을 제거한다
명령어 세트의 레지스터 수는 16~32개 정도로 한정되어 있어 같은 레지스터 이름이 재사용되고, 실제 데이터 흐름과는 무관한 의존(역의존 WAR, 출력 의존 WAW)이 생깁니다. 레지스터 리네이밍은 수백 개의 물리 레지스터를 동적으로 할당하여 쓰기마다 새로운 물리 레지스터를 사용함으로써 이를 제거하고 병렬로 실행할 수 있는 명령어를 늘립니다. 진짜 의존(RAW)은 제거할 수 없습니다.
- A. 실제로는 명령어 세트의 레지스터보다 많은 물리 레지스터를 마련합니다.
- B. 정답입니다. 겉보기 의존을 제거합니다.
- C. 암호화와는 관계가 없습니다.