<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 32位內(nèi)核與基于微控制器存儲架構(gòu)的集成

          32位內(nèi)核與基于微控制器存儲架構(gòu)的集成

          作者: 時(shí)間:2008-11-12 來源:網(wǎng)絡(luò) 收藏

            32 位 MCU 性能差異

            (MCU)領(lǐng)域如今仍由 8 位和 16 位器件控制,但隨著更高性能的 32 位處理器開始在 MCU 市場創(chuàng)造巨大收益,在系統(tǒng)設(shè)計(jì)方面,芯片架構(gòu)師面臨著 PC 設(shè)計(jì)人員早在十年前便遇到的挑戰(zhàn)。盡管新在速度和性能方面都在不斷提高,一些關(guān)鍵支持技術(shù)卻沒有跟上發(fā)展的步伐,從而導(dǎo)致了嚴(yán)重的性能瓶頸。

            很多 MCU 完全依賴于兩種類型的內(nèi)部器件。適量的 SRAM 可提供數(shù)據(jù)所需的空間,而 NOR 可提供指令及固定數(shù)據(jù)的空間。

            在新 32 位的尺寸和運(yùn)行速度方面,嵌入式 SRAM 技術(shù)正在保持同步。成熟的 SRAM 技術(shù)在 100MHz 的運(yùn)行范圍更易于實(shí)現(xiàn)。對 MCU 所需的典型 RAM 容量來說,這個速度級別也更具成本效益。

            但是標(biāo)準(zhǔn)的 NOR 卻落在了基本 32 位時(shí)鐘速度之后,幾乎相差一個數(shù)量級。當(dāng)前的嵌入式 NOR 技術(shù)的存取時(shí)間基本為 50ns (20 MHz)。這在閃存器件和內(nèi)核間轉(zhuǎn)移數(shù)據(jù)的能力方面造成了真正的瓶頸,因?yàn)楹芏鄷r(shí)鐘周期可能浪費(fèi)在等待閃存找回特定指令上。

            標(biāo)準(zhǔn)MCU 執(zhí)行模型——XIP (eXecute In Place)更加劇了處理器內(nèi)核速度和閃存存取時(shí)間之間的性能差距。

            大容量中的應(yīng)用容錯及 SRAM較高的成本是選擇直接從閃存執(zhí)行的兩個主要原因。存儲在閃存內(nèi)的程序基本不會被系統(tǒng)內(nèi)的隨機(jī)錯誤破壞,如電源軌故障。利用閃存直接執(zhí)行還無需為MCU器件提供足夠的 SRAM,來將應(yīng)用從一個 ROM 或閃存器件復(fù)制至目標(biāo) RAM 執(zhí)行空間。

            消除差距

            理想的情況是,改進(jìn)閃存技術(shù),以匹配32位內(nèi)核的性能。雖然當(dāng)前的技術(shù)有一定的局限,仍有一些有效的方法,可幫助架構(gòu)師解決性能瓶頸問題。

            簡單的指令緩沖器和指令系統(tǒng)在32位MCU設(shè)計(jì)中的采用,將大大提高M(jìn)CU的性能。下面將介紹系統(tǒng)架構(gòu)師如何利用這些技術(shù)將16位的MCU架構(gòu)升級至32位內(nèi)核CPU。

            在 MCU 設(shè)計(jì)中引入 32位內(nèi)核

            

            圖 1 介紹了將現(xiàn)有16位設(shè)計(jì)升級至基本32位內(nèi)核的情況,顯示了新32 位內(nèi)核及其基本外設(shè)集合之間的基本聯(lián)系。由于我們在討論將新的32位處理器內(nèi)核集成至新的 MCU 設(shè)計(jì),我們假設(shè)可采用新32位內(nèi)核采用以下規(guī)范。

            32 位內(nèi)核——改良的哈佛架構(gòu)

            與很多 MCU 一樣,新的 32位 內(nèi)核也采用改良的哈佛架構(gòu)。因此,程序存儲和數(shù)據(jù)存儲空間是在兩個獨(dú)立的總線構(gòu)架上執(zhí)行。一個純哈佛設(shè)計(jì)可防止數(shù)據(jù)在程序存儲空間被讀取,該內(nèi)核改良的哈佛仍可實(shí)現(xiàn)這樣的操作,同時(shí),該32位內(nèi)核設(shè)計(jì)還可實(shí)現(xiàn)程序指令在數(shù)據(jù)存儲空間的執(zhí)行。

            在周期內(nèi),程序和數(shù)據(jù)存儲器接口允許插入等待狀態(tài),有助于響應(yīng)速度緩慢的存儲或存儲映射器件。

            32位內(nèi)核——工作頻率

            新內(nèi)核的最高工作時(shí)鐘頻率為120MHz,是被替代的16位內(nèi)核速度的六倍。

            32位內(nèi)核——指令存儲器接口

            指令存儲系統(tǒng)接口有一個32位寬的數(shù)據(jù)總線,以及一個總共地址空間為1MB的20位寬的地址總線。盡管 32位內(nèi)核具備更大的地址空間,而這足夠滿足這個MCU的目標(biāo)應(yīng)用空間。標(biāo)準(zhǔn)的控制信號同樣具備為緩慢的存儲器件插入等待狀態(tài)的能力。

            該設(shè)計(jì)的閃存器件與16位設(shè)計(jì)采用的技術(shù)一樣,最高運(yùn)行速度達(dá)20 MHz。

            32 位內(nèi)核——數(shù)據(jù)存儲器接口

            系統(tǒng) SRAM 和存儲器映射外設(shè)都通過系統(tǒng)控制器與處理器數(shù)據(jù)總線相連。系統(tǒng)控制器可提供額外的地址解碼及其他控制功能,幫助處理器內(nèi)核正確訪問數(shù)據(jù)存儲器或存儲器映射外設(shè),而無需處理特定的等待狀態(tài)、不同的數(shù)據(jù)寬度或每個映射到數(shù)據(jù)存儲空間的器件的其他特殊需求。

            系統(tǒng)控制器和處理器內(nèi)核之間的數(shù)據(jù)總線為 32 位寬,與系統(tǒng)控制器和SRAM 間的相同。系統(tǒng)控制器和外設(shè)以及 GPIO 端口間的可為 8 位、16 位或 32 位,視需求而定。

            目標(biāo)設(shè)計(jì)采用的 SRAM 與 16 位設(shè)計(jì)采用的類型相同,在 120 MHz時(shí)可實(shí)現(xiàn) 0 等待狀態(tài)操作。

            初步分析

            目前系統(tǒng)的性能由幾個因素控制。處理器內(nèi)核與閃存器件速度的差異可極大地影響性能,因?yàn)橹辽儆形鍌€等待狀態(tài)必須添加到每個指令提取中。根據(jù)粗粒經(jīng)驗(yàn)法則,至少每十個指令有一個讀取或存儲。每條指令加權(quán)平均周期(CPI)的典型順序?yàn)椋?/P>

            CPI = (9 inst * 6 閃存周期 + 1 inst *1 SRAM周期) / 10 指令

            CPI = 5.5

            內(nèi)核的吞吐量由閃存接口的速度決定,因此以前所有的32位內(nèi)核都是數(shù)據(jù)通道寬度的兩倍。

            在這種情況下,SRAM接口無關(guān)緊要。雖然某些問題很有可能源于存儲接口方面,如中斷延遲和原子位處理,SRAM存儲器的零等待狀態(tài)操作可以忽略。關(guān)注的重點(diǎn)是通過采用目前可用的、具有成本效益的技術(shù),來提高指令存儲接口的性能。

            提高CPU內(nèi)核性能——閃存接口

            來自高性能計(jì)算環(huán)境的一個通用概念是,在主要存儲器件和處理器內(nèi)核之間采用更小及更快的內(nèi)存存儲,可以實(shí)現(xiàn)突發(fā)數(shù)據(jù)或程序指令的更快訪問。

            設(shè)計(jì)和實(shí)現(xiàn)可能非常復(fù)雜——需要考慮高速緩存標(biāo)記、N-Way級聯(lián)和普通高速緩存控制等問題——僅關(guān)注程序指令存儲器可讓這項(xiàng)工作變得非常簡單。這是因?yàn)閷Υ颂囟ǖ?32 位內(nèi)核來說,對程序存儲器的訪問是一個嚴(yán)格的只讀操作。在這種情況下,我們只需考慮一個方向的數(shù)據(jù)流可以減少緩沖器和高速緩存系統(tǒng)的復(fù)雜性。

            緩沖器

            增加閃存接口總體帶寬的一個簡單方法是擴(kuò)展處理器和閃存器件間的通道寬度。假定閃存的速度一定,增加帶寬的另外一個方法是擴(kuò)展接口寬度,以實(shí)現(xiàn)一次提取更多指令,創(chuàng)造一個更為快速的閃存接口外觀。

            這是緩沖器的一個基本前提。它利用了連接閃存的更寬接口的優(yōu)勢,可在同樣的時(shí)鐘周期數(shù)內(nèi)讀取更大的數(shù)據(jù)量,這通常只要花閃存讀一個字的時(shí)間。

            因此,預(yù)取緩沖器還定義了新數(shù)據(jù)通道的最小尺寸,原因顯而易見。

            

            圖2.1顯示了我們的120 MHz內(nèi)核連接到20 MHz閃存陣列的情況。采用兩個系統(tǒng)間的速度比作為起始值,我們可以確定預(yù)取緩沖器、閃存接口讀取的寬度,假設(shè)我們需要在無需等待狀態(tài)的情況下讀取指令。

            在這種情況下,預(yù)取/閃存數(shù)據(jù)通道將是:

            (120/20)X32位=192位寬

            預(yù)取緩沖器控制邏輯不斷對存取緩沖器的讀取數(shù)進(jìn)行標(biāo)記。最后一次存取后,它將使下一個周期從閃存重新加載整個緩沖器。

            預(yù)取緩沖器控制邏輯還可識別緩沖器每次進(jìn)入的有效地址。它還將提供適當(dāng)?shù)慕獯a,根據(jù)正確的順序指令顯示處理器數(shù)據(jù)總線,當(dāng)一個執(zhí)行分支需要完整的新的順序指令時(shí),將重新加載緩沖器。

            當(dāng)然,在提取新的指令時(shí),分支將造成一些額外的延遲。但是由于相比處理器內(nèi)核,預(yù)取緩沖器實(shí)現(xiàn)六合一方法在數(shù)據(jù)通道寬度方面具有絕對的優(yōu)勢,為該的最終平衡的結(jié)果付出的代價(jià)是值得的。

            更多經(jīng)驗(yàn)法則分析都顯示,一個典型的嵌入式應(yīng)用有20%發(fā)生分支的機(jī)會,每五個周期相當(dāng)于一個分支。采用之前的方法,CPI值現(xiàn)在為:

            CPI = (4指令*1周期+1指令*6周期)/5指令

            CPI = 2.0

            我們已經(jīng)看到利用基本實(shí)現(xiàn)方法,整個系統(tǒng)周期效率有了大幅提高。

            圖2.1還顯示了一個更為現(xiàn)實(shí)解決方案方法,即將六個獨(dú)立的閃存系統(tǒng)的32位總線加在一起,而不是重新設(shè)計(jì)一個新的、極寬的數(shù)據(jù)總線閃存系統(tǒng)。預(yù)取緩沖器控制邏輯將自動創(chuàng)建六個連續(xù)的程序地址,然后允許一個正常的讀取周期同時(shí)訪問所有六個組。在讀取周期的末尾,預(yù)取緩沖器現(xiàn)在可保持六個新的指令,而非一個,模擬的零等待狀態(tài)系統(tǒng)。

            指令高速緩存

            形式指令高速緩存賦予預(yù)


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();