【導(dǎo)讀】盡管能夠使用各種開(kāi)發(fā)工具,今天基于FPGA的系統(tǒng)中還有什么會(huì)使得完全遵循這個(gè)建議變得不切實(shí)際或過(guò)于困難呢?對(duì)電源設(shè)計(jì)師來(lái)說(shuō),在設(shè)計(jì)過(guò)程早期就考慮最壞情況而不是最佳情況的電源系統(tǒng)是有好處還是壞處呢,F(xiàn)PGA許多方面存在太多的不確定性適合并行工程嗎?
如果設(shè)計(jì)師可以在開(kāi)發(fā)過(guò)程早期就滿足基于FPGA的設(shè)計(jì),提出的功耗要求和約束條件,那么在系統(tǒng)的最終實(shí)現(xiàn)階段就能形成極具競(jìng)爭(zhēng)力的優(yōu)勢(shì)。然而,根據(jù)整個(gè)技術(shù)文獻(xiàn)中這種自我暗示式的反復(fù)禱告,今天基于FPGA的系統(tǒng)中還有什么會(huì)使得完全遵循這個(gè)建議變得不切實(shí)際或過(guò)于困難呢?盡管能夠使用各種開(kāi)發(fā)工具,如專門針對(duì)FPGA項(xiàng)目開(kāi)發(fā)的早期功耗預(yù)估器和功耗分析器,但對(duì)電源設(shè)計(jì)師來(lái)說(shuō),在設(shè)計(jì)過(guò)程早期就考慮最壞情況而不是最佳情況的電源系統(tǒng)是有好處的,因?yàn)樵谠S多方面仍有太多的不確定性,比如在硬件設(shè)計(jì)完成和功耗可以測(cè)量之前,靜態(tài)小電流狀態(tài)與全速工作狀態(tài)之間的動(dòng)態(tài)負(fù)載要求將如何波動(dòng)。
采用并行工程(CE)技術(shù),可以為在項(xiàng)目中使用FPGA器件的開(kāi)發(fā)團(tuán)隊(duì),提供一種快速方便地在當(dāng)前設(shè)計(jì)的處理性能、材料清單(BOM)成本和效率之間尋找和實(shí)現(xiàn)最有效平衡的方法嗎?理解并行工程如何影響一個(gè)團(tuán)隊(duì)的設(shè)計(jì)工作,以及它如何影響開(kāi)發(fā)團(tuán)隊(duì)從項(xiàng)目一開(kāi)始就解決FPGA及系統(tǒng)其余部分的電源要求的能力,都有助于回答這個(gè)問(wèn)題(參考副標(biāo)題“并行工程”)。
并行工程,是一種有助于設(shè)計(jì)團(tuán)隊(duì)更加快速地發(fā)現(xiàn)和解決一起協(xié)作產(chǎn)生最終設(shè)計(jì)的各門科目之間假設(shè)脫節(jié)問(wèn)題的機(jī)制。任何開(kāi)發(fā)團(tuán)隊(duì)在設(shè)計(jì)開(kāi)始就完全正確地獲得一個(gè)復(fù)雜系統(tǒng)的全部要求基本上是不可能的——因此盡可能早地發(fā)現(xiàn)、判斷和放棄假設(shè)與設(shè)計(jì)決策的脫節(jié)、并用能夠以可能最低的成本指導(dǎo)項(xiàng)目更接近理想結(jié)果的條件與決策來(lái)代替是更加高效的一種方法。
后期設(shè)計(jì)階段和最壞情況下,F(xiàn)PGA電源系統(tǒng)設(shè)計(jì)的復(fù)雜性和潛在后果足以證明采用并行工程方法的合理性嗎?為了回答這個(gè)問(wèn)題,我們需要理解:FPGA電源系統(tǒng)設(shè)計(jì)師面臨的設(shè)計(jì)復(fù)雜性和不確定性根源是什么,這些原因如何影響他們?cè)谠O(shè)計(jì)電源時(shí)必須做出的權(quán)衡決策?
復(fù)雜性和不確定性
設(shè)計(jì)團(tuán)隊(duì)中的每位成員都在經(jīng)歷復(fù)雜性和不確定性的增加——幸運(yùn)的是,提高集成度和抽象水平多少可以降低一些復(fù)雜性和不確定性,并有助于將整體復(fù)雜性保持在人類設(shè)計(jì)師能夠理解和應(yīng)付的范圍內(nèi)。正如任何會(huì)在設(shè)計(jì)后期增加其影響力的科目一樣,上游設(shè)計(jì)假設(shè)與決策可能會(huì)形成額外的復(fù)雜性與不確定性來(lái)源,如果能夠較早地協(xié)調(diào)與交流,可以最大程度地減小這些復(fù)雜性與不確定性。
電源設(shè)計(jì)是在復(fù)雜性日益增加的系統(tǒng)中這些潛在的下游科目之一。在本例中,讓我們從電源設(shè)計(jì)師的角度看一下復(fù)雜性和不確定性的來(lái)源。影響電源設(shè)計(jì)的兩個(gè)關(guān)鍵FPGA因素是電壓和電流要求。
FPGA電壓要求趨勢(shì)正在推升復(fù)雜性,因?yàn)樗鼈円笕找嬖龆嗟碾娫窜?。今天的高端FPGA不再只是需要兩個(gè)電源軌用于內(nèi)核和I/O單元以及可能第三個(gè)電源軌用于輔助功能,而是要求十個(gè)以上的外部驅(qū)動(dòng)電源軌。
為什么需要的電源軌數(shù)量增加得如此顯著呢?SRAM單元可能要求比內(nèi)部邏輯門稍微高一點(diǎn)的電壓,以確??煽康娜俟ぷ鳎瑫r(shí)還需較低的電壓用于待機(jī)模式。工業(yè)標(biāo)準(zhǔn)會(huì)防止不同的I/O單元共享相同的電源軌,從而增加所需的電源軌數(shù)量,因?yàn)樗鼈兛赡軐⒉煌腎/O單元和物理收發(fā)接口鎖定到具有不同電源噪聲極限和電壓值的不同電源。舉例來(lái)說(shuō),以太網(wǎng)工作時(shí)的I/O電壓可能不同于I2C總線。一種是板上總線,另一種是外部總線,但兩者都可以用FPGA實(shí)現(xiàn)。減少抖動(dòng)或提高敏感電路(如低噪聲放大器、鎖相環(huán)、收發(fā)器和精密模擬電路)的噪聲余量,也可能增加對(duì)更多電源軌的需求,因?yàn)樗鼈儫o(wú)法與較高噪聲元件共享相同的電源軌,即使它們工作在相同的電壓。
除了要求日益增多的電源軌外,當(dāng)前FPGA的工作電壓也要比以前的FPGA低,因?yàn)檫@有助于降低功耗,提高集成度,但也增加了復(fù)雜性,因?yàn)殡娫幢仨毮軌虮3衷絹?lái)越嚴(yán)格的電壓容差要求(見(jiàn)圖1)。舉個(gè)例子,自從用130nm工藝生產(chǎn)FPGA以來(lái),基于28nm技術(shù)節(jié)點(diǎn)的FPGA的內(nèi)核電壓紋波容差的公開(kāi)幅度已經(jīng)降低了一半還多。誤差預(yù)算百分比已經(jīng)從5%下降到3%,并正在向2%邁進(jìn)。保持電壓容差要求與理解并滿足FPGA電流要求有關(guān)。
圖1:經(jīng)過(guò)4代工藝技術(shù)節(jié)點(diǎn)的發(fā)展,平均電壓紋波容差下降了一半還多,對(duì)電源設(shè)計(jì)師來(lái)說(shuō)這就是增加復(fù)雜性的原因。
FPGA電流特征趨勢(shì)正在推動(dòng)復(fù)雜性的提高,因?yàn)镕PGA中更高的密度和包含的外設(shè)/功能/IP模塊的數(shù)量正在呈摩爾定律增長(zhǎng)——每?jī)纱に嚬?jié)點(diǎn)相比,相同面積的硅片所容納的模塊數(shù)量基本要翻倍。雖然提供給FPGA的電壓是固定的,但每個(gè)電壓的工作電流不是固定的,會(huì)根據(jù)FPGA邏輯的實(shí)現(xiàn)方法變化而發(fā)生波動(dòng)。
[page]
內(nèi)部邏輯門塊或I/O單元在高利用率和低利用率之間轉(zhuǎn)換時(shí),電流波動(dòng)異常劇烈。隨著FPGA切換到更高的處理速率,消耗電流將增加,電壓將趨于下降。一個(gè)好的電源設(shè)計(jì)要防止壓降超過(guò)電壓瞬時(shí)門限。同樣,當(dāng)FPGA切換到較低處理速率時(shí),電流消耗將下降,電壓將趨于提高,電源設(shè)計(jì)應(yīng)防止其超過(guò)相應(yīng)的門限??傊赡軙?huì)實(shí)質(zhì)影響電源設(shè)計(jì)的大量不確定性源自FPGA設(shè)計(jì)師如何在FPGA上實(shí)現(xiàn)系統(tǒng)。
這類不確定性特別影響FPGA系統(tǒng),部分原因是因?yàn)槭褂肍PGA的關(guān)鍵特性之一是,設(shè)計(jì)師可以創(chuàng)建任何大小的處理資源和任意數(shù)量的冗余處理資源,以便與軟件可編程處理器相比能用較短的時(shí)間和/或較低的功耗解決他們的問(wèn)題。因此,雖然軟件可編程處理器擁有可以同時(shí)操作的有限處理資源,但FPGA提供了創(chuàng)建專門的、最優(yōu)的和定制的處理資源的機(jī)會(huì),不過(guò)要求定制的電源設(shè)計(jì)。
供電
理解和管理FPGA設(shè)計(jì)師如何在設(shè)計(jì)周期早期在FPGA上實(shí)現(xiàn)高處理狀態(tài)和低處理狀態(tài)之間的轉(zhuǎn)換,將顯著影響電源設(shè)計(jì)師優(yōu)化電源設(shè)計(jì)和滿足系統(tǒng)功耗要求的可選方法。FPGA中的每個(gè)電源軌沒(méi)有要求也沒(méi)有必要采用獨(dú)立的電源,因?yàn)檫@樣會(huì)增加成本,占用太多寶貴的電路板空間。相反,電源設(shè)計(jì)師可以使用分布式電源網(wǎng)絡(luò),由降壓穩(wěn)壓器將系統(tǒng)電源降下來(lái),然后分配給各個(gè)負(fù)載點(diǎn)穩(wěn)壓器再提供每個(gè)電壓軌。每個(gè)穩(wěn)壓器設(shè)計(jì)提供恒定的輸出電壓,只要確保輸入電壓和輸出負(fù)載電流在設(shè)計(jì)范圍內(nèi)。
有兩種基本類型的穩(wěn)壓器:線性型和開(kāi)關(guān)型。與開(kāi)關(guān)穩(wěn)壓器相比,線性穩(wěn)壓器更容易實(shí)現(xiàn),可以提供更小噪聲或更小電壓紋波的更穩(wěn)定輸出,并且使用成本更低,占用的電路板面積更小。然而,它們的電源轉(zhuǎn)換效率要比開(kāi)關(guān)穩(wěn)壓器低很多,特別是當(dāng)輸入輸出壓差較大時(shí)。例如使用線性穩(wěn)壓器從5V產(chǎn)生1V,其轉(zhuǎn)換效率只有20%,比開(kāi)關(guān)穩(wěn)壓器的近85%轉(zhuǎn)換效率低得多。
轉(zhuǎn)換效率是指輸出功率與輸入功率之比,較低的效率意味著穩(wěn)壓器在消耗功率,而不是FPGA在消耗功率。因此對(duì)于具有大工作電流的FPGA應(yīng)用來(lái)說(shuō),開(kāi)關(guān)穩(wěn)壓器比線性穩(wěn)壓器更適合。一些高端FPGA系統(tǒng)的快速I/O節(jié)點(diǎn)電流可達(dá)80A。另外,由于浪費(fèi)的功耗引起的溫升將影響用于維持系統(tǒng)元件性能的散熱器或空氣對(duì)流所需的空間。一般來(lái)說(shuō),如果沒(méi)有空氣對(duì)流,每平方英寸銅耗散1W的功率將導(dǎo)致溫度升高10℃。
雖然開(kāi)關(guān)穩(wěn)壓器的功效比線性穩(wěn)壓器大得多,但它有噪聲問(wèn)題,即具有更大的電壓紋波,因而給電源設(shè)計(jì)師增加了縮小容差門限的挑戰(zhàn)。在電路板上正確放置開(kāi)關(guān)穩(wěn)壓器件是盡量減小電氣噪聲的關(guān)鍵,而其體積稍大的元件又增加了這種挑戰(zhàn)性。
因此,在設(shè)計(jì)過(guò)程中足夠早地了解有關(guān)功耗預(yù)算方面的正確知識(shí),有助于電源設(shè)計(jì)師合理安排正確的電路板位置和電路板空間,以便使用更高效的開(kāi)關(guān)穩(wěn)壓器,或更好地使用較低效率的線性穩(wěn)壓器。
早期規(guī)劃
大部分FPGA功耗取決于FPGA設(shè)計(jì)師在系統(tǒng)開(kāi)關(guān)頻率、輸出負(fù)載、供電電壓、互連數(shù)量、互連開(kāi)關(guān)百分比以及邏輯與互連模塊結(jié)構(gòu)方面的實(shí)現(xiàn)選擇。這些選擇反過(guò)來(lái)又影響電源設(shè)計(jì)師的判斷和在系統(tǒng)設(shè)計(jì)方面的權(quán)衡,進(jìn)而可能影響最終系統(tǒng)性能。
幸運(yùn)的是,F(xiàn)PGA電源設(shè)計(jì)師有多種工具和技術(shù)可以用來(lái)在設(shè)計(jì)過(guò)程早期分析電源問(wèn)題。舉例來(lái)說(shuō),大多數(shù)FPGA供應(yīng)商提供的早期功耗預(yù)估器和功耗分析器可幫助設(shè)計(jì)師建立功耗預(yù)算。設(shè)計(jì)師可以使用基于軟件的早期功耗預(yù)估器——基本上是美化過(guò)或文字形式的電子表格——在設(shè)計(jì)過(guò)程早期收集邏輯規(guī)模和工作速率的值與假設(shè)條件,然后估計(jì)系統(tǒng)各個(gè)部分將使用多少功耗(見(jiàn)圖2)。
圖2:在這個(gè)基于軟件的早期功耗預(yù)估器中顯示的工作表可以根據(jù)規(guī)劃的FPGA用途為每個(gè)電源軌提供建議的元件(Altera提供)。
早期功耗預(yù)估器可以幫助電源設(shè)計(jì)師輸入FPGA上不同子系統(tǒng)的使用率估計(jì)值。在工具實(shí)例中,快照底部欄提供的工作表用于捕獲每類資源的功耗值,包括邏輯、內(nèi)存、各種I/O和硬件信號(hào)處理資源。這些值還可以供工具中的其它工作表使用。
然而,只是估計(jì)功耗是不夠的——電源設(shè)計(jì)師需要設(shè)計(jì)電源樹(shù)以支持FPGA設(shè)計(jì)師意圖如何使用FPGA。通過(guò)估計(jì)FPGA設(shè)計(jì)總的靜態(tài)和動(dòng)態(tài)功耗,這些工具可以幫助電源設(shè)計(jì)師將功耗要求轉(zhuǎn)換為合適的電源樹(shù),同時(shí)確保設(shè)計(jì)符合設(shè)計(jì)團(tuán)隊(duì)的系統(tǒng)權(quán)衡決策,并滿足電流與電壓要求。包括圖2所示例子的一些工具可能會(huì)建議能夠滿足設(shè)計(jì)需求的電源管理器件。預(yù)估器反映了FPGA供應(yīng)商和設(shè)計(jì)師的多年經(jīng)驗(yàn),在基于實(shí)際設(shè)計(jì)實(shí)現(xiàn)的數(shù)字出來(lái)之前非常管用。
[page]
隨著FPGA設(shè)計(jì)的進(jìn)展,電源設(shè)計(jì)師開(kāi)始使用電源分析工具并根據(jù)詳細(xì)信息更加精確地獲知功耗和電源要求,比如來(lái)自FPGA設(shè)計(jì)工具的網(wǎng)表輸出,設(shè)計(jì)是如何在FPGA中實(shí)現(xiàn)的等。
功耗預(yù)估和分析工具的目的是幫助設(shè)計(jì)師建立早期的功耗預(yù)算指南。有了早期的功耗預(yù)估值,設(shè)計(jì)團(tuán)隊(duì)就能同時(shí)開(kāi)展電路板的設(shè)計(jì)搭建和FPGA設(shè)計(jì),不僅節(jié)省了時(shí)間,而且一旦FPGA設(shè)計(jì)完成就會(huì)形成更具決定性的電路板設(shè)計(jì),從而幫助團(tuán)隊(duì)完成更高效的測(cè)試和優(yōu)化。
電源設(shè)計(jì)師需要在系統(tǒng)硬件集成過(guò)程中測(cè)量和驗(yàn)證實(shí)際的FPGA性能,因?yàn)镕PGA對(duì)實(shí)際設(shè)計(jì)和環(huán)境工作條件非常敏感,可能與估計(jì)和分析工具的結(jié)果有所出入。
關(guān)于協(xié)商
有關(guān)估計(jì)和系統(tǒng)集成功耗數(shù)值可能不同的最終免責(zé)聲明并不會(huì)給我們帶來(lái)很多信心。即使使用這些數(shù)值,電源設(shè)計(jì)師仍然面臨極大的不確定性。我們繞了一大圈又回到了FPGA電源設(shè)計(jì)是否為并行工程技術(shù)做好準(zhǔn)備的原地。
與航空和微處理器團(tuán)隊(duì)如何能夠理解上游設(shè)計(jì)決策如何影響下游設(shè)計(jì)要求的例子相似,理解電源設(shè)計(jì)要求如何受電路板與FPGA設(shè)計(jì)師早期選擇的影響為每個(gè)團(tuán)隊(duì)成員提供了一種機(jī)制和機(jī)會(huì),即他們可以在成本固定進(jìn)設(shè)計(jì)之前就開(kāi)始交流和協(xié)商如何優(yōu)化整個(gè)系統(tǒng),而不只是系統(tǒng)的一個(gè)部分。
從項(xiàng)目開(kāi)始就與開(kāi)發(fā)團(tuán)隊(duì)的每位成員進(jìn)行早期協(xié)調(diào)和交流的主要價(jià)值是,盡可能在設(shè)計(jì)過(guò)程早期發(fā)現(xiàn)不同領(lǐng)域?qū)<?mdash;—本例中是電源設(shè)計(jì)師、FPGA設(shè)計(jì)師和電路板設(shè)計(jì)師以及位于或影響電路板的其它系統(tǒng)元件、FPGA和電源系統(tǒng)的設(shè)計(jì)師——之間的假設(shè)脫節(jié)問(wèn)題。在這點(diǎn)上,受影響的組員相互間可以討論、爭(zhēng)論甚至爭(zhēng)吵,最終以較低成本開(kāi)始和完成尋找及協(xié)商解決方案的過(guò)程,因?yàn)樗麄冃枰苊馑邪嘿F的重復(fù)工作以及后期設(shè)計(jì)階段的要求更改。
能夠有選擇地使用更高效的開(kāi)關(guān)型穩(wěn)壓器要求掌握有關(guān)系統(tǒng)功耗要求的相當(dāng)準(zhǔn)確的預(yù)知能力,以便在正確位置有合適大小的電路板空間能被分配給電源穩(wěn)壓器和元件,從而滿足包括電壓紋波容差要求在內(nèi)的電源要求。一個(gè)不良或不準(zhǔn)確的功耗預(yù)測(cè)結(jié)果可能意味著使用較低效率的穩(wěn)壓器來(lái)滿足電壓紋波要求,但這個(gè)“紋波”給設(shè)計(jì)的其余部分提出了額外的要求,比如需要更大的電源,需要散發(fā)更多的熱量,甚至使FPGA工作在較慢的速率。
功耗估計(jì)和分析工具的一個(gè)重要價(jià)值是讓每個(gè)人都盡早地關(guān)注功耗。在當(dāng)代設(shè)計(jì)中,F(xiàn)PGA可能是影響系統(tǒng)性能和功耗的主要因素——因此也可能是電源設(shè)計(jì)的主要考慮部分。從設(shè)計(jì)過(guò)程一開(kāi)始就與電源設(shè)計(jì)師協(xié)同工作有助于討論系統(tǒng)權(quán)衡決策以及如何使用FPGA、然后使用工具獲得更早更精確的功耗估計(jì)。
成功并不是在你開(kāi)始之前就使所有系統(tǒng)要求變得正確,而是盡可能早的發(fā)現(xiàn)和放棄不好的決策,并以可能最低的成本用能夠指導(dǎo)項(xiàng)目更接近理想輸出的決策代替之。結(jié)果是在后續(xù)項(xiàng)目中你能收獲到更早、更方便和更精確的功耗預(yù)測(cè)的好處。
在我開(kāi)展一些航空集成產(chǎn)品團(tuán)隊(duì)項(xiàng)目(我們的并行工程版本)時(shí),我們使用了80-20規(guī)則的一個(gè)變化版本:80%的項(xiàng)目成本是由前面20%的設(shè)計(jì)工作確定的。在那以后,你可望做到的最好一點(diǎn)是應(yīng)付剩余的20%。當(dāng)我們知道最少部分對(duì)項(xiàng)目最終成本有最大影響時(shí),我們就能高效地做出決策。
這個(gè)表達(dá)可能并不完全準(zhǔn)確,但似乎里面又暗含了某些智慧。更重要的是,它提供了在你糾結(jié)于80%之前提出問(wèn)題并盡可能合理地與擁有不同領(lǐng)域?qū)<业膱F(tuán)隊(duì)成員合作的警告和提醒,以免在項(xiàng)目到達(dá)最終開(kāi)發(fā)階段時(shí)后悔莫及。
副標(biāo)題
并行工程
在美國(guó)國(guó)防部防御分析研究所于1988年發(fā)表的一份報(bào)告中是這樣描述并行工程的:它是針對(duì)產(chǎn)品及其相關(guān)工藝的一體化并行設(shè)計(jì)的一種系統(tǒng)性方法,包括制造和支持。這種方法試圖引導(dǎo)開(kāi)發(fā)人員從一開(kāi)始就考慮從概念直到廢棄的產(chǎn)品生命周期中的所有元素,包括質(zhì)量、成本、計(jì)劃和用戶要求(參考文獻(xiàn)1)。并行工程與許多其它術(shù)語(yǔ)類似和重疊,比如協(xié)作工程、同步工程以及綜合性產(chǎn)品開(kāi)發(fā)。
早期,對(duì)于需要兩個(gè)或多個(gè)人一起工作的每個(gè)項(xiàng)目來(lái)說(shuō),總是存在某種形式的并行工程,但現(xiàn)代并行工程依賴于信息和通信技術(shù)將更大的多科目開(kāi)發(fā)團(tuán)隊(duì)組織在一起工作,并且用比以往任何時(shí)候都更快的速度分享新項(xiàng)目信息。雖然許多并行工程說(shuō)明強(qiáng)調(diào)的是并行設(shè)計(jì)可以縮短產(chǎn)品開(kāi)發(fā)時(shí)間,但需要提醒的是,并行工程的最重要機(jī)制是它能用來(lái)更加快速地發(fā)現(xiàn)協(xié)同工作以生成最終設(shè)計(jì)的各種科目之間的假設(shè)脫節(jié)問(wèn)題。隨著生產(chǎn)系統(tǒng)中出現(xiàn)的復(fù)雜性和這些脫節(jié)問(wèn)題結(jié)果的增加,較早發(fā)現(xiàn)和解決脫節(jié)假設(shè)的好處會(huì)超過(guò)因協(xié)調(diào)與通信而增加的成本。
航空項(xiàng)目是最早采用現(xiàn)代并行工程方法的,目的是發(fā)現(xiàn)負(fù)責(zé)原型創(chuàng)建、制造和維修產(chǎn)品的團(tuán)隊(duì)之間的脫節(jié)。許多最早發(fā)現(xiàn)的假設(shè)脫節(jié)發(fā)生在設(shè)計(jì)過(guò)程中上游和下游任務(wù)之間。例如,在原型創(chuàng)建期間作出的決策可能使得制造或維修更加困難和昂貴——與此同時(shí),如果他們采用稍有不同的方法,可能就可以高效地滿足他們的要求,對(duì)下游團(tuán)隊(duì)的任務(wù)要求幾乎沒(méi)有或非常少的影響。發(fā)現(xiàn)和解決載人安全系統(tǒng)中的脫節(jié)假設(shè)的好處要遠(yuǎn)遠(yuǎn)超過(guò)整個(gè)設(shè)計(jì)過(guò)程中因不同團(tuán)隊(duì)之間的協(xié)調(diào)與通信而增加的成本。
多年以后,新型微處理器的開(kāi)發(fā)開(kāi)始受益于處理器架構(gòu)師、提供編譯器等軟件開(kāi)發(fā)工具的團(tuán)隊(duì)和其它軟件開(kāi)發(fā)人員之間的早期并行或協(xié)作開(kāi)發(fā)工作。處理器架構(gòu)開(kāi)始采納可以簡(jiǎn)化編譯器開(kāi)發(fā)人員必須作出的假設(shè)的決定和功能——從而導(dǎo)致更快、更小和更高效的生成代碼。選擇不同但等效的架構(gòu)方法的好處是,即使軟件系統(tǒng)的復(fù)雜性和成本還在快速增加,但可以實(shí)現(xiàn)更好的編譯后代碼性能。
在上述每個(gè)案例中,盡早并頻繁地與系統(tǒng)開(kāi)發(fā)團(tuán)隊(duì)的其他成員開(kāi)展協(xié)作和交流所需的額外付出完全可以被發(fā)現(xiàn)假設(shè)中的錯(cuò)誤和脫節(jié)帶來(lái)的更大好處所抵消,因?yàn)檫@時(shí)這些問(wèn)題的協(xié)商和解決代價(jià)較低。