那曲檬骨新材料有限公司

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

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

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

PIC32MZ器件系列中的 1 級(jí)(L1)CPU 緩存實(shí)現(xiàn)

電子設(shè)計(jì) ? 來源:eeweb ? 作者: 微芯片 ? 2021-06-18 11:37 ? 次閱讀

本應(yīng)用筆記的目的是讓讀者了解PIC32MZ器件系列中的 1 級(jí)(L1)CPU 緩存實(shí)現(xiàn),讓讀者了解緩存系統(tǒng)中可能發(fā)生的危險(xiǎn),并描述解決這些問題的方法。對(duì)于高級(jí)用戶,還討論了 microAptiv? 內(nèi)核中管理緩存以獲得最佳性能的特殊指令。

本文檔不打算全面討論緩存體系結(jié)構(gòu)或?qū)崿F(xiàn),也不涉及緩存管理的每個(gè)細(xì)節(jié)。從未使用過具有 L1 緩存的嵌入式控制器的開發(fā)人員,或希望了解 PIC32MZ 器件中 L1 緩存實(shí)現(xiàn)的開發(fā)人員,應(yīng)閱讀本文檔。

CPU 緩存是一個(gè)單獨(dú)的內(nèi)存塊,用于補(bǔ)償主內(nèi)存的訪問時(shí)間。被描述為一級(jí)緩存的緩存使用與 CPU 一樣快的內(nèi)存,因此只要 CPU 正在訪問緩存,它就永遠(yuǎn)不必等待指令或數(shù)據(jù)。2 級(jí)和 3 級(jí)高速緩存與 1 級(jí)高速緩存結(jié)合使用,其內(nèi)存訪問時(shí)間大于 CPU,但小于主內(nèi)存。

該P(yáng)IC32MZ器件系列僅采用1級(jí)高速緩存。L1緩存分為兩部分,指令緩存和數(shù)據(jù)緩存。CPU 可以直接訪問內(nèi)存或通過緩存訪問內(nèi)存。高速緩存的使用對(duì)于實(shí)現(xiàn)PIC32MZ器件系列的最大性能至關(guān)重要。與通過系統(tǒng)總線進(jìn)行訪問時(shí)的多個(gè)時(shí)鐘周期相比,對(duì)高速緩存的內(nèi)存訪問發(fā)生在單個(gè)時(shí)鐘周期內(nèi)。

PIC32MZ 架構(gòu)

以下部分介紹了PIC32MZ架構(gòu)的 L1 緩存和其他兩個(gè)部分,它們對(duì)其操作和配置至關(guān)重要。

閃存預(yù)取模塊

Flash Prefetch 模塊用于隱藏 Flash 等待狀態(tài)。它通過使用 128 位數(shù)據(jù)路徑(是 32 位 CPU 總線寬度的四倍)獲取程序閃存來實(shí)現(xiàn)。它是預(yù)測(cè)性的,假設(shè)下一個(gè)需要的數(shù)據(jù)是下一行地址。只要代碼不分支,下一條指令總是可用的。加載新行時(shí),分支會(huì)導(dǎo)致停頓。該模塊中的寄存器確定閃存等待狀態(tài)以及預(yù)取是應(yīng)用于指令訪問、數(shù)據(jù)訪問、兩者還是兩者都不進(jìn)行。

內(nèi)存映射單元

在所有 PIC32 架構(gòu)中,CPU 對(duì)存儲(chǔ)器和外設(shè)的訪問都是通過虛擬地址空間完成的。虛擬地址空間分為五個(gè)段,分別命名為 KSEG0 到 KSEG3 和 KUSEG。物理到虛擬 KSEG0 到 KSEG1 地址的映射是固定的,所有內(nèi)部存儲(chǔ)器都存在于 KSEG0 和 KSEG1 段中。KSEG1 從不緩存,而 KSEG0 是可緩存的段。

PIC32MZ 架構(gòu)引入了基于轉(zhuǎn)換后備緩沖器(TLB)的存儲(chǔ)器映射單元(MMU)。TLB 可以配置為對(duì) KUSEG、KSEG2 和 KSEG3 執(zhí)行虛擬內(nèi)存到物理內(nèi)存的轉(zhuǎn)換。這些段的可緩存性屬性是在使用 CPU 協(xié)處理器 0 (CP0) EntryLo0 和 EntryLo1 寄存器配置 TLB 時(shí)定義的。

L1 指令和數(shù)據(jù)緩存

如圖 1 所示,CPU 可以直接訪問系統(tǒng) RAM,也可以通過緩存訪問。同樣,對(duì) Flash 的訪問可以直接發(fā)生,也可以通過緩存發(fā)生。DMA 訪問總是直接通過 RAM 進(jìn)行。除了 CPU 和緩存之間的訪問之外,所有訪問都涉及系統(tǒng)總線。

在復(fù)位時(shí),代碼執(zhí)行從 KSEG1 使用非緩存訪問發(fā)生。這是必要的,因?yàn)榫彺嬖诒粏?dòng)代碼初始化之前無法使用。一旦緩存被初始化,代碼執(zhí)行就可以從 KSEG0 開始,它利用緩存來獲得最佳性能。

