Processor Design: An Introduction (1998)
gamezero.com
gamezero.com
This "bottom-up" approach tends to bore some students, but in my experience also leads to far deeper understanding than more superficial ones that skip over a lot of the intermediate steps. It helps to keep the interest by showing these machines actually working, either with actual logic chips and a breadboard, or a simulator; and of course give the students hands-on experience if possible.
I'd like to get into electronics and microprocessor stuff more as a hobby, but a lot of it kind of mystifies me these days. I played with electronics a bit as a kid in high school hut never really got into it much after. I do a lot of work repairing maintaining CNC machines now and every time an electronics issue comes up it makes me want to get more serious about it.
By the way what are are "storage loops"? I've not come across the term before. Cheers.
A storage loop is a loop which stores a value, and forms the basis of memory. It's better explained visually:
Mercury Delay Lines were a type of memory that relied on sound waves being cycled through tubes of mercury. https://en.wikipedia.org/wiki/Delay_line_memory#Mercury_dela...
Very interesting technology.
We built some fundamental blocks in VHDL (e.g. buffers, mux, adder, memory, decoder, ALU), combined them into a basic CPU with fetch/decode/execute stages, added a load/store unit and control flow instructions to make it turing complete, then added optimizations like pipelining. We wrote some code to run on it. Then we switched to a LEON3 off the shelve softcore and implemented our own AMBA peripherals to interface with some real sensors/actors.
The ability to view the NAND gates your code synthesizes was great. Tracking signal propagation delays motivated certain basic design decisions very well. Writing code that runs on a CPU that you also wrote is so incredibly rewarding. (And it's interesting when a bug can be either in your program or your CPU.) And finally integrating a real-world softcore really showed how practical this can actually be even outside of Intel / AMD.
https://www.youtube.com/playlist?list=PLUl4u3cNGP62WVs95MNq3...
It's good fun :-)
Also cf. (somewhat different, but related spirit) Silicon Zeroes (https://store.steampowered.com/app/684270/Silicon_Zeroes/) from the makers of Manufactoria.
https://hackernoon.com/how-does-a-cpu-work-af3488d182a2
the primary post is cut short but i like it for the level of detail presented to someone with toe in the door digital hardware skills.