PDA

Ver la Versión Completa : [ ARTICULO ] ARM big.Little en Exynos 5 Octa. Explicación sencilla de como es y como funciona!


giru
01/04/13, 11:51:34
Big.Little es un diseño presentado por ARM en Octubre de 2011 donde se combinan núcleos de gran eficiencia energéticas como son los A7 junto a núcleos con gran capacidad de procesamiento como son los A15. Cada núcleo A7 es emparejado con un núcleo A15 formando una especie de "núcleo virtual" donde sólo uno de los dos puede estar funcionando en un momento determinado. Está combinación promete ahorrar hasta un 70% respecto al uso único de CPUs A15. La idea es adaptar las combinaciones de ambos tipos a la necesidad real de procesamiento permitiendo conmutar de un tipo a otro de forma rápida y eficiente.
Samsung licenció este diseño a ARM y presentó un SOC que usa la arquitectura big.Little, su nombre comercial es Exynos 5 Octa 5410.

http://i.imgur.com/Hc0rBtc.jpghttp://i49.tinypic.com/212g8ow.jpghttp://i.imgur.com/LeO7sR9.png


¿De que tipo son los 8 núcleos?
El conjunto se compone de 4 núcleos Cortex A7 (eficiencia energética) + 4 núcleos Cortex A15 (gran potencia de procesamiento)

¿Cuando están funcionando los cores A7 es imposible usar los A15 o viceversa?
No, es posible estar usando al mismo tiempo cores de ambas clases pero nunca más de 4 en total de forma simultánea

¿Quien determina y como se realiza el cambio de A7 a A15?
En esencia la aplicación pide un uso y una prioridad, el sistema (kernel) se la concede, y es el kernel el cual tiene soporte para este procesador y esta tecnología, quien a través del hardware disponible, decide el manejo... Es igual que el tema de subir bajar frecuencias, deepspeed... Todo desiciones del kernel, al igual que el overclock.
Imagino que es algo que se irá puliendo con el tiempo y los nuevos kernels, es posible que de primeras "no sepa" que el TW necesite 4 cortex A7 en vez de 3 cortex A7 + 1 A15
Lo que sí es verdad que me contraría, es que el manejo de al activación de "todos los cores" se pueda o no... Sería estúpido pero no se si depende del kernel ya que el hardware está definido para que no puedan estar encendidos dos cores con el mismo nombre...



Esquema simbólico usando concepto de núcleos virtuales**:

http://i46.tinypic.com/343gnx1.png
** El término "Núcleo virtual" se usa para hacer sencilla la explicación. No existe en la realidad tal agrupación física, es sólo un concepto para explicar que cada núcleo A7 está relacionado con un núcleo en concreto de los A15 y viceversa.
Dentro de cada núcleo virtual sólo puede estar en funcionamiento uno de sus núcleos, el A7 o el A15 pero nunca los 2 a la vez.





Un ejemplo de funcionamiento usando concepto de núcleos virtuales:

http://i45.tinypic.com/fllfgn.png


Un ejemplo de funcionamiento usando esquema de clusters:

http://img687.imageshack.us/img687/7187/digitaldesignfig3.jpg

+Info XDA http://forum.xda-developers.com/showthread.php?t=2191850 Wikipedia http://en.wikipedia.org/wiki/Big.LITTLE

giru
01/04/13, 11:54:34
Ante las dudas que se leen sobre está arquitectura espero que entre todos dejemos el tema lo más aclarado posible.

JacksSsS
01/04/13, 12:25:45
Ante las dudas y burradas que se leen sobre está arquitectura espero que entre todos dejemos el tema lo más aclarado posible.

Perdón pero si quieres hablar con propiedad, no digas que big.LITTLE es arquitectura de nada... La arquitectura es RISC de 32bits, más extendida y conocida en los dispositivos móviles como ARM... big.LITTLE es un "proceso de computación" aplicado a un SoC que en este caso es A15...

Sintaxis:

Arquitectura RISK --> ARM
SoC Cortex A15 (SoC es el conjunto de chip que tiene el zócalo, léase GPU, comunicaciones, CPU...)
big.LITTLE --> instrucciones o tecnología, aplicada a la arquitectura de ARM...

Cómo dices para que no digan burradas en tu último párrafo, y tu primer párrafo empieza con esa burrada xD

Ahora vas y lo cascas giru xD

PD: tendría que informarme más pero dudo que el funcionamiento que pones de bigLITTLE sea exactamente así como lo dibujoas, a mí no me queda del todo claro... Seguiremos informando

giru
01/04/13, 12:28:25
Perdón pero si quieres hablar con propiedad, no digas que big.LITTLE es arquitectura de nada... La arquitectura es RISC de 32bits, más extendida y conocida en los dispositivos móviles como ARM... big.LITTLE es un "proceso de computación" aplicado a un SoC que en este caso es A15...

Sintaxis:

Arquitectura RISK --> ARM
SoC Cortex A15 (SoC es el conjunto de chip que tiene el zócalo, léase GPU, comunicaciones, CPU...)
big.LITTLE --> instrucciones o tecnología, aplicada a la arquitectura de ARM...

Cómo dices para que no digan burradas en tu último párrafo, y tu primer párrafo empieza con esa burrada xD

Ahora vas y lo cascas giru xD

