2010-04-14 7 views
22

He estado programando para x86 & x86-64 en lenguaje ensamblador durante algunos meses. Ahora, quiero pasar a algunos tipos diferentes de procesadores.Procesadores MIPS: ¿Todavía están en uso? ¿Qué otra arquitectura debo aprender?

MIPS, SPARC, PowerPC, Itanium, ARM de ellos encontré ARM es siendo ampliamente uso. Pero los libros que veo que los tutoriales & libros enseñan sobre MIPS más que todas estas otras arquitecturas.

¿Por qué MIPS es tan popular? ¿Los procesadores MIPS aún están en uso? ¿A qué arquitectura debería ir?

Mi fondo:

Soy un estudiante en departamento de Electrónica. También soy un programador de alto nivel.

+0

Todavía hay muchas tabletas Android MIPS hoy en día –

+0

@ LưuVĩnhPhúc Ejemplo por favor? Buscando en Google veo que, de hecho, es compatible desde 2009, pero el primer resultado fue un comunicado de prensa sobre ventas decepcionantes. Ciertamente nunca he visto uno en la naturaleza y, como desarrollador de Android, he supuesto que el código ARM nativo no bloqueará a nadie. – Potatoswatter

+0

@Potatoswatter: Al menos hay algunas [noticias] (http://linuxgizmos.com/new-mips-warrior-processors-may-target-android/) hace solo unos meses http://liliputing.com/2013/ 01/ingenic-jz4780-es-un-dual-core-mips-cpu-for-android-tablets.html, es posible que tenga un resultado de google diferente debido a la región. La mayoría de los dispositivos MIPS hoy en día son tabletas baratas para China o India, por lo que tendrá menos posibilidades de ver uno. Http://www.androidcentral.com/mips-announces-125-jelly-bean-tablet http://techcrunch.com/ 2011/12/05/99-chinese-tablet-is-mips-based-runs-android-4-0/ –

Respuesta

26

Cavium Networks y Raza MicroelectronicsBroadcom son dos grandes fabricantes de chips MIPS. Ver MIPS Imagination Technologies' website para más información.

Una cosa que MIPS hace y ARM no es de 64 bits.

Actualización a partir de 2013: Broadcom no parece haber presentado nuevos productos MIPS desde 2006, y Cavium parece estar en transición a ARM v8 de 64 bits. Imagination Technologies adquirió MIPS a fines de 2012. (Irónicamente, Apple, su cliente número 1, fue el primero en comercializar con ARM v8).

La escritura está en la pared para MIPS.


MIPS es el RISC más limpio y exitoso. PowerPC y ARM (32 bits) tienen tantas instrucciones adicionales (incluso algunos modos de funcionamiento, especialmente ARM de 32 bits) que casi podría llamarlas CISC. SPARC tiene algunas características raras e Itanium está compuesto completamente de características extrañas. Los dos últimos están más muertos que MIPS.

Si aprende MIPS, podrá transferir el 100% de ese conocimiento a otros RISC (ranuras de retardo de entrega o recepción), pero aún tiene que aprender muchas instrucciones extrañas sobre PPC, una tonelada completa o-junk en ARM de 32 bits, y registrar ventanas en SPARC. Itanium no es RISC, por lo que es difícil decir algo, además de no aprender Itanium.

No he estudiado ARM de 64 bits todavía, pero es probable que tenga la mayoría de las cualidades positivas de MIPS, ya que es esencialmente un diseño de pizarra limpia.

+0

Hay otros archs con ranuras de retraso (por ejemplo, ARC, SuperH, SPARC, etc.), aunque en muchos puede controlar si desea la ranura o no.Además, como está editando, también debe corregir la parte de 64 bits :) –

+1

¿Explicar el voto a favor? Estaré encantado de agregar información al contrario del punto presente, si es que tengo alguno. – Potatoswatter

+0

Gran respuesta. También significa que la organización de mi computadora y la clase de diseño pueden ser útiles después de todo. Por cierto, mips estaba haciendo 64 bits antes de ARM. MIPS quería estar actualizado lo suficiente para el uso práctico, por lo que invirtió en la tecnología antes de que apenas se utilizara ARM. – jaked122

