Building a Modern Computer from First Principles