Electrical Engineering and Computer Science

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:

  1. Understand the structure of computer systems. 
  2. Gain knowledge on the design of the various functional units and components of computers. 
  3. Measure the computer performance based on the architecture. 
  4. Identify the elements of instructions sets. 
  5. Explain the function of each element of a memory hierarchy. 


Topics

  1. Technologies for building processors and memory 
  2. Performance 
  3. Operations of the computer hardware
  4. Operands of the computer hardware
  5. Representing instructions in the computer
  6. Logical operations
  7. Instructions for making decisions
  8. Supporting procedures in computer hardware
  9. MIPS addressing for 32-bit immediates and addresses
  10. Parallelism and instructions: synchronization
  11. Translating and starting a program
  12. Logic design conventions
  13. Building a datapath
  14. A simple implementation schemes
  15. A multicycle implementation
  16. An overview of pipelining
  17. Pipelined datapath and control
  18. Data hazards: Forwarding versus stalling
  19. Parallelism via instructions
  20. Memory technologies
  21. The basics of caches
  22. Measuring and improving cache performance 
Last Updated: 6/13/23