CPU结构和功能

文章目录

  • CPU结构和功能
    • CPU结构
      • 1. CPU的功能
        • 控制器的功能
        • 运算器的功能
      • 2. CPU的结构框图
      • 3. CPU的寄存器
        • (1) 用户可见寄存器
        • (2) 控制和状态寄存器
      • 4. 控制单元CU和中断系统
    • 指令周期
      • 1. 指令周期的基本概念
        • (1) 指令周期
        • (2) 每条指令的指令周期不同
        • (3) 具有间接寻址的指令周期
        • (4) 带有中断周期的指令周期
        • (5)指令周期流程
        • (6) CPU 工作周期的标志
          • CPU访存有四种性质
      • 2. 指令周期的数据流
        • (1) 取指周期的数据流
        • (2) 间址周期的数据流
        • (3) 执行周期的数据流
        • (4) 中断周期的数据流
    • 指令流水
        • (1) 如何提高机器速度
        • (2)系统并行性
      • 1. 指令流水原理
        • (1) 指令的串行执行
        • (2) 指令的二级流水
        • (3) 影响指令流水效率加倍的因素
        • (4) 指令的六级流水
      • 2. 影响流水线性能的因素
        • (1) 结构相关
        • (2) 数据相关
          • **解决办法**
        • (3) 控制相关
      • 3. 流水线性能
        • (1) 吞吐率
        • (2) 加速比
        • (3) 效率
      • 4. 流水线中的多发技术(了解特点和区分)
        • (1) 超标量技术
        • (2) 超流水线技术
        • (3) 超长指令字技术
      • 5. 流水线结构
        • (1) 指令流水线结构
        • (2) 运算流水线
    • 中断系统
      • 1. 概述
        • (1) 引起中断的各种因素
        • (2) 中断系统需解决的问题
      • 2. 中断请求标记和中断判优逻辑
        • (1) 中断请求标记 **INTR**
        • (2) 中断判优逻辑
      • 3. 中断服务程序入口地址的寻找
        • (1) 硬件向量法
        • (2) 软件查询法
      • 4. 中断响应
      • 5. 保护现场和恢复现场
      • 6. 中断屏蔽
        • (1) 多重中断的概念
        • (2) 实现多重中断的条件
        • (3) 屏蔽技术
        • (4) 多重中断断点保护
    • 第8章复习提纲
      • 1.熟知CPU的功能和组成。
      • 2.掌握CPU工作周期和指令周期的概念。
      • 3.掌握指令流水的概念、指令流水原理以及影响流水性能的因素。
      • 4.熟练计算吞吐率、加速比和效率等流水线性能。
      • 5.熟知流水线中的多发技术;
      • 6.理解中断的概念、中断系统需要解决的问题以及实施方案。
      • 7.掌握设置中断判优逻辑、CPU响应中断的条件和时间、保护现场、中断服务程序入口地址的寻找等问题的实施方案。
      • 8.理解中断屏蔽技术,并能熟练设计中断源的屏蔽字和CPU执行程序的轨迹。
    • 课后习题

CPU结构

1. CPU的功能

控制器的功能

  1. 取指令
  2. 分析指令
  3. 执行指令,发出各种操作命令
  4. 控制程序输入及结果的输出
  5. 总线管理
  6. 处理异常情况和特殊请求

运算器的功能

实现算术运算和逻辑运算

2. CPU的结构框图

3. CPU的寄存器

(1) 用户可见寄存器

(2) 控制和状态寄存器

  1. 控制寄存器

    PC→MAR→M→MDR→IRPC \to MAR \to M \to MDR \to IRPC→MAR→M→MDR→IR

    控制CPU操作

    其中MAR, MDR, IR 用户不可见

    PC 用户可见

  2. 状态寄存器

    状态寄存器 存放条件码

    PSW 寄存器 存放状态字

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

  1. CU 产生全部指令的微操作命令序列

    • 组合逻辑设计 硬连接逻辑
    • 微程序设计 存储逻辑
  2. 中断系统

指令周期

