2019-11-19 11:06:32

字长 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
科学名词|计算机概念
科学名词|计算机概念
编辑分类

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

字长在计算机结构和操作的多个方面均有体现。计算机中大多数寄存器的大小是一个字长。计算机处理的典型数值也可能是以字长为单位。CPU和内存之间的数据传送单位也通常是一个字长。还有而内存中用于指明一个存储位置的地址也经常是以字长为单位的。

现代计算机的字长通常为16、32、64位。其他曾经使用过的字长有:8、9、12、18、24、36、39、40、48、60位;slab是早期的另一个字长实例。某些最早期的计算机是十进制的而不是二进制的,通常拥有10位或者12位的十进制数字作为字长,还有一些早期的计算机根本就没有固定字长。

有时候字长被定义为某个特定值是为了与早期的计算机保持兼容。现在个人计算机中最通用的微处理器(例如:Intel的Pentium系列和AMD的Athlon系列)就是一个例子。它们中的IA-32构架是早期的具有16位字长的Intel 8086构架的扩展。而IA-32处理器仍然支持8086(x86)程序,所以在IA-32中,"字"的含义仍然为16位,尽管事实上它运行起来(特别是当默认操作数为32位时)更像一台32位计算机。类似地,在更新型的x86-64构架中,"字"仍然是16位的,虽然64位操作数更为常见。

基本信息

  • 中文名

    字长

  • 外文名

    word size

  • 解释

    同一时间处理二进制数位数叫字长

  • 地位

    字长是CPU的主要技术指标之一

  • 补充

    计算机处理器绝大部分已达到64位

折叠 编辑本段 字长概念

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

字长:一般说来,计算机在同一时间内处理的一组二进制数称为一个计算机的"字",而这组二进制数的位数就是"字长"。字长与计算机的功能和用途有很大的关系,是计算机的一个重要技术指标。字长直接反映了一台计算机的计算精度,为适应不同的要求及协调运算精度和硬件造价间的关系,大多数计算机均支持变字长运算,即机内可实现半字长、全字长(或单字长)和双倍字长运算。在其他指标相同时,字长越大计算机的处理数据的速度就越快。早期的微机字长一般是8位和16位,386以及更高的处理器大多是32位。目前市面上的计算机的处理器大部分已达到64位。

字长由微处理器对外数据通路的数据总线条数决定。

折叠 编辑本段 通俗含义

字长是CPU的主要技术指标之一,指的是CPU一次能并行处理的二进制位数,字长总是8的整数倍,通常PC机的字长为16位(早期),32位,64位。

PC机可以通过编程的方法来处理任意大小的数字,但数字越大,PC机就要花越长的时间来计算。PC机在一次操作中能处理的最大数字是由PC机的字长确定的。

我们先来看一下人脑是如何进行计算的,例如5×6则立即可以得到答案是30,但对于55×66,就不可能立即得到正确的答案,这就是说55或66已走出了人脑的"字长",这是为了得出结果,就必须把复杂的问题(如55×66)分解成易于处理的问题(如55×66可分解为50×60,50×6,5×60,5×6),然后再综合起来,得出结果。

字长字长同样PC机也是这样处理问题的,一台16位字长的PC机,可以直接处理2的16次方(65536)之内的数字,对于超过65536的数字就需要分解的方法来处理。32位pc机比16位机优越的原因就在于它在一次操作中能处理的数字大,32位字长的PC机能直接处理的数字高达40亿(2的32次方),能处理的的数字越大,则操作的次数就越少,从而系统的效率也就越高。

诚然,现在CPU大多是64位的,但大多都以32位字长运行,都没能展示它的字长的优越性,因为它必须与64位软件(如64位的操作系统等)相辅才成,也就是说,字长受软件系统的制约,例如,在32位软件系统中64位字长的CPU只能当32位用。

折叠 编辑本段 字的使用

