Intel 8237
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. | ||
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
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
- IBM PC. Primer computador personal de IBM
- Intel 8086 y 8088. Primeros microprocesadores de la arquitectura x86
- Intel 8284. Generador de reloj
- Intel 8282. Octal Latch
- Intel 8286. Octal Bus transceiver
- Intel 8288. Controlador de bus
- Intel 8289. Árbitro de bus
- Intel 8259. Controlador programable de interrupciones (PIC)
- Intel 8253. Temporizador programable de intervalos (PIT)
- Intel 8250 UART. Comunicaciones seriales, RS-232
- Intel 8255. Interfaz programable de periféricos (PPI)
- Intel 8089. Coprocesador de entrada/salida
Referencias
- Intel microprocessors by Barry B Brey
- 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
- 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
- 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