1. 指令周期的基本概念

(1) 指令周期

取出并执行一条执行指令的所需的全部时间

完成一条指令

  • 取指, 分析 取指周期
  • 执行 执行周期

(2) 每条指令的指令周期不同

(3) 具有间接寻址的指令周期

寻找有效地址的

(4) 带有中断周期的指令周期

查询是否有中断,

(5)指令周期流程

(6) CPU 工作周期的标志

CPU访存有四种性质
  • 指令 取指周期
  • 地址 间址周期
  • 操作数 执行周期
  • 程序断点 中断周期

2. 指令周期的数据流

(1) 取指周期的数据流

(2) 间址周期的数据流

(3) 执行周期的数据流

不同指令的执行周期数据流不同

(4) 中断周期的数据流

指令流水

(1) 如何提高机器速度

  1. 提高访存速度

    高速芯片 Cache 多体并行

  2. 提高I/O和主机之间的传送速度

    中断 DMA 通道 I/O处理机

  3. 提高运算器速度

    高速芯片 改进算法 快速进位链

  4. 提高整机处理能力

    高速器件 改进系统结构, 开发系统的并行性

(2)系统并行性

  1. 并行的概念

    • 并发: 两个或两个以上事件在同一时间段发生
    • 同时: 两个或两个以上事件在同一时刻发生
  2. 并行性的等级
    • 过程级(程序, 进程) 粗粒度 软件实现
    • 指令级 细粒度 硬件实现
      • 指令之间
      • 指令内部

1. 指令流水原理

(1) 指令的串行执行

取指令 取指令部件 完成, 总有一个部件空闲

执行指令 执行指令部件 完成

(2) 指令的二级流水

指令预取

指令执行阶段时间上完全重叠

指令周期减半, 速度提高1倍.

(3) 影响指令流水效率加倍的因素

(4) 指令的六级流水

完成一条指令分为6个时间单位

如果需要执行9条指令, 串行执行需要6×9=54个时间单位; 六级流水需要14个时间单位.

2. 影响流水线性能的因素

(1) 结构相关

不同指令争用同一功能部件产生资源冲突

  1. 停顿

  1. 指令存储器和数据存储器分开

  2. 指令预取技术(适用于访存周期短的情况)

(2) 数据相关

不同指令因重叠操作, 可能改变操作数的 读/写 访问顺序

  1. 写后读相关(RAW)

    先写后读变成了先读后写

  2. 读后写相关(WAR)

    先读后写变成了先写后读

  3. 写后写相关(WAW)

    前后两条写法指令顺序被调换了

解决办法
  • 后推法
  • 采用旁路技术

(3) 控制相关

由转移指令引起

3. 流水线性能

(1) 吞吐率

单位时间内, 流水线所完成指令或输出结果的数量

设 m 段的流水线隔断时间为Δt

  • 最大吞吐率

    最大吞吐率是指流水线在连续流动达到稳定状态后所得的吞吐率.

    Tpmax=1ΔtT_{pmax}=\frac{1}{\Delta t}Tpmax​=Δt1​

  • 实际吞吐率

    连续处理 n 条指令的吞吐率为

    Tp=nmΔt+(n−1)Δt=1Δt[1+(m−1)/n]=Tpmax1+(m−1)/nT_p=\frac{n}{m\Delta t +(n-1)\Delta t}=\frac{1}{\Delta t[1+(m-1)/n]}=\frac{T_{pmax}}{1+(m-1)/n}Tp​=mΔt+(n−1)Δtn​=Δt[1+(m−1)/n]1​=1+(m−1)/nTpmax​​

(2) 加速比

m段的流水线的速度与等功能的非流水的速度之比.

设 m 段的流水线隔断时间为Δt

完成 n 条指令在 m 段流水线上共需:

​ T=mΔt+(n−1)ΔtT=m\Delta t +(n-1)\Delta tT=mΔt+(n−1)Δt

完成 n 条指令在等效的非流水线上共需

