Slowly booting full Linux on the intel 4004 for fun, art, and absolutely no profit - Linux/4004 Dmitry.GR (dmitry.gr)
from lemmyreader@lemmy.ml to linux@lemmy.ml on 20 Sep 2024 18:04
https://lemmy.ml/post/20516863

TL;DR

I booted Debian Linux on a 4-bit intel microprocessor from 1971 - the first microprocessor in the world - the 4004. It is not fast, but it is a real Linux kernel with a Debian rootfs on a real board whose only CPU is a real intel 4004 from the 1970s. The video is sped up at variable rates to demonstrate this without boring you. The clock and calendar in the video are accurate. A constant-rate video is linked below.

#linux

threaded - newest

thebardingreen@lemmy.starlightkel.xyz on 20 Sep 2024 18:59 next collapse

Since it’s a wall art project, now get it to run Minecraft and run a redstone computer on it.

gravitas_deficiency@sh.itjust.works on 20 Sep 2024 20:39 collapse

Now emulate the 4004 logic design in redstone on the 4004

TimeSquirrel@kbin.melroy.org on 20 Sep 2024 21:25 collapse

And then this thing on top of that, again. Over and over.

sugartits@lemmy.world on 20 Sep 2024 20:10 next collapse

If it’s the first one when why the fuck is it called the 4004 and not just the 1?!

PLS_HELP@fedia.io on 20 Sep 2024 20:26 collapse

That’s a really good question and I had to know, the answer is kinda neat:

Intel's chip-naming scheme at that time used a four-digit number for each component. The first digit indicated the process technology used, the second digit indicated the generic function, and the last two digits specified the sequential number in the development of that component type. Using this convention, the chips would have been known as the 1302, 1105, 1507, and 1202. Faggin felt this would obscure the fact that they formed a coherent set, and decided to name them as the "4000 family".[24] The four chips were the following:
the Intel 4001, a 256-byte 4-bit ROM;
the Intel 4002, DRAM with four 20-nibble registers (total size 40 bytes);
the Intel 4003, an I/O chip comprising a 10-bit static shift register with serial and parallel outputs; and
the Intel 4004 CPU.

Why they jumped to 4000 from 1000 tho, I didn’t see.

01189998819991197253@infosec.pub on 20 Sep 2024 21:15 collapse

If I may venture a guess:

There are four of these chips (1302, 1105, 1507, 1202). Someone, trying to speed-talk, referred to them as the “four thousand-series chips” (instead of the “four, one-thousand-series chips”), and someone misheard or misunderstood that as the “4000-series chips”. After several levels of this telephone game, marketing got involved, and they were just renamed into the 4000 series instead of redoing the marketing documents.

Just a guess.

grue@lemmy.world on 20 Sep 2024 20:24 next collapse

How is it “full Linux” when Linux has always required an integrated MMU (which is why it’s never supported anything less than a 386)? I mean, yes, you can modify it to run on more primitive chips at the expense of having proper virtual memory support, but if you do that I don’t think it counts as “full Linux” anymore!

CalcProgrammer1@lemmy.ml on 20 Sep 2024 20:34 collapse

If you read the article, it is indeed full Linux because the 4004 is running a MIPS emulator that provides the necessary memory management features. Pretty much all of the “run Linux on some old chip incapable of running Linux” projects achieve it via emulating a more featured architecture that Linux supports, not by somehow compiling Linux to natively run on a 4 bit, MMU-less architecture.

Technus@lemmy.zip on 20 Sep 2024 21:57 collapse

This is the whole idea behind Turing-completeness, isn’t it? Any Turing-complete architecture can simulate any other.

Reminds me of xkcd.com/505/

davidgro@lemmy.world on 21 Sep 2024 04:57 collapse

Any time I see an article about someone doing things with Redstone circuits, I think about that comic.

data1701d@startrek.website on 20 Sep 2024 22:39 next collapse

👏

Diplomjodler3@lemmy.world on 21 Sep 2024 09:27 next collapse

But does it run Doom?

LeFantome@programming.dev on 23 Sep 2024 16:30 collapse

If it is “full Linux” then the answer is clearly yes. Not very fast I suppose.

LeFantome@programming.dev on 23 Sep 2024 16:32 collapse

At first I was not very impressed. Then I read that that 4004 does not have any AND, OR, or XOR instructions. Yikes.