色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

訪問寄存器代替內存引用

麥辣雞腿堡 ? 來源:OPPO內核工匠 ? 作者:Rock ? 2023-12-13 11:07 ? 次閱讀

我們先看一個例子:

有這么兩個程序:它們的目的就是將數組x中的數,按照下標累加到數組y中,最后在把數組y中的數據累加到一個數dest里面。為了驗證效果,我們將這個過程重復10000遍。

圖片

Prog 1 Prog2

這兩個程序的區別就在Prog2中紅框里面的內容。那么哪個程序運行的更快呢?

話不多說,我們看實際的結果:

圖片

圖片

這里為了說明效果,我們編譯的時候,并沒有采用優化(編譯優化,確實可以提高程序運行的效率,但是過高的編譯優化等級會有一定的副作用,另外編譯器優化也具有一定的局限性,高效的代碼仍然應該是我們追求的目標)。可以看到,Prog2要明顯比Prog1快。

要想理解上面的例子,我們必須先介紹一下寄存器匯編代碼的相關知識:

寄存器

CPU內部用來存放數據的一些小型存儲區域, 注意寄存器是在CPU內部,受限于CPU的物理尺寸,寄存器數量不會太多。我們只需要記住兩點:

1) 寄存器和CPU的L1 cache相比,速度雖然還在一個數量級,但是L1 cache的訪問速度還是要慢幾倍。具體的數據見下文表2

2) CPU只能從寄存器直接取數據或者指令,如果取不到,獲取的順序是L1-》L2-》L3-》主存-》磁盤。

從下文表2中可以看出,如果cpu的cache訪問miss了,性能損失還是很大的。如果內存里面再miss了,那對性能來說不亞于一場災難了。

計算機訪問速度分級:

表1 時間單位

圖片

以3.3GHz的CPU為例:

表2 系統的各種延時

圖片

正如你所見,CPU周期的時間非常短,這段時間,光的速度大約只能走0.5米。想象一下,是不是非常震撼?

x86-64 CPU的整數寄存器:

圖片

我們無需刻意去記住這些寄存器的名稱,不同架構的寄存器的數量和名稱也不一樣,我們只要知道他們是cpu內部的效率極高的存儲單元即可。

回到前面的例子,為什么Prog2要比Prog1快,是因為Prog2里面用DEST這個局部變量代替了dest。DEST是一個局部變量,在匯編指令里是直接訪問寄存器,而dest則需要去訪問內存cache。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    120915
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10899

    瀏覽量

    212615
  • 內存
    +關注

    關注

    8

    文章

    3047

    瀏覽量

    74207
  • 程序
    +關注

    關注

    117

    文章

    3794

    瀏覽量

    81281
