PowerPC

Revisión del 13:20 12 may 2014 de Carlos idict (discusión | contribuciones) (Situación actual)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
PowerPC
Información sobre la plantilla
PowerPC.jpg
Inventado por:John Cocke
Fecha de invención:1980
Conectado a:Soker de motherboar
Fabricantes:IBM y Freescale Semiconductor

PowerPC (usualmente abreviada PPC) es el nombre original de la arquitectura de computadoras de tipo RISC, que fue desarrollada por IBM, Motorola, y Apple.

Los procesadores de esta familia fueron producidos por IBM y Freescale Semiconductor (que era la división de semiconductores y microprocesadores de Motorola), siendo utilizados principalmente en ordenadores o computadores Macintosh de Apple Computer hasta el año 2006 y en varios modelos IBM.

Historia

La filosofía RISC fue introducida por el científico informático John Cocke en la década de los años 70s. En 1980, IBM comienza el proyecto IBM 801 donde se derivaría el primer procesador RISC, el proyecto estuvo a cargo del mismo John Cocke. Este procesador RISC ofreció un rendimiento bastante malo, a veces se lo denominaba "chagar"Plantilla:Citarequerida debido al gran consumo de recursos de sus aplicaciones, lo cual obligó a IBM a emprender el Proyecto América, con el cual lograr crear el primer procesador de la arquitectura Power (bajo consumo de energía pero potente procesador).

En 1991, IBM se dio cuenta del potencial de su diseño Power y buscó una alianza con Apple y Motorola para impulsar su creación; entonces surgió la alianza AIM (Apple, IBM y Motorola, actualmente Freescale) cuyo objetivo fue desbancar el dominio Microsoft e Intel que ofrecía sistemas basados en 80386 y 80486.

Implementaciones del PowerPC

El PowerPC ha sido una de las arquitecturas más extendidas gracias a su alto rendimiento y su implementación tecnológica. Éste es un pequeño listado de las implementaciones del PowerPC a lo largo de su historia.

  1. 601 MPC601 50 y 66 MHz
  2. 602 productos para consumidor (bus de datos y direcciones multiplexados)
  3. 603 para ordenadores portátiles
  4. 603e
  5. 604
  6. 604e
  7. 620 la primera implementación de 64 bits
  8. x704 BiCOMOS implementación PowerPC por Exponential Technologies
  9. 750 G3 (1997) 233 MHz y 266 MHz
  10. 7400 G4 (1999) 350 MHz
  11. 750FX anunciado por IBM en 2001 y disponible en 2002 en 1 GHz.
  12. 970 G5 (2003) implementación 64-bit derivada del IBM Power 4. Velocidades de 1,4 GHz, 1,6 GHz, 1,8 GHz, 1,9 GHz, 2,0 GHz, 2,1 GHz, 2,3 GHz, 2,5 GHz, y 2,7 GHz
  1. e200
  2. e300
  3. e500
  4. e600
  5. PPC400:401, 403, 405, 440, 450, 460

PowerPC 601

En 1993 apareció la primera generación PowerPC con el nombre clave PowerPC 601, que fue desarrollada por la alianza Apple, IBM y Motorola. En Austin, fue el lugar donde desarrollaron el procesador, y en el diseño utilizaron la interfaz de bus del Motorola 88110. El PowerPC 601 tuvo bastante éxito.

PowerPC 7447

El PowerPC 7447 es un procesador de 32 bits de un solo núcleo que fue usado extensamente por Apple en sus líneas PowerBook, iBook y Mac mini, desde finales del año 2003 hasta finales del 2005, justo antes de cambiar a procesadores Intel. Estos procesadores se usaron en velocidades de 1 GHz en el PowerBook de 12" DVI hasta 1.67 GHz en el PowerBook de 15" y 17" dual layer. Estos últimos usaron una variación llamada 7447a (sin cache L3). Apple denominó a este procesador como G4, al igual que las versiones anteriores como el 7455 (modelos con Cache L3). Lo destacable de un procesador G4 era que incluía por primera vez el set de instrucciones Altivec o Velocity Engine como lo publicitaba Apple, el cual no estaba disponible en la generación anterior de procesadores conocidos como G3. El G5 ó 750 también incluía este set de instrucciones pero era de 64 bits. El G5 consumía más energía que el G4 y se calentaba considerablemente más, por lo que nunca fue utilizado en máquinas pequeñas o portátiles, y por eso coexistió con el 7447.

