From: | Walter Banks <walter@bytecraft.com> |
Newsgroups: | comp.compilers,comp.arch |
Followup-To: | comp.arch |
Date: | Fri, 05 Dec 2008 11:17:32 -0500 |
Organization: | Compilers Central |
References: | 08-12-014 08-12-016 08-12-019 |
Keywords: | architecture, history |
Posted-Date: | 05 Dec 2008 12:01:42 EST |
Glen Herrmannsfeldt wrote:
> One problem is that it is possible to get infinite indirection.
> The processor has a timer to stop the process if it takes too long.
>
> [Actually, the machine with the timer to break indirect address loops was
> the GE 635. The -10 could take an interrupt each time it did an indirect
> address, abandoning the instruction in progress which would restart when
> the interrupt returned. This meant that an indovidual program could hang
> due to address loops, but the system wouldn't. Add in chains of execute
> instructions, and you could do Algol thunks in one instruction. -John]
Glen, John
One of the computers I worked on (I think it was a UNIVAC rebranded)
could get into an indirect loop. As you said it could service
interrupts. However the STOP button stopped execution at the end of
the current instruction. Killing power it would save the state and
restart execution on powerup. We added a switch to kill the indirect
load to kill the indirect jump so we could stop execution in an
indirect loop.
All the best of the season
--
Walter Banks
Byte Craft Limited
http://www.bytecraft.com
Return to the
comp.compilers page.
Search the
comp.compilers archives again.