# Multi-Core Computer Architecture

- Institution: IIT Guwahati
- Department: Computer Science and Engineering
- Teacher: Prof. John Jose
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106103184)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106103184)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

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

1. [Lec 1: Introduction and Overview of the Course](https://invisiblenetwork.ai/learn/nptel/106103184/d3fee6dfdf9a) (YouTube)
2. [Lec 2: Review of Basic Computer Organization](https://invisiblenetwork.ai/learn/nptel/106103184/f4a1b84cbd44) (YouTube)
3. [Lec 3: Instruction Set and Addressing Modes](https://invisiblenetwork.ai/learn/nptel/106103184/35097db38107) (YouTube)
4. [Lec 4: Instruction Encoding](https://invisiblenetwork.ai/learn/nptel/106103184/36ef771f493b) (YouTube)
5. [Lec 5: Performance Evaluation Methods](https://invisiblenetwork.ai/learn/nptel/106103184/020b5a79f1c9) (YouTube)
6. [Lec 6:Tutorial on Performance Evaluvation](https://invisiblenetwork.ai/learn/nptel/106103184/4120e312ee5c) (YouTube)
7. [Lec 6: Introduction to RISC Instruction Pipeline](https://invisiblenetwork.ai/learn/nptel/106103184/78d5f5807a45) (YouTube)
8. [Lec 7: Instruction Pipeline Hazards](https://invisiblenetwork.ai/learn/nptel/106103184/bd245f5b0c3c) (YouTube)
9. [Lec 8: Tutorial on Instruction Pipeline and Hazards](https://invisiblenetwork.ai/learn/nptel/106103184/73b2c9d521ef) (YouTube)
10. [Lec 9: Control Hazards and Branch Prediction](https://invisiblenetwork.ai/learn/nptel/106103184/321bb99eb816) (YouTube)
11. [Lec 10: MIPS Pipeline for Multi-Cycle Operations](https://invisiblenetwork.ai/learn/nptel/106103184/c9665cc138d5) (YouTube)
12. [Lec 11: Tutorial on Longer Pipeline and Branch Prediction](https://invisiblenetwork.ai/learn/nptel/106103184/8b158a20920a) (YouTube)
13. [Lec 12: Compiler Techniques to Explore ILP](https://invisiblenetwork.ai/learn/nptel/106103184/8a452ae8f754) (YouTube)
14. [Lec 13: Dynamic Scheduling to Explore ILP](https://invisiblenetwork.ai/learn/nptel/106103184/7d1acf07d511) (YouTube)
15. [Lec 14: Dynamic Scheduling with Tomasulo’s Algorithm](https://invisiblenetwork.ai/learn/nptel/106103184/eefd73d66810) (YouTube)
16. [Lec 15: Dynamic Scheduling with Speculative Execution](https://invisiblenetwork.ai/learn/nptel/106103184/b7d0c4bf11bf) (YouTube)
17. [Lec 16: Tutorial on Static and Dynamic Scheduling](https://invisiblenetwork.ai/learn/nptel/106103184/429ae2ed1d5b) (YouTube)
18. [Lec 17: Advanced Pipelining & Superscalar Processors](https://invisiblenetwork.ai/learn/nptel/106103184/1730ad834a29) (YouTube)
19. [Lec 18: Introduction to GPU architectures](https://invisiblenetwork.ai/learn/nptel/106103184/a1df5ba0854f) (YouTube)
20. [Lec 19: Case study on GPU architectures](https://invisiblenetwork.ai/learn/nptel/106103184/d9c3c8c007c1) (YouTube)
21. [Lec 20: Tutorial on Superscalar processors and GPU](https://invisiblenetwork.ai/learn/nptel/106103184/94b737fe0987) (YouTube)
22. [Lec 21: Introduction to Cache Memory](https://invisiblenetwork.ai/learn/nptel/106103184/bdcfb123f72c) (YouTube)
23. [Lec 22: Block Replacement Techniques & Write Strategy](https://invisiblenetwork.ai/learn/nptel/106103184/2250b938bfd1) (YouTube)
24. [Lec 23: Design Concepts in Cache Memory](https://invisiblenetwork.ai/learn/nptel/106103184/4a7550dab688) (YouTube)
25. [Lec 24: Optimization Techniques in Cache Memory](https://invisiblenetwork.ai/learn/nptel/106103184/64ad2319c77c) (YouTube)
26. [Lec 25: Advanced Cache Optimization Techniques](https://invisiblenetwork.ai/learn/nptel/106103184/abf60c655a21) (YouTube)
27. [Lec 26: Tutorial on Advanced Concepts in Cache Memory -1](https://invisiblenetwork.ai/learn/nptel/106103184/78cf1795e840) (YouTube)
28. [Lec 27: Tutorial on Advanced Concepts in Cache Memory -2](https://invisiblenetwork.ai/learn/nptel/106103184/3195951a8285) (YouTube)
29. [Lec 28: Cache coherence and memory consistency](https://invisiblenetwork.ai/learn/nptel/106103184/b5b1df2030d8) (YouTube)
30. [Lec 29: Snooping Based Cache Coherence](https://invisiblenetwork.ai/learn/nptel/106103184/588b9bb17559) (YouTube)
31. [Lec 30: Directory Based Cache Coherence](https://invisiblenetwork.ai/learn/nptel/106103184/a2ad6e8e7831) (YouTube)
32. [Lec 31: Tutorial on Cache Coherence Protocols](https://invisiblenetwork.ai/learn/nptel/106103184/33195917bfc0) (YouTube)
33. [Lec 32: Introduction to DRAM System](https://invisiblenetwork.ai/learn/nptel/106103184/c54c84756f3b) (YouTube)
34. [Lec 33: DRAM Controllers & Address Mapping](https://invisiblenetwork.ai/learn/nptel/106103184/a2a6cbd68dd5) (YouTube)
35. [Lec 34: Secondary Storage Systems](https://invisiblenetwork.ai/learn/nptel/106103184/6f9235decb70) (YouTube)
36. [Lec 35: Design Concepts in Storage Systems](https://invisiblenetwork.ai/learn/nptel/106103184/d4307d272d9d) (YouTube)
37. [Lec 36: Introduction to Tiled Chip Multicore Processors](https://invisiblenetwork.ai/learn/nptel/106103184/e913727935a0) (YouTube)
38. [Lec 37: Routing Techniques in Network On Chip](https://invisiblenetwork.ai/learn/nptel/106103184/9b7b30930050) (YouTube)
39. [Lec 38: Network On Chip Router Micro-Architecture](https://invisiblenetwork.ai/learn/nptel/106103184/7510b4813769) (YouTube)
40. [Lec 39: Concepts in Network on Chip](https://invisiblenetwork.ai/learn/nptel/106103184/18e972b5ea5c) (YouTube)
41. [Lec 40: Energy Efficient Bufferless NoC Routers](https://invisiblenetwork.ai/learn/nptel/106103184/b5eebadb72cc) (YouTube)
42. [Lec 41: Sidebuffered Deflection Routers](https://invisiblenetwork.ai/learn/nptel/106103184/abbb4d5468fb) (YouTube)
43. [Lec 42: Concepts in Deflection Routers \[T\]](https://invisiblenetwork.ai/learn/nptel/106103184/bf5dc7ee8b31) (YouTube)
44. [Lec 43: QoS of NoC and Caches in TCMP Systems](https://invisiblenetwork.ai/learn/nptel/106103184/03edc33caa81) (YouTube)
45. [Lec 44: Emerging Trends in Network On Chips](https://invisiblenetwork.ai/learn/nptel/106103184/d90457f06e41) (YouTube)
46. [Lec 45: Domain Specific Accelarators](https://invisiblenetwork.ai/learn/nptel/106103184/67af0cb1776d) (YouTube)
47. [Lec 46: Introduction to VEGA Microprocessors (Case Study)](https://invisiblenetwork.ai/learn/nptel/106103184/58ff111fa82c) (YouTube)
48. [Lec 47: Concepts in TCMP Systems](https://invisiblenetwork.ai/learn/nptel/106103184/26bf529f353c) (YouTube)
49. [Lec 48: How to Explore Computer Architecture?](https://invisiblenetwork.ai/learn/nptel/106103184/2a95512bc249) (YouTube)
