inflearn logo

Learning Computer Architecture from the Ground Up, Part 2: From Pipelines to Multicore

You’ll learn how CPU and memory behavior explains why the same code can run at different speeds, and how to identify the bottlenecks that limit program performance. You’ll study pipelining, branch prediction, out-of-order execution, caches, and multicore processing, then calculate execution times and the performance gains from each technique in three comprehensive analysis projects. By the end of the course, you’ll be able to analyze how data access patterns and parallel processing affect performance, and determine when optimization is effective.

1 learners are taking this course

Level Basic

Course period Unlimited

Computer Architecture
Computer Architecture
cpu
cpu
cpu-cache
cpu-cache
Operating System
Operating System
Computer Architecture
Computer Architecture
cpu
cpu
cpu-cache
cpu-cache
Operating System
Operating System

What you will gain after the course

  • You can calculate execution time using the instruction count, CPI, and clock cycle time, and explain why performance cannot be judged by clock speed alone.

  • Track pipeline hazards and the operation of forwarding, stalling, and branch prediction cycle by cycle, and understand the principles of superscalar and out-of-order execution.

  • You can track data movement through cache and memory hierarchies and analyze how locality, cache misses, and tiling affect a program’s execution time.

  • You can understand the principles of virtual memory and protection by connecting page tables, the TLB, and exception handling, and distinguish the roles of hardware and the operating system.

  • Through the Roofline model and three comprehensive analysis projects, I can distinguish compute and memory bottlenecks and explain the benefits of SIMD and multicore processing, as well as their limitations due to power consumption and synchronization.

Recommended for
these people

Who is this course right for?

  • Those who, after learning how CPUs work in Part 1, want to continue studying how modern CPUs increase throughput and reduce latency.

  • A developer who wants to understand why the same code performs differently depending on the device or data access method.

  • CS learners who have memorized pipelines, caches, and virtual memory as separate concepts but struggle to connect them through the actual flow of instructions and data.

  • Those who want to evaluate a program’s performance based on hardware architecture, beyond clock speed and core count.

Need to know before starting?

  • It would be helpful if you have taken “Computer Architecture from the Ground Up, Part 1: From Transistors to CPUs” or understand how instructions are fetched, decoded, and executed in a simple CPU.

  • You should understand the basic roles of the datapath, registers, ALU, and control unit. We’ll review the material you need from the early lessons.

  • No programming practice or separate development environment is required. You can calculate the number of cycles and execution time using basic arithmetic.

Hello
This is codingmax

Career Verified

842

Learners

52

Reviews

19

Answers

4.9

Rating

7

Courses

Hello. I run HyperStep, an educational content company, and create content that explains mathematics and programming in an easy and intuitive way.

Current) CEO of HyperStep, an educational content company
Over 20 years of software development experience

Ex-Coupang
Ex-Hyperconnect
Ex-Kakao
Ex-Kakao Entertainment
Ex-Polaris Office (Infraware)

 

CodingMax-CodingMax
📺https://www.youtube.com/@coding-max
📘https://www.codingmax.net

More

Curriculum

All

110 lectures ∙ (18hr 53min)

Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

codingmax's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

Limited time deal

$49,500.00

50%

$77.00