硬件知识入门 & UEFI基础

2022-10-28

更新于2023-7-7
回想起来,作为一名安全研究员,竟然对computer的硬件知识毫无了解
为了能够为了将来能够方便的diy电脑配置,基础的硬件知识必不可少,故尝试了解了一下。

硬盘

机械(HHD)

机械硬盘是上一个版本的硬盘
使用机械结构,利用磁来进行存储。
一般机械硬盘的读写速度在60~100 MB/s

固态(SSD)

你没有见过的全新版本,固态硬盘是当红辣子鸡
采用电子结构,利用电来进行存储
即使是最差的固态,速度也能达到400 MB/s
在了解固态前,首先需要知道一些跟固态息息相关的东西,比如插槽、通道、通信协议

1.M2和SATA(插槽)

M2其实指的是 M.2插槽(长片状)
sata插槽是方盘状

该图中,左边是sata插槽,右边是M.2插槽
其中 M2插槽根据插槽的形状分为了socket 3 和 socket 2 如下图所示

2.SATA和PCIE(通道)

SATA也可以用来形容通道(有sata3,sata2,sata1),与其对应的是PCIE通道(有pcie2.0,pcie3.0,pcie4.0),对比如下
从图中我们可以直观看到,pcie在传输数据上应该是快于sata的。

3.NVME和AHCI(通信协议)

NVME是一种通信协议(多用于PCIE),AHCI多用于SATA通道。

常见固态

常见固态分为了两种(sata(其实一定要说是AHCI)和nvme)

  1. sata硬盘根据通道版本(sata3,sata2,sata1),可以插在SATA插槽(sata3 sata2 sata1)和M2插槽(sata3)上。速度一般小于600 MB/s
  2. NVME只能插在M2插槽上,速度一般小于 4 GB/s

理论上,NVME的读写速度是要快于SATA的。

CPU

关于CPU,大家都不陌生,其中有几个非常重要的参数需要了解:

  1. 核心(core):CPU中进行运算的器件
  2. 线程(thread): CPU中进行调度的基本单位

    曾经,一个core同一时间只能调度一个thread,但是intel推出了超线程技术,一个core可以同时并行调度2个thread

  3. 频率: 单位时间内 一个core可以执行一个线程(指令序列)的长度。说白了,就是cpu的执行速度,频率有基础频率、睿频、超频 三种度量

    基础频率是指 正常情况下 cpu的运行速度 睿频指的是 加速情况下,cpu的运行速度 超频 cpu的正常配置是无法达到的,需要人为提高cpu频率(轻则死机,重则爆炸,需要更换更高级的降温设备)

  4. 制程: 指的是cpu的工艺级别,比如14nm工艺,7nm工艺,制程越低,单位面积上能集成的晶体管越多,那么cpu的性能越高,能耗越低。
  5. 架构:说白了就是 cpu设计的方式,好的架构 可以提高cpu整体资源的利用率。
  6. 接口:每个cpu需要安放在特定的主板上,因为cpu的接口不一定相同。
  7. 缓存(cache): 缓存是cpu临时存放数据的地方,缓存越大,cpu的速度也会更快(因为不需要从内存里取信息)
  8. 功耗(TDP,意为散热设计功耗)与温度: 顾名思义

接下来介绍2个CPU大厂 intel和amd

intel

俗称牙膏厂,常见的产品线有赛扬(Celeron)、奔腾(Pentium)、酷睿(i)、至强(xeon)

  1. 赛扬(Celeron)面向低端电脑,型号如:N4020、3965Y
  2. 奔腾(Pentium)面向中低端电脑,能够满足日常需求,型号:G5400
  3. 酷睿(i)面向中高端电脑,其单核的睿频很高,能满足游戏需求,有i3 i5 i7 i9 4个等级,型号:i3 10100f、i5 10400f、i7 10700k、i9 10900k
  4. HEDT(high-end desktop),如i9 10980xe、i9 9980xe,一般是多核多线程以及大缓存
  5. 至强(xeon),面向服务器工作站的,cpu核心线程多,但是睿频低,有E3、E5、E7三个等级

amd(Advanced Micro Devices,超威半导体)

