Elements of Computing Systems by Nisan and Schocken has you 'build' a computer from basic logic gates to CPU/Memory to assembler, VM, etc. all the way to a running program.
The online course that I took made a college class on logic gate echelon stuff an absolute cakewalk to me, and fully familiarized me with a lot of the concepts in "the hard way" (doing it), so that I was ready to learn the tips and tricks later. I cannot second this recommendation enough.
This book was amazing since it had you starting at the transistor level, building gates, components, the entire CPU/RAM, ASM, and finally building a mini OS to run on the entire platform.
That book is amazing. It inspired me to look for more resources on computer architecture and Verilog, and after a while I had a very simple but functional CPU in Verilog that can compute prime numbers [https://github.com/f00zz/rei].
https://www.nand2tetris.org/