基于微程序控制器的模型计算机设计 目录目录 1 课程设计的目的课程设计的目的 1 2 课程设计要求课程设计要求 1 3 课程设计报告内容课程设计报告内容 1 1 系统主要功能 1 2 总体设计 2 3 微程序控制器 3 4 汇编语言测试程序汇编语言测试程序 7 5 机器语言测试程序机器语言测试程序 7 6 详细设计原理图 详细设计原理图 8 7 机器指令运行波形 机器指令运行波形 8 9 设计总结及体会设计总结及体会 9 参参 考考 文文 献献 9 1 1 课程设计的目的课程设计的目的 1 融会贯通教材各章的内容 通过知识的综合运用 加深对计算机系统 各模块的工作原理及相互联系的认识 从而清晰地建立计算机的整机概念 2 学习设计和调试计算机的基本步骤和方法 培养科学研究的独立工作 能力 取得工程设计的实践和经验 2 课程设计要求课程设计要求 根据给定的数据格式和指令系统 一台微程序控制的8 位模型计算机 并 运 行能完成一定功能的机器语言程序进行验证 课程设计完成的内容 1 系统的总体设计 画出模型机数据通路框图 2 微程序控制器的设计 包括设计所有机器指令的微程序流程图 设计微 指令格式 建议采用全水平型微指令 设计微程序代码表 根据微程序流程 图和微指令格式来设计 3 根据设计的指令格式 将汇编语言源程序手工转换成机器语言源程序 4 画出模型机的原理图 5 画出模型计算机指令执行波形图 3 课程设计报告内容课程设计报告内容 1 系统主要功能 系统主要功能 A 数据格式 数据字规定采用定点整数补码表示法 字长8 位 其中最高位为符号位 其格式如下 76 5 4 3 2 1 0 符号位尾 数 B 指令格式 本设计 CPU 指令系统中使用 5 条机器指令 其格式与功能说明如下 表 1 模型机指令系统及指令编码形式 助记符助记符机器指令码机器指令码Addr 地址码地址码功能说明功能说明 IN20H INPUT 中的数据 R0 ADD addr40HXXH R0 addr R0 STA addr60HXXH R0 addr OUT addr80HXXH addr BUS JMP addrA0HXXH addr PC 2 IN 指令为单字长 字长为8bits 指令 其功能是将数据开关的8 位数据 输 入到R0 寄存器 ADD 指令为双字长指令 第一个字为操作码 第二个字为操作数地址 其 功能是将R0 寄存器的内容与内存中地址为A 的数相加 结果存放在R0 寄存器 中 STA 指令为双字长指令 第一个字为操作码 第二个字为操作数地址 其 功 能是将R0 寄存器中的内容存储到以第二个字为地址的内存单元中 OUT 指令为双字长指令 第一个字为操作码 第二个字为操作数地址 其功能 是将内存中以第二个字为地址的内存单元中的数据读出到数据总线 显示之 JMP 指令为双字长指令 第一个字为操作码 第二个字为操作数地址 其 功 能是程序无条件转移到第二个字指定的内存单元地址 2 总体设计 总体设计 总体设计的主要任务是根据指令系统的要求 选定所用器件 设计总框图 数据通路 总体设计的主要步骤如下 A 对指令系统中的各条指令进行分析 得出所需要的占领周期与操作序 列 以便确定各器件的类型和数量 B 构成一个总框图草图 进行各逻辑部件之间的互相连接 即初步确定 数据通路 使得由指令系统所要求的数据通路都能实现 并满足技术指标的要 求 C 检查全部指令周期的操作序列 确定所需要的控制点和控制信号 D 检查所设计的数据通路 尽可能降低成本 简化线路 优化性能 以上过程可以反复进行 以便得到一个较好的方案 方案确定后 检查所 选用的各个器件是否满足数据通路的要求 数据通路的设计和器件的选择应同 时进行 接入总线的器件都要有三态输出 以便与总线连接 本课题采用下图中所示的设计方案 本方案没有考虑乘法和除法指令操作 采用单总线结构 使用的许多器件都是三态输出 这种方案便于总线的连接和 扩 展 但缺点是指令和数据的传送都要经过总线 因此对总线的使用权就要分配 得 当 3 图 1 系统总体框图 数据通路图 3 微程序控制器 微程序控制器 数据通路图一旦确定 数据流的通路 运算器和控制器的结构也就确定了 图1中各功能器件上标注的控制信号 就是微程序控制器设计的依据 A 微指令格式 微指令格式采用水平型微指令格式 微指令格式如下 31302928272625242322212019181716 S3 S2 S1 S0 M Cn LOAD WE LDR0 LDDR1 15 14 13 12 11 10 9 8 7 6 4 5 3 2 1 0 LDDR2 LDIR LDAR ALU B R0 B SW B PC B RAM B LDPC P1 UA4 UA3 UA2 UA1 UA0 各字段说明如下 uA4 uA0 微程序控制器的微地址输出信号 是下一条要执行的微指令的地 址 S3 S2 S1 S0 由微程序控制器输出的ALU 操作选择信号 以控制执行16 种算术操作或16 中逻辑操作中的某一种操作 M 微程序控制输出的ALU 操作方式选择信号 M 0 执行算术操作 M 1执行 逻辑操作 Cn 微程序控制器输出的进位标志信号 Cn 1 表示ALU 运算时最低位有进 4 位 Cn 0 则表示无进位 LOAD PC 程序计数器初始值装载信号 WE WE 0 存储器读 WE 1 存储器写 LDR0 R0 通用寄存器装载信号 LDDR1 DR1 暂存器装载信号 LDDR2 DR2 暂存器装载信号 LDIR IR 寄存器装载信号 LDPC PC 程序计数器自动加一信号 LDAR AR 寄存器装载信号 ALU B ALU 运算结果输出三态门控信号 R0 B R0 输出三态门控信号 SW B SW 输出三态门控信号 PC B PC 输出三态门控信号 RAM B RAM 输出三态门控信号 P1 微程序分支处的判别测试 P1 1 控制器对当前的机器指令进行翻译 无定义 备用 B 微程序控制器 微指令长度为31 位 据此可以确定控制存储器的字长也应为31 位 微指 令格式确定后 微程序的横向设计在于正确选择数据通路 纵向设计在于确定 后继微指令地址 纵向设计的通常做法是先确定微程序分支处的微地址 因为 微程序分支处需要进行判别测试 这些微地址确定后 就可以在 微地址表 中把相应的微地址单元填进去 以免后面的设计中重复使用 以致造成设计错 误 当拟定 取指 微指令时 该微指令的判别测试字段应指明P1 测试 取 指 微指令是所有微程序都使用的公用微指令 P1 测试的结果导致微程序出现 多路分支 在本模型机中 只拟设计5 条机器指令 故用指令寄存器的前3 位 IR7 IR5 作为测试条件 微程序可以实现8 路转移 但我们只用到前5 路分 支后的微地址分别定为00100B 10100B 即04H 14H C 微程序流程图 5 01 00 00 00 00 00 00 15 12 11 1E 0D 0F 0B 0A 09 14100C08 04 JMPOUTSTAADDIN 运行微程序 PC BUS BUS AR PC 1 RAM BUS BUS IR P 1 PC AR PC 1 RAM BUS BUS AR RO BUS BUS RAM PC AR PC 1 RAM BUS BUS AR RAM BUS PC AR PC 1 RAM BUS BUS PC PC AR PC 1 RAM BUS BUS AR RAM BUS BUS DR2 R0 DR1 DR0 DR1 R0 SW R0 图 2 微程序流程图 E 微代码表设计如下 地 址 S 3 S 2 S 1 S 0 C n L O A D W E L D R 0 L D D R 1 L D D R 2 L D I R L D A R A L U B R 0 B S W B P C B R A M B L D P C P 1 U A 4 U A 3 U A 2 U A 1 U A 0 000022810 01111 000041400 1111 000020400 6 411 000022890 811111 0000210A0 91111 0000810B0 A1111 1 0001080F0 B111 1 1 1 038190000 F1 111 11 0000228D0 C1111 11 0000210E0 D211 1 1 000408000 E11 000022911 011111 0000210E1 1111 1 1 000001001 21 0000810F1 4 111 1 1 1 000801001 511 F 微程序控制器的逻辑结构框图 7 4 汇编语言测试程序汇编语言测试程序 根据指令系统编写汇编语言测试程序 IN ADD 10H STA 11H OUT 11H JMP 00H 5 机器语言测试程序机器语言测试程序 根据设计的指令格式 将汇编语言测试程序手工转换成机器语言源程序 并将其写入到模型机中的RAM 中去 与上述汇编语言源程序对应的机器语言源 程序如下 助记符助记符RAM 地址地址机器代码机器代码功能说明功能说明 IN0020 SW R0 0140 ADD 10H 0210 R0 10H R0 0360 STA 11H 0411 R0 11 H 0580 OUT 11H 0611 11 H BUS 07A0 JMP 00H 0800 Addr PC 8 1065H 数据段 11 6 详细设计原理图 详细设计原理图 各元件如下图所示 根据数据通路 画出模型计算机整体原理图 7 机器指令运行波形 机器指令运行波形 9 9 设计总结及体会设计总结及体会 虽然这只是一次的简单的课程设计 可是平心而论 也耗费了不少的心血 这就让我 不得不佩服专门从事这方面的技术前辈 才意识到要想在此方面有所成就需要克服的困难 太多了 要有足够的耐心和毅力 不怕失败 一次次的调试直到成功为止 遇到不懂得及 时查资料 并记录 没有不能弄懂的事情 只有不想去弄懂的人 只要努力了就有收获 我们每一个人永远不能满足于现有的成就 人生就像在爬山 一座山峰的后面还有更高的 山峰在等着你 挫折是一份财富 经历是一份拥有 这次课程设计必将成为我人生旅途上 一个非常美好的回忆 参参 考考 文文 献献 1 罗克露 单立平 刘辉 俸志刚 计算机组成原理 北京 电子工业出版社 2004 2 张兴忠 阎宏印 武淑红 数字逻辑与数字系统 北京 科学出版社 2004 3 杨春武 于艳丽 刘敬晗 tec ca 学生实验指导书 北京 清华大学科教仪器厂 2005

