Unidade de geração de endereço - Address generation unit
A unidade de geração de endereço ( AGU ), às vezes também chamada de unidade de computação de endereço ( ACU ), é uma unidade de execução dentro de unidades de processamento central (CPUs) que calcula os endereços usados pela CPU para acessar a memória principal . Por ter os cálculos de endereço tratados por circuitos separados que operam em paralelo com o resto da CPU, o número de ciclos da CPU necessários para executar várias instruções de máquina pode ser reduzido, trazendo melhorias de desempenho.
Ao executar várias operações, as CPUs precisam calcular os endereços de memória necessários para buscar dados da memória; por exemplo, as posições na memória dos elementos do array devem ser calculadas antes que a CPU possa buscar os dados das localizações reais da memória. Esses cálculos de geração de endereço envolvem diferentes operações aritméticas de inteiros , como adição, subtração, operações de módulo ou deslocamentos de bits . Freqüentemente, o cálculo de um endereço de memória envolve mais de uma instrução de máquina de uso geral, que não necessariamente decodifica e executa rapidamente. Ao incorporar uma AGU em um design de CPU, junto com a introdução de instruções especializadas que usam a AGU, vários cálculos de geração de endereço podem ser descarregados do resto da CPU e muitas vezes podem ser executados rapidamente em um único ciclo de CPU.
Os recursos de uma AGU dependem de uma CPU específica e de sua arquitetura . Assim, alguns AGUs implementam e expõem mais operações de cálculo de endereço, enquanto alguns também incluem instruções especializadas mais avançadas que podem operar em vários operandos ao mesmo tempo. Além disso, algumas arquiteturas de CPU incluem vários AGUs, de modo que mais de uma operação de cálculo de endereço pode ser executada simultaneamente, trazendo mais melhorias de desempenho ao capitalizar sobre a natureza superescalar de designs avançados de CPU. Por exemplo, a Intel incorpora vários AGUs em suas microarquiteturas Sandy Bridge e Haswell , que aumentam a largura de banda do subsistema de memória da CPU, permitindo que várias instruções de acesso à memória sejam executadas em paralelo.
Veja também
- Unidade lógica aritmética (ALU) - um circuito digital que realiza operações aritméticas e lógicas bit a bit em números binários inteiros
- Unidade de ponto flutuante (FPU) - o mesmo que ALU, mas para números de ponto flutuante
- Unidade de carga-armazenamento
- Bulldozer (microarquitetura) - outra microarquitetura de CPU que inclui múltiplas AGUs, desenvolvida pela AMD
- Renomeação de registro - uma técnica que reutiliza os registros da CPU e evita a serialização desnecessária de operações do programa
- Estação de reserva - um recurso da CPU que permite que os resultados de várias operações sejam usados ao ignorar os registros da CPU
- Unidade de execução
Referências
links externos
- Unidade de geração de endereço na família Motorola DSP56K , junho de 2003, Motorola
- Unidade de geração de endereços em aplicativos DSP , setembro de 2013, por Andreas Ehliar
- Ciência da computação de baixo para cima, Capítulo 3. Arquitetura da computação , setembro de 2013, por Ian Wienand