En el de informática, la instrucción del que programa es una optimización de recopilador usada para mejorar el paralelismo del instrucción-nivel, que mejora funcionamiento en las máquinas con las tuberías de la instrucción que puso más simplemente, sin el cambio del significado del código, él intenta al
Evitar las paradas de la tubería cambiando la orden de instrucciones.
Evitar las operaciones ilegales o semántico ambiguas (que implican típicamente ediciones sutiles de la sincronización de la tubería de la instrucción o recursos no-enclavijados.) ¡la previsión de la instrucción -->

Las paradas de la tubería se pueden causar por los peligros estructurales (límite del recurso del procesador), los peligros de los datos (salida de una instrucción necesaria por otra instrucción) y los peligros del control (ramificación).

Peligros de los datos

La previsión de la instrucción se hace típicamente en un bloque básico del solo . Para determinar si el cambio de las instrucciones del bloque de cierta manera preserva el comportamiento de ese bloque, necesitamos el concepto de una dependencia de los datos del . Hay tres tipos de dependencias, que también suceden ser tres el de los peligros de los datos Leído después de escribir (CRUDO o " True"): La instrucción 1 escribe un valor usado más adelante por Instruction 2. que la instrucción 1 debe venir primero, o la instrucción 2 leerá el viejo valor en vez del nuevo.
  • Escribir después de leído (GUERRA o " Anti"): La instrucción 1 lee una localización que sea más adelante sobreescrita por Instruction 2. que la instrucción 1 deben venir primero, o leerá el nuevo valor en vez del viejo.
  • Escribir después de escriben (WAW o " Output"): Dos instrucciones ambas escriben la misma localización. Deben ocurrir en su orden original.

    Técnico, hay un cuarto tipo, leído después de leído (RAR o " Input"): Ambas instrucciones leyeron la misma localización. La dependencia de la entrada no obliga la orden de ejecución de dos declaraciones, sino que es útil en el reemplazo escalar de los elementos de arsenal.

    Para cerciorarse de nos respetamos los tres tipos de dependencias, construimos un gráfico de la dependencia, que es un gráfico dirigido donde está una instrucción cada cima y hay un borde de I1 a I2 si I1 debe venir antes de I2 debido a una dependencia. Si las dependencias lazo-llevadas se dejan hacia fuera, el gráfico de la dependencia es un gráfico acíclico dirigido . Entonces, cualquier clasificación topológica de este gráfico es un horario válido de la instrucción. Los bordes del gráfico se etiquetan generalmente con el estado latente de la dependencia. Éste es el número de ciclos de reloj que necesita transcurrir antes de que la tubería pueda proceder con la instrucción de la blanco sin el atasco.

    ¡

    Algoritmos

    El algoritmo más simple para encontrar una clasificación topológica se utiliza y se conoce con frecuencia como previsión de lista del . Conceptual, selecciona en varias ocasiones una fuente del gráfico de la dependencia, la añade al horario actual de la instrucción y la quita del gráfico. Ésta puede hacer otras cimas ser las fuentes, que entonces también serán consideradas para programar. El algoritmo termina si el gráfico es vacío.

    Para llegar un buen horario, las paradas deben ser prevenidas. Esto es determinada por la opción de la instrucción siguiente de ser programado. Un número de heurística está en de uso común:
    Se registra el

    los recursos del procesador usados por las instrucciones ya programadas. Si un candidato utiliza un recurso se ocupe que, su prioridad caerá.
    Si programan a un candidato más cercano a sus precursores que el estado latente asociado su prioridad caerá.
    Si un candidato miente en la trayectoria crítica del gráfico, su prioridad se levantará. Este heurístico proporciona una cierta forma de mira-a continuación en un proceso de decisión de otra manera local.
    Si elegir a un candidato crea muchas nuevas fuentes, su prioridad se levantará. Este heurístico tiende a generar más libertad para el planificador.

  • La orden de la fase del Scheduling de la instrucción

    La previsión de la instrucción puede ser cualquier hecho antes o después de asignación o ambos del registro antes y después de ella. La ventaja de hacerla antes de que la asignación del registro sea que ésta da lugar a paralelismo máximo. La desventaja de hacerla antes de que la asignación del registro sea que ésta puede dar lugar al distribuidor del registro que necesita utilizar un número de registros que exceden ésos disponibles. Esto causará el derramamiento/el código del terraplén que se introducirán que reducirán el funcionamiento de la sección del código en la pregunta.

    Si la arquitectura que es programada tiene las secuencias de instrucción que tienen combinaciones potencialmente ilegales (debido a una carencia de los dispositivos de seguridad de la instrucción) las instrucciones se deben programar después de la asignación del registro. Este paso de previsión del segundo también mejorará la colocación del derramamiento/del código del terraplén.

    Si la previsión se hace solamente después de que la asignación del registro entonces allí sea dependencias falsas introducidas por la asignación del registro que limitará la cantidad de movimiento de la instrucción posible por el planificador.

    Tipos de Scheduling de la instrucción

    Hay varios tipos de previsión de la instrucción: Scheduling básico del bloque: las instrucciones no pueden moverse a través de límites de bloque básicos.
  • Previsión global: las instrucciones pueden moverse a través de límites de bloque básicos.
  • Scheduling del Modulo: otro nombre para la can¢ería del software, que es una forma de instrucción que programa si está ejecutada correctamente.
  • Rastro que programa : una forma de global programando esa los intentos para optimizar la trayectoria del flujo de control que se ejecuta lo más a menudo posible.

    Ver también


    Generación del código
    Asignación del registro
    Selección de la instrucción
  • .

  • Zenithic
  • Ben Smith (British Labour politician)
    Random links:Ramoth-Gilead | Bomba del cobalto | Lista de hospitales en Hungría | Facilidad pacífica de la gama de misil | Certificado de enseñanza secundaria

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">