Está en la página 1de 21

República de Venezuela

Universidad Rafael Urdaneta


Cátedra: Sistemas Telemáticos
Periodo 2022B

Taller N°1
Hardware en Sistemas de Tiempo Real

Estudiantes:
Gabriela Lobo C.I.: 25.483.621
Herjosebg Suarez C.I.: 20.204.571
Miguel Márquez C.I.: 24.737.569
Kevin Reyes C.I.: 27.671.510

Maracaibo, 7 de junio de 2022.


1. Considere un sistema de procesamiento de nómina para una empresa
de ascensores. Describa tres escenarios diferentes en los que el
sistema puede justificarse como tiempo real duro, firme o blando.
R.

Clasificación
Sistema de tiempo Justificación
real
El incumplimiento del plazo de envió de
la data del personal de nuevo ingreso a
Duro la nómina generaría que dicho personal
quede fuera de la institución hasta la
próxima fecha de entrega de dichas
Sistema de datas.
procesamiento de nómina Retardo en el envió de la data de pago
para una empresa de de nómina del personal activo en la
ascensores Firme empresa, en el horario establecido por la
entidad bancaria, ocasionaría retardo de
1 a 2 días en el pago a los empleados
Fallos en la generación de constancia de
Blando trabajos electrónicas, degrada el
rendimiento de la parte administrativa

2. Discuta si los siguientes son sistemas de tiempo real duros, firmes o


blandos:
R.

(a) El sistema de base de datos de manuscritos impresos de la Biblioteca del


Congreso.
Sistemas de Tiempo Blando: Dado que el uso de este sistema como base de
datos de manuscritos impresos limita su urgencia, sería aceptable que los plazos
no cumplidos degradaran el rendimiento del sistema.

(b) Una base de datos policial que proporcione información sobre automóviles
robados.

Sistemas de Tiempo Firme: Dado que esta base de datos se usaría en una
situación más crítica en cuanto al tiempo, solo se pueden tolerar plazos
incumplidos ocasionales.

(c) Un cajero automático en un centro comercial.

Sistemas de Tiempo Duros: Ya que se trata de manejo de dinero, tanto del banco
como del usuario, y su uso sería por parte de un usuario parado en la máquina.
Los plazos incumplidos ocasionalmente serían inaceptables para el usuario

(d) Un videojuego que funciona con monedas en algún parque de diversiones.


Sistemas de Tiempo Blandos

(e) Un sistema de procesamiento de calificaciones universitarias. Sistemas de


Tiempo Firme

(f) Un conmutador de enrutamiento controlado por computadora que se utiliza en


la centralita de una compañía telefónica. Sistemas de Tiempo Duros

3. Considere un sistema de control de armas en tiempo real a bordo de un


avión de combate. Discuta cuál de los siguientes eventos se consideraría
sincrónico y cuál se consideraría asíncrono para el sistema de computación
en tiempo real.

(a) Una interrupción de reloj de 5 ms, generada externamente.

(b) Una interrupción ilegal - instrucción - código (trampa).

(c) Una falla en la memoria de prueba incorporada.


(d) Una señal discreta generada por el piloto presionando un botón para disparar
un misil.

(e) Una señal discreta que indica "bajo nivel de combustible".

4. Describa un sistema que sea completamente no real: tiempo, es decir, no


hay límite alguno para ningún tiempo de respuesta. ¿Existen tales sistemas
en la realidad?

R.

Ningún sistema informático puede ser completamente en tiempo no real, ya que


siempre se le puede colocar algún tipo de límites, incluso si es tan largo como la
vida útil del usuario, la raza humana, el universo, etc.

5. Para los sistemas de tiempo real del ejercicio 2, ¿cuáles son los tiempos
de respuesta razonables para todos esos eventos?

R.

a) El sistema de base de datos de manuscritos impresos de la Biblioteca del


Congreso: En este caso, un tempo de respuesta razonable sería de máximo 5
segundos.

b) Una base de datos policial que proporcione información sobre automóviles


robados: Dado que se debe a una situación más crítica en cuanto al tiempo, lo
más razonable es que el tiempo de respuesta sea no más de una decena de
milisegundos.

c) Un cajero automático en un centro comercial: El tiempo promedio de


procesamiento debería ser 1 por segundo, en el peor de los casos, no más de
unos pocos segundos.

