从程序员视角浅入浅出了解计算机硬件——总结

前言

前面的几篇文章,我们依次分析了CPU、内存、三级缓存、硬盘的硬件参数和性能情况。

从程序员视角浅入浅出了解计算机硬件——概述
从程序员视角浅入浅出了解计算机硬件——CPU
从程序员视角浅入浅出了解计算机硬件——内存
从程序员视角浅入浅出了解计算机硬件——硬盘
从程序员视角浅入浅出了解计算机硬件——总结

CPU

CPU的关键性能参数包括:

  • 核心数量:CPU中的处理单元数量,影响多任务处理能力。
  • 主频:CPU的时钟频率,用于衡量每秒钟处理指令的速度。
  • 缓存:包括L1、L2和L3缓存,用于临时存储数据,加快数据访问速度。
  • 制程工艺:制程工艺的纳米数,通常表示了CPU的能效和性能。
  • 指令集:CPU支持的指令集架构,如x86、ARM等,影响软件的兼容性和性能表现。
  • 总线速度:CPU与其他组件通信的速度,影响整体系统的数据传输速度。
  • 动态频率调整:CPU能否动态调整频率以节能或提升性能。

内存

内存的关键性能参数包括:

  • 容量:内存模块存储数据的容量,通常以GB为单位。
  • 速度:内存的工作频率,通常以MHz或MT/s为单位,影响数据传输速度。
  • 时序:内存访问延迟,通常以CL值(CAS延迟)表示,影响内存响应速度。
  • 标准:内存模块的标准,如DDR3、DDR4等,决定了内存的兼容性和性能表现。
  • 通道数:内存模块的通道数量,影响内存的并行处理能力。
  • ECC(错误校正码):内存是否支持ECC,用于检测和纠正内存中的错误。
  • 散热设计:内存模块的散热解决方案,影响内存的稳定性和超频能力。

硬盘

硬盘的关键参数包括:

  • 类型:常见的有机械硬盘(HDD)和固态硬盘(SSD)。
  • 容量:硬盘可以存储的数据量,通常以GB或TB为单位。
  • 转速:机械硬盘的盘片旋转速度,通常以每分钟转数(RPM)表示,影响数据读写速度。
  • 接口:硬盘与主板或控制器连接的接口类型,如SATA、SAS、NVMe等。
  • 协议:双方交换数据的规则,比如如何识别对方的身份、如何建立断开连接、编码解码方式,常见的协议有AHCI、NVMe、SCSI等。
  • 总线:计算机设备里各个部件之间交换数据、传输电信号等的通道,这个通道每秒能传输的数据量就叫做带宽,常见的总线有SATA、PCIe、SAS等。
  • 块大小:硬盘的数据传输块大小,通常以KB为单位,影响数据传输效率。
  • 缓存大小:硬盘内置缓存的容量,用于临时存储数据,提高数据读写性能。
  • 寿命/耐用性:固态硬盘的写入寿命,通常以TBW(Total Bytes Written)表示。
  • 响应时间:硬盘的平均寻道时间或访问时间,影响数据读取速度。

性能金字塔

根据各个性能测试软件的测试结果,我们可以等到以下的性能金字塔:
在这里插入图片描述

图1 硬件性能金字塔

总结

从图中我们可以直观的知道各个硬件的延迟情况,也侧面体现了各个硬件的响应时间。当我们发现代码有性能问题时,可以分析主要的性能瓶颈在哪,是CPU还是内存,或者是硬盘。根据性能的瓶颈不同,优化的策略不同。

  • 瓶颈在CPU,则需要考虑如何提供代码的效率,减少CPU的计算量,如果单核达到瓶颈,则考虑能否使用多线程来优化。
  • 瓶颈在内存,则需要判断是内存容量不够,还是延迟太高,内存不够可以通过加内存条扩容。如果是延迟太高,则需要换时序更低的内存。(总结就是要加钱)
  • 瓶颈在硬盘,也就是IO操作过于频繁,这个时候考虑的方向有很多,如果是机械硬盘,则考虑是否可以换固态硬盘。但即使是固态硬盘,速度跟内存相比有100倍以上的差距,可以使用内存缓存,随机读写改为顺序读写。

加钱可以解决99%的问题,但只有对各个硬件的性能释放情况有充分的了解,才能避免把钱花在刀把上的情况。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值