第三卷
第七章 重組
況且,4004代表了1971年的半導體技術水平,但不見得是最高水平。就在發布四個月後,1972年3月,德州儀器就推出發布了8位微處理器。然後兩家公司又打起了官司,最終結果是,微處理器的專利歸Intel所有。
「雖然如此,但是指令寄存器和其他寄存器一樣,都是四位的。」法金解釋,「故意留著一半不用,何必呢?」
由於最終售價要求限制在1000美元左右,所以成本應該在800美元左右。范含對於這個產品沒有太高的要求,反正根本目的是讓微處理器生產線運轉起來,財務上只要不賠本就行。
至此,在七十年代叱吒風雲的UFO體系正式形成。
那時范含手快,做實驗三兩下就搞定所有必需數據,頭一個搶到計算器,五分鐘不到就都算完了。剛收拾好東西,大部隊就殺到了,為數不多的mm使用大傢伙,剩下的gg們只好捏著文曲星鬱悶地按呀按呀按,按了好半天。
是金子就會閃光,法金雖然進公司最晚,表現卻最突出,現在已經隱隱約約成為硬體研發部門的領軍人物了。
經過和奧爾森商量之後,范含決定把所有與兩人相關的業務進行重組。
不過,范含回來的這個年代,比「英雄輩出」的時代還要早一截。
在Minix上面,用了九個元素的短整型數組,前面七個是直接索引,如果文件大小在7k以下(Minix文件系統的一塊是兩個扇區,1024位元組),可以快速的直接訪問。第八個是一次間接索引,其指向的塊記錄了其他塊的索引;第九個是二次間接索引,顧名思義,就是記錄了指向其他記錄了指向其他塊的索引的索引。
「首先為了表示每個輸入的加數,就需要四位。」傑瑞說,「對外的數據線就是四位的。」
「可是也沒見你問啊!」范含說,「我以為你早就知道了呢。」
設計中,存儲的函數可以使用四個變數:X、Y、Z、W,這是為了和表示十六進位數的a-f區分開。所有面板上面的函數按鍵都可以在編程中當作操作符使用,甚至包括了數制轉換。輸入時可以使用括弧改變運算順序,括弧可以嵌套……總之,幾乎所有手算能做到的地方都考慮到了。
各類Unix系統就不存在「千年蟲」問題,取而代之的是「2038」問題。
「怎麼那話又繞回來了!」奧爾森說,「你就直截了當地說,『Unix86』到底是什麼意思?」
「雖然還沒有接到正式的律師函。」法金說,「不過德州儀器揚言要起訴我們侵權。」
「你還有臉笑!」奧爾森說第一個單詞的時候口氣還有點兒不高興,到了最後也忍不住笑出聲來。
既然自己申請的是微處理器專利,並沒碰「微型計算器」,看來這事還有的商量。
「教過。」奧爾森說,「上次我還用過呢。」
業內人士對於這些問題多半是很清醒的,除了一些舊代碼和老式的資料庫應用之外,影響其實有限。當然,即便如此,解決這個問題也仍然需要很大代價。畢竟熱力學第二定律在那兒擺著呢:打爛一箇舊世界容易,偉人們大手一揮就能辦到,相比之下,建立一個紅彤彤的新世界,恐怕不那麼簡單。
「啊?」范含大吃一驚,「不會吧?」
「實際上是十五以內加法。」法金描述。
「沒錯。」范含說,「我再教你一個。」
「為什麼?」
范含最後一次見到台式計算器還是在大學裏面上物理實驗課的時候。寫實驗報告需要觀測一堆數據,然後根據幾個公式算出一堆結果填進表格。實驗室配備了幾台八十年代初採購的惠普「可編程函數式計算器」,供學生們使用。雖然很多學生手頭都有袖珍計算器,甚至就連學外語用的文曲星附帶的計算功能都比這個台式的強,但是幾乎每個人都在搶這幾台大傢伙用。原因很簡單,就是「可編程」。
「真的。」范含特誠懇地回答,「你看我什麼時候撒過謊?」
結果顯示出來了:14。
范含小的時候,正是八十年代,當時中國的電視頻道裏面到處都是日本公司的廣告。給人印象最深的就是卡西歐(Casio),簡直鋪天蓋地。實際上,當時的東芝、日立、松下的廣告攻勢一點兒也不弱,只不過由於這幾家直到後來仍然在大做廣告,而卡西歐卻銷聲匿跡了,所以才給年輕的自己留下了深刻的印象。
正是因為4004本來就是為了計算器設計的處理器,所以內置了許多數學運算。實現這些運算的電路都比較複雜,不過好處是基本上已經定型了,除非出了Bug,否則差不多永遠都沒有修改的必要。把這些東西都塞進晶元裏面,才導致湊足了兩千多晶體管。去掉這些之後,剩下的部分估計以如今的集成度就能搞定。
長度用兩個位元組表示,單個文件最大不能超過64k。就現在而言,作為權宜之計,還是比較恰當的。畢竟目前一個硬碟也只能放下四個這種文件而已。
奧爾森正催著手下人寫內核,根據協議,在法律上這些人都算做是FOR臨時雇傭,這也是當初就商量好的,免得到後來在源代碼的版權上糾扯不清。
「什麼是x86?」奧爾森又問。
法金是個傳統的電子工程師,對於造晶元的工作十拿九穩,但是對於設計晶元不怎麼擅長。這就是為什麼歷史上一提起「微處理器他爸」的時候,往往只提到Hoff一個人,m•hetubook.com.com那個設計了晶元組結構的傢伙。不過法金對於微處理器的熱情還是毋庸置疑的,這也就是為什麼當摩爾宣布Intel的主要業務仍然是存儲器而不是微處理器的時候,他憤然離職成立Zilog公司的原因。
德州儀器繼續弄他們袖珍計算器,反正本來就沒用微處理器,不牽扯FOR的專利。而FOR這邊,可以造微處理器,也可以把微處理器用於計算器,就是計算器產品的體積不能小於一個標準。通過艱苦的討價還價,終於定下來一個雙方都可以接受的長寬高以及重量的下限。
那還是在1999年的時候,世界同種刊物中發行量最大的《科幻世界》雜誌曾經刊登了著名科幻作家何夕的一部著名作品:《禍害萬年在》。全文分作上下兩個部分和一個尾聲。上篇講述公元1999年底,面對「千年蟲」問題,人類在聯合國的指揮之下,通過回撥時鐘,將問題延遲了六十年,主人公之一何百夕教授帶領全球的計算機工作者一同努力,在2060年到來之際終於來得及將兩個字元的年份換成四個字元;下篇講述公元9999年底,面對「萬年蟲」問題,人類在聯合國的指揮之下,通過回撥時鐘,這一次將問題延遲了九十年,主人公之一何萬夕教授帶領全球的計算機工作者一同努力,在10090年來臨之際終於來得及將四個字元的年份換成兩個位元組的帶符號短整型;尾聲則簡略的描寫了公元32767年12月31日,已經使用了計算機三萬余年的人類面對「32768年蟲」問題時那無可奈何的恐慌。行文至此,戛然而止。
「如果沒有同音詞的話。」奧爾森強調,「既然你沒有主動拼寫,我當然會以為就是英語裏面已經有的詞。」
又是要「抓緊時間」,第幾次了?
「申請了,也批准了。」法金說,「就是……」
當初打算搞微處理器的時候就考慮到了當前技術水平,要求就是儘可能的簡單。結果到了現在,也就能算個十五以內的加法,造出來的東西說是「計算器」實在是打腫臉充胖子。
「先按一個數……」法金回答。
「哪個?」
「哪裡哪裡……」法金謙虛。
況且,這些開發成本最終是要反映到產品售價上面的。就算是為了讓自己產品的銷量擴大,也要想辦法解決這個問題。
※※※
「什麼意思?」奧爾森問。
※※※
「也對……平時說話確實不需要拼讀。」范含說,「實際上我在看到文件的時候才去翻字典查這個『Eunuch』,以前還從來沒遇到過。」
「嗯。」
除了一撮整天宣傳「末日審判」的職業傳教士,一撮炒作幾百年前江湖騙子諾查丹馬斯胡言亂語的神秘主義者,一撮唯恐天下不亂以便渾水摸魚多發文章好騙取稿費的「新聞工作者」之外,還有無數對於計算機技術了解甚少卻膽量甚大的社會活動家大放厥詞。在這種氛圍中,真正理智的聲音已經被徹底淹沒了。
※※※
看來這就是「二十以內加法計算器」了。
「不笑了不笑了。」范含板起臉,問,「你知道『Unique』的意思吧?」
然後,把FOR的軟體和硬體業務分開,分別成立「F」和「O」兩個子公司。在公司名稱上,范含選擇了「Fuxi」(伏羲),奧爾森則選擇了「Odin」(奧丁)。以前FOR的相關工作人員都直接分配到這兩個公司中,FOR本身只剩下了個空殼子。
「好吧,那我就接著搓神燈吧。」范含答應下來,「不過首先得花幾天工夫琢磨一下用戶需要什麼。」
「什麼?」
「怎麼用啊?」范含問。
到了最後,范含索性逆向思維,盒子是盒子,計算器是計算器。FOR和一家傢具廠簽訂了協議,訂購了一大堆做工精量的儲物櫃,尺寸反而大了不少。而真正的計算器甚至比德州儀器的產品還要小,用雙面膠條貼在櫃門上。這時候儲物櫃的成本已經超過計算器了,用戶多半都是奔著這個柜子來的。買回去之後摘下計算器就能用,計算器倒成了贈品。
范含自己擔任Fuxi的總裁,奧爾森任副總。而在負責硬體業務的Odin公司中,由奧爾森任總裁,范含任副總。接著,在奧爾森的努力下,DEC答應購買一定的Odin股份。這下子合作就算是名正言順了。
磁碟還是照貓畫虎的分成引導塊、超級塊、i節點塊、文件信息塊和數據塊,這些沒有必要改。不過文件信息不需要那麼多,於是儘可能的精簡了一些。
這種做法自然遭到了德州儀器的起訴。
比如……眼前的這塊「板磚」。
1966年底,原型機通過測試,不過真正上市卻是在1971年。將近五年的時間都是在解決一些小型化相關的具體問題。在范含看來,實際上這就是由於對摩爾定律無可奈何,只好坐等技術進步而已。
「不錯嘛!」范含言不由衷的稱讚幾句,「裏面的東西就是那個兩位的微處理器?」
看來這些員工並不是應聲蟲,像大多數日本人那樣,對於上司明顯不合理的命令也會不折不扣地執行。不過這也是日本的環境使然,干好了是上司的功勞,干砸了也是上司承擔責任,自己盡到了部下的義務就可以了。
「可是如果不做,VAX項目根本不會上馬。」奧爾森解釋,「現在就啟動VAX項目,對DEC來說是一場賭博。雖然hetubook.com•com我是百分之百相信你,但是其他人,至少要看見一點苗頭,才肯同意。」
確實有點累了,今後能讓別人乾的事就讓別人去干吧,自己事必躬親的結果也不見得有多好,何必呢。
複雜度是一個整體,單純削減一個方面的工作量只會增加其他方面的工作量而已,在所有方面之間找到一個平衡才是正解。正如拿筆在紙上手算平方根,用十進位阿拉伯數字計算,幾乎人人都會。但是用六十進位的巴比倫數字和用二進位數來算,同樣的麻煩。
現在的計算器都是打字機大小,售價一千二百美元。FOR的財務部門就有兩個這種東西,搬來搬去很不方便,還要插電源。不光又大又貴,功能還挺弱,只能做四則運算和一些簡單函數。
另外,學術自由已經成為了全球共識,沒誰敢規定寫手就不能研究計算機。
「其次,為了表示十五以內的數,至少需要四位。」湯姆說,「內部用了一個四位的寄存器。」
開始的時候還不明顯,一個大木頭盒子,裏面是電路板,盒蓋上是晶體管拼成的一串「8」和一堆按鍵。
再過一陣,產品成了一個空盒子裏面灌上水泥,計算器只需要嵌在盒蓋上。這種設計當然會遭到用戶的抗議,許多人都是把計算器取下來用,盒子扔掉。
實際上這個系統有點像最初的蘋果MacOS,每個進程啟動的時候都向內核申請一塊固定大小的內存,申請失敗就不能運行。反之,申請成功的話,內核就允許其「三規」:在規定時間到規定地點完成規定動作。
「千秋萬載,一統江湖!」
「和這個有點關係。」范含開始瞎編,「最初我想好的名字是叫『Unix86』的,對,後面跟兩個阿拉伯數字,一個八一個六。」
「指令長度如果只用兩位,那最多就只有四條。」傑瑞說,「為了這個目標,我們去掉了減法的功能,只剩下複位、賦值、加、取值,剛好四條。」
這是因為在Unix系統內部,日期和時間是合在一起表示為一個值的。具體說,是採用四個位元組32位帶符號整數表示從1970年1月1日0時開始流逝的秒數。2的31次方秒大約是68年,所以到了2038年,也面臨死線。
這就是說,德州儀器的技術水平完全可以應付微處理器的開發和生產,歷史上沒有獲得專利僅僅是由於晚了一步而已。但這次,通過談判,FOR只是了解到了德州儀器正在進行的袖珍計算器項目。這個范含應該早就了解,僅僅是一直沒有想起來而已,實際上是一無所獲。相比之下,德州儀器卻明明白白的知道了FOR的微處理器計劃。
這個計算器允許輸入一個單變數函數存起來,以後使用到這個函數的時候,先輸入變數值,再按一下函數鍵,就直接可以得到最後結果。
不過沒辦法,不用這個東西,就只能拿張紙手算,或者拉計算尺,打算盤。
在如今,沒有程序員能買得起計算機,大家的條件都是一樣的,想成就事業就必須通力合作。等過了十幾年,開始有程序員能買計算機了,那些「先行者」們自然就成了英雄。再過十幾年,到了每個程序員都能買得起計算機的時候,大家的條件又都一樣了,再想成就事業又回到了必須通力合作的狀況。
還是那個老問題,到底應該領先時代多少,半步還是一步……或許這就是「歷史唯物主義學家」嘴裏那所謂的「螺旋式上升」的發展規律吧。
為了一塊晶元的定型,在開發過程中往往會用掉百八十塊PROM。范含屢次對工作人員強調,你們的時間成本比這些PROM的成本要高,儘管放心大胆地用。自己是這麼說的,這幫人也是這麼做的。但是隨著代碼量的增加,仍然覺得難以承擔,不光是成本,時間上也消耗太大。這個問題已經明顯的成為了硬體開發的瓶頸。
雖然FOR和德州儀器長期以來合作愉快,關係良好。不過交情歸交情,法律歸法律,美國人在這一點上還是分得很清楚的。
和4004相比,現在FOR的這個東西簡直就是個玩具。如果自己不抓緊時間,很可能會讓德州儀器率先推出正經的微處理器。那時候再打起官司來,專利判給誰實在不好說。
「真的么?」奧爾森還是有點懷疑。
最後達成的協議是,FOR不再生產袖珍計算器,而德州儀器也既往不咎。
范含這次按了一個「8」,然後開口問,「最後按等號是吧?」
所謂「千年蟲」問題,指的是由於原來DOS系統使用兩個位元組存儲年份,使得2000年會被當作1900年對待從而引發的問題。這兩個位元組,實際上是兩個字元,比如1968年會被存儲為字元「6」和字元「8」,而並不是數字「六十八」。
「就是咱們的這個處理器架構呀?」范含回答,「以後會慢慢形成一整套處理器系列的。」
幾個月前剛拿內存技術從IBM那裡換來了磁碟技術,現在第一批溫徹斯特硬碟剛出廠,容量256KB……對,是「K」,不是「M」,也不是「G」……確實慘了點。
「怎麼?不是VAX才需要麼?」范含奇怪,「現在這樣的機器就是做出來也不能算『殺手』。」
「當然就是『八荒六合唯我獨尊』的意思了。」范含總算有急智,找著一轍,「這個『8』就是『八荒』,『6』就是『六合』……我記得教過你這個成語吧?」和-圖-書
進程調度也不複雜,除了Shell之外,別的進程都扔進唯一的一個循環隊列裏面,輪流執行。這種「協作式多任務」的特點就在於要求所有的進程都不能有「人品問題」,即「佔著茅坑不拉屎」。只要暫時用不著CPU,就必須主動引退,讓其他進程執行。
在所有的標準Unix和類Unix系統裏面,都包含一個工具:Win32項目中也有這麼一個軟體包,這次FOR的「太監」操作系統中也實現了這個工具。它的用途就是接受用戶就像手寫那樣輸入的中綴形式的表達式,計算后給出結果。
用硬體實現的話,其實就是個簡單的編譯器,先把表達式解析成一個操作樹,然後生成一串指令序列緩存起來。等到用戶給變數賦值之後,像批處理那樣順序調用指令,得到最終結果。
「申請專利了么?」范含趕緊問。
二十世紀末,就因為這個原因,全世界著實恐慌了一陣。結果,除了一些小問題,基本上算是平平安安。從某種意義上講,「千年蟲」問題是炒作出來的問題,並不是真得那麼嚴重。
該操心的都操心了,剩下的就看那幫程序員了。在整個系統沒完成之前,自己還能輕鬆一陣子,這段時間正好可以拿來琢磨琢磨別的。
在如今,想把Hoff挖來是不可能的,因為這人已經在Intel上班了。那只有想別的辦法補充知識結構上的缺陷。想了一會,終於想起來了,原來DEC的實力也很強,只不過由於關係太近,一直以來都忽略不計了。
范含照樣按了。
「唔……這倒是。這個系統的設計確實很靈活。」奧爾森承認,「是有那麼一點『八荒六合唯我獨尊』的架勢……這個成語我用得沒錯吧?」
聽完介紹,范含鬆口氣,沒什麼大不了的。本來還以為微處理器被別人捷足先登了呢。
眾人表示沒問題。
這類問題的解決方案沒等到2000年就已經提出來了,就是採用雙精度浮點型表示日期/時間值,數值的意義通常是從某個起始時間開始流逝的天數。計量時間的零點,通常選擇在1899年12月31日0時,至少COM標準就是這麼確定的。范含這次的選擇卻是1753年1月1日,即目前曆法「儒略曆」正式採用的頭一個整年。
德州儀器弄出來的那個倒是真正的計算器,只不過沒有處理器,都是用專門的晶元,純粹的電路實現。
文件佔用的磁碟扇區的數量,用一個位元組表示。本來這個數量應該按照「塊」而不是扇區來統計,一個塊可以包含多個扇區。不過現在的磁碟空間沒有可供浪費的餘地,每個扇區就算一塊了。後來PC時代的硬碟一個扇區都是512位元組,而現在只能做到256B。
現在用不著這麼煩,范含考慮再三,決定只用兩個一次間接索引,兩個256位元組的塊,剛好可以儲存256個索引用來指向256個數據塊,畢竟最大的文件也只需要256塊就夠了。
范含發現,對於如何編寫「舉止良好」的代碼這一點上,根本用不著諄諄教導。現在的程序員一個個覺悟都挺高,主動「勤儉持家」,恨不得一個時鐘周期分兩回用。看來沒什麼好操心的了。
必須承認的是,正是這種「電腦夢」引誘著無數熱血青年前仆後繼,投身於信息產業大潮中去。等到這股熱乎勁過去,一些反思的觀點開始出現,不外乎「時過境遷」,「如今已經沒有個人英雄主義的土壤」什麼的。
為了以後兼容起來不麻煩,還是要儘可能的照顧方方面面,該浪費的地方就是要浪費。
既然雙方專利沒有交集,那德州儀器的「揚言」也就是咋呼而已。可以理解,畢竟袖珍計算器全球累計銷量過億,這個項目確實給德州儀器帶來了豐厚的利潤,難怪從開發之初就嚴格保密。在這之後,這個吉爾比又發明了數字手錶,就是國人俗稱「電子錶」的東西。雖然這東西不如石英錶甚至某些高檔機械表走時精確,不過仗著便宜,人人都用得起,又一次賣瘋了。
不過這回還是要負責到底的,范含把法金他們找來,談了談桌面計算器的構思。
過了一段時間,隨著半導體技術的提高,電路尺寸縮小,元器件已經用不了一整個盒子了,但是還是得做那麼大,為了滿足重量限制,不得不加入一些鐵塊用於配重。
※※※
「哦?」范含詫異,「不是說好先造個兩位的玩玩么?」
遺憾的是,並非所有人都是「業內人士」。
真正的第一塊微處理器,Intel的4004,就是為了日本某家公司製造計算器的業務而定做的。外部數據線是四位,內部則是八位,共有46條指令,兩千三百多個晶體管。這樣的東西,以目前的水平還是造不出來的。
Minix文件系統只保留文件的最後修改時間一個值,沒有創建時間、最後訪問時間之類的,這次范含也只用一個。只不過,這一個值就佔了八個位元組,雙精度浮點型。公司裏面的其他人都覺得這次是過份小心了。
文件類型也省略了不少,除了標記是普通文件還是目錄,還增加了兩種設備文件的標記:「字元設備」和「塊設備」。其他的如「符號鏈接」、「命名管道」和「套接字」,既然暫時用不到,那就不管。
德州儀器看到了這個巨大商機,在六十年代中旬勒令發明集成電路的吉爾比發明一種袖珍計算器,爭取能用電池供電並且能放在口袋和-圖-書裡。在當時這是德州儀器的最高機密,就等著一炮打響大發橫財。
「我猜也是這樣。」奧爾森說,「現在你該解釋一下為什麼要造這個詞了,文件裏面相應的部分都要修改。」
「知道,就是OnlyOne。」奧爾森回答。
所以,這個內核的內存管理模塊相當簡單,只要把主內存當作一個堆,能維護好就的了。
「呼……這就好辦了。」范含長出一口氣,「這個操作系統呢,應該是高度可移植的,所以就去掉了後面表示硬體體系的『86』,只叫『Unix』了。」
合作是肯定的,但不能不明不白的合作。
「為什麼非得叫x86?」奧爾森繼續問。
據說,二十一世紀的許多程序員年輕的時候都有過「生不逢時」的感慨,至少范含自己就曾經有過這樣的想法。如果混在那個「英雄輩出」的年代,估計也有機會像BillGates那樣成為世界首富。不說老外,就是內地的求伯軍,也不是單打獨鬥成就一番事業么?
勉強用兩位的架構實現不是不可以,但是他們三人剛才的話說得已經很明白了,得不償失。再說,那樣造出來的東西還必須附加一大堆外部電路,恐怕就不能算作是「通用處理器」了。
沒辦法,為了把「千年蟲」問題扼殺在萌芽階段,眼下付出點代價還是值得的。
范含對於自己身後的評價還是很在乎的,畢竟那個時代才應該是自己的時代,一想到用自己的名字替換自己年輕時候經常掛在嘴邊的一幫「反面角色」,就絕對無法容忍。
在前一陣子指揮員工寫那堆工具的時候,有個意外的驚喜。
「呃……不是。」法金回答,「處理器是四位的。」
這樣一來,大部分內存管理的工作就都由應用程序自己負責,在自己那一畝三分地上面怎麼折騰都行,就是不能越界,否則殺無赦……其實內核只要能做到這一點就肯定已經比DOS強得多了。
交給法金他們的任務還有一個,就是儘快發明出「EPROM」(Electrically Programmable Read-Only-Memory,電可編程只讀存儲器)。
「就是運行在x86體繫上面的Unix。」范含說。
著名的Alpha處理器就是出自DEC,後來在DEC解體前,包括Alpha小組的整個半導體部門都被Inel收購,這就在很大程度上提高了Intel的處理器設計能力。至少「安騰」處理器就借鑒了許多Alpha的技術,這一點Intel自己也承認。
考慮當前條件,太過分的要求范含也沒提,只要能勉強實現「協作式多任務」就行。
摩爾定律只是對於發展態勢的描述,並不是自然法則;其成立的前提是業界相關公司都在馬不停蹄的努力,而不是乾等。為了儘快實現目標,使Kervin晶元早日出現,FOR必須加大投入增派人手;為了不造成財務惡化,不打擊員工士氣,現有成果必須要賣將出去,儘可能的轉化為大把的票子。
「你怎麼不想想這些『太監們』能幹什麼?」奧爾森問。
首先就是FEEE,當前的股份中,范含佔50%,奧爾森佔21%。經過簽字蓋章一大堆文件之後,原本獨立的FEEE變成了FOR的下屬子公司,FOR佔據42%的股份,范含個人還剩下了29%。
由於物理實驗用的公式都比較複雜,如果拿普通計算器算,算一遍要按鍵許多次。由於計算器只能存一個臨時變數,很多時候還必須把中間結果先抄出來,等到下一步計算的時候再重新輸入。怎一個麻煩了得?
為了遵守這個協議,FOR的產品不得不採用一些可笑的措施。
恐怕這次又是自己的問題,范含想,不能怪他們「抗命不遵」。
和范含以往的風格一樣,在東拉西扯的一堆廢話中巧妙的混入了自己所了解的EPROM原理,估計很快就能看到成果了吧。
這一部分設計的時候是范含親自操刀,主要參考了Minix文件系統1.0版,用來應付「極低端」配置還是可以的。不過,感覺比較奢侈的地方仍有很多,這些就只能自己動手豐衣足食了。
文件系統這回也打算實現,因為機器的標準配置方案裏面有了可以隨機訪問的外存。
「嗯……這個名字的事就這麼算了。」奧爾森說,「操作系統算是有了,你該考慮那一堆殺手級應用了。」
「確實是生造的。」范含承認,「不過這個發音很標準,完全符合發音規則,直接拼就能寫出來。」
整數部分很好理解,小數部分也很好理解,0.5表示半天,不就是12個小時么?採用這種方式,能夠以微秒的精度計算宇宙年齡,自然一勞永逸。
另外,文件許可權也只需要記載所有者自己的「可讀」、「可寫」、「可執行」許可權就成了,「rwx」只用一組,三位。真正的Unix上面則需要三組,每個文件除了主人自己的許可權之外,還要記錄工作組內其他用戶和全體用戶的許可權。
「兩個兩位寄存器和一個四位寄存器是一碼事。」法金解釋,「沒有本質的區別。」
應訴本身很輕鬆,因為FOR雖然沒有必勝的把握,但是有說服法庭各打五十大板的把握。不過,商業定律「和氣生財」恰到好處的發揮了威力。為了不把關係鬧僵,FOR的律師稍稍拖延一下時間,地下交流交流,德州儀器就決定撤訴,改庭外和解了。畢竟這www.hetubook.com.com時候這個領域真正的競爭對手是日本廠商,沒必要揪著FOR不放。
「按加號……」湯姆提醒。
「用得著么?」范含口氣堅定地反問,「除了硬體限制,還有什麼是這個系統幹不了的么?」
對了,德州儀器?
這次FOR開發微處理器,就是造一個計算器當作例子,好證明自己的發明有用。恐怕德州儀器揚言的「侵權」指的就是這個。
「很好很好,幹得太好了!」范含大肆讚揚三人,「這才是積極主動的工作態度呀!」
卡西歐在日本只能算是二流公司,當年在中國賣的東西只有三大件:電子錶、電子琴和計算器,正好是那時候中國人剛剛買得起的東西。隨著電子錶逐漸被淘汰,電子琴鬥不過雅馬哈,計算器鬥不過夏普,自然就偃旗息鼓了。
一個長方形的木頭盒子,下方有十三個按鍵:0-9、「+」、「=」、「Clear」,還有一個開關;上方是用十四根發光二極體拼成的兩個「8」字。
限於當前的技術條件,不可能把所有模塊都集成在微處理器內部,肯定要有個取捨。那些數學運算的代碼,當然是首先摘出來的部分,做成專用晶元放在旁邊。除了倒騰數據,調度指令之外,剩下的必須又處理器完成的工作只剩下一個:解析函數表達式。
這樣就有八個位元組了,這是范含省吃儉用的結果,好像不能再少了。
由於是單用戶,所有者的用戶標識和組標識當然是沒必要了,鏈接數也不需要,因為現在還不打算支持符號鏈接(您就理解為「快捷方式」吧)……都去掉。
范含就有一個卡西歐的函數型計算器,如今設計桌面計算器的功能的時候就打算用它作為原型,順便參考一下Windows自帶的那個「計算器」。
「用兩位數據線分兩次讀也可以,不過外部電路就要複雜一些了。」法金解釋,「對於這樣的應用來說,實在划不來。再說難度也不大,目前的技術完全能辦到。」
談判倒是很簡單,大家坐下來把話一說,握握手就算完了。
「呃……」范含輕輕抽了自己一耳光,又說漏了,不過還是強打精神圓謊,「實際上,呃,我是先想好『Unix86』這個名字,呃,再給拆成『Unix』和『x86』兩部分的。」
「再按一個數……」傑瑞說。
「試過了。」湯姆回答,「不行。」
「原來是這麼寫的呀!」奧爾森不高興地說,「你當時如果說一下拼寫,我就不會弄錯了!」
還有一部分應該用來記錄文件所佔據的所有磁碟塊,這個稍微費點勁。
「我怎麼會知道?」奧爾森說,「明明是你生造出來的詞。」
「呵呵……真是不好意思。」范含大笑,「真沒想到你的人居然會想出那麼多借口來闡述命名為這個『Eunuch』的重要意義。」
「如此說來,指令、數據線、字長都是四位,當然算四位處理器了?」范含總結。
雖然不知道其他同行們的反應,不過在記憶里,當時的同學們以及後來的同事們看到此文的時候,無不捧腹狂笑。直到今天,每當想起這篇文章,范含臉上的笑容仍然燦爛得有如那天邊的明月。
之所以堅持要造計算器,小個的不準造也要造大個的,就是為了讓新誕生的微處理器有銷路有市場。目前的技術水平下,除了計算器也沒別的用途了。可以說只有到了Kervin型微處理器推出,性能上才足夠拿來干點別的。
這兩部分一共用了一個位元組。
最近越來越覺得力不從心了。幾乎所有的主意都需要自己出,出了主意之後還要自己操心來實現。好幾回都想「別這麼著急」,先緩緩再說,但每次還是緩不下來。不為別的,就為了不願意看到二十一世紀時自己的FOR取代了歷史上施樂的位置成為業界笑柄。
本來以為,少了三十多年的功夫,足夠自己偷懶,可以優哉游哉的過一輩子。到頭來,還是要不停地趕時間,為了搶在「競爭對手」和「潛在的競爭對手」之前,花費的精力恐怕一點不比他們少。
那一陣兒,真是鬧得慌。
「對。」
這一次范含就是打算讓FOR來造這樣的計算器,既然產品不能縮小尺寸,那就肯定要增強功能,保證有市場。不過,需要的處理器只能另開張,手頭這個「申請專利專用處理器」是不用考慮了,除了證實其本身的法律地位之外沒有別的用途。
范含按了個「6」。
在最終的產品裏面,存儲代碼肯定使用「ROM」,在工廠裏面直接燒好就行。但是在開發中,光用肉眼走讀代碼檢查不出來所有錯誤,必須要隨時調試才成。這時候就不能用ROM了,只能用「PROM」(Programmable Read-Only-Memory,可編程只讀存儲器),寫一次,燒一塊,測試一遍。不過PROM也有個問題,就是只能燒錄一次,然後就不能更改了,用完了就只好扔掉。
1969年,日本的Busicom(商事)公司就是為了製造桌面計算器,委託Intel設計晶元。當時的Intel研究員Hoff產生了微處理器構思,並且說服日方採納了他的方案。日本人付了十萬美元的定金,並且獲得了獨家採用的權利。沒想到Intel方面卻拖延了進度,日方大發雷霆,要求退還定金。Intel退回了六萬美元,卻要回來了賣給其他客戶的權利。當年讀史至此,范含掩卷長嘆:說不定丫Intel是故意的。