Problemario: Memoria / Entrada Salida / Buses / Interrupciones



Documentos relacionados
Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 Arquitectura del Computador I

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

REGISTROS DE DESPLAZAMIENTO

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

DESCRIPCION DEL SITEMA MASTER.

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

La Unidad Procesadora.

Capítulo 1 Introducción a la Computación

Registros y Contadores

CAPITULO V. Cuando hablamos de los lenguajes de programación nos referimos a diferentes formas en las que se puede escribir el programa del usuario.

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

Sistemas con Microcontroladores y Microprocesadores

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS)

DECODIFICADORES. Para cualquier código dado en las entradas solo se activa una de las N posibles salidas. 2 N

Conversor Analógico Digital

GUIAS ÚNICAS DE LABORATORIO GENERADOR DE NÚMEROS PRIMOS AUTOR: ALBERTO CUERVO

Tema 7. SISTEMAS SECUENCIALES SISTEMAS SECUENCIALES SÍNCRONOS

Práctica 8 - DMA y Almacenamiento Masivo

La forma de manejar esta controladora es mediante un ordenador utilizando algún lenguaje de programación (Por ejemplo.: C, Visual Basic, Logo,...).

TEMA 4. Unidades Funcionales del Computador

BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Organización de Computadoras. Turno Recursantes Clase 8

Clase 20: Arquitectura Von Neuman

UPV-EHU. EUITI e ITT Vitoria-Gasteiz. Ampliación de Sistemas Digitales. Depuración de programas

MONITOR ROM MODULE (MON08)

Tema 6: Periféricos y entrada-salida

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

GUIAS ÚNICAS DE LABORATORIO DIAGRAMA DE ESTADOS AUTOR: ALBERTO CUERVO SANTIAGO DE CALI UNIVERSIDAD SANTIAGO DE CALI DEPARTAMENTO DE LABORATORIOS

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto

Entrada/Salida. Polling e Interrupciones. Verano de Mariano Moscato. Organización del Computador 1

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Análisis general de un Microprocesador

Señal de petición de Interrupción

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

Tema 4. Gestión de entrada/salida

BLOQUE 3. Enrique Mandado Pérez María José Moure Rodríguez. Microcontroladores

Anexo B. Comunicaciones entre mc y PC

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

* En una computadora el microprocesador se comunica con uno de los siguientes dispositivos:

RESETS & INTERRUPCIONES

Cursos de Perfeccionamiento

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Convivencia. Gestión del Sistema de Entrada/Salida

INTRODUCCION A LA PROGRAMACION DE PLC

Control Digital en PC con MS-DOS

Tema N 2.- Tiempo de respuesta de un PLC

Actividad 4: Comunicación entre PLC s vía Ethernet

STEP 7 INDICE. Contadores rápidos Restricciones en el uso de los contadores rápidos HSC0, HSC3, HSC4, HSC5

Programación de Microcontroladores

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Introducción a la Entrada/Salida

t i Q 7 Q 6 Q 5 Q 4 Q 3 Q 2 Q 1 Q 0

Estructura de datos y de la información Boletín de problemas - Tema 7

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Guía resumida para utilizar el microcontrolador CY7C68013

Unidad 1: Conceptos generales de Sistemas Operativos.

Arquitectura basica de un computador

Capitulo V Administración de memoria

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

Curso sobre Microcontroladores Familia HC9S08 de Freescale


Fundamentos de Computadores I

Tema 11: Sistemas combinacionales

Hardware Se refiere a todas las partes tangibles de un sistema informático; sus componentes son: eléctricos, electrónicos, electromecánicos

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida

Control de Cambios. Combo Estela ADSL 0108 ver 1.1 Mayo de 2010

MICROPROCESADORES PARTES DE UN MICROPROCESADOR

Tema 6: Memorias. Escuela Superior de Informática Universidad de Castilla-La Mancha

DISPLAYS DE CRISTAL LIQUIDO

Tema 11. Soporte del Sistema Operativo REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS MULTIPROGRAMACIÓN.

Análisis y Síntesis. Introducción a los Sistemas Lógicos y Digitales 2008

SISTEMAS DE ENTRADA/SALIDA

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Mod. I, Unid. 1, Obj. 1 Criterio de Dominio 1/1

Creación de Funciones de Conducción

Tema 8. Circuitos secuenciales de Propósito general: REGISTROS Y CONTADORES

BLOQUE 3 (PARTE 1) DEFINICIÓN,CLASIFICACIÓN Y CARACTERÍSTICAS GENERALES

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

KW x hora. on/off

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Estructura de Computadores

