计算机硬件基础知识

张开发
2026/4/4 16:56:40 15 分钟阅读
计算机硬件基础知识
第1章 计算机硬件基础知识 零基础超详细讲解一、章节总览这一章是计算机硬件的入门核心相当于计算机的“硬件说明书底层原理课”不管是软考、计算机考研还是硬件入门都是必学内容。我们会把4大模块拆成零基础能懂的知识点用通俗的话原理例子讲透。1数据的表示计算机里的数字怎么存、怎么算1.1 数制及其转换计算机为什么用二进制核心概念我们日常用十进制0-9逢10进1但计算机硬件只能识别「通电/断电」两种状态对应二进制0-1逢2进1这是计算机的“母语”。同时为了方便书写衍生出八进制0-7逢8进1、十六进制0-9、A-F逢16进1A10B11…F15。零基础必懂常见数制转换1十进制 ↔ 二进制十进制转二进制整数除2取余逆序排列例子把十进制13转二进制13 ÷ 2 6 余 16 ÷ 2 3 余 03 ÷ 2 1 余 11 ÷ 2 0 余 1逆序取余1101二进制验证1×2³ 1×2² 0×2¹ 1×2⁰ 840113 ✅二进制转十进制按权展开求和二进制每一位的“权值”是2的n次方从右往左从0开始计数例子二进制1011转十进制1×2³ 0×2² 1×2¹ 1×2⁰ 802111十进制2二进制 ↔ 八进制/十六进制快速转换二进制→八进制3位二进制对应1位八进制因为2³8不足3位补前导0例子10110→ 补0成010 110→ 对应2和6 → 八进制26二进制→十六进制4位二进制对应1位十六进制因为2⁴16不足4位补前导0例子10110→ 补0成0001 0110→ 对应1和6 → 十六进制16反向转换1位八进制拆3位二进制1位十六进制拆4位二进制即可1.2 原码、反码、补码、移码有符号数的存储规则计算机里的数分无符号数只有正数比如0~255和有符号数有正有负有符号数需要用「最高位当符号位」0代表正数1代表负数。1原码最直观的表示法规则符号位数值位数值位就是数的绝对值的二进制例子8位二进制1字节表示5和-55符号位0数值位0000101 → 原码0000 0101-5符号位1数值位0000101 → 原码1000 0101缺点0有两种表示000000000-010000000且加减运算复杂减法要单独处理符号所以计算机不用原码存数。2反码原码到补码的过渡规则正数的反码 原码不变负数的反码 原码的符号位不变数值位按位取反0变11变0例子8位表示5和-55反码0000 0101和原码一样-5原码1000 0101→ 数值位取反 → 反码1111 1010缺点0还是有两种表示000000000-011111111仍不适合运算。3补码计算机实际用的存储方式核心作用把减法变成加法让计算机只用加法器就能完成所有加减运算大幅简化硬件设计。规则正数的补码 原码 反码不变负数的补码 反码 1符号位不变例子8位表示5和-55补码0000 0101-5反码1111 10101 → 补码1111 1011关键优势0只有一种表示00000000减法转加法完美实现例子计算5-3等价于5 (-3)5的补码0000 0101-3的补码1111 1101相加0000 0101 1111 1101 1 0000 0010最高位进位丢弃→ 结果0000 00102 ✅4移码专门给浮点数阶码用的表示法规则补码的符号位取反其余位不变本质是给真值加一个偏移量通常是2ⁿn是数值位位数例子8位表示5和-55的补码0000 0101→ 符号位取反 → 移码1000 0101-5的补码1111 1011→ 符号位取反 → 移码0111 1011核心特点移码的大小和真值大小完全一致可以直接比较大小所以用来存浮点数的阶码指数方便硬件比较阶码大小。1.3 浮点数计算机怎么存小数整数用定点数小数点固定在末尾但小数需要用浮点数小数点位置浮动类似科学计数法。1浮点数的标准格式IEEE 754计算机通用标准浮点数 符号位S 阶码E指数 尾数M有效数字对应科学计数法N (-1)^S × M × 2^E符号位S0代表正数1代表负数1位阶码E用移码表示代表小数点的位置决定数的范围尾数M用原码表示是纯小数默认整数部分为1所以可以省略节省1位存储空间叫“隐藏位”2常见浮点数类型类型总位数符号位S阶码E尾数M表示范围单精度float32位1位8位23位±3.4×10³⁸双精度double64位1位11位52位±1.7×10³⁰⁸3浮点数的运算步骤零基础懂流程即可对阶把两个数的阶码统一小阶向大阶对齐保证精度尾数加减阶码相同后尾数做加减运算规格化把结果调整为标准格式尾数的整数部分为1舍入尾数超出位数时做0舍1入等处理溢出判断判断结果是否超出浮点数的表示范围1.4 溢出数太大/太小存不下了核心概念当运算结果超出了当前数据类型的表示范围就叫溢出。上溢结果太大超过了最大值比如8位有符号数最大是127算1271就上溢下溢结果太小小于最小值比如8位有符号数最小是-128算-128-1就下溢补码的溢出判断方法计算机硬件用的方法双符号位法变形补码用2位符号位00代表正11代表负运算后符号位为01正溢出上溢运算后符号位为10负溢出下溢符号位为00/11无溢出单符号位法两个正数相加符号位变1上溢两个负数相加符号位变0下溢1.5 算术运算、逻辑运算计算机的基础运算1算术运算加减乘除和数学一致补码实现加法补码直接相加进位丢弃减法转成加法减数取补码相加乘法/除法硬件用移位加减实现比如二进制乘法左移累加2逻辑运算按位运算位与位独立逻辑运算只对二进制的每一位单独操作不产生进位是计算机底层操作的核心。运算符号规则例子8位A00001101B00001011与AND全1才1有0则000001001或OR|有1则1全0才000001111非NOT~0变11变011110010A的非异或XOR^不同为1相同为000000110异或的妙用两个相同数异或为0一个数和0异或等于本身用来做数据校验、加密、交换变量不用临时变量。1.6 校验码数据传错了怎么发现/纠正数据在传输、存储时可能出错比如电磁干扰导致0变1校验码就是用来检错/纠错的机制。1奇偶校验最简单的检错码规则在数据末尾加1位校验位让整个数据的「1的个数」满足约定奇校验1的个数为奇数偶校验1的个数为偶数例子数据101101的个数3奇数奇校验加校验位0 →101100总1的个数3奇数偶校验加校验位1 →101101总1的个数4偶数特点只能检1位错误不能纠错也不能检偶数位错误比如两位同时翻转1的个数不变适合简单场景。2CRC校验循环冗余校验通信/存储常用的检错码原理用多项式除法给数据加一个「校验和」接收端用同样的多项式除法验证余数为0则无错特点检错能力强能检多位错误只能检错不能纠错广泛用于以太网、硬盘、U盘等。3海明码汉明码能检错纠错的校验码原理把校验位插入数据位中用多个奇偶校验位定位错误位置不仅能发现错误还能纠正1位错误特点开销大校验位数量多适合对可靠性要求高的场景比如内存纠错。2计算机系统的组成、体系结构分类及特性计算机的“硬件骨架”2.1 计算机系统的组成5大核心部件冯·诺依曼体系结构现代计算机的基础运算器、控制器、存储器、输入设备、输出设备运算器ALU负责算术运算加减乘除和逻辑运算与或非是计算机的“计算器”控制器CU负责取指令、分析指令、执行指令是计算机的“总指挥”运算器控制器 CPU中央处理器是计算机的核心存储器存数据和指令分内存主存和外存辅存输入设备给计算机传数据键盘、鼠标、扫描仪、麦克风输出设备计算机给人传数据显示器、打印机、音箱I/O设备输入输出设备的统称也叫外设2.2 CPU的组成、性能和基本工作原理1CPU的核心组成运算器ALU算术逻辑单元、累加器、通用寄存器组、状态寄存器存运算标志比如溢出、进位控制器程序计数器PC存下一条指令地址、指令寄存器IR存当前指令、指令译码器ID解析指令、时序控制电路寄存器CPU内部的高速存储速度远快于内存用来临时存指令、数据、地址分通用寄存器比如AX、BX和专用寄存器PC、IR等2CPU的性能指标零基础懂核心主频CPU的时钟频率单位GHz代表每秒的时钟周期数主频越高运算速度越快比如3.0GHz每秒30亿个时钟周期字长CPU一次能处理的二进制位数32位、64位字长越长处理能力越强核心数CPU内部的运算核心数量双核、四核、八核多核可以并行处理任务缓存CacheCPU和内存之间的高速缓冲分L1、L2、L3缓存缓存越大CPU访问数据的速度越快IPC每时钟周期指令数每个时钟周期能执行的指令数代表CPU的执行效率3CPU的工作原理指令执行周期CPU执行程序的本质是循环执行指令周期取指令从内存中取出下一条指令存入指令寄存器IR分析指令指令译码器解析指令知道要做什么操作执行指令运算器执行操作控制器控制各部件协同存结果把运算结果存回寄存器或内存更新程序计数器PC指向下一条指令地址重复循环2.3 存储器的组成、性能和基本工作原理1存储器的分类按速度/用途类型位置速度容量用途断电后数据寄存器CPU内部最快最小KB级临时存指令/数据丢失高速缓存CacheCPU和内存之间极快小MB~几十MB缓冲CPU和内存的速度差丢失内存主存/RAM主板上快中等GB级8G/16G/32G运行程序的临时存储丢失DRAM外存辅存外部设备慢大TB级硬盘/SSD长期存储数据保留2内存的核心类型DRAM动态随机存取存储器电脑的主流内存需要不断刷新才能保留数据容量大、成本低SRAM静态随机存取存储器不用刷新速度极快用来做Cache成本高、容量小ROM只读存储器断电不丢数据用来存BIOS电脑开机引导程序只能读不能写现在有可擦写的EEPROM、Flash3存储器的性能指标存储容量能存的二进制位数单位B、KB、MB、GB、TB1B8bit存取速度存取时间从发请求到拿到数据的时间、存取周期连续两次存取的最小间隔带宽单位时间能传输的数据量带宽越高速度越快2.4 常用I/O设备、通信设备的性能及基本工作原理1常用I/O设备输入设备键盘字符输入、鼠标定位输入、扫描仪图像输入、麦克风音频输入、触摸屏触控输入输出设备显示器图像输出核心指标分辨率、刷新率、色域、打印机纸质输出、音箱音频输出、投影仪存储型I/O设备U盘、移动硬盘、光盘既是输入也是输出2常用通信设备网卡电脑和网络的接口分有线网卡RJ45接口和无线网卡WiFi核心指标速率100M、1G、2.5G交换机局域网内的设备用来连接多台电脑转发数据核心指标端口数、带宽、交换容量路由器连接不同网络比如局域网和互联网实现路由寻址、IP分配核心指标端口数、带宽、无线速率调制解调器猫把数字信号转成模拟信号电话线上网用现在基本淘汰2.5 I/O接口的功能、类型和特性I/O接口是CPU和I/O设备之间的桥梁因为CPU和外设的速度、信号类型、数据格式都不一样需要接口做转换。1I/O接口的核心功能数据缓冲解决CPU和外设的速度差接口里的缓冲区暂存数据信号转换把CPU的数字信号转成外设能识别的信号比如电平转换数据格式转换并行转串行、串行转并行CPU用并行外设用串行设备选择CPU通过地址线选择要操作的外设中断控制外设向CPU发中断请求让CPU响应外设比如键盘输入时序控制协调CPU和外设的工作时序2I/O接口的类型按数据传输方式并行接口一次传多位比如老式打印机并口速度快、距离短、串行接口一次传1位比如USB、串口速度慢、距离长按功能通用接口USB、HDMI、专用接口显卡的PCIe接口、硬盘的SATA接口按控制方式程序直接控制查询式CPU不断查询外设状态效率低中断控制外设准备好后发中断CPU响应效率高DMA直接存储器存取DMA控制器直接控制外设和内存的数据传输不用CPU干预速度最快比如硬盘、网卡用DMA2.6 CISC/RISC两种CPU指令集架构1CISC复杂指令集计算机代表x86架构Intel、AMD的桌面/服务器CPU特点指令数量多、指令长度不固定、功能复杂一条指令能完成复杂操作适合通用计算比如电脑、服务器优点编程简单编译器开发容易兼容性好缺点硬件设计复杂功耗高指令执行效率参差不齐2RISC精简指令集计算机代表ARM架构手机、平板、嵌入式设备、RISC-V开源架构特点指令数量少、指令长度固定、功能简单只保留常用指令复杂操作用多条指令实现优点硬件设计简单功耗低执行效率高适合嵌入式、移动设备缺点编程复杂编译器开发难度大3核心对比表特性CISCx86RISCARM/RISC-V指令数量多几百上千条少几十到上百条指令长度不固定固定寻址方式多少硬件复杂度高低功耗高低适用场景桌面/服务器移动/嵌入式2.7 流水线操作让CPU“并行干活”核心概念流水线是把指令执行周期拆成多个阶段让多个指令的不同阶段同时执行大幅提升CPU的吞吐率类似工厂的流水线。经典5级流水线取指→译码→执行→访存→写回例子没有流水线时1条指令需要5个时钟周期10条指令需要50个周期用流水线后第1条指令5个周期完成之后每个周期完成1条10条指令只需要14个周期效率提升3倍多。流水线的关键问题流水线冒险指令之间的依赖导致流水线停顿分数据冒险指令用了前一条的结果、控制冒险分支跳转、结构冒险硬件资源冲突解决方法数据转发、分支预测、指令重排等现代CPU都有专门的流水线优化硬件。2.8 多处理机、并行处理让多CPU一起干活1并行处理的核心思想用多个处理器/核心同时执行任务提升计算速度解决单CPU的性能瓶颈。2多处理机的分类SMP对称多处理机多个CPU共享内存、总线地位平等比如多核CPU电脑的4核、8核适合通用并行计算MPP大规模并行处理机多个CPU有独立的内存、总线通过网络连接比如超级计算机适合大规模科学计算集群多台独立电脑通过网络连接协同工作比如服务器集群成本低、扩展性强3并行处理的层次指令级并行ILPCPU内部的流水线、超标量技术让单CPU同时执行多条指令线程级并行TLP多线程同时执行比如CPU的超线程技术任务级并行TLP多个任务/进程同时执行比如多核CPU同时跑多个程序数据级并行DLP对大量数据做相同操作比如GPU的SIMD单指令多数据架构适合AI、图形计算3存储系统计算机的“数据仓库”3.1 多级存储体系速度、容量、成本的平衡核心原理局部性原理程序运行时90%的时间只访问10%的数据所以可以用「多级存储」来平衡速度、容量、成本速度从快到慢寄存器 → Cache → 内存 → 外存容量从小到大寄存器 → Cache → 内存 → 外存成本从高到低寄存器 → Cache → 内存 → 外存多级存储的工作流程CPU要访问数据时先查Cache最快如果有命中直接用如果没有不命中去内存找把数据加载到Cache再给CPU用如果内存也没有去外存硬盘找加载到内存再到Cache。命中率Cache中找到数据的概率命中率越高存储系统的平均速度越快平均存取时间 命中率×Cache存取时间 (1-命中率)×内存存取时间3.2 虚拟存储器让程序“觉得”内存无限大核心问题物理内存RAM的容量有限比如16G但程序需要的内存可能远大于物理内存虚拟存储器就是用硬盘空间模拟内存让程序以为自己有一个超大的连续内存空间。1虚拟存储器的基本原理程序运行时只把当前需要的部分加载到物理内存不用的部分存在硬盘交换分区/页面文件程序访问的是虚拟地址CPU通过「页表」把虚拟地址转换成物理地址MMU内存管理单元硬件实现当程序访问的虚拟地址不在物理内存时触发缺页中断操作系统把对应数据从硬盘加载到内存再继续执行2虚拟存储器的实现方式分页式把虚拟内存和物理内存分成固定大小的页比如4KB页表记录虚拟页和物理页的对应关系是最常用的方式分段式把程序分成逻辑段比如代码段、数据段段表记录段的位置适合程序的逻辑管理段页式先分段再分页结合两者的优点现代操作系统Windows、Linux都用段页式3.3 RAID类型和特性硬盘的“安全提速方案”RAID独立磁盘冗余阵列把多个物理硬盘组合成一个逻辑硬盘实现数据冗余备份、提升速度、扩容的目的广泛用于服务器、NAS。常见RAID级别零基础懂核心RAID级别硬盘数量核心特性优点缺点适用场景RAID 0至少2块条带化无冗余速度最快容量所有硬盘之和无备份1块硬盘坏所有数据全丢对速度要求高、数据不重要的场景比如临时存储RAID 1至少2块镜像1:1备份安全性最高1块坏了数据不丢读速度快容量1块硬盘50%利用率成本高对数据安全要求高的场景比如服务器系统盘RAID 5至少3块条带化奇偶校验速度快有冗余容量(n-1)块硬盘之和1块硬盘坏了可以恢复2块坏了数据全丢服务器、NAS的主流选择平衡速度、安全、成本RAID 6至少4块双奇偶校验安全性高2块硬盘坏了也能恢复写速度慢容量(n-2)块硬盘之和对数据安全要求极高的场景比如金融、存储RAID 1010至少4块先做RAID1镜像再做RAID0条带速度快安全性高最多坏一半硬盘容量总容量的50%成本高高性能、高安全的场景比如数据库服务器4可靠性与系统性能评测基础知识计算机的“体检保障”4.1 诊断与容错计算机坏了怎么办1故障诊断目的检测、定位、排除计算机的硬件/软件故障方法硬件诊断POST开机自检、硬件检测工具比如CPU-Z、HD Tune、故障诊断卡软件诊断系统日志、性能监视器、杀毒软件、调试工具2容错技术让计算机“坏了也能正常跑”容错是指系统在部分硬件/软件故障时仍能正常工作的能力核心是冗余硬件冗余用额外的硬件备份比如RAID1、双电源、双CPU软件冗余用额外的软件备份比如双系统、数据备份、故障切换时间冗余重复执行操作比如数据重传、指令重试信息冗余用校验码比如CRC、海明码检测和纠正错误4.2 系统可靠性分析评价怎么衡量计算机的可靠性核心指标可靠性R系统在规定时间内正常工作的概率可用性A系统正常工作的时间占总时间的比例比如99.99%可用性每年 downtime 不到53分钟可维护性M系统故障后修复的难易程度用平均修复时间MTTR衡量平均无故障时间MTBF系统两次故障之间的平均工作时间MTBF越长可靠性越高平均故障修复时间MTTR故障后修复的平均时间MTTR越短可维护性越高可用性公式A MTBF / (MTBF MTTR)系统可靠性模型串联系统所有部件都正常系统才正常比如电脑的CPU、内存、硬盘一个坏了电脑就坏可靠性各部件可靠性的乘积并联系统只要有一个部件正常系统就正常比如双电源一个坏了另一个继续工作可靠性1 - (1-各部件可靠性的乘积)混联系统串联并联结合比如服务器的RAID10并联串联4.3 校验方法数据的“安全卫士”和1.6节的校验码对应这里是系统层面的校验应用硬件校验内存的ECC校验纠错码纠正内存的位错误、硬盘的S.M.A.R.T.自检、RAID的奇偶校验软件校验文件的MD5/SHA校验验证文件完整性防止篡改、数据库的事务校验、网络传输的CRC校验系统校验开机自检POST、系统文件校验sfc命令、磁盘坏道检测4.4 计算机系统性能评测方法怎么给计算机“打分”1性能评测的核心指标CPU性能主频、IPC、SPEC CPU跑分行业标准、Cinebench多核性能内存性能带宽、延迟、读写速度存储性能硬盘的读写速度、IOPS每秒输入输出次数、延迟整机性能PCMark、3DMark游戏性能、UnixBench服务器性能网络性能带宽、延迟、丢包率、吞吐量2评测方法基准测试用标准的测试程序比如SPEC、3DMark统一环境公平对比真实场景测试用实际的应用比如游戏、视频剪辑、服务器负载测试更贴近实际使用监控分析用系统监控工具Windows任务管理器、Linux top/htop实时监控性能定位瓶颈零基础学习建议先理解原理再记细节比如先懂“计算机用二进制是因为只有通电/断电两种状态”再学数制转换就不会死记硬背结合例子理解比如补码的减法用5-3的例子算一遍就懂为什么补码能把减法变加法分模块突破4大模块独立先学数据表示再学CPU/存储器最后学存储系统和可靠性循序渐进结合硬件实物理解比如打开电脑机箱认识CPU、内存、硬盘对应知识点理解更深刻补充零基础常见疑问解答Q1为什么计算机不用十进制非要用二进制A计算机硬件是电子电路只能识别「高电平通电/低电平断电」两种状态对应0和1二进制是最适合硬件的数制。如果用十进制需要10种不同的电平硬件设计会极其复杂成本极高还容易出错。Q2补码为什么能把减法变成加法A补码的本质是「模运算」比如8位二进制的模是2⁸256-3的补码就是256-32535253258减去模256结果就是2等价于5-32所以用补码可以把减法转成加法硬件只需要加法器大幅简化设计。Q3虚拟内存会让电脑变卡吗A如果物理内存足够虚拟内存几乎不影响速度如果物理内存不足频繁用硬盘当内存会严重变卡硬盘速度远慢于内存所以加物理内存是解决卡顿的根本方法。Q4RAID5为什么是服务器主流ARAID5平衡了速度、安全、成本3块硬盘就能做容量是2块的大小66%利用率有冗余1块坏了能恢复读速度快写速度也能接受适合绝大多数服务器场景。

更多文章