PROCESADORES MIPS
MIPS es un conjunto de arquitectura del conjunto de instrucciones
reducido equipo instrucción desarrollada por MIPS Technologies. Las
arquitecturas MIPS primeros eran de 32 bits, con versiones de 64 bits
añadidos más tarde. Existen múltiples revisiones del conjunto de
instrucciones MIPS, incluyendo MIPS I, MIPS II, MIPS III, MIPS IV, MIPS
V, MIPS32 y MIPS64 - Las revisiones actuales son MIPS32 y MIPS64. MIPS32
y MIPS64 definen un registro de control conjunto, así como el conjunto
de instrucciones.
Varias extensiones opcionales también están disponibles, incluyendo
MIPS-3D que es un simple conjunto de instrucciones de punto flotante
SIMD dedicadas a tareas 3D comunes, MDMX que es un número entero más
extenso conjunto de instrucciones SIMD utilizando los registros de coma
flotante de 64 bits, que MIPS16e añade compresión al flujo de
instrucciones para que los programas ocupan menos espacio y MIPS MT, que
añade la capacidad de multithreading.
Cursos de arquitectura informática de las universidades y escuelas
técnicas a menudo estudian la arquitectura MIPS. La arquitectura
influenciada arquitecturas RISC tarde como Alfa.
Implementaciones MIPS se utilizan principalmente en sistemas
embebidos, tales como dispositivos de Windows CE, routers, gateways
residenciales y consolas de videojuegos como la Sony PlayStation 2 y
PlayStation Portable. Hasta finales de 2006, también se utilizan en
muchos de los productos informáticos de SGI. Implementaciones MIPS
también fueron utilizados por Digital Equipment Corporation, NEC,
Pyramid Technology, Siemens Nixdorf, Tandem Computers y otros durante
los años 1980 y 1990. Entre mediados y finales de 1990, se estima que
uno de cada tres microprocesadores RISC producidos fue una
implementación MIPS.
HISTORIA
En 1981, un equipo dirigido por John L. Hennessy en la Universidad de
Stanford comenzó a trabajar en lo que sería el primer procesador MIPS.
El concepto básico era para aumentar el rendimiento mediante el uso de
tuberías de instrucciones profundas. Canalización como técnica básica
era muy conocido antes, pero no se convirtió en su máximo potencial.
CPUs se construyen a partir de una serie de sub-unidades dedicadas como
decodificadores de instrucciones, ALU, unidades de carga/almacenamiento,
etc. En un diseño no optimizado tradicional, una instrucción particular
en una secuencia del programa debe ser completado antes de la próxima
puede ser emitida para su ejecución, en una arquitectura segmentada, las
instrucciones sucesivas vez pueden superponerse en la ejecución. Por
ejemplo, al mismo tiempo, una instrucción de matemáticas se alimenta en
la unidad de coma flotante, la unidad de carga/tienda puede buscar la
siguiente instrucción.
Un obstáculo importante para la canalización era que algunas
instrucciones, como la división, necesitan más tiempo para completar,
por lo que la CPU tiene que esperar antes de pasar a la siguiente
instrucción en la tubería. Una solución a este problema es utilizar una
serie de sistemas de bloqueo que permite a las etapas para indicar que
están ocupados, haciendo una pausa las otras etapas aguas arriba. El
equipo de Hennessy vieron estos bloqueos como una barrera importante el
rendimiento, ya que tenían que comunicar a todos los módulos de la CPU
que lleva tiempo, y parecía limitar la velocidad de reloj. Un aspecto
importante del diseño de MIPS era para adaptarse a cada sub-fase, tales
como memoria caché de acceso, de todas las instrucciones en un ciclo,
eliminando de este modo cualquier necesidad de enclavamiento, y
permitiendo que un solo ciclo de rendimiento.
Aunque este diseño elimina un número de instrucciones útiles, tales
como multiplicar y dividir se estimó que el rendimiento global del
sistema se podría mejorar drásticamente debido a que los chips podrían
funcionar a frecuencias de reloj mucho más altas. Esta rampa de la
velocidad sería difícil con enclavamiento involucrados, como el tiempo
necesario para establecer bloqueos es tanto una función del tamaño de la
pastilla como velocidad de reloj. La eliminación de estas instrucciones
se convirtió en un punto discutible.
La otra diferencia entre el diseño MIPS y Berkeley RISC competir
involucrado el manejo de llamadas a subrutinas. RISC utiliza una técnica
llamada ventanas de registro para mejorar el rendimiento de estas
tareas muy comunes, pero esta limitada la profundidad máxima de las
llamadas de multi-nivel. Cada subrutina llamada requiere su propio
conjunto de registros, que a su vez requieren más espacio en el CPU y
una mayor complejidad en su diseño. Hennessy consideró que un compilador
cuidado podría encontrar registros libres sin tener que recurrir a una
implementación de hardware, y que simplemente aumentando el número de
registros no sólo haría que este sencillo, pero aumentar el rendimiento
de todas las tareas.
En otros aspectos el diseño MIPS fue en gran medida un típico diseño
RISC. Para guardar los bits de la palabra de instrucción, diseños RISC
reducir el número de instrucciones para codificar. El diseño MIPS
utiliza 6 bits de la palabra de 32 bits para el código de operación
básico, y el resto puede contener una dirección de salto solo 26 bits o
puede tener hasta cuatro campos de 5 bits que especifica hasta tres
registros además de un valor de cambio combinado con otros 6 bits de
código de operación; otro formato, entre varios, especifica dos
registros combinados con un valor inmediato de 16 bits, etc Esto
permitió a esta CPU para cargar hasta la instrucción y los datos que se
necesitan en un solo ciclo, mientras que un no- diseño RISC, tales como
el MOS Technology 6502, por ejemplo, requiere ciclos separados para
cargar el código de operación y los datos. Esta fue una de las mejoras
de rendimiento importantes que RISC ofrece. Sin embargo, los diseños
modernos de no-RISC lograr esta velocidad por otros medios.
publicado por kevin cambero
http://centrodeartigo.com/articulos-noticias-consejos/article_130209.html
0 comentarios:
Publicar un comentario