新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Layerscape架構(gòu):深入理解下一代QorIQ LS系列SoC

Layerscape架構(gòu):深入理解下一代QorIQ LS系列SoC

作者: 時(shí)間:2017-06-04 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/201706/348146.htm

18世紀(jì)的發(fā)明家查爾斯。巴貝奇(Charles Babbage)是開路先鋒。盡管他發(fā)明的“差分機(jī)”重達(dá)五噸,擁有20,000多個(gè)運(yùn)動(dòng)零件,這臺(tái)機(jī)器仍然是卓越非凡的發(fā)明物,因?yàn)樗强梢灾貜?fù)編程的。對(duì)于所有硬件而言,它便是從中脫穎而出的神奇軟件。

在現(xiàn)代,全球工程設(shè)計(jì)團(tuán)隊(duì)的調(diào)查顯示,他們編寫軟件的時(shí)間要比創(chuàng)造硬件的時(shí)間更多。工程設(shè)計(jì)公司雇傭的程序員也比工程師數(shù)量更多,而且開發(fā)人員在選擇MPU芯片之前,絕大多數(shù)都會(huì)首先選擇運(yùn)行芯片的軟件環(huán)境。他們營銷部門的同事深知,軟件可以提供令產(chǎn)品卓然不群最為直接的捷徑。原始代碼可以提供“附加值”:獨(dú)一無二的要素可以令一種產(chǎn)品在魚龍混雜和快速發(fā)展的市場(chǎng)中脫穎而出。

這不是說硬件并不重要:恰恰相反。硬件設(shè)計(jì)的重要性實(shí)際上已經(jīng)變得顯而易見。硬件需要快速推出,性能經(jīng)過優(yōu)化可以實(shí)現(xiàn)開箱即用,并且具備軟件意識(shí)。

接下來的步驟

如果MPU只是達(dá)到目的的手段——即釋放現(xiàn)有軟件基礎(chǔ)能力的途徑或者鑰匙——接下來重要的一步便是選擇正確的鑰匙。十分普及的處理器架構(gòu)(例如Intel? x86)可以提供豐富的x86軟件配置,其中大多數(shù)都為個(gè)人計(jì)算機(jī)市場(chǎng)開發(fā)。同樣,Power Architecture?、ARM?或者M(jìn)IPS架構(gòu)都配置包含了各自軟件“俱樂部”的成員。如果目的是為了運(yùn)行個(gè)人計(jì)算機(jī)軟件,x86處理器屬于必備的選擇。對(duì)于嵌入式或者工業(yè)市場(chǎng)而言,開發(fā)人員的選擇方案則更加靈活。

當(dāng)大多數(shù)程序仍然采用匯編語言編寫的時(shí)代,處理器的選擇也決定了程序員的選擇。開發(fā)人員專門致力于各種不同的CPU指令集,勤奮鉆研他們各自首選的ISA.代碼本身與編寫代碼的人才相比同樣一樣不易轉(zhuǎn)換移植;為一個(gè)處理器系列編寫的軟件對(duì)于另一個(gè)處理器系列完全無用,除非作為下一次的實(shí)例解釋如何構(gòu)建代碼。編碼的捍衛(wèi)者會(huì)為匯編語言辯護(hù),聲稱它的高效與快速,而他們的業(yè)務(wù)經(jīng)理通常會(huì)嘲笑它開發(fā)緩慢、過度臃腫、只能針對(duì)于一種硬件平臺(tái)、難以移植,對(duì)于沒有深入原始開始工作的人員而言太過神秘莫測(cè)。

理想情況下,軟件可以實(shí)現(xiàn)快速和高效性,同時(shí)可以快速輕松地進(jìn)行開發(fā)與維護(hù)。沒有技術(shù)已經(jīng)實(shí)現(xiàn)這種理想的情況,盡管已經(jīng)實(shí)現(xiàn)了匯編水平編程的過渡,向更高水平的語言(例如C語言)邁進(jìn),這提供了極大程度的幫助。如今,不到10%的嵌入式開發(fā)人員還在普遍使用匯編語言;超過70%的開發(fā)人員幾乎只在使用C或C++語言??梢浦膊僮飨到y(tǒng)對(duì)此也有幫助。特別是Linux?適用于幾乎所有處理器架構(gòu)和所有硬件配置,使它成為了嵌入式開發(fā)人員近乎通用的平臺(tái)。

在可移植編程語言和通用平臺(tái)之間,這個(gè)行業(yè)比以往任何時(shí)候都更有可能實(shí)現(xiàn)代碼效率(從運(yùn)行時(shí)性能角度考慮)和開發(fā)效率(從成本、上市時(shí)間和可維護(hù)性角度考慮)之間的理想平衡。性能與靈活性和易用性之間的平衡成為了嵌入式處理器供應(yīng)商之間爭(zhēng)相競(jìng)逐的領(lǐng)域。這便是軟件感知架構(gòu)變得至關(guān)重要的原因所在。軟件感知架構(gòu)是幫助客戶通過性能優(yōu)化的代碼庫和(便于實(shí)施的)軟件,可以充分利用和輕松挖掘架構(gòu)能力和功能的一種平臺(tái)。

