Weekly Classic Computer Trivia Question (20150112)

Vincent Slyngstad vrs at msn.com
Mon Jan 12 12:43:29 CST 2015


From: Johnny Billquist: Monday, January 12, 2015 10:21 AM
> On 2015-01-12 19:17, Johnny Billquist wrote:
>> On 2015-01-12 18:19, Vincent Slyngstad wrote:
>>> One answer might be "the skip chain".  Since interrupts weren't
>>> vectored, it was necessary to query each device in priority order to see
>>> if it was currently requesting interrupt service.
>>
>> Ah. Good point. I forget to include this in the possible interpretations
>> of interrupt latency.
> 
> Actually. This needs some correction. The interrupt skip chain itself is 
> not the latency. The skip chain is just some extra time required to 
> actually jump to the correct interrupt handler. The interrupts are 
> (normally) off until the interrupt handler finishes.

They'd better be off until the last device is in service, or you'll get 
re-entry problems in the interrupt service routine.  In practice, I've 
never seen interrupts on during a PDP-8 service routine.

> The skip chain is  just a smaller part of that whole thing.

OK, but it is a significant overhead compared to later (vectored) 
interrupt system designs, and means it takes longer to get to 
where you're going.

The un-vectored design also means more problems with 
re-entry, since all the interrupts call the same routine.  And 
the JMS instruction design makes it a bear to write re-entrant 
code on a PDP-8.

I think it comes back to the "what do we mean by latency" 
question.

    Vince 


More information about the cctalk mailing list