- 3
- 0
- 约5.66千字
- 约 24页
- 2019-01-14 发布于湖北
- 举报
3.3 CPU模型 一、CPU设计步骤 1. 拟定指令系统 2. 确定总体结构 3. 安排时序 4. 拟定指令流程和微命令序列。 5. 形成控制逻辑 格式、寻址方式、指令类型设置 寄存器、ALU、数据通路设置 画流程图(寄存器传送级) 列操作时间表 组合控制:列逻辑式,形成逻辑电路 微程序控制:按微指令格式编写微程序 3.3 CPU模型 二、模型机的指令系统 1.指令格式 指令字长16位,采用寄存器型寻址,指令中给出寄存器号。 (主存容量为64K×16位) 三种指令格式: (2)单操作数指令格式 (3)转移指令格式 (1)双操作数指令格式 (1)双操作数指令格式: 4 6 3 3 操作码 寄存器号 寻址方式 寄存器号 寻址方式 目的地址 源地址 (2)单操作数指令格式: 操作码 (可扩展) 寄存器号 寻址方式 4 3 3 3 3 目的地址 (3)转移指令格式: 15 12 11 9 8 6 5 4 3 2 1 0 转移地址 转移条件 操作码 寄存器号 寻址方式 方式 N′Z′V′C′ 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 寻址方式 编码 助记符 定义 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 跳过下条指令执行 上述寻址方式中, (1)哪一种执行时间最短? 寄存器寻址 (2)哪一种执行时间最长? 自增型双间址、变址/相对寻址 (3)哪一种便于程序浮动? 相对寻址 (4)哪一种便于提供常数?范围是多少? 立即寻址、-215 — +215-1 (5)指令中采用直接寻址其地址最大范围? 0— +216-1(或0000H~FFFFH) 操作码 助记符 含义 3.指令类型 用于数传、堆栈、I/O操作 0000 MOV 传送 0001 ADD 加 0101 EOR 异或 双操作数指令 0110 COM 求反 1011 SR 右移 单操作数指令 1100 JMP 转移 1100 RST 返回 1101 JSR 转子 问题:采用扩展操作码方案单操作数指令可以增加多少条? 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) 条件满足,转转移地址;条件不满足,顺序执行。 隐含约定:转子时返回地址压栈保存。 15 12 11 9 8 6 5 0 子程序入口 RST SP (SP)+ JSR 寄 寻 方式 N′Z′V′C′ 5 4 3 2 1 0 三、模型机的组成与数据通道 1.部件设置 1)可编程寄存器(16位) 通用寄存器: R0(000)、R1(001) R2(010)、R3(011) 3.3 CPU模型 (1) 寄存器设置 允许中断(开中断) (可扩展) I N Z V C
原创力文档

文档评论(0)