當前位置:首頁 > 單片機 > 單片機
[導讀]過去,支持不同計算內(nèi)核(對稱/不對稱架構(gòu))的處理器通常從一個特定的內(nèi)核(一般為主內(nèi)核或內(nèi)核0)引導。由于經(jīng)濟增長放緩,半導體公司力求創(chuàng)新,尋求不同的方式和方法提高經(jīng)濟效益,增加其毛利率。

摘要

過去,支持不同計算內(nèi)核(對稱/不對稱架構(gòu))的處理器通常從一個特定的內(nèi)核(一般為主內(nèi)核或內(nèi)核0)引導。由于經(jīng)濟增長放緩,半導體公司力求創(chuàng)新,尋求不同的方式和方法提高經(jīng)濟效益,增加其毛利率。片上系統(tǒng)(SoC)解決方案旨在滿足多個領(lǐng)域的要求。如支持不對稱引導,各個公司可使用相同的光刻掩模將SoC的目標范圍擴展到各個不同的市場。

概述

人們對互連世界的渴望催生了獨特的系統(tǒng)架構(gòu)設(shè)計,包括使用同構(gòu)或異構(gòu)計算架構(gòu)的單核系統(tǒng)及多核架構(gòu)。

目前設(shè)計的復雜應(yīng)用需要支持在系統(tǒng)中執(zhí)行特定功能的特殊硬件加速器。這些以ASIC(特定用途集成電路)、FPGA(現(xiàn)場可編程門陣列)、GPU(圖形處理單元)等形式實現(xiàn)。這些不同的功能單元大多采用不同的指令集架構(gòu)(ISA)。

背景

過去,支持不同計算內(nèi)核(對稱/不對稱架構(gòu))的處理器通常從一個特定的內(nèi)核(一般指定為主內(nèi)核或內(nèi)核0)引導。由于經(jīng)濟增長放緩,半導體公司力求創(chuàng)新,尋求不同的方式和方法來提高經(jīng)濟效益,增加其毛利率。片上系統(tǒng)(SoC)解決方案旨在滿足多個領(lǐng)域的要求。如支持不對稱引導,各個公司可使用相同的光刻掩模將SoC的目標范圍擴展到各個不同的市場。例如,如果一個SoC有一個應(yīng)用處理器(AP)和一個實時控制器內(nèi)核,SoC可從AP或?qū)崟r控制器引導,同一個SoC不僅可用于高性能(采用AP引導方式)應(yīng)用,還可用于關(guān)鍵任務(wù)(低延遲、關(guān)鍵時間應(yīng)用)應(yīng)用。

什么是不對稱內(nèi)核?

不對稱內(nèi)核是指一個系統(tǒng)的兩個及以上的處理元件或單元擁有不同的指令集架構(gòu)(ISA)。這些內(nèi)核為整個系統(tǒng)提供特定的功能,如改善系統(tǒng)的處理能力或加快系統(tǒng)的反應(yīng)速度等。

因此不對稱內(nèi)核系統(tǒng)軟件設(shè)計就成了一個難題。如果SoC支持從多個內(nèi)核引導,問題則變得更加復雜。第一個問題是引導體系結(jié)構(gòu)。本文闡述采用不對稱內(nèi)核架構(gòu)的引導固件設(shè)計。

引導體系結(jié)構(gòu)的設(shè)計標準

在定義此類系統(tǒng)的引導體系結(jié)構(gòu)時會遇到各種問題,不是每個問題都有通用的解決方案。有時一個解決方案還需要硬件支持。以下是設(shè)計人員遇到的一些設(shè)計問題:

● 指令集架構(gòu)(ISA)兼容性

● 上電復位向量位置

指令集架構(gòu)兼容性

第一個也是最重要的設(shè)計挑戰(zhàn)是不同內(nèi)核的指令集架構(gòu)(ISA)兼容性問題。ISA是指硬件和軟件之間的邊界。ISA用于將助記符轉(zhuǎn)換成機器語言(能夠被處理器理解)。

根據(jù)ISA,引導體系結(jié)構(gòu)可分為兩個部分:

a.ISA不兼容

這意味著為一個內(nèi)核編寫的軟件無法被其它內(nèi)核理解。在此類系統(tǒng)中,引導代碼對不同的內(nèi)核是完全不同的。

b.ISA部分兼容

這意味著不同的內(nèi)核支持一個共同的ISA版本,例如,包含ARM Cortex-A和Cortex-M內(nèi)核的系統(tǒng)。對于此類系統(tǒng),引導代碼分為兩部分。

● 第一部分是特定內(nèi)核的引導代碼,實現(xiàn)單個內(nèi)核的特定軟件功能。

● 第二部分是采用通用ISA實現(xiàn)的公共引導代碼,實現(xiàn)批量引導功能。該軟件調(diào)用第一部分實現(xiàn)的特定內(nèi)核的軟件。

