Está en la página 1de 8

Cmo fue MIPS nace?

como proyecto de investigacin en 1981, JohnL. Hennessy


Universidad de Stanford

En qu computadores de proposito especifico es MIPS


utilizada?
Sony PlayStation, CISCO Routers, Impresoras lser,
Cmaras digitales, Sony AIBO, PDAS.

Cualquier arquitectura viene definida por:


Los registros visibles al programador de lenguaje mquina,
El repertorio de instrucciones, Los modos de
direccionamiento a los datos, Los tipos de datos que se
pueden manejar, la gestin de las excepciones.

Caractersticas del Procesador MIPS


Mquina tipa load/store, 32 registros de propsito general,
varios modos de operacin, Direcciona 2^32 posiciones de
memoria, Formato de instrucciones fijo, Puede poseer
varios coprocesadores:uno obligatorio de control y hasta 3
opcionales (usaremos el de punto flotante).

Cmo son las instrucciones se almacenan?


Las instrucciones se almacenan en memoria en posiciones
consecutivas.

Qu es el Registro Program Counter(PC)?


es el puntero en memoria a la prxima instruccin a
ejecutar de un programa.

Cuantos bits tiene el PC?


32 bits, 4 bytes

Cmo es un registro inicializado?


Con la direccin de memoria de la primera instruccin del
programa que se quiere ejecutar.

EN PCSPIM qu es la primera direccin y por cuantos


bytes incrementa?
0x00400000, 4 bytes

Cuantos bancos de registros tiene MIPS?


32, $0-$31

$zero (0)
contiene un cero

$at (1)
implementacin de macro-instrucciones

$v0, $v1(2-3)
Resultados subrutinas

$a0-$a3 (4-7)
Parmetros subrutinas

$t0-$t9 (8-15/ 24,25)


Registros temporales

$s0-$s7 (16-23)
variables de large duracin

$k0-k1 (26-27)
Reservados para rutinas de atencin de excepciones

$gp (28)
Puntero de acceso al rea de datos

$sp (29)
stack pointer

$fp (30)
puntero marco

$ra (31)
direccin de retorno de las subrutinas

Qu es la funciona de la Unidad Aritmtico Lgica


operaciones aritmticas con enteros, operaciones lgicas bit
a bit (AND NOR OR EXOR), Clculo de direcciones
efectivas, clculo los saltos.

Cmo es la operacin que efecta la ALU indicada?


por el cdigo de operacin de la instruccin que se
est ejecutando.

La memoria es un vector de cuantos bytes?


2^32= 4GB

Cuantos bits es un direccin?


32 bits

Cuantos bits es un Word?


32 bits (4 bytes)

Cuantos bits es un Half Word?


16 (2 byes)

Cuantos bits son un byte?


8 (1 byte obvi)

Qu son los dos tipos de programas ejecutndose en el


computador?
Sistema y usuario

Qu son los dos modos de ejecucin?


Kernel y user

Qu es el principal mecanismo de separacin entre de los


modos de ejecucin?
Utilizar diferentes posiciones de memoria para ambos tipos
de programas

Big Endian
Flip Flopped

Cmo hace la unidad de control buscar y ejecutar


instrucciones?
por generar secuencias especficas de seales de control

Por qu los seales de control son tan importantes?


Los multiplexores requieren seales de control para
seleccionar el dato, la ALU necesita seales de control para
especificar la operacin, la memoria necesita seales de
control especificando lectura/escrita.

Cuantos bits son todos los instrucciones?


32

Qu son los tres tipos de instrucciones?


Inmediato, salto, y registro.

Tipo R es usado para qu?


para las operacines aritmticas y lgicas

Qu es el Op-code para instrucciones de tipo r?


000000

Qu es la cdigo mquina para los instrucciones de tipo


R?
Op-Code (6 bits), Rs (5), Rt (5), Rd (5), shamt (5), Fun code
(6)

Tipo I es usado para qu?


para operar con inmediatos, loads/stores y branch

Qu es la cdigo mquina para los instrucciones de tipo I?


Op-Code (6 bits), Rs (5 bits), Rt (5 bits), Offset (16)

Tipo J es usado para qu?


Se usa en algunas de las instrucciones de salto (j y jal)

Qu es la cdigo mquina para los instrucciones de tipo J?


Op-Code (6 bits), Address (26)

Cmo accede la memoria en mips?


Con instrucciones de load/store

lw Rt, offset(Rs)
La instruccin carga una copia del contenido de la memoria
en dicha direccin efectiva en el registro Rt. En caso de que
la direccin efectiva no sea mltiplo de 4 se genera una
excepcin de error de direccin.

sw Rt, offset(Rs)
La instruccion almacena el contenido de Rt en la direccio n

efectiva de memoria. En caso de que la direccion efectiva no


sea multiplo de 4 se genera una excepcion de error de
direccion.

Direccionamiento en MIPS

inmediato, registro, base ms desplazamiento

Direccionamientos Inmediato
El operando est presente en la propia instruccin. En MIPS
se emplea con instrucciones especiales y el operando
siempre debe ser un entero de 16 bits.

Direccionamientos Registro
El cdigo de la instruccin hace referencia a un registro que
es donde se encuentra el operando. En MIPS es la forma
habitual que emplean la mayora de las instrucciones.

