APELLIDOS NOMBRE GRADO SOLUCIÓN. Figura 1

Documentos relacionados
SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 1

PROBLEMA 1 (2.5 puntos): SOLUCIÓN

CUESTIÓN 1 (2.5 puntos):

Se trata de generar una señal PWM que salga por PB7, el cual está vinculado al canal 2 del TIM4. Por lo tanto la configuración será como sigue:

SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Ordinario 1

EJERCICIO 1 (2 puntos, 30 minutos):

EJERCICIO 1 (2.0 puntos):

EJERCICIO 1 (2 puntos, 30 minutos):

SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES

TEMA 1: Conceptos generales. 1.- Representa los primeros 16 números decimales (del 0 al 15) usando codificación binaria y hexadecimal.

Procesadores ISA Macroarquitecura - Interfaces

SOLUCIÓN. Con todos estos datos, conteste a las siguientes preguntas de forma justificada (todas las preguntas son equivaloradas):

EJERCICIO 1 (2.0 puntos):

SOLUCIÓN. EJERCICIO 1 (2 puntos, 30 minutos):

Ejercicios del tema 4. El procesador

EJERCICIO 1 (4 puntos, 30 minutos):

ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II BOLETÍN 3 MEMORIAS SEMICONDUCTORAS

EJERCICIO 1 (2.0 puntos):

SOLUCIÓN. EJERCICIO 1 (2.0 puntos):

Guía práctica lenguaje ensamblador

PROBLEMA 1 (5 puntos):

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES I. Tema X Modos de Direccionamientos

Clasificación del procesador según el número de referencias a memoria.

VDD (varios) VSS (varios) OSC_IN OSC_OUT OSC_OUT PB12. Analógica

TEMA VI DISEÑO DEL PROCESADOR

Unidad 5 Unidad central de proceso

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

Primer Microprocesador: 4004, Intel, año bits de ancho de palabra de datos Intel 8 bits dir. 64K Z80

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES

DISEÑO DEL PROCESADOR

TEMA 11: ARQUITECTURA INTERNA

Microprocesadores. Informática Aplicada DSI-EIE FCEIA

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

CUESTIÓN (2 puntos): SOLUCIÓN:

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Tema 4. La Unidad de Control

TEMA 2: MICROPROCESADORES Y MICROCONTROLADORES

Elementos constituyentes de la ejecución de un programa

Práctica 1 ALU de 1 BIT

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

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

ARQUITECTURA DEL PIC16F84A

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos

1 La figura 1 muestra la estructura de la CPU de un computador con palabras y direcciones de 32 bits, cuya

Unidad de Entrada-Salida Software de sistemas Parámetros característicos Ejemplo

Arquitectura de Computadoras

ARQUITECTURA VON NEUMANN

Introducción a la arquitectura de computadores

Arquitectura de Computadores II Clase #4

Arquitectura de Computadores II Clase #4

1 En el diseño de la estructura de un computador se consideran los siguientes tiempos:

instrucción(ir) y CP se incrementa en 1.

Programación de los Microcontroladores 8052/8051 (I)

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES

SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Ordinario 1

Lógica cableada: Lógica programada:

Arquitectura de Computadores II Clase #3

EJECUCIÓN DE INSTRUCCIONES

MEMORIA EJERCICIO 1 EJERCICIO 2

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

Problema - Junio 2ª semana:

Tema 2. Diseño del repertorio de instrucciones

CICLOS DEL PROCESADOR

Cuestiones. Estructura y Tecnología de Computadores (IG09) 1 er Parcial 12 de sept. de 2002

Arquitectura (Procesador familia 80 x 86 )

B) Arquitectura generalizada de una computadora

INSTRUCCIONES. LA ENERGIA DE LA MAQUINA Fundamentos de Computadores Capítulo segundo

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

ARQUITECTURA DE COMPUTADORES 2º I.T.

APENDICE A Microcontrolador de 8 bits MC68HC11F1

5. Procesador: camino de datos y control

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

Estructura de Computadores Tema 1. Introducción a los computadores

Práctica 3: Programación en ASM Orga 1

Arquitectura del CPU. Organización del Computador 1 Verano 2016

Procesador. Memoria. Ejemplo de un Procesador: MU0. Instrucciones. Direcciones. Registros. Datos. Instrucciones y datos SETI Tr.

Examen de teoría (4 puntos)

Procedimiento para el diseño de un mapa de memoria de un sistema basado en microprocesador:

