字长(二进制位数)

2023-06-10 104阅读

字长

二进制位数

字长是指同时参与运算的数的二进制位数,它决定着寄存器、加法器、数据总线等设备的位数,因而直接影响着硬件的代价,同时字长标志着计算机的计算精度和表示数据的范围。为了方便运算,许多计算机允许变字长操作,例如半字长、全字长、双字长等。一般计算机的字长在8~64位之间,即一个字由1~8个字节组成。微型计算机的字长有8位、准16位、16位、32位、64位等。

中文名 字长
外文名 word size
所属学科 计算机科学
解释 同一时间处理二进制数位数
地位 是CPU的主要技术指标之一

定义

字长是指同时参与运算的数的二进制位数,它决定着寄存器、加法器、数据总线等设备的位数, 字长是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义,例如某台计算机字长为16位,即有16个二进制数组成一条指令或其它信息。16个0和1可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作。

字长

简介

在计算机中各种信息都是用二进制编码进行存储,以二进制数的形式进行处理的。一个二进制位称为一个比特(Bit),8个二进制位称为一个字节(Byte)。计算机系统中,一般用若干个字节表示一个数或者一条指令,前者称为数据字,后者称为指令字。字长是指同时参与运算的数的二进制位数,它决定着寄存器、加法器、数据总线等设备的位数,因而直接影响着硬件的代价,同时字长标志着计算机的计算精度和表示数据的范围。为了方便运算,许多计算机允许变字长操作,例如半字长、全字长、双字长等。一般计算机的字长在8~64位之间,即一个字由1~8个字节组成。微型计算机的字长有8位、准16位、16位、32位、64位等。

在同一时间中处理二进制数的位数叫字长。通常称处理字长为8位数据的CPU叫8位CPU,32位CPU就是在同一时间内处理字长为32位的二进制数据。二进制的每一们0或1是组成二进制的最小单位,称为一个字长。

在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字。字通常分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示。

在计算机的运算器、控制器中,通常都是以字为单位进行传送的。字出现在不问的地址其含义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。

字长计算机的每个字所包含的位数称为字长。根据计算机的不同,字长有固定的和可变的两种。固定字长,即字长度不论什么情况都是固定不变的;可变字长,则在一定范围内,其长度是可变的。

计算的字长是指它一次可处理的二进创数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。一般地,大型计算机的字长为32―64位,小型计算机为12―32位,而微型计算机为4一16位。字长是衡量计算机性能的一个重要因素。

详述

在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字。字通常分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示。

在计算机的运算器、控制器中,通常都是以字为单位进行传送的。字出现在不同的地址其含义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。

字长

字长是指计算机的每个字所包含的位数。根据计算机的不同,字长有固定的和可变的两种。固定字长,即字长度不论什么情况都是固定不变的;可变字长,则在一定范围内,其长度是可变的。

计算的字长是指它一次可处理的二进制数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。一般地,大型计算机的字长为32―64位,小型计算机为16―32位,而微型计算机为4一16位。字长是衡量计算机性能的一个重要因素。

字节

字节是指一小组相邻的二进制数码。通常是8位作为一个字节。它是构成信息的一个小单位,并作为一个整体来参加操作,比字小,是构成字的单位。在微型计算机中,通常用多少字节来表示存储器的存储容量。

双倍字长

 双倍字长是指计算机内部参与运算的数的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,直接影响着机器的硬件规模和造价。双倍字长直接反映了一台计算机的计算精度,为适应不同的要求及协调运算精度和硬件造价间的关系,大多数计算机均支持变字长运算,即机内可实现半字长、全字长(或单字长)和双倍字长运算。

微型机的字长通常为4位、8位、16位和32位,64位字长的高性能微型计算机也已推出。

双倍字长对计算机计算精度的影响:

4位字长:24=16;16位字长:216=65,536=64K

32位字长:232=4,294,967,296=4G;64位字长:264≈1.8445×1019

数据总线DB用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到CPU。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如Intel8086微处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以指令代码或状态信息,有时甚至是一个控制信息,因此,在实际工作中,数据总线上传送的并不一定仅仅是真正意义上的数据。

地址总线AB是专门用来传送地址的,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址总线为16位,则其最大可寻址空间为216=64KB,16位微型机的地址总线为20位,其可寻址空间为220=1MB。一般来说,若地址总线为n位,则可寻址空间为2n字节。

控制总线CB用来传送控制信号和时序信号。控制信号中,有的是微处理器送往存储器和I/O接口电路的,如读/写信号,片选信号、中断响应信号等;也有是其它部件反馈给CPU的,比如:中断申请信号、复位信号、总线请求信号、限备就绪信号等。因此,控制总线的传送方向由具体控制信号而定,一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于CPU。

字长的选择

