中央处理器

CPU

功能

  • 指令控制:取指、分析、执行
  • 操作控制:一条指令的功能由若干操作信号组合实现
  • 时间控制
  • 数据加工
  • 中断处理

基本结构

运算器

ALU:算术/逻辑运算
暂存寄存器:暂存从主存读来的数据,透明
ACC:通用寄存器,暂存ALU的结果
X:存放操作数和各种地址信息,如堆栈指针SP指示栈顶地址
PSW:OF、SF、CF、ZF
移位器
计数器:控制乘除运算的操作步数

控制器

CU的输入信号来源:
指令操作码、时序、状态条件
在这里插入图片描述

标志:来自执行单元的反馈信息

CU的时序控制:同步控制、异步控制、联合控制、人工控制
同步控制:定长的机器周期、不定长的机器周期、中央控制和局部控制相结合

PC:指出下一条指令在主存中的存放地址
IR:存放当前正在执行的指令
指令译码器:对操作码字段译码,向控制器提供特定的操作信号
MAR
MDR
时序系统
微操作信号发生器:产生控制整个计算机系统所需的各种控制信号

透明的寄存器:MAR、MDR、PC、IR
不透明的寄存器:通用寄存器、数据寄存器、地址寄存器、条件码寄存器

指令执行过程

  • CPU读取PC存储的指令内存地址,CPU的控制单元操作地址总线访问指令内存地址,通知内存准备数据并通过数据总线传给CPU,CPU将指令数据存到指令寄存器
  • CPU分析指令寄存器的指令,确定类型和参数,若是计算类型指令则交给ALU,若是存储类型指令则交给控制单元
  • CPU执行指令后PC自增

指令周期

指令周期 > 机器周期 > 时钟周期

  • 指令周期:CPU从主存取出并执行一条指令的时间
  • 机器周期:所有指令执行过程的一个基准时间,通常以存取周期作为机器周期
  • 时钟周期:CPU操作的最基本单位、控制计算机操作的最小时间单位,也称为节拍、T周期;时钟频率的倒数

机器周期、节拍组成多级时序系统

在这里插入图片描述
上述4个周期都有CPU访存操作:
取指周期FE:取指令

  • PC->MAR,1->R
  • M(MAR)->MDR
  • MDR->IR
  • OP(IR)->CU
  • (PC)+1->PC
    在这里插入图片描述
    间址周期IND:取有效地址
  • Ad(IR)->MAR,1->R
  • M(MAR)->MDR
  • MDR->Ad(IR)
    在这里插入图片描述

执行周期EX:(访存指令)取操作数
____没有统一的数据流

中断周期INT:保存程序断点

  • SP-1->SP
  • SP->MAR
  • PC->MDR
  • MDR->M(MAR),向量地址->PC
  • 0->EINT

在这里插入图片描述
存数指令 STA

  • Ad(IR)->MAR,1->W
  • AC->MDR
  • MDR->M(MAR)

间接寻址的存数指令“STA @ X”

  • X(MDR)->MAR
  • M(MAR)→MDR
  • MDR→MAR
  • AC→Bus→MDR
  • MDR→M(MAR)

指令执行方案

单指令周期:所有指令选用相同的执行时间,串行执行
多指令周期:串行执行
流水线:并行执行

指令流水线

提高处理机的并行性

流水线技术:时间上,将一个任务分解成几个子阶段,在不同的功能部件执行
超标量处理机:空间上,一个处理机内设置多个执行相同任务的功能部件并行工作

冒险及解决

结构冒险(资源冲突):多条指令在同一时刻争用同一硬件资源
数据冒险(数据冲突):下一条指令会用到当前指令计算出的结果
写后读、读后写、写后写
控制冒险(控制冲突):遇到改变指令执行顺序的情况,会改变PC值,造成断流

解决方式:

  • 推迟指令
  • 旁路技术(直接将执行结果送到其他指令所需要的地方)

高级流水线技术

