================ Lecture Syllabus ================ #. Computer Technology and Abstractions #. Brief history of computer technology #. Classes of computers #. Basic abstractions #. Basic computer organization #. Processor Design #. Binary integer arithmetic #. ALU #. Datapath Design #. Control Design #. Instruction Set Architecture #. ARM ISA #. Addressing modes #. Assembly language #. Subroutines #. Software #. Assembler, Linkers, Compilers, Debuggers #. Interaction between C and assembly #. Operating systems #. Input/Output #. Polling #. Interrupts #. Bus protocols #. Parallel and serial interfaces #. Memory #. Memory Types: SRAM, DRAM, SDRAM #. DMA #. Virtual Memory #. Processor Performance #. Pipelining #. Memory hierarchy & Caches #. Arithmetic #. Fixed-point #. Efficient Addition and subtraction #. Efficient Multiplication #. Floating-point