Capítulo 2: Instrucciones: el lenguaje del computador JOSÉ LUIS LEÓN CARRIÓN Y LUIS MIGUEL SOTAMB...

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Capítulo 2: Instrucciones: el lenguaje del computador JOSÉ LUIS LEÓN CARRIÓN Y LUIS MIGUEL SOTAMBA ONCE por Mind Map: Capítulo 2: Instrucciones: el lenguaje del computador JOSÉ LUIS LEÓN CARRIÓN Y LUIS MIGUEL SOTAMBA ONCE

1. Introducción

1.1. Instrucciónes

1.1.1. Palabras del lenguaje del computador

1.1.2. En conjunto forman un repertorio

1.2. Programa Almacenado

1.2.1. Instrucciones almacenados en memoria como números

1.3. Palabra

1.3.1. unidad natural de acceso de tamaño de un registro de una arquitectura MIPS

1.3.1.1. En MIPS una palabra es de 32 bits

1.4. Dirección

1.4.1. Valor usado para señalar la posición de un dato en una memoria

2. Principios de diseño

2.1. 1. La simplicidad favorece la regularidad

2.2. 2. Cuanto más pequeño más rápido

2.3. 3. Hacer rápido lo común

2.4. 4. El buen diseño exige buenos compromisos

3. Diseño de un repertorio de instrucciones

3.1. CISC

3.1.1. Complex instruction set computing

3.2. RISC

3.2.1. Reduced instruction set computing

3.3. Tipo de almacenamiento de los operandos

3.3.1. Pila

3.3.1.1. Los operandos son implícitos

3.3.2. Acumulador

3.3.2.1. Uno de los operandos es implícito

3.3.3. Registros de propósito general

3.3.3.1. .

3.3.3.1.1. Registro- Registro

3.3.3.1.2. Registro - Memoria

3.3.3.1.3. Memoria - Memoria

3.4. Modos de direccionamiento soportados

3.4.1. Inmediato

3.4.1.1. El operando se codifica dentro de la instrucción

3.4.2. Registro

3.4.2.1. Se incluye el identificador del registro que amacena el operando

3.4.3. Directo

3.4.3.1. Se incluye la dirección de memoria en la que está almacenado el operando

3.4.4. Indirecto

3.4.4.1. Se indica el registro que almacena la dirección de memoria en la que se encuentra el operando

3.4.5. Indirecto con desplazamiento

3.4.5.1. Se suma un operando inmediato al contenido del registro para obtener la dirección de memoria en la que se encuentra el operando

4. Circuitos que contienen ALUs

4.1. Microprocesadores

4.2. GPU

4.3. FPU

4.4. Procesadores digitales de senales

4.5. Lectores de CDS

4.6. Televisores de alta defincion

5. Realizacion del operador

5.1. Operador combinacional

5.1.1. Realiza una o varias operaciones

5.1.2. Sin memoria

5.2. Operador secuencial

5.2.1. Funciona por fases

5.2.2. Necesita memoria

6. Operandos y Registros

6.1. Opreando corresponde a una parte fisica del hardware: registro

6.2. Los registros son una parte del hardware visible a los programadores!

6.3. Los registros tienen un número limitado

7. Tratamiento de las instrucciones de control de flujo

7.1. Saltos condicionales e incondicionales

7.2. Alternativas para indicar el destino de salto

7.2.1. Direccionamiento relativo al PC

7.2.2. Direccionamiento indirecto con registro!

7.3. La condición de salto normalmente suele ir referida a comparaciones con uno o varios registros!

8. 2.2 Operaciones del hardware del computador

8.1. Operaciones aritméticas

8.1.1. Suma

8.1.1.1. add

8.1.1.1.1. sumar dos datos almacenados en registros

8.1.1.2. addi

8.1.1.2.1. Sumar una constante a un dato en registro

8.1.2. Resta

8.1.2.1. sub

8.2. Operaciones lógicas

8.2.1. operaciones bit a bit

8.2.1.1. and

8.2.1.1.1. Tres registros operandos

8.2.1.2. or

8.2.1.2.1. Tres registros operandos

8.2.1.3. nor

8.2.1.3.1. Tres registros operandos

8.2.2. Shift left logical

8.2.2.1. sll

8.2.2.1.1. multiplicar por 10

8.2.3. Shift right logical

8.2.3.1. srl

8.2.3.1.1. dividir para 10

8.3. Transferencia de dato

8.3.1. load word

8.3.1.1. Palabra de memoria a registro

8.3.2. store word

