ok 兄弟们,还有两个月就要开始软考,这是我每天学习的笔记,希望能帮助到大家,里面的内容我是综合性提炼出来 也是我做题的时候发现出现频率高的东西,遇到难点,建议放弃,有些题 计算复杂但是也只有1分,没必要再这种题型上浪费时间。多刷题!!!!!
计算机组成机构
CPU 组成
CPU 的组成由运算器,控制器,寄存器和内部总线
CPU 还需要对系统的内外部的中断(异常)做出响应进行相应的处理!!!
运算器组成
- 算数逻辑单元ALU :实现对数据的算术和逻辑运算
- 累加器AC : 运算结果或者源操作数的存放区域
- 数据缓冲器 DR :暂时存放内存的指令或者数据
- 状态条件寄存器 PSW :保存指令的运行结果的条件码内容,如溢出 标志等
运算器执行所有的算术运算如加减乘除
执行所有的逻辑运算并进行测试 非与或
DR的主要作用为:
- 作为CPU和内存、外部设备之间数据传送的中转站;
- 作为CPU和内存、外围设备之间在操作速度上的缓冲;
- 在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。
控制器的组成
- 指令寄存器 IR :暂时存储CPU 指令
- 程序计数器 PC :存放指令执行地址和计数 执行指令时,CPU自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。
- 地址寄存器 AR :保存当前CPU 访问的内存地址
- 指令译码器 ID :分析指令操作码
指令控制逻辑要完取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤。
CPU 依据 指令周期的不同阶段来区分二进制的指令和数据 因为指令的不同阶段,指令会命令CPU 分别去取指或者数据。
从指令地址PC 里获取执行地址,获取到指令后放入IR ,经过ID 进行分析,然后执行,AR 则保存现在CPU访问的内存地址,将获取的数据放入DR ,进行ALU 进行运算,将结果或者源操作数保存 AC ,然后将指令执行的状态存入PSW。
数据表示
进制转换
- 二进制转十进制:8421码
- R进制转10进制:位权展开法,用R进制的每一位乘以R进制的n次方 ,n是标量从最低位0 开始,所得到的结果相加
- 十进制转R 进制:十进制数整数除以R 进制的然后倒取余数
- M 进制转换N 进制: 先将M 进制转换成10 进制然后将10 进制转换成2 进制
例如:16 进制转换成2 进制,首先将16 进制进行位权展开法进行10进制转换,然后将10进制才用导取余数 进行转换
但是2 进制 8 进制 10 进制 16 进制可以直接互相转换
建议方法
1.2 进制转八进制 ,2进制的每三位就是8进制的数
2.2 进制转换成16进制。每四位就是16 进制数
数
机器数: 使用1和0 位表示符号,小数点不占位置 (隐含)
机器数有有无符号之分,无符号表示正数,没有符号位
有符号则是最高位为符号位
定点表示法
纯小数:约定小数点再机器最高位数据位之后 ,如:0.010101
纯整数:约定小数点再机器的最低数值位之后 如:1234.
真值:机器数对应的实际数值
原码反码补码移码
反码:正数的反码就是原码,负数的反码是在原码的基础上除符号位全部取反
补码:正数的补码就是原码,负数的反码是在原码的基础上全部取反加1 ,如果有进位则产生进位
移动码:用浮点数运算的阶码,无论正负数都是讲改原码的补码的首位 符号位取反得到的
正数 | 负数 | |
真值 原码 反码 (除符号外取反) 补码(除符号外取反 +1) 移码 (再补码的基础 符号取反) | 45 0010 1101 0010 1101 0010 1101 1010 1101 | -45 1010 1101 1101 0010 1101 0011 0101 0011 |
特殊;
数值0 的正数原码是:0000 0000 负数:1000 0000
0 的补码只有0000 0000 不分正负
0 反码 :0000 0000 负数:1111 1111
0 的移码:1000 0000 负数 1000 0000
各种码制带符号数的范围
浮点数
浮点数使用两个定点数来分别表示实数的尾数(F)和阶码(E)。其一般形式为:N=2E×F。
- 一个数的浮点表示不是唯一的。小数点位置改变,阶码也随着相应改变。
- 浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度则由尾数决定。
浮点数的运算:
对阶:让两个阶相等,小阶对大阶,小阶增加几位,,尾数就右移几位