許多處理器架構(gòu)采用處理器ID或CPU ID等寄存器。SoC設(shè)計人員針對不同的內(nèi)核對該寄存器賦予不同的值。通過讀取該處理器ID寄存器來識別內(nèi)核類型。根據(jù)該寄存器,引導代碼可決定實現(xiàn)特定內(nèi)核的功能。要點是公共引導代碼可在不同內(nèi)核上執(zhí)行相同的指令,再根據(jù)執(zhí)行內(nèi)核產(chǎn)生不同的結(jié)果。

● 公共寄存器:

如果該寄存器是內(nèi)存映射的,那么訪問該寄存器的地址對于所有內(nèi)核都必須相同。例如,在對接ARM Cortex-Ax和Cortex-Mx時,處理器ID寄存器通過不同的助記符訪問。因此,在此類SOC設(shè)計中需要采用內(nèi)存映射寄存器,識別執(zhí)行內(nèi)核的機制也與硬件相關(guān)。

● 使用相同的指令讀取處理器ID/CPU ID:

在某些情況下,將寄存器作為某種特殊目的寄存器(Special Purpose Register)(如在PowerPC的情況下)。應(yīng)注意,相同的指令可用于通過不同的內(nèi)核訪問該寄存器。例如,當在SoC中集成Z2和Z4 PowerPC內(nèi)核時,用SPR 286寄存器訪問處理器ID。

上電復位向量位置

上電復位向量位置表示加載到內(nèi)核程序計數(shù)器的地址,當內(nèi)核復位后從該地址提取第一個指令,這對不對稱內(nèi)核SoC引導體系結(jié)構(gòu)提出了一個重大的設(shè)計挑戰(zhàn)。包含多個內(nèi)核的SoC可設(shè)計為從任何可用內(nèi)核進行引導。大多數(shù)情況下,從哪個內(nèi)核引導是可配置的,但是,由于引導軟件駐留到微處理器的ROM區(qū)域,因此引導軟件應(yīng)能夠在選定的引導內(nèi)核上運行。

那么復位向量位置為引導軟件帶來了什么挑戰(zhàn)呢?對稱內(nèi)核是絕對沒有問題的。這是因為對于對稱內(nèi)核來說,引導向量位置解析是相同的。但是,對于不對稱內(nèi)核來說,則會產(chǎn)生問題,這有兩個主要原因:

● 復位向量對于所有可引導的內(nèi)核都不同。

● 兩個或以上可引導的不對稱內(nèi)核有一個公共的復位向量位置。

復位向量對于所有可引導的內(nèi)核都不同

如果復位向量對于所有可引導的內(nèi)核都不同,那么這個問題的解決方案可在引導軟件中實現(xiàn),如下圖所示。引導軟件將位于ROM內(nèi)存區(qū)的不同位置,內(nèi)核在上電復位后將從該位置跳轉(zhuǎn)。

兩個或以上可引導的不對稱內(nèi)核有一個公共的復位向量位置

當各種不對稱可引導內(nèi)核共享復位向量時,問題會變復雜。

● 復位向量位置解析

即使復位向量位置對于兩個或以上不對稱內(nèi)核是相同的,然而,復位向量位置可用的數(shù)據(jù)的解析對于不同的內(nèi)核可能會不同。例如,如果一個SoC有兩個不對稱內(nèi)核Cortex-Ax和Cortex-Mx,那么復位向量位置對于這兩個內(nèi)核均為0x0000_0000。該地址可用的數(shù)據(jù)被這兩個內(nèi)核以不同的方式解析。Cortex-Ax將該數(shù)據(jù)解析為一個指令,導致跳轉(zhuǎn)到引導固件代碼將駐留的位置。但同樣的數(shù)據(jù)被Cortex-Mx內(nèi)核解析為堆棧指針。

● 指令集架構(gòu)不兼容

復位向量位置呈現(xiàn)的代碼可被一個內(nèi)核理解,但無法被另一個內(nèi)核理解。這可能會產(chǎn)生異常,或者使不能理解代碼的內(nèi)核進入不可預知的狀態(tài)。

在這種情況下,人們可能想把失敗內(nèi)核的復位向量位置轉(zhuǎn)到不同的地址位置,即映射到閃存或任何非易失性存儲器位置。不能僅在軟件設(shè)計中解決此類問題,還需要硬件支持。該解決方案需要SoC硬件的地址轉(zhuǎn)換邏輯,將所有可引導不對稱內(nèi)核總線上的復位向量地址轉(zhuǎn)換為復位向量表駐留的ROM存儲器區(qū)的不同位置。

結(jié)束語

本文展示了為不對稱內(nèi)核系統(tǒng)設(shè)計引導體系結(jié)構(gòu)的不同設(shè)計方法。此類系統(tǒng)的設(shè)計方法不限于本文所述內(nèi)容,但主要受SOC設(shè)計的限制。設(shè)計人員甚至可以根據(jù)硬件架構(gòu)結(jié)合使用所述不同方法。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