收藏 分享(赏)

基本模型机的设计与实现.doc

上传人:dzzj200808 文档编号:2240175 上传时间:2018-09-07 格式:DOC 页数:17 大小:82KB
下载 相关 举报
基本模型机的设计与实现.doc_第1页
第1页 / 共17页
基本模型机的设计与实现.doc_第2页
第2页 / 共17页
基本模型机的设计与实现.doc_第3页
第3页 / 共17页
基本模型机的设计与实现.doc_第4页
第4页 / 共17页
基本模型机的设计与实现.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、 基本模型机的设计与实现课程设计报告 收藏 一、实验基本任务1、由基本单元电路构成一台基本模型机。2、设计五条机器指令,并编写相应的微程序。3、调试指令和模型机使其在微程序的控制下自动产生各部件单元的控制信号正常工作。二、设计方案1、硬件设计(1)设计微程序控制电路微程序控制器的组成:控制存储器:EPROM2816*3,8D 触发器 74ls273*2,4D触发器 74ls74*3;微指令寄存器格式: 18 位微指令,6 位微地址。(2)设计时钟信号源和时序控制电路时钟信号源的组成:时基电路 555,可触发单稳态多谐振荡器 74ls237*2,输出频率为 330-580Hz 的方波信号。时序控

2、制电路:4D 触发器 74ls175*1 组成移位寄存器电路。(3)设计主存储器主存电路的组成:6264 存储器(8K*8 位)*3,地址寄存器:74ls273*1,三态门:74ls245*1。2、微控制设计(1)实现存储器读操作;拨动总清开关后,置控制开关 SWC、SWA 为“0 0”时,按要求连线后,连续按动“启动运行”开关,可对主存储器 RAM 连续手动读操作。(2)实现存储器写操作;拨动总清开关后,置控制开关 SWC、SWA 为“0 1”时,按要求连线后,再按动“启动运行”开关,可对主存储器 RAM 连续手动写入。(3)实现程序运行操作。拨动总清开关后,置控制开关 SWC、SWA 为“

3、1 1”时,按要求连线后,再按动“启动运行”开关,即可转入到第 01 号“取址”微指令,启动程序运行。3、机器指令设计(1)输入指令:in;输入外部开关量的状态,送入寄存器 R0。(2)二进制加法指令:add addr;(3)存数指令:sta addr;(4)输出指令:out addr;(5)无条件转移指令:jmp addr;三、设计电路原理图 (说明各器件的功能作用)设计电路原理图如图 1 所示:图 l 数据通路框图四、系统原理图 (说明整机的工作过程)系统原理图如附图 1 所示。部件实验过程中,各部件单元的控制信号是认为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实

4、现特定指令的功能。这里,实验计算机数据通路的控制将由微程序控制器开完成,CPU 从内存中取出一条机器只到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。1、有关微控制器部分在算术运算实验中以详细介绍。2、处存储器的读、写和运行为了想主存储器的 RAM 中装入程序或数据,并且检查写入是否正确以及能运行主存储器中的程序,必须设计三个控制操作微程序。存储器读操作:拨动总清开关后,置控制开关 SWC、SWA 为“0 0”时,按要求连线后,连续按动“启动运行”开关,可对主存储器 RAM 连续手动读操作。存储器写操作:拨动总清开关后,置控制开关 SWC、SWA 为“0

5、 1”时,按要求连线后,再按动“启动运行”开关,可对主存储器 RAM 连续手动写入。运行程序:拨动总清开关后,置控制开关 SWC、SWA 为“1 1”时,按要求连线后,再按动“启动运行”开关,即可转入到第 01 号“取址”微指令,启动程序运行。上述三条控制指令用两个开关 SWC、SWA 的状态来设置,其定义如下:SWCSWA控制台指令001011读内存写内存启动程序根据以上要求设计数据通路框图,如图 1 所示。微代码定义如表 1 所示。表 1 基本模型机微指令结构图微程序242322212019181716151413121110987654321控制信号S3S2S1S0MCNRDM17M16

6、ABPuA5uA4uA3uA2uA1uA0A 字段B 字段P 字段151413控制信号121110控制信号987控制信号000000000001LDRI001RS_G001P1010LDDR1010010011LDDR2011011100LDIR100100P4101LOAD101ALU_G101110LDAR110PC_G110LDPC系统涉及到的微程序流程见图 2,当拟定“取指令”微指令时,该微指令的判别测试字段为 P1 测试。由于“取指令”微指令是所有微程序都使用的公用微指令,因此 P1 的测试结果出现多路分支。本机用指令寄存器的高 4 位(I7I4 操作码)作为测试条件,出现 5 路分

