没有合适的资源?快使用搜索试试~ 我知道了~
2020春-lecture51
需积分: 0 0 下载量 53 浏览量
2022-08-03
17:43:59
上传
评论
收藏 1.6MB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86297810/0001-6b7b43809a556c92855eb06ee8be2869_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
26页
• 第四章 (4.5-4.8, , 4.9-4.11)• 选读• Maurice Wilkes, “The Best Way to Design an Auto
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86297810/bg1.jpg)
1
高等计算机体系结构
第五讲: 多周期和流水线
栾钟治
北京航空航天大学 计算机学院 中德联合软件研究所
2020-04-03
提醒: 作业
• 作业 2
• 3月27日发布,4月10日上课前截止
• 单周期与多周期微体系结构
• 作业 3
• 4月10日发布…
• 流水线
2
提醒: 实验 1
• 4月10日截止
• 用Logisim设计1个7指令单周期MIPS CPU
• 学习MIPS ISA
3
阅读材料
• Patterson & Hennessy‘s Computer Organization and
Design: The Hardware/Software Interface (计算机组
成与设计:软硬件接口)
• 附录 D
• 第四章 (4.5-4.8, , 4.9-4.11)
• 选读
• Maurice Wilkes, “The Best Way to Design an Automatic
Calculating Machine,” Manchester Univ. Computer Inaugural
Conf., 1951.
• Smith and Sohi, “The Microarchitecture of Superscalar
Processors,” Proceedings of the IEEE, 1995
• Patt & Patel‘s Introduction to Computing Systems: From Bits
and Gates to C and Beyond (计算机系统概论)
• 附录C :LC-3b ISA及微体系结构
4
1 2
3 4
![](https://csdnimg.cn/release/download_crawler_static/86297810/bg2.jpg)
2
回顾: “处理指令”的步骤
• ISA 抽象地说明给定一条指令和A,A’应该是什么
• 定义一个抽象的有限态机
• 状态 = 程序员可见的状态
• 次态逻辑 = 指令执行的规范
• 从 ISA 的视角, 指令执行的过程中A和A’之间没有 “中间状
态”
• 每条指令对应一个状态转换
• 微体系结构实现 A 向 A’的转换
• 有很多种实现方式的选择
• 我们可以加入程序员不可见的状态来优化指令执行的速度:
每条指令有多个状态转换
• 选择 1: A A’ (在一个时钟周期内完成 A 到 A’ 的转换)
• 选择 2: A A+MS1 A+MS2 A+MS3 A’ (使用多个时钟周期完成
A 到 A’ 的转换)
5
回顾:多周期微体系结构
• 目标: 使每一条指令的执行只(大致)花费它该花费
的时间
• 思路
• 时钟周期的决定独立于指令处理时间
• 每条指令需要花费多少时钟周期
• 一条指令执行过程中会有多次状态转换
• 每条指令的状态变换是不同的
6
回顾:多周期微体系结构
AS = 指令执行之前程序员可见的体系结构状态
第1步: 在一个时钟周期内处理一部分指令
第2步: 在下一个时钟周期内处理一部分指令
…
AS’ =指令执行之后程序员可见的体系结构状态
7
回顾:多周期设计的好处
• 关键路径设计
• 可以独立地针对每条指令的最糟糕情况来优化关键路径
• 基本(典型)设计
• 可以通过优化执行“重要”指令(占用大量执行时间)所需
的状态数来达到需要的效果
• 平衡设计
• 不需要提供比实际需求更多的资源或能力
• 一条指令需要多次使用资源“X”并不意味着需要多个“X”
• 使硬件更高效: 一条指令可以多次
重用
硬件部件
8
5 6
7 8
![](https://csdnimg.cn/release/download_crawler_static/86297810/bg3.jpg)
3
回顾:性能分析
• 指令执行时间
• {CPI} x {clock cycle time}
• 程序执行时间
• 所有指令的[{CPI} x {clock cycle time}]之和
• {指令数} x {平均 CPI} x {clock cycle time}
• 单周期微体系结构的性能
• CPI = 1
• Clock cycle time 长
• 多周期微体系结构的性能
• CPI = 每条指令不同
• 平均 CPI 希望能很小
• Clock cycle time 短
9
有两个独立的自由度可以优化
回顾:CPI vs. 主频
• CPI vs. 时钟周期长度
• 互相矛盾
• 对一条指令来说,减少一个就会增加另一个
• 为什么?
• 多条指令并发处理可以使平均CPI被平摊/减小
• 同一个时钟周期被用来处理多条指令
• 例如: 流水线, 超标量等
10
多周期微体系结构
近距离观察
11
如何实现多周期?
• Maurice Wilkes, “The Best Way to Design an Automatic
Calculating Machine,” Manchester Univ. Computer
Inaugural Conf., 1951.
• 微码/微程序控制的概念
• 实现
• 可以按照描述状态之间序列的有限状态机来实现“指令处
理”的步骤,最终状态机回到“取指令”状态
• 状态由控制信号推定
• 下一个状态的控制信号由当前状态决定
12
9 10
11 12
![](https://csdnimg.cn/release/download_crawler_static/86297810/bg4.jpg)
4
指令执行周期
取指令
译码
计算地址
取操作数
执行
存结果
13
基本的多周期微体系结构
• 指令执行周期被划分为多个“状态”
• 指令执行周期的每个阶段可以拥有多个状态
• 多周期微体系结构通过状态到状态的序列处理指令
• 某个状态下机器的行为由该状态下的控制信号决定
• 整个处理器的行为可以被定义成一个有限状态机
• 在某个状态(时钟周期)中, 控制信号控制
• 数据通路如何处理数据
• 如何为下一个时钟周期生成控制信号
14
微程序控制相关术语
• 与当前状态相关的控制信号
• 微指令
• 从一个状态过渡到另一个状态的动作
• 决定下一个状态以及下一个状态的微指令
• 微序列(生成)
• 控制存储(器)为每一个可能的状态存储控制信号
• 为整个有限状态机存储微指令
• 微序列(控制)器决定下一个时钟周期(下一个状态)
将会用到的控制信号集合
15
在一个时钟周期里发生了什么?
• 对当前状态控制的控制信号(微指令)
• 在数据通路中推进
• 为下一个周期生成控制信号 (微指令)
• 数据通路和微序列器并发操作
• 问题: 为什么不在当前周期生成当前周期需要的控制
信号?
• 会使时钟周期延长
• 为什么?
16
13 14
15 16
![](https://csdnimg.cn/release/download_crawler_static/86297810/bg5.jpg)
5
简单的LC-3b控制和数据通路
17
什么决定了下一个周期的控制信号?
• 当前时钟周期发生了什么
• 流入“Control”框的9根线
• 被执行的指令
• 来自数据通路的IR[15:11]
• 不管分支条件是否满足,如果执行的指令是分支
• 来自数据通路的BEN(1 bit)
• 不管访存操作是否在本周期完成,只要有访存操作在
处理
• 来自存储器的R(1 bit)
18
LC-3b多周期处理的状态机
• LC-3b微架构的行为由以下因素决定
• 35个控制信号和7位由数据通路连入控制逻辑的信号
• 35个控制信号完整描述了控制结构的状态
• LC-3b的所有行为都可以描述为状态机——一个有向图
• 结点(关联到每个状态)
• 弧(代表一个状态到另一个状态的流)
19
LC-3b状态机
• Patt & Patel, 附录 C, 图 C.2
• 每个状态描述必须是唯一的
• 通过
状态变量
• LC-3b状态机有31个不同的状态
• 由6个状态变量编码
• 例如
• 状态18,19对应指令处理周期的开始
• 取指阶段: 状态18, 19 状态33 状态35
• 译码阶段: 状态32
20
17 18
19 20
剩余25页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![avatar](https://profile-avatar.csdnimg.cn/76d0927231f045b0bdf25b51448ee8c5_weixin_35757191.jpg!1)
王元祺
- 粉丝: 66
- 资源: 303
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0