What Now?
Updated:
Not much to report right now. Back from some vacation in Jamaica. That's why I didn't publish my usual Friday lecture over last weekend. Right now, just catching up on everything.
Currently going through Casey's Computer,
Enhance! course. The course overview is a lot like the overview from
MIT 6.172
Performance Engineering of Software Systems. After that we moved onto writing an 8086 assembly
decoder to learn the structure of various operations and the
ISA starting with mov instructions.
I actually quite like this method! When I learned computer architecture in school, the instructor taught us MIPS which always felt disconnected because it lacked obvious practical applications. Sure some routers run on MIPS but we didn't actually have real MIPS CPUs so we had to play with it in a simulator. Something about using someone's simulation of a real computer really bugged me when I was learning. Always felt like what I was learning wasn't real. Maybe that's just me.
Either way, doing 8086 has much more immediate practicality given how close it is to amd64 still. It's not as simple to teach, but I think the possible familiarity some students will bring from existing experience with x86 into the course and the more obvious practicality of the course work makes me want to do it more. It's grounded in the practical, since understanding 8086 dovetails perfectly into learning x86 and amd64 as you add concepts like protected mode. And if you can learn amd64, you can learn arm64 or RISC-V.
Anyway, more links hopefully coming later today. Until then, cheers!