对于amba总线来说,cpu只是总线上的一个master,而ddr控制器是一个slave,当cpu访问ddr的时候,总线仲裁会在适当的时候把总线交给cpu控制,这时候cpu会在总线上发出对ddr控制器的读写请求以及数量,每一个beat的完成都要有完整的握手,
1.cpu发出地址
2.ddr控制器采样地址并判断是否可以完成,如果不能完成就把ready拉低,此时总线上不会有其他动作,都在等待
3.当ddr控制器可以完成时拉高ready,然后下一个上升沿cpu发出或者采样数据
这只是简单的描述,实际控制线和时序要比这个麻烦一些,想说明的问题就是即使内存很慢,cpu和其他部件都会在那里等待直到内存完成存取,时序匹配问题都已经交给总线处理,不论是硬件还是软件人员不用太担心(除非你是设计amba总线接口)
详细的可以去下个amba v2.0的协议看看。
|