7、支,占用 5 个固定微地址单元。控制台操作为 P4 测试,它以控制台开关 SWB、SWA 作为测试条件,出现了 3 路分支,占用 3 个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用一个微地址单元随意填写。当全部微程序设计完毕后,应将每条微指令代码化,表 2 即为图 2 的微程序流程图按微指令格式转化而成的“二进制微代码表” 。图 2 微程序流程图表 2 二进制代码表本系统有两种外部 I/O 设备,一种是二进制数码开关,作为输入设备(INPUT ) ;另一种是两位十六进制数 LED 数码管,作为输出设备(OUTPUT UNIT) 。在输入时,二进制开关数据直接经过三

8、态门送到总线上。只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线上,当写信号(WE)有效时,将数据打入输出锁存器,驱动数码块显示。3、指令寄存器介绍指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器,然后再传送到指令寄存器。指令划分为操作码和地址码字段,由二进制构成,为了执行任何一条给定的指令,必须对操作码进行测试 P(1),通过节拍脉冲 T4 的控制以便识别所要求的操作。 “指令译码器”根据指令的操作码进行译码,强置微控制单元的微地址,使下一条微指令指向相应的微程序首地址。4、输入/输出设备本系统有两种外部 I/O 设备,一种是二进制代码

9、开关 KD0KD7,它作为输入设备INPUT;另一种是数码显示块,它作为输出设备 OUTPUT。例如:输入时,二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到外部数据总线上,当写信号(W/R)有效时,将数据打入输入锁存器,驱动数码块显示。5、设计指令根据基本模型机的硬件设计五条机器指令:外部输入指令 IN、二进制加法指令ADD、存数指令 STA、输出到外设指令 OUT、无条件转移指令 JMP。指令格式入下:助记符 机器指令码 说明IN 0000 0000 ;“外部开关量输入 ”KD0KD7 的开关状态R0ADD addr 0001 00

10、00 ;R0+addr R0STA addr 0010 0000 ;R0addrOUT addr 0011 0000 ;addr BUSJMP addr 0100 0000 ;ADDR PC说明:指令 IN 为单字节指令,其余均为双字节指令, addr 对应的主存储器二进制地址码。6、基本模型机监控软件的设计本模型机监控软件设计主要完成从输入设备读入数据,进行简单算术运算后,将结果存入内存的某个单元,最后通过输出设备输出结果。监控软件详细如下:地 址 内 容 助记符 说 明0000 0000 0000 0000 IN ;“INPUT DEVICE” R0 0000 0001 0001 0000

11、 ADD0AH ;R0+0AH R00000 0010 0000 1010 0000 0011 0010 0000 STA0BH ;R00BH0000 0100 0000 10110000 0101 0011 0000 OUT0BH ;0BH BUS0000 0110 0000 10110000 0111 0100 0000 JMP00H ;00H PC0000 1000 0000 00000000 10010000 1010 0000 0001 ;自定义参加运算的数0000 1011 ;求和结果存放单元五、实验步骤1. 根据该模型机的指令系统,编写一段程序。这里给出两个参考程序。参考程序一:

12、本程序从输入设备(数码开关)取入数据,保存在内存单元 08,然后从 08 单元送到输出设备(LED 数码管)进行显示。每次循环过程中,可以使输入设备数据改变,考察输出显示的结果(请实验者考虑:如何修改程序,使程序只执行一次从输入设备取出数据,送出输出设备显示) 。设计机器指令程序如下(机器码和地址为十六进制数据) 。地址 内 容 助记符 说 明00 00 IN ;输入开关数据 R001 20 STA 08H ;R0 0802 08 ;地址03 30 OUT 08H ;08H BUS04 08 ;地址05 40 JMP 00H ;00H PC06 00 ;跳转地址参考程序二:本程序从输入设备(数

13、码开关)读入数据,与 0A 单元的数据相加,然后送到输出设备(LED 数码管)进行显示。本程序不断地循环运行,在运行中可改变输入开关(INPUT)的值,观察输出显示的变化。设计机器指令程序如下(机器码和地址为十六进制数据) 。地 址 内 容 助记符 说 明00 00 IN ;输入开关数据 R0,采集数据01 10 ADD 0AH ;R00AHR0,输入数据与指定数据相加02 0A ;地址03 20 STA 0BH ;R00B04 0B ;地址05 30 OUT 0BH ;0BH BUS,输出显示06 0B ;地址07 40 JMP 00H ;00H PC08 00 ;跳转地址0A 01 ;加数

