利用MIPS多線程處理器優(yōu)化SoC設(shè)計(jì)
2011-01-21
作者:Delfin Rodillas MIPS科技網(wǎng)絡(luò)業(yè)務(wù)發(fā)展總監(jiān)
來(lái)源:OFweek電子工程網(wǎng)
多線程是一種基于硬件或軟件的處理技術(shù),,它的首要目標(biāo)是計(jì)算型工作中利用并發(fā)來(lái)提高性能。多線程也可以用于區(qū)別各種任務(wù),,以便可以將優(yōu)先權(quán)分配給更多時(shí)間敏感的流量,,如語(yǔ)音、視頻或關(guān)鍵數(shù)據(jù),。而公認(rèn)的基于軟件的多線程技術(shù),,如任務(wù)切換和基于軟件的線程調(diào)度已經(jīng)存在了相當(dāng)一段時(shí)間,很少有人知道基于硬件的多線程的歷史,?;谟布亩嗑€程技術(shù)其實(shí)已經(jīng)存在了相當(dāng)長(zhǎng)一段時(shí)間,其實(shí)現(xiàn)可以追溯到20世紀(jì)60年代的CDC6600,。在CDC6600電腦中,,10個(gè)硬件線程被用來(lái)保證從I/O處理器到約16個(gè)外圍設(shè)備的響應(yīng)時(shí)間。這個(gè)例子的處理器運(yùn)行速度遠(yuǎn)遠(yuǎn)超過(guò)了許多I/O設(shè)備,,是一個(gè)充分利用多線程優(yōu)勢(shì)的典型應(yīng)用,,因?yàn)榭臻e處理時(shí)間可以被從線程到線程切換的有益工作所取代。在70年代,,Denelcor HEP機(jī)是在CPU內(nèi),,而不是在I/O實(shí)際執(zhí)行線程切換。類似上例,,最終結(jié)果是每個(gè)周期的指令(IPC)有了顯著改善,。之后10年推出的其他幾個(gè)系統(tǒng)和學(xué)術(shù)研究進(jìn)一步展示了硬件多線程的好處。
今天的市場(chǎng)上有許多多線程處理器,。英特爾公司已經(jīng)利用其超線程技術(shù)將該技術(shù)引入高端計(jì)算應(yīng)用領(lǐng)域,。此外,其他許多SoC制造商,,如Broadcom,、Lantiq、Mobileye,、NetLogic Microsystems,、PMC-Sierra,、Ralink Technology和Sigma Designs也交付了上百萬(wàn)個(gè)采用多線程處理器的產(chǎn)品。許多這樣的SoC都采用了基于業(yè)界標(biāo)準(zhǔn)MIPS架構(gòu)的多線程MIPS32 34K系列內(nèi)核或多線程,、多處理MIPS32 1004K一致處理系統(tǒng)(CPS),。目前硬件多線程已經(jīng)成為主流應(yīng)用,并越來(lái)越被視為SoC設(shè)計(jì)中實(shí)現(xiàn)最佳性能的有效方法,。
用多線程提高流水線利用率
如前所述,,增加一個(gè)給定單線程處理器的IPC數(shù)量是一個(gè)主要目標(biāo)。通常情況下,,即使是非常高性能的處理器也有大量時(shí)間閑置,,目的是等待數(shù)據(jù)到達(dá)。常見(jiàn)的情況是,,帶有共享存儲(chǔ)系統(tǒng)先進(jìn)處理器需花50%的時(shí)間等待數(shù)據(jù)在緩存未中(cache miss)后返回,。此數(shù)據(jù)檢索的等待時(shí)間可能會(huì)持續(xù)幾十個(gè)周期,在極端情況下甚至是數(shù)百個(gè)周期,。無(wú)論數(shù)量多少,,處理器在此期間做的都是無(wú)效工作。多線程處理器可以在多個(gè)線程之間切換以利用這些閑置的周期,。這些周期現(xiàn)在可以用來(lái)自其他線程的有用指令填滿,,從而避免未使用的周期白白浪費(fèi)。這最終將獲得更好的流水線利用率并提升系統(tǒng)的吞吐量,。
確保線程切換效率的一個(gè)關(guān)鍵環(huán)節(jié)是怎樣進(jìn)行線程相關(guān)信息或語(yǔ)境的管理,。當(dāng)映射到一個(gè)線程時(shí),,每個(gè)任務(wù)都有相關(guān)的上下文信息,,如程序計(jì)數(shù)器和寄存器信息子集,這些信息是以硬件加載和更新的,。在單線程處理器中,,由于處理器在線程之間切換,這些上下文必須導(dǎo)入(swapped in)或?qū)С?。?dāng)在線程之間變換時(shí),,需要有與保存和恢復(fù)操作有關(guān)的額外處理。這種負(fù)擔(dān)可能會(huì)變得非常繁重,,尤其是采用高語(yǔ)境(high context)切換,。多線程處理器支持由每個(gè)硬件支持的線程的完整上下文存儲(chǔ),無(wú)需保存和恢復(fù)操作,。這種機(jī)制支持切換線程或上下文的零周期開(kāi)銷,。
圖1顯示了多線程是如何提高流水線利用率的基本機(jī)制。在這種情況下,,在不同的時(shí)間點(diǎn)有三個(gè)線程出現(xiàn)了緩存未中,。在這些線程暫停(stall)期間,,其他線程在同一條流水線上做著有用的工作,從而增加了IPC,。
MIPS多線程技術(shù)
MIPS科技的多線程技術(shù)基于兩個(gè)層次框架,,涉及虛擬處理單元(VPE)和線程上下文(TC),支持每個(gè)周期的線程切換,。每個(gè)多線程內(nèi)核多達(dá)可支持兩個(gè)VPE,,它們共享其他硬件資源中的一條流水線。不過(guò),,由于每個(gè)VPE可以有自己針對(duì)高速緩存的轉(zhuǎn)換后備緩沖器(Translation Look-aside Buffer,,TLB),因此它們都可作為針對(duì)一個(gè)SMP Linux操作系統(tǒng)的兩個(gè)獨(dú)立處理器出現(xiàn),。對(duì)于更細(xì)粒度的線程處理應(yīng)用,,每個(gè)VPE可以支持多個(gè)TC。這些TC共享一個(gè)執(zhí)行單元,,但各有各的程序計(jì)數(shù)器和內(nèi)核寄存器文件,,以便每個(gè)TC都可以處理來(lái)自軟件的線程。34K內(nèi)核多達(dá)可以支持分配在兩個(gè)VPE上的九個(gè)TC,,在運(yùn)行時(shí)進(jìn)行優(yōu)化和分區(qū),。利用最小的芯片面積可執(zhí)行MIPS多線程功能。
34K內(nèi)核也允許為線程分配處理器周期,,并利用一個(gè)可選的服務(wù)質(zhì)量(QoS)管理塊設(shè)置相對(duì)線程優(yōu)先權(quán),。這有助于實(shí)現(xiàn)兩個(gè)優(yōu)先機(jī)制,確定總線上的信息流量,。第一個(gè)機(jī)制允許用戶讓某一個(gè)線程優(yōu)先于另一個(gè),。第二個(gè)機(jī)制用來(lái)根據(jù)時(shí)間的變化為特定線程分配一個(gè)指定的周期率。這兩個(gè)機(jī)制的結(jié)合使用可以有效地給線程組分配帶寬,,更好地控制延遲,。在實(shí)時(shí)系統(tǒng)中,系統(tǒng)級(jí)的決定是非常關(guān)鍵的,,而QoS塊有利于改善系統(tǒng)的可預(yù)測(cè)性,。圖2a顯示了34K內(nèi)核中VPE、TC和QoS塊的關(guān)系,。
1004K CPS是MIPS科技的最新一代多線程處理器,。該系統(tǒng)支持多達(dá)四個(gè)多線程內(nèi)核,每個(gè)內(nèi)核都可以配置為像34K內(nèi)核那樣支持2個(gè)VPE,。在1004K CPS中的多個(gè)內(nèi)核通過(guò)一個(gè)一致管理單元連接在一起,,以保持每個(gè)CPU的L1高速緩存之間的一致性。一致多內(nèi)核架構(gòu)的每個(gè)內(nèi)核的多線程集成允許1004K CPS超過(guò)同類單線程多核處理器的總性能。該系統(tǒng)還包括一個(gè)可選模塊,,為來(lái)自I/O外圍設(shè)備的數(shù)據(jù)傳輸提供一致性,,從而通過(guò)卸載作為操作系統(tǒng)一部分、通常運(yùn)行于軟件的I/O一致性方案獲得額外的性能,。一致處理系統(tǒng)還包括一個(gè)全局中斷控制器,,可以接收多達(dá)256個(gè)中斷并把它們分配到內(nèi)核,或每個(gè)內(nèi)核內(nèi)的硬件線程,。整個(gè)系統(tǒng)采用MIPS L2高速緩存控制器,,通過(guò)一個(gè)擴(kuò)展的256位寬接口連接到一致管理單元,以優(yōu)化一致系統(tǒng)和L2高速緩存之間的吞吐量,。EJTAG,、“一致管控”程序和數(shù)據(jù)跟蹤塊完善了系統(tǒng),通過(guò)開(kāi)發(fā)工具為系統(tǒng)中的每個(gè)CPU內(nèi)核和一致單元提供了同步的能見(jiàn)度,。
SMP Linux被用來(lái)考察VPE接口的效應(yīng),,從而保持高級(jí)API不變。這使得對(duì)現(xiàn)有傳統(tǒng)內(nèi)核的利用在新內(nèi)核出現(xiàn)后也不會(huì)改變,。此外,,一些諸如ThreadX的RTOS的SMP版本包括對(duì)細(xì)粒度、基于TC的多線程的支持,。應(yīng)該指出的是,,1004K的多線程和多核硬件功能利用了一個(gè)通用的軟件編程模型。也就是說(shuō),,例如,,有人用SMP Linux開(kāi)發(fā)的線程應(yīng)用可以有效地運(yùn)行在34K或1004K上,而無(wú)需修改,,而SMP內(nèi)核可以實(shí)現(xiàn)任務(wù)的親和性以及跨線程和內(nèi)核的工作量負(fù)載均衡決策,。
圖2a:34K頂層架構(gòu),。
圖2b:1004K頂層架構(gòu),。
多線程是一種基于硬件或軟件的處理技術(shù),,它的首要目標(biāo)是計(jì)算型工作中利用并發(fā)來(lái)提高性能,。多線程也可以用于區(qū)別各種任務(wù),以便可以將優(yōu)先權(quán)分配給更多時(shí)間敏感的流量,,如語(yǔ)音,、視頻或關(guān)鍵數(shù)據(jù)。而公認(rèn)的基于軟件的多線程技術(shù),,如任務(wù)切換和基于軟件的線程調(diào)度已經(jīng)存在了相當(dāng)一段時(shí)間,,很少有人知道基于硬件的多線程的歷史。基于硬件的多線程技術(shù)其實(shí)已經(jīng)存在了相當(dāng)長(zhǎng)一段時(shí)間,,其實(shí)現(xiàn)可以追溯到20世紀(jì)60年代的CDC6600,。在CDC6600電腦中,10個(gè)硬件線程被用來(lái)保證從I/O處理器到約16個(gè)外圍設(shè)備的響應(yīng)時(shí)間,。這個(gè)例子的處理器運(yùn)行速度遠(yuǎn)遠(yuǎn)超過(guò)了許多I/O設(shè)備,,是一個(gè)充分利用多線程優(yōu)勢(shì)的典型應(yīng)用,因?yàn)榭臻e處理時(shí)間可以被從線程到線程切換的有益工作所取代,。在70年代,,Denelcor HEP機(jī)是在CPU內(nèi),而不是在I/O實(shí)際執(zhí)行線程切換,。類似上例,,最終結(jié)果是每個(gè)周期的指令(IPC)有了顯著改善。之后10年推出的其他幾個(gè)系統(tǒng)和學(xué)術(shù)研究進(jìn)一步展示了硬件多線程的好處,。
今天的市場(chǎng)上有許多多線程處理器,。英特爾公司已經(jīng)利用其超線程技術(shù)將該技術(shù)引入高端計(jì)算應(yīng)用領(lǐng)域。此外,,其他許多SoC制造商,,如Broadcom、Lantiq,、Mobileye,、NetLogic Microsystems、PMC-Sierra,、Ralink Technology和Sigma Designs也交付了上百萬(wàn)個(gè)采用多線程處理器的產(chǎn)品,。許多這樣的SoC都采用了基于業(yè)界標(biāo)準(zhǔn)MIPS架構(gòu)的多線程MIPS32 34K系列內(nèi)核或多線程、多處理MIPS32 1004K一致處理系統(tǒng)(CPS),。目前硬件多線程已經(jīng)成為主流應(yīng)用,,并越來(lái)越被視為SoC設(shè)計(jì)中實(shí)現(xiàn)最佳性能的有效方法。
用多線程提高流水線利用率
如前所述,,增加一個(gè)給定單線程處理器的IPC數(shù)量是一個(gè)主要目標(biāo),。通常情況下,即使是非常高性能的處理器也有大量時(shí)間閑置,,目的是等待數(shù)據(jù)到達(dá),。常見(jiàn)的情況是,帶有共享存儲(chǔ)系統(tǒng)先進(jìn)處理器需花50%的時(shí)間等待數(shù)據(jù)在緩存未中(cache miss)后返回,。此數(shù)據(jù)檢索的等待時(shí)間可能會(huì)持續(xù)幾十個(gè)周期,,在極端情況下甚至是數(shù)百個(gè)周期。無(wú)論數(shù)量多少,,處理器在此期間做的都是無(wú)效工作,。多線程處理器可以在多個(gè)線程之間切換以利用這些閑置的周期。這些周期現(xiàn)在可以用來(lái)自其他線程的有用指令填滿,從而避免未使用的周期白白浪費(fèi),。這最終將獲得更好的流水線利用率并提升系統(tǒng)的吞吐量,。
確保線程切換效率的一個(gè)關(guān)鍵環(huán)節(jié)是怎樣進(jìn)行線程相關(guān)信息或語(yǔ)境的管理。當(dāng)映射到一個(gè)線程時(shí),,每個(gè)任務(wù)都有相關(guān)的上下文信息,,如程序計(jì)數(shù)器和寄存器信息子集,這些信息是以硬件加載和更新的,。在單線程處理器中,,由于處理器在線程之間切換,這些上下文必須導(dǎo)入(swapped in)或?qū)С?。?dāng)在線程之間變換時(shí),,需要有與保存和恢復(fù)操作有關(guān)的額外處理。這種負(fù)擔(dān)可能會(huì)變得非常繁重,,尤其是采用高語(yǔ)境(high context)切換,。多線程處理器支持由每個(gè)硬件支持的線程的完整上下文存儲(chǔ),無(wú)需保存和恢復(fù)操作,。這種機(jī)制支持切換線程或上下文的零周期開(kāi)銷,。
圖1顯示了多線程是如何提高流水線利用率的基本機(jī)制。在這種情況下,,在不同的時(shí)間點(diǎn)有三個(gè)線程出現(xiàn)了緩存未中,。在這些線程暫停(stall)期間,其他線程在同一條流水線上做著有用的工作,,從而增加了IPC,。
MIPS多線程技術(shù)
MIPS科技的多線程技術(shù)基于兩個(gè)層次框架,涉及虛擬處理單元(VPE)和線程上下文(TC),,支持每個(gè)周期的線程切換,。每個(gè)多線程內(nèi)核多達(dá)可支持兩個(gè)VPE,它們共享其他硬件資源中的一條流水線,。不過(guò),,由于每個(gè)VPE可以有自己針對(duì)高速緩存的轉(zhuǎn)換后備緩沖器(Translation Look-aside Buffer,TLB),,因此它們都可作為針對(duì)一個(gè)SMP Linux操作系統(tǒng)的兩個(gè)獨(dú)立處理器出現(xiàn),。對(duì)于更細(xì)粒度的線程處理應(yīng)用,每個(gè)VPE可以支持多個(gè)TC,。這些TC共享一個(gè)執(zhí)行單元,,但各有各的程序計(jì)數(shù)器和內(nèi)核寄存器文件,,以便每個(gè)TC都可以處理來(lái)自軟件的線程,。34K內(nèi)核多達(dá)可以支持分配在兩個(gè)VPE上的九個(gè)TC,在運(yùn)行時(shí)進(jìn)行優(yōu)化和分區(qū)。利用最小的芯片面積可執(zhí)行MIPS多線程功能,。
34K內(nèi)核也允許為線程分配處理器周期,,并利用一個(gè)可選的服務(wù)質(zhì)量(QoS)管理塊設(shè)置相對(duì)線程優(yōu)先權(quán)。這有助于實(shí)現(xiàn)兩個(gè)優(yōu)先機(jī)制,,確定總線上的信息流量,。第一個(gè)機(jī)制允許用戶讓某一個(gè)線程優(yōu)先于另一個(gè)。第二個(gè)機(jī)制用來(lái)根據(jù)時(shí)間的變化為特定線程分配一個(gè)指定的周期率,。這兩個(gè)機(jī)制的結(jié)合使用可以有效地給線程組分配帶寬,,更好地控制延遲。在實(shí)時(shí)系統(tǒng)中,,系統(tǒng)級(jí)的決定是非常關(guān)鍵的,,而QoS塊有利于改善系統(tǒng)的可預(yù)測(cè)性。圖2a顯示了34K內(nèi)核中VPE,、TC和QoS塊的關(guān)系,。
1004K CPS是MIPS科技的最新一代多線程處理器。該系統(tǒng)支持多達(dá)四個(gè)多線程內(nèi)核,,每個(gè)內(nèi)核都可以配置為像34K內(nèi)核那樣支持2個(gè)VPE,。在1004K CPS中的多個(gè)內(nèi)核通過(guò)一個(gè)一致管理單元連接在一起,以保持每個(gè)CPU的L1高速緩存之間的一致性,。一致多內(nèi)核架構(gòu)的每個(gè)內(nèi)核的多線程集成允許1004K CPS超過(guò)同類單線程多核處理器的總性能,。該系統(tǒng)還包括一個(gè)可選模塊,為來(lái)自I/O外圍設(shè)備的數(shù)據(jù)傳輸提供一致性,,從而通過(guò)卸載作為操作系統(tǒng)一部分,、通常運(yùn)行于軟件的I/O一致性方案獲得額外的性能。一致處理系統(tǒng)還包括一個(gè)全局中斷控制器,,可以接收多達(dá)256個(gè)中斷并把它們分配到內(nèi)核,,或每個(gè)內(nèi)核內(nèi)的硬件線程。整個(gè)系統(tǒng)采用MIPS L2高速緩存控制器,,通過(guò)一個(gè)擴(kuò)展的256位寬接口連接到一致管理單元,,以優(yōu)化一致系統(tǒng)和L2高速緩存之間的吞吐量。EJTAG,、“一致管控”程序和數(shù)據(jù)跟蹤塊完善了系統(tǒng),,通過(guò)開(kāi)發(fā)工具為系統(tǒng)中的每個(gè)CPU內(nèi)核和一致單元提供了同步的能見(jiàn)度。
SMP Linux被用來(lái)考察VPE接口的效應(yīng),,從而保持高級(jí)API不變,。這使得對(duì)現(xiàn)有傳統(tǒng)內(nèi)核的利用在新內(nèi)核出現(xiàn)后也不會(huì)改變。此外,,一些諸如ThreadX的RTOS的SMP版本包括對(duì)細(xì)粒度,、基于TC的多線程的支持,。應(yīng)該指出的是,1004K的多線程和多核硬件功能利用了一個(gè)通用的軟件編程模型,。也就是說(shuō),,例如,有人用SMP Linux開(kāi)發(fā)的線程應(yīng)用可以有效地運(yùn)行在34K或1004K上,,而無(wú)需修改,,而SMP內(nèi)核可以實(shí)現(xiàn)任務(wù)的親和性以及跨線程和內(nèi)核的工作量負(fù)載均衡決策。
圖2a:34K頂層架構(gòu),。
圖2b:1004K頂層架構(gòu),。
多線程應(yīng)用實(shí)例
當(dāng)決定多線程系統(tǒng)是否適用于一個(gè)特定應(yīng)用時(shí),設(shè)計(jì)人員必須考慮幾個(gè)因素,。首先,,設(shè)計(jì)人員必須考慮軟件和所需的功能集,包括不同的任務(wù),、可能分割這些任務(wù)的方式,、每個(gè)任務(wù)的性能需求、不同任務(wù)的總線互動(dòng),、多媒體等任務(wù)的特殊需求,,以及其他考慮因素。其他主要考慮因素包括任務(wù),、安全性,,當(dāng)然還有功耗和成本的協(xié)調(diào)程度。
的確,,分析起來(lái)往往不太簡(jiǎn)單,,因此很好地理解重點(diǎn)至關(guān)重要。例如,,如果目標(biāo)是以最低的成本實(shí)現(xiàn)最高的IPC,,設(shè)計(jì)人員就可以創(chuàng)建多線程系統(tǒng)來(lái)利用單個(gè)內(nèi)核中不同的線程,并運(yùn)行在最高頻率下,。在另一個(gè)設(shè)計(jì)中,,功率可能是一個(gè)關(guān)鍵問(wèn)題,所以設(shè)計(jì)人員可以選擇將任務(wù)分布于多個(gè)內(nèi)核的多個(gè)線程,,并降低頻率以減少功耗,。MIPS-Based多線程系統(tǒng)的關(guān)鍵是可擴(kuò)展性,在需要時(shí)幫助設(shè)計(jì)人員達(dá)到盡可能高的性能,,而當(dāng)性能并不是最優(yōu)先考慮時(shí),,則可以縮減可擴(kuò)展性。另一個(gè)例子是,,一個(gè)系統(tǒng)可能需要運(yùn)行2個(gè)操作系統(tǒng),,同時(shí)要滿足非常嚴(yán)格的QoS和成本限制,。設(shè)計(jì)人員可以利用兩個(gè)VPE運(yùn)行軟件,其中一個(gè)運(yùn)行RTOS,,另一個(gè)運(yùn)行bare iron,,同時(shí)完全隔離語(yǔ)音或視頻等QoS敏感的應(yīng)用,。這些都可以在不運(yùn)行第二個(gè)內(nèi)核的情況下實(shí)現(xiàn),。以下例子的使用模型已經(jīng)部署在用于汽車和網(wǎng)絡(luò)的MIPS-Based多線程SoC中,證明了廣泛的應(yīng)用都可以受益于多線程,。
1.汽車駕駛輔助系統(tǒng)
多線程系統(tǒng)設(shè)計(jì)實(shí)際部署的第一個(gè)例子來(lái)自一家基于視覺(jué)的駕駛輔助系統(tǒng)(DAS)的SoC領(lǐng)先供應(yīng)商,。圖像和視頻分析在性能和成本方面的進(jìn)步使這些技術(shù)開(kāi)始進(jìn)入消費(fèi)市場(chǎng)。但是,,對(duì)這類技術(shù)的不斷改進(jìn)是一個(gè)非常艱巨的任務(wù),。例如,該SoC供應(yīng)商使用了34K處理器的多線程功能,,大幅提高了其視覺(jué)系統(tǒng)(原本基于單線程內(nèi)核)的性能和效率,,系統(tǒng)接收來(lái)自攝像頭的數(shù)據(jù),查找圖像中的元素,,生成車道偏離,、前向碰撞、視覺(jué)/雷達(dá)融合及行人偵測(cè)等警告,。
該SoC系統(tǒng)采用一系列圖像處理引擎作為外圍設(shè)備到主CPU總線的連接,,以提供和接收實(shí)時(shí)數(shù)據(jù)。在這個(gè)系統(tǒng)中,,大量的數(shù)據(jù)和指令從CPU傳輸?shù)綀D像處理引擎,。伴隨著典型的指令緩存未中,這導(dǎo)致了單線程CPU無(wú)法解決的極具挑戰(zhàn)性的瓶頸,。事實(shí)上,,供應(yīng)商的原始系統(tǒng)具有一個(gè)僅為0.3的IPC。新系統(tǒng)采用一個(gè)單線程架構(gòu),,由于其性能要求很高,,這意味著要么放慢整個(gè)系統(tǒng),要么跳過(guò)數(shù)據(jù)處理,,因而有可能導(dǎo)致錯(cuò)誤,。增加CPU時(shí)鐘速度更加劇了這一問(wèn)題,因?yàn)檫@只是增加了處理器暫停的頻率,。此外,,增加的額外內(nèi)核增加了總線競(jìng)爭(zhēng)數(shù)量,從而影響了實(shí)時(shí)帶寬,。
通過(guò)仿真,,設(shè)計(jì)人員的結(jié)論是,,一個(gè)多線程系統(tǒng)將通過(guò)管理整個(gè)系統(tǒng)包括8個(gè)圖像處理引擎的多個(gè)操作來(lái)性能提升。他們采用了一個(gè)4線程34Kf內(nèi)核與8的圖像處理引擎互動(dòng),。一個(gè)QoS管理器起到了調(diào)整和優(yōu)化關(guān)鍵線程的重要作用,。實(shí)際上,這種架構(gòu)有助于將IPC從0.3提高到0.9,。使用QoS管理器對(duì)IPC從0.6到0.9非常關(guān)鍵,。此外,有了如此高的IPC,,增加的CPU時(shí)鐘實(shí)現(xiàn)了顯著的改善,。事實(shí)上,由于利用了其多線程和其他架構(gòu)的改進(jìn),,供應(yīng)商只需將頻率從110MHz適度地增加至166MHz,,同時(shí)維持3W的功耗(這是前一代產(chǎn)品的功耗),就能夠?qū)崿F(xiàn)其性能目標(biāo),。此外,,第二個(gè)34Kf內(nèi)核的實(shí)例可以支持一個(gè)用戶的專有算法。在這兩個(gè)處理器線程之間的通信是通過(guò)對(duì)一個(gè)線程間通信塊的修改來(lái)實(shí)現(xiàn)的,,這實(shí)際上有助于提高系統(tǒng)一致性,。對(duì)于未來(lái)的系統(tǒng),將要求更高的性能和更低的成本,。該SoC供應(yīng)商將會(huì)采用一個(gè)4內(nèi)核1004Kf CPS,,以確保設(shè)計(jì)能夠滿足這些目標(biāo)。
2.寬帶CPE/住宅網(wǎng)關(guān)
住宅網(wǎng)關(guān)是另一個(gè)面臨日益集成的系統(tǒng),。寬帶客戶端設(shè)備已經(jīng)發(fā)展到不僅是提供DSL,、有線或PON等寬帶服務(wù)等基本接入的調(diào)制解調(diào)器設(shè)備。它們已成為集成式住宅網(wǎng)關(guān)或集成式接入設(shè)備,,其中包括路由/交換,、雙絞線/同軸/電源線/WiFi網(wǎng)絡(luò)功能、安全,、USB和VoIP支持等,,以及基本的調(diào)制解調(diào)器功能。某些架構(gòu)還集成了存儲(chǔ)功能,,其中的網(wǎng)關(guān)可作為媒體服務(wù)器使用,。這種集成使網(wǎng)關(guān)系統(tǒng)的設(shè)計(jì)極具挑戰(zhàn)性,而多線程可以提高性能和/或改進(jìn)這些設(shè)備的整體架構(gòu),。
無(wú)線家庭網(wǎng)絡(luò)和寬帶接入半導(dǎo)體市場(chǎng)的全球技術(shù)領(lǐng)導(dǎo)廠商Ralink Technology已在網(wǎng)關(guān)中成功部署了多線程MIPS-Based SoC,。ADSL IAD是Ralink的首個(gè)基于34K內(nèi)核的芯片,目前已批量生產(chǎn),并已成功部署在歐洲電信運(yùn)營(yíng)商的網(wǎng)絡(luò)中,。多線程已被證明非常適合這個(gè)三網(wǎng)融合系統(tǒng),,因?yàn)樗兄诟行У剡\(yùn)行多個(gè)應(yīng)用。此外,,通過(guò)使用VPE對(duì)時(shí)間敏感流量進(jìn)行隔離是保證確定性響應(yīng)的關(guān)鍵,。該SoC采用一個(gè)34K內(nèi)核和在兩個(gè)VPE上的四個(gè)線程。第一個(gè)VPE即VPE0執(zhí)行三個(gè)線程,,支持WLAN,、以太網(wǎng)和USB處理,而第二個(gè)VPE即VPE1執(zhí)行一個(gè)線程,,支持ATM和VoIP,。憑借這個(gè)架構(gòu),,Ralink能夠以單個(gè)器件有效地提供確定性VoIP響應(yīng),,支持多個(gè)應(yīng)用。
本文小結(jié)
硬件多線程是一種已經(jīng)成為主流的技術(shù),,今天有許多芯片供應(yīng)商在為各種應(yīng)用提供MIPS-Based多線程SoC,。本文討論了網(wǎng)絡(luò)和汽車應(yīng)用,而多線程可以用于任何具有很多并發(fā)任務(wù),,或者是QoS非常重要的系統(tǒng),。其他廠商已經(jīng)實(shí)現(xiàn)了用于機(jī)頂盒、高端存儲(chǔ)和網(wǎng)絡(luò)基礎(chǔ)設(shè)施設(shè)備的MIPS多線程SoC,。而一些評(píng)估已開(kāi)始用于移動(dòng)應(yīng)用中使用的多線程,,如智能手機(jī)和平板電腦。作為集成的通信,、生產(chǎn)力和多媒體娛樂(lè)設(shè)備,,這些設(shè)備的復(fù)雜性還在不斷增長(zhǎng)。多線程將是有效處理多個(gè)移動(dòng)應(yīng)用(其中一些是延遲敏感的應(yīng)用)的理想解決方案,。當(dāng)然,,可以采用使用多個(gè)內(nèi)核同時(shí)處理線程的強(qiáng)制方法,但是采用多線程是迄今為止實(shí)現(xiàn)IPC和/或QoS性能要求的一個(gè)更完美和成本更低的方法,。通過(guò)提供支持硬件多線程的單內(nèi)核和多內(nèi)核產(chǎn)品,,MIPS科技具備獨(dú)特的優(yōu)勢(shì),可幫助設(shè)計(jì)人員以非常具有成本效益的方式開(kāi)發(fā)高性能和低功耗的SoC,。
作者:Delfin Rodillas
網(wǎng)絡(luò)業(yè)務(wù)發(fā)展總監(jiān)
MIPS科技