基于微程序控制器(主控存分开)的简单计算机设计与实现文档

上传人:c****e 文档编号:180202809 上传时间:2021-04-17 格式:DOCX 页数:34 大小:196.18KB
返回 下载 相关 举报
基于微程序控制器(主控存分开)的简单计算机设计与实现文档_第1页
第1页 / 共34页
基于微程序控制器(主控存分开)的简单计算机设计与实现文档_第2页
第2页 / 共34页
基于微程序控制器(主控存分开)的简单计算机设计与实现文档_第3页
第3页 / 共34页
基于微程序控制器(主控存分开)的简单计算机设计与实现文档_第4页
第4页 / 共34页
基于微程序控制器(主控存分开)的简单计算机设计与实现文档_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《基于微程序控制器(主控存分开)的简单计算机设计与实现文档》由会员分享,可在线阅读,更多相关《基于微程序控制器(主控存分开)的简单计算机设计与实现文档(34页珍藏版)》请在金锄头文库上搜索。

1、计算机组成原理课程设计说明书题目:基于微程序控制器(主控存分开) 的简单计算机设计与实现姓名:靳淑蕉学号:U200915337班级:信息安全 0903 同组者:潘莹实验台号:49完成日期:2012 年 1 月 19 日指导老师:王晓兰、周建国、秦磊华华中科技大学计算机科学与技术学院一实验题目 1.二实验目的 1.三实验要求 1.四实验流程 2.五设计方案 2.1.芯片选择 2.2.设计原理图 4.2.1数据通路 4.2.2增加回存功能 6.2.3增加机器指令部分 7.2.4增加微指令部分 9.3.设计微程序控点 1. 14.微指令设计 1. 44.1取指公操作154.2取数微指令164.3加法

2、微指令164.4回存微指令164.5停机微指令175.指令周期流程图 1. 75.1取指公操作:175.2取数微指令185.3加法运算指令195.4乘 2 微指令 2. 05.5回存微指令216.时序设计 2. 17.时序图 2. 38.设计接线图 2. 5六检查过程 2. 7七布线调试时遇到的问题及解决办法27八实现心得体会 3. 0九参考文献 3. 1一实验题目基于微程序控制方式的主控存分开的简单计算机系统的设计与实现二实验目的1. 加深对冯诺依曼体系结构计算机组成及其各部分功能的理解,进一步建立整机的概念。2. 加深对计算机数据通路的理解,加深对计算机指令系统、微指令的认识, 并通过时序

3、控制,完整地设计一个简单的计算机系统。3. 锻炼学生初步的计算机系统分析和设计能力。4. 锻炼学生分析、定位和排除故障的能力。三实验要求1. 利用各单元实验和课堂上所学知识,选择适当的芯片,设计简单的计算机系统。2. 在完成数据通路设计并验证数据通路功能的基础上增加指令和微指令控制的功能。3. 以自己所设计的计算机系统为硬件环境,设计出完成指定功能的各指令周期流程图,并设计出相应的微命令。4. 以手动方式产生各指令执行过程中所需要的微命令,控制指令的执行。5. 设计控存,并将各指令的微程序存放在CM中,经过适当的时序控制,通过微程序自动控制指令的执行。四实验流程在课程设计开始前,我们检查了各个

4、芯片是否能正常工作。按照实验指导书上面所给定的各个芯片的功能进行测试,在确定所用的芯片都是好的之后再开始进行接下来的工作。在整个课程设计的过程中,我们依照的是课程设计指导书上面的三步走方法:第一步:打通数据通路,可向存储器 6116 中存数,向寄存器中打入,用手动实现算术或逻辑运算。第二步:由 PC 寻址加载机器指令,完成指定算术或逻辑运算;并将结果存入存储器中。第三步:由机器指令的操作码部分加载微指令,由机器指令的地址码部分加载操作数,同时,由它加载的各个微信号,进行运算完成一条机器指令的执行。五设计方案1. 芯片选择在这次的课程设计中,我们选择的芯片类型及数量如下: 74LS2442 片7