Direccionamientos de ms desplazamiento
La instruccin referencia un registro que contiene una
direccin de memoria (directo n
base)y un desplazamiento
constante (entero de 16 bits) que se suma a la direccin para
obtener la direccin efectiva. En MIPS es el nico modo
vlido para los accesos a memoria.

UN P OC O D E H ISTOR IA

El microprocesador MIPS fue desarrollado como parte de una investigacin en VLSI en la Universidad de
Stanford, a principios de los aos 80. El profesor John Hennessy empez el desarrollo del MIPS con una
"tormenta de ideas" realizada por alumnos y finalmente fue uno de los primeros procesadores RISC
producidos comercialmente. Su desarrollo se realiz en paralelo al de los diseos de Berkeley e IBM.

En este apartado se describen las caractersticas generales de esta arquitectura y de su repertorio de


instrucciones.

GE N ER AL ID AD ES

El MIPS 64 es una arquitectura RISC basada en registros de propsito general de tipo


carga/almacenamiento. Por lo tanto siempre es necesario que los operandos de una instruccin estn
almacenados en registros dentro del proceasdor (no puedan estar en memoria), y los resultados siempre
se devuelven a registros dentro del procesador.Tiene 32 registros de propsito general de 64 bits (R0,
.R31). El registro R0 siempre almacena un 0 y no se puede variar su contenido as que en realidad es
como si slo hubiera 31 registros.

Tambin tiene 32 registros para coma flotante (F0,.F31) que pueden almacenar nmeros en
precisin simple o doble.

Soporta tipos enteros de 8, 16, 32 y 64 bits y tipos en coma flotante de 32 y 64 bits. Tambin
permite trabajar con nmeros en coma flotante de precisin simple empaquetados de dos en dos.

Utiliza direcciones de memoria de 64 bits.

Permite nicamente
desplazamiento.

dos

modos

de

direccionamiento:

el

inmediato

el

indirecto

con

El direccionamiento de los saltos es relativo al PC. Es decir, para especificar la direccin destino de
un salto se da un offset que sumado al PC permite calcular esta direccin.

RE P E RTOR IO D E IN STR UC C ION ES

Su repertorio de instrucciones consiste en aproximadamente 111 instrucciones, cada una de las cuales se
codifica con 32 bits (codificacin de longitud fija). A continuacin se proporciona un ejemplo de instruccin:

Figura

1:

Ejemplo

de

instruccin

del

procesador

MIPS.

Se representa la instruccin "Add R12, R7, R8"

Esta instruccin le indica al procesador que debe calcular la suma de los valores contenidos en los registros 7
y 8, y que debe guardar el resultado de la suma en el registro 12 (hay que recordar que el MIPS es una
arquitectura basada en registros de propsito general). La representacin en binario coloreada representa
los 6 campos de una instruccin de tipo Add en el MIPS. El procesador identifica el tipo de instruccin
mediante los dgitos binarios correspondientes a los campos primero y ltimo. En este caso concreto, el
procesador reconoce que la instruccin es una suma mediante el 0 en su primer campo, y el 20 en su ltimo
campo. Los operandos estn representados en los campos azul y amarillo, y el resultado deseado se
presenta en el cuarto campo (color morado). El campo naranja representa un valor que no se utiliza en este
caso concreto, el campo Shift Amount.

Aunque todas las instrucciones del repertorio se codifican con 32 bits, existen tres formatos de instruccin
diferentes en el MIPS64:
Instrucciones tipo I:
Se trata de instrucciones que necesitan incorporar un operando inmediato, es decir, aritmtico-lgicas,
direccionamientos a memoria y saltos.
Campos de la instruccin:

OpCode: Cdigo de la operacin.

Rs: Registro fuente.

Rt: Registro destino.

Inmediate: Operando inmediato o desplazamiento en direccionamientos a memoria u offset


relativo al PC en los saltos.

Instrucciones tipo R:
Este tipo de instrucciones es el usado en las operaciones ALU registro - registro.
Campos de la instruccin:

OpCode: Cdigo de operacin.

Rs: Primer registro operando fuente.

Rt: Segundo registro operando fuente.

Rd: Registro operando destino, donde se almacena el resultado de la operacin.

Shamt (Shift Amount): Desplazamiento para las instrucciones de tipo Shift.


Funct: Funcin. Completa el OpCode para seleccionar el tipo de instruccin del que se

trata.

Instrucciones tipo J:
Por ltimo, este es el tipo usado en las operaciones de salto incondicional.
Campos de la instruccin:

OpCode: Cdigo de operacin.

Offset: Offset relativo al PC.

Figura

1:

Formato

de

Instrucciones

del

microprocesador

MIPS

Haz click aqu para ver la imagen ms grande

Para ampliar esta informacin, puedes visitar...


MIPS
Instruction

Reference (en

ingls)

Se trata de una descripcin del conjunto de instrucciones MIPS: sus significados, sintaxis, semntica, y
codificacin
de
bits.
Microelectronics
Universidad de Idaho.

RISC

Research

and

Architecture:

Communications

MIPS (en

Institute.

ingls)

Pgina creada por Crystal Chen, Greg Novick y Kirk Shimano para acompaar a una presentacin sobre
las arquitecturas RISC realizada en la asignatura The Intellectual Excitement of Computer Science.
Stanford Computer Science Education -- CSE.

https://www.youtube.com/watch?v=ijqSJUkAx44

También podría gustarte