Digital design and computer architecture. (2015)