• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于Cache機(jī)制的低功耗Flash控制器設(shè)計(jì)

    2018-07-12 11:35:34連漢麗陳亞南焦繼業(yè)雷水艷
    關(guān)鍵詞:微控制器命中率行長(zhǎng)

    連漢麗, 陳亞南, 焦繼業(yè), 雷水艷

    (1.西安郵電大學(xué) 理學(xué)院, 陜西 西安 710121; 2.西安郵電大學(xué) 電子工程學(xué)院, 陜西 西安 710121)

    近年來(lái),隨“智能社會(huì)”相關(guān)技術(shù)發(fā)展需求,微控制器倍受關(guān)注[1-2]。穿戴類(lèi)、汽車(chē)類(lèi)等消費(fèi)類(lèi)電子產(chǎn)品需要微控制器以微小電量長(zhǎng)時(shí)間運(yùn)作,因此,降低微控制器功耗十分必要。嵌入式Flash(eFlash)是一種和傳統(tǒng)CMOS工藝相兼容,內(nèi)嵌于芯片內(nèi)部的非易失性存儲(chǔ)器[3]。eFlash以低成本、高安全性等特點(diǎn),在微控制器中得以廣泛應(yīng)用。然而,F(xiàn)lash讀取會(huì)產(chǎn)生較大功耗,嚴(yán)重影響產(chǎn)品的續(xù)航能力。針對(duì)該問(wèn)題,在Flash控制器中引入Cache機(jī)制有助于降低功耗。此外,Cache復(fù)用了控制器內(nèi)部邏輯,節(jié)約資源的同時(shí)便于工具綜合優(yōu)化。

    目前,通過(guò)優(yōu)化Cache降低嵌入式微處理器功耗的方法較多,如用位寬較小的標(biāo)志編碼存儲(chǔ)器取代傳統(tǒng)的標(biāo)志編碼存儲(chǔ)器[4],減小Cache的面積,從而降低每次訪問(wèn)指令Cache的功耗;結(jié)合分支預(yù)測(cè)技術(shù)與Cache預(yù)訪問(wèn)技術(shù)來(lái)降低功耗[5-6];采用動(dòng)態(tài)可重構(gòu)技術(shù)降低功耗[7-8];通過(guò)使本地?cái)?shù)據(jù)不參與Cache一致性過(guò)程來(lái)提高訪問(wèn)Cache效率,降低功耗[9]。

    本文探討了一種基于Cache機(jī)制的低功耗Flash控制器設(shè)計(jì),在eFlash控制器中引入Cache機(jī)制,采用控制變量法,詳細(xì)分析了Cache命中率、微控制器功耗與Cache容量、關(guān)聯(lián)度、行長(zhǎng)映射之間的關(guān)系。

    1 Flash控制器架構(gòu)

    Flash控制器的整體架構(gòu)如圖1所示,采用哈佛結(jié)構(gòu)的處理器通過(guò)AHB-lite接口將需要的地址信息傳到Cache中,其中Clocks和Reset模塊為Cache提供異步時(shí)鐘和復(fù)位信號(hào),Reset有效時(shí),Cache復(fù)位,變?yōu)槌跏贾?;通過(guò)Req Ack模塊產(chǎn)生請(qǐng)求和應(yīng)答信號(hào),Req信號(hào)置1,說(shuō)明CPU對(duì)Cache發(fā)出數(shù)據(jù)請(qǐng)求信號(hào);Ack信號(hào)置1,表明Cache命中,且數(shù)據(jù)準(zhǔn)備發(fā)出;經(jīng)過(guò)Statistics模塊,將Cache的命中和不命中信息反饋給CPU;Tag SRAM和Cache SRAM模塊為存儲(chǔ)Tag信息和Cache數(shù)據(jù)的存儲(chǔ)器;最后通過(guò)AHB-lite接口將Cache和Flash控制器連接。

    圖1 Flash 控制器整體架構(gòu)圖

    2 內(nèi)嵌Cache設(shè)計(jì)與分析

    Cache工作流程圖如圖2所示,Code Bus發(fā)起讀操作,根據(jù)Code Bus地址Index段選中某一組,然后將該組所有路的Tag與Code Bus的Tag段進(jìn)行匹配,確定Cache命中或缺失。當(dāng)命中某路,用地址Offset段選通數(shù)據(jù)中的某個(gè)32位數(shù)據(jù)輸出。如果均未命中,則掛起總線(xiàn),進(jìn)行Flash讀操作,讀取的數(shù)據(jù)按替換算法寫(xiě)入某路輸出。

    圖2 Cache工作流程圖

    2.1 Cache容量選擇

    內(nèi)嵌Cache命中率采用EEMBC Coremark算法[10],運(yùn)用控制變量的方法,即改變?nèi)萘俊⑿虚L(zhǎng)、關(guān)聯(lián)度三個(gè)變量中一個(gè)變量其余變量參數(shù)不變的方法,對(duì)不同容量、不同關(guān)聯(lián)度、不同行長(zhǎng)進(jìn)行分析。Cache命中率與容量、關(guān)聯(lián)度、行長(zhǎng)的關(guān)系如圖3所示。

    圖3 Cache命中率與容量、關(guān)聯(lián)度及行長(zhǎng)的關(guān)系

    當(dāng)關(guān)聯(lián)度和行長(zhǎng)不變時(shí),Cache命中率隨著其容量的增大而提高。當(dāng)容量小于1024字節(jié)時(shí)命中率隨容量增大大幅提高,當(dāng)容量大于1024字節(jié)時(shí)命中率增長(zhǎng)幅度變緩。固定關(guān)聯(lián)度的大小,改變行長(zhǎng),當(dāng)容量小于1024字節(jié)時(shí),行長(zhǎng)較大的Cache命中率更高;當(dāng)Cache容量大于1024字節(jié)時(shí),行長(zhǎng)較小的Cache具有較高的命中率。行長(zhǎng)不變,關(guān)聯(lián)度越高,Cache命中率也越高。圖3表明Cache容量為1024字節(jié)時(shí),關(guān)聯(lián)度和行長(zhǎng)的變化對(duì)命中率影響并不明顯,且此時(shí)具備較高的命中率??紤]到嵌入式應(yīng)用程序的循環(huán)體大多介于200字節(jié)至800字節(jié)之間,根據(jù)程序局部性原則[11-12],當(dāng)其他參數(shù)不變,Cache容量可裝載程序最大循環(huán)體時(shí),Cache效率最高,確定內(nèi)嵌Cache容量為1024字節(jié)。

    2.2 關(guān)聯(lián)度選擇與功耗分析

    設(shè)計(jì)基于Cortex-M0架構(gòu),引入Cache機(jī)制,借助Synopsys公司的Design Compiler工具完成對(duì)設(shè)計(jì)的邏輯綜合,得到電路面積,運(yùn)用Power Compiler工具分析Tag和Cache功耗,估算出整體的功耗。

    選擇Cache容量為1024字節(jié),F(xiàn)lash使用率為30%、50%、70%時(shí)測(cè)試Flash功耗和總體功耗,結(jié)果如圖4所示。圖4(a)為Flash功耗隨使用率變化的關(guān)系圖,圖4(b)為預(yù)估的總體功耗與Flash使用率的關(guān)系圖。由圖4(a)可知,F(xiàn)lash功耗隨著其使用率的增加而增長(zhǎng),尤其當(dāng)使用率超過(guò)50%,功耗急劇增長(zhǎng)。不改變Flash的使用率,行長(zhǎng)不變,關(guān)聯(lián)度增加,功耗降低;關(guān)聯(lián)度不變,行長(zhǎng)增加,功耗降低。與未引進(jìn)Cache機(jī)制相比,F(xiàn)lash功耗大幅度降低。由圖4(b)可知,加入Cache機(jī)制的微控制器總功耗大幅降低,特別是在Flash使用率為50%以后,降幅更為明顯,并且行長(zhǎng)、關(guān)聯(lián)度的變化對(duì)總功耗的影響不大。由圖4(a)、4(b)可知,在相同F(xiàn)lash利用率情況下無(wú)引入Cache機(jī)制的Flash功耗和總功耗都遠(yuǎn)高于引入Cache后的功耗,因?yàn)橐隒ache后,讀Flash次數(shù)降低,雖然增加了Cache和Tag功耗,但每次取指令的功耗降低,所以總功耗也降低。

    (a) Flash功耗

    (b) 預(yù)估的總體功耗

    引入Cache機(jī)制后,系統(tǒng)增加了Cache和Tag功耗。Tag功耗與關(guān)聯(lián)度、行長(zhǎng)的關(guān)系如表1表示。對(duì)于Tag存儲(chǔ)器來(lái)說(shuō),當(dāng)Cache行長(zhǎng)和關(guān)聯(lián)度增加,功耗也會(huì)增加,因?yàn)樵赥ag存儲(chǔ)器字節(jié)寬度增加時(shí),控制回路變得非常復(fù)雜。對(duì)于Cache來(lái)說(shuō),雖然每路4字的Cache字節(jié)寬度要大于每路1字的字節(jié)寬度,但是訪問(wèn)每路4字的Cache功耗并沒(méi)有比訪問(wèn)每路1字Cache的功耗增加很多。結(jié)合實(shí)際,關(guān)聯(lián)度增加,控制回路變得復(fù)雜,導(dǎo)致電路面積增加,功耗變大;行長(zhǎng)增大,每次讀取數(shù)據(jù)位寬變大,效率變高,然而Cache功耗并沒(méi)有明顯變化,說(shuō)明內(nèi)嵌Cache選每路4字/1路比選擇每路4字/4路功耗低,且內(nèi)部結(jié)構(gòu)簡(jiǎn)單。

    表1 Tag功耗與關(guān)聯(lián)度、行長(zhǎng)關(guān)系表

    總功耗與Cache容量、關(guān)聯(lián)度、行長(zhǎng)關(guān)系如圖5所示??偣碾S著Cache容量增加不斷降低,當(dāng)容量大于1024字節(jié)后,下降幅度趨于平緩。Cache容量為128字節(jié)時(shí),每路1字/1路的Cache功耗比不引進(jìn)Cache機(jī)制的功耗高,這是因?yàn)镃ache命中率非常低導(dǎo)致功耗削減非常小,反而增加了Cache和Tag功耗。此外,相比于低容量Cache(512字節(jié)或更低),每路4字Cache降低功耗的效果更為明顯。然而當(dāng)Cache容量大于1024字節(jié)時(shí),每路1字Cache在削減功耗上更為有效。

    圖5 總功耗與Cache容量、關(guān)聯(lián)度及行長(zhǎng)關(guān)系

    綜上所述,Cache容量為1024字節(jié)時(shí),隨著Flash使用率的增加,Cache降低功耗的效果越明顯,總功耗優(yōu)化效果越明顯,并且Cache關(guān)聯(lián)度、行長(zhǎng)的變化對(duì)Cache功耗的影響并不大。所以,內(nèi)嵌Cache容量選擇為1024字節(jié)。關(guān)聯(lián)度增加,控制回路變得復(fù)雜,導(dǎo)致功耗增大;行長(zhǎng)增大,每次讀取數(shù)據(jù)位寬變大,效率變高,所以關(guān)聯(lián)度選擇1路,行長(zhǎng)選擇4字。

    3 結(jié)語(yǔ)

    設(shè)計(jì)了一種基于Cache機(jī)制的Flash控制器,內(nèi)嵌Cache設(shè)計(jì)以“容量”、“關(guān)聯(lián)度”、“行長(zhǎng)”為參數(shù),運(yùn)用控制變量的方法,研究了Cache的命中率、Flash功耗和微控制器功耗與三個(gè)參數(shù)的變化關(guān)系。研究結(jié)果表明,容量選擇1024字節(jié)、關(guān)聯(lián)度和行長(zhǎng)選擇4字/1路模式,Cache具有較高命中率,微控制器功耗的優(yōu)化效果顯著。與Cache和控制器分離的設(shè)計(jì)相比,內(nèi)嵌Cache設(shè)計(jì)的結(jié)構(gòu)更加緊湊,利于綜合工具優(yōu)化。

    猜你喜歡
    微控制器命中率行長(zhǎng)
    當(dāng)時(shí)我就笑出了聲
    廉政瞭望(2023年2期)2023-03-11 03:00:18
    央行行長(zhǎng)們就應(yīng)對(duì)氣候變化展開(kāi)辯論 精讀
    德拉吉:卸任歐洲央行行長(zhǎng)
    夜夜“奮戰(zhàn)”會(huì)提高“命中率”嗎
    2015男籃亞錦賽四強(qiáng)隊(duì)三分球進(jìn)攻特點(diǎn)的比較研究
    物聯(lián)網(wǎng)技術(shù)在微控制器實(shí)驗(yàn)教學(xué)中的應(yīng)用
    電子制作(2017年14期)2017-12-18 07:07:58
    投籃的力量休斯敦火箭
    NBA特刊(2017年8期)2017-06-05 15:00:13
    老太婆打賭
    試析心理因素對(duì)投籃命中率的影響
    Atmel針對(duì)新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
    枝江市| 东辽县| 宣城市| 吴川市| 南宁市| 将乐县| 武汉市| 宜宾市| 巴彦县| 乌鲁木齐市| 苏尼特右旗| 阜康市| 监利县| 松阳县| 白朗县| 渝北区| 临沧市| 衡南县| 句容市| 仲巴县| 昌邑市| 黄平县| 石渠县| 德化县| 新余市| 中方县| 靖江市| 驻马店市| 舟山市| 博罗县| 屏东县| 京山县| 乌兰浩特市| 曲水县| 乡宁县| 浏阳市| 萍乡市| 东乡族自治县| 额济纳旗| 齐齐哈尔市| 衡水市|