架構(gòu)介紹

架構(gòu)是下一代QorIQ LS系列片上系統(tǒng)()的底層系統(tǒng)架構(gòu)。從一開始便旨在充分利用新的開發(fā)、提取和效率現(xiàn)實(shí)條件(從字面的雙重含義理解),架構(gòu)的創(chuàng)建是為了讓程序員找到極為輕松的方式“釋放”每一塊芯片的性能。該架構(gòu)延伸了當(dāng)前向多核芯片設(shè)計(jì)發(fā)展的趨勢(shì)(包含同構(gòu)和異構(gòu)),以獲得性能最大化,同時(shí)也可以提取足夠的復(fù)雜硬件,以便讓軟件開發(fā)變得高效、可維護(hù)、靈巧、快速和相對(duì)簡(jiǎn)潔。簡(jiǎn)而言之,Layerscape架構(gòu)可以實(shí)現(xiàn)手寫匯編語言代碼的性能和效率與高等級(jí)語言易用性和現(xiàn)代代碼可維護(hù)性之間的平衡。

Layerscape架構(gòu)可以視為QorIQ P和T系列內(nèi)架構(gòu)()的演進(jìn)——這是一種由多個(gè)CPU內(nèi)核與加速器本身支持網(wǎng)絡(luò)接口和加速器的基礎(chǔ)設(shè)施。

Layerscape架構(gòu)方框圖



圖1.所有LS系列芯片都采用邏輯方式(盡管并非總是從物理角度)被劃分為三個(gè)層次。最高層包括任意類型的處理器,例如基于Power Architecture或者ARM技術(shù)的處理器。向下一層可以通過緩沖區(qū)、隊(duì)列和API訪問,能夠提取實(shí)施項(xiàng)目的詳細(xì)信息。

Layerscape架構(gòu)可以擴(kuò)充,在ISO網(wǎng)絡(luò)模型的獨(dú)立層中單獨(dú)地適當(dāng)加速,這取決特定的芯片。有些芯片(例如)可以處理軟件壓縮,而其他芯片擁有專用的硬件加速器。無論采用哪種方式,功能對(duì)程序員都是透明的,這讓一個(gè)芯片的實(shí)施切換到另一個(gè)芯片的實(shí)施變得簡(jiǎn)單直接,無需修改代碼。結(jié)構(gòu)化編程接口會(huì)包含壓縮(在這個(gè)例子中),這樣代碼既不會(huì)調(diào)用它,也不會(huì)被它所調(diào)用,需要了解壓縮實(shí)際上是如何應(yīng)用的。再次重申,提取可以保存效率與性能,也可以保持開發(fā)人員的理智。

在QorIQ LS系列中,每一個(gè)通信處理器按照邏輯方式劃分為三層,如圖1所示。通用處理層(GPPL)、加速包處理層(APPL)和快遞包(express packet)輸入/輸出層(EPIL)分別粗略地代表了標(biāo)準(zhǔn)ISO模型的高、中和低層。無論芯片是否采用物理方式進(jìn)行如此劃分無關(guān)緊要;程序員認(rèn)同這種方式,這與單個(gè)芯片如何進(jìn)行分配無關(guān)。

在最底層,快遞包I/O層(圖1,褐色部分)提供支持L2+轉(zhuǎn)換功能的所有網(wǎng)絡(luò)接口之間真正具有決定性的線速性能,并且包含芯片的網(wǎng)絡(luò)數(shù)據(jù)報(bào)接口(例如Ethernet、Interlaken、Serial RapidIO?、HiGig和PCI Express?)。重要但不相關(guān)的接口(例如USB或者SATA)將不會(huì)屬于這個(gè)接口層的組成部分,但會(huì)成為芯片“系統(tǒng)接口”模塊的一部分,如圖左側(cè)所示(圖1)。盡管嚴(yán)格來說,PCI Express并不是網(wǎng)絡(luò)接口,它通常用作為堆棧中刀片之間的接口,因此也包括在此處。

中間層(圖1藍(lán)色顯示區(qū)塊)包含芯片的包處理元素,它們或者是硬接線加速器、可編程引擎或者二者的組合。APPL可以通過傳統(tǒng)順序、同步、完整運(yùn)行的模型提供客戶定義的、自主和附加值功能,通過嵌入式C語言結(jié)構(gòu)化編程實(shí)現(xiàn)完全可編程。再次重申,這些元素可以通過定義明確的接口與通用處理器進(jìn)行通信,采用保留極具價(jià)值的開發(fā)人員代碼的方式,提取它們(和處理器的)執(zhí)行的詳細(xì)信息。

通用式處理器(圖1,綠色顯示區(qū)塊)顯而易見是屬于通用性質(zhì),并且面向用戶/開發(fā)人員免費(fèi)提供,用于他們的操作系統(tǒng)、應(yīng)用、高水平代碼和其他附加值、功能。與Layerscape架構(gòu)的提取、效率和硬件獨(dú)立性的價(jià)值保持一致,這一層可以同時(shí)支持Power Architecture和ARM內(nèi)核。一個(gè)人人皆知的事實(shí)是,Power Architecture技術(shù)通常采用二進(jìn)位字節(jié)順序,而ARM技術(shù)通常屬于小端字節(jié)順序,然而Layerscape架構(gòu)可以輕松地支持這兩種技術(shù)。

顯而易見,模塊化硬件架構(gòu)適用于眾多不同的芯片配置,而且是橫跨平臺(tái)配置一致化軟件的單一架構(gòu)。模塊化和靈活的硬件框架包括獨(dú)立可擴(kuò)展的層次,可以實(shí)現(xiàn)QorIQ產(chǎn)品組合的性能和電源效率最大化。如上所述,這些配置甚至包括不同指令集系列的通用型處理器,因此允許開發(fā)人員充分利用不同的代碼庫。Layerscape架構(gòu)的模塊性向上升級(jí)和向下降級(jí)——有時(shí)是在相同的物理套接字內(nèi)——同時(shí)可以保留客戶的代碼。

例如,一次極為基礎(chǔ)的芯片實(shí)現(xiàn)可能只包括低水平接口(例如以太網(wǎng))和高水平通用式處理器(即ARM或者Power Architecture內(nèi)核),之間沒有任何中介加速器。在這種情況下,EPIL層會(huì)對(duì)幀隊(duì)列執(zhí)行包解析、分類和分配(不會(huì)顯示)。然后通用式CPU(或者可能為多個(gè)CPU)會(huì)消耗隊(duì)列的這些數(shù)據(jù)包。


在多個(gè)以太網(wǎng)端口內(nèi)擴(kuò)展這一理念,利用Layerscape架構(gòu)內(nèi)置“鏈路聚合”(link aggregation)功能,同樣的芯片可以作為第2層交換機(jī)。預(yù)分配容量更加充分的芯片可能在中間APPL包括硬件,以便實(shí)現(xiàn)顆粒度級(jí)的數(shù)據(jù)包分類、IPsec、SSL、LRO/TSO和其他高級(jí)聯(lián)機(jī)卸載。與此類似,低水平EPIL可能會(huì)識(shí)別確定的數(shù)據(jù)包類型,并且直接將它們傳送至中間APPL的相關(guān)加速器,完全繞開通用式處理器。

該解決方案的基礎(chǔ)在于其軟件允許程序員快速且輕松地利用架構(gòu)的能力。這款解決方案首先從優(yōu)化的網(wǎng)絡(luò)庫入手,實(shí)現(xiàn)硬件加速功能(例如IPSec、深度包檢測(cè)、IP轉(zhuǎn)發(fā)、NAT/FW等),允許嵌入式開發(fā)人員專注于增值軟件的開發(fā),而無需進(jìn)行性能調(diào)優(yōu)。定義清晰的數(shù)據(jù)路徑和控制API都是許多網(wǎng)絡(luò)應(yīng)用的標(biāo)準(zhǔn)配置,可以采用命令性C語言編程模型針對(duì)定制化應(yīng)用輕松實(shí)現(xiàn)擴(kuò)展。除此之外,軟件框架可以提供標(biāo)準(zhǔn)服務(wù)(例如調(diào)試和配置、資源管理、虛擬化和初始化),以便確保易用性。最后,可以提供關(guān)鍵應(yīng)用(例如軟件定義網(wǎng)絡(luò)、有線傳輸和回程、TCP終止和路由選擇)的參考實(shí)現(xiàn),這不僅可以降低您的研發(fā)投資成本,而且還能夠加速上市時(shí)間。

總結(jié)

Layerscape架構(gòu)將如今性能最強(qiáng)的通信處理器與全世界都在采用的相似的模塊化、高水平編程模型相互結(jié)合。這無需硬件工程設(shè)計(jì)的高等級(jí)別,便可輕松獲得高級(jí)通信引擎。更加重要的是,它不需要重新學(xué)習(xí)每個(gè)芯片實(shí)現(xiàn)的詳細(xì)細(xì)節(jié),可以作一代QorIQ LS系列器件由其后繼產(chǎn)品直接取代。界限分明和定義清晰的編程模型可以在芯片之間、代代之間保存下來,這是基于開發(fā)人員的工作構(gòu)建形成,而非將其視為硬件實(shí)現(xiàn)變更任務(wù)棄之不用。簡(jiǎn)而言之,Layerscape架構(gòu)將開發(fā)團(tuán)隊(duì)最為重要和最具價(jià)值的方面保留了下來:即它獨(dú)具特色的軟件。再次重申,適當(dāng)?shù)挠布攀轻尫跑浖摿Φ年P(guān)鍵所在。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