PD: tendría que informarme más pero dudo que el funcionamiento que pones de bigLITTLE sea exactamente así como lo dibujoas, a mí no me queda del todo claro... Seguiremos informando
jajaja puntilloso pero se le puede llamar arquitectura porque define el diseño a nivel de chip, tu hablas de nivel de instrucciones y se dice RISC ..... puntilloso :grin:
El esquema está sacado de lo visto en wiki, xda, etc

PD:
y otra, SOC es sistema en chip traducido, engloba todo(CPU,GPU,etc) mientras que la denominación A15 define el diseño de CPU :P

JacksSsS
01/04/13, 12:31:55
jajaja puntilloso pero se le puede llamar arquitectura porque define el diseño a nivel de chip, tu hablas de nivel de instrucciones y se dice RISC ..... puntilloso :grin:
El esquema está sacado de lo visto en wiki, xda, etc

Bueno aceptamos barco para los profanos como "arquitectura" big.LITTLE pero en esencia no lo es :)... Es cuando dicen diferencia entre la arquitectura Core2Duo y Core ix... Señores la arquitectura es la misma la es decir x86-64ext... Lo que cambia es la disposición en el encapsulado...

No sabes hablar con propiedad, a mí como ingeniero me duele jajajaja

giru
01/04/13, 12:36:35
Bueno aceptamos barco para los profanos como "arquitectura" big.LITTLE pero en esencia no lo es :)... Es cuando dicen diferencia entre la arquitectura Core2Duo y Core ix... Señores la arquitectura es la misma la es decir x86-64ext... Lo que cambia es la disposición en el encapsulado...

No sabes hablar con propiedad, a mí como ingeniero me duele jajajaja

Core2Duo es muy mal ejemplo ya que es una denominación casí exclusivamente comercial, sigo opinando que llamarle arquitectura big.little está bien dicho. Palabra de ingeniero :P

JacksSsS
01/04/13, 12:39:46
j

PD:
y otra, SOC es sistema en chip traducido, engloba todo mientras que la denominación A15 define la CPU :P

No inventes SoC Cortex A15 es que el zócalo tiene X conexiones, X GPU y una CPU Cortex A15 xD

SoC Cortex A15 (De un Nexus 10)

http://cdn.arstechnica.net/wp-content/uploads/2012/08/Exynos5dual-block-diagram.jpeg

Cortex A15 como CPU

http://www.arm.com/images/Cortex_A15_large.png

oXUnknownXo
01/04/13, 12:40:43
Madre mía que dos :risitas:

JacksSsS
01/04/13, 12:41:19
Core2Duo es muy mal ejemplo ya que es una denominación casí exclusivamente comercial, sigo opinando que llamarle arquitectura big.little está bien dicho. Palabra de ingeniero :P

Me es indiferente te puedo decir AMD X2 y Intel Core i7, los dos tienen exactamente la misma arquitectura, lo que cambia es el encapsulado... Tu palabra de ingeniero es de no terminar la carrera jajajaja

JacksSsS
01/04/13, 12:42:00
Madre mía que dos :risitas:

oXUnknownXo giru está pidiendo una paliza a gritos xD

giru
01/04/13, 12:44:31
No inventes SoC Cortex A15 es que el zócalo tiene X conexiones, X GPU y una CPU Cortex A15 xD

SoC Cortex A15 (De un Nexus 10)

http://cdn.arstechnica.net/wp-content/uploads/2012/08/Exynos5dual-block-diagram.jpeg

Cortex A15 como CPU

http://www.arm.com/images/Cortex_A15_large.png

Primero lee, ya te dije que SOC engloba todo. Si lleva una CPU A9 le llamamos SOC A9 si quieres o si lleva una CPU A15 pues SOC A15. Pero A15 como denominación se aplica a la CPU y permite distinguirlo de otros tipos de núcleos como los Krait x ej :lengua:

A JacksSsS siempre le pone discutir :grin: Haz de buen becario y tráeme un café :-)

JacksSsS
01/04/13, 12:47:39
Primero lee, ya te dije que SOC engloba todo. Si lleva una CPU A9 le llamamos SOC A9 si quieres o si lleva una CPU A15 pues SOC A15. Pero A15 como denominación se aplica a la CPU y permite distinguirlo de otros tipos de núcleos como los Krait x ej :lengua:

Dios que paliza tienes... SoC Cortex A15 SoC Cortex A9 SoC SnapDragon 800 (Krait 400) Me la bufa!!!!!! Es que no entiendes lo que te digo!!! O mejor para que tú lo entiendas SoC son todos xD

Ah, y dígnate en poner un dibujo de la "arquitectura" fiel a la realidad... No gano contigo para clases xD

http://www.geek.com/wp-content/uploads/2011/10/cortex_A7_01.jpg

JacksSsS
01/04/13, 12:48:14
A JacksSsS siempre le pone discutir :grin:

Estoy palote ahora mismo xD

giru
01/04/13, 12:50:05
Dios que paliza tienes... SoC Cortex A15 SoC Cortex A9 SoC SnapDragon 800 (Krait 400) Me la bufa!!!!!! Es que no entiendes lo que te digo!!! O mejor para que tú lo entiendas SoC son todos xD

Ah, y dígnate en poner un dibujo de la "arquitectura" fiel a la realidad... No gano contigo para clases xD

http://www.geek.com/wp-content/uploads/2011/10/cortex_A7_01.jpg

jajajja cabronazo se trata de hacerlo simple, eso no lo entiendes ni tu :P buscar imágenes en la web de ARM es fácil, haznos un esquema a paint :grin:

