Examen 5 de Febrero de 2010

Documentos relacionados
Examen 23 de Febrero de 2007

Examen 23 de Diciembre de 2011

Examen 23 de Julio de 2012

Examen 22 de Febrero 2006

Examen 17 de febrero de 2003

TRABAJO PRÁCTICO Nº 3. Expresiones booleanas, tablas de verdad y compuertas lógicas

LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1)

TRABAJO PRÁCTICO Nº 3. Expresiones booleanas, tablas de verdad y compuertas lógicas

Especificación IEEE-754, para representar valores decimales en punto flotante de simple precisión.

Practica 1 (3.5 %) 1. Realice el diseño y montaje de un R_S discreto activo en bajo.

Arquitectura del Procesador I

Trabajo práctico 2. Contadores

Bajonero Domínguez Marco Jafeth

2^10 2^9 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 SUMA

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

Relación de Problemas de Circuitos Secuenciales

Arquitectura de Computadoras 2015 Práctico 03. Práctico 3. Álgebra de Boole. Método de Karnaugh. Circuitos lógicos combinatorios.

TPC N 2: Entradas y Salidas de propósito general

Desarrollo de Problemas

Segundo Parcial Programación en Mikro C PIC16F877

UNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011

FUNDAMENTOS DE COMPUTADORES Ejercicios U2: Circuitos Combinacionales

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

11. Calcula el binario natural, el BCD natural y el hexadecimal equivalentes al decimal

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

LÓGICA SECUENCIAL Y COMBINATORIA

PROBLEMAS DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES I

GUIAS ÚNICAS DE LABORATORIO CRONOMETRO DIGITAL AUTOR: ALBERTO CUERVO SANTIAGO DE CALI UNIVERSIDAD SANTIAGO DE CALI DEPARTAMENTO DE LABORATORIOS

Arquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar

Introducción Tipos de FF Ejercicios. Lógica Digital. Circuitos Secuenciales. Francisco García Eijó

Taller No. 6 Final Electrónica digital (Multiplexores y demultiplexores)

Electrónica Digital: Diseño y Lógica Secuencial

PROBLEMAS TECNOLOGÍA INDUSTRIAL II. CONTROL DIGITAL

Trabajo Práctico 5 Estructura Repetitiva

Mientras (expresión lógica) Instrucciones a repetir mientras la expresión lógica es verdadera Fin Mientras

TEMA 5.3 SISTEMAS DIGITALES

Operación de circuitos electrónicos a equipos de refrigeración y aire acondicionado: CONALEP SLRC DECODIFICADOR

HOJA DE PROBLEMAS 2. SISTEMA BINARIO DE REPRESENTACIÓN NUMÉRICA. 1. Convertir los siguientes números binarios a sus equivalentes decimales: a.

Universidad Autónoma de Baja California

Representación de la información

INFORMÁTICA APLICADA A LA ECONOMÍA Tema 3: Representación de la Información. Verónica A. Bollati

Relación de Problemas I

Circuitos Lógicos Combinatorios. Ing. Jorge Manrique 2004 Sistemas Digitales 1

Maquina de Turing. 5. Fundamentos de algoritmos. Turing TURING TURING 10/08/2010. MI Elizabeth Fonseca Chávez

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

153 = 1x x10 + 1x1

SELECCIÓN DE PROBLEMAS

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES

EJERCICIOS. (Tema 5).

Implantación de Sistemas Operativos 1º ASIR

Circuitos combinacionales

Sistemas numéricos - otras representaciones - Taller de programación

Práctica 2 - Lógica Digital

Asignaturas antecedentes y subsecuentes

Examen escrito de Programación 1

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Práctica 1. Sistemas de Numeración y Representación de la Información

HOJA DE PROBLEMAS 6: MÓDULOS COMBINACIONALES BÁSICOS

Lógica y compuertas (Parte 2): Circuitos Combinacionales y Secuenciales

Organización del Computador I. David Alejandro González Márquez

Representación Información

Lección 2 Introducción al lenguaje C

SISTEMA MÍNIMO BASADO EN EL PIC16F84

Lección 6. Circuitos Secuenciales. Ing. Luis Diego Murillo L1-Control Eléctrico 1

