Está en la página 1de 9

ELMER ALEJANDRO VILLAGRAN VELAZQUEZ

MATRICULA: 94520

GRUPO: K050

TECNOLOGÍA ELECTRÓNICA

MTRA. PATRICIA ERENDIRA BENAVIDES MURATALLA

ACTIVIDAD DE APRENDIZAJE 3... PROCESADOR MIPS

CIUDAD DE MEXICO A 15 DE AGOSTO 2018


PROCESADOR MIPS:
Con el nombre de Mips (siglas de Microprocesador without Interlocked Pipeline Stages) se
conoce a toda una familia de microprocesadores de arquitectura RISC desarrollados por
Mips Technologies.
Los diseños del mips son utilizados en la línea de productos informáticos de Sgi; en muchos
sistemas enbedidos; en dispositivos para Windows CE, router Cisco y videoconsolas como
Nintendo 64 o las Sony Playstation. Playstación 2 y playstacion portable Mas
recientemente, la Nasa usó uno de ellos en la sonda New Horizon
Las primeras arquitecturas Mips fueron en fsfs 32 bits (generalmente rutas de datos y
registros de 32 bits de ancho), si bien versiones posteriores fueron implementadas en 64
bits. Existen cinco revisiones compatibles hacia atrás del conjunto de instrucciones del
Mips, llamadas Mips I Mips II Mips III Mips IV y Mips 32/64.

FORMATOS DE INSTRUCIONES
El tipo de formato de las instrucciones aritméticas y lógicas es de tipo R y el número de
operandos en una operación de este tipo es siempre tres. Estos operandos son siempre
registros, el modo de direccionamiento empleado es, por tanto, de registro.

