INSTRUCCIONES: El Lenguaje del Computador

Get Started. It's Free
or sign up with your email address
INSTRUCCIONES: El Lenguaje del Computador by Mind Map: INSTRUCCIONES: El Lenguaje del Computador

1. Introducción

1.1. Lenguaje del Computador

1.1.1. Instrucciones

1.1.2. Juego de Instrucciones

2. Operaciones Hardware del Computador: ALU

2.1. OperacionesAritméticas

2.1.1. ALU: requisito fundamental

2.1.2. Garantiza Operaciones Básicas

2.2. Circuitos que contienen ALUs

2.2.1. Microprocesadores

2.2.2. GPUs

2.2.3. FPU

2.2.4. Procesadores de señales

2.2.5. Lectores CD

2.2.6. Televisores alta definición

2.3. Unidad Aritmética-Lógica

2.3.1. Operaciones

2.3.1.1. Desplazamiento

2.3.1.2. Lógicas

2.3.1.3. Aritméticas

2.3.2. Simple Sumado-Restador

2.4. Sistemas Numéricos

2.4.1. Procesamiento con mismo formato digital.

2.4.2. Varios Sistemas

2.4.2.1. Complemento a1

2.4.2.2. Signo-Magnitud

2.4.2.3. Sistemas Decimales

2.4.3. Complemento a2:preferido

2.5. Tipos de Operadores

2.5.1. Aritméticas de Números Enteros

2.5.2. Lógicas de bits

2.5.3. Desplazamiento de bits.

2.6. Ámbito de aplicación

2.6.1. General

2.6.2. Especializado

2.6.3. Coprocesador Matemático.

2.7. Realización Operador

2.7.1. Combinacional

2.7.2. Secuencial

2.8. Operaciones de Multiplicación

2.8.1. Sumador-Restador + algoritmo

2.8.2. Algoritmos

2.8.2.1. Binaria Sin Signo

2.8.2.2. Binaria Con Signo

2.8.3. Multiplicadores Combinacionales

2.9. Operaciones de División

2.9.1. Más compleja que multiplicación

2.9.2. Sumador+Restador + algoritmo

2.9.3. Computador no disponen divisor convencional.

3. Operandos Hardware del Computador

3.1. Operandos y Registros

3.1.1. Limitadas

3.1.2. Corresponden a registros

3.1.3. Registro: 32 bits en MIPS.

3.1.4. MIPS: 32 bits = palabra.

3.1.5. Registros tienen número ilimitado

3.1.6. MIPS tiene 32 registros de 32 bits

3.1.7. Limitación en número registros impuesta por PRINCIPIO DE DISEÑO II.

3.1.8. Más registros, mayor ciclo de reloj

3.1.9. MIPS utiliza símbolo ($): $s0, $s1

3.1.10. PRINCIPIO DE DISEÑO III: caso más común sea rápido.

3.1.10.1. MIPS tiene registro cableado a cero

3.2. Operandos en Memoria

3.2.1. Estructuras Datos Complejas

3.2.2. Mayor cantidad de registros

3.2.3. Estructuras de datos en memoria

3.2.4. MIPS: operaciones entre registros

3.2.4.1. Transferencia Datos

3.2.4.2. Dirección de Memoria

3.2.4.3. Array Unidimensional

3.2.5. Byte: unidad de direccionamiento

3.3. Interpretación Direcciones Memoria

3.3.1. Mayoría máquinas direccionadas por bytes.

3.3.2. Little Endian

3.3.3. Big Endian

3.3.4. Middle Endian

3.4. Restricciones de alineamiento

3.4.1. Direcciones múltiplos de 4

3.4.2. Accesos alineados

3.4.3. Memorias diseñadas para accesos alineados

3.4.4. Acceso no/mal alineado: varios accesos alineados

3.5. Operandos: Memoria vs Registros

3.5.1. Registros: menor tiempo acceso y mayor throughput que memoria

3.5.2. Se necesita menos energía para acceder a memoria

3.5.3. Compiladores: uso eficiente de registro

4. Modos de Direccionamiento

4.1. ¿Donde?

4.1.1. Propia Instrucción

4.1.2. Registro

4.1.3. Memoria Principal

4.2. ¿Propia Instrucción?

4.2.1. Ahorro espacio

4.2.2. Direccionamiento Relativo

4.2.3. Estructuras de Datos

4.3. Direccionamientos Básicos

4.3.1. Inmediato

4.3.2. Registro

4.3.3. Directo

4.3.4. Indirecto

4.4. Direccionamiento Repertorio RISC

4.4.1. Inmediato

4.4.1.1. Todas las instrucciones deben soportarlo

4.4.1.2. Rango de valores del operando

4.4.2. Indirecto con Desplazamiento

4.4.2.1. Determinar rango de valores del desplazamiento.

5. Representación de las Instrucciones en Computador

5.1. Campos de instrucción MIPS

