在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: 裴静

【关于AMBA AXI 总线的专题讨论】

[复制链接]
发表于 2005-10-10 19:41:41 | 显示全部楼层

求助版主老扁,几个AMBA AXI Spec中迷惑的问题。多谢!

你的理解还是不很精确。
我的理解是wrap这种类型一般情况下是很少使用的,估计设计这个协议就是为了微处理器的cache访问用的。所以一般都是对齐的。
而非对齐也并不是说数据不占满总线宽度,而是指地址要和size匹配。
 楼主| 发表于 2005-10-11 10:16:04 | 显示全部楼层

求助版主老扁,几个AMBA AXI Spec中迷惑的问题。多谢!

谢谢扁哥,我自己再好好想想吧。
 楼主| 发表于 2005-10-12 10:17:02 | 显示全部楼层

求助版主老扁,几个AMBA AXI Spec中迷惑的问题。多谢!

扁哥,
在AXI Data bus 的讲解中,有一小节是说Byte invariance的。其中有这样的描述
“To access mixed-endian data structures that reside in the same memory space, the AXI protocol uses a byte-invariant endian scheme.
Byte-invariant endianness means that a byte transfer to a given address passes the eight bits of data on the same data bus wires to the same address location.
Components that have only one transfer width must have their byte lanes connected to the appropriate byte lanes of the data bus. Components that support multiple transfer widths might require a more complex interface to convert an interface that is not naturally byte-invariant.
Most little-endian components can connect directly to a byte-invariant interface. Components that support only big-endian transfers require a conversion function for byte-invariant operation.
Byte invariance ensures that little-endian access to parts of the header information does not corrupt other big-endian data within the structure.”
有几点疑问:
1,mixed-endian 是说混合字节存储,意思是不是对于某一个要传输的数据包,有些是big-endian存储,而有些是little-endian 存储,所以对于整个数据包而言,就是mix-endian存储?这是我理解的mix-endian存储的概念。不知道对不对?
2,第三段怎么理解?什么叫做“one transfer width ”和“multiple transfer widths ”?
3,“Byte invariance ensures that little-endian access to parts of the header information does not corrupt other big-endian data within the structure”这句该怎么理解呢?
36_369_22.bmp
发表于 2005-10-12 12:11:08 | 显示全部楼层

求助版主老扁,几个AMBA AXI Spec中迷惑的问题。多谢!

俺只从你帖出的这些英文中理解一下:
1。对于一些要传输数据包的系统,需要支持混合endian。
2。one transfer width是指一次传输的总线数据宽度够component的数据宽度吧?
3。应该是说:对数据包头部分的小尾访问不会影响数据结构后面的大尾形式的数据。
 楼主| 发表于 2005-10-19 17:46:44 | 显示全部楼层

求助版主老扁,几个AMBA AXI Spec中迷惑的问题。多谢!

扁哥,又看了ahb的协议,有一些问题请教。
1,AMBA 2.0中提到AHB是一个“single-clock-edge protocol”,这个怎么理解?是不是说AHB是不会有既使用时钟上升沿又使用时钟下降沿的协议?如果是这样,那么就是说还有协议是既可以使用时钟上升沿又可以使用下降沿的协议了?
2,AHB协议总是在第一个cycle给出地址和控制信息,而在第二个cycle才给出相对应的写数据,为什么?是AHB的定义就是如此吗?为什么不在给出地址和控制信息的同时给出数据?这样的设计不更能减少一个周期吗?
3,上图中,有一个不懂的地方,估计还是跟计算机体系结构有关系。
   1)opcode fetch, data access是说取操作数和数据访问吧。在计算机中,有指令和操作数据两种,那么这里的“opcode”难道是指令instruction?
   2)计算机中,指令操作和数据操作需要分清吗?需要指出当前传输的是指令,还是数据吗?在axi协议里,这里已经变成了“indicates a data access or an instruction access in page 5-5”。
   3)我理解,“Buffer and Cacheable”是针对AHB挂上Memory才有的定义,cache我基本还能有些概念,那么bufferable是什么意思?如果一个数据需要buffer以后再传到memory中,那么这个数据会保存在哪里呢?还是说bufferable是指这个挂在ahb上的memory当作一个buffer,而cache是这个挂在ahb总线上的memory是用作cache的意思?
36_369_24.bmp
发表于 2005-10-19 20:14:05 | 显示全部楼层

求助版主老扁,几个AMBA AXI Spec中迷惑的问题。多谢!

1,是的。有的接口协议是双沿的,比如DDR访问。
2,因为它要等slave对地址的响应,才能决定下一拍是否可以传数据。那种地址数据同时有效的协议一般用于无条件立即传输的协议里。
3,1)是指 取操作码,也就是指令
   2)现代计算机里数据和指令都是分开存储的
   3)这个hprot不要去管它。鬼也不知道它搞这东西能有啥用处。
 楼主| 发表于 2005-10-24 16:15:29 | 显示全部楼层

求助版主老扁,几个AMBA AXI Spec中迷惑的问题。多谢!

扁哥,这是philips的ahb2axi adapter的一个传输图例子。看了之后很迷惑。
这是datasheet里的描述:
“Depending on the bufferable bit in the ahb_prot vector write data will be posted or non posted in the adapter. In non-posted write operations ahb_ready will only be asserted if data has arrived at the final destination i.e. bvalid has been asserted (and bresp is low) on the AXI interface. For defined length burst transfers (INCR4/8/16, WRAP4/8/16) only the last transfer only the ahb_ready assertion of the final transfer will be postponed until data has arrived at the final destination. For undefined length transfers (INCR) one wait cycle will be inserted on every transaction to detect if the transfer is the final transfer in the burst, if so, the ahb_ready assertion will be postponed until write data has arrived at the final destination.”
问题:
1,怎么看出ahb传输没有和64bit的axi对奇?
2,图中解释ahb_ready信号应该和axi_bvalid信号有关系是吗?感觉图中箭头表示是错误的。axi中bvalid信号定义是BVALID Slave Write response valid. This signal indicates that a valid write response is available:1 = write response available。
3,axi中的写地址0x08和0x10是计算出来的吗?还是随便给了两个地址?
36_369_26.bmp
发表于 2006-7-6 17:05:51 | 显示全部楼层

exclusive和lock的区别

AXI中的原子操作跟AHB中不一样,AHB只能通过LOCK住某个某个内存地址来实现,就是说在一旦HLOCK被仲裁器所接受,那么在LOCK期间,总线的所有权不会移交给其他的MASTER
而exclusive是通过监测某个地址的访问属性来实现信号灯一类的原子操作的。只是标记,如果在一个master的读写访问之间没有其他master的更新操作,exclusive就是成功的。发出exclusive的master并没有lock住总线。
发表于 2006-7-6 17:16:43 | 显示全部楼层

un-aligned access

In AHB, un-aligned access is usually treated as an exception. (ERROR response condition), but in AXI un-aligned access is normal access.

当然,AXI中也可以利用STROB信号来避免un-aligned的访问
 楼主| 发表于 2006-7-10 10:30:53 | 显示全部楼层

thanks for timing74

谢谢timing74的回答,不知道你是不是也在研究axi总线?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-3 01:48 , Processed in 0.030134 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表