d) Un videojuego que funciona con monedas en algún parque de diversiones: El


tiempo de respuesta estaría ligado directamente a la velocidad del hardware, pero
unos pocos cientos de milésimas de segundo desde la decodificación zip hasta la
dirección parece razonable.

e) Un sistema de procesamiento de calificaciones universitarias: Una hoja de


calificación máxima razonable podría ser de 1 o 2 segundos

f) Un conmutador de enrutamiento controlado por computadora que se utiliza en la


centralita de una compañía telefónica: Unas pocas decenas de milisegundos
parecen ser adecuadas para manejar el enrutamiento del conmutador para una
compañía telefónica.

6. Para los sistemas de ejemplo presentados (medición inercial, monitoreo


de plantas de energía nuclear, reserva de aerolíneas, embotellado de pasta y
control de semáforos), enumere algunos eventos posibles y anote si son
periódicos, aperiódicos o esporádicos. Discuta tiempos de respuesta
razonables para los eventos.

7. Un sistema de control mide su cantidad de retroalimentación a razón de


100 μ s. En función de la medición, se calcula un comando de control
mediante un algoritmo heurístico que utiliza una toma de decisiones
compleja. El nuevo comando está disponible entre 27 y 54 μ s (distribuido
bastante uniformemente) después de cada momento de muestreo. Esta
fluctuación considerable introduce una distorsión dañina en la salida del
controlador. ¿Cómo podría evitar (reducir) tal incertidumbre? ¿Cuáles (si los
hay) son los inconvenientes de su solución?

8. Es una práctica común para los programadores crear pruebas continuas -


y - código de bucle para sondear los dispositivos de I/O o esperar a que se
produzcan interrupciones. Algunos procesadores proporcionan una
instrucción (WAIT o HALT) que permite que el procesador hiberne hasta que
ocurra una interrupción. ¿Por qué esta última forma más eficiente y
deseable?

R.
Usar la instrucción HALT/WAIT para esperar interrupciones es eficiente debido a
la sincronización del flujo del programa con eventos externos (hardware). Además,
HALT reduce el consumo de energía. La instrucción HALT suspende la operación
de la CPU hasta que se recibe una interrupción o reinicio. Mientras está en estado
detenido, el procesador ejecutará NOP para mantener la lógica de actualización
de la memoria.

9. En términos generales, sugiera un posible esquema que permitiría que una


máquina - la enseñanza del idioma sea interrumpible. ¿Cuál sería el efecto
general en el tiempo de ejecución de la instrucción y el rendimiento y la respuesta
de la CPU ¿veces?

10. ¿Cómo probaría la validez e integridad de los parámetros de fábrica


almacenado en la EEPROM? Dibuje un procedimiento adecuado para ese
propósito.

R.

11. Suponga un sistema de memoria jerárquico que tiene una


instrucción/datos conjuntos caché con memoria: costo de acceso de 10 ns
en caso de acierto y 90 ns en caso de error. Un diseño alternativo sin
arquitectura de memoria jerárquica tiene un memoria - costo de acceso de 70
ns. ¿Cuál es el caché mínimo - porcentaje de aciertos? que haría útil el
sistema de memoria jerárquica?

R.

Costo de memoria en acierto= 10ns


Costo de memoria en error= 90ns
Tiempo promedio de acceso= 50ns
P 100−P
Costo promedio = x 10 ns + x 90 ns=70 ns ( 70 ns−90 ns ) 100=( 10 p ) ns−¿
100 100
90p)ns
−20 ns
−20 nsx 100=-80pns x 100= p P=25%
−80 ns

El caché mínimo - porcentaje de aciertos que haría útil el sistema de memoria


jerárquica es P=25%.

10. ¿Cómo probaría la validez e integridad de los parámetros de fábrica?


almacenado en la EEPROM? Dibuje un procedimiento adecuado para ese
propósito.

R.

P= Pasa la prueba.
F= Falla la Prueba.
12. La arquitectura de Harvard ofrece direcciones y datos separados buses
para códigos de instrucciones y datos. ¿Por qué no es factible tener separa-
¿Califica los buses para E/S programadas también?
R.

No deben separarse porque esta arquitectura trae como beneficio un buen


