
La unidad de generación de direcciones ( AGU ), a veces también llamada unidad de cálculo de direcciones ( ACU ), [ 1 ] es una unidad de ejecución dentro de las unidades centrales de procesamiento (CPU) que calcula las direcciones que la CPU utiliza para acceder a la memoria principal . Al realizar los cálculos de direcciones mediante circuitos separados que operan en paralelo con el resto de la CPU, se puede reducir el número de ciclos de CPU necesarios para ejecutar diversas instrucciones de máquina , lo que mejora el rendimiento. [ 2 ] [ 3 ]
Al realizar diversas operaciones, las CPU necesitan calcular las direcciones de memoria necesarias para obtener datos de la memoria; por ejemplo, se deben calcular las posiciones en memoria de los elementos de un array antes de que la CPU pueda obtener los datos de las ubicaciones de memoria reales. Estos cálculos de generación de direcciones implican diferentes operaciones aritméticas de enteros , como suma, resta, operaciones de módulo o desplazamientos de bits . A menudo, el cálculo de una dirección de memoria implica más de una instrucción de máquina de propósito general, que no necesariamente se decodifican y ejecutan rápidamente. Al incorporar una AGU en el diseño de una CPU, junto con la introducción de instrucciones especializadas que utilizan la AGU, se pueden descargar varios cálculos de generación de direcciones del resto de la CPU y, a menudo, se pueden ejecutar rápidamente en un solo ciclo de CPU. [ 2 ] [ 3 ]
Las capacidades de una AGU dependen de una CPU específica y su arquitectura . Por lo tanto, algunas AGU implementan y exponen más operaciones de cálculo de direcciones, mientras que otras también incluyen instrucciones especializadas más avanzadas que pueden operar con múltiples operandos a la vez. [ 2 ] [ 3 ] Además, algunas arquitecturas de CPU incluyen múltiples AGU para que se pueda ejecutar más de una operación de cálculo de direcciones simultáneamente, lo que proporciona mejoras adicionales en el rendimiento al aprovechar la naturaleza superescalar de los diseños de CPU avanzados. Por ejemplo, Intel incorpora múltiples AGU en sus microarquitecturas Sandy Bridge y Haswell , lo que aumenta el ancho de banda del subsistema de memoria de la CPU al permitir que se ejecuten en paralelo múltiples instrucciones de acceso a memoria. [ 4 ] [ 5 ] [ 6 ]
Véase también
- Unidad aritmético-lógica (ALU) : un circuito digital que realiza operaciones aritméticas y lógicas bit a bit en números binarios enteros.
- Unidad de punto flotante (FPU) : es lo mismo que la ALU, pero para números de punto flotante.
- Unidad de carga y almacenamiento
- Bulldozer (microarquitectura) : otra microarquitectura de CPU que incluye múltiples AGU, desarrollada por AMD.
- Renombrado de registros : una técnica que reutiliza los registros de la CPU y evita la serialización innecesaria de las operaciones del programa.
- Estación de reserva : una función de la CPU que permite utilizar los resultados de diversas operaciones sin pasar por los registros de la CPU.
- Unidad de ejecución
Referencias
- ↑ Cornelis Van Berkel; Patrick Meuwissen (12 de enero de 2006). "Unidad de generación de direcciones para un procesador (solicitud de patente estadounidense 2006010255 A1)" . google.com . Consultado el 8 de diciembre de 2014 .
- 1 2 3 "Capítulo 4: Unidad de generación de direcciones (Manual de la familia DSP56300)" (PDF) . ecee.colorado.edu . 16 de septiembre de 1999. Archivado del original (PDF) el 29 de marzo de 2018. Recuperado el 8 de diciembre de 2014 .
- 1 2 3 Darek Mihocka (27 de diciembre de 2000). "Pentium 4: Ronda 1: Intel pierde la ventaja" . emulators.com . Consultado el 8 de diciembre de 2014 .
- ↑ David Kanter (25 de septiembre de 2010). "Microarquitectura Sandy Bridge de Intel: subsistema de memoria" . realworldtech.com . Consultado el 8 de diciembre de 2014 .
- ↑ David Kanter (13 de noviembre de 2012). "Microarquitectura de la CPU Haswell de Intel: jerarquía de memoria Haswell" . realworldtech.com . Consultado el 8 de diciembre de 2014 .
- ↑ Per Hammarlund (agosto de 2013). "Procesador Intel Core de cuarta generación, con nombre en clave Haswell" (PDF) . hotchips.org . pág. 25. Archivado del original (PDF) el 5 de julio de 2016. Consultado el 8 de diciembre de 2014 .
Enlaces externos
- Unidad de generación de direcciones en la familia Motorola DSP56K. Archivado el 4 de marzo de 2016 en Wayback Machine , junio de 2003, Motorola.
- Unidad de generación de direcciones en aplicaciones DSP , septiembre de 2013, por Andreas Ehliar
- Informática desde la base, Capítulo 3. Arquitectura de computadoras , septiembre de 2013, por Ian Wienand
- unidad central de procesamiento
- Procesamiento de instrucciones