TIPOS DE INSTRUCIONES
INSTRUCIONES DE TRANSFERENCIA O DE CARGA/ ALMACENAMIENTO
Los operandos para todas las operaciones aritméticas y lógicas se contienen en registros
para operar con datos en memoria antes deben haberse metido estos datos en los
registros.
Una operación de carga (load copia información desde la memoria principal a los
registros. Una operación de almacenamiento (store) copia informción de un registro a
memoria principal, las instrucciones de transferencia son instrucciones de tipo I
Cuando una palabra (4 bytes) se carga desde memoria en un registro o se pasa a
memoria desde un registro, la dirección de memoria involucrada ha de ser múltiple de 4

INSTRUCIONES DE SALTO CONDICIONAL


Lo que distingue a un computador de una simple calculadora es la habilidad de tomar
daciones. Basándose en los datos de entrada y los valores creados durante la computación,
el computador ejecuta diferentes instrucciones. La toma de daciones se representa
comúnmente en los lenguajes de programación usando la sentencia if (si condicional),
combinada a veces con sentencias go to (ir a) y éticas. El lenguaje ensamblador del Mips
incluye dos instrucciones de toma de daciones, similares a una sentencia if con un go to.
Estas instrucciones se muestran.
TIPOS DE OPERANDOS

2.4. Tipos de operandos El tipo de un dato viene determinado por la operación que se
realice con él. Categorías generales más importantes: (1) Direcciones (2) Números (3)
Caracteres (4) Datos lógicos 2(1) Direcciones En las instrucciones de control de secuencia
el operando es una dirección de memoria de la instrucción a la que se salta. Pueden
considerarse como números enteros sin signo que se cargan en el contador de programa.
En la MIPS serán números de 32 bits. Formato: Jr. propósito: Saltar a una instrucción cuya
dirección está en un registro. Descripción: PC ĸ rs rs contendrá un dato de tipo dirección.
3(2) Números (i) Enteros - Con signo, representados en complemento a 2. - Sin signo.
Tamaños: byte, media palabra (half-word), palabra (Word) Instrucciones de suma en la
MIPS: Formato: ADD rd, rs, propósito: Sumar enteros de 32 bits. Si ocurre
desbordamiento se produce una excepción (interrupción del programa). Formato: ADD RD,
rs, propósito: Sumar enteros de 32 bits. No se produce nunca una excepción.4(ii) Punto
flotante IEEE 754: simple precisión (32 bits) y doble precisión (64 bits). (iii) Decimal En BCD
(Decimal codificado en binario): MIPS no los tiene, tendría que programarse su tratamiento.
5(3) Caracteres Códigos binarios para representar caracteres. Estándares: -ASCII de 8 bits
-EBCDIC de 8 bits (utilizado por los grandes computadores IBM) MIPSno tiene
instrucciones específicas para tratamiento de caracteres. Lo que tiene es una facilidad
del ensamblador para declarar cadenas de caracteres. .data cadena: ascii "accede” # defino
string (4) Datos lógicos Un objeto de n bits es considerado como n datos de 1 bit. Utilizados
en operaciones lógicas.

REPRESENTACIÓN DE NÚMEROS ENTEROS Y DE PUNTOS FLOTANTES

En un ordenador típico los números en punto flotante se representan de la manera descrita


en el apartado anterior, pero con ciertas restricciones sobre el número de dígitos
de q y m impuestas por la longitud de palabra disponible (es decir, el número de bits que se
van a emplear para almacenar un número). Para ilustrar este punto, consideraremos un
ordenador hipotético que denominaremos MARC-32y que dispone de una longitud de
palabra de 32 bits (muy similar a la de muchos ordenadores actuales). Para representar un
número en punto flotante en el MARC-32, los bits se acomodan del siguiente modo:
Signo del número real x: 1 bit
Signo del exponente m: 1 bit
Exponente (entero |m|): 7 bits
Mantisa (número real |q|): 23 bits
En la mayoría de los cálculos en punto flotante las mantisas se normalizan, es decir, se
toman de forma que el bit más significativo (el primer bit) sea siempre '1'. Por lo tanto, la
mantisa q cumple siempre la ecuación (19).

Dado que la mantisa siempre se representa normalizada, el primer bit en q es siempre 1,


por lo que no es necesario almacenarlo proporcionando un bit significativo adicional. Esta
forma de almacenar un número en punto flotante se conoce con el nombre de técnica del
'bit fantasma'.

Se dice que un número real expresado como aparece en la ecuación (18) y que satisface
la ecuación (19) tiene la forma de punto flotante normalizado. Si además puede
representarse exactamente con |m| ocupando 7 bits y |q| ocupando 24 bits, entonces es
un número de máquina en el MARC-323

La restricción de que |m| no requiera más de 7 bits significa que:

Ya que , la MARC-32 puede manejar números tan pequeños como 10-38 y tan
38
grandes como 10 . Este no es un intervalo de valores suficientemente generoso, por lo que
en muchos casos debemos recurrir a programas escritos en aritmética de doble
precisión e incluso de precisión extendida.

Como q debe representarse empleando no más de 24 bits significa que nuestros números
de máquina tienen una precisión limitada cercana a las siete cifras decimales, ya que el bit
menos significativo de la mantisa representa unidades de . Por tanto, los
números expresados mediante más de siete dígitos decimales serán objeto
de aproximación cuando se almacenen en el ordenador.

Por ejemplo: 0.5 representado en punto flotante en el MARC-32 (longitud de palabra de 32


bits) se almacena en la memoria del siguiente modo:

Ejemplo 5: Suponga un ordenador cuya notación de punto fijo consiste en palabras de


longitud 32 bits repartidas del siguiente modo: 1 bit para el signo, 15 bits para la parte entera
y 16 bits para la parte fraccionaria. Represente los números
26.32, y 12542.29301 en base 2 empleando esta notación de punto fijo y
notación de punto flotante MARC-32 con 32 bits. Calcule el error de almacenamiento
cometido en cada caso.

Solución: El número 26.32 en binario se escribe del siguiente modo:


Empleando las representaciones comentadas, obtenemos:

Si expresamos el error como la diferencia entre el valor y el número realmente almacenado


en el ordenador, obtenemos:

En cuanto a los otros dos números, obtenemos:

Antes de entrar con detalle en la aritmética de los números en punto flotante, es interesante
notar una propiedad de estos números de especial importancia en los cálculos numéricos
y que hace referencia a su densidad en la línea real. Supongamos que p, el número de bits

de la mantisa, sea 24. En el intervalo (exponente f = 0) es posible representar


224 números igualmente espaciados y separados por una distancia 1/224. De modo análogo,

en cualquier intervalo hay 224 números equiespaciados, pero su densidad en


f 24
este caso es 2 /2 . Por ejemplo, entre 220 = 1048576 y 221 = 2097152 hay 224 = 16777216

números, pero el espaciado entre dos números sucesivos es de sólo . De este hecho se
deriva inmediatamente una regla práctica: cuando es necesario comparar dos números en
punto flotante relativamente grandes, es siempre preferible comparar la diferencia relativa
a la magnitud de los números. En la figura (1) se representa gráficamente la separación
entre dos números consecutivos en función del exponente f en el rango f = [20,30].
TIPOS DE DIRECCIONAMIENTOS UTILIZADOS POR LAS INSTRUCIONES

Modo de direccionamiento inmediato

El modo inmediato es la forma más simple de direccionamiento. El operando es parte de la


instrucción y, por lo tanto, ninguna referencia de memoria, distinta de la instrucción, es
requerida para recuperar el operando. Este modo es rápido y se puede utilizar para definir
constantes o establecer valores de variables iniciales. Este modo tiene un alcance limitado,
ya que es limitado al tamaño del campo de dirección, que para la mayoría de los conjuntos
de instrucciones es pequeño en comparación con la longitud de palabra.

Modo de direccionamiento directo

En el modo directo, el campo de dirección contiene la dirección del operando. Se requiere


una única referencia de memoria para leer el operando de la localización dada. Sin
embargo, sólo proporciona un espacio de direcciones limitado.

Modo de direccionamiento indirecto

En el modo indirecto, la celda de memoria a la que apunta el campo de dirección contiene


la dirección del operando (puntero), que a su vez contiene la dirección de longitud
completa del operando. Este modo tiene un espacio de direcciones grande, a diferencia
del direccionamiento inmediata y el directo, pero debido a que se requieren múltiples
accesos de memoria para encontrar el operando es más lento.

Modo de direccionamiento de registro

El modo de registro es similar al modo directo. La diferencia clave entre los dos modos es
que el campo de dirección de la instrucción se refiere a un registro en lugar de una
posición de memoria. El direccionamiento de registro no tiene una dirección eficaz. Tres o
cuatro bits son utilizados como campo de dirección para hacer referencia a los registros.

Modo de direccionamiento indirecto de registro

Este modo es similar al direccionamiento indirecto. El operando se encuentra en una


celda de memoria apuntada por contenido de un registro. El registro contiene la dirección
efectiva del operando. Este modo utiliza menos acceso de memoria que el
direccionamiento indirecto. Este modo tiene un espacio de direcciones grande, pero es
limitado al ancho de los registros disponibles para almacenar la dirección efectiva.

Modo de direccionamiento de desplazamiento

El modo de desplazamiento consiste en tres variaciones:

1) Direccionamiento relativo 2) Direccionamiento de registro base 3) Direccionamiento de