comportamiento, disminución de latencia y disminución de cuello de botella en la
CPU y la memoria, ya que esta misma trae una mejora en el procesamiento de
instrumentos en paralelo y separarla traería como resultado retardo y bajo
rendimiento.

En la arquitectura Harvard, es posible tener diferentes anchos de bus para


instrucción y transferencia de datos. Por ejemplo, el bus de instrucciones podría
ser de 32 bits. de ancho y el bus de datos de sólo 16 bits de ancho. Además, el
bus de instrucciones-direcciones podría tener 20 bits y el bus de dirección de
datos 24 bits. Eso significaría 2M palabras de memoria de instrucciones y 16
millones de palabras de memoria de datos. Por lo tanto, la El diseñador
arquitectónico tiene flexibilidad al especificar las estructuras de los autobuses. La
Fig.1 representa la arquitectura de Harvard con instrucción paralela y acceso a
datos capacidades. Desde el punto de vista de los sistemas en tiempo real, la
arquitectura básica de Harvard representa una mejora del buen comportamiento;
no agrega latencia o no determinismo al ciclo de instrucción. Incluso se podría ver
como un alivio potencial para el cuello de botella de la CPU y la memoria; pero ese
no es el camino actualmente se utiliza la arquitectura de Harvard.

Hoy en día, tanto la arquitectura de Harvard como la de von Neumann incluyen


una serie de mejoras que aumentan el nivel de paralelismo en el procesamiento
de instrucciones. Las mejoras arquitectónicas más importantes se analizan a
continuación. A pesar de sus grandes beneficios en el caso promedio,
generalmente degradan la previsibilidad del tiempo y el desempeño en el peor de
los casos

13. Muestre con un ejemplo ilustrativo cómo se realiza la canalización de


cinco etapas en este (Fig. 2.) podría beneficiarse de la arquitectura de
Harvard.

R.
La imagen muestra la ejecución secuencial de la búsqueda, decodificación, carga,
ejecución y almacenar fases de dos instrucciones, lo que requiere 10 ciclos de
reloj. Debajo de eso La secuencia es otro conjunto de las mismas dos
instrucciones, más cuatro instrucciones más, con procesamiento superpuesto de
las fases individuales F-D-L-E-S. Esta tubería funciona perfectamente si las fases
de instrucción son todas de igual longitud, y cada instrucción necesita la misma
cantidad de tiempo para completarse. Si asumimos que una etapa de tubería toma
un ciclo de reloj, las dos primeras instrucciones son completadas en sólo seis
ciclos de reloj, y las instrucciones restantes se completan dentro de los 10 ciclos
de reloj.
En condiciones ideales con una continua tubería completa, una nueva instrucción
se completa a la velocidad de un ciclo de reloj. En general, el mejor tiempo de
finalización de instrucción posible de una canalización de N etapas es 1/N veces el
tiempo de finalización del caso no canalizado. Por lo tanto, la ALU y otros recursos
de la CPU se utilizan con mayor eficacia. Debería mencionarse, sin embargo, esa
arquitectura de tubería requiere registros de búfer entre las diferentes etapas del
procesamiento de instrucciones. Eso causa un retraso adicional a un ciclo de
instrucción segmentado en comparación con el ciclo no segmentado, donde las
transiciones de una fase a otra pueden ser directas sin un búfer intermedio escribir
y leer.

14. ¿Qué problemas especiales tienen las arquitecturas supercanalizadas y


superescalares? posar para los diseñadores de sistemas en tiempo real?
¿Son diferentes para no reales? sistemas de tiempo?

R.

Problemas de las arquitecturas supercanalizada para los diseñadores de sistemas


en tiempo real:

 El diseño del procesador segmentado es complejo.


 La latencia de las instrucciones aumenta en los procesadores
segmentados.
 El rendimiento de un procesador segmentado es difícil de predecir.

Problemas de las arquitecturas superescalares para los diseñadores de sistemas


en tiempo real:

 En un procesador superescalar, el efecto perjudicial sobre el rendimiento de


varios peligros se vuelve aún más pronunciado.
 Debido a este tipo de arquitectura, pueden ocurrir problemas en la
programación.

15. En los procesadores de tipo CISC, la mayoría de las instrucciones tienen


operandos de memoria, mientras que los procesadores de tipo RISC
acceden a la memoria mediante las instrucciones LOAD y STORE solamente.
¿Cuáles son las ventajas y desventajas de ambos esquemas?
R.

