The aim of the course is to provide students with a fundamental knowledge of computer hardware and the organization and architecture of computer systems, with an emphasis on understanding various techniques improving the performance of microprocessors.
Computer technology. Instruction Set Architecture. Multicore processors. Pipelining for increasing the performance of the processor: dependencies, forwarding, stall, delayed branch. Memory hierarchy – cache memory. Instruction-level parallelism (ILP): superscalar processors, VLIW, out of order execution, register renaming, speculative execution, branch prediction. Clusters. Processor performance. Main memory technologies. I/O. Graphics Processing unit.
- HennessyJ., PattersonD., Computer Architecture, A Quantitative Approach, 5th edition
- HennessyJ., PattersonD., Computer Organization and Design, 5th edition
- Bruce Jacob, Spencer W. Ng, David T. Wang, Memory Systems Cache, DRAM, Disk
- Parhami Β.,Computer Architecture: From Microprocessors to Supercomputers, Oxford University Press