俗称按摩厂,也可以叫农企。
常见的产品线有 锐龙、线程撕裂者、霄龙

  1. 锐龙(ryzen):消费者平台(对标intel酷睿) 有r3 r5 r7 r9四个等级,注重多核性能
  2. 线程撕裂者(ThreadRipper):能达到竟然的64核128线程,超大缓存,怪物级别,型号有 3990x
  3. 霄龙(Epyc):服务器处理器,对标intel的至强。

cpu的命名方式

拿intel的酷睿和amd的锐龙系列举例: 比如 酷睿的 i9 12900kf

i(酷睿) 9(等级9) 12(12代)900(性能900)k(加强版,表示不锁频,可超频)f(不带核显) intel特有的符号是 k(加强版,带上就可以超频) f(不带核显,没有该标准默认带核显) s(特别体制版,特别体制版在睿频/超频方面表现得会更强大)

在比如amd的 ` r5 3500xt`

r(锐龙)5(等级5) 3(3代)500(性能500)x(加强版,amd所有cpu均可超频)t(特别体制版) amd的特有符号 x(表示加强版) t(特别体制版,同intel的s) g(带核显,amd默认不带核显)

主板

主板是装载各大电脑硬件,为硬件提供工作环境的电路板

主板的型号

市面上常见的主板型号有:

  1. mini(17.0 x 17.0 cm)
  2. m-atx(24.3 x 24.3 cm)
  3. atx(30.5 x 24.4 cm)
  4. e-atx(30.5 x 26.9 cm)

其中 mini型号的主板体积小,设计难度大,价格略贵,非主流装机的选择
m-atx型号的主板接口紧凑,物件够用,是主流装机的选择
atx型号的主板属于高端主板,接口丰富,灯光酷炫,受到有钱玩家的喜爱
e-atx型号的主板是HEDT平台专属,只能搭载顶配CPU
其实主板的型号越大,做工一般更优秀,接口也会更多更丰富,拓展性也越强

主板的常见接口

借用知乎大哥画的一幅图:

其实接口那么多,你直接开始死记硬背也没什么意思

实际去装机后,你自然而然就记住了,亲测有效
不过还是简单介绍一些接口:

  1. CPU插槽:装cpu的的
  2. 内存插槽:装内存的
  3. PICE插槽: 装显卡的(或者无线网卡、声卡、蓝牙、采集卡 等等)
  4. m.2硬盘接口: 装m.2接口的固态硬盘的
  5. sata硬盘接口:装sata固态硬盘的
  6. I/O接口: 图中最下面一排的各种奇奇怪怪的接口(最终装在机箱上时,这排接口一般会用跳线连接后和机箱里的各种按钮和接口连接上)(同样是实际装机后就知道了)
  7. 供电接口: 有CPU供电接口、主板供电接口等等
  8. 机箱跳线及其他(用于连接主板和机箱的)

主板上的bios

bios是最底层的操作系统,主板自带。
通过bios,我们可以查看计算机的硬件信息以及做一些骚操作。

芯片组

芯片组一般位于内存插槽下方,平时由散热装甲包裹着
芯片组是主板的核心芯片,直接决定主板可以搭配什么cpu,能否对cpu超频,决定主板扩展性
常见的芯片组型号如下: 也不用全都记住,看一看即可。
入门级主板和高端主板直接的主要差距就体现在芯片组上: 通常情况下,高端主板的芯片组更先进:
先进的芯片组可以搭载更高级的cpu,一般PCIE版本也更高,可以接更多的pcie设备,扩展性也更强
PS: 高端芯片组还会搭载(sli、cf技术,可以插若干个显卡),支持更高频率的内存,自带优质无线网卡声卡等等

主板命名方式

一线主板厂家有:微星、华硕、技嘉
通用格式是品牌 芯片组型号 版型(可有可无) 后缀(可有可无)
微星b450m mortar max(wifi)
微星生产的,型号为b450m(m代表紧凑型),代号是迫击炮(mortar)的,加强版(max)带自带无线网卡 的主板
华擎 a320m hdv r4
华擎生产的,型号为a320m,带图像接口(h表示hdmi,d代表dvi,v代表vga,都是投影相关的) 代号r4的主板。

内存

所谓内存,其实是CPU和硬盘的缓冲地带,因为CPU速度远快于硬盘的速度,因此需要有个中间件(内存)来平衡CPU和硬盘的性能差异

内存规格

ddr(double data rate),双倍数据速率。
现在内存规格都用ddr来表示。
现在主流内存都是ddr4.

内存频率

