Sie sind auf Seite 1von 5

Universidad Mayor de San Andrés ETN 801 - Microprocesadores

Facultad de Ingeniería Examen Final – Acoplamiento


Ingeniería Electrónica Ing. Marcelo Ramírez M.

EF Sem II/18 11/12/18

Nombre ________________________________________ CI: ________________

EJERCICIOS A RESOLVER

1. Considere un computador Microsex que ya cuenta con:

ROM: 6 KBytes al inicio del mapa


RAM: 1 KByte al final del mapa

Procesador: Microsex de 8 bits.


BDIR: A15:0
BDAT: D7:0
BCON: RD, WR, -M/P

Calcule la capacidad de expansión de memoria si en el diseño original del computador


no están conectadas las líneas A15 y A14 y tampoco serán conectadas.

2. Describa cómo funciona la interrupción NMI en el procesador 6800.

3. Diseñe la expansión de memoria de 8 KBytes para un computador (con el mismo


procesador Microsex del ejercicio 1) con las siguientes características:

Memoria: RAM1: 2 KBytes mapeada al inicio del espacio de direccionamiento


ROM: 5 KBytes mapeada a partir de la dirección 8000H
RAM2: 12 KBytes mapeada al final del mapa de memoria

Indique las posibles ubicaciones y elija una. Elabore los cinco pasos de diseño
incluyendo los bancos de memoria ya existentes en el computador.

4. Para el procesador 6800, escriba una subrutina de servicio a la IRQ, disparada por
una señal de interrupción de frecuencia 6 KHz para generar un contador de décimas
segundo en el acumulador B.

OBSERVACIONES

Elabore sus respuestas con estilo ingenieril, es decir, mucha pulcritud y orden. Las
respuestas desordenadas y/o ilegibles podrían ser nulas. No omita pasos de diseño.
Nombre Directiva Argumento
Emplee una sintaxis correcta en la elaboración de los
programas fuente. Las directivas a usarse están en la
.datos
tabla de la derecha: .prog
.org dirección
Los pasos de diseño deben ser muy concretos y no ;
extensos. Evite la lata y las definiciones de muchas
etiqueta
variables. Estas deficiencias impactarán negativamente :
en la calificación del ejercicio. nom_var .db valor8
nom_var .dw valor16
Este examen refleja y evalúa el subproceso estudio- nom_var .block cantidad
aprendizaje realizado en laboratorio y validará los
resultados obtenidos en las sesiones prácticas. nom_ctte .equ valor
.fin

Página 1 de 1
ROM 6K - La disposición óptima es 4K+2K,
en ese orden.

Al no conectar A15 y A14, el espacio de


direccionamiento se reduce a 16K.

Por tanto 16K-7K = 9K de espacio libre para


expansión.

Cuando ocurre una interrupción NMI, es decir, un periférico activa un nivel bajo en la entrada NMI del 6800,
el procesador se anoticia siempre. Antes de atender a la interrupción el 6800 concluye la ejecución de la
instrucción en curso y luego sigue el siguiente procedimiento:

1. Calcula la dirección de retorno


2. Apila dirección de retorno
3. Apila el registro índice IX
4. Apila acumulador A
5. Apila acumulador B
6. Apila registro de banderas RCC
7. Inhibe interrupciones, I=1
8. Obtiene la dirección de la subrutina de servicio del vector NMI (dir FFFC)
9. Carga la dirección de la subrutina en el puntero de instrucciones
10. Ejecuta la subrutina, al final de la subrutina se ejecuta la instrucción de retorno RTI.
11. La instrucción recupera los contenidos de toda la información apilada y, finalmente, carga la
dirección de retorno en el puntero de instrucciones
12. El procesador continúa con la ejecución del programa que fue interrumpido.
1. Esquema de solución

2. Mapa de direccionamiento

3. Tabla de direccionamiento

4. Ecuaciones del descodificador

 
sel _ ram1  rd  wr   m / p  a1 5  a1 4  a13  a1 2  a1 1
sel _ roma  rd  m / p   a  a  a  a
15 14 13 12

sel _ romb  rd  m / p   a  a  a  a  a  a
15 14 13 12 11 10

sel _ ramex  rd  wr   m / p   a  a  a15 14 13

sel _ ram2a  rd  wr   m / p   a  a  a  a


15 14 13 12

sel _ ram2b  rd  wr   m / p   a  a  a15 14 13


5. Diagrama de bloques
1. Esquema de solución

Con una frecuencia de interrupción de 6KHz, se require contar 600 pulsos por cada décima de segundo.
Se necesita un contador de pulsos desde 600 a 0. Al llegar a 0 el contador se recarga y se contabiliza una
nueva décima de segundo en el contador de décimas de segundo que no tiene límite. Todo el proceso
se lleva a cabo en la subrutina de servicio a la interrupción.

2. Algoritmo

A. Variables y datos

TOPE constante = 600


cont_puls 2 octetos
cont_dec 1 octeto

B. Procedimiento

1. contabilizar pulso
2. si cont_puls = 0
 recargar cont_puls
 incrementar cont_dec
3. retornar

3. Flujograma

4. Modelo de programación 6800

cont_puls 2 octetos en RAM


cont_dec acumulador B
borrador IX

5. Programa fuente

; subrutina IRQ

.org IRQ ; según el computador y su sistema operativo


; en el ET-3400 IRQ=00F7
.prog
dec cont_puls ; contabilizar pulso
bne retorno ; si no culminó cuenta, retornar
ldx #TOPE ; recargar contador de pulsos
stx cont_puls
incb ; contabilizar décima de segundo
retorno: rti

.datos
TOPE .equ 600
cont_puls .block 1

.fin

Das könnte Ihnen auch gefallen