日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Zynq的AMP开发注意事项之禁用L2 cache

發(fā)布時間:2025/3/21 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zynq的AMP开发注意事项之禁用L2 cache 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

Zynq的AMP模式在開發(fā)過程中,cpu1應(yīng)用程序的bsp工程的boot.s中,禁用了L2 cache。在這里,闡述一下原因:

博客主體參考自下文,并在此基礎(chǔ)上進行適當修改

https://blog.csdn.net/Franceshaa/article/details/78663213


1.開發(fā)平臺

硬件平臺:ZYNQ7z202clg400-2的創(chuàng)龍核心板

軟件平臺:

Windows 64位環(huán)境下:

Vivado 2017.04版本+SDK 2017.04版本

??? Linux環(huán)境下(Ubuntu 16.04):

Petalinux 2017.04版本

2.原理說明

首先,在AMP模式中,core 0與core 1共用512K L2 Cache,這勢必會引起兩個核的Cache競爭問題。
通常情況下,L2 Cache被core 0,core 1共享。那么會出現(xiàn)以下情況:
core 0的內(nèi)存訪問操作可能會清除core 1所使用的L2緩存內(nèi)容,從而使core 1的軟件性能有不確定性。
有時,我們需要為core 0 或core 1提供更多的確定性行為,尤其是架構(gòu)為AMP時。
如圖 2.1、圖 2.2為SMP與AMP架構(gòu)圖。

圖 2.1 SMP架構(gòu)圖

圖 2.2 AMP架構(gòu)圖


3.L2 Cache的鎖定

通過寄存器的控制可以將L2 Cache鎖定在不同core上,這讓用戶可以將L2 Cache的功能保留在特定的core上。

(1)相關(guān)說明

第一:Cache way是分區(qū)的寬度,Zynq的L2 Cache有8 Cache ways。

第二:L2 Cache控制器只能被鎖定8個不同的方式。

如圖 3.1所示,在Zynq 7000中,Cortex-A9 MP核的64個AXI被分為8個可以鎖定的組。

圖 3.1分組
(2)具體配置

具體的配置說明請參考官方手冊《UG585 - Zynq-7000 SoC Technical Reference Manual (ver1.12.2).pdf》,下載鏈接:https://download.csdn.net/download/ye1223/10811782

配置1:通常情況(L2 Cache 被core 0和core 1共享)

Reg9_d_lockdown0 = 0x0;

Reg9_1_lockdown0 = 0x0;

Reg9_d_lockdown1 = 0x0;

Reg9_1_lockdown1 = 0x0;

配置2:4-0-4方式,每個核用一半(core 0使用Cache way【0..3】;core 1使用Cache way【4..7】)

reg9_d_lockdown0 = 0xFFF0;

reg9_1_lockdown0 = 0xFFF0;

reg9_d_lockdown1 = 0xFF0F;

reg9_1_lockdown1 = 0xFF0F;

配置3:2-4-2方式(core 0使用Cache way【0..1】;core 1使用Cache way【6..7】;兩個核共享Cache way【2..5】)

reg9_d_lockdown0 = 0xFFC0;

reg9_1_lockdown0 = 0xFFC0;

reg9_d_lockdown1 = 0xFF03;

reg9_1_lockdown1 = 0xFF03;

配置4:
?

總結(jié)

以上是生活随笔為你收集整理的Zynq的AMP开发注意事项之禁用L2 cache的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。