3

Esto es solo especulación. La información está tomada de Wikipedia article on MIPS.

  • MIPS se originó en un entorno académico (Stanford), no comercial. Las personas en dicho entorno son mucho más propensas a escribir libros de texto que las personas que trabajan en una empresa.
  • En la década de 1990, MIPS se hizo licenciable. Combinado con el rendimiento decente/bueno por dólar en el momento, esto lleva a una adopción relativamente amplia en el mercado integrado (ARM tiene la misma historia).

Logré encontrar un graph de la cuota de mercado del procesador integrado, aunque solo se trata de procesadores RISC durante la década de 1990. Tenga en cuenta la gran parte que es MIPS. Sospecho que ARM ha sacado MIPS del agua en términos de cuota de mercado por ahora, pero no tengo los números.

+0

Lo estaba arreglando. Las cosas de Javascript automático están rotas. –

1

La Playstation 2 tenía una CPU MIPS. La PS3 usa la Celda, que se parece a una variante POWER, y la XBox 360 también usa una PowerPC.

ARM parece ser cada vez más popular en dispositivos móviles, y PowerPC todavía es enorme en sistemas embebidos, especialmente automotrices. Incluso puedes encontrar el M68k ocasional si miras en el dispositivo correcto.

MIPS es probablemente popular porque es una arquitectura real, pero aún relativamente simple. Podría decirse que (¿es uno de ellos?) La primera arquitectura (s) RISC moderna. (Incluso I podría resolverlo!)

Realmente depende de lo que quiere aprender, y por qué. ¿Solo por diversión? Para construir un dispositivo integrado? Para escribir un compilador? Para escribir tu propio código de ensamblaje? Para estirar tu mente?

8

La razón de que MIPS se enseña en las escuelas se debe a que es una arquitectura de 'clásico' RISC y es DLX-como, que es el tipo de arquitectura utilizada en el biblia por Hennessy & Patterson (los padrinos de RISC moderno). Es muy simple de entender en su simplicidad y una vez que lo obtiene, moverse a otras arquitecturas es bastante simple.

Si está solicitando arquitecturas específicas para aprender, diría que, a menos que esté interesado en convertirse en un tipo de hardware, puede que no le sirva de mucho aparte del factor de conocimiento. La mayoría de los compiladores resumen muchos de los problemas de hardware a menos que necesites escribir un código de muy bajo nivel. Por lo tanto, un PPC/SPARC/ARM/MIPS/lo que sea no hará mucha diferencia para el 90% de los programadores que existen.

+4

No estoy de acuerdo un poco (no es suficiente para un -1). Es, en mi opinión, ** siempre ** útil para los desarrolladores tener una idea de lo que sucede bajo el capó mientras trabajan en el detalle de sus automóviles metafóricos. ** Cualquier ** programador que conozco que no puede activar la salida en lenguaje ensamblador de su compilador (o equivalente en el caso de cosas como JVM o VM de Erlang o similares) y leer de manera semi-competente lo que está sucediendo no es un desarrollador con el que quiero trabajar o tengo trabajo debajo de mí. (O sobre mí, para el caso). –

+3

Estamos hablando de algo similar pero no lo mismo: saber que el lenguaje ensamblador no es igual a conocer la arquitectura de hardware (tuberías, arquitecturas de caché, unidades de función especial ...) Sin embargo, Estoy de acuerdo con usted en que un buen desarrollador necesita tener conocimiento práctico de lo que está bajo el capó, simplemente no creo que necesite saber cada tuerca y tornillo en el motor. – sybreon

7

Si tiene experiencia en el mundo x86 (-64), entonces sí, el cambio a un procesador RISC es un buen movimiento lateral para mantener su mente abierta. Tus preguntas son buenas.

