Mg# |
Topik |
Sub Topik |
Capaian Belajar Mahasiswa |
Sumber Materi |
1 |
Introduction |
History of computers
Performance Analysis |
- Identify some contributors to computer architecture and organization and relate their achievements to the knowledge area.
- Explain the reasons and strategies for different architectures.
- Articulate differences between computer organization and computer architecture.
- Identify some of the components of a computer.
- Indicate some strengths and weakness inherent in different architectures.
- Understand the factors that contribute to computer performance.
- Understand the limitations of performance metrics.
- Select the most appropriate performance metric when evaluating a computer.
|
[P&H] Ch1 |
2 |
Integer Operations |
Unsigned and Signed Numbers. Range, Arithmetic Operations |
- Appreciate how numerical values are represented in digital computers.
- Understand the limitations of computer arithmetic and the effects of errors on calculations.
|
[CSAP] Ch2 |
3 |
Floating Point |
IEEE754, Representation, Range, Precision, Rounding, and Arithmetic operations |
- Appreciate how numerical values are represented in digital computers.
- Understand the limitations of computer arithmetic and the effects of errors on calculations.
|
[CSAP] Ch2 |
4 |
Intel’s ISA |
Data Formats, Accesing Information, ALU Ops, Control |
- Explain the relationship between the representation of machine level operation at the binary level and their representation by a symbolic assembler.
- Write small programs and fragments of assembly language code to demonstrate an understanding of machine level operations.
- Implement some fundamental high-level programming constructs at the machine-language level.
|
[CSAP] Ch3 |
5 |
Intel’s ISA |
Control and Procedure |
- Explain the relationship between the representation of machine level operation at the binary level and their representation by a symbolic assembler.
- Write small programs and fragments of assembly language code to demonstrate an understanding of machine level operations.
- Implement some fundamental high-level programming constructs at the machine-language level.
|
[CSAP] Ch3 |
|
Intel’s ISA |
Array allocations, Structures, and unions |
- Explain the relationship between the representation of machine level operation at the binary level and their representation by a symbolic assembler.
- Write small programs and fragments of assembly language code to demonstrate an understanding of machine level operations.
- Implement some fundamental high-level programming constructs at the machine-language level.
|
[CSAP] Ch3 |
6 |
MIPS’s ISA |
|
- Explain the relationship between the representation of machine level operation at the binary level and their representation by a symbolic assembler.
- Write small programs and fragments of assembly language code to demonstrate an understanding of machine level operations.
- Implement some fundamental high-level programming constructs at the machine-language level.
- Explain why a designer adopted a given different instruction formats, such as the number of addresses per instruction and variable length vs. fixed length formats.
|
[P&H] Ch2 |
|
ALU |
ALU implementations |
- Appreciate how numerical values are represented in digital computers.
- Understand the limitations of computer arithmetic and the effects of errors on calculations.
- Appreciate the effect of a processor’s arithmetic unit on its overall performance.
|
[P&H] Ch3 |
7 |
MIPS Single Cycle |
Datapath and Control |
- Explain the organization of a von Neumann machine and its machine and its major functional units.
- Explain how a computer fetches from memory and executes an instruction.
- Articulate the strengths and weakness of the von Neumann architecture.
- Discuss the impact on control and datapath design for performance enhancements.
|
[P&H] Ch4 |
8 |
Midterm |
|
|
|
9 |
MIPS Single Cycle |
VHDL Implementations |
- Explain the organization of a von Neumann machine and its machine and its major functional units.
- Explain how a computer fetches from memory and executes an instruction.
- Articulate the strengths and weakness of the von Neumann architecture.
- Understand how a CPU chip becomes a complete system.
|
[P&H] Ch4 |
|
MIPS Pipeline |
Datapath modifications |
- Compare alternative implementation of datapaths.
- Explain basic instruction level parallelism using pipelining and the major hazards that may occur.
|
[P&H] Ch4 |
10 |
MIPS Pipeline |
Hazards, forwarding, and control |
- Discuss the generation of control signals using hardwired or microprogrammed implementations.
- Explain basic instruction level parallelism using pipelining and the major hazards that may occur.
- Explain what has been done to overcome the effect of branches.
- Discuss the way in which instruction sets have evolved to improve performance; for example, predicted execution.
|
[P&H] Ch4 |
11 |
Memory Hierarchy |
Memory Technology, Cache |
- Identify the main types of memory technology.
- Explain the effect of memory latency and bandwith on performance.
- Explain the use of memory hierarchy to reduce the effective memory latency.
- Describe the principles of memory management.
|
[P&H] Ch5, [CSAP] Ch6 |
12 |
Memory Hierarchy |
Virtual memory |
- Explain the use of memory hierarchy to reduce the effective memory latency.
- Describe the principles of memory management.
- Design an interface to memory.
|
[P&H] Ch6, [CSAP] Ch10 |
13 |
I/O Subsystem |
Peripherals and Storage |
- Explain how to use interrupts to implement I/O control and data transfers.
- Write small interrupt service routines and I/O drivers using assembly language.
- Identify various types of buses in a computer system.
- Describe data access from a magnetic disk drive.
- Analyze and implement interfaces.
- Compute the various parameters of performance for standard I/O types.
- Explain the basic nature human computer interaction devices.
- Describe data access from magnetic and optical disk drives.
- Understand how to interface and use peripheral chips.
- Write sufficient EPROM-based system software to create a basic stand-alone system
- Specify and design simple computer interfaces.
|
[P&H] Ch6 |
14 |
Introduction to Superscalar |
Performance Enhancement, ILP, Speculative execution, branch predictions, multithreading, SSE, Altivec |
- Discuss how various architectural enhancements affect system performance.
- Discuss how to apply parallel processing approaches to design scalar and superscalar processors.
- Discuss how to apply vector-processing techniques to enhance instruction sets for multimedia and signal processing.
- Understand how each of the functional parts of a computer system affects its overall performance.
- Estimate the effect on system performance of changes to functional units.
|
[P&H] Ch7 |
15 |
Parallel and Distributed System |
Taxonomy, granularity, system examples |
- Explain the differences between different paradigms and their usefulness and applicability.
- Understand how client server model works in a decentralized fashion.
- Understand how agents work and how they solve simple tasks.
- Understand the concept of logical clocks vs. physical clocks and how they affect implementation of distributed systems.
- Be familiar with simple election and mutual exclusion algorithms and their applicability.
|
[P&H] Ch7 |
16 |
Final Exam |
|
|
|