fbpx
Wikipedia

Dependencia de datos

En informática, se conoce como dependencia de datos aquella situación en que las instrucciones de un programa se refieren a los resultados de otras anteriores que aún no han sido completadas. Si dichas dependencias no son resueltas provocarán riesgos de datos o incluso condiciones de carrera. El área de estudio de las dependencias de datos se conoce como análisis de dependencias.

Tipos principales

Hay tres tipos principales de dependencias:

  • RAW - Read After Write
  • WAR - Write After Read
  • WAW - Write After Write

RAW - Read After Write

Una dependencia RAW hace referencia a una situación donde se necesita un dato que aún no ha sido calculado, por ejemplo:

i1. R2 <- R1 + R3
i2. R4 <- R2 + R3

La primera instrucción calcula un valor que será guardado en el registro R2, mientras que la segunda necesita este valor para computarlo y almacenar el resultado en el registro R4. Sin embargo, en un procesador segmentado, cuando se capturan los operandos para realizar la segunda instrucción, los resultados de la primera aún no han sido guardados, de forma que aparece una dependencia de datos.

Se dice que existe una dependencia de datos en la instrucción 2, la cual depende de la finalización de la instrucción 1.

WAR - Write After Read

Una dependencia WAR representa un problema de ejecución concurrente, por ejemplo:

i1. r1 <- r2 + r3
i2. r3 <- r4 x r5

Si por alguna razón la instrucción 2 puede finalizar antes de que lo haga la 1 (por ejemplo, en ejecución concurrente), es necesario asegurarse de que no se almacenará el resultado en el registro R3 antes de que la instrucción 1 haya podido leer sus operandos.

WAW - Write After Write

Una dependencia WAW es otra de las posibles situaciones problemáticas en un entorno de ejecución concurrente, por ejemplo:

i1. r2 <- r1 + r3
i2. r2 <- r4 x r7

En este caso debe retrasarse la escritura (etapa WB) de la instrucción 2 hasta que la instrucción 1 haya finalizado.

Soluciones

Puede ser posible delegar la tarea de la eliminación de dependencias de datos en el compilador, que rellenará el código con las instrucciones NOP necesarias para asegurar la corrección del resultado del programa, o bien reordenará las instrucciones en aquellos fragmentos de código donde sea posible.

Otros métodos, implementados de forma física en los chips son:

  •   Datos: Q334630

dependencia, datos, este, artículo, sección, necesita, referencias, aparezcan, publicación, acreditada, este, aviso, puesto, enero, 2013, informática, conoce, como, dependencia, datos, aquella, situación, instrucciones, programa, refieren, resultados, otras, a. Este articulo o seccion necesita referencias que aparezcan en una publicacion acreditada Este aviso fue puesto el 13 de enero de 2013 En informatica se conoce como dependencia de datos aquella situacion en que las instrucciones de un programa se refieren a los resultados de otras anteriores que aun no han sido completadas Si dichas dependencias no son resueltas provocaran riesgos de datos o incluso condiciones de carrera El area de estudio de las dependencias de datos se conoce como analisis de dependencias Indice 1 Tipos principales 1 1 RAW Read After Write 1 2 WAR Write After Read 1 3 WAW Write After Write 2 SolucionesTipos principales EditarHay tres tipos principales de dependencias RAW Read After Write WAR Write After Read WAW Write After WriteRAW Read After Write Editar Una dependencia RAW hace referencia a una situacion donde se necesita un dato que aun no ha sido calculado por ejemplo i1 R2 lt R1 R3 i2 R4 lt R2 R3La primera instruccion calcula un valor que sera guardado en el registro R2 mientras que la segunda necesita este valor para computarlo y almacenar el resultado en el registro R4 Sin embargo en un procesador segmentado cuando se capturan los operandos para realizar la segunda instruccion los resultados de la primera aun no han sido guardados de forma que aparece una dependencia de datos Se dice que existe una dependencia de datos en la instruccion 2 la cual depende de la finalizacion de la instruccion 1 WAR Write After Read Editar Una dependencia WAR representa un problema de ejecucion concurrente por ejemplo i1 r1 lt r2 r3 i2 r3 lt r4 x r5Si por alguna razon la instruccion 2 puede finalizar antes de que lo haga la 1 por ejemplo en ejecucion concurrente es necesario asegurarse de que no se almacenara el resultado en el registro R3 antes de que la instruccion 1 haya podido leer sus operandos WAW Write After Write Editar Una dependencia WAW es otra de las posibles situaciones problematicas en un entorno de ejecucion concurrente por ejemplo i1 r2 lt r1 r3 i2 r2 lt r4 x r7En este caso debe retrasarse la escritura etapa WB de la instruccion 2 hasta que la instruccion 1 haya finalizado Soluciones EditarPuede ser posible delegar la tarea de la eliminacion de dependencias de datos en el compilador que rellenara el codigo con las instrucciones NOP necesarias para asegurar la correccion del resultado del programa o bien reordenara las instrucciones en aquellos fragmentos de codigo donde sea posible Otros metodos implementados de forma fisica en los chips son Algoritmo de marcador Algoritmo de Tomasulo Datos Q334630 Obtenido de https es wikipedia org w index php title Dependencia de datos amp oldid 117316057, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos