Subido por renejd13

Microprocesadores ReneJDV ISC

Anuncio
GRUPO COLEGIO MEXIQUENSE UNIVERSITARI O.
TRABAJO DE INVESTIGACIÓN.
ELABORA:
RENÉ JOEL DÍAZ VIQUEZ.
DOCENTE:
I.S.C. JAVIER CRISANTO TIBURCIO.
TOLUCA, MÉXICO A 4 ENERO DEL 2022.
Unidad 1 MICROPROCESADORES
1.1
Introducción a los microprocesadores. ................................................................................... 3
1.1.1
Definición del microprocesador. ..................................................................................... 4
1.1.2
Diferencia entre el microprocesador y el microcontrolador. ......................................... 4
1.1.3
Tipos de microprocesador según su velocidad y ancho de palabra................................ 6
1.2
Arquitectura del microprocesador .......................................................................................... 8
1.2.1
A través del diagrama de bloques. .................................................................................. 8
1.2.2
Arquitectura externa de un microprocesador (terminales). ......................................... 13
1.3 Conexión del microprocesador con tipos de: ............................................................................. 18
1.3.1 Memoria. .............................................................................................................................. 18
1.3.2 Periféricos............................................................................................................................. 18
1.3.2.1 Interrupciones programables (8255). ........................................................................... 18
1.3.2.2 De comunicación serial. ................................................................................................ 18
1.3.2.3 De interfase programable (8255). ................................................................................. 19
1.4 Fuentes de investigación documentales. .................................................................................... 28
UNIDAD 1. MICROPROCESADORES
1.1 Introducción a los microprocesadores.
Se usa el término microprocesador para denominar a cualquier Unidad Central de
Proceso (CPU) contenida en una sola pastilla, aun cuando algunas de ellas tengan
la arquitectura y el poder de procesamiento de una computadora.
El microprocesador es uno de los logros más sobresalientes del siglo XX. Esas son
palabras atrevidas, y hace un cuarto de siglo tal afirmación habría parecido absurda.
Pero cada año, el microprocesador se acerca más al centro de nuestras vidas,
forjándose un sitio en el núcleo de una máquina tras otra. Su presencia ha
comenzado a cambiar la forma en que percibimos el mundo e incluso a nosotros
mismos. Cada vez se hace más difícil pasar por alto al microprocesador como otro
simple producto en una larga línea de innovaciones tecnológicas.
Ninguna otra invención en la historia se ha diseminado tan aprisa por todo el mundo
o ha tocado tan profundamente tantos aspectos de la existencia humana.
Hoy existen casi 15,000 millones de microchips de alguna clase en uso (el
equivalente de dos computadoras poderosas para cada hombre, mujer y niño del
planeta). De cara a esa realidad, ¿quién puede dudar que el microprocesador no
sólo está transformando los productos que usamos, sino también nuestra forma de
vivir y, por último, la forma en que percibimos la realidad?
No obstante que reconocemos la penetración del microprocesador en nuestras
vidas, ya estamos creciendo indiferentes a la presencia de esos miles de máquinas
diminutas que nos encontramos sin saberlo todos los días. Así que, antes de que
se integre de manera demasiado imperceptible en nuestra diaria existencia, es el
momento de celebrar al microprocesador y la revolución que ha originado, para
apreciar el milagro que es en realidad cada uno de esos chips de silicio diminutos y
meditar acerca de su significado para nuestras vidas y las de nuestros
descendientes.
1.1.1 Definición del microprocesador.
El microprocesador es un circuito electrónico que actúa como unidad central de
proceso de un ordenador, proporcionando el control de las operaciones de cálculo.
Podríamos decir de él que es el cerebro del ordenador. Los microprocesadores
también se utilizan en otros sistemas informáticos avanzados, como impresoras,
automóviles o aviones.
El microprocesador es un tipo de circuito sumamente integrado. Los circuitos
integrados, también conocidos como microchips o chips, son circuitos electrónicos
complejos formados por componentes extremadamente pequeños formados en una
única pieza plana de poco espesor de un material conocido como semiconductor.
Un microprocesador consta de varias secciones diferentes.
1.1.2 Diferencia entre el microprocesador y el microcontrolador.
Si se ha tenido la oportunidad de realizar un diseño con un Microprocesador, Fig.1,
se puede observar que dependiendo del circuito se requerían algunos circuitos
integrados adicionales además del Microprocesador como, por ejemplo: memorias
RAM para almacenar datos temporalmente y memorias ROM para guardar el
programa encargado del proceso del equipo, un circuito integrado para los puertos
de entrada y salida y finalmente un decodificador de direcciones.
Figura 1. Estructura de un sistema abierto basado en un Microprocesador. La
disponibilidad de los buses permite que se configure a la medida de la
aplicación.
Un Microcontrolador, fig.2, es un
circuito integrado que contiene
todos los elementos necesarios
para hacer funcionar un sistema
basado con un Microprocesador;
es decir contiene en un solo
integrado la Unidad de Proceso,
la memoria RAM, memoria ROM,
puertos de entrada y salidas, con
la consiguiente reducción de
espacio.
El Microcontrolador es en definitiva un circuito integrado que incluye todos los
componentes de un computador. Debido a su reducido tamaño es posible montar el
controlador en el propio dispositivo al que gobierna. En este casoel controlador recibe
el nombre de controlador empotrado.
El Microcontrolador es un sistema cerrado. Todas las partes del procesador están
contenidas en su interior y sólo salen al exterior las líneas que gobiernan los
periféricos.
Estas ventajas son reconocidas inmediatamente para aquellas personas que han
trabajado con los Microprocesadores y después pasaron a trabajar con los
Microcontroladores. Estas son las diferencias más importantes:
Por ejemplo la configuración mínima básica de un Microprocesador estaba
constituida por un Micro de 40 Pines, Una memoria RAM de 28 Pines, una memoria
ROM de 28 Pines y un decodificador de direcciones de 18 pines; pero un
Microcontrolador incluye todo estos elementos en un solo Circuito Integrado por lo
que implica una gran ventaja en varios factores: En el circuito impreso por su amplia
simplificación de componentes, el costo para un sistema basado en
Microcontrolador es mucho menor y, lo mejor de todo, el tiempo de desarrollo de su
proyecto electrónico se disminuye considerablemente.
1.1.3 Tipos de microprocesador según su velocidad y ancho de
palabra.
Las características básicas que definen a un microprocesador son la longitud de
palabra (comúnmente de 8, 16, 32, 64 o 128 bits), la velocidad de ejecución y la
capacidad de gestionar interrupciones.
Otras de sus calidades diferenciativas, son el número de instrucciones, el número
de registros, y los tipos de direccionamiento.
La longitud de la palabra se refiere al número de bits que procesa simultáneamente
un microprocesador y se determina por su arquitectura, es decir, por el tamaño de
los registros, de la unidad lógica y aritmética (ALU) y de los buses internos. La
longitud de la palabra crece conforme las nuevas tecnologías lo permiten.
El primer microprocesador tenía una longitud de 4 bits, ahora y una frecuencia de
108 KHz, el microprocesador PENTIUM IV tiene una longitud de palabra de 64 bits,
con una frecuencia de 2GHz.
Especificaciones técnicas de los microprocesadores Intel
Fecha reloj
bus Núm
Memoria Memoria Breve
trans
virtual
4004
15/11/7 108KH 4bits 2.300
(10
1
z.
micras)
640 byte
8008
1/4/72 108KH 8bits 3.500
z.
16
KBytes
8080
1/4/74 2 MHz. 8bits 6.000
64
KBytes
8086
5MHz.
29.000
8/6/78 8MHz. 16bit (3 micras)
10MHz. s
1
MegaByt
e
8088
1/6/79
Primer chip con
manipulación
aritmética
Manipulaci
ón
Datos/text
o
10 veces las (6
micras)
prestaciones
del
8008
5 MHz.
8 bits 29.000
8 MHz.
80286 1/2/82 8 MHz. 16bit 134.000
s
10MHz.
12MHz.
16
descripción
1
10 veces las
prestaciones
del
8080
Idéntico al 8086
excepto en su bus
externo de 8 bits
De 3 a 6 veces las
(1.5 micras) Megabyte Gigabyte prestaciones del
s
8086
386
DX®
386
SX®
16
17/10/8 MHz.
20
5
MHz.
25
MHz.
33
MHz.
16
16/6/88
MHz.
20
MHz.
25
486
10/4/89 MHz.
DX®
33
MHz.
50
MHz.
16
486
MHz.
SX® 22/4/91 20
MHz.
25
MHz.
33
MHz.
60
MHz.
66
MHz.
Pent® 22/3/93 75
MHz.
90
MHz.
100MH
z.
120MH
z.
133MH
z.
150MH
z.
166MH
z.
200MH
z.
275.000
32bit
(1 micra)
s
Primer chip x86
4
64
capaz de manejar
Gigabyte Terabyte
juegos de datos
s
s
de 32 bits
16bit
(1 micra)
s
Bus capaz de
4
64
direccionar 16
Gigabyte Terabyte bits procesando
s
s
32bits a bajo
coste
(1 micra,
32bit 0.8
s
micras en
50 MHz.)
4
64
Caché de nivel 1
Gigabyte Terabyte en el chip
s
s
275.000
Idéntico en
1.185.000 4
64
32bit (0.8 micras) Gigabyte Terabyte diseño al Intel
486DX, pero sin
s
s
s
coprocesador
matemático
Arquitectura
escalable. Hasta 5
32
3,1
4
64
Bits millones
Gigabyte Terabyte veces las
prestaciones del
(0.8 micras) s
s
486 DX a 33 MHz.
150MH
Pen
27/3/95 z.
t
180MH
Pro
z.
®
200MH
z.
233MH
7/5/97 z.
266MH
PentII
z.
®
300MH
z.
64
5,5
Bits millones
(0.32
micras)
64
7,5
Bits millones
(0.32
micras)
Arquitectura de
4
ejecución dinámica
Gigabyte Terabyte con procesador de
s
altas prestaciones
s
64
S.E.C., MMX, Doble
64
4
Bus Indep.,
Gigabyte
Terabyte Ejecución
s
Dinámica
s
1.2 Arquitectura del microprocesador
1.2.1 A través del diagrama de bloques.
2
3
La unidad central de proceso (CPU) o microprocesador, es el verdadero cerebro
de la computadora. Su misión consiste en controlar y coordinar todas las
operaciones del sistema. Para ello extrae, una a una, las instrucciones del
programa que está en la memoria central de la computadora (memoria RAM),
las analiza y emite las órdenes necesarias para su completa realización.
Para entender cómo funciona un microprocesador, hay que tener en primer
lugar una clara idea acerca de su arquitectura. De otro modo, será
prácticamente imposible hacerse una idea sobre su funcionamiento. De una
forma global, podemos considerar al microprocesador dividido en tres grandes
bloques:
4
UNIDAD
DE
UNIDAD
DE
DECODIFICACIÓN EJECUCIÓN
UNIDAD ARITMÉTICO- LÓGICA (ALU)
Unidad de decodificación.
Se encarga de decodificar la instrucción que se va a ejecutar. Es decir, saber qué
instrucción es. Cuando el microprocesador lee de memoria una instrucción, el
código de esa instrucción le llega a esta unidad. Esta unidad se encarga de
interpretar ese código para averiguar el tipo de instrucción a realizar. Por ejemplo,
instrucciones de suma, multiplicación, almacenamiento de datos en memoria, etc.
Unidad de ejecución.
Una vez que la unidad de decodificación sabe cuál es el significado de la instrucción
leída de memoria, se lo comunica a la unidad de ejecución. Esta unidad será la
encargada de consumar la ejecución y para ello activará las señales necesarias y
en un orden determinado. Es decir, es la encargada de dar las órdenes necesarias
a las diversas partes del microprocesador para poder ejecutar cada una de las
instrucciones.
Unidad aritmético lógica (ALU).
La ALU (Aritmethic Logic Unit) es el bloque funcional del microprocesador
encargado de realizar todas aquellas operaciones matemáticas y lógicas, así como
también operaciones de corrimiento. Las operaciones que realiza son las siguientes:
suma, resta, multiplicación, división y aquellas que trabajan con dígitos binarios (10
que se conoce como operaciones lógicas: AND, NOR, NOT, NAND, OR, X-OR,
etc.).
En suma, saber cómo funciona un microprocesador, implica conocer cómo se van
ejecutando cada una de las instrucciones del programa que se almacena en
memoria. Los pasos globales que se siguen a la hora de ejecutar una instrucción
son:
Partes de la CPU.
Vamos a profundizar aún más en el estudio de las partes funcionales que componen
un microprocesador. No significa que la primera división en bloques anterior fuera
errónea, sino que era más superficial.
Podemos, entonces, considerar a un microprocesador compuesto por las dos
siguientes unidades: unidad de control y unidad aritmética lógica.
Unidad de control.
Es el centro nervioso de la computadora, ya que desde ella se controlan y gobiernan
todas las operaciones. Realiza las funciones básicas de:
tomar las instrucciones de memoria.
decodificar o interpretar las instrucciones.
ejecutar las instrucciones (tratar las situaciones de tipo interno (inherentes ala propia
CPU) y de tipo externo (inherentes a los periféricos).
Para funcionar de la manera anterior, la unidad de control consta de:
Contador de programa
Registro de instrucciones
Decodificador
Reloj
Secuenciador
Contador de programa.
Contiene permanentemente la dirección de memoria de la siguiente instrucción a
ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera
instrucción. Incrementa su valor en uno, de forma automática, cada vez que se
concluye una instrucción, salvo si la instrucción que se está ejecutando es de salto
o de ruptura de secuencia, en cuyo caso el contador de programa tomará la
dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección
está en la propia instrucción en curso.
Registro de instrucción.
Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción
llevará consigo el código de operación (un código que indica qué tipo de operación
se va a realizar, por ejemplo, una suma) y en su caso los operandos (datos sobre
los que actúa la instrucción, por ejemplo, los números a sumar) o las direcciones
de memoria de estos operandos.
Decodificador.
Se encarga de extraer el código de operación de la instrucción en curso (que está
en el registro de instrucción), lo analiza y emite las señales necesarias al resto de
elementos para su ejecución a través del secuenciador.
Reloj.
Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes
(frecuencia constante), que marcan los instantes en que han de comenzar los
distintos pasos de que consta cada instrucción.
Secuenciador.
En este dispositivo se generan órdenes muy elementales (micro órdenes) que,
sincronizadas por los impulsos de reloj, hacen que se vaya ejecutando poco a
poco la instrucción que está cargada en el registro de instrucción.
Unidad aritmético lógica (ALU):
Esta unidad se encarga de realizar las operaciones elementales de tipo aritmético
(sumas, restas, productos, divisiones) y de tipo lógico (comparaciones). A través
de un bus interno se comunica con la unidad de control la cual le envía los datos y
le indica la operación a realizar.
La ALU está formada a su vez por los siguientes elementos:
Circuito operacional Registros de entrada (REN)Registro acumulador Registro de
estado (flags)
Circuito operacional.
Contiene los circuitos necesarios para la realización de las operaciones con los
datos procedentes de los registros de entrada (REN). Este circuito tiene unas
entradas de órdenes para seleccionar la clase de operación que debe realizar en
cada momento (suma, resta, etc.).
Registros de entrada (REN).
En ellos se almacenan los datos u operandos que intervienen en una instrucción
antes de la realización de la operación por parte del circuito operacional. También
se emplean para el almacenamiento de resultados intermedios o finales de las
operaciones respectivas.
Registro acumulador.
Almacena los resultados de las operaciones llevadas a cabo por el circuito
operacional. Está conectado con los registros de entrada para realimentación en el
caso de operaciones encadenadas. Asimismo, tiene una conexión directa al bus de
datos para el envío de los resultados a la memoria central o a la unidad de control.
Registro de estado (flags).
Se trata de unos registros de memoria en los que se deja constancia de algunas
condiciones que se dieron en la última operación realizada y que habrán de ser
tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una
resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo.
1.2.2 Arquitectura externa de un microprocesador (terminales).
En un sistema digital se le da el nombre de “puerto “al medio físico por el cual
entran y salen datos al microprocesador.
Los puertos de E/S son registros externos dedicados a aceptar y/o a enviar
información a dispositivos periféricos.
Un puerto de entrada (E) está compuesto sólo por un buffer de tercer estado junto
con un registro de almacenamiento (latch). El buffer de tercer estado tiene la función
de controlar, es decir, aislar o permitir el flujo de información del puerto al bus de
datos del microprocesador. El registro tiene la función de almacenar temporalmente
la información generada por el dispositivo periférico de entrada hasta que pueda ser
leída por el microprocesador. El dispositivo de entrada controla el almacenamiento
de un dato en el registro, mientras que el microprocesador determina el estado del
buffer (activo o en estado de alta impedancia) por medio de un pulso de selección.
Puerto de Salida.
La concepción básica de un puerto de salida es un simple registro de
almacenamiento (latch), que conecta al bus de datos con el dispositivo de salida.
El microprocesador coloca en el registro el dato que va a ser enviado al dispositivo
periférico por medio de un pulso de selección aplicado a la entrada de reloj del
registro.
Direccionamiento y Control de Puertos.
Para puertos de salida, circuitos externos combinan las señales IOQR, WR y la
dirección del puerto y generan un pulso de selección único para cada puerto. Este
pulso actúa a la manera de un pulso de escritura para grabar el dato en el puerto
durante el ciclo de salida de una instrucción OUT que especifique ese puerto.
El diseño de la circuiteria de selección varía, dependiendo del número de dispositivo
de E/S en el sistema y de las características de los circuitos que componen los
puertos de E/S. Si únicamente se requiere un puerto de entrada y un puerto de
salida, no es necesario decodificar los bits de dirección. Para generar los pulsos
de selección de estos puertos bastan las señales E/SR y E/SW.En este caso el
número de puerto no importa, pero de cualquier manera no puede omitirse en la
instrucción.
Cuando el sistema requiere más de un puerto de entrada o de salida, entonces es
necesario decodificar las líneas de dirección con el fin de generar los pulsos de
selección para cada puerto en particular.
Circuitos Para la Implementación de Puertos.
Los puertos de E/S pueden implantarse con circuitos SSI, MSI o LSI. Sin embargo,
para minimizar el número de componentes en general se usan circuitos MSI o LSI.
Un puerto de salida de 8 bits se puede implantar con un circuito de tipo cerrojo
(latch) de 8 bits como el 74LS373 o el 74LS374. El 74LS373 contiene 8 cerrojos
disparados en el nivel positivo con una entrada común de reloj activa en 1 lógico. El
74LS374 contiene 8 flip-flops tipo D disparados en la transición positiva (0 a 1) con
una entrada común de reloj.
Ambos circuitos poseen salidas con buffers de tercer estado. Los buffers tienen una
entrada de habilitación activa en 0 lógico. Cuando alguno de estos circuitos se usa
para implantar un puerto de salida, los buffers se mantienen activos todo el tiempo
o son controlados por el dispositivo de salida.
El circuito 9334 de National proporciona 8 cerrojos (latches) direccionables
individualmente, los cuales pueden utilizarse como 8 puertos de salida de un bit
para propósitos de control. La entrada de datos del 9334 se conecta a una de las
líneas del bus de datos. Cada uno de los cerrojos es seleccionado como un puerto
de salida independiente por medio de tres líneas de dirección, con lo cual se puede
cambiar el estado de un bit sin afectar el estado de los otros. Con este circuito
solamente se requieren dos instrucciones para poner un bit en 0 o en 1 lógico: una
carga el acumulador con 00H o 01H; la otra es una instrucción de salida para el
puerto (bit) seleccionado. Suponiendo un 9334 conectado al Z-80, como se muestra
en la figura, la siguiente secuencia de instrucciones pone el bit 4 en 1 lógico:
En contraste, para cambiar un solo bit sin alterar ninguno de los otros bits de un
puerto de salida en donde todos los bits son manejados simultáneamente, por
ejemplo, un 74LS373 o un 74LS374, se vuelve necesario mantener en memoria una
copia de la última información enviada al puerto. Compare la siguiente secuencia
de instrucciones que pone en 1 lógico el bit 4 de un puerto implantado con un
74LS373, con la secuencia utilizada en el caso de un 9334:
Estructura común de un puerto de E/S.
Hay dos tipos posibles de transferencia controlada por programa: incondicional y
condicional.
Una transferencia incondicional es aquella en que se envían o reciben datos de un
puerto de E/S, sin averiguar si éste se encuentra listo para recibir o transmitir la
información. Un ejemplo de una operación de salida incondicional es la transmisión
de un dato en BCD del microprocesador a un indicador de siete segmentos. El
microprocesador no se asegura que el indicador esté listo para recibir el dato,
sencillamente supone que sí lo está. La lectura del estado de un conjunto de
interrupciones manuales muestra una operación de entrada incondicional. Aquí de
nuevo el microprocesador da por supuesto que los interruptores se han colocado en
las posiciones deseadas. En la generalidad de los casos, los periféricos de E/S
necesitan sincronizarse de alguna forma al microprocesador. Éste no puede tratar
a los dispositivos como si mantuvieran su información indefinidamente o como si
pudieran recibir datos en cualquier momento. En vez de eso, el microprocesador
debe ser capaz de determinar cuándo un dispositivo tiene un dato nuevo de entrada
o cuando está listo para recibir un dato de salida.
Así pues, en transferencias condicionales, la ejecución de la instrucción de E/S que
realiza la transferencia de datos, se condiciona a que el periférico esté listo para
enviar o recibir el dato. La disponibilidad del periférico se determina por medio de
una transferencia incondicional de información de estado (status) del dispositivo de
E/S al microprocesador, que precede a la transferencia del dato.
Al conjunto de operaciones implicadas en la transferencia condicional de un dato se
le conoce como protocolo de comunicación. En un protocolo decomunicación entre
dispositivos electrónicos, al igual que en las relaciones humanas, ocurre un
intercambio de “cortesías”, en este caso señales eléctricas,las cuales tienen como
fin asegurar que la transferencia de información se realice en la forma más
conveniente para los participantes.
Una de las formas más comunes para implantar un protocolo es el procedimiento
denominado verificación o control de transferencia (handshaking, o apretón de
manos). Aquí el transmisor indica al receptor la presencia de un dato (data ready) y
enseguida transfiere el dato; el receptor completa la verificación respondiendo a la
recepción del dato (input acknowledge). El receptor puede controlar la situación
solicitando inicialmente el dato o indicando su disponibilidad para aceptarlo
(peripheral ready); luego el transmisor envía el dato y completa la verificación
avisando que la información está lista (output ready). En cualquier caso, el
transmisor sabe si la transferencia se ha completado exitosamente y el receptor
sabe cuándo está disponible un nuevo dato. Las figuras 4.12 y 4.13 muestran
operaciones comunes de E/S usando un protocolo de verificación.
Lectura de puerto (entrada).
Examinar el registro de estado del puerto y esperar a la señal que indique que el
puerto está listo.
Enviar un comando de lectura al registro de control del puerto. Después de iniciar
la operación, el microprocesador puede dedicarse a otras tareas. Cuando llega al
punto en el que debe aceptar el dato del puerto, prosigue
con el siguiente paso.
Examinar el registro de estado del puerto y esperar a la señal que indique la
disponibilidad del dato.
Transferir al microprocesador el contenido del registro de datos del puerto.
Escritura en puerto (salida).
Examinar el registro de estado del puerto y esperar a la señal que indique que el
puerto está listo.
Transferir el dato del microprocesador al registro de datos del puerto.
Enviar un comando de escritura al registro de control del puerto. El microprocesador
puede pasar el control a otras tareas que se puedan ejecutar mientras se efectúa la
operación de E/S.
En la siguiente figura se muestra el diagrama de una transferencia condicional
controlada por programa.
Transferencia condicional controlada por programa.
Hay varias maneras de proporcionar las señales de control y estado. Una es por
medio de líneas de E/S dedicadas a este propósito. El microprocesador tiene acceso
a ellas a través de puertos adicionales. Un solo bit de estado puede indicar cuándo
un puerto de entrada tiene información disponible para ser leída o cuando un puerto
de salida está listo para recibir información.
Considérese, por ejemplo, un periférico de entrada que ha colocado un dato en el
puerto de entrada 1 (registro de datos), para ser transmitido al microprocesador.
Para indicar la existencia de un dato, el periférico pone en 1 lógico un flip-flop o
bandera que corresponde al bit 7 del puerto de entrada 0 (registro de estado).
Con el fin de determinar la presencia de un dato para ser leído, el microprocesador
periódicamente lee el contenido del registro de estado y examina el estado del bit;
si el bit 7 es 1, hay un dato disponible y entonces una instrucción lo lee del puerto
1. El pulso de selección que activa el buffer del puerto 1, también reestablece
(vuelve a 0 lógico) la bandera que indica la existencia de un dato.
Cuando existen varios dispositivos de E/S en un sistema que utiliza E/S controlada
por programa, el microprocesador debe preguntar por la disponibilidad de cada
periférico antes de que se efectúe la transferencia de información. Este
procedimiento es llamado ENCUESTA (POLLING).
En la subrutina de encuesta el microprocesador examina la bandera de cada
dispositivo y ejecuta la secuencia de instrucciones que le da servicio al dispositivo
si encuentras que la bandera correspondiente esté activa. Además, el
procedimiento de encuesta establece un esquema jerárquico de servicio en el que
la prioridad de los periféricos está determinada por el orden en que el
microprocesador examina la bandera de estado de cada uno de ellos.
Evidentemente, este procedimiento puede requerir una gran cantidad de tiempo de
microprocesador si hay muchos dispositivos de E/S. Con frecuencia las banderas
de estado de varios dispositivos o los bits independientes de control, son
combinados y manejados por un solo puerto de entrada o salida respectivamente.
La figura siguiente se muestra la combinación de las banderas de “dato disponible”
de 8 dispositivos de entrada en un byte común de estado al que el microprocesador
tiene acceso a través de un puerto de entrada.
El agrupar la información de estado y control en bytes reduce el número de
direcciones para puertos de E/S requeridos por los periféricos. Sin embargo, esto
implica que los bits individuales de estado deben aislarse para poder ser
interpretados y que los bits de control deben ser determinados por separado.
Los procedimientos para aislar los bits de estado y para poner en 0 o en 1 lógico los
bits de control son como sigue:
Para separar los bits de estado:
Leer la información de estado del periférico.
Ejecutar la operación AND con la mascarilla apropiada (la mascarilla debe tener
unos en las posiciones de los bits que van a examinarse y ceros en las demás).
Desplazar los bits separados a las posiciones menos significativas.
1.3 Conexión del microprocesador con tipos de:
1.3.1 Memoria.
1.3.2 Periféricos.
1.3.2.1 Interrupciones programables (8255).
1.3.2.2 De comunicación serial.
1.3.2.3 De interfase programable (8255).
Uno de los integrados universalmente usados en sistemas basados en
microprocesadores es sin duda el 8255. Este circuito fue inicialmente diseñado por
Intel Corporation como parte del juego de integrados de apoyo a sus primeros
sistemas de 16 bits (8086 y 8088). El chipset incluía numerosos dispositivos tales
como controladores serie, controlador de CRT, gestores de acceso directo a
memoria, controladores de unidades de disco, etc.
La fuerte evolución en el diseño de computadoras ha convertido a gran parte del
chipset del 8086 en piezas de museo debido a que muchas de las funciones no
tienen hoy día utilidad alguna (carece de sentido emplear viejos controladores de
CRT o disco). Sin embargo, existen una serie de componentes que conservan
todavía hoy, después de veinte años, toda su utilidad. En concreto nos estamos
refiriendo a la UART 8251 y al controlador de interfaz paralelo PPI 8255. En este
artículo trataremos el 8255, un versátil y económico integrado de fácil conexión a
cualquier sistema basado en microprocesador o microcontrolador, que proporciona
de un modo elegante y sencillo puertos E/S disponibles.
La opción más correcta sería emplear estos dispositivos en un sistema basado en
un 8086/8088 (actualmente manufacturados en versiones CMOS de bajo consumo
y alta velocidad por OKI Semiconductor Corp.), si bien dada su versatilidad pueden
ser empleados por cualquier otro sistema.
Entre las aplicaciones actuales podemos comprobar como el 8255 se encuentra con
facilidad en tarjetas de expansión de puertos para el bus ISA del PC, ya que
simplifica enormemente la elaboración de la placa de circuito impreso aportando
suficiente potencia de control. Es también ideal para expansión de puertos E/S en
mono placas o gestión de periféricos como conversores analógicos/digital y otros.
El 8255 se encapsula en formato DIP de 40 terminales como es habitual en los
controladores del chipset 8086. Existen cinco grupos de señales, además de los dos
terminales de alimentación:





Grupo de control
Bus de datos
Puerto A
Puerto B
Puerto C
Los terminales del dispositivo se distribuyen del siguiente modo:
ABREVIACION
D7 - D0
RESET
CS
RD”
WR”
A0, A1
PA7 - PA0
PB7 - PB0
PC7 - PC0
Vcc
GND
SEÑAL
Bus de Datos (Bidireccional)
Entrada de Reset
Seleccion de Chip
Entrada de Lectura
Entrada de Escritura
Direccion de Puertos
Puerto A (Bit)
Puerto B (Bit)
Puerto C (Bit)
5V
0V
Básicamente se trata de tres puertos (A, B, C) de ocho bits, encontrándose el puerto
C dividido en dos puertos de cuatro bits. Estos cuatro puertos formados (dos de
ocho bits y dos de cuatro) se organizan en dos grupos de 12 bits. Cada grupo
contiene un puerto de ocho bits y otro de cuatro.
El primer grupo comprende el puerto A y la parte alta del puerto C mientras que el
segundo comprende el puerto B y la parte baja del puerto C.
Grupo A: PA0.PA7 + PC4.PC7
Grupo B: PB0.PB7 + PC0.PC3
Estos grupos pueden operar en tres modos de funcionamiento diferentes:
Modo 0: Tres puertos de cuatro bits programables como entrada o salida.
Modo 1: Un puerto de ocho bits programable como entrada o salida y un puerto de
cuatro bits de control.
Modo 2: Este modo configura al puerto A como un puerto bidireccional dejando los
cinco bits más significativos del puerto C (PC3...PC7 nótese que emplea por tanto
más de un grupo) como líneas de control del puerto.
Estos modos de operación se definen mediante un octeto de estado del que
hablaremos a continuación.
Para acceder tanto al octeto de estado como a los puertos en sí debemos hacer uso
de las señales de control del 8255.
Dx: Bus de datos bidireccional con estado de alta impedancia. Conecta eldispositivo
con el bus de datos del microprocesador.
CS: Señal chip select. Cualquier operación sobre el chip requiere un nivelbajo en
esta señal.
Usualmente se compara la dirección emitida por el microprocesador mediante lógica
externa y si dicha dirección corresponde con el rango asignado por el diseñador al
periférico la lógica comparadora de dirección pondrá a cero esta línea.
Mientras esta línea se encuentre alta el bus de datos D7...D0 se encuentra en un
estado de alta impedancia para permitir que otros periféricos hagan uso del bus del
microprocesador.
RD: Señal de lectura. Un valor bajo en esta señal dispondrá en el bus de datos
bidireccional.
D7.D0 el valor del puerto indicado por las dos líneas de dirección A1 y A0. WR:
Señal de escritura. Un valor bajo escribirá el octeto presente en el bus dedatos en
el registro/puerto indicado por A1 y A0.
A1
0
0
1
1
A0
0
1
0
1
Selección del registro
Puerto A
Puerto B
Puerto C
Octeto de control
Hemos visto hasta ahora los diferentes puertos que existen y los modos de
configurarlos.
Sabemos también que esto se realiza por medio del octeto de control (para ello
realizamos una operación de escritura sobre él, no siendo posible su lectura).
Veremos a continuación la descripción completa de dicho octeto:
Bit 0: Puerto C bajo (1=Entrada, 0=Salida)
Bit 1: Puerto B (1=Entrada, 0=Salida)
Bit 2: Selección modo grupo uno (0=Modo 0, 1=Modo 1)
Bit 3: Puerto C alto (1=Entrada, 0=Salida)
Bit 4: Puerto A (1=Entrada, 0=Salida)
Bit 5,6: Selección modo grupo dos (00=Modo 0, 01=1, 1x= 2)
Bit 7: Flag de modo a uno (1=Activo)
Acceso individual al puerto C
El bit 7 a uno permite acceder al registro de control y configurar el modo de
funcionamiento del periférico. Si a la hora de acceder a dicho registro ponemos a
cero el bit 7 accedemos al control individual de las líneas de salida del puerto C.
Los puertos A y B son leídos y escritos en bloques de cuatro u ocho bits según sea
la configuración de los mismos, pero el puerto C permite un acceso individualsobre
las líneas de salida del mismo:
Bit 0: Valor de salida (1 o 0)
Bit 3,2,1: Selección de bit (000=bit 0, 001=bit 1 ...111=bit 7)
Bit 4,5,6: No influyen, cualquier valor.
Bit 7: Flag de modo (0=Acceso al puerto C)
Modo cero
El modo de funcionamiento 0 es el más simple posible. Los puertos se configuran
como entrada y salidas. En el caso de que se configuren como salidas los datos se
enclavan y permanecen invariables hasta la siguiente escritura. La lectura se realiza
en el momento de efectuar la operación sobre el 8255. El dispositivo opera por tanto
como si de un transceptor multiplexado con latch de salida se tratase.
Modo uno
El modo de funcionamiento 1 puede emplearse en ambos grupos de pines.
Proporciona un puerto de 8 bits y cuatro señales de control de cada mitad del puerto
C que operan del siguiente modo en el caso de que se configure el puerto
correspondiente como entrada:
/STB: Strobe Input
PC4 grupo A/PC2 grupo B
Cuando esta señal se pone a nivel bajo el dispositivo memoriza el estado del puerto
de ocho bits. La siguiente operación de lectura RD sobre el 8255 por parte del
microprocesador devolverá el estado del bus en el estado bajo de dicha señal.
Permite efectuar por tanto lecturas del puerto de ocho bits de modo independiente
del microprocesador que gestiona el 8255.
IBF: Input Buffer Full Flag OutputPC5 grupo A/PC1 grupo B
Esta señal responde a STB subiendo a uno cuando el dato ha quedado enclavado
durante el flanco de bajada de un pulso en STB. Vuelve a nivel lógico cero en el
flanco de subida de la señal de lectura RD.
INTR: Interrupt request output PC3 grupo A/PC0 grupo B
Esta salida sube a nivelalto (si el bit INTE está activado) en el flanco de subida de
STB indicando al microprocesador que controla el 8255 la presencia de un dato en
el dispositivo.
Vuelve a bajar a nivel lógico cero en el flanco de bajada de RD.
Para el grupo A el flag INTE está activado si lo está el bit PC4 mientras que para el
grupo B el bit INTE está activado si lo está el bit PC2. El modo de activar o desactivar
dichos bits es el descrito anteriormente mediante el acceso individual alpuerto C.
Si la configuración indicada establece el puerto de 8 bits como salida la descripción
de los bits de control es la siguiente:
/OBF Output Buffer Full Flag OutputPC7 grupo A/PC1 grupo B
Esta señal indica el estado de escritura en el puerto. Baja a nivel lógico cero en el
flanco de subida de la señal de escritura /WR volviendo al nivel lógico 1 en el flanco
de bajada de la señal de respuesta del dispositivo ACK.
/ACK Acknowledge Input PC6 grupo A/PC2 grupo B
Esta señal de entrada permite al terminal indicar al controlador 8255 que ha
recogido el dato que el sistema le envió. Para ello el terminal pondrá a cero esta
entrada.
INTR Interrupt request outputPC3 grupo A/PC0 grupo B
La señal pasa a nivel alto en el flanco de subida de /ACK y pasa a nivel lógico cero
en el flanco de bajada de /WR, siempre y cuando los correspondientes bits INTE
estén habilitados. Para el primer grupo INTEA corresponde al bit PC6 mientras que
para el segundo grupo INTEB corresponde al bit PC2.
Modo dos
El modo 2 permite habilitar un puerto de 8 bits bidireccional. Solo es posible disponer
de él con el grupo A. La descripción de los pines es la siguiente:
/OBF Output buffer full flag outputPC7
La señal pasa a nivel lógico cero en el flanco de subida de /WR y vuelve al nivel
lógico uno en el flanco de bajada de /ACK. Indica a la CPU que ha recogido el dato.
/ACK Acknowledge inputPC6
La entrada habilita el puerto A del 8255 al pasar al nivel lógico cero. El dato escrito
en el registro interno del 8255 pasa al puerto A y el terminal lo lee. Al volver al nivel
lógico uno el puerto A vuelve de nuevo al estado de alta impedancia.
/STB Stobe input.PC4
Cuando esta entrada pasa a nivel lógico bajo la salida de datos hacia el puerto desde
los pines es enclavada en el registro interno. El dato sale por el bus de datos una
vez se recibe la señal RD desde el microprocesador, si bien el bus permanece en
alta impedancia hasta entonces.
IBF Input buffer full flag outputPC5
La señal pasa a nivel alto en el flanco de bajada de STB volviendo al nivel bajo en
el flanco de subida de RD, indicando que el dato ha sido enclavado en el registro
interno del 8255.
INTR Interrupt request outputPC3
Esta señal se emplea del mismo modo que en el modo de funcionamiento número
1. La diferencia estriba en que existen ahora dos bits INTE, uno para habilitar la
interrupción en operaciones de salida (PC6) y otro para habilitar la interrupción en
operaciones de entrada (PC4).
El 8255 es una interface programable de periféricos (PPI). Su función es la de un
componente EIS de propósito general, para interfasar equipo periférico al bus del
sistema microcomputador. La configuración funcional del 8255 es programada por
el software del sistema, de manera que normalmente no se necesita circuiteria
externa para interfasar periféricos o estructuras.
CARACTERÍSTICAS.
8255 compatible con microprocesadores 8085.
24 pines de EIS programables.
Totalmente compatible con UL.
E Totalmente compatibles con la familia de microprocesadores INTEL.
Características de tiempos mejorados.
Capacidad de directo software de bit facilitando aplicaciones de interfaces de
control.
Circuito integrado DIP de 40 pines.
Reduce el número de CI's a emplear.
Capacidad de DC mejoradas.
DESCRIPCION DE LOS PINES DEL 8255.
ABREVIACIO SEÑAL
N
D7 - D0
Bus
de
Datos
(Bidireccional)
RESET
Entrada de Reset
CS
Seleccion de Chip
RD”
Entrada de Lectura
WR”
Entrada de Escritura
A0, A1
Direccion de Puertos
PA7 - PA0
Puerto A (Bit)
PB7 - PB0
Puerto B (Bit)
PC7 - PC0
Puerto C (Bit)
Vcc
5V
GND
0V
El 8255 DE INTEL es un dispositivo de E/S de propósito general, tiene 24 pines de
EIS que pueden ser programados individualmente en dos grupos de 12 y usados en
tres modos de operación principales. En el primer modo (modo O), cada grupo de
12 pines puede programarse en grupos de 4 como entrada o salida. En el segundo
modo (modo 1), cada grupo puede programarse para tener 8 entradas o salidas; de
los 4 pines restantes tres son empleados para protocolo (Handshaking) y control de
interrupciones. El tercer modo de operación (modo 2, es un modo de bus
bidireccional, que usa 8 líneas para un bus bidireccional y 5 líneas, una prestada del
otro grupo, para protocolo (handsking)
El 8255 es una interfase para comunicación en paralelo con periféricos. Las partes
que lo constituyen se muestran en la figura anterior, a continuación, se describen
estas partes dependiendo de su aplicación.
BUFFER DEL BUS DE DATOS.
Este buffer bidireccional de 8 bits se usa para interfasar el 8255 al bus de datos del
sistema. Los datos son enviados o recibidos por este buffer bajo la ejecución de
instrucciones de entrada o salida por el CPU. Las palabras de control y la
información del estado también se transfieren a través de este bus.
LOGICA DE CONTROL Y DE LECTURA ESCRITURA
La función de este es manejar todas las transferencia internas y externas de
palabras de datos, control o estados. Esta acepta entradas del bus de control y de
direcciones del CPU, y en turno, define comandos para los dos grupos de control.
SELECCIÓN DE CHIP (CS')
Un cero en este Pin de entrada habilita la comunicación entre el 8255 y el CPU.
LECTURA (RD')
Un cero en este Pin de entrada habilita al 8255 a enviar los datos o información del
estado al CPU, sobre el bus de dato. Esencialmente este permite al CPU "leer del"
8255.
SELECCIÓN DE PUERTO (Ao Y A1).
Estas señales de entrada en conjunto con RO' y WR', controlan la selección de uno
de los tres puertos o del registro de la palabra de control. AQ y A1 están conectadas
a los bits menos significativos del bus de direcciones.
ESCRITURA (WR')
Un cero en este Pm de entrada, permite al CPU escribir datos o palabras de control
sobre el 8255.
RESET
Un uno (1) en esta línea limpia el registro de control y todos los puertos (A, B, y C)
se ponen como modo de entrada.
CONTROL DE RESET DE PUERTOS
La configuración funcional de cada puerto se programa por el software del sistema.
En esencia, el CPU manda una palabra de control al 8255. la palabra de control
contiene información tal como 'modo', 'bit set', 'bit reset', etc.
Cada grupo de control acepta comandos de la unidad lógica de control
lectura/escritura, reciben palabras de control del bus de datos interno y envía
comandos apropiados a sus puertos asociados:
Grupo de control A: Puerto A y puerto C superior (C7-C4)
Grupo de control B: Puerto B y puerto C inferior (C3-CO)
La palabra de control únicamente puede ser escrita. No se permite lectura del
registro de palabra de control.
1.4 Fuentes de investigación documentales.

Microprocesador - Qué es, definición y concepto | Economipedia

Introduccion a Los Microprocesadores - VSIP.INFO

Instrumentacion
Didactica
Micros
|
PDF
|
Microcontrolador
|
Microprocesador (scribd.com)

Estudio del microprocesador Nios II - VSIP.INFO

U 1 Mpu | PDF | Microcontrolador | Microprocesador (scribd.com)

Operación de micros e interfaces (monografias.com)

arquitectura externa microcontrolador - Trabajos finales - 2429 Palabras
(buenastareas.com)

Desarrollo de sistemas embebidos (itq.edu.mx)

Diagrama de Bloque de un Microprocesador | ITphone Soluciones
(wordpress.com)

Arquitecturas
de
(wordpress.com)
Microprocesador
–
Conectando
conocimiento
Descargar