《计算机组成与结构》课程实习基本模型机的设计与实现系别:信息学院班级:计科1141指导教师:刘桃丽基本模型机的设计与实现一、设计要求1.1、分组设计一台基本模型机,并在模型机上运行一个简单的程序。
每组2-3人,要求各组的指令系统不同。
1.2、根据设计的图纸,在验台上进行组装,并调试成功。
1.3、在组装调试成功的基础上,整理出设计图纸和其他文件,包括:(1)总框图(数据通路图)(2)微程序流程图(3)微指令格式(4)微程序代码表(5)调试小结二、课程实习使用的实验设备2.1 实验设备TEC-9计算机组成原理教学实验系统一台(含74181算术运算器ALU、74374寄存器堆R0、74161程序计数器、74273地址寄存器AR、74273指令寄存器IR 等),排线若干。
2.3 系统需求分析一台计算机所能执行的各种指令集合称为指令系统或指令集。
一台特定的计算机只能执行自己指令系统中的指令。
因此,指令系统就是计算机的机器语言。
指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。
指令系统的设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。
计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。
指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。
通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。
随着社会科技的发展,计算机被应用到各行各业,人们步入自动化、智能化的生活阶段。
本次课程设计课题是基本模型机的设计与实现,它正体现了这一点。
利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,编写指令的应用程序,用微程序控制器实现了一系列的指令功能,最终达到将理论与实践相联系。
本次设计完成了各指令的格式以及编码的设计,实现了各机器指令微代码,形成具有一定功能的完整的应用程序。
部件实验过程中,各部件单元的控制信号是人为模拟产生的,本课程设计将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能,通过设计流程图,编写机器指令,微指令和控制信号程序。
首先向存储器(RAM)中装入数据和程序,然后检查写入是否正确,启动程序执行。
另外,还需设计三个控制台操作微程序:存储器读操作(READ),存储器写操作(WRITE),运行程序(RUN)。
以上各微指令设计完毕后,连接线路在TEC-9计算机组成原理教学实验箱运行程序,并将实验结果显示输出。
2.4 功能分析该系统实现的功能是对输入的数据可以和内存中的数据进行连续的加、减及循环左移运算,并对其结果进行存储,显示等功能,从而得到一个简易的复杂模型机所实现的功能。
2.5 模块功能IN 为单元字长(8位),含义是将数据开关8位数据输入到RO寄存器 ADD 为双字长指令,第一字为操作码,第二字为操作数地址,其含义是将R0寄存器的内容与内存中以A为地址单元的数相加,结果放在R0。
STA 为双字长指令。
含义是将R0中的内容存储到以第二字A为地址的内存单元中。
AND 为双字长指令。
第一字为操作码,第二字为操作数地址,其含义是将R0寄存器的内容与内存中以A为地址单元的数相与,结果放在R0。
SUB 为双字长指令,第一字为操作码,第二字为操作数地址,其含义是将R0寄存器的内容与内存中以A为地址单元的数相减,结果放在R0。
NOT 为双字长指令,第一字为操作码,第二字为操作数地址,其含义是将R0寄存器的内容求反,把结果放在R0中。
JMP 为双字长指令,执行该指令时,程序无条件转移到第二字所指定的内存单元地址。
三、课程实习步骤3.1 设计目的综合运用所学过的计算机原理知识,在理解计算机各功能部件工作原理上,进一步加深计算机系统各模块间相互关系的认识和整机的概念,将微程序控制器模块、运算器模块同存储器模块联机,组成一台基本模型计算机。
用微程序控制器模型机的数据桐庐,通过在够早的模型机上运行机器指令组成的简单程序,掌握机器指令与微指令的关系,建立机器的整机概念。
3.2 设计内容通过自己设计微指令,同时设计了7条机器指令:IN(输入)、ADD(相加)、AND(逻辑与)、STA(存数)、SUB(相减)、NOT(取反)、JMP(无条件转移),然后输入数据来验证这些操作。
3.3 基本原理A.微程序控制的基本思想:1. 若干微命令编制成一条微指令,控制实现一步操作;2. 若干微指令组成一段微程序,解释执行一条机器指令;3. 微程序事先存放在控制存储器中,执行机器指令时再取出。
B.基本组成:控制存储器,微指令寄存器,微地址寄存器,地址转移逻辑。
控制存储器(CM):用来存放实现全部指令系统的微程序,位于CPU中。
它是一种只读型存储器,要求速度快,读出周期短。
微指令寄存器:存放当前由控制存储器读出的一条微指令信息,分为微地址寄存器和微命令寄存器两个部分。
其中微地址寄存器决定将要访问的下一条微指令的地址,微命令寄存器则保存一条微指令的操作控制字段和判别测试字段(P)的信息。
地址转移逻辑:自动完成修改微地址的任务。
微程序控制器:微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器。
C.微程序控制计算机的工作过程:下面通过计算机启动、执行程序直到停机的过程,来说明微程序是如何控制计算机工作的:计算机加电以后,首先由复位信号(Reset)将开机后执行的第一条指令的地址送入PC内,同时将一条"取指"微指令送入微指令寄存器中,并将其他一些有关的状态位或寄存器置于初始状态。
当电压达到稳定值后,自动启动计算机,产生节拍电位和工作脉冲。
为保证计算机正常工作,电路必须保证开机后第一个机器周期信号的完整性,在该CPU周期末,产生开机后第一个工作脉冲。
然后计算机开始执行程序,不断地取出指令、执行指令。
程序可以存放在固定存储器中,也可以利用固化在只读存储器(ROM)中的一小段引导程序,将要执行的程序和数据从外部设备调入主存。
实现各条指令的微程序是存放在微程序控制器中的。
当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处理。
当遇到停机指令或外来停机命令后,应该待当前这条指令执行完毕后再停机或至少在本机器周期结束时停机。
要保证停机后,重新启动计算机能继续工作而且不出现任何错误。
3.4 数据通路图注意:①片选信号CE=0为有效电平,CE=1为无效电平。
②WE=1为写入,WE=0为读出。
③LOAD和LDPC同时为“1”时,可将总线上的数据装入到PC中,LDPC为“1”,同时LOAD为“0”时,将PC中的内容加1。
④M=0为算术运算,M=1为逻辑运算。
⑤CN=0表示运算开始时低位有进位,否则低位无进位。
3.5 程序流程图3.6 接线图3.7 测试结果及分析3.7.1 测试过程注:根据实验连线图连接好,使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。
拨动总清开关CLR(0—》1),微地址寄存器清零,此时用“DATA UNIT”单元的8位二进制开关给出要写入RAM区的首地址(0000 0000),控制台SWB,SWA开关置为“01”,按动显示“010010”,再按动一次“START”,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动一次START键,即完成该条指令的写入。
机器指令的首地址只要第一次输入即可,PC会自动加1,所以按动START,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。
3.7.2 测试结果四、总结在做这次计算机组成原理课程设计过程中,困难重重,可以说是身心疲惫,许多在课堂上没有听懂,没有学会的知识在课程设计的过程中暴露无遗,真是书到用时方恨少。
还有,感觉在课堂上学到的还比较肤浅,表面,课后并没有进一步的深入思考和研究琢磨,导致在实际应用和操作方面力不从心,这点启发我们应该认真对待实验课,多动手,多思考,提高实践能力。
不懂就学,不懂就问。
积极的是我在发现问题和自己的不足之后,把课本的内容重新学习了一遍,特别是与之相关的章节内容,对于一些学过还不懂的知识点,例如,数据通道看不懂,不了解指令具体的执行过程,等等,我就上网找资料,发帖求教,请问组员,同学,老师。
此间,培养了自己的独立学习,独立思考能力,同时也意识到了团队合作的重要性,增强了同学间的友谊,师生情谊。
总的来说,这次课程设计还是有收获的,不仅学习巩固了课本知识,更重要的是思想觉悟提高了,一些学术精神也从此萌芽了。
最后,特别感谢刘老师一学期以来的辛勤付出,谆谆教导,让我们接受并获得了新知识,新技能,开阔了视野,受益良多。
参考文献[1] 白中英戴志涛. 计算机组成原理(第五版·立体化教材)北京:科学出版社,2013.3[2] 白中英.计算机组成原理(第五版·网络版).北京:科学出版社,1998[3] 张昆藏.计算机系统结构.北京:科学出版社,1994[4](美)普拉持(Platt,D.S)著.黄慧萍等译.Microsoft.NET精髓.北京:机械工业出版社,2003.9[5] ,中国研究生招生信息网[6] 计算机组成原理实验指导书. 王诚,宋佳兴,董长洪编著. 清华大学出版社,2002.[7] 《计算机组成原理》学习指导与训练 . 旷海兰等编著. 中国水利水电出版社, 2004.[8] 计算机原理与设计. 宋焕章张春元王保恒. 长沙:国防科技大学出版社, 2000.附录源程序。