为您找到与cpu核与线程什么意思相关的共200个结果:
为了更加了解自己的电脑,就希望能够知道电脑中的CPU线程数到底有多少。那么Win10系统怎么查看CPU线程数呢?接下来大家跟着读文网小编一起来了解一下Win10系统查看CPU线程数的解决方法吧。
1、Win10任务栏空白处单击鼠标右键,菜单中点击选择“任务管理器”。
2、在任务管理器窗口切换至“性能”,对着CPU利用率图形界面,单击鼠标右键,鼠标指向菜单中的“将图形更改为”,点击选择次级菜单中的“逻辑处理器”。
3、随后出现几个图形,就是几个线程。
浏览量:3
下载量:0
时间:
其实CPU超线程这个含义大部分网友还是很不清楚的,下面是读文网小编带来的关于什么叫cpu超线程的内容,欢迎阅读!
CPU包括运算逻辑部件、寄存器部件和控制部件等。
逻辑部件英文Logic components;运算逻辑部件。可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。
寄存器寄存器部件,包括寄存器、专用寄存器和控制寄存器。 通用寄存器又可分定点数和浮点数两类,它们用来保存指令执行过程中临时存放的寄存器操作数和中间(或最终)的操作结果。 通用寄存器是中央处理器的重要部件之一。
控制部件英文Control unit;控制部件,主要是负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。其结构有两种:一种是以微存储为核心的微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。微存储中保持微码,每一个微码对应于一个最基本的微操作,又称微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。
中央处理器在对指令译码以后,即发出一定时序的控制信号,按给定序列的顺序以微周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。简单指令是由(3~5)个微操作组成,复杂指令则要由几十个微操作甚至几百个微操作组成。
浏览量:2
下载量:0
时间:
线程数是什么,CPU的线程数是什么呢?下面是读文网小编带来的关于什么是cpu线程数的内容,欢迎阅读!
CPU包括运算逻辑部件、寄存器部件和控制部件等。
逻辑部件英文Logic components;运算逻辑部件。可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。
寄存器寄存器部件,包括寄存器、专用寄存器和控制寄存器。 通用寄存器又可分定点数和浮点数两类,它们用来保存指令执行过程中临时存放的寄存器操作数和中间(或最终)的操作结果。 通用寄存器是中央处理器的重要部件之一。
控制部件英文Control unit;控制部件,主要是负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。其结构有两种:一种是以微存储为核心的微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。微存储中保持微码,每一个微码对应于一个最基本的微操作,又称微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。
中央处理器在对指令译码以后,即发出一定时序的控制信号,按给定序列的顺序以微周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。简单指令是由(3~5)个微操作组成,复杂指令则要由几十个微操作甚至几百个微操作组成。
浏览量:3
下载量:0
时间:
中央处理器(CentralProcessingUnit)的缩写,即CPU,CPU是电脑中的核心配件,只有火柴盒那么大,几十张纸那么厚,但它却是一台计算机的运算核心和控制核心。下面是读文网小编带来的关于cpu 核和线程的区别的内容,欢迎阅读!
CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。有的指令中也直接包含操作数本身。
提取第一阶段,提取,从存储器或高速缓冲存储器中检索指令(为数值或一系列数值)。由程序计数器(Program Counter)指定存储器的位置。(程序计数器保存供识别程序位置的数值。换言之,程序计数器记录了CPU在程序里的踪迹。)
解码解码线路CPU根据存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片段。根据CPU的指令集架构(ISA)定义将数值解译为指令。一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个加法(Addition)运算的运算目标。
核cpu多线程相关
浏览量:3
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于超线程技术是CPU的 和主板无关吗的内容,欢迎阅读!
通过超线程技术,英特尔成为第一家公司实现在一个实体处理器中,提供两个逻辑线程。后期内含超线程技术的P4处理器商标之后的Pentium D纵使不支持超线程技术,但就集成了两个实体核心,所以仍会见到两个逻辑线程。超线程的未来发展,是提升处理器的逻辑线程,英特尔有计划将8核心的处理器,加以配合超线程技术,使之成为16个逻辑线程的产品。英特尔表示,超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升。但实际上,在某些程序或未对多线程编译的程序而言,超线程反而会降低效能。除此之外,超线程技术亦要操作系统的配合,普通支持多处理器技术的系统亦未必能充分发挥该技术。例如Windows 2000,英特尔并不鼓励使用者在此系统中利用超线程。原先不支持多核心的Windows XPHome Edition却支持超线程技术。
尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。
另外就是目前大超线程芯片多数执行线程缺乏ILP(Instruction-Level Parallelism,指令级别并行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把一个物理内核模拟成两个逻辑内核,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行速度。采用超线程即是可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。
而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
浏览量:2
下载量:0
时间:
Intel推出超线程技术频率最高的P4 3.06GHz一枝独秀,率先支持超线程技术。下面是读文网小编带来的关于用好CPU的超线程技术的内容,欢迎阅读!
超线程就是让操作系统相信你有两个处理器,也就是一个CPU当两个用的技术。要实现超线程技术需要具备三个条件。
1.处理器支持;
2.主板支持,包括老主板升级BIOS支持;
3.操作系统支持(Windows XP能很好支持,Windows 2K也可支持,Windows 98,Windows NT不支持)。
这在当初2002年底推出的时候没有多少人的机器能满足条件,但是目前新配机器的用户应该很容易满足这样的要求。如果您的机器满足这样的条件,不妨继续看下去。
超线程技术对性能的影响
首先我们要知道,超线程技术对性能的影响与使用的软件有直接联系,不能一概而论。有的读者以为两个处理器可以提高双倍性能,笔者要告诉大家就算真的有两个物理CPU并行工作也根本不可能有这样的提高。据Intel方面解释,超线程技术能够提高30%以上的性能。据目前测试和使用的情况来看,除非运行某些特别为超线程,多任务优化代码的软件,否则超线程对系统性能的提高比较有限。当然,因为Windows XP系统对超线程支持较好,打开超线程之后,系统整体性能会有一定提高,而且在实际使用中用户一般多项任务同时处理,在这种状态下,打开超线程对整体性能的提高还是比较明显的。
然而,如果程序只支持单线程的话,打开超线程不会有性能上的提高,而且刚刚我们提到超线程技术的两个虚拟逻辑处理器使用一套执行单元,缓存。如果两者之间产生竞争资源的情况,系统会增加一定的延迟,就有可能产生打开超线程之后性能反而下降的情况。因为超线程本身是由服务器领域转化到桌面系统的,甚至有的软件,有的硬件还可能和超线程产生兼容性问题,如果打开超线程,软件就不能运行,或者运行不正常。据我们了解,一些PC供应商,比如DELL,在整机出货的时候默认关闭超线程,就是考虑到可能存在一定兼容性问题,而且性能提高有限甚至有少数反而下降。
当然总的来说,超线程技术带来的是正面的影响,能够在不提高系统频率的情况下提高性能,是当前CPU设计的大势所趋。随着软件的成熟,系统的完善,如今的超线程技术已经基本不会产生多大的兼容性问题了,所以笔者建议如果大家的机器能够打开超线程,又是使用Windows XP操作系统,还是打开超线程比较合算。
当主板BIOS中打开超线程支持之后,系统启动时有的主板就能显示对超线程的支持,认出两个处理器,如下图。
进入系统之后更是可以在设备管理器里面认出两个处理器。
更加直观的方法是打开任务管理器之后,进入性能选项卡,可以看到CPU使用记录栏里面有两个CPU的使用记录,如下图。
完美控制超线程对性能的影响
笔者刚刚的分析中提到,有些特定的应用程序在打开超线程的时候会变慢,有的甚至运行不正常,如果遇到这种问题,你怎么办?通常的办法只能是在BIOS里面关闭超线程,代价就是系统大多数程序以及系统本身效率下降,虽然幅度不大,但是对性能的影响仍然存在。特别是一些专门使用多媒体压缩的用户,哪怕是5%以内的性能提高都可以使压缩时间大为缩短。而且超线程的确在这一方面特别有效。那么有没有方法使得你又享受超线程带来的快感,同时减小它带来的不良影响呢?
首先我们自然而然会想到在操作系统中对那些受超线程不良影响的程序指定使用单处理器模式,这是完全可行的。
在任务管理器里面找到如上图的设置附属,选择CPU0,不要选CPU1,如下图所示。这样这个任务就被分配给了真实的CPU,而不是虚拟的CPU1。
如果你具备了双CPU,又都支持超线程,那么系统里面会出现4个CPU,在这里,前两个是真实的,后两个是虚拟的,大家不要搞错。
这种方法虽然控制了超线程的应用,但是存在一些问题:
1.系统自带的任务管理器太过简单,而且每次都要手动选择,它不会记住你的选择。
2.一些全屏运行的程序在切换时会发生锁死。
笔者介绍一种更有效的工具:THG Task Assignment Manager。这本来是一款用在多处理器系统里面分配任务的工具,但是因为超线程系统也有两个处理器,加上它可以解决上文所说的问题,所以这里成为任务管理器的替代者很合适。下载之后,直接解开运行,看到程序主界面。
这个面板就是用来分配处理器的,只要选中一个任务,点下面的分配就可以调出分配窗口,这里和系统自带的区别不大。
第二个面板才是这款软件的重点,它可以指定分配方案,并且记住,下次只要再开程序还是会产生效果。分配方法是:用Browse找到要分配的程序,点Add后,指定一个CPU。
实际分配方案
按笔者上面提到的方法,我们把我们认为可能受到超线程不利影响的程序都分配给CPU0来执行,那么我们可以在不关闭超线程的情况下,降低超线程带来的负面影响。根据实际测试,使用自己分配的方案可以在超线程起反作用的时候提高性能。
至于到底应该给什么程序分配单线程,什么程序分配超线程,具体情况只有具体分析。每一款程序不同,每一台机器也不一样,大家要自己摸索结论了。笔者这里提供一些经验。
1.对于打开超线程后产生问题的软件,尝试仅用物理处理器。
2.如果你经常频繁使用两款软件,比如你一边压mp3,一边写文章,又如一边扫毒,一边上网。这种情况你可以尝试分别分配两个处理器给不同工作,这样比起操作系统自己分配要好。
3.有一些用户经常整夜压音乐,压MPEG 4或者其他格式电影。这种情况下可以自己作评测:用一段测试片断,分别运行在仅用物理处理器和使用系统默认自动分配任务两种状态,看哪一个更加快。这样可以为你节省很多时间。
4.有一些用户专门运行科学计算程序,比如MATLAB,比如MATHEMATICA,还有很多行业软件,比如电路设计软件,三维建模软件。一些著名软件已经越来越多地为超线程优化,但是仍有不少软件不能很好支持超线程。这些软件您更有必要自己测试一下,因为很多时候一些程序一运行就是几天,甚至几个礼拜,对这种程序榨干系统的性能很重要。
5.对游戏用户,超线程并不会有多大帮助。
总结
超线程如今已经不是什么新鲜东西了,但是真正用好超线程仍然不简单,大多数用户仅仅知道让操作系统自动分配任务。通过笔者今天的分析,大家应该更加清楚超线程的优点和缺点,使用笔者推荐的软件和任务分配方案,大家可以做到对自己系统的微调。当然这里笔者只是提出建议,真正的方案一定要大家自己尝试了。希望大家能够利用好超线程,不为新技术白白付钱。
最后笔者提一句:如果你超前于大众,已经使用了多处理器系统,那么本文的方法对你更加有启发作用,你可以尝试多种分配方案,找到适合自己的最佳方案!
浏览量:2
下载量:0
时间:
在项目开发过程中使用到多线程技术,有时程序运行起来占用CPU很高(具体占用多少,跟你的CPU核数有关。CPU过高的问题,CPU多线程的问题,下面是读文网小编带来的关于多线程执行CPU过高问题的内容,欢迎阅读!
浏览量:3
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于intel多线程cpu的内容,欢迎阅读!
1992 年ATI 推出了Mach32A,也就是 Mach8 的改进型。1993 年,在年营业额突破2.3 亿加元后,ATI 在多伦多证交所上市,之后由于股灾,ATI 一度面临生死存亡的局面。在Mach64 诞生后,由其带来的成功,ATI 所有的麻烦都迎刃而解。ATI 开始成立了自己的3D部门,这为后来的ATI 奠定了基础。
1994 年,首块能够对影像提供加速功能的显卡Mach64 诞生。这块显卡是计算机图形发展历史上的一块里程碑。Mach64 所使用的Graphics Xpression 和Graphics Pro Turbo 技术能够支持YUV 到RGB的色彩空间转换,使得PC获得了MPEG 的视频加速能力。1995 年诞生Mach64-VT 版本。其完全将CPU 解压的负担承担了起来,由于VT版本的Mach64提供了对视频中的X轴和Y轴的过滤得能力,所以对分辨率为320x240 的视频图像重新调整大小至1024x768 时也不会出现因为放大所产生的任何马赛克。
1996 年1 月,ATI 推出3D Rage 系列。开始提供对MPEG-2的解码支持。通过后来引入Rage 系列显示芯片的 iDCT 等先进技术更大大降低了CPU 在播放MPEG-2 视频时的负担。1997 年4 月发布3D Rage Pro。四千五百万像素填充率,VQ的材质压缩功能,每秒能够生成一百二十万的三角形,8MBSGRAM或者16MBWRAM的高速显存,这些数字给了当时3D图形芯片的王者Voodoo以很大压力。1997 年,在2D 时代非常强大的Tseng Labs 公司被ATI 收购,40 名经验丰富的显卡工程师加入了ATI 的开发团队。
1998 年2 月Rage Pro 更名为Rage Pro Turbo ,驱动也作了相应更新后,性能提升了将近40% 。1998 年,Rage 128 GL 发布。Rage 128 GL 是首款支持Quake 3 中的OpenGL 扩展集的硬件。1999 年4 月ATI 发布了Rage 系列的最后产品Rage 128 Pro 。各项异性过滤,优化的多边形设置引擎,以及更高的时钟频率,使得Rage 128 Pro 成了1999 年QuakeCon 比赛的官方指定显卡,更高端的RAGE Fury Pro 是加入了Rage Theater 提高了显卡的视频性能。
浏览量:2
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于intel什么cpu超线程技术的内容,欢迎阅读!
CPU超线程就是利用特殊字符的硬件指令,把两个逻辑内核模拟成物理芯片,让单个处理器能使用线程级并行计算,从而兼容多线程并行计算,从而兼容多线程操作系统和软件,使运行性能提高。
超线程技术就是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。对支持多处理器功能的应用程序而言,超线程处理器被视为两个分离的逻辑处理器。应用程序不须修正就可使用这两个逻辑处理器。同时,每个逻辑处理器都可独立响应中断。
第一个逻辑处理器可追踪一个软件线程,而第二个逻辑处理器则可同时追踪另一个软件线程。由于两个线程共同使用同样的执行资源,因此不会产生一个线程执行的同时,另一个线程闲置的状况。 这种方式将会大为提升每个实体处理器中的执行资源使用率。尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了当前CPU的性能没有得到全部的发挥。
因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
对比编辑采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。 虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。
当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。 英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。
也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。 需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。当前支持超线程技术的芯片组包括如:英特尔i845GE、PE及矽统iSR658 RDRAM、SiS645DX、SiS651可直接支持超线程;英特尔i845E、i850E通过升级BIOS后可支持;威盛P4X400、P4X400A可支持,但未获得正式授权。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x版本以及以后的版本也支持超线程技术。虽然单线程芯片每秒钟能处理成千上万条指令,但是在任一时刻只能对一条指令进行操作。而“超线程”技术可以使芯片同时进行多线程处理,使芯片性能得到提升。如果单单是CPU支持超线程技术而没有芯片组、软件进行协同作战的话,超线程技术也就是一句空话而已。
浏览量:3
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于Linux系统下,CPU信息详解(cpuinfo,多核,多线程)的内容,欢迎阅读!
在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几个物理CPU/几核/几线程,这些问题怎么确定呢?
经过查看,我的开发机器是2个物理CPU,16核32线程,Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
系统的架构是X86的64位系统
CPUs 有32个逻辑的处理器
Threads per core: 每个核有两个线程
Core per Socket:每个物理卡槽有8个核心
CPU Socket :有2个物理卡槽
NUMA nodes : Non Uniform Memory Access Architecture,使众多服务器像单一系统那样运转,两个NUMA
记录一下,判断的过程和知识。
判断依据:
1.具有相同core id的cpu是同一个core的超线程。
2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。
英文版:
1.Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.
2.Any cpu with the same physical id are threads or cores in the same physical socket.
echo "logical CPU number:"
#逻辑CPU个数
cat /proc/cpuinfo | grep "processor" | wc -l
echo "physical CPU number:"
#物理CPU个数:
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
echo "core number in a physical CPU:"
#每个物理CPU中Core的个数:
cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'
#查看每个physical cpu上core id的数量,即为每个物理CPU上的core的个数
cat /proc/cpuinfo | grep "core id"
#是否为超线程?
#如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。
#每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
cat /proc/cpuinfo | grep "siblings"
/proc/cpuinfo 文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。
processor 条目包括这一逻辑处理器的唯一标识符。
physical id 条目包括每个物理封装的唯一标识符。
core id 条目保存每个内核的唯一标识符。
siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores 条目包含位于相同物理封装中的内核数量。
如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。
1.拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。
2.Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。
3.每个 core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。
4.如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
5.如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。
判断CPU是否64位,检查cpuinfo中的flags区段,看是否有lm标识。
Are the processors 64-bit?
A 64-bit processor will have lm ("long mode") in the flags section of cpuinfo. A 32-bit processor will not
浏览量:3
下载量:0
时间:
中央处理器(CentralProcessingUnit)的缩写,即CPU,CPU是电脑中的核心配件,只有火柴盒那么大,几十张纸那么厚,但它却是一台计算机的运算核心和控制核心。下面是读文网小编带来的关于java和多线程cpu的内容,欢迎阅读!
前端总线的速度指的是CPU和北桥芯片间总线的速度,更实质性的表示了CPU和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了PCI及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。
这些技术的原理类似于AGP的2X或者4X,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。FSB是将CPU连接到北桥芯片的总线,也是CPU和外界交换数据的主要通道,因此前端总线的数据传输能力对整机性能影响很大,数据传输最大带宽取决于所有同时传输数据的宽度和传输频率,即数据带宽=总线频率×数据位宽÷8。例如Intel公司的PⅡ333使用6 6MHz的前端总线,所以它与内存之间的数据交换带宽为528MB/s =(66×64)/8,而其PⅡ350则使用100MHz的前端总线,所以其数据交换峰值带宽为800MB/s=(100×64)/8。再比如Intel 845芯片组只支持单通道DDR333内存,所以理论最高内存带宽为333MHz×8Bytes(数据宽度)=2.7GB/s,而Intel 875平台在双通道下的内存带宽最高可达400MHz×8Bytes(数据宽度)×2=6.4GB/s。PC机常用的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz、1066MHz几种。
浏览量:2
下载量:0
时间:
很多网友问cpu线程多有什么好处,下面是读文网小编带来的关于cpu线程多有什么好处的内容,欢迎阅读!
Rock 微处理器是升阳电脑计划开发的多线程(多执行绪), 多核心微处理器。这款处理器拥有4个独立的CPU核心,而每个核心又有独立的4个“处理引擎”,再加上同步多线程(SMT)技术,每颗处理器将拥有32个逻辑线程。它将会是多颗处理芯片的服务器架构,可以由多块多核心处理器又再组成对称多处理机(SMP)系统,执行SPARC v9 指令集。
Rock 微处理器可以和现有的UltraSPARC处理器同时工作,而后者则作为协处理器。Rock 微处理器将有多种版本,包括针对单路或多路服务器。规格方面,Rock 微处理器将和AMD的Opteron系列处理器非常相近。与UltraSPARC T1不同的,Rock重视且强化浮点运算的能力。另外根据升阳电脑的透露,Rock上将具有一种Hardware Scout(硬件侦察)功能,是以多执行绪式的硬件线路设计让Rock具有预先提取(prefetching)的能力。Rock 微处理器锁定在传统资料运算工作,如数据库执行,浮点密集的高性能计算的工作。Rock处理器将使用65纳米制程。Rock看来将成为升阳电脑在SMP架构处理器上的接替者,Rock不是用来接替UltraSPARC T1,预计会取代现有的UltraSPARC III、UltraSAPRC IV。Rock 微处理器预计要到2008年后才能面世。
浏览量:2
下载量:0
时间:
CPU是电脑的重要组成部分,是不可缺少的角色。下面是读文网小编带来的关于关于linux的进程中的各个线程cpu占用情况进行分析和查看的内容,欢迎阅读!
我们经常会在新开的服搭建一个游戏的服务器,有时候要进行压力测试,那么如何来看呢,一般我们会通过top命令查看各个进程的cpu和内存占用情况,获得到了我们的进程id,然后我们也许会通过pstack命令查看里边的各个线程id以及对应的线程现在正在做什么事情,分析多组数据就可以获得哪些线程里有慢操作影响了服务器的性能,从而得到解决方案。比如这样的以组数据:
[root@AY130816144542124256Z bin]# pstack 30222
Thread 9 (Thread 0x7f729adc1700 (LWP 30251)):
#0 0x00007f72a429b720 in sem_wait () from /lib64/libpthread.so.0
#1 0x0000000000ac5eb6 in Semaphore::down() ()
#2 0x0000000000ac5cac in Queue::get() ()
#3 0x00000000009a583f in DBManager::processUpdate(Queue*) ()
#4 0x00000000009a4bfb in dbUpdateThread(void*) ()
#5 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 8 (Thread 0x7f727c579700 (LWP 30252)):
#0 0x00007f72a429b720 in sem_wait () from /lib64/libpthread.so.0
#1 0x0000000000ac5eb6 in Semaphore::down() ()
#2 0x0000000000ac5cac in Queue::get() ()
#3 0x00000000009a5799 in DBManager::processQuery(Queue*) ()
#4 0x00000000009a4c3a in dbQueryThread(void*) ()
#5 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 7 (Thread 0x7f7257fff700 (LWP 30253)):
#0 0x00007f72a42997bb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1 0x00007f72a549ee08 in utils::thread::condition_impl::timed_wait(int) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#2 0x00007f72a549ebd3 in utils::thread::Condition::timed_wait(int) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#3 0x00000000009d5f57 in utils::MessageQueue::pop() ()
#4 0x00000000009d5557 in FightReport::svc() ()
#5 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#6 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#7 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 6 (Thread 0x7f72397b7700 (LWP 30254)):
#0 0x00007f72a4588fc3 in poll () from /lib64/libc.so.6
#1 0x00007f72a0fbded4 in __libc_res_nsend () from /lib64/libresolv.so.2
#2 0x00007f72a0fba76a in __libc_res_nquery () from /lib64/libresolv.so.2
#3 0x00007f72a0fbad29 in __libc_res_nquerydomain () from /lib64/libresolv.so.2
#4 0x00007f72a0fbb9cf in __libc_res_nsearch () from /lib64/libresolv.so.2
#5 0x00007f729adc37a7 in _nss_dns_gethostbyname4_r () from /lib64/libnss_dns.so.2
#6 0x00007f72a457a4c3 in gaih_inet () from /lib64/libc.so.6
#7 0x00007f72a457cb20 in getaddrinfo () from /lib64/libc.so.6
#8 0x00007f72a56fc782 in Curl_getaddrinfo_ex () from /usr/lib64/libcurl.so.4
#9 0x00007f72a56f1d42 in Curl_getaddrinfo () from /usr/lib64/libcurl.so.4
#10 0x00007f72a56c9e77 in Curl_resolv () from /usr/lib64/libcurl.so.4
#11 0x00007f72a56ca138 in Curl_resolv_timeout () from /usr/lib64/libcurl.so.4
#12 0x00007f72a56d8d88 in ?? () from /usr/lib64/libcurl.so.4
#13 0x00007f72a56ddb79 in ?? () from /usr/lib64/libcurl.so.4
#14 0x00007f72a56de76e in Curl_connect () from /usr/lib64/libcurl.so.4
#15 0x00007f72a56e69b0 in Curl_perform () from /usr/lib64/libcurl.so.4
#16 0x0000000000ae6e3d in HttpClient::svc() ()
#17 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#18 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#19 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 5 (Thread 0x7f721af6f700 (LWP 30255)):
#0 0x00007f72a455691d in nanosleep () from /lib64/libc.so.6
#1 0x000000000098cb8a in Sleep(unsigned long) ()
#2 0x000000000098b87d in DynResource::svc() ()
#3 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#4 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#5 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 4 (Thread 0x7f71fc727700 (LWP 30256)):
#0 0x00007f72a455691d in nanosleep () from /lib64/libc.so.6
#1 0x000000000098cb8a in Sleep(unsigned long) ()
#2 0x0000000000a61516 in PlayerOpLogThread::svc() ()
#3 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#4 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#5 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 3 (Thread 0x7f71ddedf700 (LWP 30257)):
#0 0x00007f72a4592c73 in epoll_wait () from /lib64/libc.so.6
#1 0x00007f72a51f334f in Epoll_Reactor::run_reactor_event_loop() () from /usr/local/net_manager-0.0.2/lib/libnet_manager.so.0.0.2
#2 0x00007f72a51f2523 in Net_Thread::svc() () from /usr/local/net_manager-0.0.2/lib/libnet_manager.so.0.0.2
#3 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#4 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#5 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7f71bf697700 (LWP 30258)):
#0 0x00007f72a4592c73 in epoll_wait () from /lib64/libc.so.6
#1 0x00007f72a51f334f in Epoll_Reactor::run_reactor_event_loop() () from /usr/local/net_manager-0.0.2/lib/libnet_manager.so.0.0.2
#2 0x00007f72a51f2523 in Net_Thread::svc() () from /usr/local/net_manager-0.0.2/lib/libnet_manager.so.0.0.2
#3 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#4 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#5 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7f72a60ae7e0 (LWP 30222)):
#0 0x00007f72a4584c95 in _xstat () from /lib64/libc.so.6
#1 0x00007f72a45483e0 in __tzfile_read () from /lib64/libc.so.6
#2 0x00007f72a4547864 in tzset_internal () from /lib64/libc.so.6
#3 0x00007f72a4547b20 in tzset () from /lib64/libc.so.6
#4 0x00007f72a4546699 in timelocal () from /lib64/libc.so.6
#5 0x0000000000b0b08d in Achieve::GetRemainTime(AchieveTemplate*) ()
#6 0x0000000000b115ca in Achieve::update() ()
#7 0x0000000000a197ce in Player::update() ()
#8 0x0000000000b1b272 in PlayerMng::Tick() ()
#9 0x0000000000a73105 in GameServer::FrameTick(unsigned int) ()
#10 0x0000000000a6ff80 in GameServer::run() ()
#11 0x0000000000a773a1 in main ()
[root@AY130816144542124256Z gameserver]# ps -eLo pid,lwp,pcpu | grep 30222
30222 30222 31.4
30222 30251 0.0
30222 30252 0.0
30222 30253 0.0
30222 30254 0.0
30222 30255 0.0
30222 30256 1.2
30222 30257 1.2
30222 30258 1.0
多组数据显示表明我们的主逻辑线程的确占用的cpu很高,发现其实在Achieve::update() 的时候做了太多没有用的判断,并且可以减少循环进入的次数的,所以我在这里进行了优化
后来用了一下iptraf命令查看了网络流量:
第一项:IP流量监控
第二项:常规查看网卡流量状态。只查看各网卡的总流量
第三项:详细查看网卡流量状态。比如按TCP,UDP,ARP等协议查看
选all interfaces,查看所有网卡接口
界面分上下两部分,上部分可详细显示哪个与之相连的IP,发了多少包,即时流量是多少,下部分,可以显示udp等信息。
显示连接本地服务器的所有连接流量情况
另外不得不提到另外一个命令sar:
sar有很多用途,如果要来监控网络流量,使用下面的命令行方式:
sar -n DEV interval count
其中,interval是统计时间间隔,以秒为单位;count是总共统计几次,如果为0就不断的统计直到 Ctrl+C 打断,否则执行count次就退出。
比如:sar -n DEV 1 4
比如:sar -n DEV 10 0
IFACE:LAN接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
sar -n DEV -u 1 10
07:22:01 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:02 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:02 PM eth0 2.47 0.00 0.11 0.00 0.00 0.00 0.00
07:22:02 PM eth1 80.25 22.22 3.53 3.52 0.00 0.00 0.00
07:22:02 PM CPU %user %nice %system %iowait %steal %idle
07:22:03 PM all 1.85 0.00 1.06 0.00 0.00 97.09
07:22:02 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:03 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:03 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:03 PM eth1 66.67 19.75 2.95 3.22 0.00 0.00 0.00
07:22:03 PM CPU %user %nice %system %iowait %steal %idle
07:22:04 PM all 2.12 0.00 1.06 0.00 0.00 96.82
07:22:03 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:04 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:04 PM eth0 7.32 4.88 0.65 0.38 0.00 0.00 0.00
07:22:04 PM eth1 85.37 28.05 4.18 3.88 0.00 0.00 0.00
07:22:04 PM CPU %user %nice %system %iowait %steal %idle
07:22:05 PM all 3.96 0.00 2.64 0.00 0.00 93.40
07:22:04 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:05 PM lo 412.50 412.50 104.44 104.44 0.00 0.00 0.00
07:22:05 PM eth0 13.75 12.50 1.32 1.26 0.00 0.00 0.00
07:22:05 PM eth1 903.75 707.50 174.12 62.42 0.00 0.00 0.00
07:22:05 PM CPU %user %nice %system %iowait %steal %idle
07:22:06 PM all 5.25 0.00 4.46 2.10 0.00 88.19
07:22:05 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:06 PM lo 849.41 849.41 154.54 154.54 0.00 0.00 0.00
07:22:06 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:06 PM eth1 1287.06 1337.65 84.48 461.76 0.00 0.00 0.00
07:22:06 PM CPU %user %nice %system %iowait %steal %idle
07:22:07 PM all 1.85 0.00 1.06 0.00 0.00 97.09
07:22:06 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:07 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:07 PM eth0 4.94 0.00 0.22 0.00 0.00 0.00 0.00
07:22:07 PM eth1 97.53 19.75 4.32 3.18 0.00 0.00 0.00
07:22:07 PM CPU %user %nice %system %iowait %steal %idle
07:22:08 PM all 1.58 0.00 1.32 0.00 0.00 97.11
07:22:07 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:08 PM lo 4.94 4.94 0.31 0.31 0.00 0.00 0.00
07:22:08 PM eth0 1.23 0.00 0.06 0.00 0.00 0.00 0.00
07:22:08 PM eth1 67.90 24.69 3.02 3.94 0.00 0.00 0.00
Average: CPU %user %nice %system %iowait %steal %idle
Average: all 3.63 0.00 2.55 0.84 0.00 92.98
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: lo 212.61 212.61 50.54 50.54 0.00 0.00 0.00
Average: eth0 42.79 41.70 3.27 41.84 0.00 0.00 0.00
Average: eth1 492.48 432.48 53.63 110.40 0.00 0.00 0.00
浏览量:3
下载量:0
时间:
CPU是电脑的重要组成部分,是不可缺少的角色。下面是读文网小编带来的关于cpu中4线程是什么意思的内容,欢迎阅读!
处理技术在解释超流水线与超标量前,先了解流水线(Pipeline)。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。
在CPU中由5-6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5-6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。
经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以空间换取时间。
例如Pentium 4的流水线就长达20级。将流水线设计的步(级)越长,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。但是流水线过长也带来了一定副作用,很可能会出现主频较高的CPU实际运算速度较低的现象,Intel的奔腾4就出现了这种情况,虽然它的主频可以高达1.4G以上,但其运算性能却远远比不上AMD 1.2G的速龙甚至奔腾III-s。
CPU封装是采用特定的材料将CPU芯片或CPU模块固化在其中以防损坏的保护措施,一般必须在封装后CPU才能交付用户使用。CPU的封装方式取决于CPU安装形式和器件集成设计,从大的分类来看通常采用Socket插座进行安装的CPU使用PGA(栅格阵列)方式封装,而采用Slot x槽安装的CPU则全部采用SEC(单边接插盒)的形式封装。
还有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封装技术。由于市场竞争日益激烈,CPU封装技术的发展方向以节约成本为主。
多线程同时多线程Simultaneous Multithreading,简称SMT。SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。
当没有多个线程可用时,SMT处理器几乎和传统的宽发射超标量处理器一样。SMT最具吸引力的是只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。多线程技术则可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。这对于桌面低端系统来说无疑十分具有吸引力。Intel从3.06GHz Pentium 4开始,部分处理器将支持SMT技术。
浏览量:2
下载量:0
时间:
cpu双核心四线程什么意思,下面是读文网小编带来的关于cpu双核心四线程什么意思:的内容,欢迎阅读!
1:什么是超线程技术?超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。因此支持Intel超线程技术的cpu,打开超线程设置,允许超线程运行后,在操作系统中看到的cpu数量是实际物理cpu数量的两倍,就是1个cpu可以看到两个,两个可以看到四个。
有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel,Windows 7,Windows 8
浏览量:4
下载量:0
时间:
线程:程序运行流的最小单元,一个程序是有一个或多个线程组成。 作用: cpu线程越多,程序运行越快,或者可以同时运行的程序越多。换句话说,cpu线程越多电脑越不容易卡。同时,CPU支持的线程数越多,说明它的性能越强。下面是读文网小编带来的关于cpu线程数是什么的内容,欢迎阅读!
为了了解怎样超频系统,首先必须懂得系统是怎样工作的。用来超频最常见的部件就是处理器了。推土机FX8.429G主频破世界纪录在购买处理器或CPU的时候,会看到它的运行速度。例如,Pentium 4 3.2GHz CPU运行在3200MHz下。这是对一秒钟内处理器经历了多少个时钟周期的度量。
一个时钟周期就是一段时间,在这段时间内处理器能够执行给定数量的指令。所以在逻辑上,处理器在一秒内能完成的时钟周期越多,它就能够越快地处理信息,而且系统就会运行得越快。1MHz是每秒一百万个时钟周期,所以3.2GHz的处理器在每秒内能够经历3,200,000,000或是32亿个时钟周期。
超频的目的是提高处理器的GHz等级,以便它每秒钟能够经历更多的时钟周期。计算处理器速度的公式是这个:外频(以MHz为单位)×倍频 = 速度(以MHz为单位)。FSB = 外频 × 4(AMD Athlon XP处理器除外)现在来解释FSB和倍频是什么:FSB(对AMD处理器来说是HTT*),或前端总线,就是整个系统与CPU通信的通道。
所以,FSB能运行得越快,显然整个系统就能运行得越快。CPU厂商已经找到了增加CPU的FSB有效速度的方法。他们只是在每个时钟周期中发送了更多的指令。所以CPU厂商已经有每个时钟周期发送两条指令的办法(AMD CPU),或甚至是每个时钟周期四条指令(Intel CPU),而不是每个时钟周期发送一条指令。
那么在考虑CPU和看FSB速度的时候,必须认识到它不是真正地在那个速度下运行。Intel CPU是"四芯的",也就是它们每个时钟周期发送4条指令。这意味着如果看到800MHz的FSB,潜在的FSB速度其实只有200MHz,但它每个时钟周期发送4条指令,所以达到了800MHz的有效速度。相同的逻辑也适用于AMD CPU,不过它们只是"二芯的",意味着它们每个时钟周期只发送2条指令。所以在AMD CPU上400MHz的FSB是由潜在的200MHz FSB每个时钟周期发送2条指令组成的。
浏览量:2
下载量:0
时间:
CPU多线程同简称SMT。下面是读文网小编带来的关于CPU多线程同简称SMT。的内容,欢迎阅读!
首先我要说,如果你很小心并且知道要做什么的话,那对你来说,通过超频要对计算机造成任何永久性损伤都是非常困难的。如果把系统超得太过的话,会烧毁电脑或无法启动。但仅仅把它推向极限是很难烧毁系统的。然而仍有危险。第一个也是最常见的危险就是发热。
在让电脑部件高于额定参数运行的时候,它将产生更多的热量。如果没有充分散热的话,系统就有可能过热。不过一般的过热是不能摧毁电脑的。由于过热而使电脑报废的唯一情形就是再三尝试让电脑运行在高于推荐的温度下。就我说,应该设法抑制在60℃以下。不过无需过度担心过热问题。在系统崩溃前会有征兆。
随机重启是最常见的征兆了。过热也很容易通过热传感器的使用来预防,它能够显示系统运行的温度。如果你看到温度太高的话,要么在更低的速度下运行系统,要么采用更好的散热。超频的另一个"危险"是它可能减少部件的寿命。在对部件施加更高的电压时,它的寿命会减少。
小小的提升不会造成太大的影响,但如果打算进行大幅超频的话,就应该注意寿命的缩短了。然而这通常不是问题,因为任何超频的人都不太可能会使用同一个部件达四、五年之久,并且也不可能说任何部件只要加压就不能撑上4-5年。大多数处理器都是设计为最高使用10年的,所以在超频者的脑海中,损失一些年头来换取性能的增加通常是值得的。
浏览量:2
下载量:0
时间:
CPU大家都知道,是中央处理器,电脑的核心,那么,CPU超线程技术,大家了解吗?读文网小编在这里给大家介绍CPU超线程技术的相关知识。
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。
尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每各CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。目前支持超线程技术的芯片组包括如:英特尔i845GE、PE及矽统iSR658 RDRAM、SiS645DX、SiS651可直接支持超线程;英特尔i845E、i850E通过升级BIOS后可支持;威盛P4X400、P4X400A可支持,但未获得正式授权。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x以后的版本也支持超线程技术。
英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。
浏览量:2
下载量:0
时间:
有时候为了更好地操作机器, 需要将某个进程绑定到具体的CPU上去,那么Ubuntu怎么绑定CPU进程呢?就让读文网小编来告诉大家Ubuntu绑定CPU进程的方法吧,希望对大家有所帮助。
taskset -cp 《CPU ID | CPU IDs》 《Process ID》
下面用一个简单的例子来说明怎样做到。
1. CPU利用率达100%的样例代码:
class Test {
public static void main(String args[]) {
int i = 0;
while (true) {
i++;
}
}
}
2. 编译并运行上面的样例代码
# javac Test.java
# java Test &
[1] 26531
3. 使用htop命令查看CPU的利用率
如果未安装htop工具,执行下面的命令:
# apt-get install htop
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
htop
0 upgraded, 1 newly installed, 0 to remove and 41 not upgraded.
Need to get 66.9 kB of archives.
After this operation, 183 kB of additional disk space will be used.
Get:1 http://mirrors.163.com/ubuntu/ precise/universe htop amd64 1.0.1-1 [66.9 kB]
Fetched 66.9 kB in 0s (163 kB/s)
Selecting previously unselected package htop.
(Reading database ... 57100 files and directories currently installed.)
Unpacking htop (from .../htop_1.0.1-1_amd64.deb)...
Processing triggers for man-db ...
Setting up htop (1.0.1-1)...
安装完成后,执行命令:
# htop
上面的视图可以看到,CPU2的利用率达到100%,且这个进程有可能被分配到其它CPU核上运行,这个分配是不定的。
4. 进程绑定CPU核
运行以下命令,把此Java进程(进程ID号为26502)永久的分配给5号CPU核(CPU核号从0开始计算,因此序号4指的是5号CPU核)
# taskset -cp 5 26531
pid 26531‘s current affinity list: 0-7
pid 26531’s new affinity list: 5
从上面的视图中可以看到6号CPU核的利用率为100%。
随着CPU核的多个化,这样的绑定方法也是一样的,无论绑定哪个CPU核都能启动同样的效果,相信大家都追求运行的高速度,赶快来学习绑定CPU进程的方法吧!
看过“Ubuntu怎么绑定CPU进程”
浏览量:2
下载量:0
时间: