微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM基础:ARM中“字”的长度

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

时间:11-10 来源:互联网 点击:
/

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

/

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

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

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

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

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

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

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

字长表

年份

计算机
架构

字长

整数
长度

浮点数
长度

长度
指令

编址单位

字符
长度

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

&

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top