超线程(Hyper-Threading)
运行方式
每个单位时间内,一个CPU只能处理一个线程(操作系统:thread),以这样的单位进行,如果想要在一单位时间内处理超过一个线程是不可能的,除非是有两个CPU的实体单元。双核心技术是将两个一样的CPU放置于一个封装内(直接将两个CPU做成一个芯片)。而英特尔的Hyper-Threading技术是在CPU内部仅复制必要的资源、让CPU模拟成两个线程;也就是一个实体核心,两个逻辑线程,在一单位时间内处理两个线程的工作,模拟实体双核心、双线程运作。
Intel自Pentium开始引入超标量、乱序运行、大量的暂存器及寄存器重命名、多指令解码器、预测运行等特性;这些特性的原理是让CPU拥有大量资源,并可以预先运行及平行运行指令,以增加指令运行效率,可是在现实中这些资源经常闲置;为了有效利用这些资源,就干脆再增加一些资源来运行第二个线程,让这些闲置资源可运行另一个线程,而且CPU只要增加少数资源就可以模拟成两个线程运作。
Hyper-Threading概述
超线程技术,Hyper-Threading是一种多线程并行技术——即同步多执行线程(SMT,simultaneous Multi-threading)。通过在一枚cpu上整合两个逻辑处理器(注:是处理器而不是运算单元)单元,使得具有这种技术的新型CPU具有能同时执行多个线程的能力。
Hyper-Threading的原理很简单,就是把一颗CPU当成两颗来用,将一颗具Hyper-Threading功能的“实体”处理器变成两个“逻辑”处理器,而逻辑处理器对于操作系统来说跟实体处理器并没什么两样,因此操作系统会把工作线程分派给这“两颗”处理器去执行,让多种应用程序或单一应用程序的多个执行绪(thread),能够同时在同一颗处理器上执行;不过两个逻辑处理器是共享这颗CPU的所有执行资源。
Hyper-Threading做法是复制一颗处理器的架构指挥中心(architectural state)变成两个,使得操作系统认为是在与两颗处理器沟通,但这两个架构指挥中心共享该处理器的工作资源(execution resources)。架构指挥中心追踪每个程序或执行绪的执行状况;工作资源指的则是“处理器用来进行加、乘、加载等工作的单元(execution unit)”。如此一来,操作系统把工作线程安排好以后,就分派给这两个逻辑上的处理器执行,而这颗CPU的每个执行单元等于在同样的时间内要服务两个“指令处理中心”,当然它的效率就高多了,操作系统就把一颗实体的处理器认定为两个逻辑处理器作工作指派,当然整体工作效能就比没有具备Hyper-Threading 的处理器高出许多,性价比自然高出许多。
顾虑
由于处理器实际上只有一个实体核心,能够提升的性能约为5~15%左右,且万一发生资源互抢的情形时,整体性能反而会下降。这亦是AMD不提供虚拟双核心处理器的理由。
要令到电脑支持超线程技术,必须要软件和硬件的配合。
- 硬件方面:处理器本身要支持超线程,芯片组亦要支持相关处理器。
- 软件方面:要充分发挥超线程的性能,用户要使用支持超线程技术的操作系统(除了微软的Windows 2000之后的版本外,Linux kernel 2.4.x亦开始支持该技术)。不是所有程序都可以发挥超线程,通常优化了多处理器的程序都可以支持到。
超线程(Hyper-Threading)的更多相关文章
- 超线程技术(Hyper—Threading Technology,HTT)
什么是超线程技术 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算.具体讲,就是通过CPU的寄存器构成了两个逻辑处理器,来共享处理器的物理执行单元 ...
- Linux上如何查看物理CPU个数,核数,线程数
首先,看看什么是超线程概念 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的 ...
- Hyper-V性能-CPU分配
为新部署的微软Hyper-V环境中的主机和网络挑选合适的硬件并非易事,更不用说在生产环境中衡量和监控性能这项任务了.在这里,我和大家谈谈服务器的核心CPU与Hyper-V的结合是如何相得益彰的. 我接 ...
- vmware中如何检查cpu的使用状况-一个考题引发的思考
来自一个VCP的考题,有点兴趣.可参看: 如何在VMware里使用esxtop? http://thocm.com/a/caozuoxitongzixun/xunihuazonghezixun/VMw ...
- ibm x3550m4 开启cpu高性能模式
1.必须进bios里调整,和调整超线程一样,重启服务器按F1进bios界面,选择system settings 2.选择最大性能模式:Operating Modes>Choose Operati ...
- Boost UDP Transaction Performance
提高UDP交互性能 这是一篇个人认为非常非常厉害的文章,取自这里.讲述了如何提升UDP流的处理速率,但实际涉及的技术点不仅仅限于UDP.这篇文章中涉及的技术正好可以把前段时间了解的知识串联起来.作者: ...
- Chapter Zero 0.2.1 执行运算与判断的CPU
目录 执行运算与判断的CPU CPU效能比较的指标 CPU的工作频率:外频与倍频 32位与64位的CPU与总线[宽度] CPU的等级 超线程(Hyper-Threading,HT) 网上摘下几张主板图 ...
- grub paramiter & menu.list
在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB ...
- Intel 英特尔
英特尔 英特尔 基本资料 公司名称:英特尔(集成电路公司) 外文名称:Intel Corporation(Integrated Electronics Corporation) 总部地 ...
- VMware虛擬化技術實作問答
http://www.netadmin.com.tw/article_content.aspx?sn=1202130002&ns=1203280001&jump=3 Q4:啟用VMwa ...
随机推荐
- <每日一题>题目9:求质数V1.0
num= input("请输入您要求质数的范围(以逗号结尾):") down,up = num.split(',',1) down,up = int(down),int(up) i ...
- C#绘制渐变背景
//绘制渐变色背景 Graphics g = e.Graphics; LinearGradientBrush linearGradientBrush = new LinearGradientBrush ...
- 07-img和a标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Region服务器工作原理
- 目标检测从入门到精通—SPP-Net详细解析(三)
SPP-Net网络结构分析 Author:Mr. Sun Date:2019.03.18 Loacation: DaLian university of technology 论文名称:<Spa ...
- 新手玩ubuntu(一)终端
有终端才能行天下事 点击为如下,就可以进行下面的开发了
- [转]MEF程序设计指南
<MEF程序设计指南>博文汇总 在MEF之前,人们已经提出了许多依赖注入框架来解决应用的扩展性问题,比如OSGI 实现以Spring 等等.在 Microsoft 的平台上,.NET Fr ...
- idea短信验证
idea短信验证(短信接口:阿里云:消息中间件:activeMQ) 主要分为两步:1.创建发消息 2.创建收消息 1.创建发消息 1.1 创建maven工程 1.2 pom.xml文件导入依赖 注意 ...
- Object上的静态方法
内置提供了一个对象为 Object ,也被称之为是构造函数,用来创建对象用的.在 javascript 函数也是对象,是一种可被执行的对象,所以称Object为对象也是可以的.挂在函数上的方法,称之为 ...
- oracle pl/sql远程连接过程
之前没用过oracle,现在公司用到就记录下安装过程吧.安装PL/SQL工具,安装oracle11G工具.打开PL/SQL 进行配置.