Topics may include computer classes and evolution, instruction set design, hardwired sequencer design, microprogramming, memory hierarchies, concurrency, multiple-processor systems and fault-tolerant systems. Students will be required to design and build a computer, including the design of the instruction set and the control unit. Prerequisites CP316 and CP319/PC319.