Вы находитесь на странице: 1из 41

COMPUTACIN V

MICROPROCESADORES Y MICROCOMPUTADORAS

INTRODUCCIN A LOS MICROPROCESADORES


1.

Hardware
1.1
1.2
1.3

Teora General de Microprocesadores (


P) y Microcomputadoras (
C)
Microprocesador Ideal
Microprocesador Real
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5

2.

Memorias
2.1
2.2

Memoria de Acceso Aleatorio (RAM, por sus siglas en ingls )


Memoria de Slo Lectura (ROM, por sus siglas en ingls )
2.2.1
2.2.2

2.3

Arreglo Lineal
Arreglo Matricial

Dispositivos de Entrada/Salida (E/S)


3.1
3.2

1.

Memoria de Slo Lectura Programable (PROM, por sus siglas en ingls) tipo
fusible
Memoria de Slo Lectura Programable Borrable (EPROM, por sus siglas en ingls)

Organizacin Interna de las Memorias


2.3.1
2.3.2

3.

Bus de Datos (DB, por sus siglas en ingls)


Bus de Direccin (AB, por sus siglas en ingls)
Bus de Control (CB, por sus siglas en ingls )
Bus de Alimentacin
Registros Internos (IR, por sus siglas en ingls)

Dispositivo de E/S paralelo


Dispositivo de E/S serial

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-1

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

INTRODUCCIN A LOS MICROPROCESADORES


Los microprocesadores (
P) y las microcomputadoras (
C) son mquinas digitales sincrnicas. En el presente trabajo se tratarn sus dos aspectos bsicos. El primero, lo constituye la circuitera integrada conformada por la Unidad Central de Proceso
(CPU, por sus siglas en ingls), la memoria, los puertos de ENTRADA/SALIDA (E/S), el reloj
y la circuitera lgica de control conocida como mecamtica (hardware) El segundo
aspecto, es la programacin del hardware para realizar tareas de control (software)
Esta programacin est orientada al lenguaje de mquina directamente y a travs de
un lenguaje de muy bajo nivel (ensamblador)

HARDWARE
El hardware est compuesto por circuitos integrados (IC, por sus siglas en ingls) de
muy alta densidad y prcticamente uno por cada bloque bsico, es decir: Un IC para la
CPU, otro para la Memoria de Acceso Aleatorio (RAM, por sus siglas en ingls), uno ms
para la Memoria de Slo Lectura Programable (PROM, por sus siglas en ingls), otro ms
para los puertos de E/S paralelos y, finalmente, uno para los puertos de E/S seriales.
Teora general de microprocesadores y microcomputadoras
Definiciones preliminares
Computador digital

El computador digital es una mquina de proceso de informacin al cual se le


debe proporcionar un conjunto nico de instrucciones (programa) para el trabajo que
deba ejecutar. El programa se almacena en la memoria interna del computador antes
de ser ejecutado.
El computador digital consta bsicamente de los bloques mostrados en la Figura
1.1:
Definicin de microcomputador y microprocesador.
Definicin 1.

Un microcomputador (C)es un dispositivo que utiliza a un microprocesador


como Unidad de Proceso Central.

Definicin 2.

Un microprocesador (P) es una mquina que procesa nmeros binarios


(datos) siguiendo una secuencia organizada de pasos (programa) A cada paso de la secuencia se le llama instruccin.

La Figura 1.2 ilustra las definiciones anteriores:

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-2

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

UNIDAD DE CONTROL

CPU

ALU

UNIDAD DE
ENTRADA
INSTRUCCIONES
Y
DATOS

UNIDAD DE
SALIDA
RESULTADOS

CPU Unidad Central de Proceso


ALU - Unidad Aritmtica y Lgica

UNIDAD DE
MEMORIA

CPU

ENTRADA

MEMORIA

SALIDA

FIGURA 1.1. Diagrama a bloques bsicos de un computador digital.

CPU

ENTRADA

MEMORIA

SALIDA

ENTRADA

MEMORIA

SALIDA

FIGURA 1.2. Interrelacin entre la CPU y el P

Las microcomputadoras son mquinas con las siguientes caractersticas:


1.
2.

3.

1.

Medio de entrada a travs del cual se introducen las instrucciones y los datos.
Memoria desde la cual, los datos e instrucciones pueden ser obtenidos por el CPU (P)
y donde se pueden almacenar resultados parciales y finales, esto es, Memoria de Acceso
Aleatorio (RAM, por sus siglas en ingls) Otra seccin de la memoria est compuesta por cdigo fijo, llamada Memoria de Slo Lectura (ROM, por sus siglas en ingls)
Seccin de clculo la cual debe ser capaz de realizar operaciones aritmticas y lgicas
sobre cualquier dato tomado de la memoria.
INTRODUCCIN A LOS MICROPROCESADORES
LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-3

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

4.
5.

Capacidad de decisin por medio de la cual se pueden seleccionar cursos alternos de


accin basndose en resultados calculados.
Medio de salida por medio del cual se entreguen al usuario los resultados.

Las mquinas que satisfacen estas condiciones se les conoce como computadoras clase HARDVARD. Si adems de estas condiciones, las instrucciones se almacenan en la misma forma que los datos (cada uno igualmente accesible a la seccin de
clculo de la C), entonces las instrucciones se pueden tratar como datos y la mquina puede modificar sus instrucciones. A tal mquina se le conoce como computadora clase VON NEWMAN o PRINCETON.
El diseo de todos los C se basa en 4 bloques:
a.
b.
c.
d.

Dispositivos de entrada
Memoria
Microprocesador
Dispositivos de salida

(punto 1)
(punto 2)
(puntos 3 y 4)
(punto 5)

Las arquitecturas de los C ms sobresalientes, en donde se muestran los grupos de lneas interconectados a los bloques bsicos, se presentan en la Figura 1.3:

P
NO EXISTE BUS DE ENTRADA/SALIDA
CB

AB

DB

MEMORIA

CB Bus de Control
AB Bus de Direccin
DB Bus de Datos

ENTRADA

MOTOROLA
6502
SALIDA

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-4

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

MDB

C
O
N
T
R
O
L

BUS DE
CONTROL

LOCALIDAD

MDR
M
A
R

ALU

CONTENIDO

MAB

ACUMULADOR
MEMORIA
BUS DE ENTRADA/SALIDA

ENTRADA

SALIDA

SALIDA

ENTRADA

INTEL

FIGURA 1.3. Arquitecturas ms sobresalientes de microcomputadoras

