miércoles, 8 de enero de 2014

ARM, x86, RISC, CISC

CPU ARM x86
El procesador o CPU es el componente principal de los ordenadores y demás dispositivos programables como teléfonos inteligentes (smartphones), tabletas, etc. Su función es interpretar y ejecutar las instrucciones de los programas y procesar los datos.


Los procesadores de los ordenadores (de sobremesa, portátiles, etc.) son muy diferentes de los de otros dispositivos como los smartphones, tabletas, miniordenadores, etc. Los utilizados en los dispositivos portátiles, mal llamados móviles, como teléfonos, tabletas y PDA, etc. son de menor consumo y potencia que los utilizados en ordenadores y portátiles.

Existen principalmente dos tipos de arquitectura interna de procesadores que compiten por el mercado. Por un lado están los de arquitectura ARM y por otro los de arquitectura x86 desarrollada por Intel.

La principal diferencia entre una y otra arquitectura es que los procesadores ARM utilizan un conjunto de instrucciones muy pequeño y elemental por lo que se conocen como RISC (Reduced Instruction Set Computer = Ordenador con Conjunto Reducido de Instrucciones), mientras que la arquitectura de x86 Intel es de tipo CISC (complex instruction set computer = Ordenador con conjunto de instrucciones complejo) y usa un conjunto amplio de instrucciones complejas, y al decir complejas queremos decir que una sola instrucción desencadena la ejecución automática de varias instrucciones más elementales que completan la tarea.

La arquitectura RISC tiene un consumo eléctrico mucho más bajo que la CISC, lo cual hace que sean microprocesadores adecuados para su uso en terminales móviles dada la poca autonomía que ofrecen las baterías actuales. RISC también lleva a procesadores más pequeños y baratos, porque son menos complejos, lo que también ayuda a que resulten útiles para dispositivos móviles pues al ser más pequeños no precisan niveles de miniaturización tan altos como los procesadores CISC para alcanzar un tamaño determinado, lo que conduce a técnicas de fabricación menos complejas y avanzadas y por tanto más baratas.

La arquitectura RISC es posterior a la CISC y tiene su origen en investigaciones llevadas a cabo en la década de los 70 del siglo XX, buscando mejorar el rendimiento de los procesadores. EL principal desarrollador de ambas arquitecturas fue IBM.

CISC surgió en la década de los 50 del siglo XX y buscaba procesar instrucciones bastante completas (de alto nivel) y numerosas, aunque más lentas de ejecutar porque se descomponían en varias más elementales (de bajo nivel). Así se conseguía hacer programas más pequeños y sencillos de desarrollar que además realizaban pocos accesos a memoria, algo muy importante en aquella época porque la memoria era escasa, cara y lenta. El principal representante en la actualidad de la arquitectura CISC es x86 y sus principales desarrolladores y fabricantes son Intel y AMD.

RISC en cambio se basa en la ejecución de instrucciones elementales con un pequeño repertorio de instrucciones, pero genera programas más largos y más complicados de desarrollar (aunque el desarrollo de los compiladores e interpretes en los últimos años ha simplificado el proceso para los programadores). El principal desarrollador, quizá, de procesadores RISC actualmente es ARM que vende licencias para fabricarlos a otras empresas como Alcatel-Lucent, Apple, Cirrus Logic, LG, Nvidia, Sony, Nintendo, Samsung, Qualcomm, Sharp, Texas Instruments, Via, etc.

Un ejemplo muy burdo para explicar la diferencia podría ser el siguiente cálculo: A= B + C + D

En CISC podría ser:
    1-  "Suma B a C y a D y guarda en resultado en A"

En RISC podría ser:
    1- "Toma B"
    2- "Toma C"
    3- "Suma B a C"
    4- "Toma D"
    5- "Suma D a C"
    6- "Guarda C en A"

La relativa simplicidad de los procesadores ARM los hace ideales para aplicaciones de baja potencia, y por eso se han convertido en los procesadores dominantes en el mercado de la electrónica móvil e integrada.

El diseño de ARM empezó en 1983 en la empresa Acorn Computers. El diseño preliminar y los primeros prototipos se terminaron en 1985 y les llamaron ARM1. La primera versión comercial se llamó ARM2 y salió en 1986. A finales de la década de los 80 del siglo XX Apple empezó a trabajar con Acorn en el desarrollo de nuevas versiones del núcleo ARM. Acorn consideró que el echo de que un fabricante de ordenadores, como eran ellos y Apple, y el fabricante de los procesadores fuera el mismo podría retraer a los clientes, de modo que creó una nueva empresa llamada Advanced Risc Machines (ARM) encargada del desarrollo de los procesadores.

La arquitectura x86 la desarrolló Intel a principios de la década de los 70 del siglo XX. En 1986 Intel comercializó el procesador 8086, un procesador de 16 bits en la época en la que dominaban los procesadores de 8 bits. También sacó el procesador 8088 que era como el 8086, de 16 bits, pero con un bus externo de 8 bits que permitía utilizar la circuitería existente en la época. Este procesador fue el escogido por IBM para construir la línea de ordenadores más exitosa de la historia: el IBM PC. Fue tal el éxito de estos ordenadores personales que Intel ha mantenido desde entonces, hasta el año 2001, la compatibilidad hacia atrás en todos sus nuevos procesadores, ampliando y mejorando el conjunto de instrucciones x86 (por el nombre del procesador 8086) pero manteniendo la compatibilidad, de este modo cualquier nuevo procesador podía ejecutar perfectamente cualquier programa desarrollado para uno de sus predecesores.