我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合特码 > 多处理器 >

多处理器到底比单处理器性能强在哪里?

归档日期:07-08       文本归类:多处理器      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  对于高端的CPU,处理器制造商们往往会用CPU的时钟频率来衡量整个系统的好坏。但是性能的增加和价格并不是成正比的线性关系,例如,对Xeon处理器而言,时钟频率每提高7%,价格却要高出40%。很明显,这种非线性关系的性价比增长并不受到用户的欢迎。

  为了提高系统的性能,企业常常会采用多处理器架构的解决方案。当然在升级的过程中,主板的芯片组和操作系统必须支持多处理器系统,因此支持多处理器系统的芯片组的价格要比一般的芯片组高。许多应用程序在多处理器系统中运行的速度并没有很大的提高,甚至在某些情况下,应用程序的运行效率还不如单处理系统。

  多处理器的性能特点分析 多处理器(SMP)一般是指拥有多个CPU的系统,每一个处理器都能够获得系统的全部资源,例如对内存的访问和外设的操作等。SMP系统必须使用一定的机制来保证不同资源之间的同步,而在单处理系统中并不存在这样一个问题。为了能够使得SMP系统发挥高效的性能,操作系统必须支持SMP系统,即能够进行多任务和多线程处理。

  多任务是指操作系统能够在同一时间让不同的CPU完成不同的任务;多线程是指操作系统能够使得不同的CPU并行的完成同一个任务。例如在多线程的处理中,一个线程在后台处理输入的数据,而另一个线程提供用户交互的界面。

  在SMP对称多处理系统中,所有的任务和线程都能够使用系统中的所有资源。操作系统会安排每个处理器使用资源的顺序和使用时间,任务或者线程会在所有的CPU中并行处理,而在处理器中,任务和线程在本质上还是顺序(串行)处理的;因此在同等级别中,多处理器的工作效率要远远高于单处理器。

  如果应用程序是基于多处理器编写的,那么在应用程序的运行过程中可以大大提高运行的效率;如果应用程序是基于单处理器编写的,操作系统会把程序分成多个部分,让多个处理器并行完成;但是通常而言,大量的单处理器程序是不可分的,因此它在多处理器上运行时性能并不会有明显的提高。有一点我们还必须注意,基于多处理器的程序调试非常困难,因为不同的多处理器环境会对任务进行不同的分配。

  前言 不知道大家有没有发现,现在PC上系统平台为了满足一些多任务多线程的并行工作需要,开始吸取一些多处理器的技术进来,CPU方面大家熟悉的支持超线处理器就是模拟两个处理器进行工作的,近期炒得很热的AMD Opteron也把多处理器的概念再次提出,而前段时间ASUS更是推出了支持双路处理器的875P主板,多处理器的字眼越来越多地出现在各种媒体上,那么多处理器和单处理器相比到底有什么好处呢?本文就给大家一个简单的解释。 每当我们谈论到高端的CPU,处理器制造商们往往会用CPU的时钟频率来衡量整个系统的好坏。但是性能的增加和价格并不是成正比的线性关系,例如,对Xeon处理器而言,时钟频率每提高7%,价格却要高出40%。很明显,这种非线性关系的性价比增长并不受到用户的欢迎。因此,为了提高系统的性能,企业常常会采用多处理器架构的解决方案。当然在升级的过程中,主板的芯片组和操作系统必须支持多处理器系统,因此支持多处理器系统的芯片组的价格要比一般的芯片组高。许多应用程序在多处理器系统中运行的速度并没有很大的提高,甚至在某些情况下,应用程序的运行效率还不如单处理系统。这到底是什么原因呢?什么程序才会在多处理器系统中有最大的获益呢? 一、多处理器的性能特点分析 多处理器(SMP)一般是指拥有多个CPU的系统,每一个处理器都能够获得系统的全部资源,例如对内存的访问和外设的操作等。SMP系统必须使用一定的机制来保证不同资源之间的同步,而在单处理系统中并不存在这样一个问题。为了能够使得SMP系统发挥高效的性能,操作系统必须支持SMP系统,即能够进行多任务和多线程处理。多任务是指操作系统能够在同一时间让不同的CPU完成不同的任务;多线程是指操作系统能够使得不同的CPU并行的完成同一个任务。例如在多线程的处理中,一个线程在后台处理输入的数据,而另一个线程提供用户交互的界面。 在SMP对称多处理系统中,所有的任务和线程都能够使用系统中的所有资源。操作系统会安排每个处理器使用资源的顺序和使用时间,任务或者线程会在所有的CPU中并行处理,而在处理器中,任务和线程在本质上还是顺序(串行)处理的;因此在同等级别中,多处理器的工作效率要远远高于单处理器。如果应用程序是基于多处理器编写的,那么在应用程序的运行过程中可以大大提高运行的效率;如果应用程序是基于单处理器编写的,操作系统会把程序分成多个部分,让多个处理器并行完成;但是通常而言,大量的单处理器程序是不可分的,因此它在多处理器上运行时性能并不会有明显的提高。有一点我们还必须注意,基于多处理器的程序调试非常困难,因为不同的多处理器环境会对任务进行不同的分配。正是因为这些原因,我们通常使用的都是基于单处理器的程序。

本文链接:http://ticketsareus.net/duochuliqi/832.html

上一篇:如何让java更好的利用多cpu?

下一篇:没有了