RapidIO devices use operations to communicate with each other. Operations are composed of transactions. As part of the discussion of switch, memory and processing elements, it is useful to understand the concept of operation and transaction ordering. For a simple system of two devices, ordering is a simple concept. For a more complex system where hundreds of devices might be issuing thousands of transactions, providing a system that ensures that all operations will be completed in a consistent and proper manner is more difficult. The following sections describe operation and transaction ordering and system deadlock considerations in a system using RapidIO.

3.4.1. Operation Ordering

Most operations in a system don't have a requirement placed on them with respect to the order in which they are completed; changes to the temporal relationships between the initiation of two or more operations and their completion will not adversely affect proper system operation. Figure 3.6 shows a system where the NREAD RESPONSE transactions return in a different order than the NREAD transactions that generated them. The Read operations are also completed in a different order. For most applications this behavior is acceptable and often encouraged as it may increase system performance. The Read transactions, in this example, may be targeted at single or multiple destinations.

Figure 3.6. Unordered operations

There are, however, several tasks that require events ...

Get RapidIO: The Next Generation Communication Fabric For Embedded Application now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.