Historia del PPC. Del RISC al PPC (II), por Alejandro Peña

La unión de IBM, Motorola y Apple tenía principalmente un objetivo: crear una plataforma de referencia, común y adaptada a las necesidades de las tres empresas.

Expertos de las tres compañías en arquitecturas de procesadores, diseñadores de chips, ingenieros de sistemas, desarolladores de sistemas operativos, expertos en compiladores… se pusieron a trabajar juntos en la arquitectura común, era el nacimiento del PPC (PowerPC).

La primera premisa fue la necesidad de tener resultados tangibles lo antes posible, ya que si se tardaba demasiado, ni a IBM ni a Apple les interesaría, ya que la competencia acapararía el mercado. Por lo tanto se descartó el crear una arquitectura nueva y se decidió basarla en la arquitectura POWER.

Basada si, pero no exactamente igual, la nueva arquitectura tenía que aportar una serie de características y objetivos que el POWER no cumplía. Estas eran:

1 Permitir un gran abanico de posibilidades. Tenía que poderse adaptar a controladores de baja gama y coste, procesadores dedicados, procesadores de gama media y procesadores de alto rendimiento. Tenía que ser muy flexible en su diseño.

2 Ser lo suficientemente simple para poder mantener un diseño de procesador con un ciclo de ejecución muy corto (el diseño del POWER ya se había creado con esta idea en la mente, pero el PPC se simplificaría aun más).

3 Reducir al mínimo los efectos que obstaculizan o que impiden el poder realizar procesadores superescalares.

4 Incluir características que permitieran el multiproceso. El POWER de la época (1991) no era multiproceso. El incluir el multiproceso tenía como base el poder ofrecer más capacidad de proceso con un coste relativamente bajo y así aumentar la capacidad de proceso por $ gastado.

5 Definir una arquitectura de 64 bits que reúna un subconjunto de 32 bits, y así obtener compatibilidad hacía todas las aplicaciones de 32 bits y que soporte dinámicamente el cambio del modo 64 bit al modo 32 bit.

6 Mantener compatibilidad con la gama POWER.

Analizando las necesidades de aplicaciones y sistemas operativos que se ejecutarían en esa arquitectura y optimizando los ciclos necesarios para mantener un diseño simple, se alcanzó un consenso que definió la configuración del PowerPC.

Esta configuración cubriría todos los objetivos marcados, y permitiría que los clientes que ya habían adquirido arquitecturas POWER pudieran ejecutar sus aplicaciones existentes en los nuevos sistemas, al igual que permitiría las nuevas aplicaciones funcionar en sistemas ya existentes.

IBM sabía que no podía dejar su nuevo sistema, el AIX, fuera de la nueva arquitectura. Necesitaba que se extendiera lo más posible y el PowerPC ampliaría su mercado Su acierto fue implementar la mayoría de las instrucciones del PPC con instrucciones del POWER, exceptuando un pequeño conjunto que se usa muy raras veces y haciendo que estas sean muy fáciles de cambiar por el compilador con instrucciones que están en los dos sistemas el POWER y el PPC, logrando que la nueva estructura pueda ejecutar casi todo lo existente, incluido el sistema operativo AIX.

Y por último se definió una línea de progreso del PPC

Se difinieron cuatro procesadores 601 – 603 – 604 – 620

El PPC 601 era el primer procesador de la gama. Estaba pensado para la transición y no implementaba toda la arquitectura PPC.

El 603 se orientó hacia la gama portátil, rebajando el consumo, la disipación del calor y el tamaño y se completó con todas las instrucciones PPC, pero no implementaría toda la arquitectura.

El 604 sería el primer procesador de la gama que implementaría toda la arquitectura PPC, incluido el multiproceso, esceptuando la unidad de enteros a 64bits.

EL 620 abriría las puertas a los 64 bits y a todo el conjunto del estándar, sería el primer procesador de consumo 64 bits y el primer PPC puro.

Siguiendo este plan, el primer producto en salir al mercado fue el 601, un procesador de transición del mercado AIX hacia la nueva plataforma. En él se encontraba un conjunto instrucciones que emulaban las intrucciones POWER que no se implementaban en la arquitectura PowerPC, pero que eran necesarias para garantizar que todas las aplicaciones existentes funcionasen directamente, aunque, si la aplicación usaba esas instrucciones no compatibles, se ejecutarían de manera mas lenta, mucho mas lenta.

En el lado de Apple también existía el problema de la compatibilidad. Hasta ese momento los procesadores que se usaban eran CISC de Motorola de la gama 68000, y los PPC no tenían ninguna relación directa con ellos, el software no funcionaba directamente, el S.O . eran incapaz de albergar instrucciones PPC y mantener la compatibilidad con todo el soft para mac. Apple sabia que los desarrolladores no re-harían su software y si el cambio lo realizaba bruscamente podría significar que muchos desarrolladores no continuaran en la plataforma.

En el momento de hacer el cambio existían casi 12.000 aplicaciones para Mac y eso es mucho trabajo de programación, por tanto Apple implementó en sus máquinas un emulador por hardware (localizado en las ROMs) que cambiara las instrucciones 68000 a instrucciones PPC, así casi todas las aplicaciones funcionarían sin hacer cambios e introdujo la ley del 80 – 20, la ley dice que el 80 % del tiempo de ejecución se usa un 20% del código, rehaciendo nativo PPC ese 20 % y con el aumento de velocidad que suponía el RISC, la mayoría de los usuarios notarían una mejoría de velocidad sustancial.

