资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2015/2016 学年第课程名称计算机组成原理综合实验设计题目微程序控制器设计与实现系 别电信学院计算机系班 级计141学生姓名 艾尼瓦尔阿布力米提学 号完成日期 二一六年七月八日星期五成 绩指导教师(签名)计算机组成综合实验任务书指导教师姓名王怀秀系计算机任务微程序控制器的设计与实现人数32学时1周实验目的1融合贯通计算机组成原理课程,加深对计算机系统各模块的工作原理及相互联系(寄存器堆、运算器、存储器、控制台、微程序控制器)2理解并掌握微程序控制器的设计方法和实现原理,具备初步的独立 设计能力;3 掌握较复杂微程序控制器的设计、调试等基本技能;提 高综合运用所学理论知识独立分析和解决问题的能力。实验任务?基于TEC-9教学实验平台基于原有指令集的基础上设计或扩展 48条指 令。首先在原微程序控制器指令系统的基础上进行原指令集的微指令编 码的测试,然后利用上端软件,编写用户设计的微指令,实现指令预定 的功能。实验步骤?1进行原实验平台指令集的微程序控制器下指令运行测试;? 2、记录每一条机器指令的指令的执行流程和微命令编码;? 3、画出每一条指令的指令微程序执行流程图;? 4、在原有指令集基础上自行设计或扩展 48条指令。画出扩展指令的指令执行流程图;? 5、利用上端软件,把所编写的微程序控制器内容写入实验台中控制器 中。? 6、利用单拍测试控制器与编程的要求是否一致。如果有错误重新修改 后再写入控制器中。7、编写一段测试程序,测试控制器运行是否正确。实验目的1 融合贯通计算机组成原理课程,加深对计算机系统各模块的工作原理及相互联系 (寄存器堆、运算器、存储器、控制台、微程序控制器)。2 理解并掌握微程序控制器的设计方法和实现原理, 具备初步的独立设计能力;3掌 握较复杂微程序控制器的设计、调试等基本技能;提高综合运用所学理论知识独立 分析和解决问题的能力。实验电路1. 微指令格式与微程序控制器电路2. 微程序控制器组成仍然使用前面的CPUS成与机器指令执行实验的电路图,但本次实验加入中断系统。 这是一个简单的中断系统模型,只支持单级中断、单个中断请求,有中断屏蔽功能,旨在 说明最基本的原理 中断屏蔽控制逻辑分别集成在 2片GAL22V1(TIMER1和TIMER2中。其ABEL语言表达式如下:INTR1 := INTR;INTR1.CLK = CLK1;IE := CLR & INTS # CLR & IE & !INTC;IE.CLK= MF;INTQ = IE & INTR1;其中,CLK1是TIMER1产生的时钟信号,它主要是作为 W W4的时钟脉冲,这里作为INTR1的时钟信号,INTE的时钟信号是晶振产生的 MF INTS微指令位是INTS机器指令执 行过程中从控制存储器读出的,INTC微指令位是INTC机器指令执行过程中从控制存储器 读出的。INTE是中断允许标志,控制台有一个指示灯 IE显示其状态,它为1时,允许中 断,为0时,禁止中断。当INTS = 1时,在下一个MF的上升沿IE变1,当INTC = 1时, 在下一个MF的上升沿IE变0。CLR信号实际是控制台产生的复位信号 CLR#当CLR = 0 时,在下一个CLK1的上升沿IE变0。当CLR=1且INTS = 0且INTC = 0时,IE保持不 变。INTR 是外部中断源,接控制台按钮INTR。按一次INTR按钮,产生一个中断请求正脉 冲INTR0 INTR1是INTR经时钟CLK1同步后产生的,目的是保持INTR1与实验台的时序信 号同步。INTR脉冲信号的上升沿代表有外部中断请求到达中断控制器。 INTQ是中断屏蔽控 制逻辑传递给CPU勺中断信号,接到微程序控制器上。当收到INTR脉冲信号时,若中断允 许位INTECO,则中断被屏蔽,INTQ仍然为0;若INTE =1,贝U INTQ = 1。为保存中断的断点地址,以便中断返回,设置了一个中断地址寄存器IAR。第二节图4中的IAR(U19就是这个中断地址寄存器,它是一片 74HC374有LDIAR和 IAR_BUS两个 信号输入端,均连接至微程序控制器。LDIAR信号的上升沿到达时,来自程序计数器 PC的 地址会置入IAR中。IAR_BUS为0时,保存在IAR中的断点地址会输出到数据总线 DBUSk。 由于本实验系统只有一个断点寄存器而无堆栈,因此仅支持一级中断而不支持多级中断。中断向量即中断服务程序的入口地址,在本实验仪中由8位数码开关SW SW0提供。3. 中断的检测、执行和返回过程微程序控制器每执行一条机器指令之后,执行下一条机器指令之前,先转到微地址OF处(见图12微程序流程图),在条件位P1=1时判断是否有中断请求INTQ。如果没有INTQ, 则继续正常的机器指令执行。若检测到中断请求 INTQ,首先发出关中断信号INTC、保存断 点信号LDIAR,并且发出停机信号TJ,等待手动设置中断向量。设置好 SW SW0后,按 QD钮启动,机器将中断向量读入程序计数器 PC中,从而转到中断服务子程序去执行。执行一条机器指令IRET,从中断服务子程序返回时,发出IAR_BUS信号,从中断地址 寄存器IAR向数据总线DBUS俞出断点地址,再从DBUS依次写入到R4 PC中,恢复执行被 中断的程序。发生中断时,关中断由硬件负责,而中断现场 (寄存器堆中的寄存器,进位标志 C) 的 保存和恢复由中断服务程序来处理。实验任务(1)了解中断系统中每个信号的意义和变化条件,并将下面的主程序和中断服务程序手工汇编成十六进制机器代码,此项任务应在预习时完成主程序:地址指令机器代码20HINTS21HLDA R0,R222HADD R0,R023HADD R0,R024HADD R0,R025HADD R0,R026HADD R0,R027HADD R0,R028HADD R0,R029HJMP R1中断服务程序:地址指令机器代码0A0HAND R0,R00A1HIRET(2)参考CPU组成与机器指令执行实验,再加上中断系统,完成本次实验的线路连接接通电源之前应仔细检查接线,确认无误。(3)将上述任务(1)的程序代码存入内存中,并根据需要设置通用寄存器组和内存 相关单元的数据。其中,寄存器 R1的值应置为21H,以便程序循环执行。(4) 从地址20H执行程序,在程序运行中,按一次控制台的INTR。进入中断后,用 单拍(DP方式执行,直到返回主程序为止。列表记录中断系统中有关信号的变化情况, 特别要纪录好断点地址和R0的值。(5)重复执行(4)两次。(一共执行3次)(6)将RAM中 20H单元的内容由指令INTS改为INTC,重作(4),记录发生的现象。六、实验步骤和实验结果1、实验程序主程序:地址指令机器代码20HINTS0BH21HLDA R0,R258H22HADD R0,R000H23HADD R0,R000H24HADD R0,R0OOH25HADD R0,R0OOH26HADD R0,R0OOH27HADD R0,R0OOH28HADD R0,R0OOH29HJMP R184H中断服务程序:地址指令机器代码OAOHAND RO,RO3OHOA1HIRETOAOH2、接线微程序控制器与数据通路之间的线可以通过选择开关直接选择。将开关设置为“微程序”只需连接数据通路部分的线。a、数据通路的 LDIR接 CER LDPC接 LDR4 LDDR接 LDDR2M1 接 M2 LDAR1 接 LDAR2b、指令寄存器IR的输出IR0接双端口寄存器堆的 RD0 WR0 IR1接RD1 WR1 IR2 接 RSQ IR3 接 RStC、单脉冲DMC接中断INTR选择开关拔至“微程序”3、存程序机器代码,设置通用寄存器 R1、R2及内存相关单元的数据。(1)、设置寄存器R1、R2的值根据要求,设置R1 = 21H,R2的值由实验者自定,假定为10Ho1)、令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令 SWB = 1, SWA = 1使实验系统处于寄存器加载工作方式 KLD按CLR#按钮,使实验系统处于初始状态。1)、在SW SWC上设置一个存储器地址,该存储器地址供设置通用寄存器使用。该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏重要的存储器单元 的内容。例如可将该地址设置为 0FFH按一次QD按钮,将0FFH写入AR1和AR22)在SW SW0上设置01H,作为通用寄存器 R1的寄存器号。按一次 QD按钮,将01H 写入IR o3)在SW SW(设置21H,按一次QD按钮,将21H写入IR指定的R1寄存器。4)在SW SW0上设置02H,作为通用寄存器 R2的寄存器号。按一次 QD按钮,将02H 写入IR o5)在SW SW(设置10H,作为R2的值。按一次QD按钮,将10H写入IR指定的R2寄存6)设置R1、R2结束,按CLR按钮,使实验系统恢复到初始状态。(2)、存程序机器代码。本操作中,我们在10H单元存入01H(也可以是其他值),从20地址开始存10个机器代码:0B0H 58H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 8414 从 0A0H存入 2 个机器代 码:30H,0A0H。1)令 DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令 SWB = 1,SWA = 0,使实验系统处于写双端口存储器工作方式 KWRD按CLR按钮,使实验系统处于初始状态。2)置SW SW(为10H,按QD按钮,将10H写入ARt3)置SW SW0为01H,按QD按钮,将01H写入存储器10H单元。写主程序1)按CLR按钮,使实验系统恢复初始状态。2)置SW SW(为20H,按QD按钮,将20H写入ARt3)置SW SW0为0B0H按QD按钮,将0B0H写入存储器20H单元。AR1自动力卩1,变 为 21H。4)置SW SW0为58H,按QD按钮,将58H写入存储器21H单元。AR1自动力卩1,变为22H。5)重复进行下去,一直到将84H写入存储器29H单元。按CLR#按钮,使实验系统恢复 到初始状态写中断程序1)置SW SWC为0A0H按QD按钮,将OAOH写入AR12)置SW SWO为30H,按QD按钮,将30H写入存储器OAOH单元。3)置SW SWO OAOH按QD按钮,将0A0H写入存储器0A1H单元。4)按CLR按钮,使实验系统恢复到初始状态。或用实验台监控系统或系统上端软件直接写入内容(3)从地址20H连续执行程序从地址20H连续执行程序,在程序运行中,按一次控制台的INTR。进入中断后,用单拍(DP方式执行,直到返回主程序为止。列表记录中断系统中有关信号的变化情况,特别要纪录好断点地址和R0的值。1)令 DP = 0, DZ = 0, DB =
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号