第四节模型机设计 设计步骤:拟定指令系统 格式、寻址方式 指令类型设置 确定总体结构寄存器、ALU、数 安排时序 据通路设置 画流程图(寄存器传送级) 拟定指令流程和微命令序列。 形成控制逻辑 列操作时间表 组:列逻辑式,形 4.4.1指令系统 成逻辑电路 微:按微指令格式 1.指令格式 编写微程序 指令字长16位,采用寄存器型寻址,指令中 给出寄存器号。(主存容量为64×16位)
第四节 模型机设计 设计步骤:拟定指令系统 确定总体结构 安排时序 拟定指令流程和微命令序列。 形成控制逻辑 4.4.1 指令系统 1.指令格式 格式、寻址方式、 指令类型设置 寄存器、ALU、数 据通路设置 画流程图(寄存器传送级) 列操作时间表 组:列逻辑式,形 成逻辑电路 微:按微指令格式 编写微程序 指令字长16位,采用寄存器型寻址,指令中 给出寄存器号。(主存容量为64K×16位)
双操作数指令格式: 3 3 3 操作码寄存器号寻址方式寄存器号寻址方式 源地址 目的地址 单操作数指令格式: 3 操作码(可扩展) 寄存器号寻址方式 转移指令格式: 目的地址 151211 98 6543210 操作码寄存器号寻址方式方式Nzvc 转移地址 转移条件
双操作数指令格式: 4 6 3 3 操作码 寄存器号 寻址方式 寄存器号 寻址方式 源地址 目的地址 单操作数指令格式: 操作码 (可扩展) 寄存器号 寻址方式 4 3 3 3 3 转移指令格式: 目的地址 15 12 11 9 8 6 5 4 3 2 1 0 转移地址 转移条件 操作码 寄存器号 寻址方式 方式 N′Z′V′C′
2寻址方式 CPU可编程访问的寄存器: 通用寄存器R、指令计数器PC、堆栈指针SP、 程序状态字PSW 寻址方式编码助记符定义 寄存器寻址000R (R)为操作数 寄存器间址001(R)(R)为操作数地址 自减型寄存010-(R)(R)-1为操作数地址 器间址 (SP)(SP)-1为栈顶地址 立即/自增型011(R+(R)为操作数地址, 寄存器间址 访问后(R)+1 (SP)+(SP)为栈顶地址, 出栈后(SP)+
CPU可编程访问的寄存器: 寻址方式 编码 助记符 定义 2.寻址方式 寄存器寻址 通用寄存器R、指令计数器PC、堆栈指针SP、 程序状态字PSW 000 R (R)为操作数 寄存器间址 001 (R) (R)为操作数地址 自减型寄存 器间址 010 -(R) -(SP) (R)-1为操作数地址 (SP)-1为栈顶地址 立即/自增型 寄存器间址 011 (R)+ (R)为操作数地址, 访问后(R)+1 (SP)+ (SP)为栈顶地址, 出栈后(SP)+1
寻址方式编码助记符定义 立即/自增型011(R)+(R)为操作数地址, 寄存器间址 访问后(R)+1 (sP)+(SP)为栈顶地址, 出栈后(SP)+1 (P)+(P0)为立即数地址, 取数后(PC)+1 直接/自增型100@(R)+(R)为间接地址, 双间址 访问后(R)+1 @(PC)+PG指向有效地址, 访问后(PC)+1 变址 101X(R)(R)+d为有效地址 X(PC)(PC)+d为有效地址 跳步 110SKP跳过下条指令执行
寻址方式 编码 助记符 定义 直接/自增型 100 (R)为间接地址, 双间址 101 @(R)+ (PC)+ PC指向有效地址, (R)+d为有效地址 立即/自增型 (R)为操作数地址, 寄存器间址 011 (R)+ 访问后(R)+1 (SP)+ (SP)为栈顶地址, 出栈后(SP)+1 (PC)为立即数地址, 取数后(PC)+1 访问后(R)+1 @(PC)+ 访问后(PC)+1 变址 X(R) X(PC) (PC)+d为有效地址 跳步 110 SKP 跳过下条指令执行
3指令类型 操作码助记符含义 0000M0y传送—用于数传、堆栈 0001 ADD 加 /0操作 双操作数指令 0101 EOR异或 0110 COM ●●● ●●●●● 求反单操作数指令 ●●●● 1011 SR右移 1100JP转移 1100RST返回 1101 JSR转子
操作码 助记符 含义 3.指令类型 用于数传、堆栈、 I/O操作 0000 MOV 传送 0001 ADD 加 0101 EOR 异或 双操作数指令 0110 COM 求反 1011 SR 右移 单操作数指令 1100 JMP 转移 1100 RST 返回 1101 JSR 转子
543210 JMP寄寻方式N′ 1z V|c′ 转移地址 0000无条件转 00000 0001无进位转(c=0 0010无溢出转(V=0 0100数非零转(z=0 000数为正转(N=0 0001有进位转(c=1) 10010有溢出转(V=1) 0100数为零转(z=1) 000数为负转(N=1) 条件满足,转转移地址;条件不满足,顺序执行
0 0 0 0 0 5 4 3 2 1 0 转移地址 无条件转 JMP 寄 寻 方式 N′Z′V′C′ 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) 条件满足,转转移地址;条件不满足,顺序执行
15121198 65 0 RST SP (SP)+ 5432 0 JSR寄寻方式Nzc′ 子程序入口 隐含约定:转子时返回地址压栈保存。 4.4.2CPU总体结构 1.寄存器设置 (1)可编程寄存器(16位) 通用寄存器:RO(00)、R1(001) R2(010)、R3(011)
隐含约定:转子时返回地址压栈保存。 15 12 11 9 8 6 5 0 子程序入口 RST SP (SP)+ JSR 寄 寻 方式 N′Z′V′C′ 5 4 3 2 1 0 4.4.2 CPU总体结构 1.寄存器设置 (1)可编程寄存器(16位) 通用寄存器:R0(000)、R1(001) R2(010)、R3(011)
堆栈指针:SP(100)指令计数器:Pc(111) 程序状态字:PSW(101) 43210 (可扩展) NIZV C 允许中断(开中断) (2)非编程寄存器(16位) 暂存器G:暂存来自主存的源地址或源数据。 暂存器D暂存来自主存的目的地址或目的数。 指令寄存器IR:存放现行指令。 地址寄存器MAR 数据寄存器MBP实现CPU与主存的接口
允许中断(开中断) (可扩展) I N Z V C 4 3 2 1 0 暂存器C (2)非编程寄存器(16位) 堆栈指针:SP(100) 指令计数器:PC(111) 程序状态字:PSW(101) :暂存来自主存的源地址或源数据。 暂存器D:暂存来自主存的目的地址或目的数。 指令寄存器IR 地址寄存器MAR 数据寄存器MBR :存放现行指令。 实现CPU与主存的接口
2算逻部件设置(16位) AUSN741814片选择器A SN741821片选择器B 选择数据来源 移位器:实现直送、左移、右移、字节交换 3.数据通路结构 为了使数据传送控制简单、集中,采用以 ALU为中心的总线结构。 (1)组成 包括四个部分: ALU部件、寄存器组、内总线、CPU与系统总 线的连接
SN74181 4片 SN74182 1片 2.算逻部件设置 ALU 选择数据来源 选择器A 选择器B 移位器:实现直送、左移、右移、字节交换 3.数据通路结构 为了使数据传送控制简单、集中,采用以 ALU为中心的总线结构。 (1)组成 包括四个部分: ALU部件、寄存器组、内总线、CPU与系统总 线的连接 (16位)
内总线 AB DB CB 移位器 RO MAR MIO ALU RI MBR R2 IR A B R3 PO 控制 逻辑 R0~R3R0~R3 SP C D C D SP PC PSW MBRD PSW (2)特点 ALU为内部数据传送通路的中心;寄存器采用 分立结构;内总线采用单向数据总线(16位
R0~R3 R0~R3 C D C D SP PC PSW MBR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MBR IR PC SP PSW AB DB 控制 逻辑 (2)特点 ALU为内部数据传送通路的中心;寄存器采用 分立结构;内总线采用单向数据总线(16位);