bufferable:传输在总线上是能被buffer的,数据从master出来经过总线,bufferable一般对应写。
cpu发一个写的burst,数据在bus上可以先缓存下来,bus给cpu回ready,表示数据已经接收了;数据是否去sram0还不知道。bus再把数据慢慢转发到终端sram0;
bufferable:cpu/master看到的ready是假的,不是终端slave回的,而是中间bus中转的地方回的。
bufferable=0,地址和数据都必须到终端slave去,终端直接回response,hready给master。
bufferable=1传输效率高一些,可以在中间bus缓存。问题:cpu看到的hready是假的(如果传输错误,bus arbiter给cpu发中断,cpu进入中断服务程序查看)。
cacheable:能不能被cache,这一笔传输要不要进cache:master决定的,master知道这一笔数据传输的特性。cpu知道这个数据是经常访问的还是不经常访问的。由master决定这个数据能不能被放进cache里。
只要cacheable是1,其bufferable也是1.