Gran parte del trabajo realizado en la programación de sistemas gira en torno a los plazos, lo que hace que la “programación en tiempo real” sea un componente clave del diseño del sistema. En general, la programación en tiempo real es codificar un sistema en el que algunas de las acciones del sistema deben cumplir con ciertos plazos. Estos plazos pueden ser internos o externos al sistema.
Gran parte del trabajo realizado en la programación de sistemas gira en torno a los plazos, lo que hace que la “programación en tiempo real” sea una parte importante del diseño del sistema. En general, la programación en tiempo real es codificar un sistema en el que algunas de las acciones del sistema deben cumplir con ciertos plazos. Estos plazos pueden ser internos o externos al sistema. Dichos sistemas a menudo se dividen en tiempo real “suave” o “duro”. Un sistema de tiempo real duro falla catastróficamente si no se cumple su fecha límite, mientras que un sistema de tiempo real suave se degrada si no se cumple su fecha límite, pero al menos el sistema puede seguir funcionando.
Una propiedad importante cuando se trata de sistemas en tiempo real es el tiempo de respuesta. El tiempo de respuesta de un sistema es simplemente el tiempo que tarda en responder a un estímulo externo.
Hay un juego infantil popular que representa el tiempo de respuesta. A veces se le conoce como “mano roja” o “bofetada”, pero recibe otros nombres en diferentes partes del mundo. Dos personas colocan sus manos una frente a la otra, con las palmas juntas como si rezaran. Los jugadores colocan sus manos hacia adelante y se tocan las yemas de los dedos.
El juego tiene “golpeadores” y “evasores”. El propósito del golpeador es romper el contacto y golpear la mano del evasor lo más fuerte posible. Los evasores deben mover las manos antes de ser abofeteados. Si esto tiene éxito, el evasor se convierte en un golpeador y tiene la oportunidad de vengarse.
Este juego es un gran ejemplo de la necesidad de sistemas en tiempo real y buenos tiempos de respuesta. Los slappers son sistemas en tiempo real que proporcionan estímulos externos y los evitadores deben responder. Del mismo modo, un sistema electrónico de tiempo real duro puede necesitar responder rápidamente o realmente sentir su dolor.
Como se mencionó anteriormente, el tiempo de respuesta es una parte integral de la programación del sistema y es importante rastrearlo y medirlo repetidamente. La pregunta es cómo probar exactamente esta propiedad. ¿Cómo sabe qué sistemas y arquitecturas le ayudarán a evitar el dolor?
Para evaluar esta característica, puede ejecutar puntos de referencia de tiempo de respuesta de especialistas. Funcionan al tener un dispositivo de prueba que proporciona una serie de señales de entrada al dispositivo bajo prueba. El dispositivo bajo prueba está programado para responder lo más rápido posible a los cambios en la señal de salida. El mejor sistema para hacer esto es hardware puro, ya sea un ASIC o FPGA, pero también son posibles los sistemas de software.
El gráfico de la Figura 1 muestra los peores tiempos de respuesta de los tres sistemas a diferentes cantidades de señales de entrada. La Figura 2 detalla las diferentes arquitecturas probadas. Como puede ver, los tiempos de respuesta varían desde unos pocos cientos de nanosegundos hasta unos 10 microsegundos. El sistema XMOS es consistentemente más rápido que otros sistemas y se escala mejor a medida que aumenta la cantidad de entradas.
¿Por qué los dispositivos XMOS responden mucho más rápido que otros microprocesadores? La respuesta breve es que los chips XMOS se diseñaron específicamente con esta característica en mente y toda la arquitectura se ajustó para ello. Consulte este artículo para obtener una descripción general de cómo la arquitectura hace esto.
¿Para qué se puede utilizar un buen tiempo de respuesta? Una respuesta que tarda demasiado puede hacer que el sistema pierda información o que el mundo exterior renuncie a la respuesta del sistema. Esto puede ocurrir en muchas áreas, como el control de motores, la interacción humano-computadora y la creación de redes. XMOS aprovecha el excelente tiempo de respuesta del chip para implementar protocolos de comunicación digital de alta velocidad. Estos a menudo tienen especificaciones de tiempo de respuesta muy estrictas que deben cumplirse. De lo contrario, el protocolo se romperá y la información se perderá. Este es un sistema duro en tiempo real con un “dolor” grave. Los plazos para estos protocolos suelen ser tan ajustados que tradicionalmente no se han implementado en absoluto en el software. Los excelentes tiempos de respuesta significan que las aplicaciones que antes eran solo de hardware ahora pueden implementarse en el software.
Puede encontrar un informe completo sobre los métodos de evaluación comparativa y los resultados descritos aquí en el documento técnico “Métodos de evaluación comparativa para analizar sistemas y procesadores integrados” disponible en el sitio web de XMOS.
Referencias:
- http://www.eeweb.com/blog/dave_lacey/when-software-stinks-and-what-to-do-about-it
- http://www.xmos.com