RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于大端模式與小端模式的介紹

SwM2_ChinaAET ? 來(lái)源:未知 ? 作者:工程師郭婷 ? 2018-07-22 10:16 ? 次閱讀

數(shù)據(jù)組織是指數(shù)據(jù)的傳送順序。目前常見的32為處理器的數(shù)據(jù)總線粒度為1字節(jié),在傳送時(shí),一個(gè)32位數(shù)據(jù)的最高字節(jié)可以放在數(shù)據(jù)總線的最低8位傳送,也可以放在數(shù)據(jù)總線的最高8位傳送,因此出現(xiàn)了大端和小端兩種數(shù)據(jù)組織方法。大端是指一個(gè)數(shù)據(jù)的最高位放在數(shù)據(jù)總線的最低位傳送或者放在地址較小的存儲(chǔ)器位置存儲(chǔ);小端是指一個(gè)數(shù)據(jù)的最高位放在數(shù)據(jù)總線的最高位傳送或者放在地址較高的存儲(chǔ)器位置存儲(chǔ)。Wishbone同時(shí)支持大端和小端兩者數(shù)據(jù)組織方式。當(dāng)數(shù)據(jù)總線的粒度和寬度相同時(shí),大端和小端是一樣的。

大端模式

所謂的大端模式(Big-endian),是指數(shù)據(jù)的高字節(jié),保存在內(nèi)存的低地址中,而數(shù)據(jù)的低字節(jié),保存在內(nèi)存的高地址中,這樣的存儲(chǔ)模式有點(diǎn)兒類似于把數(shù)據(jù)當(dāng)作字符串順序處理:地址由小向大增加,而數(shù)據(jù)從高位往低位放;

在大端模式下,前32位應(yīng)該這樣讀: e6 84 6c 4e ( 假設(shè)int占4個(gè)字節(jié))

記憶方法: 地址的增長(zhǎng)順序與值的增長(zhǎng)順序相反

關(guān)于大端模式與小端模式的介紹

圖2一個(gè)大端的例子

小端模式

所謂的小端模式(Little-endian),是指數(shù)據(jù)的高字節(jié)保存在內(nèi)存的高地址中,而數(shù)據(jù)的低字節(jié)保存在內(nèi)存的低地址中,這種存儲(chǔ)模式將地址的高低和數(shù)據(jù)位權(quán)有效地結(jié)合起來(lái),高地址部分權(quán)值高,低地址部分權(quán)值低,和我們的邏輯方法一致。

例子:

關(guān)于大端模式與小端模式的介紹

在小端模式下,前32位應(yīng)該這樣讀: 4e 6c 84 e6( 假設(shè)int占4個(gè)字節(jié))

記憶方法: 地址的增長(zhǎng)順序與值的增長(zhǎng)順序相同

關(guān)于大端模式與小端模式的介紹

圖3一個(gè)小端的例子

現(xiàn)狀

目前Intel的80x86系列芯片是唯一還在堅(jiān)持使用小端的芯片,ARM芯片默認(rèn)采用小端,但可以切換為大端;而MIPS等芯片要么采用全部大端的方式儲(chǔ)存,要么提供選項(xiàng)支持大端——可以在大小端之間切換。另外,對(duì)于大小端的處理也和編譯器的實(shí)現(xiàn)有關(guān),在C語(yǔ)言中,默認(rèn)是小端(但在一些對(duì)于單片機(jī)的實(shí)現(xiàn)中卻是基于大端,比如Keil 51C),Java是平臺(tái)無(wú)關(guān)的,默認(rèn)是大端。在網(wǎng)絡(luò)上傳輸數(shù)據(jù)普遍采用的都是大端。[

這兩者數(shù)據(jù)組織方式在一般文獻(xiàn)中都可以找到??偩€標(biāo)準(zhǔn)只定義接口通信協(xié)議,而數(shù)據(jù)的組織本質(zhì)上取決于主設(shè)備和從設(shè)備的設(shè)計(jì)。有時(shí)需要將大端和小端的接口互聯(lián)起來(lái),圖22給出了將數(shù)據(jù)組織為大端的IP A和數(shù)據(jù)組織為大端的IP B相連的情形。IP A和IP B的數(shù)據(jù)總線寬度都是32為,粒度為8位。

關(guān)于大端模式與小端模式的介紹

圖4 22大端和小端的接口互聯(lián)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)總線
    +關(guān)注

    關(guān)注

    2

    文章

    57

    瀏覽量

    17567
  • 小端模式
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    6347

原文標(biāo)題:【博文連載】Wishbone總線周期之?dāng)?shù)據(jù)組織