PD: Dejamos el hilo bonito ..... xDD
PD2: Se dice Cortex A15, habla con propiedad :P y lo que yo decía, denomina a la CPU http://en.wikipedia.org/wiki/ARM_Cortex-A15_MPCore
Mira como distinguen entre lo que es un Cortex A15 y los SOCs que lo implementan .... X-D

JacksSsS
01/04/13, 12:55:58
jajajja cabronazo se trata de hacerlo simple, eso no lo entiendes ni tu :P buscar imágenes en la web de ARM es fácil, haznos un esquema a paint :grin:

Que no lo entiendo? Quieres que te lo explique? xD Que yo haga un esquema de la "arquitectura", listo vas, pagaos una carrera y un master jajajajajaja

Más dibujos para tí, no la mierda que has puesto echa con el paint xD xD xD y este si es entendible fuera ya de coña :)

Cómo van conectados físicamente las CPUs

http://img339.imageshack.us/img339/913/digitaldesignfig1.jpg

"Clúster" de funcionamiento lógico

http://img850.imageshack.us/img850/3298/digitaldesignfig2.jpg
Funcionamiento (como tú lo has puesto en tú primera página pero con el modelo y la d istribuación correcta)

http://img687.imageshack.us/img687/7187/digitaldesignfig3.jpg

Es que según has puesto tu dibujo, que en esencia no está mal, parece que tienes un SoC rectangular de 60 centímetros xD respeta los cuadrados hombre...

Para el que quiera leer... http://www.newelectronics.co.uk/electronics-technology/arms-big-little-systems-provide-more-processing-power-for-less-energy/43563/

verdipio
01/04/13, 13:00:47
Joder xD

giru
01/04/13, 13:03:11
Que no lo entiendo? Quieres que te lo explique? xD Que yo haga un esquema de la "arquitectura", listo vas, pagaos una carrera y un master jajajajajaja

Más dibujos para tí, no la mierda que has puesto echa con el paint xD xD xD y este si es entendible fuera ya de coña :)

Cómo van conectados físicamente las CPUs

http://img339.imageshack.us/img339/913/digitaldesignfig1.jpg

"Clúster" de funcionamiento lógico

http://img850.imageshack.us/img850/3298/digitaldesignfig2.jpg
Funcionamiento (como tú lo has puesto en tú primera página pero con el modelo y la d istribuación correcta)

http://img687.imageshack.us/img687/7187/digitaldesignfig3.jpg

Es que según has puesto tu dibujo, que en esencia no está mal, parece que tienes un SoC rectangular de 60 centímetros xD respeta los cuadrados hombre...

Para el que quiera leer... http://www.newelectronics.co.uk/electronics-technology/arms-big-little-systems-provide-more-processing-power-for-less-energy/43563/

jajajajaj que sigue sin valerme, quiero ver tu dominio del paint. Ahora en serio, mis representaciones son más de carácter simbólico para hacer fácil pillar la idea. Ya se que la distribución en el chip no es así, de echo hace tiempo que circulla una foto del Exynos 5 Octa donde marcan la zona de los A15 y la zona de los A7 donde van ubicados en el SOC. Yo lo hice así porque es fácil de ver la correspondencia entre ambos tipos de núcleos que como supongo que verías cada A7 está relacionado con un A15 y cada par viene formando lo que se denominaría core virtual. No se trata de enseñar lo que es big.little a nivel de 5º de ingeniería, se trata de hacerlo sencillo. Enga puntilloso hazme un esquema para toda la familia si quieres, pero deja la web de ARM tranquila :risitas::risitas:

Edito:
A esta me refería:
http://i.imgur.com/Hc0rBtc.jpg

JacksSsS
01/04/13, 13:09:58
jajajajaj que sigue sin valerme, quiero ver tu dominio del paint. Ahora en serio, mis representaciones son más de carácter simbólico para hacer fácil pillar la idea. Ya se que la distribución en el chip no es así, de echo hace tiempo que circulla una foto del Exynos 5 Octa donde marcan la zona de los A15 y la zona de los A7 donde van ubicados en el SOC. Yo lo hice así porque es fácil de ver la correspondencia entre ambos tipos de núcleos que como supongo que verías cada A7 está relacionado con un A15 y cada par viene formando lo que se denominaría core virtual. No se trata de enseñar lo que es big.little a nivel de 5º de ingeniería, se trata de hacerlo sencillo. Enga puntilloso hazme un esquema para toda la familia si quieres, pero deja la web de ARM tranquila :risitas::risitas:

Que va, precisamente no he sacado nada de ARM... Los dibujos de ARM son ridículos y parecen presentaciones de powerpoint xD...

Está bien eso que has puesto para gente que no tenga idea en general, es claro aunque irreal en formas :) yo es que tengo no se si la buena o mala costumbre de cuando me leo algo o me esudio algo, empiezo desde el fondo hasta el final... Si tengo que leerme la "arquitectura" bigLITTLE no me quedo en un esquema de este tipo (no me refiero al tuyo si no en general)... Me gusta enterarme de como funciona el intercambio de caché, los switch de interrupciones, repartición del zócalo y de CPU... Será de formación profesional oiga, yo que quiere que le diga :grin::grin::grin:

PD: para aquellos que hayan leído en las cabeceras eso de GIC-400 (Generic Interrupt Controller bla bla) y no sepan qué es... Este sí es de ARM y da pereza xD http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0471b/index.html

