¿Qué familia de Texas Instruments os ha llamado más la atención?

miércoles, 18 de febrero de 2009

Hardware IPOD TOUCH/IPHONE

Hola a todos,
os voy hablar un poquito de las especificaciones a nivel de procesamiento del conocidísimo Ipod TOUCH/IPHONE. Yo tengo un TOUCH y trasteándolo un poquito he descubierto una cosa muy interesante. Si nos metemos en un apartado main del dispositivo podemos averiguar especificaciones técnicas del mismo, como puede ser el tipo de procesador, su familia, el modelo, frecuencia del procesador entre otras características como pueden ser especificaciones sobre la memoria. Aquí os muestro una captura realizada:


iPod Touch: Nombre real N45ap.
iPhone (original): Nombre real M68ap
iPhone 3G: Nombre real N82ap


Figura 1.- Hardware correspondiente al Ipod TOUCH/IPHONE

Aunque no hay información oficial por parte de nadie, se ha deducido por muchos canales diferentes que apple usó un chip (ahora ya a la venta) de Samsung, en este caso correspondería al Samsung S3C6400. Dentro de el chip no solo encontramos la CPU, sino que también se encuentra el sistema de memoria principal, el adaptador de video integrado y un módulo (acelerador) criptográfico AES/RSA.

Podemos ver las especificaciones técnicas en estos dos enlaces:
PAGINA OFICIAL DE SAMSUNG
Samsung S3C6400 Mobile Processor

Figura 2.- Samsung S3C6400

Aunque estos datos no son oficiales (debido a que como comentaba Paco en la última clase de teoría de PDS, existe un gran secretismo en los grandes fabricante de estos dispositivos por mantener oculta las especificaciones técnicas de sus productos), gracias a la firmware y los registros del dispositivo podemos extraer muchisima información sobre este supuesto chip. Siendo el indicado el que sería el más similar (sino igual) al usado por Apple.

¿Que es este chip? Es el procesador central de todo el dispositivo. Los tres usan exactamente el mismo procesador. En él se realizarán la mayoría de todas las operaciones. En realidad no se les puede llamar procesadores, en realidad son microcontroladores, todo un PC en pequeño en ellos mismos. Su propio sistema de memoria, buses... dentro de las características más destacadas tenemos información muy detallada de él:

CPU:

Tipo ARM 11, en concreto ARM1176JZF. Es una CPU ARM con un reloj real de hasta 700Mhz, siendo la velocidad máxima (estable) de 667Mhz. Hay que tener en cuenta que esto está muy por encima de la velocidad a la que Apple lo tiene bajado, siendo de 400Mhz la velocidad efectiva que nos permite tan solo Apple. ¿Por qué?. Es muy posible aumentar la frecuencia de reloj incluso a los 700Mhz, pero ello equivaldría a un mayor drenaje en la batería, es lógico ;), y normalmente es más que suficiente esos 400Mhz, que Apple por ahora cree que son los idoneos. No quita que en futuras actualizaciones esto pueda cambiar y se escoja otro valor superior o inferior.

La CPU tiene un sistema de protección llamado TrustZone (zona de seguridad) que permite que ciertas operaciones se ejecuten en zonas de memoria inaccesibles, haciendo la tarea de los Hacker mucho más compleja y dolorosa para la cabeza. Este es uno de los sistemas de seguridad que veremos en los manuales siguientes sobre Hardware que vendrán.

Pero no todo es reloj. Un buen microcontrolador (aunque me doy cuenta que nadie usa el término microcontrolador, aun cuando se ajusta más a esta definición que a cualquier otra) tendrá funciones implementadas en hardware para acelerar muchos de los procesos. Otra de las funciones más llamativas aunque muchos crean que no, es que esta CPU decodifica en hardware y en teoría CODIFICA tanto h264 (Perfil baseline y level 3.1) como h263, MPEG 4 SP y WMV9. Es curioso... Apple nunca implementó la posibilidad de grabar video ni reproducción (gracias a dios) para formato WMV9. No quita que el hardware no pueda hacerlo.

Y para acabar, este microcontrolador posee además un modulo diseñado para operaciones en coma flotante. Para quien no sepa bien que es esto, digamos que para cualquier procesador, sumar 2+2 es muy facil. Eso sería una suma normal. Una suma en coma flotante sería algo así como: 1.256*(10^24)+ 1.256*(10^24). A cualquier CPU del mundo siempre le cuesta más realizar operaciones en coma flotante, y dentro de la informática son imprescindibles!! aunque siempre que se pueda se intenta evitar usarlas. Por ello, casi todas las CPU del mundo implementan ya módulos específicos para esto. Pues de eso es de lo que estamos hablando. Igualmente posee un módulo VFP (módulo de vectores de coma flotante).

Sin estas funciones hardware, sería imposible que un procesador de estas características pudiera tener la capacidad "bruta" de realizar todo lo que hace. Gracias a los módulos (por así llamarlos) hardware, se hace en hardware lo que de otro modo se tendría que hacer con software, con el consiguiente pérdida de rendimiento.

Controlador de Vídeo:

PowerVR MBX. Algunos dicen que en su versión lite, otros dicen que es completa... hablaríamos de un reloj de 133-233Mhz, compatibilidad con OGL ES 1.1, OpenVG 1.0 y Direct3D Mobile. Una velocidad de render mínima de 3.4 millones de triángulos por segundos y unos 270 millones de píxeles por segundo.

Podemos ver las especificaciones técnicas en este enlace: POWERVR MBX IP Core Family

Muchos creen que no, pero dentro de este "microcontrolador" existe un acelerador gráfico que si tenemos en cuenta que es para un dispositivo portatil, no es nada malo. Es cierto que no puede hacer sombra a lo mejor a los adaptadores Tegra de Nvidia, pero hay que tener en cuenta que este dispositivo no se creó como centro lúdico, sino para un entorno más empresarial. Aun así tiene un rendimiento bastante bueno.

Gracias a este controlador de video podemos disfrutar de juegos con una complejidad baja/media, podemos tener en la palma de la mano un dispositivo capaz de renderizar objetos 2D/3D, usar FSA (Antialiasing a pantallac ompleta), compresión de texturas... etc.

Muy posiblemente, la capacidad de RAM sea de 32MB, aunque esto es un dato tan solo obtenido desde el mismo Kernel del iPod.

Módulo criptográfico:

Como hemos dicho, esta sería por así decirlo la tercera pieza que falta. Un módulo criptográfico que ha añadido Apple a su S5L8900. Este procesador (en realidad es más bien un coprocesador) tendría dos funciones básicas.

La primera es como los otros dispositivos, realizar en hardware ciertos cálculos que de otro modo se harían por Software. Por ejemplo cualquier tarea de desencriptación simétrica AES o asimétrica RSA, así como aguilización de los hash SHA1. De este modo los cálculos se realizarían dentro del chip sin necesidad de sobrecargar el procesador central para estas tareas.

La segunda finalizada es la seguridad. Dentro de este módulo que hemos llamado así, se podría dividir a su vez en tres partes diferentes, cada una de ella especializada en una tarea.

En siguientes entradas hablaremos de diferentes módulos y memorias que forman parte de estos dispositivos.

Referencias de la documentación: Blog de Theliel y Página Oficial de Samsung

No hay comentarios:

Publicar un comentario