单核cpu是怎么处理多线程的

这篇具有很好参考价值的文章主要介绍了单核cpu是怎么处理多线程的。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先,要先了解几个概念:

  1、线程是CPU调度和分配的基本单位。

  2、进程是操作系统进行资源分配(包括cpu、内存、磁盘IO等)的最小单位 。

  3、一个进程可以包括多个线程。

  4、CPU的时间片是由计算机的操作系统OS里的调度器分配的.   当多个线程需要执行时,OS里的调度器会将CPU的执行时间划分为多个小的时间片,并依次分配给每个线程。

  5、操作系统内存管理模块:管理物理内存、虚拟内存相关的事务。

并行和并发

并发:在同一个核心的CPU中,同一个时刻,只能有一条指令执行,但多个线程上下文的指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果

单核cpu是怎么处理多线程的,计算机和网络,java,开发语言

 并行:是指在同一个时刻,多个核心上不同的线程指令同时执行。

单核cpu是怎么处理多线程的,计算机和网络,java,开发语言

单核cpu多线程有必要吗?

通常一个任务不光 cpu 上要花时间, io 上也要花时间(例如去数据库查数据,去抓网页,读写文件等)。 一个进程在等 io 的时候, cpu 是闲置的,另一个进程正好可以利用 cpu 进行计算。 多几个进程一起跑,可以把 io 和 cpu 都跑满了。 

 也就是说,充分发挥单核CPU的性能,就要创建足够多线程来填满单核CPU上的时间片。但并非线程越多越好,由于线程之间存在竞争、上下文切换时的开销。

时间片

时间片代表了CPU分配给每个线程的最小时间单位。在多任务的OS中,当多个线程或进程需要执行时,计算机的操作系统OS里的调度器会将CPU的执行时间划分为多个小的时间片,并依次分配给每个线程或进程。

单核cpu是怎么处理多线程的,计算机和网络,java,开发语言

时间片的长度由系统内核、调度算法来决定的,可以是几毫秒或几十毫秒的量级。

上下文切换

切换过程:

1.A线程的时间片用完后,操作系统会剥夺该线程的CPU执行权,CPU会将A线程此刻用的数据存到寄存器中,将执行到哪一步的信息存到程序计数器中.

2.这时,轮到B线程开始执行了, CPU去处理B线程,  当B线程的时间片用完后,又会和线程A一样被暂时封存起来.  

3.线程A解封,CPU又开始执行线程A.

时间片+上下文切换的优缺点

优点:

1.充分利用cpu的效率

2.不同线程进行时间片轮转调度,实现了多个任务的并发执行效果。

缺点:

增加线程上下文切换给cpu带来的额外的性能开销。文章来源地址https://www.toymoban.com/news/detail-671446.html

到了这里,关于单核cpu是怎么处理多线程的的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机硬件CPU】

    输入单元 、 输出单元 、CPU 内部的 控制单元 、 算数逻辑单元 与 内存 五大部分 CPU 其实内部已经含有一些微指令,我们所使用的软件都要经过 CPU 内部的微指令集来达成才行。 那这些指令集的设计主要又被分为两种设计理念,这就是目前世界上常见到的两种主要 CPU 架构,

    2024年02月10日
    浏览(28)
  • 【计算机架构】如何计算 CPU 动态功耗

           本篇博客全站热榜排名: 8 📜 本章目录: 0x00 动态功耗(Dynamic Power) 0x01 集成电路成本(Integrated Circuit Cost) 0x02 基准测试(SPEC CPU Benchmark) 0x03 SPEC功率基准测试(SPEC Power Benchmark) 0x04 Pitfall:Amdahl’s 定律 0x05 Pitfall:将 MIPS 作为性能指标 0x00 动态功耗(Dynamic P

    2023年04月21日
    浏览(44)
  • 基于深度学习、机器学习,对抗生成网络,OpenCV,图像处理,卷积神经网络计算机毕业设计选题指导

    开发一个实时手势识别系统,使用卷积神经网络(CNN)和深度学习技术,能够识别用户的手势并将其映射到计算机操作,如控制游戏、音量调整等。这个项目需要涵盖图像处理、神经网络训练和实时计算等方面的知识。 利用深度学习模型,设计一个人脸识别系统,可以识别人

    2024年02月07日
    浏览(59)
  • 【计算机组成原理实验】CPU设计

    设计并实现一个简单处理器模型完成功能验证。 ASUS VivoBook + Windows10 + Vivado2019.2,语言为 Verilog HDL。 1. 处理器应基于 6.5 指令集或 MIPS 指令集或 RISCV 指令集进行设计或自行设计指令集。 2. 处理器的控制器结构应为微程序控制器或集硬布线控制器。 3. 处理器需支持算术运算、

    2024年02月08日
    浏览(30)
  • 计算机中CPU、内存、缓存的关系

    CPU(Central Processing Unit,中央处理器) 内存(Random Access Memory,随机存取存储器) 缓存(Cache) CPU、内存和缓存之间有着密切的关系,它们共同构成了计算机系统的核心部分,CPU和内存都具有相应的速率和带宽。在配置电脑过程中,根据CPU的速率和带宽,来搭配相应速率和带

    2024年02月11日
    浏览(37)
  • 计算机组成原理——中央处理器cpu

    计算机组成原理-题库 中央处理器选择题 1 、中央处理器(CPU)是指什么。 A、 运算器 B、 控制器 C 、 运算器和控制器 D、 运算器、控制器和主存储器 2 、在CPU中跟踪指令后继地址的寄存器是什么。 A、 主存地址寄存器 B 、 程序计数器 C、 指令寄存器 D、 状态条件寄存器 3

    2024年02月10日
    浏览(31)
  • 计算机组成原理实验——五、单周期CPU设计

    掌握指令执行过程的5个阶段 掌握每条指令的数据通路选择 掌握译码器和控制器的功能和实现 掌握数据输入输出处理的方法 实现risc-v中RV32I指令的单周期CPU 利用实现的risc-v CPU实现平方数 实现risc-v中37条RV32I指令的单周期 cpu; 完成1后在该cpu上实现斐波那契数。 rom dataRAM ins文

    2024年02月11日
    浏览(30)
  • CPU的计算机能力和AVX512指令集

    1、Intel的独门绝技 AVX-512指令集包含非常多可以加速工作负载的指令,包括科学模拟、金融分析、人工智能、深度学习、3D建模、音视频处理器、加密解密、数据压缩等。 按照Intel的说法,如果软件支持AVX-512指令集,那么Intel的处理器会有极大的性能提升。 2、对于普通用户意

    2024年02月09日
    浏览(37)
  • 【计算机硬件系统设计(华科)——现代时序 CPU(Logisim 实现)】

    本章为《计算机硬件系统设计》的最后部分——现代时序CPU的设计与实现。 且本章未按照课程讲述设计(展示的设计内容实现指令 24 条)

    2024年02月09日
    浏览(31)
  • 计算机组成原理知识——CPU结构组成和功能、堆栈、RISC、

    2023.9.6 计组知识开始学习 中央处理单元 :简称为CPU或处理器,功能是控制计算机的操作和处理数据 控制器 :控制计算机的操作,例如读取指令、分析指令、时序、总线的控制等 运算器 :完成数据处理功能 寄存器 :临时存储指令、地址、数据、计算结果等 中断 3个:取指

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包