处理器性能提高技术ppt课件_第1页
处理器性能提高技术ppt课件_第2页
处理器性能提高技术ppt课件_第3页
处理器性能提高技术ppt课件_第4页
处理器性能提高技术ppt课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、钱晓捷,微机原理与接口技术钱晓捷,微机原理与接口技术第第4 4版版基于基于IA-32IA-32处理器和处理器和3232位汇编语言位汇编语言第第 9 9 章章处置器性能提高技术处置器性能提高技术9.1 9.1 精简指令集计算机技术精简指令集计算机技术9.2 9.2 指令流水线技术指令流水线技术9.3 9.3 浮点数据处置单元浮点数据处置单元9.4 9.4 多媒体指令多媒体指令 微机原理与接口技术第4版机械工业出版社9.1 9.1 精简指令集计算机技术精简指令集计算机技术精简指令集计算机技术来源精简指令集计算机技术来源向量巨型机向量巨型机CRAY-ICRAY-I:精简指令、面向存放器:精简指令、面

2、向存放器操作操作IBM 801IBM 801小型机:单周期固定格式指令、高小型机:单周期固定格式指令、高速缓冲存储器以及编译技术相结合速缓冲存储器以及编译技术相结合RISC-IRISC-I:第一个精简指令集计算机处置器芯:第一个精简指令集计算机处置器芯片片在高档的工程任务站得到广泛运用在高档的工程任务站得到广泛运用最新开发的处置器普遍采用精简指令集计算最新开发的处置器普遍采用精简指令集计算机设计思想机设计思想Simple but elegantSimple but elegant微机原理与接口技术第4版机械工业出版社9.1.1 9.1.1 复杂指令集和精简指令集复杂指令集和精简指令集复杂指令集

3、计算机复杂指令集计算机CISCCISC指令系统丰富、程序设计方便、程序短小、指令系统丰富、程序设计方便、程序短小、执行性能高执行性能高处置器硬件复杂,不易运用先进的流水线技处置器硬件复杂,不易运用先进的流水线技术,导致其执行速度和性能难以进一步提高术,导致其执行速度和性能难以进一步提高 精简指令集计算机精简指令集计算机RISCRISC指令系统很简单,只需少数简单、常用的指指令系统很简单,只需少数简单、常用的指令令处置器硬件简单,比较方便地实现优化处置器硬件简单,比较方便地实现优化80%80%和和20%20%规律规律微机原理与接口技术第4版机械工业出版社处置器性能公式处置器性能公式处置器执行时间

4、处置器执行时间ICICCPICPIT TICIC程序的指令条数程序的指令条数CPICPI执行每条指令所需的平均时钟周期数执行每条指令所需的平均时钟周期数T T每个时钟周期的时间时钟频率的倒数每个时钟周期的时间时钟频率的倒数处置器执行程序时间越少,计算机性能越高处置器执行程序时间越少,计算机性能越高减少时钟周期时间减少时钟周期时间T T,即提高时钟频率,即提高时钟频率CISCCISC经过运用复杂指令减少经过运用复杂指令减少ICICRISCRISC运用简单指令减少运用简单指令减少CPICPI相互自创、共同提高相互自创、共同提高微机原理与接口技术第4版机械工业出版社9.1.2 RISC9.1.2 R

5、ISC技术的主要特点技术的主要特点指令条数较少指令条数较少寻址方式简单寻址方式简单面向存放器操作面向存放器操作指令格式规整指令格式规整单周期执行单周期执行先进的流水线技术先进的流水线技术编译器优化编译器优化Load-StoreLoad-Store构造构造微机原理与接口技术第4版机械工业出版社9.2 9.2 指令流水线技术指令流水线技术洗衣房的流水作业洗衣房的流水作业三个阶段:三个阶段:1. 1. 水洗水洗(30)(30)2. 2. 烘干烘干(40)(40)3. 3. 熨烫熨烫(20)(20)ABCD6 PM789任任务务顺顺序序时间时间30 40404040 20微机原理与接口技术第4版机械工

6、业出版社9.2.1 9.2.1 指令流水线指令流水线取指取指执行执行取指取指译码译码执行执行取指取指译码译码地址地址执行执行回写回写S1S2S3S4S5指令读取指令读取指令译码指令译码地址计算地址计算指令执行指令执行结果回写结果回写微机原理与接口技术第4版机械工业出版社1. 1. 流水线思想流水线思想指令流水线技术:把执行指令这个过程分解成多指令流水线技术:把执行指令这个过程分解成多个子过程,执行指令的功能单元也设计成多个相个子过程,执行指令的功能单元也设计成多个相应的处置单元,多个子过程在多个处置单元并行应的处置单元,多个子过程在多个处置单元并行操作,同时处置多条指令操作,同时处置多条指令没

7、有减少每个指令的执行时间没有减少每个指令的执行时间有助于减少整个程序多条指令的执行时间有助于减少整个程序多条指令的执行时间指令流水线开场需求指令流水线开场需求“填充时间填充时间FillFill,最后,最后有一个有一个“排空时间排空时间DrainDrain要发扬流水线效率需求延续不断地处置指令要发扬流水线效率需求延续不断地处置指令时空图时空图指令流水线的时空图指令流水线的时空图前往前往执行执行N条指令条指令串行顺序执行方式:串行顺序执行方式:5N理想的流水线操作:理想的流水线操作:N4微机原理与接口技术第4版机械工业出版社2. 2. 流水线中的指令相关流水线中的指令相关指令相关:指令之间存在相互

8、依赖关系指令相关:指令之间存在相互依赖关系常使下一条指令无法在设计的单位时间内执常使下一条指令无法在设计的单位时间内执行行导致流水线的导致流水线的“断流,性能降低断流,性能降低有三种类型的指令相关有三种类型的指令相关资源冲突:当指令重叠执行过程中,硬件资资源冲突:当指令重叠执行过程中,硬件资源满足不了指令重叠执行的要求源满足不了指令重叠执行的要求数据相关:在同时执行的多条指令中,一条数据相关:在同时执行的多条指令中,一条指令依赖前一条指令的执行结果指令依赖前一条指令的执行结果( (数据数据) )无法无法得到得到控制相关:流水线遇到分支指令或其他改动控制相关:流水线遇到分支指令或其他改动PCPC

9、值的指令值的指令数据旁路数据旁路分支预测分支预测预取分支目的预取分支目的微机原理与接口技术第4版机械工业出版社9.2.2 804869.2.2 80486的指令流水线的指令流水线5 5级指令流水线,每级级指令流水线,每级1 1个时钟周期个时钟周期 PF PF指令预取指令预取prefetchprefetch D1 D1指令译码指令译码1 1decode stage 1decode stage 1对一切操作码和寻址方式信息进展译码对一切操作码和寻址方式信息进展译码 D2 D2指令译码指令译码2 2decode stage 2decode stage 2将操作码扩展为将操作码扩展为ALUALU控制信

10、号,存储器地址控制信号,存储器地址计算计算 EX EX指令执行指令执行executeexecute完成完成ALUALU操作和操作和CacheCache存取存取 WB WB回写回写write backwrite back更新在更新在EXEX步骤得到的存放器数据和形状标志步骤得到的存放器数据和形状标志微机原理与接口技术第4版机械工业出版社数据旁路直通数据旁路直通MOV reg1, mem1MOV reg1, mem1ADD reg1, reg2ADD reg1, reg2MOV mem2, reg1MOV mem2, reg1数据相关数据相关微机原理与接口技术第4版机械工业出版社流水线停顿流水线停

11、顿MOV reg1, mem1MOV reg1, mem1ADD reg2, reg1ADD reg2, reg1数据相关数据相关停顿停顿微机原理与接口技术第4版机械工业出版社预取分支目的预取分支目的CMP reg, immCMP reg, immJC targetJC targettargettarget:构造相关构造相关目的指令预取目的指令预取微机原理与接口技术第4版机械工业出版社9.3 9.3 浮点数据处置单元浮点数据处置单元传统的处置器或简单的微控制器只需整数处传统的处置器或简单的微控制器只需整数处置单元置单元有些实数经过挪动小数点位置,可以用整数有些实数经过挪动小数点位置,可以用整数

12、编码表达和处置,但能够要损失精度编码表达和处置,但能够要损失精度实数经过一定格式转换后,完全用整数指令实数经过一定格式转换后,完全用整数指令仿真,但处置速度难尽人意仿真,但处置速度难尽人意计算机表达实数要采用浮点数据格式计算机表达实数要采用浮点数据格式x87 FPUx87 FPUFloating-Point UnitFloating-Point UnitIntel 80 x87Intel 80 x87浮点协处置器与浮点协处置器与80 x8680 x86处置器配处置器配合合8048680486及以后的及以后的IA-32IA-32处置器集成浮点处置单处置器集成浮点处置单元元微机原理与接口技术第4版

13、机械工业出版社9.3.1 9.3.1 实数编码实数编码实数实数Real NumberReal Number的科学表示法表达的科学表示法表达 -123.456 -123.456-1.23456-1.23456102102包括三个部分包括三个部分指数:反映数据的大小或量级指数:反映数据的大小或量级有效数字:反映数据的精度有效数字:反映数据的精度符号位:表达数据的正负符号位:表达数据的正负实数是一个延续系统,实际上可以表示恣意实数是一个延续系统,实际上可以表示恣意大小与精度的数据大小与精度的数据计算机表达实数的浮点格式采用科学表达法,计算机表达实数的浮点格式采用科学表达法,精度和大小有限,表达的数值

14、离散,只是实精度和大小有限,表达的数值离散,只是实数系统的一个子集数系统的一个子集微机原理与接口技术第4版机械工业出版社1. 1. 浮点数据格式浮点数据格式符号符号SignSign表示数据的正负表示数据的正负在最高有效位在最高有效位MSBMSB负数负数1 1,正数,正数0 0指数指数ExponentExponent阶码阶码表示数据以表示数据以2 2为底的幂为底的幂恒为整数,运用偏移码表达恒为整数,运用偏移码表达有效数字有效数字SignificandSignificand表示数据的有效数字,反映数据的精度表示数据的有效数字,反映数据的精度普通采用规格化方式,是一个纯小数普通采用规格化方式,是一个

15、纯小数尾数尾数MantissaMantissa、小数或分数、小数或分数FractionFractionMSB有效数字有效数字指数指数符号符号表示图表示图浮点数据格式浮点数据格式前往前往有效数字位数越多,表达数值的精度就越高有效数字位数越多,表达数值的精度就越高指数位数越多,表达数值的范围就越大指数位数越多,表达数值的范围就越大单精度浮点格式单精度浮点格式D23 D22D0D30D3123位有效数字位有效数字8位指数位指数符号符号双精度浮点格式双精度浮点格式D52 D51D0D62D6352位有效数字位有效数字11位指数位指数符号符号微机原理与接口技术第4版机械工业出版社2. 2. 浮点阶码浮点

16、阶码规范偏移码规范偏移码N N位偏移码真值位偏移码真值2N2N规范偏移码的真值偏移码规范偏移码的真值偏移码2N2NIEEE 754IEEE 754规范浮点阶码规范浮点阶码全全0 0、全、全1 1两个编码用作特殊目的两个编码用作特殊目的单精度浮点数据单精度浮点数据真值浮点阶码真值浮点阶码127127,浮点阶码真值,浮点阶码真值127127双精度浮点数据双精度浮点数据真值浮点阶码真值浮点阶码10231023浮点阶码真值浮点阶码真值10231023微机原理与接口技术第4版机械工业出版社3. 3. 规格化浮点数规格化浮点数通常运用的浮点数据是规格化浮点数通常运用的浮点数据是规格化浮点数有效数字表达的数

17、值:有效数字表达的数值:1.XXXXX1.XXXXX去除前导去除前导0 0最高位恒为最高位恒为1 1,隐含一个整数,隐含一个整数1 1小数点在最左端小数点在最左端有效数字只表达小数部分有效数字只表达小数部分11有效数值有效数值2 2微机原理与接口技术第4版机械工业出版社例例9-19-1把浮点格式数据转换为实数表达把浮点格式数据转换为实数表达某个单精度浮点数如下:某个单精度浮点数如下:BE580000HBE580000H1011 1110 0101 1000 0000 0000 0000 1011 1110 0101 1000 0000 0000 0000 0000 B0000 B1 01111

18、100 10110000000000000000000 B1 01111100 10110000000000000000000 B符号位为符号位为1 1,表示负数,表示负数指数编码是指数编码是0111110001111100,表示指数,表示指数1241241271273 3有效数字部分是有效数字部分是10110000000000000001011000000000000000表示有效数表示有效数1.1011 B1.1011 B1.68751.6875这个实数为:这个实数为:1.68751.68752 23 31.68751.68750.1250.1250.21093750.2109375微机原

19、理与接口技术第4版机械工业出版社例例9-29-2把实数转换成浮点数据格式把实数转换成浮点数据格式100.25100.250110 0100.01B0110 0100.01B1.10010001B1.10010001B2626符号位符号位0 0指数部分是指数部分是6 68 8位阶码为位阶码为10000101100001016 6127127133133有效数字部分是有效数字部分是1001000100000000000000010010001000000000000000100.25100.25表示成单精度浮点数为:表示成单精度浮点数为:0 10000101 1001000100000000000

20、0000B0 10000101 10010001000000000000000B0100 0010 1100 1000 1000 0000 0000 0100 0010 1100 1000 1000 0000 0000 0000 B0000 B42C88000H42C88000H微机原理与接口技术第4版机械工业出版社4. 4. 非规格化浮点数非规格化浮点数浮点格式的规格化数表达的实数有限浮点格式的规格化数表达的实数有限下溢下溢UnderflowUnderflow:比最小数还要接近:比最小数还要接近0 0上溢上溢OverflowOverflow:比最大数还要大:比最大数还要大单精度浮点规格化浮点

21、数范围单精度浮点规格化浮点数范围1.181403.4010381038非规格化浮点数非规格化浮点数指数编码为全指数编码为全0 0表示表示126126有效数字仅表示小数部分、但不能是全有效数字仅表示小数部分、但不能是全0 0可以表示到可以表示到1.401.4010104545非规格化浮点数表示下溢非规格化浮点数表示下溢微机原理与接口技术第4版机械工业出版社5. 5. 零和无穷大零和无穷大机器零:真值机器零:真值0 0的浮点数据格式的浮点数据格式指数和有效数字的编码都是全指数和有效数字的编码都是全0 0符号位可以是符号位可以是0 0或或1 1,分成,分成0 0和和0 0无

22、穷大:大于最大数的真值的规格化浮点数无穷大:大于最大数的真值的规格化浮点数指数编码为全指数编码为全1 1,有效数字编码为全,有效数字编码为全0 0正无穷大正无穷大和负无穷大和负无穷大非数非数NaNNaN:特殊的编码,不是实数的一部分:特殊的编码,不是实数的一部分指数编码是全指数编码是全1 1、有效数字编码不是全、有效数字编码不是全0 0表示图表示图浮点数据类型浮点数据类型前往前往正正正正微机原理与接口技术第4版机械工业出版社9.3.2 9.3.2 浮点存放器浮点存放器x87 FPUx87 FPU浮点执行环境的存放器浮点执行环境的存放器8 8个浮点数据存放器个浮点数据存放器标志存放器标志存放器形

23、状存放器形状存放器控制存放器控制存放器处置器需求存放器协助进展操作处置器需求存放器协助进展操作微机原理与接口技术第4版机械工业出版社1. 1. 浮点数据存放器浮点数据存放器8 8个浮点数据存放器,编号个浮点数据存放器,编号FPR0FPR0FPR7FPR78080位浮点存放器存储扩展精度格式数据位浮点存放器存储扩展精度格式数据采用早期处置器的堆栈构造采用早期处置器的堆栈构造8 8个数据存放器不是随机存取个数据存放器不是随机存取按照按照“后进先出的堆栈原那么任务后进先出的堆栈原那么任务并且首尾循环并且首尾循环浮点数据存放器常被称为浮点数据栈浮点数据存放器常被称为浮点数据栈每个每个FPRFPR存放器

24、对应一个存放器对应一个2 2位标志位标志TagTag8 8个标志组成一个个标志组成一个1616位标志存放器位标志存放器表示图表示图浮点数据存放器浮点数据存放器前往前往微机原理与接口技术第4版机械工业出版社2. 2. 浮点形状存放器浮点形状存放器堆栈标志堆栈标志TOPTOP字段指明当前栈顶字段指明当前栈顶SFSF和和C1C1表达堆栈上溢和下溢表达堆栈上溢和下溢C3/C2/C0C3/C2/C0保管比较结果保管比较结果异常标志:反映浮点运算能够出现的异常异常标志:反映浮点运算能够出现的异常PEPE精度异常精度异常UEUE下溢异常下溢异常OEOE上溢异常上溢异常ZEZE被零除异常被零除异常DEDE非规

25、格化操作数异常非规格化操作数异常IEIE非法操作异常非法操作异常微机原理与接口技术第4版机械工业出版社3. 3. 浮点控制存放器浮点控制存放器异常屏蔽控制异常屏蔽控制Mask ControlMask Control决议决议6 6种错误能否被屏蔽种错误能否被屏蔽x87 FPUx87 FPU初始化后默许屏蔽一切异常初始化后默许屏蔽一切异常精度控制精度控制Precision ControlPrecision Control控制浮点计算结果的精度控制浮点计算结果的精度程序通常采用默许扩展精度程序通常采用默许扩展精度舍入控制舍入控制Rounding ControlRounding Control控制浮点

26、计算采用的舍入类型控制浮点计算采用的舍入类型默许采用就近舍入偶默许采用就近舍入偶表示图表示图浮点形状和控制存放器浮点形状和控制存放器前往前往浮点形状存放器浮点形状存放器浮点控制存放器浮点控制存放器微机原理与接口技术第4版机械工业出版社舍入控制舍入控制RC舍入类型舍入类型舍入原则舍入原则0 0就近舍入(偶)就近舍入(偶)舍入结果最接近准确值。如果上舍入结果最接近准确值。如果上下两个值一样接近,就取偶数结下两个值一样接近,就取偶数结果(最低位为果(最低位为0)0 1向下舍入(趋向向下舍入(趋向-)舍入结果接近但不大于准确值舍入结果接近但不大于准确值1 0向上舍入(趋向向上舍入(趋向+) 舍入结果接

27、近但不小于准确值舍入结果接近但不小于准确值1 1向零舍入(趋向向零舍入(趋向0)舍入结果接近但绝对值不大于准舍入结果接近但绝对值不大于准确值确值微机原理与接口技术第4版机械工业出版社例例9-39-3把实数把实数0.20.2转换成浮点数据格式转换成浮点数据格式0.20.20.001100110011 B0.001100110011 B1.100110011 B1.100110011 B2 23 3符号位符号位0 0指数部分是指数部分是3 3,8 8位阶码为位阶码为0111110001111100有效数字是无限循环数有效数字是无限循环数取前取前2323位:位:1001100110011001100

28、110010011001100110011001100后面是后面是110011B110011B,默许最近舍入,进位,默许最近舍入,进位1 1有效数字编码是:有效数字编码是:1001100110011001100110110011001100110011001101这样,这样,0.20.2表示成单精度浮点数为:表示成单精度浮点数为:0 01111100 10011001100110011001101 B0 01111100 10011001100110011001101 B0011 1110 0100 1100 1100 1100 1100 1101 B0011 1110 0100 1100 1

29、100 1100 1100 1101 B3E4CCCCD H3E4CCCCD H微机原理与接口技术第4版机械工业出版社9.3.3 9.3.3 浮点指令及其编程浮点指令及其编程x87 FPUx87 FPU具有本人的指令系统具有本人的指令系统共有几十种浮点指令共有几十种浮点指令指令助记符均以指令助记符均以F F开头开头常用的指令类型:浮点传送指令、浮点算术常用的指令类型:浮点传送指令、浮点算术运算指令、浮点超越函数指令、浮点比较指运算指令、浮点超越函数指令、浮点比较指令和令和FPUFPU控制指令控制指令浮点指令的操作数寻址方式:浮点指令的操作数寻址方式: 隐含寻址:在当前数据存放器顶隐含寻址:在当

30、前数据存放器顶ST(0)ST(0) 存放器寻址:在指定的数据存放器栈存放器寻址:在指定的数据存放器栈ST(i) ST(i) 存储器寻址:在主存中存储器寻址:在主存中微机原理与接口技术第4版机械工业出版社1. 1. 浮点传送指令浮点传送指令取数指令取数指令FLDFLD从存储器或浮点数据存放器获得数据从存储器或浮点数据存放器获得数据并压入并压入PushPush浮点存放器栈顶浮点存放器栈顶st(0)st(0)存数指令存数指令FSTFST浮点数据存放器栈顶数据存入主存或另一个浮点数据存放器栈顶数据存入主存或另一个浮点数据存放器,存放器栈没有变化浮点数据存放器,存放器栈没有变化存数且出栈指令存数且出栈指

31、令FSTPFSTP执行相应存数指令功能执行相应存数指令功能并弹出并弹出PopPop浮点存放器栈顶浮点存放器栈顶表示图表示图浮点数据存放器栈的操作浮点数据存放器栈的操作前往前往微机原理与接口技术第4版机械工业出版社例例9-49-4浮点传送程序浮点传送程序1 1; ; 数据段数据段000000000000000042C88000 3E4CCCCD42C88000 3E4CCCCDf32df32dreal4 100.25,0.2real4 100.25,0.2; ; 单精度浮点数单精度浮点数0000000800000008BFCB000000000000BFCB000000000000f64df64

32、dreal8 -0.2109375real8 -0.2109375; ; 双精度浮点数双精度浮点数00000010000000104023BABAECD4000000004023BABAECD400000000f80df80dreal10 100.25e9real10 100.25e9; ; 扩展精度浮点数扩展精度浮点数0000001A0000001A00000000 0000000000000000 00000000varfvarfreal4 ?,?real4 ?,?00000022000000223E4CCCCD3E4CCCCDi32di32ddword 3e4ccccdhdword 3e

33、4ccccdh; 0.2; 0.2的编码的编码微机原理与接口技术第4版机械工业出版社例例9-49-4浮点传送程序浮点传送程序2 2; ; 代码段代码段finitfinit; ; 初始化初始化FPUFPUfld f32dfld f32d; ; 压入单精度浮点数压入单精度浮点数f32df32dfld f64dfld f64d; ; 压入双精度浮点数压入双精度浮点数f64df64dfld f80dfld f80d; ; 压入扩展精度浮点数压入扩展精度浮点数f80df80dfldpifldpi; ; 压入压入3.14159263.1415926fst varffst varf; ; 将栈顶数据将栈顶数

34、据传送到变量传送到变量VARFVARFfstp varf+4fstp varf+4; ; 将栈顶数据将栈顶数据弹出到变量弹出到变量VARF+4VARF+4微机原理与接口技术第4版机械工业出版社例例9-49-4浮点传送程序浮点传送程序3 3mov eax,dword ptr f32d+4mov eax,dword ptr f32d+4; ; 取取0.20.2二进制编码二进制编码cmp eax,i32dcmp eax,i32d; ; 比较编码能否一样比较编码能否一样jz dispyjz dispymov al,Nmov al,N; ; 不一样,显示不一样,显示N Njmp dispnjmp dis

35、pndispy:dispy:mov al,Ymov al,Y; ; 一样,显示一样,显示Y Ydispn:dispn:call dispccall dispc实数实数0.20.2在计算机中是在计算机中是3E4CCCCDH3E4CCCCDH微机原理与接口技术第4版机械工业出版社2. 2. 其他浮点指令其他浮点指令浮点算术运算指令浮点算术运算指令加加FADDFADD、减、减FSUBFSUB、乘、乘FMULFMUL、除、除FDIVFDIV求绝对值求绝对值FABSFABS、求平方根、求平方根FSQRTFSQRT等等浮点超越函数指令浮点超越函数指令计算正切计算正切FPTANFPTAN、正弦、正弦FSIN

36、FSIN、余弦、余弦FCOSFCOS等等求指数求指数F2XM1F2XM1、对数、对数FYL2XFYL2X等等浮点比较指令浮点比较指令检查浮点数据类型检查浮点数据类型FXAMFXAM、与零比较、与零比较FTSTFTST浮点数比较指令浮点数比较指令FCOMFCOM等等FPUFPU控制指令控制指令FPUFPU初始化初始化FINITFINIT、浮点空操作、浮点空操作FNOPFNOP等指令等指令微机原理与接口技术第4版机械工业出版社例例9-59-5计算圆面积的程序计算圆面积的程序1 1#include #include float area(float radius);float area(float

37、radius);int main()int main() float ftemp; float ftemp; cout coutftemp; cinftemp; coutendl coutendl该圆的面积是:该圆的面积是:t;t; coutarea(ftemp)endl; coutarea(ftemp)endl; return 0; return 0; 微机原理与接口技术第4版机械工业出版社例例9-59-5计算圆面积的程序计算圆面积的程序2 2float area(float radius)float area(float radius) float ftemp; float ftemp;/

38、 / 部分变量用于前往值部分变量用于前往值 _ _asm _ _asm / / 嵌入式汇编代码部分嵌入式汇编代码部分fldpifldpi; ; 压入栈顶压入栈顶fld fradiusfld fradius; ; 半径值半径值R R压入栈顶压入栈顶fmul st(0),st(0)fmul st(0),st(0); ; 乘积:乘积:R RR Rfmulfmul; ; 求出面积:求出面积:R2R2fstp ftempfstp ftemp; ; 弹出面积:弹出面积:R2R2 return(ftemp); return(ftemp); 微机原理与接口技术第4版机械工业出版社9.4 9.4 多媒体指令多媒

39、体指令多媒体技术多媒体技术将多媒体信息,经计算机设备的获取、编辑、将多媒体信息,经计算机设备的获取、编辑、存储等处置后,以多媒体方式表现出来的技存储等处置后,以多媒体方式表现出来的技术术多媒体指令多媒体指令利用一条多媒体指令可以同时处置多对数据利用一条多媒体指令可以同时处置多对数据实现大量数据快速并行处置实现大量数据快速并行处置关键技术:单指令多数据关键技术:单指令多数据SIMDSIMD构造构造也常称为也常称为SIMDSIMD指令指令丰富多彩的世界需求多媒体指令丰富多彩的世界需求多媒体指令微机原理与接口技术第4版机械工业出版社9.4.1 MMX9.4.1 MMX技术技术MMXMMXMultiM

40、edia eXtensionMultiMedia eXtension多媒体扩展多媒体扩展英特尔公司的处置器加强技术英特尔公司的处置器加强技术新增新增5757条多媒体指令,处置整型多媒体数据条多媒体指令,处置整型多媒体数据8 8个个6464位的位的MMXMMX存放器存放器MM0MM0MM7MM7处置紧缩整型多媒体数据的通用处置紧缩整型多媒体数据的通用MMXMMX指令指令针对多媒体数据处置的需求精心设计针对多媒体数据处置的需求精心设计表达单指令多数据表达单指令多数据SIMDSIMD特性特性微机原理与接口技术第4版机械工业出版社MMXMMX数据类型数据类型63630 0q0q0紧缩紧缩4 4字(字(

41、Packed QuadwordPacked Quadword)63633232 31310 0d1d1d0d0紧缩双字(紧缩双字(Packed DoublewordPacked Doubleword)63634848 47473232 31311616 15150 0w3w3w2w2w1w1w0w0紧缩字(紧缩字(Packed WordPacked Word)63635656 55554848 4747 4040 39393232 31312424 23231616 15158 8 7 70 0b7b7b6b6b5b5b4b4b3b3b2b2b1b1b0b0紧缩字节(紧缩字节(Packed B

42、ytePacked Byte)微机原理与接口技术第4版机械工业出版社环绕运算环绕运算Wrap-aroundWrap-around通常的算术运算:无符号数据的运算结果超通常的算术运算:无符号数据的运算结果超越其数据类型界限时,进展正常进位借位越其数据类型界限时,进展正常进位借位MMXMMX指令不能反映每个进位或借位指令不能反映每个进位或借位微机原理与接口技术第4版机械工业出版社饱和运算饱和运算无符号饱和运算:无符号饱和运算:1 17FFEH7FFEH0003H0003H8001H8001H不饱和不饱和2 20003H0003HFFFEHFFFEHFFFFHFFFFH饱和饱和3 37FFEH7FF

43、EH0003h0003h7FFBH7FFBH不饱和不饱和4 40003H0003HFFFEHFFFEH0000H0000H饱和饱和有符号饱和运算:有符号饱和运算:1 17FFEH7FFEH0003H0003H7FFFH7FFFH饱和饱和2 20003H0003HFFFEHFFFEH0001H0001H不饱和不饱和3 37FFEH7FFEH0003H0003H7FFBH7FFBH不饱和不饱和4 40003H0003HFFFEHFFFEH0005H0005H不饱和不饱和微机原理与接口技术第4版机械工业出版社乘加指令乘加指令微机原理与接口技术第4版机械工业出版社9.4.2 SSE9.4.2 SSE技

44、术技术SSESSE数据流数据流SIMDSIMD扩展扩展Streaming SIMD ExtensionsStreaming SIMD Extensions8 8个个128128位的位的SIMDSIMD浮点数据存放器浮点数据存放器XMM0XMM0XMM7XMM7一个一个3232位的控制形状存放器位的控制形状存放器MXCSRMXCSR具有具有7070条指令的条指令的SSESSE指令集指令集支持支持128128位紧缩单精度浮点数据位紧缩单精度浮点数据1271279696 95956464 63633232 31310 0d3d3d2d2d1d1d0d0紧缩单精度浮点数紧缩单精度浮点数(Packed

45、Single-precision Floating-pointPacked Single-precision Floating-point)微机原理与接口技术第4版机械工业出版社紧缩单精度浮点数的紧缩单精度浮点数的128128位操作方式位操作方式微机原理与接口技术第4版机械工业出版社9.4.3 SSE29.4.3 SSE2技术技术SSE2SSE2技术扩展双精度浮点并行处置才干技术扩展双精度浮点并行处置才干 7676条浮点条浮点SIMDSIMD指令指令6868条整型条整型SIMDSIMD指令指令一种一种128128位紧缩双精度浮点数据位紧缩双精度浮点数据4 4种种128128位位SIMDSIMD整型数据类型整型数据类型1271276464 63630 0q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论