平时,我们谈论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有内部数据线和外部数据线之分,比如8086的CPU内部数据线为16位,而外部数据线为8位,那么就说它的字长为16位,仍是16位处理器,只不过是CPU与内存交换数据时是按8位方式传送数据的。又比如Pentium4 CPU内部数据线为32位,而外部地址线是36位, 外部数据线为64位,它的字长仍然为32位,所以Pentium4还是32位处理器,而不能称为64位处理器。

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

  1. 【Canvas】绘制几何级数Geometric series曲线 y=1+1/2+1/4+1/8+1/16+1/32+1/64+....

    相关资料:https://baike.baidu.com/item/%E5%87%A0%E4%BD%95%E7%BA%A7%E6%95%B0/112584?fr=aladdin 图线: 代码: < ...

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

    转 http://blog.csdn.net/linweig/article/details/5556819 flash连接CPU时,根据不同的数据宽度,比如16位的NOR FLASH (A0-A19 ...

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

    有不少人问到:flash连接CPU时,根据不同的数据宽度,比如16位的NOR FLASH (A0-A19),处理器的地址线要(A1-A20)左移偏1位.为什么要偏1位? (全文有点晦涩,建议收藏本文对 ...

  4. 处理器核、Core、处理器、CPU区别&&指令集架构与微架构的区别&&32位与64位指令集架构说明

    1.处理器核.Core.处理器.CPU的区别 严格来说"处理器核"和" Core "是指处理器内部最核心的部分,是真正的处理器内核:而"处理器&quo ...

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

    在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针 ...

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

    X86就是我们一般用的32位的系统,指针长度为32位(386起):X64就是64位的系统,指针长度为64位. 选择硬件对应的软件,建议通过以下三条考虑:1.64位操作系统相对32位操作系统理论上性能会 ...

  7. 32位JDK和64位JDK

    32位和64位系统在计算机领域中常常提及,但是仍然很多人不知道32位和64位的区别,所以本人在网上整理了一些资料,并希望可以与大家一起分享.对于32位和64位之分,本文将分别从处理器,操作系统,JVM ...

  8. 关于Windows与Linux下32位与64位开发中的数据类型长度的一点汇总

    32位与64位的数据类型长度是不一样的,而且windows和linux也有些许区别,下面把64位下的数据长度列表如下(无符号unsigned和有符号的长度一样): linux64            ...

  9. 查看linux版本时32位的还是64位的

    一. [root@wuy2 etc]# getconf LONG_BIT [root@wuy2 etc]# getconf WORD_BIT (32位的系统中int类型和long类型一般都是4字节,6 ...

随机推荐

  1. QML与C++交互:登陆界面设计

    QML与C++交互:登陆界面设计 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:Qt5.2.1 说明: QML设计前 ...

  2. Python爬虫开发【第1篇】【正则表达式】

    非结构化数据:HTML(正则表达式.XPath.CSS选择器) 结构化数据:JSON文件(JSON Path.转化为Python类型进行操作) XML文件(转化成Python类型.XPath.CSS选 ...

  3. iOS 多线程,ARC

    iOS自己创建的线程需要自己定时的创建autorelease pools,否则对象不能及时自动释放. 方法1是不对的,while中的对象会无法及时释放. 1:-(void)Thread{ @autor ...

  4. gradle使用笔记

    1 gradle user home 默认情况下是-/.gradle目录.可以使用gradle -g [directory]修改. 1.1 ./gradle/caches gradle下载的所有的依赖 ...

  5. 蓝桥 PREV-34 历届试题 矩阵翻硬币

      历届试题 矩阵翻硬币   时间限制:1.0s   内存限制:256.0MB      问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵. 随后,小明对每一个硬币分别进行一次 Q 操作. 对第 ...

  6. Application Warm-up Module IIS7.5 也有Warm Up功能,让ASP.NET 第一次Request不变慢

    Application Warm-up Module: 應用程式的暖機代理人 http://www.microsoft.com/taiwan/technet/iis/expand/Applicatio ...

  7. 8-15 globalCompositeOperation阶段练习二

    8-15 globalCompositeOperation阶段练习二 <!DOCTYPE html> <html lang="zh-cn"> <hea ...

  8. HDU5834Magic boy Bi Luo with his excited tree 树形dp

    分析:典型的两遍dfs树形dp,先统计到子树的,再统计从祖先来的,dp[i][0]代表从从子树回来的最大值,dp[i][1]代表不回来,id[i]记录从i开始到哪不回来 吐槽:赛场上想到了状态,但是不 ...

  9. POJ2749 Building road

    传送门 这道题真是2-SAT好题啊!!卡了我两个点才做完……垃圾POJ还不告诉我哪错了…… 首先我们先花一段时间把题看懂……(其实是翻译一下),之后我们发现因为每个谷仓只能向一个中转点连边,所以他就是 ...

  10. 2-4 原生小程序 - 自带组件及API

    获取用户的信息有两种,一种是不需要登录的,我们只需要获取用户的头像,还有微信的名.还有一种是登录的,就是登录后台校验的,就是获取用户的openid. webview,可以内嵌一个网页,类似于原生的开发 ...