Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Whether you're a curious programmer, an aspiring hardware engineer, or simply someone who wants to understand the technology that powers the world, this course will provide you with a fundamental and practical understanding of computer architecture.
This course goes beyond surface-level programming to reveal the core architectural principles that determine a computer's speed and efficiency. You'll learn how a CPU executes a program, from the simple, one-step process to the high-speed efficiency of a 5-stage pipeline. You will also learn how to overcome performance barriers. Upon completion, one will be able to:
- Discuss the significance of latches and clocks in circuit design.
- Explain how instructions are executed in a single-cycle and a 5-stage pipelined design.
- Identify and solve structural, data, and control pipelining hazards.
- Demonstrate a deep understanding of branch prediction.
- Describe the fundamental principles of an out-of-order processor implementation.
- Elucidate how temporal and spatial localities affect cache performance.
This is an intermediate-level course, intended for learners with a background in computer science or electronics engineering. To succeed in this course, you should have experience with a high-level programming language like C, C++, or Python.