Instrucciones: El lenguaje del computador

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Instrucciones: El lenguaje del computador por Mind Map: Instrucciones: El lenguaje del computador

1. Lenguaje del computador

1.1. Instruccion

1.1.1. Palabra que entiende el ordenador

1.2. Juego de instrucciones

1.2.1. Vocabulario de comandos entendido por determinada arquitectura

1.3. Objetivo de diseñador de computadores

1.3.1. Encontrar lenguaje de hardware y compilador sencillo con gran rendimiento bajo costo

2. Objetivos

2.1. Programa Almacenado

2.1.1. Instrucciones y datos que se pueden almacenar como números

2.2. Escribir programas en lenguaje computador y ejecutarlos en simulador

2.3. Impacto de lenguajes de programación

2.4. Optimización de compilador en el rendimiento

3. ALU

3.1. Requisito fundamental de una computadora

3.2. Opera sobre datos de una instruccion

3.3. Representación

3.3.1. Complemento a dos

4. Principios de diseño de hardware

4.1. Principio 1: Simplicidad favorece la regularidad

4.1.1. Compilador traduce lenguaje C a lenguaje ensamblador de MIPS

4.2. Principio 2: Más pequeño es más rápido

4.2.1. Mayor número de registros incrementa ciclo de reloj

4.3. Principio 3: Haz que el caso más común sea rápido

4.4. Principio 4: un buen diseño demanda buenos compromisos

5. Operando y registro

5.1. Operandos

5.1.1. Se corresponden con los registros

5.2. Registro

5.2.1. Parde de hardware visible a los programadores

5.2.2. En MIPS su tamaño es de 32 bits

5.2.3. Tinen un número limitado

5.2.4. En MIPS hay 32 registros de 32 bits

5.2.5. $ representa registros en programas C

5.2.6. $T0 referencia registros temporales empleados en instrucciones MIPS

5.3. Estructuras de datos complejas

5.3.1. Arrays y estructuras

5.3.2. Se almacenan en memoria

5.3.3. Operaciones aritméticas se realizan entre registros

5.3.4. Trabaja con direcciones de memoria

5.3.5. Se asocian con direcciones de memoria mediante el compilador

5.4. Tipos de almacenamiento de operandos

5.4.1. Pila

5.4.1.1. Operandos implícitos

5.4.2. GRP

5.4.2.1. Operandos se especifican de forma explícita

5.4.2.2. Tipos

5.4.2.2.1. Registro-Registro

5.4.2.2.2. Registro-Memoria

5.4.2.2.3. Memoria-Memoria

6. Operador

6.1. Tipos

6.1.1. Aritméticos de números enteros

6.1.1.1. +,-,*,/

6.1.2. Operaciones lógicas de bits

6.1.2.1. AND,NOT,OR,XOR,NOR

6.1.3. Operaciones de desplazamiento de bits

6.1.3.1. Desplazar, rotar izquierda o a derecha

6.2. Aspecto de un operador

6.3. Ámbito

6.3.1. Uso general

6.3.2. Uso especializado

6.3.2.1. Operación con cierta complejidad

6.3.2.2. Ejemplo: Coprocesador matemático

6.4. Realización

6.4.1. Operador Combinacional

6.4.1.1. Circuito digital combinacional

6.4.1.2. Realiza 1 o varias operaciones

6.4.1.3. Resultado se vuelca directo en un registro

6.4.2. Operador secuencial

6.4.2.1. Circuito digital secuencia

6.4.2.2. Necesita memoria

6.4.2.3. Funciona por fases

6.4.2.4. Aplica algoritmos de cálculo propios

6.5. Ejemplo

6.5.1. Sumador-Restador paralelo

6.5.1.1. Suma o resta dependiendo de una señal de control

6.5.1.2. Para la resta se cambia se signo de sustraendo y se realiza una suma

6.5.2. Multiplicación

6.5.2.1. Sumador-Restador+algoritmo

6.5.2.2. Algoritmos

6.5.2.2.1. Multiplicación binaria sin signo

6.5.2.2.2. Multiplicación binaria con signo

6.5.2.2.3. Multiplicadores combinacionales

6.5.3. División

6.5.3.1. Sumador-restador+algoritmo

7. Repertorio de instrucciones

7.1. Influencia

7.1.1. Número de instrucciones para realizar una tarea

7.1.2. Diseño del compilador

7.1.3. Diseño de la ruta de datos y unidad de control

7.2. CISC

7.2.1. Gran número de instrucciones complejas

7.2.2. Gran variedad de tipos de datos

7.2.3. Permite implementar instrucciones de alto nivel

7.2.4. HW más complejo

7.3. RISC

7.3.1. Pocas instrucciones básicas

7.3.2. Pocos tipos de datos

7.3.3. Requiere más instrucciones que CISC para la misma tarea

8. Aspectos importantes a tener en cuenta

8.1. Tipo de almacenamiento de operandos

8.2. Modos de direccionamiento soportados

9. Interpretación de direcciones de memoria

9.1. La mayoría de máquinas están direccionadas por bytes

9.2. Convenios para clasificar bytes de una palabra

9.2.1. Little Endian

9.2.1.1. Comienzo por el extremo pequeño

9.2.2. Big Endian

9.2.2.1. Comienzo por el extremo grande

9.2.3. Middle Endian

9.2.3.1. Puede trabajar en ambas ordenaciones