写在前面
最近被朋友和地方政策激励,跑来考软考,软考就是中国计算机技术职业考试,看了一下相关的资格考试,因为作者是软件专业毕业的,所以选了中级的软件设计师,哈哈哈。然后写一些备考过程中记的笔记,顺便水几篇文章,有一起考试的XDM可以抄一下看一眼,可能没什么帮助哈哈哈。
目录
星号(*) 代表中重要程度
存储系统 ****
总线系统 *
可靠性 *
校验码 ***
运算器与控制器
运算器和控制器是计算机CPU的两个重要组成,那么先来了解计算机结构:
计算机结构
计算机主要分为两大部分:主机
和外设
,具体看图
运算器
运算器由4大组成:
算术逻辑单元 ALU
负责 数据运算和逻辑运算累加寄存器 AC
为ALU
提供工作区,暂存数据,至少会有一个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毫秒,那么三条指令就需要9毫秒
使用流水线并行之后,只需要5毫秒,具体操作如下图:
计算公式
进入流水线周期概念,是指令操作中执行时间最长的一段,比如:取指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
。