giru
01/04/13, 13:14:36
Que va, precisamente no he sacado nada de ARM... Los dibujos de ARM son ridículos y parecen presentaciones de powerpoint xD...

Está bien eso que has puesto para gente que no tenga idea en general, es claro aunque irreal en formas :) yo es que tengo no se si la buena o mala costumbre de cuando me leo algo o me esudio algo, empiezo desde el fondo hasta el final... Si tengo que leerme la "arquitectura" bigLITTLE no me quedo en un esquema de este tipo (no me refiero al tuyo si no en general)... Me gusta enterarme de como funciona el intercambio de caché, los switch de interrupciones, repartición del zócalo y de CPU... Será de formación profesional oiga, yo que quiere que le diga :grin::grin::grin:

PD: para aquellos que hayan leído en las cabeceras eso de GIC-400 (Generic Interrupt Controller bla bla) y no sepan qué es... Este sí es de ARM y da pereza xD http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0471b/index.html

Ya pero para hacer eso en lugar de un post necesitaríamos hacer un libro xDDD Aer para gente que le gusta aprender desde el fondo no va dedicado, en realidad lo hice al ver esta mañana como alguien llamaba a los A7 quad core antiguo ..... :risitas::risitas: y otras lindezas que se vieron estas últimas semanas

Vmarkina
01/04/13, 13:17:32
Yo no entiendo nada de esto, pero al menos pensaba por lo que decían las webs que se alternaban los 4 núcleos A15 y los 4 núcleos A7 y veo que no es así, que se alternan de forma individual (aunque a cada A15 le corresponde concretamente un A7, no cualquiera de los A7), pero siempre 4 activos.
En fin, estudio física y lo que menos me interesa es electrónica, pero mola leeros:rolleyes:

JacksSsS
01/04/13, 13:20:26
Ya pero para hacer eso en lugar de un post necesitaríamos hacer un libro xDDD Aer para gente que le gusta aprender desde el fondo no va dedicado, en realidad lo hice al ver esta mañana como alguien llamaba a los A7 quad core antiguo ..... :risitas::risitas: y otras lindezas que se vieron estas últimas semanas

En vista a que la arquitectura está compuesta por dos "cluster" es decir 4xA15 y 4xA7... Esto no tiene sentido alguino:

PD: Dentro de cada núcleo virtual solo puede estar en funcionamiento uno de sus núcleos, el A7 o el A15 pero nunca los 2 a la vez.

Los corees están repartidos en 2 clúster no en 4 núcleos virtuales, no se de donde sale eso... Lo que nunca podrás es tener más de 4 cores en funcionamiento, pero tal y como expone la imagen que te he puesto, en bajo trabajo tendrás los 4 cores A7 del clúster A7 encendido y el otro clúster apagado, así como cuando se mepieza a llenar de carga de curro, se "enciende" un A15 y se apaga un A7 y así en progresión si el trabajo llega a requerirlo...

giru
01/04/13, 13:21:37
Yo no entiendo nada de esto, pero al menos pensaba por lo que decían las webs que se alternaban los 4 núcleos A15 y los 4 núcleos A7 y veo que no es así, que se alternan de forma individual (aunque a cada A15 le corresponde concretamente un A7, no cualquiera de los A7), pero siempre 4 activos.
En fin, estudio física y lo que menos me interesa es electrónica, pero mola leeros:rolleyes:

Bueno el mensaje va llegando :ok:
Hoy se pasaron pocos haters por este subforo por eso JacksSsS anda con el mono de discutir X-D

giru
01/04/13, 13:26:09
En vista a que la arquitectura está compuesta por dos "cluster" es decir 4xA15 y 4xA7... Esto no tiene sentido alguino:

PD: Dentro de cada núcleo virtual solo puede estar en funcionamiento uno de sus núcleos, el A7 o el A15 pero nunca los 2 a la vez.

Los corees están repartidos en 2 clúster no en 4 núcleos virtuales, no se de donde sale eso... Lo que nunca podrás es tener más de 4 cores en funcionamiento, pero tal y como expone la imagen que te he puesto, en bajo trabajo tendrás los 4 cores A7 del clúster A7 encendido y el otro clúster apagado, así como cuando se mepieza a llenar de carga de curro, se "enciende" un A15 y se apaga un A7 y así en progresión si el trabajo llega a requerirlo...

Lo de core virtual es para agrupar la idea de la correspondencia de que cada core A7 está relacionado con uno A15. Pasate por XDA, explican bien ese tema y tb ponen que de cada par relacionados solo puede funcionar uno de ellos. Por ejemplo en los esquemas que pusiste relaciona cada A7 con un A15 y verás que solo uno de cada par funciona. Es lo mismo

There are several ways for the different processor cores to be arranged. The simplest involves pairing up a 'big' core with a 'little' core, with possibly many identical pairs in one chip. Each pair operate as one virtual core and only one real core is (fully) powered up and running at a time. The 'big' core is used when demand is high, the 'little' core when demand is low. When demand on the virtual core changes (between high and low), the other real core is powered up, running state is transferred, the first core is shut down, and processing continues on the new core.

JacksSsS
01/04/13, 13:33:57
La idea de core virtual es para agrupar la idea de la correspondencia de que cada core A7 está relacionado con uno A15. Pasate por XDA, explican bien ese tema y tb ponen que de cada par relacionados solo puede funcionar uno de ellos.

