一、实验目的
1、熟悉 74LS181 函数功能发生器,提高应用器件在系统中应用的能力。
2、熟悉运算器的数据传送通路。
3、完成几种算术逻辑运算操作,加深对运算器工作原理的理解。
二、实验原理
1、四位函数功能发生器(ALU)74LS181 的功能
74LS181 通过“控制参数”S3~S0 和“模式控制”M,可对两个输入操作数完成 32 种算 术逻辑运算,并可以工作于正逻辑输入输出或负逻辑输入输出方式(本实验为正逻辑方式)。 控制端 M=0 时,属算术运算;M=1 时,属逻辑运算。进位采用反码形式输入输出,电路亦 可进行数的比较运算。其操作功能可查阅附录。
2、运算器数据通路实验方案
运算器是计算机对数据进行运算的重要部件,它的核心是 AlU 函数功能发生器,其次还 要有存放操作数和运算中间结果的寄存器、移位门、传送数据的总线等部件,在不同的控制 信号下,运算器完成不同的运算功能。运算器(ALU)数据通路如图 2-1 示。
在图 2-1,SA、SB 为存放两个现行操作数的缓冲寄存器。其中 SA 兼作存放中间结果的累加器,它的输出接 LED 灯用于显示。它们仅接收来自总线的数据信息,送入 ALU 进行算逻 运算。ALU 输出经移位门,将运算结果送入总线。移位门挂总线是发送源,需用三态门作隔 离器。可采用 74LS244 兼作移位门和隔离器。
要实现移位功能需在 ALU 和 BUS 之间接入一排移位控制门。右移时,其末位进入 C(进位位),首位补 0。移位数据通路如图 2-2 示。
左移指令利用 ALU“A+A”指令模式来完成,这个左移 8 位三态门可以省去。
3、运算器数据通路电路图
通过以上分析,整个数据通路在 ALU 与 BUS 之间除原有直送隔离门外,还需要添加一个 右移控制门。在总线上挂上开关、程序计数器和输出显示。
在计算机运算过程中,经常要根据运算结果和进位输出来决定程序的流程,可从 ALU8的 A=B 和 C n+4 端输出判断信息,分别打入进位位 C 和结果 Z 触发器。
实验中,为减少开关占用量,可在总线上挂一个指令寄存器,存放 ALU 的控制信息 S3~S0,M、Cn。
运算器通路如下:
ALU通路如下:
三、实验器材
1、计算机组成原理实验系统 1 台
实验使用的部件:
●运算器(ALU)模块
●控制器模块(CU)中的 74LS273(IR),74LS244
●数据输入开关 D7-D0
●控制开关 K7、K6、K5、K0
●A3、A2、A1 按键。
2、5V 稳压电源一个
3、插接导线 15 根
四、实验步骤
1、将 5V 电源输出插头接到实验系统的插座,(这时,板子上电源开关应在关位置)。
2、将 5V 电源插到 220V 交流电源插座。
3、实验接线 :实验所使用的各个模块、开关、按键等接线孔。共需接线 14 根,所需接线孔 28 个。
五、实验内容
1、加法实验
以两个数的加法为例,实现(SA)+(SB)→(SA)。因为是单总线结构,同一时间只能有一 种信息进入总线,所以首先用 K7、K6、K5 把两个传输门 74LS244 的控制端置“1”,K0置“0”,所有传输门的输出为不定态,使总线悬空。此时总线 BUS 灯为:1111 1111。
(1)打开实验板上的电源开关
(2)置运算指令
1)100110 D7~D2 ;用 D7-D0 置加法指令
2)按A3 ;0→µpc非,74LS273(IR)清零
3)0K7 ;Switch→Bus非 置低电平,打开三态门 74LS244(1),加法指令 进入总线,BUS 灯显示 10010100
4) 1K0,0K0 ;Lod IR 端置高电平,总线上的加法指令打入 74LS273(IR)输出端。微地址灯显示 x10 01xxxxxx,A9-A6 显示指令高四位。
5)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244。BUS 灯显示 1111 1111
(3)置数据 1
1)DATA1D7~D0 ;置数据 1:00010010
2)0 K7 ;Switch→Bus非 置低电平,打开三态门 74LS244(1),数据 1 进入总线。BUS 灯显示 00010010
3)按开关 A1 ;74LS273(SA)的 ck 端置上升沿,将数据 1 打入暂存器 SA。SA灯显示 00010010
4)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244(1)。BUS 灯显示 1111 1111
(4)置数据 2
1)DATA2D7~D0 ;置数数据 2: 00100101
2)0 K7 ;Switch→Bus非 置低电平,打开三态门 74LS244,数据 2 进入总线。BUS 灯显示 00100101
4)按开关 A2 ;74LS273(SB)的 ck 端置上升沿,将数据 2 打入暂存器 SB。SB灯显示 00100101
5)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244。BUS 灯显示 1111 1111
经过步骤(1)~(4),ALU 实现加法运算,结果放在 74LS244(L)的输入端。
(5)运算结果送输出
1)0K6 ;K5 置低电平,打开移位门 74LS244(L),运算结果送入总线。BUS 灯显示 00110111
按开关 A1 ;74LS273(SA)的 ck 端置上升沿,将数据 1 打入暂存器 SA。SA输出端的 LED 灯显示运算结果。SA 灯显示结果 00110111。
2、减法实验
以两个数的减法为例,实现(SA)-(SB)→(SA)。因为是单总线结构,同一时间只能有一 种信息进入总线,所以首先用 K7、K6、K5 把两个传输门 74LS244 的控制端置“1”,K0置“0”,所有传输门的输出为不定态,使总线悬空。此时总线 BUS 灯为:1111 1111。
(1)打开实验板上的电源开关
(2)置运算指令
1)011000 D7~D2 ;用 D7-D0 置减法指令
2)按A3 ;0→µpc非,74LS273(IR)清零
3)0K7 ;Switch→Bus非 置低电平,打开三态门 74LS244(1),加法指令 进入总线,BUS 灯显示 01100000
4) 1K0,0K0 ;Lod IR 端置高电平,总线上的加法指令打入 74LS273(IR)输出端。微地址灯显示 x01 10xxxxxx,A9-A6 显示指令高四位。
5)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244。BUS 灯显示 1111 1111
(3)置数据 1
1)DATA1D7~D0 ;置数据 1:00000011
2)0 K7 ;Switch→Bus非 置低电平,打开三态门 74LS244(1),数据 1 进入总线。BUS 灯显示 00000011
3)按开关 A1 ;74LS273(SA)的 ck 端置上升沿,将数据 1 打入暂存器 SA。SA灯显示 00000011
4)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244(1)。BUS 灯显示 1111 1111
(4)置数据 2
1)DATA2D7~D0 ;置数数据 2: 00000001
2)0 K7 ;Switch→Bus非 置低电平,打开三态门 74LS244,数据 2 进入总线。BUS 灯显示 00000001
4)按开关 A2 ;74LS273(SB)的 ck 端置上升沿,将数据 2 打入暂存器 SB。SB灯显示 00000001
5)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244。BUS 灯显示 1111 1111
经过步骤(1)~(4),ALU 实现减法运算,结果放在 74LS244(L)的输入端。
(5)运算结果送输出
1)0K6 ;K5 置低电平,打开移位门 74LS244(L),运算结果送入总线。BUS 灯显示 00000010
2)按开关 A1 ;74LS273(SA)的 ck 端置上升沿,将数据 1 打入暂存器 SA。SA输出端的 LED 灯显示运算结果。SA 灯显示结果 00000010。
3、逻辑与实验
以两个数的逻辑与为例,实现(SA)与(SB)→(SA)。因为是单总线结构,同一时间只能有一 种信息进入总线,所以首先用 K7、K6、K5 把两个传输门 74LS244 的控制端置“1”,K0置“0”,所有传输门的输出为不定态,使总线悬空。此时总线 BUS 灯为:1111 1111。
(1)打开实验板上的电源开关
(2)置运算指令
1)101101 D7~D2 ;用 D7-D0 置减法指令
2)按A3 ;0→µpc非,74LS273(IR)清零
3)0K7 ;Switch→Bus非 置低电平,打开三态门 74LS244(1),加法指令 进入总线,BUS 灯显示 10110100
4) 1K0,0K0 ;Lod IR 端置高电平,总线上的加法指令打入 74LS273(IR)输出端。微地址灯显示 x10 11xxxxxx,A9-A6 显示指令高四位。
5)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244。BUS 灯显示 1111 1111
(3)置数据 1
1)DATA1D7~D0 ;置数据 1:10110011
2)0 K7 ;Switch→Bus非 置低电平,打开三态门 74LS244(1),数据 1 进入总线。BUS 灯显示 10110011
5)按开关 A1 ;74LS273(SA)的 ck 端置上升沿,将数据 1 打入暂存器 SA。SA灯显示 10110011
4)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244(1)。BUS 灯显示 1111 1111
(4)置数据 2
1)DATA2D7~D0 ;置数数据 2: 01011101
2)0 K7 ;Switch→Bus非 置低电平,打开三态门 74LS244,数据 2 进入总线。BUS 灯显示 01011101
6)按开关 A2 ;74LS273(SB)的 ck 端置上升沿,将数据 2 打入暂存器 SB。SB灯显示 01011101
5)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244。BUS 灯显示 1111 1111
经过步骤(1)~(4),ALU 实现逻辑与运算,结果放在 74LS244(L)的输入端。
(5)运算结果送输出
1)0K6 ;K5 置低电平,打开移位门 74LS244(L),运算结果送入总线。BUS 灯显示 00010001
2)按开关 A1 ;74LS273(SA)的 ck 端置上升沿,将数据 1 打入暂存器 SA。SA输出端的 LED 灯显示运算结果。SA 灯显示结果 00010001。
4、取反实验
以一个数的取反为例,实现(SB)取反→(SA)。因为是单总线结构,同一时间只能有一 种信息进入总线,所以首先用 K7、K6、K5 把两个传输门 74LS244 的控制端置“1”,K0置“0”,所有传输门的输出为不定态,使总线悬空。此时总线 BUS 灯为:1111 1111。
(1)打开实验板上的电源开关
(2)置运算指令
1)010101 D7~D2 ;用 D7-D0 置减法指令
2)按A3 ;0→µpc非,74LS273(IR)清零
3)0K7 ;Switch→Bus非 置低电平,打开三态门 74LS244(1),加法指令 进入总线,BUS 灯显示 10110100
4) 1K0,0K0 ;Lod IR 端置高电平,总线上的加法指令打入 74LS273(IR)输出端。微地址灯显示 x10 11xxxxxx,A9-A6 显示指令高四位。
5)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244。BUS 灯显示 1111 1111
(3)置数据 1
1)DATA2D7~D0 ;置数数据 2: 01010101
2)0 K7 ;Switch→Bus非 置低电平,打开三态门 74LS244,数据 2 进入总线。BUS 灯显示 01010101
7)按开关 A2 ;74LS273(SB)的 ck 端置上升沿,将数据 2 打入暂存器 SB。SB灯显示 01010101
5)1K7 ;Switch→Bus非 置高电平,关三态门 74LS244。BUS 灯显示 1111 1111
经过步骤(1)~(4),ALU 实现逻辑与运算,结果放在 74LS244(L)的输入端。
(5)运算结果送输出
1)0K6 ;K5 置低电平,打开移位门 74LS244(L),运算结果送入总线。BUS 灯显示 10101010
2)按开关 A1 ;74LS273(SA)的 ck 端置上升沿,将数据 1 打入暂存器 SA。SA输出端的 LED 灯显示运算结果。SA 灯显示结果 10101010。