(电脑装机)硬件参数的解读&软硬件协同

前言

近日换了电脑,在选购各类硬件时,对硬件做一个汇总

CPU

CPU是最核心的部件,整个计算机的抽象是:数据输入→数据处理→数据输出.CPU进行了数据处理的工作.CPU的工作是从内存拿数据,经过计算后写回内存并控制硬件.

CPU参数

主频和时钟周期

主频表示每秒钟的运行次数,例如主频5.0GHZ,表示每秒运行50亿次.时钟周期是主频的倒数

CPU架构和IPC

IPC表示每周期指令数(Instructions Per Cycle).和架构相关.越新越先进的架构IPC越高.假设有n1代和n2代CPU,n2的IPC高于n1,在相同频率下n2处理能力更强.架构常常被忽略,但他也是CPU的重要指标.

CPU缓存

通常看见有L1,L2,L3这三个级别的缓存.缓存的基本策略是比内存更靠近CPU,读写比内存更快.++缓存相对于内存有着"优先"的级别++.缓存越大,计算机运行越快.这里有几个值得思考的地方:

1.CPU缓存的内容

缓存的内容是数据,就是说除了数据,函数或者进程都可以是缓存的内容.

1)缓存的申请

在C语言的语法中,声明临时变量可以用register修饰符申请寄存器空间(不保证成功),只要稍有计算机原理的知识就明白,宝贵的寄存器空间是很难申请到的.但这语法毕竟是存在的.由此可以引申是否可以把数据或者函数申请为缓存空间,如

复制代码
/*c语言代码*/
register int number;    //申请寄存器空间

/*伪代码*/
L1 int number;          //在L1缓存上开辟一个4字节空间

缓存申请的可行性比寄存器申请大得多.以270k plus为例,L1(未注明),L2为40MB,L3为36MB,比起以字节为单位的寄存器大了许多.

笔者不知道现在哪种语言有这种语法,或许以后随着技术发展,开发语言会提供类似支持.

2)缓存内容预测

缓存的特点是快速读取或者写入,最可能的是1-栈空间,提升程序执行速度.2-硬件中断程序,3当前程序中的频繁被访问的数据或者频繁被调用的函数.

2.CPU缓存调度算法

缓存有L1~L3几个等级,也有"轻重缓急"之分.数据在缓存之间的调度,以适应现实情况.

调度至少有两个因素:一数据优先级;二数据使用频次.

某些数据需要的快速响应程度,处于较高的数据优先级,保证处于某个缓存级

如果数据被使用的频次较多,从较低的缓存级往较高的缓存级移动.反之往相反方向移动

可以按照++加权平均++ ,或者++固定&加权平均++的思路来编写调度算法,当然这是写操作系统的人干的,只做一些思考.实际效果如何,该怎样调整,都需要测试.

3.缓存需要操作系统的支持

网上搜索"CPU读取内存数据必须经过CPU缓存吗",得到的答案是CPU先从缓存读取,再从内存读取.笔者在这里产生了一个误解:CPU可以做选择,从两个不同的物理介质和数据互动.实际上CPU是"被动"执行指令.所有传给他的数据都是由操作系统决定的.

操作系统以进程为单位和CPU交互数据.如何理解CPU先从缓存读数据呢?操作系统对缓存和内存统一编址,CPU寻址先从缓存地址开始查找.操作系统维护了类似的数据表:

|----|----|-----|------|---|----|-----------|------|----|
| 序号 | 区域 | 类别 | 大小 | | 序号 | 进程号 | 进程名 | 大小 |
| 1 | L1 | 缓存1 | / | | 1 | process 1 | 重启 | / |
| 2 | L2 | 缓存2 | 40MB | | 2 | process 2 | 关机 | / |
| 3 | L3 | 缓存3 | 36MB | | 3 | process 3 | 主进程1 | / |
| 4 | 内存 | / | / | | 4 | process 4 | 主进程2 | / |
| | | | | | | | | |
| 操作系统数据表 |||| | 缓存2数据表 ||||