根据计算机的组织情况,字长单位可能被应用到:

  • 整数–计算机处理的整数值通常可以有若干种不同的长度,但是其中总有一种正好是该构架的字长。如果有的话,其他的整数长度很可能是字长的倍数或分数。小尺寸的整数尺寸通常是为了提高存储效率;当它被加载处理器时,它经常被转换成字长尺寸的形式。
  • 浮点数–计算机处理的浮点数通常是一个字长或字长的倍数。
  • 地址–计算机处理的存储器地址必须有足够的尺寸,以便可以表示需要的数值范围,但是又不能过大。经常使用的尺寸是字,不过也可以是字的倍数或分数。
  • 寄存器–处理器寄存器根据它要处理的数据类型被设计成适当的尺寸,例如:整数、浮点数、地址。许多计算机构架使用"通用"寄存器,它们可以存储任何类型的数据,可以允许存储哪怕是最大的数据类型。它们的尺寸通常是其构架的字长。
  • 存储器-处理器传送–当处理器从存储器子系统读取数据至寄存器,或者,写寄存器数据到存储器,传送的数据通常是字。在简单的存储系统中,字在数据总线上传送,它一般为一个字或半个字。在使用缓存的存储系统,在处理器和一级缓存之间传送的是一个字长,而在更低级的存储层次上传送的可能是更大的尺寸(这尺寸是字的倍数)。
  • 编址单位–在一个给定的构架中,连续的地址值对应连续的存储器单位;该单位就是编址单位。在大部分计算机中,这个单位或者是一个字符(例如:字节)或者是一个字(少部分计算机也使用位(bit)编址单位)。如果单位是字,那么用指定长度的地址就可以访问较大数量的存储空间。另一方面,如果单位是字节,那么就可以访问单个的字符(i.e. selected during the memory operation)。
  • 指令机器指令通常是字长的分数或倍数。因为指令和数据经常共享同一个存储子系统,所以自然作出这样的选择。而在哈佛架构(Harvard architecture)中,指令和数据的长度并不需要有关联。

折叠 编辑本段 详细释义

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

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

字长

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

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

字节

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

折叠 编辑本段 字长的选择

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

字符的尺寸对于字长的选择也有影响。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个周期)

折叠 字和字节编址

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

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

折叠 2的幂

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

折叠 编辑本段 字长家族

随着计算机设计日益复杂,一个单一字长的核心作用在计算机架构中已经不那么重要。虽然硬件有能力支持更宽的数据类型,但是在扩展处理器性能时,市场却有强大的压力要求新产品保持向后兼容。因此,在一个新构架的向后兼容的设计中,核心的字长不得不与原始机型的字长共存。原始的字长在未来设计中保持可用,这就构成了字长家族的基础。

这种情形的一个主要的实例是x86系列的设计。原始的8086构架无疑是使用16位字长的。80386在8086的基础上进行了大幅改进,使其基于32位系统构架。如果不用考虑其他因素,它将是32位的,但是作为8086的扩展,它的字长继续被当作16位的。(也因此,有人说80386和它的后继处理器是"32位"的(32-bit),但不是32位字的(32-bit word),原文:As a result of this, one hears of the 80386 and successor processors as being "32-bit", but usually not as having a 32-bit word.--译者)同样的情形最近又发生了,当AMD64构架使64位在系统构架具有主要地位,但是它仍然没有放弃对16位和32位的支持。

因此,今天我们看到的计算机体系结构更多的是基于一个有联系的、类似的字长家族,而不是一个单一的字长体系结构。这些尺寸以整因子(integral factors)--通常是2的幂--互相关联。直接将它们中的任何一个尺寸定义为该系统的字长是武断的,因为这些尺寸的设计可能是因为这一系列体系构架的发展的历史原因,而不是体系自己的最新设计中的特性。

折叠 编辑本段 字长表