14、,可自定0B ;求和结果保存在 0B 单元2.连接实验线路3. 写程序对于本实验箱可以用两种方法来写入程序。方法一:联机读/写程序按照规定格式,将机器指令及表 2-2 微指令二进制表编辑成十六进制的规定格式文件。微指令格式中的微指令代码为将表 2-2 中的 24 位微代码按从左到右分成 3 个 8 位,将此三个8 位二进制代码化为相应的十六进制数即可。使用联机软件的文件装载将实验程序和微程序下载到实验箱中,并用软件的读出功能进行检查。其中参考程序一对应的文件名为“基本模型机 1.TXT”,参考程序二对应的文件名为“基本模型机 2.TXT”(联机软件的使用方法参看附录 2) 。方法二:手动写入(

15、1)先将机器指令对应的微代码正确地写入 28C16 中,由于在实验 1.7 微程序控制器的组成与微程序设计实验中已将微代码写入 E2PR0M 芯片中,对照表 2-5 校验正确后就可使用。(2)使用控制台 WRITE 和 READ 微程序进行机器指令程序的装入和检查,其操作如下:A. 使 SIGNAL UNIT 单元的 SP03 为“STEP”状态,SP04 为“RUN ”状态,CONTROLUNIT 的开关 SP05 处于“NORM”状态,开关 SP06 处于“RUN” 状态。B. 拨动开关单元的总清开关 CLR(101) ,微地址寄存器清零,程序计数器清零。然后使开关单元的 SWB、SWA

16、开关设置为“01” ,按动一次控制台单元的触动开关 START,微地址显示灯显示“010001” ,再按动一次 START,微地址灯显示“010100” ,此时数据开关的内容(输入单元)置为要写入的机器指令的内容,按动两次 START 键后,即完成该条指令的写入。若仔细阅读 WRITE 的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环 PC 会自动加 1。所以,每次按动 START,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。C. 校验。拨动 SWITCH 单元的总清开关 CLR(101) ,微地址清零。 PC 程序计数 器清零,然后使 SWITCH 单

17、元的开关 SWB、SWA 为“00” ,按动 CONTROL UNIT 的触动开关 START,微地址灯将显示 “010000”,再按 START,微地址灯显示为“010010” ,第三次按 START,微地址灯显示为 “010111”,再按 START 后,此时 OUTPUT 单元的数码管显示为该首地址中的内容。不断按动 START,以后每个循环 PC 会自动加 1,可检查后续单元内容。每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到输出设备中显示。参考程序一的机器指令:$P0000$P0120$P0208$P0330$P0408$P0540$P0600参考程序二的机器

18、指令:$P0000$P0110$P020A$P0320$P040B$P0530$P060B$P0740$P0800$P0A01微程序(以上两程序公用):$M00018110$M0101ED82$M0200C048$M0300E004$M0400B005$M0501A206$M06959A01$M0700E00D$M08001001$M0901ED83$M0A01ED87$M0B01ED8E$M0C01ED96$M0D028201$M0E00E00F$M0F00A015$M1001ED92$M1101ED94$M1200A017$M13018001$M14002018$M15070A01$M16

19、00D181$M17070A10$M18068A114. 运行程序方法一:联机运行程序首先使各个开关的状态为:SIGNAL UNIT 中的 SP03 开关设置为“STEP”状态,SP04 开关设置为“RUN”状态;CONTROL UNIT 的开关 SP05 处于“NORM”状态, SP06 处于“RUN” 状态;SWITCH 单元的开关 SWB、SWA 为“11” 。使 SWITCH 单元的总清开关 CLR(101)清零后,程序首址为 00H。通过联机软件进入调试界面(其操作方法参见附录 2 系统联机操作软件说明) ,可以通过调试程序的操作界面控制程序的运行,同时观察运行过程和结果。方法二:手

