トップページへ

2021 Faculty Courses School of Computing Department of Computer Science Graduate major in Computer Science

Advanced Computer Architecture

Academic unit or major
Graduate major in Computer Science
Instructor(s)
Kenji Kise
Class Format
Lecture
Media-enhanced courses
-
Day of week/Period
(Classrooms)
5-6 Mon / 5-6 Thu
Class
-
Course Code
CSC.T433
Number of credits
200
Course offered
2021
Offered quarter
4Q
Syllabus updated
Jul 10, 2025
Language
English

Syllabus

Course overview and goals

This course aims to provide students with cutting-edge technologies and future trends of computer architecture with focusing on a microprocessor which plays an important role in the downsizing, personalization, and improvement of performance and power consumption of computer systems such as PCs, personal mobile devices, and embedded systems.
In this course, first, along with important concepts of computer architecture, students will learn from instruction set architectures to mechanisms for extracting instruction level parallelism used in out-of-order superscalar processors. After that, students will learn mechanisms for exploiting thread level parallelism adopted in multi-processors and multi-core processors.

Course description and aims

By taking this course, students will learn:
(1) Basic principles for building today’s high-performance computer systems
(2) Mechanisms for extracting instruction level parallelism used in high-performance microprocessors
(3) Methods for exploiting thread level parallelism adopted in multi-processors and multi-core processors
(4) New inter-relationship between software and hardware

Keywords

Computer Architecture, Processor, Embedded System, multi-processor, multi-core processor

Competencies

  • Specialist skills
  • Intercultural skills
  • Communication skills
  • Critical thinking skills
  • Practical and/or problem-solving skills

Class flow

Before coming to class, students should read the course schedule and check what topics will be covered. Required learning should be completed outside of the classroom for preparation and review purposes.

Course schedule/Objectives

Course schedule Objectives
Class 1

Design and Analysis of Computer Systems

Understand the basic of design and analysis of computer systems.

Class 2

Instruction Set Architecture

Understand the examples of instruction set architectures

Class 3

Memory Hierarchy Design

Understand the organization of memory hierarchy designs

Class 4

Pipelining

Understand the idea and organization of pipelining

Class 5

Instruction Level Parallelism: Concepts and Challenges

Understand the idea and requirements for exploiting instruction level parallelism

Class 6

Instruction Level Parallelism: Instruction Fetch and Branch Prediction

Understand the organization of instruction fetch and branch predictions to exploit instruction level parallelism

Class 7

Instruction Level Parallelism: Advanced Techniques for Branch Prediction

Understand the advanced techniques for branch prediction to exploit instruction level parallelism

Class 8

Instruction Level Parallelism: Dynamic Scheduling

Understand the dynamic scheduling to exploit instruction level parallelism

Class 9

Instruction Level Parallelism: Exploiting ILP Using Multiple Issue and Speculation

Understand the multiple issue mechanism and speculation to exploit instruction level parallelism

Class 10

Instruction Level Parallelism: Out-of-order Execution and Multithreading

Understand the out-of-order execution and multithreading to exploit instruction level parallelism

Class 11

Multi-Processor: Distributed Memory and Shared Memory Architecture

Understand the distributed memory and shared memory architecture for multi-processors

Class 12

Thread Level Parallelism: Coherence and Synchronization

Understand the coherence and synchronization for thread level parallelism

Class 13

Thread Level Parallelism: Memory Consistency Model

Understand the memory consistency model for thread level parallelism

Class 14

Thread Level Parallelism: Interconnection Network and Man-core Processors

Understand the interconnection network and many-core processors for thread level parallelism

Study advice (preparation and review)

To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.

Textbook(s)

John L. Hennessy, David A. Patterson. Computer Architecture A Quantitative Approach, Fifth Edition. Morgan Kaufmann Publishers Inc., 2012

Reference books, course materials, etc.

William James Dally, Brian Patrick Towles. Principles and Practices of Interconnection Networks. Morgan Kaufman Publishers Inc., 2004.

Evaluation methods and criteria

Students will be assessed on their understanding of instruction level parallelism, multi-processor, and thread level parallelism. Students’ course scores are based on the mid-term report and assignments (40%), and the final report (60%).

Related courses

  • CSC.T363 : Computer Architecture
  • CSC.T341 : Computer Logic Design

Prerequisites

No prerequisites are necessary, but enrollment in the related courses is desirable.

Contact information (e-mail and phone) Notice : Please replace from ”[at]” to ”@”(half-width character).

Kise Kenji: kise[at]c.titech.ac.jp

Office hours

Contact by e-mail in advance to schedule an appointment.