Arquitectura ARM Marco Antonio Ruano Muñoz. Dilema “Para hacer que cada núcleo del procesador...

Preview:

Citation preview

Arquitectura ARM

Marco Antonio Ruano Muñoz

Dilema

“Para hacer que cada núcleo del procesador actúe más rápido, necesita aumentar su tamaño para contener más unidades de ejecución, decodificador de instrucciones, memoria cache, etc… Pero mientras el que el procesador aumenta de tamaño, invariablemente contienen más transistores y requieren más poder para mantener o cambiar de estado.” 1

Presente en el 95% de smartphones 2

• Big Little - Octubre 2011• El planificador de procesos verifica la carga de

trabajo de cada hilo y determina que procesador debe ejecutarlo

big.LITTLE

Procesadores grandes de alto rendimiento (que dan un alto rendimiento y respuesta cuando son necesitados), con pequeños procesadores de alta eficiencia (que consumen poca energía y actúan el 95% del tiempo)

Para asegurar que cada proceso se ejecute con el procesador adecuado, el sistema operativo tiene que estar pendiente de los requerimientos, por lo que analiza cada hilo.

Excepciones

• Interrupciones: Proveen la habilidad para un dispositivo, como un temporizador o una interfaz USB, de comunicarse con el procesador y anunciar que requieren atención.

• Condiciones de error

Técnicamente cualquier cosa que rompa el flujo normal de un programa puede ser considerado una excepción

Secuencia de excepciones del procesador

En todos los casos, excepto en una excepción de reinicio, la instrucción actual tiene permitido terminar.

”Tenemos una licencia de arquitectura ARM. Pero no tenemos intención de usarla para desarrollar chips. No hay ninguna ventaja, porque seríamos

dependientes de alguien más. Además, les pagaríamos ‘royalties’ a ellos y nuestros beneficios totales se reducirían. Creo que podemos hacerlo mejor.”3

EJEMPLO

Procedimiento para el manejo de excepciones

• Excepcione de reinicio• Instrucciones indefinidas• Interrupciones• Abortos• Interrupciones de software

Ok, suena bien. ¡¿Cómo funciona?!*Automáticamente maneja la locación que se le asignara a cada tarea para el CPU apropiado (sin importar el hardware).*Cuenta con un administrador de tareas global, en cual, el Sistema operativo está al pendiente de los núcleos de alto rendimiento y los de alta eficiencia, y puede dinámicamente alojar cada tarea en estos basado en su desempeño requerido.*El software usa un historial de carga para mantener un rastro de previas demandas de desempeño, y un localizador de carga dinámico que se adapta al rendimiento actual que puede diferir con el histórico.*Este software reacciona rápidamente a cambios en la carga, y puede mover el trabajo a los núcleos de cada procesador en menos tiempo que la transición de estado del DVFS (voltaje y frecuencia) o que el balanceo de carga del SMP (multiprocesamiento simétrico).

Créditos• 1http://www.ubergizmo.com/2013/01/what-is-arm-big-little/• https://fullcargarecargas.files.wordpress.com/2012/05/batt1.jpg• https://www.youtube.com/watch?

v=KClygZtp8mA&index=14&list=WL2https://www.arm.com/files/pdf/ARM_Qualcomm_White_paper_Final.pdf

• https://www.arm.com/products/processors/technologies/biglittleprocessing.php

• http://brainworldmagazine.com/wp-content/uploads/2011/12/03.GRAPHIC-OF-MAN-WITH-CELL-PHONE-HEAD-.jpg

• 3 http://www.tgdaily.com/hardware-features/56009-intel-adopts-power-conscious-strategy-to-counter-arm