Recent Changes

:: Personal ::


Main / CoursesAA12

ENGR 851 - Advanced Microprocessor Architectures - Spring 2012

Instructor: Seapahn Megerian, Ph.D.
San Francisco State University
School of Engineering

ENGR 851 course bulletin

Contact Info and Office Hours:

Email:engr851 at
Office:SCI 170A
Office hours:Thursdays after lecture and by appointment.

Time and Place

Lecture, Thursday, 18:10-20:55, HSS 305


Course Description:

Engr 851 provides an overview of advanced topics in microprocessor design and computer architectures. In addition to delving into a wide array of traditional processor design issues such as computation models, instruction sets, memory organization, pipelining, speculative and out of order execution, superscalar, VLIW, and EPIC, class discussions will often revolve around current challenges, trends, and hot topics from both industrial and academic domains. The goal of the course is to present in-depth discussions in historic and state of the art architectures, while at the same time encouraging the exploration of options in the coming generations of post-"Moore's Law" age of computer design. Highly parallelized and massively multi-core (with hundreds, thousands, and even larger number of cores), the evolution of large-scale flash memories, and the ever increasing density of complex systems-on-chip are some of the factors that demand fundamental changes in how computer architects have been approaching new design problems. Students are expected to have taken an undergraduate level computer architecture course. Prior knowledge of operating systems, parallel programming, and multi-threading will be very helpful but is not required.


  • Engr 456 - Computer Systems
  • Engr 356 - Basic Computer Architecture
  • Operating systems knowledge recommended.
  • Background and relevant material will be reviewed as deemed necessary by the instructor.


10% - Class participation
40% - Midterm
50% - Final exam

Tentative Course Schedule:

  • 1-26: Introductions, course overview, system-level performance metrics
  • 2-02: Linux fundamentals needed for this course; SimpleScalar
  • 2-09: RISC, CISC, EPIC, SuperScalar and VLIW. Multitasking vs Multithreading.
  • 2-16: Pipelining and hazards
  • 2-23: Register renaming, branch prediction, and speculative execution.
  • 3-01: Pipelining, VLIW, and Superscalar continued
  • 3-08: No Class: CS + Engineering Career Symposium - Looks like the event was (cancelled.)
  • 3-15: Midterm review, sample problems
  • 3-22: No Class: Spring Recess
  • 3-29: Midterm - Take-home
  • 4-05: Memory hierarchy, caching, and analysis
  • 4-12: Memory continued, cache coherence
  • 4-19: Virtual Memory
  • 4-26: Virtual Memory continued, large scale data centers
  • 5-03: Midterm results and review
  • 5-10: Final exam review

The sections below will be regularly updated throughout the course so check back often!