주소 생성 장치

주소 생성 장치(Address generation unit, AGU) 또는 주소 계산 장치(address computation unit, ACU)는 중앙 처리 장치 (CPU) 내부의 실행 장치로, CPU가 주 기억 장치에 접근하는 데 사용하는 메모리 주소를 계산한다. 주소 계산을 CPU의 나머지 부분과 병렬로 작동하는 별도의 회로가 처리하도록 함으로써, 다양한 기계어 명령을 실행하는 데 필요한 CPU 주기 수를 줄여 성능 향상을 가져올 수 있다.

다양한 연산을 수행하는 동안 CPU는 메모리에서 데이터를 가져오는 데 필요한 메모리 주소를 계산해야 한다. 예를 들어, CPU가 실제 메모리 위치에서 데이터를 가져오기 전에 배열 요소의 메모리 내 위치를 계산해야 한다. 이러한 주소 생성 계산에는 덧셈, 뺄셈, 모듈러 연산, 비트 시프트와 같은 다양한 정수 연산이 포함된다. 종종 메모리 주소를 계산하는 데는 하나 이상의 범용 기계어 명령이 필요하며, 이는 빠르게 디코딩하고 실행되지 않을 수 있다. CPU 설계에 AGU를 통합하고 AGU를 사용하는 특수 명령을 도입함으로써 다양한 주소 생성 계산을 CPU의 나머지 부분에서 분담할 수 있으며 종종 단일 CPU 주기 내에 빠르게 실행할 수 있다.

AGU의 기능은 특정 CPU 및 아키텍처에 따라 달라진다. 따라서 일부 AGU는 더 많은 주소 계산 연산을 구현하고 노출하는 반면, 일부는 한 번에 여러 피연산자에 대해 작동할 수 있는 더 발전된 특수 명령도 포함한다. 또한 일부 CPU 아키텍처는 여러 AGU를 포함하여 둘 이상의 주소 계산 연산이 동시에 실행될 수 있도록 하여 고급 CPU 설계의 슈퍼스칼라 특성을 활용하여 성능을 더욱 향상시킨다. 예를 들어, 인텔은 샌디브리지 및 하스웰 마이크로아키텍처에 여러 AGU를 통합하여 여러 메모리 액세스 명령이 병렬로 실행될 수 있도록 함으로써 CPU 메모리 하위 시스템의 대역폭을 증가시킨다.

 같이 보기 
 산술 논리 장치 (ALU) 정수 이진수에 대한 산술 및 비트 논리 연산을 수행하는 디지털 회로
 부동소수점 장치 (FPU) ALU와 같으나 부동소수점 수에 대해 사용된다.
 로드-스토어 장치
 불도저 (마이크로아키텍처) AMD가 개발한 또 다른 CPU 마이크로아키텍처로 여러 AGU를 포함한다.
 레지스터 이름 변경 CPU 레지스터를 재사용하고 프로그램 연산의 불필요한 직렬화를 방지하는 기술
 예약국 CPU 레지스터를 우회하면서 다양한 연산 결과를 사용할 수 있도록 하는 CPU 기능
 실행 장치

 각주 

 외부 링크 

 Address generation unit in the Motorola DSP56K family, June 2003, Motorola
 Address generation unit in DSP applications, September 2013, by Andreas Ehliar
 Computer Science from the Bottom Up, Chapter 3. Computer Architecture, September 2013, by Ian Wienand

분류:중앙 처리 장치
분류:명령어 처리