cpu的线程是什么意思

cpu的线程是什么意思

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

一个进程可以有很多线程,每条线程并行执行不同的任务。

在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。

在单CPU单核的计算机上,使用多线程技术,也可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。

扩展资料:

线程与进程的区别可以归纳为以下4点:

1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。

2)通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

3)调度和切换:线程上下文切换比进程上下文切换要快得多。

4)在多线程OS中,进程不是一个可执行的实体。

参考资料来源:百度百科-线程

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-06

线程是一段CPU可以执行的代码,是进程的一部分。多线程一般和多任务相关联。 你可以认为,单线程就是一个人在干活,多线程,就是多个人协作干活。

一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。

扩展资料:

cpu线程多好处:

理论上说,一个核心只能对应一条线程。而Intel的超线程技术,是利用CPU闲置的资源整合出的虚拟线程,就计算性能来说,是不及物理核心的实际线程好的。但是,却可以在一定程度上提升处理器并行处理的能力。和乱序执行一样,超线程也是一种提高处理器使用效率的方案。

就你举得例子来说。当一个核心处理A任务时,并不是整个核心都在参与工作,还有很大的闲置资源,而这些资源可以用来对B、C、D中某一个或几个进行预处理等等工作。

但是,超线程技术的一大问题就是和主线程的争夺。比如虚拟线程和物理实际线程都需要调用某一缓存单元时,虚拟线程就会暂停工作;

但是,如果该单元先于物理线程被虚拟线程调用,那么,虚拟线程就会影响物理主线程的工作,反而降低了执行效率。当下新一代的超线程技术在这个问题上做了比较好的完善,所以效果还是不错的,尽管无法和物理线程相比。

参考资料来源:百度百科-CPU多线程

本回答被网友采纳
第2个回答  2007-09-17
CPU的英文全称是Central Processing Unit,我们翻译成中文也就是中央处理器。CPU(微型机系统)从雏形出现到发壮大的今天(下文会有交代),由于制造技术的越来越现今,在其中所集成的电子元件也越来越多,上万个,甚至是上百万个微型的晶体管构成了CPU的内部结构。那么这上百万个晶体管是如何工作的呢?看上去似乎很深奥,其实只要归纳起来稍加分析就会一目了然的,CPU的内部结构可分为控制单元,逻辑单元和存储单元三大部分。而CPU的工作原理就象一个工厂对产品的加工过程:进入工厂的原料(指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储器)中,最后等着拿到市场上去卖(交由应用程序使用)。 CPU作为是整个微机系统的核心,它往往是各种档次微机的代名词,如往日的286、386、486,到今日的奔腾、奔腾二、K6等等,CPU的性能大致上也就反映出了它所配置的那部微机的性能,因此它的性能指标十分重要。在这里我们向大家简单介绍一些CPU主要的性能指标:

第一、主频,倍频,外频。经常听别人说:“这个CPU的频率是多少多少。。。。”其实这个泛指的频率是指CPU的主频,主频也就是CPU的时钟频率,英文全称:CPU Clock Speed,简单地说也就是CPU运算时的工作频率。一般说来,主频越高,一个时钟周期里面完成的指令数也越多,当然CPU的速度也就越快了。不过由于各种各样的CPU它们的内部结构也不尽相同,所以并非所有的时钟频率相同的CPU的性能都一样。至于外频就是系统总线的工作频率;而倍频则是指CPU外频与主频相差的倍数。三者是有十分密切的关系的:主频=外频x倍频。

第二:内存总线速度,英文全称是Memory-Bus Speed。CPU处理的数据是从哪里来的呢?学过一点计算机基本原理的朋友们都会清楚,是从主存储器那里来的,而主存储器指的就是我们平常所说的内存了。一般我们放在外存(磁盘或者各种存储介质)上面的资料都要通过内存,再进入CPU进行处理的。所以与内存之间的通道枣内存总线的速度对整个系统性能就显得很重要了,由于内存和CPU之间的运行速度或多或少会有差异,因此便出现了二级缓存,来协调两者之间的差异,而内存总线速度就是指CPU与二级(L2)高速缓存和内存之间的通信速度。

第三、扩展总线速度,英文全称是Expansion-Bus Speed。扩展总线指的就是指安装在微机系统上的局部总线如VESA或PCI总线,我们打开电脑的时候会看见一些插槽般的东西,这些就是扩展槽,而扩展总线就是CPU联系这些外部设备的桥梁。

第四:工作电压,英文全称是:Supply Voltage。任何电器在工作的时候都需要电,自然也会有额定的电压,CPU当然也不例外了,工作电压指的也就是CPU正常工作所需的电压。早期CPU(286枣486时代)的工作电压一般为5V,那是因为当时的制造工艺相对落后,以致于CPU的发热量太大,弄得寿命减短。随着CPU的制造工艺与主频的提高,近年来各种CPU的工作电压有逐步下降的趋势,以解决发热过高的问题。

第五:地址总线宽度。地址总线宽度决定了CPU可以访问的物理地址空间,简单地说就是CPU到底能够使用多大容量的内存。16位的微机我们就不用说了,但是对于386以上的微机系统,地址线的宽度为32位,最多可以直接访问4096 MB(4GB)的物理空间。而今天能够用上1GB内存的人还没有多少个呢(服务器除外)。

第六:数据总线宽度。数据总线负责整个系统的数据流量的大小,而数据总线宽度则决定了CPU与二级高速缓存、内存以及输入/输出设备之间一次数据传输的信息量。

第七:协处理器。在486以前的CPU里面,是没有内置协处理器的。由于协处理器主要的功能就是负责浮点运算,因此386、286、8088等等微机CPU的浮点运算性能都相当落后,相信接触过386的朋友都知道主板上可以另外加一个外置协处理器,其目的就是为了增强浮点运算的功能。自从486以后,CPU一般都内置了协处理器,协处理器的功能也不再局限于增强浮点运算,含有内置协处理器的CPU,可以加快特定类型的数值计算,某些需要进行复杂计算的软件系统,如高版本的AUTO CAD就需要协处理器支持。

第八:超标量。超标量是指在一个时钟周期内CPU可以执行一条以上的指令。这在486或者以前的CPU上是很难想象的,只有Pentium级以上CPU才具有这种超标量结构;486以下的CPU属于低标量结构,即在这类CPU内执行一条指令至少需要一个或一个以上的时钟周期。

第九:L1高速缓存,也就是我们经常说的一级高速缓存。在CPU里面内置了高速缓存可以提高CPU的运行效率,这也正是486DLC比386DX-40快的原因。内置的L1高速缓存的容量和结构对CPU的性能影响较大,容量越大,性能也相对会提高不少,所以这也正是一些公司力争加大L1级高速缓冲存储器容量的原因。不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。

第十:采用回写(Write Back)结构的高速缓存。它对读和写操作均有效,速度较快。而采用写通(Write-through)结构的高速缓存,仅对读操作有效.

第十一:动态处理。动态处理是应用在高能奔腾处理器中的新技术,创造性地把三项专为提高处理器对数据的操作效率而设计的技术融合在一起。这三项技术是多路分流预测、数据流量分析和猜测执行。动态处理并不是简单执行一串指令,而是通过操作数据来提高处理器的工作效率。

动态处理包括了枣1、多路分流预测:通过几个分支对程序流向进行预测,采用多路分流预测算法后,处理器便可参与指令流向的跳转。它预测下一条指令在内存中位置的精确度可以达到惊人的90%以上。这是因为处理器在取指令时,还会在程序中寻找未来要执行的指令。这个技术可加速向处理器传送任务。2、数据流量分析:抛开原程序的顺序,分析并重排指令,优化执行顺序:处理器读取经过解码的软件指令,判断该指令能否处理或是否需与其它指令一道处理。然后,处理器再决定如何优化执行顺序以便高效地处理和执行指令。3、猜测执行:通过提前判读并执行有可能需要的程序指令的方式提高执行速度:当处理器执行指令时(每次五条),采用的是“猜测执行”的方法。这样可使奔腾II处理器超级处理能力得到充分的发挥,从而提升软件性能。被处理的软件指令是建立在猜测分支基础之上,因此结果也就作为“预测结果”保留起来。一旦其最终状态能被确定,指令便可返回到其正常顺序并保持永久的机器状态。

经过了上面的描述,相信大家对CPU已经有一个简单的概念和少许了解了
第3个回答  推荐于2017-10-10
首先举个例子:GPU中渲染流水线相似,流水线都会处理大量的图形渲染,每一条流水线可以同时并行处理任务。
cpu线程就相似于GPU的流水线,每一线程处理多个程序。多核心cpu也就是多线程,程序只要支持多核心处理,就能够将程序利用多线程来进行处理加快程序执行效率。好比1辆小货车和1辆大货运送物品。虽然两车速度是一样的,但是运送的物品缺大了一倍。那么反过来讲,把1个执行程序分成两部分并行运算,它的运算时间应该是有缩减的。
cpu的线程目前分两种,每核心1线程和每核心双线程。按照intel的理论来讲,支持双线程的cpu效能要强于单线程。本回答被提问者采纳
第4个回答  2015-09-09
一个CPU有两个线程,就是双线程。就是把单核心的CPU,虚拟成双核心,双核心的虚拟成四核心,以此类推。双倍的翻,俗称双线程。
线程是指程序的一个指令执行序列,WIN32 平台支持多线程程序,允许程序中存在多个线程。 在单 CPU 系统中,系统把 CPU 的时间片按照调度算法分配给各个线程,因此各线程实际上是分时执行的,在多 CPU 的 Windows NT 系统中, 同一个程序的不同线程可以被分配到不同的 CPU 上去执行。
相似回答