<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<blockquote type="cite">Well, then the first question that needs to
be answered, which model of PDP-11 was that code expected to run
on</blockquote>
<p>ANF-10 primarily runs on the 11/40 (well, and the PDP-10s).
Exceptions: DN200 remote station: 11/34, DN22: 11/04 .</p>
<p>CHK11 compiles accordingly.<br>
</p>
<div class="moz-cite-prefix">On 20-Jul-20 18:19, Johnny Billquist
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:a033f716-a8fd-8b64-5c56-26f29532214e@softjar.se">Well,
then the first question that needs to be answered, which model of
PDP-11 was that code expected to run on, because the results will
differ depending on that. Also, what kind of memory? (I would
guess some old, small core memory boards.)
<br>
The PDP-11 execution speed really does vary based on many factors,
on real hardware...
<br>
<br>
Johnny
<br>
<br>
On 2020-07-21 00:13, <a class="moz-txt-link-abbreviated" href="mailto:simh@swabhawat.com">simh@swabhawat.com</a> wrote:
<br>
<blockquote type="cite">
<br>
<br>
L.S.
<br>
<br>
Actually where this is important, is when using Pdp11 based
ANF10 workstations in the Tops10 realm.
<br>
<br>
When starting up, the Anf10 software on the pdp11 sim test
various devices for functionality thereby using instruction
count based loops etc.
<br>
When all the devices necessary (paper tape reader/punch,
incremental plotter interface, DZ and DH multiplexors, DMS and
DUP/KDP devices and DL11 interfaces) are properly verified, it
cranks up the communication configuration with scanning the
network for active Pdp10 Tops10 host systems.
<br>
The throttling of the pdp11 should be carefully selected to let
this function.
<br>
<br>
<br>
Reindert
<br>
<br>
<br>
-----Original Message-----
<br>
From: Simh [<a class="moz-txt-link-freetext" href="mailto:simh-bounces@trailing-edge.com">mailto:simh-bounces@trailing-edge.com</a>] On Behalf Of
Johnny Billquist
<br>
Sent: Monday, 20 July, 2020 23:20
<br>
To: Paul Moore <a class="moz-txt-link-rfc2396E" href="mailto:paulmoore100@hotmail.com"><paulmoore100@hotmail.com></a>;
<a class="moz-txt-link-abbreviated" href="mailto:simh@trailing-edge.com">simh@trailing-edge.com</a>
<br>
Subject: Re: [Simh] pdp 11 timing
<br>
<br>
Instruction timing as such is not relevant. Different
implementations had very different timings, not to mention that
speed of memory also makes a difference.
<br>
<br>
Devices basically do not have a strict timing either, but yes,
there is plenty of software that assumes that an interrupt does
not happen before a single instruction have been executed after
the previous interrupt, from the same device, for example.
<br>
On real hardware that was just an absurd case that lots of code
never considered, since it wasn't really physically possible for
it to happen.
<br>
<br>
The throttling in simh is because some people want the emulation
to somewhat mimic the real thing. For some people, that
experience of slowness is desirable.
<br>
<br>
Johnny
<br>
<br>
On 2020-07-20 23:10, Paul Moore wrote:
<br>
<blockquote type="cite">(I am writing my own emulator just
because I have never done that
<br>
before, and the PDP 11 is such a pivotal system in the history
of
<br>
modern computing it seemed worth learning about, and what
better way
<br>
to learn than to emulate it )
<br>
<br>
So how important is timing of instruction execution and device
response?
<br>
<br>
The PDP 11 docs go to great length giving instruction timing.
But the
<br>
fact that there is a % throttle in simh suggest that’s not
important.
<br>
I assume that turning that throttle up and down makes the
emulated CPU
<br>
go faster and slower. I have seen code using simple counters
as delays
<br>
but I assume that if you want precision you use the Kw11.
<br>
<br>
With regards device responses I have found that going ’too
fast’
<br>
upsets code. If they do something that triggers an interrupt
(set ‘go’
<br>
for
<br>
example) and the interrupt arrives too soon (like before the
next
<br>
instruction) they get surprised and can misbehave (you could
argue
<br>
that’s a bug, but that’s irrelevant). So always wait a few
beats. But
<br>
I assume there is no reason to try to precisely emulate the
timing of
<br>
, say, a disk drive. (The early handbooks state how awesome
the async
<br>
nature of the IO subsystem is cos you can swap out old for new
and
<br>
things just go faster).
<br>
<br>
<br>
_______________________________________________
<br>
Simh mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Simh@trailing-edge.com">Simh@trailing-edge.com</a>
<br>
<a class="moz-txt-link-freetext" href="http://mailman.trailing-edge.com/mailman/listinfo/simh">http://mailman.trailing-edge.com/mailman/listinfo/simh</a>
<br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
</body>
</html>