服务器硬件架构_第1页
服务器硬件架构_第2页
服务器硬件架构_第3页
服务器硬件架构_第4页
服务器硬件架构_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

精品文档 1欢迎下载 从性能角度来看 处理器 内存和 I O 这三个子系统在服务器中是最重要的 它们也是最容易出现性能瓶颈的地方 目前市场上主流的服务器大多使用英特 尔 Nehalem Westmere 微内核架构的三个家族处理器 Nehalem EP Nehalem EX 和 Westmere EP 下表总结了这些处理器的主要特性 Nehalem EPNehalem EPWestmere EPWestmere EPNehalem EXNehalem EXNehalem EXNehalem EX 商业名称商业名称至强 5500至强 5600至强 6500至强 7500 支持的最插座数支持的最插座数 2228 每插座最大核心数每插座最大核心数 4688 每插座最大线程数每插座最大线程数 8121616 MBMB 缓存缓存 3 3 级级 8121824 最大最大内存内存 DIMMDIMM 数数 181832128 在本文中 我们将分别从处理器 内存 I O 三大子系统出发 带你一起 来梳理和了解最新英特尔架构服务器的变化和关键技术 一 处理器的演变一 处理器的演变 现代处理器都采用了最新的硅技术 但一个单 die 构成处理器的半导体材 料块 上有数百万个晶体管和数兆存储器 多个 die 组织到一起就形成了一个硅 晶片 每个 die 都是独立切块 测试和用陶瓷封装的 下图显示了封装好的英 特尔至强 5500 处理器外观 图 1 英特尔至强 5500 处理器 插座插座 处理器是通过插座安装到主板上的 下图显示了一个英特尔处理器插座 用户可根据自己的需要 选择不同时钟频率和功耗的处理器安装到主板上 精品文档 2欢迎下载 图 2 英特尔处理器插座 主板上插座的数量决定了最多可支持的处理器数量 最初 服务器都只有 一个处理器插座 但为了提高服务器的性能 市场上已经出现了包含 2 4 和 8 个插座的主板 在处理器体系结构的演变过程中 很长一段时间 性能的改善都与提高时 钟频率紧密相关 时钟频率越高 完成一次计算需要的时间越短 因此性能就 越好 随着时钟频率接近 4GHz 处理器材料物理性质方面的原因限制了时钟频 率的进一步提高 因此必须找出提高性能的替代方法 核心核心 晶体管尺寸不断缩小 Nehalem 使用 45nm 技术 Westmere 使用 32nm 技术 允许在单块 die 上集成更多晶体管 利用这个优势 可在一块 die 上多次复制 最基本的 CPU 核心 因此就诞生了多核处理器 精品文档 3欢迎下载 现在市场上多核处理器已经随处可见 每颗处理器包含多个 CPU 核心 通常 是 2 4 6 8 个 每个核心都有一级缓存 L1 通常所有的核心会共享二级 L2 三级缓存 L3 总线接口和外部连接 下图显示了一个双核心的 CPU 架 构 图 3 双核心 CPU 架构示意图 现代服务器通常提供了多个处理器插座 例如 基于英特尔至强 5500 系列 Nehalem EP 的服务器通常包含两个插座 每个插座四个核心 总共可容纳八 个核心 而基于英特尔至强 7500 系列 Nehalem EX 的服务器通常包含八个插座 每个插座八个核心 总共可容纳 64 个核心 下图显示了更详细的双核处理器架构示意图 CPU 的主要组件 提取指令 解码和执行 都被复制 但系统总线是公用的 精品文档 4欢迎下载 图 4 双核处理器的详细架构示意图 线程线程 为了更好地理解多核架构的含义 我们先看一下程序是如何执行的 服务 器会运行一个内核 如 Linux Windows 的内核 和多个进程 每个进程可进一步 细分为线程 线程是分配给核心的最小工作单元 一个线程需要在一个核心上 执行 不能进一步分割到多个核心上执行 下图显示了进程和线程的关系 精品文档 5欢迎下载 图 5 进程和线程的关系 进程可以是单线程也可以是多线程的 单线程进程同一时间只能在一个核 心上执行 其性能取决于核心本身 而多线程进程同一时间可在多个核心上执 行 因此它的性能就超越了单一核心上的性能表现 因为许多应用程序都是单线程的 在多进程环境中 多插座 多核心的架 构通常会带来方便 在虚拟化环境中 这个道理一样正确 Hypervisor 允许在 一台物理服务器上整合多个逻辑服务器 创建一个多进程和多线程的环境 英特尔超线程技术英特尔超线程技术 虽然单线程不能再拆分到两个核心上运行 但有些现代处理器允许同一时 间在同一核心上运行两个线程 每个核心有多个并行工作能力的执行单元 很 难看到单个线程会让所有资源繁忙起来 下图展示了英特尔超线程技术是如何工作的 同一时间在同一核心上有两 个线程执行 它们使用不同的资源 因此提高了吞吐量 精品文档 6欢迎下载 图 6 英特尔超线程技术工作原理 前端总线前端总线 在多插座和多核心的情况下 理解如何访问内存和两个核心之间是如何通 信的非常重要 下图显示了过去许多英特尔处理器使用的架构 被称作前端总 线 FSB 架构 在 FSB 架构中 所有通信都是通过一个单一的 共享的双向总线 发送的 在现代处理器中 64 位宽的总线以 4 倍速总线时钟速度运行 在某些 产品中 FSB 信息传输速率已经达到 1 6GT s 图 7 基于前端总线的服务器平台架构 精品文档 7欢迎下载 FSB 将所有处理器连接到芯片组的叫做北桥 也叫做内存控制器中枢 北 桥连接所有处理器共享访问的内存 这种架构的优点是 每个处理器都可以访问其它所有处理可以访问的所有 内存 每个处理器都实现了缓存一致性算法 保证它的内部缓存与外部存储器 以及其它所有处理器的缓存同步 但这种方法设计的平台要争夺共享的总线资源 随着总线上信号传输速度 的上升 要连接新设备就变得越来越困难了 此外 随着处理器和芯片组性能 的提升 FSB 上的通信流量也会上升 会导致 FSB 变得拥挤不堪 成为瓶颈 双独立总线双独立总线 为了进一步提高带宽 单一共享总线演变成了双独立总线架构 DIB 其架 构如下图所示 带宽基本上提高了一倍 图 8 基于双独立总线的服务器平台架构 但在双独立总线架构中 缓存一致性通信必须广播到两条总线上 因此减 少了总有效带宽 为了减轻这个问题 在芯片组中引入了 探听过滤器 来减 少带宽负载 如果缓存未被击中 最初的处理器会向 FSB 发出一个探听命令 探听过滤 器拦截探听 确定是否需要传递探听给其它 FSB 如果相同 FSB 上的其它处理 精品文档 8欢迎下载 器能满足读请求 探听过滤器访问就被取消 如果相同 FSB 上其它处理器不满 意读请求 探听过滤器就会确定下一步的行动 如果读请求忽略了探听过滤器 数据就直接从内存返回 如果探听过滤器表示请求的目标缓存在其它 FSB 上不 存在 它将向其它部分反映探听情况 如果其它部分仍然有缓存 就会将请求 路由到该 FSB 如果其它部分不再有目标缓存 数据还是直接从内存返回 因 为协议不支持写请求 写请求必须全部传播到有缓存副本的所有 FSB 上 专用高速互联专用高速互联 在双独立总线之后又出现了专用高速互联架构 Dedicated High Speed Interconnect DHSI 其架构如下图所示 图 9 基于 DHSI 的服务器平台架构 基于 DHSI 的平台使用四个独立的 FSB 每个处理器使用一个 FSB 引入探 听过滤器实现了更好的带宽扩容 FSB 本身没多大变化 只是现在变成点对点 的配置了 使用这种架构设计的平台仍然要处理快速 FSB 上的电信号挑战 DHSI 也增 加了芯片组上的针脚数量 需要扩展 PCB 路线 才能为所有 FSB 建立好连接 英特尔英特尔 QuickPathQuickPath 互联互联 精品文档 9欢迎下载 随英特尔酷睿 i7 处理器引入了一种新的系统架构 即著名的英特尔 QuickPath 互联 QuickPath Interconnect QPI 这个架构使用了多个高速单 向连接将处理器和芯片组互联 使用这种架构使我们认识到了 多插座和多核心通用的内存控制器是一个瓶颈 引入多个分布式内存控制器将最符合多核处理器的内存需要 在大多数情况下 在处理器中集成内存控制器有助于提升性能 提供有效的方法处理多插座系统一致性问题对大规模系统是至关重要 的 下图显示了一个多核处理器 集成了内存控制器和多个连接到其它系统资 源的英特尔 QuickPath 的功能示意图 图 10 集成英特尔 QPI 和 DDR 3 内存通道的处理器架构 在这个架构中 每个插座中的所有核心共享一个可能有多个内存接口的 IMC Integrated Memory Controllers 集成内存控制器 IMC 可能有不同的外部连接 精品文档 10欢迎下载 DDR 3 内存通道 在这种情况下 DDR 3 DIMM 直接连接到插座 如 下图所示 Nehalem EP 至强 5500 和 Westmere EP 至强 5600 就使用了这种架 构 图 11 具有高速内存通道的处理器 高速串行内存通道 如下图所示 在这种情况下 外部芯片 SMB Scalable Memory Buffer 可扩展内存缓存 创建 DDR 3 内存通道 DDR 3 DIMM 通过这个通道连接 Nehalem EX 使用了这种架构 图 12 四插座 Nehalem EX 精品文档 11欢迎下载 IMC 和插座中的不同核心使用英特尔 QPI 相互通信 实现了英特尔 QPI 的 处理器也可以完全访问其它处理器的内存 同时保持缓存的一致性 这个架构 也叫做 缓存一致性 NUMA Non Uniform Memory Architecture 非统一内存架构 内存互联系统保证内存和所有潜在的缓存副本总是一致的 英特尔 QPI 是一个端到端互联和消息传递方案 在目前的实现中 每个连 接由最高速度可达 25 6 GB s 或 6 4 GT s 的 20 条线路组成 英特尔 QPI 使用端到端连接 因此在插座中需要一个内部交叉路由器 提 供全局内存访问 通过它 不需要完整的连接拓扑就可以构建起系统了 图 12 显示了四插座 Nehalem EX 配置 每个处理器有四个 QPI 与其它三个 处理器和 Boxboro EX 芯片组互联 二 内存子系统二 内存子系统 电子业在内存子系统上付出了艰辛的努力 只为紧跟现代处理器需要的低 访问时间和满足当今应用程序要求的高容量需求 解释当前内存子系统之前 我们先了解一下与内存有关的一些常用术语 RAM 随机访问存储器 SRAM 静态 RAM DRAM 动态 RAM SDRAM 同步 DRAM SIMM 单列直插式内存模块 DIMM 双列直插内存模块 UDIMM 无缓冲 DIMM RDIMM 带寄存器的 DIMM DDR 双数据速率 SDRAM DDR2 第二代 DDR 精品文档 12欢迎下载 DDR3 第三代 DDR 电子器件工程联合委员会 Joint Electron Device Engineering Council JEDEC 是半导体工程标准化机构 JEDEC 21 22 定义了从 256 位 SRAM 到最新的 DDR3 模组的半导体存储器标准 现代服务器的内存子系统是由 RAM 组成的 允许数据在一个固定的时间按 任意顺序访问 不用考虑它所在的物理位置 RAM 可以是静态的或动态的 SRAMSRAM SRAM 静态 RAM 通常非常快 但比 DRAM 的容量要小 它们有一块芯片结构 维持信息 但它们不够大 因此不能作为服务器的主要内存 DRAMDRAM DRAM 动态 RAM 是服务器的唯一选择 术语 动态 表示信息是存储在集 成电路的电容器内的 由于电容器会自动放电 为避免数据丢失 需要定期充 电 内存控制器通常负责充电操作 SDRAMSDRAM SDRAM 同步 DRAM 是最常用的 DRAM SDRAM 具有同步接口 它们的操作与 时钟信号保持同步 时钟用于驱动流水线内存访问的内部有限状态机 流水线 意味着上一个访问未结束前 芯片可以接收一个新的内存访问 与传统 DRAM 相 比 这种方法大大提高了 SDRAM 的性能 DDR2 和 DDR3 是两个最常用的 SDRAM 下图显示了一块 DRAM 芯片的内部结 构 精品文档 13欢迎下载 图 13 DRAM 芯片的内部结构 内存阵列是由存储单元按矩阵方式组织组成的 每个单元都一个行和列地 址 每一位都是存储在电容器中的 为了提高性能 降低功耗 内存阵列被分割成多个 内存库 bank 下 图显示了一个 4 bank 和一个 8 bank 的内存阵列组织方式 图 14 内存 bank DDR2 芯片有四个内部内存 bank DDR3 芯片有八个内部内存 bank 精品文档 14欢迎下载 DIMMDIMM 需要将多个内存芯片组装到一起才能构成一个内存子系统 它们就是按著 名的 DIMM 双列直插内存模块 组织的 下图显示了内存子系统的传统组织方式 例如 内存控制器连接四个 DIMM 每一个由多块 DRAM 芯片组成 内存控制器有一个地址总线 一个数据总 线和一个命令 也叫做控制 总线 它负责读 写和刷新存储在 DIMM 中的信息 图 15 传统内存子系统示例 下图展示了一个内存控制器与一个 DDR3 DIMM 连接的示例 该 DIMM 由八块 DRAM 芯片组成 每一块有 8 位数据存储能力 每存储字 内存数据总线的宽度 则共有 64 位数据存储能力 地址总线有 15 位 它可在不同时间运送 行地址 或 列地址 总共有 30 个地址位 此外 在 DDR3 芯片中 3 位的 bank 地址 允许访问 8 个 bank 可被视作提高了控制器的地址空间总容量 但即使内存控 制器有这样的地址容量 市面上 DDR3 芯片容量还是很小 最后 RAS Row Address Selection 行地址选择 CAS Column Address Selection 列地址 选择 WE Write Enabled 写启用 等都是命令总线上的 精品文档 15欢迎下载 图 16 DDR3 内存控制器示例 下面是一个 DIMM 的示意图 图 17 DIMM 示意图 上图显示了 8 个 DDR3 芯片 每个提供了 8 位信息 通常表示为 x8 ECCECC 和和 ChipkillChipkill 数据完整性是服务器架构最关注的一个点 很多时候需要安装额外的 DIMM 检测和恢复内存错误 最常见的办法是增加 8 位 ECC 纠错码 将存储字从 64 位扩大到 72 位 就象海明码一样 允许纠正一位错误 检测两位错误 它们也 精品文档 16欢迎下载 被称作 SEC Single Error Correction 单纠错 DED Double Error Detection 双检错 先组织存储字再写入到内存芯片中 EEC 可以用于保护任一内存芯片的失 效 以及单内存芯片的任意多位错误 这些功能有几个不同的名字 Chipkill 是 IBM 的商标 Oracle 称之为扩展 EEC 惠普称之为 Chipspare 英特尔有一个类似的功能叫做 x4 单设备数据校正 Intel x4 SDDC Chipkill 通过跨多个内存芯片位散射 EEC 字的位实现这个功能 任一内存 芯片失效只会影响到一个 ECC 位 它允许重建内存中的内容 下图了显示了一个读和写 128 位数据的内存控制器 增加 EEC 后就变成 144 位了 144 位分成 4 个 36 位的存储字 每个存储字将是 SEC DED 如果使 用两个 DIMM 每个包含 18 个 4 位芯片 可以按照下图所示的方法重组位 如 果芯片失效 每 4 个字中只会有一个错误 但因为字是 SEC DED 的 每 4 个字 可以纠正一个错误 因此所有错误都可以被纠正过来 图 18 Chipkill 示例 内存内存 RankRank 我们重新回到 DIMM 是如何组织的 一组产生 64 位有用数据 不计 ECC 的 芯片叫做一个 Rank 为了在 DIMM 上存储更多的数据 可以安装多个 Rank 目 前有单 双和四个 Rank 的 DIMM 下图显示了这三种组织方法 精品文档 17欢迎下载 图 19 DIMM 和内存排 上图最前面显示的是一个单 Rank 的 RAM 由 9 个 8 位芯片组成 一般表示 为 1Rx8 中间显示的是一个 1Rx4 由 18 个 4 位芯片组成 最后显示的是一个 2Rx8 由 18 个 8 位芯片组成 内存 Rank 不能使用地址位选择 只能使用芯片选择 现代内存控制器最多 可达 8 个独立的芯片选择 因此最大可支持 8 个 Rank UDIMMUDIMM 和和 RDIMMRDIMM SDRAM DIMM 进一步细分为 UDIMM 无缓冲 DIMM 和 RDIMM 带寄存器的 DIMM 在 UDIMM 中 内存芯片直接连接到地址总线和控制总线 无任何中间部分 RDIMM 在传入地址和控制总线 以及 SDRAM 之间有额外的组件 寄存器 这些寄存器增加了一个延迟时钟周期 但它们减少了内存控制器上的电负荷 允许内存控制器安装更多的 DIMM RDIMM 通常更贵 因为它需要附加组件 但它们在服务器中得到了普遍使 用 因为对于服务器来说 扩展能力和稳定性比价格更重要 精品文档 18欢迎下载 虽然理论上带寄存器 无缓冲的和 ECC 非 ECC DIMM 是可以任何组合的 但 大多数服务器级内存模块都同时具有 ECC 和带寄存器功能 下图显示了一个 ECC RDIMM 寄存器是箭头指向的芯片 这个 ECC DIMM 由 9 个内存芯片组成 图 20 ECC RDIMM DDR2DDR2 和和 DDR3DDR3 第一代 SDRAM 技术叫做 SDR Single Data Rate 表示每个时钟周期传输 一个数据单元 之后又出现了 DDR Double Data Rate 标准 其带宽几乎是 SDR 的两倍 无需提高时钟频率 可在时钟上升沿和下降沿信号上同时传输数据 DDR 技术发展到今天形成了两套标准 DDR2 和 DDR3 DDR 2 SDRAM 的工作电压是 1 8V 采用 240 针 DIMM 模块封装 通过改善总 线信号 它们可以以两倍于 DDR 的速度工作在外部数据总线上 规则是 每 DRAM 时钟数据传输两次 每次数据传输 8 个字节 64 位 下表显示了 DDR2 标准 表 2 DDR2 DIMM 标准名称标准名称 DRAMDRAM 时钟时钟 频率频率 每秒传输的数据每秒传输的数据 百万 百万 模块名称模块名称峰值传输速峰值传输速 率率 GB sGB s DDR2 400 200 MHz400PC2 32003 200 DDR2 533 266 MHz533PC2 42004 266 精品文档 19欢迎下载 DDR2 667 333 MHz667PC2 5300 PC2 54005 333 DDR2 800 400 MHz800PC2 64006 400 DDR2 1066533 MHz1 066PC2 8500 PC2 8600 8 533 DDR 3 SDRAM 在 DDR2 的基础上对以下这些方面做了改进 将工作电压降低到 1 5v 减少功耗 通过引入 0 5 8Gb 的芯片增加了内存密度 单 Rank 的容量最大可达 16GB 增加了内存带宽 内存突发长度从 4 字增加到 8 字 增加突发长度是 为了更好地满足不断增长的外部数据传输速率 随着传输速率的增长 突发长 度 传输的大小 必须增长 但不能超出 DRAM 核心的访问速度 DDR3 DIMM 有 240 针 数量和尺寸都和 DDR2 一样 但它们在电气特性上是 不兼容的 缺口位置不一样 未来 DDR3 将工作在更快的时钟频率 目前 市 面上存在 DDR3 800 1066 和 1333 三种类型 下表对不同的 DDR3 DIMM 模块进行了总结 表 3 DDR3 DIMM 标准名称标准名称RAMRAM 时钟频率时钟频率 每秒传输的数据 百每秒传输的数据 百 万 万 模块名称模块名称峰值传输速率峰值传输速率 GB sGB s DDR3 800400 MHz800PC3 64006 400 DDR3 1066533 MHz1 066PC3 85008 533 DDR3 1333667 MHz1 333PC3 1060010 667 DDR3 1600800 MHz1 600PC3 1280012 800 DDR3 1866933 MHz1 866PC3 1490014 900 三 三 I OI O 子系统子系统 精品文档 20欢迎下载 I O 子系统负责在服务器内存和外部世界之间搬运数据 传统上 它是通 过服务器主板上兼容 PCI 标准的 I O 总线实现的 开发 PCI 的目的就是让计算 机系统的外围设备实现互联 PCI 的历史非常悠久 现在最新的进化版叫做 PCI Express 外围组件互联特殊兴趣小组 Peripheral Component Interconnect Special Interest Group PCI SIG 负责开发和增强 PCI 标准 PCIPCI ExpressExpress PCI Express PCIe 是一个计算机扩展接口卡格式 旨在替代 PCI PCI X 和 AGP 它消除了整个所有 I O 引起的限制 如服务器总线缺少 I O 带宽 目前所 有的操作系统都支持 PCI Express 上一代基于总线拓扑的 PCI 和 PCI X 已经被点到点连接取代 由此产生的 拓扑结构是一个单根联合体的树形结构 根联合体负责系统配置 枚举 PCIe 资 源 管理中断和 PCIe 树的错误 根联合体和它的端点共享一个地址空间 通过 内存读写和中断进行通信 PCIe 使用点到点链接连接两个组件 链接由 N 个通道组成 每个通道包含 两对电路 一对用于传输 另一对用于接收 南桥 也叫做 ICH I O Controller Hub 通常会提供多个 PCIe 通道实现根 联合体的功能 每个通道连接到一个 PCI Express 端点 一个 PCI Express Switch 一个 PCIe 或一个 PCIe 桥 如下图所示 精品文档 21欢迎下载 图 21 PCI Express 根联合体 根据通道编号使用不同的连接器 下图显示了四个不同的连接器 及单 双 向时的速度 图 22 PCI Express 连接器 在 PCIe 1 1 中 通道运行在 2 5Gbps 可同时部署 16 条通道 如下图所 示 可支持的速度从 2Gbps 1x 到 32Gbps 16x 由于协议开销 支持 10GE 接 口需要 8x 精品文档 22欢迎下载 图 23 PCI Express 通道 PCIe 2 0 也叫第二代 PCIe 带宽提升了一倍 从 2Gbit s 提高到 4Gbit s 通道数量也扩大到了 32x PCIe 4x 就足以支持 10GE 了 PCIe 3 0 将会再增加一倍带宽 最终的 PCIe 3 0 规范预计会在 2010 年年 中发布 到 2011 年就可看到支持 PCIe 3 0 的产品 PCIe 3 0 能有效地支持 40GE 下一代以太网标准 目前所有的 PCI Express 产品都是单根的 Single Root SR 如控制多个 端点的单 I O 控制器中枢 ICH 多根 Multi Root MR 也发展了一段时间 但目前还未见到曙光 由于缺 少元件和关注 目前还有诸多问题 SR IOV Single Root I O Virtualization 单根 I O 虚拟化 是 PCI SIG 开发的另一个相关标准 主要用于连接虚拟机和 Hypervisor 四 英特尔微架构四 英特尔微架构 英特尔 Nehalem 和 Westmere 微架构 也被称为 32 和 45nm 酷睿微架构 精品文档 23欢迎下载 Nehalem 微架构于 2009 年初引入了服务器 也是第一个使用 45nm 硅技术 的架构 Nehalem 处理器可应用于高端桌面应用程序 超大规模服务器平台等 代号名来源于美国俄勒冈州的 Nehalem 河 根据英特尔的说法 处理器的发展速度就象嘀嗒 Tick and Tock 钟声的节 奏一样 如下图所示 Tick 是对现有处理器架构进行缩小 而 Tock 则是在前 一代技术上发展起来的全新架构 Nehalem 就是 45nm 的 Tock Westmere 就是 紧跟 Nehalem 的 32nm Tick 图 24 英特尔 嘀嗒 处理器开发模式 Nehalem 和 Westmere 在不同需求之间取得了平衡 与新兴应用程序 如多媒体 相比 现有应用程序的性能 对轻量级或重量级应用程序的支持同样良好 可用范围从笔记本到服务器全包括 平台架构平台架构 这可能是近 10 年来英特尔最大的平台架构转变 包括多个高速点到点连接 如英特尔的 QuickPath 互联 集成内存控制器 IMC 等 下图显示了一个双插座英特尔至强 5500 Nehalem EP 系统示例 请注意 CPU 插座之间 以及 CPU 插座与 I O 控制器之间的 QPI 链接 内存 DIMM 直接附 加到 CPU 插座 精品文档 24欢迎下载 图 25 双插座英特尔至强 5500 Nehalem EP 集成内存控制器集成内存控制器 IMC IMC 在 Nehalem EP 和 Westmere EP 中 每个包含集成内存控制器 IMC 的插座 支持三个 DDR3 内存通道 与 DDR2 相比 DDR3 内存运行在更高的频率 因此它 具有更高的内存带宽 此外 对于双插座架构 有两套内存控制器 所有这些 改进与前一代英特尔平台相比 带宽提高了 3 4 倍 如下图所示 图 26 RAM 带宽 随着时间的推移 带宽以后还会继续增加 有了集成的内存控制器后 延 迟也减小了 精品文档 25欢迎下载 其功耗也减少了 因为 DDR3 的工作电压是 1 5V DDR2 是 1 8V 功耗与电 压的平方成正比 因此电压降低 20 功耗就减少 40 最后 IMC 支持单 双和四 Rank RDIMM 和 UDIMM Nehalem EX 有一个类似的 但不完全相同的架构 在 Nehalem EX 中 每 个插座有两个 IMC 每个 IMC 支持两个英特尔可扩展内存互联 Scalable Memory Interconnects SMI 连接到两个可扩展内存缓冲区 Scalable Memory Buffers SMB 每个插座就可以连接到四个 SMB 如下图所示 每个 SMB 有两 个 DDR3 总线 每条总线连接到两个 DIMM 因此每个插座可连接的 RDIMM 总量 就是 16 图 27 SMI SMB Nehalem EX 系统的总内存容量与插座数量 以及 RDIMM 的容量总结如下表 所示 表 4 Nehalem EX 内存容量 精品文档 26欢迎下载 4GB4GB RDIMMRDIMM8GB8GB RDIMMRDIMM16GB16GB RDIMMRDIMM 2 sockets128 GB256 GB512 GB 4 sockets256 GB512 GB1 TB 8 sockets512 GB1 TB2 TB 英特尔英特尔 QuickPathQuickPath 互联互联 QPI QPI 所有的通信架构都从总线架构向点到点连接演变 因为点到点连接架构具 有更快的速度 更好的扩展性 在 Nehalem 中 英特尔 QuickPath 互联已经取 代了前端总线 如下图所示 图 28 英特尔 QPI 英特尔 QuickPath 互联是一个一致的点到点协议 不局限于任何特定的处 理器 可在处理器 I O 设备和其它设备 如加速器之间提供通信 精品文档 27欢迎下载 可用的 QPI 数量取决于处理器的类型 在 Nehalem EP 和 Westmere EP 中 每个插座有两个 QPI 如图 25 所示 Nehalem EX 支持四个 QPI 允许更多无缝 的拓扑结构 如下图所示 图 29 Nehalem EX 拓扑结构 英特尔至强 7500 处理器也与第三方节点控制器兼容 可以扩大到 8 个插座 以外 实现更大规模的扩展 CPUCPU 架构架构 在 Nehalem 中 英特尔通过一些技术革新 增加了每个 CPU 每秒执行的指 令数 如下图所示 精品文档 28欢迎下载 图 30 Nehalem 微架构创新 其中有些创新是不言自明的 我们将集中介绍最重要的性能和功耗方面的 创新 在比较性能和功耗时 通常是 1 的性能增强就会增多 3 的功耗 因为减少 1 的电压 功耗几乎总是降低 3 英特尔最重要的创新就是增强 1 的性能 而 功耗仅增多了 1 英特尔超线程技术英特尔超线程技术 英特尔超线程技术 HT 可在相同内核上同时运行多个线程 在 Nehalem Westmere 中实现了两个线程 提高了性能和能源效率 超线程的基本思想是增加每个执行单元的复杂度 对于单线程 要保持执 行单元繁忙是很困难的 通过在相同核心上运行两个线程 让所有资源保持忙 碌的可能性更大 这样整体效率就提高了 如下图所示 超线程使用的领域非 常有限 不到 5 但在多线程环境中极大地提高了效率 超线程也不能取代多 核心 它是对核心的合理补充 精品文档 29欢迎下载 图 31 英特尔超线程技术 缓存分级缓存分级 一个理想的内存系统的需求是它应该有无限的容量 无限的带宽和零延迟 当然没有人知道如何构建这样的系统 最接近的方法是使用分级的内存子系统 从大到小 从慢到快设计缓存级别 在 Nehalem 中 英特尔将缓存层增加到了 3 层 如下图所示 精品文档 30欢迎下载 图 32 缓存分级结构 与英特尔以前的设计相比 一级缓存 L1 指令和数据 没有发生变化 在 英特尔过去的设计中 所有内核共享二级缓存 L2 如果核心数量限制为 2 那这种设计倒是可行的 但 Nehalem 将核心数增加到了 4 或 8 二级缓存不能 再继续共享下去 因为带宽和仲裁请求都会变多 可能会达到 8 倍 为此 英 特尔在 Nehalem 中为每个核心独立增加了二级缓存 指令和数据 现在核心之 间共享的只有三级缓存 L3 了 模块模块 Nehalem 采用了模块化设计 核心 缓存和英特尔 QPI 都是组成 Nehalem 处理器的模块实例 如图 30 所示 这些模块都是独立设计的 它们可以工作在不同频率 不同电压下 将模 块粘接在一起的是一种新的同步通信协议 它提供了非常低的延迟 以前曾尝 试过异步协议 事实证明那样做的效率非常低 集成功率门限集成功率门限 这是一种电源管理技术 它是 时钟门控 技术的进化版本 所有现代英 特尔处理器都使用了时钟门控技术 遇到空闲逻辑时 时钟门控会自动关闭时 钟信号 从而消除了开关电源 但仍然存在漏电流 漏电流引起了无用的功耗 功率门控代替了时钟门控 让一个空闲的核心消耗的电力几乎为零 如下 图所示 对于软件和应用程序来说这完全是透明的 精品文档 31欢迎下载 图 33 Nehalem 功率门控 从技术角度来看实现功率门控是很难的 传统的 45nm 工艺就有明显的泄露 它需要新的晶体管技术和大量的铜层 7mm 以前可从来没有这么做过 如下图 所示 图 34 功率门控晶体管 Nehalem EP 和 Westmere EP 都拥有 动态的 功率门控能力 当核心不需 要执行工作负载时 它可以完全关掉电源 当工作负载需要核心的计算能力时 核心的电源又重新激活 Nehalem EX 拥有 静态的 功率门控功能 当个别核心失去工作能力时 核心电源被完全关闭 例如 当 8 核心变成 6 核心时 这些被停用的核心不能 精品文档 32欢迎下载 重新打开 对于前一代处理器 在工厂中停用的核心仍然会消耗一些电力 但 在 Nehalem EX 中 电源是完全关闭的 电源管理电源管理 功率传感器是建设电源管理系统的关键 上一代英特尔处理器内置有热传 感器 但没有功率传感器 Nehalem 既有热传感器又有功率传感器 通过集成 的微控制器 PCU 负责电源管理和监控 如下图所示 图 35 电源控制单元 Power Control Unit PCU 英特尔英特尔 TurboTurbo BoostBoost 技术技术 功率门控和电源管理是英特尔 Turbo Boost 技术的基础组件 当操作系统 需要更好的性能时可以使用英特尔的 Turbo Boost 模式 如果条件允许 足够的 制冷和供电能力 例如 因为一或多个核心被关闭 英特尔 Turbo Boost 会提 高活动核心的频率 以及功耗 从而提高核心的性能 如下图所示 但它算不 上一个巨大的改进 3 11 但在无线程 不是所有核心都被并行使用的环境 中 它还是很有价值的 每上升一步 频率提高 133Mhz 精品文档 33欢迎下载 图 36 英特尔 Turbo Boost 技术 上图显示了三个不同的可能性 正常情况下 所有核心都运行在标称频率 2 66GHz 在 4C Turbo 模式下 所有核心的频率上升一步 达到了 2 79GHz 在 4C Turbo 模式下 两个核心的频率上升了两步 达到了 2 93GHz 四 硬件辅助虚拟化四 硬件辅助虚拟化 英特尔虚拟化技术 Virtualization Technology VT 扩展了核心平台架构 可以更好地支持虚拟化软件 如 VM 虚拟机 和 Hypervisor 也叫做虚拟机监视 器 如下图所示 精品文档 34欢迎下载 图 37 虚拟化支持 VT 包含四个主要的组件 英特尔 VT x 指的是英特尔 64 和 IA32 处理器中所有的虚拟化辅助技术 英特尔 VT d 指的是英特尔芯片组中所有虚拟化辅助技术 英特尔 VT c 指的是英特尔网络和 I O 设备中所有虚拟化辅助技术 简化虚拟机移动的 VT Flex Migration a 英特尔 VT x 增强的功能包括 一个新的 更高特权的 Hypervisor 允许客户机操作系统和应用程 序运行在他们设计的特权级别中 确保 Hypervisor 有权控制平台资源 基于硬件的转移 在 Hypervisor 和客户机操作系统之间转移在硬件 级得到了支持 减少了复杂的 计算密集的软件转换需求 基于硬件的内存保护 处理器状态信息在专用地址空间为 Hypervisor 和每个客户机操作系统保留着 此外 Nehalem 还增加了 EPT Extended Page Table 扩展页表 VPID Virtual Processor ID 虚拟处理器 ID 客户机计时器优先 Guest Preemption Timer 描述符表退出 Descriptor Table Exiting 英特尔虚拟化技术 FlexPriority 暂停退出循环 Pause Loop Exiting VTVT FlexFlex MigrationMigration FlexMigration 允许在不同指令集处理器之间移动 VM 它是通过同步所有 处理器都支持的最小指令集来实现的 精品文档 35欢迎下载 当 VM 第一次实例化时 它会查询处理器获取指令集水平 SSE2 SSE3 SSE4 处理器返回商定的最低指令集水平 而不是处理器本身 支持的指令集水平 这样就允许 VMotion 在不同指令集处理器之间移动 VM 了 扩展页表扩展页表 EPT EPT EPT 是一种新的处于 Hypervisor 控制下的页表结构 如下图所示 它定义 了客户机地址和宿主物理地址之间的映射 图 38 扩展页表 虚拟化之前 每个操作系统负责虚拟应用程序地址和 物理地址 之间的 程序页表转换 使用虚拟化后 这些地址就不再是物理的了 而是在 VM 中的虚 拟地址 Hypervisor 需要在客户端操作系统地址和真实物理地址之间转换 在 EPT 出现之前 Hypervisor 通过软件的方式在重要的边界 如 VM 的入口和出口 更新它们以维护页表 有了 EPT 后 有一个 EPT 基指针和一个 EPT 页表 允许直接从虚拟地址转 换到物理地址 不再需要 Hypervisor 的介入 虚拟处理器虚拟处理器 ID VPID ID VPID 在 VPID 出现之前的虚拟化环境中 每当 VM 转换时 CPU 会无条件清洗 TLB Translation Lookaside Buffers 转换后备缓冲区 这样做的效率很低 并会影响到 CPU 的性能 有了 VPID 后 Hypervisor 用一个 ID 标记 TLB 允许 更有效地清洗缓冲区中的信息 客户机优先计时器客户机优先计时器 有了这个功能后 在指定的时间到了后 Hypervisor 可以让客户机优先执 行 在进入客户机之前 Hypervisor 会设置一个计时器值 当计时器清零时 VM 就退出 计时器会让 VM 直接退出 没有中断 精品文档 36欢迎下载 描述符表退出描述符表退出 通过预防关键系统数据结构被修改 实现 VMM 保护客户机操作系统预防内 部攻击 操作系统操作是由一组 CPU 使用的关键数据结构控制的 IDT GDT LDT 和 TSS 如果没有这个功能 Hypervisor 就无法预防通过修改 客户机的这些数据结构副本 实现恶意软件在客户机操作系统上运行的攻击 Hypervisor 可以使用这个功能拦截修改这些数据结构的尝试 禁止恶意软件入 侵客户机操作系统 FlexPriorityFlexPriority 这是一个提升 32 位客户机操作系统性能的技术 旨在加快虚拟化中断处理 速度 从而提高虚拟化性能 FlexPriority 通过避免访问高级可编程中断控制 器时不必要的 VMExit 提高中断处理速度 RASRAS 高级可靠性高级可靠性 与 Nehalem EP 相比 Nehalem EX 最大的创新之处在于高级可靠性方面 更恰当地说应该是 RAS Reliability Availability 和 Serviceability 即可 靠性 可用性和可维护性 如下图所示 图 39 Nehalem EX RAS 特别是 所有主要的处理器功能都具有 RAS 特性 包括 QPI RAS I O Hub IOH RAS 存储器 RAS 和插座 RAS 精品文档 37欢迎下载 纠错现在使用的是纠正机器检查中断 Corrected Machine Check Interrupts CMCI 信号 另一个 RAS 技术是机器检查架构恢复 Machine Check Architecture recovery MCAr 它是 CPU 给操作系统报告硬件错误的一种机制 有了 MCAr 后 就可以从致命系统错误中恢复过来 部分功能需要操作系统额外支持 或需要硬件厂商实现和验证 这项技术目前仅在 Nehalem EX 中含有 高级加密标准高级加密标准 Westmere EP 增加了 6 个新指令专门给流行的 AES Advanced Encryption Standard 高级加密标准 算法提速 有了这些指令后 所有 AES 运算都是通过 硬件完成的 不只是速度更快 比软件实现也更加安全 因此应用程序可以使用更强的密钥 可以加密更多数据以满足监管要求 除了更安全外 对性能的影响也更小了 这项技术目前仅包含在 Westmere EP 中 可信执行技术可信执行技术 英特尔可信执行技术 Trusted Execution Technology TXT 有助于检测和 预防基于软件的攻击 特别是 尝试插入非信任的 VMM Rootkit Hypervisor 威胁到平台内存中机密的攻击 BIOS 和固件更新攻击 英特尔 TXT 使用一个混合了处理器 芯片组和 TPM Trusted Platform Module 可信赖平台模块 的技术测量引导环境以检测软件攻击 如下图所示 精品文档 38欢迎下载 图 40 英特尔可信执行技术 这项技术目标仅包含在 Westmere EP 中 芯片设计芯片设计 如果你想获得高性能 又想降低功耗 那么有多个不同的因素需要平衡 随着晶体管通道的长度逐渐减小 可用的电压范围也变得越来越小 如下 图所示 图 41 电压范围 最大电压是由总功耗和高功率相关的可靠性下降限制的 最低电压主要是 由软错误 特别是存储器电路中的错误限制的 一般说来 在 CMOS 设计中 性能与电压是成正比的 因为电压越高频率也 越高 精品文档 39欢迎下载 性能 频率 电压 功耗是与频率和电压的平方成正比的 功率 频率 x 电压 2 由于频率和电压是成正比的 因此 功率 电压 3 能源效率等于性能和功耗之间比率 因此 能源效率 1 电压 2 从能源效率的角度来看 减少电压才会凸现优势 如下图所示 图 42 功耗与性能的关系 由于电路更容易遭受软错误的是存储器 在 Nehalem 中 英特尔加入了一 个复杂的纠错码 三重检测 双倍纠正 纠正错误 此外 缓存的电压和核心的 电压是解耦的 因此缓存可以保留高电压 而核心工作在低电压上 对于 L1 和 L2 缓存 英特尔已经用新的 8 晶体管设计 8 T SRAM 取代了传 统的 6 晶体管 SRAM 6 T SRAM 设计 解耦了读和写操作 并允许更低的电压 如下图所示 精品文档 40欢迎下载 图 43 6 晶体管 SRAM 与 8 晶体管 SRAM 对比 此外 为了降低功耗 英特尔又回到了能耗更低的静态 CMOS 技术 如下图 所示 图 44 不同技术的功耗对比 通过重新设计了一些关键算法 如指令解码 再次提升了性能 芯片组虚拟化支持芯片组虚拟化支持 除了 Nehalem 提供的虚拟化支持外 在芯片组和主板级也增强了对虚拟化 的支持 这些改进对于提高 Hypervisor 按照英特尔的说法 Hypervisor 指的 是 VMM 虚拟机监视器 的 I O 性能很重要 英特尔直接英特尔直接 I OI O 虚拟化技术虚拟化技术 VT d VT d forfor DirectDirect I O I O 精品文档 41欢迎下载 服务器使用一个输入 输出内存管理单元 Input Output Memory Management Unit IOMMU 将 DMA I O 总线 如 PCIe 连接到主存储器 和传统 的内存管理单元一样 它将 CPU 可见的虚拟地址转换成物理地址 IOMMU 会将 设备可见的虚拟地址映射到物理地址 这些单元也提供了内存保护功能 I O 虚拟化一个常见的需求是可以隔离和限制设备访问由分区管理设备拥 有的资源 2008 年 英特尔公布了 IOMM

温馨提示

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

评论

0/150

提交评论