在本文档中:http: //infocenter.arm.com/help/topic/com.arm.doc.ddi0301g/DDI0301G_arm1176jzfs_r0p7_trm.pdf
在第 21-25 页(pdf 第 875 页)上,给出了 VFP 单元的组装指令的吞吐量和延迟时间。
这些数字与向量大小无关吗?
1:让我们以 FMULS 为例,它的吞吐量为 1,延迟为 8。这是否意味着如果我不使用当前不是由前一个函数计算的寄存器,我可以在每个周期开始一个新的 FMULS 操作?例如:
FMULS s8, s16, s20
FMULS s12, s21, s25
那些会在彼此之后执行吗?
2:如果我有两个 FMULS 函数,其中一个参数取决于先前的计算,会发生什么情况
FMULS s8, s16, s20
FMULS s12, s21, s8
VFP 会在开始处理第二条指令之前等待 8 个周期吗?
3:如果我们处于具有 4 个元素的向量模式,并且在第二条 FMULS 指令中,所有输入寄存器都可用,但只有一个可用。会发生什么?
4:sqrt 和除法:sqrt 或除法操作是否会阻止任何后续操作在 19 个周期内启动?
谢谢!