4 ms·
Memory ordering specs are a minefields. I commend the authors for demanding formal specifications from the manufacturers. But I don't think that the solution is
by solarexplorer 12y ago
Memory ordering specs are a minefields. I commend the authors for demanding formal specifications from the manufacturers. But I don't think that the solution is to come up with new alternative specs line x86-TSO. It is the manufacturers that have to guarantee us programmers a well defined behavior, that all of their current and future chips will comply to.
The fact that Intel had to relax their spec, to allow for observed behavior of their chips is ridiculous. I guess they need those formal specifications for their internal testing as much as we programmers do.
Parallel programming is hard enough, the manufacturers need to get their act together if they want to continue to sell those multicores...
- mafribe 12y agoOne of the reasons why manufacturers don't like to give fully formal specifications (they have them) to programmers is to avoid legal action if they change the CPU implementation.
- solarexplorer 12y agoYou mean manufacturers want to avoid legal action when they break their own specs? They already did, the paper contains an example. The point of an architecture specification is not to dictate a specific hardware implementation, but to establish a contract between hardware and software. When both parts comply, then the new implementation of a chip will run the old software without problems. A _formal_ specification is just a better contract. Of course it limits future implementation options, but if you want to stay backward compatible, you are limited anyway.