MICROPROCESADOR 80386.

Anuncio
Microprocesadores. Guía 11
1
Facultad: Ingeniería.
Escuela: Electrónica.
Asignatura: Microprocesadores.
Lugar de ejecución: Microprocesadores (Edificio 3, 2da
planta).
MICROPROCESADOR 80386.
Objetivos específicos
•
•
Conocer el hardware del microprocesador 80386.
Verificar el estado de los buses de control, datos y direcciones del microprocesador 80386 al
comunicarse con dispositivos de memoria y E/S.
Materiales y equipo
•
•
•
1 Unidad de base USB Lab –Volt.
1 Tablero de circuitos MICROPROCESADOR DE 32 BITS.
1 Punta de prueba para la sonda lógica del tablero de circuitos MICROPROCESADOR DE 32
BITS.
Introducción Teórica
En la Figura 1(a) se muestra el diagrama de base del microprocesador 80386DX que esta encapsulado en
un PGA (rejilla de terminales) de 132 terminales y que físicamente se ve como se muestra en la Figura
1(b).
Este microprocesador direcciona 4G bytes de memoria a través de su canal de datos de 32 bits y su canal
de direcciones también de 32 bits, necesita una alimentación de 5 Voltios al igual que los miembros
anteriores de la familia x86, pero puede manejar mayor corriente.
En la Figura 2 se muestra el bloque de CPU del tablero de circuitos MICROPROCESADOR DE 32 BITS
donde está el microprocesador 80386, como leyó en la guía 9, debido al difícil acceso a los pines del
microprocesador, muchas de las señales de este son accesibles a través de tres tiras de pines llamadas
JP1, JP2 y JP3.
2
Microprocesadores. Guía 11
Figura 1 Microprocesador 80386DX (a) Diagrama base, (b) vista física superior e inferior.
Figura 2. Bloque CPU del tablero de circuitos MICROPROCESADOR DE 32 BITS
En la tira de pines JP3 como en otras tiras de pines en el tablero aparecen algunos de los nombres
seguidos por el símbolo #, lo que indica que es una señal activa en bajo.
Microprocesadores. Guía 11
3
A continuación se describe la función de algunos de las señales que son accesibles a través de las tiras
de pines JP1, JP2 y JP3 .
•
JP1.


•
JP2

A2-A31: Pines de salida que indican las direcciones de memoria y de puertos de E/S.
A0-A1: Estos en realidad no son pines que estén físicamente en el microprocesador, sino
que se usan internamente para generar las cuatro líneas de habilitación BE0# hasta BE3#
que se describen más adelante.
Estas líneas pueden verse en los 16 leds verdes del tablero cuando la CPU trabaja en
ciclo simple, hay un interruptor que sirve para ver la parte baja (A0 a A15) o la parte
alta (A16-A31)
D0-D31: Pines de entrada y salida que sirven para transferir datos entre el
microprocesador y los sistemas de memoria y de entrada/salida.
Estas líneas pueden verse en los 16 leds amarillos del tablero cuando la CPU trabaja
en ciclo simple, hay un interruptor que sirve para ver la parte baja (D0 a D15) o la
parte alta (D16-D31)
•
JP3
 D/C#: Datos/Control, es alta para transferir datos y baja para
trasferencia de instrucción.
 BE0# a BE3 #: sirve para seleccionar cual byte del bus de datos de 32 bits son los que
realmente se usan en la transferencia:
BE0# para D0-D7.
BE1# para D8-D15.
BE2# para D16-D23.
BE3# para D24-D31.
 RDY#: entrada que sirve para que un dispositivo externo indique que reconoció una
petición.
 ADS#: salida que le indica a un dispositivo externo que hay información válida en el bus
de dirección.
 BS16#: Si esta activada solo trabaja con un bus de datos de 16 bits (D0 a D15) y si esta