La informática es el conjunto de técnicas y conocimientos necesarios para el tratamiento automático de la información mediante el ordenador.

LABORATORIO I DE CONTROL

I2C. Ing. Pablo Martín Gomez

Figura 1: Símbolo lógico de un flip-flop SR

Winide y Kit EVALQTY CDM 2011

TEMA7. SISTEMAS SECUENCIALES

4. Programación Paralela

Instrumentación con Microcontroladores. Ing. Rodrigo Alejandro Gutiérrez Arenas 22/03/12 al 29/03/12

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010

LiLa Portal Guía para profesores

Transcripción:

Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 Arquitectura del Computador I Problemario: Memoria / Entrada Salida / Buses / Interrupciones PARTE I: Memoria y Entrada / Salida 1.- Se dispone de cantidad suficiente de chips de Memoria RAM de 1K X 8, 256K x 4, 64K x 1, compuertas lógicas, registros (74LS374, etc.), decodificadores (74LS138, 74LS139, etc), y otros dispositivos de lógica digital compatibles. Se requiere construir varios sistemas de memoria. Para cada uno, proponga combinación de chips de memoria, un mapa de memoria asignada por chip y un diagrama circuital: a) 1M x 8 b) 32K x 16 c) 1Gb x 64 2.- Un circuito básico de Salida puede diseñarse con registros, como el 74LS374. Un puerto de Entrada puede implementarse con buffers de 3 estados como el 74LS244 (unidireccional), 74LS245 (bidireccional). Dibuje el circuito de un Puerto de Entrada/Salida (bidireccional) utilizando combinaciones de estos dispositivos (puede añadir compuertas lógicas). 3.- Utilizando los dispositivos disponibles de 1 y 2, diseñe un circuito de Bus para un sistema de Memoria y Entrada/Salida mapeada en memoria para un procesador de 16 bits de Direccionamiento y 8 bits de datos cuyo mapa de memoria sea el siguiente: Direcciones 0x0000 0xEFF8 0xEFFF 0xEFFF Función Memoria Puertos de Entrada/Salida No implementado 4.- Utilizando contadores preiniciables (74LS193, por ejemplo) y registros puede implementarse circuitos de temporización por interrupciones, como dispositivos de Entrada/Salida. Proponga un posible circuito de un módulo temporizador para un procesador de 8 bits. 5.- La Figura 1 es el circuito de un Bus externo que cumple el objetivo de agregar un TIMER, 2Kbytes de memoria RAM y el Puerto OUT a los periféricos del procesador para el Microcontrolador MC68HC908GP32. En el circuito se observa una Memoria RAM 6116 de 2kbytes, tres registros (CUENTA, CONFIG, OUT) y un CONTADOR binario de 8 bits conectados a un procesador MC68HC908GP32 a través de sus puertos PTA, PTB, PTC, PTD y PTE realizando las funciones de BUS de DIRECCIONES, BUS de DATOS, y BUS de CONTROL en la forma que se especifica a continuación: ADDRESS(12:0) = PTC(4:0) & PTA(7:0) DATOS(7:0) = PTB(7:0) CONTROL(2:0) = PTD(2:0)

Responda las siguientes preguntas: a) Cuántas posiciones de pueden direccionar con el BUS de DIRECCIONES? b) En qué rango de esas posiciones reside la memoria RAM? c) Diga la dirección o rango de direcciones del registro CUENTA? d) Diga la dirección o rango de direcciones del registro CONFIG? e) Diga la dirección o rango de direcciones del registro OUT?. f) Escriba un código que tome un byte que existe en la posición $A000 de la memoria FLASH del HC08 y lo grabe en el registro CUENTA cuando se presione el pulsador conectado a PTE1? g) Escriba un código que lea la cuenta actual del CONTADOR y la grabe en la posición 1024 de la memoria RAM en el momento que se presione el pulsador conectado a PTE1?

Figura 1

6.- La figura 2 muestra 3 memorias conectadas a el bus de una PC. El hilo IO/M del Bus de Control se pone en 1 lógico cuando se desea hacer operaciones de Entrada/Salida y en 0 cuando se va a acceder a la memoria. Responda las siguientes preguntas: a) Con el ancho del bus de direcciones dadas, cuántas posiciones de memoria se pueden direccionar? b) Qué rango de direcciones están asignados a la memoria EPROM? c) Qué rango de direcciones están asignadas a las memorias SRAM? d) Si se desea leer la dirección 1FF0 de la EPROM, qué dirección habría que poner en el bus de direcciones? e) Qué rango de direcciones no esta decodificada? CONTROL(/RD,/WR,IO/M,.) ADDRESS(15:0) DATA(7:0) EPROM 27C64-8kx8 RAM 6116-2Kx8 AD(12:0) A(12:0) AD(10:0) ADRR(10:0) /RD Vcc O(7:0) /PGM /OE /CE AD(13:11) /WR /RD I/O(7:0) ~WE ~OE ~CS RAM 6116-2Kx8 74LS139 AD(10:0) ADRR(10:0) A(14) A(15) IO/M 1A 1B ~1G 1Y0 1Y1 1Y2 1Y3 A11) A12) A13) /WR /RD ~WE ~OE ~CS I/O(7:0) Figura 2

