Real-Time Priority System Response Times
A version of this page is also available for
4/8/2010
Response times on hardware platforms differ based on predictable factors such as microprocessor type, clock speed, bus speed, and so on. Aside from hardware performance, the IST start times vary from one interrupt event to the next based on unpredictable factors such as the state of the processor cache and whether the IST is the currently running thread.
If your platform does not meet your real-time performance requirements, you have the following options:
- Adjust the priorities of the system's ISTs.
Proper tuning of ISTs can have a large impact on the overall performance of any real-time system. - Put more processing into the ISR.
This is discouraged because when an ISR is running, no other threads are scheduled, and lower priority interrupts are masked. You might experience poor device performance or missed input if an ISR takes too long. - Add buffering hardware that can store data relevant to several interrupt events and modify the IST so that it gathers the data generated by multiple interrupt events from the buffering hardware.
This enables the IST to process interrupts in batches, resulting in increased real-time performance. - Use a higher clock frequency on the microprocessor, on the data bus, or on both.
- Investigate your ISR and IST latency with ILTiming.exe.
Peripherals that connect to a hardware platform through a serial port can do so at the maximum speed of the serial port. Most serial ports are buffered internally by 16550-class universal asynchronous receiver-transmitters (UARTs) capable of relaying 115 kilobits per second. Consult the manufacturer for specific information. PC Card socket speeds vary, also; again, the authoritative source of information is the manufacturer.