7月15日消息,真手造完整一位愛好者使用了老式內(nèi)存芯片和8-bit時代的搓C純手邏輯元件,打造出了一整個處理器,舊芯接行不是片打開發(fā)板,不是工焊微控制器,而是匯編一個功能完全的、能夠執(zhí)行指令、代碼進行內(nèi)存尋址的真手造完整CPU。
這位名叫Majsterkowanie i nie tylko(簡稱MINT)的搓C純手極客愛好者,歷時三個月完成了這個名為EPROMINT的舊芯接行項目。
MINT從一個簡單的片打?qū)嶒為_始,利用過時的工焊EPROM內(nèi)存芯片控制小型外部系統(tǒng),例如PWM調(diào)光器或消息顯示器。匯編
他發(fā)現(xiàn),代碼如果內(nèi)存可以模擬基本邏輯,真手造完整那么構(gòu)建一個完整處理器的思路或許并非遙不可及,于是,他一頭扎進了電路圖和經(jīng)典8-bit CPU(如Z80)的架構(gòu)研究中。
最終,他成功打造了一臺功能齊全的CPU,看起來不時尚或不精致,但它根據(jù)真實的指令集運行,執(zhí)行自己的匯編代碼,并像商業(yè)處理器一樣響應硬件中斷。
項目從最基本的算術(shù)邏輯單元(ALU)開始,最初的原型因不可靠而被廢棄,后續(xù)的版本則便于調(diào)試。
隨后,他又增加了內(nèi)存接口、地址總線控制器(由第二個ALU驅(qū)動)以及控制邏輯,后者負責解碼操作碼并協(xié)調(diào)整個數(shù)據(jù)流。
軟件部分同樣是從零開始編寫的,近2000行代碼定義了處理器如何處理指令、優(yōu)化數(shù)據(jù)流動,并創(chuàng)建了測試程序。
這些代碼是基于早期電路板的定制開發(fā)工具編寫的,其指令集甚至超越了老式CPU所能做到的,包括乘法、除法、三角函數(shù)計算甚至位序列處理等操作。
當所有模塊連接完成后,CPU首次通電,電流為250毫安,經(jīng)過測試,它不僅能運行閃爍的LED程序,還能在檢測到中斷時點亮第二個LED,能夠像真實處理器一樣處理外部事件。
最終,這臺CPU由四塊全尺寸的穿孔板組成,重達500多克,如果將所有電線拉直,總長度超過1公里,所有邏輯運算都通過預編程的內(nèi)存實現(xiàn),數(shù)據(jù)路由和指令解碼等功能均依賴于此。
與現(xiàn)代芯片不同,這臺CPU的執(zhí)行路徑完全暴露,每個時鐘周期、每個操作碼以及所有寄存器的變化都清晰可見。
為了展示這臺CPU的功能,MINT將其連接到一臺VFD顯示屏上,并編寫代碼播放《黑客帝國》的片段。
本文來源:http://www.cx2088.cn/news/93d24299664.html
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容,請發(fā)送郵件舉報,一經(jīng)查實,本站將立刻刪除。