為了降低晶體管尺寸,提高性能,降低功耗和提供安全,芯片制造商越來(lái)越重視軟件建模。
回溯半導(dǎo)體產(chǎn)業(yè)軟件建模的演變,可以追溯到上世紀(jì) 90 年代的軟硬件聯(lián)合設(shè)計(jì),當(dāng)時(shí)的大型芯片制造商和系統(tǒng)公司采取了這種方案。尤其是隨著客戶對(duì)芯片需求的日益增加,這些日益復(fù)雜的 SoC 就必須內(nèi)置驅(qū)動(dòng)和嵌入式代碼,引致軟件的流行。
而隨著晶體管尺寸的變小,帶來(lái)了芯片功耗和熱量的問(wèn)題,除了大公司,很多小公司也開(kāi)始將目光投向了半導(dǎo)體產(chǎn)業(yè)的軟件建模。
有幾個(gè)因素引致了技術(shù)“方程”的轉(zhuǎn)變:
(1) 主流的工藝節(jié)點(diǎn)已經(jīng)集中在 65nm 以下,這就讓漏電電流成為產(chǎn)業(yè)關(guān)注的首要問(wèn)題;
(2) 越來(lái)越多依賴于電池供電的移動(dòng)設(shè)備,讓芯片功耗成為關(guān)注重點(diǎn);
(3) 很多芯片采用了異構(gòu)系統(tǒng)設(shè)計(jì),讓其整體的功耗預(yù)算比過(guò)往更緊張,而新時(shí)代的設(shè)備需要頻繁的與外界通信,傳輸數(shù)據(jù),這無(wú)疑加劇了功耗問(wèn)題。
最初,我們解決問(wèn)題的方式增加芯片的核心數(shù),但這會(huì)引致一個(gè)新的問(wèn)題,那就是對(duì)大多數(shù)應(yīng)用來(lái)說(shuō),究竟多少個(gè)核心才是正確的選擇?在很多的應(yīng)用方案里,即使在現(xiàn)在強(qiáng)調(diào)多線程和并行計(jì)算的大潮流下,兩個(gè)或者四個(gè)核心是最優(yōu)的選擇。
從某個(gè)方面看,根據(jù)硬件內(nèi)部“交流”方式的不同,可以引致軟件的改變。例如可以在一個(gè)處理器周期內(nèi),通過(guò)軟件讓芯片執(zhí)行更多的工作。同時(shí)它也能有兩個(gè)核心,有可能多大八個(gè)核心。尤其當(dāng)其中的一些工作能夠被解析成不同的操作,這就方案就更有效了。
同時(shí)軟件還能提供更高的彈性和可靠性,在設(shè)計(jì)周期早期階段介入,給設(shè)計(jì)提供幫助,并在產(chǎn)品上市之前清理掉這些代碼,而不是通過(guò)通過(guò)后期添加補(bǔ)丁的方式實(shí)現(xiàn)。
Cadence 的 Frank Schirrmeister 表示,軟件建模的目的是構(gòu)造軟件和硬件互相影響的新模式。例如包含了重組序列,減少緩存的重載。而這會(huì)對(duì)功耗造成很大的影響。
軟件建模也會(huì)對(duì)設(shè)計(jì)流程產(chǎn)生重要的影響。軟件的改善能夠影響芯片設(shè)計(jì)過(guò)程中的資源的選擇。這包括了存儲(chǔ)類(lèi)型、處理器類(lèi)型和硬件加速器。這種模型同樣能夠使得軟件和硬件之間的“交流”變得更加高效。
而根據(jù) eSilicon Mike Gianfagna 的觀點(diǎn),當(dāng)中的關(guān)鍵就是系統(tǒng)級(jí)別的軟硬件平衡。
“功耗將會(huì)是大家持續(xù)關(guān)注的問(wèn)題,他們?cè)谏厦孀隽撕芏嗟姆治龊透淖?。而在關(guān)于軟件如何影響硬件上面,也有很多不同的做法和觀點(diǎn),所以說(shuō)仿真在最近幾年才變得越來(lái)越重要。”Mike 接著說(shuō)。
Mike 認(rèn)為,這將會(huì)是非常有用的。
相比于過(guò)去,現(xiàn)在的“消防演習(xí)”將會(huì)越來(lái)越少,尤其是在大型設(shè)計(jì)里面,客戶的要求越來(lái)越復(fù)雜,且他們對(duì)于系統(tǒng)的需求也很具體,對(duì)于晶圓級(jí)別的功耗也有很明確的要求。這就推動(dòng)了復(fù)雜的軟硬件聯(lián)合設(shè)計(jì)的發(fā)展。
對(duì)系統(tǒng)的重新思考
在這種軟件潮流背后,是一股轉(zhuǎn)向更多系統(tǒng)級(jí)設(shè)計(jì)的趨勢(shì),而這種趨勢(shì)已經(jīng)在軟件和硬件領(lǐng)域持續(xù)已久。但在很多例子中,軟硬件的并向進(jìn)步比兩者的聯(lián)合解決更受歡迎。但物聯(lián)網(wǎng)的出現(xiàn),推動(dòng)了新的轉(zhuǎn)變。
在物聯(lián)網(wǎng)中,由于大多數(shù)情況下資源都是有限的,同時(shí)對(duì)這些設(shè)備來(lái)說(shuō),cost down 的需求是很重要的。解決這些問(wèn)題的一個(gè)重要方式就是提供系統(tǒng)本身的效率,這樣就可以讓架構(gòu)師去設(shè)計(jì)更低成本的微處理器,轉(zhuǎn)變存儲(chǔ)的混合類(lèi)型。
Mentor Graphics 的 Darrell Teegarden 表示,這種轉(zhuǎn)來(lái)的不是說(shuō)有更多更酷、更快的處理器,更重要的是這種方式對(duì)行業(yè)造成的影響。
現(xiàn)在有越來(lái)越多的高級(jí)別平臺(tái),這些平臺(tái)通常都包括了計(jì)算硬件、傳感器、執(zhí)行硬件、控制傳感器和執(zhí)行器的軟件,平臺(tái)的戰(zhàn)爭(zhēng)也即將點(diǎn)燃。因此你需要對(duì)這些有一個(gè)大概的了解,為自己尋找最合適的解決方案。
Cadence 的 Schirrmeister 也認(rèn)同這種觀點(diǎn)。他認(rèn)為這種方式對(duì)某些應(yīng)用來(lái)說(shuō)非常有效。但對(duì)另一部分的應(yīng)用,這可能就沒(méi)那么強(qiáng)大了。假設(shè)你關(guān)注邊緣計(jì)算,這就需要一個(gè)軟件模型,一個(gè)營(yíng)建模型,或者一個(gè)軟硬件結(jié)合的模型。
這種軟硬件模型的分析和探索已經(jīng)存在一段時(shí)間了,但直到最近才流行起來(lái)的。
“有很多公司已經(jīng)打造了應(yīng)用負(fù)載模式,利用其去實(shí)現(xiàn)應(yīng)用處理和通信需求”,Synopsys 的 Pat Sheridan 說(shuō)。當(dāng)中包含了相關(guān)性、每個(gè)任務(wù)有不同處理器的處理器周期,還有對(duì)不同區(qū)域的執(zhí)行讀或?qū)懙膬?nèi)存訪問(wèn)等并行任務(wù)。
這類(lèi)工具的一個(gè)好處就是它能夠提高抽象層的級(jí)別,這些的話在功能測(cè)試的時(shí)候就不需要針對(duì)軟件建模。當(dāng)中的關(guān)鍵就是能將應(yīng)用負(fù)載需求和 resources 分離開(kāi)。你可以將任務(wù)映射到 resources 上,同時(shí)你也可以聯(lián)合不同的 CPU 和加速器。
物聯(lián)網(wǎng)和安防
工具供應(yīng)商表示,最初這些工具只是為移動(dòng)市場(chǎng)準(zhǔn)備,現(xiàn)在他們開(kāi)始將其推廣到其他市場(chǎng),當(dāng)中包括了汽車(chē)、物聯(lián)網(wǎng)和服務(wù)器應(yīng)用。
特別是在物聯(lián)網(wǎng)領(lǐng)域,由于對(duì)安全有很高的需求,所以他們特別關(guān)注軟件建模。
現(xiàn)在的軟件涵蓋了高端到低端。而那些經(jīng)過(guò)驗(yàn)證的高端軟件開(kāi)始逐漸“入侵”簡(jiǎn)單的設(shè)備。 ARM 的 Bill Neifert 說(shuō)。在物聯(lián)網(wǎng)領(lǐng)域,這主要是安全驅(qū)動(dòng)的。這些軟件能夠加強(qiáng)對(duì)攻擊的防御。
安全問(wèn)題是全球 IC 設(shè)計(jì)者關(guān)注的問(wèn)題,它能夠影響軟件的每個(gè)層級(jí)。例如在一個(gè)通信芯片里,包括整個(gè)通信棧、IP、I/O、硬件元器件,還有芯片內(nèi)外的存儲(chǔ)和總線,都會(huì)有可能面臨安全威脅。
安全和效率問(wèn)題來(lái)到 IoT 上面,給開(kāi)發(fā)者帶來(lái)的問(wèn)題更多了。這就帶來(lái)了新一代 MCU 的設(shè)計(jì)。這些 MCU 能夠應(yīng)對(duì)多樣化設(shè)計(jì)產(chǎn)品的功能需求和成本壓力。
ARM 的 Neifert 表示,在過(guò)去一年,MCU 領(lǐng)域的軟件建模需求快速增長(zhǎng)。由于功耗限制,你在設(shè)計(jì)芯片的時(shí)候?qū)?PPA 有嚴(yán)格的需求,另外還要著重考慮安全問(wèn)題。
當(dāng)然,關(guān)于軟件建模和硬件聯(lián)合設(shè)計(jì)能給設(shè)計(jì)帶來(lái)多大的效率提升這個(gè)問(wèn)題,是沒(méi)有明確的答案的。三星在十幾年曾經(jīng)做過(guò)一個(gè)測(cè)試,測(cè)試結(jié)果顯示性能提升了 50%。從三星當(dāng)時(shí)的報(bào)告開(kāi)始,業(yè)界正在改變,但基本規(guī)則是不變,
而安全是方程式需要平衡的另一個(gè)方面。由于現(xiàn)在逐漸開(kāi)始流行的智能汽車(chē)和健康醫(yī)療對(duì)安全有更高的需求,安全也逐漸被導(dǎo)進(jìn)到軟件建模里。
在汽車(chē)電子里,考慮安全的話,芯片的設(shè)計(jì)有時(shí)候會(huì)比較冗余,有時(shí)候會(huì)導(dǎo)致芯片的集成電路的設(shè)計(jì)規(guī)模大 50%。再過(guò)去的話,你可能會(huì)做這樣的一個(gè)設(shè)計(jì)。但是現(xiàn)在,你需要確定你將要用哪一個(gè)版本的 ASIL(汽車(chē)安全集成級(jí)別),再將其與性能、成本匹配,然后實(shí)現(xiàn)自己的目標(biāo)。
大數(shù)據(jù)中心和高性能計(jì)算
發(fā)展到現(xiàn)在,半導(dǎo)體軟件建模在大數(shù)據(jù)中心上起的作用也越來(lái)越重要。這主要是由需要在低功耗的情況下處理飛速增長(zhǎng)的數(shù)據(jù)現(xiàn)狀密切相關(guān)。
Cadence 的 Schirrmeister 表示,他們正在針對(duì)包括大數(shù)據(jù)在內(nèi)的某些特別任務(wù)做負(fù)載優(yōu)化,而硬件和軟件建模結(jié)合的模式很方便解決這個(gè)問(wèn)題。
現(xiàn)在有很多人討論 FPGA 在大數(shù)據(jù)中心的應(yīng)用,因?yàn)樵谀抢?,軟件和硬件的?lián)合設(shè)計(jì)并不需要預(yù)先集成到芯片里。你可以額外添加一個(gè)數(shù)據(jù)處理算法到硬件架構(gòu)里。當(dāng)然在存儲(chǔ)那邊,也有操作的空間,因?yàn)槟憧梢灾貥?gòu)存儲(chǔ)架構(gòu),改變數(shù)據(jù)出入的方式,這也可以稱之為軟件建模。
由于可以當(dāng)做一個(gè)定制的加速器平臺(tái)使用,F(xiàn)PGA 近年來(lái)在大數(shù)據(jù)的應(yīng)用越來(lái)越廣泛。Rambus 的 Steven Woo 說(shuō)。FPGA 的優(yōu)勢(shì)在于其有足夠大的內(nèi)存,其符合 rack-scale 架構(gòu)。
在大數(shù)據(jù)中心,需要很多服務(wù)器。傳統(tǒng)的配置會(huì)有 CPU、I/O、硬盤(pán)和內(nèi)存,這樣會(huì)帶來(lái)很大的成本。但這些服務(wù)器的負(fù)載并沒(méi)有完美匹配,這樣就會(huì)造成低效率的影響。因此如果能夠完美匹配軟件和硬件,并在兩者之間做外媒的配置,那么大數(shù)據(jù)中心的效率就會(huì)顯著提高。這就解析了為什么谷歌和 Facebook 這樣的公司都在設(shè)計(jì)自己的硬件架構(gòu)。例如谷歌的 TPU,F(xiàn)acebook 的 Open Compute Project。
總結(jié)
軟件和硬件的聯(lián)合設(shè)計(jì)在過(guò)去二十多年,一直是產(chǎn)業(yè)界關(guān)注的重點(diǎn)。從技術(shù)角度看,這種結(jié)合能夠帶來(lái)更好的性能提升,更低的功率損耗。但隨之而來(lái)也會(huì)帶來(lái)新的問(wèn)題,那就是很難去衡量。
在很多的芯片公司,軟件工程師是遠(yuǎn)超過(guò)硬件工程師的,他們對(duì)于通過(guò)購(gòu)買(mǎi)什么類(lèi)型的工具去協(xié)助改善功耗、性能和成本有重點(diǎn)的關(guān)注和見(jiàn)解。
最終的目標(biāo)是降低時(shí)間和功耗。而最好的效果就是當(dāng)你從 Fab 里把硬件拿回來(lái)的時(shí)候,所有的驅(qū)動(dòng)就已經(jīng)都內(nèi)置好了。所以說(shuō),軟件建模,機(jī)會(huì)來(lái)了。
更多最新行業(yè)資訊,歡迎點(diǎn)擊與非網(wǎng)《今日大事要聞》!