Course10610619777 lectures
Foundations to Computer Systems Design
Prof. Kamakoti Veezhinathan · IIT Madras
Lectures
Week 1
- Module 1.1: Introduction to the Course
- Module 1.2: CMOS Transistors and Gates
- Module 1.3: Basic Gates
- Module 1.4: Building Gates Using Simulator
- Module 1.5: Hierarchical Design and Verification
- Module 1.6: Building Blocks of a Digital Computer
Week 2
- Module 2.1: Binary Number Systems
- Module 2.2: Signed Number Systems
- Module 2.3: Two's Complement Number System
- Module 2.4: Binary Adder Circuits
- Module 2.5: Building the ALU of HACK
- Module 2.6: HACK ALU Functionality
- Module P1: Tips for Project P01
Week 3
- Module 3.1: Sequential Logic Design
- Module 3.2: Latches and Flipflops
- Module 3.3: The Memory Hierarchy
- Module 3.4: Design of Program Counter
- Module 3.5: Introduction to Computer Organization: The HACK Instruction Set Architecture (ISA)
- Module 3.6 Memory Mapped I/O
- Module P2: Tips for Projects P02 and P03
- Module P3: Tips for Project 04
- Module P4: Tips for Project 04
Week 4
- Introduction to Computer Architecture
- The HACK Microarchitecture
- The HACK CPU - A Deep Dive: Part 1
- The HACK CPU - A Deep Dive: Part 2
- The Data Memory
- The HACK Computer
Week 5
- The Assembler Construction
- Understanding the Working of Assembler
- Assembler: Symbol Table Construction
- Assembler: Pass 1
- Assembler: Pass 2
- Project 06 - Demonstration
Week 6
- Virtual Machines - What and Why?
- The VM Instruction Set Architecture
- The execution of a VM Program
- How powerful is the VM?
- Project 07: VM ISA to HACK Mnemonic Translation
- Project 07: Demo
- Deep Understanding of VM ISA using VM Emulator
Week 7
- Virtual Machine II - Program flow commands and Introduction to Function Calls
- Implementation of Function Call
- Working of the Virtual Machine
- Project 08: Translation of Program Flow and Function Call to HACK Mnemonic
- Handling Static Variables
- Project 08: Implementation tips in a Nut Shell
Week 8
- Introduction to The JACK Programming Language
- Project 09: Basic Steps
- Understanding Syntax of JACK using Examples
- Project 09: More Examples
- The JACK Syntax - Language Specification
- Application Development using JACK
Week 9
- JACK Compiler: Lexical Analysis - Tokenization
- Project 10: Compiler for JACK - Part-1 Demo
- The JACK Grammar
- Compiler for JACK: Parsing the JACK Program
- The Token Analyzer
- Testing the Correctness
Week 10
- The Jack Compiler - Back-end Introduction
- The Jack Compiler - Handling Variables
- The Jack Compiler - Handling Expressions
- The Jack Compiler - Handling Flow of Control
- The Jack Compiler - Handling Objects
- The Jack Compiler - Handling Arrays
Week 11
- The Jack Compiler Backend: An XML guided approach
- The Jack Compiler Backend: Populating the Class and Subroutine Symbol tables.
- The Jack Compiler Backend: Code Generation - 1
- The Jack Compiler Backend: Code Generation - 2
- The Jack Compiler Backend: Code Generation - 3
- The Jack Compiler Backend: Code Generation - 4
Week 12
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
More like this
NPTEL113106082
Course
Welding of Advanced High Strength Steels for Automotive Applications
20 lectures · Video
NPTEL101106082
Course
Rocket Propulsion
36 lectures · Source's player
NPTEL101106031
Course
Acoustic Instabilities in Aerospace Propulsion
41 lectures · Video
NPTEL101106033
Course
Aerospace Propulsion
42 lectures · Video
NPTEL101106037
Course
Combustion
51 lectures · Video
NPTEL101106042
Course
Flight Dynamics II (Stability)
41 lectures · Video
NPTEL101106044
Course
Gas Dynamics
54 lectures · Video
NPTEL101106045
Course
Introduction to CFD
39 lectures · Video
NPTEL105106204
Course
Colloids and Surfaces
48 lectures · Source's player
NPTEL105106205
Course
Polymers: Concepts, Properties, Uses and Sustainability
87 lectures · Source's player
NPTEL103106158
Course
Fluid And Particle Mechanics
73 lectures · Source's player
NPTEL103106220
Course
Artificial Lift
62 lectures · Source's player