El Intel 8089 es un coprocesador de entrada/salida disponible para ser usado con el microprocesador Intel 8086 y el Intel 8088. Se anunció en mayo de 1979, pero el precio no estaba disponible en ese momento.[1] Usaba las mismas técnicas de programación del coprocesador numérico Intel 8087 para operaciones de entrada/salida, como transferencia de datos desde la memoria hacia los dispositivos periféricos, y así reducir la carga sobre el CPU. Este coprocesador de entrada/salida estaba disponible en julio de 1979 por 194,20 dólares en cantidades de 100 o más.[2]
Debido a que IBM no lo usó en el diseño del IBM PC, no se volvió conocido; posteriores coprocesadores de E/S no mantuvieron la designación x89 en la manera en que el coprocesador numérico mantuvo la designación x87. Se utilizó en el Apricot PC y en el controlador de unidad de disco duro Intel Multibus iSBC-215.[3] También se usó en la computadora multiusuario Altos 586.[4] La propia Intel utilizó el 8089 en sus diseños de referencia (que también comercializaron) como System 86.[5]
El 8089 se puede operar en modo local y remoto. En modo local , el 8089 funciona como un procesador esclavo con un procesador 8086/8088 que funciona en modo máximo. El modo remoto es similar al modo máximo del 8086/8088, diseñado para operación multiprocesador. Aquí se utilizan los módulos de E/S adicionales, el Intel 8288 (controlador de bus) y el Intel 8289 (árbitro de bus).
El 8089 no tiene oscilador interno. El reloj requerido es generado externamente por el chip oscilador Intel 8284. Además, se requiere un Latch para separar las direcciones del bus de datos/bus de direcciones multiplexado, por ejemplo el Intel 8282. Para un control suficiente de todos los sistemas de bus, así como en el funcionamiento con multiprocesador, se requieren controladores bidireccionales, como el Intel 8286.