Donde:
MDB = Bus de Datos de Memoria
MAB = Bus de Direccin de Memoria
MAR = Registro de Direccin de Memoria
ALU = Unidad Aritmtica y Lgica
MDR = Registro de Datos de Memoria

(por sus siglas en ingls)


(por sus siglas en ingls)
(por sus siglas en ingls)
(por sus siglas en ingls)
(por sus siglas en ingls)

Las operaciones del C son sincronizadas por un oscilador (reloj) Se requiere


de un cierto nmero de pulsos de reloj para efectuar las pruebas que se especifican en
una instruccin.
Un ciclo de instruccin consiste de uno o ms ciclos de mquina. Durante un
ciclo de mquina se realizan los siguientes subciclos:
1. Subciclo de bsqueda (fetch subcycle)
-

El P proporciona la direccin de una instruccin residente en memoria a travs del MAB.


La unidad de memoria decodifica la direccin y el contenido de sta se transfiere al MDR (el
P lee el contenido de la direccin)

2. Subciclo de ejecucin (execution subcycle)


-

La instruccin se decodifica y posteriormente se ejecuta.

La Figura 1.4 muestra una secuencia tpica de estos subciclos.


1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-5

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

RELOJ
5V

Subciclo de bsqueda

Subciclo de ejecucin

Ciclo de mquina
A

Se enva direccin a la memoria

Lee instruccin desde la memoria

- Decodifica la instruccin
- Ejecuta la instruccin

PC

Decodificador de
instruccin

IR

C
MAR

MDR

MEMORIA

LOCALIDAD

CONTENIDO

AB

DB

PC
MAR
MDR
AB
DB

Contador de Programa
Registro de Direccin de Memoria
Registro de Direccin de Datos
Bus de Direccin
Bus de Datos

FIGURA 1.4. Secuencia tpica de los subciclos de bsqueda y ejecucin


1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-6

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Proceso de palabras de instruccin y palabras de datos

Durante un ciclo de instruccin se procesan dos tipos de palabras:


-

Palabras de instruccin
Palabras de datos

Proceso de palabras de instruccin

La Figura 1.5, muestra el proceso a bloques de las palabras de instruccin,


mostrando los pasos requeridos entre los distintos elementos del microprocesador y
la memoria:
MICROPROCESADOR
4

IR

MDB

MDR

DIRECCIN
DECOD. DE
INSTRUCCIONES
CONTROL

PC

CONTROL

1
2
MAR

MDB
IR
PC
MAB
MDB
MDR

Registro de Instruccin
Contador de Programa
Bus de Direccin de Memoria
Bus de Datos de Memoria
Registro de Datos de Memoria

MEMORIA

FIGURA 1.5. Proceso de palabras de instruccin

Durante un ciclo mquina se efectan las siguientes operaciones:


1.
2.
3.
4.
5.
6.
7.

1.

Al inicio del ciclo, el contenido del PC se coloca en el MAR.


El contenido del MAR se transfiere a travs del MAB a la memoria. La memoria decodifica la direccin enviada.
Se lee la instruccin desde la memoria (va MDB hacia el MDR)
La instruccin se coloca en el registro de instruccin IR.
La instruccin es decodificada por el decodificador de instruccin.
Ejecucin de la instruccin.
El PC se incrementa o desactiva de acuerdo a la instruccin que se est ejecutando

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-7

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Pila de datos (stack)

Cuando sucede una interrupcin, deseamos que despus de atenderla, el programa continue su ejecucin donde se qued. Para lograr esto, es necesario que todos
los registros internos del P se almacenen en memoria y a esta rea se le llama stack.
Despus de atender la interrupcin, sacamos del stack los valores de los registros del P.
Con esto, reanudamos el programa en la instruccin en que se suspendi.
Esta fue una descripcin general de un C, en la prctica se debe tomar en
cuenta que cada C tiene su propia organizacin, la cual combina o expande las caractersticas descritas con anterioridad.
Microprocesador ideal
Definicin:

Es un dispositivo digital que acepta datos desde cualquier nmero de lneas


de entrada, procesa los datos de acuerdo al dictado de un programa almacenado en memoria y produce cualquier nmero de seales de salida como consecuencia del proceso de datos, como lo muestra la Figura 1.6.

N lneas
de ENTRADA

MEMORIA

M lneas
de SALIDA

PROGRAMA

FIGURA 1.6. Lneas de entrada y salida de un microprocesador

Las seales que se aplican a las lneas de entrada se les conoce como datos
de entrada. stos pueden venir de interruptores (switches ), sensores, convertidores
A/D (Analgico / Digital), teclado o cualquier tipo de dispositivo de entrada. Dentro
del P ideal reside el programa, el cual es un conjunto de instrucciones secuenciales
que determinan cmo ser procesado el dato de entrada y qu informacin ser enviada a las lneas de salida como consecuencia del proceso de las entradas.
Las lneas de salida se pueden conectar a actuadores, indicadores, convertidores D/A, impresoras, alarmas, etc.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-8

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

En cualquier tiempo, los niveles lgicos en las lneas de salida del microprocesador se determinan por 2 factores:
-

La historia completa de las seales de entrada al P


El programa almacenado en el P

Microprocesador real
Debido al nmero limitado de patas (pines ) disponibles en cualquier circuito integrado prctico, el P no contiene N lneas de entrada y M lneas de salida tendientes a

Para la mayora de los microprocesadores N = M


Este nmero se conoce como el ancho de la trayectoria de datos o longitud de
la palabra del P. Al grupo de lneas utilizado para transferir datos hacia/desde el P
se le conoce como bus de datos.
Bus de Datos (DB)

Los datos en el bus de datos se pueden representar en las siguientes notaciones:


a.
b.

BINARIO. Usaremos NMERO 2 o NMERO B , subndice 2 o B para indicar que el dato es


binario.
OCTAL. Agrupamos la informacin de derecha a izquierda de 3 en 3. Usaremos la letra O
para octal.
EJEMPLO:

c.

01000112
01,000,1112

= 01000111B
= 107O

HEXADECIMAL . Agrupamos la informacin de 4 en 4 de derecha a izquierda. Usaremos


la letra H:
EJEMPLO:

010001112

= 47H

Una de las limitaciones prcticas ms severas de los P es el nmero de patas


disponibles en un circuito integrado (IC, por sus siglas en ingls ) econmico. Por esto el
bus de datos (DB, por sus siglas en ingls ) es bidireccional (multiplexado), como se
muestra en la Figura 1.7:
P

AB

DB SIN MLTIPLEXAR

