16位/32位/64位CPU的位究竟是说啥

平时,我们谈论CPU,都会说某程序是32位编译,可以跑在32位机或64位机,或则是在下载某些开源包时,也分32位CPU版本或64CPU位版本,又或者在看计算机组成相关书籍时,特别时谈到X86 CPU时,一定会把8086/80286/80386拿出来说事儿,且一定会提到8086/80286是16位CPU,从386开始是32位CPU,那么这里的16/32/64位究竟说的是CPU的指标?其实这里的谈的就是CPU的字长。

一、计算机里的“字”

在计算机中,一串二进制数码作为一个整体来处理或运算的,称为一个计算机字,简称字。字通常分为若干个字节。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示。在CPU的运算器、控制器中,通常都是以字为单位进行传送的。字出现在不同的地址其含义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。

二、字长

字长就是特定CPU一次同时能处理的字的位数,也就时长度,也就是CPU一次能并行处理的二进制位数。

字长与计算机的功能和用途有很大的关系,是计算机的一个重要技术指标。字长直接反映了一台计算机的计算精度,为适应不同的要求及协调运算精度和硬件造价间的关系,大多数计算机均支持变字长运算,即机内可实现半字长、全字长(或单字长)和双倍字长运算。在其他指标相同时,字长越大计算机的处理数据的速度就越快。一台16位字长的PC机,可以直接处理2的16次方(65536)之内的数字,对于超过65536的数字就需要分解的方法来处理。32位pc机比16位机优越的原因就在于它在一次操作中能处理的数字大,32位字长的PC机能直接处理的数字高达40亿(2的32次方),能处理的的数字越大,则操作的次数就越少,从而系统的效率也就越高。早期的微机字长一般是8位和16位,386以及更高的处理器大多是32位。目前市面上的计算机的处理器大部分已达到64位。

三、CPU的字长由什么决定

CPU的字长由CPU片内数据总线宽度决定的。CPU有内部数据线和外部数据线之分,比如8088的CPU内部数据线为16位,而外部数据线为8位,那么就说它的字长为16位,仍是16位处理器,只不过是CPU与内存交换数据时是按8位方式传送数据的。又比如Pentium4 CPU内部数据线为32位,而外部地址线是36位, 外部数据线为64位,它的字长仍然为32位,所以Pentium4还是32位处理器,而不能称为64位处理器。

原文地址:https://www.cnblogs.com/yilang/p/11001913.html

时间: 2024-08-28 03:03:49

16位/32位/64位CPU的位究竟是说啥的相关文章

32位系统与64位系统的区别

CPU一次处理数据的能力是32位还是64位 32操作系统 64位操作系统 地址总线 32位 64位 内存寻址空间(内存大小) 2的32次方bit=4G 2的64次方约为1亿GB 设计初衷 普通用户 满足机械设计和分析.三维动画.视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求 运算速度不同 32位(需要四个指令,一次提取4个字节的数据) 64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集

FLASH位宽为8、16、32时,CPU与外设之间地址线的连接方法

转 http://blog.csdn.net/linweig/article/details/5556819 flash连接CPU时,根据不同的数据宽度,比如16位的NOR FLASH (A0-A19),处理器的地址线要(A1-A20)左移偏1位.为什么要偏1位? 从软件和CPU的角度而言,一个地址对应一个字节,就是8位数据.这是肯定的,不要怀疑这点. 对于具体器件而言,它的位宽是一定的,所谓位宽,指的是“读/写操作时,最小的数据单元”──别说最小单元是“位”,一般设备上没有单独的“位操作”,修

16位 32位 64位操作系统下只有long 和指针占用的位数不同

(1)16位平台 char         1个字节8位 short        2个字节16位 int             2个字节16位 long         4个字节32位 指针         2个字节16位 (2)32位平台 char         1个字节8位 short        2个字节16位 int             4个字节32位 long         4个字节32位 long long    8个字节64位 指针         4个字节32位 (

32位机和64位机的区别及基本数据类型占字节数

一)64位系统和32位有什么区别? 1.64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2.64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍.但这是建立在64bit操作系统,64bit软件的基础上的. 什么是64位处理器? 之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(CPU)一次处理数据的能力也是2的倍数.8位处理器.16位处理器.32位处理器和64位处理器,其计数都是2的倍数.一次处理的数据越大,该电

iOS上应用如何兼容32位系统和64位系统

在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针的寻址范围还是16位的.当年用TurboC时,还要根据应用的大小选择是tiny模式还是其他.后来很长一段时间使用32位的模型编程,4G是牢牢记住的一个边界条件.而现在,64位走到了眼前. 就如同16位转向32位一样,硬件肯定是最先推出的,SDK也会跟进,然后各种第三方的应用才会逐步跟进,这个过程一般

X86(32位)与X64(64位)有什么区别,如何选择对应的操作系统和应用程序?

X86就是我们一般用的32位的系统,指针长度为32位(386起):X64就是64位的系统,指针长度为64位. 选择硬件对应的软件,建议通过以下三条考虑:1.64位操作系统相对32位操作系统理论上性能会相应提升1倍:2.64位操作系统支持多达128 GB的内存和多达16 TB的虚拟内存,而32位CPU和操作系统最大只可支持3.5G内存:3.64位软件比32位软件要少,64位电脑可以安装32位操作系统,64位操作系统可以安装32位软件. 具体两者区别:1.设计初衷不同.64位操作系统的设计初衷是:满

32位与64位内存区别

分为内核区域 与 用户区域 中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit).它的功能主要是解释计算机指令以及处理计算机软件中的数据. 中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data).控制及状态的总线(Bus).它与内部存储器(Memory)和输入/输出(I/O)

32位程序下调用64位函数——进程32位模式与64位模式切换

之前学习的32位进程中调用64位进程函数的知识整理一下,也就是32位模式与64位模式之间的切换. 相关博客:http://www.cnblogs.com/lanrenxinxin/p/4821152.html 这个博客中提到了github上的开源库,我在另一份开源项目中也看到了个库,可以切换32位至64位. 如果对这个功能具体实现比较感兴趣的朋友可以看看下面的内容. 我阅读了源码并进行了注释,算是对这个具体方法的分析和学习. 关键: 1.在x64下的进程,不管是32位或者是64位,实际上都映射了

机器字长 32位与64位的区别

1.64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2.64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍.但这是建立在64bit操作系统,64bit软件的基础上的 3. 32位/64位处理器指的是CPU在同一时间内能处理的数据位数(8位=1B),机器字长一般是指参加运算的寄存器所含有的二进制数的位数,它代表了机器的精度. 如 某计算机字长32位,存储容量8MB.按字编址,其寻址范围为 8MB字节=8*1024*1024*8位.所