一個軟件工程師,不一定通曉硬件,特別是高級語言工程師,基本上是脫離硬件的存在,軟件工程師根本不需要知道硬件是怎么執(zhí)行的,只要程序?qū)懞弥?,通過對應(yīng)的程序編譯器翻譯成機(jī)器語言。
而一個硬件工程師,特別是硬件架構(gòu)工程師,對軟件必須要有很深的了解,他需要知道軟件編譯器的執(zhí)行機(jī)理,要么更改硬件芯片設(shè)計,要么修正軟件編譯,為了,就是芯片有更好的執(zhí)行效率。
王岸然對c語言很是精通,以及對c語言的擴(kuò)展c++也有很深的研究,但對于用c/c++來編譯大型的軟件,對他來說還是頭一次,挑戰(zhàn)還是很大。
不過對于理工科來說,很多東西都是相通的,芯片的設(shè)計首先要確定芯片的架構(gòu),就如建設(shè)一個工廠,首先要確認(rèn)生產(chǎn)什么東西,產(chǎn)量設(shè)計多少,只有先明確這些,才可以確定工廠的位置,布局。
而設(shè)計一款芯片設(shè)計軟件,首先是需求,c/c++語言面向?qū)ο蟮脑O(shè)計是一個很好的工具。
每個晶體管包含數(shù)個信息,一位置信息,也就是晶體管顯示出來的位置,二晶體管的類型,三晶體管的狀態(tài),四晶體管的激發(fā)條件,這也是最重要的,涉及到晶體管模擬測試。
這是微觀方面,而在宏觀架構(gòu)上,輸入輸出結(jié)構(gòu),存儲結(jié)構(gòu),模擬測試結(jié)構(gòu),邏輯門模型,通用寄存器,邏輯整數(shù)浮點(diǎn)運(yùn)算結(jié)構(gòu),緩存結(jié)構(gòu),指令集結(jié)構(gòu),每一個都是相對獨(dú)立的整體,可以相互通訊數(shù)據(jù),但不需要知道對方是如何工作。
這些邏輯電路都需要一行行代碼寫出來。
“現(xiàn)在要是手下有100號熟手,我可以在一個月內(nèi)把測試版本弄出來?!?br/> 沒錢,沒人,王岸然很無奈。
第二天一早,王岸然來到清大研究生院。
“我說岸然,你這次玩大了啊,怎么著,可真應(yīng)了你的名字,道貌岸然啊!”
王岸然看到好兄弟賈國防也是激動,狠狠的擁抱一下,對他來說,已經(jīng)十幾年沒見過他了。
賈國防一把推開道:“岸然,你這是怎么了,怪怪的,是不是發(fā)生什么事?好好的出國留學(xué),多少人做夢都想的事被你一把推了,霸氣啊,來,喝口水,陪兄弟好好說說!”
王岸然看著賈國防穿著大褲衩,大夏天的,把襪子擱在暖氣片上,屋子里,還是熟悉的味道。
掩著鼻子,道:“是兄弟就別問,啥也別說,我來是請你幫個忙,把上機(jī)卡給我用一下?!?br/> “不會吧,老兄,我每個月只有30個機(jī)時,你要給我用光了,我的論文豈不是抓瞎?!?br/> 口里這樣說著,手上還是毫不猶豫的把上機(jī)卡給了王岸然。
30個機(jī)時肯定不夠用,好在王岸然對ibm390這臺小型機(jī)有足夠的研究,其內(nèi)存機(jī)制有一個小漏洞,連續(xù)讀取時有大概率會造成內(nèi)存溢出,從而可以輕松獲得管理員權(quán)限。
到時候不光可以將計時停止,還可以在硬盤里設(shè)置一塊專用區(qū)域,要知道1993年的移動存儲就是軟盤和光盤,自己每次操作完電腦,不可能把數(shù)據(jù)全部帶走,上機(jī)的時候再帶回來。