La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División.

Presentaciones similares


Presentación del tema: "Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División."— Transcripción de la presentación:

1 Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División Punto Flotante

2 ©2003, José Mª Foces Morán. Enteros sin-signo. Supondremos una configuración big endian para MIPS.

3 ©2003, José Mª Foces Morán. Enteros con-signo: Complemento a 2. Bit de signo

4 ©2003, José Mª Foces Morán. Las direcciones de memoria son enteros sin-signo. Las direcciones de memoria en la ISA de MIPS son enteros no negativos de ancho 32 bits: Los representamos como enteros sin-signo y su ancho es de 32 bits.  Por tanto, la primera dirección de memoria es la 0.  La última es la 2 32 -1.  No todos los sistemas basados en MIPS tienen una memoria principal tan amplia: ¡4 Gbytes! Recordemos los siguientes aspectos importantes:  Cada dirección de memoria está asociada a un byte (8 bits).  Cada Word está formada por cuatro bytes, o sea, cada word se extiende a lo largo de 4 direcciones de memoria.  Puesto que cada uno de los bits de una word tiene su peso, el orden en el que se almacenan los bytes de una word en direcciones de memoria sucesivas afecta al valor almacenado. MIPS comumente emplea el ordenamiento de bytes extremista superior ( Big-endian ).

5 ©2003, José Mª Foces Morán. Comparación con-signo y sin-signo. Al comparar dos enteros de signo distinto, el resultado de la comparación depende del algoritmo empleado. Ejemplo:  $s0 = 1111 1111 1111 1111 1111 1111 1111 1111  $s1 = 0000 0000 0000 0000 0000 0000 0000 0001 ¿Qué valor aparece en $t0 después de ejecutar la sig. instrucción? slt $t0, $s0, $s1 ¿Qué valor aparece en $t0 después de ejecutar la sig. instrucción? sltu $t0, $s0, $s1

6 ©2003, José Mª Foces Morán. sltu efectúa una comparación de datos sin-signo (Unsigned). El resultado de una comparación con signo puede ser distinto del producido por una comparación sin signo:  $s0 = -1 (Con-signo) = 4.294967.295 (Sin-signo)  $s1 = 1 (Con-signo) = 1 (Sin-signo) Set-on-less-than (Signed). slt $t0, $s0, $s1 En $t0 aparece un 1. Set-on-less-than ( UNS igned). u sltu $t0, $s0, $s1 En $t0 aparece un 0.

7 ©2003, José Mª Foces Morán. Más variedades de slt.

8 ©2003, José Mª Foces Morán. lb y lbu: Dos formas de cargar un byte desde memoria.

9 ©2003, José Mª Foces Morán. Nuevas instrucciones de suma y resta.

10 ©2003, José Mª Foces Morán. Instrucciones de desplazamiento lógico. Desplazar todos los bits de un registro a la vez. A la izquierda (Hacia pesos superiores)  Cada desplazamiento a la izquierda equivale a una multiplicación por 2. A la derecha (Hacia pesos inferiores).  Cada desplazamiento a la derecha equivale a una división por 2. Cada desplazamiento llena el espacio vacío producido con un cero.  sll $t2, $s0, 8 ; $t2 = $8 << 8 Desplazar $s0 8 veces a la izquierda y poner el resultado en $t2.  srl $t2, $s0, 8 ; $t2 = $8 >> 8 Desplazar $s0 8 veces a la derecha y poner el resultado en $t2.

11 ©2003, José Mª Foces Morán. Instrucciones lógicas. AND Efectúa un AND lógico de los dos registros fuente.  and $t0, $t1, $t2 ; $t0 = $t1 & $t2 Evaluar $t1&$t2 y poner el resultado en $t0. OR Efectúa un OR lógico de los dos registros fuente.  or $t0, $t1, $t2 ; $t0 = $t1 | $t2 Evaluar $t1|$t2 y poner el resultado en $t0.

12 ©2003, José Mª Foces Morán. Instrucciones lógicas: Más variedades.

13 ©2003, José Mª Foces Morán. Una ALU para el µP MIPS. En general una ALU efectúa: Operaciones aritméticas  Suma  Resta  Multiplicación  División  Cambio de signo.  Comparación. Operaciones lógicas  AND  OR  XOR  NOT

14 ©2003, José Mª Foces Morán. Los bloques constructivos de la ALU.

15 ©2003, José Mª Foces Morán. La celda básica AND/OR y el sumador completo de 1 bit.

16 ©2003, José Mª Foces Morán. ALU de 1 bit: AND, OR y suma.

17 ©2003, José Mª Foces Morán. Una 1ª ALU de 32 bits para MIPS.

18 ©2003, José Mª Foces Morán. Celda capaz de restar (R).

19 ©2003, José Mª Foces Morán. Celda con overflow y set.

20 ©2003, José Mª Foces Morán. ALU de 32 bits: 31 celdas (R) y 1 celda (os)


Descargar ppt "Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División."

Presentaciones similares


Anuncios Google