Que yo sepa, un reloj controla todas las operaciones lógicas, pero también limita la velocidad de una computadora, porque las puertas tienen que esperar a que el reloj cambia de bajo a alto o de alto a bajo, dependiendo del componente. Si no hay reloj que se incorporan, el gates iba a cambiar lo más rápido que podía, siempre le dio el mando, así que ¿por qué no que aumentan la velocidad de los ordenadores y por qué son relojes usados?
Respuestas
¿Demasiados anuncios?Los relojes se utilizan en los equipos por la sencilla razón de que la mayoría, si no todos los de la circularidad es sincrónico de la lógica secuencial.
En un circuito síncrono, un oscilador electrónico llamado un reloj genera una secuencia de pulsos repetidos llamados de la señal de reloj que se distribuye a todos los elementos de memoria en el circuito.
Ahora, que no parecen de satisfacciones y por supuesto, usted podría preguntarse "¿por qué son sincrónicos de los circuitos utilizados en las computadoras?", pero esa es una pregunta fácil de responder :
La principal ventaja de la lógica sincrónica es su simplicidad. La lógica puertas que realizar las operaciones sobre los datos requieren una cantidad finita de tiempo para responder a los cambios en sus entradas. Esto se llama retardo de propagación. El intervalo entre los impulsos de reloj debe ser de largo lo suficiente para que todos las puertas de la lógica tienen tiempo para responder a los cambios y sus salidas "liquidar" a estable la lógica de los valores, antes de la próxima reloj de pulso se produce. Siempre y cuando esta condición se cumple (haciendo caso omiso de ciertas otros detalles) el circuito está garantizado para ser estable y confiable. Esto determina la máxima velocidad de funcionamiento de un circuito síncrono.
Un área activa de investigación es asincrónico de computación, donde la mayoría, si no todos, el trazado de circuito secuencial asincrónico de la lógica.
Un circuito como una media aritmética lógica de la unidad tardará un par de números como valores de entrada y producir una serie como ouptut. Se puede garantizar que en un periodo de tiempo, todos los bits de la salida se han llegado a su final correcta de los estados, pero la cantidad real de tiempo para los bits de salida, para ser válida podría variar considerablemente en función a una variedad de factores.
Sería posible construir una ALU con un "válido" y "válido" de salida, y se especifica que siempre que la "validez" de entrada es baja para una cantidad suficiente de tiempo antes de que un cálculo que se realiza, y las entradas de datos contienen los valores deseados antes de la "validez" de entrada va de alta, la "validez" de salida no va alto hasta que los bits de salida son en realidad correcto. Este tipo de diseño probablemente requieren alrededor de dos veces la cantidad de circuitos como una convencional ALU [básicamente tendría que mantener un seguimiento de cada uno de los bits se "conoce" a ser cero o "conocido" a ser uno; su "validez" de salida se convierten en verdad una vez que el estado de cada bit de salida era conocido].
Para empeorar las cosas, permitiendo que las partes de una CPU que sería capaz de correr más rápido para hacerlo sólo será útil si no están esperando todo el tiempo en partes más lentas a jugar a la pelota. Para que esto suceda, debe ser lógica para decidir qué parte de la máquina está "adelantado" en un momento dado en el tiempo, y seleccionar un curso de acción sobre la base de que. Por desgracia, ese tipo de decisión es uno de los más difíciles para la electrónica para hacer de forma fiable. De forma fiable decidir cual de los dos eventos que sucedió primero es generalmente fácil si se puede garantizar que no serán nunca "cerca de las llamadas". Supongamos que una memoria del secuenciador es el manejo de una solicitud de procesamiento de la unidad #1 y la unidad #1 tiene otra petición pendiente después de que. Si la unidad #2 envía una solicitud antes de que la pendiente es completa, la unidad de memoria debe controlar que; de lo contrario, se debe manejar la siguiente solicitud de la unidad #1. Que se parezca un diseño razonable, pero termina siendo sorprendentemente problemática. El problema es que hay algún momento en el tiempo, tal que una solicitud recibida antes de la que será procesada inmediatamente, y una solicitud recibida después de eso tendrá que esperar, la cantidad de tiempo que se requiere para determinar si una solicitud de vencer el plazo será de aproximadamente inversamente proporcional a la diferencia entre el momento en que la solicitud fue recibida y la fecha límite. El tiempo necesario para que la unidad de memoria para determinar que una petición particular vencer el plazo por una femptosecond podría exceder sustancialmente la cantidad de tiempo que habría sido necesario para dar servicio a una segunda solicitud de la unidad #1, pero la unidad no puede servicio de solicitud hasta que decide cuál de servicio de primera.
Tener todo lo que se ejecuta fuera de un reloj común, no sólo elimina la necesidad de los circuitos para determinar cuando el resultado de un cálculo es válido, también permite la sincronización "cerca de las llamadas" para ser eliminado. Si todo en el sistema se ejecuta en un reloj de 100Mhz, no hay cambios de señal en respuesta a un reloj de hasta 1 ns después del flanco de reloj, y todo lo que va a ocurrir en respuesta a un borde de reloj que sucede dentro de 7s, entonces todo lo que va a suceder antes de que un particular borde de reloj va a "ganar" al menos 3ns, y todo lo que no va a ocurrir hasta después de un borde de reloj se "pierde" por al menos 1 ns. La determinación de si una señal de posibilidades antes o después de que el reloj, cuando es la garantía de que no se "cierre", es mucho más fácil de determinar cual de los dos arbitrariamente temporizada señales de que ocurra primero.
Imagina que tienes una de 8 bits entero está enviando desde la memoria a una ALU para un cálculo de y (al menos para este ejemplo) que el circuito de memoria proporciona las señales en las 8 líneas de datos antes de la ALU requiere de ellos y en momentos ligeramente diferentes.
El uso de un reloj de aquí sería el de asegurar que las 8 líneas de datos, celebrada el valor correcto para el entero representado por un ciclo de reloj y que el ALU va a "recoger" datos dentro del mismo ciclo de reloj.
Me doy cuenta de que probablemente no era la mejor descripción, esencialmente sin un reloj de garantizar la coherencia de los datos sería mucho más difícil que cualquier posible aumento de la velocidad sería la pena, tendría que ejecutar en un montón de condición de carrera cuestiones.
Los sistemas digitales pueden ser sincrónicas o asincrónicas. En los sistemas asincrónicos, la salida puede cambiar en cualquier momento dado, diferente de la sincrónico de los sistemas, los cuales dependen del reloj para cambiar sus salidas.
La mayoría de los sistemas digitales son sincrónicos (aunque pueden tener algunos asincrónica partes) debido a que el proyecto y el defecto de análisis se puede hacer con más facilidad, ya que las salidas sólo puede cambiar con el reloj.
Tengo casi una copia de Digital Systems: Principles and Applications, 10th edition by R. J. Tocci et al.
Bueno, si usted está diseñando un sistema de sincronización, usted tiene un objetivo frecuencia de reloj, y el diseño de la lógica para completar todos los cálculos durante un ciclo dentro de un reloj período. Esto también significa que se necesita incorporar un margen de seguridad para permitir una serie de condiciones, tales como la baja tensión de alimentación, de alta temperatura, y un "lento" chip. Sincrónico chips están diseñados de manera que el más largo de la lógica de ruta (más lento de cálculo) va a terminar en el tiempo bajo todas estas condiciones adversas. Como resultado, cuando las condiciones no son terribles, usted tendrá mucho más tiempo/margen entre el momento en que la lógica completa su operación y la siguiente reloj pestillos el resultado. Debido a que usted (por lo general) no puede cambiar su frecuencia de reloj, usted pierde esta velocidad.
No son completamente asíncrona lógica de los paradigmas que existen, por ejemplo uno de los que estoy familiarizado con es NULO de la convención de la lógica. El uso de trazos para describir lo que está sucediendo, la lógica del circuito es capaz de identificar cuando un cálculo se ha completado, y es capaz de crear su propio "reloj" de las señales. Esto permite que el circuito de correr tan rápido como puede, y tiene algunas modestas de energía y EMI beneficios. Desafortunadamente, usted paga una multa por la naturaleza asíncrona en términos de diseño de la densidad, así como un rendimiento superior. Asimismo, mientras que las herramientas de software para el diseño y validación son maduros, mucho el diseño y validación para asincrónica diseños todavía es manual, lo que resulta en un mayor esfuerzo que se requiere para el diseño y construcción de una asincronía en el diseño.
Esto también deja de lado por completo el caso de que, a veces usted necesita un reloj para una aplicación específica para ser una referencia de tiempo. Por ejemplo, su tarjeta de sonido no puede operar de forma asincrónica, porque necesita actualizar el ADC o el DAC en una específica, precisa de la frecuencia de muestreo o el sonido se distorsiona.