ARM基础:ARM中“字”的长度

发布者:幸福自在最新更新时间:2016-07-12 来源: eefocus关键字:ARM基础 手机看文章 扫描二维码
随时随地手机看文章
/

参考:
说明:ARM基础:ARM中“字”的长度。

 

(这里不讨论一个“汉字”代表两个“字节”的问题,这个差点都干扰我了都)

 

         在学习汇编时用到了LDRH R2,[R1] ;将存储器地址为R1的半字数据读入寄存器R2,并将R2的高16位清零。 以前没有听过字这个这个概念,就很纠结。就引起了我弄清“字”的长度的好奇心。字到底有多少个字节,这是一个很晦涩的问题,都特别是这样的解释:

 

        “在计算机领域, 对于某种特定的计算机设计而言,字是用于表示其自然的数据单位的术语。在这个特定计算机中,字是其用来一次性处理事务的一个固定长度的位(bit)组。一个字的位数(即字长)是计算机系统结构中的一个重要特性。”

 

         就是不明白,不过上边的LDRH R2,[R1]实验结果是R1指向的内存地址的16bit都给了R2,说明“字”是32位的。但是当我用Win7上的计算器时却发现了另一种情况。如下图可见,一个“字”,却给出了16bit。

ARM基础:ARM中“字”的长度

 

          这更激怒我了,非要搞明白不可了。在google时在wiki上找到了答案,这个“字”并不是固定的,对于X86来说是16位,对于ARM来说是32位。(链接这里)

           对各个架构都做了字长的统计,转来看看。

           这就说明谁都没有错了,Win7自带的计算器是按照x86的标准来的。要想用这个计算器来计算ARM中的字,要用这里的“双字”来代表ARM中的一个“字”。

字长表

年份

计算机
架构

字长

整数
长度

浮点数
长度

长度
指令

编址单位

字符
长度

1941

Zuse Z3

22 b

w

8 b

w

1942

ABC

50 b

w

1944

Harvard Mark I

23 d

w

24 b

1946
(1948)
{1953}

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

10 d

w, 2w
(w)
{w}


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



{w}

1951

UNIVAC I

12 d

w

½w

w

1 d

1952

IAS machine

40 b

w

½w

w

5 b

1952

IBM 701

36 b

½w, w

½w

½w, w

6 b

1952

UNIVAC 60

n d

1d, ... 10d

2d, 3d

1953

IBM 702

n d

0d, ... 511d

5d

d

1 d

1953

UNIVAC 120

n d

1d, ... 10d

2d, 3d

1954
(1955)

IBM 650
(w/IBM 653)

10 d

w


(w)

w

w

2 d

1954

IBM 704

36 b

w

w

w

w

6 b

1954

IBM 705

n d

0d, ... 255d

5d

d

1 d

1954

IBM NORC

16 d

w

w, 2w

w

w

1956

IBM 305

n d

1d, ... 100d

10d

d

1 d

1958

UNIVAC II

12 d

w

½w

w

1 d

1958

SAGE

32 b

½w

w

w

6 b

1958

Autonetics Recomp II

40 b

w, 79 b, 8d, 15d

2w

½w

½w, w

5 b

1959

IBM 1401

n d

1d, ...

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

d

1 d

1959
(TBD)

IBM 1620

n d

2d, ...


(4d, ... 102d)

12d

d

2 d

1960

LARC

12 d

w, 2w

w, 2w

w

w

2 d

1960

IBM 1410

n d

1d, ...

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

d

1 d

1960

IBM 7070

10 d

w

w

w

w, d

2 d

1960

PDP-1

18 b

w

w

w

6 b

1961

IBM 7030
(Stretch)

64 b

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

w

½w, w

b, ½w, w

1 b, ... 8 b

1961

IBM 7080

n d

0d, ... 255d

5d

d

1 d

1962

UNIVAC III

25 b, 6 d

w, 2w, 3w, 4w

w

w

6 b

1962

UNIVAC 1107

36 b

1/6w, ⅓w, ½w, w

w

w

w

6 b

1962

IBM 7010

n d

1d, ...

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

d

1 d

1962

IBM 7094

36 b

w

w, 2w

w

w

6 b

1963

Gemini Guidance Computer

39 b

26 b

13 b

13 b, 26 b

1963
(1966)

