CPU와 아키텍처

비순차 실행 CPU에서 사용되는 레지스터 리네이밍의 주된 목적은?

  1. A레지스터 수를 줄여 회로를 작게 한다
  2. B프로그램이 쓰는 레지스터 이름은 바꾸지 않고 물리 레지스터를 다시 할당하여 겉보기 의존(WAR, WAW)을 제거한다
  3. C레지스터 값을 암호화한다
정답과 해설 보기

정답: B. 프로그램이 쓰는 레지스터 이름은 바꾸지 않고 물리 레지스터를 다시 할당하여 겉보기 의존(WAR, WAW)을 제거한다

명령어 세트의 레지스터 수는 16~32개 정도로 한정되어 있어 같은 레지스터 이름이 재사용되고, 실제 데이터 흐름과는 무관한 의존(역의존 WAR, 출력 의존 WAW)이 생깁니다. 레지스터 리네이밍은 수백 개의 물리 레지스터를 동적으로 할당하여 쓰기마다 새로운 물리 레지스터를 사용함으로써 이를 제거하고 병렬로 실행할 수 있는 명령어를 늘립니다. 진짜 의존(RAW)은 제거할 수 없습니다.

  • A. 실제로는 명령어 세트의 레지스터보다 많은 물리 레지스터를 마련합니다.
  • B. 정답입니다. 겉보기 의존을 제거합니다.
  • C. 암호화와는 관계가 없습니다.
이 분야 연습하기 분야로 돌아가기

CPU와 아키텍처의 다른 문제

  1. AI용 가속기 등에서 다수의 곱셈-누산 연산기를 격자 모양으로 배치하고 데이터를 이웃 연산기로 차례로 흘려보내며 행렬 곱을 계산하는 구성은?
  2. 프로그램의 성능이 연산 성능과 메모리 대역폭 중 어느 쪽에 의해 제한되는지를 연산 강도(1바이트당 연산 수)를 가로축으로 하여 도시하는 모델은?
  3. CPU의 파이프라인 처리의 주된 목적으로 올바른 것은?
  4. 캐시 메모리를 두는 주된 목적으로 올바른 것은?
  5. 폰 노이만형 컴퓨터의 특징으로 올바른 것은?

이 분야의 비교