Buenas, si vamos a ver, lo que cuentas en esencia está bien, lo que está mal es el esquema y lo de los núcleos virtuales, si fuera tal cual lo pintas, el SO entendería que tenemos 4 núcleos virtuales compuestos por dos físicos y eso no es así...

El dibujo que puse es muy ilustrativo:

http://img687.imageshack.us/img687/7187/digitaldesignfig3.jpg

- Tienes dos "clústers" donde agrupas en uno el Quad A15 y en otro el Quad A7
- No puedes tener swicheados más de 4 cores es decir 2xA15 + 3xA7 no es permitido.
- Aquí lo que tú expones: Cada CPU de las 8, tiene un número CPU0 1 2... Lo que hace hablando mal y pronto, que CPUs con el mismo nombre no puedan estar a la vez en uso: CPU0 A15 no puede estar a la vez que CPU0 A7...
- Cuando hay poca carga, los 4 A7 están activos...
- Cuando empieza la carga de trabajo, desactiva CPU0 A7 y activa CPU0 A15 y así sucesivamente...
- Por tanto el esquema que tú pones tendría que ser en cuadrícula como esta y con dos clúster no con 4 núcleos virtuales...

Creo que está más claro lo que te quiero decir ahora, no?

dpedalv
01/04/13, 13:34:05
Quien decide si una aplicación necesita potencia de cálculo?
O es un algoritmo del tipo "empieza en el A7, si no ha finalizado tras x milisegundos la pasamos al A15 hasta que finalice"

JacksSsS
01/04/13, 13:38:06
Quien decide si una aplicación necesita potencia de cálculo?
O es un algoritmo del tipo "empieza en el A7, si no ha finalizado tras x milisegundos la pasamos al A15 hasta que finalice"

La carga de CPU la determina principalmente los recursos de CPU que necesite una aplicación... Muchas aplicaciones mal programadas por ejemplo, pueden hacer que tenga un consumo excesivo de CPU además de imnecesario... Creo recordar que la app de LINE precisamente hacía eso, consumía o más bien pedía uso y prioridad de CPU cuando no la necesitaba y de ahí a chupar batería

giru
01/04/13, 13:39:40
Buenas, si vamos a ver, lo que cuentas en esencia está bien, lo que está mal es el esquema y lo de los núcleos virtuales, si fuera tal cual lo pintas, el SO entendería que tenemos 4 núcleos virtuales compuestos por dos físicos y eso no es así...

El dibujo que puse es muy ilustrativo:

http://img687.imageshack.us/img687/7187/digitaldesignfig3.jpg

- Tienes dos "clústers" donde agrupas en uno el Quad A15 y en otro el Quad A7
- No puedes tener swicheados más de 4 cores es decir 2xA15 + 3xA7 no es permitido.
- Aquí lo que tú expones: Cada CPU de las 8, tiene un número CPU0 1 2... Lo que hace hablando mal y pronto, que CPUs con el mismo nombre no puedan estar a la vez en uso: CPU0 A15 no puede estar a la vez que CPU0 A7...
- Cuando hay poca carga, los 4 A7 están activos...
- Cuando empieza la carga de trabajo, desactiva CPU0 A7 y activa CPU0 A15 y así sucesivamente...
- Por tanto el esquema que tú pones tendría que ser en cuadrícula como esta y con dos clúster no con 4 núcleos virtuales...

Creo que está más claro lo que te quiero decir ahora, no?
Núcleo virtual déjalo como idea, no te ralles más xDD Tu lo describes usando 2 clusters de 4 cores y yo usando 4 cores virtuales de 2 cores físicos cada uno.

Quien decide si una aplicación necesita potencia de cálculo?
O es un algoritmo del tipo "empieza en el A7, si no ha finalizado tras x milisegundos la pasamos al A15 hasta que finalice"

Scheduling

The paired arrangement allows for switching to be done transparently to the operating system using the existing dynamic voltage and frequency switching (DVFS) facility. The existing DVFS support in the kernel (e.g. cpufreq in Linux) will simply see a list of frequencies/voltages and will switch between them as it sees fit, just like it does on existing hardware. However, the low-end slots will activate the 'little' core and the high-end slots will activate the 'big' core.
Alternatively, all cores may be exposed to the kernel scheduler, which will decide where each process/thread is executed. This will be required for the non-paired arrangement but could possibly also be used on paired cores. It poses unique problems for the kernel scheduler, which, at least with modern commodity hardware, has been able to assume all cores in a SMP system are equal.

dpedalv
01/04/13, 13:41:18
La carga de CPU la determina principalmente los recursos de CPU que necesite una aplicación... Muchas aplicaciones mal programadas por ejemplo, pueden hacer que tenga un consumo excesivo de CPU además de imnecesario... Creo recordar que la app de LINE precisamente hacía eso, consumía o más bien pedía uso y prioridad de CPU cuando no la necesitaba y de ahí a chupar batería

Si ya, pero el switch entre el A7 y el A15 quien lo determina? El programador de la aplicación tiene algún tipo de decisión o es un rollo sencillo por tiempo de ejecución??

JacksSsS
01/04/13, 13:42:26
Núcleo virtual déjalo como idea, no te ralles más xDD

Me raya tu gran gran gran pero gran ignorancia y sobre todo tu falta de manejo del paint xD ya te doy por imposible, lo que pones está MAL, si sirve para que más o menos la gente se pueda enterar y no decir que tiene 8 núcleos bien... Pero si fuera tu profesor te echaría de clase por poner ese esquema inventao!! xD