E/S
LNEA DE
CONTROL
R/W

DB MULTIPLEXADO

FIGURA 1.7. Bus de datos sin mltiplexar y multiplexado


1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-9

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Bus de direccin

El microprocesador ideal contiene memoria interna ilimitada, los P reales


contienen memoria finita. Por lo tanto, el P real contiene memoria externa, como se
muestra en la Figura 1.8:
MEMORIA
LOCALIDAD

CONTENIDO

AB

FIGURA 1.8. Microprocesador real con memoria externa

El P debe ser capaz de almacenar o recuperar informacin de esta memoria.


Al proceso de almacenar informacin en memoria se conoce como escritura a memoria. Al proceso de recuperar informacin de la memoria se le conoce como lectura de
memoria. El P real contiene un grupo de lneas, bus de direccin, AB para acceder a
las localidades de memoria.
El conjunto de localidades de memoria que un P puede acceder directamente
se le conoce como espacio de memoria y se expresa en Kpalabras. 1 Kpalabras = 210
palabras = 1024 palabras.
Recalcando que una de las limitantes de los encapsulados econmicos es el
nmero de patas, en algunos microprocesadores los buses de direccin y de datos
estn multiplexados. Por ejemplo, los INTEL 8086 y 8088.
Bus de control

El microprocesador real contiene un conjunto de lneas que sirven para controlar


la circuitera externa del P. Al conjunto de estas lneas se les conoce como bus de
control.
Bus de alimentacin

Sirve para proporcionar el voltaje de referencia de la lgica binaria del P. Los


valores ms comunes son:
-

GND
VCC

= 0V
=5V

Registros internos

Los registros internos del microprocesador real se utilizan para almacenamiento


temporal de datos e instrucciones. Los ms comunes son:
1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-10

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

MDR Registro de Datos de Memoria


MAR Registro Direccin de Memoria
Acumuladores
Registros de ndice
Apuntadores de la pila de datos
Apuntador de segmentos
IR
Registro de Instruccin
FR
Registro de estado de las Banderas de la ALU

Memorias
Existen dos tipos de organizacin:
-

FSICA

Tal como aparece en el Bus de


direccin

LGICA

Como la ve el programador
de ensamblador

Existen dos mtodos :


Lineal
Paginacin
Existen dos mtodos :
Segmentacin
Paginacin lgica

La distincin es importante en aplicaciones multiusuarios

CPU

TERMINAL

UNIDAD CENTRAL
DE PROCESO

MEMORIA
PRINCIPAL

MMU

UNIDAD ADMINISTRADORA
DE LA MEMORIA

I/0

ORGANIZACIN LGICA

ORGANIZACIN FSICA

FIGURA 1.9. Organizacin Fsica y Lgica de la memoria.

Los tipos de memoria semiconductora disponibles actualmente para los C se


resumen a continuacin:

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-11

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

M
E
M
O
R
I
A
S
S
E
M
I
C
O
N
D
U
C
T
O
R
A
S

- ESTTICAS

RAM Memoria de Acceso Aleatorio

- DINMICAS

ROM Memoria de Slo Lectura

RAM

- PROGRAMADA POR EL FABRICANTE


- NO BORRABLES

ROM

PROGRAMADA
POR EL USUARIO

EAROM

BORRABLES
POR PULSOS

uVPROM

BORRABLES
POR LUZ uV

- BORRABLES

En C se pueden utilizar 2 tipos de memoria:


-

Voltil
No Voltil

La memoria voltil tiene la caracterstica de que pierde la informacin almacenada cuando se desactiva la fuente de poder (la celda de almacenamiento es un multivibrador biestable)

La memoria no voltil retiene la informacin despus de que se desactiva la


fuente de poder (La celda de almacenamiento es un dispositivo de conmutacin con un
fusible como elemento programable)
Memorias de Acceso Aleatorio (RAM, por sus siglas en ingls )
Las RAM se clasifican como memorias voltiles. Hay 2 tipos de RAM, estticas
y dinmicas. En las RAM dinmicas la informacin se almacena en forma de carga
elctrica (capacitancia base-emisor de transistor MOS) Esta capacidad tiende a descargarse con el tiempo, por lo que es necesario tener circuitos para refrescar la informacin peridicamente.
La RAM esttica no requiere circuitos de refresco ya que la informacin se almacena en un multivibrador tipo latch.
Aunque la memoria dinmica requiere circuitera de refresco externa, es ms
barata que la RAM esttica y consume menos energa.
Memorias de Slo Lectura (ROM, sus siglas en ingls )
Se clasifican en dos tipos:
-

1.

Las programadas por el fabricante


Las programadas por el usuario

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-12

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Las ROM programadas durante el proceso de manufactura son muy confiables y


cuando se producen en volmenes altos proporcionan el costo ms bajo por bit que
cualquier memoria semiconductora.
En las RAM, el tipo de acceso es independiente de la localizacin del dato, en
este tipo de memoria, un arreglo de biestables contiene la informacin binaria (las celdas se conectan en paralelo a la lnea de salida del decodificador de direccin) Se
conectan tantas celdas en paralelo como bits tiene la palabra.
Las RAM estticas tienen los siguientes inconvenientes:
-

Densidad limitada
Alto consumo de energa
Conforme se incrementa la densidad de la memoria, los circuitos sensores se vuelven
ms complejos y requieren mayor energa.

Las RAM dinmicas son de tecnologa MOS y tienen la ventaja de que las celdas son de dimensiones menores a las bipolares y consumen poca energa, lo cual
hace posible el que se puedan empaquetar muchas celdas en un circuito integrado.
La desventaja de las RAM dinmicas con respecto a las estticas es la velocidad de acceso.
Las ROM programables por el usuario pueden ser de 2 tipos:
1.

ROM Programable tipo fusible (PROM, por sus siglas en ingls )


Estas se pueden programar una sola vez, despus de programadas, el patrn programado no
puede ser alterado.

2.

PROM borrables (EPROM, por sus siglas en ingls )


Pueden ser programadas y reprogramadas por el usuario muchas veces siempre y
cuando se respete la especificacin de programacin en cuanto a la amplitud y tiempo de
duracin del pulso de programacin. Hay dos tipos de EPROM:
a. uVEPROM la cual es borrada cuando se hace incidir un haz de luz ultravioleta de suficiente intensidad.
b. EAPROM (electrically alterable PROM) se borra aplicando un pulso en una patilla
del IC. Este es mejor que las del inciso anterior, ya que se borra el contenido de una
localidad. En las del inciso anterior se borra toda la memoria.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-13

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Organizacin interna de las memorias.