當(dāng) CPU 使用緩存進(jìn)行訪問時(shí),系統(tǒng)將檢查所需的數(shù)據(jù)是否已存在于緩存中。如果數(shù)據(jù)存在于緩存中,則不執(zhí)行任何操作。這稱為緩存命中。如果沒有,硬件會(huì)使用內(nèi)存內(nèi)容填充指令或數(shù)據(jù)緩存。這稱為緩存未命中。緩存未命中會(huì)導(dǎo)致性能損失,而緩存命中則不會(huì)。

緩存的大小是閃存或 RAM 大小的一小部分。它可以在初始化時(shí)以多種方式進(jìn)行配置以優(yōu)化性能。MPLAB 開發(fā)工具將 PIC32MZ 緩存配置為“四路關(guān)聯(lián)”,因?yàn)檫@將是大多數(shù)應(yīng)用的最佳配置。四路關(guān)聯(lián)配置將緩存分為四個(gè)相等的部分,稱為路。其中每一個(gè)都分布在整個(gè)內(nèi)存地址范圍內(nèi)。每個(gè)緩存路被分成緩存線,這些緩存線代表可以在緩存和閃存或 RAM 之間傳輸?shù)淖钚?shù)據(jù)量。每行數(shù)據(jù)都包含將其與物理內(nèi)存相關(guān)聯(lián)并跟蹤其狀態(tài)的標(biāo)簽。因此,每個(gè)內(nèi)存位置都可以在四個(gè)高速緩存路之一的高速緩存行中表示。

poYBAGDMFPyAb2hRAADujdSDphk152.png

PIC32MZ 緩存實(shí)現(xiàn)

