Let's Build a CPU

This thread is so low-level that level1forums is too damn high for it.

1 Like

I wonder if you have anything to do with the guy from habrahabr who wrote about making CPU but from a chemist's point of view, DIYing his own clean room/chem laboratory, vacuum chamber, all this stuff. Last thing I recall from him was how he managed to order and receive a lot of hydrofluoric acid. Not sure if he's just burned out or still working on it.

1 Like

I don't fully understand what's going on, but I am thoroughly enjoying the process regardless.

Cheers for sharing!

1 Like

Link please, and no.

What would you like me explain better?

1 Like

It's probably from my sheer ineptitude to understand low level components haha but,

A CPU is essentially a series of logic gates which pass an electrical signal through depending on what's needed? Is that roughly correct?

1 Like

Pretty much. But more like separate blocks of series of gates, that communicate with each other via "buses" aka bunch of wires

The biggest difference between software and hardware, is that hardware is parallel by default.

If you have signal going to 2 gates, they'll both do their thing in parallel. This is why we also do sequential logic, and sync stuff with clock. So we can execute instructions in order that we want.

1 Like

Ah, that makes a lot more sense hahah - great explanation, short and sweet! Thanks!

1 Like

Where has Logisim been all my life? I been trying to get my hands on MultiSim for quite some time.

1 Like

Feel free to ask, I am clearly not an expert and do this willy-nilly, but I'll answer to the best of my ability.

Btw better way to thing of a CPU is a state-machine. It does a thing depending on what state it is it, you can change its state with instructions. :wink:

You know, like Turing machine but out of transistors, not some tape and stuff.

Logisim does only logic tho, no EE. You might want to look into something SPICE-like, if you need even lower-level.

Oh...it's not much like Multisim then?

Honestly, idk what is Multisim, but from the name I assumed it does more than simply logic :stuck_out_tongue:
Logisim is very nice to play around in, but it doesn't do timing diagrams and alike.

And as I said, it's logic only, so you have 1, 0, Error and X (Floating) states. No Ohm's Law for you here.

Had to google it, but here's the last part: https://geektimes.ru/post/258062/ (Russian), there are links to the first two and his hh profile in general.
Minor correction: his intention was to make not CPU per se, but simple microchips. Still an impressive target.

1 Like

Thanks, will have a read!

Was scrolling through his publications, loled at "Nuclear Reactor from scratch at Home"

Is anything coming this way? Maybe…

2 Likes

Upgraded the CPU to have 16bit address bus. Complicates things somewhat with 8bit overall architecture. Also ISA misses few IMO important features. But hey, who wants branches? Also I need to code an assembler because hand assembly is PAAAAIIIINN in the rear. Was fun at first though.

FUN FACT: This ISA was made overnight, while the Arch was upgraded form the previous one (8bit only) over a day. (Previous arch took whole night)

Uni starts soon, but I will try to revive the series. I have tons of info to write on.

You can check schematics here: https://codebite.xyz/other/cpudev/ (my website)

Preview: (ALU)

1 Like

Wish I could participate but I am busy with classes in theory of computation and advanced algorithms class.

What? Very High Speed Integrated Circuits Hardware Description Language? What is this gibberish?


Question time: finish the blog with Logisim CPU, or switch to VHDL?


Oh, and. Announcement!

Me and another enthusiast from #osdev freenode IRC decided to create #cpudev on freenode and a wiki: https://cpudev.org/wiki/Main_Page

Check it out!

1 Like

Kind of on the topic in a game form on steam is Silicon Zeroes.

No linux version so I didnt check it out.