ARM Cortex-A72 Arquitectura Deep Dive

JD



El CPU Cortex-A72 de ARM añade potencia y rendimiento optimizaciones para el diseño A57 anterior. Aquí estå una mirada en profundidad a los cambios en cada etapa de la tubería, de predicción mejor rama en unidades de ejecución de nueva generación.


ARM anunció el Cortex-A72, el sucesor de gama alta con el Cortex-A57, cerca del comienzo de 2015. Durante mås de un año, los vendedores SoC han estado trabajando en la integración de la nueva base de la CPU en sus productos. Ahora que los dispositivos móviles que utilizan la A72 son inminentes, es un buen momento para hablar de lo que hace que la CPU del buque insignia de garrapata de ARM.
Con la A57, BRAZO mirĂł a ampliar el mercado de sus CPUs mĂĄs allĂĄ de los dispositivos mĂłviles y en el mercado de servidores de bajo consumo. El uso de una Ășnica arquitectura de CPU para los telĂ©fonos inteligentes y servidores suena razonable, pero de acuerdo con ARM Mike Filippo, el arquitecto principal de la A72, cargas de trabajo mĂłviles de gama alta puso mucha presiĂłn sobre los cachĂ©s, predicciĂłn de saltos, y el buffer de traducciĂłn lookaside (TLB) , que tambiĂ©n son importantes para las cargas de trabajo del servidor. Cuando la A57 parecĂ­a sesgada hacia las aplicaciones de servidor en funciĂłn de su consumo de energĂ­a, la A72 tiene un enfoque mĂĄs equilibrado y que parece ser una mejor opciĂłn para mĂłvil.
El Cortex-A72 es una evoluciĂłn del Cortex-A57; la arquitectura de lĂ­nea de base es muy similar. Sin embargo, ARM ajustado toda la tuberĂ­a para una mejor potencia y rendimiento. Tal vez la mayor debilidad de la A57 fue su relativamente alto consumo de energĂ­a, especialmente en el nodo de 20nm, lo que limitĂł severamente el rendimiento sostenido de los dispositivos mĂłviles, relegando a cortos, las cargas de trabajo a rĂĄfagas y obligando SoC utilizar los nĂșcleos de rendimiento inferiores Cortex-A53 para un uso prolongado .
 
ARM busca corregir este problema con la A72, que van y optimizaciĂłn de casi cada uno de los bloques lĂłgicos de la A57 para reducir el consumo de energĂ­a. Por ejemplo, ARM fue capaz de darse cuenta de una reducciĂłn del 35-40% en el poder dinĂĄmico para la etapa de decodificador, y mediante el uso de una etiqueta de principios bĂșsqueda IC, de 3 vĂ­as de instrucciones L1 de la A72 y 2 vĂ­as cachĂ©s de datos L1 tambiĂ©n utilizan menos energĂ­a, similar a lo que cachĂ©s mapeadas directo usarĂ­an. SegĂșn ARM, todos los cambios realizados en el resultado A72 en aproximadamente un 15% de reducciĂłn en el consumo de energĂ­a en comparaciĂłn con la A57 cuando ambos nĂșcleos estĂĄn ejecutando la misma carga de trabajo en la misma frecuencia y con el mismo proceso de 28nm. El A72 ve una reducciĂłn aĂșn mĂĄs significativa cuando se utiliza un proceso FinFET moderna, como FinFET 16nm de TSMC +, donde un nĂșcleo A72 se mantiene dentro de un sobre de potencia 750 mW a 2,5 GHz, de acuerdo con ARM.
[Fuente de la imagen: Hiroshige Goto PC reloj]  

Arquitectura general

ExtracciĂłn de instrucciĂłn

