在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

處理器架構(gòu)的性能特點(diǎn)及如何正確的選擇編譯器與仿真工具

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì)技術(shù) ? 作者:Robert , Cravotta ? 2020-04-23 08:02 ? 次閱讀

處理器架構(gòu)的一個(gè)主要性能特點(diǎn)是單位時(shí)間內(nèi)能執(zhí)行多少專(zhuān)用工作。EEMBC (嵌入式微處理器基準(zhǔn)協(xié)會(huì))基準(zhǔn)與Dhrystone MIPS (每秒百萬(wàn)次指令) 評(píng)分不同,它描述了在嵌入式系統(tǒng)應(yīng)用中執(zhí)行任務(wù)的處理器性能。EEMBC 基準(zhǔn)的1.0版本并未涉及對(duì)處理器性能系統(tǒng)級(jí)的影響,如內(nèi)存子系統(tǒng),因?yàn)樵摶鶞?zhǔn)經(jīng)常在處理器的第一緩存內(nèi)起作用。但EEMBC的第二代針對(duì)網(wǎng)絡(luò)與數(shù)字娛樂(lè)的系統(tǒng)級(jí)基準(zhǔn),更實(shí)際地強(qiáng)調(diào)具有較大緩存內(nèi)存的處理器。

處理器內(nèi)存子系統(tǒng)的系統(tǒng)級(jí)影響越來(lái)越重要,因?yàn)閮?nèi)存類(lèi)型和大小及系統(tǒng)中的存取方式規(guī)定了處理器內(nèi)核性能的上限。據(jù) ARM處理器部門(mén)的Gerard Williams III認(rèn)為,理 想內(nèi)存系統(tǒng)的處理器必然要采用緩存,并有理想的存取總線的方式。芯片設(shè)計(jì)師必須首先了解處理器的IPC (每周期指令)能力,然后嘗試實(shí)現(xiàn)能將性能損失降到最低的內(nèi)存架構(gòu)。這種性能損失可能來(lái)自緩存或內(nèi)存存取影響,如由于容量損失、緩存大小或沖突失效形成的丟失率。

匹配良好的內(nèi)存子系統(tǒng)可以保持處理器的最大IPC 率,而匹配不好的內(nèi)存子系統(tǒng)會(huì)空置內(nèi)核的執(zhí)行單元,而大大地降低處理器的性能。雖然構(gòu)建與實(shí)現(xiàn)內(nèi)存子系統(tǒng)不會(huì)影響處理器內(nèi)核的性能,但還是具有很大的挑戰(zhàn)性,因?yàn)樵谔幚砥鬟壿嬇c內(nèi)存間存在的性能差異正隨著每次工藝技術(shù)的變化而逐步增大。實(shí)際上,內(nèi)存存取延遲的改進(jìn)及每個(gè)工藝技術(shù)步驟接收內(nèi)存請(qǐng)求的時(shí)間都比處理器內(nèi)核邏輯的同量時(shí)鐘速率提高要少。

同樣,軟件開(kāi)發(fā)人員通過(guò)有預(yù)見(jiàn)性地在內(nèi)存子系統(tǒng)中安置編程指令與數(shù)據(jù),可實(shí)現(xiàn)的最佳性能影響,就是保持處理器的最大IPC率。然而,在設(shè)備使用情況下,內(nèi)存子系統(tǒng)中匹配不當(dāng)?shù)某绦蛑噶詈蛿?shù)據(jù),會(huì)極大地降低處理器的性能。Freescale關(guān)于防止M1存儲(chǔ)沖突的應(yīng)用注釋提供了一個(gè)范例,說(shuō)明了由于存儲(chǔ)沖突會(huì)造成54% 處理器性能下降,開(kāi)發(fā)人員可通過(guò)更好地安置數(shù)據(jù)緩沖器來(lái)避免發(fā)生這種情況(參考文獻(xiàn)1)。

一般而言,編譯器與仿真工具以全局的優(yōu)化對(duì)在內(nèi)存中放置指令和數(shù)據(jù)可提供有限的幫助。Green Hills的優(yōu)化編譯器支持內(nèi)存中的功能重新安排,以優(yōu)化緩存命中率。Texas Instruments的CodeSizeTune 基于仿真的編譯工具可幫助開(kāi)發(fā)人員探索配置,采用影響代碼大小和執(zhí)行速度的不同的編譯器設(shè)置自動(dòng)構(gòu)建和仿真不同版本軟件(圖1)。一般來(lái)說(shuō),對(duì)許多高效和實(shí)時(shí)約束系統(tǒng)來(lái)說(shuō),軟件開(kāi)發(fā)人員的困難就是要了解內(nèi)存子系統(tǒng)以避免由于系統(tǒng)不能有效地使用處理與內(nèi)存資源,而承擔(dān)不必要的BOM (物料清單)成本。

處理器架構(gòu)的性能特點(diǎn)及如何正確的選擇編譯器與仿真工具

延遲容差

在實(shí)現(xiàn)內(nèi)存架構(gòu)時(shí)最主要的擔(dān)心就是使處理器能夠?qū)ο到y(tǒng)使用的內(nèi)存的存取延遲實(shí)現(xiàn)容差。設(shè)計(jì)合理的內(nèi)存子系統(tǒng)可以掩藏系統(tǒng)多數(shù)的內(nèi)存存取延遲,并能提供足夠的讀/寫(xiě)吞吐速率,即相同數(shù)據(jù)模塊中隨后發(fā)生的數(shù)據(jù)內(nèi)存存取時(shí)間,以支持連續(xù)存取。這種情況避免了空置處理器的執(zhí)行單位的指令和數(shù)據(jù)。內(nèi)存設(shè)計(jì)人員必須根據(jù)內(nèi)存的芯片面積、內(nèi)存消耗的總功率、軟件開(kāi)發(fā)人員對(duì)內(nèi)存使用的方便性及工具等因素對(duì)內(nèi)存存取延遲進(jìn)行權(quán)衡(參見(jiàn)附文1“方便使用”)。

內(nèi)存存取延遲的直接誘因?yàn)橛脕?lái)執(zhí)行地址解碼、激活適當(dāng)字線、檢測(cè)位線及驅(qū)動(dòng)檢測(cè)放大器輸出的時(shí)間。地址解碼延遲為鎖定地址,確定哪個(gè)字線需要激活的時(shí)間,此過(guò)程將O(n log n) 時(shí)間作為內(nèi)存行與列尋址大小的函數(shù)。因此,隨著內(nèi)存結(jié)構(gòu)的擴(kuò)大,解碼與尋址所需的時(shí)間也相應(yīng)增加。字線激活延遲是字線上升所需的時(shí)間,主要是與線長(zhǎng)相關(guān)的RC 延遲,線長(zhǎng)越長(zhǎng)則延遲越長(zhǎng)。位線檢測(cè)延遲是檢測(cè)放大器檢測(cè)單元內(nèi)容所需的時(shí)間。位線架構(gòu)、檢測(cè)驅(qū)動(dòng)線的RC、單元與位的容量比、及檢測(cè)放大器拓?fù)涞榷紩?huì)影響位線檢測(cè)延遲。輸出驅(qū)動(dòng)延遲是一種RC 延遲,驅(qū)動(dòng)從檢測(cè)放大器到輸出端傳送數(shù)據(jù)的時(shí)間。

內(nèi)存與管理內(nèi)存的邏輯占用了許多基于處理器設(shè)備的芯片面積。結(jié)果,內(nèi)存可以是設(shè)備的芯片成本最大的部件,也是系統(tǒng)中消耗動(dòng)態(tài)和靜態(tài)功率最大的部件。許多類(lèi)型的易失與非易失內(nèi)存各有好壞,系統(tǒng)設(shè)計(jì)人員必須要兼顧并管理重要的參數(shù),以較低的成本和功耗來(lái)實(shí)現(xiàn)足夠好的內(nèi)存性能。

為了兼顧掩藏內(nèi)存存取延遲、芯片成本及功耗,基于處理器的設(shè)備通常都依賴一個(gè)多層內(nèi)存結(jié)構(gòu),將少量快速而昂貴的內(nèi)存靠近處理器內(nèi)核,而將大量慢速內(nèi)存遠(yuǎn)離處理器內(nèi)核(圖2)。處理器寄存器是系統(tǒng)中最快且最難得的內(nèi)存資源,內(nèi)存體系還可以使用局部?jī)?nèi)存或TCM(緊密耦合的內(nèi)存)、多階緩存、及易失性與非易失性片上內(nèi)存與片外內(nèi)存。

現(xiàn)代的優(yōu)化編譯器在管理使用處理器寄存器方面很合適,但在管理與優(yōu)化其它內(nèi)存上則較差。這種情況部分是由于利用本地查看程序代碼,優(yōu)化使用寄存器與戰(zhàn)術(shù)實(shí)施配合良好。為了在基于處理器的系統(tǒng)中優(yōu)化使用其它內(nèi)存結(jié)構(gòu),如TCM,需要更具全局性地查看系統(tǒng),此功能正出現(xiàn)在多數(shù)的編譯器中。

局部?jī)?nèi)存或連接到處理器核的TCM通過(guò)局部或?qū)iT(mén)的內(nèi)存總線來(lái)存取類(lèi)似于緩存的性能。內(nèi)存存取確定機(jī)制為T(mén)CM與緩存間的主要區(qū)別。人工暫時(shí)鎖定緩存線可在線級(jí)使能緩存,使其作為一個(gè)TCM。程序指令與通過(guò)TCM實(shí)施代碼存取具有確定的能力,但對(duì)于緩存,設(shè)計(jì)人員必須考慮緩存丟失的最壞情況?!皩?duì)于緩存丟失處理的典型經(jīng)驗(yàn)法則是,存取延遲比前一級(jí)別增長(zhǎng)一個(gè)數(shù)量級(jí)”Innovative Silicon的架構(gòu)總監(jiān)David Fisch 說(shuō)?!癓2 內(nèi)存存取延遲是L1 緩存存取延遲的10 倍,而L3緩存存取延遲又是L2 內(nèi)存存取延遲的10倍?!笔褂肨CM將任務(wù)加給軟件開(kāi)發(fā)人員手動(dòng)的管理內(nèi)存空間,通常是使用DMA 控制器,以便在處理器 需要時(shí),使必要的代碼和數(shù)據(jù)在TCM 中。

緩存由速度稍慢的內(nèi)存構(gòu)成來(lái)掩藏大量速度較慢內(nèi)存的延遲。較慢的內(nèi)存密度更大,所以也更便宜。緩存依賴暫存的空間局部區(qū)域來(lái)掩藏較慢內(nèi)存的存取延遲。“暫存局部性” 描述了這種區(qū)域特點(diǎn):如果處理器請(qǐng)求一些數(shù)據(jù),那么,處理器很快又需要相同的數(shù)據(jù)。通過(guò)在存儲(chǔ)中保留數(shù)據(jù)復(fù)本,緩存可以避免數(shù)據(jù)進(jìn)入較慢的內(nèi)存中。“空間局部性” 描述了區(qū)域的另一種特性:即處理器請(qǐng)求在某個(gè)內(nèi)存位置的代碼,而下一處理器請(qǐng)求為下一內(nèi)存位置或與其相近位置的代碼。利用在初始取數(shù)同時(shí)預(yù)取靠近當(dāng)前請(qǐng)求數(shù)據(jù)的一定量的數(shù)據(jù),緩存在其存儲(chǔ)中就可以有下幾個(gè)數(shù)據(jù)位置,而不會(huì)從較慢內(nèi)存中發(fā)生另一取數(shù)的延遲。

較大緩存通常意味著犧牲更多芯片面積而實(shí)現(xiàn)較少的緩存丟失。提高表示特定的內(nèi)存可存在于緩存中的位置數(shù)的緩存相關(guān)性,幾乎總能減少緩存丟失。緩存線長(zhǎng)度可根據(jù)應(yīng)用的特性作正向或反向變化。Tensilica首席架構(gòu)師Bill Huffman告訴我們:“配置緩存是一項(xiàng)迭代任務(wù),它高度依賴可在處理器中執(zhí)行的應(yīng)用集?!?/p>

平衡各種緩存參數(shù)是一個(gè)復(fù)雜的過(guò)程,涉及到在芯片面積與丟失率間的取舍(圖3)。圖中列出了JPEG編碼應(yīng)用的緩存配置范圍:從負(fù)載丟失率為13.4% 的4k字節(jié)直接映射的16 字節(jié)線的配置,到負(fù)載丟失率為1.9%的32k字節(jié)、四路相關(guān)的64 字節(jié)線的配置(參考文獻(xiàn)2)。盡管緩存越大越好,但對(duì)32k字節(jié)緩存有優(yōu)勢(shì)收益遞減的趨勢(shì)。提高緩存線大小所具有的性能優(yōu)勢(shì)比緩存大小增加一倍所提高的性能更多,緩存線越長(zhǎng),芯片成本越小。盡管大緩存相關(guān)性越高越好,但在此例中,從兩路到四路相關(guān)性能產(chǎn)生的優(yōu)勢(shì)很少。簡(jiǎn)而言之,對(duì)于配置緩存并沒(méi)有明確的經(jīng)驗(yàn)法則。

決策驅(qū)動(dòng)器

處理器內(nèi)核架構(gòu)為內(nèi)存架構(gòu)選項(xiàng)中設(shè)計(jì)人員的第一選擇。原因是設(shè)計(jì)人員構(gòu)建內(nèi)核時(shí)假定了內(nèi)存組件與內(nèi)核如何接口并對(duì)其如何補(bǔ)充。Von Neumann 和Harvard 架構(gòu)為兩種常見(jiàn)的處理器架構(gòu),分別模仿并實(shí)施不同的方法來(lái)查看和存取內(nèi)存?;趘on Neumann 架構(gòu)模型的處理器將系統(tǒng)內(nèi)存建模成保存程序指令和數(shù)據(jù)的單一存儲(chǔ)結(jié)構(gòu),并有單一總線接口服務(wù)所有程序和數(shù)據(jù)存取?;贖arvard 架構(gòu)的處理器對(duì)系統(tǒng)內(nèi)存建模,程序指令和數(shù)據(jù)作為物理和邏輯分離存儲(chǔ)結(jié)構(gòu),以不同的總線接口,一個(gè)用于指令,另一個(gè)用于數(shù)據(jù)。Harvard 架構(gòu)支持同時(shí)存取程序指令與數(shù)據(jù),而von Neumann 架構(gòu)則不會(huì)。

為了選擇一個(gè)優(yōu)化的內(nèi)存設(shè)計(jì) ,設(shè)計(jì)人員還必須了解應(yīng)用的特點(diǎn)和要求。對(duì)內(nèi)存設(shè)計(jì)的考慮有: 應(yīng)用的數(shù)據(jù)如何進(jìn)出系統(tǒng),處理器能否直接加載數(shù)據(jù)或外部代理,DMA控制器能否將數(shù)據(jù)載入處理器的局部RAM中?同時(shí)也必須對(duì)輸出提出類(lèi)似的問(wèn)題:處理器會(huì)不會(huì)直接驅(qū)動(dòng)輸出端口?或由外部代理,如DMA 控制器來(lái)驅(qū)動(dòng),能否將數(shù)據(jù)從處理器的局部RAM 傳輸?shù)絀/O 接口中?其它問(wèn)題包括:什么是應(yīng)用的啟動(dòng)過(guò)程?系統(tǒng)能否有效地利用特殊內(nèi)存接口?片上內(nèi)存資源能否容納所有的代碼與應(yīng)用數(shù)據(jù),還是僅能容納性能敏感的代碼與數(shù)據(jù)?

應(yīng)用啟動(dòng)要求從何處存儲(chǔ)初始化代碼,以及系統(tǒng)通過(guò)什么接口進(jìn)行存取。片上OTP(一次性可編程)ROM很小且具有較高的芯片密度,所以對(duì)于儲(chǔ)存啟動(dòng)代碼非常有用。它支持快速啟動(dòng),因?yàn)樵趩?dòng)后到開(kāi)始執(zhí)行不需要等待時(shí)間。初始化代碼可能在閃存中的某個(gè)位置駐存并執(zhí)行,也可以存在于芯片外內(nèi)存中,也可映射到片上指令RAM中,這可造成系統(tǒng)啟動(dòng)時(shí)間較長(zhǎng)。如果應(yīng)用代碼和數(shù)據(jù)能駐存于片上內(nèi)存中,就沒(méi)有必要支持片外內(nèi)存接口。如果性能敏感的程序代碼可載入局部?jī)?nèi)存中,設(shè)計(jì)人員就不需要實(shí)施緩存了。

設(shè)計(jì)人員可根據(jù)已知應(yīng)用的約束條件調(diào)整處理器,這些處理器僅包括應(yīng)用所需的隨機(jī)和非易失性內(nèi)存量。TCM的大小和參數(shù)、緩存或特殊內(nèi)存都是針對(duì)應(yīng)用而設(shè)計(jì)的。針對(duì)較寬應(yīng)用的處理器通常實(shí)施一個(gè)普通的內(nèi)存架構(gòu),這些架構(gòu)包括應(yīng)用的最大資源要求,以提供較少資源的各種設(shè)備來(lái)滿足較低的成本要求。對(duì)于采用類(lèi)似處理器核架構(gòu)的系統(tǒng),內(nèi)存子系統(tǒng)成為更高級(jí)的驅(qū)動(dòng)器,以提供系統(tǒng)可交付的處理性能、功耗及價(jià)格(參見(jiàn)附文2“多種選擇”)。

內(nèi)存控制器對(duì)所服務(wù)的內(nèi)存模塊的實(shí)現(xiàn)進(jìn)行抽象處理,使其成為對(duì)處理器系統(tǒng)的數(shù)據(jù)管道。它們包含讀取內(nèi)存模塊所必須的邏輯,根據(jù)所服務(wù)內(nèi)存的類(lèi)型,還包括寫(xiě)入、刷新、測(cè)試與校正錯(cuò)誤內(nèi)存等。對(duì)于片上內(nèi)存,內(nèi)存控制器能夠顯示公司的專(zhuān)有發(fā)明,它的處理器設(shè)備不同于競(jìng)爭(zhēng)者的類(lèi)似設(shè)備。結(jié)果,多數(shù)的處理器廠商不愿過(guò)于詳細(xì)地討論其內(nèi)存控制器。他們指出了一種用于內(nèi)存控制器的技術(shù),包括使用寬數(shù)據(jù)總線,多路復(fù)用或交錯(cuò)式存取內(nèi)存庫(kù)、緩沖、流水線、交易記錄以及專(zhuān)門(mén)和不確定的存取模式等。

