淫荡的多核,流氓的我——序
逛园子有日子了,今天这个大洗的日子,也完成下人生中的第一次,让开发这条路走的更没羞没臊一些。
截个图,留下痛苦的第一次,不再是看帖不回的黄花小码农了
下面切入正题
一:多核处理器
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 阅读(2534) 评论(2) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架