Lỗi chia của Pentium năm 1994 là câu chuyện về một con chip Intel làm sai một nhóm phép chia thập phân, và về cuộc tranh cãi giữa ba con số: một trên chín tỷ, hai mươi bảy nghìn năm và hai mươi bốn ngày. Chuyện bắt đầu từ cuối năm 1994, khi bất kỳ ai cũng có thể gõ một phép chia vào máy tính trong Windows và thấy kết quả sai. Nó đáng nhớ vì Intel tranh luận đúng về xác suất, nhưng vẫn phải trả hóa đơn 475 triệu đô la.

Tóm tắt nhanh

Pentium có một lỗi tất định trong bộ chia số thập phân: một số ô trong bảng tra của thuật toán chia bị để trống, nên một nhóm cặp số hiếm luôn cho kết quả sai. Intel biết lỗi từ giữa năm 1994 nhưng lặng lẽ sửa ở các lô sau. Khi giáo sư Thomas Nicely phát hiện và công bố, Intel khẳng định lỗi hiếm đến mức không đáng lo, còn IBM đưa ra phép tính cho thấy lỗi có thể gặp thường xuyên hơn nhiều. Cuối cùng Intel đổi chip cho bất kỳ ai yêu cầu và ghi nhận khoản chi 475 triệu đô la trước thuế.

Diễn biến chính

Phép chia sai trên bàn làm việc (cuối tháng 11/1994)

Chia 4195835 cho 3145727, máy đúng cho ra 1,33382…, còn Pentium đời đầu cho ra 1,33373…. Nếu lấy số bị chia trừ đi số chia nhân với kết quả, máy đúng ra số không, còn Pentium ra 256. Phép thử này ai cũng tự làm được và lần nào cũng sai y hệt. Cặp số kinh điển này là của kỹ sư Tim Coe, không phải của Nicely, và là một trong những trường hợp sai nặng nhất.

Năm ô trống trong tấm bảng (1993–1994)

Pentium ra mắt tháng 5/1993; Andy Grove, người đứng đầu Intel, kể rằng đó là chương trình kiểm thử quy mô nhất mà công ty từng làm. Bộ chia dùng thuật toán SRT với một bảng tra hơn hai nghìn ô, trong đó có năm ô lẽ ra phải chứa giá trị lớn nhất lại bị trống. Khi một phép chia đi vào ô trống, con chip đoán sai một bước và thuật toán không có cách quay lại sửa. Theo tài liệu, các kỹ sư Intel tự tìm ra lỗi vào khoảng tháng 5–6/1994 và sửa lặng lẽ ở các lô sản xuất sau, không thông báo, không thu hồi.

Thomas Nicely săn lỗi (6–11/1994)

Nicely, giáo sư toán ở Lynchburg College (bang Virginia), đang tính hằng số Brun từ các cặp số nguyên tố sinh đôi. Ông luôn tính mỗi phép nghịch đảo bằng hai đường độc lập, và ngày 13/6/1994 hai đường không khớp. Ông nghi chính mình trước: tìm ra một lỗi thật trong trình biên dịch, sửa xong vẫn lệch vào ngày 4/10. Ngày 22/10 ông thử phép tính trên một chiếc Pentium trưng bày ở cửa hàng và máy cũng sai đúng chỗ đó. Ngày 30/10 ông gửi thư điện tử cho chừng một chục người; thư được chuyển tiếp và xuất hiện trên diễn đàn trực tuyến ngày 1/11.

Chỉ trong hai ngày, người dùng khắp nơi tự viết chương trình thử và đăng danh sách phép chia sai. Tim Coe, không có máy Pentium, suy ngược từ danh sách ấy ra thuật toán và bảng tra của Intel. Ở Stanford, giáo sư Vaughan Pratt chạy một triệu phép chia và đếm được 627 phép sai.

Cơn bão báo chí và ba con số (11/1994)

