레지스터 이름 변경 또는 레지스터 리네이밍(register renaming)은 컴퓨터 아키텍처에서 물리적 레지스터에서 논리적 레지스터를 추상화하는 기술이다. 모든 논리적 레지스터에는 이와 연관된 일련의 물리적 레지스터가 있다. 기계 명령어가 특정 논리 레지스터를 참조하면 프로세서는 이 이름을 즉시 하나의 특정 물리적 레지스터로 바꾼다. 물리적 레지스터는 불투명하며 직접 참조할 수 없고 정식 이름을 통해서만 참조할 수 있다.
이 기술은 레지스터 사이에 실제 데이터 의존성이 없는 연속 명령어에 의한 레지스터 재사용으로 인해 발생하는 잘못된 데이터 종속성을 제거하는 데 사용된다. 이러한 잘못된 데이터 종속성을 제거하면 명령 스트림에서 더 많은 명령 수준 병렬성이 드러난다. 이는 더 나은 성능을 위해 수퍼스칼라 및 비순차 실행과 같은 다양하고 보완적인 기술을 통해 활용할 수 있다.
출처