Las diferencias entre el 7447 y el 7455 (su predecesor) es que el primero cuenta con el doble de caché secundario o L2 ayudando a mantener al procesador bien alimentado con instrucciones y datos, y no posee cache de nivel 3 ó L3.

PowerPC 970

También se denomina PowerPC G5 al ser usado, en su primera versión, por los Power Mac G5. Es un microprocesador de 64 bits. Existe una segunda versión denominada PowerPC 970FX que mejora ligeramente el rendimiento. El último modelo del PPC970, es el PPC970MP (dual core) con 1mb de cache L2, habiendo sido cancelado el PPC970GX (versión de un solo núcleo del 970MP).

Este microprocesador es utilizado en algunos supercomputadores.

Xenon

El Xenon es el núcleo de la consola Xbox 360 de Microsoft. Está basado en la ISA PowerPC, cuenta con tres núcleos independientes y simétricos a 3,2 GHz, con 6 hilos y con 32 KiB de caché L1. Posee un caché L2 de 1024 KB a 1,6 GHz e implementa una derivación de las extensiones VMX, VMX128 (las mismas extensiones VMX, pero con 128 registros y capacidad de multihilo simultáneo). Proporciona una velocidad de bus a 5,4 GHz y hasta 21,6 GiB/s de ancho de banda.

Cell Broadband Engine

En el 2001, Sony, Toshiba e IBM, comenzaron a desarrollar un procesador para servidores, consolas de videojuegos y equipos portátiles. El resultado fue el Cell Broadband Engine. Su núcleo está basado en el ISA Power, cuenta con 8 coprocesadores que permiten acelerar de forma paralela las operaciones vectoriales y de multimedia.

Las primeras versiones del Cell operan a frecuencias de 4,8 GHz (cabe mencionar que la Playstation 3 corre a 3,2 GHz y existen prototipos a 65 nm que trabajan a 6 GHz).

IBM Broadway

Empleado como núcleo de la consola Wii de Nintendo lanzada en 2006, el procesador Broadway es un IBM PowerPC, nombre en clave "Broadway" (IBM Broadway) con tecnología SOI CMOS de 90 nm que corre a 729 MHz.

Plataformas compatibles con PowerPC

Este microprocesador está diseñado con base en la arquitectura POWER de IBM con algunos componentes tomados del microprocesador Motorola 68000 para darle compatibilidad con arquitectura de los ordenadores de Apple.

En ella pueden ser ejecutados, al menos, los sistemas operativos:

Distribuciones GNU/Linux

Las siguientes son algunas de las distribuciones GNU/Linux que soportan PowerPC:

Situación actual

El 6 de junio de 2005, Steve Jobs confirmó el rumor que venía comentándose en aquellos días; Apple se cambiaba a Intel. La excusa de Jobs fue que los procesadores PowerPC padecen serios problemas de temperatura, etcétera. Para el asombro de todos los presentes a la WWDC 2005, Steve Jobs destacó que Mac OS X tuvo una "Doble vida secreta" ya que el mismo había sido compilado tanto para x86 como para PowerPC desde su primera versión.

Pero esto no significa que la arquitectura PowerPC se vaya a quedar en el olvido, ya que el propósito de IBM es seguir produciéndolos a pesar de no contar ya con su mayor cliente, Apple. Las videoconsolas de nueva generación más importantes: Microsoft Xbox 360, Sony PS3 Y Nintendo Wii van equipadas con un procesador de arquitectura PowerPC, aunque difieren en cuanto a potencia y composición. Además, muchos supercomputadores están basados en microprocesadores PPC como las dos primeras máquinas de España: Magerit y MareNostrum.

La arquitectura PowerPC, además, mantiene un amplio uso en sistemas SoC (System On Chip) y sistemas embebidos en general, como por ejemplo los Mars Rovers de la misión Mars Exploration Rover de la NASA. Freescale y AMCC son los principales fabricantes de este tipo de CPUs. Algunas CPUs de sistemas embebidos también se han utilizado (o se están ultilizando) en placas bases de ordenadores de bajo consumo (EFIKA 5K2, Sam440ep).

