¿Por qué en el microprocesador 8085, la frecuencia del reloj se divide en dos?

16

¿Por qué la frecuencia de reloj producida es 6.144 MHz, pero internamente (el procesador 8085) usa solo 3.072 MHz? También lo que lleva al valor específico de 6.144 en un reloj.

Encontré una respuesta en yahoo .... enlace

pero debo admitir que todavía no lo entendí bien. ¿Podría alguno de ustedes tirar algunas líneas sobre esto, por favor?

    
pregunta loxxy

5 respuestas

15

Una razón para dividir un reloj entre dos es para obtener una onda cuadrada de ciclo de trabajo del 50%. Puede ser que el 8085 utilice internamente ambos bordes del reloj y no funcione si la mitad del ciclo fuera mucho más corta que la otra.

En los días en que el 8085 era nuevo, esos agradables osciladores enlatados no eran comunes, y la gente a menudo construía circuitos de reloj de discretos cristales, condensadores y puertas lógicas. La división por dos garantiza que tenga bordes ascendentes y descendentes igualmente espaciados.

En cuanto a 6.144MHz, encontrará que puede dividirse por un número entero para obtener valores de velocidad en baudios comunes, al menos hasta 38400.

seguimiento ...

Mirando una hoja de datos de Intel para el 8085, hay tres declaraciones interesantes

  1.   

    El 8085 incorpora todas las características que el generador de reloj 8224 y el controlador del sistema 8228 proporcionaron para el 8080A

  2.   

    X1 y X2: están conectados a una red de cristal, LC o RC para controlar el generador de reloj interno. La frecuencia de entrada se divide por 2 para dar la frecuencia operativa interna del procesador.

  3.   

    CLK: salida de reloj para uso como reloj del sistema. El período de CLK es el doble del período de entrada X1, X2.

Entonces, las especulaciones sobre el uso de los bordes impares del reloj para mover las cosas internamente a un lado, se hace evidente que cuando diseñaron el 8085, Intel estaba reemplazando la necesidad de un controlador de reloj especial al integrar esa característica en el chip. Dividir la base de tiempo de X1-X2 a la mitad antes de enviarla como CLK garantiza que el sistema tenga un buen ciclo de trabajo par, si nada más.

    
respondido por el JustJeff
6

En el momento en que se diseñó este chip, la gente usaba la menor cantidad posible de transistores en la CPU para hacerlos lo suficientemente pequeños como para que quepan en los chips disponibles.

Sospecho que prácticamente todos los "registros" (tanto los registros de conjuntos de instrucciones visibles por el programador como los pestillos de microarquitectura internos) en una CPU de esa era almacenaron los datos en forma transparente gated D latch o algo similar. Hoy en día, hay muchos transistores en un chip, por lo que es más sencillo usar flip-flops D maestro-esclavo completos, a pesar de que usan el doble de transistores.

Muchas instrucciones toman datos de algún registro A, los combinan con otros datos con la ALU y almacenan el resultado en el registro A. Esto es bastante fácil de hacer si el registro A se implementa con un flip-flop maestro-esclavo D completo.

Pero si el registro A es un pestillo D cerrado transparente, necesita relojes no superpuestos. Utiliza un pulso en un reloj para almacenar algún resultado intermedio en algún lugar (mientras el registro A mantiene su salida constante), y luego un pulso en otro reloj para cargar el registro A con el nuevo valor (mientras que el registro intermedio mantiene su salida constante). / p>

Esto requiere un reloj de 2 fases. La forma más fácil de hacer un reloj de 2 fases sin superposición (en aquellos días en que los transistores eran escasos) era un pequeño circuito externo que toma un reloj de entrada y lo divide en dos.

A medida que pasaba el tiempo, la gente descubrió cómo empaquetar más y más transistores en un IC. Así que las personas que diseñaron CPU integraron cada vez más cosas de la CPU en un sistema informático completo en el chip de la CPU.

Lectura entre líneas del artículo sobre la señal del reloj de Wikipedia , Me da la impresión de que las personas que diseñaron el 8085 y el 6502 y otros chips de esa época tuvieron un poco más de espacio que la generación anterior de CPU integradas, y decidieron que el mejor uso de esa habitación era poner ese pequeño circuito externo en el chip. Pero mantuvieron todos los registros en el mismo pestillo D cerrado que antes.

