【 软考】【计算机系统知识】计算机组成和体系结构(数据的表示–流水线技术)

写在前面

最近被朋友和地方政策激励,跑来考软考,软考就是中国计算机技术职业考试,看了一下相关的资格考试,因为作者是软件专业毕业的,所以选了中级的软件设计师,哈哈哈。然后写一些备考过程中记的笔记,顺便水几篇文章,有一起考试的XDM可以抄一下看一眼,可能没什么帮助哈哈哈。

目录

星号(*) 代表中重要程度

数据的表示****

运算器与控制器

Flynn分类法 **

CISC 与RISC **

流水线技术 ****

存储系统 ****

总线系统 *

可靠性 *

校验码 ***

运算器与控制器

运算器和控制器是计算机CPU的两个重要组成,那么先来了解计算机结构:

计算机结构

计算机主要分为两大部分:主机外设,具体看图a41b266d-613d-410c-b73c-1907e588bd4e-7394841.jpg

运算器

运算器由4大组成:

  • 算术逻辑单元 ALU 负责 数据运算和逻辑运算
  • 累加寄存器 ACALU提供工作区,暂存数据,至少会有一个AC
  • 数据缓冲寄存器DR 负责 数据读和写
  • 状态条件寄存器 控制状态和状态的表示的记录,选择题中有时候属于控制器有时候属于计算器

控制器

控制器由5大组成

  • 程序计数器 PC(计数器)存放CPU要执行或者访问的下一条指令的地址
  • 指令寄存器 IR 存储即将执行的指令
  • 地址寄存器 当前执行或访问的指令的地址
  • 指令译码器
  • 时序部件 按时间顺序做,什么时候做什么事情

Flynn分类法

书上的分类法由很多,但是这里只介绍一种,别问为什么,可能是因为常考吧。

体系结构类型 结构 关键特征 代表
单指令流单数据流(SISD) 控制部分:1个;处理器:1个;主存模块:1个。 单处理器系统
单指令流多数据流(SIMD) 控制部分:1个;处理器:多个;主存模块:多个。 各处理器以异步方式执行同一条指令 并行处理机;阵列处理机;超级向量处理机
多指令流单数据流(MISD) 控制部分:多个;处理器:1个;主存模块:多个。 被证明不可能,至少是不实际 目前没有,有文献称流水线计算机为此类
多指令多数据流(MIMD) 控制部分:多个;处理器:多个;主存模块:多个。 能够实现作业、任务、指令等各级全面进行 多处理机系统;多计算机

指令的基本概念

一条指令就是机器语言的一个语句,是一组由意义的二进制代码,分为:

  • 操作码字段:要做什么操作
  • 地址码字段:参与操作的数存在哪

指令的类型:三地址指令(一个操作码三个地址码:a+b=c)、二地址指令(a+=b)、一地址指令(a++)、零地址指令。

寻址方式

  • 立即寻址方式
    • 操作数直接在指令中,速度快,灵活性差
  • 直接寻址方式
    • 指令中存放的是操作数的地址
  • 间接寻址方式
    • 指令中存放一个地址,这个地址对应的内容是操作数的地址,即两次寻址
  • 寄存器寻址方式
    • 寄存器存放操作数
  • 寄存器间接寻址方式
    • 寄存器存放操作数的地址

CISC与RISC (指令系统类型)

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

流水线技术

概念

在程序执行时多条指令重叠进行操作的一种准并行处理实现技术

指令操作

  1. 取值
  2. 分析
  3. 执行

例子

说明:若在一般情况下,一次指令操作需要1毫秒,那么三条指令就需要9毫秒

使用流水线并行之后,只需要5毫秒,具体操作如下图:image.png

计算公式

进入流水线周期概念,是指令操作中执行时间最长的一段,比如:取指1毫秒,分析2毫秒,执行1毫秒,周期是2毫秒

理论公式

第一条指令的执行之间 + (指令条数 – 1) * 流水线周期,例如:

取指1毫秒,分析2毫秒,执行1毫秒,一共5条指令:4 + (5 – 1) * 2 = 12毫秒

实际公式

因为所有步骤都有最长周期,所以公式为:所有步骤 * 周期 + (指令条数 – 1) * 流水线周期,例如

取指1毫秒,分析2毫秒,执行1毫秒,一共5条指令:3 * 2 + (5 -1) * 2 = 14毫秒

选择题注意

先验算理论公式,没有再验算实际公式

流水线吞吐率

单位时间内,流水线所完成的任务数量

公式

指令数量 / 流水线执行时间

最大吞吐率

1/流水线周期

最后

数据应该就是到这了。接下来的内容我会一章一章更新,不过不会很快,毕竟还要日常码代码工作。

希望我的文章能给你带来一部分启发和帮助,如果有什么不足或错误的地方,欢迎读者评论留言

当然,要是本文对你有所帮助,欢迎点赞转发,谢谢?

我的GitHub,欢迎XDM去康康,有空点个Star

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享