Syllabus
Introduction: Hardware, software, Computer architecture, Instruction set, Computer structure and organization, input and output units, and input/output process.
Central processing unit:
Data path, constant point unit (ALU, register file, shifter, multiplier, divider), floating point unit, control unit (structure and implementation), Data path and control unit design (single-cycle implementation, multi-cycle implementation).
Pipelining:
Organization, Performance, structural, data and procedural hazards, hazard solution techniques, NOP instructions, pipeline stages stall, bypassing, delayed branch instructions, branch prediction techniques, static prediction techniques, dynamic prediction techniques, pipeline data path design.
Memory system:
Memory technology (semiconductor, magnetic, optical memories), Cache memory (fetch policies, organization, replace policies, update policies), Virtual memory, Implementation (paging, segmentation, segmentation, and paging), Translation Lookaside Buffer (TLB), Cache memory in the virtual and in the physical address space, Main memory implementation, Memory hierarchy.
Computer performance.