El lenguaje del computador

Use this template to collect all materials and information related to a class/course.

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

1. diseño de un repetidor de instrucciones

1.1. influye directamente en

1.1.1. número de instrucciones necesarias para realizar una tarea

1.1.2. el diseño del compiñador

1.1.3. el diseño de la ruta de datos y unidad de control

1.1.4. hasta los ochenta era CISC

1.1.4.1. gran numero de instrucciones complejas

1.1.4.2. gran variedad de tipos de datos, modos de direccionamiento y operaciones

1.1.4.3. permite implementar instrucciones de alto nivel directamente

1.1.4.4. HW mas complejo

1.1.5. en la actualidad se usa el RISC

1.1.5.1. pocas instrucciones y muy basicas

1.1.5.2. pocos tipos de datos y direcionamiento

1.1.5.3. tecnicas de optimizacion

1.1.5.3.1. a nivel del HW y del compilador

1.1.5.3.2. mas sencillas de implementar

1.1.5.4. necesitan más instrucciones para realizar la misma tarea

1.1.6. aspectos importantes a tener en cuenta

1.1.6.1. tipo de almacenamiento de los operandos

1.1.6.1.1. se diferencian en el tipo de almacenamiento interno que utilizan

1.1.6.2. modos de direccionamiento soportados

2. ALU

2.1. CIrcuitos de la ALU

2.1.1. microprocesadores

2.1.2. unidad de procesamiento grafico

2.1.3. Floating-Point Unit(FPU)

2.1.4. procesadores digitales de señales

2.1.5. Lectores de CD

2.1.6. televisores de alta definicion

2.2. operaciones que realiza

2.2.1. desplazamiento

2.2.2. logicas

2.2.3. aritmeticas

2.3. sumador y restador

2.3.1. mayoría de casos

2.4. como realiza las operaciones

2.4.1. descompone en pasos elementales

2.4.2. ejecuta rápidamente estos pasos

2.5. sistemas numericos

2.5.1. procesa numeros con el mismo formato

2.5.2. las primeras computadores

2.5.2.1. complemento a1

2.5.2.2. signo-magnitud

2.5.2.3. verdaderos sistemas decimales

2.5.3. mostraba diferentes diseños

2.5.3.1. influyo para la preferencia del complemento a2

2.5.3.1.1. representación mas simple

3. Operandos del hardware del computador

3.1. operandos y registros

3.1.1. los operandos de las instrucciones aritméticas son limitados

3.1.2. corresponden físicamente en el hardware (registros)

3.1.3. los registros son parte del hardware visible a los programadores

3.1.4. MIPS 32 tiene un registro de 32 bits

3.1.4.1. denominada palabra

3.1.5. los registros tienen un numero limitado de variabes

3.1.6. MIPS 32 posee 32 registros de 32 bits

3.1.6.1. un número mayor de registros supone incrementar el ciclo de reloj

3.1.6.1.1. señales electrónicas tardan mas en recorrer distancias mas largas

3.1.6.1.2. (mas pequeño más rápido principio 2)

3.2. operandos en memoria

3.2.1. estructura de datos complejas

3.2.1.1. arrays y estructuras

3.2.2. estructura de datos grandes poseen más elementos que las que puede almacenar un registro

3.2.3. estas estructuras se almacenan en memoria

3.2.3.1. pero las operaciones se realizan en los registros

3.2.3.2. por esta razón necesita operaciones para transferir datos entre la memoria y los registro

3.2.3.2.1. llamadas instrucciones de transferencia de datos

3.2.3.3. para acceder a una palabra se necesita su dirección de memoria

3.2.3.3.1. la memoria es similar a un array unidimensional donde la dirección es el índice del array

3.2.3.4. el compilador asocia estructuras de datos con direcciones de memoria

3.2.3.4.1. la unidad de direccionamiento es el byte

3.2.3.4.2. una palabra son 4 bytes

4. tipos de operadores

4.1. operadores aritmeticos numero enteros

4.1.1. suma

4.1.2. resta

4.1.3. multiplicación

4.1.4. división

4.2. operadores logicos de bit

4.2.1. AND

4.2.2. NOT

4.2.3. OR

4.2.4. XOR

4.2.5. NOR

