MƯỜI CHẶNG

CPU — người thợ chỉ
làm đúng từng lệnh

Bống chỉ nói đúng một câu «dọn phòng giúp em với» rồi chạy biến mất. Minh đứng giữa cả đống bừa bộn, chẳng biết bắt đầu từ đâu — và không ngờ chuyện đó lại dẫn thẳng tới bí mật lớn nhất bên trong mọi cái máy tính.

mỗi viên một lượt — không viên nào xếp lệch một việc, đúng cách, mỗi lần
CHẶNG 1

Bống chỉ nói đúng một câu

Nghe tưởng dễ lắm. Ai ngờ đứng vào đúng chỗ Minh mới thấy không hề dễ.

Chiều thứ Bảy, Bống vội đi học thêm, ngoái đầu lại nói với Minh đúng một câu: «Dọn phòng giúp em với, tí em về!» — rồi chạy mất, cửa còn chưa kịp khép hẳn.

Minh đứng ở cửa phòng Bống, nhìn quanh một lượt: sách vở nằm chỏng chơ trên bàn, áo khoác vắt trên lưng ghế, một chiếc dép ở góc này, chiếc kia ở góc khác, cái cốc uống dở còn để trên kệ sách.

«Dọn» là dọn cái gì?

Xếp gọn sách lại thôi, hay phải lau cả bàn? Áo treo lên móc hay gấp vào tủ? Cái cốc mang xuống bếp, hay cứ để đó? Bống không nói tới cái nào trong số này cả.

bốn thứ, bốn góc phòng, không thứ nào Bống nói rõ phải làm gì
«Dọn» có thể là bốn việc rất khác nhau — và Bống chỉ nói đúng một chữ.

Chỉ một câu ngắn gọn «dọn phòng giúp em» — nghe đơn giản đến mức chẳng ai nghĩ phải hỏi lại. Vậy sao Minh lại đứng khựng ngay tại cửa, không biết bắt tay vào đâu trước?

CHẶNG 2

Cũng câu đó, nói với một con robot

Tối hôm sau, ở CLB Rô-bốt, Minh thử đúng câu ấy — lần này với một cái máy.

CLB Rô-bốt do thầy Huy phụ trách, họp vào tối thứ Ba trong phòng Tin của trường. Hôm đó cả nhóm đang tập cho con robot nhỏ của CLB nghe lệnh bằng giọng nói. Đến lượt mình, Minh nghịch ngợm, nói đúng-y câu tối qua Bống vừa nói với mình: «Dọn phòng giúp em với!»

Con robot đứng im. Đèn báo trên ngực nó chớp đỏ liên tục. Nó không xoay đầu, không chạy tới cái hộp đồ chơi để ngay cạnh, không làm bất cứ điều gì.

LỖI Minh Bống
Pin còn đầy, đèn nguồn vẫn sáng bình thường — nhưng con robot nhất định không nhúc nhích.

Bống đứng cạnh, cũng ngơ ngác: «Ơ, sao nó không chịu làm gì thế? Bình thường bảo nó đi tới, quay trái, nó làm được mà?»

Robot không hề hỏng

Thầy Huy nhìn qua bảng đèn báo, cười: «Nó không hỏng đâu. Dòng lỗi ghi là «không nhận diện được lệnh» — không phải lỗi pin, không phải lỗi mạch.»

Cùng một câu, tối qua Minh còn đoán mò được để dọn gọn cái gối cái chăn. Giờ con robot này — mạnh hơn, nhanh hơn Minh gấp nhiều lần — lại chịu thua hoàn toàn, không làm nổi một bước nào. Rốt cuộc bên trong nó khác gì so với đầu óc của một con người?

CHẶNG 3

Tại sao lại vậy nhỉ?

Minh vẫn đoán được một phần. Nhưng đoán được bằng cái gì?

Ngồi nghĩ lại, Minh nhận ra mình không hoàn toàn mù tịt. Có vài thứ giúp Minh đoán mò được: nhớ lại lúc Bống chỉ tay vào góc giường, nhớ Bống hay cằn nhằn chuyện gối chăn lộn xộn, nghe được cả giọng hơi gấp gáp trong câu nói — như thể việc quan trọng nhất, Bống đã lỡ nhấn mạnh rồi.

Tất cả những thứ đó gộp lại, Minh gọi là «đoán bừa có cơ sở» — không chắc trăm phần trăm, nhưng cũng không phải đoán mù.

Con robot ở CLB thì không có gì trong số đó cả

Nó không có mặt hôm qua nên chẳng thấy Bống chỉ tay vào góc giường. Nó cũng không phân biệt được giọng ai đang gấp gáp hay không — với nó, câu nói chỉ là một chuỗi âm thanh cần khớp đúng-y một mẫu lệnh đã học sẵn, không hơn không kém.

nhớ Bốngchỉ tay vào góc giường giọng nóihơi gấp gáp Bống hay cằn nhằnchuyện chăn gối Minh
Ba mảnh nhỏ này gộp lại giúp Minh đoán mò được phần nào — con robot ở CLB thì không có mảnh nào trong số này.

