计算机组成原理课程设计(同或运算、比较两个数大小)_第1页
计算机组成原理课程设计(同或运算、比较两个数大小)_第2页
计算机组成原理课程设计(同或运算、比较两个数大小)_第3页
计算机组成原理课程设计(同或运算、比较两个数大小)_第4页
计算机组成原理课程设计(同或运算、比较两个数大小)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书题目设计指令系统实现同或运算、比较两个数大小院系计算机科学与工程学院专业班级计算机课10学号2010学生姓名安理工作室指导教师顾荣2013年01月09日课程设计(论文)任务书计算机科学与工程学院计算机科学与技术系学号学生姓名专业(班级)设计题目设计指令系统实现同或运算、比较两个数大小设计技术参数1本系统采用DJCPTH超强型计算机组成原理教学实验系统搭建电路图,在实验箱上实现指令系统;2利用软件工程中的可行性研究以及分析方法,进行系统分析。设计要求1在基本模型机的基础上构建新的指令系统,这些指令的助记符不得与指导书上相同;2根据所选题目使用相应的寻址方式;3利用新构建的指令系统,实现同或运算和比较两数大小。工作量1课程设计说明书1000字;2画出流程图,编写微指令代码和程序。工作计划1分析设计要求,制定设计计划,完成指令系统设计,并在CPTH实验软件中形成MIC文件;2分析设计编写程序;3在微机和实验仪的支持下,调入指令系统和程序,运行,测试,完成系统的设计;4提交设计报告。参考资料1李敬兆8086/8088和基于ARM核汇编语言程序设计合肥中国科学技术大学出版社,20082蒋本珊计算机组成原理北京清华大学出版社,2008指导教师签字系主任签字2013年01月09日课程设计(论文)成绩学号姓名专业班级计算机105设计题目设计指令系统实现同或运算、比较两个数大小指导教师评语成绩指导教师年月日摘要计算机组成原理课程设计课题是基本模型机的设计与实现。利用CPU与简单模型机来实现计算机组成原理课程设计,编写指令的应用程序,用微程序控制器实现一系列的指令功能,最终达到将理论与实践相联系。本次设计完成了相关指令的格式以及编码的设计,实现了机器指令微代码,完成具有一定功能的程序。同或运算和比较两个数大小是在基本模型机的基础上构建一组能实现输入、输出、减、逻辑与、逻辑或、逻辑非、跳转这7个功能的指令,这些指令的助记符不得与指导书上相同。指令包括立即寻址和寄存器寻址两种寻址方式。利用新构建的指令系统编程,实现同或运算和比较两数大小的功能。本次课程设计分为以下几各面系统分析,对系统设计的背景和设计目标做了一个简单的介绍从模型机的指令系统入手,对整个系统的指令系统进行设计使用设计好的指令系统实现同或运算和比较两个数的大小关系最后还进行了对本次设计的总结和对设计的系统的改进工作提出了一些建议本次课程设计偏重于对计算机工作的原理和计算机微机的指令系统学习和深入的了解。对以后的学习打下一个好的基础。关键词指令,计算机组成原理,指令系统,模型机,同或运算,比较两个数大小目录1系统分析111设计背景112设计目标22系统设计321模型机的指令系统设计322模型机的微指令设计323同或运算的设计524比较两数大小的设计53系统实现731同或运算的实现7311实验步骤7312程序释义1032比较两数大小的实现11321实验步骤11322程序释义164总结1841设计体会1842系统改进18参考文献191系统分析11设计背景一台计算机所能执行的各种指令集合称为指令系统或指令集。一台特定的计算机只能执行自己指令系统中的指令。因此,指令系统就是计算机的机器语言。指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。指令系统的设计主要括指令功能、操作类型的设计以及寻址方式和指令格式的设计。计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。本课程设计的模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数,指令码的最低两位用来选择R0R3寄存器。在微程序控制方式下,用指令码作为微地址来寻址微程序存储器,找到执行该指令的微程序。在本模型机中,一条指令最多分为四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入输出,选择运算器的运算功能,存储器的读写。简而言之,这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指令的功能由24位操作信号(即控制位)实现。本设计是在DJCPT816计算机组成原理实验仪和仿真软件上进行的。24位控制位分别介绍如下XRD外部设备读信号,当给出个外设的地址后,输出此信号,从指定外设读数据。EMWR程序存储器EM写信号。EMRD程序存储器EM读信号。PCOE将程序计数器PC的值送到地址总线ABUS上。EMEN将程序存储器EM与数据总线DBUS接通,有EMWR和EMRD决定是将DBUS数据写入EM中,还是从EM读出数据到DBUS。IREN将程序存储器EM独处的数据打入指令寄存器IR和微指令计数器UPC。EINT中断返回时清除中断响应和中断请求标志,便于下次中断。ELPPC打入允许,与指令寄存器的IR2,IR3位结合,控制程序跳转。MAREN将数据总线DBUS上数据打入地址寄存器MAR。MAROE将地址寄存器MAR的值送到地址总线ABUS上。OUTEN将数据总线DBUS上数据送到输出端口寄存器OUT里。STEN将数据总线DBUS上数据存到堆栈寄存器里。RRD读寄存器组R0R3,寄存器R的选择由指令的最低两位决定。RWR写寄存器组R0R3,寄存器R的选择由指令的最低两位决定。CN决定运算器是否带进位移位,CN1带进位,CN0不带进位。FEN将标志位存入ALU内部的标志寄存器。X2,X1,X0三位组合来译码选择将数据送到DBUS上的哪个寄存器,如表1所示。WEN将数据总线DBUS的值打入工作寄存器W中。AEN将数据总线DBUS的值打入累加器A中。S2,S1,S0三位组合决定ALU做何种运算,如表2所示表1选择具体的寄存器表2ALU运算12设计目标本次课程设计要求实现的机器指令如下(1)INPUT表示输入指令;(2)OUTPUT表示输出指令;(3)JIAN表示减法指令;(4)CHS表示传送指令;(5)YU表示与运算指令;(6)HUO表示或运算指令;(7)FEI表示非运算指令;(8)TZH_C表示有进位或有借位时的跳转(转移)指令;(9)TZH_Z表示结果为零时的跳转(转移)指令;(10)TZH_N表示无条件跳转(转移)指令。在实现同或运算和比较两个数大小的功能时,包含了立即寻址和寄存器寻址两种寻址方式。最后要在设计的指令系统基础上,编写程序实现同或运算和比较两个数大小的功能。2系统设计21模型机的指令系统设计根据设计要求,设计出的指令应包括输入、输出、减、逻辑与、逻辑或、逻辑非、跳转(转)移这7个功能的指令,且要使用立即寻址和寄存器寻址两种寻址方式。根据以上要求设计出的指令集如表3所示。表3指令集指令类型助记符机器码功能取指_FETCH_000000XX0003IRPC输入INPUT000001XX0407输入A输出OUTPUT000010XX080B输出减运算JIANA,R000011XX0COFARACHSA,R000100XX1013RACHSR,A000101XX1417AR传送CHSA,000110XX181BA逻辑与YUA,R000111XX1C1FA程序开始执行一条取指的微指令,读入程序第一条指令INPUT将第一个数输入ACHSR0,A将A中的内容传送到R0中INPUT将第二个数输入ACHSR1,A将A中的内容传送到R1中YUA,R0将第一个数与第二个数做逻辑与运算并把结果保存到A中CHSR2,A将A中的内容传送到R2中CHSA,R0将R0中的内容传送到A中FEIA将A中的内容做逻辑非运算并把结果保存到A中CHSR3,A将A中的内容传送到R3中保存CHSA,R1将R1中的内容传送到A中FEIA将A中的内容做逻辑非运算并把结果保存到A中YUA,R3将A中的内容和R3中的内容做逻辑与运算并把结果保存到A中HUOA,R2将A中的内容和R2中的内容做逻辑或运算并把结果保存到A中OUTPUT输出结果32比较两数大小的实现321实验步骤(1)按照系统分析中得到的指令集,在DJCPT816实验软件中新建指令系统,保存为DXMAC文件,指令系统建立并保存后会生成DXMIC文件。(2)在DJCPT816实验软件中新建名为DXASM文件,输入以下程序INPUTCHSR0,AINPUTJIANA,R0TZH_CLOOP2TZH_ZLOOP1CHSA,1HOUTPUTTZH_N12HLOOP1OUTPUTTZH_N12HLOOP2CHSA,OFFHOUTPUT(3)将程序保存为DXASM文件,再汇编成机器码,调试窗口会显示出程序、机器码、反汇编指令,如图10所示。图10调试窗口(4)实验测试第1组测试数据第一次置K23K16为00000001,即输入的数据是01H,如图11所示。图11第一次置K23K16为00000001第二次置K23K16为00000010,即输入的数据是02H,如图12所示。图12第二次置K23K16为00000010输出的结果是01,如图13所示。图13输出结果01第2组测试数据第一次置K23K16为00000001,即输入的数据是01H,如图14所示。图14第一次置K23K16为00000001第二次置K23K16为00000001,即输入的数据是01H,如图15所示。图15第二次置K23K16为00000001输出的结果是00,如图16所示。图16输出结果00第3组测试数据第一次置K23K16为00000010,即输入的数据是02H,如图17所示。图17第一次置K23K16为00000010第二次置K23K16为00000001,即输入的数据是01H,如图18所示。图18第二次置K23K16为00000001输出的结果是FF,如图19所示。图19输出结果FF322程序释义_FETCH_程序开始执行一条取指的微指令,读入程序第一条指令INPUT将第一个数输入ACHSR0,A将A中的内容传送到R0中INPUT将第二个数输入AJIANA,R0将AR0结果保存到A中TZH_CLOOP2如果产生借位就跳转到LOOP2TZH_ZLOOP1如果零标志为有效就跳转到LOOP1CHSA,1H如果上述条件都不满足将1传送到A中OUTPUT输出01TZH_N12H程序结束LOOP1OUTPUT输出00TZH_N12H程序结束LOOP2CHSA,OFFH将FF输入AOUTPUT输出FF4总结41设计体会从准备、收集资料、开始设计系统,经过了许多的问题和困难。在老师和同组同学的帮助和共同努力下,一一解决了在设计过程遇到的各种问题。计算机工作的原理是极其的复杂,把一条程序源码进行编译,生成机器码,录入CPU,然后将其分为若干条指令,再把这若干条指令分为若干条微指令,再把这若干条微程序,最后才通过取指、执行,实现程序的功能。在设计中我们必须要把计算机工作的原理一一搞明白,才能设计出自己的一套微指令系统。通过本次的课程设计,更深的确了解了计算机工作原理,也对计算机组成原理这门课程的深入学习有了一个好的开始,更为以后学习类似课程奠定了很好的基础。42系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论