计算机组成原理课程设计——模型计算机的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
---------计算机组成原理课程设计
报告书
课题名模型计算机的设计与实现
班级
姓名
学号
指导教师
日期 2012.6.18~ 2012.6.21
一、设计目的
1、融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,经阿什计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。
2、学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验。
二、设计内容
1、根据给定的数据格式和指令系统,设计一台微程序控制的模型计算机。
2、根据设计图,在QUARTUS II环境下仿真调试成功。
3、在调试成功的基础上,整理出设计图纸和相关文件,包括:
(1)总框图(数据通路图);
(2)微程序控制器逻辑图;
(3)微程序流程图;
(4)微程序代码表;
(5)设计说明书;
(6)工作小结。
三、数据格式与指令系统
1、数据格式
数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下:7 6 5 4 3 2 1
2、指令格式
本实验设计使用5条机器指令,其格式与功能说明如下:
7 6 5 4 3 2 1 0
IN
ADD
STA
OUT
JMP
IN指令为单字长(字长为8bits)指令,其功能是将数据开关的8位数据输入到R0寄存器。
ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内存中地址为A的数相加,结果存放在R0寄存器中。
STA指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器中的内容存储到以第二个字为地址的内存单元中。
OUT指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将内存中以第二个字为地址的内存单元中的数据读出到数据总线,显示之。
JMP指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是程序无条件转移到第二个字指定的内存单元地址。
四.设计原理与电路图
原理图
按照原理图,完成模型机的数据通路的编辑、编译以及波形仿真工作。,图中采用两个寄存器74273b来存放指令,一个用于存放操作码,另一个用于存放地址码。
(2)微程序控制器的逻辑图:A 数据通路逻辑电路图
A.FA(加法器)
B.ALU(运算器) 封装图
C地址转移逻辑电路
设计地址转移逻辑电路,完成电路图的编辑、编译以及波形仿真工作。仿真正确后,封装成芯片control。地址转移逻辑通过指令的操作码的高3位和微指令的测试字段P1来确定下一条微指令的地址。
D、微程序控制器:
调用地址转移芯片control,存放微指令的ROM,两片74273b芯片以及一片74273芯片来完成电路图的编辑、编译以及波形仿真工作。
封装图
E.PC(程序计数器)
五、微程序流程图、代码表(1)微程序流程图
(2)代码表:RAM.MIF EPROM.MIF
ROM.MIF
六、系统调试情况
(1)测试结果(波形图):
(2)主要问题和解决办法:
1、此模型计算机为单总线结构,输入信号和输出信号均通过该总线进行传输,如果不加缓冲器就会产生输入信号和输出信号的传输冲突,使信号不能到达“IR”,所以要在存储器RAM后添加一个“74244”模块,使信号在进入总线进行传输前先通过“74244”进行一个缓冲,同时“74244”也有三态门的作用,从而使得总线上无信号冲突,这样就便于总线的连接和扩展。
2、总线的命名如果不准确的话也会导致编译不能成功,这也是在验收时编译失败的原因
3在控制信号上也出现了一些问题,有些是低电平有效如运算器ALU结果输出到总线,还有许多脉冲信号都是上升沿有效,对这些控制信号都要了解它们的有效工作时的触发条件才能调出正确的波形。
七、设计总结与体会
本次课程设计的目的是设计出一台可执行五条指令的模拟计算机,主要的设计工作在于微程序控制器的设计上,需利用地址转移逻辑来实现指令的跳转,从而使其能执行完所有的指令。通过这次实践,充分认识到知识的综合运用的重要性,而且任何一个不严谨的地方都有可能导致错误,同时这次实践使自己对计算机的工作原理有了一个系统的认识,也为以后专业课的学习打下了基础。