5.1.1. Definir formato de instrucción

5.1.2. Usa Lenguaje máquina

5.1.3. Usa representación hexadecimal

5.1.4. Conflicto entre todas las instrucciones tengan misma longitud y único formato.

5.1.5. PRINCIPIO DE DISEÑO IV

5.1.5.1. Mantener instrucciones del mismo tamaño.

5.2. Codificación Repertorio Instrucciones

5.2.1. Longitud Variable

5.2.1.1. Soporta cualquier número de instrucciones.

5.2.1.2. Etiquetas indican modo.

5.2.1.3. Tantos campos como sean necesarios.

5.2.2. Longitud Fija

5.2.2.1. Código de operación especifica direccionamiento

5.2.2.2. Se permiten algunas combinaciones operaciones+modos.

5.2.2.3. Campos de instrucción son siempre los mismos.

5.2.3. Híbrido

5.2.3.1. Solo algunos formatos de instrucción.

5.2.3.2. Número variable de modos y operandos

5.2.4. Instrucciones Tipo I (Inmmediiate)

5.2.4.1. Load/Store

5.2.4.1.1. RS: Registro fuente

5.2.4.1.2. RT: Registro Destino

5.2.4.1.3. Inmediato

5.2.4.2. Aritmético-Lógicas

5.2.4.2.1. RS: Registro fuente

5.2.4.2.2. RT: Registro destino

5.2.4.2.3. Inmediato

5.2.4.3. Saltos condicionales/incondicionales

5.2.4.3.1. RS: Registro fuente

5.2.4.3.2. RT: Registro destino

5.2.4.3.3. Inmediato

5.2.5. Instrucciones Tipo R (Register)

5.2.5.1. Aritmético-Lógicas

5.2.5.1.1. RS: Registro fuente

5.2.5.1.2. RT: Registro destino

5.2.5.1.3. RD: registro destino

5.2.5.1.4. sa: Shift Amount

5.2.5.1.5. function

5.2.6. Instrucciones Tipo J (Jump)

5.2.6.1. Salto incondicional y retorno de procedimiento

5.2.6.1.1. opCode: Código de operación

5.2.6.1.2. Instr_index: offset relativo al PC

6. Diseño Repertorio Instrucciones

6.1. Diseño Repertorio Instrucciones

6.1.1. Influye en

6.1.1.1. Número de intrucciones por tarea

6.1.1.2. Diseño compilador

6.1.1.3. Diseño ruta de datos

6.1.2. CISC hasta 80s. RISC luego

6.1.3. CISC

6.1.3.1. Variedad tipos datos

6.1.3.2. Implementa instrucciones alto nivel

6.1.3.3. HW más complejo

6.1.4. RISC

6.1.4.1. Pocos tipos de datos

6.1.4.2. Técnicas de Optimización en HW

6.2. Aspectos Importantes

6.2.1. Tipos almacenamiento de Operandos

6.2.2. Modos direccionamiento

6.3. Tipos de Almacenamiento de Operandos

6.3.1. Pila

6.3.1.1. Operandos Implícitos

6.3.2. Acumulador

6.3.2.1. Un Operando es implícito

6.3.3. Registros Propósito General

6.3.3.1. Dos o tres operandos.

6.3.3.2. Registro - Registro

6.3.3.2.1. Codificación sencilla

6.3.3.2.2. Programas ocupan más

6.3.3.3. Registro - Memoria

6.3.3.3.1. 2 operandos

6.3.3.4. Memoria - Memoria

6.3.3.4.1. Código Compacto

6.3.3.4.2. Memoria con cuello de botella

6.3.3.4.3. Diferencia entre longitud y duración de instrucciones

6.3.3.4.4. Codificación compleja

6.3.3.4.5. Varía CPI

6.4. Consideraciones Extras

6.4.1. Tipo y Tamaño de Operandos

6.4.1.1. Tipos de datos

6.4.1.2. Código de Operación

6.4.1.3. Comandos mediante etiquetas

6.4.2. Operaciones Soportadas

6.4.2.1. Tipo de operaciones

6.4.2.2. Conjunto sencillo

6.4.2.2.1. aritmético-lógicas

6.4.2.2.2. Acceso a memoria

6.4.2.2.3. Control de flujo

6.4.2.2.4. Llamadas al sistema

6.4.3. Tratamiento de Instrucciones

6.4.3.1. Saltos Condicionales

6.4.3.2. Saltos Incondicionales

6.4.3.3. Direccionamiento Relativo al PC

6.4.3.3.1. Conoce el destino de salto

6.4.3.3.2. DEstinos cercanos al salto

6.4.3.3.3. Código reubicable

6.4.3.4. Direccionamiento Indirecto con Registro

6.4.3.4.1. Dirección de salto desconocida o con valor de desplazamiento excedido.

6.4.3.4.2. SE indica destino al identificador del registro

6.4.3.4.3. Condición de Salto va referida.