热门标签 | 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值的指令而造成断流时,会引起控制相关

    在这里插入图片描述




流水线的分类

在这里插入图片描述

在这里插入图片描述




流水线的多发技术

超标量技术

在这里插入图片描述

超流水技术

在这里插入图片描述

超长指令字

在这里插入图片描述




推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ... [详细]
  • 本文介绍了基于c语言的mcs51单片机定时器计数器的应用教程,包括定时器的设置和计数方法,以及中断函数的使用。同时介绍了定时器应用的举例,包括定时器中断函数的编写和频率值的计算方法。主函数中设置了T0模式和T1计数的初值,并开启了T0和T1的中断,最后启动了CPU中断。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文讨论了B360主板是否可以安装win7系统的问题。由于B360主板不支持win7系统且缺乏官方驱动的支持,安装win7系统可能存在兼容性和稳定性问题。然而,通过借助USB3.0转接卡,B360主板仍然可以安装win7系统,但USB接口无法使用。相比之下,B365主板可以直接支持win7系统,并提供了相应的驱动,具有更好的稳定性和兼容性。选择合适的主板对于安装win7系统至关重要。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Principle for Mac(交互式屏幕设计软件)免激活版
    Mac上好用的交互式屏幕设计软件,PrincipleforMac是一款交互式屏幕设计软件,principle mac让您的设计将以原则出现,随时为您注入新的活力。如果您进行更改,再 ... [详细]
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社区 版权所有