第17章 多核结构与内存

计算机多核结构的引入

随着单核cpu 的处理速度越来越快,硬件之间的脉冲信号传输要求硬件之间距离越来越短,导致cpu 的硬件需要集中于一个很小的面积上;这样会到一个问题的挑战很大就是散热,如果不能把热量尽快散去,会把cpu 给烧毁;这时如果再想提高计算机的运行速度,靠单个cpu的优化已经遇到瓶颈,所以多个cpu 的诞生就水到渠成啦;但多核cpu 的诞生也对操作系统带来的很大的挑战,主要是多核之间的协调和通信;下面会具体介绍


17.1 多cpu 和多核cpu 的区别

上面说的单cpu 不能满足人类对计算能力的需求,那就采取以量取胜的办法(质量上不去,用数量来弥补,通常我们说的人海战术);量就是多个cpu也有2种方式,一个是多个cpu 架构,一个多核cpu 架构。
  • 多个cpu 架构是在一个体系中安装多个cpu
  • 多核cpu架构是在一个cpu 芯片上增加多个core(执行单元)
  • 多核cpu 比多个cpu 架构更紧凑、功耗更低,所以现在都是采用多核cpu的形式来达到“量大取胜"

17.2 多核cpu 的基本概念

现在的计算机把量的几个层次都用上了;基本分为上面的3个层次:
  • 多cpu: 就是一台计算机有多个cpu(多个完整的硬件物理设备、完全的多个相同的cpu)
  • 多core:在一个cpu上可以增加多个core;现在比较多的是一个cpu 里面设置6个core
  • 超线程技术:就是一个core 又分为多个【一般是2个执行单元】,这样就实现了一个core 有多个执行单元共享这个core 的资源,也就是一个core 可以并发(统一时刻)执行多个任务(如果是分成2个执行单元就并发执行2个task)
下面我们看一下怎么查看一台计算机的物理cpu、一个cpu的核数、逻辑cpu



  • 上面的图中看到这台机器有2个物理cpu,每个物理cpu上设置了6个core;那这台计算机一共有 2 * 6 = 12个core;
  • 但上面我们看到的逻辑cpu是24个;所以可以判断这台机器开了超线程技术,一个core 分成了2个执行单元;所以
  • 这台计算机的逻辑cpu = 2个物理cpu * 每个cpu 设置6个core * 超线程技术1个core 分2个执行单元 = 24个逻辑cpu
  • 我们平时工作中说的就是逻辑cpu,这个要理解好!!!

17.3 多核的内存结构

因为一台计算机里面有多个执行单元,所有的执行单元都需要访问内存,那怎样来协调内存的资源呢?
  • 均匀内存访问方式:所有core 通过同一条总线访问内存,所有core 都是平台的访问内存;缺点是大锅饭,不能满足特殊的core的特权;不适合多个core(>4个) 使用
  • 非均匀内存访问方式:把内存分成多个部分,不同的core 访问不同的内存;这样就造成有些core 访问内存的距离很近、有些core 访问内存的距离远,自然效率也不一定;
目的是通过调度算法让每个core 都能访问到最近的内存;虽然调度算法比较麻烦,但是这个利用的还是比较多
  •  缓存:当上面的调度不能把所有core 都调度到访问最近的内存时,采取缓存来解决效率问题;在每个core 里面设置缓存,让core 使用的数据都放到 缓存里面,这样就不会影响效率问题

17.4 多核cpu 计算机的启动

  • 之前计算机的启动都是针对单cpude ,现在计算机有多个cpu,因为BIOS的程序不支撑并发,所以一次只能启动一个cpu,其他的cpu 都是中断状态;
  • 注意:物理cpu是一个一个的启动,一个cpu的多core是在启动物理CPU 时就一起启动了;超线程是通过配置来是设置是否启动的



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值