Hyper-Threading , dual-processor and double CPU

多个CPU和多核CPU以及超线程(Hyper-Threading)详解 在这篇文章中我会主要介绍CPU相关的一些重要概念和技术。如果你想更好地了解操作系统,那就从本文开始吧。 阅读详情

所谓超线程(HT)技术,是部分单核CPU在主板和操作系统支持的前提下虚拟出的两个CPU核心,在处理特定的多任务应用时系统性能有一定的提升。超线程只在部分pentinum4 CPU中使用。是一个过渡技术,随着双核处理器成熟,已经被淘汰,而双核CPU具备两个物理的处理器核心,很显然在性能上的提升上比超线程更明显,软件兼容性也更好。不过双核处理器与使用两颗独立CPU相比,性能又存在一定的差距。因此在大型服务器上,还是会使用多个独立的CPU,要明确一点,无论是超线程,双核还是双处理器,其性能提升并不会达到单处理器*2,因为在计算机整体性能中,CPU性能这是占有较大的权重而已。

由于超线程技术的两个虚拟逻辑处理器使用一套执行单元和缓存,如果两者产生竞争资源的情况,系统会增加延迟,就可能产生打开超线程之后性能反而下降的情况,甚至出现兼容性问题。我们可以在操作系统中用特定软件(如THG Task Assignment Manager)对那些受超线程不良影响的程序指定使用单处理器模式。对于双核CPU,如果我们打开处理器观察,往往会发现大部分时间只有一个核在辛苦的工作,而另一个却在休息。软件全都挤在一个核上,很容易导致系统性能下降。我们可以使用WinLauncher XP这款软件指定程序使用特定的核心。从而均衡分配两个核心承担的工作量,优化双核处理器的使用。

 

Intel的Hyper-Threading技术可以在Windows中被识别为两颗处理器,因此不少人被误导,认为Hyper-Threading和Dual Core一样能同时执行并发的两个线程。

  
  

双核处理器

Hyper-Threading其实就是一颗核心以模拟的方式扮作两颗处理器,以增加 运算速度,但并不代表着它能像真正的两颗物理处理器那样,因为Dual/Multi Core的每一颗处理器都有独立的资源,但HT技术中模拟的每一颗处理都是共用同一颗物理处理器的资源,当两个模拟出来的处理器需要物理处理器的相同的资源时,其中一个模拟的处理器就要暂停并让出资源。说到底HT技术只是为了更好的利用处理器闲置资源而开发出来的技术,与Dual/Multi Core技术的双物理核心还是有本质的区别。


 

双核心处理器技术的引入是提高处理器性能的有效方法。因为处理器实际性能是处理器在每个时钟周期内所能 处理器指令数的总量,因此增加一个 内核,处理器每个时钟周期内可执行的单元数将增加一倍。在这里我们必须强调一点的是,如果你想让系统达到最大性能,你必须充分利用两个内核中的所有可执行单元:即让所有执行单元都有活可干!


(1)超线程(HT): 

 超线程(Hyperthreading Technology)技术就是通过采用特殊的硬件指令,可以把两个逻辑内核模拟成两个物理芯片,在单处理器中实现线程级的并行计算,同时在相应的软硬件的支持下大幅度的提高运行效能,从而实现 在单处理器上模拟双处理器的效能。其实,从实质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。  

  “超线程”的实现条件需要CPU的支持,主板芯片组和主板BIOS的支持,另外操作系统和应用软件方面也需得到应有的支持。说白了超线程就是通过软件的手段模拟出双个逻辑内核进行工作,运行效果尽量接近两个物理核心的性能。  不过超线程也存在着致命的不足,首先他在windows 2000下无法使用,因为WIN2000不支持超线程,只有WIN XP以上的系统才可以使用HT。另外由于HT是软件模拟出两个核心,所以模拟出来后的两个核心是分享物理缓存的,从而使物理缓存大小减半,另外因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题。 

(2)双核心:  

所谓双核心处理器,简单地说就是在一块CPU基板上集成两个处理器核心,并通过并行总线将各处理器核心连接起来。双核心并不是一个新概念,而只是CMP(Chip Multi Processors ,单芯片多处理器) 中最基本、最简单、最容易实现的一种类型。  换言之双核心处理器就是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心。这样就将两个物理处理器核心整合入一个核中,在任务繁重时,两个核心能相互配合,让CPU发挥最大效力。两个能互补的核心运行起来性能是非常不错的,例如使用Intel奔腾D双核处理器就相当于你有了两台采用奔腾4的主机。  

如果说超线程是用软件来模拟出双核的效果,那么现在所说的双核心就是真正意义上的两个核心。他弥补了超线程适用系统比较少的缺点,可以广泛用于windows操作系统的多个版本;他还有效的解决了双核运算中出现的缓存分离与数据冲突错误问题。  

(3)双CPU:  

前面所说的双核心是在一个处理器里拥有两个处理器核心,核心是两个,但是其他硬件还都是两个核心在共同拥有,而双CPU则是真正意义上的双核心,不光是处理器核心是两个,其他例如缓存等硬件配置也都是双份的。 

三者的布局结构:  如果我们把CPU比做一套住房的话,那么超线程技术实际上就相当于把一间房子人为的通过添加屏风或者推拉门来划分成两小间,虽然表面上每间居住者可以自己干自己的事,不互相影响,但是在出门时都要走同一个大门。  而双核心的实际上就相当于一套两居室,房子里有两个屋子,每个屋子都是独立存在的,不互相干扰。出门时也可以各走各的卧室门到大门口。不过如果因为某些原因,例如放音响声音过大等情况,在同一套两居室里的两个屋子之间也会相互影响。 

接下来我们再看看双CPU,他就是名副其实的两套房子,每个房子有每个房子的大门,我们出入大门不会像超线程那样共用一个门,也不会出现双核心那样一个房间因为某些原因影响另一间,即使某个房子播放音响也不会影响到另外一套房子。  不过从价格上讲自己划分出一个房间的超线程无疑是最最便宜的,而需要花费高额银子购买两套房子住的双CPU是最贵的。  

三者运行性能比较:  

CPU运行性能最关键的就是运行速度,那么究竟这三者在运行速度方面表现如何呢?我们依然通过比喻的方法来区分。  假设CPU是一个运输卡车,货物就是我们要计算的信息,CPU运算就类似于卡车运输货物。同一时间运送的货物越多,说明CPU运算能力越强。  

单CPU系统——相当于一辆卡车在一条车道上跑。由于车少,所以运输能力有限。以往CPU生产厂商都是在不断的提高卡车的载重即主频来提高他的运输能力。  

双CPU系统——相当于两辆卡车在两条相交的车道上跑。每辆车大部分都在自己的路上跑,但偶尔会相遇、停车避让。由于车多路宽,所以双CPU运输能力最强。  

HT(超线程)系统——相当于一辆双层卡车在一条车道上跑。由于是双层的,所以猛地一看以为是两辆车在跑,其实只有一辆。不过因为双层涉及到车高以及捆绑等问题,有的时候遇到限高的桥梁,需要人为的将货物卸下,手工搬运。所以说HT超线程适用的条件比较苛刻。  

双核心CPU系统,相当于两辆卡车在一条车道上跑。虽然他运输的货物能力提高了,而且也不会频繁产生类似于HT超线程那样的冲突,但是因为他们都在一条车道上跑,所以互相避让减速的频率要比双CPU高得多。所以他的运输能力要比真正的双CPU系统差。  

总结:  所以通过上面的结构比较,运行性能比较,我们可以得出以下结论,那就是在运行性能方面双CPU>双核CPU>超线程CPU>单CPU;而在价格上也是双CPU>双核CPU>超线程CPU>单CPU  


联想 Lenovo System x3650 M5 服务器开启超线程功能 Hyper-Threading 联想 Lenovo System x3650 M5 服务器开启超线程功能 Hyper-Threading 1问题现象: 需求32C(32thread),从物理机管理后端查看为8,双路16 Threads 从操作系统统计查看,所有CPU也是16线程。 2 验证问题点: 从百度产品信息和Intel官网查,都是支持单路16线程。 3怀疑问题点:Intel CPU超线程特性未开启 开机F1,进入B... 阅读详情

相关推荐

[YIUI付费插件] 超级循环列表yiuisuperscroll

本文介绍基于YIUI框架实现循环列表(LoopListView2)的完整流程:在Scroll Rect上挂载LoopListView2并配置预制体,为Item添加Click同步事件;通过ServerListPanelComponent与ServerInfoItemComponent配合,使用YIUISuperScrollListRenderer和YIUISuperScrollListOnClick实现数据渲染与点击响应,支持动态刷新列表、选中状态管理及服务器信息绑定,高效构建可交互的滚动列表界面。

Danielli博客 23

CPU 超线程技术以及如何关闭CPU超线程功能

超线程通过逻辑层面的多线程调度,提高了CPU资源利用率,但本质是。

danxuezx的专栏 1万+

项目回顾一:《高速多端口共享缓存模块》