Báo chuyên ngành đăng bài đầu tiên ngày 7/11, nhưng cơn bão thật đến khi CNN đưa tin vào khoảng 21–22/11, và một tờ báo lớn ở Boston lên tít "Xin lỗi, nhầm số". Ngày 27/11, Grove đăng bài trên nhóm tin của Intel, xin lỗi vì sự lo lắng và đưa ra con số thứ nhất: cứ chín tỷ phép chia ngẫu nhiên mới có một phép trúng lỗi. Intel sẽ trao đổi riêng với từng người để xem họ có cần đổi chip hay không.

Ngày 30/11, bản phân tích của Intel đưa ra con số thứ hai: người dùng bảng tính trung bình phải chờ khoảng 27.000 năm mới gặp một lần lỗi. Con số này dựa trên hai giả định: mỗi người chỉ chia khoảng một nghìn phép mỗi ngày, và mọi con số đều có cơ hội xuất hiện như nhau.

IBM phản công (12/12/1994)

IBM công bố nghiên cứu riêng, nhắm thẳng vào giả định ngẫu nhiên. Dữ liệu thật là tiền bạc, những con số như 4,57 hay 12,99, và phép trừ 4,1 − 1,1 cho ra số chia trông như 3 nhưng lại mang chuỗi bit rủi ro. Với một bảng tính chạy khoảng 5.000 phép chia mỗi giây trong 15 phút mỗi ngày, IBM tính ra con số thứ ba: hai mươi bốn ngày mới gặp một lần lỗi, và công ty 500 máy Pentium có thể gặp tới 20 lỗi mỗi ngày. IBM còn tuyên bố ngừng giao máy dùng Pentium. Cổ phiếu Intel giảm 4,25 đô xuống 58,5 đô rồi bị tạm ngừng giao dịch. Grove đáp rằng lúc nào cũng có thể dựng ra tình huống ép lỗi xảy ra.

Intel đầu hàng và hóa đơn 475 triệu đô (12/1994 – 1/1995)

Ngày 20/12, Intel công bố đổi chip cho bất kỳ ai yêu cầu. Grove thừa nhận chính sách cũ có vẻ ngạo mạn và vô tâm, và xin lỗi. Ngày hôm sau, lá thư xin lỗi đăng báo mang chữ ký Andy Grove, Craig Barrett và Gordon Moore. Intel vẫn nói họ tin con số của mình đúng, chỉ thôi tranh cãi. Ngày 17/1/1995, Intel công bố khoản chi 475 triệu đô la trước thuế, tính vào năm 1994; báo chí gọi đây là lần đầu một con chip máy tính bị thu hồi toàn bộ.

Điều còn tranh cãi hoặc cần thận trọng

  • Nguyên nhân của năm ô trống. Intel giải thích do một đoạn mã chép bảng bỏ sót. Năm 2024, một người soi ảnh chụp lõi chip cho rằng thật ra có 16 ô thiếu do sai ở đường biên toán học, và năm ô trong số đó gây lỗi.
  • Hai con số kịch bản. 27.000 năm và 24 ngày đều là kịch bản, không phải đo đạc: một bên giả định dữ liệu ngẫu nhiên, bên kia giả định bảng tính chạy liên tục mười lăm phút mỗi ngày. Mỗi bên cũng có lợi ích riêng; máy Pentium chỉ chiếm phần nhỏ doanh số của IBM, vốn đang đặt cược vào một con chip riêng.
  • Mức độ sai. Câu "sai từ chữ số thứ tư" đúng với cặp số của Coe, một trường hợp tệ. Phần lớn phép chia lỗi chỉ lệch ở những chữ số xa hơn nhiều, và con chip không sai mọi phép chia.
  • Giai thoại. Chuyện Grove nhận tin đoàn CNN đang tới và chuyện Coe thử mô hình trên máy trưng bày ở cửa hàng đều là lời kể, không phải tài liệu gốc. Cũng theo lời kể, số người thật sự gửi chip về đổi lại ít đến bất ngờ.
  • Quan điểm của người phát hiện. Nicely về sau nói phân tích của Intel thực tế hơn của IBM, dù hơi lạc quan. Ông treo thưởng suốt năm năm cho ai tìm ra lỗi chia gặp trong công việc thật, và không ai nhận được giải.

