EECS 2110 - Computer Architecture and Organization Course Syllabus
Credits/Contact Hours
3 Credit Hours. 3 Classrooms contact Hrs. per week
Textbook
ZyBook for Computer Organization and Design - The Hardware/Software Interface, by Patterson
and Hennessy, Morgan Kaufmann Publishers.
Course Information
Fundamentals of computer architecture, computer arithmetic, memory systems, interfacing
and communication, device subsystems, processor design, CPU organization, assembly
programming, performance, distributed models, multiprocessing.
Prerequisites: EECS 1100 and either EECS 1500 or EECS 1510
Required course
Specific Goals - Student Learning Objectives (SLOs)
The students will be able to:
- Understand the structure of computer systems.
- Gain knowledge on the design of the various functional units and components of computers.
- Measure the computer performance based on the architecture.
- Identify the elements of instructions sets.
- Explain the function of each element of a memory hierarchy.
Topics
- Technologies for building processors and memory
- Performance
- Operations of the computer hardware
- Operands of the computer hardware
- Representing instructions in the computer
- Logical operations
- Instructions for making decisions
- Supporting procedures in computer hardware
- MIPS addressing for 32-bit immediates and addresses
- Parallelism and instructions: synchronization
- Translating and starting a program
- Logic design conventions
- Building a datapath
- A simple implementation schemes
- A multicycle implementation
- An overview of pipelining
- Pipelined datapath and control
- Data hazards: Forwarding versus stalling
- Parallelism via instructions
- Memory technologies
- The basics of caches
- Measuring and improving cache performance