- Ventajas de los procesadores CISC


 Para el compilador se requiere de poco esfuerzo para traducir programas
de alto nivel o lenguajes de instrucciones a lenguaje ensamblador o
máquina
 El tamaño del código es corto, reduciendo los requisitos de memoria
 Almacenar las instrucciones CISC requieren de menos cantidad de
memoria RAM
 Genera procesos de administración de uso de energía que permiten ajustar
la velocidad y el voltaje del reloj
 Requiere de menos instrucciones configuradas para realizar la misma
instrucción que la arquitectura RISC

- Desventajas de los procesadores CISC


 Pueden requerir de varios ciclos de reloj para completar una
instrucción de un software
 El rendimiento del equipo sufre un descenso debido a la velocidad
del reloj
 La ejecución mediante canalización en procesadores CISC puede
ser realmente complicado
 Este diseño de procesadores requiere muchos más transistores que
la arquitectura RISC
 Utilizan sobre el 20% de las instrucciones existentes en un evento de
programación
 Tienen un diseño mucho mayor que la arquitectura RISC, lo cual
conlleva más generación de temperatura, mayor consumo y mayor
requisito de espacio físico

- Ventajas de los procesadores RISC


 Tienen la capacidad de ofrecer un mejor rendimiento gracias al menor
número de instrucciones y la simplicidad de las mismas
 Requieren de menos transistores, lo cual los hace más económicos de
diseñar y producir
 Permiten crear procesadores con «espacio» libre para añadir otros circuitos
o reducir sencillamente el encapsulado
 Este diseño requiere de menos consumo de energía y generan menos calor
que los procesadores RISC

- Desventajas de los procesadores RISC


 El rendimiento del procesador puede variar dependiendo del código que se
ejecuta, ya que las instrucciones posteriores que se ejecuten pueden
depender de una instrucción anterior
 Actualmente la mayoría de software y compiladores hacen uso de
instrucciones complejas
 Necesitan de memorias muy rápidas para almacenar diferentes cantidades
de instrucciones, que requieren de una gran cantidad de memoria caché
para responder a la instrucción en el menor tiempo posible

16. Está diseñando la arquitectura de una CPU de alto rendimiento para


hardware, aplicaciones en tiempo real. Enumerar y justificar las principales
selecciones arquitectónicas que usted haría.

R.

Los diseños principales de arquitectura para aplicaciones en tiempo real son:

 Arquitectura Cliente-Servidor: Una aplicación en tiempo real mantiene una


conexión persistente entre el cliente y el servidor. Ambos pueden enviar y
recibir mensajes de forma simultánea e independiente entre sí a través de
esa conexión (full dúplex).

 Arquitectura dirigida por eventos: Con un sistema dirigido por eventos, la


captura, comunicación, procesamiento y persistencia de eventos son la
estructura central de la solución. Esto difiere de un modelo tradicional
basado en solicitudes. La arquitectura basada en eventos permite un
acoplamiento mínimo, lo que la convierte en una buena opción para las
arquitecturas de aplicaciones modernas y distribuidas. Una arquitectura
impulsada por eventos está débilmente acoplada porque los productores de
eventos no saben qué eventos están escuchando los consumidores para un
evento, y el evento no sabe cuáles son las consecuencias de su ocurrencia.

 Cyclic Executive: aunque no es una arquitectura en absoluto, sino una


alternativa a un sistema operativo en tiempo real. Es una forma de
multitarea cooperativa, en la que solo hay una tarea. La única tarea
generalmente se realiza como un bucle infinito en main().

17. Discuta las ventajas y desventajas relativas de la memoria – mapeada


E/S, E/S programada y DMA en lo que respecta a los sistemas en tiempo real.

R.

- E/S mapeada en memoria: La ventaja de usar E/S mapeada en memoria es


que la CPU requiere menos lógica interna y por ende más barata, rápida y
fácil de construir; esto sigue los principios básicos de RISC, y es también
ventajoso en sistemas embebidos. El hecho de que instrucciones regulares
de memoria sean usadas para direccionar a E/S también significa que todos
los modos de direccionamiento de la CPU que están disponibles para
memoria lo estén también para E/S. Ya que los periféricos de 16 bits han
quedado anticuados y han sido sustituidos por los de 32 y 64 bits, reservar
rangos del espacio de direcciones para E/S no supone un gran problema.

