Measuring performance of processor instructions and operating system services in soft processor based systems
Péter Molnár, János Végh · 2017
A flexible execution time benchmarking hardware setup for performance measurements at processor instruction and operating system level is presented, and the issues of methodology of measuring execution times inside operating systems running on modern processors is discussed. The benchmarking setup was implemented and the measurements were carried out in a system powered by a NIOS II soft processor and running the Micrium μC/OS-II operating system. Slight modifications to both the processor (adding custom instructions) and the operating system (adding alternative implementation of some system services) have been made. The goal of that study (published earlier) was to characterize quantitatively the performance changes made in interest of accelerating the execution of some operating system services. Because of the architectural solutions in both the hardware and the system software, special care was devoted towards providing clean measurement conditions. The basic building stone of the measurement setup is a hardware module connected to the processor in a way which minimizes the interference with the hardware operation. The control of the module is realized in instruction set architecture level and in operating system level, with the possibility of future extensions.