搞网络这行,很多人一上来就抱着路由交换猛啃,结果软考网管初级的上午题第一关就卡住了。尤其是《计算机硬件基础》这一章,看着都是“死知识”,偏偏每年都考,而且考得特别细。这一篇咱们就把它彻底捋清楚,照着这个思路复习,这几分基本就是白送的。
1. 先搞清楚这章在试卷里的分量,别用错复习力气
网管初级上午题一共75道单选,计算机硬件基础这块通常能占到6到10分。听起来不算多,但这部分题目是所有章节里“投入产出比”最高的——知识点固定、出题范围窄、几乎没有需要临场发挥的内容。相比之下,网络互联技术虽然分值高,但内容深、变化多,短时间突击很难见效。像我这种在职备考、每天只能挤一两个小时的,第一轮复习就是从硬件基础下手的。
这章考点主要集中在几个固定方向:CPU组成与指令执行、数据表示与进制转换、存储系统层次结构、I/O控制方式与总线、可靠性相关参数。其中“进制转换”和“存储系统”是绝对的大头,基本每年必考,而且喜欢连着出两三道题。
很多人复习这章有个误区,喜欢拿计算机组成原理的教材死磕,什么微程序控制器设计、流水线冲突优化,全去研究一遍。真没必要。软考网管初级考的是“是什么”“怎么区分”“大概怎么工作”,不考“怎么设计”“怎么实现”。把教材里那些公式推导、电路逻辑跳过去,抓住概念和计算套路就够了。
再有就是别被“初级”两个字迷惑,觉得题目一定很简单。这几年网管初级的考题越来越灵活,早就不满足于“CPU的中文名称是什么”这种直给题了,而是偏好给一段硬件参数描述,让你判断属于哪个部件,或者给一个存储器的应用场景,让你判断该选RAM还是ROM。意思就是:你要真明白这些部件是干什么的,而不是死记定义。
复习节奏上,我建议把这章拆成三天。第一天搞定数制和CPU,第二天攻存储系统,第三天集中刷I/O和总线题目。每天配合20道历年真题,比一次性把整章看完效果好得多。下面我按这个顺序把这几个模块逐一拆开讲。
2. 进制转换与数据表示:计算题基本都在这里出
2.1 二进制、八进制、十六进制互转的速算逻辑
进制转换是硬件基础里最稳定的送分题,因为考来考去就那么几个花样的。先把最基本的换算关系刻在脑子里:二进制一位对应八进制三位,对应十六进制四位。这句话能解决90%的转换题。
具体怎么操作?给你一个二进制数,比如10110110,想快速转成十六进制,从右往左每四位切一段,不够四位左边补零。1011 0110,前面1011是B,后面0110是6,结果就是B6。反过来,十六进制转二进制就是把每位展开成四位,比如A3,A是1010,3是0011,拼起来就是10100011。
八进制也是同理,只是每三位一段。给个例子:二进制110010101,从右往左切:110 010 101,分别对应6、2、5,结果就是八进制的625。我当年复习时自己做了一张二进制、八进制、十进制、十六进制0到15的对照表贴在电脑旁,每天扫一眼,后来做题几乎不用在草稿纸上换算,一眼就能看出答案。
这里提醒一句,考试中如果遇到十六进制加减法,比如 0x2F + 0x13 等于多少,最稳妥的办法是先转成十进制算完再转回来,或者直接用十六进制逢十六进一。0x2F加0x13,F加3等于18,写成十六进制是12,个位写2进1到十位,2加1加进位1等于4,结果是0x42。这个熟练了也就十秒钟的事。
2.2 原码、反码、补码:记住“补码负数怎么来”就够了
这部分每年都会涉及,但考得比较简单,基本就是给你一个数,问它的原码、反码、补码是什么,或者给个补码问它对应的真值。
核心记忆点整理成一张表:
| 编码方式 | 正数 | 负数 |
|---|---|---|
| 原码 | 符号位0,数值位不变 | 符号位1,数值位不变 |
| 反码 | 与原码相同 | 符号位不变,数值位按位取反 |
| 补码 | 与原码相同 | 反码末位加1 |
举个经典例子,用8位二进制表示-5。原码是10000101,符号位1表示负数,后面是5的二进制101。反码是符号位不变,数值位取反,得到11111010。补码是反码加1,得到11111011。做题时先写原码再推反码再推补码,三步走,基本不会出错。
补码存在的意义是什么?就是为了把减法变成加法,让计算机里的运算单元只需要做加法电路。这个原理考得不多,但理解了它,你就明白为什么正数的补码和原码相同、负数却非要绕这么一大圈。当年老师讲过一个生活化类比:时钟上3点减4小时,等价于3点加8小时(12进制下),补码就是这么个“绕一圈”的思路。
真正容易翻车的点是“补码的补码就是原码”这个规则。题目如果问你,已知负数的补码,怎么求真值,直接用“取反加1”就能得到绝对值。比如补码11111011,先取反得到00000100,加1得到00000101,也就是5,因为是负数,所以真值是-5。这个流程要练到不用思考。
2.3 浮点数表示、ASCII码、奇偶校验:不深挖但要会选
浮点数这块,网管初级考得很浅,知道三个要素就行:数符表示正负、阶码表示小数点的位置(相当于科学计数法里的指数)、尾数表示精度。给个形式,你要会判断哪个是阶码哪个是尾数。2019年考过一道题,给了浮点数存储格式,问从左到右分别是数符、阶码、尾数还是别的顺序,很多人就是把尾数和阶码位置看反了。
ASCII码记住几个关键值就行:大写A是65,小写a是97,数字0是48。这几个值一记,遇到推算其他字母的题就都出来了。比如问大写E的ASCII码,A是65,按顺序B66、C67、D68、E69,直接选69。这类题属于白送分,千万别丢。
奇偶校验要理解它的思路:在原数据位后面加一位校验位,让整个数据里“1”的个数满足约定。奇校验要求1的个数是奇数,偶校验要求是偶数。比如数据1001011,里面有4个1,已经是偶数个。如果是偶校验,校验位就填0;如果是奇校验,校验位就填1,让1的个数变成5个。题目常给出接收方收到的数据,让你判断是否出错,思路就是看1的个数符不符合约定。
3. CPU组成与指令执行:比路由器控制平面更值得看的知识
3.1 运算器内部有哪些部件,别和控制器搞混
CPU由运算器和控制器两大部分组成,这是送分题,但里面还有细分考点。运算器内部常考的是算术逻辑单元(ALU)、累加寄存器(AC)、数据缓冲寄存器(DR)、状态条件寄存器(PSW)。控制器内部常考的是程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、地址寄存器(AR)。
这套东西特别容易混淆的原因是缩写都长得很像。我给你一个自己的记忆法,把这些寄存器当成物流链条上的不同角色:
- 指令寄存器(IR):专门存放当前正在执行的指令。运过来的是指令。
- 指令译码器(ID):负责“翻译”指令,搞清楚这条指令是要干什么。
- 程序计数器(PC):存的是下一条要执行指令的地址,相当于快递单上的下一站目的地。
- 累加寄存器(AC):运算结果的临时存放处,相当于收货人的签收栏。
- 地址寄存器(AR):存的是数据所在的内存地址,相当于货物存放的仓库编号。
考题常这样出:给出“存放当前正在执行的指令”的描述,问是哪个部件。答案是指令寄存器。或者给出“自动加1以指向下一条指令地址”,问是哪个,答案是程序计数器(PC)。这两个是最高频的。
3.2 一条指令从取指到执行的完整流程
指令执行的基本过程,教材上叫“取指—分析—执行”三阶段,实际细分可以拆成四步:取指令、指令译码、执行指令、保存结果(有些教材还会写出“计算下一条指令地址”,但通常PC已经自动加了)。
考试常给一个流程示意图,打乱顺序让你排列。记住一条主线就行:CPU先把指令从内存取出来放到指令寄存器,然后译码器分析这条指令是什么操作,接着由ALU或相关部件执行操作,最后把结果写入目的位置。这里最容易迷惑的是“取指”和“分析”谁先谁后。我见过很多考生一紧张把译码排到了取指前面,那就全错了。没有取指,拿什么来译码?这个逻辑顺序想清楚就不会错。
再补充一个指令周期的概念:CPU取出并执行一条指令所需的时间叫一个指令周期。它还可以细分为取指周期、间址周期、执行周期和中断周期。初级考得少,但偶尔会在题干里作为背景出现,知道有这个概念就行。
3.3 寻址方式:题目最爱考“有效地址在哪”
寻址方式这一节是整个硬件基础里典型的“背诵型”考点。核心是搞清楚每种方式里操作数在哪。
我按从简单到复杂整理一下最常考的几种:
- 立即寻址:操作数就写在指令里,不用再去内存找。最快,但灵活度低。
- 直接寻址:指令里给出的是操作数的内存地址,CPU按地址去内存取真正的数。
- 间接寻址:指令里给出的地址,它指向的内存单元里存的还是地址,这个地址才指向真正的操作数。绕了两层。
- 寄存器寻址:操作数在寄存器里,指令给出寄存器编号。
- 寄存器间接寻址:寄存器里存的是操作数的内存地址,要按这个地址再去内存找。
初级考试最常出的是直接和间接寻址的区别。关键就一句话:间接寻址取出来的是地址的地址。题目说“指令中给出的是操作数地址的地址”,答案就是间接寻址。
CISC和RISC的区别也是常客。给你张对比表:
| 对比项 | CISC | RISC |
|---|---|---|
| 指令数量 | 多,复杂 | 少,简单 |
| 指令长度 | 不固定 | 固定 |
| 寻址方式 | 多 | 少 |
| 执行时间 | 不统一 | 统一(多数单周期) |
| 实现方式 | 硬布线+微程序 | 以硬布线为主 |
| 代表 | x86 | ARM、MIPS |
出题方式一般是给一个特征描述,问属于哪种体系结构。记住几个关键词:指令格式统一、寻址方式少、使用大量寄存器,看到这几个基本就是RISC。反过来,指令系统复杂、寻址方式多,就是CISC。
3.4 流水线技术:知道“部件并行”就够了
流水线这块,初级考得比较浅,但偶尔会出现。核心就是理解:把指令执行过程分成多个阶段,不同指令的不同阶段可以在时间上重叠执行。就像工厂里一条流水线,不同工位同时处理不同产品。
讲义里常出现一个公式:流水线执行n条指令的耗时 = 执行第一条指令的总耗时 + (n-1) × 流水线周期。其中流水线周期取各阶段耗时的最大值。举个例子,某指令分取指、分析、执行三个阶段,耗时分别是2ns、3ns、2ns,那流水线周期就是3ns,执行4条指令的总时间是(2+3+2) + (4-1)×3 = 7+9 = 16ns。
考公式的应用,关键是别把“第一条指令的总耗时”算错,它等于所有阶段耗时之和,不是简单把它当作n=1代入公式。这个点我当年就被坑过一次,幸好真题刷得多,后期见到这类题已经形成条件反射了。
4. 存储系统与Cache:理解“快的里面放常用的”思想
4.1 三级存储体系为什么这么设计
存储系统的考点,核心是存储器的层次结构。为什么要分Cache、主存、辅存三级?说白了就是速度和价格不可兼得。
寄存器最快但最贵,容量最小;Cache次之;主存(就是我们说的内存条)速度尚可,容量较大;辅存(硬盘、U盘)速度最慢但容量最大、价格最低。计算机运行时,CPU需要的数据先在Cache里找,没找到再去内存里找(这叫Cache未命中),内存里也没有就得到硬盘上换入,每下一级速度就慢一个数量级。
考试很少直接问“为什么分层”,但经常问“Cache的作用是什么”。标准答案是:Cache介于CPU和主存之间,用于提高CPU访问主存数据的速度,解决CPU与主存之间速度不匹配的问题。记住这句话能应对大部分题目。
4.2 RAM和ROM家族:一个停电就丢,一个丢不了
这套东西属于必拿分。RAM叫随机存取存储器,断电后数据丢失,用来存正在运行的程序和数据。ROM叫只读存储器,断电后数据不丢,用来存放固化的程序。
常搅在一起的几个词:
- SRAM(静态RAM):速度快、集成度低、价格贵,主要用于Cache。
- DRAM(动态RAM):容量大、价格低、速度比SRAM慢,需要定期刷新,主要用于主存。
- PROM(可编程ROM):出厂时空白,用户用专用设备写入一次,之后只能读。
- EPROM(可擦除可编程ROM):紫外线照射可擦除,可重复编程。
- EEPROM(电可擦除可编程ROM):用电信号擦除,更方便。
- Flash Memory(闪存):兼顾了ROM的非易失性和电可擦写的灵活,用于U盘、固态硬盘、手机存储。
出题方式很固定:给一个应用场景,比如“计算机运行时存储正在执行的指令和数据”,选RAM;“存储BIOS程序”,选ROM;“U盘采用什么存储介质”,选Flash。
4.3 Cache命中率与平均访问时间:半道送分计算题
真题里考过这样一个计算模式:Cache的存储周期是20ns,主存的存储周期是120ns,Cache的命中率为90%,求CPU访问存储系统的平均时间。
公式是:平均访问时间 = Cache命中率 × Cache访问时间 + (1 - Cache命中率) × 主存访问时间。代入就是0.9×20 + 0.1×120 = 18 + 12 = 30ns。
这个公式一定要记牢。先乘命中率再乘失效率,别乘反。亦要注意单位统一。基本每次考试要么直接考公式,要么考“Cache命中率提高会带来什么影响”——命中率越高,平均访问时间越短,系统性能越好。
还有一个变体是“三级存储系统平均访问时间”,比如此前某年考题给Cache、主存、虚拟存储器的访问时间和命中率,让你算平均。思路一样,逐级加权:平均访问时间 = 命中率1 × 速度1 + (1 - 命中率1) × [命中率2 × 速度2 + (1 - 命中率2) × 速度3]。这个扩展式了解即可,初级真题里出现的概率极低。
4.4 磁盘参数计算:区分寻道时间和旋转延迟
磁盘存储这块,网管初级常考两个公式:存取时间 = 寻道时间 + 旋转延迟时间 + 传输时间。其中寻道时间是磁头移动到目标磁道所需时间,旋转延迟是等待目标扇区转到磁头下方的时间,传输时间就是数据读取时间。
考试通常把问题简化,比如直接告诉你寻道时间是10ms,等待时间是4ms,传输时间是1ms,求总存取时间。甚至有些题只让你求平均等待时间,给个磁盘转速,比如7200转/分,求平均旋转延迟。
平均旋转延迟的计算公式:磁盘转一圈的时间除以2。7200转/分意味着每转一圈时间是60/7200秒,约8.33ms,再除以2,平均等待时间约4.17ms。公式来源是平均而言磁头要等半圈才能遇到目标扇区,所以取半圈时间。这个“为什么取半圈”的逻辑有时候会以小问形式出现,理解了就不会忘。
4.5 RAID级别:初级要掌握到第几级
RAID在网管初级考试里考得比较简单,主要知道RAID 0、RAID 1、RAID 5的区别就够了:
- RAID 0:条带化,数据分散写在多块磁盘上,性能和容量利用率最高,但没有冗余,坏一块盘数据全丢。
- RAID 1:镜像,数据同时写两份到两块盘上,冗余度最高,但磁盘利用率只有50%。
- RAID 5:分布式奇偶校验,数据条带化写入,校验信息分散存储在各块盘上,允许坏一块盘而不丢数据,磁盘利用率是(n-1)/n。
考题一般会这样出:“某服务器使用RAID 1方案,共4块2TB硬盘,实际可用容量是多少?”答案是4TB。或者给一个描述“兼顾性能与数据安全,至少需要三块硬盘,允许单块盘故障”,选RAID 5。
RAID这个知识点认真说起来能单独写一大篇,但初级考试的核心就这几个级别的特征,先把它们背清楚比什么都强。
5. I/O控制方式与总线:零散知识点这样串联就不乱
5.1 四种I/O控制方式的演进逻辑
I/O控制方式是硬件基础里最容易混淆的内容,但出题角度很固定,就是让你区分几种控制方式的工作特点。
从低级到高级依次是:程序查询方式、中断方式、DMA方式、通道方式。
- 程序查询方式:CPU不断主动去检查外部设备是否准备好,没准备好就一直等。效率最低,因为CPU被“拴住”了。
- 中断方式:外部设备准备好以后主动通知CPU,CPU收到中断请求后暂停当前工作去处理数据。比查询方式高效,但每次传输都需要CPU介入。
- DMA方式:直接存储器存取。外设在DMA控制器的管理下直接和内存交换数据,CPU只在开始和结束时参与,传输过程中不占用CPU。典型例子就是硬盘和内存之间的数据交换。
- 通道方式:比DMA更高级,通道是一个专门负责I/O控制的小型处理器,可以管理多台外设。
真题里常数这样考:给出描述“在I/O设备与内存之间直接传送数据,传送过程中不需要CPU干预”,问是什么方式。答案是DMA。或者给出“CPU需要不断检查外设状态,效率最低”,选程序查询方式。
有个细节值得留心:DMA和中断的区别。中断是每传输一个字节CPU就要被叫停一次,DMA是整个数据块传输完成后才通知CPU。这个区别在题干中经常被设置成干扰信息,看清“一次传输一个数据块后通知CPU”就选DMA。
5.2 总线宽度与地址线计算题:别被数字绕晕
总线这块,考试最爱考的有两个点。一个是总线的分类,分数据总线(DB)、地址总线(AB)、控制总线(CB),它们的作用各不相同。数据总线是传输数据的,宽度决定每次能传多少位数据。地址总线是传输地址信息的,宽度决定CPU能访问多少内存地址空间。控制总线是传输控制信号的。
第二个点是计算题:若地址总线宽度是32位,CPU最多能直接寻址多大的内存空间。答案是2的32次方字节,也就是4GB。
这个“2的n次方”的计算方法一定要掌握。常见几个值记住,能省很多时间:2的10次方是1024(1K),2的20次方是1M,2的24次方是16M,2的30次方是1G,2的32次方是4G。题目如果给24根地址线,直接2的24次方就是16MB的寻址空间。
我刚开始复习时,对这种题还会老老实实用计算器按,后来总结经验:只要地址线根数n出现,答案永远是2的n次方,然后根据结果换算成K、M或G。识别出考的是地址线后,把对应数值记住,10秒就能出答案。
5.3 常见总线接口与外部设备连接
网管初级偶尔会出一些偏简单的接口知识题,比如USB接口的特点(支持热插拔、即插即用)或者PCIe接口的特性。这部分和网络管理员日常工作有一定关联,比如拿到一台旧服务器要判断硬盘接口是SATA还是SAS,或者给一台电脑加装独立显卡时要知道用PCIe x16插槽。
出题一般是纯记忆型的:USB、HDMI、VGA、SATA、PCIe各自用在什么场景。这里有个小经验:把接口和对应设备画一条线,如“SATA——硬盘”“HDMI/DP——显示器”“USB——外设”“PCIe x16——显卡”。画完这条线你会发现,这些题就像连线题一样送分。
6. 历年真题里的高频出题套路,值得单独拉出来说说
前五节讲的是知识点本身,但真题做多了你会发现,同样一个知识点,不同年份的考法是有套路的。把套路摸清,比盲目刷题效果好得多。
我汇总了近五年网管初级上午题里计算机硬件基础的常考题型,列成一份清单:
| 考点 | 出题率 | 主要考法 |
|---|---|---|
| 原码/反码/补码 | 极高 | 给数值求编码,或给编码求真值 |
| 进制转换 | 极高 | 十六进制与二进制互转,或加减法 |
| CPU组成部件 | 极高 | 给功能描述选对应寄存器 |
| 寻址方式 | 高 | 给指令特征选寻址类别 |
| RAM/ROM分类 | 高 | 给应用场景选存储器件 |
| Cache计算 | 中高 | 命中率和平均访问时间计算 |
| 磁盘参数 | 中 | 给定转速求等待时间 |
| I/O控制方式 | 中高 | 给工作方式描述选对应类型 |
| 总线地址线 | 中 | 给地址线数求寻址空间 |
| RAID级别 | 中 | 给方案特征选RAID级别 |
从表格能看出,出题率“极高”的几个点也都不是什么烧脑的内容。真正拉开差距的不是知识难度,而是做题的精准度。很多考生复习时觉得这些都看过,真上考场才发现,考的是细节中的细节。比如问你“程序计数器PC”的功能,很多人记得它在控制器里,却说不清它存的是“下一条要执行指令的地址”,而不是“当前正在执行指令的地址”。前者是PC,后者是IR,一字之差,分就丢了。
所以我的建议是:复习这一章时,每学完一个部件或概念,多问自己一句“它到底是干什么的”,最好能用一句话讲清楚它在整个流程里的位置和作用。这一步做到位了,不管题目怎么变着花样考,你都能抓准答案。
7. 冲刺阶段:这章值得做的三类题目和两道易错题
到备考后期,计算机硬件基础这部分不建议再抱着教材反复看,直接进入“刷题—总结—再刷题”的循环。我备考时只刷三类题:近五年的真题,章节练习题里的计算题,以及模考卷里的硬件基础题。刷完一轮后,把错题里涉及的名词、公式单独摘出来抄在一个小本子上,考前一周每天翻一遍。
这里分享两道容易被坑的经典易错题。
第一道:某计算机的字长是32位,它的含义是( )。选项里有“CPU一次能处理32位二进制数据”“内存容量是32GB”“地址总线宽度是32根”“数据总线宽度是32位”等。正确答案是CPU一次能处理32位二进制数据,也就是CPU的运算宽度。字长和地址总线宽度是两个概念,不少题目喜欢把这两个混在一起当干扰项,解答时一定要盯住问的是字长还是寻址范围。
第二道:一个Cache存储周期是20ns,主存存储周期是100ns,Cache命中率为95%,求平均访问时间。套公式其实是0.95×20 + 0.05×100 = 19 + 5 = 24ns。看起来简单,但真题偶会挖陷阱:把命中率说成“失效率为5%”,或者把单位换成μs。遇到这种情况,看清题干用的是“命中率”还是“失效率”,全部换算成同一个单位再代入公式。
还有一类容易丢分的题型是“选错误的一项”,一定要把每个选项都过一遍再作答。这种题往往把RAM和ROM的特性互换当干扰项,或者把DMA与中断方式的特点互换。做题时先圈出关键词,比如“断电后丢失”“不需要CPU干预”等,再和选项对比,命中率会高很多。
8. 一点备考时间上的建议
如果你和我一样是零基础跨行备考,计算机硬件基础这一章建议安排在复习的第一周。原因有两个:一方面这章内容独立性强,不依赖其他章节的基础,学起来容易建立信心;另一方面,它为后面学操作系统、数据库原理奠定了基础,很多术语(比如寄存器、地址总线、DMA)在后面的科目里还会频繁出现,提前在硬件基础这章掌握了,后面会轻松不少。
每日复习时间不用太长,我当年是每天一个半小时,一半时间看知识点,一半时间刷题。三天过完这一章后,重点是每周回头翻一遍错题,防止遗忘。到考前一周,这一章基本只需要每天做10道题保持手感即可,其他时间留给更难的网络互联技术。
备考软考,最怕的就是在“好像都会”的感觉里浪费时间。计算机硬件基础是整套卷子里少有的“确定性知识”,只要下功夫就一定能拿分。把它当成整个备考周期的热身赛,认真跑完这一程,你会发现上午题的底气一下子就上来了。