处理器的线程是什么? 与原子核的差异
目录:
在本文中,我们将花一些时间来解释处理器的线程是什么,或者在英语中也称为 编程线程或编程线程,以便确定这些线程与处理器内核之间的根本区别。 在不那么熟练的甚至是更高级的用户中,对该主题仍然有很多困惑。 这就是为什么我们着手尽可能澄清这些术语。
当为普通用户购买处理器时,不需要了解这种处理线程的概念。 在大多数情况下, 多于少总比总是好。 在程序开发工作中,我们确实需要知道线程在哪里。 取决于应用程序的编程和编译方式, 对于具有更多线程而不是内核的处理器 ,它将具有更优化的执行 。 这就是我们将尝试解释的地方。
内容索引
处理器的核心是什么
我们将首先解释处理器的核心是什么,因此我们将具有此先验知识,以免引起混淆。
我们知道,处理器负责执行和执行计算机RAM内存中加载的程序指令 。 实际上,在我们的PC上执行典型任务,浏览,编写,查看照片等所需的所有说明均通过它。 在物理部分,处理器是由数以百万计的晶体管组成的集成电路 ,这些晶体管形成逻辑门以通过或不通过能量的形式传递数据位,而无需费劲。
好吧,除了我们现在不感兴趣的其他元素之外,这个小芯片还包含我们可以称为nuclei的不同模块。 几年前的处理器只有这些内核之一,并且每个周期只能处理一条指令。 这些周期以兆赫(MHz)为单位, MHz越高,我们每秒可以执行的指令越多。
现在,我们不仅有一个核心,而且还有几个。 每个内核代表一个子 处理器 ,也就是说, 这些子处理器中的每个将执行这些指令之一 ,从而能够在一个多核CPU的每个时钟周期内执行其中的几个指令 。 如果我们有一个4核处理器,那么我们可以同时执行4条指令,而不仅仅是一条指令 。 因此,性能提高了三倍。 如果我们有6条指令,则同时有6条指令。 这就是当前处理器比旧处理器功能强大得多的方式。
请记住, 这些内核实际上存在于我们的处理器中 ,它不是虚拟的,也不是由代码创建的。
什么是处理线程?
线程,线程或线程不是处理器的物理部分,至少在涉及更多内核或类似内核时才如此。
我们可以将处理线程定义为程序的数据控制流 。 它是一种允许以更有效的方式管理处理器及其不同内核的任务的方法 。 借助线程,可以将最小分配单元(即程序的任务或过程)划分为多个部分,以优化过程队列中每条指令的等待时间。 这些块称为线程或线程。
换句话说, 每个处理线程都包含一个要执行的任务 ,这比将完整任务引入物理原子核要简单一些。 通过这种方式,CPU能够同时同时处理多个任务 ,实际上,它将能够完成具有线程数量的任务,通常每个内核只有一个或两个。 在具有6个内核和12个线程的处理器中,它们将能够将进程分为12个不同的任务,而不仅仅是6个 。
这种工作方式使系统资源得到更公平,更有效的管理 。 你知道…他分裂了,你将赢得所有的生命。 这些处理器称为多线程 。 现在,我们必须清楚的是,具有12个线程的处理器将没有12个内核,这些内核是物理起源的,而线程是逻辑起源的。
这肯定有点抽象,很难理解,所以让我们看看如果谈论计算机上程序的体系结构是如何翻译的。
程序,流程和线程
我们都知道程序是什么,它是存储在我们计算机中的代码, 注定要执行特定的任务 。 应用程序是一个程序,驱动程序也是一个程序,甚至操作系统也是一个能够在其中执行其他程序的程序。 所有这些都以二进制形式存储 ,因为处理器只能识别当前和非当前的1和0。
程序流程
要运行程序,它将被加载到内存RAM中 。 该程序由进程加载,这些进程带有其关联的二进制代码和需要运行的资源,这些资源将由操作系统“智能地”分配。
流程所需的基本资源是程序计数器和记录堆栈。
- 程序计数器(CP) :它称为指令指针,它跟踪正在处理的指令序列 。 寄存器 :这是位于处理器中的仓库,可以存储指令,存储地址或任何其他数据。 堆栈 :它是一种数据结构,用于存储与程序在计算机中处于活动状态的实例有关的信息。
然后将每个程序划分为多个进程 ,并存储在内存中的某个位置。 此外, 每个进程都独立运行 ,这对理解非常重要,因为这就是处理器和系统如何同时执行多个任务的能力,我们称之为多任务系统。 这个处理系统是即使程序被阻止,我们也可以继续在PC上工作的罪魁祸首。
进程的线程
这是处理线程(在操作系统中称为线程)出现的地方 。 线程是进程执行的单位。 我们可以将流程分为多个线程,每个线程都是一个执行线程。
如果程序不是多线程的,则其中的进程将只有一个线程,因此它们只能一次处理 。 相反,如果我们有多线程进程,则可以将它们分为几部分 ,并且每个线程共享分配给该进程的资源。 因此,我们说多线程更加有效。
此外, 每个线程都有自己的记录堆栈,因此可以同时处理两个或多个记录 ,这与单个进程不同,后者必须一次运行。 线程是更简单的任务, 可让您以拆分的方式运行进程 。 这基本上是处理线程的最终功能。 线程越多,进程的划分就越大,同时进行的计算量就越大,因此效率就越高。
我们还没有完成,还有一个悬而未决的问题: 使用双线程内核会发生什么 ? 我们已经说过,每个内核都能够一次执行一条指令。 CPU具有复杂的算法,该算法以最有效的方式划分执行时间,从而为每个任务分配一定的执行间隔。 任务之间的变化如此之快,会给人以原子核并行执行任务的感觉 。
我们可以看到系统中的那些线程吗?
不太详细,但是可以, 我们可以在Windows和Mac上看到它们 。
对于Windows,我们只需要打开任务管理器并转到“ 性能 ”即可。 然后,我们将单击下面的“ 资源监视器 ”链接。 在这个新窗口中,我们将每个进程划分为CPU消耗和线程,这些就是线程。
在Mac活动监视器中 ,我们将直接在主屏幕上列出线程。
到此,我们结束了有关什么是CPU处理线程的文章。 当然,这是一个有些复杂的话题,需要解释并且相当抽象,特别是对于不完全了解处理器工作原理的用户。 但是在这种情况下,我们有个好消息,因为我们也有一篇很好的文章,讨论处理器如何工作以及如何执行整个指令周期 。
请访问我们的文章:
我们希望所有事情或多或少都清楚了,我们感谢您选择我们来更多地了解这一主题。