欢迎光临散文网 会员登陆 & 注册

AMBA总线学习(3)-面试问答

2023-08-14 21:08 作者:数字逻辑der  | 我要投稿

AMBA总线面试问题:

(1)为什么AHB总线的速度大于APB

1)AHB信号是高速高性能总线,速度快,其存在突发模式,可以在一个周期下完成一个数据的传输。

2)AHB总线的地址线和数据线可以流水线操作,提高总线的速度。

3)APB总线的传输,读写一个数据是需要两个周期的。

4)并且,AHB还是存在突发模式的,所以其速度比APB快很多。

5)AHB是流水线传输,位宽大,burst传输,而且APB一次只能传一笔,1笔是2拍,不能burst,多传几笔就浪费好多拍了,

6)且AHB没有enable阶段,AHB是单周期读写,AHB的下一拍就可以写下一个数据的地址了,APB 两拍,传输多个数据时,APB是2n拍,AHB是n+1拍。


(2)AXI/AHB/APB总线的区别

1)AXI是高带宽的数据总线,运用于数据量比较大的情况下,AHB是高性能总线,常运用于嵌入式设备中的CPU主机或者DMA,APB是低速总线,常搭载低速外设。

2)AXI的突发长度最高可以设置为256,AHB支持16,APB不支持突发传输

3)AXI的数据总线位宽的极限也比AHB高,带宽更大

4)AXI还支持乱序,outstanding,burst。AHB只支持burst

5)AXI的读写是并行的,AHB的读写是在一根线上的,所以AXI速度快很多,因为其读数据和写数据通道是相互独立的。



(3)AHB数据传输状态

1)空闲:

2)忙:此地址无效

3)连续:此地址和上一个数据传输地址有关系

4)非连续:此地址和上一个数据传输地址没关系



(4)AHB的burst数据传输能不能跨1KB地址

1)不可以,理由和AXI的burst不能跨4KB地址是一样的,因为AHB的从机是以1KB为一个page对齐的。所以当跨1KB地址的时候,可能会存在传输到了不同的从机地址的可能。

2)如果需要跨1KB的地址,就需要将临界点的控制信号设置为非连续



(5)AHB是几级流水线?如果这一拍是地址,且有数据,那么下一拍的地址能改吗?

  • AHB是流水的,支持流水线操作,是两级流水,分为地址-数据两个部分流水进行,本次传输的地址必然在上一次地址之后,本次传输的数据必定紧跟在本次传输地址之后。因此,当上一次的数据传输阻塞导致传输周期增加时,下一传输的地址周期也会相应的变长。

  • AHB两级流水,地址周期和数据周期,是根据Hready信号来的。

  • Hready信号拉高下一拍就可以更改地址,同时Hready信号拉高下也可以切换数据。

  • AHB是单周期读写,流水线,所以下一拍地址可以直接改,AHB直接读写是根据Hwrite来的,高写低读。


(6)HSEL信号如何得到的?

1)HSEL信号的作用是在AHB总线中选择对应从机的信号。

2)一般是通过仲裁器选中的HADDR地址,通过pages对齐,判断此次访问的地址,是哪一个从机,拉高对应的从机选择HSEL。

3)其原理和PSELx的原理类似,PSELx是通过AHB-APB桥接器输出地址,判断传输数据给哪一个从机。拉高对应的PSELx总线。



(7)AHB 从机有哪些响应信号?

(1)

响应信号就是读写反馈信号,即HREADY和HRESP信号。



(8)AHB传输过程中的空闲和忙状态的区别?

空闲:表示当前可以传输数据,但是不希望执行传输数据的过程,返回OKAY。

忙:忙传输类型允许总线主机在突发传输中间插入空闲周期。这种传输类型表示总线主机正在连续执行一个突发传输,但是下一次传输不能立即发生。当一个主机使用忙传输类型时地址和控制信号必须反映突发中的下一次传输。












AMBA总线学习(3)-面试问答的评论 (共 条)

分享到微博请遵守国家法律