目录蒽,谁说不是速成指南呢。
11 Intro
略
12-13 指令系统
计算机程序与指令系统
语言
高级语言 / 算法语言
- 实现思路:着重面向算法
- 执行:需要经过编译程序先翻译成机器语言程序,才能在计算机的硬件系统上予以执行,个别的选用解释执行方案
- 特点:通用性强,容易移植
汇编语言
- 定义:对计算机机器语言进行符号化处理的结果,再增一些为方便程序设计而实现的扩展功能
- 执行:要经过汇编器翻译成机器语言后方可运行
机器语言
- 定义:是计算机硬件能直接识别和运行的指令的集合,是二进制码组成的指令
冯诺依曼结构计算机
- 存储程序计算机,顺序执行指令
指令和指令系统
-
计算机系统
- 软件:各种程序
- 指令:计算机运行的最小的功能单元
- 硬件:由中央处理器、存储器以及外围设备等组成的实际装置
- 软件:各种程序
-
指令系统:一台计算机提供的全部指令
- 硬、软件之间的接口部分,硬件系统用于实现每条指令的功能、解决衔接关系,软件由指令组成
- 指令系统优劣是一个计算机系统是否成功的关键因素
-
指令功能分类
- 数据运算指令:算数运算,逻辑运算
- 数据传输指令:内存/寄存器,寄存器/寄存器
- 控制指令:无条件跳转,条件跳转,子程序的支持(调用和返回)
- 输入输出指令:与输入输出端口的数据传输
- 其它指令:停机、开/关中断、空操作、特权指令、设置条件码
-
指令格式:操作码 操作数地址
- 指令字:完整的一条指令的二进制表示
- 指令字长:指令字中二进制代码的位数
- 操作码
- 定长操作码:在指令字最高位部分分配固定若干位用于表示操作码,有利于简化计算机硬件设计,提高指令译码和识别速度
- 变长操作码:在指令字最高位部分用一固定长度的字段来表示基本操作码,而对于部分操作数地址位数可以少的指令,则把另外多位辅助操作码扩充到该操作数地址字段,即操作码位数可变。
- 寻址方式
- 立即数寻址
- 直接寻址
- 寄存器寻址/寄存器间址
- 变址寻址:OP ... Reg(变址寄存器) Disp(加法器)
- 相对寻址:相对于 PC
- 间接寻址:指令的地址码字段给出的内容既不是操作数,也不是操作数的地址,而是操作数(或指令)地址的地址
- 基址寻址
- 堆栈寻址:入栈操作——SP-1;出栈操作——SP→AR, SP+1
RISC-V 指令系统
架构特点
-
简单
-
模块化:每一个模块使用一个英文字母来表示,最基本也是唯一强制要求实现的指令集部分是由 I 字母表示的基本整数指令子集,使用它便能够实现完整的软件编译器
-
编码规整:所有通用寄存器在指令码的位置是一样的,所有指令都是 32 位字长
特权模式
-
Machine Mode:机器模式,简称 M Mode(必选)
-
Supervisor Mode:监督模式,简称 S Mode(可选)
-
User Mode:用户模式,简称 U Mode(可选)
13-2 不记了!评价为计系概知识复活(但不多)
14 数据表示及检错纠错
数据表示
逻辑型数据表示
略
字符的表示
略
数值数据:整数、浮点数
数值范围和数据精度
-
数值范围:指一种类型的数据所能表示的最大值和最小值
-
数据精度:实数所能给出的有效数字位数
整数
- 原码,反码,补码
- 正数:均相同,符号位为 0,数值位同数的真值
- 零:原码和反码均有 2 个编码,补码只 1 个码
- 负数
- 符号位:1
- 数值位:原码为数的绝对值,反码为每一位均取反码,补码为反码再在最低位 +1
- 只有一个负数的原码与补码是相同的:1100 0000 0000 0000 0000 0000 0000 0000
浮点数
- 浮点运算的特点:
- 浮点数的加法不满足结合律
- 浮点数加法不可结合
- 浮点数的相等比较:只是近似
检错纠错码
定义
-
检错纠错码
- 使编码具有某种特征,通过检查这种特征是否存在来判断编码是否正确
- 出错时,如果还能指出是哪位出错,则可以纠正错误
-
码距:任意两个合法码之间至少有几个二进制位不相同
- 仅有一位不同的编码是无纠错能力的
奇偶校验
-
用于并行码检错
-
原理:在 k 位数据码之外增加 1 位校验位,使 k+1 位码字中取值为 1 的位数总保持为偶数(偶校验)或奇数(奇校验)。
-
码距:2
海明码
-
用于多位并行数据检错纠错