Documente Academic
Documente Profesional
Documente Cultură
VICERRECTORADO ACADMICO
AREA: INGENIERA / CARRERA: INGENIERA DE SISTEMAS
MICROPROCESADORES
Cdigo: 316
U.C.:
4
CARRERA:
Ingeniera de Sistemas
Cdigo: 236
SEMESTRE:
VII
AUTOR:
COMIT TCNICO:
INTRODUCCIN
El estudio a distancia e incluso el presencial en algunos momentos es una forma de
aprendizaje que se basa especficamente en el trabajo personal de los estudiantes
con mayor o menor independencia respecto de la gua directa de los profesores. El
estudiante, al estar provisto de material autoinstruccional, puede de esta forma
acceder a un mayor grado de aprendizaje, puesto que logra profundizar o aprender
segn sus ritmos y conocimientos previos. Aqu radica el potencial que tiene la
elaboracin del presente Material Instruccional de Apoyo (M.I.A.), el cual junto con
el libro Los Microprocesadores Intel, de Barry B. Brey y el Software Simulador del
Microprocesador 80286 se complementan para conformar el paquete instruccional
del curso Microprocesadores, aunado a ello el estudiante cuenta con la asesora
en los centros locales para aclarar dudas, tanto de manera presencial como a travs
del correo electrnico.
El Material Instruccional de Apoyo, se ha elaborado tomando en cuenta el nivel de
conocimientos que ha obtenido el estudiante en los cursos anteriores,
particularmente en el curso Arquitectura de Computadoras el cual define las
conductas de entrada necesarias para el estudio de los microprocesadores y la
implementacin de programas, para resolver un problema especfico. Tambin se
ha considerado la complejidad de cada tpico y el uso del software simulador, ste
software apoya el estudio de aquellas unidades en las cuales se realiza la
descripcin y programacin de un microprocesador comercial.
El Material Instruccional de Apoyo se ha organizado atendiendo a la Estructura del
Curso. El Mdulo I: El Microprocesador, Arquitectura e Interfaces, consta de cuatro
unidades. El Mdulo II: Familia de Microprocesadores, el Coprocesador Aritmtico
y la Tecnologa MMX, incluye dos unidades, por su parte en el Mdulo III:
Programacin del Microprocesador, se compone del estudio de dos unidades. Para
cada mdulo se presenta: una breve introduccin, el objetivo del mdulo y las
unidades que lo componen. Por su parte cada unidad incluye: una breve
presentacin, el objetivo de la unidad, una sinopsis del contenido y una serie de
actividades que el estudiante debe realizar para complementar su estudio, dentro de
estas actividades se hace nfasis en la presentacin de aspectos tericos,
ejemplos, ejercicios resueltos, ejercicios de autoevaluacin, consultas a material
bibliogrfico y consultas a direcciones electrnicas en la Web. Cabe destacar que
algunas de estas direcciones pueden no estar activadas al momento de la consulta,
por lo que se recomienda al estudiante acceder a otras direcciones relativas al tema
a travs de un buscador (Browser) en la Web.
El estudio del curso Microprocesadores, exige el uso simultneo del Plan de Curso
y el paquete instruccional. Estos dos componentes se interrelacionan para
proporcionarle una visin general del curso y las herramientas necesarias para el
logro del objetivo terminal.
3
Iconos empleados en el material instruccional
A lo largo de la lectura de este material encontrar diversos conos, cuyo
significado se explica a continuacin:
MDULO I
EL MICROPROCESADOR, ARQUITECTURA E INTERFACES.
En este mdulo se estudia la configuracin interna del microprocesador visible al
programador, la manera como se direcciona la memoria y como funciona cada
instruccin en la familia de los microprocesadores Intel. El establecimiento de las
interfaces apropiadas para la conexin de los sistemas de memoria y de los
dispositivos de entrada-salida (E/S) tambin son objetos de estudio en este mdulo.
Finalmente se profundiza en la implementacin de interfaces sencillas que se
conectan a los sistemas de bus ubicados en la computadora.
Objetivo del Mdulo I: Resolver con sentido lgico y creativo, problemas
inherentes a la arquitectura del microprocesador y al establecimiento de interfaces.
UNIDAD 1
Arquitectura del Microprocesador.
El estudio del modelo de programacin de los microprocesadores, puede realizarse
travs de la descripcin de la arquitectura interna visible para el programa. Esta
arquitectura comprende los registros que son utilizados por el programador en el
desarrollo de aplicaciones, mediante instrucciones que hacen uso de ellos. En la
Unidad I, se presentan los modelos de programacin de los microprocesadores
8086 al Pentium II, pertenecientes stos a la familia Intel, tambin su modo de
funcionamiento en modo real y protegido.
Las caractersticas de diseo de los microprocesadores, establecen sus
capacidades y limitaciones, por ejemplo es conveniente para el programador, que
el microprocesador tenga diversos modos de direccionamiento, ya que eso le
permitir desarrollar software ms eficiente. La Unidad I presenta los modos de
direccionamiento de datos, de la memoria y de la pila, para la familia de
microprocesadores Intel. Finalmente se incluye en esta unidad el estudio de las
instrucciones con que cuentan los miembros de esta familia, este estudio
contempla entre otros aspectos la sintaxis del lenguaje ensamblador y algunas de
sus directivas, as como tambin la funcin de cada instruccin, lo que permite
sentar bases para la programacin de los microprocesadores en unidades
posteriores.
Objetivo de la Unidad 1: Aplicar los conceptos de arquitectura de los
microprocesadores en la descripcin de su estructura y/o funcionamiento, dada no
una situacin.
Contenido de la Unidad 1: El contenido de la unidad contempla el estudio de los
siguientes temas:
El microprocesador y su arquitectura.
Direccionamiento de memoria.
Paginacin de memoria.
Modos de direccionamiento. Direccionamiento de la pila de memoria.
Instrucciones.
6
Actividades recomendadas para el estudio del contenido de la unidad 1.
Atencin: Considerar que en el Plan de Curso de Microprocesadores, hay
un error en la seccin V. Diseo de la Instruccin, en las secciones 2.1, 3.2,
4.2, 5.2 y 6.2, correspondientes a las unidades: 2, 3, 4, 5 y 6 respectivamente.
El error se encuentra en la indicacin del Texto a utilizar a utilizar, donde dice:
Texto Organizacin y Arquitectura de Computadoras . Debe decir : Texto:
Los Microprocesadores Intel. .
TTULO
MATERIAL DE
REFERENCIA
CONTENIDO
Arquitectura interna
microprocesador.
CAPITULO
del
Direccionamiento
de
memoria
en
modo
real.
texto
Los
El microprocesador y El
Microprocesador
su arquitectura.
al
es Intel,
B. B. Introduccin
direccionamiento
de
Brey.
memoria
en
modo
protegido.
Paginacin de memoria.
Modos
de
direccionamiento de datos.
Modos
de
texto
Los direccionamiento de la
Modos
de El
direccionamiento.
Microprocesador memoria del programa.
es Intel,
B. B.
Modos
de
Brey.
direccionamiento de la
memoria de la pila.
Instrucciones.
Instrucciones
para
El
texto
Los movimiento de datos.
Microprocesador
es Intel,
B. B. Instrucciones aritmticas y
lgicas.
Brey.
Instrucciones de control de
programa.
Tabla 1.1
4
5
6
8
sistemas ya que solo usa una fuente de alimentacin de +5 Volts, contiene
ntegramente todo el conjunto de instrucciones del 8080, lo cual le permite
ejecutar todos los programas escritos para el CPU 8080, contiene el Z80 una
expansin adicional de 80 instrucciones de ah se deriva su nombre, su
repertorio suma un total de 156 instrucciones. Esta significativa mejora puede
apreciarse si se comparan los modelos de programacin de cada uno de ellos.
Se presentan a continuacin los modelos de programacin de los
microprocesadores 8080 de Intel y el Z80 de Zilog, as como tambin la
descripcin y funcionamiento de cada uno de los registros que los conforman.
MODELO DE PROGRAMACIN DEL MICROPROCESADOR 8080
En
la figura 1.1 se presenta el modelo de programacin de este
microprocesador , el cual dispone de los siguientes registros:
Un registro acumulador de 8 bits (tambin llamado registro A).
Seis registros de propsito general de 8 bits (B, C, D, E H y L.), que con
algunas instrucciones pueden usarse como registros pares de 16 bits (B-C,
D-E y H-L).
Dos registros de 16 bits de propsito especfico: un puntero de Stack (SP,
siglas en ingls de Stack Pointer)) y un contador de programa (PC, siglas en
ingls de Counter Program).
Cinco flags (banderas) de 1 bit cada una que posee la unidad aritmtico
lgica y cuyo contenido es modificado despus de la ejecucin de numerosas
instrucciones lgicas y aritmticas. Estas flags son: S, C, A, P y C.
Registro acumulador
A
Registros de propsito general
B
D
H
C
E
L
Atencin: El registro Flags contiene 8 bits, pero solo se utilizan los cincos bits
menos significativos, que corresponden a las cinco banderas: S, C, A, P y C.
10
Registros del banco principal
A
B
D
H
F
C
E
L
A
B
C
H
F
C
E
L
Registros ndice
IX
IY
Registros de pila y contador del programa
SP
PC
Registro de interrupciones y de refresco de memoria
I
R
Figura 1.2 Modelo de programacin de microprocesador Zilog Z80.
Atencin: El texto utilizado para el estudio del Curso Microprocesadores se
basa en los modelos fabricados por la compaa Intel, sin embargo se utiliza
en este ejemplo, el microprocesador Z80 desarrollado por la compaa Zilog,
con el objeto de que el alumno ample sus conocimientos.
11
hexadecimales guardan cierta concordancia con las potencias de 2. Por
ejemplo, un bus de direcciones de 8 bits puede acceder a 256 posiciones
(28 = 256), expresado en hexadecimal es el rango 00-FF H. En caso de
direcciones de 16 bits, se puede acceder 65.536 posiciones (es el rango 0000FFFF H). El bus de direcciones del PC XT, tiene 20 bits, las posibilidades son
1.048.576 (es el rango 00000-FFFFF H).
Como veremos a continuacin, puede utilizarse una doble notacin: direcciones
absolutas, indicadas por un hexadecimal de cinco dgitos, en el rango 00000FFFFF H, o en direcciones segmentadas, que utiliza dos grupos de cuatro
dgitos hexadecimales.
El direccionamiento segmentado, consiste en la asignacin de bloques de
memoria de tamao variable, llamados segmentos. El tamao de cada segmento
ser el requerido segn la peticin, por ejemplo el tamao del proceso a cargar.
El tamao mximo para un segmento estar determinado por la capacidad de
direccionamiento del hardware de la computadora, esto es, de cuantos bits se
dispone para almacenar una direccin. El acceso a cada elemento individual
(byte) en la memoria se hace mediante una direccin de memoria que se integra
por dos elementos: una direccin de segmento y una de desplazamiento.
La combinacin (suma) de la direccin de segmento y la de desplazamiento
generan la direccin de memoria absoluta a acceder, tal como se muestra en la
figura 1.3, mostrada a continuacin:
Tabla de segmentos
Po
400
P1
250
P2
1200
250
P1
Direccin lgica
Po
12
Direccin absoluta
+
400
400+12
Po
1200
P2
12
El bus del PC XT contiene 20 lneas, estas lneas contienen las direcciones que
identifican la parte del computador que comunica. Las direcciones son de dos tipos;
unas se refieren a direcciones de memoria; otras a direcciones de puertos de E/S.
Con los datos anteriores, resulta evidente que el PC XT puede manejar 1.048.576
direcciones (220). Sin embargo, el microprocesador 8088 presente en el XT dispone
de registros de 16 bits que solo pueden albergar 65.536 posiciones (216), muy
alejado del valor anterior. Para resolver el problema, se utilizan las direcciones
segmentadas, compuestas por dos palabras de 16 bits que se componen para
formar una direccin de 20 bits (esta direccin es denominada tambin como
direccin absoluta). Para generar estas direcciones el 8088 dispone de cuatro
registros de segmento: CS, SS, DS y ES.
Los aspectos concretos de almacenamiento de un programa dependen de la
plataforma; no existe un modelo nico. En la figura 1.4 se muestra como se utilizan
los registros de segmento para sealar las direcciones de inicio de los diversos
mdulos de un programa cargado en memoria, dentro del espacio de memoria
direccionable con 20 bits (00000-FFFFF H).
13
FFFFF H
Registros de puntero
Segmento de cdigo
IP
SP
Fin de la pila
BP
Segmento de pila
Registros de segmento
CS
Segmento de datos
SS
DS
ES
00000 H
Figura 1.4 Programa de aplicacin cargado en un sistema de memoria DOS
6.- Estudie el ejemplo 1.3, en el cual se aplica el manejo de memoria en modo
protegido, para describir cmo el microprocesador 80386 asigna las localidades
de memoria a un segmento de datos.
Ejemplo 1.3: Manejo de memoria en modo protegido.
En la ejecucin de un programa en un sistema basado en microprocesador
80386, se requiere en un instante dado almacenar datos en la memoria, bajo
estas condiciones el contenido del registro de segmento de datos DS es el
mostrado en la figura 1-5:
0000000000001
00
Solicita nivel de privilegio 00
Elige descriptor en la tabla de descriptores
globales
Selecciona descriptor nmero 1
14
Y el formato del descriptor nmero 1 contenido en la tabla de descriptores
globales es el siguiente:
Ocho bytes del
descriptor
7
0000 0000
0000 0000
1111 0010
0001 0000
00100000 H
000FF H
Base + Lmite = 00100000 H + 000FF H
001000FF H.
15
1.7 se ilustra la combinacin de los mecanismos de segmentacin y paginacin
disponibles en el Pentium II.
Direccin
lgica
Segmentacin
D
e
s
p
l
a
z
a
m
i
e
n
t
o
Paginacin
Dir.
Direccin lineal
Desplazamiento
Pgina
+
S
e
g
m
e
n
t
o
Directorio de
pginas
Tabla de
pginas
Direccin
fsica
Memoria
principal
Tabla de
segmentos
16
REGISTROS DE 8
BITS
REGISTROS DE 16
BITS
REGISTROS DE 32
BITS
AH
AL
BH
BL
CH
CL
DH
DL
AX
BX
CX
DX
SP
BP
DI
SI
CS
ES
DS
SS
FS
GS
EAX
EBX
ECX
EDX
ESP
EBP
EDI
ESI
* Nota: Son utilizados por algunas instrucciones MOV, as como tambin por las
instrucciones PUSH y POP.
Tabla 1.2
9.- Estudie el ejemplo 1.5, en el cual se describen los modos de direccionamiento
disponibles en el Pentium II.
Ejemplo 1.5: Modos de direccionamiento del Pentium II.
17
Registro de segmento
SS
Selector
GS
Selector
FS
Selector
ES
Selector
DS
Selector
CS
Selector
Registro base
Registro ndice
Escala: 1,2 u 8
Registros descriptores
Derechos de SS
acceso
Derechos de GS
acceso
Lmite de FS
Derechos
acceso
Lmite de ES
Derechos
Direccin
base
acceso
Lmite
Derechos
de DS
Direccin
base
acceso
Lmite de CS
Derechos
Direccin
base
acceso
Lmite
Direccin base
Lmite
Direccin base
Direccin base
Desplazamiento (en
la instruccin, 0, 8
32 bits)
Direccin
efectiva
Direccin lineal
+
18
MODO
ALGORITMO
Inmediato
Operando = A
Registro
LA = R
Con
LA = (SR) + A
desplazamiento
Base
LA = (SR) + (B)
Base con
LA = (SR) + (B) + A
desplazamiento
ndice escalado
con
LA = (SR) + (I) x S + A
desplazamiento
DESCRIPCIN
El operando se incluye en la
instruccin. El operando puede ser un
byte, una palabra o una palabra doble
de datos. Este modo puede utilizarse
para definir y utilizar constantes, o para
fijar valores iniciales de variables.
El operando est situado en un registro.
Si se hace un uso masivo de este
direccionamiento en un repertorio de
instrucciones, los registros de la CPU
se emplearn intensamente, y debido al
nmero limitado de registros en
comparacin con el nmero de
posiciones de la memoria principal, se
recomienda usarlo eficientemente.
El desplazamiento del operando est
incluido, formando parte de la
instruccin. Debido a que implica
instrucciones largas,
se puede
encontrar en pocas mquinas, en el
Pentium II, el valor del desplazamiento
puede ser de 32 bits, haciendo que la
instruccin tenga 6 bytes.
Especifica que uno de los registros de
8, 16 o 32 bits contiene la direccin
efectiva
La
instruccin
incluye
un
desplazamiento que hay que sumar a
un registro base, que puede ser
cualquiera de los registros de uso
general. Un ejemplo de uso de este
modo es: utilizacin por un compilador
para apuntar al comienzo de una zona
de variables, en este caso el registro
base apunta al comienzo de un marco
de pila, que contiene las variables
locales
para
el
procedimiento
correspondiente.
La
instruccin
incluye
un
desplazamiento a sumar a un registro,
llamado en este caso registro ndice. El
registro ndice puede ser cualquiera de
los registros de uso general excepto el
ESP. Este modo es muy conveniente
para indexar matrices.
19
MODO
ALGORITMO
DESCRIPCIN
Suma los contenidos de los registros
base e ndice, y un desplazamiento
para formar la direccin efectiva. Como
Base con
ejemplo,
este
modo
de
ndice y
LA = (SR) + (B)+ (I) + A direccionamiento podra emplearse
desplazamiento
para manejar una matriz bidimensional;
en este caso el desplazamiento apunta
al inicio de la matriz, y cada registro
gestiona una dimensin de la misma.
Suma el contenido del registro ndice,
multiplicado por un factor de escala,
Base con
con el contenido del registro base y el
ndice escalado LA = (SR) + (I) x S + desplazamiento. Es til Este modo
y
(B) + A
permite la indexacin eficiente de una
desplazamiento
matriz
bidimensional
cuando
los
elementos de la misma tienen
longitudes de 2, 4 u 8 bytes.
Se suma un desplazamiento al valor del
contador del programa que apunta a la
Relativo
LA = (PC) + A
siguiente instruccin. Puede emplearse
en instrucciones de transferencia del
control (control de flujo).
LA = direccin lineal
SR = Registro de segmento
A = Contenido de un campo de
direccin de la instruccin
I = Registro ndice
(X)
PC
R
B
S
= contenido de X
= Contador de programa
= Registro
= Registro Base
= Factor de escala
20
Segmento de pila
Final de la pila
(valor inicial de ESP)
Variables locales
pasadas al
procedimiento llamado
Parmetros pasados
al procedimiento
llamado
EBP apunta a la
direccin de la
instruccin de retorno
Direccin de la instruccin de
retorno
Registro EBP
Registro ESP
Tope de la pila
Figura 1.9 Uso de la pila cuando se invoca un funcin en lenguaje C
El orden en el que se insertan los parmetros en la pila es importante. Los ltimos
parmetros en insertarse en la pila son los primeros parmetros en la declaracin
de la funcin C.
11.-Estudie el ejemplo mostrado a continuacin en el cual se convierte una
instruccin escrita en lenguaje de mquina a lenguaje ensamblador, para los
casos en que un microprocesador 80386 o posteriores, opera en el modo de
instrucciones de 16 bits y de 32 bits.
Ejemplo 1.7: Instruccin 668BEC H convertida a su forma de lenguaje
ensamblador, cuando es ejecutada en un microprocesador
80386 o posteriores, operando en el modo de instrucciones
de 16 bits.
21
El microprocesador opera en el modo de instrucciones de 16 bits.
La instruccin consta de tres bytes: 66 H, 8B H
instruccin en binario ser el siguiente:
Byte 1 (66 H)
0
y EC H y el formato de la
Byte 2 (8B H)
1
1
W
D
Cdigo de operacin
Byte 3 (E8 H)
1
MOD
REG
R/M
22
12.-Estudie el ejemplo 1.8, en el cual se presenta un pequeo programa escrito en
lenguaje ensamblador que muestra el uso de la instruccin para transferencia de
datos MOV y el empleo de algunas directivas.
Ejemplo 1.8:
ORG 1000 H
var_byte
DB
20 H
var_word
DW
?
ORG 2000 H
MOV AX, 1000 H
MOV BX, AX
MOV BL, var_byte
MOV var_word, BX
END
AX BX Instante
En el programa anterior, se observa el uso el uso ms comn de la directiva
ORG. La idea es separar las variables del programa. En el programa, las
variables sern almacenadas a partir de la direccin 1000 H mientras que las
instrucciones del programa estarn a partir de la direccin 2000 H.
La primera instruccin MOV asigna el valor inmediato 1000 H al registro AX.
Esta instruccin emplea el modo de direccionamiento conocido como
inmediato. Como ambos son valores de 16 bits, no hay inconveniente en esa
asignacin.
El siguiente MOV asigna el contenido del registro AX al registro BX. De nuevo,
como ambos son de 16 bits, es una asignacin vlida. El modo de
direccionamiento que usa es el denominado registro.
El tercer MOV asigna el contenido de la variable var_byte (que es 20 H) al
registro BL. Como BL es la parte baja de BX, pasa de 1000 H a 1020 H. Como
BL y var_byte son ambos de 8 bits, es una asignacin permitida. Adems, se
emplea el modo de direccionamiento directo.
El ltimo MOV asigna el valor contenido en el registro BX a la direccin de
memoria a la que var_word hace referencia. Ahora, var_word contiene el
valor 1020 H.
13.-Estudie el ejemplo 1.9, en el cual se presenta un pequeo programa escrito en
lenguaje ensamblador que muestra el uso de las instrucciones aritmticas ADD y
ADC.
Ejemplo 1.9: Aplicacin de las instrucciones aritmticas ADD (suma) y ADC
(suma con acarreo).
23
ORG 1000 H
dato1_l
dato1_h
dato2_l
dato2_h
ORG 2000 H
MOV
ADD
MOV
ADC
END
DW
DW
DW
DW
0FFFF H
0015 H
0011 H
0002 H
AX, dato1_l
AX, dato2_l
BX, dato1_h
BX, dato2_h
24
Una solucin que permite esto es la siguiente:
Then:
Fin_IF:
CMP AL, 4
JZ
Then
JMP Fin_IF
MOV BL, 1
INC CL
HLT
;(1)
;(2)
;(3)
;(4)
;(5)
;(6)
25
Consulta en la Web
http://www.itlp.edu.mx/publica/tutoriales/ensamblador/indice5.htm
:
informacin sobre los elementos bsicos del lenguaje ensamblador.
Contiene
http://weblidi.info.unlp.edu.ar/catedras/organiza/download/apunte4.pdf : Contiene
informacin sobre las instrucciones y directivas del lenguaje ensamblador.
Incluye
http://www.tau.org.ar/base/lara.pue.udlap.mx/sistoper/capitulo4.html:
informacin interesante sobre la segmentacin y la paginacin de memoria.
http://futura.disca.upv.es/~eso/es/t2-arquitectura/gen-t2-arquitectura.html: Presenta
una introduccin a la arquitectura IA-32 de los microprocesadores Intel.
26
Ejercicios de Autoevaluacin
27
2.- El inicio y fin del segmento ser el siguiente:
Base = Inicio = A00000 H
Final = Base + lmite = A00000 + 1000 h
Final = A01000 H
3.- Utilizando el formato presentado el ejemplo 1.3:
Ocho bytes del
descriptor
7
0000 0011
1001 0000
1001 0010
0000 0000
AH
EAX
AL
8A H
8A H
EBX
ECX
CS
DS
0200 H
DS x 10 H
1234 H
8A H
3134 H
28
5.- La secuencia ser la siguiente:
MOV
OR
SI, DI
SI, 1F H
29
UNIDAD 2
Interfaz con la Memoria.
En computadores antiguos, la forma ms comn de almacenamiento de acceso
aleatorio para la memoria principal consista en una matriz de pequeos anillos
ferromagnticos denominados ncleos. Pero con el advenimiento de la
microelectrnica y sus ventajas, naci el uso de las memorias semiconductoras
para la memoria principal. En esta unidad se exploran aspectos claves de esta
tecnologa, se inicia con el estudio de la organizacin y funcionamiento de los
dispositivos semiconductores de memoria, especficamente los cuatro tipos ms
comunes: ROM (memoria de slo lectura), EEPROM (memoria de slo lectura,
borrable y programable elctricamente), SRAM (memoria esttica de acceso
aleatorio) y DRAM (memoria dinmica de acceso aleatorio).
Una vez estudiados los componentes que conforman la memoria principal del
microprocesador, es necesario que se ensamblen estos componentes en forma
correcta a objeto de producir un sistema de memoria adecuado para un
microprocesador. Debe considerarse la cantidad de memoria requerida y el mtodo
ptimo de conectar a toda la memoria del microprocesador. Por esto se incluye en
la unidad 2, la solucin de problemas de conexin de la memoria al
microprocesador mediante la interfaz adecuada, especficamente para la familia de
los microprocesadores Intel.
Objetivo de la Unidad 2: Resolver problemas de conexin de la memoria al
microprocesador, mediante el uso de la interfaz apropiada.
Contenido de la Unidad 2: El contenido de la unidad 2 incluye el estudio de los
siguientes temas:
2.1 Dispositivos de memoria
2.2 Decodificacin de la direccin
2.3 Interfaz de memoria para los microprocesadores de 8, 16,
32 y 64 bits
2.4 RAM dinmica
30
Recomendaciones para el estudio del contenido de la unidad 2.
1.- Examine la tabla 2.1, en ella puede identificar las lecturas de los temas
contentivos de la unidad 2.
TTULO
MATERIAL
DE
REFERENCIA
El texto Los
Interfaz con la Microprocesa
memoria.
dores
Intel,
B. B. Brey.
CAPITULO
10
CONTENIDO
SECCIN
Dispositivos
de
10.1
memoria.
Decodificacin de la
10.2
direccin.
Interfaz
de
la
memoria de los
microprocesadores
10.3 -10.6
de 8, 16, 32 y 64
bits.
RAM dinmica.
Impresoras.
10.7
Tabla 2.1
2.- Una vez ledo el contendido indicado en la tabla 2.1, usted estar en capacidad
de responder lo siguiente:
2.1Cules son los terminales de conexin comunes a todos los dispositivos de
memoria?
2.2Por qu es necesario decodificar las lneas de direccin del
microprocesador?
2.3 Qu es una interfaz de memoria?
2.4Qu tipos de conexin son comunes para todos los dispositivos de
memoria?
2.5 Cuntas palabras se encuentran en un dispositivo de memoria que tenga 8
conexiones de direccin?
3.- Estudie la figura 2.1, la cual ilustra una jerarqua de memoria tpica, como la que
se podra encontrar en una computadora de tamao moderado. Tome en cuenta
que no es la nica configuracin que se podra usar; pero sirve para ilustrar lo
que podra esperarse encontrar cuando se estudia una computadora real.
31
Memoria principal
que consiste en
RAM y ROM.
Almacena el
programa y datos
Actuales.
Unidades de disco
usadas para
Almacenar datos
programas para uso
a futuro.
Lectura/escritura
Lectura/escritura
4.- Examine la figura 2.2 presentada en el ejemplo 2.1, esta arquitectura ilustra una
arquitectura tpica de un arreglo de memoria. En el arreglo, m bits de direccin
se dividen en t bits de direccin de fila y s bits de direccin de columna, para
simplificar los decodificadores a utilizar.
Ejemplo 2.1: Arquitectura tpica de un arreglo de memoria.
32
Direccin de columna
1. . . . . . . s
Decodificador
2s
Direccin de
fila
1
.
.
.
.
.
t
Decodificador
Arreglo de
memoria
2t
Celda de la
memoria
______
Lectura/escritura
Controladores
de
escritura
y
amplificadores de deteccin, ms
multiplexor de entrada/salida
Salida
Entrada
5.- Estudie el ejemplo 2.2, el cual explica en trminos generales la forma en que se
lleva a cabo la correccin de errores en las memoria semiconductoras.
33
Salida de datos
M
Corrector
Entrada de datos
M
k
f
k
Memoria
Compa
racin
34
Ejercicios propuestos
1.- Describa cmo se realiza la seleccin de la direccin requerida en el arreglo de
memoria presentado en la figura 2.2, para el caso en que la memoria sea del
tipo RAM.
2.- Cuntos dispositivos de memoria de 4 K x 1 se requieren para proporcionar un
complemento total de memoria para un procesador de 8 bits con 16 lneas de
direccin? Represente grficamente la conexin adecuada de la memoria al
microprocesador.
informacin
sobre
arreglos
de
memoria
para
un
[Satallings 2000]
Proporciona un tratamiento amplio sobre las memorias
semiconductoras, incluyendo la interfaz RAMLink, la cual se centra en la
interfaz procesador/memoria, en lugar de en la arquitectura interna de los chips
DRAM.
[Lameda 1984] presenta variados ejemlos sobre el diseo de los sistemas de
memoria.
Consulta en la Web
http://ortihuela.galeon.com/ram.htm: Incluye informacin sobre los diversos tipos de
memoria RAM.
http://es.wikipedia.org/wiki/Memoria_RAM: Presenta informacin relevante sobre los
tipos de memoria RAM y sus aplicaciones.
Ejercicios de Autoevaluacin
35
posicin 30F000 H. Para ello se dispone de circuitos EPROM de 2K x 8 y
circuitos RAM de 256 x 8. Presente tambin la tabla de decodificacin necesaria.
2.- Se pide disear un sistema de microprocesador que pueda direccionar 64 K
localizaciones de memoria. La memoria deber estar conformada por 4 K x 8 de
EPROM y 4 K x 8 de RAM. El microprocesador a utilizar dispone de 16 lneas de
direccin, y las seal de control R/W (cuando se desea leer un dato de memoria
se activa la seal R mediante un 1 lgico, por el contrario si se desea escribir en
la memoria RAM la seal W deber tomar el valor de 0 lgico). A continuacin
se presenta el microprocesador y los dispositivos de memoria a utilizar:
Microprocesador
D0 a D7
A15
A14
.
.
A0
Lneas de direccin
_
R/W
Canal de control
Canal de datos
A0 A1
A0 A1
A11
__
CS
RAM
4kX8
___
CSR
A11
__
CS
EPROM
4kX8
___
CSE
_
D0 a D7
__
OE
D0 a D7
R/W
36
4 x 256 bytes = 1024 bytes = 1k) y dos dispositivos EPROM. El sistema de
memoria as configurado ser el siguiente:
000000 H
RAM1
RAM2
RAM3
RAM4
000200 H
0003FF H
VACIO
NO USADO
30F000 H
EPROM1
EPROM2
30FFFF H
VACIO NO USADO
FFFFFF H
Y la tabla de decodificacin ser la siguiente:
A2
A2
A2
A2
A1
A1
A1
A1
A1
A1
A1
A1
A1
A1
A
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
0
1
RAM1
RAM2
RAM3
RAM4
EPRO
M1
EPRO
M2
37
A15
A14
A13
___
A12
___
CSE
CSR
0
0
0
.
.
.
1
0
0
0
.
.
.
1
0
0
1
.
.
.
1
0
1
0
.
.
.
1
0
1
1
.
.
.
1
1
0
1
.
.
.
1
Microprocesador
D0 a D7
A0 A1
_
R/W
A11
__
CS
A0 A1
___
CSR
RAM
4kX8
__
EPROM
4kX8
_
D0 a D7
R/W
Canal de
control
Canal de datos
A11
__
CS
__
D0 a D7
OE
CSE
38
UNIDAD 3
Interfaz de E/S Bsica, Interrupciones y E/S Controlada por DMA
Por muy poderosa que sea una unidad central de procesamiento (CPU), la utilidad
de una computadora depende esencialmente de sus capacidades de entrada y
salida. Es decir sin ellas, no habra por ejemplo entrada desde el teclado, ni salida
desde la pantalla, ni salida impresa y ni siquiera almacenamiento y recuperacin en
disco. Para ello se requiere utilizar rutinas y medios especializados que permitan
procesar la entrada y la salida.
Motivado a esto, se presenta en esta unidad
y sus interfaces, especficamente con el
introducen dos tcnicas avanzadas de E/S,
memoria, adems de los componentes y
posibles.
39
Actividades recomendadas para el estudio del contenido de la unidad 3.
1.- Examine la tabla 3.1, en ella
contentivos de la unidad 3:
TTULO
MATERIAL DE
REFERENCIA
CAPITUL
O
CONTENIDO
Introduccin a la interfaz de
E/S.
Decodificacin de direccin
de un puerto de E/S.
texto
Los
La interfaz de El
entrada/salida
Microprocesadores
bsica.
Intel, B. B. Brey.
La
interfaz
programable.
11
perifrica
La interfaz programable de
teclado/pantalla tipo 8279.
Procesamiento
interrupciones.
bsico
de
El
texto
Los
Microprocesadores
Intel, B. B. Brey.
Controlador de interrupcin
programable 8259A .
12
Ejemplos de interrupcin.
Acceso directo a
Operacin bsica del DMA y
texto
Los
memoria y E/S El
el controlador del DMA 8237.
controlada
por Microprocesadores
Intel, B. B. Brey.
DMA.
Operacin
del
bus
compartido.
Tabla 3.1
13
40
a)
2.- Lea los siguientes aspectos tericos, a travs de los cuales reforzar los
conocimientos adquiridos.
Buffer de tres estados (o buffer triestado).
Un dispositivo lgico semiconductor que puede tener tres estados: (1) un estado
lgico 0, (2) un estado lgico 1 y (3) un estado en el que la salida est,
efectivamente, desconectada del resto del circuito y no tiene influencia sobre l.
[Lameda,1984].
Tecnologa TTL
Acrnimo en Ingls de Transistor-Transistor Logic o "Lgica Transistor a
Transistor". Tecnologa de construccin de circuitos electrnicos digitales, en los
que los elementos de entrada de la red lgica son transistores, as como los
elementos de salida del dispositivo.
Las caractersticas de la tecnologa utilizada, en la familia TTL, condiciona los
parmetros que se describen en sus hojas de caractersticas segn el fabricante:
Su tensin de alimentacin caracterstica se halla comprendida entre los 4.75 V
y los 5.25 V como se ve un rango muy estrecho debido a esto, los niveles
lgicos vienen definidos por el rango de tensin comprendida entre 0.2 V y 0.8 V
para el estado L (bajo) y los 2.4 V y Vcc para el estado H (alto).
La velocidad de transmisin entre los estados lgicos es su mejor baza,
ciertamente esta caracterstica le hacer aumentar su consumo siendo su mayor
enemigo. Motivo por el cual han aparecido diferentes versiones de TTL como
FAST, LS, S, etc y ltimamente los TTL: HC, HCT y HCTLS. En algunos casos
puede
alcanzar
poco
ms
de
los
250
Mhz.
[http://es.wikipedia.org/wiki/Tecnolog%C3%ADa_TTL].
Nota: Vcc es el nivel de 5 V (voltios).
41
LED (siglas en ingls de Diodo Emisor de Luz).
Semiconductor especial que emite luz, cuando lo recorre una corriente elctrica.
[Sayers 1995].
Interfaces con el microprocesador.
La mayora de los microprocesadores tiene poco valor funcional por si mismos.
Muchos no contienen una memoria sustancial, y pocos tienen puertos de
entrada y salida que los conecten directamente a dispositivos perifricos. Los
microprocesadores operan como parte de un sistema. La interconexin, o
enlace, de las partes en este sistema se denomina interfaz. [Tokheim, 1995].
E/S asignada a memoria y E/S aislada.
Cuando el procesador, la memoria principal y la E/S comparten un bus comn,
son posibles dos modos de direccionamiento: asignado en memoria (memorymapped) y aislado. Con las E/S asignadas a memoria, existe un nico espacio
de direcciones para las posiciones de memoria y los dispositivos de E/S. La CPU
considera los registros de estado y de datos de los mdulos de E/S como
posiciones de memoria, y utiliza las mismas instrucciones mquina para acceder
tanto a la memoria como a los dispositivos de E/S. As por ejemplo, con 10
lneas de direccin se puede acceder a un total de 1024 posiciones de memoria
y direcciones de E/S, en cualquier combinacin.
Con la E/S asignadas en memoria, se necesita una sola lnea de lectura y una
sola lnea de escritura en el bus. Alternativamente, el bus puede disponer de
lneas de lectura y escritura en memoria junto con lneas para rdenes de
entrada y salida. En este caso, las lneas de rdenes especifican si la direccin
se refiere a una posicin de memoria o a un dispositivo de E/S. El rango
completo de direcciones est disponible para ambos. De nuevo, con 10 lneas
de direccin, el sistema puede soportar ahora 1024 posiciones de memoria y
1024 direcciones de E/S. Puesto que el espacio de direcciones de E/S est
aislado del de memoria, ste se conoce con el nombre de E/S aislada. [Stallings,
2000].
Protocolo con respuesta (Handshaking)
Un tpico sistema de comunicacin en paralelo puede ser de una direccin
(unidireccional) o de dos direcciones (bidireccional). El ms simple mecanismo
utilizado en un puerto paralelo de una PC es de tipo unidireccional y es el que
analizaremos en primer lugar. Distinguimos dos elementos: la parte transmisora
y la parte receptora. La parte transmisora coloca la informacin en las lneas de
datos e informa a la parte receptora que la informacin (los datos) estn
disponibles; entonces la parte receptora lee la informacin en las lneas de datos
e informa a la parte transmisora que ha tomado la informacin (los datos).
Observe que ambas partes sincronizan su respectivo acceso a las lneas de
42
datos, la parte receptora no leer las lneas de datos hasta que la parte
transmisora se lo indique en tanto que la parte transmisora no colocar nueva
informacin en las lneas de datos hasta que la parte receptora remueva la
informacin y le indique a la parte transmisora que ya ha tomado los datos, a
sta coordinacin de operaciones se le llama acuerdo entendimiento. Bien, en
stos mbitos tecnolgicos es recomendable utilizar ciertas palabras en ingls
que nos permiten irnicamente un mejor entendimiento de los conceptos
tratados. Repito: a la coordinacin de operaciones entre la parte transmisora y la
parte receptora se le llama handshaking, que en espaol es el acto con el cual
dos partes manifiestan estar de acuerdo, es decir, se dan un apretn de manos.
El handshaking
Para implementar el handshaking se requieren dos lneas adicionales. La lnea
de estroboscopio (en ingls strobe) es la que utiliza la parte transmisora para
indicarle a la parte receptora la disponibilidad de informacin. La lnea de
admisin (acknowledge) es la que utiliza la parte receptora para indicarle a la
parte transmisora que ha tomado la informacin (los datos) y que est lista para
recibir ms datos. El puerto paralelo provee de una tercera lnea de handshaking
llamada en ingls busy (ocupado), sta la puede utilizar la parte receptora para
indicarle a la parte transmisora que est ocupada y por lo tanto la parte
transmisora no debe intentar colocar nueva informacin en las lneas de datos.
Una tpica sesin de transmisin de datos se parece a lo siguiente:
Parte transmisora:
La parte transmisora chequea la lnea busy para ver si la parte receptora est
ocupada. Si la lnea busy est activa, la parte transmisora espera en un bucle
hasta que la lnea busy est inactiva.
La parte transmisora coloca la informacin en las lneas de datos.
La parte transmisora activa la lnea de strobe.
La parte transmisora espera en un bucle hasta que la lnea acknowledge est
activa.
La parte transmisora inactiva la lnea de strobe.
La parte transmisora espera en un bucle hasta que la lnea acknowledge est
inactiva.
La parte transmisora repite los pasos anteriores por cada byte a ser
transmitido.
Parte receptora:
La parte receptora inactiva la lnea busy (asumiendo que est lista para
recibir informacin).
La parte receptora espera en un bucle hasta que la lnea strobe est activa.
La parte receptora lee la informacin de las lneas de datos (y si es
necesario, procesa los datos).
La parte receptora activa la lnea acknowledge.
o La parte receptora espera en un bucle hasta que est inactiva la lnea
de strobe.
La parte receptora inactiva la lnea acknowledge.
La parte receptora repite los pasos anteriores por cada byte que debe recibir.
43
Se debe ser muy cuidadoso al seguir stos pasos, tanto la parte transmisora
como la receptora coordinan sus acciones de tal manera que la parte
transmisora no intentar colocar varios bytes en las lneas de datos, en tanto
que la parte receptora no debe leer ms datos que los que le enve la parte
transmisora,
un
byte
a
la
vez.
[http://www.modelo.edu.mx/univ/virtech/circuito/paralelo.htm].
CHIP
Pequea placa o pastilla de material semiconductor usado para producir un
circuito integrado. [Lameda, 1984].
Tipos de interfaces
La interfaz entre el perifrico y el mdulo de E/S debe ajustarse a la naturaleza y
la forma de funcionar del perifrico. Una de las principales caractersticas de la
interfaz es si es serie o paralela. En una interfaz paralela, hay varias lneas que
conectan el mdulo de E/S y el perifrico, y se transfieren varios bits
simultneamente a travs del bus de datos. En una interfaz serie, hay slo una
lnea para transmitir los datos, y los bits deben transmitirse uno a uno . Las
interfaces paralelas se utilizan usualmente para los dispositivos de alta
velocidad, como una cinta o disco. Las interfaces serie son ms propias de
impresoras y terminales. [Stallings, 2000].
Tcnica de E/S mediante interrupciones.
Es aquella en la que el programa genera una orden de E/S y despus contina
ejecutndose hasta que el hardware de E/S interrumpe para indicar que la
operacin de E/S ha concluido. [Stallings, 2000].
Lneas de interrupcin del microprocesador Intel 80386.
El microprocesador 80386 de Intel posee una lnea de peticin de interrupcin
(INTR, Interrup request) y una sola lnea de reconocimiento de interrupcin
(INTA, Interrup Acknowledge). [Stallings, 2000].
Funcionamiento del DMA.
El DMA requiere un mdulo adicional en el bus del sistema. El mdulo DMA (ver
figura 3.1) es capaz de imitar al procesador y, de hecho, es capaz de recibir el
control del sistema cedido por el procesador. Necesita dicho control para
transferir datos a, y desde, memoria a travs del bus del sistema. Para hacerlo,
el mdulo DMA debe utilizar el bus slo cuando el procesador no lo necesita, o
debe forzar al procesador a que suspenda temporalmente su funcionamiento.
sta ltima tcnica es la ms comn y se denomina robo de ciclo
(cycle
stealing), puesto que, en efecto, el mdulo DMA roba un ciclo de bus.
44
Contador de
datos
Lneas de
datos
Lneas de
direcciones
DMA REQ
Registro de
datos
Registro de
direccin
DMA ACK
INTR
Lgica de
control
Read
Write
45
CPU
Mandar orden de
lectura de bloque
al mdulo DMA
DMA
Hacer otra cosa
DMA
CPU
interfaz de perifrico
Este tipo de interfaz se utiliza para la E/S programada y para la E/S mediante
interrupciones. El 82C55A es un mdulo de E/S de propsito general integrado en
un solo chip y diseado para ser usado con el procesador Intel 8086.
[Stallings,2000]. La figura 3.3 muestra el diagrama general de bloques de la IPP
82C55A de Intel.
46
Buffer de
datos
Bus de
datos
del 8086
Bus interno
de 8 bits
8
A
+ 5 V (Vdd)
Fuente
de
alimentacin
Tierra (GND)
CA
4
A0
A1
Read
Write
Reset
Chip
select
CB
Lgica
de
control
8
Registro
de
control
Buffer de
datos
Figura 3.3 Diagrama de bloques de la IPP 82C55A de Intel.
Las 24 lneas de E/S son programables por el 8086 mediante un registro de control.
El 8086 puede fijar el valor del registro de control para especificar los diversos
modos de operacin y configuraciones. Las 24 lneas se dividen en tres grupos de 8
bits (A, B, C). Cada grupo puede funcionar como un puerto de E/S de 8 bits.
Adems, el grupo C se subdivide en grupos de 4 bits (CA y CB), que pueden usarse
conjuntamente con los puertos de E/S de A y B.
El diagrama de la figura 3.3 es la interfaz interna con el bus del 8086. sta incluye
un bus de datos bidireccional de 8 bits (D0 a D7), usado para transferir datos a y
desde, los puertos de E/S, y para transferir la informacin al registro de control. Las
dos lneas de direcciones (A0 y A1) especifican uno de los dos puertos de E/S o el
registro de control. Una transferencia se producir cuando la lnea de seleccin de
47
chip (CHIP SELECT) se activa junto con la lnea de lectura (READ) o escritura
(WRITE). La lnea RESET se utiliza para iniciar el mdulo.
El procesador escribe en el registro de control para seleccionar el modo de
operacin y para definir las seales, en su caso. En el modo 0 de operacin, los tres
grupos de 8 lneas externan funcionan como tres puertos de E/S de 8 bits. Cada
puerto puede ser designado como de entrada o de salida. En caso contrario, los
grupos A y B funcionan como puertos de E/S, y las lneas del grupo C sirven de
lneas de control para A y B. Las lneas de control tiene dos funciones principales: la
sincronizacin mediante conformidad de seales (handshaking) y la peticin de
interrupciones. La conformidad de un mecanismo sencillo de temporizacin. El
emisor utiliza una lnea de control como lnea de datos listos (DATA READY) para
indicar que hay un dato en las lneas de datos de E/S. El receptor utiliza otra lnea
como reconocimiento (ACKNOLEDGE), para indicar que el dato se ha ledo y que
las lneas de datos se pueden liberar. Se puede seginar otra lnea como lnea de
peticin de interrupcin (INTERRUPT REQUEST) en el bus del sistema.
4.- En el ejemplo 3.2, se presenta una aplicacin de la interfaz 82C55A, para
controlar un terminal con teclado y pantalla.
Ejemplo 3.2: Uso de la interfaz 82C55A para controlar la conexin de un
teclado y una pantalla al microprocesador.
48
Peticin de
interrupcin
C3
A0
A0
A1
A2
A3
A4
A5
A6
C4
C5
R0
R1
R2
R3
R4
R5
Shift (deslazamiento)
Control
Dato preparado
Reconocimiento
82C55A
C0
B0
B1
B2
B3
B4
B5
B6
B7
S0
S1
S2
S3
S4
S5
Backspace
Borrar
C1
C2
C6
C7
Dato preparado
Reconocmiento
Blanking
Borrar lnea
Peticin de
Interrupcin
Figura 3.4 Interfaz teclado/pantalla en el 82C55A
5.- En el ejemplo 3.3 se muestra el uso de la E/S mediante interrupciones, para leer
un bloque de datos desde un dispositivo perifrico y almacenarlo en la memoria.
Ejemplo 3.3: E/S con interrupciones para leer un bloque de datos.
49
Mandar orden de
lectura al mdulo de
E/S
CPU
I/O
Hacer otra cosa
Interrupcin
E/S
Comprobar
el estado
CPU
Condicin de error
Preparado
Leer una palabra del
mdulo de E/S
No
E/S
CPU
CPU
Memoria
Comprobar
el estado
Si
Instruccin siguiente
Figura 3.5. Entrada de un bloque de datos mediante interrupciones.
6.- En el ejemplo 3.4, se presenta una aplicacin del PIC (controlador de
interrupciones programable) 82C59A para conectar varios mdulos de E/S con
el microprocesador Intel 80386.
50
En la figura 3.6 se ilustra el uso del PIC 82C59A para conectar 64 mdulos de E/S.
Debido a que un 82C59A slo puede manejar hasta 8 mdulos, es necesario
disponer de un sistema en cascada para controlar los 64 mdulos de E/S.
La nica responsabilidad del 82C59A es la gestin de interrupciones. Acepta la
solicitud de interrupcin de los dispositivos conectados a l, determina qu
interrupcin tiene la prioridad ms alta, y se lo indica entonces al procesador
activando la seal INTR. El procesador reconoce la solicitud mediante la lnea INTA.
Esto hace que el 82C59 site el vector apropiado en el bus de datos. Entonces, el
procesador puede iniciar el procesamiento de la interrupcin y comunicarse
directamente con el mdulo de E/S para leer o escribir datos.
Si se precisa controlar ms de 8 mdulos, se puede disponer en cascada para
manejar para conectar
51
Controlador de
interrupciones
82C59A esclavo
Dispositivo externo 00
Dispositivo externo 01
Dispositivo externo 07
IR0
IR1
IR2
IR3
IR4
IR5
IR6
IR7
INT
Controlador de
interrupciones
82C59A esclavo
Dispositivo externo 08
Dispositivo externo 09
IR0
IR1
IR2
IR3
IR4
IR5
IR6
IR7
INT
Concentrador de
interrupciones
82C59A maestro
IR0
IR1
IR2
IR3
IR4
IR5
IR6
IR7
INT
Procesador
80386
INTR
Dispositivo externo 15
Controlador de
interrupciones
82C59A esclavo
Dispositivo externo 56
Dispositivo externo 57
Dispositivo externo 63
IR0
IR1
IR2
IR3
IR4
IR5
IR6
IR7
INT
52
7.- En el ejemplo 3.5, se presenta una aplicacin del funcionamiento de un mdulo
DMA, para escribir un bloque de 32 bytes de la direccin de memoria 100 en una
terminal (un terminal de computadora consta de dos partes: un teclado y un
monitor).
Ejemplo 3.5: Transferencia de un bloque de 32 bytes desde memoria a un
terminal de computadora, usando la tcnica de E/S de DMA.
Direccin
CPU
DMA
Memoria
100
Cuenta
Controlador
RS232C
32
4
100
1
Dispositivo
Sentido
Bus
Figura 3.7. Sistema controlador DMA
El chip DMA contiene al menos cuatro registros, todos los cuales pueden ser
cargados por software que se ejecuta en la CPU. El primero contiene la direccin de
memoria que se leer o en la que se escribir. El segundo contiene el nmero de
bytes (o palabras) que se transferirn. El tercero especfica el nmero de
53
dispositivo o espacio de direcciones de E/S que se usar, con lo que se especifica
qu dispositivo de E/S se desea. El cuarto indica si los datos se escribirn en el
dispositivo de E/S o se leern de l.
Para escribir un bloque de 32 bytes de la direccin 100 en una terminal (por
ejemplo, el dispositivo 4), la CPU escribe los nmeros 100, 32 y 4 en los primeros
tres registros del DMA, y luego el cdigo de escribir ( por ejemplo, 1) en el cuarto,
como se muestra en la figura 3.7. Una vez inicializado con estos valores, el
controlador DMA emite una solicitud de bus para leer el byte 100 de la memoria,
del mismo modo como la CPU leera de la memoria. Una vez que obtiene el byte, el
controlador de DMA emite una solicitud de E/S al dispositivo 4, para escribir el byte
en l. Una vez completadas ambas operaciones, el controlador de DMA incrementa
en 1 su registro de direccin y decrementa en 1 su registro de cuenta. Si el registro
de cuenta sigue siendo mayor que 0, se lee otro byte de la memoria y se escribe en
el dispositivo.
Cuando la cuenta por fin llega a 0, el controlador de DMA deja de transferir data y
habilita la lnea de interrupcin en el chip del CPU. Con DMA, la CPU solo tiene que
inicializar unos cuantos registros. Una vez hecho eso, queda libre para hacer otras
cosas hasta que se completa la transferencia,
Ejercicios propuestos
1.- Asuma que un procesador de 16 bits y dos de 8 bits deben conectarse a un bus
del sistema. Considere los siguientes detalles:
Todos los microprocesadores tiene el hardware necesario para cualquier tipo
de transferencia: E/S programada, E/S mediante interrupciones y DMA.
Todos los microprocesadores tienen un bus de direcciones de 16 bits.
Hay dos tarjetas de memoria, de 64 Kbytes cada una, conectada al bus. El
diseador desea que se comparta la mayor cantidad de memoria posible.
El bus del sistema permite un mximo de cuatro lneas de interrupcin y una
de DMA.
Haga las suposiciones adicionales que necesite, y:
a) Establezca las especificaciones del bus en trminos del nmero de lneas.
b) Explique cmo es la interfaz de los dispositivos indicados arriba para
conectarse al bus.
2.- Una impresora de caracteres simples podra usar razonablemente bien una
entrada/salida programada, pues su velocidad es lenta. Comparada con la
unidad central de procesamiento. Sin embargo, la mayora de las impresoras
modernas utiliza el acceso directo a la memoria. Por qu?.
3.- Por qu el acceso directo a la memoria (DMA) sera intil si la computadora
careciera de la capacidad de interrupcin?
54
Consulta en la Web
http://www.modelo.edu.mx/univ/virtech/circuito/paralelo.htm: Contiene informacin
sobre el puerto paralelo del PC.
http://www.iuma.ulpgc.es/users/armas/asignaturas/fundamentos/tutorial/entradas_y_
salidas/index.htm: Es un tutorial con informacin asociada a la E/S del
sistema.
Ejercicios de Autoevaluacin
55
controlador de DMA, el cual a su vez informa al perifrico para que prepare los
datos a transferir.
En una transferencia de entrada, los datos se mueven desde el perifrico (I/O) a
la memoria por el bus de datos sin pasar por el controlador de DMA y sin
intervencin de la CPU. Las lneas de control para leer la I/O (IOR) y para
escribir la memoria (MEMW) son manejadas por el controlador de DMA. De la
misma forma, en una transferencia de salida los datos se mueven desde la
memoria a la I/O y el controlador de DMA maneja las lneas de control para leer
la memoria (MEMR) y para escribir en el perifrico (IOW).
Con base a lo anteriormente expuesto, solucione la manera en que debe
configurarse el sistema para el control de la E/S mediante el uso de la tcnica
DMA y que cumpla con las especificaciones dadas.
2.- La conexin a perifricos en un sistema de microcomputador puede hacerse
mediante el uso de chips especializados de entradas y salidas. Estos chips
tienen como caracterstica comn su programabilidad por software y su conexin
directa a los buses del sistema sin lgica auxiliar.
Parta de la informacin dada anteriormente y resuelva el problema de la
conexin de la PPI (interfaz perifrica programable) tipo 82C55, en un sistema
de microprocesador directamente ligados a los buses.
1.- En la siguiente figura se presenta una solucin que permite el control de la E/S,
mediante el uso de un controlador DMA.
56
Se observa que el sistema configurado, consta de un perifrico con su controlador
de E/S, un controlador de DMA y las seales de pedido y concesin del bus que
permiten alternar el "bus master" entre la CPU y el controlador de DMA
2.- La disposicin de la PPI 82C55 en este tipo de sistema, se muestra a
continuacin:
Bus de datos (8 bits)
Bus de direcciones
(16 bits)s)
8
CS
A0
A1
Puerto A
D0
D7
82C55
Puerto C
A1
A0
__
CS
Puerto B
__
RD
I/OR
__
WR
RESET
I/OW
RESET
Bus de control
57
UNIDAD 4
Interfaz del bus
El PC (Personal Computer), es un sistema de propsito general, que puede ser
ajustado a las necesidades del usuario agregando placas con la electrnica
necesaria, acompaadas de software que permita controlarlas. Un posible
ejemplo es el procesamiento de imgenes de video: basta colocar una tarjeta
adquisidora de video y configurar su software controlador para hacer que una
aplicacin de procesamiento de imgenes, ejecutndose en el PC, pueda
procesar las imgenes adquiridas con la placa.
Se pueden colocar en un sistema PC, el tipo de interfaz (tarjeta) que uno
desee, para controlar los ms variados dispositivos perifricos gracias a las
Ranuras de Expansin o Slots (Conector). Existen varios tipos de Ranuras de
Expansin, de distintas formas y caractersticas. Consisten simplemente en
zcalos que sirven para conectar los bordes de las tarjetas interfaces. El
conjunto de esos zcalos, de un cierto tipo se llama Bus de Sistema. Cada
zcalo se denomina SLOT y da lo mismo, para conectar una tarjeta, un slot que
otro ya que se encuentran conectados en paralelo.
Los computadores poseen distintos tipos de buses que proporcionan
comunicacin a distintos niveles dentro de la jerarqua del sistema. El bus que
conecta los componentes principales del computador (procesador, memoria y
E/S) se denomina bus del sistema. Las estructuras de interconexin ms
comunes dentro de un computador estn basadas en el uso de uno o ms
buses.
En la unidad 4, se presenta el estudio de la Arquitectura de los buses, y la
interconexin de los perifricos.
Objetivo de la Unidad 4: Resolver problemas de implementacin de interfaces
sencillas que se conecten a los buses ISA extendido y/o VESA Local y/o PCI
y/o USB y/o AGP.
58
Actividades recomendadas para el estudio del contenido de la unidad 4.
1.- Examine la tabla 4.1, en ella puede identificar las lecturas de los temas
contentivos de la unidad 4:
TTULO
MATERIAL DE
REFERENCIA
CAPITULO
CONTENIDO
El bus ISA
Arquitectura de los buses
ISA extendido (EISA) y
VESA Local.
El
texto
Los El bus de Interconexin de
Microprocesadores componentes
perifricos
Intel, B. B. Brey.
(PCI)
El bus
(USB)
Puerto
(AGP)
serial
Universal
grfico
acelerado
15
Tabla 4.1
1.- Lea los siguientes aspectos tericos a travs de los cuales reforzar los
conocimientos adquiridos:
SLOT
Ranura de la motherboard que permite expandir la capacidad de una
computadora insertndole placas.
http://www.sitiosargentina.com.ar/Help/diccionario%20tecnico.htm#s
MOTHERBOARD
Placa que contiene los circuitos impresos bsicos de la computadora, la CPU,
la memoria RAM y slots en los que se puede insertar otras placas (de red, de
audio, etc.).
http://www.sitiosargentina.com.ar/Help/diccionario%20tecnico.htm#s
La interfaz PCI
PCI ("Peripheral Component Interconnect") es bsicamente una especificacin
para la interconexin de componentes en ordenadores. Ha dado lugar a un
59
bus PCI, denominado tambin Mezzanine, en espaol entresuelo [1], porque
funciona como una especie de nivel aadido al bus ISA/EISA tradicional de la
placa-base. Es un bus de 32 bits que funciona a 5 V, 33 MHz, con una
velocidad de transferencia inicial de 133 Mb/s (Megabits por segundo).
Aunque seguiremos llamndolo "bus PCI", en realidad no es un bus local; por
contra, ocupa un lugar intermedio (de ah el nombre mezzanine) entre el bus
del procesador / memoria / cache y el bus estndar ISA. El bus PCI se
encuentra separado del bus local mediante un controlador que hace de
pasarela. Cuando la UCP escribe datos en los perifricos PCI (por ejemplo un
disco duro), el controlador/pasarela PCI los almacena en su buffer. Esto
permite que la UCP atienda la prxima operacin en vez de tener que esperar
a que se complete la transaccin. A continuacin el buffer enva los datos al
perifrico de la forma ms eficiente posible.
http://www.zator.com/Hardware/H6_4.htm
Comparacin de los tipos de bus
ISA
EISA VESA PCI
8/16
32 32/64 32/64
5.33/8.33 8.33 33/50 33
5.33/8.33 33 132/264 132/264
5.33/8.33 33 132
132
Bus de datos
Velocidad del bus de datos (MHz)
Velocidad de transferencia (MB/s)
Velocidades de transferencia
implementadas (MB/s)
0-8
0-8 0-2
0-4
Nmero de Slots
No
Si
Si
Si
Soporte de Bus Master
No
No No
Si
Paridad para direcciones y datos
No
No No
Si
Sync, Channel Checks
No
Si
Si
Si
Identificacin de dispositivo & Auto
configuracin
N/A
N/A Si
Trabaja con ISA/EISA
http://www.zator.com/Hardware/H6_4.htm
AGP
El AGP (Accelerated Graphics Port, Puerto de Grficos Acelerados) es una
especificacin de bus que permite que se desplieguen rpidamente grficos en
3-D en computadoras personales comunes. El AGP es una interfaz especial
diseada para transmitir imgenes en 3-D (por ejemplo, de pginas Web o CDROMs) mucho ms veloz y gilmente de lo que es posible hoy en una
ordenador que no sea una costosa estacin de trabajo grfica. La interfaz usa
el almacenamiento principal del ordenador (RAM) para refrescar la imagen del
monitor y soportar el mapeo de texturas, el z-buffering y la mezcla alfa que se
requieren para el despliegue de imgenes en 3-D. El uso que hace el AGP de
la memoria principal es dinmico, lo cual significa que cuando no se est
utilizando para grficos acelerados, la memoria principal se devuelve para uso
del sistema operativo u otras aplicaciones.
http://www.gamarod.com.ar/recursos/glosario/
60
3.- El ejemplo 4.1 muestra la forma usual de utilizar el bus PCI en un sistema
uniprocesador.
Ejemplo 4.1: Uso de un bus PCI en un sistema uniprocesador
En la figura 4.1 se muestra una configuracin usual del bus PCI. En esta
configuracin un dispositivo que integra el controlador DRAM y el adaptador
al bus PCI proporciona el acoplamiento al procesador y la posibilidad de
generar datos a velocidades elevadas. El adaptador acta como un registro
de acople (buffer) de datos, puesto que la velocidad del bus PCI puede
diferir de la capacidad de E/S del procesador.
Procesador
Monitor
Cache
Adaptador/con trolador
de
memoria
DRAM
Audio
Imgenes
en
movimiento
Bus PCI
Grficos
Adaptador
del bus de
expansin
Dispositivos
de E/S
bsicos
CS
Graficador
Bus de expansin
2.- La figura 5.2 muestra una interfaz ISA decodificada en las direcciones 800H
a 803H:
61
34
SD0
29
SD5
28
SD6
27
SD7
___
IOR
___
IOW
SA6
SA7
SA8
SA9
I1
O1
I2
O2
PA4
D5
PA5
D6
PA6
D7
PA7
40
39
38
37
18
PB2
35
A1
PB3
22
RESET
__
CS
PB4
23
PB5
24
PB6
25
PB0
19
20
21
PB7
18
I4
SA11 11
D4
19
I3
SA10 9
PA3
A0
RESET
SA5
D3
PB1
SA1
PA2
__
RD
__
WR
36
SA0
SA4
D2
30
SD4
PA1
31
SD3
SA3
D1
32
SD2
PA0
33
SD1
SA2
4
D0
17
PC0
16
PC1
15
PC2
14
PC3
13
PC4
12
PC5
15
O3
16
O4
I5
O5
I6
O6
I7
O7
I8
O8
17
13
12
11
PC6
10
I9
I10
14
PC7
82C55
16L8
SA12
SA13
SA14
SA15
Figura 4.2 Interfaz de bus ISA decodificada en las direcciones 800H a 803H
62
Ejercicios propuestos
[Stallings 2000]
incluye en su contenido la interconexin con buses,
especficamente la descripcin del bus PCI.
[Hamacher, 2003]. Contiene el estudio de los buses PCI y USB.
Consulta en la Web
http://www.des.udc.es/~emilioj/ECm2/ecm2_p2_t2-doc.pdf: Presenta de una
manera sencilla la interconexin con buses, toma como ejemplos los buses
PCI y USB.
http://www.die.upm.es/cursos/BUSES1.pdf: Incluye informacin interesante
sobre la evolucin de los buses.
http://www.redeweb.com/microbit/articulos/7107125.pdf: Expone aspectos
relacionados con las aplicaciones del bus PCI.
http://www.terra.es/personal/zyryab/buspci.htm: Es un documento que incluye
el diseo de una interfaz PCI para una aplicacin.
Ejercicios de Autoevaluacin
63
MDULO II
FAMILIA DE MICROPROCESADORES, EL COPROCESADOR
ARITMTICO Y LA TECNOLOGA MMX
En este mdulo se incluyen dos unidades que permiten complementar el
estudio de los microprocesadores. En la unidad 5 se presenta la evolucin de
una familia comercial de microprocesadores, en la bsqueda de mejores
prestaciones. Como consecuencia de esta evolucin, se han incorporado
nuevos elementos y tecnologas que amplan su panorama de uso, tales como
el coprocesador aritmtico y la tecnologa MMX, los cuales son tema de
estudio de la unidad 6.
Objetivo del Mdulo II: Analizar con sentido lgico y creativo, la evolucin de
una familia de microprocesadores y programas que resuelvan problemas
aritmticos.
El mdulo II est estructurado en dos unidades:
Unidad 5:
Unidad 6:
Familia de microprocesadores.
El Coprocesador Aritmtico y la Tecnologa MMX
64
UNIDAD 5
Familia de Microprocesadores
La historia de los microprocesadores (procesadores) ha pasado por diferentes
situaciones, siguiendo la lgica evolucin de este mundo. Desde aquel primer
procesador 4004 del ao 1971 hasta el Itanium producido en el 2001. Segn la
opinin de expertos, para el ao 2011 se utilizar procesadores cuyo reloj ir a
una velocidad de 10 GHz (10.000 MHz), contendr mil millones de transistores
y ser capaz de procesar cerca de 100 mil millones de instrucciones por
segundo.
El factor responsable del gran aumento de la velocidad del microprocesador es
la disminucin del tamao de los componentes del microprocesador; esto
reduce la distancia entre componentes, y, por tanto, aumenta la velocidad. Sin
embargo, la verdadera ganancia en velocidad en los ltimos aos se debe a la
organizacin del microprocesador, incluyendo el uso de tcnicas para obtener
mejores prestaciones de servicio.
La unidad 5, presenta la evolucin de la Familia de Microprocesadores Intel,
profundizando en las mejoras de hardware y software que han desarrollado los
diseadores sobre los miembros de esta familia en la bsqueda de un mejor
desempeo. Mediante el conocimiento obtenido, se podr describir importantes
conceptos de diseo que han conducido al desarrollo de computadores ms
potentes.
65
Actividades recomendadas para el estudio del contenido de la unidad 5.
1.- Examine la tabla 5.1, en ella puede identificar las lecturas de los temas
contentivos de la unidad 5:
TTULO
Los
microprocesadores
80186, 80188 y 80286.
MATERIAL DE
REFERENCIA
CONTENIDO
Arquitectura
de
los
80186
/
80188.
Programacin
de
las
mejoras de los 80186 /
El
texto
Los 80188.
Microprocesadores
Ejemplo de interfaz con el
Intel, B. B. Brey.
80C188EB.
CAPITULO
16
Introduccin al 80286.
Introduccin
al
microprocesador 80386.
Registros especiales del
80386
Administracin
de
la
memoria del 80386.
Los
microprocesadores
80386 y 80486.
17
Mecanismo de paginacin
de memoria.
Introduccin al procesador
80486.
Introduccin al procesador
Pentium.
Registros
especiales del Pentium.
Administracin
de
la
Los
memoria
del
Pentium.
El
texto
Los
microprocesadores
Pentium y Pentium Microprocesadores Nuevas instrucciones del
Pentium.
Intel, B. B. Brey.
Pro.
Introduccin
al
microprocesador Pentium
Pro.
Caractersticas
especiales del Pentium
Pro.
Tabla 5.1
18
66
TTULO
MATERIAL DE
REFERENCIA
CONTENIDO
Introduccin
al
texto
Los microprocesador
El microprocesador El
Pentium II.
Microprocesadores Pentium II.
Intel, B. B. Brey.
Cambios al software del
Pentium II.
CAPITULO
19
2.- Una vez ledo el contendido indicado en la tabla 5.1, usted estar en
capacidad de responder lo siguiente:
2.1 Cul fue el primer microprocesador Intel de 32 bits?
2.2 Cuntos perodos del reloj encontramos en un ciclo de bus de los
80186/80188?
2.3 Cuntos bytes de memoria virtual direcciona la
administracin de memoria del microprocesador 80386?
unidad
de
67
3.- Estudie la tabla 5.2 mostrada a continuacin, la cual resume las
especificaciones tcnicas de los microprocesadores Intel:
Fecha de
Velocidad Ancho Nmero de
Memoria
Memoria
presentacin de reloj de bus transistores direccionable virtual
Breve
descripcin
4004
15/11/71
108 KHz.
4 bits
2.300 (10
micras)
640 byte
8008
1/4/72
108 KHz.
8 bits
3.500
16 KBytes
Manipulacin
Datos/texto
8080
1/4/74
2 MHz.
8 bits
6.000
64 KBytes
10 veces las (6
micras)
prestaciones del
8008
1 MegaByte
10 veces las
prestaciones del
8080
5 MHz.
29.000
8086
8/6/78
8 MHz.
16 bits
(3 micras)
10 MHz.
Idntico al 8086
excepto en su
bus externo de
8 bits
5 MHz.
8088
1/6/79
8 bits
29.000
8 MHz.
8 MHz.
134.000
80286
1/2/82
10 MHz.
16 Bits
De 3 a 6 veces
las prestaciones
del 8086
16 Megabytes
1
Gigabyte
4 Gigabytes
(1.5 micras)
12 MHz.
16 MHz.
Microprocesador
275.000
20 MHz.
17/10/85
Intel 386 DX
32 Bits
25 MHz.
(1 micra)
33 MHz.
Microprocesador
275.000
16 MHz.
16/6/88
Intel 386 SX
16 Bits
20 MHz.
Bus capaz de
direccionar 16
bits procesando
Terabytes 32bits a bajo
coste
64
4 gigabytes
(1 micra)
25 MHz.
Microprocesador
10/4/89
33 MHz.
Intel 486 DX
(1 micra, 0.8
32 Bits micras en 50 4 Gigabytes
MHz.)
64
Cache de nivel
1 en el chip
Terabytes
50 MHz.
16 MHz.
Microprocesador
22/4/91
Intel 486 SX
1.185.000
20 MHz.
32 Bits
25 MHz.
33 MHz.
4 Gigabytes
(0.8 micras)
Idntico en
diseo al Intel
486DX, pero sin
Terabytes coprocesador
matemtico
64
68
Fecha de
Velocidad Ancho Nmero de
Memoria
Memoria
presentacin de reloj de bus transistores direccionable virtual
Breve
descripcin
60 MHz.
66 MHz.
75 MHz.
90 MHz.
Procesador
3,1 millones
100 MHz.
22/3/93
Pentium
32 Bits
120 MHz.
Arquitectura
escalable.
Hasta 5 veces
las prestaciones
Terabytes del 486 DX a 33
MHz.
64
4 Gigabytes
(0.8 micras)
133 MHz.
150 MHz.
166 MHz.
200 MHz.
150 MHz.
5,5 millones
Procesador
27/3/95
180 MHz.
4 Gigabytes
64 Bits
PentiumPro
(0.32 micras)
200 MHz.
233 MHz.
7,5 millones
Procesador
7/5/97
266 MHz.
PentiumII
(0.32 micras)
300 MHz.
S.E.C., MMX,
Doble Bus
Indep.,
Terabytes Ejecucin
Dinmica
64
4 Gigabytes
64 Bits
Arquitectura de
ejecucin
dinmica con
procesador de
Terabytes altas
prestaciones
64
69
.
6.- El ejemplo 5.3, presenta la evolucin de la estructura de la cache, en la
evolucin de los microprocesadores de Intel.
Ejemplo 5.3: Evolucin de la estructura cache en los microprocesadores
Intel.
70
El Pentium II incluye dos caches on-chip, una para datos otra para
instrucciones. Cada cache es de 8 KBytes, utilizando un tamao de lnea de 32
bytes y una organizacin asociativa por conjunto de dos vas. Incluye adems
una cache L2 que alimenta a las dos cache L1. La cache L2 es asociativa por
conjunto de cuatro vas, y con tamaos que oscilan entre 256 Kbytes y 1
Mbyte.
La figura 5.2 proporciona una visin simplificada de la estructura del Pentium
II, resaltando la ubicacin de las tres caches.
71
Bus del sistema
Cach L2
(256K-1M)
Cach de
instrucciones
L1 (8-16K)
Captar
Unidad de
Captacin y
decodificacin
de
instrucciones
Cache de datos L1
(8-16K)
Cargar
Unidad de
envo y
ejecucin
Memorizar
Unidad de
retirada
72
Operacin de la unidad de captacin y decodificacin.
La figura 5.3 es un esquema simplificado de la unidad de captacin y
decodificacin del Pentium II. La operacin de captacin consta de tres etapas
encauzadas:
Desde la cache de
instrucciones
Camino de 32 bytes
IFU1
Buffer de instrucciones
(contiene una lnea)
Siguiente IP
16 bytes
Decodificador de
longitud de
instrucciones
IFU2
Prediccin dinmica
de saltos
16 bytes
Etapa de alineacin
para los
decodificadores
IFU3
16 bytes
ID1
Decodificador 0
(complejas)
Decodificador 1
(sencillas)
Decodificador 2
(sencillas)
Secuenciador de
instrucciones de
microcdigo
6 x 118 bits
ID2
Cola de instrucciones
decodificadas
3 x 118 bits
3 x 118 bits
RAT
Prediccin esttica
de saltos
Asignador de registros
Al ROB
73
Esta unidad lleva a cabo dos operaciones en paralelo. IFU2 examina los bytes
para determinar los lmites de las instrucciones; esta es una operacin
necesaria, debido a que las instrucciones del Pentium son de longitud variable.
Si alguna de las instrucciones es de salto, la unidad pasa la direccin de
memoria correspondiente a la unidad de prediccin dinmica de saltos. IFU2
pasa despus el bloque de 16 bytes a IFU3, que es responsable de alinear las
instrucciones para presentarlas al decodificador apropiado.
Etapa IFU3
Para comprender el funcionamiento de esta etapa, es necesario describir la
primera etapa de la unidad de decodificacin de instrucciones, ID1. Esta etapa
es capaz de manejar tres instrucciones en paralelo. ID1 traduce cada
instruccin en de una a cuatro microoperaciones cada una de 118 bits. ID1
contiene tres decodificadores. El primero de ellos puede manejar instrucciones
que se traduzcan hasta en cuatro microoperaciones. El segundo y el tercer
decodificador maneja instrucciones sencillas que correspondan a una nica
microoperacin (instrucciones registro a registro e instrucciones de carga). Si
ms de una instruccin es compleja, las instrucciones deben introducirse en
ID1 en etapas, de tal modo que el segundo y tercer decodificador no se les d
una instruccin compleja. Las instrucciones que requieren ms de cuatro
microoperaciones, se transfieren al secuenciador de instrucciones de
microcdigo (MIS, microcode instruction sequencer), el cual funciona como
unidad microprogramada.
La salida de ID1 o MIS se introduce en la segunda etapa de decodificacin,
ID2, es un bloque de hasta seis microoperaciones a la vez. En este punto, hay
una segunda ocasin para predecir saltos. Las microoperaciones encoladas en
ID2 pasan a travs de una fase de renombramiento de registro (RAT, register
allocator). El RAT transforma las referencias a lo 16 registros de la arquitectura.
Despus el RAT introduce las microoperaciones revisadas al buffer de
reordenacin (ROB, reorder buffer). Las microoperaciones entran al ROB en
orden; despus son enviadas desde el ROB a la unidad de envo/ejecucin sin
orden.
Operacin unidad de envo/ejecucin
La figura 5.4 es un esquema simplificado de la unidad de envo/ejecucin del
Pentium II. La central de reservas (RS, reservation station) es responsable de
recuperar las microoperaciones del ROB., envindolas a su ejecucin y
guardando los resultados de nuevo en el ROB. La RS busca en el ROB
microoperaciones cuyo estado indique que la microoperacin dispone de todos
sus operandos. Si est disponible la unidad de ejecucin que necesita una
microoperacin, la RS capta esa microoperacin y la enva a la unidad de
ejecucin conveniente. Se pueden enviar hasta cinco microoperaciones en un
ciclo.
Hay cinco puertos que unen la RS a las cinco unidades de ejecucin. El puerto
0 se usa para instrucciones con enteros y coma flotante, con la excepcin de
las operaciones sencillas con enteros y la gestin de las predicciones de saltos
74
errneas que se asignan al puerto 1. Las unidades de ejecucin MMX se
asignan tambin a estos puertos. Los puertos restantes se utilizan para cargas
y almacenamientos en memoria.
Cuando se completa una ejecucin, se actualiza la entrada adecuada del ROB,
y la unidad de ejecucin queda disponible para otra microoperacin.
Puerto 4
A/desde
ROB
C
e Puerto 3
n
t
r
a Puerto 2
l
Unidad de ejecucin
de almacenamientos
Unidad de ejecucin
de almacenamientos
A/desde la
cache de
datos
Unidad de ejecucin
de cargas
d
e
Desplazador MMX
ALU MMX
R
e
s
e
r
v
a
s
Puerto 1
ALU MMX
Multiplicador MMX
IEU (complejas)
Puerto 0
FPU (complejas)
FPU (sencillas)
75
1.- Explique cmo el modo pipeline alarga el tiempo de acceso para muchos
accesos de memoria en un sistema basado en el microprocesador 80386.
2.- El avance de la tecnologa ha trado consigo la aparicin de una cantidad
importante de nuevos bienes y servicios de carcter tecnolgico, como los
mviles, ordenadores, los servicios de Internet, etc. El desarrollo de la
investigacin e innovacin permite la constante actualizacin y renovacin
del sector tecnolgico, tal es el caso de la potencia de los
microprocesadores la cual se duplica cada 18 meses.
Con base a la informacin anterior analice la evolucin de la velocidad de
los microprocesadores Intel y describa las mejoras del desempeo
obtenidas en la construccin de computadoras personales.
76
Consulta en la Web
http://www.duiops.net/hardware/micros/microshis.htm: Presenta la historia de
los microprocesadores Intel.
http://www.ac.uma.es/educacion/cursos/telecomunicacion/FundCompST/mas_
material/prestaciones/evolucion_80x86_n05.pdf: Muestra un cuadro en
donde se resume la evolucin de la familia de microprocesadores Intel.
http://petra.euitio.uniovi.es/~i1766818/TUTOR/TUTOR06.htm#1: Describe de
una manera muy sencilla los microprocesadores Intel a partir del modelo
80486.
Ejercicios de Autoevaluacin
77
UNIDAD 6
El Coprocesador Aritmtico y la Tecnologa MMX.
Los procesadores del tipo 8086 solo podan realizar operaciones aritmticas
con nmeros enteros. Para los fraccionarios deban utilizar complicados
artificios, por lo que desde el principio se crearon procesadores especficos y
costosos para operaciones aritmticas con nmeros fraccionarios. Puesto que
la CPU no hace otra cosa que clculos, el estudiante podra estar
preguntndose por qu necesita ayuda para realizarlos. Lo que ocurre es que
la CPU solo puede llevar a cabo operaciones aritmticas bsicas con nmeros
enteros, para procesar operaciones con valores fraccionarios, requiere
bastante tiempo lo que disminuye su velocidad considerablemente, debido
especialmente a que la CPU tiene que ejecutar tambin otras tareas
simultneamente. En aquellos campos de aplicacin donde se requieren
muchas posiciones decimales y los errores de redondeo deben de mantenerse
tan insignificantes como sea posible, resulta imprescindible la utilizacin de un
coprocesador aritmtico.
A partir de la introduccin del 80486, Intel incorpor el coprocesador aritmtico
junto con el procesador principal, por lo que su existencia dej de ser opcional,
convirtindose en estndar. Con cada generacin de CPU utilizada en
sistemas de computadoras personales Intel, tambin introduca su
correspondiente coprocesador.
La unidad 5 del presente material incluye el estudio del funcionamiento de la
familia de coprocesadores aritmticos etiquetada como 80X87. Tambin se
incluye en esta unidad el estudio de la tecnologa MMX, introducida por Intel
en su lnea de procesadores Pentium.
Aunque no se pueda considerar la tecnologa MMX como un procesador en si
mismo, es uno de los mayores pasos que ha dado Intel. Este realce incluye 57
nuevas instrucciones muy optimizadas para tareas multimedia, estas
instrucciones usan una tcnica conocida como SIMD (single-instruction,
multiple-data), es decir una secuencia de instrucciones y mltiples secuencias
de datos que posibilita efectuar la misma operacin, tal como una suma o una
multiplicacin con varios elementos de datos a la vez
Objetivo de la Unidad 6: Analizar programas que resuelvan problemas
aritmticos, para la descripcin de la operacin del coprocesador aritmtico o
de la tecnologa MMX.
Contenido de la Unidad 5: El contenido de la unidad contempla el estudio de
los siguientes temas:
Formato de datos y arquitectura del coprocesador aritmtico.
Conjunto de instrucciones y
programacin del coprocesador
aritmtico.
La tecnologa MMX: Tipos de datos y conjunto de instrucciones.
78
TTULO
MATERIAL DE
REFERENCIA
CONTENIDO
CAPITULO
14
Introduccin
a
la
tecnologa MMX. Tipo de
datos e instrucciones.
Tabla 6.1
2.- Una vez ledo el contendido indicado en la tabla 5.1, usted estar en
capacidad de responder lo siguiente:
2.2 Qu tipos de datos maneja el coprocesador?
2.8 Qu tipos de nmeros flotantes soporta el coprocesador?
2.9 Cules son las directivas que emplea el coprocesador para almacenar
datos?
2.10 Para qu tipo de aplicaciones estn diseadas especficamente las
instrucciones MMX?
3.- Estudie los siguientes contenidos tericos a travs de los cuales
complementar los conocimientos adquiridos con las lecturas indicadas en
la tabla 6.1:
El Coprocesador Aritmtico
Es un microprocesador de instalacin opcional, tambin denominado Unidad de
Punto Flotante, que auxilia al microprocesador en el uso eficiente de programas
de graficacin, clculos matemticos complejos y diseo,
lo cual al
79
especializarse en
dichas funciones acelera la velocidad con que una
computadora puede responder a necesidades tan sofisticadas.
Los coprocesadores estn todava mas crticamente ajustados a la velocidad
del reloj que los procesadores normales. Por lo tanto, debe asegurarse que
cualquier coprocesador que se seleccione para un sistema est diseado para
manejar la frecuencia de reloj de su computadora.
Fuente: El autor.
Instruccin Simple, Mltiples Datos (SIMD)
Las aplicaciones de multimedia y comunicaciones de hoy en da con frecuencia
usan ciclos repetitivos que, aunque ocupan el 10 por ciento o menos del cdigo
total de la aplicacin, pueden ser responsables hasta por el 90 por ciento del
tiempo de ejecucin. El proceso denomina SIMD (Single Instruction Multiple
Data) hace posible que una instruccin realice la misma funcin sobre mltiples
datos, en otras palabras, las instrucciones ejecutan las operaciones
simultneamente en varios datos en paralelo. Un ejemplo de su funcionamiento
en la realidad es con el vdeo: En los procesadores conocidos hasta la llegada
del MMX llegaban 8 pixeles de datos grficos de una en una y se procesaban
separadamente. En los procesadores MMX, los 8 pixeles llegan al procesador
en un paquete de 64 bits y se procesan a todos en una sola instruccin.
Otro ejemplo lo tenemos aqu, en una muestra de sonido de 16 bits, podemos
manipular hasta 4 muestras al mismo tiempo. Sobre una aplicacin estndar, el
rendimiento mejora entre un 10 y un 20 por ciento, pero cuando el programa ha
sido diseado especficamente para utilizar todo el potencial del MMX, el
rendimiento puede llegar al 40 o 60 por ciento.
http://neutron.ing.ucv.ve/revista-e/No3/Ferreira.html
Pixel
Pxel es la abreviatura de la expresin inglesa Picture Element (Elemento de
Imagen), y es la unidad ms pequea que encontraremos en las imgenes
compuestas por mapa de bits. El pxel es la unidad mnima en que se divide
la retcula de la pantalla del monitor y cada uno de ellos tiene diferente color.
Su tono de color se consigue combinando los tres colores bsicos (rojo, verde y
azul) en distintas proporciones. Un pxel tiene tres caractersticas distinguibles:
Forma cuadrada
Posicin relativa al resto de pxeles de un mapa de bits.
Profundidad de color (capacidad para almacenar color), que se
expresa en bits.
http://www2.canalaudiovisual.com/ezine/books/jirimag/1Imag21.htm
Instrucciones MMX del Pentium
Este conjunto de instrucciones est orientado a programacin multimedia. Los
datos de vdeo y audio suelen representarse mediante vectores o matrices
80
grandes, compuestos por datos de longitud reducida (8 o 16 bits), mientras que
las instrucciones convencionales operan normalmente con datos de 32 o 64
bits. Estos son algunos ejemplos: En grficos y en vdeo, cada escena
consiste en una matriz de puntos de imagen, y hay 8 bits para cada punto de
imagen u 8 bits para cada componente de color (rojo, verde, azul) del punto de
imagen. Las muestras de audio suelen estar cuantizadas con 16 bits. Para
algunos algoritmos de grficos de 3D es comn emplear 32 bits para los tipos
de datos bsicos. Para posibilitar le procesamiento paralelo con estos tamaos
de datos, en MMX se definen tres nuevos tipos de datos. Tienen una longitud
de 64 bits, y constan de varios campos de datos ms pequeos, cada uno de
los cuales contiene un entero de coma fija. Estos tipos de datos son los
siguientes:
F000H =
+3000H =
Acarreo
81
Si los dos nmeros representaban intensidad de imagen, el resultado de la
suma hace que la combinacin de zonas sombreadas oscuras aparezca como
ms clara. Esto no es lo que se pretende normalmente. Mediante la aritmtica
con saturacin, cuando la suma produce un desbordamiento, o la resta
produce un desbordamiento negativo, el resultado se fija respectivamente al
mayor o al menor valor representable. Para el ejemplo dado, la aritmtica con
saturacin dara como resultado:
F000H =
+3000H =
Acarreo
1111 1111 1111 1111 = FFFFH
Suma con saturacin
5.- En el ejemplo 6.2 tomado de [Stallings, 2000], se muestra el uso de las
instrucciones MMX en una funcin tpica de video.
Ejemplo 6.2: Composicin de una imagen en una funcin tpica de
vdeo mediante el uso de la tecnologa MMX.
82
Alpha
Alpha
Azul
Azul
Verde
Verde
Rojo
Rojo
Imagen A
Imagen B
Ar3
1. Desempaquetar
bytes
de
componentes de
pixel rojo de las
imgenes A y B
Ar3
Ar2
Ar2
Ar1
Ar1
Ar0
Br3
Ar0
Br3
Br2
Br2
Br1
Br1
Sustraccin
2. Restar la imagen
B de la imagen
A
r3
r2
r1
r0
fade
fade
fade
fade
3.Multiplicar
el
resultado por el
valor de fade
fade x r3
fade x r2
Br3
Br2
fade x r1
Br1
Br0
fade x r0
de la imagen B
5.Volver
a
empaquetar en
bytes los nuevos
pxels
compuestos
nuevor3
nuevor2
nuevor1
r3
r2
nuevor0
r1
r0
Br0
Br0
83
A continuacin se presenta el cdigo MMX que ejecuta las operaciones antes
indicadas:
PXOR
MOVQ
MM7, MM7
MM3, fad_val
MOVD
MM0, imagenA
MOVD
MM1, imagenB
PUNPCKBLW
PUNPCKBLW
PSUBW
PMULHW
MM0, MM7
MM1, MM7
MM0, MM1
MM0, MM3
PADDDW
PACKUSWB
MM0, MM1
MM0, MM7
Ejercicios propuestos
84
Ejercicios de Autoevaluacin
MM1, MM2
1.- En la seccin del programa dado, la instruccin FLD RD, carga el valor
almacenado en RAD en ST.
2.- Solucin:
85
MDULO III
PROGRAMACIN DEL MICROPROCESADOR
El mdulo III est conformado por las unidades 7 y 8. El estudio de estas
unidades, permite desarrollar en el estudiante las competencias necesarias en
la solucin de problemas, haciendo uso de los microprocesadores.
El desarrollo de la solucin implicar, la codificacin de algoritmos en el
lenguaje ensamblador del microprocesador Intel 80286 y la implementacin del
programa codificado en un microprocesador de este tipo. El programa as
codificado, se ejecutar en un software simulador, el cual proporciona un
modelo real de un microprocesador Intel 80286.
Objetivo del Mdulo III:
Implementar con sentido lgico y creativo,
programas especficos, haciendo uso de los microprocesadores.
El mdulo III est estructurado en dos unidades:
Unidad 7:
Unidad 8:
86
UNIDAD 7
Programacin en Lenguaje Ensamblador
Los programas que convierten un programa de usuario escrito en algn
lenguaje, a otro lenguaje, se llaman traductores. El leguaje en el que est
escrito el programa original se llama lenguaje fuente, y el lenguaje a que se
convierte se llama lenguaje objeto o lenguaje de mquina. El lenguaje fuente
es en lo esencial una representacin simblica (lenguaje mnemotcnico) de un
lenguaje de mquina numrico, el traductor se llama lenguaje ensamblador.
Las computadoras siguen utilizando el lenguaje de mquina para procesar los
datos, pero los programas ensambladores traducen antes los smbolos de
cdigo de operacin especificados a sus equivalentes en lenguaje de mquina.
Este proceso es al que se le denomina ensamblado de cdigo. Para facilitar la
elaboracin de programas a este nivel, se desarrollaron los Ensambladores y
el Lenguaje Ensamblador.
En la unidad 5 se presenta el uso del lenguaje ensamblador, especficamente
el correspondiente al microprocesador 80286. El estudio de esta unidad
afianzar en el estudiante los conocimientos obtenidos en el curso,
especialmente en lo que respecta a la programacin
Objetivo de la Unidad 7: Codificar algoritmos, utilizando un lenguaje
ensamblador y las tcnicas apropiadas, para la resolucin de un problema
especfico.
Contenido de la Unidad 7: El contenido de la unidad contempla el estudio de
los siguientes temas:
Lenguaje ensamblador, Lenguaje de mquina
Mnemnicos, Conjunto de instrucciones de un
microprocesador especfico
Programacin modular
Codificacin de algoritmos en un lenguaje ensamblador
especfico
87
Actividades recomendadas para el estudio del contenido de la unidad 7.
1.- Lea el captulo 7 del texto Los Microprocesadores Intel, B. B. Brey.
2.- Lea los siguientes contenidos tericos:
Lenguaje de Mquina
Es el sistema de cdigos directamente interpretable por un circuito
microprogramable, como el microprocesador de un ordenador o el
microcontrolador de un autmata (un PIC). Este lenguaje est compuesto por
un conjunto de instrucciones que determinan acciones a ser tomadas por la
mquina. Un programa de computadora consiste en una cadena de estas
instrucciones de lenguaje de mquina (ms los datos). Estas instrucciones son
normalmente ejecutadas en secuencia, con eventuales cambios de flujo
causados por el propio programa o eventos externos. El lenguaje de mquina
es especfico de cada mquina o arquitectura de la mquina, aunque el
conjunto de instrucciones disponibles pueda ser similar entre ellas.
http://es.wikipedia.org/wiki/Lenguaje_m%C3%A1quina
Mnemnico
En Informtica un Mnemnico es una palabra que sustituye a un cdigo de
operacin (Lenguaje de mquina), con lo cual resulta ms fcil la
programacin, es de aqu de donde resulta el concepto de lenguaje
ensamblador.
Un ejemplo comn de mnemnico es la instruccin MOV, que le indica al
microprocesador que debe de mover datos de un lugar a otro. El
microprocesador no entiende palabras, sino que nmeros binarios, por lo que
es necesario la traduccin del mnemnico a cdigo objeto.
http://es.wikipedia.org/wiki/Mnem%C3%B3nico
Lenguaje Ensamblador.
Una CPU puede interpretar y ejecutar instrucciones de mquina. Estas
instrucciones son, simplemente, nmeros binarios almacenados en el
computador. Sin un programador quisiera programar directamente en lenguaje
de mquina, necesitara introducir los programas como datos binarios.
Considere la sencilla sentencia BASIC:
N=I+J+K
Suponga que queremos programar esta sentencia en un lenguaje de mquina y
dar a I, J y K los valores iniciales 2,3, y 4, respectivamente. La forma de hacer
esto se muestra en la figura 7.1a. El programa empieza en la posicin 101
88
(hexadecimal). Se reserva memoria parea las cuatro variables a partir de la
posicin 201. El programa consta de cuatro instrucciones:
1.
2.
3.
4.
89
Direccin
101
102
103
104
0010
0001
0001
0011
Contenido
0010
0000
0010
0000
0010
0000
0010
0000
0001
0010
0011
0100
101
102
103
104
LDA
ADD
ADD
STA
201
202
203
204
201
202
203
204
0000
0000
0000
0000
0000
0000
0000
0000
0010
0011
0100
0000
201
202
203
204
DAT
DAT
DAT
DAT
2
3
4
0
0000
0000
0000
0000
Direccin
101
102
103
104
Contenido
2201
1202
1203
3204
Etiqueta
FORMUL
Operacin
LDA
ADD
ADD
STA
Operando
I
J
K
N
201
202
203
204
0002
0003
0004
0000
I
J
K
N
DATA
DATA
DATA
DATA
2
3
4
0
Conjunto de instrucciones
Un conjunto de instrucciones repertorio de instrucciones ISA (del ingls
instruction set architecture -arquitectura del conjunto de instrucciones-) es una
especificacin que detalla las instrucciones que una CPU de un ordenador
puede entender y ejecutar, o el conjunto de todos los comandos
implementados por un diseo particular de una CPU. El trmino describe los
aspectos del procesador generalmente visibles a un programador, incluyendo
los tipos de datos nativos, las instrucciones, los registros, la arquitectura de
memoria y las interrupciones, entre otros aspectos.
La arquitectura del conjunto de instrucciones (ISA) se emplea a veces para
distinguir este conjunto de caractersticas de la microarquitectura, que son los
elementos y tcnicas que se emplean para implementar el conjunto de
instrucciones. Entre estos elementos se encuentras las microinstrucciones y los
sistemas de cach.
Procesadores con diferentes diseos internos pueden compartir un conjunto de
instrucciones; por ejemplo el Intel Pentium y AMD Athlon implementan
90
versiones casi idnticas del conjunto de instrucciones x86, pero tiene diseos
internos completamente opuestos.
http://es.wikipedia.org/wiki/Conjunto_de_instrucciones
91
en el cual existan cuatro anillos de ejecucin y divisin de memoria mediante
tablas de segmentos. En este modo trabajaban las versiones de 16 bits del
sistema operativo OS/2.
A pesar de su gran popularidad, hoy en da quedan pocos ordenadores con el
i286 funcionando. El sucesor del i286 fue el Intel 80386, de 32 bits.
http://es.wikipedia.org/wiki/Intel_80286
3.- En el ejemplo 7.1, se muestra un programa fuente que permite desplegar un
mensaje en pantalla mediante llamadas al DOS.
Ejemplo 7.1: Programa fuente que imprime un mensaje en la pantalla.
INICIO:
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET SALUDO
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE
ENDS
END INICIO
92
La descripcin del programa es como sigue:
Las ltimas dos instrucciones del segmento CODE usa la funcin 4CH
de MS-DOS para regresar el control al sistema operativo. Existen
muchas otras formas de hacer esto, pero sta es la ms recomendada.
5.- El ejemplo 7.2 muestra la importancia del uso de las directivas PUBLIC y
EXTRN en la programacin modular.
Ejemplo 7.2: Uso de directivas PUBLIC y EXTRN.
93
MODULO PRINCIPAL: MAIN.ASM
NAME
MAIN
PUBLIC EXIT
EXTRN PRINT:NEAR
STACK SEGMENT WORD STACK 'STACK'
DW
64 DUP(?)
STACK ENDS
DATA
DATA
CODE
START:
MOV AX, DATA
MOV DS, AX
JMP PRINT
EXIT:
MOV AH, 4CH
INT 21H
CODE ENDS
END START
SUBMODULO: TASK.ASM
NAME TASK
PUBLIC PRINT
EXTRN EXIT:NEAR
DATA
SEGMENT WORD PUBLIC 'DATA'
ENTRADA DB
"Entrando a un submodulo....",13,10,"$"
SALIDA DB
".......saliendo del submodulo.",01,07,13,10,"$"
DATA
ENDS
CODE
PRINT:
MOVE AH,06H
; Funcin para borrar pantalla
MOV
AL,0
; todas las lneas
MOV
CX,0
; de 0,0
MOV
DH,24D
MOV
DL,79D
MOV
BH,0
; atributo en lneas vacas
INT
10H
; Ser vicio de e/s vdeo
MOV
DX, OFFSET ENTRADA
MOV
AH,09H
INT
21H
MOV
DX, OFFSET SALIDA
INT
21H
94
CODE
JMP
ENDS
END
EXIT
Ejercicios propuestos
1.- Codifique una rutina en el lenguaje ensamblador del 80286 que permita el
ingreso de caracteres, verificando si se ha oprimido una tecla pero sin
esperar que ocurra. Si esto ha ocurrido entonces devuelve su codificacin
ASCII en un registro; en caso contrario devuelve cero.
2.- Considere una cadena como una secuencia de caracteres terminada por un
byte cero, y se requiere calcular su longitud.
Con base a lo antes planteado, codifique en el lenguaje ensamblador 80286
un algoritmo que permita calcular la longitud de la cadena de caracteres.
Consulta en la Web
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblador/68H
C11.html:Contiene informacin interesante relacionada con el lenguaje
ensamblador.
http://www.alpertron.com.ar/80286.HTM: Describe el microprocesador 80286 y
las instrucciones adicionales que controlan el sistema de memoria
virtual.
Ejercicios de Autoevaluacin
1.- Desarrolle un procedimiento llamado SUMS, que permita sumar el valor del
contenido de los registros BX, CX y DX con el contenido de AX. Utilice la
definicin de procedimiento cercano (NEAR).
95
2.-Codifique un programa que despliegue OK en la pantalla del monitor,
utilizando para ello el procedimiento DISP mostrado a continuacin:
DISP
DISP
PROC
MOV
INT
RET
ENDP
NEAR
AH, 2
21H
SUMS
PROC
NEAR
ADD AX, BX
ADD AX, CX
ADD AC, DX
RET
ENDP
TINY
MOV
MOV
CALL
MOV
CALL
.EXIT
END
96
UNIDAD 8
Implementacin de Programas en el Microprocesador
Una vez que el estudiante se ha familiarizado con el repertorio de instrucciones
de una arquitectura especfica, y ha desarrollado una solucin a un problema
especfico mediante un programa, se pretende en la unidad 8, implementar el
programa codificado en un software simulador que le permitir familiarizarse
con esta arquitectura haciendo uso de las instrucciones.
Objetivo de la Unidad 8: Implementar un programa en un microprocesador,
resolviendo un problema dado.
Contenido de la Unidad 8: El contenido de la unidad contempla el estudio de
los siguientes temas:
Uso del software simulador.
Ejecucin de programas en el software simulador.
97
Actividades recomendadas para el estudio del contenido de la unidad 7.
1.- A continuacin se presenta informacin relacionada con dos software de
simulacin de la arquitectura del microprocesador Intel 8085. Se
recomienda su lectura por parte del estudiante, ya que esto le permitir
visualizar el modelo de programacin y la manera como opera este
microprocesador.
Cabe destacar que en la red Internet se encuentran disponibles estas
aplicaciones, algunos podrn descargarse en forma gratuita para su uso,
otros en cambio se ofertan para la venta.
Internet
en
la
direccin:
http://www.insoluz.com/Sp/Micro/Micro.html
98
99
100
Figura 8.1. Simulador del microprocesador 8085 Editor de textos del ensamblador
101
Simulador del microprocesador 8085 versin 1.0.0
Desarrollado por Pedro J. Casanova Pelez, se encuentra disponible en forma
gratuita
en
la
siguiente
direccin
electrnica:
http://voltio.ujaen.es/casanova/simu8085/sim8085.htm .
Este simulador presenta las siguientes caractersticas:
102
Descargar
Volver a pgina anterior
103
Ejercicios propuestos
Consulta en la Web
Encontrar
http://www.softwareforeducation.com/sms32v50/simulator.htm:
informacin con un software simulador de microprocesador para
principiantes.