10 votos

¿Qué hace a una condición de carrera significa?

Soy un nuevo ingeniero eléctrico así que tengan paciencia conmigo. Yo escucho a algunos de los otros ingenieros que trabajan con hablar de una condición de carrera que existe en uno de nuestros circuitos.

¿Qué significa eso?

16voto

Asmyldof Puntos 9125

Esto significa, simplemente, que las dos cosas al mismo tiempo "raza" por el resultado.

Un ejemplo es un circuito con un Reset y Set pin, si se activa el reset, la salida es 0. Si usted gatillo conjunto, el resultado se convierte en 1. Si el primer gatillo y, a continuación, restablecer muy, muy rápidamente después de que, restablecer va a ser visto, por lo que la salida es 0.

Pero, si se activa en el exacto mismo tiempo, ¿qué sucede?

Si el circuito de diseñador prestado atención, debe haber una respuesta, si eso es importante para la función. Si no hay una respuesta certera a esta pregunta, el circuito tiene una condición de carrera, donde la señal de la serie y el restablecimiento de la "raza" unos a otros para ver cuál gana para determinar la salida.

La ruta con la menor demora se acostumbra a ganar, pero, a continuación, puede ver la condición de carrera como el gatillo exacta en la que la mayoría de retraso ruta se activa exactamente que mucho antes de que el más rápido.

Muchos circuitos, incluyendo la lógica de bloques de construcción en el interior de ICs, que tienen ciertas condiciones de carrera, pero por lo general son tales que cuando se utiliza el circuito de la forma que se pretende, que no te darás cuenta. Muy a menudo, cuando los ingenieros dicen que "race condition" en voz alta un par de veces que en realidad quiere decir que también es uno que podría suceder en un uso normal, lo cual sería un problema, porque en una carrera de condición de operación normal no se puede predecir.

En el software el término también se utiliza, pero a menudo para indicar problemas de tiempo, o lock-ups. Es un principio similar, aunque. A menudo, cuando se tienen dos procesos en un equipo que ejecuta de forma independiente, pero utilizando la misma memoria que proteger a los que la memoria de ser escrito por uno, mientras que el otro lo está utilizando. Si no dicen que una posible condición de carrera: Un proceso que podría ser la lectura de un valor que está en proceso de actualización, o de ambos podría estar escribiendo al mismo tiempo y, a continuación, usted no sabe lo que va a suceder.

6voto

Alex Andronov Puntos 178

El término "condición de carrera" implica que (1) dos o más señales pueden llegar en cualquier orden, arbitrariamente cerca el uno del otro, y (2) no es posible demostrar analíticamente que no es esencialmente cero la probabilidad de cualquier combinación posible de los tiempos de llegada de plantear un problema.

Desde el punto de vista de un solo flip flop cuyos datos de entrada puede cambiar en cualquier momento con respecto al reloj, casi simultánea de las transiciones en el reloj y entradas de datos podría representar una condición de carrera. Desde el punto de vista de la general, el comportamiento de los circuitos, sin embargo, éstos no representan una condición de carrera si sólo podría ocurrir a veces cuando no hay aguas abajo circularidad le importa lo que el pestillo a cabo, y no circuitos aguas abajo sería empezar a preocuparse por lo que el pestillo se mantuvo hasta después de la llegada de un reloj de pulso que no podía estar en cualquier lugar cerca de las transiciones en los datos de entrada.

Además, debido a que a menudo no es posible absolutamente eliminar completamente la posibilidad de la problemática de entrada de los tiempos, muchos de los análisis de las condiciones de carrera va a decir que si la salida de un registro, se alimenta de otro, que es controlada por el mismo reloj, el segundo registro, siempre pestillo de una "limpia" de alto o una "limpia" de bajo, incluso si las entradas para el primer registro que causó la captura de un nivel de entrada que se encontraba justo en el umbral de conmutación. En teoría, sería posible que la primera pestillo para capturar a un nivel que fue suficiente por encima o por debajo de su punto exacto de umbral de conmutación que el nivel de salida sería cambiar precisamente como el próximo reloj de pulso llegado.

Como consecuencia, si uno se para por ejemplo, una de entrada y de paso en una secuencia de tres flip flops, y tiene un circuito de salida de alta, siempre que el segundo flop era alta, pero la tercera fue baja, entonces cualquier flanco de subida que se produce en la entrada de datos, la cual es precedida por un reloj completo período de la pena de baja el tiempo, y seguido por un reloj completo período de tiempo, podría ser garantizadas a causa de que el circuito de salida de alto para exactamente un reloj período.

schematic

simular este circuito – Esquema creado mediante CircuitLab

En este esquema, una señal con algo distribución irregular es normalizado a un reloj de tres maneras en tal manera como para generar una salida que es alta para un ciclo de reloj después de cada flanco de subida. El primer intento de normalizar la señal genera una salida que es desagradable aspecto, y tiene una evidente condición de carrera si la entrada de reloj y cambiar de forma simultánea. El segundo enfoque es mucho mejor, pero todavía tiene una condición de carrera (que el simulador no puede trigger) si la sincronización del reloj y de datos hace que el primer registro para capturar un valor intermedio. El tercer enfoque representa una práctica común, y generalmente se considera seguro, ya que incluso si el primer registro, no se logra captar una limpieza de alta o baja, es muy poco probable que la salida de la primera registrar tendría exactamente el comportamiento de derecho para causar el segundo registro para no agarrar limpiamente. Si los datos cambian muy cerca del reloj, puede ser cogido en el ciclo actual, o no obtener agarró hasta la siguiente, pero si la situación sería aceptable hay ninguna condición de carrera.

2voto

Darren Newton Puntos 835

En breve, significa que el resultado de un proceso se verá afectado por la secuencia de la llegada de dos entradas, y la secuencia es indeterminado (no puede ser garantizado).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X