5、4LS3735 片1812 片74LS1611 片74LS1571 片74LS3951 片61161 片28162 片关于各个芯片的选择理由如下: 74LS244 芯片:该芯片具有“选通”和“高阻”两种状态,适合用来作为数据输入或是流通时的闸门,所以我们采用了两片 244。一片用来向 6116 中存入机器指令,另外一片用来控制向 6116 中回存运算的结果。73LS373 芯片:该芯片又称八 D 锁存器,从它的功能表中也可以看出它具有“选通”和“锁存在已建立的数据电平”两种状态,所以该芯片适合用来作为寄存器。因此我们采用了 5 片 373 芯片,其中一片寄存 181 的运算结果并输出显示,一片

6、作为数据累加器 AC,一片作为 IR 寄存机器指令, 剩下两片作为IR 存放从控存中读出的微指令。181 芯片:181 芯片是进行算术或逻辑运算必不可少的芯片,而运算的数据是存放在 6116 中的,每个单元的数据有 8 位,因此我们需要两片 181 并联实现 8 位数据的运算。74LS161 芯片:该芯片又称同步四位计数器,从它的名字就可以看出它具有计数的功能,同时我们在实现中还利用到了它的清零功能。161 芯片是用来作为 PC 使用的,通过它的 4 位输出一共可以选择到主存 6116 中的 16 个地址单元。74LS157 芯片:该芯片又称 2 选 1 数据选择器,一共有两个输入数据流,每一

7、个数据流是 4 位的,通过使能端 S 可以选通其中任意一个数据流,因此该芯片非常适合用来作为主存 6116 的地址选择控制。当需要机器指令的时候,157 选择 PC 送来的地址;当需要数据的时候 157 选择 IR 的低四位送来的数据地址。74LS395 芯片:该芯片有两个功能,“清零”和“置数”,我们选择它作为PC。由于在每执行完一条机器指令之后都要再执行取指公操作,因此我们选择将取值公操作存放在控存的 0 号单元。取指阶段将 395 清零,执行取指公操作;执行阶段 395 置数,执行具体功能。6116 芯片:该芯片的类型是 RAM,我们选择它作为主存。由于主存中需要根据不同的表达式反复写入

8、各种机器指令,而 6116 的数据存入要相对 2816 简单一点,因此主存采用的是 6116 芯片。2816 芯片:该芯片的类型是 ROM,因此使得它具有断电之后还能保存数据的优势。选择两片 2816 作为控存,存放微指令。因为微指令只需要在设计好了之后,一次性的打入,以后都不需要再修改了,所以 2816 无疑是最好的选择。此外还有若干逻辑门2. 设计原理图在原理图的设计过程中,我们是分步走的。首先是从最基本的数据通路开始,然后再一点点的像垒积木一样的往上添加各种芯片逐步实现各个功能。现在将该过程做一个详细的介绍如下:2.1数据通路数据通路部分我们是按照组成原理实验指导书实验五的参考电路一的方

9、案去做的,只是在上面做了两点改动:1.将两片 395 芯片换成了一片 373 芯片。因为 395 需要脉冲触发,较 373 来说略显麻烦,因此进行了这样的替换。2.将 6116 输入到 181 的数据由 A 输入端改成了B 输入端。因为在做减法时是 A-B,为了能正确进行连续的减法运算就必须将 AC 存放的数据从 A 端输入,而将从主存中取出来的数据从 B 端输入。最后设计的数据通路电路图如下:图 1按照该电路连接之后,能够手动实现各种基本的数据运算。具体的步骤为:将数据事先存放到存储器的某些单元中,再通过手动选择地址选中数据,手动调节运算指令,手动操作各个芯片的使能端,从而能够进行连续的算术