- E/S programada: En cuanto a las desventajas con respecto a las E/S


programadas, es que el CPU tiene que esperar un tiempo considerable a
que el módulo de E/S en cuestión esté preparado para recibir o transmitir
los datos. El CPU debe estar comprobando continuamente el estado del
módulo de E/S. Se degrada el desempeño del sistema.
Ahora, una de las ventajas es el incremento de la eficiencia del sistema.
Mientras se lleva a cabo E/S, el CPU puede ser usado para procesar o para
planificar otras E/S. Como la E/S puede ser bastante lenta comparada con
la velocidad del CPU, el sistema hace un mejor uso de las facilidades.

- DMA: Algunas de sus ventajas son: permite que un dispositivo periférico lea
o escriba en la memoria sin pasar por la CPU y permite un procesamiento
más rápido ya que el procesador puede estar trabajando en otra cosa
mientras que el periférico puede ocupar la memoria.
En cuanto a sus desventajas, requiere un controlador DMA para realizar la
operación, lo que aumenta el costo del sistema y que puede presentar
problemas de caché.

18. ¿Por qué el controlador DMA tiene acceso a la memoria principal en la


mayoría de los sistemas? mayor prioridad que el acceso de la CPU a la
memoria principal?

R.

En un DMA, mientras los datos se transfieren entre la memoria y el dispositivo, si


se detiene o interrumpe por cualquier otro dispositivo como la CPU, se produciría
una pérdida de datos, ya que DMA no tiene un contador de programa a diferencia
de la CPU que almacena su posición actual. En CPU si se interrumpe, suspende
su funcionamiento sin pérdida de datos. Por lo tanto, DMA tiene una prioridad más
alta que la CPU.

19. Un sistema embebido tiene un convertidor A/D de 12 bits para medir


voltajes entre − 10 V y + 10 V. ¿Cuál es el valor digital correspondiente a +
5,6 V?
R.

R= 1. El error de cuantificación está dado por 2Xmax/q donde q = 2^n (n es el


número de bits).

Entonces, El error de cuantificación = 2*10/2^12 = 4.88 * 10^(-3)

El error de cuantización que obtuvimos es la resolución de ADC (convertidor


analógico digital). Ahora, +5.6V = 5.6 - (-10) = 15.6V

Entonces, 4.88 * 10^(-3) V Corresponde a un bit.

Valor decimal del voltaje = 15.6 / 4.88 * 10^(-3) = 3196.7 = 3197 

Entonces,    = 110001111101 en binario.

20. Encuentre un microcontrolador con instrucciones únicas y especiales y,


considerando el área de aplicación para ese procesador, discuta la
necesidad de esas especiales instrucciones.

R.

Microcontrolador Renesas RL78:

Renesas es la última familia de microcontroladores para automóviles que ofrece


características de alto rendimiento con un consumo de energía excepcionalmente
bajo en una amplia y versátil variedad de elementos. Este microcontrolador ofrece
una gran seguridad funcional y características de seguridad integradas requeridas
para aplicaciones automotrices nuevas y avanzadas. La estructura central de la
CPU del microcontrolador admite requisitos de alta confiabilidad y alto
rendimiento.

Además, este microcontrolador tiene una gran capacidad de memoria y pinout, por
lo que se utilizan principalmente en diferentes aplicaciones de control automotriz.
Algunas de las características principales del microcontrolador RENESAS RL78,
son:

 La arquitectura utilizada en este microcontrolador es la arquitectura CISC


Harvard que le da un alto rendimiento.
 RL78 está disponible en microcontroladores de 8 y 16 bits,
 RL78 está disponible desde 20 pines hasta 128 pines.
 Para el microcontrolador RL78, la memoria flash oscila entre 16 KB y 512
KB.
 El microcontrolador Renesas RL78 ofrece bajo consumo, alto rendimiento,
paquetes modestos y la gama más amplia de tamaños de memoria
combinados con periféricos ricos en características.

21. ¿Cuáles son las ventajas de los sistemas en chip sobre las
computadoras en chip?

R.

La primera y la más fundamental ventaja de los sistemas en chip, está en el ahorro


