[Info-vax] VAX vs. MV/8000 [was Re: Hard links on VMS ODS5 disks]

Dan Cross cross at spitfire.i.gajendra.net
Tue Aug 29 13:38:40 EDT 2023


In article <uckthl$2m8$3 at news.misty.com>,
Johnny Billquist  <bqt at softjar.se> wrote:
>On 2023-08-28 16:59, Dan Cross wrote:
>> In article <uci441$lgj$2 at news.misty.com>,
>> Johnny Billquist  <bqt at softjar.se> wrote:
>>>[snip]
>>> I've tried to stay out, and don't want to get too deep in.
>>> But in a sense, my question/issue would be: Can you take a binary for
>>> x86 and run it without any "mode bit", or anything else, on an x86-64
>>> and it works?
>> 
>> Provided you set up segmentation correctly, those binaries will
>> run just fine.  You simply execute it in a 32-bit code segment,
>> with 32-bit data segments.  Is a "mode" bit involved?  Kinda
>> sorta, but that's an implementation detail.  Usually the OS does
>> this for you; the user program doesn't care.
>
>Which is equally true for the PDP-11 mode bit on the VAX. ;-)

This is true.

>User programs just run. The OS is handling all the details on how to 
>actually get the machine in the correct state.

This is also true, though I don't see any reason that the OS
couldn't set up 32-bit segments in addition to 64-bit segs and
let a user process jump between them, shifting some of the
burden to the application, if it wanted it.  It'd be sort of a
silly exercise, though I doubt there's a technical limitation
there.

>> But this is a strawman argument that is, again, besides the
>> point I was making.  I never said you don't have to take care
>> when running 32-bit binaries on a 64-bit system, nor did I say
>> that _every_ instruction is compatible between 32-bit and 64-bit
>> x86.
>
>Oh, I agree that we're splitting hairs. But I do think DG went a bit 
>further than AMD did, with the goal of being able to basically just move 
>the binaries over and run them. Hence the two stacks, and all that ugliness.
>Yes, the OS might still need to set some things up, but I don't think 
>it's completely comparable what DG did with what AMD did, just as it 
>isn't the same as what DEC did.

I agree with this.  Certainly, what AMD did was not _exactly_
like what DG did, just as it wasn't exactly like what DEC did.
I just think that the AMD mechanism is more like DG in the sense
of allowing a 64-bit program to execute 32-bit instructions
without a mode switch.

>And with all that said, I do think DG made a bad choice. AMD basically 
>did a good choice (or better, at least - anything involving the x86 is 
>inherently bad... ;-) ).

Agreed.

AMD had the benefit of a few decades after both VAX and DG, and
likely the insight of engineers familiar with both.  They chose
a middle path that, IMHO, is a good combination of both.

I also agree that x86 is a dumpster fire of bad design
encumbered by legacy otherwise.

	- Dan C.




More information about the Info-vax mailing list