Facultad de Ciencia y Tecnología. Escuela de Ingeniería Electrónica. Sílabo

2).Diseñar los circuitos cuyas tablas de estados son las siguientes:

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso PROBLEMAS TEMA 4: Unidad Aritmético Lógica

Arquitectura de Computadores II Clase #4

Diferentes Perspectivas de un Ordenador

LECCIÓN Nº 06 DISEÑO DE CONTADORES SINCRONOS

Laboratorio 5: Tarjeta de Desarrollo Spartan-3

DISEÑO DE CIRCUITOS SECUENCIALES

UIT-T Z.314 SECTOR DE NORMALIZACIÓN DE LAS TELECOMUNICACIONES DE LA UIT

Organización de Computadoras Apunte 5: Circuitos Lógicos Secuenciales

Circuitos Digitales Avanzados

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN

NÚMEROS UTILIZADOS EN ELECTRÓNICA DIGITAL

ESCUELA POLITÉCNICA NACIONAL

Universidad Carlos III de Madrid Grado en Ingeniería Informática Tecnología de Computadores

Lógica Digital. Circuitos Secuenciales. Maximiliano Urso. Orga I

Otros circuitos digitales. Actividad de apertura. Circuitos lógicos secuenciales.

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

CONTROL Y MONITOREO DEL MOTOR A PASOS

Trabajo Práctico Nro. 1

Electrónica. Diseño lógico. Fundamentos en electrónica digital. Héctor Arturo Flórez Fernández

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Problemas de Sistemas Digitales. Grados en I.Informática e I.Informática de Sistemas

Definición de Memoria

Sistemas informáticos en tiempo real Práctica 3 Manejo de interrupciones

01-Sistemas de numeración

SESIÓN 2 COMPUTACIÓN Y MATEMÁTICAS.

Práctica 2. Simulación y diseño de circuitos secuenciales

Organización de Computadoras. Clase 1

LAB 5. Tarjeta de Desarrollo Spartan-3. Laboratorio de Sistemas Digitales ELO212 Primer Semestre de 2010

CODIFICADORES Y DECODIFICADORES

Sistemas Digitales. Circuitos Codificadores

Práctica 1 - Representación de la información

Transcripción:

Instrucciones Examen 5 de Febrero de 2010 Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique la cantidad total de hojas que entrega en la primera. Escriba las hojas de un solo lado. Empiece cada ejercicio en una hoja nueva. Sólo se contestarán dudas de letra. No se aceptarán dudas los últimos 30 minutos del examen. Duración: 3 horas. Requisito para Aprobación: 1 problema y medio correctamente resueltos Problema 1 Se desea diseñar un dispositivo para controlar una caja de seguridad con combinación para ser instalada en una cadena de hoteles. La caja de seguridad cuenta con un teclado numérico con 10 teclas (0-9) y la tecla ENTER y un display de 8 dígitos de 7 segmentos. El funcionamiento será el siguiente: Cuando la caja está abierta el huésped ingresará una clave de entre 4 y 8 dígitos en el teclado y cerrará la puerta de la caja. Cuando presiona la tecla ENTER la caja se cerrará mediante una serie de barras de metal que se extienden desde la puerta. Si el código ingresado tiene menos de 4 dígitos no se hará nada. Luego de cerrada si se ingresa la misma secuencia usada para cerrarla y luego se presiona la tecla ENTER la caja se abrirá retrayendo las barras. Si la clave es ingresada en forma equivocada, al presionar la tecla ENTER se mostrarán una serie de 8 guiones en el display de 7 segmentos. Si la clave se ingresa mal 3 veces seguidas la caja quedará bloqueada por 2 horas como medida de seguridad. Esto quiere decir que cualquier combinación de teclas que se intente siempre dará error durante ese lapso de tiempo. El display y la memoria de los dígitos presionados se vaciaran automáticamente si no se presiona ninguna tecla por 5 segundos. Si se presionan más de 8 dígitos solo se considerarán los últimos 8 ingresados antes de presionar ENTER. Para manejar el teclado se dispone de una interrupción llamada tecla() que se llamará cada vez que se presiona una tecla. La tecla presionada puede leerse en el registro de E/S de solo lectura TECLADO de un byte. Las teclas de dígitos se leerán codificadas en binario en los 4 bits más significativos y la tecla ENTER tendrá el código 0xD0. Para activar el motor que extiende o retrae las barras se dispone de un registro de E/S de solo escritura de un byte llamado BARRAS. Escribiendo un 1 en el bit más significativo extiende las barras mientras que escribiendo un 1 en el menos significativo las retrae. Para manejar el display se dispone de un registro de E/S de solo escritura de 4 bytes llamado DISPLAY donde se debe escribir el número que se desee mostrar en BCD (los dígitos más significativos del número a mostrar coinciden con los más significativos del registro). El guión a mostrar en caso de error se codifica como 0xFF mientras que para no mostrar nada se debe escribir 0xEE. Se dispone además de un timer que interrumpe con una frecuencia de 2 Hz invocando a la rutina tiempo(). Departamento de Arquitectura Página 1 de 9