4.3. operadores de desplazamiento de bits

4.3.1. desplazar o rotar

4.3.1.1. izquierda

4.3.1.2. derecha

4.3.1.3. con o sin extensión de signo

4.4. ámbitos de aplicación

4.4.1. general

4.4.1.1. realiza diferentes operaciones

4.4.2. especializado

4.4.2.1. realiza una operación de cierta complejidad

4.4.2.1.1. ejm. coprocesador matemático

4.4.3. los computadores suelen tener uno general

4.5. realización de los operadores

4.5.1. operador combinacional

4.5.1.1. circuito digitalcombinacional

4.5.1.2. realiza una o varias operaciones

4.5.1.3. no posee memoria

4.5.1.3.1. los resultados se vuelca directamente al registro

4.5.1.4. el tiempo

4.5.1.4.1. suma de os retardos de distintos circuitos

4.5.2. operador secuencial

4.5.2.1. circuito digital secuencial

4.5.2.2. funciona por partes y necesita memoria

4.5.2.3. aplica algoritmos de cálculos propios o procedentes de la unidad de control

4.5.3. operadores

4.5.3.1. sumador y restador paralelo en Ca2

4.5.3.1.1. sumar y restar

4.5.3.1.2. A-B

4.5.3.2. multiplicación

4.5.3.2.1. sumador - restador mas algoritmo

4.5.3.2.2. algoritmos

4.5.3.3. división

4.5.3.3.1. más compleja que la multiplicación

4.5.3.3.2. operador sumador-restador mas algoritmo

4.5.3.3.3. es raro que lo posea un computador

5. principos del hardware

5.1. principio 1

5.1.1. la simplicidad favorece a la regularidad

5.2. principio 2

5.2.1. mas pequeños es mas rapido

5.3. principio 3

5.3.1. has que el caso más común sea el más rápido

5.4. principio 4

5.4.1. un buen diseño demanda buenos compromisos

6. operandos de hardware

6.1. interpretación de las direcciones de memoria

6.1.1. la mayoria de maquinas estan direccionadas por bytes

6.1.1.1. byte

6.1.1.1.1. 8 bits

6.1.1.2. media palabra

6.1.1.2.1. 16 bits

6.1.1.3. palabra

6.1.1.3.1. 32 bits

6.1.1.4. dobles palabras

6.1.1.4.1. 64 bits

6.1.2. convenios para clasificar los bytes de una palabra

6.1.2.1. little endian

6.1.2.1.1. comienza por el extremo pequeño

6.1.2.1.2. el byte mas significativo en la posición menos significativa

6.1.2.1.3. la dirección de un dato es la del byte menos significativo

6.1.2.2. big endian

6.1.2.2.1. comienza por el extremo más grande

6.1.2.2.2. byte menos significativo en la posición más significativa

6.1.2.2.3. la dirección del dato es la del byte más significativo

6.1.2.3. middle endian

6.1.2.3.1. arquitectura capaz de trabajar con ambas ordenaciones (MIPS 32)

6.2. restricciones de alineamiento

6.2.1. en MIPS 32 las palabras deben comenzar con direcciones multiplo de 4

6.2.2. los accesos deben estar alineados

6.2.2.1. esto se debe a que las memorias físicamente para hacer accesos alineados

6.2.3. un acceso no alineado o mal alineado supone varios accesos alineados en la memoria

6.3. Operandos en memoria VS operandos en el registro

6.3.1. los registros tienen un menor tiempo de acceso y un mayor troughput que la memoria

6.3.1.1. se accede más rápidamente y de forma sencilla a los registros

6.3.2. se necesita menos energía para acceder a los registros

6.3.3. para un mejor rendimiento y utilizar menos energia

6.3.3.1. los compiladores deben hacer un uso eficiente de los registros

6.3.4. las operaciones inmediatas ilustran el tercer principio

6.3.4.1. la constante cero simplifica el juego de instrucciones ofreciendo variaciones utiles

7. Modos de direccionamiento

7.1. modos de direccionamiento

7.1.1. los operandos los podemos encontrar

7.1.1.1. en la propia instruccion

7.1.1.2. en un registro

7.1.1.3. en memoria principal

7.1.2. siempre en la propia instrucción

7.1.2.1. ahorro de espacio

