¿Cómo se comunican entre sí los dispositivos con diferentes relojes externos en una placa base?

2

No tengo ningún conocimiento práctico sobre el circuito electrónico. En realidad, soy un programador de software de alto nivel y acabo de comenzar a aprender sobre hardware de computadoras y electrónica.

Básicamente, entiendo que cada dispositivo tiene su propia frecuencia de frecuencia interna, pero utilizan una frecuencia externa para comunicarse con otros dispositivos, como la CPU, y viceversa a través de un "bus".

Y sé que la placa base también tiene su propio reloj.

¿Qué no puedo darme cuenta de cómo estos dispositivos pueden comunicarse entre sí si tienen un reloj diferente y cómo sucede exactamente esta comunicación? ¿Qué es un ciclo de reloj y qué tiene que ver el "reloj de la placa base"? ¿Qué sucede si uso una CPU de 1000Mhz con una memoria de 1333Mhz?

Todas las explicaciones de internet varían y no son muy claras. Sé que cuando empiece a estudiar ingeniería eléctrica desde el principio, todo esto se aclarará automáticamente, pero por ahora, necesito tener una idea precisa de cómo funciona todo.

    
pregunta ropbla9

2 respuestas

1

Bueno, en general, para que dos chips se comuniquen entre sí, existe cierto acuerdo sobre la frecuencia con la que se ejecutará la interfaz. Para su caso de memoria, la interfaz de memoria se ejecutaría a 1333 MHz, y mientras la CPU solo funciona a 1 Ghz, la interfaz de memoria en ese chip de la CPU está diseñada para funcionar a 1333 MHz.

Desde allí tienes dos problemas interesantes. Imagínese si la interfaz de memoria fuera de 1 GHz pero la CPU fuera solo de 100 MHz. Tal vez este sistema solo necesite un acceso lento a la memoria, por lo que no usa todo su potencial, si realmente necesitaba el ancho de banda de la memoria, podría simplemente llevar un bus interno mucho más amplio desde la CPU a su controlador de memoria. Digamos que internamente mueve datos a 256 bits, pero el bus de memoria externa tiene solo 32 bits de ancho. Solo como un ejemplo.

Esto entonces también trae otro problema de dominio de reloj cruzado. Si sus relojes son todos múltiplos síncronos entre sí derivados de una fuente común, diga que el oscilador de la CPU no es un problema. Pero si, por el contrario, los relojes se ejecutan de forma no múltiple o asincrónica entre sí, puede encontrarse con problemas de dominio de reloj cruzado. Aquí debe usar las técnicas adecuadas para garantizar que los datos y los comandos se muevan limpiamente de un dominio de reloj a otro o podría terminar con problemas de metastabilidad o datos faltantes o corruptos.

Echa un vistazo a CDC o al dominio de reloj cruzado como un término de búsqueda para obtener más información al respecto.

    
respondido por el Some Hardware Guy
1

Hay dos formas diferentes en que los chips de una placa base se comunican entre sí: comunicación síncrona y comunicación asíncrona.

Comunicación síncrona

La mayoría de las placas base tienen un generador de reloj que controla una señal de reloj global que sincroniza la memoria, la CPU y algunas otras fichas. Se ha probado que una llamada "memoria DDR3-1333" funciona hasta 166.7 Mhz. Cuando se conecta a una placa base con un reloj de memoria de 100 MHz, esa memoria en realidad funciona a 100 Mhz y funciona bien con una CPU con un reloj de memoria de 100 MHz. (Esa memoria no tiene no un reloj interno de 166.7 MHz). Si alguien cambiara la frecuencia del reloj global (la mayoría de las placas base modernas permiten que una persona cambie fácilmente la frecuencia con una configuración de BIOS), entonces la memoria realmente se ejecutará a cualquier frecuencia que el generador de reloj envíe al chip de memoria.

Me recuerda a los neumáticos de un automóvil de 130 mph. Realmente no operan a 130 mph todo el tiempo. Algo más controla la velocidad real a la que se mueve el neumático, y el neumático está diseñado para manejar cualquier velocidad que se le solicite, siempre que esa velocidad no sea más de 130 mph.

Comunicación asíncrona

Por diversos motivos, muchos dispositivos en una placa base típica funcionan a una velocidad de reloj diferente de la señal del reloj global de la placa base similar a un metrónomo.

Algunos de esos dispositivos, como muchas CPU modernas, tienen un oscilador interno con bloqueo de fase para oscile a una frecuencia que es una proporción fija de enteros pequeños en relación con la señal global del reloj de la placa base.

Otros de esos dispositivos, como el chip reloj en tiempo real , tienen su propio oscilador de cristal completamente independiente de El oscilador de cristal unido al generador de reloj. (La proporción de sus frecuencias a menudo no es un número racional y, a veces, se desplaza lentamente).

Si bien algunos investigadores han creado CPU sin reloj , casi todas las CPU comerciales son completamente sincrónicas, o globalmente asíncrono localmente sincrónico (GALS).

Cuando dos dispositivos con diferentes osciladores (o dos dominios de reloj diferentes en un chip GALS) necesitan transferir datos entre sí, Mi entendimiento es que las 3 técnicas más populares para cruce de dominio del reloj son:

  • La fuente de datos envía un "reloj de bus" similar a un metrónomo que es menos de la mitad de la velocidad de reloj utilizada por el destino (ya sea el reloj real de la fuente de datos, si es lo suficientemente lento, o alguna señal más lenta derivada desde el reloj del origen de datos) que le dice al destino cuándo tomar los datos de las líneas de datos. El destino registra el "reloj del bus" y las líneas de datos, y acepta los nuevos datos en el borde acordado de la señal del reloj. El origen de datos mantiene las líneas de datos constantes antes y después de ese borde de "reloj", el tiempo suficiente para que, independientemente de la velocidad de reloj relativa del origen y del destino, los datos correctos estén bloqueados.
  • El origen de datos utiliza código gris para los datos que pasan entre el dominio del reloj s, de modo que no importa cuándo se agote el destino. Los datos (justo antes, durante o justo después de un cambio), el destino ve datos válidos.
  • La fuente de datos utiliza algunos protocolo de comunicación asíncrona que generalmente establece datos en algunos cables, luego establece un cable que indica que los datos están listos. La fuente de datos mantiene esas líneas de datos constantes hasta que recibe una señal del receptor que indica que el receptor ha recibido esos datos y está listo para la siguiente.
respondido por el davidcary

Lea otras preguntas en las etiquetas