ECE4270-7270 - Computer Organization (Fall 2011)
Course Description: The course covers computer architecture and programming; pipelining, dynamic scheduling, branch prediction, memory hierarchies, memory management and cache organization, parallel processing, graphics processing units for general purpose computing. It will be offered to both undergraduate and graduate students.
Note: The course is offered for the first time in Fall 2011.
Note: University of Missouri has been named CUDA Teaching Center for 2010/2011 by Nvidia Corporation.
Contents |
Syllabus
Course Mailing List
http://groups.google.com/group/ece4270
Email: ece4270@googlegroups.com
References
Books
Required:
- J. Hennessy and D. Patterson, “Computer Architecture: A Quantitative Approach,” Fourth edition, Morgan-Kaufmann, 2006 (ISBN: 0123704901)
CUDA reference (optional):
- D. B. Kirk and W. W. Hwu, “Programming Massively Parallel Processors – A Hands-on Approach,” Morgan Kaufmann, 2010 (ISBN: 978-0-12-381472-2)
Online material
- POSIX Threads Tutorial
- OpenMP specification
- OpenMP tutorial
- CUDA Toolkit
- CUDA Library Documentation
- NVIDIA Fermi Architecture Whitepaper
- CUDA Training Material
Linux/Make tutorials for beginners
Lecture Notes
- Introduction
- Quantitative Computer Architecture
- Instruction Set Architecture
- Pipelining I
- Pipelining II
- Dynamic Scheduling I
- Dynamic Scheduling II
- Branch Prediction
- Introduction to Multi-cores and GPUs
- Introduction to CUDA
- Dynamic Scheduling III
- Compiler Techniques I: Loop Unrolling
- Compiler Techniques II: Software Pipelining, Trace Scheduling & Superblock
- Cache Organization
- Cache Organization II
- Memory Organization
- Performance Monitoring
Labs
Lab1 POSIX Thread Basics
Lab2 POSIX Thread Basics (Implementation)
Lab3 POSIX Thread Basics (Mutual Exclusion and Conditional Variables)
Lab4 OpenMP
Lab5 OpenMP
Lab6 CUDA
Lab7 CUDA
Lab8 CUDA
Homework Assignments
Note: the solutions to the exercises from Hennessy and Patterson's textbook are available here.
- Homework #0
- Homework #1: Daniel Li's solution
- Homework #2: solution
- Homework #3
- Homework #4: Felix Zeng's solution
- Homework #5
- Midterm: solution