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

Publicar un comentario

0Comentarios
Publicar un comentario (0)

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

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