cpu处理结构浅谈

最近要找个高性能的服务器 ,为了不被坑 搜集了些资料补习了一下cpu多核架构的知识。 

从有多核概念以来, amd 和 intel 都在抢着定义实现这些标准 ,各种新的多核技术和术语层出不穷, 这让用户无从是从。

以下从出现过的术语慢慢捋:

1 单核结构 

             CPU  状态             

             中断 逻辑              

  执行单元   |  一级Cache 

       

所有的多核结构都是以此为蓝本进行各种改变的

单核结构 就如 一个厨师(CPU 状态&中断 逻辑)在用一个锅(执行单元 )和一个炉子(一级Cache) 在炒菜 并由一个副手(总线接口)在上菜


2 多CPU结构

             CPU  状态                                       CPU  状态             

              中断 逻辑                                         中断 逻辑              

  执行单元   |  一级Cache                执行单元   |  一级Cache  


多CPU 结构 只是是从硬件上增加了同等的CPU个数,每个CPU都能独自处理各自的逻辑,但在实际应用中为了保证支持任务的并发数,还牵扯到互联网络(置换函数,交叉开关,多级网络等), 这无疑提高了主板的复杂度和成本, 所以一般只有对并发性能有特殊要求的服务器才会在多CPU上下功夫 

多CPU 如同多个厨师在不同的厨房用自己的一套工具在炒菜并且各自都由自己的副手在上菜,厨师之间的沟通成本高, 且厨师多了比较 占地方


3 多核CPU结构

             CPU  状态            ||||            CPU  状态             

              中断 逻辑             ||||             中断 逻辑              

  执行单元   |  一级Cache|||| 执行单元   |  一级Cache  


多核CPU结构 是对单核CPU的改进,伴随生产工艺提高在同等体积下的CPU内部增加了计算所需核心部件(浮点计算器,中断,寄存器,cache等),对于其他外部部件来看依旧只有一个CPU在进行访问, 简单看多核CPU计算能力是单核CPU的 倍数,但由受总线接口的影响(intel的多核技术为双芯使用同一个总线接口,amd的多核可用多个总线接口),实际运行并不能和多CPU能力等效,但其并行运算的能力已经足以满足个人用户的需求了

多核CPU如同多个厨师在挤在了同一个厨房内用自己的工具炒菜,而且很有可能他们还只由一个副手上菜


4 超线程结构(HT)

         CPU  状态                 CPU  状态             

          中断 逻辑                   中断 逻辑             

              执行单元       |     一级Cache             

Intel 在P4时代主推的一个技术,并不是如同多核一样拥有多个计算核心部件, 而是针对流水线特定指令的部件优化,由此让浮点计算器,继承器,cache等部件都能在同一时间进行工作而无需像单核样等待流水线特定部件的指令对特定部件的操作, 此技术以提高了核心计算部件的利用率来提升并行能力,当然对外看还是只有一个CPU核心在运算

超线程结构CPU 如同一个会用两只手炒菜的厨师,虽然受锅灶的限制,但任然能提高做菜的效率


5 共享Cahe的多核结构

         CPU  状态                 CPU  状态             

          中断 逻辑                   中断 逻辑             

          执行单元                     执行单元             

                           一级Cache                             

类似多核结构,由于代码又空间的相关性,当多核用各自的Cache来执行同一个程序的并行任务时,Cache之间无疑存在很大的相似性, 考虑到Cache的成本和避免多个Cache对同一段内存进行未命中时加载,这个结构共享了Cache。 可以预期此结构在执行多线程任务时的效率不低于多核CPU

 共享Cahe的多核结构好比 多个厨师用各自的工具在一个灶上炒菜, 合理利用灶的余温也避免频繁熄火和开火时的消耗


6 超线程的多核架构

         CPU  状态                 CPU  状态             ||||         CPU  状态                 CPU  状态             

          中断 逻辑                   中断 逻辑             ||||          中断 逻辑                   中断 逻辑             

              执行单元       |     一级Cache             ||||              执行单元       |     一级Cache             

只有Intel推进的HT不算太成功的技术,与时俱进的加入到多核里面也算是intel不甘心失败的一个措施,同多核结构一样,只是每个核的流水线能更高效的使用计算单元

好吧,多个会用双手炒菜的厨师集中在一个厨房炒菜,只有一个上菜的小弟, 想象下小弟的压力吧


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值