码迷,mamicode.com
首页 > 其他好文 > 详细

单片机的"位"

时间:2015-08-25 21:28:56      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:

  常见的MCU有8位、16位、32位、64位以及更早之前有4位(当然现在也在使用),至于128位的?可能PowerPC有的吧,但貌似已经不属于MCU的范围了吧。

  那么到底我们是怎么来划分这个“位”的呢?

  取决于Internal Data Bus Width 内部数据总线宽度。

  目前MCU有两种架构:

    1.冯·诺依曼结构(Von-Neumann Architecture)或(普林斯顿体系架构(Princetion Architecture))

      PM(Program Memory)和DM(Data Memory)两个存储器共用一个总线,此总线位数即为单片机的位数。

      例如:MSP430

      MSP430G2系列是16-bit RISC CPU,内核包含一个16-bit的ALU,寄存器也是16位,16-bit address bus、16-bit data bus也就是MABW(Memory Address Bus Width) 等于MDBW(Memory Data Bus Width)。

      一般来说标准的架构是这样的,但现在更多的是改进型架构,会出现PMBW(Progrm Memory Bus Width)大于DMBW(Data  Memory  BusWidth)的情况,此时MABW大于等于MDBW。

      例如:MSP430

      MSP430F5系列是16-bit RISC CPU,但内核包含一个16-bit或20-bit的ALU,寄存器是20位,但16-bit address bus或20-bit address bus、16-bit data bus也就是MABW大于等于MDBW。

      此时能因为ALU是20位,寄存器是20位就说这个CPU是20位CPU吗?显然不能,因为前面说了“位”取决于IDBW,MABW的改变只是提升了CPU的寻址范围,从16位的64KB提高到了20位的1MB。

      注:这里说MSP430X CPU是Von-Neumann Architecture改进型为个人看法。

    2.哈佛架构(Harvard Architecture)

      在Harvard Architecture中PM和DB是相互独立的,那么PMBW(Pragram Memory Bus Width)和DMBW(Data Memory Bus Width)就可以不同,或者说Harvard Architecture就是为了这个的不同才设计的。

      例如:PIC 8位系列

        “Instructions and Data on separate busses”,也就是说PMB和DMB是相互独立的。

        “Wide program memory buses (12, 14 & 16-bit)”,程序存储器位宽(PMW)分为12-bit、14-bit和16bit,官方手册里面写的是“12-Bit Wide Instructions”(PIC10F系列)这个就是PMW,此时我们不能说它是12位的CPU,因为DMW是8位的,ALU和寄存器都是8位的。

        说明:PMB的AW(Addess Width)和DMB的AW也可以不同,不仅这两个可以不同,PMAW(Program Memory Address Width)和PMW、DMAW(Data Memory Address Width)和DMW也可以不同。

 

以上为个人总结,仅供参考,如有侵权请告知。

 

 

 

 

以下为参考资料

  MAB(Memory Address Bus) 存储器地址总线  MABW(Memory Address Bus Width) 存储器地址总线位宽

  MDB(Memory Data Bus)     存储器数据总线  MDBW(Memory Data Bus Width)      存储器数据总线位宽

  以上两者的位宽(Width)在Von-Neumann Architecture中是相等的,即MABW=MDBW。

 

  在一定总线频率下,位宽越宽,带宽越宽,也就意味着提高了数据存取的速率。

附:

  总线基础知识:

  1、总线的带宽(总线数据传输速率)

    总线的带宽指的是单位时间内总线上传送的数据量,即每钞钟传送MB的最大稳态数据传输率。与总线密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系:

    总线的带宽=总线的工作频率*总线的位宽/8
  2、总线的位宽
    总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。总线的位宽越宽,每秒钟数据传输率越大,总线的带宽越宽。
  3、总线的工作频率
  总线的工作时钟频率以Mhz为单位,工作频率越高,总线工作速度越快,总线带宽越宽。

单片机的"位"

标签:

原文地址:http://www.cnblogs.com/altaslone/p/4755838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!