FE Master 2026
FE Master

PHẦN A: KIẾN THỨC

PHASE 1: CƠ SỞ KHOA HỌC MÁY TÍNH (DAY 1-30)

1
Hệ đếm & Dữ liệuPart A
2
Số bù 2 & Số thực (Floating Point)Part A
3
Mạch Logic & Cổng LogicPart A
4
Kiến trúc CPUPart A
5
Bộ nhớ (Memory)Part A
6
Hệ điều hành (OS)Part A
7
Tiến trình & LuồngPart A
8
Mạng máy tính: OSI 7 LayerPart A
9
Internet & IP/TCPPart A
10
HTTP & DNSPart A
11
Database Cơ bản & Mô hình ERPart A
12
Chuẩn hóa Database (1NF → 3NF)Part A
13
SQL Cơ bản (SELECT, INSERT, UPDATE, DELETE)Part A
14
SQL Nâng cao (JOIN, GROUP BY, SubQuery)Part A
15
Transaction & ACIDPart A
16
Phát triển Phần mềm (SDLC & Models)Part A
17
Thiết kế Hệ thống (DFD, UML)Part A
18
Kiểm thử Phần mềm (Testing)Part A
19
Quản lý Dự án (PMBOK, WBS, Gantt)Part A
20
Review: Database & Phát triển PMPart A
21
Chiến lược Kinh doanh Chuyên sâu (SWOT, PPM)Part A
22
Marketing Mix & Data MiningPart A
23
Chiến lược Hệ thống & Cải tiến Quy trìnhPart A
24
Pháp luật IT & Hợp đồng (Quan trọng)Part A
25
Quản lý Dự án (PMBOK & EVM)Part A
26
Lưu trữ & Tính toán RAIDPart A
27
Công nghệ Mạng (LAN/WAN/Wifi)Part A
28
An toàn thông tin (Threats & Attacks)Part A
29
Mã hóa & Chữ ký sốPart A
30
Review Phase 1: Foundation (Tổng ôn tập)Part A

PHẦN A: KIẾN THỨC

PHASE 2: LOGIC & TỰ ĐỘNG HÓA (DAY 31 - 50)

31
Tư duy Thuật toán & Kỹ năng Trace CodePart A
32
Thuật toán Sắp xếp Cơ bản (Basic Sorting)Part A
33
Thuật toán Sắp xếp Nâng cao (Advanced Sorting)Part A
34
Thuật toán Tìm kiếm (Searching) & HashingPart A
35
Cấu trúc dữ liệu: Stack & QueuePart A
36
Cấu trúc dữ liệu: Array & Linked ListPart A
37
Graph (Đồ thị) & Thuật toán tìm đườngPart A
38
Tree (Cây) & Binary Search TreePart A
39
Độ phức tạp thuật toán (Big O Notation)Part A
40
Review Phase 2 Part 1: Algorithms MasterPart A
41
Tư duy Lập trình: Logic & Bảng Chân TrịPart A
42
Bộ nhớ: Stack vs Heap & Con trỏPart A
43
CTDL & Giải thuật: Độ phức tạp Big OPart A
44
OOP 1: Class, Object & Đóng góiPart A
45
OOP 2: Kế thừa & Đa hình (Inheritance & Polymorphism)Part A
46
Collections List/Set/Map - Hộp đựng đồ vạn năngPart A
47
Đệ quy (Recursion) - Giấc mơ trong giấc mơPart A
48
Kỹ thuật Bit (Bitwise) - Quyền năng tối thượngPart A
49
Design Patterns: Singleton & FactoryPart A
50
Tổng kết Phase 2: Chân dung Master CoderPart A

PHẦN A: KIẾN THỨC

PHASE 3: ĐI SÂU VÀO HỆ THỐNG (DAY 51 - 75)