Se pide: Implementar en un lenguaje de alto nivel el programa principal y todas las rutinas necesarias para que funcione el sistema de control para el dispositivo descripto. Solución Problema 1 #define DOS_HORAS = 14400 #define CINCO_SEGUNDOS = 10 int abierta; int clave; int clavecerrada; int errores; int digitos; // se asume arquitectura de 32 bits void main () { // Deshabilitar interrupciones // Instalar interrupciones abierta = 1; errores = 0; digitos = 0; // Habilitar interrupciones while(true); void tecla () { int tecla = IN(TECLADO) >> 4; ticsdisplay = 0; if (tecla == 0x0D) { if (abierta) { if (digitos > 3) { clavecerrada = clave; digitos = 0; abierta = 0; OUT(DISPLAY,clave); OUT(BARRAS, 0x80); else { // cerrada if ((clavecerrada == clave) && (errores < 3) { abierta = 1; digitos = 0; errores = 0; OUT(DISPLAY,0xEEEEEEEE); OUT(BARRAS, 0x01); else { OUT(DISPLAY,0xFFFFFFFF); if (errores < 3) { errores++; if (errores == 3) { ticshoras = 0; Departamento de Arquitectura Página 2 de 9

else { clave = clave << 4; clave = tecla; digitos = (digitos < 8? digitos + 1 : digitos); OUT(DISPLAY, clave); void tiempo () { ticsdisplay++; ticshoras++; if (ticsdisplay == CINCO_SEGUNDOS) { OUT(DISPLAY, 0xEEEEEEEE); digitos = 0; if ((ticshoras == DOS_HORAS) && (errores == 3)) { errores = 0; Departamento de Arquitectura Página 3 de 9

Problema 2 Se desea utilizar una ROM para implementar un comparador BCD (Decimal Empaquetado). El comparador recibe dos operandos representados en BCD de 8 bits cada uno y debe presentar a la salida el mayor de ellos representado en binario y un bit que indique cuál de los dos es el mayor (0 indica que el mayor es el operando presentado en la parte baja de la entrada ó que ambos son iguales y 1 indica que el mayor es el que está en la parte alta). Se pide: a) Determine el tamaño y la organización de la ROM de tamaño mínimo que permita resolver el problema planteado. Construya dicha ROM. Para ello se dispone de compuertas básicas y las siguientes ROMs: 16K x 16 (se dispone de hasta 1 unidad) 16K x 8 (se dispone de hasta 1 unidad) 16K x 4 (se dispone de hasta 2 unidades) 64K x 1 (se dispone de hasta 1 unidad) b) Escriba un programa en un lenguaje de alto nivel que genere el contenido de la ROM compuesta. Indique cuál es el contenido que deberá estar almacenado en la posición 0x1939 de la ROM de 16K x 8. Departamento de Arquitectura Página 4 de 9

Solución Problema 2 a) El comparador tendrá dos entradas de 8 bits cada una, por tanto la ROM que se utilice para construirlo debe tener 16 bits de dirección como mínimo. La mínima cantidad de bits de salida es 8: 1 para indicar cuál operando es el mayor y 7 para codificar en binario el valor del operando mayor. Son 7 bits porque en 8 bits se pueden representar números de hasta 2 dígitos decimales en BCD, por lo que 99 es el máximo valor decimal representable en BCD de 8 bits y este valor se puede representar en binario de 7 bits. Por tanto se requiere la ROM mínima requerida es de 512 Kbits, organizada como 64 K palabras de 8 bits (64K x 8). Para construir la ROM necesaria utilizamos la ROM de 16K x 16 disponible y formamos con ella una ROM de 32K x 8. Con las dos ROMs de 16K x 4 formamos una de 16K x 8, la que junto a la de 16K x 8 disponible formamos otra de 32K x 8. Con las dos de 32K x 8 que hemos construido se forma la de 64K x 8. Notar que no se requiere usar la ROM de 64K x 1. El circuito queda así: Departamento de Arquitectura Página 5 de 9

b) La rutina para generar el contenido de la ROM compuesta es: void carga_rom() { int I, op1, op2, op1bcd, op2bcd; unsigned char rom[65536]; for (i = 0; i++; i < 65536) { op1bcd = i / 256; op2bcd = i % 256; op1 = (op1bcd / 16) * 10 + op1bcd % 16; op2 = (op2bcd / 16) * 10 + op2bcd % 16; if (op1 > op2) // el de la parte alta es mayor rom[i] = op1 0x80; else rom[i] = op2; De acuerdo al circuito la ROM de 16K x 8 está ubicada en las posiciones más bajas de la memoria, por tanto la dirección 0x1939 de dicha memoria corresponde con idéntica dirección en la memoria compuesta. Entonces op1 = 19 y op2 = 39, y al ser mayor op2 la salida debe ser 39, con el bit más significativo en 0, porque el operando en la parte baja es el mayor, cuya representación en binario es 00100111 (0x27) Departamento de Arquitectura Página 6 de 9

Problema 3 Un número primo es un número natural que tiene únicamente dos divisores naturales (él mismo y el 1). Se desea construir un contador cíclico descendente de números primos que cuente los números primos del 13 al 2 inclusive. Se pide diseñar dicho circuito en base a flip flops JK y compuertas lógicas básicas, utilizando la metodología vista en el curso. Nota: no se considerarán correctas soluciones que utilicen flip flops tipo D, ni aquellas que construyan tipo D a partir de JK. Es decir solo se aceptarán diseños nativos en JK. Solución: 11 7 13 5 2 3 Consideraremos que el estado es la salida, por lo cual precisaremos 4 flip flops. La tabla de transición es la siguiente: Estado Actual Próximo Estado 1101 1011 1011 0111 0111 0101 0101 0011 0011 0010 0010 1101 Ahora escribimos la tabla de transición para flip flops JK Q 3 Q 2 Q 1 Q 0 J 3 K 3 J 2 K 2 J 1 K 1 J 0 K 0 1101 X0 X1 1X X0 1011 X1 1X X0 X0 0111 0X X0 X1 X0 0101 0X X1 1X X0 0011 0X 0X X0 X1 0010 1X 1X X1 1X Departamento de Arquitectura Página 7 de 9

Y realizamos los Karnaughs asociados (agregando X en todos los estados no alcanzables) 00 X X 0 1 01 X 0 0 X 11 X X X X 10 X X X X 00 X X X X 01 X X X X 11 X 0 X X 10 X X 1 X J 3 =!Q 0 K 3 = Q 1 00 X X 0 1 01 X X X X 11 X X X X 10 X X 1 X 00 X X X X 01 X 1 0 X 11 X 1 X X 10 X X X X J 2 =!Q 0 + Q 3 K 2 =!Q 1 00 X X X X 01 X 1 X X 11 X 1 X X 10 X X X X 00 X X 0 1 01 X X 1 X 11 X X X X 10 X X 0 X J 1 = 1 K 1 =!Q 0 + Q 2 00 X X X 1 01 X X X X 11 X X X X 10 X X X X 00 X X 1 X 01 X 0 0 X 11 X 0 X X 10 X X 0 X J 0 = 1 K 0 =!Q 2.!Q 3 Departamento de Arquitectura Página 8 de 9

Ahora dibujamos el circuito: Notar que es requerido hacer el reset en 1101, ya que si fuera en 0, el circuito no entra en régimen (por los valores que adquieren las X utilizadas para lograr la máxima minimización).. Departamento de Arquitectura Página 9 de 9