Vì sao câu chuyện này đáng nhớ?

Intel không thua vì con số sai, mà vì trả lời nhầm câu hỏi. Một lỗi ngẫu nhiên có thể gọi là trục trặc, nhưng một lỗi tất định mà ai cũng tái hiện được trong mười giây thì câu hỏi trở thành "còn tin nó được không", chứ không phải "bao lâu mới sai một lần". Grove về sau tự nhận Intel đã tự cho mình quyền bảo người khác nên lo hay không nên lo điều gì.

Với ngành chip, vụ việc để lại bài học kiểm tra: thay vì chạy thử hàng nghìn tỷ phép tính rồi hy vọng, các hãng đầu tư vào kiểm chứng bằng chứng minh toán học. Còn với người dùng, nó gợi một câu hỏi vẫn dùng được với các hệ thống AI ngày nay: một con số "hiếm" giả định điều gì về tôi, và ai được lợi nếu tôi tin nó?

Câu hỏi thường gặp

Lỗi chia của Pentium là gì?

Đó là lỗi trong bộ chia số thập phân của chip Pentium đời đầu: một nhóm cặp số hiếm cho kết quả chia sai, và lần nào chia lại cũng sai y hệt. Nguyên nhân là một số ô trong bảng tra của thuật toán chia bị để trống.

Ai phát hiện ra lỗi chia của Pentium?

Thomas Nicely, giáo sư toán ở Lynchburg College, phát hiện khi đang tính hằng số Brun và công bố bằng thư điện tử ngày 30/10/1994. Cặp số kinh điển dùng để thử lại là của kỹ sư Tim Coe.

Ba con số trong cuộc tranh cãi giữa Intel và IBM là gì?

Một trên chín tỷ là tỷ lệ phép chia ngẫu nhiên trúng lỗi theo Grove. Hai mươi bảy nghìn năm là thời gian chờ trung bình theo Intel, và hai mươi bốn ngày là con số IBM tính cho người dùng bảng tính. Cả hai đều là kịch bản dựa trên giả định.

Intel mất bao nhiêu tiền vì lỗi Pentium?

Ngày 17/1/1995, Intel công bố khoản chi 475 triệu đô la trước thuế, hạch toán vào năm 1994, để thay thế và xóa sổ những con chip lỗi.

Vì sao Intel phải đổi chip dù cho rằng lỗi hiếm?

Vì người dùng tự tái hiện được lỗi và không tin các con số xác suất. Ngày 20/12/1994 Intel đổi chính sách sang đổi chip cho bất kỳ ai yêu cầu, dù vẫn nói họ tin con số của mình đúng.

Nguồn tham khảo

  • T. R. Nicely, Pentium FDIV flaw FAQ và thư điện tử "Bug in the Pentium FPU" (30/10/1994)
  • Andy Grove, bài đăng trên nhóm tin của Intel (27/11/1994) và thông cáo báo chí, thư xin lỗi của Intel (20–21/12/1994)
  • Intel white paper (30/11/1994) và nghiên cứu của IBM về lỗi chia Pentium (12/1994)
  • Bài đưa tin của Seattle Times về phản ứng thị trường với việc IBM ngừng giao máy
  • Cleve Moler, bài viết về lỗi chia Pentium; Dr. Dobb's Journal
  • Ken Shirriff (2024), phân tích ảnh chụp lõi chip Pentium
  • Bảo tàng Lịch sử Máy tính (Computer History Museum), hiện vật móc khóa chip Pentium lỗi
  • Wikipedia, mục Pentium FDIV bug

Bài viết tóm tắt từ video của kênh; nội dung mang tính giới thiệu.