热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

计算机组成原理——CPU功能结构指令周期数据通路控制器流水线

笔记整理来源于王道考研视频CPU的功能和结构CPU的功能指令控制操作控制时间控制数据加工中断处理运算器的基本结构算术逻辑单元:主要功能是进行算术逻辑运算通用寄存器

笔记整理来源于王道考研视频



CPU的功能和结构


CPU的功能


  1. 指令控制
  2. 操作控制
  3. 时间控制
  4. 数据加工
  5. 中断处理

在这里插入图片描述



在这里插入图片描述




运算器的基本结构


  • 算术逻辑单元:主要功能是进行算术/逻辑运算
  • 通用寄存器组:如AX,BX,CX,DX,SP(堆栈指针)等,用于存放操作数和各种地址信息


  • 专用数据通路

在这里插入图片描述


  • 总线方式

在这里插入图片描述




控制器的基本结构


  1. 取指令:有一个寄存器专用于存放当前指令的地址
  2. 分析指令:有存放当前指令的寄存器和对指令操作码进行译码的部件
  3. 执行指令:有一个能发出各种操作命令序列的控制部件CU
  4. 完成算术运算和逻辑运算:有存放操作数的寄存器和实现算逻运算部件ALU
  5. 处理异常情况和特殊请求:有中断系统

在这里插入图片描述



整个CPU的结构

在这里插入图片描述




CPU的寄存器


  1. 用户可见寄存器(可编程)

    • 通用寄存器(存放操作数;满足作为某种寻址方式所需的寄存器)
    • 数据寄存器(存放操作数,位数满足多数数据类型的数据范围)
    • 地址寄存器(存放地址;也可用于特殊的寻址方式)
    • 条件码寄存器(条件码作为分支运算的依据)
  2. 控制和状态寄存器(不可编程)

    控制CPU的操作和运算,比如

    • MAR:存储器地址寄存器
    • MDR:存储器数据寄存器
    • PC:程序计数器
    • IR:指令寄存器



指令周期的数据流


指令周期


  • CPU从主存中每取出并执行一条指令所需的全部时间

指令周期 > 机器周期 > 时钟周期(节拍)

在这里插入图片描述


  • 每个指令周期内机器周期数可以不等,
  • 每个机器周期内的节拍数也可以不等

在这里插入图片描述




流程

在这里插入图片描述

取址周期


  1. PC中存放现行指令的地址,该地址送到MAR并送至地址总线
  2. 然后由控制部件CU向存储器发送读命令,使对应MAR所指单元的内容经数据总线送至MDR,再送至IR
  3. 并且CU控制PC内容加1,形成下一条指令的地址

在这里插入图片描述

间址周期


  1. 一旦取指周期结束,CU便检查IR中的内容,以确定是否有间址操作
  2. 如果需要间址操作,则MDR中指示的形式地址的右N位(记做Ad(MDR))将被送到MAR,又送至地址总线
  3. 此后向存储器发送读命令,以获取有效地址存至MDR

在这里插入图片描述

执行周期

不同的指令在执行周期的操作不同,因此执行周期的数据流是多种多样的

中断周期

PC当前的内容必须保存起来,以待执行完中断服务程序后可以准确返回到该程序的间断处

在这里插入图片描述


指令执行方案

在这里插入图片描述




数据通路


数据通路:数据在功能部件之间传送的路径



CPU内部单总线方式


  • 内部总线是指同一部件,如CPU内部连接各寄存器及运算部件之间的总线
  • 系统总线是指同一台计算机系统的各部件,如CPU,内存。通道和各类I/O接口互相连接的总线

在这里插入图片描述

例题

在这里插入图片描述



在这里插入图片描述



在这里插入图片描述




专用数据通路方式

在这里插入图片描述

例题

在这里插入图片描述



(PC)-->MAR

M(MAR)-->MDR

(MDR)-->IR



在这里插入图片描述



在这里插入图片描述



在这里插入图片描述



在这里插入图片描述




控制器的功能和工作原理

取指令,分析指令,执行指令

在这里插入图片描述



控制单元的输入输出

在这里插入图片描述




硬布线


工作原理:微操作控制信号由组合逻辑电路根据当前的指令码,状态和时序,即时产生


在这里插入图片描述

设计步骤

选择CPU的控制方式

在这里插入图片描述




CPU的控制方式

  1. 同步控制
    • 整个系统所有的控制信号均来自一个统一的时钟信号
    • 优点是控制电路简单,缺点是运行速度慢
  2. 异步控制
    • 不存在基准时标信号
    • 各部件按自身固有的速度工作,通过应答方式进行联络
    • 优点是运行速度快,缺点是控制电路比较复杂
  3. 联合控制
    • 大部分采用同步控制,小部分采用异步控制

假设采用同步控制方式,一个机器周期内安排3个节拍(时钟周期)



安排微操作时序


安排微操作时序的原则

  1. 微操作的先后顺序不得随意更改
  2. 被控制对象不同的微操作尽量安排在一个节拍内完成
  3. 占用时间较短的微操作尽量安排在一个节拍内完成,并允许有先后顺序

取指周期

在这里插入图片描述

间址周期