índice

Este modo puede considerarse una combinación del modo de direccionamiento indirecto y
de registro. La dirección tiene dos valores: el valor base y un registro que contiene un
desplazamiento entero que es sumado o restado de la base para formar la dirección
efectiva de la memoria.

Modo de direccionamiento de pila

El modo de pila, también conocido como direccionamiento implícito, consiste en un


conjunto lineal de ubicaciones referidos al último que entra y primero en salir. El operando
está en la parte superior de la pila. El puntero de la pila es un registro que almacena la
dirección de la parte superior de la ubicación de la pila.
TIPO DE DIRECCIONAMIENTO UTILIZADO POR LAS INSTRUCCIONES

Microprocesador:
Los diseños del Mips son utilizados en la línea de productos informáticos de Sgi, en muchos
sistemas embebidos; en dispositivos para Windows CE router Cisco y videoconsolas como
la Nintendo 64 o las Sony Playstation Playstation 2 y playstation portable.

Las primeras arquitecturas Mips fueron implementadas en 32 bits (generalmente rutas de


datos y registros de 32 bits de ancho), si bien versiones posteriores fueron implementadas
en 64 bits.
Formato tipo R:
Utilizado por las instrucciones aritméticas y lógicas.
Formato tipo I:
Utilizando por las instrucciones de transferencia, las de salto condicional y las instrucciones
con operandos inmediatos.
Formato tipo J:
Utilizando por las instrucciones de bifurcación.

También podría gustarte