linux學習(八) 操作icache

2021-09-12 23:29:47 字數 798 閱讀 4539

宣告及感謝,此文章為參照朱有鵬老師的linux課程總結的。 在此表示感謝!

首先來說cache是一種記憶體, 叫快取記憶體。

從容量來說: cpu < 暫存器 < cache < ddr

從速度來說: cpu > 暫存器 > cache > ddr

cache的存在是因為 它的速度比暫存器慢, 但是比ddr的塊, cpu在執行時, 在於ddr進行互動時,由於ddr的速度遠遠比不上cpu的速度, 因此ddr的速度就會把cpu的速度給拉低. 因此就需要cache 來進行緩衝, 他們之間有了cache 幫助進行互動, 就會使得cpu的效能上能夠很好的發揮,

icache 是內部的快取記憶體.

咱們程式設計師對icache 操作最多就是開啟與關閉, 至於cpu 與 icache 及與ddr的資料或者指令互動,都是cpu自己內部完成的.

在x210彙編**中 對cp15(協處理器)操作進行開關icache

mrc p15,0,r0,c1,c0,0;			// 讀出cp15的c1到r0中

// bic r0, r0, #(1<<12) // bit12 置0 關icache

orr r0, r0, #(1<<12) // bit12 置1 開icache

mcr p15,0,r0,c1,c0,0;

看了

作者是 fulinux 現在這裡表示感謝,

對上面**重新分析,

感覺應該是 請求p15協處理器 讀取 c1的值到 r0中

隨之修改r0中的值,

最後再通過協處理器將 修改後的r0的值寫入到c1中.

Linux操作基礎學習(八)

1 systemd 系統初始化程式,系統開始的第乙個程序,pid為1 2 systemctl 命令 systemctl list units 列出當前系統服務的狀態 systemctl list unit files 列出服務的開機狀態 systemctl status sshd 檢視指定服務的狀態...

Linux入門學習(八)

服務狀態 systemctl status服務名稱 loaded 系統服務已經初始化完成,載入過配置 active running 正有乙個或多個程式正在系統中執行,vsftpd 就是這種模式 atcive exited 僅執行一次就正常結束的服務,目前並沒有任何程式在系統中執行 atcive wa...

Linux相關學習(八)

1.已知乙個埠為444,如果檢視埠對應的什麼服務?方法1 lsof i 444 方法2 netstat lntup grep 444 2.追蹤網路狀態 traceroute tracert d 3.區域網機器無法上網排查 netstat an grep established awk awk f s...