12
Arquitectura ARM Marco Antonio Ruano Muñoz

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

Embed Size (px)

Citation preview

Page 1: 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

Arquitectura ARM

Marco Antonio Ruano Muñoz

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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.

Page 5: 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

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

Page 6: 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

Secuencia de excepciones del procesador

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

Page 7: 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

”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

Page 8: 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

EJEMPLO

Page 9: 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
Page 10: 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

Procedimiento para el manejo de excepciones

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

Page 11: 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

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).

Page 12: 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

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