文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    cpu的大端模式模式優(yōu)劣對(duì)比

    關(guān)于大端名詞的由來(lái),有一個(gè)有趣的故事,來(lái)自于Jonathan Swift的《格利佛游記》:Lilliput和Blefuscu這兩個(gè)強(qiáng)國(guó)在過去的36個(gè)月中一直在苦戰(zhàn)。戰(zhàn)爭(zhēng)的原因:大家都知道,吃雞蛋的時(shí)候,原始的方法是打破雞蛋較
    的頭像 發(fā)表于 11-08 11:10 ?1.2w次閱讀
    cpu的<b class='flag-5'>大端</b><b class='flag-5'>模式</b>小<b class='flag-5'>端</b><b class='flag-5'>模式</b>優(yōu)劣對(duì)比

    大端序與小

    嵌入式之什么是大端序與小序朱有鵬1.大小模式11.1、什么是大小模式
    發(fā)表于 12-13 17:06

    如何知道你的MCU是大端模式還是小模式

    1、在編程開發(fā)過程中必須要知道你的MCU是大端模式還是小模式。2、通過以下代碼就能輕松知道是大端模式
    發(fā)表于 12-08 06:02

    大端模式與小模式分析

    Bit-endian 大端模式數(shù)據(jù)的高位字節(jié)存放在地址的低端 低位字節(jié)存放在地址高端Little-endian 小模式數(shù)據(jù)的高位字節(jié)存放在地址的高端 低位字節(jié)存放在地址低端例:假設(shè)從
    發(fā)表于 12-16 07:16

    keil怎么設(shè)置大端和小模式?

    keil怎么設(shè)置大端和小模式,用于stm32
    發(fā)表于 09-21 07:46

    iar編譯器是大端模式還是小模式的?

    iar編譯器是大端模式還是小模式
    發(fā)表于 09-25 08:00

    STM32中的FLASH數(shù)據(jù)是大端模式還是小模式?

    怎么判斷STM32的FLASH數(shù)據(jù)是大端模式還是小模式
    發(fā)表于 10-13 07:21

    請(qǐng)問如何配置STM32的FSMC的大端模式模式?

    請(qǐng)問如何配置STM32的FSMC的大端模式模式?還是硬件確定好了的不能修改?
    發(fā)表于 11-07 15:15

    tms320c6713的大小模式介紹

     在各種體系的計(jì)算機(jī)中通常采用的字節(jié)存儲(chǔ)機(jī)制主要有兩種: big-endian和little-endian,即大端模式和小模式。
    發(fā)表于 09-02 11:55 ?2377次閱讀

    存儲(chǔ)器的大端模式和小模式

    大端模式:數(shù)據(jù)的低位(就是權(quán)值較小的后面那幾位)保存在內(nèi)存的高地址中,而數(shù)據(jù)的高位保存在內(nèi)存的低地址中,這樣的存儲(chǔ)模式有點(diǎn)兒類似于把數(shù)據(jù)當(dāng)作字符串順序處理:地址由小向大增加,而數(shù)據(jù)從高位往低位放;
    發(fā)表于 10-27 09:34 ?5725次閱讀
    存儲(chǔ)器的<b class='flag-5'>大端</b><b class='flag-5'>模式</b>和小<b class='flag-5'>端</b><b class='flag-5'>模式</b>

    你真的懂CPU的大端和小模式嗎?

    但是在C語(yǔ)言中除了8bit的char之外,還有16bit的short型,32bit的int型。另外,對(duì)于位數(shù)大于8位的處理器,例如16位或者32位的處理器,由于寄存器寬度大于一個(gè)字節(jié),那么必然存在著一個(gè)如果將多個(gè)字節(jié)安排的問題。因此就導(dǎo)致了大端存儲(chǔ)模式和小
    的頭像 發(fā)表于 01-28 15:56 ?7123次閱讀
    你真的懂CPU的<b class='flag-5'>大端</b>和小<b class='flag-5'>端</b><b class='flag-5'>模式</b>嗎?

    測(cè)試MCU是大端模式還是小模式

    1、在編程開發(fā)過程中必須要知道你的MCU是大端模式還是小模式。2、通過以下代碼就能輕松知道是大端模式
    發(fā)表于 11-25 19:21 ?16次下載
    測(cè)試MCU是<b class='flag-5'>大端</b><b class='flag-5'>模式</b>還是小<b class='flag-5'>端</b><b class='flag-5'>模式</b>

    大小模式

    大小模式大端模式是指數(shù)據(jù)的高字節(jié)保存在內(nèi)存的低地址中,而數(shù)據(jù)的低字節(jié)保存在內(nèi)存的高地址中。小模式
    發(fā)表于 12-29 18:47 ?2次下載
    大小<b class='flag-5'>端</b><b class='flag-5'>模式</b>

    大小數(shù)據(jù)介紹

    關(guān)于大小 大小也可以理解為字節(jié)順序,或者序、尾序,也就是你們看到的大端序(Big-Endian)、小
    的頭像 發(fā)表于 09-29 18:35 ?1813次閱讀
    大小<b class='flag-5'>端</b>數(shù)據(jù)<b class='flag-5'>介紹</b>

    ARM大小模式

    ARM處理器 默認(rèn)是小模式,但它是支持大端模式。 我們?cè)贑ortex-M3手冊(cè)中有這么一些描述: 在Cortex-M3中, 存儲(chǔ)器系統(tǒng)支持 both 小
    的頭像 發(fā)表于 09-29 18:37 ?5858次閱讀
    ARM大小<b class='flag-5'>端</b><b class='flag-5'>模式</b>
    RM新时代网站-首页