




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第2章章 Intel IA-32/Intel 64处理器处理器结构与原理结构与原理2衡量衡量CPU的性能指标可以是的性能指标可以是其计算公式如下:其计算公式如下: 也可用也可用。其计算公。其计算公式如下:式如下:IPC:每时钟执行的指令条数。每时钟执行的指令条数。 CPI:每指令平均时钟数每指令平均时钟数2.1 提高处理器的性能提高处理器的性能3如何提高主频:如何提高主频:IA-32的流水线级数的流水线级数型号型号PentiumP6架构架构Pentium 4CoreNehalem流水级数流水级数512-1320311416主频主频MHz6620020003600266745如果各指令之间不
2、存在相关性,那么它们在流水线中如果各指令之间不存在相关性,那么它们在流水线中是可以并行执行的,这种指令间潜在的重叠就是是可以并行执行的,这种指令间潜在的重叠就是(Thread-Level Parallelism, ILP)。)。(1)结构相关)结构相关所谓结构相关(也称为名相关)是指不同指令同时所谓结构相关(也称为名相关)是指不同指令同时存取相同的寄存器或存储器,但这些指令间不存在数存取相同的寄存器或存储器,但这些指令间不存在数据流。据流。 6(2)数据相关数据相关某条指令的操作数依赖前一条或前几条指令的运行某条指令的操作数依赖前一条或前几条指令的运行结果,这就是所谓的结果,这就是所谓的。 A
3、=B+C D=3*A / 在数据在数据A上写后读上写后读 A=B+C B=D*2 / 在数据在数据B上读后写上读后写 A=B+C A=D*2 / 在数据在数据A上写后写上写后写7(3)控制相关控制相关控制相关可以看作是对指令指针寄存器的控制相关可以看作是对指令指针寄存器的RAW相关相关问题。问题。 取指阶段需要读指令指针寄存器,而分支语句会在取指阶段需要读指令指针寄存器,而分支语句会在执行阶段计算出新的转移地址写执行阶段计算出新的转移地址写入指令指针入指令指针寄存器,寄存器,于是当分支条件满足的时候,就出现下条指令读指令于是当分支条件满足的时候,就出现下条指令读指令指针寄存器(取指阶段)早于分
4、支语句写该寄存器(指针寄存器(取指阶段)早于分支语句写该寄存器(执行阶段)的情况。执行阶段)的情况。 8所谓超标量是指处理器中含有多条流水线,每个时钟所谓超标量是指处理器中含有多条流水线,每个时钟能够译码、发射、执行多条指令。显然,超标量技术能够译码、发射、执行多条指令。显然,超标量技术提高了处理器的提高了处理器的IPC,也进而减少了理想流水线,也进而减少了理想流水线CPI。在超标量流水线中,并行执行的流水线条数称为在超标量流水线中,并行执行的流水线条数称为。从。从Pentium到到Ivy Bridge处理器的超标度为处理器的超标度为24。 IFIDOFEXWBIFIDOFEXWBWBEXOF
5、IDIFI1I2I3I4I5I6I7I8I9IFIDOFEXWBIFIDOFEXWBIFIDOFEXWBIFIDOFEXWBIFIDOFEXWBIFIDOFEXWB9A=B+CP=A*2Q=D-E流水流水1流水流水2流水流水1流水流水2R=F-7A=B+CP=A*2Q=D-ER=F-7执行方向执行方向执行方向执行方向10 1112。MOV AX, 200MOV CX, AXMOV AX, 200MOV AX, 41213使用使用 SIMD指令指令128-bit RegistersA0B0C0+A1B1C1not usednot usednot usednot usednot usednot u
6、sednot usednot usednot used128-bit RegistersA3A2B3B2C3C2+A1A0B1B0C1C0+不使用不使用 SIMD指令指令14* MMX使用的是使用的是64位的位的 x87 浮点寄存器作为浮点寄存器作为MMX寄存器;寄存器;*SSE4使用了新的使用了新的128位的位的XMM寄存器,但是不使用寄存器,但是不使用MMX寄存器寄存器*SSE, SSE2和和SSE3使用了新的使用了新的128位的位的XMM 寄存器;也可用寄存器;也可用MMX寄存器寄存器*AVX使用了新的使用了新的256位的位的YMM 寄存器;也可用寄存器;也可用XMM寄存器,但是不使用寄
7、存器,但是不使用MMX寄存器寄存器15 GPU在浮点运算、并行计算等计算方面可以提在浮点运算、并行计算等计算方面可以提供数十倍乃至于上百倍于供数十倍乃至于上百倍于CPU的性能的性能 图形核心具有图形核心具有12个新设计的个新设计的EU(执行单元),(执行单元),它们包含更大的寄存器文件,用以提高并行性它们包含更大的寄存器文件,用以提高并行性和复杂着色的执行效率和复杂着色的执行效率 EU改进了并行分支技术来提高面对深度嵌套条改进了并行分支技术来提高面对深度嵌套条件下的并行化的效率件下的并行化的效率 图形核心无论在媒体处理还是图形核心无论在媒体处理还是3D方面因为提供方面因为提供了大量的固定功能的
8、硬件支持,使得在相同的了大量的固定功能的硬件支持,使得在相同的热能耗下,性能得以显著的提升。热能耗下,性能得以显著的提升。16ASAS处理器核心处理器核心支持支持HT的的IA-32处理器处理器2个逻辑处理器个逻辑处理器共享一个核共享一个核AS=IA-32结构状态结构状态AS处理器核心处理器核心传统多传统多IA-32处理器系统处理器系统每个处理器一每个处理器一个独立封装个独立封装AS处理器核心处理器核心1718Pentium EE IA-32处理器处理器ASAS执行引擎执行引擎执行引擎执行引擎LocalAPICL2 CacheL2 Cache总线接口总线接口总线接口总线接口系统总线系统总线ASA
9、SLocalAPICLocalAPICLocalAPICPentium D IA-32处理器处理器ASAS执行引擎执行引擎执行引擎执行引擎Local APICLocal APICL2 CacheL2 Cache总线接口总线接口总线接口总线接口系统总线系统总线ASAS执行引擎执行引擎执行引擎执行引擎Local APICLocal APICL2 Cache总线接口总线接口系统总线系统总线Core 2 Duo处理器处理器19CISC的缺点的缺点RISC的特点的特点RISC2.2 Pentium处理器处理器 80 x86系列微处理器兼容系列微处理器兼容 有有64位数据总线、位数据总线、 32位地址总线
10、,寻址空间位地址总线,寻址空间4GB。 RISC型超标量结构型超标量结构 具有超级流水线技术的高性能浮点运算器。具有超级流水线技术的高性能浮点运算器。 数据数据-代码分离式高速缓存,符合代码分离式高速缓存,符合MESI协议。协议。 增强的错误检测和报告功能。增强的错误检测和报告功能。 利用片上利用片上分支目标缓冲器分支目标缓冲器提高分支指令预测准确性。提高分支指令预测准确性。 常用的指令不采用微程序设计,而改用硬件实现。常用的指令不采用微程序设计,而改用硬件实现。 支持支持64位位外部数据总线突发传输方式外部数据总线突发传输方式 通过通过APIC总线支持多处理器系统总线支持多处理器系统 Pen
11、tium MMX(与浮点运算共用寄存器与浮点运算共用寄存器)2.2.1 Pentium处理器的特性处理器的特性分支目标分支目标缓冲器缓冲器 代码代码Cache 8KBTLB指令指令指针指针预取缓冲存储器预取缓冲存储器指令译码部件指令译码部件256位位总总 线线 接接 口口 部部 件件分页部件分页部件64位数位数据总线据总线 预取预取地址地址32位地位地址总线址总线控制控制控控 制制 部部 件件地址生成地址生成(U流水线)流水线)地址生成地址生成(V流水线)流水线)控制控制ROMALU(U流水线)流水线)ALU(V流水线)流水线)整数寄存器组整数寄存器组桶形移位器桶形移位器数据数据 Cache
12、8KBTLB浮点部件浮点部件控制控制寄存器组寄存器组加法器加法器除法器除法器乘法器乘法器80位位80位位分支检测和目标地址分支检测和目标地址64位数位数据总线据总线32位地位地址总线址总线32位位32位位32位位32位位32位位32位位2.2.2 Pentium处理器的内部结构与工作原理处理器的内部结构与工作原理n整数处理部件整数处理部件n浮点处理部件浮点处理部件n分离型分离型cahcen指令预取指令预取n指令配对指令配对 下面是连续传送下面是连续传送100个字节的循环程序段个字节的循环程序段 MOV SI,0200H ;源数据区偏移地址给;源数据区偏移地址给SI MOV DI,0500H ;
13、目的数据区偏移地址给;目的数据区偏移地址给DI MOV CX,64H ;待传送字节数为;待传送字节数为100,赋给,赋给CXABC:MOV AL,SI ;从源区取出一个字节;从源区取出一个字节 MOV DI,AL ;存入目的数据区;存入目的数据区 INC SI ;源地址指针加;源地址指针加1 INC DI ;目的地址指针加;目的地址指针加1 DEC CX ;CX=CX-1 JNZ ABC ;若;若CX0,转,转ABC 配对的指令必须是简单指令配对的指令必须是简单指令 两条指令之间不可存在两条指令之间不可存在“写后读写后读”或或“写后写写后写”这这样的寄存器相关性样的寄存器相关性 一条指令不能同
14、时既包含位移量又包含立即数一条指令不能同时既包含位移量又包含立即数 带前缀(带前缀(JCC指令的指令的0F除外)的指令只能出现在除外)的指令只能出现在U流水中流水中 浮点运算指令不能和任何指令配对(浮点运算指令不能和任何指令配对(FCXH除外)除外)MOV AX, 200MOV CX, AXMOV AX, 200MOV AX, 412 Pentium III处理器内部结构及工作原理处理器内部结构及工作原理 Pentium 4处理器内部结构及工作原理处理器内部结构及工作原理 302.3 Core微结构的处理器微结构的处理器 4 个个14级流水线级流水线兼容兼容32位的位的64位设计位设计3132
15、 宽位动态执行宽位动态执行() 2.3.3 酷睿酷睿2处理器新技术处理器新技术33 宽位动态执行宽位动态执行for ( i=0; i100000; i+) Instruction Queueadd ecx, 1dec0Cycle 1dec1dec2dec3dec034 宽位动态执行宽位动态执行for ( i=0; i100000; i+) Instruction Queuedec0dec1dec2dec335 宽位动态执行宽位动态执行u-ops of a Store “mov mem1 ,edx”微代码融合有效地微代码融合有效地“加宽加宽”了流水线了流水线36 智能功效管理(智能功效管理(In
16、telligent Power Capability) CPUL1CacheL2CacheL3CacheMemory37Proc60%/年年.(2X/1.5年年)DRAM9%/年年.(2X/10年年)11010010001980 19811983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000DRAMCPU1982性性 能能 Intel 智能内存访问智能内存访问(Intel Smart Memory Access) 38 Intel 智能内存访问智能内存访问() Memor
17、yData YData ZData WData XLoad2YStore3WStore1 YLoad4X39 Intel 智能内存访问智能内存访问(Intel Smart Memory Access)nL1D是是3 clk的延迟和的延迟和1 clk的通过时间的通过时间; L2是是14和和2 clknCache失效延迟失效延迟uL1 失效后去读失效后去读 L2 10 cyclesuL2 失效失效, 存取存储器存取存储器 300 cycles (server/FBD)uL2 失效失效, 存取存储器存取存储器 165 cycles (Desk/DDR2)nCache 带宽带宽uCache带宽带宽 8
18、.5 bytes/cyclen存储带宽存储带宽u桌面系统桌面系统 6 GB/sec/socket (linux)u服务器服务器 3.5 GB/sec/socket40 Intel高级智能高级智能Cache () 带来了新的双核结构带来了新的双核结构ASAS执行引擎执行引擎执行引擎执行引擎Local APICLocal APICL2 Cache总线接口总线接口前端总线前端总线ASAS执行引擎执行引擎执行引擎执行引擎Local APICLocal APICL2 CacheL2 Cache总线接口总线接口总线接口总线接口前端总线前端总线Cache LineCache LineNehalem(第一代酷
19、睿第一代酷睿)442.4 SandyBridge微结构的处理器(第二代)微结构的处理器(第二代)46 SandyBridge采用片上系统设计采用片上系统设计,提供了一个高带宽双向环状总,提供了一个高带宽双向环状总线来连接线来连接IA核与非核中不同的子核与非核中不同的子系统系统u环形总线由四条独立的环组成环形总线由四条独立的环组成SandyBridge的的Graphics部分主要包含了部分主要包含了n3D晶体管结构n22nmn22nm工艺新架构,性能更强,超频潜力更大,而且集成了完整的电压调节器;n新的指令集,Haswell添加了新的AVX指令集,改善AES-NI的性能;n核芯显卡增强,支持DX
20、11.1、OpenCL1.2,优化3D性能,支持HDMI、DP、DVI、VGA接口标准;n接口改变,使用LGA1150接口,不兼容旧平台。nHaswell最大的卖点就是在大幅度提升性能的同时,也实现了功耗的进一步降低。 492.5 IA-32处理器基本执行环境处理器基本执行环境 2.5.1 IA-32处理器的工作模式处理器的工作模式 50 比较项目比较项目实地址模式实地址模式虚拟虚拟8086模式模式内存管理内存管理分段管理分段管理既分段又分页既分段又分页存储空间存储空间1MB每个每个8086程序任务寻址程序任务寻址1MB,总寻,总寻址空间址空间4GB多任务多任务不支持不支持支持,虚拟支持,虚拟
21、8086模式是模式是IA-32保护模保护模式中多任务的一个任务式中多任务的一个任务51521. IA-32的基本数据类型的基本数据类型类类 型型位数位数无符号数范围无符号数范围有符号数范围有符号数范围字节字节80255-128+127字字16065535-32768+32767双字双字320232-1(4G-1)-231+231-1四字四字640264-1(16T-1)-263+263-12.5.2 IA-32处理器在实地址模式下的存储管理处理器在实地址模式下的存储管理53类型类型符号符号位数位数有效有效位数位数阶码阶码位数位数数据范围数据范围单精度浮点数单精度浮点数12481.1810-38
22、 3.40 1038双精度浮点数双精度浮点数153112.2310-308 1.7910308扩展精度浮点数扩展精度浮点数164163.3710- 4932 1.181049325455562.存储单元的地址和内容存储单元的地址和内容,即一个字节数据占一个存储,即一个字节数据占一个存储单元单元57存储单元的地址和内容存储单元的地址和内容12H34H56H78H9AHBCHDEHFFH0000H0001H0002H0003H0004H0005H0006H0007H583. 实地址模式存储器寻址实地址模式存储器寻址 在此模式下,在此模式下,IA-32可以理解成是一个可处理可以理解成是一个可处理32
23、位数位数据的高速的据的高速的8086。 解决解决16位寄存器表示位寄存器表示20位地址的问题位地址的问题 段是最大长度为段是最大长度为64KB的连续的内存储器块的连续的内存储器块 每个存储单元的每个存储单元的20位实际地址,有唯一位实际地址,有唯一性,访问主存时必须用物理地址性,访问主存时必须用物理地址 每个存储单元的地址用两部分表示:每个存储单元的地址用两部分表示: (段首址的高(段首址的高16位)位) (段内某单元相对段首址的地址差,也称(段内某单元相对段首址的地址差,也称为有效地址为有效地址EA)5900006417H 0100H 6417H10H + 0100H = 64170H +
24、0100H = 64270H几个不同的逻辑段地址在物理地址上是可重叠的几个不同的逻辑段地址在物理地址上是可重叠的 书写形式:书写形式:16位段地址位段地址16位段内偏移位段内偏移:16位段地址位段地址16位段内偏移位段内偏移(左移四位)(左移四位)+20位物理地址位物理地址=602.5.3 IA-32处理器中的寄存器处理器中的寄存器 调试与测试寄存器调试与测试寄存器浮点寄存器浮点寄存器61AH ALBH BLCH CLDH DLSPBPDISI累加器累加器基址变址基址变址计数计数数据数据堆栈指针堆栈指针基址指针基址指针目的变址目的变址源变址源变址32位位16位位AXBXCXDXSPBPDISI
25、16位名称位名称EAXEBXECXEDXESPEBPEDIESI32位名称位名称高高16位扩展位扩展62存放操作数和结果,乘除运算、存放操作数和结果,乘除运算、I/O指令中特指指令中特指 查表转换和间接寻址时存查表转换和间接寻址时存放基址放基址 串操作和循环中做计数串操作和循环中做计数 乘除运算、乘除运算、I/O指令中特指指令中特指 可以可以32位、位、16位或位或8位形式访问,例如,位形式访问,例如, EAX可使用可使用16位的位的AX,也可以使用,也可以使用8位的位的AH、AL63,存放栈顶地址,存放栈顶地址,存放栈段基地址,存放栈段基地址 存放地址的偏移量,也可存放操作数,存放地址的偏移
26、量,也可存放操作数, 6465 段寄存器均为段寄存器均为16位的寄存器位的寄存器 用于存储器寻址,存放段的开始地址用于存储器寻址,存放段的开始地址 在在64位模式下,位模式下,FS, GS无效,无效,CS, DS, ES, SS均指向基地址为均指向基地址为0的的“段段”。堆栈段堆栈段数据段数据段附加段附加段代码段代码段一个完整的程序一个完整的程序66 IA-32的的6个个16位的段寄存器,专门存放段基地位的段寄存器,专门存放段基地址:址: 用户可以同时使用用户可以同时使用6个段,段间可以邻接、部个段,段间可以邻接、部分重叠、分重叠、 重叠或不相邻,但注意,段的实体重叠或不相邻,但注意,段的实体
27、(被实际使用的段空间)是不能重叠的。(被实际使用的段空间)是不能重叠的。67段段默认段默认段寄存器寄存器16位偏移位偏移32位偏移位偏移代码段代码段CSIPEIP数据段数据段DSBX、SI、 DI、一个一个8或或16位位数数EAX、EBX、ECX、EDX、 EDI、 ESI、一个、一个8或或32位数位数 堆栈段堆栈段SSSP或或BPESP或或EBP附加段附加段ESFSGSDI无默认无默认无默认无默认EDI(用于串指令)(用于串指令)无默认无默认无默认无默认68n堆栈是内存中堆栈是内存中“先入后出先入后出”、最大空间为最大空间为64KB的存储区域,采用自底向上的存储区域,采用自底向上生成堆栈,生
28、成堆栈,n栈区最高地址栈区最高地址-1的单元为的单元为,最后进栈数据,最后进栈数据所对应的地址单元为所对应的地址单元为nSS指向栈的起始单元指向栈的起始单元(地址最小的单元)(地址最小的单元)n将数据送入将数据送入堆栈叫堆栈叫,从栈中取出数据叫,从栈中取出数据叫,均以字,均以字(16位或位或32位位)为单位为单位6970:即程序计数器,指向即程序计数器,指向指令在代码段中的偏移量指令在代码段中的偏移量16位的位的IP高高16位扩展位扩展32位指令指针寄存器位指令指针寄存器EIP32位的位的EIP高高32位扩展位扩展64位指令指针寄存器位指令指针寄存器RIP71:记录系统运行中的各种状态:记录系
29、统运行中的各种状态 和信和信息。由各种息。由各种构成,反映运算后的结果构成,反映运算后的结果特征,将影响某些指令(如条件转移指令)特征,将影响某些指令(如条件转移指令)的执行。的执行。72 b15 b8 b7 b0 OF DF IF TF SF ZF AF PF CF符号符号 名称名称 值为值为“1”的条件的条件 73思考题:以下的几个思考题:以下的几个4位十六进制数相加,会使得位十六进制数相加,会使得8088状态寄存器的以下几位为什么值?状态寄存器的以下几位为什么值?PFAFZFSF8000H8000H+0000HC000HC000H+8000H4008H4008H+8010H0808HC0
30、00H+C808H101010010101000174 进位标志进位标志CF是表示是表示是否超出范围是否超出范围,如,如CF=1,运算结果仍然正确;,运算结果仍然正确; 溢出标志表示的是溢出标志表示的是运算结果是否超运算结果是否超出范围,超出范围则运算结果已经不正确;出范围,超出范围则运算结果已经不正确; 处理器对两个操作数进行运算的时候是按照处理器对两个操作数进行运算的时候是按照求得结果,并相应设置求得结果,并相应设置CF,根据,根据是否超出有符号数的范围设置是否超出有符号数的范围设置OF;1. 对于程序员,如果做无符号运算,应该关心对于程序员,如果做无符号运算,应该关心CF,做有符号运算应
31、该关心,做有符号运算应该关心OF。75符号符号 名称名称 值为值为“1”的条件的条件 OF31 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0DF IF TF SFZFAFCFPFIOPLNTRFVMACVIFVIPID保保 留留010076当机器复位的时候当机器复位的时候CS=FFFFH,EIP, DS, ES, SS, FS, GS以及以及EFLAGS寄存器被清零。因为复位之寄存器被清零。因为复位之后后CS:EIP= FFFF:00000000,因此机器复位或开,因此机器复位或开机后,都会自动从这个地址开始取指令,这里应机后,都会自动从这个地址开始取指令,这里应该是该是BIOS的第一条指令。的第一条指令。 31 12 11 4 3 0PWTPC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 微专题14 导数解答题之函数型数列不等式问题 -2025年新高考数学二轮复习微专题提分突破140分方案
- 2025届广东省惠州市高三上学期三调生物试题及答案
- 2025年度多功能车库租赁合同范本(含停车与维修服务)
- 2025年度商业企业购销合同印花税税率调整与税务风险防范协议
- 2025年度代付农民工工资保障服务合同模板
- 2025年度公司法人挂名品牌授权合同
- 2025年度劳动仲裁调解协议范文:智能制造领域员工纠纷处理指南
- 2025年惠州城市职业学院单招职业适应性测试题库附答案
- 2025年澳大利亚数字商务消费者见解报告(英文版)-Wunderkind
- 2025年度宅基地永久转让与农村旅游项目投资合同
- 2025年度iPhone手机租赁与虚拟现实体验合同3篇
- 2025年度消防工程安全防护措施设计固定总价合同范本3篇
- 苏北四市(徐州、宿迁、淮安、连云港)2025届高三第一次调研考试(一模)语文试卷(含答案)
- 食品企业危机管理应对方案
- 《无创呼吸机护理》课件
- 2024年济南广播电视台招聘工作人员笔试真题
- 2025年临床医师定期考核必考复习题库及答案(1060题)
- 市场消防安全课件
- 名师工作室建设课件
- 腹膜透析管理标准操作规程
- 2025-2025学年度人教版小学五年级美术下册教学计划
评论
0/150
提交评论