JacksSsS
01/04/13, 13:43:57
Si ya, pero el switch entre el A7 y el A15 quien lo determina? El programador de la aplicación tiene algún tipo de decisión o es un rollo sencillo por tiempo de ejecución??

En esencia la aplicación pide un uso y una prioridad, el sistema (kernel) se la concede, y es el kernel el cual tiene soporte para este procesador y esta tecnología, quien a través del hardware disponible, decide el manejo... Es igual que el tema de subir bajar frecuencias, deepspeed... Todo desiciones del kernel, al igual que el overclock.

Imagino que es algo que se irá puliendo con el tiempo y los nuevos kernels, es posible que de primeras "no sepa" que el TW necesite 4 cortex A7 en vez de 3 cortex A7 + 1 A15

Lo que sí es verdad que me contraría, es que el manejo de al activación de "todos los cores" se pueda o no... Sería estúpido pero no se si depende del kernel ya que el hardware está definido para que no puedan estar encendidos dos cores con el mismo nombre...

dpedalv
01/04/13, 13:52:39
Núcleo virtual déjalo como idea, no te ralles más xDD



Scheduling

The paired arrangement allows for switching to be done transparently to the operating system using the existing dynamic voltage and frequency switching (DVFS) facility. The existing DVFS support in the kernel (e.g. cpufreq in Linux) will simply see a list of frequencies/voltages and will switch between them as it sees fit, just like it does on existing hardware. However, the low-end slots will activate the 'little' core and the high-end slots will activate the 'big' core.
Alternatively, all cores may be exposed to the kernel scheduler, which will decide where each process/thread is executed. This will be required for the non-paired arrangement but could possibly also be used on paired cores. It poses unique problems for the kernel scheduler, which, at least with modern commodity hardware, has been able to assume all cores in a SMP system are equal.

Perfect, entonces entiendo que cambiándo el planificador a modo performance siempre estaremos usando los A15

giru
01/04/13, 14:10:27
Me raya tu gran gran gran pero gran ignorancia y sobre todo tu falta de manejo del paint xD ya te doy por imposible, lo que pones está MAL, si sirve para que más o menos la gente se pueda enterar y no decir que tiene 8 núcleos bien... Pero si fuera tu profesor te echaría de clase por poner ese esquema inventao!! xD

Aer eminencia que te llenas la boca hablando de ignorancia y toda tu teoría usando clusters y las combinaciones que puedes lograr te las puedo hacer usando mi esquema sin problemas, no hay más ciego que el que no quiere ver. Es explicar lo mismo usando esquemas diferentes, y me parece más asimilable el que puse yo. Si sirve y aclara la idea hasta límites muy muy básicos entonces no está mal. Pq no te paras a asimilar un poco la info y verás que tanto lo que tu sacaste en claro del artículo que citaste como el resumen que hice yo vienen a contar exactamente lo mismo. Párate y respira :lengua:

JacksSsS
01/04/13, 14:12:14
Aer eminencia que te llenas la boca hablando de ignorancia y toda tu teoría usando clusters y las combinaciones que puedes lograr te las puedo hacer usando mi esquema sin problemas, no hay más ciego que el que no quiere ver. Es explicar lo mismo usando esquemas diferentes, y me parece más asimilable el que puse yo. Si sirve y aclara la idea hasta límites muy muy básicos entonces no está mal. Pq no te paras a asimilar un poco la info y verás que tanto lo que tu sacaste en claro del artículo que citaste como el resumen que hice yo vienen a contar exactamente lo mismo. Párate y respira :lengua:

Me estas retando??? dd xd xd

giru
01/04/13, 14:15:16
Me estas retando??? dd xd xd

Si, tienes un MP con una declaración formal del reto que se que te gustan :risitas::risitas:

JacksSsS
01/04/13, 14:18:01
Si, tienes un MP con una declaración formal del reto que se que te gustan :risitas::risitas:

Es verdad acuérdate que yo funciono mejor bajo amenazas xd.

En fin te dejo con.tus malos esquemas que estoy impartiendo (terminando el temario) de un curso de programación y así no se puede jaja. Deja de entretenerme xd xd

giru
01/04/13, 14:22:30
Es verdad acuérdate que yo funciono mejor bajo amenazas xd.

En fin te dejo con.tus malos esquemas que estoy impartiendo (terminando el temario) de un curso de programación y así no se puede jaja. Deja de entretenerme xd xd

Pobres alumnos fijo que los vas a freír a base de programación para ensamblador pq los lenguajes de alto nivel no van contigo por su simpleza :lengua:
Pillo tu info de como se decide y quien determina el cambio entre A7 y A15 que fue lo único salvable que encuentro :grin: Enga curra que hay que levantar el país

JacksSsS
01/04/13, 14:25:24
Pobres alumnos fijo que los vas a freír a base de programación para ensamblador pq los lenguajes de alto nivel no van contigo por su simpleza :lengua:
Pillo tu info de como se decide y quien determina el cambio entre A7 y A15 que fue lo único salvable que encuentro :grin: Enga curra que hay que levantar el país

La única??? Jua jua será la única que puedes entender xd xd xd

Que va son clases para un circuito de programación web... HTML5 luego CSS3 y por ultimo PHP5... Hay que levantar el país tu lo has dicho. Hay que hacer lo que sea o se pueda

giru
01/04/13, 14:35:19
La única??? Jua jua será la única que puedes entender xd xd xd

