• 计算机32位与64位的区别


    叨叨32位和64位的区别,其实不严谨。

    32位/64位 指的可能是CPU,可能是操作系统,可能是安装的软件

    多数情况说的计算机32位,64位指的就是CPU的区别, 操作系统也属于特殊的软件吧

    32/64位CPU的区别

    1.控制总线能力不同

    32位CPU只能控制32根总线

    64位CPU可以控制64根总线

    2. CPU最大一次读入数据大小不同

    由于总线个数不同,32位的CPU计算能力也是只能计算32位的数据,无法对64位的数据进行运算  (每根总线一次传输0或1  32根总线最大一次传输数据2^32)

    32位CPU一次读入只能读取32bit的数据,同时32位的CPU只有32位的寄存器

    2. 寻址能力不同

    32位最大控制的总线为32根,最大寻址能力是4G,一次能传输最大字节数是4byte 32位

    64位最大控制的总线为64根,最大寻址能力是256TB,一次能传输的最大字节数是8byte 64位

    32/64位操作系统区别

    1. 寻址范围不同

    32位操作系统

    指针大小 == 一次传输数据大小 ==  4byte  == 32位        

    最大地址寻址范围 0 ~ 4G    也就是说最大能利用的内存也就是4G 

    64位操作系统

    指针大小 == 一次传输数据大小 == 8byte == 64位

    最大寻址范围  0 ~ 256T     

    2. 指令不同

    如果是 64 位操作系统,也就是操作系统中程序的指令都是 64 位指令,因此不能安装在 32 位机器上。

    其实32位还是64位的能力,最先取决于CPU,其次是操作系统,最后是应用软件,从前到后采用向下兼容原则

    如果一个32位的CPU,只能老老实实安装32位操作系统,运行32位软件

    如果64位CPU,向下兼容,32/64位的操作系统都能兼容

    综合起来,思考一个问题,32位电脑为什么卡?

    1. 32位的CPU处理数据 每次最多4byte ,CPU的运算能力差

    2. 32位CPU 对应的寻址范围是4G 也就是最多能用上4G内存,加内存条也没用  内存不够用自然会产生磁盘与内存频繁交换 

  • 相关阅读:
    Codeforces 1111D(退背包、排列组合)
    Codeforces 1152D(dp)
    UVaLive6443(线段树)
    UVaLive6435(dp)
    POJ1741(点分治)
    Codeforces 161D(树形dp)
    BZOJ2595(状压dp)
    关于spring java.lang.IllegalArgumentException: Name for argument type [java.lang.String] 的错误
    FingerPrint Fuzzy Vault Matlab实践
    Mybatis的ResultMap的使用
  • 原文地址:https://www.cnblogs.com/ttaall/p/14230359.html
Copyright © 2020-2023  润新知