Estructura y Tecnología de Computadores II (Gestión y Sistemas)

Ejercicios del tema 4. El procesador

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S.

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

Arquitectura del Procesador I

Nombre: Nº Matrícula:

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es C

PROBLEMAS TECNOLOGÍA INDUSTRIAL II. CONTROL DIGITAL

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN

ITT-327-T Microprocesadores

Unidad IV: Programación de microcontroladores

SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES

El nivel ISA (II)! Conjunto de Instrucciones

INSTRUCCIONES. Las instrucciones del microcontrolador Z8 PLUS se pueden clasificar en grupos de acuerdo a su función como:

ESTRUCTURA DE INTERCONEXIÓN DE UN COMPUTADOR

Arquitectura Interna del 8088

MODOS DE DIRECCIONAMIENTO

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Transcripción:

DECODIFICADOR SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES 12 febrero de 2018 APELLIDOS NOMBRE GRADO SOLUCIÓN Ejercicio 1 (40 minutos 4 puntos) La siguiente figura muestra un diagrama de bloques simplificado de la arquitectura interna de un microprocesador: 24 bits PC Direcciones Control ALU A RESULT B MEMORIA 1 16 bits Datos IR Control R0... R7 BANCO REGISTROS Direcciones Datos 8 bits Control MEMORIA 2 32K Figura 1 Responde a las siguientes preguntas de acuerdo a la información proporcionada en la figura. Justifica sus respuestas: 1- Es una arquitectura Harvard? (1 punto) Es una arquitectura Harvard, ya que tiene totalmente separadas dos memorias, una para programa (Memoria 1) y otra para datos (Memoria 2). Los registros internos sólo tienen acceso a la Memoria 2, y nunca a la Memoria 1. 2- Indique la anchura del bus de datos y del bus de direcciones, así como el tamaño total de la memoria/s del sistema. Especifique en su respuesta si la memoria/memorias son de datos, de código o de ambos tipos. (1 punto) Para la memoria de programa (Memoria 1), los buses necesarios son uno de datos de 16 bits, y uno de direcciones de 24 bits, tal y como se indica en la figura. Con esos tamaños de buses, Memoria 1 podría llegar a tener un tamaño de 16M x 16. SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 1

Para el caso de la memoria de datos (Memoria 2), la figura nos indica que el bus de datos para la memoria de datos es de 8 bits, pero no indica nada relativo al bus de direcciones. Si consideramos que la Memoria 2 expuesta tiene la mayor capacidad posible, entonces el bus de direcciones de dicha memoria es de 15 bits. Y por tanto el tamaño máximo de la Memoria 2, sería de 32K x 8. 3- Tamaño del IR y del PC (1 punto) Con los datos dados en la figura, el PC tendrá 24 bits, mientras que el IR tendrá 16 bits, que corresponden, respectivamente, al tamaño del bus de direcciones de la memoria de programa, y al del bus de datos de la memoria de programa. 4- Explica en unas pocas líneas qué es y cómo se hace la fase fetch de la unidad de control. (1 punto) La fase de fetch en una unidad de control corresponde a la captura de la instrucción a ejecutar, antes de ser decodificada y ejecutada. Por lo tanto, en dicha fase, lo que se hace es: MAR <- PC PC <- PC + 1 MBR <- (MAR) IR <- MBR 5- Para qué se utiliza el PC? (1 punto) El PC es el registro que contiene la dirección de la siguiente instrucción a ejecutar. 6- Cuantos bits se necesitan para direccionar un registro del banco de registros internos dentro de una instrucción? (1 punto) En la Figura se muestran sólo 8 registros (R0 R7), por lo que se necesitarían 3 bits para codificar el número de registro dentro de una instrucción. SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 2