El A72 ve mejoras en el rendimiento también, a partir de un algoritmo mejorado predicción de saltos mucho. Grupo de modelado rendimiento de ARM estå actualizando continuamente las cargas de trabajo simulados alimentados al procesador, y éstas afectan el diseño del predictor rama, así como el resto de la CPU. Por ejemplo, sobre la base de estas cargas de trabajo, ARM encontró que las compensaciones de instrucción entre ramas se cierran a menudo juntos en la memoria. Esto le permitió hacer ciertas optimizaciones a su predictor dinåmico, como permite el Target Buffer Branch (BTB) para mantener en cualquier lugar de 2000 a 4000 grandes ramas pequeñas ramas.
 Debido a que el cĂłdigo del mundo real tiende a incluir muchas instrucciones de salto, predicciĂłn de saltos y ejecuciĂłn especulativa puede mejorar mucho el rendimiento, algo que por lo general no estĂĄ probado por los tests sintĂ©ticos. Mejor predicciĂłn de saltos por lo general cuesta mĂĄs poder, sin embargo, al menos en el front-end. Esto es, al menos, parcialmente compensado por un menor nĂșmero de errores de predicciĂłn, el ahorro de energĂ­a en el back-end al evitar oleadas de tuberĂ­as y ciclos de reloj desperdiciados. Otra forma de ARM es el ahorro de energĂ­a es apagando el predictor sucursal en situaciones en las que es innecesario. Hay muchos bloques, por ejemplo, en las instrucciones entre ramas son mayores que la ventana de instrucciones de 16 bytes utiliza el predictor, asĂ­ que tiene sentido para apagarlo porque el predictor, obviamente, no llegarĂĄ a una sucursal en esa secciĂłn del cĂłdigo.

Decode / Rename

El resto del front-end estĂĄ todavĂ­a en orden con un decodificador de 3 vĂ­as como la A57. Sin embargo, a diferencia de decodificador de la A57, que decodifica las instrucciones en micro-ops, la A72 decodifica instrucciones en macro-ops que pueden contener mĂșltiples micro-ops. TambiĂ©n es compatible con AArch64 instrucciĂłn-fusiĂłn en el decodificador. Estas macro-ops reciben "-finales agrietada" en mĂșltiples micro-ops a nivel de despacho, que ahora es capaz de emitir hasta cinco micro-ops, frente a los tres en la A57. ARM cita a un 1,08 micro-ops por relaciĂłn de la instrucciĂłn, en promedio, al ejecutar cĂłdigo comĂșn. La mejora de ancho de banda de front-end de la A72 ayuda a mantener las nuevas unidades de ejecuciĂłn mĂĄs baja latencia alimentados y tambiĂ©n reduce el nĂșmero de casos en los que el rendimiento cuellos de botella de front-end.


Despacho / Retirarse

Como se explicĂł anteriormente, la A72 ahora es capaz de despachar cinco micro-ops en las colas de emisiĂłn que se alimentan de las unidades de ejecuciĂłn. Las colas de emisiĂłn siguen teniendo un total de 66 micro-ops como lo hicieron en la A57 y ocho entradas para cada tuberĂ­a, excepto la cola de la unidad de ejecuciĂłn rama que tiene diez entradas. Mientras profundidad de cola es el mismo, la A72 tiene un algoritmo de balanceo de carga tema-cola mejorada que elimina algunos casos adicionales de utilizaciĂłn no coincidentes de las unidades de FP / Avanzado SIMD.
Unidad de despacho de The A72 tambiĂ©n ve ĂĄrea significativa y reducciones de potencia mediante la reorganizaciĂłn de los archivos de registro de arquitectura y especulativos. ARM tambiĂ©n redujo el nĂșmero de registro de los puertos de lectura a travĂ©s del intercambio de puerto. Esto es importante debido a que los puertos de lectura son muy sensibles al tiempo y requieren puertas mĂĄs grandes para permitir que frecuencias de nĂșcleo mĂĄs altas, lo que provoca un efecto de segundo orden a la zona y el poder empujando otros componentes mĂĄs lejos. En total, la unidad de despacho ve una reducciĂłn del 10% en un ĂĄrea sin efecto adverso en el rendimiento.

Unidades de EjecuciĂłn

Pasando a la de fondo fuera de orden, el A72 todavía puede emitir ocho micro-ops por ciclo como la A57, pero la latencia de ejecución se redujo significativamente debido a las unidades / Avanzado SIMD FP de próxima generación. Instrucciones de punto flotante ver hasta una reducción de latencia de 40% sobre el A57 (5 ciclos de 3-ciclo FMUL), y el nuevo Radix-16 FP divisor duplica el ancho de banda. Los cambios en las unidades de enteros son menos extensa, pero también hacen el cambio a un divisor Radix-16 entero (duplicando el ancho de banda sobre A57) y una unidad de CRC 1-ciclo.
 La reducciĂłn de la longitud de tuberĂ­as mejora el rendimiento al reducir la latencia directamente e indirectamente por aliviar la presiĂłn sobre la ventana fuera de orden. AsĂ­ que, aunque la memoria temporal de reordenaciĂłn de instrucciones se mantiene en 128 entradas como la A57, que ahora tiene mĂĄs oportunidad de extraer paralelismo a nivel de instrucciĂłn (ILP).
