¿Cómo se elige la frecuencia?

No soy especialista en electrónica. Solo soy un programador. Hago esta pregunta solo por diversión.

Mi pregunta: ¿Cómo se elige la frecuencia para un diseño de un circuito digital?

¿Se elige la frecuencia "de antemano" antes de hacer el diseño real, "como la última opción" después de que el circuito ya está diseñado, o "en el medio" ajustándola varias veces durante el diseño?

¿Qué pasa si resulta que diferentes partes de un gran circuito requieren diferentes frecuencias óptimas? ¿No es motivo para rediseñar algunas partes del circuito?

¿Podría describir las etapas de elección de la frecuencia durante el diseño?

¿Cómo ha sido que muchos de los CPUs de la serie "Core" tenían menor frecuencia que los Pentium-4 teniendo efectivamente mayor velocidad?

También escuché que una menor frecuencia conduce a un menor consumo de energía. Pero, ¿la CPU central no tiene una frecuencia menor y, sin embargo, no tiene un número menor de puertas lógicas que cambian su estado por segundo? ¿No es el número de puertas que cambian su estado, no la frecuencia, el factor que define el consumo de energía?

Depende del circuito

Respuestas (5)

I. La mayor parte del tiempo, el chip utilizará diferentes frecuencias para diferentes partes del chip. Hoy en día, incluso la mayoría de los mikrocontroladores básicos de 0.5 $ tienen un esquema de reloj bastante complicado (bueno, al menos merecen un capítulo separado en la hoja de datos). Por lo tanto, la frecuencia del reloj se elegirá bloque por bloque.

II. En qué etapa de diseño se elige la frecuencia:

a) Diría que la mayoría de las veces se encuentra en la etapa inicial. Uno obtendría requisitos (ejemplo: tiene que decodificar video HD). En base a eso, uno elegiría la arquitectura teniendo en cuenta las compensaciones de potencia/tecnología/costo (área). Uno de los resultados de la decisión de la arquitectura es la frecuencia del reloj.

b) Pero algunas veces la decisión inicial es subóptima/incorrecta. Así que se están haciendo modificaciones. Sin embargo, esto puede ser costoso ya que, por lo general, las diferentes partes del chip se diseñan en paralelo. Cambiar un reloj puede desencadenar el rediseño de otro bloque (debido a la interfaz y la fuente del reloj en sí). Yo diría que por eso esto se evita. Por supuesto, es más fácil para un bloque cambiar la frecuencia del reloj que para otro, por lo que "su kilometraje puede variar".

c) En la última etapa de lugar y ruta (esta es una de las últimas etapas antes de enviar el chip a la fábrica), a veces uno puede tener problemas para cerrar el presupuesto de tiempo/energía (es decir, hacer que el diseño funcione en la frecuencia/potencia objetivo), por lo que la decisión es hecho a una frecuencia de reloj más baja. Esto definitivamente se evita ya que significa no cumplir con algunas de las especificaciones de marketing. Pero algunas veces es más inteligente ser más rápido en el mercado que hacer un rediseño que en esta etapa será realmente costoso y consumirá mucho tiempo.

Pero hay más:

d) Algunas veces, la decisión sobre la frecuencia del reloj se toma después de la fabricación (si se toman ciertas disposiciones en el diseño de antemano). Debido a la variabilidad de la fabricación, algunos chips resultan mejores que otros. De lo que uno puede realizar el binning: clasifique los chips en función de la frecuencia máxima que pueden funcionar de manera confiable y véndalos más rápido con una prima. Diría que esto es utilizado principalmente por proveedores de procesadores de PC.

e) A veces, los chips listos tienen una velocidad de reloj insuficiente en el equipo final para ahorrar energía (popular en uC) si la potencia de procesamiento requerida es inferior al máximo permitido del chip.

f) En algunos diseños modernos, el reloj se puede ajustar dinámicamente. Luego, el reloj se cambia en el campo según la carga para ahorrar energía.

tercero Entonces, cómo se elige la frecuencia y por qué algunas veces el diseño funciona a un reloj más bajo tendrá una mayor capacidad de procesamiento:

Vaya, hay tantas variables que esta es una disciplina de ingeniería en sí misma. Debe tener en cuenta los requisitos de marketing, la tecnología, el costo, la EMI, la potencia, el estándar compatible, los requisitos de IO, etc., etc.

Pero, básicamente, uno puede reducir esto a lo siguiente: para lograr el rendimiento dado, uno puede tener un reloj más rápido (hacer cosas en serie una tras otra) o hacer cosas en paralelo a un reloj más bajo a costa de usar más transistores. Debido a algunos factores, principalmente la latencia de la memoria/atasque de la canalización, a veces es mejor usar más transistores que un reloj más rápido.

Como contribución al tercer punto de la mazurnificación, aquí hay una guía de "90 minutos" sobre los microprocesadores modernos, y por qué hay más velocidad que solo megahercios: enlighterra.com/papers/modernmicroprocessors explica cosas como la canalización y la estructura superescalar de manera básica.

En el ámbito integrado, a menudo se elige una frecuencia específica debido a las limitaciones de los periféricos del microcontrolador. Por ejemplo, se podría usar un cristal de 1,8432 MHz (o un múltiplo de esta frecuencia, como 18,432 MHz) porque esta frecuencia base dividida por 16 da como resultado una velocidad de 115 200 baudios para un UART. 32768 Hz se usa a menudo para aplicaciones de microcontroladores de baja potencia porque se divide fácilmente a 1 Hz para el cronometraje.

Aquí hay una lista de varias frecuencias de cristal y la razón por la que existen. Los que se enumeran como "reloj UART" a menudo se eligen para microcontroladores por el motivo dado anteriormente; el específico elegido depende del circuito del BRG (generador de velocidad de transmisión) y de la(s) velocidad(es) de transmisión deseada(s).

En realidad, la energía disipada por un circuito CMOS es la suma del consumo de energía estática (causado por corrientes de fuga) y el consumo de energía dinámico (consumido solo cuando los transistores están cambiando el estado lógico). Este último es una función de la frecuencia de conmutación.

Aquí hay una excelente nota de aplicación de TI que la describe con más detalles: http://focus.ti.com/lit/an/scaa035b/scaa035b.pdf

Dicho esto, generalmente es la mejor idea seleccionar una frecuencia de reloj más baja. Sin embargo, a veces tiene más sentido usar una frecuencia de reloj más alta para que, por ejemplo, el controlador de interrupciones pueda terminar su tarea más rápido y cambiar la CPU al modo de ahorro de energía entre interrupciones.

Como se mencionó anteriormente, las personas hacen concesiones entre velocidad y potencia.

En el extremo del mercado de alto rendimiento, es más complejo: en el caso de Intel, hay problemas que compiten: ¿qué tan rápido puedo hacer que el silicio funcione? depende: para ejecutar una instrucción se necesitan varios relojes. Como ejemplo (muy) simple, podría construir una canalización de 4 relojes/instrucciones que registre a 1 GHz y una canalización de 6 relojes/instrucciones que registre a 1,25 GHz. Todavía me retiraré 1 instrucción en cada reloj y el tubo de 6 relojes/instrucciones será más rápido

En el mundo real, aunque ocurren cosas como burbujas de tubería, cuantas más etapas de tubería tenga, más relojes desperdiciará cuando tenga que volver a llenar la tubería: la tubería de 4 relojes se llenará más rápido que la tubería de 6 relojes y en promedio (más de un montón de puntos de referencia) el tubo de 6 relojes puede tardar 2 relojes en retirar cada instrucción en comparación con los 1,5 relojes para el diseño de etapa de 4 tubos: el diseño de 4 etapas superará al de 6 etapas (1 gHz/1,5 > 1,25 GHz/2).

Por supuesto, es difícil para los chicos de marketing vender cosas como esta: la gente está tan acostumbrada a "más GHz significa más rápido".

Otra consideración es EMC/EMI - compatibilidad electromagnética/interferencia electromagnética.

Por ejemplo, las señales digitales de alta velocidad pueden crear radiación de RF (radiofrecuencia, desde onda larga hasta microondas) no deseada que puede ser una fuente de interferencia para el uso de RF con licencia. Esto incluye transmisiones de radio AM (MW), transmisión de televisión, teléfonos celulares, receptores GPS y otros circuitos electrónicos.

De hecho, a altas velocidades, las trazas largas (de cobre) en una placa de circuito impreso (PCB) pueden actuar como antenas, tanto para transmitir como para recibir. Por ejemplo, un circuito mal diseñado fácilmente podría recibir suficiente interferencia si un teléfono móvil se coloca demasiado cerca de la placa de circuito para bloquear un sistema.

Los satélites también deben tener en cuenta la radiación ionizante (es decir, las partículas gamma), una solución requiere el uso de circuitos integrados endurecidos por radiación que solo pueden funcionar a velocidades limitadas debido al proceso de fabricación.

Debido a esto, los productos comerciales tienen que pasar por pruebas de EMC/EMI antes de poder venderlos al mercado general.