Que va son clases para un circuito de programación web... HTML5 luego CSS3 y por ultimo PHP5... Hay que levantar el país tu lo has dicho. Hay que hacer lo que sea o se pueda

Bueno añado tb 2 esquemas para abarcar a más público :ok: Enga dale duro

JacksSsS
01/04/13, 14:36:57
Bueno añado tb 2 esquemas para abarcar a más público :ok: Enga dale duro

Mejor jaja. Coñazo de programación con lo mal que se me da

davidwar
01/04/13, 14:50:58
Venga va no os peguéis, podemos llamarlo uarch o microarquitectura big.LITTLE :-)

giru
01/04/13, 14:52:37
Venga va no os peguéis, podemos llamarlo uarch o microarquitectura big.LITTLE :-)

:risitas::risitas:

Edito:
Actualizado el primer post con toda la info útil

ZyV
01/04/13, 16:52:59
Muy interesante! Gracias!
Un par de curiosidades que vi por ahí:

- Según ARM, el intercambio de un núcleo A7 a un A15 (o viceversa) se realiza como máximo en 20000 ciclos de reloj.
Esto significa que en un dispositivo que corre a 1GHz (mil millones de ciclos por segundo), el intercambio se realizará como máximo en 20us (siendo 1us la millonésima parte de un segundo). Según Samsung, este tiempo es tan pequeño que no interfiere con la experiencia de usuario (http://www.samsung.com/global/business/semiconductor/minisite/Exynos/data/benefits.pdf)

- Existe un proyecto de Linaro (big.LITTLE MP (https://wiki.linaro.org/projects/big.LITTLE.MP)) en el que planean lograr que los 8 núcleos trabajen simultáneamente.
(Linaro es una iniciativa de varias empresas como ARM, Samsung, Hisilicon, LG, ST Ericsson, Texas Instruments que se unieron para crear un estándard de Linux capaz de funcionar con dispositivos que utilicen SoCs ARM)

JacksSsS
01/04/13, 17:02:23
Venga va no os peguéis, podemos llamarlo uarch o microarquitectura big.LITTLE :-)

Que va es cachondeo hombre!!! Giru es como la mascota que nunca tuve xd xd xd xd xd xd

magirus
01/04/13, 17:45:40
ná, estos de samsung siempre con sus chapuzas de plastico en las carcasas y diseños continuistas, no innovan nada de nada ni en hardware ni en software :risitas:

tremendo lo que se nos avecina con el big little, esperemos a ver como se comporta con la gestion de la energia, si realmente supone un ahorro importante respecto a lo que teniamos hasta ahora, porque a nivel potencia ya esta demostrando que va sobradisimo

JacksSsS
01/04/13, 17:48:21
ná, estos de samsung siempre con sus chapuzas de plastico en las carcasas y diseños continuistas, no innovan nada de nada ni en hardware ni en software :risitas:

tremendo lo que se nos avecina con el big little, esperemos a ver como se comporta con la gestion de la energia, si realmente supone un ahorro importante con lo que teniamos hasta ahora, porque a nivel potencia ya esta demostrando que va sobradisimo

Es que esto no lo inventa Samsung querido xd esto es propiedad intelectual de ARM. Salsung pone el nombre Octa y otra GPU...

giru
01/04/13, 17:48:36
Que va es cachondeo hombre!!! Giru es como la mascota que nunca tuve xd xd xd xd xd xd

Mascota dice el colgao, si no parabas de ladrar hoy de mañana :grin::grin:

Bueno vamos a intentar no desfasar más el hilo X-D

Zyv lo del proyecto de Linaro puede ser posible, se comenta que la única limitación para usar los 8 núcleos es software. De todas formas me parece que ya es vicio activar los 8 a la vez :risitas:

JacksSsS
01/04/13, 17:51:23
Mascota dice el colgao, si no parabas de ladrar hoy de mañana :grin::grin:

Bueno vamos a intentar no desfasar más el hilo X-D

Zyv lo del proyecto de Linaro puede ser posible, se comenta que la única limitación para usar los 8 núcleos es software. De todas formas me parece que ya es vicio activar los 8 a la vez :risitas:

Calla mujer xd

Es que aunque se pudiera es ridículo... Tendría mas sentido si todos tuviesen las mismas frecuencias y demás... No se si será a nivel de soft o de kernel... Será a nivel de kernel siguiendo una lógica normal

giru
01/04/13, 17:55:51
Calla mujer xd

Es que aunque se pudiera es ridículo... Tendría mas sentido si todos tuviesen las mismas frecuencias y demás... No se si será a nivel de soft o de kernel... Será a nivel de kernel siguiendo una lógica normal

Si Kernel (software) era pq la limitación no existe respecto al hardware.

magirus
01/04/13, 17:55:57
Es que esto no lo inventa Samsung querido xd esto es propiedad intelectual de ARM. Salsung pone el nombre Octa y otra GPU...

me da lo mismo que lo mismo me da, es el primero en implantarlo en un movil y a eso me referia ,con un poco de guasa para los que llevan meses diciendo que samsung no innova nada de hardware ni de software, que se limita a fabricar año tras año plasticos feos y continuistas :D

JacksSsS
01/04/13, 17:59:29
Si Kernel (software) era pq la limitación no existe respecto al hardware.

Claro, esta programado para funcionar así de 4 en 4 pero lo que ha programado el hombre...seguramente vendrá un programa de chanfire de estos que tocan el kernel porque de serie es ridículo :) no es lo mismo que tener un kernel con OC...

En cualquier caso esta bien que investiguen

giru
01/04/13, 18:03:03
Claro, esta programado para funcionar así de 4 en 4 pero lo que ha programado el hombre...seguramente vendrá un programa de chanfire de estos que tocan el kernel porque de serie es ridículo :) no es lo mismo que tener un kernel con OC...

