8.1 CPU的结构和功能
中央处理器(CPU)是控制计算机
来自动完成取出指令和执行指令任务的
部件。它是计算机的核心部件,通常简
称为CPU。
1. CPU的功能
从对指令执行的角度来阐述,CPU的功能有:
- 取指令
- 分析指令
- 执行指令
- 控制程序输入及结果的输出
- 总线管理
- 处理异常情况和特殊请求
- 数据加工
前6条是控制器的功能,最后一条是运算器的功能
若从控制器的控制角度来阐述,CPU的功能有:
- 指令控制
- 操作控制
- 时间控制
- 中断处理
运算器的功能:
数据加工
2. CPU结构框图
功能 | 结构 |
---|---|
指令控制 | (PC IR) 寄存器 |
操作控制、时间控制 | (CU 时序电路) CU |
数据加工 | ALU |
中断处理 | 中断系统 |
3. CPU的寄存器
用户可见寄存器:
- 通用寄存器
- 数据寄存器
- 地址寄存器
- 条件码寄存器
控制和状态寄存器:
- MAR: 存储器地址寄存器
- MDR: 存储器数据寄存器
- PC: 程序计数器
- IR: 指令寄存器
4. 控制单元和中断系统
控制单元(CU)提供全部指令的微操作命令序列,中断系统用于处理计算机的各种中断。
现代计算机中微操作命令序列的形成方法:
- 组合逻辑设计方法 (硬连线逻辑)
- 微程序设计方法 (存储逻辑)
8.2 指令周期
取出并执行一条指令所需的全部时间称为指令周期,不同指令的指令周期不同
8.3 指令流水
为了提高处理机的速度,我们可以提高器件的性能,也可以改进系统结构 ,开发系统的并行性。
所谓并行,包含同时性和并发性两个方面。同时性指两个或多个事件在同一时刻发生,并发性指两个或多个事件在同一时间段发生。
指令的流水作业就是并行性中的一项重要技术。
1. 指令流水原理
指令的串行执行:
指令的二级流水:
指令的六级流水:
完成m段流水,n条指令所需要的时间:[m+(n-1)]▲t
eg:六级流水 九条指令需要时间 6+(9-1)=6+8=14 (如上图)
2. 影响流水线性能的因素
要使流水线具有良好的性能,必须设法使流水线能畅通流动,即必须做到充分流水,不发生断流。但通常在流水过程中会出现三种相关,使流水线不断流实现起来很困难,这三种相关是结构相关、数据相关和控制相关。
结构相关是不同指令争用同一功能部件产生资源冲突,故又称为资源相关。
解决办法:
- 暂停
- 指令存储器和数据存储器分开设置
- 采用指令预取技术 (适用于访存周期短的情况)
数据相关是不同指令因重叠操作,可能改变操作数的 读/写 访问顺序,从而导致了数据相关冲突。
解决办法:
- 后推法
- 采用旁路技术(又称定向技术或相关专用通路技术)
控制相关主要是由转移指令引起的。
3. 流水线性能
一、吞吐率 T
吞吐率是指单位时间内流水线所完成指或输出结果的数量
吞吐率又有最大吞吐率和实际吞吐率之分,实际吞吐率总是小于最大吞吐率
最大吞吐率:
实际吞吐率:
二、加速比 Sp
流水线的加速比是指 m 段流水线的速度与等功能的非流水线的速度之比
三、效率
效率是指流水线中各功能段的利用率
公式表示为:
4. 流水线中的多发技术
-
超标量技术:
指每个时钟周期内可同时并发多条独立指令。要求配置多个功能部件 -
超流水线技术:
将流水线寄存器插入到流水线段中,好比将流水线再分段 -
超长指令字技术:
将多条能并行操作的指令组合成一条具有多个操作码字段的超长指令字
8.4 中断系统
本节仅介绍中断屏蔽技术,其他关于中断的内容可查看第五章程序中断部分
文章连接:组原学习笔记四:输入输出系统
https://blog.csdn.net/weixin_43376075/article/details/105568474
中断屏蔽技术主要用于多重中断。
实现多重中断的条件:
- 提前设置“开中断”指令
- 优先级别高的中断源有权中断优先级别低的中断源
屏蔽字: 将所有屏蔽触发器组合在一起构成一个屏蔽寄存器,屏蔽寄存器的内容称为屏蔽字。屏蔽字与中断源的优先级别是一一对应的。
屏蔽技术可以改变优先等级。优先级包含响应优先级和处理优先级,响应优先级是指CPU响应各中断源请求的优先次序,这种次序往往是硬件线路已设置好的,不便于改动。处理优先级是指CPU实际对各中断源请求的处理优先次序,可通过重新设置屏蔽字来改变。如果不采用屏蔽技术,响应的优先次序就是处理的优先次序。
上图:
响应优先级 A→B→C→D 降序排列
处理优先级 A→D→C→B 降序排列
CPU 执行程序轨迹(原屏蔽字):
CPU 执行程序轨迹(新屏蔽字):
(完)