Significado de Plataforma Virtual

Valora el contenido

La plataforma virtual es en realidad otro nombre para la «simulación de su sistema». Básicamente son simulaciones de su diseño. En realidad, existen dos tipos principales de Plataformas virtuales, las que están diseñadas como representaciones cercanas del hardware y las que están destinadas al desarrollo de software importante.

Plataformas virtuales / prototipos de hardware

Estos son normalmente desarrollados por los equipos de hardware y reflejan la naturaleza precisa del ciclo del diseño. A menudo están escritos en lenguajes y bibliotecas propietarios o SystemC. Tienden a ser complejos, de bajo nivel, con precisión de ciclo y, lo que es más importante, extremadamente lentos, a menudo en los 10,000 ciclos por segundo. Deben desarrollarse con una excelente comprensión de los detalles íntimos del hardware, las canalizaciones del procesador, la arquitectura y las optimizaciones. Por lo general, solo se pueden validar contra la existencia del hardware y, con mayor frecuencia, son desarrollados por los equipos de diseño reales. A menudo, solo están disponibles después de que el diseño está completo y fabricado, y su creación y validación requieren muchos recursos.

Las plataformas virtuales de hardware se utilizan para ayudar en el diseño del sistema en términos de análisis arquitectónico y de rendimiento y compensaciones, y para software y firmware que dependen del hardware de muy bajo nivel. Con un rendimiento muy por debajo de un millón de instrucciones por segundo (MIPS), las plataformas virtuales de hardware solo se pueden utilizar prácticamente para pequeñas cantidades de desarrollo de software. Con velocidades de muchos órdenes de magnitud inferiores al tiempo real, se necesita demasiado tiempo para iniciar incluso los sistemas operativos más simples y ejecutar aplicaciones integradas simples.

Significado de Plataforma Virtual
Significado de Plataforma Virtual

Se ha escuchado a los cínicos afirmar que el beneficio real de los modelos de comportamiento de SystemC es obtener el rendimiento de la simulación de Verilog pero sin el costo de la licencia del simulador.

Plataformas virtuales de software / Prototipos

A diferencia de lo anterior, los prototipos virtuales de software están dirigidos al desarrollador de software, tienen instrucciones precisas, solo tienen la funcionalidad necesaria y pueden ejecutarse increíblemente rápido, lo que permite una verdadera simulación completa del sistema a velocidades en tiempo real. Es fácil obtener cientos de MIPS en una simulación de múltiples núcleos en una PC de escritorio estándar, con velocidades de más de 1,000 MIPS posibles.

Cuando se apunta al desarrollo de software, no es necesario proporcionar toda la funcionalidad de todos los componentes; el único requisito esencial es que sea posible ejecutar los binarios de producción sin modificar. Esto significa que las simulaciones deben ser totalmente precisas en cuanto a la instrucción, los procesadores deben modelarse con todas las interrupciones y comandos similares correctos, y los periféricos y los modelos de comportamiento se registran con precisión y proporcionan la funcionalidad adecuada. A menudo, los modelos se pueden crear a partir de libros de datos y la mayoría de los modelos son muy simples de crear. Por ejemplo, un procesador RISC de 32 bits debería tardar menos de 8 semanas en desarrollarse.

Una gran ventaja de las plataformas virtuales de software es que permiten la creación de una simulación de todo el sistema, incluido el entorno, con el que interactúa el sistema integrado, lo que permite un proxy verdaderamente representativo. El software que se ejecuta en una plataforma virtual de software no debería ver ninguna diferencia cuando se ejecuta virtual que cuando se ejecuta en el sistema integrado real.

La velocidad de las plataformas virtuales de software permite ejecutar miles y miles de millones de líneas de código en muchos procesadores, con total observabilidad, capacidad de control y muchas más opciones de análisis que las disponibles en el hardware real. En muchos casos, una plataforma virtual de software se ejecutará mucho más rápido que el hardware real. Y, por supuesto, a diferencia del hardware, los modelos de software se pueden implementar en todo el mundo al instante.

¿Por qué utilizar plataformas virtuales?

El software integrado contenido en los productos electrónicos modernos ha evolucionado drásticamente en los últimos años en tres dimensiones:

  • Escala: el uso de software integrado que opera en plataformas de hardware estandarizadas se ha vuelto cada vez más común a medida que aumenta el costo de producción de hardware de CI. Esto ha aumentado el gran volumen de código requerido para cada proyecto y el esfuerzo para producirlo.
  • Complejidad: las arquitecturas de procesadores de múltiples núcleos se han mejorado continuamente, proporcionando el rendimiento y la capacidad necesarios para satisfacer los requisitos de los productos modernos. Sin embargo, la codificación de estos nuevos procesadores se ha vuelto exponencialmente más compleja que las generaciones anteriores.
  • Calidad: la funcionalidad de los productos electrónicos modernos y los requisitos de calidad continúan aumentando drásticamente, lo que sugiere una tolerancia cero para los errores de posproducción. Además, el software integrado se ha vuelto más difícil de cambiar a medida que un producto pasa a producción.

En el pasado, el desarrollo y la verificación de software integrado se realizaba normalmente ejecutando código en un prototipo de la plataforma de hardware hasta que el equipo del proyecto estaba satisfecho de que se había logrado un sistema funcional. Esta solución requiere mucho tiempo, no es confiable en términos de calidad y es difícil de usar, lo que la hace poco práctica para el desarrollo de software integrado de próxima generación. De manera similar a la verificación de hardware hace 15 años, se deben aplicar nuevas ideas si se quiere producir software integrado de alta calidad de manera oportuna.

Las plataformas virtuales ofrecen una alternativa a los prototipos de hardware. Los modelos de software de los componentes clave en una plataforma de procesador se combinan para formar un subsistema ejecutable. Los modelos deben tener la funcionalidad suficiente para ejecutar el código correctamente, pero mantener un nivel de abstracción que proporcione el rendimiento necesario para realizar pruebas rigurosas.

Sobre el autor

Avatar
Dafne Planas Menendez
Soy una profesional altamente capacitada en el campo de la comunicación y la información. Me gradué en Periodismo de la prestigiosa Universidad Carlos III de Madrid, donde adquirí una sólida formación en investigación, redacción y producción de contenido para diversos medios. Además, complementé mis conocimientos con una Diplomatura en Historia de la Universidad Complutense de Madrid, lo que me brindó una comprensión profunda de la cultura y la sociedad en diferentes épocas y contextos.

Deja un comentario