计算机组成原理课程设计基本模型机的设计—跳转指令的实现.doc

上传人:laozhun 文档编号:2882294 上传时间:2023-03-01 格式:DOC 页数:17 大小:339.50KB
返回 下载 相关 举报
计算机组成原理课程设计基本模型机的设计—跳转指令的实现.doc_第1页
第1页 / 共17页
计算机组成原理课程设计基本模型机的设计—跳转指令的实现.doc_第2页
第2页 / 共17页
计算机组成原理课程设计基本模型机的设计—跳转指令的实现.doc_第3页
第3页 / 共17页
计算机组成原理课程设计基本模型机的设计—跳转指令的实现.doc_第4页
第4页 / 共17页
计算机组成原理课程设计基本模型机的设计—跳转指令的实现.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《计算机组成原理课程设计基本模型机的设计—跳转指令的实现.doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计基本模型机的设计—跳转指令的实现.doc(17页珍藏版)》请在三一办公上搜索。

1、学 号: 课 程 设 计题 目基本模型机的设计跳转指令的实现学 院计算机科学与技术学院专 业计算机科学与技术专业班 级姓 名指导教师年月日课程设计任务书学生姓名: 专业班级:计算机科学与技术指导教师: 工作单位:计算机科学与技术学院题 目: 基本模型机的设计跳转指令的实现初始条件: 理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。 实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机

