Este documento presenta 9 problemas con múltiples opciones de respuesta cada uno sobre temas relacionados con sistemas embebidos como revoluciones industriales, arquitecturas de procesadores, memorias y comandos de Linux. Los problemas abarcan temas como multicore vs multiprocessor, registros de configuración del ATmega328P, características de FPGA, EEPROM, SRAM y FLASH y comandos básicos de Linux.
1. vasanza
SISTEMAS EMBEBIDOS
LECCIÓN 1P (C1-C3)
Fecha: 2020/11/12 PAO2 2020-2021
Nombre: _________________________________________________ Paralelo: __________
Problema #1: (10%)
Indique cuáles de las siguientes afirmaciones referentes a la revolución industrial son correctas:
a) La primera revolución industrial se basó en la introducción de equipos de producción mecánicos
impulsados por agua y la energía de vapor.
b) La segunda revolución industrial se basó en el uso de electrónica e informática (IT) para promover
la producción automatizada.
c) La tercera revolución industrial se basó en la producción en masa que se alcanza gracias al concepto
de división de tareas y el uso de energía eléctrica.
d) La cuarta revolución industrial se basa en el uso de sistemas físicos cibernéticos (Cyber Physical
Systems - CPS)
Problema #2: (10%)
Indique cuáles de las siguientes afirmaciones referentes a la comparativa entre sistemas Multicore y
Multiprocessor son correctas:
a) Los sistemas Multicore con capaz de ejecutar múltiples instrucciones simultáneamente en núcleos
separados. Aumenta la velocidad general y también implementa la computación paralela. Se utiliza
para aplicaciones como sistemas integrados, redes, procesamiento digital de señales (DSP) y
gráficos (GPU).
b) En un sistema Multicore de memoria compartida, cada CPU comparte la memoria principal y los
periféricos para ejecutar las instrucciones al mismo tiempo. En este tipo de sistemas, todas las CPU
utilizan el mismo bus para acceder a la memoria principal, esto incrementa el tráfico para acceder
al bus.
c) Un Multicore tiene dos o más CPU o procesadores.
d) En un sistema Multicore una CPU con un solo núcleo se denomina uniprocesador. Una CPU con
dos núcleos se denomina dual-core processor, mientras que un procesador con cuatro núcleos se
denomina quad-core processor.
Problema #3: (10%)
¿Cuáles de las siguientes afirmaciones de los registros de configuración del AVR ATmega328P son ciertos?
a) El registro DDRB (Port B Data Direction Register) permite configurar cada uno de los pines del
puerto B como entrada o salida. Con un valor de 1 se configura como salida el bit correspondiente
a cada pin, de igual forma, con un valor de 0 se configuran como entradas.
b) El registro DDRC (Port C Data Direction Register) permite configurar cada uno de los pines del
puerto B como entrada o salida. Con un valor de 1 se configura como entrada el bit correspondiente
a cada pin, de igual forma, con un valor de 0 se configuran como salidas.
c) El registro DDRA (Port A Data Direction Register) permite configurar cada uno de los pines del
puerto A como entrada o salida. Con un valor de 1 se configura como salida el bit correspondiente
a cada pin, de igual forma, con un valor de 0 se configuran como entradas.
d) El registro DDRD (Port D Data Direction Register) permite configurar cada uno de los pines del
puerto B como entrada o salida. Con un valor de 1 se configura como entrada el bit correspondiente
a cada pin, de igual forma, con un valor de 0 se configuran como salidas.
2. vasanza
Problema #4: (10%)
Indique cuáles de las siguientes afirmaciones referentes a las FPGA son correctas:
a) Las siglas FPGA significan “Field-Programmable Gate Array”
b) Hacen cualquier función lógica
c) Son configurables y tienen altas velocidades
d) Permiten un paralelismo masivo y tienen una alta cantidad de I/O
Problema #5: (10%)
¿Cuáles de las siguientes afirmaciones referentes a las memorias EEPROM son ciertas?
a) No presenta volatilidad de datos al apagar el microcontrolador
b) Es modificable en tiempo de compilación
c) No posee ciclos de lectura y escritura limitados
d) Para usar los datos almacenados, primero se requiere copiarlos en memoria SRAM
e) Direcciones de memoria no usadas están cargadas con 0x00 por default
Problema #6: (10%)
¿Cuáles de las siguientes afirmaciones referentes a las memorias SRAM son ciertas?
a) Memoria preferiblemente usada para almacenar grandes textos y datos no modificables
b) Memoria preferiblemente usada para almacenar datos de configuración no volátiles
c) Direcciones de memoria no usadas están cargadas con 0xFF por default
d) Volatilidad de datos al apagar el microcontrolador
e) Modificable en tiempo de ejecución
Problema #7: (20%)
¿Cuáles de las siguientes afirmaciones referentes a la arquitectura del AVR ATmega328P son ciertas?
a) La SRAM es una memoria volátil con capacidad de 2K Bytes, de los cuales 0.5K Bytes son usados
por el bootloader.
b) La memoria EEPROM no volátil es de una capacidad de 1024 Bytes, además, el proceso de escritura
en esta memoria tarda 3,3 ms para ser completado y la cantidad máxima de ciclos de escritura /
borrado es de 100.000 ciclos.
c) La memoria FLASH no volátil de código de programa tiene una capacidad de 32K Bytes y puede
ser utilizada para almacenar datos de forma permanente, los mismos que pueden ser leídos y
modificados constantemente durante la ejecución de un programa. Además, para obtener un dato
almacenado en memoria FLASH es necesario incluir la librería <avr/pgmspace.h> y utilizar la
función pgm_read_byte con el puntero a la dirección en memoria del dado almacenado previamente
con la instrucción PROGMEM.
d) Este microcontrolador posee 6 entradas analógicas (ADC0-ADC5) distribuidos en los pines (0-5)
del Puerto C, respectivamente.
e) Para hacer uso de la memora SRAM de datos de forma dinámica, es suficiente crear un vector con
el tamaño máximo posible de Bytes para los datos que se desean almacenar.
f) Dela librería <EEPROM.h>, las funciones EEPROM.write(Address, Data) e
EEPROM.read(Address) permiten escribir y leer datos de tamaño de 1 Byte de direcciones
específicas en memoria EEPROM, por otro lado, las funciones EEPROM.put(Address, Data) e
EEPROM.get(Address, Data) permiten escribir y leer tipos de datos que requieren espacios mayores
a 1 Byte (Cadena de caracteres, flotas, etc.) en memoria EEPROM.
g) Para hacer uso de la memora SRAM de datos de forma estática, es necesario utilizar la función
malloc que nos permite reservar n espacios de memoria. Esta función retornara el puntero a
dirección de memoria donde escribiremos nuestros n datos, por otro lado, es importante que
liberemos el puntero (utilizando la función free) al dejar de usar los n espacios de memoria
previamente reservados, ya que de lo contrario esos espacios de memoria no podrá ser utilizado
posteriormente.
3. vasanza
Problema #8: (10%)
¿Cuáles de las siguientes afirmaciones referentes a las memorias FLASH son ciertas?
a) Modificable en tiempo de ejecución
b) Modificable en tiempo de compilación
c) La única forma de acceder a los datos almacenados es usando punteros
d) Se puede especificar las direcciones de almacenamiento
Problema #9: (10%)
¿Cuáles de las siguientes afirmaciones referentes a comando GNU/Linux son ciertas?
a) sudo mkdir leccion // crea una carpeta leccion
b) sudo nano prueba.c // crea un fichero prueba.c
c) dmesg | grep tty // elimina un fichero
d) ls /dev/tty*// elimina carpeta vacía
e) vcgencmd measure_temp // permite eliminar la carpeta y sus carpetas madre