第4章(书上第5章)-第8-9节补充阅读



《第4章(书上第5章)-第8-9节补充阅读》由会员分享,可在线阅读,更多相关《第4章(书上第5章)-第8-9节补充阅读(44页珍藏版)》请在文档大全上搜索。
1、影响影响CPU性能的若干主要因素性能的若干主要因素n字长(位数)字长(位数)n指通用寄存器和定点运算器的宽度(即二进制整数运算的位数)指通用寄存器和定点运算器的宽度(即二进制整数运算的位数)(64位位)n指令系统指令系统n指令的类型、数目和功能等都会影响程序的执行速度指令的类型、数目和功能等都会影响程序的执行速度 (Intel 64)n逻辑结构逻辑结构nCPU包含的定点运算器和浮点运算器的数目、采用的流水线结构和级数、包含的定点运算器和浮点运算器的数目、采用的流水线结构和级数、指令分支预测的机制、执行部件的数目等指令分支预测的机制、执行部件的数目等n内核数目内核数目 (4个)个)n高速缓存(高
2、速缓存(cache)的容量与结构)的容量与结构 (L2:4MB )n主频(主频(CPU内部时钟频率)内部时钟频率)n指指CPU芯片中电子线路(门、触发器)的工作频率,它决定着芯片中电子线路(门、触发器)的工作频率,它决定着CPU芯片芯片内部数据传输与操作速度的快慢内部数据传输与操作速度的快慢 (2.33 GHz)nCPU总线速率总线速率nCPU总线(前端总线)传输速率:决定着总线(前端总线)传输速率:决定着CPU与内存之间传输数据的速与内存之间传输数据的速度快慢度快慢 FSB速率外部时钟频率速率外部时钟频率 x 传输次数传输次数/周期周期 x 数据线宽度数据线宽度 333MHz x 4次次 x
3、 8B 1333 x 8 10.67GB/s体体系系结结构构逻逻辑辑实实现现物物理理实实现现提高提高CPU性能的措施性能的措施 提高提高IC速度速度 改进逻辑结构改进逻辑结构 超标量结构超标量结构 流水线处理流水线处理 Cache存储器存储器 超线程技术超线程技术 多核处理器多核处理器1. 超标量结构超标量结构Pentium 4 处理器的逻辑结构处理器的逻辑结构 指令译码器指令译码器整整 数数 寄寄 存存 器器 组组L2cache(48GB/s) L1数据数据cache(8KB) 浮浮 点点 寄寄 存存 器器 组组慢慢ALU复杂指令复杂指令2xALU简单指令简单指令2xALU简单指令简单指令2
4、xAGU存地址存地址浮点存浮点存浮浮 点点 取取2xAGU取地址取地址MMXSSE/SSE2浮点加浮点加浮点乘浮点乘浮点除浮点除跟踪跟踪cache分支预测器分支预测器执行跟踪执行跟踪cache(12000微操作微操作)微码微码ROM微操作队列微操作队列微操作队列微操作队列指令预取部件指令预取部件动态分支预测器动态分支预测器前前端端总总线线256位,时钟频率位,时钟频率64位位,时钟频率时钟频率总线总线接口部接口部件件预取预取控制逻控制逻辑辑寄寄 存存 器器 组组运算器(运算器(ALU)指令部件(指令寄存器、译码器等)指令部件(指令寄存器、译码器等)总线接口总线接口Intel NetBurst
5、MicroarchitectureCore Microarchitecture128 Entry ITLB32KB I-cacheInstruction Fetch UnitX86 Instruction Pre-decode Fetch bufferComplex decoderComplex decoderComplex decoderComplex decoderComplex decoder7-Entry mop buffer1 mops4 mops1 mops1 mopsRegister Alias Table and Allocator96-Entry Reorder Buffer
6、 (ROB)32-Entry Reservation StationALU .4 mops4 mops4 mops128 Bit SSE128 Bit FADDALU Shift128 Bit SSE128 Bit FMULALU Shift128 Bit SSEStore DataStore AddrLoad AddrMemory reorder buffer (MOB)256 Entry DTLB32KB dual ported D-cacheRetirement Register File4 mops4 MB shared cacheShared Bus Interface Unit25
7、6128Intel Core Pentium 4 的寄存器的寄存器通通 用用 寄寄 存存 器器 数据段存器数据段存器 DS 附加段存器附加段存器 ES 堆栈段存器堆栈段存器 SS 代码段存器代码段存器 CS专专 用用 寄寄 存存 器器存放指令执行后存放指令执行后的状态,如:的状态,如:有无进位有无进位是否溢出是否溢出是否为是否为0是否为正是否为正每个寄存器用途可由每个寄存器用途可由程序程序/指令指定指令指定用于存放用于存放8位、位、16位位或或32位的操作数位的操作数可直接送至可直接送至ALU参与参与算术或逻辑运算算术或逻辑运算结果仍写回寄存器结果仍写回寄存器 标志寄存器标志寄存器EFLAFS
8、Pentium 4的浮点寄存器的浮点寄存器 和和MMX及及XMM寄存器寄存器n8个个80位的浮点数寄存器,用于存放:位的浮点数寄存器,用于存放:n32位、位、64位或位或80位的浮点数位的浮点数n80位表示的紧凑位表示的紧凑BCD整数整数n64位的二进制整数位的二进制整数n8个个64位的位的MMX寄存器,用于存放寄存器,用于存放MMX指指令所处理的令所处理的64位长度的位长度的SIMD操作数操作数n8个个128位的位的XMM寄存器,用于存寄存器,用于存放放SSE指令处理的指令处理的128位的位的SIMD操操作数作数Pentium 4的超标量执行部件的超标量执行部件n采用超标量(采用超标量(su
9、perscalar)结构,一共包含)结构,一共包含9个个ALU,均可同时工作:,均可同时工作:n2个高速整数个高速整数ALU(每个时钟周期进行每个时钟周期进行2次操作次操作), 用于完成简单的整数运算用于完成简单的整数运算(如加、减法如加、减法)n1个慢速整数个慢速整数ALU(需要多个时钟周期才能完成需要多个时钟周期才能完成1次操作次操作),用于完成整数乘、除法运算,用于完成整数乘、除法运算n2个地址生成部件(个地址生成部件(AGU),用于计算操作数的有效地址,所生成的地址分别用于从内),用于计算操作数的有效地址,所生成的地址分别用于从内存取操作数或向内存保存操作结果存取操作数或向内存保存操作
10、结果n1个个ALU用于完成浮点操作数地址的计算用于完成浮点操作数地址的计算n1个个ALU用于完成浮点加法、乘法和除法运算用于完成浮点加法、乘法和除法运算n1个个ALU用于执行流式的用于执行流式的SIMD处理(处理(SSE/SSE2/SSE3指令)指令) n1个个ALU用于完成多媒体信号处理(用于完成多媒体信号处理(MMX指令)指令)整整 数数 寄寄 存存 器器 组组 L1数据数据cache(8KB)FP/MMX/XMM 寄存器寄存器慢慢ALU复杂复杂指令指令2xALU2xALU简单简单指令指令2xAGU存地址存地址浮点浮点 存存浮浮 点点 取取2xAGU取地址取地址MMXSSESSE2SSE3
11、浮点加、浮点加、减、乘、减、乘、除等运算除等运算简单简单指令指令对整数寄对整数寄存器内容存器内容进行运算进行运算对浮点寄对浮点寄存器内容存器内容进行运算进行运算超标量结构的工作过程超标量结构的工作过程n多重指令启动:在一个时钟周期内能够启动多条指令交给执多重指令启动:在一个时钟周期内能够启动多条指令交给执行部件执行行部件执行浮点部件访存部件指令启动指令预取定点运算2. 流水线处理流水线处理TT0 T1 T2 T3 T4 T5 T6 T7 T8 T9I6I5I4I3指令的流水线执行指令的流水线执行指令指令1(I1)指令指令2(I2)指令指令3(I3)I2指令的顺序执行:指令的顺序执行:I1指令的