精华内容
下载资源
问答
  • 单核CPU和多核CPU
    2022-02-21 20:30:38

    单核:一次只能执行一个线程,CPU按时间片执行,同一个时间片只能执行一个线程。时间片切换快,会造成多线程执行的假象。实际是单线程,一个时间只执行一个线程。

    多核:多个CPU可同时执行多个线程。真正意义上一个时间片多线程同时执行。

    更多相关内容
  • 单核CPU和多核CPU的理解

    千次阅读 2021-08-31 16:18:08
    单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程的任务。例如:虽然有多车道,但是收费站只有一个工作人员在收费,只有收了费才能通过,那么CPU就好比收费人员。如果某个人不想交钱,那么...

    单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程的任务。例如:虽然有多车道,但是收费站只有一个工作人员在收费,只有收了费才能通过,那么CPU就好比收费人员。如果某个人不想交钱,那么收费人员就可以把他“挂起”(晾着他,等他想通了,准备好了钱,再去收费)。但是因为CPU时间单元特别短,因此感觉不出来

    多核CPU,能更好的发挥多线程的效率(现在服务器都是多核的)。

    一个Java应用程序java.exe,其实至少三个线程,main()主线程,gc()垃圾回收线程,异常处理线程。当然如果发生主异常,会影响主程序。

    并发和并行的理解:

    并行:多个CPU同时执行多个任务。比如:多个人同时做不同的事

    并发:一个CPU(采用时间片)同时执行多个任务。如:秒杀、多个人你做同一件事

    展开全文
  • 单核CPU多核CPU区别

    万次阅读 2019-09-03 21:00:17
    1、单核CPU 1.1 工作原理 工作原理:单核CPU较为死脑,在通电时该CPU就会执行存储块中的指定地址的指令,如果你想要执行内存块其他地方的代码必须调整总线位置才可以让其执行。单核CPU就相当于阻塞程序,在工作...

    1、单核CPU

    1.1 工作原理

    工作原理:单核CPU较为死脑,在通电时该CPU就会执行存储块中的指定地址的指令,如果你想要执行内存块其他地方的代码必须调整总线位置才可以让其执行。单核CPU就相当于阻塞程序,在工作期间只能执行某一个程序!

    每一个CPU都需要有较为独立的电路支持,有自己的Cache,而他们之间通过板上的总线进行通信。

    假如在这样的架构上,我们要跑一个多线程的程序,不考虑超线程,那么每一个线程就要跑在一个独立的CPU上,线程间的所有协作都要走总线,而共享的数据更是有可能要在好几个Cache里同时存在。

    1.2起源

    CPU的起源是1971年英特尔公司推出,由此正式宣告计算机的诞生,可以说是世界级的改变,并且严格准守冯诺依曼体系结构,在英特尔推出CPU之前的计算机所使用的处理器工作是非常麻烦的,需要复杂的线路组合才能使其正常工作,当然英特尔推出的CPU也是需要线路组合,但是相比之前的线路英特尔的要较为简洁,并且英特尔将这些线路组合称为总线!


    2、多核CPU

           多核心cpu主要分原生多核和封装多核。
      原生多核指的是真正意义上的多核,最早由AMD提出,每个核心之间都是完全独立的,都拥有自己的前端总线,不会造成冲突,即使在高负载状况下,每个核心都能保证自己的性能不受太大的影响,通俗的说,原生多核的抗压能力强,但是需要先进的工艺,每扩展一个核心都需要很多的研发时间。
      封装多核是只把多个核心直接封装在一起,比如Intel早期的PD双核系列,就是把两个单核直接封装在一起,但两核心只能共同拥有一条前端总线,在两个核心满载时,两个核心会争抢前端总线,导致性能大幅度下降,所以早期的PD被扣上了“高频低能”的帽子,要提高封装多核的性能,在多任务的高压下尽量减少性能损失,只能不断的扩大前端总线的总体大小,来弥补多核心争抢资源带来的性能损失,但这样做只能在一定程度上弥补性能的不足,和原生的比起来还是差了很多,而且后者成本比较高,优点在于多核心的发展要比原生快的多。

           我们只需要一套芯片组,一套存储,多核之间通过芯片内部总线进行通信,共享使用内存。在这样的架构上,如果我们跑一个多线程的程序,那么线程间通信将比上一种情形更快。

    3、

    (1)CPU个数即CPU芯片个数。

    (2)CPU的核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。

    (3)线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核心数。比如,可以通过一个CPU核心数模拟出2线程的CPU,也就是说,这个单核心的CPU被模拟成了一个类似双核心CPU的功能。我们从任务管理器的性能标签页中看到的是两个CPU。 比如Inte l赛扬G460是单核心,双线程的CPU,Intel 酷睿i3 3220是双核心 四线程,Intel 酷睿i7 4770K是四核心 八线程 ,Intel 酷睿i5 4570是四核心 四线程等等。 对于一个CPU,线程数总是大于或等于核心数的。一个核心最少对应一个线程,但通过超线程技术,一个核心可以对应两个线程,也就是说它可以同时运行两个线程。 

    CPU的线程数概念仅仅只针对Intel的CPU才有用,因为它是通过Intel超线程技术来实现的,最早应用在Pentium4上。如果没有超线程技术,一个CPU核心对应一个线程。所以,对于AMD的CPU来说,只有核心数的概念,没有线程数的概念。 

    4、

    在Windows中,在cmd命令中输入“wmic”,

    然后在出现的新窗口中分别输入“cpu get Name”,“cpu get NumberOfCores”,“cpu get NumberOfLogicalProcessors”即可查看物理CPU数、CPU核心数、线程数。

     

    展开全文
  • 单核CPU vs. 多核CPU

    千次阅读 2019-09-16 12:06:37
    多核CPU 单核CPU 起源: CPU的起源是1971年英特尔公司推出,由此正式宣告计算机的诞生,可以说是世界级的改变,并且严格准守冯诺依曼体系结构,在英特尔推出CPU之前的计算机所使用的处理器工作是非常麻烦的,...

    单核CPU vs. 多核CPU

    单核CPU

    起源:

    CPU的起源是1971年英特尔公司推出,由此正式宣告计算机的诞生,可以说是世界级的改变,并且严格准守冯诺依曼体系结构,在英特尔推出CPU之前的计算机所使用的处理器工作是非常麻烦的,需要复杂的线路组合才能使其正常工作,当然英特尔推出的CPU也是需要线路组合,但是相比之前的线路英特尔的要较为简洁,并且英特尔将这些线路组合称为总线!

    工作原理:

    单核CPU较为死脑,在通电时该CPU就会执行存储块中的指定地址的指令,如果你想要执行内存块其他地方的代码必须调整总线位置才可以让其执行!

    单核CPU就相当于阻塞程序,在工作期间只能执行某一个程序!

    单核(超时间轴)CPU

    显而易见,单核CPU并不是长久的,所以英特尔推出了时间轴的工作方式,一个CPU干上两个或两个以上的CPU的活。因为CPU的工作速度取决于晶体管,晶体管越多,CPU每秒工作率就越大,英特尔就想了一个增加CPU的晶体管的办法,让CPU的工作频率赫兹增加,然后增加北桥芯片用于和内存通讯,再将地址总线与内存对应起来(以次方的方式),这样就无需每次执行其他程序前修改一次线路了。

    最后需要操作系统的帮忙,当CPU通电时会一直执行某一块内存的代码,但是无需手动修改线路了。此外CPU中还有时钟电路,该电路用于控制CPU多少毫秒跳转到指定地址,那么操作系统可以利用时钟电路让其CPU跳转到其他地方,然后再跳转回来!

    PS:晶体管是一种固体半导体器件,具有检波、整流、放大、开关、稳压、信号调制等多种功能。晶体管作为一种可变电流开关,能够基于输入电压控制输出电流。

    多核CPU

    多核CPU,即多个CPU组成。这些CPU集成在一个芯片里,可以通过内部总线来交互数据,共享数据,这些CPU中分配出一个独立的核执行操作系统,每个核都有自己的寄存器,ALU运算单元等(这些都是封装在CPU内部的),但是一级二级缓存是共享的,这些CPU通过总线来交互数据,并且工作是并行的,资源分配是由操作系统来完成,操作系统来决定程序CPU的控制权分配,所以一个多核CPU的工作效率大多体现在操作系统的分配上,因为一个CPU基本上可以执行很多个程序,通过PCB进程控制块的方式存储当前代码段,然后来回跳转,所以当CPU核过多时,操作系统在分配时可能会导致部分CPU闲置!

    多个CPU

    即拥有多个CPU的主机,每个CPU只能用来独立执行不同的程序,这些CPU都是单核的,不用在家用电脑,只用在特定的机器上。因为单核CPU执行一个程序比来回跳转执行的速度要快很多,但是难以管理。每个CPU有自己的总线,一级二级缓存,那么这样需要更大的占用面积,更多的总线,因为这些CPU不是封装在一个芯片里的!

    单核CPU和多核CPU的区别:

    双核的优势不是频率,而是对付同时处理多件事情。单核同时只能干一件事,比如你同时在后台BT下载,前台一边看电影一边拷贝文件一边QQ。这么多程序同时需要CPU来响应要靠操作系统,Windows本身就是多线程操作系统(DOS就是单线程系统,DOS下双核和单核没区别,处理一个任务时必须停下来等待处理结束才能干下一件事),它可以把每个处理任务划分为“多份”,多个处理任务按顺序排成队列,这样单核的CPU可以一次处理“一份”,轮流处理每个程序的“份”,这样感觉就是CPU同时在干几件事了。但如果CPU不够强劲,同时排队等待处理的东西太多了,那就会感觉系统在等待、有延时、反应慢等症状。再或者某个程序出现错误,死机了,造成后面排队的其他任务都在那里干等,造成系统无反应。

    双核CPU就是基板上集成有多个单核CPU,自己集成了任务分配系统,再搭配操作系统就能真正同时开工,两个核心同时处理“两份”任务,速度快了,万一一个核心死机,起码另一个CPU还可以继续处理关闭软件、关机等任务。

    所以一方面每个核心的性能还在发展,另一方面多核心集成的手段双管齐下,这样CPU的性能可以迅速提升。1G双核应该比1G单核快近2倍,那么1G的4核应该比1G的双核快近2倍!如果有4G的双核,那么应该和2G的四核性能近似。


    下面是一些道友的见解,记录于此处,便于以后查阅:

    @ 单核CPU上运行的多线程程序, 同一时间只能一个线程在跑, 系统帮你切换线程而已, 系统给每个线程分配时间片来执行, 每个时间片大概10ms左右, 看起来像是同时跑, 但实际上是每个线程跑一点点就换到其它线程继续跑。

    @ 多线程的用处在于,做某个耗时的操作时,需要等待返回结果,这时用多线程可以提高程序并发程度。如果一个不需要任何等待并且顺序执行能够完成的任务,用多线程简直是浪费。

    @ 线程必然不是越多越好,线程切换也是要开销的,当增加一个线程时,额外开销要小于该线程能够消除的阻塞时间,这才叫物有所值。Linux自从2.6内核开始,就会把不同的线程交给不同的核心去处理。Windows也从NT.4.0开始支持这一特性。

    @ 什么时候该使用多线程呢?这要分四种情况讨论:

    a.多核CPU——计算密集型任务。此时要尽量使用多线程,可以提高任务执行效率,例如加密解密,数据压缩解压缩(视频、音频、普通数据),否则只能使一个核心满载,而其他核心闲置。

    b.单核CPU——计算密集型任务。此时的任务已经把CPU资源100%消耗了,就没必要也不可能使用多线程来提高计算效率了;相反,如果要做人机交互,最好还是要用多线程,避免用户没法对计算机进行操作。

    c.单核CPU——IO密集型任务,使用多线程还是为了人机交互方便。

    d.多核CPU——IO密集型任务,这就更不用说了,跟单核时候原因一样。

    @ CPU的多核和应用程序的多线程的关系

            多核指的是CPU有多个核心,多线程是程序有多个线程在同时执行。

            多核要用多线程才能发挥优势。同样,多线程要在多核上才能真正有优势。

            这点来说,对程序员不是透明的。程序员可以控制程序/线程在哪个CPU(核)上运行。用户也可以控制程序在哪几个核上运行。所以,多核、多线程对用户和程序员都不是透明的。


    继续补充一点关于“进程、线程”的知识

    进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,即进程是操作系统进行资源分配的最小单元。进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。

    线程是进程内部的一个执行单元。系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数地址形式,比如说main或WinMain函数,将程序的启动点提供给Windows系统。主执行线程终止了,进程也就随之终止。

    每一个进程至少有一个主执行线程,它无需由用户去主动创建,是由系统自动创建的。用户根据需要在应用程序中创建其它线程,多个线程并发地运行于同一个进程中。一个进程中的所有线程都在该进程的虚拟地址空间中,共同使用这些虚拟地址空间、全局变量和系统资源,所以线程间的通讯非常方便,多线程技术的应用也较为广泛。

    多线程可以实现并行处理,避免了某项任务长时间占用CPU。要说明的一点是,目前大多数的操作系统教材中的单处理器都是指的单核处理器。对于单核单处理器(CPU),为了运行所有这些线程,操作系统为每个独立线程安排一些CPU时间,操作系统以轮换方式向线程提供时间片,这就给人一种假象,好像这些线程都在同时运行。由此可见,如果两个非常活跃的线程为了抢夺对CPU的控制权,在线程切换时会消耗很多的CPU资源,反而会降低系统的性能。

    最开始,线程只是用于分配单个处理器的处理时间的一种工具。但假如操作系统本身支持多个处理器,那么每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态。从程序设计语言的角度看,多线程操作最有价值的特性之一就是程序员不必关心到底使用了多少个处理器,只需将程序编写成多线程模式即可。程序在逻辑意义上被分割为数个线程;假如机器本身安装了多个处理器,那么程序会运行得更快,毋需作出任何特殊的调校。

    根据前面的论述,大家可能感觉线程处理非常简单。但必须注意一个问题:共享资源!如果有多个线程同时运行,而且它们试图访问相同的资源,就会遇到一个问题。举个例子来说,两个线程不能将信息同时发送给一台打印机。为解决这个问题,对那些可共享的资源来说(比如打印机),它们在使用期间必须进入锁定状态。所以一个线程可将资源锁定,在完成了它的任务后,再解开(释放)这个锁,使其他线程可以接着使用同样的资源。

    线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。

    最简单的比喻,多线程就像火车的每一节车厢,而进程则是火车。车厢离开火车是无法跑动的,同理火车也不可能只有一节车厢。多线程的出现就是为了提高效率。同时它的出现也带来了一些问题。

    注:单核处理器并不是一个长久以来存在的概念,在近年来多核心处理器逐步普及之后,单核心的处理器为了与双核和四核对应而提出。顾名思义处理器只有一个逻辑核心。

    多核处理器和多处理器的区别

    多核是指一个CPU有多个核心处理器,处理器之间通过CPU内部总线进行通讯。而多CPU是指简单的多个CPU工作在同一个系统上,多个CPU之间的通讯是通过主板上的总线进行的。

    从以上原理可知,N个核的CPU,要比N个CPU在一起的工作效率要高(单核性能一致的情况下)。 

    展开全文
  • 单核CPU:其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程的任务 一个Java应用程序java.exe,其实至少有三个线程 * main()主线程 * gc()垃圾回收线程 * 异常处理线程。当然如果发生异常,会影响...
  • 单核CPU多核CPU工作原理

    万次阅读 多人点赞 2018-06-21 16:43:43
    单核CPU多核CPU工作原理今天要介绍一下单核CPU和单核(超时间轴)CPU以及多核CPU的工作原理 一.单核CPU起源:CPU的起源是1971年英特尔公司推出,由此正式宣告计算机的诞生,可以说是世界级的改变,并且严格准守冯...
  • 文章目录1、程序、进程与线程2、单核CPU和多核CPU3、并发与并行 1、程序、进程与线程 程序( program) 是为完成特定任务、用某种语言编写的一组指令的集合。 即指 一段静态的代码 ,静态对象。 进程( process) 是程序...
  • 单核和多核CPU上多线程执行效率的探讨a1: 多线程实际上是在单个CPU中按顺序执行的,但是系统可以帮助您切换该执行,但是它不是很快的(相反,是缓慢的)如果有多个cpus,则可以同时在两个cpus中执行.........a2: 在...
  • 1.多线程在单核和多核CPU上的执行效率问题的讨论a1: 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个执行而已,其实并没有快(反而慢)多个cpu的话就可以在两个cpu中同时执行了..............a2: ...
  • 电脑CPU单核多核区别

    千次阅读 2021-07-13 00:22:38
    满意答案qinxiaoliao2013.01.26采纳率:54%等级:...这么多程序同时需要CPU来响应要靠操作系统,window本身就是多线程操作系统(DOS就是单线程系统,dos下2核和单核区别,处理一个任务时必须停下来等待处理结束才能...
  • 单核性能:一个处理器工作。比如,你玩大型单机游戏孤岛惊魂5,只玩游戏,不开QQ等其他软件,这样的话,单核性能越好,游戏FPS越高,游戏越流畅,越好。多核性能:多个处理器...扩展资料:cpu的性能:1、处理指令英...
  • 单核和多核计算机CPU之间的区别

    千次阅读 2021-06-26 05:59:09
    双核2113的优势不是频率,而是同时处理5261个以上的事物.... DOS下2核和单核之间没有区别. 处理任务时,您必须停止并等待处理完成才能完成. (一件事),它可以将每个处理任务分为多个“份额”,多个处...
  • 多核CPU和单核区别~

    千次阅读 2021-10-30 00:12:58
    昨天有同学问我多核cpu和单核区别大不大,今天简单写一篇回复下吧。大家有其他问题也可以文末给我留言,我会尽量抽时间写文回复。首先回顾下基本概念,cpu,就是中央处理器,包括运算器控制器...
  • 1、程序(Program) 是为完成特定任务,用 某种语言编写的一组指令的集合,即指一段静态的代码,静态对象 2、进程(process) 是程序的一次执行过程,或是...线程作为调度执行的单位,每个线程拥有独立的运行栈程序
  • 1.多线程在单核和多核CPU上的执行效率问题的讨论 a1: 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个执行而已,其实并没有快(反而慢)多个cpu的话就可以在两个cpu中同时执行了.............. a2:...
  • 多个单核CPU和单个多核CPU

    千次阅读 2017-06-19 14:45:06
    如果我们选择多个单核CPU,那么每一个CPU都需要有较为独立的电路支持,有自己的Cache,而他们之间通过板上的总线进行通信。假如在这样的架构上,我们要跑一个多线程的程序(常见典型情况),不考虑超线程,那么每一...
  • 单核cpu和多核cpu的区分: 1.单核cpu: 实际上是一种假的多线程,因为在同一时间单元内 ,只能执行一个线程任务,只不过在非常短时间内迅速切换执行不同线程,让人误认为是在同时执行多个线程 2.多核cpu: 可同时执行...
  • https://www.cnblogs.com/caihuafeng/p/5438753.html
  • * Requires: Ability to peruse the filesystem at “/sys/devices/system/cpu” * @return The number of cores, or 1 if failed to get result */ private int getNumCores() { //Private Class to display only ...
  • 还有其他一些自旋锁操作: spin_lock_irqsave不仅获得自旋锁,还停用本地CPU的中断,而spin_lock_bh则停用softIRQ(软中断)。用这两个操作获得的自旋锁必须用对应的接口释放,分别是spin_unlock_irqsavespin_...
  • 常见的操作系统,如:Mac OS X、UNIX、Linux、Windows,都是执行“多任务”的操作系统 单核CPU执行多任务 操作系统轮流让各个任务交替执行,任务1执行0.01s,切换到任务2,任务2执行0.01s,再切换到任务3...,由于...
  • [PConline 杂谈]如今的办公场景中,混杂着各种各样的应用...为此,我定了一个办公应用场景需求测试:到底是“单核强”制胜,还是“核心多”更舒服?办公场景:时代变了,办公不再局限于文字处理以我从事的媒体行业为...
  • 1.多线程在单核和多核CPU上的执行效率问题的讨论 a1: 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个执行而已,其实并没有快(反而慢) 多个cpu的话就可以在两个cpu中同时执行了………….. a2: 单核...
  • 架构、核心、主频作为决定电脑CPU性能的核心三要素,在同代相同架构环境下,如果不考虑预算,自然是选择CPU核心主频越高的越好。...买CPU是选多核还是高主频?CPU主频核数哪个重要?首先来说说CPU核心与主频...
  • 单核性能重要还是多核性能重要?

    千次阅读 2021-08-04 02:20:44
    UserBenchmark调整CPU评测权重惹争议 大骂媒体不称职CPU处理器中,ZVN4106FTA单核性能重要还是多核性能重要?这个问题恐怕没有完美的回答,单核是性能基础,但是目前CPU的核心数会越来越多,AMD、Intel在主流桌面CPU...
  • 线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度分派的基本单位。 一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈局部变量。 线程由CPU独立调度执行,在多CPU...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,868
精华内容 11,947
关键字:

单核cpu和多核cpu的区别