AIMS AND OBJECTIVES OF THE COURSE: The main objective of the computer architecture course is to give a good understanding of concepts and mechanisms related to the design of modern computer systems. At the end of the course, students will be able to describe the basic components of a computer from the perspective of computer architecture and understand the rich interaction between the hardware and software layers in modern systems. Students are expected to be able to: outline the architectural characteristics of modern computer systems; explain the principles on which the design and development of computer systems for different purposes is based; explain the ways in which computer systems are organized and what determines their performance; to apply the acquired knowledge to deal with the new challenges of computer design; to use independently specialized contemporary literature on specific topics.
DESCRIPTION OF THE COURSE: This course is an introduction to modern computer architecture, its evolution, and the factors influencing the design of hardware and software elements of computer systems. Topics covered: Architecture and Microarchitecture Trends. Machine Models. CISC, RISC, SIMD and VLIW Processor Designs; Instruction Set Design and Characteristics; Instruction Level Parallelism; System Memory Architecture. Cache design and its impact on performance. Memory Management. Virtual Memory. I/O System Organization. Systems on Chip – Interconnection Networks, Multithreading Architectures. Computer Performance Evaluation – parameters, measurement methods, benchmarks.