Intel 8237

Summary

El Intel 8237 es un circuito integrado que cumple con la función de controlador de acceso directo a memoria (DMA), es parte de la familia de los microprocesadores MCS 85. Fue usado como el controlador DMA en IBM PC original y en el IBM XT. Posteriormente, los computadores personales compatibles con IBM podían tener chipsets que emulaban las funciones del 8237 para la compatibilidad hacia atrás.

Circuito integrado Intel 8237

Circuito Integrado Intel 8237 en un encapsulado del tipo dual in line package
Tipo Activo, circuito integrado
Principio de funcionamiento Controlador de DMA
Invención Intel
Símbolo electrónico
Pinout del controlador de DMA Intel 8237
Pinout del controlador de DMA Intel 8237.

El controlador DMA 8237 suministraba a la memoria señales de control y direcciones de memoria durante la transferencia DMA. El 8237 permite transferencia de datos de alta velocidad entre la memoria y la I/O con una reducida carga sobre el procesador principal del sistema.

El 8237 es un dispositivo de cuatro canales que puede ser expandido para incluir cualquier número de canales DMA de entrada, aunque cuatro canales es común para muchos sistemas pequeños. El 8237 es capaz de transferencias DMA a índices de hasta 1,6 MB por segundo. Cada canal es capaz de direccionar una sección completa de memoria de 64 KB y puede transferir hasta 64 KB con una sola programación.[1]

Modos

editar

Existen cuatro modos de transferencia:

  • Single (Solo) - Un ciclo DMA, un ciclo del CPU, intercalados hasta que el contador de direcciones llegue a cero.[2]
  • Block (Bloque) - La transferencia progresa hasta que la cuenta de palabra alcance cero o la señal EOP se vuelva activada.[2]
  • Demand (Demanda) - La transferencia continúan hasta el TC o el EOP se hace activo o el DRQ se hace inactivo. Al CPU se le permite usar el bus cuando no es solicitada la transferencia.[2]
  • Cascade (Cascada) - Usada para conectar en cascada controladores DMA adicionales. El DREQ y el DACK se emparejan con el HRQ y el HLDA del siguiente chip para establecer una cadena de prioridad. Las señales reales del bus son ejecutadas por el chip en cascada.[2]

Puede ser realizada una transferencia de memoria a memoria. Sin embargo, en el IBM PC y los compatibles, el canal 0 es usado para el refrescamiento de la memoria DRAM.[2]

En el modo de autoinicialización, los valores de direcciones y contador son restaurados al recibir una señal de fin de proceso (EOP). Esto sucede sin ninguna intervención del CPU. Es usado para repetir la última transferencia.[2]

Las señales del conteo terminal (TC) finalizan la transferencia a las tarjetas ISA. Al final de la transferencia, una autoinicialización ocurrirá si está configurada para hacer eso.

Véase también

editar

Referencias

editar
  1. Intel microprocessors by Barry B Brey
  2. a b c d e f aluzina.org - Intel 8237/8237-2 High performance. Programmable DMA controller Archivado el 9 de octubre de 2011 en Wayback Machine. (.pdf) datasheet

Bibliografía

editar
  • Ciriaco García de Celis (1994). «12.5: El chip DMA 8237». El universo digital del IBM PC, AT y PS/2 (4ª edición). Facultad de Ciencias de Valladolid: Grupo Universitario de Informática. 
  • Ciriaco García de Celis (1994). «12.6.5: Acceso a disco con DMA». El universo digital del IBM PC, AT y PS/2 (4ª edición). Facultad de Ciencias de Valladolid: Grupo Universitario de Informática. 

Enlaces externos

editar
  • DMA: What it is and How it Works FreeBSD Developers' Handbook. 1996.
  • uPD8237A Hoja de datos del 8237 fabricado por NEC.
  • 8237 DMA controller
  • How to program the DMA 8237 chip
  •   Datos: Q1665573
  •   Multimedia: Intel 8237 / Q1665573