Learn · NPTEL

Course10610318449 lectures

Multi-Core Computer Architecture

Prof. John Jose · IIT Guwahati

Start with lecture 1 At NPTEL

About

The use of mobile gadgets and applications is crucial to maintaining comfort in modern living. These apps are supported by portable electronic devices with powerful microprocessors. We are in the era of multi-core systems where even the simplest of handheld devices like a smart phone houses many processors in a single chip. The core counts are ever increasing from 8 to 10 in smart phones to over 100s in super computers. This course will introduce the students to the world of multi-core computer architectures. With the unprecedented growth of data science, on-chip storage systems and inter-core communication framework are getting equal attention as that of processors. This course will focus on delivering an in-depth exposure in advanced computer architecture starting from the fundamentals of basic computer organization to advanced topics like multicore processors, GPUs, advanced cache memory optimizations, DRAM systems, on chip interconnects and domain specific accelerators. The course concludes with pointers to current research standings and on-going research directions for motivating the students to explore further.

Intended audience: Anyone in CSE and related fields like ECE, EEE, IT etc. with an interest in exploring Computer Architecture.

Prerequisites: Second-year undergraduate or above or any level of postgraduates in Computer Science and related fields (like ECE, EEE, IT etc.). A basic understanding of digital logic, microprocessors, computer organization will be added advantage.

Lectures

Week 1: Course Introduction & Basic Computer Organization

  1. Lec 1: Introduction and Overview of the Course YouTube
  2. Lec 2: Review of Basic Computer Organization YouTube
  3. Lec 3: Instruction Set and Addressing Modes YouTube
  4. Lec 4: Instruction Encoding YouTube
  5. Lec 5: Performance Evaluation Methods YouTube
  6. Lec 6:Tutorial on Performance Evaluvation YouTube

Week 2: Introduction to RISC Instruction Pipeline and Hazards

  1. Lec 6: Introduction to RISC Instruction Pipeline YouTube
  2. Lec 7: Instruction Pipeline Hazards YouTube
  3. Lec 8: Tutorial on Instruction Pipeline and Hazards YouTube

Week 3: Control Hazards and Branch Prediction Techniques

  1. Lec 9: Control Hazards and Branch Prediction YouTube
  2. Lec 10: MIPS Pipeline for Multi-Cycle Operations YouTube
  3. Lec 11: Tutorial on Longer Pipeline and Branch Prediction YouTube

Week 4: Pipeline Scheduling and Speculative Execution

  1. Lec 12: Compiler Techniques to Explore ILP YouTube
  2. Lec 13: Dynamic Scheduling to Explore ILP YouTube
  3. Lec 14: Dynamic Scheduling with Tomasulo’s Algorithm YouTube
  4. Lec 15: Dynamic Scheduling with Speculative Execution YouTube
  5. Lec 16: Tutorial on Static and Dynamic Scheduling YouTube

Week 5: Superscalar Processors and GPU Architectures

  1. Lec 17: Advanced Pipelining & Superscalar Processors YouTube
  2. Lec 18: Introduction to GPU architectures YouTube
  3. Lec 19: Case study on GPU architectures YouTube
  4. Lec 20: Tutorial on Superscalar processors and GPU YouTube

Week 6: Cache Memory Principles

  1. Lec 21: Introduction to Cache Memory YouTube
  2. Lec 22: Block Replacement Techniques & Write Strategy YouTube
  3. Lec 23: Design Concepts in Cache Memory YouTube

Week 7: Cache Memory Optimizations

  1. Lec 24: Optimization Techniques in Cache Memory YouTube
  2. Lec 25: Advanced Cache Optimization Techniques YouTube
  3. Lec 26: Tutorial on Advanced Concepts in Cache Memory -1 YouTube
  4. Lec 27: Tutorial on Advanced Concepts in Cache Memory -2 YouTube

Week 8: Cache Coherence Protocols

  1. Lec 28: Cache coherence and memory consistency YouTube
  2. Lec 29: Snooping Based Cache Coherence YouTube
  3. Lec 30: Directory Based Cache Coherence YouTube
  4. Lec 31: Tutorial on Cache Coherence Protocols YouTube

Week 9: Primary and Secondary Storage Systems

  1. Lec 32: Introduction to DRAM System YouTube
  2. Lec 33: DRAM Controllers & Address Mapping YouTube
  3. Lec 34: Secondary Storage Systems YouTube
  4. Lec 35: Design Concepts in Storage Systems YouTube

Week 10: Tiled Chip Multi-Core Processors & Network-on-Chip

  1. Lec 36: Introduction to Tiled Chip Multicore Processors YouTube
  2. Lec 37: Routing Techniques in Network On Chip YouTube
  3. Lec 38: Network On Chip Router Micro-Architecture YouTube
  4. Lec 39: Concepts in Network on Chip YouTube

Week 11: Energy Efficient NoCs

  1. Lec 40: Energy Efficient Bufferless NoC Routers YouTube
  2. Lec 41: Sidebuffered Deflection Routers YouTube
  3. Lec 42: Concepts in Deflection Routers [T] YouTube

Week 12: QoS for TCMPs

  1. Lec 43: QoS of NoC and Caches in TCMP Systems YouTube
  2. Lec 44: Emerging Trends in Network On Chips YouTube
  3. Lec 45: Domain Specific Accelarators YouTube
  4. Lec 46: Introduction to VEGA Microprocessors (Case Study) YouTube
  5. Lec 47: Concepts in TCMP Systems YouTube
  6. Lec 48: How to Explore Computer Architecture? YouTube

Syllabus and materials

At NPTEL, as the course publishes them.

Credits and licence

Institution
IIT Guwahati
Department
Computer Science and Engineering
Teacher
Prof. John Jose
Level
Undergraduate
Language
English
Subjects
Computer science, Engineering
Source
NPTEL
Licence
CC BY-NC-SA, as NPTEL states it. Non-commercial use only. NPTEL's terms
Attribution
NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
Who can watch
NPTEL gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed