多核多線程處理器時(shí)代已經(jīng)逐步向我們走近
多核和多線程是處理器的未來發(fā)展趨勢。多線程就是把單個(gè)內(nèi)核上最大的性能發(fā)揮出來,而多核是把整個(gè)系統(tǒng)運(yùn)算能力發(fā)揮到極至。在高性能處理器中,有很多性能本身其實(shí)沒有被完全利用,而是被浪費(fèi)了。有了多線程,就能夠把每個(gè)單一處理器的所有性能充分加以利用。再加上多內(nèi)核,就能提升總體性能。我相信今后會(huì)看到很多應(yīng)用將會(huì)同時(shí)結(jié)合多核與多線程處理器。
多核對提高整體性能很有效,但是使用這些性能的效率相對比較低。比如說設(shè)計(jì)一個(gè)四核系統(tǒng),每個(gè)內(nèi)核都只有一個(gè)線程,誠然,每個(gè)內(nèi)核的性能都能達(dá)到最大化。但是即使這四個(gè)內(nèi)核的性能都達(dá)到最大,也就只有4個(gè)達(dá)到峰值的處理器內(nèi)核;而如果有4個(gè)多線程的處理器內(nèi)核,這樣就能達(dá)到8 個(gè)或更多單線程的內(nèi)核性能總和。也就是說,多內(nèi)核能使整體的性能達(dá)到頂峰,而多線程能夠顯著提高單個(gè)內(nèi)核的性能。
多核實(shí)際上是同一個(gè)內(nèi)核的復(fù)制和拷貝,通常是連接在同一產(chǎn)品的同一條總線上。通常人們說多核時(shí),指的是多個(gè)獨(dú)立的內(nèi)核共享相同的內(nèi)存,或者內(nèi)存可以同步,這個(gè)內(nèi)存的同步可以保證數(shù)據(jù)的準(zhǔn)確性。這個(gè)很重要,做起來也是比較難的。如今MIPS的很多應(yīng)用都用多核,將來我們會(huì)提供一種協(xié)調(diào)管理器來有效管理多核操作。
目前,多線程的技術(shù)主要運(yùn)用在網(wǎng)絡(luò)應(yīng)用上,這些應(yīng)用要涉及數(shù)據(jù)、音頻、視頻等,同時(shí)又要解讀數(shù)據(jù)包傳輸?shù)姆较?,這些任務(wù)就會(huì)分配到多線程處理器中的各個(gè)單線程。這樣,如果一個(gè)內(nèi)核上有9個(gè)線程,另一個(gè)內(nèi)核也有9個(gè)線程的話,那樣加起來一共就有18個(gè)線程了。
如果選擇的話,多核和多線程哪個(gè)會(huì)更好?答案是:各有所長。多線程對某些應(yīng)用是非常有效的,但是對另外一些方面來講,多核又是非常必要的。所以這兩種技術(shù)都會(huì)結(jié)合使用。我認(rèn)為將來會(huì)有越來越多的公司結(jié)合使用這兩種技術(shù)。
多線程技術(shù)是MIPS公司近年來才推出的相對比較新的技術(shù),至少對嵌入式市場是比較新的。事實(shí)上英特爾也在他們的一些產(chǎn)品中采用過這個(gè)概念,我們這是再次使用這個(gè)概念。MIPS的多線程產(chǎn)品叫34K,它能靈活地實(shí)現(xiàn)多線程,能夠顯著提高效率和降低成本,例如我們的重要客戶PMC- Sierra,在使用多線程技術(shù)以后,它們的產(chǎn)品性能提高了300%。
實(shí)際上,今天有一家叫Mobiley 的以色列公司,在汽車制造應(yīng)用中同時(shí)使用了多核和多線程技術(shù)。他們用兩個(gè)多線程34K內(nèi)核,替代了原來四個(gè)ARM11內(nèi)核,而34K是多線程,這樣一來,他們在同一種應(yīng)用中既利用了多核技術(shù),也利用了多線程技術(shù)。
MIPS今后會(huì)向兩個(gè)平行的方向發(fā)展,一個(gè)是單線程產(chǎn)品,另一個(gè)是多線程產(chǎn)品。目前,我們性能最高的單線程產(chǎn)品是24K,但很快將會(huì)被另一種更優(yōu)化的單線程產(chǎn)品取代,這款產(chǎn)品將顯著地提高單線程性能。多線程的34K也將提高性能,這會(huì)體現(xiàn)在下一代多線程產(chǎn)品中。