Lecture SyllabusΒΆ

  1. Computer Technology and Abstractions

    1. Brief history of computer technology

    2. Classes of computers

    3. Basic abstractions

    4. Binary integer arithmetic

    5. Basic computer organization

  2. Instruction Set Architecture

    1. ARM ISA

    2. Addressing modes

    3. Assembly language

    4. Subroutines

  3. Software

    1. Assembler, Linkers, Compilers, Debuggers

    2. Interaction between C and assembly

    3. Operating systems

  4. Input/Output

    1. Polling

    2. Interrupts

    3. Bus protocols

    4. Parallel and serial interfaces

  5. Memory

    1. Memory Types: SRAM, DRAM, SDRAM

    2. DMA

    3. Memory hierarchy

  6. Processor Implementation

    1. Datapath design

    2. Control design

    3. Pipelining

  7. Arithmetic

    1. Addition and subtraction

    2. Multiplication

    3. Floating-point