• <code id="zjelh"></code>

          <source id="zjelh"><form id="zjelh"></form></source><acronym id="zjelh"><form id="zjelh"><blockquote id="zjelh"></blockquote></form></acronym>

          1. <acronym id="zjelh"><form id="zjelh"></form></acronym>

            <input id="zjelh"><rt id="zjelh"></rt></input>
            <var id="zjelh"><rt id="zjelh"></rt></var>
            <source id="zjelh"><form id="zjelh"><del id="zjelh"></del></form></source>

            當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > ARM體系架構中的存儲系統

            ARM體系架構中的存儲系統 時間:2018-09-25      來源:未知

            在計算機系統當中,數據的存儲是以字節為單位的,每個地址單元當中都可以存放一個字節的數據,每個字節為8bit。在C語言中編譯器為char型的數據分配了一個字節的存儲空間,為long型的數據分配了4個字節的存儲空間,為int型的數據分配了2個字節的存儲空間(要看具體的編譯器),這樣當所定義的數據類型占用的存儲空間大于一個字節時就需要用多個字節的空間來存儲一個數據,即一個數據占用了多了地址單元,這樣就存在著一個存儲順序的問題,即這幾個字節在內存單元中是以什么樣的順序來存儲的。

            在ARM體系中通常采用的字節存儲機制主要有兩種:Big-Endian(大端模式)Little-Endian(小端模式)。Big-Endian是指數據的高字節保存在內存的低地址中,而數據的低字節保存在內存的高地址中。Little-Endian是指數據的高字節保存在內存的高地址中,而數據的低字節保存在內存的低地址中,這種存儲模式將地址的高低和數據位權有效地結合起來,高地址部分權值高,低地址部分權值低,和我們的邏輯方法一致。

            舉一個例子,比如十六進制數字0x12345678在內存中的表示形式為:

            1)大端模式:

            低地址 -----------------> 高地址

            0x12 | 0x34 | 0x56 | 0x78

            2)小端模式:

            低地址 ------------------> 高地址

            0x78 | 0x56 | 0x34 | 0x12

            在ARM體系結構中采用Big-Endian存儲模式還是Little-Endian存儲模式都各有利弊,比如在Little-Endian模式下強制轉換數據不需要調整字節內容,而在Big-Endian模式下符號位的判定固定為第一個字節,與Little-Endian模式相比較更容易判斷數據的正負。

            在ARM體系中默認的存儲格式為小端對齊,但ARM處理器還可以由硬件來選擇是大端模式還是小端模式。

            上一篇:談談css的繼承性

            下一篇:Shell函數

            熱點文章推薦
            華清學員就業榜單
            高薪學員經驗分享
            熱點新聞推薦
            前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2018 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號,京公海網安備11010802025203號

            回到頂部

            有位老師想和您聊一聊

            yy4480影院