Course Learning Outcomes
- Identify common implementations of integer arithmetic and logic functions, including multipliers and dividers, and floating point number representations
- Apply advanced principles in computer architecture to comparatively analyze different hardware organizations (single cycle, multi-cycle, simple pipelined, and super-scalar) for performance, power dissipation and energy requirements
- Analyze and compare the performance of advanced memory hierarchy designs; identify tradeoffs in size, cost, and performance at different levels of the hierarchy
- Apply introductory knowledge of multiprocessor systems and network connected multiprocessors to identify fundamental design constraints, and performance interactions
- Use Computer-Aided-Design (CAD) tools, hardware description languages (e.g. VHDL or Verilog), and Field-Programmable Gate Arrays (FPGAs) to design, model, simulate, implement, and test complex logic circuits, building up to the working demonstration of a described set of assembly programs running on simple Central Processing Unit (CPU)
- Design, develop, and document a CPU Instruction Set Architecture (ISA) in parallel to the CPU hardware design, based on the high level problem solving requirements specified at the beginning of the semester