Con người, dù chỉ nghe một câu mơ hồ, vẫn còn đoán bừa được đôi chút nhờ bao nhiêu thứ xung quanh câu nói đó. Vậy tại sao con robot ở CLB thì hoàn toàn không đoán được gì cả, dù chỉ một chút?

CHẶNG 4

À! — CPU không «hiểu việc», nó chỉ làm đúng lệnh

Đây là chỗ mọi thứ bỗng dưng sáng ra.

Bộ phận đứng bên trong máy tính, cái thật sự "làm việc" khi máy chạy, không hiểu công việc theo kiểu con người hiểu. Nó không suy luận, không đoán, không tự bù thêm bất cứ điều gì ngoài đúng-y những gì nó nhận được.

Nó chỉ làm được những lệnh cực kỳ nhỏ, cực kỳ rõ ràng — kiểu như: «lấy số ở ô này»«cộng nó với số ở ô kia»«ghi kết quả vào ô nọ». Chỉ vậy thôi. Nhưng nó làm liên tục, hàng tỷ lần trong một giây, không nghỉ, không lơ đễnh, không tự thêm bớt gì ngoài đúng-y lệnh nhận vào.

lấy số ở ô này cộng với số ở ô kia ghi kết quả vào ô nọ một lệnh cực nhỏ — lặp lại hàng tỷ lần mỗi giây
Đây là kiểu lệnh CPU thật sự hiểu được — chứ không phải một câu mơ hồ như «dọn phòng giúp em».

Nếu câu nói của Bống mà được viết lại theo đúng kiểu CPU cần — từng bước nhỏ xíu, rõ từng chữ, không thiếu gì — thì Minh còn phải đứng khựng lại đoán không?

CHẶNG 5

Gọi tên nó: CPU

Cái bộ phận vừa nói tới có một cái tên hẳn hoi.

Nó được gọi là CPU — viết tắt của Central Processing Unit, tiếng Việt hay gọi là bộ xử lý trung tâm. Đây chính là nơi mọi lệnh cực nhỏ được thực hiện, hàng tỷ lệnh mỗi giây, bên trong máy tính, điện thoại, và rất nhiều món đồ khác quanh nhà.

Một cái tên, rất nhiều chỗ

Không chỉ máy tính để bàn mới có CPU. Điện thoại có một CPU nhỏ xíu. Máy tính bảng, tivi thông minh, thậm chí một số đồ chơi điều khiển được — tất cả đều có một «người thợ» kiểu này nằm bên trong.

mỗi ô vàng — một «người thợ» CPU nhỏ xíu đang chờ lệnh điện thoại máy tính bảng tivi thông minh đồ chơi điều khiển
Không chỉ máy tính để bàn — CPU nằm im lặng trong rất nhiều món đồ quanh nhà.

Nếu CPU chỉ là «người thợ làm đúng lệnh», không tự ý thêm bớt gì cả — vậy ai mới thật sự là người chịu trách nhiệm khi lệnh đưa ra bị sai hoặc thiếu?

CHẶNG 6

Bản chất thật sự của CPU

Không lười, cũng không thông minh kiểu đoán ý — chỉ trung thực tuyệt đối.

CPU giống một người thợ cực kỳ nhanh, nhưng chỉ làm đúng-y việc được chỉ rõ từng bước một. Nó không «lười biếng làm tắt» — không bỏ bớt bước nào cho nhanh. Nó cũng không «thông minh đoán ý» — không tự thêm bước nào cho hợp lý hơn. Nó trung thực tuyệt đối với đúng-y lệnh nhận vào, dù lệnh đó đúng hay sai.

Nhưng vì mỗi lệnh CPU hiểu được đều phải chia nhỏ tới mức cực kỳ đơn giản — «lấy số», «cộng», «ghi» — nên một việc đời thường như «dọn phòng» không thể đưa thẳng vào CPU được. Phải có cả một tầng phần mềm khác đứng ở giữa: hệ điều hành, ngôn ngữ lập trình — chuyên dịch việc của con người thành hàng triệu lệnh nhỏ xíu mà CPU mới hiểu nổi.

NGƯỜI «dọn phòng giúp em» PHẦN MỀM DỊCH chia thành hàng triệu lệnh nhỏ CPU làm đúng-y từng lệnh nhỏ
CPU không nghe được câu của con người trực tiếp — phải qua một tầng dịch trước.

Nếu không có tầng phần mềm đứng giữa để dịch lại, một câu tưởng chừng đơn giản như «dọn phòng giúp em» — phải chia nhỏ tới mức nào mới đủ để CPU làm được?

CHẶNG 7

Một ví dụ khác, để chắc là không phải tình cờ

Lần này thử với một cái máy tính bỏ túi, thứ ai cũng có ở nhà.

Máy tính bỏ túi cộng đúng phép cộng hàng triệu lần liên tiếp, không bao giờ mỏi, không bao giờ lơ đễnh. Nhưng nếu người bấm nhầm phím trừ thành phím cộng, CPU bên trong nó vẫn cứ cộng — nó không «biết» người dùng định làm gì khác, nó chỉ làm đúng-y phím vừa được bấm.

