中级软件设计师笔记
一、 数据的表示
二进制:10100.01 = 1x2的4次方+1x2的2次方+1x2的-2次方
七进制 604.01 =6*7的2次方+4*7的0次方+1*7的-2次方
十进制转其他进制:短除法。求差 求和 等。
短除法:
94转换为二进制
2/94 余 0
2/47 1
2/23 1
2/11 1
2/5 1
2/2 0
1 1
从下往上写
二进制:1011110
一般默认最右边是最低位。
二进制 八进制 十六进制
一个八进制需要3个二进制
一个六进制需要4个二进制
二、原码 反码 补码 移码
原码: 一般用八位二进制表示,最高位是符号位,0为正数,1为负数。
反码:正数的反码就是它本身,负数的反码是在其原码的基础上,符号位不变,其他位置取反(0变1,1变0)
补码: 使用补码来进行加减运算 正数的补码就是它本身;负数的补码是在其原码的基础上,符号位不变,其余各个位置取反,最后+1.(进行二进制加法,符号位也会受影响)
移码:在补码的基础上 符号位取反 (一般用于符号位计算)
[+1] = [00000001]原 = [00000001]反 = [00000001]补 = [1000 0001]移
[-1] = [10000001]原 = [11111110]反 = [11111111]补 = [0111 1111]移
[1-1] = [1000 0001]原 错误= [1111 1111]反 错误= [0000 0000]补 = [1000 0000]移
三、数值表示范围
浮点数:
科学计数法表示
N=尾数*基数 ^(指数)
运算过程:
对阶>尾数计算>结果格式化
特点:
1.一般尾数用 补码,阶码用移码
2.阶码的位数决定数的表示范围,位数越大范围越大
3.尾数的位数决定数的有效精度,位数越多精度越高
4.对阶时,小数向大数看齐
5.对阶是通过较小数的尾数右移实现的。
四、计算机结构
计算机主要结构:运算器 控制器 存储器 输入设备 输出设备
外设: 输入设备 输出设备 辅助存储器(硬盘)
主机:运算器 控制器 主存储器
CPU组成:运算器 控制器 寄存器组 内部总线组成。
运算器:
1.算术逻辑单元ALU 数据的算术运算和逻辑运算
2.累加寄存器AC 通用寄存器,为ALU提供一个工作区,用在暂存数据
3.数据缓冲寄存器DR 写内存时,暂存指令或者数据
4.状态条件寄存器 存状态标志和控制标志 界定条件模糊不清 有争议 也可以及定位控制器 最后再选
控制器:
1.程序计数器PC 存放CPU想要访问的下一条指令的地址
2.指令寄存器IR 存放指令
3.地址寄存器 记录CPU当前所要访问的地址
4.指令译码器
5.时序部件 记录执行的顺序
五、计算机体系结构分类 FLynn 弗林分类体系
六、指令的基本概念
一条指令九四机器语言的一个语句:基本结构如下:
操作码字段:地址码字段
七、寻址方式
立即寻址方式:操作数直接在指令当中,速度快,灵活性差
直接寻址方式:指令中存放的是操作数的地址
间接寻址方式:指令中存放了一个地址,这个地址对应的内容是操作数的地址。
寄存器寻址方式:寄存器存放操作数
寄存器间接存储方式:寄存器存放的是操作数的地址
八、CISC和RISC
二者比较:
CISC:复杂,指令多,频率差别大,多寻址。
RISC:精简,指令数量少,操作寄存器,单周期, 少寻址,多通用寄存器,流水线。
九、 流水线 -流水线计算
相关计算:流水线执行时间计算,流水线吞吐率,流水线加速比,流水线效率。
流水线是指 在程序执行时多条指令重叠进行操作的一种准并行处理实现技术,各种部件同时处理是针对不同指令而言的,他们可以同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
计算公式:
流水线周期: 设取指,分析和执行三部分时间分别为1ms,2ms,1ms 则流水线周期为2ms
流水线计算公式:
1条指令执行时间+(指令条数-1)*流水线周期
如上图:3+(3-1)*2 = 5
时间公式: k*t + (n-1)*t t为流水线周期
超标量流水线: 增加流水线
度:2 条流水线组成 行列流水线
流水线吞吐率TP:
单位时间内流水线所完成的任务数量或输出的结果数量。
TP=指令条数/流水线执行时间
流水线最大吞吐率:
十、层次化存储结构(层次化划分原因:成本问题)
CPU:寄存器 最快,但是容量小,成本高
Cache: 高速缓存,按内存存取
内存(主存):分两类:随机存储器(RAM) 只读存储器(ROM)
外村 硬盘,光盘,U盘。
速度不断变慢,容量变大
十一、Cache