计算机组成原理课程设计-基本模型机的设计—跳转指令的实现.doc_第1页
计算机组成原理课程设计-基本模型机的设计—跳转指令的实现.doc_第2页
计算机组成原理课程设计-基本模型机的设计—跳转指令的实现.doc_第3页
计算机组成原理课程设计-基本模型机的设计—跳转指令的实现.doc_第4页
计算机组成原理课程设计-基本模型机的设计—跳转指令的实现.doc_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

学 号: 课 程 设 计题 目基本模型机的设计跳转指令的实现学 院计算机科学与技术学院专 业计算机科学与技术专业班 级姓 名指导教师年月日课程设计任务书学生姓名: 专业班级:计算机科学与技术指导教师: 工作单位:计算机科学与技术学院题 目: 基本模型机的设计跳转指令的实现初始条件: 理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。 实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。3、课程设计的书写报告应包括: (1)课程设计的题目。 (2)设计的目的及设计原理。 (3)根据设计要求给出模型机的逻辑框图。 (4)设计指令系统,并分析指令格式。 (5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。 (6)模型机当中时序的设计安排。 (7)设计指令执行流程。 (8)给出编制的源程序,写出程序的指令代码及微程序。 (9)说明在使用软件hkcpt的联机方式与脱机方式的实现过程(包括编制程序中跳转指令的时序分析,累加器a和有关寄存器、存储器的数据变化以及数据流程)。 (10)课程设计总结(设计的特点、不足、收获与体会)。时间安排: 周一:熟悉相关资料。 周二:系统分析,设计程序。 周三、四:编程并上实验平台调试 周五:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日1、课程设计的题目基本模型机的设计跳转指令的实现2、设计的目的及设计原理。2.1课程设计目的此次课程设计的主要目的有:在详细了解所发的资料内容后,根据书本的理论和之前的实践知识,掌握计算机组成原理实验平台的各个单元模块的工作的原理,并了解软件hkcpt的联机、使用方式,是学会规划读/写内存、寄存器、数值计算等功能,要会编写相应的微程序,并在软件hkcpt加以实现。2.2课程设计原理实验系统中模型机的运行是在微程序的控制下进行的,在实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即1条机器指令对应一个微程序。这次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。计算机数据通路的控制将由微程序控制器来完成,cpu从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本实验采用五条机器指令:sub(减法)、add(二进制加法)、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,#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 ,r1add 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: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条件成立:ram-pc取指微指令jmp addraddr-pcbft0:t1ram-pc取指微指令halt停机fft0:停机4.2指令格式一般指令由操作码和操作码组成,如下所示:操作码地址码 此实验所涉及指令的格式如下:mov指令采用双字节指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码及rid7d6d5d4d3d2d1d0第2字节:datajmp指令采用双字节指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码a7a6a5a4a3a2a1a0第2字节:addrjc指令采用双字节指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码a7a6a5a4a3a2a1a0第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 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取指微指令 mov ri,aa数据总线ri取指微指令 mova,#dataram数据总线a取指微指令 sta addrram数据总线ir2ir2地址总线,aram取指微指令 halt停机 7.设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)7.1 微程序入口地址的形成在本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至少有24个微操作控制信号,可由微代码直接实现。如果采用多组编码译码,那么24位微代码通过二进制可实现2n个互斥微操作控制信号。按操作码散转指令操作码微程序首地址md7、md6i7i6i5i4md1、md0md7md0000001003h000011007h00010100bh00011100fh001001013h001011017h00110101bh00111101fh010001023h010011027h01010102bh01011102fh011001033h011011037h01110103bh01111103fh每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。微程序首地址形成md7md6md5md4md3md2md1md00017161514117.2后续微地址的产生方法微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。例如,确定了一条程序的微程序入口地址微07h,那么当执行完07h这条微指令后微地址加1,指向08h微地址。微地址寄存器由2片74ls161组成。在模型机停止状态下,微地址被清零。在实验平台开始运行时,微地址从00h开始运行。且00h放置一条取指指令,根据程序开始地址从内存中读出第一条指令。8.通过键盘输入微程序及一下程序:内存地址指令助记符指令码说明00hmov a,#815f从内存去取指令,把立即数81ha01h81h02hrrc a9f将a寄存器的内容带进位位一起循环右移40h最后结果为40h03hmov a,#185f从内存去取指令, 把立即数18ha04h18h05hmov 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从内存中取减法指令,adr1, 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取指令rambusir16ch05hir1=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=04h05halua无效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=15h30h 取指令rambusir1ffh12hir1=ffhhalt3fh 置模型机为停止状态无效无效置停止状态9.使用软件hkcpt的联机方式的实现过程9.1主要指令的时序图由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。为了更好地观察实验的各个中间过程中各寄存器的值,由监控单元产生一个pls-o的信号来控制时序产生。pls-o信号经过时序单元的处理产生了4个脉冲信号。4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。pls1 微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。pls2 pc计数器的工作脉冲,根据位置的控制实现pc计数器加1和重置pc计数器(跳转指令)等功能。pls3 把24位微指令打入微指令锁存器。pls4 把当前总线上的数据打入微指令选通的寄存器中。9.2 时序变化9.2.1 时序变化图1)初始状态的时序图2)执行jz时的时序图3)执行jc时的时序4)执行jmp时的时序图10.课程设计总结(设计的特点、不足、心得体会)此次课程设计运用到的不仅仅是计算机组成原理里面学到的知识,更综合运用到我们学过的一些其它课程的内容,这是一次综合性的课程设计项目,更需要我们有较高的动手能力。代码设计也是很重要的一项内容,有很多内容不仅仅是书上的,需要我们采纳相关书籍的内容不断学习,提高自己的代码设计水平。课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要方式。当今计算机应用在生活中可以说

温馨提示

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

评论

0/150

提交评论