This course provides students with an understanding of computer-hardware subsystems, digital design strategies and fundamental computer-performance and capacity-improvement techniques. Combinational and sequential circuits are developed for the essential building blocks of computers. Binary number systems are presented in both human and computer algorithms. A uniprocessor computer is built from the blocks developed. An assembly language and an instruction set are presented. Processor implementation with a data path and hardwired and microprogrammed control is introduced. Performance evaluation of computers is studied. Basic pipelining is introduced to improve system performance. Memory-hierarchy alternatives are introduced to improve the capacity of the computing system.
Prerequisite: Graduate standing. *Online version available.