Learn · NPTEL

Course10610619777 lectures

Foundations to Computer Systems Design

Prof. Kamakoti Veezhinathan · IIT Madras

Start with lecture 1 At NPTEL

Lectures

Week 1

  1. Module 1.1: Introduction to the Course Video
  2. Module 1.2: CMOS Transistors and Gates Video
  3. Module 1.3: Basic Gates Video
  4. Module 1.4: Building Gates Using Simulator Video
  5. Module 1.5: Hierarchical Design and Verification Video
  6. Module 1.6: Building Blocks of a Digital Computer Video

Week 2

  1. Module 2.1: Binary Number Systems Video
  2. Module 2.2: Signed Number Systems Video
  3. Module 2.3: Two's Complement Number System Video
  4. Module 2.4: Binary Adder Circuits Video
  5. Module 2.5: Building the ALU of HACK Video
  6. Module 2.6: HACK ALU Functionality Video
  7. Module P1: Tips for Project P01 Video

Week 3

  1. Module 3.1: Sequential Logic Design Video
  2. Module 3.2: Latches and Flipflops Video
  3. Module 3.3: The Memory Hierarchy Video
  4. Module 3.4: Design of Program Counter Video
  5. Module 3.5: Introduction to Computer Organization: The HACK Instruction Set Architecture (ISA) Video
  6. Module 3.6 Memory Mapped I/O Video
  7. Module P2: Tips for Projects P02 and P03 Video
  8. Module P3: Tips for Project 04 Video
  9. Module P4: Tips for Project 04 Video

Week 4

  1. Introduction to Computer Architecture Video
  2. The HACK Microarchitecture Video
  3. The HACK CPU - A Deep Dive: Part 1 Video
  4. The HACK CPU - A Deep Dive: Part 2 Video
  5. The Data Memory Video
  6. The HACK Computer Video

Week 5

  1. The Assembler Construction Video
  2. Understanding the Working of Assembler Video
  3. Assembler: Symbol Table Construction Video
  4. Assembler: Pass 1 Video
  5. Assembler: Pass 2 Video
  6. Project 06 - Demonstration Video

Week 6

  1. Virtual Machines - What and Why? Video
  2. The VM Instruction Set Architecture Video
  3. The execution of a VM Program Video
  4. How powerful is the VM? Video
  5. Project 07: VM ISA to HACK Mnemonic Translation Video
  6. Project 07: Demo Video
  7. Deep Understanding of VM ISA using VM Emulator Video

Week 7

  1. Virtual Machine II - Program flow commands and Introduction to Function Calls Video
  2. Implementation of Function Call Video
  3. Working of the Virtual Machine Video
  4. Project 08: Translation of Program Flow and Function Call to HACK Mnemonic Video
  5. Handling Static Variables Video
  6. Project 08: Implementation tips in a Nut Shell Video

Week 8

  1. Introduction to The JACK Programming Language Video
  2. Project 09: Basic Steps Video
  3. Understanding Syntax of JACK using Examples Video
  4. Project 09: More Examples Video
  5. The JACK Syntax - Language Specification Video
  6. Application Development using JACK Video

Week 9

  1. JACK Compiler: Lexical Analysis - Tokenization Video
  2. Project 10: Compiler for JACK - Part-1 Demo Video
  3. The JACK Grammar Video
  4. Compiler for JACK: Parsing the JACK Program Video
  5. The Token Analyzer Video
  6. Testing the Correctness Video

Week 10

  1. The Jack Compiler - Back-end Introduction Video
  2. The Jack Compiler - Handling Variables Video
  3. The Jack Compiler - Handling Expressions Video
  4. The Jack Compiler - Handling Flow of Control Video
  5. The Jack Compiler - Handling Objects Video
  6. The Jack Compiler - Handling Arrays Video

Week 11

  1. The Jack Compiler Backend: An XML guided approach Video
  2. The Jack Compiler Backend: Populating the Class and Subroutine Symbol tables. Video
  3. The Jack Compiler Backend: Code Generation - 1 Video
  4. The Jack Compiler Backend: Code Generation - 2 Video
  5. The Jack Compiler Backend: Code Generation - 3 Video
  6. The Jack Compiler Backend: Code Generation - 4 Video

Week 12

  1. Jack Compiler: Code Generation - 5 Video
  2. Jack Compiler: Code Generation - 6 Video
  3. Jack Compiler: Code Generation - 7 Video
  4. Understand the Operating System - Compiler Interactions Video
  5. Project - 12: One sample journey from Jack to Hack Video
  6. Concluding Remarks Video

Syllabus and materials

At NPTEL, as the course publishes them.

Credits and licence

Institution
IIT Madras
Department
Computer Science and Engineering
Teacher
Prof. Kamakoti Veezhinathan
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