分值占比
占6分左右
- 数据得表示(****)
- 运算器与控制器(****)
- Flynn分类法(**)
- CISC与RISC(**)
- 流水线技术(****)
- 存储系统(****)
- 总线系统(*)
- 可靠性(*)
- 校验码(***)
1.数据的表示
1.1 R进制转十进制
R进制转十进制使用按权展开法,其具体操作方式为:将R进制数的每一位数值用R^k形式表示,k与该位和小数点之间的距离有关。当该位位于小数点左边,K值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1。
例:
二进制 10100.01=1*2^4+1*2^2+1*2^-2
七进制 604.01=6*7^2+4*7^0+1*7^-2
1.2 十进制转R进制
十进制转R进制使用短除法。(简单算法题)
1.3 二进制转八进制与十六进制数
2个二进制位等于1个八进制位,十六进制同理
1.4 各种码
1 | -1 | 1-1 | |
原码 | 0000 0001 | 1000 0001 | 1000 0010 |
反码 | 0000 0001 | 1111 1110 | 1111 1111 |
补码 | 0000 0001 | 1111 1111 | 0000 0000 |
移码 | 1000 0001 | 0111 1111 | 1000 0000 |
1.5数值表示范围
码制 | 定点整数 | 定点小数 |
原码 | ||
反码 | ||
补码 | ||
移码 |
1.6浮点数的运算
浮点数表示:
N=尾数*基数^指数
运算过程:
对阶>尾数计算>结果格式化
特点:
- 一般尾数用补码,阶码用移码
- 阶码的位数决定数的表示范围,位数越多范围越大
- 尾数的位数决定数的有效精度,位数越多精度越高
- 对阶时,小数向大数看齐
- 对阶是通过较小数的尾数右移实现的
2.计算机结构
运算器
- 算数逻辑单元ALU:进行算术运算和逻辑运算
- 累加寄存器AC: 将ALU计算的结果临时存在这个区域
- 数据缓冲寄存器DRL:写内存时,暂存指令或数据
- 状态条件寄存器PSW:标记进位、溢出、清零等等这些状态
控制器
- 程序计数器PC:也叫接收器,存储下一条要执行指令的地址
- 指令寄存器IR:存储即将执行的指令
- 地址寄存器DR:存指令对应的地址
- 指令译码器:对指令中的操作码字段进行分析解释
- 时序部件:提供失序控制信号
3.计算机体系结构分类
3.1分类
体系结构类型 | 结构 | 关键特性 | 代表 |
单指令流但数据流 SISD | 控制部分:一个 处理器:一个 主存模块:一个 | 单处理器系统 | |
单指令流多数据流 SIMD | 控制部分:一个 处理器:多个 主存模块:多个 | 各处理器以异步的形式执行同一条指令 | 并行处理机、 阵列处理机、 超级向量处理机 |
多指令流单数据流 MISD | 控制部分:多个 处理器:一个 主存模块:多个 | 被证明不可能、至少是不实际 | 目前没有,有文献称流水线计算机为此类 |
多指令流多数据流 MIMD | 控制部分:多个 处理器:多个 主存模块:多个 | 能够实现作业、任务、指令等各级全面并行 | 多处理机系统、多计算机 |
3.2指令的基本概念
一条指令就是机器语言的一个语句,他是一组有意义的二进制代码,指令的基本格式如下:
操作码字段 | 地址码字段 |
操作码部分指出了计算机要执行什么性质的操作,如加法、剑法、取数、存数等。地址码字段需要包含各操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令、二地址指令、一地址指令和零地址指令。
OP+A1+A2+A3; OP+A1; OP+A1+A2; OP
3.3寻址方式
- 立即寻址方式:
特点:操作数直接在指令中,速度快,灵活性差
- 直接寻址方式:
特点:指令中存放的是操作数的地址
- 间接寻址方式:
特点:指令中存放了一个地址,这个地址对应的内容是操作数的地址(和指针概念相似)
- 寄存器寻址方式:
特点:寄存器存放操作数
- 寄存器间寻址方式:
特点:寄存器内存放的是操作数的地址
3.5 CISC与RISC
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主适合采用流水线 | 优化编译,有效支持高级语言 |
CISC与RISC比较,分为哪些维度?
指令数量、指令使用频率,寻址方式,寄存器,流水线支持,高级语言支持
CISC:复杂,指令数量多,频率差别大,多寻址
RISC:精简,指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,流水线
4.流水线
相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,他们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
4.1 流水线计算
流水线周期:为执行时间最长的一段
流水线计算公式为:1条指令执行时间+(指令条数-1)*流水线周期
1.理论公式:(t1+t2+..+tk)+(n-1)*dt
2.实践公式:k*dt+(n-1)*dt
一条指令的执行过程可以分解为取指、分析和执行三步,在取指时间t取值=3*dt、分析时间t分析=2*dt、执行时间t执行=4*dt的情况下,若按串行方式执行,则10条指令全部执行完成需要(3+2+4)*dt*10=90*dt;若按流水线的方式执行,流水线周期为4*dt,则10条指令全部执行完需要(3+2+4)*dt+(10-1)*4*dt=45*dt.
超标量流水线:增加了一个 度 的概念,计算时直接除以度即可
4.2 流水线吞吐率计算
流水线的吞吐率(Though Put rate, TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率的最基本的公式如下:
流水线最大吞吐率: