Course Title: Advanced Computer Architecture

Part A: Course Overview

Course Title: Advanced Computer Architecture

Credit Points: 12.00


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

EEET1264

City Campus

Postgraduate

125H Electrical & Computer Engineering

Face-to-Face

Sem 2 2008

Course Coordinator: Roy Ferguson

Course Coordinator Phone: +61 3 9925 2925

Course Coordinator Email: roy.ferguson@rmit.edu.au

Course Coordinator Location: 10.8.01

Course Coordinator Availability: See notice on door of 10.8.01


Pre-requisite Courses and Assumed Knowledge and Capabilities

You are expected to be familiar with the basic principles of computer operation (especially the fetch-execute-decode model of instruction execution) and computer programming.


Course Description

This course is about the principles of computer design, instruction set design concepts, performance enhancements, new and alternative computer architectures, and the design and implementation of high performance computing systems. It equips you with the skills to undertake performance comparisons, improve the performance of applications, and develop applications to solve computationally intensive problems.

The syllabus includes: Principles of computer design; Instruction set design concepts; Performance enhancements- advanced pipelining, dynamic scheduling, branch prediction, vector processors; Memory hierarchy design- caches and virtual memory; Modern architectures: RISC, Super Scalar, VLIW; Thread-level parallelism; , Multi-core and Multi-CPU systems; Interconnection networks, Clusters and Grid computing.


Objectives/Learning Outcomes/Capability Development

Generally, the capabilities you will acquire include:
• Technical competence in computer architecture and high performance computing.
• Ability to describe the operation of modern and high performance computers.
• Ability to undertake performance comparisions of modern and high performance computers.
• Ability to improve the performance of applications on modern and high performance computers.
• Development of software to solve computationally intensive problems.
• Teamwork and leadership skills through the project.
• Ability to communicate effectively in writing (both textually and graphically).
• Lifelong learning skills, in particular the ability to undertake self-directed study.


On successful completion of this course you will be able to:
• Describe the principles of computer design.
• Classify instruction set architectures.
• Describe the operation of performance enhancements such as pipelines, dynamic scheduling, branch prediction, caches, and vector processors.
• Describe the operation of virtual memory.
• Describe modern architectures such as RISC, Super Scalar, VLIW (very large instruction word), multi-core and multi-cpu systems.
• Compare the performance of different architectures.
• Improve application performance for different cpu architectures.
• Develop applications for high performance computing systems.


Overview of Learning Activities

This course provides you with a number of learning opportunities:
• Weekly lectures will guide you to important concepts and give you practical hints on improving application performance and developing solutions to computationally intensive problems.
• The laboratory work will help you to connect theory with practice.
• Projects are problem based learning activities that will enable you to exercise many of the expected skills.
• The course resources (accessible from the Web) have links to on-line resources for you to access and expand your knowledge of the topics.
• The lab project will develop your team skills and give you experience in industry relevant tasks and ways of working.


Overview of Learning Resources

The learning resources for this course include:
• Lecture Notes prepared by the Teaching staff.
• Recommended reference books: See the course guide Part B available at the start of classes for the list of references.
• Access to relevant computer facilities and software will be made available in laboratories. Access out-of-class may be possible.
• Course content will made available on-line.


Overview of Assessment

The assessment tasks for this course comprise Assignments, Projects, and Final Exam.
Assignments will help you gain competence in solving problems in computer architecture and high performance computing.
Project work will develop the capabilities listed above, and will be done in groups, which will help develop teamwork and leadership skills.
The final exam will test your individual capabilities.