计算机组成原理课程设计_第1页
计算机组成原理课程设计_第2页
计算机组成原理课程设计_第3页
计算机组成原理课程设计_第4页
计算机组成原理课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 i欢迎下载 课课程程设设计计说说明明书书 计算机组成原理课程设计计算机组成原理课程设计 院 系 计算机科学与工程学院 专业班级 学 号 学生姓名 指导教师 2014 年 12 月 26 日 精品文档 ii欢迎下载 安徽理工大学课程设计 论文 任务书 计算机科学与工程 院 系 学 号 2012303287 学生姓名 专业 班级 设计 题目 设计基本模型机的指令系统实现循环左移 设 计 技 术 参 数 计算机组成原理教学实验仪一台 排线若干 PC 机一台 DJ CPT816 组成原理实验软件 模型机的指令系统 微程序 微指令 程序 设 计 要 求 1 在基本模型机的基础上构建一组能够实现输入 输出 加 减 逻辑与 逻辑 或 逻辑非 转移指令等八个功能的指令 这些指令的助记符不得与指导书上 相同 2 指令包括立即数寻址 寄存器直接寻址 存储器直接寻址三种寻址方式 3 输入一个 16 位的数 对其进行循环左移 工 作 量 1 画流程图 编写微指令代码和程序 工 作 计 划 1 首先认真研究老师所给的题目 了解题目要求做什么 2 查阅资料 解决问题 3 编写源程序并调试之 4 写课程设计说明书 参 考 资 料 1 张昆藏 计算机系统结构 北京 科学出版社 1994 2 白中英 计算机组成原理 第二版 北京 科学出版社 1998 3 DJ CPTH 超强型计算机组成原理与系统结构实验指导书 指导教师签字系主任签字 2014 年 12 月 1 日 精品文档 iii欢迎下载 安徽理工大学课程设计 论文 成绩评定表安徽理工大学课程设计 论文 成绩评定表 指导教师评语 成绩 指导教师 年 月 日 精品文档 iv欢迎下载 摘要 计算机组成原理课程设计课题是基本模型机的设计与实现 利用 CPU 与简单模型 机来实现计算机组成原理课程设计 编写指令的应用程序 用微程序控制器实现一系 列的指令功能 最终达到将理论与实践相联系 本次设计完成了相关指令的格式以及 编码的设计 实现了机器指令微代码 完成具有一定功能的程序 本次课程设计的题目是输入一个 16 位的数 对其进行循环左移 通过设计流程图 编写机器指令 微指令和控制信号程序 首先向存储器中装入数据和程序 然后检查 写入是否正确 启动程序执行 另外 还需设计微程序 本课程设计要求实现机器指 令 MOVV 传送 RU 输入 HUO 逻辑或 JIA 加法运算 JIAC 带进位的加 法 TZ 判断 A 寄存器里的内容是否为零 TIAO 跳转 以上各微指令设计完毕后 用设计好的指令实现逻辑运算 连接线路在 CPTH 计算机组成原理教学实验箱运行程序 并将实验结果显示输出 本次课程设计偏重于对计算机工作的原理和计算机微机的指令系统学习和深入的 了解 对以后的学习打下一个好的基础 这一课题的实现不仅使我们对各种微指令有 了熟练的掌握 更对以后的学习 工作中有深远的影响 关键词 关键词 微指令 机器指令 循环左移 精品文档 I欢迎下载 目录 1 原理介绍 1 1 1 cpu 功能与原理 1 1 2 指令周期 1 1 3 微程序控制 1 1 4 微程序控制原理 2 1 5 微程序控制器 2 2 实验环境介绍 3 2 1 设计背景分析 3 2 2 设计目的与要求 5 3 系统设计 6 3 1 不带进位的循环左移 6 3 2 机器指令集的编写与功能 6 3 3 程序系统分析 7 3 4 程序微指令分析 8 3 5 实验结果 10 4 实验总结 13 4 1 设计体会 13 4 2 系统改进 13 5 参考文献 14 精品文档 1欢迎下载 1 原理介绍 1 1 cpu 功能与原理 数据缓存寄存器 DR 数据缓存寄存器用来暂时存放 ALU 的运算结果 或由数据 存储器读出的一个数据字 或来自外部接口的一个数据字 指令寄存器 IR 指令寄存器用来保存当前正在执行的一条指令 当执行一条指 令时 先把它从指令 cache 存储器读出 然后再传送至指令寄存器 程序计数器 PC 为了保证程序能够连续的执行下去 CPU 必须具有某些首段来 确定下一条指令的地址 数据地址寄存器 AR 数据地址寄存器用来保存当前 CPU 所访问的 cache 存储器单 元的地址 通用寄存器 R0 R3 当算术逻辑单元执行算术或逻辑运算时 为 ALU 提 供一个工作区 状态字寄存器 PSW 状态字寄存器保存由算数指令和逻辑指令运算或测试结果建 立的各种条件代码 1 2 指令周期 计算机所以能自动的工作 是因为 CPU 能从存放程序的内存里取出一条指令并执 行这一条指令 例如 MOV 指令的指令周期 MOV 是一条 RR 型指令 它需要两个 CPU 周 期 其中一个是取指周期 一个是执行周期 取指周期中完成三件事 从指存取出指令 对程序计数器加 以便为取下条指 令做好准备 对指令操作码进行译码或测码 执行周期操作控制器送出控制信号到通用寄存器 操作控制器送出控制信号到 ALU 指 定 ALU 做传送工作 操作控制器送出控制信号 打开 ALU 输出三态门 操作控制信号 送出控制信号 将 DBUS 上的数据打入到数据缓冲寄存器中 操作控制信号送出控制信 号 将数据韩冲寄存器打入到目标寄存器中 1 3 微程序控制 微程序控制器同硬布线控制器相比较 具有规整性 灵活性 可维护性等一系列 优点 在计算机系统中 微程序设计技术是利用软件方法来设计的一门技术 微程序控制思想 就是仿照通常的解题程序方法 把操作控制信号编程所谓的微 精品文档 2欢迎下载 指令 存放到一个只读存储器中 当机器运行时 有一条一条的读出这些微指令 从 而产生全机所需要的各种操作控制信号 使相应的部件执行所规定的操作呢 由于数 据通路的结构关系 微操作可分为相容的和互斥的两种 互斥的微操作 是指不能同 时或不能在同一个节拍内并行执行的微操作 相容的微操作 是指能够同时或在同一 个节拍内并行执行的微操作 系列微指令的有序集合就是微程序 一段微程序对应一条机器指令 微地址 存放微指令的控制存储器的单元地址 1 4 微程序控制原理 控制存储器 UCM 这是微程序控制器的核心部件 用来存放微程序 其性能 包 括容量 速度 可靠性等 与计算机的性能密切相关 微指令寄存器 UIR 存放从 UCM 取出的正在执行的微指令 它的位数同微指令字 长相等 微地址形成部件 用来产生初始微地址和后继微地址 以保证微指令的连续执行 微地址寄存器 UMAR 它接受微地址形成部件送来的微地址 为下一步从 CM 中读取微指令作准备 1 5 微程序控制器 模型机作为一个整体来工作的 所有的微程序控制信号由微程序存储器 UM 输出 而不是由开关输出 在进行试验之前 先用 芯电缆接 J1 和 J2 是系统处于非手动状 态 这样试验仪的监控系统会自动打开 的输出允许 由软件控制程序实现单指令 执行 单微指令执行等 设计微指令应当追求的目标 有利于缩短微指令的长度 有 利于缩小 CM 的容量 有利于提高微程序的执行速度 精品文档 3欢迎下载 2 实验环境介绍 2 1 设计背景分析 2 1 12 1 1 模型机指令集分析模型机指令集分析 本次课程设计是在 DJ CPT816 计算机组成原理实验仪和仿真软件上进行的 该模型机的指令码为 8 位 根据指令类型的不同 可以有 0 到 2 个操作数 指令 码的最低两位用来选择 R0 R3 寄存器 在微程序控制方式下 用指令码作为微地址来 寻址微程序存储器 找到执行该指令的微程序 在本模型机中 一条指令最多分为四 个状态周期 一个状态周期为一个时钟脉冲 每个状态周期产生不同的控制逻辑 实 现模型机的各种功能 模型机有 24 位控制位以控制寄存器的输入输出 选择运算器的 运算功能 存储器的读写 简言之 这次设计 计算机数据通路的控制将由微程序控制器来完成 CPU 从内存 中取出一条机器指令到指令执行结束的一个指令周期 全部由微指令组成的序列来完 成 即一条机器指令对应一条微程序 一条微程序又有若干微指令组成 一条微指令 的功能由 24 位操作信号 即控制位 实现 24 位控制位分别介绍如下 XRD 外部设备读信号 当给出个外设的地址后 输出此信号 从指定外设读数据 EMWR 程序存储器 EM 写信号 EMRD 程序存储器 EM 读信号 PCOE 将程序计数器 PC 的值送到地址总线 ABUS 上 EMEN 将程序存储器 EM 与数据总线 DBUS 接通 有 EMWR 和 EMRD 决定是将 DBUS 数 据写入 EM 中 还是从 EM 读出数据到 DBUS IREN 将程序存储器 EM 独处的数据打入指令寄存器 IR 和微指令计数器 uPC EINT 中断返回时清除中断响应和中断请求标志 便于下次中断 ELP PC 打入允许 与指令寄存器的 IR2 IR3 位结合 控制程序跳转 MAREN 将数据总线 DBUS 上数据打入地址寄存器 MAR MAROE 将地址寄存器 MAR 的值送到地址总线 ABUS 上 OUTEN 将数据总线 DBUS 上数据送到输出端口寄存器 OUT 里 STEN 将数据总线 DBUS 上数据存到堆栈寄存器里 RRD 读寄存器组 R0 R3 寄存器 R 的选择由指令的最低两位决定 精品文档 4欢迎下载 RWR 写寄存器组 R0 R3 寄存器 R 的选择由指令的最低两位决定 CN 决定运算器是否带进位移位 CN 1 带进位 CN 0 不带进位 FEN 将标志位存入 ALU 内部的标志寄存器 X2 X1 X0 三位组合来译码选择将数据送到 DBUS 上的哪个寄存器 见表 2 1 WEN 将数据总线 DBUS 的值打入工作寄存器 W 中 AEN 将数据总线 DBUS 的值打入累加器 A 中 S2 S1 S0 三位组合决定 ALU 做何种运算 见表 2 2 表 2 1 寄存器选择控制表 X2 X1 X0输出寄存器 0 0 0IN OE 外部输入门 0 0 1IA OE 中断向量 0 1 0ST OE 堆栈寄存器 0 1 1PC OE PC 寄存器 1 0 0D OE 直通门 1 0 1R OE 右移门 1 1 0L OE 左移门 1 1 1没有输出 表 2 2 运算器功能控制 S2 S1 S0功能 0 0 0A W 加 0 0 1A W 减 0 1 0A W 或 0 1 1A 2 在 DJ CPT816 实验软件中新建 asm 文件 输入程序 数据 A 存入 R0 A R0 A 输出数据 数据 A 的输入 精品文档 7欢迎下载 LOOP1 RU MOVV R1 A RU MOVV R0 A LOOP MOVV A R0 JIA A R0 MOVV R0 A MOVV A R1 JIAC A R1 MOVV R1 A HUO A R0 TZ LOOP1 TIAO LOOP 3 3 程序系统分析 1 程序开始执行一条取指的微指令 读入程序第一条指令 LOOP1 RU 手动输入一个数 存入 A 寄存器中 MOVV R1 A 将 A 寄存器的内容存入 R1 寄存器 作为 16 位数的高 8 位 RU 手动输入一个数 存入 A 寄存器中 MOVV R0 A 将 A 寄存器的内容存入 R0 寄存器 作为 16 位数的低 8 位 LOOP MOVV A R0 将 R0 寄存器的数即第八位存到 A 寄存器 JIA A R0 将低八位数与自身相加 即 2 MOVV R0 A 将相加后的结果回存到 R0 寄存器 作为新的第八位 MOVV A R1 将 R1 寄存器的数即高八位存到 A 寄存器 JIAC A R1 将低八位数与自身以及低位相加送来的进位相加 MOVV R1 A 将相加后的结果回存到 R1 寄存器 作为新的高八位 HUO A R0 将 A 寄存器的内容即高八位数与 R0 寄存器即第八位数相 或 TZ LOOP1 若相或的结果为 0 则跳转至 Loop1 重新输入新的数据 精品文档 8欢迎下载 进行移位 TIAO LOOP 否则跳转至 Loop 继续左移 2 将程序另存为 asm 文件 再汇编成机器码 调试窗口会显示出程序 机器码 反汇编指令 见表 3 1 表 3 1 译码表 程序地址机器码反汇编指令指令说明 0024RU 端口 RU 的内容输入到累加器 A 0118MOVV R1 A 累加器 A 中的数送入寄存器 R1 0224RU 端口 RU 的内容输入到累加器 A 0318 MOVV R0 A累加器 A 中的数送入寄存器 R0 0408MOVV A R0 寄存器 R0 中的内容送到 A 中 0514JIA A R0 将 A 中的内容和 R0 中的内容相 加 0618 MOVV R0 A累加器 A 中的数送入寄存器 R0 0708MOVV A R1 寄存器 R1 中的内容送到 A 中 080CJIAC A R1 将 A 中的内容与 R1 中的内容相 加再加上进位 0918MOVV R1 A 累加器 A 中的数送入寄存器 R1 0A2CHUO A R0 将 R0 中的内容与 A 中的内容相 或 0B30 00TZ LOOP1 若 A 0 跳转至 00 地址 0D10 04TIAO LOOP 无条件跳转至 04 地址 3 4 程序微指令分析 将程序在 DJ CPT816 软件上单步运行结束后可得微指令跟踪图如下表 3 2 所示 表 3 2 微指令跟踪表 助记符状 态 微 地 址 微程序数据 输出 数据打入地址 输出 运算 器 移位 控制 uPCPC FATCH T000 CBFFFF 指令寄存 器 IR PC 输出 A 输 出 写入 1 RUT1C0 FFFF17 用户 IN 寄存器 AA 输 出 1 T0C1 CBFFFF 指令寄存 器 IR PC 输出 A 输 出 写入 1 MOVV R A T180 FFFB9F ALU 直 通 寄存器 R A 输 出 1 T081 CBFFFF 指令寄存 PC A 输写入 1 精品文档 9欢迎下载 器 IR输出出 RUT1C0 FFFF17 用户 IN 寄存器 AA 输 出 1 T0C1 CBFFFF 指令寄存 器 IR PC 输出 A 输 出 写入 1 MOVV R A T180 FFFB9F ALU 直 通 寄存器 R A 输 出 1 T081 CBFFFF 指令寄存 器 IR PC 输出 A 输 出 写入 1 MOVV A R T170 FFF7EF 寄存 器值 R 寄存器 AA 输 出 1 T071 CBFFFF 指令寄存器 IR PC 输出 A 输 出 写入 1 JIA A RT210 FFF7EF 寄存 器值 R 寄存器 WA 输 出 1 T111 FFFE90 ALU 直 通 寄存器 A 标志位 CZ 加运 算 1 T012 CBFFFF 指令寄存器 IR PC 输出 A 输 出 写入 1 MOVV R A T180 FFFB9F ALU 直 通 寄存器 R A 输 出 1 T081 CBFFFF 指令寄存 器 IR PC 输出 A 输 出 写入 1 MOVV A R T170 FFF7F7 寄存 器值 R 寄存器 AA 输 出 1 T071 CBFFFF 指令寄存器 IR PC 输出 A 输 出 写入 1 JIAC A R T220 FFF7EF 寄存 器值 R 寄存器 WA 输 出 1 T121 FFFE94 ALU 直 通 寄存器 A 标志位 CZ 带进 位加 1 T022 CBFFFF 指令寄存 器 IR PC 输出 A 输 出 写入 1 MOVV R A T180 FFFB9F ALU 直 通 寄存器 R A 输 出 1 T081 CBFFFF 指令寄存 器 IR PC 输出 A 输 出 写入 1 精品文档 10欢迎下载 HUO A R T260 FFF7EF 寄存 器值 R 寄存器 WA 输 出 1 T161 FFFE92 ALU 直 通 寄存器 A 标志位 CZ 或运 算 1 T062 CBFFFF 指令寄存器 IR PC 输出 A 输 出 写入 1 TZ T1A4 C6FFFF 存贮 器值 EM 寄存器 PC PC 输出 A 输 出 1 写入 T0A5 CBFFFF 指令寄存 器 IR PC 输出 A 输 出 写入 1 TIAO T1AC CGFFFF 存贮 器值 EM 寄存器 PC PC 输出 A 输 出 1 写入 T0AD CBFFFF 指令寄存 器 IR PC 输出 A 输 出 写入 1 3 5 实验结果 测试数据 高八位 R1 低八位 R0 30H 80H 左移一位 61H 00H 左移两位 C2H 00H 左移三位 84H 00H 置开关 k23 k16 为 00110000 R1 中输入 30H K23 k16 开关置为 10000000 R0 中输入 80H 如图 3 3 所示 精品文档 11欢迎下载 图 3 3 R1 输入 30H R0 输入 80H 将 16 位数左移一位得到的 16 位数为 6100H 如图 3 4 所示 图 3 4 16 位数左移 结果为 6100H 再分别将 R1 和 R0 中的数左移一位 此时 16 位数为 C200H 如图 3 5 所示 精品文档 12欢迎下载 图 3 5 R1 R0 左移 结果为 8400H 再分别将 R1 和 R0 中的数左移一位 此时 16 位数为 C200H 如图 3 6 所示 图 3 6 R1 R0 左移 结果为 8400H 精品文档 13欢迎下载 4 4 实验总结实验总结 4 1 设计体会 本次课程设计我们做的题目是输入一个 16 位的数 对其进行循环左移 刚拿到这 个题目时我们小组就进行了商讨 分配每个人的任务 我的任务是 设计指令集 并 且检查她们所写代码实现的功能 在设计指令集的过程中 我对指令周期和 24 位控制 位做了深入的了解 学到了好多知识 学会了怎么设计一条程序指令以达到相应的功 能 在这次课程设计我遇到了好多问题 由于是第一次接触新建指令系统 其中很多 地方都不懂 后来通过查找资料 自己琢磨 问老师和还有大家一起讨论才逐渐有了 思路 在设计指令的过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论