Achieving deterministic, hard real-time control on an IBM-compatible PC: a general configuration guideline
With the rapid development of personal computers (PCs) in the past 15 years, a trend has emerged in which conventional industrial microcontrollers are being replaced by PCs because they provide more computation power while at the same time support a user-friendly interface for better interoperability. Although there are many research efforts in this direction, a few key issues concerning the determinism of the PC hardware and firmware were overlooked that have critical impact on the hard real-time performance of such systems. Key issues include: the nondeterministic occurrence of system management interrupts (SMI), the nondeterministic I/O latency caused by PCI bus arbitration and hard disk buffering. These issues along with suggested solutions will be addressed in this paper. Due to the diversity of firmware (BIOS) and hardware design from different PC manufacturers, it is impossible to make a comprehensive list of rules to safeguard a deterministic controller PC configuration. The goal of this paper is therefore to present a general design guideline that can be used to analyze and configure a specific system with the help of necessary motherboard/chipset/BIOS manuals.