Es por eso que la frecuencia del reloj se divide por dos. Puede pensar en el primer pulso del reloj externo que genera un pulso en la señal del reloj interno phase_one para actualizar ese registro de resultados intermedios, y el segundo pulso del reloj externo que genera un pulso en la señal del reloj interno phase_two para actualizar el registro visible para el programador.

    
respondido por el davidcary
2

Hay muchas razones para dividir el ciclo de instrucción en múltiples ciclos de reloj. Un buen ejemplo es acceder al bus de memoria principal.

La mayoría de los procesadores modernos son arquitecturas de Von-Neumann; es decir, su código y sus datos existen en el mismo chip de memoria. Bueno, si quieres leer una instrucción, y esa instrucción va a cargar una variable de la memoria ... son dos accesos a la memoria. Pero la mayoría de la memoria es solo de un solo puerto (es decir, solo puede hacer una lectura o escritura por ciclo). Entonces, ¿cómo lees la instrucción y lee tu variable?

La solución es usar un ciclo de instrucción de dos etapas. La primera etapa obtendrá las instrucciones de la memoria, y la segunda etapa podrá leer (¡o escribir!) La variable de la memoria principal.

Algunos chips más antiguos fueron aún más lejos. En el pasado, si su chip tenía 16 bits de memoria direccionable, pero el bus de direcciones externo solo tiene 8 bits, entonces estaría familiarizado con la habilitación del bloqueo de direcciones. Un ciclo de reloj envía los 8 bits superiores de la dirección de 16 bits, y el siguiente ciclo de reloj envía los 8 bits inferiores. Un tercer ciclo podría entonces leer / escribir la variable desde / a la memoria.

Hay otras, mejores razones para tener un ciclo de instrucción que tiene varios ciclos de reloj de longitud. Una de las mejores razones es la canalización. Este es un truco que los procesadores modernos utilizan para explotar más completamente todas las unidades de ejecución disponibles en un chip; por ejemplo, mientras se ejecuta una instrucción, la siguiente se recupera al mismo tiempo.

    
respondido por el ajs410
0

El reloj no es más que un momento en el que desea que ocurra un evento. Ahora, no preferimos la activación de nivel en circuitos digitales porque, cuando se da más tiempo, la interacción puede ocurrir entre diferentes circuitos dentro del microprocesador, lo que lleva a cortocircuitos. Así que vamos por el cambio de borde. Ahora, el microprocesador no sabe cuándo ha ocurrido el disparo por flanco. Solo entiende 1 o 0. Por lo tanto, se requiere un flip flop para producir 1 y 0 cada vez que se detecte un borde del reloj. Por lo tanto, se hace necesario utilizar un flip flop. Como resultado, la frecuencia del reloj se divide en dos.

    
respondido por el Avinash
0

Internamente, el núcleo del 8085A requiere un reloj de dos fases. La lógica interna que deriva las dos fases del reloj también divide el reloj de entrada en dos. Como se indicó anteriormente, la razón para usar un reloj de entrada de 6.144MHz es para propósitos de velocidad de transmisión, el chip funcionará bien a 6MHz. El chip en realidad tiene una potencia de 3 MHz que requiere un cristal de 6 MHz, pero se ejecuta felizmente con un 6.144 MHz, lo que proporciona una generación de velocidad en baudios más fácil proporcionando muchas tasas de baudios utilizables). Todavía utilizo estos chips arcaicos para realizar funciones especiales en algunos de mis robots. Relojo los Uarts con su propio oscilador y el 8085A con un oscilador de 6.4MHz, que ejecuta el chip a 3.2MHz. El 3.2MHz se divide muy bien para proporcionar el reloj de 40KHz para mis transductores ultrasónicos. Tiene más sentido usar más moderno I.C. dispositivos en mis 'bots, pero tengo un montón de antiguos 8085, Z80, 63C09 y 63C09E, 68B09 y 68B09E, etc. con los que realmente disfruto jugando.

    
respondido por el Tin Cans And Duct Tape

Lea otras preguntas en las etiquetas