Hey Holla Forums...

hey Holla Forums, since my IP has been range banned from half-Chan i guess i have no where else to go to ask my question.

i want to learn how CPU (and computers in general) work.

from the transistor, to logic gates, to ALU, to instruction, cache, ....etc.
i would appreciate if you share some good links or books to help.

thank you

Other urls found in this thread:

youtube.com/user/eaterbc/videos
pcjs.org/docs/
shodan.me/books/Programming/Assembly/
zachtronics.com/kohctpyktop-engineer-of-the-people/
nand2tetris.org/
nand2tetris.org/course.php
www-inst.eecs.berkeley.edu/~cs61c/su16/
www-inst.eecs.berkeley.edu/~cs152/sp16/
github.com/RISCV
github.com/ucb-bar
twitter.com/NSFWRedditVideo

This guy's building a discrete 8-bit computer. He's working on the ALU right now.

youtube.com/user/eaterbc/videos

This is pretty fucking cool

Write an email asking or your range ban to be lifted, this shithole is dead

thanks
i'v seen many vids and homebrew build already.
this doesn't help with deep understanding.

Moot plx

He explains what he's doing pretty thoroughly.

PCjs has a lot of x86 reference material, if that helps at all.
pcjs.org/docs/

(I'm not sure how much you already know about computers, so this might be useless for you).

Bit of advice OP, while should learn at least some basic electronics (Ohm's law, parallel/series passive components, maybe learn something about complex impedance if you are ambitious) if you want to know how computers work, don't fixate on the physics of how a transistor works too much. It takes a _lot_ of time to learn all of the science surrounding it, and if you are interested in designing computers its all about knowing how they are used to make logic gates. Really, no one designs complex chips thinking at the individual transistor level anymore (and that's a good thing, because that would be insanely error prone).

In general, know that transistors work as electronic on/off switches (the voltage between one pin and another controlling whether current can pass through the device), and that they have a finite switching speed. Transistors can be chained together, such that a series or parallel combination of them can control whether another set of transistors is on or off. Using chains of transistors in this fashion is how logic gates are implemented. If the pictured example seems strange, it will become easily understandable when you study some basic circuit theory and get to transistors.

Pick up a book on assembly programming, those books will teach you how computers and microcontrollers work in general, but they tend to be inclined to a particular processor or architecture:
shodan.me/books/Programming/Assembly/
Like said, learn a bit of basic electronics first.

Find a complete working simulation of a certain processor on a web page yourself.

Also, zachtronics.com/kohctpyktop-engineer-of-the-people/

Code: The Hidden Language of Computer Hardware and Software by Charles Petzold
I have read this book, it's basically "how do computers work?" for babies, which was great for me as someone who had no knowledge of electronics beyond what little we had learned at school. The author describes ever step from starting with a flashlight to modifying it more and more until it eventually becomes a computer. There are nice drawings that make it easy to follow every step and he always explains the motivation behind everything. You could in theory buy a bunch of wires, switches and telegraph parts to go along, but that would be really expensive and unnecessary.

However, the book is just a light introduction to the topic, if you want actual electrical engineering you won't find it here. For me it was a perfect fit, but your mileage might vary.

I have also heard good things about "But How Do It Know? - The Basic Principles of Computers for Everyone" by J Clark Scott, but I haven't read that one, so I can't comment on how good it is.

nand2tetris.org/

libgen.io => "How do it know?"

Hooray, sloppy seconds!

More on topic, consider buying a cheap'ish FPGA board and implement a simple, shitty CPU. You will learn tons doing that.

thanks, i already have the "basic" electronic knowledge and have been building various analog montage for years, now i feel like moving to digital.


looks fun, but the music is ear raping

i'll look that up tnx


how can i implant a CPU if i don't even know how they work ?

not sure about the project but the course look 10/10
nand2tetris.org/course.php

Read the resources other people have listed in this thread, use that knowledge to implement a CPU, achieve enlightenment.

...

it isn't, i feel free now

The course is excellent, I can't recommend it enough, very hands on and the theory is clearly explained.
However, It only takes you through the design of an extremely basic Von Neumann CPU without assuming any electronics knowledge, so depending on OP's prior knowledge, it might be a bit too basic.

Don't forget: you escaped.
Not like this place is without it's idiotic staff and admins though, but definitely not as bad.

I’ve asked many times on cuckchan and neither /g/ nor /sci/ seem to know shit about transistors. Now I think I finally get it. Thanks!

You have been liberated from the hell that is discussion.

You can now live the rest of your days in based(tm) Holla Forums obsessing over cuckolding and social justice warriors.

The way you would learn it at UC Berkeley is first through CS61C, the machine structures class (lectures, labs, and hw available here)
www-inst.eecs.berkeley.edu/~cs61c/su16/

Especially see lecture 9-13, starting at intro to synchronous digital systems and ending before Caches.

Then you should probably check out their CPU/computer architecture class:
www-inst.eecs.berkeley.edu/~cs152/sp16/

Which goes into more detail, and then if you want to learn even more, start looking into the RISCV project. The GitHub can be found here: github.com/RISCV
And the group they're associated with:
github.com/ucb-bar

On their GitHub, you should check out `sodor`, which is an educational CPU written in Chisel, a scala-based HDL. Then look at rocket, for a reference implementation. BOOM is the high performance out-of-order machine they're working on, but I don't know if it's public. You can also build those projects using the gnu toolchain and run code on them with the proxy kernel if you so desire.

Have fun, m8o

Oh and if you end up looking at the RISCV stuff, also check out riscv.org for the ISA manuals, and check out chisel.eecs.berkeley.edu for how to write chisel in order to make CPUs with their framework.

Or I guess you could use Verilog, VHDL, or something proprietary I guess.

Just FYI, using Chisel and those projects you can compile an image that you can burn to your FPGA, like this user said: