On 2022-12-13 10:10, Douglas McIlroy wrote:
A delay line is logically like a drum, with
circulating data that is
accessible only at one point on the circle. A delay line was
effectively a linear channel along which a train of data pulses was
sent. Pulses received at the far end were reshaped electronically. and
reinjected at the sending end.
I had always thought of a delay line as a precursor to a register (or
stack) for storing intermediate results. Is this not an accurate way of
thinking about it?
N.
One kind of delay line was a mercury
column that carried acoustic pulses.. The PB 250 delay line was
magnetostrictive (a technology I know nothing about).
If instruction timing is known, then the next instruction to appear is
predictable. The only caveat is that instruction times should not be
data-dependent. You can lay out sequential code along the circle as
long as no instruction steps on one already placed. When that happens
you must switch modes to jump to an open spot, or perhaps insert nops
to jiggle the layout.
Doug
On Tue, Dec 13, 2022 at 9:31 AM <arnold(a)skeeve.com> wrote:
>
> Douglas McIlroy <douglas.mcilroy(a)dartmouth.edu> wrote:
>
>> Apropos of accessing rotating storage, John Kelly used to describe the
>> Packard-Bell 250, which had a delay-line memory, as a machine where
>> addresses refer to time rather than space.
>>
>> The PB 250 had two instruction-sequencing modes. In one mode, each
>> instruction included the address of its successor. In the other mode,
>> whatever popped out the delay line when the current instruction
>> completed would be executed next.
>>
>> Doug
>
> For us (relative) youngsters, can you explain some more how delay
> line memory worked? The second mode you describe sounds like it
> would be impossible to use if you wanted repeatable, reproducible
> runs of your program.
>
> Thanks,
>
> Arnold