Ordenadores con CPU PowerPC

Fabricante Modelo Año CPU
Apple Inc. Macintosh:
  • 1994-2006
  • 1994-2006
  • 1998-2006
  • 2002-2006
  • 2005-2006
  • 2002-2006
  • 1995-2006
  • 1999-2006
601, 603, 604, G3, G4 y G5
  • 601 a G5
  • G3, G4 y G5
  • G4
  • G4
  • G4 y G5
  • 603, G3 y G4
  • G3 y G4
IBM * RS/6000/pSeries/System p
  • IntelliStation POWER 185
  • BladeCenter JS20 y JS21
1994- 601 a G5
Power Computing y otros PowerWave, PowerTower
y otros Mac clónicos
1995-1997 601, 603/e y 604/e
Be Incorporated BeBox 1995-1997 603/603e
Amiga Inc. y Eyetech AmigaOne 2002-2004 G3 y G4
Genesi
  • 2002-2006
  • 2006-2007
  • G3 y G4
  • MPC5200B (e300)
ACube Systems Srl
  • 2007-
  • 2010-
  • AMCC 440ep
  • AMCC 460ex
TerraSoft (ahora Fixstars) y MAI
Fixstars
  • Teron y briQ
  • YDL PowerStation
  • 2001-2004
  • 2008-2009
  • G3 y G4
  • G5 (970MP)
A-EON AmigaOne X1000 2012-

P.A. Semi PA6T

Configuración De PowerPC

Temprano en 1991, arquitectos del procesador, compiladores, desarrolladores del sistema operativo, los diseñadores del procesador, los arquitectos del sistema, y los diseñadores de sistema de las tres compañías trabajaron juntos para desarrollar una configuración que resolvería las necesidades de la alianza. Porque habría sido imposible desarrollar totalmente una nueva configuración en hora de satisfacer las necesidades de sus clientes, las compañías decidían utilizar la configuración de poder como el punto de partida. Realizaron cambios para alcanzar un número de metas específicas. La configuración tuvo que: · Permitir un amplio rango de puestas en práctica, entre los reguladores económicos y los procesadores de alto rendimiento. · Ser suficientemente simple para permitir el diseño de los procesadores que tienen una duración de ciclo muy corta . · Reducir al mínimo los efectos que obstaculizan el diseño de puestas en práctica superescala agresivas. · Incluir las características del multiprocesador. · Definir una configuración de 64-bit que sea un conjunto mejorado de la configuración de 32-bit, proporcionando compatibilidad binaria de la aplicación para las aplicaciones de 32-bit.

Analizando las necesidades de aplicaciones y de sistemas operativos, en vista de que la instrucción típica se mezcla, y examinando rastros de la aplicación y del sistema operativo, el grupo de Arquitectura alcanzó un consenso en la definición de la configuración de PowerPC [ 5 ]. Esta configuración alcanza las metas enumeradas previamente, con todo permite que los clientes del Power ejecuten sus aplicaciones existentes en nuevos sistemas y ejecuten nuevas aplicaciones en sus sistemas existentes.

La arquitectura del PowerPC incluye la mayoría de las instrucciones principales. Casi todas las instrucciones excluidas del PowerPc son las instrucciones que se ejecutan infrecuentemente y el compilador puede substituir cada instrucción excluida por varias otras instrucciones que estén en ambas configuraciones. Las instrucciones excluidas causarán una interrupción del programa del tipo de la instrucción ilegal en procesadores de PowerPC y serán emuladas por el sistema operativo de AIX.

La mayoría de las aplicaciones principales beneficiarán el funcionamiento mejorado de los procesadores nuevos de PowerPC. Otras aplicaciones que realizan con frecuencia las operaciones, que utilizan las instrucciones excluidas, producirán resultados correctos en los sistemas b de PowerPC.

La configuración de PowerPC es una configuración de 64-bit. Esta configuración amplía tratando el cómputo de punto fijo a 64 dígitos binarios, y utiliza la conmutación dinámica entre el modo 64-bit y el modo 32-bit. En modo 32-bit, un procesador 64-bit de PowerPC ejecutará la aplicación compilada para la configuración 32-bit del subconjunto.