除了實(shí)現(xiàn)的內(nèi)存的特性外,影響內(nèi)存控制器設(shè)計(jì)和效率的系統(tǒng)級(jí)因素還包括物理尋址如何映射到內(nèi)部演示內(nèi)存系統(tǒng)上,尋址模式的類(lèi) 型(如突發(fā)、隨機(jī)與并行存取模式)、混合讀寫(xiě)、未使用的內(nèi)存如何進(jìn)入低功耗模式。其主要的使用模型通常確定了內(nèi)存控制器的架構(gòu),以使圖形或多媒體控制器可優(yōu)化進(jìn)行序列存取,而嵌入式通訊系統(tǒng)的內(nèi)存控制器可在較大的內(nèi)存范圍內(nèi)優(yōu)化隨機(jī)存取。對(duì)于有系統(tǒng)級(jí)可靠性要求的嵌入式內(nèi)存,針對(duì)額外的復(fù)雜性,內(nèi)存控制器可提供ECC(錯(cuò)誤糾正代碼)保護(hù)。

內(nèi)存控制器的流量模式在單核處理器系統(tǒng)與多核處理系統(tǒng)之間有很大區(qū)別。單核系統(tǒng)的內(nèi)存處理器可使用一個(gè)數(shù)據(jù)流,但在多核心系統(tǒng)中的共享內(nèi)存,內(nèi)存控制器需要有處理多個(gè)數(shù)據(jù)流及隨機(jī)流量的能力。對(duì)于多核設(shè)計(jì),內(nèi)存架構(gòu)必須支持快速及有效的信息傳遞,以及處理器間的數(shù)據(jù)共享。盡管不同的方法可實(shí)現(xiàn)這些目標(biāo),但沒(méi)有單一配置對(duì)所有類(lèi)型的通信都有效。快速的點(diǎn)對(duì)點(diǎn)通道及隊(duì)列,對(duì)交換短小且重要的信息非常重要,然而共享內(nèi)存對(duì)于共享較大的數(shù)據(jù)結(jié)構(gòu)更為有益。當(dāng)使用共享內(nèi)存時(shí),用戶需要對(duì)同步和內(nèi)存管理的編程支持。

隨著越來(lái)越多的嵌入式系統(tǒng)組合到多內(nèi)核作為設(shè)計(jì)的一部分,特別的異構(gòu)內(nèi)核,開(kāi)發(fā)工具的發(fā)展會(huì)更好地協(xié)助開(kāi)發(fā)人員從空間和時(shí)間上安置代碼和數(shù)據(jù),來(lái)實(shí)現(xiàn)更好的延遲容差,并使復(fù)雜性越來(lái)越高的設(shè)計(jì)發(fā)揮出最佳性能。開(kāi)發(fā)工具必須可協(xié)助開(kāi)發(fā)人員更好地了解系統(tǒng)的全局行為。并將該行為與系統(tǒng)中可用的內(nèi)存子系統(tǒng)進(jìn)行匹配。否則,內(nèi)存和芯片設(shè)計(jì)人員必須繼續(xù)將更復(fù)雜的控制算法組合到內(nèi)存控制器中,以明確地補(bǔ)償軟件設(shè)計(jì)人員和開(kāi)發(fā)工具對(duì)內(nèi)存系統(tǒng)的行為缺少可視性的缺點(diǎn)。

附文1:方便使用

編程的簡(jiǎn)易性對(duì)軟件開(kāi)發(fā)人員來(lái)說(shuō)是一種十分重要的特性。可隱藏內(nèi)存體系的平坦的地址空間,便于開(kāi)發(fā)人員進(jìn)行編程。Microchip Technology數(shù)字信號(hào)控制器部門(mén)的技術(shù)人員Brian Boles 說(shuō),“一般來(lái)講,將應(yīng)用針對(duì)通用的內(nèi)存架構(gòu)而設(shè)計(jì)編譯器比較容易些?!币尵幾g器最佳地將代碼和數(shù)據(jù)分配到專(zhuān)用的內(nèi)存結(jié)構(gòu),而對(duì)應(yīng)用代碼的全局的動(dòng)態(tài)特性沒(méi)有可視性是比較困難的。

對(duì)于操作系統(tǒng)的復(fù)雜應(yīng)用,如Linux,內(nèi)存架構(gòu)需要支持虛擬尋址。然而,使用大型操作系統(tǒng)滿足上市時(shí)間表壓力的開(kāi)發(fā)人員來(lái)說(shuō),可能會(huì)失去對(duì)如何分隔軟件利用片上資源來(lái)節(jié)能和節(jié)省成本的深入考慮。沖突的某些問(wèn)題是權(quán)衡與確定有多少片上內(nèi)存需要操作系統(tǒng)通過(guò)片上內(nèi)存運(yùn)行,以及這種方法留給應(yīng)用的內(nèi)存數(shù)量?!暗侥壳盀橹?,通用操作系統(tǒng)沒(méi)有什么虛假的連接規(guī)定完整的物理到內(nèi)存系統(tǒng)的映射,促進(jìn)基礎(chǔ)內(nèi)存系統(tǒng)最佳使用?!?a target="_blank">Intel嵌入式與通訊集團(tuán)營(yíng)銷(xiāo)經(jīng)理Phil Ames說(shuō)。“然而,在嵌入式設(shè)計(jì)中采用手動(dòng)調(diào)整軟件,使內(nèi)存系統(tǒng)得到最佳使用是十分普遍的。”

