Preview

Труды Института системного программирования РАН

Расширенный поиск

Тестовое окружение для верификации многопроцессорной системы прерываний с поддержкой виртуализации

https://doi.org/10.15514/ISPRAS-2020-32(2)-5

Полный текст:

Аннотация

Система прерываний является важной частью микропроцессоров. Прерывания широко используются для взаимодействия с оборудованием и реагирования на сигналы. Современные микропроцессорные системы прерываний включают аппаратную поддержку виртуализации. Аппаратная поддержка помогает повысить производительность виртуальных машин. Однако добавление дополнительной функциональности может привести к появлению потенциальных ошибок. В статье представлен обзор подходов, используемых для систем прерывания в многоядерных микропроцессорах с аппаратной поддержкой виртуализации. Описаны некоторые определения и характеристики систем прерываний, которые необходимо учитывать в процессе проверки. Представлена общая схема автономной среды верификации. Universal Verification Methodology была применена для построения тестовой системы. Для упрощения разработки модуля проверки использовалась эталонная модель с учетом временных характеристик. Последовательности первичных запросов и автоматически генерируемые вторичные запросы в специальных модулях авто генерации использовались для рандомизации поведения тестовой системы. Были описаны некоторые трудности, обнаруженные в процессе верификации, а также соответствующие методы их решения. Представлены обобщенные этапы алгоритма тестирования. Были рассмотрены некоторые другие методы проверки корректности работы системы прерываний. В заключение приведены примеры применения предложенных подходов для верификации системы прерываний микропроцессоров с архитектурой Эльбрус и «SPARC-V9», разработанной АО МЦСТ. Представлены результаты и дальнейший план развития тестовой системы.

Об авторах

Дмитрий Алексеевич ЛЕБЕДЕВ
АО «МЦСТ»
Россия
Инженер по верификации аппаратуры


Виталий Николаевич КУЦЕВОЛ
АО «МЦСТ»
Россия
Старший инженер-программист


Список литературы

1. Makoto Higashi, Tetsuo Yamamoto, Yasuhiro Hayase, Takashi Ishio, and Katsuro Inoue. An effective method to control interrupt handler for data race detection. In Proce. of the 5th Workshop on Automation of Software Test, 2010, pp. 79–86.

2. ARM Generic Interrupt Controller Architecture Specification version 4.0, 2107, available at: https://static.docs.arm.com/ihi0069/c/IHI0069C_gic_architecture_specification.pdf, accessed 25.05.2020.

3. Intel Virtualization Technology for Directed I/O, Architecture Specification. Intel, 2019, available at: https://software.intel.com/sites/default/files/managed/c5/15/vt-directed-io-spec.pdf, accessed 25.05.2020.

4. Znamenskiy D.V. Alternatives of hardware virtualization support inplementation for Elbrus processor architecture. Voprosy radioelektroniki, 2014, vol. 4, no. 3, pp. 64–73 (In Russian) / Знаменский Д.В. Выбор вариантов реализации средств аппаратной поддержки виртуализации архитектуры «Эльбрус». Вопросы радиоэлектроники, том 4, no. 3, стр. 64–73.

5. Hennessy J.L., Patterson D.A. Computer Architecture: A Quantitative Approach. Fifth Edition. Morgan Kaufmann, 2012. 857 p.

6. Chungha Sung, Markus Kusano, Chao Wang. Modular Verification of Interrupt-Driven Software. In Proc. of the 32nd IEEE/ACM International Conference on Automated Software Engineering, 2017, pp. 206–216.

7. Lebedev D.A., Petrochenkov M.V. Test environment for verification of multi-processor memory subsystem unit. Trudy ISP RAN/Proc. ISP RAS, vol. 31, issue 3, 2019. pp. 67-76. DOI: 10.15514/ISPRAS-2019-31(3)-6.

8. John Regehr. Random testing of interrupt-driven software. In Proc. Of the International Conference on Embedded Software, 2005, pp. 290–298.

9. Standard Universal Verification Methodology, available at: http://accellera.org/downloads/standards/uvm, accessed 25.05.2020.

10. Kamkin A., Chupilko M. A TLM-based approach to functional verification of hardware components at different abstraction levels. Proc. of the 12th Latin-American Test Workshop (LATW), 2011, pp. 1-6.

11. Petrochenkov M., Stotland I., Mushtakov R. Approaches to Stand-alone Verification of Multicore Multiprocessor Cores. Trudy ISP RAN/Proc.ISP RAS, vol. 28, issue 3, 2016, pp. 161-172. DOI: 10.15514/ISPRAS-2016-28(3)-10.

12. Averill M. Law, W. David Kelton. Simulation Modelling and Analysis. 3rd edition. McGraw-Hill Education, 2000, 784 p.

13. TLM-2.0.1. TLM Transaction-Level Modeling Library, available at: http://www.accellera.org/downloads/standards/systemc, accessed 25.05.2020.

14. -2017 - IEEE Standard for SystemVerilog--Unified Hardware Design, Specification, and Verification Language, available at: https://standards.ieee.org/standard/1800-2017.html, accessed 25.05.2020.


Рецензия

Для цитирования:


ЛЕБЕДЕВ Д.А., КУЦЕВОЛ В.Н. Тестовое окружение для верификации многопроцессорной системы прерываний с поддержкой виртуализации. Труды Института системного программирования РАН. 2020;32(2):53-60. https://doi.org/10.15514/ISPRAS-2020-32(2)-5

For citation:


LEBEDEV D.A., KUTSEVOL V.N. Test environment for verification of multi-processor interrupt system with virtualization support. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2020;32(2):53-60. https://doi.org/10.15514/ISPRAS-2020-32(2)-5



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)