Arquitectura de Computadores: Instrucciones, Memoria y Representación de Datos

Clasificado en Informática

Escrito el en español con un tamaño de 4,83 KB

Arquitectura de Computadores

Instrucciones

DLL (Dynamic Link Library): Un archivo ejecutable ensamblado que actúa como complemento a otros programas. Estos archivos son llamados por el sistema operativo u otros ejecutables.

Elementos de una instrucción:

  • Código de operación: Especifica la operación a realizar.
  • Referencia a operandos origen: La operación puede implicar uno o más operandos que son entradas para la instrucción.
  • Referencia al operando de destino: La operación puede producir un resultado.
  • Referencia a la siguiente instrucción: Indica al procesador de dónde obtener la siguiente instrucción.

Los operandos origen y destino pueden estar en:

  • Memoria principal: Se indica la dirección a memoria principal o virtual.
  • Registro del procesador: Cada registro tiene un número único y la instrucción debe contener el número del registro deseado.
  • Dispositivo E/S: La instrucción debe especificar el módulo y dispositivo de E/S para la operación.

Instrucciones de salto:

  • jal: Guarda la dirección de memoria desde donde se realiza el salto.
  • jalr: Realiza un salto directo a la dirección guardada en el registro $rs.

Memoria en MIPS

Los sistemas MIPS dividen la memoria en tres partes:

  1. Text segment: Ubicado al inicio del espacio de direcciones, contiene las instrucciones del programa.
  2. Data segment: Encima del text segment, se divide en:
  • Static data: Contiene objetos de tamaño conocido para el compilador durante toda la ejecución del programa.
  • Dynamic data: Asignado por el programa durante su ejecución. Su tamaño máximo no se conoce de antemano.
Stack segment: Reside en la parte superior del espacio de direcciones. Al igual que dynamic data, su tamaño se desconoce de antemano. El sistema operativo expande el stack segment hacia abajo, hacia el data segment, a medida que el programa agrega valores.

Memoria virtual

Es una técnica de gestión que permite al sistema operativo y al software disponer de más memoria que la físicamente disponible.

Representación de Datos

Número en coma flotante

Notación para representar números muy grandes o fracciones muy pequeñas. Se expresa como un número multiplicado por una constante elevada a una potencia entera.

Representación en coma fija

La coma base es fija, a la derecha del bit menos significativo.

Representación en coma flotante

  • El signo se almacena en el primer bit (0 = + y 1 = -).
  • El primer bit de la mantisa siempre es 1 (normalizado).
  • Se suma 127 (o 1023 para doble precisión) al exponente original para almacenarlo en el campo del exponente (e = E + S).
  • La base es 2.
  • Estándar IEEE: La representación en coma flotante más importante.
  • Single Precision: 32 bits (1 signo, 8 exponente, 23 mantisa). Definida en la norma 754 del IEEE.
  • Double Precision: 64 bits (1 signo, 11 exponente, 52 mantisa).

Organización del procesador

  1. Captar instrucción: Lee la instrucción de la memoria.
  2. Interpretar instrucción: Decodifica la instrucción para determinar la acción necesaria.
  3. Captar datos: Puede requerir leer datos de memoria o de un módulo E/S.
  4. Procesar datos: Puede requerir realizar una operación aritmética o lógica.
  5. Escribir datos: Los resultados pueden requerir escribir datos en la memoria o en un módulo E/S.

Otros conceptos

Regla de desbordamiento

Al sumar dos números del mismo signo, se produce un desbordamiento si el resultado es de signo opuesto.

Regla de la resta

Para restar un número (substraendo) de otro (minuendo), se obtiene el complemento a dos del substraendo y se le suma al minuendo.

Repertorio de instrucciones

Conjunto de instrucciones que puede ejecutar el procesador.

RISC (Reduced Instruction Set Computer)

Diseño de CPU con instrucciones de tamaño fijo, en un número reducido de formatos. Solo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

Segmentación de cauce (pipeline)

Técnica de diseño de procesadores que divide la ejecución de las instrucciones en etapas, permitiendo que una instrucción comience a ejecutarse antes de que las anteriores hayan terminado.

Entradas relacionadas: