- Identify the fundamental computer architecture components and their roles.
- Identify the main processor's components and their role.
- Identify the different instruction types and the required mechanisms for their execution (at an introductory-level).
- Understand how a program, written in a high-level language, is executed, including the role of the compiler, assembler, and loader.
- Write simple programs in Assembly language.
- Understand the underlying principals of interruptions/exceptions and the interface with processor peripherals.
- Understand the importance of a hierarchical memory subsystem and its role in the performance of applications.
- Identify the advantages and drawbacks stemming from the evolution of computers with respect to the original architecture.
- Historical evolution of computing systems.
- Instruction Set Architectures: operands and operation types; memory map; peripherals interface; handling of interruptions and exceptions.
- Processors' operation: datapath; control structures; single-cycle and pipelined architectures.
- Memory hierarchy: structure and operation of cache memories; hierarchical cache systems; physical and virtual addressing and translation.
- Advances in computer architectures.
50% continuous evaluation / 50% non-continuous evaluation
Computer Organization and Design: the Hardware/Software Interface, 5th Edition, David A. Patterson, John L. Hennessy, 2013,Morgan Kaufmann
0104065
6