The mega processor is one of my all-time favorite computers, along with the Magic-1 https://homebrewcpu.com/
The megaprocessor is just absolutely wonderful in how it bridges from 'here is a transistor, it lights an LED' to 'here is a computer, it plays tetris'. I always struggled to unwind the layers of abstraction in a modern computer from atoms in the CPU to running python, but being able to just look at a bunch of literal transistors (with LEDs on each gate!) wired up playing tetris shows how a computer really works in such a profound and awe inspiring fashion.
Magic-1 is sort of the next level higher complexity, where it is made out of very simple TTL (most complicated chip function is the ALU--a circuit I had to build as an EE undergrad out of or- and and- gates) and it hosts a webpage. It currently seems to be down, but you can see it on the wayback machine
https://web.archive.org/web/20210815180101/http://www.magic-...
I will never forget when I came across that site and realized that I was interacting with a wirewrapped pile of ram and nor gates over the internet. There was even a time when you could telnet in and play some retro text-based adventure games, To this day, the only time I have played Adventure was on Magic-1.
I'm partial to the Gigatron[0] myself. Built entirely using a mere 34 TTL ICs available in the 70s (930 logic gates) and it's capable of driving a VGA monitor and 4-bit sound while running at 6.25Mhz. In my opinion, it is beautifully simple and elegant.
Charles Petzold's book Code: The Hidden Language of Computer Hardware and Software explains a computer from the ground up.
I don't know if the ideas still apply to modern computers, but it's pretty cool understanding how things like addresses are decoded and instructions are constructed and executed at the gate level in a very basic microprocessor.
I often wondered i could build some sort of general computing machine if we were pushed back to the dark ages or something. I guess you have to define exactly at what level of technological achievements we were pushed back to. But with the knowledge we have today, and without ICs (or advanced manufacturing facilities) and only "simple electronics" (whatever that would be) if this would be possible. Fun stuff to think about!
First gen transistor computers often used standard functional units - gates, flip flops, and such - packaged into small modules with edge connectors and wired together with wire wrap on a backplane. Like this DEC PDP-8.
Later TTL/CMOS designs replaced the packaged modules with much smaller 74xx/40xx ICs.
You can make basic logic gates with just diodes and resistors, but you need transistors for inversion, buffering, and a usable flip flop.
That's probably the minimum level for useful computing/calculating. If civilisation has ended and you have no transistors you probably don't have the resources to make glass valves either, so that's going to be a problem.
I forgot which book it was (maybe "the three body problem"?) but there was a science fiction story where a Chinese king makes his soldier act as a logical gate and his army becomes a computer. I was like, wow, I didn't think about that, but it totally makes sense!!
In that case, if you want a somewhat entertaining very-high-level overview of what would need to be done, then there's a manga that showed this off a few chapters ago, it's called Dr. Stone. What stuck with me the most was that the purity needed for the silicon used in processors was absurdly high, so much so that they couldn't quite do that just yet, so they made a processor out of parametrons and used magnetic core memory. I knew semiconductors had to be very pure, but it was a bit discouraging to realize just how much effort it would take if you started from zero.
The first computing machines used relays which are electromechanical mechanical switches. Current would flow into an electric magnetic and it would magnetize a switch and close a loop thereby switching something "on." By placing these switches together into different configurations you could form equivalent logic gates.
Sometimes insects or moths would get stuck in the relays which would screw up the system. This is the origin of the word "bug."
Prior to incorporating logic into electronics, computing machines were hand cranked or motor cranked gear machines. See: https://www.youtube.com/watch?v=fhUfRIeRSZE. The YouTube video literally is a hand cranked portable calculator.
Then the next question is; what would you do with it?
You need a source of problems to solve, and until you've bootstrapped the rest of society at least to the point where something like high-resolution trigonometric tables, desktop publishing, high-speed accounting, (for example) are needed, the effort isn't going to keep you fed...
Looking historically, you have a bunch of options for a pre-IC computer; there were lots of pre-IC computers. Transistors, of course, or vacuum tubes give you a useful computer. You can build a computer from relays, but the performance is pretty bad. Memory is also very important. Magnetic core memory is the way to go if you don't have ICs. None of this is going to help you if you went to the dark ages.
As far as mechanical devices, mechanical calculating machines didn't arise until the late 1600s and weren't reliable for many years. It's unlikely that you'd be capable of building a mechanical computer until the industrial revolution. Note that Babbage was unsuccessful in building his machines even in the late 1800s.
If your goal is to build a Turing-complete machine of some sort, even if totally impractical, you could push the date back a lot. But that would be more of a curiosity than a useful computer.
On that note, I was wondering on several occasions whether it would have been technologically possible to build neon lamp logic circuits in Babbage's time. Aside from the problem of building an air liquifier a few decades early, I don't see any really major technological hurdles there. That would have nicely solved his problems with mechanical manufacturing...
I used to play that same thought experiment with more basic utilities like my toaster with it's various settings and electronic controllers. Then I was given a Dualit. No more philosophical dilemmas!
Kidding aside, it's always staggering how far removed we really are from operating on (humanly) first principles. Humbling.
I think the minicomputers of the 70s well-represent the halfway point between there and what we have today.
At Basic Four Corporation I worked on systems built from 8"x11" circuit boards. A CPU might consist of two such cards joined on the front by a couple flat 50-pin cables and to the other components by a backplane.
Disk Controller: 1 board
Terminal controller: 1 board
etc
This is a visual representation of about what I understand about a processor and still outside of what I could actually make without a lot of reference material.
Inspired by this great submission, I was instead at http://visual6502.org/JSSim/index.html - 6502 simulator in HTML5 with visual changes on the virtual circuitry.
The quality of not only the product, but the accompanying explanations is outstanding. I think it's a work of art, because not only is it visually impactful (especially at 1Hz, as in the demu), it also uses the medium to convey an idea that would be difficult to convey in any other way.
I'm interested in making (stochastic) algorithms fast, which always seems to eventually lead back to looking at code in compiler explorer. The extent of my knowledge there is basically "short assembly good, long assembly bad". But I've always lacked some "tactile" feeling (for lack of a better phrase) for what a register like "eax" or "rax" is. I hope that learning more about the megaprocessor might help get a glimpse of this.
If the ISA is sufficiently efficient, 8kHz is fast enough to run interpreters. An 8kHz can be useful as a calculator, running thing similar to FORTRAN and, if is has suitable I/O, maybe run a BASIC or CHIP-8 interpreter.
This is so good. I've just watched his 8 videos explaining from transistors to logic and memory. Wonder why he unfortunately stopped at SS8 : Time and Memory now...
It seems to have an address width of 16 bits, there's no mention of a memory management unit, and the website lists its RAM size as 256 bytes, so I'm going to say no, regardless of speed.
The RAM size is of course the most limiting out of those three, but even if it were larger (and one could somehow build it without resorting to integrated circuits), you'd probably run into problems with the other fundamental limits if you wanted fancy things like memory in the order of megabytes.
Of course that's not the point, though, because building an entire general-purpose CPU from scratch at such a human-visible scale and from basic components is a feat in itself.
Hah, of course not. The PC acts as a terminal/controller for this machine. Running Windows 7 on a 8 KHz CPU is impossible, even on a x86-compatible one. WinXP has been shown to run on an extremely underclocked 8 MHz Pentium CPU, booting in half an hour: https://winhistory.de/more/386/xpmini_en.htm
It definitely does not run Windows. It has 32 kB of RAM, 16-bit registers and a custom instruction set. That will never run Windows 1, let alone Windows 7 :)
[+] [-] osamagirl69|4 years ago|reply
The megaprocessor is just absolutely wonderful in how it bridges from 'here is a transistor, it lights an LED' to 'here is a computer, it plays tetris'. I always struggled to unwind the layers of abstraction in a modern computer from atoms in the CPU to running python, but being able to just look at a bunch of literal transistors (with LEDs on each gate!) wired up playing tetris shows how a computer really works in such a profound and awe inspiring fashion.
Magic-1 is sort of the next level higher complexity, where it is made out of very simple TTL (most complicated chip function is the ALU--a circuit I had to build as an EE undergrad out of or- and and- gates) and it hosts a webpage. It currently seems to be down, but you can see it on the wayback machine https://web.archive.org/web/20210815180101/http://www.magic-...
I will never forget when I came across that site and realized that I was interacting with a wirewrapped pile of ram and nor gates over the internet. There was even a time when you could telnet in and play some retro text-based adventure games, To this day, the only time I have played Adventure was on Magic-1.
[+] [-] AnIdiotOnTheNet|4 years ago|reply
[0] https://gigatron.io
[+] [-] criddell|4 years ago|reply
I don't know if the ideas still apply to modern computers, but it's pretty cool understanding how things like addresses are decoded and instructions are constructed and executed at the gate level in a very basic microprocessor.
[+] [-] IanWard1|4 years ago|reply
[+] [-] temeritatis|4 years ago|reply
[+] [-] TheOtherHobbes|4 years ago|reply
http://www.oldcomputers.arcula.co.uk/files/images/pdp8104.jp...
It's fairly easy to design a computer like this.
Later TTL/CMOS designs replaced the packaged modules with much smaller 74xx/40xx ICs.
You can make basic logic gates with just diodes and resistors, but you need transistors for inversion, buffering, and a usable flip flop.
That's probably the minimum level for useful computing/calculating. If civilisation has ended and you have no transistors you probably don't have the resources to make glass valves either, so that's going to be a problem.
Of course there's always clockwork...
[+] [-] kohsuke|4 years ago|reply
[+] [-] galcerte|4 years ago|reply
[+] [-] deltaonefour|4 years ago|reply
Sometimes insects or moths would get stuck in the relays which would screw up the system. This is the origin of the word "bug."
Prior to incorporating logic into electronics, computing machines were hand cranked or motor cranked gear machines. See: https://www.youtube.com/watch?v=fhUfRIeRSZE. The YouTube video literally is a hand cranked portable calculator.
The world you envision has already existed.
[+] [-] 95014_refugee|4 years ago|reply
You need a source of problems to solve, and until you've bootstrapped the rest of society at least to the point where something like high-resolution trigonometric tables, desktop publishing, high-speed accounting, (for example) are needed, the effort isn't going to keep you fed...
[+] [-] Koshkin|4 years ago|reply
https://en.wikipedia.org/wiki/Fluidics
[+] [-] kens|4 years ago|reply
As far as mechanical devices, mechanical calculating machines didn't arise until the late 1600s and weren't reliable for many years. It's unlikely that you'd be capable of building a mechanical computer until the industrial revolution. Note that Babbage was unsuccessful in building his machines even in the late 1800s.
If your goal is to build a Turing-complete machine of some sort, even if totally impractical, you could push the date back a lot. But that would be more of a curiosity than a useful computer.
[+] [-] mkreis|4 years ago|reply
[+] [-] mburns|4 years ago|reply
https://collapseos.org/
[+] [-] magicalhippo|4 years ago|reply
Some semi-random examples
https://web.cecs.pdx.edu/~harry/Relay/
https://relaycomputer.co.uk/
Main issue is memory. Takes a lot of space to make any usable about of memory out of relays.
[+] [-] jhgb|4 years ago|reply
[+] [-] 52-6F-62|4 years ago|reply
I used to play that same thought experiment with more basic utilities like my toaster with it's various settings and electronic controllers. Then I was given a Dualit. No more philosophical dilemmas!
Kidding aside, it's always staggering how far removed we really are from operating on (humanly) first principles. Humbling.
[+] [-] Teknoman117|4 years ago|reply
[+] [-] userbinator|4 years ago|reply
[+] [-] ezconnect|4 years ago|reply
[+] [-] tyingq|4 years ago|reply
Note: Well, there are some quad transistor array chips, but that seems still in the same spirit.
[+] [-] dTal|4 years ago|reply
[+] [-] zanethomas|4 years ago|reply
At Basic Four Corporation I worked on systems built from 8"x11" circuit boards. A CPU might consist of two such cards joined on the front by a couple flat 50-pin cables and to the other components by a backplane.
Disk Controller: 1 board Terminal controller: 1 board etc
https://www.ricomputermuseum.org/collections-gallery/equipme...
Would be interesting to see some enterprising soul recreate a modern computer in such a form factor.
[+] [-] bitwize|4 years ago|reply
[+] [-] ryanmercer|4 years ago|reply
"Alan Kay gave me an Alto. That’s not the very last computer that I think is within my capability to understand everything that’s happening in there, but it’s getting near the end." https://mastersofscale.com/sam-altman-why-customer-love-is-a...
This is a visual representation of about what I understand about a processor and still outside of what I could actually make without a lot of reference material.
[+] [-] diordiderot|4 years ago|reply
[+] [-] jazzyjackson|4 years ago|reply
[+] [-] jdkee|4 years ago|reply
https://monster6502.com/
[+] [-] mdp2021|4 years ago|reply
Inspired by this great submission, I was instead at http://visual6502.org/JSSim/index.html - 6502 simulator in HTML5 with visual changes on the virtual circuitry.
[+] [-] Milner08|4 years ago|reply
For example - https://www.youtube.com/watch?v=Z5JC9Ve1sfI - It certainly makes for a cool background.
[+] [-] asdf_snar|4 years ago|reply
I'm interested in making (stochastic) algorithms fast, which always seems to eventually lead back to looking at code in compiler explorer. The extent of my knowledge there is basically "short assembly good, long assembly bad". But I've always lacked some "tactile" feeling (for lack of a better phrase) for what a register like "eax" or "rax" is. I hope that learning more about the megaprocessor might help get a glimpse of this.
[+] [-] alberto_ol|4 years ago|reply
https://news.ycombinator.com/item?id=12317217
[+] [-] ozarkerD|4 years ago|reply
[+] [-] LolWolf|4 years ago|reply
[+] [-] marcodiego|4 years ago|reply
[+] [-] Maakuth|4 years ago|reply
[+] [-] bogomipz|4 years ago|reply
[+] [-] areactnativedev|4 years ago|reply
[+] [-] trasz|4 years ago|reply
[+] [-] qwerty456127|4 years ago|reply
[+] [-] Delk|4 years ago|reply
The RAM size is of course the most limiting out of those three, but even if it were larger (and one could somehow build it without resorting to integrated circuits), you'd probably run into problems with the other fundamental limits if you wanted fancy things like memory in the order of megabytes.
Of course that's not the point, though, because building an entire general-purpose CPU from scratch at such a human-visible scale and from basic components is a feat in itself.
[+] [-] cushychicken|4 years ago|reply
I'd seen this post before but I'd never noticed the monitor with the Windows login screen.
[+] [-] orbital-decay|4 years ago|reply
[+] [-] Liquid_Fire|4 years ago|reply
[+] [-] the-dude|4 years ago|reply
The Windows terminal is probably used to communicate with the megaprocessor.
[+] [-] FpUser|4 years ago|reply
[+] [-] sbierwagen|4 years ago|reply
[+] [-] errcorrectcode|4 years ago|reply
[+] [-] mrlonglong|4 years ago|reply
[+] [-] dennis714|4 years ago|reply