energético, económico y de espacio que propicia el hecho de juntar varias
funcionalidades en un único chip. Además, tener chips separados para las
distintas funcionalidades de un dispositivo puede suponer los siguientes
desperdicios:

 Un menor gasto económico en la propia fabricación de los chips.


 Si juntamos todas las funcionalidades en un único chip, produce el ahorro
de una buena cantidad de espacio dentro del dispositivo, algo que es crítico
en un teléfono móvil.
 Los buses de datos, que al fin y al cabo son un cableado, consumen una
cantidad de energía que nos podemos ahorrar si comunicamos
directamente cada pieza dentro del mismo chip.
22. Encuentre algunos ejemplos de sistemas comerciales en chip de la Web.

R.

Un ejemplo común de tecnología que utiliza un Sistema en Chip son las consolas
de videojuegos, como la Nvidia Tegra X1 utilizada en el Nintendo Switch o los
Sistemas en Chip AMD Flute y AMD Gonzalo que se espera que impulsen las
próximas Xbox y PlayStation, respectivamente.

También se encuentran las computadoras Raspberry Pi, las placas Arduino y los
kits STEM. Los Sistemas en Chip se usan a menudo en kits STEM porque son
fáciles de usar y, por lo tanto, útiles para enseñar STEM. También se encuentra en
teléfonos inteligentes y tabletas.

23. Un temporizador de vigilancia se utiliza para supervisar el funcionamiento de


un sistema integrado en un entorno de alta interferencia electromagnética (EMI).
¿Por qué es práctico conectar la salida del circuito de vigilancia a la salida no
enmascarable de la CPU (en lugar de enmascarar) la entrada de interrupción?

24. Enumere los diferentes medios de transmisión de datos mencionados en


clases y dar aplicaciones típicas para cada uno.

R.

Entre los medios de transmisión de datos mencionados en clases, tenemos:

 PAR (Positive Acknowledge or Retransmit): es un grupo de protocolos de


control de errores para la transmisión de datos a través de una red de
comunicación ruidosa o poco confiable. Estos protocolos residen en la capa
de enlace de datos y en la capa de transporte del modelo de referencia OSI
(Open Systems Interconnection). Proporcionan la retransmisión automática
de tramas que se corrompen o se pierden durante el tránsito.
 CSMA/CD: es una mejora del protocolo CSMA. Este algoritmo crea un
procedimiento que regula la forma en la que debe producirse la
comunicación dentro de una red con un medio de transmisión compartido.
La mejora introducida regula además cómo proceder en caso de colisiones,
es decir, cuando dos o más participantes intentan enviar paquetes de datos
simultáneamente a través del medio de transmisión (Bus) y estos interfieren
entre sí.

 CAN (Control Area Network): La red de área del controlador (CAN) es otro
tipo de protocolo de comunicaciones en serie que se desarrolló dentro de la
industria automotriz para permitir que varias unidades electrónicas en un
solo vehículo compartan datos de control esenciales. Un vehículo hoy en
día utiliza muchos microcontroladores para sistemas de control autónomo.

 PROFIBUS: conecta controladores y sistemas de control con sensores y


actuadores a nivel de campo (dispositivos de campo) y también permite el
intercambio simultáneo y consistente de los datos con sistemas superiores.
PROFIBUS es el estándar de automatización basada en Fieldbus de
PROFIBUS & PROFINET International (PI).

25. El protocolo activado por tiempo (TTP/C o TTP/A) se utiliza en seguridad


y tiempo - aplicaciones críticas. Realice una búsqueda en la Web para
encontrar proveedores específicos. Aplicaciones donde se utiliza.

R.

El Protocolo Activado por Tiempo, es un protocolo abierto de red informática para


sistemas de control. Fue diseñado como un bus de campo disparado por tiempo
para vehículos y aplicaciones industriales y estandarizado en 2011 como SAE
AS6003 (Protocolo de comunicación TTP).

Los controladores TTP han acumulado más de 500 millones de horas de vuelo en
aplicaciones de aviación comercial DAL A, en generación de energía, controles
ambientales y de vuelo. TTP se utiliza en FADEC y controles aeroespaciales
modulares y computadoras de vuelo. Además, los dispositivos TTP han
acumulado más de mil millones de horas operativas en aplicaciones de
señalización ferroviaria SIL4.

También podría gustarte