Reducir la configuración de Poder

Además de excluir algunas instrucciones principales, la configuración de PowerPC también quitó algunos requisitos no criticos. PowerPC también ganó nuevas instrucciones y características de terminar la configuración y de alcanzar las metas fijadas por el grupo de arquitectura. El grupo de Arquitectura identificó las características de la configuración de poder que eran demasiado restrictivas, demasiado pesadas, y no rentables.

Esto dio lugar a la exclusión de 32 instrucciones por las razones descritas en el resto de esta sección. La configuración de poder contuvo un registro de MQ que tenía dos características que podrían complicar un diseño a gran escala: el uso del registro era implícito, y era un solo recurso.

El registro de MQ habría requerido la instrucción que envía la función en un diseño agresivo para identificar todas las instrucciones que utilizan el MQ y para poner un mecanismo en ejecución de retitulación especial para él. Las funciones proporcionadas por el MQ no alinearon la complejidad agregada. La exclusión del MQ dio lugar a la exclusión de 15 instrucciones de rotación de extensión-precisión, dos dividen instrucciones, y una extensión-precisión multiplica la instrucción.

Varias instrucciones de la configuración de poder habrían hecho los diseños futuros del procesador considerablemente más complejo. Tres de poder de punto fijo rotar-insertan instrucciones requirieron tres operandos. La necesidad de un operando adicional habría podido requerir un acceso adicional del fichero del registro y habría aumentado drásticamente la complejidad del mecanismo de retitulación en un diseño de gran magnitud. Dos instrucciones que computaban valores absolutos, y dos otras que realizaron restar con un límite más bajo de cero, lógica de selección requerida después del cómputo aritmético y antes del "writeback" al fichero del registro.

La necesidad de la lógica de selección después del cómputo aritmético habría podido dar lugar a una duración de ciclo mínima más larga para algunas ocaciones. PowerPC también excluyó cinco otras instrucciones raramente usadas del problema-estado. La especificación del mecanismo de gerencia de la memoria de PowerPC y de otros cambios relacionados dio lugar a la exclusión de las instrucciones de gerencia de la memoria inmediata de poder.

PowerPC excluyó la base de datos que bloqueaba y siguiendo el mecanismo, otra característica del modelo de la memoria de poder, porque habría hecho a la gerencia de la memoria considerablemente más complejo, y esto no proporciono la graduable necesidad por la mayoría de las aplicaciones.

En la configuración de poder, una carga de la forma de la actualización podría especificar el mismo registro para el blanco (RT) y el direccionamiento bajo (RA). Si ocurriera esto, el procesador realizaría la carga pero suprimiría la actualización. La configuración de PowerPC eliminó este requisito, reconociendo que no hay razón de utilizar la instrucción de la forma de actualización en este caso, porque el procesador desecharía con eficacia el direccionamiento actualizado.

En la configuración de PowerPC, este uso de la forma de la actualización no es una operación válida y el resultado es indefinido. Un problema similar existe con una carga de la forma de actualización y las instrucciones del almacenamiento para las cuales el RA sea GPR 0. Si el RA es GPR 0, el cómputo del direccionamiento efectivo utiliza el valor 0 mejor que el contenido de GPR 0.

Esta operación es inválida en la configuración de PowerPC y el resultado es indefinido. Otro ejemplo de requisitos suspendidos se ocupa de los campos en los formatos de instrucción que no son necesarios para una instrucción determinada. Por ejemplo, muchos ACCIONAN formatos de instrucción que tienen un dígito binario Rc el ", que controla si el código de condición registra la información de estatus que describe el resultado de la operación.

En la configuración de poder, si el dígito binario de Rc es un 1 en una instrucción para la cual esta información de estatus sea inaplicable (por ejemplo, carga y almacenar), la instrucción se ejecuta correctamente, pero la información de estatus consiste en valores indefinidos. La configuración de PowerPC considera tales instrucciones como formas inválidas. " Si el procesador ejecuta una instrucción inválida, el resultado es indefinido, a menos que los requisitos de protección y del privilegio de memoria no se viole.

El recurso de sincronización definido en la configuración de poder habría sido muy difícil de poner en ejecución en un ambiente de gerencia de poder y de los procesadores registrados que pudieron ser múltiplos de un no entero del reloj del sistema. La configuración permite más flexibilidad, permitiendo diseños más rentables.

