?第三章策劃
告別了埃里克,張億誠(chéng)知道還要等通知后也沒(méi)回教室直接回了家,準(zhǔn)備先把頭腦里的幾分前世的芯片設(shè)計(jì)樣本整理出來(lái),在結(jié)合這個(gè)時(shí)代的制造工藝和技術(shù)做個(gè)比較,確定那種即能大批量制造出來(lái)又有成本和性能優(yōu)勢(shì)。
這個(gè)時(shí)代的個(gè)人計(jì)算機(jī)水平還很落后,內(nèi)存就更不用說(shuō)了,軟件也沒(méi)前世那個(gè)時(shí)候豐富,所以想建設(shè)后世那種虛擬實(shí)驗(yàn)室目前還有一定困難,不是造不出來(lái)而是就算造出來(lái)了也不劃算,功能很有限。
在專業(yè)的繪圖工具店買好直尺、圓規(guī)、繪圖鉛筆等必須的工具后直接丟到了自己那輛二手汽車后備箱,在路邊加油站旁隨便吃份快餐就回了家。
張億誠(chéng)用剛買的大型號(hào)的直尺在臥室里的書桌上比劃了下,空間很小幾乎不夠用,這是估算后得出的結(jié)論,于是打電話訂購(gòu)一臺(tái)新的超大桌子和一個(gè)密碼保險(xiǎn)箱約定下午3點(diǎn)前會(huì)送到。這些張億誠(chéng)準(zhǔn)備安放在自己的客廳里,工欲善其事必先利其器的道理他還是懂的。
說(shuō)起80年代90年代的個(gè)人處理器,目前市場(chǎng)上主要有英特爾、摩托羅拉、amd、mos、zilog等。像dec,ibm之類的也可以自己生產(chǎn)處理器,一般他們只生產(chǎn)面向服務(wù)器級(jí)別的而且與他們的主板等是一起出售所以張億誠(chéng)不做考慮他們。
要做處理器就不能不學(xué)習(xí)英特爾,英特爾的成功主要有2個(gè)原因:一趕上了這個(gè)時(shí)代的計(jì)算機(jī)行業(yè)的巨人ibm公司想在個(gè)人計(jì)算機(jī)市場(chǎng)有所作為的機(jī)會(huì),對(duì)于把個(gè)人計(jì)算機(jī)市場(chǎng)經(jīng)營(yíng)的紅紅火火的蘋果,ibm決心要從中分一杯羹所以在今年啟動(dòng)了象棋機(jī)會(huì),而為了能夠迅速的推入市場(chǎng)才決定從軟件硬件全自己生產(chǎn)到?jīng)Q定適當(dāng)?shù)倪x擇公司外的軟硬件供應(yīng)商合作,這就給了當(dāng)時(shí)開(kāi)發(fā)出16位處理器生產(chǎn)商英特爾的8086一個(gè)機(jī)會(huì),二就是在ibmpc大獲成功后建立的intel聯(lián)盟,這樣迫使英特爾一直基于cisc體系架構(gòu)的x86不斷增大自己的指令集以兼容已有的軟硬件應(yīng)用,英特爾的技術(shù)從來(lái)都不是最先進(jìn)的,他只是緊緊的依靠intel聯(lián)盟抓住了用戶需要兼容這個(gè)訴求,形成了盈利投入工藝和技術(shù)研發(fā)在盈利這樣一個(gè)良性循環(huán)。
張億誠(chéng)重重的在紙上用大號(hào)的記號(hào)筆寫上以后的研發(fā)思想。研發(fā)第一條:兼容。第二條:架構(gòu)。第三條:制造工藝。第四:軟硬件支持。張億誠(chéng)相信只要遵照這個(gè)思路一直走下去他沒(méi)有理由懼怕藍(lán)色巨人和intel聯(lián)盟。自己既然選定發(fā)展risc架構(gòu)就要先做一番細(xì)致的規(guī)劃。
risc也就是精簡(jiǎn)指令集架構(gòu)的確是一種先進(jìn)的芯片未來(lái)發(fā)展方向,問(wèn)題出來(lái)了,這種架構(gòu)具有比較強(qiáng)的專業(yè)性。由于指令集是精簡(jiǎn)的所以這些指令很簡(jiǎn)單,根據(jù)前世20-80定律:80%的工作是由20%的常用指令完成,剩下的20%的工作才是由80%的不常用指令完成,,但是指令集架構(gòu)是精簡(jiǎn)的所以就必須有個(gè)側(cè)重,這樣當(dāng)這樣一款處理器在執(zhí)行一些不常用指令時(shí)將會(huì)很慢,復(fù)雜指令集就不會(huì)存在這樣的問(wèn)題,因?yàn)閺?fù)雜指令集的所有指令在地位上都是平等的,所以比較的通用。這不是最主要的區(qū)別。因?yàn)樵谇笆?010年后英特爾也開(kāi)始往這方面靠攏還號(hào)稱采用的是最新技術(shù)。
主要的區(qū)別是復(fù)雜指令集執(zhí)行的是長(zhǎng)短不一的指令,所以在處理這些指令的時(shí)候必須要先對(duì)這些指令分割,因此在執(zhí)行單一指令的時(shí)候需要進(jìn)行較多的處理工作,而risc的指令幾乎都是等長(zhǎng)的精簡(jiǎn)指令所以在執(zhí)行指令的時(shí)候速度很快,性能又穩(wěn)定。還有一點(diǎn)在并行方面risc可以同時(shí)執(zhí)行多條指令,它可將一條指令分割成若干個(gè)進(jìn)程或線程,交由多個(gè)處理器同時(shí)執(zhí)行。由于risc執(zhí)行的是精簡(jiǎn)指令集,所以它的制造工藝簡(jiǎn)單且成本低廉。成本的低廉正是張億誠(chéng)最看重的,沒(méi)看到前世的中國(guó)靠廉價(jià)的產(chǎn)品在世界各地攻城拔寨無(wú)所不利嘛。
那么還有最有的一點(diǎn)的不同:cisc復(fù)雜指令的尋址方式種類繁多,操作數(shù)可以直接來(lái)自內(nèi)存。但復(fù)雜指令為現(xiàn)代處理器技術(shù)中廣泛使用的流水線技術(shù)引入了問(wèn)題:在微處理器中指令的執(zhí)行一般分為“預(yù)指”,“取操作數(shù)”,“運(yùn)算”,“存放”等操作。對(duì)于cisc復(fù)雜指令,他們的執(zhí)行時(shí)間各不相同(有的可在4,5個(gè)時(shí)鐘周期內(nèi)完成,有的卻需要幾十個(gè),即便對(duì)于簡(jiǎn)單指令,也會(huì)由于尋址方式的不同造成不同的執(zhí)行時(shí)間)。更糟糕的是,指令長(zhǎng)度也不一致,同一指令的長(zhǎng)度也會(huì)因不同的尋址方式而變化。針對(duì)這些指令,如何設(shè)計(jì)流水線長(zhǎng)度呢?若按最短指令設(shè)計(jì)流水線,當(dāng)碰到復(fù)雜指令時(shí)流水線就會(huì)發(fā)生中斷;若按最長(zhǎng)指令設(shè)計(jì)流水線,說(shuō)道流水線張億誠(chéng)想到一個(gè)很經(jīng)典的比喻:的一個(gè)任務(wù),或者說(shuō)指令,被分為很多個(gè)步驟完成,就跟生產(chǎn)線上裝配汽車,分成若干個(gè)零件依次安裝。而cpu的主頻相當(dāng)于流水線工作的統(tǒng)一節(jié)奏。你可以想象成主頻就是干活時(shí)候喊的號(hào)子,大家都跟著號(hào)子一步一步的干活。執(zhí)行較短指令時(shí)就會(huì)跳過(guò)某些工位,使流水線不能完全充滿。對(duì)于上述情況,以及20-80定律(80%的情況下執(zhí)行的是占指令集20%的常用指令)。多數(shù)復(fù)雜指令很少用到。當(dāng)使用高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì)時(shí),編譯器為了兼容前期設(shè)計(jì)的cpu,一般不會(huì)生成特殊的復(fù)雜指令。如果舍棄這些不常用的復(fù)雜指令,就能簡(jiǎn)化cpu的設(shè)計(jì)。這正是risc的出發(fā)點(diǎn)。
上面的原因也就是張億誠(chéng)決定優(yōu)先開(kāi)發(fā)risc的處理器的主要原因,下面又出新問(wèn)題了這就要求張億誠(chéng)必須能夠很透徹的了解這個(gè)時(shí)代的人民對(duì)于個(gè)人計(jì)算機(jī)主要有那些方面的要求,也就是他們拿個(gè)人計(jì)算機(jī)主要做什么工作,辦公、游戲、還是研究或者教育等。
請(qǐng)專業(yè)的咨詢調(diào)查公司對(duì)于張億誠(chéng)來(lái)說(shuō)消耗不起,不說(shuō)金錢方面的問(wèn)題,單是時(shí)間就等不起。要完成一次全面的調(diào)查還是群雄并立混亂不堪的行業(yè),需要的時(shí)間至少半年甚至幾年也不稀奇,最后還不一定得到準(zhǔn)確的數(shù)據(jù),要知道81年大致8月分ibm的pc就會(huì)推向市場(chǎng)促使了intel聯(lián)盟的成立,等到英特爾和微軟因?yàn)閕bm的成功而成功的時(shí)候,他們將會(huì)形成可怕的行業(yè)標(biāo)準(zhǔn),會(huì)涌現(xiàn)大量的運(yùn)行于他們產(chǎn)品上的應(yīng)用軟件,無(wú)論硬件還是軟件的豐富性都將使用戶不愿更換環(huán)境,這時(shí)候張億誠(chéng)還想獲得成功將會(huì)變的比現(xiàn)在困難百倍。
當(dāng)想到這里的時(shí)候讓張億誠(chéng)真切的感受到了時(shí)間的緊迫?!澳敲聪旅孀屛蚁劝盐业膔isc架構(gòu)的主要的幾個(gè)標(biāo)準(zhǔn)記下來(lái),然后正式開(kāi)始我的指令的開(kāi)發(fā)。”張億誠(chéng)以微不可聞的聲音對(duì)自己說(shuō)了一句。
在21世紀(jì)的芯片領(lǐng)域要開(kāi)發(fā)成功一款產(chǎn)品這里指的是技術(shù)上的成功第一步就要明確你的目的,你要達(dá)成什么目的你才會(huì)圍繞這個(gè)目的的達(dá)成開(kāi)發(fā)芯片,在明確目的后就要選擇你的架構(gòu),這個(gè)架構(gòu)必須要突出那些特點(diǎn),當(dāng)這些都完成后才會(huì)近入模擬指令集的編寫然后就是在虛擬的開(kāi)發(fā)程序上根據(jù)你手頭上的實(shí)際的一些電子元件進(jìn)行模擬組裝,這是個(gè)反復(fù)修改的過(guò)程直到滿足設(shè)計(jì)的需求,最后才是實(shí)際的流片生產(chǎn),以目前的科技水平虛擬的模擬開(kāi)發(fā)技術(shù)就別想了,別說(shuō)用這技術(shù)開(kāi)發(fā)了,這技術(shù)還等著張億誠(chéng)去開(kāi)發(fā)呢。即使在21世紀(jì)真正的最新型處理器大部分也是在圖紙上開(kāi)發(fā)的,因?yàn)楹芏嘈录夹g(shù)新材料新工藝在這個(gè)模擬軟件上根本就體現(xiàn)不出來(lái)。那么設(shè)計(jì)要求也就出來(lái)了下面的5點(diǎn)。
1,指令系統(tǒng)要求較小:種類的數(shù)量較少,只提供簡(jiǎn)單指令。這些指令大多都能在4,5個(gè)時(shí)鐘周期內(nèi)完成。2,指令的操作數(shù)必須預(yù)存于寄存器中,這樣取指操作的時(shí)間也統(tǒng)一了。3,指令長(zhǎng)度,尋址方式,格式都整齊劃一:這樣可以充分利用流水線,基本上可實(shí)現(xiàn)一個(gè)時(shí)鐘脈沖執(zhí)行一條指令的目標(biāo)。4,設(shè)計(jì)要求指令集中斷可視為特殊的子程序鏈接:要求的指令集對(duì)中斷進(jìn)行區(qū)分對(duì)待,分為輕量級(jí)和重量級(jí)。對(duì)輕量級(jí)中斷只保存需要保存的寄存器內(nèi)容;對(duì)重量級(jí)中斷的處理如同常規(guī)中斷。5,設(shè)計(jì)要求都要采用流水線、高速緩存。
只要達(dá)到以上的要求也才能保證目前的技術(shù)設(shè)計(jì)上的領(lǐng)先,這只是一個(gè)暫時(shí)的總的綱領(lǐng)性要求,具體就是根據(jù)如此去編寫指令集和編譯器,這是一個(gè)辛苦的腦力工作,需要天才的程序員和設(shè)計(jì)工程師。
當(dāng)前這些底層的軟件編寫工作對(duì)于穿越來(lái)的張億誠(chéng)還夠不成太大的難題。“看樣是時(shí)候開(kāi)始招兵買馬,哦,不,好像目前只缺一位熟悉電子行業(yè)的采購(gòu)啊!”