实验2 运算器实验(1)
一、 实验目的
1.掌握开源数字电路模拟软件Logisim的使用;
2.掌握有符号数加减运算溢出检测的基本方法;
3.掌握运算器的组成及其工作原理;
4.验证4位函数发生器74181的组合功能。
二、实验设备
EL-JY-II型计算机组成原理实验系统一套,排线若干。
三、实验内容
1.利用Logisim软件设计一个全加器;
2.利用Logisim软件设计一个行波进位的补码加法/减法器;
四、实验步骤
- 全加器设计
(1) 在Logisim中画出一位全加器的电路图,电路图如下:
(2) 在Logisim中测试该电路的正确性,并记录测试数据与测试结果。
Ai |
Bi |
Ci |
Ci+1 |
Si |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
2.行波进位的补码加法/减法器设计
(1) 学习Logisim中子电路(Subcircuit)的用法,然后将第1步中完成的全加器设计成成FA子电路单元;
(2) 参照下面的电路图,并借助FA子电路单元在Logisim中画出8位行波进位的补码加法/减法器电路;
(3) 在Logisim中测试该电路的正确性,并记录测试数据与测试结果。
A |
B |
M |
S |
溢出 |
|||
2进制 |
10进制 |
2进制 |
10进制 |
2进制 |
10进制 |
||
00000001 |
1 |
00000001 |
1 |
0 |
000000010 |
2 |
不溢出 |
00000011 |
3 |
00000010 |
2 |
1 |
000000001 |
1 |
不溢出 |
01111111 |
127 |
01111111 |
127 |
0 |
111111110 |
254 |
溢出 |
11111111 |
255 |
00111111 |
63 |
1 |
011000000 |
192 |
不溢出 |
- 74181功能验证
(1) 参考EL-JY-II型实验仪配套的实验指导(实验一),在EL-JY-II型实验仪上完成运算器实验的线路连接;
(2) 74181的功能表如下:
方式 |
M=1逻辑运算 |
M=0算术运算 |
|
S3 S2 S1 S0 |
逻辑运算 |
CN=1(无进位) |
CN=0(有进位) |
0 0 0 0 |
F=/A |
F=A |
F=A加1 |
0 0 0 1 |
F=/(A+B) |
F=A+B |
F=(A+B)加1 |
0 0 1 0 |
F=(/A)B |
F=A+/B |
F=(A+/B)加1 |
0 0 1 1 |
F=0 |
F=负1 |
F=0 |
0 1 0 0 |
F=/(AB) |
F=A加A(/B) |
F=A加A/B加1 |
0 1 0 1 |
F=/B |
F=(A+B)加A/B |
F=(A+B)加A/B加1 |
0 1 1 0 |
F=A⊕B |
F=A减B减1 |
F=A减B |
0 1 1 1 |
F=A/B |
F=A(/B)减1 |
F=A(/B) |
1 0 0 0 |
F=/A+B |
F=A加AB |
F=A加AB加1 |
1 0 0 1 |
F=/(A⊕B) |
F=A加B |
F=A加B加1 |
1 0 1 0 |
F=B |
F=(A+/B)加AB |
F=(A+/B)加AB加1 |
1 0 1 1 |
F=AB |
F=AB减1 |
F=AB |
1 1 0 0 |
F=1 |
F=A加A |
F=A加A加1 |
1 1 0 1 |
F=A+/B |
F=(A+B)加A |
F=(A+B)加A加1 |
1 1 1 0 |
F=A+B |
F=(A+/B)加A |
F=(A+/B)加A加1 |
1 1 1 1 |
F=A |
F=A减1 |
F=A |
(3) 参考EL-JY-II型实验仪配套的实验指导(实验一),从74181功能表中选择部分功能进行测试,同时记录测试数据与测试结果。
A |
B |
S3 S2 S1 S0 M Cn |
F |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
实验3 运算器实验(2)
一、实验目的
1.熟悉运算器的数据传输通路;
2.掌握移位控制的功能及其工作原理。
二、实验设备
EL-JY-II型计算机组成原理实验系统一套,排线若干。
三、实验内容
1.利用Logisim软件对运算器的数据传输通路进行模拟;
2.在EL-JY-II型实验仪上验证函数发生器74181的逻辑运算功能和算术运算功能。
四、实验步骤
1.运算器数据传输通路分析与模拟;
(1) 在Logisim中打开已经给出的电路文件lab1-step3.circ,该文件包括两个电路图,即lab1-3与ALU-16;
(2) 加载上述电路所需的Logisim电路器件库文件74x_library.circ;
(3) ALU-16是由4个74181级联而成的16位运算器,其电路如下:
(4) 学习Logisim中分割器(Splitter)、通道(Tunnel)组件、寄存器(Rigister)等组件,分析电路图lab1-3中运算器的数据通路;
(5) 设计一个操作流程,要求通过该流程能够在电路图lab1-3上模拟两个16位数的算术或逻辑运算,并将运算结果显示在输出灯上。
运算 说明
|
测试F=A减B |
第1步 |
打开C-G,使其置于为1
|
第2步 |
DATE—INPUT输入A=0000000000000101
|
第3步 |
打开LADR1,使其置于1,将A存入
|
第4步 |
关闭LADR1,使其置于0
|
第5步 |
DATE-INPUT输入B=0000000000000010
|
第6步 |
打开LADR2,使其置于1,将B存入
|
第7步 |
关闭LADR2与C-G,使其置于0,打开S2,S1,ALU-G与AR,使其置于1
|
最终结果 (截图) |
|
2.移位控制操作
(1) 参考EL-JY-II型实验仪配套的实验指导(实验二),在实验仪上进行移位操作实验;
(2) 移位操作功能表如下:
299_G |
S1 |
S0 |
M |
T4 |
功能 |
0 |
0 |
0 |
X |
|
保持 |
0 |
1 |
0 |
0 |
|
循环右移 |
0 |
1 |
0 |
1 |
|
带进位循环右移 |
0 |
0 |
1 |
0 |
|
循环左移 |
0 |
0 |
1 |
1 |
|
带进位循环左移 |
1 |
1 |
1 |
X |
|
置数(进位保持) |
0 |
1 |
1 |
0 |
|
置数(进位清零) |
0 |
1 |
1 |
1 |
|
置数(进位置1) |
3.移位运算模拟与分析
(1) 在Logisim中打开已经给出的电路文件lab1-step6.circ,该文件包括两个电路图,即lab1-6与SHIFTER;
(2) SHIFTER是一个16位的移位寄存器子电路,其功能表与第2步中的功能表一致;
(3) 学习Logisim中时钟(Clock)、探测器(Probe)等组件,分析电路图lab1-6中移位器的数据通路;
(4)设计一个操作流程,要求通过该流程能够在电路图lab1-6上模拟移位寄存器的置数与移位操作,并将结果显示在输出灯上。
操作 说明
|
测试置数与循环左移 |
第1步 |
DATE-INPUT=0000000000000110
|
第2步 |
打开C-G,S1,S0与299-G使其置于1
|
第3步 |
打开T4,使其置于1
|
第4步 |
调f/8,使其上升
|
第5步 |
关闭C-G,使其置于0,打开SHF-G,使其置于1(完成置数操作,得到图1)
|
第6步 |
关闭299-G与S1,使其置于0,调f/8,使其不上升 |
第7步 |
调f/8,使其上升(完成循环左移,得到图2)
|
最终结果 (截图) |
图1:置数
图2:循环左移
|
实验总结:认识了运算器的数据传输通路以及了解了移位控制的工作原理,能对他们进行较为熟练地使用,自己动手操作结合上课所学对运算器、行波进位、74181芯片等等有了更加深入的理解,对他们的一切认知不再仅仅停留于理论,实验过程中虽然出现了一些小差错但都能较为顺利的通过询问他人来解决。
实验四 存储器读写和总线控制实验
一、实验目的
1.掌握存储器的读/写周期;
2.掌握存储器容量的扩展方法;
3.掌握总线的概念及其特性;
4.掌握总线的传输控制特性。
二、实验设备
EL-JY-II型计算机组成原理实验系统一套,排线若干。
三、实验内容
1.利用Logisim软件模拟存储器的读/写周期;
2.在EL-JY-II型实验仪上完成存储器数据的读写;
3.利用Logisim软件实现存储器容量的扩展;
四、实验步骤
1.存储器的读/写周期模拟
(1) 在Logisim中画出如下存储器读写电路:
(2) 其中RAM的设置如下:
其中Data Interface设置为“One asynchronous load/store port”
(3) 请画出对应于该图的正确的存储器读/写周期波形图;
a) 读周期波形
b) 写周期波形
(4) 设计一个操作流程,该流程能够先在存储单元中存储2个数据,然后再依次读出。
操作流程 简述
|
开CS,输入一个地址以及对应的数据,再输入第二个地址以及对应的数据,,开R/W',输出第一个数以及第二个数 |
第1步 |
开CS让它置于1,Address=00000001,Input=00000001,关CS,让它置于0
|
第2步 |
开CS让它置于1,Address=00000010,Input=00000010,关CS,让它置于0
|
第3步 |
开R/W'与CS让它们置于1,Address=00000001,输出第一个数据
|
第4步 |
Address=00000010,输出第二个数据
|
最终结果 (截图) |
|
2.存储器容量的扩展
请利用1K*8的芯片组成4K*16的存储器,并画出电路图。
3.存储器操作
参考EL-JY-II型实验仪配套的实验指导,在EL-JY-II型实验仪上完成存储器读写实验。
4.存储器与总线的连接
(1) 分析电路图lab2-4中运算器的数据通路;
(2) 设计一个操作流程,要求通过该流程能够在电路图lab2-4上模拟两个16位数的算术或逻辑运算,然后将运算结果写入到存储器的某个地址单元中,最后将存储的结果读取出来显示在输出灯上。
运算 说明
|
输入数据A存入寄存器1,再输入数据B存入寄存器2,将A与B相加置于一个新地址a中,将C中数据输出 |
第1步 |
打开C-G,使其置于为1
|
第2步 |
DATE—INPUT输入A=0000000000000101
|
第3步 |
打开LADR1,使其置于1,将A存入,关闭LADR1,使其置于0
|
第4步 |
DATE-INPUT输入B=0000000000000010
|
第5步 |
打开LADR2,使其置于1,将B存入
|
第6步 |
关闭LADR2与C-G,使其置于0,打开S0,S3,CN,ALU-G,CE与WE,使其置于1
|
最终结果 (截图) |
|
5.存储器操作
参考EL-JY-II型实验仪配套的实验指导,在EL-JY-II型实验仪上完成总线控制实验。
总结:我对logism软件中库文件的使用有了更深刻的理解,并可以更为熟练运用其实现一些简单的功能,这次试验我从中了解到了存储器读写的具体执行过程,对总线控制也有了一定的了解。
实验5微程序控制器及微程序设计(1)
一、 实验目的
1.掌握微程序控制器的原理;
2.掌握微程序控制器的工作过程。
二、实验设备
EL-JY-II型计算机组成原理实验系统一套,排线若干。
三、实验内容
1利用Logisim软件分析微程序控制器的组成与工作过程;
2.在EL-JY-II型实验仪上完成微程序控制器原理实验。
四、实验步骤
1.微程序控制器原理
(1) 在Logisim中打开电路文件lab3-step1.circ中的子电路LAB3;
(2) 列举电路图中所有的微命令以及这些微命令之间的相容性与相斥性;
微命令:+、-、M、LDDR、LDR1’、LDR2’、LDR3’; 相容性:LDDR、LDR1’、LDR2’、LDR3’两两相容; 相斥性:+、-相斥
|
(3)分析电路图中的时钟电路并画出CLK、T1与T4信号的波形图;
|
(4)分析电路图中的微控制器电路,说明电路中各个组成部分的作用。
uAR存储当前数据地址,Cy,P2,ADDRESS连接三输入与门,uIR保存传输指令 1:存储当前访问数据的地址 2:输入地址的整合 3:接受输入地址 4:传输地址
|
(5)请结合下面的电路,分析如何完成取指操作,并给出BCD数相加的完整微程序。
通过PC接受指令并存于指存当中。通过IR保存要取出的指令并取出进行译码同时PC+1准备下一个取指操作。 BCD数相加:控制三态门为+,先输入一个数存于DR当中,再输入第二个数存于R1,再输入一个数存于DR2,启动即可在R3看见结果。
|
2.实验仪操作
参考EL-JY-II型实验仪配套的实验指导(实验四),在EL-JY-II型实验仪上完成微程序控制器原理实验。
实验总结:加强了对logisim的使用,掌握了微程序的控制原理,通过这次实验发现了自己的许多不足,许多知识未能完全掌握,需要进一步加强掌握。