[HN Gopher] Modern Baby: A pioneering computer from Manchester
       ___________________________________________________________________
        
       Modern Baby: A pioneering computer from Manchester
        
       Author : klelatti
       Score  : 48 points
       Date   : 2025-03-11 06:37 UTC (16 hours ago)
        
 (HTM) web link (thechipletter.substack.com)
 (TXT) w3m dump (thechipletter.substack.com)
        
       | nonrandomstring wrote:
       | I totally love this early principle [0] for RAM by literally
       | writing in electrons on a 2D surface and then reading them back
       | using the electron gun.
       | 
       | [0] https://en.wikipedia.org/wiki/Williams_tube
        
         | AndrewOMartin wrote:
         | See also acoustic delay lines. Basically the same but instead
         | of using phosphorous, they use mercury, or piano-wire, but
         | never gin. Gin was proposed by some fanciful idiot [1] but
         | never used.
         | 
         | [1] https://en.wikipedia.org/wiki/Delay-line_memory#cite_ref-3
        
         | tliltocatl wrote:
         | Fascinating that Willams tube (and Atanasoff-Berry computer's
         | electrostatic drum) is in some way much closer to modern DRAM
         | and flash than ferrites that were so revolutionary back then
         | (or acoustic delay lines for that matter).
        
       | apignotti wrote:
       | You can play with an online simulator of this machine here:
       | https://davidsharp.com/baby/online/index.html
       | 
       | The simulator is originally written in Java, and the browser
       | version is powered by CheerpJ, a WebAssembly-based JVM
       | (https://cheerpj.com/)
        
       | rlpb wrote:
       | > Was the modified ENIAC less of a computer than the Manchester
       | Baby because its program was in ROM and could not be changed by
       | the computer?
       | 
       | To me, the most remarkable property of a computer is that data
       | and code are interchangeable. This makes it possible for the same
       | computer to run different programs, run programs that transform
       | programs, and so forth. It's the same fundamental concept that
       | today means that one can "download" an app and then run it.
       | 
       | (See also: Lisp, which is equally remarkable in the software
       | space for the same reason)
       | 
       | > Look at it this way: many modern microprocessors, especially
       | small ones for embedded control, have their programs in ROM. If
       | they are modern-style computers, then so was the modified ENIAC.
       | 
       | What makes them modern-style computers, though, is that they are
       | capable of having their firmware flashed - or at least the
       | development versions can do this while their software is
       | engineered. If the final product only runs a ROM, it has lost the
       | essence of a general purpose computer, which is the fundamental
       | and very remarkable invention that is what we actually celebrate.
        
         | jecel wrote:
         | "No-one would claim that a modern Harvard Architecture computer
         | with its program stored in ROM isn't a stored-program computer.
         | So does ENIAC take the prize from Baby as the first electronic
         | stored-program computer?"
         | 
         | I do actually claim that a modern Harvard Architecture
         | computers such as the AVR8 or PIC microcontrollers are not
         | stored-program computers. You can't store a program in them and
         | then execute it. To be fair, some MCUs can change their own
         | Flash so the difference can be subtle - in that case the
         | processor is used either normally or as part of the ISP (in-
         | system programming) circuit at different times.
         | 
         | For very simple stored-program machines the ability to modify
         | running code is needed for it to be Turing complete. In a
         | computer like the Baby, how would you add two arrays? It had no
         | index registers. So you would need to increment the
         | instructions that load and store from the arrays every time you
         | go through the loop. I agree that this isn't an issue on a
         | machine with only 32 words of memory in all, but it is a key
         | idea in theory.
         | 
         | Of course, a Harvard computer can simulate a Von Neumann one
         | (see AVR8 simulating an ARM in order to boot Linux where it
         | does indeed store programs and then run them). In fact, a
         | popular way to implement CISC computers was to build a tiny
         | Harvard machine running a single program in its "microcode ROM"
         | emulating the computer you actually wanted to use.
        
       | stevefolta wrote:
       | > In the ENIAC the form of the [sic] that [program] storage
       | (decimal) was quite different to that of the data that ENIAC
       | operated on (binary).
       | 
       | Huh? ENIAC was a decimal machine all the way through.
        
       ___________________________________________________________________
       (page generated 2025-03-11 23:01 UTC)