Kiến trúc máy tính – Bài 6: Từ kiến trúc PC đến x86-64 và ARM hiện nay
- 19-10-2026
- Toanngo92
- 0 Comments
Các khái niệm Pentium, EAX, GDT hay chế độ thực xuất hiện nhiều trong giáo trình cũ. Bài này giúp bạn đặt chúng vào đúng bối cảnh và kết nối với CPU đa nhân, x86-64, ARM, firmware và hệ điều hành trên máy tính hiện nay.
Dành cho người mới: đọc ví dụ trước, sau đó đối chiếu với sơ đồ và thuật ngữ. Các mô hình đơn giản trong bài dùng để học nguyên lý, không mô tả đầy đủ mọi CPU hay hệ điều hành.

Mục lục
Nhìn một máy tính như một hệ thống
Một PC cần bộ xử lý, RAM, lưu trữ, bộ điều khiển, firmware và các giao tiếp ngoại vi. Tùy thiết kế, bộ điều khiển RAM, đồ họa hoặc những chức năng khác có thể nằm trong cùng gói/chip với bộ xử lý. Vì vậy sơ đồ “CPU – northbridge – southbridge” trong tài liệu cũ không phải mô tả duy nhất cho máy hiện đại.
Trên hệ thống tích hợp cao như SoC, nhiều chức năng được gom vào một chip. Tuy nhiên vai trò logic vẫn có thể phân biệt: xử lý lệnh, lưu dữ liệu đang dùng, truy cập thiết bị và quản lý tài nguyên. Học vai trò trước sẽ giúp bạn đọc được nhiều sơ đồ phần cứng khác nhau.
x86, x86-64 và ARM là gì?
Đây là các họ hoặc biến thể kiến trúc tập lệnh, mô tả giao diện giữa phần mềm mức thấp và bộ xử lý. Tên thương hiệu CPU, số nhân và tập lệnh không phải cùng một khái niệm. Một chương trình đã biên dịch cho một kiến trúc không tự chạy trực tiếp trên kiến trúc khác; có thể cần bản biên dịch tương ứng hoặc lớp dịch, giả lập.
| Khái niệm | Cách hiểu nhập môn |
|---|---|
| x86 32 bit / IA-32 | Bối cảnh thường gặp khi học Pentium và thanh ghi EAX, EIP. |
| x86-64 / Intel 64 | Mở rộng môi trường x86 với khả năng thực thi 64 bit và các cơ chế liên quan. |
| ARM / AArch64 | Một họ kiến trúc khác; AArch64 là trạng thái thực thi 64 bit trong các kiến trúc ARM liên quan. |
Không nên suy ra “ARM luôn nhanh hơn”, “x86 luôn tốn điện hơn” hay “64 bit nhanh gấp đôi 32 bit”. Cần so sánh thiết bị, phần mềm và công việc cụ thể. Độ rộng thanh ghi cũng không đồng nghĩa mọi CPU đều triển khai đủ 64 bit địa chỉ vật lý.
Đọc tên thanh ghi mà không bị ngợp
Trong mô hình x86 32 bit, bạn gặp EAX, EBX, ECX, EDX, ESP, EBP, ESI, EDI và EIP. Với môi trường 64 bit, những tên như RAX, RSP và RIP xuất hiện; còn có các thanh ghi bổ sung. Ở mức nhập môn, hãy nhớ chức năng thay vì học thuộc toàn bộ danh sách.
| Nhóm | Vai trò khái quát |
|---|---|
| Thanh ghi đa năng | Giữ giá trị, địa chỉ hoặc kết quả trung gian tùy lệnh. |
| Con trỏ lệnh | Tham gia xác định vị trí lệnh trong luồng thực thi. |
| Con trỏ stack | Theo dõi vùng stack theo quy ước của kiến trúc và phần mềm. |
| Cờ trạng thái | Phản ánh một số kết quả và trạng thái điều khiển. |
Tên thanh ghi và cách truy cập phụ thuộc kiến trúc. Ví dụ ACC trong CPU minh họa ở bài 2 là công cụ giải thích, không phải cam kết rằng mọi CPU thật có một thanh ghi duy nhất làm toàn bộ phép tính.
Đa nhân và đa luồng không giống nhau
Một nhân CPU là một đơn vị xử lý có các tài nguyên thực thi nhất định. Công nghệ đa luồng phần cứng có thể cho một nhân xuất hiện như nhiều bộ xử lý logic, nhưng các luồng đó vẫn chia sẻ một số tài nguyên. Số luồng logic không đồng nghĩa số nhân vật lý.
Nhiều nhân giúp khi công việc có thể chia thành các phần chạy song song. Một chương trình chỉ sử dụng hiệu quả một luồng hoặc thường xuyên chờ dữ liệu có thể không tăng tốc tương ứng khi tăng số nhân. Chi phí phối hợp và giới hạn bộ nhớ cũng quan trọng.
Trên Windows, Task Manager thường cho xem số nhân và bộ xử lý logic. Bạn có thể quan sát mà không cần thay đổi cấu hình. Hãy phân biệt thông số phần cứng với số luồng phần mềm mà ứng dụng tự tạo.
Từ bật nguồn đến chạy ứng dụng
- Phần cứng bắt đầu hoạt động và firmware thực hiện các bước khởi tạo cần thiết.
- Firmware và cơ chế khởi động chọn, nạp thành phần khởi động phù hợp.
- Bộ nạp khởi động chuyển tới hệ điều hành theo quy trình của nền tảng.
- Hệ điều hành thiết lập quản lý bộ nhớ, thiết bị và tiến trình rồi cung cấp môi trường chạy ứng dụng.
UEFI là giao diện firmware phổ biến trên PC hiện nay; BIOS thường được nhắc đến trong tài liệu cũ. Các bước cụ thể khác nhau giữa nền tảng và cấu hình. Không nên khái quát rằng mọi máy đều khởi động theo cùng một sơ đồ PC truyền thống.
Ứng dụng không tùy ý truy cập mọi vùng nhớ và thiết bị. CPU cung cấp cơ chế đặc quyền; hệ điều hành sử dụng chúng cùng các cơ chế phần mềm để phân tách ứng dụng và nhân hệ thống. Đây là mối liên hệ giữa kiến trúc máy tính và hệ điều hành.
Đặt chế độ thực, phân đoạn và GDT vào đúng chỗ
Chế độ thực, chế độ bảo vệ và cơ chế phân đoạn là phần quan trọng của lịch sử và thiết kế x86. Công thức segment × 16 + offset thuộc bối cảnh địa chỉ chế độ thực truyền thống; không phải công thức địa chỉ chung cho chương trình 64 bit ngày nay.
Trong môi trường IA-32 bảo vệ, bộ chọn đoạn có thể tham chiếu descriptor trong GDT hoặc LDT. Descriptor mô tả thông tin như địa chỉ nền, giới hạn và quyền. Trong chế độ 64 bit, mô hình phân đoạn được đơn giản hóa đáng kể; FS và GS có những vai trò đặc biệt. Không nên bê nguyên mô hình phân đoạn 32 bit sang giải thích mọi truy cập 64 bit.
TSS có vai trò phụ thuộc chế độ hoạt động. Với x86-64, nó liên quan thông tin stack phục vụ chuyển đặc quyền hoặc xử lý sự kiện; không nên mô tả đơn giản rằng hệ điều hành hiện đại luôn dùng TSS để lưu toàn bộ trạng thái mỗi lần đổi tiến trình. Phần chi tiết này nên học sau khi hiểu tiến trình, đặc quyền và bộ nhớ ảo.
Phân trang: nhận ra mô hình, chưa cần học thuộc bảng
Sơ đồ địa chỉ 32 bit tách thành 10 bit thư mục, 10 bit bảng và 12 bit offset là ví dụ của một cấu hình phân trang truyền thống với trang 4 KiB, không phải công thức dùng cho mọi chế độ x86. Hệ thống 64 bit có thể dùng nhiều cấp bảng trang; các kích thước trang và số cấp phụ thuộc cấu hình, phần cứng.
Điều cần giữ từ bài 4 là: địa chỉ ảo được dịch qua cơ chế ánh xạ, có kiểm tra quyền, và TLB giúp lưu đệm bản dịch. Khi gặp CR3, PDE hoặc PTE, hãy tra chúng trong đúng chế độ kiến trúc đang học thay vì ghép thuật ngữ của nhiều thế hệ vào một sơ đồ.
Tự kiểm tra: máy có 8 bộ xử lý logic có nhất thiết có 8 nhân không? Một sơ đồ Pentium 32 bit có mô tả chính xác toàn bộ laptop 64 bit của bạn không? Sau loạt bài, bạn nên giải thích được giới hạn của mô hình chứ không chỉ gọi tên linh kiện.
Những điều cần nhớ
- Vai trò các thành phần bền vững hơn tên chipset hay một mẫu CPU cụ thể.
- Tập lệnh, số nhân, số luồng và độ rộng địa chỉ là những thông tin khác nhau.
- Các cơ chế x86 cũ cần được học trong đúng bối cảnh; không áp dụng máy móc cho x86-64.

