




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京建筑大学2015/2016 学年 第 二 学 期课程设计课程名称 计算机组成原理综合实验设计题目 微程序控制器设计与实现系 别 电信学院计算机系 班 级 计 141 学生姓名 艾尼瓦尔·阿布力米提 学号完成日期 二一六年七月八日星期五成绩指导教师(签名) 计算机组成综合实验任务书指导教师姓 名王怀秀系计算机任务微程序控制器的设计与 实现人数32学时1周实验目的1融合贯通计算机组成原理课程, 加深对计算机系统各模块 的工作原理及相互联系(寄存器堆、运算器、存储器、控制 台、微程序控制器) 。2理解并掌握微程序控制器的设计方法和实现原理, 具备初 步的独立设计能力; 3掌握较复杂微程
2、序控制器的设计、调 试等基本技能;提高综合运用所学理论知识独立分析和解决 问题的能力。实验任务? 基于 TEC-9 教学实验平台基于原有指令集的基础上设计或扩展 48 条指令。首先在原微程序控制器指令系统的基础上进 行原指令集的微指令编码的测试,然后利用上端软件,编写 用户设计的微指令,实现指令预定的功能。实验步骤? 1、进行原实验平台指令集的微程序控制器下指令运行测试;? 2、记录每一条机器指令的指令的执行流程和微命令编码;? 3、画出每一条指令的指令微程序执行流程图;? 4、在原有指令集基础上自行设计或扩展 48 条指令。画出扩展指令的指令执行流程图;? 5、利用上端软件, 把所编写的微程
3、序控制器内容写入实验台中控制器中。? 6、利用单拍测试控制器与编程的要求是否一致。 如果有错误重新修改后再写入控制器中7、 编写一段测试程序,测试控制器运行是否正确? 实验目的1融合贯通计算机组成原理课程, 加深对计算机系统各模块的 工作原理及相互联系(寄存器堆、运算器、存储器、控制台、 微程序控制器)。2理解并掌握微程序控制器的设计方法和实现原理, 具备初步 的独立设计能力; 3掌握较复杂微程序控制器的设计、 调试等 基本技能;提高综合运用所学理论知识独立分析和解决问题的 能力。? 实验电路1. 微指令格式与微程序控制器电路2. 微程序控制器组成仍然使用前面的 CPU组成与机器指令执行实验的
4、电路图, 但本次 实验加入中断系统。 这是一个简单的中断系统模型, 只支持单级中断、 单个中断请求,有中断屏蔽功能,旨在说明最基本的原理。中断屏蔽控制逻辑分别集成在 2片 GAL22V(10TIMER1 和TIMER2)中。其 ABEL语言表达式如下:INTR1 := INTR;INTR1.CLK = CLK1;IE := CLR & INTS # CLR & IE & !INTC;IE.CLK= MF;INTQ = IE & INTR1;其中, CLK1是 TIMER1产生的时钟信号 , 它主要是作为 W1W4的 时钟脉冲,这里作为 INTR1的时钟信号, I
5、NTE 的时钟信号是晶振产 生的 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 时,
6、IE 保持不变。INTR 是外部中断源,接控制台按钮 INTR。按一次 INTR 按钮,产 生一个中断请求正脉冲 INTR。INTR1是 INTR 经时钟 CLK1同步后产生 的,目的是保持 INTR1与实验台的时序信号同步。 INTR 脉冲信号的 上升沿代表有外部中断请求到达中断控制器。 INTQ 是中断屏蔽控制 逻辑传递给 CPU的中断信号,接到微程序控制器上。当收到 INTR 脉 冲信号时,若中断允许位 INTE,则中断被屏蔽, INTQ仍然为; 若 INTE ,则 INTQ 。为保存中断的断点地址, 以便中断返回, 设置了一个中断地址寄 存器 IAR。第二节图 4 中的 IAR(U19
7、)就是这个中断地址寄存器,它 是一片 74HC374,有 LDIAR和 IAR_BUS#两个信号输入端, 均连接至微 程序控制器。 LDIAR信号的上升沿到达时,来自程序计数器 PC 的地 址会置入 IAR 中。IAR_BUS#为时,保存在 IAR 中的断点地址会输出 到数据总线 DBUS上。由于本实验系统只有一个断点寄存器而无堆栈, 因此仅支持一级中断而不支持多级中断。中断向量即中断服务程序的入口地址, 在本实验仪中由位数码 开关 SW7 SW0提供。3. 中断的检测、执行和返回过程微程序控制器每执行一条机器指令之后, 执行下一条机器指令之 前,先转到微地址 0F处(见图 12 微程序流程图
8、),在条件位 P1=1时 判断是否有中断请求 INTQ。如果没有 INTQ,则继续正常的机器指令 执行。若检测到中断请求 INTQ,首先发出关中断信号 INTC、保存断 点信号 LDIAR,并且发出停机信号 TJ,等待手动设置中断向量。设置 好 SW7SW0后,按 QD 按钮启动,机器将中断向量读入程序计数器 PC中,从而转到中断服务子程序去执行。执行一条机器指令 IRET,从中断服务子程序返回时,发出 IAR_BUS#信号,从中断地址寄存器 IAR 向数据总线 DBUS输出断点地 址,再从 DBUS依次写入到 R4、PC中,恢复执行被中断的程序。发生中断时,关中断由硬件负责,而中断现场 (
9、寄存器堆中的寄 存器,进位标志 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组成与机器指令执行实验,再加上中断系统,完
10、成本次实验的线路连接。接通电源之前应仔细检查接线,确认无误。(3)将上述任务( 1)的程序代码存入内存中,并根据需要设置 通用寄存器组和内存相关单元的数据。其中,寄存器R1 的值应置为21H,以便程序循环执行。4)从地址 20H执行程序,在程序运行中,按一次控制台的 INTR。进入中断后,用单拍( DP)方式执行,直到返回主程序为止。列表记录中断系统中有关信号的变化情况,特别要纪录好断点地址和 R0 的 值。(5)重复执行( 4)两次。(一共执行 3 次)(6)将 RAM中 20H单元的内容由指令 INTS 改为 INTC,重作(4), 记录发生的现象。六、实验步骤和实验结果1、实验程序主程序
11、:地址指令机器代码20HINTS0BH21HLDA R0,R258H22HADD R0,R000H23HADD R0,R000H24HADD R0,R000H25HADD R0,R000H26HADD R0,R000H27HADD R0,R000H28HADD R0,R000H29HJMP R184H中断服务程序:地址指令机器代码0A0HAND R0,R030H0A1HIRET0A0H2、接线 微程序控制器与数据通路之间的线可以通过选择开关直接选择。将开关设置为“微程 序”。只需连接数据通路部分的线。a 、数据通路的 LDIR 接 CER、LDPC接 LDR4、 LDDR1接 LDDR、2 M
12、1 接 M2、 LDAR1接 LDAR2。b、指令寄存器 IR 的输出 IR0 接双端口寄存器堆的 RD0、 WR,0IR1 接 RD1、 WR,1 IR2 接 RS0, IR3 接 RS1。C、单脉冲 DMC接 中断 INTR选择开关拔至“微程序”3、存程序机器代码, 设置通用寄存器 R1、R2及内存相关单元的数据。(1)、设置寄存器 R1、R2 的值根据要求,设置 R1 = 21H,R2的值由实验者自定,假定为 10H。1)、令 DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。 令 SWB = 1, SWA = 1,使实验系统处于寄存器加载工作方式 KLD。按 CLR#
13、按钮,使实验系统处于初始状态。1)、在 SW7SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。 该存储器地址最好是不常用的一个地址, 以免 设置通用寄存器操作破坏重要的存储器单元的内容。 例如可将该 地址设置为 0FFH。按一次 QD按钮,将 0FFH写入 AR1和 AR2。2)在 SW7 SW0上设置 01H,作为通用寄存器 R1 的寄存器号。按 一次 QD按钮,将 01H写入 IR 。3)在 SW7 SW0设置 21H,按一次 QD按钮,将 21H 写入 IR 指定 的 R1 寄存器。4)在 SW7 SW0上设置 02H,作为通用寄存器 R2 的寄存器号。按 一次 QD按钮,
14、将 02H写入 IR 。5)在 SW7 SW0设置 10H,作为 R2的值。按一次 QD按钮,将 10H 写入 IR 指定的 R2寄存器。6)设置 R1、R2结束,按 CLR#按钮,使实验系统恢复到初始状态。( 2)、存程序机器代码。本操作中,我们在 10H 单元存入 01H(也可以是其他值) ,从 20 地址开始存 10个机器代码: 0B0H,58H,00H,00H,00H,00H,00H, 00H,00H,84H。从 0A0H存入 2个机器代码 :30H,0A0H。1)令 DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令 SWB= 1,SWA= 0,使实验系统处于写双
15、端口存储器工作方式 KWR。D 按 CLR#按钮,使实验系统处于初始状态。2)置 SW7 SW0为 10H,按 QD按钮,将 10H写入 AR1。3)置 SW7SW0 为 01H,按 QD按钮,将 01H写入存储器 10H单元。 写主程序1)按 CLR#按钮,使实验系统恢复初始状态。2)置 SW7 SW0为 20H,按 QD按钮,将 20H写入 AR1。3)置 SW7SW0 为 0B0H,按 QD按钮,将 0B0H写入存储器 20H单 元。 AR1自动加 1,变为 21H。4)置 SW7 SW0为 58H,按 QD按钮,将 58H写入存储器 21H单元。 AR1自动加 1,变为 22H。5)重
16、复进行下去,一直到将 84H写入存储器 29H 单元。按 CLR# 按钮,使实验系统恢复到初始状态。写中断程序1)置 SW7 SW0为 0A0H,按 QD按钮,将 0A0H写入 AR1。2)置 SW7 SW0为 30H,按 QD按钮,将 30H写入存储器 0A0H单 元。3)置 SW7 SW0 0A0H,按 QD按钮,将 0A0H写入存储器 0A1H单 元。4)按 CLR#按钮,使实验系统恢复到初始状态。 或用实验台监控系统或系统上端软件直接写入内容(3)从地址 20H连续执行程序从地址 20H连续执行程序,在程序运行中,按一次控制台的 INTR。 进入中断后,用单拍( DP)方式执行,直到返
17、回主程序为止。列表记 录中断系统中有关信号的变化情况,特别要纪录好断点地址和R0 的值。1)令 DP = 0,DZ = 0,DB = 0,使实验系统处于连续运行状态。2)置 SW7 SW0为 20H,作为程序的起始地址。按 QD按钮,启动 程序从 20H 地址运行。中断允许指示灯亮。3)按 INTR 按钮,发出一个 INTR中断脉冲,请求中断。中断后硬 件自动将中断地址存入中断地址寄存器 IAR。微程序地址应为 25H。4)置 SW7 SW0为 0A0H,这是中断程序的入口地址。将 DP由置 0 改为置 1。按一次 QD按钮,将 0A0H送入程序计数器 PC。微程序地 址应为 26H。5)按一
18、次 QD按钮,进行取指微操作。微程序地址应为 05H。6)按一次 QD按钮,进行置数微操作。微程序地址应为 13H。7)按一次 QD按钮,进行 R0 & R0 操作, 这时微程序地址应为 38H。 观察 DBUS总线的值,即为 R0 的值。8)按一次 QD按钮,进行写回微操作。微程序地址应为 34H。9)按一次 QD按钮,进行判定有无中断请求 INTQ微操作。微程序 地址应为 0FH。10)按一次 QD按钮,进行取指微操作。微程序地址应为 05H。11 )按一次 QD按钮,进行从中断程序返回主程序微操作。微程序 地址应为 1AH。这时观察 PC地址, 即中断地址。12)按一次 QD 按
19、钮,进行判有无新的中断操作。微程序地址为 0FH。13)按一次 QD按钮,进行取指微操作。 微程序地址为 05H。此刻, 程序已返回主程序。由于按下 INTR按钮的时间对主程序而言, 是随机的, 具有不确定 性,因此各次中断地址、 R0会具有不同的值。将 RAM中 20H单元的内容由指令 INTS改为 INTC,重作( 4),记录发生的现象。由于 INTC 是关中断指令,因此将不会发生中断4)控制存储器代码表1. 微程序控制器信号表指令当前指令CM4CM3CM2CM1CM0LDA R0,R207H10H00H81H20H05H05H10H00H04H91H10H15H10H01H04H00H3
20、6H36H10H0CH20H00H34H34H00H12H00H00H0FHLDA R1,R307H10H00H04H00H05H05H10H00H04H91H10H15H10H01H04H00H36H36H10H0CH20H00H34H34H00H12H00H00H0FHADD R0,R107H10H00H04H00H05H05H10H00H04H91H10H10H10H20H00H00H3BH3BH14H82H20H00H34H34H00H12H00H00H0FHJC +507H10H00H04H00H05H05H10H00H04H91H10H19H10H00H00H00H0FHAND R
21、2,R307H10H00H04H00H05H05H10H00H04H91H10H13H10H20H00H00H38H38H0DH82H20H00H34H34H00H12H00H00H0FHSUB R3,R207H10H00H04H00H05H05H10H00H04H91H10H11H10H20H00H00H3AH3AH03H02H20H00H34H34H00H12H00H00H0FHSTA R3,R207H10H00H04H00H05H05H10H00H04H91H10H14H10H21H04H00H35H35H10H06H00H00H0FHSTP07H10H00H04H00H05H05H10
22、H00H04H91H10H16H30H00H00H00H0FHJMP R107H10H00H04H00H05H05H10H00H04H91H10H18H10H01H01H20H0FHINTS00H30H00H02H08H26H07H10H00H81H20H05H05H10H00H04H91H10H1AH10H20H00H00H3AH3AH03H02H20H00H34H34H00H12H00H00H0FHIRET07H10H00H04H00H05H05H10H00H04H91H10H1BH10H00H41H20H0FH2. 拓展控制器信号表指令CM4CM3CM2CM1CM0XOR Rd,Rs10
23、H10H04H00H05H10H00H04H91H10H10H20H00H00H31H0BH02H20H00H34H00H12H00H00H0FHINC Rd,Rs10H00H04H00H05H10H00H04H91H10H10H20H00H00H32H00H02H20H00H34H00H12H00H00H0FH? 流程图2.拓展程序流程图XOR Rd,RsF=121HM1S2,S110H00H04H00H05H10H00H04H91H10H10H20H00H00H33H17H82H20H00H34H00H12H00H00H0FH10H00H04H00H05H10H00H04H91H10H10H20H00H00H24H0EH02H20H00H34H00H12H INT0 0HOF H00H0FHDEC Rd,RsF=A+BR d,RsLDAR2KT00
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中美合资公司资产整合与股权互换实施合同
- 2025年高等教育机构实验室通风设施租赁与管理服务合同
- 2025年环保设施建设合同:环保达标违约赔偿及责任界定协议
- 2025年冷链物流特色农产品全国总经销合同
- 2025年商业空间室内外一体化装饰设计合同
- 2025年基础教育阶段学生资助与奖学金实施及监管合同
- 购房合同销毁协议书模板
- 跆拳道校外培训合同范本
- 路面铣刨料购买合同范本
- 酒店0元转让合同范本
- 子痫前期子痫课件
- 部编版《县委书记的榜样-焦裕禄》课件1
- 基础教育改革与发展中的热点问题课件
- 流动式起重机械检验记录表
- 大学信息与网络安全保密管理办法
- 汽车保养基础知识优秀课件
- 青少年运动员 运动损伤的预防 课件
- 绿色校园创建资料
- 2022年十部经典的三级片电影
- 六三制新青岛版四年级科学上册第一单元《动物王国》全部课件(一共5课时)
- 顶推法钢箱梁安装施工方案
评论
0/150
提交评论