Tin công nghệ › Phần cứng

Cựu kỹ sư Microsoft tự chế thanh RAM cho máy cổ nhờ sự trợ giúp của AI

Dave Plummer, cựu kỹ sư Microsoft nổi tiếng, đã tự chế tạo thành công một bo mạch RAM hoàn toàn mới cho chiếc máy tính cổ PDP-11 từ thập niên 1970. Dự án này được thực hiện với sự hỗ trợ đắc lực từ ChatGPT và công cụ mô phỏng mạch điện EasyEDA.

Tom's Hardware18:40 31/10/20263 phút đọc

Ảnh: Tom's Hardware

Dave Plummer, cựu kỹ sư Microsoft và là người đứng sau Task Manager, Windows Pinball, nay là TMOG, lại một lần nữa thực hiện một dự án thú vị. Sau khi nhận thấy mức giá cắt cổ cho mỗi megabyte bộ nhớ của chiếc máy tính cổ PDP-11, ông quyết định tự tay vào cuộc để tạo ra một bo mạch RAM mới.

PDP-11 là cỗ máy ra mắt từ năm 1970 và các phiên bản sau này có thể hỗ trợ dung lượng bộ nhớ lên tới bốn megabyte. Plummer đã nhờ sự trợ giúp của ChatGPT và công cụ mô phỏng mạch điện trực tuyến EasyEDA, dù ông lưu ý rằng mình chưa từng làm những dự án phức tạp như thế này trước đây. Vì một số dòng PDP-11 sử dụng bo mạch Q-Bus cho các linh kiện hệ thống chính, ông đã thiết kế thanh RAM này thành một tấm thẻ độc lập, sau đó thử nghiệm trên một bo mạch chủ (backplane) bên cạnh một bo mạch khác chứa CPU M8190 của hệ thống.

Bên trên bo mạch, ông đặt một chip Lattice MachXO2 FPGA đóng vai trò là bộ điều khiển bộ nhớ (cụ thể là model 2000HC), kết nối với bốn chip nhớ ISSI dung lượng 1 MB. Sau khi bổ sung một chip I/O U2S, một dãy công tắc DIP, các cổng giao tiếp và một vài tụ điện, ông đã có được một mạch điện hoàn chỉnh. Thiết kế bo mạch M8190 sử dụng bus 22-bit và dành riêng 256 KB phía trên cho các thiết bị I/O và ROM.

Tuy nhiên, đây không phải là dự án thành công ngay từ lần thử đầu tiên. Plummer đã gặp một vài bước khởi đầu bất thành do chưa từng lập trình flash cho một chip FPGA trước đó. Ông đã khắc phục được điều đó sau vài lần thử, nhưng sau đó lại vướng phải một lỗi kinh điển của dòng PDP-11.

Thiết kế bus bộ nhớ của máy chỉ cho phép truy cập toàn bộ các từ (hai byte) cùng lúc và coi bit thấp nhất trong một địa chỉ bộ nhớ là bộ chọn "làn" để phân định giữa byte thấp hoặc byte cao trong từ đó. Khi đọc, tự CPU sẽ chọn ra đúng byte cần thiết, nhưng "bộ điều khiển bộ nhớ" của Plummer vẫn cần phải trả về hai byte. Tương tự, khi ghi, bộ chọn bit phải được đọc trước rồi chọn ra byte phù hợp để chỉ cập nhật byte đó, vì các đường bus vẫn sẽ mang toàn bộ một từ, điều này có thể ghi dữ liệu không hợp lệ.

Plummer dường như chưa nắm rõ điều này từ trước, và một người dùng bình luận đùa rằng ông đã "xây dựng 4MB bộ nhớ nhưng hóa ra chỉ là 2MB", để rồi ông đáp lại rằng bộ nhớ đó "chỉ trả về mỗi từ thứ hai", khớp với mẫu thiết kế đã nêu ở trên. Dù không có thêm cập nhật nào sau khi nhiều người bình luận chỉ ra điều này, chúng ta có thể giả định rằng ông đã áp dụng một cách sửa lỗi đơn giản trong đoạn mã FPGA của mình.

Một người đã gợi ý rằng ông nên bỏ qua toàn bộ vấn đề này và triển khai bộ nhớ bằng phần mềm thông qua một chiếc Raspberry Pi nối trực tiếp với bus của PDP. Plummer trả lời rằng ông vốn dĩ đã làm điều đó vào tuần trước với một bo mạch giao diện hiện đại QBone DEC, bên trên có cắm sẵn một bo mạch Beaglebone Black (tương tự như Raspberry Pi).

Bài gốc (tiếng Anh): Veteran Microsoft engineer makes his own RAM from scratch using AI
Nguồn: Tom's Hardware · Bản dịch tiếng Việt của VGSNews, chỉ để tham khảo.
FacebookTelegramX← Tin khác