流氓の影

一个在学习泥潭中越陷越深的码畜

 

淫荡的多核,流氓的我——序

  逛园子有日子了,今天这个大洗的日子,也完成下人生中的第一次,让开发这条路走的更没羞没臊一些。

  截个图,留下痛苦的第一次,不再是看帖不回的黄花小码农了  

  

下面切入正题

 

一:多核处理器

  1、什么是多核处理器?

  多核处理器,可以想象成一枚处理器中封装着多个相互连接的内核,并且每个内核都可以访问主内存。

  2、为什么会诞生多核处理器?

  传统的单核处理器,在提高芯片速度时所带来的副作用很大,例如高温问题、成本问题等。
  3、多核处理器的优势

  通过合理的划分任务,线程可以利用多个执行核心,在单位时间内处理更多的数据。

二、内核、硬件线程、软件线程

  物理内核:真正意义上的内核,每一个物理内核都是独立的处理单元。

  硬件线程:使用了超线程技术(HTT)的Inter芯片,在每个物理内核上提供了多份架构状态。硬件线程又称为逻辑内核,之后文章总提到内核,都指的硬件线程

       例如在一个具有2个物理内核的处理器中使用了HT技术,并且在每一个物理内核中提供了2份架构状态,就获得了4个硬件线程。这种技术成为对称多线程(SMT)它通过额外的架构状态在处理器级别对并行执行进行优化和增强。

  软件线程:Windows中每个运行的程序,都成为一个进程(Process),进程在执行的过程中 会创建并运行一个或多个线程,这些线程被成为软件线程。

 

这个是我在自己机器上截的图。I3 CPU使用了HTT技术,因此实际的物理内核是2个,并且由于每个内核提供了2份架构状态,因此拥有4个逻辑内核。

 

三、交错并发与并发的概念区别:

 

交错并发:在单核处理器中或者内核数量不足的情况下,多线程技术会将Cpu运行时间切片,多个线程之间交叉进行操作。


并发:多个线程各自占用内核进行同时操作。

 

图例:

 

以上为多核编程的基本概念,今天博客暂时写到这里停笔了。由于第一次写,很多东西很难落到笔头上。

无奈之下参考/剽窃了:《百度百科——多核处理器》     《C#并行编程高级教程》 中的原文,觉得晦涩难懂的朋友麻烦多多提些建议,一起提升

这个系列中的所有博客会随着我对多核编程的理解加深而不断重构,并且会修正某些因为理解偏差造成的失误,谢谢大家围观……

说实话,第一次 确实很疼……

posted on   Manon_Loki  阅读(2534)  评论(2编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

统计

点击右上角即可分享
微信分享提示