年份计算机
架构
字长整数
长度
浮点数
长度
长度
指令
编址单位字符
长度
1941Zuse Z322 bw8 bw
1942ABC50 bw
1944Harvard Mark I23 dw24 b
1946
(1948)
{1953}
ENIAC
(w/Panel #16)
{w/Panel #26}
10 dw, 2w
(w)
{w}

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


{w}
1951UNIVAC I12 dw½ww1 d
1952IAS machine40 bw½ww5 b
1952IBM 70136 b½w,w½w½w,w6 b
1952UNIVAC 60nd1d, ... 10d2d, 3d
1953IBM 702nd0d, ... 511d5dd1 d
1953UNIVAC 120nd1d, ... 10d2d, 3d
1954
(1955)
IBM 650
(w/IBM 653)
10 dw
(w)
ww2 d
1954IBM 70436 bwwww6 b
1954IBM 705nd0d, ... 255d5dd1 d
1954IBM NORC16 dww, 2www
1956IBM 305nd1d, ... 100d10dd1 d
1958UNIVAC II12 dw½ww1 d
1958SAGE32 b½www6 b
1958Autonetics Recomp II40 bw, 79 b, 8d, 15d2w½w½w,w5 b
1959IBM 1401nd1d, ...d, 2d, 4d, 5d, 7d, 8dd1 d
1959
(TBD)
IBM 1620nd2d, ...
(4d, ... 102d)
12dd2 d
1960LARC12 dw, 2ww, 2www2 d
1960IBM 1410nd1d, ...d, 2d, 6d, 7d, 11d, 12dd1 d
1960IBM 707010 dwwww,d2 d
1960PDP-118 bwww6 b
1961IBM 7030
(Stretch)
64 b1b, ... 64b,
1d, ... 16d
w½w,wb, ½w,w1 b, ... 8 b
1961IBM 7080nd0d, ... 255d5dd1 d
1962UNIVAC III25 b, 6 dw, 2w, 3w, 4www6 b
1962UNIVAC 110736 b/6w, ⅓w, ½w,wwww6 b
1962IBM 7010nd1d, ...d, 2d, 6d, 7d, 11d, 12dd1 d
1962IBM 709436 bww, 2www6 b
1963Gemini Guidance Computer39 b26 b13 b13 b, 26 b
1963
(1966)
Apollo Guidance Computer15 bww, 2ww
1964CDC 660060 bww¼w, ½ww6 b
1965IBM 36032 b½w,w,
1d, ... 16d
w, 2w½w,w, 1½w8 b8 b
1965UNIVAC 110836 b/6w, ¼w, ⅓w, ½w,w, 2ww, 2www6 b, 9 b
1965PDP-812 bwww8 b
1970PDP-1116 bw2w, 4ww, 2w, 3w8 b8 b
1971Intel 40044 bw,d2w, 4ww
1972Intel 80088 bw, 2dw, 2w, 3ww8 b
1972Calcomp 9009 bww, 2ww8 b
1974Intel 80808 bw, 2w, 2dw, 2w, 3ww8 b
1975Cray-164 b24 b,ww¼w, ½ww8 b
1975Motorola 68008 bw, 2dw, 2w, 3ww8 b
1975MOS Tech. 6501
MOS Tech. 6502
8 bw, 2dw, 2w, 3ww8 b
1976Zilog Z808 bw, 2w, 2dw, 2w, 3w, 4w, 5ww8 b
1978
(1980)
Intel 8086
(w/Intel 8087)
16 b½w,w, 2d
(w, 2w, 4w)

(2w, 4w, 5w, 17d)
½w,w, ... 7w8 b8 b
1978VAX-11/78032 b¼w, ½w,w, 1d, ... 31d, 1b, ... 32bw, 2w¼w, ... 14¼w8 b8 b
1979Motorola 6800032 b¼w, ½w,w, 2d½w,w, ... 7½w8 b8 b
1982
(1983)
Motorola 68020
(w/Motorola 68881)
32 b¼w, ½w,w, 2d
(w, 2w, 2½w)
½w,w, ... 7½w8 b8 b
1985ARM132 bww8 b8 b
1985MIPS32 b¼w, ½w,ww, 2ww8 b8 b
1989Intel 8048616 b½w,w, 2d
w, 2w, 4w
2w, 4w, 5w, 17d½w,w, ... 7w8 b8 b
1989Motorola 6804032 b¼w, ½w,w, 2dw, 2w, 2½w½w,w, ... 7½w8 b8 b
1991PowerPC32 b¼w, ½w,ww, 2ww8 b8 b
2000IA-6464 b8 b, ¼w, ½w,w½w,w41 b8 b8 b
2002XScale32 bww, 2w½w,w8 b8 b
说明:b:位, d: 10进制数,w:该构架的字长,n:变量长度(variable size)

折叠 编辑本段 双倍字长

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

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

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

4位字长:2^4=16;16位字长:2^16=65536=64K

32位字长:2^32=4,294,967,296=4G;64位字长:2^64≈1.8445×10^19

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

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

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

阅读全文

热点资讯