The elements of computing systems : building a modern computer from first principles / Noam Nisan and Shimon Schocken. - Nisan, Noam (MIT Press, 2005)