翻译自:http://www.hardwaresecrets.com/article/Everything-You-Need-to-Know-About-The-QuickPath-Interconnect-QPI/610/1

自Intel有CPU开始,便一直采用的是称之为“前端总线(Front Side Bus, FSB)”的外部总线。前端总线是由内存和I/O共享的一条通往CPU的通道。新一代的Intel 处理器将内置内存控制器,所以该处理器将提供两个通道:连接CPU和内存的内存总线(memory bus)以及连接CPU和I/O的I/O总线。这个新增的I/O总线称之为快速互联通道(QuickPath Interconnect, QPI)。本文中,我们将解释其工作原理。

图1 传统Intel处理器架构

图1给出了传统的Intel处理器架构,图2是处理器内置内存控制器的新一代Intel处理器架构。

图2 新一代Intel处理器架构

事实上,AMD从2003年开始便在Athlon 64 CPU中采用相似的架构了。现在,所有AMD的CPU都已经内置内存控制器了。他们使用称之为HyperTransport总线来实现I/O通信。尽管HyperTransport和QPI目标相同、工作机制也类似,不过他们并不兼容。

顺便一提的是,技术上将QPI和HyperTransport并不能称之为总线而只是点对点连接。总线是指允许多个部件同时连接的一组导线。点对点连接指的是仅仅连接两个部件。尽管技术上称它为总线不太对,为了简便起见和我们还是这么叫吧。

接下来我们谈谈QPI的工作原理,和HyperTransport类似,QPI为CPU和芯片组的连接提供了两个通道(lane),如图3所示。这样做,可以让CPU同时接收(读)和发送(写)I/O数据,而传统的FSB是不能实现这个目标的。

图3 快速互联通道提供分离的输入输出路径

说到芯片组,Intel将推行单芯片解决方案。因为在CPU中内置内存控制器几乎等价于将北桥内置到CPU中。图3中的Chipset的功能和南桥类似,功能上就像是一个“I/O集线器(I/O Hub)”或者用Intel的行话称之为“IOH”。

每个通道(lane)一次能传输20个比特位,其中16位为实际数据,4位是冗余纠错码(CRC)。QPI第一个版本的工作频率为3.2GHz并能够在一个时钟周期内传输两个数据(即DDR技术),这使得总线工作频率看起来好像是在6.4GHz(Intel使用GT/s为单位,表示十亿次传输/秒).由于一次可以传输16位,我们可以很容易计算得到一个通道上的数据传输峰值6.4GHzX16bits/8=12.8GB/s。也许有些人说QPI的最大理论峰值为25.6GB/s因为他们考虑两个通道同时提供的带宽。不过我们并不同意这种方法,这就像我们可以说高速公路上限速为130英里每小时因为单向限速为65英里每小时一样毫无意义。

所以和FSB比起来,QPI虽然传输更少的数据但是却可以在更高的频率工作。当前,最快的前端总线频率1600MHz(实际上工作在400MHZ,但是在一个时钟周期内传输四个数据)也能达到12.8GB/s,这和QPI一样快,但是QPI是在每个通道上都提供12.8GB/s。而且FSB要同时传输I/O数据和内存数据,所以QPI可用带宽要更高些。

QPI也比HyperTransport要快。当前HyperTransport能够达到的最大速度为10.4GB/s,但是当前Phenom处理器的只能达到7.2GB/s.所以,Intel Core i7 CPU的外部总线要比AMD的快78%。其他系列的AMD CPU如Athlon, Athlon X2的传输频率更低了,仅能达到4GB/s。

图4 差分对传输

顺着电子传输继续往下走,每个位的传输使用差分对(differential pair),图4所示。所以,每传输一位都要使用两根导线。QPI的两个通道一共使用了84根导线,这几乎是Intel传统CPU中FSB需要的导线数量的一半。所以,第三个有点便是前端总线可以使用更少的导线(第一个优点使将内存和I/O请求分开,第二个有点是将读写路径通道分开)。

QPI使用了和网络架构中很像的分层技术,一共有四层分别是物理层,链路层,路由层和协议层。

接下来我们看看QPI中引入的高级技术。

功耗模式

如图5所示,QPI提供以下两种功耗模式,分别称之为L0和L0s和L1. L0指的是QPI全速运行时的模式,在L0s状态时,为了节省能耗,数据线和驱动这些线的电路将被关掉。在L1状态时,所有的东西都会被关闭。当然,L1的唤醒时间将更长。

图5 功耗管理

可靠模式

我们提到了QPI的数据路径是20位宽,我们并没有提到的是QPI允许每个通道被设置成4个五位宽的小通道,如图6所示。对于服务器市场环境来说,这种分割方法可以提高可靠性。不过对于桌面环境而言,QPI并不提供这个功能。

当这个功能打开后,如果接收器发现其与发射器之间的连接物理上已经被破坏了,它将关闭已经破坏的部分,然后每次传输更少的位数。这显然会降低数据传输速率,但是至少系统不会崩溃。