51
Kiến trúc Máy tính: CPU & PipelinePart A
52
Bộ nhớ đệm: Cache InternalsPart A
53
Dữ liệu: Float & IEEE 754 Deep DivePart A
54
Hệ điều hành: Process InternalsPart A
55
Lập lịch CPU: Scheduling AlgorithmsPart A
56
Quản lý bộ nhớ: Virtual Memory & PagingPart A
57
Lưu trữ: Disk Anatomy & RAIDPart A
58
Ảo hóa & Containerization (Docker)Part A
59
Độ tin cậy & SRE BasicsPart A
60
Tổng ôn Hardware & OS ArchitectPart A
61
Mạng máy tính: Packet Analysis & WiresharkPart A
62
Giao vận: TCP Internals Deep DivePart A
63
Subnetting: VLSM & CIDR MasterclassPart A
64
Định tuyến: OSPF & BGP InternalsPart A
65
DNS & HTTP/2, HTTP/3 (QUIC)Part A
66
Database Indexing: B-Tree vs HashPart A
67
Normalization & DenormalizationPart A
68
NoSQL & Distributed DataPart A
69
Transaction & Concurrency ControlPart A
70
Review: System Design InterverviewPart A
71
An toàn thông tin: CIA & Risk ManagementPart A
72
Mật mã học: Encryption & HashingPart A
73
Xác thực: Authentication & OAuth 2.0Part A
74
Tấn công Web: SQL Injection & XSSPart A
75
Hạ tầng & Tổng ôn An toàn thông tinPart A

PHẦN A: KIẾN THỨC

PHASE 4: QUẢN LÝ IT & CHIẾN LƯỢC (DAY 76 - 85)

76
Quản lý Dự án I: PMBOK & Tam giác vàngPart A
77
Quản lý Thời gian: WBS & Đường Găng (CPM)Part A
78
Quản lý Chi phí: EVM (Earned Value Management)Part A
79
Quản lý Dịch vụ: ITIL & SLAPart A
80
Kiểm toán hệ thống & Kiểm soát nội bộPart A
81
Chiến lược Kinh doanh: SWOT & PPMPart A
82
Marketing & Tài chính: 4P & BSCPart A
83
Pháp luật IT: Bản quyền & Hợp đồngPart A
84
Tiêu chuẩn hóa: ISO & Code of ConductPart A
85
Tổng kết Phase 4: Quản lý & Chiến lượcPart A

PHẦN B: KỸ NĂNG

PHASE 5: TRẬN CHIẾN CUỐI CÙNG - LUYỆN ĐỀ PART B (DAY 86 - 100)

86
Part B Security: CIA & Xác thực UserPart B
87
Mã hóa: Đối xứng vs Bất đối xứngPart B
88
Chữ ký số & PKIPart B
89
Các loại tấn công mạng (Cyber Attacks)Part B
90
Hạ tầng bảo mật: Firewall, DMZ & VPNPart B
91
Pseudo-code Drills: Cấu trúc dữ liệu cơ bảnPart B
92
Pseudo-code Drills: Sorting & SearchingPart B
93
Pseudo-code Drills: Logic & BitwisePart B
94
Pseudo-code Drills: Kỹ thuật đệ quyPart B
95
Bài toán thực tế Part B: Nén dữ liệu RLEPart B
96
Part B Math: Tính toán phần cứngPart B
97
Part B Math: Tính toán Mạng (Subnet)Part B
98
Chiến thuật làm bài Part BPart B
99
Tổng ôn tập: Điểm mù kiến thứcPart B
100
FINAL DAY: Lời kết & Chúc may mắnPart B

Ver: 2026.02.21-v2

Học tậpThi thửHồ sơ
FE Master 2026
Đăng nhập
FE Master 2026

app.description

Liên kết hữu ích

  • Trang chủ
  • Blog & Tin tức
  • Đăng nhập

Pháp lý

  • Chính sách bảo mật
  • Điều khoản dịch vụ

Kết nối

  • Về chúng tôi
  • Liên hệ

© 2026 FE Master. All rights reserved.

Made with ♥ by Baryuu
Trang chủ
PHASE 3: ĐI SÂU VÀO HỆ THỐNG (DAY 51 - 75)/Ngày 51/100
DAY 51🇯🇵 コンピュータアーキテクチャ (CPU)

