当前位置: 首页 > news >正文

考研408《计算机组成原理》复习笔记,第五章(1)——CPU功能和结构

一、这一整章的整体知识框架

二、CPU功能概述

1、宏观大概理解

2、CPU具体功能

注:【程序控制】也可以叫【指令控制】

再细分看【运算器】和【控制器】的功能

三、CPU组成部分

【考点】

先看一下他要考什么重点

【CPU宏观】组成

宏观上就是:

  • 运算器】+【控制器

还可以分成下面这样

也可以将CPU分为数据通路】+【控制部件2大组成部分

数据通路】就是具体传送数据、运算数据的部分

  • 【数据通路】包括【组合逻辑元件】
    • 特性是【蠢!没有记忆!】(例如ALU算术逻辑单元,得靠暂存寄存器帮他存数据,不然都不知道自己要谁跟谁进行计算)
    • 代表(要背!):算术逻辑单元ALU、指令译码器ID、多路选择器MUX、三态门......
  • 【数据通路】还包括【时序逻辑元件】
    • 特性是【有记忆!能存东西!】、【包含存储信号!
    • 代表(要背!):PC、MDR、MAR、IR......
  • 具体的物理连接方式也得了解一下                        
    • 专用数据通路方式】:相当于各个寄存器输入输出直接连【ALU】为了避免直连的方式导致传输数据冲突,可以加入【多路选择器MUX】【三态门】2种方式,来控制信号一个一个区分开传输给ALU
    • 内部单总线】:相当于各个寄存器输入输出直接连同一条【公共总线】上,由【公共总线】再连ALU同样为了避免直连的方式导致传输数据冲突,可以加入【暂存寄存器】来帮ALU暂时记忆数据(这正是前面说的ALU属于组合逻辑单元,老失忆)

而【控制部件】根据【微操作控制信号】不同,还分为:

  • 【硬布线控制器】(后期重点,以后再学)
  • 【微程序控制器】(后期重点,以后再学)

【CPU微观组成】(要背)

背!文科背诵!!

【控制器】和【运算器】的组成部件给老子记住

【应试考试加急背诵】

  • 急着背,你就不需要了解这些是啥了,直接按我下面方法记住就行
    • 运算器组成部件快速记忆(只含重点部件,省略少考部件)
    • 控制器组成部件快速记忆(只含重点部件)

【了解透这些部件式记忆】

【运算器部件】

  • 【ALU算术逻辑单元】是运算器的【核心】!!!
    • 负责算术/逻辑运算
  • 【GPRs通用寄存器】
    • 存操作数、中间结果
    • 就是我们前面学的【AX】、【BX】、【CX】、【DX】、【SP】(指令那一章讲过的,汇编指令全名是EAX、EBX....ESP这些,忘了自己回去看)
    • 【ACC累加器】就是一个很重要的通用寄存器
      • 用于存暂存ALU计算结果,适用于【加法运算】
  • 【暂存寄存器】
    • 为了帮【组合逻辑原件】尤其ALU这种傻逼暂存数据的
    • 还可以改造成【移位寄存器】或【累加寄存器】,当然它两可以单独用专门的寄存器来实现(比如ACC就不是
    • 注意:它的数据绝不能随便存到【通用寄存器】,否则会破坏【通用寄存器】的内容
  • 【PSW程序状态寄存器】:也叫【标志寄存器】
    • 用于把ALU进行的算术逻辑运算、测试结果所产生的【各种状态】,如:OF、SF、ZF、CF记录下来,这些标记位参与并决定【微操作运算】(后面学)
  • 【移位寄存器】:对于运算结果进行移位运算
    • 加减乘除基本都是靠加法器加法实现,而加法器每次算完一位不都得移位吗
  • 【计数器CT】:加减乘除计算的步数统计

【控制器部件】

  • 【PC程序计数器】:存放下一条预执行指令,有自增功能
  • 【IR指令寄存器】:存放当前要执行的指令
  • 【ID指令译码器】:仅对指令的【操作码】进行“翻译”
  • 【微操作信号发生器】:根据【IR】翻译的指令内容、【PSW】的状态信息以及【时序信号】,向整个计算机发出所有需要的控制信号
    • 有【组合逻辑性】结构(后面会学)
    • 和【存储逻辑性】结构(后面会学)
  • 【时序系统】:产生各种【时序信号】,由统一时钟CLOCK分频而得
  • 【MAR】:不用多说了吧,存CPU要访问的主存单元地址
  • 【MDR】:不用多说了吧,存CPU要写入主存的数据、从主存读出的数据

【用户可见部分】和【用户不可见部分】

高效记忆:

  • 【用户可见】:“通PP”(通用寄存器、PC、PSW)
  • 【用户不可见】:“I暂MM”(IR、暂存寄存器、MAR、MDR)

四、总结

五、例题

http://www.dtcms.com/a/331741.html

相关文章:

  • C#WPF实战出真汁01--搭建项目三层架构
  • 解决 pip 安装包时出现的 ReadTimeoutError 方法 1: 临时使用镜像源(单次安装)
  • LeetCode 1780:判断一个数字是否可以表示成3的幂的和-进制转换解法
  • 基于 LDA 模型的安徽地震舆情数据分析
  • 相机Camera日志实例分析之十四:相机Camx【照片后置炫彩拍照】单帧流程日志详解
  • python——mock接口开发
  • CSS中的 :root 伪类
  • GitHub 仓库代码上传指南
  • svg 转 emf
  • MySQL 事务隔离级别深度解析:从问题实例到场景选择
  • Java 中实体类、VO 与 DTO 的深度解析:定义、异同及实践案例
  • 20道JavaScript进阶相关前端面试题及答案
  • 报数游戏(我将每文更新tips)
  • emqx tar包安装
  • DAY 22|算法篇——贪心四
  • 调整磁盘分区格式为GPT
  • 数据结构:优先队列 (Priority Queue)
  • 解剖HashMap的put <五> JDK1.8
  • 微信公众号推送文字消息与模板消息
  • 字节跳动 VeOmni 框架开源:统一多模态训练效率飞跃!
  • JAVA 抽象类可以实例化吗
  • 机器学习概述(一)
  • Spring Cloud系列—Alibaba Sentinel熔断降级
  • 第一章 随机事件与概率
  • 前端性能优化移动端网页滚动卡顿与掉帧问题实战
  • 前端开发常见问题及解决方案全解析
  • 解剖HashMap的put流程 <一> (JDK 1.8)
  • 22.Linux samba服务
  • USB 3.0 link command 定义
  • 知识的本质