资料介绍
在航空微电子中心的某预研项目中,需要开发设计某32位浮点通用数字信号处理器(DSP)。本系统控制通路部分的设计采用超级哈佛及五级流水线结构。本文分析了该流水线的设计过程,并对遇到的数据相关问题提出了一种新的解决方法。
1 流水线结构
流水线处理器一般把一条指令的执行分成几个步骤,或称为级(stages)。每一级在一个时钟周期内完成,也就是说在每个时钟周期,处理器启动并执行一条指令。如果处理器的流水线有m级,则同时可重叠执行的指令总条数为m。由于每条指令处在不同的执行阶段,因此,如果分级分得好,每一级都没有时间上的浪费,这就是最理想的情况。流水线处理器在理想情况下与非流水线处理器的性能加速比为:
式中,I为一个程序被执行的总的指令条数,它在流水线处理器和非流水线处理器中是相等的。CPInp是每条指令总体平均所需的时钟周期数。因为流水线处理器把一条指令的执行时间理想地分成了m级,故有m条指令在同时(重叠)执行。T是每个时钟周期的时间长度,本例可假设它在两种处理器中也是相同的,那么,最后总的加速比为m(即等于流水线的级数)。并不是说把流水线级数分得越多,处理器的性能就越好。流水线处理器性能提高的关键在于每个时钟周期处理器都应当能启动一条指令的执行。
2 数据相关问题
下面来讨论数据相关(data dependence)问题及解决方法,先来看看下面的程序例子:
在上述程序段中,I1指令把寄存器r2和r3的内容相加,并将结果存人寄存器r1,这样,它下面的4条指令均与I1相关,其使用I1的结果如图1给出的数据相关关系图。从图中可见,当每个周期结束时,在时钟上升沿应把数据打入寄存器。在数据没被打入之前,任何从该寄存器读出的数据都是过时的。图1中的I2到I4的3条指令就属于这种情况。它们从r1寄存器读出的数据都是过时的,是不能使用的。I5则没关系,当它读r1寄存器时,I1已将结果写入。
I1下面有3条指令不能从寄存器r1读出正确的数据。为了减少数据相关指令的条数,设计时可以让写寄存器堆的操作提前半个周期,即由时钟的下降沿打入。实践证明这样做是可行的,因为假定一个时钟周期是10 ns,寄存器堆的访问只需要5 ns。这样,数据相关的指令条数就减至两条,其操作示意图如图2所示。
3 数据相关问题的解决
在流水线处理器中处理数据相关问题有两种方法:一种是暂停相关指令的执行,即暂停流水线,直到能够正确读出寄存器操作数为止;另一种是采用专门的数据通路,直接把结果送到ALU的输入端,也就是把内部数据前推。描述这两种方法可参考图2所示的方案,即把写寄存器堆提前半个周期,这时,只需考虑两条相关指令。下面以ALU指令为例对暂停流水线的执行方法加以分析。
1 流水线结构
流水线处理器一般把一条指令的执行分成几个步骤,或称为级(stages)。每一级在一个时钟周期内完成,也就是说在每个时钟周期,处理器启动并执行一条指令。如果处理器的流水线有m级,则同时可重叠执行的指令总条数为m。由于每条指令处在不同的执行阶段,因此,如果分级分得好,每一级都没有时间上的浪费,这就是最理想的情况。流水线处理器在理想情况下与非流水线处理器的性能加速比为:
式中,I为一个程序被执行的总的指令条数,它在流水线处理器和非流水线处理器中是相等的。CPInp是每条指令总体平均所需的时钟周期数。因为流水线处理器把一条指令的执行时间理想地分成了m级,故有m条指令在同时(重叠)执行。T是每个时钟周期的时间长度,本例可假设它在两种处理器中也是相同的,那么,最后总的加速比为m(即等于流水线的级数)。并不是说把流水线级数分得越多,处理器的性能就越好。流水线处理器性能提高的关键在于每个时钟周期处理器都应当能启动一条指令的执行。
2 数据相关问题
下面来讨论数据相关(data dependence)问题及解决方法,先来看看下面的程序例子:
在上述程序段中,I1指令把寄存器r2和r3的内容相加,并将结果存人寄存器r1,这样,它下面的4条指令均与I1相关,其使用I1的结果如图1给出的数据相关关系图。从图中可见,当每个周期结束时,在时钟上升沿应把数据打入寄存器。在数据没被打入之前,任何从该寄存器读出的数据都是过时的。图1中的I2到I4的3条指令就属于这种情况。它们从r1寄存器读出的数据都是过时的,是不能使用的。I5则没关系,当它读r1寄存器时,I1已将结果写入。
I1下面有3条指令不能从寄存器r1读出正确的数据。为了减少数据相关指令的条数,设计时可以让写寄存器堆的操作提前半个周期,即由时钟的下降沿打入。实践证明这样做是可行的,因为假定一个时钟周期是10 ns,寄存器堆的访问只需要5 ns。这样,数据相关的指令条数就减至两条,其操作示意图如图2所示。
3 数据相关问题的解决
在流水线处理器中处理数据相关问题有两种方法:一种是暂停相关指令的执行,即暂停流水线,直到能够正确读出寄存器操作数为止;另一种是采用专门的数据通路,直接把结果送到ALU的输入端,也就是把内部数据前推。描述这两种方法可参考图2所示的方案,即把写寄存器堆提前半个周期,这时,只需考虑两条相关指令。下面以ALU指令为例对暂停流水线的执行方法加以分析。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 嵌入式_流水线
- 使用FPGA设计流水线的资料和程序详细概述 3次下载
- 移植到全新的PIC24F流水线ADC和Σ-ΔADC免费下载.pdf
- 流水线状态机20进制,101序列检测,8位加法器流水线的程序 0次下载
- 三菱plc装配流水线课程设计 23次下载
- 装配流水线控制系统设计 14次下载
- 电镀流水线的PLC控制 36次下载
- 流水线ADC的行为级仿真 21次下载
- YHFT-DX高性能DSP指令控制流水线设计与优化 36次下载
- 流水线威廉希尔官方网站 在高速数字电路设计中的应用
- FPGA重要设计思想及工程应用之流水线设
- 周期精确的流水线仿真模型
- MAX1200中文资料,pdf (流水线结构的模数转换器)
- 流水线型ADC MAX1200 及其与DSP 的接口
- 流水线型模数转换器MAX1200及其与DSP的接口
- 新版本Jenkins推荐使用声明式流水线 604次阅读
- Google GPipe为代表的流水线并行范式 891次阅读
- 以Gpipe作为流水线并行的范例进行介绍 932次阅读
- 如何通过Vivado Synthesis中的URAM矩阵自动流水线化来实现最佳时序性能 1436次阅读
- 一个典型的流水线设计 1094次阅读
- 报文解析规则定义 流水线划分提取方案 809次阅读
- CPU流水线优缺点 3912次阅读
- 一文详细了解流水线设计 4609次阅读
- FPGA中流水线的原因和方式 5710次阅读
- 流水线设计的思想介绍与设计实例 7896次阅读
- OYES 200系列PLC在瓶装流水线中的应用 1215次阅读
- 浅谈GPU的渲染流水线实现 3757次阅读
- 一文读懂处理器流水线 2.2w次阅读
- 处理器功能单元组成与CPU的流水线的详细解析 1.2w次阅读
- 新型流水线实现高速低功耗ADC的原理及方法 4426次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1489次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 91次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 9次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 3次下载 | 免费
- 8基于单片机的红外风扇遥控
- 0.23 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30319次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多