Kiến trúc Máy tính: CPU & Pipeline

51%

Quảng cáo • Advertisement

📢 Sponsor Ad

Google AdSense

lesson.content.title

lesson.content.subtitle

🎯 Mục tiêu bài học

Sau bài này, bạn sẽ hiểu sâu về "bộ não" máy tính, không chỉ ở mức "CPU tính toán" mà ở mức "CPU xử lý dòng lệnh thế nào". Đây là kiến thức phân loại ứng viên Senior.

1. Kiến trúc Von Neumann vs Harvard

🏠 Ví dụ đời thực

Hãy tưởng tượng bạn đang nấu ăn.

  • Von Neumann: Bạn để sách nấu ăn (Code) và nguyên liệu (Data) chung trên một cái bàn. Muốn đọc sách thì phải bỏ nguyên liệu xuống. Muốn cắt thái thì phải úp sách lại. (Nghẽn cổ chai).
  • Harvard: Bạn có 2 cái bàn riêng biệt. Mắt trái đọc sách (Code), tay phải cắt thái (Data) cùng lú. (Nhanh hơn, nhưng tốn diện tích).
graph TD subgraph VonNeumann CPU --- Bus Bus --- Memory[RAM (Code + Data)] end subgraph Harvard CPU2[CPU] --- BusC[Bus Code] CPU2 --- BusD[Bus Data] BusC --- MemC[Code RAM] BusD --- MemD[Data RAM] end
Đặc điểmVon NeumannHarvard
Bộ nhớDùng chung (RAM chứa cả Code + Data)Tách biệt (Code RAM riêng, Data RAM riêng)
Bus1 Bus dữ liệu, 1 Bus địa chỉ2 Bus dữ liệu, 2 Bus địa chỉ
Tốc độChậm hơn (Chờ lấy lệnh xong mới lấy data)Nhanh hơn (Lấy lệnh và data song song)
Ứng dụngPC, Laptop, Server (Intel x86)Vi điều khiển (Arduino, DSP), Cache CPU L1

2. Chu trình lệnh (Instruction Cycle) - Deep Dive

CPU thực chất là một máy trạng thái (State Machine) lặp đi lặp lại 4 bước:

Bước 1: Fetch (Đón lệnh)

  • CPU nhìn vào thanh ghi PC (Program Counter) để biết địa chỉ lệnh tiếp theo (Ví dụ: 0x1000).
  • CPU gửi địa chỉ 0x1000 ra Bus địa chỉ.
  • RAM trả về nội dung lệnh (Ví dụ: ADD A, B - mã máy 01001011).
  • Lệnh được nạp vào thanh ghi IR (Instruction Register).
  • PC tăng lên (PC = PC + 1) để trỏ sang lệnh kế tiếp.

Bước 2: Decode (Giải mã)

  • Control Unit (CU) đọc IR. Nó thấy mã 0100 (Opcode cho phép CỘNG).
  • Nó thấy 1011 (Operand) là địa chỉ của biến A và B.
  • CU bật các tín hiệu điện tử đến ALU: "Chuẩn bị cộng nhé!".

Bước 3: Execute (Thực thi)

  • Dữ liệu từ biến A, B được nạp vào thanh ghi tạm.
  • ALU thực hiện phép cộng nhị phân.
  • Cờ trạng thái (Flag Register) được cập nhật (Ví dụ: Nếu kết quả = 0 thì bật cờ Zero Flag).

Bước 4: Store / Write Back (Lưu kết quả)

  • Kết quả được ghi ngược lại vào thanh ghi hoặc RAM.
  • Kết thúc 1 chu trình. Quay lại Bước 1.

3. Kỹ thuật Pipeline (Đường ống)

Để tăng tốc, CPU không chờ làm xong lệnh 1 mới làm lệnh 2.

