软考(中级软件评测师)第一章--基础知识整理之计算机系统基础知识(根据官方设计师教程第四版)
1.1计算机系统基础知识
1.1.1 计算机系统硬件基本组成
运算器 CPU(中央处理单元)
控制器
存储器 分为内部存储器、外部存储器,前者速度高容量小,一般用于临时存放,后者反之,适用于长期保存程序和数据
输入设备 外部设备
输出设备
1.1.2 中央处理单元
- CPU功能
程序控制、操作控制、时间控制、数据处理
- CPU组成
运算器、控制器、寄存器组和内部总线等部件
1)运算器:数据加工处理,用于完成计算机各种算术和逻辑运算
相对于控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是有控制器发出的控制信号来指挥的,是执行部件。
算术逻辑单元、累加寄存器、数据缓冲寄存器、状态条件寄存器
2)控制器
运算器只能完成运算,控制器控制整个CPU的工作,决定了计算机运行过程的自动化。不仅保证程序的正确执行,且要能够处理异常事件。
包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑
3)寄存器组
分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器,作用固定
- 多核CPU
核心又称内核,是CPU最重要的组成部分
1.1.3 数据表示
各种数值在计算机中表示的形式称为机器数,采用二进制技术制,01表示,小数点隐含不占位置。机器数有无符号数和带符号数之分,无符号数表正数,在机器数中没有符号位
1)原码、反码、补码、移码
(1)原码表示法
(2)反码表示法
(3)补码表示法
(4)移码表示法
2)定点数和浮点数
(1)定点数:即小数点位置固定不变的数。定点整数、定点小数
(2)浮点数
当机器字长为n时,定点数的补码和移码可表示2^(n-1)个数,而其原码和反码只能表示2^(n-1)个数(0的表示占用了两个编码),因此,定点数所能表示的数值范围较小,在运算中很容易因结果超出范围而溢出。因此引入浮点数,浮点数时i下属点位置不固定的数,它能表示更大范围的数。
浮点数所能表示的数值范围主要由阶码来决定,所表示的精度则由尾数决定
(3)工业标准IEEE754
(4)浮点数的运算
对阶、求尾数和(差)、结果规格化并判溢出、舍入处理、溢出判别
浮点数相乘,其积的阶码等于两乘数的阶码相加,积的尾数等于两乘数的尾数相乘。浮点数相除,其商的阶码等于被除数的阶码减去除数的阶码,商的尾数等于被除数的尾数除以除数的尾数。乘除运算的结果都需要进行规格化处理并判断阶码是否溢出。
1.1.4 校验码
用来检测计算机系统运行时,各个部件之间进行的数据交换是否出错,确保数据在传送过程中正确无误,一是提高硬件电路的可靠性,二是提高代码的校验能力,包括查错和纠错。
- 奇偶校验码
常用有:水平奇偶校验码、垂直奇偶校验码、水平垂直奇偶校验码
通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。对于奇校验,它可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中奇数位发生了错误时,编码中的1变成0或0变成1,则该编码中1的个数的奇偶性就发生了变化,从而可以发现错误。
- 海明码
在数据位之阿金的确定位置上插入k个校验位,通过扩大码距来实现检错和纠错
- 循环冗余校验码
广泛用于数据通信领域和磁介质存储系统中,利用生成多项式为k个数据位产生r个校验位来进行编码,其CRC的代码格式为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署