上面两个表实际上是操作系统的页表系统的一部分.每次通电开机,当前使用的芯片把"缓存的大小"这个数据传给操作系统---所以左侧的表可动态更新.最主要的是操作系统有CPU缓存的控制权.64位机理论上寻址16EB地址空间,PC的物理内存通常在16~256GB,完全不用担心缓存的寻址问题.

指令周期和机器周期

这两个参数和CPU间接相关.1个指令周期是从取指到指令执行完毕的时间,包含多个机器周期(取指,访存等),一个机器周期等于若干时钟周期(主频的倒数)

内存

内存负责运行时数据的存储.一方面外部硬件把数据传给内存,另一方面内存把数据传给CPU处理.内存的主要参数是内存大小和频率.这两项参数常常在装机时让人产生焦虑,理解工作原理后没那么大的困惑了.

内存大小

当前所有进程占用的空间.进程大小和内存大小没有很大的关系.举个例子:一个游戏占200GB大小硬盘空间,但他是分场景载入内存的.例如一个场景占8个G,切换场景时用新场景数据替换旧场景占用的空间.win11本身占了几个G空间.内存不够时可以用硬盘空间作虚拟内存,计算机仍然能跑,只是速度会慢下来.

内存频率

这是选购电脑内存时最大的焦虑所在.按照电脑IPC的思路,如果IPC=1,那么一个5.5GHZ的核心,能处理的指令就有5.5G条,即55亿条.intel的Ultra 7 270k plus的8大核16小核.每秒钟只看大核可以处理55x8=440亿条指令.按照dd5 6000MHZ的双通道计算,每秒传输的数据在6Gx8x2=96GB,按照每条指令占2或3个8字节(64位)的大小,总共有96G/8/2或3,即60亿条或40亿条指令,远远不够.

然而实际情况不是这样的.CPU执行一条指令有取指令,译码,执行,访存和写回几个阶段.取指令阶段看是从缓存中或者内存中取,速度差别很大.译码和执行,才是看架构和主频.访存和写回,对应的指令大概是这样:

复制代码
/*访存*/
movw 0x01,%rax

/*写回*/
movw %rax,0x01

根据0x01的位置---内存或者缓存的不同,差异同样很巨大,从几个机器周期到几百个机器周期.IPC是一个参考指标.270k plus支持内存频率在7200~8000MT/s之间说明了这个问题.内存负责给CPU"喂"数据,CPU负责处理并回传数据给内存.综合来讲,对内存频率的要求应该排在CPU主频和缓存大小之后.

主板

主板给硬件提供了物理接口.注意硬件和接口间的匹配.例如B860m,Z890系列主板支持intel的LGA1851 接口,支持显卡接口PCI5.0,支持PCI4.0固态硬盘接口.机械硬盘的sata接口,内存支持ddr5.有的接口向下兼容:例如PCI接口,有的不兼容,例如内存ddr5不兼容ddr4.

主板另一个指标是供电能力.PC硬件中最需要电力的部件是CPU和显卡,保证他们在高负荷下的供电是稳定运行的前提.通常按照供电相数来表达.有的6+1+1,12+1+1等

电源

电源通常按照:最大负载x120%~130%来计算电源额定功率

硬盘

存储数据和程序的物理介质.这个选择是根据个人情况来的.硬盘有固态硬盘和机械硬盘.固态硬盘当下用PCI4.0,m.2 nvme接口,有qlc和tlc颗粒之分.笔者的两次固态硬盘都选了tlc颗粒,所以对qlc颗粒没有感觉.固态硬盘的重要指标是读写速度.之前用win10系统,PCI3.0接口 500GB读取速度在3500MB/S,本次换了PCI4.0 1TB 读取速度7000MB/S,说实话,没什么特别感觉.假设加载一个8GB大小的场景到内存中,两者速度上理论上虽然差了一倍,实际上就差1秒多一点时间.本身就只配了16GB的内存,加上有多少大的程序给你加载很大的数据,所以这块感觉差别不大.另一个焦虑点是固态硬盘的寿命问题.笔者前一块硬盘用了将近8年,下载软件测试后磨损在2%,照这个速度也不会焦虑(TLC硬盘,平时没有大量数据写入)

