Hacker News Comments on
Massachusetts Institute of Technology
Computation Structures - Part 1: Digital Circuits
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this url.
A whole lot of people know how to make a CPU. It's not as hard as you probably think it is. What's hard is making them as complex, fast, and small as we do nowadays. But if you can get by with something not as complex or fast, and that takes up most of your desk, thousands of people know how to do it.
Got 120 hours and want to become one of them? Take these two courses from EdX, which are 60 hours each:
"Computation Structures - Part 1: Digital Circuits" 
"Computation Structures 2: Computer Architecture" 
The first teaches "[...] digital encoding of information, principles of digital signaling; combinational and sequential logic, implementation in CMOS, useful canonical forms, synthesis; latency, throughput and pipelining". In the homework and labs you design and implement (in a simulator) a 32-bit ALU.
The second covers "[...] instruction set architectures and assembly language, stacks and procedures, 32-bit computer architecture, the memory hierarchy, and caches". In the homework and labs you design and implement (in a simulator) at the gate level a 32-bit RISC CPU, except for memory. Memory for registers and program is given as a black box--by this point you know enough to design that, but it would just add a lot of components and complexity, and slow down the simulation, and the time spent dealing with it would distract from learning the topic of this part of the course. That would fit better with the first part of the course.
I've taken these, and can say they do a good job of teaching what they say they teach.
There's also a third course in the series:
"Computation Structures 3: Computer Organization" 
That covers "[...] pipelined computers, virtual memories, implementation of a simple time-sharing operating system, interrupts and real-time, and techniques for parallel processing".
In the homework and labs for that one, you optimize your CPU from the second part for size and speed, and make it support time sharing operating systems.
I've not taken this one.
⬐ acqqIt’s not the logic but the technology that is not widely known: the new fabs cost billions.
I read code a couple of times and did Nand2Tetris. I also found the edX 6.004 mit course to be extremely useful to fill in some of the gaps. I'm waiting for part three to start in a couple of weeks.