已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 1 欢迎下载 课程设计 论文 任务书 信息 学 院 计算机科学与技术 专 业 一一 班 一 课程设计 论文 题目 带复杂指令的模型机的设计与实现带复杂指令的模型机的设计与实现 二 课程设计 论文 工作自 2015 年 6 月 15 日起至 2012 年 6 月 21 日止 三 课程设计 论文 地点 5 401 四 课程设计 论文 内容要求 1 1 本课程设计的目的 本课程设计的目的 通过课程设计 使学生将掌握的计算机组成基本理论应用于实践中 在实际操作中加 深 对计算机各部件的组成和工作原理的理解 掌握微程序计算机中指令和微指令的编码方法 深入理解机器指令在计算机中的运行过程 2 2 课程设计的任务及要求 课程设计的任务及要求 1 1 基本要求 基本要求 要求学生动手操作实验设备 掌握微程序设计思想和设计方法 设计实现一个简单的模 型机 该模型机由运算器 寄存器 译码电路 存储器 和存储微指令用的控制存储器组 成 并能实现一些简单的机器指令 并根据设计好的指令设计简单的机器指令程序 实现输入 输出 存储器读写和简单的控制指令 2 2 创新要求 创新要求 要求学生根据要求 设计符合要求的指令程序实现简单的任务 并为设计的机器指令 编 写相应的微程序代码 并在模型机上验证和测试 3 3 课程设计论文编写要求 课程设计论文编写要求 1 要按照书稿的规格打印誊写毕业论文 2 论文包括目录 绪论 正文 小结 参考文献 附录等 3 课设论文装订按学校的统一要求完成 4 4 答辩与评分标准 答辩与评分标准 1 完成原理分析 20 分 2 完成设计过程 25 分 3 完成调试 25 分 4 回答问题 10 5 格式规范性 20 分 5 5 参考文献 参考文献 1 计算机组成与结构 第五版 王爱英 主编 清华大学出版社 精品文档 2 欢迎下载 2 计算机组成原理 蒋本珊 著 清华大学出版社 3 微机原理与汇编语言程序设计 荆淑霞 主编 中国水利水电出版社 4 电子技术基础 数字部分 康华光 主编 高等教育出版社 5 EL JY II 型计算机组成原理实验系统实验指导书 北京精仪达盛科技有限公 司 6 6 课程设计进度安排 课程设计进度安排 内容内容 天数天数 地点地点 构思及收集资料 2 图书馆 上级调试 2 实验室 撰写论文 3 图书馆 教室 学生签名 2015 年 6 月 15 日 课程设计课程设计 论文论文 评审意见评审意见 1 完成原理分析 20 分 优 良 中 一般 差 2 设计分析 25 分 优 良 中 一般 差 3 完成调试 25 分 优 良 中 一般 差 4 回答问题 10 分 优 良 中 一般 差 5 格式规范性 20 分 优 良 中 一般 差 评阅人 职称 2015 年 6 月 21 日 精品文档 3 欢迎下载 精品文档 1 欢迎下载 目录目录 一 设计目的 1 1 1 课程设计的目的 1 1 2 课设设计的要求 1 二 设计内容 1 2 1 总体设计方案 1 2 2 设计具体内容 2 三 设计原理 3 3 1 模型机结构 3 3 2 模型机内部工作原理 4 3 3 机器指令代码功能分析 8 3 4 微程序实现过程及分析 8 四 详细设计 26 4 1 实验连线 26 4 2 写微代码 26 4 3 读微代码及校验微代码 27 4 4 写机器指令 28 4 5 读机器指令及校验机器指令 29 4 6 运行程序 29 4 7 实验结果说明 29 五 心得体会 31 六 参考文献 31 精品文档 1欢迎下载 一 设计目的一 设计目的 1 11 1 课程设计的目的 课程设计的目的 计算机组成原理 课程设计是为计算机组成原理课程而独立开设的实践 性课程 计算机组成原理 课程设计对于巩固计算机组成原理知识 加强学生 的实际动手能力和提高学生综合素质十分必要 计算机组成原理课程设计的主要目的是 1 通过对一个简单计算机的设计 以达到对计算机的基本组成 部件的 设计 部件间的连接 微程序控制器的设计 微指令的编制与调试等过程有更 深的了解 加深对理论课程的理解 2 通过设计模型机 连贯运用计算机组成原理课程学到的知识 建立计 算机整机概念 3 培养独立工作和创新思维的能力 取得设计与调试的实践经验 1 21 2 课设设计的要求 课设设计的要求 在掌握 EL JY II 型计算机组成原理实验系统 原理的基础上 以此实验 系统为平台 设计实验一台微程序控制的模型计算机 要求学生动手操作实验设备 掌握微程序设计思想和设计方法 设计实现 一个带复杂指令的模型机 该模型机由运算器 寄存器 译码电路 存储器 和存储微指令用的控制存储器组成 并能实现一些自行设计的复杂机器指令 并根据设计好的指令设计复杂的机器指令程序 实现输入 输出 存储器读写 和带复杂的控制指令 二 设计内容二 设计内容 2 12 1 总体设计方案 总体设计方案 描述模型机的逻辑框图 描述模型机指令执行流程 1 模型机指令系统的设计 描述模型机的数据表示和寻址方式 描述模 型机的指令格式 描述模型机的指令系统和相应的二进制形式的机器编码 设 计模型机指令系统 含设计机器指令 微指令格式 每条指令所对应的微程序 等 精品文档 2欢迎下载 2 模型机指令系统的实现 描述实现指令系统的微程序设计的思想 描 述实现机器指令的微指令的指令格式 描述微指令操作控制字段的编码方式 描述微指令后续微地址的形成方式 模型机指令实现的微程序流程图 3 在以上软设计的基础上 针对不同的功能要求 设计机器指令程序 验证机器指令的功能 2 22 2 设计具体内容 设计具体内容 1 课程设计准备 1 分析实验模型机结构 2 分析给出的机器指令的功能 3 在 CPU 模型图上画出每条指令的指令执行流程 并分析相应的微程序控 制信号序列 理解各条微指令的编码意义 2 课程设计具体内容 1 按要求在模型机上接好线路 2 分析设计基本机器指令的微程序 在实验指导书的基础上自行设计并添 加复杂指令 3 手工或通过串口连接计算机输入微程序 4 测试指令执行过程是否与要求相符 5 记录每条指令的执行流程 6 改写微程序完成指定的指令功能并实现多种寻址方式 7 验证改写后指令的执行情况是否符合设计要求 8 记录实验运行结果 9 完成课程设计论文或报告 10 做好实验小结 11 课程设计论文答辩 精品文档 3欢迎下载 三 设计原理三 设计原理 3 13 1 模型机结构 模型机结构 图中运算器 ALU 由 U7 U10 四片 74LS181 构成 暂存器 1 由 U3 U4 两片 74LS273 构成 暂存器 2 由 U5 U6 两片 74LS273 构成 微控器部分控存由 U13 U15 三片 2816 构成 除此之外 CPU 的其它部分都由 EP1K10 集成 其原 理见系统介绍部分 存储器部分由两片 6116 构成 16 位存储器 地址总线只有低八位有效 因 而其存储空间为 00H FFH 输出设备由底板上的四个 LED 数码管及其译码 驱动电路构成 当 D G 和 W R 均为低电平时将数据总线的数据送入数码管显示 在开关方式下 输入设 备由 16 位电平开关及两个三态缓冲芯片 74LS244 构成 当 DIJ G 为低电平时将 精品文档 4欢迎下载 16 位开关状态送上数据总线 在键盘方式或联机方式下 数据可由键盘或上位 机输入 然后由监控程序直接送上数据总线 因而外加的数据输入电路可以不 用 注 本系统的数据总线为注 本系统的数据总线为 1616 位 指令 地址和程序计数器均为位 指令 地址和程序计数器均为 8 8 位 当数位 当数 据总线上的数据打入指令寄存器 地址寄存器和程序计数器时 只有低据总线上的数据打入指令寄存器 地址寄存器和程序计数器时 只有低 8 8 位有位有 效效 3 23 2 模型机内部工作原理 模型机内部工作原理 在本实验中我们将学习读 写机器指令和运行机器指令的完整过程 在机 器指令的执行过程中 从 CPU 从内存取出一条机器指令到执行结束为一个指令 周期 指令由微指令组成的序列来完成 一条机器指令对应一段微程序 另外 读 写机器指令也分别由相应的微程序段来完成 为了向 RAM 中装入程序和数据 检查写入是否正确 并能启动程序执行 必须设计三个控制操作微程序 存储器读操作 MRD 拨动清零开关 CLR 对地址 指令寄存器清零后 指 令译码输入 CA1 CA2 为 00 时 按 单步 键 可对 RAM 连续读操作 存储器写操作 MWE 拨动清零开关 CLR 对地址 指令寄存器清零后 指 令译码输入 CA1 CA2 为 10 时 按 单步 键 可对 RAM 连续写操作 启动程序 RUN 拨动开关 CLR 对地址 指令寄存器清零后 指令译码输 入 CA1 CA2 为 11 时 按 单步 键 即可转入到第 01 号 取指 微指令 启动程序运行 注 注 CA1CA1 CA2CA2 由控制总线的由控制总线的 E4E4 E5E5 给出 键盘操作方式时由监控程序直给出 键盘操作方式时由监控程序直 接对接对 E4E4 E5E5 赋值 无需接线 开关方式时可将赋值 无需接线 开关方式时可将 E4E4 E5E5 接至控制开关接至控制开关 CA1CA1 CA2CA2 由开关来控制 由开关来控制 本系统设计的微指令字长 24 位 其控制位顺序如下 242322212019181716 15 14 13 12 11 10 9 8 7 654321 S3S2S1S0MCnWE1A1BF1F2F3uA5uA4uA3uA2uA1uA0 三个字段的编码方案如表 7 1 其余控制位的含义见实 验五 F1 字段F2 字段F3 字段 15 14 13 选择 12 11 10 选择 9 8 7 选择 0 0 0LDRi0 0 0RAG0 0 0P1 0 0 1LOAD0 0 1ALU G0 0 1AR 精品文档 5欢迎下载 0 1 0LDR20 1 0RCG0 1 0P3 0 1 1 自定义 0 1 1 自定义 0 1 1 自定义 1 0 0LDR11 0 0RBG1 0 0P2 1 0 1LAR1 0 1PC G1 0 1LPC 1 1 0LDIR1 1 0299 G1 1 0P 4 1 1 1 无操作 1 1 1 无操作 1 1 1 无操作 表表 7 7 1 1 微指令译码电路如下 图 5 3 微指令译码电路 图中 MS24 MS16 对应于微指令的第 24 16 位 S3S2S1S0MCn 为运算器的 方式控制 ALU 算术逻辑单元 能进行多种算术运算和逻辑运算 一个 4 位的 ALU 74LS181 运算功能发生器能进行 16 种算术运算和逻辑运算 功能表如下 方式M 1 逻辑运算M 0 算术运算 S3 S2 S1 S0 逻辑运算CN 1 无进位 CN 0 有进位 0 0 0 0F AF A F A 加 1 0 0 0 1F A B F A B F A B 加 1 0 0 1 0F A BF A B F A B 加 1 0 0 1 1F 0 F 负 1 F 0 精品文档 6欢迎下载 0 1 0 0F AB F A 加 A B F A 加 A B 加 1 0 1 0 1F B F A B 加 A BF A B 加 A B 加 1 0 1 1 0F A B F A 减 B 减 1F A 减 B 0 1 1 1F A B F A B 减 1 F A B 1 0 0 0F A B F A 加 ABF A 加 AB 加 1 1 0 0 1F A B F A 加 BF A 加 B 加 1 1 0 1 0F B F A B 加 ABF A B 加 AB 加 1 1 0 1 1F AB F AB 减 1 F AB 1 1 0 0F 1 F A 加 AF A 加 A 加 1 1 1 0 1F A B F A B 加 AF A B 加 A 加 1 1 1 1 0F A B F A B 加 AF A B 加 A 加 1 1 1 1 1F A F A 减 1 F A 上表中的 表示求反 由上表可知 该实验中主要运用的算数加法和算数减法所对应的 S3 S2 S1 S0 分别是 1001 和 0110 主要运用的逻辑与运算 逻辑或运算 逻 辑异或运算以及逻辑非运算所对应的 S3 S2 S1 S0 分别是 1011 1110 0110 和 0000 WE 为外部器件的读写信号 1 表示写 0 表示读 1A 1B 用于选通 外部器件 通常接至底板 IO 控制电路的 1A1B 端 四个输出 Y0Y1Y2Y3 接外部器 件的片选端 注 在实验六及以后的实验中 注 在实验六及以后的实验中 Y3Y3 被系统占用 用于输入中断 被系统占用 用于输入中断 Y0Y1Y2Y0Y1Y2 仍能被用户使用 仍能被用户使用 图 5 3 中 MS15 MS13 对应于微指令中的 F1 经锁存译码后产生 6 个输出 信号 LDRi LDR1 LDR2 LDIR LOAD LAR 其中 LDR1 LDR2 为运算器的两 个锁存控制 见实验一 LDIR 为指令寄存器的锁存控制 见系统介绍中指令 寄存器电路 LRi 为寄存器堆的写控制 它与指令寄存器的第 0 位和第 1 位共 同决定对哪个寄存器进行写操作 见系统介绍中寄存器堆电路和图 5 4 LOAD 为程序计数器的置数控制 LAR 为地址寄存器的锁存控制 见系统介绍中程序 计数器和地址寄存器电路 以上 6 个输出信号均为 1 有效 图 5 3 中 MS12 MS10 对应于微指令中的 F2 经锁存译码后产生 6 个输出 信号 RAG RBG RCG 299 G ALU G PC G 其中 RAG RBG RCG 分别为寄存 器 Ax Bx Cx 的输出控制 见系统介绍中寄存器堆电路 299 G 为移位寄存 器的输出控制 见实验二 ALU G 为运算器的输出控制 见实验一 PC G 为 程序计数器的输出控制 见系统介绍中程序计数器和地址寄存器电路 以上信 号均为 0 有效 图 5 3 中 MS9 MS9 对应于微指令中的 F3 经锁存译码后产生 6 个输出信 精品文档 7欢迎下载 号 P1 P2 P3 P4 AR LPC 其中 P1 P2 P3 P4 位测试字 其功能是对 机器指令进行译码 使微程序转入相应的微地址入口 从而实现微程序的顺序 分支和循环运行 见实验 4 的图 4 1 b 和图 5 4 AR 为运算器的进位输出 控制 见实验一 LPC 为程序计数器的时钟控制 见系统介绍中程序计数器电 路 以上信号均为 1 有效 图 5 4 指令译码器电路 系统涉及到的微程序流程见图 6 2 图中各方框内为微指令所执行的操作 图中各方框内为微指令所执行的操作 方框外的标号为该条微指令所处的八进制微地址 方框外的标号为该条微指令所处的八进制微地址 控制操作为 P4 测试 它以 CA1 CA2 作为测试条件 出现了写机器指令 读机器指令和运行机器指令 3 路 分支 占用 3 个固定微地址单元 当分支微地址单元固定后 剩下的其它地方 就可以一条微指令占用控存一个微地址单元随意填写 机器指令的执行过程如下 首先将指令在外存储器的地址送上地址总线 然后将该地址上的指令传送至指令寄存器 这就是 取指 过程 之后必须对 操作码进行 P1 测试 根据指令的译码将后续微地址中的某几位强制置位 使下 一条微指令指向相应的微程序首地址 这就是 译码 过程 其原理见图 5 4 然后才顺序执行该段微程序 这是真正的指令执行过程 在所有机器指令的执行过程中 取指 和 译码 是必不可少的 而且微 指令执行的操作也是相同的 这些微指令称为公用微指令 对应于图 6 2 中 精品文档 8欢迎下载 01 02 31 地址的微指令 31 地址为 译码 微指令 该微指令的操作为 P 1 测试 测试结果出现多路分支 本实验用指令寄存器的前 4 位 I7 I4 作为测试条件 出现 5 路分支 占用 5 个固定微地址单元 当全部微程序流程图设计完毕后 应将每条微指令代码化 表 6 2 即为将 图 6 2 的微程序流程按微指令格式转化而成的 二进制微代码表 3 33 3 机器指令代码功能分析 机器指令代码功能分析 本实验采用条机器指令 根据上面所说的工作原理 设计参考实验程序如 下 地址 二进制 机器指令码 助记符 说 明 0000 0000 0000 0000 IN AX KIN 数据输入电路 AX 0000 0001 0010 0001 MOV Bx 01H 0001H Bx 0000 0010 0000 0001 0000 0011 0110 0000 ROR Ax Ax 循环右移一位 0000 0100 0001 0000 SUB Ax Bx Ax Bx Ax 0000 0101 0101 0000 ROL Ax Ax 循环左移一位 0000 0110 0111 0000 ADD Ax Bx Ax Bx Ax 0000 0111 0011 0000 OUT DISP Ax Ax 输出显示电路 0000 1000 0100 0000 JMP 00H 00H PC 0000 1001 0000 0000 注 其中注 其中 MOVMOV JMPJMP 为双字长 为双字长 3232 位 位 其余为单字长指令 对于双字长指令 其余为单字长指令 对于双字长指令 第一字为操作码 第二字为操作数 对于单字长指令只有操作码 没有操作数 第一字为操作码 第二字为操作数 对于单字长指令只有操作码 没有操作数 上述所有指令的操作码均为低上述所有指令的操作码均为低 8 8 位有效 高八位默认为位有效 高八位默认为 0 0 而操作数 而操作数 8 8 位和位和 1616 位均可 位均可 KINKIN 和和 DISPDISP 分别为本系统专用输入 输出设备 分别为本系统专用输入 输出设备 3 43 4 微程序实现过程及分析 微程序实现过程及分析 1 表 7 2 为根据本实验程序流程图设计的二进制微代码表 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0000000 0 0 0 0 0 0 0 0111111110010000 0000010 0 0 0 0 0 0 0 0101101101000010 0000100 0 0 0 0 0 0 1 0110111111011001 0000110 0 0 0 0 0 0 0 0010100111000110 0001100 1 1 0 0 0 0 0 0000001111000001 0001110 0 0 0 0 0 0 1 0000111111000001 精品文档 9欢迎下载 0010000 0 0 0 0 0 0 1 1000111000000001 0010010 0 0 0 0 0 0 0 0100000111000011 0010100 0 0 0 0 0 0 0 0101101101000111 0010110 0 0 0 0 0 1 0 1111000111000001 0011000 0 0 0 0 0 0 0 0101101101011010 0011010 0 1 1 0 0 0 0 0 000000111011011 0011100 0 1 1 0 0 0 0 0 000000111011101 0011110 0 0 0 0 0 0 0 0 100000111011111 0100000 0 0 0 0 0 0 0 0101101101010010 0100010 0 0 0 0 0 0 0 0101101101010100 0100100 0 0 0 0 0 0 1 0100111111010111 0100110 0 0 0 0 0 0 0 0111111111000001 0101000 0 0 0 0 0 0 1 1100111111011000 0101110 0 0 0 0 1 1 0 1111001111010000 0110001 1 1 1 1 1 1 1 0111001111010001 0110010 0 0 0 0 0 0 1 0110111000001000 0110100 0 0 0 0 0 0 1 0001111101000001 0110110 0 0 1 0 0 0 0 0111110111011100 0111000 0 0 0 0 0 0 0 0000110111000001 0111010 0 1 0 0 0 0 0 0111110111011110 0111100 0 0 0 0 0 0 0 0000110111000001 0111110 0 0 0 0 0 0 0 0010 100111100000 100001 0 0 1 0 1 0 0 0000001111000001 表表 7 27 2 实验七的二进制微代码表实验七的二进制微代码表 2 微程序流程图 精品文档 10欢迎下载 控制开关 00 P 4 测试 MWE 10 MRD 00 RUN 11 PC AR PC 1 21 PC AR PC 1 20 23 D INPUT D BUS LT1 24 RAM D BUS LT1 22 01 LT1 RAM 30 LT1 LED 27 图 7 2 微程序流程图 3 分析微指令 1 通用指令 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0000010 0 0 0 0 0 0 0 0101101101000010 0000100 0 0 0 0 0 0 1 0110111111011001 0110010 0 0 0 0 0 0 1 0110111000001000 分析说明 PC AR PC 1 F1 101 LAR 为地址寄存器的锁存控制打开 F2 101 PC G 为程序计数器的 输出控制打开 F3 101 LPC 为程序计数器的时钟控制打开 因此下地址字段为 精品文档 11欢迎下载 000010 2 作为下一条微指令地址 WE 为外部器件的读写信号 0 表示读 功能是把程序计数器 PC 值送往 AR 地址寄存器中 并且 PC 1 分析说明 RAM D BUS IR F1 110 LDIR 为指令寄存器的锁存控制打开 F2 111 无操作 F3 111 无操作 下地址字段为 011001 3 作为下一条微指令地址 WE 为外部器件的 读写信号 0 表示读 1A 1B 用于选通外部器件 功能是把 RAM 中的数据送 往数据总线 再由数据总线送往 IR 指令寄存器中 01 02 指令共同完成取指 操作 分析说明 P 1 测试 F1 110 LDIR 为指令寄存器的锁存控制打开 F2 111 无操作 F3 000 为 P1 测试 其功能是对机器指令进行译码 使微程序转入相应的微地址入口 从而实现微程序的顺序 分支和循环运行 31 指令完成指令译码操作 WE 为外 部器件的读写信号 0 表示读 1A 1B 用于选通外部器件 2 IN 指令 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0010000 0 0 0 0 0 0 1 1000111000000001 分析说明 D INPUT Ax F1 000 LDRi 表示寄存器堆的写控制 它与指令寄存器的第 0 位和第 1 位共同决定对哪个寄存器进行写操作 这里是对 AX 进行写控制 F2 111 无操 作 F3 000 P1 位测试字 其功能是对机器指令进行译码 使微程序转入相应 的微地址入口 从而实现微程序的顺序 分支和循环运行 因此下地址字段为 精品文档 12欢迎下载 000001 01 作为下一条微指令地址 WE 为外部器件的读写信号 0 表示读 1A 1B 用于选通外部器件 功能是输入数据并写入 AX 中 精品文档 13欢迎下载 精品文档 14欢迎下载 3 SUB 指令 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0010010 0 0 0 0 0 0 0 0100000111000011 0000110 0 0 0 0 0 0 0 0010100111000110 0001100 1 1 0 0 0 0 0 0000001111000001 分析说明 Ax D BUS LT1 F1 100 LDR1 为运算器的两个锁存控制打开 F2 000 其中 RAG 为寄存器 Ax 的输出控制打开 F3 111 无操作 下址字段为 000011 代表下一条微指令 的微地址为 000011 03 WE 为外部器件的读写信号 0 表示读 功能为将 AX 中的数据送往数据总线 再由数据总线将数据送往 ALU 运算器的一个暂存器 暂存等待操作 分析说明 Bx D BUS LT2 F1 010 LDR2 为运算器的两个锁存控制打开 F2 100 其中 RBG 为寄存器 Bx 的输出控制打开 F3 111 无操作 下址字段为 000110 代表下一条微指令 的微地址为 000110 06 WE 为外部器件的读写信号 0 表示读 功能为将 BX 中的数据送往数据总线 再由数据总线将数据送往 ALU 运算器的一个暂存器 暂存等待操作 分析说明 LT1 LT2 Ax 精品文档 15欢迎下载 F1 000 LDRi 表示寄存器堆的写控制 它与指令寄存器的第 0 位和第 1 位共同决定对哪个寄存器进行写操作 这里是对 AX 进行写控制 F2 001 ALU G 为运算器的输出控制 F3 111 无操作 下址字段为 000001 代表下一条微指 令的微地址为 0000 1 01 WE 为外部器件的读写信号 0 表示读 由 S3 S2 S1 S0 M CN 011000 可知 ALU 做的减法操作 功能为将 ALU 两个暂存器中 的数据相减 送往 Ax 中 精品文档 16欢迎下载 4 MOV 指令 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0010100 0 0 0 0 0 0 0 0101101101000111 0001110 0 0 0 0 0 0 1 0000111111000001 分析说明 PC AR PC 1 F1 101 LAR 为地址寄存器的锁存控制打开 F2 101 PC G 为程序计数器的 输出控制打开 F3 101 LPC 为程序计数器的时钟控制打开 因此下地址字段为 000111 07 作为下一条微指令地址 WE 为外部器件的读写信号 0 表示读 功能是把程序计数器 PC 值送往 AR 地址寄存器中 并且 PC 1 分析说明 RAM D BUS Bx F1 000 LDRi 表示寄存器堆的写控制 它与指令寄存器的第 0 位和第 1 位共同决定对哪个寄存器进行写操作 这里是对 BX 进行写控制 F2 111 无操 作 F3 111 无操作 下址字段为 000001 代表下一条微指令的微地址为 00001 01 WE 为外部器件的读写信号 0 表示读 1A 1B 用于选通外部器 件 功能是将 RAM 中的数据送往数据总线 然后通过数据总线将数据送往 BX 寄 存器 精品文档 17欢迎下载 5 OUT 指令 精品文档 18欢迎下载 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0010110 0 0 0 0 0 1 0 1111000111000001 分析说明 Ax LED F1 111 无操作 F2 000 RAG 为寄存器 Ax 的输出控制打开 F3 111 无 操作 WE 为外部器件的读写信号 1 表示写 1A 1B 用于选通外部器件 功 能是将 AX 数据送往 LED 并显示出来 精品文档 19欢迎下载 6 JMP 指令 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0011000 0 0 0 0 0 0 0 0101101101011010 0110100 0 0 0 0 0 0 1 0001111101000001 分析说明 PC AR PC 1 F1 101 LAR 为地址寄存器的锁存控制打开 F2 101 PC G 为程序计数器的 输出控制打开 F3 101 LPC 为程序计数器的时钟控制打开 因此下地址字段为 011010 32 作为下一条微指令地址 WE 为外部器件的读写信号 0 表示读 功能是把程序计数器 PC 值送往 AR 地址寄存器中 并且 PC 1 分析说明 RAM D BUS PC F1 001 LOAD 为程序计数器的置数控制打开 F2 111 无操作 F3 101 LPC 为程序计数器的时钟控制打开 下地址字段为 000001 01 作为下一条微指令 地址 WE 为外部器件的读写信号 0 表示读 1A 1B 用于选通外部器件 功 能是将 RAM 中的数据送往数据总线 再由数据总线将数据送往 PC 实现跳转 精品文档 20欢迎下载 精品文档 21欢迎下载 7 ROL 指令 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0011010 0 1 1 0 0 0 0 0 000000111011011 0110110 0 0 1 0 0 0 0 0111110111011100 0111000 0 0 0 0 0 0 0 0000110111000001 分析说明 F1 000 LDRi 表示寄存器堆的写控制 它与指令寄存器的第 0 位和第 1 位共同决定对哪个寄存器进行写操作 这里是对 AX 进行写控制 F2 000 RAG 为寄存器 Ax 的输出控制打开 F3 111 无操作 WE 为外部器件的读写信号 0 表示读 下址字段为 011011 33 作为下一条微指令地址 功能是将 AX 数据存往移位寄存器 sreg 分析说明 F1 111 无操作 F2 110 299 G 为移位寄存器的输出控制打开 F3 111 无操作 WE 为外部器件的读写信号 0 表示读 下址字段为 011100 34 作 为下一条微指令地址 功能是将 sreg 移位寄存器中的数据循环左移一位 分析说明 F1 000 LDRi 表示寄存器堆的写控制 它与指令寄存器的第 0 位和第 1 精品文档 22欢迎下载 位共同决定对哪个寄存器进行写操作 这里是对 AX 进行写控制 F2 110 299 G 为移位寄存器的输出控制打开 F3 111 无操作 WE 为外部器件的读写信号 0 表示读 下址字段为 000001 01 作为下一条微指令地址 功能是将 sreg 移位寄存器中的数据转存到 Ax 寄存器中 精品文档 23欢迎下载 8 ROR 指令 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0011100 0 1 1 0 0 0 0 0 000000111011101 0111010 0 1 0 0 0 0 0 0111110111011110 0111100 0 0 0 0 0 0 0 0000110111000001 分析说明 F1 000 LDRi 表示寄存器堆的写控制 它与指令寄存器的第 0 位和第 1 位共同决定对哪个寄存器进行写操作 这里是对 AX 进行写控制 F2 000 RAG 为寄存器 Ax 的输出控制打开 F3 111 无操作 WE 为外部器件的读写信号 0 表示读 下址字段为 011101 35 作为下一条微指令地址 功能是将 AX 数据存往移位寄存器 sreg 分析说明 F1 111 无操作 F2 110 299 G 为移位寄存器的输出控制打开 F3 111 无操作 WE 为外部器件的读写信号 0 表示读 下址字段为 011110 36 作 为下一条微指令地址 功能是将 sreg 移位寄存器中的数据循环右移一位 分析说明 F1 000 LDRi 表示寄存器堆的写控制 它与指令寄存器的第 0 位和第 1 精品文档 24欢迎下载 位共同决定对哪个寄存器进行写操作 这里是对 AX 进行写控制 F2 110 299 G 为移位寄存器的输出控制打开 F3 111 无操作 WE 为外部器件的读写信号 0 表示读 下址字段为 000001 01 作为下一条微指令地址 功能是将 sreg 移位寄存器中的数据转存到 Ax 寄存器中 精品文档 25欢迎下载 9 ADD 指令 微地址 S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5 UA0 0011110 0 0 0 0 0 0 0 0 100000111011111 0111110 0 0 0 0 0 0 0 0010 100111100000 100001 0 0 1 0 1 0 0 0000001111000001 分析说明 Ax D BUS LT1 F1 100 LDR1 为运算器的两个锁存控制打开 F2 000 其中 RAG 为寄存器 Ax 的输出控制打开 F3 111 无操作 下址字段为 011111 代表下一条微指令 的微地址为 011111 37 WE 为外部器件的读写信号 0 表示读 功能为将 AX 中的数据送往数据总线 再由数据总线将数据送往 ALU 运算器的一个暂存器 暂存等待操作 分析说明 Bx D BUS LT2 F1 010 LDR2 为运算器的两个锁存控制打开 F2 100 其中 RBG 为寄存器 Bx 的输出控制打开 F3 111 无操作 下址字段为 100000 代表下一条微指令 的微地址为 100000 40 WE 为外部器件的读写信号 0 表示读 功能为将 BX 中的数据送往数据总线 再由数据总线将数据送往 ALU 运算器的一个暂存器 暂存等待操作 分析说明 LT1 LT2 Ax 精品文档 26欢迎下载 F1 000 LDRi 表示寄存器堆的写控制 它与指令寄存器的第 0 位和第 1 位共同决定对哪个寄存器进行写操作 这里是对 AX 进行写控制 F2 001 ALU G 为运算器的输出控制 F3 111 无操作 下址字段为 000001 代表下一条微指 令的微地址为 0000 1 01 WE 为外部器件的读写信号 0 表示读 由 S3 S2 S1 S0 M CN 100101 可知 ALU 做的加法操作 功能为将 ALU 两个暂存器中 的数据相加 送往 Ax 中 精品文档 27欢迎下载 四 详细设计四 详细设计 单片机键盘操作方式实验 在进行单片机键盘操作实验时 必须把 K4 开关置于 OFF 状态 否则系 统处于自锁状态 无法进行实验 4 14 1 实验连线 实验连线 实验连线图如图 7 3 所示 连线时应按如下方法 对于横排座 应使排线插头上的箭头面向自己插在 横排座上 对于竖排座 应使排线插头上的箭头面向左边插在竖排座上 4 24 2 写微代码 写微代码 1 将开关 K1K2K3K4 拨到写状态即 K1 off K2 on K3 off K4 off 其中 K1 K2 K3 在微程序控制电路 K4 在 24 位微代码输入及显示电路上 在 监控指示灯滚动显示 CLASS SELECt 状态下按 实验选择 键 显示 ES 输入 07 或 7 按 确认 键 显示为 ES07 再按下 确认 键 2 监控显示为 CtL1 表示对微代码进行操作 输入 1 显示 CtL1 1 表示写微代码 按 确认 3 监控显示 U Addr 此时输入 000000 6 位二进制数表示的微地 精品文档 28欢迎下载 址 然后按 确认 键 监控指示灯显示 U CodE 此时输入微代码 007F90 该微代码是用 6 位十六进制数来表示前面的 24 位二进制数 注意 输入微代码的顺序 先右后左 按 确认 键则显示 PULSE 按 单步 完 成一条微代码的输入 重新显示 U Addr 提示输入表 7 3 第二条微代码地址 按照上面的方法输入表 7 3 微代码 观察微代码与微地址显示灯的对应关系 注意输入微代码的顺序是由右至左注意输入微代码的顺序是由右至左 加粗为自行设计并加入的代码加粗为自行设计并加入的代码 微地址 八 进制 微地址 二进制 微代码 十六 进制 00000000007F90 01000001005B42 02000010016FD9 030000110029C6 060001106003C1 07000111010FC1 10001000018E01 110010010041C3 12001010005B47 1300101102F1C15A a 150011013001DB 160011103001DD 17170011110011110041DF0041DF 20010000005B52 21010001005B54 22010010014FD7 23010011007FC1 2401010001CFD8 2501010106F3C1 26010110011F41 2701011106F3D0 30011000FF73D1 31011001016E08 32011010011F41 33011011107DDC 34011100000DC1 35011101207DDE 36011110000DC1 37370111110111110029E00029E0 40401000001000009403C19403C1 表表 7 7 3 3 实验七微代码表实验七微代码表 4 34 3 读微代码及校验微代码 读微代码及校验微代码 精品文档 29欢迎下载 1 先将开关 K1K2K3K4 拨到读状态即 K1 off K2 off K3 on K4 off 按 RESET 按钮对单片机复位 使监控指示灯滚动显示 CLASS SELECt 状态 2 按 实验选择 键 显示 ES 输入 07 或 7 按 确认 键 显示 ES07 按 确认 键 显示 CtL1 时 输入 2 按 确认 进入读 代码状态 3 监控显示 U Addr 此时输入 6 位二进制微地址 再按 确认 显 示 PULSE 此时按 单步 键 微地址指示灯显示输入的微地址 微代码显 示电路上显示该地址对应的微代码 至此完成一条微指令的读过程 4 此时监控显示 U Addr 按照上述步骤继续输入微地址 对照表 7 2 表检查微代码是否有错误 如有错误 可按步骤 2 重新输入微代码 4 44 4 写机器指令 写机器指令 1 先将 K1K2K3K4 拨到运行状态即 K1 on K2 off K3 on K4 off 按 RESET 按钮对单片机复位 使监控指示灯滚动显示 CLASS SELECt 状态 2 按 实验选择 键 显示 ES 输入 07 或 7 按 确认 键 显示 ES07 再按 确认 3 监控显示 CtL1 按 取消 键 监控指示灯显示 CtL2 输 入 1 显示 CtL2 1 表示进入对机器指令写操作状态 此时拨动 CLR 清零开关 对地址寄存器 指令寄存器清零 4 确定清零后 按 确认 显示闪烁的 PULSE 连续按 单步 键 当微地址显示灯显示 010100 时 按 确认 键 监控指示灯显示 data 提示输入机器指令 00 或 0000 两位或四位十六进制数 输入后按 确 认 显示 PULSE 再按 单步 微地址显示灯显示 011000 数据总线显 示灯显示 0000000000000000 即输入的机器指令 此时第一条机器指令完成 5 连续按 单步 当微地址显示灯再次显示 010100 时 按 确认 输入第二条机器指令 依此规律逐条输入表 7 4 的机器指令 输完后 可连续 按 取消 或 RESET 退出写机器指令状态 注意 每当微地址显示灯显示注意 每当微地址显示灯显示 010100 010100 时 地址指示灯自动加时 地址指示灯自动加 1 1 显示 如输入指令为显示 如输入指令为 8 8 位 则高位 则高 8 8 位自动位自动 变为变为 0 0 加粗的为自行加入并修改的指令代码 加粗的为自行加入并修改的指令代码 地址 十六进制 机器指令 十六进制 000000 精品文档 30欢迎下载 010021 020001 030300600060 040400100010 050500500050 060600700070 070030 080040 090000 表表 7 7 4 4 实验七机器指令表实验七机器指令表 4 54 5 读机器指令及校验机器指令 读机器指令及校验机器指令 在监控指示灯显示 CtL2 状态下 输入 2 显示 CtL2 2 表示进入 读机器指令状态 按步骤 4 的方法拨动 CLR 开关对地址寄存器和指令寄存器进 行清零 然后按 确认 键 显示 PULSE 连续按 单步 键 微地址显示 灯显示从 000000 开始 然后按 010000 010010 010111 方式 循环显示 当微地址灯再次显示为 010000 时 输出显示数码管上显示写入 的机器指令 读的过程注意微地址显示灯 地址显示灯和数据总线指示灯的对 应关系 如果发现机器指令有误 则需重新输入机器指令 注意 机器指令存放在 RAM 里 掉电丢失 故断电后需重新输入 4 64 6 运行程序 运行程序 在监控指示灯显示 CtL2 状态下 输入 3 显示 CtL2 3 表示进入 运行机器指令状态 按步骤 4 的方法拨动 CL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工组织设计(老旧小区改造工程)
- 过程评审记录参考模板
- 2020-2025年教师资格之小学教育学教育心理学题库练习试卷A卷附答案
- 2020-2025年一级造价师之建设工程技术与计量(水利)能力测试试卷B卷附答案
- 202520建筑工程施工合同协议书范本
- 幼儿学习故事分享培训
- 新编财务管理实训
- 感染科结核病患者监测流程
- 抑郁症倾向筛查方案
- 下半年培训计划方案
- 第十四章基因的表达与调控
- 水库大坝安全评价导则
- 点的立体构成
- 《格萨尔王传研究开题报告文献综述》
- 阅读推荐课《不老泉》课件
- 护士长医院感染管理知识培训正式完整版课件
- 危大工程验收记录表(模板工程)
- 风功率预测系统及测风塔专项检查表
- 短视频:策划+拍摄+制作+运营课件(完整版)
- 产假申请复工表
- 设施育苗技术(课堂PPT)
评论
0/150
提交评论