Existen dos tipos de arreglos:
-

Lineal
Matricial

Arreglo lineal. La Figura 1.10, muestra los bloques bsicos de un arreglo lineal:
Palabra 0

AB del P

Lneas de
direccionamiento

a0
a1
a2

II

I
Decodificador
de
direccin

Palabra 1

Celdas
de
almacenamiento

Palabra 2 n-1

an-1

III

AB =
DB =

Bus de Direccin
Bus de Datos

Sensores de
Lect/esc

Hacia el DB del P

FIGURA 1.10. Diagrama a bloques de un arreglo lineal

A continuacin se describen los bloques bsicos del arreglo lineal:


I.

Decodificador de direccin
Es un circuito que contiene 2n lneas de salida y n lneas de entrada. Para cada combinacin entre las n lneas de entrada, se selecciona una y slo una lnea de salida.
EJEMPLO: Veamos el desarrollo de una memoria cuyo arreglo es lineal y contiene 4 palabras de 4 bits por palabra. Este ejemplo es didctico.
Si tenemos 2 lneas de direccionamiento, tendremos 22 lneas de salida,
como se muestra en la siguiente tabla:
DIRECCIN CONTENIDO
a1
a0 w3 w2 w1 w0
0
0
0 0 0 1
0
1
0 0 1 0
1
0
0 1 0 0
1
1
1 0 0 0

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-14

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

De la tabla se obtienen las siguientes ecuaciones lgicas:

w 0 = a1a0
w 1 = a 1a 0
w 2 = a1a0
w 3 = a 1a 0
En diagrama a bloques se tiene la siguiente representacin:
w0
a0

DECODIFICADOR

a1

na2

w1

w2
w3

El diagrama lgico que genera la tabla anterior se muestra en la Figura 1.11:

FIGURA 1.11. Diagrama lgico de un arreglo lineal de 4 palabras de 4 bits por palabra

En general, los decodificadores que contienen los circuitos integrado de memorias son:
n

n entradas 2 salidas
10
1024
11
2048
12
4096
13
8K
14
16K
15
32K
16
64K

II.

Celdas de almacenamiento
Estn organizadas en palabras, cada palabra corresponde a una lnea de salida del decodificador de direccin.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-15

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

El nmero de bits que contiene cada palabra es el nmero de celdas que se conecta en
paralelo a cada lnea de salida del decodificador, como se muestra en Figura 1.11.
III.

Sensores de LECTURA / ESCRITURA


Debido a las caractersticas del decodificador una sola lnea de salida wm est activa con una combinacin entre las n lneas de entrada, la cual nos permite compartir
los sensores de entrada / salida.
Un sensor por cada bit de que conste la palabra.
W0

W1
a0

a1

DECODIFICADOR
DE
DIRECCIN

W2

W3

III
Sensores de
Lectura / escritura

FIGURA 1.12. Sensores de lectura/escritura

Arreglo matricial. La Figura 1.13, muestra el arreglo matricial a bloques.


Organizacin:
a.
b.
c.
d.
e.

Las lneas de direccionamiento se dividen en dos grupos. Unas lneas entran al decodificador en x y otras en y.
Las lneas de salida de los decodificadores activan a una sola celda del bloque de celdas de almacenamiento.
Las celdas de almacenamiento deben contener dos lneas de entrada de seleccin, una
en x y la otra en y.
Ya que las combinaciones entre las lneas de direccionamiento son nicas, requerimos
un solo sensor de lectura/escritura para todo el arreglo.
Un parmetro til en todo tipo de memoria es:
Densidad de la memoria = nmero de palabras por nmero de bits de la palabra

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-16

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Un solo sensor de
LECTURA/ESCRITURA

x0
x1

DECODIFICADOR
EN
DIRECCIN
x
En el cruce x, y est
ubicada una celda de
ALMACENAMIENTO

xn

DECODIFICADOR
EN
DIRECCIN
y

Note que en este tipo de


ARREGLO
Formamos palabras
de un bit

yn
y1
y0

FIGURA 1.13. Diagrama a bloques de un arreglo matricial.

EJEMPLO: Obtener el diagrama lgico de una memoria de 16 palabras de 1 bit cada


palabra.
Densidad de memoria = 16 x 1 = 16 lneas de direccionamiento
n

2 = nmero de palabras = 16 n = 4 lneas de direccionamiento

Podemos obtener los siguientes arreglos:


a.
Nota: En cada interseccin x, y
est una celda

Decodificador
x

Un solo sensor de
Lect / esc

n = 4 lneas de
direccionamiento
Decodificador
y

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-17

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

b.

Decodificador
x

Sensor de
Lect / esc

n = 4 lneas de
direccionamiento
Decodificador
y

El circuito integrado que contiene a esta memoria, comprende las siguientes patas:
N.C.
IC de 8
patas

n = 4 lneas de
direccionamiento

Sensor de lect / esc


V CC
GND

Algoritmos para expansin de memorias


a.

Expansin del nmero de bits de la palabra


Cuando se desea mantener fijo el nmero de direcciones y aumentar el nmero de bits
de la palabra, se determina el nmero de circuitos integrados que requiere el arreglo.
Se conectan en paralelo las lneas de direccionamiento de los integrados y se dejan libres las lneas de lectura/escritura asignndoles un peso.
EJEMPLO: A partir del ejemplo anterior, obtener un arreglo de memoria de 16 palabras
de 4 bits cada palabra.

n = 4 lneas de
direccionamiento

a0
a1
a2
a3

b0
b1
b2
b3
4 lneas de
entrada/salida
de datos

Otras formas ms simplificadas y equivalentes del diagrama anterior son:


1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-18

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

4
16 x 4
4

b.

Expansin del nmero de localidades de memoria


Cuando se desea aumentar el nmero de localidades de memoria manteniendo constante el nmero de bits de palabra:
-

Determinamos el nmero de integrados que requiere el arreglo.


Conectar en paralelo las lneas de entrada/ salida (I/O, por sus siglas en ingls) de datos (cada
una con la del mismo peso)
Conectar en paralelo todas las lneas de direccin (cada una con la del mismo peso)
Las lneas que sobran (las ms significativas) conectarlas a un decodificador de IC.
Las salidas del decodificador conectarlas a las lneas CS de cada circuito integrado.

EJEMPLO: A partir de circuitos integrados de 8 palabras de 4 bits, obtener un arreglo de


32 palabras de 4 bits.
a0
a1
a2

b0
b1
b2
b3

IC
8 x4

a0
a1
a2
a3
a4

32 x 4

Para los CS de cada IC

b0
b1
b2
b3

CS

decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

1.

DIRECCIN
CONTENIDO
a 4 a 3 a 2 a 1 a 0 b3 b2 b1 b0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

IC0

IC1

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-19

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

decimal
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

a0
a1
a2

DIRECCIN
CONTENIDO
a 4 a 3 a 2 a 1 a 0 b3 b2 b1 b0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

IC2

IC3

IC0

CS0

DECODIFICADOR
a3
a4

CS0
CS1
CS2
CS3

b0
b1
b2
b3

IC1

CS1

IC2

CS2

IC3

CS3

Aplicacin de los dos algoritmos


EJEMPLO: A partir de un circuito integrado de 1K x 4, obtener un mdulo de memoria de
4K x 8.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-20

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

TARJETA 4k x 8

IC
1K x 4

10

2n = 1024
n = 10

12

2n = 4K
n = 12

Nmero de circuitos integrados

densidad del mdulo

densidad de un IC

4K x 8
1K x 1

=8

Para interconectar los circuitos integrados (IC) aplicamos los 2 algoritmos de expansin de memoria.
a.

Para el algoritmo de expansin de longitud de palabra:


10
LBS (bits menos significativos)
CS0

4
1K x 8
CS

10
10
CS1
10

MSB (bits ms significativos)

CS

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-21

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

b.

Aplicando el algoritmo de expansin de localidades de memoria:

10

1K x 8
CS0

Tarjeta

DB
AB

1K x 8
CS1

Decodificador
10

12

8
8
10

12

1K x 8
CS2

2a4

4K x 8

1K x 8
CS3

10

Tabla de memoria:

DIRECCIN

A11 A10 A9 A0
0

0
:
1
0
:
1
0
:
1
0
:
1

0
:
1
0
:
1
0
:
1
0
:
1

CONTENIDO
N2

N1

IC1

IC0

IC3

IC2

1C5

IC4

1C7

IC6

Un concepto didctico es representar a la memoria como si fuese un cuaderno compuesto


por pginas. La pgina se asigna de alguna manera lgica correspondiente al arreglo de
hardware, como se muestra en la siguiente figura:

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-22

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Pg. 3
Pg. 2

El cuaderno contiene 4 pginas


de 1K x 8

Pg. 1
Pg. 0

10

1K x 8

Selector de pgina

A1

A0

Otra manera de representacin es por medio de una tabla:


b7

b0

0
1
2
3
:
1023
N1

N0

La hoja es un espacio cuadriculado, los renglones son las direcciones y las columnas
son los bits de las palabras. En cada hoja estn representados 2 circuitos integrados de 1K x
4.
Para tener una segunda solucin, aplicamos el algoritmo de expansin de localidades de memoria:
A0 A9
1K x 4
4
Decodificador
1K x 4
4

A11-A10
4K x 4
4
2a4

12
1K x 4
4

b3 b0

CS
1K x 4
4

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-23

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Despus aplicamos el algoritmo de expansin de longitud de la palabra:

12

LSB
4K x 4

4
CS
4K x 8

12

MSB
4K x 4

NOTA: Esta solucin usa


un decodificador ms que
en la solucin anterior

EJEMPLOS de interconexin P Memoria.


Para propsito de interconexin P Memoria, ser necesario el concepto de amortiguar el bus de direccin con circuitos line drivers (excitadores de lnea) y el bus de datos con
elementos bidireccionales tranceptores (transceivers), con el fin de no sobrecargar las lneas de
direccin y de datos del P.
Esto, cuando se conecta mucha memoria a sistemas de propsito general
P
UCL = Unidad de Carga
Lgica

DB

MEMORIA
TRANCEPTOR

1 UCL
AB

40 UCL

LOCALIDAD

CONTENIDO

LINE DRIVER

n
NOTA: Un line driver por c/u de las lneas del
bus de direccin. Un transceiver por
c/u de las lneas del bus de datos

EJEMPLO: Interconexin P-memoria. Se tiene un P con 16 lneas en el bus de direccin


(AB, por sus siglas en ingls ) y 8 lneas en el bus de datos (DB, por sus siglas en ingls ) Tenemos 2 mdulos de memoria de acceso aleatorio (RAM, por sus siglas
en ingls) de 8K x 8 y un mdulo de memoria de slo lectura (ROM, por sus siglas en ingls) de 8K x 8. Ubicar los mdulos de RAM en los primeros 16K de direccionamiento del P. Ubicar el mdulo de ROM en los ltimos 8K de direccionamiento del P.
La Figura 1.14, muestra la solucin.
EJEMPLO: Interconexin P-memoria. Se tiene un P con 20 lneas en el AB y 16 lneas en
el DB. Tenemos 2 mdulos de memoria RAM de 8K x 16 y un mdulo de memoria
ROM de 8K x 16. Ubicar los mdulos de RAM en las direcciones 32K a 48K del
P y ubicar el mdulo ROM en los penltimos 8K de direccionamiento del P.
La Figura 1.15, presenta la solucin.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-24

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

8
13
DB
m0

RAM
8K x 8
8

DEC
AB

m1
m2
m3

CS
RAM
8K x 8

16

8
m4

m5

3
m6

CS
ROM
8K x 8

8
m7

0
8
16
24
32
40
48
56
64

CS

MEMORIA
DE 64K

0
1K
8K
16K
32K
40K
48K
56K
64K

RAM

VACIO

ROM

Mapa de memoria
FIGURA 1.14. Interconexin P-memoria
16
DB

13

mP

RAM
8K x 16
m0

DEC

AB

13

m1
RAM
8K x 16

m2
20

16

m3

13

16

7
m4
7

RAM
8K x 16

a
m126

13

16

128
m127

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-25

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

0
8
16
24
32
40

RAM

:
1008
1016 ROM
1024

FIGURA 1.15. Interconexin P-memoria

EJEMPLO: Tenemos el P 8085 con 16 lneas en el bus de direccin (AB) y 8 lneas en el


bus de datos (DB) Tenemos circuitos integrados de memoria RAM de 2K x 8 y
PROMS de 1K x 8. Configurar en RAM un mdulo de 16K x 8 y en ROM un mdulo de 16K x 8. Ubicarlos, la RAM en los primeros 16K y el ROM en los ltimos
16K de direccionamiento del P.
1.

Mdulo de RAM.
Nmero de IC =

densidad del mdulo


densidad del IC

16K x 8
2K x 8

=8

11
CS0
14

11

CS1
11

3
CS2
MDULO RAM

11

DEC

TARJETA
CS3

16K x 8
11
n = 14

8
16K x 8

3
14

16K = 2
n = 14

CS4
11

8
CS5

IC

11

2K x 8
CS6
11
n = 11
4K = 24
n = 11

1.

8
CS7
11

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-26

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

2.

Mdulo de ROM.
Nmero de IC =

densidad del mdulo


densidad del IC

16K x 8
1K x 8

= 16

CS0
14

10

10

8
IC

CS1
10

1K x 8
10

CS2
10

8
Mdulo de ROM
CS3

10

8
16K x 8
14

CS4
10

DEC
CS5
10

4
CS6
a
4

10

16
CS7
10

CS8
10

CS9
10

CS10
10

CS11
10

CS15
10

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-27

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

3.

Interconectar el P con mdulos.


Nmero de mdulos =

DB

espacio de direcciona miento del P


densidad del mdulo

14
14

mP

16k RAM
VACIO
14

VACIO
8

CS1

VACIO

DEC
2a4

VACIO

16k ROM

16
2

=4

CS0

AB

64K x 8
16K x 8

MEMORIA

RAM
16K x 8

14

CS2
NOTA: En general cada IC
contiene ms de una lnea de
CS

ROM
16K x 8
CS3

14

Los P 8086/8088: Intel dise los P 8086/ 8088 para realizar al mismo tiempo las principales funciones internas de transferencia de datos y bsqueda de instrucciones. Para lograrlo ambos microprocesadores constan de dos procesadores interconectados en
el mismo IC. Una unidad est encargada de buscar instrucciones y la otra de
ejecutarlas. Adems, la unidad encargada de buscar instrucciones utiliza un mtodo llamado de estructura tubular (pipeline <por cola>) en la cual entran las
instrucciones.
Al procesador principal de se llama unidad de ejecucin, el cual est encargado
de decodificar y ejecutar todas las instrucciones. Esta unidad es idntica en ambos microprocesadores.
A la otra unidad se le llama unidad de interfaz de bus (BIU, por sus siglas en ingls), la cual est encargada de localizar las instrucciones y de transferir todos
los datos entre los registros internos y el mundo exterior.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-28

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Dispositivos de Entrada/Salida (E/S)


La Figura 1.16, muestra la arquitectura de 3 buses de un sistema de una microcomputadora:

ROM
CONTROL
MEMORIA
DATOS

CPU

RAM
DIRECCIN

E/S

FIGURA 1.16. Arquitectura de 3 buses de un sistema C.

Se tienen dos tcnicas para la Entrada/Salida :


-

E/S mapeada en memoria


E/S mapeada en E/S

Algunos microprocesadores asignan parte del espacio disponible en memoria


para la entrada/salida . Los P que usan parte del espacio de memoria para E/S se
dice que usan E/S mapeada en memoria . Los P 6800, 6802, 6805, 6809 y el 68000
usan esta tcnica.
El 8086/8088 no utiliza esta tcnica. Todo el espacio de memoria del sistema
puede ser utilizado para memoria. El sistema de E/S tiene su propio espacio de direccionamiento. A una arquitectura de E/S como esta se le conoce como E/S mapeada en
E/S.
Una operacin de E/S puede definirse de la siguiente manera:
INPUT
OUTPUT

Cuando el P lee datos desde una fuente que no es la memoria del sistema
Cuando el P escribe datos a un destino que no es la memoria del sistema

El bus de control define el tipo de comunicacin que ocurre. En otras palabras, si


el sistema utiliza E/S mapeada en E/S, hay lneas de control separadas para la E/S y la
memoria del sistema.
Por ejemplo, el sistema de memoria utiliza las lneas de control etiquetadas como memory read y memory write mientras que el sistema de E/S usa las lneas de
control etiquetadas como input read y output write, como lo muestra la Figura 1.17.
1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-29

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

MEMORY READ
MEMORY WRITE
BUS DE CONTROL
DEL SISTEMA

CPU
INPUT READ
INPUT WRITE

FIGURA 1.17. Seales de control del sistema para la memoria y la E/S.

Direccionamiento de E/S.
Puerto: Es un lugar nico utilizado para leer o escribir datos, no es la memoria del sistema.
De hecho, un puerto es similar a una localidad nica en el sistema de memoria desde
el cual el dato debe ser ledo o escrito durante una operacin de memoria.

A cada puerto en el sistema de E/S se le da una direccin nica, llamada cdigo de seleccin del puerto.
Para generar un cdigo de seleccin del puerto, las lneas de direccin A0
A15 son decodificadas con circuitera lgica para que respondan a una combinacin
especfica.
Bus de Direccin
Lgica de
A15 ---- A0
decodificacin

Lnea de seleccin de
puerto. Responde a una
sola de las 216 posibles
combinaciones

CPU

FIGURA 1.18. Cada puerto de E/S est diseado para responder a una sola combinacin de las
16
2 posibles, del bus de direccin del sistema. Recuerde para E/S, se toman 16
lneas de las 20 que tiene el bus de direccin (AB)

Por ejemplo, un puerto puede tener un cdigo de seleccin de puerto igual a


0507H, como se muestra en la Figura 1.19:

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-30

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

A15 ---- A0
Lgica de

CPU

0250 = 0
decodificacin
La lgica de decodificacin deber generar
un 0 lgico si y solamente si en las lneas de direccionamiento A15 A0 est
presente en la combinacin 0250h

FIGURA 1.19. El puerto de E/S en este ejemplo, responde a la direccin 0250h

Para los P 8086/8088 se utilizan 16 de las 20 lneas de direccionamiento para


direccionar la E/S. Esto da un total de 65,535 puertos de E/S disponibles en el sistema.
Aunque el sistema de E/S y el sistema de memoria son completamente separados, estos dos sistemas utilizan las mismas lneas de direccionamiento. Esto significa
que podemos tener:
-

La direccin de memoria 004Fh


La direccin del puerto 004Fh

Una distincin puede hacerse entre estos dos sistemas revisando las lneas en
el bus de control del sistema:
-

Durante una operacin de memoria de una de las dos lneas del bus de control memory read o memory
write est activa.
Durante una operacin de E/S una de las dos lneas del bus de control input read o output write est
activa.

Espacio de E/S reservado.


MEMORIA

ENTRADA/SALIDA
FFFFFH

FFFFH

RESERVADA
FFFFCH
DISPONIBLE
FFFFBH
DEDICADA
FFFFDH

100H

FFFEFH

