For people interested in this sort of thing, I can recommend the Nand2Tetris Courses[1] (also on Coursera).
They basically walk you through assembling and programming a full CPU from nothing but NAND-gates in a hardware description language, and in the second part even adding a compiler and higher-level language to the stack.
They basically walk you through assembling and programming a full CPU from nothing but NAND-gates in a hardware description language, and in the second part even adding a compiler and higher-level language to the stack.
1. https://www.nand2tetris.org/