计算机系统综合设计 实验三 存储器
一、实验目的
1、熟悉挂总线的逻辑器件的特性和总线传送的逻辑实现方法。
2、掌握半导体静态存储器的存取方法。
二、实验原理
1、总线传送
计算机全部工作过程,可以看作为信息的传送和加工过程,信息传送在机器内部是极为
频繁的。为了减少机器中的信息传输线,节省器件,提高传送能力及可靠性,采用总线方式
是常用的方法。通常用来建立总线的器件有两种:OC 门和三态门。对 OC 门,由于负裁能力、 阻抗匹配等问题,仅适宜于小规模的总线传送中应用,三态门是目前大量应用的总线传送器 件。其中 74LS244 是专做挂总线用的三态门器件之一,而 74LS373 锁存器也带有三态传输门。 可直接挂上总线。
2、建立总线的几个原则
(1)互斥性:挂上总线的各总线驱动器(发送端)必须具有分时操作的可能性,即不允
许在同一总线上同时有两个发送源发送信息。
(2)一致性:同一总线中所用挂总线的器件类型要一致,本实验均用三态门。
3、静态存储器实验电路
电路采用单总线结构,地址和数据都是通过同一组数据开关经过三态传输门挂上总线,
发送到相应计数器、地址寄存器或存贮器单元中。如何区分送入总线是地址还是数据,可以
通过控制操作时序来实现。计数器具有双向传输特性,即它可以从总线上接受信息,也可以
发送数据到总线上,(计数器可选用 74LSl61 和 74LS244 构成可预置计数器,并具有双向传送逻辑功能),而输出缓冲器及地址寄存器仅是接收总线信息的部件。
存储器实验数据通路如图所示 :
模型机的主存储器采用静态随机存储器,由存储体、地址译码器,读写电路和控制电路
组成。HM6116 为 2K×8 位的静态存储器。A7~A0 为地址线(高位地址线不用),I/O 为数据线,W 为读写控制线,cs非 为片选信号。两片 74LS161组成 8 位地址寄存器,A、B、C、D 为地址输入端,QD~QA 为输出端。LD 控制操作模式,为低电平时置数,为高电平时计数。两片 74ls670 组成寄存器堆。一片 714ls244 驱动总线数据灯,一片 74ls273 为存储器送地址兼驱动地址灯。 插接孔共有 34 个插孔,所需导线共 17 根。
memorydatapath电路图如下:
8位74ls161电路图如下:
8位74ls670电路图如下:
同步四位计数器 74LS161 字长扩展如图 3-5 所示。D、C、B、A 为数据输入端;QD Qc QB QA,为数据输出端;PT 为使能端(高有效);LD 为操作模式控制端(L 为置数,H 为计数);
CK 端接受置数或计数脉冲;Ca 端为动态进位输出 Ca=QD Qc QB QA;CR为 清零端。
三、实验器材
1、计算机组成原理实验系统 1 台
实验使用的部件:
● 存储器(MEM)模块
● 辅助电路模块(AUX)中的 74LS244
● 控制模块(CU)中的 74LS273(IR)
● 数据输入开关 D7-D0
● 控制开关 K7-K0
● A3-A0 按键。
2、5V 稳压电源一个
3、插接导线 17 根
四、实验步骤
1、插接 5V 电源输出插头到实验系统的插座,(这时,板子上电源开关应在关位置)。
2、插接 5V 电源到 220V 交流电源插座。
3、实验接线
4、存储器实验操作步骤举例
存储器数据读写分为主存储器读写和寄存器读写。例如,主存储器写操作为:在主存储
器 “00000001”和“00000010”两个地址位置分别存入“11110001”和“11001100”两个
数据;主存储器读操作为:在主存储器 “00000001”和“00000010”两个地址分别读出两
个数据。寄存器读写操作为:在 C 寄存器中写入数据“10101010”,并从 C 寄存器读出该数据。
a 主存储器读写实验
(1)置开关的初始状态
#K7、K5 置高,使 2 个传输门 74ls244 输出悬空。总线灯显示 11111111。
#k6 置 0,使 PC 的初始状态为置数模式。
#K4 置 1,K3 置 1。将存储器 6116 的使能状态关闭。
#K2 置 1,K1 置 1,将寄存器堆 74ls670 的使能状态关闭。
#K0 置 0,将指令寄存器 74ls273(IR)的使能状态关闭。
(2)上电与清零
#打开电源开关
#按 A3,对程序计数器 PC(2 个 74ls161)和 2 个 74ls273 清零。
(3)主存储器写操作
1)00000001 D7-D0 ;置第一个数据存储器地址
2)0K7 ;Switch→Bus非 置低,打开三态门 74LS244(1),存储器地址打入总
线,BUS 灯显示 00000001
3)按 A1 ;74LS161 的 CK 置上升沿,总线上的地址打入程序计数器 PC
4)1K7 ;Switch→Bus非 置高,关三态门 74LS244(1),BUS 灯显示 11111111
5)0K5 ;74LS244(2)的1G非 置低,地址由 PC 打入总线。BUS 灯显示 00000001
6)按 A2 ;74LS273(MAR)置上升沿,总线上地址打入主存储器地址寄存器。
ADR、BUS 灯均显示 00000001
7)1K5 ;1G非 置高,结束 PC 对总线的占用。BUS 灯显示 11111111
8)11110001 D7-D0 ;置第 1 个数据
9)0K7 ;Switch→Bus非 置低,打开三态门 74LS244(1),数据 1 打入总线。
BUS 灯显示 11110001
10)0K4 ;6116 芯片的W 非 置低,设置为写状态 18
11)0K3,1K3 ;发存储器 6116 芯片写脉冲,第 1 个数据写入 00000001 单元
12)1K7 ;关三态门 74LS244(1),BUS 灯显示 11111111。
13)1K6 ;74LS161 的 LD 端置高,设为计数模式
14)按 A1 ;74LS161 的 CK 端置上升沿,程序计数器 PC+1
15)0K5 ;74LS244(2)的1G非 置低,地址由 PC 打入总线。BUS 灯显示 00000010
16)按 A2 ;74LS273(MAR)的 CK 置上升沿,总线上地址打入存储器地址寄存器。 地址灯、BUS 灯均显示 00000010
17)1K5 ;74LS244(2)的1G 置高,结束 PC 对总线的占用。BUS 灯显示 11111111
18)11001100D7-D0 ;置第 2 个数据
19)0K7 ;Switch→Bus 置低,打开三态门 74LS244(1),数据打入总线。BUS 灯显示 11001100
20)0K3,1K3 ;发存储器 6116 芯片写脉冲,第 2 个数据写入 00000010 单元
21)0K6 ;74LS161 的 LD 端置低,程序计数器 PC 设为置数模式
22)1K7 ;Switch→Bus非 置高,关三态门 74LS244(1),写操作结束,BUS 灯
显示 11111111
(3)主存储器读操作
1)00000001 D7-D0 ;置第一个数据存储器地址
2)0 K7 ;Switch→Bus非 置低,打开三态门 74LS244(1),存储器地址打入总
线,BUS 灯显示 00000001
3)按 A1 ;74LS161 的 CK 置上升沿,把总线上的地址打入程序计数器 PC
4)1K7 ;witch→Bus非 置高,关三态门 74LS244(1),BUS 灯显示 11111111
5)0K5 ;74LS244(2)的1G 非 置低,地址由 PC 打入总线。BUS 灯显示 00000001
6)按 A2 ;74LS273(MAR)的 CK 置上升沿,总线上的地址送入存储器地址寄存
器。地址灯、BUS 灯均显示 00000001
7)1K5 ;74LS244(2)的1G非 置高,结束 PC 对总线的占用。BUS 灯显示 11111111
8)1K4 ;6116 的W非 端置高,存储器设置为读状态
9)0K3, ;6116 的CS非 置低,存储器使能,读出第 1 个数据,地址灯显示地址 00000001, BUS 灯显示读出的数据 11110001
10)1K3 ;6116 的CS非 置高,关闭存储器使能,BUS 灯显示 11111111
11)1K6 ;74LS161 的 LD 端置高,程序计数器 PC 设为计数模式
12)按 A1 ;74LS161 的 CK 端置上升沿,程序计数器 PC+1
13)0K5 ;(PC)→Bus非 置低,地址由程序计数器打入总线。BUS 灯显示 00000010
14)按 A2 ;LodMAR 置上升沿,总线上地址打入存储器地址寄存器。ADR、BUS
灯均显示 00000010
15)1K5 ;74LS244(2)的1G 非 置高,结束 PC 对总线的占用。BUS 灯显示 11111111
16)0K3 ;6116 的CS非 置低,存储器使能,读出第 2 个数据,地址灯显示
地址 00000010,BUS 灯显示第 2 个数据 11001100
17)1K3 ;6116 的CS非 置高,关闭主存储器使能,BUS 灯显 11111111
b 寄存器读写实验
(1)寄存器写操作
1)10D3-D2 ;写操作命令字,选择 C 寄存器
2)0K7 ;witch→Bus非 置低,打开三态门 74LS244(1),写选择命令打入总线,
BUS 灯显示 00001000
3)1K0,0K0 ;LodIR 置高,然后置低,脉冲将总线上的写选择命令打入指令
寄存器 IR
4)1K7 ;witch→Bus非 置高,关上三态门 74LS244(1)。BUS 灯显示 11111111
5)10101010D7~D0 ;置写入数据:10101010
6)0K7 ;witch→Bus非 置低,打开三态门 74LS244(1),数据打入总线。BUS
灯显示 10101010
7)0K1,1K1 ;WE非 置低,然后置高,数据写入 C 寄存器
8)1K7 ;witch→Bus非 置高,关上三态门 74LS244(1)。BUS 灯显示 11111111
(2)寄存器读操作
1)10D1~D0 ;读操作命令字,选择 C 寄存器
2)0K7 ;witch→Bus非 置低,打开三态门 74LS244(1),读选择命令打入总线
BUS 灯显示 00000010
3)1K0,0K0 ;LodIR 置高,然后置低,脉冲将总线上的读选择命令打入指令
寄存器 IR
4)1K7 ;witch→Bus非 置高,关三态门 74LS244(1)。BUS 灯显示 11111111
5)0K2, ; RE非 置低,寄存器读使能有效,数据从 C 寄存器读出。此时读数显
示在总线上,即 BUS 灯显示 10101010
6)1K2 ; RE 非 置高电平,关闭寄存器读使能,BUS 灯显示 11111111