A la par que se presentaban los primeros PowerPC 601 en 1994 en el Comdex de las Vegas, IBM presentó la plataforma común PowerPC (PReP Power PC Reference Plataform), esta plataforma permitía que cualquier fabricante que la siguiera pudiera correr cualquier S.O. que funcionase sobre PowerPC y cualquier aplicación que funcionase en esos S.O.

Todo el mundo se apunto, Apple e IBM formaron una empresa llamada Taligent(1) para crear un S.O. para la plataforma, Sun portó Solaris, IBM OS/2 y AIX, y Microsoft el Windows NT. (2)

Pero los PowerMac de la época no siguieron esta recomendación. Apple sacó al mercado tres modelos el powermac 6100/60 el 7100/66 y el 8100/80 a 60mhz , 66 mhz y 80 mhz y una de las características básicas es que seguian usando Nubus(3) no el PCI en el que estaba basado el PReP.

Estas primeras máquinas, comparadas con los 68040 y con sólo un 20% optimizado, aceleraban casi por 4 el rendimiento en las máquinas CISC de Apple y casi 1.5 a los pentiums de la época, todo un logro que se especulaba que era solamente el comienzo y que, con la llegada de los siguientes procesadores, aumentaría considerablemente esa ventaja.

Los problemas de velocidad vendrían años más tarde por diversos motivos, uno de ellos sería el emulador que funcionaba tan bien que nadie se molestaba en hacer aplicaciones 100% nativas PowerPC, incluida la propia Apple.

La transición estaba servida de la mano de los 500KB que ocupaba el emulador y ese sería uno de los lastres que determinaría los años siguientes. A este se le uniría el fracaso de Apple con el Copland, el retaso del 620 que jamás vería la luz y la manifiesta desgana de Motorola.

Pero en el momento y con la llegada del 603 y del 604 Apple tenía claro hacía donde dirigir su plataforma de hardware y esa no era precisamente la dirección que había marcado IBM con el PReP. Apple se salió de la plataforma común alegando que era muy complicado portar el Mac Os y que tardarían de dos a tres años, (cosa que una pequeña compañía llamada Quix realizó en 6 meses) y forzó una nueva plataforma común el CHRP (Common Hardware Reference Platform) junto a IBM y Motorola, que tampoco vería la luz ya que la idea de que una sola arquitectura pudiera correr el MacOS de Apple y el Windows de Microsoft debía poner los pelos de punta a los directivos de Apple y Microsoft (teóricamente el CHRP podía correr, OS/2, AIX, BeOs, Solaris, WindosNT y MacOS).

El CHRP nunca se materializo y Apple en 1995 y por su cuenta, creó su propio kit de compatibilidad y licenció el sistema operativo a cuatro compañías, Motorola, Power Computing, Umax y Daystar, en un intento de crear su propia plataforma. Tres años más tarde les retiraría las licencias para fabricar clónicos Mac, debido a que “canibalizaron” el mercado en vez de abrir nuevos frentes.

Un año más tarde (1996) IBM licenciaría el MacOS, siendo la única licencia que sigue vigente.

http://www.apple.com/es/pr/q396/ibm_licencia_macos.html

1996 fue el año del fracaso del 620. Con 7 millones de transistores y arquitectura de 64bits, era una verdadera fuente de calor. IBM acabó su diseño en plazo, pero su undimiento vino de la mano de Motorola y Microsoft, el diseño del primer PPC de 64bits era muy complejo y costoso, bastante mas que el 604 y el aporte de velocidad era muy reducido. Eso, unido a que Microsoft no quiso seguir portando NT para los PPC, decantó que Motorola no lo fabricase. IBM siguió con el desarrollo en solitario creando el PPC 630 (también llamado PowerPC/AS) que se usó en los servidores AS/400 de IBM.

Con el fracaso del 620, el CHRP y las licencias del S.O de Apple, los objetivos de la unión de las tres compañías cambiaron radicalmente, Taligent se cerró y los ingenieros pasaron a formar parte de la plantilla de IBM. Motorola jamás le perdonaría a Apple el que le retirara la licencia del MacOS y se embarcó en le desarrollo del Altivec independientemente de IBM y Apple dejaría el desarrollo de Copland, compraría NeXT y cerraría de nuevo la plataforma.

(1) Taligent se creó en 1992 entre Apple e IBM para crear un sistema operativo que funcionase sobre cualquier hardware, con mas de 150 ingenieros que en su mayoría provenían del proyecto Pink de Apple (1988).

(2) Para hacer el porte de Windows NT al PowerPC, Microsoft se unió a Motorola

(3) Nubus: desarrollado inicialmente por el MIT y comercializado por Texas Instruments NuBus, fue el principal conector de tarjetas de los Macintosh desde el Mac II hasta el 8100/110. http://web.mit.edu/6.111/www/f2003/nulabkit/nulabkit.html

0 0 votos
Article Rating
Subscribe
Notify of
0 Comments
Opiniones Inline
Ver todos los comentarios
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x