计算机组成原理实验报告数据通路实验
学生院系:计算机科学与技术0907班
学生姓名:刘珂男
学生学号:U200915075
一、实验目的
1、由运算器实验与存储器实验原理的基础上,掌握组成计算机的数据通路,熟悉地址和数据在道路上的传输。
2、要求运算结果能够回写到存储器里存储并读出显示。
3、了解怎样将运算器和存储器两个模块连接起来。
4、地址设计为4位,数据设计为8位。
5、能够对运算的结果进行一位或多位移位处理,并再次参加运算
二.实验设备及器件
JZYL—Ⅱ型计算机组成原理教学实验仪一台;
芯片:74LSl81:运算器芯片2片
74LS373:八D锁存器3~4片
74LS244:数据开关2片
74LSl61:同步4位计数器1片
6116存储器或2114存储器1~2片
三、实验任务
自己设计一个电路和利用实验参考电路进行实验,实验要求先将多个运算数据事先存入存储器中,再由地址选中,选择不同的运算指令,进行运算,并将结果显示,还可以进行连续运算和移位,最后将最终结果回写入存储器中。
复习前两个实验电路中各个信号的含义和作用,重点是运算与存储器之间的数据通路。
四.实验电路
1.自己设计电路:可以自由设计,位数任意。
2.给出的参考电路:(按8位设计)数据通路参考电路分别如图
3.13和3.15所示。
五.实验要求及步骤
1、实验前的准备
1)复习有关运算器和存储器的内容:复习《计算机组成原理》中有关数据通路的章节内容。
对数据通路的构成、数据在数据通路中的流动及控制方法有基本的了解。
2)熟悉电路中各部分的关系及信号间的逻辑关系
3)参考芯片手册,自己设计实验电路,画出芯片间管脚的连线图,标上引脚号,节省实验的时间。
4)对所设计的电路进行检查,重点是检查能否控制数据在电路中不同部件之间的传输。
2、实验步骤
实验可按照自己设计的电路或参考电路按照搭积木的方式进行。
先完成运算器的数据通路部分,在运算器部分能够正确完成各类运算的基础上,再增加存储器通路,并能通过带三态控制的数据开关,存入要用的初始数据。
最终的结果能够在指示灯上显示,并再回写入存储器中。
再通过地址计数器,选择结果地址输出。
3、实验报告要求
1) 实验目的;
2) 各模块的设计电路和系统的整体电路,多设计进行详细的分析与说明;
3) 实验结果的记录与分析:给出某个地址对应的数据及结果(列表显示);
4) 画出实验电路,并标上引脚号;
5) 列出操作步骤及顺序;标出重要的开关控制端;
6) 实验收获和体会;
7) 实验中碰到的问题和解决的方法。
关于实验的几点说明:
1)图3.13所示电路中,由于395寄存器接在74181的B操作数上,故不能做连续运算[(A加B)减C乘2] ,只有累加器AC接在74181芯片的A操作数上,才能进行累加运算。
2)对计算机组成原理CPU的设计,数据通路设计是否合理将直接影响到整个系统的设计以及微指令的设计,为便于课程设计中整机系统的设计,同时也便于指令和微指令的设计,给出了两套“数据通路”参考方案,分别如图3.13和图3.15所示。
请同学们自己比较分析图3.13和3.15所示两套数据通路方案的特点。
六、完成情况
实验人员:本人和搭档陈克;
试验时间:为周三的上午这一次;
完成内容:为实验1、2、4三个部分,3未做。
七、实验过程与结果分析
1、实验电路接线图如下所示 指示灯
开关
开关控制端
Cp 1 14 13 12 11
19 1 3 5 7 9 12 14 16 18
244芯片
17 15 13 11 8 6 4 2
21 18 17 16 15 14 13 11 10 9
6116芯片
1 2 3 4 5 6 7 8
3 4 5 6 8 16 7 13 11 10 9
181芯片
19 21 23 2 18 20 22 1
1 11 19 16 15 1
2 9 6 5 2
373芯片
18 17 14 13 8 7 4 3
161计数器
3 4 5 6 8 16 7 13 11 10 9 181芯片
19 21 23 2 18 20 22 1
17 15 13 11 8 6 4 2
244芯片
19 1 3 5 7 9 12 14 16 18
18 17 14 13 8 7 4 3
373芯片
1 11 19 16 15 1
2 9 6 5 2
以上即为完整的芯片连接电路。
2、存储5~10个数据
将0到15依次存入地址0~15中,存储时,将6116先置为读,373芯片的使能开关全部关闭。
用数据开关输入数据,然后用cp脉冲和计数器依次选择地址,存储时将6116改为写状态写完后再置为读,依次操作,直至将16个数全部完成写入,写完后将与数据开关的244芯片打到高阻状态,以免发生信号冲撞。
检验输入的数据是否正确存储时,只需用CP脉冲依次读取地址即可检验。
2、实现各种运算
利用之前存储的地址进行计算,首先把与181输入端相连的373使能开关关闭,打开与181输出开关相连的使能开关,用cp读取第一个操作数,传送给B,然后用指令操作,是输出的F等于B,然后将与181输出相连的373芯片使能端关闭,打开与181芯片输入相连的373芯片的使能开关,将输入写入A中进行保存,再关闭其使能端。
然后再读第二个操作数进入B中,用开关S0~S3和M,及Cn选择进行的操作,打开与181输出相连的373芯片的使能端,得到F,再用同样的方法写入A中,即用A来保存之前的操作结果,B 来获取新的操作数。
如计算下列表达式:
[(9+5) 异或5-4]同或10
首次,将控制cp将地址调为1001,将其传给B,然后将M打到1,开关依次为1010,使得F=B,然后将其存入A中;然后将0101写入B中,将M打到0,Cn打到1,开关依
次为1001,实现加法操作,输入F为1110,并将其写入A中保存;之后将0101读入B 中,M打到0,开关依次为0110,实现异或功能,得到为1011,写入A中保存,然后将0100写入B中,因为要实现减法,而操作只有A-B-1,所以开关Cn打到0来补1,M打到0,做减法,得到F为0111,将其写入A中保存;然后将1010写入B中,M置为1,开关依次为1001实现同或功能,得到F为11110010,检验可知以上结果均正确。
3、实现移位功能
未实现
4、实现数据的回写
为实现回写功能仅需再与输出端相连的373和6116之间加入一片244芯片,当需要进行回写时将其不置于高阻,并将6116置于写状态即可,一般情况下为了避免数据冲撞要将该244的高阻开关置于高阻台。
然后用CP控制地址即可进行检验结果正确与否。
八、实验体会
这是最本学期后一次组成原理实验,时间安排的有点紧,但是同时难度也是相对降低了,这次的数据通路实验也就是第一次的运算电路和第二次的存储器的整合,并且老师给出了基本的连线电路,也做出了一些解释声明,因此我们完成的也算是比较顺利的。
首先完成存储部分,按老师的要求,利用脉冲信号的计数器进行了检验,确定没问题后存储了部分数据;再接着连运算部分和控制读写部分,因为有了前两次的经验,连线相对也是很顺利的,当基本电路连好后发现了一个比较郁闷的问题,无法实现锁存,即使将373的使能开关全部关闭,只要改变地址,读取不同的数据,信号灯还是会发生变化,为了解决这个问题,我和搭档开始了对电路的检测,确定了芯片没问题,连线也没有发生错误的情况后,于是开始调整开关,在更换开关后发现问题消失了,果然,开关接触不良……之后也没有发生类似的问题了,并且很顺利额完成了试验的1、2部分。
因为考虑到试验时间和第三部分的意义不大大,我们直接跳转到第4部分,即实现数据的回写,就在6116与数据灯之间利用加入一个244芯片来实现回写,且为了不引起数据冲突,当输入数据时,该244打到高阻。
当回写数据时打开并且另一244芯片置于高阻状态。
这样,回写的功能也就完成了,总而言之,这次的实验老师确实没有出太难的问题,只要前两次实验有认真完成,这次便根本是小事一桩。
虽然这学期的组成原理实验结束了,但经过这三次的实验,我觉得我也对组原实验有了一定的兴趣,在这之中我也觉的自己对几个实验有了较深的理解,同时动手能力也有了进一步的提高,希望在最后的课程设计中能有用处,最后也感谢实验老师们的辛苦指导。