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