展开阅读全文

模型计算机微指令总表,基于微程序控制器的模型计算机设计相关推荐

  1. 计算机微程序流程图,基于微程序控制器的《计算机系统综合设计》课程设计指导书.doc...

    基于微程序控制器的<计算机系统综合设计>课程设计指导书 基于微程序控制器的 <计算机系统综合设计>课程设计 指导书 计算机科学与技术学院 计科教研室 基于微程序控制器的简单机器 ...

  2. 模型计算机微指令总表,计算机组成与结构微指令表(总).doc

    计算机组成与结构微指令表(总) 表 7-2 基本模型机微指令表 区位号0区域1区域2区域3区域位号位号位号位号微地址M25M24M23M22M21M20M19M18代 码M17M16M15M14M13 ...

  3. 模型计算机微指令总表,计算机组成和结构微指令表(总).doc

    计算机组成和结构微指令表(总).doc 表 7-2 基本模型机微指令表 区位号0区域1区域2区域3区域位号位号位号位号微地址M25M24M23M22M21M20M19M18代 码M17M16M15M1 ...

  4. 计算机组成实验微程序控制器实验,计算机组成原理实验报告3++微程序控制器实验.doc...

    文档介绍: 计算机组成原理实验报告3微程序控制器实验计算机组成原理实验报告实验三微程序控制器实验一.实验目的与要求:实验目的:1.理解时序产生器的原理,了解时钟和时序信号的波形;2.掌握微程序控制器的 ...

  5. R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释一个iris数据样本的预测结果、LIME解释器进行模型预测结果解释并可视化

    R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释一个iris数据样本的预测结果.LIME解释器进行模型预测结果解释并可视化 ...

  6. R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释多个iris数据样本的预测结果、使用LIME解释器进行模型预测结果解释

    R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释多个iris数据样本的预测结果.使用LIME解释器进行模型预测结果解释并可 ...

  7. 众友科技计算机组成原理,组成原理:采用微程序控制器的模型机CPU设计(10页)-原创力文档...

    课程设计报告 课程名称: 计算机组成原理 设计题目: 采用微程序控制器的模型机 CPU设计 院 系: 班 级: 设 计 者: 学 号: 指导教师: 目 录 课程设计(大作业)报告 1 昆明学院课程设计 ...

  8. 计算机微程序控制器实验报告,计算机组成原理实验报告三:微程序控制器实验.doc...

    计算机组成原理实验报告三:微程序控制器实验.doc 微程序控制器实验报告一. 实验目的1 掌握微程序控制器的功能.组成知识.(2)掌握为程序的编制.写入.观察微程序的运行二.实验设备PC机一台,TD- ...

  9. 计算机微程序控制器实验报告,计算机组成原理微程序控制器实验报告

    计算机组成原理实验报告三:微程序控制器实验 2011-05-06 01:00:09| 分类: 实验报告 | 标签:实验 微程序 字段 微指令 信号 |字号大中小 订阅 实验三:微程序控制器实验 一. ...

  10. 【计算机组成原理】三、微程序控制器实验

    文章目录 一.实验目的 二.实验设备 三.实验原理 四.实验步骤 五.实验结论 一.实验目的 (1)掌握微程序控制器的组成原理 (2)掌握微程序的编制写入,观察微程序的运行过程 二.实验设备 PC 机 ...

最新文章

  1. swift添加下拉刷新_React Native自定义下拉刷新组件
  2. h5 跳转上个页面刷新_关于javascript跳转与返回和刷新页面
  3. 【Linux】一步一步学Linux——route命令(169)
  4. 自动登录(过滤器filter的应用)
  5. 汇编 --- 栈结构的妙用
  6. 全球六大顶级域名动态:7月上旬.COM新增18.4万个
  7. nginx+php+mysql+haproxy+keepalived+NFS,搭建wordpress
  8. Python3网络爬虫开发实战,Appium+mitmdump 爬取京东商品
  9. linux 路径结构
  10. python和java哪个好找工作-想转行,Java与python该选择哪个?
  11. JavaEE学习14--过滤器filter
  12. 如何设置修改 Windows 7 开机启动项
  13. 在文件上传的基础上设计一个学生基本信息表
  14. Typora快捷键【官方文档】
  15. 镭神C16上位机软件显示
  16. 基于springboot小型命题系统毕业设计源码011508
  17. 2018国内各大互联网公司前端面试题汇总【转:公众号~~高级前端进阶公众号】
  18. 【生物信息学】正常和突变的蛋白质结构可视化?构建蛋白结构模型,常见的4种构建蛋白模型方法
  19. Verilog实现异步FIFO(重难点)
  20. 23个优秀的机器学习训练公开数据集,一文全知道!

热门文章

  1. 微信小程序 支付宝小程序 实现省市区县四级联动
  2. 利用mybatis插件开发动态更改sql
  3. ffmpeg使用说明书
  4. 基于STM32的红外万能遥控器完整教程
  5. python web框架django面试题收藏
  6. jq-ui的Sortable插件 两列布局 左右拖拽
  7. STM32的时钟系统的库函数编程总结,根据图和表理解程序
  8. 智慧物流园区供应链管理系统解决方案:数智化供应链赋能物流运输行业供应链新模式
  9. COPRA算法学习笔记
  10. 高中计算机教师学期论文,高中信息技术论文范文