Nội dung
Danh sách bài học
- 01~10 phút
Module 3 — CPU hiện đại: tổng quan
Vì sao cùng thuật toán mà cách viết code lại nhanh chậm khác nhau. Module dạy clock/IPC, pipeline, branch prediction, đo lường và một capstone tối ưu vòng lặp nóng.
- 02~12 phút
Clock và IPC — vì sao GHz cao không có nghĩa nhanh hơn
Clock speed, chu kỳ, và IPC (lệnh mỗi chu kỳ) quyết định tốc độ thật thế nào. Vì sao so sánh CPU bằng GHz là sai, và khác biệt giữa throughput và latency.
- 03~16 phút
Pipeline và hazard — CPU làm nhiều lệnh cùng lúc thế nào
Pipeline cho phép CPU chồng lấn nhiều lệnh như dây chuyền lắp ráp. Các loại hazard (data, control, structural) gây stall, và vì sao lệnh phụ thuộc nhau làm chậm code.
- 04~18 phút
Branch prediction — vì sao xử lý mảng đã sắp xếp nhanh hơn
CPU đoán hướng đi của câu if để giữ pipeline đầy. Đoán sai phải xả pipeline, rất đắt. Giải mã ví dụ kinh điển: cùng dữ liệu, mảng sắp xếp chạy nhanh gấp nhiều lần.
- 05~18 phút
Đừng đoán, hãy đo — profiling, benchmark và định luật Amdahl
Vì sao trực giác về hiệu năng thường sai, cách profiling tìm đúng điểm nóng, các bẫy benchmark (warmup, JIT), và định luật Amdahl giới hạn lợi ích tối ưu.
- 06~16 phút
Out-of-order và SIMD — CPU vắt kiệt song song mức lệnh
CPU hiện đại chạy lệnh không theo thứ tự để lấp chỗ trống chờ, và SIMD xử lý nhiều dữ liệu bằng một lệnh. Vì sao vòng lặp đơn giản, đều đặn lại được tối ưu tốt nhất.
- 07~14 phút
Spectre và Meltdown — khi tối ưu CPU rò rỉ bí mật
Speculative execution giúp CPU nhanh nhưng để lại dấu vết trong cache, mở ra side-channel attack đọc trộm bộ nhớ. Vì sao bản vá làm chậm máy và bài học kiến trúc.
- 08~28 phút
Capstone — Tăng tốc một vòng lặp nóng bằng hiểu biết CPU
Bài tổng hợp Course 1: đo một vòng lặp nóng, chẩn đoán điểm nghẽn (branch khó đoán, phụ thuộc dữ liệu), tối ưu branch-friendly và đo lại để chứng minh cải thiện.
- 09~15 phút
Tổng kết Course 1 — Dữ liệu & CPU
Recap toàn Course 1: từ bit tới pipeline. Cheat sheet xuyên 3 module, glossary, các quyết định tối ưu rút ra, self-assessment, và lộ trình sang Course 2 Bộ nhớ.