精华内容
下载资源
问答
  • 处理器和多核处理器的区别

    万次阅读 多人点赞 2017-04-16 16:46:50
    多核处理器:单个多核处理器,也就是说电脑处理器,但是这处理器是多核的;  当然他们之间很大的区别,对于这两疑点,或许你一直是这么认为的(对于时间的执行效率区别),但是更重要的

    最近遇到了一个让人很是疑惑的问题,然后写出来供大家解疑:



    多个处理器&多核处理器?

    多个处理器:多个单核处理器,就是说电脑和处理器有多个,但是这个电脑的处理器是单核的;

    多核处理器:单个多核处理器,也就是说电脑有一个处理器,但是这个处理器是多核的;

            当然他们之间有这个很大的区别,对于这两个疑点,或许你一直是这么认为的(对于时间的执行效率有区别),但是更重要的不止这些,最为重要的是它们的资源利用率问题,下面我们讨论一下关于二者究竟谁更优秀:

            对于多个处理器而言,它们在执行命令的时候多个处理器之间的通信手段是电脑主板上的总线;而对于多核处理器而言,多个核心处理器之间通信时通过CPU内部总线进行信息的交互的。对于执行效率而言,多核处理器要优于多个处理器,在生活中,我们的电脑上常见的处理器都是单处理器,但是这个处理器是多核的,当然,一些IT工作者的电脑如果是在要求较高的环境下工作时,都采用的多个多核处理器配置。

           当然对于进程和线程问题而言,结合处理器问题,是这样的,进程资源调度的基本单位,线程是进程的一个实体,是一个执行单元,一个进程可能包含有很多个线程,计算机在启动之后,一个进程最少包含一个主线程,如果这个主线程结束了,那么这个进程也就终止执行了,主线程是以函数的形式提供给操作系统的。对于并行计算是在多处理器的情况下,操作系统把多个线程分配给响应的处理器,然后各自执行任务。

    展开全文
  • 多核处理器介绍

    千次阅读 2020-03-24 11:18:22
    多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每执行内核作为分立的逻辑处理器。通过在多执行内核之间划分任务,多核处理器可在特定的时钟周期...

    多核是多微处理器核的简称,是将两个或更多的独立处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。

    多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”,利用它编程的概念就叫作“多线程处理”。

    如果某个系统支持两个或者多个动作(Action)同时存在,那么这个系统就是一个并发系统。如果某个系统支持两个或者多个动作同时执行,那么这个系统就是一个并行系统。

     

    多核编程技术主要包括并行计算、共享资源分布式计算、任务分解与调度、Lock-Free编程等内容。其中共享资源分布式计算、任务分解与调度是最重要的内容,也是大多数程序员未接触过的内容,许多并行算法都可以通过它们来实现。多核编程模式主要是提供一种多核并行与分布式编程的普遍方法,有了这些编程模式后,程序员不再需要去学习各种复杂的并行算法,它可以复用现有的串行算法,很容易地实现并行和分布式计算。在多核编程技术中,最重要的一点是如何将计算均匀分摊到各个CPU核上。

    多核时代的到来,给程序员的编程思维带来了巨大的冲击和挑战。为了能够充分利用多核性能,程序员必须学会以分块的思维设计程序,以多进程或多线程的形式来编写程序。到底应该使用多进程还是多线程的形式来编写程序,是最让程序员感到困惑的问题之一,这些需要根据具体的应用来决定。在通常情况下,使用多线程进行多核编程比使用多进程有更大的优势,因为:

    (1)线程的创建和切换开销比进程更小。

    (2)线程之间通信的方式比较多,而且简单也更有效率。

    (3)多线程有很多的基础库支持。

    (4)多线程的程序比多进程的程序更容易理解和修改。

    除了编程形式,使用多线程编程的动机也发生了改变。过去,Windows程序员使用多线程的主要原因之一是为了提高用户程序运行效率,例如,在长时间的计算中提高GUI、I/O或者网络的响应速度。而在多核时代编写应用程序为了充分利用多个计算核心,缩短计算时间,或者在相同的时间段内计算更多任务。例如,在进行游戏编程时,通过多线程的方式把碰撞检测的计算分散到多个CPU内核,就可以大大缩减计算时间,也可以利用多核做更细致的检测计算,从而能够模拟更加真实的碰撞。

    处理器所能交换的最小存储单元就是一个cache行,或者一个cache块。两个独立的cache在需要读取同一cache行时,会共享该cache行。但如果在其中一个cache中,该cache行被写入,而在另一个cache中该cache行被读取,那么即使读写的地址不相交,也需要在这两个cache之间移动该cache行。就像两个人同时在写一本日志的两个不同部分,两人的写入动作相互独立,但是除非将日志撕成两半,否则这两个人必须来回地互相传递这本日志。同样地,两个硬件线程在写入一个cache的不同部分时,互相竞争cache,就像在进行乒乓球比赛。

    展开全文
  • 多核处理器发展

    2019-12-19 14:54:25
    多核处理器最直接的发展则认为是始于 IBM。IBM 在 2001 年发布了双核 RISC 处理器 POWER4,它将两 64 位 PowerPC 处理器内核集成在同一颗芯片上,成为首款采用多核设计的服务器处理器。在 UNIX 阵营当中,两大巨头...

    多核处理器最直接的发展则认为是始于 IBM。IBM 在 2001 年发布了双核 RISC 处理器 POWER4,它将两个 64 位 PowerPC 处理器内核集成在同一颗芯片上,成为首款采用多核设计的服务器处理器。在 UNIX 阵营当中,两大巨头 HP 和 Sun 也相继在 2004 年 2 月和 3 月发布了名为 PA-RISC8800 和 UltraSPARC IV 的双内核处理器。 
     
    目前的多核处理器的推出已经愈加频繁,在推出代号为 Niagara 的 8 核处理器之后,Sun 还计划在今年年中推出 Niagara 2 处理器。IBM 的 Cell 处理器,结合了 1 个 PowerPC 核心与 8 个协处理器构成的 Cell 微处理器已经正式量产,并应用于 PS3 主机、医学影像处理、3D 计算机绘图、影音多媒体等领域。 
     
    而真正意义上让多核处理器进入主流桌面应用,是从 IA 阵营正式引入多核架构开始。 
    AMD 在 2005 年 4 月推出了它的双核处理器 Opteron,专用于服务器和工作站。紧随其后它又推出了 Athlon 64 X2 双核系列产品,专用于台式机。目前,应用于高端台式机和笔记本的 FX-60, FX-62 以及 Turion 64 X2 产品都已经出现在市场上。 
     
    2006 年 5 月,英特尔发布了其服务器芯片 Xeon 系列的新成员—双核芯片 Dempsey。该产品使用了 65 纳米制造工艺,其 5030 和 5080 型号的主频在 2.67GHz 和 3.73GHz 之间。紧随其后的 6 月份,另一款双核芯片 Woodcrest(Xeon 5100 系列)登场。英特尔声称与奔腾 D 系列产品相比,其计算性能提高了 80%,能耗降低了 20%。 
     
    继双核之后,英特尔已经在 2006 年 11 月抢先推出了四核产品,AMD 也推出代号为巴塞罗那的四核处理器。 
     

    展开全文
  •  多核处理器是指在一枚处理器中集成两或多完整的计算引擎(内核),此时处理器能支持系统总线上的多处理器,由总线控制器提供所有总线控制信号和命令信号。  2、多核处理器的优点和缺点  从应用需求...

    +关注

      摘要:目前关于处理器的单核、双核和多核已经得到了普遍的运用,今天我们主要说说关于多核处理器的一些相关概念,它的工作与那里以及优缺点而展开的分析。

      1、多核处理器

      多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核),此时处理器能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。

    处理器关于多核概念与区别 多核处理器工作原理及优缺点

      2、多核处理器的优点和缺点

      从应用需求上去看,越来越多的用户在使用过程中都会涉及到多任务应用环境,日常应用中用到的非常典型的有两种应用模式。

      一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。这类程序有的是为多路 工作站或服务器设计的专业程序,例如专业图像处理程序、非线视频编缉程序、动画制作程序或科学计算程序等。对于这类程序,两个物理核心和两颗处理器基本上是等价的,所以,这些程序往往可以不作任何改动就直接运行在 双核电脑上。

      还有一些更常见的日常应用程序。例如Office、IE等,同样也是采用线程级并行编程,可以在运行时同时调用多个线程 协同工作,所以在 双核处理器上的运行速度也会得到较大提升。例如,打开IE 浏览器上网。看似简单的一个操作,实际上浏览器进程会调用代码解析、Flash播放、多媒体播放、Java、 脚本解析等一系列线程,这些线程可以并行地被双核处理器处理,因而运行速度大大加快(实际上IE浏览器的运行还涉及到许多进程级的交互通信,这里不再详述)。由此可见,对于已经采用并行编程的软件,不管是专业软件,还是日常 应用软件,在多核处理器上的运行速度都会大大提高。 日常应用中的另一种模式是同时运行多个程序。

      许多程序没有采用并行编程,例如一些 文件压缩软件、部分游戏软件等等。对于这些 单线程的程序,单独运行在多核处理器上与单独运行在同样参数的 单核处理器上没有明显的差别。但是,由于日常使用的最最基本的程序—— 操作系统——是支持 并行处理的,所以,当在多核处理器上同时运行多个单线程程序的时候,操作系统会把多个程序的指令分别发送给多个核心,从而使得同时完成多个程序的速度大大加快。 另外,虽然单一的单线程程序无法体现出多核处理器的优势,但是多核处理器依然为 程序设计者提供了一个很好的平台,使得他们可以通过对原有的单线程序进行并行设计优化,以实现更好的程序运行效果。

      一些游戏厂商正在对原来的一些单线程游戏进行优化,采用并行编程使得游戏运行得更快。有的游戏可以使用一个线程实现人物动画,而使用另一个线程来载入地图信息。或者使用一个线程来实现图像渲染中的 矩阵运算,而使用另一个来实现更高的人工智能运算。如今,大量的支持多核心的游戏涌现出来,从而使得多核处理器的优势能得到进一步的发挥。

      优点:多线程,在一个时钟周期内能处理更多的任务 多任务处理 大缓存 高总线 这是单核处理器所达不到的

      缺点:功耗较大,需要特定平台支持 需要大容量内存跟进 一般的软件最多支持到两线程(双核)价格高

    处理器关于多核概念与区别 多核处理器工作原理及优缺点

      3、多核开发和多线程开发的区别

      在本质上,多核开发也就是利用多线程进行程序开发,让不同功能的进程在不同的核上运行,或者让同一进程中不同功能的线程在不同的核上运行。以往我们学习的算法都是面向单线程的,而多核开发时要将这些算法改造成支持多线程的算法,然后系统运行时会将多线程分配到多核处理器上,以实现运行的加速。

      不过和传统的多线程编程方式有所不同, 多核开发对于同步锁定等问题较简单,但是需要仔细分析出可并行计算的代码块来,让多线程能够在一个任务中并行。多线程开发的时候,你并不知道有几个物理CPU,而进行多核开发时,你肯定知道有多少个物理CPU了。

      4、多核处理器工作原理

      由程序程序决定。如果程序支持多核处理器,那么它会把要处理的数据分解成多个部分分别给予不同的核心寄存器让各个运算器共同运算,最后的结果汇总后由一个运算器处理好分发给下一步,或者直接由程序控制将各个运算结果下发给下一步。如果程序只支持单核,那就是很简单地把数据流供应给一个处理器处理。

    处理器关于多核概念与区别 多核处理器工作原理及优缺点

      5、总结

      目前,多核技术已经成为最受关注的话题和研究方向。多核体系结构为性能提高和节能计算等领域开辟了新的方向。然而,现在的多核处理器还没有统一的标准,基本上处于探索阶段。核与核之间的连接方式、通讯协调方式、同一处理器中核与核间结构的差异、器件资源分配策略、任务调度策略、节能策略、软硬件协同设计策略等方面都处于研究探索之中。多核必将带来影响整个计算机行业方方面面的巨大变革,包括体系结构研究、嵌入式系统设计和解决方案设计、编译技术、操作系统核心算法、应用软件设计等计算机系统的各个领域。

      在单核处理器研究中,主要集中在提高频率,提高指令级并行度等方面。而在多核体系中,更加关注核与核之间的协作、共享资源的分配、提高线程级并行度等方面。

      多核处理器必然带来一个问题是,需要提高程序的并行度,因为单线程程序是无法发挥多核处理器的优势的。通过编译优化可以把原先单线程的代码编译成多线程的形式。OpenMP提供了一种方法,程序员根据需要把可以并行处理的代码加上合适的标记,编译器根据这些标记把相应代码编译成多线程的程序段。多线程程序开发涉及到多线程调试的难题,这在多核处理器上会变得更加困难,所以多核体系导致程序开发模式发生巨大变化。

      多核处理器上的任务调度也是个新问题,常用的调度算法有全局队列调度和局部队列调度。前者是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU核心空闲时,操作系统就从全局任务等待队列中选取就绪任务开始在此核心上执行。这种方法的优点是CPU核心利用率较高。后者是指操作系统为每个CPU内核维护一个局部的任务等待队列,当系统中有一个CPU内核空闲时,便从该核心的任务等待队列中选取恰当的任务执行,这种方法的优点是任务基本上无需在多个CPU核心间切换,有利于提高CPU核心局部Cache命中率,从而提高系统的性能。目前多数CMP操作系统采用的是基于全局队列的任务调度算法。

    展开全文
  • 多核处理器分类-同构、...从应用来看,同构多核处理器中大多数由通用处理器核构成,每核可以独立运行,类似更强的单核处理器。 而异构多核处理器往往同时继承了通用处理器、DSP、FPGA、媒体处理器、网络处理器等,...
  • 【转】多核处理器的工作原理及优缺点 《处理器关于多核概念与区别 多核处理器工作原理及优... 多核处理器是指在一枚处理器中集成两或多完整的计算引擎(内核),此时处理器能支持系统总线上的多处理器,由总...
  • 多核处理器上的MMU和TLB

    千次阅读 2020-03-17 20:37:24
    虽然不记得在哪个文献上看到过,但确实记得看过类似的表述:对多核处理器,同一时间只能运行一进程里的多线程。一直没有深究过这句话的对错,直到看到linux的进程、线程模型,才对这句话产生了怀疑。在表述清楚...
  • 操作系统与多核处理器

    万次阅读 2017-11-10 18:00:12
     早在上世纪90年代末,就众多业界人士呼吁用CMP(单芯片多处理器)技术来替代复杂性较高的单线程CPU。IBM、惠普、Sun等高端服务器厂商,更是相继推出了多核服务器CPU。不过,由于服务器价格高、应用面窄,并未引起...
  • 多核处理器

    2012-01-16 17:57:41
    防火墙功能和性能的矛盾一直是困扰信息安全产品的问题,也是最被用户诟病之处。解决方法只有一,那...那么,多核与以往传统的x86、NP、ASIC架构相比何特色?人们该如何选择不同的架构?近日,在神州数码网络公司推
  • Python中,如果想使程序充分利用多核处理器以下几个方案: l使用threading模块,然后将程序运行在IronPython或Jython之上。 l使用Python自带的multiprocessing模块,这个是用来创建多进程的。 l使用...
  • 文章目录Chapter 8 多核处理器管理Guaranteed Atomic Operations (可靠的原子操作)Bus Locking (总线锁定)自动锁定软件控制内存顺序Intel® Pentium® and Intel486™ 处理器中的内存顺序P6和最近处理器家族的内存...
  • 随着多核处理器的发展,对软件开发非常大的影响,而且核心的瓶颈在软件上。软件开发在多核环境下的核心是多线程开发。这多线程不仅代表了软件实现上多线程,要求在硬件上也采用多线程技术。可以说多核提供了可以...
  • 本文是我写得一篇关于RTOS SMP扩展的硕士论文,希望对有志于了解RTOS-SMP工作机制的兄弟们提供些许帮助,O...多核处理器将多较低主频的处理核心集成到一芯片内部,通过提高IPC(Instruction Per Clock)来提升处...
  • 多核处理器
  • 多核处理器的关键技术

    千次阅读 2011-08-27 14:04:29
    与单核处理器相比,多核处理器在体系结构、软件、功耗和安全性设计等方面面临着巨大的挑战,但也蕴含着巨大的潜能。 CMP和SMT一样,致力于发掘计算的粗粒度并行性。CMP可以看做是随着大规模集成电路技术的发展,在...
  • MySQL利用多核处理器

    万次阅读 2016-12-01 18:59:24
    在工作中可能遇到这样的情况,随着业务的增长,用户量也在逐渐增长,终究一天,一到高峰期,数据库服务器CPU利用率直飚100%。...但是不要高兴太早,当你打开任务管理器,你会发现利用率高的还是以前那几个核,或者说
  • 文章讲的是Tilera推用于云计算的多核处理器Meshed,多核处理器的新贵Tilera在年前才开始崭露头角,但是在今天已经很多关于Tilera的新闻可以分享。无晶圆厂半导体的启动,使其共同创始人Devesh Garg回归作为首席...
  • 这篇文章解答了我心中的疑问,那就是操作系统... 早在上世纪90年代末,就众多业界人士呼吁用CMP(单芯片多处理器)技术来替代复杂性较高的单线程CPU。IBM、惠普、Sun等高端服务器厂商,更是相继推出了多核服务器CPU...
  • ForREST - 多核处理器的React式 DVFS 控制 FoREST 是一新的 DVFS 守护进程,它控制基于 CPU 频率的周期性 CPU 强度分析。 硬件支持 Intel x86:SandyBridge、IvyBridge 英特尔至强融核 (2013) 预编译 此命令是...
  • 进程、线程、单核处理器 进程和线程都是操作系统的概念。进程是应用程序的执行实例,每进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,即进程是操作系统进行资源分配的最小单元。进程在运行...
  • 多核处理器的九大关键技术 与单核处理器相比,多核处理器在体系结构、软件、功耗和安全性设计等方面面临着巨大的挑战,但也蕴含着巨大的潜能。 CMP和SMT一样,致力于发掘计算的粗粒度并行性。CMP可以看做是随着...
  • 多核处理器的核心思想是一处理器中包含若干核(或线程),所有核(或线程)之间共享 IO、Cache、内存等资源,对于这些资源的使用和分配由硬件来完成,用户无需关注细节,因此每核(或线程)对于用...
  • 多内核是指在一枚处理器中集成两或多完整的计算引擎(内核),多核处理器是单枚芯片(也称为“硅核”),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每执行内核作为分立的逻辑处理器...
  • 8核处理器和4核处理器The advent of economical consumer grade multi-core processors raises the question for many users: how do you effectively calculate the real speed of a multi-core system? Is a 4-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,742
精华内容 11,096
关键字:

多核处理器有几个cpu