流氓の影

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

 

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

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

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

  

下面切入正题

 

一:多核处理器

  1、什么是多核处理器?

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

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

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

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

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

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

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

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

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

 

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

 

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

 

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


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

 

图例:

 

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

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

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

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

posted on 2012-04-09 22:48  Manon_Loki  阅读(2523)  评论(2编辑  收藏  举报

导航