收藏 人收藏

    評論

    相關推薦

    arm程序狀態寄存器訪問指令

    arm程序狀態寄存器訪問指令
    發表于 01-04 13:11 ?0次下載

    寄存器Load/Store內存訪問指令

    5.4 多寄存器Load/Store內存訪問指令 多寄存器Load/Store內存訪問指令也叫批
    發表于 10-18 15:56 ?1次下載

    為什么寄存器內存快_原因是這個

    本文開始介紹了寄存器特點、分類以及寄存器的工作原理,其次介紹了內存的容量、大小與選購方法,最后闡述了寄存器內存更快的原因。
    發表于 04-11 09:09 ?7137次閱讀
    為什么<b class='flag-5'>寄存器</b>比<b class='flag-5'>內存</b>快_原因是這個

    逆向基礎之寄存器內存詳解

    本文主要介紹的是逆向基礎的寄存器內存方面的信息,首先介紹的是逆向主要是做什么的,其次對編程和機器架構做了個簡介,最后詳細的闡述了逆向基礎的寄存器內存
    發表于 04-26 09:52 ?3004次閱讀

    RFM反射內存5565控制和狀態寄存器

    3.3 RFM反射內存控制和狀態寄存器 內存訪問周期RFM5565 反射內存控制和狀態寄存器,偏
    發表于 08-13 07:58 ?1315次閱讀

    寄存器變量

    C語言中使用關鍵字register來聲明局部變量為寄存器變量。寄存器變量的值會被存放在CPU的寄存器中,每當需要使用它們時,CPU就可以直接使用,而無須再通過控制
    發表于 06-03 10:13 ?2405次閱讀

    零基礎學ARM:程序狀態寄存器訪問指令解析

    一、程序狀態寄存器訪問指令ARM微處理支持程序狀態寄存器訪問指令,用于在程序狀態寄存器和通用
    的頭像 發表于 12-24 13:36 ?3547次閱讀

    寄存器內存的區別

    寄存器是中央處理內的組成部份。它跟CPU有關。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數據和位址。在中央處理的控制部件中,包含的
    發表于 12-31 16:57 ?1w次閱讀

    C語言訪問MCU寄存器

    C語言訪問MCU寄存器問題由來://下面這行代碼的意思是直接操作0X020C4068這個寄存器//具體寄存器的作用是通過手冊得到的#define CCM_CCGR0 *((volati
    發表于 10-25 13:21 ?3次下載
    C語言<b class='flag-5'>訪問</b>MCU<b class='flag-5'>寄存器</b>

    Cortex-M3 內部寄存器

    寄存器組R0-R12R0-R12,通用寄存器;R0-R12都是32位通用寄存器,用于數據操作;但是絕大多數16位Thumb指令只能訪問R0-R7,而32位Thumb指令可以
    發表于 11-26 16:21 ?39次下載
    Cortex-M3 內部<b class='flag-5'>寄存器</b>

    [從零學習匯編語言] - 寄存器內存訪問

    [從零學習匯編語言] - 寄存器內存訪問
    發表于 11-26 20:51 ?13次下載
    [從零學習匯編語言] - <b class='flag-5'>寄存器</b>與<b class='flag-5'>內存</b><b class='flag-5'>訪問</b>

    訪問CXL 2.0設備中的內存映射寄存器

    計算快速鏈接 (CXL) 1.1 和 CXL 2.0 規范在內存映射寄存器的放置和訪問方式上有所不同。CXL 1.1 規范將內存映射寄存器
    的頭像 發表于 05-25 16:56 ?2101次閱讀
    <b class='flag-5'>訪問</b>CXL 2.0設備中的<b class='flag-5'>內存</b>映射<b class='flag-5'>寄存器</b>

    寄存器內存的區別

    在計算機體系結構中,寄存器內存是兩個至關重要的組成部分。它們各自承擔著不同的角色,共同確保計算機系統的正常運行。本文將對寄存器內存進行詳細的介紹,包括它們的定義、功能以及二者之間的
    的頭像 發表于 05-12 17:11 ?2488次閱讀

    寄存器分為基本寄存器和什么兩種

    ,它們用于存儲指令、數據和地址等信息。基本寄存器的容量通常較小,但訪問速度非常快,因為它們與CPU的執行單元緊密相連。 基本寄存器的分類 基本寄存器可以分為以下幾類: (1)通用
    的頭像 發表于 07-12 10:31 ?1560次閱讀

    寄存器尋址的實現方式

    在計算機體系結構中,寄存器尋址是一種常見的尋址方式,它允許程序直接訪問CPU內部的寄存器寄存器尋址可以提高程序的執行效率,因為它避免了對內存
    的頭像 發表于 07-12 10:36 ?781次閱讀
    主站蜘蛛池模板: 囯产精品一区二区三区线| 国产精品99| 国产毛片视频网站| 日韩精品欧美在线视频在线| 365电影成人亚洲网在线观看| 久久re热线视频国产| 亚洲一区二区三区乱码在线欧洲| 国产色婷婷亚洲99麻豆| 贤妻良母电影日本| 国产午夜电影院| 亚洲精品久久久午夜福利电影网| 国产午夜精品久久久久九九| 小sao货水好多真紧h的视频| 国产午夜福利片| 亚洲日韩视频免费观看| 久久99re2在线视频精品| 一级毛片两人添下面| 久久精品热在线观看85| 一级做a爰片久久毛片一| 久久亚洲国产精品亚洲| 91精品国产91热久久p| 欧美性情一线免费http| 大胸美女被cao哭| 小柔的性放荡羞辱日记| 花蝴蝶高清观看免费| 真人女人无遮挡内谢免费视频%| 美女被男人撕衣舔胸| 变态露出野外调教| 五月丁香婷姐色| 久久re视频精品538在线| 99久久精品国内| 手机在线观看你懂的| 精彩国产萝视频在线| 97成人在线视频| 色欲天天婬色婬香影院| 国产最新精品亚洲2021不卡| 2021国产精品视频一区| 十分钟免费视频大全在线观看| 金发欧美一区在线观看| a级销魂美女| 亚洲精品免费在线视频|