Una consecuencia de este acercamiento es que las aplicaciones de PowerPC tendrán normalmente que utilizar un servicio de sistema para obtener el tiempo correcto, porque el uso directo del recurso de la sincronización no será posible sin el conocimiento de las variables de entorno, disponible solamente para el sistema.

Debido al rápido avance de la tecnología del software lógico y de dotación física, la unión entre costo-a-valor de algunas características de la configuración de poder ha cambiado. PowerPC suspendio algunos de los requisitos de la configuración de poder, eliminando los aspectos de la configuración de poder que agregaron la complejidad significativa, que limitaron la velocidad de puestas en práctica, y que restringió el número de las unidades de ejecución que un diseño superescala podría poner.

Estas exclusiones crearon deficiencias en la configuración resultante. Además, la configuración de Poder faltaron otras características necesarias para competir en el mercado móvil rápido. Por ejemplo, los procesadores baratos con buen funcionamiento de punto flotante de precisión, y los procesadores para el uso en sistemas simétricos del multiprocesador, no eran posibles con la configuración de poder.

Completando la arquitectura del PowerPC

La configuración de PowerPC agregó las características que corregían ambos conjuntos de deficiencias. En definir las adiciones, los arquitectos definieron características de una manera para evitar la complejidad de la dotación física para manejar errores del software lógico donde estaba fácil que el software lógico evite los errores.

Los arquitectos agregaron un conjunto completo de instrucciones aritméticas de coma flotante de solo-precisión, así como dos instrucciones de convertir valores de punto flotante a los números enteros. Porque la mayoría de estas instrucciones proporcionan la versión de solo-precisión de instrucciones de precisión doble existentes, la complejidad agregada por las nuevas instrucciones es mínima. Aparte de los cambios al conjunto de instrucciones, los cambios más significativos estaban en el modelo de memoria y la definición de gerencia de memoria.

En la configuración de poder, el procesador no mantuvo la memoria de los datos constante con accesos de entrada-salida o alcances de instrucción. El software lógico tuvo que manejar el estado coherente de la memoria para ambas estas áreas. Antes de copiar un área de la memoria al disco, el software lógico tuvo que asegurarse de que cualquier copia modificada del área de memoria que estuviera en la memoria inmediata de los datos había sido escrita en la memoria principal.

Antes de que comenzara a leer el disco, el software lógico tuvo que asegurarse de que la memoria inmediata de los datos no contuvo una copia de cualquier parte del área de memoria, y el software lógico tuvo que invalidar cualquier copia del área de memoria en la memoria inmediata de instrucciones antes de recomenzar el programa que solicitó la operación.

Los procesadores tuvieron acceso siempre a memoria principal a través de las memorias inmediatas. Los únicos accesos de memoria que no utilizaron las memorias inmediatas eran accesos a un espacio de direccionamiento separado designado "espacio T=1. " Las operaciones programadas de entrada-salida (PIO) tienen acceso a este espacio de direccionamiento.

El modelo de la memoria de PowerPC proporciona mayor flexibilidad. Los atributos se asociaron a cada paginación de la memoria virtual permitiendo que el software lógico controle cómo el sistema realiza accesos. El modelo permite el acceso especulativo a cualquier paginación a menos que tenga un atributo el indicar que contiene la entrada-salida o exhibe otras características reemplazables.

Otro atribuye control si una paginación se puede ocultar, necesidad para no ser ocultado, o se puede ocultar con el almacenamiento que son escritos a través a la memoria principal. Esta definición permite asociar entrada-salida en el espacio de memoria principal. La definición también incluyó el estado coherente procesador-acción, liberando el software lógico de la responsabilidad del estado coherente de la memoria con respecto a operaciones de la entrada-salida.

Como en el modelo de la memoria de poder, el modelo de la memoria de PowerPC requiere software lógico para mantener la memoria de instrucción constante con memoria de los datos. Los programas que modifican o generan instrucciones deben asegurarse de que las copias ocultas de un área de memoria que contiene las nuevas instrucciones sean constantes con la memoria principal antes de procurar ejecutar esas instrucciones.

Fuentes