【计算机基础】CPU的结构和功能

本文详细介绍了CPU的结构和功能,包括控制器、运算器以及CPU的结构框图。深入讲解了指令周期的各个阶段,如取指、分析、执行等,并探讨了如何通过指令流水线提高机器速度。此外,还阐述了中断系统的工作原理,包括中断请求、中断服务程序入口地址、中断处理流程和中断屏蔽技术。最后,讨论了控制单元的设计,包括组合逻辑设计和微程序设计,以及各自的特点和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总线
CPU的结构和功能
输入输出系统
指令系统
存储器

文章目录

CPU的结构

CPU的功能
控制器
  • 取指令 分析指令 执行指令
  • 控制程序输入输出
  • 总线管理
  • 处理异常和特殊请求
运算器

实现算数运算和逻辑运算

CPU的结构框图

在这里插入图片描述

寄存器

寄存器可以分为控制寄存器和状态寄存器

  • 控制寄存器,控制CPU操作,比如MAR,MDR这种用户不可见的,以及PC这种用户可见的
  • 状态寄存器,存放程序状态字等,比如PSW寄存器
CU

负责操作控制和时间控制

ALU

负责数据运算

中断系统

中断系统就是负责处理中断的

指令周期

什么是指令周期

从取出一条指令开始到指令执行结束的全部时间

完成一条指令需要需要很多操作,主要分为两大步:

  • 取指令和分析
  • 执行

在这里插入图片描述
不同的指令指令长度肯定不同,有的只有取指

在指令周期快结束的时候,还有个中断周期,检测是否有中断,有的话取执行中断服务程序,另外如果有间接地址,还有个间址周期

在这里插入图片描述
控制器在指令周期不同阶段当然也有不同的命令

指令周期的数据流
取指周期的数据流
  • PC 取那条指令
  • MAR 存储器所需要的地址
  • MDR 数据保存
  • CU 控制,发出内存读命令
  • IR 指令保存

在这里插入图片描述
注:第3步存储器知道了要读的地址,然后由CU发出读命令

间接周期的数据流

首先取出操作数地址,地址在存储器当中,假设取得这个地址的内存单元地址在MDR中,我们把MDR地址码部分送给MAR
在这里插入图片描述
经过这几步,MDR中真正保存了操作数的地址

执行周期的数据流

不同指令是不一样的

中断周期数据流
  • 保存断点,保存在某个内存单元中,这个地址由CU指派
  • 形成中断服务程序入口地址,也是由CU给出,也就是下面的步骤9

在这里插入图片描述

  • CU给出的是地址
  • MAR把地址传送给存储器
  • CU发出写命令
  • 保存断点,断点在PC里面,送给MDR,MDR保存到存储单元
  • 形成中断服务程序入口地址,这个由CU给出

指令流水

如何提高机器速度
  • 提高访存速度
  • 提高IO速度,比如DMA,IO处理机
  • 提高运算器速度
  • 提高整机处理能力
系统的并行性

并行主要分为粗粒度和细粒度

  • 粗粒度,比如两个程序,一般通过软件,比如OS
  • 细粒度,指令级的,多条指令同时处于被解释执行状态,通过硬件实现
指令流水原理

首先,我们在上一讲,已经被指令的执行分为很多阶段,比如取指令阶段,间指令阶段等

假设只有取指令和执行两个阶段

首先我们瞅瞅串行指令:
在这里插入图片描述
但是我们上一讲已经说了,取指令和执行部件一般不一样,所以有硬件空闲

所以我们这里有了二级流水方式:
在这里插入图片描述
当然,上面是一种理想形式下,但是并不是所有流水线都是理想流水线,并且指令之间也有相关性,比如

执行时间很长,取指令比较短,我们可以加个缓冲区,缓冲取指令取出来的指令
在这里插入图片描述
条件转移指令也有影响,万一有个JMP指令,必须上一个指令完成才知道,比如我们可以分支预测,这个这里不说了

指令的六级流水的例子:
在这里插入图片描述
FI 取指令
DI 指令译码
CO 形成操作数地址
FO 取操作数
EI 执行
WO 结果写回

影响指令流水线性能的因素
结构相关

不同的指令争用同一个功能部件

解决方式:

  • 冲突指令可以停顿一下
  • 指令存储器和数据存储器分开,也就是不同的cache分开
  • 指令预取,可以先取来
数据相关

不同的指令可能会改变操作数读写顺序,结果读或者写不正确的数据

解决方式:

  • 后推法,推后读或写,后面的等待,但是这样效率降低了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值