FFH
RESERVADA
F8H

DISPONIBLE
80H
7FH

F7H
DEDICADA
0H

RESERVADA
14H
13H
DEDICADA
0H

1.

FIGURA 1.20. Espacio disponible para la memoria y la


ENTRADA/SALIDA del 8086/8088

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-31

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Las direcciones 00F8h a 00FFh no debemos utilizarlas ya que Intel las ha reservado para desarrollos de futuros productos. Si las usamos, no podremos utilizarlos posteriormente con los desarrollos de Intel.
Qu es un dispositivo de E/S?

Un dispositivo de E/S puede ser definido como hardware de E/S controlado por
el sistema. Un dispositivo tal puede tener uno o ms puertos de E/S o direcciones de
E/S asociadas.
Ejemplos de tales dispositivos son los circuitos de baja escala de integracin
(LSI, por sus siglas en ingls ), tales como el controlador de discos flexibles o un generador de base de tiempo.

DISPOSITIVO
DE

CPU

A15 A0

E/S
00008H 00010H

FIGURA 1.21. Un dispositivo de E/S debe responder elctricamente a una o ms direcciones de puertos de ENTRADA/SALIDA. En este ejemplo, el dispositivo de E/S responde a las direcciones 00008h a la 00010h inclusive.

Software
Instruccin INPUT
Se utiliza para leer datos desde un puerto de entrada. Su estructura es:
IN acumulador A, puerto

Si el puerto es de 8 bits, el dato captado queda en el registro AL. Si el puerto es de 16


bits, el dato captado queda en el registro AX.
Instruccin OUTPUT
Se utiliza para transferir datos del P a un puerto de salida. Su estructura es:
OUT puerto, acumulador A

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-32

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Direccionamiento de un puerto de E/S.


Hay dos formas de utilizar las instrucciones anteriores:
a.

Direccin a travs de una constante


Dando la instruccin (1 byte) y la direccin del puerto (1 byte) Con este mtodo podemos
acceder un puerto ubicado en las primeras 256 localidades.
IN
OUT

b.

AL, 03h
04h, AL

A travs del registro DX.


Con esto podemos direccionar un puerto ubicado en cualquiera de las 65,536 localidades
asignadas a puertos.
MOV
IN

DX, 03h
AL

MOV
IN

DX, 04h
AL

Donde: 03h es la direccin del puerto de entrada y 04h es la direccin del puerto de salida.

Dispositivo de E/S paralelo (PIO, por sus siglas en ingls ) 8255.


Es un dispositivo de E/S programable utilizado en un sistema microcomputador para
controlar hardware perifrico.
Descripcin del 8255.

Es un circuito LSI encapsulado en un CI de 40 patas. Est diseado para realizar una


gran variedad de funciones de interfase en el medio ambiente de microprocesadores. La
Figura 1.G, muestra su diagrama a bloques.
La funcin de cada bloque es la siguiente:
En el diagrama hay 4 bloques que conectan fsicamente el 8255 al hardware externo. Estos bloques tienen lneas etiquetadas como PA0 PA7, PB0 PB7, PC0 PC3, PC4
PC7.
Los grupos de seales de esos bloques son divididos lgicamente en tres puertos conocidos como puerto A (PA), puerto B (PB) y puerto C (PC)
Estos 4 puertos (PC est dividido en dos grupos) son conectados a un bus interno de datos en el 8255. Es, va este bus interno de datos, que los puertos son programados.
Hay dos bloques de control etiquetados como grupo de control A y grupo de control B,
que definen cmo van a operar los tres puertos de E/S en el sistema.
Hay varios modos distintos de operacin del 8255, los cuales deben ser definidos por la
palabra de control que l escribe en el dispositivo.
1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-33

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

PA7 PA0

GRUPO
CONTROL
A

Al D B del P

D0 D7

PUERTO
C
4 MSB
BUFFER
DEL BUS
DE DATOS

RD
WR
A1
A0

PUERTO
A

LGICA
DE CONTROL
DE
LECT/
ESC

PUERTO
C
4 LSB
GRUPO
CONTROL
B

PC7 PC4

PC3 PC0

PB7 PB0
PUERTO
B

RESET

Hacia perifricos
CS

FIGURA 1.22. Diagrama a bloques del PIO 8255

Note que el grupo C consiste de dos puertos de 4 bits. Uno de los grupos de 4 bits es
asociado con el grupo de control A y el otro con el grupo de control B.
Los bloques finales del diagrama a bloques son:
-

Buffer del bus de datos


Lgica de control de LECTURA/ESCRITURA

Estos dos bloques proporcionan la interfase elctrica entre el P y el 8255.


El buffer del bus de datos del 8255 se conecta al DB del P.
La lgica de control de LECTURA/ESCRITURA enruta el dato hacia/desde el registro interno (AL, AX) con la sincronizacin adecuada.
Conexin fsica con el P.
Hay 4 puertos internos accesados por las lneas de direccin A1, A0. Para explicar su
funcionamiento, usaremos las direcciones 10h, 11h, 12h y 13h.
Registros de lectura y escritura del 8255.
Examinaremos la definicin de registros y direcciones de puertos mostrados en la Figura
1.23.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-34

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

8088

8255

LGICA
DE
DECODIFICACIN

A7 A0
AB

PUERTO A
CS

A1, A2

PUERTO B

D7D0

PUERTO C

BUS DE DATOS
DB
BUS DE CONTROL
I/O READ
I/O WRITE

FIGURA 1.23. Interconexin entre el P y el PIO


DIRECCIN # DE PUERTO
10H

11H

12H

13H

DEFINICIN
Puerto A como SALIDA
Puerto A como ENTRADA
Puerto B como SALIDA
Puerto B como ENTRADA
Puerto C como SALIDA
Puerto C como ENTRADA
Palabra de control para definir
la funcin de los puertos anteriores

La funcin de los registros 0 al 2 es definida por la palabra escrita en el registro 3.


PALABRA DE CONTROL
GRUPO B
D7

D6

D5

D4

D3

D2

D1

D0

Puerto C (4 LSB)
1 = INPUT
0 = OUTPUT
Puerto B
1 = INPUT
0 = OUTPUT
Seleccin de Modo
1 = MODO 0
2 = MODO 1
GRUPO A
PUERTO C (4 MSB)
1 = INPUT, 0 = OUTPUT

PUERTO A
1 = INPUT, 0 = OUTPUT

Seleccin de Modo
00=MODO 0, 01=MODO 1, 1X=MODO 2
Bandera de modo ACTIVO
1.