ReenvĂ­o Ampliado de ciclo cero (todo nĂșmero entero y algunas instrucciones de punto flotante) reduce aĂșn mĂĄs la latencia de ejecuciĂłn. Esta tĂ©cnica permite operaciones-dependientes, donde la salida de una instrucciĂłn es la entrada a la siguiente-a seguir directamente entre sĂ­ en la tuberĂ­a sin un perĂ­odo de espera de uno o mĂĄs de ciclo entre ellos. Esta es una optimizaciĂłn importante para la criptografĂ­a.

Load / Store

La unidad de carga / tienda también ve mejoras en el rendimiento y la potencia. Uno de los grandes cambios de A57 es un alejamiento de captadores previos L1 y L2 separadas a una prefetcher combinado mås sofisticado que obtiene tanto de la L1 y caché L2. Esto mejora el ancho de banda al tiempo que reduce el poder. Hay optimizaciones de energía adicionales a la red de oleoductos y expedición hit-L1 también.

La caché L2 ve optimizaciones significativas para cargas de trabajo mayor ancho de banda. Tareas de streaming de memoria ver el mayor beneficio, pero ARM dice de punto flotante y de enteros general de las cargas de trabajo también ven un aumento en el rendimiento. Un nuevo aumento de la política de sustitución de caché golpean bajas en la L2, que a su vez mejora el rendimiento y reduce la potencia total.
Otra optimización aumenta el paralelismo en el hardware mesa-walker para la unidad de gestión de memoria (MMU), responsable de la traducción de direcciones de memoria virtuales a direcciones físicas entre otras cosas. Junto con una L2 TLB menor latencia y mejora el rendimiento de los programas que se propagan a través de las påginas de datos de varios datos, como los navegadores web.

Pensamientos finales

En un alto nivel, la A72 se ve casi idĂ©ntica a la A57, pero en un nivel inferior hay un nĂșmero significativo de cambios a lo largo de toda la tuberĂ­a que aparecen para hacer la A72 una actualizaciĂłn decente. Los cambios mĂĄs notables afectan el rendimiento son la predicciĂłn mejorada rama, mayor ancho de banda de despacho, unidades de ejecuciĂłn menor latencia y mayor cachĂ© L2 de ancho de banda. Todas estas mejoras, y muchos mĂĄs que no discutimos aquĂ­, conducir a un mejor desempeño entre los 16 a 50% en una serie de tests sintĂ©ticos, segĂșn ARM. Mejoras de rendimiento del mundo real serĂĄn menos, por supuesto, pero A72 es sin duda una mejora con respecto a la A57, especialmente con cargas de trabajo de punto flotante.


La A72 no es una obra de teatro rendimiento puro, sin embargo. ARM estĂĄ apuntando a una eficiencia energĂ©tica mucho mayor con esta arquitectura que con cualquier anterior nĂșcleo de la CPU de gama alta. EstĂĄ claro de la larga lista de optimizaciones discutidos anteriormente que el consumo de energĂ­a reduciendo era de suma importancia; muchos de los cambios son puramente centrado en el poder sin ganancia neta de rendimiento.
La reducciĂłn de potencia y ĂĄrea de la A72-logra una reducciĂłn de la superficie del nĂșcleo 10% en general-obviamente tiene un efecto positivo en la vida de la baterĂ­a y el coste, pero tiene un efecto secundario en el rendimiento tambiĂ©n. Normalmente, lo que reduce la latencia en las unidades de ejecuciĂłn ejerce presiĂłn sobre la frecuencia del nĂșcleo alcanzable mĂĄximo debido a la mayor complejidad del circuito y estrictas ventanas de tiempo; Sin embargo, el poder y la zona de optimizaciones de la A72 en otro lugar, por no mencionar el paso a FinFET, en realidad permiten la A72 para llegar a una frecuencia ligeramente superior. La reducciĂłn de potencia tambiĂ©n reduce la carga tĂ©rmica, lo que permite un mayor rendimiento sostenido, algo que los A57 luchas con al 20nm.
El Cortex-A72 puede no ser un diseño revolucionario que catapulta por encima de la CPU de Apple Twister en el SoC A9 para un rendimiento de un solo nĂșcleo o socava la A53 en el consumo de energĂ­a, pero es una actualizaciĂłn importante, sin embargo, abordar las cuestiones de la A57 al permitir mayor pico y rendimiento sostenido durante el uso de menos energĂ­a.
 fuente "http://www.tomshardware.com"

Tags

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !