分类:
2010-11-29 15:42:20
| |||
流水线技术通过多个功能部件并行工作来缩短程序执行时间,提高处理器核的效率和吞吐率,从而成为微处理器设计中最为重要的技术之一。ARM7处理器核使用了典型三级流水线的冯·诺伊曼结构,ARM9系列则采用了基于五级流水线的哈佛结构。通过增加流水线级数简化了流水线各级的逻辑,进一步提高了处理器的性能。 ARM7的三级流水线在执行单元完成了大量的工作,包括与操作数相关的寄存器和存储器读写操作、ALU操作以及相关器件之间的数据传输。执行单元的工作往往占用多个时钟周期,从而成为系统性能的瓶颈。ARM9采用了更为高效的五级流水线设计,增加了2个功能部件分别访问存储器并写回结果,且将读寄存器的操作转移到译码部件上,使流水线各部件在功能上更平衡;同时其哈佛架构避免了数据访问和取指的总线冲突。 然而不论是三级流水线还是五级流水线,当出现多周期指令、跳转分支指令和中断发生的时候,流水线都会发生阻塞,而且相邻指令之间也可能因为寄存器冲突导致流水线阻塞,降低流水线的效率。本文在对流水线原理及运行情况详细分析的基础上,研究通过调整指令执行序列来提高流水线运行性能的方法。 1 ARM7/ARM9流水线技术 2 三级流水线运行情况分析 流水线中阻断现象也十分普遍,下面就各种阻断情况下的流水线性能进行详细分析。
|
2.3 中断流水线
处理器中断的发生具有不确定性,与当前所执行的指令没有任何关系。在中断发生时,处理器总是会执行完当前正被执行的指令,然后去响应中断。如图4所示,在Ox90000处的指令ADD执行期间IRQ中断发生,这时要等待ADD指令执行完毕,IRQ才获得执行单元,处理器开始处理IRQ中断,保存程序返回地址并调整程序指针指向Oxl8内存单元。在Oxl8处有IRO中断向量(也就是跳向IRQ中断服务的指令),接下来执行跳转指令转向中断服务程序,流水线又被阻断,执行0x18处指令的过程同带有分支指令的流水线。
如果让RT脚空接,FSEL接地或接在VIN上,则开关频率为350 kHz或550 kHz。如果采用外接电阻进行开关频率选择,有计算阻值的公式为:R=500 kHz/选择的开关频率×100 kΩ。设计中选用开关频率700 MHz,计算得应接电阻阻值为71.5 kΩ。
3.4 延时启动
两芯片均有慢启动和输出输入使能控制功能。通过在脚SS/EN上连接不同容值的电容,可以获得不同的慢启动时间。尽管有专门的计算公式可以进行计算,但这里设计可以利用TI为专门电源设计推出的软件swift desig-ner,可以为设计提供很大的方便。swift designer提供一系列的电源芯片支持设计,包括对TPS54312和TPS54616的支持。
在swift designer中设置参数,然后按“GO”,软件即能自动按照要求的参数选择电源芯片和搭建好外围电路。设参数为:输出电压1.2V,输出电流3A,输入最小电压4.8V,最大5.2V,慢启动时间3 ms,开关频率700 kHz。软件可以自动生成电路图,软件自动选择的电源芯片是TPS54312,同时外围电路已经连接好。
同样修改参数,输出电压3.3V,输出电流6A,输入最小电压4.8V,最大5.2V,慢启动时间6 ms,开关频率700 kHz。同样,这时软件自动生成5V转3.3V的电路图(略)。
在swift designer软件的帮助下,使设计变得灵活和简便。要获得正确的上电次序,设计中还应做一些调整。将TPS5431 2的PWRGD脚接至TPS54616的SS/ENA脚,如图2中原理图所示,同时接成上拉状态。这样,只有当TPS54312输出电压大于1.2 V*90%时,脚PWRGD输出为低,从而使能TPS54616,产生3.3 V的电压输出,从而获得正确的上电次序要求。在TPS54312输出电压没有达到要求时,TPS54616被上拉,不能产生3.3 V输出。这样通过慢启动时间的设置和对使能端引脚的控制两重保险.可以完全确保正确的上电延时和上电次序。同时,我们可以根据不同芯片对上电延时和上电的次序进行灵活调整,满足上电要求。
4 仿真分析
swift designer软件还提供了初步的仿真分析,能直观地给出分析表,循环响应图,输入电压抖动的影响图,效率图和PCB布线图。下面是一系列相关仿真分析。
从仿真可以看出,设计所采用的电源转换具有较高的转换效率,同时由于输入抖动而带来的影响也在系统可接受范围之内,加上外围电容滤波后,输出电压纹波效果还会有所改进。由于软件没有对上电次序的先后给出直观仿真,但通过对两电源芯片慢启动时间的设置先后和使能端的控制,系统上电次序得到了较好保证。
5 结 语
供电模块设计对整个系统实现和系统良好运行意义重大,尤其对一些特殊供电要求的高性能器件而言更是如此。在电源模块的设计中,要综合考虑系统要求,设计灵活性,实现难易程度,成本、效率、封装等相应因素,从而做出全面的、折衷的考虑,以寻求最佳的设计方案。经过在雷达信号处理板上的实际应用,设计满足各项电压、电流和功耗要求,同时由于采用较好的上电次序设计,保证了ADSPTSl01的内核先于IO上电,从而使整个系统稳定性和可靠性得到了较好保证。
因此流水线的优化问题主要应从两方面考虑:
①通过合并循环等方式减少分支指令的个数,从而减少流水线的浪费;
②通过交换指令的顺序,避免寄存器冲突造成的流水线停滞。
4 结 论
流水线技术提高了处理器的并行性,与串行CPU相比大大提高了处理器性能。通过调节指令序列的方法又能够有效地避免流水线冲突的发生,从而提高了流水线的执行效率。因此如何采用智能算法进行指令序列的自动调节以提高流水线的效率和进一步提高处理器的并行性将是以后研究的主要方向。
chinaunix网友2010-11-30 11:11:38
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com