CPU与进程和线程

CPU的介绍:参考博客:https://blog.csdn.net/stpeace/article/details/80101441

官名叫做微处理器,微处理器由一片或少数几片大规模集成电路组成的中央处理器,这些电路执行控制部件和算数逻辑部件的功能。
CPU从逻辑上可以划分成3个模块,分别是

1控制单元:

控制单元是整个CPU的指挥控制中心,由 程序计数器PC(Program Counter), 指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。

2.运算单元:是运算器的核心。可以执行算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)

3.存储单元:包括CPU片内缓存和寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度

细化后:

2.CPU执行程序,是一个指令一个指令执行的,同一时刻一个cpu只能执行一条指令

的原理简单版本 ,参考博客:https://blog.csdn.net/dong_daxia/article/details/80289951
Instruction:指令,是CPU进行操作的基本单元,大致包含操作对象、操作对象的地址、对操作对象进行何种操作。

介绍单核CPU和多核CPU的工作原理

单核CPU:

单核CPU较为死脑,在通电时该CPU就会执行存储块中的指定地址的指令,如果你想要执行内存块其他地方的代码必须调整总线位置才可以让其执行!

.多核CPU多核CPU即多个CPU组成,

这些CPU集成在一个芯片里,可以通过内部总线来交互数据,共享数据,这些CPU中分配出一个独立的核执行操作系统,每个核都有自己的寄存器,alu运算单元等(这些都是封装在cpu内部的),但是一级二级缓存是共享的,这些CPU通过总线来交互数据,并且工作是并行的,资源分配是由操作系统来完成的,操作系统来决定程序cpu的控制权分配,所以一个多核cpu的工作效率大多体现在操作系统的分配上,因为一个CPU基本上可以执行很多个程序,通过PCB进程控制块的方式存储当前代码段,然后来回跳转,所以当你的CPU核过多时,操作系统在分配时可能会导致部分CPU闲置!

多个CPU即拥有多个CPU的主机,每个cpu只能用来独立执行不同的程序,这些cpu都是单核的,不用在家用电脑上,只用在特定的机器上,因为单核cpu执行一个程序比来回跳转执行的速度要快很多,但是难以管理,因为每个CPU有自己的总线,一级二级缓存,那么这样需要更大的占用面积,更多的总线,因为这些CPU不是封装在一个芯片里的!

并发和并行

并发: CPU时分复用

并行:在同一时刻,处理器多核同时工作

CPU和线程进程的关系

首先要明确一个处理器只能在一个时刻运行一个进程,一个进程拥有一块内存地址,不同进程之间的变量在不同内存中,线程是在进程中的,一个进程中的所有线程共享这块内存

1.单核处理器和进程:(只能并发处理进程和线程)

操作系统调度器:调度进程

由于CPU同时刻只能执行一个进程,如果我们不加以控制的话,一个进程可能使用CPU直到运行结束,于是出现了操作系统调度器,而进程也成为了调度单位

在这里就出现了并发的概念,调度器切换CPU给不同进程使用的速度非常快,于是在使用者看来程序是在同时运行,这就是并发,而实际上CPU在同一时刻只在运行一个进程。
一个进程拥有一个自己的内存地址,当处理器进行不同进程切换时候,每一次切换时候都要保存上下文。CPU看来所有的任务都是一个一个的轮流执行的,具体的轮流方法就是:先加载程序A的上下文,然后开始执行A,保存程序A的上下文,调入下一个要执行的程序B的程序上下文,然后开始执行B,保存程序B的上下文。。。。

单CPU进行进程调度的时候,需要读取上下文+执行程序+保存上下文,即进程切换。如果这个CPU是单核的话,那么在进程中的不同线程为了使用CPU核心,则会进行线程切换,但是由于共享了程序执行环境,这个线程切换比进程切换开销少了很多。在这里依然是并发,唯一核心同时刻只能执行一个线程。

多核处理器和进程

多核处理器:

是指在一枚处理器中集成两个或多个完整的计算引擎(内核),此时处理器能支持系统总线上的多个处理器

进程:

进程就是包换上下文切换的程序执行时间总和 = CPU加载上下文+CPU执行+CPU保存上下文
进程是操作系统进行资源分配(包括cpu、内存、磁盘IO等)的最小单位

线程:

一个进程中可以有多个线程
线程是CPU调度和分配的基本单位

原文地址:https://www.cnblogs.com/guojiayi/p/10934026.html

时间: 2024-10-09 13:05:18

CPU与进程和线程的相关文章

进程、线程

进程与线程 进程与线程的关系 进程: 优点:同时利用多个cpu,能够同时进行多个操作 缺点:耗费资源(重新开辟内存空间) 线程: 优点:共享内存,IO操作的时候,创造并发操作 缺点:抢占资源 进程不是越多越好,cpu个数 = 进程个数 线程也不是越多越好,具体案例具体分析,请求上下文切换耗时 计算机中执行任务的最小单元:线程 IO操作利用cpu GIL 全局解释锁 IO密集型(不用cpu): 多线程 计算密集型(用cpu): 多进程 进程和线程的目的:提高执行效率1,截止目前写的程序:单进程单线

Linux进程或线程绑定到CPU

Linux进程或线程绑定到CPU 为了让程序拥有更好的性能,有时候需要将进程或线程绑定到特定的CPU,这样可以减少调度的开销和保护关键进程或线程. 进程绑定到CPU Linux提供一个接口,可以将进程绑定到特定的CPU: #include <sched.h> int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *mask); int sched_getaffinity(pid_t pid, size_t cpu

Linux 进程、线程运行在指定CPU核上

/******************************************************************************** * Linux 进程.线程运行在指定CPU核上 * 说明: * affinity参数决定了进程.线程是否可在CPU多核之间切换,当然,并不是说就不进行 * 线程切换. * * 2017-9-22 深圳 龙华樟坑村 曾剑锋 *********************************************************

CPU进程与线程的关系和区别

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位. 进程和线程的关系: (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程. (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源. (3)处理机分给线程,即真正在处理机上运行的是线程. (4)线程在执行过程中,需要协作同步.不同进程的线程间要利用消息通信的办法实现同步.

进程丶线程丶CPU关系简述

本文简单阐述了进程与线程的关系,为了便于理解,本文也将简述CPU的工作原理. 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.或者说进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程则是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位. 进程和线程的关系: (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程. (2)

进程与线程之间的关系和区别 及 CPU调度

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位. 进程和线程的关系: (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程. (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源. (3)处理机分给线程,即真正在处理机上运行的是线程. (4)线程在执行过程中,需要协作同步.不同进程的线程间要利用消息通信的办法实现同步.

linux 将进程或者线程绑定到指定的cpu上

基本概念 cpu亲和性(affinity) CPU的亲和性, 就是进程要在指定的 CPU 上尽量长时间地运行而不被迁移到其他处理器,也称为CPU关联性:再简单的点的描述就将指定的进程或线程绑定到相应的cpu上:在多核运行的机器上,每个CPU本身自己会有缓存,缓存着进程使用的信息,而进程可能会被OS调度到其他CPU上,如此,CPU cache命中率就低了,当绑定CPU后,程序就会一直在指定的cpu跑,不会由操作系统调度到其他CPU上,性能有一定的提高. 软亲和性(affinity) 就是进程要在指

CPU的核、进程和线程

转自https://www.cnblogs.com/-new/p/7234332.html 一.CPU与核心 物理核 物理核数量=cpu数(机子上装的cpu的数量)*每个cpu的核心数 虚拟核 所谓的4核8线程,4核指的是物理核心.通过超线程技术,用一个物理核模拟两个虚拟核,每个核两个线程,总数为8线程. 在操作系统看来是8个核,但是实际上是4个物理核. 通过超线程技术可以实现单个物理核实现线程级别的并行计算,但是比不上性能两个物理核. 单核cpu和多核cpu 都是一个cpu,不同的是每个cpu

C#进程、线程、CPU

===============================================C#线程=========================================================================== 基本知识: 线程和进程 1.在创建进程时,内核会为进程创建相应的堆栈,每个进程会有两个栈,一个是用户栈,另外一个则是内核栈 2.一个进程中,包含多个线程 3.当你打开一个程序很慢,这是因为此时的CPU运行的进程数太多,该进程需要等待调度,才能真正