• [转]51单片机的地址总线是16位的,但是它却是8位机?


    位数指CPU处理的数据的宽度,参与运算的寄存器的数据长度。

    如果总线宽度与CPU一次处理的数据宽度相同,则这个宽度就是所说的单片机位数。

    如果总线宽度与CPU一次处理的数据宽度不同:

    (1)总线宽度小于CPU一次处理的数据宽度,则以CPU的数据宽度定义单片机的位数,但称为准多少位。比如著名的Intel 8088,CPU是16位但总线是8位,所以它是准16位。

    (2)总线宽度小于CPU一次处理的数据宽度,则以CPU的数据宽度定义单片机的位数。

    少位宽不是指总线宽度,也不是存储器的宽度,像51单片机的地址总线是16位的,但是它是8位机。像ARM的存储器也有八位的,但是它是32位机。而是指CPU处理的数据的宽度,也就是CPU一次数据的吞吐量。比如同一条指令:MOV R0 R2

    在51单片机里面,R0和R2都是8位的,所以51的CPU一次只能处理8位数据。

    在ARM里面,R0和R2是32位的,所以ARM的CPU一次能处理32位数据。这就是区别。

    有啥复杂的, 一句话:参与运算的寄存器的数据长度。

    8位单片机的数据总线宽度为8位,通常直接只能处理8位数据;

    16位单片机的数据总线宽度为16位,通常可直接处理8位或16位数据。

    最本质的区别是内部CPU的字长不同,即CPU处理数据的最大位数不同,有8位和16位CPU的区别,你可以认为是ALU、寄存器的字长等。有的32位DSP芯片其外部接口数据总线是16位的,根据这个来判断是不行的

    速度上有区别,取决于CPU、寄存器的字长。8位单片机不能直接处理16位数据,要按照8位数据来处理,要分几个过程来完成。而16位单片机,可直接处理16们数据,因为其ALU,寄存器等都是16位的,可一次完成8位单片机要多步完成的动作,特别是对于数据处理,16位单片机有它的优势。而且16位单片机大多数据接口都为16位。

    说简单了就是16位的比8位快,8位的单片机发展时间长,且价格偏低。最重要的是在许多的应用场合能够胜任开发的任务。16位的单片机在功能上要比8位的强大很多,只在需要的场合使用。

    你知道2进制吧,你是否知道单片机在进行计算的时候统统是2进制数的运算。所以8位单片机和16位单片机的最根本区别就是,8位单片机可以同时进行2个8位的2进制数相加,而16位单片机则大一倍,可以同时让2个16位的2进制数相加。

    CPU能同时处理二进制数的位数是多少位,就称其是多少位的计算机。也有数据总线的位数是CPU位数的一半的情况,就称其是准多少位的计算机。比如CPU是16位,数据总线也是16位,则是16位计算机;CPU是16位,数据总线也是8位,则是准16位计算机。

    原来是16位单片机想改用8位的替代是可以的,但电路及程序都要做相应改变,并且改为8位机后,在功能和速度上要能够满足你工作的需要才行。

    windows7旗舰版32位和64位区别有哪些

      区别一:设计初衷不同
    64位操作系统的设计初衷是为了满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求。

          区别二:处理数据的能力

    32位计算机的CPU一次最多能处理32位数据,例如它的EAX寄存器就是32位的,当然32位计算机通常也可以处理16位和8位数据。

    64位计算机一次处理数据要比32位大得多,一次运行64位的数据。64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据(只要两个指令,一次提取8个字节的数据),比32位(需要四个指令,一次提取4个字节的数据)提高了一倍,理论上性能会相应提升1倍。

      区别三:支持的内存不同(寻址能力不同)

      32位 的系统许多支持4G的内存,而64位则可以支持上百G的内存。64位处理器的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数,因此一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。比如,Windows Vista x64 Edition支持多达128 GB的内存和多达16 TB的虚拟内存,而32位CPU和操作系统最大只可支持4G内存。

    内存条

      区别四:架构不同

      从 32位到 64 位架构的改变是一个根本的改变,因为大多数操作系统必须进行全面性修改,以取得新架构的优点。其它软件也必须进行移植,以使用新的性能;较旧的软件一般可借由硬件兼容模式(新的处理器支持较旧的 32 位版本指令集)或软件模拟进行支持。

      或者直接在 64 位处理器里面实作 32 位处理器内核(如同 Intel 的 Itanium 处理器,其内含有 x86 处理器内核,用来执行 32 位 x86 应用程序)。支持 64 位架构的操作系统,一般同时支持 32 位和 64 位的应用程序。

      区别五:对配置的要求不同

      64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。当然,32位操作系统安装在64位电脑上,其硬件恰似"大马拉小车":64位效能就会大打折扣。

      64位操作系统能和32位操作系统并存么?答案是肯定,大家可以装双系统即可解决,但需要注意4G以上内存在32位系统上最多只能识别4GB,因此如果是大内存装机用户还是首选64位系统吧,毕竟后者也更先进一些。win732位和64位的区别相信大家现在也有了一定的认识了吧。

    区别五:软件普及不同

    目前,64位常用软件比32位常用软件要少很多。道理很简单:使用64位操作系统的用户相对较少。
    因此,软件开发商必须考虑 "投入产出比",将有限资金投入到更多使用群体的软件之中。这也是为什么64位软件价格相对昂贵的重要原因。
  • 相关阅读:
    CentOS7 安装 Mysql5.6.40
    CentOS7 安装 Python3.6.5
    CentOS7 添加新用户并授权 root 权限
    02 常用数据结构
    01 常见算法
    初识 Docker
    glob & fnmatch -- 使用Unix style通配符
    Pillow6 起步
    leetcode70. 爬楼梯 🌟
    leetcode69. x 的平方根 🌟
  • 原文地址:https://www.cnblogs.com/zhangbing12304/p/9425296.html
Copyright © 2020-2023  润新知