《工学asic原理及应用教学内容.ppt》由会员分享,可在线阅读,更多相关《工学asic原理及应用教学内容.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、工学asic原理及应用2.1 2.1 数字系统模型数字系统模型 为便于分析和设计数字系统,有必要选择适当的模型对系为便于分析和设计数字系统,有必要选择适当的模型对系统进行描述。数字系统的统进行描述。数字系统的动态模型动态模型和和算法模型算法模型是两种基本的有是两种基本的有效模型。效模型。一、动态模型一、动态模型 指在数字逻辑设计中,采用传统的指在数字逻辑设计中,采用传统的指在数字逻辑设计中,采用传统的指在数字逻辑设计中,采用传统的状态转换图状态转换图状态转换图状态转换图,状态转换状态转换状态转换状态转换表表表表,状态方程,输出方程,时序图,真值表,卡诺图状态方程,输出方程,时序图,真值表,卡诺
2、图状态方程,输出方程,时序图,真值表,卡诺图状态方程,输出方程,时序图,真值表,卡诺图等描述工等描述工等描述工等描述工具的数字系统称为动态模型。数电学过的描述方法具的数字系统称为动态模型。数电学过的描述方法具的数字系统称为动态模型。数电学过的描述方法具的数字系统称为动态模型。数电学过的描述方法11/30/20222桂林电子科技大学 信息与通信学院例例例例:设设计计一一个个串串行行数数据据检检测测电电路路,当当连连续续输输入入3个个或或3个个以以上上“1”时,电路输出为时,电路输出为“1”,其它情况下输出为,其它情况下输出为“0”。例如:例如:输入输入X 101100111011110 输出输出
3、Z 000000001000110状态表状态表11/30/20223桂林电子科技大学 信息与通信学院 二、算法模型二、算法模型 对于较对于较复杂的数字系统复杂的数字系统,动态模型,动态模型难以适用难以适用,数字技术,数字技术人员现今人员现今普遍采用普遍采用算法模型算法模型来描述和设计数字系统。来描述和设计数字系统。算法模型思想算法模型思想:将系统实现的功能看作将系统实现的功能看作是应完成的某种运算。是应完成的某种运算。若运算太复杂,可把它若运算太复杂,可把它分解分解成一系列成一系列子运算子运算(子功能子功能),若子,若子运算还较复杂运算还较复杂,可以继,可以继续分解续分解,直到分解为一系列简单
4、运算。,直到分解为一系列简单运算。然后按一定的规律,然后按一定的规律,顺序地或并行地进行顺序地或并行地进行这些简单的基本运这些简单的基本运算算,从而,实现原来复杂系统的功能。,从而,实现原来复杂系统的功能。11/30/20224桂林电子科技大学 信息与通信学院数字系统的算法模型通常具有数字系统的算法模型通常具有两大特征两大特征:(1)(1)含有若干含有若干子运算子运算:数据:数据存储存储、读取读取、算术运算算术运算、逻辑运算逻辑运算等。等。(2)(2)具有相应的具有相应的控制序列控制序列,控制子运算按一定的规律,控制子运算按一定的规律有序地有序地执行。执行。算法算法就是有就是有基本运算基本运算
5、及规定的及规定的运算顺序运算顺序所构成的完整的解题所构成的完整的解题步骤,就是步骤,就是解决问题的方法解决问题的方法。事实证明,事实证明,任何一个系统都可任何一个系统都可以用以用算法模型算法模型来进行描述。来进行描述。11/30/20225桂林电子科技大学 信息与通信学院例例例例:设设计计一一个个串串行行数数据据检检测测电电路路,当当连连续续输输入入3个个或或3个个以以上上“1”时,电路输出为时,电路输出为“1”,其它情况下输出为,其它情况下输出为“0”。例如:例如:输入输入X 101100111011110 输出输出Z 0000000001000110求其算法模型求其算法模型?解:解:实现该
6、系统功能应由三个存贮单元实现该系统功能应由三个存贮单元R1R1、R2R2和和R3R3,分别存放,分别存放输入信号输入信号x(t-1)x(t-1)、x(t)x(t)、x(t+1)x(t+1)的数据,然后再根据以下检的数据,然后再根据以下检测规则决定输出测规则决定输出Z Z (1)(1)当当x(t-1)x(t-1)x(t)x(t)x(t+1)=1x(t+1)=1,输出,输出Z=1Z=1即即Z=R1&R2&R3Z=R1&R2&R3。(2)(2)其它情况其它情况Z Z0 0。每经过一次检测,则将后进入的数据取代先进入的数据,每经过一次检测,则将后进入的数据取代先进入的数据,又送进一个新的数据,此过程周
7、而复始地进行。又送进一个新的数据,此过程周而复始地进行。以上就是串行数据检测以上就是串行数据检测算法算法,如何描述该,如何描述该算法模型?算法模型?11/30/20226桂林电子科技大学 信息与通信学院图图 2.1.3 序列检测系统算法流程图序列检测系统算法流程图开始开始开始开始t=0 Z=0t =t+1Z=1Z=0R1=R2=R3=1?NOYESR1 X(t)R2 R1R3 R2 以图形像地给出了需要进行的操作以及进行这些操作的条件和顺序。与软件设计中的流程图十分相同,称为算法流程图算法流程图。算法流程算法流程图描述算法后,可借助编程语言来设计实现,可用如C语言、Matlab语言,建模仿真,
8、以验证算法。11/30/20227桂林电子科技大学 信息与通信学院module ser_detector(z,x,clk);input x,clk;output z;reg r1,r2,r3;initialbeginr1=0;r2=0;r3=0;endalways (posedge clk)beginr3=r2;r2=r1;r1=15?Paper=1开始开始Coin=0Paper=15coin=15coin=15coin=15时时时时paper=1paper=1paper=1paper=1比较完成后,根据结果进比较完成后,根据结果进比较完成后,根据结果进比较完成后,根据结果进行行行行coinc
9、oincoincoin清零清零清零清零YY11/30/202219桂林电子科技大学 信息与通信学院 实例实例实例实例2 2:雷达接收回波信号中找出目标反射信号,即一个数学问题,雷达接收回波信号中找出目标反射信号,即一个数学问题,从从从从mm个输入个输入个输入个输入n n位二进制数位二进制数位二进制数位二进制数x x中找出中找出中找出中找出最大值最大值最大值最大值和和和和最小值最小值最小值最小值的系统。的系统。的系统。的系统。运算结果存储在运算结果存储在运算结果存储在运算结果存储在r_maxr_maxr_maxr_max及及及及r_minr_minr_minr_min输入的数据暂时存储在输入的数
10、据暂时存储在输入的数据暂时存储在输入的数据暂时存储在r r r r需要两个比较器进行大小比较,需要两个比较器进行大小比较,需要两个比较器进行大小比较,需要两个比较器进行大小比较,comp1,com2comp1,com2comp1,com2comp1,com2比较完成后,根据结果进行数据交换数据比较完成后,根据结果进行数据交换数据比较完成后,根据结果进行数据交换数据比较完成后,根据结果进行数据交换数据需要一个计数器需要一个计数器需要一个计数器需要一个计数器i i i i,对输入的数据进行计数,对输入的数据进行计数,对输入的数据进行计数,对输入的数据进行计数11/30/202220桂林电子科技大学
11、 信息与通信学院开始开始i=i+1i=0r_max=0r_min=0rr_max?YESr_max=rrm?NOr=x(i)YESNO11/30/202221桂林电子科技大学 信息与通信学院module max_min_finder(r_max,r_min,x,clk);input 7:0 x;input clk;output 7:0 r_max,r_min;reg 7:0 r_max,r_min;reg 7:0 r;reg 9:0 i;initialbeginr_max=x;r_min=x;i=0;endalways (posedge clk)begini=i+1;if(i=1000)beg
12、inrr_max)r_max=r;if(rr_min)r_min=0?YNq=q+2k-1ab?a=a-c/2YNm=a-c/2m=bY结束结束q=011/30/202237桂林电子科技大学 信息与通信学院例:例:设计设计 的算法流程图的算法流程图分析:问题的核心是求分析:问题的核心是求x的平方根,一种常用的方法是的平方根,一种常用的方法是牛牛顿逐次逼近法顿逐次逼近法。方法的核心是给出一个。方法的核心是给出一个 的估算值的估算值y0,用,用子运算子运算y1=(y0+x/y0)/2,求得,求得y1,同理求得,同理求得y2,y3逐次递逐次递进进11/30/202238桂林电子科技大学 信息与通信学
13、院设设x=3,令,令y0=1,其计算过程为,其计算过程为:序号序号 y W=x/y V=y+W U=V/2 0 1 3 4 2 1 2 1.5 3.5 1.75 2 1.75 1.714 3.464 1.7321 3 1.7321 1.73200 3.4641 1.73205 通过解析,将平方根的运算转化成通过解析,将平方根的运算转化成W=x/y,=y+W,U=V/2三种基本运算,由此可设计出算法的流程图:三种基本运算,由此可设计出算法的流程图:11/30/202239桂林电子科技大学 信息与通信学院开始开始w=x/yREAD x,y=y0u=(y+w)/2u-y=允许的误差允许的误差结束结束
14、Noy=u开始开始w=x/yREAD x,y=y0u=(y+w)/2u-y=允许的误差允许的误差结束结束Yes算法的流程图算法的流程图11/30/202240桂林电子科技大学 信息与通信学院uu3.3.综合法综合法综合法综合法 在实际应用中,大部分数字系统的算法比较复杂,在实际应用中,大部分数字系统的算法比较复杂,总是要总是要综合、全面地考虑,逐步分解逻辑关系,最后获得综合、全面地考虑,逐步分解逻辑关系,最后获得完整的完整的算法流程图算法流程图。所以,把。所以,把跟踪法、归纳法、划分法、解跟踪法、归纳法、划分法、解析法等几种设计算法组合析法等几种设计算法组合起来应用的方法称为综合法起来应用的方
15、法称为综合法注:注:因为系统的逻辑功能因为系统的逻辑功能种类繁多种类繁多,采用的方法和手段也多种多样,至采用的方法和手段也多种多样,至今尚没有找到可以设计出各种算法的通用的规则、方法、步骤。今尚没有找到可以设计出各种算法的通用的规则、方法、步骤。11/30/202241桂林电子科技大学 信息与通信学院例:试设计例:试设计一个人体电子秤控制装置的算法流程一个人体电子秤控制装置的算法流程。该人体电。该人体电子秤控制装置应能有序、正确地管理以下功能的实现:子秤控制装置应能有序、正确地管理以下功能的实现:(1)(1)进行人体体重的测量,并能以进行人体体重的测量,并能以3 3位十进制数字显位十进制数字显
16、 示体重示体重的千克数;的千克数;(2)(2)进行人体身高的测量,井能以进行人体身高的测量,井能以3 3位十进制数字显位十进制数字显 示高度示高度的厘米数,体重和身高显示器公用;的厘米数,体重和身高显示器公用;(3)(3)由体重和身高的实测信息,并根据被测对象的具体状况由体重和身高的实测信息,并根据被测对象的具体状况(男性或女性,成人或儿童等男性或女性,成人或儿童等),自动计算并显示被测,自动计算并显示被测 对象属对象属于偏瘦、适中、偏胖于偏瘦、适中、偏胖3 3种类型的哪一种。种类型的哪一种。(4)(4)为简化设计,允许不考虑消除电子秤自重的功能为简化设计,允许不考虑消除电子秤自重的功能(常称
17、常称去皮重功能去皮重功能)。11/30/202242桂林电子科技大学 信息与通信学院荷重传感器位移传感器放大器放大器A/D身高体重处理芯片数码管显示打印结果体重身高图图2.3.2电子秤整体框图电子秤整体框图11/30/202243桂林电子科技大学 信息与通信学院分析:身高体重需要通过传感器转换成电信号,再经放大整分析:身高体重需要通过传感器转换成电信号,再经放大整理、理、ADAD变换后的数据方可进行处理,是一数、模混合电路模变换后的数据方可进行处理,是一数、模混合电路模型。型。V VL L表示身高信号,放大后经表示身高信号,放大后经8 8位位ADAD变换后变换后00H00H0cm0cm,FFH
18、FFH225cm225cmV Vw w表示体重信号,放大后经表示体重信号,放大后经8 8位位ADAD变换后变换后00H00H0kg0kg,FFHFFH225kg225kg身高、体重的测量过程是:身高、体重的测量过程是:电子秤未进行测量时,控制装置处于等待状态;只有当按电子秤未进行测量时,控制装置处于等待状态;只有当按动动startstart按钮、接收按钮、接收startstart1 1信号时,开始一次人体身高和信号时,开始一次人体身高和体重的测量。体重的测量。接收到接收到startstart1 1信号,首先测量身高,表示身高的模拟信信号,首先测量身高,表示身高的模拟信息息V VL L经八位经八
19、位A AD D转换为数字量,并经寄存、码制转换,由转换为数字量,并经寄存、码制转换,由8 8段显示器显示出段显示器显示出3 3位十进制数表示的身高数据,此时单位显位十进制数表示的身高数据,此时单位显示示cmcm。11/30/202244桂林电子科技大学 信息与通信学院按动按动weightweight按钮,产生按钮,产生weight=1weight=1信号,系统进行体重测量。信号,系统进行体重测量。表示体重的模拟信息表示体重的模拟信息VwVw经经A AD D转换为另一组数字量,经存转换为另一组数字量,经存储、码制变换和处理,显示储、码制变换和处理,显示3 3位十进制数表示的体重数据,位十进制数表
20、示的体重数据,此时单位显示此时单位显示kgkg。对于上述测得的身高、体重两组数字量,进行数据计算和对于上述测得的身高、体重两组数字量,进行数据计算和判别。由计算结果判别出被测对象胖、瘦程度,并正确显判别。由计算结果判别出被测对象胖、瘦程度,并正确显示偏胖、适中或偏瘦示偏胖、适中或偏瘦3 3种情况之一。种情况之一。判断规则如下:判断规则如下:L L实测身高、实测身高、W W实测体重,实测体重,K1K1、K2K2为常数,对于男性成为常数,对于男性成人人K1K1105cm105cm,女性成人,女性成人k1=100k1=100,k2k238cm38cm。则有:。则有:a.L-k1=W a.L-k1=W
21、 标准体型标准体型b.L-K1-K2=W=L-K1+k2 b.L-K1-K2=W=L-K1+k2 体型适中体型适中c.W=L-k1-k2 c.WL-K1+k2 d.WL-K1+k2 偏胖偏胖 由以上分析可得其算法流程图如下由以上分析可得其算法流程图如下:11/30/202245桂林电子科技大学 信息与通信学院开始开始VLA/D(L-K1)与与w比较比较偏瘦偏瘦waitstart?YESNO结束否结束否?YESNO存储转换显示存储转换显示L延时延时Weight?VwA/DYES结束否结束否?存储转换显示存储转换显示WL-(k1k2)与与w比较比较L-k1w?L-(k1k2)与与w比较比较L-(k
22、1k2)w?L-(k1k2)w?适中适中偏胖偏胖YESYESYESYESNONONONONO11/30/202246桂林电子科技大学 信息与通信学院2.4 算法结构算法是由许多子运算组成的,在各子运算之间存在一个算法是由许多子运算组成的,在各子运算之间存在一个算法是由许多子运算组成的,在各子运算之间存在一个算法是由许多子运算组成的,在各子运算之间存在一个执行方法和次序问题,这就是算法结构。执行方法和次序问题,这就是算法结构。执行方法和次序问题,这就是算法结构。执行方法和次序问题,这就是算法结构。三种主要算法结构:三种主要算法结构:三种主要算法结构:三种主要算法结构:顺序结构顺序结构顺序结构顺序
23、结构并行结构并行结构并行结构并行结构流水线结构流水线结构流水线结构流水线结构11/30/202247桂林电子科技大学 信息与通信学院顺序算法结构是指在执行算法的整个过程中,同一时间顺序算法结构是指在执行算法的整个过程中,同一时间顺序算法结构是指在执行算法的整个过程中,同一时间顺序算法结构是指在执行算法的整个过程中,同一时间只进行一种或一组相关的子运算。图只进行一种或一组相关的子运算。图只进行一种或一组相关的子运算。图只进行一种或一组相关的子运算。图2.4.12.4.1是顺序算法结构是顺序算法结构是顺序算法结构是顺序算法结构顺序结构的两种情况:顺序结构的两种情况:顺序结构的两种情况:顺序结构的两
24、种情况:在每个时间段中,仅有一个子运算操作,各子运算之间逐个按规在每个时间段中,仅有一个子运算操作,各子运算之间逐个按规在每个时间段中,仅有一个子运算操作,各子运算之间逐个按规在每个时间段中,仅有一个子运算操作,各子运算之间逐个按规 定的次序进行定的次序进行定的次序进行定的次序进行 OP1OP2OP3OP4OP50t1t2t3t4t5一、顺序算法结构一、顺序算法结构图图图图2.4.12.4.1顺序算法结构顺序算法结构顺序算法结构顺序算法结构11/30/202248桂林电子科技大学 信息与通信学院OP1OP2OP3OP4OP5OP6OP7OP80t1t2t3t4t5在顺序算法结构中,若输入要处理
25、的数据是单个元素在顺序算法结构中,若输入要处理的数据是单个元素Di,完成该数据的算法流程需经完成该数据的算法流程需经L个时间段,而每段的平均时个时间段,而每段的平均时间为间为tt,则完成该数据运算的时间为,则完成该数据运算的时间为 t=L*t=L*t=L*t=L*t t若含有若含有n个元素的数据流输入时,总的运算时间为个元素的数据流输入时,总的运算时间为 Ts=n t=n L t 在同一时间里,有时仅有一个子操作,但有时有一组子运算操作在同一时间里,有时仅有一个子操作,但有时有一组子运算操作在同一时间里,有时仅有一个子操作,但有时有一组子运算操作在同一时间里,有时仅有一个子操作,但有时有一组子
26、运算操作特点:特点:速度慢;结构简单;硬件成本低速度慢;结构简单;硬件成本低11/30/202249桂林电子科技大学 信息与通信学院二、并行算法结构二、并行算法结构并行算法是指在同一时间段中,有并行算法是指在同一时间段中,有并行算法是指在同一时间段中,有并行算法是指在同一时间段中,有多条路径多条路径多条路径多条路径在在在在同时进同时进同时进同时进行行行行运算,在这些同时执行的子运算操作之间是相互独立的。运算,在这些同时执行的子运算操作之间是相互独立的。运算,在这些同时执行的子运算操作之间是相互独立的。运算,在这些同时执行的子运算操作之间是相互独立的。OP1OP2OP3OP4OP5OP6OP7O
27、P8OP9OP10OP110t1t2t3t411/30/202250桂林电子科技大学 信息与通信学院注意点:注意点:注意点:注意点:OP1OP1OP1OP1到到到到OP2OP2OP2OP2、OP3OP3OP3OP3、OP4OP4OP4OP4的转移决不是顺序算法中的条件转的转移决不是顺序算法中的条件转的转移决不是顺序算法中的条件转的转移决不是顺序算法中的条件转移,因为条件转移有判断条件决定,总是有一条后操作移,因为条件转移有判断条件决定,总是有一条后操作移,因为条件转移有判断条件决定,总是有一条后操作移,因为条件转移有判断条件决定,总是有一条后操作路径路径路径路径。OP2OP2OP2OP2、OP
28、3OP3OP3OP3、OP4OP4OP4OP4也不是顺序算法中同时执行的一组操作,也不是顺序算法中同时执行的一组操作,也不是顺序算法中同时执行的一组操作,也不是顺序算法中同时执行的一组操作,因它们之间互不关联因它们之间互不关联因它们之间互不关联因它们之间互不关联。OP5OP5OP5OP5、OP6OP6OP6OP6、OP10OP10OP10OP10、OP11OP11OP11OP11为顺序运算路径中的一组相互有为顺序运算路径中的一组相互有为顺序运算路径中的一组相互有为顺序运算路径中的一组相互有关的操作。关的操作。关的操作。关的操作。OP1OP2OP3OP4OP5OP6OP7OP8OP9OP10OP
29、110t1t2t3t411/30/202251桂林电子科技大学 信息与通信学院并行算法完成运算的时间:并行算法完成运算的时间:在并行算法结构中,若待处理数据是单元素在并行算法结构中,若待处理数据是单元素在并行算法结构中,若待处理数据是单元素在并行算法结构中,若待处理数据是单元素D D D Di i i i,它完成,它完成,它完成,它完成运算的时间为运算的时间为运算的时间为运算的时间为 t=Lt=L t t 其中其中其中其中L L L L 是并行算法流程经过的运算段数是并行算法流程经过的运算段数是并行算法流程经过的运算段数是并行算法流程经过的运算段数 若含有若含有若含有若含有n n n n个元素
30、的数据流输入时,并行结构算法总的运个元素的数据流输入时,并行结构算法总的运个元素的数据流输入时,并行结构算法总的运个元素的数据流输入时,并行结构算法总的运算时间为算时间为算时间为算时间为 T Tp p=n t=n =n t=n L L t t特点:运算速度快;硬件成本高特点:运算速度快;硬件成本高特点:运算速度快;硬件成本高特点:运算速度快;硬件成本高11/30/202252桂林电子科技大学 信息与通信学院三、流水线操作算法结构三、流水线操作算法结构流水线处理是高速设计中的一个常用设计手段。如果某个流水线处理是高速设计中的一个常用设计手段。如果某个设计的处理流程分为若干步骤,而且整个数据处理是
31、设计的处理流程分为若干步骤,而且整个数据处理是“单流单流向向”的,即的,即没有反馈或者迭代运算没有反馈或者迭代运算,前一个步骤的,前一个步骤的输出输出是下是下一个一个步骤的输入步骤的输入,则可以考虑采用,则可以考虑采用流水线设计方法流水线设计方法来提高系统来提高系统的工作频率。的工作频率。步骤1步骤2步骤n11/30/202253桂林电子科技大学 信息与通信学院例如要对例如要对10001000个数据个数据x(n)x(n)进行处理,处理输出结果进行处理,处理输出结果y(n)y(n),每,每个数据需要个数据需要4 4个处理步骤个处理步骤X(n)步骤1步骤2步骤3步骤4y(n)若每个步骤处理时间均需
32、若每个步骤处理时间均需1 1个时钟周期个时钟周期T T,则顺序结构需,则顺序结构需10004T10004T,可采用如下流水结构:,可采用如下流水结构:X(1)步骤1步骤2步骤3步骤4X(2)步骤1步骤2步骤3步骤4X(3)步骤1步骤2步骤3步骤4X(4)步骤1步骤2步骤3步骤4X(5)步骤1步骤2步骤3步骤41 clock2 clock3 clock4 clock5 clockX(1)X(2)X(3)X(4)X(1)X(2)X(3)X(1)X(2)y(1)y(2)11/30/202254桂林电子科技大学 信息与通信学院流水线操作算法结构是针对连续输入数据流系统而言的。流水线操作算法结构是针对连
33、续输入数据流系统而言的。它将整个运算分解成若干它将整个运算分解成若干子运算子运算,系统在同一时间可对先后,系统在同一时间可对先后输入的数据流元素进行输入的数据流元素进行不同子运算不同子运算。具有如下特点:。具有如下特点:(1 1)在流水线中操作运算必须是连续任务,只有连续不在流水线中操作运算必须是连续任务,只有连续不在流水线中操作运算必须是连续任务,只有连续不在流水线中操作运算必须是连续任务,只有连续不断地提供任务才能充分发挥流水线的效。断地提供任务才能充分发挥流水线的效。断地提供任务才能充分发挥流水线的效。断地提供任务才能充分发挥流水线的效。(2 2 2 2)把一个运算(操作)分解为几个有联
34、系的子运算把一个运算(操作)分解为几个有联系的子运算把一个运算(操作)分解为几个有联系的子运算把一个运算(操作)分解为几个有联系的子运算(子操作),每个子运算由一个专门的功能部件来实现。(子操作),每个子运算由一个专门的功能部件来实现。(子操作),每个子运算由一个专门的功能部件来实现。(子操作),每个子运算由一个专门的功能部件来实现。11/30/202255桂林电子科技大学 信息与通信学院(3 3 3 3)在流水线的每一个功能部件后面都要有一个缓冲寄在流水线的每一个功能部件后面都要有一个缓冲寄在流水线的每一个功能部件后面都要有一个缓冲寄在流水线的每一个功能部件后面都要有一个缓冲寄存器,用于保存
35、本段的执行结果。存器,用于保存本段的执行结果。存器,用于保存本段的执行结果。存器,用于保存本段的执行结果。(4 4 4 4)流水线中各段(流水线中各段(流水线中各段(流水线中各段(子运算子运算子运算子运算)的时间应尽量相等,否则)的时间应尽量相等,否则)的时间应尽量相等,否则)的时间应尽量相等,否则将引起将引起将引起将引起“堵塞堵塞堵塞堵塞”或或或或“断流断流断流断流”等现象。等现象。等现象。等现象。(5 5 5 5)流水线需要有)流水线需要有)流水线需要有)流水线需要有“装入时间装入时间装入时间装入时间”和和和和“排空时间排空时间排空时间排空时间”。只有流。只有流。只有流。只有流水线完全充满
36、时,整个流水线的效率才能得到充分发挥。水线完全充满时,整个流水线的效率才能得到充分发挥。水线完全充满时,整个流水线的效率才能得到充分发挥。水线完全充满时,整个流水线的效率才能得到充分发挥。流水线操作算法结构如下图所示:流水线操作算法结构如下图所示:OP1OP2OP1OP3OP2OP1OP4OP3OP2OP1OP5OP4OP3OP2OP6OP5OP4OP3OP6OP5OP4OP5OP6OP60t1t2t3t4t5t611/30/202256桂林电子科技大学 信息与通信学院顺序算法和流水算法的示例:顺序算法和流水算法的示例:分析:给定的数据流分析:给定的数据流共有共有m m个元素,它们是个元素,它
37、们是(a(a1 1,b,b1 1,c,c1 1)、(a a2 2,b,b2 2,c,c2 2)、a am m,b,bm m,c,cm m),这一运算,这一运算可简单分解为相乘、可简单分解为相乘、相加和开方三个运算相加和开方三个运算段,算法流程图为段,算法流程图为例:例:试用顺序操作和流水操作算法实现试用顺序操作和流水操作算法实现Z ZAB+C AB+C 的平方的平方根。其中根。其中A A、B B、C C均为数据流,长度为均为数据流,长度为 m,m,且均是且均是 n n 位位开始开始ABABCABC11/30/202257桂林电子科技大学 信息与通信学院采用顺序算法结构:采用顺序算法结构:采用顺
38、序算法结构:采用顺序算法结构:n采用顺序算法结构:在采用顺序算法结构:在t1t1,t2t2,t3t3分别完成这三种分别完成这三种运算。为方便分析,设运算。为方便分析,设t1=t2=t3=tt1=t2=t3=t,顺序算,顺序算法结构的时间关系如图法结构的时间关系如图这样完成整个运算的时间为这样完成整个运算的时间为 Ts=3 m ta1b1a1b1 a1b1+c1a1b1+c1a am mbbm mambm+cmambm+cmt1t2t3t1t2t311/30/202258桂林电子科技大学 信息与通信学院采用流水线操作算法结构:采用流水线操作算法结构:时间关系图如下:时间关系图如下:由图可以看出,完成全部数据计算所需要的时间为由图可以看出,完成全部数据计算所需要的时间为 T=3 t +(m-1)t显然,流水线结构比顺序结构所需要的运算时间要少显然,流水线结构比顺序结构所需要的运算时间要少a1b1a1b1 a1b1+c1 a1b1+c1t1t2t3a2b2a2b2a2b2+c2a2b2+c2a3b3a3b3a2b3+c2a3b3+c3a3b3+c3a4b4a4b4011/30/202259桂林电子科技大学 信息与通信学院此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