Apollo Guidance Computer

15 b

w

w, 2w

w

1964

CDC 6600

60 b

w

w

¼w, ½w

w

6 b

1965

IBM 360

32 b

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

w, 2w

½w, w, 1½w

8 b

8 b

1965

UNIVAC 1108

36 b

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

w, 2w

w

w

6 b, 9 b

1965

PDP-8

12 b

w

w

w

8 b

1970

PDP-11

16 b

w

2w, 4w

w, 2w, 3w

8 b

8 b

1971

Intel 4004

4 b

w, d

2w, 4w

w

1972

Intel 8008

8 b

w, 2d

w, 2w, 3w

w

8 b

1972

Calcomp 900

9 b

w

w, 2w

w

8 b

1974

Intel 8080

8 b

w, 2w, 2d

w, 2w, 3w

w

8 b

1975

Cray-1

64 b

24 b, w

w

¼w, ½w

w

8 b

1975

Motorola 6800

8 b

w, 2d

w, 2w, 3w

w

8 b

1975

MOS Tech. 6501
MOS Tech. 6502

8 b

w, 2d

w, 2w, 3w

w

8 b

1976

Zilog Z80

8 b

w, 2w, 2d

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

w

8 b

1978
(1980)

Intel 8086
(w/Intel 8087)

16 b

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


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

½w, w, ... 7w

8 b

8 b

1978

VAX-11/780

32 b

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

w, 2w

¼w, ... 14¼w

8 b

8 b

1979

Motorola 68000

32 b

¼w, ½w, w, 2d

½w, w, ... 7½w

8 b

8 b

1982
(1983)

Motorola 68020
(w/Motorola 68881)

32 b

¼w, ½w, w, 2d


(w, 2w, 2½w)

½w, w, ... 7½w

8 b

8 b

1985

ARM1

32 b

w

w

8 b

8 b

1985

MIPS

32 b

¼w, ½w, w

w, 2w

w

8 b

8 b

1989

Intel 80486

16 b

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

2w, 4w, 5w, 17d

½w, w, ... 7w

8 b

8 b

1989

Motorola 68040

32 b

¼w, ½w, w, 2d

w, 2w, 2½w

½w, w, ... 7½w

8 b

8 b

1991

PowerPC

32 b

¼w, ½w, w

w, 2w

w

8 b

8 b

2000

IA-64

64 b

8 b, ¼w, ½w, w

½w, w

41 b

8 b

8 b

2002

XScale

32 b

w

w, 2w

½w, w

8 b

8 b

说明: b: 位, d: 10进制数, w: 该构架的字长, n: 变量长度(variable size)


关键字:ARM基础 引用地址:ARM基础:ARM中“字”的长度

上一篇:ARM基础:ARM指令之MSR
下一篇:ARM所有常用指令的实例与说明

推荐阅读最新更新时间:2024-03-16 14:59

