Hueco de retardo

Hueco de retardo

En arquitectura de computadores, un hueco de retardo contiene una instrucción que es ejecutada sin tener en cuenta los efectos de la instrucción precedente. La forma más común consiste en una instrucción arbitraria sencilla colocada inmediatamente después de una instrucción de salto en las arquitecturas RISC o DSP; esta instrucción se ejecutará incluso si el salto precedente es efectivo. De este modo las instrucciones parecen ejecutarse de un modo ilógico o incorrecto. Es típico de los lenguajes ensambladores reordenar automáticamente las instrucciones, cubriendo de este modo las carencias de algunos compiladores.

Huecos de retardo de salto

Los huecos de retardo en que se ven involucradas las instrucciones de salto son conocidos como huecos de retardo de salto. Se encuentran principalmente en las arquitecturas DSP y RISC más antiguas. Las arquitecturas MIPS, PA-RISC, ETRAX CRIS, SuperH y SPARC son arquitecturas RISC que tienen un único huecos de retardo de salto; las arquitecturas PowerPC, ARM y la recientemente diseñada DEC Alpha carecen de él. Las arquitecturas de los DSP pueden ser de hueco único o doble (ejecutan dos instrucciones entre el inicio de la instrucción de salto y su resolución).

El objetivo de la segmentación RISC clásica es mantener los registros de segmentación ocupados en todo momento. El hueco de retardo de salto es un efecto colateral de las arquitecturas segmentadas debido a los riesgos. Un diseño sencillo insertaría burbujas en la segmentación después del salto hasta que la dirección de destino sea computada y cargada en el contador de programa. Cada ciclo en que se inserta una burbuja es considerado un hueco de retardo de salto. Un diseño más sofisticado ejecutaría las instrucciones del programa no dependientes del resultado de la instrucción de salto. Esta optimización puede ser realizada mediante software en tiempo de compilación moviendo instrucciones desde memoria al hueco de retardo de salto, siempre y cuando el hardware soporte esta operación. Otro efecto colateral es el especial cuidado que hay que tener con los puntos de ruptura y las ejecuciones línea a línea durante el proceso de depuración de programas.

El número ideal de huecos de retardo de salto en una determinada implementación segmentada viene dado por el número de etapas de segmentación, la presencia de unidades anticipadoras, la etapa en que se computen las condiciones de salto, si se utiliza o no un buffer de destino de salto, etc. Los requisitos de compatibilidad de software marcan que una arquitectura no puede cambiar el número de huecos de retardo de una generación a la siguiente. Esto requiere inevitablemente que las nuevas implementaciones del hardware contengan componentes a mayores para asegurar que el comportamiento de la arquitectura se mantiene a pesar de no ser ya relevante.

Hueco de retardo de carga

Un hueco de retardo de carga es una instrucción que se ejecuta inmediatamente después de una carga (copia de memoria a registro) pero que no ve el resultado de dicha carga. Estos huecos de retardo son poco comunes porque los retardos por cargas son altamente impredecibles en el hardware actual. Una carga puede ser satisfecha por la RAM por la caché, y puede ser ralentizada por la distribución de recursos. Los retardos por cargas eran propios de los diseños más primitivos de procesadores RISC. El repertorio de instrucciones MIPS1 (utilizado en los procesadores R3000 y anteriores) sufre este problema.

El siguiente código de ejemplo está escrito en ensamblador MIPS1, mostrando tanto un hueco de retardo de carga como de salto.

  lw   v0,4(v1)   # carga de la palabra almacenada en la dirección v1+4 en el registro v0
  nop             # hueco de retardo de carga
  jr   v0         # salto incondicional a la dirección especificada por el registro v0
  nop             # hueco de retardo de salto

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Riesgo (informática) — Saltar a navegación, búsqueda En arquitectura de computadores, un riesgo es un problema potencial que puede ocurrir en un procesador segmentado. Típicamente los riesgos se clasifican en tres tipos: riesgos de datos, riesgos de salto o de control… …   Wikipedia Español

  • Salto (informática) — Saltar a navegación, búsqueda La rama o salto es un punto de un programa informático donde flujo de programa se ve alterado. Los términos de salto o rama suelen utilizarse para referirse a programas escritos en lenguaje máquina o en ensamblador;… …   Wikipedia Español

  • Lego Mindstorms — con tres sensores (tacto, luz y rotación) y un motor eléctrico …   Wikipedia Español

  • Teoría de las tres fases del tráfico — La Teoría de las tres fases del tráfico fue desarrollada por Boris Kerner entre 1996 y 2002.[1] [2] [3] En ella se presenta un nuevo enfoque para el fenómeno del colapso del tráfico, entendiéndose como colapso a la repentina degradación de la… …   Wikipedia Español

  • Biorreactor — Saltar a navegación, búsqueda Biorreactor a escala de laboratorio conteniendo células animales. Un biorreactor es un recipiente o sistema que mantiene un ambiente biológicamente activo. En algunos casos, un biorreactor es un recipiente en el que… …   Wikipedia Español

  • El portal del web — Saltar a navegación, búsqueda El Portal del Web fue programa radial de Rock and Pop de Chile que partió el 1 de diciembre de 2001, reemplazando el horario que anteriormente ocupaba El Chacotero Sentimental y finalizó el 31 de julio de 2008,[1]… …   Wikipedia Español

  • Grabación magnética analógica — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • Guía de onda — En electromagnetismo y en telecomunicación, una guía de onda es cualquier estructura física que guía ondas electromagnéticas. Contenido 1 Historia 2 Introducción 3 Principios de operación 3.1 …   Wikipedia Español

  • Cocina (artefacto) — Una cocina de juguete del siglo 19, en la colección permanente del Museo de los Niños de Indianápolis Una cocina es un artefacto para cocinar alimentos que puede funcionar mediante diversos combustibles o por electricidad. Las cocinas modernas… …   Wikipedia Español

  • Fotorresistencia — LDR Fotocelda Una fotorresistencia es un componente electrónico cuya resistencia disminuye con el aumento de intens …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”