总线中的数据总线和地址总线和控制总线
计算机中,我们一般关注两个流, 一个是 数据流, 一个是控制流
但是本质上 控制流 是为了 数据流
就像 我对同事说,"帮我那支笔",于是他帮我拿了只笔
在这个事务上, "帮我拿直笔" 这句话是个控制流 , 这个 笔走的流 是个 数据流
因为我本质上指向获取这支笔.
但是在计算机中只有数据流和控制流还不行.
计算机在最基础上并不能理解 高层次 的东西 . 于是他编码了地址, 这样子导致了 地址流的产生
这样子, 数据流, 地址流, 控制流 所在的总线 就是 计算机中的三总线.
---------------------------------------------------------------
在总线实现上,有很多方法.即我们可以对现在的各种总线进行分类
一个已经实现的总线,也必定有很多限制.
随着时间的推移,也有很多总线退出历史舞台.
总线的分类
单主机总线/多主机总线
总线的功能对比及限制对比
比较 AMBA的几个总线
ARM AMBA 总线
AMBA 第一二代(AMBA 1 & AMBA 2)
AHB、APB , ASB
问题:
随着越来越多的IP集成到SOC设计中,读写共享的AHB、APB总线已经无法满足互联需求了。
解决方案:
AMBA 第三代
AMBA 第三代(AMBA 3)
AMBA3.0引入了点对点连接协议——AXI(高级可扩展接口)。
问题:
无法在硬件上解决cache一致性
解决方案:
AMBA 第三=四代
AMBA 第四代(AMBA 4)
在移动和智能手机时代发生了进一步的演进,SOC集成了2/4/8核处理器和共享cache,并且需要跨内存子系统的硬件管理一致性。
这导致了在AMBA修订版4中引入了ACE(AXI一致性协议扩展)。
问题:
众核时代到来 ,ACE协议不能满足需求(为什么??),所以重新设计了一个新的缓存一致性控制器(其基于CHI协议)
解决方案
AMBA 第五代
AMBA 第五代(AMBA)
在当前HPC和数据中心市场的异构计算时代,单个芯片上集成越来越多的处理器核心以及GPU、DSP、FPGA、内存控制器和IO子系统。
2013年,AMBA5引入了CHI协议,作为AXI/ACE协议的重新设计。
基于信号的AXI/ACE协议被新的基于包的CHI协议所取代。