Hacker News new | ask | show | jobs
by nxobject 401 days ago
> Human-as-datapath is a fantastic idea for learning the basics of not just programming, but of microarchitecture. Once you start thinking, "hey, I could make a machine/circuit/etc. to do all of this stuff that I'm doing by hand" then you are on your way.

Having taken a survey course on computer architecture, hand simulation's the most I've ever been able to understand "complex" (scare quotes) mechanisms like out-of-order execution, multiple dispatch, speculation, etc. Which is a pity - the scare quotes belie the fact that these have been integral features of microarchitectures for decades, and they're key to understanding software performance and entire classes of security exploits.

In terms of actual implementation, I think I've only ever gotten as far as pipelining with result forwarding.