Arquitectura de Computadores: Instrucciones, Rendimiento y Multiprocesamiento

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 388,22 KB

Arquitectura de Computadores

Definición de Computador y Programa

Computador: Máquina capaz de aceptar datos de entrada, procesarlos según un programa almacenado previamente y emitir los datos de salida.

Programa: Conjunto de instrucciones que se ejecuta de forma ordenada.

Fases en la Ejecución de una Instrucción

  1. Búsqueda de la instrucción: ordena la lectura a la memoria.
  2. Decodificación de la instrucción: la memoria “contesta”.
  3. Búsqueda de los operandos: los datos provienen del registro, memoria o disco duro, la instrucción indica dónde.
  4. Ejecución u operación: se operan los datos en la calculadora. Obtenemos el nuevo dato procesado.
  5. Almacenamiento de resultados: el nuevo dato se guardará en la memoria, en el lugar que indique la instrucción.

Bus

Conjunto de líneas de interconexión entre unidades funcionales.

Tipos de Instrucciones

  • Movimiento de datos: Ejemplo: MOV R1, DIR4
  • Aritméticas (enteras y fraccionarias): Ejemplo: ADD R1, R3, DIR 103
  • Lógicas: AND, OR, NOT, XOR, NAND, NOR, etc.
  • Saltos:
    • Saltos fijos: JMP
    • Saltos condicionales: JZ
    • Salto con retorno (subrutinas): JSR, RET

Modos de Direccionamiento

  • Direccionamiento Inmediato y Directo: Ejemplo: MOVE #500, R1
  • Direccionamiento Directo: Ejemplo: MOVE R1, DIR 205
  • Direccionamiento Indirecto (a registro): Ejemplo: MOVE @R1, DIR 205
  • Direccionamiento Relativo: Ejemplo: MOVE +60, -10

Aumento del Rendimiento de un Computador

  • Aumento de la frecuencia del reloj.
  • Mayor número de registros (evita almacenar datos en memoria).
  • Instrucciones SIMD.
  • Tecnologías MMX.
  • Segmentación: (Cuando se busca en el CPU, se adelanta la primera fase de la siguiente instrucción. Como la memoria es más lenta se mantendrá todo el tiempo ocupada).

Aceleración de la Memoria

  • Principio de localidad:
  • Menos tamaño: más velocidad.
  • Acceso secuencial: más fácil y más velocidad.
  • Al ser pequeña: ¿La fabrico dentro de la CPU?
  • El principio de localidad ayuda al acceso secuencial.

¿Por qué es tan lenta la memoria en entregar un dato?

  1. Este proceso es lento porque cuando a la memoria le pides un dato, se tiene que buscar entre mucha información, ya que la memoria tiene la capacidad de almacenar gran cantidad de datos. Una vez el dato ha sido encontrado el “envío” es muy rápido.
  2. Tiene que buscar datos que puede ser que estuvieran al lado. Para evitar este suceso se copian bloques de datos, trasladándose este bloque a la memoria de la CPU -> MEMORIA CACHÉ. Las instrucciones se ejecutarán directamente desde la CPU evitando mucha pérdida de tiempo (principio de localidad).

Multiprocesamiento

Multiprocesamiento o multiproceso es el uso de dos o más procesadores (CPU) en una computadora para la ejecución de uno o varios procesos (programas corriendo).

MultiCore CPU

Un único circuito integrado tiene diferentes procesadores completos en su interior, más alguna circuitería de apoyo y caché compartida.

Integración de Circuitos CPU

La integración permite incluir varios circuitos en un chip, eliminando buses externos, haciendo más barata la placa.

1iOmfKqUsbo2nOaTBgBbbcO9e7vHaU6JBmXviIU46Wt2j7pLSrMtF0uCUdAKhgBnrtBN2HDmPErOSri2nNM1XbFh0yiPa3qIMclsuEaIx67ClcujcTYcSQQE  <code> Avanzar y contar:     descubrir ini: ADD @R0, #0, R3 ADD R1, R2, R4
JZE contar: MOV #0 , R6
seguir: ADD R0, #1, R0 INI: SUB R0, @R1, R3
SUB R0, R1, R3 JZ ENC:
JZE fin: SUB R4, R1, R5
JMP ini: JZ FIN:
contar: ADD R2, #1, R2 ADD #1, R1 , R1
JMP seguir: JZ FIN:
fin: ENC: MOV #1, R6
FIN:

Entradas relacionadas: