计算机组成原理 CPU 结构和功能

一、 CPU 功能

  • 控制器部分的功能
  • 运算器部分的功能

1.运算器功能

算术运算、逻辑运算

2.控制器功能

  • 指令控制:取指令、顺序执行
  • 操作控制:分析指令、执行指令
  • 时间控制:控制程序输入输出
  • 中断处理:总线管理、处理异常
  • 数据加工

二、结构

PC 完成指令控制

CU 完成操作控制、时间控制

ALU 完成数据加工

中断系统完成中断处理

1. CPU的寄存器

(1)用户可见寄存器

  • 通用寄存器:存放操作数,也可作为满足某种寻址方式所需的寄存器。
  • 数据寄存器:存放操作数,允许用两个连续寄存器存放双倍字长的值。
  • 地址寄存器:存放地址
  • 条件代码寄存器:存放条件码(对用户部分透明),做程序分支的依据。

(2)控制和状态寄存器

  • 控制寄存器:MAR、MDR、PC(用户可见)、IR
  • 状态寄存器:PSW

2.控制单元 CU 和中断系统

(1)CU

功能:提供完成机器全部指令操作的s微操作命令序列(产生并保证时间先后)

实现方法:组合逻辑设计法(硬件实现)、微程序设计方法(软件实现)

(2)中断系统

三、指令周期

CPU 每取出并执行一条指令所需全部时间叫指令周期。

指令操作功能不同,指令周期也不相同。

1.指令周期

基本形式:

无条件转移指令:

加法指令:

乘法指令:

间接寻址的指令:

带有中断的指令:

2.CPU 访存的不同性质

CPU 访存的性质 对应指令周期
取指令 取指周期
取地址 间址周期
存取操作数或结果 执行周期
保存程序断点 中断周期

四、指令流水

为提高系统处理能力,改进系统结构,开发系统并行性。

并行性等级:

  • 粗粒度并行性:作业级、程序级、进程级(软件实现)
  • 细粒度并行性:指令之间或指令内部(硬件实现)

1.指令流水原理

(1)指令串行执行

由于取指令部件和执行机构不同,因此 CPU 执行过程中,总有一个处于空闲状态。

(2)二级流水

由于指令取指时间远小于执行时间,且遇到条件转移指令时,下一条指令未知,因此降低了二级流水潜在效率。

(3)多级流水

将指令周期细分,实现多级流水,如 6 级流水

将一个指令周期分为 6 个阶段。

2.流水线性能

(1)吞吐率

(2)加速比

(3)效率

3.影响性能的因素

(1)访存冲突

不同指令争夺同一功能部件

解决方法:

  • 设置两个独立寄存器分别存放操作数和指令
  • 采用指令预取技术(适用于访存周期很短的情况)
  • 停顿

(2)相关问题

  • 控制相关:由转移指令引起
  • 数据相关:不同指令因重叠操作,可能改变其读写顺序

4.流水线多发技术

(1)超标量技术

在每个时钟周期内,同时并发执行多条独立指令。

(2)超流水线技术

一个时钟周期内再分段

(3)超长指令字技术

挖掘指令间潜在并行性,将多条指令组合为一条具有多个操作码字段的超长指令。

五、中断系统

1.引起中断的因素

  • 人为设置的中断
  • 程序性事故
  • 硬件故障
  • I/O 中断请求
  • 外部事件(如,用户通过键盘中断进程)

2.中断请求标记(INTR)、判优逻辑

3.中断隐指令

功能

  • 保护程序断点
  • 寻找服务程序入口地址
  • 硬件关中断

4.保护现场、恢复现场

(1)保护现场

  • 保护断点:中断隐指令完成
  • 保护寄存器内容:中断服务程序完成

(2)恢复现场:中断服务程序完成

本文中图片均为刘宏伟教授在中国大学MOOC上的课件截图

发布了23 篇原创文章 · 获赞 11 · 访问量 8239

猜你喜欢

转载自blog.csdn.net/weixin_42107217/article/details/104077387