Los microprocesadores

80186 y 80188

Estos microprocesadores altamente integrados aparecieron en 1982. Por "altamente integrados" se entiende que el chip contiene otros componentes aparte de los encontrados en microprocesadores comunes como el 8088 u 8086. Generalmente contienen, aparte de la unidad de ejecución, contadores o "timers", y a veces incluyen memoria RAM y/o ROM y otros dispositivos que varían según los modelos. Cuando contienen memoria ROM, a estos chips se los llama microcomputadoras en un sólo chip (no siendo éste el caso de los microprocesadores 80186/80188).
Externamente se encapsulaban en el formato PGA (Pin Grid Array) de 68 pines.
Los microprocesadores 80188/80186 contenían, en su primera versión, lo siguiente:

Generador de reloj
El 80186/80188 contiene un oscilador interno de reloj, que requiere un cristal externo o una fuente de frecuencia con niveles TTL. La salida de reloj del sistema tiene una frecuencia de 8 MHz con 50% de ciclo de trabajo (la mitad del tiempo en estado alto y la otra mitad en estado bajo) a la mitad de frecuencia de oscilación del cristal (que debe ser de 16 MHz). Esta salida puede utilizarse para atacar las entradas de reloj (clock) de otros componentes, haciendo innecesario tener un chip externo dedicado a la generación de reloj.

Temporizadores
En estos microprocesadores se incluyen dos temporizadores / contadores programables para contar o medir tiempos de eventos externos y para generar formas de onda no repetitivas. El tercero, que no está conectado al exterior, es útil para implementar demoras y como un prescaler (divisor) para los otros dos que están conectados exteriormente. Estos temporizadores son muy flexibles y pueden configurarse para contar y medir tiempos de una variedad de actividades de entrada/salida.
Cada uno de los tres temporizadores está equipado con un registro contador de 16 bits que contiene el valor actual del contador/temporizador. Puede ser leído o escrito en cualquier momento (aunque el temporizador esté corriendo). Además cada temporizador posee otro registro de 16 bits que contiene el máximo valor que alcanzará la cuenta. Cada uno de los dos temporizadores conectados exteriormente posee otro registro de cuenta de 16 bits que permite alternar la cuenta entre dos valores máximos decuenta (lo que sirve para generar señales con ciclo de trabajo diferente del 50%) programables por el usuario. Cuando se alcanza la cuenta máxima, se genera una interrupción y el registro que lleva la cuenta (el primero mencionado) se pone a cero.
Los temporizadores tienen modos de operación bastante flexibles. Todos pueden programarse para parar o poner la cuenta a cero y seguir corriendo cuando llegan al valor máximo. Los dos temporizadores conectados externamente pueden seleccionar entre el reloj interno (basado en la señal generada por el generador de reloj, explicado en el apartado anterior) y externo, alternar entre dos cuentas máximas (primero se usa una y después la otra) o usar una cuenta máxima (siempre el mismo valor), y pueden programarse para volver a disparar cuando ocurre un evento externo.

Canales de DMA
La unidad controladora de DMA (Direct Memory Access, lo que indica que no se utiliza la CPU para realizar la transferencia) integrada en el 80186/80188 contiene dos canales independientes de DMA de alta velocidad. Las transferencias de DMA pueden ocurrir entre los espacios de memoria y la de entrada/salida (M - I/O) o entre el mismo espacio (M - M, I/O - I/O), lo que permite que los dispositivos de entrada/salida y los buffers de memoria puedan ubicarse en cualquiera de los espacios. Cada canal de DMA posee punteros fuente y destino de 20 bits que pueden ser incrementados, decrementados o sin cambiar después de cada transferencia (el último caso es útil para I/O). El usuario puede especificar
diferentes modos de operación de DMA utilizando el registro de control de 16 bits.

Controlador de interrupciones
Este controlador resuelve las prioridades entre pedidos de interrupción que arriban simultáneamente.
Puede aceptar interrupciones de hasta cinco fuentes externas (una no enmascarable (NMI) y cuatro enmascarables) y de fuentes internas (temporizadores y canales de DMA). Cada fuente de interrupción tiene un nivel de prioridad programable y un vector de interrupción predefinido. El hecho de que el tipo de vector (ver discusión sobre esto en el apartado "Estructura de interrupciones" del microprocesador 8086/8088) sea fijo incrementa la velocidad de respuesta a interrupciones en un 50%. Además tiene varios de los modos de operación del circuito integrado controlador de interrupciones 8259A.

Generación de Chip Select y Ready
El microprocesador 80186/80188 contiene una lógica de selección de chip programable para proveer señales de chip select para memorias y periféricos y también posee una lógica programable de generación de estados de espera (wait state) para componentes lentos. El resultado de esta lógica es una menor cantidad de circuitos integrados externos ya que se pueden ahorrar alrededor de diez chips TTL. Aparte del menor costo que esto significa, el rendimiento del sistema aumenta como resultado de la eliminación de demoras de propagación externas (las demoras de las señales en el interior de un chip con significativamente menores que las demoras en el exterior). Otra ventaja se refiere a la flexibilidad en la elección del tamaño y velocidad de acceso de las memorias. Pueden programarse tres rangos de memoria (menor, medio y mayor) con longitudes variables (1K, 2K, 4K, ..., 256K). Pueden programase entre cero y tres estados de espera para poder utilizar memorias de alta velocidad o memorias de bajo costo (y más lentas). Con respecto a la selección de periféricos, pueden direccionarse hasta siete que pueden estar en la zona de memoria y/o de entrada/salida. También pueden programarse los estados de espera para los
periféricos.

Unidad Central de Proceso (CPU) del 80186/80188

La funcionalidad agregada del 80186/80188 (temporizadores, DMA, controlador de interrupciones y selección de chip) utiliza registros de control de 16 bits por cada dispositivo integrado. Estos están contenidos en un bloque de control de 256 bytes incluido en la arquitectura de registros del 80186/80188. Este bloque de control puede estar en la zona de memoria o en la de entrada/salida, basado en la inicialización de un registro especial de reubicación. Exceptuando estos agregados, el resto de los registros son los mismos que los del 8086/8088.

Regresar