20、动运行程序(1)单步运行程序A. 使 CONTROL UNIT 的开关 SP05 处于“NORM”状态, SP06 处于“RUN ”状态,SIGNAL UNIT 中的 SP03 为“STEP”状态,SP04 为“RUN”状态,SWITCH 单元的开关SWB、SWA 为“11” 。B. 拨动 SWITCH 单元的总清开关 CLR(101) ,微地址清零,程序计数器清零,程序首址为 00H。C. 单步运行微指令,每按动一次 CONTROL UNIT 的 START 触动开关,即单步运行一条微指令。对照微程序流程图 2-2,观察微地址显示灯 MA5-MA0 是否和流程一致。D. 当运行结束后,可检查

21、运行结果是否和理论值一致。如果运行结果保存在 RAM 的某一个单元中,则可以使用手动写入中的校验方法将其读出。(2)连续运行程序A. 使 CONTROL UNIT 的开关 SP05 处于“NORM”状态, SP06 处于“RUN ”状态,SIGNAL UNIT 中的 SP03 为 “RUN”状态,SP04 为“RUN”状态,SWITCH 单元的开关SWB、SWA 为“11” 。B. 拨动 SWITCH 单元的总清开关 CLR(101) ,微地址及程序计数器清零,然后按动CONTROL UNIT 的 START 触动开关,系统连续运行程序,稍后将 SIGNAL UNIT 中的SP04 拨至“ST

22、OP”时,系统停机。C. 停机后,可检查运行结果是否正确。如果运行结果保存在 RAM 的某一个单元中,则可以使用手动写入中的校验方法将其读出。六、实验结果首先验证微控制器的存储特性。将编程开关置为“写入”状态,写入如表 2 微地址为060D 的微代码。每写入一条指令,按一下“启动运行”开关。再将微地址和总清开关置0,编程开关置为“读”状态,即可验证是否存储正确。若有错误,则需检查连线或者是重新输入。经实验,成功显示。最后,将编程开关置为“运行”状态,即可运行我们写入的微程序。经实验,结果显示正确。七、实验心得通过紧张有序的两天的课程设计实践,不仅让我对计算机的基本组成、简单运算器的数据传送通路

23、组成、静态随机存取存储器 RAM 工作特性及数据的读写方法、时序信号发生电路组成原理、微程序控制器的设计思想和组成原理、微程序的编制、写入过程有了进一步的了解, 也让我觉得自己的动手能力有了很大的提高;自信心也增强了,在课程设计中自己动脑子解决遇到的问题,书本上的知识有了用武之地,这巩固和深化了自己的知识结构。起初第一次讲解时,由于对计算机总体结构不怎么熟悉、没认真预习、思考不够认真、对书本的知识不够扎实以及以前没有接触过所以缺乏经验,所以不知道从哪里开始着手,第一天上午结束的时候还是一脸的茫然,不知道这次课程设计到底在做什么,整体上没有一点把握。但在第二次讲解前,我对以前做过的实验重新看了一

24、遍,在设计时随着老师的一次次详细的讲解及同学的不断讨论,通过自己不断思考,我渐渐的才对这次课程设计有了初步了解,到 1.5.6 三个基础实验完成后,自己的思路也慢慢清晰,自信心也增强了。接下来, 关于写程序、微程序时主要考验的是我的耐心,特别是最后对照二进制微代码表输入地址时,不仅要检查读出的微代码是否与写入的相同,在这些操作中考验的就是一个人的耐心,万一哪里疏忽了,就很容易出错,一旦出错就要从第一步重新开始,造成大量时间浪费,很多工作都将重做。所以我们在做这些小的步骤时一定要耐心。最后是验收,通过验收我们可以对许多知识能够重新和彻底理解,就象验收时虽然好几个问题刚开始都答不出来,但通过老师的讲解,感觉自己搞懂了很多.通过这次实践,我相信,只要自己在每一次实践中都能仔细思考,课程设计其实都不会很难,关键在于自己能不能认真思考,能不能亲自动手做实验,而不是想着其他人的劳动果实,其次你还要多操作,只有多操作才能从中发现问题,才能及时向老师和同学请教,解决问题,从而更好的掌握书本中知识。还有通过这次实践也让我懂得了:学校安排课程设计目的不在于你做了多少,不在于你做得好不好,关键在于你能否认真去对待,在于你能否通过这次设计对课本上知识有了更深刻的认识,在于能否从中学到书本上学不到的知识。因此,我会认真地对待我的每一次实验。本文来自 CSDN 博客,转载请标明出处:http:/

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报