================ Lecture Syllabus ================ #. Computer Technology and Abstractions #. Brief history of computer technology #. Classes of computers #. Basic abstractions #. Binary integer arithmetic #. Basic computer organization #. 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 #. Memory hierarchy #. Processor Implementation #. Datapath design #. Control design #. Pipelining #. Arithmetic #. Addition and subtraction #. Multiplication #. Floating-point