在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 不對(duì)稱內(nèi)核的引導(dǎo)固件體系結(jié)構(gòu)

            不對(duì)稱內(nèi)核的引導(dǎo)固件體系結(jié)構(gòu)

            作者: 時(shí)間:2018-08-23 來(lái)源:網(wǎng)絡(luò) 收藏

            摘要

            本文引用地址:http://www.biyoush.com/article/201808/387566.htm

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

            概述

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

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

            背景

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

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

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

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

            引導(dǎo)體系結(jié)構(gòu)的設(shè)計(jì)標(biāo)準(zhǔn)

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

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

            ● 上電復(fù)位向量位置

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

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

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

            a.ISA不兼容

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

            b.ISA部分兼容

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

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

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

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

            ● 公共寄存器:

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

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

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

            上電復(fù)位向量位置

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

            那么復(fù)位向量位置為引導(dǎo)軟件帶來(lái)了什么挑戰(zhàn)呢?對(duì)稱內(nèi)核是絕對(duì)沒(méi)有問(wèn)題的。這是因?yàn)閷?duì)于對(duì)稱內(nèi)核來(lái)說(shuō),引導(dǎo)向量位置解析是相同的。但是,對(duì)于不對(duì)稱內(nèi)核來(lái)說(shuō),則會(huì)產(chǎn)生問(wèn)題,這有兩個(gè)主要原因:

            ● 復(fù)位向量對(duì)于所有可引導(dǎo)的內(nèi)核都不同。

            ● 兩個(gè)或以上可引導(dǎo)的不對(duì)稱內(nèi)核有一個(gè)公共的復(fù)位向量位置。

            復(fù)位向量對(duì)于所有可引導(dǎo)的內(nèi)核都不同

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

            兩個(gè)或以上可引導(dǎo)的不對(duì)稱內(nèi)核有一個(gè)公共的復(fù)位向量位置

            當(dāng)各種不對(duì)稱可引導(dǎo)內(nèi)核共享復(fù)位向量時(shí),問(wèn)題會(huì)變復(fù)雜。

            ● 復(fù)位向量位置解析

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

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

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

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

            結(jié)束語(yǔ)

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



            評(píng)論


            相關(guān)推薦

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

            關(guān)閉