2.3. How Accurate are Fast Models?

Fast Models aim to be accurate to the view of the system programmer. Architecturally-correct software is not able to tell the difference between running on hardware and running on the model.

Software is able to detect differences between hardware and the model, but these differences generally depend on behavior that is not precisely specified. For example, it is possible to detect differences in the exact timings of instructions and bus-transactions, effects of speculative prefetch and cache victim selection. Certain classes of behavior are specified as unpredictable and these cases are detectable by software. A program that relies on such behavior, even unintentionally, is not guaranteed to work reliably on any device, or on a Fast Model. Programs that exploit this behavior might execute differently between the hardware and the model.

Fast Models are only concerned with accuracy from the point of view of the program running on the processors. They do not attempt to accurately model bus transactions. PVBus provides the infrastructure to ensure that the program gets the correct results.

The rest of this section looks at specific areas where the model might differ from hardware.

Copyright © 2008-2013 ARM. All rights reserved.ARM DUI 0423O