SylixOS在ZYNQ7000上劃分CACHE

2021-08-20 06:40:55 字數 1373 閱讀 4491

用處 通常情況下,l2 cache被core 0,core 1共享。

core 0的記憶體訪問操作可能會清除core 1所使用的l2快取內容,從而使core 1的軟體效能有不確定性。

 有時,我們需要為core 0 或core 1提供更多的確定性行為。

尤其是架構為amp時。

 l2 cache劃分可以滿足這種需求。

如圖 2.1、圖 2.2為smp與amp架構圖。

圖 2.1 smp架構圖

圖 2.2 amp架構圖

原理 通過暫存器的控制可以將l2 cache鎖定在不同core上。

這讓使用者可以將l2 cache的功能保留在特定的core上。

cache way是分割槽的寬度,zynq的l2 cache有8 cache ways。

 l2 cache控制器只能被鎖定8個不同的方式。

如圖 3.1所示,在zynq 7000中,cortex-a9 mp核的64個axi被分為8個可以鎖定的組。

圖 3.1分組

配置具體暫存器說明參照xilinx 官方資料手冊ug585。

配置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;

ZYNQ7000效能分析

提到自動駕駛,機械人視覺,高畫質攝像機,都要想到攝像頭這個單元,先前本俠也講過一些fpga應用在高畫質攝像頭和機器視覺中的深度攝像頭以及雙目攝像頭等,fpga在裡面的作用主要是對採集的影象進行處理,對影象的處理需要硬體有著很好的並行的效能,那麼它處理速度跟arm的cpu比起來有沒有優勢呢?本俠今天就...

Zynq7000晶元內部介紹

基於arm雙核coretexa9 arm v7架構 高達1ghz 單雙精度浮點單元 neon多 處理引擎 高速緩衝,中斷,dma,定時器,rtc,ent,3個看門狗 快取每個cpu 32kb 1級指令和資料快取 512kb 2級快取 2個cpu共享 支援8位奇偶校驗 片內儲存 片上boot rom ...

Zynq 7000能幹什麼

zynq 7000能幹什麼 1背景知識 2應用概述 2.1汽車 圖1 汽車系統 左 輔助駕駛系統 右 道路標識識別 現在的汽車裡都有大量的電子裝置,從引擎管理到車窗 倒車輔助系統 駕駛員輔助系統 後視鏡和燈光等控制功能,以及導航和資訊娛樂系統都有。先進駕駛輔助系統 advanced driver a...