共1条
1/1 1 跳转至页
流水线的流水性能 (3)

FP:fetch packet.取指包,由八条指令组成;
EP:execute packet.执行包,由一条到八条指令
组成;
[ Instruction ∈ EP ∈ FP ]
一个EP中的指令是并行执行的,它们的执行占用不
同的功能单元。
对流水线的流水产生影响的三个因素:
--------------------------------------------
1.取指包中执行包的数目;
2.执行包中指令类型;(NOP n)
3.系统存储器的性能与安排;
具体说明如下:
--------------------------------------------
1.DSP的硬件内核在指令流水线的DP周期对一个取
指包进行扫描来决定是否停止流水线的流水:如果
被扫描的取指包里面包含了多于一个的执行包,那
么流水线停止流水。流水线停止流水后,取指包中
的执行包逐个依次进入DC周期,当最后一个执行包
进入DC周期后,流水线重新开始流水;
2.指令:NOP n不改变任何寄存器的值(n=1-9)
该指令的作用就是stall流水线的流水n个周期,这
样,下一个执行包里面的指令的执行就延迟了n个
周期了。这样有一种效果就是:当前的执行包里面
的指令执行的结果对于下一个执行包来说就延时了
n个周期。
3.C62x系列DSP把存储空间配置成程序存储空间和数
据存储空间,它们占用不同的物理存储空间。而对于
这两者的存取操作的流水线是一样的,都是占用5个
周期,不同的是它们占用不同的周期:
程序空间的存取:PG-PS-PW-PR-DP
数据空间的存取:E1-E2-E3-E4-E5
Memory stall:当存储器来不及响应CPU提交的存取
访问要求时,指令流水线的流水停止,直到存取要
求得到满足。它可能发生在两个周期:PW/E3;
4.C62x系列DSP的片上数据存储器被划分为多个bank,
每个bank只有一个端口和DMEMC相连,供CPU访问。为
此,如果一个执行包里面指令对同一个bank进行访问
时,由于一个周期内一个bank只能被访问一次,所以
会产生阻塞;解决的办法就是在组织数据的时候,把
执行指令包里面要访问的数据安排在不同的bank里面,
这样就可以不需要插入extra phase了。
关键词: 流水线 流水 性能 指令
共1条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
汽车+汽车地线之间连接处理被打赏20分 | |
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 |