




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
94d124eab8ae47bee9c12a1b2f1a8b8f.pdf计算机组成原理课程设计报告 16位机微程序控制器指令系统的设计与实现 班级: 姓名: 教师: 信息工程学院计算机系目录一、设计题目2二、设计目的2三、设计说明2四、设计内容3五、分组及任务分配3六、课程设计环境3七、基本指令和扩展指令的执行流程框图47.1基本指令流程框图47.2扩展指令流程框图5八、基本指令和扩展指令的微程序编码表5九、基本、扩展指令映射表89.1基本指令入口地址映射表89.2扩展指令入口地址映射表8十、指令设计方案9十一、测试程序13十二、自评21十三、遇到的问题及解决方案21十四、总结21十五、课程设计日志22一、设计题目16位机微程序控制器指令系统的设计与实现二、设计目的通过看懂教学计算机组合逻辑控制器中已经设计好并正常运行的几条基本指令(例如add、mvrr、out、mvrd、jr、ret等指令)的功能、格式和执行流程,然后自己设计微程序控制器中的29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确,达到以下目的:1、深入理解计算机控制器的功能、组成知识和各类典型指令的执行过程;2、对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;3、学习微程序控制器的设计过程和相关技术。三、设计说明控制器设计是学习计算机总体组成和设计的重要的部分。要在tec2000教学计算机上完成这项设计,必须清楚懂得:1、tec2000教学机的微程序控制器主要由作为选件的微程序控制器小板和教学机大板上的7片gal20v8组成。2、tec2000教学机微程序控制器上要实现的全部基本指令和扩展指令的控制信号都是由微程序小板上的7片控制存储器给出的。3、应了解监控程序的a命令只支持基本指令,扩展指令应用e命令将指令代码写入到相应的存储单元中;不能用t、p命令单步调试扩展指令,只能用g命令执行扩展指令。4、要明白tec2000教学机支持的指令格式及指令执行流程分组情况;理解tec2000教学机中已经设计好并正常运行的各类指令的功能、格式、执行流程和控制信号的组成。5、明确自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件。6、为了完成扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的实验内容,具体过程包括: 1)确定指令格式和功能,要受教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致; 2)划分指令执行步骤并设计每一步的执行功能,设计节拍状态的取值,应参照已实现指令的处理办法来完成,特别要注意的是,读取指令的节拍只能用原来已实现的,其他节拍的节拍状态也应尽可能的与原用节拍的状态保持一致和相近;3)在指令微程序表中填写每一个控制信号的状态值,注意要特别仔细,并有意识地体会这些信号的控制作用;4)将设计好的微码,装入控制存储器的相应单元;5)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。四、设计内容1、完成微程序控制器指令系统设计,主要内容是由学生自己设计29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、运行、调试正确。2、首先看懂tec2000教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算机组合逻辑控制器中已经设计好并正常运行的几条典型指令(例如add、mvrr、out、mvrd、jrc、ret等指令)的功能、格式和执行流程。3、设计微程序控制器指令系统中各条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确,例如adc、stc、jrs、jrns、ldrx、strx、jmpr、calr、ldra等19条扩展指令。4、单条运行指令,查看指令的功能、格式和执行流程。5、用监控程序的a、e(扩展指令必须用e命令置入)命令编写一段小程序,观察运行结果。五、分组及任务分配1、 仿照教学计算机组合逻辑控制器,设计微程序控制器中基本指令的功能、格式和执行流程,画出29条基本指令的执行流程框图和微程序编码表。2、 设计19条扩展指令的功能、格式和执行流程,设计每条微指令各字段的具体编码值,包括控制码的各字段、下址字段、形成下址用到的条件码,画出19条扩展指令的执行流程框图和微程序编码表。3、 确定微码各字段与控制存储器各个芯片之间的关系,列表写出各控制存储器芯片中存储单元的内容,将设计好的微码装入控制存储器。4、 编写若干个测试程序,包含所有的基本指令和扩展指令,通过运行这些程序可以检查所有指令设计是否正确。最后,所有同学共同参与测试,通过运行测试程序,判断指令设计是否正确。如果有问题,查出错误并改正,继续调试,直到完全正确。六、课程设计环境1、硬件环境: pc 机一台、tec2000 实验机一台、微程序控制器实验板一块。2、软件环境:(1)win xp、dos(2)tec2003 仿真终端程序pcec(3)tec2003 监控程序。七、基本指令和扩展指令的执行流程框图7.1基本指令流程框图7.2扩展指令流程框图八、基本指令和扩展指令的微程序编码表指令名微址下址ci3-0scc3-00mew0i2-0sai8-6sbi5-3basstsshscidc2dc1all0000e041315501700100e043205501b00200e0101000001003002040100000001a303004900000011c30301738000000303a32470000000331023043205501b0中断隐指令3a00e040100000703b00e043314000303c00e004100500513d00e043314000303e00e002100000013f31304730500005add04303041b8001000sub05303041b9001100and06303041bc001000cmp0930304199001100xor08303041be001000test0a3030419c001000or07303041bb001000mvrr0b303044b8001000dec0d30304339001000inc0c30304338001100shl0e30304378006000shr0f30304358005000jr1130304530550002jrc1030344010000000jrnc1030344010000000jrz1030344010000000jrnz1030344010000000jmpa1e24304320550130ldrr1b00e04490000030in1214364710000032out121436471000003213303023100000011430303730000000strr1900e04318000030psh/f151a374331400030151a3743314000301630300010000003pop/f171c374320440130171c3743204401301830301010002000mvrd1d1c304320550130ret2300e043204401302430301730500000cala1f00e043205501302000e017000000002100e043314000302230300220550001adc50303041b8001200sbb51303041b9001200rcl5430304378006400rcr5530304358005400asr5330304358005c00not523030433f001000jmpr5a303044b0500000jrs6930354010000000jrns69303540100000006a30304530550002clc5630304010003000stc5730304010004000ei5830304010000060di5930304010000070calr6400e043314000306500e0041005000166303044b0500000ldra5b00e043205501305c1c301710000030ldrx5d00e043205501305e1c301590000030strx6100e043205501306200e015b00000306330300390000001stra5f00e04320550130601a301710000030iret6700e043204401306823301010002040九、基本、扩展指令映射表9.1基本指令入口地址映射表9.2扩展指令入口地址映射表十、指令设计方案1、将设计好的微码写入控制存储器。一次只对一片28c64 控制存储器芯片进行读写,该芯片可插在扩展芯片的高位或低位,若插在高位,输入时信号编码为高八位,低八位补零;若插在低位,输入时信号编码为低八位,高位补零。若一次扩展两片28c64控制器芯片,要注意信号要与产生该信号的芯片相对。(1)将扩展新片的内存单元地址置为40005fff,将maprom 插入扩展芯片的位置,微程序入口地址对应的内存单元的地址为芯片的起始地址和该指令的编码值之和。具体操作如下:e 40004000 00ff:04 00ff:05 00ff:06 00ff:09 00ff:0800ff:0a 00ff:07 00ff:0b 00ff:0d 00ff:0c00ff:0e 00ff:0fe 40414041 00ff:11e 40444044 00ff:10 00ff:10 00ff:10 00ff:10e 406c406c 00ff: 00ff: 00ff:58 00ff:59e 40804080 00ff:1e 00ff:1b 00ff:12 00ff:19 00ff:1500ff:15 00ff:12 00ff:17 00ff:1de 408c408c 00ff:17 00ff: 00ff: 00ff: 23e 40ce40ce 00ff:1fe 40ef40ef 00ff:67(2)将mprom1-mprom7依次插入扩展芯片的位置对其编程,内存单元的地址为芯片的起始地址和该指令操作功能所对应的微址之和,操作如下:mprom1产生下址信号,mprom2 产生ci30、scc30 信号,对mprom1-2 的操作为:mprom1 在高位 mprom2 在低位:e 40004000 00ff:00e0 00ff:00e0 00ff:00e0 00ff:002000ff:3030 00ff:3030 00ff:3030 00ff:303000ff:3030 00ff:3030 00ff:3030 00ff:303000ff:3030 00ff:3030 00ff:3030 00ff:303000ff:3034 00ff:3030 00ff:1436 00ff:303000ff:3030 00ff:1a37 00ff:3030 00ff:1c3700ff:3030 00ff:00e0 00ff:3030 00ff:00e000ff:3030 00ff:1c30 00ff:2430 00ff:00e000ff:00e0 00ff:00e0 00ff:3030 00ff:00e000ff:3030e 40304030 00ff:3a32 00ff:0230e 403a403a 00ff:00e0 00ff:00e0 00ff:00e0 00ff:00e000ff:00e0 00ff:3130e 40584058 00ff:3030 00ff:3030e 40674067 00ff:00e0(3)mprom3 产生0mrw、0i20 信号,mprom4产生sai8i6、sbi5i3信号,对 mprom3-4的操作为:mprom3 在高位 mprom4 在低位:e 40004000 00ff:4131 00ff:4320 00ff:1010 00ff:401000ff:41b8 00ff:41b9 00ff:41bc 00ff:41bb00ff:41be 00ff:4199 00ff:419c 00ff:44b800ff:4338 00ff:4339 00ff:4378 00ff:435800ff:4010 00ff:4530 00ff:4710 00ff:231000ff:3730 00ff:4331 00ff:0010 00ff:432000ff:1010 00ff:4318 00ff:0490 00ff:449000ff:1738 00ff:4320 00ff:4320 00ff:432000ff:1700 00ff:4331 00ff:0220 00ff:432000ff:1730e 40304030 00ff:4700 00ff:4320e 403a403a 00ff:4010 00ff:4331 00ff:0410 00ff:433100ff:0210 00ff:4730e 40584058 00ff:4010 00ff:4010 e 40674067 00ff:4320 (4)mprom5 产生b 口、a口信号,mprom6 产生0sst、sshsci 信号,对 mprom5-6的操作为:mprom5 在高位 mprom6 在低位:e 40004000 00ff:5501 00ff:5501 00ff:0000 00ff:000000ff:0010 00ff:0011 00ff:0010 00ff:001000ff:0010 00ff:0011 00ff:0010 00ff:001000ff:0011 00ff:0010 00ff:0060 00ff:005000ff:0000 00ff:5500 00ff:0000 00ff:000000ff:0000 00ff:4000 00ff:0000 00ff:440100ff:0020 00ff:0000 00ff:0000 00ff:000000ff:0000 00ff:5501 00ff:5501 00ff:550100ff:0000 00ff:4000 00ff:5500 00ff:440100ff:5000e 40304030 00ff:0000 00ff:5501e 403a403a 00ff:0000 00ff:4000 00ff:0500 00ff:400000ff:0000 00ff:5000e 40584058 00ff:0000 00ff:0000e 4067 4067 00ff:4401 (5)mprom7 产生dc2、dc1 信号,对mprom7 的操作为:e 40004000 00ff:70 00ff:b0 00ff:10 00ff:0000ff:00 00ff:00 00ff:00 00ff:0000ff:00 00ff:00 00ff:00 00ff:0000ff:00 00ff:00 00ff:00 00ff:0000ff:00 00ff:02 00ff:32 00ff:0100ff:00 00ff:30 00ff:03 00ff:3000ff:00 00ff:30 00ff:01 00ff:3000ff:00 00ff:30 00ff:30 00ff:3000ff:00 00ff:30 00ff:01 00ff:3000ff:00e 40304030 00ff:03 00ff:b0e 403a403a 00ff:70 00ff:30 00ff:51 00ff:3000ff:01 00ff:05e 40584058 00ff:60 00ff:70 e 40674067 00ff:302. 八个控制存储器芯片中各存储单元的内容列表指令名maprommprom1mprom2mprom3mprom4mprom5mprom6mprom7all0000000000e0004100310055000100700001000000e0004300200055000100b00002000000e00010001000000000001000030000002000400010000000000000001a0030003000040090000000000001001c00300030001700380000000000000030003a003200470000000000000003003100020030004300200055000100b0中断隐指令003a000000e000400010000000000070003b000000e000430031004000000030003c000000e000040010000500000051003d000000e000430031004000000030003e000000e000020010000000000001003f0031003000470030005000000005add000400300030004100b8000000100000sub000500300030004100b9000000110000and000600300030004100bc000000100000cmp00090030003000410099000000110000xor000800300030004100be000000100000test000a003000300041009c000000100000or000700300030004100bb000000100000mvrr000b00300030004400b8000000100000dec000d0030003000430039000000100000inc000c0030003000430038000000110000shl000e0030003000430078000000600000shr000f0030003000430058000000500000jr00110030003000450030005500000002jrc00100030003400400010000000000000jrnc00100030003400400010000000000000jrz00100030003400400010000000000000jrnz00100030003400400010000000000000jmpa001e0024003000430020005500010030ldrr001b000000e000440090000000000030in00120014003600470010000000000032out001200140036004700100000000000320013003000300023001000000000000100140030003000370030000000000000strr0019000000e000430018000000000030psh/f0015001a0037004300310040000000300015001a00370043003100400000003000160030003000000010000000000003pop/f0017001c0037004300200044000100300017001c00370043002000440001003000180030003000100010000000200000mvrd001d001c003000430020005500010030ret0023000000e00043002000440001003000240030003000170030005000000000cala001f000000e0004300200055000100300020000000e0001700000000000000000021000000e00043003100400000003000220030003000020020005500000001di00590030003000400010000000000070十一、测试程序1测试基本指令的程序:(1)验证指令mvrd,mvrr,add,sub,xor,or,ret。运行结果:r0=0064(r1+r0r0);r1=0023;r3=fff7(r3-r2r3);r6=0070(r6与r7相异或);r7=fff7(r7与r3或运算)。(2)验证指令in,out,shr, and,cmp,jrc, jrnc,jmpa。功能:从键盘上连续打入多个属于0到9的数字符并在屏幕上显示,遇非数字符结束输入过程。 (3)测试inc,jrnz。功能:计算1到10的累加和。(4)测试dec,jrz,push,pop,jr。功能:用次数控制在终端屏幕上输出0到9是个数字符。(5)测试strr,ldrr,cala。功能:读出内存中的字符,将其显示到显示器的屏幕上,转换为小写字母后再写回存储器原存储区域。(6)测试test,shl。运行结果:r0=0040(shl r0);标志位z=1,结果正确。(7)验证pshf,popf。运行结果:单步执行程序后,状态标志位c由0变为1,结果正确。2测试扩展指令di的程序a 21042104:jr 2120 ;跳转到中断服务程序a 21082108:jr 2130 ;跳转到中断服务程序 a 210c210c:jr 2140 ;跳转到中断服务程序a 21202120:push r0 ;r0进栈2121:push r3 ;r3进栈2122:mvrd r3,31 ;将字符1的ascii码送寄存器r32124:jr 2150 2125:reta 21302130:push r02131:push r32132:mvrd r3,32 ;将字符2的ascii码送寄存器r32134:jr 21502135:reta 21402140:push r02141:push r32142:mvrd r3,33 ;将字符3的ascii码送寄存器r32144:jr 2150;2145:ret2150:*di ;关中断 a 21512151:mvrd r0,0042 ;将字符“b”赋值给r0,b即begin的缩写。2153:cala 2200 ;调用子程序,完成显示2155:mvrd r0,0049 ;将字符“i”赋值给r0,i即interrupt的缩写。2157:cala 2200 ;调用子程序,完成显示2159:mvrr r0,r3 ;将r3的内容送r0215a:cala 2200 ;调用子程序,完成显示215c:in 81 ;判键盘上是否按了一个键215d:shr r0 ;即串口是否有了输入字符215e:shr r0215f:jrnc 215c ;若没有,等待2160:in 80 ;输入字符到r02161:mvrd r0,0045 ;将字符“e”赋值给r0,e即end2163:cala 2200 ;调用子程序,完成显示 2165:mvrd r0,0049 ;将字符“i”赋值给r0,i即interrupt的缩写2167:cala 2200 ;调用子程序,完成显示2169:mvrr r0,r3 ;将r3的内容送r1216a:cala 2200 ;调用子程序,完成显示216c:pop r3 ;r3出栈216d:pop r0 ;r0出栈216e:*iret ;中断返回a 22002200:push r0 ;r0进栈2201:in 81 ;查询接口状态,判字符输出完成否2202:shr r02203:jrnc 2201 ;未完,循环等待2204:pop r0 ;r0出栈2205:out 80 ;输出r0的值2206:ret;a 20002000:*ei ;开中断a 20012001:mvrd r0,0036 ;将字符6的ascii码送寄存器r02003:cala 2200 ;输出该字符2005:mvrd r0,4000 ;延时子程序2007:dec r02008:jrnc 20072009:jr 2001 ;跳到2001循环执行该程序200a:retg 2000 结果无误注:本程序执行时只可执行一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年甘肃省武威市-嘉峪关市-临夏州中考历史试题(含答案)
- 工业园区的物流配送规划优化实践分享
- 工业废水处理技术与工艺研究
- 工业控制系统中智能传感器的应用
- 工业机器人结构设计与应用
- 工业自动化中新材料的作用
- 工业自动化中电池技术的运用
- 工业视频监控中的智能识别技术应用
- 工业节能与余热回收利用
- 工业生产与环保的和谐共生
- 第九届全国大学生化学实验邀请赛笔试试题
- 热管理技术详述
- 推荐《史蒂夫·乔布斯传》
- 应急演练评估表、评价表、评审表(模板)
- 系统集成项目总体服务方案
- CRH2动车组制动系统常见故障及处理方法
- 国开《色彩》形考任务第1-4章及答案
- 2004浙S1、S2、S3砌砖化粪池
- 热电厂管道防腐保温施工方案
- 骨髓穿刺术培训教案
- 《供应链管理》期末考试复习题库(含答案)
评论
0/150
提交评论