Very interesting article at the IEEE ACM by David Chisnall.
In the wake of the recent Meltdown and Spectre vulnerabilities, it's worth spending some time looking at root causes. Both of these vulnerabilities involved processors speculatively executing instructions past some kind of access check and allowing the attacker to observe the results via a side channel. The features that led to these vulnerabilities, along with several others, were added to let C programmers continue to believe they were programming in a low-level language, when this hasn't been the case for decades.
(Score: 2) by DrkShadow on Wednesday May 23 2018, @11:54PM
Ensure that you read the comments for this article. Some of them are well thought out and pointed. Especially,
This article is about the lack of speed due to lack of parallelization. Suppose that's not your driving factor -- maybe you need elliptic curve cryptography, or lots of simple, cheaply-written programs. Parallelization helps a great deal, from web servers serving many clients to big-data supercomputers doing a great deal all at once. They're not everything, though, and Intel seems to have identified the "else" as the majority -- whether from legacy code, presumed paradigms, or natural thought processes.