PARTE II: Buses y Teoría (preguntas basadas ó tomadas de [1]) 1.- Suponga que en un computador 8 dispositivos de I/O están conectados al árbitro según el esquema de árbitro centralizado con niveles que se muestra en la figura 3-39(b) en [1] (Figura 3), y están conectados de la siguiente manera: Línea de Solicitud De Bus Nivel 3: dispositivos D8 y D7 Línea de Solicitud De Bus Nivel 2: dispositivos D6, D5 y D4 Línea de Solicitud De Bus Nivel 1: dispositivos D3, D2 y D1 Figura 3. Figura 3.39, capítulo 3 de [1] La línea de solicitud de bus de Nivel 3 tiene mayor prioridad que la de Nivel 2 y ésta mayor prioridad que la de Nivel 1. Los Dispositivos en conexión de encadenamiento circular están identificados con el número mayor más cerca del CPU (por ejemplo, D8 es el que está más cerca de todos). Suponga que todas las interrupciones se atienden y resuelven en cuatro unidades de tiempo. Explique en qué orden se atienden y resuelven las peticiones si los dispositivos solicitan el bus de la siguiente forma: En t = 0: solicitan el bus D8 y D3 En t = 3: solicitan el bus D4 y D1 En t = 7: solicitan el bus D7 En t = 10: solicitan el bus D8 y D5

Haga una gráfica temporal que indique cual proceso está siendo atendido por el CPU (puede ser una barra identificada sobre un eje horizontal de tiempo, u con barras para cada Dispositivo). 2.- Analice la figura 4 para bus síncrono (3-37 de A. Tanenbaum) y responda: Figura 4. Figura 3.37, capítulo 3 de [1]

a) Suponga que el período de reloj no es 25ns sino 40ns, pero se mantienen las restricciones temporales asociadas a la respuesta del circuito y dispositivos (tabla). Cuánto tiempo tendría la memoria para colocar los datos en el bus durante T3, despues de habilitarse MREQ, en el peor de los casos?. b) Suponga que el reloj se mantiene en 40MHz, pero TAD se aumenta a 16ns. Podrían seguirse usando chips de memoria de 40ns? 3.- Suponga que la transferencia de bloques de la figura 5 (3-41 de A. Tanenbaum) se efectúa por el bus de la figura 4 (3-37 de A. Tanenbaum). Qué ancho de banda adicional se obtendría usando esta transferencia de bloques en lugar de transferencias individuales, en el caso de bloques muy largos? Figura 5. Figura 3.41, capítulo 3 de [1] 4.- Conteste la pregunta anterior, suponiendo que el ancho del bus es de 32 bits y no de 8 bits. 5.- En el bus asíncrono de la figura 6 (3-38 de A. Tanenbaum), denotando los tiempos de transición de las lineas de dirección como T A1 y T A2, y los tiempos de transición de MREQ como T MREQ1 y T MREQ2, etc., escriba todas las desigualdades implícitas en el saludo completo.

Figura 6. Figura 3.38, capítulo 3 de [1]

PARTE III: Programación en Ensamblador 1.- Diga el contenido de la memoria (incluyendo la Pila) del y los registros del MC68HC908GP32 después de ejecutado el programa en Assembler para el HC08 que se le da a continuación: a) ORG $40 b) ORG $40 a0040 Resultado: DS.B 1 ORG $8000 ;PROGRAMA main: a8000 6E 01 1F mov #$01,1F a8003 9C rsp a8004 4F clra a8005 5F clrx a8006 C6 A000 lda Num1 a8009 87 psha a800a C6 A001 lda Num2 a800d 87 psha a800e AD 06 bsr calculo a8010 B7 40 sta Resultado a8012 A7 02 AIS #2 a8014 20 FE loop: bra loop calculo: a8016 8C clrh a8017 9EEE 03 ldx 3,SP a801a 9EE6 04 lda 4,SP a801d 52 div a801e AB 05 add #5 a8020 81 rts a0040 resultado: DS.B 1 ORG $8000 main: a8000 10 1F bset 0,CONFIG1 a8002 9C rsp a8003 A6 05 lda #5 a8005 AD 04 bsr Calculo1 a8007 B7 40 sta resultado a8009 20 FE lazo: BRA lazo Calc1: a800b 45 8013 ldhx #Calc2 a800e AB 03 add #3 a8010 89 pshx a8011 8B pshh a8012 81 rts Calc2: a8013 A0 01 sub #1 a8015 81 rts afffe 8000 ORG $FFFE DC.W main ORG $A000 aa000 28 Num1: DC.B $28 aa001 10 Num2: DC.B 16 afffe 8000 ORG $FFFE RESET_INT: DC.W main END