本帖子仅为了回顾一下一年前自己动手完成的第一个数字ic设计项目的历程,为复试做一下准备,完成的这个sramc模块花了整整四个月的时间,从0到12个模块的代码产出以及模块的验证,虽然没有拿奖,也没有进入复赛,设计过程中使用的技术手段和算法也不太成熟,但这这是一个值得记录的过程!

weixin_60261760的博客 1254

多个CPU、多核CPU以及超线程(Hyper-Threading)

      转载地址:https://www.cnblogs.com/jokerjason/p/8926905.html   引言       在这篇文章中, 我会主要介绍CPU相关的一些重要概念和技术。如果你想更好地了解操作系统,那就从本文开始吧。   中央处理器(Central processing unit)       在我们了解其它概念之前,我们应该首先了解一下什么是CPU,...

认知 行动 坚持 1万+

代码实现 —— 基于 STM32 的可见光通信系统课程设计

基于STM32F103ZET6,源码如需移植,需要修改定时器捕获通道引脚,及定时器,如果你也有这个课设任务,希望对你有所帮助。

不善挽留 1万+

激光雷达接收芯片选型指南:APD、SiPM、SPAD阵列的优缺点对比

本文深入对比了激光雷达接收芯片APD、SiPM和SPAD阵列的核心技术原理与性能差异。APD作为线性模式工作的稳健选择,动态范围大;SiPM具备单光子探测和高增益优势;而SPAD阵列凭借像素级数字读出和集成TDC,在时间分辨率与系统集成度上领先。文章从灵敏度、时间精度、动态范围及系统成本等多维度剖析,为不同应用场景(如车载雷达、Flash LiDAR、消费电子)的芯片选型提供实战指南。

ik6789012的博客 656

超线程(Hyper-Threading)

运行方式 每个单位时间内,一个CPU只能处理一个线程(操作系统:thread),以这样的单位进行,如果想要在一单位时间内处理超过一个线程是不可能的,除非是有两个CPU的实体单元。双核心技术是将两个一样的CPU放置于一个封装内(直接将两个CPU做成一个芯片)。而英特尔的Hyper-Threading技术是在CPU内部仅复制必要的资源、让CPU模拟成两个线程;也就是一个实体核心...

dltvtl1977的博客 898

【ANSYS APDL】提取结构刚度矩阵完整过程--附Python代码实现

ANSYS的结构刚度矩阵提取中一些操作技巧

m0_61038364的博客 1万+

慎用Hyper-Threading Technology

  今天,一个同事遇到了一个非常奇怪的问题,他的程序(C#)运用了Hyper-Threading技术,系统用的是Windows 2000 SP4,当程序运行时会随机的抛出一个异常,而且这个bug很不容易reproduce,最后动用了公司几个高手的力量,才找到原因。  原来,Hyper-Threading技术不是所有的系统都能很好的支持的,Windows 2000所有版本都不能很好的支持Hyper-...

weixin_33966365的博客 626

从T型结到Wilkinson:5分钟搞懂功分器选型指南(附最新射频测试数据对比)

本文通过对比T型结、电阻型和Wilkinson三种功分器的核心原理与实测数据,提供了清晰的射频功分器选型指南。文章结合最新的2.4GHz ISM频段测试数据,分析了插入损耗、回波损耗和端口隔离度等关键指标,并针对窄带物联网、射频测试及合成系统等不同应用场景,给出了具体的选型建议和实战提醒,帮助工程师根据系统需求做出最优决策。

bush的博客 305

LwIP在国产MCU的落地实践:从协议栈优化到网络稳定性实战

本文详细介绍了LwIP协议栈在国产GD32F407 MCU上的移植与优化实践,涵盖硬件平台选择、驱动适配、协议栈调优和网络稳定性提升策略。通过内存管理优化、实时操作系统集成和性能测试,为工业物联网应用提供高可靠性网络通信解决方案,显著提升数据传输效率和系统稳定性。

m2n3b4v5c6的博客 270

Http Server的工作原理

Http协议的作用原理: 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。 应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结

Crack The World 4901

【原理图PCB专题】原理图图纸锁定/解锁与PCB文件加密方式

在工作中我们会遇到需要冻结原理图进行评审和加密图纸防止被他人盗用的需求。那么在OrCAD Capture中如何对图纸进行锁定与解锁,如何在Allegro中对PCB工程进行加密呢?

一点硬件 3256

软件固化

软件固化用我们通俗的话来说就是——将程序烧写到芯片上去。将一段特定的程序烧写到芯片后,用户如果不使用特定的烧写工具,将无法再对这一段程序进行任何修改,像是把软件固定住了一样,所以我们称之为软件固化。典型的例子是PC机主板上的BIOS,它在出厂前被烧写了一些系统启动代码,所以我们有时候会说BIOS上固化了一段启动代码,而这段代码就是固化了的软件。用户看不到更修改不了这段代码。嵌入式系统之所以称之为嵌

Crack The World 3893

Linux安装MinIO(图文解说详细版)

最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux,会整理出一篇Linux的专栏,欢迎大家订阅!! 富贵同学linux环境为CentOS7.8 版本。 上期跟大家说了一下OpenJDK的安装,这次说一下minio的安装 第一步,进入/opt 目录,创建minio文件夹 cd /opt mkdir minio 第二步,wget下载安装包: wget https://dl.minio.io/server/minio/release/linux-amd64/minio 第三步,进入m

编码人生 5万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

plan

影复习计划 高数一轮复习  时间持续到 7月31号 早上6:30准时起床,6:50之前必须出门,晨读至少30分钟,周六日晨读1个小时   日期 时间 任务 完成情况 6月12号 周二 级数务必完成 三个真题翻译 一篇文章摘抄

Crack The World 866

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

操作系统要求

操作系统概述 常用的操作系统 操作系统常用的数据结构 操作系统基本概念   结构及特点 任务堆栈 任务控制块,就绪表 任务的操作 初始化   中断管理和中断服务程序的结构 系统时钟及实现方法 时间管理服务:延时,取消延时   事件控制块的概念 信号量及其使用 消息邮箱及其使用 消息队列及其使用

Crack The World 699

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

操作系统笔记

1.       中断是对异步事件的响应…… 函数调用是主动的,中断是被动的,中断发生时,调用中断服务子程序。   2.       空闲任务总是优先级最低的;之上是统计任务;每个任务的优先级都是程序员确定的; 3.       任务堆栈:   任务的创建:                             任务删除的原理:

Crack The World 680

【数据结构-5】单链表的实现

单链表,具体来说是单向的、不带头的、不循环的链表。链表由一个一个节点组成,每个节点分为数据域和指针域,数据域存放数据,指针域存放下一节点的地址。这样,就可以根据指针域中的地址找到下一个节点,节点就串起来了构成了单链表。

weixin_44218929的博客 187

工厂设备接MES为什么慢:协议识别与点表配置自动化的技术拆解

工业现场设备接 MES 的周期主要消耗在协议识别与点表配置。本文拆解这条链路的四层结构,给出点表映射的数据模型、两种部署架构的对比,以及可直接落地的三项验收口径与校验代码。适合工控集成、MES 实施、设备联网方向的工程师。

emfuture的博客 389

C# 数据结构和特殊类型

.NET Core(现称.NET)提供丰富数据结构,优化性能与开发效率。日常开发首选List<T>和Dictionary<TKey,TValue>;高性能场景推荐Span<T>与Memory<T>减少内存分配;并发环境使用ConcurrentDictionary等线程安全集合;避免非泛型集合如ArrayList。

cccloveforever的博客 677

list

的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。,因此反向迭代器的实现可以借助正向迭代器,即:反向迭代器内部可以包含一个正向迭代器,对正向迭代器的接口进行包装即可。是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。迭代到该位置,在这段位置上迭代需要线性的时间开销;最大的缺陷是不支持任意位置的随机访问,比如:要访问。还需要一些额外的空间,以保存每个节点的相关联信息。个元素,必须从已知的位置。

xie0510_的博客 272

向 excel、word、pdf 三种文档中占位符插入数据

【代码】向 excel、word、pdf 三种文档中占位符插入数据。

weixin_45934659的博客 57

软件商店常见问题标准处理流程

从底层软件源来看,/etc/apt/sources.list配置错误、源地址失效、公网与内网离线源混用、ARM64与x86_64架构源串用,以及DNS解析异常、系统代理配置错误,都会导致商店无法获取应用数据;打开该应用,确认可正常运行;软件商店作为系统内置的图形化软件分发与安装入口(UKUI桌面配套组件,底层依赖APT软件源),承担着应用软件的浏览、搜索、下载、安装、升级与卸载等核心功能,是终端软件部署与管理的关键通道。覆盖软件商店启动、页面加载、应用下载、安装、卸载、搜索、自身更新等全部业务场景。

qq_39496637的博客 274
上一篇: 浏览器的工作原理
下一篇: 查看Android短信数据库
evilying
博客等级 码龄16年 35粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值