Pre-Requisites (Eligibility):

  1. Digital Electronics : Understanding of Mux, Decoders, Registers, Flip Flops and basic circuits like adder, subtractor, and multiplier.
  2. C Programing : Working Knowledge of C and should be able to understand meaning of code snippets including pointers, arrays and structures. Should be able to write code in C, as assignments will be mostly using C programming.
  3. Microprocessors and Basic Computer Architecture :

    1. Single Cycle, Multi cycle architectures.
    2. ISA ( Very Basic knowledge of MIPS, ARM, x86 or any assembly language)
  4. Operating systems : Basic Terminologies in OS like processes, threads, stack.


Course Structure :

  1. Fundamental Concepts and ISA
  • Brief Introduction to ARM architecture, Programmers Model and Instruction Set
  • Operating Modes and Exception Handling
  • Important terminologies in Embedded Systems
  1. Instruction Level Parallelism
  • Pipelining Principles
  • Out of order execution
  • Precise Exceptions
  1. Memory hierarchy Design
  • Main Memory design
  • Cache Architectures and Optimizations
  • TLB and Virtual Memory concepts
  • Advance memory concepts – Multicore cache management (optional) (as per level of students)
  1. Embedded Systems
  • Microcontrollers, I/O and Peripheral Concepts
  • Embedded Architecture and Power Considerations
  1. Advance Concepts in Computer Architecture (optional)(as per level of students)
  • Branch Prediction, Control Flow Handling and Prefetching
  • Interconnects
  • Flynn’s taxonomy and GPU architectures

6  Operating Systems Fundamentals

  • Processes and its address space , stack and heap
  • Threads and multithreading

7      Processor Virtualization

  • Scheduling Introduction
  • Scheduling Algorithms
  • Multiprocessor Scheduling

8     Memory Virtualization

  • Memory management overview
  • Paging
  • Segmentation
  • Virtual memory
  • Demand Paging
  • Page Replacement
  • Thrashing
  • Memory Mapped Files

9  Concurrency

  • Introduction
  • Locks
  • Semaphores
  • Common Concurrency Problems

10  Persistence

  • I/O devices
  • File and Directories
  • File Operations
  • File System Implementation


Key features of our course:

  1. Weekly assignments including lots of numerical as well as implementation problems will be provided. Proper detailed analysis and discussion of sample problems and assignments will be carried out.
  2. Equal Focus on developing practical skills along with theory. Practical implementation assignments will be provided to students
  3. Detailed study material like PPT, reference materials and assignments will be provided.