2.- El siguiente programa en lenguaje Ensamblador del mc68hc908gp32 se ejecuta completamente. Diga cual es el contenido del STACK y de los registros después de su ejecución. INCLUDE 'derivative.inc' ORG $40 40 resh: DS.B 1 41 resl: DS.B 1 ORG $8000 8000 10 1F Main: BSET 0,CONFIG1 8002 9C RSP 8003 C6 A000 LDA Num1 8006 87 PSHA 8007 C6 A001 LDA Num2 800A 87 PSHA 800B CD 801A JSR MULT 800E 9EE6 01 LDA 1,SP 8011 B7 40 STA resh 8013 9EE6 02 LDA 2,SP 8016 B7 41 STA resl 8018 20 FE LAZO: BRA LAZO 801A 89 MULT: PSHX 801B 87 PSHA 801C 9EEE 05 LDX 5, SP 801F 9EE6 06 LDA 6, SP 8022 42 MUL 8023 9EE7 06 STA 6, SP 8026 9EEF 05 STX 5, SP 8029 86 PULA 802A 88 PULX 802B 81 RTS ORG $A000 A000 0F Num1: DC.B $0F A001 03 Num2: DC.B $3 Direcció n $40 $41.. $F5 $F6 $F7 $F8 $F9 $FA $FB $FC $FD $FE $FF Registros A H X SP PC Contenid o FFFE 8000 ORG $FFFE

3.-Los siguientes programas en Lenguaje Ensamblador del MC68HC908GP32 se diferencian en una linea. version a. version b. INCLUDE 'derivative.inc' ORG $40 INCLUDE 'derivative.inc' ORG $40 dato: DS.B 1 dato: DS.B 1 Main: EDO1: ORG $8000 BSET 0,CONFIG1 RSP MOV #$00, DDRA MOV #$FF, DD CLR PTA CLR PTB LDHX #EDO1 CLI MOV PTA, dato BRA EDO1 ORG $8000 Main: BSET 0,CONFIG1 RSP MOV #$00, DDRA MOV #$FF, DD CLR PTA CLR PTB LDHX #EDO1 CLI EDO1: MOV PTA, dato BRA EDO1 EDO2: BRA EDO2 IRQ_ISR: AIS #5 MOV dato, PTB PSHX PSHH RTS EDO2: BRA EDO2 IRQ_ISR: AIS #5 MOV dato, PTB PSHX PSHH RTS ORG $FFFA DC.W IRQ_ISR ORG $FFFE DC.W Main ORG $FFFA DC.W IRQ_ISR ORG $FFFE DC.W Main El programa se ejecuta completamente y se produce un flanco de bajada en el pin IRQ del controlador. En PTA se tiene el valor AB. Observe que tiene una rutina de interrupción de donde retorna con rts en lugar de rti a) Dibuje un diagrama de flujo del funcionamiento del programa. b) Diga si ambos programas trabajan igual.

2.- La arquitectura de Conjunto de Instrucciones (ISA) del Microcontrolador MC68HC908GP32 no dispone de un mecanismo automático de paso de parámetros a métodos (subrutinas) y uso de Variables Locales como el del IJVM para el Mic-1, de modo que el programador/compilador debe implementar, por software, su propio mecanismo para poder implementar métodos generales que permitan, por ejemplo, la recursión. Proponga un algoritmo sencillo y escriba el código correspondiente en ensamblador, que permita implementar esto. 3.- Dibuje un Diagrama de Estados y Escriba el código en Lenguaje Ensamblador para MC68HC908GP32 para que realice las siguientes tareas: a) b) c) Referencias Bibliográficas [1] Tanenbaum A., Structured Computer Organization. 4th Edition. Organizción del Computador, un enfoque estructurado, 4ta Edición. Pearson, Prentice Hall, 2000.