From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23296 invoked from network); 14 Dec 2022 07:32:23 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 14 Dec 2022 07:32:23 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 8496642476; Wed, 14 Dec 2022 17:32:17 +1000 (AEST) Received: from freefriends.org (freefriends.org [96.88.95.60]) by minnie.tuhs.org (Postfix) with ESMTPS id E901642475 for ; Wed, 14 Dec 2022 17:32:12 +1000 (AEST) X-Envelope-From: arnold@skeeve.com Received: from freefriends.org (freefriends.org [96.88.95.60]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 2BE7VlIR009203 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 14 Dec 2022 00:31:48 -0700 Received: (from arnold@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 2BE7VlmG009174; Wed, 14 Dec 2022 00:31:47 -0700 From: arnold@skeeve.com Message-Id: <202212140731.2BE7VlmG009174@freefriends.org> X-Authentication-Warning: frenzy.freefriends.org: arnold set sender to arnold@skeeve.com using -f Date: Wed, 14 Dec 2022 00:31:47 -0700 To: douglas.mcilroy@dartmouth.edu, arnold@skeeve.com References: <202212131431.2BDEVCls018959@freefriends.org> In-Reply-To: User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID-Hash: O2RRN4C6VCAPWQJLRXMY2LEMEB66RXSV X-Message-ID-Hash: O2RRN4C6VCAPWQJLRXMY2LEMEB66RXSV X-MailFrom: arnold@skeeve.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: tuhs@tuhs.org X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: Clever code List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Thank you for the explanation. The skill of the programmers who had to write code for such machines amazes me. I might could have held all that kind of info in my head when I was younger, but certainly not today... Thanks, Arnold 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. 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 wrote: > > > > Douglas McIlroy 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