9 + 3 = 12 9 + 3 = người định bấm trừ, tay lỡ bấm nhầm cộng
CPU không hề "biết" người dùng lỡ tay — nó chỉ trung thực với đúng-y phím vừa nhận được.

Máy tính bỏ túi không hề mỏi, chưa bao giờ lơ đễnh một giây nào — vậy vì sao đôi lúc phép tính lại ra kết quả sai?

CHẶNG 8

Nếu không có nó thì sao

Thử tưởng tượng một CPU biết «đoán ý» giống hệt con người.

Nghe có vẻ tiện hơn hẳn — máy sẽ hiểu ngay cả khi mình gõ nhầm, nói thiếu. Nhưng nếu CPU cứ tự đoán ý thay vì làm đúng-y lệnh, thì hai lần bấm cùng một phép tính có chắc ra cùng một kết quả không?

Không hề chắc — vì mỗi lần «đoán» có thể mỗi khác. Mà nếu vậy, không có gì đảm bảo hai lần chạy cùng một chương trình sẽ cho ra cùng một đáp số. Máy tính sẽ không dùng được cho bất cứ việc gì cần chính xác tuyệt đối: tính điểm thi, tính tiền trong tài khoản ngân hàng, tính đường bay của máy bay.

CPU BIẾT «ĐOÁN Ý» Nghe tiện — nhưng mỗi lần chạy có thể ra một kết quả khác nhau. Không ai dám tin dùng cho việc quan trọng.
CPU CHỈ VÂNG LỜI Cứng nhắc — nhưng làm đúng-y một lệnh thì luôn ra đúng-y một kết quả, mọi lần, không đổi.
NẾU CPU «ĐOÁN Ý» 7 + 5 = 12 (lần 1) 7 + 5 = 11 (lần 2, khác) CPU CHỈ VÂNG LỜI 7 + 5 = 12 (lần 1) 7 + 5 = 12 (lần 2, y hệt) chỉ một bên đáng để tin dùng cho việc quan trọng
Nếu kết quả đổi khác mỗi lần chạy, chẳng ai dám tin dùng máy tính cho việc quan trọng cả.

Nếu CPU cũng «linh động đoán ý» như con người, mỗi lần một khác — em có dám để nó tính điểm thi hay tính tiền trong tài khoản của mình không?

CHẶNG 9

Em đã gặp nó ở đâu rồi

CPU không chỉ nằm trong máy tính để bàn — nó ở khắp quanh nhà.

Điện thoại «giật lag» chính là lúc CPU phải chạy quá nhiều lệnh cùng một lúc, làm không kịp. Trên hộp máy tính chơi game, dòng chữ «CPU / GPU» ghi rõ hai loại chip đang cùng làm việc bên trong. Ngay cả lò vi sóng hay máy giặt ở nhà cũng có một CPU nhỏ xíu, đang thực thi đúng-y một chuỗi lệnh đã lập trình sẵn — bấm nút nào, chạy đúng-y chương trình đó, không hơn không kém.

6 app cùng đòi chạy CPU nhỏ, hàng chờ dài CPU vẫn làm đúng-y từng lệnh — chỉ chậm hơn
«Giật lag» không phải CPU làm sai — nó vẫn trung thực, chỉ là có quá nhiều việc phải xếp hàng.

Tự kiểm tra nhanh

Bấm vào đáp án em nghĩ là đúng — không chấm điểm, chỉ để em tự soi lại.

1. Nếu ra lệnh sai một chữ cho máy tính, CPU có tự sửa lại cho đúng ý mình không?

2. CPU «nhanh» và CPU «thông minh» có phải là một chuyện không?

3. Nếu một ngày CPU cũng «đoán bừa» như con người, hai lần bấm cùng một phép tính có chắc ra cùng một kết quả không?

Bấm một đáp án bất kỳ để bắt đầu.

    Cuộn nốt xuống dưới nhé — sắp xong trang này rồi!

    CHẶNG 10

    Kể lại cho bạn trong 30 giây

    Nếu chỉ được nhớ một câu từ cả bài này, hãy nhớ đúng câu này.

    CPU giỏi làm nhanh,
    chứ không giỏi đoán ý.

    Lần sau thấy máy tính hay điện thoại «làm sai» điều gì đó, thử hỏi lại: nó đang thật sự làm sai, hay nó chỉ đang làm đúng-y một lệnh mà con người đã ra chưa đủ rõ?

    TỜ GHI CŨ «Dọn phòng giúp em với!» — mơ hồ, phải đoán TỜ GHI RÕ RÀNG 1. Xếp sách lên kệ 2. Treo áo lên móc 3. Mang cốc xuống bếp
    Rõ ràng như tờ bên phải — người nghe cũng đỡ phải đoán, mà CPU thì bắt buộc phải có.

    Còn Bống thì sao?

    Từ hôm đó, mỗi lần nhờ ai việc gì, Minh cố nói rõ hơn một chút — không phải vì sợ người kia không hiểu, mà vì Minh nhận ra: nói rõ ràng vốn dĩ luôn là một kỹ năng đáng học, dù là nói với người hay là "nói" với máy.