Arquitectura del Microprocesador 68000: Arbitraje de Bus y Refresco de Memoria DRAM
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,9 KB
Arbitraje de Buses en el Microprocesador 68000
El microprocesador 68000 está diseñado para operar en sistemas multiprocesador, permitiendo el acceso directo a memoria (DMA). Para ello, comparte las siguientes líneas de bus:
- Bus de datos y de direcciones: Permiten la transferencia de información y la especificación de ubicaciones de memoria.
- Líneas del espacio de direcciones (FC0, FC1 y FC2): Definen el tipo de ciclo de bus o el espacio de direcciones al que se accede.
- Líneas del bus de control (/UDS, /LDS, /AS y R/W): Gestionan las operaciones de lectura/escritura y la validez de las direcciones.
El protocolo de gestión del arbitraje de bus se realiza mediante tres señales clave:
- Entrada /BR (Bus Request): Señal de petición de acceso al bus. Un dispositivo externo la activa para solicitar el control del bus.
- Salida /BG (Bus Grant): Señal de cesión de bus. Indica a los demás circuitos que el 68000 se desconectará (pasará a un estado de alta impedancia) al final del ciclo de bus actual (cuando /AS=1), permitiendo que otro dispositivo tome el control.
- Entrada /BGACK (Bus Grant Acknowledge): El dispositivo que ha recibido la cesión del bus (el nuevo "dueño") sitúa esta señal a nivel bajo y desactiva la señal /BR. Esta señal advierte de la ocupación del bus. Cuando el dispositivo finaliza el control del ciclo de bus, desactiva /BGACK, y el 68000 recupera el control.
Refresco de Memoria DRAM y su Gestión
Todas las memorias DRAM (Dynamic Random Access Memory) requieren un proceso de refresco periódico. Este proceso asegura que todas sus filas sean, al menos, leídas una vez en un determinado periodo de tiempo para mantener la integridad de los datos almacenados.
Un temporizador dedicado genera la señal /REFRESH a intervalos regulares. Esta señal indica al microprocesador 68000 que debe abstenerse de acceder a la memoria, ya que esta se encuentra en proceso de refresco. El mismo temporizador puede ser utilizado para generar secuencialmente las direcciones de las celdas que están siendo refrescadas. El ciclo de refresco finaliza con la activación de la señal /DONE.
Tipos de Refresco de Memoria DRAM
Refresco con /RAS (Row Address Strobe)
En este método, solo se activa la señal /RAS después de haber establecido la dirección de fila. Se mantiene activa durante los intervalos mínimos requeridos para el refresco. La señal /CAS (Column Address Strobe) se mantiene en nivel alto durante todo el ciclo de refresco. Un ejemplo común es la división de 512 ciclos de refresco en 64 ráfagas de 8 ciclos, completándose en 8 milisegundos.
Refresco con /CAS antes de /RAS (CBR - CAS Before RAS)
Este tipo de refresco invierte el orden de activación de /CAS y /RAS en comparación con un acceso normal a memoria. La señal /CAS se activa antes que /RAS, lo que dispara un contador de filas interno en el chip de memoria. Este contador genera automáticamente la dirección de fila de refresco correspondiente, ignorando cualquier dirección externa que pueda llegar al integrado durante este ciclo.
Refresco Oculto
El refresco oculto se inicia después de un ciclo de acceso normal a memoria. Al finalizar dicho ciclo, la señal /CAS se mantiene activa mientras /RAS retorna a nivel alto. Cuando /RAS se vuelve a activar, se ejecuta un ciclo de refresco interno de forma "oculta". Durante este proceso, el dato de la dirección previamente leída se mantiene disponible en el bus del procesador, lo que permite una mayor eficiencia al solapar operaciones.
Interacción del Refresco con el Arbitraje de Bus
Durante el proceso de refresco, el microprocesador debe evitar el acceso a la memoria para prevenir conflictos. Para coordinar esto, se utilizan las mismas señales de arbitraje de bus: /BR, /BG y /BGACK.
El circuito lógico de refresco activa la señal /BR (Bus Request). Una vez que el procesador finaliza su ciclo actual, coloca todos sus buses en estado de triestado y lo indica mediante la señal /BG (Bus Grant). En ese momento, el circuito de refresco activa /BGACK (Bus Grant Acknowledge) y la mantiene activa mientras controla el bus para realizar el refresco de memoria. No desactivará /BGACK hasta que haya completado el control del acceso a memoria para el refresco, permitiendo que el 68000 retome el control del bus.