CS 4753: Computer Architecture


[Home] [Announcements] [Course desc] [Prereq] [Grading] [Admin info] [Assignments] [Slides] [syllabus].


Course Announcements


Course Description

In this course you should learn how your computer operates at the hardware level, and how this information may be utilized in optimization. This includes how program instructions are executed within the processing elements, as well as how modern heirarchial memories affect program execution. Understanding these basic concepts is critical in any performance-critical programming and design, including Operating Systems, compilers, and high performance computing.

Topics of interest include (but are not limited to) the following:

  1. Ch 1: Terminology and trends in Computer Architecture; how to measure computer performance and predict optimization gains, etc.
  2. App A: Understanding pipelining. In particular, speedups and slowdowns from it, how to handle hazards in the pipe, handling interrupts with varying length instructions, etc.
  3. Ch 3: Instruction level parallelism via multi-issue, dynamic scheduling (Tomasulo's Algorithm) , branch prediction, superscalar and VLIW design and speculation.
  4. Ch 4: Transformations to enhance ILP: scheduling, loop unrolling dependence ameliorating techniques, software pipelining. Further info on superscalar and VLIW designs.
  5. Ch 5: Modern memory heirarchy and its affect on program execution. We will also discuss transformations to exploit this heirarchy.

If time allows, we will also cover chapters 2 (ISA design), 6 (multiprocessing) and 7 (I/O).


Prerequisites

We will be programming in a unix environment, using ANSI C and make.


Textbooks

Required: Computer Architecture, A Quantitative Approach by Hennessy & Patterson (third edition).
Recommended (background): Computer Organization and Design, by Patterson & Hennessy (third edition).


Evaluation Criteria

This is the first time to teach the class, so this may be modified during the semester. The rough breakdown should be:

For a more complete description, consult the syllabus.


Administrative Information

Class Hours: Monday, Wednesday, and Friday 1PM to 1:50PM.
Location : HSS 2.02.04.
Instructor : Dr. Whaley.
Office Hours: MWF, 2-3PM.

There is also a recitation that goes with this course: Rec Hours : M or W 12-12:50PM.
Location : SB 1.02.04.
Instructor: TBA.
NOTE : There is no recitation for the first week (Aug 22-26).

Students with disabilities:
If you have a physical, psychological, medical or learning disability that may impact on your ability to carry out assigned course work, I would urge that you contact University Disability Services (DS), Multidisciplinary Studies Building, Room 2.03.18, 210-458-4157 (Voice), 210-458-4981 (TTY), 210-458-4980 (Fax), homepage: http://www.utsa.edu/disability/. Please bring a letter to me from the DS indicating your need for academic accommodations within the first week of class. The syllabus and other class materials can be made available in alternative format upon request.

Academic Integrity:
Remember that the goal of programming or written assignments is to enhance your programming skills and understanding of the topics under discussion. Thus indulging in academic dishonesty results in poor understanding of the material as well as being unfair to other students. In case you have any questions about whether an act of collaboration may be construed as academic dishonesty, please clarify the issue with the instructor before you collaborate. Academic dishonesty can result in a grade of 'F'.


[Home] [Announcements] [Course desc] [Prereq] [Grading] [Admin info] [syllabus].