Fundamentos de la Segmentación en la Arquitectura de Computadores

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 2,88 KB

Segmentación (1A)

Los primeros computadores ejecutaban las instrucciones de una manera sencilla: el procesador captaba una instrucción, leía el banco de registros (las entradas de la instrucción), realizaba el cálculo requerido y, finalmente, almacenaba el resultado en el banco de registros.

El problema de este enfoque era que el hardware permanecía ocioso la mayor parte del tiempo, esperando a que otras partes del procesador terminaran de ejecutar la instrucción.

La segmentación es una técnica diseñada para solapar la ejecución de varias instrucciones con el fin de reducir el tiempo total de ejecución de un conjunto de instrucciones.

Conceptos fundamentales

Al estudiar la segmentación y las prestaciones de un computador, se emplean dos términos clave:

  • Latencia: Tiempo que tarda una operación en ejecutarse.
  • Productividad: Frecuencia con la que se terminan de ejecutar las operaciones (operaciones/segundo).

La productividad de la segmentación está determinada por la frecuencia con la que una instrucción sale del cauce. Dado que las etapas están conectadas entre sí, todas deben estar listas para proceder al mismo tiempo. El tiempo requerido para desplazar una instrucción, un paso, a lo largo del cauce es un ciclo máquina.

Estrategia Pipeline (1B)

La duración de un ciclo máquina está determinada por el tiempo que necesita la etapa más lenta, ya que todas las etapas progresan simultáneamente. Con frecuencia, el ciclo máquina equivale a un ciclo de reloj, aunque este puede tener múltiples fases.

Idea de la estrategia pipeline

  • Divide un proceso en estados independientes.
  • Mueve los objetos a través de los estados de forma secuencial.
  • Múltiples objetos son procesados al mismo tiempo.

Ejemplo con tres estados de distinta duración:

A: 50 - 20reg | B: 150 - 20reg | C: 100 - 20reg

  • El desempeño está limitado por el estado más lento.
  • Los otros estados permanecen ociosos durante mucho tiempo.
  • Es necesario balancear las tareas.
  • T = 510 ns | v = 5.88 MOPS

Dependencia de los datos

Cada operación depende del resultado de la operación anterior. Es necesario gestionar cuidadosamente los resultados de la operación i, ya que aún no están disponibles al inicio de la operación i+1.

Dependencia de los datos en una CPU

  • El resultado de una operación depende del resultado anterior.
  • Esta es una secuencia muy común en los programas.
  • Se debe asegurar que el pipeline maneje esta secuencia de manera correcta para evitar errores de ejecución.

Entradas relacionadas: