有可能一人搞定CPU、操作系統、編譯器嗎?
?大家好,我是小風哥。
計算機是非常復雜的系統,涉及CPU、內存、編譯器(編程語言)、操作系統等等,那么有沒有可能一個人同時搞定整個計算機系統呢?
答案是肯定的,而且是早在1976年就搞定了,從頭到尾一人搞定整個計算機系統,包括硬件以及軟件,這臺計算機系統長這樣:
打造這臺計算機的就是圖片中右邊這個家伙,天才工程師Steve Wozniak(以下簡稱沃茲):
正是他和喬布斯一手打造了當今的蘋果帝國。
1975年3月5日,在加利福尼亞門洛帕克市Gordon French(一位美國的計算機程序員)的車庫里家釀計算機俱樂部(homebrew computer club)舉行了它的第一次聚會,首次參加這個聚會的沃茲深受啟發,并開始立刻著手設計自己的計算機系統(立刻行動的重要性)。
在沒有Github以及Google的年代里,沃茲單槍匹馬就搞定了整個計算機系統并將其在俱樂部里展示了出來,甚至還幫助俱樂部中其它成員打造出了自己的計算機系統(開源精神就是這么來的?)。
有了天才的工程師然后天才的產品經理喬布斯出現了,喬布斯決定售賣沃茲制作的電路板,為了資助他們創建的小公司,喬布斯賣掉了他的車,沃茲賣掉了自己的HP-65計算器,很快新公司開張并接到訂單要求他們制作完整的計算機系統,這就是Apple I。(這大概就是蘋果售賣完整計算機設備基因的起源,你會發現蘋果公司出售的都是軟硬件完整的計算機系統,它既不會單獨售賣硬件也不會單獨售賣軟件)
讓我們來看看這臺計算機的配置。
沃茲在設計最初使用的是摩托羅拉6800處理器(好吧,CPU不是自己設計的),搭載了4K內存(內存也不是),軟件方面則是沃茲自己實現的BASIC解釋器,好吧,實際上apple I中并沒有操作系統,有的只是一個所謂的machine language monitor,這在1970s到1980s年代的計算機上非常流行:
machine language monitor類似于現在的shell,可以讓用戶輸入命令并查看或者修改內存中的內容,沃茲實現的monitor有三個功能:可以讓你以16進制來編程、檢查一段代碼的內容或者在特定地址運行一段程序,該monitor程序運行在一段256字節大小的內存空間中,你可以把monitor看做那個年代的操作系統。
1976年7月,apple I開始以666.66美元的價格開始售賣,因為沃茲喜歡重復的數字(666的鼻祖),這款計算機設備售賣一年后讓位給了apple II,apple II讓蘋果公司家喻戶曉(美國):
又過了幾十年后劃時代的iPhone發布,蘋果享譽全球并成為世界上市值最高的企業。
可以看到,即使是在1970年代計算機發展初期,Woz也沒有自己動手設計CPU以及內存,而是采用現成的處理器與內存,你需要知道的僅僅是如何對該處理器進行編程,然而即使是這其中看似簡單的一項可能就會花費你幾周的時間,而搞定一個處理器尤其是可以商用的處理器絕非玩具處理器可比,如果你自己實現的簡單處理器是這樣一座橋的話:
那么商用處理器就是這種橋:
你可以說這都是橋,但這基本上就是兩個不同的物種,商用處理器中的設計、實現、測試、調優、debug等等任何一項拿出了絕不是一個人能搞定的,其它的像內存、硬盤、SSD等等皆是如此,完成這些后等著你的還有操作系統,同樣,商用操作系統與教學或者玩具操作系統也是云泥之別。
因此現代計算機系統打造更像是搭建積木,將現成的軟件和硬件調試好后組裝起來,即使對于富可敵國的蘋果來說也是近兩年才搞定桌面端處理器,在此之前依然要依靠intel。?