Even in a simplified model of a test system (see Figure 1), there are many hardware and software components that can affect bus performance. In the host, the software application, operating system, CPU/RAM combination, software stacks, drivers, and hardware interface will affect bus performance. On the instrument side, the I/O hardware and firmware, CPU/RAM combination, software application and measurement speed will affect the bus performance. Changing any one of these components may change the bus performance, just like changing from one bus to another will affect overall system performance. All of these components can be categorized into one of the four main factors affecting bus performance. A lot of bus performance comparisons focuses solely on the bus bandwidth ignoring the other hardware and software components that influence actual bus performance.
Figure 1. Host PC and Instrument System Components
The four major factors that affect bus performance are bandwidth, latency, implementation, and application. The bandwidth is the data rate. This is usually measured in millions of bits per second (Mbits/s). The latency is the transfer time. This is usually measured in seconds. For example, in Ethernet transfers, large blocks of data are broken into small segments and sent in multiple packets. The latency is the amount of time to transfer one of these packets. The implementation of the bus software, firmware, and hardware will affect its performance. Not all instruments are created equal. A PC implemented with a faster processor and more RAM will have higher performance than one with a slower processor and less RAM. The same holds true for instruments. The implementation trade-offs made by the instrument designer, whether a user-defined virtual instrument or vendor-defined traditional one, will have an impact on the instrument performance. One of the main benefits to virtual instruments is that the end user, as the instrument designer, decides the optimal implementation trade-offs.
The final major factor affecting bus performance is the application or how the instrument is used. In some applications, the measurement subsystem is the bottleneck and in others the bottleneck is the processor subsystem. Understanding which subsystem is the bottleneck provides a path to improving performance. And the key point remains that in order for a particular bus to be high performance or even usable, it must exceed the application requirements.
Figure 2. Theoretical Bandwidths vs. Latencies of Mainstream T&M Buses
Considering each major factor in more detail will help users to better understand the trade-offs.