在这里插入图片描述



执行周期

在这里插入图片描述



中断周期

在这里插入图片描述



电路设计


微程序


工作原理:事先把微操作控制信号存储在一个专门的存储器中,将每一条机器指令编写成一个微程序,这些微程序可以存到一个控制存储器中,用寻址用户程序机器指令的办法来寻址每个微程序中的微指令


在这里插入图片描述



基本结构

在这里插入图片描述

考点

如果是公共的微程序,则总的微程序个数要加上设为公共微程序的个数

在这里插入图片描述



微程序的格式

在这里插入图片描述



微指令的编码方式


  1. 直接编码方式

    在这里插入图片描述

  2. 字段直接编码方式

    在这里插入图片描述

    真题

    在这里插入图片描述

  3. 字段间接编码

    在这里插入图片描述



微指令的地址形成方式

在这里插入图片描述

断定方式(重点)

在这里插入图片描述



微程序控制的基本概念


微命令是微操作的控制信号

微操作是微命令的执行过程



微指令是若干微命令的集合

微周期通常指从控制存储器读取一条微指令并执行相应的微操作所需的时间



主存储器用于存放程序和数据,在CPU外部,用RAM实现

控制存储器(CM)用于存放微程序,在CPU内部,用ROM实现



程序是指令的有序集合,用于完成特定的功能

微程序是微指令的有序集合,一条指令的功能由一段微程序来实现


在这里插入图片描述




硬布线和微程序的比较


微程序控制器硬布线控制器
工作原理微操作控制信号以微程序的形式存放在控制存储器中,执行指令时读出即可微操作控制信号由组合逻辑电路根据当前的指令码,状态和时序,即时产生
执行速度
规整性较规整烦琐,不规整
应用场合CISCRISC
易扩充性易扩充修改困难

指令流水线

在这里插入图片描述

流水线的表示方法

在这里插入图片描述

流水线的性能指标


  1. 吞吐率

    吞吐率是指在单位时间内流水线所完成的任务数量

    在这里插入图片描述

  2. 加速比

    不使用流水线所用时间与使用流水线所用时间之比

    在这里插入图片描述

  3. 效率

    设备的利用率

    在这里插入图片描述




流水线的影响因素


为方便流水线的设计,将每个阶段的耗时取成一样,以最长耗时为准,为此流水线每一个功能部件后面都要有一个缓冲期寄存器,其作用是保存本流水段的执行结果提供给下一阶段使用


影响因素


  1. 结构相关

    由于多条指令在同一时刻争用同一资源而形成的冲突成为结构相关

    在这里插入图片描述

  2. 数据相关

    在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况

    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述

  3. 控制相关

    当流水线遇到转移指令和其他改变PC值的指令而造成断流时,会引起控制相关

    在这里插入图片描述




流水线的分类

在这里插入图片描述

在这里插入图片描述




流水线的多发技术

超标量技术

在这里插入图片描述

超流水技术

在这里插入图片描述

超长指令字

在这里插入图片描述




推荐阅读
  • 本文介绍了如何在Python中使用插值方法将不同分辨率的数据统一到相同的分辨率。 ... [详细]
  • NX二次开发:UFUN点收集器UF_UI_select_point_collection详解
    本文介绍了如何在NX中使用UFUN库进行点收集器的二次开发,包括必要的头文件包含、初始化和选择点集合的具体实现。 ... [详细]
  • 选择PS3的硬盘容量时,应考虑个人需求和预算。虽然PS3的内存固定为512MB,但硬盘容量可以选择。如果你经常下载游戏或存储大量媒体文件,建议选择较大容量的硬盘。一般情况下,320GB或500GB的硬盘已经足够满足大部分用户的需求。 ... [详细]
  • EST:西湖大学鞠峰组污水厂病原菌与土著反硝化细菌是多重抗生素耐药基因的活跃表达者...
    点击蓝字关注我们编译:祝新宇校稿:鞠峰、袁凌论文ID原名:PathogenicandIndigenousDenitrifyingBacte ... [详细]
  • SQL 连接详解与应用
    本文详细介绍了 SQL 连接的概念、分类及实际应用,包括内连接、外连接、自连接等,并提供了丰富的示例代码。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • 本文介绍如何通过 Python 的 `unittest` 和 `functools` 模块封装一个依赖方法,用于管理测试用例之间的依赖关系。该方法能够确保在某个测试用例失败时,依赖于它的其他测试用例将被跳过。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • 最详尽的4K技术科普
    什么是4K?4K是一个分辨率的范畴,即40962160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如 ... [详细]
  • 在将Web服务器和MySQL服务器分离的情况下,是否需要在Web服务器上安装MySQL?如果安装了MySQL,如何解决PHP连接MySQL服务器时出现的连接失败问题? ... [详细]
  • 题目描述:牛客网新员工Fish每天早上都会拿着一本英文杂志,在本子上写下一些句子。他的同事Cat对这些句子非常感兴趣,但发现这些句子的单词顺序被反转了。例如,“student. a am I”实际上是“I am a student.”。Cat请求你帮助他恢复这些句子的正常顺序。 ... [详细]
author-avatar
中域信和通信技术_229
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有