CPU là gì và nó hoạt động như thế nào ?

CPU là gì và nó hoạt động như thế nào ?

Ngày nay, phần lớn mọi người đều biết CPU là một trong những thành phần của máy tính, nhưng không nhiều người biết CPU thực sự làm gì.

Khi tìm kiếm một desktop hay laptop mới, bạn thường thấy những thuật ngữ có liên quan đến CPU như quad-core hay i7 core xuất hiện trên các quảng cáo. Những thuật ngữ đó có ý nghĩa như thế nào ?

Đầu tiên, CPU là gì ? CPU (hay thường được gọi là vi xử lí) là viết tắt của Central Processing Unit (đơn vị xử lí trung tâm). Một cái tên rất phù hợp, bởi vì nó mô tả chính xác những gì mà CPU làm: nó xử lí các lệnh mà nó thu thập từ quá trình giải mã mã trong các chương trình và những file như vậy. Một CPU có bốn chức năng cơ bản: fetch (tìm nạp), decode (giải mã), execute (thực thi) và writeback (ghi lại).

CPU là gì và nó hoạt động như thế nào ?

Fetch (Tìm nạp):

Ở bước đầu tiên, CPU lấy lệnh mà nó cần để chạy từ bộ nhớ chương trình. Mỗi lệnh trong một chương trình (một chương trình bao gồm hàng triệu lệnh) được chứa ở một địa chỉ xác định. CPU có một bộ đếm chương trình (program counter) giúp theo dõi vị trí của CPU trong chương trình – chính xác hơn là địa chỉ của lệnh mà CPU đang truy cập.

Decode (Giải mã):

Ở bước này, chúng ta cần biết một điều quan trọng là dù cho chương trình được viết bằng mã gì đi nữa, trình biên dịch sẽ chuyển mã sang hợp ngữ (Assembly Language). Hợp ngữ là ngôn ngữ mà CPU hiểu được, nhưng có thể khác nhau giữa các CPU khác nhau. Từ đó, một trình hợp dịch (assembler) dịch hợp ngữ sang mã nhị phân để CPU có thể thao tác và thực thi lệnh mà nó nhận được.

CPU là gì và nó hoạt động như thế nào ?

Execute (Thực thi)

Dựa vào lệnh nhận được, CPU có thể làm một trong ba việc:

1) Bằng cách sử dụng đơn vị luận lí số học (Arithmetic Logic Unit (ALU)), CPU có thể tính toán những hàm số cực kì phức tạp;

2) Di chuyển dữ liệu từ một vị trí bộ nhớ sang vị trí khác;

3) Nhảy sang các địa chỉ khác trong chương trình do CPU tự quyết định.

Sơ đồ ở trên cho thấy cơ cấu tổ chức của một vi xử lí vô cùng đơn giản có khả năng thực hiện những hành động này.

Writeback (Ghi lại)

Thông thường, mỗi hoạt động của CPU đều tạo ra một loại dữ liệu ra (output). CPU giữ dữ liệu này và ghi nó vào bộ nhớ máy tính. Thí dụ, nếu một chương trình thực hiện phép toán cộng hai toán hạng: 3 và 5, đầu ra: 8 sẽ được ghi lại trong một địa chỉ xác định. Tuy nhiên, đối với toán hạng thứ ba (đầu ra: 8), bộ đếm chương trình (đã được biết ở trên, được sử dụng để theo dõi quá trình của CPU xuyên suốt một chương trình) thay đổi để cho biết bắt đầu lệnh tiếp theo.

Khi bốn bước này được hoàn tất, bộ đếm chương trình di chuyển lên trên lệnh tiếp theo và lặp lại toàn bộ quá trình cho đến khi kết thúc chương trình.

CPU là gì và nó hoạt động như thế nào ?

Một thành phần quan trọng khác trong một CPU được gọi là clock. Clock tạo ra một tín hiệu có vai trò đồng bộ các đơn vị luận lí trong CPU khi chúng thực thi các lệnh được cho trong chương trình. Trong sơ đồ trên, đường màu tía thể hiện tín hiệu clock khi nó đang được đưa vào một đơn vị luận lí. Mỗi lần đường kẻ đi từ thấp lên cao và trở về thấp (một chu kì), một lệnh đã được thực hiện.

Vì vậy, tốc độ xung clock của CPU chỉ ra số chu kì của xung clock trong một giây. Thí dụ, một máy tính có tốc độ clock 3.0 GHz (Gigahertz), nghĩa là clock thực hiện ba tỉ chu kì trong một giây, và thực thi số lệnh tương ứng !

Một CPU chỉ hoạt động dựa vào kĩ thuật được giải thích ở trên vẫn còn chậm nếu nó không sử dụng công nghệ đa nhân và song song. Ở bài viết sau, các bạn sẽ được tìm hiểu công nghệ dual-core và quad-core, siêu phân luồng (Hyper-threading), khái niệm ép xung một CPU.

Máy tính của bạn sử dụng CPU gì ? Bạn có bao giờ nghĩ đến việc ép xung máy tính của bạn ? Hãy chia sẻ với mọi người bằng cách comment !

Theo makeuseof

6 Comments
  1. bài này chưa có tính chất thực tế thì phải, những kiến thức này người tiêu dùng ít quan tâm. Mong bạn cho biết thêm về tính năng, các thông số sử dụng thực tế của từng loại cpu. Mong bạn giúp đỡ

  2. chào bạn blog của bạn rất tuyệt, mời bạn ghé qua site mình chơi. Mình rất hy vọng được liên kết với bạn http://www.igamek.com/

  3. Bạn dang cung cấp tài liệu cho kỹ thuạt viên máy tính ???
    mình nghĩ:với người tiêu dùng thì các vấn đề này nó”siêu” quá
    nên chắc không có ai “ngâm cứu” đâu !!!

  4. Cám ơn bạn đã cung cấp kiến thức máy tính, Mong bạn cho biết thêm về loại siêu phân luồng là gì ? CPU atom ? iCore ? Core Dual va Dual Core ? solo Core ? và cụ thể tên gọi trên thị trường là gì ? loại nào tốt hơn loại nào ?

  5. bài viết của bạn rất hay.
    cảm ơn đã chia sẻ!

Gửi phản hồi