国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

理論學習-ARM-內(nèi)核

這篇具有很好參考價值的文章主要介紹了理論學習-ARM-內(nèi)核。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


為了提高學習效率,我們要提前想好學習策略。
首先,使用頻率越高的知識點,越要首先學習。假使,我們學習了一個知識點,能覆蓋工作中80%的工作量,那是不是很夸張的學習效率?!
其次,有兩種覆蓋知識點,梳理知識點的策略。一種是將知識按體系劃分,挨個學習,系統(tǒng)學習。具體而形象的學習樣板就是教科書。第一章,第二章等等,挨個分支學習、梳理。如果我們要講述應題的知識,就要按寄存器、計算機工作原理、匯編指令、內(nèi)核架構分體系去挨個講解。還有一種策略就是面對問題。比如,我們首先提出一個問題:“函數(shù)調用,從C語言到匯編,再到CPU內(nèi)核,以及寄存器的工作表現(xiàn)是怎樣實現(xiàn)的”,如果我們把這個問題講解清楚,就要把各個牽涉的體系知識揉到一起講解。第二種策略,似乎更能把使用頻率高的知識點串一起,一起學習。是我們面對工程應用更好的學習策略。因為我們不是做研究?。∪绻?,我們用第二種工作策略,感覺收益不大了(因為使用頻率低的,這種學習方式我們不易接觸到,無法高效率補充知識盲點)。那么我們就應該更換第一中學習策略了,補充知識盲點,系統(tǒng)學習,系統(tǒng)梳理。

ok,我們采用第二種策略開始學習。

函數(shù)的調用

要實現(xiàn)函數(shù)調用,有至少要有四步:

  1. 壓棧,保護當前函數(shù)現(xiàn)場。
  2. 跳轉,實現(xiàn)函數(shù)跳轉。
    a. 讀參數(shù)
    b. 運算、運行
    c. 返回結果
  3. 跳轉,返回父級函數(shù)。
  4. 出棧,恢復現(xiàn)場。

用實例,來對應感受一下。
理論學習-ARM-內(nèi)核,學習,arm開發(fā)
對應的匯編
理論學習-ARM-內(nèi)核,學習,arm開發(fā)
理論學習-ARM-內(nèi)核,學習,arm開發(fā)
理論學習-ARM-內(nèi)核,學習,arm開發(fā)
可見,套路既是:
5. 壓棧,保護當前函數(shù)現(xiàn)場。 { PUSH 或者 LDR } sp寄存器,Rx寄存器
6. 跳轉,實現(xiàn)函數(shù)跳轉。{B、BL、BX},對應給PC寄存器賦值
a. 讀參數(shù) (出?!緩臈Wx取】、或者R0、R1)
b. 運算、運行 (ADD等)
c. 返回結果(壓?!緩臈14妗?,或者R0、R1)
7. 跳轉,返回父級函數(shù)。{B、BL、BX ,但對應LR}, 對應給PC寄存器賦值
8. 出棧,恢復現(xiàn)場。{POP 或者LDR}, sp寄存器,Rx寄存器

【注意】:
9. 跳轉前保存下一條指令地址至LR寄存器
不帶返回的跳轉指令B, 不會保存地址至LR寄存器
帶返回的跳轉指令BL,會自動保存地址至LR寄存器
10. 在子函數(shù)不會自動跳回父函數(shù),需要手動將LR寄存器的值賦給PC寄存器才能跳轉回來。
11. 有一個官方規(guī)范AAPCS(Procedure Call Standard for the ARM? Architecture),詳細描述了進行函數(shù)調用時如何進行參數(shù)的傳遞和調用路徑的記錄等。
12. 大多數(shù)的函數(shù)調用通過BL語句實現(xiàn),對應著LR寄存器 和 PC寄存器。因此依次找到棧中LR的數(shù)值,就能找到調用路徑中各個函數(shù)的地址。最后根據(jù)map文件翻譯出各函數(shù)的名稱,就可以得到函數(shù)的調用路徑了。【?;厮荨?br> 13. 寄存器概述文章來源地址http://www.zghlxwxcb.cn/news/detail-835305.html

- 通用寄存器 
通用寄存器中可供挖掘的信息并不多,通常情況下r0-r3寄存器保存著函數(shù)的前四個參數(shù)(其余的參數(shù)在棧中保存),需要注意的是:這四個寄存器的數(shù)值僅在函數(shù)開始執(zhí)行的時候是可靠的,在函數(shù)執(zhí)行的過程中可能被改變。在函數(shù)返回時,寄存器r0和r1用于保存返回值(根據(jù)返回數(shù)據(jù)的大小,決定僅使用r0還是同時使用r0和r1)。同樣這兩個寄存器僅在子函數(shù)剛返回時數(shù)值才是可靠的。
- 特殊功能寄存器【PC、LR和SP】
SP指向當前的棧頂,在知曉棧的結構時,可以根據(jù)SP訪問棧中的數(shù)據(jù)。
在中斷處理函數(shù)中LR有特殊用法,其中保存了返回被中斷地點的方法,而不是通常情況下的返回地址。因此在Hardfault處理函數(shù)中寄存器LR和PC的值沒有太多參考意義,被處理器自動壓棧的LR和PC最有用,PC記錄了被中斷打斷前正在執(zhí)行的指令地址(也是正在執(zhí)行的函數(shù)地址),LR記錄了被中斷打斷前,正在執(zhí)行的函數(shù)的父函數(shù)的地址。根據(jù)這兩個地址,可以找到引發(fā)Hardfault異常的函數(shù)和語句,以及其父函數(shù)(如果輔以匯編代碼繼續(xù)對棧的內(nèi)容進行分析,則可以回溯整個調用路徑)。
- SCB寄存器
在M3/M4處理器標準外設中,有一個叫做SCB(System Control Block)的部分,其中有6個寄存器記錄了發(fā)生Hardfault異常的原因。
--此部分轉載至 【作者:電工王大爺,鏈接:https://www.jianshu.com/p/e766c2fba1cc】
具體參考官方文檔《HardFault的診斷》,或者電工王大爺?shù)奶印?

