Modder tự chế card ISA, tăng tốc CPU Intel 8086 gấp 2,5 lần
Trên Intel 8086 và 8088, lệnh MUL không được thực hiện bằng phần cứng chuyên dụng mà dựa trên thuật toán dịch và cộng lặp lại do vi lệnh điều khiển.
Phần cứng máy tính 50 năm tuổi có thể chậm chạp so với tiêu chuẩn hiện đại, nhưng điều đó không ngăn được những người đam mê công nghệ tìm cách “hồi sinh” chúng. Mới đây, một nhà khoa học máy tính có biệt danh Brad (@bradthx trên X) đã giới thiệu một card tăng tốc ISA tự chế dành cho các hệ thống PC chạy bộ xử lý Intel 8086 và Intel 8088. Dự án này sử dụng chip nhân phần cứng TRW MPY12HJ để tăng tốc phép nhân số nguyên, giúp hiệu năng cải thiện khoảng 2,5 lần so với bộ xử lý gốc.
Theo Brad, ý tưởng xuất phát từ hạn chế của các CPU x86 đời đầu trong việc xử lý phép nhân. Trên Intel 8086 và 8088, lệnh MUL không được thực hiện bằng phần cứng chuyên dụng mà dựa trên thuật toán dịch và cộng lặp lại do vi lệnh điều khiển. Cách xử lý này tương tự như việc nhân số nhị phân bằng tay trên giấy, khiến quá trình tính toán mất nhiều thời gian và trở thành điểm nghẽn hiệu năng trong nhiều tác vụ.
Card ISA mà Brad phát triển tận dụng chip TRW MPY12HJ – một bộ nhân song song 12×12 từng xuất hiện vào cuối thập niên 1970 và đầu 1980. Con chip này được thiết kế chuyên cho các phép toán số học tốc độ cao và hoạt động theo cơ chế bất đồng bộ, không cần xung nhịp. Nhờ đó, nó có thể xử lý phép nhân nhanh hơn đáng kể so với thuật toán vi lệnh tích hợp trong CPU Intel đời cũ.
Điểm đáng chú ý là bộ nhân TRW đủ nhanh để hoàn thành phép tính giữa hai chu kỳ bus liên tiếp của hệ thống, giúp giảm thiểu độ trễ khi giao tiếp với CPU. Theo Brad, card ISA mới có thể tăng tốc lệnh MUL lên khoảng 2,5 lần so với bộ nhân tích hợp, mà không gây tổn thất hiệu năng đáng kể trong quá trình vận hành.
Về mặt kỹ thuật, dự án này hoàn toàn có thể được thực hiện từ thời kỳ đầu của máy tính cá nhân. Chip TRW MPY12HJ đã tồn tại khi IBM PC Model 5150 ra mắt vào năm 1981 với CPU Intel 8088 và khe cắm ISA. Điều đó có nghĩa là về lý thuyết, các kỹ sư thời đó cũng có thể phát triển một giải pháp tương tự để tăng tốc hệ thống, nhưng chi phí và nhu cầu thực tế khi ấy có thể đã khiến ý tưởng này không được triển khai rộng rãi.
Tuy nhiên, card tăng tốc của Brad không phải là giải pháp “tăng tốc toàn diện” cho mọi phần mềm cổ điển. Theo ông, chỉ những chương trình được viết hoặc chỉnh sửa để sử dụng bộ nhân phần cứng mới có thể tận dụng được lợi ích của card ISA. Các ứng dụng đã được biên dịch sẵn sẽ tiếp tục sử dụng lệnh MUL mặc định của CPU và không nhận được cải thiện hiệu năng.
Điều này có nghĩa là dự án chủ yếu phục vụ mục đích nghiên cứu, thử nghiệm và bảo tồn công nghệ cổ điển, hơn là nâng cấp thực tế cho các hệ thống PC cũ. Dù vậy, nó vẫn cho thấy sức sáng tạo của cộng đồng đam mê phần cứng retro và cách họ tìm ra những giải pháp mới từ công nghệ cũ.
Trong bối cảnh máy tính hiện đại ngày càng mạnh mẽ, những dự án như card ISA cho Intel 8086 nhắc nhở rằng lịch sử công nghệ vẫn còn nhiều tiềm năng khám phá. Không chỉ là hoài niệm, các thử nghiệm như vậy còn giúp chúng ta hiểu rõ hơn cách các kiến trúc máy tính ban đầu hoạt động và cách tối ưu hóa chúng bằng những ý tưởng sáng tạo.
Bài cùng chuyên mục