在设计计算机时,字长的选择是非常重要的。设计上的考虑倾向于为特定的用途(如地址)设定特定的位长。然而,出于经济的考虑,又应该仅使用一种尺寸,或者很少的几种与基本尺寸成倍数或分数(约数)关系的尺寸。这个首选的基本尺寸就成为该构架的字长。 

字符的尺寸对于字长的选择也有影响。20世纪60年代中期以前,字符大部分以6位存储;这样最多允许64个字符,因此不能又大写字符。由于将字长定义成字符尺寸的倍数在处理时间和存储空间上都比较划算,所以这个时期字长也就被定义为6位(在二进制机器上)的倍数。通常的选择是36位字长,这也是适合于浮点数格式的一个长度。 

随着IBM360系统的引入——该系统使用8位字符,并支持大小写字母——标准的字符(确切地说:字节)尺寸也转变成为8位。从那以后,字长也自然变成了8的倍数,16、32、64位字长被广泛使用。 

各种字长的架构

早期的计算机设计中包括所谓的“可变字长”设计。(原文:Early machine designs included some that used what is often termed avariable word length.——译者)。在这类设计中,数字操作数没有固定的长度,它们通过检查某个特殊字符来判断是否结束。这样的机器使用BCD编码表示数字,例如IBM 702、IBM 705、IBM 7080、IBM 7010、UNIVAC 1050、IBM 1401和IBM 1620。 

大部分这样的机器一次处理一个存储单元,因为每条指令和数据占用的数个单元,所以指令将使用数个周期来读取存储器。这类机器经常因为这个原因变得非常慢。例如,在IBM 1620 Model I上,取指令需要8个周期,只是为了读取12个数字(Model II降低到6个周期,不过如果指令不需要取其中的一个1个地址域的话,可以只需要4个周期;如果两个都不需要,则只需要1个周期)。 

字和字节编址

字长对计算机构架的存储器模式有很大的影响。特别是:通常选择字作为存储器的编址方案,所谓存储器编址方案就是地址码能够指定的最小存储单位。编号相邻的存储器字组,其地址编号相差一。在计算机中这样很自然,因为它通常总是要处理以字为单位的数据(或者是以字的倍数)。并且具有让指令可以使用最小的长度来指定一个地址的优点,这样,就可以减少指令长度或者可以定义更多的指令条数。 

当计算机很大的工作量是用来处理字节时,通常定义字节作为地址编址单位要比字更好。这样做字符串中的单个字符可以通过地址直接指定。当然,一个字仍然可以被地址访问,但是比起字编址方案,它的地址将使用更多的位数。在这种组织结构中,字长需要被定义为字符长度的整数倍。这种编址方案在IBM 360中被使用,此后即变成计算机设计中最普遍的方案。 

2的幂

数据常常要占用不同大小的存储空间,例如,有些数值比其他的数值要求有更高的精度。通常使用的长度是编址单位(以字为单位编址或以字节为单位编址)的倍数,这个倍数常常是的2的幂。这样做是比较便利的,因为这样的话,将一个处理对象在数组中的索引值转化为这个处理对象的地址只需要进行一个移位操作(这在硬件上只需要进行布线的变化)而不需要进行乘操作。某些时候这样的做法还可以避免除操作。因此,一些现代计算机设计使用的字长(或者其他的操作数)是2的幂乘以字节尺寸。

字长表

年份

计算机架构

字长

整数长度

浮点数长度

长度指令

编址单位

字符长度

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

nd

1d, ... 10d

2d, 3d

1953

IBM 702

nd

0d, ... 511d

5d

d

1 d

1953

UNIVAC 120

nd

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

nd

0d, ... 255d

5d

d

1 d

1954

IBM NORC

16 d

w

w, 2w

w

w

1956

IBM 305

nd

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

nd

1d, ...

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

d

1 d

1959

(TBD)

IBM 1620

nd

2d, ...

(4d, ... 102d)

12d

d

2 d

1960

LARC

12 d

w, 2w

w, 2w

w

w

2 d

1960

IBM 1410

nd

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

nd

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

/6w, ⅓w, ½w,w

w

w

w

6 b

1962

IBM 7010

nd

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

/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)

有关术语

在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字,字反映计算机一次并行处理的一组二进制数。字通常分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示。 

在计算机的运算器、控制器中,通常都是以字为单位进行传送的。字在不同的地址出现,其含义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。 

字节

字节是指一小组相邻的二进制数码。通常是8位作为一个字节。它是构成信息的一个小单位,并作为一个整体来参加操作,比字小,是构成字的单位。在微型计算机中,通常用多少字节来表示存储器的存储容量。

参考资料

1.2014年上半年信息系统管理工程师上午试卷综合知识(解析)·公开真题库

2.字节、字、位、比特的概念和关系【转发】·布布扣

目录[+]