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