另外,PC端程序转向网页端喊了很多年,只有当网速足够快的时候,硬盘才没有优势.当前还是不行的,就算是千兆网络,理论上每秒载入内存才125MB/S,和固态硬盘的速度差距还很大.当然局域网可以突破这个限制.像网吧很多都是无盘的电脑,数据存在网吧服务器上.开机后把硬盘的映像载入服务器供个人使用.

显卡

这是玩大型游戏需要用到的.显卡是图形图像处理设备.主要的参数有图形处理单元个数,带宽,显存大小.在需求端,影响显卡的是画质和刷新率,画质越高,刷新率越高,需要处理的数据越多,意味着需要配置更好的显卡.反之如果可以接受低画质和低刷新率,也就用不着那么好的显卡.基于此多年前的显卡也能跑当前的很多游戏.

显卡的工作流程是这样的:在游戏(或者其他场景)中发出指令,CPU处理完后,将数据传给内存,内存传给显示框架(如OpenGL).接受到参数后,分给GPU(以5060ti为例,其中有4000多个流处理单元)并行处理,计算出结果后传给显存,再送到显示器.流处理单元越多计算能力越强,感觉到的硬件延迟越小体验越好.带宽有128bit,192bit,256bit等大小,但笔者觉得带宽是显卡内部传输通道,和显存频率一起决定图形数据的上限,所以可以不用关心.显存在以前没多大关注,但现在的游戏由于数据量大,也跟着重要起来了.例如玩某个游戏,如果开高画质在某个场景切换时突然画面卡住(俗称"爆显存"),如果想流畅运行就要考虑降低画质了.

显卡的选购全凭个人,因为价格差距太大,从几百块到几万都有.

机箱

机箱选大一点的,方便散热和走线.过去有个教训:因为听说装机的商家在机箱和电源上能挣钱,所以压缩预算配了个小机箱,结果内部走线卡得很紧把硬盘线压住了,用了几年后硬盘损坏了.所以机箱不要配太小.

超频

超频通过加电压的方式把硬件如CPU,内存,显卡频率拉高,榨取其性能.硬件发烧友喜欢做的事.超频一是要加大硬件成本,如主板选用支持超频的,价格上比不超频的主板要高.二是有一定的风险,如硬件损坏后不能保修.三是看超频能实际提升多少.如果图省心就不考虑超频

相关推荐
巧手打字通-一起来打字2 小时前
怎么才能科学快速的学会电脑26键盘打字?
计算机外设·电脑·键盘
请为小H留灯1 天前
Mac 常用操作与维护技巧
macos·电脑·清理电脑·常用技巧
ITHAOGE152 天前
下载 | Win11 25H2 官方正式版ISO映像!(10月更新、消费者版/专业版、商业版/企业版、26200.9711)
windows·科技·微软·电脑
AlanAshley2 天前
手机与电脑的屏幕计时器熄屏区别及协议栈
单片机·智能手机·电脑
AlanAshley2 天前
电脑烧屏的软件与硬件原因全解析
单片机·嵌入式硬件·电脑
正在走向自律3 天前
HarmonyOS 手机/平板远程控制 Windows 电脑实践指南
智能手机·电脑·harmonyos·todesk·远程工具
豪气的程序猿3 天前
Windows 11 外接键盘偶尔漏键?用键盘小鹿练习前先做双设备对照
计算机外设·电脑
bj_bluewei_tech3 天前
拯救者玩游戏掉帧卡顿,温度不高是什么原因?
网络·电脑·笔记本电脑·玩游戏
fruge3 天前
没有独显也想做AI配音?我用MOSS-TTS-Nano在CPU电脑上跑通了本地语音生成
人工智能·电脑