CMStudio 计算机组成原理课程设计报告 基本模型机的设计与实现 来自____王peng_____老师的模板

 注意:本实验报告来自        王peng        老师,只希望可以帮助大家写出好的报告,千万不可直接复制粘贴,抄袭的同学后果自负,如有雷同纯属巧合(我没有把图片放出来,希望大家好好思考)

 

报告正文

1、题目要求

1.典型模型机,就是以原理计算机教学中一些较为常见而又普及的模型机结构为例,围饶定长格式展开模型机指令系统的设计与实现。典型模型机适用于原理计算机的基础教学,我们从基本模型机入手,然后把“段”、“流水”、.“重叠”、“中断”及“PLA”控制等概念由浅入深地逐一融入原理模型机的实践中去。

2.实验在微程序控制或组合逻辑控制方式下进行,亦有“在线”与“搭接”两种实验方式。我们的实验指导适用“在线”方式,以指令及与其对应的微指令或微逻辑的设计与实现展开。

3.定义7条及以上机器指令,编写相应的微程序,并在实验系统上调试通过,以理解CPU控制原理以及计算机整机系统概念

2、题目分析

本实验要求我们小组成员在原来5条指令的基础上,在模仿并创新设计出2条以上的机器指令。在手动控制实验过程中,各部件单元的控制信号是以人为模拟产生为主,而本次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从EM主存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

3、指令系统设计

指令设计概述:

该指令系统共包括十条指令,其中五条为题设给出,其余五条为自定义设计。因该系统常年失修,多处微指令存在未知问题,对于新添加指令扩展性较差,由此在设计出每条指令对应的微程序后,必须强制结尾改变微地址。

本指令系统基于原有五条指令做出些许修改,主要方面在于由奇偶传递修改为16位字传递,由此模拟器AX,BX寄存器能够四位十六进制数,也避免了奇偶传递的BUG。

对于其余五条指令,是对题设五条指令的联想以及拓展,例如题设给出将数据从内存中读出放置于通用寄存器中,而此处可以设计从寄存器取数放置于内存中,同时类似的指令有加减法与或非等,与题设区别仅在于我可以从任何地方读数,或者将运算数据放到能存取数据的各类储存器。本次系统设计所用的寻址方式为间接寻址,在我们设计的系统中,除了in和not两条操作指令外,其他都应用了间接寻址的寻址方式。首先,将pc一一与AR地址寄存器对应。由于总线为单数据,所以需要将数据对应的传送到bl,bh中。通过alu的运算,将数据的真实地址传送进AR地址寄存器中进行寻址。

2.指令系统设计条机器指令:IN(输入)、ADD(二进制加法)、OR(或运算)、AND(与运算)、NOT(逻辑非)STA(存数)、OUT(输出)、SUB(二进制减法)、MOV(读入sp)JMP(无条件转移)。

此处应该有一张图片说明

4、指令系统的实现与验证

IN(输入)

此处应该有一张图片说明

ADD(二进制加法)

从内存中奇字节和偶字节间址取址后将数据实际地址放置于AR(地址寄存器),继而从RAM中取出该数据写入BX,再将通用寄存器中R0 的值写入AX中,最后ALU加法运算并把结果存入通用寄存器。

此处应该有一张图片说明

OR(或运算) 

把IO中的值写入到AX中,把通用寄存器中的值写入到BX中,ALU 逻辑或运算后将结果存入AX运算器中。

此处应该有一张图片说明

AND(与运算) 

从内存中奇字节和偶字节间址取址后将数据实际地址放置于AR(地址寄存器),继而从RAM中取出该数据写入BX,再将通用寄存器中R0 的值写入AX中,最后ALU逻辑与运算并把结果存入通用寄存器。

此处应该有一张图片说明

NOT(逻辑非) 

该条指令为给堆栈指针设值,从IO端读取数据后存入AX运算器中,因ALU运算器仅只有对AX 数据的取反功能,想要取反操作必须放置于AX中,则ALU运算后将数据存入SP堆栈指针。

