计算机组成原理 复习笔记

发布时间 2024-01-13 11:25:43作者: SELFLOVER

蒽,谁说不是速成指南呢。

11 Intro

12-13 指令系统

计算机程序与指令系统

语言

高级语言 / 算法语言

  • 实现思路:着重面向算法

  • 执行:需要经过编译程序先翻译成机器语言程序,才能在计算机的硬件系统上予以执行,个别的选用解释执行方案

  • 特点:通用性强,容易移植

汇编语言

  • 定义:对计算机机器语言进行符号化处理的结果,再增一些为方便程序设计而实现的扩展功能

  • 执行:要经过汇编器翻译成机器语言后方可运行

机器语言

  • 定义:是计算机硬件能直接识别和运行的指令的集合,是二进制码组成的指令

image

冯诺依曼结构计算机

  • 存储程序计算机,顺序执行指令

指令和指令系统

  • 计算机系统

    • 软件:各种程序
      • 指令:计算机运行的最小的功能单元
    • 硬件:由中央处理器、存储器以及外围设备等组成的实际装置
  • 指令系统:一台计算机提供的全部指令

    • 硬、软件之间的接口部分,硬件系统用于实现每条指令的功能、解决衔接关系,软件由指令组成

    • 指令系统优劣是一个计算机系统是否成功的关键因素

image

  • 指令功能分类

    • 数据运算指令:算数运算,逻辑运算

    • 数据传输指令:内存/寄存器,寄存器/寄存器

    • 控制指令:无条件跳转,条件跳转,子程序的支持(调用和返回)

    • 输入输出指令:与输入输出端口的数据传输

    • 其它指令:停机、开/关中断、空操作、特权指令、设置条件码

  • 指令格式:操作码 操作数地址

    • 指令字:完整的一条指令的二进制表示

    • 指令字长:指令字中二进制代码的位数

    • 操作码

      • 定长操作码:在指令字最高位部分分配固定若干位用于表示操作码,有利于简化计算机硬件设计,提高指令译码和识别速度

      • 变长操作码:在指令字最高位部分用一固定长度的字段来表示基本操作码,而对于部分操作数地址位数可以少的指令,则把另外多位辅助操作码扩充到该操作数地址字段,即操作码位数可变。

image

  • 寻址方式
    • 立即数寻址

    • 直接寻址

    • 寄存器寻址/寄存器间址

    • 变址寻址: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

浮点数

image

  • 浮点运算的特点
    • 浮点数的加法不满足结合律

    • 浮点数加法不可结合

    • 浮点数的相等比较:只是近似

检错纠错码

定义

  • 检错纠错码

    • 使编码具有某种特征,通过检查这种特征是否存在来判断编码是否正确

    • 出错时,如果还能指出是哪位出错,则可以纠正错误

  • 码距:任意两个合法码之间至少有几个二进制位不相同

    • 仅有一位不同的编码是无纠错能力

奇偶校验

  • 用于并行码检错
  • 原理:在 k 位数据码之外增加 1 位校验位,使 k+1 位码字中取值为 1 的位数总保持为偶数(偶校验)或奇数(奇校验)。

海明码

循环冗余校验码