<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>