​ T′=nmΔtT^{'}={nm}{\Delta t}T′=nmΔt

则 Sp=nmΔtmΔt+(n−1)Δt=nmm+n−1S_p=\frac{nm\Delta t}{m\Delta t +(n-1)\Delta t}=\frac{nm}{m+n-1}Sp​=mΔt+(n−1)ΔtnmΔt​=m+n−1nm​

(3) 效率

流水线中各功能段的流动率

效率=nm+n−1效率=\frac{n}{m+n-1}效率=m+n−1n​

4. 流水线中的多发技术(了解特点和区分)

(1) 超标量技术

  • 每个时钟周期内可并发多条独立指令

    配置多个功能部件

  • 不能调整指令的执行顺序

(2) 超流水线技术

  • 在一个时钟周期内再分段

    在一个时钟周期内一个功能部件使用多次

  • 不能调整指令的执行顺序

(3) 超长指令字技术

  • 有编译程序挖掘出指令间的潜在的并行性, 将多条并行操作的指令组合成一条

    具有多个操作码字段超长指令字

5. 流水线结构

(1) 指令流水线结构

完成一条指令分为7段, 每段需一个时钟周期

(2) 运算流水线

完成浮点加减运算 可分

对阶, 尾数求和, 规格化 三段

分段原则: 每段操作时间尽量一致

中断系统

1. 概述

(1) 引起中断的各种因素

  1. 人为设置的中断, 如 转管指令
  2. 程序性事故, 溢出、 操作码不能识别、除法非法
  3. 硬件故障
  4. I/O设备
  5. 外部事件 用键盘中断现行程序

(2) 中断系统需解决的问题

2. 中断请求标记和中断判优逻辑

(1) 中断请求标记 INTR

一个请求源对应一个INTR中断请求标记触发器

多个INTR组成中断请求标记寄存器

INTR 分散在各个中断源的接口电路中

INTR 集中在CPU的中断系统内

(2) 中断判优逻辑

  1. 硬件实现(排队器)

    • 分散在各个中断源的接口电路中 链式排队器
    • 集中在CPU内
  2. 软件实现(程序查询)

3. 中断服务程序入口地址的寻找

(1) 硬件向量法

硬件产生向量地址,再由向量地址找到中断服务程序的入口地址。

两种方法:

  • 向量地址
  • 入口地址

(2) 软件查询法

用软件寻找中断服务程序入口地址的方法。

4. 中断响应

  1. 中断响应的条件

    允许中断触发器 EINT=1

  2. 响应中断的时间

    指令执行周期结束时刻由CPU发查询信号

  3. 中断隐指令

    1. 保护程序断点

      断点存于特定地址(0号地址)内 断点进栈

    2. 寻找服务程序入口地址

      向量地址→PC(硬件向量法)

      中断识别程序 入口地址 M→PC(软件查询法)

    3. 硬件关中断

      INT 中断标记

      EINT允许中断

      R-S触发器

5. 保护现场和恢复现场

  1. 保护现场

    • 断点 中断隐指令完成
    • 寄存器内容 中断服务程序完成
  2. 恢复现场 中断服务程序完成

6. 中断屏蔽

(1) 多重中断的概念

(2) 实现多重中断的条件

  1. 提前设置开中断指令
  2. 优先级别高的中断源有权中断优先级别低的中断源

(3) 屏蔽技术

  1. 屏蔽触发器的作用

  2. 屏蔽字

    1越多,优先级越高,可以屏蔽低级中断,可以中断低级。

  3. 屏蔽技术可改变处理优先等级

    响应优先级 不可改变

    处理优先级 可改变(通过重新设置屏蔽字)

  4. 屏蔽技术的其他作用

    • 可以 人为地屏蔽 某个中断源的请求
    • 便于程序控制
  5. 新屏蔽字的设置

(4) 多重中断断点保护

  1. 断点进栈 中断隐指令完成

  2. 断点存入“0”地址 中断隐指令完成

    中断周期 0→MAR

    ​ 命令存储器写

    ​ PC→MDR 断点→MDR

    ​ (MDR) →存入存储器

    三次中断,三个中断都存入0地址

第8章复习提纲

1.熟知CPU的功能和组成。

2.掌握CPU工作周期和指令周期的概念。

3.掌握指令流水的概念、指令流水原理以及影响流水性能的因素。

4.熟练计算吞吐率、加速比和效率等流水线性能。

5.熟知流水线中的多发技术;

6.理解中断的概念、中断系统需要解决的问题以及实施方案。

7.掌握设置中断判优逻辑、CPU响应中断的条件和时间、保护现场、中断服务程序入口地址的寻找等问题的实施方案。

8.理解中断屏蔽技术,并能熟练设计中断源的屏蔽字和CPU执行程序的轨迹。

课后习题

  1. CPU有哪些功能?画出其结构框图并简要说明每个部件的作用。

    答:CPU具有控制程序的顺序执行、产生完成每条指令所需的控制命令、对各种操作实施时间上的控制、对数据进行算术和逻辑运算以及处理中断等功能,其框图如图8.1(P338)所示。图中寄存器包括专用寄存器(如程序计数器、指令寄存器、堆栈指示器、存储器地址寄存器、存储器数据寄存器、状态寄存器等)以及通用寄存器(存放操作数);CU产生各种微操作命令序列;ALU完成算术和逻辑运算;中断系统用于处理各种中断。

  2. 什么是指令周期?指令周期是否有一个固定值?为什么?

    答:指令周期是指CPU每取出并执行一条指令所需的全部时间,也即CPU完成一条指令的时间。由于各种指令操作功能不同,因此各种指令的指令周期是不同的,指令周期的长短主要和指令在执行阶段的访存次数和执行阶段所需要完成的操作有关。

  3. 画出指令周期的流程图,分别说明图中每个子周期的作用。

    答:图8.8(P343)所示是指令周期的流程图,取指周期完成取指令和分析指令的操作;间址周期用于取操作数的有效地址;执行周期完成执行指令的操作;中断周期是当CPU响应中断时,由中断隐指令完成保护程序断点、硬件关中断和向量地址送PC(硬件向量法)的操作。

  4. 什么是指令流水?画出指令二级流水和四级流水的示意图,它们中哪一个更能提高处理器速度,为什么?

    答:指令流水就是改变各条指令按顺序串行执行的规则,使机器在执行上一条指令的同时,取出下一条指令。指令二级流水和四级流水示意图如下:

  5. 举例说明流水线中的几种数据相关。

    解:(1)写后读相关;(2)读后写相关;(3)写后写相关。

  6. 什么是中断?设计中断系统需考虑哪些主要问题?

    答:CPU在程序运行过程中,遇到异常情况或特殊请求,需暂停现行程序,转至对这些异常情况或特殊请求的处理,处理完后再返回到原程序断点处继续执行,这一过程即为中断。

    设计中断系统需考虑如下几个问题:①中断源如何向CPU提出请求?②当多个中断源同时提出请求时,CPU如何确定响应的优先次序?③CPU在什么情况(时间、条件)下响应中断?④如何保护现场?⑤如何寻找中断服务程序的入口地址?⑥如何恢复现场?⑦当出现中断嵌套时如何处理?

  7. 什么是中断隐指令,有哪些功能?

    解:中断隐指令:CPU响应中断之后,经过某些操作,转去执行中断服务程序。这些操作是由硬件直接实现的。

    功能:⑴保存断点;⑵暂不允许中断;⑶引出中断服务程序。

计算机组成原理复习提纲六(CPU结构和功能)相关推荐

  1. 苏州科技学院计算机组成原理考试,苏州科技学院计算机组成原理复习提纲.doc...

    苏州科技学院计算机组成原理复习提纲 知识点: 基本电路功能 与.或.非 异或 与非 或非 例如:"与非"门中的某一个输入值为"0",那么它的输出值? 第一章 计 ...

  2. 华南理工2018计算机组成原理 平时作业,华南理工大学 计算机组成原理复习提纲.doc...

    华南理工大学 计算机组成原理复习提纲 第一章 计算机系统概论 计算机系统的基本组成.硬件系统的概念 计算机系统的层次结构 冯·诺依曼计算机的特点 计算机硬件的主要性能指标 2% 第三章 系统总线 总线 ...

  3. 华南理工大学计算机原理作业,华南理工大学计算机组成原理复习提纲

    华南理工大学计算机组成原理复习提纲 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 第一章 计算机系统概论Ø 计算机系统的基本组成. ...

  4. 计算机组成原理的复习提纲,计算机组成原理复习提纲.doc

    计算机组成原理复习提纲.doc (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机组成原理>复习提纲第1章1.冯.诺 ...

  5. 天津理工大学计算机组成原理复习提纲总结

    第一章 计算机系统概论 了解:计算机软硬件概念: 了解:计算机系统的层次结构: 理解:计算机的基本组成:冯·诺依曼计算机的特点: 理解:计算机的硬件框图及工作过程: 理解:计算机硬件的主要技术指标. ...

  6. 计算机组成原理中wr是什么,计算机组成原理复习例题.doc

    计算机组成原理复习例题.doc 计算机组成原理例题1计算机组成原理例题安康学院成典勤第三章系统总线例1.假设总线的时钟频率为33MHZ,且一个总线时针周期为一个总线传输周期.若在一个总线传输周期可并行 ...

  7. 计算机组成C和MDR是什么意思,计算机组成原理复习要点及答案

    <计算机组成原理复习要点及答案>由会员分享,可在线阅读,更多相关<计算机组成原理复习要点及答案(17页珍藏版)>请在人人文库网上搜索. 1.计算机组成原理课程复习要点1. 总线 ...

  8. 计算机组成原理——复习笔记

    计算机组成原理---复习笔记 第一章 系统结构中的8个伟大思想 面向摩尔定律的设计 使用抽象简化设计 加速大概率事件 通过并行提高性能 通过流水线提高性能 通过预测提高性能 存储器层次 通过冗余提高可 ...

  9. 计算机组成原理第二版复习大纲,计算机组成原理复习大纲

    计算机组原理的重点 主要用来考前补急用 计算机组成原理复习大纲 第一章计算机系统概论(10) 1.计算机的性能指标 吞吐量:表征一台计算机在某一时间间隔内能处理的信息量. 响应时间:表片从输入有效到系 ...

最新文章

  1. c# equals与==的区别
  2. STL Priority_Queue
  3. python 搜索二维矩阵
  4. 函数的参数-在函数内部针对参数赋值不会影响外部实参
  5. jquery validate常用方法及注意问题
  6. 使用WireMock进行更好的集成测试
  7. 窗口尺寸,文档高,元素宽高的获取方式
  8. php 远程连接 sqlserver,Linux下PHP远程连接SqlServer数据库
  9. python基础学习(八)元组
  10. 用Scholar one 投稿过程
  11. atitit.流程标准化--- mysql启动不起来的排查流程attilax总结
  12. CS229 Lecture 1
  13. 线性四叉树十进制Morton码计算示例
  14. 微信小程序生成分享海报
  15. java字节码查看器_jclasslib 64位
  16. 地址总线/数据总线/控制总线的作用
  17. oracle修改主机名造成启动错误
  18. oracle10g--使用expdp导出数据和impdp导入数据
  19. 中国工商银行客服经理校招面试
  20. 猿如意|初识CSDN的开发者工具合集

热门文章

  1. 参考爆料英特尔i5-10400f和i5-10400区别?哪个好?深度爆料评测
  2. 命令行发送邮件并修改发送人,避免自动邮件归置到垃圾邮件
  3. 【Hgame2022】第一周misc和web题解
  4. element-plus popover的z-index问题
  5. MySQL忘记root密码解决方案
  6. js和jQury实现Aajx
  7. 承诺通过年薪百万的CISSP信息系统安全专家认证,未通过提供第二次认证费749美元
  8. MySQL之连接原理
  9. 浅谈Object.assign
  10. 成功通过PMP考试---我的经验