主页 > 软件开发  > 

软件设计师-计算机系统知识:1.计算机系统基础知识

软件设计师-计算机系统知识:1.计算机系统基础知识
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.计算机系统基础知识