软考通关密钥:计算机系统核心原理全解剖——软件设计师必懂的底层逻辑

本文涉及的产品
多模态交互后付费免费试用,全链路、全Agent
简介: 专为软考中级软件设计师打造,深入解析CPU架构、存储体系、进制转换、原码补码、浮点数、寻址方式、校验码、RISC/CISC、流水线、Cache、中断、I/O控制、总线及加密技术等核心知识点,结合真题剖析高频考点,构建计算机系统底层知识体系,提升应试与实践能力。

专为软考中级软件设计师考生打造,聚焦计算机系统核心原理深度解析。从CPU架构、存储器层次、指令执行到I/O系统,逐层拆解硬件与软件的协同逻辑,结合真题剖析缓存优化、流水线冲突等高频考点。通过二进制运算、中断机制等实战案例,打通“电路层→系统层→应用层”知识链路,助力考生构建底层思维模型,提升代码效率分析与系统设计能力,实现理论与考试技巧的双重突破。

一、CPU

  1. 组成:运算器、控制器、存储器、IO设备
  2. 功能:
  1. 控制器:
  1. 程序控制
  2. 操作控制
  3. 时间控制
  1. 运算器:处理数据
  1. 运算器
  1. 组成:
  1. 算术逻辑单元ALU
  2. 累加寄存器AC
  3. 数据缓冲寄存器DR
  4. 状态逻辑寄存器PSW
  1. ALU:负责处理数据实现数据的逻辑运算和算术运算
  2. AC:为ALU执行算术逻辑运算,提供数据暂存结果
  1. 控制器:
  1. 组成:
  1. 指令寄存器IR(存储指令(地址码+操作码))
  2. 程序技术器PC(存储指令地址
  3. 地址寄存器(AR)
  4. 指令译码器(ID)
  1. 作用:保证程序正确执行,能够处理异常事件
  2. 扩展:指令包括地址码和操作码
  1. 练习题:
  1. CPU中ALU的部件有、加法器等等
  2. 在CPU的寄存器中,IR对用户是完全透明的(透明:用户不能访问、看不到它)

二、计算机的基本单位

位/比特=b/bit

1B=8bit

1kB=1024B

1MB=1024KB

1GB=1024KB

1TB=1024GB

扩展:

最小的数据单位为bit

最小的存储单位为byte

三、进制转换

  1. 单位

进制

单位

十进制

D

二进制

B

八进制

O

十六进制

H

  1. 进制的加法
  1. 逢n进1
  1. 进制的减法
  1. 借1当n
  1. 例题1:内存按字节从B3000H到DABFFH容量区域是:159kb
  1. 技巧为:    大减小加1
  1. 例题2:按字节,用32k8bit芯片,构成从a0000h到dffffh的内存,需要芯片为8

四、原码、反码、补码、移码

  • 原码:
  • 0为正数
  • 1为负数
  • 特征:零(0)的正负补码和移码都是相同
  • 补码为:00000000
  • 移码为:10000000
  • 【【x】补】补=【x】原
  • 转换流程

  • 表示范围
  • 当机器字长为n时,例n 为8

定点整数

结果

原码

-((2的n-1次方)-1)~((2的n-1次方)-1)

-127~127

反码

-((2的n-1次方)-1)~((2的n-1次方)-1)

-127~127

补码

-((2的n-1次方))~((2的n-1次方)-1)

-128~127

移码

-((2的n-1次方))~((2的n-1次方)-1)

-128、~127

解释:n-1为最高符号位;

(2的n-1次方)-1表示为从零开始表示

  • 记录:原码表示法和补码表示法是计算机中表示数据的两种编码方法,在计算机系统中常采用补码表示和运算数据,是因为补码可是简化计算机运算部件设计
  • 例题:如果“2x”的补码为“90h”那x的真值为:-56

五、浮点数

基本概念

  • 用阶码和尾码表示的数称为浮点数
  • 表示形式:
  • (E表示阶码,F表示尾码)

  • 注意:一般小阶向大阶对齐,浮点数向右移

规格化浮点数

  • 格式包含:阶符+阶码+数符+尾数
  • 浮点数所能表示的数值范围主要由阶码决定,所表示的精度由尾数决定
  • 注意:规格化就是将尾数的绝对值限定在[0.5,1]
  • 如果浮点数的阶码(包括一位阶符)用R为的移码表示,尾数(包括一位的数符)用M为表示的补码表示范围为:
  • 最小值:-1*2^((2^R-1)-1)

  • 最大值:(1-2^(-M+1))*2^((2^R-1)-1)
  • 例题:16位浮点数,阶符为1为,阶码为6位,数符为1位,尾数为8位,阶码用移码表示,尾数用补码表示,求范围
  • R=1+6=7  M=1+8=9
  • 最小值为-2^63
  • 最大值为:1-2^(-8)*2^63
  • 浮点数当机器字长为n时,定点数的补码和移码可表示2^n个数,而原码和反码表示2^n-1个

扩展:

IEEE754中阶码采用移码表示,尾数采用原码

题目:

1 、 阶码用补码,尾数用原码,求1 0001    0   0000000001的浮点数

解:E=-15  F=2^10

结果:N=2^(-15) *2^(-10)

六、寻址

扩展:存储系统的层次结构

指令:

包括:操作码和地址码

分类:

  1. 立即寻址:操作数就包含在指令中
  1. 直接寻址:操作数存放在内存中,指令中直接给出操作数所在的存储单元地址

  1. 寄存器寻址:操作数存放在某个寄存器中,指令中存放寄存器名

  1. 寄存器间接寻址:操作数存在内存中,内存地址存放在寄存器中

  1. 间接寻址:指令中存操作数地址的地址

访问速度:

立即寻址》寄存器寻址》直接寻址》寄存器间接寻址》间接寻址

了解:

指令系统中采用不同的寻址方法目的:扩大寻址空间并提高编程灵活度

题目:

计算机字长32为,内存3GB,按字节编址,寻址范围为:

七、奇偶校验码

注意:(只能检错,不能纠错)

  1. 奇偶检验码的码距为2
  2. 通过在编码中增加一位校验位使编码的1的个数为奇数(奇校验)或偶数(偶校验)
  3. 奇校验:1为奇数个
  1. 例:红色为校验位
  1. 1   0101 -----------------》 1 0101
  1. 偶校验:1为偶数个
  1. 例:红色为校验位
  1. 0   0101 -----------------》 0 0101
  1. 注意:两种只能检验出奇数个错,不能检验出偶数个错误
  1. 例:红色为校验位
  1. 1   0101 -----------------》 1 0100 (检验出结果为错误)
  2. 1   0101 -----------------》 1 0110 (没有检验出错误)
  1. 码距:是指一个编码系统中任意两个合法编码间至少有多少个二进制不同
  1. 例:01和00    码距为1
  1. 奇偶校验码分类:
  1. 水平奇偶校验码
  2. 垂直奇偶检验码
  3. 水平垂直校验码

八、海明码

扩展:

码距为2(具有检错能力)

码距为3(才可能具有纠错能力)

注意:可以检错和纠错

  1. 码距为3
  2. 是利用奇偶性来检错和纠错的检验方法
  3. 通过在数据位间的特定位置插入K个校验和扩大码距实现检错和纠错
  4. 设数据位为n位,检验位为k为,则关系需要满足:

例题:数据位为16,最少加(5)位校验位,实现海明码

解: n =16 ,  

k等于2

九、循环冗余校验码(CRC)

  1. 码距为2,可以检错不能纠错
  2. 它利用生成多项式为k个数据位产生R个校验位来进行编码,编码长度为K+R
  3. 在求CRC编码时,采用的是模2运算

十、RISC和CISC

RISC

精简指令计算机

CISC

复杂指令计算机

指令种类

少,精简

多,丰富

指令复杂度

低(简单)

高(复杂)

指令长度

固定

变化

寻址方式

复杂多样

实现编码(译码)方式

硬线控制逻辑(组合逻辑控制器)

微程序控制技术

通用寄存器

多、大量

一般

流水线技术

支持

支持

十一、流水线

扩展:

顺序执行流程:输入》运算》输出

  1. 流水线公式:(n为指令数)
  1. 第一条指令的执行时间+(n-1)*最长段的时间
  2. 例:一条流水线三段,第一段0.1秒,第二段0.2秒,第三段0.3秒,需要执行100条,求时间
  1. 解:(0.1+0.2+0.3)+(100-1)*0.3=30.3s
  1. 操作周期:等于一周期内使用时间最长的时间段
  1. 例如以上例题,操作周期就为0.3s
  1. 吞吐率:为最长时间段的倒数
  1. 例:如以上例题:吞吐率为 1/0.3
  1. 执行n条指令的吞吐率(p):
  1. p=n/流水线公式(第一条指令的执行时间+(n-1)*最长段的时间)
  1. 加速比=不使用流水线的实际时间/使用流水线的时间
  1. 例:以上例题:加速比=60s/30.3s

十二、高速缓存

  1. 用来存放当前最活跃的程序和数据,特点是位于CPU与主存之间,速度是主存的1~5倍,对程序员来说是透明的。
  2. Cache存储器部分用来存储内存的部分拷见信息控制器部用来判断CPU要访问的数据是否在cache存储器中
  3. 替换算法:使缓存获得尽可能高的命中率,有随机替换算法、先进先出算法、近期最少使用算法、优先替换算法 。
  4. cache命中率:cache容量越大,则命中率越高,随着 cache容量的增加,其失效率接近0 %
  5. 映像方法(3个):
  1. 直接映像(一对一):主存中的块和cache中的块是固定的
  2. 全相联映像(一对多):主存中的块可以任意的存入cache中空余的块中
  3. 组相联映像:内存和cache都分好组,内存组可以任意映射到cache中的组,同时,内存组中的块可以在映射cache组中任意空余位置存入

  1. 冲突排名(小到大):
  1. 全 相联映像》》组相联映像,直接映像
  1. 重要记:cache与主存的映射是由硬件自动完成的。

十三、中断

  1. 概念:计算机在执行程序的过程中,遇到紧急事件后,暂停当前正在运行的程序,转去执行有关服务程序,处理完成后自动返回源程序。
  2. 断点(中断向量):提供中断服务程序的入口地址
  3. 中断向量表中存储一个或多个中断向量
  4. 中断响应时间:从发出中断请求开始,到进入中断服务程序
  5. 保存现场:目的:返回来执行源程序
  6. 扩展题:
  1. 实现多级中断嵌套,使用(堆栈)来保护断点和现场最有效。
  2. 由IO设备提出的中断请求是可屏蔽中断,电源掉电是不可屏蔽中断

十四、输入输出(I/O)控制方式

三个方式:程序查询方式、中断驱动方式、直接存储器方式(DMA)

  1. 程序查询方式(程序直接控制方式):
  1. 一次只能读/写一个字(一字=8bit)
  2. CPU和IO(外设)只能串行工作,CPU需要一直轮询检查,长期处于忙等状态,CPU利用率低
  1. 中断驱动方式
  1. 一次只能读/写一个字(一字=8bit)
  2. IO设备通过中断信号主动向CPU报告IO操作完成
  3. CPU和IO可并行工作
  4. CPU利用率得到提高
  5. 由CPU将数据放入内存中
  1. 直接存储器方式(DMA)
  1. 一次读写的单位是:块
  2. CPU和IO设备可是并行工作
  3. cpu仅在传输数据块的开始和结束时在干预
  4. 有外设直接将数据存入内存中
  1. 扩展题:
  1. CPU是在一个总线周期结束时响应DMA请求的。
  2. 采用DMA方式传输数据时,每传输一个数据都需要 占用一个 存储周期

十五、总线

  1. 微机中总线的可分为:数据总线、地址总线、控制总线
  2. 常见总线(11种,有时间看看名称):
  1. PCI总线:是目前微型机上广泛采用的内总线,采用并行传输方式。
  2. SCSI总线:小型计算机系统接口(SCSI)是一条并行外总线,不属于系统总线
  1. 例题:
  1. 若内存容量为4GB,字长为32,则(地址总线和数据总线的宽度都为32)
  1. 解释:2^32=4GB
  1. 在计算机系统中采用总线结构,便于实现系统的积木化结构,同时可以(减少信息传输线的数量)
  2. 总线服用方式可以(减少总线中信号线的数量)
  3. 总线宽度为32bit,时钟频率为200Mhz,若总线上每5个时钟周期传送一个32bit的字,则该总线的带宽为(160)MB/s
  1. 解:200Mhz*(32bit/5)=40M*32bit=1280Mbit/s
  2. 因为单位为MB/s 所以需要再除以8 结果为160MB/s
  1. 并行总线适合近距离高速数据传输,串行总线适合长距离数据传输

十六、加密技术和认证技术

1. 加密技术

  1. 主要用于窃听
  2. 技术包括:对称加密和非对称机密
  3. 对称加密(私有秘钥加密):
  1. 特点:加密和解密使用同一把对称秘钥
  2. 优点:加密和解密速度很快,适用于加量大量明文数据
  3. 缺点:对称秘钥在网络传输的过程中容易被黑客获取
  1. 非对称加密(公开秘钥加密)
  1. 加密和解密不是同一把秘钥,分为公钥和私钥
  2. 用公钥加密只能用私钥解密,用私钥加密只能用公钥解密
  3. 不能通过一把推出另一把
  4. 传输方式:用接收方的公钥加密明文
  5. 优点:
  1. 可以实现防止窃听的效果
  2. 秘钥分发没有缺陷
  1. 缺点:
  1. 加密解密速度慢
  1. 混合加密(扩展)

2. 认证技术

  1. 摘要:
  1. 算法:MD5
  2. 用于防止篡改
  3. 实现:将发送的明文进行Hash算法后得到的摘要放在密文后一起发送过去,接收方解密后的明文进行相同Hash算法得到的再进行对比,一致没有被篡改,否则被篡改。
  1. 数字签名:
  1. 用于防止假冒
  2. 需要和摘要结合使用
  3. 加密:发送发生成摘要后,用自己的私钥对摘要进行签名(加密),得到数字签名放在密文后一起发送
  4. 解密:接受方在收到数据后,用发送方的公钥对数字签进行验证(解密),验证成功则没有被假冒。
  1. CA:权威机构
  2. 数字证书
  1. 主要用于身份认证
  2. 用户向CA机构申请数字证书,将个人信息和公钥发给CA机构,CA机构颁给用户数字证书
  3. 数字证书用CA的私钥进行进行签名(加密),用CA的公钥验证(解密),从而得到用户的公钥
  1. 扩展:
  1. 私钥是不可以被交换的

3. 例题

  1. 公钥体系中,公钥用于加密和认证,私钥用于解密和签名
  2. 加密用户防止被动攻击认证用于防止主动攻击

十七、加密算法

口诀:中间有E对称,中间S非对称

  1. 对称秘钥(私钥、私有秘钥加密,共享秘钥加密)算法:
  1. DES
  2. 3DES
  3. RC-5
  4. IDEA
  5. AES(分组加密)
  6. RC4
  1. 非对称秘钥(公钥、公开秘钥加密)算法:
  1. RSA
  2. ECC
  3. DSA
  1. Hash函数
  2. MD5摘要算法(512分组处理输入信息,输出由4个32位组成,生成128位散列值)
  3. SHA-1安全散列算法

十八、可靠性公式

  1. 串联系统:
  1. 公式:R=R1*R2*....*Rn
  1. 并联系统:
  1. 公式:R=1-(1-R1)*(1-R2)*.......*(1-Rn)
  1. 计算技巧:先算并再算串
  2. 例题:

解:

十九、杂题

  1. 程序计数器(PC)被程序员访问;
  2. 不可以被程序员访问
  1. 指令寄存器(IR)
  2. 存储器地址寄存器(MDR)
  3. 暂存寄存器(DR)
  4. 存储器数据寄存器(MAR)
  1. 指令寄存器IR的位数取决为:指令字长
  2. 同或:相同为1,不同为零
  3. 异或:相同为0,不同为1
  4. 双符号位时,符号位为01或10表示溢出
  5. 主动攻击:重放、IP地址欺骗、拒绝服务、系统干涉(有疑问是被动还是主动????)、修改数据命令
  6. 被动攻击:流量分析、会话拦截(有疑问是被动还是主动????)

二十、错题总结

  1. VLIW是超长指令字的简称
  2. 流水线的吞吐率是指:
  1. 单位时间流水线处理的任务数
  2. 最长流水线操作时间的倒数
  1. 在复杂指令集系统中CISC中,由于指令数量众多且复杂,所以主要考虑微程序控制器执行指令方式
  2. 定点小数表示中,只有补码能表示-1
  3. 在采用定点二进制的运算器中,减法运算一般是通过:补码运算的二进制加法器实现的
目录
相关文章
|
9天前
|
人工智能 运维 安全
|
7天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
676 23
|
8天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。
|
14天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
1106 110
|
人工智能 数据可视化 数据挖掘
Quick BI 体验&征文有奖!
瓴羊生态推出Quick BI 征文激励计划,鼓励用户分享数据分析实践经验与技术洞察,征集高质量原创文章。内容围绕AI功能体验与BI案例实践,设季奖、年奖及参与奖,优秀作者可获现金奖励、产品内测资格及官方认证形象。投稿截止至2026年3月31日。
Quick BI 体验&征文有奖!