![]()
50年前的CPU做乘法,比你心算還慢。
Brad,一位愛劃船的計算機科學家,最近干了件讓復古硬件圈興奮的事。他給1981年的IBM PC造了張加速卡,用一塊1980年代的TRW MPY12HJ并行乘法器芯片,把整數乘法速度提到原來的2.5倍。
這不是懷舊,這是給老機器做器官移植。
乘法曾經是8086的阿喀琉斯之踵
「在原始8088/8086上,乘法是用微碼控制的迭代移位/加法算法實現的。」Brad解釋,「它算乘法的方式跟你用紙筆做差不多——一位一位來。」
這種設計在1978年情有可原。Intel 8086只有2.9萬個晶體管,乘法器占地方,Intel選擇用時間換空間。結果是:MUL指令動輒消耗幾十個時鐘周期,復雜運算能卡到上百周期。
Brad的解決方案很直接:讓專業芯片干專業的事。
TRW MPY12HJ是TRW公司在1970年代末推出的12位并行乘法器。它不是微處理器,就是個純粹的數學狂魔——兩個數塞進去,一個周期吐結果。這種芯片當年用在雷達信號處理、軍事計算里,民用市場幾乎見不到。
Brad把它焊到ISA卡上, intercept(攔截)CPU的MUL指令。當8086遇到乘法,數據被送到MPY12HJ,算完再塞回去。整個過程對軟件透明,老程序無需改動。
用1980年代的專用芯片,給1978年的通用CPU打補丁。
這個思路當年完全可行。IBM PC Model 5150在1981年發布時就帶了ISA插槽,開放架構是IBM對市場的妥協,卻成了后來兼容機爆炸的導火索。如果1983年有工程師做出這張卡,電子表格軟件Lotus 1-2-3的用戶能少等好幾秒。
為什么現在才有人做?
復古硬件圈有個悖論:越老的機器,越有人想榨干它的潛力。
Brad的項目不是孤例。去年,有愛好者從零造了塊開源Intel 486主板,耗時不到6個月。另一位把Windows 3.1裝到了銳龍9 9900X+RTX 5060 Ti的平臺上,讓32年前的操作系統在現代硬件上裸奔。
這些項目沒有實用價值,但有考古價值——它們證明當年的設計決策如何塑造了今天的計算。
MPY12HJ芯片本身已經停產四十年,Brad從二手市場淘來。這種芯片當年單價數百美元,現在幾十美元能買到,前提是你會焊、會讀數據手冊、會處理5V/12V的老式電源邏輯。
ISA總線的設計也幫了忙。它的8位/16位數據寬度、24位地址線、以及簡單的中斷機制,讓外接邏輯芯片比今天插PCIe設備還直接。沒有驅動程序,沒有固件簽名,硬件工程師直接對總線說話。
Brad的加速卡不需要驅動,不需要配置,插上去就生效。
這種「即插即算」的體驗,在今天的Windows/Linux生態里已經絕跡。現代GPU需要幾百MB的驅動程序,而Brad的卡片只需要正確連接地址譯碼電路。
2.5倍加速意味著什么
別被數字騙了——2.5倍聽起來 modest( modest),但在特定場景下是質變。
1980年代的PC軟件大量使用整數運算。電子表格、CAD程序、科學計算,乘法出現在每個坐標變換、每個財務模型里。Lotus 1-2-3重算一張復雜表格時,用戶可以去倒杯咖啡。Brad的卡片能把咖啡時間砍掉一半以上。
更關鍵的是延遲,不是吞吐。
現代CPU用流水線隱藏乘法延遲,程序感覺不到。但8086是順序執行,每條MUL指令卡住,后面全部排隊。Brad的卡片把乘法從「阻塞調用」變成「快速返回」,整個程序的響應性都會提升。
這種優化在當年是高端工作站的特權。1984年的Intel 80286改進了乘法器,但主流PC用戶要等到80486才告別迭代算法。Brad用一張ISA卡,讓8086用戶提前十年享受類似體驗。
項目的技術細節在Brad的X賬號公開。他用了可編程邏輯器件(PLD)處理地址譯碼,用緩沖器匹配總線時序,用跳線選擇8位或16位模式。整套設計可以塞進當年的IBM PC機箱,功耗不到10瓦。
功耗比CPU本身還低,這是專用芯片對通用架構的嘲諷。
復古計算的啟示
Brad的項目暴露了一個被忽視的事實:硬件加速從來不是新發明。
1980年代的工作站普遍用浮點協處理器,圖形終端用位塊傳輸(BitBLT)芯片,網絡接口用專門的協議處理器。這些專用芯片在1990年代被集成進CPU和GPU,消失在用戶視野里。
但專用化的邏輯沒有死。今天的AI加速器、視頻編解碼單元、SSD主控,都是這個思路的延續。Brad用四十年前的芯片重演歷史,讓年輕工程師看見:摩爾定律之前,人們怎么解決性能問題。
復古硬件圈的價值就在這里。它不是博物館,是活的實驗室。
當Brad在X上發布項目視頻,評論區有人問:「能跑DOOM嗎?」這是復古圈的終極梗——1993年的DOOM是硬件殺手,需要386以上配置。8086理論上帶不動,但有了乘法加速卡,3D計算的瓶頸被緩解,幀率或許能從「幻燈片」提升到「勉強能玩」。
Brad沒有回答這個問題。他的下一個項目是改進地址譯碼邏輯,讓卡片支持更多主板型號。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.