热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

+关注

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

  1、多核处理器

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  4、多核处理器工作原理

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

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

  5、总结

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

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

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

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


推荐阅读
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 本文介绍了2020年计算机二级MSOffice的选择习题及答案,详细解析了操作系统的五大功能模块,包括处理器管理、作业管理、存储器管理、设备管理和文件管理。同时,还解答了算法的有穷性的含义。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 在2022年,随着信息化时代的发展,手机市场上出现了越来越多的机型选择。如何挑选一部适合自己的手机成为了许多人的困扰。本文提供了一些配置及性价比较高的手机推荐,并总结了选择手机时需要考虑的因素,如性能、屏幕素质、拍照水平、充电续航、颜值质感等。不同人的需求不同,因此在预算范围内找到适合自己的手机才是最重要的。通过本文的指南和技巧,希望能够帮助读者节省选购手机的时间。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
author-avatar
销魂苗苗若郗
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有