硬件组成——CPU、编码、浮点数
计算机系统基础知识
计算机硬件组成
运算器、控制器等部件被集成在一起——CPU,用于数据加工处理,能完成各种算数、逻辑运算及控制功能;
存储器——内、外存,前者临时,后者长期;
输入、输出设备合称为外部设备。
CPU功能:
- 程序控制
- 操作控制
- 时间控制
以上为控制器
- 数据处理——算数运算(加减乘除等)、逻辑运算(与或非等)
CPU还需对系统内外部中断(异常)作出相应
CPU组成: 运算器、控制器、寄存器组、内部总线
运算器:算数逻辑单元ALU(实现对数据的算术和逻辑运算)、累加寄存器AC(运算结果或源操作数的存放区,与ALU配合使用)、数据缓冲寄存器DR(暂时存放内存的指令或数据)、状态条件寄存器PSW(保存指令运行结果的条件码内容,如溢出标志等)组成。执行所有算数运算,执行所有逻辑运算并进行逻辑测试。
控制器:指令寄存器IR(暂存CPU执行指令)、程序计数器PC(存放指令执行地址)、地址寄存器AR(保存当前CPU所访问的内存地址)、指令译码器ID(分析指令操作码)等组成。控制整个CPU的工作,最为重要。
CPU依据指令周期的不同阶段来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或者数据。
考试真题:
数据表示
进制转换:
- m进制转n进制,先将m进制转换为十进制再转换为n进制。
- 二转八进制,每3位转1位
定点表示法:纯小数与纯整数两种,小数点不占存储位。
纯小数: 约定小数点的位置在机器数的最高数值位之前。
纯整数: 约定小数点的位置在机器数的最低数值位之后。
真值: 机器数对应的真实数值(十进制)。
原码、反码、补码,正数都相同。
-45
对应原码为10101101
-45
对应反码为11010010
-45
对应补码为11010011
移码: 用作浮点运算的阶码,无论正数负数,都是将该原码的补码的首位(符号位) 取反得到移码。-45
对应移码为01010011
机器字长为n时各种码制表示的带符号数的取值范围(差别在于0的表示,原码和反码分+0和-0,补码只有一个0,因此可以多表示一个):
码制 | 定点整数 | 定点小数 |
---|---|---|
原码 | -(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)) |
note: 小数就是整数部分整体除了一个2n-1,记住整数即可
浮点数: 表示方法为 N = F * 2E,其中 E 称为阶码, F 称为尾数;类似于十进制的科学计数法,如85.125 = 0.85125 * 102,二进制如101.011 = 0.101011 * 23
在浮点数的表示中,阶码为带符号的纯整数,尾数为带符号的纯小数,要注意符号占最高位(正数0负数1)其表示格式如下:
阶符 | 阶码 | 数符 | 数码 |
---|
很明显,与科学计数法类似,一个浮点数的表示方法不是唯一的,浮点数所能
表示的数值范围由阶码确定,所表示的数值精度由尾数确定。
浮点数运算:
对阶(使两个数的阶码相同,小阶向大阶看齐,较小阶码增加几位,尾数就右移几位)
尾数计算(相加,若是减运算,则加负数)
结果规格化(即尾数表示规格化,带符号尾数转换为0.1xxxx或1.0xxxx)。
note: 浮点数不会考运算
考试真题:
note:需要首先转换为二进制,再除以2得到X
note: 难题。阶码 n = 6 + 1 共7位,代入公式:-2n-1 ~ +(2n-1 - 1),得到范围为:-26 ~ 26 - 1 ,E = -64 ~ 63。尾数 n = 8 + 1 共9位,代入公式 -1 ~ +(1 - 2-(n-1)) ,得到范围为:-1 ~ 1 - 2-8 ,根据浮点数计算公式:N = F * 2E,N = (-1 ~ 1 - 2-8) * 2-64~63 ,两两组合,得到:-2-64, (1 - 2-8) * 2-64, -263, (1 - 2-8) * 263,选择其中最小值和最大值即可得到范围:-263 ~ (1 - 2-8) * 263。