计算机组成原理——中央处理器-CPU功能和基本结构(课程笔记)

说明

  1. 博客作为笔记备份,不定时更新
  2. 参考内容为《计算机组成原理(第3版)》唐朔飞 高等教育出版社;王道考研《计算机组成原理考研复习指导2023》
  3. 文中的例题摘自王道考研《计算机组成原理考研复习指导2023》,大多是我个人认为较为典型的题目以及错题的部分整理

CPU功能和基本结构

1. CPU功能

1.1 概述

  • CPU 由运算器和控制器组成。运算器负责协调并控制计算机各部件执行程序的指令序列,包括取指、分析指令、执行指令;运算器对数据进行加工

1.2 CPU的具体功能

  • 指令控制:完成取指令、分析指令、执行指令的操作,即程序的顺序执行
  • 操作控制:一条指令的功能往往由若干操作信号的组合来实现。CPU管理产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令要求进行动作
  • 时间控制:对各种操作加以时间上的控制。时间控制要求为每条指令按时间顺序提供应有的控制信号
  • 数据加工:对数据进行算术和逻辑运算
  • 中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理

2. CPU基本结构

2.1 CPU结构框图


在这里插入图片描述

2.2 运算器

  • 功能:接收从控制器送来的命令并执行相应的动作,对数据进行加工和处理,是计算机对数据进行加工处理的中心
  • 基本组成
    • 算术逻辑单元ALU:主要功能是进行算术/逻辑运算
    • 暂存寄存器:用于暂存从主存读来的数据,该数据不能存放在通用寄存器中,否则会破坏其原有内容。暂存寄存器对应用程序员透明
    • 累加寄存器ACC:是一个通用寄存器,用于暂存ALU运算的结果信息,可以作为加法运算的一个输入端
    • 通用寄存器组:例如AX、BX、CX、DX、SP等,用于存放操作数(包括源操作数、目的操作数和中间结果)和各种地址信息。SP是堆栈指针
    • 程序状态字寄存器PSW:保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息,例如OF、SF、ZF、CF等。PSW中的这些位参与并决定微操作的形成
    • 移位器:对操作数或运算结果进行移位运算
    • 计数器:控制乘除运算的操作步数

2.3 控制器

  • 功能:控制器的基本功能是取指、分析执行、执行指令,每条指令的执行是由控制器发出的一组微操作实现的。控制器是整个系统的指挥中枢
  • 两种类型的控制器:硬布线控制器微程序控制器
  • 基本组成
    • 程序计数器PC:指出下一条指令在主存中的存放地址,CPU根据PC中的内容去主存中取指令。因程序中的指令通常是顺序执行的,因此PC有自增功能
    • 指令寄存器IR:保存当前正在执行的指令
    • 指令译码器:仅对操作码字段进行译码,向控制器提供特定的操作信号
    • 存储器地址寄存器MAR:存放要访问的主存单元的地址
    • 存储器数据寄存器MDR:存放向主存写入的信息或从主存中读出的信息
    • 时序系统:产生各种时序信号,它们都由统一时钟(CLOCK)分频得到
    • 微操作信号发生器:根据IR、PSW的内容以及时序信号,产生控制整个计算机系统所需的各种控制信号,其结构有组合逻辑型存储逻辑型两种
  • 工作原理:根据指令操作码、指令的执行步骤(微命令序列)和条件信号形成当前计算机各部件要用到的控制信号,计算机各硬件系统在这些控制信号的控制下协同运行,产生预期的结果

2.4 CPU的寄存器

  • CPU的寄存器大致可分为两类:用户可见寄存器;控制和状态寄存器
  • 用户可见寄存器
    • 通用寄存器:可用于存放操作数,也可作为满足某种寻址方式所需的寄存器
    • 数据寄存器:存放操作数,位数应该满足多数数据类型的数值范围,有些机器允许使用两个连续的寄存器存放双倍字长的值。还有些机器的数据寄存器只能用于保存数据,不能用于操作数地址的计算
    • 地址寄存器:存放地址,其本身可以具有通用性,也可用于特殊的寻址方式(例如段指针、栈指针等)
    • 条件码寄存器:存放条件码,它们对用户来说是部分透明的
  • 控制和状态寄存器(在一些机器里,大部分这类寄存器对用户是透明的)
    • MAR:存储器地址寄存器,存放将被访问的存储单元的地址
    • MDR:存储器数据寄存器,存放欲存入存储器的数据或最近从存储器读出的数据
    • PC:程序计数器
    • IR:指令寄存器
    • MAR、MDR、PC、IR、CPU和主存可以交换信息

3. 例题

关于“n位CPU”

  1. P 201 6 P_{201}6 P2016)在所谓的n位CPU中,n指的是()
    A. 地址总线线数 B. 数据总线线数 C. 控制总线线数 D. I/O线数
    解答:数据总线的位数与处理器位数相同,它表示CPU一次能处理的数据的位数,即CPU的位数
    错误原因:错选A

各种寄存器的位数

  1. P 202 11 P_{202}11 P20211)程序计数器的位数取决于()
    A. 存储器的容量 B. 机器字长 C. 指令字长 D. 都不对
    解答程序计数器中存放的是指令在主存中的地址,所以PC的位数与存储器地址的位数相等,而存储器地址取决于存储器的容量。选A
  2. P 202 12 P_{202}12 P20212)指令寄存器的位数取决于()
    A. 存储器的容量 B. 机器字长 C. 指令字长 D. 存储字长
    解答:指令将寄存器存放当前正在执行的指令,所以其位数取决于指令字长。选C
  3. P 202 13 P_{202}13 P20213)CPU中通用寄存器的位数取决于()
    A. 存储器的容量 B. 指令的长度 C. 机器字长 D. 都不对
    解答:通用寄存器用于存放操作数和各种地址信息等,其位数与机器字长相等,因此便于操作控制。选C
    说明:1~3题,通过各个寄存器中存放的内容来推断该寄存器的位数
  4. 2016 2016 2016)某计算机的主存空间为4GB,字长为32位,按字节编址,采用32位字长指令字格式,若指令按字边界对齐存放,则程序计数器(PC)和指令寄存器(IR)的位数至少分别是()
    A. 30、30 B. 30、32 C. 32、30 D. 32、32
    解答:(1)首先IR中存放的是指令,其位数就是指令字长,即32位。(2)PC中存放的是指令的地址,因此要找到“定位存储器中每条指令所需的位数”。题中说“指令是按字边界对齐存放”,而该计算机的字长是32位,因此定位到一条指令至少需要 4 G B 32 b i t = 2 30 \cfrac{4GB}{32bit}=2^{30} 32bit4GB=230,即30位
    在这里插入图片描述

更新文档

更新日期更新内容
2022/7/20增加了例题
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值