Respondiendo a su segunda pregunta: sí, los procesadores MIPS aún están en uso. Con frecuencia son los procesadores utilizados en cosas como enrutadores y otros pequeños dispositivos informáticos como ese. También están apareciendo cada vez más en dispositivos informáticos domésticos pequeños en mercados asiáticos (Lemote, por ejemplo). Lo que aportan a la mesa sobre ARM es una relación precio/rendimiento competitiva y capacidades de 64 bits. Lo que ARM aporta a través de MIPS es una mejor relación potencia/rendimiento, si la memoria sirve, y un conjunto de opciones más flexible en la construcción de núcleos. SPARC es muy caro, pero, para ser justo, muy rápido. No sé lo suficiente sobre las otras arquitecturas mencionadas para hacer algún comentario útil. (Bueno, excepto Itanium, que es básicamente tecnología nacida muerta que no es RISC ni CISC.)

Respondiendo ahora su primera pregunta: la razón por la que MIPS tiene un lugar tan destacado en los libros es que es casi un ejemplo perfecto de un sistema RISC. Es una implementación de RISC pequeña, relativamente pura, que se entiende fácilmente y que ilustra bien los conceptos de RISC. Con fines pedagógicos, es probablemente la mejor arquitectura del mundo real para mostrar la naturaleza de RISC, junto con sus verrugas. Otros procesadores considerados RISC (ARM, SPARC, Alpha, etc.) son más pragmáticos y complicados, y confunden los conceptos de RISC con algunas mejoras más de tipo CISC para obtener un mejor rendimiento u otros beneficios.

Por último, para responder a su pregunta final: recomendaría aprender MIPS por la misma razón por la que recomiendo a las personas que aprenden OOP recoger a Eiffel, las personas que aprenden a recoger funcional Haskell y así sucesivamente. MIPS es la implementación más pura de los conceptos de RISC que está en uso real en el mundo real y se verá obligado a lidiar con la forma de pensar de RISC y solo con la forma de pensar de RISC (en su mayor parte) mientras resuelve sus problemas con ella.Esto preparará su mente para el enfoque RISC y le facilitará la recuperación rápida de ARM (mi segundo recomendado) o SPARC o cualquier otra arquitectura RISC, incluso si nunca usa MIPS directamente. (Aunque, como señalé, puede terminar compitiendo con MIPS de todos modos.)

1

La CPU MIPS se enseña como el procesador de arquitectura RISC "básico" porque fue uno de los primeros procesadores RISC de gran éxito. SGI tenía varios sistemas informáticos construidos sobre esta familia de procesadores, como el Onyx y muchos otros. También se usó en algunas computadoras MPP (Massively Parallel Processor) a mediados/finales de 1980 hasta finales de los 90.

Como se mencionó anteriormente, el código era fácil de aprender y una vez que lo aprendió, era fácil pasar a procesadores basados ​​en instrucciones RISC más "complejos" como Alpha, SPARC, ARM, IBM Power PC para nombrar unos pocos. Es digno de mencionar, HP también produjo un procesador RISC en la década de 1980 que pasó a alimentar algunos de sus sistemas informáticos comerciales.

El procesador MIPS aún existe hoy, el MIPS64 I-Class, basado en el procesador MIPS-V, es la última versión del procesador que conozco; producido por Imagination Technologies. Según tengo entendido, este y los nuevos procesadores MIPS como el R14K y el R16K se basan en la arquitectura R10K.

En mi juventud, tuve la fortuna de trabajar en un procesador SGI Onyx Reality Engine II de 16 procesadores, con MIPS R10k actualizado. Habiendo trabajado principalmente en sistemas CISC UNIX SVR4 de 32 bits, me sorprendió que la mayoría de los comandos fueran exactamente iguales. Me tomó un par de días aprender las diferencias de codificación, pasando de CISC a RISC, pero después de eso, ¡¡¡fue muy fácil !!!

0

Me gustaría agregar que hoy verás que las empresas chinas usan MIPS, entre las que se incluyen Ingenic Semiconductor, que apunta a los mercados de consumo, y Loongson Technology, que está involucrado en productos de consumo y supercomputadoras.

Cuestiones relacionadas