8.3.2.1. Palabra de registro a memoria

8.4. Salto condicional

8.4.1. branch on equal

8.4.1.1. beq

8.4.1.1.1. Comprueba igualdad y bifurca

8.4.2. branch on not equal

8.4.2.1. bnq

8.4.2.1.1. Comprueba desigualdad y bifurca

8.4.3. set on less than

8.4.3.1. slt

8.4.3.1.1. Compara si es menor que

8.5. Salto incondicional

8.5.1. jump

8.5.1.1. j

8.5.1.1.1. Salto a la dirección destino

8.5.2. jump register

8.5.2.1. jr

8.5.2.1.1. Para retorno de procedimiento

8.5.3. jump and link

8.5.3.1. ja

8.5.3.1.1. Para llamada a procedimiento

9. 2.3 Operandos del hardware del computador

9.1. Operandos en memoria

9.1.1. Registros con direcciones de memoria

9.1.2. Restricción de alineación

9.1.2.1. Las palabras deben comenzar en direcciones múltiplos de 4

9.1.2.2. Las memorias, físicamente, están diseñadas para hacer accesos alineados.

9.1.2.3. Un acceso no alineado o mal alineado, supone varios accesos alineados a la memoria!

9.1.3. Trabaja con ambas operaciones

9.1.4. Interpretación de las direcciones de memoria

9.1.4.1. Big Endian

9.1.4.1.1. Se utiliza como dirección el byte extremo izquierdo

9.1.4.1.2. Extremo mayor

9.1.4.2. Little Endian

9.1.4.2.1. Se utiliza como dirección el byte extremo derecho

9.1.4.2.2. Extremo menor

9.1.4.3. Middle Endian

9.1.5. Registros

9.1.5.1. De larga duración

9.1.5.1.1. $s1, $s2, ..., $s7

9.1.5.2. De corta duración

9.1.5.2.1. $t0, $t1, ..., $t9

9.2. Operando constantes o inmediatos

9.2.1. Se realizan operaciones con una constante de operando

10. Representación de las instrucciones en el computador

10.1. Campos de una instrucción MIPS

10.1.1. op

10.1.1.1. Naturaleza de la operación (opcode)

10.1.2. rs

10.1.2.1. Registro del primer operando fuente

10.1.3. rt

10.1.3.1. Registro del segundo operando fuente

10.1.4. rd

10.1.4.1. Registro del operando destino

10.1.5. shamt

10.1.5.1. Cantidad de desplazamiento

10.1.6. funct

10.1.6.1. Código de función

10.1.6.1.1. Selecciona la variante específica de operación en el campo opcode

10.2. Division

10.2.1. Longitud variable

10.2.2. Longitud fija

10.2.3. Híbrida

10.3. Tipos de instrucciones

10.3.1. Registro

10.3.1.1. opcode

10.3.1.1.1. 6 bits

10.3.1.2. rs

10.3.1.2.1. 5 bits

10.3.1.3. rt

10.3.1.3.1. 5 bits

10.3.1.4. rd

10.3.1.4.1. 5 bits

10.3.1.5. shamt

10.3.1.5.1. 5 bits

10.3.1.6. funct

10.3.1.6.1. 6 bits

10.3.2. Inmediato

10.3.2.1. opcode

10.3.2.1.1. 6 bits

10.3.2.2. rs

10.3.2.2.1. 5 bits

10.3.2.3. rt

10.3.2.3.1. 5 bits

10.3.2.4. Constante o direcci[on

10.3.2.4.1. 16 bits

10.3.3. Jump

10.3.3.1. opcode

10.3.3.1.1. 6 bits

10.3.3.2. instruction_index

10.3.3.2.1. 26

11. ALU

11.1. Opera sobre los datos de una instruccion

11.2. Realiza operaciones logicas - aritmeticas y desplazamiento.

11.3. Preferencia actual por el complemento a dos.

12. Operaciones del ALU

12.1. Sumador-restador paralelo en complemento a2

12.2. Operacion de multiplicacion

12.2.1. Sumador - restador + algoritmo

12.3. Es raro que un computador disponga de un divisor combinacional

13. Operandos en memoria

13.1. Las estructuras de datos se almacenan en memoria.

13.2. En MIPS las operaciones aritméticas se realizan entre registros.

13.3. Se necesitan instrucciones para transferir datos entre los registros y la memoria.

13.4. Para acceder a una palabra en memoria se necesita la dirección de memoria de la misma.

13.4.1. La unidad de direccionamiento es el byte.