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

    在这里插入图片描述




流水线的分类

在这里插入图片描述

在这里插入图片描述




流水线的多发技术

超标量技术

在这里插入图片描述

超流水技术

在这里插入图片描述

超长指令字

在这里插入图片描述




推荐阅读
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 开发笔记:9.八大排序
    开发笔记:9.八大排序 ... [详细]
  • 本文详细介绍了Python中列表的创建、访问、修改、排序及遍历等基本操作,帮助初学者快速掌握列表这一重要数据结构。 ... [详细]
  • 解析SQL查询结果的排序问题及其解决方案
    本文探讨了为什么某些SQL查询返回的数据集未能按预期顺序排列,并提供了详细的解决方案,帮助开发者理解并解决这一常见问题。 ... [详细]
  • 哈密顿回路问题旨在寻找一个简单回路,该回路包含图中的每个顶点。本文将介绍如何判断给定的路径是否构成哈密顿回路。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 基于结构相似性的HOPC算法:多模态遥感影像配准方法及Matlab实现
    本文介绍了一种基于结构相似性的多模态遥感影像配准方法——HOPC算法,该算法通过相位一致性模型构建几何结构特征描述符,能够有效应对多模态影像间的非线性辐射差异。文章详细阐述了HOPC算法的原理、实验结果及其在多种遥感影像中的应用,并提供了相应的Matlab代码。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本文详细探讨了如何通过分析单个或多个线程在瓶颈情况下的表现,来了解处理器资源的消耗。无论是单进程还是多进程环境,监控关键指标如线程数量、占用时间及调度优先级等,有助于揭示潜在的性能问题。 ... [详细]
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社区 版权所有