10、或逻辑运算,并将结果显示。2.2增加回存功能在按照 2.1 中设计的电路连接之后,我们发现所设计的数据通路没有回存功能,因此我们需要在原来的电路上进行一些改进。我们认为回存和开始的时候向主存 6116 中打入数据其实是同样的原理,不过就是要能够控制回存的时机,也即需要回存的时候才将运算结果回存到主存的某一个单元,其余时候不会影响到主存中存放的数 据。因此我们仍然采用 244 芯片,以 A 寄存器的结果为输入,输出连到6116 的输入/输出端,然后通过手动选择 244 的使能端来控制回存的时机。这样设计的电路如下:图 22.3增加机器指令部分在完成了数据通路,并多次测试确认无误的基础上,我们开始

11、在上面实现机器指令。此时的机器指令的意思就是能够通过 PC 选址加载 8 位的机器指令到指令寄存器 IR 中。这 8 位机器指令得到高 4 位是操作码,由这 4 位操作码直接连到 181 运算器的 S3-S0 端,去控制各种运算类型;8 位机器指令的低 4 位则是地址码,会回到主存 6116 中去选择运算需要的数据。按照这样的需求,我们增加了一片 373 作为指令寄存器 IR,增加了一片 157 用于在 4 位地址码和 PC 输出的地址中做二路选择。这样设计出来的电路如下:图 32.4增加微指令部分从这里开始,就到了整个实验的关键部分了。所谓增加微指令也就是通过一系列的设计,把之前的那些需要我

12、们手动控制的各个芯片的使能端全部都通过微指令的 0、1 状态控制起来。之前 2.3 中实现的只是控制到了 181 的 S3-S0 这 4 个使能端,现在各个芯片,比如 181 的M 端、Cn 非端、各个 373 的使能 G 端都要用微指令来控制。我们统计了一下,这个需要控制的点超过了 8 个,因此我们需要两片 373 作为微指令寄存器IR,这样就可以设计 16 位的微指令(实际上用不到 16 位)。微指令是存放在控存中的,对于控存我们选用的是 2816。之所以选择 2816 主要是看中了它是 ROM 类型的存储器,能够在断电之后依然保存所存储的数据,而恰好微指令也只需要在设计完毕之后一次性的存

13、入,以后一般这样就可以免除了我们多次写控存的工作。PC 我们选用的是 395 芯片,主要是因为该芯片有一个清零功能。我们在每个机器指令执行前我们需要先执行取指公操作,然后再执行具体功能的微指令。这样 395 的清零功能就为我们提供了很大的便利,我们只需要将取指微指令放在控存的 0 号单元,然后在每个指令周期的开头将PC 清零,就可以进行取指操作了。综上所述,我们在机器指令的基础上添加了一片 395.两片 2816 和两片 373,最后设计出的电路如下所示:图 43. 设计微程序控点在设计微指令之前,我们先分析整个电路中的各个芯片的控点,其中有些是需要控制的;有些是不需要变动的,始终接到一个电位

14、就行 了。首先是不需要控制的控点:输入 244 芯片:OEa 非和 0Eb 非控点并接,然后接到一个开关上,只在写机器指令的时候选 0,写完后一直为 1。这个由手动控制, 不需要微指令控制。主存 6116 芯片:CE 非始终接 0,OE 非始终接 0(我们选用WE 非为 0,OE 非为 0 的那个写功能)。多余的地址线接到一起,始终接 0(或者接 1 也可以)。PC 161 芯片:MR 非端接开关,只在开机的时候手动置 0,清零之后再置 1。但是后来发现其实可以将 start 非接到 MR 非端实现自动清零,因为 start 非端也是只在开机的时候为 0,其余时候一直为 1。157 芯片:使能端 E 非始终为 0。DR373、AC373、IR373、IR373:输出控制始终接 0。控存 2816 芯片:CE 非始终接 0,WE 非始终接 1,OE 非始终接 0。(因为控存始终是读状态)。多余的地址线接到一起,始终接 0(或者接 1 也可以)。PC 395 芯片:PE 始终接 1,OE 非始终接 0。接下来是需要

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号