Upload
jaime-vidal-castilla
View
222
Download
1
Embed Size (px)
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