On Wed, 28 Feb 2018, Paul Koning via cctalk wrote:
With the VAX, this got cleaned up to a significant
extent, and ditto
with Alpha. In both cases, an internal validator tool was created to
verify that, at least from the point of view of instruction execution, a
new machine worked the same as an existing reference machine. But this
seems to be quite an unusual notion in the history of computer hardware
development generally. Even when standard specifications exist that
appear to spell out how an architecture is supposed to work, the reality
is that two implementations will in general do it differently. That is
particularly likely to happen in cases of "no one will do this" -- like
shifts by more than the word size, or other oddball stuff.
That's what architecture verification programs or AVP tests are for
nowadays. Everything that's not undefined in the architecture is supposed
to work as defined. This includes odd corner cases. Formal definitions
are included in the architecture specification.
Maciej