necesidad de una interfaz de E / S externa como en 8086 para los últimos procesadores

1

Soy un estudiante que actualmente estoy aprendiendo sobre la interfaz 8255 con 8086. Para mí, la duda es que, ¿Existe la necesidad de una interfaz de E / S externa como en 8086 para los últimos procesadores? ¿Qué es GPIO?

    
pregunta Harish Sp

1 respuesta

3

A lo que te refieres es a la diferencia entre microprocesadores y microcontroladores.

Cuando se inventaron los microprocesadores por primera vez, no había suficiente espacio en el mismo troquel para colocar la CPU, la memoria de solo lectura, RAM y muchos periféricos en el mismo chip (el Intel 8080, por ejemplo, solo tenía 4500 transistores , mientras que el microprocesador en su nueva PC puede tener miles de millones).

Así que estos primeros chips sacaron un bus de datos, normalmente de 8 bits de ancho, y un bus de direcciones, generalmente de 16 bits de ancho o más ancho. Además, se leyeron y escribieron luces estroboscópicas para indicar la dirección de la transferencia de datos.

Así que toda la memoria estaba conectada a estos dos buses. La primera memoria utilizada para el almacenamiento de programas fue ROM (memoria de solo lectura) programada por el fabricante. Luego vino la PROM (ROM programable), que solo podía programarse una vez. Posteriormente, fue reemplazado por EPROM (ROM programable borrable, que fue borrada por luz ultravioleta), y finalmente EEPROM, que podría borrarse eléctricamente. Ahora usamos flash, que funcionalmente es lo mismo que EEPROM pero no requiere un programador externo.

RAM se adjuntó a esta misma dirección y bus de datos. Los dos se mantuvieron en áreas separadas porque un banco de direcciones estaba reservado para la memoria del programa y otro para la memoria RAM. Los procesadores como el 8086, usado en PC, típicamente tenían muy poca ROM, solo lo suficiente para leer el sistema operativo en la memoria del disco. Esta ROM se denomina BIOS (sistema básico de entrada / salida) y se encuentra en la parte superior del espacio de direcciones.

Los periféricos también usaban los mismos buses. En los procesadores Intel, había un bit que indicaba si se estaba accediendo a un puerto de E / S o a una memoria. Si se trata de un puerto de E / S, solo se utilizó el byte bajo del bus de direcciones (lo que limita el acceso a 256 dispositivos). En los procesadores Motorola (6800, etc.), las direcciones de E / S se incluyeron en el mismo mapa de direcciones que la memoria.

El 8255 es un chip de interfaz periférico programable, que se puede usar para proporcionar tres puertos paralelos de 8 bits (A , B y C) para interactuar con los circuitos externos según sea necesario (por ejemplo, para manejar una impresora con una interfaz paralela Centronix, comúnmente utilizada en esos días

En contraste, los microcontroladores, como el 8051 , incluyen almacenamiento de programas, RAM y periféricos, como temporizadores , Puertos de E / S, buses serie (I2C, SPI, UART), interfaz USB, etc., todo dentro del mismo chip. Como no hay una dirección externa ni un bus de datos, estos pines pueden estar disponibles para los periféricos o para los puertos de E / S de propósito general (GPIO). Estos son puertos paralelos, típicamente el mismo "ancho" que el bus de datos en el microcontrolador (8, 16 o 32), que se pueden usar para controlar varios circuitos externos. Así que los puertos GPIO en un microcontrolador son análogos al chip 8255 para el 8086.

Nota: se siguen fabricando microprocesadores; eso es lo que está en su PC Intel ( variante de 80x86) . Y algunos microcontroladores de alta calidad de 32 bits tienen un bus de direcciones externo y un bus de datos, además de la memoria integrada y los periféricos. El BIOS, mencionado anteriormente, ahora está en la memoria flash en lugar de en la ROM, por lo que el usuario puede actualizarlo si es necesario.

En general, los microprocesadores (conectados a una memoria externa medida en varios GB y velocidades de reloj de más de 1 GHz) se utilizan en las PC, mientras que los microcontroladores (con una memoria interna total medida en decenas o cientos de KB a unos pocos MB y reloj) velocidades de 1 MHz a 1 GHz) se utilizan en dispositivos integrados.

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas