当前位置: 首页 > news >正文

硬件多线程

        在传统CPU中,线程的切换包含一系列的开销,频繁的切换会极大影响系统的性能,为了减少线程切换过程中的开销,便诞生了硬件多线程,在支持硬件多线程的CPU中,必须为每个线程提供单独的通用寄存器组,单独的程序计数器,线程的切换只需要激活选中的寄存器,从而省略了于存储器交换数据的环节,大大减少了线程切换的开销。 

硬件多线程细粒度多线程粗粒度多线程同时多线程(SMT)
指令发射各个时钟周期,轮流发射多个线程的指令连续几个时钟周期,都发射同一线程的指令序列,流水线阻塞时,切换另一个线程一个时钟周期内,同时发射多个线程的指令
线程切换频率每个时钟周期切换一次线程只有流水线阻塞时才切换一次线程NULL
线程切换代价高,需要重载流水线NULL
并行性指令级并行,线程间不并行指令级并行,线程间不并行指令级并行,线程级并行

1.细粒度多线程

时钟CPU
i发射线程A的指令j, j+1
i+1发射线程B的指令k、k+1
i+2发射线程A的指令i+2、j+3
i+3发射线程B的指令k+2、k+3

2.粗力度多线程

时钟CPU
i发射线程A的指令i、i+1
i+1发射线程 A的指令j+2、j+3发现Cache miss
i+2线程调度,从A切换到B
i+3发射线程B的指令k、k+1
i+4发射线程B的指令k+2、k+3

3.同时多线程

时钟CPU
i发射线程A的指令j、j+1,线程B的指令k、k+1
i+1发射线程A的指令i+2,线程B的指令k+2,线程C的指令m
i+2发射线程A的指令i+3,线程C的指令m+1、m+2

http://www.mrgr.cn/news/14576.html

相关文章:

  • 鸿蒙南向开发:测试框架xdevice核心组件
  • IAR软件配置笔记
  • 数据挖掘之分类算法
  • 【算法】二分查找
  • 国外课程环境总结
  • 使用 JavaScript 实现图片上传
  • vue+datav数据大屏
  • 训练卡和推理卡
  • RabbitMQ 性能优化
  • 202. 快乐数【 力扣(LeetCode) 】
  • windows C++-windows C++/CX简介(六)
  • 秋招力扣Hot100刷题总结——堆
  • Scrapy 分布式爬虫框架 Scrapy-Redis
  • Vue——认识day04_计算属性(案例:实时预览)
  • 从多维度视角探讨“开源AI智能名片O2O商城小程序”的设计与管理
  • 过滤器和拦截器的使用和原理
  • 在线考试系统的开发成本分析
  • 清华计算几何-线段求交与BO算法
  • 数据主权与隐私保护的深入探讨
  • 作业比赛编号 : 5117 - 2023年算法基础第9次 问题 A: 取余运算