MIT 6.004: Computation Structures
6004.mit.edu
6004.mit.edu
"This subject examines papers every computer scientist should have read, with an emphasis on the period from the 1930s to the 1980s. It is meant to be a synthesizing experience for advanced students in computer science: a way for them to see the field as a whole, not through a survey, but by reliving the experience of its creation, relating the original work to the field as it exists today. The aim is to create a unified view of the field by replaying its entire evolution at an accelerated rate, giving students the opportunity to become sophisticated generalists"
https://www.eecs.mit.edu/academics-admissions/academic-infor...
I mean, I guess most 'computer science' folks today can have a fecund and profitable career and have never heard of these concepts, but... I hope some people still wonder, why do we have clock speeds, and what other alternatives might exist?
Source I have been following this class online since 2015.
https://computationstructures.org/lectures/info/info.html
Also, an archived version of that course is still running on edx ...
https://www.edx.org/course/computation-structures-part-1-dig...
.. where there is a forum available, so people can still ask questions about how to build a 32-bit CPU from scratch using MOSFETs :)
It's also on OCW,
https://ocw.mit.edu/courses/electrical-engineering-and-compu...
It reminds me closely of The Elements of Computing Systems and its companion web-based incarnation Nand2Tetris available at https://www.nand2tetris.org/
Looks like there's been an update since so will take another look...
The 6.004 for 09 has more of the physics than nand2tetris but I can live without that
Verilog and VHDL are serviceable, but I think there is an advantage to having a simple, friendly syntax without the verbosity and overhead of VHDL.
I also liked how Wirth's course involved running on FPGA hardware. It looks like you might be able to do that in the MIT course as well although I didn't see specific labs for it.
You might be interested in the new class: 6.812 Hardware Architecture for Deep Learning.