Model vs. ARM

This note gives a complete comparison of our model with ARM hardware. As illustrated by the numerous tests of the table “Forbidden by model and observed”, ARM hardware contradicts our model. Refer to this companion page for an analysis.

We first provide a selection of some behaviours from the complete “Forbidden by model and observed” table. This selection first presents the test CoRR1, which is the archetype of the read-after-read hazard anomaly. We also show the more sophisticated CO-RSDWI, which includes CoRR1 as a sub-test. One may notice that our runs of these two tests demontrate observation of the read-after-read hazard anomaly on all tested machines.

The test MP+dmb+fri-rfi-ctrlisb, observed on Qualcomm APQ8060 only, is claimed by ARM designers to be legal. Although the very test MP+dmb+fri-rfi-ctrlisb is not observed on the more modern APQ8064, we have observed similar behaviours on this system. Some examples of those are LB+data+fri-rfi-ctrl, LB+data+data-wsi-rfi-ctrl, S+dmb+fri-rfi-ctrl. We logically think that those similar behaviours should also be considered legal.

Other tests are examples of invalid behaviours that are observed much less often and only on (quite ancient) quad-core systems Tegra3 and Exynos4412. We think those should not be considered legal — See the companion document for details on those “bizarre” tests. We here present two such behaviours: a coherence anomaly MOREDETOUR0052, and a violation of the MP+dmb+ctrlisb idiom included in the more complex MP+dmb+pos-ctrlisb+BIS.

There are 9 such tests
 KindModelARMSCTegra2APQ8060A5XA6XExynos5250Denver32Tegra3Exynos4412Exynos5410APQ8064BCM2836PI3BCortex-A72
CoRR1ForbidForbidNo, 2.2M/47GForbidNo, 1.6k/400MNo, 83/1.8GNo, 70k/3.2GOk, 0/10GOk, 0/8.3GOk, 0/1.1GNo, 1.7M/860MNo, 398k/2.0GOk, 0/6.8GNo, 11k/5.8GOk, 0/860MOk, 0/920MOk, 0/5.1G
   Forbid invalidated Forbid invalidatedForbid invalidatedForbid invalidated   Forbid invalidatedForbid invalidated Forbid invalidated   
CO-RSDWIForbidForbidNo, 4.6M/42GForbidNo, 204/60MOk, 0/2.2GNo, 40k/1.6GNo, 1/3.5GNo, 74k/5.0GOk, 0/1.1GNo, 204k/3.5GNo, 120k/6.9GNo, 89k/6.1GNo, 4.1M/4.9GOk, 0/860MOk, 0/920MOk, 0/5.1G
   Forbid invalidated Forbid invalidated Forbid invalidatedForbid invalidatedForbid invalidated Forbid invalidatedForbid invalidatedForbid invalidatedForbid invalidated   
MP+dmb+fri-rfi-ctrlisbForbidForbidNo, 107k/185GForbidOk, 0/20GNo, 107k/10GOk, 0/19GOk, 0/27GOk, 0/25GOk, 0/1.1GOk, 0/15GOk, 0/26GOk, 0/17GOk, 0/18GOk, 0/840MOk, 0/920MOk, 0/5.1G
   Forbid invalidated  Forbid invalidated           
LB+data+fri-rfi-ctrlForbidForbidNo, 126k/35GForbidOk, 0/1.4GOk, 0/2.4GOk, 0/2.6GOk, 0/3.4GOk, 0/1.1GOk, 0/2.5GOk, 0/4.8GOk, 0/4.6GNo, 126k/5.0GOk, 0/840MOk, 0/915MOk, 0/5.1G
   Forbid invalidated          Forbid invalidated   
LB+data+data-wsi-rfi-ctrlForbidForbidNo, 1.0M/315GForbidOk, 0/5.8GOk, 0/25GOk, 0/14GOk, 0/19GOk, 0/26GOk, 0/1.1GOk, 0/48GOk, 0/54GOk, 0/57GNo, 1.0M/58GOk, 0/840MOk, 0/915MOk, 0/5.1G
   Forbid invalidated          Forbid invalidated   
S+dmb+fri-rfi-ctrlForbidForbidNo, 375k/34GForbidOk, 0/1.3GOk, 0/2.4GOk, 0/2.6GOk, 0/3.4GOk, 0/1.1GOk, 0/2.4GOk, 0/4.8GOk, 0/4.6GNo, 375k/5.0GOk, 0/840MOk, 0/915MOk, 0/5.1G
   Forbid invalidated          Forbid invalidated   
MOREDETOUR0052ForbidForbidNo, 9/36GForbidNo, 7/3.4GNo, 2/24GOk, 0/3.4GOk, 0/2.5GOk, 0/420MOk, 0/420MOk, 0/2.6G
   Forbid invalidated       Forbid invalidatedForbid invalidated     
MP+dmb+pos-ctrlisb+BISForbidForbidNo, 20/24GForbidNo, 20/4.2GOk, 0/10GOk, 0/3.4GOk, 0/2.5GOk, 0/420MOk, 0/423MOk, 0/2.6G
   Forbid invalidated       Forbid invalidated      
LBAllowAllowOk, 87M/41GForbidOk, 48k/400MOk, 3.7k/780MOk, 31M/3.2GNo, 0/9.4GNo, 0/8.3GNo, 0/1.1GOk, 17M/860MOk, 39M/2.0GNo, 0/6.8GOk, 231k/800MNo, 0/860MNo, 0/920MNo, 0/5.1G
        Allow unseenAllow unseenAllow unseen  Allow unseen Allow unseenAllow unseenAllow unseen

This document was translated from LATEX by HEVEA.