2、系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。3、课程设计的书写报告应包括: (1)课程设计的题目。 (2)设计的目的及设计原理。 (3)根据设计要求给出模型机的逻辑框图。 (4)设计指令系统,并分析指令格式。 (5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。 (6)模型机当中时序的设计安排。 (7)设计指令执行流程。 (8)给出编制的源程序,写出程序的指令代码及微程序。 (9)说明在使用软件HKCPT

3、的联机方式与脱机方式的实现过程(包括编制程序中跳转指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。 (10)课程设计总结(设计的特点、不足、收获与体会)。时间安排: 周一:熟悉相关资料。 周二:系统分析,设计程序。 周三、四:编程并上实验平台调试 周五:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日1、课程设计的题目基本模型机的设计跳转指令的实现2、设计的目的及设计原理。2.1课程设计目的此次课程设计的主要目的有:在详细了解所发的资料内容后,根据书本的理论和之前的实践知识,掌握计算机组成原理实验平台的各个单元模块的工作的原理,并了解软件

4、HKCPT的联机、使用方式,是学会规划读/写内存、寄存器、数值计算等功能,要会编写相应的微程序,并在软件HKCPT加以实现。2.2课程设计原理实验系统中模型机的运行是在微程序的控制下进行的,在实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即1条机器指令对应一个微程序。这次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本实验采用五条机器指令:SUB(减法)、ADD(二进

5、制加法)、STA(存数)、MOV(赋值)、JMP(无条件转移)、JC、RRC(循环右移)。3、根据设计要求给出模型机的逻辑框图 其中运算器由2片74L181构成8位字长的ALU单元。2片74LS374作为2个数据锁存器(DR1、DR2),8芯插座ALU-IN作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。数据输入锁存器DR1的EDR1为低电平,并且D1CK有上升沿时,那来自数据总线的数据打入锁存器DR1。同样使EDR2为低电平、D2CK有上升沿时把数据总线上的数据打入数据锁存器DR2。4、设计指令系统,并分析指令格式4.1指令系统此次实验涉及的指令有以下几种:MOV R1,

6、#Data 将立即数Data送到寄存器A中MOV R0,#Data 将立即数Data送到寄存器RI中MOV A, #Data 将立即数Data送到寄存器A中JMP Addr 跳转到Addr处开始执行JCAddr如果有进位(借位)跳转到Addr处开始执行RLC A 带进循环左移一位Add A,R0将寄存器R0中的数据加到累加器A中Sub A,R1将累加器A中的数据减去寄存器R1中的数据STA Addr 将寄存器中内容写入存储器中HALT 停机指令指令系统如下表:指令助记符指令功能指令编码微周期微操作取指微指令T0:PC-地址总线-RAMRAM-数据总线-IR1ADD A ,R0ADD A ,R1

7、ADD A ,R2ADD A ,R3(A)+(Ri)-A0C0D0E0FT0:T1:T2:T3:A-数据总线-DR1Ri-数据总线-DR2ALU-数据总线-A、置CY取指微指令MOV A ,R0MOV A ,R1MOV A ,R2MOV A ,R3(Ri)-A2C2D2E2FT0:T1:T2:Ri-数据总线-DR2IR2-地址总线-RAM-A取指微指令MOV A ,R0MOV A ,R1MOV A ,R2MOV A ,R3(Ri)-A3C3D3E3FT0:T1:Ri-数据总线-A取指微指令MOV R0 ,AMOV R1 ,AMOV R2 ,AMOV R3 ,A(A)-Ri4C4D4E4FT0:

8、T1A-数据总线-Ri取指微指令MOV A ,#dataData-A5FT0:T1RAM-数据总线-A取指微指令MOV R0 ,#dataMOV R1 ,#dataMOV R2 ,#dataMOV R3 ,#dataData-A6C6D6E6FT0:T1RAM-数据总线-A取指微指令STA addr(A)-addr8FT0:T1:T2:RAM-数据总线-IR2IR2-地址总线,A-RAM取指微指令RLC AC、A左移一位AFT0:T1A1、置CY取指微指令JZ addrA=0Addr-PCB3T0:T1条件成立:RAM-PC取指微指令JC addrCy=0Addr-PCB7T0:T1条件成立:

9、RAM-PC取指微指令JMP addrAddr-PCBFT0:T1RAM-PC取指微指令HALT停机FFT0:停机4.2指令格式一般指令由操作码和操作码组成,如下所示:操作码地址码 此实验所涉及指令的格式如下:MOV指令采用双字节指令,其格式如下:I7I6I5I4I3I2I1I0第1字节:操作码及RiD7D6D5D4D3D2D1D0第2字节:DataJMP指令采用双字节指令,其格式如下:I7I6I5I4I3I2I1I0第1字节:操作码A7A6A5A4A3A2A1A0第2字节:AddrJC指令采用双字节指令,其格式如下:I7I6I5I4I3I2I1I0第1字节:操作码A7A6A5A4A3A2A1

10、A0第2字节:AddrRLC指令采用单字节指令,其格式如下:I7I6I5I4I3I2I1I0第1字节:操作码ADD指令采用单字节指令,其格式如下:I7I6I5I4I3I2I1I0第1字节:操作码SUB指令采用单字节指令,其格式如下:I7I6I5I4I3I2I1I0第1字节:操作码及RiSTA取数据指令,其格式如下:I7I6I5I4I3I2I1I0第1字节:操作码DataA7A6A5A4A3A2A1A0第2字节:Addr停机指令(HALT),其格式如下:I7I6I5I4I3I2I1I0第1字节:操作码5.指令源程序MOV A,#82 5F 82RRC A 9FMOV A,#32 5F 32RLC

11、 AAFMOV A,#18 5F 18 RCL A AFJZ 08 B3 08ADD A,R0 0C JC 12 B7 12JMP 0A BF 0AMOV R1,#42 6D 42ADD A,R1 0DSTA 40 8F 40HALT FF6.指令执行流程对于此次实验每条指令的执行流程如下:周期微操作指令助记符T0T1T2T3取指微指令PC-地址总线-RAMRAM-数据总线-IR1 ORL A,#dataA数据总线DR1RAM数据总线DR2ALU数据总线A取指微指令ANL A,#dataA数据总线DR1RAM数据总线DR2ALU数据总线A取指微指令MOV A,RIRI数据总线A取指微指令 MO

12、V RI,AA数据总线RI取指微指令 MOVA,#dataRAM数据总线A取指微指令 STA addrRAM数据总线IR2IR2地址总线,ARAM取指微指令 HALT停机 7.设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)7.1 微程序入口地址的形成在本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至少有24个微操作控制信号,可由微代码直接实现。如果采用多组编码译码,那么24位微代码通过二进制可实现2n个互斥微操作控制信号。按操作码散转指令操作码微程序首地址MD7、MD6I7I6I5I4MD1、MD0MD7M

13、D0000001003H000011007H00010100BH00011100FH001001013H001011017H00110101BH00111101FH010001023H010011027H01010102BH01011102FH011001033H011011037H01110103BH01111103FH每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。微程序首地址形成MD7MD6MD5MD4MD3MD2MD1MD00017161514117.2后续微地址的产生方法微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向

14、下一条微指令地址。例如,确定了一条程序的微程序入口地址微07H,那么当执行完07H这条微指令后微地址加1,指向08H微地址。微地址寄存器由2片74LS161组成。在模型机停止状态下,微地址被清零。在实验平台开始运行时,微地址从00H开始运行。且00H放置一条取指指令,根据程序开始地址从内存中读出第一条指令。8.通过键盘输入微程序及一下程序:内存地址指令助记符指令码说明00HMOV A,#815F从内存去取指令,把立即数81HA01H81H02HRRC A9F将A寄存器的内容带进位位一起循环右移40H最后结果为40H03HMOV A,#185F从内存去取指令, 把立即数18HA04H18H05H

15、MOV R0,#406CH立即数40H送入寄存器R006H40H07HMOV R1,#046DH把立即数04H送入寄存器人R108H04H09HADD A,R00CH 从内存中取指令,A中18H放入DR1中 R0中的40H放入DR2,执行两数相加放入A中0AHADD A,R10DH从内存中取指令,A中的58H放入DR1中R1中的04H放入DR2,执行两数相加放入A中0BHJC 10B7HCY有进位 跳转到0FH0CH10H转到内存地址为10H中0DHMOV R2,#336EH从内存中取指令,执行赋值指令,把立即数33H放入寄存器中0EH33H0FHSUB A,R21EH从内存中取减法指令,AD

16、R1, R2DR2执行两数相减,把结果放入A中10HJMP 15BFH取跳转指令 跳转到15H11H15HRAMIR2=15H,取地址为15H的指令12HHALTFFH停机8.1微单步运行过程如下:微地址数据流程数据总线地址总线操作寄存器00H取指微指令RAMBUSIR15FHOOHIR1=5F MOVA , # 8117HBUSA81H01HA=81H18H取指令RAMBUSIR19FH02HIR1=9FH RRCA27HA140H无效A=40,CY溢出28H取指令RAMBUSIR15FH03HIR1=5FH MOVA, # 1817HBUSA18H04HA=18H2CH取指令RAMBUSI

17、R16CH05HIR1=6CH MOVR0, # 401BHBUS寄存器R040H06HR0=40H1CH取指令RAMBUSIR16DH07HIR1=6DH MOVR1, # 041BHBUS寄存器R104H08HR1=04H1CH取指令RAMBUSIR10CH09HIR1=0CH ADDA , R003HA锁存器DR118H无效DR1=18H04H寄存器R0锁存器DR240H无效DR2=40H05HALUA58H无效ALU=58H06H取指令RAMBUSIR10DH0AHIR1=0DH ADDA , R103HA锁存器DR1无效DR1=58H04H寄存器R0锁存器DR2无效DR2=04H05

18、HALUA无效ALU=5CH06H取指令RAMBUSIR1B7H0BHIR1=B7H JC 102FHRAMBUSIR210H0CHIR2=10H30H取指令RAMBUSIR1 6EH0DHIR1=6EH MOV R2 , # 331BH BUS寄存器R233H0EHR2=33H1CH 取指令RAMBUSIR11EH0FHIR1=1EH SUB A , R207HA锁存器DR1无效DR1=5CH08H寄存器R2锁存器DR2无效DR2=33H09HALUA无效ALU=33H0AH取指令RAMBUSIR1BFH10HIR1=BFH JMP 152FH RAMBUSIR215H11HIR2=15H3

19、0H 取指令RAMBUSIR1FFH12HIR1=FFHHALT3FH 置模型机为停止状态无效无效置停止状态9.使用软件HKCPT的联机方式的实现过程9.1主要指令的时序图由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。为了更好地观察实验的各个中间过程中各寄存器的值,由监控单元产生一个PLS-O的信号来控制时序产生。PLS-O信号经过时序单元的处理产生了4个脉冲信号。4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。PLS1 微地址寄存器的工作脉冲,用来设置微

20、程序的首地址及微地址加1。PLS2 PC计数器的工作脉冲,根据位置的控制实现PC计数器加1和重置PC计数器(跳转指令)等功能。PLS3 把24位微指令打入微指令锁存器。PLS4 把当前总线上的数据打入微指令选通的寄存器中。9.2 时序变化9.2.1 时序变化图1)初始状态的时序图2)执行JZ时的时序图3)执行JC时的时序4)执行JMP时的时序图10.课程设计总结(设计的特点、不足、心得体会)此次课程设计运用到的不仅仅是计算机组成原理里面学到的知识,更综合运用到我们学过的一些其它课程的内容,这是一次综合性的课程设计项目,更需要我们有较高的动手能力。代码设计也是很重要的一项内容,有很多内容不仅仅是

21、书上的,需要我们采纳相关书籍的内容不断学习,提高自己的代码设计水平。课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要方式。当今计算机应用在生活中可以说得是无处不在,因此作为当今大学生,更要树立学习广泛知识和深入的计算机知识的想法,要对计算机各部件在功能上的独立功能有了较深入的了解以及对计算机的整体运行情况和计算机系统各部分之间的配合和硬件设施也都有了一定的认识。此次课程设计,感慨颇多,从拿到题目,对这个题目还不怎么熟悉,很多环节也不能掌握的很好,整个想法也是一片空白。到完成整个试验,从理论到实践,在短时间里可以学到很多很多的的东西,同时不仅可以巩固了以前所

22、学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在这短短的时间里,自己收获很多,虽然最终完成了试验,但是在试验中还存在很多的缺点和不足。此次实验让我学到了更多不属于课本上的知识,锻炼了能力,最重要的是提高了自我认识。知道了自己这点仅有的能力是不够面对现实的社会的,在今后的学习中,我会更努力学习,提高自己的能力。本科生课程设计成绩评定表班级:计算机0901班姓名:张涵 学号:0120910340130序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性106设计验收10总得分/等级评语:注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格指导教师签名:20 年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号