desactivada trabaja con los 32 bits.
Una de las herramientas para verificar el estado de los pines es la sonda lógica la cual puede mostrar tres
estados ALTO, BAJO y PULSO, el led de PULSO se enciende momentáneamente cuando la señal cambia
de estado.
4
Microprocesadores. Guía 11
Procedimiento
PARTE I: BUS DE DATOS Y DIRECCIONES
1) Esta guía se hará en parejas.
2) Verifique las condiciones iniciales de operación del tablero de circuitos de la misma forma que
lo hizo en la parte II de la guía 9.
3) Para poder ver el estado de los buses de direcciones y datos en los leds, ajuste el interruptor
CICLO SIMPLE en la posición de activado (ENC.).
4) Coloque en BAJO los interruptores selectores de LEDs de datos y dirección y presione el botón
RESET, los leds de direcciones y datos del tablero deben de estar de la misma forma que los
mostrados en la Figura 3.
Figura 3.
5) Coloque en ALTO el interruptor selector de dirección para ver la parte alta del bus de
direcciones, el programa en este momento está apuntando a la dirección FFFF FFF0h, ya que
es en esa dirección donde la CPU llega después de un reset.
6) Coloque en ALTO el interruptor del selector de datos para ver la parte alta del bus de datos,
anote el dato completo ____ 02EAh, El byte EAH es un instrucción de transferencia que la CPU
manda llamar inmediatamente después de la reinicialización y el byte superior 02h es parte de
la dirección del programa de inicialización.
7) En la Figura 4 se muestra un listado parcial del programa de inicialización de la CPU, como
puede ver inicia en la dirección FFFF FFF0h que tiene el código máquina 02 EAh (estos datos
se ven al revés porque en la memoria se guardan los datos desde el menos significativo al más
significativo, y los leds están ordenados para ver el más significativo primero y luego el menos
significativo)
Microprocesadores. Guía 11
5
Figura 4.
8) Presione el botón blanco que esta junto a la pantalla LCD llamado PASO para ejecutar la
instrucción, ahora la dirección en los leds debe ser FFFF FFF2 ya que son ciclos de bus de 16
bits, las instrucciones se extraen de 1 palabra (2 bytes) a la vez y en los leds de dato debe verse
00 01 pero en orden inverso es decir 01 00.
9) Presione de nuevo el botón PASO. Por lo dicho anteriormente la dirección a la que apunta
ahora debe ser FFFF FFF4 y el dato debe ser XX FC, ya que extrae FC y el byte que le sigue,
que en este caso no importa ya que no es parte de la instrucción.
10) Presione de nuevo el botón PASO. Aquí contrario a lo esperado el programa no salta a la
dirección 000F C012 ya que siempre que el 80386 decodifica una instrucción,
simultáneamente extrae la próxima instrucción, que se puede conformar de una o varias
palabras, por esta razón puede necesitar varios pasos para alcanzar la dirección a la cual la
CPU se traslada, así que presione varias veces el botón PASO hasta que vea en la parte baja
del bus de direcciones el dato C012h.
11) Pase a ALTO el interruptor selector de dirección y confirme que está la dirección 000Fh, anote
lo que tiene el bus de datos.
Bus de datos: ______ _______.
¿Qué instrucción ejecutará la CPU si presiona el botón PASO?__________ (Vea el programa en la
Figura 4).
PARTE II: BUS DE CONTROL
12) El programa de inicialización de la CPU extrae una serie de instrucciones de la ROM monitor,
por lo que se puede ver el comportamiento de las líneas de control asociadas con las
transferencias con la memoria en este caso la ROM, para ello se va a utilizar la sonda lógica,
coloque la punta de prueba en los pines de la sonda lógica que esta junto al teclado.
13) Presione el botón de RESET y luego conecte la sonda lógica en el pin de ADS# de la tira de
pines JP3. ¿En qué estado se encuentra este pin? _______________.
6
Microprocesadores. Guía 11
14) Presione el botón PASO unas cinco veces mientras observa el comportamiento de los leds de
la sonda lógica, ¿Los leds indican que ADS# es siempre alta, siempre baja o cambia de estado
(pulso) en cada paso? ______________________________
15) Repita los pasos del 12 y 13 para las señales BS16#, RDY#, M/IO# y W/R# y anote lo
observado en la Tabla 1.
Pin
BS16#
RDY#
M/IO#
W/R#
Estado inicial
Estado al ejecutar paso a paso
Tabla 1.
16) Pase el interruptor CICLO SIMPLE a la posición apagado (APA.) y ponga los interruptores de
datos y direcciones en la posición BAJO.
17) Introduzca a través del teclado el programa de la Tabla 2, este programa saca las letras de la
“a” a la “f”, por el puerto que está conectado a la pantalla LCD.
NOTA: Revise la guía 9 si no recuerda como introducir datos con el teclado.
Dirección
04000
04002
04004
04006
04008
0400A
0400C
0400E
Código
máquina
B0
E6
B0
E6
FE
3C
75
EB
01
51
61
55
C0
67
F8
F0
Ensamblador
INICIO: MOV AL,01H ;saca el dato 01 al puerto 51
OUT AL,51 ; para limpiar la pantalla
MOV AL,'a' ; saca por el puerto 55
OTRO: OUT AL,55 ; el dato 'a'
INC AL ;incrementa el ASCII del carácter
CMP AL,'g' ;compara si ya llegó a 'g'
JNE OTRO ;si no es así salta a OTRO
JMP INICIO ;si ya se llego a 'q' va a INICIO
Tabla 2. Programa que muestra caracteres en la pantalla LCD
18) De clic en el botón RESET, presione la tecla GO e introduzca la dirección del programa
0000:4000 para ejecutar el programa.
19) Los datos se muestran en la pantalla LCD muy rápido por lo que no son visibles, para poder
ver los datos y como se comportan el bus de control del microprocesador se va a pasar a la
CPU a trabajar a CICLO SIMPLE, para ello pase ese interruptor a la posición de ENC.
Microprocesadores. Guía 11
7
20) El programa pudo haberse detenido en cualquier parte, presione el botón PASO varias veces y
vea en la pantalla LCD como aparecen los caracteres en pantalla y luego de aparecer la letra
“f”, se limpia la pantalla para volver a mostrar los caracteres desde la “a” a la “f”.
21) Conecte la sonda lógica al pin BS16# y presione varias veces el botón PASO ¿Qué observa?
________________________________________________________________________________.
22) Presione el botón PASO hasta que aparezca en la parte baja del bus de direcciones la
dirección de inicio (4000).
23) Conecte la sonda lógica al pin M/IO# en qué estado se encuentra: ____________.
24) No pierda de vista los leds de la sonda lógica y presione el botón PASO hasta que vea un
cambio de estado, anote lo que tiene el bus de direcciones y datos.
Bus de dirección: _____ _____ Bus de datos: _____ _____.
25) Siga presionando el botón PASO hasta que vea de nuevo el cambio de estado del paso 24 y
anote lo que tiene el bus de direcciones y de datos.
Bus de dirección: _____ _____ Bus de datos: _____ _____.
26) Continúe presionando el botón PASO y esta vez vea lo que pasa en la pantalla LCD cuando el
pin M/IO# cambia de estado. Anote sus observaciones:__________________________________
________________________________________________________________________________
27) Presione el botón PASO hasta que aparezca en la parte baja del bus de direcciones la
dirección de inicio (4000).
28) Conecte la sonda lógica al pin W/R# en qué estado se encuentra: ____________.
29) Presione el botón PASO hasta que vea un cambio de estado, Anote lo que tiene el bus de
direcciones y datos.
Bus de dirección: _____ _____ Bus de datos: _____ _____.
30) Continúe presionando el botón PASO y esta vez vea lo que pasa en la pantalla LCD cuando el
pin W/R# cambia de estado. Anote sus observaciones:___________________________________
________________________________________________________________________________
8
Microprocesadores. Guía 11
Análisis de Resultados
1. Según la función del pin ADS# ¿Qué indica la información que da la sonda lógica al ejecutar el
programa paso a paso?
2. Según la función de cada pin de la Tabla 1 ¿Qué indica la información que da la sonda lógica?
3. Cuando se ejecuto el programa de la Tabla 2 ¿Qué indica el estado del pin BS16#?
4. ¿Por qué las señales en los pines M/IO# y W/R# reaccionaban de esa forma al ejecutar el programa
de la Tabla 2?
5. ¿Por qué en el programa de inicialización de la CPU, W/R# no cambiaba de estado y en el programa
de la Tabla 2 si había un cambio?
6. Presente los datos y las preguntas que se le pedían en el procedimiento.
Bibliografía
•
http://www.alpertron.com.ar/HW386.HTM (Última visita 07/01/2011).
•
Brey, B. B. “Los Microprocesadores Intel. 8086 / 8088, 80186, 80286, 80386 y 80486.
Arquitectura, programación e interfaces”, tercera edición Prentice Hall, MéxicoDF, 1997
Biblioteca UDB 001.6404 B847 1997.
•
Curso MICROPROCESADOR DE 32 BITS, Ver 5.01.3, Unidades “Funcionamiento de los buses”,
“Interfase con la memoria” e “interfase con E/S”
Microprocesadores. Guía 11
Hoja de cotejo:
11
Guía 11: MICROPROCESADOR 80386.
Alumno:
Puesto No:
Docente:
GL:
Fecha:
EVALUACION
%
1-4
5-7
Conocimiento deficiente de
los siguientes fundamentos
teóricos:
-Ingreso de un programa a
través del teclado del tablero.
-Funciones de los pines de
control del 80386.
-Funcionamiento de una
sonda lógica.
Cumple sólo con uno o
ninguno de los siguientes
criterios:
-Verifica las condiciones
iniciales del tablero para
operar correctamente.
-Interpreta la información en
los buses de datos y
direcciones de 80386.
-Interpreta el estado de los
pines de control del 80386
Conocimiento y
explicación
incompleta de los
fundamentos
teóricos.
Conocimiento
completo y
explicación clara de
los fundamentos
teóricos.
Cumple sólo con
dos de los
criterios.
Cumple con los tres
criterios.
2.5
-Es un observador pasivo.
-Participa
ocasionalmente
pero sin
coordinarse con su
compañero.
-Participa de forma
propositiva e integral
en toda la práctica.
2.5
-Es ordenado pero no hace
uso adecuado de los
recursos.
-Hace uso
adecuado de los
recursos de
manera segura,
pero es
desordenado.
-Hace un manejo
responsable y
adecuado de los
recursos de acuerdo a
pautas de seguridad e
higiene.
CONOCIMIENTO
35
APLICACIÓN
DEL
CONOCIMIENTO
60
ACTITUD
TOTAL
100
8-10
Nota
9
Descargar