-
Notifications
You must be signed in to change notification settings - Fork 0
MIPS
Es un procesador de 32 bits tipo RISC, lo que significa que tiene un set de Instrucciones reducido, esto lo hace un procesador simple y facilmente entendible.
Su set de instrucciones y explicaciones puede ser encontrado en [https://s3-eu-west-1.amazonaws.com/downloads-mips/documents/MD00086-2B-MIPS32BIS-AFP-6.06.pdf].
El procesador mips tiene tipicamente 3 tipos de instrucciones generales:
- Las instrucciones tipo R, se basan generalmente en hacer operaciones aritmético-lógicas con 2 datos recibidos desde direcciones implícitas en la instrucción y su resultado se guarda en otra dirección también implícita en la instrucción.
- Las instrucciones tipo I, son parecidas a la R, solo que ahora recibe una única dirección implícita en la dirección, y el otro dato se obtendrá directamente desde el campo de la instrucción llamado inmediate. También se usan este tipos de instrucciones para los branches, que funcionan para hacer saltos de instrucciones evaluando 2 datos.
- Las instrucciones tipo J, funcionan para hacer saltos sin evaluar nada, con estas instrucciones puede saltarse a cualquier parte del programa.
Con esto ejecuta distintas instrucciones (visualizables en el pdf) a traves de distintos modulos que lo componen, realizando tareas especificas, y creando asi el ciclo FETCH-DECODE-EXECUTE.
En 1981, un equipo liderado por John L. Hennessy en la Universidad de Stanford comenzó a trabajar en lo que se convertiría en el primer procesador MIPS. La idea básica era mejorar drásticamente el rendimiento mediante el uso de la segmentación, una técnica que ya era entonces muy conocida pero también difícil de implementar. Su funcionamiento puede resumirse en que la ejecución de una instrucción es dividida en varias etapas, comenzando la "etapa 1" de una instrucción antes de que haya finalizado la ejecución de la instrucción anterior. En contraste, los diseños tradicionales esperaban la finalización por completo de una instrucción antes de pasar a la siguiente, de modo que grandes áreas de la CPU permanecían inactivas mientras el proceso continuaba. Además, la frecuencia de reloj de toda la CPU venía dictada por la latencia del ciclo completo, en lugar de por el llamado camino crítico, latencia de la etapa de segmentación que más tarda en completarse.