建立在ARM基础上的ADSL2+测试仪的设计
引言 近几年来,不对称数字用户线(ADSL)作为网络“最后一公里”问题的理想解决方案在世界范围内得到了广泛运用。在我,ADSL业务已成为运营商收入的主要增点之一。但由于现有电话线路专门为传送低频语音信号所设计,不利于高频信号传输,线路周边环境恶劣且复杂多变,无论ADSL业务的开通还是正常的运营维护,都需进行一系列复杂的测试工作。 现有测试仪表多为国外品牌且价格昂贵,国内产品普遍存在测试频段有限,测试结果片面的问题;而且由于核心芯片处理能力有限,嵌入式操作系统不先进,软件包功能不够完善,对测试结果的管理也比较混乱。随着市场不断壮大,尤其是基于ITU G.992.3/ G.992.5标准的ADSL2/ 2+推出后,价格合理、功能完
[单片机]
建立在<font color='red'>ARM</font><font color='red'>基础</font>上的ADSL2+测试仪的设计
ARM基础:C程序调用汇编
/****************************************************************************************************************** 参考: 说明:这个是存到一个变量中,以后再补充一个返回值保存到指针中的。 ******************************************************************************************************************/ //startup.s AREA asmfile, CODE, READONLY
[单片机]
<font color='red'>ARM</font><font color='red'>基础</font>:C程序调用汇编
ARM基础知识教程三
简介:ARM基础知识-ARM中异常中断的种类 **复位(RESET)** 当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复位异常中断通常用在下面几种情况下:系统加电时;系统复位时;跳转到复位中断向量处执行成为软复位。 **未定义的指令** 当ARM处理器或者是系统中的协处理器认为当前指令未定义时,产生未定义的指令异常中断,可以通过改异常中断机制仿真浮点向量运算。 **软件中断** 这是一个由用户定义的中断指令。可用于用户模式下的程序调用特权操作指令。在实时操作系统中可以通过该机制西线系统功能调用。 **指令与取终止(PrefechAbort)** 如果处理器预取的指令的地址不存
[单片机]
PIC 配置的配置
具体的配置选项需要看数据手册。 方法一:使用MPLAB X IDE V1.70直接生成代码 1.打开配置字:Windows -- 定义配置字时(C语言),需要看头文件中的配置字的定义, 然后 __CONFIG1(FOSC_XT&WDTE_OFF&LVP_OFF); //定义配置字,晶振类型:XT,关闭开门狗,禁止低电压编程 在使用
[单片机]
单片机sfr和sbit关键
bit与sfr用法类似,只是sbit是位操作,用于将某个sfr中具体位赋值给一个变量,这样后面程序就可用通过该变量为该位清0或置1。 sfr用于将一个单片机的特殊功能寄存器(special function register)赋值给一个变量,这样在后面的程序中就可以中这个变量指引(refer to)该寄存器。 sbit与sfr用法类似,只是sbit是位操作,用于将某个sfr中具体位赋值给一个变量,这样后面程序就可用通过该变量为该位清0或置1。 STC该系列单片机的特殊功能寄存器布局如下: 看过图1这么多特殊功能寄存器之后可能会产生一些困扰,我们用sfr P0 = 0×80表示P0,用sfr SP = 0×81表示
[单片机]
单片机sfr和sbit关键<font color='red'>字</font>
嵌入式arm学习总结(一)--电子基础知识
1.电阻 设计考虑两点 1)阻值 2)电阻的额定功率:计算的应用功率如果为P,那么选用的电阻要用(1.5—2)P,要留有余地 四点注意的地方 1)电源本身误差GB9706-2007规定220V允许正负10%的误差 2)元器件本身误差:电阻--5%--1% 3)其他原件误差: 电容误差:20%, 10% 5% 电容一般偏小,若买1000Uf电容---实际在850uf左右 容量越小成本越低 行规 4)环境:产品设计温度问题 估计误差10% 插件电阻(碳膜):1/4W 0805:1/8W 0603:1/10W 0402:1/16w 水泥电阻--1w——1000W 2.电容 1)容值:1F=1000000uf 1uf
[单片机]
ARM基础知识教程(三):ARM中异常中断的种类
**复位(RESET) ** 当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复位异常中断通常用在下面几种情况下:系统加电时;系统复位时;跳转到复位中断向量处执行成为软复位。 **未定义的指令** 当ARM处理器或者是系统中的协处理器认为当前指令未定义时,产生未定义的指令异常中断,可以通过改异常中断机制仿真浮点向量运算。 **软件中断** 这是一个由用户定义的中断指令。可用于用户模式下的程序调用特权操作指令。在实时操作系统中可以通过该机制西线系统功能调用。 **指令与取终止(PrefechAbort) ** 如果处理器预取的指令的地址不存在,或者该地址不允许当前指令访问,当被预取的指令执行
[单片机]
ARM基础知识教程四:ARM存储系统概述
* ARM存储系统的体系结构适应不同的嵌入式应用系统的需要差别很大。最简单的存储系统使用平办事的地址映射机制,就像一些简单的弹片机系统中一样,地址空间的分配方式是固定的,系统各部分都使用物理地址。而一些复杂系统可能包括下面的一种或几种技术,从而提供更为强大的存储系统。 系统中可能包含多种类型的存储器,如FLASH,ROM,RAM,EEPROM等,不同类型的存储器的速度和宽度等各不相同。 通过使用CACHE及WRITE BUFFER技术缩小处理器和存储系统速度差别,从而提高系统的整体性能。 内存管理部件通过内存映射技术实现虚拟空间到物理空间的映射。在系统加电时,将ROM/FLASH影射为地址0,这样可以进行一些初始化处理;当这些初始
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved