Pre-requisites, Topics and outcomes
Pre-requisites: Data structures and Algorithms, Computer Fundamentals and C
I taught this course to CSE, B.Tech. at IIT Jodhpur in the sessions: 2012-13, 2013-14, 2014-14
Digital Logic and Digital Systems
Topics:
- History of computer architecture
- Combinational vs. sequential logic, FPGA as a building block
- Multiple representations/layers in hardware design
- Hardware design tools and languages (Verilog/VHDL)
- Physical constraints (gate delays, power, fan-in/out)
Presentation Slides
Machine Level Representation of Data
Topics:
- Data units: bits, bytes, words
- Number bases, fixed/floating point systems
- Signed/two's complement, non-numeric data (chars, arrays)
Presentation Slides
Assembly Level Machine Organization
Topics:
- Von Neumann machine: basic structure
- Control unit, instruction execution
- Instruction sets, addressing modes
- Assembly/machine language, formats
- Subroutine calls, I/O, interrupts
- Memory segments: heap, stack, static
- Multiprocessors, Flynn's Taxonomy
Presentation Slides
Memory System Organization and Architecture
Topics:
- Storage systems and their technology
- Memory hierarchy: importance of temporal and spatial locality
- Main memory organization and operations
- Latency, cycle time, bandwidth, and interleaving
- Cache memories (address mapping, block size, replacement and store policy)
- Multiprocessor cache consistency/Using the memory system for inter-core synchronization/atomic memory operations
- Virtual memory (page table, TLB)
- Fault handling and reliability
- Error coding, data compression, and data integrity (cross-reference SF/Reliability through Redundancy)
Presentation Slides
Interfacing and Communication
Topics:
- I/O types: handshaking, buffering, interrupts
- External storage and drives
- Interrupt structures and acknowledgment
- Buses: protocols, DMA
- Networks: remote access layer
- Multimedia support
- RAID architectures