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