編輯:hfy

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

    關(guān)注

    38

    文章

    7528

    瀏覽量

    164348
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10905

    瀏覽量

    213030
  • PIC32MZ
    +關(guān)注

    關(guān)注

    2

    文章

    14

    瀏覽量

    4304
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CUP緩存(L1L2、L3)是什么

    以近代CPU的視角來說,三級(jí)緩存(包括L1級(jí)緩存L
    發(fā)表于 10-14 11:02 ?1.1w次閱讀

    PIC32MZ中斷代碼錯(cuò)誤怎么回事

    在進(jìn)行一些實(shí)驗(yàn)以確定PIC32MZ上的中斷延遲以及它如何受到L1 ICache的影響的同時(shí),我注意到在指定IPL7SRS時(shí)中斷處理程序的實(shí)現(xiàn)存在以下缺陷。f.):-對(duì)于IPL7SRS
    發(fā)表于 04-29 06:17

    什么是CPU級(jí)緩存/二級(jí)緩存

    什么是CPU級(jí)緩存/二級(jí)緩存?  即L1 Cache。集成在CPU內(nèi)部
    發(fā)表于 02-04 10:43 ?1191次閱讀

    Microchip 32位PIC32MZ EF單片機(jī)系列喜添新成員 部分器件可支持?jǐn)U展級(jí)溫度范圍

    PIC32MZ EF系列是Microchip首個(gè)符合汽車電子委員會(huì)制定的AEC-Q100一級(jí)(-40至125°C)規(guī)范的PIC32 MCU產(chǎn)品系列
    發(fā)表于 11-24 17:09 ?1179次閱讀

    Microchip 32位PIC32MZ EF單片機(jī)系列喜添新成員, 部分器件可支持?jǐn)U展級(jí)溫度范圍

    近日擴(kuò)展了旗下32位PIC32MZ EF單片機(jī)(MCU)系列,增添了支持?jǐn)U展級(jí)溫度范圍的產(chǎn)品和支持工業(yè)級(jí)溫度范圍的高速(250 MHz)產(chǎn)品。新
    發(fā)表于 02-10 13:28 ?349次閱讀

    AN1600 - 在PIC32MZ器件上使用L1高速緩存

    本文檔提供了PIC32MZ器件系列中一級(jí)(Level 1L1
    發(fā)表于 03-26 10:39 ?2次下載

    PIC32MZ EF系列處理器主要特性及開發(fā)板框圖

    Microchip公司的PIC32MZ EF系列是高達(dá)250MHz的集成浮點(diǎn)單元(FPU),具有廣泛的外設(shè)和包括局域網(wǎng)(CAN)的極好的連接選擇,工作電壓2.1V到 3.6V,DSP增強(qiáng)核具有四個(gè)
    發(fā)表于 04-14 17:10 ?4474次閱讀
    <b class='flag-5'>PIC32MZ</b> EF<b class='flag-5'>系列</b>處理器主要特性及開發(fā)板框圖

    PIC32MZ嵌入連接MCU主要特性和框圖分析

    本文介紹了PIC32MZ嵌入連接(EC)系列MCU主要特性和框圖, 帶加密引擎的PIC32MZ EC系列入門板主要特性,框圖,電路圖,材料清單和PCB布局圖。
    發(fā)表于 05-03 10:30 ?6193次閱讀
    <b class='flag-5'>PIC32MZ</b>嵌入連接MCU主要特性和框圖分析

    PIC32MZ EF——帶FPU的嵌入式連接系列

    本視頻介紹了Microchip的PIC32MZ EF系列32位單片機(jī)。PIC32MZ EF系列PIC32MZ高性能單片機(jī)
    的頭像 發(fā)表于 06-07 03:46 ?3898次閱讀
    <b class='flag-5'>PIC32MZ</b> EF——帶FPU的嵌入式連接<b class='flag-5'>系列</b>

    PIC32MZ器件系列中使用L1CPU高速緩存實(shí)現(xiàn)的風(fēng)險(xiǎn)和解決方法

    本文檔提供了PIC32MZ 器件系列中一級(jí)(Level 1L1
    發(fā)表于 06-15 11:26 ?9次下載
    <b class='flag-5'>PIC32MZ</b><b class='flag-5'>器件</b><b class='flag-5'>系列</b>中使用<b class='flag-5'>L1CPU</b>高速<b class='flag-5'>緩存</b><b class='flag-5'>實(shí)現(xiàn)</b>的風(fēng)險(xiǎn)和解決方法

    PIC32 FRM帶L1CPU高速緩存器件上的預(yù)取模塊特性和操作中文概述

    本節(jié)介紹帶 L1 CPU 高速緩存PIC32 器件上的預(yù)取模塊的特性和操作。預(yù)取模塊特性可以提高大多數(shù)應(yīng)用的系統(tǒng)性能。
    發(fā)表于 06-06 06:29 ?1次下載
    <b class='flag-5'>PIC</b>32 FRM帶<b class='flag-5'>L1CPU</b>高速<b class='flag-5'>緩存</b>的<b class='flag-5'>器件</b>上的預(yù)取模塊特性和操作中文概述

    使用PIC32MZ設(shè)計(jì)的20msps示波器資料說明

    我們正在設(shè)計(jì)一個(gè)基于PIC32MZ的示波器,它只有1英寸×1英寸,包括一個(gè)OLED屏幕。我們以交錯(cuò)模式使用其內(nèi)部ADC,以獲得完整的20Msps。
    的頭像 發(fā)表于 03-17 10:02 ?4973次閱讀

    PIC32MZ器件上使用L1高速緩存

    本文檔提供了PIC32MZ 器件系列中一級(jí)(Level 1L1
    發(fā)表于 04-02 09:14 ?6次下載
    在<b class='flag-5'>PIC32MZ</b><b class='flag-5'>器件</b>上使用<b class='flag-5'>L1</b>高速<b class='flag-5'>緩存</b>

    使用MPLAB Harmony v3基于PIC32MZ MCU在運(yùn)行時(shí)使用高速緩存維護(hù)操作處理高速緩存一致性問題

    電子發(fā)燒友網(wǎng)站提供《使用MPLAB Harmony v3基于PIC32MZ MCU在運(yùn)行時(shí)使用高速緩存維護(hù)操作處理高速緩存一致性問題.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 16:28 ?0次下載
    使用MPLAB Harmony v3基于<b class='flag-5'>PIC32MZ</b> MCU在運(yùn)行時(shí)使用高速<b class='flag-5'>緩存</b>維護(hù)操作處理高速<b class='flag-5'>緩存</b>一致性問題

    如何使用PIC32MX/PIC32MZ/PIC32MM器件上的DMA CRC生成器

    電子發(fā)燒友網(wǎng)站提供《如何使用PIC32MX/PIC32MZ/PIC32MM器件上的DMA CRC生成器.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 10:02 ?0次下載
    如何使用<b class='flag-5'>PIC</b>32MX/<b class='flag-5'>PIC32MZ</b>/<b class='flag-5'>PIC</b>32MM<b class='flag-5'>器件</b>上的DMA CRC生成器
    在线百家乐下注| 百家乐官网小九梭哈| 大发888娱乐城登陆| 格龙24山五行| 百家乐官网试玩平台| 网上百家乐作| 黄金城百家乐官网苹果版| 九寨沟县| 百家乐真人游戏娱乐平台| 百家乐官网破解仪恒达| 足球竞猜规则| 将军百家乐的玩法技巧和规则| 澳门百家乐官网赌场娱乐网规则| 博彩通| 888百家乐的玩法技巧和规则| 百家乐官网桌子黑色| 百家乐官网三珠连跳打法| 边城棋牌游戏下载| 百家乐真人娱乐城| 真人百家乐官网游戏软件| 周宁县| 大发888赢钱技巧| 百家乐打法心得| 缅甸百家乐官网赌场| 百家乐官网庄闲分布概率| 永利娱乐城提款| 百家乐赌局| 娱乐城百家乐论坛| 曼哈顿百家乐官网娱乐城| 德格县| 大发888大发888官网| 百家乐官网21点桌| 蒲城县| 单机棋牌游戏| 百家乐追号| 百家乐筹码方形筹码| G3百家乐官网的玩法技巧和规则| 福安市| 澳盈88开户,| 大发888手机版下载| 百家乐博彩的玩法技巧和规则|