图5 可靠模式配置

CPU的快速互联通道(QPI)详解相关推荐

  1. Virtual PC 2007下虚拟机与本机双XP系统实现互联与上网详解

    Virtual PC 2007下虚拟机与本机双XP系统实现互联与上网详解 1.在虚拟机安装windowsXP系统 2.为了不影响用来上网的原网卡,所以我们选择在主机上装一个虚拟网卡来与虚拟机进行通信, ...

  2. 并发编程之CPU缓存架构缓存一致性协议详解(二)

    并发编程之CPU缓存架构&缓存一致性协议详解 CPU高速缓存(Cache Memory) CPU高速缓存 在CPU访问存储设备时,无论是存取数据抑或存取指令,都趋于聚集在一片连续的区域中,这就 ...

  3. cpu二级缓存和一级缓存详解及区别(图解)

    cpu二级缓存和一级缓存详解及区别(图解) 2012-09-02 12:27:55|  分类: 硬件技术 |字号 订阅 处理器缓存的传输速率确实很高,然而还不足以取代内存的地位,这主要是由于缓存只是内 ...

  4. 啪啪三国2获取服务器信息,《啪啪三国2》怎么快速获取资源 资源快速获取方法途径详解...

    导 读 啪啪三国2:在啪啪三国2手游中有很多各种各样的玩法特色,游戏中有着非常多的资源需要获取,小伙伴们都知道该怎么快速获取资源?这里小编就给大家来介绍一下啪啪三国2资源快速获取方法途径详解,下面就一 ...

  5. Java NIO学习篇之通道FileChannel详解

    定义: FileChannel是Java NIO对应于磁盘等存储设备文件操作的通道. 常用API详解: 获取FileChannel的API /** * 打开一个与文件的连接通道,用于进行文件操作. * ...

  6. mysql ssh通道_详解如何通过SSH通道来访问MySQL

    原标题:详解如何通过SSH通道来访问MySQL 许多时候当要使用Mysql时,会遇到如下情况: 1. 信息比较重要,希望通信被加密. 2. 一些端口,比如3306端口,被路由器禁用. 对第一个问题的一 ...

  7. [硬件,CPU篇]英特尔中央处理器详解

    最近笔者换了个电脑,由于笔者并没有家里的财政大权(大概知道落在谁手里了,old woman),电脑的选择就易受价格影响.所以笔者决定,写关于电脑硬件的文章. 我们从英特尔的CPU开始吧. 主要架构 I ...

  8. 05Vue.js快速入门-Vue实例详解与生命周期

    Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...

  9. 【光通信光互联电信模块详解】

    通信注释详解 ACK: Acknowledge character)即是确认字符 AGC:自动增益控制放大器:Automatic Gain Contror Amplifier Alignment:对准 ...

最新文章

  1. Activiti邮件任务
  2. java swt 保存文件夹_采用SWT实现系统文件夹的树形结构显示
  3. VSS2005 添加文件夹方法!
  4. python中matlab函数图像处理,MATLAB图像处理--同态滤波(代码及示例)
  5. 为参加脱欧协议表决 英国工党女议员将延后剖腹产
  6. Tensorflow高级封装
  7. 无法使用prop_Adobe Launch配置流量变量(Prop)
  8. sampro效果_SAM机架设置音乐/话筒/麦克风/输入和效果输出/添加VST插件/详细教程(附:SAM机架VST插件效果包下载)...
  9. 制作win7 u盘启动盘
  10. 盘点wps函数公式大全
  11. 如何在微信添加定位服务器,如何在微信添加店铺名称地址定位位置
  12. 基督信仰与电脑软件 随笔
  13. bs客户端跨服务器管理文件,bs架构客户端和服务器
  14. 在QTCreator中保存某个文件出现:保存文件时发生错误:无法写入文件D:\test\test.h.磁盘已满?
  15. Vue中的vm和VueComponent的实例对象
  16. Ps如何使用透视裁剪工具
  17. matlab工程应用基础,Matlab工程应用基础_2_214090
  18. html收藏的链接,浏览器收藏夹中收藏的网页链接怎么导出来?
  19. 《卡尔琳记事本》,召唤师的故事,周更
  20. Python 编程1000例(8):特招录取选拔、抓小偷、阿姆斯特朗数案例

热门文章

  1. prototype.js+ajax+随机数添加入url(原创)
  2. pidgin连接 gtalk
  3. 《花雕学AI》ChatGPT 的 Prompt 用法,不是随便写就行的,这 13 种才是最有效的
  4. MVC、MVVM、RaectiveCocoa的总结
  5. 微服务 消息中间件kafka消息丢失问题
  6. 提高背单词和记忆的效率:记忆辅助神器Anki
  7. bash 详解 [转]
  8. vue excel的导入导出与行列合并
  9. html静态网站简单的学生网页作业源码 基于游戏网站设计与实现共计10个页面 (仿地下城与勇士游戏网页)
  10. swift单元测试(三)XCTest之UI测试UITest