One of the major challenges in embedded designs is the ability to exhibit “real-time” determinism. This paper focuses on some of the key design considerations associated with real-time embedded solutions. It introduces a number of the advanced features in Intel® architecture processors and describes real-time considerations and recommendations.
A “Real-time system is one which has a constraint on the time permitted for the system to respond to an event. The response must happen regardless of system loading. The performance requirements and the real-time requirements of the system are orthogonal. A real-time system must have deterministic, reliable predictability. An example is the Anti-lock Breaking System (ABS) on a vehicle. Failure of the system to respond to inputs from sensors indicating a wheel lock could have serious consequences.
This paper defines a real-time system and distinguishes between “soft” and “hard” real- time systems. A hard real-time system is one in which the late completion of an operation is considered useless, could result in a failure of the entire system or cause harm to the user. A soft real-time system also has well-defined response requirements, but unlike hard real-time systems, they can cope with lateness. Usually, the lateness has a temporary negative impact on the system, but is recoverable and does not cause harm to the system or user.
It is very important that system designers make the distinction between hard real-time and soft real-time capabilities for their application early in the design process. This distinction can have significant impacts on design choices to be made later in the development cycle.
The paper describes how embedded Intel® architecture processors can be used effectively in embedded products that require real-time characteristics and notes the settings that a real-time developer should be aware of to add determinism to their product.