7- Explique qué se entiende por modo de direccionamiento. Proporcione dos ejemplos de dos modos de direccionamiento típicos, y cómo afectan a la codificación de la instrucción (2 puntos) Modo de direccionamiento es la forma en la que se indica en una instrucción cómo obtener la dirección efectiva de un operando. Dos ejemplos de modos de direccionamiento son el inmediato y el indexado. El inmediato implica que el dato del operando está directamente codificado en la instrucción, lo que implica que hay que dejar espacio en la instrucción para codificar el dato (en este ejemplo, 8 bits). El indexado es aquel en el que la dirección de memoria donde se encuentra el dato del operando, mediante la suma del contenido de un registro, que contiene la dirección base, y otro registro, que contiene el índice variable. Por lo tanto, en la codificación de la instrucción hay que reservar espacio para dos registros, que en el caso de este ejemplo sería 3 bits para Rb y otros 3 bits para Ri. 8- Organización de la memoria: (2 puntos) a) Tenemos varios chips que implementan la memoria etiquetada como 1 en la Figura: - 4 chips de 4Mx8 bits - 1 chip de 4Mx16 bits - 1 chip de 8Mx16 bits Usa el mínimo número de ellos para implementar la memoria y dibuja el mapa de memoria. El chip más grande debe estar en las direcciones más bajas. Especifica los rangos de direcciones asignados a cada chip en hexadecimal. Use un decodificador 2:4 y puertas lógicas, para obtener las señales CS se cada chip de memoria. Las señales CS son activas a nivel bajo. Tal y como se ha comentado antes, si la Memoria 1 tiene la máxima capacidad permitida, debe ser de 16M x 16. Por lo tanto, su implementación con un número mínimo de chips sería utilizar: 1 chip de 8Mx16 + 1 chip de 4Mx16 + 2chips de 4Mx8 El mapa de memoria sería: 0x000000 15 8 7 0 ROM1: 8Mx16 0x7FFFFF 0x800000 0xBFFFFF 0xC00000 0xFFFFFF ROM3: 4Mx8 ROM2: 4Mx16 ROM4: 4Mx8 SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 3

El decodificador sería: SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 4

Ejercicio 2 (20 minutos 3 puntos) Se tiene una arquitectura Von Neumann de 16 bits, con capacidad de direccionar 128MB, sólo a nivel de palabra. Dicha arquitectura contiene 8 registros internos propósito general y filosofía Load & Store. Con esta información, conteste a las siguientes preguntas: 1) (70%) Diseñe una codificación de los distintos tipos de instrucciones microprocesador, minimizando en lo posible el tamaño de la instrucción ajustando a números enteros de palabras (es decir, las instrucciones pueden ocupar una palabra o más de una; en el caso de más de una, la primera que se leerá contendrá, al menos, el opcode). Los tipos de instrucciones que debe tener el microprocesador, son: 2 instrucciones de transferencia de datos entre memoria y registros internos, con direccionamiento directo. 5 instrucciones de transferencia de datos entre memoria y registros internos, con direccionamiento indexado. 2 instrucciones de transferencia de datos entre memoria y registros internos, con direccionamiento indirecto con desplazamiento, dando el desplazamiento en complemento a 2, con 10 bits. 14 instrucciones aritmético/lógicas de operar entre registros, siendo el resultado el mismo registro que uno de los operandos. 3 instrucciones aritmético/lógicas de operar entre registros, con uno de los operandos dado por direccionamiento inmediato, limitado a 8 bits, y dando el resultado en el otro operando. 9 instrucciones de control con direccionamiento inherente. 7 saltos condicionales con direccionamiento relativo a contador de programa, siendo el desplazamiento relativo de más/menos 1Kpalabra. 2) (30%) Indique una respuesta justificada a cada una de las siguientes preguntas: a) Número máximo de palabras que ocupa una instrucción b) Número mínimo de palabras que ocupa una instrucción c) Tamaño del Registro de Instrucción d) Tamaño del Contador de Programa e) Tamaño del Puntero de Pila f) Tamaño de los Registros internos SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 5

1) Se trata de una arquitectura Von Neumann de 16 bits (es decir, 16 bits de datos), y capaz de direccionar 128MB, pero sólo a nivel de palabra, por lo que direccionará 64M palabras de 16 bits, y por tanto el bus de direcciones será de 26 bits. Además tiene 8 registros internos, por lo que se necesitan 3 bits para codificar cada registro. Con esto se puede plantear la siguiente codificación de las instrucciones planteadas: 31 2423 1615 87 0 G. I 0 0 op Rd Direccionamiento directo del dato G. II 1 1 1 0 opcode Rd Rb Ri G. III 0 1 X X X X X X X X X X X X X op Rd Rb Desplazamiento 10 bits G. IV 1 1 1 1 0 X opcode Rd Ra G. V 1 1 0 Op Rd dato G. VI 1 1 1 1 1 X X X X X X X opcode G. VII 1 0 opcode Desplazamiento dirección +/- 1K 2) a) Número máximo de palabras de una instrucción: 2 palabras, tal y como se ha podido ver con las instrucciones del grupo I y III. b) Número mínimo de palabras de una instrucción: 1 palabra, tal y como se ha podido ver en las instrucciones de los grupos II, IV, V, VI y VII. c) IR de 32 bits, ya que debe ser capaz de albergar toda una instrucción completa. Por lo tanto tiene que tener el tamaño de la instrucción más grande. d) PC de 26 bits. Es una dirección de memoria de programa, por lo que será del mismo tamaño del bus de direcciones de dicha memoria. e) SP de 26 bits. Es una dirección de memoria de datos, por lo que será del mismo tamaño del bus de direcciones de dicha memoria. f) Registros internos de 26 bits (máximo entre direcciones de datos y datos) SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 6

