COMPSCI 441: Computer Architecture 3-credit course with 3 lecture hours per week Course Coordinator: Nader Rafla Textbook(s) and Supplemental Material Computer Organization and Design, The Hardware/Software Interfaces, 4th Ed., Patterson & Hennessy, 2012. Catalog Description Structure of computer systems using processors, memories, input/output (I/O) devices as building blocks. Computer system instruction set design and implementation, including memory hierarchies, microprogramming, pipelining and multiprocessors. Issues and trade-offs involved in the design of computer system architectures with respect to the design of instruction sets. Applications of Hardware Description Languages (HDL) in the design of computer systems. May be taken for either COMPSCI or ECE credit, but not both. PREREQ: COMPSCI 117 or COMPSCI 125, and ECE 330. Required Goals for the Course Successful students will be expected to: • quantify and assess the performance of a processor • translate C to assembly and binary representations • know how the instructions are used to control the datapath • implement MIPS processor features using hardware description language • understand what is pipelining and how it affects the performance • describe and understand the processor memory hierarchy Outcomes Addressed b. an ability to analyze a problem, and identify and define the computing requirements appropriate to its solution c. an ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs i. an ability to use current techniques, skills, and tools necessary for computing practice Outcomes Assessed: None Topics Covered Discussion of the MIPS ISA and Basic ALU Architectures Pipelined Datapath Design Issues Learning about Performance Verilog Memory Heirarchies I/O Design Issues Multiprocessor Design Issues Selected Advanced Topics Grading Letter grades are assigned to students based on numerical scores for the following activities: Activity Weight Class Participation 5% Quizzes 20% Midterm 20% Final 25% Design Project 30% Curriculum Category Content (Credits) Area Core Advanced Algorithms Software Design Computer Architecture 3 Data Structures Programming Languages