此处应该有一张图片说明

STA(存数)

该指令为题设给出指令,间址取值后将数据实际地址放于AR中,从R0中获取当前需写入内存的数据,在AR地址寄存器所对应内存地址中写入R0数据。

此处应该有一张图片说明

OUT(输出)

从内存中奇字节和偶字节间址取址后将数据实际地址放置于AR(地址寄存器),继而从RAM中取出该数据写入BX,再将BX的值写入I/O端口。

此处应该有一张图片说明

SUB(二进制减法) 

从I/O准双向接口中的数据存入AX中,而BX运算器当前的值为此前异或的运算值,然后ALU运算(AX) – (BX) 并将结果存入通运寄存器中。

此处应该有一张图片说明

MOV(读入sp) 

通过间接寻址,找到数据的真实地址后进行寻址,将数据读入通用寄存器R0中,随后转存至sp寄存器内。

此处应该有一张图片说明

JMP(无条件转移)。

无条件转移指令,编址类型设置为结尾变址,同时将uPC设置为0001,即当此条微指令结束后跳转至uPC = 0001。

此处应该有一张图片说明

  1. 课程设计总结

拿到这道题之后,首先阅读实验指导书的83-87页,了解模拟机的使用和原理,接下来完善对指令系统的认识和对微程序基本编写方式。 

本次课程设计基于CMStudio 及Dais-CMX16+十六位体系结构,软硬件结合设计出一套指令系统,此前的实验中仅仅是对于实体机进行搭接连线,单拍后观察每一步现象进而完成各种指令操作。而CMStudio 在此基础上集成各种微命令,在链接实体机后便可模拟出各类操作。

初次接触类似软硬件结合的课程设计必然会是茫然,但是随着调试运行到每一步操作,观察发生何种现象,总会认识理解操作的一部分内容。学习该类型软件必然是不断操作,不断加深印象,然后在此基础上可以尝试改进原指令,观察调试运行后结果是否符合预期,不断添加进新思路和系统能,进而崭新的一条指令即出现在眼前。

在实验中小组成员之间的互相帮助大大加快了课设的进度,对实验的设计和后期的验证都起到了很大的帮助,每个人进行相同的操作总会有不同的理解,小组成员提出问题,讨论,改进,不断完善该指令系统,最终收获了胜利的果实。

最后祝大家端午节快乐,复习周充满能量,考试不挂!!!

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
计算机组成原理中的基本模型是一个非常重要的概念,它是计算硬件设计的基础。基本模型包括了CPU、存储器、输入/输出设备等基本组成部分。在学习计算机组成原理的时候,我们通常会进行基本模型设计实现实验,这有助于我们更深入地理解计算硬件的工作原理。 下面是基本模型设计实现实验的步骤: 1. 确定基本组成部分:CPU、存储器、输入/输出设备等。 2. 设计CPU的指令集合,并编写汇编语言程序。 3. 设计存储器的结构,并编写存储器控制器。 4. 设计输入/输出设备的接口,并编写输入/输出控制器。 5. 将CPU、存储器、输入/输出设备等组成一个完整的系统,并进行测试。 在进行基本模型设计实现实验时,我们需要掌握一些基本的知识和技能。比如: 1. 掌握计算硬件的基本原理,包括CPU、存储器、输入/输出设备等的工作原理。 2. 掌握数字电路设计基本原理,包括逻辑门、寄存器、计数器等的设计方法。 3. 掌握汇编语言的基本语法和指令集合,能够编写简单的汇编语言程序。 4. 掌握数字电路仿真软件和硬件描述语言的基本使用方法,能够进行数字电路的仿真和验证。 基本模型设计实现实验是一项非常重要的实践课程,它能够帮助我们更深入地理解计算硬件的工作原理,掌握数字电路设计和汇编语言编程的基本技能,为我们今后的学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值