新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM基礎(chǔ):ARM中“字”的長(zhǎng)度

        ARM基礎(chǔ):ARM中“字”的長(zhǎng)度

        作者: 時(shí)間:2016-11-10 來(lái)源:網(wǎng)絡(luò) 收藏
        /

        參考:
        說(shuō)明::ARM中“”的長(zhǎng)度。

        本文引用地址:http://www.104case.com/article/201611/317565.htm

        /

        (這里不討論一個(gè)“漢字”代表兩個(gè)“字節(jié)”的問(wèn)題,這個(gè)差點(diǎn)都干擾我了都)

        在學(xué)習(xí)匯編時(shí)用到了LDRHR2,[R1] ;將存儲(chǔ)器地址為R1的半字?jǐn)?shù)據(jù)讀入寄存器R2,并將R2的高16位清零。以前沒(méi)有聽(tīng)過(guò)字這個(gè)這個(gè)概念,就很糾結(jié)。就引起了我弄清“字”的長(zhǎng)度的好奇心。字到底有多少個(gè)字節(jié),這是一個(gè)很晦澀的問(wèn)題,都特別是這樣的解釋?zhuān)?/p>

        “在計(jì)算機(jī)領(lǐng)域,對(duì)于某種特定的計(jì)算機(jī)設(shè)計(jì)而言,字是用于表示其自然的數(shù)據(jù)單位的術(shù)語(yǔ)。在這個(gè)特定計(jì)算機(jī)中,字是其用來(lái)一次性處理事務(wù)的一個(gè)固定長(zhǎng)度的位(bit)組。一個(gè)字的位數(shù)(即字長(zhǎng))是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中的一個(gè)重要特性。”

        就是不明白,不過(guò)上邊的LDRHR2,[R1]實(shí)驗(yàn)結(jié)果是R1指向的內(nèi)存地址的16bit都給了R2,說(shuō)明“字”是32位的。但是當(dāng)我用Win7上的計(jì)算器時(shí)卻發(fā)現(xiàn)了另一種情況。如下圖可見(jiàn),一個(gè)“字”,卻給出了16bit。

        這更激怒我了,非要搞明白不可了。在google時(shí)在wiki上找到了答案,這個(gè)“字”并不是固定的,對(duì)于X86來(lái)說(shuō)是16位,對(duì)于ARM來(lái)說(shuō)是32位。(鏈接這里)

        對(duì)各個(gè)架構(gòu)都做了字長(zhǎng)的統(tǒng)計(jì),轉(zhuǎn)來(lái)看看。

        這就說(shuō)明誰(shuí)都沒(méi)有錯(cuò)了,Win7自帶的計(jì)算器是按照x86的標(biāo)準(zhǔn)來(lái)的。要想用這個(gè)計(jì)算器來(lái)計(jì)算ARM中的字,要用這里的“雙字”來(lái)代表ARM中的一個(gè)“字”。

        字長(zhǎng)表

        年份

        計(jì)算機(jī)
        架構(gòu)

        字長(zhǎng)

        整數(shù)
        長(zhǎng)度

        浮點(diǎn)數(shù)
        長(zhǎng)度

        長(zhǎng)度
        指令

        編址單位

        字符
        長(zhǎng)度

        1941

        ZuseZ3

        22b

        w

        8b

        w

        1942

        ABC

        50b

        w

        1944

        HarvardMarkI

        23d

        w

        24b

        1946
        (1948)
        {1953}

        ENIAC
        (w/Panel#16)
        {w/Panel#26}

        10d

        w,2w
        (w)
        {w}


        (2d,4d,6d,8d)



        {w}

        1951

        UNIVACI

        12d

        w

        ½w

        w

        1d

        1952

        IASmachine

        40b

        w

        ½w

        w

        5b

        1952

        IBM701

        36b

        ½w,w

        ½w

        ½w,w

        6b

        1952

        UNIVAC60

        nd

        1d,...10d

        2d,3d

        1953

        IBM702

        nd

        0d,...511d

        5d

        d

        1d

        1953

        UNIVAC120

        nd

        1d,...10d

        2d,3d

        1954
        (1955)

        IBM650
        (w/IBM653)

        10d

        w


        (w)

        w

        w

        2d

        1954

        IBM704

        36b

        w

        w

        w

        w

        6b

        1954

        IBM705

        nd

        0d,...255d

        5d

        d

        1d

        1954

        IBMNORC

        16d

        w

        w,2w

        w

        w

        1956

        IBM305

        nd

        1d,...100d

        10d

        d

        1d

        1958

        UNIVACII

        12d

        w

        ½w

        w

        1d

        1958

        SAGE

        32b

        ½w

        w

        w

        6b

        1958

        AutoneticsRecompII

        40b

        w,79b,8d,15d

        2w

        ½w

        ½w,w

        5b

        1959

        IBM1401

        nd

        1d,...

        d,2d,4d,5d,7d,8d

        d

        1d

        1959
        (TBD)

        IBM1620

        nd

        2d,...


        (4d,...102d)

        12d

        d

        2d

        1960

        LARC

        12d

        w,2w

        w,2w

        w

        w

        2d

        1960

        IBM1410

        nd

        1d,...

        d,2d,6d,7d,11d,12d

        d

        1d

        1960

        IBM7070

        10d

        w

        w

        w

        w,d

        2d

        1960

        PDP-1

        18b

        w

        w

        w

        6b

        1961

        IBM7030
        (Stretch)

        64b

        1b,...64b,
        1d,...16d

        w

        ½w,w

        b,½w,w

        1b,...8b

        1961

        IBM7080

        nd

        0d,...255d

        5d

        d

        1d

        1962

        UNIVACIII

        25b,6d

        w,2w,3w,4w

        w

        w

        6b

        1962

        UNIVAC1107

        36b

        1/6w,?w,½w,w

        w

        w

        w

        6b

        1962

        IBM7010

        nd

        1d,...

        d,2d,6d,7d,11d,12d

        d

        1d

        1962

        IBM7094

        36b

        w

        w,2w

        w

        w

        6b

        1963

        GeminiGuidanceComputer

        39b

        26b

        13b

        13b,26b

        1963
        (1966)

        ApolloGuidanceComputer

        15b

        w

        w,2w

        w

        1964

        CDC6600

        60b

        w

        w

        ¼w,½w

        w

        6b

        1965

        IBM360

        32b

        ½w,w,
        1d,...16d

        w,2w

        ½w,w,1½w

        8b

        8b

        1965

        UNIVAC1108

        36b

        1/6w,¼w,?w,½w,w,2w

        w,2w

        w

        w

        6b,9b

        1965

        PDP-8

        12b

        w

        w

        w

        8b

        1970

        PDP-11

        16b

        w

        2w,4w

        w,2w,3w

        8b

        8b

        1971

        Intel4004

        4b

        w,d

        2w,4w

        w

        1972

        Intel8008

        8b

        w,2d

        w,2w,3w

        w

        8b

        1972

        Calcomp900

        9b

        w

        w,2w

        w

        8b

        1974

        Intel8080

        8b

        w,2w,2d

        w,2w,3w

        w

        8b

        1975

        Cray-1

        64b

        24b,w

        w

        ¼w,½w

        w

        8b

        1975

        Motorola6800

        8b

        w,2d

        w,2w,3w

        w

        8b

        1975

        MOSTech.6501
        MOSTech.6502

        8b

        w,2d

        w,2w,3w

        w

        8b

        1976

        ZilogZ80

        8b

        w,2w,2d

        w,2w,3w,4w,5w

        w

        8b

        1978
        (1980)

        Intel8086
        (w/Intel8087)

        16b

        ½w,w,2d
        (w,2w,4w)


        (2w,4w,5w,17d)

        ½w,w,...7w

        8b

        8b

        1978

        VAX-11/780

        32b

        ¼w,½w,w,1d,...31d,1b,...32b

        w,2w

        ¼w,...14¼w

        8b

        8b

        1979

        Motorola68000

        32b

        ¼w,½w,w,2d

        ½w,w,...7½w

        8b

        8b

        1982
        (1983)

        Motorola68020
        (w/Motorola68881)

        32b

        ¼w,½w,w,2d


        (w,2w,2½w)

        ½w,w,...7½w

        8b

        8b

        1985

        ARM1

        32b

        w

        w

        8b

        8b

        1985

        MIPS

        32b

        ¼w,½w,w

        w,2w

        w

        8b

        8b

        1989

        Intel80486

        16b

        ½w,w,2d
        w,2w,4w

        2w,4w,5w,17d

        ½w,w,...7w

        8b

        8b

        1989

        Motorola68040

        32b

        ¼w,½w,w,2d

        w,2w,2½w

        ½w,w,...7½w

        8b

        8b

        1991

        PowerPC

        32b

        ¼w,½w,w

        w,2w

        w

        8b

        8b

        2000

        IA-64

        64b

        8b,¼w,½w,w

        ½w,w

        41b

        8b

        8b

        2002

        XScale

        32b

        w

        w,2w

        ½w,w

        8b

        8b

        說(shuō)明:b:位,d:10進(jìn)制數(shù),w:該構(gòu)架的字長(zhǎng),n:變量長(zhǎng)度(variablesize)




        關(guān)鍵詞: ARM基礎(chǔ)

        評(píng)論


        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 老河口市| 呼玛县| 伽师县| 日照市| 浙江省| 郑州市| 潍坊市| 富平县| 阳曲县| 遂平县| 吉隆县| 阿拉善盟| 宁化县| 芜湖县| 石台县| 阿拉善右旗| 红桥区| 和静县| 奇台县| 清涧县| 武冈市| 古交市| 广汉市| 徐汇区| 江口县| 闽清县| 米易县| 诏安县| 蒲江县| 乌拉特前旗| 渭南市| 乐平市| 遂宁市| 紫云| 佳木斯市| 上虞市| 松滋市| 胶州市| 萨迦县| 阳朔县| 香格里拉县|