STM32L152RB SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES Ejercicio 3 (30 minutos 3 puntos) Se quiere desarrollar una aplicación con el microcontrolador STM32L152RB para una cafetera que incluya un LED, que se enciende cuando se le aplica un 1 lógico, y un selector de modo de funcionamiento, tal como se muestra en la figura 3. Para la conexión de estos dos dispositivos se van a utilizar los pines PC0, PC1, PC2 y PC3 del microcontrolador. LED 3.3 V SELECTOR MODO FUNCIONAMIENTO Figura 3 El selector de modo de funcionamiento puede estar en una de estas tres posiciones: - APAGADO: En esta posición el LED está apagado - CAFÉ EXPRESSO: En esta posición el LED está encendido - CAFÉ CAPPUCHINO: En esta posición el LED está parpadeando Al final de este enunciado se encuentra el código desarrollado para la aplicación. Se pide: a) Suponiendo que antes de iniciar la ejecución del programa se resetea el microcontrolador, indique el contenido de los registros que se indican después de la ejecución de las líneas de inicialización del programa (líneas de código anteriores a while(1)) (2 puntos) REGISTRO GPIOC_MODER CONTENIDO EN HEXADECIMAL En binario: xxxx xxxx xxxx xxxx xxxx xxxx 0100 0000 Considerando, tal cual pone en el datasheet, los valores iniciales del registro tras el reset, que es con todos los bits a 0. En hexadecimal: 0x00000040 SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 7

b) Indique razonadamente a qué pines se encuentran conectados el LED y el selector de modo de funcionamiento (2 puntos) Dispositivo LED Selector de modo de funcionamiento APAGADO CAFÉ EXPRESSO CAFÉ CAPPUCHINO Pines de conexión PC3 PC0 PC1 PC2 Justificación Es el único pin que se ha configurado como salida digital Por descarte, es el último pin configurado como entrada y con sólo funcionalidad de apagar el led cuando no están activos los otros dos Pin configurado como entrada, y que si se activa, el led se queda encendido Pin configurado como entrada y que si se activa parpadea el led c) Represente el diagrama de flujo del programa (3 puntos) SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 8

d) Indique qué cambios realizaría en el código si se cambia el pin de conexión del LED al pin PB6 (ponga una cruz al lado de las líneas de código que habría que cambiar e incluya a la derecha la nueva línea para este cambio en la conexión del LED). (3 puntos) En lugar de poner el PC3 como salida, habría que poner el PB6. Además, en lugar de apagar y encender el PC3, habrá que hacer lo mismo pero con el PB6. Código nuevo en azul. CÓDIGO DEL PROGRAMA #include "stm32l1xx.h" # include "retardo.h" // BIBLIOTECA QUE INCLUYE LA FUNCIÓN RETARDO (X) // RETARDO(X) PRODUCE RETARDO DEL Nº DE SEGUNDOS INDICADO EN X int main(void){ // INICIALIZACIÓN GPIO GPIOC->MODER &= ~0x0000003F; GPIOC->MODER &= ~(1 << (3*2 +1)); * GPIOB->MODER &= ~(1 << (6*2 +1)); GPIOC->MODER =(1 << (3*2)); * GPIOB->MODER =(1 << (6*2)); while (1) { if ((GPIOC->IDR&0x00000002)!=0) { GPIOC->BSRR = (1<<3); * GPIOB->BSRR = (1<<6); else if ((GPIOC->IDR&0x00000004)!=0) { GPIOC->BSRR = (1<<3); * GPIOB->BSRR = (1<<6); retardo(1); GPIOC->BSRR = (1<<3)<<16; * GPIOB->BSRR = (1<<6)<<16; retardo (1); else { GPIOC->BSRR = (1<<3)<<16; * GPIOB->BSRR = (1<<6)<<16; SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES. Examen Parcial 9