超标量流水线技术(动态多发射技术):每个时钟周期内可并发执行多条独立指令,以并行操作方式将两条或多条指令编译并执行。超标量的指令来自同一标准的指令流
超流水线技术:将一些流水线寄存器插入到流水线段中,好比将流水线再分道,提高了原来流水线的速度,在一个时钟周期内一个功能部件被使用多次
超长指令字技术(静态多发射技术):由编译程序挖掘指令间潜在的并行性,组合成一条具有多个操作码字段的超长指令字

在这里插入图片描述

流水线结构

指令流水线、运算流水线

异常和中断

定义

异常:CPU内部产生的意外事件,内中断,与正在执行的指令相关的同步事件
中断:CPU外部的设备向CPU发出的中断请求,外中断,与正在执行的指令无关的异步事件

分类

异常的分类:(按照发生原因和返回方式)

  • 故障:引起故障的指令执行后、执行结束前被检测到的异常,如缺段缺页、非法操作码、除数为0
  • 自陷(Trap):预先安排的断点
  • 终止:随机发生的使计算机无法继续执行的硬件故障

引起中断的因素

人为设置的中断、程序性事故、硬件故障、I/O设备、外部事件

区别

  • 缺页、溢出等异常事件由特定指令在执行过程产生,中断不和任何指令关联,不阻止任何指令完成
  • 异常的检测由CPU自身完成,不必通过外部的某个信号通知CPU;CPU必须通过中断请求线获取中断源的信息,才能知道哪个设备发生了哪种中断

屏蔽技术

案例:01234->14203
在这里插入图片描述

屏蔽字填写原则:

  • 对角线全是1,关于对角线对称的一对是0与1
  • 每行的1的个数递减,为54321
  • 最强的该列全0(自己除外),最弱的该列全1

微程序设计

将一条机器指令编写为一个微程序,每个微程序包含若干微指令,每个微指令对应若干微操作命令

微程序控制单元的核心是控制存储器,存放全部微程序
微指令的基本格式:操作控制(发出控制信号)+顺序控制(指出下地址)
微程序可看作是解释机器指令,毫微程序可看作是解释微程序,毫微指令是解释微指令

原理

取值阶段:

  • PC->MAR,1->R
  • Ad(CMDR)->CMAR
  • M(MAR)->MDR
  • Ad(CMDR)->CMAR
  • MDR->IR
  • OP(IR)->微地址形成部件->CMAR

执行阶段:

  • OP(IR)->微指令形成部件->CMAR
  • CM(CMAR)->CMDR
  • Ad(IR)->MAR,1->R
  • Ad(CMDR)->CMAR

添加的微操作:
在这里插入图片描述

编码方式

  • 直接编码
  • 字段直接编码(显式编码)
  • 字段间接编码(隐式编码)
  • 混合编码

在这里插入图片描述

格式

水平型微指令:一次能定义并执行多个并行操作的微指令,有很强的并行操作能力
包括操作控制字段、判别测试字段、下地址字段
垂直型微指令:设置微操作码字段,由操作码规定微指令的功能,有严格的顺序结构

比较:

  • 水平型并行操作能力强、效率高、灵活
  • 执行一条机器指令所需微指令少、速度快
  • 用较短的微程序结构换取较长的

若下地址字段为8位,微指令字长28位,则控制存储器的容量为256 X 28位

数据通路

数据通路:实现CPU内部的运算器与寄存器、寄存器与寄存器的数据交换
数据通路中各个部件之间的数据传输需要通过总线完成

多处理器的基本概念

SISD、SIMD、MIMD

单指令流单数据流(SISD)结构:
传统的串行结构,一个处理器和一个存储器
单指令流多数据流(SIMD)结构:
数据级并行,一个指令控制部件和多个处理单元
多指令流多数据流(MIMD)结构

硬件多线程

细粒度多线程:多个线程轮流交叉执行指令,多个线程直接的指令不相关,可以乱序并行执行。处理器可以在每个时钟周期切换线程
粗粒度多线程:仅在一个线程出现较大开销的阻塞时,才切换线程。流水线阻塞时,清除阻塞的流水线,新线程的指令开始执行前需重载流水线
同时多线程SMT:指令级并行的同时实现线程级并行,超线程
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

B.D.S.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值