仅仅是笔记记录,B站视频链接,若有错误,请指出,这一章我学的不是很清楚。可能是需要做题吧
CPU的功能和结构
用户可见的寄存器:暂存寄存器,PSW,ACC寄存器组,PC;不可见的MAR,MDR,ID
结构
- 运算器
- 控制器
控制器的组成
运算器的组成
- 算术逻辑单元(ALU):进行算数/逻辑运算
- 通用寄存器组:就比如AX、BX、SP等,用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。
总线的特点:结构简单,容易实现,但是传输过程中会有冲突,性能较低
运算器的基本结构
基本功能
- 取指令:自动形成指令地址;自动发出取指令的命令
- 分析指令:操作码译码(分析本条指令完成什么操作)产生操作数的有效地址
- 执行指令:通过分析指令得出的结果来产生一系列的控制信号对运算器、存储器以及I/O设备完成相应的操作
- 中断处理:管理总线及输入输出,处理突发情况(比如意外停电)和特殊情况(打印机请求打印一行字符)
指令执行过程
指令周期
指令周期
CPU从主存中取出一条指令并执行一条指令所需的全部时间
指令周期由若干机器周期表示,机器周期又叫CPU周期
指令周期流程
数据流
取指周期
间址周期
中断周期
执行方案
数据通路的功能和基本结构
数据通路-CPU内部单总线方式
例题:
专用数据通路方式-取指周期
例题:
(2) 加括号指的是里面的内容,不加就是地址
(PC)->MAR
M(MAR)->MDR
(MDR)->IR
(3)存: (ACC)->MDR, (MDR)->M(MAR)
取: 设地址已经存放在MAR中, M(MAR)->MDR
(MDR)->ALU->ACC
(4) 题目后半部分是 X为主存地址,LDA的功能为(X) ->ACC
X->MAR
M(MAR)->MDR
MDR->ALU->ACC
(5)题目后半部分是:Y为主存地址,ADD的功能为(ACC)+(Y)->ACC
Y->MAR
M(MAR)->MDR
(ACC)->ALU
(MDR)->ALU
ALU->ACC
(6)Z 为主存地址,STA的功能为(ACC)->Z
Z->MAR
(ACC)->MDR
(MDR)->M(MAR)
控制器的功能和工作原理
控制器的结构和功能
主要功能:
1.取指令,指出下一条指令在主存的地址
2. 对指令进行分析,产生相应的操作控制信号,为了启动规定的动作
3. 指挥并控制CPU,主存,输入和输出设备之间的数据流动方向
CPU的控制方式
CPU的控制方式:产生不同微操作命令序列所用的时序控制方式
- 同步控制方式:控制信号来自一个统一的时钟信号, 优点:控制电路简单,缺点就是运行速度慢(有的运行快,有的运行慢,但是要统一,那只能让运行快的等运行慢的了)
- 异步控制方式:结合同步来说,异步就是没有一个统一的时钟信号。各个部件按照自身的速度来工作。缺点就是控制电路比较复杂,优点就是比同步快
- 联合控制方式:前两者的结合体,大部分采用同步控制,小部分采用异步控制的办法
控制单元的输入和输出
硬布线设计
- 硬布线控制器
设计步骤:
- 分析每个阶段的微操作序列
- 选择CPU的控制方式
- 安排微操作时序
- 电路设计
小Tips
机器周期可以看作所有指令执行过程中的一个基准时间。通常以存取周期作为基准时间,即机器周期。在存储字长等于指令字长的前提下,取指周期也可以看作机器周期
以下内容了解下
安排微操作时序-取指周期
安排微操作时序-间址周期
(1) Ad(IR)->MAR
(2)1->R(给存储器发出读信号,R是Read的缩写)
(3)M(MAR)->MDR (将地址为MAR中的内容传递到MDR中)
(4)MDR->Ad(IR)
安排微操作时序-执行周期
安排微操作时序-中断周期
注意:上述操作由中断隐指令完成,但是中断隐指令不是一条指令,是一条指令的中断周期由硬件完成的一系列操作
中断周期的三个任务:
- 保存断点
- 形成中断服务程序的入口地址
- 关中断
组合逻辑设计
设计步骤
- 列出操作时间表
- 写出微操作命令的最简表达式
- 画出逻辑图
画图
小总结
设计步骤
- 分析每个阶段的微操作序列
- 选择CPU的控制方式
- 安排微操作时序
- 电路设计
列出操作时间表
写出微操作命令的最简表达式
画出逻辑图
微程序设计
微程序的基本思想
#### 微程序控制器的基本结构
#### 控制存储器
取指周期微程序:默认是公共的,如果某指令系统中有n条机器指令,则CM中微程序的个数至少是n+1个
间址周期微程序与中断周期微程序 不一定是公共的。若是公共的,如果这太计算机i指令系统中有n条机器指令,则CM中微程序的个数是n+3个。
微指令的格式
- 水平型微指令:一次能定义并执行多个并行操作
优点 :微程序短,执行速度快
缺点:微指令长,编写微程序比较麻烦
- 垂直型微指令 类似机器操作码的方式,由微操作码字段规定微指令的功能
优点:微指令短、简单、规整、便于编写微程序
缺点:微程序长,执行速度慢,工作效率低
- 混合型微指令
在垂直型的基础上增加一些不太复杂的并行操作
微指令较短,便于编写,微程序也步长,执行速度加快
微指令的编码方式
编码方式
微指令的地址形成方式
断定方式
- 微指令的下地址字段指出,微指令格式中设置一个下地址字段,由微指令的下地址字段直接指出后继微指令的地址。
例题
某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包括2条微指令,各指令对应的微程序平均由4条微指令组成,采用断定法(下地址字段法)确定下条微指令地址,则微指令中下地址字段的位数至少是多少位?
总共需要32×4+2=130条微指令(每一条指令平均由4条微指令组成,所以要×4,+2是因为取指令微程序包括2条微指令。
表示130个不同的位置至少需要8个二进制位,所以微指令中下地址字段的位数至少是8位.
微程序控制的基本概念
微程序控制单元的设计
比较
指令流水线
定义
流水线的性能指标
- 吞吐率
- 加速比
- 效率
机器周期的设置
流水线每一个功能段部件后面都要有一个缓冲寄存器,用来保存本流水段的执行结果,提供给下一流水段使用。机器周期以最长耗时为准。
影响流水线的因素
-
结构相关(资源冲突)
-
数据相关(数据冲突)
用硬件阻塞来解决
用软件插入来解决,NOP是一个完整的指令,
数据旁听技术
编译优化:通过编译器调整指令顺序来解决数据相关
一些分类
-
控制相关(控制冲突)
-
第4个解决办法比较好。
流水线的分类
流水线地多发技术
- 超标量技术
- 超流水线技术
- 超长指令字