软件设计师-计算机系统知识:1.计算机系统基础知识
- 软件开发
- 2025-09-22 04:54:02

1. 计算机系统基础知识 1.1. 计算机系统硬件基本组成 硬件 中央处理器(CPU)硬件系统的核心 运算器控制器 存储器(记忆设备) 内部存储器(速度高,容量小 ): 临时存放程序、数据及中间结果外部存储器(速度慢,容量大 ): 长期保存程序和数据 。 外设(外部设备) 输入设备:输入原始数据及各种命令输出设备:输出计算机运行结果 软件 1.2. CPU的功能与组成
中央处理单元(CPU):计算机系统的核心部件,它 负责获取程序指令,对指令进行译码并加以执行
1.2.1. CPU的功能 程序控制 :通过执行指令来 控制 程序的 执行顺序操作控制 :一条指令功能的实现需要若干个操作信号配合来完成, CPU产生每条指令的操作信号并将操作信号 送往对应的部件,控制相应的部件按指令的功能要求进行操作 时间控制 :CPU对各种操作进行时间上的控制,即在指令执行过程中操作信号的出现时间,持续时间及出现的 时间顺序都需要进行严格的控制数据处理 :CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利 用。所以,对数据的加工处理也是CPU最根本的任务CPU还需 对 系统 内部和外部的中断(异常) 做出 响应 ,进行相应的 处理 1.2.2. CPU的组成(1) 运算器 (是数据加工处理部件,用于完成计算机的各种算术和逻辑运算):运算器所进行的全部操作都是由 控制器发出的控制信号来指挥的,所以它是执行部件
功能
执行所有算术运算,如加、减、乘、除等基本运算及附加运算。执行所有的逻辑运算并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。组成
算术逻辑单元(ALU) :负责 处理数据 ,实现对数据的 算术运算和逻辑运算 。累加寄存器(AC) :简称累加器,是一个通用寄存器。 暂存算术运算或逻辑运算的中间运算结果数据缓冲寄存器(DR): 暂存指令或数据字或操作数 。状态条件寄存器(PSW): 保存指令执行后的状态 。(2) 控制器
功能 用于控制整个CPU的工作,决定了计算机运行过程的自动化。它 不仅要保证程序的正确执行,而且能够 处理异常事件 组成 指令控制逻辑:要完成取指令、分析指令和执行指令的操作,其过程分为 取指令,指令译码按指令操作 码执行,形成下一条指令地址 等步骤。 指令寄存器(IR): 存放的是从内存中取得指令,就像个中间站一样,不过是存放指令的中间站 程序计数器(PC) :存放的是 指令的地址 ,还有 计数 的功能地址寄存器(AR) :存放的是 cpu访问内存单元的地址指令译码器(ID) :是把 操作码解析成 对应的指令操作 时序控制逻辑:要为每条指令按时间顺序提供应有的控制信号总线控制逻辑:是为多个功能部件服务的信息通路的控制电路中断控制逻辑:用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU(3) 寄存器组
分类:专用寄存器(运算器和控制器中的寄存器是专用寄存器)、通用寄存器 1.3. 数据表示 1.3.1. 计算机基本单位 单位符号备注位(比特)bit (b)计算机最小的存储单位字节byte ( B)数据表示的最小单位: 1B = 8bit千字节KB1KB = 1024B兆字节MB1MB = 1024KB吉字节GB1GB = 1024 MB太字节TB1TB = 1024GB 1.3.2. 进制转换a. 常用进制
进制运算规则标 识 符二进 制逢二进一: 基数为2,数值部分用两个不同的数字0 、1来表示B八进 制逢八进一 :基数为8,数值部分用0 、1 、2 、3、4 、5 、6 、7来表示O十进 制逢十进一:基数为10,数值部分用0 、1 、2 、3、4 、5 、6 、7 、8 、9来表示D十六 进制逢十六进一:基数为16,有十六种数字符号,除了在十进制中的0至9外,还另外用6个英文 字母A 、B、C 、D 、E 、F来表示十进制数的10至15H注:当没有下标或后缀时默认为十进制数 b. 非十进制数转为十进制数 (每位上的数码 z 基数的位次方)
二进制转换为十进制 (101.1101)2 = 1x22 + 0x21 + 1x20 + 1x2-1 + 1x2-2 + 0x2-3 + 1x2-4 = (5.8125)10
八进制转换为十进制 (105.236)8 = 1x82 + 0x81 + 5x80 + 2x8-1 + 3x8-2 + 6x8-3 = (69.30859375)10
十六进制转换为十进制 (A27.5C)16 = 10x162 + 2x161 + 7x160+ 5x16-1+ 12x16-2= (2599.359375)10 c. 十进制数转换为非十进制数 整数部分:除N取余,商为0时,将 余数倒序输出 小数部分:乘N取整数 ,直至积为0(或满足精度), 整数部分正序输出
十进制转换为二进制
十进制转换为八进制
十进制转换为十六进制
d. 二进制与八进制、十六进制的相互转换
二进制转为八进制(三位一组 ) 将二进制数从 小数点开始 分别向左(整数部分) 和 向右(小数部分) 每 3位 二进制位组成 一组 ,将每一组 内的3位二进制数转换成八进制数码中的一个数字,按顺序连接起来即得八进制表示。不足3位时,对原数值 用0来补足3位。 例如: (001 011 111 . 001)2 = (137.1)8二进制转为十六进制(四位一组 ) 将二进制数从 小数点开始 分别向左(整数部分) 和 向右(小数部分) 每4位二进制位组成 一组 ,将每一组内 的4位二进制数转换成十六进制数码中的一个数字,按顺序连接起来即得十六进制表示。如果总的位数不是4 的倍数,那么最左面的一组可以少于4位,前面用0来补足4位。 例如: (1111 1111 0100 1011)2 = (FF4B)16 1.3.3. 原码, 反码,补码, 移码符号位:如果机器字长为n,则最高位(或最左边的第一位是符号位: 0表示正号, 1表示负号 ) 。 原码:原码就是符号位加上真值的绝对值 , 即用第一位表示符号 , 其余位表示数值绝对值 . 如果机器字长n=8
数值原码数值原码+000000000-010000000+100000001-110000001+12701111111-12711111111+4500101101-4510101101+0.50<>1000000-0.51<>1000000反码: 正数的反码与原码相同, 负数的反码则是其绝对值按位取反。
数值反码数值反码+000000000-011111111+100000001-111111110+12701111111-12710000000+4500101101-4511010010+0.50<>1000000-0.51<>01111111补码:正数的补码与其原码相同, 负数的的补码则等于其反码的末尾加1
数值补码数值补码+000000000 (唯一)-000000000+100000001-111111111+12701111111-12710000001+4500101101-4511010011+0.50<>1000000-0.51<>1000000移码: 只要将补码的符号位取反便可获得相应的移码表示。
数值移码数值移码+110000001-101111111+12711111111-12700000001+4510101101-4501010011+010000000-010000000 1.3.4. 数值表示范围机器字长为n时各种码制表示的带符号数的范围
码制定点整数定点小数原码- (2n-1-1) ~ + (2n-1-1)- (1-2-(n-1)) ~ +(1-2-(n-1))反码- (2n-1-1) ~ + (2n-1-1)- (1-2-(n-1)) ~ +(1-2-(n-1))补码-2n-1 ~ +(2n-1-1)-1 ~ +(1-2-(n-1))移码-2n-1~ +(2n-1-1)-1 ~ +(1-2-(n-1)) 1.3.5. 浮点数表示N = 尾数x基数指数 例如 3.14 X 103
a. 运算 过程: 对阶 > 尾数计算 > 结果格式化 b. 特点
一般 尾数用补码 , 阶码用移码 。阶码 的位数 决定 数的表示 范围 ,位数越多范围越大。尾数 的位数 决定 数的有效 精度 位数越多精度越高。对阶 时, 小数向大数看齐 。对阶 是通过 较小数的尾数算术右移 实现的。c. 存储格式
1.4. 校验码 1.4.1. 奇偶校验码可以检错, 不能纠错 通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。
1.4.2. 海明码可以检错和纠错 在数据位之间的特定位置上插入k个校验位,通过扩大码距来实现检错和纠错。 设 数据位 是 n位, 校验位 是 k位,则n和k必须满足: 2^k^- 1 ≥ n + k 。
1.4.3. 循环冗余校验码 (CRC)码距为2, 可以检错, 不能纠错 广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码 长度为k+r。
循环冗余校验码是由 两部分组 成的,左边为 信息码(数据) ,右边为 校验码 。若 信息码占k位,则校验码就占n- k位 。其中, n为CRC码的字长,所以又称为( n, k)码。校验码是由信息码产生的,校验码位数越多,该代码的校 验能力就越强。在 求CRC编码 时, 采用 的是模2运算。
软件设计师-计算机系统知识:1.计算机系统基础知识由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“软件设计师-计算机系统知识:1.计算机系统基础知识”
上一篇
Python中字符串的常用操作