• 软考 - 计算机组成与体系笔记


    数据的表示

    进制转化

    • 二进制转十进制(十进制以D表示)
      • 从右往左,用二进制位上的数字乘以2的n次幂的和(n从0开始+1累加)
    • 十进制转二进制(二进制以B表示)
      • 十进制数不断除以2直至到0,得到的余数按从下而上的顺序排列得到的数值
    • 二进制与八进制(八进制以O或Q表示)
      • 二进制从右往左,每三位对应的都是八进制的一位数
    • 二进制与十六进制(十六进制以H表示)
      • 二进制从右往左,每四位对应的都是十六进制的一位数

    1B = 8bit
    1KB = 2^10B = 1024B
    1MB = 2^20B = 1024KB
    1G = 2^30B = 1024MB

    原码反码补码移码

    码制定义数码个数
    原码最高位是符号位,其余低位表述数值的绝对值2^n - 1
    反码正数的反码与原码相同,负数的反码是其绝对值按位取反(符号位不变)2^n - 1
    补码正数的补码与原码相同,负数的补码是其反码末位加1(符号位不变)2^n
    移码补码的符号位按位取反2^n

    image.png

    • 定点正数,例如8位:-128补码认为规定位1000 0000
    • 定点小数:-1补码人为规定位1000 0000

    所以补码负数会多一个值

    数据的运算是补码之间的计算

    浮点数

    N = 尾数 * 基数 ^ 指数

    1. 一般尾数用补码,阶码用移码
    2. 阶码的位数决定数的表示范围,位数越多范围越大
    3. 尾数的位数决定数的有效精度,位数越多精度越高
    4. 对阶时,小数向大数看齐
    5. 对阶是通过较小尾数右移实现的

    逻辑运算

    1. 算数运算 乘除 > 加减
    2. 关系运算:大于 小于
    3. 逻辑运算:&& > ||

    校验码

    1. 奇偶校验
      1. 只校验,不纠错
    2. CRC循环冗余校验
      1. 只校验,不纠错
      2. 采用模二除法
    3. 海明校验(必考)
      1. 可检错,也可以纠错
      2. 2^r >= m+r+1 m为信息位

    CPU组成

    考察概念,重点

    1. 运算器
      1. 算数逻辑单元ALU:数据的算术运算和逻辑运算
      2. 累加寄存器AC:通用寄存器,为ALU提供工作区,用在暂存数据
      3. 数据缓冲寄存器DR:写内存时,暂存指令或数据
      4. 状态条件寄存器PSW:存状态标志与控制标志(有争议,也可以归纳到控制器中)
    2. 控制器
      1. 程序计数器PC:存储下一条要执行指令的地址
      2. 指令寄存器IR:存储即将执行的指令
      3. 指令译码器ID:对指令中的操作码字段进行分析解析
      4. 时序部件:提供时序控制信号

    寻址方式

    1. 立即寻址方式
      1. 操作数直接在指令中,速度快,灵活性差
    2. 直接寻址方式
      1. 指令中存放的是操作数的地址
    3. 间接寻址方式
      1. 指令中存放了一个地址,这个地址对应的内容是操作数的地址
    4. 寄存器寻址方式
      1. 寄存器存放操作数
    5. 寄存器间接寻址方式
      1. 寄存器内存放的是操作数的地址

    CISC与RISC

    指令系统类型指令寻址方式实现方式其他
    CISC(复杂)数量多,使用频率差别不大,可变长格式支持多种微程序控制技术(微码)研制周期长
    RISC(精简)数量少,使用频率接近,定长格式,大部分为单周期周玲,操作寄存器,只有Load/Store操作内存支持方式少增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线优化编译,有效支持高级语言

    流水线技术

    流水线计算公式:

    1. 理论公式 :(t1+t2+…+tk)+(n-1)*t
    2. 实践公式:k*t+(n-1)*t

    其中:

    • t1/t2为每条指令的时间
    • n为执行次数
    • t为指令中最长执行时间

    吞吐率计算公式
    TP = 指令条数 / 流水线执行时间
    流水线最大吞吐率
    TP(max) = 1 / t

    存储系统

    必考
    CPU -> Cache -> 内存(主存)-> 外存(辅存)

    层次化存储结构(时间&空间局部性原理) - 分类

    1. 存储器位置
      1. 内存&外存
    2. 存取方式
      1. 按内容存取:相联存储器(如Cache)
      2. 按地址存取:
        1. 随机存取存储器(如内存)
        2. 顺序存取存储器(如磁盘)
        3. 直接存取存储器(如磁盘)
    3. 工作方式
      1. 随机存取存储器RAM(如内存DRAM)
      2. 只读存储器ROM(如BIOS)

    Cache

    概念类考察

    1. 直接相联映像:硬件电路简单,冲突率高,映射特定块
    2. 全相联映像: 硬件电路复杂,冲突率低,映射任意一块
    3. 组相连映像: 直接相联与全相联的折中

    注:主存与Cache之间的地址映射由硬件直接完成

    存储系统

    计算类考察

    1. 存储单元
      1. 存储单元个数=最大地址-最小地址+1
    2. 编址内容
      1. 按字编址:存储体的存储单元是字存储单元,即最小寻址单位为一个字
      2. 按字节编制:最小寻址单位为一个字节
    3. 总容量
      1. 总容量=存储单元个数*编址内容

    根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数:
    总片数=总容量/每片的容量

    例题:
    内存按字节编址,地址从A0000H到CFFFFH的内存,共有(192KB),若用存储容量为64KB*8bit的存储器芯片构成该内存空间,至少需要(3)片

    输入/输出技术(IO)

    概念类考察(必考)

    1. 程序控制(查询)方式:I/O能力不高,严重影响CPU利用率
    2. 程序中断方式:鼠标/键盘
      1. I/O系统发出中断请求信号
      2. 保存正在执行程序的现场(保存现场),打断程序当前位置即为断点
      3. 通过中断向量表转入I/O中服务程序
      4. 返回被打断的程序继续执行(恢复现场)
    3. DMA方式:移动硬盘
    4. 通道方式
    5. I/O处理机

    总线

    了解概念

    可靠性

    1-2分,了解概念,会计算可靠性
    MTTF指平均无故障时间,则计算软件可靠性公式为:
    MTTF/(1+MTTF)

    性能指标

    了解概念,会计算

    • 字长与数据通路宽度
    • 主存容量和存取速度(主频与CPU时钟周期)
    • 运算速度(CPI与IPC)
    • 吞吐量与吞吐率(MIPS与MFLOPS)
    • 响应时间(RT)与完成时间(TAT)
    • 兼容性

    CPI:平均每条指令的平均时钟个数
    IPC:每时钟周期运行指令个数
    MIPS:百万条指令每秒
    MFLOPS:百万浮点操作每秒

    例题:CPU主频2.8GHz,平均CPI为3.5,运算速度用MIPS表示,约为(800)
    image.png

  • 相关阅读:
    Redis(7)----数据库与过期键
    不添加端口号访问非80网站
    一文搞懂drag&drop浏览器拖放功能的实现
    图解Mysql索引原理
    C++学习(2):分配器allocator
    c++ 11 多线程支持 (std::packaged_task)
    使用Golong轻松实现JWT身份验证
    基于ssm+vue的线上点餐系统
    跟着代码随想录练算法——二叉树(JS)(下)
    深度学习:UserWarning: The parameter ‘pretrained‘ is deprecated since 0.13..解决办法
  • 原文地址:https://blog.csdn.net/weixin_38277138/article/details/132852155