熊蓋站 - 首頁

  Plurk Twitter    

» 您尚未 登入註冊 | 說明 | 娛樂中心 | 點歌 | 聊天留言 | 最新 | 精華 | 論壇 | 資訊 | 首頁 | 影音模式

以文本方式查看主題

-  熊蓋站 (http://localhost/phpwind//index.php)
--  硬體資訊 (http://localhost/phpwind//thread.php?fid=20&page=9)
--  地球最強DIY!CPU也可以用純手工打造[圖] (http://localhost/phpwind//read.php?fid=20&tid=13272)


--  作者:kof
--  發佈時間:2005 09 19 3:25 PM

--  地球最強DIY!CPU也可以用純手工打造[圖]


強!用集成電路手工打造CPU
  在如今越來越靠程序化、流水線作業來完成生產的製造業中,想找一件手工打造的產品,真是越來越難了。
  好在當今社會中,還是有一些強人在孜孜不倦的在完成著心中的『完美DIY』夢想。因此也使我們多了一些大開眼界、崇拜和嚮慕的機會。



  看看上面這張圖,究竟是個什麼東東呢?可能有人會說,這不過是個大學生用的實驗儀器吧。但細心的朋友則肯定已經看到這個東西下面的『Magic-1 Homebrew CPU』字樣了。
  難道這真的是一個CPU?請趕快閉好你張大了的嘴巴。讓筆者來告訴你答案:的確是!這是一個名字叫Bill Buzbee的朋友用200多塊74系列的TTL集成電路通過純手工製造的CPU。
  這個神奇的Magic-1,就是由一個名叫Bill Buzbee的傢伙手工打造的CPU。而Magic-1也是基於這個CPU製造的計算機的名字。有意思的是,『製作Magic-1的念頭是在一次午餐中冒出來的』,Buzbee說。
  Buzbee是一位編譯器作者。但他為自己不熟悉CPU的實際工作而感到鬱悶。因此想到了親自動手來作一個CPU。Buzbee在大學時候沒有學過任何電子類的課程,而且對於晶體管、電阻、電容等也只是一知半解。不過他的朋友Ken想到有一本老雜誌曾經介紹過如何使用TTL集成電路來製作極其簡單的CPU,並推薦他去看一看。一周後,Buzbee找到了這些文章,並全部讀了一遍。然後在下一次午餐上,Buzbee對Ken說起決定自己打造一個CPU。Ken說:『為什麼不呢?』於是,Bill Buzbee的Magic-1項目拉開了序幕--

很強!純手工CPU製造編年大史記


  2001年12月6日 Buzbee開始寫項目日誌,並為自己制定了一張艱難但還算樂觀的日程表

  2001年12月18日 完成錯誤處理和中斷機制的基本設計

  2001年12月29日 完成微代碼的第一輪設計

  2002年1月6日 完成了Magic-1模擬器,可以對調用/返回指令序列進行跟蹤

  2002年1月8日 模擬了Fibonacci函數,並豐富了軟件接口約定

  2002年1月13日 Magic-1彙編器(qas)成形

  2002年1月18日 決定是選擇大尾數法還是小尾數法表示整數的字節順序,最終選擇了大尾數法

  2002年2月28日 在模擬器中完成了頁面錯誤機制

  2002年3月9日 決定使用普通電線來進行連線

  2002年6月3日 對指令集架構進行了意義重大的改變

  2002年6月4日 用C語言編寫了Fabonacci程序並編譯為Magic彙編程序

  2002年6月22日 改用分立的數據和代碼地址空間

  2002年6月25日 設計用於多進程的上下文環境切換

  2002年7月12日 完成對微代碼的重寫工作

  2002年8月13日 放棄對rotate指令的支持

  2002年9月11日 上了Gil Smith的一堂電子電路課程

  2002年9月22日 從eBay上買了板材和外殼

  2002年的其他日子 向Ken Sumrall請教如何使用寄存器,從他那裡學到了Ohm規則

  2003年3月30日 從Jhon Doran的D16/M中得到了靈感,完成了ALU/寄存器板的架構

  2003年4月13日 完成控制板的架構

  2003年4月14日 思考前面板的架構

  2003年5月3日 第一輪架構設計完畢

  2003年5月6日 將構建環境從Linux一直到Windows

  2003年5月16日 構思新的Magic-1模擬器

  2003年5月27日 在新的模擬器上成功運行了Fibonacci程序

  2003年6月3日 完成了新的彙編器功能

  2003年6月21日 Magic架構驗證和測試用例達到了100%覆蓋率

  2003年6月23日 Alistair Roe通過email提出了Magic-1外殼的構想

  2003年8月3日 將LCC(C編譯器)一直到了Magic上

  2003年8月10日 在模擬器上成功地實現了Fibonacci程序的C語言版本 (這一天是Buzbee的生日)

  2003年8月27日 從David Conroy那裡學到了信號完整性

  2003年9月18日 決定使用普通的帶皮電線進行連接(奇怪,前面已經決定一次了)

  2004年1月3日 完成了全部的設計工作,開始製作

  2004年1月18日 Magic-1有了第一次心跳

  2004年1月26日 前面板完成

  2004年2月9日 內存板完成

  2004年2月20日 EPROM子板完成

  2004年2月26日 設備板完成

  2004年3月7日 微代碼序列成功運轉

  2004年3月9日 執行了第一條指令

  2004年3月19日 控制板完成

  2004年4月8日 嘗試發佈前期的工作

  2004年4月12日 ALU/寄存器板完成;同日被告知,發佈嘗試失敗

  2004年4月13日 Magic-1成功運行了Fibonacci程序!

  2004年4月25日 Dave Conroy的測試會話發現了不真實的內存碎片

  2004年5月3日 Magic-1能『說話』了

  2004年5月8日 運行『Sieve of Erasthones』基準

  2004年5月16日 完成了IDE接口,Alistair Roe完成了外殼設計

  2004年7月23日 發佈基本架構

  2004年9月12日 用戶模式程序可以工作

  2004年9月15日 運行『Dhrystone』基準

  2004年9月22日 使用copy-on-write實現了fork()

  2004年10月23日 Magic-1的Dhrystone得分達到了384(0.25MIPS)

  2004年10月31日 運行Colossal Cave Adventure

  2005年4月9日 Alistair Roe設計的外殼到貨

  2005年5月13日 Magic-1的硬件設計完畢

非常強!純手工CPU的廬山真面目




實物照片大曝光,已經在工作狀態……





鏤空的頂板,可以看到內部的照明藍光,非常絢麗

  學過數字邏輯和數字電路的朋友一定知道,通過使用TTL門電路,的確是能夠實現一個CPU的;筆者在大學時也曾在軟件上使用74系列芯片模擬過功能非常簡單的CPU。然而,Buzbee朋友搞得這個傢伙卻是一個功能完全的CPU,我不知該如何形容它的功能,我本想說『麻雀雖小,五臟俱全』,但是……





這小朋友抱著DIY出來的CPU,不知道心裡是個什麼滋味呢?

  這款『家釀』CPU可以支持完整的硬件地址轉換、內存影射IO和DMA,並且支持多進程,主頻『高達』3MHz;該CPU採用8位地址總線,每個進程擁有128K地址空間,其中包括32個2K的數據頁和32個2K的代碼頁,這些地址影射到22位的物理地址空間中,如果算上外部設備的地址空間就是23位物理地址空間。

重來沒有這麼強過!手工電路板特寫圖秀





ALU/寄存器板的元件面





ALU/寄存器板的連線面





控制板的元件面





設備板的元件面,注意中間有一塊鋰電池





大特寫!背面連線的局部圖

  怎麼樣?夠強的吧?這還不算什麼,這個Buzbee還用這個CPU組裝了一台微型計算機,名字也叫Magic-1。





可實現Telnet服務功能

  這台計算機包括兩個串口和一塊20M的1.3吋硬盤和另一塊30M硬盤。最讓人『乍舌』的事,這位朋友還將這台計算機做為一個Web服務器,同時支持Telnet會話(雖然只支持一個會話)。哦,還有,為了讓這個系統能夠跑起來,Buzbee還為它準備了一個C編譯器!

  編者寄語:如此強人,實在不多見!我們一定要記住他!因他的存在,我為DIY而感到自豪。


--  作者:abin
--  發佈時間:2005 09 19 5:01 PM

--  


這真的是太厲害啦


--  作者:粉嗆
--  發佈時間:2006 01 14 4:00 PM

--  


...........手會抽經ㄅ


v 最新文章        熊蓋站為自由討論論壇,所有個人行為或言論不代表本站立場。文章內容如有涉及侵權請聯絡我們,將立即刪除相關文章資料        v 精華文章

               

奇摩搜尋
完全比對 模糊比對

線上收看: 景點即時影像 | 線上查詢: 火車時刻表最上方

    Powered by 熊蓋站  Code © 2005-2017 Plurk Twitter 
讀取秒數Time 0.010635 second(s),query:3 Gzip enabled
   現在時間是 2024-12-2 18:11