CPU连接flash地址位偏移一位的原因.docVIP

  • 6
  • 0
  • 约3.73千字
  • 约 3页
  • 2015-09-13 发布于重庆
  • 举报
CPU连接flash地址位偏移一位的原因,脑中线偏移原因,频率偏移的原因,联轴器发生偏移的原因,flashcpu占用高,chromeflashcpu,flashcpu,flash占用cpu,chromeflashcpu占用,网页flashcpu占用高

外设位宽为8、16、32时,CPU与外设之间地址线的连接方法 有不少人问到: flash连接CPU时,根据不同的数据宽度,比如16位的NOR?FLASH?(A0-A19),处理器的地址线要(A1-A20)左移偏1位。为什么要偏1位? 从软件和CPU的角度而言,一个地址对应一个字节,就是8位数据。这是肯定的,不要怀疑这点。 对于具体器件而言,它的位宽是一定的,所谓位宽,指的是“读/写操作时,最小的数据单元”──别说最小单元是“位”,一般设备上没有单独的“位操作”,修改位时通过把整个字节、字或双字读出来、修改,再回写。 CPU的地址线(A0-A20)对应的最小数据单元是字节,即8位; 而位宽为16的NOR?FLASH的地址线(A0-A19)对应的最小数据单元是16位。 这两个怎么对应起来? 如果说外设的位宽是16,难道我们写程序时会“特意”以16位进行操作吗?不用的,我们写程序时根本不用管外设位宽是8、16还是32。 仔细想想,其实是可以想通的:既然CPU、外设NOR?FLASH的最小读/写单元已经固定,那么肯定就是CPU与NOR?FLASH之间有个中间层,它来做处理: 这个中间层被称为“Memory?Controller”,CPU要进行读写操作时,“Memory?Controller”根据NOR?FLASH的位宽,每次总是读/写16位数据。 以读操作为

文档评论(0)

1亿VIP精品文档

相关文档