字长

   我们通常说的64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。


通用寄存器:
  通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。


字长:
  字长是CPU的主要技术指标之一,指的是CPU一次能并行处理的二进制位数,字长总是8的整数倍,通常PC机的字长为16位(早期),32位,64位。 一台16位字长的PC机,可以直接处理2的16次方(65536)之内的数字,对于超过65536的数字就需要分解的方法来处理。32位pc机比16位机 优越的原因就在于它在一次操作中能处理的数字大,32位字长的PC机能直接处理的数字高达40亿(2的32次方),能处理的的数字越大,则操作的次数就越 少,从而系统的效率也就越高。字长在计算机的运算器、控制器中,通常都是以字为单位进行传送的。字出现在不问的地址其含义是不相同。例如,送往控制器去的 字是指令,而送往运算器去的字就是一个数。

字长与寻址空间:
    处理机字长是指处理机能同时处理(或运算)的位数,即同时处理多少位(bit)数据。比如Intel Pentium 4处理器字长为32位,它能同时处理32位的数据,也即它的数据总线为32位。以前的处理器比如8086,则为16位处理器,现在新兴的64位处理器,它 的数据吞吐能力更强,即能同时对64位数据进行运算。处理器的字长越大,说明它的运算能力越强。
如果讲处理器的寻址范围,则要看处理器的地址总线 的位数,而不是它的字长!这个要明白!比如Intel Pentium 4处理器的数据总线为32位,地址总线也是32位。8086的数据总线为16位,地址总线为20位。新兴的64位处理器的数据总线为64位,地址总线大部 分是32位。这个清楚之后,再看地址总线与寻址范围的关系。存储单元是以字节(byte)为单位,N根地址总线能访问2的N次方个存储单元。于是有32位 地址总线可以访问2的32次方个存储单元,即4GB。8086处理器字长是16位,它的地址总线是20位,所以能访问2的20次方个存储单元,即1MB。

 

寻址范围:
  地址指针的字长是二进制的16位,说明可以表达的地址个数为2^16个,寻址范围是按数据总线位数(一次提取的数据位数)计算得到的地址个数。

 

地址总线,字长,内存容量,寻址范围 之间的计算

某计算机字长32位,存储容量8MB。按字编址,其寻址范围为(0~2M-1) 计算步骤:8MB字节=8*1024*1024*8位。所以8MB/32位=2M

处理机字长是指处理机能同时处理(或运算)的位数,即同时处理多少位(bit)数据。比如Intel Pentium 4处理器字长为32位,它能同时处理32位的数据,也即它的数据总线为32位。以前的处理器比如8086,则为16位处理器,现在新兴的64位处理器,它 的数据吞吐能力更强,即能同时对64位数据进行运算。处理器的字长越大,说明它的运算能力越强。如果讲处理器的寻址范围,则要看处理器的地址总线的位数, 而不是它的字长!这个要明白!比如Intel Pentium 4处理器的数据总线为32位,地址总线也是32位。8086的数据总线为16位,地址总线为20位。新兴的64位处理器的数据总线为64位,地址总线大部 分是32位。这个清楚之后,再看地址总线与寻址范围的关系。存储单元是以字节(byte)为单位,N根地址总线能访问2的N次方个存储单元。于是有32位 地址总线可以访问2的32次方个存储单元,即4GB。 8086处理器字长是16位,它的地址总线是20位,所以能访问2的20次方个存储单元,即1MB。 另外一点需要注意的就是,如果有些题目说:按“字”寻址,就说明是存储单元大小为字长的位数,按“字节”寻址,说明存储单元式字节的大小 (个人理解,没有考证)

下面通过举几个例子,来说明这些关系

1、某计算机字长32位,存储容量8MB。按字编址,其寻址范围为(0~2M)
计算步骤:8MB字节=8*1024*1024*8位。所以8MB/32位=2M.

2、某计算机字长32位,其存储容量为4MB,若按半字编址,它的寻址范围是(0-2M)
计算步骤:若按半字就是16位了 4MB=4*1024*1024*8位,所以4MB/16 = 2M;

3、字长为32位.存储器容量为64KB.按字编址的寻址范围是多少
计算步骤:64K字节=64*1024*8位. 所以64KB/32位=(64*1024*8)/32=16*1024=16K 故寻址范围为: 0-16K

