Re: "Double Precison" Keywords?



nmm1@xxxxxxxxx wrote:
(snip on S/370 style extended precision)

Sigh. The DXR instruction DID exist, and was generated by the
compilers. It was trapped and emulated by a combination of the
Fortran and PL/I run-time systems and supervisor code. In a
much later design (the System/390) it was provided in hardware,
and then the compiled code invoked it.

It is a little strange, though. It has a two byte opcode,
and so four byte instruction, unlike the other RR form
instructions.

For reasons that I never did understand, the assembler did not
originally have a DXR opcode, but had a macro that generated
the extended instruction code that was reserved for the actual
DXR instruction.

There must be some rule about the assembler and hardware
implementation of instructions. It seems strange to me, too.

And it was FAR more likely space, rather than time, given the
complexity of the emulation code - and, yes, I have worked on it.

IBM has been pretty good at doing statistical analysis
instead of just guessing.

Extended precision floating point was developed for the 360/85.

And they allowed for a future implementation of DXR in hardware
at that stage.

As you probably know, Fortran and I think PL/I ran on machines
with no floating-point, by emulating all of those instructions
in the same way that DXR was emulated.

You mean for S/360 processors? I know FP was available down
to the 360/30, and probably not for the 360/20. I might remember
that the floating point registers were implemented even on
machines without FP microcode. That makes the software
emulation much easier.

I don't remember seeing any such code, though. I have seen the
decimal emulation code for the 360/91. (Which, unlike extended
precision, was done all in the OS.)

-- glen
.



Relevant Pages

  • Re: mmiotrace bug: recursive probe hit
    ... Vegard mentioned something about per-cpu page tables for kmemcheck. ... Emulate the faulting instruction. ... The catch is the instruction emulation. ... Mmiotrace, apart from executing the instruction with a modified address, ...
    (Linux-Kernel)
  • [PATCH] PPC Emulate obsolete instructions
    ... SIGTRAP after emulating an instruction if single-stepping is enabled. ... /* Illegal instruction emulation support. ... static int emulate_instruction(struct pt_regs *regs) ... void SingleStepException ...
    (Linux-Kernel)
  • Re: mmiotrace bug: recursive probe hit
    ... Doesn't the same hold for mmiotrace? ... Emulate the faulting instruction. ... something accesses the bogus mapping, emulate and step over the faulting ... The catch is the instruction emulation. ...
    (Linux-Kernel)
  • Re: Portable CP/M
    ... When the hardware executes an SIO ... instruction the data that would normally go to the channel instead ... the IBM system 1130's XIO (execute I/O) instruction ... I'm unsure if there are well-agreed-upon terms for where the emulation occurs. ...
    (comp.os.cpm)
  • Re: mmiotrace bug: recursive probe hit
    ... This would be the ultimate solution, because it would solve two problems: ... The catch is the instruction emulation. ... I fear modifying KVM emulation code is a too heavy job for me personally. ...
    (Linux-Kernel)