管理各種不同類(lèi)別的內(nèi)存需要專(zhuān)門(mén)的軟件。例如,小容量NAND閃存(528 字節(jié)/每頁(yè))與大容量 NAND 閃存(2112 字節(jié)/每頁(yè))通常需要不同的閃存管理軟件。一個(gè)解決這種情況的方法是將軟件設(shè)計(jì)成模塊化嵌入層中,以使軟件開(kāi)發(fā)人員在必須修改時(shí),盡量減少重寫(xiě)量。Toshiba內(nèi)存產(chǎn)品集團(tuán)的技術(shù)人員Doug Wong說(shuō):“NAND 閃存為最早的商品化內(nèi)存,將重要的智能特性加入內(nèi)存設(shè)備中,以使其更易使用?!盩oshiba的LBA-NAND 與兼容eMMC的嵌入式NAND 中都含有可執(zhí)行NAND管理功能的內(nèi)置控制器,如模塊管理、損耗均衡、及邏輯到物理模塊的轉(zhuǎn)換及自動(dòng)錯(cuò)誤校正等。這種方法明顯地降低了系統(tǒng)架構(gòu)師或軟件工程師在對(duì)FFS(閃存文件系統(tǒng))或FTL(閃存轉(zhuǎn)換層)管理NAND閃存設(shè)備的負(fù)擔(dān)。

附文2:多種選擇

以下的范例使用基于ARM7的NXP LPC2129 處理器內(nèi)核,說(shuō)明了某些處理器核架構(gòu)對(duì)內(nèi)存架構(gòu)可能的第一決策影響(圖A)。ARM7 為三級(jí)流水線von Neumann架構(gòu)機(jī)器,有一個(gè)端口通過(guò)AHB(高級(jí)高性能總線)橋連接到ARM 高性能總線。該橋是提供在處理器與外設(shè)頻率間同步的必要途徑。以容納處理器接口,或作為與多個(gè)主控設(shè)備總線的接口。盡管該橋非常必要,但當(dāng)處理器通過(guò)AHB存取任何數(shù)據(jù)時(shí),應(yīng)用一個(gè)雙時(shí)鐘延遲處理,如果地址超出序列,則應(yīng)用一個(gè)額外的性能處理。

一個(gè)放置程序和數(shù)據(jù)內(nèi)存的明顯位置是在AHB 一側(cè)的總線上,以便處理器可存取內(nèi)存,且外設(shè)可直接存取內(nèi)存數(shù)據(jù)。但是,AHB 橋還是應(yīng)用了兩周期的延遲處理。為了優(yōu)化 處理性能,設(shè)計(jì)人員將程序內(nèi)存放置在AHB橋的處理器的局部總線一側(cè)。盡管這種結(jié)構(gòu)提高了處理性能,但其它總線主控設(shè)備不能直接存取此內(nèi)存,迫使設(shè)計(jì)人員將更多的內(nèi)存放置在DMA 主控設(shè)備的AHB 一側(cè)。這種方法增加了舊工藝的成本,但在深亞微米工藝中,性能增加比成本增長(zhǎng)更重要。

閃存比6T(6個(gè)三極管)SRAM 單元速度慢,但由于閃存具有非易失性、固態(tài)可靠性、較低的功耗及設(shè)計(jì)靈活性,所以在嵌入系統(tǒng)中使用閃存非常重要。在單一內(nèi)存類(lèi)型內(nèi)的許多子體系結(jié)構(gòu)允許你調(diào)整架構(gòu)以滿足應(yīng)用的需求。這些需求包括存取速度、編程速度、讀電壓功耗水平及成本等。其它對(duì)閃存的重要考慮有,使用年限及支持的擦除次數(shù)。

嵌入式閃存的隨機(jī)存取速度約為50 ns、商業(yè)閃存約85 ns,在針對(duì)速度超過(guò)100 MHz的處理器時(shí)就會(huì)出現(xiàn)問(wèn)題。然而,因?yàn)榇嫒∏度胧介W存并不受針腳限制,嵌入式閃存子系統(tǒng)可使用帶有某些接口邏輯的較寬的位寬來(lái)提高性能。在此例中,128 位的寬度允許系統(tǒng)同時(shí)存取四個(gè)處理器數(shù)據(jù)字,該數(shù)據(jù)字為線性碼提供了80 MHz 的有效存取頻率。將以可緩沖邏輯四字的存取與讀取結(jié)合,在以閃存執(zhí)行時(shí),可允許分支預(yù)測(cè)實(shí)現(xiàn)可接受的性能。這種方法實(shí)現(xiàn)了更為節(jié)省成本和功耗的SRAM 或閃存作為本地內(nèi)存以隨機(jī)存取數(shù)據(jù),多數(shù)為程序代碼的線性存取,而不僅是SRAM 實(shí)現(xiàn)。