单位时间内,内存能让CPU访问的次数,单位一般是mhz
但是值得注意的一点是,实际上的内存频率不一定有内存上标注的内存频率那么快。
从定义出发,cpu要想访问内存,首先需要通过主板,主板发送请求给内存,内存接受请求后再处理,并把结果返回给主板,主板再传送给CPU。总的来说路线是cpu-主板-内存-主板-cpu
换句话说,要想达到理论上的最大内存频率,还要问过cpu主板同不同意。
通常情况下,cpu和主板也有一个理论支持的最大内存频率
不过,其实cpu支持的最大内存频率倒是没什么关系,虽然它标了那么多(实际上是厂家保守写的,你要是比它大也无所谓,cpu照样承受的住)
问题比较大的是主板的最大内存频率。
所以装机的一般步骤都是决定显卡,再决定主板,最后根据主板来买合适的内存条。
另外一点需要注意的是,有时就算买了合适的cpu、主板、内存,你的理论内存频率也跑不到那么快,通常都是因为厂商为了能稳定开机,使用了JEDEC预设(默认较低的内存频率)
解决办法也简单,进入bios开启xmp(超频预设)

内存容量

内存最大的数据存储量。

内存双通道

指的是有2个内存条的情况,cpu可以同时访问2个内存条,提高速率。
还有内存四通道(4根内存),8通道(8根内存)等等。

内存时序

内存时序是衡量 cpu和内存交互数据时,需要的时间(延迟) 的一种指标。
总延迟(ns) = 时钟周期时间(ns) * 时钟周期数(CL)
这里的时钟周期数就是内存时序了。
每一代内存的时钟周期时间、cl值都不固定,但算下来每代内存的总延迟其实差不多的
可以用 AIDA64软件 来测试。

内存颗粒

决定内存频率和时序是否优秀的根本,是内存的基本构造——颗粒
查看内存颗粒的程序是thaiphoon(台风)

UEFI简介

UEFI(unified Extensible Firmware Interface,统一可拓展固件接口),它诞生的主要目的为了取代传统BIOS来引导操作系统。因此要想了解UEFI,需要从了解传统BIOS开始

BIOS

BIOS(Basic Input/Output System)是启动操作系统前的步骤,它负责 初始化硬件设备提供硬件的软件抽象 ,和 启动操作系统

UEFI

UEFI的功能和BIOS是一模一样的,也是 初始化硬件设备提供硬件的软件抽象 ,和 启动操作系统 .
就启动固件的引导流程而言,具体步骤没有发生大的变化

  1. ROM STAGE: 在这个阶段,因为没有内存,没有栈等等程序运行时需要的环境,往往都是汇编代码直接运行在ROM(硬盘)里运行。在找到临时空间用作RAM后,进入第二个步骤
  2. RAM STAGE:因为有了大片内存可以使用,在这个阶段,会进行初始化芯片组、CPU、主板模块等等核心功能
  3. Find Something to boot Stage:在这个阶段,枚举设备,发现启动设备,把启动设备前的依赖节点打通。然后转移工作给window/linux。

UEFI相比于BIOS的优势

BIOS和UEFI本身的功能而言并没有太大的变化,UEFI为什么能取代BIOS呢?

1.提供更多的功能

UEFI相比与BIOS更像一个微型的操作系统,它提供了 图形化界面、允许硬件驱动植入、文件系统 等等原本操作系统才能提供的功能。
操作更加简单快捷,编写代码也更加方便,举个例子,BIOS大部分代码是需要汇编代码编写,但是因为UEFI支持上述操作系统的功能,可以在UEFI下用c语言编写运行程序。

2.标准接口、开放统一和开源

在bios时代,不同主板厂商之间的bios各不相同,想编写一份可以在各种主板下都能运行的驱动过于困难。
但是现在有了UEFI后,只有你编写的驱动程序符合UEFI driver model的驱动程序可以在各个主板上运行无阻。

references

https://blog.csdn.net/u010917150/article/details/90643099
https://zhuanlan.zhihu.com/p/137680552
https://zhuanlan.zhihu.com/p/188674431
https://zhuanlan.zhihu.com/p/333489243
https://zhuanlan.zhihu.com/p/448455702
什么是UEFI启动?)
UEFI是什么?与BIOS的区别在哪里?
UEFI 引导与 BIOS 引导在原理上有什么区别?