Welcome to California State University, Chico -- Today Decides Tomorrow
Search for
 
Search in
 

California State University, Chico
 
Core CSCI 620 syllabus Back to List
Next Page
 
CSCI 620: Computer Architecture
(3 credit hours)

Course Objectives

The objectives of this course are to:
  • introduce students to the main topics in computer architecture that address various aspects of concurrent computation
  • foster an appreciation of architectural differences relative to a computer system's overall performance and capabilities/limitations in adapting to different applications; and
  • help students understand various representations and classifications of high performance architectures.

Prerequisites

    Classified graduate standing, or faculty permission.

Catalog Description

     Provides a thorough and fundamental treatment of the art of computer architecture. Topics include concepts of von Neumann architectures, methods of evaluating CPU performance, instruction-set design and examples, compiler issues, instruction pipelining, superscalar processors, methods for reduction of branch penalty, memory hierarchies, I/O systems, floating-point arithmetic, and current issues in parallel processing.

Approach

     Study architecture by topics, using relevant portions of various real computers to illustrate each topic. Study implementation chiefly through the detailed examination of one simple, complete computer. Supplement the textbook with selected readings from the literature. Do not emphasize programming or hardware laboratory.

Current Instructor

     Dr. Benjoe Juliano

Current Course Website

       http://www.ecst.csuchico.edu/~juliano/Teaching/syllabus380.html

Typical Text

     Computer Architecture: A Quantitative Approach, 3/e, John L. Hennessy and David A. Patterson, 2002. Morgan Kaufmann Publishers, San Francisco, California.  ISBN 1-55860-596-7  

Course Coverage

Basics of machine organization (review)
1. CPU
2. Datapath
3. Control: hardwired and microprogrammed
4. Memory

Principles of instruction set design
1. Instruction formats
2. Memory addressing
3. Types of instruction operators (including synchronization primitives, and their implementations on pipelined Load / Store machines)
4. Sizes of operands
5. How programs (and machines) behave--dynamic frequencies

Computer arithmetic
1. Fast add, multiply and divide units
2. Floating point arithmetic and the IEEE Floating Point Standard

Pipelining (instruction level parallelism)
1. Basics: notations, speedup, classification of pipelines
2. Instruction pipelining
  • Hazards: structural, data and control hazards
  • Hardware solutions: interlocks, forwarding, renaming, branch prediction
  • Software solutions: pipeline scheduling, loop unrolling, loop-level parallelism
  • Scoreboarding and Tomasulo's Algorithm

3. Out of order execution, speculative execution and precise interrupts
4. Multiple issue (superscalar and VLIW) processors

Memory hierarchy
1. Cache memory
  • Addressing methods
  • Fetch, write and replacement policies
  • Split and unified caches
  • Multilevel caches
  • Physical and virtual caches

2. Virtual memory
  • Methods of address translation
  • Translation Lookaside Buffers

Multiprocessors
1. symmetric shared-memory versus distributed shared-memory architectures
2. cache coherence, bus-based or snoopy coherence protocols
3. scalability issues
 
Computer Science | Welcome | Important Dates! | Advising | Facilities | News | Career Opportunities | Mission | Industry Involvement | Assessment Tools | Alumni | Research | BS in Computer Science | BS in Computer Information Systems | MS in Computer Science | Minor in Computer Science | Minor | Online Program
CSU, Chico:
Home | Admissions | Bookstore | Catalog | Schedule | Library | Help

This page and its contents © 2003 College of Engineering, Computer Science, & Construction Management
California State University, Chico
College of Engineering, Computer Science, & Construction Management
California State University, Chico
Chico, CA 95929-0003
530-898-5963
webmaster@ecst.csuchico.edu

Maintained by Freedom™.   Developed by Diverse Network Associates™.

Department of Computer Science Preparing Graduates to Solve 21st Century Problems