Ver la versión completa : El segundo procesador, el gran desconocido
Relativamente poco tiempo hace que tenemos nuestras queridas negritas, y hemos visto ya muchas cosas sorprendentes, pero ninguna de ellas ha utilizado ese otro procesador del que no sabemos nada aun, simplemente chupa pila como un condenado cada vez que vas al menu.
Entonces se nos plantean las siguientes dudas:
- Si tan dificil es utilizar ese procesador, y tantas pegas tiene (revisemos decenas de post que hablan de el) porque esta ahi?
- Realmente obtendremos alguna ventaja de el?
- Que funcion le habian "destinado" los de GPH?
- Que es capaz de hacer ese procesador?
Debatamos señores! el tema da para mucho ;)
En teoria es un procesador para video, aunque he leido por ahi que se puede usar para cualquier cosa
LukStarkiller
25/01/2006, 10:13
- Si tan dificil es utilizar ese procesador, y tantas pegas tiene (revisemos decenas de post que hablan de el) porque esta ahi?
Facil, no esta suelto, los dos vienen en el mismo "pack", chip o chipset "MagicEyes MP2520F(MMSP2)", aparte su utilidad es programarlo para alguna funcion, ahora sino me equivoco decodea el video en el reproductor, y lo mas logico y por lo que decidieron ponerlo ahi, si viene en el mismo encapsulado es por cuestion economica, coste de un ARM940T por separado y coste de un chipset, el del chipset es mas caro, pero a la vez mas barato que comprarlos por separado y hacerles los buses de conexion
- Realmente obtendremos alguna ventaja de el?
Si a medio-largo plazo, de momento te aprovechas de el al ver tus peliculas, igualmente ya hace dias y dias que se han hecho tests sobre los dos procesadores.
En cuanto gracias a las SDL que algunos coders estan haciendo sea mas facil aprovecharlos ya veras como todo comienza a usarlos, si es necesario
- Que funcion le habian "destinado" los de GPH?
La descodificacion de video, claro y sencillo, igualmente permite que le den el uso que se quiera para futuras aplicaciones
- Que es capaz de hacer ese procesador?
Pues se habla de que casi puede hacer lo mismo que el procesador principal, pero eso no te lo puedo asegurar, una cosa esta clara bien aprovechado puede ayudar mcuho en ciertos tipos de aplicacion, repartiendo el trabajo o dividiendolo en trabajos diferentes para cada procesador
Espero no haberme equivocado en nada y ahberte sido de ayuda
Lo que yo he dicho lo se de haber leido este foro en los ultimos meses y haber seguido varios de los links que se han dado en el mismo, creo que no hace falta que diga mas.
- Si tan dificil es utilizar ese procesador, y tantas pegas tiene (revisemos decenas de post que hablan de el) porque esta ahi?
Esta ahi porque los de GPH compran un SoC (system on chip) donde viene todo metido, las cpus el hardware 2d, decodificador mpeg, ac97... simplemente ya estaba alli.
Este chip se suele usar en reproductores divx, tiene hasta hardware para subtitulos...
- Realmente obtendremos alguna ventaja de el?
Si, ademas practicamente todas las maquinas a emular son multichip a si que su uso deberia ser natural.
- Que funcion le habian "destinado" los de GPH?
Hacer un poco el tonto en la decodificacion de video.
- Que es capaz de hacer ese procesador?
De todo, es una cpu mas, solo que ha de ser "controlada" por la otra para poder ser usada.
Problema: No hay nada que permita usarlo al 100% en la actualidad y en la mayoria de los casos ni se toca , como la ram , que al parecer se come el kernel aunque dijeron que se podria trabajar a bajo nivel.
SDK decente YA ¡
PD: Insisto en que deberiamos presionar a GPH.
Estoy de acuerdo con lo que dices, pero me gustaría añadir unos comentarios y matices...
- Si tan dificil es utilizar ese procesador, y tantas pegas tiene (revisemos decenas de post que hablan de el) porque esta ahi?
Facil, no esta suelto, los dos vienen en el mismo "pack", chip o chipset "MagicEyes MP2520F(MMSP2)", aparte su utilidad es programarlo para alguna funcion, ahora sino me equivoco decodea el video en el reproductor, y lo mas logico y por lo que decidieron ponerlo ahi, si viene en el mismo encapsulado es por cuestion economica, coste de un ARM940T por separado y coste de un chipset, el del chipset es mas caro, pero a la vez mas barato que comprarlos por separado y hacerles los buses de conexion
En efecto, los dos micros vienen en un mismo chip. Sin embargo, si vamos a la página del fabricante vemos que tiene una alternativa al MMSP2 de coste similar, pero con algunas diferencias como un chip 3D en vez del segundo micro, o una tabla de ondas en vez del acelerador 2D: el VRender 3D (http://www.mesdigital.com/english/Products/product_VRender3d.asp)
¿Por qué eligió GPH el mmsp2 y no el VRender 3D? Supongo que porque ofrecía más posibilidades como PMP.
- Realmente obtendremos alguna ventaja de el?
Si a medio-largo plazo, de momento te aprovechas de el al ver tus peliculas, igualmente ya hace dias y dias que se han hecho tests sobre los dos procesadores.
En cuanto gracias a las SDL que algunos coders estan haciendo sea mas facil aprovecharlos ya veras como todo comienza a usarlos, si es necesario
En efecto, el segundo micro ya se está usando cuando se reproduce video, aunque a un nivel bastante ligero, la carga de trabajo la tiene la descompresora MPEG. En un futuro no muy lejano se llegará a un aprovechamiento real del 2º micro en aplicaciones. La minimal lib de rlyeh ya trae unas primitivas que permiten hacer uso de él, aunque aún resulta bastante tedioso manejarse con el segundo micro.
Creo que la mejor forma de aprovecharlo será mediante un SDK que lo utilice en sus implementaciones a nivel interno, o en unas librerías que hagan uso de él tipo SDL o OpenGL...
- Que funcion le habian "destinado" los de GPH?
La descodificacion de video, claro y sencillo, igualmente permite que le den el uso que se quiera para futuras aplicaciones
Uno de los puntos a favor de tener un segundo ARM en vez de una aceleradora 3D es que se le puede dar un uso genérico. Se puede emplear para gráficos 2D y 3D, para sonido, para IA o lo que se nos ocurra. Una aceleradora 3D, por lo general, sólo sirve para 3D (aunque sea especialista en ese trabajo). Creo que fue una buena elección por parte de GPH...
- Que es capaz de hacer ese procesador?
Pues se habla de que casi puede hacer lo mismo que el procesador principal, pero eso no te lo puedo asegurar, una cosa esta clara bien aprovechado puede ayudar mcuho en ciertos tipos de aplicacion, repartiendo el trabajo o dividiendolo en trabajos diferentes para cada procesador
En efecto, en potencia bruta es casi equivalente al procesador principal, salvo que tiene una caché más limitada. El problema es el manejo del mismo, ya que al no tener una MMU, tiene su propio espacio en la memoria física y su propio rango de direcciones... y eso lo hace más dificil de programar. Toca meter ensamblador, hacer malabares con las direcciones de memoria, etc.
Espero no haberme equivocado en nada y ahberte sido de ayuda
Lo que yo he dicho lo se de haber leido este foro en los ultimos meses y haber seguido varios de los links que se han dado en el mismo, creo que no hace falta que diga mas.
Has estado muy acertado ;)
NoobLuck
25/01/2006, 21:50
Yo creo que mientras las cosas se puedan hacer con uno ¿Para que usar los dos?
Por ahora, aparte del video y del emulador de PSX, ¿que más necesita dos procesadores?
Bien, hemos visto todas las ventajas que tiene, pero siempre o casi siempre terminan en el tipico "pero es dificil de programar" no os suena a un cacharro negro grandecito que empezaba con S y acababa con N? :rolleyes:
Si TAN dificil es programar algo que use el segundo procesador, no lo usaremos, y segun he leido en algunos posts, la carga del segundo procesador se la lleva el primero con lo cual acaba "molestando" mas que ayudando :/
Que opinais?
Yo creo que mientras las cosas se puedan hacer con uno ¿Para que usar los dos?
Por ahora, aparte del video y del emulador de PSX, ¿que más necesita dos procesadores?
Un mame mas completo y CP2 ^_^
Y una Neogeo completa ^^*
LukStarkiller
25/01/2006, 22:21
Bien, hemos visto todas las ventajas que tiene, pero siempre o casi siempre terminan en el tipico "pero es dificil de programar" no os suena a un cacharro negro grandecito que empezaba con S y acababa con N? :rolleyes:
Si TAN dificil es programar algo que use el segundo procesador, no lo usaremos, y segun he leido en algunos posts, la carga del segundo procesador se la lleva el primero con lo cual acaba "molestando" mas que ayudando :/
Que opinais?
Estoy mas que seguro que cuando los coders comenzaron a programar para la GP32, les era muy dificil (menos para los que tubiesen experiencia ya programando), se supone que con las cosas que no se conocen hasta que no se aprende sond ificiles de usar, igualmente debes de pensar qe a dia de hoy la dificultad no es culpa de los coders, sino de las SDL que hay y de que no hay un SDK decente, el dia que saquen uno, te aseguro que veras como lo aprovechan
Piensa que por lo que parece la GP2X la sacaron con muchas prisas, de ahi que tengamos un firm que mas bien da pena y que no haya una SDK que la aproveche al maximo. Paciencia que ya saldran es cuestion de tiempo, y por lo que parece que ya algunos le van sacando funciones, pues no sera mucho tiempo. ^^
SilentSei
26/01/2006, 22:19
El segundo procesador, junto con los 32 Mb de RAM restantes, darán mucho juego a los programadores una vez se acostumbren a él.
Si con un procesador y 32 Mb, en 2 meses se ha logrado lo que se ha logrado, con el doble se llegará mucho más lejos, creo yo.
Pero todo pasa, como ya se ha dicho, por que GPH espabile y saque SDL que lo implemente y/o SDK como dios manda.
Yo creo que el futuro es prometedor.
Yo de GPH no esperaria mucho , por no decir nada. Son mejores que game park por separado con la GP32 , pero vamos , lo que se dice modelicos no son.
La verdad es que es un poco triste que los de GPH no se involucren un poco mas en el crecimiento de la Scene de su consola
No me digas que ya tenemos el mismo problema que con la Saturn?? :rolleyes: , pues pa meter dos arm9 y utilizar uno....... no convenia hacer una version nueva de la gp32 con mas ram? [wei5]
hermes PS2R
28/01/2006, 18:46
Bueno, mi opinion sobre el tema es la siguiente:
Si estuvieramos hablando de una consola de sobremesa, negarse a usar la segunda CPU sería algo negligente, por así decir.
Pero al tratarse de una consola portatil, donde la autonomía de la consola se ve directamente afectada, es NORMAL que se trate de evitar la programación del segundo procesador.
Yo es muy posible que me meta con el en cuanto acabe con el el emulador de spectrum, con vistas evaluar su rendimiento con una serie de ideas que tengo en mente.
Sobre los posibles problemas de utilizar los dos procesadores, lo que no tiene ni pies ni cabeza, es hacer un codigo que se ejecuta en el procesador principal y que luego espere a que se efectuen las tareas en el segundo procesador... (eso demuestra que el programador es poco inteligente... :rolleyes: ): hay que procurar que los dos trabajen en paralelo haciendo tareas que se complementen.
Es esta claro hermes , pero deberia limitarse al uso del primer procesador a maquinas "sencillas" y para lo duro , cuando el 1º procesador no de mas "de si" pues usar el 2º que para algo esta. La excusa de la autonomia en parte es cierta , pero no justifica que es procesador este inutilizado.
Electric Dreams
28/01/2006, 19:40
Como ya he dicho en algun que otro post, no podemos ver a la GP2X como un sistema multiprocesador en paralelo. Seguro que obtendriamos problemas de dependencias (micro principal espera a secundario) y un rendimiento mediocre de memoria.
Tenemos que tratar al segundo ARM como lo que es: un coprocesador. Eso no siginifica que lo desaprovechemos ni que sea inutil, todo lo contrario. A la hora de programar un emulador, podría ocuparse de la emulación de los chips especiales, de sonido o apoyo de las diferentes consolas (en algunos sistemas, por ejemplo, el procesador de audio es un Z80). De esta forma obtenemos un esquema de emulación más coherente y sobre todo, liberamos a la CPU de tareas secundarias, dejando más tiempo de proceso para lo principal.
A mi entender ese es el camino correcto. Eso implica que la programación del segundo micro no sea transparente al 100% y que el programador (no el compilador) decida que tareas son para uno u otro. Lo cual, dicho sea de paso, me parece fenomenal.
FlipFlopX
28/01/2006, 19:42
Podeis explicar el acceso a memoria del 2º micro¿?Porque leí que no podían acceder simultáneamente...Eso suena a virguerías en assembler :S Salu2
Podeis explicar el acceso a memoria del 2º micro¿?Porque leí que no podían acceder simultáneamente...Eso suena a virguerías en assembler :S Salu2
No pueden acceder exactamente al mismo tiempo, pero si pueden acceder a memoria corriendo los dos juntos.
FlipFlopX
28/01/2006, 21:32
Mientras uno lee el otro micro puede estar escribiendo??
Mientras uno lee el otro micro puede estar escribiendo??
No, de memoria no, pero para eso esta la cache.
Uno de los usos que se le podrían dar al segundo procesador es el de coprocesador matemático, emulando coma flotante, por ejemplo. La unidad de coma flotante consume muchos recursos y los procesadores para plataformas portátiles suelen tenerlo muy flojo o directamente no tenerlo (como es el caso), en este caso, al tener un procesador enteramente dedicado a eso, podríamos tener una coma flotante bastante aparente, seguramente suficiente para las tareas de las que es capaz esta consola.
Otros usos son los 3D (que me parece un derroche para el rendimiento que daría) o el sonido (para lo que nos sobra potencia por todos lados).
Claro está que esto no será realmente util hasta que aparezca una librería que nos permita acceder a ella con cierta facilidad. Y quién dice librería dice firmware.
namikata
28/01/2006, 22:27
open2x no es un subconjunto de opengl pensado para trabajar en el segundo procesador?
Electric Dreams
28/01/2006, 23:06
Uno de los usos que se le podrían dar al segundo procesador es el de coprocesador matemático, emulando coma flotante, por ejemplo. La unidad de coma flotante consume muchos recursos y los procesadores para plataformas portátiles suelen tenerlo muy flojo o directamente no tenerlo (como es el caso), en este caso, al tener un procesador enteramente dedicado a eso, podríamos tener una coma flotante bastante aparente, seguramente suficiente para las tareas de las que es capaz esta consola.
Otros usos son los 3D (que me parece un derroche para el rendimiento que daría) o el sonido (para lo que nos sobra potencia por todos lados).
Me temo que dedicando uno de los micros al calculo en coma flotante se obtendría un rendimiento bastante perro. Es mejor reducir la precisión de los cálculos y trabajar con "enteros". La coma flotante solo debe usarse en casos donde no quede más remedio.
hermes PS2R
29/01/2006, 03:39
Uno de los usos que se le podrían dar al segundo procesador es el de coprocesador matemático, emulando coma flotante, por ejemplo. La unidad de coma flotante consume muchos recursos y los procesadores para plataformas portátiles suelen tenerlo muy flojo o directamente no tenerlo (como es el caso), en este caso, al tener un procesador enteramente dedicado a eso, podríamos tener una coma flotante bastante aparente, seguramente suficiente para las tareas de las que es capaz esta consola.
Otros usos son los 3D (que me parece un derroche para el rendimiento que daría) o el sonido (para lo que nos sobra potencia por todos lados).
Claro está que esto no será realmente util hasta que aparezca una librería que nos permita acceder a ella con cierta facilidad. Y quién dice librería dice firmware.
Al segundo procesador, se puede acceder con bastante facilidad: yo mismo publiqué unos fuentes que hacen uso de el y costaría poco modificarlo para algo mas sofisticado (ajustar un tamaño de pila mayor, por ejemplo)
Lo que dices de utilizarlo para calculos matematicos, no tiene mucha utilidad si pretendes hacer calculos que vas a necesitar inmediatamente (y por tanto, detienes el 920)
El mejor uso que se le puede dar al segundo procesador, es como coprocesador grafico: que se encargara por ejemplo, de manejar varios planos de scroll, 3D, manejo de sprites,mezclar planos con alpha blending, emulacion de modos graficos, etc
En emuladores, lo mas util es emplearlo para emular el core de la maquina. Es algo que he pensado hace tiempo, debido a que la emulacion del core requiere de pocas funciones de librería y los accesos I/O hacerlos con el 920.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.