扁哥,那我觉得有些不理解。
AXI协议中chapter10的标题是Unaligned Transfers,用了一章的内容写unaligned transfer.说是和AHB不同之处。其中有一段是这样写的:
“The AXI protocol uses burst-based addressing, which means that each transaction consists of a number of data transfers. Typically, each data transfer is aligned to the size of the transfer. For example, a 32-bit wide transfer is usually aligned to four-byte boundaries. However, there are times when it is desirable to begin a burst at an unaligned address.
For any burst that is made up of data transfers wider than one byte, it is possible that the first bytes that have to be accessed do not align with the natural data width boundary. For example, a 32-bit (four-byte) data packet that starts at a byte address of 0x1002 is not aligned to a 32-bit boundary.
The AXI protocol enables a master to use the low-order address lines to signal an unaligned start address for a burst. The information on the low-order address lines must be consistent with the information contained on the byte lane strobes.”
我一直不理解“对齐”是什么意思。“For example, a 32-bit (four-byte) data packet that starts at a byte address of 0x1002 is not aligned to a 32-bit boundary.”这是说32-bit的首地址一定要是4的倍数吗?所以0x1002是非对齐的?
还有,“The AXI protocol enables a master to use the low-order address lines to signal an unaligned start address for a burst.”这句话怎么理解?随后的几个图例都是举的increment的例子,没有wrap的例子,你不是说AHB的increment类型也可以是非对齐的吗?感觉这里好像也是说只有increment才可以有非对齐方式,那不就跟AHB是一样的了? |