How are computers designed and how they work? Why has the principle of operation remained almost unchanged from the first computers to today? What is going on in the machine during problem solving? These are only some of the questions that are answered by the Computer Systems Architecture course.
During the course the students will in theory and on practical examples study the following topics:
Nature of computation, complexity, limitations, theoretical models of computation.
Survey of historical development of computing machines.
Von Neumann architecture model and basic principles of operation. Input and output, interrupts, locality of memory references, Amdahl’s law, hardware and software.
Representation of information and basic computer arithmetic.
Instructions and machine language: addressing modes, operations, formats, RISC-CISC.
Central processing unit: datapath with arithmetic-logic unit, control unit.
Analysis of CPU design and operation using a RISC computer as an example.
Instruction level parallelism: pipeline, pipeline hazards. Pipeline hazard elimination, dynamic scheduling, register renaming, speculative execution, multiple-issue processors. Thread level parallelism.
Main memory: technology, organization, protection.
Cache memories: principles of operation, types of cache misses, miss penalty, coherency problem.
Virtual Memory