Johnny, Dave,
I did find some old floating point bench mark info in one of my Saturn Calc
spreadsheets (that I can now read once again). The floating point bench mark was a tight
loop in F77 with a REAL*4 multiplication. The Sieve prime number test computed primes unto
8192 with F77 code.
System Sieve Flops Sieve Float Dhrystones
VUPS VUPS
PDP 11/23 2.027900 9693 .11 .05 (microcode FP)
PDP 11/24 11500 .06 (this 11/24 had the clock
potentiometer cranked up as fast as it could go)
PDP 11/44 .568600 61473 .39 .33 (using FPEM)
PDP 11/73 .319948 38837 .69 .21 833 (15 Mhz, microcode FP)
PDP 11/83 .241563 359416 .92 1.92 1153. (15 Mhz, FPP chip)
PDP 11/84 .388500 363774 .57 1.94 (18 Mhz, FPP chip)
M100-04 .218359 382592 1.02 2.04 1250. (20 Mhz, FPP)
VAX 11/780 .222200 187135 1.00 1.00 1500
uVAX II .259100 144829 .86 .77
VAX 8600 .059300 1035673 3.75 5.53
VAX 8700 .044920 885201 4.95 4.73
VAX 6420 .032160 1412804 6.91 7.55 17141
VAX 6610 .007305 9230000 30.42 49.32 66578
VAX 3500 .084370 525590 2.63 2.81 5612
MV3100 10e .057030 766470 3.90 4.10 8834
MV3100 30 .038906 1132743 5.71 6.05 15974
MV3100 80 .022187 1987578 10.01 10.62 22727
VS4000 90A .007289 9270000 30.48 49.54 66578
Alpha 666Mhz .000340 204000000 653.53 1090 2783964 (Alpha 666Mhz, EV67)
Best,
Mark
On Apr 10, 2026, at 9:19 AM, Johnny Billquist
<bqt(a)softjar.se> wrote:
On 10/04/2026 16.13, Mark Matlock wrote:
Dave,
Johnny reminded me about a limitation of this FPEM, specifically it does not work
with tasks that have external headers. When you TKB your F77 program add the /-XH switch
to make a task that does not have an external header. RSX11M+ by default would have /XH on
by default.
That's what I found in the code. There was also some conditional about external
headers, so it's a little confusing. But I didn't see it having any proper
handling of external headers, so I would probably say don't use them.
As I recall (maybe wrongly), you don’t have
to specify F77EIS when building the task, as long as FPEM is running. Also, if you
needFPEM to remove itself, I think you can UNStop it and it will change the vectors back.
I am interested in whether this will work on RSX11M+ V4.6
No. You also need F77EIS when using FPEM. The reason is that otherwise the initialization
tries to setup an FPP AST, which RSX gives an error about if you don't have an FPP.
You should also build a kernel without FPP support, since FPEM will not handle traps for
FPP instructions in the kernel, and will completely crash you out then. And finally, you
do need to build the tasks with /FP, so that the task header contains the storage for the
FPP information.
Oh, I see. I didn’t realize that RSX used any FP instructions in the kernel.
These are some of the reasons I think it would be
interesting to develop another FP emulation, but one that is more complete and which would
work with a FP-enabled kernel.
Johnny