gantt title CPU Pipeline (4-Stage) dateFormat s axisFormat %s section Lệnh 1 Fetch :a1, 0, 1 Decode :a2, 1, 1 Execute :a3, 2, 1 Store :a4, 3, 1 section Lệnh 2 Fetch :b1, 1, 1 Decode :b2, 2, 1 Execute :b3, 3, 1 Store :b4, 4, 1 section Lệnh 3 Fetch :c1, 2, 1 Decode :c2, 3, 1 Execute :c3, 4, 1 Store :c4, 5, 1

👉 Kết quả: Mỗi chu kỳ (Clock Cycle) đều có 1 lệnh được hoàn thành (CPI = 1), thay vì phải chờ 4 chu kỳ.

⚠️ Pipeline Hazard (Rủi ro đường ống)

  • Data Hazard: Lệnh 2 cần kết quả của lệnh 1, nhưng lệnh 1 chưa kịp Store. -> CPU phải ngừng (Stall) hoặc dùng kỹ thuật Forwarding (Đi tắt).
  • Control Hazard: Gặp lệnh IF...ELSE. CPU không biết người dùng sẽ chọn nhánh nào, nên lỡ nạp nhầm nhánh sai vào Pipeline. -> Phải xóa sạch Pipeline (Flush) và nạp lại nhánh đúng. (Rất tốn kém). -> Dùng Branch Prediction (Dự đoán nhánh).
  • Structural Hazard: Hai lệnh cùng tranh nhau một tài nguyên phần cứng (Ví dụ: Cùng muốn truy cập RAM).

4. CISC vs RISC

Đặc điểmCISC (Intel/AMD)RISC (ARM/Apple M1)
TênComplex Instruction SetReduced Instruction Set
Triết lýPhần cứng thông minh, Code ngắn gọnCode đơn giản, Phần cứng tối ưu
Tập lệnhNhiều, phức tạp (1 lệnh làm nhiều việc)Ít, đơn giản (1 lệnh làm 1 việc)
Độ dài lệnhBiến đổi (1 - 15 byte)Cố định (4 byte)
Tiêu thụ điệnCao (Nóng)Thấp (Mát) -> Dùng cho di động

📝 Lab 1: Mô phỏng "Paper Computer"

Hãy lấy giấy bút ra làm CPU.

Bộ nhớ:

  • [00]: LOAD [10] (Mã: 110)
  • [01]: ADD [11] (Mã: 211)
  • [02]: SAVE [12] (Mã: 312)
  • [10]: 5 (Giá trị biến A)
  • [11]: 3 (Giá trị biến B)
  • [12]: 0 (Biến Result)

Thực hiện:

  1. PC=00: Fetch lệnh LOAD [10]. -> Thanh ghi ACC = 5.
  2. PC=01: Fetch lệnh ADD [11]. -> ACC = 5 + 3 = 8.
  3. PC=02: Fetch lệnh SAVE [12]. -> RAM tại địa chỉ [12] = 8.

👉 Chúc mừng, bạn vừa thực hiện chương trình của máy tính bằng tay!

🔥 Interview Q&A

Q1: Tại sao Apple M1 (ARM) lại tiết kiệm pin hơn Intel Core i9?

A: Vì kiến trúc RISC của ARM dùng tập lệnh đơn giản, cố định độ dài, giúp bộ giải mã (Decoder) đơn giản hơn rất nhiều so với CISC. Ít bóng bán dẫn cho Decoder = ít điện hơn. Ngoài ra mô hình Big.LITTLE (nhân mạnh + nhân tiết kiệm) cũng đóng vai trò quan trọng.

Q2: Branch Prediction hoạt động thế nào?

A: CPU lưu lịch sử các lần nhảy trước đó. Nếu vòng lặp for (i=0; i<100; i++) đã lặp 99 lần, nó dự đoán lần thứ 100 cũng sẽ lặp tiếp và nạp sẵn lệnh vào Pipeline. Nếu đoán sai (khi i=100), nó phải xả bỏ Pipeline (Performance Penalty).

Quảng cáo • Advertisement

📢 Ad Space

Google AdSense

Day 50Day 52