《计算机组成原理》知识点---第12章 CPU结构和功能

目录

 

12.1 CPU组成

12.2 寄存器组成

12.2.1 用户可见寄存器

12.2.2 控制和状态寄存器

12.3 指令周期

12.3.1 间接周期

12.3.2 数据流

12.3.2.1 数据流与取指周期

12.3.2.2 数据流与间接周期

12.3.2.3 数据流与中断周期

12.4 指令流水线技术

12.4.1 流水线策略

12.4.2 流水线性能

12.4.3 流水线冒险

12.4.3.1 资源冒险(resource hazard)

12.4.3.2 数据冒险(data hazard)

12.4.3.3 控制冒险(control hazard)

12.4.4 处理分支指令


12.1 CPU组成

CPU需完成的任务:

  • 取指令:CPU必须从存储器(寄存器、cache、主存)读取指令。
  • 解释指令:必须对指令进行译码,以确定所要求的动作。
  • 取数据:指令的执行可能要求对数据完成某些算术或逻辑运算。
  • 处理数据:指令的执行可能要求对数据完成某些算术或逻辑运算。
  • 写数据:执行的结果可能要求写数据到存储器或I/O模块。

12.2 寄存器组成

CPU中的寄存器可分为两类:用户可见寄存器(user-visible register)和控制和状态寄存器(control and status register)。

12.2.1 用户可见寄存器

用户可见寄存器可分为:通用、数据、地址、条件码。

  • 通用寄存器(general-purpose register):可被程序员指派各种用途。任何通用寄存器能为任何操作码容纳操作数。在某些情况下,通用寄存器可用作寻址功能。
  • 数据寄存器(data register):仅可用于保持数据而不能用于操作数地址的计算。
  • 地址寄存器(address register):可以是自身某些通用性,或是专用于某种具体的寻址方式。例如:段指针(segment pointer)、变址寄存器(index register)、栈指针(stack pointer)。
  • 标志寄存器(flag register)

12.2.2 控制和状态寄存器

1. 对于指令执行,有4种寄存器是至关重要的:程序计数器(PC)、指令寄存器(IR)、存储器地址寄存器(MAR)、存储器缓冲寄存器(MBR)。

  • 程序计数器(PC):存有待取指令的地址。通常,在每次取指令之后,PC的内容即被CPU更改,故它总是指向将被执行的下一条指令。
  • 指令寄存器(IR):存有最近取来的指令。在IR分析操作码和操作数指定符。
  • 存储器地址寄存器(MAR):存有存储器位置的地址。
  • 存储器缓冲寄存器(MBR):存有将被写入存储器的数据字或最近从存储器读出的字。

▲① 与存储器的数据交换使用MAR和MBR。在总线组织的系统中,MAR直接与地址总线相连,MBR直接与数据总线相连,然后用户可见寄存器再与MBR交换数据。

② ALU可对MBR和用户可见寄存器直接存取。

2. 很多CPU设计都包括常称为程序状态字(program status word,PSW)的一个或一组寄存器。通常PSW包括下列字段或标志:

  • 符号(sign):容纳最后算数运算结果的符号位。
  • 零(zero):当结果是0时被置位。
  • 进位(carry):若操作导致最高位有向上的进位(加法)或借位(减法)时被置位。用于多字算术运算。
  • 等于(equal):若逻辑比较的结果相等,则置位。
  • 溢出(overflow):用于指示算术溢出。
  • 中断允许/禁止用于允许或禁止中断。
  • 监管(supervisor):指出CPU是执行在监管模式中还是在用户模式中。某些特权的指令只能在监管模式中执行,某些存储区域也只能在监管模式中被访问。

12.3 指令周期

指令周期包括如下子周期:

  • 取指(fe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃不起饭的小陈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值