1=ACTIVO

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-35

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

Esta figura muestra las definiciones de bits del registro de control. La utilizaremos para
escribir nuestros programas.
Dispositivo de E/S serial (Receptor/Transmisor, Sincrnico/Asincrnico Universal 8251A,
USART, por sus siglas en ingls)

Proporciona dos funciones bsicas:

En el modo de TRANSMISIN, serializa el dato paralelo del P insertando en forma automtica bits de inicio, parada y paridad (en el modo asincrnico), o caracteres de sincrona (en el modo sincrnico)
En el modo RECEPTOR convierte el dato serie a paralelo y verifica errores de paridad,
encuadre (frame errors) y sobreescritura de datos (overrun)

Este circuito integrado (IC) tiene un bus de datos bidireccional, el cual permite
al P programar su funcionamiento va uno de tres bytes de control.
La Figura 1, muestra un diagrama a bloques y descripcin de patas del USART.
Ntese que el IC cuenta con un transmisor y un receptor separados, cada uno con
sus propias entradas de reloj (RX D y TX D)

RXD es la entrada de datos serial (recibe datos)


TXD es la salida de datos serial (transmite datos)

Las seales de estatus RX RDY y TX RDY indican que los buffers de datos del
receptor y transmisor estn listos para leerse o escribirse, respectivamente.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-36

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

FIGURA 1. Diagrama a bloques y descripcin de patas del 8251A

La lnea SYNDET/BD es una seal que va a 1 cuando el carcter de sincrona


ha sido detectado cuando operamos en el modo sincrnico.
En el modo asincrnico , indica una condicin de ruptura. Esto es un nivel lgico continuo 0 en la lnea receptora RXD. Esta condicin es enviada por un receptor al
transmisor para solicitar ruptura de transmisin debida quizs a una condicin de
error. SYNDET/BD est disponible tambin va de status del puerto.
El intercambio de datos paralelo entre el CPU y el USART viaja sobre las lneas
del bus de datos bidireccional D7 - D0.
Las lneas RD y WR controlan la direccin del flujo de datos.
La lnea CS debe estar en 0 para que el IC sea seleccionado. El transmisor y
el receptor continan funcionando independientemente de la lnea CS .
La Figura 2, muestra la interfaz entre el P 8086 y el USART 8251A.
Cuando la lnea C / D est en 0 selecciona al puerto de datos interno. Cuando
es 1, selecciona al puerto de control. Debido al MUX, la lnea AB0 se utiliza para seleccionarlos.
Se utiliza decodificacin completa para las 16 lneas de E/S en forma tal que el
USART es mapeado en puertos consecutivos 0070h y 0071h, seleccionados por AB0.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-37

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

FIGURA 2. Interfaz del P 8086 y USART 8251A

La siguiente tabla resume las funciones de lectura y escritura de cada uno de


los puertos:
1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-38

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

C / D RD
0
0
1
1

0
1
0
1

WR

Direccin del
puerto

FUNCIN

1
0
1
0

70h
70h
71h
71h

Lectura de un byte de datos


Escritura de un byte de datos
Lectura de un byte de datos
Escritura de un byte de datos

La Figura 2 tambin muestra las cuatro seales de control del MODEM : DSR ,
DTR , RTS y CTS . Con excepcin de CTS , estas seales son de propsito general y no

afectan la operacin del circuito; sin embargo, CTS debe ser igual a 0 si el transmisor
interno va a ser habilitado.
Se requiere la entrada de reloj CLK para sincronizacin interna, debe tener una
frecuencia de al menos 30 veces la frecuencia del transmisor o receptor en el modo
sincrnico y al menos 4.5 veces la frecuencia del transmisor o receptor en el modo
asincrnico.
NOTA DE APLICACIN: En la mayora de los casos, los niveles lgicos TTL en las lneas de entrada o
salida serie deben trasladarse a especificaciones RS-232C (EIA Electronic
Industries Associates) Esto es, -12V para el nivel lgico 1 y +12V para el nivel lgico 0.

Despus de trasladar los niveles TTL del USART a niveles RS-232C, el dato
serial puede ser transmitido a miles de pies.
Programacin del 8251A para modo asincrnico.

Utilice la siguiente secuencia:


1.
2.
3.

Desactivar el circuito integrado (externamente o a travs del byte de control interno) Externamente a travs de la pata RESET.
Escribir la instruccin de modo en el puerto de control.
Escribir la instruccin de comando en el puerto de control.

La Figura 3 describe la forma de las instrucciones de modo y comando .


Use un comando RESET para la secuencia de iniciacin, el siguiente comando
ser interpretado como una instruccin de MODO. Despus de que este byte ha sido
escrito, todas las escrituras posteriores al registro de control deben ser interpretadas
como instrucciones COMANDO. La nica forma de retornar a la instruccin MODO es
aplicando un pulso RESET o escribir un byte COMANDO con el bit 6 igual a 1.
EJEMPLO: Escriba la rutina de iniciacin para programar el 8251A para transmisin asincrnica con 7 bits de datos, 2 bits de parada y paridad impar. Seleccione un reloj
16x y programe DTR y RTS a 0.

1.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-39

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

FIGURA 3.a. Formato de instruccin modo asincrnico

FIGURA 3.b. Formato de instruccin para comando sincrnico o asincrnico

SOLUCIN
MOV
OUT

1.

AL, 01000000B
71h, AL

;comando RESET
;puerto de control

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-40

COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS

MOV

AL, 11011010B

OUT

71h, AL

MOV

AL, 00110111B

OUT
IN

71h, AL
AL, 70h

;instruccin de modo:
;7 datos, 2 bits de parada,
;paridad impar, 16x
;puerto de control
;instruccin comando:
; RTS y DTR o error RESET habilitado
;puerto comando
;lectura ficticia para
;borrar el receptor

NOTA: La habilitacin del receptor (bit 2 de la instruccin comando) solamente inhibe la bandera
RXRDY, no al receptor. As, es posible para el receptor haber capturado un carcter antes o durante la rutina de iniciacin. La lectura ficticia asegura que el receptor retenga
un registro en blanco.

TAREA
a.
b.

1.

Investigue los pasos necesarios para programar el 8251A para el modo sincrnico.
Muestre varios ejemplos.
Muestre el cdigo necesario para el control de:
o Una impresora
o Un MODEM . Aydese de las rutinas del BIOS de DOS.

INTRODUCCIN A LOS MICROPROCESADORES


LUIS URIETA PREZ Y PABLO FUENTES RAMOS

1-41

Вам также может понравиться