Метод аналізу тривалості виконання програмного коду з урахуванням архітектури мікроконтролера
Анотації
Розглянуто загальні проблеми, які можуть виникнути під час аналізу тривалості виконання програмного коду вбудованої системи. Огляд існуючих підходів, проведений авторами, показав, що методи, засновані на аналізі кеш-пам’яті та архітектури конвеєра команд мікроконтролера, неефективні для оцінки тривалості виконання програмного коду, що виконується на мікроконтролерних вбудованих системах. Один зі способів підвищення ефективності аналізу тривалості виконання програмного коду — це врахування внутрішньої архітектури мікроконтролера, включаючи затримки, що відбуваються під час обміну даними між внутрішніми модулями мікроконтролера та затримками при передачі даних через стандартні інтерфейси зв’язку.
Запропоновано метод аналізу тривалості виконання програмного коду з урахуванням швидкості обміну даними між внутрішніми модулями мікроконтролера та швидкості надсилання даних через інтерфейси зв’язку. Чисельними експериментами доведено підвищення точності отриманих результатів у порівнянні з існуючими методами.
Підвищення ефективності запропонованого методу, можливе шляхом врахування тривалості читання даних з оперативної пам’яті, а також за рахунок автоматизації процесу розрахунку тривалості виконання програми. Рассмотрены общие проблемы, которые могут возникнуть при анализе продолжительности выполнения программного кода встроенной системы. Обзор существующих подходов, проведенный авторами, показал, что методы, основанные на анализе кэш-памяти и архитектуры конвейера команд микроконтроллера, неэффективны для оценки продолжительности выполнения программного кода, выполняемого на микроконтроллерных встроенных системах. Один из способов повышения эффективности анализа продолжительности выполнения программного кода — это учет внутренней архитектуры микроконтроллера, включая задержки, происходящие при обмене данными между внутренними модулями микроконтроллера и задержками при передаче данных через стандартные интерфейсы связи.
Предложен метод анализа продолжительности выполнения программного кода с учетом скорости обмена данными между внутренними модулями микроконтроллера и скорости передачи данных через интерфейсы связи. Численными экспериментами доказано повышение точности полученных результатов по сравнению с существующими методами.
Повышение эффективности предложенного метода, возможно путем учета продолжительности чтения данных из оперативной памяти, а также за счет автоматизации процесса расчета продолжительности выполнения программы. The paper deals with common problems that are likely to be encountered when analyzing the execution time of the firmware of any typical embedded system. The overview of the existing approaches performed by the authors has revealed that methods based on analysis of the cash memory and the instruction pipeline architecture of the embedded system being investigated are impractical for evaluating the execution time of the firmware running in microcontroller-based embedded systems. One of the ways of making the results of firmware execution time analysis more accurate is to take into consideration the internal architecture of the microcontroller including delays introduced by data exchange between internal blocks of the microcontroller via modules that implement standard communication interfaces.
We have proposed a method for firmware execution time analysis that assumes the following steps: determining the settings of the microcontroller on the basis of the firmware, determining interconnections between the synchronization buses and the internal blocks, analysis of the settings of communication interfaces for external peripheral devices, and calculation of the firmware execution time itself. Upon the performed multiple numerical experiments, one can conclude that the proposed method provides more accurate results in comparison with the existing methods.
The authors are planning to enhance the accuracy of calculating the firmware execution time due to making allowances for the duration of reading data from random access memory and due to the fact that the proposed method might be automated, in order to reduce the time of analysis for commercial projects. After being automated, the introduced method is applicable for verification of different methods for measurement of the firmware execution time.
URI:
http://ir.lib.vntu.edu.ua//handle/123456789/24958