Windows性能如何受硬件和软件影响

随着计算技术的所有进步,很难保持最新。销售人员在购买新设备时抛出的术语很少有帮助,而且似乎那些将您推向特定计算机的人不了解64位计算的方式。

在本文中,我们将了解选择在64位系统上运行的操作系统和应用程序软件以及处理器本身的一些功能如何影响计算机的整体性能。

处理器和操作系统< /

当今市场上几乎所有PC都附带64位处理器,并且其中大多数已经在其上预装了64位版本的Windows。当您希望从系统中获得最佳性能时,此配对至关重要。虽然您可以在64位计算机上安装32位操作系统,但是您会错过硬件的其他好处。

在64位计算机上安装32位操作系统时在计算机上,其效果是将64位处理器立即转换为32位处理器。

  • 所有处理器级指令仅限于使用32位寄存器,因此所有本机数学函数都是在范围和精度方面也受到类似的限制。
  • 即使安装了更多的内存,仍可以访问的物理内存量下降到4 GB。
  • 硬件内存(例如视频内存)将消耗一部分可寻址内存,而不是移到其上方或在硬件内存地址周围重新映射RAM。
  • 您希望在系统上运行的所有其他软件必须为32位,并且会受到限制通过这些相同的参数。
  • 这是确保您在任何计算机上使用64位操作系统的最佳理由具有64位处理器的mputer。

    处理器功能

    除了将合适的操作系统与硬件配对之外,CPU设计的要素还会影响系统性能。可用于处理的内核数量是其中最大的内核。

    大约20年前,销售给消费者的几乎所有计算机都使用处理器中带有单个处理内核的处理器。通过这种类型的设计,这意味着计算机一次只能执行一条指令,而操作系统一次只能将一条执行线程分配给处理器。

    今天,只有一条执行线程硅晶片上可能有2个,4个或更多核,而封装中可能有多个芯片。通过在处理器包中放置多个内核,操作系统将每个内核视为一个独立的处理器,可以在其中分配进程线程,并且每个内核都独立于其他内核运行。因此,在四核系统上,计算机可以同时执行四条指令-每个内核上执行一条指令。

    英特尔在2002年推出了超线程技术,该技术使操作系统为每个内核“看到"两个逻辑处理器。芯片上的处理核心。它通过具有两组不同的处理器状态数据(每个逻辑处理器一个)和一个共享的执行核心来工作。这允许操作系统将执行线程分配给每个维护其自身状态数据的逻辑处理器。当一个线程因为正在等待数据或另一资源而被阻塞时,另一个逻辑处理器可以使用执行核心进行处理,除非它也处于等待状态。使用此技术的性能提高幅度通常在15%到30%之间。

    这并不意味着四核处理器的运行速度是在相同时钟频率下运行的双核处理器的两倍。在给定的情况下,或者具有超线程的英特尔处理器的性能将比没有该技术的情况更好。某些软件因素可以完全消除其他处理核心的存在。

    应用软件的影响

    因此,既然您已经决定购买新的64位Intel双核处理器,使用超线程并将其与64位版本的Windows配对,您将获得可能的最佳性能,对吗?嗯,也许吧。

    虽然现代操作系统可以利用所有必需的硬件,但您使用的应用程序软件却可能无法使用,尤其是旧版软件。

    较旧的单操作系统,我上面提到的核心CPU一次只能处理一个线程。当时完成的许多编程都是只使用一个线程编写的。在多核系统上使用该软件仍将导致该线程仅使用一个核。这就是为什么您可能会在任务管理器中看到四核系统以25%的负载运行,而单个核的利用率为100%,而其他三个核似乎处于空闲状态的原因。工作量不会分散。

    为了充分利用系统中的所有处理核心,必须在设计软件时考虑并行处理和多线程。这里的想法是将问题分解为可以彼此独立完成的离散组件,以便计算机可以同时在单独的内核上完成每个任务。这样可以减少产生所需结果所需的时间。这也意味着当在其他内核上进行其他线程的大量处理时,用于用户界面的线程不会锁定。

    即使在设计程序时就考虑到了多线程,但仍有可能它的某些功能无法并行化。其中一个示例是使用Visual Basic for Applications(VBA)宏的Microsoft Office应用程序。长时间运行的宏可能会耗尽整个核心,直到其终止。由于计算机无法自动确定是否可以并行化宏,因此它根本不会尝试这样做。

    如果必须使用单线程的旧版应用程序,尤其是如果需要同时运行多个旧版应用程序,则最佳性能的最佳选择是为它们设置处理器亲和力。这将迫使他们仅使用特定的处理核心。这样,您可以确保即使他们可以消耗整个内核的处理能力,也不会在同一内核上这样做,从而导致进程完成的时间比绝对必要的时间长。

    在Windows中,您可以通过打开任务管理器来设置相似性,右键单击进程名称,从上下文菜单中选择 Set Affinity…,清除所有不需要的处理器的复选框要使用,然后单击确定

    也可以使用启动命令的/ affinity标志从命令行执行此操作。

    start /affinity 2 notepad.exe

    注意在任务管理器中,与亲和力标志一起使用的处理器号从1开始,而从零开始,因此这将在CPU 1上启动记事本。

    具有任务集的Linux用户也存在类似的功能命令。它是util-linux软件包的一部分,并且是大多数发行版的默认安装的一部分。如果您的系统当前未安装它,则可以使用

    sudo apt-get install util-linux

    (对于基于Debian的发行版)或

    sudo yum install util-linux

    (对于基于Red Hat的系统)进行安装。

    要使用该命令在CPU 2上启动vlc,您可以使用

    taskset -c 2 vlc

    更改对已运行进程ID(PID)为9021的进程的亲和力,以使用CPU 4和5,您将使用

    taskset -cp 4,5 9021

    应用程序的其他因素是字长。尽管32位应用程序仍可以存储和处理64位整数和浮点数,但必须通过“大型数学"库完成该工作,而执行本工作所需的时间要比64位处理器进行本机相同的计算所需的时间更长。如果应用程序需要64位数字提供的扩展范围和更高的精度,则将64位应用程序用于任务将总是效率更高。

    对于某些软件,也没有关系无论是32位还是64位。 32位网络浏览器对大多数人来说都可以正常工作。在正常使用情况下,即使您希望打开许多选项卡,它也不需要大量内存。它会轻松地在您的物理和逻辑处理器上使用多个线程,并且不应以CPU限制。大多数文字处理任务也是如此。但是,如果您将要进行照片或视频编辑,代码转换,运行建模软件或执行其他占用大量CPU的任务或使用大型数据集,则可能需要多于64位的多线程软件才能等待更长的时间。

    最后的收获

    那么最好的选择是什么?最佳答案:这取决于。

    如果您知道要在使用长时间运行的VBA宏的系统上运行Excel电子表格,则最好使用3 GHz的双核系统,而不是而不是运行在2.2 GHz频率下的四核处理器,但是如果您在计算机工作或玩耍时不断在多个多线程程序之间跳动,则情况恰好相反。

    虽然概括性分析在所有情况下都无法证明自己,当今最佳的桌面计算性能将利用运行现代64位操作系统的64位多核处理器和64位多线程应用程序来执行最苛刻的任务。

    您有什么样的体验具有64位性能?您是否拥有32位软件的性能优于64位软件,或者两者之间没有明显区别?在下面的评论中让我们知道。

    图片来源:拆除fdecomite提供的旧计算机(CC by 2.0),德国第四代Intel的第四代Intel®Core™i7处理器正反面(CC by 2.0)

    标签: 64-位 计算机处理器 CPU Windows任务管理器