现代微机结构64位处理器.ppt_第1页
现代微机结构64位处理器.ppt_第2页
现代微机结构64位处理器.ppt_第3页
现代微机结构64位处理器.ppt_第4页
现代微机结构64位处理器.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

Alpha 21064 和 MIPS R4000,第四章 64位微处理器,64位处理器的先驱:,相继有:, HP的PA-RISC 8000系列 Alpha 2164 Sun的UltraSPARC IBM的Power G4 Intel的 Itanium (HP与Intel合作) AMD的 Opteron和 Athlon 64,一、Itanium 处理器,基于EPIC(EPIC_Explicitly Parallel nstruction Computing; 显性并行指令计算)的Itanium体系结构(2001年5月)。,Itanium体系结构设计基于如下的原则: 实现持续高性能; 随着技术发展而进一步提高性能潜力; 支持显性并行指令计算(EPIC); 提供一系列有利于增强指令级并行的特性; 重点放在提高应用软件实际运行的性能。,EPIC既不是RISC也不是CISC, 是一种吸收两者优势的一种体系结构。,(一) Itanium1的主要特点:,1、显性并行指令计算(EPIC),乱序执行技术是当前32位处理器和64位RISC芯片设计的主流;,但缺点是(Intel公司认为):,(1) 要求处理器具有较高的智能和复杂的逻辑, 使芯片的结构越来越复杂, 也妨碍了主频和性能的提高; (2) 设计难度越来越大, 使芯片的设计周期越来越长, 难以满足应用发展的需要; (3) 处理器运行时, 未充分利用编译技术来提高指令并行度, 使软硬件相结合的能力没有得到充分发挥。,EPIC体系结构的基本设计思想是: (1) 利用编译程序和处理器协同能力, 来提高指令并行度。,(2) 简化芯片逻辑结构, 进一步提高主频和性能。,EPIC体系结构采用充分利用编译程序提供的信息和调度能力来提高指令并行度(如: 编译时所产生程序运行线路的猜测信息、编译程序对程序执行过程的调度能力)。,同时保证在程序运行过程中发现猜测和调度有错时, 处理器仍然给出正确的结果。, 存储编译程序提供的信息 为提高并行计算效率所需的处理单元 大容量高速缓存(三级Cache: L0 L1 L3) 128个64位整数寄存器 128个82位浮点寄存器 64个1位预测寄存器 8个转移寄存器 128个专门的应用寄存器。,每条指令可引用2个输入寄存器和1个输出寄存器。,2、指令集的体系结构, 引入64位寻址和新的指令集, 也包含一个IA-32模式的指令集, 所有IA-64处理器都能执行IA-32程序;, 指令长度41位;, 采用存取式体系结构;, 由编译程序, 把可并行执行程序段提交给硬件, 以提高处理器并行执行指令的能力;,即“指令断定”的技术(指令预测的改进):,重排指令顺序, 使多个分支能同时执行。,编译程序还具有消除某些转移指令的能力, 以提高指令效率。,比如: IA-64设置一条比较指令来产生预测结果。该指令可以抽象为以下形式: pT, pF CMP(crel r2, r3) 该指令用比较规则crel比较r2和r3。比较结果写入预测寄存器pT, 相反状态写入预测寄存器pF。 对于指令: if (ab) then c=c+1 else d=de+f 用以下三条指令完成: pT, pF = CMP(ab) if (pT) c=c+1 if (pF) d=de+f 从而消除了转移。此外, 编译程序可以让第二条和第三条指令并行执行, 然后视pT和pF的状态, 采用正确结果。, 每条指令需要有一个6位的预测标识符, 从一个64项的预测寄存器中选择一个预测结果, 支持实现指令断定执行、高效函数调用和软件流水线等一系列先进功能。,3. 高并行性,Itanium1允许以包(bundels)的形式(每个包有3条指令)发射不相关的、可并行执行的指令, 每个时钟周期可发射2个包, 即每时钟周期发射6条指令。,但由于资源的限制, 发送6条指令的概率为25%, 每周期平均发送3.85条指令。,(二) Itanium2 的主要特点,其性能在不经过任何调试和优化的条件下比Itanium1提高50%到100%。 速度更快的高速缓存系统、每秒执行更多指令的能力以及与系统其它组件间更高的通信带宽。,1、新的高速缓存结构 更高效检索机制, 约为Itanium1 Cache的2倍 片内集成3MB L3高速缓存,2、每时钟周期执行更多指令 Itanium2每个时钟周期最多也能发送6条指令,但发送6条指令的概率为90%, 平均可以发送5.7条指令。,3、更高的并行能力 增加了2个指令整数单元, 进一步提高了指令并行能力。,4、提高了带宽和吞吐量 前端总线频率由266MHz提高到400MHz、带宽由64位提高到128位, 整体带宽提高了3倍。,Itaniuml 和Itanium2的基本参数对照:,二、PowerPC 970处理器,PowerPC970是Apple第5代产品(Apple Power Mac G5), 属于RISC体系的64位处理器, 是第一种进入个人电脑领域的64位处理器。,0.13微米的生产工艺(Prescott为0.09微米), 结合了SOI与9层铜导线互连 (Prescott 采用7层铜互连)。,1. 执行单元 2个整数运算单元和2个双精度浮点运算单元 超标量体系结构 8级流水线结构 硬件调度的指令乱序执行,2. 缓存系统 采用64KB一级数据缓存, 64KB一级指令缓存, 512KB二级缓存, 系统工作时, L1数据缓存可以同时预先读取8个数据。,3. 1GHz前端总线频率,比较: Pentium4前端总线频率经历了从400MHz 533MHz 800MHz的过程。,4. 高分支预测精度 精度达95的分支预测逻辑,数据带宽达8GB/s。,PowerPC的设计理念与IA-64有三点主要差异:, PowerPC的设计更注重线程级并行而不是指令级并行, 因此不追求很高的流水线级数; 通过硬件实现指令乱序比静态EPIC更有效; 系统的瓶颈在于处理器与存储器的接口, 而不是处理器指令执行的速度。,三、AMD 64位处理器,(一) AMD 64位Opteron处理器(皓龙),1. 主要技术特点 (1) 既可以运行32位程序, 也可以运行64位程序, 并且在64位模式下, 兼容X86指令集, 与SSE2技术全兼容。,(2) 直接连接结构(Direct Connect Architecture)减少系统瓶颈。包括:, 存储器与CPU直接连接, 以优化存储器性能; I/O与CPU直接连接, 有利于I/O吞吐量; CPU直接与CPU连接, 有利于SMP的设计。,Opteron处理器结构框图:,(3) HyperTransport 技术 HyperTransport技术是指: 高速、高性能的主板上点对点互连集成电路。这一技术在同等条件下比PCI总线的速度有显著提高。 HyperTransport为在处理器、I/O、子系统与它芯片之间的互联提供了可伸缩的带宽。 Opteron可支持达3条的HyperTransport关联链路, 为处理器提供了19.2 GB/s的带宽。 (4) 采用90nm SOI 工艺技术, 为L1和 L2 数据Cache提供ECC校验 (Error Correcting Code). (5) 三个整数执行单元(12级流水线)和三个浮点执行单元(18级流水线)。,2. AMDx86的64位扩展 (1) 指令扩展 通常所说的64位指令, 并不是指指令的全长或操作码的长度为64位, 而是指操作数所能达到的最大位数为64位。 AMD64在进行64位扩展时, 将8个通用寄存器增加到了64位, 同时将指令指针和地址长度增加到64位。 为x86-64架构添加了一个称为“长模式”的新模式, 以便扩展标准的x86架构。 长模式由一个称为LMA(长模式有效Long Mode Active)的控制位来启动。,当LMA关闭时(LMA=0): 处理器按照标准x86处理器工作, 即传统模式。这时处理器与所有的16、32位操作系统以及应用程序兼容, 不能执行64位功能。 如果长模式启动(LMA=1): 64位处理器的扩展便可进行操作, 使系统按照处理器的能力自动重新配置。,长模式包含两种子模式: 64位模式和兼容模式。 用户可以利用代码段描述子中的两个标志来设定这两种模式的代码。,如果启动长模式: 设定L=1且D=0, 则按照64位模式进行操作。 设定L=0, 处理器便按照兼容模式进行操作。操作系统可与现有的16位及32位x86应用程序二进制兼容, 应用程序可获的采用长模式的64位操作系统支持, 而无需重新编译。,第一个标志是代码段描述子中的“D”位; 第二个位称为“L位”, 是代码段描述子中并未使用的位(位53), 它用以确定应用程序能否获得64位架构的支持。,兼容模式与64位模式的不同点: 兼容模式采用了16位或32位的保护模式规则, 从应用程序的角度来看, 兼容模式沿用了旧的x86保护模式。从操作系统来看, 地址变换、中断以及系统数据结构都采用64位长模式机制。 64位模式支持64位虚拟地址空间, 因此需要采用64位的操作系统及相应工具。部分指令操作码及前缀字节为此也需要重新设定, 以便可以将寄存器扩展并执行64位寻址功能。,(2) 寄存器扩展 AMD的x86-64架构将目前用于16位以及32位指令的寻址方式进行扩展。 用于16位操作, 寄存器A的2个字节定义为AX 用于32位操作, 寄存器A的4个字节定义为EAX 用于64位操作,寄存器A的8个字节定义为RAX 在64位模式操作时, 通用寄存器扩展至64位, 即RAX、RBX、RCX、RDX、RDI、RSI、RBP、RSP、RIP、以及RFLAGS。 此外, 新添加了8个64位通用寄存器R8R15。 寄存器扩展还增加8个新的SIMD寄存器XMM8至XMM15。,(二) AMD Athlon64 位处理器(速龙),AMD的64位桌面型处理器, 其基本结构和工作模式与Opteron处理器基本相同。 AMD双核Athlon64处理器 Athlon64 X2,Athlon 64 X2内部整合了两个重要部件: 仲裁部件(System Request Queue -SRQ) 作用是对两个核心的任务进行仲裁 交叉开关(Crossbar Switch) 其作用是对两个核心之间的通信进行协调,仲裁模块和交叉开关 与 内存控制器以及Hyper Transport配合, 可让每个核心都有独享的I/O带宽、避免资源争抢, 减少内存延迟。硬件自动完成任务在两个核之间分配。,Athlon 64 X2内部架构如下图所示:,AMD双核心强调是真正将两个核心整合在一个硅晶片上, 更真正发挥双核心效率。这种结构的另一个优点是, 由于Athlon 64 X2两颗核心并不需要通过外部FSB通信这一途径, 所有进程都在CPU核心范围之内完成。因此, 在高负载的多线程/多任务环境下可以获得较高的性能。,与Athlon64 X2不同的是, PentiumD处理器将任务分配控制单元和仲裁单元从CPU中脱离出来,放在北桥芯片中。,因此, 实现任务在两个内核之间的分配是在处理器之外进行的。,四、UltraSpace IV处理器,1. UltraSpace IV的主要特点: (1) 主频1.2GHz , 0.13微米制造工艺。 (2) 模块化架构 具有4个功能单元(4路超标量)。 (3) 多级并行性 在数据级具有SIMD指令; 指令级具有4路超标量; 在线程执行级具有多线程软件支持。 (4) 对媒体数据的支持 各功能单元, 都能执行的SIMD指令。,(5) 与数据类型无关的寄存器 通用寄存器可保存任意数据类型, 可被任意指令访问, 没有整数和浮点寄存器的区别, 允许寄存器按各个应用程序的需要分配。 (6) 指令成组 主要通过编译器将指令成组, 使对应的功能单元并行执行。 (7) 线程级推测执行,包括: 时空计算技术(Space-Time Computing) 通用多线程技术(Vertical Multithreading), 时空计算技术,主要指多线程在各处理器单元间推测执行, 如果当前正在执行的线程由于某种原因暂时停滞, 处理器可以从线程组中取出它认为将要执行的线程, 并将其分配给处理器单元执行。, 通用多线程技术,主要解决单个处理单元内多个线程执行时延。 如果当前执行的线程由于Cache未命中(等待从系统存储器中装入数据), 处理器单元可以立即切换到执行其它的线程, 如象线程流水线。,2. MAJC架构设计,MAJC是专门为Java语言设计的处理器芯片。设计时采用模块式结构(类似于芯片级并行处理机), MAJC结构芯片有望产生出一个基于Java语言的微处理器家族。,MAJC采用静态调度的超长指令字VLIW(与Itanium 相似), 有别于动态超标量指令调度。,如下图所示:,动态超标量调度,静态超标量调度,超长指令字VLIW是一个128位的指令包(MAJC 称为packet, IA-64称为bundele), 每个指令包含34条不相关可并行执行的指令(MAJC是4条, IA-64是3条)。通过将指令集中的指令分类, 并建立与指令执行功能单元的对应关系, 编译器可静态调度指令(优化代码), 使多个功能单元满负荷并行工作。,在超长指令字VLIW方面, MAJC与IA-64有相似之处, 但有以下区别:,(1) IA-64是定长128位的指令包, 并行指令不足时, 需要插入NOP指令; MAJC是可变长指令包(32到128位), 无须插入NOP指令。,(2) IA-64的每个功能单元基本专用(如整数、浮点、SIMD单元), 且通用寄存器也是由各功能单元共用。 (3) MAJC的每个功能单元的数据类型无关, 任意功能单元可操作任意数据类型, 即实际运行中可以同时使用所有功能单元。每个功能单元有自己的非共享局部寄存器、局部控制逻辑(指令/译码)、局部状态信息和局部连线。,(4) MAJC的寄存器与数据类型无关, 每个功能单元除了访问自己私有的局部寄存器, 还可以访问全局的通用寄存器。,新一代UltraSPARC +处理器采用0.9微米的工艺, 主频从1.8 GHz起始。 该UltraSPARC +扩展了高速缓存, 改进了转移预测机制, 增强指令预取能力以及新的计算方法等新技术, 使UltraSPARC+的应用吞吐量比现有的UltraSPARC 处理器提高了一倍。,五、Alpha21264,1999年推出, 也称为EV6, 改型有EV67、EV68C和EV68A。, 主频达到1GHz, 0.18m工艺。芯片上集成1500万只晶体管; 地址总线和数据总线均为64位(全64位处理器); 拥有4个整数运算单元和2个浮点运算单元。 具有完善的指令预测能力 高存储系统带宽(超过1GB/s), 增加了处理视频信息的功能, 使其多媒体处理能力增强。,基本特点:,其它特点: 乱序执行能力强 Alpha21264能够重调度80条指令。 与之相比的同时期处理器如: Intel的P6架构能够调度40条指令 HP的PA-8x00能够调度56条指令 MIPS的 R12000能够调度48条指令 IBM的Power3能够调度32条指令 PowerPC G4只能调度5条指令 Sun的UltraSPARCII不支持乱序执行。, 分支预测逻辑 采用2级预测体系, 即本地预测器和全局预测器, 分别记录有1024条和4096条记录。两者采用不同预测算法并独立运行。 本地预测器用于每一个分支预测, 全局预测器则用于跟踪整个分支序列。 如果本地预测器和全局预测器的预测结果不一致, 则选择记录多的预测器的结论, 以得到更精确的结果。采用两个不同级别的分支预测器协调工作, 降低了分支预测失败的的次数。, 可运行多种操作系统 21264芯片保持了Alpha处理器可以运行多种操作系统的特点, 包括Tru64 Unix、OpenVMS和Linux等, 这也是Alpha处理器的一个优势。,从2001年开始, IBM、SONY和东芝开始Cell多核处理器的开发。设计目标是大幅度提高多媒体应用的性能。目前, Cell处理器每秒可以执行2560亿次计算, 远超过安腾2。,六、多核CELL处理器,Cell处理器是一种向量化处理器。向量处理指令可以顺序处理同一向量的每个分量, 即一条向量指令可处理n个或n对操作数。 向量处理与指令流水线处理的异同: 从并行处理的角度, 向量处理属于“运算流水线”类型, 即在向量运算的流水线中, 设置几个专用的运算单元, 对数据进行流水线作业处理, 从而可实现对数据的并行重叠处理。,而指令流水线是将指令的执行过程分解成处理时间大致相等的几个步骤(如取指、译码、执行等)。几个步骤的处理分别由专用的硬件来承担, 以达到并行处理并提高CPU速度的目的。 向量处理器的结构如下图所示:,指令流水线处理器的结构如下图所示:,试产的Cell处理器: 集成2.34亿只晶体管, 采用0.09m及SOI工艺; 具有9个处理器核心(1个主处理器搭配8个协处理器); 时钟频率可达4GHz以上; 可根据性能需求增加或减少协处理器的数量; 主处理器可同时运行2个线程, 其余8个协处理器可各处理1个线程(即可同时运行10个线程),Cell处理器的结构:,其中:,(1) PPE是处理器的RISC核心 该核心兼容PowerPC指令的双线程双发射顺序执行(无硬件的指令重调度支持)。 PPE核心主要包含3个部分: L2 Cache 512K 32KB L1 指令和数据Cache 执行单元PXU CELL设计者认为: 即使4发射甚至8发射的乱序执行核心, 在单一程序上的IPC也很少能超过2。但是发射宽度加倍之后, 增加的设计工作复杂度要远远超过一倍。,PPE包含VMX(PowerPC上的多媒体扩展)。VMX是一个向量处理单元, 类似于SSE/SSE2的SIMD扩展。PPE中的VMX向量单元加上8个SPE向量处理单元共计9个处理单元, 各处理单元都可并行运行。 VMX有32个128位寄存器, 每个寄存器可以保存16个8位, 或者8个16位或者4个32位数据。与x86中的MMX、SSE、SSE2/SSE3相比, VMX有更多的寄存器。,(2) 8个向量化SPE处理单元 简单定义: 标量处理: 一次可处理一个或一对数据 向量处理: 一次可处理N个或N对数据 CELL的8个SPE是相互独立, 向量宽度为寄存器宽度(128位), 一个SPE中有128个128位寄存器, 并配有256KB的本地存储单元LS(Local Storage)。 8个SPE可以一起完成大规模的向量并行处理。比如: 可以是8个128位的向量, 也可以是32个32位向量的处理。,(3) 采用Rambus XDR技术

温馨提示

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

评论

0/150

提交评论