4、某机字长32位,存储容量1MB,若按字编址,它的寻址范围是什么?
解释:容量1M=2*1024*1024 位      一个字长是32 位
所以,寻址范围是二者相除=256K

5、对于存储器的容量扩展,有位扩展,字扩展,字位扩展三种形式。对于字位扩展,一个存储器的容量为M*N位,若使用L*K位存储器芯片,那么,这个存储器共需(M*N)/(L*K)个存储器芯片。

下面分析一下字位扩展的习题: 设有一个具有14位地址和8位字长的存储器,问该存储器容量有多大?如果存储器由 1K*1静态存储器组成,需多少芯片?多少位地址作芯片选择?

分析:位扩展指的是用多个存储器对字长进行扩充。本题中所用的存储器芯片字长是1位,要扩展到8位,就得用8片。原题中说, “存储器由 1K*1静态存储器组成”,其中,1K指的是存储单元个数,它决定地址的位数,因为2的10次方是1K,所以它用10根地址线,4位地址线用来作芯片选 择。

字扩展指的是增加存储器中字的数量。

解:该存储器的地址线有14位,它的可寻址范围是:2^14=2^4*2^10=16K,因为它是8位字长,所以可存储16K个字节的信息,即16K*8位;所需芯片总数为(16K*8)/(1K*1)=16*8=128个芯片; 芯片选择线为14-10=4。

### 定义 计算机字长是指计算机进行一次整数运算所能处理的二进制数据的位数,通常也被称作“字长”。它是计算机性能的一个重要指标,常见的字长有 8 位、16 位、32 位、64 位等。例如,8 位字长的计算机,一次能处理 8 位二进制数据。 ### 作用 - **数据处理能力**:字长决定了计算机一次能处理的数据量大小。字长越长,计算机在同一时间内能够处理的数据位数就越多,从而可以处理更复杂的数据和执行更高效的运算。比如,64 位计算机相比 32 位计算机,在处理大数据量的科学计算、图形处理等任务时,速度更快、效率更高。 - **计算精度**:对于数值计算,字长直接影响计算的精度。较长的字长可以表示更大范围的数值,并且在进行浮点运算时能够提供更高的精度。例如,在金融领域的高精度计算中,需要使用较长字长的计算机来保证计算结果的准确性。 - **寻址能力**:字长还与计算机的寻址能力相关。计算机通过地址来访问内存中的数据,字长决定了地址总线的位数,进而影响计算机能够直接访问的内存空间大小。例如,32 位计算机的地址总线通常为 32 位,其最大可寻址的内存空间为 2^32 字节,即 4GB;而 64 位计算机的地址总线为 64 位,可寻址的内存空间则大大增加。 ### 影响因素 - **硬件设计**:计算机的硬件架构和设计是决定字长的关键因素。处理器的设计、寄存器的位数等硬件组件直接决定了计算机的字长。例如,现代的高性能处理器通常采用 64 位设计,以满足日益增长的计算需求。 - **成本和市场需求**:较长的字长通常意味着更高的成本,包括处理器的设计和制造难度增加、内存等相关硬件的成本提高。因此,计算机制造商需要根据市场需求和成本效益来选择合适的字长。在一些对成本敏感的应用场景中,可能会选择较低字长的计算机。 - **软件兼容性**:软件的兼容性也是影响字长选择的因素之一。虽然现代软件通常支持多种字长的计算机,但一些旧的软件可能只兼容特定字长的系统。因此,在升级计算机字长时,需要考虑软件的兼容性问题。 ### 代码示例 以下是一个简单的 Python 代码示例,用于演示不同字长对数据表示范围的影响: ```python # 8 位无符号整数的表示范围 min_8bit = 0 max_8bit = 2**8 - 1 print(f"8 位无符号整数的范围: {min_8bit} - {max_8bit}") # 16 位无符号整数的表示范围 min_16bit = 0 max_16bit = 2**16 - 1 print(f"16 位无符号整数的范围: {min_16bit} - {max_16bit}") # 32 位无符号整数的表示范围 min_32bit = 0 max_32bit = 2**32 - 1 print(f"32 位无符号整数的范围: {min_32bit} - {max_32bit}") # 64 位无符号整数的表示范围 min_64bit = 0 max_64bit = 2**64 - 1 print(f"64 位无符号整数的范围: {min_64bit} - {max_64bit}") ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值