加載、存儲

計算

中斷

異常

線程的切換

到了這里,關于理論學習-ARM-內(nèi)核的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Transformer理論學習

    Transformer理論學習

    Transformer出自于論文《attention is all you need》。 一些主流的序列模型主要依賴于復雜的循環(huán)結構或者CNN,這里面包含了編解碼器等。而Transformer主要的結構是 基于注意力機制 ,而且是用多頭注意力機制去替換網(wǎng)絡中的循環(huán)或者CNN(換言之就是 transformer 這個網(wǎng)絡模型是不需要循環(huán)

    2024年02月13日
    瀏覽(31)
  • 孤子理論學習(一)

    最簡單的波的典型例子就是聲波和電磁波,它們可以用下面的方程描述: ? ( ? 2 ? t 2 ? v 0 2 ? 2 ? x 2 ) f ( x , t ) = 0 ? (1.1) (frac{partial^2}{partial t^2}-v_0^2frac{partial^2}{partial x^2})f(x,t)=0 ,tag{1.1} ? ( ? t 2 ? 2 ? ? v 0 2 ? ? x 2 ? 2 ? ) f ( x , t ) = 0 ( 1.1 ) 其中, v 0 v_0

    2024年02月07日
    瀏覽(27)
  • 理論學習:logits softmax

    在深度學習中, Logits(邏輯值)是指模型的輸出層在應用激活函數(shù)之前的值 。它通常是一個向量,表示不同類別的得分或概率。在分類問題中,Logits可以被解釋為模型對每個類別的置信度或原始預測分數(shù)。 模型的輸出層通常會應用一個激活函數(shù),例如Softmax函數(shù),將Logits轉換

    2024年04月28日
    瀏覽(14)
  • 【概率論理論】協(xié)方差,協(xié)方差矩陣理論(機器學習)

    ??在許多算法中需要求出兩個分量間相互關系的信息。協(xié)方差就是描述這種相互關聯(lián)程度的一個特征數(shù)。 ??設 ( X , Y ) (X,Y) ( X , Y ) 是一個二維隨機變量,若 E [ ( X ? E ( X ) ) ( Y ? E ( Y ) ) ] E[(X-E(X))(Y-E(Y))] E [ ( X ? E ( X ) ) ( Y ? E ( Y ) ) ] 存在,則稱此數(shù)學期望為 X X X 與

    2024年02月14日
    瀏覽(21)
  • 機器學習-學習率:從理論到實戰(zhàn),探索學習率的調整策略

    機器學習-學習率:從理論到實戰(zhàn),探索學習率的調整策略

    本文全面深入地探討了機器學習和深度學習中的學習率概念,以及其在模型訓練和優(yōu)化中的關鍵作用。文章從學習率的基礎理論出發(fā),詳細介紹了多種高級調整策略,并通過Python和PyTorch代碼示例提供了實戰(zhàn)經(jīng)驗。 關注TechLead,分享AI全維度知識。作者擁有10+年互聯(lián)網(wǎng)服務架構

    2024年02月05日
    瀏覽(22)
  • 機器學習-方差和偏差理論

    機器學習-方差和偏差理論

    關于機器學習方差和偏差的內(nèi)容其實很重要,這個方差和偏差可以幫助我們?nèi)シ治?,模型的泛化能力和過擬合的程度。 下面我們先給存儲方差和偏差的公式: 注意,下式當中, f ( x ; D ) 表示在數(shù)據(jù)集 D 上訓練出的模型, f ? ( x ) 表示無窮多個不同數(shù)據(jù)集訓練出的加權平均模

    2024年02月12日
    瀏覽(23)
  • 理論U4 集成學習

    理論U4 集成學習

    傳統(tǒng)學習面臨的問題:沒有任何情況下都最好的機器學習算法 1)背景 通過將多個學習器進行集成,??色@得比單一學習器顯著優(yōu)越的泛化性能,這對弱學習器尤為明顯。 弱學習器:準確率僅比隨機猜測略高的學習器。 強學習器:準確率高并能在多項式時間內(nèi)完成的學習器

    2024年01月20日
    瀏覽(17)
  • 【機器學習】決策樹(理論)

    【機器學習】決策樹(理論)

    決策樹(Decision Tree)是一種分類和回歸方法,是基于各種情況發(fā)生的所需條件構成決策樹,以實現(xiàn)期望最大化的一種圖解法。由于這種決策分支畫成圖形很像一棵樹的枝干,故稱決策樹。它的運行機制非常通俗易懂,因此被譽為機器學習中,最“友好”的算法。下面通過一個

    2024年02月04日
    瀏覽(27)
  • 圖機器學習【從理論到實戰(zhàn)】

    圖機器學習【從理論到實戰(zhàn)】

    傳統(tǒng)神經(jīng)網(wǎng)絡 以往:隨著機器學習、深度學習的發(fā)展,語音、圖像、自然語言處理逐漸取得了很大的突破,然而語音、圖像、文本都是很簡單的序列或者網(wǎng)格數(shù)據(jù),是很結構化的數(shù)據(jù),深度學習很善于處理該種類型的數(shù)據(jù)。 圖神經(jīng)網(wǎng)絡 現(xiàn)實世界:并不是所有的事物都可以表

    2024年02月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包