En cualquier caso esta bien que investiguen

Ta claro. Mira info de eso:

Heterogeneous Multi-Processing (HMP)

This is the other actual implemented function mode of a big.LITTLE CPU. In this case, all 8 cores can be used simultaneously by the system.

This is a vastly more complex working mechanism, and its implementation is also an order of magnitude more sophisticated. It requires the kernel scheduler to actually be aware of the differentiation of between the A7 and A15 cores. Currently, the Linux kernel is not capable of doing this and treats all CPUs as equals. This is a problem since we do not want to use the A15 cores when a task can simply me processed on an A7 core with a much lower power cost.

The Linaro working-group already finished the first implementation of the HMP design as a series of patches to be applied against the Linux 3.8 kernel. What they did is to make the scheduler smart enough to be able to track the load of single process entities, and with that information to schedule the threads smartly on either the A7 cores or the A15 cores. This achieves much lower latency in terms of switching workloads, or better said, switching the environments (CPUs) to the respective work-loads, and exposes the full processing capabilities of the silicon as all cores can be used at once.

You can follow the advancements of this in the publications of the Linaro Connect summits that happen every few months. The code was only published in the middle of February this year for the first working implementation equivalent in power consumption to the IKS.

Por cierto el S4 mini en una de sus variantes posiblemente lleve un Exynos 5 Quad con 2 A7 y 2 A15

dpedalv
01/04/13, 18:27:10
Todos estos avances son muy buenos pero lo realmente interesante en un móvil es que cargue rápido la batería.
Prefiero 4 horas de pantalla con una carga de 1 hora que 6h con una carga de 3h no se si me explico :S

magirus
01/04/13, 19:00:07
Todos estos avances son muy buenos pero lo realmente interesante en un móvil es que cargue rápido la batería.
Prefiero 4 horas de pantalla con una carga de 1 hora que 6h con una carga de 3h no se si me explico :S

:oh: nunca se deja de aprender en este foro

por descontado yo prefiero 6h de pantalla a 4h, aunque luego me tarde en cargar 2h mas

por cierto al hilo de esto no se como sera el sgs4, veremos si es como el note2 con el cargador de 2A que carga la bateria de 3000mah en apenas 1h30min, aunque el trabajo dificil de la gestion de la bateria ya lo han hecho los ingenieros de samsung consiguiendo una autonomia bastante aceptable, el aumentar los mah/velocidad de carga es pecata minuta y hasta muchos cocinceros en sus custom kernel lo ofrecen

manolo2012
02/04/13, 06:22:26
Según las personas que saben sobre este tema que han comentado en este post, dicen que la tecnología Big Little no permite usar A15 y A7 a la vez según sea la demanda de rendimiento, pero en youtube hay un video que intenta dar una demostración de como funciona dicha arquitectura y me pareció ver que ese funcionamiento entre A15 y A7 si es posible (ojo soy ignorante en esto, solo expongo la duda por lo que pude ver en el video)

http://www.youtube.com/watch?v=ErKxNMeepa4

http://www.youtube.com/watch?v=qC6pDVIxhwU

giru
02/04/13, 09:03:19
Según las personas que saben sobre este tema que han comentado en este post, dicen que la tecnología Big Little no permite usar A15 y A7 a la vez según sea la demanda de rendimiento, pero en youtube hay un video que intenta dar una demostración de como funciona dicha arquitectura y me pareció ver que ese funcionamiento entre A15 y A7 si es posible (ojo soy ignorante en esto, solo expongo la duda por lo que pude ver en el video)

http://www.youtube.com/watch?v=ErKxNMeepa4

http://www.youtube.com/watch?v=qC6pDVIxhwU

Si es posible usar cores A7 y A15 a la vez pero no los 8 al mismo tiempo, estuvimos comentando que puede que en un futuro se pueda.

JacksSsS
02/04/13, 10:25:17
Si es posible usar cores A7 y A15 a la vez pero no los 8 al mismo tiempo, estuvimos comentando que puede que en un futuro se pueda.

Ves, es que tu exquema no era comprensible, por eso preguntan jajajajajajaja

giru
02/04/13, 11:31:22
Ves, es que tu exquema no era comprensible, por eso preguntan jajajajajajaja

Fijo que no leyeron el primer post porque aparte del esquema sale explicado en texto :risitas: o quizás se vió tus esquemas que encontraste de clusters ajaja


Edito:
Cambio la pregunta del primer post para que sea más clara :lengua:
¿Cuando están funcionando los cores A7 es imposible usar los A15 o viceversa?
No, es posible estar usando al mismo tiempo cores de ambas clases pero nunca más de 4 en total de forma simultánea

kraepelin
21/01/14, 14:31:49
Fijo que no leyeron el primer post porque aparte del esquema sale explicado en texto :risitas: o quizás se vió tus esquemas que encontraste de clusters ajaja


Edito:
Cambio la pregunta del primer post para que sea más clara :lengua:


Una preguntita. ¿Entonces eso de que pueden trabajar los 8 núcleos a la vez en el Exynos 5420 es posible o no? Creo que lo he leído en algún sitio

Un saludo