7.1.2.1.1. instrucciones mas corta

7.1.2.2. direccionamiento relativo

7.1.2.2.1. codigo reutilizable

7.1.2.3. estructura de datos

7.1.2.3.1. direccionamiento mas facil y rapido mediante direccionamiento de punteros

7.2. modos de direccionamiento básico

7.2.1. inmediato

7.2.1.1. el operador se codifica dentro de la instrucción

7.2.2. registro

7.2.2.1. se incluye el identificador del registro que almacena el operando

7.2.3. directo

7.2.3.1. se incluye la dirección de memoria en la que esta almacenado el operando

7.2.4. indirecto

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

7.2.5. indirecto con desplazamiento

7.2.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

7.3. modos en un repertorio RISC

7.3.1. se incluyen como mínimo

7.3.1.1. direccionamiento inmediato

7.3.1.1.1. todas las operaciones deben soportar un modo o solo un subconjunto de ellas

7.3.1.1.2. el rango de valores del operando inmediato

7.3.1.2. indirecto con desplazamiento

7.3.1.2.1. la decisión más importante consiste en determinar el rango de valores que puede tomar el desplazamiento

8. diseño del repertorio

8.1. otras consideraciones

8.1.1. tipo y tamaño de los operandos

8.1.1.1. ¿Que tipo de datos soporta?, ¿Con que tamaños?, carácter, entero, flotante, etc

8.1.1.2. el código de operación opcode, indica el tipo de operandos implicados

8.1.1.3. se puede indicar los operandos mediante etiquetas

8.1.2. conjunto de operaciones soportadas

8.1.2.1. ¿Que tipo de operando van a realizar las instrucciones del repertorio?

8.1.2.2. conjunto sencillo

8.1.2.2.1. aritméticas lógicas

8.1.2.2.2. de acceso a la memoria

8.1.2.2.3. de control de flujos (saltos)

8.1.2.2.4. llamadas a sistema operativo

8.1.2.3. dependiendo de los tipos de datos, instrucciones para el manejo de caracteres, coma flotante, etc

8.1.3. tratamiento de las instrucciones de control de flujo

8.1.3.1. modifica el flujo de control de un código

8.1.3.2. saltos condicionlaes

8.1.3.2.1. ¿Como especifica la condición?

8.1.3.2.2. ¿Como se indica la dirección de destino del salto

8.1.3.3. saltos condicionales

8.1.3.3.1. ¿Como se indica el destino?

8.1.3.4. dos alternativas para indicar el destino del salto

8.1.3.4.1. direccionamiento relativo al PC

8.1.3.4.2. direccionamiento indirecto al registro

8.1.3.5. la condición de salto suele ir referida a uno o vario registros

9. representación de las instrucciones del computador

9.1. campos de una instrucción MIPS

9.1.1. formato de instrucciones

9.1.1.1. representar una instrucción mediante campos de numeros binarios

9.1.2. lenguaje maquina

9.1.2.1. representación numérica binaria de instrucciones

9.1.3. representación hexadecimal

9.1.3.1. números en base 16

9.1.4. campos

9.1.4.1. op

9.1.4.1.1. operación básica de la instrucción

9.1.4.2. rs

9.1.4.2.1. registro de primer operando fuente

9.1.4.3. rt

9.1.4.3.1. registro de segundo operando fuente

9.1.4.4. shamt

9.1.4.4.1. desplazamiento

9.1.4.5. funct

9.1.4.5.1. función (operacional específica a realizar)

9.1.5. codificacion del repertorio de instrucciones

9.1.5.1. longitud fija

9.1.5.1.1. soporta cualquier numero de operandos y cualquier combinacion de instrucciones

9.1.5.1.2. etiqueta que indica el modo

9.1.5.1.3. se añaden tantos campos como sean necesarios + las etiquetas que permiten su identificacion

9.1.5.2. longitud variable

9.1.5.2.1. el codigo de operacion indica el modo de direccionamiento

9.1.5.2.2. solo se permiten unas combinaciones determinadas (modos + operaciones)

9.1.5.2.3. los campos de las instrucciones son siempre los mismo

9.1.5.3. hibrida

9.1.5.3.1. solo permiten unos determinados formatos por instruccion