有多種選擇可以實(shí)現(xiàn)總線架構(gòu)來(lái)支持高帶寬外設(shè)。一種是使用多層總線,它是一種矩陣,允許多個(gè)主控設(shè)備以不同方式存取內(nèi)存資源。另一種方法是設(shè)計(jì)一個(gè)AHB至AHB 橋,這樣就有兩個(gè)或更多的獨(dú)立總線。由于局部?jī)?nèi)存SRAM 并不支持DMA,不論選擇哪種方法,任何高帶寬外設(shè)(如以太網(wǎng)USB)都應(yīng)有專(zhuān)門(mén)的內(nèi)存資源可直接存取內(nèi)存。所存儲(chǔ)的數(shù)據(jù)包和幀的數(shù)量、數(shù)據(jù)速率及處理器速度決定著專(zhuān)用內(nèi)存的大小。

責(zé)任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19485

    瀏覽量

    231501
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4136

    瀏覽量

    134179
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1643

    瀏覽量

    49367
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SIMD計(jì)算機(jī)的優(yōu)化編譯器設(shè)計(jì)

    利用處理器的相關(guān)資源,提高編譯器優(yōu)化性能和增強(qiáng)代碼可適應(yīng)性是SIMD處理器優(yōu)化編譯的關(guān)鍵。該文基于M語(yǔ)言和LS SIMD體系結(jié)構(gòu),結(jié)合現(xiàn)代
    發(fā)表于 04-03 08:47 ?30次下載

    PortlandGroup推出PGI CUDA編譯器

    Portland Group宣布PGI CUDA C和C++編譯器已正式出貨,針對(duì)基于產(chǎn)業(yè)標(biāo)準(zhǔn)的通用64位和32位x86架構(gòu)處理器系統(tǒng)。
    發(fā)表于 06-30 08:54 ?1091次閱讀

    多層異構(gòu)粗粒度可重構(gòu)處理器編譯器后端設(shè)計(jì)

    多層異構(gòu)粗粒度可重構(gòu)處理器編譯器后端設(shè)計(jì)_劉毅超
    發(fā)表于 01-07 20:43 ?1次下載

    全靠自家的編譯器 AMD的Ryzen處理器仍敵不過(guò)Intel處理器

    在Ryzen處理器之前,AMD已經(jīng)很多年沒(méi)推出全新架構(gòu)X86處理器了,從推土機(jī)Bulldozer到挖掘機(jī)Excavator四代架構(gòu)只是小修小補(bǔ),而全新研發(fā)的Ryzen
    發(fā)表于 05-10 15:45 ?1769次閱讀

    最新版高性能計(jì)算編譯器PGI2012上市和體驗(yàn)報(bào)告

    編譯器全部功能的編譯器,可用于英特爾(Intel)和超微(AMD)的多核 x64 CPU 編程。此外,PGI 2012 版開(kāi)發(fā)工具還針對(duì)多核 x64 處理器的高
    發(fā)表于 09-14 15:15 ?0次下載
    最新版高<b class='flag-5'>性能</b>計(jì)算<b class='flag-5'>編譯器</b>PGI2012上市和體驗(yàn)報(bào)告

    MPLAB? XC8 C編譯器架構(gòu)特性

    本視頻介紹了MPLAB? XC8 C編譯器架構(gòu)特性。該編譯器編譯過(guò)程不同于傳統(tǒng)的編譯器,采用了一種稱(chēng)為"OCG(全知代碼生成)"的技術(shù)。
    的頭像 發(fā)表于 05-23 12:47 ?6188次閱讀
    MPLAB? XC8 C<b class='flag-5'>編譯器</b>的<b class='flag-5'>架構(gòu)</b>特性

    英特爾Fortran編譯器的優(yōu)勢(shì)特點(diǎn)介紹

    史蒂夫萊昂內(nèi)爾,F(xiàn)ortran博士,談?wù)撚⑻貭?b class='flag-5'>編譯器如何在公眾可用性之前很好地支持未來(lái)的處理器
    的頭像 發(fā)表于 11-06 06:36 ?3372次閱讀

    如何在Keil MDK中使用GCC編譯器工具

    Keil MDK 是否支持編譯器?有沒(méi)有辦法選擇其他編譯器? 可能你使用其他GUN工具鏈進(jìn)行編譯時(shí),會(huì)出現(xiàn)類(lèi)似如下錯(cuò)誤: --- Error
    的頭像 發(fā)表于 11-20 15:53 ?4834次閱讀

    你用的ARM處理器選擇哪個(gè)編譯器?

    使用的是IDE自帶或者開(kāi)發(fā)板(芯片)廠家提供的編譯器。等碰到問(wèn)題百度時(shí)候最終才發(fā)現(xiàn)很多問(wèn)題和編譯器有關(guān),如果一開(kāi)始就對(duì)編譯器有個(gè)基本的了解完全可以避免類(lèi)似問(wèn)題,下面就系統(tǒng)的介紹一下ARM編譯器
    發(fā)表于 12-01 13:36 ?1次下載
    你用的ARM<b class='flag-5'>處理器</b>該<b class='flag-5'>選擇</b>哪個(gè)<b class='flag-5'>編譯器</b>?

    交叉編譯器安裝教程

    交叉編譯器中“交叉”的意思就是在一個(gè)架構(gòu)編譯另外一個(gè)架構(gòu)的代碼,相當(dāng)于兩種架構(gòu)“交叉”起來(lái)了。Ubuntu 自帶的 gcc
    的頭像 發(fā)表于 09-29 09:12 ?3666次閱讀

    編譯器的優(yōu)化選項(xiàng)

    一個(gè)程序首先要保證正確性,在保證正確性的基礎(chǔ)上,性能也是一個(gè)重要的考量。要編寫(xiě)高性能的程序,第一,必須選擇合適的算法和數(shù)據(jù)結(jié)構(gòu);第二,應(yīng)該編
    的頭像 發(fā)表于 11-24 15:37 ?998次閱讀
    <b class='flag-5'>編譯器</b>的優(yōu)化選項(xiàng)

    TVM編譯器的整體架構(gòu)和基本方法

    。但是這其中也去思考了一下基于FPGA加速編譯器架構(gòu)。在FPGA深度學(xué)習(xí)加速中,編譯器除了需要自動(dòng)化生成指令外,還要優(yōu)化指令的結(jié)構(gòu),來(lái)
    的頭像 發(fā)表于 11-30 09:36 ?2596次閱讀
    TVM<b class='flag-5'>編譯器</b>的整體<b class='flag-5'>架構(gòu)</b>和基本方法

    Triton編譯器功能介紹 Triton編譯器使用教程

    。以下是 Triton 編譯器的一些功能介紹和使用教程。 Triton 編譯器功能介紹 多語(yǔ)言支持 :Triton 支持多種編程語(yǔ)言,使得開(kāi)發(fā)者可以在同一個(gè)編譯器框架下處理不同的語(yǔ)言。
    的頭像 發(fā)表于 12-24 17:23 ?830次閱讀

    Triton編譯器與其他編譯器的比較

    的GPU編程框架,使開(kāi)發(fā)者能夠編寫(xiě)出接近手工優(yōu)化的高性能GPU內(nèi)核。 其他編譯器 (如GCC、Clang、MSVC等): 定位:通用編譯器,支持多種編程語(yǔ)言,廣泛應(yīng)用于各種軟件開(kāi)發(fā)場(chǎng)景。 目標(biāo):提供穩(wěn)定、高效的
    的頭像 發(fā)表于 12-24 17:25 ?558次閱讀

    Triton編譯器的優(yōu)化技巧

    在現(xiàn)代計(jì)算環(huán)境中,編譯器性能對(duì)于軟件的運(yùn)行效率至關(guān)重要。Triton 編譯器作為一個(gè)先進(jìn)的編譯器框架,提供了一系列的優(yōu)化技術(shù),以確保生成的代碼既高效又適應(yīng)不同的硬件
    的頭像 發(fā)表于 12-25 09:09 ?394次閱讀
    主站蜘蛛池模板: 免费看日本大片免费 | 午夜黄色在线观看 | 美女h片 | 高颜值大长腿美女啪啪 | 国内精品网站 | 色综合色狠狠天天综合色hd | 国产高清精品自在久久 | 欧美天天性 | a级毛片免费观看网站 | 黄网站免费视频 | 性欧美日本| 恐怖片大全恐怖片免费观看好看的恐怖片 | 一级毛片在线看在线播放 | 欧美满足你的丝袜高跟ol | 狼狼色丁香久久女婷婷综合 | 最近2018中文字幕免费看在线 | 亚洲影院手机版777点击进入影院 | 波多野结衣久久国产精品 | 夜夜夜夜爽| 性黄视频 | 91久久福利国产成人精品 | 四虎午夜剧场 | 在线观看黄色x视频 | 免费在线色 | 在线播放你懂 | 狠狠色丁香久久综合网 | 免费视频18| 久久精品高清视频 | 免费在线黄色网 | 1区2区| 日韩美香港a一级毛片 | 神马影院午夜在线 | 日韩va亚洲va欧美va浪潮 | 天天躁日日2018躁狠狠躁 | sss欧美一区二区三区 | 成 人 色综合 | 色婷婷婷丁香亚洲综合不卡 | 影音先锋午夜资源网站 | 一级看片免费视频 | 91精品啪国产在线观看免费牛牛 | 亚洲综合激情 |