Dave Plummer RAM 專案利用 AI 替代稀缺的 PDP-11 記憶體
Dave Plummer 在 ChatGPT 協助下,為其復古電腦製作了一張自訂 4MB 記憶體卡,其後表示已修正故障並成功啟動 Unix。Dave Plummer RAM 專案旨在解決一項昂貴的修復難題:為 Digital Equipment Corporation 旗下歷史悠久的小型電腦系列 PDP-11,更換稀缺的記憶體。這亦為 AI 生成的工程建議提供實用測試,將製成的硬件連接至真實機器上驗證。
這名前 Microsoft 工程師利用電子電路設計應用程式 EasyEDA 開發該電路板。他的方法結合現成記憶體晶片與可編程控制邏輯。「從零開始」指的是自訂電路板及其運作方式,而非製造新的記憶體晶片。
核心難題在於:既要生成看似可行的設計,又要符合舊式電腦精確的介面要求。QBone 等既有替代方案已協助這些機器繼續運作。Plummer 的專案探索專用替代方案,由 AI 協助開發,而實體測試則決定設計是否可行。
Dave Plummer RAM 專案已接駁至真實電腦
Plummer 不止繪製電路圖,更製作了實體記憶體卡並接駁至復古硬件。
Tom’s Hardware 報道,該電路板以一枚 Lattice MachXO2 可編程晶片為核心,連接四枚 ISSI 記憶體晶片。Plummer 透過 Q-Bus(用以連接相容電腦組件的共用電氣介面),將記憶體卡與 M8190 處理器板一同測試。這些細節表明該專案是一張自訂記憶體板,既要處理實體連接,也要確保控制行為正確。
這個分別很重要,因為記憶體的角色遠較只是在機器配置中顯示出來更具要求。處理器必須能取回自己先前儲存的相同資料,並且要在預定位置完成操作,不可損壞鄰近資料,或回應本應發給另一組件的請求。
一張電路板即使通過初步辨識檢查,仍可能錯誤處理某些特定操作。辨識成功只證明部分通訊正常,並不能確認所有支援的存取方式,均能在預定記憶體範圍內正確運作。
因此,專案早期出現的故障應是報道主線的一部分。它們反映出,讓製造完成的電路板作出回應,與讓它可靠到足以運行軟件之間仍有距離;而大量工程工作正是在這段距離之中。
AI 的貢獻亦須有清晰界線。ChatGPT 參與開發,而 EasyEDA 提供電路設計環境。現有說法未有提供完整紀錄,說明每一項設計決定、修正或驗證步驟,究竟由 Plummer 還是助理負責。
將成果稱為 AI 輔助硬件設計,符合現有證據。若稱其為由 AI 獨立設計的電腦組件,則需要更清楚交代由誰作出各項決定。當除錯過程改變原本設計時,這個分別尤其重要。
「製造 RAM」亦可以有多種意思。RAM,即隨機存取記憶體,儲存處理器在運行時可讀取和修改的資料。圍繞外購晶片設計相容的電路板是一項重大工程,但與半導體製造仍是兩回事。
就修復工作而言,電路板才是相關的單位。單一記憶體晶片無法取代缺失的擴充卡;它需要合適的連接、控制邏輯,以及原有處理器可理解的運作行為。
Plummer 的工作正是針對這個整合問題。其意義在於令當代組件可在舊系統內發揮作用。記憶體容量的重要性,應在該系統的限制內理解,而不是與現時個人電腦相比。
如此便較容易按專案本身的條件評估。問題在於,該卡能否為目標主機提供可靠儲存。若答案肯定,便代表一項實際的修復成果,無須聲稱會改變更廣泛的記憶體行業。
稀缺的替換卡令修復者承受壓力
直接承受壓力的是維護舊電腦的人,而他們可用的替換方案取決於相容性與供應情況。
Plummer 表示,復古記憶體昂貴且稀缺,是他從事此項目的原因。這帶來熟悉的修復抉擇:尋找原裝組件、改裝現代替代品,或自行製作替代品。每條路徑都會為維持機器運作的人帶來不同負擔。
原裝卡可保留較多歷史配置,但其狀況及供應情況仍需評估。替代品則以部分歷史原真性,換取採用現今可取得組件和製造方法的可能性。
兩種選擇都無法免除技術判斷的需要。舊電路板需要檢查和測試;新設計的電路板則需要證據證明,它能在目標機器中正確運作。
因此,相關比較不僅限於取得硬件本身。修復者還要花時間診斷故障、查閱文件、組裝系統,以及維護所選方案。即使製作者將項目視為興趣,這些投入仍是真實存在的。
當其他人可毋須重複原有研究,便能重製自訂替代品時,該替代品才更有價值。這需要易於理解的設計檔案、組件資料、組裝指引,以及對支援配置的清晰說明。可運作的原型是這個過程的開始,而非終點。
Plummer 對這些系統的興趣早於目前這張電路板。在他與 Lex Fridman 的PDP-11 修復討論中,他談及以購入零件組裝機器,並追求配置完善的系統。這個背景將記憶體專案置於既有的修復實踐之中。
這亦限制讀者對可及性的推論。一名經驗豐富的程式設計師可把嚴謹的故障排除習慣帶進陌生的電子工程工作;對主機的熟悉程度,亦提供新手仍需逐步建立的額外背景。
AI 協助之所以相關,是因為它提供另一種研究陌生細節的方法。製作者可在開發設計時提問、探索候選方案及要求解釋。這能否減少總工作量,取決於答案質素,以及核實答案所需的工夫。
目前並無受控比較,顯示同一專案在使用和不使用 ChatGPT 下完成的結果。因此,任何關於可量度生產力提升的說法,都會超出證據所能支持的範圍。可觀察到的結果是:一項使用 AI 的開發工作,已進展至聲稱硬件能夠運作的階段。
對修復社群而言,更值得留意的可能性是一個可維護的替代設計。若成果可重製,其他擁有人便多一個選擇;若它仍只適用於製作者的設置,其價值便更接近個人實驗。
這個差異決定誰能受惠。成功的個人製作可即時服務其擁有人;一張有完整文件、並經獨立重製的電路板,則可服務那些沒有時間或設備自行開發的人。
可編程邏輯必須說原有匯流排的語言
真正困難的邊界,在於正確轉譯記憶體請求,即使底層儲存晶片完全按預期運作。
FPGA,即現場可編程閘陣列,是一種可在製造後設定其數碼邏輯的晶片。在這張電路板中,該邏輯擔任記憶體控制器,協調主機電腦與儲存晶片之間的請求。控制器必須在每一項支援的操作中,保留主機的預期行為。
Lattice 將其可編程邏輯系列描述為適用於橋接及系統控制。這有助理解該組件的角色:它連接了細節不會自動吻合的介面。但其功能本身並不能說明某個特定配置是否正確實現那些細節。
重要分別在於儲存容量與介面正確性。一張卡即使擁有足夠的實體記憶體,仍可能將請求映射至錯誤位置;它亦可能在部分操作中傳回正確數值,卻錯誤處理其他操作。
DEC 的Q-Bus 傳輸規格區分字組與位元組傳輸。字組是處理器的成組資料單位;在此情況下,它包含兩個位元組。要正確支援這些傳輸類型,必須注意位址與資料之間的關係。
一次位元組操作只會選取字組的一部分。當操作要求如此運作時,控制器必須保留所請求部分以外的資料;否則,修改一個小數值可能會意外改動相鄰資料。
這是對介面要求的一般說明,而非對 Plummer 具體實作的已確認診斷。觀察到的定址故障可提示應調查的方向;要確立其成因,仍須檢視實際邏輯,以及故障操作期間產生的訊號。
這正是處理 AI 生成解釋時需要謹慎的地方。一個答案可能描述了大致正確的架構原則,卻錯誤套用於特定設計。聽起來具說服力的術語,不能證明正確的導線、位址與控制條件確實相符。
同樣問題亦會在不同抽象層之間出現。原理圖顯示連接方式;控制器邏輯描述行為;實體測試則揭示已組裝系統在這些連接與行為互相作用時的實際表現。
某一層面的吻合,不能保證另一層面也吻合。設計環境可協助組織專案,卻不能認證與每一種主機操作的相容性。原有機器仍是驗證中不可或缺的一環。
可編程控制邏輯為製作者提供有用的修正途徑。當錯誤屬於該邏輯時,修訂配置即可改變行為,而毋須更換整張電路板。這種彈性有賴實體設計本身已支援所需行為。
接線錯誤或不合適的電氣介面則是另一回事。程式碼無法修補每一項實體限制。因此,負責任的報道不應將任何未解釋的硬件故障,描述為容易解決的軟件問題。
AI 輔助硬件設計最有力的啟示,在於介面上的證據。生成的程式碼與解釋只是實作候選方案;當特定輸入能在實際系統上產生所需輸出時,其可靠性才會更清晰。
就這個專案而言,舊式匯流排協定提供了外部標準。它不會遷就助理的假設;替代品必須足夠貼近機器既定行為,讓一般軟件可以依賴它。
QBone 為自訂電路板提供既有替代方案
專用記憶體卡進入了一個已有現代方法取代缺失功能的修復社群。
Jörg Hoppe 的 QBone 裝置模擬 專案,透過 BeagleBone Black 電腦將 Q-Bus 機器連接至現代 Linux 環境。其文件列出的功能包括模擬故障子系統及監察模擬記憶體。它為評估新的替代方案增加了甚麼,提供了一個具體參考。
兩種方案以不同設計滿足重疊的需求。專用記憶體板透過自身的控制器及儲存元件,專注提供記憶體。QBone 則提供更廣泛的環境,用於呈現裝置及支援診斷工作。
這個較廣的範圍在修復期間尤其重要。一台有多個缺失或故障元件的機器,需要的不只是記憶體替代品。可配置的平台可在提供原本需要額外原始硬件才能實現的功能之餘,協助檢查系統。
專用卡則有另一種吸引力。它的用途可以更集中,讓擁有人需要配置及維護的功能較少。這是否帶來較簡單的整體體驗,取決於最終實作及文件質素。
目前沒有經驗證的效能比較可證明 Plummer 的卡比 QBone 更快、更可靠或更易用。現有證據只足以將它們描述為不同路線。若要作出排名,便需要在說明條件下進行可比較的測試。
替代方案的存在,也改變了理解此專案動機的方式。製作一張新卡不代表現有每種方案都不足夠。學習、掌控設計,以及親手製作硬件的滿足感,均足以成為投入努力的理由。
對專注恢復服務的擁有人而言,決定應由機器的需要開始。當欠缺的功能是記憶體時,範圍較窄的替代方案很有吸引力。當多個子系統需要處理時,較廣泛的模擬環境便變得相關。
歷史保真度帶來另一個維度。有些修復者優先考慮原始元件及其行為。另一些則接受讓原始處理器繼續運行有用軟件的現代硬件。這些目標會導向不同選擇,無須意味着任何一方有錯。
因此,這張自訂 PDP-11 記憶體板屬於一系列修復選項之一。它無須取代所有替代方案才有用。清楚交代其預定角色,會有助擁有人判斷它適合放在哪裏。
支援及長期可用性同樣值得考慮。一張板的實用性,部分取決於日後的擁有人能否取得元件、理解配置選擇及診斷故障。當原始製作者淡出後,這些問題會變得更重要。
對 Plummer 而言,開發專用替代品可讓他直接了解自己的機器如何處理記憶體。對其他擁有人而言,這些知識會透過文件及可重現性而變得有價值。工程成品及其說明相輔相成。
與 QBone 的比較令分析保持貼近事實。重點是提供另一個可信的修復選項。聲稱可取代主流記憶體產品或與現代電腦競爭,均未獲此專案的目的支持。
Plummer 報告已修正問題,但測試細節仍然重要
最新已索引的帖文顯示,專案在初步故障後已有進展,但驗證仍取決於製作者的說法。
Plummer 的 RAM 專案更新索引鏡像記錄了最初的定址故障、中期修正,以及其後聲稱成功的結果。10 月 30 日的一則帖文表示,他修改了 FPGA 程式碼、通過測試,並成功啟動 Unix 進入多用戶模式。驗證期間未能直接存取原始帖文,因此本報道依賴該索引鏡像。
這項限定很重要,因為報道應同時保留更新內容及其證據限制。若一直將專案描述為故障,便會遺漏可得資訊。若把後來的聲稱視為獨立認證,則會超出現有材料所能證明的範圍。
啟動作業系統是一項有意義的整合檢查。它會讓各個元件在預期機器行為一致的軟件下共同運作。不過,這與已發表的測試紀錄不同;後者會說明檢查了哪些記憶體操作及位置。
詳細的驗證說明應列出硬件修訂版本及控制器配置,亦應區分針對性診斷與一般軟件使用。這會令讀者更容易理解哪些項目已通過,以及哪些仍不在測試條件之內。
測試聲稱的措辭同樣值得審慎處理。通過某一套測試中的所有項目,只能說明該套件及配置的情況。若沒有該套件的涵蓋範圍,讀者便不能推斷所有受支援運作條件均已覆蓋。
這不代表報告的成功不重要。它只是界定了合適的信心水平。證據支持的說法是:一名製作者在除錯後報告系統已可運作,而更廣泛的兼容性及可重現性仍有待確認。
ChatGPT 的角色仍是另一個未解問題。已發表的說法沒有釐清助手是否引入了錯誤假設、協助修正問題,或主要在其他地方作出貢獻。要判定責任,便需要設計歷史及相關對話紀錄。
這種不確定性有兩面。最初的故障不能證明 AI 造成缺陷;其後的成功也不能證明 AI 獨立解決了問題。
工程工作往往透過錯誤假設、量度及修正而推進。AI 改變了某些候選解釋及實作方案出現的方式,卻不能免除判斷哪種解釋符合觀察到的故障之必要。
因此,Dave Plummer RAM 專案更能證明一個受輔助的開發過程,而非衡量 AI 工程能力的基準。它展示一名經驗豐富的製作者在可使用助手的情況下,處理陌生工作。它沒有量化助手取代了多少專業知識或工作量。
對開發人員及技術知識工作者而言,這個區別具有實際意義。當生成材料與規格、修訂版本及觀察結果連結時,便更值得信賴。保留這些紀錄,便可在測試揭示錯誤假設後重新檢視決定。
可搜尋的工程知識庫有助完成這項文件工作。在硬件專案中,有用的紀錄包括原先預期、實際發生的情況,以及哪個修訂版本改變了結果。
留意可重現性、更廣泛的測試及持續使用
下一批證據應顯示,一次成功的個人製作能否成為其他 PDP-11 擁有人的可靠選項。
第一個訊號是可重現的發布。這意味着要提供足夠資訊,讓另一名製作者可識別預定元件、製造或組裝電路板,並載入相符的控制器配置。這類發布會令專案超越僅在創作者工作枱上展示的成果。
修訂版本配對尤其有用。硬件檔案及控制器程式碼需要有清晰關係,讓另一名製作者知道哪個組合產生了報告的結果。不完整或含糊的發布,會令重現工作依賴額外詮釋。
獨立組裝會進一步加強論據。另一名擁有人若能取得相同結果,便可檢驗說明是否捕捉了原始製作者視為理所當然的假設。若未能重現,便會揭示值得修正的缺口。
第二個訊號是附有已說明涵蓋範圍的更廣泛驗證。讀者應留意有文件記錄的受支援讀取、寫入、位址,以及與主機系統互動的檢查。目的在於令成功聲稱可供檢視。
這些檢查亦有助界定兼容性。在指定配置上的結果,支持在該配置中使用。測試更多預定主機,則可確立這項聲稱可延伸至多遠。
一份有用的報告會連同通過項目解釋失敗情況。已知限制讓擁有人判斷該板是否適合自己的機器。對未測試配置保持沉默,應視為開放問題,而非暗示保證。
第三個訊號是在短暫示範以外的持續使用。重複操作、一般軟件工作負載,以及其他擁有人的報告,可揭示設計隨時間的表現。這些觀察會補足針對性測試。
社群回饋在包含足夠調查背景時最有價值。與特定電路板修訂版本及主機配置相關的報告,比起未經解釋的成功或失敗更具可操作性。這些資料也為未來製作者提供更清晰的起點。
這些訊號均不需要推出商業產品。一個仔細記錄的業餘設計也能作出有意義的貢獻。它的價值在於幫助另一個人以較少不確定性,讓一台機器持續運作。
Dave Plummer RAM 專案已提供一個具體案例,用以檢視 AI 在工程中的角色。助手曾在開發期間提供協助;報告的結果則取決於製作、除錯及操作實體硬件。餘下的問題在於,該結果是否已獲足夠完整測試,以及其他人能否輕易重現。
隨設計檔案、測試說明及獨立製作陸續出現而加以追蹤。對任何考慮在技術專案中使用 AI 協助的人,應保留同一條證據鏈:需求、建議的實作、觀察到的行為,以及修正。Plummer 報告的 Unix 啟動為這個故事提供了一個有用里程碑。可重現的電路板及透明的驗證,將為其他修復者帶來可為自身機器評估的成果。當下一次更新到來時,請問一個具體問題:它有否令其他人更容易驗證及重現這個可運作的結果?


