Newsgroups: comp.arch Path: utzoo!henry From: henry@zoo.toronto.edu (Henry Spencer) Subject: Re: VAX RISC Message-ID: <1990Nov1.180252.8427@zoo.toronto.edu> Organization: U of Toronto Zoology References: <10948@pt.cs.cmu.edu> Date: Thu, 1 Nov 90 18:02:52 GMT In article <10948@pt.cs.cmu.edu> lindsay@gandalf.cs.cmu.edu (Donald Lindsay) writes: >Given the tool as a constraint: what could RAXen look like? A MIPS >with stack-based calling convention and non-IEEE floating point?? >Condition codes? What about the VAX vector unit? Trap handlers, and >the stack searches for them? The three things you need to fix/break :-) in the MIPS chip if you want easy mechanical code translation from the VAX would be floating-point formats, condition codes, and stack-frame layout. FP formats are pretty obvious; it is just conceivable that you might be able to get by with conversion instructions, using IEEE arithmetic for the real work, but inevitably people would get different answers and start screaming. Condition-code dependencies are all through VAX code and are subtle, although in most cases a sophisticated code analyzer could find them and cope with them if really necessary. Stack-frame layout is a pain because it will mean slower function calls, but there are undoubtedly a billion things that know about it, and things like pointer arithmetic make it very difficult to fix this mechanically. >We know the page size... because they probably can't find all of the >places where VMS assumed it. VMS would need a lot of fixing no matter what. The harder part is that if the VMS system calls make page size visible at all, e.g. as the quantum of user memory-allocation requests, then user code will depend on it. -- "I don't *want* to be normal!" | Henry Spencer at U of Toronto Zoology "Not to worry." | henry@zoo.toronto.edu utzoo!henry