转自:http://weiheyouchou.blog.hexun.com/35564976_d.html

随着近来AMD和Intel的64位CPU以及 Microsoft 64位操作系统的相继发布,我想来谈谈CPU位数与操作系统位数的问题,这二者有区别也有联系,操作系统位数的概念是基于CPU的位数的。
     首先我们从计算机的信息表示谈起。计算机中的信息分为两类:控制信息、数据信息。控制信息表示:条件、命令、状态等。数据信息有数值与非数值的两类,非数值如:文字、图像、声音等。所有这些信息在计算机中用数字代码表示,为了电路表示处理方便,就用二进制表示。电路用高电平、低电平表示2个数码“1”和“0”,简单地可理解为高低电压或有无电。十进制在每个数位上可用10个数码(0—9),二进制在每个数位上可用2个数码(0、1)。用二进制表示数和十进制的其实就是一样,也可进行各种运算。计算机系统的信息从输入、存储、处理到输出就都是用基于二进制的电信号表示。如键盘的每一个按键可用一个数码表示;如鼠标可用2个数码分别表示水平和垂直的位置;如存储字符“A”可用数码“01100101”表示;如存储、输出图像可将图像分为很多点,各点用一数码表示其颜色。

所谈的位数就是表示信息的二进制数码的位数。位数越大能表示的信息范围就越大。如“16位色”就是说能表示的颜色种数是2的16次幂(65536),32位就有2的32次幂(65536*65536)。

CPU的位数是指CPU能一次同时寄存和处理二进制数码的位数,这和CPU中寄存器的位数对应。

CPU为了实现其功能一般设计了指令集,即是CPU的全部指令,这就是机器语言。计算机的所有功能都是基于CPU的指令集。指令集和CPU的位数是有联系的。如Intel 8086 CPU 是16位,其指令集也是16位。如Intel 80386DX CPU 是32位,其指令集也是32位,但它也保持原16位指令集,这是为了向上兼容。

操作系统的位数是说其所依赖的指令集的位数。

计算机系统一般都应有向上兼容性,所以也可有64位CPU上运行32位操作系统、32位CPU上运行16位操作系统的情况。

操作系统位数应该是根据指针类型的位数来定的。整数类型不一定跟位数相等,CPU位数准确地说应该是CPU一次能够并行处理的数据宽度,一般就是指数据总线宽度。

附:
64位CPU如:AMD Athlon64 、Intel Pentium 4 F
32位CPU如:Intel 80386DX 到 Intel Pentium III 和部分Intel Pentium 4
16位CPU如:Intel 8086、Intel 80286
64位操作系统如:Windows XP Professional x64和Windows Server 2003 x64
32位操作系统如:Windows95、Windows98、Windows NT、Windows 2000、Windows XP
16位操作系统如:DOS  
Windows1.0到3.2是运行在DOS上的,不能算是独立的操作系统。

[转]CPU的位数与操作系统的位数的区别的更多相关文章

  1. 转载:CPU的位数和操作系统的位数

    1. 32位系统最大只能使用3.5G的内存,而64位系统最大能够使用128G内存. 2. 32位CPU只能安装和使用32位.16位的系统和软件,无法使用64位系统及软件. 3. 64位可以安装64位系 ...

  2. 【编程开发】x86,I386,i686, x86_64, x64,amd64、Windows Linux AIX下查看CPU位数和操作系统位数、rpm包名

    a2ps-4.13b-57.2.el5.i386.rpm 每一个rpm包的名称都由"-"和"."分成了若干部分.就拿 a2ps-4.13b-57.2.el5.i ...

  3. C# 判断操作系统的位数

    判断操作系统的位数有一下几种方法: 1. 特征值IntPtr 2. WMI 1的实现如下: public static int GetOSInfo() { if (IntPtr.Size == 8) ...

  4. CPU位数、地址线位数、数据线位数、通用寄存器位数!

    CPU位数:表示的是其通用寄存器的位数,CPU的位数表示该CPU一次处理数据的最大位数. 数据线位数:是CPU的理论最大寻址空间,也是CPU与内存之间一次最大的数据传输位数. 地址线位数:是CPU实际 ...

  5. 如何查看Linux操作系统的位数

    如何查看Linux操作系统的位数 1.编程实现: 在程序中返回sizeof(int)的值,返回的结果是操作系统的字节数.若返回4则是32位操作系统,返回8即是64位. 2.2.getconf命令: g ...

  6. Linux下查看操作系统的位数和系统名称版本信息

    Linux下如何明确地查看操作系统的位数 如何知晓操作系统是32位还是64位?这里介绍一种简单的方式: [plain] [root@localhost mysql-5.1.57]# getconf L ...

  7. Ubuntu 查看操作系统的位数

    查看Ubuntu操作系统的位数是32位还是64位,可以通过以下命令来查看: getconf LONG_BIT 返回32或64 :如图

  8. 关于CPU位数,OS位数以及内存大小关系的一点总结

    (这个学期做助教,说来好惭愧啊,虽然我也是考研进来的,但是就在两年前复习的资料居然全部都忘光了.对大二的孩子们提问的问题多半都解决不了!!!越来越觉得自己的学习方法有问题了,总是想着一些知识能够根据自 ...

  9. CPU位数、操作系统位数、机器字长、C/C++基本数据类型长度

    1.CPU位数=CPU中寄存器的位数=CPU能够一次并行处理的数据宽度(位数)=数据总线宽度: //现在的计算机处理器一般都是64位,这是硬件的事. 2.CPU为了实现其功能设计了指令集,即是CPU的 ...

随机推荐

  1. 在Salesforce中创建Web Service供外部系统调用

    在Salesforce中可以创建Web Service供外部系统调用,并且可以以SOAP或者REST方式向外提供调用接口,接下来的内容将详细讲述一下用SOAP的方式创建Web Service并且用As ...

  2. Android基本认识

    AndroidManifest.xml file missing! 是因为开始想当然的用中文当project名 no launcher activity found 第一次运行出了点问题,no lau ...

  3. 分布式服务框架 Zookeeper -- 管理分布式环境中的数据

    转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/index.html Zookeeper 分布式服务框架是 Apa ...

  4. 【MyEcplise hibernate tools】hibernate tools的使用以及错误

    1.点击Myecplise右上角 2.点击进入后,在这个区域右键 New 一个新的connection 3.以mySql连接为例子,在这里展示一下,下面这几项必须都要按照要求完全一致,除了架包所在的本 ...

  5. no-jquery 05 Utilities

    Utilities type // is this a function? typeof someValue === 'function'; // is this an object? someVal ...

  6. maven工程下 读取resource下配置文件

    http://blog.csdn.net/xu511739113/article/details/52440982

  7. hive 记事本

    hive 0.12 load data overwrite 直接覆盖了数据,不进回收站..... 手动load data 不加overwrite

  8. 【转】敏捷开发 Scrum 总结

    转:http://www.open-open.com/lib/view/open1330413325514.html 最近把之前学习 Scrum 的资料整理为一篇文档,在接下来的团队和项目开发中,根据 ...

  9. Colorado Potato Beetle(CF的某道) & 鬼畜宽搜

    题意: 一个人在一张大图上走,给你路径与起点,求他走出的矩形面积并.(大概这个意思自行百度标题... SOL: 与其说这是一道图论题不如说是一道生动活泼的STL-vector教学.... 离散化宽搜, ...

  10. 使用ajax和history.pushState无刷新改变页面URL

    表现 如果你使用chrome或者firefox等浏览器访问本博客.github.com.plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发 ...