Download presentation
Presentation is loading. Please wait.
Published byTora Solberg Modified 5年之前
1
本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★)
流水线处理器
2
硬布线控制器(组合逻辑控制器) C1 Cn 微操作控制信号 B1 Bj 组合逻辑线路 结果反馈信息 I1 Im 指令 译码 器 M1 Mi
T1 Tk 指令寄存器 IR 节拍电位/脉冲发生器 启动/停止 时钟/复位
3
LDAR T1 RD T2 M1 LDDR T3 LDIR T4 M2 M3
启动 LDAR T1 PC→AR→RAM →DBUS→DR→IR PC+1 RD T2 M1 LDDR T3 取指令 LDIR T4 CLA ADD LDA JMP NOP M2 0→AC IR→AR IR→AR IR→PC PC→AR RD DBUS→DR DR→ALU ALU→AC RD AC→DR DR→DBUS M3 公操作
4
硬布线控制器基本原理 微操作控制信号的函数表达式: C=ƒ(Im·Mi·Tk·Bj) 例:读主存信号C3 ------ (RD)
或LDA ADD AND M3 C3=M1+M3(LDA+ADD+AND) C3=T2M1+T1M3(LDA+ADD+AND)
5
硬布线控制器基本原理 微操作控制信号的函数表达式:
6
设计过程 列出所有机器指令的流程图; 找出产生同一微操作控制信号的条件; 写出各微操作控制信号的布尔表达式; 化简各表达式;
利用电路门阵列实现。
7
硬布线控制器特点 组成的网络复杂; 无规则; 设计和调试困难; 不可改变指令系统和指令功能 适用于VLSI 速度快
8
本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★)
流水线处理器
9
微命令和微操作 控制部件与执行部件 二者通过控制线,反馈线联系 微命令 控制部件通过控制线向执行部件发出的 各种控制命令 微操作
执行部件接受微命令后进行的操作。
10
微命令与微操作… 打开或者关闭控制门的控制信号为微命令 微命令是控制信号最小,最基本的单位 微命令带来的执行部件的动作称为微操作
互斥性微命令 相容性微命令
11
微程序控制概念microprogramming control
一条指令的处理包含许多微操作序列 这些操作可以归结为信息传递、运算 将这些操作所需要的控制信号以多条微指令表示 执行一条微指令就给出一组微操作控制信号 执行一条指令也就是执行一段由多条微指令组成的微程序
12
微指令基本格式 L bus bus BUS BUS BUS DR (D) ↑ ↑ ↑ ↑ ↑ ↑ ↑ R LDLA L BUS ALU
LDR LDPC IR(A) WE DR BUS P 1 + 2 下 址 1 L L L BUS BUS ↑ ↑ ↑ ↑ ↑ R R LDLB bus bus LDR PC + 1 PC LDIR RD LDAR LDDR P 2 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 控制字段 顺序控制
13
微程序控制概念 将指令系统功能实现所需的控制信号以微指令为单位存储。微指令中的每一位对应一根控制信号线 每条指令对应一段微程序
微程序由若干条微指令构成 机器执行指令时逐条取出微指令执行,使得相应部件执行规定的操作,执行完微程序,也就给出了该指令所需要的全部控制信号,从而完成一条指令的执行。
14
微指令与微程序
15
运算器结构 数据总线DBUS 移位器 ALU PSW CLA ADD 30 STA 40 NOP JMP 21 … 000 004
20 21 22 23 24 30 40 操作数X 操作数Y 左路开关选择 右路开关选择 AX BX CX DX DR 数据总线DBUS
16
简单运算器数据通路图 ALU + Cy - M 操作数X 操作数Y 左路开关选择 5 7 9 4 DR 6 8 R1 R2 R3 1 2 3
17
微命令 1: LDR1 2: LDR2 3: LDR3 4: R1→X 5: R1→Y 6: R2→X 7: R2→Y 8: DR→X
ALU + 1: LDR1 2: LDR2 3: LDR3 4: R1→X 5: R1→Y 6: R2→X 7: R2→Y 8: DR→X 9: R3→Y Cy - M 操作数X 操作数Y 4 8 6 5 7 9 DR R1 R2 R3 1 2 3
18
微命令 10: + 11: - 12: M 13: RD 14: LDDR 15: LDIR 16: LDAR 17: PC+1 + - M
ALU + Cy - 10: + 11: - 12: M 13: RD 14: LDDR 15: LDIR 16: LDAR 17: PC+1 M 操作数X 操作数Y 4 8 6 9 7 5 DR R1 R2 R3 1 2 3
19
所有的微命令 1: LDR1 10: + 2: LDR2 11: - 3: LDR3 12: M 4: R1→X 13: RD
5: R1→Y 6: R2→X 7: R2→Y 8: DR→X 9: R3→Y 10: + 11: - 12: M 13: RD 14: LDDR 15: LDIR 16: LDAR 17: PC+1
20
微指令格式 LDR2 R1→X R2→X DR→X + - LDDR LDAR P1 P2 直接地址 LDR1 LDR3 R1→Y R2→Y R3→Y M RD LDIR PC+1 . 18 19 20 21 22 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 操作控制 顺序控制
21
微指令格式… 操作控制字段 顺序控制字段 包括判断逻辑字段和直接地址字段 直接地址字段存放下一条微指令的地址
操作控制字段直接给出多种微操作的控制信号 顺序控制字段 用于控制微程序的执行顺序 包括判断逻辑字段和直接地址字段 直接地址字段存放下一条微指令的地址 判断逻辑非零,则按约定好的规则,根据状态修正直接地址字段,从而得到下一条微指令的地址
22
微指令基本格式 L bus bus BUS BUS BUS DR (D) ↑ ↑ ↑ ↑ ↑ ↑ ↑ R LDLA L BUS ALU
LDR LDPC IR(A) WE DR BUS P 1 + 2 下 址 1 L L L BUS BUS ↑ ↑ ↑ ↑ ↑ R R LDLB bus bus LDR PC + 1 PC LDIR RD LDAR LDDR P 2 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 控制字段 顺序控制
23
微指令周期 控制字段 测试字段 下址字段 取微指令周期 取指令周期? 控制存储器与主存速度差异?
24
微程序控制器组成原理框图 状态条件 指令寄存器 IR OP 地址转移 逻辑 地址译码 微地址寄存器 控制存储器 微命令信号 P字段 控制字段
AR 地址译码 微地址寄存器 控制存储器 微命令信号 IR P字段 控制字段 微命令寄存器
25
取指令微程序 取指令 取指令的微指令(简称取指微指令)地址送μAR,并自动启动控制存储器进行读操作,将读出的微指令送IR,执行微指令,读取指令到IR
26
执行指令微程序 执行指令: 根据IR中指令的功能,产生该指令微程序入口地址,微程序入口地址送入AR,读CS,读出的微指令送IR、(下址字段送AR), 控制字段的微命令控制完成一组微操作 同时由微地址产生逻辑或微指令下址字段形成下条微指令地址,按取微指令,执行微指令过程重复执行完微程序实现指令的功能
27
执行指令微程序… 采用微程序控制的计算机的工作过程是执行微指令序列的过程。 微指令控制了取指令操作, 多条微指令实现了指令的功能。
而微指令中的微命令使执行部件完成微操作,计算机的工作过程是执行程序的过程,微观看,是执行指令的过程,再微观一点看,是执行部件进行微操作的过程
28
微程序存放示意图 控制存储器CS 主存储 60 61 62 63 64 LAD R0,(80) ADD R0,(81) JO 75
0000 XXXX 取指微指令 0001 0010 XXXX 0010 0011 XXXX 加法微程序 0011 0000 XXXX 主存储 0100 0000 XXXX 取数微程序 60 LAD R0,(80) 0101 0110 XXXX 存数微程序 61 ADD R0,(81) 0110 0000 XXXX 62 JO 75 0111 0000 XXXX 转移微程序 1000 63 STA (R1) ,R0 … … … 64 HALT 地址 操作控制字段 下址字段
29
例 PC→AR→RAM →DBUS→DR→IR PC+1 R1+R2→R2 R2+R3→R2 Cy=1 Cy=0 R2-R3→R2 P1
30
第一条微指令 PC→AR→ABUS→DBUS→DR→IR PC+1 LDAR RD LDDR LDIR PC+1 直接地址 1 1 1 1
1 1 1 1 1 1 18 19 20 21 22 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 PC→AR→ABUS→DBUS→DR→IR PC+1 LDAR RD LDDR LDIR PC+1
31
第二条微指令 R1→X R2→Y X+Y X+Y→R2 R1→X R2→Y + LDR2 直接地址 1 1 1 1 18 19 1 20
1 1 1 1 18 19 1 20 21 22 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 R1→X R2→Y X+Y X+Y→R2 R1→X R2→Y LDR2
32
第三条微指令 R2→X R3→Y X+Y X+Y→R2 R2→X R3→Y + LDR2 直接地址 1 1 1 1 1 18 19 20
P2 直接地址 R3→Y 1 1 1 1 1 18 19 20 21 22 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 R2→X R3→Y X+Y X+Y→R2 R2→X R3→Y LDR2
33
第四条微指令 R2→X R3→Y X-Y X-Y→R2 R2→X R3→Y - LDR2 直接地址 1 1 1 1 18 19 20 21
P1 P2 直接地址 R3→Y 1 1 1 1 18 19 20 21 22 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 R2→X R3→Y X-Y X-Y→R2 R2→X R3→Y LDR2
34
机器指令与微指令的关系 机器指令对应一个微程序,这个微程序由若干微指令组成,一个微指令又包含多个微操作
机器指令与内存储器有关,微指令与控制存储器有关 每一个CPU周期对应一条微指令
35
微指令设计 有利于缩短微指令字长度 有利于减少控制存储器容量 有利于提高微程序执行速度 有利于对微指令进行修改 有利于提高微程序设计的灵活性
36
微命令编码 直接表示法 编码表示法 混合表示法
37
直接表示方法 微指令中每一位代表一个微命令 简单直观,便于输出控制, 字长太长,控制存储器容量大 直接地址 . 18 19 20 21 22
LDR2 R1→X R2→X DR→X + - LDDR LDAR P1 P2 直接地址 LDR1 LDR3 R3→Y R2→Y R1→Y M RD LDIR PC+1 . 18 19 20 21 22 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 操作控制 顺序控制
38
编码表示方法 字段直接译码法 字长短,控制存储器容量小,增加了译码电路 微命令 P1 P2 Pn 直接地址 译码. 译码. 译码. . 18
19 20 21 22 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 操作控制 顺序控制
39
微地址形成方法 计数器法 PC 下地址字段法
40
微指令格式 水平型微指令(一次能并行多个微操作的指令) 垂直型微指令 寄存器数据传送型 运算控制型 访问主存型 条件转移型 控制字段
判别测试字段 下地址字段 垂直型微指令 寄存器数据传送型 000 原寄存器 目的寄存器 其他 运算控制型 001 左输入源编址 右输入源编址 ALU 访问主存型 010 寄存器编址 存储器编址 读写 其他 条件转移型 011 测试条件
41
水平型与垂直型微指令比较 水平型微指令并行操作能力强,效率高,灵活性强 水平型微指令执行一条指令的时间短,并行好
水平型微指令字长较长,微程序短;垂直型指令字长短,微程序长 垂直型与指令相似,易于编写。
42
微程序控制器特点 设计规整,设计效率高 易于修改、扩展指令系统功能; 结构规整、简洁,可靠性高; 速度慢 执行效率不高
访存频繁 执行效率不高 用于速度要求不高、功能较复杂的机器中。 特别适用于系列机
43
硬布线与微程序控制器比较 硬布线控制器执行速度快 硬布线控制器设计复杂,代价昂贵 微程序控制器设计简单,便于维护修改
微程序控制器每条微指令都需要从控制存储器中读 取一次,大大影响了速度,硬布线控制取决于电路延迟。 硬布线控制器设计复杂,代价昂贵 微程序控制器设计简单,便于维护修改
44
本章重点内容 CPU的功能(控制器的功能) 指令周期基本概念 五种基本指令的指令周期及其数据通路流程 时序产生器和控制方式基本原理
微程序控制器工作原理 微程序设计基本概念 硬布线控制器基本概念
45
本章容易混淆的一些概念 微命令 微操作 公操作 微指令 微程序 机器指令
46
本章容易混淆的一些概念 微命令 微操作 公操作 控制部件通过控制线向执行部件发出的各种控制命令 执行部件接受微命令以后所进行的操作
一条指令执行完毕以后,CPU所进行的操作
47
本章容易混淆的一些概念 微指令 微程序: 机器指令 在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令
一条指令均对应一段微程序,微程序固化在控制存储器中。 机器指令
48
本章容易混淆的一些概念 指令周期 CPU周期 机器周期 节拍电位, 周期电位, 工作脉冲, 节拍脉冲
49
本章容易混淆的一些概念 周期表示时间段,在逻辑电路中为了识别时间段,相关信号的电位表示时间段,如取指令周期电位。
CPU周期=机器周期,一cpu周期包括多个节拍。 节拍电位(表示节拍的电位信号), 状态周期电位(表示周期状态的电位信号), 工作脉冲=节拍脉冲 指令周期〉CPU/机器周期 〉节拍
50
5. CPU是如何识别内存中的信息是指令还是数据?
所有存放在主存中的信息其实都可以按照数据对待, 从主存中取出的数据均需要存放到数据缓冲寄存器DR 中,区分其到底是数据还是指令的唯一方法是判断当前时 间处于指令周期的哪一个CPU周期,如果处在取指令周 期,那么当前信息为指令信息,需要将它从数据缓冲寄存 器DR送入指令寄存器IR中,如是其它CPU周期,当前 信息为是数据信息。
51
时序图 CPU周期 CPU周期 Φ 取指 执行 T1 T2 T3 T4 节拍脉冲 状态周期电位 节拍电位 LDAR RD M LDDR
LDIR PC+1 CPU周期 CPU周期 节拍脉冲 Φ 状态周期电位 取指 执行 节拍电位 T1 T2 T3 T4
Similar presentations