[Simh] VAX + Spectre

Bob Supnik bob at supnik.org
Tue Sep 17 13:55:52 EDT 2019


Funny you should ask. The short answer is no. No VAX ever did 
speculative or out of order execution.

Three developments had to come together for Spectre-style bugs:

1. Speculative execution that affects the cache or other indirectly 
testable state.
2. A high-precision, user-mode timer (for measuring cache or branch 
table perturbation effects).
3. A 'close-in' entity that can do low-latency measurements - the other 
thread(s) in a hyper-threaded CPU; another core in a multi-core chip; 
another processor on a SMP bus with extremely fast response time.

The VAX lacked all three. Aquarius and NVAX pipelined instruction 
execution, but they did not go out of order. The high-precision timers 
were IPRs only accessible in kernel mode. And the other processors in an 
SMP were very 'distant' in modern terms.

While IBM gets the credit (or blame) for speculative execution, it was 
Intel's decision to allow speculation to perturb the data cache that put 
the cat among the pigeons. Tthe high-precision user mode timer started 
with Alpha's cycle timer. As for close-in entities... the roots are 
tangled. Hyperthreading was in the air in the mid to late 90s; EV8 was a 
four-way threaded design. So was multicore - the WRL chip team proposed 
an eight-core EV56 as a cheaper-to-design-and-build alternative to EV8.

A more interesting question - and one more relevant, since a lot of 
Alphas are still running - is whether Alpha (in particular, EV6) is 
vulnerable. Again, I'm pretty sure the answer is no.  While EV6 did 
speculative execution, it would not allow speculative loads or stores to 
perturb the cache. It would be very difficult to exploit the branch 
prediction or subroutine return prediction tables, because they would be 
massively perturbed by any switch to a measurement thread or process. 
And theAlpha interprocessor SMP buses were too slow to allow effective 
measurements by a different processor.

/Bob

On 9/17/2019 12:00 PM, simh-request at trailing-edge.com wrote:
> Message: 1
> Date: Tue, 17 Sep 2019 09:55:01 -0400
> From: Paul Koning<paulkoning at comcast.net>
> To: SIMH<simh at trailing-edge.com>, "General Discussion: On-Topic and
> 	Off-Topic Posts"<cctalk at classiccmp.org>
> Subject: [Simh] Fwd: VAX + Spectre
> Message-ID:<21F0E611-E49F-422A-9D66-EDBA660AD106 at comcast.net>
> Content-Type: text/plain; charset="utf-8"
>
> "Spectre" is one of two notorious bugs of modern CPUs involving speculative execution.  I rather doubt that VAX is affected by this but I suspect others here have a lot more knowledge.
>
> 	paul



More information about the Simh mailing list