第五节 CPU模型 拟定指令系统 确定总体结构 安排时序 拟定指令流程和微命令序列。 形成控制逻辑 CPU设计步骤: 格式、寻址方式、指令类型设置 拟定指令系统 确定总体结构 安排时序 拟定指令流程和微命令序列。 形成控制逻辑 寄存器、ALU、数据通路设置 画流程图(寄存器传送级) 周期、定时脉冲设置 列操作时间表 组合:列逻辑式,形成逻辑电路 微程序:按微指令格式编写微程序
设计模型机 指令系统设计 总体结构设计 组合逻辑控制器设计 微程序控制器设计 指令格式 寻址方式 指令类型 寄存器 运算部件 数据通路结构 时序 指令流程与微命令序列 控制逻辑 时序 微指令格式 微程序编制
3.5.1 指令系统 1.指令格式 指令字长16位,采用寄存器型寻址,指令中 给出寄存器号。 (主存容量为64K×16位,主存地址16位)
双操作数指令格式: 4 3 3 3 3 单操作数指令格式: 4 6 3 3 转移指令格式: 4 3 3 3 3 操作码 寄存器号 寻址方式 寄存器号 寻址方式 目的地址 源地址 单操作数指令格式: 4 6 3 3 操作码 (可扩展) 寄存器号 寻址方式 目的地址 转移指令格式: 15 12 11 9 8 6 5 4 3 2 1 0 操作码 寄存器号 寻址方式 方式 N′Z′V′C′ 转移地址 转移条件
通用寄存器R、指令计数器PC、堆栈指针SP、程序状态字PSW 2.寻址方式 CPU可编程访问的寄存器: 通用寄存器R、指令计数器PC、堆栈指针SP、程序状态字PSW 寻址方式 编码 助记符 定义 寄存器寻址 000 R R 为操作数 寄存器间址 001 (R) (R)为操作数地址 自减型寄存器间址 010 -(R) (R)-1为操作数地址 -(SP) (SP)-1为栈顶地址
寻址方式 编码 助记符 定义 立即/自增型寄存器间址 011 (R)+ (R)为操作数地址, 访问后(R)+1 (SP)+ (SP)为栈顶地址, 出栈后(SP)+1 (PC)+ (PC)为立即数地址, 取数后(PC)+1 变址 101 X(R) (R)+X为有效地址 X(PC) (PC)+X为有效地址 跳步 110 SKP 跳过下条指令执行
3.指令类型 0000 MOV 传送 0001 ADD 加 0101 EOR 异或 0110 COM 求反 1011 SR 右移 1100 操作码 助记符 含义 用于数传、堆栈、I/O操作 0000 MOV 传送 0001 ADD 加 双操作数指令 0101 EOR 异或 0110 COM 求反 单操作数指令 1011 SR 右移 1100 JMP 转移 (详情见书p122 表3-8) 1100 RST 返回 1101 JSR 转子
5 4 3 2 1 0 JMP 寄 寻 方式 N′Z′V′C′ 0 0 0 0 0 无条件转 转移地址 0 0 0 0 1 无进位转 5 4 3 2 1 0 JMP 寄 寻 方式 N′Z′V′C′ 0 0 0 0 0 无条件转 转移地址 0 0 0 0 1 无进位转 (C=0) 0 0 0 1 0 无溢出转 (V=0) 0 0 1 0 0 数非零转 (Z=0) 0 1 0 0 0 数为正转 (N=0) 1 0 0 0 1 有进位转 (C=1) 1 0 0 1 0 有溢出转 (V=1) 1 0 1 0 0 数为零转 (Z=1) 1 1 0 0 0 数为负转 (N=1) 条件满足,转转移地址;条件不满足,顺序执行。
15 12 11 9 8 6 5 0 5 4 3 2 1 0 隐含约定:转子时返回地址压栈保存。 3.7.2 CPU总体结构 1.寄存器设置 15 12 11 9 8 6 5 0 RST SP (SP)+ 5 4 3 2 1 0 JSR 寄 寻 方式 N′Z′V′C′ 子程序入口 隐含约定:转子时返回地址压栈保存。 3.7.2 CPU总体结构 1.寄存器设置 (1)可编程寄存器(16位) 通用寄存器: R0(000)、R1(001) R2(010)、R3(011)
堆栈指针: SP(100) 指令计数器: PC(111) 程序状态字: PSW(101) 4 3 2 1 0 (2)非编程寄存器(16位) 4 3 2 1 0 (可扩展) I N Z V C 允许中断(开中断) (2)非编程寄存器(16位) 暂存器C :暂存来自主存的源地址或源数据。 暂存器D :暂存来自主存的目的地址或目的数。 指令寄存器IR :存放现行指令。 地址寄存器MAR 实现CPU与主存的接口 数据寄存器MDR
2.算逻部件设置 (16位) SN74181 4片 SN74182 1片 选择器A 选择器B ALU 选择数据来源 移位器 :实现直送、左移、右移、字节交换 3.数据通路结构 为了使数据传送控制简单、集中,采用以 ALU为中心的总线结构。 (1)组成 包括四个部分: ALU部件、寄存器组、内总线、CPU与系统总 线的连接
(2)特点 ALU为内部数据传送通路的中心; 寄存器采用 分立结构; 内总线采用单向数据总线(16位); A B 内总线 R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 (2)特点 ALU为内部数据传送通路的中心; 寄存器采用 分立结构; 内总线采用单向数据总线(16位);
与系统总线 的连接通过 MDR MAR、MDR实现。 从内总线输入 输入 从DB输入 输出至DB 输出 输出至ALU的B门 A B 内总线 R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 从内总线输入 (打入) 与系统总线 的连接通过 MAR、MDR实现。 输入 从DB输入 (置入) MDR 输出至DB 输出 输出至ALU的B门
4.各类信息传送途径 M DB IR (1)指令信息 (2)地址信息 A B 内总线 置入 R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 4.各类信息传送途径 置入 (1)指令信息 M DB IR (2)地址信息
PC A ALU MAR PC A ALU PC C0 1)指令地址 移 内 2)指令地址加1 移 内 A B 内总线 打入 打入 R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 打入 1)指令地址 PC A ALU 移 内 MAR 2)指令地址加1 PC A ALU 移 内 PC C0 打入
R0 B ALU PC R0 B ALU MAR AB M DB MDR B ALU PC 3)转移地址 寄存器寻址: 移 内 寄存器间址: R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 3)转移地址 打入 R0 B ALU 寄存器寻址: 移 内 PC 打入 寄存器间址: R0 B ALU 移 内 MAR AB M DB 置入 MDR B ALU 移、 内 PC
R0 B ALU MAR 4)操作数地址 寄存器间址: 移 内 A B 内总线 R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 4)操作数地址 打入 寄存器间址: R0 B ALU 移 内 MAR
PC A ALU MAR AB M M DB MDR B ALU C ALU MAR 变址: 移 内 内 移 移 内 A B 内总线 R0 R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 变址寻址为指令中给出形式地址,和变址寄存器内容相加得到有效地址 变址: PC A ALU 移 内 MAR AB M M DB MDR B ALU 内 C 移 R0 A ALU 移 内 MAR C B
R: R0 B ALU R1 M: R0 B ALU MDR DB M R: M DB MDR B ALU R2 (3)数据信息 1)R 移 R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 (3)数据信息 1)R R: 打入 R0 B ALU 移 内 R1 2)R M: 打入 R0 B ALU 内 MDR DB M 3)M R: M DB MDR B ALU 移、 内 R2
M: M(源) DB MDR ALU C C ALU MDR DB M I/O: R0 ALU MDR DB I/O 4)M 内 内 5)R R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 打入 4)M M: M(源) DB MDR ALU 内 C C ALU MDR DB M (计算目的地址) 内 (目的) 5)R I/O: R0 ALU 内 MDR DB I/O
6)I/O R I/O DB MDR ALU R0 7)I/O M DMA方式: I/O DB M 内 A B 内总线 R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 打入 6)I/O R I/O DB MDR ALU 内 R0 7)I/O M DMA方式: I/O DB M
5.微命令设置 ALU输入选择: R0 A、 R0 B、 ALU功能选择: S3S2S1S0、M、C0 (1)数据通路 操作: R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 5.微命令设置 ALU输入选择: R0 A、 R0 B、 ALU功能选择: S3S2S1S0、M、C0 (1)数据通路 操作: 输出移位选择: 不移、左移、 结果分配: CPR0、CPC、CPMAR、
1 MAR向AB送地址 地址使能 EMAR MAR与AB断开 读 R (2)访M、I/O 操作: 00 MDR与DB断开, R0~R3 R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 1 MAR向AB送地址 地址使能 EMAR MAR与AB断开 读 R (2)访M、I/O 操作: 00 MDR与DB断开, R=1读 W=1写 写 W 置入MDR SMDR, 置入IR SIR
3.5.2 组合逻辑控制方式 θ 3.5.2.1 控制器组成 微命令 发生器 译码 …... PSW 时序 IR 地址形成 PC 送M 3.5.2.1 控制器组成 微命令 发生器 微命令序列 I/O状态 控制台信息 运行状态 译码 …... PSW 时序 IR 地址形成 PC θ D 寻 来自M 送M或ALU +1 送M
θ 微命令 发生器 译码 …... PSW 时序 IR 地址形成 PC 微命令 发生器 1.微命令发生器 电位型 脉冲型 功能: 微命令序列 I/O状态 控制台信息 运行状态 译码 …... PSW 时序 IR 地址形成 PC θ D 寻 来自M 送M或ALU +1 送M 微命令 发生器 1.微命令发生器 电位型 脉冲型 功能: 产生全机所需的各种微命令 控制最基本的操作(微操作)的命令
θ PC+1 微命令 发生器 译码 …... PSW 时序 IR 地址形成 PC PC 微命令 发生器 2.指令计数器PC 功能: 微命令序列 I/O状态 控制台信息 运行状态 译码 …... PSW 时序 IR 地址形成 PC θ D 寻 来自M 送M或ALU +1 送M PC 微命令 发生器 2.指令计数器PC 功能: 指示指令在M中的位置。 PC+1 顺序执行: PC先+1,再用转移地址修改PC 转移执行:
θ PC 微命令 发生器 译码 …... PSW 时序 IR 地址形成 IR 3.指令寄存器IR 决定操作性质 功能: 存放现行指令。 微命令序列 I/O状态 控制台信息 运行状态 译码 …... PSW 时序 IR 地址形成 θ D 寻 来自M 送M或ALU +1 送M IR 3.指令寄存器IR 决定操作性质 功能: 存放现行指令。 操作码字段 译码器 微命令发生器 寻 操作数地址 转移地址 地址码字段 地址形成部件 D
θ PC 微命令 发生器 译码 …... PSW 时序 IR 地址形成 PSW 4.状态寄存器PSW 功能: 微命令序列 I/O状态 控制台信息 运行状态 译码 …... PSW 时序 IR 地址形成 θ D 寻 来自M 送M或ALU +1 送M PSW 4.状态寄存器PSW 功能: 指示程序运行方式,反映程序运行结果。 例. 某机的PSW 15 12 11 8 7 6 5 4 3 2 1 0 工作方式 优先级 T N Z V C
... ….. ... 工作方式 优先级 T N Z V C (1)条件码 C=1 进位 V=1 溢出 Z=1 结果为0 N=1 结果为负 15 12 11 8 7 6 5 4 3 2 1 0 工作方式 优先级 T N Z V C (1)条件码 C=1 进位 V=1 溢出 Z=1 结果为0 N=1 结果为负 反映程序运行结果 (2)跟踪标志 为程序查错设置的断点标志T。 T=1, 执行跟踪程序 程序 初始化置T为1 ... 跟踪程序 测试T ….. ...
为现行程序赋予优先级别,以决定是否响应外部中断请求。 15 12 11 8 7 6 5 4 3 2 1 0 工作方式 优先级 T N Z V C (3)优先级 为现行程序赋予优先级别,以决定是否响应外部中断请求。 程序优先级高于外部优先级,不响应 程序优先级低于外部优先级,可响应 (4)工作方式 PSW在CPU中,反映程序运行状态;控制/状态字在接口中,反映CPU命令、设备状态。 规定程序的特权级。 用户方式:禁止程序执行某些指令 核心方式:允许程序执行所有指令
θ 振荡器 分频器 PC 微命令 发生器 译码 …... PSW 时序 IR 地址形成 时序 5.时序线路 功能: 控制操作时间和操作时刻。 微命令序列 I/O状态 控制台信息 运行状态 译码 …... PSW 时序 IR 地址形成 θ D 寻 来自M 送M或ALU +1 送M 时序 产生脉冲型微命令,控制定时操作 5.时序线路 功能: 控制操作时间和操作时刻。 工作脉冲 产生电位型微命令,控制操作时间段 振荡器 分频器 时钟脉冲 时钟周期(节拍)
θ 3.5.2.2 控制器工作过程 PC 微命令 发生器 译码 …... PSW 时序 IR 地址形成 时序 1.取指令 PC M IR 3.5.2.2 控制器工作过程 PC 微命令 发生器 微命令序列 I/O状态 控制台信息 运行状态 译码 …... PSW 时序 IR 地址形成 θ D 寻 来自M 送M或ALU +1 送M 时序 1.取指令 地址 指令 PC M IR 、译码(θ、寻址方式) PC+1 PC
θ PC 微命令 发生器 译码 …... PSW 时序 IR 地址形成 时序 2.取数 按寻址方式,或从寄存器取数,或从存储器取数。 微命令序列 I/O状态 控制台信息 运行状态 译码 …... PSW 时序 IR 地址形成 θ D 寻 来自M 送M或ALU +1 送M 时序 2.取数 按寻址方式,或从寄存器取数,或从存储器取数。 3.执行 按操作码对数据进行运算处理。
3.5.2.3 组合逻辑控制方式的优缺点及应用 1.组合逻辑控制方式 2.优缺点 3.应用场合 3.5.2.3 组合逻辑控制方式的优缺点及应用 1.组合逻辑控制方式 综合化简产生微命令的条件,形成逻辑式,用组合逻辑电路实现; 执行指令时,由组合逻辑电路(微命令发生器)在相应时间发出所需微命令,控制有关操作。 2.优缺点 ● 产生微命令的速度较快。 ● 设计不规整,设计效率较低; ● 不易修改、扩展指令系统功能。 3.应用场合 用于高速计算机,或小规模计算机。
3.5.2.4 组合逻辑控制器设计 1.时序系统 (1)工作周期 取指周期FT 源周期ST 用于指令正常执行 目的周期DT 执行周期ET 中断周期IT 用于I/O传送控制 DMA周期DMAT 1 工作周期开始 设置6个触发器分别 作为各周期状态标志 0 工作周期结束 在整个指令周期中,任何时候必须、且只能有一个工作周期状态标志为“1”。
1)取指周期FT 2)源周期ST 3)目的周期DT 4)执行周期ET 从M取出指令并译码; 修改PC。 公操作 取指结束时,按操作码和寻址方式(R/非R寻址) 转相应工作周期。 2)源周期ST 按寻址方式(非R寻址)形成源地址,从M取出源操 作数,暂存于C。 3)目的周期DT 按寻址方式(非R寻址)形成目的地址,或从M取出 目的操作数,暂存于D。 4)执行周期ET 按操作码完成相应操作(传送、运算、取转移地址送入PC、返回地址压栈保存); 后续指令地址送入MAR。
5)中断周期IT 6)DMA周期DMAT (2)时钟周期(节拍)T IT指CPU响应中断请求后,到执行中断服务程序前。 关中断、保存断点和PSW、转服务程序入口。 由硬件完成 6)DMA周期DMAT DMAT指CPU响应DMA请求后,到传送完一次数据。 DMA控制器接管总线权,控制直传。 由硬件完成 (2)时钟周期(节拍)T 1)时钟周期时间: 1微秒 完成一步操作: 一次从M读出,并经数据通路传送的操作;或 一次数据通路传送操作;或 一次向M写入的操作 模型机以访存时间作为一步操作时间。 一个总线 周期等于一个时钟周期,可根据需要扩展。
2)时钟周期数: 每个工作周期第一拍T=0, 每开始一个新节拍T计数, 工作周期结束时T清0。 用计数器T控制节拍数 一个工作周期中的时钟数可变。 每个工作周期第一拍T=0, 每开始一个新节拍T计数, 工作周期结束时T清0。 用计数器T控制节拍数 将计数值译码,可产生节拍电位。 (3)工作脉冲P 每个时钟结束时设置一个脉冲。 T 1µS P 打入寄存器 进行时序转换 (周期状态设置/清除 时钟T计数/清除)
2.控制流程(工作周期转换) FT ST DT ET DMAT IT 单 SR 双 转 SR DR DR N DMA请求? N 中断请求? Y Y DMAT IT
3.指令流程图与操作时间表 (1)取指周期FT 1 FT 1)进入FT的方式 1 FT CPFT 拟定指令流程: 确定各工作周期中每拍完成的具体 操作(寄存器传送级)。 列操作时间表: 列出每一步操作所需的微命令及产 生条件。 (1)取指周期FT 1 FT S R D C Q 1)进入FT的方式 总清 初始化时置入FT, 程序正常运行时同步打入FT。 1 FT CPFT
工作周期中,每拍结束时发CPT;工作周期结束时, 2)流程图 FT0: M IR PC+1 PC 3)操作时间表 FT0: 电位型微命令 脉冲型微命令 EMAR, R, SIR M IR PC A, A+1, DM CPPC PC+1 PC 1 ST 或 CPFT( P) 1 DT 或 CPST( P) 转换 1 ET CPDT( P) CPET( P) CPT ( P) 工作周期中,每拍结束时发CPT;工作周期结束时, 5个时序打入命令都发。
(2)传送指令 1)流程图 例1: MOV R0,R1; FT0: M IR, PC+1 PC ET0: R1 R0 ET1: PC MAR 例2: MOV(R0),(R1); FT0: M IR, PC+1 PC ST0: R1 MAR 源数 ST1: M MDR C 目的地址 DT0: R0 MAR ET0: C MDR ET1: MDR M ET2: PC MAR 例3: MOV X(R0),X(R1); FT0: M IR PC+1 PC
PC+1 PC 例3: MOV X(R0),X(R1); FT0: M IR ST0: PC MAR ST1: M MDR C 取源操作数, 形式地址 ST0: PC MAR ST1: M MDR C 取源操作数, 暂存于C, 需5步。 ST2: PC+1 PC 源操作数 ST3: C+R1 MAR ST4: M MDR C 形式地址 DT0: PC MAR 取目的地址, 暂存于MAR, 需4步。 DT1: M MDR D 目的地址 DT2: PC+1 PC DT3: D+R0 MAR ET0: C MDR 源数送存储器, 需3步。 ET1: MDR M ET2: PC MAR
2)操作时间表 例: MOV (R1),(SP)+; FT0: EMAR R SIR M IR A+1 DM CPPC PC+1 PC PC A 1 ST CPFT(P) CPET(P) CPT(P) ST0: 输出A DM CPMAR T+1 SP MAR SP A CPT(P) ST1: EMAR R SMDR 输出B DM M MDR C MDR B CPC T+1 CPT(P) ST2: A+1 DM CPSP SP+1 SP SP A 1 DT CPFT(P) CPET(P) CPT(P)
DT0: 输出A DM CPMAR R1 MAR R1 A 1 ET CPFT(P) CPET(P) CPT(P) ET0: 输出B DM CPMDR T+1 CPT(P) C MDR C B ET1: EMAR W T+1 CPT(P) MDR M ET2: 输出A DM CPMAR PC MAR PC A 1 FT CPFT(P) CPET(P) CPT(P)
(3)双操作数指令 取目的数,暂存于D。 例: ADD X(R1),(PC)+ ; FT0: M IR, PC+1 PC ST0: DT3: 立即数 ST0: DT3: PC MAR D+R1 MAR ST1: M MDR C DT4: M MDR D 目的数 ST2: PC+1 PC ET0: C+D MDR DT0: PC MAR 形式地址 ET1: MDR M DT1: M MDR D ET2: PC MAR DT2: PC+1 PC
(4)单操作数指令 例: COM -(R0); FT0: M IR, PC+1 PC DT0: R0-1 R0 、MAR DT1: M MDR D ET0: D MDR ET1: MDR M ET2: PC MAR (5)转移-返回指令 SKP 执行再下条指令。 R 从R取转移地址。 无条件转移 (R) 按R指示从M取转移地址。 (R)+ 按R指示从M取转移地址,修改R。 (SP)+ 从堆栈取返回地址,修改SP。 (RST) X(PC) 以PC內容为基准转移。
例1: JMP R0; FT0: M IR, PC+1 PC ET0: R0 PC 、MAR 例2: RST (SP)+; FT0: SP MAR ET1: SP+1 SP ET2: M MDR PC 、MAR 例3: JMP X(PC); FT0: M IR, PC+1 PC ET0: PC MAR 位移量 ET1: M MDR C ET2: PC+C PC 、MAR (5)转子指令 无条件转子: R (R) (R)+ (PC)+ (SP)+ 入口在R中 入口在M中 入口在堆栈中
4.控制逻辑 在ST形成子程序入口;在ET保存返回地址,并转 子程序入口。 例: JSR(R2); FT0: M IR, PC+1 PC R2 MAR 子程序入口 ST1: M MDR C ET0: SP-1 SP 、MAR 返回地址压栈 ET1: PC MDR ET2: MDR M ET3: C PC 、MAR 4.控制逻辑 归纳微命令,综合化简条件,用组合逻辑电路实现。 例: 读令R= FT0 +MOV(ST1+ST4+……) +…… CPPC = FT0 P +MOV(ST2+DT2) X P +……
3.5.4 微程序控制方式 3.5.4.1 微程序控制的基本思想 1. 若干微命令编制成一条微指令,控制实现 一步操作; 3.5.4 微程序控制方式 3.5.4.1 微程序控制的基本思想 1. 若干微命令编制成一条微指令,控制实现 一步操作; 1. 若干微命令编制成一条微指令,控制实现 一步操作; 2. 若干微指令组成一段微程序,解释执行一 条机器指令; 2. 若干微指令组成一段微程序,解释执行一 条机器指令; 3. 微程序事先存放在控制存储器中,执行机 器指令时再取出。
3.5.4.2 微程序控制器组成原理 微地址 形成电路 微地址寄存器 控制存储器 CM 译码器 µIR 1.主要部件 (1)控制存储器CM 3.5.4.2 微程序控制器组成原理 微地址 形成电路 IR PSW PC 微地址寄存器 µAR 控制存储器 CM 译码器 微命令序列 微命令字段 微地址字段 µIR 1.主要部件 (1)控制存储器CM 功能: 存放微程序。 CM属于CPU,不属于主存储器。
微地址 形成电路 微地址寄存器 控制存储器 CM 译码器 µIR (2)微指令寄存器 µIR 功能: 存放现行微指令。 微命令字段: PSW PC 微地址寄存器 µAR 控制存储器 CM 译码器 微命令序列 微命令字段 微地址字段 µIR (2)微指令寄存器 µIR 功能: 存放现行微指令。 微命令字段: 提供一步操作所需的微命令。 (微操作控制字段) 指明后续微地址的形成方式。 微地址字段: 提供微地址的给定部分。 (顺序控制字段)
微地址 形成电路 微地址寄存器 控制存储器 CM 译码器 µIR (3)微地址形成电路 功能: 提供两类微地址。 微程序入口地址: PSW PC 微地址寄存器 µAR 控制存储器 CM 译码器 微命令序列 微命令字段 微地址字段 µIR (3)微地址形成电路 功能: 提供两类微地址。 微程序入口地址: 由机器指令操作码形成。 由微地址字段、现行微地址、 运行状态等形成。 后续微地址:
微地址 形成电路 微地址寄存器 控制存储器 CM 译码器 µIR 取指微指令 2.工作过程 (1)取机器指令 译码器 CM 主存 µIR PSW PC 微地址寄存器 µAR 控制存储器 CM 译码器 微命令序列 微命令字段 微地址字段 µIR 取指微指令 2.工作过程 (1)取机器指令 微命令字段 微命令 取指微指令 译码器 CM 主存 µIR 机器指令 IR
微地址 形成电路 微地址寄存器 控制存储器 CM 译码器 µIR 取指微指令 (2)转微程序入口 微地址形成电路 µAR CM µIR IR PSW PC 微地址寄存器 µAR 控制存储器 CM 译码器 微命令序列 微命令字段 微地址字段 µIR 取指微指令 (2)转微程序入口 首条微指令 入口 操作码 微地址形成电路 µAR CM µIR IR (3)执行首条微指令 微命令字段 微命令 µIR 译码器 操作部件
微地址 形成电路 微地址寄存器 控制存储器 CM 译码器 µIR (4)取后续微指令 微地址字段 现行微地址 运行状态 微地址形成电路 PSW PC 微地址寄存器 µAR 控制存储器 CM 译码器 微命令序列 微命令字段 微地址字段 µIR (4)取后续微指令 微地址字段 现行微地址 运行状态 后续微地址 微地址形成电路 µAR 后续微指令 µIR CM
微地址 形成电路 微地址寄存器 控制存储器 CM 译码器 µIR (5)执行后续微指令 同(3) (6)返回 (存放取指微指令的固定单)。 PSW PC 微地址寄存器 µAR 控制存储器 CM 译码器 微命令序列 微命令字段 微地址字段 µIR (5)执行后续微指令 同(3) (6)返回 (存放取指微指令的固定单)。 微程序执行完,返回CM
3.5.4.3 微指令格式和编码方法 1.格式分类 (1)垂直型微指令 一条微指令定义并执行一种基本操作。 优点: 3.5.4.3 微指令格式和编码方法 1.格式分类 (1)垂直型微指令 一条微指令定义并执行一种基本操作。 优点: 微指令短、简单、规整,便于编写微程序。 缺点: 微程序长,执行速度慢;工作效率低。 (2)水平型微指令 一条微指令定义并执行几种并行的基本操作。 优点: 微程序短,执行速度快。 缺点: 微指令长,编写微程序较麻烦。
AI BI ZO AOP MOP KK ST 3 3 3 3 4 4 4 (3)混合型微指令 在垂直型的基础上增加一些不太复杂的并行操作。 微指令不长,便于编写;微程序不长,执行速度加快。 例.长城203微指令 AI BI ZO AOP MOP KK ST 3 3 3 3 4 4 4 常数 辅助操作 运算器输入控制 运算器输出控制 操作类型控制 访M、I/O控制
C0 R W C0= R= W= 2.编码方法 (1)直接控制法 微命令按位给出。 例. 某微指令 1 1 1 0 进位初值为0 1 1 1 C0= 0 进位初值为0 1 进位初值为1 R= 0 不读 1 读 0 不写 1 写 W= 不需译码,产生微命令的速度快; 信息的表示效率低。 微指令中通常只有个别位采用直接控制法。
? AI 001 R A 010 C A 010 C A 011 D B 011 D B 100 F B (2)分段直接编译法 微命令由字段编码直接给出。 例.对加法器输入端进行控制。 加法器 A B R、C D、E D、F 微指令中设置AI字段,控制 加法器的输入选择。 AI 3 C D 000 不发命令 微命令分组原则: 001 R A 010 C A 010 C A 同类操作中互斥的 微命令放同一字段。 ? 011 D B 011 D B 100 F B 不能同时出现 …
AI BI BI: 010 C A 100 E A 001 R A 011 D A 010 C B 100 F B 001 R B 加法器 A B R、C D、E D、F AI BI 3 3 C D AI: BI: 000 不发命令 010 C A 100 E A 001 R A 011 D A 000 不发命令 010 C B 100 F B 001 R B 011 D B 010 C A 011 D B 编码较简单; 操作唯一; 一条微指令能同时 提供若干微命令,便于组织各种操作。
C A (3)分段间接编译法 微命令由本字段编码和其他字段解释共同给出。 1) 设置解释位或解释字段 1 A为某类命令 例. 0 A为常数 2) 分类编译 按功能类型将微指令分类,分别安排各类微 指令格式和字段编码,并设置区分标志。
(4)其他编码方法 1) 微指令译码与机器指令译码复合控制 例. 机器指令 微指令 寄存器号 寄存器传A 译码器 R1 译码器 001 R A A门
004 取指标志 011 变址标志 3.5.4.4 微地址形成方式 2) 微地址参与解释 微地址 微指令 例. 1.微程序入口地址的形成 功能转移 指令操作码 微程序入口 (1)一级功能转移 各操作码的位置、位数固定,一次转换成功。 入口地址=页号,操作码
0F(8位) 000F 0010 10(8位) 微程序1 微程序2 CM 例. 机器指令1 入口地址=000FH 机器指令2 微地址1 无条件转 微地址1 0010 功能转移 无条件转 微地址2 入口地址=000FH 0页 机器指令2 微地址1 功能转移 10(8位) 微程序1 入口地址=0010H 微地址2 微程序2
(2)二级功能转移 各类指令操作码的位置、位数不固定, 需两 次转换。 分类转: 区分指令类型 指令操作码 功能转: 区分操作类型 指令类型标志 分类转: 区分指令类型 指令操作码 功能转: 区分操作类型
PLA 入口地址 1 入口地址 2 IR (3)用可编程逻辑阵列PLA实现功能转移 2.后续微地址的形成 (1)增量方式 以顺序执行为主,辅以各种常规转移方式。
微子程序 顺序:现行微地址+1。 跳步:现行微地址+2。 A 转移条件 C 转移条件 C B B D A+1 无条件转移:现行微指令 CM 顺序:现行微地址+1。 跳步:现行微地址+2。 A 转移条件 C 转移条件 C B B D A+1 无条件转移:现行微指令 给出转移微地址。 (条件不满足) A+2 条件转移:现行微指令给 出转移微地址和转移条件。 B C (条件满足) 转微子程序:现行微指令 给出微子程序入口。 D 微子程序 返回微主程序:现行微指 令给出寄存器号。 R A+1 R
例. 01 10 A= 11 给定部分 断定条件 微指令 微指令 D(给定) A(条件) 微地址10位, 约定: (2)断定方式 由直接给定和测试断定相结合形成微地址。 给定部分 断定条件 微指令 给定后续微地址 高位部分 指明后续微地址低 位部分的形成方式 例. 微指令 D(给定) A(条件) 16路分支 微地址10位, 约定: 位数可变 2位 01 微地址低4位为操作码,D给定高 位; 6 10 A= 微地址低3位为机器指令源寻址方式 7 编码,D给定高 位; 8路分支 11 微地址低3位为机器指令目的寻址方式 7 8路分支 编码,D给定高 位。
3.5.4.6 微程序控制方式优缺点及应用 1.优点 (1)设计规整,设计效率高; (2)易于修改、扩展指令系统功能; (3)结构规整、简洁,可靠性高; (4)性价比高。 2.缺点 访存频繁 转移较多 未充分发挥数据 通路本身具有的 并行能力 (1)速度慢 (2)执行效率不高 3.应用范围 特别适用于系列机 用于速度要求不高、功能较复杂的机器中。
P 3.5.4.7 微程序控制器设计 1.时序系统 同步控制,用统一微指令周期控制各条微指令执行。 时钟周期 二级时序: 微指令周期 微指令 3.5.4.7 微程序控制器设计 1.时序系统 同步控制,用统一微指令周期控制各条微指令执行。 时钟周期 二级时序: 微指令周期 P 微指令 打入 µIR 结果打 入目的 地, 读取后续 微指令 控制数 据通路 操作 后续微 地址打 入 µAR
AI BI SM C0 S ZO EMAR R W ST SC 2.微指令格式 按数据通路各段操作划分字段,同类操作中互斥 的微命令放同一字段。 (1)格式 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC 数据通路操作 访存操作 顺序控制 辅助操作 (2)各字段功能 R0~R3、SP、PC 1)数据通路操作 D A AI: A输入选择 000 无输入 011 Ri A PC A 001 100 010 C A
AI BI SM C0 S ZO EMAR R W ST SC 3 3 5 2 2 3 1 1 1 2 4 D B BI: B输入选择 000 无输入 011 Ri B MDR B 001 100 C B 010 R0~R3、PSW SM: ALU功能选择 S3S2S1S0M C0: 初始进位选择 S: 移位选择 R0~R3、SP、PC、PSW CPRi ZO: 结果分配 001 2)访存操作 EMAR、R、W 3)辅助操作 00 无操作 10 关中断 01 开中断 11 SIR
AI BI SM C0 S ZO EMAR R W ST SC 3 3 5 2 2 3 1 1 1 2 4 4)顺序控制 增量 断定 9种 指明微地址形成方式 SC: 0000 顺序执行 增量 0001 无条件转移 0010 按操作码分支 断定 0111 转微子程序 增量 1000 返回微主程序 3.微程序的编制 (1)编写顺序
按指令执行顺序编写: 取机器指令 功能转移 执行 按操作码编码顺序,逐级分类编写: MOV指令、 双操作数指令、 单操作数指令、 转移指令 (2)实现分支 将同类断定依据所对应的微地址放在相应的微地址 形成表中,用SC字段选取。(见教材P161~P163) SC=0000 顺序执行 现行微地址+1 SC=0001 无条件转 现行微指令给出转移微地址 SC=0111 转微子程序 现行微指令给出微子程序 入口 SC=1000 返回微主程序 从寄存器取返回微地址
微地址形成表: SC=0010 按操作码分支(4路) 表内单元地址 (断定依据): 单元内容 (微地址) MOV 03H 取源数、目的地 双 0CH 取源数、目的数 单 24H 取目的数 JMP/JSR 3FH 按J、PC分支 SC=0011 按操作码 DR分支(24路)进入执行 DR MOV 06H DR MOV 0AH 执行规定操作 后转取指入口 双 单 3DH
AI BI SM C0 S ZO EMAR R W ST SC 按J、PC分支(4路) 40H 46H 顺序/转移地址 PC SC=0101 按源寻址方式分支(7路) 4DH 5EH SC=0110 按目的寻址方式分支 从60H开始 (3)微指令实例 1)取指微指令代真 AI BI SM C0 S ZO EMAR R W ST SC 3 3 5 2 2 3 1 1 1 2 4 M IR: 微地址00 000 000 00000 00 00 000 1 1 0 11 0000
AI BI SM C0 S ZO EMAR R W ST SC 3 3 5 2 2 3 1 1 1 2 4 PC+1 PC: 微地址01 100 00010010 01 00 111 0 0 0 00 0000 微地址02 按操作码分支: 000 00000000 00 00 000 0 0 0 00 0010 2)机器指令的微程序实现 例:MOV R1,(R0);按流程写出微地址 00 01 02 03 4C 4E 4F 04 60 05 0A 0B 08 09 00
本章小结 1、建立CPU整机概念 逻辑组成 工作机制 (1)逻辑组成 寄存器、ALU设置,数据通路结构 (2)工作机制 寄存器传送级: (旧5.4.2,新3.4.3 ) (2)工作机制 寄存器传送级: 微操作控制级: 各类指令的流程 微命令序列 指令的执行过程 (旧5.5.2,新3.5.2 ) 拟定流程的关键:清楚了解数据通路结构 熟练掌握基本寻址方式
基本寻址方式(模型机): 寄存器寻址 : R 寄存器间址 :(R) 自减型寄存器间址 :–(R) –(SP) (用于入栈操作) 立即寻址 : (PC)+ 相对寻址 : X(PC) –(SP) (用于入栈操作) (SP)+ (用于出栈操作) (旧5.4.1,新3.4.2 ) 寄存器间址 :(R) 变址: X(R)
2、有关的基本概念 (1) 微命令的产生方式 组合逻辑控制方式: 基本思想 、优缺点、应用场合 微程序控制方式: (旧5.5.4,新3.1.3、 3.5.3 ) (旧5.6.1、 5.8.1 ,新3.1.3、 3.6.4 )
(2) 时序控制方式 定义、特点、应用场合 同步控制方式 : 异步控制方式: 主设备、从设备 (3) 主机与外设的信息传送控制方式 (旧5.3.1,新3.1.2 ) 主设备、从设备 (3) 主机与外设的信息传送控制方式 中断方式: 定义 、流程、应用场合 DMA方式: 定义 、流程、应用场合 (旧5.2.2,新3.1.4 )
第三章复习提纲 1.四种运算方法(原码一位乘、补码一位乘、原码 加减交替除法、补码加减交替除法)的算法、规则。 2.浮点加减运算流程。 3.CPU组成(重在数据通路结构)。 4.指令流程(寄存器传送级),操作时间表(微命令序列)。 5.微指令设计方法(分段原则、各段功能、编码方法)。 6.基本概念:溢出及判断方法,数的补码表示及变补, 对阶,规格化,同步控制与异步控制(含义、应用场合), 组合逻辑控制与微程序控制(基本思想、优缺点、应用场 合),I/O传送控制方式(定义、应用场合),控制字,状态 字,程序状态字,主设备,从设备……等。 1.四种运算方法(原码一位乘、补码一位乘、原码 加减交替除法、补码加减交替除法)的算法、规则。 2.浮点加减运算流程。
第三章作业(二) 1、分别写出下述指令流程: (1) MOV R2,(SP)+ ; (2)ADD X(PC),R1 ; (3)JMP (R0); 2、列出指令JMP (R0);的取指周期和 执行周期的操作时间表。假定执行周期 结束后将进入新的取指周期。