design and implementation of a computer